【问题标题】:Query Term elimination查询词消除
【发布时间】:2011-10-16 13:41:47
【问题描述】:

在布尔检索模型中,查询由使用不同运算符组合在一起的术语组成。乍一看,连词是最明显的选择,但是当查询长度增长时,就会发生不好的事情。使用连词时召回率显着下降,而使用析取时精度下降(例如,stanford OR university)。

至于现在我们使用连词是我们的搜索系统(和布尔检索模型)。如果用户输入一些非常罕见的单词或长序列的单词,我们就会遇到问题。例如,如果用户输入toyota corolla 4wd automatic 1995,我们可能没有。但是,如果我们从查询中删除至少一个单词,我们就有这样的文档。据我在向量空间模型中了解,这个问题自动解决了。我们不会根据术语存在的事实过滤文档,我们使用术语的存在对文档进行排名

所以我对布尔检索模型中更高级的组合术语以及布尔检索模型中罕见术语消除的方法感兴趣。

【问题讨论】:

    标签: theory information-retrieval


    【解决方案1】:

    就在这里定义排名函数而言,似乎没有限制。您可以定义一个向量,其中 wi 是:如果第 i 个搜索词没有出现在文件中,则为 0,如果出现则为 1;搜索词 i 在文件中出现的次数;等然后,根据例如排名页面曼哈顿距离、欧几里得距离等,并按降序排序,可能会剔除距离低于指定匹配容差的结果。

    如果您想处理更复杂的查询,可以将查询放入 CNF - 例如(term1 or term2 or ... termn) AND (item1 or item2 or ... itemk) AND ... 然后相应地重新定义权重 wi。您可以在每个结果中列出文件中未能匹配的术语......这样用户至少会知道它的匹配程度。

    我想我真正想说的是,要真正获得适合您的答案,您必须准确定义您愿意接受的有效搜索结果。在严格的解释下,如果缺少任何术语,正在查找 A1 和 A2 和 ... Am 应该 的查询会失败...

    【讨论】:

    • 真的很好。我们目前正在努力实现的目标是最大化召回率,即使降低了一定程度的精度。我们认为当搜索系统显示:“未找到文档”时,这是非常糟糕的。另一方面,当人们得到很多不相关的结果时,他们通常知道如何优化查询。因此,我们正在尽量减少搜索系统找不到任何文档的情况。
    猜你喜欢
    • 1970-01-01
    • 2015-12-02
    • 1970-01-01
    • 2011-05-03
    • 2014-08-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多