自从我一年前加入Quora,我一直在谈论在这里的所有的非常有趣的关于机器学习的挑战。然而,当我上周参加并在MLConf发言时,我很惊讶,许多和我谈过的人仍然没有听说我们在做什么。 在这篇文章中,我将简要总结一些好的要点,让你了解更多。
在Quora我们在关心什么?
Quora的使命是“分享和增长世界的知识”。 我们相信,有很多知识仍然在人们的头脑,我们想把它带到互联网中,然后提供一种方式,一种不仅有效率,而且有吸引力的方式。我们通过使用问答的方式来做到这一点,但重要的是要知道,这只是我们完成我们使命的选择的载体。使Quora独特的事情之一是我们关心三个正交维度:相关性,需求和质量。
我们关心相关性,因为我们想确保每个人都能获得他们最感兴趣的知识。我们关心需求,因为我们想确保许多人的问题都能得到好答案。 最后,但非常重要的是,我们关心质量,因为我们相信质量是知识的内在属性。 “坏质量知识”是没有知识。这三个维度很重要,因为它们是我们将在我们的产品功能以及机器学习模型中进行优化的。
数据
您可以将Quora视为知识库,有主题的兴趣网络和社交网络之间的混合。这创建了一个非常丰富的数据和数据之间关系的生态系统,我们可以在我们的机器学习方法中使用。 看看下面的图表。
这总结了不同的数据和数据之间的关系。 例如,用户可以关注和认可给定主题上的另一用户。 用户也可以关注主题。用户还可以通过写入或上传/下载等来处理问题和答案,诸如此类。这个复杂的生态系统提供了很多机会去利用数据来改进我们的产品和我们的用户体验。为了做到这一点,我们首先需要了解已经存在的不同效果。 我们的数据科学团队在这些研究中有一些有趣的推送。
机器学习产品解决办法
我们在产品的许多不同的部分使用了机器学习。 这些是在后台使用机器学习的一些产品功能:
• 答案排名
• 反馈排名
• 首页推荐
• 用户推荐
• 邮件识别
• Ask2Answer
• 重复问题
• 相关问题
• Spam/moderation
• Trending now
• ...
这些解决方案中的每一个都需要不同类型的数据用于训练和测试以及特征生成。我们还需要定义不同的目标函数和指标来优化。 当然,我们需要使用不同的机器学习模型。
机器学习模型
如上所述,我们需要不同的模型来实现我们感兴趣的机器学习产品功能。其中一些将需要学习排序方法,而其他将需要一个二元分类器。这里是我们使用的一些机器学习模型列表:
要清楚,我们使用这么多的模型不是吹嘘我们知道多少模型。 我们这样做是因为事实证明他们最终只在某些情况下工作的最好。随机森林和渐变增强的决策树是可以互换的,但如果一个在一种情况下是最好的,为什么不使用它?并且它还不增加系统的复杂性。