搜索引擎-信息检索实践 整理一

在做一个比较复杂的项目中需要使用到搜索引擎技术,平时对他了解不多,这几天认真读了一下W.Bruce Croft的《搜索引擎-信息检索实践》收获不少,不过还是有一些问题不太明白,这里对所读内容做一个整理。

一、信息源

书中主要针对页面这样的信息源进行说明,与我想要做的不太一致,不过有几点引起了我的注意:

A. 时新性,需要维持爬虫采集回来页面的时新性,如果页面变化了则时新性就降低了。

         B. 深层网络,私人站点、表单结果、脚本页面这些都属于深层网络挖掘的内容。

         C. 转换问题,当把文档转化为纯文本进行处理,而不是HTMLXML这样的半结构化数据会丢失标题,字体等信息,这些信息在对数据进行加权,排序等具有重要作用。

     二、文本处理

A.      齐普夫法则(Zipf`s Law

r高频的词的出现次数与r成反比,或则说,一个词在词频统计表中的排名乘以它的词频f约等于一个常数k          r*f = k

事实上,齐普夫法则通常对排名靠前和排名靠后(高频词和低频词)的预测不准确。

B.      Heaps法则,预测词表的增长

语料规模与词表大小的关系。   其中v为词汇量大小,语料中共有n个词,k 是随不同语料变化的参数。根据Heaps法则以及相关实验发现在词数超过3000万词表时,词表仍然继续稳步增长。这个很重要,

C.      词素切分、停用词去除、词干提取  缺少中文方面的描述需要在看资料

D.      信息抽取

对于搜索应用而言,信息抽取主要用来识别搜索引擎用来提高排序效果的文本特征。识别和标注这些特殊的特征有时称为语义标注。现在通常能识别出一些命名实体,如药品名称,产品名,型号。

建立命名实体识别器的主要方法:基于规则方法和基于统计方法。

基于规则的方法如<number><word>streat可以用来识别街道地址。

基于统计方法,如隐马尔科夫模型(Hidden Markow Model HMM)。

一个马尔可夫模型使用状态state集合和状态间的转移transition描述一个过程。每个转移都关联一个概率。过程中的下一个状态只取决于当前状态和转移概率。

当它应用于识别句子时,给定一个句子和一个状态图,利用状态图找到一个状态图中实体类别序列,使得产生这个句子的概率最大。与序列中的实体类型相关的词将会被标记出来。

a.       Viterbi算法可以在HMM模型中找到最大概率的状态序列,它属于一个动态规划算法

b.       该方法的核心是,状态图中状态间的转移概率需要从训练数据中估计出来。

三、基于索引的相关排序

A.      相关排序模型

相关排序函数    是某个特征函数,它从文档文本中获得一个数值。这个描述太过学术,我看了好几次才明白。就是说,对于一个词项,通过一定的函数计算获得一个数值,这个函数计算需要一般需要考虑所有文档,词项出现的频率,出现的位置等等。反正对于一个词项可以计算出一个数值。  是从查询的文本中获得一个词项的数值。然后两个数值进行相乘再求和,最终形成文档的分数。 这个特征函数很重要,主要目的是用来进行文档区分。

需要注意,你查询时可能只输入了一个词,但是实际上处理时Q不仅只含有一个词,搜索引擎可以通过查询扩展,扩展出多个词进行查询,这个后续再说。

B.      倒排索引,压缩编码这个部分内容网上太多了,这里就不累述了。

C.      查询处理

索引建立好后,需要处理查询,这个才是我关心的。书中给出了两中简单的查询处理算法“document-at-a-time”和“term-at-a-time

Document-at-a-time每列表示一个不同的文档,这里简化分数是每个文档中词频的总和。(分数应该使用相关排序函数 来计算)。第一篇文档的所有词频被加起来生成文档的分数。一旦完成对第一篇文档计分,则开始第二篇文档,然后是第三篇、第四篇。

         Term-at-a-time每次计算一个词的所有文档分数,这样只有所有词计算完成,所有文档的得分才能给出。

         具体的优化技术这里就不说明了,书中论述很清晰。

D.      结构化查询

结构化查询时使用查询语言写的查询,容许改变查询中使用的特征以及那些特征的组合方式。书中给出了Galago结构化查询语言的例子,如#combin(#od:1(tropical fish)#od:1(aquarium fish) fish)。该查询有三个子查询组合。第一个查询是#od:1(tropical fish)#od:1操作符的意思是,其中的项在匹配的文档中需要一次出现,并且依照查询中的顺序。每个查询类似一个文档特征,使用#combin操作符组合起来。这里可以参考Lucene的结构化查询语言。

四、N

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值