4 B* k' I( I& ~3 e& [$ e此外值得注意的是因为各个文本pair中句子长度的不一致,本文并没有采用padding到max-lenght的惯用做法,而是采用了更灵活的动态池化层,以保证MPL层参数个数的固定。/ {+ m( |& S! }) \
, {/ u2 u, x1 V" p! ?/ Y: U- g
4. DecAtt 5 z: q9 p% t# K0 G }, L; u. YDecAtt将注意力机制引入到交互型文本匹配模型中,从而得到各token信息交互后增强后的向量表征。 0 f5 P" H+ {& B) I5 e 1 A7 Q3 Z/ a Z. Y1 J, Q模型被概括为如下层级模块: % C% _8 ]# q$ |2 ?7 }& n2 g5 r, M/ l0 x
(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。 ! W, | P+ {- E$ @% k% z) S2 u) a- f; T: c9 z
(2)Compare层:将前序Attend层计算得到的最终embedding,喂入一个全连接层进行向量维度的压缩。. N& F' ?5 V- b; _
/ W: x1 a8 ^, g# Q+ M$ {3 \
(3)Aggregate层:将每个文本各token处压缩后的向量进行简单的求和,再拼接起来通过MPL得到最后的匹配得分。 6 N" w9 X4 [! I0 P+ r; H4 f5 U0 w0 m" Y2 T6 T0 r
5. CompAgg ?& ^0 _2 z* c2 M9 I
CompAgg详细对比了在文本间cross-attention得到的各token向量表征与原始token向量进行compare的各种方案。 ; }( q4 h: D* p/ A) x. y 1 {2 }; h. J/ Z" \6 h% f6 t该模型的主要结构包括: # ^/ ?8 s% N, ^9 b. a. r6 v% H) a+ {% |# t9 j
(1)reprocessing层:采用类似于LSTM/GRU的神经网络得到token的深层表示(图中的\bar a_i);+ N& g/ _. w6 j7 {
1 H: o: |1 g3 P( U! p# D(2)Attention层:利用软注意力机制计算文本间的cross-attention(与DecAtt相同),从而得到各token处交互后的向量表示(图中的h_i);3 j& y/ m0 Q& N* S, z8 u T# ?
3 E6 w8 Y7 _4 V/ ~; P
(3)Comparison层:通过各种网络结构或计算将\bar a_i和h_i计算求得各token的最终表征。 1 Q( i9 T) ]- ]+ @ y# _$ V* C3 x) q. C6 e# ?; H5 z0 i3 d
(4)Aggregation层:利用CNN网络对Comparison层的输出进行计算,得到最后的匹配得分。 ; p" U7 L" I$ m0 G. I1 t3 t % ^/ {# \2 c, O+ m7 g" l+ h( u' C: u其中Comparison层的构造方式包括:, \7 I9 D7 v8 d2 @* }, d j
- q" j& d/ n! y# C# y
(1)矩阵乘法,类似于Pair-CNN中的中间Matrix 4 ^1 z# d! L$ T6 q6 z# [' e + r# E7 Z" w. P. g1 G1 ^$ B(2)前向神经网络,即将\bar a_i和h_i进行拼接,然后利用输入FFN;. O4 C0 \# t0 v: E
; f0 c" d- T/ K( n: Z$ ^' k; W(3)分别计算cosine和欧式距离,然后拼接;( L2 t' x4 f+ d" _: n2 ~1 g5 g* \5 o
& \+ m; @8 o" s4 m1 l0 d) x
(4)各维度进行减法; & A% `; O, ?* r# r! U, R 7 J+ b$ a2 [$ j7 C n/ R(5)各维度进行乘法;5 ?' K' [: q5 }$ M; V2 q( y
* r5 t. F- u! g. S4 n% ^3 f2 D: |
(6)各维度进行减法和乘法,然后再接一个前向网络。/ z, j$ w9 ~7 d
2 T% B" @; y7 n8 K
6. ABCNN7 v; m$ y/ q9 P* b5 U+ P8 u: D
ABCNN是将Attention机制作用于BCNN架构的文本匹配模型。! v. m4 [: p9 b; T
' i# w3 t4 r- ?; g/ w6.1 BCNN ( n8 Y" X8 v/ K- S! i: y首先简单介绍下BCNN架构: 6 R7 `: Z6 F5 @0 j) @: L8 r Z0 m, I. d
BCNN的整体结构比较简单:(1)输入层;(2)卷积层,因为采用了反卷积的形式,所以在size上会增加; 8 M( i/ q' c0 b8 V3 h O9 I+ P' a 9 J: s' s1 u5 G3 D" M4 v3 o( |(3)池化层,采用了两种池化模式,在模型开始阶段采用的是local平均池化,在最后句子向量的抽取时采用了global平均池化;(4)预测层,句子向量拼接后采用LR得到最后的匹配得分。 ! R4 K' h0 B3 w5 z) k! V# @ Q0 o3 t' y8 b( P& fABCNN共包括三种变形,下面依次介绍。: j0 i/ ^, U& {5 f3 f @
! Y4 A- z7 x5 S, y
6.2 ABCNN% G8 I& S1 V6 j! N/ O/ {; z2 H I
$ c1 j" j4 K1 l% g1 d& F
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 + k$ K3 Q" i3 A1 y0 H
ij/ H3 ~' F4 G' s8 Y
7 `8 ^. W/ B2 l( }0 ?
= ; J' @( O# P( \9 }9 F$ c
1+∣x * {& x/ a5 \6 Q* J% f+ W
i 5 ?! I2 x1 [" q7 I ) b9 I% O; v* G5 `: f) f( X
−y 0 h+ s* U/ @% cj % _: t) M9 D3 k' t7 i , @7 Y9 D& U' a& h: U$ [. z ∣, j7 s U) O: a$ N H$ M+ b* {
1 $ `, N' a+ `8 r; n* y& C4 w ) v8 O: b/ v: l) {( z: o' V" P
,然后分别乘以可学习的权重矩阵 W 0 W_0 W 3 h8 q6 @( }% {) Q; D0 Z' y07 ?8 Y9 L% B5 d, V
* C* v7 H# g' J4 q
和 W 1 W_1 W , v. @- b* B' E J. N0 d
13 R9 g0 S4 b, ]. H0 b3 Z8 U
# G; T$ K4 W& \' M& }! X- ]
得到attetion feature map。 . Q- @6 T3 u' g7 h7 H' C: |) s' P; |2 D7 ^; b) V" U
6.3 ABCNN-2 7 M+ {! C: Z* {# p H+ q2 [, S2 B! p' Z% `7 o" Z% f
ABCNN-2将Attention机制作用于word embedding层后的反卷积层的输出结果,其中注意力矩阵的计算原理与ABCNN-1一致。然后将注意力矩阵沿着row和col的方向分别求和,分别代表着各文本token的attention socre;接着将反卷积层的输出结果与attention socre进行加权平均池化,得到与输入层相同shape的特征图。5 L* b, G; r( k# e* Z( Z
8 B1 `0 v4 b. G& @, e6.4 ABCNN-3: s9 q* I- U8 K" g6 `; V
, I" r; N; u/ i$ Q4 h, M( n
ABCNN-3的基本模块可视为ABCNN-1和ABCNN-2的堆叠,即在嵌入层和卷积层上面都引入了attention的机制用来增强对token向量的表示。 8 S' ^3 F4 N7 c% W F3 D 0 c( Y9 S7 R" {0 Y! H9 Y7. ESIM 9 f% O; r9 q& E; q, @ESIM模型基于NLI任务给出了一种强有力的交互型匹配方法。其采用了BiLSTM和Tree-LSTM分别对文本序列和文本解析树进行编码,其亮点在于:$ L/ h8 P. [6 Q) }& h( K
3 ]" h3 i' `; C, j( d, C(1)匹配层定义了cross-attention得到各token的向量表示与原token向量间的详细交互关系,即采用 [ a ˉ , a ^ , a ˉ − a ^ , a ˉ ∗ a ^ ] [\bar a, \hat a,\bar a-\hat a,\bar a* \hat a] [ ( o o! O$ w5 o- E
a / c* u" X/ v, x- Fˉ 4 O+ v; v @2 N, |# b , ) W) k, h3 H* G C' ra: T' F: ~+ i$ c5 j. K* g, l* T
^ . W, \: o' {1 T/ N% b3 p5 M7 B9 ] , , u9 m" X% C& o9 R* {) _8 fa- Q. p a. `% c E
ˉ 2 B% v. \ J, Y, e6 O − 9 Z7 ^, m. h O( [' K- N6 p+ Va8 U! o ? J B) e: w
^ 1 x6 j7 _ `8 t , ; H8 I# H, [$ e$ x- n: t' R6 Xa7 n0 O- Y# ~! \; a% n$ a6 C
ˉ, T6 s1 z! _* K% d
∗ % n) _8 g& B$ G8 Ka 5 |6 G: j+ t7 {! g3 C6 u^" S# F3 ?* f3 ~
]作为最终文本token的向量表示,这也成为后续文本匹配模型的惯用做法。$ `1 v% k& ^. a/ E0 o0 H/ f
4 q- z F% G/ |* {- }7 N(2)聚合层通过BiLSTM得到各文本token的编码,从而进一步增强了文本序列的信息传递; / K9 t( ]; {' @1 @+ D8 q) b0 B) ^8 [* Z- E" p& C
(3)预测层通过拼接各文本token编码的max-pooling和mean-pooling结果,再经过MPL进行匹配预测。 9 W- q7 w; u i/ ]/ W- s 5 I* r3 B4 e, d/ w: m P' X' j1 w8 z9 B9 V
8 s2 d, _' W, K
8. Bimpm 7 w0 ^0 ~) D+ H7 A1 }% U3 wBimpm可视为对之前各类交互型文本匹配模型的一次总结。 ( k: ^: c( x1 f5 `" g; K/ F$ t, K+ w! ~9 G
该模型在各层的具体做法总结如下: 0 Z- j, M2 B2 B . [1 O0 b# J/ w(1)编码层采用BiLSTM得到每个token隐层的向量表示;7 L! s2 e7 u A3 _. I) J$ D
6 l# J) ]0 Q8 l+ R5 s0 L( R- n5 Y(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 : e, g: o- g4 g& |' Xk $ o: r5 x" K' U9 T# x: o5 u . a0 C/ d4 V, T) B* A6 `
=cosine(W 0 ?. P& Z+ b, U* x; o; w" ~$ b. o
k S+ \6 Y' h k( o8 K& a 7 B/ q, m8 O' k0 [
∗v 4 Q+ M: a' m# |* |- O1& G! b- A* c- N! o$ h7 r0 }/ w4 ^
6 i, D9 ?4 ?/ u4 ~' Q+ Z
,W & ]1 s* W* a& ck3 Q2 F9 f2 P; d$ q
- Z/ i8 [) ?1 b- R$ c i ∗v ) d9 x" `7 N- ~% S! J7 _- G
24 D8 O9 g8 v( q
# W$ {& g( r6 C0 V/ w
)的方式可以得到两个文本的任意token pair之间在第k个view下的匹配关系,至于 v 1 v_1 v ; ^- N, ^9 C! C5 T2 `( O/ {/ H
14 u- {/ w1 b% u( Z. n# }3 Q
6 l- _3 P8 b/ ~& x9 p/ D
和 v 2 v_2 v * U' E2 [& P5 }; N. z0 v8 L2 ' }4 I2 h# W. Q' j/ ?/ E" F% Z' w 6 T4 S0 z4 O2 w4 W+ C4 Y) Z
如何取,文章提供了4种策略: * D: i' w* N3 r" U/ o9 U" k3 N9 k% ]0 m4 F# b9 R6 w
策略一:其中一个句子取各token隐层的向量表示,另一个句子采用隐层最后时间步处的输出; * m! [/ `, a1 d# j3 C/ C* v策略二:其中一个句子取各token隐层的向量表示,另一个句子采用隐层各时间步输出与之匹配后取再取Max-Pooling值; 2 p4 T: L' Y5 h# A5 r策略三:其中一个句子取各token隐层的向量表示,另一个句子采用cross-attentive后得到的加权句子向量;" ~; A# C* n6 n/ l- L' n+ m) a$ P" g
策略四:其中一个句子取各token隐层的向量表示,另一个句子采用cross-attentive后attention score最高处token的向量作为句子向量。 $ t0 J, X! ^4 c4 h7 o: x) _$ P这四种策略的区别在于对句子向量的计算不同。/ ]3 g1 ~# T) B) H
/ i" }6 c7 ]/ g6 `$ v" ]
J( e5 k+ h3 O$ Y4 q
(3)聚合层,首先对上面各种策略得到的输出层再通过一层BiLSTM层,然后将各策略下最后时间步的输出进行拼接,得到最后的聚合向量;6 O' @" G: h5 e5 r4 I4 s3 Z
$ y5 y, L. O/ O(4)预测层:两层MPL+softmax3 p; I l* z/ W% K8 d
3 {0 j0 v3 ?3 d: K. m# t9. HCAN - H, v" O) B$ T, V3 DHCAN是除Bert类模型外在文本匹配领域表现最为优异的深度模型之一,其采用了较为复杂的模型结构。 4 r/ Y, j7 D2 L2 ~. c I4 l, X$ v) t) s. I5 ]. G$ N& [
针对于信息抽取问题,文章首先分析了相关性匹配和语义匹配的差异: ) g _0 C9 x( W/ ?! H2 y 8 U- J/ e J8 z1 o/ ^2 P7 F(1)相关性匹配主要关注于关键词的对比,因此更关注低层级词法、语法结构层面的匹配性; 0 U+ g' z; }+ t ^+ b' J* o+ j0 N: y3 R4 }5 y6 z% @
(2)语义匹配代表着文本的平均意义,因此其关注更高、更丑想的语义层面的匹配性。$ p8 `0 L4 V7 y" E
4 D9 S2 g2 @0 Q4 S: y. x
该模型首先采用三类混合的编码器对query和context进行编码: , X$ p, c. Q$ U6 C4 v 4 w9 F8 Y, F$ }& U# W9 @(1)深层相同卷积核大小的CNN编码器;$ u- N D( S! q: O& `
3 A {) G/ H F" \
(2)不同卷积核大小的CNN编码器的并行编码;5 h/ m8 r4 ~' j* x1 O- `8 p
' x0 g% U- j! k$ t& l& [/ u& Z9 F r
(3)沿着时序方向的stacked BiLSTM编码;3 ~0 h4 A6 s e
* k" ?/ y( A' i+ t3 g, D
对于前两者,通过控制卷积核的大小可以更好的捕捉词法和句法特征,即符合相关性匹配的目的;而对于后者,其能表征更长距离的文本意义,满足语义匹配的目的。 , @" E$ h; m) F+ p6 l# f; i- }# c0 {' ]9 c P1 d& k
在这三类编码器的编码结果基础上,模型分别进行了相关性匹配和语义匹配操作。其中相关性匹配主要采用各phrase间内积+max pooling/mean pooling的方式获取相关性特征,并通过IDF指进行各phrase的权重调整。而在语义匹配中,模型采用了精心设计的co-attention机制,并最终通过BiLSTM层输出结果。 + y0 L+ t$ L; h5 G$ E + \" y6 o l/ C0 U- [* p9 p$ J, W最后的预测层仍采用MPL+softmax进行预测。& p W Q8 A/ m% A( P7 q& J
! U/ ?0 P; R- F# H* e, g1 f' z/ a1 Y10. 小结' W2 ]6 n3 {4 x- f
交互型语言匹配模型由于引入各种花式attention,其模型的精细度和复杂度普遍强于表示型语言模型。交互型语言匹配模型通过尽早让文本进行交互(可以发生在Embedding和/或Encoding之后)实现了词法、句法层面信息的匹配,因此其效果也普遍较表示型语言模型更好。: }( S2 |9 C, K+ n
4 V5 y- E6 x% r/ B% M/ K
【Reference】 . L4 M% W8 r( Z$ s9 B: J8 k! k 2 f( o5 d, G! _0 L) K# }5 @ARC-II: Convolutional Neural Network Architectures for Matching Natural Language Sentences: u. H6 X3 b* \( c8 `0 u+ Q \2 P
2 X3 u( u$ d2 X+ ~3 z5 \
PairCNN: Learning to Rank Short Text Pairs with Convolutional Deep Neural Networks2 E6 R- P: ~% a1 u/ N
. R$ k) G, g& G
MatchPyramid: Text Matching as Image Recognition4 A: ]7 o6 a" e; B! O9 o' l$ V
7 |6 n+ ~4 u- Z2 j0 Q1 C- V8 uDecAtt: A Decomposable Attention Model for Natural Language Inference * {6 Q; T4 y* r+ F* C" y. l ( |, k4 f v& S; G/ T5 ?CompAgg: A Compare-Aggregate Model for Matching Text Sequences1 U& o3 O1 L* J' j7 R. j8 B
* b4 \- K) g4 X1 g: b: S; |! F9 }ABCNN: ABCNN: Attention-Based Convolutional Neural Network t$ ^4 G' ]$ g1 [5 l2 J) Ufor Modeling Sentence Pairs % f" o( ?0 B( S7 ?( j( T g; P! ~$ c% m. v& l* |& ?4 g* @( b
ESIM: Enhanced LSTM for Natural Language Inference# p9 ] h+ e5 c5 p
" S$ T7 N9 H% Y, G# O% x
Bimpm: Bilateral Multi-Perspective Matching for Natural Language Sentences* s& N7 q1 h% V+ H$ d& _
* r) O% I4 T0 X9 h2 }" xHCAN: Bridging the Gap Between Relevance Matching and Semantic Matching& |/ Y* e% T- a& B- j
for Short Text Similarity Modeling w" J$ h9 a9 M4 d5 ]
! y; r4 P% _$ w* r i
文本匹配相关方向打卡点总结(数据,场景,论文,开源工具)1 \# |. {+ {% Q. `5 X3 h8 R# ^
2 H; d. H* e0 E% r) X' u
谈谈文本匹配和多轮检索 8 a7 n& C# m3 p0 G7 A) _, E 8 Q. O! D" e F8 u( P) Z* R; ]贝壳找房【深度语义匹配模型 】原理篇一:表示型 : f j2 P0 U! H: \ u3 G8 m p6 d———————————————— 8 m& p7 ]& U4 j# P' z7 W版权声明:本文为CSDN博主「guofei_fly」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。7 J2 G" r- \; u# W9 B8 ]" i) s
原文链接:https://blog.csdn.net/guofei_fly/article/details/107501276 , R4 ?/ ~4 c7 Y4 l L6 _; S$ C) ^/ I+ ^3 P$ G! W" X2 K8 L( R