隐藏在今日头条百亿市值背后的算法:巨大可能与现实困境
我注意到今日头条在拉勾网打出一个百万美元年薪的广告,招募算法架构师,要求擅长:贝叶斯学派相关算法,超大规模离散LR,深度神经网络,各种tree-based的算法等。其他算法工程师岗位要求大同小异。 这些在技术人士眼中并不特别,很多IT公司必备,多和概率统计学有关。比如贝叶斯算法,常用的邮件客户端上就有出现。 Foxmail截图 我想尽我所能简单介绍一下这位百万年薪工程师具备的算法知识,不从数学专业角度(专业角度我也不懂,否则我就去应聘了~),而是从用户角度思考“算法想要什么”。 以招聘启事中的tree-based算法为例。为了处理信息,算法的初始诉求往往是对海量信息做分类聚合。人类眼中的词汇在它眼里都是参数(维度),一千个不同词汇组成的一篇文章就是一千个维度组成的一个向量。然后机器在代数世界里衡量不同向量的相似度——简单向量距离分类法、贝叶斯算法、KNN(K最近邻居)算法、线性回归、逻辑回归…… 维度太多,于是算法进化了,不再把每个词当作维度,而是把html代码里的节点标记(DOM)作为维度,这样就大大减少了维度个数。人类看见的标题、文字、图片,被代码放在不同的DOM节点里,比如head,比如body,比如tr、td(表示表格的代码),构成树状结构。算法以这些节点为维度,用各种算法对比不同的文档异同——k means(硬聚类)算法,minimax(极小化极大算法)……再进一步,引入图论范畴的模式树,就有了更高级的tree-based算法。 下图是个常见的html dom展示,不需要看懂,只要了解机器眼中的文章是什么样子。 (机器眼中,各种标记最重要,然后通过各种公式来处理。图片来自爱范儿,公式来自酷勤网) 算法五花八门,我说的也不准,主要看气质——算法这个孩子不知道新闻说了什么,只知道哪些新闻是同类,哪些是热点(点的人多当然就是热点,机器可以通过一种“组合”算法来判断,可以参见南京大学新闻传播学院助理研究员、奥美数据科学实验室主任王成军的文章《“今日头条”怎么计算:“网络爬虫+相似矩阵”技术运作流程》)。文章标签、关键词等也起到作用。 算法的行为很有趣,好像在努力用各种办法躲避对内容灵魂本身的认知,只通过外表的形式特征去猜内容的相关度。 读者身上没有关键词,没有标签,算法如何把握?数学家们有办法,贝叶斯算法就是一种。 经典的贝叶斯问题在小学奥数里就有(美剧《生活大爆炸》里也出现过):假如分别有A、B两个口袋,口袋A里有7个红球和3个白球,口袋B里有1个红球和9个白球,现从这两个口袋里任意抽出了一个球,且是红球,问这个红球是来自口袋A的概率是多少? 让我们换一个更具新闻性的表达方式:假如已知韩国每5年发射一次卫星且每次爆炸失败率是60%,朝鲜每2年发射一次卫星且每次爆炸失败率是40%。现在从朝鲜半岛传来一声卫星发射失败爆炸的巨响,请问这枚火箭来自朝鲜的概率是多少? 根据贝叶斯公式【P(B|E) = P(B) × P(E|B) / P(E))】就可以推导出这个概率来,也就是逆向计算概率。 (图片来自“机器之心”网站) 恰好头条自己提供了一个范例: 2015年10月,在中国传媒大学新媒体研究院和今日头条联合举办的“洞见数据的力量——电视媒体高峰论坛”上,一位叫做安娜的女士说: 头条有个独特的算法能推算用户的年龄,即使你没在头条订阅。系统根据已确定年龄人群的动作、特点和兴趣做了一个模型,由协同原则判断读者是否符合这个模型,这时机器先预判是否为该年龄段的用户,同时机器再根据你的阅读动作最终确定年龄段。 这个独特的算法可能就是贝叶斯算法(当然也许不止一种算法,比如也可能存在专门用于挖掘不同数据集合间关联性的Apriori算法等)。我猜想算法架构师会预先根据心理学、社会学统计数据以及以往读者点击数据,构建一个用概率来描述的人格特征模型,比如男性模型的特征之一是在阅读新闻时点击军事新闻的概率是40%,而女性模型是4%。一旦一个读者点击了军事新闻,算法就开始逆推TA的性别,加上TA点击其他新闻的行为数据,综合计算,就能比较准确地判断TA的性别。综合IP地址(地理信息)、点击时间、评论参与、点赞行为这些明确的信息,就能区分出不同读者的取向、兴趣。 原理不难理解,但做起来考验智慧和耐心。 但是,算法并不像它自己吹嘘得那么神,它有很大的困境 困境1:它并不能区别风格,也无法产生风格 算法团队本身是较难产生风格的。头条、一点资讯和天天快报究竟有多少区别呢? 风格既人,风格即灵魂。鸡蛋个个不同但那不是风格,只是原始特征。风格是一种需要积极建构的气质,是生气灌注的行动。 传统媒体都是有风格的,没风格的不是死了,就是僵尸媒体。 (编辑:云计算网_泰州站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |