r - 如何在R中找到相似的句子/短语?

标签 r statistics nlp

例如,我有数十亿个短语,我想要将相似的短语聚集在一起。

> strings.to.cluster <- c("Best Toyota dealer in bay area. Drive out with a new car today",
                        "Largest Selection of Furniture. Stock updated everyday" , 
                        " Unique selection of Handcrafted Jewelry",
                        "Free Shipping for orders above $60. Offer Expires soon",
                        "XXXX is where smart men buy anniversary gifts",
                        "2012 Camrys on Sale. 0% APR for select customers",
                        "Closing Sale on office desks. All Items must go" 
                         )

假设这个向量有数十万行。 R 中是否有一个包可以按含义对这些短语进行聚类? 或者有人可以建议一种根据给定短语的含义对“相似”短语进行排名的方法。

最佳答案

您可以将短语视为“词袋”,即构建一个矩阵(“术语文档”矩阵),每个短语一行,每个单词一列,如果该单词出现在短语中则为 1否则为 0。 (您可以将 1 替换为一些权重,以考虑短语长度和词频)。然后您可以应用任何聚类算法。 tm 包可以帮助您构建这个矩阵。

library(tm)
library(Matrix)
x <- TermDocumentMatrix( Corpus( VectorSource( strings.to.cluster ) ) )
y <- sparseMatrix( i=x$i, j=x$j, x=x$v, dimnames = dimnames(x) )  
plot( hclust(dist(t(y))) )

关于r - 如何在R中找到相似的句子/短语?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9014313/

相关文章:

r - 如何创建从 R 中的另一列获取日期的列?

scikit-learn - Freidman mse 和 mse 和有什么不一样?

php - 使用 Symfony2 处理统计数据

python - 使用 gensim 从 fasttext 库中高效地加载预训练词嵌入的内存

python - 方括号应用于 Python 中的 "self"

java - 解释用户文本输入的更好方法

r - 仅选择包含 R 中两列表的列表的元素

r - min 和 max 没有非缺失参数

r - 字典样式替换多个项目

python - 如何在 constrOptim() 中设置多个起始值