在线时间 1630 小时 最后登录 2024-1-29 注册时间 2017-5-16 听众数 82 收听数 1 能力 120 分 体力 566705 点 威望 12 点 阅读权限 255 积分 175234 相册 1 日志 0 记录 0 帖子 5313 主题 5273 精华 3 分享 0 好友 163
TA的每日心情 开心 2021-8-11 17:59
签到天数: 17 天
[LV.4]偶尔看看III
网络挑战赛参赛者
网络挑战赛参赛者
自我介绍 本人女,毕业于内蒙古科技大学,担任文职专业,毕业专业英语。
群组 : 2018美赛大象算法课程
群组 : 2018美赛护航培训课程
群组 : 2019年 数学中国站长建
群组 : 2019年数据分析师课程
群组 : 2018年大象老师国赛优
【文本匹配】交互型模型 F! X6 f0 T) S4 w$ b7 @. ?5 M7 C
3 |" G, Y1 e' {, @: z8 b" ~ 表示型的文本匹配模型存在两大问题:(1)对各文本抽取的仅仅是最后的语义向量,其中的信息损失难以衡量;(2)缺乏对文本pair间词法、句法信息的比较6 l4 U; S8 H# C( b9 z
5 Z3 ?( ~0 ^* P; T& J0 A
而交互型的文本匹配模型通过尽早在文本pair间进行信息交互,能够改善上述问题。6 ^$ z5 U4 |+ e2 d2 v( R& C
2 X- w. J$ T9 n4 e) N" x
基于交互的匹配模型的基本结构包括:8 n6 y6 R) G) g; q: {1 ?
0 b9 V; ~/ H" W
(1)嵌入层,即文本细粒度的嵌入表示;
# r6 `3 x/ p ^/ H$ [ " F( H* `2 V; r+ y( L1 D3 [
(2)编码层,在嵌入表示的基础上进一步编码;
' ] O* u5 o) R( A& W
0 [7 ]! Z& ~6 g7 ?& l% [5 ? (3)匹配层:将文本对的编码层输出进行交互、对比,得到各文本强化后的向量表征,或者直接得到统一的向量表征;
7 }3 ^ r, t* r, I; J$ Z5 d - w% U, z% G: E
(4)融合层:对匹配层输出向量进一步压缩、融合;6 z7 s! q1 T3 P0 S
$ E$ @; k5 i1 r# n8 x2 H. A (5)预测层:基于文本对融合后的向量进行文本关系的预测。
; n% y" M- `1 B3 v! k7 q+ E2 w0 F
. P0 t% ?/ J7 d3 t
Q9 A& J% s/ g/ x1 l$ ? 0 s d4 Y. S) x4 N9 h+ Y* m; w, R
1. ARC-II8 b$ j- {3 P c+ K4 {% A* R j
ARC-II模型是和表示型模型ARC-I模型在同一篇论文中提出的姊妹模型,采用pair-wise ranking loss的目标函数。3 I& R: B( [8 n X6 T
& l! B5 I- ]0 q @% S7 k
其核心结构为匹配层的设计:
U; b5 I4 N5 |, M9 X. J0 _8 ?
6 U- n# |: A H& E: k$ I (1)对文本pair的n-gram Embedding结果进行拼接,然后利用1-D CNN得到文本S_X中任一token i和文本S_Y中任一token j的交互张量元素M_{ij}。该操作既然考虑了n-gram滑动窗口对于local信息的捕捉,也通过拼接实现了文本pair间低层级的交互。$ ?6 \: U9 y# Y. L7 @
9 F6 {: s. j! e% f! _4 c4 i (2)对交互张量进行堆叠的global max-pooling和2D-CNN操作,从而扩大感受野。! y' F- T: l F) I
# z3 x. B1 }7 F- k" J. C 2. PairCNN
1 s d9 o) ^* S7 n. } PairCNN并没有选择在Embedding后直接进行query-doc间的交互,而是首先通过TextCNN的方式分别得到query和doc的向量表征,然后通过一个中间Matrix对query和doc向量进行交互得到pair的相似度向量,然后将query的向量表征、doc的向量表征、相似度向量以及其它的特征向量进行拼接,最后经过两层的MPL得到最后的二分类向量。$ z4 \) O" A; V9 t. Q4 n
2 j4 h4 ]# e& B2 o
PairCNN的模型架构中的亮点在于各View向量的拼接,既能利用原始的语义向量,还能够很便捷的融入外部特征。
) j* ` w3 ~- i
1 N; O3 L# j( P" R$ ]; d6 ?5 v* [1 S$ m 3. MatchPyramid
1 H' ?& o1 z$ w V2 b+ } 无论是ARC-II中的n-gram拼接+1D conv还是Pair-CNN中的中间Matrix虽然均通过运算最终达到了信息交互的作用,但其定义还不够显式和明确,MatchPyramid借鉴图像卷积网络的思想,更加显式的定义了细粒度交互的过程。
0 Y# H+ S0 K" w5 x* f; y% k MatchPyramid通过两文本各token embedding间的直接交互构造出匹配矩阵,然后将其视为图片进行2D卷积和2D池化,最后Flatten接MLP计算得匹配分数。本文共提出了三种匹配矩阵的构造方式:
% b& d' z: }$ Q0 O $ p6 f9 U- U) L# j# B- e
(1)Indicator:0-1型,即一样的token取1,否则取0;这种做法无法涵盖同义多词的情况;
) y2 T+ Y0 l4 Z) e ' k# N( i+ I( h9 h0 I$ v
(2)Cosine:即词向量的夹角余弦;
, P {) e% `0 a2 A 0 q9 T/ j8 y; `" K" I( @2 c3 q
(3)Dot Product:即词向量的内积0 n- d9 B/ J4 \, Z* H; D
9 ]3 n* X& c4 M, G, P
此外值得注意的是因为各个文本pair中句子长度的不一致,本文并没有采用padding到max-lenght的惯用做法,而是采用了更灵活的动态池化层,以保证MPL层参数个数的固定。1 ]. @9 z* k3 j3 \
2 k4 A1 \/ I! P i. K 4. DecAtt
4 g( o) b$ X W& ]2 ] DecAtt将注意力机制引入到交互型文本匹配模型中,从而得到各token信息交互后增强后的向量表征。6 S, r' n0 Q" @" ?% H; {
1 c; u w6 p# ^8 o K7 s! x
模型被概括为如下层级模块:) q. L; W0 p! [' w0 j3 S
* u/ A6 r: \/ c% r
(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。0 V; ^' M! {! `
0 T+ X+ V# [( u$ A5 E& s3 S (2)Compare层:将前序Attend层计算得到的最终embedding,喂入一个全连接层进行向量维度的压缩。
) j+ @) Q; L6 P; G0 y' u
5 r5 k0 i3 M1 A: y& [% E" A& | (3)Aggregate层:将每个文本各token处压缩后的向量进行简单的求和,再拼接起来通过MPL得到最后的匹配得分。
6 H2 v1 S9 d( N& r% v) k! q t 3 h: T/ v, h3 w+ d' h- `
5. CompAgg
6 ~3 H- r8 Z, |5 H- V v, |6 `6 z CompAgg详细对比了在文本间cross-attention得到的各token向量表征与原始token向量进行compare的各种方案。( V* C3 K) y. p/ p) u& E$ _
# ~! o1 \& r$ }" ]$ u 该模型的主要结构包括:
0 s; N4 R/ @3 W2 w# V8 O
4 m- X9 ] Z' H4 r (1)reprocessing层:采用类似于LSTM/GRU的神经网络得到token的深层表示(图中的\bar a_i);
3 r' V8 {3 j: G6 h4 |0 V7 ]
0 L( u0 F9 g: h F+ w (2)Attention层:利用软注意力机制计算文本间的cross-attention(与DecAtt相同),从而得到各token处交互后的向量表示(图中的h_i);7 P+ ]) b1 ?6 M( R2 ~! K7 d
% _4 Y4 K& o' Q' t& L7 E8 w4 n (3)Comparison层:通过各种网络结构或计算将\bar a_i和h_i计算求得各token的最终表征。: p% V( T3 D0 ?: F" R
F h! _" y7 Y) W7 r: ^0 _
(4)Aggregation层:利用CNN网络对Comparison层的输出进行计算,得到最后的匹配得分。5 u6 z7 U; g) r# p8 v! g$ N
: P9 @4 j0 J. p5 I; J
其中Comparison层的构造方式包括:
" W9 h" L4 m0 H0 L8 i2 H7 N/ t+ x0 B * p/ ]) s- f: @* Y+ o
(1)矩阵乘法,类似于Pair-CNN中的中间Matrix! f# Z8 T7 `8 g2 m" J3 G; s# ]
7 T% g7 V# J8 v1 h4 c8 n- l# k6 r" `
(2)前向神经网络,即将\bar a_i和h_i进行拼接,然后利用输入FFN;
! ?& E( v) O. {0 m9 E9 ]0 Q . J7 d# h: \+ ]' j7 J: T" y
(3)分别计算cosine和欧式距离,然后拼接;
+ n0 e: f. R/ E0 K- O& J * ^$ g. O( M0 J( y6 w! g
(4)各维度进行减法;
% @7 |; v3 J/ [1 \ 7 z' G" S+ N7 o8 |
(5)各维度进行乘法;
1 [7 I# f+ \ R1 L8 f 2 e% ?: G/ r% G h# `
(6)各维度进行减法和乘法,然后再接一个前向网络。8 k/ J1 T1 ?4 x ]5 Y# _' Z! A% r
2 T9 J2 m3 Z0 u4 ^3 m6 v! R v 6. ABCNN
3 K% \ j# e' S- p: _4 ? ABCNN是将Attention机制作用于BCNN架构的文本匹配模型。
5 z, S( Y! t7 w4 B! }' j. C . x9 |9 s+ D# U) |% O
6.1 BCNN1 a! y/ H" \: E$ `
首先简单介绍下BCNN架构:
5 ~& r& m9 Y0 v / p% W$ U* N( o. m/ R. r5 _
BCNN的整体结构比较简单:(1)输入层;(2)卷积层,因为采用了反卷积的形式,所以在size上会增加;2 u. A: F% _2 ?3 R# i8 Q4 D3 V
4 ~ B6 }4 ^" X (3)池化层,采用了两种池化模式,在模型开始阶段采用的是local平均池化,在最后句子向量的抽取时采用了global平均池化;(4)预测层,句子向量拼接后采用LR得到最后的匹配得分。
) y+ v% {2 v; v. W
! @9 \1 |9 M3 [$ Y ABCNN共包括三种变形,下面依次介绍。; a$ }% ^7 {0 y4 Q5 J: \' k1 c5 j* S
) `/ K* k$ g3 o# K0 u 6.2 ABCNN; f' q- K5 y: L* b+ _+ s
4 \# E& h; T; |6 y 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
' p0 k" m! r2 w' H- d ij
- g* p: r( Y8 d
1 d8 u0 k( u7 W( d$ M = / T- W' W' s7 \5 y. X( {4 ^) Z
1+∣x
: s, `) G4 g6 _( F$ O# C2 p i+ m+ @8 p/ X1 s8 Y( J5 u
! x% x; J# Q @- V* V −y 0 ~$ w U* X% R
j* u# z- d# i, R3 m5 x) T0 }$ a: Z
$ B# J% q' [" \8 f6 E
∣
+ s2 p& m1 F1 Q8 j0 a 1
- j2 e0 _4 G4 _: X+ }8 B1 t
% E. Q: B( A3 @ ,然后分别乘以可学习的权重矩阵 W 0 W_0 W 5 g" g- V( g9 E( j) f* _
0' g% g" Y+ j# w1 M8 d" F5 {
0 B$ m$ a% `5 x9 d! B7 _! U 和 W 1 W_1 W
, [8 M9 X z; g: ?, x( J 1
S1 {1 e' s. z$ c0 j. C
2 H; L$ y$ e; M" w8 k 得到attetion feature map。1 q$ _! p" Y) m& D$ N
* l3 Y3 p2 w# y% T$ C# b 6.3 ABCNN-2
: O6 N3 b2 F8 c/ I. Y; E5 X4 B7 q9 S G. Y5 z: s7 \
ABCNN-2将Attention机制作用于word embedding层后的反卷积层的输出结果,其中注意力矩阵的计算原理与ABCNN-1一致。然后将注意力矩阵沿着row和col的方向分别求和,分别代表着各文本token的attention socre;接着将反卷积层的输出结果与attention socre进行加权平均池化,得到与输入层相同shape的特征图。
( @0 c9 p* @- j+ A+ F & M/ G. @" Q1 T9 o u
6.4 ABCNN-3
; J8 z5 B! a8 M6 a o 3 z; [8 o$ d8 c, K; @, D
ABCNN-3的基本模块可视为ABCNN-1和ABCNN-2的堆叠,即在嵌入层和卷积层上面都引入了attention的机制用来增强对token向量的表示。9 A& s% l' r ]1 ~7 @* D9 |
# @& M+ _+ }8 Z8 ~- S& D ]# d! J 7. ESIM
+ n/ V, G6 s5 n5 F. T1 m: t ESIM模型基于NLI任务给出了一种强有力的交互型匹配方法。其采用了BiLSTM和Tree-LSTM分别对文本序列和文本解析树进行编码,其亮点在于:
2 g8 i" s' k+ _( z ( Y# d6 P& U, o/ s4 y L5 f
(1)匹配层定义了cross-attention得到各token的向量表示与原token向量间的详细交互关系,即采用 [ a ˉ , a ^ , a ˉ − a ^ , a ˉ ∗ a ^ ] [\bar a, \hat a,\bar a-\hat a,\bar a* \hat a] [ : e- b! ~1 P- @8 Y6 j b& {
a
0 T0 g; z* ^+ l( t) c% T* I- x ˉ: L4 B1 b3 N* S( W6 {& r8 N& Z% U
, & V% m0 x* w! P* g9 E/ y) g
a
5 G0 R1 u: `! o2 I* k& T7 S% u ^% d4 P2 ~" `1 o9 }
,
! q9 r2 i% J) t# _- I a
( |, l7 P. x& t+ ` ˉ
& e6 s9 g8 u8 ^+ a8 I − ; {4 b, D$ l9 ]2 Y
a
1 i6 ~- q, n( y" `, E+ S; R& x ^3 D- g. }; T; X% X$ R" d
,
0 G! H4 q4 Y/ G, k a
% R/ d1 u1 T V ˉ
4 s. k4 P( Q; a, Q* f8 c4 e8 K ∗ & S A Q+ [0 `; q
a
4 e$ @* A: a% m3 J4 v M; A ^
$ _" _0 a3 i L ]作为最终文本token的向量表示,这也成为后续文本匹配模型的惯用做法。+ T. s% Z& I! Q) _5 I j0 e
$ ]6 s3 d T! u (2)聚合层通过BiLSTM得到各文本token的编码,从而进一步增强了文本序列的信息传递;
@6 A$ o+ j( F
; }; c6 M7 D; Z- i$ j (3)预测层通过拼接各文本token编码的max-pooling和mean-pooling结果,再经过MPL进行匹配预测。
" z5 g/ D/ x0 \+ j4 l ! _9 o1 C9 X; w/ x5 x
- A8 b5 J% M" ?+ ` 1 @ T$ W$ [' _' Z- `% Y) r! B
8. Bimpm2 l5 c% X% S0 t" M0 W
Bimpm可视为对之前各类交互型文本匹配模型的一次总结。" j4 ~2 A: Q$ R$ o5 `4 R
- x0 U( V. W3 s+ K& m
该模型在各层的具体做法总结如下:
: k% k% K- V% X8 L1 ^ 7 w' U& q8 P2 z- f0 V
(1)编码层采用BiLSTM得到每个token隐层的向量表示;
9 U! ^) X6 }9 w/ I' v
/ a" S% |8 j7 q6 {' 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 7 v# p5 R; ^( }8 L
k
2 }! t! L I8 \; Z+ O
- ~ L% Z$ G. G* L =cosine(W
, w+ t. G/ ^+ T, N4 d k
. H9 r; w& q- V7 p1 U 6 ` _3 H; b4 p0 X" w
∗v
. n0 G# ^! T7 x' E+ f* O 10 f! F, M( G. w# ]" t7 i. z+ N; o+ k
: _/ W1 Z: f) F& v: u ,W
6 B7 J- m5 g1 _; @! a k8 f7 J2 d! @. P
+ d9 X% g; y) O& `
∗v , x' ]0 K- V5 W+ U
2. I) m6 V1 y# f" Z+ c! D
6 C0 \+ I' X9 A4 o: n/ n
)的方式可以得到两个文本的任意token pair之间在第k个view下的匹配关系,至于 v 1 v_1 v
! g" V# R! N5 k# c 1, X5 Z; r. x, ]$ w8 i$ c0 W" R
6 A; p0 [2 e+ f$ s# h7 \
和 v 2 v_2 v 1 n( D6 x8 u# n* o
22 `- ]7 |* |8 i6 u7 E/ ^
* l2 ?0 [. V+ @" \& s! g
如何取,文章提供了4种策略:! p/ G! U c( E
, ^1 W2 |" G# b/ c) f 策略一:其中一个句子取各token隐层的向量表示,另一个句子采用隐层最后时间步处的输出;( M/ H Y& ~) b- ^( z( I7 ^
策略二:其中一个句子取各token隐层的向量表示,另一个句子采用隐层各时间步输出与之匹配后取再取Max-Pooling值;4 E- D: c3 H2 ?7 M" Q9 J
策略三:其中一个句子取各token隐层的向量表示,另一个句子采用cross-attentive后得到的加权句子向量;& i5 F1 q. U' S3 k
策略四:其中一个句子取各token隐层的向量表示,另一个句子采用cross-attentive后attention score最高处token的向量作为句子向量。
3 ~! s4 u: C$ V6 D 这四种策略的区别在于对句子向量的计算不同。
2 o" H' o0 P! G5 P2 }% ]1 g
W8 |+ K, |: ?
0 ?; k: l. w+ n9 J$ t% Q (3)聚合层,首先对上面各种策略得到的输出层再通过一层BiLSTM层,然后将各策略下最后时间步的输出进行拼接,得到最后的聚合向量;) ^7 \/ c3 F: }# u& |
. v' h W+ l& v) a (4)预测层:两层MPL+softmax
' |) k7 q2 t( h5 k" T+ M& M2 c' M! M
( q. y; Z- v: X 9. HCAN
% B: |7 Y3 W! a HCAN是除Bert类模型外在文本匹配领域表现最为优异的深度模型之一,其采用了较为复杂的模型结构。" P9 @9 x' d0 s% ]1 R
, U% ]+ I, k; f4 I2 e
针对于信息抽取问题,文章首先分析了相关性匹配和语义匹配的差异:( Q$ @' p& k# o0 w
1 R z4 _7 f2 D; X5 i (1)相关性匹配主要关注于关键词的对比,因此更关注低层级词法、语法结构层面的匹配性;
. ^3 w) \- V* E; }* x9 `
6 [: s7 v; ?( R/ }* e (2)语义匹配代表着文本的平均意义,因此其关注更高、更丑想的语义层面的匹配性。" a m3 B: Z6 U* E8 a! L# r
6 e7 h2 e0 D' a' W# p 该模型首先采用三类混合的编码器对query和context进行编码:
' N/ O, ]7 g2 ?- o0 f2 p' J3 U : w2 s* Z. U- f; g8 m
(1)深层相同卷积核大小的CNN编码器;: _0 b- r+ J5 x( ?) y
. S7 n* X8 H/ h; v+ {7 E (2)不同卷积核大小的CNN编码器的并行编码;
0 |6 Q1 } @* m: q) Z5 z2 G
* u4 k9 t1 q5 R (3)沿着时序方向的stacked BiLSTM编码;9 \, @7 C& Z% {, V o* j
3 r: \$ U4 c; N" v8 v3 V- p& e
对于前两者,通过控制卷积核的大小可以更好的捕捉词法和句法特征,即符合相关性匹配的目的;而对于后者,其能表征更长距离的文本意义,满足语义匹配的目的。
2 _1 H: b1 j+ z+ P
* b7 p( l% d$ O. ?8 D% ` 在这三类编码器的编码结果基础上,模型分别进行了相关性匹配和语义匹配操作。其中相关性匹配主要采用各phrase间内积+max pooling/mean pooling的方式获取相关性特征,并通过IDF指进行各phrase的权重调整。而在语义匹配中,模型采用了精心设计的co-attention机制,并最终通过BiLSTM层输出结果。
6 t" z; e3 h8 {5 Z$ X' \" B5 \1 c$ O
& H, K2 [+ ?3 ?$ G$ Z; z 最后的预测层仍采用MPL+softmax进行预测。4 M" }6 ~4 \" C: q
7 b7 R9 W# c( D+ i y 10. 小结
* d4 _7 p# V6 ~ ]5 T: z6 M9 u1 h 交互型语言匹配模型由于引入各种花式attention,其模型的精细度和复杂度普遍强于表示型语言模型。交互型语言匹配模型通过尽早让文本进行交互(可以发生在Embedding和/或Encoding之后)实现了词法、句法层面信息的匹配,因此其效果也普遍较表示型语言模型更好。
9 x0 K! O! a+ x+ [ # n0 f9 x! H4 G9 D* c
【Reference】4 X1 C' b. r# F
+ V0 z5 |/ |8 l0 w( \1 m
ARC-II: Convolutional Neural Network Architectures for Matching Natural Language Sentences$ b% V+ {( M" e& P
0 k8 P$ R1 A' I0 t* H PairCNN: Learning to Rank Short Text Pairs with Convolutional Deep Neural Networks0 r! H; s" N( c9 A% ?
: H% x4 M+ m5 N( V R) Y
MatchPyramid: Text Matching as Image Recognition
/ H+ q7 j& Y6 w4 h' H2 J9 P " e) i$ n. X! |! | k* E
DecAtt: A Decomposable Attention Model for Natural Language Inference
l# a u9 d$ M- f% i* i1 {
' [7 Z2 [( L* T& A9 g3 U CompAgg: A Compare-Aggregate Model for Matching Text Sequences# J7 B6 O( u7 D+ B% N
3 q9 z" T3 k" N* { ABCNN: ABCNN: Attention-Based Convolutional Neural Network
' e* M8 |: K" X8 i' i `3 _, J for Modeling Sentence Pairs
* B# _* f! K9 S& p1 S$ o. E
* h8 F+ v) J6 W ESIM: Enhanced LSTM for Natural Language Inference2 V: {3 G4 {2 z+ y' q3 z
; r# F1 V, B/ f9 ?9 X$ { Bimpm: Bilateral Multi-Perspective Matching for Natural Language Sentences
! `8 Q, |; g7 ~8 [2 m; B
9 d, c1 ?7 w+ V, p! z0 {# |+ ^ HCAN: Bridging the Gap Between Relevance Matching and Semantic Matching
& ^; ^, H6 R( e0 \ for Short Text Similarity Modeling% p# d- B! _' D. v) V* O T; Z
0 t5 w& N+ X# { d* H8 s 文本匹配相关方向打卡点总结(数据,场景,论文,开源工具)
2 r% l1 S! F, t
, _, d4 o0 h( d, o 谈谈文本匹配和多轮检索
( Q, A5 ` Y- W" s9 r) T
2 G* p6 D% \/ Z& E/ }' z 贝壳找房【深度语义匹配模型 】原理篇一:表示型" f' T+ v0 ]4 C, X" H
————————————————
0 s! B" b) W1 |+ b J8 K1 o. s$ a! E 版权声明:本文为CSDN博主「guofei_fly」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。5 d$ w l0 J# ~0 R1 P
原文链接:https://blog.csdn.net/guofei_fly/article/details/107501276
/ c& H' K4 x. M5 i
/ F/ ?9 [, z7 i
' z6 w- R* l' l3 F9 I6 j5 F* V
zan