AI内参_39_037_查询关键字理解三部曲之分类
你好,我是洪亮杰。
今天我和你分享的主题是查询关键字,理解三部曲之分类。
我们在前两周的专栏里主要讲解了最经典的信息检索技术和基于机器学习的排序算法。
经典的信息检索技术为二零零零年之前的搜索引擎提供了基本的算法支持,从中衍生出的TFIDFBM二五还有语言模型以及这些方法的各类变种,都还在很多领域里继续发挥着作用。
另一方面,排序学习算法引领了二零零零年到二零一零年,各类基于机器学习的搜索算法的产生和发展,也带来了搜索引擎技术的进一步成熟。
这周我们从排序算法转移到排序问题中一个非常重要的部分查询关键字理解。
也就是说,我们希望通过查询关键字来了解用户种种行为背后的目的。
查询关键字产生的特征往往是很强的指导因素,也是个性化搜索结果非常重要的源泉。
因此,深入了解并掌握查询关键字理解方面的技术就变得很有必要。
查询关键字理解最基本的一个步骤就是给查询关键字分类看这些查询关键字有什么用户意图。
今天我就来聊一聊查询关键字分类的一些基本概念和技术,让你对这方面的开发和研究有一个基本认识。
我先来说说查询关键字分类的历史。
从商业搜索引擎开始。
面试的第一天起,人们就发现可以从查询关键字中得到很多用户的信息,特别是理解用户的意图。
早在一九九七年,商业搜索引擎excet就开始了百万级别查询关键字的研究工作。
然而,真正对查询关键字分类进行系统阐述的是安德烈布德烈的论文。
网页搜索分类。
安德烈很有名头,在斯坦福大学攻读博士期间,是从图灵奖得主高德纳,然后在曾经名噪一时的第一代搜索引擎公司奥塔威斯塔担任首席科学家,之后加入位于纽约的IBM研究院,组建企业级搜索平台,二零一二年后加入google担任杰出科学家。
他还是ACM和IEEE的双料院士。
安德烈的这篇论文可以说是奠定了查询关键字分类的坚实基础。
之后,研究人员的很多工作都是围绕着如何自动化分类,如何定义更加精细的用户意图来展开的。
我就从安德烈这篇非常有名的文章说起。
在网络搜索成为比较主流的咨询查询手段之前,传统的信息检索认为查询的主要目的是完成一个抽象的信息需求。
在传统信息检索的世界里,最主要的应用应该是图书馆检索或者政府、学校等企事业单位的检索。
因此,在这样的场景下,假定每一个查询主要是满足某个信息需求,就显得很有道理了。
然而,早在二零零二年安德烈就认为这样的传统假定已经不适合网络时代了。
他开始把查询关键字所代表的目的划分为三个大类,第一类是导航目的,第二类是信息目的。
第三类是交易目的。
此后十多年查询关键字的这三大分类,都是这个方向研究和实践的基石。
我们先来看这个分类的内涵。
第一类,以导航为意图的查询关键字。
这类查询关键字目标就是达到某个网站。
这有可能是用户以前访问过的这个网站,或者是用户假设有这么一个关于所提交查询关键字的网站。
这一类查询关键字包括公司的名字,如微软人的名字,如奥巴马或者某个服务的名字,如联邦快递等。
这类查询关键字的一个重要特点就是在大多数情况下,这些查询关键字都对应唯一的或者很少的标准答案网站。
比如搜索微软公司,希望能够找到就是微软公司的官方网站。
另一方面是说某些信息集成网站也是可以接受的答案。
比如查询奥巴马搜索返回的结果,是一个列举了所有美国总统的网站。
第二类,以信息为意图的查询关键字,这类查询关键字的目标是搜集信息,这类的查询和传统的信息检索非常接近。
值得提到的一点,是从后面的研究结论来看,这类查询关键字所包含的目标不仅仅是寻找到某类权威性质的网页,还包括列举权威信息的俗称节点的网站。
第三类,以交易为意图的查询关键字,这类的目标是到达一个中间的站点,从而进一步完成交易。
这类查询关键字的主要对象就是购物。
现在我们对于电子商务的态度可以说是非常新意了。
但是,十多年前在传统信息检索界统治的搜索研究领域里,提出交易类型的查询关键字,可以说是含有新意的。
当然,以上的三大分类,如果仅仅是概念上的区分,那就没有太大意义了。
安德烈利用搜索引擎奥特维斯塔进行了一次调查研究,这次调查包含了大约三千多的用户反馈,想到这是在二零零一年做的调查,可以说已经是大规模的研究了。
这次调研的结果是这样的。
在用户提交的信息中,导航类型的查询关键字占百分之二十六。
交易类型的查询关键字占到了百分之二十四,而剩下的将近百分之五十是信息类型的查询关键字。
用户的日志分析进一步证实了这一数据。
你可以看到这种把查询关键字进行分类的研究,是对用户行为进行建模的必要步骤。
于是,很快,就有不少研究人员嗅到了查询关键字分类的价值。
然而,完全依靠用户直接反馈来获取,这类信息则变得越发困难。
这里主要有三个原因,第一,不可能寄希望于用户汇报自己所有关键字的意图。
第二,面对亿万用户输入的查询,关键字,手工标注也是不可能的。
最后,安德烈的三类分类还是太粗犷了,在实际应用中希望得到更加细颗粒度的用户意图。
那么把查询关键字分类问题转换成标准的机器学习任务就很直观。
确切的说,这里需要做的就是把查询关键字分类转换成监督学习任务。
这里每一个查询关键字就是一个数据样本,而响应变量则是对应的类别。
具体情况取决于我们的任务是仅仅把查询关键字分为几个类别,并且认为这些类别之间是互相独立的,还是认为这些类别是可以同时存在的。
在最简单的假设下,查询关键字分类就是一个普通的多类分类问题,可以使用普世的多类分类器,比如支持向量机、随机森林以及神经网络等来解决这类问题。
对于绝大多数监督学习任务而言,最重要的一个组成部分就是选举特征。
随后很多年的研究开发工作当中,有一部分就是集中在尝试使用不同的特征。
然后来看,对提高分类的精度是否的有果。
过去的研究反复证明以下几类特征是否的有效。
第一类特征就是查询关键字本身的页征。
比如查询关键字中已经包括了已知的人名或者公司名。
这种时候分类结果就不太可能是交易意图的类别。
也就是说,查询关键字,特别是某些词或者是词组和类别有某种关联信息,而这种关联很大程度上能直接被反映出来。
第二类特征是搜索引擎返回的查询关键字相关的页面本身的信息。
你可以想象一下,假如搜索奥巴马这个关键字返回的页面都是维基百科的页面,以及奥巴马基金会的页面。
那么这些页面上面的内容可能很难包含任何商业的购买信息。
而对于佳能相机这个查询关键字而言,返回的页面很可能都是电子商务网站的商品信息,从而能够更加准确的判断佳能相机的分类。
第三类特征则是用户的行为信息。
那就是用户在输入查询关键字以后,会点击什么网站,会在哪些网站停留。
一般来说,哪些网站点击率高、停留时间长就表明这些网站在返回结果中可能更相关。
于是采用这些网站来作为查询关键字所代表的内容就可能更加靠谱。
在实际的应用中,查询关键字的分类往往还是有很大难度的。
因为在普通的现代搜索引擎上,每天可能有三分之一,甚至更多的关键字是之前没有出现过的,因此如何处理从来没有出现过的关键字,如何处理长尾中的低频关键字就成了让搜索结果的精度,再上一个台阶的重要因素,我今天就不展开相应的话题了。
如果你有兴趣可以查看相关论文。
今天呢我为你讲了现代搜索技术中一个非常基础,但是也在实际应用中至关重要的环节,那就是查询关键字理解中的用户意图分类问题。
你可以看到,查询关键字从大类上分为信息意图、交易意图以及导航意图。
三大类。
欢起来回顾一下要点。
第一,简要介绍了查询关键字分类提出的历史背景,安德烈布罗德的论文,奠定了查询关键字分类的坚实基础。
第二,详细介绍了主要的分类以及如何通过多类分类器的构建来达到自动化的目的。
最后给你留一个思考题,在继续学习排序算法当中,我们应该如何使用查询关键字分类的结果呢?欢迎你给我留言,和我一起讨论。