《信息检索导论》课后习题答案

上传人:博****1 文档编号:470008077 上传时间:2023-07-18 格式:DOCX 页数:13 大小:123.79KB
返回 下载 相关 举报
《信息检索导论》课后习题答案_第1页
第1页 / 共13页
《信息检索导论》课后习题答案_第2页
第2页 / 共13页
《信息检索导论》课后习题答案_第3页
第3页 / 共13页
《信息检索导论》课后习题答案_第4页
第4页 / 共13页
《信息检索导论》课后习题答案_第5页
第5页 / 共13页
点击查看更多>>
资源描述

《《信息检索导论》课后习题答案》由会员分享,可在线阅读,更多相关《《信息检索导论》课后习题答案(13页珍藏版)》请在金锄头文库上搜索。

1、信息组织与检索作业答案第一章 布尔检索习题1-2 考虑如下几篇文档:文档1 breakthrough drug for schizophrenia 文档2 new schizophrenia drug 文档3 new approach for treatment of schizophrenia 文档4 new hopes for schizophrenia patients a. 画出文档集对应的词项文档矩阵;b. 画出该文档集的倒排索引(参考图 1-3中的例子)。Term-Documentmatrix:1234approach0010breakthrough1000drug1100for1

2、011hopes0001new0111of0010patients0001schizophrenia1111treatment0010Inverted Index: approach - 3 breakthrough -1 drug -1-2 for -1-3-4 hopes -4 new -2-3-4 of -3 patients -4 schizophrenia -1-2-3-4treatment 3注意:倒排索引中的词表(dictionary)和每个词项的倒排列表(posting list)需要排序,便于查找。这里我们暂不考虑词的正规化处理(如hopes-hope)。补充习题1写出AND

3、查询的伪代码l 面向过程风格的伪代码:给定两个指针p1和p2,分别指向两倒排列表list1和list2(链表实现)的首元素;令docId(p1)表示p1所指向的元素的docId查询结果存放在answer列表里。这里应用了“化归”思想(将新问题转化归为旧问题来解决)。这里,比较两排序列表的首元素,排除较小的docId(不可能有匹配)后,我们构造出新的剩余列表,再次进行两列表的首元素的比较。While p1 != null AND p2 != nullIf p1-docId=p2-docId /对两(剩余)列表的首元素进行比较insert(answer, p1);p1=p1-next;/构造新的剩

4、余列表,迭代执行p2=p2-next;/Else if p1-docId docIdp1=p1-next; /p1-docId不可能有匹配;构造新的剩余列表Elsep2=p2-next; /p2-docId不可能有匹配;构造新的剩余列表Endl 面向对象风格的伪代码:注:为一个数据结构(对象)定义方法,通过方法操作自己的内部数据(List对象里隐含包含了一个成员变量,它是真正的链表或变长数组)。While list1.currentItem() != null AND list2.currentItem() != nullIf list1.currentItem().getDocId() =

5、list2.currentItem().getDocId()answer.insert(list1.currentItem();list1.moveToNext();list2.moveToNext();Else if list1.currentItem().getDocId() docId = p2-docIdinsert(answer, p1);p1=p1-next;p2=p2-next; /构造新的剩余列表,迭代执行Else if p1-docId docIdinsert(answer, p1);p1=p1-next; /构造新的剩余列表,迭代执行Elseinsert(answer, p

6、2);p2=p2-next; /构造新的剩余列表,迭代执行EndWhile p1 != null/条件为真时,加入list1的剩余元素(此时list2已遍历到结尾)insert(answer, p1);p1=p1-next;ENDWhile p2 != null/条件为真时,加入list2的剩余元素(此时list1已遍历到结尾)insert(answer, p2);p2=p1-next;ENDl 面向对象风格的伪代码:While list1.currentItem() != null AND list2.currentItem() != nullIf list1.currentItem().g

7、etDocId() = list2.currentItem().getDocId()answer.insert(list1.currentItem();list1.moveToNext();list2.moveToNext();Else if list1.currentItem().getDocId() cosb. Shiite - shiite(是隔音号)c. contd -contd(contd. 可表示contained 包括;continued 继续)d. Hawaii -hawaiie. ORourke -orourke习题2-3如下词经过Porter词干还原工具处理后会输出同样的结

8、果,你认为哪对(几对)词不应该输出同样的结果?为什么?a. abandon/abandonment b. absorbency/absorbent c. marketing/markets d. university/universe e. volume/volumes按Porter词干还原算法,这几组词都可以被还原为相应的词干。但是这里问的是哪些组做词干还原不合适,原因是某组的两个词虽然来源于同一个词干,但是它们的意思不同,如果做词干还原处理会降低正确率。c组不做词干还原。marketing表示营销,market表示市场。d组不做词干还原。university表示大学,universe表示宇

9、宙。习题2-6对于两个词组成的查询,其中一个词(项)的倒排记录表包含下面16个文档 ID:4,6,10,12,14,16,18,20,22,32,47,81,120,122,157,180 而另一个词(项)对应的倒排记录表仅仅包含一个文档ID:47 请分别采用如下两种策略进行倒排记录表合并并计算所需要的比较次数,同时简要地说明计算的正确性。a. 使用标准的倒排记录表。比较:(4,47), (6,47), (10,47), (12,47), (14,47), (16,47), (18,47), (20,47), (22,47), (32,47), (47,47)。共比较11次。b. 使用倒排记录

10、表+跳表的方式,跳表指针设在P1/2处(P是列表长度)。P=16。也就说第一个列表的跳表指针往后跳4个元素。下图蓝色表示安装了跳表指针的元素,其中120跳到180上。4,6,10,12,14,16,18,20,22,32,47,81,120,122,157,180 比较:(4,47), (14,47), (22,47), (120,47), (32,47), (47,47)。共比较6次。习题2-9下面给出的是一个位置索引的一部分,格式为:词项: 文档1: (位置1, 位置2, ); 文档2: (位置1, 位置 2, ); angels: 2: (36,174,252,651); 4: (12,

11、22,102,432); 7: (17); fools:2: (1,17,74,222); 4: (8,78,108,458); 7: (3,13,23,193); fear:2: (87,704,722,901); 4: (13,43,113,433); 7: (18,328,528); in:2:(3,37,76,444,851); 4: (10,20,110,470,500); 7: (5,15,25,195); rush:2:(2,66,194,321,702); 4: (9,69,149,429,569); 7: (4,14,404); to:2:(47,86,234,999); 4: (14,24,774,944); 7: (199,319,599,709); tread:2: (57,94,333); 4: (15,35,155); 7: (20,320); where:2: (67,124,393,1001); 4: (11,41,101,421,431); 7: (16,36,736); 那么哪些文档和

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 习题/试题

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号