快速业务通道

dySE:一个Java搜索引擎的实现,第2部分 网页预处理 - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-23
字词,在搜索引擎中是忽略的,所以对于分词后的 结果,我们需要在用停用词列表进行一下停用词过滤。

您也许有疑问,如何获得分词字典或者是停用词字典。停用词字典比较好办 ,由于中文停用词数量有限,可以从网上获得停用词列表,从而自己建一个停用 词字典;然而对于分词字典,虽然网上有许多知名的汉字分词软件,但是很少有 分词的字典提供,这里我们提供一些在 dySE 中使用的分词字典给您。在程序使 用过程中,分词字典可以放入一个集合中,这样就可以比较方便的进行比对工作 。

分词的结果对于搜索的精准性有着至关重要的影响,好的分词策略经常是由 若干个简单算法拼接而成的,所以您也可以试着实现双向最大减字匹配法来提高 分词的准确率。而如果遇到歧义词组,可以通过字典中附带的词频来决定哪种分 词的结果更好。

倒排索引

这个章节我们为您讲解预处理模块的最后两个步骤,索引的建立和倒排索引 的建立。有了分词的结果,我们就可以获得一个正向的索引,即某个网页以及其 对应的分词结果。如下图所示:

图 2. 正向索引

图 3. 倒排索引

dySE:一个Java搜索引擎的实现,第2部分 网页预处理(5)

时间:2010-11-20 IBM 董宇

在本文的开头,我们建立了索引网页库,用于通过 URL 可以直接定位到原始 网页库中该 URL 对应的数据的位置;而现在的正向索引,我们可以通过某个网 页的 URL 得到该网页的分词信息。获得正向索引看似对于我们的即将进行的查 询操作没有什么实际的帮助,因为查询服务是通过关键词来获得网页信息,而正 向索引并不能通过分词结果反查网页信息。其实,我们建立正向索引的目的就是 通过翻转的操作建立倒排索引。所谓倒排就是相对于正向索引中网页——分词结 果的映射方式,采用分词——对应的网页这种映射方式。与图 2 相对应的倒排 索引如上图 3 所示。

接下来我们分析如何从正向索引来得到倒排索引。算法过程如下:

对于网页 i,获取其分词列表 List;

对于 List 中的每个词组,查看倒排索引中是否含有这个词组,如果没有, 将这个词组插入倒排索引的索引项,并将网页 i 加到其索引值中;如果倒排索 引中已经含有这个词组,直接将网页 i 加到其索引值中;

如果还有网页尚未分析,转 1;否则,结束

建立倒排索引的算法不难实现,主要是其中数据结构的选用,在 dySE 中, 正向索引和倒排索引都是采用 HashMap 来存储,映射中正向索引的键是采用网 页 URL 对应的字符串,而倒排索引是采用分词词组,映射中的值,前者是一个 分词列表,后者是一个 URL 的字符串列表。这里可以采用一个优化,分别建立 两个表,按照标号存储分词列表和 URL 列表,这样,索引中的值就可以使用整 型变量列表来节省空间。

初步实验

到目前为止,虽然我们还没有正式的查询输入界面以及结果返回页面,但这 丝毫不影响我们来对我们的搜索引擎进行初步的实验。在倒排索引建立以后,我 们在程序中获得一个倒排索引的实例,然后定义一个搜索的字符串,直接在倒排 索引中遍历这个字符串,然后返回该词组所指向的倒排索引中的 URL 列表即可 。

小结

网页的预处理是搜索引擎的核心部分,建立索引网页库是为了网页数据更方 便的从原始网页库中获取,而抽取正文信息是后续操作的基础。从分词开始就正 式涉及到搜索引擎中文本数据的处理,分词的好坏以及效率很大程度上决定着搜 索引擎的精确性,是非常需要关注的一点,而倒排索引时根据分词的结果建立的 一个“词组——对应网页列表”映射,倒排索引是网页搜索的最关键数据结构, 搜索引擎执行的速度与倒排索引的建立以及倒排索引的搜索方式息息相关。

后续内容

在本系列的第三部分中,您将了解到如何从创建网页,从网页中输入查询

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号