- 在线时间
- 1630 小时
- 最后登录
- 2024-1-29
- 注册时间
- 2017-5-16
- 听众数
- 82
- 收听数
- 1
- 能力
- 120 分
- 体力
- 563386 点
- 威望
- 12 点
- 阅读权限
- 255
- 积分
- 174239
- 相册
- 1
- 日志
- 0
- 记录
- 0
- 帖子
- 5313
- 主题
- 5273
- 精华
- 3
- 分享
- 0
- 好友
- 163
TA的每日心情 | 开心 2021-8-11 17:59 |
|---|
签到天数: 17 天 [LV.4]偶尔看看III 网络挑战赛参赛者 网络挑战赛参赛者 - 自我介绍
- 本人女,毕业于内蒙古科技大学,担任文职专业,毕业专业英语。
 群组: 2018美赛大象算法课程 群组: 2018美赛护航培训课程 群组: 2019年 数学中国站长建 群组: 2019年数据分析师课程 群组: 2018年大象老师国赛优 |
【文本匹配】交互型模型# ^0 _# t: d- R1 ]
?3 n# V& L' K" |( c
表示型的文本匹配模型存在两大问题:(1)对各文本抽取的仅仅是最后的语义向量,其中的信息损失难以衡量;(2)缺乏对文本pair间词法、句法信息的比较4 j* Z% I! V/ q Y; j
: O! Q) j) B$ |/ L( R) x+ f1 G而交互型的文本匹配模型通过尽早在文本pair间进行信息交互,能够改善上述问题。( V! ]& f3 \" _5 X; D
) N: B8 R- v0 f1 [6 E) e
基于交互的匹配模型的基本结构包括:
% n5 j* ]& q' o% d" M% {
/ C4 e& B1 u' n8 \/ o! o(1)嵌入层,即文本细粒度的嵌入表示;5 b4 j! O* E6 b, D
: F2 z* J1 b/ V' F
(2)编码层,在嵌入表示的基础上进一步编码;) V% {8 [1 Z/ T% `$ d
& E2 l, v. G+ V(3)匹配层:将文本对的编码层输出进行交互、对比,得到各文本强化后的向量表征,或者直接得到统一的向量表征;$ _5 T c3 E- V6 [
! C3 ]) l1 T* a/ H8 Z
(4)融合层:对匹配层输出向量进一步压缩、融合;
2 ^% e6 R9 l& q0 ` C. Y0 b y, i; O+ E: q7 c* e0 H
(5)预测层:基于文本对融合后的向量进行文本关系的预测。0 B# y* z3 t( Z
, q3 d2 H, M0 { U5 i
; l2 t1 s. S! N9 ]8 B" T+ S
" G2 M+ V8 ? ]- d
1. ARC-II/ f9 B4 t2 x. A9 E( w
ARC-II模型是和表示型模型ARC-I模型在同一篇论文中提出的姊妹模型,采用pair-wise ranking loss的目标函数。1 f! r$ N7 O* U+ U$ V2 }
3 J7 V P, j. E8 W- @4 r
其核心结构为匹配层的设计:# j; I ~& w9 Y ?: [' a/ D u: Y; t
$ j# [4 ~8 G3 V0 I2 p(1)对文本pair的n-gram Embedding结果进行拼接,然后利用1-D CNN得到文本S_X中任一token i和文本S_Y中任一token j的交互张量元素M_{ij}。该操作既然考虑了n-gram滑动窗口对于local信息的捕捉,也通过拼接实现了文本pair间低层级的交互。
4 d, s2 m! G, X/ O7 @' R8 \: L6 h
2 A! D5 r/ J2 z0 ~7 f) j7 T(2)对交互张量进行堆叠的global max-pooling和2D-CNN操作,从而扩大感受野。
, q& @7 l- h2 X
, R" z3 ~1 F6 ] T1 a0 s. l2. PairCNN
, _% c) K& C( R, X xPairCNN并没有选择在Embedding后直接进行query-doc间的交互,而是首先通过TextCNN的方式分别得到query和doc的向量表征,然后通过一个中间Matrix对query和doc向量进行交互得到pair的相似度向量,然后将query的向量表征、doc的向量表征、相似度向量以及其它的特征向量进行拼接,最后经过两层的MPL得到最后的二分类向量。' h) [. v+ h2 y! \) N1 t, Y
z* G3 t2 b( C8 Y" ZPairCNN的模型架构中的亮点在于各View向量的拼接,既能利用原始的语义向量,还能够很便捷的融入外部特征。
$ J# [; f7 B4 ?% _4 `
5 Q" v( e1 v6 g: P% q. R& v3. MatchPyramid) g& b' p& n) I. x5 b
无论是ARC-II中的n-gram拼接+1D conv还是Pair-CNN中的中间Matrix虽然均通过运算最终达到了信息交互的作用,但其定义还不够显式和明确,MatchPyramid借鉴图像卷积网络的思想,更加显式的定义了细粒度交互的过程。
+ q% F4 G& {) A4 T2 Z& c$ \" uMatchPyramid通过两文本各token embedding间的直接交互构造出匹配矩阵,然后将其视为图片进行2D卷积和2D池化,最后Flatten接MLP计算得匹配分数。本文共提出了三种匹配矩阵的构造方式:& w' |# j6 i/ X6 W, L
& [- e# b* L3 R( o& d(1)Indicator:0-1型,即一样的token取1,否则取0;这种做法无法涵盖同义多词的情况;
1 J' L' j! Z' i0 H
: }/ O* C$ m1 m5 c! x3 S(2)Cosine:即词向量的夹角余弦;
9 t8 E3 c. v3 h) _' W% x
( p' P' n. t9 d$ h% Y) t. i+ V(3)Dot Product:即词向量的内积" {: |/ o& t; c/ [
4 I1 q( O/ k( G此外值得注意的是因为各个文本pair中句子长度的不一致,本文并没有采用padding到max-lenght的惯用做法,而是采用了更灵活的动态池化层,以保证MPL层参数个数的固定。$ Y& x( n; |# y+ e' ~6 @0 D3 p
J% i. @* h" V9 a: ~/ f3 ^2 g
4. DecAtt. Y1 L b- N/ A# X% m' ~, o
DecAtt将注意力机制引入到交互型文本匹配模型中,从而得到各token信息交互后增强后的向量表征。0 E7 I! m- T' }- H8 T$ J' f
( D- w" @1 t1 }$ G模型被概括为如下层级模块:
+ o7 I/ R3 Y3 R
+ @* T3 [6 W8 @; {4 W% N) [(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。
/ v! x! X) a; p# ]
" G- Y) d6 d+ o; M6 A5 ](2)Compare层:将前序Attend层计算得到的最终embedding,喂入一个全连接层进行向量维度的压缩。
8 l( x8 O3 }; {% s+ D' s
! w H1 n A8 B# r3 e1 \ X* q7 G(3)Aggregate层:将每个文本各token处压缩后的向量进行简单的求和,再拼接起来通过MPL得到最后的匹配得分。5 V5 Y# [) X$ m
! F9 ]7 C6 ]- i+ V
5. CompAgg
" g/ g- D5 F+ yCompAgg详细对比了在文本间cross-attention得到的各token向量表征与原始token向量进行compare的各种方案。6 T% `8 {1 @: U( q
. A' ~; n& v' J; S/ _
该模型的主要结构包括:
2 C* t$ k c* i2 {# R K0 k$ T& K( b
(1)reprocessing层:采用类似于LSTM/GRU的神经网络得到token的深层表示(图中的\bar a_i);$ m2 e! @5 ]6 F; |! Z3 ]
) X0 z8 R& Z* G& P2 U( h
(2)Attention层:利用软注意力机制计算文本间的cross-attention(与DecAtt相同),从而得到各token处交互后的向量表示(图中的h_i);& v8 V: z6 j) n4 i/ E8 d8 P
8 c& R9 Q$ _ J$ q+ k3 }. |7 l
(3)Comparison层:通过各种网络结构或计算将\bar a_i和h_i计算求得各token的最终表征。
) u" A5 ~7 O K% b
# j8 [; ?( Q# B7 z1 `(4)Aggregation层:利用CNN网络对Comparison层的输出进行计算,得到最后的匹配得分。. X$ i0 f! I9 P4 h
, s2 x: c7 t) Q0 l其中Comparison层的构造方式包括:6 \7 x$ b) U: w
/ b8 e1 }- {% |6 G(1)矩阵乘法,类似于Pair-CNN中的中间Matrix4 P! z/ d: Y1 b( H
, L1 N- M: O5 a# K: P2 I( R(2)前向神经网络,即将\bar a_i和h_i进行拼接,然后利用输入FFN;
5 M' _# N- f7 ? K+ i$ n$ o* s5 q2 V$ K/ R4 M; O
(3)分别计算cosine和欧式距离,然后拼接;" b. V+ c2 h; Z9 D3 q1 s& B
) S9 I) o! A5 c3 N% Z2 a(4)各维度进行减法;
9 C4 J! J5 @2 d$ H4 j! j0 {! x) l6 V0 t/ S
(5)各维度进行乘法;' T/ `% L' S9 \: ? e. r7 R
3 x n k9 C4 Y$ s- l
(6)各维度进行减法和乘法,然后再接一个前向网络。) L5 l# ^, R+ x
6 J$ H$ r/ b o' s% X6. ABCNN1 I+ i1 _8 {/ Y; ?6 E, z* L' `# _% N7 ?
ABCNN是将Attention机制作用于BCNN架构的文本匹配模型。
- K7 t$ M4 \# g. K n+ P
/ U: n3 q. } \! d+ V6.1 BCNN* Q4 U4 {/ j- D* B( |
首先简单介绍下BCNN架构:1 a/ T! J5 g, L v8 z: F
& N2 e M1 Y! p- d4 ]( f' M; `" |" B
BCNN的整体结构比较简单:(1)输入层;(2)卷积层,因为采用了反卷积的形式,所以在size上会增加;- L- ^. C$ v9 y+ N7 u8 x
9 f0 t' O0 F. Z* ~' {: E4 h(3)池化层,采用了两种池化模式,在模型开始阶段采用的是local平均池化,在最后句子向量的抽取时采用了global平均池化;(4)预测层,句子向量拼接后采用LR得到最后的匹配得分。
5 @$ _/ @, s1 [5 L* k' @7 H6 s' I0 F# p; D
ABCNN共包括三种变形,下面依次介绍。' G% |: C3 t* a N5 \
" H9 O9 j) l& H5 F4 T! l6.2 ABCNN# l- o4 g3 x: I1 J6 y9 F) d
+ @6 x. S; D8 h: TABCNN-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 / w4 i4 l7 U- q) y' N3 s
ij
/ {" B) m* R5 h
1 \5 U/ {% [1 X = # z& r# m2 }6 d2 A$ z# G1 s
1+∣x + [6 I' `. U# J" p
i
5 n% C& W; e- o" `' X
. D1 X5 ^! R8 l −y
5 i: _3 t) B: a% P* \" vj4 \( L- I# a, N# G3 c& s7 N
4 l: v# h/ u. K( q) O ∣
5 _. }8 K! `# ?3 m10 L5 r* k) D! I, B: r
1 j3 y( c2 E! P0 n0 b6 k# V1 [ ` ,然后分别乘以可学习的权重矩阵 W 0 W_0 W ! N; E( K1 c D& c
0! n5 d6 A" q' E; m) h5 V, y: N/ y, R
, O. L# ]0 o M9 C3 ? 和 W 1 W_1 W
2 N4 O: {6 t% U9 y; y/ f, s. Q1" R$ `% O. i0 d# {* n; P3 _
0 U$ u8 i# s+ ]- P' X8 k" m' O) W) ] 得到attetion feature map。/ e4 Z7 J3 Z' S
7 c" a- y0 w6 \" X7 r
6.3 ABCNN-2
2 L+ s, m0 X* x6 a0 L4 U
q# }8 I4 \& s# c2 P( [) mABCNN-2将Attention机制作用于word embedding层后的反卷积层的输出结果,其中注意力矩阵的计算原理与ABCNN-1一致。然后将注意力矩阵沿着row和col的方向分别求和,分别代表着各文本token的attention socre;接着将反卷积层的输出结果与attention socre进行加权平均池化,得到与输入层相同shape的特征图。+ J6 g5 {8 r4 x4 M3 ?4 M
6 F8 F6 W1 S [' |4 O0 c6.4 ABCNN-3
% T# J; n4 |, I5 E. u) u" f& d6 h9 l2 ^2 N8 A
ABCNN-3的基本模块可视为ABCNN-1和ABCNN-2的堆叠,即在嵌入层和卷积层上面都引入了attention的机制用来增强对token向量的表示。 n+ U# e: z8 L6 o3 R$ r
1 [# M! E7 o( I* `1 H8 c
7. ESIM7 u& M1 _$ |2 M Z0 Z6 V
ESIM模型基于NLI任务给出了一种强有力的交互型匹配方法。其采用了BiLSTM和Tree-LSTM分别对文本序列和文本解析树进行编码,其亮点在于:3 K$ C* M' t' k- f$ i4 q B
5 w9 y/ A) _: I+ \
(1)匹配层定义了cross-attention得到各token的向量表示与原token向量间的详细交互关系,即采用 [ a ˉ , a ^ , a ˉ − a ^ , a ˉ ∗ a ^ ] [\bar a, \hat a,\bar a-\hat a,\bar a* \hat a] [ ' ~( w3 E1 Y" D' H4 N
a/ O9 ~ s% \6 G6 a% C. G
ˉ! T3 ~+ }/ h4 ?) a6 z& i( y
, , `! d5 ?) ^9 v6 h b% _
a
3 a; M. Z, C9 W1 t x$ h^
6 i4 i6 v' J' [& Q ,
6 q) o6 b( F$ u$ Z( j2 w# Xa8 K" X; T% ?- r( i& M$ `
ˉ: U. Q) a/ M+ U3 O' Q6 [
− 3 n: p: P7 Y0 o. Q
a
* k- m, G G; z l; N* [^
' p4 e# m) ?. [ s8 @6 e7 S , 0 w& f' Y; s; N3 A+ v
a/ Y: e; Q, j' b4 w( Z
ˉ* Y4 `) Y% t7 H4 K: G( X. y
∗ , ?1 P" \6 [& E" x# o' u
a& y3 Z Q5 k" d+ K
^
- a d- E& i, N" c; @* y ]作为最终文本token的向量表示,这也成为后续文本匹配模型的惯用做法。
: _* h$ y5 D( i8 V- w0 x! r
, S$ R1 N' C a& N |+ Q8 G(2)聚合层通过BiLSTM得到各文本token的编码,从而进一步增强了文本序列的信息传递;& L l* ?1 }; f5 ^) c L
7 ]- ?1 i( T4 ~* n& ]1 i(3)预测层通过拼接各文本token编码的max-pooling和mean-pooling结果,再经过MPL进行匹配预测。
$ B( ]$ _5 J0 g% Z6 w5 r) q j8 S" G& x0 n. S x6 {) h
% `+ h/ D X* P1 k( R" @9 P
5 n& c% b1 r3 a% P
8. Bimpm# d' i5 O% u6 P8 v
Bimpm可视为对之前各类交互型文本匹配模型的一次总结。( K9 R4 r! [4 t4 T0 b; W$ Z
" z R, K* z0 R6 H$ s+ @
该模型在各层的具体做法总结如下:9 n- _' q5 f' O' L
* ?' `* F0 m+ @; w
(1)编码层采用BiLSTM得到每个token隐层的向量表示;
7 @$ z! O8 j# P. J
# B. W6 o. M8 T$ m- H 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 ! D: l" v% `1 h
k1 @% U- T* W% G0 I% N9 @
, j# j1 t1 M# d) I3 b8 E =cosine(W . ~6 m) T' ]0 K5 @/ `
k. Z5 l3 l/ |: a% d5 b* M
& d4 A' u% E; G. y! o7 J# Y8 D ∗v 2 b: X* g' A, F- x
1
# d+ E5 _1 X: o" Y I) w/ s, ~7 S* C* A5 k% `
,W 4 a8 ]; X [+ q8 d
k
. @- j& A$ i3 o, o+ W
2 Y, ~# W, S. ^ ∗v 7 a8 f6 n: L# z
2% q3 T& U4 B- v% H, l0 e$ j
( i- z4 W" {, x) E6 F6 h
)的方式可以得到两个文本的任意token pair之间在第k个view下的匹配关系,至于 v 1 v_1 v
- P! A) i6 H8 K# M& A3 d$ S$ p& a1) r! d* \# F- d. E7 m0 T
5 P9 R0 m" l5 ~- z% T) ]. G
和 v 2 v_2 v
6 N2 o8 H8 r4 {2 W% i) [5 c6 X2
4 O! r) Q$ L* [8 L- i; N ' R9 ?7 F" K- k+ A
如何取,文章提供了4种策略:# y+ \/ r5 S& ]# M7 C& c6 B
/ ~- Y3 Q; E( A/ P/ ]' W
策略一:其中一个句子取各token隐层的向量表示,另一个句子采用隐层最后时间步处的输出;& y4 u) D7 z5 g. C+ }2 q1 C
策略二:其中一个句子取各token隐层的向量表示,另一个句子采用隐层各时间步输出与之匹配后取再取Max-Pooling值;) b1 N0 }( M$ U; ]" h) z' X& O
策略三:其中一个句子取各token隐层的向量表示,另一个句子采用cross-attentive后得到的加权句子向量;! ]! U2 Y# v1 }6 {# [8 h4 f
策略四:其中一个句子取各token隐层的向量表示,另一个句子采用cross-attentive后attention score最高处token的向量作为句子向量。
^! f' `2 W3 _& t7 m; p; i1 ]这四种策略的区别在于对句子向量的计算不同。# O/ t* n& `" P9 h% Y
v5 L' z* K5 T" ?2 I
* X' `( R8 k# H7 \8 T(3)聚合层,首先对上面各种策略得到的输出层再通过一层BiLSTM层,然后将各策略下最后时间步的输出进行拼接,得到最后的聚合向量;0 |! o- m' a% h" h D0 ~" Q
- I* O6 N* i& D, Q1 n. I y' C! t: N
(4)预测层:两层MPL+softmax- f. ~% Q* u% Y: }5 d- k
+ c3 K& {. s6 b9. HCAN4 S) T1 |" \, v" I
HCAN是除Bert类模型外在文本匹配领域表现最为优异的深度模型之一,其采用了较为复杂的模型结构。
1 D) V* {, R, P# c, h7 x9 v e- k: B$ O$ r
针对于信息抽取问题,文章首先分析了相关性匹配和语义匹配的差异:
+ m; }- P- [$ k* D) ?3 ?& @$ R, }
0 S/ I+ S1 _5 T3 L) u(1)相关性匹配主要关注于关键词的对比,因此更关注低层级词法、语法结构层面的匹配性;
* l# m2 S/ K9 w5 a- I$ @' m
8 @, ]2 P1 @3 p8 \% J(2)语义匹配代表着文本的平均意义,因此其关注更高、更丑想的语义层面的匹配性。
+ y+ j2 B- ?% j( G, Q( E7 K7 M
1 ]1 {9 s, T; j4 ?* I1 t1 _该模型首先采用三类混合的编码器对query和context进行编码:$ Z5 O3 ]0 a7 H8 v, y9 v
( j) k3 w9 }* o- b7 S(1)深层相同卷积核大小的CNN编码器;. w% D: J; e; ?& W9 z1 |2 Z
) e/ L, D6 j9 y% {8 q) s8 l. x
(2)不同卷积核大小的CNN编码器的并行编码;
2 s; R1 ~. E7 L1 R( n5 U5 K& n k
' T, Z; r7 @: ]& l- ^ y(3)沿着时序方向的stacked BiLSTM编码;
! U" E3 ?1 I }, [7 c. ? q) n0 X. t$ K/ Q* R0 F
对于前两者,通过控制卷积核的大小可以更好的捕捉词法和句法特征,即符合相关性匹配的目的;而对于后者,其能表征更长距离的文本意义,满足语义匹配的目的。
- `/ A# n% B0 b& ~) `( A& d- W+ N" c
在这三类编码器的编码结果基础上,模型分别进行了相关性匹配和语义匹配操作。其中相关性匹配主要采用各phrase间内积+max pooling/mean pooling的方式获取相关性特征,并通过IDF指进行各phrase的权重调整。而在语义匹配中,模型采用了精心设计的co-attention机制,并最终通过BiLSTM层输出结果。
Z: h) F3 O: d* k5 y! w
9 O/ M6 i" k& W+ L1 ]; X( T* U3 Z最后的预测层仍采用MPL+softmax进行预测。
; g* M" f( J% m6 a1 R9 ~5 [9 a2 U( n, C
10. 小结
W4 \9 F/ ~ p0 @+ D7 k |交互型语言匹配模型由于引入各种花式attention,其模型的精细度和复杂度普遍强于表示型语言模型。交互型语言匹配模型通过尽早让文本进行交互(可以发生在Embedding和/或Encoding之后)实现了词法、句法层面信息的匹配,因此其效果也普遍较表示型语言模型更好。
6 H* X0 t/ B& F$ A* ]
- H( M2 V$ ]/ z' ~; O4 N0 [9 B【Reference】
$ v. b& c1 ~' ^0 ?' Q7 E& x3 i, x, |/ \3 e
ARC-II: Convolutional Neural Network Architectures for Matching Natural Language Sentences
8 {7 y5 I4 [4 d! A
, s. L% d2 V* z2 L- t1 A" bPairCNN: Learning to Rank Short Text Pairs with Convolutional Deep Neural Networks- Y: k* ^' w3 E- ~+ T3 S
- d7 p+ F, O, y5 iMatchPyramid: Text Matching as Image Recognition
: d8 R9 L8 _- A8 A/ F9 F6 R' ^% `. S% n# y* c* z5 m# k8 e- A: p! d
DecAtt: A Decomposable Attention Model for Natural Language Inference" q2 q$ [9 Q6 T1 d' c7 i
. l M2 G) ] j# N5 M( o2 o
CompAgg: A Compare-Aggregate Model for Matching Text Sequences
7 I& f( E9 k6 ?. M! F) ~& h4 ^
; R7 z D0 B" U; r, z, yABCNN: ABCNN: Attention-Based Convolutional Neural Network& g4 f" E2 @" W: e. D) j) r
for Modeling Sentence Pairs
, l u, j7 z5 p* M5 q$ E; P
2 S: K1 W2 u5 P9 J; W- tESIM: Enhanced LSTM for Natural Language Inference
9 N% X4 r% H7 ]+ f- r' e% G4 c( [- O
Bimpm: Bilateral Multi-Perspective Matching for Natural Language Sentences6 p: e5 @& ^, H9 t) n$ A- M/ M5 k
3 F% A2 v; k) }' v
HCAN: Bridging the Gap Between Relevance Matching and Semantic Matching1 i$ ^, [7 s' X" M) l8 \
for Short Text Similarity Modeling+ o4 _4 _5 ~3 M7 N5 D/ n
+ `- ^5 K! A4 k4 C; y
文本匹配相关方向打卡点总结(数据,场景,论文,开源工具)1 \: A* L b3 ?- _. c
7 i. k, p. {% ?8 }' O' ^5 F
谈谈文本匹配和多轮检索
; i" {' E" @9 c
7 E! J' t$ q; {; z贝壳找房【深度语义匹配模型 】原理篇一:表示型; l `' p* T( T( T
————————————————
1 N. [" X7 T/ I' s5 s, W版权声明:本文为CSDN博主「guofei_fly」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。0 P) c) k! z+ V2 i1 M+ s" A0 \1 J
原文链接:https://blog.csdn.net/guofei_fly/article/details/107501276: x ]2 q1 ~6 A; X7 {* d: I
+ ~- E$ c: Z3 ~" _9 ?% O' U/ E
I9 A. D/ Y" g1 {+ @
|
zan
|