我试图找到同时出现在多个文档中的单词。以相同的方式处理由空格分隔的单词
让我们举一个例子。
doc1: "this is a document about milkyway"
doc2: "milky way is huge"
正如你可以看到上述2个文件,字“银河”是发生在两个文档但在第二文档术语“银河”是由一个空间和在第一DOC中分离它不是。
我做以下,以获得文档词矩阵R.
library(tm)
tmp.text <- data.frame(rbind(doc1, doc2))
tmp.corpus <- Corpus(DataframeSource(tmp.text))
tmpDTM <- TermDocumentMatrix(tmp.corpus, control = list(tolower = T, removeNumbers = T, removePunctuation = TRUE,stopwords = TRUE,wordLengths = c(2, Inf)))
tmp.df <- as.data.frame(as.matrix(tmpDTM))
tmp.df
1 2
document 1 0
huge 0 1
milky 0 1
milkyway 1 0
way 0 1
期限milkyway
只出现在第一文档按上述矩阵。
我希望能够在上述矩阵中的术语“milkyway”的文档中都获得1。这只是一个例子。我需要为许多文件做这件事。最终,我希望能够以类似的方式对待这些词(“银河”&“银河系”)。
编辑1:
我不能强迫得到这样的方式,对于任何讲它正试图寻找它不应该仅仅寻找那些单词作为计算术语文档矩阵单词中的字符串,但也在字符串内?例如,一个术语是milky
,并且有一个文档this is milkyway
,因此这里当前的milky
不会在此文档中出现,但是如果算法在字符串内查找有问题的单词,它还会在字符串milkyway
内找到字milky
,那样字milky
和way
将被计入我的两份文件(前面的例子)。
编辑2:
最终我想能够计算出文档之间的相似性余弦指数。
也许删除空格,然后使用正则表达式? – zx8754
您是否只需要为“银河系”或其他人执行此操作?你喜欢他们都是'银河'吗? –
@ sebastian-c我需要为多个单词做这件事。我更喜欢以某种方式成为“银河”。可能会有像“每天”和“每一天”的情况。在这种情况下,我宁愿他们是“每天”。 – user3664020