倒排序索引实验倒排序索引实验,无意义,无价值,纯粹为了理清思路
ReverseOrderIndex.rar 测试代码下载 class Word 为主要被索引的词, 其中 public IList<string> FileList; 该词所在的文件列表 public IList<TF> Degree; 该词在对应的文件中出现的次数以及位置索引 public IList<int> Position;该词在文件中出现的位置 public IList<int> Number; 该词在对应的文件中出现的次数 整个流程思路: 1.对测试用的文本文件进行分词,(分词可使用网上免费的分词组件,修改class Segment即可) 2.统计词频, 3.将词相关信息加入到索引中(通过文件保存Dictionary中的数据)。 为简单起见全部使用Dictionary 实现,鄙视自己一下 -_-!! 4.通过文件保存Dictionary中的数据。作为持久化索引 5.读出被保存的索引,放到Dictionary中 6.之后变得简单了。。。 引用一下:Lucene 2.1研究:倒排序基本常识 下面是信息检索研究中常用的几个相关量: N:文档集合的大小 M:词项集合的大小 Sj=|PL(tj)|:词项tj所涉及文档的个数 DF(tj)=sj/N:词项tj的文档频率 IDF(tj)=-logDF(tj):倒置文档频率;其值越小表示出现的频率越高 fi,j:第j个词项tj在第i个文档di中出现的次数 TN= fi,j:系统所有文档分解后包含词项的总量(包括重复,即一个多重集(multi-set)) TF(tj)=( fi,j)/TN:词项tj在文档中出现的频度(词频) ITF(tj)=logTF(tj):倒置词频;越小表示出现的频率越高 |
|