数学建模社区-数学中国

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

作者: 杨利霞    时间: 2023-4-13 21:16
标题: 【文本匹配】交互型模型
【文本匹配】交互型模型
& ^3 q9 q) j0 q& \" i7 S  f" r
8 x: m$ E( @  ^- ]表示型的文本匹配模型存在两大问题:(1)对各文本抽取的仅仅是最后的语义向量,其中的信息损失难以衡量;(2)缺乏对文本pair间词法、句法信息的比较6 a; P& q7 W6 N7 ]7 T' i+ O$ j
6 H* J) D$ [% u- k- s6 e/ Y- A, [
而交互型的文本匹配模型通过尽早在文本pair间进行信息交互,能够改善上述问题。
$ \: G& W/ z* J$ z1 k0 x& X, W
% V6 H  H5 G) S  O2 j9 z基于交互的匹配模型的基本结构包括:
- |' X5 X2 l. ~* `( y1 [. l
" {% {9 S# _9 m6 ?6 [$ c(1)嵌入层,即文本细粒度的嵌入表示;# I6 \9 _' V( z  V' E

+ a6 o" c% i  v8 K, v(2)编码层,在嵌入表示的基础上进一步编码;
) S& y7 m/ g+ ?1 S
! N7 B. S# o, ?% `9 s7 T(3)匹配层:将文本对的编码层输出进行交互、对比,得到各文本强化后的向量表征,或者直接得到统一的向量表征;$ m( l5 T8 y6 q
  i: |( w& M, W* V5 c. X& H; X
(4)融合层:对匹配层输出向量进一步压缩、融合;
5 K2 r: Z$ c* ^8 X* c6 d- i! Y& T9 ], E3 A
(5)预测层:基于文本对融合后的向量进行文本关系的预测。
$ [' n/ j8 q1 ]$ j7 ]0 _
- }& K  N; }/ D6 P
/ l0 x! h; h+ k+ O; b; v7 D( [! c1 L) L
1. ARC-II
6 {3 ]* r1 {  d5 [7 E4 XARC-II模型是和表示型模型ARC-I模型在同一篇论文中提出的姊妹模型,采用pair-wise ranking loss的目标函数。
2 Y7 _  S! d  `3 ?4 i! W  G0 S$ Y* h
其核心结构为匹配层的设计:) u; l0 _8 \: T; M0 V
8 i+ t) i% m# X: b& s2 \4 Z2 {3 @
(1)对文本pair的n-gram Embedding结果进行拼接,然后利用1-D CNN得到文本S_X中任一token i和文本S_Y中任一token j的交互张量元素M_{ij}。该操作既然考虑了n-gram滑动窗口对于local信息的捕捉,也通过拼接实现了文本pair间低层级的交互。
) g' m5 a4 g7 J5 w
1 _' a, I% P8 C1 y(2)对交互张量进行堆叠的global max-pooling和2D-CNN操作,从而扩大感受野。  ]# B9 T7 e0 u

, o  a- N" ~+ i5 h2. PairCNN
& h9 Q: n7 \7 c6 i9 o/ l3 [PairCNN并没有选择在Embedding后直接进行query-doc间的交互,而是首先通过TextCNN的方式分别得到query和doc的向量表征,然后通过一个中间Matrix对query和doc向量进行交互得到pair的相似度向量,然后将query的向量表征、doc的向量表征、相似度向量以及其它的特征向量进行拼接,最后经过两层的MPL得到最后的二分类向量。0 J( ]# o" d+ C# O

) ?8 t1 e% P# ~9 S1 a* @PairCNN的模型架构中的亮点在于各View向量的拼接,既能利用原始的语义向量,还能够很便捷的融入外部特征。' `  L) P3 p9 y
5 @5 w  F+ n- v( S$ Y
3. MatchPyramid6 T6 A7 S4 s+ F- p+ @* W: h
无论是ARC-II中的n-gram拼接+1D conv还是Pair-CNN中的中间Matrix虽然均通过运算最终达到了信息交互的作用,但其定义还不够显式和明确,MatchPyramid借鉴图像卷积网络的思想,更加显式的定义了细粒度交互的过程。
$ N, J: h3 \# H0 PMatchPyramid通过两文本各token embedding间的直接交互构造出匹配矩阵,然后将其视为图片进行2D卷积和2D池化,最后Flatten接MLP计算得匹配分数。本文共提出了三种匹配矩阵的构造方式:8 v+ q3 J  D' m& ^* R

( t0 U4 w7 `+ L' g3 o) I& ?(1)Indicator:0-1型,即一样的token取1,否则取0;这种做法无法涵盖同义多词的情况;
  k& Q  f, q7 I+ G6 m
9 {, ]" Q7 j" {& [( p. z(2)Cosine:即词向量的夹角余弦;' s1 o$ [; {2 f. Y

0 c) K: H8 U5 _0 j- z(3)Dot Product:即词向量的内积; D6 n/ l( Q/ R' |
2 t! J' d8 G/ F7 J$ D
此外值得注意的是因为各个文本pair中句子长度的不一致,本文并没有采用padding到max-lenght的惯用做法,而是采用了更灵活的动态池化层,以保证MPL层参数个数的固定。
2 e6 i4 F2 ^: h0 ?& ?1 H
& D% q6 u* ?% L9 {4. DecAtt5 }* T5 s% d8 l( T' s
DecAtt将注意力机制引入到交互型文本匹配模型中,从而得到各token信息交互后增强后的向量表征。) S. i* I- L: Y  D8 N+ e  H) j

& C  O7 x; o7 {+ Z; {  G% e模型被概括为如下层级模块:
- }) p2 A5 N  x0 F% L  q
! `2 m6 z* |# u) X5 S  `5 _/ E2 R(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。% i, G0 k. D$ }
8 P( g" \. Z. {. }- J! F
(2)Compare层:将前序Attend层计算得到的最终embedding,喂入一个全连接层进行向量维度的压缩。; L3 P5 A. b; k- }8 U% N
  k% R, q7 l. @, V2 o( V4 ]$ C
(3)Aggregate层:将每个文本各token处压缩后的向量进行简单的求和,再拼接起来通过MPL得到最后的匹配得分。: {1 e2 w0 N% I$ ^& l5 V* u
% R) i; M7 w( N  S; x; d
5. CompAgg
& C! c* {! ^7 o6 b2 ?CompAgg详细对比了在文本间cross-attention得到的各token向量表征与原始token向量进行compare的各种方案。8 J3 e! v/ G6 ~1 Y0 @# A! v5 u- S
. M" h6 ~, `% c" u- |
该模型的主要结构包括:
0 A  |' n; [# T; M' _
0 A. H6 T: S! J' S% @' W(1)reprocessing层:采用类似于LSTM/GRU的神经网络得到token的深层表示(图中的\bar a_i);
: @& R$ M- y2 C8 u- H  A7 P& H, y0 X
(2)Attention层:利用软注意力机制计算文本间的cross-attention(与DecAtt相同),从而得到各token处交互后的向量表示(图中的h_i);1 h5 Q8 ^  |: ?

8 {# p9 [' w0 x, [/ u. d9 m(3)Comparison层:通过各种网络结构或计算将\bar a_i和h_i计算求得各token的最终表征。
3 _: y+ K1 k6 s! n: m" A2 N: h8 e
' I+ W3 c% q3 r+ {, E, f3 a  a) D(4)Aggregation层:利用CNN网络对Comparison层的输出进行计算,得到最后的匹配得分。
. X5 L! R! m$ r6 w+ q
6 L0 p5 c* G$ `$ d$ r8 w其中Comparison层的构造方式包括:
5 K$ Q' q& @5 f" X8 G, k9 P! }/ v3 s& d3 |+ U
(1)矩阵乘法,类似于Pair-CNN中的中间Matrix9 }- I  F" ]1 t! s
, D( C6 N& e, n6 ]7 ?8 D: U" V
(2)前向神经网络,即将\bar a_i和h_i进行拼接,然后利用输入FFN;
* X  L! U/ W+ u: h& f& O/ Y' |# S8 d1 v3 I& _' c
(3)分别计算cosine和欧式距离,然后拼接;3 O5 t9 m' d/ x

5 l7 \. J2 j$ E! t(4)各维度进行减法;
, ]/ ]" E0 F! r6 k2 [
2 _; N: a# c& g2 W- a(5)各维度进行乘法;  v0 ^% z$ i: [+ e2 _7 t7 c) p

! f* u" F* }+ \4 Q) \4 r! v) e(6)各维度进行减法和乘法,然后再接一个前向网络。' I2 ]0 D2 \+ G- R
& `2 z$ G7 K( p' b
6. ABCNN0 W2 Y( ~5 U3 H  \) |5 y& b
ABCNN是将Attention机制作用于BCNN架构的文本匹配模型。
  k. O  i1 ^9 f' `2 l5 j9 j- c3 n& P; g( `
6.1 BCNN4 x  Z$ ~$ U* |6 i6 w
首先简单介绍下BCNN架构:
0 Y/ K  Z( g1 ~4 [  x% ?3 o! n; O# D8 u4 Z1 s
BCNN的整体结构比较简单:(1)输入层;(2)卷积层,因为采用了反卷积的形式,所以在size上会增加;
# g! w$ ^/ l1 ]$ P& b7 E
2 P& H- N0 d: v* E0 n) f1 n(3)池化层,采用了两种池化模式,在模型开始阶段采用的是local平均池化,在最后句子向量的抽取时采用了global平均池化;(4)预测层,句子向量拼接后采用LR得到最后的匹配得分。5 M" \, G, D6 v7 t" f, K5 N

, t6 G& `0 z' z/ p6 i1 {' p- jABCNN共包括三种变形,下面依次介绍。
  O4 o( \' [/ n
. _5 P& V0 ~7 t, o6.2 ABCNN
7 T# l8 }* f7 v  ]' X0 q% }2 [- d( a
  U! l! `( X; ?5 l! _( }  Y9 nABCNN-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 A7 h" Q5 Z( t4 cij0 q4 I+ e' Q5 r( q( Q' ~% T% ]
​        + I/ J9 u& G1 m0 p. ?  V
= $ C& A+ J6 k0 ~- z# f: y
1+∣x
1 ~. z4 R' J8 q- Li
6 w9 Q; x& z1 Y- l, ]​       
/ x2 Z  l- r" Y- ^ −y . D, F7 r  l" `0 ^& n
j) j5 u8 F. w; y; l& d. F7 w
​       
3 g: S, i# ^" j3 n7 g! K
9 R! ?+ ]. G+ U  A1" {8 n$ N; A9 R; p% i0 ^
​        7 F( J5 U' h1 n0 p/ _3 W+ x) _
,然后分别乘以可学习的权重矩阵 W 0 W_0 W ; q* \" z: I& F3 @0 |8 J9 P
0* @; v" g) y9 |: T2 M$ Q
​       
( v) K0 h4 \) d! a5 f 和 W 1 W_1 W 3 f  D* v( N& n& T
1, J. M% S2 V" ]7 M
​       
( J# R" u* h' G  Z7 k* L7 c6 p 得到attetion feature map。
8 \4 n0 `; E+ S' I- |: ~6 X/ U7 I" x& U0 X/ ?
6.3 ABCNN-2$ q! S& P) H2 b7 [

1 `* y" r7 B* C+ wABCNN-2将Attention机制作用于word embedding层后的反卷积层的输出结果,其中注意力矩阵的计算原理与ABCNN-1一致。然后将注意力矩阵沿着row和col的方向分别求和,分别代表着各文本token的attention socre;接着将反卷积层的输出结果与attention socre进行加权平均池化,得到与输入层相同shape的特征图。
) }5 }* x6 t7 X; j: v1 h
+ Q5 V/ n! \/ |; a4 {6.4 ABCNN-30 K% Z( y* f# |- D
8 w6 }" H& ~: P$ M
ABCNN-3的基本模块可视为ABCNN-1和ABCNN-2的堆叠,即在嵌入层和卷积层上面都引入了attention的机制用来增强对token向量的表示。
- ^/ t& e) f4 d# |0 N- F1 p& I9 F+ ?8 d# s( J6 c) ]( R5 _
7. ESIM% ?( Z' [4 h  H" d
ESIM模型基于NLI任务给出了一种强有力的交互型匹配方法。其采用了BiLSTM和Tree-LSTM分别对文本序列和文本解析树进行编码,其亮点在于:1 \# q4 f3 ?9 @4 n8 p

: [" q0 v' }% c& ~1 g$ g6 |2 n(1)匹配层定义了cross-attention得到各token的向量表示与原token向量间的详细交互关系,即采用 [ a ˉ , a ^ , a ˉ − a ^ , a ˉ ∗ a ^ ] [\bar a, \hat a,\bar a-\hat a,\bar a* \hat a] [
7 V7 @9 A1 ~$ {% P6 M  Za
0 q/ |& M0 v% t% G2 U4 H8 E: g8 gˉ
" I+ Z2 M+ O: ?4 L* a , $ O/ C. N" A$ [7 ?1 y' G, f# C
a
$ b" X$ E( A& \/ ~; w4 _^4 {2 y6 Z1 {- M4 m' D& ~
,
2 z6 F) ^9 b# R4 S: ja/ I3 L; R' f( n. @
ˉ* u) O* N5 u+ E1 |4 `

* Z- M" G! P% qa' l7 q4 \9 n* i6 D; K; [
^
% S0 f* {5 `5 g2 S ,
: B% k( c6 j0 l( J% N3 I0 la& x9 A  \, E9 `* C5 T& _7 x
ˉ
+ p4 |2 T. S( K: P8 i6 I* m" U) Y0 `/ N
a
$ t: i9 O3 Z0 a# f; s6 |^
$ s3 W8 b% l  K ]作为最终文本token的向量表示,这也成为后续文本匹配模型的惯用做法。
( \$ t2 I  t5 r4 j! U$ X1 ]$ u4 D" U' w. X  G9 T* O, h, x
(2)聚合层通过BiLSTM得到各文本token的编码,从而进一步增强了文本序列的信息传递;; q* C& g' U/ _
" Z/ \/ ^3 ?4 r# `' T
(3)预测层通过拼接各文本token编码的max-pooling和mean-pooling结果,再经过MPL进行匹配预测。, ?8 w/ j$ n! U1 j! p. a
, Y* J3 k8 |' V/ C* ]1 A
3 N# S! z+ j  o9 @. P- q
7 r$ J: X' b) W$ F5 [: s
8. Bimpm4 y6 }. m4 a- a% T- X# s3 S
Bimpm可视为对之前各类交互型文本匹配模型的一次总结。. ]  |2 j! m9 c3 y4 _- ]  b7 Q" ?; E

* z/ S+ E. _6 x& Y/ b) u! L该模型在各层的具体做法总结如下:
% k" o+ x# f1 X# k4 L; N( j: T$ t  l, T
(1)编码层采用BiLSTM得到每个token隐层的向量表示;
" a4 N0 K) O% |, L2 u, l" n, y8 v( _4 P; Z" D( d) Q* m9 t0 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 2 u9 z8 v0 a4 f: M! L) h$ w
k6 P6 N  x4 _! _# S$ p7 {
​        / z4 p* C9 G) I% ?! N: ?
=cosine(W
$ z5 N8 V* J7 n; O, J2 Ak
# q  m2 j7 s) o- S4 G: U. N# O​        6 [6 T) N' {) o: Z+ U: t$ o
∗v   Q1 v0 o- E2 u8 @+ C
1
4 ~- _% |# r$ o) k; P7 B​        7 E- R, c3 A" P. ]
,W 2 a% V4 [$ q# ^- E) e
k
( Y! b0 ?$ O; P5 g​        ) ^9 R+ S: u* [4 q; _' w
∗v   i' H! V( b# M! q3 `, x' {- f
2
2 Q  w, E8 e& f9 Y' n4 V1 w9 S​        ) U9 V. n8 L6 ]$ n- }
)的方式可以得到两个文本的任意token pair之间在第k个view下的匹配关系,至于 v 1 v_1 v 6 q# l) f6 ^% U, Q8 ~7 m  }
1
" q8 b' |" P: y6 D! }0 J​        8 ]" e; p- L5 _$ K
和 v 2 v_2 v
/ O8 q3 l5 I8 P) m2( i! }( E# R' v& |+ }5 l( [
​        ; i+ d0 b2 {" V' j. U5 j
如何取,文章提供了4种策略:
) n* d6 H7 K/ {* _8 G/ d; q  z( i  J$ _3 O
策略一:其中一个句子取各token隐层的向量表示,另一个句子采用隐层最后时间步处的输出;
% H6 R- I$ I6 h策略二:其中一个句子取各token隐层的向量表示,另一个句子采用隐层各时间步输出与之匹配后取再取Max-Pooling值;' K8 Q; Q# p- Y- s# e) E& i! a
策略三:其中一个句子取各token隐层的向量表示,另一个句子采用cross-attentive后得到的加权句子向量;3 ~, v( G; E2 j5 @; C( k8 S* }1 ?: [
策略四:其中一个句子取各token隐层的向量表示,另一个句子采用cross-attentive后attention score最高处token的向量作为句子向量。3 _& I3 M. w# i% T: h
这四种策略的区别在于对句子向量的计算不同。
" ^; W- n( C; m; R1 V7 i/ l' y+ ~$ L; E' N- a$ y. n
8 O, L3 `: A( b
(3)聚合层,首先对上面各种策略得到的输出层再通过一层BiLSTM层,然后将各策略下最后时间步的输出进行拼接,得到最后的聚合向量;. c3 L4 H" V6 K& i4 g

- m9 f  t0 D. W5 Q' ^(4)预测层:两层MPL+softmax
/ O- B/ B1 a! j" o+ x6 r, c( w% ^: W: N+ y2 q7 V
9. HCAN
: \" Y- W) V( }7 DHCAN是除Bert类模型外在文本匹配领域表现最为优异的深度模型之一,其采用了较为复杂的模型结构。" R9 `) W8 W" z6 S7 `/ x

' `) c# L2 I9 g. D" \针对于信息抽取问题,文章首先分析了相关性匹配和语义匹配的差异:6 u( O$ S1 e6 r+ o7 [5 t% Y' v; s( _
/ y- n! S7 V' x3 k  G7 F% M
(1)相关性匹配主要关注于关键词的对比,因此更关注低层级词法、语法结构层面的匹配性;
5 S" ~* r- K' |6 N3 o! ^, }" y* h7 b* X& j7 T$ I9 T- }
(2)语义匹配代表着文本的平均意义,因此其关注更高、更丑想的语义层面的匹配性。
% n- {8 {' F6 W, D0 A* x0 B- c4 T8 S) n8 u5 P
该模型首先采用三类混合的编码器对query和context进行编码:' R- U. Z" d% T0 J
! c. V5 \. M) x( {
(1)深层相同卷积核大小的CNN编码器;
& z% `, Q2 J7 h% k
: f; D$ y( X$ M+ _: A(2)不同卷积核大小的CNN编码器的并行编码;/ X+ {0 L2 o; O6 X9 G, z

, `3 K; c) U- G* ](3)沿着时序方向的stacked BiLSTM编码;
, Q# p, W7 E) O+ v) o/ m
( y9 W, {. `# F! e* v2 L对于前两者,通过控制卷积核的大小可以更好的捕捉词法和句法特征,即符合相关性匹配的目的;而对于后者,其能表征更长距离的文本意义,满足语义匹配的目的。
  v# Z6 f, f" d5 w) ^! c& h6 X
' _8 v/ X+ z2 Q7 i在这三类编码器的编码结果基础上,模型分别进行了相关性匹配和语义匹配操作。其中相关性匹配主要采用各phrase间内积+max pooling/mean pooling的方式获取相关性特征,并通过IDF指进行各phrase的权重调整。而在语义匹配中,模型采用了精心设计的co-attention机制,并最终通过BiLSTM层输出结果。7 j! x4 X3 P' m! O1 Q% o, z

6 l" o4 R4 M/ Y' D最后的预测层仍采用MPL+softmax进行预测。( B6 ~  u" ]' h0 }
% u/ F$ {! c) _. B) z
10. 小结
! R) `) u" q( z  Y交互型语言匹配模型由于引入各种花式attention,其模型的精细度和复杂度普遍强于表示型语言模型。交互型语言匹配模型通过尽早让文本进行交互(可以发生在Embedding和/或Encoding之后)实现了词法、句法层面信息的匹配,因此其效果也普遍较表示型语言模型更好。, E" {* D! @8 j6 B
8 e5 \& J% |! j
【Reference】
5 D! V: n" g( y8 O+ _4 H8 A
1 q6 e8 W+ \" s3 ^8 CARC-II: Convolutional Neural Network Architectures for Matching Natural Language Sentences) _8 z2 {3 ^7 D/ c9 J+ b  F/ Q
4 J& G8 [: o4 G* A
PairCNN: Learning to Rank Short Text Pairs with Convolutional Deep Neural Networks
$ q. l0 ^8 v2 S+ @3 y( m
" @5 E3 l4 N: VMatchPyramid: Text Matching as Image Recognition
  K; B$ L" M0 p$ q2 l! z9 c4 i
8 J$ b7 F: a1 o, wDecAtt: A Decomposable Attention Model for Natural Language Inference2 G: b; f9 U: a" I$ Y
. J7 m8 d5 s, O
CompAgg: A Compare-Aggregate Model for Matching Text Sequences7 D% ~: a% G/ E1 a5 o" Q

* e: \: ]- p- @: _; LABCNN: ABCNN: Attention-Based Convolutional Neural Network6 X( l/ [8 Q6 P& k" h, u  l
for Modeling Sentence Pairs
* e2 K& C! O8 n: R) M) ?- D" N2 V1 |
ESIM: Enhanced LSTM for Natural Language Inference5 C0 v/ Y$ D- \: N
& Q$ i' k+ k; `) u9 a
Bimpm: Bilateral Multi-Perspective Matching for Natural Language Sentences
8 _/ s7 n3 G' D. D$ o$ N( R; z1 p, u2 ?8 c' l1 [+ f$ g1 d
HCAN: Bridging the Gap Between Relevance Matching and Semantic Matching/ c2 n8 c* k7 z2 q5 P$ o" H6 \6 j( f
for Short Text Similarity Modeling' t* ]: j4 a7 W/ J

( h5 C* C, |- M3 f% `+ l# v4 e8 h文本匹配相关方向打卡点总结(数据,场景,论文,开源工具)
1 @9 y! i! Y, A0 d* Q: n- [7 L& d: N9 f: \  W5 }
谈谈文本匹配和多轮检索
6 x1 [# N! b- N) _/ K9 L2 g0 m: |# Y7 K- v0 ^+ R# D) ^
贝壳找房【深度语义匹配模型 】原理篇一:表示型, s7 B5 I" t0 l. i" f
————————————————* p, n6 U2 R# I, _1 R$ L3 B
版权声明:本文为CSDN博主「guofei_fly」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。! N1 [# \( l2 y) L9 S$ {
原文链接:https://blog.csdn.net/guofei_fly/article/details/107501276) `5 Q/ a7 T8 G
: f/ w: [9 L; w6 K8 y

6 l/ z0 y( v0 ^5 T& _4 i




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