3.1 通用网络舆情信息获取框架的设计理念
基于大数据的网络舆情越来越受到重视,相关研究近年来明显增加(黄微等,2015;夏火松等,2015;李金海等,2014;刘继等,2019;王晰巍等,2020)。不过,网络舆情数据的获取是进行舆情涨落分析的第1个重要步骤,数据的可获取性及量都是关键要素(唐涛,2014)。因此舆情信息的采集是一项基础而又重要的环节。该步骤相对比较简单,并不需要高深的理论知识,其框架如图 3-1所示。

图3-1 通用网络舆情信息获取框架
为了后文表述方便,这里首先给出两个定义。
(1)定向采集:限定了采集范围的采集称为定向采集。即通过给定初始采集种子,并且在后续采集当中,仅仅只是限定采集种子所在的域名,而不会在种子之外的域上进行采集。例如若给定种子www.abcd.com,且设定采集模式为定向采集,则后续只会在www.abcd.com域内进行采集,类似www.abc.com、www.1234.com等域名,爬虫程序是不会去采集的,即使在www.abcd.com 的首页上有www.abc.com、www.1234.com亦是如此。
(2)主题采集:限定了所采集网页内容主题的采集。即只有当某个网页的内容隶属于指定的主题的时候,才会被纳入采集范围,否则不予考虑。例如当执行舆情热点追踪的时候,一般都采用主题采集模式。主题采集一般通过指定关键词或者关键词的组合来实现。
简而言之,定向采集就是限定所采集网址URL所在的域,而主题采集则是限定网页当中的内容。
除了以上两类,其他的都属于普通采集,上面两类也可以视为普通采集的特例。
下面将针对部分重要部分稍做阐述。
(1)种子URL库。该库可以根据需要进行设计,既可以统一为一个库,也可以分为两个库,即人工审定的种子库和在数据采集过程中自动发现的新URL库。当很清楚自己的采集目标及范围时(定向采集或主题采集),可以分为两个库,这样后续可以通过在自动发现的新库中挑选中意的URL的方式将其放入人工审定的种子库中,该方式一般采集效率较高,采集范围也被限定在一个固定的范围内。
(2)请求服务器。当执行无特定目标的采集时,可以直接利用种子URL请求服务器;但是在有特定主题的采集时,为了提升采集效率,初始时也可以利用搜索引擎来进行,此时在请求时不仅需要URL,还需要根据采集主题,在请求的同时发送相关主题信息,例如某些关键词。
(3)网页编码识别。一般地,绝大多数网页文件的实际编码、网页所声明的编码及HTTP协议的头部信息中的编码是一致的,此时不会出现乱码,因此无须特别的操作即可获得网页源代码。但是,也存在部分网页出现声明编码和实际编码不一致的情况,此时就可能导致乱码。因此为了避免乱码,一般需要对网页的编码进行识别以获取正确的网页源代码。
(4)提取链接或链接块。一般地,在数据采集场合,采集的对象不仅仅只是提供种子的URL。况且,一般种子URL并非具体的内容页,它们往往是索引型页面,即以超链接为主体的页面。无论是采用深度优先遍历还是广度优先遍历,都需要从种子URL向更广的采集范围扩展,这些扩展的URL正是来自采集过程中所提取的链接。
(5)链接判断。无论是内容页还是索引页,页面上都不可避免的包含很多噪声链接,如广告链接等。因此链接的提取并非毫无选择地全部提取,往往需要一定的策略支持,具体分为两种:噪声去除和主题链接优选。对噪声去除策略,一个有利的现象是:网页中的噪声链接往往是呈块状分布的,由于块常常比单独的链接包含了更多的信息,因而通过分析链接块来实现链接的提取或去除是一个不错的选择。例如我们曾经提出了基于区块树及逻辑链接块的方式来进行网页链接块分析的方法,可以用于辅助链接块的优选提取。对主题链接优选,一般可以采用超链接的锚文本来快速确定,该方式的优势是效率高,但缺点也较为明显,即可能会出现漏采现象。
(6)网页类型识别。在Web大数据时代,基于网络的数据采集和信息抽取,一般不太可能依赖于人工来进行提取。但自动化的抽取面临的第一个问题即网页类型,这是因为网页类型不同,其结构布局和内容安排都将不同。例如论坛页面和新闻页面显然差异较大。目前现有的关于各类网页内容的抽取研究,基本都是假设网页类型已知且类型一致。例如仅针对新闻网页或仅针对论坛网页,这离实际应用和全自动化还有一段的距离。这个距离正是体现在网页类型的自动识别上。根据多年的研究积累,我们将网页类型总结为:索引型(各类网站的首页,如新闻网站的首页或频道首页、论坛首页或版块首页等)、单主题页面(不支持回复或者没有回复的新闻页面、博客页面、微信公众号页面等)、中心主题页面(即带回复的博文、新闻页、微博、微信公众号等)、循环型页面(论坛、贴吧等)等。
(7)提取结构化数据。目前,在商用场合,为了确保各类信息的提取正确率,一般都以人工制作信息抽取模板的方式为主。不过事实上,页面一些特征性的半结构化数据的提取一般相对较为容易。这些特征性数据主要包括发布时间、来源、标题、作者等,他们在自身或位置上都有较为明显且固定的特征。例如,发布时间经常以正则表达式的方式来进行提取,结合其位置信息,便能比较准确的确定。
(8)提取正文。网页正文的提取较之上述特征化数据更难,因此相关研究也更多,方法也更多种多样。但由于网页类型不同,则正文所呈现的位置或方式便不一样,因此一般需要先判断网页类型在执行正文抽取。后文将提出两类网页的正文提取方法。
(9)分词。分词是自然语言处理中的基本技术手段,例如词袋模型、文本向量空间模型等都直接或间接的需要分词支持。目前,由于分词的重要性,相关工具或开源代码也较多,且效果也非常好。知名的例如结巴分词jieba(https://github.com/fxsjy/jieba)、北京理工大学NLPIR(https://github.com/NLPIR-team/NLPIR,前身即中科院计算所ICTCLAS)、哈工大LTP(http://ltp.ai/)、HanLP(https://github.com/hankcs/HanLP)、斯坦福大学中文分词工具Stanford NLP(https://nlp.stanford.edu/software/segmenter.shtml)、清华大学THULAC(https://github.com/thunlp/THULAC-Python)、复旦大学FudanNLP(https://github.com/FudanNLP/fnlp)、北京大学PkuSeg(https://github.com/lancopku/pkuseg-python)、SnowNLP(https://github.com/isnowfy/snownlp)等。值得一提的是,前述这些工具往往具有的并不仅仅是单一的分词功能,还具有丰富的自然语言处理相关功能。
(10)高频词、关键词提取。高频词的提取较为简单,分词完毕,高频词根据频次即可获得。因此关键在于关键词的提取。前文的jieba、NLPIR、HanLP、SnowNLP等都具备关键词提取的功能。知名的关键词提取算法有TextRank(夏立新等,2020)、TFIDF(王曰芬等,2020;丁晟春等,2021)、LDA(李振鹏等,2020)等,新开发的相关算法更是层出不穷。
(11)索引存储。该步骤可以根据具体需要来确定是否进行索引,或者具体如何存储。
随着大数据的兴起,人们对数据的需求与日俱增,数据的价值逐渐被人们所重视。网络在人们日常工作生活学习中的渗透日益深入,从而成就了网络成为大数据宝库的地位。不过不幸的是,网页作为网络上最主要的数据载体,所承载的数据基本都是非结构化或半结构化的,这给人们的分析和研究造成了无法逾越的一道坎。因此,信息抽取成为Web大数据研究的一个重要课题。网页中的信息纷繁复杂,根据其所在的平台不同,网页所包含的信息也将不同。不过,对绝大多数的网页而言,网页正文抽取是信息抽取最为重要的内容之一。
下面将介绍我们对网页正文抽取的研究。