“网络爬虫+相似矩阵”技术运作流程

大数据
本文尝试从技术层面分析今日头条的传播机制和相关原理。

今日头条

今日头条这类资讯聚合平台是基于数据挖掘技术,筛选和推荐新闻:“它为用户推荐有价值的、个性化的信息,提供连接人与信息的新型服务,是国内移动互联网领域成长最快的产品服务之一”。自从2012年3月创建以来,今日头条至今已经累计激活用户3.1亿,日活跃用户超过3000万。

本文尝试从技术层面分析今日头条的传播机制和相关原理。

网络爬虫:抓取新闻的基本技术

今日头条是一个典型的数据新闻平台,其新闻来源除了合作媒体之外,很大一部分来自于搜索引擎的网络爬虫。

网络爬虫是什么?

STEP 1:从互联网各个角落收集信息;

STEP 2:将其中的新闻类信息进行汇总;

STEP 3:汇总的信息经过基于机器学习的分类和排序,划分出每一个时刻的热点新闻。

今日头条作为数据新闻平台,与一般数据新闻的区别,在于提供一个媒介平台,展示汇总的信息,而不是一条信息。

网络爬虫的工作机制是什么?

网络爬虫的工作机制依赖于会联网互联网上的超链接网络。

在互联网上多数网页,都有超链接存在。这些超链接将各个网页链接起来构成了一个庞大的网络,也就是超链接网络。爬虫作为一种网络程序从一些网页出发,保存网页的内容,寻找网页当中的超链接,然后访问这些超链接,并重复以上过程,这个过程可以不断进行下去。如图所示:

爬虫

“今日头条”怎么计算:“网络爬虫+相似矩阵”技术运作流程

STEP 1:爬虫从一个种子节点0开始爬取网页内容,

STEP 2:抓取的同时发现两个超链接,并爬取第一级节点,

STEP 3:从第一级节点开始又发现第二级节点,这个过程不断进行下去。

这个过程当中有两种策略:

1、只有穷尽一个层级的所有页面才爬取下一个层级,这种策略叫做“广度优先”;

2、发现一个超链接后,立刻就开始爬取这个网页,并持续深入下去,这种过程叫做“深度优先”。

补充说明:

上图是一个树状网络,现实的网络不是这么简单的,里面充满了“回路”,即新发现的网页里的超链接指向的是已经爬取的老节点。这个时候就需要甄别那些网页已经被成功抓取。

举个栗子——

以今日头条为例说明一下网络爬虫在新闻抓取中的工作流程:

STEP 1:工作人员先要在后台设置新闻来源的字典,比如“网易新闻”、“新浪新闻”、“凤凰新闻”、“浙江新闻”等等,

STEP 2:通过这些字典,网络爬虫将会锁定到这些网站的超链接,从中抓取新闻。

补充说明:

如果这条新闻是在这些新闻平台相关的博客当中的内容,而不是新闻平台本身的新闻,网络爬虫就抓不到了。

聚合媒体的概念并非如此简单,除了汇聚来自不同媒体的内容之外,聚合媒体更重要的特征是对不同信息进行分类并排序,得到一个信息汇总界面(aggregator),这种信息汇总往往表现为某种排行榜。这种排行榜在传播机制上满足网络科学中所说的“优先链接机制”,即用户的注意力更倾向于投向那些排名靠前的信息,这个过程可以被经典的传播学发现:“乐队花车效应”。这个发现起源于美国的选举过程。候选人会站在乐队花车上拉选票,赞同者会站到他的车上。研究发现,人们倾向于登上那些站满了人的花车,而非那些只有很少人的花车。

推荐系统:个性化定制新闻的技术逻辑

个性化推荐在今日头条当中发挥着重要作用。

今日头条的用户登录非常人性化。作为一个后起之秀,今日头条非常具有策略性地允许用户使用微博、QQ等社交账号登录。这个过程实际上授权今日头条挖掘个人社交网络的基本信息。因而,便于获取用户的个性化信息,比如用户的兴趣、用户属性。越用越懂用户,从而进行精准的阅读内容推荐。

个性化推荐的基础是构建推荐系统

推荐系统广泛地应用于用户没有明确需求的场景。推荐系统就算法而言,可以分为:

社会化推荐(Social recommendation, 比如向朋友咨询);

基于内容的推荐(content-based filtering, 例如根据用户观看过的电影推荐其他与之相似的电影);

基于协同过滤的推荐(collaborative filtering,例如查看排行榜,或者找到和自己兴趣相似的用户,看看他们最近看什么电影)。

所以,可以用于构建推荐系统的信息也分为三类:好友、历史兴趣、注册信息。

推荐系统就是可以关联用户和物品的一种自动化工具。除了这些信息之外,时间、地点等信息均可加入到推荐系统的构建中来。现在,推荐系统已经广泛地应用于新闻推荐、图书推荐、音乐推荐、电影推荐、朋友推荐等领域,作为人工智能的一种形式,极大地方便了人们的生活和交往。

推荐系统算法的基础就是要构造相似性矩阵

这种相似性矩阵可以是物与物的相似性,例如书籍之间的相似性、音乐之间的相似性。以下以基于物品的协同过滤算法(item-based collaborative filtering, ItemCF)为例。基于物品的协同过滤算法可以利用用户的历史行为,因而可以使得推荐结果具有很强解释性。比如,可以给喜欢读足球新闻的用户推荐其它相似的新闻。基于物品的协同过滤算法主要分为两步:

STEP 1:计算物品之间的相似度。

STEP 2: 根据用户的历史行为生成用户的推荐列表。

假设有四个用户:

用户1在今日头条的浏览记录是[a、b、d],

用户2的浏览记录是[b、c],

用户3的浏览记录是[c、d],

用户4的浏览记录是[b、c、d];

可将这四个人的浏览行为表达为以下四个物品矩阵:

今日头条

将个体用户的物品矩阵相加,可以汇总为所有的新闻矩阵M,M[i][j]表示新闻i和新闻j被多个人同时阅读的次数。如下所示:

今日头条

矩阵逻辑

如果两个新闻被多个人同时浏览,那么可以说它们之间的相似度更高。

将以上矩阵归一化就可以对矩阵进行操作并计算新闻之间的相似度,比如相关相似度或者余弦相似度。

基于物品间的相似性度,如果有一个新用户进入系统,并且他阅读了新闻c,那么ItemCF算法可以很快给出与新闻c相似度最高的新闻(b和d),并推荐给这个新用户。

在推荐过程中,推荐系统可以根据用户的行为不断优化相似矩阵,使得推荐越来越准确。

或者,如果用户可以手动对每个新闻的兴趣(如喜欢或讨厌)标出,就可以使得推荐更准确。

本质上来说,上面两个图是热点新闻、以及个人定制新闻的基础原理。它分为两步完成:

STEP 1:先找出新闻之间的热点与相似度

STEP 2:将热点与相似度高的新闻推送给用户。

举个栗子——

假设在抗战胜利70周年当天,有4个人同时浏览今日头条的新闻,

A是女读者,她点击了秋季糖水制作方法、育儿应注意的五个事项、阅兵式、新型武器等新闻,

B是中年上班族,他点击了阅兵式、中国最新兵器谱等新闻,

C是一位年长者,他点击了养生、阅兵式、新型武器等新闻,

D是一位刚毕业的男大学生,他点击了英雄联盟攻略、好莱坞旅行攻略、阅兵式、新型武器等新闻。

热点和相似度的产生过程:

STEP 1:这四个人同时点击阅兵式和新型武器,系统算法就会通过点击和停留的时间计算出阅兵式和新型武器是当天的热点。

STEP 2:阅兵式和新型武器同时被多人点击,代表他们之间具有相似性。

STEP 3:当新进用户点击新闻时,今日头条会以最快速度分析他点击的内容,并在已经排查出的热点新闻当中寻找他所感兴趣的相关内容匹配给他,引导他阅读热点。

这一系列的行为都由计算机自动完成。

机制的缺陷

上面的例子说明了定制新闻以泛热点新闻为基础数据来完成的事实,这就出现一个问题,即当一个人关注的新闻不是热点时,系统得不到相关的热点,就会在该新闻当中寻找其他信息进行再匹配,这样匹配出的新闻在现有信息的基础上最大程度吻合了用户的兴趣,但未必会推送当天最热点的新闻。要想达到这种长尾理论所设想的定制服务,关键是对新闻的细分。只有将不同主题细分成各种子主题,再细分下设内容,才能达到真正的私人定制。要做到这一点,实际已经脱离了机械,而在于人对于事物性质的认知与把握。正如法国社会学家福柯在《知识考古学》当中的观点,分类,是一事物区别于其他事物的根本。而分类,归根结底是人的主观能动性的体现;当系统中累计的用户行为越 多,这种分类越准确,自动化的私人定制也会越贴近用户需求。

聚合媒体:一种国际新闻界的潮流

聚合媒体在国外的应用也非常广阔。信息在聚合媒体的数据新闻平台上的展现,可以是传统的搜索引擎的平面化展现,也可以是可视化展现。后者如日本的新闻地图网站(http://newsmap.jp)。日本的新闻地图项目是基于谷歌新闻做的,它采用不同的颜色将新闻类别区分开来,如红色代表“World”,黄色代表“National”,用户可以通过勾选页面底部的分类栏进行筛选,在页面顶部可以按照国家和地区进行筛选。网站后台算法依据相关新闻信息的数量、重要性、点击量自动调整每个新闻所占面积的大小。

一个非常有意思的聚合新闻网站是GDELT。 GDELT项目(The GDELT Project,http://gdeltproject.org/)监测全球100多种语言实时的广播、印刷和网络新闻,识别新闻中的人、地、组织、数量、主题、来源、情绪、时间。基于此,GDELT推出了全球新闻情绪地图,数据每一个小时更新一次。其中绿色表示快乐,黄色表示悲伤。数据密度反映了新闻的规模,见下图:

今日头条

另外一个很好的例子是社交新闻网站,主要以Digg、Reddit等。这种类型的网站允许用户注册、相互关注、提交新闻并对新闻进行打分。其中,得分高的新闻就会进入到流行新闻的页面。在这个过程当中,各个用户充当了新闻的把关人,而这种信息把关的方式被称之为群体把关。

但是,群体把关的意义主要在于将新闻推到流行页面(webpage ofpopular news),也就是公众面前。这个阶段之后流行信息扩散更像是传统媒体的新闻扩散方式。其实,这种基于用户过滤的新闻聚合(news aggregation)存在非常普遍,例如新浪微博上的“热门话题”、推特上的“趋势性话题”(trend)等。根据笔者对Digg上新闻扩散的分析,这种新闻聚合对于信息扩散的影响更大,对于那些传播广泛的Digg新闻,70%以上的信息接触是通过热门新闻被Digg用户看到的。

主流新闻观与人工智能

从媒体把关到群体把关是一个进步,从群体把关到计算机或算法把关则隐藏着危险。

过去由编辑所承担的内容拣选的工作,现在交给了计算机来处理。其信息把关机制发生了根本的变化。在这个过程当中,受到最大影响的是传统的新闻生产逻辑。传统的新闻观重视公众利益,报道具有长远影响的事件并提供见解。将这些工作交给机器和算法将带来前所未有的挑战:

首先,算法根据使用者所表现出来的“兴趣”进行分类和推荐信息,往往容易给用户推荐一些低质量但用户短期内喜欢的信息。

其次,不断地接触低质量的信息使得个体的新闻素养降低。过于依赖机器帮助我们进行信息把关,容易导致视角越来越局限,不再关注社会整体利益,容易走向犬儒主义。

再次,主流的新闻操作手法保障了新闻从业者面对政治、军事和社会力量时的独立和从容。而推荐算法从信息和用户出发,对于国家和社会整体的关注不够,这种新闻推送机制的偏向容易带来攻讦。

未来新闻业走向人机结合时代

从未来新闻的视角来思考新闻行业的转型更加使得我们意识到回归新闻本质的重要性。

未来的新闻行业不仅仅是提供有限的案例访谈,而是系统地获取、积累并分析数据,并挖掘隐含其中的信息。在注意力经济的时代,向用户提供这种专业化的信息、专 业化的评论才是媒体的责任。目前迅速崛起的数据新闻正在走向这个方向,只不过在现阶段更注重可视化表达。聚合媒体将信息过滤自动化,体现了未来新闻的特 点。基于个性化的推荐,聚合媒体将人工智能的新闻整合功能进一步带进我们的生活,提供了很多便利。但是,不应该忽略的是,要警惕太依赖机器和算法所潜藏的 危险:算法或计算机把关有损新闻价值取向。

未来的新闻业,走向人机结合的时代。

责任编辑:李英杰 来源: 传媒评论
相关推荐

2023-06-01 13:15:23

2022-09-20 07:02:20

网络爬虫反爬虫

2017-06-29 09:15:36

推荐算法策略

2017-05-16 15:33:42

Python网络爬虫核心技术框架

2022-11-24 10:24:32

2019-02-26 08:51:34

网络安全恶意软件网络攻击

2019-10-18 08:52:41

程序员爬虫Java

2023-05-26 00:51:52

2022-09-14 23:06:45

2018-02-23 14:30:13

2017-04-26 13:30:24

爬虫数据采集数据存储

2013-01-22 17:33:30

2010-08-02 16:08:39

ibmdwJava搜索引擎

2018-05-14 15:27:06

Python网络爬虫爬虫架构

2013-09-09 15:06:03

2012-02-23 14:45:45

Linkedin运作原理

2019-06-06 15:00:10

2024-11-27 06:31:02

2012-08-13 09:39:57

虚拟化
点赞
收藏

51CTO技术栈公众号