分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow
也欢迎大家转载本篇文章。分享知识,造福人民,实现我们中华民族伟大复兴!
1. 检索模型概述
搜索结果排序时搜索引擎最核心的部分,很大程度度上决定了搜索引擎的质量好坏及用户满意度。实际搜索结果排序的因子有很多,但最主要的两个因素是用户查询和网页内容的相关度,以及网页链接情况。这里我们主要总结网页内容和用户查询相关的内容。
判断网页内容是否与用户査询相关,这依赖于搜索引擎所来用的检索模型。检索模型是搜索引擎的理论基础,为量化相关性提供了一种数学模型,是对查询词和文档之间进行相似度计算的框架和方法。其本质就是相关度建模。如图所示,检索模型所在搜索引擎系统架构位置:
当然检索模型理论研究存在理想化的隐含假设,及即假设用户需求已经通过查询非常清晰明确地表达出来了,所以检索模型的任务不涉及到对用户需求建模。但实际上这个和实际相差较远,即使相同的查询词,不同用户的需求目的可能差异很大,而检索模型对此无能为力。
2. 检索模型分类
所以我们从所使用的数学方法上分:
此外还有基于统计的 机器学习排序算法。
这里主要介绍 布尔模型,向量空间模型,概率模型,语言模型,机器学习排序算法
3. 布尔模型
布尔模型:
是最简单的信息检索模型,是基于集合理论和布尔代数的一种简单的检索模型。
基本思想:
文档和用户查询由其包含的单词集合来表示,两者的相似性则通过布尔代数运算来进行判定;
相似度计算:
查询布尔表达式和所有文档的布尔表达式进行匹配,匹配成功的文档的得分为1,否则为0。
如查询词:
苹果 and (iphone OR Ipad2)
文档集合:
D1:IPhone 5于9月13号问世。
D2: 苹果公司于9月13号发布新一代IPhone。
D3:Ipad2将于3月11日在美上市。
D4:Iphone和ipad2的外观设计精美时尚
D5:80后90后都喜欢iphone,但不喜欢吃苹果。
那么单词与文档关系如下图:
这类似于传统数据库检索,是精确匹。一些搜索引擎的高级检索往往是使用布尔模型的思想。如 Google的高级检索。
优点:
在于形式简洁、结构简单。
缺点:
1)准确的匹配可能导致检出的文档过多或过少。因为布尔模型只是判断文档要么相关、要么不相关,它的检索策略基于二值判定标准,无法描述与查询条件部分匹配的情况。因此,布尔模型实际上是一个数值检索模型而不是信息检索模型。
2)尽管布尔表达式有确切的语义,但通常很难将用户的信息需求转换成布尔表达式。如今,人们普遍认为,给索引词加权能极大地改善检索效果。从对索引词加权的方法中引出了向量模型。
4. 向量空间模型(Vector Space Model,VSM)
向量空间模型:康奈尔大学 Salton等人上世纪 70年代提出并倡导,原型系统 SMART
基本思想:
把文档看成是由t维特征组成的一个向量,特征一般采用单词,每个特征会根据一定依据计算其权重,这t维带有权重的特征共同构成了一个文档,以此来表示文档的主题内容。
相似性计算:
计算文档的相似性可以采用Cosine计算定义,实际上是求文档在t维空间中查询词向量和文档向量的夹角,越小越相似;对于特征权重,可以采用Tf*IDF框架,Tf是词频,IDF是逆文档频率因子指的是同一个单词在文档集合范围的出现次数,这个是一种全局因子,其考虑的不是文档本身的特征,而是特征单词之间的相对重要性,特征词出现在其中的文档数目越多,IDF值越低,这个词区分不同文档的能力就越差,这个框架一般把Weight=Tf*IDF作为权重计算公式。
思路:
n篇文档, m个标引词构成的矩阵 Am*n,每列可以看成每篇文档的向量表示,同时,每行也可以可以看成 单词的向量表示: