2010-09-02 65 views

回答

2

有一個開源的GNU拼寫檢查程序,名爲Aspell,支持各種語言。這是一個命令行程序,我基本上用它來一次掃描一批文本文件(然後輸出只是給控制檯)。
但也存在一個C API,也許你更有興趣Pipe mode接受文本流和輸出到標準輸出。

希望這會有所幫助。

+0

謝謝。 Aspell有一個Windows二進制文件嗎? – 2010-09-02 10:59:15

+0

是的,有,並且windows二進制是我正在使用的:http://aspell.net/win32/ – Henrik 2010-09-02 11:08:25

+0

有沒有一種方法可以從R使用它?我看到這個http://www.omegahat.org/Aspell/,但我讀到'目前沒有Windows的二進制版本' – 2010-09-02 11:36:21

5

或者,OpenOffice附帶一個字典,用於存儲文本文件中的條目。您可以閱讀並刪除單詞定義以創建您的單詞列表。

這已在v3.0上測試;文件位置可能已經移動,並且文件名會根據您想要的字典而改變。

library(stringr) 
dict <- readLines("C:/Program Files/OpenOffice.org 3/share/uno_packages/cache/uno_packages/174.tmp_/dict-en.oxt/th_en_US_v2.dat") 
is_word <- str_detect(dict, "^[^(]") 
words <- str_split_fixed(dict[is_word], "\\|", 2) 
words <- words[,1] 

此列表包含一些多詞短語。您可能更喜歡在第一個空間分割,並採取獨特的值。您可能還想寫words到文件,以節省重複自己。

一旦做到這一點,檢查字是那麼容易,因爲

c("persnickety", "sqwrzib") %in% words  # TRUE FALSE 
相關問題