Quora 是如何使用机器学习的?

标签: quora 机器学习 | 发表时间:2015-08-19 16:28 | 作者:
出处:http://www.iteye.com
Quora使用机器学习技术有段时间了。我们始终跟进最新的法,并对现有方法做出重大改进。很有必要提醒各位注意,所有这些改进都是首先在线下运用多种不同的离线测试法进行优化和测试,但最终都要通过在线 A/B 测试。

我将在本文说说 2015年 Quora 会用到的一些非常重要的机器学习应用与技术。

(伯乐在线注:本文作者 Xavier Amatriain 是 Quora 工程副总。)

排名

排名可以说是网上最重要的机器学习应用之一了。大大小小的公司都围绕着排名建立起业务模型,例如,查询字符串返回的结果。Quora 在不同的环境、为了不同的目的,使用了不同的排名算法。

一个有趣的例子就是答案排名。假设一个问题有好几个答案,我们感兴趣的是,如何对它们降序排列,使得“最佳”答案在最前,而最差答案在最后。(见如下屏幕截图)。



确定一个问题答案的正确排序涉及到多种特征。要确定顺序,首先我们要确定Quora如何定义“好答案”。要得出这个定义,有个好办法是研究一下《 Quora认为什么样的答案是有用的》这篇帖子,里面会提到答案要“真实”、“可重用”、“给出解释”、“格式良好”等等标准。我们的机器学习算法实现了一种特殊的机器学习排名方法,使用了多种特征,试图将与上述抽象概念相关联的多个维度进行编码。例如,我们使用了描述写作质量信息的特征,也使用了描述该答案收到的互动情况的特征(如赞、踩以及展开数量)。我们还使用了与答案作者相关的特征,比如,他在问题领域的专业性。

在Quora, 还有很多其他的排名应用,有些甚至不为人察觉。例如,对于一个答案点赞的用户名也是排序后显示的,目的是要将我们认为对于该问题/答案最有见识的用户排在最前。同样,对于特定问题显示可能的回答者时,那些推荐的用户也是排过序的。

让我们来仔细看看机器学习排名算法的两个特例:搜索以及个性化排名。

搜索算法

对于Quora这样的应用,搜索算法可以被视为排名的另一个应用。实际上,搜索可以分解为两个步骤:文字匹配和排名。第一步,以某种方式返回与搜索框输入的查询字符串匹配的文档(问题)。然后,这些文档作为第二步的候选问题,进行排名,以使点击概率等方面得到优化。

第二步中很多的特征可以使用,它确实是另一个机器学习排名算法的例子。包括已在最初文字匹配阶段使用过的简单文字特征,以及其它与用户行为相关的特征,或是如流行度等对象属性。

个性化排名

在如上文描述的一些场景中,也许一个对所有用户的全局最优排名就够用了。换句话说,我们可以假定,对于给定问题,最“有帮助”答案的排序对于阅读答案的用户来说是独立的。然而,这一假设在很多重要场合并不成立。场合之一就是Quora Feed,从根本上说它是任意登入这一产品的用户都可见的主页。在这个主页上,我们试图为特定的用户在特定的时间挑选最“有趣”的故事,并进行排名(见下例)。这就是一个典型的机器学习个性化排名,与Netflix主页对电影和电视剧进行排名类似。



而Quora的用例比Netflix电影电视剧排名更具挑战性。事实上,我们的用例可以看作是Netflix、Facebook以及Google News优化个性化排名的结合体。一方面,我们要保证排名靠前的故事在主题上与用户相关。另一方面,Quora与用户之间也有明确的关系。你在“社交网络”上的行为也应当对排名有所影响。再次,Quora上的故事有时或许与正在进行的潮流事件相关联。及时性是另一个应当影响模型决策的因素,来决定一个故事的排名应当提升还是降低。

正因如此,Quora的个性化排名涉及到各种不同的特征。下面列出若干:
  • 问题/答案的质量
  • 用户感兴趣的主题
  • 该用户关注的其他用户
  • 热门事件

其实,请务必记住,在Quora我们不仅对如何吸引用户来阅读有趣的内容感兴趣,也对将问题提交给能写出有趣内容的用户感兴趣。因此,我们必须将涉及答案趣味性的特征以及针对问题的特征都纳入。为了得到这些特征,我们使用从用户、作者以及对象(如答案/问题)行为推导出的信息。这些行为都被考虑在内并累计在不同的时间窗口内,并提供给排名算法。实际上,可以得到很多不同的特征来加入我们的个性化推送模型,而且我们一直尝试加入更多的特征。

对于我们的 Feed 排名应用,另一个重要的考虑是我们需要能对用户的行为、观感,甚至是热门事件做出响应。我们数以百万的问题和答案还在不停增长,因此我们不能试图为每一个用户进行实时排名。为了优化体验,我们实现了一个多段式排名解决方案,其中提前就对候选者进行选择和排序,之后真正执行最终的排名。

推荐

上述的个性化排名已经是推荐的一种形式了。类似的方法用在不同的案例中。例如,广受欢迎的Quora 邮件精选包括了一系列为你挑选并推荐的故事。这是一个不同的机器学习排名模型,根据不同的目标函数进行优化。除了排名算法,我们在产品的各个不同部分有其它的个性化推荐算法。例如,在好几处地方,你都可以看到人物或主题的推荐(见下图)。



相关问题

另一个推荐的源由是为了给用户展示与当前问题有某种关系的其他问题。

相关问题由另一个机器学习模型来确定的,它考虑多种不同特征,例如,文字相似性、共享数据(co-visit data),或是如主题等相同的特征。与流行度、或是问题质量相关的特征也要考虑。有必要指出,一个好的“相似问题”推荐,不仅是一个条目与源问题有多相似,还包括目标问题的“趣味性”。实际上,对于任何一个“相关条目”机器学习模型,最麻烦的问题是在相似性和其它关联性因素间进行权衡。



相关问题这个模型对于吸引登出用户从外部搜索中访问问题页面特别有效。这也是为何至今这一推荐模型并未个性化的原因之一。

重复问题

重复问题是上述相关问题的极端情况。对于Quora而言,这是一个难题,因为我们要保证用户回答一个特定问题的精力会被分享,并且被集中到正确的地方。同样,有必要为想要在网站上提问的用户指出已有的答案。所以,我们花费了大量精力来检测重复问题,特别是在发起问题的阶段。



我们现有的解决方案是基于使用重复/非重复标签训练的二元分类器。我们使用多种信号量,包括从文本向量空间模型到基于使用量的特征。

用户可信度/专业性推断

在Quora这样的应用里,掌握用户的可信度是非常重要的事情。实际上,我们并不仅仅完全局限于回答问题本身,还对其与相关主题的关联性感兴趣。某一用户也许对于某些主题知识渊博,但对于其它领域就不一定了。Quora使用机器学习技术来推断用户的专业性。我们不仅了解用户对于给定主题写了什么答案,也知道这些答案得到了多少赞、多少踩,以及什么样的评论。我们还知道这个用户在这个领域得到了多少“推荐”。推荐(Endorsements)是从其他用户角度对于某人专业性非常明确的认可。

另外还有件要事要记住,可信度/专业性通过网络传播,这也需要被算法考虑。例如,如果一位机器学习专家对我在机器学习领域的回答给出一个赞,它的分量应该超过该领域非专家的随机用户给出的赞。这也同样适用于推荐以及其它用户间特征。

垃圾信息检测与节制(Moderation)

像Quora这样以保持内容高质量为傲的网站,必须对使用垃圾、恶意或非常低质量的内容愚弄系统的行为非常警惕。纯粹的人工审阅模式无法扩展。而问题的解决之道,正如你猜测的那样,是使用机器学习模型来检测这些问题。

Quora有好些个模型来检测内容质量相关的问题。这些分类器的输出大部分情况下不会直接用作决策,而是将这些问题/答案提供给节制队列,然后进行人工审阅。

内容创建的预测

对 Quora 来说,有一点非常重要,要记住:我们对系统很多部分进行优化,不只是为了吸引读者,也是为了产出最好的质量、最受欢迎的内容。因此,我们有一个机器学习模型来预测某一用户撰写某一问题答案的可能性。这使得我们的系统能用多种方式给予这些问题优先权。其中之一就是系统的自动 A2A(Ask to Answer),它将问题通过提示发送给潜在的回答者。上述其它的排名系统也使用这个模型来预测概率。

模型

Quora对于前文所述不同的案例尝试过很多不同的模型。有时,我们使用开源实现,但更多时候我们最后实现了更有效、更灵活的内部版本。我不会讨论模型的细节,但会列出我们系统使用的模型:
  • 逻辑回归
  • 弹性网络
  • 梯度增强决策树
  • 随机森林
  • 神经网络
  • LambdaMART
  • 矩阵分解
  • 向量模型以及其它自然语言处理技术

结语

综上所述,Quora运用机器学习的方式多种多样。我们使用这些机器学习方法已经取得了非常重大的收益,我们坚信未来还会有更多收益,并且我们对于新技术还会持续投入。另外,在不久的将来还有激动人心的机器学习新应用,我们已经有所思考了。这些新应用包括广告排名、机器翻译以及其它自然语言处理领域,这些都将直接成为我们计划马上添加的产品新特征。

英文出处: Xavier Amatriain
本文由 伯乐在线 - toolate翻译,黄利民 校稿

感谢 mengyidan1988 投递这篇资讯

资讯来源: 伯乐在线

已有 0 人发表留言,猛击->> 这里<<-参与讨论


ITeye推荐



相关 [quora 机器学习] 推荐:

Quora 是如何使用机器学习的?

- - ITeye资讯频道
Quora使用机器学习技术有段时间了. 我们始终跟进最新的法,并对现有方法做出重大改进. 很有必要提醒各位注意,所有这些改进都是首先在线下运用多种不同的离线测试法进行优化和测试,但最终都要通过在线 A/B 测试. 我将在本文说说 2015年 Quora 会用到的一些非常重要的机器学习应用与技术. (伯乐在线注:本文作者 Xavier Amatriain 是 Quora 工程副总.

Quora 用了哪些技术 ?

- CMGS - DBA Notes
很多团队都在学习、研究 Quora. 前段时间看到这篇 Quora's Technology Examined ,阐述了 Quora 的技术架构,有一些值得关注的信息,记录并分享一下. Quora 大量使用 Amazon EC2 与 S3 服务;操作系统部署的是 Ubuntu Linux,易于部署和管理;静态内容用 Cloudfront.服务分发,图片先传到 EC2 服务器,使用 Pyhon S3 API 处理后后传到 S3.

Quora使用到的技术

- CMGS - 酷壳 - CoolShell.cn
以前向大家介绍过Stack Exchange的系统架构和Facebook的系统架构,今天和大家说说Quora的. 本文主要参考了Phil Whelan的这篇文章《Quora’s Technology Examined》. 关于Quora是个什么网站我就不多说了,国内对他的C2C网站叫“知乎”. 我们还是来看看Quora的技术吧.

Quora 入职第一天

- Wenhuan - 爱范儿 · Beats of Bits
现在的移动互联网发展如火如荼,各种 Startup 项目和公司层出不穷. 他们对于人才的争夺战也愈加剧烈,各种福利、软硬件环境都成为吸引人才的要素. 之前我们介绍过 Twitter 入职的一些情况,而上周六刚刚加入 Quora 的工程师 Kah Seng Tay 介绍了他在 Quora 的新生活. 入职时 Lisa Moreno 用绽放的笑容接待了他,并给了他办公室所有门的钥匙以及一些需要填写的入职资料.

Quora 的美妙世界

- 坏人 - 爱范儿 · Beats of Bits
在 Facebook 和 Twitter 之外,Quora 是 SNS 网络中的另一个真正的亮点. 我们曾经分析过它流行之下的隐忧所在,也探究过在它带动之下其他问答网站的新尝试与创新,我们甚至也带大家一起八卦了一下入职 Quora 工作的情景. 日前数据分析公司 KISSmetrics 在一名 Quora 的活跃用户 Semil Shah 帮助下,绘制了一幅信息图,从中我们可以了解到 Quora 一些很有趣的细节,比如人们如何使用 Quora、Quora 的用户增长率等等.

Quora使用到的技术

- Michael - 互联网的那点事
以前向大家介绍过Stack Exchange的系统架构和Facebook的系统架构,今天和大家说说Quora的. 本文主要参考了Phil Whelan的这篇文章《Quora’s Technology Examined》. 关于Quora是个什么网站我就不多说了,国内对他的C2C网站叫“知乎”. 我们还是来看看Quora的技术吧.

说说Stack Overflow和Quora

- corleone1969 - robbin的自言自语
今天看到一个新闻,Quora的中国克隆“知乎”得到了创新工场的投资. 我之前从创新工场的投资经理张亮那里要到了一个知乎邀请码,最近一直泡知乎,觉得Quora类的产品有很多创新的亮点,所以比较感兴趣这类产品,忍不住就谈谈. Stack Overflow(以下简称SO)和Quora虽然都是知识问答类的网站,但是他们有共同的成功基因,也有本质的差别.

Quora使用到的技术

- 焜懿 - ITeye资讯频道
本文主要参考了Phil Whelan的这篇文章《Quora’s Technology Examined》. 关于Quora是个什么网站我就不多说了,国内对他的C2C网站叫“知乎”. 我们还是来看看Quora的技术吧. Quora只能搜索问题,主题标签,用户名,和主题标题. 没有全文搜索,所以,你无法搜索问题和答案的内容.

机器学习五步走

- - 我爱机器学习
经常会有人问“我该如何在机器学习方面更进一步,我不知道我接下来要学什么了. 一般我都会给出继续钻研教科书的答案. 每当这时候我都会收到一种大惑不解的表情. 但是进步确实就是持续的练习,保持较强的求知欲,并尽你可能的完成具有挑战性的工作. 因为他是为数不多的几种可以让你真真让你获取坚实知识的媒介. 是的,你可以选择选一门课,注册MOOC,参加一些讨论班.

机器学习之路

- - 我爱机器学习
自从答应简二毛博士将自己的机器学习历程和心得分享给大家至今,转眼间半年已经过去了,感谢简博士分享和开源精神的鼓舞,这也正是本系列关于机器学习介绍博客的动力来源. 之前有些网友,师弟们问我,学习机器学习怎么入手,从看什么书开始. 如果你只愿意看一本书,那么推荐Bishop的PRML,全名Pattern Recognition and Machine Learning. 这本书是机器学习的圣经之作,尤其对于贝叶斯方法,介绍非常完善.