正文
机器学习用例
我会贯穿产品的不同部分,来谈论我们在这些部分是如何使用机器学习的。
1.搜索信息
知识共享在 Quora 上的主要形式是提问和回答。这始于用户拥有一个问题,或他们想要满足的一种“信息需求”。当用户在 Quora 上提出一个新的问题之后,我们有一套机器学习系统完成问题理解,即使用一种有助于为我们简化后续流程的方式,从问题中提取信息。我将对问题理解系统做一些描述。
我们非常关心内容质量,而这一切都始于提问的质量。我们有一个机器学习(ML)体系对每个问题进行问题质量分类,并帮助我们区分高质量和低质量的问题。除了提问质量,我们也定义了一些不同的问题类型来帮助我们确定在之后的流程中该如何对待这个问题。
最后,我们也做提问话题的标签,来确定提问是关于什么话题。虽然大多数话题建模应用能处理大型文档文本和小型话题本体,我们仍使用简短的问题文本和超过一百万的潜在主题给问题做标签,这使给问题分类变得更具挑战性。
在所有的问题理解模型中,我们使用了提取自问题和上下文的特征。比如,问过该问题的用户、问过该问题的场所等等。
满足用户信息需求的另一种方法,是通过让他们搜索现有的问题来给予他们正在寻找的答案。我们有两个主要的搜索系统:位于Quora 主页顶部搜索栏的提问栏搜索,以及可以通过单击提问栏结果上的“搜索”选项,进行深度搜索的全文搜索。这两个搜索系统使用不同的排序算法,根据搜索速度、相关性、结果的广度和深度,其返回的结果有所不同。
2.获得问题的答案
问题理解系统的输出,形成了问题生命周期中下一步的重要输入:从专家那获得答案。我们同样有机器学习系统帮助我们更好地解决这个问题。
请求回答(Request Answers,以前被称为Ask To Answer)是 Quora 的一个功能。该功能允许用户发送请求给其他用户,让他们为一个特定的提问写回答。我们将请求回答定性为一个机器学习问题。在该博客帖文覆盖了我们对这个系统的细节:Ask To Answer as a Machine Learning Problem。
在请求回答(A2A)之外,匹配待回答问题和专家答主的主要方式是通过 Quora 主页的推荐内容。对信息流中的提问进行排序对我们来说是个非常重要的问题。我们把问题属性(如前所述)、用户属性(更多介绍见下文),以及一系列其他的原始特征和派生特征考虑在内,作为排序模型的输入,为你生成一个热门的、相关的且个性的推荐内容。例如,这个几天前我的推荐内容截图。