首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >比较文档-文档相似度

比较文档-文档相似度
EN

Stack Overflow用户
提问于 2015-04-24 16:15:55
回答 2查看 979关注 0票数 0

我目前正在进行NLP/IR中的一个java项目,并且对此相当陌生。该项目由大约1000个文档组成,其中每个文档大约有100个单词,结构为具有词频的词袋。我想根据文档(从集合中)找到类似的文档。

使用TF-IDF,为查询(给定文档)和集合中的所有其他文档计算tf-idf,然后将这些值作为具有余弦相似度的向量进行比较。这能让我们对它们的相似性有一些了解吗?或者,由于大查询(文档),这是否不合理?有没有其他相似性度量可以更好地发挥作用?

谢谢你的帮助

EN

回答 2

Stack Overflow用户

发布于 2015-04-24 17:10:07

基于TF-IDF的相似度通常使用余弦将表示查询项的向量与表示文档的TF-IDF值的一组向量进行比较,这是计算“相似度”的常用方法。

请注意,“相似性”是一个非常通用的术语。在信息检索领域,你通常会说到“相关性”。文本可以在许多层面上相似:在相同的语言中,使用相同的字符,使用相同的单词,谈论相同的人,使用类似的复杂语法结构等等-因此,有许多许多衡量标准。在web上搜索文本相似性,不仅可以找到许多出版物,还可以找到实现不同衡量标准的开源框架和库。

如今,与传统的基于关键词的信息检索模型相比,“语义相似度”引起了人们更多的兴趣。如果这是您感兴趣的领域,您可以查看2012-2015年SemEval共享任务的结果。

票数 1
EN

Stack Overflow用户

发布于 2015-04-25 02:37:31

如果您想要的只是使用TF-IDF比较两个文档,那么您可以这样做。由于您提到每个文档包含100个单词,因此在最坏的情况下可能会有1000*100个唯一单词。因此,我假设您的向量是建立在所有唯一的单词上的(因为所有文档都应该以相同的维度表示)。如果不是。如果唯一词的个数太高,你可以尝试使用一些降维技术来降低维数(如PCA)。但是您尝试做的是正确的,您总是可以像这样比较文档来查找文档之间的相似性。

如果你想在语义上有更多的相似性,你应该考虑使用LDA (主题建模)类型技术。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29842137

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档