Quora是如何做推荐的,quora怎么才能使用Quora是如何做推荐的知乎联合创始人张亮在值乎上问了俞军老师一个问题,「以您的使用体验看,您觉得知乎现在最急需做的三到五项产品改进是哪些」俞军老师的回答中给的第一个意见就是,「个性化内容的挖掘和推快递,我知道知乎里有大量内容是我感兴趣的,但知乎推快递的内容只有很少是我愿......
知乎联合创始人张亮在值乎上问了俞军老师一个问题,「以您的使用体验看,您觉得知乎现在最急需做的三到五项产品改进是哪些」俞军老师的回答中给的第一个意见就是,「个性化内容的挖掘和推快递,我知道知乎里有大量内容是我感兴趣的,但知乎推快递的内容只有很少是我愿意点击的,总让我有种入宝山而空回的感觉,这方面网易云音乐、淘宝、今日头条都是不错的学习对象。」那么,有着“美版知乎”之称的Quora是如何做推荐的呢以下内容选自RecsysChina。
Quora的VP Engineering机器学习大牛Xavier Amatriain,曾在WWW2016大会的Question Answering Workshop做了一个报告,Machine Learning for QA Sites:The Quora Example[1]。
Quora的Mission:To share and grow the worlds knowledge。
Quora主要考虑的三个因素:Relevance、Quality和Demand。
Quora核心的数据模型及其之间的关系:
Feed Ranking
Quora做推荐的一个最核心问题就是Personalized Feed Ranking。Quora是以问题、答案与主题为核心把「知识」串联起来,然后基于用户的顶和踩等动作来划分内容质量,最后再通过人和问题的Follow关系让知识在社区内流动起来。而个人Feed正是这种「流动」的最主要的载体。Xavier说Quora做Feed Ranking的难度要比Netflix大,这也正常,没有更大的挑战想来Xavier也不会跳槽是吧。Quora Feed Ranking的首要目标是确保推快递进用户Feed的内容应该是和用户兴趣高度相关的,其次还需要考虑的包括用户之间的Follow关系以及互动,Xavier管这个叫做social relevance,另外还有时间因素,比如一些和热点事件相关的问答,也应该及时地推快递进用户Feed。
1.目标:Present most interesting stories for a user at a given time
·Interesting=topical relevance+social relevance+timeliness
·Stories=questions+answers
2.主要使用的是个性化的learningtorank方法
3.Xavier确认了一点,相比于时间排序(timeordered),相关度排序大大提升了用户参与度。
4.面临的挑战:
·potentially many candidate stories
·realtime ranking
·optimize for relevance
下图是Quora做Feed Ranking最最基础的数据构成,Quora管这个叫做「impression logs」。
围绕这些基础行为,Quora定义的Relevance函数如下。
简单讲就是使用一个「行为加权函数」来预测用户对一个story的感兴趣程度。有两种可选的计算方法,一种是把所有行为弄到一个回归模型里面直接预测最终值,另外一种就是先分别预测每个动作的可能性(比如顶、阅读、分享等)然后再综合起来加权求和。第一种简单,但可解释性稍差,第二种可以更好的利用每个动作信号,但需要给每个动作配一个分类器,计算消耗大。
Quora主要使用的三类模型如下:
另外Xavier也强调了特征工程的重要性,在这块下功夫搞一下对最终能得到一个好的ranking结果非常有帮助,如果能够实时在线的更新特征就更好了,这样可以更及时地对用户的行为作出响应。Quora最主要的特征包括:
·user(e.g.age,country,recent activity)
·story(e.g.popularity,trendiness,quality)
·interactions between the two(e.g.topic or author affinity)
从整体框架来看,Quora的Feed Ranking也没有什么太特别的地方,基本上也是业界的标准打法。Quora比较特别的是它的数据模型相对其他网站更复杂,之间的关系也更多样化。比如从用户角度看,既可以follow其他用户User,又可以follow问题Question,还可以follow主题Topic。
1.Follow用户接收到的信息范围更广也更多样化,惊喜内容很可能就是来自于自己关注的有趣的用户,但也可能最容易制造不相关的内容噪音,这块的最重要工作是用户专业度的评估。
2.Question/Answer是Quora最核心的内容元素,也是驱动Quora体系里知识流动的原力,这块的主要工作是引导更多的高专业度用户来贡献优质答案,另外就是如何激发生产出更多的好问题(甚至是自动生成问题),要计算answer ranking,还有要做反sapm的工作。
3.Topic是对一个主题内容的聚合,Topic在Quora的信息架构里面承载着极其重要的角色,是知识结构的骨架,Quora管这个叫做Topic Network,如何构建Topic Network本身就是一个非常大的挑战,另外还需要解决的问题包括,如何把Topic下(潜在)优质的问题发掘出来,以及如何把水问题降权和过滤/合并重复问题等。
围绕着这些核心问题,Quora分别都进行了更深入的工作。Answer Ranking
Goal:Given a question and n answers,come up with the ideal ranking of those n answers.
Quora主要考虑了下面三大维度来进行Ranking计算,每个大维度下面又包含了很多的features。
4.答案内容本身的质量度。Quora对什么是「好的答案」有明确的指导[2],比如应该是有事实根据的,有可复用价值的,提供了解释说明的,进行了好的格式排版的等等。
5.互动,包括顶/踩、评论、分享、收藏、点击等等。
6.回答者本身的一些特征,比如回答者在问题领域的专业度。
另外这块的工作也包含非个性化的与个性化的两部分,某些类问题的排序是非个性化的,最好的答案对所有用户而言都是一致的,而另外一些问题则是个性化的,对于每个人而言最好的答案会有自己个性化的判断。总之,Answer Ranking对Quora非常重要,这块Quora做得很细致,Quora的blog上有一篇专门的文章讲这个,有兴趣的朋友可以去看看原文[3]。
The Answer Ranking system endtoend
Ask2Answers
A2A是Quora产品里面非常重要的一个功能,本来Quora是可以直接把相关问题推荐给系统认为的合适的回答者的,Quora最开始也是这么做的,但系统自动做这事儿显然不如发动群众人肉邀请回答来得感觉好,A2A操作增强了仪式感,让被邀请者有种被人需要的感觉,心理上很满足,另外这也是一种社交动作,社交的精髓之一就是为用户制造「装逼」的便利,回答问题前很随意的「谢邀/泻药」,一切尽在不言中了。这个功能看似很简单,Quora也是下了功夫的,Quora把A2A这事model成了一个机器学习问题:Given a question and a viewer rank all other users based on how「wellsuited」they are。其中「wellsuited」=likelihood of viewer sending a request+likelihood of the candidate adding a good answer,既要考虑浏览用户发快递邀请的可能性,又要考虑被邀请者受邀回答的可能性。Quora的blog上也有一篇文章详细讲解了他们的做法[4]。
Topic Network
Quora花了很大力气来正确引导用户给内容打标签,持续不断坚持这项工作的好处开始逐渐显露出来了,他们发现[5],
随着用户群体的扩大,Topic正在呈现出迅速多样化的势头。
很多领域都自组织出了相当不错的层级知识结构。
Quora相信这种依靠社群来组织领域知识的方式是可行的。
User Trust/Expertise Inference
这是Quora另一件非常重要的事情,Quora需要找出某个领域的专家,然后通过产品引导这些专家在这个领域里贡献更多的优质答案。Quora会考虑用户在某个领域里回答问题的多少,接收到的顶、踩、感谢、分享、收藏及浏览等数据。另外还有一个很重要的是专业度的传播效应,比如Xavier在推荐系统领域对某个答案顶了一下,那么这个答案作者在推荐系统领域很可能具备较高的专业度。
其他
其他相关的,包括推荐主题、推荐用户、相关问题、重复问题、反Spam等等,Quora大量地在使用机器学习的方法来解决这些问题。
Quora最大的宝藏,就是这几年在各个领域不断积累下来的大量有价值的内容,Quora自然也少不了对这些的挖掘,有篇文章叫Mapping the Discussion on Quora Over Time through Question Text[6],就是一个很好的挖掘数据价值的案例。
Facebook等几个主题随时间的变化情况
参考资料:
[1]http://www.slideshare.net/xamat/machinelearningforqasitesthequoraexample
[2]https://www.quora.com/WhatdoesagoodansweronQuoralooklikeWhatdoesitmeantobehelpful/answer/QuoraOfficialAccount
[3]https://engineering.quora.com/AMachineLearningApproachtoRankingAnswersonQuora
[4]https://engineering.quora.com/AskToAnswerasaMachineLearningProblem
[5]https://data.quora.com/TheQuoraTopicNetwork
[6]https://data.quora.com/MappingtheDiscussiononQuoraOverTimethroughQuestionText
特别声明:以上文章内容仅代表作者本人观点,不代表ESG跨境电商观点或立场。如有关于作品内容、版权或其它问题请于作品发表后的30日内与ESG跨境电商联系。
二维码加载中...
使用微信扫一扫登录
使用账号密码登录
平台顾问
微信扫一扫
马上联系在线顾问
小程序
ESG跨境小程序
手机入驻更便捷
返回顶部