PC textcrawler công cụ hỗ trợ tìm kiếm và thay thế hàng loạt.

Thảo luận trong 'Hướng dẫn chung' bắt đầu bởi welcom1985, 14/8/20.

  1. welcom1985

    welcom1985 Lớp 1

    Thấy trên diễn đàn mình không có, nên mạn phép giới thiệu phần mềm textcrawler.
    Công dụng: tìm kiếm và thay thế hàng loạt từ, cụm từ.
    Cách hoạt động: dựa trên list cụm từ "tìm" và "thay thế" mà mình cung cấp , phần mềm sẽ tự động tìm và thay thế cho mình.
    Ưu điểm: nhanh.
    Nhược điểm: hoạt động chủ yếu với file txt.
    thông tin thêm: lên google, không lại bảo e nâng bi.
     
  2. chanhvan1987

    chanhvan1987 Lớp 9

    Phần mềm này hay quá. Bạn viết một TUT hướng dẫn mọi người sử dụng được không.
     
  3. welcom1985

    welcom1985 Lớp 1

    bản này của tôi là textcrawler 2.5, trong khi của nhà sản xuất là 3.xxx rồi , nên muốn xài chức năng "batch" để tìm và thay thế hàng loạt thì chỉ có 2 cách, 1 là upgrade lên bản mới nhất, 2 là xài bản cũ của tôi đang có (tí up link sau cho ai cần)
    giờ thì up mấy hình hướng dẫn đơn giản. Còn nhiều chức năng, mà mình ko có nhu cầu biết thêm, (trình độ có hạn).
    [​IMG] [​IMG]
    [​IMG]
    [​IMG]

    vậy là xong!.
    Còn đây là link textcrawler phiên bản cũ, mà được cái free Vui lòng đăng nhập hoặc đăng ký để xem link
     
    daohaine thích bài này.
  4. chanhvan1987

    chanhvan1987 Lớp 9

    Các file đính kèm:

  5. chanhvan1987

    chanhvan1987 Lớp 9

    Bác upload cho anh chị em xin cái file từ điển sửa từ với ạ.
     
  6. welcom1985

    welcom1985 Lớp 1

    cái file ấy cũng chả có gì là cao siêu cả đâu ạ. Gửi bác cái file mẫu, còn thêm nhiều hay ít là tùy mỗi người . "Từ cần tìm"<Dấu Tab>"Từ thay thế"
     

    Các file đính kèm:

    machine and daohaine like this.
  7. tran ngoc anh

    tran ngoc anh Cử nhân

    Lại có thêm động lực để dùng markdown rồi :D
     
  8. welcom1985

    welcom1985 Lớp 1

    Hôm nay ngâm cứu được cách tìm các từ "viết hoa", Ví dụ như "Thông", "Sau", hoặc là các danh từ, tên người: "Tom" ,"Sawyer" ... mục đích là giúp người soát lỗi tìm được các danh từ, tên người viết sai chính tả, thường gặp trong các tác phẩm, đặc biệt là tên của mấy anh Liên xô
    Vào luôn:
    textcrawler.png
    textcrawler2.png


    Dòng bùa cho ai đó cần:
    [A-ZÁÀẢÃẠÁẤẦẨẪẬÂĂẮẰẲẴẶEÉÈẺẼẸÊẾỀỂỄỆĐUÚÙỦŨỤƯỨỪỬỮỰÍÌỊÝĨỲỈỴÓỎƠỚÔỐỒỔỖỘỢỠỞỜỌÕÒỸỶ]\w{1,}

    Xin giải thích ý nghĩa dòng bùa này:
    [A-ZÁÀẢÃẠÁẤẦẨẪẬÂĂẮẰẲẴẶEÉÈẺẼẸÊẾỀỂỄỆUÚÙỦŨỤƯỨỪỬỮỰÍÌỊÝĨỲỈỴÓỎƠỚÔỐỒỔỖỘỢỠỞỜỌÕÒỸỶ] ---> Từ bắt đầu nằm trong khoảng ký tự từ A-Z, hoặc là 1 trong các ký tự như Á,À ...... vì trong bảng mã ký tự, tôi cũng chả biết làm sao cho nó ngắn gọn, nên phang luôn một dòng họ hàng nó (thà giết lầm hơn bỏ sót)
    \w{1,} ----> Các ký tự theo sau (không giới hạn số lượng) để hợp lại thành một từ.
     
    Chỉnh sửa cuối: 20/9/20
    machine and chanhvan1987 like this.
  9. machine

    machine Lớp 5

    [Có thể bạn đã biết]

    1. Giới thiệu
    - TextCrawler là phần mềm bổ sung để xử lý văn bản OCR từ Abbyy.
    - Chạy TextCrawler kèm theo (những) file từ điển chính tả tốt sẽ giảm đáng kể công sức soát lỗi chính tả.
    - TextCrawler mang tính kế thừa, việc liên tục bổ sung các cụm từ vào file “từ điển chính tả” sau mỗi lần soát lỗi ebook sẽ giảm rất nhiều công sức soát lỗi chính tả cho dự án ebook lần sau.
    - TextCrawler chỉ làm việc với văn bản txt, hiện tại không làm việc với file doc, docx.

    2. Bước chuẩn bị
    Do TextCrawler chỉ làm việc với văn bản txt, để giữ nguyên định dạng đậm và nghiêng khi chuyển từ file doc/docx sang file txt (text), văn bản docx sau khi Abbyy nhận dạng cần làm theo thứ tự sau:
    - thay ^l (line break), ^b(section break) bằng ^p
    - khóa các paragraph bằng cặp thẻ <p></p> (not bold, not italic): Find what: ^p. Replace with: </p>^p<p>. Ở ô Replace with, bấm Ctrl+B 2 lần, Ctrl+I 2 lần để ngay bên dưới đó hiện ra Font: Not Bold, Not Italic
    - đánh dấu đậm nghiêng bằng cặp thẻ <b></b> và <i></i>
    - copy toàn bộ rồi paste vào Notepad.

    3. Hoạt động cụ thể của TextCrawler
    TextCrawler thay thế từ theo danh sách trong file từ điển chính tả dạng txt theo thứ tự trên xuống dưới. Nếu hai từ cùng nội dung chỉ khác nhau chữ hoa chữ thường thì từ nào đứng trên trong file từ điển chính tả sẽ được sử dụng, từ đứng dưới sẽ bị bỏ qua.

    Ví dụ:
    File từ điển chính tả dict1.txt có 2 có nội dung:
    cãn căn
    Cãn CĂN

    File từ điển chính tả dict2.txt có 2 có nội dung:
    Cãn CĂN
    cãn căn

    File văn bản vb.txt có nội dung:
    Cãn nhà anh ở... cÃn lều trong rừng cãN phòng bên cạnh, CÃn hộ chung cư - CãNg thẳng leo thang, kéo cãNG sợi chỉ. nhớ cãn chuẩn vào.

    Chạy file vb với dict1.txt thu được:
    căn nhà anh ở... căn lều trong rừng căn phòng bên cạnh, căn hộ chung cư - căng thẳng leo thang, kéo cănG sợi chỉ. nhớ căn chuẩn vào.

    Chạy file vb với dict2.txt thu được:
    CĂN nhà anh ở... CĂN lều trong rừng CĂN phòng bên cạnh, CĂN hộ chung cư - CĂNg thẳng leo thang, kéo CĂNG sợi chỉ. nhớ CĂN chuẩn vào.


    4. Lưu ý
    - Xóa văn bản đích (do TextCrawler tạo ra trước đó) khi chạy TextCrawler. Nếu không xóa văn bản đích trước đó, TextCrawler sẽ không tạo ra văn bản đích mới được.
    - TextCrawler không phân biệt chữ hoa/chữ thường với cụm từ nguồn (cụm từ cần thay thế) trừ khi chọn Match Case.
    - TextCrawler phân biệt chữ hoa/chữ thường với cụm từ đích. TextCrawler luôn cho ra kết quả giống hoàn toàn giống với cụm từ đích ở cột bên phải trong file từ điển chính tả.
    - Sau này sẽ phải chuyển chữ thường thành chữ hoa dựa vào các quy luật ngữ pháp: viết hoa sau dấu “.”, sau dấu “?”, viết hoa ở đầu paragraph (sau thẻ <p>).

    5. File “từ điển chính tả” cho TextCrawler:
    a. Cấu trúc
    - File từ điển chính tả sử dụng cho TextCrawler là file text (đuôi txt) dạng Unicode, cụm từ cần thay thế (cụm từ nguồn) ở bên trái, cụm từ kết quả (cụm từ đích) ở bên tay phải, hai cụm từ này ngăn cách nhau bằng khoảng trắng tạo ra bởi phím Tab trên bàn phím.
    - Thực tế, file từ điển chính tả lưu trong file Excel có nội dung nằm trong 2 cột cạnh nhau, cột bên trái (cột A) là cụm từ cần thay thế (cụm từ nguồn), cột bên phải (cột B) là cụm từ kết quả (cụm từ đích) rồi copy vùng bảng tính có 2 cột này và paste vào Notepad rồi Save là xong.
    - file từ điển chính tả cho TextCrawler có thể không cần sắp xếp theo thứ tự ABC, chỉ cần bổ sung cụm từ mới vào cuối file Excel rồi khi đủ số lượng cụm từ mong muốn thì tách ra thành một file từ điển chính tả mới (dạng text). Dùng một file Excel làm từ điển chính tả tổng hợp để tiện kiểm tra trùng lặp mỗi lần bổ sung cụm từ mới.

    b. Nội dung
    - Nên đưa các cụm từ vào file “từ điển chính tả” cho TextCrawler, hạn chế đưa vào từ đơn hoặc các cụm từ có nhiều nghĩa khi thay đổi mũ và dấu của các ký tự tiếng Việt trong đó.
    Ví dụ: không nên đưa riêng lẻ từ “nhó” vào từ điển chính tả vì khi thêm/bớt dấu và mũ sẽ có nhiều nghĩa như nho, nhỏ, nhớ, nhô, nhở, nhờ... Tương tự: có thé: có thể, có thế (lực), có thể (lực), có thế (chứ)...
    Những từ này tùy đặc thù từng ebook nên thay trực tiếp trong Word.

    - Những cụm từ bắt đầu hoặc kết thúc bằng nguyên âm nên có dấu cách hoặc dấu “.” hoặc dấu “,” hoặc dấu “:” ... để hạn chế lẫn sang cụm từ khác.
    Ví dụ: Ân Độ → Ấn Độ nhưng sau đó: quân đội → quẤn Đội ???

    - những từ bắt đầu bằng h, r, g hoặc kết thúc bằng n cũng nên có dấu cách hoặc dấu “.” hoặc dấu “,” hoặc dấu “:” để hạn chế lẫn sang cụm từ khác.
    Ví dụ:
    hỏ lắm → hở lắm nhưng cũng: khó lắm, nhỏ lắm, thô lắm
    tràn → trân nhưng cũng: tranh, trăng

    - những cụm từ ngắn gồm 2 từ nhiều khi sẽ gặp sai sót, giải pháp là tăng độ dài cụm từ sửa sai lên (3-4 từ/1 cụm từ), cụm từ sửa sai sẽ đặt ở các file từ điển chính tả khác nhau
    Ví dụ: file Dict1.txt có cụm từ "nhà của" → "nhà cửa"
    sửa đúng: nhà của san sát → nhà cửa san sát
    nhưng cũng có trường hợp sai:
    ABC là ngôi nhà của loài cá mập → ABC là ngôi nhà cửa loài cá mập
    Khi đó thêm cụm từ sửa sai dài 3 từ vào file Dict2.txt là xong (hoặc file Dict3, Dict4....): nhà cửa loài → nhà của loài
    hoặc ngôi nhà cửa loài → ngôi nhà của loài


    c. Số lượng từ/cụm từ tối đa
    800 - 1000 từ/cụm từ cho một file "từ điển chính tả" là hợp lý.
    - Khả năng của TextCrawler không phải vô tận. Ví dụ file A.txt vừa OCR xong, còn rất nhiều lỗi chính tả thì khi import file từ điển chính tả có 3000 cụm từ TextCrawler sẽ báo No Match Found sau một lúc quay quay, nhưng nếu file B.txt có ít lỗi hơn thì khi import file từ điển chính tả 3000 cụm từ TextCrawler vẫn hoạt động bình thường.

    - giải pháp là chia nhỏ từ điển chính tả lớn thành nhiều từ điển chính tả nhỏ. Qua quan sát thực tế, với file văn bản 60.000-70.000 từ (tương đương 1 cuốn sách in 300-400 trang), chia nhỏ từ điển chính tả ra các file nhỏ hơn có 800-1000 cụm từ là hợp lý. Khi đó sẽ chạy TextCrawler nhiều lần, xong mỗi lần thì lấy file kết quả lần trước dùng làm file nguồn cho lần chạy sau. Update: file từ điển chính tả 800 từ/cụm từ có thể dùng soát lỗi cho file văn bản đến 243000 từ (đã chạy thử).

    d. Cách lọc các giá trị trùng nhau
    Việc liên tục bổ sung các cụm từ vào file "từ điển chính tả" trong quá trình soát lỗi cho ebook sẽ dễ dẫn đến hiện tượng cụm từ bổ sung sau có thể trùng với cụm từ đã được bổ sung trước đó vào file "từ điển chính tả".
    Để tránh hiện tượng trùng lặp này, tận dụng tính năng "Highligh Duplicate Values" của Excel cho dễ kiểm soát.

    Cách làm cụ thể như sau:
    Bước 1: tạo file từ điển chính tả trong Excel (nếu chưa có sẵn file Excel, copy tất cả nội dung trong file từ điển chính tả dạng text (Ctrl+A, Ctrl+C) rồi paste vào ô A1 của Excel và Save)
    Bước 2: sắp xếp cột cần lọc theo thứ tự A-Z (Home / Sort & Filter / Custom Sort...).
    Bước 3: Chọn mục Home, tìm nhóm Styles, chọn Conditional Formatting, tiếp tục chọn Highlight Cells Rules, chọn Duplicate Value.
    Những ô nào trùng nhau sẽ được Highlight.

    Sau này khi thêm các cụm từ mới trong cột A, Excel sẽ tự động Highlight nếu ô mới (cụm từ mới nhập) trùng với một trong các ô khác (cụm từ đã nhập trước đó) trong cột A.

    File từ điển chính tả đính kèm để tham khảo.
     

    Các file đính kèm:

    Chỉnh sửa cuối: 28/2/21 lúc 12:28
    welcom1985 and songuyento like this.
  10. welcom1985

    welcom1985 Lớp 1

    Nhân tiện nói về casesensitive (phân biệt chữ hoa, chữ thường) trong textcrawler, tôi có 1 tip để đánh dấu case sensitive cho cả file luôn, dùng kết hợp notepad++

    1.png
    2.png

    3.png
     
    machine thích bài này.
  11. machine

    machine Lớp 5

    Rất hữu ích.
    Cảm ơn bạn.
     
    Chỉnh sửa cuối: 27/10/20
  12. welcom1985

    welcom1985 Lớp 1

    Hôm nay quỡn , giới thiệu thêm phần mềm clipdiary!
    chức năng : quản lý các dữ liệu lưu trong clipboard (tương tự như clipboard của windows, nhưng lưu nhiều hơn), còn bao nhiêu thì mình ko để ý, chắc vài ngàn lần lưu dữ liệu vào clipboad. .... rất thích hợp cho việc phụ giúp tạo từ điển.
    Cách thức hoạt động: trước khi mở word để soát lỗi, tìm từ đưa vào từ điển ..v.v... ta mở clipdiary, phần mềm sẽ tự động copy dữ liệu mỗi lần ta "Copy" (Ctrl+C).
    1.png
     
    machine thích bài này.
  13. machine

    machine Lớp 5

    Sau khi sử dụng TextCrawler sẽ nảy sinh vấn đề chuyển chữ thường thành chữ hoa.
    Mình biết 2 cách làm như bên dưới, cả 2 cách đều không hoàn thiện, các bạn tham khảo.

    6. Đổi chữ thường thành chữ hoa trong Sigil
    Cách này không áp dụng được với tiếng Việt có dấu.

    Find: ([a-z])([.])([ ])([a-z])
    Replace: \1\2\3\U\4\E
    Bật Regex
    Replace All

    Ý nghĩa là nếu có chữ thường 1 rồi đến dấu "." và khoảng cách 1 ký tự (dấu cách) rồi đến chữ thường 2 thì chữ thường 2 sẽ chuyển thành chữ hoa.
    Ví dụ:
    chào. anh → chào. Anh
    chào.. bạn → chào.. bạn (không thay đổi)
    anh. ở đâu → anh. ở đâu (không thay đổi)
    anh. đi thôi → anh. đi thôi (không thay đổi)

    7. Đổi chữ thường sang chữ hoa trong Word
    Áp dụng (trong Word 2010/2013) được cho cả chữ Việt có dấu nhưng không áp được cho các những chữ cái tiếng Việt có 3 "yếu tố" trở lên: ớ, ở, ấ, ẩ, ổ, ế...

    "Yếu tố": chữ cái không dấu là 1 "yếu tố", mũ là 1 "yếu tố", dấu là 1 "yếu tố".
    Ví dụ: chữ ổ có 3 "yếu tố": chữ o và mũ ^ và dấu ?
    chữ ô có 2 "yếu tố" là chữ o và dấu ^


    a. Đổi chữ thường thành chữ hoa sau dấu .
    Find: . [a-z]
    Replace: ^&
    Đánh dấu vào Wildcards,
    Để con trỏ tại vị trí Replace with rồi click vào nút Format rồi chọn Font và đánh dấu vào All Caps
    AllCap.png

    Trường hợp này sẽ có sai sót với dấu … vì sau dấu ... có lúc là chữ hoa, có lúc là chữ thường.
    Sau khi thay thế sẽ quay lại xử lý dấu … sau

    b. Đổi chữ thường thành chữ hoa ở đầu dòng
    lần lượt theo các bước sau
    - Thêm cặp thẻ </p>^p<p>
    Find what: ^p
    Replace with: </p>^p<p>
    - Xóa hết dấu cách sau <p>
    - Thay <p> bằng ppp
    - Chuyển chữ cái sau ppp thành chữ hoa
    Find: ppp[a-z]
    Replace: ^&
    Đánh dấu vào Wildcards,
    Để con trỏ tại vị trí Replace with rồi click vào nút Format rồi chọn Font và đánh dấu vào All Caps. Sau đó Replace All.
    Khi đó ví dụ thu được PPPX... Phải loại bỏ (xóa) PPP

    Cách loại bỏ PPP
    PPP thu được ở trên mặc dù là chữ hoa nhưng trong Word được định dạng là UPPERCASE. Do không biết cách xóa định dạng UPPERCASE tự động trong Word nên mình chọn cách làm như sau:
    - Copy toàn bộ văn bản trong Word (Ctrl+A, Ctrl+C) rồi Paste vào Notepad
    - trong Notepad, PPP đã được loại bỏ định dạng UPPERCASE nên việc xóa hàng loạt PPP là đơn giản.

    Kết luận
    Cả 2 cách chuyển chữ (ký tự) thường sang chữ hoa bên trên đều không hoàn thiện.
    Bạn nào biết cách chuyển chữ thường (tiếng Việt có dấu) sang chữ hoa hoàn thiện hơn (trong Word hoặc trong Sigil) vui lòng hướng dẫn. Xin cảm ơn.
     
    Chỉnh sửa cuối: 31/10/20
  14. welcom1985

    welcom1985 Lớp 1

    tôi ngâm cứu trường hợp
    a. Đổi chữ thường thành chữ hoa sau dấu .
    Find: . [a-z]
    Replace: ^&

    bạn chỉ sai có phần . [a-z] , vì như thế là chỉ tìm từ nằm trong khoảng a-z, mấy từ như đ, ê, ế, è, ẻ .... không nằm trong khoảng đó (chưa biết tại sao)

    bạn nên find: . ?
    word sẽ tìm tất cả từ, dù là hoa hay không hoa cũng tìm .
    còn replace thì như cũ.
    mới ngâm cứu được thế thôi.
     
    machine thích bài này.
  15. welcom1985

    welcom1985 Lớp 1

    b. Đổi chữ thường thành chữ hoa ở đầu dòng
    Theo tôi thấy, bạn nên thử như này:
    Bước 1: find:^p và replace:AAAA (lấy ví dụ là AAAA)
    nhớ nhé, không sữ dụng wildcard ở bước này nhé. mục đích bước này chắc bạn biết rồi.
    Bước 2:find:AAAA[!A-Z] và replace:^& (cái này chĩa của bạn)
    có sử dụng wildcards nhé!!
    mục đích là biến các từ AAAA và một từ theo sau nó (từ thường) thành từ hoa.
    Bước 3: find:AAAA và replace:^p
    bước này không sữ dụng wildcards nhé.

    như vậy là xong!! có đúng ý bạn chưa.

     
    machine thích bài này.
  16. machine

    machine Lớp 5

    Cách này hay này. Đúng luôn. Đỡ mất công chuyển qua Notepad. Cảm ơn bạn nhiều.
     
  17. machine

    machine Lớp 5

    Mặc dù "mấy từ như đ, ê, ế, è, ẻ .... không nằm trong khoảng a-z (có lẽ do quy định của Liên đoàn Unicode về vị trí các ký tự trong bảng mã Unicode) nhưng cách làm:
    Find: . [a-z]
    Replace: ^&
    vẫn đúng với các ký tự tiếng Việt có 2 "yếu tố": đ, ê, è, ẻ, ô, ơ, á, â, ả...
    chỉ sai với các ký tự tiếng Việt có 3 "yếu tố" thôi.

    Có lẽ do Microsoft không tính hết các trường hợp ký tự tiếng Việt có 3 "yếu tố".
    Cũng may, số lượng ký tự tiếng Việt có 3 "yếu tố" có thể đứng đầu câu không nhiều: ở, ổ, ẩ, ế, ố. Trong khi chờ đợi Microsoft hoàn thiện ở các phiên bản sau (hi vọng vậy), thêm mấy dòng vào "từ điển chính tả" cũng không khó khăn lắm.
    Cảm ơn bạn.
     
  18. xversion1

    xversion1 Mầm non

    Cái này khác gì Replace của Word ko các bác? Tiện đang ở Word thì em thường sửa lỗi bằng Replace luôn đỡ phải chú ý đến định dạng.
     
  19. iamtnl

    iamtnl Lớp 3

    Không rõ TextCrawler hỗ trợ flavor nào của regex, chứ cú pháp của Find có thể dùng
    Mã:
    [\.\?!] \w
    để tìm tất cả các ký tự đầu câu. \w là class thể hiện tất cả các ký tự chữ cái.

    Việc viết hoa ký tự đầu câu có thể làm trong Calibre Editor sử dụng Regex-function như sau:

    Find:
    Mã:
    ([\.\?!]\s+)(\w)
    Replace-function:
    Mã:
    def replace(match, number, file_name, metadata, dictionaries, data, functions, *args, **kwargs):
        mark = match.group(1)
        char = match.group(2)
        return mark + char.upper()
    replace.file_order = 'spine'
    
    Nhìn sơ sơ thì các tính năng của TextCrawler hoàn toàn có thể thay thế bằng VSCode + extension Batch Replacer. Quan trọng là hiểu rõ về regex :D
     
    tran ngoc anh and machine like this.
  20. machine

    machine Lớp 5

    Thay vì bạn tự tay Replace 500 lần, mỗi lần một cụm từ sai chính tả thì phần mềm này nó thay tự động 500 cụm từ sai chính tả trong 1 lần chạy.
     

Chia sẻ trang này