论文部分内容阅读
随着互联网上资源爆炸式的增长,越来越多的网络用户依靠专门的检索工具,如Google、Yahoo!、Baidu等搜索引擎来查找自己所需的信息。这些站点在帮助用户快速找到所需信息的同时,也取得了巨大的商业成功。通常情况下,搜索引擎首先从数以百万计的网站中检索相关网页,并将它们存储在文件服务器中,然后通过分析这些下载页面来建立索引,搜索引擎使用生成的索引来定位网页中的所有查询关键字,并根据某些具体的相关函数返回最恰当的内容。从逻辑体系架构上分析,目前大型网络搜索引擎都是集中式的,而其检索的站点遍布世界每一个角落,拥有其自身的索引和查询处理机制,所以搜索引擎的扩展性、覆盖率、安全性和专业性等问题将是其在成功路上面临的巨大挑战。本文针对集中式搜索引擎存在的问题,利用基于P2P网络的分布式搜索引擎。即面向两种不同的拓扑结构——结构化P2P网络和非结构化P2P网络——分别采用了相应的检索方法,通过潜在语义索引对两种检索机制的结果进行聚类合并,论文同时将这几种关键技术应用到基于简单本体的农业搜索引擎系统中。具体而言,论文的研究内容主要包括:(1)论文以《农业科学叙词表》为基础,使用本体编辑器protege进行简单农业本体的构建,并通过设计算法,实现词表向本体的大批量自动转化。(2)论文提出了一种基于简单本体的农业P2P搜索引擎的体系框架PSAOS (P2P Search Engines Based on Agriculture Ontology System, PSAOS),构建一个基于简单农业本体的、全局的分布式索引目录(Index Directory),构建在P2P网络之上,用来保存聚合、压缩节点索引的元信息,以及对农业本体中各位类建立联系,提供依据。(3)论文主要基于P2P的两种网络拓扑结构,分别采用不同的方法来面向结构化网络和非结构化网络进行检索。针对结构化P2P网络,本文采用了一种自适应索引检索方法,将Chord环和平衡树相结合,通过统计树结构的检索词的个数并按其重要性适当分类,Chord环用来对树上的结点进行索引。在树结构中,根据词的权重,结点将词语划分为重点词语和非重点词语两类,具有较高分值的词语可用来区分孩子结点与邻居结点,故需要在Chord环中建立索引,并链接到相应的结点。剩下的,无论是高频词还是低频词,都将进行汇总,并传递给父亲结点。这种方法可从任一结点对查询请求进行处理,而不必每次都从根结点开始。因此,即使这种方法采用一种树状结构,也不用担心在根结点或根结点附近的瓶颈问题。针对非结构化P2P网络,本文将向量空间模型(VSM)和相关性排序算法相结合来构造层叠网络,利用基于语义组的K阶迭代方法进行检索,这种方法有效地解决了检索的效率和查准率低下的问题,降低了系统的检索成本。(4)在分布式搜索引擎中,每个查询请求被转发给多个结点;然后根据结果相关度的大小进行排序,合并成一个结果列表。由于各结点所处的网络拓扑结构不同,采用的检索机制也有所差异,所以从各节点返回的信息文档不能够直接用于比较合并。针对此问题,本文采用一种对检索结果进行聚类的方法,利用潜在语义索引对整篇文档进行聚类,采用Apache Lucene作为索引引擎,利用Spring Rich客户端平台进行聚类引擎测试,取得了比较理想的结果。本文研究的系统,利用JAVA JDK1.5模拟出P2P网络,每个结点用一组IP地址和端口号来表示,模拟器用几个参数来控制网络的不同属性。通过与同类方法的试验结果对比,本文的方法在查全率,查准率及查询延迟等方面都具有明显的优势。