数学建模社区-数学中国

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

作者: 杨利霞    时间: 2023-4-13 21:16
标题: 【文本匹配】交互型模型
【文本匹配】交互型模型
+ j6 w5 c. w& B- i6 u4 h& W" K
( c( s/ j+ \; X表示型的文本匹配模型存在两大问题:(1)对各文本抽取的仅仅是最后的语义向量,其中的信息损失难以衡量;(2)缺乏对文本pair间词法、句法信息的比较* J9 t7 V% v  s8 S
  k: l' ]6 F7 _; S
而交互型的文本匹配模型通过尽早在文本pair间进行信息交互,能够改善上述问题。
0 f6 u$ w5 w( F
6 |6 ]. _2 s. [  U. ^6 V' c" M基于交互的匹配模型的基本结构包括:' Y+ o" x' p/ v+ V# r
$ T4 ~. T( m# V5 {% N) p( z
(1)嵌入层,即文本细粒度的嵌入表示;0 n- n* t3 n8 s6 Y7 |, K
% v, F$ J; s. ~1 D/ R
(2)编码层,在嵌入表示的基础上进一步编码;1 x" l; V2 N" h6 q$ m( _% V# r

6 F# y- c  k6 B$ L+ I(3)匹配层:将文本对的编码层输出进行交互、对比,得到各文本强化后的向量表征,或者直接得到统一的向量表征;
  M6 u5 G  u1 r8 e# c& P2 Z, D
(4)融合层:对匹配层输出向量进一步压缩、融合;- t0 C  U! V. j7 S* G3 A  N

" N7 _0 w; L" ]$ e" a% P6 n(5)预测层:基于文本对融合后的向量进行文本关系的预测。; B+ t4 @5 D" D" S. G1 w( \+ r
1 A# `  O  W; I1 }+ m) K5 p

! T/ d  F3 B0 X2 S
1 y; R! @2 n) Z. j) Z( T1. ARC-II' k4 _+ f% i* G. [' [
ARC-II模型是和表示型模型ARC-I模型在同一篇论文中提出的姊妹模型,采用pair-wise ranking loss的目标函数。
. q! [# b5 O! A+ h/ h0 E! h- t) s8 _2 {$ T) H9 \
其核心结构为匹配层的设计:: _% J; E2 o/ v- H2 Z; v2 L
9 q/ |# d) h& K2 h! K. I
(1)对文本pair的n-gram Embedding结果进行拼接,然后利用1-D CNN得到文本S_X中任一token i和文本S_Y中任一token j的交互张量元素M_{ij}。该操作既然考虑了n-gram滑动窗口对于local信息的捕捉,也通过拼接实现了文本pair间低层级的交互。
' z( g- U  R  _$ b$ @+ U) e* S! N% D
(2)对交互张量进行堆叠的global max-pooling和2D-CNN操作,从而扩大感受野。/ I5 P- o  {5 X+ _

$ f& |4 _7 y+ v. D" ?2. PairCNN
7 J  g; n$ M9 r' \3 W! T! W, l: P! BPairCNN并没有选择在Embedding后直接进行query-doc间的交互,而是首先通过TextCNN的方式分别得到query和doc的向量表征,然后通过一个中间Matrix对query和doc向量进行交互得到pair的相似度向量,然后将query的向量表征、doc的向量表征、相似度向量以及其它的特征向量进行拼接,最后经过两层的MPL得到最后的二分类向量。
4 H' Q4 ?; R! `1 H* X" z3 a0 v# J# }6 W2 B4 X  F
PairCNN的模型架构中的亮点在于各View向量的拼接,既能利用原始的语义向量,还能够很便捷的融入外部特征。
7 Z3 C$ k! G9 z" A2 u; J- v/ l1 G# u" j7 f9 E+ g3 a
3. MatchPyramid
8 T+ Y6 y8 w2 y# Y$ C: n& T$ _& g无论是ARC-II中的n-gram拼接+1D conv还是Pair-CNN中的中间Matrix虽然均通过运算最终达到了信息交互的作用,但其定义还不够显式和明确,MatchPyramid借鉴图像卷积网络的思想,更加显式的定义了细粒度交互的过程。; b5 f: P& @% u, I- \1 `6 o5 b
MatchPyramid通过两文本各token embedding间的直接交互构造出匹配矩阵,然后将其视为图片进行2D卷积和2D池化,最后Flatten接MLP计算得匹配分数。本文共提出了三种匹配矩阵的构造方式:1 O. @2 G% U0 a. D2 {
$ \4 N, f) g! _$ @  A
(1)Indicator:0-1型,即一样的token取1,否则取0;这种做法无法涵盖同义多词的情况;  ~) w$ q# @: i. x; Y; |# X) V3 ]

  Y8 @6 {3 k! b(2)Cosine:即词向量的夹角余弦;% Z- o+ h4 j& Y+ Q; U
4 m9 C. D0 ]5 i& T& k# `$ v
(3)Dot Product:即词向量的内积& L6 a/ H% i, ?/ d" z  {

, d& i; T, X* d/ X' U此外值得注意的是因为各个文本pair中句子长度的不一致,本文并没有采用padding到max-lenght的惯用做法,而是采用了更灵活的动态池化层,以保证MPL层参数个数的固定。; V) y- @5 ^" b& O  I( g- d$ X

+ M/ y$ l  e7 d/ e1 V0 u: O4. DecAtt
7 \8 B2 D* n% K% e  {2 ]! x4 Q$ B; ADecAtt将注意力机制引入到交互型文本匹配模型中,从而得到各token信息交互后增强后的向量表征。, i% M9 R* Q' ^1 O
1 w. t  x0 {1 _  ^$ m
模型被概括为如下层级模块:
( W$ ~' L5 h+ J) p* I7 i: l$ [; z, T4 R6 i% k6 y
(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。: }& \+ S3 {& e0 D- D
+ X$ T/ f9 r+ }) b8 ?
(2)Compare层:将前序Attend层计算得到的最终embedding,喂入一个全连接层进行向量维度的压缩。
) `% n4 R1 C! W7 ]+ e  Q# S) [1 w& Q
(3)Aggregate层:将每个文本各token处压缩后的向量进行简单的求和,再拼接起来通过MPL得到最后的匹配得分。
4 q! Y4 C4 b' x2 N) y. C4 L, i" P# I. O4 \2 j
5. CompAgg
! {0 O9 D# m' k# y" t" G- DCompAgg详细对比了在文本间cross-attention得到的各token向量表征与原始token向量进行compare的各种方案。/ w& Q1 b4 P$ g7 q, e+ H9 `& c
8 M4 E/ Z' X! E0 |$ c) r/ `  o3 z
该模型的主要结构包括:. ]+ R8 G. O7 ?( g

) y: `( c9 h6 g. p& ~(1)reprocessing层:采用类似于LSTM/GRU的神经网络得到token的深层表示(图中的\bar a_i);
. [, i' r, d5 c( m' r
7 V  i, {( }% p: t6 ^- c7 ](2)Attention层:利用软注意力机制计算文本间的cross-attention(与DecAtt相同),从而得到各token处交互后的向量表示(图中的h_i);, K3 h/ ^3 I' K9 W; L
2 d9 |, X3 g4 |  F
(3)Comparison层:通过各种网络结构或计算将\bar a_i和h_i计算求得各token的最终表征。) p5 m+ C; X5 Z# c

9 [; A* T; [% l( W: X(4)Aggregation层:利用CNN网络对Comparison层的输出进行计算,得到最后的匹配得分。
0 ~& @0 S& G- L  H' S. f% ?, v# I* j8 P# p  o( c& l4 Q. V) q6 N2 x
其中Comparison层的构造方式包括:4 U6 K1 }! e$ j: {/ T, n3 h7 ]7 R/ Q
( \/ a0 n& ?$ s% J2 U
(1)矩阵乘法,类似于Pair-CNN中的中间Matrix  d; b# @  Z6 D3 `
; q6 C5 T- `( }5 Q
(2)前向神经网络,即将\bar a_i和h_i进行拼接,然后利用输入FFN;
! V" J9 `! P& T
" \7 x" D& @; n* B" i(3)分别计算cosine和欧式距离,然后拼接;
( K4 ~; e# I6 S. E( F6 u7 `+ c; W' e+ L. J% \; y* {* i
(4)各维度进行减法;
: J, E8 j. E2 v5 N/ W) c" p& ?: N: ]! |& _
(5)各维度进行乘法;
  Q. p1 k* v" F; I
4 a" h" r( E2 v5 F9 @7 Q(6)各维度进行减法和乘法,然后再接一个前向网络。0 \- j  O9 h- h- w

  q' ]% q& ?' z, Y6. ABCNN0 @8 b1 I4 i) S' R: f
ABCNN是将Attention机制作用于BCNN架构的文本匹配模型。' ^- j0 R, ^7 i( x) D0 x3 A
4 h0 s- X3 D6 x9 o5 b
6.1 BCNN
% C# n1 Z8 b3 \7 t& [/ y$ W' A首先简单介绍下BCNN架构:) y% U! {9 f1 c, `
2 ?/ E7 O' c; U. P3 G
BCNN的整体结构比较简单:(1)输入层;(2)卷积层,因为采用了反卷积的形式,所以在size上会增加;2 G" X" G5 S2 ^$ Y- \
) f0 b, J$ w/ |6 J1 c7 V$ N
(3)池化层,采用了两种池化模式,在模型开始阶段采用的是local平均池化,在最后句子向量的抽取时采用了global平均池化;(4)预测层,句子向量拼接后采用LR得到最后的匹配得分。
; Q+ L1 z9 q1 m" t/ |' D# U$ q/ v  @; u* f) s3 \
ABCNN共包括三种变形,下面依次介绍。/ K5 H" h# N  f2 n

% s! _; Y' ?8 {# P& x' n6.2 ABCNN
$ r1 N; o" e& _6 D3 L3 x6 A7 ~0 e+ G3 A( M
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
* n/ Q$ y( W/ f4 u: _/ Oij$ w/ V& N5 s2 n3 E  R
​        5 D( Z) n: @* \2 ]! j0 e
=
3 |5 W2 c& X- |( G( g( V4 x* b1+∣x   l/ B) F( K5 I$ ]" ~
i
% F( i: P: E$ @8 S​       
# X1 }* X1 G. |) U$ ~' r −y
; I  d- E2 t8 F9 K; Nj+ F- N' X' T, D6 K1 M; o; c; O6 a
​       
# k. b3 z2 b& g# l+ b# e+ K$ T
/ q9 C5 Y, a% y/ a6 u! a1
/ D3 u: w+ ^3 {2 r​        - i6 d3 {2 y$ z7 V
,然后分别乘以可学习的权重矩阵 W 0 W_0 W
* b: W0 p# u/ G) O. W0- F  g/ A  i: }. Y3 D: t) G
​        / d$ ?, e( k9 e
和 W 1 W_1 W
% j, p% q. {& t: y8 H8 f19 X; _8 v9 f! f8 ]
​        * E) `6 x9 Z% x% ]- o" I% _- ~: W
得到attetion feature map。
$ e* l% S  M4 S& l' B0 P5 R2 i4 Y, n
6.3 ABCNN-25 z& @% E$ b% _- s  M

/ {, W5 O3 o4 ^% j" ^6 L' I, gABCNN-2将Attention机制作用于word embedding层后的反卷积层的输出结果,其中注意力矩阵的计算原理与ABCNN-1一致。然后将注意力矩阵沿着row和col的方向分别求和,分别代表着各文本token的attention socre;接着将反卷积层的输出结果与attention socre进行加权平均池化,得到与输入层相同shape的特征图。* r- b: ]5 U: F& B3 J) x% S* D

( C3 t! g2 c, Q/ R0 ~* q# A6.4 ABCNN-3
* L# V3 b2 i6 T' w, w
: s. n* _1 N7 J* M5 `+ Z: I4 gABCNN-3的基本模块可视为ABCNN-1和ABCNN-2的堆叠,即在嵌入层和卷积层上面都引入了attention的机制用来增强对token向量的表示。1 a' C2 j* s3 S# u# d
! y( E6 _" M9 T4 z3 X. T
7. ESIM1 }9 L; n: U7 I. s' V  C
ESIM模型基于NLI任务给出了一种强有力的交互型匹配方法。其采用了BiLSTM和Tree-LSTM分别对文本序列和文本解析树进行编码,其亮点在于:4 W( w; q$ ]- K& ?6 a% {

& x& k- j2 }3 L(1)匹配层定义了cross-attention得到各token的向量表示与原token向量间的详细交互关系,即采用 [ a ˉ , a ^ , a ˉ − a ^ , a ˉ ∗ a ^ ] [\bar a, \hat a,\bar a-\hat a,\bar a* \hat a] [ 9 E' o/ Z( H% \9 U- e7 l
a4 n! o5 v9 X$ }/ p2 h- F% i. ?) j
ˉ6 z$ U9 g5 ?% l  N: n2 n  p
,
4 K( v5 }/ K3 \% _a
. n; l: l3 \" {4 Q^( k; Q" S; y9 p7 n, x! f6 P9 E2 o
,
1 S( Y' }4 h0 t9 a! V$ e' pa# I& a& X6 l: n6 O) F
ˉ- {; n) m2 O+ k8 s' z0 C
( V3 \% t4 j6 H8 u
a: r! C+ t" M% K9 ~
^
& }7 w( S' F; x& k) f , % e5 A* L( G/ f% S
a
0 A5 {( B  f7 s  xˉ
- [9 T6 X6 J0 h
% ?) n1 ]* w2 |6 T1 ka
0 D  T/ U! Q  M^" Q; f3 z' a2 k) S! E
]作为最终文本token的向量表示,这也成为后续文本匹配模型的惯用做法。
9 H9 I: N; p% ~8 }. V. a9 }9 T/ y8 h$ q: Q. s
(2)聚合层通过BiLSTM得到各文本token的编码,从而进一步增强了文本序列的信息传递;0 u' D$ C: t/ _' T

, l$ b9 A+ ?- J! D  ]8 y+ ^) M(3)预测层通过拼接各文本token编码的max-pooling和mean-pooling结果,再经过MPL进行匹配预测。
: Y) V1 M6 W' q- w% i! F/ P& d, ]/ n! V. l# b

" z0 K0 Y# v! d" X( N
6 u, g% \5 l* i9 j8. Bimpm" \& w: |& f* [# `; h
Bimpm可视为对之前各类交互型文本匹配模型的一次总结。. f  M1 a$ X, [, q/ I' E" [2 {

& H3 \+ i0 w" E* H% @该模型在各层的具体做法总结如下:
( K) u& P& x2 u- I
* a' J* Z+ w% s% c. l7 q(1)编码层采用BiLSTM得到每个token隐层的向量表示;) m  a# j% `# E7 e, z
; v" ~, t2 [3 h0 F1 ~. Q8 b2 U
(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   g6 Y% j  D: F3 z4 _
k
/ C% c, P# h# @- B. Z​        6 C- N, C) X$ R4 q
=cosine(W
0 D* ?+ Z3 R- T" \0 U$ Jk
7 ]  O/ e4 f* l" n& ]​       
7 [4 p: y! d% j5 j" \' @, e ∗v
& N  P! J5 ^; Q0 }1
( \5 g4 y6 a, w( P: h9 E​       
0 a' u; g9 l; U) f; ` ,W
# \- Q& p8 x& A) ?k* O3 g3 v& V4 J' n5 t" P4 G$ ^
​       
$ Q7 K) C1 `7 t3 { ∗v
( l0 q. }3 g4 x. Y; Q9 h# N6 _20 j" U8 W, b3 S8 g
​       
. F* v4 U, j! z$ A' H )的方式可以得到两个文本的任意token pair之间在第k个view下的匹配关系,至于 v 1 v_1 v
9 t1 ?5 |  G- s, E, h5 {/ f% n1
( W& l% ?. ~7 }3 f/ y​       
0 a7 Z4 J8 y5 k2 e( f- j' [1 d 和 v 2 v_2 v
4 m( k0 [* G# |3 x- E2 v2
" ~# u* l, ^; q5 f6 X5 l​       
1 W5 ^% H9 v, n3 L6 F- t2 t- `$ @ 如何取,文章提供了4种策略:
0 z; T3 P" I# _. i+ h4 K9 m
' |1 e: q6 F5 q9 Q  d策略一:其中一个句子取各token隐层的向量表示,另一个句子采用隐层最后时间步处的输出;/ e; J! S; z$ R6 S5 Z" I4 `4 w! R
策略二:其中一个句子取各token隐层的向量表示,另一个句子采用隐层各时间步输出与之匹配后取再取Max-Pooling值;/ F- H. x8 S0 P( K2 x' Y$ ]8 A
策略三:其中一个句子取各token隐层的向量表示,另一个句子采用cross-attentive后得到的加权句子向量;$ A, X7 x$ |: N9 a( b' \
策略四:其中一个句子取各token隐层的向量表示,另一个句子采用cross-attentive后attention score最高处token的向量作为句子向量。
& c5 f( D  p" y9 ~, j- Y这四种策略的区别在于对句子向量的计算不同。
4 U; r1 d) {! s0 ]8 k- v& W7 y4 ~; s  a# p  n$ b  U) {

( g3 K# [. I( _, \(3)聚合层,首先对上面各种策略得到的输出层再通过一层BiLSTM层,然后将各策略下最后时间步的输出进行拼接,得到最后的聚合向量;
$ j  [5 P% K. z( E& A: a$ ~) W" |$ v# s6 n& `4 \
(4)预测层:两层MPL+softmax
- ^8 G- S/ f% t0 d
2 e; V. t: D1 d- }/ ~3 m6 ~9. HCAN) R8 q5 l6 E9 ~7 f
HCAN是除Bert类模型外在文本匹配领域表现最为优异的深度模型之一,其采用了较为复杂的模型结构。
6 |) R7 o9 x! @+ l: L8 }+ o# R! a  J$ @* d4 M  }9 }: @% V+ P) X8 y
针对于信息抽取问题,文章首先分析了相关性匹配和语义匹配的差异:
0 d/ ?; D+ v1 K" C. a, s& O
  y6 s5 j! R! t9 h2 S(1)相关性匹配主要关注于关键词的对比,因此更关注低层级词法、语法结构层面的匹配性;  ]3 h% q$ i  L. A* m
- x; {# a! a* t, g7 x  {, ~
(2)语义匹配代表着文本的平均意义,因此其关注更高、更丑想的语义层面的匹配性。
' h3 V* q* x. q6 L3 S, |
/ T, W; ^: ]$ T4 b该模型首先采用三类混合的编码器对query和context进行编码:7 l3 f; @' E. V: S$ V

  d0 L( o& S4 z' o(1)深层相同卷积核大小的CNN编码器;
# q# e2 G& A$ H, }* A0 g' z7 W' E
(2)不同卷积核大小的CNN编码器的并行编码;, i% S6 S! i. G: S- E- e9 T* U7 E$ m

) I8 Q, }1 d& w) r" u  w(3)沿着时序方向的stacked BiLSTM编码;9 {. G/ W5 @  f. N

, U& D9 H/ y& U5 R对于前两者,通过控制卷积核的大小可以更好的捕捉词法和句法特征,即符合相关性匹配的目的;而对于后者,其能表征更长距离的文本意义,满足语义匹配的目的。
' x( P, B, a" \1 e/ j. u, ?1 U9 g% _  z+ O+ Y: S7 w% \, @9 Y
在这三类编码器的编码结果基础上,模型分别进行了相关性匹配和语义匹配操作。其中相关性匹配主要采用各phrase间内积+max pooling/mean pooling的方式获取相关性特征,并通过IDF指进行各phrase的权重调整。而在语义匹配中,模型采用了精心设计的co-attention机制,并最终通过BiLSTM层输出结果。
! x+ p  K3 a" H- p5 A( l/ _: d6 o. C* W8 c# x
最后的预测层仍采用MPL+softmax进行预测。
. A4 ~7 W) R7 f6 c% z- T
- |) H: L7 h2 W! T10. 小结, _3 J4 ~" A/ M3 K1 I
交互型语言匹配模型由于引入各种花式attention,其模型的精细度和复杂度普遍强于表示型语言模型。交互型语言匹配模型通过尽早让文本进行交互(可以发生在Embedding和/或Encoding之后)实现了词法、句法层面信息的匹配,因此其效果也普遍较表示型语言模型更好。! R( Q# Y. M* O

$ r' }+ s4 l1 P$ N7 @; y【Reference】
( [/ `) s$ Z; e6 o8 |
$ m( i4 e- C' D7 O& I; k8 G- PARC-II: Convolutional Neural Network Architectures for Matching Natural Language Sentences
; F5 Q* p$ O% s7 C: i" M' c, a2 `  x8 m6 p
PairCNN: Learning to Rank Short Text Pairs with Convolutional Deep Neural Networks
! j+ K$ P  N4 h4 E( U7 ]6 L1 `. V5 a0 A8 v( J6 a! G  C
MatchPyramid: Text Matching as Image Recognition
4 H  J, y' Q# h  [1 V3 P6 ]2 f2 k/ _6 t! Y
DecAtt: A Decomposable Attention Model for Natural Language Inference
( l3 b; T3 S; Y3 M4 }
0 g' E; v* B9 G. iCompAgg: A Compare-Aggregate Model for Matching Text Sequences) [8 K$ ]7 C; y1 R" P8 Q- H" t
* S# J9 J6 e- p/ O- q: }8 o
ABCNN: ABCNN: Attention-Based Convolutional Neural Network) x* Y% ?5 a! t; l  O
for Modeling Sentence Pairs3 q' p0 O6 h  ~+ z' u

3 j3 k) K% S' v1 jESIM: Enhanced LSTM for Natural Language Inference: i/ O# B' D& U; i' S$ q

. r) J8 \4 K, GBimpm: Bilateral Multi-Perspective Matching for Natural Language Sentences
0 |5 L& p" X) K# y( h, y2 g5 a! U# I4 ~  C! |
HCAN: Bridging the Gap Between Relevance Matching and Semantic Matching
/ W; B9 x$ \& Zfor Short Text Similarity Modeling- ^. O6 s* T& t' A) J/ q
# @' T4 O# N! |+ |( a
文本匹配相关方向打卡点总结(数据,场景,论文,开源工具)
5 x. N; j" K% E) O/ @2 b! S7 T3 H8 u5 M- g$ u; t
谈谈文本匹配和多轮检索& }& q& T/ z2 Q, u4 J# j

5 W2 H" y4 P- p& y5 Q$ v9 c贝壳找房【深度语义匹配模型 】原理篇一:表示型# e0 Q- G* s& ]- X
————————————————
! h0 _2 [6 O  i1 G- X; W: {版权声明:本文为CSDN博主「guofei_fly」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。( A- a, V8 K- g) @, w" }5 G
原文链接:https://blog.csdn.net/guofei_fly/article/details/107501276
. G: N: F$ d. Y; G/ ]9 g& X( b7 v
) w4 d; ~) Q: R  t- q& h) \: ^+ |" e* f$ j$ l





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