1
docID | 判断 1 | 判断 2 |
1 | 0 | 0 |
2 | 0 | 0 |
3 | 1 | 1 |
4 | 1 | 1 |
5 | 1 | 0 |
6 | 1 | 0 |
7 | 1 | 0 |
8 | 1 | 0 |
9 | 0 | 1 |
10 | 0 | 1 |
11 | 1 | 1 |
12 | 1 | 1 |
表 1 评判情况
表 1 1 1 中是两个判定人员基于某个信息需求对 12 12 12 个文档进行相关性判定的结果(0 = 不相关,1 = 相关)。假定我们开发了一个 IR 系统,针对该信息需求返回了文档集 { 4 , 5 , 6 , 7 , 8 , 11 } \{4, 5, 6, 7, 8, 11\} {4,5,6,7,8,11}。回答下列问题:
a. 计算两个判断之间的 kappa 统计量,并说明结果是否可接受。
根据表 1 1 1 统计得到表 2 2 2。
判断 2 \ 判断 1 | yes | no | total |
yes | 4 | 2 | 6 |
no | 4 | 2 | 6 |
total | 8 | 4 | 12 |
表 2 混淆矩阵
根据表
2
2
2 计算出,两人一致性的判断率
P
(
A
)
P(A)
P(A),边缘统计量
P
(
n
o
n
r
e
l
e
v
a
n
t
)
P({\rm nonrelevant})
P(nonrelevant) 和
P
(
r
e
l
e
v
a
n
t
)
P({\rm relevant})
P(relevant),两人的随机一致性比率
P
(
E
)
P(E)
P(E)。
P
(
A
)
=
4
+
2
12
=
1
2
P
(
n
o
n
r
e
l
e
v
a
n
t
)
=
6
+
4
12
+
12
=
5
12
P
(
r
e
l
e
v
a
n
t
)
=
8
+
6
12
+
12
=
7
12
P
(
E
)
=
P
(
n
o
n
r
e
l
e
v
a
n
t
)
2
+
P
(
r
e
l
e
v
a
n
t
)
2
=
(
5
12
)
2
+
(
7
12
)
2
=
37
72
κ
=
P
(
A
)
−
P
(
E
)
1
−
P
(
E
)
=
−
1
35
\begin{array}{l} P(A) = \frac{4+2}{12} = \frac{1}{2} \\ P({\rm nonrelevant})=\frac{6+4}{12+12} =\frac{5}{12} \\ P({\rm relevant})=\frac{8+6}{12+12}=\frac{7}{12} \\ P(E)=P({\rm nonrelevant})^2+ P({\rm relevant})^2 = (\frac{5}{12})^2 + (\frac{7}{12})^2 = \frac{37}{72} \\ \kappa = \frac{P(A) - P(E)}{1-P(E)} = -\frac{1}{35} \end{array}
P(A)=124+2=21P(nonrelevant)=12+126+4=125P(relevant)=12+128+6=127P(E)=P(nonrelevant)2+P(relevant)2=(125)2+(127)2=7237κ=1−P(E)P(A)−P(E)=−351
b. 当两个判断均认为是相关文档时才认为该文档相关,此时计算上述系统的正确率、 召回率以及 F1 值;
12
12
12 个文档中相关文档的编号为
{
3
,
4
,
11
,
12
}
\{3,4,11,12\}
{3,4,11,12}。系统返回的
6
6
6 个文档中,只有编号为
4
4
4 和
11
11
11 的文档被认为是相关文档, 故有:
P
=
2
6
=
1
3
R
=
2
4
=
1
2
F
1
=
2
1
P
+
1
R
=
2
5
P = \frac{2}{6} = \frac{1}{3}\\ R = \frac{2}{4} = \frac{1}{2} \\ F1 = \frac{2}{\frac{1}{P} + \frac{1}{R}} = \frac{2}{5}
P=62=31R=42=21F1=P1+R12=52
c. 只要有一个判断认为是相关文档则认为该文档相关,此时计算上述系统的正确率、 召回率以及 F1 值。
12
12
12 个文档中相关文档的编号为
{
3
,
4
,
5
,
6
,
7
,
8
,
9
,
10
,
11
,
12
}
\{3,4,5,6,7,8,9,10,11,12\}
{3,4,5,6,7,8,9,10,11,12}。系统返回的
6
6
6 个文档中,只有编号为
4
4
4 和
11
11
11 的文档被认为是相关文档, 故有:
P
=
6
6
=
1
R
=
6
10
=
3
5
F
1
=
2
1
P
+
1
R
=
3
4
P = \frac{6}{6} = 1\\ R = \frac{6}{10} = \frac{3}{5} \\ F1 = \frac{2}{\frac{1}{P} + \frac{1}{R}} = \frac{3}{4}
P=66=1R=106=53F1=P1+R12=43
2
在
10
,
000
10,000
10,000 篇文档构成的文档集中,某个查询的相关文档总数为
10
10
10,下面给出了某系统针对该查询的前
20
20
20 个有序结果的相关(用 R
表示)和不相关(用 N
表示)情况: RRNNR NNNRN NNNNR RNNNR
。回答下列问题:
a. 前 20 20 20 篇文档的正确率是多少?
正确率指标不考虑查询返回的相关文档次序, 20 20 20 个查询结果中有 7 7 7 个相关文档,所以 P = 7 20 P = \frac{7}{20} P=207。
b. 前 20 20 20 篇文档的召回率是多少?
查询的相关文档总数为 10 10 10,查询返回 7 7 7 个相关文档,所以 R = 7 10 R = \frac{7}{10} R=107。
c. 前 20 20 20 篇文档的 F1 值是多少?
根据上面计算得到的 P P P 和 R R R 可知, F 1 = 7 15 F1 = \frac{7}{15} F1=157。
d. 在 30 % 30\% 30% 召回率水平上的插值正确率是多少?
返回结果中的
7
7
7 个 R
对应的召回率序列和正确率序列分别为
{
1
10
,
2
10
,
3
10
,
4
10
,
5
10
,
6
10
,
7
10
}
\{\frac{1}{10}, \frac{2}{10}, \frac{3}{10}, \frac{4}{10}, \frac{5}{10}, \frac{6}{10}, \frac{7}{10}\}
{101,102,103,104,105,106,107} 和
{
1
1
,
2
2
,
3
5
,
4
9
,
5
15
,
6
16
,
7
20
}
\{\frac{1}{1}, \frac{2}{2}, \frac{3}{5}, \frac{4}{9}, \frac{5}{15}, \frac{6}{16}, \frac{7}{20}\}
{11,22,53,94,155,166,207}。由于存在
30
%
30\%
30% 的召回率点,所以对应的插值正确率就是该点的正确率,即
60
%
60\%
60%。
e. 在 66 % 66\% 66% 召回率水平上的插值正确率是多少?
由于不存在为 66 % 66\% 66% 的召回率点,根据插值方法可以确定对应的正确率为 70 % 70\% 70% 对应的正确率,即 35 % 35\% 35%。
f. 假定该系统返回的结果数目为 20 20 20,计算 MAP 值。
A P = 1 10 ( 1 1 + 2 2 + 3 5 + 4 9 + 5 15 + 6 16 + 7 20 ) = 1477 3600 AP = \frac{1}{10}(\frac{1}{1} + \frac{2}{2} + \frac{3}{5} + \frac{4}{9} + \frac{5}{15} + \frac{6}{16} + \frac{7}{20}) = \frac{1477}{3600} AP=101(11+22+53+94+155+166+207)=36001477。由于只有一次查询,所以无需与其它查询对应的 A P AP AP 计算算数平均值,即 M A P = 1477 3600 MAP = \frac{1477}{3600} MAP=36001477。保留四位小数的结果为 0.4103 0.4103 0.4103。
假定该系统返回了所有 10 , 000 10,000 10,000 篇文档,上述 20 20 20 篇文档为结果中排名靠前的 20 20 20 篇文档,那么:
g. 该系统可能的最大 MAP 为多少?
最大的 MAP,即最大的 AP,对应的返回相关文档的位置序列为
{
1
,
2
,
5
,
9
,
15
,
16
,
20
,
21
,
22
,
23
}
\{1,2,5,9,15,16,20,21,22,23\}
{1,2,5,9,15,16,20,21,22,23}。所以保留四位小数的结果为:
M
A
P
=
1
10
(
1
1
+
2
2
+
3
5
+
4
9
+
5
15
+
6
16
+
7
20
+
8
21
+
9
22
+
10
23
)
≈
0.5328
MAP = \frac{1}{10}(\frac{1}{1} + \frac{2}{2} + \frac{3}{5} + \frac{4}{9} + \frac{5}{15} + \frac{6}{16} + \frac{7}{20} + \frac{8}{21} + \frac{9}{22} + \frac{10}{23}) ≈ 0.5328
MAP=101(11+22+53+94+155+166+207+218+229+2310)≈0.5328
h. 该系统可能的最小 MAP 为多少?
最小的 MAP,即最小的 AP,对应的返回相关文档的位置序列为 { 1 , 2 , 5 , 9 , 15 , 16 , 20 , 9998 , 9999 , 10000 } \{1,2,5,9,15,16,20,9998,9999,10000\} {1,2,5,9,15,16,20,9998,9999,10000}。所以保留四位小数的结果为:
M A P = 1 10 ( 1 1 + 2 2 + 3 5 + 4 9 + 5 15 + 6 16 + 7 20 + 8 9998 + 9 9999 + 10 10000 ) ≈ 0.4105 MAP = \frac{1}{10}(\frac{1}{1} + \frac{2}{2} + \frac{3}{5} + \frac{4}{9} + \frac{5}{15} + \frac{6}{16} + \frac{7}{20} + \frac{8}{9998} + \frac{9}{9999} + \frac{10}{10000}) ≈ 0.4105 MAP=101(11+22+53+94+155+166+207+99988+99999+1000010)≈0.4105
3
回答以下问题:
a. 基于神经网络的检索模型(Neural IR)主要分为哪两类?
基于神经网络的检索模型主要分为基于学习文本的分布式表示的模型(representation based model)和基于文本匹配函数的模型(matching function model)。前者的思想是,在高维空间匹配学习到的文本分布式表示。词表示和句表示从之前的 one-hot 表示和 BOW 表示变为分布式表示。代表模型有 DSSM 和 CDSSM。后者的思想是,文本之间先进行交互匹配,再对匹配信号进行融合。匹配函数从之前简单的内积相似度、余弦相似度变为了神经网络计算的相似度。优点是可以考虑更加丰富的匹配信号, 如软匹配(soft matching)。代表模型有 MatchPyramid、DRMM、K-NRM、PACRR、NPRF。
基于学习文本的分布式表示的模型和基于文本匹配函数的模型结构分别如图 1 1 1 上、下所示。
图 1 基于学习文本的分布式表示的模型和基于文本匹配函数的模型
b. 你认为 Neural IR 的发展方向是什么?(开放性问题)
- 模型的效能提升:神经信息检索模型在最近几年取得了显著的进展,但仍然存在一些挑战。未来的发展方向之一是进一步提高模型的效能,包括更好的表示学习方法、更有效的训练技巧以及更准确的评估指标。这可能涉及到更大规模的模型、更丰富的数据集和更复杂的架构设计。
- 多模态检索:随着多模态数据的广泛应用,将视觉、语言、音频等多种模态信息整合到信息检索中变得越来越重要。未来的发展方向之一是设计能够处理多模态数据的神经信息检索模型,以更好地支持多模态查询和文档的匹配和检索。
- 集成领域知识:领域知识对于信息检索至关重要,可以帮助理解查询和文档的语义以及背景信息。未来的发展方向之一是将领域知识集成到神经信息检索模型中,以提高检索的准确性和效果。这可以包括利用外部知识图谱、领域专家知识或领域特定的预训练模型等。
- 迁移学习和少标记学习:神经信息检索中的迁移学习和少标记学习是研究的热点。迁移学习可以利用在一个领域训练好的模型来改善在另一个领域的性能。少标记学习则关注如何在只有少量标记数据的情况下进行有效的模型训练。未来的发展方向之一是探索如何将迁移学习和少标记学习方法应用到神经信息检索中,以提高模型的泛化能力和适应性。
- 可解释性和可信度:神经信息检索模型往往是黑盒模型,难以解释其决策过程。然而,在一些应用场景中,用户对于检索结果的解释和可信度是很重要的。未来的发展方向之一是研究如何设计可解释性的神经信息检索模型,以便用户能够理解模型的决策依据,并提供可信度估计。
4
简述 BERT 的基本结构;如何预训练一个 BERT(涉及什么任务)?
BERT的基本结构由多个Transformer编码器层组成。每个编码器层包括多头自注意力机制(Multi-Head Self-Attention)和前馈神经网络(Feed-Forward Neural Network)。其中自注意力机制允许模型在处理输入序列时同时考虑序列中的其他位置,从而捕捉上下文信息。通过堆叠多个编码器层,BERT可以学习到更丰富的句子表示。
BERT的预训练过程包括两个主要任务:
- 掩码语言建模(Masked Language Modeling,MLM):在输入序列中,随机选择一些词汇,并将其替换为特殊的掩码标记(如"[MASK]")。模型的目标是根据上下文预测被掩码的词汇。这个任务使得模型能够学习句子中不同位置的上下文信息,并且需要模型具备双向理解句子的能力。
- 下一句预测(Next Sentence Prediction,NSP):为了训练模型对句子级别的关系进行建模,BERT在训练数据中构造了一些句子对。模型需要判断第二个句子是否是第一个句子的下一句。这个任务有助于模型学习句子之间的关联性和语义连贯性。
在预训练阶段,BERT使用大规模的无标签文本数据进行训练,例如维基百科、书籍、网络文本等。通过大规模数据的预训练,BERT可以学习通用的语言表示,从而适用于各种下游自然语言处理任务。
在预训练完成后,BERT可以通过微调(Fine-tuning)的方式在特定任务上进行进一步的训练。通过在特定任务上进行少量的有标签数据训练,BERT可以适应不同的任务,如文本分类、命名实体识别、问答等。在微调过程中,通常会在BERT模型的顶部添加一个任务特定的输出层,用于任务特定的预测。