簡介
拼寫檢查程式是指將輸入的每個字詞與存儲器里的字典比較,檢查其正確性並在螢幕上顯示差異的電腦程式 。拼寫檢查程式可以是一個獨立的應用程式,也可以更大的應用程式的一部分,如文字處理器、信箱客戶端、電子詞典和搜尋引擎等。
拼寫檢查
拼寫檢查,又叫 拼字檢查,是對字詞的拼寫進行檢查的功能,能夠在一篇文檔中標記可能拼寫錯誤的詞。簡單的拼寫檢查器操作單獨的詞,將每一個詞與詞典中的內容相比較,可能對詞進行詞幹處理。如果一個詞在詞典中不存在,就被認為是一個錯誤,並試圖提示一個最可能是要輸入的詞。提示單詞的一個算法就是列出詞典中與原詞具有最小編輯距離的詞。如果一個詞在詞典中不存在,大多數拼寫檢查器提供一個選項將這個詞加入一個忽略列表,而不標記出來。
文字處理器
文字處理器(英語:word processors),文書軟體,用作桌面出版(例如文書格式處理)的電腦軟體,它與文本編輯器不同之處是在於它並非用作編寫普通文字。現代的文本編輯是成套的軟體系統,這些系統所負擔的任務是幫助無程式編制經驗的人員完成文稿的創建、修改、印發工作。漢語中對此類系統又稱為字詞處理系統。在近代,有一些信息行業的公司也將他們的某些硬體產品稱為文本編輯系統或字詞處理系統。這些硬體系統包括文字輸入設備如讀卡機、磁帶機、英語鍵盤等,也包括文字輸出設備如打卡機、印表機。一般不連帶遠程終端,否則系統應該被稱為電傳打字機。上述基於硬體的系統一般在二十世紀末已經被淘汰,除非用於某些特殊場合(如盲人學校)的系統。二十一世紀的文本編輯/字詞處理系統起碼應該具備與系統用戶進行圖像互動式的使用界面,能方便地儲存、查找文字和圖像,以及方便地將所編輯成果傳送到世界任何有網際網路的角落。微軟公司的Word字詞處理軟體為目前最普及者,WordPerfect則不幸淪為明日黃花。開源軟體(Open-source)所免費提供之Open Office - Writer和KWord則大有漸漸盛行之勢。
編輯距離
編輯距離是針對二個字元串(例如英文字)的差異程度的量化量測,量測方式是看至少需要多少次的處理才能將一個字元串變成另一個字元串。編輯距離可以用在自然語言處理中,例如拼寫檢查可以根據一個拼錯的字和其他正確的字的編輯距離,判斷哪一個(或哪幾個)是比較可能的字。DNA也可以視為用A、C、G和T組成的字元串,因此編輯距離也用在生物信息學中,判斷二個DNA的類似程度。另外,計算文本的編輯改動也會用到編輯距離,例如 Unix 下的 diff 及 patch。
編輯距離有幾種不同的定義,差異在可以對字元串進行的處理。
在萊文斯坦距離中,可以刪除、加入、取代字元串中的任何一個字元,也是較常用的編輯距離定義,常常提到編輯距離時,指的就是萊文斯坦距離。
也存在其他編輯距離的定義方式,例如 Damerau-Levenshtein 距離是一種萊文斯坦距離的變種,但允許以單一操作交換相鄰的兩個字元(稱為字元轉置),如 AB→BA 的距離是 1(交換)而非 2(先刪除再插入、或者兩次替換)。LCS(最長公共子序列)距離只允許刪除、加入字元。Jaro 距離只允許字元轉置。漢明距離只允許取代字元。
自動校正
自動校正是文字處理器中常見的機能,像是Microsoft Word中就有此機能,蘋果公司一些有文字編輯界面的產品(iPod, iPhone和iPad)也有此機能,自動校正有些類似自動完成,但其主要目的是作為拼寫檢查功能的一部分,更正常見的英文拼法錯誤或打字錯誤,節省使用者的時間。自動校正有些額外的功能,包括識別及修正前二個英文字母為大寫的單字(例如EXample),將一句話的第一個字母改為大寫,或者修正因不小心按到大寫鎖定鍵而出現的錯誤(例如eXAMPLE)。
自動校正功能其實也可以看成文字取代的功能,因此使用者也可以修改自動校正功能的文字取代列表,讓自動校正功能將一些縮寫轉換為完整文字,減少輸入的時間。例如若在撰寫有關工業革命的英文論文,其中“industrial revolution”一詞會輸入許多次,可以暫時性的修改文字取代列表,將“ir”轉換“industrial revolution”的項目,減少輸入的時間。有些獨立的自動校正軟體可以自動取代所有在作業系統及其他應用程式中輸入的文字