数学建模社区-数学中国

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

作者: 杨利霞    时间: 2023-4-13 21:16
标题: 【文本匹配】交互型模型
【文本匹配】交互型模型( @3 p' x- p- ?/ G( C. X1 f

& N5 ^* J+ x' g; M/ t表示型的文本匹配模型存在两大问题:(1)对各文本抽取的仅仅是最后的语义向量,其中的信息损失难以衡量;(2)缺乏对文本pair间词法、句法信息的比较$ H# ]4 ]1 Y. F  y0 c% C
# e7 i* D! G* A/ t
而交互型的文本匹配模型通过尽早在文本pair间进行信息交互,能够改善上述问题。
  \7 m3 }, N# k  z. J" e8 ]" _! W7 O
基于交互的匹配模型的基本结构包括:: T" z. P2 a# R' `% l2 f

  s& |5 Y7 P5 {7 d(1)嵌入层,即文本细粒度的嵌入表示;! |9 {5 d* A" b- r& r6 y
! q7 `" Z  j& s* K5 j
(2)编码层,在嵌入表示的基础上进一步编码;& Y9 s3 o2 O1 N7 Q- v
% s+ m1 m# ]$ ~& N5 P' B
(3)匹配层:将文本对的编码层输出进行交互、对比,得到各文本强化后的向量表征,或者直接得到统一的向量表征;
5 A+ Z& K: ?5 N. E3 w* q1 e! V: p5 C8 L: g
(4)融合层:对匹配层输出向量进一步压缩、融合;
7 H' t: `" o6 `5 R( n/ @/ [$ B) W6 }1 t+ W* X# N5 R- T. g- t
(5)预测层:基于文本对融合后的向量进行文本关系的预测。7 r2 L; `$ [; n) u$ H
+ V$ c- h  s* U5 M

9 Y- q0 G& ]7 J. F& j/ d% T
! h! l- Z4 T" Y7 Y9 a/ [0 E+ U5 Y1. ARC-II
; V. w. F4 R0 t6 f( h% rARC-II模型是和表示型模型ARC-I模型在同一篇论文中提出的姊妹模型,采用pair-wise ranking loss的目标函数。" ~9 S% q0 m# l
1 V* C& V7 {7 ^4 m# @
其核心结构为匹配层的设计:
) k. S$ @; T% O) j4 ?
8 @" S1 A4 w, ~3 ?& q/ ?2 n/ m(1)对文本pair的n-gram Embedding结果进行拼接,然后利用1-D CNN得到文本S_X中任一token i和文本S_Y中任一token j的交互张量元素M_{ij}。该操作既然考虑了n-gram滑动窗口对于local信息的捕捉,也通过拼接实现了文本pair间低层级的交互。
( T4 }. o% [& Z- Q: j4 H: i. g. F3 M
(2)对交互张量进行堆叠的global max-pooling和2D-CNN操作,从而扩大感受野。  f% b+ o: ?  G3 f, F( m, N

2 y+ D" p1 f! f$ V- b) T2. PairCNN( L9 X. b2 v) K- \9 b
PairCNN并没有选择在Embedding后直接进行query-doc间的交互,而是首先通过TextCNN的方式分别得到query和doc的向量表征,然后通过一个中间Matrix对query和doc向量进行交互得到pair的相似度向量,然后将query的向量表征、doc的向量表征、相似度向量以及其它的特征向量进行拼接,最后经过两层的MPL得到最后的二分类向量。
" f; J, T; _! ~: N8 `9 O
0 u  a" f, _% _1 w! ?) NPairCNN的模型架构中的亮点在于各View向量的拼接,既能利用原始的语义向量,还能够很便捷的融入外部特征。2 W, K; e7 A: \! k; q, e
+ @9 d2 J5 j+ t& E+ A
3. MatchPyramid
& `3 H! m  i$ [! I0 j; m无论是ARC-II中的n-gram拼接+1D conv还是Pair-CNN中的中间Matrix虽然均通过运算最终达到了信息交互的作用,但其定义还不够显式和明确,MatchPyramid借鉴图像卷积网络的思想,更加显式的定义了细粒度交互的过程。
" N0 X6 K0 \" e6 w$ \& z0 C# x( sMatchPyramid通过两文本各token embedding间的直接交互构造出匹配矩阵,然后将其视为图片进行2D卷积和2D池化,最后Flatten接MLP计算得匹配分数。本文共提出了三种匹配矩阵的构造方式:
2 T! v$ ?8 O) T; Q+ R: @
$ k% c0 [+ |! h$ {; o2 O(1)Indicator:0-1型,即一样的token取1,否则取0;这种做法无法涵盖同义多词的情况;5 q3 q' Q' y( G! m' l( @- t

4 H& \9 I" L: l; T(2)Cosine:即词向量的夹角余弦;
3 m$ ?1 M9 H, D' y; \' i$ J, O6 M
  U( @0 ~' R6 _, B( \(3)Dot Product:即词向量的内积+ A* Z, V6 S. R' z
% e( ^$ p8 E  W# x8 O: H$ ?& v
此外值得注意的是因为各个文本pair中句子长度的不一致,本文并没有采用padding到max-lenght的惯用做法,而是采用了更灵活的动态池化层,以保证MPL层参数个数的固定。
0 K& t! q% J( D( o/ C" t1 m
( u. }/ W! |9 z+ V$ o& O  T* D4. DecAtt7 ?  x5 C5 j" J
DecAtt将注意力机制引入到交互型文本匹配模型中,从而得到各token信息交互后增强后的向量表征。& g6 L  R9 w9 q) O7 G2 G$ s9 ~7 r6 x
! Y; y: i/ c8 n& u
模型被概括为如下层级模块:0 E; V0 K" T7 ?
% J& _) _: Y6 R5 ^) @, H! m/ f8 U, t
(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。. [; a  j' }9 F( d4 u

. {: _9 X! `; U* T" b0 m(2)Compare层:将前序Attend层计算得到的最终embedding,喂入一个全连接层进行向量维度的压缩。
+ A( Z% w/ c1 V9 [7 b- Q6 l' T7 g% Q7 b7 p
(3)Aggregate层:将每个文本各token处压缩后的向量进行简单的求和,再拼接起来通过MPL得到最后的匹配得分。
) u5 T% |7 `- |. t0 P) @& ~' p" W+ n( S
5. CompAgg5 Y2 Z1 X9 b9 a! |
CompAgg详细对比了在文本间cross-attention得到的各token向量表征与原始token向量进行compare的各种方案。
$ |& C/ L- L1 B) y1 t4 T. f: P4 _  w- U* j8 C8 B* X
该模型的主要结构包括:
/ N+ H  Z! }( w% B* S8 l) {1 b
1 L, ?, F# c/ g8 D(1)reprocessing层:采用类似于LSTM/GRU的神经网络得到token的深层表示(图中的\bar a_i);  |5 _7 U. {4 }* ]6 M
, z; z5 W9 b! U$ h& J! ^& d: q. S0 ^
(2)Attention层:利用软注意力机制计算文本间的cross-attention(与DecAtt相同),从而得到各token处交互后的向量表示(图中的h_i);
/ \& Q: \6 F& A* r4 ?1 N* d. _& d4 ?7 F% O% E8 e
(3)Comparison层:通过各种网络结构或计算将\bar a_i和h_i计算求得各token的最终表征。
+ i+ Z" V0 G; H! G6 S- [5 t3 ^# O8 @
(4)Aggregation层:利用CNN网络对Comparison层的输出进行计算,得到最后的匹配得分。
) Y$ n. U7 j1 g2 G/ I3 q" B! d- W1 m
其中Comparison层的构造方式包括:
3 T) n; E* s5 ~6 H2 }, D. q$ C+ y' Z
(1)矩阵乘法,类似于Pair-CNN中的中间Matrix0 C  r: A! P9 G  m/ y
7 Y; y2 p4 b2 f$ p  p( `
(2)前向神经网络,即将\bar a_i和h_i进行拼接,然后利用输入FFN;% l: A. o- W) Y) j
* U, K. [5 M& E) }
(3)分别计算cosine和欧式距离,然后拼接;2 |& n8 r/ r  F, I6 p4 r
' k; J6 N! v$ g# W; K4 a' e, k
(4)各维度进行减法;
9 f. e3 z$ x& s$ [
1 W1 J& e' J4 Y. ?. m+ l; c(5)各维度进行乘法;
9 K9 o0 ^* b# h6 b4 |7 L) I! g  [3 M9 S. d" I7 v1 ~3 o
(6)各维度进行减法和乘法,然后再接一个前向网络。; S3 B1 s! l' K' G- d
/ E# D1 A: e4 r' i
6. ABCNN6 d8 h) o) x$ a' G. Q5 A
ABCNN是将Attention机制作用于BCNN架构的文本匹配模型。
5 g* h0 ~1 q5 D1 j- s+ D- u
' r# B0 r2 ]2 m8 f% X( ~& D6.1 BCNN
  d( ?+ Z2 m4 o+ |) ^) L; E首先简单介绍下BCNN架构:
0 n+ d2 K) v. z/ l  `4 P' q3 G! O
  b6 H9 d+ F4 n# D. z4 _; |BCNN的整体结构比较简单:(1)输入层;(2)卷积层,因为采用了反卷积的形式,所以在size上会增加;
/ N6 h3 r4 q1 [/ }" s2 E* _. v: X1 D
(3)池化层,采用了两种池化模式,在模型开始阶段采用的是local平均池化,在最后句子向量的抽取时采用了global平均池化;(4)预测层,句子向量拼接后采用LR得到最后的匹配得分。. y/ Z1 X0 H! T8 e) o+ _5 y- P
  j) L1 F6 T, U
ABCNN共包括三种变形,下面依次介绍。2 z+ j7 c3 g9 u8 f

4 }6 e& c3 _) t5 q) O6.2 ABCNN: t: \  F9 r8 E: k- A

* s6 F& P0 B9 k1 q9 Y3 H4 i/ QABCNN-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 , _: i$ @2 p* X& G0 V
ij' c! Z) C& k1 v. V  m- p! P% L
​        / X( w. k) D5 X" G8 d
= , R  a, \+ p( v6 |
1+∣x
; p- c4 Q6 @( E. \# X* E, ]4 ii! R: q! N5 V" Y5 H: z+ G/ [
​        ! U# h4 A! W8 v6 v( q" y
−y
$ Q) F' X+ p' E5 X3 _2 E1 H0 yj1 E* ^; r4 m! R! K: n. R
​        4 J; F6 Y$ Q" w; ^4 a7 k8 t3 [2 b) e$ w
. Z* m4 W. C. T* Y: N  [/ }, h
14 I6 ~, t8 m* ]: J, b; ^& v
​        : W& y% y' \0 B  L' g
,然后分别乘以可学习的权重矩阵 W 0 W_0 W
3 v, p5 j: h: J7 j8 D: ?0% O  ~& a4 Z! K. q' ^' q! w
​        ; N! j& P, X; Q. n  y
和 W 1 W_1 W + M$ t7 ]- [( A0 {* O
1+ {: N% E( D6 `2 D. m3 L, ^
​        0 r9 ~. r3 \8 {, o+ R1 \4 A. i% H
得到attetion feature map。
# q4 @5 ^' L: l) c# s9 K6 {# |! ~# K
6.3 ABCNN-2
7 H9 y6 I: a; M* f: h3 V8 ~+ B2 h: x# c$ |, g' b  Y! m0 H/ s
ABCNN-2将Attention机制作用于word embedding层后的反卷积层的输出结果,其中注意力矩阵的计算原理与ABCNN-1一致。然后将注意力矩阵沿着row和col的方向分别求和,分别代表着各文本token的attention socre;接着将反卷积层的输出结果与attention socre进行加权平均池化,得到与输入层相同shape的特征图。
' x! S& W' N. E0 m7 C: Q* @  j
6.4 ABCNN-3
7 T+ @; q' ?' u
5 O8 i% a2 F+ ^" a* |" q( O/ G4 gABCNN-3的基本模块可视为ABCNN-1和ABCNN-2的堆叠,即在嵌入层和卷积层上面都引入了attention的机制用来增强对token向量的表示。
, l, _! ~1 L5 \3 e2 u% ?" y4 C3 O, x. e. I/ n- f/ |
7. ESIM  v8 a$ |) h+ V$ t
ESIM模型基于NLI任务给出了一种强有力的交互型匹配方法。其采用了BiLSTM和Tree-LSTM分别对文本序列和文本解析树进行编码,其亮点在于:
9 V' e* H4 H1 M7 s# S" U; {! z- ?; ~8 K
(1)匹配层定义了cross-attention得到各token的向量表示与原token向量间的详细交互关系,即采用 [ a ˉ , a ^ , a ˉ − a ^ , a ˉ ∗ a ^ ] [\bar a, \hat a,\bar a-\hat a,\bar a* \hat a] [
& E) W$ f5 b8 u8 \a
6 a# {2 S# {: ^% _) ]ˉ
+ u8 Y0 A! l' @  C" S , . _( z; Q& d- [6 s  s
a. k" v! T* _, Z% {1 ?4 Z+ J
^8 x( o% c! T" Y+ @) t4 P" |, \
, # U) g8 V& X+ q" x7 \) M4 G5 N
a0 E1 i' D6 m9 W) m. }9 N, u
ˉ
, A' Z& a: B# E% k2 Y( \) e( W9 k; [6 j! y$ [
a
% ]# ~* y/ e! z% @# g4 F^' A8 E: F) P: e( `) y; h: J: _
, " g" D4 n+ p( m; x
a
9 ~; U! w( p, y( q( r3 iˉ$ R( @9 `8 h7 ?+ D  a( \

/ c& [! I- S( f2 @2 g4 i2 _2 Ha
+ G! N6 n$ T: ^1 r: w+ h% A^2 N( r' i( ]' p% T: n
]作为最终文本token的向量表示,这也成为后续文本匹配模型的惯用做法。
% I! E/ Y. }* E9 j/ }
: y4 a. Q  H& K2 u(2)聚合层通过BiLSTM得到各文本token的编码,从而进一步增强了文本序列的信息传递;
) h9 X( S+ @2 z+ `6 h2 m* G  A3 H3 R9 l2 v5 f) j
(3)预测层通过拼接各文本token编码的max-pooling和mean-pooling结果,再经过MPL进行匹配预测。$ |4 B- s: {0 w

0 J1 B4 g' w2 D$ W
1 i: z6 M' a! n* n" w. }8 Q3 A* c- q$ ?& Q
8. Bimpm
9 Q. K" ^, ], Y& f0 B4 e! [Bimpm可视为对之前各类交互型文本匹配模型的一次总结。6 ~" V( L2 N6 R' p! \8 t9 g9 |0 u

: e3 h- n+ e5 w; T该模型在各层的具体做法总结如下:1 k( B( G- S) F) i! h1 A9 v

( J( b1 U# n% t, |3 N  D(1)编码层采用BiLSTM得到每个token隐层的向量表示;
! T2 S& }1 Z6 m# C; Z3 X
- z. o  |/ u* S9 x) `! s* N(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 @' {- |* n2 n) j; @
k
2 G) c4 o9 V6 H1 ?​        6 J* W4 R- ~9 P* ]
=cosine(W   a3 c8 ^1 G+ E: b  F3 ^5 I7 {
k; N- u8 a4 i& A5 S6 y& L6 v
​        & r4 t" y" Y9 p, x4 G  X
∗v - \" _+ c, v) i: C) A# f# W
1
5 }$ R5 O" i% A9 I6 s6 @9 v( h​        9 g0 S7 R  R; I' M0 x9 ?) A
,W ) y# o. c6 h3 l; x. [1 q6 `9 L
k
! o! b6 o/ r3 V$ z) q​       
  o: M: ~" i# Y0 Z1 X  Q ∗v
0 {( ?+ O) Z" s7 g' o2
: f$ ]! n5 f" b​       
, Y6 h( v1 X' ]" c3 j6 L/ ] )的方式可以得到两个文本的任意token pair之间在第k个view下的匹配关系,至于 v 1 v_1 v * Q2 x( e( i0 R
1
% J: Y' M; B+ O! h$ U) X5 a​       
& f5 Q% Y0 _( q- f, ^+ v 和 v 2 v_2 v 2 R1 A: Q8 L4 {4 [% \
2
3 Z* E- `% M0 b9 L# \" D' I, Y​        ) @% \. S0 X* {1 ?, @# X1 K. V; k' k
如何取,文章提供了4种策略:
( v9 s2 P- a9 i. U1 x6 }; r8 D6 @- v/ R+ S! s2 a
策略一:其中一个句子取各token隐层的向量表示,另一个句子采用隐层最后时间步处的输出;
$ j7 @) E; p' k% i$ l# q9 s策略二:其中一个句子取各token隐层的向量表示,另一个句子采用隐层各时间步输出与之匹配后取再取Max-Pooling值;
% Q% ]( M8 }  Y% J策略三:其中一个句子取各token隐层的向量表示,另一个句子采用cross-attentive后得到的加权句子向量;; ?! R9 ?/ ?  m/ }( J- }
策略四:其中一个句子取各token隐层的向量表示,另一个句子采用cross-attentive后attention score最高处token的向量作为句子向量。
: U8 ~- s# t& y这四种策略的区别在于对句子向量的计算不同。/ `* y; X5 C" j8 p5 T
0 J, Z- H* u9 _+ {; r, q8 T* k5 r

: `7 u- |1 M" G; y4 W" }(3)聚合层,首先对上面各种策略得到的输出层再通过一层BiLSTM层,然后将各策略下最后时间步的输出进行拼接,得到最后的聚合向量;, U9 ]+ J/ C# [0 q2 L; S! V8 Y0 h
. O  Q+ L& P2 e( d8 M* W9 P( }: t
(4)预测层:两层MPL+softmax! Y2 G/ L" q* ~" O0 \; k
! ^6 n- P3 [$ T# E" T6 O
9. HCAN
  z$ ~8 r4 `% G' F$ c+ b* YHCAN是除Bert类模型外在文本匹配领域表现最为优异的深度模型之一,其采用了较为复杂的模型结构。
& P3 p3 j0 T) i1 x! ~  m7 E  o2 V3 W
针对于信息抽取问题,文章首先分析了相关性匹配和语义匹配的差异:& x1 V1 _8 }1 [2 C. k4 P
: {( K1 E- w% p9 r
(1)相关性匹配主要关注于关键词的对比,因此更关注低层级词法、语法结构层面的匹配性;
% [# b5 s) w& a7 M1 p2 y$ ~
5 x; \5 y& Q, U) j* b, V% z; r(2)语义匹配代表着文本的平均意义,因此其关注更高、更丑想的语义层面的匹配性。) |6 p% v1 n# B2 C4 U" I

+ Y, W' ~& ~, T" X该模型首先采用三类混合的编码器对query和context进行编码:
9 O3 Y, |& M, _2 x6 K" |; ^2 K" _/ J* l, g. g  [
(1)深层相同卷积核大小的CNN编码器;' E5 U  Z( m( A* K3 _: v, y

4 x% ~4 u" X$ {(2)不同卷积核大小的CNN编码器的并行编码;
; ?* T0 N4 _# b* C7 R3 t' _; I+ P6 X) ?+ d) p8 m) g
(3)沿着时序方向的stacked BiLSTM编码;
0 f# ]- ^: ]+ v
: S; {1 K! n, D! u0 [) j. `2 |对于前两者,通过控制卷积核的大小可以更好的捕捉词法和句法特征,即符合相关性匹配的目的;而对于后者,其能表征更长距离的文本意义,满足语义匹配的目的。" q- Y: r! a% q6 L) J' [3 p: q3 T
( H; Y! L" S% n6 p
在这三类编码器的编码结果基础上,模型分别进行了相关性匹配和语义匹配操作。其中相关性匹配主要采用各phrase间内积+max pooling/mean pooling的方式获取相关性特征,并通过IDF指进行各phrase的权重调整。而在语义匹配中,模型采用了精心设计的co-attention机制,并最终通过BiLSTM层输出结果。
* h' `) `0 X* U. ]) g# V8 L5 |* h& S! g% N  Y' b/ N& X; [
最后的预测层仍采用MPL+softmax进行预测。
6 Y. }6 N6 `% r; w. V4 h7 W! N- q! W% V2 N% U  j% e
10. 小结2 j6 }6 R2 b5 D+ Y5 R: _+ h
交互型语言匹配模型由于引入各种花式attention,其模型的精细度和复杂度普遍强于表示型语言模型。交互型语言匹配模型通过尽早让文本进行交互(可以发生在Embedding和/或Encoding之后)实现了词法、句法层面信息的匹配,因此其效果也普遍较表示型语言模型更好。  @- C! o  H; ~& \7 W% c

, i  X) m' o& a【Reference】
6 M+ v1 |' G& B# O7 W! v+ _" a  A# N
8 x- m0 F) ]& \( {. sARC-II: Convolutional Neural Network Architectures for Matching Natural Language Sentences8 W& @1 s6 I# Z

' m9 i* R) R; N0 p$ j& ZPairCNN: Learning to Rank Short Text Pairs with Convolutional Deep Neural Networks
( m. S% j) m8 B6 R& R. x
$ p6 W) h. A+ x( FMatchPyramid: Text Matching as Image Recognition4 W- S1 L7 [7 |) V+ E5 Z
  J: l4 [8 u  D
DecAtt: A Decomposable Attention Model for Natural Language Inference% @) B$ b4 c( b2 m% _" [" M

% w4 v; W2 b7 j- x+ tCompAgg: A Compare-Aggregate Model for Matching Text Sequences
) |) Q# b& I7 A3 z5 [. a8 G/ v5 W) j1 X6 h
ABCNN: ABCNN: Attention-Based Convolutional Neural Network
2 z  D* L5 S: r  cfor Modeling Sentence Pairs, {% t% [- K* [% T$ G

4 J; |+ |% v" j$ b3 e. SESIM: Enhanced LSTM for Natural Language Inference
! Z' M4 H5 _7 X! X3 F1 g& Q$ c, V. _
Bimpm: Bilateral Multi-Perspective Matching for Natural Language Sentences
4 w6 \+ t  S* P
& f( [9 `3 n% r8 DHCAN: Bridging the Gap Between Relevance Matching and Semantic Matching
4 W/ X) p. y0 Wfor Short Text Similarity Modeling% S  L* J* o3 K$ }4 f6 X8 K& g

3 E; ^6 L( V  A1 t文本匹配相关方向打卡点总结(数据,场景,论文,开源工具)
; i! K; G: D0 {5 ?& J" R
* Q' f( J8 e) e$ x9 n0 m谈谈文本匹配和多轮检索2 M  Z, p4 d* f+ }- I% q

/ \. C% x1 B: l贝壳找房【深度语义匹配模型 】原理篇一:表示型
4 H5 u3 Y" g1 O1 C3 A————————————————
5 B: i1 O! d  n- P版权声明:本文为CSDN博主「guofei_fly」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。7 @+ M# V  k. ?; k1 \) a5 h; L9 ?
原文链接:https://blog.csdn.net/guofei_fly/article/details/1075012768 D& v7 U1 c2 p

" y7 D( S0 d9 f! e7 M
- `6 Q2 t- l. ^5 b* M




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