信息检索与搜索引擎技术_第1页
信息检索与搜索引擎技术_第2页
信息检索与搜索引擎技术_第3页
免费预览已结束,剩余3页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、XXXX大学信息工程与自动化学院学生实验报告课程名称:信息检索与搜索引擎技术实验项目名称倒排索引、正排索引指导教师教师评教师签名:语年月日一、上机目的及内容1. 上机目的熟悉索引的作用和重要性;熟悉正排索引和倒排索引及其建立;2. 上机内容对 Doc1: 清华 / 大学 / 清华 / 主页Doc2:世纪 / 清华Doc3:北京 / 大学建立正排索引和倒排索引二、实验环境Windows操作系统 PC 机一台, MyEclipse三、实验原理将词项集合建立成为倒排索引的过程分为两个步骤: 首先要将文本词项集合处理成正排索引 , 在建立正排索引的时候把词项列表的结构建立起来; 然后再有正排索引建立成

2、倒排索引 .正排索引的建立方法 :1. 顺序扫描集合中的词项 .-1-2. 当遇到在文档中第一次出现的词项时 , 要更新词项表 , 如果词项列表中已近含有这个词, 则把改词的 DF加 1, 否则添加这个词项 , 置 DF为 1.3.然后处理词项 , 生成词项的出现记录信息, 插入到对应词项的Hit List中。正排索引建立完成之后,依照索引中的WordID 为单位,将 DocID 进行填充,然后按照WordID 对所有单位进行从小到大的排序,就可以得到基本的倒排索引。要得到由 WordID为键值的索引项,只需要再将WordID 和 DocID 的存贮位置互换,并按照WordID 进行归并即可。

3、最后再将词项列表中的Pointer指针置为指向对应词项的索引项存储地址。这样得到的索引就可以用来进行检索了。四、实验记录package com.liu.suoyin;import java.util.*;public class Suoyin public static void main(String args) Zhengpai zp=suoyin();daopai(zp);public static Zhengpai suoyin()String doc =" 清华 "," 大学 "," 清华 "," 主页 "

4、;," 世纪 "," 清华 "," 北京 "," 大学 " List<Cixiang> cixiang=new ArrayList<Cixiang>();List<Jilu> jilu=new ArrayList<Jilu>();for(int i=0;i<doc.length;i+)for(int j=0;j<doci.length;j+)if(cixiang.size()=0)Cixiang ci=new Cixiang();ci.worldID=0;

5、ci.term=docij;ci.DF=1;ci.doc=i;cixiang.add(ci);Jilu jl=new Jilu();jl.docID=i;jl.wordID=0;jl.NoOfHit=1;jl.HitLise.add(j);-2-jilu.add(jl);elseint k;for(k=0;k<cixiang.size();k+)Cixiang ci=(Cixiang)cixiang.get(k);if(ci.term.equals(docij)if(ci.doc!=i)ci.DF+;cixiang.set(k,ci);int m;for( m=jilu.size()-1

6、;m>-1;m-)if(ci.doc=jilu.get(jilu.size()-1).docID &&ci.worldID=jilu.get(m).wordID)Jilu jl=jilu.get(m);jl.HitLise.add(j);jl.NoOfHit+;jilu.set(m,jl);break;if(m=0)Jilu jl=new Jilu();jl.docID=i;jl.wordID=ci.worldID;jl.NoOfHit=1;jl.HitLise.add(j);jilu.add(jl);break;if(k=(cixiang.size()Cixiang c

7、i=new Cixiang();ci.worldID=cixiang.size();ci.term=docij;ci.DF=1;cixiang.add(ci);Jilu jl=new Jilu();jl.docID=i;jl.wordID=ci.worldID;jl.NoOfHit=1;jl.HitLise.add(j);jilu.add(jl);-3-System.out.println("worldIDTermDF");for(int l=0;l<cixiang.size();l+)System.out.print(Cixiang)cixiang.get(l).w

8、orldID+"t"); System.out.print(Cixiang)cixiang.get(l).term+"t"); System.out.println(Cixiang)cixiang.get(l).DF);System.out.println();System.out.println("DocID WorldID No.ofHit Hitlist"); for(int l=0;l<jilu.size();l+)System.out.print("doc"+(1+(Jilu)jilu.get(l)

9、.docID)+"t"); System.out.print(Jilu)jilu.get(l).wordID+"t");System.out.print(Jilu)jilu.get(l).NoOfHit+"t");for(int m=0;m<(Jilu)jilu.get(l).HitLise.size();m+)System.out.print( (int)(Jilu)jilu.get(l).HitLise.get(m)+"");System.out.println();Zhengpai zhengpai=n

10、ew Zhengpai();zhengpai.cixiang=cixiang;zhengpai.jilu=jilu;return zhengpai;public static void daopai(Zhengpai zp) List<Cixiang> cixiang=new ArrayList<Cixiang>(); List<Jilu> jilu=new ArrayList<Jilu>();for(int i=0;i<zp.cixiang.size();i+)Cixiang ci=zp.cixiang.get(i);for(int j=

11、0;j<zp.jilu.size();j+)if(i=zp.jilu.get(j).wordID)jilu.add(zp.jilu.get(j);cixiang.add(ci);for(int i=0;i<cixiang.size();i+)int k=0;for(int j=0;j<jilu.size();j+)if(i=jilu.get(j).wordID)if(cixiang.get(i).pointer0=-1)cixiang.get(i).pointer0=j;k=j;-4-cixiang.get(i).pointer1=k;System.out.println()

12、;System.out.println("worldID Term DF pointer"); for(int l=0;l<cixiang.size();l+)System.out.print(Cixiang)cixiang.get(l).worldID+"t"); System.out.print(Cixiang)cixiang.get(l).term+"t");System.out.print(Cixiang)cixiang.get(l).DF+"");System.out .println(Cixian

13、g)cixiang.get(l).pointer0+","+(Cixiang)cixiang.get(l).pointer1);System.out.println("nWorldID DocID No.ofHit Hitlist"); for(int l=0;l<jilu.size();l+)System.out.print(Jilu)jilu.get(l).wordID+"t"); System.out.print("doc"+(1+(Jilu)jilu.get(l).docID)+"t&quo

14、t;);System.out.print(Jilu)jilu.get(l).NoOfHit+"t");for(int m=0;m<(Jilu)jilu.get(l).HitLise.size();m+)System.out.print( (int)(Jilu)jilu.get(l).HitLise.get(m)+"");System.out.println();class Cixiangint worldID;String term;int DF;int doc;int pointer=-1,-1;class ZhengpaiList<Cixiang> cixiang=new ArrayList<Cixiang>();List<Jilu>

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论