5 R$ U6 S0 y# `5 A" @(2)Attention层:利用软注意力机制计算文本间的cross-attention(与DecAtt相同),从而得到各token处交互后的向量表示(图中的h_i);; h. g+ K6 t# H9 N* F
3 ^3 p# L) K. @" l* P(3)Comparison层:通过各种网络结构或计算将\bar a_i和h_i计算求得各token的最终表征。 , I. r) W6 t. \7 @9 V, B N3 p |9 W
(4)Aggregation层:利用CNN网络对Comparison层的输出进行计算,得到最后的匹配得分。' p" x: w8 b. j2 W5 z
. D# I' Z* Y w- F其中Comparison层的构造方式包括: + ]2 ?) ~, e% |1 p' _ 3 O" F, {' R- H& [3 K+ D(1)矩阵乘法,类似于Pair-CNN中的中间Matrix & a4 u$ H( h* J( L, W, ~ 4 k8 \* B, e, M. [" P(2)前向神经网络,即将\bar a_i和h_i进行拼接,然后利用输入FFN;1 z! S: }; _/ o2 ?4 x+ u
, D7 K' ?- V9 U$ e, Q
(3)分别计算cosine和欧式距离,然后拼接; " H8 s0 f6 p+ L3 X* }( E % X0 q( b( `2 [3 l(4)各维度进行减法; - O0 K2 J: ^# g4 K& K8 S5 \* p, \3 x. U% A% E/ v$ f6 G, e, U1 H% t
(5)各维度进行乘法;* ]+ ]+ w- H% k5 U5 R0 z
$ [/ Y. t) l4 H% b3 w0 [
(6)各维度进行减法和乘法,然后再接一个前向网络。2 V, X) O' T( Y3 ?+ n7 t
2 B/ r1 J8 X' {, i4 S- x% x) l8 i
6. ABCNN1 M H6 c) D# j
ABCNN是将Attention机制作用于BCNN架构的文本匹配模型。 ! W1 M$ n5 h5 P( f k m8 `! {: L8 B7 ~# N U' ^2 F. J9 Q
6.1 BCNN1 B' g4 u# }/ @4 [
首先简单介绍下BCNN架构: 1 Y! L1 N8 ]$ ?5 i8 x+ F6 q* F& ?' o. S+ K: _
BCNN的整体结构比较简单:(1)输入层;(2)卷积层,因为采用了反卷积的形式,所以在size上会增加; - ?- d6 v w! o. [6 N7 p" k " c' Z" x, u6 O4 i/ N(3)池化层,采用了两种池化模式,在模型开始阶段采用的是local平均池化,在最后句子向量的抽取时采用了global平均池化;(4)预测层,句子向量拼接后采用LR得到最后的匹配得分。 , }& f1 W: g# i& H- @; u 6 T6 k+ A/ y/ N. d8 E2 A t& NABCNN共包括三种变形,下面依次介绍。 / k: J( y) d# B. R& l: j3 ^ 9 A8 X- v. C f* U0 ^2 [6.2 ABCNN 3 [7 j2 a7 W; O; e; u; R4 J & R7 Q6 v( I, C1 g" OABCNN-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 ' L. N2 `3 g3 Y" P, G, n
ij ' K, Y- o2 ~% B W/ m Z' p# i/ ` % W: `) P2 D, B+ j
= $ Y* T) K) i5 X. R
1+∣x ) Y/ e3 _8 [5 P0 {$ J: T N
i 2 `( x$ E2 Q/ H6 A ; e, Q5 o/ [5 C, R9 C8 c" J. @* B
−y 8 x/ y" X/ X/ e7 dj1 J2 s4 Z+ E3 r' P0 C9 r0 t+ B' B6 p$ H
9 Y/ P4 A. W4 G4 l+ {
∣$ L0 x' {$ X; V
1* B0 [' h/ m. F9 i5 x4 J4 \0 {
; m8 |7 ?+ T) y. K5 e. w- ~+ ` ,然后分别乘以可学习的权重矩阵 W 0 W_0 W 1 N! u$ L. k! P) N0 - ^$ q x* j* O. Y % f& h4 h1 _9 O7 c2 f1 ]
和 W 1 W_1 W . w& \9 v) ^7 f/ x8 N9 ~
1* o/ u) A& t, m$ g( T
1 Z4 v, {$ K% ^, k( q0 l u, U 得到attetion feature map。 3 t, H+ P2 D9 t) i0 @# K- \ & b$ Z3 h/ o0 g6 K1 j1 ]) \6.3 ABCNN-2% K1 r6 x; @# `% m' R
- D+ Z g6 |/ s/ I
ABCNN-2将Attention机制作用于word embedding层后的反卷积层的输出结果,其中注意力矩阵的计算原理与ABCNN-1一致。然后将注意力矩阵沿着row和col的方向分别求和,分别代表着各文本token的attention socre;接着将反卷积层的输出结果与attention socre进行加权平均池化,得到与输入层相同shape的特征图。 5 C, H% X9 j# ~! n& ]% n + C/ E- ?% c j. L7 V: v+ i6.4 ABCNN-3 / m5 a0 s. x/ z, ?$ J" t - @- }# o# F: _! h2 H% r7 U/ oABCNN-3的基本模块可视为ABCNN-1和ABCNN-2的堆叠,即在嵌入层和卷积层上面都引入了attention的机制用来增强对token向量的表示。 6 d5 Q6 w' ? R7 U3 V, H. c% e 4 j) N4 \- i/ V X3 b7. ESIM 2 K5 I; W2 H' y1 y; t$ B) k& jESIM模型基于NLI任务给出了一种强有力的交互型匹配方法。其采用了BiLSTM和Tree-LSTM分别对文本序列和文本解析树进行编码,其亮点在于: 0 x5 s0 @, j* X0 [9 O. Z 1 u+ Y; t% @( z0 C' R; t1 d(1)匹配层定义了cross-attention得到各token的向量表示与原token向量间的详细交互关系,即采用 [ a ˉ , a ^ , a ˉ − a ^ , a ˉ ∗ a ^ ] [\bar a, \hat a,\bar a-\hat a,\bar a* \hat a] [ 8 t* z$ F: K- D" y7 p
a 6 h+ W4 F3 m, \; S2 x- }( S: cˉ ; q0 G" {' O5 M+ ^7 K! g5 @( k , # j- J/ C: C. D, g" ?9 `/ r# L
a+ _/ F/ O0 H9 z6 K( @' J3 V/ t& _" T
^ U, D* r* h1 S6 E" M+ q
, * O8 o a2 b% x) Qa / K5 Y; n, a) }% A9 Gˉ4 a6 J- Q! G# e* X
− ; O# Z+ g9 w% \
a 9 N1 x# D. n' w7 |' V+ H" V^ * P( J1 {% F: U; K , 5 P0 Z( D1 ^' T0 L& ]a! ~) G0 @$ _* u& f6 C @3 `7 [# r
ˉ) Z: U# d0 i4 h! C
∗ : h3 h# M& `: Z: d9 I. {a ( [7 t. }# ~' {- T8 e^ 3 X5 o& c$ W5 \) x ]作为最终文本token的向量表示,这也成为后续文本匹配模型的惯用做法。 * i6 D# O( G8 j6 h4 n' f 9 H" v1 e: Z+ T4 S# c; l2 j, g(2)聚合层通过BiLSTM得到各文本token的编码,从而进一步增强了文本序列的信息传递;. P% Z4 v- b3 |9 a9 E
# I/ S5 I; J- ]
(3)预测层通过拼接各文本token编码的max-pooling和mean-pooling结果,再经过MPL进行匹配预测。 , y0 y$ S6 Z% A. H {6 h$ [) P4 ` n$ R, D! Z2 |2 J8 Z0 O
$ _8 {3 ~5 P% y1 G6 S
9 C; l/ D( W+ p8. Bimpm& P7 ]& ^! W- f) K
Bimpm可视为对之前各类交互型文本匹配模型的一次总结。 7 g! A. v! _9 K% ~4 t2 k- s* W" z3 p* c) R- h N
该模型在各层的具体做法总结如下: + I$ L. q/ E) |/ _' O 4 o( a$ N. E$ T. r/ }! T(1)编码层采用BiLSTM得到每个token隐层的向量表示;5 n' }! R# e. {" l
) T! f* J. o# I% W2 V7 `3 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 ) I4 Q, q; ]! V, @. L5 ok2 e1 q3 e w; x' \
2 Y @) L# I+ |8 z% |3 [
=cosine(W * I4 Z" h" v: I9 Q0 X, xk$ \; _. K! N9 ]' R
1 V2 \7 Z* D; k- ]$ T ∗v - F! K5 `7 B2 _4 b% f s0 q6 f
1 + v; M( Q# ^' x0 j' `$ v: p 1 N+ s9 U" s# E: I* G$ n
,W 5 d6 d( b3 j. F6 H- j
k. S7 f1 D2 [9 E( T: \1 S
6 V- A+ s7 ?4 D S2 n \) @ ∗v ) Y3 w7 ~: W7 d( ]3 b9 N
2: E/ L- N* Q* ^2 \: T7 \( i
]% z3 U1 n# o8 J' W' R8 O1 e. G& Y) U )的方式可以得到两个文本的任意token pair之间在第k个view下的匹配关系,至于 v 1 v_1 v 8 Q& z& w! D7 [0 d
1 + h: L4 g0 ]4 q0 u, v k: k' P! s5 r) c! x% i' e# T 和 v 2 v_2 v ' ~5 G: q5 x8 \/ |0 `. A6 c2 c# w$ p6 E. g6 Q& u* L6 w ! A! j( Y7 ~( F) j, d/ r 如何取,文章提供了4种策略: " J8 @, j% b0 n. U R; @1 A$ b/ d* W- @6 \# a7 r5 ]# I+ W4 H7 s
策略一:其中一个句子取各token隐层的向量表示,另一个句子采用隐层最后时间步处的输出;; Y9 L1 J: M' c
策略二:其中一个句子取各token隐层的向量表示,另一个句子采用隐层各时间步输出与之匹配后取再取Max-Pooling值; m0 \$ ?1 \7 `策略三:其中一个句子取各token隐层的向量表示,另一个句子采用cross-attentive后得到的加权句子向量;2 t. r7 T. \, L* H8 ~
策略四:其中一个句子取各token隐层的向量表示,另一个句子采用cross-attentive后attention score最高处token的向量作为句子向量。, {9 ~$ a H) ^6 i
这四种策略的区别在于对句子向量的计算不同。 + T* R# z Y% U+ W6 [% x* m- e, `6 \6 C# {$ i" [
& R) W6 J& o7 |5 P6 I' R5 ]
(3)聚合层,首先对上面各种策略得到的输出层再通过一层BiLSTM层,然后将各策略下最后时间步的输出进行拼接,得到最后的聚合向量; 1 m1 O v% Q9 J3 b' Z / {7 l' x, H' ?/ v& W4 U(4)预测层:两层MPL+softmax * H; @1 Z) T) J* i( I& o6 ]& i6 O( O: T9 Z
9. HCAN ; L, u9 v# p6 K& ~- {5 S8 P6 DHCAN是除Bert类模型外在文本匹配领域表现最为优异的深度模型之一,其采用了较为复杂的模型结构。 2 G9 Q0 v6 Q3 ` H. A8 [( r( J2 W) `9 F* M
针对于信息抽取问题,文章首先分析了相关性匹配和语义匹配的差异:0 N$ }7 |. Z/ Y" w! V) V7 K$ k4 t
6 m5 A+ e$ }$ V( F(1)相关性匹配主要关注于关键词的对比,因此更关注低层级词法、语法结构层面的匹配性; % E, }% R. }: z3 w4 @ ; i$ c( A/ s) _4 d0 I* F% h(2)语义匹配代表着文本的平均意义,因此其关注更高、更丑想的语义层面的匹配性。9 X" w: z1 e/ c8 ^* m' h$ m
* b$ Q; q# z# s5 E5 n8 z
该模型首先采用三类混合的编码器对query和context进行编码: - J9 L; a8 p8 P% Z7 ^9 N% J1 i & i# k' P) W4 D ~(1)深层相同卷积核大小的CNN编码器;+ |6 ]0 a, ?/ k- ~" B4 l9 ?9 }7 D5 z
' w# z. ]+ e% z(2)不同卷积核大小的CNN编码器的并行编码; 3 O& |2 J' G2 l+ i& y A, C. p& ]7 o2 V9 {7 K
(3)沿着时序方向的stacked BiLSTM编码; ' k2 F8 Q$ V) j9 Z- @" S+ ]3 W, F* J k# \. l
对于前两者,通过控制卷积核的大小可以更好的捕捉词法和句法特征,即符合相关性匹配的目的;而对于后者,其能表征更长距离的文本意义,满足语义匹配的目的。4 W8 V, e1 M( w& k# T
* c" I! k7 {- d( Q
在这三类编码器的编码结果基础上,模型分别进行了相关性匹配和语义匹配操作。其中相关性匹配主要采用各phrase间内积+max pooling/mean pooling的方式获取相关性特征,并通过IDF指进行各phrase的权重调整。而在语义匹配中,模型采用了精心设计的co-attention机制,并最终通过BiLSTM层输出结果。6 Q! o2 v8 D9 h6 E4 M; s
: O! m7 j! k3 i/ y" ~最后的预测层仍采用MPL+softmax进行预测。 + N; t A% g; O5 l$ t# G9 U* y" n) M* w, N5 Z
10. 小结- E3 J8 d/ j0 S$ Y
交互型语言匹配模型由于引入各种花式attention,其模型的精细度和复杂度普遍强于表示型语言模型。交互型语言匹配模型通过尽早让文本进行交互(可以发生在Embedding和/或Encoding之后)实现了词法、句法层面信息的匹配,因此其效果也普遍较表示型语言模型更好。$ a: h/ ^- L3 Z4 V
% E( N! z6 q' N
【Reference】% d N% \$ y; F9 q7 O% n: H& D$ O
/ K+ v' [$ E2 SARC-II: Convolutional Neural Network Architectures for Matching Natural Language Sentences' f$ J5 _5 P5 C, F/ s
+ a: `2 T9 P8 SPairCNN: Learning to Rank Short Text Pairs with Convolutional Deep Neural Networks) ]- E5 V8 S. @. L! U: o, g2 o
! {: B6 V Y- P+ r
MatchPyramid: Text Matching as Image Recognition) j1 j0 O) V0 N- o8 z% c+ ~
]1 ]: U0 J$ {8 B$ W6 y$ kDecAtt: A Decomposable Attention Model for Natural Language Inference; E- X ~! G7 M+ c: z+ a
* E) ]+ C7 R$ p* e2 F
CompAgg: A Compare-Aggregate Model for Matching Text Sequences, T, E o/ m- U) p( A
# r9 J6 W: i5 Y9 c
ABCNN: ABCNN: Attention-Based Convolutional Neural Network * g G* J- e( Ffor Modeling Sentence Pairs 6 u! E$ ^, g$ y% p; Y; R# M 8 K3 _: G* V) V: u3 M! ^2 YESIM: Enhanced LSTM for Natural Language Inference# f9 q" M X$ d) \3 p
6 b. X: p; x$ A0 O# s$ D1 b) }8 r! r- @
Bimpm: Bilateral Multi-Perspective Matching for Natural Language Sentences# A- }8 ]* B0 B' v2 b$ r