布尔模型(Boolean Model)

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

布尔模型描述

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

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

要从文档集合D={d1,d2,…,dn}中检索出: 包含"北京妹纸",或者"杭州妹纸, "但不包括"日本妹纸"的文档。
假设D = {“北京的妹纸豪爽”,“北京是中国首都,而东京不是日本首都,一个妹纸说”,“北京和杭州都是旅游名城”,“杭州的妹纸温婉”}

将查询语句表示为布尔表达式:Q = 妹纸 AND (北京 OR 杭州) NOT 日本
将布尔表达式Q转换为向量表达:
①(1,1,0,0) 即:包含"妹纸"和"北京",且没包含"杭州"和"日本"的语句
②(1,0,1,0) 即:包含"妹纸"和"杭州",且没包含"北京"和"日本"的语句
③(1,1,1,0) 即:包含"妹纸",“北京"和"杭州”,且没包含"日本"的语句

文档集合D中的文档四元组对应的向量值如果包含于上述①②③向量中的任何一个,就可认为他们之间是相似关系,且sim(Q,D)只能为0或1。

将文档集合D解析为向量表达:
d1的向量解析为:(1,1,0,0)
d2的向量解析为:(1,1,0,1)
d3的向量解析为:(0,1,1,0)
d4的向量解析为:(1,0,1,0)

综上可得:d1与向量①相同,d4和③相同,所以查询召回文档d1和d4

模型缺点

  • 布尔模型没有考虑索引词和文档中词的权重
  • 布尔模型是命中模型,不涉及对召回结果的排序
  • 布尔模型是完全匹配,不支持部分匹配,会导致太多或太少的结果被召回
  • 1
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值