一种基于规则和语义的通用论坛主题帖页面信息抽取方法技术

技术编号:18204252 阅读:35 留言:0更新日期:2018-06-13 06:20
本发明专利技术提供一种基于规则和语义的通用论坛主题帖页面信息抽取方法,用于对主题帖标题,作者,发帖时间和正文的提取,本发明专利技术抽取方法满足当今主流论坛的网页结构,克服传统爬虫需要针对不同网站分别设计而耗费的人工成本。

【技术实现步骤摘要】
一种基于规则和语义的通用论坛主题帖页面信息抽取方法
本专利技术属于文本信息处理领域,具体是涉及一种基于规则和语义的通用论坛主题帖页面信息抽取方法。
技术介绍
论坛的主题帖信息具有十分重要的价值。主题帖提供的信息远远大于论坛其他文本。数据分析师可以从海量论坛的主题帖中挖掘知识,分析网民的关注热点。论坛的页面信息采集一般通过网络信息采集器(也称网络爬虫)进行采集。采集到的页面一般利用Xpath,正则表达式,HTML解析等信息抽取规则进行匹配,进而抽取出论坛页面上的标题、正文、时间、作者等主贴信息。但是由于各个论坛的网页结构不同,一般需要对不同论坛设计不同的信息抽取规则,需要花费大量的人工成本。本专利技术针对网络论坛的主题帖页面,基于规则和语义信息,结合正则表达式技术,提出并实现了一个自动获取主题帖信息的信息抽取方法和系统。此方法可以满足对论坛主贴信息的文本过滤和抽取,经过测试,可以获取超过50个不同类型的论坛信息,节省了人工设计成本,并保证准确率在合理的范围内。
技术实现思路
本专利技术通过对比论坛结构和文本的共性,提供一种基于规则和语义的通用论坛主题帖页面信息抽取方法,用于对主题帖标题、作者、发帖时间和正文的抽取,该方法满足当今主流论坛的网页结构,克服传统爬虫需要针对不同网站分别设计而耗费的人工成本。为实现上述目的,本专利技术采用如下的技术方案:一种基于规则和语义的通用论坛主题帖页面信息抽取方法,包括以下步骤:步骤(1)主题帖形式化表示建立二元组B=(T,S),T表示主题帖,S表示帖子结构,T=(T1,T2,T3,T4),T1为标题,T2为发帖时间,T3为作者,T4为正文;S=(S1,S2),S1为由上至下结构,S2为由左至右的帖子结构;步骤(2)定义文本特征和语义词典步骤(2.1)获取论坛页面源码及文本针对每个帖子获取其全部源码记为H;通过正则表达式过滤全部标签只保留文本,将过滤后只含有文本的源代码记为H’,每个网页记为一个二元组(H,H’),web上所有论坛的主题帖即为:Page=((H1,H′1),(H2,H′2)(Hn,H′n))步骤(2.2)计算文本间距离获取一个H′中所有文本,文本之间的两两距离计算公式如下:Dist(a,b)=Index(a)-Index(b)其中,a,b是两种文本,Index(*)是文本首字索引,步骤(2.3)计算URL相似性获取一个H中所有URL,URL之间的两两相似性计算方法如下:Sim(a,b)=len(MaxStr(a,b))其中a,b是两种类型文本,MaxStr(a,b)是指a,b的最大公共子串,若Sim>M则认为a,b具有相似性,否则不具有相似性,M为相似性阈值,步骤(2.4)构建噪声词典1、获取相同论坛的不同帖子J个,对这J个H′的每一行进行词频/句频统计。取词/句频最高的P个词/句构成噪声集,P为频数阈值,2、H中含有超链接且长度小于K的文本加入噪声集,K为文本长度阈值,该集合定义为NF,每类论坛有且仅有一个NF集。步骤(2.5)构建指示词典初始化指示词典:将初始的指示词典定义为空集,该集合定义为F,F的结构如下所示:F=(T1:*,T2:*,T3:*,T4:*}每个论坛有且仅有一个F集,步骤(3)提取标题(T1)、时间(T2)、作者(T3)步骤(3.1)提取标题(T1),其规则如下:规则1:根据指示词典获取标题规则2:根据Dom源码获取标题规则3:根据过滤噪声获取标题步骤(3.2)获取时间(T2),其规则如下:规则1:根据指示词典获取时间,规则2:根据正则表达式获取时间,步骤(3.3)获取作者(T3),其规则如下:规则1:根据指示词典获取作者,规则2:根据Dom源码及正则表达式获取作者,规则3:根据URL相似性获取作者,规则4:根据过滤噪声获取作者,步骤(4):获取T4论坛通用结构如下所示:1.主题帖外部结构标题(主题帖标题)→主题帖→回复贴1→回复贴2→……→回复贴N,2.主题帖内部结构S1型主题帖内部结构标题→作者时间正文,时间作者正文三个标签在DOM中互为兄弟节点,S2型主题帖内部结构标题→作者→时间正文,时间正文标签互为兄弟节点,针对不同结构提取正文片断方法详述如下:步骤(4.1)判断论坛结构论坛结构为由上至下则作者与时间的文本距离小于等于Maxdist;论坛结构为由左至右则作者与时间的文本距离大于Maxdist。Maxdist是距离阈值,由此可以判断该论坛类型属于S1型还是S2型,步骤(4.2)提取正文片段步骤(4.2.1)针对由上至下型(S1)1.扩充噪声集NF:这类论坛作者和时间通常会放在Dom树的同一个节点下,从作者所在节点,逐层遍历其父节点,若在两层父节点内发现时间,则把该父节点所包含的信息都加入噪声词,否则放弃寻找,2.搜索正文片段:规则1:不包含主题帖作者,标题,发帖时间的信息,如果文本含@符号,则作为正文片断,规则2:不包含主题帖作者,标题,发帖时间的信息,且若去掉噪声集的词句、数字以及标点符号,剩余文本大于D个字,则保留作为正文片断。D为剩余字数阈值,步骤(4.2.2)针对由左至右型(S2)1.定位右栏:S2类型的标签结构左栏为作者信息,右栏为发帖时间以及正文信息,以发帖时间为起点,依次查找其父节点是否包含作者名,重复此过程,直到查找到作者名,便可定位出右栏所对应的的根节点,2.搜索正文片段:搜索正文片段方法与前者算法相同规则1:不包含主题帖作者,标题,发帖时间的信息,如果文本含@符号,则作为正文片断,规则2:不包含主题帖作者,标题,发帖时间的信息,且若去掉噪声集的词句、数字以及标点符号,剩余文本大于D个字,则保留作为正文片断,D为剩余字数阈值,步骤(4.3)提取T4两种论坛的正文片断提取结束,则可以提取正文全部内容,方法如下:1.寻找正文片断的父节点直到包含发帖时间为止,2.提取包含发帖时间节点的前一个节点的文本内容,3.删除其中所有噪声集内的文本,4.将剩余文本作为正文步骤(4.4)扩充F获取主题帖标题、时间、作者、正文后,若其对应标签前有词,且该词位于NF中,将该词对应加入F。附图说明图1为本专利技术的流程图;图2天涯社区(S1型)示例;图3哇哈论坛(S2型)示例。具体实施方式下面结合附图和实施例,对本专利技术的具体实施方式作进一步的详细描述。以下实施例用于说明本专利技术,但不用来限制本专利技术的范围。如图1所示,本专利技术提供一种基于规则和语义的通用论坛主题帖页面信息抽取方法,包括以下步骤:步骤(1)对主题帖进行形式化表示建立二元组B=(T,S),T表示主题帖,S表示帖子结构。其中T=(T1,T2,T3,T4),T1为标题,T2为发帖时间,T3为作者,T4为正文;S=(S1,S2),S1为由上至下结构,如猫扑、虎扑、天涯社区等;S2为由左至右的帖子结构如六维空间、17173论坛、哇哈论坛等。步骤(2)定义文本特征和语义词典步骤(2.1)获取论坛页面源码及文本针对每个帖子获取其全部源码记为H;通过正则表达式过滤全部标签只保留文本,将过滤后只含有文本的源代码记为H’。由此,每个网页记为一个二元组(H,H’),web上所有论坛的主题帖即为:Page=((H1,H'1),(H2,H'2)(HniH'n))步骤(2.2)计算文本间距离获取一个H′中所有文本本文档来自技高网...
一种基于规则和语义的通用论坛主题帖页面信息抽取方法

【技术保护点】
一种基于规则和语义的通用论坛主题帖页面信息抽取方法,其特征在于,包括以下步骤:步骤(1)主题帖形式化表示建立二元组B=(T,S),T表示主题帖,S表示帖子结构,T=(T1,T2,T3,T4),T1为标题,T2为发帖时间,T3为作者,T4为正文;S=(S1,S2),S1为由上至下结构,S2为由左至右的帖子结构;步骤(2)定义文本特征和语义词典步骤(2.1)获取论坛页面源码及文本针对每个帖子获取其全部源码记为H;通过正则表达式过滤全部标签只保留文本,将过滤后只含有文本的源代码记为H’,每个网页记为一个二元组(H,H’),web上所有论坛的主题帖即为:Page=((H1,H′1),(H2,H′2)…(Hn,H′n))步骤(2.2)计算文本间距离获取一个H′中所有文本,文本之间的两两距离计算公式如下:Dist(a,b)=Index(a)‑Index(b)其中,a,b是两种文本,Index(*)是文本首字索引,步骤(2.3)计算URL相似性获取一个H中所有URL,URL之间的两两相似性计算方法如下:Sim(a,b)=len(MaxStr(a,b))其中a,b是两种类型文本,MaxStr(a,b)是指a,b的最大公共子串,若Sim>M则认为a,b具有相似性,否则不具有相似性,M为相似性阈值,步骤(2.4)构建噪声词典1、获取相同论坛的不同帖子J个,对这J个H′的每一行进行词频/句频统计。取词/句频最高的P个词/句构成噪声集,P为频数阈值,2、H中含有超链接且长度小于K的文本加入噪声集,K为文本长度阈值,该集合定义为NF,每类论坛有且仅有一个NF集。步骤(2.5)构建指示词典初始化指示词典:将初始的指示词典定义为空集,该集合定义为F,F的结构如下所示:F={T1:*,T2:*,T3:*,T4:*}每个论坛有且仅有一个F集,步骤(3)提取标题(T1)、时间(T2)、作者(T3)步骤(3.1)提取标题(T1),其规则如下:规则1:根据指示词典获取标题规则2:根据Dom源码获取标题规则3:根据过滤噪声获取标题步骤(3.2)获取时间(T2),其规则如下:规则1:根据指示词典获取时间,规则2:根据正则表达式获取时间,步骤(3.3)获取作者(T3),其规则如下:规则1:根据指示词典获取作者,规则2:根据Dom源码及正则表达式获取作者,规则3:根据URL相似性获取作者,规则4:根据过滤噪声获取作者,步骤(4):获取T4论坛通用结构如下所示:1.主题帖外部结构标题(主题帖标题)→主题帖→回复贴1→回复贴2→……→回复贴N,2.主题帖内部结构S1型主题帖内部结构标题→作者时间正文,时间作者正文三个标签在DOM中互为兄弟节点,S2型主题帖内部结构标题→作者→时间正文,时间正文标签互为兄弟节点,针对不同结构提取正文片断方法详述如下:步骤(4.1)判断论坛结构论坛结构为由上至下则作者与时间的文本距离小于等于Maxdist;论坛结构为由左至右则作者与时间的文本距离大于Maxdist。Maxdist是距离阈值,由此可以判断该论坛类型属于S1型还是S2型,步骤(4.2)提取正文片段步骤(4.2.1)针对由上至下型(S1)1.扩充噪声集NF:这类论坛作者和时间通常会放在Dom树的同一个节点下,从作者所在节点,逐层遍历其父节点,若在两层父节点内发现时间,则把该父节点所包含的信息都加入噪声词,否则放弃寻找,2.搜索正文片段:规则1:不包含主题帖作者,标题,发帖时间的信息,如果文本含@符号,则作为正文片断,规则2:不包含主题帖作者,标题,发帖时间的信息,且若去掉噪声集的词句、数字以及标点符号,剩余文本大于D个字,则保留作为正文片断。D为剩余字数阈值,步骤(4.2.2)针对由左至右型(S2)1.定位右栏:S2类型的标签结构左栏为作者信息,右栏为发帖时间以及正文信息,以发帖时间为起点,依次查找其父节点是否包含作者名,重复此过程,直到查找到作者名,便可定位出右栏所对应的的根节点,2.搜索正文片段:搜索正文片段方法与前者算法相同规则1:不包含主题帖作者,标题,发帖时间的信息,如果文本含@符号,则作为正文片断,规则2:不包含主题帖作者,标题,发帖时间的信息,且若去掉噪声集的词句、数字以及标点符号,剩余文本大于D个字,则保留作为正文片断,D为剩余字数阈值,步骤(4.3)提取T4两种论坛的正文片断提取结束,则可以提取正文全部内容,方法如下:1.寻找正文片断的父节点直到包含发帖时间为止,2.提取包含发帖时间节点的前一个节点的文本内容,3.删除其中所有噪声集内的文本,4.将剩余文本作为正文步骤(4.4)扩充F获取主题帖标题、时间、作者、正文后,若其对应标签前有词,且该词位于NF中,将该词对应加入F。...

【技术特征摘要】
1.一种基于规则和语义的通用论坛主题帖页面信息抽取方法,其特征在于,包括以下步骤:步骤(1)主题帖形式化表示建立二元组B=(T,S),T表示主题帖,S表示帖子结构,T=(T1,T2,T3,T4),T1为标题,T2为发帖时间,T3为作者,T4为正文;S=(S1,S2),S1为由上至下结构,S2为由左至右的帖子结构;步骤(2)定义文本特征和语义词典步骤(2.1)获取论坛页面源码及文本针对每个帖子获取其全部源码记为H;通过正则表达式过滤全部标签只保留文本,将过滤后只含有文本的源代码记为H’,每个网页记为一个二元组(H,H’),web上所有论坛的主题帖即为:Page=((H1,H′1),(H2,H′2)…(Hn,H′n))步骤(2.2)计算文本间距离获取一个H′中所有文本,文本之间的两两距离计算公式如下:Dist(a,b)=Index(a)-Index(b)其中,a,b是两种文本,Index(*)是文本首字索引,步骤(2.3)计算URL相似性获取一个H中所有URL,URL之间的两两相似性计算方法如下:Sim(a,b)=len(MaxStr(a,b))其中a,b是两种类型文本,MaxStr(a,b)是指a,b的最大公共子串,若Sim>M则认为a,b具有相似性,否则不具有相似性,M为相似性阈值,步骤(2.4)构建噪声词典1、获取相同论坛的不同帖子J个,对这J个H′的每一行进行词频/句频统计。取词/句频最高的P个词/句构成噪声集,P为频数阈值,2、H中含有超链接且长度小于K的文本加入噪声集,K为文本长度阈值,该集合定义为NF,每类论坛有且仅有一个NF集。步骤(2.5)构建指示词典初始化指示词典:将初始的指示词典定义为空集,该集合定义为F,F的结构如下所示:F={T1:*,T2:*,T3:*,T4:*}每个论坛有且仅有一个F集,步骤(3)提取标题(T1)、时间(T2)、作者(T3)步骤(3.1)提取标题(T1),其规则如下:规则1:根据指示词典获取标题规则2:根据Dom源码获取标题规则3:根据过滤噪声获取标题步骤(3.2)获取时间(T2),其规则如下:规则1:根据指示词典获取时间,规则2:根据正则表达式获取时间,步骤(3.3)获取作者(T3),其规则如下:规则1:根据指示词典获取作者,规则2:根据Dom源码及正则表达式获取作者,...

【专利技术属性】
技术研发人员:刘磊孙孟涛徐文扬陈天琪
申请(专利权)人:北京工业大学
类型:发明
国别省市:北京,11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1