词袋信息检索的方法

数据挖掘 信息检索
2022-02-25 09:01:49

我对现代/最先进的词袋信息检索方法的概述感兴趣,您可以在其中进行单个查询q以及一组您希望按相关性排序的文档d1,...,dn.

我对完全不需要语言知识并且不依赖外部语言或词汇资源来提高性能的方法特别感兴趣(例如叙词表或预建的词网等)。因此,排名完全是通过评估查询文档的相似性来产生的,并且通过利用文档间单词的共现来克服同义词和多义性的问题。

我在文献(阅读论文/教程)上花了一些时间,但是那里的信息太多了,很难鸟瞰。我能得出的最好结论是,现代方法涉及加权向量空间模型(例如广义向量空间模型、LSI 或使用 LDA 的基于主题的向量空间模型)与伪相关反馈的某种组合(使用 Rocchio 或更高级的方法)。

所有这些向量空间模型都倾向于使用余弦相似度作为相似度函数,但是我看到一些文献讨论了更奇特的相似度函数。

这基本上是我们目前解决这种特殊类型问题的地方吗?

2个回答

虽然阅读博客和论文有助于确定最新和最伟大的内容,但拥有坚实的基础也有很大帮助。但是我假设您已经阅读了曼宁关于 IR 的伟大(并且以电子书形式免费)书籍,对吧?

http://nlp.stanford.edu/IR-book/

它包含有关从文档集中创建自己的词库以解决同义词问题、多义词 LSA 等的信息。

至于相似度度量,您会看到 Okapi BM25(Robertson 等人)被认为优于余弦相似度(但实施和运行成本更高)。就目前的技术水平而言,90 年代初出现了少量基于贝叶斯网络的分类器(从 Turtle 和 Croft 开始),但有一段时间平静下来。然而,现在,将 BN 用于 IR 再次获得了一些复兴,特别是在生物医学 IR 中。在这方面,我认为大多数正在进行的工作都是针对使用贝叶斯模型,包括。用于词义消歧 (WSD) 和语义相似性的主题模型和深度学习。这是指向最近一篇论文的指针,该论文对该主题有很好的参考。

http://arxiv.org/abs/1412.6629

该方法核心的相似性函数将定义您的距离的所有值d1,d2,,dn. 初始查询应该有一些单词作为参考点,以与文档中的单词进行比较。在不知道查询是句子还是任意列表的情况下,您只能使用一种方法来对文档中匹配单词的频率进行某种直方图比较。您可以对关键字映射计数进行简单求和,查看归一化分布中的关键字似然性,或根据最强匹配给出权重分布。更多奇特的功能将基于您对如何比较单词的先前信念。在贝叶斯框架内工作,您可以清楚地看到您之前的假设。余弦相似度或任何其他基于向量的度量在不知道查询和文档之间比较的期望性质的情况下会略微随意。

如果不查看某些类型的特征,或者尝试将文档交叉比较在一起,或者使用初始查询的结构,您将无能为力。简而言之,我的答案是使用文档与查询的归一化频率相似度并产生排名,并考虑更具体的目标,在测试数据集上应用余弦相似度等度量来搜索最佳度量。