对类似的词进行分类

时间:2015-08-07 06:20:16

标签: r text-mining

我正在进行一个文本处理过程,我希望将类似的单词(表格,表格等)转换为一个单词(表格)。我看到tm包提供了一个工具,但这个不支持我正在寻找的语言。所以我想自己创造一些东西。

对于我希望有一个链接表的功能 - >

 a <- c("Table", "Tables", "Tree", "Trees")
 b <- c("Table", "Tree", "Chair", "Invoice")
 df <- data.frame(b, a)

这样我就可以自动将所有“Tables”值转换为“Table”

关于我如何做到这一点的任何想法?

1 个答案:

答案 0 :(得分:5)

在R中搜索词干,您可以查看here,然后尝试:

a <- c("Table", "Tables", "Tree", "Trees")
b <- c("Table", "Tree", "Chair", "Invoice")
library("SnowballC")
wordStem(words = a, language = "porter")
##[1] "Tabl" "Tabl" "Tree" "Tree"
library("tm") # tm use wordStem
stemCompletion(x = stemDocument(x = a), dictionary = b)
##   Tabl    Tabl    Tree    Tree 
##"Table" "Table"  "Tree"  "Tree" 

或者使用起来更复杂但更完整,您可以查看包korPus并使用TreeTagger来处理您的文字:

library("koRpus")
tagged.results <- treetag(tolower(a), treetagger="manual", format="obj",
                          TT.tknz=FALSE , lang="en",
                          TT.options=list(path="./TreeTagger", preset="en"))
tagged.results@TT.res
##   token tag lemma lttr wclass                   desc stop stem
##1  table  NN table    5   noun Noun, singular or mass   NA   NA
##2 tables NNS table    6   noun           Noun, plural   NA   NA
##3   tree  NN  tree    4   noun Noun, singular or mass   NA   NA
##4  trees NNS  tree    5   noun           Noun, plural   NA   NA

你想要的是:

tagged.results@TT.res$lemma
##[1] "table" "table" "tree"  "tree"