作者:洪亮劼,Etsy数据科学主管,前雅虎研究院高级经理。长期从事推荐系统、机器学习和人工智能的研究工作,在国际顶级会议上发表论文20余篇,长期担任多个国际著名会议及期刊的评审委员会成员和审稿人。
责编:何永灿,欢迎人工智能领域技术投稿、约稿、给文章纠错,请发送邮件至[email protected]
本文为《程序员》原创文章,未经允许不得转载,更多精彩文章请订阅2017年《程序员》
人工智能和机器学习领域的学术论文汗牛充栋。每年的各大顶级会议、研讨班录用好几千篇论文,即便是亲临现场也很难追踪到所有的前沿信息。在时间和精力有限的情况下,选择精读哪些论文、学习哪些热门技术就成为了AI学者和从业人员头痛的问题。本栏目旨在帮助大家筛选出有意思的论文,解读出论文的核心思想,为精读提供阅读指导。
信息检索(IR)界的顶级会议International ACM SIGIR Conference on Research and Development in Information Retrieval(SIGIR 2016)在意大利比萨举行。整整三十年前的1986年,第一届SIGIR大会也在同一个城市举行。尽管与机器学习和数据挖掘领域其他大会的蓬勃发展相比,SIGIR这几年有所收缩,但信息检索界的研究依然对搜索系统以及推荐系统的发展有着重要的指导作用。笔者从SIGIR 2016精选出5篇有意思的文章,为读者解惑。
A Sequential Decision Formulation of the Interface Card Model for Interactive IR
这篇论文来自伊利诺伊大学香槟分校信息检索领域权威翟成祥的实验室。推荐这篇文章主要有如下几个目的:
这篇文章的立足点,是如何扩展信息检索领域的经典假设——传统的Probability Ranking Principle到更加复杂的Decision Making的情况下。文章的核心,是用作者自己的语言和框架,把Markov Decision Process的基础重新写了一遍。然后,通过引入用户状态的概念,又推导到Partially Observed Markov Decision Process(POMDP)。之后,文章扩展了State,引入了Stopping State的概念。此外,文章定义了几种特殊的Card。由于提出的框架过于新颖,文章的实验主要是Simulation和小规模的User Study。单独看文章提出的这套理论,有一点希望在POMDP的经典语境下添加一些新东西的意味。同时,由于整个思路和传统的IR又相去甚远,实验也不好做。不过,这篇文章提出了一个不错的研究方向,和笔者之前的预期比较吻合。那就是:如何把最新的Reinforcement Learning的成果应用到信息检索领域?能否提出一个优化Long Term User Utility的办法,同时解决很多中间的问题,比如没法定义Utility怎么办,没法定义用户的中间状态怎么办?
Statistical Significance, Power, and Sample Sizes: A Systematic Review of SIGIR and TOIS, 2006-2015
这篇论文的作者酒井哲来自日本的早稻田大学,也是信息检索界的著名学者。他的这篇文章具有两层实用价值:第一,文章系统地分析了过去十年SIGIR和ACM Transactions on Information Systems(TOIS),信息检索领域的两大顶级发表平台中的绝大多数文章使用Hypothesis Testing的情况;第二,文章总结了不少实用的Hypothesis Testing工具,以及一系列关于这些工具的讨论,特别是针对这些工具在不同论文中的使用。
这里总结一下这篇文章的一些结论:
在10年的将近862篇论文中,只有35%使用了Paired t-test,而255篇(30%)没有Significance Testing。
在255篇中,167篇使用了“Significant Improvement”和“Significantly outperform”的字眼。
464篇有两个系统比较的论文中,65%使用了Paired t-test, 21%使用了Wilcoxon Signed Rank Test。
这10年来,没有Paired t-test或者Wilcoxon signed rank test的文章总体是减少的,使用Paired t-test的论文是增加的。
在565篇汇报了Significance Test结果的论文中,65%没有汇报p-values或者没有汇报test statistics。
在133篇能够做Power Analysis的文章中,29%是Extremely overpowered,还有7%是Extremely underpowered。
Extremely overpowered的实验数据通常来自工业界,而Extreme underpowered的则来自于雇佣了Participants。
总体看来,结果不是那么乐观。也就是说,过去10年SIGIR和TOIS的很多结果可能并不是那么站得住脚。当然,实践在慢慢改变。
Query to Knowledge: Unsupervised Entity Extraction
这篇文章来自雅虎研究院的Query Understanding组。目的是从Query Logs里面提取和商品有关的Entity,文章专注于品牌名和产品名。总体说来,Query的Entity Extraction是提取Query相关Feature的重要环节。与以前的思路不同的是,这篇文章提出的是彻底的无监督方法,也就是借助所谓的Adaptor Grammars(想深入了解Adaptor Grammars的朋友建议看相关论文,这篇文章里有简单的介绍,但不是很透彻)。
简单说来,Adaptor Grammars就是一个Nonparametric版的Probabilistic Context-free Grammar。用户可以通过定义一组简单的规则或者叫Grammar来启发算法发现类似的规则。当然,较真的朋友,可能会觉得这样的规则也是一部分监督信息。但是,定义这样的规则还是比要给单个数据点标注信息来得容易。
文章里的Adaptor Grammars是通过MCMC来学习的,作者们也提出了使用Variational Inference来加速的可能。从算法部分来看,这篇文章并没有对Adaptor Grammars进行大的改进,亮点是把这个算法应用到这个场景。从实验效果来看,Adaptor Grammars还是不错的,能够识别非常多的品牌和产品名。
另外有两点值得注意:第一,文章中提到的Query Normalization方法也值得参考,这样减少了数据中非常多的Noise;第二,文章的Related Work也很值得关注,看点在于总结了之前的Query Entity Extraction的主要方法,基本上都是基于CRF+Topic Modeling的Semi-Supervised的方法。
Generalized BROOF-L2R: A General Framework for Learning to Rank Based on Boosting and Random Forests
这篇文章的作者来自巴西的University Federal of Minas Gerais。文章的核心思想非常直观,就是要把Boosting和Random Forest(RF)结合起来做Learning to Rank。有这样想法的人过去也有不少,已经有了很多类似思路。这篇文章的思路是使用RF来做Weak Learner,然后用Boosting的想法把这些Weak Learner串起来。
当然,文章不是仅仅限于这么一个简单的思路,而是提出了一个叫BROOF的框架,很多算法的变种都可以在这个框架里实现。比如Weak Learner的Weight如何确定,是否选择使用Validation Set等,有兴趣的读者可以去看看文章的细节。
文章比较了提出的框架和很多知名算法的性能,比如AdaRank、LambdaRank、RankSVM等等。选用的数据集是LETOR 2003、2004和Yahoo Learning to Rank数据集。结果还是比较引人注目的,基本上在所有的数据集上,提出的算法性能不是最好,就是和最好的算法持平。
这篇文章的另外一个亮点是Related Work,对于Boosting或者RF在Learning to Rank里的应用有兴趣的读者,建议好好看看Related Work里的文献。
Fast First-Phase Candidate Generation for Cascading Rankers
作者中的Torsten Suel研究方向就是Query Processing和Index Construction,是这方面的专家。文章讨论的问题非常具有实际意义。首先,现代的搜索引擎和推荐系统多数采用Cascade Ranker的模式。也就是说,Candidate Set经过多轮的选择、排序、过滤,每一个阶段都比前一个阶段可能更复杂,Model的层次更高。关于Cascade Ranker的详细阐述,这篇文章的Related Work和Reference(惊人的59篇)都是非常不错的资源宝库。
回到文章本身,这篇文章探讨的是在Cascade Ranker的第一阶段如何利用Boolean Filter来达到最佳的选择效果。第一阶段之所以那么重要,是因为这个阶段Evaluate的文档个数是最多的,也是最需要效率的地方。值得注意的是,这篇文章探讨的是所谓Unsafe的方法,也就是第一部分有可能漏掉高质量的文档。具体而言,是建立两层结构的Index,在Offline的情况下就筛选出一些可能是高分的文档。其中第一层的Index有一个Single-Term和Pairwise-Term的结构,这两个结构都保持一定数量的高分文档;第二层Index用来查看剩下的一些分数。这里面要解决的问题是,如何选择第一层的深度,然后究竟在一个Query进来的情况下,如何选择Look-up的路径。需要注意的是,文章提供的还是偏向于Web Search的情况,要想推广到一般意义的Index,可能还需要额外的工作。