在线时间 1630 小时 最后登录 2024-1-29 注册时间 2017-5-16 听众数 82 收听数 1 能力 120 分 体力 565537 点 威望 12 点 阅读权限 255 积分 174884 相册 1 日志 0 记录 0 帖子 5313 主题 5273 精华 3 分享 0 好友 163
TA的每日心情 开心 2021-8-11 17:59
签到天数: 17 天
[LV.4]偶尔看看III
网络挑战赛参赛者
网络挑战赛参赛者
自我介绍 本人女,毕业于内蒙古科技大学,担任文职专业,毕业专业英语。
群组 : 2018美赛大象算法课程
群组 : 2018美赛护航培训课程
群组 : 2019年 数学中国站长建
群组 : 2019年数据分析师课程
群组 : 2018年大象老师国赛优
【文本匹配】交互型模型
, ?+ Q; E) c4 \+ P1 `
; p- i0 K8 D6 x/ k. }5 s# h$ f 表示型的文本匹配模型存在两大问题:(1)对各文本抽取的仅仅是最后的语义向量,其中的信息损失难以衡量;(2)缺乏对文本pair间词法、句法信息的比较
7 p4 |8 f( w* Z% Z4 x( w t
7 j+ p0 S, e# _: c 而交互型的文本匹配模型通过尽早在文本pair间进行信息交互,能够改善上述问题。
$ }8 C9 [+ V. B
2 S& t/ Z; ?* T$ ? 基于交互的匹配模型的基本结构包括:
: [, \3 ^! D& c8 a0 V# ? t
1 c# M0 E7 ?0 |. I" x (1)嵌入层,即文本细粒度的嵌入表示;
; p# z' d' D- T/ }. @- Z" C* C
/ D+ ~* v& ^6 E (2)编码层,在嵌入表示的基础上进一步编码;8 O O" V2 z- Y
: a* L3 m; G" D5 z1 Y3 J+ ]- K
(3)匹配层:将文本对的编码层输出进行交互、对比,得到各文本强化后的向量表征,或者直接得到统一的向量表征;
) Q; B$ ~; n, P; s' Z4 A
1 k; Z; Z8 L; W! y, T. | (4)融合层:对匹配层输出向量进一步压缩、融合;
4 C, t. S- m/ ^* e% Y
2 ~1 L: Z5 P; n8 F) R! V4 J (5)预测层:基于文本对融合后的向量进行文本关系的预测。4 B5 u( V& `: x o- U& b
& e- K1 o) ]( Z- r. k% k: \; G
9 O' D; o" ~. j" ^ Y 0 F* H# x1 |" x( b: o9 E
1. ARC-II; B7 }9 j& L! X% L7 ?3 T
ARC-II模型是和表示型模型ARC-I模型在同一篇论文中提出的姊妹模型,采用pair-wise ranking loss的目标函数。' @& G/ Z9 i+ c- T8 c W
2 G6 Q1 m; u$ N6 O f, f
其核心结构为匹配层的设计:
1 Q9 ~6 n1 o" p' h# P ! h. |$ V. f! }6 f
(1)对文本pair的n-gram Embedding结果进行拼接,然后利用1-D CNN得到文本S_X中任一token i和文本S_Y中任一token j的交互张量元素M_{ij}。该操作既然考虑了n-gram滑动窗口对于local信息的捕捉,也通过拼接实现了文本pair间低层级的交互。3 ^) v% _7 O$ o# ?, z! f# S& V
7 R0 ]2 }; b7 b* i$ g& H, E! q (2)对交互张量进行堆叠的global max-pooling和2D-CNN操作,从而扩大感受野。1 u/ {3 N+ [" i
( G" j! U2 L) y5 C ^ 2. PairCNN8 P x; V7 D( V7 y p: m4 z4 K
PairCNN并没有选择在Embedding后直接进行query-doc间的交互,而是首先通过TextCNN的方式分别得到query和doc的向量表征,然后通过一个中间Matrix对query和doc向量进行交互得到pair的相似度向量,然后将query的向量表征、doc的向量表征、相似度向量以及其它的特征向量进行拼接,最后经过两层的MPL得到最后的二分类向量。1 T! t* A! X, U& y
& P5 O8 k3 A( `
PairCNN的模型架构中的亮点在于各View向量的拼接,既能利用原始的语义向量,还能够很便捷的融入外部特征。, d7 n) h4 Q5 b' T* Y3 K
4 H3 F( a8 U* g% x# [9 D% [) M
3. MatchPyramid3 x& S9 F- f( J7 B$ o& }$ L4 j
无论是ARC-II中的n-gram拼接+1D conv还是Pair-CNN中的中间Matrix虽然均通过运算最终达到了信息交互的作用,但其定义还不够显式和明确,MatchPyramid借鉴图像卷积网络的思想,更加显式的定义了细粒度交互的过程。% ~ H8 Y$ w- A2 U% ~) M1 }
MatchPyramid通过两文本各token embedding间的直接交互构造出匹配矩阵,然后将其视为图片进行2D卷积和2D池化,最后Flatten接MLP计算得匹配分数。本文共提出了三种匹配矩阵的构造方式:
+ c; n# z1 M- h# {, u5 V+ j, p$ x
% [1 n9 w" `! f# e) O (1)Indicator:0-1型,即一样的token取1,否则取0;这种做法无法涵盖同义多词的情况;
5 b, z; }& b- \3 | a I$ Q, b0 O / B/ f! W( w) g, d# w
(2)Cosine:即词向量的夹角余弦;( b8 O# Q( N6 b6 J( b; s
$ R3 C5 n* p; l5 K% R (3)Dot Product:即词向量的内积% B' H, i; {# n/ V1 R7 P0 @
$ K7 f- m- D% n" g! c6 a) y6 O
此外值得注意的是因为各个文本pair中句子长度的不一致,本文并没有采用padding到max-lenght的惯用做法,而是采用了更灵活的动态池化层,以保证MPL层参数个数的固定。
3 Z* R, T9 J; ~$ [7 ]. r4 N ) C K* Q* P9 e6 U% s2 c
4. DecAtt
2 L; j1 B( }2 h5 R/ } DecAtt将注意力机制引入到交互型文本匹配模型中,从而得到各token信息交互后增强后的向量表征。
k/ k4 f% l8 v1 I4 K9 s+ [ 1 a) M$ k( ?7 J4 k+ M
模型被概括为如下层级模块:
1 O; _; [$ m! n9 I5 G $ I3 _9 @2 L8 o- p3 {, ]
(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。
( `* `1 K* {5 }( ^ _
% M9 }; j% y! }; g (2)Compare层:将前序Attend层计算得到的最终embedding,喂入一个全连接层进行向量维度的压缩。
6 m) ~8 |) [' ~: @; @9 ~7 P& @( t/ c 3 t, F0 F2 u: c3 G7 H
(3)Aggregate层:将每个文本各token处压缩后的向量进行简单的求和,再拼接起来通过MPL得到最后的匹配得分。- s" R" o+ v3 ?* C, y
, w4 A, U7 c6 [: B1 N a- t: J
5. CompAgg% L+ O1 R+ A. X; T
CompAgg详细对比了在文本间cross-attention得到的各token向量表征与原始token向量进行compare的各种方案。3 {, Y1 d4 ?4 G+ y; E; U& D
2 S: [, Y/ ~) n& l! v H) x 该模型的主要结构包括:2 _) l1 j( f/ ]# l7 C
& V3 O$ t5 N$ @% r# X
(1)reprocessing层:采用类似于LSTM/GRU的神经网络得到token的深层表示(图中的\bar a_i);
( J% x* \' h+ f
8 i6 {7 b0 m4 i0 r (2)Attention层:利用软注意力机制计算文本间的cross-attention(与DecAtt相同),从而得到各token处交互后的向量表示(图中的h_i);. s j4 |3 N* E2 T$ k
% G; V& V8 J; ^6 T
(3)Comparison层:通过各种网络结构或计算将\bar a_i和h_i计算求得各token的最终表征。
6 E ~5 u* f# L9 _
& Q& c6 B n( A% q) q* @( g) f (4)Aggregation层:利用CNN网络对Comparison层的输出进行计算,得到最后的匹配得分。
7 V2 z0 {- c1 ?' B 9 S+ v4 `3 `% B8 R2 y( @, N3 N& Z
其中Comparison层的构造方式包括:& O+ X4 b4 j% N
# t% A5 x8 J: a/ i (1)矩阵乘法,类似于Pair-CNN中的中间Matrix9 V* m3 V" a. L) I+ N
" }3 v: [5 g0 ^6 z; A8 d0 g (2)前向神经网络,即将\bar a_i和h_i进行拼接,然后利用输入FFN;' w& e9 H, d& v/ g" i% H
. K1 i! S5 @ \. H (3)分别计算cosine和欧式距离,然后拼接;
% ], A: W; N+ M" @ }/ @5 i % Y) I( o& r Y. |
(4)各维度进行减法;
/ u# G3 |* J' p1 U! p # b# R, |( f: Z8 F$ X. G8 d) R
(5)各维度进行乘法;
/ s! z i* Q; g# | - [% S$ g& y5 J/ m
(6)各维度进行减法和乘法,然后再接一个前向网络。% z3 C% |: r; j, t( D/ P- x0 ?
6 b0 @5 ]! c( }: Z
6. ABCNN4 g) g F0 d% i% i x( m! P
ABCNN是将Attention机制作用于BCNN架构的文本匹配模型。
7 O& v3 u, n* `; S+ s g
& U; d1 |( c, @; t. k5 E* L# s 6.1 BCNN6 l1 R, Q1 f3 Q
首先简单介绍下BCNN架构:6 }1 G2 \) Z9 |
# E. t4 J1 g) J! h i" S, e% r BCNN的整体结构比较简单:(1)输入层;(2)卷积层,因为采用了反卷积的形式,所以在size上会增加;
. o1 e" ^0 H/ Q5 }6 ?& v. Q( I2 k+ ?, I # q7 W4 F9 H% O& t) F
(3)池化层,采用了两种池化模式,在模型开始阶段采用的是local平均池化,在最后句子向量的抽取时采用了global平均池化;(4)预测层,句子向量拼接后采用LR得到最后的匹配得分。$ O; H d% Z K; t/ S
3 ?" h1 e5 v0 }$ Y, \ Z' z ABCNN共包括三种变形,下面依次介绍。
8 w, c2 d) F" y- s$ h 1 V6 c1 e5 E0 j* K- P" r3 o! s
6.2 ABCNN& H9 n% }$ g: j/ F( c( l$ W$ \- C
7 h: A5 |# l4 c. j3 R; Q+ c" C. E
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 ( f# K% A5 D9 D3 q8 y7 P' j& n
ij
5 C) r% J- Y( S$ h. ]) Q# ^/ { # c- m$ U3 V; V; t. U
=
3 w8 Y3 Y1 ]8 i. n2 H- f, o4 G 1+∣x ) i- S# C7 x; T% w
i" [. l$ H3 Z" F% b- M+ H+ a
( x5 W: J7 |3 C1 R$ ^
−y 5 s; O# `1 y2 q+ ^; f% e5 h
j
# R; @9 {' ]; u+ G$ G6 U6 \ 0 L/ h0 T1 t' L4 e, i
∣
/ a5 p3 G, g6 K) }( C/ p 1* [. k) U9 G3 k A1 i# ?7 e
* u j! K: k, M# H) x( E3 R1 M
,然后分别乘以可学习的权重矩阵 W 0 W_0 W
; r# z1 b! M& B9 Z9 _ 0
1 h; z1 K( E3 N1 n* c0 Q+ F+ q
: W7 C( Y1 ^8 S, f! ]- R/ f: W 和 W 1 W_1 W * A7 |) w, a6 p& N4 m1 z
1# |* C7 [4 _4 R" y3 s! }# _/ ]
2 S9 D" O( K' k; X 得到attetion feature map。) {, f4 b% Y6 S9 b& y
3 f+ c) T/ F- O2 n+ }" g0 _* m+ ^- X 6.3 ABCNN-23 K8 a8 a) @$ {# M: y- B
+ J( _2 A; Z4 e b ABCNN-2将Attention机制作用于word embedding层后的反卷积层的输出结果,其中注意力矩阵的计算原理与ABCNN-1一致。然后将注意力矩阵沿着row和col的方向分别求和,分别代表着各文本token的attention socre;接着将反卷积层的输出结果与attention socre进行加权平均池化,得到与输入层相同shape的特征图。' R. [! F% c3 t6 \! Z3 o
, q% `- `9 i: o. Z$ w 6.4 ABCNN-3
& M& i3 G6 u3 n/ t! ~3 {" | * k. @. k1 |7 A) [' ^2 n8 O
ABCNN-3的基本模块可视为ABCNN-1和ABCNN-2的堆叠,即在嵌入层和卷积层上面都引入了attention的机制用来增强对token向量的表示。
8 W1 _- c: C) A, ]/ j! Z6 g ! `* m4 p& u# t# t" O4 {3 O
7. ESIM
3 V$ o$ R. W* [; i5 J1 h2 h ESIM模型基于NLI任务给出了一种强有力的交互型匹配方法。其采用了BiLSTM和Tree-LSTM分别对文本序列和文本解析树进行编码,其亮点在于:
9 u# j" w* e5 u2 t; x
/ Z! i' d& z/ D. t$ \8 Y7 f$ o" a (1)匹配层定义了cross-attention得到各token的向量表示与原token向量间的详细交互关系,即采用 [ a ˉ , a ^ , a ˉ − a ^ , a ˉ ∗ a ^ ] [\bar a, \hat a,\bar a-\hat a,\bar a* \hat a] [ % `( `# G4 I. u- ]4 v$ A9 |4 w
a
" r; A9 f; i8 H; ^ ˉ1 w8 M ~# b9 D+ t
, 1 Y# c, I6 x5 ]& w" }& K
a: f# B+ d9 ^' V% n/ y- ?+ l+ {6 o3 ~
^1 P. M" s3 K3 @, H2 I) ~
,
! U0 f; T) Q' o9 J2 R, r1 e% y a
: ]- W/ N- w0 F, x7 q ˉ
2 m6 R) K; P4 }8 K+ f: P0 h −
* I" x2 l* |& [1 _) Z a: q. U# r$ F, i$ a1 `. B6 E$ @( @
^# a5 \0 ^* V4 P: `7 T
,
5 v2 z1 R1 K7 k a' E* ?$ @5 v0 h, F
ˉ
/ p# W. x" |/ v* V ∗ ) Y- I" }5 o5 a% c: d( t! s
a& ]) L7 ]6 L% I
^7 m, ^. o. ~- ?* L( c) M- m2 ?- Y' G
]作为最终文本token的向量表示,这也成为后续文本匹配模型的惯用做法。
, s; T9 [: C* h* P: k; Q. B7 Y* q6 _ % y: g: p/ y8 Q, `
(2)聚合层通过BiLSTM得到各文本token的编码,从而进一步增强了文本序列的信息传递;
( D' H8 I$ G' I& Y/ t" P" t1 S
9 m0 v' h/ B6 D" }& z- j/ Q (3)预测层通过拼接各文本token编码的max-pooling和mean-pooling结果,再经过MPL进行匹配预测。- m8 T& y& h# M9 c. K) C
$ k# n$ a t( f1 L5 P9 \
6 J: ?$ A) m w1 M ) T7 k6 T! u# H7 n
8. Bimpm
! T" X0 {1 K) Z Bimpm可视为对之前各类交互型文本匹配模型的一次总结。4 S2 H3 }" t' v4 @. \3 j
) V! k* G5 D2 G 该模型在各层的具体做法总结如下:
& `7 A* p8 b& V ?2 Z) f& }+ z 1 V6 R0 @. a# \' d: I/ ?( F) b
(1)编码层采用BiLSTM得到每个token隐层的向量表示;. c, o/ \7 c; y( P3 i8 v
2 B1 J! z' R! G2 v4 L9 b
(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 0 `. G# G" v4 C# ]1 d
k
& y' |' Q. x) g/ T8 a 6 E9 h$ P( F+ a
=cosine(W 4 M) J0 N/ D; l: u
k
$ I$ }* I# S/ M9 A: N
# L" x' t r' d* k: Z+ c$ s& u' l7 |" k ∗v ; U! r' Q8 s2 w
1
, D% B; {# N9 C. V
# c+ V5 _) |; z5 x- x ,W
; w5 @4 w- h/ d1 | k
& y3 d4 j% |; p4 N3 ^
# i7 W. |# I2 T$ W ∗v
! J2 F) J$ g: T4 C2 c$ u 2
( _2 B- k/ \9 R6 j1 M 8 ~! y9 b. T1 {" q$ s
)的方式可以得到两个文本的任意token pair之间在第k个view下的匹配关系,至于 v 1 v_1 v 3 u5 {0 Q' h2 S! y
1
, ~5 g( ^+ u9 @, w; D4 ^ 6 [/ ~. x& x& e
和 v 2 v_2 v s% z4 {+ {; |4 `+ G
2
2 k9 B+ K1 D. s; W5 i8 ]
1 Q5 @. y' J8 ?7 z# C2 { 如何取,文章提供了4种策略:( z( q' v. k. p/ ]
" Y6 M' ]) |$ P6 J$ M 策略一:其中一个句子取各token隐层的向量表示,另一个句子采用隐层最后时间步处的输出; k' N" |, Q0 W! j6 W2 |7 ]- G' b9 v6 Q
策略二:其中一个句子取各token隐层的向量表示,另一个句子采用隐层各时间步输出与之匹配后取再取Max-Pooling值;. s9 M4 D# A1 K. V
策略三:其中一个句子取各token隐层的向量表示,另一个句子采用cross-attentive后得到的加权句子向量;
1 | E) _! i7 N7 Y' W: q. d9 a 策略四:其中一个句子取各token隐层的向量表示,另一个句子采用cross-attentive后attention score最高处token的向量作为句子向量。. e/ `3 }. p' C, J
这四种策略的区别在于对句子向量的计算不同。% f4 Z- n1 `) v' W$ Q& _8 @7 `, ^) k3 {
. p) P7 u. ?# |9 |; I- P ; c6 K4 m8 O+ C5 o( g4 S
(3)聚合层,首先对上面各种策略得到的输出层再通过一层BiLSTM层,然后将各策略下最后时间步的输出进行拼接,得到最后的聚合向量;
$ C, P, Q8 C. k5 R+ n
* o* O# c! l- h6 T& x8 ^) I7 j (4)预测层:两层MPL+softmax
# y2 I) y' X6 E8 G' ~; B) W % u) F R2 c; X: f# \. [
9. HCAN- p+ F2 v/ I4 a, M
HCAN是除Bert类模型外在文本匹配领域表现最为优异的深度模型之一,其采用了较为复杂的模型结构。- B& @& U2 ?* u1 ~6 W# F
& C$ i# m! A0 ]* G/ Q
针对于信息抽取问题,文章首先分析了相关性匹配和语义匹配的差异:+ ~ W$ W2 A; H
7 z; r3 L: s8 x: B' d& n) o
(1)相关性匹配主要关注于关键词的对比,因此更关注低层级词法、语法结构层面的匹配性;
% i% l% ^$ g8 ~- w6 s5 |0 x
% Q( Y/ N& ^; G7 K (2)语义匹配代表着文本的平均意义,因此其关注更高、更丑想的语义层面的匹配性。- ]# b: |% [$ h( F/ j& R5 g! u6 D
H# R% i- T# p 该模型首先采用三类混合的编码器对query和context进行编码:- B1 z) n2 q) }; o
# d$ `% M0 T; r2 v; j( r
(1)深层相同卷积核大小的CNN编码器;
]) Q1 k8 [* v4 V \! \: E- I" w
* B: V+ e( Y- @6 b (2)不同卷积核大小的CNN编码器的并行编码;
g! m, _1 g% h* p# L# {! e6 E $ \8 A7 y; z, O. I% x5 u8 s( S0 W
(3)沿着时序方向的stacked BiLSTM编码;
; f7 l8 }* S9 Z) A
& A% w. z, t0 y5 a5 ~! x3 y3 z' f( I3 m 对于前两者,通过控制卷积核的大小可以更好的捕捉词法和句法特征,即符合相关性匹配的目的;而对于后者,其能表征更长距离的文本意义,满足语义匹配的目的。- F$ E9 W/ J* e
/ H1 G+ R$ k& k
在这三类编码器的编码结果基础上,模型分别进行了相关性匹配和语义匹配操作。其中相关性匹配主要采用各phrase间内积+max pooling/mean pooling的方式获取相关性特征,并通过IDF指进行各phrase的权重调整。而在语义匹配中,模型采用了精心设计的co-attention机制,并最终通过BiLSTM层输出结果。1 g- M. O& b+ _8 B, J
0 z4 J2 y; J9 h
最后的预测层仍采用MPL+softmax进行预测。! r+ s9 Q5 A: L7 v! T
4 e* h6 c& }/ z/ c# Q9 i 10. 小结/ @1 [7 p# f) V
交互型语言匹配模型由于引入各种花式attention,其模型的精细度和复杂度普遍强于表示型语言模型。交互型语言匹配模型通过尽早让文本进行交互(可以发生在Embedding和/或Encoding之后)实现了词法、句法层面信息的匹配,因此其效果也普遍较表示型语言模型更好。" e/ ]1 `3 V ] c8 V
: c( W/ }- w$ j0 Y& b0 n
【Reference】; X8 B. G! h1 U3 {
3 A/ a H/ z" u' k5 Z7 M( e ARC-II: Convolutional Neural Network Architectures for Matching Natural Language Sentences
1 T Y. S. b/ q) \; H' ^, H 9 K( m# N* n/ a# u% s, b
PairCNN: Learning to Rank Short Text Pairs with Convolutional Deep Neural Networks
- `' A. H7 `2 ]
; G4 n# I; a: v, ?& I MatchPyramid: Text Matching as Image Recognition8 Y3 O* t( H7 e3 e8 t" V5 [3 w# ]
* k; T1 l' F; i% U( q7 j DecAtt: A Decomposable Attention Model for Natural Language Inference; Z2 M% {1 G" M9 ^+ m# N3 o( ^( l
4 Z4 D' m. f& U4 `
CompAgg: A Compare-Aggregate Model for Matching Text Sequences
% n0 Q' ?) @' X q, t/ U 7 {4 p9 n' I/ s
ABCNN: ABCNN: Attention-Based Convolutional Neural Network- S) k z0 y( s+ y
for Modeling Sentence Pairs
h7 ?$ v- H: P
8 b. C B* ] E P5 I ESIM: Enhanced LSTM for Natural Language Inference
; [- q, U n+ Z$ T
2 W8 V. [6 ^" w8 q Bimpm: Bilateral Multi-Perspective Matching for Natural Language Sentences
7 A# B) ^$ p; X& ^! n) H4 J* C
, C, Q8 R* X) F% Y- m/ x; x0 X5 E HCAN: Bridging the Gap Between Relevance Matching and Semantic Matching, g! @( }- c$ ^( S2 X% G
for Short Text Similarity Modeling- @( b6 S9 `- i" {* D
/ l8 P) z" l& V2 b4 q9 S/ R' a$ Q 文本匹配相关方向打卡点总结(数据,场景,论文,开源工具)$ w: G4 }+ G& a
+ c% \4 B T8 h) |0 J 谈谈文本匹配和多轮检索3 D9 R+ ~' @! r. _8 {+ O
" k; k; x9 X' {
贝壳找房【深度语义匹配模型 】原理篇一:表示型: B8 y% h1 c# `1 r6 S+ u" W- a0 `% L3 l
————————————————7 X7 z: M! e) U3 T" Z* V7 C; h
版权声明:本文为CSDN博主「guofei_fly」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。1 {# o: t1 o. z5 O# p
原文链接:https://blog.csdn.net/guofei_fly/article/details/107501276
' h1 D8 `; b( D- ~8 Y - B* |# N. H" i# A
8 m* }8 ]; W9 X [
zan