数学建模社区-数学中国
标题:
【文本匹配】交互型模型
[打印本页]
作者:
杨利霞
时间:
2023-4-13 21:16
标题:
【文本匹配】交互型模型
【文本匹配】交互型模型
- z0 V+ k3 L9 g5 I) ^3 X' M: B% I
) F: R; s: [8 i/ Q! F ]
表示型的文本匹配模型存在两大问题:(1)对各文本抽取的仅仅是最后的语义向量,其中的信息损失难以衡量;(2)缺乏对文本pair间词法、句法信息的比较
4 Z5 [# K- O" U3 h" m
; t8 S8 U7 [; H% ^
而交互型的文本匹配模型通过尽早在文本pair间进行信息交互,能够改善上述问题。
. H' L3 u# ]" U5 c4 L+ A) l
q4 ^0 C. U2 ]1 n3 Y3 n& r
基于交互的匹配模型的基本结构包括:
5 ^& v- P1 }. \
! U$ V2 k1 C# b5 g3 q9 ^$ V
(1)嵌入层,即文本细粒度的嵌入表示;
2 e) g ]! X2 N9 m, ~ @. [4 r
' x/ ~) u* X% ]+ T
(2)编码层,在嵌入表示的基础上进一步编码;
, `* \7 |8 \) Y( O& V3 [0 X
: |( p( n' ~, A1 t
(3)匹配层:将文本对的编码层输出进行交互、对比,得到各文本强化后的向量表征,或者直接得到统一的向量表征;
* B; ~7 o1 k7 |# p
0 ^2 k, M( j8 d# c$ s ?
(4)融合层:对匹配层输出向量进一步压缩、融合;
5 ]) H v( U: U- c1 T% E
8 c7 [. O* \# S& R. n
(5)预测层:基于文本对融合后的向量进行文本关系的预测。
+ D; @# ~1 }9 t0 ^! ~, u
/ i9 v, C+ [/ I* I( q
/ U5 t2 h% P, a x2 O
2 U* E5 e9 l C+ [" b. `0 u; K
1. ARC-II
/ N+ g1 R5 N! Y
ARC-II模型是和表示型模型ARC-I模型在同一篇论文中提出的姊妹模型,采用pair-wise ranking loss的目标函数。
/ g7 ^5 M# @( W7 T+ h |3 ]
' X7 [, z) y$ y( _4 R
其核心结构为匹配层的设计:
% i, i4 ]5 J* P) a( p
5 }6 \' l1 \4 L) @
(1)对文本pair的n-gram Embedding结果进行拼接,然后利用1-D CNN得到文本S_X中任一token i和文本S_Y中任一token j的交互张量元素M_{ij}。该操作既然考虑了n-gram滑动窗口对于local信息的捕捉,也通过拼接实现了文本pair间低层级的交互。
/ U" _: p% S' o% E ^
8 {+ F5 ^7 i, e
(2)对交互张量进行堆叠的global max-pooling和2D-CNN操作,从而扩大感受野。
+ S4 w n5 c. r
/ J S- }& Y/ l/ S2 [; g( Z1 d
2. PairCNN
, A* M `/ S B( M1 G
PairCNN并没有选择在Embedding后直接进行query-doc间的交互,而是首先通过TextCNN的方式分别得到query和doc的向量表征,然后通过一个中间Matrix对query和doc向量进行交互得到pair的相似度向量,然后将query的向量表征、doc的向量表征、相似度向量以及其它的特征向量进行拼接,最后经过两层的MPL得到最后的二分类向量。
; L N( }3 e+ G$ u, i; B
3 f8 r. ~# W( b8 [. H( C
PairCNN的模型架构中的亮点在于各View向量的拼接,既能利用原始的语义向量,还能够很便捷的融入外部特征。
) U! ]0 _6 ~" O! [$ L
0 W. ~- X& o: v
3. MatchPyramid
: f/ y7 y. k3 B
无论是ARC-II中的n-gram拼接+1D conv还是Pair-CNN中的中间Matrix虽然均通过运算最终达到了信息交互的作用,但其定义还不够显式和明确,MatchPyramid借鉴图像卷积网络的思想,更加显式的定义了细粒度交互的过程。
5 T9 h' N2 ?' L8 E# D3 ~% Z% r; }
MatchPyramid通过两文本各token embedding间的直接交互构造出匹配矩阵,然后将其视为图片进行2D卷积和2D池化,最后Flatten接MLP计算得匹配分数。本文共提出了三种匹配矩阵的构造方式:
! x" s- h2 }% I7 A' ^5 P
4 x0 {1 C: A! E' q
(1)Indicator:0-1型,即一样的token取1,否则取0;这种做法无法涵盖同义多词的情况;
9 ^: m' e; t9 `
( z' X7 ~' \! [( J9 t
(2)Cosine:即词向量的夹角余弦;
2 X, i' N9 o" S
* {8 g; |3 _& T) o6 }1 K( O
(3)Dot Product:即词向量的内积
7 ?: h) Z p: Z3 F8 }$ s
, V4 X; B- h& r% p8 Z' Y
此外值得注意的是因为各个文本pair中句子长度的不一致,本文并没有采用padding到max-lenght的惯用做法,而是采用了更灵活的动态池化层,以保证MPL层参数个数的固定。
" Y8 L6 I ~1 f& e1 Y" ?
' i, y J8 W5 ]3 c
4. DecAtt
x$ n2 t: ^# N
DecAtt将注意力机制引入到交互型文本匹配模型中,从而得到各token信息交互后增强后的向量表征。
8 D: [ d# Y* S8 Z, @: D/ I" h4 t0 ~
, @ X+ C! m9 \6 N, N' M, d; E
模型被概括为如下层级模块:
, g( p3 }7 I- b( G( b% g; g( N3 C5 U# d
1 ~& a- z" X2 W9 A2 `# z) x% F
(1)Attend层:文章提供了两种注意力方案,分别为文本间的cross-attention,以及各文本内的intra-attention。具体而言,分别采用前向网络F和F_{intra}对文本token embedding进行编码,然后通过F(x)F(y)计算cross-attention的score,以及F_{intra}(x)F_{intra}(y)计算self-attention的score。然后利用softmax将attention score进行归一化,再对各token embedding进行加权平均,得到当前query token处的增强表征,最后与原始token embedding进行拼接计为attend后的最终embedding。
. x" W% F+ B/ H- A- M z" U
% V0 a- J: D' d$ W, i& B( |
(2)Compare层:将前序Attend层计算得到的最终embedding,喂入一个全连接层进行向量维度的压缩。
; _+ R, }1 m1 k$ A' `8 k
! w: w$ ^4 h* t
(3)Aggregate层:将每个文本各token处压缩后的向量进行简单的求和,再拼接起来通过MPL得到最后的匹配得分。
0 y; _0 y1 U$ A: t, C
; `3 u# h! r1 }; ]" a! Z# n
5. CompAgg
g1 e% v2 @& u) v' N" ~' R
CompAgg详细对比了在文本间cross-attention得到的各token向量表征与原始token向量进行compare的各种方案。
! D7 o- d. U8 p) [, U; t# P
+ v, |- m8 _, O1 T
该模型的主要结构包括:
8 P2 k# u6 {6 Y, ?" F
/ p9 e: m- t9 ~* q8 c I* S
(1)reprocessing层:采用类似于LSTM/GRU的神经网络得到token的深层表示(图中的\bar a_i);
, ~& \" h" Y( H! B% `
" w+ ^/ @* s- i( L r
(2)Attention层:利用软注意力机制计算文本间的cross-attention(与DecAtt相同),从而得到各token处交互后的向量表示(图中的h_i);
6 V n2 L" E5 ]4 n5 z9 L
2 u% L" u8 }. ?0 ]
(3)Comparison层:通过各种网络结构或计算将\bar a_i和h_i计算求得各token的最终表征。
$ d- M1 C/ i% H' W8 c: Y
7 M- Y# I6 i& W. T4 s
(4)Aggregation层:利用CNN网络对Comparison层的输出进行计算,得到最后的匹配得分。
- j, x5 t5 b- D7 k8 u5 P/ w
9 R+ ?- Q+ ]2 u
其中Comparison层的构造方式包括:
9 V7 X) J% a- ?% p2 ^
5 g8 P. H% f: d" k' ^
(1)矩阵乘法,类似于Pair-CNN中的中间Matrix
$ N! e/ d. B, j7 N1 A+ {
5 J) U* g" w. P- H% o
(2)前向神经网络,即将\bar a_i和h_i进行拼接,然后利用输入FFN;
+ e6 M/ i6 ^- i$ `$ \
6 u! A: y* M* f& v$ m
(3)分别计算cosine和欧式距离,然后拼接;
; T3 l( L5 P- q |) T
s: ?* c# @" D8 b: X% S6 X) c: o- w5 E
(4)各维度进行减法;
& _9 t4 ~) `! v4 Z, g/ @# r, j( D5 {
7 z& _5 I4 ?; T9 q
(5)各维度进行乘法;
9 A3 l+ B) k2 Y; R0 J! L7 }" ~
/ o3 I- J* X! x) _
(6)各维度进行减法和乘法,然后再接一个前向网络。
: i7 n: b, r5 k4 ]. U4 I
; m* A+ e+ I. K, ~. B+ G
6. ABCNN
9 ?8 n' d- b/ `* J8 K- q
ABCNN是将Attention机制作用于BCNN架构的文本匹配模型。
2 h3 N% E( `9 H4 p D6 o. H
) T) p( q; z7 W% R/ Q
6.1 BCNN
2 d! K7 ]6 S/ M( j/ O( r: k
首先简单介绍下BCNN架构:
! B0 H3 x: @5 W# {' I
7 E" |. d0 V3 z
BCNN的整体结构比较简单:(1)输入层;(2)卷积层,因为采用了反卷积的形式,所以在size上会增加;
/ X. I0 m" _' ?, b7 E. k
2 ]- b8 ~7 R5 z% U- k& W& J- l
(3)池化层,采用了两种池化模式,在模型开始阶段采用的是local平均池化,在最后句子向量的抽取时采用了global平均池化;(4)预测层,句子向量拼接后采用LR得到最后的匹配得分。
7 v" `5 s: O2 T9 C5 d% i
7 o$ k4 H8 r! ?0 ]
ABCNN共包括三种变形,下面依次介绍。
& q' D) L! M0 u- ~
$ f% l. t0 A) V. g4 H' N
6.2 ABCNN
) [, Z- r# p2 A1 L
. U: L H# j# c6 J
ABCNN-1直接将Attention机制作用于word embedding层,得到phrase 级的词向量表示。区别于CompAgg中的软注意力机制,ABCNN-1直接基于下式得到注意力矩阵: A i j = 1 1 + ∣ x i − y j ∣ A_{ij}=\frac{1}{1+|x_i-y_j|} A
9 q' C' B- C5 G+ @# ^3 {
ij
+ h2 H! L8 a" I' ~' d0 |% c
$ r) s' I& M1 ]4 g8 ~
=
( h! }$ W% c T5 b* V
1+∣x
6 ]2 M3 ?- V) e7 H
i
4 w0 p! E8 P4 L. M( w
# t, k( S/ T' k' Q" k4 M
−y
8 J" ], u7 ?& k# @/ T" C: z+ \
j
! a D: f9 F0 }- t; n7 b
6 S/ M1 P4 ~2 g: i, a9 F' P
∣
% M: _) P1 w8 Y5 ?" P3 X& t; s: Q$ c4 j
1
M& m! V" [; K2 Z% g
' I2 ~9 D) \ b8 ~5 O6 ^1 I2 Y
,然后分别乘以可学习的权重矩阵 W 0 W_0 W
( {+ v' S! t" B/ y A: l0 I* V8 E5 W
0
* L, c; j- v4 ?3 U4 K
# \9 f6 M" w% ^, v/ I: h
和 W 1 W_1 W
/ C7 h5 n1 k' r6 S
1
: f& V: {6 ]# c/ B% d* Y* [& l( l
4 }! Z: p; N3 \/ ?2 A! k# H( l
得到attetion feature map。
8 p# k9 H/ }6 V# {7 I- e
+ B& E# y! ]% Z! p+ u, L2 p
6.3 ABCNN-2
- J* q! Z% e5 t3 j* d/ q6 l
. F3 W9 L0 { [" U
ABCNN-2将Attention机制作用于word embedding层后的反卷积层的输出结果,其中注意力矩阵的计算原理与ABCNN-1一致。然后将注意力矩阵沿着row和col的方向分别求和,分别代表着各文本token的attention socre;接着将反卷积层的输出结果与attention socre进行加权平均池化,得到与输入层相同shape的特征图。
% Q& v ?0 Q# n3 E: p# u
! B4 |& |$ }+ f" w
6.4 ABCNN-3
# w8 Q" H5 S3 E2 Z
# O, ^8 C9 S) d/ r! h
ABCNN-3的基本模块可视为ABCNN-1和ABCNN-2的堆叠,即在嵌入层和卷积层上面都引入了attention的机制用来增强对token向量的表示。
; ?7 [8 I) R# Z( R
' {, E1 Z( {- K
7. ESIM
0 c4 G* v! m* O
ESIM模型基于NLI任务给出了一种强有力的交互型匹配方法。其采用了BiLSTM和Tree-LSTM分别对文本序列和文本解析树进行编码,其亮点在于:
9 Q- P! r+ R4 s; Q# \7 K( p
4 ?$ a( a" j8 N; v
(1)匹配层定义了cross-attention得到各token的向量表示与原token向量间的详细交互关系,即采用 [ a ˉ , a ^ , a ˉ − a ^ , a ˉ ∗ a ^ ] [\bar a, \hat a,\bar a-\hat a,\bar a* \hat a] [
8 G% K \% `& B. t8 H, p
a
5 s2 B8 s) p3 T1 B: L$ y" ^ m: u: m
ˉ
8 Z1 N0 ^* R8 f! l- t! o* F+ \
,
+ o& y4 k3 G% M& v
a
$ a- C8 D7 n1 d& Z, E) b! x4 n
^
_* @7 |% B2 W* g. s$ Y
,
# ^) c* M: [! z, R# i" S- l
a
& s6 e/ ?3 H2 x) {; m7 ~
ˉ
/ v& K- d: j2 r5 [0 g7 c
−
2 f. _. u4 `9 V
a
1 ?7 g5 ]3 O! f; J" X
^
# t, J' e3 D( f/ D8 d! ^, _2 o: f
,
$ m' l$ _$ \4 U! z$ c
a
* Z5 }, D4 d* i( _2 }1 n2 [
ˉ
! v: ]( l. l! m5 S
∗
! G, q7 }* r& y0 I$ z
a
6 G. g2 T. v$ o
^
+ E& U1 }# i3 ~2 E/ x
]作为最终文本token的向量表示,这也成为后续文本匹配模型的惯用做法。
4 y! G# j: i! W9 f3 S3 H# ]- d8 H
: [1 j9 t- ?- A# p. i
(2)聚合层通过BiLSTM得到各文本token的编码,从而进一步增强了文本序列的信息传递;
3 p3 O- [7 ]9 R; S# \! w
2 b5 @$ P. c( u
(3)预测层通过拼接各文本token编码的max-pooling和mean-pooling结果,再经过MPL进行匹配预测。
6 O4 m' m: _- J6 k$ G* u
& w" ^1 n! d! K: u1 t$ u/ M* a5 I
5 l0 U1 h0 ]5 q& a
: j- |$ S' V. G: V6 ^5 s: x
8. Bimpm
3 S& Y; m, H# b; s D3 G/ J
Bimpm可视为对之前各类交互型文本匹配模型的一次总结。
. G8 ^ p; }! W$ {1 _" d
3 P+ h$ ~$ t! U+ z* U
该模型在各层的具体做法总结如下:
$ P" _9 q3 }6 G2 }2 A' ]8 B
$ E( J- k ~+ ]
(1)编码层采用BiLSTM得到每个token隐层的向量表示;
% x6 Q @( l$ C8 }5 Y. Y+ n( o
- T$ ^- S# Y/ x7 }3 `5 f& ?
(2)匹配层遵循 m k = c o s i n e ( W k ∗ v 1 , W k ∗ v 2 ) m_k=cosine(W_k*v_1,W_k*v_2) m
: Z& [" _2 G/ ^
k
& M `8 L% b/ m; q# ~, _4 N
! U1 E% {, V" G4 ]( H# I# @
=cosine(W
' w4 ^( c7 B2 J- j6 Y; d
k
" g* X/ I/ W: F+ \6 D8 l! J, M0 C. B
3 W" d6 a" O* y3 @# f- J* e
∗v
; W1 d1 g: R* v5 q$ j) _
1
! |7 b, U! ~7 x
% o4 g3 q) Q# a7 T/ @
,W
, o( H D0 S+ H
k
* A* N) Q' u4 V) J' s6 z E( y" R
4 ^7 ^* F) b: p0 f! ]
∗v
3 f1 ]4 L3 a$ Z! Z. n
2
# U2 a* {) a2 j! l
4 s/ k! }1 b7 h! o- X3 ^6 n0 M$ |
)的方式可以得到两个文本的任意token pair之间在第k个view下的匹配关系,至于 v 1 v_1 v
' a6 m6 J+ ~. U' f+ w' X# G
1
3 a2 |+ H# g6 Z- K, C
: G3 \0 g1 ^6 d& t9 K2 f- g4 W
和 v 2 v_2 v
( ~1 I$ C6 ? Y
2
- ~7 Q! ]3 }$ I0 G2 d1 N
2 I& q3 d. v5 {4 o9 T' d
如何取,文章提供了4种策略:
) i8 y0 ^! ]0 |9 U- C
4 z( h, Z# E( s! [* {9 _
策略一:其中一个句子取各token隐层的向量表示,另一个句子采用隐层最后时间步处的输出;
" ~5 t- q# G. w6 X3 `( n- b
策略二:其中一个句子取各token隐层的向量表示,另一个句子采用隐层各时间步输出与之匹配后取再取Max-Pooling值;
8 v% d7 K, f2 Y! ?
策略三:其中一个句子取各token隐层的向量表示,另一个句子采用cross-attentive后得到的加权句子向量;
9 y7 K* O# o8 q/ F; Y W% z% J
策略四:其中一个句子取各token隐层的向量表示,另一个句子采用cross-attentive后attention score最高处token的向量作为句子向量。
" I% U; O) J; [: t8 s
这四种策略的区别在于对句子向量的计算不同。
% U+ l2 Y4 s0 R5 n
- A3 F0 Y7 e' E
, L4 e' }4 P% h1 [" c' y. L' D: u4 C: o
(3)聚合层,首先对上面各种策略得到的输出层再通过一层BiLSTM层,然后将各策略下最后时间步的输出进行拼接,得到最后的聚合向量;
L- v c) j2 ]5 p5 d
$ \2 c0 H& }8 G5 M/ k
(4)预测层:两层MPL+softmax
8 q- b+ d- T0 s, U5 b7 o& P
9 e$ k. E. h" N2 `8 K8 d) i
9. HCAN
! X: R# \2 z1 o/ H+ |( T
HCAN是除Bert类模型外在文本匹配领域表现最为优异的深度模型之一,其采用了较为复杂的模型结构。
) P1 V% C' p0 p) x* Z( W
) a3 X- o0 J! G
针对于信息抽取问题,文章首先分析了相关性匹配和语义匹配的差异:
- M5 D$ U) c1 T% w; |
" B/ i2 o# w. W W# G
(1)相关性匹配主要关注于关键词的对比,因此更关注低层级词法、语法结构层面的匹配性;
: P4 S0 u4 [5 ?% d' l. |
) q3 u# ?: D1 Z: g B
(2)语义匹配代表着文本的平均意义,因此其关注更高、更丑想的语义层面的匹配性。
0 ~8 X8 K8 F G/ i- ~' C: z! g& X$ d
2 W! U5 ^- m h
该模型首先采用三类混合的编码器对query和context进行编码:
' e) K8 K2 L$ b: o6 z2 w0 {
* Q) T k& C. @! p$ h" n
(1)深层相同卷积核大小的CNN编码器;
0 H, s- F. C: P0 ^
' r0 q4 J8 S/ A" C' {
(2)不同卷积核大小的CNN编码器的并行编码;
5 b/ G, @1 E, z
2 [' ?) }% Z5 j& j4 r
(3)沿着时序方向的stacked BiLSTM编码;
0 @& r N8 y' x4 ^6 m) M
3 s6 M, o; ]0 y" L. p/ C, P
对于前两者,通过控制卷积核的大小可以更好的捕捉词法和句法特征,即符合相关性匹配的目的;而对于后者,其能表征更长距离的文本意义,满足语义匹配的目的。
' V0 ~5 U, ^$ j& K& i1 s! i
" @* [" A( j7 g1 C4 N: D
在这三类编码器的编码结果基础上,模型分别进行了相关性匹配和语义匹配操作。其中相关性匹配主要采用各phrase间内积+max pooling/mean pooling的方式获取相关性特征,并通过IDF指进行各phrase的权重调整。而在语义匹配中,模型采用了精心设计的co-attention机制,并最终通过BiLSTM层输出结果。
, S7 J: k* c0 }" M
. Q3 L: X2 T3 q# j
最后的预测层仍采用MPL+softmax进行预测。
: p+ }5 }) T8 R% o3 i( H( _
2 v; z! p! U$ w+ K
10. 小结
1 B6 P; }/ g: j: Y/ Q5 z
交互型语言匹配模型由于引入各种花式attention,其模型的精细度和复杂度普遍强于表示型语言模型。交互型语言匹配模型通过尽早让文本进行交互(可以发生在Embedding和/或Encoding之后)实现了词法、句法层面信息的匹配,因此其效果也普遍较表示型语言模型更好。
2 b) f0 G& K) a: B) }4 g5 e
6 h0 R/ ^& K) s5 S
【Reference】
4 o% g4 @6 Y( ]- P2 F
' m$ @: t. F& k! H L. U
ARC-II: Convolutional Neural Network Architectures for Matching Natural Language Sentences
$ l" q; ?3 Q4 U: f" R! ^, p
! U4 w$ p2 c8 K9 q9 }
PairCNN: Learning to Rank Short Text Pairs with Convolutional Deep Neural Networks
, {: D6 {7 D! Y
( V/ `( |# z7 h9 w: n1 z
MatchPyramid: Text Matching as Image Recognition
$ _: {) ^1 b& a8 T! m) c
5 e/ K& z. O O# P5 e9 i7 ]
DecAtt: A Decomposable Attention Model for Natural Language Inference
4 j' p3 G( s" f( y+ ^
/ t4 r( X0 [+ I0 y4 I- I
CompAgg: A Compare-Aggregate Model for Matching Text Sequences
, e& E. Y- q: Z5 W6 I% K
% _, c6 v5 f# P5 Y8 `. a; n
ABCNN: ABCNN: Attention-Based Convolutional Neural Network
( R: _. `+ Y* F9 }/ b; s* [
for Modeling Sentence Pairs
! i. o; } u! b( D* u, A6 E# |
. F3 W+ ~% ~; y) |
ESIM: Enhanced LSTM for Natural Language Inference
/ h, M3 K! ]4 G: E5 K3 |
8 D' |6 L3 U( r6 ~& v: z) `1 J* c
Bimpm: Bilateral Multi-Perspective Matching for Natural Language Sentences
: m$ G3 |* m- q* l4 G& l5 k
Z* z7 G9 B- H( y
HCAN: Bridging the Gap Between Relevance Matching and Semantic Matching
L9 s& w! N5 O* L6 k' n
for Short Text Similarity Modeling
# O! T" t' K8 T6 u" Q. v& H
7 A- ?6 O c1 ~5 s# L! w
文本匹配相关方向打卡点总结(数据,场景,论文,开源工具)
8 D i& @7 ] W
9 h: R9 J) F+ j0 i3 Q. J; g# N
谈谈文本匹配和多轮检索
# \+ O0 G8 m9 t0 c( a
o0 r/ I ?7 l. Q& b! d
贝壳找房【深度语义匹配模型 】原理篇一:表示型
* o2 P/ k1 |; X# ~) k4 c
————————————————
+ K- v) E3 o$ K# ~, S5 Y' K
版权声明:本文为CSDN博主「guofei_fly」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
/ i" ~: Q. U3 D
原文链接:https://blog.csdn.net/guofei_fly/article/details/107501276
8 y! V+ Y O b) K+ i& Q
2 j8 N8 L9 [- p* _2 }
9 u9 a6 E$ N: [, G' V
欢迎光临 数学建模社区-数学中国 (http://www.madio.net/)
Powered by Discuz! X2.5