建立拼字檢查器你好,
我從互聯網上下載了一些文本文件,並打算對它們運行一些文本分析。 然而,它們充滿了拼寫錯誤,我想在將它們輸入文字資源管理器平台之前盡可能地整理它們。 最明顯的首要任務是自動修正盡可能多的拼字錯誤。
為此,我需要一個相對全面的常用單字清單來比較我的文件。 MS Word 的拼字檢查器必須能夠存取這樣的清單。 我不知道該清單是 MS Word 的組成部分還是只是 Windows 的標準元件 - 但無論哪種方式,有人知道我是否可以直接從 JMP 存取該清單嗎?
在一個相關的問題上,我如何開始計算任何拼寫錯誤的單字和拼寫正確的英語單字清單之間的「最佳匹配」? 我毫不懷疑有很多方法可以做到這一點,但一定有一些相當標準的方法。 (我對正則表達式不太熟悉,不知道這是否是解決此類問題的方法,但如果我必須學習它,那麼我會的。)
非常感謝。
回覆:建立拼字檢查器非常感謝所有回覆此貼文的人:每個建議都已採納真的有幫助。 我將分配一些時間來研究編輯距離,看看可以用它做什麼(為此腳本將是無價的);還有 Shortest Edit Script() 函數,它看起來好像很有用。 根據收到的建議,我不會花時間在 Regex 上,但我很可能會研究編寫 Word 巨集的可能性 - 我們會看看它是如何進行的。 我還想到,有人很可能已經在 R 中解決了這個問題,在這種情況下,互聯網上可能有一些東西可以透過 JMP 的 R 相關函數導入。 有很多途徑可以探索,但我會將問題標記為已解決。
再次非常感謝所有人。
回覆:建立拼字檢查器僅供參考。 附件是一個定義函數的腳本計算編輯距離()並包括多個範例和描述最短的編輯腳本()功能。 它還包括查找最長公共序列的範例。
該腳本是作為清理文字的額外範例而編寫的,記錄在第 9 章中JSL Companion,JMP 腳本語言的應用,第二版,因為我們發現這是一個有趣的功能。
清理調查或評論欄(不是整個文件)時,欄重新編碼可能有用。
回覆:建立拼字檢查器對於單字比較,您可以使用編輯距離。https://en.wikipedia.org/wiki/Levenshtein_distance
回覆:建立拼字檢查器這個部落格中的一些單字清單訊息https://community.jmp.com/t5/Uncharted/WordNet/ba-p/28984
很久以前,使用過這樣的演算法:
在已知好詞的關聯數組中尋找該詞。 如果尋找失敗,請嘗試一些刪除 s、ing、ed 後綴的規則,然後再次尋找。如果仍然失敗,則透過尋找由交換字母對、插入字母、刪除字母形成的相似單字來提出建議。
我認為使用外部程序的建議是合適的,我認為正規表示式大多不是答案。 您也許可以在文字資源管理器中使用重新編碼,儘管這將是一個手動過程。
這是 JMP 中的一個有趣的函數,如果您決定制定自己的解決方案,該函數可能會很有用
shortest edit script("maintainence","maintenance")
{{"通用", "維護"}, {"插入", "en"}, {"通用", "a"}, {"刪除", "i"}, {"通用",
"n"}, {"刪除", "en"}, {"通用", "ce"}}
編輯腳本是對兩個字不同之處的描述。 您可以使用插入和刪除的字元數來建立一個指標。
回覆:建立拼字檢查器兩件事情:
1. LaTeX 社群有許多單字列表,可以與 IDE 中的嵌入式拼字檢查器一起使用。 您也許可以使用其中一個。
2. 您可以嘗試直接連接 GNU Aspell,而不是嘗試破解自己的拼字檢查器。 它非常可靠(我相信它足夠聰明,可以忽略程式碼)。 不確定你會如何做到這一點,但你也許可以透過 Python 呼叫或其他方式來完成它。
您可以在此處定向到單字清單和 Aspell 應用程式: http://aspell.net 。
中號
回覆:建立拼字檢查器我不知道如何從 JMP 存取外部列表,例如 MS Word 中的拼字檢查器可能使用的列表。 此外,此清單由檢查器使用。 該檢查器很難在 JMP 腳本中複製。
您可能會考慮為 MS Word 建立 Visual Basic 巨集,以在將原始文字檔案匯入 JMP 資料表進行分析之前檢查並修正原始文字檔案中的拼字。
正規表示式是一種匹配模式的強大方法,但如果應用於查找所有拼寫錯誤的單字並返回正確單字的任務,則該方法會變得很麻煩。