论文部分内容阅读
互联网时代,如何从海量数据中收集信息是一个关键问题。目前,使用最频繁的信息检索与收集工具是基于通用爬虫的搜索引擎。但通用爬虫获取到的信息价值密度低。对此,部分学者提出了主题爬虫。主题爬虫是一种会按照爬行策略对页面内容与爬行方向进行分析与筛选的爬虫。与通用爬虫相比,主题爬虫尽量避免与主题不相关页面的抓取,存储的页面数量更少,所获取的信息价值密度更高,是一种有效的信息收集工具。主题爬虫的研究与应用始于20世纪90年代,迄今为止,研究成果主要包括基于内容的爬行策略与基于链接结构的爬行策略;前者以Fish Search、Shark Search为代表,后者以Page Rank、HITS为代表。此外,一些学者提出了基于叙词表或本体的语义爬虫,让主题爬虫在特定领域具备了语义分析的能力。在生产应用中,则形成了以WebMagic、WebCollector、WebCollector-Hadoop为代表的爬虫技术。语义爬虫具备了一定的同义词、近义词识别能力,是对向量空间模型的一种有效改进。但问题在于,这种识别能力受到叙词表或本体的限制,有一定的局限性。如何让主题爬虫具备泛化的同义词、近义词识别能力,在相似度计算过程中更好的对同义词、近义词做评估是一个研究热点。另外,如何通过有效的架构设计降低爬虫任务的耗时是一个关键问题。为了改善主题爬虫的同义词、近义词识别能力。本文提出了一种基于分布式词向量的相似度计算方式。本文以word2vec作为生成的词向量模型,模型通过维基百科的语料库进行训练。此种方法的核心在于,用主题与页面的词向量集合而非二者的文档向量作为相似度计算的基准,把二者的每一对词语的相似度都纳入到二者整体相似度的考量中去,让主题爬虫具备泛化的同义词、近义词识别能力,更全面地评价页面与主题之间的相似度;有效地提升主题爬虫的爬准率与爬全率。为验证这种方法的优劣,本文选取了多个目标网站与多组主题词集合,在等同条件下检测了向量空间模型与本文提出的相似度计算方式。此外,为提升主题爬虫的运行效率,本文结合微服务的理念,设计了一种分布式爬虫架构。为验证该架构设计的有效性,在等同条件下,以在生产环境中已经得到广泛应用的WebMagic、WebCollector、WebCollector-Hadoop作为参照进行了对比实验。经过实验,与向量空间模型相比,本文提出的相似度计算方式提升了主题爬虫的爬准率与爬全率。在与WebMagic、WebCollector、WebCollector-Hadoop的对比中,本文设计的爬虫在任务条件相同的情形下完成爬虫任务的时间更短,表现出更高的运作效率。此外,本文通过Java等编程语言开发了一个简单易用的分布式主题网络爬虫系统。总体而言,本文的对主题爬虫的设计与改进是有效的。但本文设计的主题爬虫也存在一些待完善的点。首先,实验中用到的种子URL都是人工选择的;另外,页面中的图片、视频等信息并没有得到充分利用。如何自动化、智能化的选择种子URL,并有效的分析页面中的非文本信息是主题爬虫未来的研究点。