Project3说明及评判标准

Project3说明及评判标准

ID:46948544

大小:258.50 KB

页数:24页

时间:2019-12-01

Project3说明及评判标准_第1页
Project3说明及评判标准_第2页
Project3说明及评判标准_第3页
Project3说明及评判标准_第4页
Project3说明及评判标准_第5页
资源描述:

《Project3说明及评判标准》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、Project3说明及评判标准王栋wangdongpkucs@gmail.com提纲建索引查询文档建索引:过程(1/3)预处理分词抽取posting排序输出建索引:过程(2/3)1)预处理全文检索处理的对象是文字。因此,对于非纯文本格式的文件,如HTML,PDF等,需要去掉其中的格式信息,转换为纯文本。假设文档都是纯文本的,不需要考虑非纯文本格式的预处理过程2)分词/词形变换相对于英文全文检索,分词是中文独有的困难。由于词与词之间没有明显的边界,需要使用分词算法把句子分割成单词的序列。在目前的技

2、术条件下,分词不能达到100%准确,而分词错误会直接影响查询效果。词形变换:英文单词的单复数、时态等分词可以使用ICTCLAS的分词工具(最后补充里介绍),我们也会提供已经分词处理过的测试文档集。建索引:过程(3/3)3)抽取posting文档->词自然关系的倒置过程,生成词->文档把单词和对应的文档编号,出现位置相结合,生成三元组(posting)。4)排序先按单词(字典顺序),其次文档id,最后出现位置pos,对所有posting排序,产生倒排表。5)

3、输出按顺序将倒排表写到磁盘上。建索引:基本要求设计一个方便的方式让用户对指定文件或指定目录下的文件建立索引你可以提供一个函数接口,让用户在程序中使用你的函数建立索引,比如:intIndexer::index(constchar*srcDir,constchar*destDir)提供一个命令行界面提供一个图形界面C:>index.exeD:/dataD:/index建索引:FAQ索引是动态的还是静态的?大家可以自由选择。索引是否需要持久化,即写入硬盘?一个完整的检索系统肯定需要索引的持久化,但是

4、不作硬性要求,留作加分点。其他源数据是纯文本格式,不需要考虑HTML、WORD等文件格式。不需要考虑英文的词形转换。建索引:示例——lucene索引结构applefoobar…appleappletaqua…foo….tii(inmemory).tis…docIdsforappledocIdsforapplet……prox’sforappleprox’sforapplet….frq.prx<=二分查找=>顺序查找=>建索引:如何建立倒排文件对于较小的文档集,可在完全在内存中对其建立倒排索引,再写

5、到文件中。当文档集很大时,问题就出现了:不可能在内存中对所有的文档建立倒排索引。于是,必须把文档集分成若干块,分块建立索引。生成多个倒排文件后,再把它们归并成一个大文件。如下图所示:建索引:归并I-1I-2I-3I-6I-4I-5I-8I-74152I-1..2I-3..4I-5..6I-7..836I-1..4I-5..87I-1..8提纲建索引查询文档查询:过程从倒排文件中查找分三个基本步骤:词典的查找。注意每个查询可能包含若干个词。获得各个词的posting列表对posting列表的处理。

6、如处理词的相邻位置关系,布尔查询等。查询:基本要求必须设计并提供一个查询接口,比如:Hits*Searcher::search(conststring&queryString);orintSearcher::search(conststring&queryString,Hits&hits);查询结果必须起码给出查询到的文档们的路径。查询:支持的基本查询词查询只有一个词,比如,你在google里输入“中国”返回包含“中国”的文档。最基础的查询方式。如何表示结果?简单布尔查询AND操作:即词查询的结

7、果做集合与运算“中国AND人民”返回既包含“中国”又包含“人民”的文档。短语查询“中国人民”即中国AND人民,并且“中国”和“人民”这两个词的位置在文档中是相邻的。需要用到posting里的位置信息。查询:可以考虑支持但不作要求的Ranked查询对返回的结果排个序,把认为重要的结果放在前面。如何排序?最简单原始的想法就是使用某个词在文档中出现的频率?比如,对于词查询:“中国”,“中国”在文档1中出现了10次,在文档2中出现了20次,在文档3中出现了11次,那么最后返回的结果应该是:1.文档22.

8、文档33.文档1TopK查询返回前k条排序值最高的结果。可以利用堆吗?提纲建索引查询文档文档对基本功能的实现情况自己的特色系统实现接口描述程序界面建索引查询:比如查询的函数,简单的查询语法用户界面(如果有,大体描述下如何使用)索引结构逻辑结构物理结构其他优化重要算法过程的描述建索引算法查询算法小组成员之间的详细分工情况其他想法和心得其他注意事项附加说明:程序有诚实代码,最好每个文件都有,文档有签名(写明姓名,学号),每项占0.5分,如果没有则扣分。文档部分写明自己的设计思路,如果是有特色的设计,

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。