《信息检索导论》课后习题答案Word格式文档下载.docx
《《信息检索导论》课后习题答案Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《《信息检索导论》课后习题答案Word格式文档下载.docx(15页珍藏版)》请在冰豆网上搜索。
=nullANDp2!
=null
Ifpl->
docld==p2->
docld//对两(剩余)列表的首元素进行比较
insert(answer;
pl);
pl=pl->
next:
〃构造新的剩余列表,迭代执行
p2=p2->
//
Elseifpl->
docld<
p2->
docld
next;
//pl->
docld不町能有卩L配;
构造新的剩余列表
Else
//p2->
docld不可能冇匹配:
Cnd
•面向对象风格的伪代码:
注:
为一个数据结构(对象)定义方法,通过方法操作自己的内部数据(List对象里隐含包含了一个成员变量,它是真正的链表或变长数组)。
Whilelistl.currentltem()!
=nullANDIist2.currentltem()!
Iflistl.currentltem().getDocld()==list2.currentltem().getDocld()
answer.insert(listl.currentltem());
listl.moveToNextf);
Hst2.moveToNext();
Else讦listl.currentltem().getDocld()<
list2.currentltem().getDocld()
list2.moveToNext();
End
习题1-10
写出OR查询的伪代码
•而向过程风格的伪代码:
给定两个指针pl和p2,分别指向两倒排列表listl和Ilst2(链表实现)的首元素;
令docld(pl)表示pl所指向的元素的docld:
查询结果存放在answer列表里。
docld==p2->
pl):
insert(answecpl):
pl=pl->
insert(answecp2):
next:
=null//条件为真时,加入listl的剩余元素(此时Iist2已遍历到结尾)insert(answecpl):
END
WhilepZ!
=null//条件为真时,加入Iist2的剩余元素〔此时listl已遍历到给庵)insert(answecp2):
p2=pl->
next;
•面向对象风格的伪代码:
Iflistl.currentltem().getDocld()==list2.currentltem().getDocld()answer.insert(listl.currentltem());
listl.moveToNext();
Elseiflistl.currentltem().getDocld()<
answer.insert(list2.currentltem());
list2.moveToNext();
answer.insert(listl.currentltem());
listl.moveToNext();
WhileIist2.currentltem()!
=nullanswer.insert(list2.currentltem());
补充习题2
若个文集有1OOO篇文档,有40篇是关于信管专业建设的。
我的ft息需求是了解信管专业的专业建设情况,用某搜索引擎在这个文集上搜索,査询词为“信管”,搜出100篇包含“信管”的文档,这其中有20篇是信管专业建设方面的,其它80篇是关于信管的其它情况。
请问该查询的正确率和召回率是多少正确率=20/100=0.2
仆回率=20/40=0.5
第二章词项词典及倒排记录表
习题2J
a.在布尔检索系统中,进行词干还原从不降低正确率。
错:
相当于扩充出同一个词干表示的多个词,会降低正确率。
b.在布尔检索系统中,进行词干还原从不降低召回率。
对。
c.词干还原会增加词项词典的人小。
错。
d.词干还原应该在构建索引时调用,而不应在査询处理时调用。
错;
应同时做才能保证索引中和査询词的匹配。
习题2・2
诸给出如卜•单词的归一化形式(归一化形式也町以是词本身)。
a."
Cos・>
cos
b.Shi'
ite->
shiite('
是隔音号)
c.cont"
d・>
contd(contd.nf表示contained包括:
continued继续)
d.Hawaii・>
hawaii
e.O'
Rourke->
orourke
习题2・3
如下词经过Porter词干还原工具处理后会输出同样的结來,你认为哪对(几对)词不应该输出同样的结果?
为什么?
a.abandon/abandonment
b.absorbency/absorbent
c.marketing/markets
d・university/universe
e.volume/volumes
按Porter词干还原算法,这几组词都可以被还原为相应的词干。
但是这里问的是哪些组做词干还原不合适,原因是某组的两个词虽然来源于同一个词干,但是它们的意思不同,如果做词干还原处理会降低正确率。
c组不做词干还原。
marketing农示营销,market表示市场。
d组不做词干还原。
university表示人学,universe表示宇宙。
习题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)。
共比较次。
b.使用倒排记录表+跳表的方式,跳表指针设在P"
处(P是列表长度)。
P=169也就说第一个列表的跳表指针往后跳4个元素。
F图蓝色表示安装了跳表指针的元素,其中120跳到180上。
[4,6,10,12,14,16,1&
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:
angels:
2:
(36.174,252.651);
4:
(12,22,102,432);
7:
(17):
fools:
2:
(1.17.74.222);
(8,78,108.458);
(3,13,23,193);
fear:
(87.704,722.901);
(13,43,113,433);
(18,328.528);
in:
(3,37.76.444.851);
(10.20.110,470,500);
(5.15,25,195):
rush:
(2,66,194.321,702);
(9,69.149.429,569);
(4,14.404);
to:
(47,86,234,999);
(14.24,774,944);
(199,319,599,709);
tread:
(57,94,333):
(15,35.155);
(20,320);
where:
(67.124,393.1001);
(11,41.101,421.431);
(16.36,736);
那么哪些文档和以下的査询匹配?
其中引号内的每个表达式都是一个短语査询。
a.44foolsrushin"
;
文档2、4、7。
b.“foolsrushin”AND“angelsfeartotread
文档4。
k词邻近AND合并算法
前提:
考虑位置索引。
要求查找这样的文档,它同时包含词A和词B,且两词文中的距离在k个词以内。
给定两个指针pl和P2,分别指向两个词A和B的两倒排列表(链表实现)的首元素:
令pi->
doc表示pi所指向文档对象的结构体。
对于一个文档对象,该词出现的各个位置的列表为posListo用ql(q2)表示词A(词B)当前指向文档对彖指向的posList指向的位員。
用qi->
pos表示该位宣。
査询结果存放在answer列表里。
算法:
Ifpl->
docld//对两(剩余)列表的苗元素进行比较
Whileql!
=nullANDq2!
Ifql->
pos-q2->
pos<
=kORq2->
pos-ql->
pos<
=k
pl);
break;
//跳出这个循环,找到一个k临近即可
Elselfql->
pos-q2->
pos>
k〃q2不可能被匹配上,忽略它q2=q2->
next;
//生成新的剩余列表
ElseIfq2->
pos-ql->
pos>
k〃ql不可能被匹配上,忽略它ql=ql->
EndIf
EndWhile
〃构造新的剩余列表,迭代执行p2=p2->
next;
docldpl=pl->
docld不可能右匹配:
第六章文档评分、词项权重计算及向量空间模型
习题6・2
上面的例6-1中,如果gl=0.2zg2=0.31及g3=0.49,那么对于一个文档来说所有可能的不同得分有多少?
得分1:
0
得分2:
gl=0.2
得分3:
g2=0.31
得分4:
g3=0.49
得分5:
gl+g2=0.51
得分6:
gl+g3=0.69
得分7:
g2+g3=0.8
得分8:
gl+g2+g3=1.0
习题6-10
考虑图6・9中的3篇文档Docl、Doc2.Doc3中几个词项的tf情况,采用图6・8中的idf值来计算所有词项car、auto、insurance及best的tfidf值(df值的计算就假设用
Docl,Doc2Doc3的这个文集)。
Doc1
Doc2
Doc3
car
27
24
auro
33
insurance
29
best
14
17
图6・9习题6・10中所使用的If唱
解答:
w^d=max(l+logio(1+tf),0)
Docl
Car
2.4314
1.6021
2.3802
Auto
1.4771
2.5185
2.4624
Best
2.1461
2.2304
dft
idft
auto
0.1761
这里N=3°
tf・idfg=wt>
d*idft
0.2601
0.4435
0.4336
0.3779
0.3928
例6-4
假设文档集中的文档数目N=1000000,词表为{auto,best,car,insurance},这四个词的df值分别为5000,50000,10000,1000。
设某文档d的rawtf向量为[1,0,1,2],对査询q=wbestcarinsurance"
,问该文档■查询的相似度打分score(q,d)是?
5000
2.3010
50000
13010
10000
2.0000
1000
3.0000
这里N=1000000。
文档d的tf・idf向M:
:
rawtf©
d
wtrd=max(l+logio(l+tfJ.O)
tf-idft,尸wt,d*idft
v(d)=归一化tf-idft,d
1.0000
0.4646
0.4038
1.3010
3.9031
0.7881
查询q的tf-idf向量(wtd=1)
rawtfg
wt/q=max(l+logio(l+tf)/0)
tf-idft,q=wt,q*idft
v(q)=归一化tf-idf^
0.3394
0.5218
0.7827
score(q,d)=v(q),*v(d)=0.8275
第八章信息检索的评价
习题8-8
考堪一个有4篇相关文档的信息需求,考察两个系纟充的前10个检索结果(左边的结果排名靠前),相关性判定的情况如下所示:
系统1RNRNNNNNRR
系统2NRNNRRRNNN
a.计算两个系统的MAP值并比较大小。
b.上述结果直观上看有总义吗?
能否从中得出启发如何才能获得高的MAP得分?
c.计算两个系统的R-precision值,并与a中按照MAP进行排序的结果进行对比。
解答:
a.按MAP的定义,这里|Q|=1,m=4.在查询结果中遇到每个相关文档对前面的所有文档计算一个Precision*MAP将这些Precision值求平均。
MAP(系统1)=(1/4)*(1+2/3+3/9+4/10)=0.6
MAP(系统2)=(1/4)*(1/2+2/5+3/6+4/刀=0.49
系统1的MAP值人。
b.相关的査询结果排名越靠前,则MAP越大。
c.按R-precision的定义,假设总共有|Rel|篇相关文档,在查询结果中取前|Rel|个文档,计算其precision9
R-precision(系统1)=2/4=1/2
R-precision(系统1)=1/4
系统1的R-precision值人。
与MAP给出系统打分排序的结果一致。
习题8-10
下表中是两个判定人员基于某个信息需求对12个文档进行相关性判定的结果(0=不
相关,
1二相关)。
假定我们开发了一个IR系统,针对该信息需求返回了文档{4,5,6"
8}。
docID
判断1
判断2
311
411
510
610
710
810
901
1001
1101
1201
a.计算两个判断之间的kappa统计量:
b.肖两个判断均认为是相关文档时才认为该文档相关,此时计算上述系统的正确率、召回率及F]值;
c.只要右一个判断认为是相关文档则认为该文档相关,此时计算上述系统的正确率、召回率及行值。
a.计算kappa统计量:
P(A)就是实际观察到的一致意见的概率,总共12篇文档,其中2篇两人一致选Yes,2篇两人一致选N。
。
因此,P(A)=(2+2)/12=l/3«
P(E)是随机情况卜的一致意见的概率。
假设每个人对每个文档的Yes(或No)打分的概率Py(或pn)是独立同分布的(i.i.d.),则P(E)=p/py+pn*pno其中,Py是2U2次打分中为Yes的比例,p产12/24=1/2;
p“是2T2次打分中为No的比例,pn=12/24=l/2.代入P(E),得:
P(E)=(l/2)A2+(l/2)A2=l/2o
Kappa=(P(A)-P(E))/(l-P(E))=(l/3-l/2)/(1-1/2)=-1/3<
0.67,这是一个负数,说明实际的一致性结果还不如随机产生的一致性结果,因此町以判定两人给出的相关性打分不一致。
b.文档集中共有12篇文档,其中2文档相关({3,4}),其它10篇都不相关。
査询结果为
{4,5,6,7,8},其中只有1篇文档相关({4})o
该查询的
Precision,P=l/5;
Recall,R=l/2;
F1=2P*R/(P+R)=0.28o
c.文档集中共有12篇文档,其中10文档相关,其它2篇都不相关({1,2})。
査询结果为{4,5,6,7,8},全部都相关。
Precision,P=l:
Recall,R=5/12;
Fi=2P*R/(P+R)=0.67o
因Kappa统计量认为两人打分不一致,所以修正方法b比较介理,而c非常不介理。
第十三章文本分类与朴素贝叶斯方法
习题13-3
位豐独立性假设的基本原则是,词项在文档的位置k上出现这个事实并没右什么有用的信息。
请给岀这个假设的反例。
提示:
可以考虑那些套用固定文档结构的文档。
如果一个词出现在不同域中,它的重要性不同。
比如出现在标题中的词一般很重要。
习题13-9
基于表13-10中的数据,进行如卜计算:
(i)估计多项式NB分类器的参数;
(ii)将(i)中的分类器应用到测试集:
^13-10用于参数估计的数延
文档ID
文档中的词
属干c^China^?
TaipciTaiwan
yes
MacaoTaiwanShanghai
ves
JapanSapporo
no
SapporoOsakaTaiuan
5
TaiwanTaiwanSapporo
P(China)=2/4=l/2;
P(非China)=2/4=l/2.
词典中有7个词Japan,Macao,Osaka,Sapporo,Shanghai,Taipei,Taiwan.
测试集中,China类共有5个词:
非China类共有5个词。
P(Taiwan|China类)=(2+1)/(5+7)=1/4(加一平滑,下同)
P(Taiwan|非China类)=(1+1)/(5+7)=1/6
P(Sapporo|China类)=(0+1)/(5+7)=1/12
P(Sapporo|非China类)=(2+1)/(5+7)=1/4
按单字词语言模型,
PfChina类|d5)«
PfChina类)*P(Taiwan|China类)八2*P(Sapporo|China
类)=1/2*(1/4)A2♦1/12=1/384.
P(非China类|d5)«
P(非China类广P(Taiwan|非China类)八2“P(Sapporo|非China类)=l/2*(l/6)A2*l/4=l/288.
由于P(非China类皿)〉P(China类|如,d5属于非China类。
第十六章扁平聚类
习題16-3对于图16-4,同一类中的每个点d都用两个同样的d的副本来替换。
(i)那么,对于新的包含34个点的集合进行聚类,会比图16-4中17个点的聚类更容易、一样难还是更难?
(ii)计篦対34个点聚类的纯度、RL在点数増加一倍之后,哪些指标增人?
哪些指标保持不变?
(iii)在得到(i)中的判断和(ii)中的指标之后,哪些指标更适合于