论文部分内容阅读
通信技术的进步,网络的发展,各个领域与互联网的联系越来越紧密。一方面,行业对信息的需求量越来越大,越来越专业,希望从搜索引擎返回的尽量是领域相关的信息:另外一方面,任何用户都可以在随意发布信息,信息覆盖的范围也越来越广,通用搜索引擎在面对着专业领域的检索需求时,返回过多的无用结果。针对这种情况,本文提出并实现了大规模专题信息采集系统,在给定特定主题的训练文本的情况下,该系统能够专注于采集主题相关的网页。本文的主要研究工作包括:
专题采集技术的实现。本文在研究相关工作的基础上,总结出实现专题信息采集系统就是要解决主题识别和主题预测两个问题。首先,引入文本分类相关技术,利用简单贝叶斯分类器对主题相关网页和主题不相关网页进行分类;然后,在这个基础上,把链接分为指向主题相关网页的链接和指向非主题相关网页的链接,并对链接及其周边的信息,比如链接的锚文本、相邻链接的锚文本,进行学习和统计,实现一个链接分类器。最后,利用链接分类器在抓取网页之前判断网页是否属于主题相关网页,是否需要进行采集。
大规模专题采集的设计与实现。在开源项目。Hadoop Framework和Nutch的基础上,实现了大规模专题信息采集系统。采集系统包括一个负责任务分配的主节点和多个负责抓取、解析和存储网页的工作节点。在信息采集过程中,主节点和工作节点利用心跳信息进行交互,实现并行采集。主节点把采集任务按照工作节点的数目分成多个子任务,放到一个先进先出队列里面;工作节点在发往主节点的心跳信息中,告知主节点自己的工作状态。如果主节点发现任务队列非空并且工作节点处于空闲状态,就为该工作节点分配任务;工作节点在接受到任务后,则马上开始执行相关工作,并继续通过心跳信息向主节点报告任务执行进度。
采集系统的改进和优化。在Nutch的基础上,对选择策略、更新算法、指纹算法等进行改进,提高了采集系统的性能。