You are on page 1of 21

百度搜索研发部:浅谈互联网页面价值

搜索引擎如何判断网页页面价值?这篇来自百度搜索研发部的文章可以给我们提供一些线索,看看百度这一类商业搜索引擎,
是怎么判断网页页面价值的。

---------------------以下是文章的开始,原文已经被删除了-------------------------

搜索引擎每天处理着数以亿计的查询请求,每个查询请求都代表了一个用户对于某种资源的特定需求。多数时候,通过查询返
回的网页结果,这些需求被满足 了,我们可以认为结果中的某些页面对特定用户的特定需求产生了价值。那么对于搜索引擎
而言,页面的价值是指什么,我们为什么要研究页面价值,技术上怎样判 断页面的价值呢?本文将逐一回答这些问题。

一、什么是页面价值

前面我们说了,某个页面满足了某一用户的特定需求,就体现了这个页面对用户的价值。那么对搜索引擎而言,价值体现在哪
些方面呢?一个简单的推论,所有可能会对用户产生价值的页面都是对搜索引擎有价值的,将这些页面建入搜索引擎的索引中
能够满足最终检索到它们用户的需求,我们称这种价值为检索价值。只要是能解决某个用户信息需求的,并且是可以通过某些
正常检索需求到达的,那么就是有检索价值的。

小学生张三喜欢在qzone上写日记,写他前天吃了什么,今天玩了什么。这些内容,是有价值的。它们对张三的家长、同学、
老师,以及其他小学生,和对小学生日记感兴趣的人来说,都是有价值的。对于这个信息体来说,“张三”这个名字是检索
的“key”。

有一些信息单元,只有“浏览”价值,而没有到达该信息的检索途径,那么该资源可能是有价值的,但检索价值就很低。比如一
张百度大厦附近的地图,从浏 览角度,是有价值的;但是如果没有任何周边文字说明(或者link的anchor text),只有一张光秃
秃的地图,就没有检索价值。

当然,如果图片的内容识别技术,有朝一日能自动识别出这个是“百度大厦附近地图”,或者能够自动分析 出地图内的各种大
厦、街道、餐馆等的名称,那么这张图一样变得有检索价值了。所以一个页面是否有检索价值,应该取决于两点:

1)是否能解决某个特定的需求(价值)
2)是否可以通过某个常规的搜索方式获得该信息(检索)
那么,没有检索价值的页面,是否对搜索引擎就没有价值了呢?仔细想想,答案是否定的。索引只是搜索引擎的一个环节,对
于其他环节而言,没有检索价值的页面有可能对我们更好的收录那些检索价值高的页面有帮助。比如对负责抓取互联网资源的
spider而言,有一些页面,本身没有检索价值,但通过这些页面 的抓取和分析,能够更快的帮助我们掌握这一类页面没有检索
价值这一重要信息,从而节省更多的流量进行更加有效的抓取。

考虑到这种价值可以算作一种“间接的”检索价值,最终还是立足于索引价值的,在本文中就不再展开论述,我们只关注“检索
价值”这一根本问题。下文中提到的“页面价值”特指页面的“检索价值”。

二、为什么要研究页面价值

首先,互联网上的页面是无穷尽的,而搜索引擎的硬件资源是有限的,想用有限的资源去覆盖无穷尽的互联网,我们就需要对
页面价值做出判断,不收录那些无检索价值的页面,少收录那些检索价值低的页面。这是页面价值在收录控制方面的应用。

第二,搜索引擎spider的抓取能力是有限的,出于访问友好性的考虑,对于一个网站或一个IP抓取速率需要有一个抓取速率的
上限。在这一限制下, 抓取或页面更新就需要有一个先后顺序,而这一排序的主要参考依据就是页面价值,或者说对页面价
值的预测(未抓取时)。这是页面价值在spider调度方面 的应用。
第三,对于某些页面,页面内容发生变化,导致它的检索价值从有到无,典型的就是变为“死链”,或者“被黑”。对于这些页
面,好的搜索引擎会在第一时 间将其排除出索引,或在检索时对其进行屏蔽,以保证返回给用户的结果是更多检索价值高
的“好页面”。对于另一些页面,它不仅具有很高的检索价值,而且有很 强的“时效性”,能够第一时间让用户检索到这些页面对
搜索体验有很大的提升。对搜索引擎而言,越快的收录和索引页面意味着越多的额外资源开销,以多快的速 度收录和以多短
的周期更新索引,需要通过页面价值的分析来指导。这两方面是页面价值在死链率和时效性两大搜索引擎指标提升上的应用。

最后,普遍意义上的页面价值高低对搜索引擎返回给用户的结果排序上也存在着指导意义。理想情况下搜索引擎的结果是按照
与查询请求的相关性进行排序的,在相关性大体相当的情况下,用户更倾向与浏览普遍意义上页面价值高的网页。这是页面价
值在ranking方面的应用。

可以说,页面检索价值的研究是搜索引擎中的一项较为基础的工作,对页面价值的认识和判断的准确程度直接影响着搜索引擎
的覆盖率、死链率、时效性等几大主要指标。

三、如何判断页面价值

前文中提到过一个小学生张三qzone日记的例子。我们认为这个页面是有价值的,对张三的同学,朋友,家人都有价值。与此
类似的,百度CEO李彦宏 在i贴吧上发表一条十几个字的i贴,也是有价值的,对李彦宏的上千万粉丝都有价值。虽然李彦宏的i
贴长度可能远小于张三的日记,但就这两个页面的价值来 说,我们都会有一个共同的认识,即从普遍意义上讲,李彦宏的i贴
价值远大于张三的日记。(当然,对于张三的妈妈来说很可能这个价值的关系是相反的)

再举个例子,搜索某个人的手机号码,搜索引擎返回了一个结果,是这个人在某个论坛上的一个回复。虽然这个手机号码关心
的人不多,但因为资源是绝对稀缺的,对于关心这个手机号码的查询需求,这个页面是完全不可替代的,因此具有极高的价
值。

另外,页面检索价值,还受到页面质量的影响。相似的页面,对于满足用户需求来说,往往会有很大差异,比如资源下载速
度,页面的布局,广告的多寡。这类差异,姑且称之为页面质量。

最后,有些页面具有明显的公众话题性质,且这些资源往往在刚刚产生时有非常高的关注度,随着时间的推移热度显著下降,
有着“新闻”的特征。典型的像各种“门”事件,地震、火灾等大型的自然灾害。我们认为这类资源具有“时效性”特征。

所以,一个页面的检索价值,大致受以下四个要素的影响:

1、感兴趣的受众群大小
2、该页面的稀缺程度(可替代性)
3、该页面的质量高低
4、该页面的时效性特征强弱
这四种要素,简称受众,稀缺,质量和时效性。

1. 受众
受众群体的大小,即代表了用户检索需求的大小。评价受众的大小主要依据信息发布源的受众和信息内容本身受众两大方面。
具体因素包括且不限于:

网站忠实用户群大小

一般来说,拥有自己忠实用户群的知名网站,他们的成功,在于他们的内容和服务,比别人更能吸引和满足用户。从这个角度
来说,我们可以推论,拥有更多 忠实用户群的网站上的内容,会比忠实用户群较少的网站上的内容,有更多的既有和潜在受
众群。这样的话,忠实用户群大小,就可以变成对站点内资源检索价值的 一种衡量指标。忠实用户群的好处在于,它是变动
的。如果一个网站变差了,那么用户就会用脚投票。超链有过期问题,作弊问题,而虚假用户群作弊很难。一般所 谓的网站
知名度,会和忠实用户群数量密切相关。

资源分布规律

我们再考虑一个网站内部的资源分布所体现的受众群大小问题。比如新浪新闻首页的那些推介内容。新浪编辑为什么要推这些
内容?因为他们认为这些是用户 最感兴趣的。那么从索引价值角度而言,相当于有一个庞大的编辑团队,已经对这些内容打
上了“符合大众口味”的标签。搜索引擎只需要乐享其成就行了。这样的 话,资源相对于某些结构性关键页面(首页、频道页
等)的链接深度,也可以成为衡量一个资源受众群大小的指标了。

访问热门度
我们再从访问热门度角度来考虑受众群大小问题。这个是最直接的,当然,它需要第三方的工具来获取关键数据。通过这个途
径,获取的不应仅仅是需要入库的页面,还有用户访问一个网站的访问模式。

超链

超链某种程度上也是受众群大小的反映。某个资源的质量越高,接触的受众群越大,那么获得正常链接的数量往往也越大。

内容特征

A:我写博客:“传言郭德纲要上春晚了。”
B:我写博客:“我今天吃早饭了。”
同样的来源,前者的受众必然高于后者。即:当在发布源相同的情况下,具有公众属性的内容分值会更高。

2. 稀缺
稀缺主要是描述页面在互联网中的独特性。说到稀缺往往会想到重复,稀缺是否等同于无重复,我们应该怎样解读这一概念
呢?可以看一个例子:

某人发表了一篇针对某新闻事件的原创博客,随后被新浪转载到了新闻频道。从描述的内容上讲,这是一种重复。但这种重复
仅仅是主体内容上的重复,一方面它的转载带来了访问速度、稳定性等方面的增益,并且之后的检索用户还有可能用“新闻事
件+新浪”来检索此新闻。这可以被称之为站点增益。另一方面,它在转载过程中可能会改变页面的标题,而且依托其受众,在
转载页面上,还有可能出现更多的有价值评论和回复等,还有可能存在指向其它相关事件的新闻链接。这些可以被称之为内容
增益。因此即使主题内容没有任何变化,新浪的这次转载也是有价值的,其稀缺度也是较高的。

同样,反过来说,如果转载的网站相当不知名,则其无法带来站点名/稳定性/速度的增益。更有甚者,转载之后在页面上加入
大量广告妨碍阅读,或者只转载了内容中不完整的一部分,这样的转载,或者说采集,就是纯重复的,与采集源相比,就是没
有检索价值的了。

综上所述,对于主体内容重复的页面,我们应该评价其是否存在站点增益和内容增益,只有对于大量完全无增益的重复页面,
我们才应该认为其稀缺度较低。

3. 质量
页面的质量是它对需求的满足程度的一种体现。判断页面质量的高低,应该是从最基础的需求依次递进的。

首先,不能是死链、网站要有一定的稳定性、访问速度要令人满意。

其次,主体内容是否完整、版式和字体是否易读、各类广告会不会太多。

最后,信息是否丰富、延伸出的次级需求是否满足。

典型的低质量页面存在以下一些特征:

1、主需求无效/未满足(过期分类广告/软件下载页面,下载链接无效等)
2、死链
3、虚假信息/诈骗等
4、点不稳定
5、影响主需求的权限问题(下载/浏览需要注册会员/积分等)
6、信息不完整(转载不全等)
7、浏览体验差(广告/字体/页面布局等)
典型的高质量页面存在以下一些特征:

1、访问速度快(页面加载快/资源下载速度快)
2、页面整洁干净,主体内容在显著位置。
3、页面信息完整。
4、页面元素丰富(文字、图片、评论、相关推荐等)

4. 时效性

“时效性”是页面价值的一个属性,它一般体现在两个方面:一是页面所描述的事物本身有着较强的公众话题性,容易被传播。
这其实是受众的一个体现。二 是页面所描述的事物仅在第一时间有较高热度,随着时间推移热度显著下降。这是一种“新
闻”性。对于具有上述两种属性的页面,如果搜索引擎spider发现 页面的时间正处于该事物的“爆发期”或“爆发期”之前,我们认
为该页面具有时效性。

需要说明的是,搜索引擎的广义“时效性”是指对所有有价值新资源的及时收录提供检索,而所有的有价值新资源中,有一大部
分其收录速度的提升对用户的 搜索体验改善意义是不大的,比如介绍如何瘦身的知识性文章,张三的日记。页面价值中的“时
效性”指得是一种突发时效性,也就是所有有价值页面中最需要及时 收录的那些。对页面时效性的判断是为了指导我们将搜索
引擎有限的资源投入到最关键的地方,产生最好的性价比。

判断页面的时效性价值,主要通过下面一些途径:

页面本身受众是否有短时间的突增,比如超链爆发。贾君鹏的帖子就是一个典型的例子。

描述相同事物的互联网页面是否有段时间的突增。贾君鹏事件短时间内爆发出大量相关讨论、报道,和这一事件相关的所有内
容都具有了时效性属性。

根据一个集合内的页面是否具有上述两种特征,推测该集合的时效性价值。比如魔兽世界吧经常爆出一些热门帖子,公众话
题,我们推测出自魔兽世界吧的帖子其时效性“潜在价值”比较高。

四、页面价值的研究重点

前文已经介绍了页面价值的含义,研究的意义与价值判断的方法。最后我们再看一下,从技术角度上,这一方向的研究中的重
点方向。对页面价值的研究工作主要致力于三方面:

1、对页面价值体系的认识。我们目前对页面价值的认识是来源于前文所述的四个维度,这个认识是否全面,对于不断变化的
互联网环境与用户需求,这些维度应该如何扩展与变化才能更好的服务于整体的搜索体验提升,是一个很重要问题。

2、对于反映页面价值的页面特征提取。巧妇难为无米之炊,挖掘更多的页面特征,更准确合理的特征提取是页面价值判定准
确率提升的基础。

3、对各种页面特征的组合策略(机器学习)。针对不用的应用方向,需要利用相应的特征通过合理且高效的策略拟合出页面
价值的最终评价结果。
百度搜索研发部:以求医为例谈搜索引擎排序算法的基础原

我们向搜索引擎提交一个查询,搜索引擎会从先到后列出大量的结果,这些结果排序的标准是什么呢?这个看似简单的问题,
却是信息检索专家们研究的核心难题之一。

为了说明这个问题,我们来研究一个比搜索引擎更加古老的话题:求医。比如,如果我牙疼,应该去看怎样的医生呢?假设我
只有三种选择:

A医生,既治眼病,又治胃病;
B医生,既治牙病,又治胃病,还治眼病;
C医生,专治牙病。
A医生肯定不在考虑之列。B医生和C医生之间,貌视更应该选择C医生,因为他更专注,更适合我的病情。假如再加一个条
件:B医生经验丰富,有二十年从医经历,医术高明,而C医生只有五年从医经验,这个问题就不那么容易判断了,是优先选
择更加专注的C医生,还是优先选择医术更加高明的B医生,的确成了一个需要仔细权衡的问题。

至少,我们得到了一个结论,择医需要考虑两个条件:医生的专长与病情的适配程度;医生的医术。大家肯定觉得这个结论理
所当然,而且可以很自然地联想到,搜索引擎排序不也是这样吗,既要考虑网页内容与用户查询的匹配程度,又要考虑网页本
身的质量。但是,怎么把这两种因素结合起来,得到一个,而不是两个或多个排序标准呢?假如我们把这两种因素表示成数
值,最终的排序依据是把这两个数值加起来,还是乘起来,或是按决策树的办法把它们组织起来?如果是加起来,是简单相
加,还是带权重加呢?

我们可以根据直觉和经验,通过试错的办法,把这两个因素结合起来。但更好的办法是我们能找到一个明确的依据,最好能跟
数学这样坚实的学科联系起来。说起来,依据朴素的经验,人类在古代就能建造出高楼;但要建造出高达数百米的 摩天大
厦,如果没有建筑力学、材料力学这样坚实的学科作为后盾,则是非常非常困难的。同理,依据朴素的经验构建的搜索引擎算
法,用来处理上万的网页集合应该是没问题的;但要检索上亿的网页,则需要更为牢固的理论基础。

求医,病人会优先选择诊断准确、治疗效果好的医生;对于搜索引擎来说,一般按网页满足用户需求的概率从大到小排序。如
果用 q 表示用户给出了一个特定的查询,用 d 表示一个特定的网页满足了用户的需求,那么排序的依据可以用一个条件概率来
表示:

P(d|q)
这个简单的条件概率,将搜索引擎排序算法与概率论这门坚实的学科联系了起来,这就像在大海中航行的船只装备了指南针一
样。利用贝叶斯公式,这个条件概率可以表示为:

可以清楚地看到,搜索引擎的排序标准,是由三个部分组成的:查询本身的属性 P(q) ;网页本身的属性 P(d) ;两者的匹配关


系 P(q|d) 。对于同一次查询来说,所有网页对应的 P(q) 都是一样的,因此排序时可以不考虑,即

公式左边,是已知用户的查询,求网页满足该用户需求的概率。搜索引擎为了提高响应用户查询的性能,需要事先对所有待查
询的网页做预处理。预处理时,只知道网页,不知道用户查询,因此需要倒过来计算,即分析每个网页能满足哪些需求,该网
页分了多大比例来满足该需求,即得到公式右边的第一项 P(q|d) ,这相当于上文介绍的医生的专门程度。比如,一个网页专门
介绍牙病,另一个网页既介绍牙病又介绍胃病,那么对于“牙疼”这个查询来说,前一个网页的 P(q|d) 值就会更高一些。

公式右边的第二项 P(d) ,是一个网页满足用户需求的概率,它反映了网页本身的好坏,与查询无关。假如要向一个陌生人推


荐网页(我们并不知道他需要什么),那么 P(d) 就相当于某个特定的网页被推荐的概率。在传统的信息检索模型中,这一个
量不太被重视,如传统的向量空间模型、BM25模型,都试图只根据查询与文档的匹配关系来得到排序的权重。而实际上,这
个与查询无关的量是非常重要的。假如我们用网页被访问的频次来估计它满足用户需求的概率,可以看出对于两个不同的网
页,这个量有着极其巨大的差异:有的网页每天只被访问一两次,而有的网页每天被访问成千上万次。能够提供如此巨大差异
的量,竟长期被传统的搜索引擎忽略,直到Google发明了pagerank并让它参与到排序中。Pagerank是对 P(d) 值的一个不错的估
计,这个因素的加入使搜索引擎的效果立即上升到了一个新的台阶。

这个公式同样回答了上文提出的问题,网页与查询的匹配程度,和网页本身的好坏,这两个因素应该怎样结合起来参与排序。
这个公式以不可辩驳的理由告诉我们,如果网页与查询的匹配程度用 P(q|d) 来表示,网页本身的好坏用 P(d) 来表示,那么应
该按它们的乘积来进行排序。在现代商业搜索引擎中,需要考虑更多更细节的排序因素,这些因素可能有成百上千个,要把它
们融合起来是更加复杂和困难的问题。
来源:百度搜索研发部博客(已经关闭)
百度搜索研发部:搜索背后的奥秘–浅谈语义主题计算
摘要:

两篇文档是否相关往往不只决定于字面上的词语重复,还取决于文字背后的语义关联。对语义关联的挖掘,可以让我们的搜索
更加智能化。本文着重介绍了一个语义挖掘的利器:主题模型。主题模型是对文字隐含主题进行建模的方法。它克服了传统信
息检索中文档相似度计算方法的缺点,并且能够在海量互联网数据中自动寻找出文字间的语义主题。近些年来各大互联网公司
都开始了这方面的探索和尝试。就让我们看一下究竟吧。

关键词: 主题模型

技术领域: 搜索技术、自然语言处理

假设有两个句子,我们想知道它们之间是否相关联:

第一个是:“乔布斯离我们而去了。”

第二个是:“苹果价格会不会降?”

如果由人来判断,我们一看就知道,这两个句子之间虽然没有任何公共词语,但仍然是很相关的。这是因为,虽然第二句中
的“苹果”可能是指吃的苹果,但是由于第一句里面有了“乔布斯”,我们会很自然的把“苹果”理解为苹果公司的产品。事实上,
这种文字语句之间的相关性、相似性问题,在搜索引擎算法中经常遇到。例如,一个用户输入了一个query,我们要从海量的
网页库中找出和它最相关的结果。这里就涉及到如何衡量query和网页之间相似度的问题。对于这类问题,人是可以通过上下
文语境来判断的。但是,机器可以么?

在传统信息检索领域里,实际上已经有了很多衡量文档相似性的方法,比如经典的VSM模型。然而这些方法往往基于一个基
本假设:文档之间重复的词语越多越可能相似。这一点在实际中并不尽然。很多时候相关程度取决于背后的语义联系,而非表
面的词语重复。

那么,这种语义关系应该怎样度量呢?事实上在自然语言处理领域里已经有了很多从词、词组、句子、篇章角度进行衡量的方
法。本文要介绍的是其中一个语义挖掘的利器: 主题模型 。

主题模型是什么?
主题模型,顾名思义,就是对文字中隐含主题的一种建模方法。还是上面的例子,“苹果”这个词的背后既包含是苹果公司这样
一个主题,也包括了水果的主题。当我们和第一句进行比较时,苹果公司这个主题就和“乔布斯”所代表的主题匹配上了,因而
我们认为它们是相关的。

在这里,我们先定义一下主题究竟是什么。主题就是一个概念、一个方面。它表现为一系列相关的词语。比如一个文章如果涉
及到“百度”这个主题,那么“中文搜索”、“李彦宏”等词语就会以较高的频率出现,而如果涉及到“IBM”这个主题,那么“笔记
本”等就会出现的很频繁。如果用数学来描述一下的话, 主题就是词汇表上词语的条件概率分布 。与主题关系越密切的词
语,它的条件概率越大,反之则越小。

例如:

通俗来说,一个主题就好像一个“桶”,它装了若干出现概率较高的词语。这些词语和这个主题有很强的相关性,或者说,正是
这些词语共同定义了这个主题。对于一段话来说,有些词语可以出自这个“桶”,有些可能来自那个“桶”,一段文本往往是若干
个主题的杂合体。我们举个简单的例子,见下图。
以上是从互联网新闻中摘抄下来的一段话。我们划分了4个桶(主题),百度(红色),微软(紫色)、谷歌(蓝色)和市场
(绿色)。段落中所包含的每个主题的词语用颜色标识出来了。从颜色分布上我们就可以看出,文字的大意是在讲百度和市场
发展。在这里面,谷歌、微软这两个主题也出现了,但不是主要语义。值得注意的是,像“搜索引擎”这样的词语,在百度、微
软、谷歌这三个主题上都是很可能出现的,可以认为一个词语放进了多个“桶”。当它在文字中出现的时候,这三个主题均有一
定程度的体现。

有了主题的概念,我们不禁要问,究竟如何得到这些主题呢?对文章中的主题又是如何进行分析呢?这正是主题模型要解决的
问题。下面我简要介绍一下主题模型是怎样工作的。

主题模型的工作原理
首先,我们用生成模型的视角来看文档和主题这两件事。所谓 生成模型 ,就是说,我们认为一篇文章的每个词都是通过“ 以
一定概率选择了某个主题,并从这个主题中以一定概率选择某个词语 ”这样一个过程得到的。那么,如果我们要生成一篇
文档,它里面的每个词语出现的概率为:

上面这个式子,可以矩阵乘法来表示,如下图所示:

左边的

矩阵表示每篇文章中每次词语出现的概率;中间的Φ矩阵表示的是每个主题中每个词语出现的概率

,也就是每个“桶

表示的是每篇文档中各个主题出现的概率
,可以理解为一段话中每个主题所占的比例。

假如我们有很多的文档,比如大量的网页,我们先对所有文档进行分词,得到一个词汇列表。这样每篇文档就可以表示为一个
词语的集合。对于每个词语,我们可以用它在文档中出现的次数除以文档中词语的数目作为它在文档中出现的概率

。这样,对任意一篇文档,左边的

矩阵是已知的,右边的两个矩阵未知。而 主题模型就是用大量已知的 “词语-文档 ”

矩阵 ,通过一系列的训练,推理出右边的 “词语-主题 ”矩阵 Φ 和 “主题文档 ”矩阵 Θ 。

主题模型训练推理的方法主要有两种,一个是pLSA(Probabilistic Latent Semantic Analysis),另一个是LDA(Latent Dirichlet


Allocation)。pLSA主要使用的是EM(期望最大化)算法;LDA采用的是Gibbs sampling方法。由于它们都较为复杂且篇幅有
限,这里就只简要地介绍一下pLSA的思想,其他具体方法和公式,读者可以查阅相关资料。

pLSA采用的方法叫做EM(期望最大化)算法,它包含两个不断迭代的过程:E(期望)过程和M(最大化)过程。用一个形
象的例子来说吧:比如说食堂的大师傅炒了一盘菜,要等分成两份给两个人吃,显然没有必要拿天平去一点点去精确称量,最
简单的办法是先随意的把菜分到两个碗中,然后观察是否一样多,把比较多的那一份取出一点放到另一个碗中,这个过程一直
重复下去,直到大家看不出两个碗里的菜有什么差别为止。

对于主题模型训练来说,“计算每个主题里的词语分布”和“计算训练文档中的主题分布”就好比是在往两个人碗里分饭。在E过
程中,我们通过贝叶斯公式可以由“词语-主题”矩阵计算出“主题-文档”矩阵。在M过程中,我们再用“主题-文档”矩阵重新
计算“词语-主题”矩阵。这个过程一直这样迭代下去。 EM算法的神奇之处就在于它可以保证这个迭代过程是收敛的 。也
就是说,我们在反复迭代之后,就一定可以得到趋向于真实值的 Φ和 Θ。

如何使用主题模型?
有了主题模型,我们该怎么使用它呢?它有什么优点呢?我总结了以下几点:

1) 它可以衡量文档之间的语义相似性。对于一篇文档,我们求出来的主题分布可以看作是对它的一个抽象表示。对于概率分
布,我们可以通过一些距离公式(比如KL距离)来计算出两篇文档的语义距离,从而得到它们之间的相似度。

2)它可以解决多义词的问题。回想最开始的例子,“苹果”可能是水果,也可能指苹果公司。通过我们求出来的“词语-主题”概
率分布,我们就可以知道“苹果”都属于哪些主题,就可以通过主题的匹配来计算它与其他文字之间的相似度。
3) 它可以排除文档中噪音的影响。一般来说,文档中的噪音往往处于次要主题中,我们可以把它们忽略掉,只保持文档中最
主要的主题。
4) 它是无监督的,完全自动化的。我们只需要提供训练文档,它就可以自动训练出各种概率,无需任何人工标注过程。
5) 它是跟语言无关的。任何语言只要能够对它进行分词,就可以进行训练,得到它的主题分布。
综上所述,主题模型是一个能够挖掘语言背后隐含信息的利器。近些年来各大搜索引擎公司都已经开始重视这方面的研发工
作。语义分析的技术正在逐步深入到搜索领域的各个产品中去。在不久的将来,我们的搜索将会变得更加智能,让我们拭目以
待吧。

原文来源:百度搜索研发部博客
百度搜索研发部:基于主特征空间相似度计算的切分算法及切
分框架
摘要: 本文从切分的需求、作用、难点等方面谈起,介绍分析了目前主流的各种切分方法以及其优缺点,并介绍了一个新型的无监
督切分方法,并在此基础上对切分在工程需求上进行了相应的分析和讨论,在最后在此算法基础上给出一个融合各种优点的切分
框架。

关键词: 中文分词, Query Segmentation,无监督

技术领域: 自然语言处理

我们为什么要切分?

说到切分(segmentation),大多数人最容易想到的就是中文分词。作为没有天然空格区分的语言,切词可以帮助计算机去索引文章,
从而便于信息检索等方面。该部分主要用到了分词的一个方面:降低搜索引擎的性能消耗。我们常用的汉字有5000多个,常用词
组是几十万个。在倒排索引中,如果用每个字做索引的话,那么会造成每个字对应的拉链非常长。所以我们一般会用词组来代替
单个汉字建立索引。除此,切词更重要的一个功能是帮助计算机理解文字,在这个层次上,切词是不分语言的,任何一个语言,
涉及到计算机去“理解”的时候,首先要做的,就是先去切分并在一定程度上消除歧义。这是因为,我们知道计算机本身擅长做的
工作就是匹配计算。假设我们可以把每个字词都指向一个语义,当输入一个句子的时候,每个字对应语义的累加要弱于词组语义
的累加(因为单独用字语义累加的时候,有个潜在的假设是字和字之间是独立的),现在引入切分目的就是勾勒出字与字之间的关
系,从而让计算机更好的理解。

切分的难点在哪里?
简单的讲,评价切分效果可以从三个层次来判定:切分边界,切分片段,整个句子切分结果是否正确。切分边界是指:相邻的
token(在中文切分中token可以认为是汉字,在英文中可以认为是单词)之间是否应该被切开;句子级别是指,整个句子的切分结果
是不是完全准确。切分片段是介于二者之间一种评估策略: 1. 切分结果片段中是否召回了需要切出的片段(recall); 2. 切分的结果中
是否有错误的切分结果(precision)。下面我们从切分算法两个重要的考量标准来阐述切分的难点,即新词识别和歧义性的处理。

新词:切分算法在召回方向上的难题主要为歧义现象和新词的出现。如果一个切分算法无法识别新词从而导致其未召回,最后会
影响计算机对该切分句子的理解。前面我们有讲,字到词的过程可以让计算机“假装”理解这个词的意思。比如最近的一个人名新
词“位菊月”,如果被切分算法切散后,计算机很难理解这个片段的含义,从而导致在诸如机器翻译等应用中无法准确进行处理。

歧义性:切分算法要求解决切分片段歧义性,切分结果合理。汉字作为表示中文信息的载体,假设每个字/词表示的信息有个上限,
假设每种语言总体的信息量接近,由于常用字数有限,这些汉字之间就要有较多的组合形式来成词并表达不同的语义。如果一个
汉字可以同时作为2个词的部分,当这2个词按序出现时,就潜在包含了歧义。目前歧义主要分为2种:交叉型歧义,即相邻歧义片
段之间有若干token重复,比如“长春市长春药店”,“长春市”与“市长”“长春”与“春药”都是交叉型歧义片段。该歧义现象存在于任何
语言的切分过程,比如针对英文,“new york times square”中的”new york times” 和”times square”;还有一种歧义为覆盖型歧义,即token
序列在不同语义下需要拆分开或合并在一起,比如“他马上就来”和“他从马上下来”,对后者来讲,切分为“马上”时则导致“从马背
上”的意思被“立刻的”意思所覆盖。

除此,切分算法在应用中还要具备不错的性能,在引入统计学习算法时,还要考虑人力在标注语料上面的成本。随着时间的发
展,语言也会进行相应的变化,只是在不同的领域会按照不同的速度演变着。因此,切分算法同样需要与时俱进的优化。比如添
加更多的词进入词典,更新重建语言模型(Language Model), 对于某些基于判别式(Discriminative model)切分的方法,比如CRFs,需要
不定期更新人工标注语料来使得切分算法适应处理当前语料等等。

切分算法作为一个基础的研究方向一直是很多科研人员努力奋斗方向,并产生出大量优秀的算法。在下面的章节中,我们简单的
介绍一些主流的、在工程中有着一定应用的切分 方法 。

切分的主流方法简介
在介绍我们的切分方法之前,我们先从2个方面来简单介绍现有主流切分算法:即基于规则的切分方法和一些统计切分模型。

1.基于规则的切分方法。
基于规则的的切分方法主要表现为基于词典匹配,如:正向最大匹配(Forward Maximum Matching, FMM),逆向最大匹配,最少切分
(使每一句中切出的词数最小)等等。

以正向最大匹配为例,其基本思想是:对于待处理文本,从左到右尽量匹配词典中的最长词,匹配到的词即该处理文本的一个切
分片段。假设词典中有{百度,百度公司,中文,切分,算法}5个词,则句子“百度公司的中文分词算法”的正确切分结果为“百度公
司|的|中文|分词|算法”。

基于规则匹配的切分算法,缺点主要有2点:(1).无法很好的解决切分歧义问题。上述提到的三种方法都是从不同的角度尝试去解
决歧义问题,但是它们对于歧义消除的效果不显著,特别当词典词增多的时候,词与词之间交叉现象加剧,该方法的歧义处理能
力就会相应的减弱。(2).该方法无法识别新词。在该方法下,线下挖掘大量的新词加入词典的收益和整体效果并非线性关系,词典
膨胀的同时,切分的歧义现象会更加严重。

由于该方法简单快捷,因此针对上述缺点也有一些工作是将统计方法用在FMM上,该类方法主要运用贝叶斯模型(Naïve Bayes)、
互信息(Mutual Information)以及t-test chi-2等检验手段对有切分歧义的相邻片段进行消岐。这方面可以参考“基于无指导学习策略的无
词表条件下的汉语自动分词”等文献。

2.统计切分模型
统计切分算法主要利用语言模型、标注数据等资源,根据切分假设建立模型并利用其对应的资源进行模型参数优化,借助模型代
替规则完成切分。

2.1 基于语言模型、 Markov链的切分方法


对于一个待处理的句子

其每个处理的token(t_i,在中文分词中可以认为是汉字,在英文中可以认为是单词等)构成一个观察序列,各种可能的切分片段即为
隐含的状态。该方法的目的即为观察序列找一个最有可能发生的隐含状态序列

其中每个状态status(s_i)即为词典词。整个切分过程即为了寻找一个可行的切分结果

利用markov假设,使得达到maximum likelihood:

如果有了词典词的各种概率分布(可以通过利用语言模型进行极大似然估计,利用EM算法进行参数优化等得到),根据viterbi解
码算法,很容易就得到了切分结果。随着语言模型的广泛应用,以及各种learning算法的发展,该方法也具有广泛的应用场景。深
入阅读的可以参考以下两篇文章:《Self-supervised Chinese word segmentation》,《unsupervised query segmentation using generative
language models and wikipedia》。
现在说说该方法的不足:1. 在计算序列

的概率时,我们依据markov假设,即:当前状态仅仅和前面一个状态相关。而在我们实际应用中,当前的状态可以和前面状态有
关系,也可以和前面的前面状态有关系,也可以不和前面的状态有关系等等(这里面的是否有关系是在一定阀值条件下说的)。2.
在估算词典词之间的概率分布时,EM作为一个常用的算法也有自身的不足。

2.2. 条件随机场模型 (Conditional Random Fields )


CRFs是一个无向图模型,它的目标是寻在在条件概率最大情况下的一种组合[Conditional Random Fields: Probabilistic Models for
Segmenting and Labeling Sequence Data.]。在NLP技术领域中主要用于文本标注,应用场景主要为:分词(标注字的词位信息,由字
构词),词性标注(Pos-Tagging,标注分词的词性,例如:名词,动词,助词),命名实体识别(Named Entities Recognition,识别人
名,地名,机构名,商品名等具有一定内在规律的实体名词)。

它把切分的过程看作一个标注的过程,即对一个观察序列中的token进行标注,比如标记为4中状态:词首(Begin), 词中间部分
(Middle),词尾(End)和单独存在(Single)。对于一个输入序列

其标注序列为

在输入序列下的条件概率:
其中Z为归一化函数,它等于所有可行标注序列条件概率的总和。

为特征函数(feature function),

是其对应的权重。该特征函数用来在观察序列T下,当前计算阶段i下状态序列

的情况。我们的目标是找到一个标注序列,使得上式达到最大值:
如果我们有了可以用于计算的各种概率分布,利用viterbi算法,不难获得该序列的标注情况。再根据每个token的标注状态(BMES)
来进行切分。具体可以阅读这篇文章《Chinese Segmentation and New Word Detection using Conditional Random Fields》。

CRFs模型中文分词在一些封闭测试的语料中达到了非常可观的准确率,在工业应用中,效果也是可圈可点。同时在中文分词
中,CRF分词是基于汉字的构词法进行,它可以有效地识别具有结构特征的新词,而不在乎这个“新词”是否在互联网中出现过。
CRF在分词里面有2个明显的不足:性能和代价。性能是在解码阶段需要耗费大量的计算量,代价是指,作为有监督学习,CRF模
型的训练需要大量的标注语料,同时,互联网语料急剧增长和变化,CRF模型的更新也需要较多的人力。在后续我们会讨论如何
有效地将CRF模型融入工业化切分应用中以及如何引入语言模型来更新统计切分模型。

除此,CRF模型在中文分词上取得不错的成绩,能否直接移植到其它语言呢?语言特征和training语料间有怎样的关系时整个切分算
法才能出色的运行?有兴趣的读者可以思考这个问题。
在该节中,我们主要介绍了各种切分模型的原理,分析了他们的应用场景。在下面一节中,我们介绍一种新型的算法,它利用语
言模型进行切分,它的假设是:如果两个词应该切分在一起,那么这两个词,在一定的条件下分布是接近的。
基于统计语言模型的无监督切分
在本节中,我们会介绍一种新型的无监督切分算法(Query Segmentation Based on Eigenspace Similarity),相对于基于HMM(隐马尔可
夫模型,Hidden Markov Model,方法备注)的方法来讲,他充分考虑了切分片段整体信息,并且在后面的章节中,我们会介绍该
方法有很好的拓展性,从各个角度来讲都符合我们在最初提出的切分难点的解决。

在介绍具体算法之前,我们说说该算法的假设。对于A B两个token,他们可以切分在一起就说明他俩在一定条件下紧挨着出现,
换句话说,在一定条件下(即整个待切分句子的上下文环境),他俩的数据分布是比较相似的,如果我们可以获得其数据分布
(vector),再计算这两个vector之间的相似度,就可以决定这两个token是否应该合并在一起。这个方法听起来似乎和互信息(Mutual
Information)有点像,但是互信息并没有考虑我们前面说的一定条件下,不过也有一些工作针对MI这点引入了cosine of point-wise
mutual information。即便考虑了上下文信息,还有个问题比较棘手:判断两个token是否应该合并在一起的阀值应该是多少?在有些
工作中[Generating query substitutions],这个阀值被经验地设置为一个定值,事实上,这样做可能是不大合理的。在各种各种下,我
们构建了这样一个切分的上下文环境,并且巧妙地把统计特征投影到其主特征空间(principal eigenspace,在线性代数中,特征空间
是由一个矩阵的所有特征向量张成的空间,主特征空间是有该矩阵的主要特征向量张成的空间。相比较特征空间,主特征空间可
以覆盖特征空间大部分信息,并且可以辅助相关应用进行有效的降维、除噪和数据变换等),计算相似度,配合主特征空间的维度
进行切分。

1.算法流程:
我们以一个例子来讲述该算法是如何工作的,有兴趣的读者可以阅读该文[Query Segmentation Based on Eigenspace Similarity]。

2.算法分析:
该算法一个核心的要点为主特征空间维度k的确定。换个角度讲,对于给定一个待处理串,如果事先知道切分的片段数,利用一些
简单的统计策略如MI已经可以较好的做切分。

关于参数k的确定,论文中给出一种简单的判断方法。这方面也有相关的一些研究方法,有兴趣可以深入阅读谱聚类(spectral
clustering)以及Principal Component Analysis, Springer (2002)一书中的第六章” Choosing a Subset of Principal Components or Variables”。
该切分算法根据数据分布入手,由切分片段特征展开假设,通过基本token在一定相关语义下统计分布而进行切分。相对基于
EM/HMM等模型的无监督切分算法,该方法一个明显的优点是充分考虑了整个切分片段的信息,而不是相邻token之间的统计量;
同时,该方法通过空间变换等手段,有效的进行数据除燥等策略,从而是数据分布更趋于真实情况。

同CRF等有监督学习相比,该方法的输入为ngram语言模型,不需人工标注数据 ,同时本方法可以识别新词,这在互联网应用中极
具优势。同时针对不同语言不通领域,我们只要提供足够可靠的语言模型就可以在很大程度上解决他们的切分需求。

当然本方法(or无监督切分方法)在切分的准确率上和基于有监督的模型相比仍有差距,我们在下节会阐述这个问题,并给出一个我
们勾画的切分体系。
如何打造一个好的切分框架?
简单的说:1. 词典是需要的,并且有有效的手段源源不断的更新词典词,在不同的应用需求下,这些词典词在切分体系中的位置
和作用可能不一样。2. 强大的语言模型是需要的。原因是:如果A B两个token应该切分在一起,那么“AB”这个组合就应该在互联
网中大量出现。3. 人工标注的数据也是必要的,这是因为,切分作为人们对句子一个主观的认识,这个和数据在语料中的分布不
是完全一致的。

先说说有监督和无监督两种方法的差异。如果无监督的效果可以赶得上有监督的方法,那么有监督方法就可以彻底和分词说拜拜
了。那么无监督方法切分效果瓶颈来源于哪里呢?这里用一个例子来解释。很多用户在在遇到不认识的字时候,会通过如下手段
去搜索学习,query“**头上加一??”,如“旦头上加一横是什么字”等等,由于无监督学习是根据数据的分布出发,在这样的case中“头
上加一”或者“加一”就会被切分出来。事实上,这种切分方式和人们的认识是不一样的。这是一个极端的例子,数据分布和人们主
观认识不一致有很多因素。

我们在使用有监督的方法解决问题是,主要着眼点在考虑local consistency,也就是说,所有的工作是基于已经标注的数据进行开
展,标注语料决定了最后的算法效果;而无监督方法更多的是从全局的数据分布(global consistency)来看,如果某个需求下数据具备
全局的结构特征,则无监督模型也可以很好的对其进行解决。

那么在这里我们就有个设想,引入部分的标注数据来改变数据的原始分布,最后优化切分效果。半监督学习(semi-supervised
learning)的引入即可以在很大程度上提升无监督切分的效果。我们之所以引入介绍无监督切分算法,是因为该方法可以和现有的半
监督学习算法相结合。

结合上面所说的,描述一下我认为一个好的切分体系应该是什么样子。

1.我们需要词典。词典的来源有很多,比如专名挖掘(NE mining), 词组挖掘(Phrase Extraction)。同时我们还要有个模块对这些资源进


行不同程度的加工,最后提供一个词典给正向最大匹配(FMM)切分使用。我们会在后续的章节中,介绍新词挖掘,资源抽取等技
术。

2.我们之所以使用FMM是因为本算法可以完美地处理很多待处理语句。只有在FMM无法解决的时候,我们才会引入统计切分算
法。这个时候,我们需要一个trigger来负责这件事,就如上图中的Ambiguity Detection模块。这个模块可以把一个句子分成2种形式,
可以通过FMM处理的简单句,需要统计模型处理的复杂句。对于复杂句采用统计切分,最后把二者结果merge起来。

3.统计模型的方法有很多,在这里自然要推荐文中所述的模型。该模块输入为ngram语言模型。统计切分算法的优化过程是引入标
注数据来改变ngram中token之间的分布。在这里,我们推荐使用metric learning的方法,直接对frequencies matrix进行改动。切分的bad
case也可以通过标注数据来修复。
在这种体系下,我们很好地解决了切分过程中存在的一致性、歧义处理、新词、可持续提升、可扩展性、性能等因素。

切分作为自然语言处理中一个最底层的工作,有大量的学者在这方面进行不断的研究。在中文分词方面,清华大学的自然语言处
理同学收集了这方面的论文: http:// nlp.csai.tsinghua.edu.cn /~zkx/cws/bib.html ,有兴趣的读者可以根据需要进行相应的扩展阅读。

百度自然语言处理在中文分词上做了相当多的工作,在后续,我们会从切词中遇到的技术和资源进行展开讨论。

来源: 百度搜索研发部官方博客 作者:Super.Jiju


百度搜索研发部:检索结果聚类展望
摘要

检索结果聚类,可以有效地反映出特定Query下,检索结果内容的分布,可以清晰地描述出结果中的各个类别,对Query结果的展
示方式亦不再是传统1页若干条结果的流式输送,而是采用展现核心词或代表词的方式,简明扼要地从不同维度提示核心信息,
免去用户重新构造Query再搜索或在大量检索结果中寻找、定位所需内容的过程。

关键词:搜索引擎,搜索结果,聚类

我们首先来看一个例子:对于Query“苹果”,在Google( http://www. google.com.hk )的检索结果第一页中,包含了以下若干内容:


苹果公司的首页(繁简各1个)、苹果手机及相关产品(3个)、苹果公司的新闻(2个),其它苹果公司的相关网站(股票、企
业档案、论坛等,4个)。11条结果中,都是与苹果(公司)紧密相关的内容,或者是苹果公司本身的一些信息(如股票、员工
中毒等新闻),或者是苹果公司的相关新产品(Iphone、Ipad等),但无论从哪个角度上描述,都没有能跳出苹果公司的范围。
由于苹果公司的大量用户需求,使得苹果公司独占Google首页检索结果。

图1 Google中苹果检索结果分布

对于苹果这样一个有多重含义的Query,大多数用户的大多数需求均是对于苹果公司周边的需求,如苹果的产品、新闻等,对
Google中苹果前20页结果进行了下简单的统计,如图1所示:(1)苹果公司的相关内容为130条,除第一页的内容外,还包含乔布
斯、APP、越狱等,(2)苹果种植,17条结果包括了栽培、交易、市场行情等,(3)健康相关话题12条结果,包括了苹果营养
价值、减肥等,(4)台湾苹果日报9条结果,(5)各式百科9条结果,(6)图片、视频应用4条结果,(7)其它有关教育、家
居、基金等共19条结果。可以明显看出至少还有三类用户,分别是苹果栽培、苹果养生、台湾苹果日报的受众。但由于搜索引擎
展现的问题导致这些需求被淹没了。

检索结果聚类则期望通过对检索结果的类聚,将相关内容聚合成一类,对每一类别提取出代表性标签,用于用户引导,达到区分
不同人群不同需求的问题。可以认为在原有的流式结果基础上增加资源导航功能,引导用户更快速地定位自己的所需资源。类似
于Google检索页面中的Search Tools,只不过生成的标签集是根据Query动态生成的,向用户展示资源引导,如图2所示(理想结
果)
图2 “苹果”的理想聚类结果

但检索结果聚类能做的事远不止只这些,它能够呈现一个资源维度的立体层次结构。如图-3所示,这一体系充分揭示了检索结果
中数据的分布情况,能够从不同层面描绘每一个可能的具体需求,如都是对苹果的需求,有的人关注的是Iphone、Ipad,有的人
则更关注乔帮主,相信找越狱方法的也大有人在,而果农的需求及少数健康人士对苹果营养学的探索也可得到满足。

检索结果聚类在对用户引导方面有自己的优势。目前大多数用户引导是通过分析用户行为数据而获得的,这种方式能够充分反映
用户的需求,即用户想要什么。但还有一个问题,就是网页中包含什么,用户的需求是否一定在网页中找得到恰当的或足够的内
容进行满足。也就是说检索结果聚类是需求满足的过程,只有当用户的需求与资源中包含的内容相匹配时,用户才能获得满意的
结果。

以韩寒为例,如图-4所示,用户需求可能为(百度某日“相关搜素”结果)博客,方舟子,微博,身高,马英九,老婆等,而资源
中表现的数据为,博客,方舟子,微博,郭敬明,语录,代笔门等,从图中可以看出,用户需求与资源中都包含与韩寒紧密相关
的博客、微博、方舟子,说明资源与需求能够良好地匹配;单从用户需求方面看,对于热点、隐私、八卦等内容更感兴趣,受突
发事件影响较大,这也正反映出用户群体的猎奇、围观心理,而资源则更加稳定,从韩寒早期齐名的“郭敬明”到较新的“代笔
门”均有所体现,相对于用户需求而言更强调与韩寒相关的数据资源有哪些,这些资源更加客观更加稳定。
以上内容一直有一个隐含假设,就是检索结果与用户Query具有相关性,针对每一Query的特定结果集进行聚类,可对Query本身起
到消歧、扩展的作用,而从数据维度上与用户需求相关但却描述了资源维度的所具有的内容,因而可协助用户更快地定位有用数
据,引导用户行为。

检索结果聚类目前应用的并不多,但资源维度的数据能够真实反映数据的分布,对弥补、验证需求维度的信息有益无害,对于即
时检索信息的挖掘、临时知识体系的构建均有较大帮助。目前技术还不太成熟,在诸多领域还大有可为,欢迎大家发表意见共同
探讨。

文章来源:百度搜索研发部博客 by hanzhonghua
百度搜索研发部:同义词反馈机制
1. 介绍

由于搜索算法本身的局限性,对于用户的语义、意图等理解不够,而基于用户行为的点击调权,作为对传统搜索算法的补充,
在搜索中扮演着重要的作用。尽管用户行为已经被证明在搜索中的效果,但是一直只是停留在query-url层面,或者ngram-url层
面[1],没有深入反馈到检索算法中的基础策略,比如:同义词、紧密度、省略等,这些策略影响了url与query之间的关系。本
文以对同义词的反馈为例,提出一个通用的基于用户行为的基础策略反馈框架。
由于同义词词典与线上应用算法的限制,检索系统中存在部分质量不好、或者本来质量好但是应用时错误降低了权值的同义
词。在同义词召回出来结果后,呈现在用户面前,用户的行为数据可以帮助我们识别同义词的好坏。在计算出同义词的好坏
后,就可以直接应用于同义词的退场或者调整应用的权值。
2. 反馈框架

在进行反馈机制的挖掘中,主要分为三部分:
1) 日志记录。主要进行基础策略用户行为的记录、以及query-url对进行用户行为数据的统计,解决如何利用用户行为衡量query-
url转义问题。这部分还要记录影响具体query-url的策略,比如,这个url是哪个同义词所召回,或者是哪个term被省略。
2) 反馈机制挖掘。根据query-url中统计的基础策略的用户行为数据,进行基础策略的统计。这个地方不同的基础策略的衡量方
式可以保持相同,但是基础策略提取的信息不一样。比如同义词是替换对,省略是指省略的term等。
3) 线上反馈应用。将第二步挖掘的词典,应用于具体的query,比如进行上下文的匹配,以及一些应用策略。
以上的框架比较笼统,下面针对同义词的反馈做具体的讨论。
3. 日志记录及统计

这部分首先需要记录具体的策略,比如在这个query下,每条url是由哪个基础策略所影响的,而且需要更加具体。比如同义词
需要记录由那些具体的同义词所召回。因为往往一个query有很多同义词,但是真正每条url只是其中1到2个同义词影响的。
衡量query-url是否转义是非常关键的步骤,本文主要篇幅是讨论这个。衡量的方法需要借助用户的行为。在搜索引擎的日志系
统中,对query-url有如下的用户行为统计量:(下面的讨论中,url的统计都是和query相关的,不再特殊说明)
展现次数:用户搜索后,搜索引擎返回的url在前k条展现的次数(display)
点击次数:用户点击url次数(click)
满意点击次数:考虑是否满足用户的需求的点击(相对停留时间,是否是最后点击) (satisfy)
因此我们可以用click/disply、satisfy/display来衡量url的好坏。但有如下问题:
1.位置偏置问题:点击次数对位置非常敏感,搜索结果中, url的点击次数随着url的排序位置越靠后,其点击次数越少,而且越
后面减少得越快。因此位置在前的url,虽然转义了,但也有很多用户点击;反之,位置在后的url,虽然满足用户需求了,但也
很少有用户点击。这样很容易让我们的反馈系统失效。
2.在搜索引擎中,用户对搜索结果的满意大致可以分为两个层次:1) 检索出来的url的标题和摘要是否和用户的query的意图一
致。2) url内容的质量是否满足用户的需求,比如是否死链、知道页面没有人回答、作弊页面等。我们的目标是识别出转义的替
换词对,这些只和第1个层次的满意相关。我们可以假设用户既然点击了这个url,说明这个url的title摘要是没有转义的,至于网
页的质量不是同义词本身的质量所能影响的。
为了解决问题1,可以从这一角度考虑。排在后面的url点击次数少的原因是用户看到的次数少,因此不能用展现来与click做比
值,可以利用一些方法来估计用户看到的次数,我们称之为检查次数(check)。这里有一些很简单的方法。比如对于每次用户的
搜索,用户最后点击的url位置为p,那么位置在p之前url检查次数是1,在p之后的url的检查次数依次以一个概率衰减。这些概率
可以采用一些贝叶斯的方法进行学习。[2]
采用检查次数可以部分解决位置偏置问题,但是学习到的衰减参数是对所有的query-url,但不同的query-url有很大的差别,这也
是该方法的不足之处。
4. 反馈挖掘和应用

4.1 反馈挖掘

基于第3章中日志记录的工作,可以采用click次数用来表示url满足query的次数,而check-click表示url不满足query的次数。这样用
click/(check-click)这个值来表示url满足query程度。对于具体的同义词反馈任务,可以把多条query-url结果中记录的同样的同义词
替换进行统计click和check次数(即统计的key是 原词 替换词 二元组),把最后得到的click/(check-click)作为衡量这个同义词替换的
相似度,即同义词的反馈替换相似度:

这个地方还有一大问题是,由于很多同义词是上下文相关的,比如:考虑一对同义词 看->治疗,在某些上下文下,比如: 哪
里看病比较好 ,是同义的;而在某些上下文下,比如: 哪里看还珠格格连播 。因此为了更智能的在不同的上下文进行同义
词的反馈,需要在统计的时候考虑上下文,即统计的key为:原词 上下文 替换词 三元组。

但是不能把整个query作为上下文,这样统计会有很大的数据稀疏性,而如果随便把单个词作为上下文,会有很大的准确率问
题。比如 哪里 对 看 ->治疗 以及 看 ->观看 都是支持的。因此为了兼顾上下文数据的稀疏以及准确问题,需要一个上下文选择
算法。在自然语言处理中通常采用似然比的方法(llr, likelihood ratio)[3],用来衡量orig与context的搭配强度,从而搭配强度越
强,这个context词可以认为是orig词的替换上下文。其计算方法为:

其中a表示orig,context共现次数;b表示orig出现,context不出现的次数;c表示orig不出现,context出现的次数;d表示oirg和context
都不出现的次数。N=a+b+c+d表示总共的样本数,那么llr的计算公式为:

4.2 反馈应用

反馈机制应用时,是针对每一个替换进行独立的判断,即已知替换对(orig sub),需要先进行上下文的选取。上下文相关的同
义词,本质上来说被替换词是一个多义词,对于大部分query来说,只用一个上下文词就可以限定被替换词的意义。因此从简
单的角度考虑,以及多个词的上下文融合所带来的噪音以及融合方式的问题,反馈机制应用时只选择一个在一定上下文窗口内
的词语。
最后计算所选择的上下文,利用4.1节中训练的数据,作为替换的反馈相似度,即sim(orig,contex,sub)。利用这个值作为同义词的
置信度应用于线上:或退场,或降权,或升权。
5. 总结和展望

在检索系统中,对基础策略做基于用户行为的反馈是一个比较新的方向,对于改进基础数据具有非常重要的意义。本文根据对
用户行为的深入调研,探讨了一些方法和指标。
从总体上来说,本框架的相当于做了两个假设:用户行为与相关性的关系正相关,url相关性与基础策略正确性正相关。
第一个假设涉及到基础统计特征的调研思考角度。点击检查是体现这些关系的特征之一,另外还可以考虑更多的特征,比如:
满意点击,点击的url条目。还有飘红对点击的影响,用户的作弊识别等干扰基础特征的统计。这一点不同的基础策略是可以统
一的
第二个假设涉及到基础策略以什么形式来表示这些基础的统计特征。这个是和基础的策略紧密相关。比如同义词选择上下文的
方法,以及上下文的位置,多个上下文,或者不需要上下文的替换对识别等。另外还需关注基础策略的应用问题,比如同义词
不转义,url转义的问题,这对基础策略的识别会产生误导。
从机器学习的角度上,该方法主要从生成模型的角度出发,因此模型的各个步骤解释性很强,但是无法利用更多的特征,可以
挖掘更多的特征并采用机器学习的方法来利用这些特征。
6. 参考文献
[1] Huihsin T, Longbin C, Fan Li etc. 2009. Mining Search Engine Clickthrough Log for Matching N-gram Features . Proceedings of the 2009
Conference on EMNLP, 524-533.
[2] Ricardo Baeza-Yates, Carlos Hurtado,etc. Modeling User Search Behavior. In LA-WEB 05
[3] Christopher D. Manning, Hinrich Schutze. Foundations of Statistical Natural Language Processing. The MIT Press. 172-175
文章来源:百度搜索研发部博客

You might also like