+ 设为首页 + 加入收藏

 
 
白起真的坑杀了四十万赵
百胜集团为什么要拆分中
EADICE游戏战地系列小队系
PHP的哪个MVC框架值得推荐
2019年现在的你为何还用黑
Java的finalizercleaner等如何实
     西安港汇实业有限公司

销售热线:张经理: 15191895022
     白经理: 18109296883
QQ:2355807252 2355807260
技术热线:15191895022
传真:029-86189022 4006388838转00685

 
当前位置:主页 > 资料下载 >
FacebookEdgerank的算法是什么
发布者:知乎 发布时间:2019-12-09 23:50:55 阅读:873次 
摘要:(目前可以公开的情报)是几年前外界对上的新鲜事排序算法的称呼。至于是怎么算的,这其实可以出成一道面试题,不妨以知乎为例。题目就是,你觉得
(目前可以公开的情报)Edgerank是几年前外界对FacebookNewsfeed上的新鲜事排序算法的称呼。至于是怎么算的,这其实可以出成一道面试题,不妨以知乎为例。题目就是,你觉得应如何对知乎的新鲜事排序?具体问题描述:知乎用户刘看山,他关注了100个人,30个专栏,10个话题。在他打开知乎的一瞬间,将有100个最新动态等着他,你要怎么给这100个新鲜事排序?当然,作为知乎官方,你掌握着几乎所有知乎用户的信息,包括刘看山的。他经常给谁点赞,经常关注哪个话题下面的问题,这些你都知道。哦,对了,你只有50毫秒时间。超过50毫秒刘看山就会不耐烦了。你该怎么办?0.这些新鲜事对用户而言质量各有高低如果你让刘看山自己看一遍这100个新鲜事,他大概能说出自己更喜欢哪个,更不喜欢哪个。比如,他更喜欢张佳玮的答案,张公子的回答他基本都会点开看。他不太喜欢抖机灵的回答,即使赞同数很高他也只是扫一眼就过去。我们要做的,就是用模型化的语言描述这件事。1.确定一个变量作为优化目标这个变量,要能反映新鲜事的质量。一组常用的变量就是互动数:点开,赞同,感谢。好的新鲜事应该能吸引到更多的互动,这样的新鲜事也更应该排在前面。当然另一方面,用什么变量来定义成功其实不是一个简单的问题。Twitter的创始人之一EvanWilliams就曾发文警告用单一变量定义成功的危险性。我们在这里也可以考虑其他信号,比如说,被很多用户点选“没有帮助”的新鲜事很可能质量不高,又或者用户花了很长时间在上面的新鲜事很可能质量不错。于是,“没有帮助”数和阅读时长也可以成为我们的优化目标之一。2.预测用户在哪个新鲜事上更可能触发我们的目标变量或者说,在哪个新鲜事上刘看山更可能点开/赞同/收藏/分享/长时间阅读,在哪个新鲜事上更可能选不再显示/没有帮助,前者要排高点,后者排低点。这就是机器学习(MachineLearning)派上用场的时候了。具体用什么算法是个开放性问题。可以是LogisticRegression,可以是SVM,还可以是别的,各有各的特点。(真要是做ML的面试题,这里会和选手展开讨论一下)算法不重要,那什么重要?Feature。这就是知乎数据库里的那些数据的作用了。刘看山之前赞过张公子几次,这个回答被总共看了几次并赞了几次,这些都是feature。从历史看未来。Feature是强大的模型的关键。3.故事还没有结束学术上,这个模型已经差不多成型了。然而在实际应用中,很多问题还应付不了。比如说:刘看山看到张公子赞了别人的一个回答,大概读了下,没意思,就过去了。后来刘看山所关注的张小北也赞了这个回答。这时候这个新鲜事要怎么排序?刘看山出远门一周没上知乎,回来一上知乎1000个新鲜事可以排序。好不容易排完了,刘看山看了10个就关浏览器了。一个小时之后刘看山再上知乎的时候,之前剩下的990个新鲜事你要怎么办?你会发现,这个问题,与其说是算法,不如说是涉及产品本身的决策。所以说,好的rankingengineer都是半个PM(还有半个DataScientist和半个GrowthHacker)。
相关文章
友情链接:
Copyright © 2010-2013 www.gongyezidonghua.com All Rights Reserved. 版权所有 西安港汇实业
地址:西安市未央区大明宫万达广场2号甲写1408 电话:029-86189022 传真:4006358835-00685
陕ICP备13005737号 网站地图