面向BBS的通用提取算法的分析与设计

2018-03-30 12:01邓良聪晏先政
科技创新与应用 2018年9期
关键词:聚类分析

邓良聪 晏先政

摘 要:BBS型网站作为整个互联网生态中的重要一环,其中蕴含着海量的数据,也是我们获取信息的重要来源。如何针对这些不同类型的论坛网页,设计一种通用的算法,对其主题贴和回帖等有价值的信息进行提取,是文章所研究的主要内容。文章在基于对不同类型网页结构的深入分析,并充分考虑了论坛网页类型的不一致性、单个网站的易爬取性及通用爬虫的不可靠性,设计了一种基于网页纵向分析的提取方案,并详细叙述了主题爬虫的算法方案。

关键词:BBS; 噪音处理; 聚类分析; 符号匹配

中图分类号:F724.6 文献标志码:A 文章编号:2095-2945(2018)09-0132-02

Abstract: As an important part of the whole Internet ecology, BBS-type website contains a huge amount of data, and it is also an important source of information. How to design a general algorithm for these different types of forum pages to extract valuable information such as theme posts and reply posts is the main concern of this paper. In this paper, based on the in-depth analysis of different types of web pages, the inconsistency of web page types, the accessibility of individual web sites and the unreliability of common crawlers are fully considered. An extraction scheme based on longitudinal analysis of web pages is designed, and the algorithm of topic crawler is described in detail.

Keywords: BBS; noise processing; cluster analysis; symbol matching

引言[1]

在当今的大数据时代里,伴随着互联网和移动互联网的高速发展,人们产生的数据总量呈现急剧增长的趋势,当前大约每六个月互联网中产生的数据总量就会翻一番。互联网产生的海量数据中蕴含着大量的信息,已成为政府和企业的一个重要数据来源,互联网数据处理也已成为一个有重大需求的热门行业。借助网络爬虫技术,我们能够快速从互联网中获取海量的公开网页数据,对这些数据进行分析和挖掘,从中提取出有价值的信息,能帮助并指导我们进行商业决策、舆论分析、社会调查、政策制定等工作。而大部分网页数据是以半结构化的数据格式呈现的,我们需要的信息在页面上往往淹没在大量的广告、图标、链接等“噪音”元素中。如何从网页中有效提取所需要的信息,一直是互联网数据处理行业关注的重点问题之一。

但是,不同网站甚至网页所使用的网页格式、网页结构和标签体系可能是不一样的,对于从互联网中获取的海量网页的批量处理,如果还利用传统的方法去对每个有差异的网页逐一做人工分析,是不可行的。因此,如何从这些存在差异的网页中快速有效的提取所需信息,就成为互联网数据处理中一个急需解决的问题。尽管在传统的网页结构化数据提取智能分析实践中,已经有很多开源的智能提取算法来分析新闻、文章类数据,然而这些方法只适用于提取有大段文本的页面结构数据信息,如只包含网页作者、标题、正文内容及发布时间等内容的网页。而对于BBS论坛型网页,由于文本在网页上相对分散且要提取的字段较多,传统的算法不再适用,需要重新设计通用提取算法,针对帖子内容进行有效地分析提取。

基于上述背景,本文提出一种新的算法,并详细描述了该算法的具体实现过程和原理

1 整体思路分析

通过对论坛网页结构的深入分析,发现不同类型的论坛网页具有一定的共性,比如所有网页都有发回帖时间,且所有网页的有效信息均散落在噪声中。如果能先对噪声做预处理,把主题帖和回帖从页面结构中抽离出来,然后再对帖子内部的噪声做处理,最后得到的文本信息即是需要提取的信息。

2 算法过程

2.1 外部噪声处理

通过对网页结构的深入分析,可以发现在需要提取的有效信息周围,有很多的噪声。由于本题对图片音频视频不作考虑,因此,本文只讨论对文本噪声的处理[2]。对文本噪声的具体处理步骤为:

首先,噪声分类。按照网页自上而下的分布规律,将这些文本噪声大分为以下几类:(1)导航條列表类噪声;(2)广告类噪声;(3)侧边栏列表类噪声;(4)帖子内部无用文本类噪声;(5)底部栏文本类噪声。

其次,噪声处理[3]。在分析了所有样本论坛的页面结构后,可发现几乎所有的主题贴都有发帖时间,所有的回帖都有回帖时间。而上面所提到的5类噪声中除了第4类帖子内部无用文本噪声包含着时间格式,其他类别的噪声大多都不含时间格式文本。因此,利用正则时间匹配方式,就可以匹配掉除帖子内部噪声之外的大多数噪声。除此之外,有的论坛在底部栏也会有网站系统时间,为了防止此类噪声的干扰,可提前去掉此类标签。由此即可从图2所示的整个网页盒子中分离出主题帖及回帖的盒子。

至此,主题帖盒子和回帖盒子还是紧密相连的,为了达到最终提取网页有效信息的目的,还需将这两个盒子分开。因此,本文拟采用下一步中利用id聚类分析的方法来对主题帖和回帖进行分离。

2.2 基于主帖和回帖id的聚类分析

2.2.1 思路分析

在提取到带有文本噪声的主题帖和回帖文本信息后,确定哪部分是主题帖信息、哪部分是回帖信息是该部分要解决的关键问题。本文考虑将主题帖和回帖进行分块,不断缩小盒子模型,以获取最终的有效信息。

各不同类型论坛网页的结构大体相同,大部分网页的HTML语法都是以

布局的。在这种布局方式下,存在标签的嵌套问题,即一个
下面有多个
,且最里层
的文本内容有可能才是我们要提取的信息。通过对样本网页的
内id属性值的分析,可知每个帖子块都有一个固定的id属性值,而且这些id属性值都存在一定的线性规律(如图1所示)。如果能把这些有规律的id聚在一起,那么主贴和回帖就能被分离开来。因此,可利用系统聚类分析法[4]对主题帖和回帖进行分离。

2.2.2 id属性值转换成ASCII做聚类分析

考虑到id属性值一般由数字、下划线、字母组成,我们无法直接对它们进行聚类。因此,在这里统一把它们转换成相同格式的ASCII码,利用上面介绍的系统聚类分析法,并结合Python和R语言的相关函数对这些ASCII码做最短距离计算,即差值小的被聚为一类,差值大的自成一类。

2.2.3 从各类中确定主题帖类和回帖类

通过系统聚类分析方法,帖子的回帖信息被聚为一类,根据主题帖id属性值与回帖id属性值的差异大小,主题帖有可能会和回帖被分为一类,也有可能被单独分成一类。在主题帖和回帖类的上面还有若干嵌套类,这些嵌套类一环套一环,主题帖和回帖id也在这些嵌套类中。

接下来即要提取主题帖id和回帖id,自上而下的办法就是删除嵌套类,自下而上的解决方法就是直接取回帖类,核心的解决思想就是判断倒数第二个类中是否含有回帖属性(文本内容,时间)具体实施方法是,取最后一个类的的第一个id中的文本信息看其是否在倒数第二个类中出现,若出现,就是主题帖和回帖在一个类,最后一个类的第一个id即为主题帖。若不出现,主题帖和回帖不在一个类,倒数第二个类的id即为主题帖,此时主题帖和回帖盒子被分开。

接下来,还需要对帖子内部的噪声信息进行处理,以提取最终的有效信息。

2.3 内部噪声处理

主题帖和回帖被分开后,其内部还有诸多无用文本噪声,对于该部分噪声,本文决定采用一种符号匹配的方法。即采用逗号进行正则匹配,只要带有逗号的文本信息即是有用信息。对于大部分包含有价值信息的帖子内容而言,逗号出现的频率最高,而且其他文本噪声一般情况下是不会含有逗号等标点符号的。为了提高提取的精度和内容完整性,还可采用以下两种方法对其进行改进:(1)建立标点符号的模型库。例如句号、省略号、感叹号这些常见的且不含在其他文本噪声的中出现的符号,以提高提取的精度。(2)利用回帖结构的一致性,遍历回帖类,记录每个id中文本信息的个数,通过符号匹配找到文本信息的位置,即处于第几个文本信息,通过这个位置去查询该类其他id中回帖的正文信息。这样做的好处是,只要全部回帖只要有一个符号例如逗号,就可以查询所有回帖内容,因为回帖结构固定。

2.4 信息提取

经过上述的噪音处理和聚类分组之后,即可把主题帖和回帖从页面中抽离出来,接下来就可以從中提取相关信息。各个字段的提取方法如下:

标题:从标签中提取。</p><p>主题贴作者:从已经分好的主题帖类中进行检索,遇到第一个带超链接的文本信息即是作者。</p><p>主题帖:通过符号正则匹配提取。</p><p>主题帖时间:通过时间正则匹配提取。</p><p>回帖作者:从已经分好的主题帖类中进行检索,遇到第一个带超链接的文本信息即是作者。</p><p>回帖内容:遍历回帖类,第一个匹配到标点符号模型库的文本内容,即是回帖内容。记录该回帖内容在单个回帖块中的位置信息,根据该位置信息取出所有回帖块中的回帖内容。</p><p>3 结束语</p><p>BBS论坛系统包含有大量信息,也一直为大量用户所喜爱,其信息量必然还会持续增加,因此如何设计相关提取算法去提取有价值信息也非常有必要。本文提出的算法更具有通用性,并没有只针对已有的一些大型开源论坛做信息提取。</p><p>将系统聚类分析的思想应用到分析网页结构上,很好的解决了论坛网页结构复杂,噪声过多的情况。但由于部分网页结构比较特殊,因此该算法还有许多可完善的地方。</p><p>参考文献:</p><p>[1]刘金红,陆余良.主题网络爬虫研究综述[J].计算机应用研究,2007,24(10):26-29.</p><p>[2]蒋琴琴,宫哲,辛阳.基于HTML Parser的BBS信息抽取系统的设计与实现[J].自动化技术与应用,2012(01):32-37.</p><p>[3]邓垦,胡勇.基于DOM树的通用论坛抽取技术[J].网络安全技术与应用,2015(01):20.</p><p>[4]胡雷芳.五种常用系统聚类分析方法及其比较[J].浙江统计,2007(04):11-13.</p><p>

创新前沿
一种供暖系统地下管道渗漏的检测技术
基于光学检测方法的霍普金森压杆技术综述
吸湿性多孔材料介电特性表征
叶片姿态可变水轮机实验数据分析
水下电缆敷设技术专利综述
输电线路除冰雪专利技术分析
基于SWP—SIM技术的移动终端身份认证及使用授权的实现方法
青岛市农业科技进步贡献率测算研究
一种智能导盲杖的设计
跑道视程计算及统计的对比分析
基于Zigbee的幼儿园儿童体温实时监控系统
舞台威亚基于CAN总线的直线运动防摇控制
众创空间
航空发动机点火系统的能量计算研究
恒温恒湿净化中央空调的网络一体化监控系统
家用喷水式窗户玻璃清洁器的设计
水利工程设计创新发展前景
新时代对我国材料基因组计划科技创新应用基础研究的一些思考
国内O2O停车模式发展突破点探究
基于专利知识辅助激发灵感的机械产品创新设计
一种新型三维磁场传感器及其性能研究
技术创新
汽车焊装工艺测控自动化控制技术研究
航空用磁电式转速传感器测速系统匹配技术研究
水利水电工程中土石方施工技术的相关探讨
高速公路路基高液限黏土施工改良技术
直升机高原滑跑起飞性能试飞技术研究
水利工程堤围加固施工技术研究
钻修机配套设备改造技术
高清视频会议系统与关键技术
结冰对飞机飞行安全的影响与防护技术分析
工艺创新
厂、段修转向架及轮轴检修工艺优化研究
喷射沉积Mg—12.55Al—3.33Zn—0.58Ca—1.0Nd合金力学性能研究
船体修理改装中的变形控制工艺研究
车床加工高密度海绵的探索
一种五氟丙烷废气处理工艺仿真设计
试析薄壁曲面铝合金折叠器数控加工难点与解决方法
方法创新
建筑给排水工程施工中节能减排的措施研究
发动机吊挂接头强度分析方法研究
一种磨煤机油站电气控制回路的设计改造方法
原子吸收光谱仪常见故障的排除
建筑工程给排水施工常见问题与优化
锅炉压力容器的检测
自动化仪表的检测与维护探讨
中波发射台电磁及抗干扰措施
火电厂大气污染物综合控制技术的优化对策
机场地面勤务节能减排方法探索
翼板减薄刀具方案
交互应用镜像命令和旋转命令对CAD图形转动至任意位置的方法
煤矿通风安全影响因素及防范措施的研究
基于电力系统短路的潮流计算方法分析
雷神雷达通过视频时钟板进行正北校准的方法
设计创新
基于PLC下智能仓储控制系统设计的研究
一种直流力矩电机伺服驱动器的设计与研究
电动行李牵引车车架设计与优化
内燃机车膨胀水箱设计
基于逆向设计方法的潜水器设计研究
建筑结构工程抗震设计的作用及其要点
面向BBS的通用提取算法的分析与设计
汽车零部件参数化逆向设计研究
人机工程学与情感设计
非标准设备参数化三维设计二次开发初探
科技管理
城市二次供水住宅小区巨额水损责任承担的管理与研究
中波广播发射系统结构与管理维护技术
煤矿井下开采作业安全技术与安全管理
水利工程施工管理的质量控制
应用科技
钢绞线斜拉索防护应用分析
SolidWorks二次开发在压缩机连杆类零件中的应用与研究
水利工程中水闸加固施工技术的应用
AR技术应用于3D互动科普读物的研究
风力发电系统中大功率变流器的应用初探
微信在气象服务中的应用及发展
镍基合金管道对接焊缝超声检测技术的应用
中波广播发射台UPS设备的应用与维护
水利工程中防渗施工技术的应用
研究与展望
汽车前保险杠设计可行性研究
多绳摩擦提升机钢丝绳张力不平衡问题探研
高速动车组电动内端门关键部件寿命研究
两相位T型交叉口通行安全分析
气象部门防雷减灾工作及问题分析
加强房屋建筑工程质量研究
液相色谱法检测粮油农残的研究进展
滩浅海油田人工举升设备的发展
“新形式”下我国城市集中供热发展的思考
国内城市地下综合管廊建设模式探讨
暖通空调工程安装施工中的质量控制问题研究
ZY4800/06/16.5型液压支架力学分析
FANUC系统数控车床宏程序解析
水力机械检测与质量评定研究

猜你喜欢
聚类分析
基于谱聚类算法的音频聚类研究
基于Weka的江苏13个地级市温度聚类分析
我国中部地区农村居民消费行为阶段特征分析
基于聚类分析的无须人工干预的中文碎纸片自动拼接
浅析聚类分析在郫县烟草卷烟营销方面的应用
农村居民家庭人均生活消费支出分析
基于省会城市经济发展程度的实证分析
基于聚类分析的互联网广告投放研究
“县级供电企业生产经营统计一套”表辅助决策模式研究