数学建模社区-数学中国

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

作者: 杨利霞    时间: 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; K1. 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( CPairCNN的模型架构中的亮点在于各View向量的拼接,既能利用原始的语义向量,还能够很便捷的融入外部特征。) U! ]0 _6 ~" O! [$ L

0 W. ~- X& o: v3. 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 c4. DecAtt
  x$ n2 t: ^# NDecAtt将注意力机制引入到交互型文本匹配模型中,从而得到各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" ~' RCompAgg详细对比了在文本间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: Y7 M- Y# I6 i& W. T4 s
(4)Aggregation层:利用CNN网络对Comparison层的输出进行计算,得到最后的匹配得分。
- j, x5 t5 b- D7 k8 u5 P/ w9 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- qABCNN是将Attention机制作用于BCNN架构的文本匹配模型。2 h3 N% E( `9 H4 p  D6 o. H
) T) p( q; z7 W% R/ Q
6.1 BCNN2 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 Hi
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 p6.3 ABCNN-2- J* q! Z% e5 t3 j* d/ q6 l

. F3 W9 L0 {  [" UABCNN-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! hABCNN-3的基本模块可视为ABCNN-1和ABCNN-2的堆叠,即在嵌入层和卷积层上面都引入了attention的机制用来增强对token向量的表示。
; ?7 [8 I) R# Z( R' {, E1 Z( {- K
7. ESIM0 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, pa
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& va$ a- C8 D7 n1 d& Z, E) b! x4 n
^  _* @7 |% B2 W* g. s$ Y
,
# ^) c* M: [! z, R# i" S- la& s6 e/ ?3 H2 x) {; m7 ~
ˉ/ v& K- d: j2 r5 [0 g7 c
−
2 f. _. u4 `9 Va
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
a6 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# \! w2 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/ JBimpm可视为对之前各类交互型文本匹配模型的一次总结。. 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+ Hk
* 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. n2
# 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# G13 a2 |+ H# g6 Z- K, C
​        : G3 \0 g1 ^6 d& t9 K2 f- g4 W
和 v 2 v_2 v
( ~1 I$ C6 ?  Y2- ~7 Q! ]3 }$ I0 G2 d1 N
​        2 I& q3 d. v5 {4 o9 T' d
如何取,文章提供了4种策略:
) i8 y0 ^! ]0 |9 U- C4 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& P9 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+ K10. 小结1 B6 P; }/ g: j: Y/ Q5 z
交互型语言匹配模型由于引入各种花式attention,其模型的精细度和复杂度普遍强于表示型语言模型。交互型语言匹配模型通过尽早让文本进行交互(可以发生在Embedding和/或Encoding之后)实现了词法、句法层面信息的匹配,因此其效果也普遍较表示型语言模型更好。
2 b) f0 G& K) a: B) }4 g5 e6 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* cBimpm: 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' nfor 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