有没有办法检查字符向量中单词的拼写?

时间:2010-09-02 09:39:02

标签: r text spell-checking

要检查的文字是希腊文,但我想知道是否也可以用英文单词。我最初的想法是here,我已经找到了一种使用VBA的方法。但是我想知道是否有办法用R来做。如果在R中没有办法,你会想到比Excel-vba更好的东西吗?

2 个答案:

答案 0 :(得分: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

答案 1 :(得分:2)

有一个名为Aspell的开源GNU拼写检查器,支持各种语言。这是一个命令行程序,我基本上用它来一次扫描一堆文本文件(然后输出只是给控制台)。
但是也存在一个C API,对你来说可能更有趣Pipe mode接受文本流和输出到标准输出。

希望这有帮助。