摘要
Winograd Schema Challenge(WSC)指代名词解析任务,似乎需要常识性的推理,因为所需的知识不在给定的文本中。自动提取所需的知识是解决挑战的瓶颈。现有的最先进方法使用嵌入其预训练的语言模型中的知识。但是,语言模型仅嵌入部分知识,这些知识与经常共存的概念有关。这限制了此类模型在WSC问题上的性能。在这项工作中,我们建立在基于语言模型的方法上,并通过常识性知识搜寻(使用从文本中自动提取)模块和显式推理模块来扩展它们。我们以这种方式构建的端到端系统将两种可用的基于语言模型的方法的准确性分别提高了5.53%和7.7%。总体而言,我们的系统在WSC数据集上实现了71.06%的最新准确性,比以前的最佳水平提高了7.36%。
论文贡献
本篇论文的主要贡献
-
开发和利用自动知识搜寻方法来提取所需的知识和原因,而无需依赖严格的正式代表
-
利用语言模型中嵌入的知识
-
结合从知识狩猎中提取的知识和语言模型中的知识。
论文方法
知识狩猎法
知识狩猎方法有两个主要模块。 第一模块提取与WSC问题相对应的句子集合,使得提取的句子可以包含所需的常识。 我们称这类句子为知识文本。 第二模块使用知识文本,并在WSC文本中的答案选项和代词与知识文本中的实体之间生成对应关系。 我们称这种对应为实体对齐。 这样的实体对齐是知识搜寻模块的中间结果。
第一模块
知识提取模块的目标是针对给定的WSC问题自动提取一组知识文本。理想情况下,知识文本应能够证明相关的WSC问题的答案是正确的。因此,我们旨在提取描述与相关WSC问题相似的情况的文本。我们根据事件(动词短语)和与场景关联的实体的属性来粗略地描述WSC场景。场景的表征可选地包括场景的事件和属性之间的话语连接词。例如,在WSC的句子中,“The city councilmen refused the demonstrators a permit because they feared violence .” 这种情况的主要特征是动词短语“refused”和“feared”,以及语篇连接词“because”。在这项工作中,我们使用场景的抽象概念来提取描述相似场景的知识文本。以下是提取模块中的步骤。
-
首先,该模块在给定的WSC场景中识别动词短语,属性和语篇连接词。例如,在上述示例中,单字动词短语“refused”和“feared”,以及语篇连词“because”。
-
其次,该模块使用上一步中提取的关键字自动生成一组搜索查询。集合中的第一个查询是在上一步中提取的关键字的有序组合(按照WSC语句)。例如,查询 “* refused * because * feared * ” 是针对上述问题的第一个查询。之后,针对第一个查询执行以下一组修改,并将结果添加到该组查询中。
-
动词短语将转换为其基本形式。例如,“* refused * because * feared * ”
-
话语连接词被省略。例如, “* refuse * fear * ”。
-
动词短语中的动词和形容词被来自WordNet KB的同义词替换(Miller,1995)。考虑来自相同词性的最高同义词集的前五个同义词。在此步骤之后生成的查询示例为 “* decline * because * fear * ”。
- 第三,该模块使用生成的查询从搜索引擎中搜索和提取长度不超过30个单词的文本片段。 针对每个查询检索来自搜索引擎的前10个结果(网址),并从这些结果中抓取文本片段。 在提取的文本中,最类似于WSC文本的10个文本片段将被过滤并传递到对齐模块。 我们使用自然语言推论模型(Parikh et al。,2016)查找最相似的句子。 由于我们也不想提取包含相应WSC句子的代码段(由于含糊不清),因此该模块将删除其中包含WSC句子的结果。 在任何WSC问题中,我们从句子中过滤掉了包含80%或更多单词的知识文本。
An example knowledge text extracted by using the query “ * refused * because * feared * ” via the steps mentioned above is, “He also refused to give his full name because he feared for his safety.”
第二模块
针对每个WSC问题,总共提取了多达10个知识文本。它们中的每一个都与WSC问题一起被单独处理,以从知识搜寻模块中产生相应的中间结果。令W = <S,A1,A2,P,K>为修正的WSC问题,使得S为一组WSC句子,A1和A2分别为答案选择一个和两个,P为待解决的代词,以及K是一个知识文本。对齐功能的任务是将答案选项(A1和A2)和S中要解析的代词(P)与K中的对应实体(名词/代词短语)对齐。这些对齐是的中间结果知识搜寻模块。
通过选择知识提取方法,就事件而言,知识文本与WSC句子相似,即它们包含相似的动词短语,属性和语篇连接词。因此,在理想情况下,我们将在K中拥有实体,分别与W中的每个相关实体(A1,A2和P)相对应。对齐算法的目标是找到该映射。映射结果以与三等谓词对齐的形式生成。第一个参数表示S的实体(答案选择或代词),第二个参数表示K的实体,第三个参数是所用知识文本的标识符。如果满足以下条件,我们将定义知识文本K中的实体Ej与WSC文本S中的实体Aj对齐:
- 在S中存在动词v,在K中存在动词v‘,使得v = v’或v是v‘的同义词。
- Aj对v的“语义作用”与Ej对v’的“语义作用”相同。
我们使用称为QASRL的语义角色标记功能(He等,2015)来计算每个实体的语义角色。 QASRL用问题-答案对表示实体的语义角色。图1显示了知识文本的QASRL表示形式“他还因为担心自己的安全而拒绝提供全名。”它涉及三个动词“拒绝”,“害怕”和“给予”。这些问题代表了参与实体的角色。
为WSC句子生成的示例对齐方式,
S = “The city councilmen refused the demonstrators a permit because they feared violence.”
K = “He also refused to give his full name because he feared for his safety.”
aligned with(city councilmen,He,K)
aligned with(they,he,K)
输入的WSC问题中存在三个相关实体,即A1,A2和P。基于与WSC问题中的实体相对应的实体的存在,有28种可能的情况。 例如,缩写为{TTT}的情况{True True True}表示实体A1,A2和P中的每一个与知识文本中的对应实体对齐。 对齐方式背后的直觉是在知识文本中找到一个公共实体,使其与答案选项之一(例如Ai)以及要解析的代词(P)对齐。
输入的WSC问题中存在三个相关实体,即A1,A2和P。基于与WSC问题中的实体相对应的实体的存在,有28种可能的情况。例如,缩写为{TTT}的情况{True True True}表示实体A1,A2和P中的每一个与知识文本中的对应实体对齐。对齐方式背后的直觉是在知识文本中找到一个公共实体,使其与答案选项之一(例如Ai)以及要解析的代词(P)对齐。然后我们可以说Ai和P都指同一实体,因此它们彼此指代。这种情况的重要方面是知识文本中存在与答案选择和要解决的代词中的至少一个对齐的实体。换句话说,情况为{TTT},{TFT}和{FTT}。因此,我们将仅针对这三种情况生成的对齐方式视为对齐模块的输出。
Using the Knowledge from Language Models
在这项工作中,我们旨在利用神经语言模型中嵌入的此类知识。我们用两个答案选择替换WSC文本中要解析的代词,一次选择一个,生成两个可能的文本。例如,在上面的WSC示例中生成的两个文本是:
- S3(a) = I put the heavy book on the table and table broke
- S3(b) = I put the heavy book on the table and book broke.
然后,使用预训练的语言模型来预测每个生成的文本的概率。令Pa为S3(a)的概率,Pb为S3(b)的概率。为了能够使用概率软逻辑(PSL)中的语言模型结果,此步骤的输出包含coref(P,A1):PROB1和coref(P,A2):PROB2,其中P是要解析的代词,A1和A2分别是答案选项1和2,PROB1和PROB2是分别通过WSC文本中的A1和A2替换P生成的文本的概率,即上例中的Pa和Pb。
Combining Knowledge Hunting and Language Models
在这一步骤中,将知识搜寻模块生成的对齐结果和语言模型生成的共指概率在概率软逻辑(PSL)(Kimmig等人,2012)框架中组合以推断每个答案的置信度 WSC问题中的选择。 PSL是一个概率逻辑框架,旨在进行有效的推理。 PSL的一个关键区别特征是,接地原子在[0,1]区间内具有柔软的连续真值,而不是马尔可夫逻辑网络和大多数其他概率逻辑中使用的二进制真值。 给定一组加权逻辑公式,PSL将建立一个图形模型,以定义该模型中随机变量值的连续空间上的概率分布。 使用一阶逻辑中的一组加权if-then规则定义PSL模型,如以下示例所示:
0.7
:
∀
x
,
y
,
z
.
s
p
o
u
s
e
(
x
,
y
)
∧
i
s
C
h
i
l
d
O
f
(
z
,
x
)
→
i
s
C
h
i
l
d
O
f
(
z
,
y
)
0.7 : \forall x, y, z.spouse(x, y) \wedge isChildOf(z, x) \to isChildOf(z, y)
0.7:∀x,y,z.spouse(x,y)∧isChildOf(z,x)→isChildOf(z,y)
在这里,x,y和z代表变量。上述规则规定,某人的孩子也是其配偶的孩子。与规则关联的权重(0.7)编码规则的强度。根据PSL模型的规则,每个接地的原子在[0,1]区间中具有一个软真值,用 I ( a ) I(a) I(a)表示。以下公式用于计算逻辑公式中的连词( ∧ \land ∧),析取词( ∨ \lor ∨)和否定词( ¬ \lnot ¬)的软真值。
I
(
l
1
∧
l
2
)
=
m
a
x
{
0
,
I
(
l
1
)
+
I
(
l
2
)
−
1
}
I(l1 \land l2)= max \{0,I(l1)+ I(l2)-1\}
I(l1∧l2)=max{0,I(l1)+I(l2)−1}
I
(
l
1
∨
l
2
)
=
m
i
n
{
I
(
l
1
)
+
I
(
l
2
)
,
1
}
I(l1 \lor l2)= min \{I(l1)+ I(l2),1\}
I(l1∨l2)=min{I(l1)+I(l2),1}
I
(
¬
l
1
)
=
11
I
(
l
1
)
I(\lnot l1)= 1 1 I(l1)
I(¬l1)=11I(l1)
然后,给定的规则 r ≡ r b o d y → r h e a d r≡rbody \to rhead r≡rbody→rhead,只要 I ( r b o d y ) ≤ I ( r h e a d ) I(rbody)\leq I(rhead) I(rbody)≤I(rhead),就可以满足(即 I ( r ) = 1 I(r)= 1 I(r)=1)。否则,PSL定义到满意度 d ( r ) d(r) d(r)的距离,该距离捕获规则r距离满足的距离: d ( r ) = m a x { 0 , I ( r b o d y ) − I ( r h e a d ) } d(r)= max \{0,I(rbody)-I(rhead)\} d(r)=max{0,I(rbody)−I(rhead)}。例如,假设我们有一组证据: I ( s p o u s e ( B , A ) ) = 1 I(spouse(B,A))= 1 I(spouse(B,A))=1, I ( i s C h i l d O f ( P , B ) ) = 0.9 I(isChildOf(P,B))= 0.9 I(isChildOf(P,B))=0.9, I ( i s C h i l d O f ( P , A ) ) = 0.7 I(isChildOf(P,A))= 0.7 I(isChildOf(P,A))=0.7,。然后 I ( s p o u s e ( B , A ) ∧ i s C h i l d O f ( P , B ) ) = m a x { 0 , 1 + 0.9 − 1 } = 0.9 I(spouse(B,A)\land isChildOf(P,B))= max \{0,1 + 0.9-1\} = 0.9 I(spouse(B,A)∧isChildOf(P,B))=max{0,1+0.9−1}=0.9, d ( r ) = m a x { 0 , 0.9 − 0.6 } = 0.3 d(r)= max \{0,0.9-0.6\} = 0.3 d(r)=max{0,0.9−0.6}=0.3
PSL的主要目的是支持最可能的解释(MPE)推断。 MPE推理是在给出一组证据的情况下,以最大概率找到整体解释(接地原子的组合)的任务。直觉上,具有最高概率的解释是具有最小满意度的解释。换句话说,正是这种解释试图尽可能满足所有规则。我们使用PSL框架将我们方法中其他模块的结果组合起来,并为每个答案选择生成置信度得分。为谓词 c o r e f ( p , a i ) coref(p,ai) coref(p,ai)生成置信度得分,其中p是代表WSC问题中要解决的代词的变量,ai是代表WSC问题中答案选择的变量。为了能够使用知识搜寻方法中的对齐信息,编写了PSL规则。它用于生成coref谓词及其答案的真实值.
w : ∀ a , e 1 , e 2 , k , p . a l i g n e d w i t h ( a , e 1 , k ) ∧ a l i g n e d w i t h ( p , e 2 , k ) ∧ s i m i l a r ( e 1 , e 2 ) ∧ → c o r e f ( p , a ) w : {∀a, e1, e2, k, p. aligned with(a, e1, k)∧ aligned with(p, e2, k)∧ similar(e1, e2)∧→ coref(p, a)} w:∀a,e1,e2,k,p.alignedwith(a,e1,k)∧alignedwith(p,e2,k)∧similar(e1,e2)∧→coref(p,a)
这里w是规则的权重,a,p,e1,e2和k是变量,因此a是WSC问题中的答案选择,p是WSC问题中要解决的代词,e1和e2是实体在知识文本中k。从知识搜寻模块生成与谓词对齐的基础,相似谓词的基础将k中的相似实体编码。谓词相似的基础的真实值用于表示两个实体(即e1和e2)彼此之间的相似程度。尽管可以使用任何一种语义相似度计算算法来生成相似谓词,但我们还是使用BERT(Devlin等人,2018)来计算两个实体之间的相似度。如果e1和e2的值相同(例如E),则接地原子的相似值(E,E)的真值变为1。直觉上,上述规则意味着,如果答案选择和代词在WSC中得到解决如果问题与对应于WSC问题的知识文本中的相似实体对齐,则代词指的是答案选择。上面的规则适用于表1中提到的所有三种情况。神经语言模型方法生成由二进制谓词coref定义的原子的两个基础作为其结果(请参阅第3.2节)。这两个基础分别是指要解析的代词和两个答案选择之间的共同引用。这些基础伴随着它们的概率,我们将它们用作真实值。这些接地的coref原子与知识搜寻方法的输出一起直接输入到PSL框架中,以推论针对每个答案选择的coref原子的真值。最后,具有较高真值的答案选择被认为是要解决的代词的正确共指,因此是最终答案。