采用通用搜索引擎与垂直搜索引擎相结合的互联网主题信息采集策略,提出多种防屏蔽技术相结合的网络采集防屏蔽解决方案,改进一种基于文本密度的网页正文抽取方法,利用基于分词的向量空间模型和余弦夹角公式实现基于内容的标题去重,并设计一个面向侨情的互联网主题信息采集系统。
This paper proposes an anti-shielding solution integrated with different technologies to avoid shielding, improves Web content extraction based on text density, adopts eliminating duplication technology based on VSM and cosine angle formula, and develops a system of the Internet subject acquisition system on overseas Chinese.
当前网络信息采集技术已经相对比较成熟,但仍然存在诸多不足,如难以覆盖以级数增长的互联网信息、搜索结果与用户查询的相关度不高、难以满足用户更加个性化的搜索需求等。网络信息采集朝着个性化、领域化、分类化、智能化的方向发展,这使得针对互联网上各类特定领域的主题信息采集技术成为业内研究热点。
互联网主题信息采集指的是根据用户指定的主题内容在互联网有限的网络空间内,选择性地对那些与预先定义好的主题集相关的页面进行采集,发现与主题相关的信息资源,为用户提供专业化、个性化的信息服务。常见的互联网主题信息采集技术和策略包括:
(1)基于内容的主题信息采集方式是在搜索引擎内部建立一个针对主题的词表,搜索引擎爬行器根据其内设的词表对网上的信息进行索引。不同系统词表建设的复杂度大不相同,现在此类词表的建设越来越多地引入了知识表示的方法。
(2)基于超链接分析的主题信息采集,通过对链接进行分析,可以找出各个网页之间的引用关系,由此很容易地按照引用关系将大量网页分类,这与传统的引文索引也比较相似。
(3)其他主题信息采集技术和策略,比如结合基于内容评价和链接结构分析的算法。在实际应用开发中也有不少原型和策略可资借鉴,如Chakrabarti等合作开发了一个典型的基于主题内容的Web信息采集系统[ 1];Aggarwal等提出了基于两个假设的主题Web信息采集方法[ 2];Menczer等对Best First策略、Page Rank策略、InfoSpiders策略进行了基于主题采集的对比实验[ 3];Nie等提出了流行度排名(PopRank)算法[ 4],其研究成果已在Libra Academic Search学术搜索[ 5]和Windows Live Product Search购物搜索中得到部分应用。
中国海外华人华侨和归侨、侨眷这一庞大族群,分布于全球130多个国家和地区,因此产生的侨务信息具有分布广泛、形式多样等特点。随着网络的发展,国内外华人华侨有关的网络信息也迅猛发展。据不完全统计,目前境内外建成并提供服务的华侨华人信息网站600余个,其中很多已有相当的规模和影响力,既包括国务院侨办以“华声龙脉网”为依托整合和建立的全国性侨务网络信息平台;也包括诸如广东省侨办主办的“广东侨网”、上海侨办主办的“中华侨网”,以及华人华侨社会团体、工商团体、文化教育科研机构主办的“华侨华人信息网”、“华裔网”、“香港中华总商会”、“新加坡中华总商会”、“日本中华总商会”、“美国中国商会”、“美国华人网”、“亚特兰大中国商会”、“休斯顿华裔青商会”、“加拿大多伦多华商会”等网站;还包括《马来西亚华侨日报》、《美国侨报》、《加拿大华侨时报》、《澳门华侨报》、《深圳侨报》、《福建侨报》、《山东侨报》等电子报刊;也包括新闻评论、论坛、Blog、RSS、SNS社区等产生的相关侨务信息。
针对当前网络舆情的现状和侨务信息工作存在的问题,互联网侨情信息采集系统通过对国内外华人华侨信息自动识别与自动采集,实现对国内外不同地区、不同类别侨务信息全面准确的实时收集和动态存储。将传统的由下级侨务部门向上级部门被动报送的方式转变为上级主管部门主动收集的方式,并对网络上采集的侨务信息进行分析与处理,从中提取相关的侨情信息传播规律和侨务工作的趋势和变化,包括侨务信息的时间与空间分布情况及特点、一定时期侨务工作新特点等,不仅可以帮助侨务主管部门进行侨务政策和法规的制定,建设和完善高效的管理机制,改善侨务工作,而且还可以为各地政府的招商引资、科技交流提供信息支持,也可以在出现侨务相关的重大突发事件时,迅速掌握民间所思所想并快速反应,进而充分利用中国几千万海外侨胞以及广大归侨、侨眷的优势。
互联网为侨务工作提供了一种新的工具,对提高侨务部门的管理能力具有重要意义,通过把握互联网侨务信息的传播规律,可以更好地把握侨情、体贴侨意、倾听侨声。具体到互联网侨情领域的研究,有为数不多的研究者有所涉猎,如华侨大学的吴清江等对侨务信息下载进行探讨[ 6],还有一些关注侨务工作信息化的研究,主要探讨如何将侨务工作以及相关管理网络化。总体而言,国内现阶段的侨务信息和互联网侨情的研究还比较少,文献资料也不够丰富。
现有的通用搜索引擎以其海量的网页爬取技术和索引能力以及相对成熟的网页链接评价体系为互联网普通用户提供了较好的信息检索服务,针对海量的互联网信息,有着较高的查全率;然而通用搜索引擎主要考虑面向全体网络用户而进行大规模的网页信息爬取,其无法满足对特定领域信息检索服务的专业性、个性化、准确性要求,查准率较低。
目前,主题爬虫(面向主题的垂直搜索引擎)通常使用一个智能化的网络爬虫,通过预先设定的种子链接集,利用协议访问并下载页面,在采用各种算法分析页面与主题的相关性后提取出待访问的链接,预测链接指向主题相关页面的可能性,再以各种不同的爬行策略循环迭代地访问Web,搜索结果经专业人士加工后可形成面向某一学科或领域的垂直门户。
虽然上述两方案都采用了爬虫技术,但策略有较大差异。通用搜索引擎主要基于广度优先搜索策略(Breadth First Search,BFS),而由于只针对某个特定主题或领域,面向主题的垂直搜索引擎更多的是基于深度优先搜索策略(Depth First Search,DFS),也更侧重时效性,不过在主题信息采集的相关度判断中需要占用较多计算资源和时间,因此利用传统主题信息采集方法在实现上较复杂,效率较低。受到网民日常使用互联网习惯的启发,笔者通过模拟信息用户向通用搜索引擎提交查询并获得搜索反馈结果这一过程,提出利用机器自动提交指定关键词,甚至提交关键词和指定网址的方式对通用搜索引擎进行类元搜索的主题定向信息采集方案。这一方案利用通用搜索引擎广度优先的抓取策略,可以满足高性能的互联网特定信息采集;同时再利用垂直搜索主题爬虫对重要程度高的权威网站进行深度抓取,可兼顾两种策略优点,有效控制信息采集范围和方向,规避计算资源不足和技术实现复杂等问题,具有较高的应用性和可行性。
由于采用向通用搜索引擎自动提交关键词并采集返回URL链接的方案,选取适当的领域相关主题关键词形成该领域的主题词表,成为该信息采集方案的首要步骤,且主题词表的优劣在相当程度上影响了系统后续的信息采集内容和效果。具体的步骤包括:
(1)由领域专家给出相关领域的权威网站作为基础语料来源,通过对权威网站网页内容的整站抓取获得领域语料资源;
(2)对抓取的语料资源进行中文切分词和词频统计,获得高频词表,再由领域专家对高频词表中的高频词汇进行整理,人工选取出与领域相关的词语;
(3)对从高频词表中选取出的领域主题词进行上位词、下位词、同义词、近义词扩展,去除重复词汇,从而最终形成相关领域的主题词表;
(4)在信息采集系统后续的采集中将不断收集相关领域的新词汇,在发现领域新词后加入到领域主题词表中,形成系统性的反馈机制,从而不断对主题词表进行更新维护。
采用通用搜索引擎与垂直搜索引擎相结合的方法进行采集的系统框架如图1所示,有两个采集入口,即针对通用搜索引擎构建的类元搜索的信息采集入口和针对重要权威网站构建的垂直信息采集入口。
在网络信息采集的基础上还可以建立更多文本处理应用,如基于网页正文内容的分类聚类可以提供更好的信息组织;设置标签可建立基于标签云的导航;利用自动摘要技术可提供专题简报服务;对网络信息传播的趋势分析可辅助建立预警机制;使用情感分析技术可判断社情民意趋向,为政务决策提供参考。
本系统中,通用引擎采集部分首先由网络信息采集需求确定检索主题,并确定出该领域的主题词表作为搜索关键词集合,选择一定量的目标网站以控制采集范围。选择Google、百度等搜索引擎,根据预先设定的检索式,将关键词和目标网站提交给通用搜索引擎,并抓取返回的相关链接放入数据库中,完成URL采集。同时配合垂直搜索爬虫,深度抓取权威网站的URL链接并入库。
对数据库中的URL进行去重等处理后,使用采集器根据URL链接采集其Web网页文档,同时去除无效链接(死链)。
网页处理过程首先对Web网页文档源代码进行分析,抽取其中的标题、正文等信息。之后对网页标题、网页内容等进行相似度计算等处理,去除内容重复的网页,建立与主题领域相关的网络信息内容数据库,完成采集任务。
在获得有效内容后进行深层次文本处理和内容分析,如建立网页属性表(包含URL、标题、抓取时间、来源网站、正文等)、事件表(包含事件编号、名称、时间、地点、人物等)、网络传播表(包含标题、标题链接、关键词、关键词链接、发布网站、转帖网站、作者、摘要、评论、关注度等)。通过以上这些结构化的信息,可以分析信息传播来源和路径,查找人物与事件、事件与事件之间的关系。
涉及长时间大规模的遍历访问经常会遇到被目标网站屏蔽的问题,目前一般采用的防屏蔽技术主要有轮转访问/分时任务、IP地址轮换、模拟浏览器等[ 7]。
考虑到在采集过程中需要访问一些需要用户登录后才能继续访问的网站,如论坛、SNS社区、博客、微博等,采用以模拟浏览器技术为主并结合了其他屏蔽技术的防屏蔽策略。许多主流网站的登录机制都采用Cookie来处理和存储网络会话信息,实现模拟浏览器的操作需要了解被采集网站对Cookie的操作原理后编程实现,也有一些工具可以自动处理Cookie,如.Net Framework 2.0中提供的WebBrowser控件。以自动登录新浪微博并提交检索式获取网页源文件为例:分析新浪微博(http://t.sina.com.cn)的登录页面,未能查找到账户提交的链接地址;考虑利用新浪SSO单点登录页面(http:// login.sina.com.cn)的登录地址提交登录信息;SSO可使用户在多个应用系统中只需要登录一次即可访问所有相互信任的系统,待登录网页加载完成后,再跳转至新浪微博地址并提交检索关键词,获得检索反馈网页的源文件。
从采集来的海量数据中高效、准确地提取或屏蔽特定内容,更有效地利用采集到的网络信息,并对内容进行智能处理和智能组织管理,这些都是在互联网环境下信息用户提出的迫切需求,因此对于信息抓取之后数据库中数量巨大的信息内容处理也是信息采集的一项关键任务。在主题信息采集中涉及大量的相关性计算,文本之间的相似性主要通过距离函数和相似系数来反映,其中常用的距离函数有明考斯基距离、曼哈坦距离、欧氏距离、切比雪夫距离等,文本相似度计算方法可基于汉明距离,更多应用是基于向量空间模型的[ 8]。
虽然有学者认为基于向量空间模型的TF-IDF方法仅基于统计,只考虑了词在上下文中的统计特性,而没有考虑词本身的语义信息。但由于目前语义分析技术尚不成熟,大多数应用系统仍然使用基于统计理论的方法,这其中基于向量空间模型的TF-IDF方法最为成熟且效果较好[ 9],本系统在进行文本相似度计算时采用该方法。
互联网具有高度的不稳定性[ 10],绝大多数Web网页文档都充斥着各种冗余信息和不相关内容,如公告栏、广告、导航信息等,网页正文抽取要消除冗余信息、去除文本噪音,抽取出信息用户关心的有用信息,为文本后续的保存、处理、分析提供服务。传统的网页正文抽取方法一般采用包装器(Wrapper)完成,然而获取包装器中信息模式识别的知识是一个瓶颈,有采用半自动化方法获取知识规则的XWRAP系统在进行网页抽取前首先检查网页并进行预处理[ 11],相关研究还包括Lerman等提出的从List和Table中自动抽取Web数据的方法[ 12],王琦等提出的基于语义信息的STU-DOM树模型完成对网页主题信息的抽取[ 13],崔继馨等提出了基于DOM的Web信息抽取方法[ 14],孙承杰等提出了基于统计的网页正文信息抽取方法[ 15],Cai等提出了利用可视化元素对Web页面进行分割的VIPS视觉抽取算法[ 16],这些方法大多针对特定网站的网页规律,以人工方式建立对应模板或者提供相应知识,才能较好地抽取正文信息,虽然对于特定网页或具有特殊结构的网页内容具有极好的抽取能力,但却不具备通用性,不能适应在复杂多变互联网环境中对抓取到的无规律结构Web文档的正文信息抽取。
在新闻网页、博客网页等主要通过文字描述事物的网页中,其网页源代码结构特点是正文的文本集中度高,HTML标记和链接少,从而使得正文的文本密度特征值较高,采用基于文本密度(Text Density)特征的正文抽取算法[ 17]。此基本算法仅能抽取多数较为规范的HTML网页文档中的正文文本行,在实际应用中还存在一些问题,如可能输出文本密度较高的版权信息、相关文章标题等,另外也会出现正文中例外的低密度段落被舍弃的情况,因此对该算法加以改进:
(1)从HTML网页源代码看,正文内容往往比较集中,大多数版权信息等无用内容距正文内容有较多行,正文中的低密度行具有间隔少、频次低的特点,所以考虑加入一个低密度行间隔容忍值(如20行)。其原理是:当前一行被识别为正文,下一行出现低密度行,若出现的低密度行数量没有超过该容忍值即认为仍然是正文行;若低密度行数超过容忍值,则认为正文已经结束,舍弃前面所有连续的低密度文本行,停止识别,返回最终结果。
(2)在通过对以上改进算法的实验中发现,部分高文本密度的标题等内容会与正文主要段落有很长的行间隔。在识别出标题等内容后,由于跨越过多低密度行,导致出现其后正文主要段落被舍弃的问题。对于此类情况,系统又加入了对正文文本长度(字节数)的判断。如果正文抽取后的正文字节数低于最低字节数阈值(如200字节),则即使超过低密度行容忍值,仍然继续向下执行正文识别语句。
使用基于文本密度的网页正文抽取改进方法进行实验,对从互联网上随机抓取的1 104篇各种新闻类网页文档进行正文抽取,总耗时148秒,平均抽取速度约为每秒7.46篇,抽取性能很高。对抽取结果进行人工检查,抽取正文基本正确的网页为998篇,抽取正文中有较多其他内容的网页为106篇,抽取正确率达到90.40%。
由于互联网信息冗余度高,网页重复、转载现象严重,因此在采集到的网页数据库中经常出现两个或多个正文内容完全相同或极其相似的网页,这些重复的网页内容会给后续的文本处理工作带来额外的系统开销,因此通常在处理文本前会对这些重复的网页进行去重(消重)。常见的去重策略有网页URL比对去重和基于内容的去重。
(1)网页URL比对去重主要是根据抓取网页URL来判断不同时间和不同来源获取的网页是否出自同一URL地址,在部分大规模采集系统中,由于数据库内URL链接数量巨大,往往采用先对URL进行哈希(散列)运算,通过对哈希值建立索引的方式判断去重。该方法简单易行,效率较高,能够消除相当数量的重复网页,但在实际应用中仍然会遇到网站间新闻转载,以及多个不相同URL链接指向同一网页等情况,使得URL比对去重方法不能完全解决抓取网页内容重复这一问题,因此在应用中还须与其他去重技术配合使用。
(2)基于内容的去重策略首先需要对原始网页进行网页净化和正文信息抽取,然后对网页内容进行查重去重处理,主要方法是通过采用网页相似度检测方法,根据计算得出的网页相似度对网页中的主要内容进行识别。去重主要分为文档对象的特征抽取、特征的压缩编码、文档相似度计算等[ 18]。
另外基于后缀树的中文新闻重复网页识别算法可用于网络新闻或RSS采集去重[ 19],本系统采用基于文本向量空间模型和余弦相似度计算的网页标题去重方案。由于该方案将文本内容中的词语作为特征,具有准确性较高的优点,且该方案稍加修改即可实现基于网页正文内容的去重和分类聚类等处理,具有很强的通用性。基于内容的网页标题去重方案首先需要依次对标题进行自动切分词、分词权重计算等处理,形成基于标题的文本向量空间;然后计算标题之间的相似度,并与设定的阈值进行比较,以判断是否相似。
相似度阈值的选择十分重要,采用样本数据实验结合领域专家经验的方法提取阈值。首先可选择典型转载文章的标题进行相似度计算,如标题“新华侨涌入:为韩国华社带来新希望-移民-滴答网”和标题“新华侨涌入:为韩国华社带来新希望 - 无忧雅思网 无忧雅思网”在若干样本数量的标题样本集(在已采集入库的1 104条新闻标题中随机获取)中进行相似度计算,结果如表1所示:
![]() | 表1 样本数量与标题相似度对应关系 |
属于同一新闻内容在不同网站的转载应进行去重处理,且根据对不同样本量和相似度结果的对比可以发现,过小样本量对于相似度数值的影响较大,且相似度数值偏小,而达到一定数量的样本则使相似度数值趋于近似,且基本都超过0.5。通过对类似标题样本的大量实验,可得出一个阈值参考下限为0.5。
不过,若阈值选择为0.5会出现过度去重的现象,如标题“缅甸华侨华人为孔子课堂捐款组图-教育频道-新华网”与标题“缅甸华侨华人为台湾灾区同胞捐款-华人-新华网”就会被认为是相同标题而被去重,因此需要找到避免过度去重的阈值上限。Bun等对句子向量进行聚类分析的经验表明,句子向量在聚类中具有一个最佳角度为35.26度[ 20],即当句子向量空间中两向量夹角不大于35.26度时,这两个向量所代表的句子可以归为一类。由于标题与句子长度相近,可认为是类似样本,因此得出一个阈值参考上限为Cos(35.26°)= 0.8165408118857。
实际系统中选择阈值为0.8,通过实验发现使用该阈值在具有一定样本量的情况下具有很好的效果,相比前述基于URL比对去重有着较高的精度,相比基于正文内容的去重有着较高的效率,且在同样实验环境、同样样本数量(1 104条新闻)、取得相近效果的情况下节省了近60%的处理时间。
对国务院侨办网站(http://www.gqb.gov.cn)进行整站抓取,并使用中国科学院计算技术研究所汉语词法分析系统ICTCLAS进行中文分词和词频统计,根据分词系统的词性标注,去除无用虚词(副词、介词、连词、助词、叹词、拟声词等),得到保留词12 949个,如图2所示。使用专家法,人工挑选取出与领域有关的高相关度词语,并对这些领域相关度词语进行上下位词、同义词、近义词扩展,在去除重复词之后形成关键词表,如图3所示。同时,将这些主题词加入到采集系统的中文切分词模块的词典中,以保证这些词语能被正确切分。在后续应用中,该词表也可根据系统及用户的反馈进行调整。
使用通用引擎策略抓取的种子网站,采用Yahoo网址分类和hao123导航中的新闻、社会等相关目录下重要的国内外新闻类网站或专题频道。
使用垂直引擎策略抓取的种子网站,主要包括国务院侨办网站、各级地方侨办网站等专门领域的网站。
互联网侨情信息采集系统开发环境采用Windows XP操作系统、MySQL数据库、Visual Studio 2008(C#)编程环境,实现的主要功能模块包括:
(1)关键词和网站列表导入模块:主要用于手工维护主题词表和种子网站列表,定义采集系统的采集范围。
(2)URL抓取模块:主要采用通用搜索策略,实现通过组合关键词和目标网站网址,构造查询表达式,向搜索引擎提交查询请求,并抓取返回的相关链接。
(3)网页源文件抓取模块:根据抓取入库的URL链接,使用抓取程序获取目标网页源文件,并将源代码存入数据库。
(4)正文抽取模块:顺序读取数据库中的网页源文件,逐个对网页文件进行正文抽取,将抽取的正文存入数据库中。
(5)分词模块:使用ICTCLAS分词系统提供的API对提取的网页标题进行中文切分词,并建立分词表,该分词表是一个以分词为行,标题为列的二维表结构。
(6)标题去重模块:首先建立或更新分词权重表,对分词总数和标题总数等数据进行统计,增加分词权重表的标题字段,计算每个分词权重并记录,进而根据每个分词的TF-IDF值以及它们组成的标题向量空间模型,两两计算对应标题的相似度,并根据阈值去重。
互联网侨情信息采集系统后台管理端可抓取到互联网侨情URL和标题等信息,如图4所示:
互联网主题信息的采集从侨情领域转换到其他领域一定会遇到各种新的问题,这需要进一步研究以设计出通用性更好、应用性更广、智能化程度更高的采集方案,希望本文能够起到抛砖引玉的作用。
本文针对互联网侨情信息采集需求进行了探讨和实现,基于对现有各类技术优缺点的对比,设计了一套性能较好、实现复杂度适中、技术较成熟且通用性较强的方案,结合实际应用进行了优化并加以实现。不过采集后信息处理还存在一些不足,比如使用基于分词的相似度计算方法来实现对网页标题的去重,可能会导致部分标题格式统一但内容接近的不同内容网页被去重;再如基于文本密度的正文抽取改进方案虽然性能优良,对新闻类网页的抽取效果较好,但对一些不规范格式的网页正文抽取效果不佳,对于内含特殊代码(如大量表格内容或存在脚本产生内容)的网页正文抽取效果也不够理想,这都需要进一步研究和完善。
[1] |
|
[2] |
|
[3] |
|
[4] |
|
[5] |
|
[6] |
|
[7] |
|
[8] |
|
[9] |
|
[10] |
|
[11] |
|
[12] |
|
[13] |
|
[14] |
|
[15] |
|
[16] |
|
[17] |
|
[18] |
|
[19] |
|
[20] |
|