第一章:布尔检索模型

布尔检索模型接受布尔表达式查询,即通过AND、OR及NOT等逻辑操作符捋词项连接起来的查询.

grepping的定义。

假如你想知道《沙士比亚全集》中包含Brutus和Caesar但不包含Calpurnia.一种办法就是从头到尾阅读这本全集,对每部剧本都要留心包含Brutus和Caesar但不包含Calpurnia。这种线性扫描就是一种最简单的计算机文档检索方式。这个过程就叫作grepping.它来至于Unix下的一个文本扫描命令grep.在文本内进行grepping扫描速度很快,在使用现在的计算机的情况下会更快,并且在扫描过程中还可以使用正则表达式来支持通配符查找。总之,在使用现代化的计算机进行查找时,对一个规模不大的文档集(不超过100万个单词)进行线性非常简单,根本不需要做额外的处理。

但是,在大部份情况下只采用上述扫描方式是远远不够的,我们需要做更多的处理.这些情况如下所述:

1、大规模的文档集查找.在线数据量的增长并不低于计算机的速度增长,我们可能需要几十亿到万亿单词的数据规模下进行查找.

2、有时我们需要灵活的匹配的方式.比如:在grep命令下不支持诸如Romans NEAR countrymen之类的查询,这时的NEAR操作符的定义可能扩为5个词之内或同一个句子中.

3、需要对结果进行排序.很多情况下,用户希望在多不个满足自己需求的文档中找到最佳答案.此时我们就不能采用上面的线性扫描方式了.一种非线性的方式就是事先给文档建立索引(index).我们仍然回到《沙士比亚全集》的例子,并通过介绍布尔检索的基本知识.给定词表《沙士比亚全集》中共使用32000个不同的词),假定我们对每篇文档(这里指每部剧本)都事先记录它是否包含词表中的某个词,结果就会得到由一个布尔值构成的词项-文档关联矩阵(incidence  matrix).词项(Item)是索引的单位(将在后面章节谈到),它通常可以用词来表示,目前可以把词项当成词.当然在信息检索的文献中一般都采用词项这个更正式的说法,而词项也不一定是词.比如1-9,Hong Kong也可以作为词项,但它们并不是词.再回到上述矩阵中,根据从行还有列的角度来看,可以得到不同的向量;从行来看,可以得到每个词项对应的文档向量;表示在那个文档中出现或不出现;从列来看,可以得到每个文档对应的词项向量.表示文档中那些词项出现或不出现.

图1-1

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值