logo

您所在位置网站首页 > 海量文档  > 专业论文 > 综合论文

《信息检索导论》课后习题答案.docx 13页

本文档一共被下载: ,您可全文免费在线阅读后下载本文档。

  • 支付并下载
  • 收藏该文档
  • 百度一下本文档
  • 修改文档简介
全屏预览

下载提示

1.本站不保证该用户上传的文档完整性,不预览、不比对内容而直接下载产生的反悔问题本站不予受理。
2.该文档所得收入(下载+内容+预览三)归上传者、原创者。
3.登录后可充值,立即自动返金币,充值渠道很便利
《信息组织与检索》作业答案布尔检索习题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:1 2 3 4approach 0 0 1 0breakthrough 1 0 0 0drug 1 1 0 0for 1 0 1 1hopes 0 0 0 1new 0 1 1 1of 0 0 1 0patients 0 0 0 1schizophrenia 1 1 1 1treatment 0 0 1 0Inverted 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查询的伪代码面向过程风格的伪代码:给定两个指针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;//构造新的剩余列表,迭代执行 p2=p2->next;//Else if p1->docId < p2->docId p1=p1->next; //p1->docId不可能有匹配;构造新的剩余列表Else p2=p2->next; //p2->docId不可能有匹配;构造新的剩余列表End面向对象风格的伪代码:注:为一个数据结构(对象)定义方法,通过方法操作自己的内部数据(List对象里隐含包含了一个成员变量,它是真正的链表或变长数组)。While list1.currentItem() != null AND list2.currentItem() != null If list1.currentItem().getDocId() == list2.currentItem().getDocId() answer.insert(list1.currentItem()); list1.moveToNext(); list2.moveToNext(); Else if list1.currentItem().getDocId() < list2.currentItem().getDocId() list1.moveToNext(); Else list2.moveToNext(); End习题1-10 写出OR查询的伪代码面向过程风格的伪代码:给定两个指针p1和p2,分别指向两倒排列表list1和list2(链表实现)的首元素;令docId(p1)表示p1所指向的元素的docId;查询结果存放在answer列表里。While p1 != null AND p2 != nullIf p1->docId == p2->docIdinsert(answer, p1);p1=p1->next; p2=p2->next; //构造新的剩余列表,迭代执行Else if p1->docId < p2->docIdinsert(answer, p1); p1=p1->next; //构造新的剩余列表,迭代执行Elseinsert(answer, p2); p2=p2->next; //构造新的剩余列表,迭代执行EndWhile p1 != null//条件为真时,加入list1的剩余元素(此时list2已遍历到结尾)insert(answer, p1);p1=p1->next;END While p2 != null

发表评论

请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
用户名: 验证码: 点击我更换图片

©2010-2013 max.book118.com在线文档投稿赚钱网. All Rights Reserved 蜀ICP备08101938号