搜索日志

2024-09-04

搜索日志(精选4篇)

搜索日志 篇1

0 引言

从Internet上获取信息,已经成为人们重要的工作和生活内容之一,搜索引擎不可替代地成为人们工作和生活的重要工具。由于人们在对搜索内容的描述时会有很大的差别,并且在提交查询条件时,条件的设置并不够精准,甚至只是试探性地搜索。用户在第一次搜索结果展现后,在得不到满意情况下,会继续修正他的查询条件。

对某集团用于公众使用开放的搜索引擎监测结果表明,使用两个词组作为检索条件的用户有33% ,只使用单一词组作为检索条件的有49% ,用户平均使用的检索词组为1. 4,这大大制约了关键词的向量空间模型在传统检索中发挥的作用。解决这类问题常用的办法是查询扩展[1],人为地为用户检索条件增加查询词。

这在为用户带来更好的检索体验同时,也带来了新的问题,即无关检索结果的出现,以及在用户试探性检索时,检索结果与用户预期结果偏差更大。这种自动修正的算法无法达到更好的效果。而用户自发对检索条件的修正,为我们更好的理解用户检索目的,提供了难得的解决问题的方法。

本文是在挖掘用户日志的基础上,受马尔科夫链启发,通过对数据的分析,设计出基于用户日志的相关检索统计模型方法。传统关键词的向量空间间模模型型和和查查询询扩扩展展的的优优化化不不可可被被替替代代,,所所以以““相相关关搜索”推荐在搜索引擎中开辟了一个独立的功能展示。

1 相关工作

相关搜索是为了给用户原始查询Query提供一连串有意义的相关查询 { Q1,Q2,…} ,可以是对Query的局部修正,也可以是对Query整个替换。但结果都能为用户提供更好的检索条件。通常的实现方法主要分为两类。它们分别是基于文档的方法和基于用户日志的方法。

基于文档的处理方法包括全局文档相关反馈、部分文档集分析反馈、隐形语义索引( Latent Semantic Index) 、分析人工编辑语料( 如词典,百科等)[2]。这些方法基本可以处理各种检索,只要能够发现相关的文档,但是找出相关的文档本身就是一个问题,会产生错误的引导,更加降低准确度。而分析人工编辑语料可以比较准确的找到相关查询词或者短语,但对新颖尚未编辑收录的数据难以达到效果,而用户对新词的检索会占据很大的比例。

对于基于文档的处理方法,如何构造合理的扩展集合又是一个问题[3]。而搜索引擎使用过程中积累的用户日志,包含了大量用户自修饰的完整检索,在很多数据之间存在着强关联,这种关联是我们最希望挖掘和借用的。这种强关联可以透过独立数据之间的属性特征被人们发现和建立。这些属性主要是检索间共有的特征,包括: 同一用户的检索行为、日志中不同查询间的文本相似度、强关联出现的频率以及和时间分布的相关性、检索共有的相同或相似的点击URL。对于形成相关搜索借用属性条件的不同,可以将它们分为: 基于Session的方法,基于点击URL的方法和基于检索内容的方法,在这些方法中出现了一些不错的算法包括IR模型、数据挖掘方法、基于查询—点击URL二分图的图算法等,本文是研究基于Session的方法,面向某集团专业搜索引擎业务实现相关搜索。

2 基于用户日志的相关搜索模型

2. 1 基本思想

搜索引擎查询日志中的session是指某一用户为了检索到某个信息,而在一段时间内采取的连续搜索行为{ Q1,Q2,Q3,…} 。在以往平台使用的相关搜索中,因为考虑到用户使用的检索条件多为关键字的形式( 这里将查询条件中,一个查询词组或者查询字定义为一个关键字) ,所以仍然使用的方式是关键字和文本信息相匹配的方法[4]。

本文的背景是研究合适某集团业务使用的设计计实实现现,,该该套套系系统统不不仅仅针针对对公公众众开开放放,,同同时时设设计计也也需满足内部客服员工的使用。对于集团内部的使用就对设计有了特殊要求,比如: 客服员工在接受问询的时候可能会很迅速地改变查询目标,这就使得Session的划分很难按照常规的时间方法来实现。Jansen,D. He在实验中取得,当时间在10分钟 ~ 15分钟之间的时候,划分Session,Session内包含的信息趋于稳定,这是一个合适的临界取值区间。但这并不适用本文的状况。根据实际情况尝试将Session时间划分碎片化,将所有日志信息分割为微小单位,建立得到相关搜索的扩展集合。在扩展集合的基础上为用户提够检索推荐[5]。

2. 2 模型描述

首先要清楚初始数据的关联关系,现在用一个查询关系图来描述这些待用关键字。关键字既有的关系: Rq= < Wq,Eq> 是用来描述查询内容。Wq是用户生成的查询关键字集合{ w1,w2,w3,…} ,Eq= { e} 是有向边的集合,它代表关键字wi→wj的联系。同时有v反映关键字wi→wj边的关联价值,也是对e的评价。

根据Session的特点,已经知道在同一Session下看作是同一用户的操作行为。用户在发送检索需求时,并不能两到三次的检索行动就一定达到目标需求。所以,这过程中,用户可能发生多次对关键字的修正,将这形象的比作为一个沿着从零开始的时间链条单方向行为。最终建立的扩展集合是总结所有用户发生的单方向链条,所以其他用户在检索一个目标时,可能是从其他用户的非零时间切入,这就使得整体查询关系图变的交织复杂。这对建立可扩展集合很不利。本文需要发现并建立清晰明了的关键字关系,所以将复杂的检索关系切割,让它们成为唯一的关系对,而不是关系链条。因为本文是面向领域专一的集团业务,所以数据量的大小是一个可承受条件。本文将得到的唯一关系对表述为Relate = < Query1,Query2 > ,在描述这对关系的时候,需要加上一些必要的注释因子,将这些注释因子看作关系对的属性,所以关系对可以表示为Relate = < Query1 < Query2,Object > > ,这里的Object是这对关系的注释因子[6]。这个表达式是本文对唯一关系对进行处理和表达方式。图1是表示相关词对处理形式。

2. 3 扩展集合规则设立

依据实际需要,需要设定一个对现实需求有帮助的Session时间划分阈值[7],在经过人们对集团用户使用习惯的统计分析,设定15秒的阈值为所需要的合适Session时间划分。在马尔科夫模型中,在给定当前知识或信息的情况下,过去的历史状态对于预测将来状态是无关的。现在有随机变量的数列X1,X2,X3,…,这些变量的范围,即他们所有可能取值的集合,Xn的值则是在时间n的状态,在一定时间阈值内发生的状态偏移也是连续的,Xn + 1是在时间n + 1的状态,Xn + 1不仅在时间上,在相关性上也是Xn的一个延续[8]。

如此就知道了需要建立的可扩展集合的外部状态,在每次获取用户的关键字同时,本文会获取的信息包括Session ID,关键字发生时的时间Time( t) ,用户点击的URL。设定了扩展集合的时间准入,即它的Session时间阈值。因为用户日志的数据量巨大,必须对它继续筛选。我们设定了一系列的度量值:

λ = ε /15,μ = e。ε表示前后关键字发生时的实际时间差,e是表示关键字间的关联价值。

当λ < 1时,本文认为 它符合数 据碎片化要求[9]。

在利用中科院的分词工具ICTCLAS,对碎片化数据的分词分析后,得到R' = < w'i,w'j> 。Xn + 1对Xn状态的修正中,认为符合两条规则最有价值,即:

当w'i∈w'j,w'j∈w'i,w'i= w'j显示他们互为包含关系,是用户后一状态对前一状态关键字的增减修正。

或者wi'∩wj'不为空,显示是用户对关键字的替换修正。这两种修正关系表示关键字间是有价值值的的。此此时时的的μ标标记记初初始始设设置置为为1。

当μ > 0时,认为它符合我们数据的有意义要求,是有价值的。

2. 4 关键字权重设定

在建立的扩展集合,不但需要使用模型的关键字对,同时需要每个关键字的属性描述,既是前文讲到的Object[10]。此时,要考虑的是如何反应这些关键字的关联强弱,也是影响它反应给用户的排名权重,本文将权重记为K。在Object属性中有一个描述是heat。它的作用是标记用户日志中发现该条数据的重复程度,在权重公式中记为h。反映检索相关程度的权重公式:

其中,公式的前两项在前文中已作描述。其中的F( q) 表示与用户检索相关的候选项heat属性的大小,在建立的扩展模型中收录统计,n表示扩展集合模型中相关候选项的数目,表示所有与用户检索有相关关系的数据heat属性总和。

例如: 在扩展集合中有 < q0,q1 > < q0,q2 > ,q1属性heat为10,ε为5,q2属性heat为15,ε为8。这个时候它们的权重就分别为1. 7333和2. 1333。权重数值较高的关键字选项q2在展示结果中会排列在q1前面。

基于用户日志的可扩展集合生成流程步骤如下:

Step1在接收到用户每一个检索需求时,记录下用户提交的信息,封装为一个对象。

Step2将对象逐次入队列操作,同时对队列进行出队列操作。在出队列操作时要经过建立的中间字典筛选。在中间字典中要判断有无该条sessionid数据,没有新存入; 有,则判断λ,μ。

Step3在判断λ合法性时,不符合要求新存入中间字典,删除原有中间字典中对应数据。全部符合要求的数据到扩展集合中查重,重复的改变原有数据的heat值,不重复,进行新存入集合操作。在属性描述中的属性heat和增加新数据时候,都要求作下标记留作以后入库时候的增量更新使用。

Step4在中间字典中,数据的合法性时间都很短,但它在内存中数据量是一个无限增长的过程,所以设定十分钟对它进行一次清理操作,保持系统的轻巧性。在每天用户操作较少时刻,进行定时操作,将数据分析存入文本和数据库。

3 实验结果

为了验证本文系统设计的有效性,我们将设计完成的系统和原有未经优化改进的集团检索系统进行性能对比。本文没有采用集团公司的语料进行测试,而是在网络取网易,新浪和搜狐等知名中文门户网站信息,抓取10000个文档,建立索引测试。

测评系统的性能标准,实验为系统设定了两个评价标准。一个是精确率( Precision) ,另一个是召回率( Recall) 。由于研究已表明一般用户查看检索结果时主要查看系统提供的前两页,以及本系统设计的特性,本实验通过分析返回结果的前20条记录来评价查准率。召回率实验通过人工标记的办法,对两个系统分别测试,并进行比对比较。实验选取10组相同的检索词条检索返回结果评定精准率。

由图2可看得出原有的系统性能精确度平均值为0. 575,而优化后的系统在该指标上的平均值为0. 803。优化改 进的系统 比原有的 系统在Precision指标提高了36. 9% 。从实验结果可以看出指标Recall有很大提 升,图3显示查全 率从0. 729提升到0. 871,提升了19. 4% 。总体而言,经过本文的优化和改进,明显的提高了原有使用系统的性能。

4 结束语

在实验过程中发现系统才开始启用的时期存在一个问题,即用户日志的数据量不足产生的影响。这将使本文的模型建立和运用无法得到最好的效果,此时可以结合局部文档相关反馈技术的方法,在文档集上建立相应的文档扩展集合,根据一定的排名方法,将两个扩展集合中的关键字,按照一定比例链接 起来,提交给用 户做相关 搜索使用[11]。在系统逐渐成熟时,可以考虑建立单一的模型,供用户在使用中选取合适的相关推荐。本系统运行结果的相关达到率达到了一定精度,特别是本文建立在基于用户日志上的扩展集在建立的过程中,有自己的筛选办法。本文分析数据相关性程度达到需求时,就可以推断这是一个稳定结果良好的相关搜索检索方式。

摘要:搜索技术的组成部分发展至今已经呈现多样化,在不同的使用环境它们各有特色,但都致力于为使用者提供更优质的使用体验。现代搜索技术希望从使用者的自然语言出发,为使用者发掘到最理想的目标答案。相关搜索是查询推荐技术在搜索引擎中最常见和成功的实现,传统相关搜索基于日志建立的模型是为了应付基于内容分析或初次检索模型的局限性。文中重新划分粒度,更加精确计算用户日志数据的相关性,为使用者提供更好的相关推荐。实验表明,文章结果在应用中有了较好的提高。

关键词:相关搜索,用户查询日志,碎片化,可扩展集合

搜索日志 篇2

2008-08-19 00:09:12 W3SVC962713505 203.171.226.111 GET / - 80 - 61.135.168.39 Baiduspider+

(+www.baidu.com/search/spider.htm) 200 0 64

1、203.171.226.111就是搜索引擎蜘蛛防问的网站ip,

2、61.135.168.39 Baiduspider代表,百度搜索引擎蜘蛛的ip是61.135.168.39,

3、代码中的/ 就代表搜索引擎蜘蛛防问的网页

4、2008-08-19 00:09:12代表搜索引擎蜘蛛爬行的日期与时间

5、代码中的200就代表搜索引擎蜘蛛爬行后返回HTTP状态代码,代码中可以了解蜘蛛爬行后的反映,代码如下:

6、W3SVC962713505代表网站日志所在的文件夹

7、www.baidu.com/search/spider.htm baiduspider常见问题解答网页

2xx 成功

200 正常;请求已完成,

201 正常;紧接 POST 命令。

202 正常;已接受用于处理,但处理尚未完成。

203 正常;部分信息 ― 返回的信息只是一部分,

204 正常;无响应 ― 已接收请求,但不存在要回送的信息。

3xx 重定向

301 已移动 ― 请求的数据具有新的位置且更改是永久的。

302 已找到 ― 请求的数据临时具有不同 URI。

303 请参阅其它 ― 可在另一 URI 下找到对请求的响应,且应使用 GET 方法检索此响应。

304 未修改 ― 未按预期修改文档。

305 使用代理 ― 必须通过位置字段中提供的代理来访问请求的资源。

306 未使用 ― 不再使用;保留此代码以便将来使用。

4xx 客户机中出现的错误

400 错误请求 ― 请求中有语法问题,或不能满足请求。

401 未授权 ― 未授权客户机访问数据。

402 需要付款 ― 表示计费系统已有效。

403 禁止 ― 即使有授权也不需要访问。

404 找不到 ― 服务器找不到给定的资源;文档不存在。

407 代理认证请求 ― 客户机首先必须使用代理认证自身。

410 请求的网页不存在(永久);

415 介质类型不受支持 ― 服务器拒绝服务请求,因为不支持请求实体的格式。

5xx 服务器中出现的错误

500 内部错误 ― 因为意外情况,服务器不能完成请求。

501 未执行 ― 服务器不支持请求的工具。

502 错误网关 ― 服务器接收到来自上游服务器的无效响应。

基于百度搜索日志的用户行为分析 篇3

随着人们生活水平提高,互联网趋于爆炸式增长。搜索引擎已经成为人们生活中的必需品,人们通过搜索引擎来解决生活、情感、工作和学习中遇到的问题。搜索日志记录用户查询过程,包括查询内容和点击频次以及URL等丰富信息。如何通过对日志分析来改善搜索引擎的质量,已经成为当前重要研究方向。

2011年12月中国搜索引擎市场研究报告[1]指出,截止到2011年第三季度搜索引擎用户规模已经达到了3.96亿,在庞大用户群体中百度用户渗透率达到了98.3%,搜狗用户渗透率为45.8%,是国内使用最多的两大搜索引擎。因为搜狗搜索日志数据开放得比较早,所以基于搜狗开放日志的用户行为分析研究比较多,而基于百度日志的用户行为分析研究比较少。本文主要对百度开放日志进行分析。

1 国内外研究现状

国外对搜索引擎日志研究起步比较早,二十世纪九十年代开始研究。文献[2]对大型商务搜索引擎日志进行分析统计,揭示了在英文搜索引擎中查询串长度等规律。文献[3]指出查询串重复是普遍存在的。文献[4,5]通过查询串和URL点击关系,来进行查询扩展和推荐研究。文献[6]通过对日志挖掘研究查询串和点击网页之间的关系。另外,Google推出了两款基于搜索引擎日志分析的应用产品Goole Trends和Goole Insights,利用这两种工具可得到某一个查询串被检索次数随时间变化的规律。

国内对搜索引擎日志研究起步比较晚,文献[7]通过对Sogou日志统计,总结出查询长度、查询频度等规律。文献[8]对中文搜索引擎中的查询串进行分析,发现查询串的长度及结构连续多年保持稳定,在网络搜索引擎中使用的词汇具有很强的集中效应。文献[9]对北大天网搜索日志进行分析,URL点击表现出明显的局部性,用户查询分布具有良好的自相似性。文献[10]引入中文分词技术对中文搜索引索日志进行了分析,提出了用户搜索词模型,给出了历史搜索结果影响因子算法。文献[11]对给定查询建立了相近查询回归模型。文献[12,13]从语法角度出发,使用机器学习方法对日志中查询串进行结构和功能识别。

2 百度开放日志介绍

2011年12月中国搜索引擎市场研究报告[1]指出,百度是全球最大的中文搜索引擎,有3.77亿忠诚用户,有1.6亿高度忠诚用户,用户平均单日使用搜索引擎3.1次。由此可以推算出百度每天将产生6-7亿条日志记录。

百度公司开放了2010年某一时间段内的108520856条日志记录。每条日志的格式为“Query:用户在搜索框中输入的查询串t Title:查询返回结果中用户第一次点击的页面标题t URL:用户点击的页面链接”。例如“北京大学欢迎访问北京大学主页http://www.pku.edu.cn/”。

在百度开放日志中Query与Title之间用Tab键分开,Title与URL之间也用Tab键分开。下面将对用户输入的Query、点击的URL以及使用高级检索情况进行分析。

3 百度开放日志分析

3.1 查询串分析

百度开放日志中的查询串通常包含汉字、英文字母、数字以及下列特殊字符:“,”、“?”、“《”、“》”、“(”、“)”、“·”、“'”、“:”、“.”、“+”、“″”、“!”、“”、“-”、“———”、“;”、“[”、“]”、“/”、“【”、“】”、“<”、“>”、“<<”、“>>”、“=”、“#”、“&”、“%”。根据包含成分不同,可以分为四类。第一类为中文查询串,至少含有一个汉字,还可以含有0至多个数字或者特殊字符。第二类为英文查询串,至少含有一个英文字母或数字,还可以含有0至多个特殊字符。第三类为中英文查询串,至少含有一个汉字和一个英文字母,还可以含有0至多个数字或特殊字符。不符合以上三种情况的称为第四类查询串。第四类查询串共有78505个,主要为日韩和一些非常规字符,由于数量出现的少可以忽略不计。统计结果如图1所示,从图中可以看出中文搜索引擎还是以中文查询为主。同时也发现本文统计结果与文献[10]统计的搜狗开放日志查询串分布(见图2)有一定差别,明显的可以看出百度开放日志里中英文查询串比例是后者的二倍。

3.1.1 查询串长度分析

每个查询串由一个或多个“查询小串”构成,相邻的查询小串之间由空格隔开。

对查询串进行统计,有94939904个查询包含1个查询小串,占全部查询的87.49%;有10483312个查询包含2个查询小串,占全部查询的9.66%;有3097640个查询包含3个或3个以上查询小串,占全部查询的2.85%。平均每个查询含1.16个查询小串,比文献[2]指出的英文搜索引擎中用户平均输入2.35个词要少。这与中文用户很少输入空格有关。那么在百度开放日志里英文查询串平均长度会不会接近2.35个词呢?统计结果表明平均含有1.35个词,还是小于2.35个。对其进行分析,发现在中文搜索引擎中输入的英文查询串与传统意义上的英文查询串不同,它们大多为网站域名、游戏名称、汉语拼音组成的字符。例如“youku.com”、“tudou”、“cf”、“shijiebeikaimushizhibo”,很少会出现“system volume information”这样的查询串。所以在百度开放日志里英文查询串平均长度小于英文搜索引擎里查询串平均长度就很正常了。

本文使用中科院计算所提供的ICTCLAS50分词工具并结合搜狗实验室提供的互联网词库作为词表,对中文查询串进行分词,然后进行统计。结果表明在中文查询串中用户平均输入3.29个词,比英文搜索引擎中2.35个词要高。中文查询串中词个数分布如图3所示。从图中可以看出在一个查询中用户数输入2、3、4个的词的情况比较多。

在统计结果中“世界杯”出现了1776147次、“高考”出现了863086次、“答案”出现了806815次,造成这些高频词的出现的原因,是受一些突发事件、或者是周期性事件的影响。根据“世界杯”、“高考”、“答案”等热门词,可以大致推断本文所使用的百度开放日志数据为2010年6月前后抽样所得。

以字为单位对中文查询串进行统计,查询串平均长度为6.73个字,有89.6%的用户输入2-10个字,超过16个字的查询不足2%,说明百度限制查询串长度是有根据的。从图4可以看出,用户输入4-8个字的查询最多,考虑到在汉语中含有双字词的情况比较多,这样字的统计结果与词的统计结果就比较一致了。

3.1.2 查询串频次分析

百度开放日志中查询串去重后得到静态查询串30107399条。被检索次数较多的查询串称为高频静态查询串。有80%的静态查询串被检索过一次,超过90%的静态查询串被检索次数小于4次。其中2214条静态查询串被检索次数大于2560次,占静态查询串的0.0073%,但总计被检索次数达到了22582881次,占总检索次数的20.8%。高频静态查询串被检索次数占总检索次数的比例,如图5所示。从中可以看出10%的最高频静态查询串被检索次数占总检索次数的70.8%。统计结果表明在搜索引擎中用户输入查询串重复性很大,其中10%的最高频查询串就能覆盖70.8%的查询请求。

表1是百度日志中十大高频查询串,可以看出搜索引擎用户对电子商务越来越感兴趣,此外像视频类、游戏类、社交类等都是人们所关注的焦点。

3.2 URL分析

URL是搜索日志的重要组成部分,它记录了用户点击的网址信息,代表了用户的需求。URL分析包括网页深度分析和网页点击频次分析。

3.2.1 URL网页深度分析

网页深度是指网站可以访问的网页层数。通过URL地址包含“/”个数来进行深度区分,例如:一级网页http://www.sina.com.cn/;二级网页http://sports.sina.com.cn/nba/等等。

统计结果如图6所示。本文统计结果与文献[14]统计的搜狗开放日志URL深度分布有一定差别,在搜狗开放日志中三级网页被点击次数最多,其次为二级网页和四级网页。而本文统计结果表明一级网页访问量最大,二级网页紧随其后,而几乎很少有用户点击九级深度以上网页。这表明互联网用户习惯通过搜索引擎找到网站入口也就是一级网页,然后在逐级选择应用或查找信息。对热门二级网页进行分析发现它们大多是关于问答方面的网页,其中百度知道被点击了10723887次,大约占二级网页总被点击次数的1/3,其次是搜搜问问、百度百科、爱问知识人、天涯问答。这说明越来越多的互联网用户通过网络来解决生活、工作、学习中遇到的问题,用户之间相互给予解答,使用户和用户之间建立了紧密联系,打破了传统问答模式。通过收集用户群体智慧来解问题,已经成为人们一种新的学习、生活模式。

3.2.2 URL点击频次分析

对百度开放日志中URL去重后得到非重复的26370604个URL,发现比查询串去重后少,造成这一现象的主要原因是用户输入的查询串不同,但是他们的查询目标可能相关,这时他们会点击相同的网站。例如,不同用户分别输入“K53”和“Z61”,但是他们都点击了火车网。

如图7所示,73%的网页只被点击了1次,90%的网页被点击不超过3次。互联网中存在大量低频访问网页,网页点击频次符合Zipf定律。

在高频URL中,http://www.taobao.com/被点击685562次,http://www.xunlei.com/被点击290645次,http://www.renren.com/被点击276038次,http://www.kugou.com/被点击179389次。这表明搜索引擎用户对电子商务、视频、音乐和社交网络感兴趣。

3.3 高级搜索使用情况分析

在国外搜索引擎中,文献[2]发现有超过20%的用户使用高级搜索进行查询,以使返回结果更加准确。但是在百度开放日志中仅有不足0.12%的查询使用到高级搜索功能,如表2所示。书名号是百度特有的精确匹配方法,例如“<<政治经济学批判导言>>的读后感”。

复杂搜索方法很少被用户所使用,人们更希望通过简单的搜索得到有效的信息。

对高级搜索使用情况进一步分析发现一件有趣的事情,几乎所有用户都在错误地使用“-”高级检索。他们真实目的不是为了在返回结果页面中去掉减号后面的词,反而是去强调,例如“重庆龙煜精密铜管有限公司-招聘”、“高考答案2010-四川卷”。通过对上述两个例子分析,发现用户真实目是想看到关于这家公司招聘网页和有关于四川2010年高考答案网页,但是由于用户误使用了“-”高级搜索,使他们不能够得到满意答案,对用户体验方面有消极影响。

4 结语

本文根据百度开放日志分析了搜索引擎用户行为。在用户的输入的108520856条查询串中存在大量重复,10%的高频查询串被检索次数占总查询次数的70.8%,可以从高频查询串入手,挖掘用户兴趣和使用偏好。在中文查询串中,用户平均输入3.29个词或6.73个字。在英文查询串中用户平均输入1.35个词少于英文搜索引擎的2.35个词。在开放日志中73%的网页只被点击了一次,90%的网页被点击不超过3次,表明互联网中存在大量低频访问网页,这部分网页和高频访问网页应该分类进行处理。在中文搜索引擎中用户很少使用高级搜索功能,他们更加喜爱简单方便的搜索操作。

摘要:基于大规模搜索日志进行用户行为分析有助提高搜索引擎的各种性能指标。从三个方面对百度开放日志进行详细分析。首先对查询串长度和频次进行统计,发现查询串中存在着长尾效应,前10%最常用查询串的查询次数占总查询次数的70.8%。其次对URL点击深度和频次进行分析,发现有73%的网页只被点击一次,表明互联网中存在着大量低频访问网页。最后对用户使用高级检索情况进行分析,发现有不足0.12%的用户使用高级检索,表明用户更喜爱简单方便的操作。

搜索日志 篇4

近几年来,机器学习方法在自然语言处理领域得到广泛的应用,如隐马尔科夫模型[1](HMM)、最大熵[2]、条件随机场[3](CRF)等。这几种方法主要应用在汉语分词、词性标注及组块识别等方面,其识别效果相比基于规则的方法,都有很大的提高,但这几种学习方法仍然存在一定的问题[4],如在训练数据时,容易出现数据过适应问题,再就是需要采用启发式学习进行特征的提取。

短语分析作为一种预处理手段,可以大大降低短语分析处理的复杂度,为进一步对句子的深层次分词提供基础,使得句子分析在一定程度上得到了简化。在现代汉语中,存在一些特殊语序的短语,如“名词+动词+名词”、“动词+名词+名词”简写为“N+V+N”、“V+N+N”型短语,它是由名词和动词组合构成的一种短语模式。当前对短语的研究多涉及到“N+V”和“V+N”型短语,对“N+V+N”、“V+N+N”短语的研究较少。前人如邢福义[5]、金锡馍[6]等对“N+V+N”型短语有所研究,但这些研究只限于对书面用语的统筹研究,没有涉及到具体应用领域,而且在短语功能类别上也只涉及名词性短语的研究。本文主要通过构建短语功能类识别所需特征集,利用机器学习方法,在已识别出的“N+V+N”、“V+N+N”型短语上,标识正确的功能类别。

SVM[7]机器学习方法具有结构风险最小化的归纳原则,同时可以控制整个样本集的期望风险。因此它解决了其他机器学习方法对训练数据产生过适应的缺点,而且引入核函数的概念,在解决线性不可分及高维特征空间稀疏问题上表现出很好的性能。因此在短语功能类别识别实验中,采用SVM方法实现。

1 “N+V+N”、“V+N+N”型短语特点

文章以“搜索引擎日志中‘N+V+N’、‘V+N+N’型短语识别”一文中所识别出的短语作为实验的数据来源。“N+V+N”、“V+N+N”型短语特点体现在两个方面:一是功能方面;另一方面是结构特点。

1.1 功能方面

一般的“N+V+N”、“V+N+N”型短语的功能类别有名词性短语,动词性短语,主谓短语。在搜狗日志语料中这三种类型短语都有所涉及,但在占有率上却有很大差别。如在文献[8]中所提到的“N+V+N”型短语中72.7%的短语为名词短语,其余27.3%为动词短语和主谓短语;文献[9]中所提到的“N+V+N”型短语中81.27%的短语为名词短语,其余18.73%为动词短语和主谓短语,但从数据分析,“N+V+N”、“V+N+N”型短语以名词短语居多,这也与以往研究多涉及名词短语相符合,如邢福义[5]、金锡馍[6]、陈芙[10]、陈玉洁[11]等。以下所举示例据来自于搜狗日志语料。

在搜狗日志语料中,涉及的三种功能类别短语举例:

1) 名词短语:灌/篮/高手 劲舞/团/舞步 网页/设计/教程 北京/拆迁/规定

2) 动词短语:购买/汽/枪 清理/地址/栏 新疆/平/暴 填写/个人/证件

3) 主谓短语: 王子/变/青蛙 莫斯科/没有/眼泪 鬼/吹/灯 刘心武/讲/红楼梦

1.2 结构特点

主要从音节方面阐述短语结构特点,对于“N+V+N”、“V+N+N”型短语在音节组合方面是比较宽泛的,参考文献[8,9]可知,在搜狗日志中,短语音节组合模式多以“2+2+2”这中和谐结构组合,这也体现了短语构词特点。短语音节特点在其相关论文已有论述,这不再做说明。

2 支持向量机识别方法描述

SVM是由Vapnik[12,13](1995)等人提出的一种基于统计学习理论的新型机器学习算法。主要实现的二分类问题,是近年来机器学习研究中的一项重大成果,与神经网络、遗传算法、人工智能等现有的学习机相比,这种模型从本质上避免了从归纳到演绎的传统过程,高效地实现了从训练样本到预测样本的“引导推理”,大大简化了通常的分类问题。其基本思想是将输入空间转换到一个高维空间,使非线性样本变得线性可分,最终求取最优分类面,以达到最大推广能力,防止对训练数据的过拟合。该方法在人脸检测、网页分类、手写体数字识别、图像检索等领域得到了广泛应用。

SVM的基本思想可用图1的二维图说明,图中三角形图标和菱形图标表示两类样本,H为分类线,H1、H2分别为过各类中离分类线最近的样本且平行于分类线的直线,它们之间的距离叫分类间隔。所谓最优分类线就是要求分类线不但能将两类样本正确分开(训练错误率为0),而且使分类间隔最大。

由于SVM既有严格的理论基础,又能较好地解决小样本、非线性、高维数和局部极小点等实际问题,因此在自然语言处理和模式识别等很多领域,SVM都表现出了极为优异的性能。如Taku Kudo[14]借助SVM方法实现英语基本短语(组块)识别,取得了较好的效果。

3 短语功能类别标注集和上下文特征选

本文针对不同切割单位采用不同的标注集,如以分词后语料为输入语料的文本,采用“BIEO”[15]标注集,而以整合后的短语为输入语料的文本,采用自定义的功能类别标注集。

3.1 第一种短语功能类别标注

实验采用功能类别加标记的方法标识短语功能类别块。在START/END[15]标注集中的“BIE0”标注集的基础上转变为所需的标注集,具体标注集如下:B-F表示当前词所构建短语的功能类别为F,并且是F类短语的起始词;I-F表示当前词所构建短语的功能类别为F,并且组成F类短语的中间词;E-F表示当前词所构建短语的功能类别为F,并且是F类短语的结尾词;O表示不属于任何短语的词。下面以一条被标识了短语功能类别的查询串为例,详细说明:

{0216 m 4 O [中国 ns 2 B-NP 教育 vn 2 I-NP 出版社 n 3 E-NP] 影视 b 2 O 部 n 1 O 青春期 t 3 O 性 ng 1 O 教育 v 2 O 请 v 1 O 以 p 1 O 严肃 a 2 O 目光 n 2 O 观看 v 2 O RMVB x 4 O}

整个查询词串包含在一对“{}”内,每个词语后紧跟其词性、音节数及短语功能类别标识符,中括号“[]”内为所要被识别的短语。由此可见,一种功能类别为F的短语可有3种边界标记B-F/I-F/E-F来识别。本文中共定义了3种功能类别,所以实验中涉及9种边界标记,再加上不属于任何功能类别的边界标记O,共10种。使用上面定义的功能类别标记,可以将短语功能类别识别转化为一个简单的分类问题,即把一个经过分词和词性标注的查询串输入给短语功能类别识别器,经过SVM机器学习后,识别器为每个词语赋予一个功能类别边界标记,输出结果为一系列经过功能类别标记的词串。显然,根据识别器输出结果,能够直接确定每条短语的边界及功能。

3.2 第二种短语功能类别标注

由于这种标注集不包含边界信息,只需功能类别标注,所以需按照短语边界识别结果,把识别出的短语边界词整合到一起,作为当前实验的输入语料。下面举例说明:

{0216 m 4 O [中国教育出版社ns+vn+n 7 NP] 影视 b 2 O 部 n 1 O 青春期 t 3 O 性 ng 1 O 教育 v 2 O 请 v 1 O 以 p 1 O 严肃 a 2 O 目光 n 2 O 观看 v 2 O RMVB x 4 O}

与3.1节中的查询串相比,“中国教育出版社”不再用分开标识,而是作为一个整体。其后紧跟的词性串“ns+vn+n”是有短语的三部词语词性组成,“7”则为短语总音节数。对于这部分实验,只需给出整体功能类别,无需给出边界信息,相比第一种标注集,所涉及分类类别较少,只需3种功能类别(“NP”、“VP”与“DJ”),因此识别过程变得相对简单,具体识别结果如何,详看实验分析。

3.3 上下文特征选取

通过对已标注的查询串语料进行分析,发现以下因素对短语功能的形成产生影响:词、词性、词语音节数以及相应的句法信息。它们构成短语功能类识别过程中的静态特征与动态特征。

1) 静态特征选取

在组建短语功能类别识别实验的静态特征集中,考虑到词语信息w、词性信息p和音节信息s,充分利用当前标记位置的上下文信息,将每一个样本数据用15个特征表示:F=(w-2,p-2,s-2,w-1,p-1,s-1,w0,p0,s0,w1,p1,s1,w2,p2,s2)w0:在实验数据中,表示当前词;p0:表示当前词的词性标记;s0:表示当前词的音节数。

w-i:表示当前词左第i个词;p-i:表示当前词左第i个词的词性标记;s-i:表示当前词左第i个词的音节数。

wi:表示当前词右第i个词;pi:表示当前词右第i个词的词性标记;si:表示当前词右第i个词的音节数。

2) 动态特征选取

由于在中文短语识别中,其前向标记是非常有价值的上下文信息,这儿所描述的上下文信息为文中提到的句法信息,即当前词语是否被包含在某种短语功能类型中。所以除去静态特征外,实验中还涉及一些动态特征的选择,这些特征是在短语功能类别识别过程中动态给出的,用“T”表示。T=(t-2,t-1),t-i:表示当前词左第i个词的类别标记两个。

3.4 特征模板选择

实验中所涉及到的特征模板如图2-图6所示:其中外框所圈内容代表实验中用到的特征集,内框代表静态特征,右上角框代表动态特征,右下角框是要进行动态识别的标记。“F:-2..2:0.. T:-2..-1”用于表示窗口的大小。F值后紧跟数字代表下图中的所标的行号,冒号后的数值代表列号;T值代表的是动态特征号。其中前4个特征模板是针对第一种标注集的,最后一个模板是针对第二种标注集。

4 实验及结果分析

文中进行了特征模板、多分类方法、分析方向对短语功能类别性能影响的比对实验,以及验证训练语料与测试语料在不同比例下对短语功能类别识别是否有影响。选用31952条 “N+V+N”、“V+N+N”型短语的词条进行相应的实验验证。在半开放性实验中用到全部数据,而开放性实验中只用到去重后的7013条实验数据,其中包含2154条“V+N+N”型短语、4875条“N+V+N”型短语。实验中选取Yamcha工具[16]作为SVM分类器的实现。这款工具是Taku Kudo专门为NP Chunking所设计的SVM工具,所以在短语功能类识别上优势。

短语的功能类别包括NP,VP,DJ 3种类别,实验中采用的衡量指标:准确率(Precision)、召回率(Recall)、调和平均值(F-measure)具体计算公式如下:

A:功能类别识别正确的短语数目

B:识别为短语的数目

C:测试语料中人工标注的短语数目

Recall=AC×100%

Ρrecision=AB×100%

F-measure=(β2+1)×Ρ×Rβ2×Ρ+R

4.1 第一种标注集实验

对3.3节所列前4种特征模板,采用表1所列参数、多类实现方法及语料规模设置,同时设定识别方向为从左到右,在识别“N+V+N”、“V+N+N”型短语中所包含的3种功能短语上,所取得的最好结果,见表1。

表1是在比较多个模板在不同语料规模、不同参数及不同多类实现方法的基础上,得出的最高识别结果。对于模板1,采用one-versus-rest方法,同时参数d=2,并且训练语料与测试语料成8: 2关系时,三种短语的识别结果整体上达到最优;对于模板2以one-versus-one方法实现多分类,参数d=2,语料比例为7:3时,识别结果达到最好;模板3在模板2的基础上修改了语料规模的大小,同时把参数设置为3时,取得最理想效果;模板4与模板1虽然设置一样,但针对不同短语功能类别,其识别结果是有差异的。

1) “N+V+N”、“V+N+N”型短语混搭情况下,其开放性实验的短语功能识别情况

在开放性实验中预选用不同词性标注集,进行短语功能识别实验。针对词条中的动词词语,在两种比对实验中均采用中科院计算所的二级词性标注集[17],而其它词语,如名词,则考虑两种标注方法:1) 采用计算所汉语词性标记集[17]中的一类、二类、三类进行词语词性标识;2) 除动词词性保持原标识外,其它词语只采用一类词性标识。例如:

第一种方法下的词性标注: 第二种方法下的词性标注:

为使实验结果更具合理性,同时减少模型对实验数据的过度敏感性,实验采用随机抽取样本的方法,从全部语料中随机抽取20%~80%语料作为训练语料,剩余的80%~20%语料作为测试语料。以下比对实验均在特征模板一下实现,且多类实现方法为one-versus-one,参数d=2,解析方向为从左到右。

验证训练语料规模及两种词性标识规范下NP、VP、DJ短语的识别结果,见表2、表3、表4。

表2 是在两种词性标注下的NP短语的比对实验结果,对于每行中带有两个数据的单元格,上面数据代表第一种方法的实验结果,下面数据代表第二种方法的实验结果。若单从实验数据分析,采用简约词性标注的实验结果要好于精确词性标注的实验结果,而且在第二种方法下,训练语料与测试语料成7:3比例时,实验结果达到最好,其中P值高达89.08%,R值为90.48%,F值为89.78%。

表3是在两种词性标注下的VP短语的比对实验结果。从实验数据分析,针对不同语料,两种方法取得的实验效果也不尽相同。在训练语料与测试语料以5:5的比例进行实验时,第二种方法的实验结果要好于第一种方法,使得F值达到实验中的最大值,但与NP短语的识别结果相比较,VP短语的实验结果却不是很理想,其中在5:5实验中,P值为77.91%,R值为58.79%,F值仅为67.01%。

表4 是在两种词性标注下的DJ短语的比对实验结果。在训练语料与测试语料成8:2比例时,简约词性标注的实验结果要好于精确词性标注的实验结果,如P值提高了3.96%,R值提高了2.2%,F值提高了2.93%。

无论哪种短语类型,方法2都取得了比较好的效果,这也说明实验结果的好坏,不仅取决于特征模板的好坏,而且还受到词性标注集的影响,并且在不同语料规模下的影响程度不同。

2) “N+V+N”、“V+N+N”型短语孤立情况下,其短语功能识别情况

通过多次比对实验,在训练语料与测试语料规模设置为8:2时,特征模板1、特征模板4显示的识别结果最佳,以下实验均依照上述两种模板生成相应的特征集,构建特征集时,针对词性信息采用上面论述的第二种方法进行实验,同时把多类别实现方法限定为one-versus-one。

(1) “N+V+N”型短语功能类别识别结果

实验所用语料中含有4876条“N+V+N”型短语中,共中4275条NP短语、419条DJ短语、182条VP短语。DJ、NP、VP短语采用特征模板1效果要好于特征模板4,这与上面混搭模式下的模板选择不同,并且设置参数d=2,解析方法设为从左到右。

依据图7的图表显示,可以明显地看出在“N+V+N”型短语中,其NP短语、DJ短语的识别结果要好与VP短语的识别结果,对NP短语的识别结果最好,这与语料中含有更多的NP短语是分不开的。

(2) “V+N+N”型短语功能类别识别结果

实验所用语料中含有2155条“V+N+N”型短语中,共中1695条NP短语、460条VP短语。实现中设定参数d=3,并且短语的解析方向为从左到右时,实验结果好于从右到左的实验结果,同时NP、VP短语采用特征模板4效果要好于特征模板1,这与上面混搭模式下的模板选择相同。

参考图8的图表显示,可以明显地看出在“V+N+N”型短语中,其NP短语、VP短语的R值均在80%以上,其中对于NP短语的识别效果更好。

4.2 第二种标注集实验结果

在这组实验中,主要验证语料规模、标注集及参数d取不同值对实验结果的影响。分别对“N+V+N”、“V+N+N”两种类型短语进行开放性测试,具体实验结果如图9-图11所示。

验证训练语料规模大小对实验结果的影响,以降低模型对实验数据的过度敏感性,实验采用随机抽取样本的方法,从全部语料中随机抽取20%~80%语料作为训练语料,剩余的80%~20%语料作为测试语料,观测训练语料规模对实验结果的影响程度。实验结果如图9所示。

这组实验选用特征模板5,分析方向为从左向右,参数d=2。从图中所示,针对“N+V+N”型短语、“V+N+N”型短语中的名词短语识别,其受语料规模的影响较小,在训练语料仅占20%时,F评测值就已达到99.2%、96.98%,但识别率整体上还是随着训练语料数据规模的增长而缓慢提升。对于其他功能类别短语受语料规模大小的影响比较显著的。

为与图7、图8形成比对实验,在本组实验中采用相同语料规模,但参数设置及解析方法却不尽相同,在“N+V+N”型短语中,参数d=2,分析方向为从左到右;“V+N+N”型短语中,参数d=3,分析方向为从左到右。比较图7与图10、图8与图11,我们不难发现,在图10、图11中,对于两种类型短语中的名词短语的识别率都有很大的提高,但动词短语及主谓短语的识别都有相当程度的降低。这也说明这种标注集对名词短语的识别率提高有很大帮助,但对其他功能类型短语的识别还有待进一步的提高。

5 结 语

短语消岐的方法有很多种,在本文中利用SVM模型,实现对搜索引擎日志中“N+V+N”、“V+N+N”型短语的功能类别识别。利用词本身、词性信息、词音节数信息及前向标记信息构建相应的特征模板进行训练,同时针对不同词性标注集进行一系列的比对实验,最终得出采用简约词性集好于精确词性集的结论。

【搜索日志】推荐阅读:

搜索算法07-19

主题搜索07-20

搜索方法07-20

搜索技术05-17

搜索优化05-18

搜索工具08-07

资源搜索08-08

语义搜索08-21

搜索感想05-26

搜索影评08-11

上一篇:初中数学的情景教学下一篇:廉租房和公共租赁住房