- 在线时间
- 1630 小时
- 最后登录
- 2024-1-29
- 注册时间
- 2017-5-16
- 听众数
- 82
- 收听数
- 1
- 能力
- 120 分
- 体力
- 565560 点
- 威望
- 12 点
- 阅读权限
- 255
- 积分
- 174891
- 相册
- 1
- 日志
- 0
- 记录
- 0
- 帖子
- 5313
- 主题
- 5273
- 精华
- 3
- 分享
- 0
- 好友
- 163
TA的每日心情 | 开心 2021-8-11 17:59 |
|---|
签到天数: 17 天 [LV.4]偶尔看看III 网络挑战赛参赛者 网络挑战赛参赛者 - 自我介绍
- 本人女,毕业于内蒙古科技大学,担任文职专业,毕业专业英语。
 群组: 2018美赛大象算法课程 群组: 2018美赛护航培训课程 群组: 2019年 数学中国站长建 群组: 2019年数据分析师课程 群组: 2018年大象老师国赛优 |
【文本匹配】交互型模型4 n( B) m$ E$ H+ {" @) S% ~; M2 Z- k
2 x. t. D% L* `% s& a
表示型的文本匹配模型存在两大问题:(1)对各文本抽取的仅仅是最后的语义向量,其中的信息损失难以衡量;(2)缺乏对文本pair间词法、句法信息的比较
2 t4 _2 X) h2 r7 J. q8 @7 Q1 W4 f. M/ `
而交互型的文本匹配模型通过尽早在文本pair间进行信息交互,能够改善上述问题。& }/ e* y1 x8 p9 X! u
( ]6 q/ o# H& s9 ~) ~8 t基于交互的匹配模型的基本结构包括:
( D D, d6 E5 @& q p$ _' L# G' d. P: u8 @+ @
(1)嵌入层,即文本细粒度的嵌入表示; Q5 o9 { q9 ]! e. y1 Y2 W
& ]( L; C6 ?! w0 |) z
(2)编码层,在嵌入表示的基础上进一步编码;
" M: {& X# {% v! ]7 J0 }5 L# u- g6 X H$ J& @7 ?& ^
(3)匹配层:将文本对的编码层输出进行交互、对比,得到各文本强化后的向量表征,或者直接得到统一的向量表征;
- J/ g/ G+ ]- ?2 O; M" m! R& m( L$ a+ _
(4)融合层:对匹配层输出向量进一步压缩、融合;
; i; r u H% y( u+ S/ P+ G! ?, e7 l1 V4 u9 e7 { D0 B1 q
(5)预测层:基于文本对融合后的向量进行文本关系的预测。" l. z y2 c9 w% V
" N. P) M7 I( S0 n; p: V7 p" r# B" s5 P6 _
1 p* n8 @& i N4 Y; w
1. ARC-II+ w8 t( Y9 [! l! @; _+ p x
ARC-II模型是和表示型模型ARC-I模型在同一篇论文中提出的姊妹模型,采用pair-wise ranking loss的目标函数。; _! G) S" J9 H* P+ k! Z
! N; Z& R' M, e& W
其核心结构为匹配层的设计:! G- ^. e6 a& ?2 s2 \+ O* B
3 E! |$ g3 Z" j" n+ r
(1)对文本pair的n-gram Embedding结果进行拼接,然后利用1-D CNN得到文本S_X中任一token i和文本S_Y中任一token j的交互张量元素M_{ij}。该操作既然考虑了n-gram滑动窗口对于local信息的捕捉,也通过拼接实现了文本pair间低层级的交互。+ C# d- K+ n5 `9 W) `
2 [( d+ I+ F! z5 h/ L7 m" A
(2)对交互张量进行堆叠的global max-pooling和2D-CNN操作,从而扩大感受野。
, U* t, t5 m7 T: a' O, m& v- d& s& R' y
2. PairCNN
6 X# C, P7 s7 RPairCNN并没有选择在Embedding后直接进行query-doc间的交互,而是首先通过TextCNN的方式分别得到query和doc的向量表征,然后通过一个中间Matrix对query和doc向量进行交互得到pair的相似度向量,然后将query的向量表征、doc的向量表征、相似度向量以及其它的特征向量进行拼接,最后经过两层的MPL得到最后的二分类向量。
+ V( E0 O3 Y. P; _
7 i# x* l1 P5 z# m) b$ v* b' ?% hPairCNN的模型架构中的亮点在于各View向量的拼接,既能利用原始的语义向量,还能够很便捷的融入外部特征。& q& G" R. D; F( _
7 ?/ n/ m4 S. W5 P# B( i$ x" N
3. MatchPyramid
, R* a& M5 T5 V6 S无论是ARC-II中的n-gram拼接+1D conv还是Pair-CNN中的中间Matrix虽然均通过运算最终达到了信息交互的作用,但其定义还不够显式和明确,MatchPyramid借鉴图像卷积网络的思想,更加显式的定义了细粒度交互的过程。
/ l, ~: [5 Y) o1 y6 _MatchPyramid通过两文本各token embedding间的直接交互构造出匹配矩阵,然后将其视为图片进行2D卷积和2D池化,最后Flatten接MLP计算得匹配分数。本文共提出了三种匹配矩阵的构造方式:2 K6 k" Y) D) g
6 H1 ^% X" B6 Z: ?) H9 S8 e
(1)Indicator:0-1型,即一样的token取1,否则取0;这种做法无法涵盖同义多词的情况;; |' T; m2 K- Q( J
$ T S* y, E' R' D/ e
(2)Cosine:即词向量的夹角余弦;
( n; Z- o6 `0 t7 c* L L# K% l6 V
: t* v$ @; k; |0 [(3)Dot Product:即词向量的内积
9 y- S5 k2 i5 q% ^! x0 O5 i2 ]' L4 a7 t' u
此外值得注意的是因为各个文本pair中句子长度的不一致,本文并没有采用padding到max-lenght的惯用做法,而是采用了更灵活的动态池化层,以保证MPL层参数个数的固定。! G, m B* u3 J3 Z a! C$ |
* p* a9 h- j" b) v2 w" B9 d: Y& r4. DecAtt# o) D `9 Q% d! ?
DecAtt将注意力机制引入到交互型文本匹配模型中,从而得到各token信息交互后增强后的向量表征。
0 c7 x9 {, R0 S/ W! T) {* r2 U9 G
1 o4 m' N" t% ]: [5 n/ C模型被概括为如下层级模块:
; T( k/ O+ c; ~& d% `
% A. I6 k" Y: {(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。
" ^; ?3 \0 Z9 P1 w8 x# C* d/ |+ M" K/ p# ^) C3 V5 F7 q- s
(2)Compare层:将前序Attend层计算得到的最终embedding,喂入一个全连接层进行向量维度的压缩。
1 m5 h! X" u N$ N1 [( ~) Z% B2 ?. _0 z/ b& Q @! N
(3)Aggregate层:将每个文本各token处压缩后的向量进行简单的求和,再拼接起来通过MPL得到最后的匹配得分。5 l# r Q: C1 G% t: F% }" ^" E
% z" H& ?3 w y) ]; o
5. CompAgg
( W+ ~6 m7 _* p5 {8 JCompAgg详细对比了在文本间cross-attention得到的各token向量表征与原始token向量进行compare的各种方案。5 w" `; Q, t( h, u+ ^
' z( N$ X5 w5 k$ w! Z: Q* G9 J该模型的主要结构包括:) e6 K! U- S7 B2 i( [
; t* ?( X6 l7 U% L
(1)reprocessing层:采用类似于LSTM/GRU的神经网络得到token的深层表示(图中的\bar a_i); Q+ r1 A$ u- B/ O5 O6 S8 r
. [; T4 g V) B0 s; e
(2)Attention层:利用软注意力机制计算文本间的cross-attention(与DecAtt相同),从而得到各token处交互后的向量表示(图中的h_i);* Y- b# r& o3 y1 s0 E
: u, K, B' g2 w! D8 j
(3)Comparison层:通过各种网络结构或计算将\bar a_i和h_i计算求得各token的最终表征。
2 {* |' ]6 g# s" U, X; [3 Y8 ]2 g0 h, N) g# F: t0 ^, Z2 Q
(4)Aggregation层:利用CNN网络对Comparison层的输出进行计算,得到最后的匹配得分。& A' L. Y H# b
0 ]0 t' L& {, B B4 y( |7 B: h
其中Comparison层的构造方式包括:
) p, {- A' s. O3 A I
. D3 Y. q- S+ G(1)矩阵乘法,类似于Pair-CNN中的中间Matrix$ I* B6 m. G- K, y
" c; x; `9 @+ G& X, l! n(2)前向神经网络,即将\bar a_i和h_i进行拼接,然后利用输入FFN;
& H! p* L; s3 O; E, p* J) U% P- C7 k" M9 M: g" N
(3)分别计算cosine和欧式距离,然后拼接;; z6 o+ t# ~$ r5 u. S
0 A; o( D/ d; @' @: h& z(4)各维度进行减法;
: R6 z5 i( ~- D% J3 E
, ?8 b, g, l" n; D! w! m(5)各维度进行乘法;
! M) F6 u& y& r' D4 `8 u& N6 j: {1 F$ i. c8 N
(6)各维度进行减法和乘法,然后再接一个前向网络。: z. g: ~+ _: b; _+ J# q
+ ^7 z( p7 U A+ a" N
6. ABCNN- Q$ j, w% V8 k
ABCNN是将Attention机制作用于BCNN架构的文本匹配模型。
/ k) u2 d& n1 n+ e0 a; H( i
6 t. }5 x$ P* p8 m* X6.1 BCNN
0 F5 L$ ~' d- o1 D首先简单介绍下BCNN架构:
2 _4 w8 a/ L: c2 v. r$ X$ q
+ S/ H% ^6 w; w% a2 u/ P- XBCNN的整体结构比较简单:(1)输入层;(2)卷积层,因为采用了反卷积的形式,所以在size上会增加;) A- h) x) V4 Q( M# o- y2 o
4 [, G1 ?+ i) ~8 f8 _7 _) }9 r; X
(3)池化层,采用了两种池化模式,在模型开始阶段采用的是local平均池化,在最后句子向量的抽取时采用了global平均池化;(4)预测层,句子向量拼接后采用LR得到最后的匹配得分。1 R3 n, q$ C5 U3 W+ h- F$ l
: B" v' Q7 s' D' B* rABCNN共包括三种变形,下面依次介绍。) v% b0 V! e9 s% W, M
2 {4 c, y! a8 ~2 _9 Z
6.2 ABCNN
z& c$ v k' ~/ [" ^9 r! i$ ^7 N, \6 N( P+ P
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
: c2 C0 O6 F: ?' @; l+ xij$ o9 U/ I! e' Z
. K0 m) {1 ]2 p: O$ U
=
2 A2 ]5 f+ ~* `4 D1+∣x
+ y3 b3 ]% D0 J% C* ki* i6 M9 T" ]$ l8 J4 c. {3 i
7 Z5 I! M# h4 e" a
−y
' G8 G" b* \' j* L5 @2 J1 y- vj! B4 c5 v! H! @& ?
3 _: ~% X/ T4 ^0 C ∣& L' o `$ x( D& [: `
1
3 a2 L: {5 S( ] 2 j! a% k7 u' C* {+ Q `) L
,然后分别乘以可学习的权重矩阵 W 0 W_0 W
; |$ J, |* G/ ]/ Z _* R$ a6 j0
% R# F, e, F5 l% K+ N4 A5 ~
7 y- l# [! I! j% ]! m9 c! B 和 W 1 W_1 W 6 M8 A6 P) f- A @) b* a0 q. C7 P
1 p3 T" }7 i0 k$ N) H$ z
) @8 f0 k8 {7 U% f6 s. ` 得到attetion feature map。
! l: a/ ]1 {# W7 v: v: R! G8 M" [. o- F. v, `( W2 ]5 b
6.3 ABCNN-20 b5 a& L- v* s' I8 a! R
; T+ A8 r. d4 o
ABCNN-2将Attention机制作用于word embedding层后的反卷积层的输出结果,其中注意力矩阵的计算原理与ABCNN-1一致。然后将注意力矩阵沿着row和col的方向分别求和,分别代表着各文本token的attention socre;接着将反卷积层的输出结果与attention socre进行加权平均池化,得到与输入层相同shape的特征图。
2 t& U+ s5 n: J+ ~8 z0 O
0 W# l! L9 {/ x8 K: Q7 {2 u& U( [" D6.4 ABCNN-3
/ B6 |) M2 R* v2 {& e7 E( \; n
0 t# H! m+ [: Z. ~ABCNN-3的基本模块可视为ABCNN-1和ABCNN-2的堆叠,即在嵌入层和卷积层上面都引入了attention的机制用来增强对token向量的表示。, p8 S$ J) n, |' v, K" u% a! i6 K
: W0 v" G7 X. ]- c
7. ESIM; q; w' s, u' V1 e; F+ r
ESIM模型基于NLI任务给出了一种强有力的交互型匹配方法。其采用了BiLSTM和Tree-LSTM分别对文本序列和文本解析树进行编码,其亮点在于:9 y2 z: u& p$ U0 V) [: j% E
' P( l* z# |% T& t; l' t
(1)匹配层定义了cross-attention得到各token的向量表示与原token向量间的详细交互关系,即采用 [ a ˉ , a ^ , a ˉ − a ^ , a ˉ ∗ a ^ ] [\bar a, \hat a,\bar a-\hat a,\bar a* \hat a] [ % Z% t2 \; M3 o+ h! R
a7 _% I q+ `) `2 @$ c
ˉ/ j' c3 B/ ~2 Q3 e- j) Z
, 6 d, ?/ P6 P2 O/ o! G( N
a
8 f) s0 j8 {& a1 w3 _& U9 x! z/ s" E^
3 H7 y4 s& `7 g: l- A2 {3 h# y, w , 4 G2 ]$ i+ B3 j P! }
a
' ^5 l4 Y9 m3 J/ ?2 Pˉ
8 h f; R- f* M! O! C+ }$ M −
# i+ ~4 j$ ~" @1 Q1 ]% q/ Sa
; I1 a2 h0 b8 h! _- t# v' U^+ ~! ^7 o9 G- H8 k7 v
, ; a; _) I" o( S- c0 ?$ C$ z5 U) N
a
8 Z( J4 P3 m6 Z/ s \ˉ
1 G2 _2 B/ z1 C" O* n7 j, J0 @2 ~8 s ∗
( Z+ ^) b9 ~* \, r: l; J9 ca
. t4 t+ X5 @: [+ v; v. \" b9 E^( H+ {! ^4 i M, p! ^
]作为最终文本token的向量表示,这也成为后续文本匹配模型的惯用做法。
; V) G( e6 N( n) ?5 i" [: t0 x! e# B+ C# r: \
(2)聚合层通过BiLSTM得到各文本token的编码,从而进一步增强了文本序列的信息传递;
7 j' k2 ]6 A! b9 b4 X; D
0 a0 y. A! V* Z( V& ]5 }6 q( N, o(3)预测层通过拼接各文本token编码的max-pooling和mean-pooling结果,再经过MPL进行匹配预测。
2 P2 _6 b% N t0 q
+ ?$ q3 f3 {3 t: q, T( f' `' D% \. ^! X4 Z+ t
9 x* Q, H' R2 G! m! ^; w6 Q
8. Bimpm
" W; b) j5 U* l9 @; N1 IBimpm可视为对之前各类交互型文本匹配模型的一次总结。
' H; a0 L& W' g* B2 v$ v# P& e7 Y
" p0 K6 \! u$ m7 X7 w该模型在各层的具体做法总结如下:* ]2 \- z. `" W; G" y, q
( y+ J4 ~9 k3 ~' _4 z4 q(1)编码层采用BiLSTM得到每个token隐层的向量表示;) I2 t8 {* Y& ^6 N0 b a# Z
! b, |. _* e1 k1 W4 o(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 ! \( E# S6 x% g
k R$ \7 G- I$ B( p+ |* I
/ [) X5 [/ \0 v; @ \
=cosine(W
5 _! J; h4 Z- S" Y U+ r7 T4 hk
1 w/ p3 e1 _5 L3 a 5 C R/ Z2 F) D8 Y
∗v
5 s$ f0 R4 N8 _3 t- F% G2 j1. z$ I$ Q/ q: n- Z
1 {! J6 Q8 f- t7 h6 k+ v+ {
,W
! x; P7 D% Z5 Yk6 t8 i6 j) _ T2 r
* P$ D( I$ a% s5 c d ∗v t) C K; \5 ^% z
2
, R" ], }3 \: [3 L) z
$ {; P/ F, t9 z5 L )的方式可以得到两个文本的任意token pair之间在第k个view下的匹配关系,至于 v 1 v_1 v
6 [4 T- O7 X% M1$ a& U3 \) X, S2 f
9 N* B0 ^7 v& m g* ?9 H 和 v 2 v_2 v ; X2 T. F" }* @; W# X f
28 [0 `9 Z5 h0 E# a! \, m" x
# ^$ I! N1 t) h: d l4 s) j. j0 m' r
如何取,文章提供了4种策略:8 c! A$ x$ E! N/ a n
3 ] c5 S, x+ J* r
策略一:其中一个句子取各token隐层的向量表示,另一个句子采用隐层最后时间步处的输出;
. d# z4 ]/ J, `: b7 G& |策略二:其中一个句子取各token隐层的向量表示,另一个句子采用隐层各时间步输出与之匹配后取再取Max-Pooling值;
" g, n) I2 _" }4 M9 b: S9 i5 }策略三:其中一个句子取各token隐层的向量表示,另一个句子采用cross-attentive后得到的加权句子向量;
3 H$ U( F" Z2 \策略四:其中一个句子取各token隐层的向量表示,另一个句子采用cross-attentive后attention score最高处token的向量作为句子向量。
# a) X9 v5 q( [这四种策略的区别在于对句子向量的计算不同。
6 x6 p4 m+ B3 I& o- T% Q" F' l1 L+ y# T3 Y' U" q& \& w: X: D
7 u7 U" {% F' w( q0 D: B- u
(3)聚合层,首先对上面各种策略得到的输出层再通过一层BiLSTM层,然后将各策略下最后时间步的输出进行拼接,得到最后的聚合向量;
& W$ |1 c# O; F( V; k- t: Z6 w0 T( J" I! d6 f. A
(4)预测层:两层MPL+softmax" D1 {: R( u: n) t- U# r' J0 ^9 G
6 _6 Y+ O0 h g0 s5 R( n9. HCAN
9 o: H- ~( h) D8 THCAN是除Bert类模型外在文本匹配领域表现最为优异的深度模型之一,其采用了较为复杂的模型结构。
8 W/ g8 Q# I, `3 c. l% o
+ {7 J( P* _# s; w针对于信息抽取问题,文章首先分析了相关性匹配和语义匹配的差异:
6 I9 v/ G* c$ o* p3 o
( p" }/ i: T7 ~; v% n(1)相关性匹配主要关注于关键词的对比,因此更关注低层级词法、语法结构层面的匹配性;3 u/ `+ u1 i# a H: y# _1 \
9 S. O' N. i" K. ]+ M(2)语义匹配代表着文本的平均意义,因此其关注更高、更丑想的语义层面的匹配性。
4 W, ]. U) ?5 E/ J' [7 R9 K5 ?
5 S: B5 L4 [, B8 t6 h1 q该模型首先采用三类混合的编码器对query和context进行编码:$ n6 g4 ~" j& w0 i/ j" ]7 q
% U! N5 J7 Q; v
(1)深层相同卷积核大小的CNN编码器;. D5 }$ Y% b- D- `- Y2 D8 F S
0 [3 g) c5 s. ^% S4 f$ \
(2)不同卷积核大小的CNN编码器的并行编码;
1 ~: s1 A8 v! c3 r
5 q9 h/ R' S( Y* }(3)沿着时序方向的stacked BiLSTM编码;
" d: y* _3 H, _: x4 l: t5 n3 A$ P, e0 q
对于前两者,通过控制卷积核的大小可以更好的捕捉词法和句法特征,即符合相关性匹配的目的;而对于后者,其能表征更长距离的文本意义,满足语义匹配的目的。
, ^# N& [) W0 o/ o2 W
7 G8 G) d; V' s在这三类编码器的编码结果基础上,模型分别进行了相关性匹配和语义匹配操作。其中相关性匹配主要采用各phrase间内积+max pooling/mean pooling的方式获取相关性特征,并通过IDF指进行各phrase的权重调整。而在语义匹配中,模型采用了精心设计的co-attention机制,并最终通过BiLSTM层输出结果。
5 d0 S2 r5 C1 F1 H G7 j0 j
9 l$ ~. ?8 O+ y$ m4 @* W4 r: j! `最后的预测层仍采用MPL+softmax进行预测。9 z, G4 a+ s- G* R
9 n' C/ u1 x9 B6 p$ P10. 小结& U8 I4 N0 [' ]6 n" V
交互型语言匹配模型由于引入各种花式attention,其模型的精细度和复杂度普遍强于表示型语言模型。交互型语言匹配模型通过尽早让文本进行交互(可以发生在Embedding和/或Encoding之后)实现了词法、句法层面信息的匹配,因此其效果也普遍较表示型语言模型更好。
4 t- H2 \# z+ ~1 s
( \% x) v' ^( b5 E/ V. ?【Reference】
7 [$ o4 I1 M- P5 Q
! M; U; _0 I/ A7 _- XARC-II: Convolutional Neural Network Architectures for Matching Natural Language Sentences' h, B( n1 ~; u1 r" V# g1 |
" y8 s' ? @ C6 aPairCNN: Learning to Rank Short Text Pairs with Convolutional Deep Neural Networks3 o2 n% |% b" ?
8 o. q. a& W* }
MatchPyramid: Text Matching as Image Recognition
- _8 Q2 m! ]& S' q; \. @- H% p8 e$ Q
DecAtt: A Decomposable Attention Model for Natural Language Inference
4 C/ i& e1 [; W& R, I
* n) S7 _3 [$ E$ W! K- KCompAgg: A Compare-Aggregate Model for Matching Text Sequences
, Z5 y- ^! H, P! H9 H$ i) W/ v6 s0 ]% I
ABCNN: ABCNN: Attention-Based Convolutional Neural Network; q2 I% w- R% {8 `# K+ {
for Modeling Sentence Pairs. \1 k. S/ S5 p& d- M
: _" A& q! [6 wESIM: Enhanced LSTM for Natural Language Inference& |: q( m$ Z+ i
5 p% |, Z1 |( i. i/ q/ U9 i4 ABimpm: Bilateral Multi-Perspective Matching for Natural Language Sentences
; _, k$ j- K6 K! Q/ y3 y& y! p0 g9 K/ {6 v
HCAN: Bridging the Gap Between Relevance Matching and Semantic Matching
* E4 z1 n& i+ ~" o: [0 Y, \for Short Text Similarity Modeling6 B6 [! }- T5 j2 `- Q
) p k- W0 C+ w/ x文本匹配相关方向打卡点总结(数据,场景,论文,开源工具)
9 I' z( x5 n, @7 i! o! j9 M* z$ r ~5 u& H8 u" \5 Z- Z Z4 Q
谈谈文本匹配和多轮检索* I! O# f( r/ A7 b5 h) i) d
& p U2 k2 K& D, i& H贝壳找房【深度语义匹配模型 】原理篇一:表示型
4 b; S0 \, n3 O————————————————
2 {( K" w7 R/ p4 ~) l版权声明:本文为CSDN博主「guofei_fly」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
* U" T' [* {0 J3 I! B原文链接:https://blog.csdn.net/guofei_fly/article/details/107501276
$ }! L. z* j6 W* s+ x% b
( J7 r& d& W6 d$ r3 i L" I: v% ~! R
|
zan
|