在线时间 1630 小时 最后登录 2024-1-29 注册时间 2017-5-16 听众数 82 收听数 1 能力 120 分 体力 563360 点 威望 12 点 阅读权限 255 积分 174231 相册 1 日志 0 记录 0 帖子 5313 主题 5273 精华 3 分享 0 好友 163
TA的每日心情 开心 2021-8-11 17:59
签到天数: 17 天
[LV.4]偶尔看看III
网络挑战赛参赛者
网络挑战赛参赛者
自我介绍 本人女,毕业于内蒙古科技大学,担任文职专业,毕业专业英语。
群组 : 2018美赛大象算法课程
群组 : 2018美赛护航培训课程
群组 : 2019年 数学中国站长建
群组 : 2019年数据分析师课程
群组 : 2018年大象老师国赛优
【文本匹配】交互型模型
% l# @+ _1 E+ _: ^5 k
% c$ o$ v% J/ t/ j 表示型的文本匹配模型存在两大问题:(1)对各文本抽取的仅仅是最后的语义向量,其中的信息损失难以衡量;(2)缺乏对文本pair间词法、句法信息的比较
" L( W7 `' `4 @5 K( T
" ^5 w0 `* W, o' } 而交互型的文本匹配模型通过尽早在文本pair间进行信息交互,能够改善上述问题。
# J$ L1 V# C7 T0 \, B. K; k2 | ! R% r' r# z. c3 L
基于交互的匹配模型的基本结构包括:7 w) h$ W v# v
X$ g: c8 ~; B. g/ |+ f
(1)嵌入层,即文本细粒度的嵌入表示;
/ `1 j' w1 L' X/ i2 ^0 k
" a# [& u3 x2 E N (2)编码层,在嵌入表示的基础上进一步编码;
( c! U4 {( G( j( @/ \
! O u8 ]) Y+ \! c0 N (3)匹配层:将文本对的编码层输出进行交互、对比,得到各文本强化后的向量表征,或者直接得到统一的向量表征;+ g- [4 B" a& p% d' U; p" O: ?0 o
2 P- q4 ]! I& v/ V+ X. X (4)融合层:对匹配层输出向量进一步压缩、融合;
0 m0 j) r3 Y6 c j* @2 Y
& l" Y$ ?' w% a' T5 d( L, g (5)预测层:基于文本对融合后的向量进行文本关系的预测。$ o: `& j8 B0 ]4 A3 j
5 u. x" {) ?* | U4 B3 h( O
2 ~ V9 ` I# k" e
" m W5 y" X* Q 1. ARC-II2 j% w8 M* K1 Z9 ]% M9 ?
ARC-II模型是和表示型模型ARC-I模型在同一篇论文中提出的姊妹模型,采用pair-wise ranking loss的目标函数。( I) { @3 T1 B7 N7 Y) L/ C
) k3 i' ?, n+ a8 z" ~7 m- ?7 @
其核心结构为匹配层的设计: ~( m$ j. B' T7 E# D& i
3 z3 b4 k& I" {& S2 g (1)对文本pair的n-gram Embedding结果进行拼接,然后利用1-D CNN得到文本S_X中任一token i和文本S_Y中任一token j的交互张量元素M_{ij}。该操作既然考虑了n-gram滑动窗口对于local信息的捕捉,也通过拼接实现了文本pair间低层级的交互。7 v. o% [6 n/ d' n
; i! V" x2 G0 y6 q, N! C f$ [ (2)对交互张量进行堆叠的global max-pooling和2D-CNN操作,从而扩大感受野。$ t2 v9 U6 H7 N+ {) s$ [
3 O* n% I) [0 t: F. B( p* z: W 2. PairCNN9 e1 w: ~- c$ }0 Q* I7 u
PairCNN并没有选择在Embedding后直接进行query-doc间的交互,而是首先通过TextCNN的方式分别得到query和doc的向量表征,然后通过一个中间Matrix对query和doc向量进行交互得到pair的相似度向量,然后将query的向量表征、doc的向量表征、相似度向量以及其它的特征向量进行拼接,最后经过两层的MPL得到最后的二分类向量。
4 R' W* I1 j4 d |
3 C3 G; J$ h% p$ | PairCNN的模型架构中的亮点在于各View向量的拼接,既能利用原始的语义向量,还能够很便捷的融入外部特征。* a6 o/ H4 @8 S' H
2 K4 ^) ?$ ^+ R 3. MatchPyramid
3 l5 u" ?& P5 v, ^5 d+ N$ y1 b 无论是ARC-II中的n-gram拼接+1D conv还是Pair-CNN中的中间Matrix虽然均通过运算最终达到了信息交互的作用,但其定义还不够显式和明确,MatchPyramid借鉴图像卷积网络的思想,更加显式的定义了细粒度交互的过程。
( s/ k/ `7 D1 E) y% Q MatchPyramid通过两文本各token embedding间的直接交互构造出匹配矩阵,然后将其视为图片进行2D卷积和2D池化,最后Flatten接MLP计算得匹配分数。本文共提出了三种匹配矩阵的构造方式:0 e' x1 e3 M# U1 e( N2 {
- }" E, Q* Y2 ~2 s1 p (1)Indicator:0-1型,即一样的token取1,否则取0;这种做法无法涵盖同义多词的情况;
$ s) C# c e7 H- c8 \+ z
# C# A2 \/ q$ P4 x! D (2)Cosine:即词向量的夹角余弦;
" L- F- }- M: ~
. x ?' j2 t, s \. T (3)Dot Product:即词向量的内积& ]+ m$ f s, [; A
: g' z1 U8 N( w$ {
此外值得注意的是因为各个文本pair中句子长度的不一致,本文并没有采用padding到max-lenght的惯用做法,而是采用了更灵活的动态池化层,以保证MPL层参数个数的固定。
2 W" I5 C0 R6 D( M 0 P5 q: ^" P+ O' c% b0 x7 ?
4. DecAtt5 h0 I9 \( h \7 f n5 E+ X# m5 w
DecAtt将注意力机制引入到交互型文本匹配模型中,从而得到各token信息交互后增强后的向量表征。
: M" g5 B& n, P0 B" e# N( Y ) b$ u0 n& U8 ]) ]1 a
模型被概括为如下层级模块:
7 J9 ~( H' X4 g* Z& ?- |+ j5 V 6 K# f5 f4 B9 { g
(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。
6 k$ p& r) W3 I: }: y) C {9 p- \! [1 Q) ~; ^5 G& L
(2)Compare层:将前序Attend层计算得到的最终embedding,喂入一个全连接层进行向量维度的压缩。9 h4 E, ~' W, d5 r. s# c2 N$ {
. L6 ^* w6 o1 V+ _1 y3 T: s (3)Aggregate层:将每个文本各token处压缩后的向量进行简单的求和,再拼接起来通过MPL得到最后的匹配得分。
& W) q( H8 G" d' g! u( }" z # m* W0 R% S) W. l7 O; N& t
5. CompAgg: g; l7 m0 I7 `8 e: R' E; Y6 i7 k
CompAgg详细对比了在文本间cross-attention得到的各token向量表征与原始token向量进行compare的各种方案。
: G) m' z" t, x6 ]5 h& f
. {) e- C3 I2 @* z0 j' x* d+ j 该模型的主要结构包括:
* ?' ]2 Z7 o/ B& B$ j' x - w0 `7 Q& P$ j1 G
(1)reprocessing层:采用类似于LSTM/GRU的神经网络得到token的深层表示(图中的\bar a_i);1 H* w8 {1 n/ V/ X r3 j
& ~, t# l! H0 I$ I4 v( | X0 q/ b (2)Attention层:利用软注意力机制计算文本间的cross-attention(与DecAtt相同),从而得到各token处交互后的向量表示(图中的h_i);" R6 L% @3 r, W" [% v6 m+ h
5 y8 Y3 l" Z/ O8 e% ?
(3)Comparison层:通过各种网络结构或计算将\bar a_i和h_i计算求得各token的最终表征。" P" E% T! l% j1 E. g
4 Z" I p7 Z+ e- }
(4)Aggregation层:利用CNN网络对Comparison层的输出进行计算,得到最后的匹配得分。
q3 \2 m" _0 Z) h0 f* i ! T& Q; e9 V+ S
其中Comparison层的构造方式包括:: `5 k! }% }$ m, q8 Z4 G' O6 \# }
b2 p, S# x# ?5 B+ _ (1)矩阵乘法,类似于Pair-CNN中的中间Matrix
' c7 g6 x- {, B6 Q: H r5 ?! u8 f6 n
8 o. Y4 r$ Q+ P5 s E (2)前向神经网络,即将\bar a_i和h_i进行拼接,然后利用输入FFN;9 ?% q- F! \; |% T5 G# v$ m4 G. S
& v- X3 b: w! _: d! P
(3)分别计算cosine和欧式距离,然后拼接; D( K/ [6 E) F2 @
e& z% G0 G& ]4 j (4)各维度进行减法;! N1 s6 M: q8 `4 z% l
S- V# T& e7 s: ]3 |) y
(5)各维度进行乘法;. Z4 A3 O% |+ W5 z
5 T' \- ^, U* [/ c
(6)各维度进行减法和乘法,然后再接一个前向网络。5 j$ |* J2 U" Z! W5 ]: D
L8 ^1 }3 R3 i: p. h 6. ABCNN+ ^3 z: {, D; v* W" C9 d8 b
ABCNN是将Attention机制作用于BCNN架构的文本匹配模型。( W% I7 c; t# m6 A" Y: d1 m
/ |' L2 P/ B1 \/ A7 l4 Z9 R 6.1 BCNN
! i8 C# P. y' x6 ~ 首先简单介绍下BCNN架构:
/ H& G$ n1 Y4 Y" ? ~: x
! C2 d7 e/ ]. P% r- @- K BCNN的整体结构比较简单:(1)输入层;(2)卷积层,因为采用了反卷积的形式,所以在size上会增加;
8 \# P# b6 u" _* D8 Z7 ]
3 ^8 J$ K' d4 C4 t9 U4 P# Q (3)池化层,采用了两种池化模式,在模型开始阶段采用的是local平均池化,在最后句子向量的抽取时采用了global平均池化;(4)预测层,句子向量拼接后采用LR得到最后的匹配得分。
3 B! ]& u4 B7 M* K
0 J+ ]; q& ?2 I6 E9 M9 S ABCNN共包括三种变形,下面依次介绍。
& S, R' y8 E" [ " s9 n3 l8 q+ X$ `1 W+ j# _
6.2 ABCNN1 C1 V0 J1 {/ i% q3 V0 B
( e9 c E6 J' ?4 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 3 ]3 b9 m; K$ z) E0 N7 ~
ij
& q) \+ u o) V4 T* }7 Y) e ( r4 p5 \5 V6 G2 u7 S
= 6 _+ k$ n1 S- F' [
1+∣x ; N$ T3 }; }+ k9 J4 [
i# r- c: L; l$ F3 h) w+ p
; W' h" W* Q3 w. b4 J −y $ g4 e* f$ {, g2 x% k
j
$ h9 G4 [% ^# d2 @: W7 V$ C 9 o) Y0 y8 x e4 K5 y+ w2 ^
∣
' l0 w1 ?8 ]7 \# i, Y, M) g 1
, m; X; a3 q8 x/ @ 6 Q2 G, f. y$ v+ n) H
,然后分别乘以可学习的权重矩阵 W 0 W_0 W ( w3 o( I; Y# s! p) N+ J' j
0
. t5 }8 @! f! l! E % M8 D! D& H+ V1 j- y
和 W 1 W_1 W / r- \' v6 `1 U
1% f$ d8 q, l- C1 U
1 R+ \7 ?1 C( j; A% g 得到attetion feature map。0 o) x8 q3 {6 t* |; P* A
: C& e% y! h" ^! q+ K 6.3 ABCNN-27 N, ]3 U5 b* o( N% D" H$ z
0 z1 |4 A" X3 }, p ABCNN-2将Attention机制作用于word embedding层后的反卷积层的输出结果,其中注意力矩阵的计算原理与ABCNN-1一致。然后将注意力矩阵沿着row和col的方向分别求和,分别代表着各文本token的attention socre;接着将反卷积层的输出结果与attention socre进行加权平均池化,得到与输入层相同shape的特征图。
, c; |: R! h: g( }( v' W4 W
9 e. E' X+ Z4 m7 `8 y) Z' M& I/ M 6.4 ABCNN-3
! e: W. N+ f. P3 @: q
! P6 w! e k# r0 o, _: J ABCNN-3的基本模块可视为ABCNN-1和ABCNN-2的堆叠,即在嵌入层和卷积层上面都引入了attention的机制用来增强对token向量的表示。
( f% _4 D& F0 l9 l( G6 O7 M* @ ( ` e: e4 E: Q
7. ESIM- s; W! g$ X8 U: E9 z0 l: r0 a
ESIM模型基于NLI任务给出了一种强有力的交互型匹配方法。其采用了BiLSTM和Tree-LSTM分别对文本序列和文本解析树进行编码,其亮点在于:
0 r/ a2 y! N$ e6 m& ]+ ?; B3 m- U 7 O' n7 e3 e3 t& X2 I( M+ T
(1)匹配层定义了cross-attention得到各token的向量表示与原token向量间的详细交互关系,即采用 [ a ˉ , a ^ , a ˉ − a ^ , a ˉ ∗ a ^ ] [\bar a, \hat a,\bar a-\hat a,\bar a* \hat a] [
/ N4 A) A( J: d! a6 o' ^5 D a, F( W- E" N! `& D7 B
ˉ7 l6 u+ j5 h+ R% |8 o% h0 |, O
,
$ V l% d, I4 r% H/ c a
8 I- E/ C5 q* c2 U7 G+ E$ ~3 k ^
4 d- }' U8 M6 w' L ,
" v0 {0 b5 C ]) C- t+ J( M a
8 e/ G4 ?+ I$ I ˉ
& n/ p# v9 K# g − , M: X( k, Y/ |
a- [: z' @# j$ M2 x
^
7 ?- C9 u7 |+ G i8 x , / [' N, g# a# @6 r1 M( s/ X4 s) ~
a
* K( p7 ~* r# X9 B' g ˉ8 L/ A, v7 b- |
∗ 8 N' }3 U$ }, f5 d. k4 g
a
5 `( Q [6 Y: V1 V+ J0 R8 i# W* C ^
, U3 y! d( L3 L/ [( W+ }( V$ |& x ]作为最终文本token的向量表示,这也成为后续文本匹配模型的惯用做法。3 d! S/ J1 t' Z+ Y' Q
1 Y$ A1 i6 \+ f. ?' C (2)聚合层通过BiLSTM得到各文本token的编码,从而进一步增强了文本序列的信息传递;
* c m+ O% f; N' [7 T p0 m
% s5 N# Q2 l- }$ U" q; ]9 Y (3)预测层通过拼接各文本token编码的max-pooling和mean-pooling结果,再经过MPL进行匹配预测。, x3 B3 S1 M) k* ?
: l8 n+ n; e. C; T4 B$ {
$ Q' @3 @( f; Y# a! U
2 D: m. i6 d! _2 c) H
8. Bimpm
3 z" f- A' P5 x6 M* D* b% d Bimpm可视为对之前各类交互型文本匹配模型的一次总结。, H; A C5 E0 k9 w- c q+ i7 C. @
: Z* H) T+ k, q% t/ c 该模型在各层的具体做法总结如下:
7 f5 `3 L/ o0 D , y' O' a( Q6 H( |2 Q( g
(1)编码层采用BiLSTM得到每个token隐层的向量表示;
% ~! S: n. A9 j. f ; ]# I: D2 |% d
(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 ' I3 S: \3 [. B' \- e
k2 P' e3 z- |# [. d2 w
2 \. f Z) D9 }) f; N" Z5 a5 a
=cosine(W - [) k/ a3 s; j8 R+ W
k
8 y4 Y1 e% Y: e$ M! l; k , l1 w5 z! _+ B/ }
∗v 7 K* R5 c# F( ]0 E+ x$ Y
14 y& x+ L8 @+ z \
4 L [! f3 Q/ d, G8 ~
,W : V& v! w( d- L! W. i8 K5 w
k
~9 K }: D- x+ m9 w4 p; `$ _* i8 b% X
9 V: y' H1 C" W B- h/ U0 q ∗v
$ L A- X3 _ K: `' N 2
/ ]' |: l. {+ ]. P4 T2 T* N8 s$ r % L. e% p3 Y/ j5 e2 r) D& g4 f, ^
)的方式可以得到两个文本的任意token pair之间在第k个view下的匹配关系,至于 v 1 v_1 v : @3 M7 s7 L Z3 y
1! s% u9 G! P4 F2 f& X' d' t
' {& _. h0 T/ y) C4 m
和 v 2 v_2 v * W) T* ~# U8 @2 v
24 n, B! s# m% Z+ j( P
1 l" b4 v m9 J0 T 如何取,文章提供了4种策略:
0 O5 W2 x4 ~7 A2 a ! F! ]+ Y6 h, p; a$ @( g
策略一:其中一个句子取各token隐层的向量表示,另一个句子采用隐层最后时间步处的输出;. E/ P( F+ r o6 J
策略二:其中一个句子取各token隐层的向量表示,另一个句子采用隐层各时间步输出与之匹配后取再取Max-Pooling值;
' d0 }7 E, B' \8 A+ {( R) E/ R0 M 策略三:其中一个句子取各token隐层的向量表示,另一个句子采用cross-attentive后得到的加权句子向量;
! y3 N& t1 o* g 策略四:其中一个句子取各token隐层的向量表示,另一个句子采用cross-attentive后attention score最高处token的向量作为句子向量。. n+ f1 N' t7 m% d
这四种策略的区别在于对句子向量的计算不同。( t$ Q% o4 q; w4 E+ ^" I
$ x2 D6 K2 L/ z5 [) D: D
! M# j- G- M L+ Q& E( a (3)聚合层,首先对上面各种策略得到的输出层再通过一层BiLSTM层,然后将各策略下最后时间步的输出进行拼接,得到最后的聚合向量;
: ]7 U) H% i' h c1 w$ V * z% M# E: W0 J0 E
(4)预测层:两层MPL+softmax e, s ]1 l' T( T# {
o$ g3 x/ S4 r1 J# @6 } 9. HCAN& e! G6 h1 I$ t; m2 Z
HCAN是除Bert类模型外在文本匹配领域表现最为优异的深度模型之一,其采用了较为复杂的模型结构。* c/ e) G2 E* z" x, s2 m
" l `5 X+ i( z- p. S
针对于信息抽取问题,文章首先分析了相关性匹配和语义匹配的差异:$ E$ k; W4 d$ k/ z \0 Z3 ]' V5 I. c: n/ O
( i! I! O2 Q" b& m; b& G, Z
(1)相关性匹配主要关注于关键词的对比,因此更关注低层级词法、语法结构层面的匹配性;
! \; I7 c, d& |3 H! u4 s ]! i& @ Z; P. Y& ~. {2 t) e( J
(2)语义匹配代表着文本的平均意义,因此其关注更高、更丑想的语义层面的匹配性。
4 e" n2 F% P% z+ b 7 ~& c" ^7 l9 `. W
该模型首先采用三类混合的编码器对query和context进行编码:. D* x" ^# z5 J* w0 A
/ k, t7 @- v* A$ y% ^' |
(1)深层相同卷积核大小的CNN编码器;; k0 u! d- s8 F! [, L
5 `3 U3 f. B3 F
(2)不同卷积核大小的CNN编码器的并行编码;* o. C: ?( Y5 L* z
5 H5 a* V7 y* @9 y$ A (3)沿着时序方向的stacked BiLSTM编码;
$ A0 o, w+ J/ S( A- i3 x, T* X : E# F+ Z. H3 h s! ]
对于前两者,通过控制卷积核的大小可以更好的捕捉词法和句法特征,即符合相关性匹配的目的;而对于后者,其能表征更长距离的文本意义,满足语义匹配的目的。
2 R" q: v3 m5 c& C
: k& w3 R' p' x 在这三类编码器的编码结果基础上,模型分别进行了相关性匹配和语义匹配操作。其中相关性匹配主要采用各phrase间内积+max pooling/mean pooling的方式获取相关性特征,并通过IDF指进行各phrase的权重调整。而在语义匹配中,模型采用了精心设计的co-attention机制,并最终通过BiLSTM层输出结果。
2 B/ i# {$ G1 w0 q/ A6 {+ b; I
) F0 K$ H8 `. \: b/ a1 e: M' Z- v 最后的预测层仍采用MPL+softmax进行预测。
# q1 J, ~9 s/ U1 a8 V9 F
/ S4 n2 M- O( E+ k& f 10. 小结
. S( i1 `' D) z9 B5 F0 ?6 v) N3 N; J 交互型语言匹配模型由于引入各种花式attention,其模型的精细度和复杂度普遍强于表示型语言模型。交互型语言匹配模型通过尽早让文本进行交互(可以发生在Embedding和/或Encoding之后)实现了词法、句法层面信息的匹配,因此其效果也普遍较表示型语言模型更好。
' y# p7 _( p) [- v( I
$ S; t: z& A1 `$ X3 s6 [ 【Reference】/ e9 [" F' t% |6 ~* t3 n9 Y, |! k" d
; j) y: ~" O `$ |4 R9 \% q# w ARC-II: Convolutional Neural Network Architectures for Matching Natural Language Sentences& r) \0 Y% U) n; \ w
$ ^/ _$ f: A# r7 S PairCNN: Learning to Rank Short Text Pairs with Convolutional Deep Neural Networks
- m7 C2 f2 p& q. i4 Q( T: N
! p. c+ E( U5 G; K MatchPyramid: Text Matching as Image Recognition) W* @) Y& M) G. `
5 j; L! H) F8 o# @0 a DecAtt: A Decomposable Attention Model for Natural Language Inference" q7 l6 ?7 i5 j5 b2 p
+ }7 M* Z9 l8 c
CompAgg: A Compare-Aggregate Model for Matching Text Sequences0 ?6 R( H0 m; i! I* S+ l/ f
: ]5 X0 F) u' b9 Y
ABCNN: ABCNN: Attention-Based Convolutional Neural Network
+ r' y; w( s0 T* x for Modeling Sentence Pairs
8 K, F, G7 {& u/ ^$ Z E2 l* c
/ M* n* F0 u& J" q* l1 J o ESIM: Enhanced LSTM for Natural Language Inference$ y2 {$ u( C# _. {- Q4 F/ B( h5 O
& _5 T }+ @8 M- z
Bimpm: Bilateral Multi-Perspective Matching for Natural Language Sentences$ z2 L$ a3 ^; x) e( E8 S; W
5 R# ?: b1 p/ A6 n5 ?' |
HCAN: Bridging the Gap Between Relevance Matching and Semantic Matching8 P9 |, {7 l& x4 u) `, Q+ W
for Short Text Similarity Modeling
% R' J6 N+ z I- z7 l% n; g 6 o/ A- D( A {" H, }9 u# J, L1 x; e
文本匹配相关方向打卡点总结(数据,场景,论文,开源工具)
; M7 b/ g% u6 b5 R8 k
( U; U/ ?8 ?& L 谈谈文本匹配和多轮检索, c; h; s9 @# T3 J* v. ?
" S5 m) C$ [4 N# c5 H" M
贝壳找房【深度语义匹配模型 】原理篇一:表示型
' K* l# v9 c% O2 a. G0 t) G; t6 ^ ————————————————% s0 ]) A- |5 W; J* j5 O- K, W- Z4 d
版权声明:本文为CSDN博主「guofei_fly」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。1 Q; K- }4 n" @/ {, F' G
原文链接:https://blog.csdn.net/guofei_fly/article/details/107501276
" g6 @2 \# v% r ]& h3 o7 J( x* R " u3 w3 g5 U3 f- K7 c0 o: N
% v, H+ ?( x/ C. g
zan