辛亥革命史主题爬虫的设计与实现

时间:2022-09-11 06:54:34

辛亥革命史主题爬虫的设计与实现

摘要:今年是辛亥革命100周年,该文在普通爬虫的技术基础上以主题相关性为核心构建辛亥革命史主题爬虫,从而保证该主题爬虫

>> 记忆与历史:孙中山对辛亥革命史的建构及其影响 《帝制的终结:简明辛亥革命史》等五则 左舜生的辛亥革命史研究及其治史特色 辛亥革命史迹与广州是近代革命策源地 袁世凯与辛亥革命的成功 袁世凯与辛亥革命的失败 辛亥革命的破与立 读《辛亥革命史事长编》有感 辛亥革命:中国近代史的丰碑 辛亥革命主题的美术创作略谈 “辛亥革命”教学设计 《辛亥革命》教学设计 与辛亥革命 南社与辛亥革命 黄帝与辛亥革命 新政与辛亥革命 女性的革命史 辛亥革命的总设计师 辛亥革命与广东的“和平光复” 黎元洪与辛亥革命的两张面孔 常见问题解答 当前所在位置:l有如下链接指向的页面:information.html,organizatioon.html,news.html,about.html,则这些页面被称为index.html的子页面。根据主题页面的分布规律,index.html与某一主题相关,那么这些子页面与主题相关度也可能很高。

4) 主题字典

动态主题库是由静态主题库和动态主题库而构成,静态主题库在初始过程中由历史领域专家建立,并在抓取过程中保持不变[5]。动态主题库是在网页爬取过程中,根据提取出来的锚文本中和URL中的未知字段构建。

锚文本中未出现在主题库的字段可能是与主题相关的概念的另一种表述,这些信息是主题相关的潜在信息。本文利用Google的blog搜索方法,对未知字段进行查询,提交给Google,在返回的结果列表中,提取前n个结果对应的URL,将这n个URL对应的网页抓取回来,构成一个未知字段ut相关的网页集合X。通过对网页集合X中的网页进行字段统计,得出一个(字段,频率)的列表,根据频率降序排列,从中选取前S个字段,构成未知字段的反馈字段集合T。对T中的每个字段ti,利用同义词进行替换,替换成静态主题库中的词语,构成新的语义层次的相关反馈字段集合ST。为了进一步判断未知字段的主题相关性,利用其对应的相关反馈字段集合ST和动态主题库DTB进行匹配,利用概率计算方法,得出ST和动态主题库DTB的匹配度M(ST,DTKB),其表达式如式(1)所示。

(1)

利用匹配度M和给定的的阈值δ进行比较,若M>δ,则ut是与主题相关的,添加到动态主题知识集中;反之,则ut与主题不相关。将动态主题集的字段加入到动态主题库中,更新主题字典。

上述过程不断反复,动态主题库不断增加,动态主题库和静态主题库中的词语一同构成主题字典,主题字典的主题字段越来越丰富。

1.2 基于内容和链接分析的主题相关度预测

下面我们提出了关于计算URL内容相关度的公式:

Wi=β*URL(i)+(1-β)*sim(αi,T) (2)

(3)

(4)

其中Wi是链接i的URL内容相关度度量值,由公式(2)计算可得。URL(i)是链接i的字符串主题相关度得分,由公式(3)计算可得。sim(αi,T)事锚文本与主题的相关度度量值,对锚文本和相关主题建立向量空间模型,由公式(4)计算可得。β为权重因子,取值为0.2,表明URL字符串和锚文本内容这两个因素在公式(1)中所占的比重。

父页面因素体现了对网页的链接分析和锚文本内容分析。因为主题相关度是内容分析的结果,继承父页面的相似度则是链接分析的结果。据此提出了从种子URL到当前URL的链接得分公式:

(5)

其中Li是从当前种子URL到当前URL的链接得分,Wi是链接i的URL内容相关度,有公式(2)计算可得,W(dj)是页面i的父页面dj的URL内容相关度。我们通过设置Li的阈值ε来判定是否将该链接抛弃,用来解决信息孤岛问题。即:

(6)

2 主题爬虫算法设计与实现

本文提出采用的构建基于动态主题库的主题字典和基于内容和链接分析的URL搜索策略是结合从种子URL到当前URL的链接得分来选择辛亥革命历史主题相关页面,使网络爬虫可以穿越隧道找到主题孤岛跳出局部最优点,爬取更多与辛亥革命史主题相关的页面。

算法描述如下:

1)将初始URL文件中的URL集合读入内存放入URL优先级队列,其内容相关度初始值设为1.0;

2)如果还未下载指定个数的页面且URL优先级队列和主题无关队列不为空则转入3),否则转入9);

3)从优先级队列中取出第一个URL,利用传统爬虫爬取并下载该页面,并把该URL放入已爬行队列中;

上一篇:基于CMS的高校专题网站开发研究及应用 下一篇:基于最短路径的分水岭分割算法的研究