我的问题有点是Visualise distances between texts
中提出的问题的前传我有一张桌子,上面有两个句子可供比较。
compare <- read.table(header=T,sep="|", text=
"person | text1 | text2
person1 | the quick brown fox jumps over the lazy dog | the quick cat jumps on the fast fog
person2 | I dont want to work today | I feel like working today
"
)
我想要一个列,其中值表示每个观察的两个句子之间的差异。
基本上我正在寻找类似于agrep
的函数,但是用于比较句子或段落。
答案 0 :(得分:0)
您可以使用adist
函数计算字符串之间的差异。 mapply
允许您将其应用于所有行:
mapply(adist, compare$text1, compare$text2)
# [1] 17 15
答案 1 :(得分:0)
我必须学习一些文本挖掘。使用tm
我创建了一个函数来比较两个句子或段落并给出一个数值。
library(tm)
dis <- function(text1,text2){
#creating a corpus
text_c <- rbind(text1,text2)
myCorpus <- Corpus(VectorSource(text_c))
#creating a term document matrix
tdmc <- TermDocumentMatrix(myCorpus, control = list(removePunctuation = TRUE, stopwords=TRUE))
#computing dissimilarity
return(dissimilarity(tdmc, method = "cosine"))
}
compare$dis <- mapply(dis, compare$text1, compare$text2)
person text1 text2 dis
person1 the quick brown fox jumps over the lazy dog the quick cat jumps on the fast fog 0.63
person2 I dont want to work today I feel like working today 0.75