使用字数计算欧几里德距离

时间:2017-02-17 21:34:07

标签: nlp text-analysis

考虑以下两句话。

  

句子1:快速的棕色狐狸跳过懒狗。

     

句子2:快速的棕色狗超过了快速的狐狸。

使用字数计算欧几里德距离。

1 个答案:

答案 0 :(得分:1)

您可以使用包tm查找字数,然后计算欧氏距离

> library(tm)
> s1 <- " The quick brown fox jumps over the lazy dog"
> s2 <- "A quick brown dog outpaces a quick fox"
> 
> VS <- VectorSource(c(s1,s2))
> corp <- Corpus(VS)
> dtm <- DocumentTermMatrix(corp)
> d <- dist(t(dtm), method = 'euclidean')
> d



        brown      dog      fox    jumps     lazy outpaces     over    quick
dog      0.000000                                                               
fox      0.000000 0.000000                                                      
jumps    1.000000 1.000000 1.000000                                             
lazy     1.000000 1.000000 1.000000 0.000000                                    
outpaces 1.000000 1.000000 1.000000 1.414214 1.414214                           
over     1.000000 1.000000 1.000000 0.000000 0.000000 1.414214                  
quick    1.000000 1.000000 1.000000 2.000000 2.000000 1.414214 2.000000         
the      1.414214 1.414214 1.414214 1.000000 1.000000 2.236068 1.000000 2.236068