数学建模社区-数学中国

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

作者: 杨利霞    时间: 2023-4-13 21:16
标题: 【文本匹配】交互型模型
【文本匹配】交互型模型
# h: h. m( f9 J0 a% C  w) v. Y* j3 W5 Q  G/ ^, {% T
表示型的文本匹配模型存在两大问题:(1)对各文本抽取的仅仅是最后的语义向量,其中的信息损失难以衡量;(2)缺乏对文本pair间词法、句法信息的比较; a$ K% _, E4 m5 z6 A, m
! e  ^7 M9 H1 S' x* b
而交互型的文本匹配模型通过尽早在文本pair间进行信息交互,能够改善上述问题。  K. `: a" Q8 h$ T1 ^) |- v/ C

- w# w0 _$ E' \) x基于交互的匹配模型的基本结构包括:
) c: @8 P' _+ L4 v& n
9 ^1 K0 T; M+ S; @(1)嵌入层,即文本细粒度的嵌入表示;
' i* T9 o; V1 g- R  X+ C/ E& [/ w+ X3 {* p; H
(2)编码层,在嵌入表示的基础上进一步编码;
7 W3 d3 h2 H1 R  r2 _3 q4 \
; u" P% ?& r5 Q( @* C: ](3)匹配层:将文本对的编码层输出进行交互、对比,得到各文本强化后的向量表征,或者直接得到统一的向量表征;
/ }8 C- y2 y: K! F2 v9 |
. I) G: w( H2 Q" R(4)融合层:对匹配层输出向量进一步压缩、融合;( y! M1 m+ r5 o& u

" u4 ]6 c' r; N6 H0 d(5)预测层:基于文本对融合后的向量进行文本关系的预测。
; M6 Z: W; W7 E4 ]" J
3 L0 B6 q, U# m8 m' h+ R% [# Q6 v1 ^& |2 A! L6 Y, q' z

# ~$ T& d- B$ b$ E( o1. ARC-II
9 y7 I, j* r6 V  T1 K: GARC-II模型是和表示型模型ARC-I模型在同一篇论文中提出的姊妹模型,采用pair-wise ranking loss的目标函数。
( w" q2 `: {7 R3 {: w4 S, t1 }9 |0 I, _
其核心结构为匹配层的设计:
% v8 K1 q9 o, u& A2 R: |
8 S6 A6 N, E0 ]6 u8 l' @(1)对文本pair的n-gram Embedding结果进行拼接,然后利用1-D CNN得到文本S_X中任一token i和文本S_Y中任一token j的交互张量元素M_{ij}。该操作既然考虑了n-gram滑动窗口对于local信息的捕捉,也通过拼接实现了文本pair间低层级的交互。! B. k, L& h9 N, t$ E0 n

0 C8 @# A0 L) e, L(2)对交互张量进行堆叠的global max-pooling和2D-CNN操作,从而扩大感受野。
% b  h4 I) {  D7 q3 r9 s) ^
2 O0 U' l* L3 r6 ?" N2. PairCNN5 m$ A) S8 C% b# ~! L8 M3 c; @
PairCNN并没有选择在Embedding后直接进行query-doc间的交互,而是首先通过TextCNN的方式分别得到query和doc的向量表征,然后通过一个中间Matrix对query和doc向量进行交互得到pair的相似度向量,然后将query的向量表征、doc的向量表征、相似度向量以及其它的特征向量进行拼接,最后经过两层的MPL得到最后的二分类向量。) X! q* }" ?. Q$ }

5 X! d/ K2 ]  I8 P9 X" kPairCNN的模型架构中的亮点在于各View向量的拼接,既能利用原始的语义向量,还能够很便捷的融入外部特征。) s, }  H2 j& e7 z- X7 C$ `0 {- H
; d" I9 O6 ]4 x: m& W' `( Y
3. MatchPyramid
  f$ p. Z$ U0 B4 h( a  r, d2 F. q无论是ARC-II中的n-gram拼接+1D conv还是Pair-CNN中的中间Matrix虽然均通过运算最终达到了信息交互的作用,但其定义还不够显式和明确,MatchPyramid借鉴图像卷积网络的思想,更加显式的定义了细粒度交互的过程。8 j+ E. }, M7 Y% H9 J2 W
MatchPyramid通过两文本各token embedding间的直接交互构造出匹配矩阵,然后将其视为图片进行2D卷积和2D池化,最后Flatten接MLP计算得匹配分数。本文共提出了三种匹配矩阵的构造方式:
! f* ^+ N( l. f0 Z# |% s1 C2 L& S7 m9 H0 T
(1)Indicator:0-1型,即一样的token取1,否则取0;这种做法无法涵盖同义多词的情况;
3 B- P' ^- F0 Q; a3 k5 N3 v5 f7 T0 ^7 |$ B: p/ C
(2)Cosine:即词向量的夹角余弦;
$ a, c/ M: Z  g" H- {. I! i5 I4 g& H- k+ a( @- e) F4 H9 u
(3)Dot Product:即词向量的内积# F; u, s6 L/ A) e$ z% ]
( M" q2 f, b! |/ f: b) L# k* v* d
此外值得注意的是因为各个文本pair中句子长度的不一致,本文并没有采用padding到max-lenght的惯用做法,而是采用了更灵活的动态池化层,以保证MPL层参数个数的固定。  S, ~; @6 a2 `, d' a$ b

& g% p  d/ R/ g4 I! g  v! i4. DecAtt. `) S+ N7 Y1 M3 ?$ R4 j
DecAtt将注意力机制引入到交互型文本匹配模型中,从而得到各token信息交互后增强后的向量表征。4 i- l2 P# u6 C- W

6 N5 W6 x% g3 \: _6 O: L! s& n模型被概括为如下层级模块:. b5 U7 A% t; _0 o: z9 a
; m/ C4 \4 R$ T+ ~% I6 H( x6 {2 d
(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。7 g! r; Z, p, s) l; ]5 d
' T2 K! T# I. o$ w; _+ i+ C' g* b
(2)Compare层:将前序Attend层计算得到的最终embedding,喂入一个全连接层进行向量维度的压缩。0 K9 Y6 P. r$ G: K/ {4 L" f% z

! W0 L4 j1 i$ t, a, {" E(3)Aggregate层:将每个文本各token处压缩后的向量进行简单的求和,再拼接起来通过MPL得到最后的匹配得分。
( y9 X6 V" {1 Q; @0 |2 B
& B3 J8 A/ e' a- Z' q# T1 K/ H5. CompAgg5 O$ p  H0 y. n) W! y; K8 ]
CompAgg详细对比了在文本间cross-attention得到的各token向量表征与原始token向量进行compare的各种方案。
- Z0 e1 l' h4 }5 T' |/ G3 ^( |+ k9 T. Z+ R
该模型的主要结构包括:
* L' G7 k- U; `( _+ X, o: X" Y3 `& k7 @, M2 d
(1)reprocessing层:采用类似于LSTM/GRU的神经网络得到token的深层表示(图中的\bar a_i);4 h6 G# Z' v7 J6 `4 o" N
' W% W; a  q3 |  D/ @
(2)Attention层:利用软注意力机制计算文本间的cross-attention(与DecAtt相同),从而得到各token处交互后的向量表示(图中的h_i);
( r  N; A3 k: g+ l" d8 q! y7 |% S2 ?$ r( I1 @
(3)Comparison层:通过各种网络结构或计算将\bar a_i和h_i计算求得各token的最终表征。$ v7 z& G3 r+ J- r1 K2 G1 K

( U6 L. D" M/ E(4)Aggregation层:利用CNN网络对Comparison层的输出进行计算,得到最后的匹配得分。
; l. S: b. w! V, [- p) D
$ b; L+ v  s5 W. E$ ~  J$ g其中Comparison层的构造方式包括:
# O6 W: ^% f5 M5 W2 H  q' k# m, m  o5 \. m: q, {( e% X
(1)矩阵乘法,类似于Pair-CNN中的中间Matrix8 P3 C6 S+ t- }$ z( G
0 ^+ b' n) U  r& {" |6 s; y& J
(2)前向神经网络,即将\bar a_i和h_i进行拼接,然后利用输入FFN;
8 K! M- ?1 c5 W1 n' |- q2 m# o
" ?$ U4 `, \* g  H# u' H(3)分别计算cosine和欧式距离,然后拼接;2 ^5 d8 P$ e5 K' h

2 G$ C# ]9 }# Z4 {3 ~; E# f(4)各维度进行减法;7 x( n2 y' S' n4 ?6 ^( B/ `: B9 B

2 ?. @! u2 f' s( M$ e, x- x5 B; x(5)各维度进行乘法;) m5 C% M! c/ W) }! ?' G

) j) d3 V- C7 ^  i  Z: k* c8 _; A" M& b+ x(6)各维度进行减法和乘法,然后再接一个前向网络。
) }$ _8 r2 s- N( ~2 D+ \3 w5 ]0 {/ n6 W" s- k
6. ABCNN, c, T+ G3 \5 n9 Z, ]
ABCNN是将Attention机制作用于BCNN架构的文本匹配模型。
  Y) O) J, ~5 f$ \+ }( @5 _
5 ?5 }5 I" I! k* M, V6.1 BCNN& D4 ]+ n& Q, K3 a8 Z& s
首先简单介绍下BCNN架构:# o; W3 `% L5 y7 Y( f  M

+ Y* W1 ?2 o1 yBCNN的整体结构比较简单:(1)输入层;(2)卷积层,因为采用了反卷积的形式,所以在size上会增加;
: N' B+ I" R& ?, [- ?8 u% L; q
; y9 t- [" o1 v/ A) @1 n8 J1 Y6 }; S(3)池化层,采用了两种池化模式,在模型开始阶段采用的是local平均池化,在最后句子向量的抽取时采用了global平均池化;(4)预测层,句子向量拼接后采用LR得到最后的匹配得分。& E' ^& D0 Q5 j+ h: R

# b+ }+ k# b% V( XABCNN共包括三种变形,下面依次介绍。& X/ Q! k* w6 ~0 ?3 l4 g( u3 y7 r
7 p2 M+ }3 K$ K# T! O' n$ D# k! u
6.2 ABCNN
/ f* a! |2 ~, c* U) U3 c; p9 [% M6 N/ }. q: ~7 H: E0 d
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
0 L; P+ ~% n# O) j4 Iij/ L: @! q! `3 Q- Y
​        5 @+ b1 Q  C9 e( k! M* ?
= 4 H. Q5 N2 Q+ }
1+∣x
" v# m. z0 h  Z+ B# T& Si" K$ ^+ O1 k% m8 y, f
​        . h) p) [" c7 O* c2 N6 G+ a4 Y" y
−y , a9 x4 h1 L8 G1 P/ |) C6 U/ o
j$ T5 o) X) Q% M) b. U6 g4 P
​        $ g, ^) B7 F' h& @, R; ~
3 U% E2 F1 p- c) _
1! f! [8 z4 Q& [  ?
​       
6 s4 t. a/ x( n) U ,然后分别乘以可学习的权重矩阵 W 0 W_0 W + V3 D1 E# S' ]7 U6 j  Q
0) A3 s7 M- z0 X4 V6 h
​        % C" C0 l& S& ?8 z. e
和 W 1 W_1 W
3 ^* ~2 d! o4 ?$ ^% F! D5 W2 m1
7 P  D) Z  |# S* C​        0 K0 W6 H  h( n
得到attetion feature map。
2 L& l( z/ |7 S: U! p9 W4 D' I* g& }
6.3 ABCNN-2- S+ ?! M  l' s% a# e- P8 l% Q9 r

' }& W/ F+ P: s9 c8 mABCNN-2将Attention机制作用于word embedding层后的反卷积层的输出结果,其中注意力矩阵的计算原理与ABCNN-1一致。然后将注意力矩阵沿着row和col的方向分别求和,分别代表着各文本token的attention socre;接着将反卷积层的输出结果与attention socre进行加权平均池化,得到与输入层相同shape的特征图。
: t+ N9 f+ \3 |5 L
( L. D; o- J% ^6.4 ABCNN-30 o5 y7 v  q5 K" t5 Z/ E& J
2 |8 |  ~8 z6 l( W! o
ABCNN-3的基本模块可视为ABCNN-1和ABCNN-2的堆叠,即在嵌入层和卷积层上面都引入了attention的机制用来增强对token向量的表示。
* I7 X2 @1 a( N# o# U) b9 }% w5 \  [( X. W2 H( J& B  ]8 i" o
7. ESIM+ m0 |& l( {* X) H+ O' C
ESIM模型基于NLI任务给出了一种强有力的交互型匹配方法。其采用了BiLSTM和Tree-LSTM分别对文本序列和文本解析树进行编码,其亮点在于:8 X1 s4 z, i2 ]
0 e  q0 u# H" \8 q3 r2 F9 g4 j1 I5 {" x& p
(1)匹配层定义了cross-attention得到各token的向量表示与原token向量间的详细交互关系,即采用 [ a ˉ , a ^ , a ˉ − a ^ , a ˉ ∗ a ^ ] [\bar a, \hat a,\bar a-\hat a,\bar a* \hat a] [
4 \- t+ c: K! {& h2 ea
! P  k( |& Q2 X9 w! h# Cˉ0 {+ Z2 {- ]) c6 E7 \: s" ~
,
  ?$ z! y; E& h5 _5 Za
) ~% W4 e1 b6 h; y8 P+ \4 v^
' z0 U* Z5 X% Q9 |: |; N+ U , ) k& b. {, p; U7 m2 I! I! L
a
8 @3 j; d# g! E4 Fˉ
1 F1 O$ d4 ]/ z1 p' @9 b8 {/ S* V9 r, X: E) f9 z
a1 ]1 O( \% Q* G* y2 S; Z
^, x9 q; a7 n& B5 }1 ^$ |- J, g( c
,
2 U" y$ R& V' b, \* J9 oa4 v# _) _0 b% P, n0 i! q  X
ˉ
& L1 H! m, s, u! v2 o6 b
+ H" O4 t( c" [( k0 {a6 j; i$ H0 X0 O
^
0 n  T7 ?$ ]0 s# k4 k! K" E- W ]作为最终文本token的向量表示,这也成为后续文本匹配模型的惯用做法。
4 n0 \- h' w0 J
9 F: U9 E8 ?% m/ z" w# P(2)聚合层通过BiLSTM得到各文本token的编码,从而进一步增强了文本序列的信息传递;
/ }% S: e& ~& ^, g+ q2 a0 D' S8 ?& f$ e& s4 g/ D1 y6 i4 F" z
(3)预测层通过拼接各文本token编码的max-pooling和mean-pooling结果,再经过MPL进行匹配预测。) L; [% O( f5 x, ^. C

4 B1 r: |! i$ r1 E- o* D
/ q' m. l; g- u& R* Q2 L/ Z  v; D) v( D* D
8. Bimpm
, F: |: V( s% B( NBimpm可视为对之前各类交互型文本匹配模型的一次总结。
$ H8 E( T% z% J) n, n9 ?8 ?' g; _5 D& v1 @0 g; V. o: {. P) c
该模型在各层的具体做法总结如下:
( f/ B6 f) ^6 X* K! k1 {
! @% D+ {# M0 T, m5 P5 u! D(1)编码层采用BiLSTM得到每个token隐层的向量表示;- m/ V9 b4 {' z1 e

1 \1 y: a. U7 C( t) E1 p* 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 3 t. C& ~8 e' m( g2 |( n4 O
k  {- V& D% f! B# I2 U
​        5 B# M6 O1 T1 c5 Z8 i+ {0 }
=cosine(W
. T/ U. `6 M% i4 ?! `k
8 _9 w' L9 p! u9 [' S9 S​          i* F% @0 J' V. R
∗v 2 H. I2 z+ E  d- r+ m) U8 f
1
) f/ m. X7 k; J* Q# E0 @+ b& F​        2 _, O# ?/ @8 v5 Z! c
,W
! x5 r' @$ u: [" D& r3 r* Nk
  W; h2 |  e0 I( o​       
6 X% n7 n9 Z4 A! X# _( O& s/ I ∗v
8 y* p1 k  [9 z; a2 x2 I2
9 t0 t; p: z6 [/ g9 ^2 Y! ^​        7 Y. C: Y1 T% U, o7 s
)的方式可以得到两个文本的任意token pair之间在第k个view下的匹配关系,至于 v 1 v_1 v
9 T5 q( i  I' Q" s( E0 |0 q2 E) |1
3 G# V/ }2 n+ D1 K1 q. A​       
; V/ J! p& G8 D) R6 p9 ?  o7 A& a 和 v 2 v_2 v * _0 T" s( O  X
2# Q8 Y9 m8 R+ t- j
​        ( @3 a0 U& N7 J
如何取,文章提供了4种策略:
+ o0 l6 t& _3 l0 [" [, q( q
8 j8 d+ P& j: x; R  s& Z# |' P策略一:其中一个句子取各token隐层的向量表示,另一个句子采用隐层最后时间步处的输出;- a9 }' D$ R# [" r4 H4 Z+ G3 F" L
策略二:其中一个句子取各token隐层的向量表示,另一个句子采用隐层各时间步输出与之匹配后取再取Max-Pooling值;
" M% O& x/ d' N! `( I5 s策略三:其中一个句子取各token隐层的向量表示,另一个句子采用cross-attentive后得到的加权句子向量;% G8 N& h4 w  z. B6 {( X
策略四:其中一个句子取各token隐层的向量表示,另一个句子采用cross-attentive后attention score最高处token的向量作为句子向量。
. B; ?7 i. [( b' G' g这四种策略的区别在于对句子向量的计算不同。8 \$ _8 U8 L5 c. N( }' P0 B

1 c& V0 a' W! T2 ~: a
6 e( T3 O4 o$ b6 K(3)聚合层,首先对上面各种策略得到的输出层再通过一层BiLSTM层,然后将各策略下最后时间步的输出进行拼接,得到最后的聚合向量;
# M! |6 t  j  P# E' R- c! f: H1 C# S& Y. J" I. c1 h; Q1 }
(4)预测层:两层MPL+softmax$ F  f6 ]- u+ ^
3 j  y3 [5 X& ?( D0 O
9. HCAN
. s: _0 h: L3 R9 y6 M, J/ R4 ]  w$ cHCAN是除Bert类模型外在文本匹配领域表现最为优异的深度模型之一,其采用了较为复杂的模型结构。: ]5 G3 @. [0 e0 ]& f

: S9 l  ?) R+ `9 |6 Z: ]针对于信息抽取问题,文章首先分析了相关性匹配和语义匹配的差异:, h4 p8 q6 r( S6 E! w
. p; o+ N8 J) Y1 z
(1)相关性匹配主要关注于关键词的对比,因此更关注低层级词法、语法结构层面的匹配性;
" i9 g- p) p/ G9 l
6 G8 V$ [6 Z! C7 S4 }(2)语义匹配代表着文本的平均意义,因此其关注更高、更丑想的语义层面的匹配性。
' N# G- r2 Z9 |8 ^: x1 c) l5 Q' Z& ]# H8 c
该模型首先采用三类混合的编码器对query和context进行编码:4 r8 w4 J3 ]$ l! _7 O4 E

; q4 k7 p# s, @(1)深层相同卷积核大小的CNN编码器;/ ~. t! J* E1 m
8 {. y" E# P) q+ Z
(2)不同卷积核大小的CNN编码器的并行编码;
1 s. [+ `6 R8 W$ \, j  @
: G& ?* g. [# k/ d4 A5 s(3)沿着时序方向的stacked BiLSTM编码;
$ t+ y1 P1 N$ q! b% a
6 |8 k$ s8 X  m" J- Q对于前两者,通过控制卷积核的大小可以更好的捕捉词法和句法特征,即符合相关性匹配的目的;而对于后者,其能表征更长距离的文本意义,满足语义匹配的目的。* N. F; W' A! n0 u0 T3 V

- n# ?2 z9 w$ E& ]& }6 o* P7 C在这三类编码器的编码结果基础上,模型分别进行了相关性匹配和语义匹配操作。其中相关性匹配主要采用各phrase间内积+max pooling/mean pooling的方式获取相关性特征,并通过IDF指进行各phrase的权重调整。而在语义匹配中,模型采用了精心设计的co-attention机制,并最终通过BiLSTM层输出结果。
$ n! d7 s" h$ [5 A4 R% s& \: B7 }+ l  _2 z, b8 e
最后的预测层仍采用MPL+softmax进行预测。
& Q  P0 w" y( n) i/ Z% O$ Z$ `" M, C0 R6 U
10. 小结
- F( V, p$ U& `) R3 \交互型语言匹配模型由于引入各种花式attention,其模型的精细度和复杂度普遍强于表示型语言模型。交互型语言匹配模型通过尽早让文本进行交互(可以发生在Embedding和/或Encoding之后)实现了词法、句法层面信息的匹配,因此其效果也普遍较表示型语言模型更好。" I; h& h+ A$ E, {

% t! d; l& x; {7 Z3 w【Reference】0 l; s& x9 b. r# F# p

; N) U/ n/ {1 v" b3 CARC-II: Convolutional Neural Network Architectures for Matching Natural Language Sentences4 A$ N% t6 [& p/ X7 h  \

2 \3 g; s9 G& [7 m6 |7 @PairCNN: Learning to Rank Short Text Pairs with Convolutional Deep Neural Networks  I, b' S! K" u4 s. i6 }  W
$ T' ~4 U( t  `# z
MatchPyramid: Text Matching as Image Recognition
. m0 {% B" v: \+ Q/ Z8 _/ Q. Z' F
5 E1 b7 Z7 d9 m: Q7 S5 yDecAtt: A Decomposable Attention Model for Natural Language Inference! ?3 o- @4 c: B% o8 e0 `
* r" c$ |7 w2 m% G, ~
CompAgg: A Compare-Aggregate Model for Matching Text Sequences
  T* e2 b; @* c+ M' X" r# x3 L' G. _2 W6 D1 B; V9 E2 S" I# X
ABCNN: ABCNN: Attention-Based Convolutional Neural Network# f$ X; y4 r6 c4 Q) [7 E
for Modeling Sentence Pairs& w# ^4 \5 \% ^7 a% z" O1 y
3 N9 Y- g! C8 ~( B4 H
ESIM: Enhanced LSTM for Natural Language Inference
, h# S2 S8 Q/ Q" ^3 Y2 n# k5 n/ H
Bimpm: Bilateral Multi-Perspective Matching for Natural Language Sentences
. ^/ K& @8 S* @& w  K! b  v6 j: u; g7 k
HCAN: Bridging the Gap Between Relevance Matching and Semantic Matching
! e1 N6 O. |6 O+ Xfor Short Text Similarity Modeling  G( n* M2 U( V2 x
! o5 l3 G* Z: k$ D0 z& ~' F
文本匹配相关方向打卡点总结(数据,场景,论文,开源工具)) l4 s/ P, c; k0 o

8 }( S2 S* ]% {" z! w! U谈谈文本匹配和多轮检索9 q1 x7 v( Z% R% W6 U  V+ @

" S# Y1 [% s: f* s+ {4 l贝壳找房【深度语义匹配模型 】原理篇一:表示型0 j' \) x' i2 T5 a
————————————————
5 D7 h2 Q$ E6 D; t版权声明:本文为CSDN博主「guofei_fly」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
. A8 W) O5 f9 F原文链接:https://blog.csdn.net/guofei_fly/article/details/107501276$ A% L* s4 \0 Z4 b
6 a: V- D7 M2 h  E1 H
9 U8 n" ~; `4 a4 c5 m* W5 y7 [7 I' W





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