阅读更多

0顶
0踩

互联网

转载新闻 Quora 是如何使用机器学习的?

2015-08-19 16:28 by 副主编 mengyidan1988 评论(0) 有3844人浏览
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翻译,黄利民 校稿
  • 大小: 130 KB
  • 大小: 263.3 KB
  • 大小: 48.9 KB
  • 大小: 116.5 KB
  • 大小: 50.5 KB
来自: 伯乐在线
0
0
评论 共 0 条 请登录后发表评论

发表评论

您还没有登录,请您登录后再发表评论

相关推荐

  • QuoraAnswerClassifier:这是我对 Quora 机器学习挑战问题的实施和实验(正在进行中)

    QuoraAnswerClassifier 这是我对 Quora 机器学习挑战问题的实施和实验(正在进行中)。 我已经尝试过 k-NN 算法,它有大约 70% 到 78% 的准确率,这取决于有多少数据点,我如何选择 K,以及我是否减少了数据的维度。...

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

    点击打开链接【译者注】在本文中,作者从提问,解答,阅读等方面介绍了Quora在2017年是如何将机器学习应用于网站的,同时给出了使用的模型。以下为译文:...

  • C++机器学习?

    点进来说明有过这种罪恶的想法——用C++/C学习机器学习。不妨分享我看到的一个观点: 的确你可以用任何语言编程语言学习一切专题,但是千万不要用C++学机器学习,碰都不要碰。 首先人们经常夸大Python比较慢这件事...

  • 机器学习算法_Quora上的大牛们最喜欢哪种机器学习算法?

    大数据文摘投稿作品来源:Quora编译:群青机器学习算法那么多,一个问题的解决往往可能有好多算法的选择。这些算法有什么特点呢?特定的场景需要选择哪一算法呢?我们为大家翻译了Quora上大牛们最喜欢的机器学习算法...

  • Quora上的大牛们最喜欢哪种机器学习算法?

    机器学习算法那么多,一个问题的解决往往可能有好多...我们为大家翻译了Quora上大牛们最喜欢的机器学习算法,一起欣赏。 Carlos Guestrin,亚马逊计算机科学机器学习教授,Dato公司ceo及创始人 (Dato原名Gra...

  • 如何使用机器学习自动修复bug: 数据处理和模型搭建

    如何使用机器学习自动修复bug: 数据处理和模型搭建 上一篇《如何使用机器学习自动修复bug: 上手指南》我们介绍了使用CodeBERT自动修复bug的操作方法。 估计对于很多想了解原理的同学来说,只知道训练的推理的命令太...

  • 机器学习过采样是重复数据吗_使用机器学习查找重复的定额问题

    机器学习过采样是重复数据吗Quora is an amazing platform where questions are asked, answered, followed, and edited by internet companies. This empowers people to learn from each other and to better ...

  • 在 Quora 做机器学习「炼丹」是种怎样的体验?

    雷锋网 AI 科技评论按:实际上,号称「美版知乎」的Quora 也已经大量引入了机器学习技术,而 Quora 的工程师们则喜欢把自己研究机器学习、产出技术方案的过程戏称为「炼丹」,如今他们也想对外分享他们的经验和成果...

  • 机器学习案例-Quora

    1.Quora使用的模型 逻辑回归 弹性网络 梯度增强决策树 随机森林 LambdaMART 矩阵分解 向量模型及其其它自然语言处理技术 2.收集资料加速芯片是神经网络芯片的最终形态 陈云霁

  • Quora是如何做推荐的?

    知乎联合创始人张亮在值乎上问了俞军老师一个问题,「以您的使用体验看,您觉得知乎现在最急需做的三到五项产品改进是哪些?」俞军老师的回答中给的第一个意见就是,「个性化内容的挖掘和推送,我知道知乎里有大量...

  • Andrew Ng教你如何学习机器学习——Quora问答

    本期博客介绍如何学习人工智能,当然不是由我本人来阐述,而是根据吴恩达老师的Quora回答进行总结和归纳。Andrew Ng是大名鼎鼎的...其权威和知名度不言而喻,本文就是基于他的Quora回答给大家讲解下如何入门机器学习。

  • AI-人工智能、机器学习和深度学习的区别?

    人工智能的浪潮正在席卷全球,诸多词汇时刻萦绕在我们耳边:人工智能(Artificial Intelligence)、机器学习(Machine Learning)、深度学习(Deep Learning)。不少人对这些高频词汇的含义及其背后的关系总是...

  • 机器学习高频面试题(41道)

    Bias 是由于你使用的学习算法过度简单地拟合结果或者错误地拟合结果导致的错误。它反映的是模型在样本上的输出与真实值之间的误差,即模型本身的精准度,即算法本身的拟合能力。Bias 可能会导致模型欠拟合,使其难以...

  • 机器学习是深度学习之母

    本科期间学习了机器学习的一些算法,用SVM做的人脸识别的工作,之后又去中科院实习,用深度学习来做人脸识别。所以,从传统算法,到深度,这个过程,我是深深体会到的。单从CV领域,尤其是二维方面的工作,卷积神经...

  • python和r哪个实用_Python和R哪个更适合机器学习?

    现在已经广泛应用于YouTube,Instagram,Quora和Dropbox中,python在IT业务中使用非常多,开发团队常常用于构建基础,你需要一种通用编程语言和丰富拓展库,python是首选。企业想要度量和统计数据以外的其他功能,...

  • asp代码ASP家教信息管理系统(源代码+论文)

    asp代码ASP家教信息管理系统(源代码+论文)本资源系百度网盘分享地址

  • 基于ssm高校毕业选题管理系统.zip

    基于ssm高校毕业选题管理系统.zip

  • 基于旷视研究院领先的深度学习算法,提供满足多业务场景的预训练模型.zip

    人工智能毕业设计&课程设计

  • tensorflow_model_optimization-0.1.3.dev0-py2.py3-none-any.whl

    Python库是一组预先编写的代码模块,旨在帮助开发者实现特定的编程任务,无需从零开始编写代码。这些库可以包括各种功能,如数学运算、文件操作、数据分析和网络编程等。Python社区提供了大量的第三方库,如NumPy、Pandas和Requests,极大地丰富了Python的应用领域,从数据科学到Web开发。Python库的丰富性是Python成为最受欢迎的编程语言之一的关键原因之一。这些库不仅为初学者提供了快速入门的途径,而且为经验丰富的开发者提供了强大的工具,以高效率、高质量地完成复杂任务。例如,Matplotlib和Seaborn库在数据可视化领域内非常受欢迎,它们提供了广泛的工具和技术,可以创建高度定制化的图表和图形,帮助数据科学家和分析师在数据探索和结果展示中更有效地传达信息。

Global site tag (gtag.js) - Google Analytics