假如我是简书数据挖掘工程师

作者: 插着扇子的石头 | 来源:发表于2017-03-25 00:00 被阅读482次
    简书三大模块优化

    去年夏天,我在简书写下第一篇文章。

    去年夏天,我在一家互联网公司成为一名数据挖掘工程师。

    我喜欢看书写字,也喜欢分析数据。

    夜晚,突然假想,如果我是简书数据挖掘工程师,我会怎么做?

    采用自上而下,目标先行的思考策略。我分析数据的最终目的是什么?是增加网站和app的访问量,提高用户的满意度。

    怎么增加访问量?一方面可以加大宣传力度,另一方面可以改进算法,引导用户发掘更多有意思的文章。怎么提高用户的满意度?对于读者来说,是看到的文章符合自己的口味。对于笔者来说,是尽可能公平地推送文章。

    可以改进的点有哪些?至少有三大模块可以优化:首页个性化推荐,专题内部排序,定向搜索。

    1、首页个性化推荐

    目前首页可以看成是3大模块,包括上方占屏面积最大的宣传栏,下方的推荐列表,手机中间或电脑左边的7日热门、30热门、新上榜。简书从多种角度给文章排序,以不同的方式呈现给用户。这既是其优势,也是其劣势。简书把选择权交给用户,用户自行选择感兴趣的模块,灵活度较大。但是用户需要浏览的文章数目增多,筛选的成本增大。简书不仅意味着极简写作,也应该争取做到极简阅读。在国内,简书确实是我见过的最好的写作平台,但未见得是最好的阅读平台。

    对于首页推荐,我建议分两次升级。第一步可以将看过的文章权重降低。进一步改动是多特征融合,用整体排序代替分组排序。

    为什么要进行第一次升级?因为我发现读者明明已经看过了某些文章,简书还一个劲地给他们推送同一篇文章,这就会降低用户体验。就像亚马逊一般不会给用户推荐买过的书,而是推荐相似的书,同一个道理。

    为什么要进行第二次升级?追求极简的阅读,让用户不用费心选择,不会被信息潮海所淹没,使得简书推荐的东西正好是他们想要的。这对数据挖掘工程师的要求比较高,短期内难以得到完美解决。需要采取迭代的方式,一步一步优化模型。

    比如先构建一个简单的模型,设立基线。

    目标:单个用户对单篇文章的满意度。

    原始数据:文章的属性,笔者和读者的信息,笔者和读者在简书上的行为。

    基本特征:文章粒度的的喜欢数和评论数,笔者自带的关注数和喜欢数,文章的类别和用户偏好的相似度,读者对文章的显示评价和隐式评价。

    应用比较广泛的模型:逻辑斯特回归和gbdt。

    后续迭代优化也可以从目标、数据、特征、模型四个方面入手。

    目标:可以设立多个评价指标,用不同的模型分别优化各项指标,最后再进行模型融合,给出一个总分。

    数据:可以采集更多的数据,也可以进行数据预处理(例如数据清洗和数据转换)。前者扩大了数据的量,后者提高了数据的质。

    特征:特征选择和特征提取。前者是从一大堆候选特征中筛选出较优的特征集合(降维),后者是对原有特征进行重新组合。

    模型:针对不同的评价指标,建立适合的模型。分析数据,调研模型类型和模型参数。

    2、专题内部排序

    专题内部排序分为三个模块,分别是最新收入,最新评论,热门。目前这三块的排序算法非常简单粗暴,有很大的提升空间。

    对于最新收入区,一般是评审通过了,就立马在这个模块出现。这样,一篇文章的浏览量就会受到发布时间段和同时期其他作品数量的影响。可以改进的措施是,将新收录的作品放到一个队列中,每隔一段时间放出一个作品,利用不同时间段的流量监控,使得每个作品在这个区的曝光率尽可能相等。

    对于评论区,只要文章有新的评论,该文章在收录的所有专题中的排名就立马靠前。这不是很合理,推荐两种改进策略。第一,产生新评论时,在各个专题的排名不要同时上升,中间最好有个随机时间差。第二,目前文章在评论区的曝光机会约等于评论次数,这样加剧了两极分化,建议重新构建模型,例如曝光机会=In(a+评论次数)+b,初期可以人工设置参数,后期可以通过模型训练获取参数。

    对于热门区,目前采取的是策略是按喜欢数排序。我觉得在这一块至少要加上时间衰减策略,最好再联合其他特征,给每篇文章一个更合理的分数。

    3、定向搜索

    简书在定向搜索这块做得比较差,很难满足用户需求,还好用户使用搜索的次数不是很多,基本上都是推送什么看什么。

    如果我来做定向搜索这一块,我会分三步走。

    第一步,构建基线模型,采用BM25算法,即直接计算搜索关键词与文章内容的相关性。

    第二步,联合多个特征,用机器学习算法对前n名的结果进行重新排序。特征可能是文章的质量,文章发布的时间,喜欢和评论数目等等。

    第三步,个性化调整排序结果。一般用户去简书搜索文章,很有可能是之前浏览过的文章或者关注的专题和笔者的文章。简书可以在定向搜索模块也加入个性化推荐策略,而不仅仅是在推送时才进行个性化定制。

    假如我是简书数据挖掘工程师,我会从以上内容中选择一个点进行优化。一个人的精力有限,一个人的力量也远不如一支团队的力量。简书想要打造极简的阅读和写作平台,需要的不是一个数据挖掘工程师,而是一支优秀的数据挖掘团队。

    相关文章

      网友评论

      • 流川枫AI:你这个类似思维导图的图使用哪个软件制作的啊?挺好看的
        流川枫AI:@插着扇子的石头 这字,这配色,这美图秀秀的技术。。。平常肯定没少修图
        插着扇子的石头:今天,同学给我推荐用XMind作思维导图,我刚下载下来,正准备用一下试试看,粗看功能还不错。
        插着扇子的石头:手绘的。我第一次手绘,居然有人说好看,真开心!:smile:
        手绘完,用美图秀秀做一下色彩反转就行了。本来是白纸,色彩一反转就变成黑色的。感觉用黑色作背景更时尚一点。
      • 叶落无声_cb04: 可以的:blush:
        插着扇子的石头:不会是想说可以去简书做数据挖掘工程师吧?:smile:
      • 玩世不恭的康森先生:我也发现了,数据筛选和推荐的数据真的是做的不怎么好。
        玩世不恭的康森先生: @插着扇子的石头 嗯嗯。的确
        插着扇子的石头:是啊,随便挑一个点优化,都需要很久的时间。我在学校时接手的一个数据挖掘项目,就是由好几个师兄师姐共同开发的。一个师兄花了三年半研究数据预处理,另一个师兄又花了三年半优化软件速度,还有一个师姐花了三年优化类BM25算法。我接手后,三年时间都在研究怎么用机器学习方法对基本排序结果进行重新排序。还没完结,下一届师弟师妹又在继续优化……数据筛选和推荐数据上可以做的东西太多了,都是不断迭代升级,使得预测精度越来越好。:cactus:

      本文标题:假如我是简书数据挖掘工程师

      本文链接:https://www.haomeiwen.com/subject/sblbnttx.html