- 在线时间
- 1630 小时
- 最后登录
- 2024-1-29
- 注册时间
- 2017-5-16
- 听众数
- 82
- 收听数
- 1
- 能力
- 120 分
- 体力
- 566729 点
- 威望
- 12 点
- 阅读权限
- 255
- 积分
- 175242
- 相册
- 1
- 日志
- 0
- 记录
- 0
- 帖子
- 5313
- 主题
- 5273
- 精华
- 3
- 分享
- 0
- 好友
- 163
TA的每日心情 | 开心 2021-8-11 17:59 |
|---|
签到天数: 17 天 [LV.4]偶尔看看III 网络挑战赛参赛者 网络挑战赛参赛者 - 自我介绍
- 本人女,毕业于内蒙古科技大学,担任文职专业,毕业专业英语。
 群组: 2018美赛大象算法课程 群组: 2018美赛护航培训课程 群组: 2019年 数学中国站长建 群组: 2019年数据分析师课程 群组: 2018年大象老师国赛优 |
【文本匹配】交互型模型
2 N% @% J2 w# S
2 |! m0 j2 ~8 p表示型的文本匹配模型存在两大问题:(1)对各文本抽取的仅仅是最后的语义向量,其中的信息损失难以衡量;(2)缺乏对文本pair间词法、句法信息的比较
1 ]6 Y1 b4 g% e8 z6 n* N/ }
N, ?( k1 L/ ^9 S: d而交互型的文本匹配模型通过尽早在文本pair间进行信息交互,能够改善上述问题。( r9 Z' L1 L# l* H* @
( S" e/ r2 G% E9 W; v基于交互的匹配模型的基本结构包括:- a7 [) E" y# R0 t0 j& e
7 J- F: j$ ~9 b# y& ], L
(1)嵌入层,即文本细粒度的嵌入表示;' g! T* U3 Q1 B
" h, C7 [# u% [(2)编码层,在嵌入表示的基础上进一步编码;
/ h/ B/ l. H: M) g& U! ^ K( \4 f4 Z5 z$ }9 z& }' Y$ d1 _
(3)匹配层:将文本对的编码层输出进行交互、对比,得到各文本强化后的向量表征,或者直接得到统一的向量表征;
& G2 j( Y; O7 V, s: O' y' B) d; i$ y1 n
(4)融合层:对匹配层输出向量进一步压缩、融合;
3 v1 S% }# w5 {$ h7 p4 M
# S: M5 d8 r3 R: E(5)预测层:基于文本对融合后的向量进行文本关系的预测。' ~0 |& K) {7 [' O9 x; Y" l
4 p' p7 @% `# S! B( c' N8 d0 G5 @
* i7 k) Y$ J! I
6 E6 T( \4 |( c4 ^8 o2 @1 H5 ?; d1. ARC-II
. ?$ v0 [! t* _7 ~" ~ARC-II模型是和表示型模型ARC-I模型在同一篇论文中提出的姊妹模型,采用pair-wise ranking loss的目标函数。0 ]+ H: ]8 `( r) D
5 S2 c6 E% f d- i7 l其核心结构为匹配层的设计:# b* ]: Y9 l3 k# a4 G1 p
4 \# [. N) Y) E+ c9 s* [: \! z# h' k(1)对文本pair的n-gram Embedding结果进行拼接,然后利用1-D CNN得到文本S_X中任一token i和文本S_Y中任一token j的交互张量元素M_{ij}。该操作既然考虑了n-gram滑动窗口对于local信息的捕捉,也通过拼接实现了文本pair间低层级的交互。2 n( ]& r9 L, \2 k- K
8 J( `: w& J6 S(2)对交互张量进行堆叠的global max-pooling和2D-CNN操作,从而扩大感受野。
8 @) ?5 h) G) z7 E) q' S3 k: r @9 e e6 ]: f# j1 ~+ N
2. PairCNN5 D8 g3 f2 z$ H" a* ^" v0 k2 S, ^# c
PairCNN并没有选择在Embedding后直接进行query-doc间的交互,而是首先通过TextCNN的方式分别得到query和doc的向量表征,然后通过一个中间Matrix对query和doc向量进行交互得到pair的相似度向量,然后将query的向量表征、doc的向量表征、相似度向量以及其它的特征向量进行拼接,最后经过两层的MPL得到最后的二分类向量。
* ?' o6 U8 V9 u& p" N3 v. C
" j. G. I8 K+ V% xPairCNN的模型架构中的亮点在于各View向量的拼接,既能利用原始的语义向量,还能够很便捷的融入外部特征。5 c& r5 j: Q' G" Y
! V7 Q9 N* g4 [' ]$ N; Z0 h! r3. MatchPyramid
5 l7 [. N- L: h9 ^6 M' K无论是ARC-II中的n-gram拼接+1D conv还是Pair-CNN中的中间Matrix虽然均通过运算最终达到了信息交互的作用,但其定义还不够显式和明确,MatchPyramid借鉴图像卷积网络的思想,更加显式的定义了细粒度交互的过程。
" c' [. H( S% |7 X. @, W2 nMatchPyramid通过两文本各token embedding间的直接交互构造出匹配矩阵,然后将其视为图片进行2D卷积和2D池化,最后Flatten接MLP计算得匹配分数。本文共提出了三种匹配矩阵的构造方式:, l$ T4 e, G2 ^ k, C) A
+ e. ?, x# n; K$ C5 e, X
(1)Indicator:0-1型,即一样的token取1,否则取0;这种做法无法涵盖同义多词的情况;' L9 W2 u* S0 ^' c
; L: J0 Q) C/ Z7 M" Q" k4 r(2)Cosine:即词向量的夹角余弦;
+ V7 t. q4 U1 c- _9 t5 `
6 Y y3 w0 u) L; T: d0 B(3)Dot Product:即词向量的内积
$ C% b- V& m" r! e
0 e$ z: x6 A1 a# y+ t此外值得注意的是因为各个文本pair中句子长度的不一致,本文并没有采用padding到max-lenght的惯用做法,而是采用了更灵活的动态池化层,以保证MPL层参数个数的固定。/ ~: W8 R# L. m3 C6 } x9 g" [5 V
. d9 x% q3 M; j3 s- E1 \4. DecAtt! H' t! P( L0 ^: ]* o: a2 K
DecAtt将注意力机制引入到交互型文本匹配模型中,从而得到各token信息交互后增强后的向量表征。 E# f8 d& Z9 x: M3 |
- M: h+ Z8 E3 `5 ^7 |+ T模型被概括为如下层级模块:
& o& r' Q" O" I" a
; K( B+ y2 ]2 y ^' q- d(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。, Q% c4 d4 Q. g# Y$ p: F9 W
0 e" N8 o! m. U9 k. U' @. q(2)Compare层:将前序Attend层计算得到的最终embedding,喂入一个全连接层进行向量维度的压缩。
8 b) B: z8 i* \) r, H" F) g! N; i) K) B, f5 S1 Z
(3)Aggregate层:将每个文本各token处压缩后的向量进行简单的求和,再拼接起来通过MPL得到最后的匹配得分。
, q/ d' y; q. a8 d( `
$ \& u! O/ B4 s# p( }5. CompAgg
3 U' M7 [2 j7 O( v) i' xCompAgg详细对比了在文本间cross-attention得到的各token向量表征与原始token向量进行compare的各种方案。
3 I/ m& h9 A* {& \, o/ ], F3 K$ m- U* c" i, U. g. Z) t
该模型的主要结构包括:
9 @; C* F) j6 R4 i+ P* k6 Z; k, m. ^; y' x `
(1)reprocessing层:采用类似于LSTM/GRU的神经网络得到token的深层表示(图中的\bar a_i);
# G$ }: W# \1 ]- R, m# n0 R2 G5 N4 n: e- F T, ~
(2)Attention层:利用软注意力机制计算文本间的cross-attention(与DecAtt相同),从而得到各token处交互后的向量表示(图中的h_i);! j6 W! J% m- v9 l* ?/ t) M1 e
) P, B( Z( H" u8 P' i$ c" }+ @ P; G(3)Comparison层:通过各种网络结构或计算将\bar a_i和h_i计算求得各token的最终表征。
m% K% k) S2 P# P, Y5 G
/ Z; H: \ v, v N# Q$ F: `& f(4)Aggregation层:利用CNN网络对Comparison层的输出进行计算,得到最后的匹配得分。# f& Y# V1 X3 s3 Q
. Z% R7 h% p( H
其中Comparison层的构造方式包括:
7 }: V) K- O' r: I& j; Y1 \5 \4 I
* E/ A$ `1 a ?" [3 ^( t(1)矩阵乘法,类似于Pair-CNN中的中间Matrix8 ]# o. E- N4 w9 Y
2 a( P' o6 V3 P; d: h(2)前向神经网络,即将\bar a_i和h_i进行拼接,然后利用输入FFN;: O$ b( U4 D# O# o" v
( i# J. r( }4 n7 y2 h& c" J(3)分别计算cosine和欧式距离,然后拼接;
! m8 v/ }8 a% G) u
4 i% f4 ]; C- v- q5 f! y/ N(4)各维度进行减法;" K& n0 v [' P+ E; ?& R
( r) c" M& d5 Y, s
(5)各维度进行乘法;6 P% ?1 K4 O( t2 c
1 E9 Q; n' h b, _ q! ]1 P(6)各维度进行减法和乘法,然后再接一个前向网络。
6 U% A8 I: d5 H# _( [% x: S$ C( o6 O6 f
6. ABCNN
, z% D. l; y3 V5 b3 TABCNN是将Attention机制作用于BCNN架构的文本匹配模型。* |5 C: h% ^7 o$ { L3 H
5 Z' `+ }! w4 E7 F0 o
6.1 BCNN% d! o" c. ]9 n8 `' Y( d6 `! A0 G
首先简单介绍下BCNN架构:$ r- c Q) y" W" F; a9 ]5 E) Z5 m
" a! k/ o' ~1 B2 }& s
BCNN的整体结构比较简单:(1)输入层;(2)卷积层,因为采用了反卷积的形式,所以在size上会增加;
0 ~+ V2 X5 |( K+ c1 C# c, ]0 a# I+ J P X [8 Y
(3)池化层,采用了两种池化模式,在模型开始阶段采用的是local平均池化,在最后句子向量的抽取时采用了global平均池化;(4)预测层,句子向量拼接后采用LR得到最后的匹配得分。
, I, p# [% H" t5 Z
+ \0 C2 Y( a3 N7 |2 _5 E9 hABCNN共包括三种变形,下面依次介绍。/ X5 o, h; n9 e4 B3 |) Y! N
! w$ n* @- {2 H. g: F. M6 l
6.2 ABCNN6 i3 }. W% l) z+ O1 M
% B5 Y2 n. `; r& g; h
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
. Y; _3 F5 z1 E& A5 y5 o8 Rij
! v. I7 }! S& Z: u3 W6 g$ k( y 8 A( x8 z5 f- [+ S4 Q
=
' z+ l% m) o) I% B+ ]1+∣x ! j1 E- M. b, O" G
i
' Z2 V* M0 t9 L% d! m* L
* T8 N: A& Y/ `* I( F) ? −y
$ O# L& C; j2 V5 V; X( xj
2 j1 @3 u# u4 O 6 e% n6 b. A/ k# n& Q9 W
∣9 ^1 j* O( ?7 G3 y7 w
1$ Z+ [+ G8 e/ }* t8 C0 J% q' ]0 X
" g' r% o$ V6 ~
,然后分别乘以可学习的权重矩阵 W 0 W_0 W , ^ ^' }' y& K# X& E
0
6 j: F! n5 O" o! Q. S3 f + f/ J9 e6 G/ I6 g
和 W 1 W_1 W $ ^6 T1 y' O4 ^
18 _3 E0 h. Z) @) a
& `, j* L/ j5 I) B
得到attetion feature map。& C) C. t" ^( [6 H( y
: e2 |! @ m) P. b" R- [
6.3 ABCNN-2# B1 b/ x, v% m/ v1 n
5 }; t I8 k7 {& ^7 }ABCNN-2将Attention机制作用于word embedding层后的反卷积层的输出结果,其中注意力矩阵的计算原理与ABCNN-1一致。然后将注意力矩阵沿着row和col的方向分别求和,分别代表着各文本token的attention socre;接着将反卷积层的输出结果与attention socre进行加权平均池化,得到与输入层相同shape的特征图。8 p" s$ B' c; {" ]. @3 a6 [' Y
: w. |: C, w% Z2 p7 A5 K: \' Z6.4 ABCNN-3- w* o: ~# H9 P' F9 l
, _% k* I _, p, _4 `0 FABCNN-3的基本模块可视为ABCNN-1和ABCNN-2的堆叠,即在嵌入层和卷积层上面都引入了attention的机制用来增强对token向量的表示。* B5 z o" J. ?3 \/ l# P4 C; X
& D& J* h# K! p7. ESIM
a/ [- q2 H; R8 CESIM模型基于NLI任务给出了一种强有力的交互型匹配方法。其采用了BiLSTM和Tree-LSTM分别对文本序列和文本解析树进行编码,其亮点在于:( `) z$ l* _. y$ l F& y
9 r) X/ D; ?8 i5 v7 W& `! t(1)匹配层定义了cross-attention得到各token的向量表示与原token向量间的详细交互关系,即采用 [ a ˉ , a ^ , a ˉ − a ^ , a ˉ ∗ a ^ ] [\bar a, \hat a,\bar a-\hat a,\bar a* \hat a] [ . ^/ A$ O9 o, @* Y" b+ v
a
& A4 s& |/ [( Uˉ
+ F: X8 F& }) X; g+ u* B& T , 4 u6 H3 X5 x* n& Q/ l2 K
a9 y( z* b* ]7 X$ d4 f. b+ h
^
! y# c) P6 V9 A) a5 e ,
2 b2 S. ~& h: o; F# F* ]8 U va
$ D- w/ @2 C2 y8 Wˉ
3 D: `; c* |( @6 G4 D& F) k& q − " _% ~3 H8 w3 u
a
6 l [! U. x- w. m1 |9 k4 D! c^
" V" @+ s- J; R, ^+ ~ ,
5 J3 j9 Q, y0 u/ u& n0 T$ a- ha
: J# }* v% O3 {2 Jˉ* m+ Z" X- @5 D
∗ 2 q" q6 t, Q4 P O) c/ ^
a& T. T5 P7 D+ v% Q7 I/ Q: V
^2 m7 m" r. I/ A4 @' b# S
]作为最终文本token的向量表示,这也成为后续文本匹配模型的惯用做法。
3 C6 {( c7 I" {5 S9 s5 Q3 ~/ W }. D
8 |$ z* ?5 q$ U/ c(2)聚合层通过BiLSTM得到各文本token的编码,从而进一步增强了文本序列的信息传递;8 n9 Z+ s3 B5 z7 X3 p
+ c8 p' P+ Y1 w# [7 p(3)预测层通过拼接各文本token编码的max-pooling和mean-pooling结果,再经过MPL进行匹配预测。
7 `: ?# Z( u9 i
& H3 e5 B6 M) o
, S6 @- c+ ?4 n+ \! K9 ?9 F9 e8 s. |$ H# f6 O+ f
8. Bimpm
- L4 `$ _$ g! q/ |: c, |Bimpm可视为对之前各类交互型文本匹配模型的一次总结。
7 `9 G) d; a# p& y/ }: x
/ I& F6 I1 ^) C( M该模型在各层的具体做法总结如下:$ F; \9 J6 h! B# h+ O0 C- |
2 T% B! o! q6 s/ N$ {5 C4 Q) }& K
(1)编码层采用BiLSTM得到每个token隐层的向量表示;
3 M# K0 q Q5 V
+ A$ z1 t7 z" B6 T1 ^: c2 `( K" G. 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
: M) N6 k5 a# {$ c; A% [8 Uk
" t$ _$ a3 E- V$ A8 D" U4 V
* z+ j% d+ x' K8 y \ =cosine(W : l9 W- i/ z* o8 f% A
k- M9 w& \. I R
# u, F) W4 C- `- k6 u* N ∗v
0 u( i$ |6 B& P' w1# j! e% ` q" T# @! M9 v# X& V. v+ ^
% @6 E2 F4 x6 O7 k, K! _ t, \ ,W
0 }7 b7 t6 }" Mk
6 y! W$ d. `1 T. q% H7 Q 0 }* I: N8 M U/ q
∗v " C9 W; N2 e3 O; J3 Z
2
! c" {$ G, D/ W" j6 u) W% W; Z+ c, g
! a' A }5 W1 v* B )的方式可以得到两个文本的任意token pair之间在第k个view下的匹配关系,至于 v 1 v_1 v 8 m6 c; Q7 h# W; z5 c# K2 |! z
1
8 e) ]2 \; k! n6 ^ R ; Z2 q! N# b% q8 \+ {3 D0 O
和 v 2 v_2 v # V! I% y8 r3 W' x
24 o. I9 y* D+ n, D' N
% Z3 c0 U) u( U5 p 如何取,文章提供了4种策略:! R7 L7 V, h) P8 o/ Q
* y" x6 X6 Z' t& ?% @7 P
策略一:其中一个句子取各token隐层的向量表示,另一个句子采用隐层最后时间步处的输出;
, i6 |- C. R4 p策略二:其中一个句子取各token隐层的向量表示,另一个句子采用隐层各时间步输出与之匹配后取再取Max-Pooling值;
/ a* b8 f+ H9 _策略三:其中一个句子取各token隐层的向量表示,另一个句子采用cross-attentive后得到的加权句子向量;
7 n. n/ |% _8 S1 {& s" b策略四:其中一个句子取各token隐层的向量表示,另一个句子采用cross-attentive后attention score最高处token的向量作为句子向量。
- h+ @) d. d# U这四种策略的区别在于对句子向量的计算不同。
+ i- T$ g* g8 H6 l/ p+ s. J& D# n! q4 w0 b1 o! v& G! t
/ Q, q! d) u4 b
(3)聚合层,首先对上面各种策略得到的输出层再通过一层BiLSTM层,然后将各策略下最后时间步的输出进行拼接,得到最后的聚合向量;8 N, k8 O7 J; B
4 a) Q- N& x' i8 b
(4)预测层:两层MPL+softmax8 q2 N: R( m5 }8 u: F9 f. F0 o
9 d% i) b" ~! y; y4 P( i
9. HCAN
3 z$ d7 a2 D U" ]5 b* H! zHCAN是除Bert类模型外在文本匹配领域表现最为优异的深度模型之一,其采用了较为复杂的模型结构。% U8 Y3 v4 Y" S$ Q
' _+ M& _) z; @7 ~# ]针对于信息抽取问题,文章首先分析了相关性匹配和语义匹配的差异:
( r- r2 t0 K6 U6 o0 e6 D' y! p3 Z+ B/ D7 Y/ X% i( q ^
(1)相关性匹配主要关注于关键词的对比,因此更关注低层级词法、语法结构层面的匹配性;
/ G# r& l6 w% c' R
% K. P# h( |0 @- ^& q(2)语义匹配代表着文本的平均意义,因此其关注更高、更丑想的语义层面的匹配性。/ k, A1 a( c a. P: u; I8 V) ^
6 A c: K4 b% t1 n- B0 C
该模型首先采用三类混合的编码器对query和context进行编码:- V' W- N+ |! x: s& T' p6 o
" o& z1 t1 z2 `; N8 |
(1)深层相同卷积核大小的CNN编码器;8 S3 W/ B/ ^8 f; R; K' T/ `& ]
+ e$ z4 |9 Z. {$ _% @$ f(2)不同卷积核大小的CNN编码器的并行编码;
0 o, A- e2 k9 J; K
. u! I7 |& A* v) H+ m, M7 I4 ](3)沿着时序方向的stacked BiLSTM编码;
! W/ B# P: C5 R& r8 b" `/ o! n8 f2 |& N) W
对于前两者,通过控制卷积核的大小可以更好的捕捉词法和句法特征,即符合相关性匹配的目的;而对于后者,其能表征更长距离的文本意义,满足语义匹配的目的。
4 Q6 Z' z5 f5 }( W3 ^% j- I% Q# [; ~ Z, `* A( q7 e2 q8 T T3 N& e
在这三类编码器的编码结果基础上,模型分别进行了相关性匹配和语义匹配操作。其中相关性匹配主要采用各phrase间内积+max pooling/mean pooling的方式获取相关性特征,并通过IDF指进行各phrase的权重调整。而在语义匹配中,模型采用了精心设计的co-attention机制,并最终通过BiLSTM层输出结果。
) O3 i4 R7 T% y: b; s8 ?% W
* s0 A9 i1 x% ^! Z9 g最后的预测层仍采用MPL+softmax进行预测。0 f; Y( I+ T! G
* H' Z& Y. q" v1 Y9 F& ]
10. 小结8 l% Z `( g' r$ |: A: i
交互型语言匹配模型由于引入各种花式attention,其模型的精细度和复杂度普遍强于表示型语言模型。交互型语言匹配模型通过尽早让文本进行交互(可以发生在Embedding和/或Encoding之后)实现了词法、句法层面信息的匹配,因此其效果也普遍较表示型语言模型更好。* g' C" y4 B7 @3 @/ o
+ X- o3 G7 O% X; f
【Reference】
! c# \( |2 d1 L. r- a- C! G; Y+ c
ARC-II: Convolutional Neural Network Architectures for Matching Natural Language Sentences
% b, V) S) N3 f3 ~# X( k" M
+ S" D; \. e7 r: \PairCNN: Learning to Rank Short Text Pairs with Convolutional Deep Neural Networks9 p x7 w' a, r! V
; X2 t. S6 @. ~$ q1 F$ IMatchPyramid: Text Matching as Image Recognition
( @8 W) g5 B- b4 q# r5 _3 _. O. T2 k9 Z! b; x$ a2 |
DecAtt: A Decomposable Attention Model for Natural Language Inference
" z* \+ |+ D* l- t( }' N4 j7 o/ j {
, t$ ?- L! J) O3 u) v* Q. E. }CompAgg: A Compare-Aggregate Model for Matching Text Sequences5 o8 e, Z& B& N: u( j8 c5 u# C
0 P3 V/ L# C( E v$ C: v Q) C4 r
ABCNN: ABCNN: Attention-Based Convolutional Neural Network
/ n- c$ T5 p; D9 }2 r" M e' e4 rfor Modeling Sentence Pairs
1 O4 A2 N" u# E1 o( b; i( O) T& O2 ]8 `
ESIM: Enhanced LSTM for Natural Language Inference
2 C; W5 Q$ t" f8 R: b' W: W0 R0 L, q6 ?( y/ K" b
Bimpm: Bilateral Multi-Perspective Matching for Natural Language Sentences
% q% a4 w) j" {
6 Z4 I+ J& K' R! A+ }HCAN: Bridging the Gap Between Relevance Matching and Semantic Matching+ X O5 x2 w) L. S' L1 p, w
for Short Text Similarity Modeling
: Q$ D7 y$ ^6 ?: x
/ u$ Z& X/ r5 R% G; D, n文本匹配相关方向打卡点总结(数据,场景,论文,开源工具)
) ^ `+ E4 P P: q9 ~# p% s+ X* r% P
谈谈文本匹配和多轮检索
. ?* X, w) |. m4 a, a2 o" E6 r
8 l# y, v9 Z/ |1 w4 w( `贝壳找房【深度语义匹配模型 】原理篇一:表示型* N/ S& o; D7 M9 b1 b' B" }
———————————————— @2 f( y& |4 P
版权声明:本文为CSDN博主「guofei_fly」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。9 y3 D( p/ `- k) p
原文链接:https://blog.csdn.net/guofei_fly/article/details/107501276$ g" c7 e& n0 G" s: b+ v
4 F' W: Y% w. D
7 a9 i4 D2 {. f3 g |
zan
|