点击上方“
CSDN
”,选择“置顶公众号”
关键时刻,第一时间送达!
作者丨Nikhil Dandekar
译者
丨
Teixeira10
译者注:在本文中,作者从提问,解答,阅读等方面介绍了Quora在2017年是如何将机器学习应用于网站的,同时给出了使用的模型。以下为译文:
2015年,公司的工程副总裁Xavier Amatriain,关于如何在Quora上使用机器学习给了一个很好的答案。从那时起,在Quora上使用机器学习发展的越来越快,我们不仅为现有的机器学习应用程序开发了更大更好的模型,而且还扩展了我们使用机器学习的领域。在这个答案中,我将给出一个蓝图,来描绘出在2017年Quora是如何使用机器学习的。
机器学习使用实例
我将介绍产品的各个不同组成部分,并讨论如何在其中使用机器学习。
1. 搜索信息
在Quora上分享知识的主要形式是问答。一开始,用户可能会有一个问题需要解答,或者会有一些 “信息需求”,他们想要得到满足。在Quora上有一个用户问了一个新问题之后,会有一套机器学习系统来对问题进行理解,即从问题中提取信息,以帮助我们更容易地完成剩余的工作。所以,我将介绍一下这个问题理解系统。
我们关心更多的是答案内容的质量,但这一切都基于问题的质量。我们有一个ML系统,它拿到一个问题,就会对问题进行质量分类,以此来帮助我们区分高质量和低质量的问题。除了问题质量,我们还决定了几个不同的问题类型,这帮助我们决定应该如何在之后的流程中处理这些问题。
最后,我们也会给不同主题的问题标记一个标签,标签决定了问题的主题。当大多数主题建模应用程序处理一个大文本和一个短小的主题时,我们会使用一个简短的问题文本和超过100万个潜在主题来标记这个问题,这也使它成为一个更具挑战性的问题。
在所有的问题理解模型中,我们会使用问题本身及其内容的特性,例如:提出问题的用户是谁,提此问题的所在地区等等。
满足用户信息需求的另一种方法是,让他们搜索现有的问题,来答案他们正在寻找的问题。我们有两种主要的搜索系统:Ask Bar search,在Quora主页上会有最顶端的搜索栏,提供全文搜索,这是一个很深入的搜索,你可以通过点击“搜索”来进行访问。这些搜索系统使用不同的排序算法,它们在搜索速度、相关性和结果的广度和深度上有所不同。
2. 得到问题的答案
问题理解系统的输出在一个问题的生命周期中形成了一个重要的输入:得到专家的答案。在这里也有机器学习系统,帮助我们更好地解决这个问题。
问答是Quora的一个特点,它允许用户向其他用户发送请求,让他们为一个特定的问题写答案。我们将请求答案看成是一个机器学习问题。所以,我们在这篇博文中重点讨论了系统的细节:应用于请求答案的机器学习问题。
在A2A之外,我们的主要方法是通过Quora的主页来匹配专家答案的问题。对我们来说,排序问题是一个非常重要的问题。我们考虑如上所述的问题属性,用户属性,以及原始的和派生的特性作为排序模型的输入,生成一个局部的、相关的和个性化的提要。这是几天前我提供的截屏。
3. 读取内容
正如你在上面看到的,它不仅可以包含你可以编写答案的问题,它还包括值得阅读的答案。对我们来说,答案的排序是另一个重要的问题。问题排序和答案排序使用类似的底层系统,但这两个有着不同的目标,因此,在其底层模型中会使用不同的特性集。另一个使用机器学习对值得阅读的答案进行排序的方式,是我们发送给用户的电子邮件摘要。所有这些排序问题都是由高级的ML系统提供的,这些系统使用多个模型和许多不同的特性来得出最终的排序。
一旦用户发现了一个有趣的问题,我们要确保他们在Quora上有很好的阅读体验。问题的答案排序是一个重要的ML应用程序,它确保了一个给定问题的最相关的答案会排在最靠前的位置。我们在这里详细讨论了如何用ML系统进行答案排序:机器学习方法应用于Quora上的答案排序。在答案的基础上,我们也做评论排序,以确保你能在上面看到最相关的答案。所有这些排名系统不仅仅是根据简单的赞同或反对的评论来排序,同时也根据这些用户的特征,评论内容的质量,以及活动参与等角度,以得出最终排名。