数学建模社区-数学中国

标题: 【文本匹配】交互型模型 [打印本页]

作者: 杨利霞    时间: 2023-4-13 21:16
标题: 【文本匹配】交互型模型
【文本匹配】交互型模型1 G5 w9 f/ o2 f7 i+ I8 D2 G& P

! w4 x' q! A. \% W表示型的文本匹配模型存在两大问题:(1)对各文本抽取的仅仅是最后的语义向量,其中的信息损失难以衡量;(2)缺乏对文本pair间词法、句法信息的比较
- f$ L1 s' V' y- Y, f/ o5 V5 I# d0 m5 `' X2 r8 h
而交互型的文本匹配模型通过尽早在文本pair间进行信息交互,能够改善上述问题。
7 X( H7 B% [0 n( i# U( B1 L
1 a% U$ b2 `) ?基于交互的匹配模型的基本结构包括:
6 u6 ~/ f9 S8 c/ ?$ P1 e5 p4 d
(1)嵌入层,即文本细粒度的嵌入表示;
8 y( m7 i% B2 r! Q- Y8 R
* s" V2 Z" w1 i  y1 {(2)编码层,在嵌入表示的基础上进一步编码;
+ t- D6 o8 c. t$ C( K- e
9 ^& ^0 H9 e6 Z(3)匹配层:将文本对的编码层输出进行交互、对比,得到各文本强化后的向量表征,或者直接得到统一的向量表征;
, q2 L; _' i8 O
2 t9 N! k( j& m: S1 ~(4)融合层:对匹配层输出向量进一步压缩、融合;5 a6 e2 Z5 G' I. d$ g

9 t7 x! D8 R8 p) \; y6 n( O(5)预测层:基于文本对融合后的向量进行文本关系的预测。
, I) l" S! @* z; Y6 J5 e" K9 Q- N2 [9 W& f* t2 [
5 U9 z4 j. `5 ?% k

1 @: J9 A- h# ?7 r$ x1. ARC-II1 d9 q$ U: \6 l4 `& E' F
ARC-II模型是和表示型模型ARC-I模型在同一篇论文中提出的姊妹模型,采用pair-wise ranking loss的目标函数。& L) t0 [% T# U: Z6 W9 E- _5 h

0 ~+ V+ ]" N$ R3 X9 i其核心结构为匹配层的设计:
5 c! N8 [! y2 g9 y- I1 B
) m4 ^# w3 W3 i4 E6 {5 _: H7 S6 Z6 B$ P(1)对文本pair的n-gram Embedding结果进行拼接,然后利用1-D CNN得到文本S_X中任一token i和文本S_Y中任一token j的交互张量元素M_{ij}。该操作既然考虑了n-gram滑动窗口对于local信息的捕捉,也通过拼接实现了文本pair间低层级的交互。
6 u- _! a$ c5 O( w6 w. ~6 k# k5 E1 q
5 n& Z( Z8 K! y8 w+ M; _/ p(2)对交互张量进行堆叠的global max-pooling和2D-CNN操作,从而扩大感受野。
9 q. ?! m7 d5 r" D) ^& Y- G. Z1 B6 E
2. PairCNN4 \" \) q- }& r$ w' `3 @; H
PairCNN并没有选择在Embedding后直接进行query-doc间的交互,而是首先通过TextCNN的方式分别得到query和doc的向量表征,然后通过一个中间Matrix对query和doc向量进行交互得到pair的相似度向量,然后将query的向量表征、doc的向量表征、相似度向量以及其它的特征向量进行拼接,最后经过两层的MPL得到最后的二分类向量。( q; H7 T; P& i
+ m, J5 C7 U: x' j, j$ B+ r, ^  j
PairCNN的模型架构中的亮点在于各View向量的拼接,既能利用原始的语义向量,还能够很便捷的融入外部特征。
! c1 j" }" S/ M, x& }
3 m* v- h9 ~; U' t0 U4 X3. MatchPyramid$ y1 Q3 {1 h; d) D' V2 }8 G. S2 k
无论是ARC-II中的n-gram拼接+1D conv还是Pair-CNN中的中间Matrix虽然均通过运算最终达到了信息交互的作用,但其定义还不够显式和明确,MatchPyramid借鉴图像卷积网络的思想,更加显式的定义了细粒度交互的过程。" p( M/ C6 h  X# p5 i! c+ T/ X
MatchPyramid通过两文本各token embedding间的直接交互构造出匹配矩阵,然后将其视为图片进行2D卷积和2D池化,最后Flatten接MLP计算得匹配分数。本文共提出了三种匹配矩阵的构造方式:
& P: K1 S: V. F7 z8 z) i! P" }' ]: y+ N
(1)Indicator:0-1型,即一样的token取1,否则取0;这种做法无法涵盖同义多词的情况;  P* D% M' u( f5 \4 x0 u/ @, a

% M- k3 R  t7 @' `3 W9 H  U(2)Cosine:即词向量的夹角余弦;7 N  @6 S. D/ Y% `! n, j
9 q: ?- a2 o- J; P
(3)Dot Product:即词向量的内积
) p. C  u( k+ k& q7 a6 i- e* B
% }2 t; C' |, w$ z5 l) M此外值得注意的是因为各个文本pair中句子长度的不一致,本文并没有采用padding到max-lenght的惯用做法,而是采用了更灵活的动态池化层,以保证MPL层参数个数的固定。* I1 t2 w& R$ r# M; ]1 b# e) f

# M+ ^% N5 y3 E% k/ t4. DecAtt% e5 r5 h" {. I: e3 i7 N) o
DecAtt将注意力机制引入到交互型文本匹配模型中,从而得到各token信息交互后增强后的向量表征。& f* ?- t1 P1 [
9 y+ y; E8 y- z( X, b
模型被概括为如下层级模块:# q8 m$ m) Q3 H# u9 v7 L

5 u; |( r# l7 g# n- E. q) u# k(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。
- |) t1 U- U6 D" \6 u: k- @
/ i. d4 k3 U* ]* s" x) u# P(2)Compare层:将前序Attend层计算得到的最终embedding,喂入一个全连接层进行向量维度的压缩。
; R! \2 D3 w  l  _# w$ D( N
* k9 q' A0 a& t  R  M' j0 \7 d6 d* b(3)Aggregate层:将每个文本各token处压缩后的向量进行简单的求和,再拼接起来通过MPL得到最后的匹配得分。
# S5 v- n4 r  j# j4 C! [$ a4 D* |! \( _
5. CompAgg
! @) D6 W+ g. V) KCompAgg详细对比了在文本间cross-attention得到的各token向量表征与原始token向量进行compare的各种方案。' Q  M7 w/ d* U

2 y% g7 u' N5 D. y% m8 ^该模型的主要结构包括:
1 l5 g) p; M: G* Q5 H: v" B
% P6 k0 t( c, _1 f) b' U: Z. I( G$ |# _(1)reprocessing层:采用类似于LSTM/GRU的神经网络得到token的深层表示(图中的\bar a_i);
0 Q1 e: ?& K: q1 }- M: U5 U/ Z7 B; ]3 l* W6 b6 Y' U
(2)Attention层:利用软注意力机制计算文本间的cross-attention(与DecAtt相同),从而得到各token处交互后的向量表示(图中的h_i);# e! e( P* c& D9 V! m" {, y
! R& K) _7 K0 W% Q1 q' t8 @! y2 J+ Y
(3)Comparison层:通过各种网络结构或计算将\bar a_i和h_i计算求得各token的最终表征。
' b8 I! ^0 a1 C6 E  Q( V  N' _. Y- a
(4)Aggregation层:利用CNN网络对Comparison层的输出进行计算,得到最后的匹配得分。) w; |$ }" r2 f% W. @# @
' i3 n! D4 F4 }/ F/ Z& |0 e* F) Z
其中Comparison层的构造方式包括:$ X( w! A% L$ N6 o, b

9 Y4 h; K2 e6 S9 ]0 L0 i(1)矩阵乘法,类似于Pair-CNN中的中间Matrix
; ]! r& t4 H1 N/ R  |9 H& |# w1 G# ~" M4 {4 X, l% w& o- n
(2)前向神经网络,即将\bar a_i和h_i进行拼接,然后利用输入FFN;/ v& K- q1 @5 S+ L) N

+ e1 E# c* B9 q+ T- @(3)分别计算cosine和欧式距离,然后拼接;- H8 Q: x% Y% j
; ?8 |; w9 r( A6 @* a
(4)各维度进行减法;* \* Q3 E5 d0 x9 V0 w

7 G6 y# k2 {: v8 F' Y(5)各维度进行乘法;
6 s0 d# @) Z2 \: Z4 u& n7 g
1 J: q! ^9 F9 S(6)各维度进行减法和乘法,然后再接一个前向网络。
+ S  r) B. ?& e* k! a1 e- J2 D! P
& `* p6 A9 V& v6 |" I5 L6. ABCNN. }2 {( K1 V7 R! Y+ t3 y3 i
ABCNN是将Attention机制作用于BCNN架构的文本匹配模型。
6 }& s3 r: B( v' Y3 c
& p" n: C- [8 C. {. K, T" N* G  v6.1 BCNN
) {8 D! J' _0 n& @首先简单介绍下BCNN架构:  W9 d  M# P$ y  ?+ N

# i# n  P* J" X+ C, ?BCNN的整体结构比较简单:(1)输入层;(2)卷积层,因为采用了反卷积的形式,所以在size上会增加;- c/ K% y# O9 a0 c
6 j" }5 I4 \% e! v. l) _
(3)池化层,采用了两种池化模式,在模型开始阶段采用的是local平均池化,在最后句子向量的抽取时采用了global平均池化;(4)预测层,句子向量拼接后采用LR得到最后的匹配得分。, D5 p) M4 @8 [8 z+ ]

% u5 W2 i0 t  j9 Q2 v5 fABCNN共包括三种变形,下面依次介绍。
- i2 K% L. l8 q6 ^+ k. N& n' @' z7 D$ g0 [# }- m
6.2 ABCNN
1 p' k% Z! B) t0 ]$ G1 C% @! B  z
, m( b9 t: B7 x# F& l. E4 KABCNN-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 0 ~0 \( W$ {% _+ a( u2 r* p2 K
ij
$ ^' G5 J: T# J( u/ _. R1 ]​        2 _0 V2 ]+ e6 V+ d
= 1 z# g! \5 L2 N/ T/ G
1+∣x ( x% h1 e6 U# j/ i
i8 z  c/ R# {6 Q& w8 a+ C* k
​       
" l! T" P% i1 r −y 8 V' [- G/ X; f, H  x; j
j
6 I( [3 k/ J, O4 N​        ( u% v) L5 ^5 ~/ q' N/ z5 A4 h
0 o+ E, S. P2 W3 w
1
/ Y7 g" T* B' |1 g) U$ H​        : ^$ v1 K9 j, v$ _/ j
,然后分别乘以可学习的权重矩阵 W 0 W_0 W
1 E. t2 h/ I) C0 r; |* v0( b8 y2 a/ J2 c. h! L& @0 }. x8 `* n
​       
1 g, C! e3 f. } 和 W 1 W_1 W
2 U9 p" N3 B8 ?/ L5 I1+ v* Y$ W# a& Y1 H
​        1 R$ D  ~4 \6 Y$ ~
得到attetion feature map。
4 a+ b) O0 V, d, C" w  ~( o% K
6.3 ABCNN-2, K4 O6 ^: c2 I2 v

) C% k, h9 p9 @! w) XABCNN-2将Attention机制作用于word embedding层后的反卷积层的输出结果,其中注意力矩阵的计算原理与ABCNN-1一致。然后将注意力矩阵沿着row和col的方向分别求和,分别代表着各文本token的attention socre;接着将反卷积层的输出结果与attention socre进行加权平均池化,得到与输入层相同shape的特征图。; j: K* `' ?. \( a0 I# ~
. Y( ^2 T6 D8 o( Y6 B6 K: I$ n8 W
6.4 ABCNN-3! U- g. k1 D8 m7 o7 O% ^' U

- @5 t2 h% }! |ABCNN-3的基本模块可视为ABCNN-1和ABCNN-2的堆叠,即在嵌入层和卷积层上面都引入了attention的机制用来增强对token向量的表示。
) Q9 F+ Q" e8 k8 T8 S# F
0 ]( h) |1 O- C( O/ H4 q( m5 y! v! ^8 @7. ESIM
! j# o& K7 O3 NESIM模型基于NLI任务给出了一种强有力的交互型匹配方法。其采用了BiLSTM和Tree-LSTM分别对文本序列和文本解析树进行编码,其亮点在于:* I* j' {! X- D# `
1 P2 w* c# K$ F. P) M
(1)匹配层定义了cross-attention得到各token的向量表示与原token向量间的详细交互关系,即采用 [ a ˉ , a ^ , a ˉ − a ^ , a ˉ ∗ a ^ ] [\bar a, \hat a,\bar a-\hat a,\bar a* \hat a] [ ) w" e1 y6 J! [4 h, t0 w
a
4 {% F% k# o% a) P' U; z1 T5 dˉ# w( K) b2 R* t) j
, , \" {5 p# v6 h* ~, k3 x
a
3 G! H# k/ B3 t  n8 j  f+ m* M1 h^
4 g; b. B. e4 F ,
" _" t$ L) b) xa9 p: }+ W% i5 z6 f! s
ˉ/ |( a) p& m) U5 f; F' e" ^

. b3 B: K/ g' X! w  L* }8 ka
/ S0 C% |9 y$ z* h4 O" o+ C6 J^
: W) e( d6 f/ E3 k" p ,
8 ?, a$ \( g! t0 h9 u( E: da! a1 C3 B9 m" w  v. j( }
ˉ
& d" M; D% e" a& D9 v5 ~( Y% l! |/ {; ^8 w4 o8 h: W8 y
a
. L9 n, j7 v4 ?$ U( D, |^1 R2 h8 P, T) N5 f# s$ q# T* O
]作为最终文本token的向量表示,这也成为后续文本匹配模型的惯用做法。
' ^3 l* u$ B3 l! W9 Z- U6 g# B7 Y" q0 ]( [/ L+ _0 Q
(2)聚合层通过BiLSTM得到各文本token的编码,从而进一步增强了文本序列的信息传递;
1 j# Y" _" O& }3 P: n% X- K
0 a6 |# _& [. o* v( ~* y(3)预测层通过拼接各文本token编码的max-pooling和mean-pooling结果,再经过MPL进行匹配预测。
5 Z+ Z! m& I3 a( e, j
/ W; p, O  w* q# X7 A, i5 c. C: }% \

. R2 H# t4 t+ E8 J) Z8 z) `; d8. Bimpm- s8 z* G: y& ]+ V$ y8 p: V
Bimpm可视为对之前各类交互型文本匹配模型的一次总结。; a7 w+ r7 L& W/ g: G9 @

- l0 k! l' w4 `该模型在各层的具体做法总结如下:
  |; u. p( o- d6 J+ x5 X6 f" |* u" Q4 H! j" M; v- R
(1)编码层采用BiLSTM得到每个token隐层的向量表示;& M( X+ y* w) l- k

9 J4 ^( q0 S/ b& [6 t(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 # Q9 r/ `5 v6 [
k1 K* k5 }- J- Q- j$ y4 r
​       
  W+ N8 E3 u$ U. X9 b7 n =cosine(W . [/ ]# F2 B( N6 l# u' k2 M
k
( L& Y. ]2 a# W​       
- Y. C. U7 d8 r; {1 P& o  s# j" v ∗v
4 ?1 t$ O8 l6 |7 l10 ?  |# G/ ]+ g" M
​        8 c- P% J* A, h4 S
,W
* l  T$ e2 q; [1 Y6 f+ T- u9 Hk) L) [( w! f0 \; A  ^
​        # |. @8 ^1 A* n, y- O1 Z
∗v : P( g4 H4 A* s/ f; Z" l" Y0 |
2+ W( l. L; N: {6 i9 k
​        * B, g0 z8 b- h/ }8 r( I! E
)的方式可以得到两个文本的任意token pair之间在第k个view下的匹配关系,至于 v 1 v_1 v   P$ O6 r; A2 P  P  @
1  o) ^  h, C% ~# c
​       
- G( ?' Y: O2 S& Q 和 v 2 v_2 v
7 e0 q2 i; @7 m. `, y/ U2, j- i6 D% w; y" R5 J
​       
* E# i& X* W1 _ 如何取,文章提供了4种策略:* T! q& `* i, H
0 n) a) W% o* w
策略一:其中一个句子取各token隐层的向量表示,另一个句子采用隐层最后时间步处的输出;' o0 i" O1 B9 L+ g
策略二:其中一个句子取各token隐层的向量表示,另一个句子采用隐层各时间步输出与之匹配后取再取Max-Pooling值;. B6 f4 o, J1 U. N, ^5 M1 l
策略三:其中一个句子取各token隐层的向量表示,另一个句子采用cross-attentive后得到的加权句子向量;. {. z8 n" a& M9 A% h( l0 }
策略四:其中一个句子取各token隐层的向量表示,另一个句子采用cross-attentive后attention score最高处token的向量作为句子向量。5 y' i0 x/ G% q- [/ H5 {& f9 `
这四种策略的区别在于对句子向量的计算不同。* u% _, f7 H! E& ^2 g+ U# s
" M  i/ i( N+ c) F! M& v% U" F, G

$ T! V3 T  E, b+ p5 m(3)聚合层,首先对上面各种策略得到的输出层再通过一层BiLSTM层,然后将各策略下最后时间步的输出进行拼接,得到最后的聚合向量;+ r  `7 H. W; X2 W6 E  T
8 A9 H# s3 a4 ]" H
(4)预测层:两层MPL+softmax* @; s- U7 V1 f7 D5 J& @
( I5 r- }1 U% P7 _' J3 S
9. HCAN
: t" P) s# i% w# ~HCAN是除Bert类模型外在文本匹配领域表现最为优异的深度模型之一,其采用了较为复杂的模型结构。
4 W$ H! Z; ^( J5 ]% d. Q& j2 z6 M9 |( Q7 m: b; ]
针对于信息抽取问题,文章首先分析了相关性匹配和语义匹配的差异:
& z4 c. ?$ \1 J  T, S% G/ \
# n, P4 L: M9 g$ p  P, R(1)相关性匹配主要关注于关键词的对比,因此更关注低层级词法、语法结构层面的匹配性;
, i$ F& ^  V, l: o2 i# b6 o4 i- k  J& [+ c! A
(2)语义匹配代表着文本的平均意义,因此其关注更高、更丑想的语义层面的匹配性。
% d1 }! S- q4 V" j( l6 R6 ?9 s: k3 n; X. p& ]  m
该模型首先采用三类混合的编码器对query和context进行编码:
) g/ p! Q! j/ C: H4 {
1 \8 R' t: v. m(1)深层相同卷积核大小的CNN编码器;
  C' e2 y$ l8 v2 K1 A4 t" E; U
% V: ^) I5 W0 u7 T(2)不同卷积核大小的CNN编码器的并行编码;
6 o3 M' r, _0 I# p- \8 v  Z, e6 G3 ?
9 p5 x! r' C8 M. H9 [3 {% m. s(3)沿着时序方向的stacked BiLSTM编码;
4 K0 o+ z0 t3 V2 H9 j  T" x2 F6 D& g: F& v1 j/ H' t# {
对于前两者,通过控制卷积核的大小可以更好的捕捉词法和句法特征,即符合相关性匹配的目的;而对于后者,其能表征更长距离的文本意义,满足语义匹配的目的。/ b4 P8 b! F  y7 l
% _+ W: F7 `0 `& H
在这三类编码器的编码结果基础上,模型分别进行了相关性匹配和语义匹配操作。其中相关性匹配主要采用各phrase间内积+max pooling/mean pooling的方式获取相关性特征,并通过IDF指进行各phrase的权重调整。而在语义匹配中,模型采用了精心设计的co-attention机制,并最终通过BiLSTM层输出结果。
: Q; A# W& a, C1 c2 i$ ?  H. Z5 J# S1 y2 e! e
最后的预测层仍采用MPL+softmax进行预测。* n0 H  K7 p8 u. ?
. O1 @& F: g1 a# H8 `5 U
10. 小结4 C1 a5 V  l# g( `
交互型语言匹配模型由于引入各种花式attention,其模型的精细度和复杂度普遍强于表示型语言模型。交互型语言匹配模型通过尽早让文本进行交互(可以发生在Embedding和/或Encoding之后)实现了词法、句法层面信息的匹配,因此其效果也普遍较表示型语言模型更好。! i3 \  `" u0 G  r0 B& h
% n5 s+ Y1 a4 g; q1 C9 q, t5 Y
【Reference】
) b# Z5 U; a! N
" B9 ^8 R4 |! _2 qARC-II: Convolutional Neural Network Architectures for Matching Natural Language Sentences
7 ?: h! B" A3 R0 `1 t& e
, {6 S# U  }7 d# UPairCNN: Learning to Rank Short Text Pairs with Convolutional Deep Neural Networks2 B, |6 N( s* l9 c3 V
3 f8 o# s: K" E9 ^0 B4 Q5 S; w
MatchPyramid: Text Matching as Image Recognition
* t0 ~1 F9 n! f9 A4 d) P! z8 n
2 z- E& m/ Y6 y3 A  XDecAtt: A Decomposable Attention Model for Natural Language Inference5 _% k7 |0 n8 m% e! H3 H
# [9 K' i2 z0 b) S+ Y
CompAgg: A Compare-Aggregate Model for Matching Text Sequences
" z4 @" t6 X# _8 E% d4 Y
, V& X5 p8 O0 W/ m% tABCNN: ABCNN: Attention-Based Convolutional Neural Network
% p- u+ T7 G  B- L' ]4 E/ Kfor Modeling Sentence Pairs
- |! p, x" O! {" c2 m
( ?3 c6 s+ x6 R* R9 M# g* NESIM: Enhanced LSTM for Natural Language Inference
8 g* e; C, @5 }$ U# A$ J6 ^- c0 Z. I; y6 |6 Z6 L1 ]1 V$ C" q
Bimpm: Bilateral Multi-Perspective Matching for Natural Language Sentences
, U- L2 v- P4 B. O5 j' y
. `/ D" m! X; }  CHCAN: Bridging the Gap Between Relevance Matching and Semantic Matching  {7 ?7 S& r# r' W3 ?
for Short Text Similarity Modeling, S, q9 h" K/ h$ h. |7 |# e

# @$ u, m  K8 ?文本匹配相关方向打卡点总结(数据,场景,论文,开源工具)2 V$ t9 |! G3 c" W( `3 S

2 u( v' Y0 x( ?' L谈谈文本匹配和多轮检索
  _9 I* r4 C6 U' R6 N0 j+ O) p0 i7 u2 V
贝壳找房【深度语义匹配模型 】原理篇一:表示型/ E! m/ I& A1 ~! y
————————————————
5 ^; m1 W! C4 f9 W& ^5 p9 l6 f9 A/ v版权声明:本文为CSDN博主「guofei_fly」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
# v) J: ^7 Z6 J8 U  F) O  l原文链接:https://blog.csdn.net/guofei_fly/article/details/107501276
  O# h4 X6 @% G7 P; O' l" a) J7 d
, W$ O. E9 @" @# @% U  \; z/ A# M. D# I





欢迎光临 数学建模社区-数学中国 (http://www.madio.net/) Powered by Discuz! X2.5