[发明专利]一种网络学术报告的关键字段自动提取方法有效
申请号: | 201611090385.0 | 申请日: | 2016-12-01 |
公开(公告)号: | CN106708964B | 公开(公告)日: | 2019-07-19 |
发明(设计)人: | 薛峰;许剑东;王健伟;夏帅;孙健;陈思洋 | 申请(专利权)人: | 合肥工业大学 |
主分类号: | G06F16/955 | 分类号: | G06F16/955;G06F16/957 |
代理公司: | 安徽省合肥新安专利代理有限责任公司 34101 | 代理人: | 陆丽莉;何梅生 |
地址: | 230009 安*** | 国省代码: | 安徽;34 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 学术报告 关键字段 网络爬虫 自动提取 结构化 网络 简介 站点 数据持久化 站点数据库 报告标题 报告内容 报告站点 处理网络 关键信息 内容抽取 预告信息 站点信息 有效地 封装 抽取 重复 | ||
1.一种网络学术报告的关键字段自动提取方法,其特征是按如下步骤进行:
步骤1、收集学术报告站点的信息,构成学术报告站点数据库;
所述学术报告站点数据库中包括:各学术报告站点的起始URL、各站点的学术报告列表URL正则表达式、各站点的学术报告详细页URL正则表达式、各站点的报告内容所在HTML标签的组合选择器表达式CE以及各站点的报告标题所在HTML标签的组合选择器表达式TE;
步骤2、根据所述各学术报告站点的起始URL、各站点的学术报告列表URL正则表达式以及各站点的学术报告详细页URL正则表达式,利用网络爬虫爬取任意一个学术报告站点S,得到任意一个页面P并相应解析成DOM树格式;
步骤3、根据所述页面P利用网络爬虫得到相应的Jsoup Document对象D;
步骤4、根据所述组合选择器表达式CE和所述Jsoup Document对象D,利用网络爬虫获取所述组合选择器表达式CE所对应的HTML标签内的报告内容C;
步骤5、对所述报告内容C进行关键词的抽取和封装,得到仅包含关键字的报告类实例R;所述关键字包括:报告标题,报告简介,报告人,报告人简介,报告举办时间,报告举办地点和报告举办单位;由关键字及其对应的内容构成关键字段;
步骤6、判断所述报告内容C是否包含<img>标签;若包含,则执行步骤7;若不包含,则执行步骤8;
步骤7、判断所述报告内容C中包含的文字数n≤所设定文字数量阈值NM是否成立,若成立,则表示所述报告内容C为纯图片报告,并设置所述报告类实例R的remark字段为“纯图片报告”后,执行步骤11;若不成立,则直接执行步骤11;
步骤8、构造标签集合L,所述标签集合L中包含:HTML标签的块级结束标签</div>、</p>、</pre>、</ul>、</ol>、</li>、</h1>、</h2>、</h3>、</h4>、</h5>、</h6>,以及HTML标签的行级结束标签</br>;
将所述报告内容C中属于标签集合L中的元素均替换为指定字符串S,并去除所述报告内容C中其他所有的HTML标签,从而得到纯文本Cp;
步骤9、以所述指定字符串S为分隔符,对所述纯文本Cp进行分隔,获得字符串数组A;
步骤10、遍历所述字符串数组A,对每一个字符串进行文本处理,抽取所述关键字所对应的关键内容,并相应填充到所述报告实例R中,得到初步报告实例R′;
步骤11、对所述初步报告实例R′中的报告标题关键字所对应的内容进行空值判断;若所述报告标题关键字所对应的内容为空,则执行步骤12;否则,执行步骤15;
步骤12、对所述学术报告站点S的组合选择器表达式TE进行空值判断,若所述组合选择器表达式TE为空,则执行步骤14;否则,执行步骤13;
步骤13、根据所述JsoupDocument对象D和组合选择器表达式TE,抽取所述组合选择器表达式TE所对应的HTML标签内的内容TC;
对所述组合选择器表达式TE所对应的HTML标签内的内容TC进行空值判断,若所述组合选择器表达式TE对应的HTML标签内的内容TC为空,则执行步骤14;否则,设置所述组合选择器表达式TE对应的HTML标签内的内容TC作为报告标题的内容;从而得到准报告实例R,并执行步骤15;
步骤14、设置初步报告实例R′中的报告标题关键字所对应的内容为网页标题所对应的内容;从而得到准报告实例R;
步骤15、对所述准报告实例R中的报告举办时间关键字所对应的内容进行空值判断,若为空,则表示所述准报告实例R非网络学术报告,并丢弃所述准报告实例R,若不为空,则继续判断所述报告举办地点所对应的内容是否为空,若为空,则表示所述准报告实例R非网络学术报告,并丢弃所述准报告实例R,若不为空,则表示所述准报告实例R为网络学术报告并存入学术报告数据库中用于预告和展示。
2.根据权利要求1所述的网络学术报告的关键字段自动提取方法,其特征是,所述步骤10是按如下步骤进行:
步骤10.1、定义变量i,并初始化i=0;
步骤10.2、判断所述字符串数组A中的第i个字符串是否为空值,若为空值或空串,则将i+1赋值给i后,判断i>N是否成立,若成立,则表示完成所述字符串数组A的遍历;否则,重复执行步骤10.2;若不为空值或空串,则执行步骤10.3;N表示所述字符串数组A的长度;
步骤10.3、去除所述字符串数组A中的第i个字符串两端的控制符和全角空格,获取第i个字符串的最后一个字符,并判断最后一个字符是否为半角冒号“:”或全角冒号“:”;若是,则执行步骤10.4;否则,执行步骤10.8;
步骤10.4、取出所述第i个字符串的最后一个字符之前的子串,并记为keyi;
步骤10.5、判断keyi≥α是否成立,若不成立,则表示所述第i个字符串的最后一个字符之前的子串keyi为报告关键字,执行步骤10.6;否则,将i+1赋值给i后,判断i>N是否成立,若成立,则表示完成所述字符串数组A的遍历;否则,返回执行步骤10.2;α表示所设定的关键词长度的阈值;
步骤10.6、去除所述子串keyi所包含的标点符号和数字,得到预处理后的子串key′i;
步骤10.7、判断第i+1个字符串是否为空串,若是,则将i+1赋值给i,判断i>N是否成立,若成立,则表示完成所述字符串数组A的遍历;若不成立,则重复执行步骤10.7;否则,取出所述第i+1个字符串作为关键字所对应的内容;
步骤10.8、搜索所述第i个字符串中是否存在半角冒号“:”或全角冒号“:”,若存在,则记录第一个半角冒号“:”或全角冒号“:”所在的位置,记为Pi,并将位置Pi之前的子串记为keyi,位置Pi之后的子串作为关键字所对应的内容;若不存在,将i+1赋值给i,判断i>N是否成立;若成立,则表示完成所述字符串数组A的遍历;否则,返回执行步骤10.2。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于合肥工业大学,未经合肥工业大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201611090385.0/1.html,转载请声明来源钻瓜专利网。