好文档 - 专业文书写作范文服务资料分享网站

中国科学院大学现代信息检索课后习题答案

天下 分享 时间: 加入收藏 我要投稿 点赞

精品

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

王斌

最后更新日期 2013/9/28

第一章 布尔检索

习题1-1 [*] 画出下列文档集所对应的倒排索引(参考图1-3中的例子)。

文档 1 new home sales top forecasts 文档 2 home sales rise in july 文档 3 increase in home sales in july 文档 4 july new home sales rise 解答: forecasts home in increase july new rise sales top

习题1-2 [*] 考虑如下几篇文档:

文档1 breakthrough drug for schizophrenia 文档2 new schizophrenia drug

文档3 new approach for treatment of schizophrenia 文档4 new hopes for schizophrenia patients

-------> -------> -------> -------> -------> -------> -------> -------> -------> 1 1 2 3 2 1 2 1 1 2 3 3 4 4 2 3 4 3 4 4 a. 画出文档集对应的词项—文档矩阵;

解答:

文档1

文档2

-可编辑-

文档3 文档4

精品

approach breakthrough drug for hopes new of patients schizophrenia treatment

0 1 1 1 0 0 0 0 1 0

0 0 1 0 0 1 0 0 1 0

1 0 0 1 0 1 1 0 1 1

0 0 0 1 1 1 0 1 1 0

b. 画出该文档集的倒排索引(参考图 1-3中的例子)。

解答:参考a。

习题1-3 [*] 对于习题1-2中的文档集,如果给定如下查询,那么返回的结果是什么?

a. schizophrenia AND drug 解答:{文档1,文档2}

b. for AND NOT (drug OR approach) 解答:{文档4}

习题1-4 [*] 对于如下查询,能否仍然在O(x+y)次内完成?其中x和y分别是Brutus和Caesar所对应的倒排记录表长度。如果不能的话,那么我们能达到的时间复杂度是多少?

a. Brutus AND NOT Caesar b. Brutus OR NOT Caesar

解答:

a. 可以在O(x+y)次内完成。通过集合的减操作即可。具体做法参考习题1-11。

b. 不能。不可以在O(x+y)次内完成。因为NOT Caesar的倒排记录表需要提取其他所有词项对应

的倒排记录表。所以需要遍历几乎全体倒排记录表,于是时间复杂度即为所有倒排记录表的长度的和N,即O(N) 或者说O(x+N-y)。

习题1-5 [*] 将倒排记录表合并算法推广到任意布尔查询表达式,其时间复杂度是多少?比如,对于查询

c.

解答:时间复杂度为O(qN),其中q为表达式中词项的个数,N为所有倒排记录表长度之和。也就是说可以在词项个数q及所有倒排记录表长度N的线性时间内完成合并。由于任意布尔表达式处理算法复杂度的上界为O(N),所以上述复杂度无法进一步改进。

习题1-6 [**] 假定我们使用分配律来改写有关AND和OR的查询表达式。

a. 通过分配律将习题1-5中的查询写成析取范式;

12

b. 改写之后的查询的处理过程比原始查询处理过程的效率高还是低? c. 上述结果对任何查询通用还是依赖于文档集的内容和词本身?

(Brutus OR Caesar) AND NOT (Antony OR Cleopatra)

我们能在线性时间内完成合并吗?这里的线性是针对什么来说的?我们还能对此加以改进吗?

-可编辑-

精品

解答:

a. 析取范式为:(Brutus And Not Anthony And Not Cleopatra) OR (Caesar AND NOT Anthony AND NOT

Cleopatra)

b. 这里的析取范式处理比前面的合取范式更有效。这是因为这里先进行AND操作(括号内),得到的倒排记录表都不大,再进行OR操作效率就不会很低。而前面需要先进行OR操作,得到的中间倒排记录表会更大一些。 c. 上述结果不一定对,比如两个罕见词A和B构成的查询 (A OR B) AND NOT(HONG OR KONG),假设HONG KONG一起出现很频繁。此时合取方式可能处理起来更高效。如果在析取范式中仅有词项的非操作时,b中结果 不对。

习题 1-7 [*] 请推荐如下查询的处理次序。

d. (tangerine OR trees) AND (marmalade OR skies) AND (kaleidoscope OR eyes) 其中,每个词项对应的倒排记录表的长度分别如下:

词项 eyes

倒排记录表长度

213 312 87 009 107 913 271 658

46 653 316 812

kaleidoscope marmalade skies trees 解答:

由于:

tangerine

(tangerine OR trees) 46653+316812 = 363465 (marmalade OR skies)所以推荐处理次序为:

(kaleidoscope OR eyes)AND (tangerine OR trees) AND (marmalade OR skies)

习题1-8[*] 对于查询

e. friends AND romans AND (NOT countrymen)

如何利用countrymen的文档频率来估计最佳的查询处理次序?特别地,提出一种在确定查询顺序时对逻辑非进行处理的方法。

107913+271658 = 379571 87009+213312 = 30321

(kaleidoscope OR eyes)

解答:令friends、romans和countrymen的文档频率分别为x、y、z。如果z极高,则将N-z作为NOT countrymen的长度估计值,然后按照x、y、N-z从小到大合并。如果z极低,则按照x、y、z从小到大合并。

习题 1-9 [**] 对于逻辑与构成的查询,按照倒排记录表从小到大的处理次序是不是一定是最优的?如果是,请给出解释;如果不是,请给出反例。

解答:不一定。比如三个长度分别为x,y,z的倒排记录表进行合并,其中x>y>z,如果x和y的交集为空集,那么有可能先合并x、y效率更高。

-可编辑-

中国科学院大学现代信息检索课后习题答案

精品《信息检索导论》课后练习答案王斌最后更新日期2013/9/28第一章布尔检索习题1-1[*]画出下列文档集所对应的倒排索引(参考图1-3中的例子)。文档1newhomesalestopforecasts文档2homesale
推荐度:
点击下载文档文档为doc格式
0cfg27bixb7yqpo85se79mzf00wron00isd
领取福利

微信扫码领取福利

微信扫码分享