我试图找到同时出现在多个文档中的单词。
让我们举个例子。
doc1: "this is a document about milkyway"
doc2: "milky way is huge"
正如您在上面两个文档中看到的,单词“milkyway”在两个文档中都出现,但在第二个文档中术语“milkyway”由空格分隔,而在第一个文档中则不是。
我正在执行以下操作来获取 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
Term milkyway
根据上述矩阵仅出现在第一个文档中。
我希望能够在上述矩阵中的术语“milkyway”的两个文档中都得到 1。这只是一个例子。我需要对很多文档执行此操作。最终我希望能够以类似的方式对待这些词(“milkyway”和“milky way”)。
EDIT 1:
我是否可以强制术语文档矩阵以这样的方式进行计算:对于它试图查找的任何单词,它不应该只将该单词作为字符串中的单独单词查找,而且还要在字符串中查找该单词?例如,一个术语是milky
并且有一个文件this is milkyway
所以目前在这里milky
不会出现在本文档中,但如果算法在字符串中查找相关单词,它也会找到该单词milky
在字符串内milkyway
, 这样的话milky
and way
将计入我的两个文档中(前面的示例)。
EDIT 2:
最终我希望能够计算文档之间的相似度余弦索引。