数学建模社区-数学中国
标题:
【文本匹配】交互型模型
[打印本页]
作者:
杨利霞
时间:
2023-4-13 21:16
标题:
【文本匹配】交互型模型
【文本匹配】交互型模型
6 \* j6 H5 K( X5 I" ^/ Y
$ M) A0 R5 s" G" d; p! k
表示型的文本匹配模型存在两大问题:(1)对各文本抽取的仅仅是最后的语义向量,其中的信息损失难以衡量;(2)缺乏对文本pair间词法、句法信息的比较
1 o# b7 G4 K7 ]% f* m& t
: U. \8 ]/ ?0 l* u, `/ T* ^$ e
而交互型的文本匹配模型通过尽早在文本pair间进行信息交互,能够改善上述问题。
7 `. q" Y6 Z- G& @0 d$ Y; R$ g* _# P
K. w$ D0 s7 v# O. v
基于交互的匹配模型的基本结构包括:
" W: M1 x+ U4 D1 G t. m0 t, J" J
% J( \" x% Q! F) ?% x
(1)嵌入层,即文本细粒度的嵌入表示;
6 \, ]. i8 G1 C4 Y$ z! M
" z4 p5 w2 n( T" n* I4 t6 N8 j! p; C
(2)编码层,在嵌入表示的基础上进一步编码;
% p6 l( A- I f- a- x1 i
, o4 z6 u4 i2 u; T% L8 T
(3)匹配层:将文本对的编码层输出进行交互、对比,得到各文本强化后的向量表征,或者直接得到统一的向量表征;
( B: A: l# w u( _# d
2 q+ x! W) L. O3 D
(4)融合层:对匹配层输出向量进一步压缩、融合;
9 ]& j! ]; G5 ^( c% U/ s7 ]
6 y& k5 q2 ?' h2 X( K; M9 U0 e
(5)预测层:基于文本对融合后的向量进行文本关系的预测。
1 p! k3 \7 B+ I A/ |0 t
5 _8 \$ L! s6 e0 g
( \' T3 u' G0 v+ _( J
3 u" N8 e# T, l" I6 A
1. ARC-II
, }6 ]3 r, n( B
ARC-II模型是和表示型模型ARC-I模型在同一篇论文中提出的姊妹模型,采用pair-wise ranking loss的目标函数。
# J, ]0 x7 H9 Q3 h( ?
- w# A0 t$ p. a+ P7 e4 f* o8 X( w8 p
其核心结构为匹配层的设计:
; |1 ?: @1 V+ P# _6 a4 h' |; C/ h' j
5 m A( t/ f7 N% ?
(1)对文本pair的n-gram Embedding结果进行拼接,然后利用1-D CNN得到文本S_X中任一token i和文本S_Y中任一token j的交互张量元素M_{ij}。该操作既然考虑了n-gram滑动窗口对于local信息的捕捉,也通过拼接实现了文本pair间低层级的交互。
" n: n6 x9 @+ C* r
* k( R, m* m0 V! z A) r
(2)对交互张量进行堆叠的global max-pooling和2D-CNN操作,从而扩大感受野。
K# r! Z6 _# ]8 \
' O- k0 c- Q5 c0 J X# T
2. PairCNN
" Q1 h' ^& i x, L5 V2 o- s
PairCNN并没有选择在Embedding后直接进行query-doc间的交互,而是首先通过TextCNN的方式分别得到query和doc的向量表征,然后通过一个中间Matrix对query和doc向量进行交互得到pair的相似度向量,然后将query的向量表征、doc的向量表征、相似度向量以及其它的特征向量进行拼接,最后经过两层的MPL得到最后的二分类向量。
& w: y/ N$ y% _" P! i
# K+ u$ S7 ?- I# G, A
PairCNN的模型架构中的亮点在于各View向量的拼接,既能利用原始的语义向量,还能够很便捷的融入外部特征。
! V! k. `1 W0 s8 I
" @6 ^& C9 n2 O3 B- S
3. MatchPyramid
2 y v2 c2 ^$ }% Q# `
无论是ARC-II中的n-gram拼接+1D conv还是Pair-CNN中的中间Matrix虽然均通过运算最终达到了信息交互的作用,但其定义还不够显式和明确,MatchPyramid借鉴图像卷积网络的思想,更加显式的定义了细粒度交互的过程。
3 j; X9 D" Z8 c3 y# c
MatchPyramid通过两文本各token embedding间的直接交互构造出匹配矩阵,然后将其视为图片进行2D卷积和2D池化,最后Flatten接MLP计算得匹配分数。本文共提出了三种匹配矩阵的构造方式:
& k% I$ V& f2 l0 r# l
+ Q5 w3 Z' e' d1 j ?' @
(1)Indicator:0-1型,即一样的token取1,否则取0;这种做法无法涵盖同义多词的情况;
) H8 n, M% W6 M9 M. u: e
0 f% q7 |2 a: G; n: W ]& o
(2)Cosine:即词向量的夹角余弦;
! [9 d6 r7 M& h( z$ W4 _
3 g6 O" i1 f! h- C3 p6 o% i
(3)Dot Product:即词向量的内积
u2 B' P1 a5 M7 j8 u
. o7 M3 N/ n! R8 L6 s0 X, K
此外值得注意的是因为各个文本pair中句子长度的不一致,本文并没有采用padding到max-lenght的惯用做法,而是采用了更灵活的动态池化层,以保证MPL层参数个数的固定。
% F4 \8 G e6 _! I1 g' M
. |6 [( W" M5 n3 I* M; {
4. DecAtt
7 W& u& U9 ] K
DecAtt将注意力机制引入到交互型文本匹配模型中,从而得到各token信息交互后增强后的向量表征。
; I* D) B8 M& ]1 _7 w
8 d" C' V3 m3 i# t
模型被概括为如下层级模块:
. H& Q U" Z# ?8 p) M: F) }# I
$ A. Q0 A- ^- O9 ~! O) E
(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) H$ h. {' O+ u6 H
8 Q; b/ @6 d P
(2)Compare层:将前序Attend层计算得到的最终embedding,喂入一个全连接层进行向量维度的压缩。
: L1 \/ p7 T' A) M! C
3 _( ?- Y& _2 R" M/ i6 U @
(3)Aggregate层:将每个文本各token处压缩后的向量进行简单的求和,再拼接起来通过MPL得到最后的匹配得分。
1 @$ f) O+ ~. s8 a- o+ w; d2 `
5 [2 x" B0 B6 Q0 y2 G3 a
5. CompAgg
, V' Y6 w! Q$ y0 R
CompAgg详细对比了在文本间cross-attention得到的各token向量表征与原始token向量进行compare的各种方案。
, w9 o) w8 K( e! r+ ]5 f% \
0 A% t# f. j9 L
该模型的主要结构包括:
! N2 b$ Q. q0 ?$ x0 l3 z9 ~
, C& B: c7 ?0 f! O7 ^
(1)reprocessing层:采用类似于LSTM/GRU的神经网络得到token的深层表示(图中的\bar a_i);
) [( X- c& Q! `2 G; C
. h' M! S1 i% h0 H$ g
(2)Attention层:利用软注意力机制计算文本间的cross-attention(与DecAtt相同),从而得到各token处交互后的向量表示(图中的h_i);
; _! \. }5 D3 |7 N
" m# u$ g+ C+ x/ |# G
(3)Comparison层:通过各种网络结构或计算将\bar a_i和h_i计算求得各token的最终表征。
5 y/ C; T" z% _* i
7 l5 e! w; o+ N# V0 U8 Q9 O
(4)Aggregation层:利用CNN网络对Comparison层的输出进行计算,得到最后的匹配得分。
m1 x z& i3 T; r- R1 c
9 P1 Y3 g H8 z: {
其中Comparison层的构造方式包括:
) q) ]: E7 j! g4 c
' \; D% x" n' W: G7 J
(1)矩阵乘法,类似于Pair-CNN中的中间Matrix
% c0 v3 p& A$ u, ?! s1 f' V, }" W- W* v
$ N3 S: d( d- ?) o: r3 l3 S0 A4 }
(2)前向神经网络,即将\bar a_i和h_i进行拼接,然后利用输入FFN;
- D- q. X( R" S- [3 _9 w$ I6 Y
8 c. C" ?* k: r) P/ e8 ]
(3)分别计算cosine和欧式距离,然后拼接;
/ z, L0 ^, [# Z' M/ U
- @# I& ?- J' O" p* I4 z6 e
(4)各维度进行减法;
- l$ T: z5 H( M# \8 s4 T
3 Y0 ^1 P+ k0 R' a: t) J7 C! l
(5)各维度进行乘法;
; f7 h5 d5 B ^1 b
0 P+ D/ ~6 m I7 G! s1 I+ N1 L+ e
(6)各维度进行减法和乘法,然后再接一个前向网络。
/ q8 ~' f. y$ g4 J5 i1 t
& X) S# f) ]" z& b9 T' S
6. ABCNN
' ]! N7 o, Q# X% B) S" N7 x( }
ABCNN是将Attention机制作用于BCNN架构的文本匹配模型。
& u: N$ j. q- e L
3 }# ] X7 _0 y- T% d2 @
6.1 BCNN
) F+ T& M9 [7 j# }0 K
首先简单介绍下BCNN架构:
B9 a" N4 {0 X4 o$ _1 ]) r
3 g+ O; F1 U" T5 [# y! U" ]. w/ A
BCNN的整体结构比较简单:(1)输入层;(2)卷积层,因为采用了反卷积的形式,所以在size上会增加;
- J; f0 `. V* H5 p- ~( o
9 ?# k4 ~0 P8 a& X
(3)池化层,采用了两种池化模式,在模型开始阶段采用的是local平均池化,在最后句子向量的抽取时采用了global平均池化;(4)预测层,句子向量拼接后采用LR得到最后的匹配得分。
. U3 E" F. S2 Z1 Q
- j, s5 v* U' ?# s9 L' a- j
ABCNN共包括三种变形,下面依次介绍。
) I- q# \% O# `$ g8 F
A8 b7 }6 O& f0 B/ {9 @6 D$ d! Q
6.2 ABCNN
* f) \7 g6 F2 ~$ s0 M. @' I
% z7 S9 \' B: l9 O( Z; \; J7 B
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
' L ?+ H2 q( S+ S; k. E' h
ij
3 p1 d" @1 I2 P! m
1 c$ [, o2 [9 `+ _* B( m
=
1 y) F" b8 m; I% b- w
1+∣x
4 u# }) p3 R8 w( N5 f
i
. W5 I: N+ [: R5 l
; P1 ^4 P( j7 E$ Q
−y
% b$ Z8 Z: ~1 e3 o" s6 F0 Z* G$ I9 e
j
. {4 A/ v6 u5 y! M4 q% O: o' S
/ S/ L# b/ V/ M: J
∣
% _9 E7 F! I# {+ T# l
1
2 i d# a7 i. v; C" t
0 G. o5 [% I7 J) F- }4 b
,然后分别乘以可学习的权重矩阵 W 0 W_0 W
' U* G) G( ^; N% ~$ ]
0
$ X8 ~/ v5 E" }, o" a3 t, L8 m
& A, p4 E k) S) {
和 W 1 W_1 W
1 A8 I2 I3 ~6 ^/ e2 A
1
9 m6 {/ T& R9 K$ j% N! H" P! ]
, _) U' i" ^8 h2 e" e6 y; c
得到attetion feature map。
$ T" T9 F1 w$ S( |0 r* s h
4 u9 B2 \( Q, I) a4 P0 l/ ]
6.3 ABCNN-2
* V. V$ q7 G5 g A3 I& Z4 F
/ Q: R0 I E; }# n* l
ABCNN-2将Attention机制作用于word embedding层后的反卷积层的输出结果,其中注意力矩阵的计算原理与ABCNN-1一致。然后将注意力矩阵沿着row和col的方向分别求和,分别代表着各文本token的attention socre;接着将反卷积层的输出结果与attention socre进行加权平均池化,得到与输入层相同shape的特征图。
0 ~/ @/ }. N4 ?8 R+ H6 K+ c1 m& T
! K- R& N# n/ \$ {9 [7 n
6.4 ABCNN-3
, k5 ~, h0 d5 _- i9 a: g6 M/ e0 Y
# h- C# l* g) b" d1 H f
ABCNN-3的基本模块可视为ABCNN-1和ABCNN-2的堆叠,即在嵌入层和卷积层上面都引入了attention的机制用来增强对token向量的表示。
: W- A4 y8 O6 d
/ K6 J! O7 I6 w8 X! ^
7. ESIM
( {0 f) E& \* R
ESIM模型基于NLI任务给出了一种强有力的交互型匹配方法。其采用了BiLSTM和Tree-LSTM分别对文本序列和文本解析树进行编码,其亮点在于:
4 ]) C$ |3 y, W6 Q4 D
- u+ L/ w3 r: j8 W6 i8 q
(1)匹配层定义了cross-attention得到各token的向量表示与原token向量间的详细交互关系,即采用 [ a ˉ , a ^ , a ˉ − a ^ , a ˉ ∗ a ^ ] [\bar a, \hat a,\bar a-\hat a,\bar a* \hat a] [
: u& r9 G' `# D3 Y+ t: M
a
, ~8 n$ c9 z+ Y, i
ˉ
* J# U' k! v9 a3 W" k, Z
,
. G' K. j8 B9 P; |# L! u) H
a
. w# q, O2 u. U' h' M
^
" e _" l1 W! O1 C8 ?
,
! X) X5 A9 B; F5 Z
a
6 }% ^ {2 y5 }% _1 j4 i
ˉ
: N% ~* z B) Q9 Q5 R, t* w) b
−
2 A) G$ I; u) {. B( Y
a
, y3 I9 z8 e" _: B, r: k
^
4 Z" B* r6 c: |. A) x- U
,
; y8 R- b5 \: _+ Q, R, Y
a
( G2 o; Z: z& G* G
ˉ
+ G; G. L7 K. a
∗
8 K# J# v; g$ e8 Q: \, r& E! {
a
2 Y) L' r# {0 C% g/ @, z, h
^
' X) {5 U% x/ @
]作为最终文本token的向量表示,这也成为后续文本匹配模型的惯用做法。
; v& L4 w7 M8 s
2 S, R# d( J5 z' [
(2)聚合层通过BiLSTM得到各文本token的编码,从而进一步增强了文本序列的信息传递;
1 w% {" O4 ~* z: s
- R/ N' ]2 r* F1 V
(3)预测层通过拼接各文本token编码的max-pooling和mean-pooling结果,再经过MPL进行匹配预测。
# e2 Y6 d5 F% Y# a/ \
8 A$ r1 F& O3 W! {
+ f* p4 \4 j/ M. b$ S% I
! n( C' ~+ x! F' E& ^' f* T6 X
8. Bimpm
' [7 j* @9 @; N% Q# i" i) J5 \
Bimpm可视为对之前各类交互型文本匹配模型的一次总结。
- |8 d5 Y2 d t h" \" C0 l& [
: C0 x4 A$ W4 z' c5 n: x7 q
该模型在各层的具体做法总结如下:
5 |$ d5 a5 ^8 f0 S- W
, |$ A" H# K# D' Q! E: }+ J
(1)编码层采用BiLSTM得到每个token隐层的向量表示;
# s, L7 R$ P0 S5 a
$ X) G. @; S, _
(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
( H% @+ @! s9 j$ _" E
k
' e* \$ h% H. }* L
: G$ [8 w# U* U* N4 R" U
=cosine(W
9 K5 ^4 _7 r3 w. c( z. H
k
; T( F; @6 x1 u4 w8 ]3 ]
( p9 F: h# F, ~2 l: K' l& R
∗v
8 J7 l# F+ O, O" i" I/ e2 A; u/ [
1
9 }$ S g p/ u+ y+ N7 U
. Y- ~7 s4 l/ J3 q' V
,W
; W7 S( X- B: D" j
k
. K* Q5 _, p2 }' g8 D2 A7 V0 j3 {6 ~' @
; V' A @. B1 F
∗v
# l* p; _1 Y: }. a! y
2
. \' u/ W- m' T( j
* o3 Q1 \+ ` C. F
)的方式可以得到两个文本的任意token pair之间在第k个view下的匹配关系,至于 v 1 v_1 v
) ~8 U. }3 E2 o1 g
1
" }5 `! o% X. `& h) o) x
6 @ |2 L' z2 K
和 v 2 v_2 v
! B% d5 B, i+ B- z$ W, f5 ~
2
8 d" y. l4 N! H2 C: N1 p! ?/ ~
) k# h ~8 O8 \
如何取,文章提供了4种策略:
6 J9 I9 \9 `: z9 n( v/ @
0 r. L( f* x" {; Z: j N
策略一:其中一个句子取各token隐层的向量表示,另一个句子采用隐层最后时间步处的输出;
/ l2 o; _- c, g) f4 W
策略二:其中一个句子取各token隐层的向量表示,另一个句子采用隐层各时间步输出与之匹配后取再取Max-Pooling值;
# b# ^- Q2 w0 G! Q( R, g/ H& k
策略三:其中一个句子取各token隐层的向量表示,另一个句子采用cross-attentive后得到的加权句子向量;
6 ]/ d; `0 D) J, y" G, i5 F
策略四:其中一个句子取各token隐层的向量表示,另一个句子采用cross-attentive后attention score最高处token的向量作为句子向量。
2 G) T- s8 \3 f' C" @ P
这四种策略的区别在于对句子向量的计算不同。
; z: i5 A2 y4 U, e$ _
* M/ x# M3 H& T/ q
* m! |3 z5 b( I. l* B
(3)聚合层,首先对上面各种策略得到的输出层再通过一层BiLSTM层,然后将各策略下最后时间步的输出进行拼接,得到最后的聚合向量;
7 }- P5 h9 Z6 Q N- d
1 C; v: ~1 g: x, X& S9 T& g! ?: ]% Y
(4)预测层:两层MPL+softmax
7 w' H, x. A: X' u/ P" ?9 X
6 F$ f4 g+ z5 r1 t
9. HCAN
6 c, ~" m& n z, Q0 x/ I+ q
HCAN是除Bert类模型外在文本匹配领域表现最为优异的深度模型之一,其采用了较为复杂的模型结构。
3 x1 y0 `6 |2 r
) ^. t, d3 ?' f9 y. J7 K! x- ]1 ~
针对于信息抽取问题,文章首先分析了相关性匹配和语义匹配的差异:
& N' n0 P$ G) v4 }2 f( U/ l
: ]% Z. e+ i( M0 E
(1)相关性匹配主要关注于关键词的对比,因此更关注低层级词法、语法结构层面的匹配性;
) j. `; B! b; d5 e( Z( w
8 F, t; u3 Z' C! l
(2)语义匹配代表着文本的平均意义,因此其关注更高、更丑想的语义层面的匹配性。
7 ^" A& d7 x8 M
9 e. J! L) r" ~" L
该模型首先采用三类混合的编码器对query和context进行编码:
4 O p/ ]& ]/ L8 I: Z u5 {# ]
) T8 j1 l$ V) i' } M
(1)深层相同卷积核大小的CNN编码器;
5 B+ d9 k$ e- w- y# e+ r4 F# I
7 v7 T- z- L! E) `& [
(2)不同卷积核大小的CNN编码器的并行编码;
I1 @/ z- Y$ s; A5 m1 Q
( O! \1 r& S( G- {# l
(3)沿着时序方向的stacked BiLSTM编码;
3 @3 `. Q0 `: u& T$ g3 m u
( l' K4 j$ ~4 l5 H- n8 I+ }- p# M3 K
对于前两者,通过控制卷积核的大小可以更好的捕捉词法和句法特征,即符合相关性匹配的目的;而对于后者,其能表征更长距离的文本意义,满足语义匹配的目的。
# a, @& M9 w4 m0 E7 e
& Y$ @# I- e( q* K9 A' p0 S
在这三类编码器的编码结果基础上,模型分别进行了相关性匹配和语义匹配操作。其中相关性匹配主要采用各phrase间内积+max pooling/mean pooling的方式获取相关性特征,并通过IDF指进行各phrase的权重调整。而在语义匹配中,模型采用了精心设计的co-attention机制,并最终通过BiLSTM层输出结果。
7 z9 I& v$ v3 H2 c
: q3 t2 n5 X4 ~4 X/ W" {: Y2 g/ t& }
最后的预测层仍采用MPL+softmax进行预测。
% y# y) p0 c' r( N; w* {
{% y( T5 }2 i4 ~) h
10. 小结
7 j& l, L8 x2 C" w
交互型语言匹配模型由于引入各种花式attention,其模型的精细度和复杂度普遍强于表示型语言模型。交互型语言匹配模型通过尽早让文本进行交互(可以发生在Embedding和/或Encoding之后)实现了词法、句法层面信息的匹配,因此其效果也普遍较表示型语言模型更好。
) X& M3 T: I6 X( H: }
; u5 a$ l& @( I* T/ a4 J* {
【Reference】
0 N( x8 G$ h6 |; e8 h' E, ?6 |
& V$ Y8 x- x# r2 t" F ?
ARC-II: Convolutional Neural Network Architectures for Matching Natural Language Sentences
& @; C5 J$ x9 q! O0 o$ W
+ h. g2 F4 u9 i! M2 }4 z4 v" D$ @
PairCNN: Learning to Rank Short Text Pairs with Convolutional Deep Neural Networks
5 B c+ `- R( j
5 A0 i3 e: R I# ]
MatchPyramid: Text Matching as Image Recognition
7 n6 m, W5 I5 \
- B; C! a* ?+ D5 \, z z
DecAtt: A Decomposable Attention Model for Natural Language Inference
" i+ p2 O& d" g1 q' e
+ x4 p6 y% B7 D6 g4 [, c9 H7 r
CompAgg: A Compare-Aggregate Model for Matching Text Sequences
( h2 U. c2 `7 h- i
1 N' l! K% U0 o2 }4 k
ABCNN: ABCNN: Attention-Based Convolutional Neural Network
% Z0 R$ {, U5 _6 i7 [- t ]
for Modeling Sentence Pairs
9 G# \1 ]: r7 ?, T3 M7 S& u
/ u6 T2 b; M$ T! |$ |
ESIM: Enhanced LSTM for Natural Language Inference
h- Q7 B7 `. P# K/ d: @- \
4 m4 a4 g4 ?6 C0 Q6 W4 _; X6 U" X3 A7 K
Bimpm: Bilateral Multi-Perspective Matching for Natural Language Sentences
/ R" F5 R; K/ {; t* _
- k4 s P* |! k5 L! K
HCAN: Bridging the Gap Between Relevance Matching and Semantic Matching
. o5 w6 W2 w, F U* e
for Short Text Similarity Modeling
( _( g4 O8 Q( j' A. m
( F/ O' ~6 z( K# V. r
文本匹配相关方向打卡点总结(数据,场景,论文,开源工具)
7 c. F. W j% K6 ~/ Z7 ]+ x, V( e
+ g9 ^" v( C, Q; W# [+ H5 {
谈谈文本匹配和多轮检索
- _. V" k# Z' r
: n9 u! P1 E5 b6 o
贝壳找房【深度语义匹配模型 】原理篇一:表示型
/ n+ v/ Y; K8 ]2 k! k) {
————————————————
) r! y, x/ V- k0 E" p4 c/ Z
版权声明:本文为CSDN博主「guofei_fly」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
3 `3 ^5 z1 Z, F9 G* l4 z
原文链接:https://blog.csdn.net/guofei_fly/article/details/107501276
0 _; u, O/ j4 M4 m3 R
4 i& O' m* g4 N s* u
% D4 P) [% w. [# L
欢迎光临 数学建模社区-数学中国 (http://www.madio.net/)
Powered by Discuz! X2.5