在线时间 1630 小时 最后登录 2024-1-29 注册时间 2017-5-16 听众数 82 收听数 1 能力 120 分 体力 564647 点 威望 12 点 阅读权限 255 积分 174617 相册 1 日志 0 记录 0 帖子 5313 主题 5273 精华 3 分享 0 好友 163
TA的每日心情 开心 2021-8-11 17:59
签到天数: 17 天
[LV.4]偶尔看看III
网络挑战赛参赛者
网络挑战赛参赛者
自我介绍 本人女,毕业于内蒙古科技大学,担任文职专业,毕业专业英语。
群组 : 2018美赛大象算法课程
群组 : 2018美赛护航培训课程
群组 : 2019年 数学中国站长建
群组 : 2019年数据分析师课程
群组 : 2018年大象老师国赛优
【文本匹配】交互型模型
8 u# g" v3 I3 v" P L
; U% g, Q2 A4 R) J 表示型的文本匹配模型存在两大问题:(1)对各文本抽取的仅仅是最后的语义向量,其中的信息损失难以衡量;(2)缺乏对文本pair间词法、句法信息的比较: {, r1 g: m( f/ n
3 P9 Y& C( O3 U5 [" J0 x# B 而交互型的文本匹配模型通过尽早在文本pair间进行信息交互,能够改善上述问题。+ I8 n3 s7 e9 _9 \
1 N4 S3 Z. a0 ^5 y! K( d3 {* r
基于交互的匹配模型的基本结构包括:
3 q1 T( k3 J' ^& [) R
# |4 S6 l- G, e% C (1)嵌入层,即文本细粒度的嵌入表示;: S2 v: q9 X7 T0 x: u7 ?+ U
3 f8 ?( l; e& ~- A8 Z/ H (2)编码层,在嵌入表示的基础上进一步编码;0 F7 P" G2 v3 K+ H
) a* F' H+ m, i
(3)匹配层:将文本对的编码层输出进行交互、对比,得到各文本强化后的向量表征,或者直接得到统一的向量表征;* a# W8 r E) X. P
2 h+ b' O+ j- r4 C) z" U+ O7 z0 T (4)融合层:对匹配层输出向量进一步压缩、融合;# Z& Q* H+ B* |' G3 F7 O6 \
" r, A" N+ r; X( W$ i (5)预测层:基于文本对融合后的向量进行文本关系的预测。. R2 V" _7 A0 `, W- i9 Y: j" P
) t8 g3 L# `% f3 k0 R
! ? f, Y( r4 F3 i1 c# M6 L% @% l2 ]
- x$ \$ s: m: v" Z% @( B/ P 1. ARC-II8 K4 M( W. a( ^7 X/ S, e
ARC-II模型是和表示型模型ARC-I模型在同一篇论文中提出的姊妹模型,采用pair-wise ranking loss的目标函数。
7 `& `+ S d. X" A1 M2 d" ?, n
* a2 a0 P) c4 Y& v$ v 其核心结构为匹配层的设计:- E4 j/ ~) M' D+ L- ?2 b' P
, @! p& u H9 z( g- {% l. |
(1)对文本pair的n-gram Embedding结果进行拼接,然后利用1-D CNN得到文本S_X中任一token i和文本S_Y中任一token j的交互张量元素M_{ij}。该操作既然考虑了n-gram滑动窗口对于local信息的捕捉,也通过拼接实现了文本pair间低层级的交互。, L i5 M+ t" L! K9 B8 P
9 t" V; Z; h2 _' ` (2)对交互张量进行堆叠的global max-pooling和2D-CNN操作,从而扩大感受野。$ @7 Q4 R; \4 K2 Z% N
+ |' ]/ v* l6 x) p8 o* [ 2. PairCNN
9 x& M/ L( j& u) H! G PairCNN并没有选择在Embedding后直接进行query-doc间的交互,而是首先通过TextCNN的方式分别得到query和doc的向量表征,然后通过一个中间Matrix对query和doc向量进行交互得到pair的相似度向量,然后将query的向量表征、doc的向量表征、相似度向量以及其它的特征向量进行拼接,最后经过两层的MPL得到最后的二分类向量。: i2 R7 b0 D( e* ^( X. U
/ b0 H- y; E- Y8 {, @ I PairCNN的模型架构中的亮点在于各View向量的拼接,既能利用原始的语义向量,还能够很便捷的融入外部特征。
) m, f3 z2 D6 S" i: }; U , }" q q& t* `) M
3. MatchPyramid' G) _& Q8 ~+ a: N7 N! q3 x
无论是ARC-II中的n-gram拼接+1D conv还是Pair-CNN中的中间Matrix虽然均通过运算最终达到了信息交互的作用,但其定义还不够显式和明确,MatchPyramid借鉴图像卷积网络的思想,更加显式的定义了细粒度交互的过程。
! ^$ r& {2 y) r9 m MatchPyramid通过两文本各token embedding间的直接交互构造出匹配矩阵,然后将其视为图片进行2D卷积和2D池化,最后Flatten接MLP计算得匹配分数。本文共提出了三种匹配矩阵的构造方式:
) F- H) D: o E8 n& }& e
\6 P* l1 w2 M# [( K& `" U: w (1)Indicator:0-1型,即一样的token取1,否则取0;这种做法无法涵盖同义多词的情况;
! ?' `7 ~: E8 v" i9 Y : m5 O2 n; V# i5 \' K+ \
(2)Cosine:即词向量的夹角余弦;0 \, h3 C) _) i( [4 Z
" H; R4 d( N4 G (3)Dot Product:即词向量的内积
- `2 _, b$ n! {% `* O' m' l
% G f6 k8 I* S! m) l" d 此外值得注意的是因为各个文本pair中句子长度的不一致,本文并没有采用padding到max-lenght的惯用做法,而是采用了更灵活的动态池化层,以保证MPL层参数个数的固定。
- I4 Y; p! r7 F- w 3 k8 i: m. \+ \& v! u$ Y5 Q) H& ^
4. DecAtt
% |" ]" W9 b7 ? DecAtt将注意力机制引入到交互型文本匹配模型中,从而得到各token信息交互后增强后的向量表征。7 [. m* O1 M0 O; k; m
) o' ?% J0 e4 K 模型被概括为如下层级模块:8 M5 v2 g7 S) w$ N. F; F1 ?
; X8 @! e; g# u9 m, f* t* [5 u (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。* w) Y2 [: S& i9 C8 K0 G, r
# ^1 O$ |( ~' C8 w, r- T5 ` (2)Compare层:将前序Attend层计算得到的最终embedding,喂入一个全连接层进行向量维度的压缩。
1 b; L9 R( |5 a8 k
% k T6 o4 d' j* p# \' v; G' R (3)Aggregate层:将每个文本各token处压缩后的向量进行简单的求和,再拼接起来通过MPL得到最后的匹配得分。) A; m- V& H D+ n0 }5 a% f6 ^- v
+ t7 Q+ A+ o+ R
5. CompAgg
. g: a6 a4 Q& d& m! G; a+ \& i" r CompAgg详细对比了在文本间cross-attention得到的各token向量表征与原始token向量进行compare的各种方案。; y, J. s9 K! `5 i4 P+ z" K0 W* t
& p" z1 R, a/ {6 s! Z7 O6 P) @+ P2 | 该模型的主要结构包括:
m; q5 X7 ~4 Z3 R- r
, E, }- X" L/ j2 z; T* K$ f (1)reprocessing层:采用类似于LSTM/GRU的神经网络得到token的深层表示(图中的\bar a_i);
8 E6 m) ^. J5 b ( Q( h; j0 V$ e4 V0 U. U
(2)Attention层:利用软注意力机制计算文本间的cross-attention(与DecAtt相同),从而得到各token处交互后的向量表示(图中的h_i);
2 J7 g0 l- B. U ! x7 m$ n& x9 h7 e
(3)Comparison层:通过各种网络结构或计算将\bar a_i和h_i计算求得各token的最终表征。7 U; n7 \1 r n5 i. E# `* X
9 l G5 w. Q; F (4)Aggregation层:利用CNN网络对Comparison层的输出进行计算,得到最后的匹配得分。7 f- n4 W: A$ Y8 K! } q# t
1 Q* ?" k6 Z* Q# d% g' G 其中Comparison层的构造方式包括:- P1 b* E8 U' V' `$ E
6 v- n r! w: Y/ b9 x (1)矩阵乘法,类似于Pair-CNN中的中间Matrix0 t6 q5 ?6 S* |
3 ?$ l3 N, y H/ x0 N (2)前向神经网络,即将\bar a_i和h_i进行拼接,然后利用输入FFN;. C3 J" Q$ Q: Y* U& I
& T$ o4 t* u% y3 Q' X* {6 T# w7 F (3)分别计算cosine和欧式距离,然后拼接;1 [% Z, W; n/ _/ I. ^8 Z
' Y; K) K+ Z3 E' N' d+ |* h (4)各维度进行减法;
3 S5 o; {# Z" b2 \4 C! v% a
1 E$ g# ? G' ` (5)各维度进行乘法;
+ ~) y# e+ m6 t6 r( F) |
, Z% A: z9 j! E o9 u9 ? (6)各维度进行减法和乘法,然后再接一个前向网络。
- `1 S7 v+ e- l$ D9 {
+ X/ T' n5 A* c0 R 6. ABCNN/ D: }, k/ u' i( R) J0 l3 b
ABCNN是将Attention机制作用于BCNN架构的文本匹配模型。
9 S0 z9 \# p) J2 A * Q( x! U" G8 S. z/ f
6.1 BCNN5 [1 h8 k% [3 ?- L
首先简单介绍下BCNN架构:7 @/ X+ _( X6 T. ^* u0 X
; Z$ w+ d& A* |( L; _ BCNN的整体结构比较简单:(1)输入层;(2)卷积层,因为采用了反卷积的形式,所以在size上会增加;& M; N3 e6 A' D, f0 v1 r
! f# \" j4 O- G( h% t5 |, X (3)池化层,采用了两种池化模式,在模型开始阶段采用的是local平均池化,在最后句子向量的抽取时采用了global平均池化;(4)预测层,句子向量拼接后采用LR得到最后的匹配得分。: X) Z- d2 |2 P# d- c( [
& Q8 t' O# x8 j$ c, i& N9 A! B2 v& M ABCNN共包括三种变形,下面依次介绍。8 d4 m8 B5 V5 u$ p
* r% o8 g$ B6 o1 ]
6.2 ABCNN
# C+ Q7 N: o6 h; i4 h/ Z & P U& B2 B [& A' t" v1 V
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 ( h( I& C: y& L8 L
ij' s# r2 i+ o/ A4 d& c
' I1 X2 g0 Z7 t2 L3 Q& {
= . f6 W3 x$ \& i
1+∣x ( @& A% b7 |2 e( ~' M- Y& l
i
4 `' Z* R( [% d# w. U; O , ?: f# a) k% |8 J
−y & B( e n0 r+ G
j9 t5 r2 n: c, l) P3 R
# _1 i$ T+ a8 G8 A# Y/ w6 } ∣, e2 S, x) T k4 Z+ a
1
. V9 X; N8 c% M5 t$ h h
5 p& g/ v6 V" i4 K6 }" z ,然后分别乘以可学习的权重矩阵 W 0 W_0 W 2 j& `( V( ^1 A5 j2 P8 ~
0
8 X- k8 N! V( a* a: }8 ]. B
! {+ [) d' n' l: Q8 U( d3 t6 K 和 W 1 W_1 W ( P5 S" r# Q( l2 X
1
9 `4 i, Z1 ~4 w; Z" m" ~ " p9 X- B8 {$ L- ?0 w. G" @
得到attetion feature map。8 R6 d8 T/ x7 v7 `8 r
6 `3 \( f/ b7 F, C
6.3 ABCNN-2 _. y! V3 W" |; Q) b
" }6 l9 S1 \9 H: J7 d4 S
ABCNN-2将Attention机制作用于word embedding层后的反卷积层的输出结果,其中注意力矩阵的计算原理与ABCNN-1一致。然后将注意力矩阵沿着row和col的方向分别求和,分别代表着各文本token的attention socre;接着将反卷积层的输出结果与attention socre进行加权平均池化,得到与输入层相同shape的特征图。# @8 V( i) o8 O" j, F- c
+ K8 a1 @" P0 M: x, }6 Z. p 6.4 ABCNN-3
( A! W- y% L: g 9 {6 P2 c1 a" u# @, N% w
ABCNN-3的基本模块可视为ABCNN-1和ABCNN-2的堆叠,即在嵌入层和卷积层上面都引入了attention的机制用来增强对token向量的表示。
. W4 @' M, A, C v+ P( p" G6 `
7. ESIM( b, E$ Y% B- d; y% l& F
ESIM模型基于NLI任务给出了一种强有力的交互型匹配方法。其采用了BiLSTM和Tree-LSTM分别对文本序列和文本解析树进行编码,其亮点在于:
* P8 X& @% Y5 q3 H W: g# y " G* T3 T0 ~8 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] [
! u/ E* K+ |7 ~2 } a6 X3 ]+ v/ p, L& g" w4 s
ˉ
4 V' {: n2 a1 x% | e ,
: d# D( V( A5 Y5 O/ L9 m& ~9 c a' ^! d1 T0 M- B4 b& \+ E
^
8 K* Y+ K$ F. P5 e. i ,
( h* A4 ?6 }( T" g% K L0 m! a a
8 O, c! [4 P8 _( Y0 a; s; ~! @ ˉ
' p7 L7 d9 V: p. w. l# {9 x& R −
J; U, }$ a6 v0 q5 ^" N a# L0 C: A) [0 [, {% a9 |' p8 ?# W
^8 l; s4 x- A. _* V
,
3 n& _6 j, t4 l% H+ D3 v1 B; Z) k a
; l4 A) j0 u& \5 s+ s) u+ p ˉ
' A; i: l( y* V+ F4 u( A$ O ∗
, F1 v H3 N$ g$ q X" r a
4 M( B. K) G, n6 _ ^
( r4 o1 m. I* K q$ S7 Y1 B, { ]作为最终文本token的向量表示,这也成为后续文本匹配模型的惯用做法。( T' b0 W9 M* K6 T* h9 i! Y
) l3 a, v3 n7 A& ]5 i7 ^
(2)聚合层通过BiLSTM得到各文本token的编码,从而进一步增强了文本序列的信息传递;6 j' M4 Q/ K% j" }
1 {# [9 I, L# z5 o6 W4 R
(3)预测层通过拼接各文本token编码的max-pooling和mean-pooling结果,再经过MPL进行匹配预测。4 Y3 U% w j0 v" y0 x# S+ z
1 p [& y' m; O! m
8 O h$ K8 N* T/ l+ S5 ?
1 D. D% f4 L; u 8. Bimpm) ?# }8 s! U$ z9 e( B& g) R
Bimpm可视为对之前各类交互型文本匹配模型的一次总结。, \7 P' x9 K7 a
7 S- H5 X$ r! W0 } 该模型在各层的具体做法总结如下:
2 _: ^& {% K" f4 U: K # u) q) F1 ^! F5 J
(1)编码层采用BiLSTM得到每个token隐层的向量表示;
/ c: E+ K3 X8 c; {3 w; |! q 1 ~9 r8 n/ E6 H+ O% C
(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
: j! A* E4 T9 [ k0 t3 X" M8 q+ S6 C: X1 ~
- c9 ^* s7 L7 M* u1 b =cosine(W
; ~9 i" c; k& c" ?3 S, `. H k. f( l2 H. }7 B* r6 `/ v
; y7 U8 z- b& b1 a$ B
∗v , ?; E' s) F3 T' n/ ?" ]: I1 E2 T
1
/ m/ x; b! H& c3 @0 f2 o P
6 d( Z% M; N# i" v. q0 l) q. F3 T8 Y0 q ,W
- i9 U. d& y' C' t$ _" U& s: Q k' ?0 [/ l2 D9 f9 n( s% f0 l1 f
# y6 K B# Y% u9 b. |/ w# h) V ∗v
- r9 ?& M4 l3 a& [ 24 [, j7 v: U: `
% N: x1 ? F) c" a: J# q+ ]3 _9 W9 ~) D
)的方式可以得到两个文本的任意token pair之间在第k个view下的匹配关系,至于 v 1 v_1 v ; X6 R' v; y; J; h3 ~
1
4 v6 l# n5 K5 |2 h$ @ l# Z0 ^! t' R, K
和 v 2 v_2 v
9 \2 p3 a3 U' y1 [! u 2* Z2 {4 R: p9 Q5 o' v4 B8 w- c
* z0 h K9 g+ u9 O/ U/ ?8 L" C5 K
如何取,文章提供了4种策略:) ?' h7 v# a- ]+ v: d# d' i
( J- _! f4 }+ ~8 j# |7 P C( V
策略一:其中一个句子取各token隐层的向量表示,另一个句子采用隐层最后时间步处的输出;
: E Q2 `- N& Z* x- X; a. { 策略二:其中一个句子取各token隐层的向量表示,另一个句子采用隐层各时间步输出与之匹配后取再取Max-Pooling值;5 @4 F- f7 C1 }
策略三:其中一个句子取各token隐层的向量表示,另一个句子采用cross-attentive后得到的加权句子向量;
; i* p* {; a6 Y- E( U. [ 策略四:其中一个句子取各token隐层的向量表示,另一个句子采用cross-attentive后attention score最高处token的向量作为句子向量。* M+ j- T* g: L$ j. I. u
这四种策略的区别在于对句子向量的计算不同。+ }; X3 U+ H! V3 O' m' s
' T! I: g2 l% }7 e, o 0 L$ f0 f4 v( {; L/ d
(3)聚合层,首先对上面各种策略得到的输出层再通过一层BiLSTM层,然后将各策略下最后时间步的输出进行拼接,得到最后的聚合向量;
3 o+ h1 i0 M$ U
" p9 f v: F% ]( B7 N. R (4)预测层:两层MPL+softmax
( ]# d1 l1 s& {* d5 o
( g v9 K5 A+ f8 G7 o 9. HCAN9 k( _3 w) ?) B: e8 q! o$ D4 O
HCAN是除Bert类模型外在文本匹配领域表现最为优异的深度模型之一,其采用了较为复杂的模型结构。
- Q1 |5 p% `, Q + i4 d! B+ W Y2 ?7 A9 h
针对于信息抽取问题,文章首先分析了相关性匹配和语义匹配的差异:
% s, o. u" J; n5 @6 ]$ ~ V- |0 `0 O4 v% X* F
(1)相关性匹配主要关注于关键词的对比,因此更关注低层级词法、语法结构层面的匹配性;
! i4 F. h2 I( k6 x * v% c, }3 n; t' H8 I# L
(2)语义匹配代表着文本的平均意义,因此其关注更高、更丑想的语义层面的匹配性。5 h5 Q) |# `' Y& a
% A3 [ Z) g/ h5 O4 v0 X' k
该模型首先采用三类混合的编码器对query和context进行编码:
9 y# ~' }" e; m. Q6 A' e 8 ?+ H( ]) e4 U! ]3 N- Y, `
(1)深层相同卷积核大小的CNN编码器;6 D, A' f5 o! I% Q
9 H) N& K. ?4 M7 H1 ` (2)不同卷积核大小的CNN编码器的并行编码;
% D6 n# l2 J. w; v1 o, T # g( v) R4 }4 F6 L" {0 o9 L0 x6 B+ M
(3)沿着时序方向的stacked BiLSTM编码;
. Q$ q7 m+ D" x) K4 g7 R; i: x( M
0 @2 ~- L# p |6 u' f a 对于前两者,通过控制卷积核的大小可以更好的捕捉词法和句法特征,即符合相关性匹配的目的;而对于后者,其能表征更长距离的文本意义,满足语义匹配的目的。
% N; b. |/ }3 C( x- S+ Y' G5 c% x) J8 T
y5 N. q1 k6 p- `* V- N7 o; ] 在这三类编码器的编码结果基础上,模型分别进行了相关性匹配和语义匹配操作。其中相关性匹配主要采用各phrase间内积+max pooling/mean pooling的方式获取相关性特征,并通过IDF指进行各phrase的权重调整。而在语义匹配中,模型采用了精心设计的co-attention机制,并最终通过BiLSTM层输出结果。
0 W, Z' b" l8 K1 E 1 g( [* \" C. ^; H
最后的预测层仍采用MPL+softmax进行预测。2 W& @; k1 Y; v" L9 p$ i# E
' ^4 H+ s. Z, _
10. 小结; V0 B9 e( j) x* [! Z
交互型语言匹配模型由于引入各种花式attention,其模型的精细度和复杂度普遍强于表示型语言模型。交互型语言匹配模型通过尽早让文本进行交互(可以发生在Embedding和/或Encoding之后)实现了词法、句法层面信息的匹配,因此其效果也普遍较表示型语言模型更好。* U2 F) _' ?! Z) o8 h; G' G) \
7 ?/ B( [2 W4 n8 j$ ^# Y- V 【Reference】: J% C" f- q; Z8 m e" R/ z
# V9 o/ n t: v, H
ARC-II: Convolutional Neural Network Architectures for Matching Natural Language Sentences
3 B h- i1 K! F) k! v; C
/ d9 S: U5 A; C4 h PairCNN: Learning to Rank Short Text Pairs with Convolutional Deep Neural Networks
; `3 A; `3 C, E/ s- H0 c$ n
* q$ v, \* P! P/ T0 T MatchPyramid: Text Matching as Image Recognition8 U8 x" |/ f" V; m2 W$ J
" G# X& d, _' c; C! H* d! ^
DecAtt: A Decomposable Attention Model for Natural Language Inference
( T: z5 @# m/ i% l0 l
6 ]! B7 W& l6 t5 s; L3 W CompAgg: A Compare-Aggregate Model for Matching Text Sequences
L5 \9 N( W+ W& X
4 v, j9 v& K- E% d* A3 S' ^ ABCNN: ABCNN: Attention-Based Convolutional Neural Network' B& Q( E. \5 N; b ?
for Modeling Sentence Pairs* _) k% v- }; s) M- w Q
6 c5 J1 O5 v1 h* t# Z ESIM: Enhanced LSTM for Natural Language Inference. {3 O9 R$ h7 y- x$ Q; u7 d
/ h; W" u( z! b) Q+ `& ]
Bimpm: Bilateral Multi-Perspective Matching for Natural Language Sentences9 Q4 y9 ^3 O9 [. p4 h9 c
, V( q+ \8 [5 z; I/ w4 Y" N& D HCAN: Bridging the Gap Between Relevance Matching and Semantic Matching/ }% G; ~% E7 Z/ ]4 d
for Short Text Similarity Modeling
& f6 {7 ~8 T/ P/ {* T 2 L6 d n* L4 N" `0 V. s
文本匹配相关方向打卡点总结(数据,场景,论文,开源工具)2 h L3 d) o' M. @% M" R
- V$ z1 B+ X! O& p# { v
谈谈文本匹配和多轮检索
& S/ Z& _# U$ [* j w! T6 V# g' g : a; Z( g) g$ {' _% n7 Y9 [
贝壳找房【深度语义匹配模型 】原理篇一:表示型
6 C- r7 D9 D5 |: A% _, S* |1 C ————————————————
+ y, n4 _# ?0 Y& {5 w 版权声明:本文为CSDN博主「guofei_fly」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
8 w* Z) k/ p4 p( T8 ~$ _" N 原文链接:https://blog.csdn.net/guofei_fly/article/details/107501276
2 w0 ]8 a. \1 r j$ W) S4 [
# w( _- m" B7 C% u* e, n
9 Q6 O& E$ O7 O- m
zan