Lemur生成索引

2.2生成索引

 

Lemur Toolkit建立对XML文档建立索引的过程,和其它检索系统很相似,主要分为文档的解析,去除stopword和取词根,统计tf,存入硬盘。过程如图一所示。

 

2.2.1 TextTokenizer

 

这部分是把XML文档拆分成对应的单词和元素结点的集合,生成的结构体为TokenizedDocument。其中单词是存在向量terms中,对应的位置是通过在XML文档的偏移量表示的,存储于结构体TermExtent中,元素结点的位置是通过位于元素结点前的单词的数量表示的,存储于结构体TagEvent中。

如对于下面的文档一;元素结点的begin和end值由表一表示。

文档一

<note>

<to>Tove</to>                                                                      表一

元素结点

begin

end

note

0

8

to

0

1

from

1

2

title

2

3

body

3

8

<from>Jani</from>

<title>Reminder</title>

<body>

Don't forget me this weekend!

</body>

</note>

 

 

2.2.2 TaggedTextParser

 

这部分主要是对上步中的TokenizedDocument中的元素结点集合,统计元素结点之间的父子关系。这种父子关系是存在结构体TagExtern中parent字段的。并将一个元素结点的开始和结束部分合并成。如对于文档一中的<note>和</note>,在TokenizedDocument中只保留一个元素结点note,而不是分别保留<note>和</note>两个元素结点。

 

2.2.3 Transformation

 

这一部分,主要对ParsedDocument中的单词进行一些附加操作,如表二所示,主是是去掉没用的符号,转换编码,去掉stopword,取词根等操作。

表二

URLTextAnnotator

URL重写,以方便保存

NormalizationTransformation

去掉标点符号

UTF8CaseNormalizationTransformation

统一字符编码,转换为UTF8

StopperTransformation

去掉如a,an,the,等stopword

StemmerTransformation

把单词转化成对应的词根

 

2.2.4 Memory Index

 

Memory Index是要检索的XML文档的汇总,如图二所示。主要包括四部分信息:全局统计信息、单词的信息,元素结点的信息,XML文档的信息。全局统计信息主要包括已统计的XML文档的编号的最小值,目前正在使用的编号值,已统计的文档总数,XML文档集中不重复的单词的个数等;单词的信息包括单词的内容,分配的编号,单词所在的文档,单词在所有的文档的出现的次数,单词在指定的元素结点中的个数等;元素结点的信息主要包括元素结点的名字,元素结点的类型,元素结点的数量,包含该元素结点的XML文档的数量等;XML文档的信息主要包括文档编号,文档长度,文档中不重复的单词的个数,文档的偏移位置等。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值