Sửa lỗi chính tả

Bách khoa toàn thư mở Wikipedia

Trong các loại phần mềm, kiểm tra chính tả (hoặc kiểm tra đánh vần hoặc kiểm tra lỗi chính tả) là một tính năng phần mềm giúp kiểm tra lỗi chính tả trong một văn bản. Các tính năng kiểm tra chính tả thường được tích hợp trong phần mềm hoặc dịch vụ, chẳng hạn như trình soạn thảo văn bản, ứng dụng email, từ điển điện tử, hoặc công cụ tìm kiếm.

Lịch sử[sửa | sửa mã nguồn]

Thời kỳ tiền-PC[sửa | sửa mã nguồn]

Năm 1961, Les Earnest, người đứng đầu nghiên cứu về công nghệ mới nảy mầm này, cho rằng cần thiết phải đưa ra kiểm tra chính tả đầu tiên truy cập vào danh sách 10.000 từ chấp nhận được.[1] Ralph Gorin, một sinh viên sau đại học dưới sự hướng dẫn của Earnest vào thời điểm đó, đã tạo ra chương trình kiểm tra chính tả đầu tiên được viết dưới dạng chương trình ứng dụng (thay vì nghiên cứu) cho văn bản tiếng Anh chung: SPELL cho DEC PDP-10 tại Phòng thí nghiệm Trí thông minh Nhân tạo của Đại học Stanford, vào tháng 2 năm 1971.[2] Gorin viết SPELL bằng hợp ngữ, để hoạt động nhanh hơn; ông đã tạo ra bộ sửa chính tả đầu tiên bằng cách tìm kiếm danh sách từ cho các chính tả đúng khả thi chỉ khác nhau một chữ cái hoặc hoán đổi chữ cái liền kề và giới thiệu chúng cho người dùng. Gorin đã đưa SPELL vào sử dụng công cộng, giống như đã làm với hầu hết các chương trình SAIL (Stanford Artificial Intelligence Laboratory) và nó đã nhanh chóng lan truyền khắp thế giới qua ARPAnet mới, khoảng mười năm trước khi máy tính cá nhân được sử dụng rộng rãi. [3] SPELL, các thuật toán và cấu trúc dữ liệu của nó đã truyền cảm hứng cho chương trình ispell của Unix.

Các phần mềm kiểm tra chính tả đầu tiên rộng rãi trên máy chủ chủ đạo vào cuối thập niên 1970. Một nhóm gồm sáu nhà ngôn ngữ học từ Đại học Georgetown đã phát triển hệ thống kiểm tra chính tả đầu tiên cho công ty IBM .[4]

Henry Kučera phát minh một phần mềm kiểm tra chính tả cho máy VAX của Digital Equipment Corp vào năm 1981. [5]

Unix[sửa | sửa mã nguồn]

Chương trình Ispell|International Ispell thông dụng trong Unix dựa trên SPELL của R. E. Gorin. Nó được chuyển đổi thành ngôn ngữ lập trình C do Pace Willisson tại MIT .[6]

Dự án GNU có trình kiểm tra chính tả của riêng mình là GNU Aspell. Ưu điểm chính của Aspell là nó có thể đề xuất các từ đúng một cách chính xác hơn cho các từ tiếng Anh viết sai .[7]

Do khả năng của các trình kiểm tra chính tả truyền thống không kiểm tra được các từ trong các ngôn ngữ được chia từ phức tạp, người Hungary László Németh đã phát triển Hunspell, một trình kiểm tra chính tả hỗ trợ các ngôn ngữ chắp dính và các từ ghép phức tạp. Hunspell cũng sử dụng mã Unicode trong từ điển của mình .[8] Hunspell đã thay thế MySpell trước đó trong OpenOffice.org ở phiên bản 2.0.2.

Enchant là một trình kiểm tra chính tả tổng thể khác, được xuất phát từ AbiWord. Mục tiêu của nó là kết hợp các chương trình hỗ trợ các ngôn ngữ khác nhau như Aspell, Hunspell, Nuspell, Hspell (tiếng Do Thái), Voikko (tiếng Phần Lan), Zemberek (tiếng Thổ Nhĩ Kỳ) và AppleSpell trong một giao diện .[9]

Máy tính cá nhân[sửa | sửa mã nguồn]

Các trình kiểm tra chính tả đầu tiên cho máy tính cá nhân xuất hiện vào năm 1980, chẳng hạn như "WordCheck" cho các hệ thống Commodore được phát hành vào cuối năm 1980 kịp để quảng cáo được in vào tháng 1 năm 1981.[10] Các nhà phát triển như Maria Mariani[4] và Random House[11] đã đẩy nhanh các gói OEM hoặc sản phẩm người dùng cuối vào thị trường phần mềm đang mở rộng nhanh chóng. Trên các PC tiền-Windows, các trình kiểm tra chính tả này là các chương trình độc lập, nhiều trong số đó có thể chạy trong chế độ terminate-and-stay-resident từ các gói xử lý văn bản trên các máy tính cá nhân có bộ nhớ đủ.

Tuy nhiên, thị trường đối với các gói độc lập chỉ ngắn ngủi, vì vào giữa thập niên 1980, các nhà phát triển của các gói xử lý văn bản phổ biến như WordStarWordPerfect đã tích hợp các trình kiểm tra chính tả vào các gói của họ, chủ yếu được cấp phép từ các công ty trên, những công ty này nhanh chóng mở rộng hỗ trợ từ chỉ tiếng Anh sang nhiều ngôn ngữ châu Âu và cuối cùng ngay cả các ngôn ngữ châu Á. Tuy nhiên, điều này yêu cầu các phần mềm tăng tính tinh vi về thể thức cú pháp, đặc biệt là với các ngôn ngữ chắp dính nặng như tiếng Hungary và tiếng Phần Lan. Mặc dù quy mô thị trường xử lý văn bản ở một quốc gia như Iceland có thể không đủ biện minh cho khoản đầu tư thực hiện một trình kiểm tra chính tả, các công ty như WordPerfect vẫn nỗ lực địa phương hóa phần mềm của họ cho càng nhiều thị trường quốc gia càng có thể trong chiến lược tiếp thị toàn cầu của họ.

Khi Apple phát triển "trình kiểm tra chính tả toàn hệ thống" cho Mac OS X để "hệ điều hành thực hiện việc sửa chữa chính tả,"[12] đó là cái đầu tiên: bạn "không phải duy trì một trình kiểm tra chính tả riêng biệt cho mỗi chương trình."[13] Độ phủ kiểm tra chính tả của Mac OS X bao gồm hầu như tất cả các ứng dụng được gói kèm và bên thứ ba.

Visual Tools' VT Speller, được giới thiệu vào năm 1994, được "thiết kế cho các nhà phát triển các ứng dụng hỗ trợ Windows."[14][15] Nó đi kèm với một từ điển nhưng có khả năng xây dựng và sử dụng từ điển phụ .[16]

Trình duyệt[sửa | sửa mã nguồn]

Các trình duyệt web như FirefoxGoogle Chrome cung cấp hỗ trợ kiểm tra chính tả, sử dụng Hunspell. Trước khi sử dụng Hunspell, Firefox và Chrome Chrome đã sử dụng MySpellGNU Aspell, tương ứng.[17]

Chuyên ngành[sửa | sửa mã nguồn]

Một số trình kiểm tra chính tả có hỗ trợ riêng cho từ điển y học để giúp ngăn ngừa lỗi y khoa. [18][19][20]

Chức năng[sửa | sửa mã nguồn]

Các chương trình kiểm tra chính tả đầu tiên là "trình xác minh" thay vì "trình sửa lỗi". Chúng không đưa ra đề xuất cho các từ đánh vần không chính xác. Điều này hữu ích cho lỗi đánh máy nhưng không hữu hiệu đối với các lỗi logic hoặc âm vị học. Thách thức mà các nhà phát triển đối mặt là sự khó khăn trong việc đưa ra đề xuất hữu ích cho các từ đánh vần sai. Điều này đòi hỏi việc đơn giản hóa các từ về một hình dạng cơ bản và áp dụng các thuật toán khớp mẫu.

Nhiều quan điểm cho rằng từ điển kiểm lỗi "càng lớn càng tốt", điều đó giúp cho từ đúng không bị đánh dấu nhầm là không đúng. Trên thực tế, tuy nhiên, kích thước tối ưu cho tiếng Anh vào khoảng 90.000 mục. Nếu nhiều hơn, các từ đánh vần sai có thể bị bỏ qua vì chúng bị nhầm lẫn với những từ khác. Ví dụ, khi dựa trên một tập ngữ liệu, từ baht có thể được xác định là một lỗi chính tả của từ bath hoặc bat hơn là một chỉ dẫn về đồng tiền Thái Lan.

Các trình kiểm tra chính tả MS-DOS đầu tiên chủ yếu được sử dụng trong chế độ kiểm tra từ trong các gói xử lý văn bản. Sau khi chuẩn bị một tài liệu, người dùng quét văn bản để tìm kiếm lỗi chính tả. Tuy nhiên, sau đó, xử lý theo lô được cung cấp trong các gói như CoAuthor từ Oracle chỉ tồn tại trong thời gian ngắn và cho phép người dùng xem kết quả sau khi tài liệu được xử lý và chỉ sửa được các từ mà chúng biết chắc là không đúng.

Các trình kiểm tra chính tả ngày càng trở nên tinh vi; giờ đây chúng có khả năng nhận ra các lỗi ngữ pháp. Tuy nhiên, ngay cả khi chúng hoạt động tốt nhất, chúng thường không phát hiện được tất cả các lỗi trong một văn bản (ví dụ như lỗi từ đồng âm trong tiếng Anh) và sẽ đánh dấu các từ mới và từ nước ngoài là sai.

  1. ^ Earnest, Les. “The First Three Spelling Checkers” (PDF). Stanford University. Bản gốc (PDF) lưu trữ ngày 22 tháng 10 năm 2012. Truy cập ngày 10 tháng 10 năm 2011.
  2. ^ Peterson, James (tháng 12 năm 1980). Computer Programs for Detecting and Correcting Spelling Errors (PDF). Truy cập ngày 18 tháng 2 năm 2011.
  3. ^ Earnest, Les. Visible Legacies for Y3K (PDF). Bản gốc (PDF) lưu trữ ngày 20 tháng 7 năm 2011. Truy cập ngày 18 tháng 2 năm 2011.
  4. ^ a b “Georgetown U Faculty & Staff: The Center for Language, Education & Development”. Bản gốc lưu trữ ngày 5 tháng 2 năm 2009. Truy cập ngày 18 tháng 12 năm 2008., trích dẫn: "Maria Mariani... là một trong số nhóm sáu nhà ngôn ngữ học từ Đại học Georgetown phát triển hệ thống kiểm tra chính tả đầu tiên cho công ty IBM."
  5. ^ Harvey, Charlotte Bruce (May–June 2010). “Teaching Computers to Spell (obituary for Henry Kučera)”. Brown Alumni Magazine. tr. 79.
  6. ^ “International Ispell”. www.cs.hmc.edu. Truy cập ngày 19 tháng 2 năm 2023.
  7. ^ “GNU Aspell”. aspell.net. Truy cập ngày 19 tháng 2 năm 2023.
  8. ^ “Hunspell: About”. hunspell.github.io. Truy cập ngày 19 tháng 2 năm 2023.
  9. ^ AbiWord/enchant, AbiWord, 13 tháng 2 năm 2023, truy cập ngày 19 tháng 2 năm 2023
  10. ^ Advertisement (tháng 1 năm 1981). “Micro Computer Industries, Ltd” (PDF). Compute! Magazine, Issue 8, Vol. 3, No. 1. tr. 119.
  11. ^ Advertisement (tháng 11 năm 1982). “The Spelling Bee Is Over”. PC Magazine: 165. Truy cập ngày 21 tháng 10 năm 2013.
  12. ^ David Pogue (2009). Mac OS X Snow Leopard: The Missing Manual.
  13. ^ David Pogue (2015). Switching to the Mac: The Missing Manual. "O'Reilly Media, Inc.". ISBN 9781491948125.
  14. ^ “VisualTools VT-Speller”. Computerworld. 21 tháng 2 năm 1994. tr. 68.
  15. ^ “Browse September 27, 1993”. VT-SPELLER
  16. ^ Peter G. Aitken (8 tháng 11 năm 1994). “Spell-Checking for your Apps”. PC Magazine: 299.
  17. ^ “Aspell and Hunspell: A Tale of Two Spell Checkers”. battlepenguin.com.
  18. ^ “Medical Spell Checker for Firefox and Thunderbird”. e-MedTools. 2017. Bản gốc lưu trữ ngày 4 tháng 5 năm 2019. Truy cập ngày 29 tháng 8 năm 2018.
  19. ^ Quathamer, Dr. Tobias (2016). “German medical dictionary words”. Dr. Tobias Quathamer. Truy cập ngày 29 tháng 8 năm 2018.
  20. ^ Friedman, Richard A.; D, M (2003). “CASES; Do Spelling and Penmanship Count? In Medicine, You Bet”. The New York Times. Truy cập ngày 29 tháng 8 năm 2018.