在线时间 1630 小时 最后登录 2024-1-29 注册时间 2017-5-16 听众数 82 收听数 1 能力 120 分 体力 563356 点 威望 12 点 阅读权限 255 积分 174230 相册 1 日志 0 记录 0 帖子 5313 主题 5273 精华 3 分享 0 好友 163
TA的每日心情 开心 2021-8-11 17:59
签到天数: 17 天
[LV.4]偶尔看看III
网络挑战赛参赛者
网络挑战赛参赛者
自我介绍 本人女,毕业于内蒙古科技大学,担任文职专业,毕业专业英语。
群组 : 2018美赛大象算法课程
群组 : 2018美赛护航培训课程
群组 : 2019年 数学中国站长建
群组 : 2019年数据分析师课程
群组 : 2018年大象老师国赛优
【文本匹配】交互型模型 / y/ r/ m1 H) m, ?/ H
3 r% A+ n! ]1 J3 g$ l- R; z% D+ e/ A 表示型的文本匹配模型存在两大问题:(1)对各文本抽取的仅仅是最后的语义向量,其中的信息损失难以衡量;(2)缺乏对文本pair间词法、句法信息的比较
5 S) c$ F) s) M9 | , q' w; v; x# N) q9 w
而交互型的文本匹配模型通过尽早在文本pair间进行信息交互,能够改善上述问题。
0 [% O+ z+ ~, x# N2 u
$ S* a$ U5 g8 Z( V: M8 M' q Q# e 基于交互的匹配模型的基本结构包括:
) {2 z) I& Y( Z0 `8 ~$ }$ U; o
& V; V# `7 I- e) Y+ j (1)嵌入层,即文本细粒度的嵌入表示;
& k) a% g' I: e4 a6 @- P" K 3 z+ h3 X) j d7 `7 y" Z- }( Z
(2)编码层,在嵌入表示的基础上进一步编码;. K7 ~& a- v) }: ~* O! G
. _9 w& o T F
(3)匹配层:将文本对的编码层输出进行交互、对比,得到各文本强化后的向量表征,或者直接得到统一的向量表征;
3 N/ {2 G" ~; @ Y
! @8 z0 U, J6 ]' ^ (4)融合层:对匹配层输出向量进一步压缩、融合;
: f8 E" ?9 {5 Q3 H) v8 q- _ ! B% t8 b/ x* T, A
(5)预测层:基于文本对融合后的向量进行文本关系的预测。, l; B: }* ~5 E% H8 `$ {9 {; n6 a" K# x
) t/ S7 ` q+ e/ T' N# V. t; R ( M1 I) L. d, y0 v& Q* |
; h) P$ u4 B5 B% M 1. ARC-II
* a$ |6 O- N% U7 c8 R9 `8 C( n# b ARC-II模型是和表示型模型ARC-I模型在同一篇论文中提出的姊妹模型,采用pair-wise ranking loss的目标函数。
+ [6 O$ R- X0 U0 [! W* }, x! j' v
2 Z& u* _& N& J; \# X) m 其核心结构为匹配层的设计:
& L+ ]3 G r* X
0 g6 G! B% {$ N: n3 V (1)对文本pair的n-gram Embedding结果进行拼接,然后利用1-D CNN得到文本S_X中任一token i和文本S_Y中任一token j的交互张量元素M_{ij}。该操作既然考虑了n-gram滑动窗口对于local信息的捕捉,也通过拼接实现了文本pair间低层级的交互。
; T8 G) p* |# y C' n3 {9 [
6 ]4 N2 K+ D/ L# B4 G1 K (2)对交互张量进行堆叠的global max-pooling和2D-CNN操作,从而扩大感受野。* K8 @; \ l+ \4 u$ ]
# F- a! P5 |" Q, H" a6 w* f, p 2. PairCNN* ^' c5 H( N7 [% n; n
PairCNN并没有选择在Embedding后直接进行query-doc间的交互,而是首先通过TextCNN的方式分别得到query和doc的向量表征,然后通过一个中间Matrix对query和doc向量进行交互得到pair的相似度向量,然后将query的向量表征、doc的向量表征、相似度向量以及其它的特征向量进行拼接,最后经过两层的MPL得到最后的二分类向量。9 Z- T; l; P0 y6 j8 R# D
4 B8 `8 n$ r6 w0 V, B( W; r
PairCNN的模型架构中的亮点在于各View向量的拼接,既能利用原始的语义向量,还能够很便捷的融入外部特征。
K0 \0 s! g/ l6 _; U; V / t$ W) @5 ^# _: Q5 _1 F" {7 [
3. MatchPyramid M; H- [& s7 l, c
无论是ARC-II中的n-gram拼接+1D conv还是Pair-CNN中的中间Matrix虽然均通过运算最终达到了信息交互的作用,但其定义还不够显式和明确,MatchPyramid借鉴图像卷积网络的思想,更加显式的定义了细粒度交互的过程。
& t4 A* k/ \5 y% i MatchPyramid通过两文本各token embedding间的直接交互构造出匹配矩阵,然后将其视为图片进行2D卷积和2D池化,最后Flatten接MLP计算得匹配分数。本文共提出了三种匹配矩阵的构造方式:
4 k8 @1 _' R. c ~0 E8 R6 i! {+ ^/ j
: W: u8 L8 i( F' T& }3 Y (1)Indicator:0-1型,即一样的token取1,否则取0;这种做法无法涵盖同义多词的情况;0 c' M6 `" j0 a" `" Q6 a5 y/ z$ ?8 V
7 S9 x. {2 s& \0 G7 }2 U0 j
(2)Cosine:即词向量的夹角余弦;
# m1 L8 |, [3 y/ ~, V# g
# [4 a( E# [$ D (3)Dot Product:即词向量的内积' X1 O, b4 I' B& z
! H: }5 |1 E* G3 N! N# J# O
此外值得注意的是因为各个文本pair中句子长度的不一致,本文并没有采用padding到max-lenght的惯用做法,而是采用了更灵活的动态池化层,以保证MPL层参数个数的固定。
; K; h1 \! d+ \0 `6 t8 r& _8 U
# T! }& T9 n: h" F$ a% h 4. DecAtt* C) @( L/ A: N+ k0 e& I
DecAtt将注意力机制引入到交互型文本匹配模型中,从而得到各token信息交互后增强后的向量表征。. l1 W, m- }/ L1 h1 _
$ @( Y& x; H; E: m3 L# J5 K3 C- y 模型被概括为如下层级模块:1 N j) E; d: k
( R- ^! Q$ `0 e
(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。 E4 a: Q, O& t: {# N7 D
9 J" ]2 Z8 G: P5 a6 [; m
(2)Compare层:将前序Attend层计算得到的最终embedding,喂入一个全连接层进行向量维度的压缩。! C; m+ K9 O" D
" _- H4 ]! G. ~( {3 [& N
(3)Aggregate层:将每个文本各token处压缩后的向量进行简单的求和,再拼接起来通过MPL得到最后的匹配得分。) n/ Q) d* G0 u0 S; b+ c3 M) I7 i
" G, @9 z7 Y/ @2 T 5. CompAgg! g0 P. J* X* y' n, x- D
CompAgg详细对比了在文本间cross-attention得到的各token向量表征与原始token向量进行compare的各种方案。# i+ W% }, O3 i$ ?& @% |! k* \; k! c6 l4 N
; B, V* w* |. x# v
该模型的主要结构包括: L5 p% H) X3 a$ ?
' s5 o/ [, H6 o+ w6 c2 L (1)reprocessing层:采用类似于LSTM/GRU的神经网络得到token的深层表示(图中的\bar a_i);- d4 |. a2 l% ]) S% S
- e# q% G/ y3 m2 s (2)Attention层:利用软注意力机制计算文本间的cross-attention(与DecAtt相同),从而得到各token处交互后的向量表示(图中的h_i);
0 r, h1 z6 i: W6 [, s 9 E" x$ l% C- M, l9 A
(3)Comparison层:通过各种网络结构或计算将\bar a_i和h_i计算求得各token的最终表征。
& v8 \% k2 G! A0 s 9 O% d9 P x2 d- m5 A
(4)Aggregation层:利用CNN网络对Comparison层的输出进行计算,得到最后的匹配得分。* l0 ^% O6 W5 z7 d
9 k. \+ Q0 x2 T6 } U
其中Comparison层的构造方式包括:5 ], ^. r6 Z1 X
/ s$ `! S1 L! b# J9 v, B+ ] (1)矩阵乘法,类似于Pair-CNN中的中间Matrix
8 b0 g, y" H! R5 i
, q" G# }, e$ ?) f! Z (2)前向神经网络,即将\bar a_i和h_i进行拼接,然后利用输入FFN;& F/ X) _- [0 X0 [' L: J& V s0 n: f
' l3 b' N ?& B% E% i; V7 h
(3)分别计算cosine和欧式距离,然后拼接;
9 p& \ S7 S+ Y* ?
" Q' e, Y; f: I W- j2 L( I (4)各维度进行减法;
! v! X* z( X& h4 i ) O" F" P, b6 k
(5)各维度进行乘法;( ]2 J" y$ z7 n* s% [0 Q
; z9 w" ~) i6 `, R
(6)各维度进行减法和乘法,然后再接一个前向网络。9 t7 `7 g% W7 z) P( D) E
8 B m; F8 O1 ?* d s% m3 N 6. ABCNN, p2 J4 H0 r: m" k1 L- w
ABCNN是将Attention机制作用于BCNN架构的文本匹配模型。
# j5 e5 v F8 h1 O7 k
: D/ r5 F& E! f7 d: @. W" y 6.1 BCNN
; y: Y* R# n; ?5 `, K! ]9 G7 { 首先简单介绍下BCNN架构:) q- T* B; l- ]
3 L6 j+ ]& Y& V1 l B4 v6 d BCNN的整体结构比较简单:(1)输入层;(2)卷积层,因为采用了反卷积的形式,所以在size上会增加;7 {; @* `( ^+ A( x
& A) _; r1 Z" W0 t$ W2 w6 e (3)池化层,采用了两种池化模式,在模型开始阶段采用的是local平均池化,在最后句子向量的抽取时采用了global平均池化;(4)预测层,句子向量拼接后采用LR得到最后的匹配得分。" s8 j) @9 ]0 }$ P( s
5 j: E% l# ?, h6 ?5 G) h4 u; n! @
ABCNN共包括三种变形,下面依次介绍。, P: Q) G. C' e; s
) [, A! n, ~3 `7 T. d: T1 E, j, H- d
6.2 ABCNN/ |- j8 `2 Z6 z$ i7 t+ E/ `
) W# w+ Q' E0 |; t 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 ; E7 }" [; }0 l0 Q
ij0 o) v2 k( q# t+ k
6 d, M& x% L7 ?4 t" w
= * \, _7 y5 @* R
1+∣x
8 q$ s! v1 i5 W8 j i. ?4 I9 e' }! ~0 j! a
& O7 D3 M8 \' d- Z: W −y
0 E9 @3 N; f7 K& M% w2 a/ \/ U j
2 x* B$ e- B5 c9 S, `2 m2 t& l 6 T9 X+ }0 s4 y. ~2 m6 l
∣
8 \2 w6 W8 ^' h% W# V) P 1
$ d' W# N3 F6 [9 @
# j* Q! I- U4 r+ k: B9 K2 Y$ m ,然后分别乘以可学习的权重矩阵 W 0 W_0 W 4 g. A, l% M! a
0! K2 ?/ m6 V' P7 L( x% @9 F/ n
5 G: z2 P" o* Q! X5 g5 G+ I' M1 a 和 W 1 W_1 W l; x6 F) M: S! t: F$ I
1% O% Z0 z2 b3 }( C5 j
8 M9 `' f0 k( ?# u: i4 _( F
得到attetion feature map。- H$ L0 d' k1 A/ y& _) h
& U S: X% N. W; |1 n 6.3 ABCNN-2 `( J9 K9 R5 n/ d7 Y
: |6 k9 ]! {7 z5 P- p- S) m9 ?- I ABCNN-2将Attention机制作用于word embedding层后的反卷积层的输出结果,其中注意力矩阵的计算原理与ABCNN-1一致。然后将注意力矩阵沿着row和col的方向分别求和,分别代表着各文本token的attention socre;接着将反卷积层的输出结果与attention socre进行加权平均池化,得到与输入层相同shape的特征图。
: z6 U" p; F) d ; a, t8 o M" G5 C4 D; R
6.4 ABCNN-34 A8 [8 `3 _" Q) A- M2 l7 `( t
/ g/ G/ T' q) l- j
ABCNN-3的基本模块可视为ABCNN-1和ABCNN-2的堆叠,即在嵌入层和卷积层上面都引入了attention的机制用来增强对token向量的表示。
1 m: {- x1 B8 o! z; H- N t* b* T" h% Q! S1 n6 A! M
7. ESIM, v- F! v- E* X- F
ESIM模型基于NLI任务给出了一种强有力的交互型匹配方法。其采用了BiLSTM和Tree-LSTM分别对文本序列和文本解析树进行编码,其亮点在于:* k f( Y7 G6 _* w" t# o
/ k- |: D. C* G' J5 [3 h* Z" F/ p1 m
(1)匹配层定义了cross-attention得到各token的向量表示与原token向量间的详细交互关系,即采用 [ a ˉ , a ^ , a ˉ − a ^ , a ˉ ∗ a ^ ] [\bar a, \hat a,\bar a-\hat a,\bar a* \hat a] [ , g' j2 [9 G& D% C% W/ n/ f; J
a6 B9 |+ B; E/ z. Y
ˉ
2 Z+ r8 A3 I# F: N, l , * ^& X% H& L+ u( M* z& t9 y0 _
a
# h7 N0 ~& D: X3 ]! d ^: A# r" A) t( o0 }9 ] N6 E; j c
, 6 Y% W/ `0 B+ k
a6 a# ?. d. M' J) R
ˉ
- b5 U* q, G& j( e. t9 A; M − ! _+ K- a0 U0 i, g4 d# N Z
a D: K6 |) i: W9 [) u. \
^" l4 e, c, A4 k Z) I! F6 x! {
, & G7 K% `0 }' z2 `0 Q& d+ `& _
a
6 r1 u. b( P$ x- z7 b9 { ˉ
, g6 K6 F4 Q3 z1 f/ D, F ∗ ! \$ Q t4 J8 g1 `; t& l5 }
a8 @2 W2 U1 F7 o* R6 [! L, h
^
7 X9 ^/ p- s. z* _. w3 \7 B ]作为最终文本token的向量表示,这也成为后续文本匹配模型的惯用做法。8 b# f$ ^8 w2 Z2 T4 C
4 N- @$ w% j. w t1 n7 m
(2)聚合层通过BiLSTM得到各文本token的编码,从而进一步增强了文本序列的信息传递;/ c3 S3 C8 ]/ q$ t f" T, q. Z
% }0 r4 u) H9 }- e, d' z' y
(3)预测层通过拼接各文本token编码的max-pooling和mean-pooling结果,再经过MPL进行匹配预测。* \9 v9 I A* o. V
8 U4 O/ A3 J/ E0 {
" U; Z+ t) x! v s ~0 k
" W! Y! r# {8 w2 x/ G 8. Bimpm- }6 _1 C/ }% o" y- F! Z
Bimpm可视为对之前各类交互型文本匹配模型的一次总结。' h5 \2 u1 ?0 y. f
& k# Q" h: s# _2 S 该模型在各层的具体做法总结如下:
1 X/ ]3 T$ f# w& T: {+ A s' C* f( |5 p4 D1 W/ C" a
(1)编码层采用BiLSTM得到每个token隐层的向量表示;
% y8 `* t% {9 _) R: U+ T# `
% h( L' G; J5 f# k9 H6 q5 m (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 r9 }3 z5 H8 j" N3 t% ^4 ^ k
+ N$ `! n: K! a/ t0 g& ^9 c
`3 t6 l; R0 t$ w" r5 [( ]# s& K =cosine(W 0 n6 [3 O' A( G4 ^0 }
k/ r" h% {8 m, [4 a4 J- B
4 T4 k( H! l, z" L q. Y+ J ∗v
. P# H+ s! U" B; v% C m$ P 1
! l3 N) C! ^: y4 F* h
" [ `- L `( t ,W
9 }0 V$ `, V9 j: A k
" M) a; Z& L, L9 L 6 _1 F4 I' C! d( s
∗v
. ~5 A0 E7 |6 h- j% y9 { 2
% P( B1 f6 e" Q) S $ y6 o$ i3 p9 L1 w! G$ p1 Y) j) p
)的方式可以得到两个文本的任意token pair之间在第k个view下的匹配关系,至于 v 1 v_1 v ; N/ r9 T- p% l; h D( ~
1( c6 T# ~3 U' R
0 L. t$ Z6 T, u/ P* D: s 和 v 2 v_2 v 4 }( q& ^% B; y: Y7 ]! a
2- C4 ]4 S; t7 N4 n( u" G! g4 K) ]( ~
. `1 ], }+ C1 p9 f 如何取,文章提供了4种策略:" _) Q4 w1 P" a* [! g9 Z) L( E
2 S( x c: B" ]$ r7 i. h
策略一:其中一个句子取各token隐层的向量表示,另一个句子采用隐层最后时间步处的输出;
# i# P, x" U' M! D' E I- Y 策略二:其中一个句子取各token隐层的向量表示,另一个句子采用隐层各时间步输出与之匹配后取再取Max-Pooling值;0 k" x5 a: F, ~& w& r9 @
策略三:其中一个句子取各token隐层的向量表示,另一个句子采用cross-attentive后得到的加权句子向量;3 b3 m4 d- N! B/ k* G
策略四:其中一个句子取各token隐层的向量表示,另一个句子采用cross-attentive后attention score最高处token的向量作为句子向量。
% q D1 u" N# z3 J2 B 这四种策略的区别在于对句子向量的计算不同。2 `, X2 P) Q3 i- X* X x
0 w# L3 a" O& [ b! ~# V
1 H' t+ {, r6 o5 k
(3)聚合层,首先对上面各种策略得到的输出层再通过一层BiLSTM层,然后将各策略下最后时间步的输出进行拼接,得到最后的聚合向量;$ ] [) K$ s$ W. H& k& w0 h
& K+ G* V0 F0 Z2 s ~ (4)预测层:两层MPL+softmax9 U/ l9 x9 o7 b& H5 k, [
0 S, h! b1 Q1 [/ A9 H1 q+ F0 w1 v2 p 9. HCAN4 G, n5 v! }. a7 f$ o
HCAN是除Bert类模型外在文本匹配领域表现最为优异的深度模型之一,其采用了较为复杂的模型结构。. ?4 U. R4 T' I2 {- B" \: p; [8 _, B
7 h* y- ~9 d' ` 针对于信息抽取问题,文章首先分析了相关性匹配和语义匹配的差异:
* N% z+ s) x8 ]0 y0 ]+ D * _! O' O; @( w& G$ _1 C
(1)相关性匹配主要关注于关键词的对比,因此更关注低层级词法、语法结构层面的匹配性;9 X( x+ X4 c# C5 V+ A
$ ], T8 m) T' Y1 D- q* D7 o
(2)语义匹配代表着文本的平均意义,因此其关注更高、更丑想的语义层面的匹配性。
6 f* C0 c4 R# B" z: M4 ^4 }; J! J
7 B1 H/ ?1 u l( e 该模型首先采用三类混合的编码器对query和context进行编码:9 f4 i d5 L" q' q u
9 a! ]! H2 q/ o, ]0 X
(1)深层相同卷积核大小的CNN编码器;
! L* ]: |# o! i8 j # y4 r) `4 p* s/ o
(2)不同卷积核大小的CNN编码器的并行编码;! z/ A& m4 ?& `2 b
9 |1 w' ?' T- T" o; V (3)沿着时序方向的stacked BiLSTM编码;
- O; ?2 c8 F8 y: A$ S 2 c; j% C0 v/ ^* B; S
对于前两者,通过控制卷积核的大小可以更好的捕捉词法和句法特征,即符合相关性匹配的目的;而对于后者,其能表征更长距离的文本意义,满足语义匹配的目的。# _8 b& w5 }* F
4 V& X2 b! e K
在这三类编码器的编码结果基础上,模型分别进行了相关性匹配和语义匹配操作。其中相关性匹配主要采用各phrase间内积+max pooling/mean pooling的方式获取相关性特征,并通过IDF指进行各phrase的权重调整。而在语义匹配中,模型采用了精心设计的co-attention机制,并最终通过BiLSTM层输出结果。
/ u( _ {. q# C. H6 r" G) B W
G2 _( A( e: @ 最后的预测层仍采用MPL+softmax进行预测。% \. K0 c& T. s1 _; ?0 h9 Q
) ]0 ?6 \" ^" U, f* A3 r f
10. 小结$ [) C$ A" ~# [- e {2 [& F
交互型语言匹配模型由于引入各种花式attention,其模型的精细度和复杂度普遍强于表示型语言模型。交互型语言匹配模型通过尽早让文本进行交互(可以发生在Embedding和/或Encoding之后)实现了词法、句法层面信息的匹配,因此其效果也普遍较表示型语言模型更好。+ t1 D9 D/ H4 {% W3 C5 E; {
1 m% J% z- R$ L* c 【Reference】
4 N ]7 p. O# b; b
9 r: x$ K; j5 u; Z6 \+ ? ARC-II: Convolutional Neural Network Architectures for Matching Natural Language Sentences. M( K( e9 G; h4 w( ?
: Z% L- V3 x* d, n% h0 z PairCNN: Learning to Rank Short Text Pairs with Convolutional Deep Neural Networks
! I3 G5 h* c" u& n
) f( Y& k1 b( v& D: }, N, j. x8 F, Q MatchPyramid: Text Matching as Image Recognition
4 b$ {, ?4 T" G# j2 ^! f+ J% r 5 W5 f' {! s, C) f. V
DecAtt: A Decomposable Attention Model for Natural Language Inference! Q5 f3 Z* o' Q; [! ]
# A% i2 D4 `# P
CompAgg: A Compare-Aggregate Model for Matching Text Sequences2 N2 y# Z* \2 W1 S n+ _ U
" }/ r4 T+ e3 Y
ABCNN: ABCNN: Attention-Based Convolutional Neural Network
$ I; `. g" x8 D( D for Modeling Sentence Pairs
% r3 l, f- u) G, | b3 ?* ?
/ P! B+ r" Z; N' c/ o: D( a ESIM: Enhanced LSTM for Natural Language Inference+ r' n% N9 r3 E; c; v. k
: F; [* A; x9 f) L Bimpm: Bilateral Multi-Perspective Matching for Natural Language Sentences
7 |8 A' V# O. U3 k' G( o . a, _4 E, ]6 i; S; ^5 o6 d; a8 K
HCAN: Bridging the Gap Between Relevance Matching and Semantic Matching! m; Z# Y/ b' n9 q& q
for Short Text Similarity Modeling+ ]. d4 X% L( t& X9 }$ `3 C/ @
- {4 ]$ K0 P7 H( e" n( `$ c
文本匹配相关方向打卡点总结(数据,场景,论文,开源工具)
4 v$ m1 S) U) ~ * M5 d7 N, |. Z2 M' n$ }. t
谈谈文本匹配和多轮检索
# d$ P. U2 j B6 S 7 ~3 h D) {9 y7 J
贝壳找房【深度语义匹配模型 】原理篇一:表示型/ M* M* K( j# V2 I
————————————————1 W) o- F, x! V# \- k
版权声明:本文为CSDN博主「guofei_fly」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
9 M Q& E e4 G: k. f( M 原文链接:https://blog.csdn.net/guofei_fly/article/details/107501276
( \" T+ G: i( w8 X# e7 R
. {, }# i! u2 x' z ) W& V. ~; |9 x9 I, q0 k0 n
zan