布尔模型(Boolean Model)

布尔模型(Boolean Model)介绍

最早的IR模型,也是应用最广泛的模型;目前仍然应用于商业系统中;Lucene是基于布尔(Boolean)模型的。

布尔模型描述

  • 文档D表示:一个文档被表示为关键词的集合
  • 查询式Q表示:查询式(Queries)被表示为关键词的布尔组合,用“与、或、非”连接起来,并用括弧指示优先次序
  • 匹配F:一个文档当且仅当它能够满足布尔查询式时,才将其检索出来

  • 检索策略基于二值判定标准
  • 算法R:根据匹配框架F判定相关, 计算相关度排名,这里不涉及doc得分和tfidf,只是boolean关系。
    查询表示
    在布尔模型中,所有索引项的权值变量和文档d与查询q的相关度都是二值的,查询q被表述成一个常规的布尔表达式,为方便计算查询q和文档d的相关度,一般将查询q的布尔表达式转换成析取范式DNF。也就是QueryParser解析后,看到的BooleanQuery。

示例

文档集包含两个文档:
文档1:a b c f g h
文档2:a f b x y z
用户查询:文档中出现a或者b,但一定要出现z。
将查询表示为布尔表达式 ,并转换成析取范式
文档1和文档2的三元组对应值分别为(1,1,0)和(1,1,1)
经过匹配 ,将文档2返回

优点

到目前为止,布尔模型是最常用的检索模型,因为:

  • 由于查询简单,因此容易理解 通过使用复杂的布尔表达式,可以很方便地控制查询结果 相当有效的实现方法
  • 相当于识别包含了一个某个特定term的文档 经过某种训练的用户可以容易地写出布尔查询式
  • 布尔模型可以通过扩展来包含排序的功能,即“扩展的布尔模型”

问题

  • 布尔模型被认为是功能最弱的方式,其主要问题在于不支持部分匹配,而完全匹配会导致太多或者太少的结果文档被返回
    非常刚性: “与”意味着全部; “或”意味着任何一个
    很难控制被检索的文档数量,原则上讲,所有被匹配的文档都将被返回很难对输出进行排序.
  • 不考虑索引词的权重,所有文档都以相同的方式和查询相匹配
  • 这个过程是“data retrieval” 而不是 “information retrieval”。

总结

如果不需要排序,就适合boolean Model,该模型就是布尔运算的结果,不涉及复杂的排序。最多按命中boolean条件的个数粗略排序。简单理解, 可以认为是命中模型。 而涉及排序的则是VSM或者BM25等方法,以及二次排序。

参考

https://en.wikipedia.org/wiki/Standard_Boolean_model

  • 2
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值