(3)搜索与机器学习_李航博士_新浪博客
机器学习在互联网搜索中的应用
下面介绍一些基于统计机器学习的最前沿的互联网搜索技术。
排序学习
对给定的查询语句,将检索到的网页进行排序是排序学习的任务。排序学习将此问题形式化为监督学习的问题,将网页表示为特征向量,其中特征表示网页与查询语句的匹配程度或网页的重要度,基于标注数据学习一个排序模型。现在最常用的方法是LambdaMART [1]。该方法将排序问题转换为二类分类问题,利用Boosting算法优化学习目标函数。其最大特点是不显示地定义损失函数,而定义损失函数的梯度函数,以解决排序损失函数不易优化的问题。其他代表的排序学习方法还有Rank SVM [5]、 IR SVM [2]、AdaRank [10]等。
网页重要度学习
网页重要度学习旨在计算出每个网页的重要度,排序时将重要的网页尽量排在前面。传统的网页重要度计算基于超链接与PageRank算法。直观上,有许多链接指向的网页重要,网页的重要度可以通过链接在网上传播;PageRank用马尔可夫模型实现这一直观。可以认为最近提出的BrowseRank算法 [6]是PageRank算法的扩展与补充。BrowseRank首先根据用户行为数据构建用户浏览图。然后再在用户浏览图上定义连续时间马尔可夫过程,用其平稳分布表示网页的重要度。直观上,用户在网页上平均停留时间越长,网页就越重要;转移到网页的次数越高,网页就越重要。基于用户的互联网使用行为数据,BrowseRank能够更好地计算网页重要度。
匹配学习
查询语句与网页的相关性靠两者的匹配程度决定,匹配结果直接影响搜索结果。比如,查询“ny times”应与含有“new york times”的网页匹配。理想的匹配应该是语义上的匹配,而不是关键字上的匹配。匹配学习的目的在于将字面上并不相同,但语义相同的查询语句与网页匹配上,将语义相关的网页排在搜索结果的前面。代表的方法有翻译模型 [3]与隐空间模型 [9]。日志数据中记录了用户点击。比如用户搜索“ny”,因为既含有“ny”又含有“new york”的网页会被搜到,所以两者通过用户搜索中的点击得以联系。隐空间模型方法基于点击数据将查询语句与网页投影到隐空间,在隐空间中学习到查询语句与网页之间的相似度,也就是匹配关系,进而能对新的查询语句与网页的匹配程度作出判断。比如,学到“ny”与“new york”的相似度,判断“ny times”与“new york times”是可以匹配的。
话题模型学习
查询语句与网页应该在话题上也能匹配,比如,查询语句是“jaguar car”,那么关于jaguar汽车的网页是与查询相关的,而关于动物jaguar的网页即使含有jaguar与car这两个字,往往也是不相关的。话题模型学习旨在自动从索引网页中抽出所有可能的话题,以及每个网页的话题,以便在搜索时,进行查询语句与网页在话题上的匹配。话题模型学习的方法很多,有概率方法,如PLSI、LDA,也有非概率方法,如LSI、NMF、RLSI。互联网搜索需要处理大规模网页数据,最近提出的RLSI [7] 方法有很好的扩展性、能够在大规模网页数据上进行高效的话题模型学习。
查询语句转换学习
10-15%的英文查询语句含有拼写错误;中文查询语句中含有许多拼音汉字转换错误,如“新浪”被误转换为“新郎”。除此之外,查询语句中还有许多不规范、不准确的表述。搜索引擎一般能够自动纠正拼写等错误,将不正确的查询语句转换为正确的查询语句。代表的方法有CRF-QF [3]、LogLinear [8]等。例如,LogLinear方法从日志数据中收集大量的含有拼写错误的查询语句,以及相应的正确的查询语句,从中提取转换规则,自动学习拼写转换的对数线形模型。搜索时,对新的查询语句试用各种转换规则,根据对数线形模型,找出最有可能的转换,即纠正,如果转换的概率足够大,就对查询语句实施转换。
3.互联网搜索的挑战与机遇
帮助用户尽快、尽准、尽全地找到信息,从本质上需要对用户需求(查询语句),以及互联网上的文本、图像、视频等多种数据的内容进行“理解”。也就是要解决人工智能的挑战。这种意义上,互联网搜索永远需要面对且克服这一挑战。
互联网搜索遵循幂率分布,有头部查询(高频查询)与尾部查询(低频查询)。人工智能挑战在尾部与头部体现出不同的特点。
回到图灵测试。也许经过几轮测试,图灵就会发现互联网搜索对头部的查询能给出很好的结果,但是对尾部的查询结果常常不很理想。互联网搜索主要还是基于关键字匹配。因为尾部查询没有足够多的信号,比如点击数据,有时查询语句与网页不能有很好的匹配,搜索引擎无法做出正确的相关度判断。匹配学习能解决一部分问题,但是还有很长的路要走。
十大最热门的大数据技术
-
预测分析:随着现在硬件和软件解决方案的成熟,许多公司利用大数据技术来收集海量数据、训练模型、优化模型,并发布预测模型来提高业务水平或者避免风险;
-
NoSQL数据库:非关系型数据库包括Key-value型(Redis)数据库、文档型(MonogoDB)数据库、图型(Neo4j)数据库;
-
搜索和知识发现:支持信息的自动抽取,可以从多数据源洞察结构化数据和非结构化数据;
-
流式分析:软件可以对多个高吞吐量的数据源进行实时的清洗、聚合和分析;
-
内存数据结构:通过动态随机内存访问(DRAM)、Flash和SSD等分布式存储系统提供海量数据的低延时访问和处理;
-
分布式存储系统:分布式存储是指存储节点大于一个、数据保存多副本以及高性能的计算网络;
-
数据可视化:数据可视化技术是指对各类型数据源(包括Hadoop上的海量数据以及实时和接近实时的分布式数据)进行显示;
-
数据整合:通过亚马逊弹性MR(EMR)、Hive、Pig、Spark、MapReduce、Couchbase、Hadoop和MongoDB等软件进行业务数据整合;
-
数据预处理:数据整合是指对数据源进行清洗、裁剪,并共享多样化数据来加快数据分析;
-
数据校验:对分布式存储系统和数据库上的海量、高频率数据集进行数据校验,去除非法数据,补全缺失。