比较表格中的句子或段落

时间:2014-02-22 07:32:41

标签: r

我的问题有点是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的函数,但是用于比较句子或段落。

2 个答案:

答案 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