- 1、本文档共10页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Indexing 实验报告 学号:200433103143 姓名: 吴蔚瀚 一 实验目的
Indexing
实验报告
学号:200433103143
姓名: 吴蔚瀚
一. 实验目的
?? 了解索引系统的工作原理及实现方法;
?? 掌握文本预处理技术;
?? 熟悉创建倒排索引。
二. 实验内容
1 文本预处理
要求可对提供的数据集进行预处理,处理功能要求如下,但不限于此:
(1)网页的预处理和去噪声
(2)网页关键文本的提取
(3)中文分词处理
(4)英文stemming 以及时态分析(如需要)
(5)停止词处理
(6)中文编码转换(如需要)
2 建立倒排文件
设计和创建倒排文件的数据结构。
(1)对每个索引的词,至少应该存储其文件频率(df)。
(2)设计置入文件的数据结构,至少记录每个词在各个文档中出现的次数,即词频(tf)。
同时对每个文档,存储文档的所有词(包括停止词)的个数,即文档长度。
(3)索引的压缩:压缩索引占据的存储空间。(可选)
3 实验结果统计分析
对索引的过程,生成统计信息:
(1)创建索引所需的时间(the elapsed time);
(2)(压缩前后的)索引的大小,以字节为单位
(3)索引中反向列表的个数
(4)找出5 个具有最大df 值的词,给出其tf 值,置入文件的大小。如果是英文,给出
主干词(stem)。(可选)
(5)与Lucene 索引结构的比较,说明优缺点。(可选)
三. 实验环境描述
我采用的编程语言是visual c# ,所以实验环境要求为 .NET Framkwork 2.0
我是在Microsoft Visual Studio 2005 这个工具平台上编程的。
四. 索引系统设计思路及总体框架;
我的索引系统设计思路是这样的:由于提供网页资料不是太大,所以一开始我就把所有网页的html代码全读入内存,用一个string 数组来装着。然后通过对每个网页资料的预处理,分词,去停止词后,得到一个装着词的List链表。再通过对每个List的操作,算出该List中每个不相同词的tf值,并对其idf值赋值为1,再放到设计好的B+树数据结构里面。在放到B+树的过程中要涉及到idf值的整合。最后把B+树叶节点的内容写到一个文件里,为有哪些信誉好的足球投注网站做好准备。
然后的我索引系统设计的总体框架是这样的:
因为我是分域建索引,主要分为正文(content)和标题(title)两个域,所以在建索引时要分别各建一个。
网页去噪处理模块: PreProcess 类(提取正文的)
提取标题就直接提取title和/title之间的内容了
分词模块:SplitWord 类
去除停止词模块: RemoveStopWords 类
(4)存储结构模块:
BPTree searchTree = new BPTree();//储存正文索引词的BP树
BPTree searchTree_title = new BPTree();//储存标题索引词的BP树
public class BPunit :是树的叶节点的类型,它包括:
public string word;//索引词
public Hashtable tfTable;//文件索引值为key和以word在该文件的tf值为值的哈西表
double df;//储存 df值
五. 程序结构及具体实现的流程分析
我的程序核心有以下几个程序文件:
按结构顺序,我将逐一说明各个文件中类的作用及实现流程(类名跟其所在文件名是一样的)
① DefineTree.cs :定义了BPunit的类,这个类封装了
索引词 public string word
(文件索引值/word的tf值)哈西表 public Hashtable tfTable
word 的idf值 double idf
是BPTree的基本储存单位
② BPTree : 提供一棵B+树的类,内部节点有7个(真正有用的只有6个),叶节点有11个。 它提供了插入数据public bool insert(BPunit record),查找最左叶节点public Leaf findLeftLeaf()的函数。其中在insert函数中,如果发现要插入的索引词是一样的话,那么B+树会把两个词的哈西表tfTable内容合并,即把要插入的索引项的tfTable内容插入到原有的索引项的tfTable里。然后还要把原有的索引项的idf值加1,最后保留原索引项,要插入的索引项实际上没有插入。
③ SegList :为分词提供数据结构及其操作
④ Segment :提供分词功能
⑤ SplitWord : 封装SegList和Segment ,
public strin
您可能关注的文档
- EMERSON 公司产品情况— 供水专用变频器.PPT
- EMC VNXe — 更换25 插槽磁盘阵列存储模块(DAE5S) 中的磁盘.PDF
- Electrak HD 直线推杆 - Thomson Linear.PDF
- Environmental Restricted Substance Control Standard 环境限用物质 .PDF
- EN602A 系列 - 易能电气.PDF
- ELISA - 海洋大学食品科学系.PDF
- EN650系列使用手册(中文)V11 - 易能电气.PDF
- EMC(电磁兼容)测试 作为专业化的日用电器EMC检测中心,具备按GB .DOC
- ERP生产管理 - 中华科技大学.PPT
- Energytek Brazing Line 铜焊线:输送带连续式炉铜焊系列是适合作 .PDF
文档评论(0)