在线时间 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年大象老师国赛优
【文本匹配】交互型模型 * F6 o. w0 l7 A: ^6 G% r
/ j! w. j/ N9 i* q# ^ X) I- R 表示型的文本匹配模型存在两大问题:(1)对各文本抽取的仅仅是最后的语义向量,其中的信息损失难以衡量;(2)缺乏对文本pair间词法、句法信息的比较$ ~: _" Z& I! F7 J2 E! t1 E
3 ]0 z k3 e% [: D0 F9 u, a! C 而交互型的文本匹配模型通过尽早在文本pair间进行信息交互,能够改善上述问题。- Q1 ~/ Z4 h) P5 I
( C2 p) y- ^4 C+ l 基于交互的匹配模型的基本结构包括:
% E c5 w( C1 _; p) L5 i1 } * g D8 h; ?0 p3 K* B
(1)嵌入层,即文本细粒度的嵌入表示;$ F# d" ~ x6 `+ l
) s9 i) }8 b; p- q! _ (2)编码层,在嵌入表示的基础上进一步编码;: \% A3 U8 A6 c7 @. h; t9 y
9 ?/ N% ^% Z, c' H (3)匹配层:将文本对的编码层输出进行交互、对比,得到各文本强化后的向量表征,或者直接得到统一的向量表征;5 C" ^. ~7 c1 z' b
( Z) T q! t+ y1 q% P (4)融合层:对匹配层输出向量进一步压缩、融合;
5 |7 m4 H- h/ ^" ~1 S/ G9 l ( P) v' O5 s V2 `
(5)预测层:基于文本对融合后的向量进行文本关系的预测。
( c+ I) _* k/ j7 z- M; p
2 X# O, a' S) _0 c; b. y% _7 Z
/ f; v* U6 c: f& i$ S* B3 _& s' b
" Y2 k/ z/ Y$ Q, ? 1. ARC-II
$ j4 w5 S4 S/ P$ M6 X ARC-II模型是和表示型模型ARC-I模型在同一篇论文中提出的姊妹模型,采用pair-wise ranking loss的目标函数。
6 f8 I8 ]7 p g
. ~. {+ g9 ~5 m. k9 Z 其核心结构为匹配层的设计:+ B* K) O3 E& o& t# p& G9 z
/ {0 q8 S. Q. O6 P9 a7 N (1)对文本pair的n-gram Embedding结果进行拼接,然后利用1-D CNN得到文本S_X中任一token i和文本S_Y中任一token j的交互张量元素M_{ij}。该操作既然考虑了n-gram滑动窗口对于local信息的捕捉,也通过拼接实现了文本pair间低层级的交互。5 |; n( V4 N( L6 C
0 O( O$ z& F: m8 @7 I
(2)对交互张量进行堆叠的global max-pooling和2D-CNN操作,从而扩大感受野。
- ?3 _9 Y) ?: u
4 P, i7 {! q, C+ L' w: Z 2. PairCNN4 J. |# s' I. Z0 j0 a2 j% K
PairCNN并没有选择在Embedding后直接进行query-doc间的交互,而是首先通过TextCNN的方式分别得到query和doc的向量表征,然后通过一个中间Matrix对query和doc向量进行交互得到pair的相似度向量,然后将query的向量表征、doc的向量表征、相似度向量以及其它的特征向量进行拼接,最后经过两层的MPL得到最后的二分类向量。
# x/ V8 x: ], T! A. M
+ \- i9 `" W( T: Q+ P) d0 {! y PairCNN的模型架构中的亮点在于各View向量的拼接,既能利用原始的语义向量,还能够很便捷的融入外部特征。3 c) X9 _! j2 S6 `4 e! `! \
$ F+ L" m+ B' e" r% B/ W5 B
3. MatchPyramid' a% n; R8 R8 T: W* n+ m
无论是ARC-II中的n-gram拼接+1D conv还是Pair-CNN中的中间Matrix虽然均通过运算最终达到了信息交互的作用,但其定义还不够显式和明确,MatchPyramid借鉴图像卷积网络的思想,更加显式的定义了细粒度交互的过程。9 u# u* r% f. z0 G
MatchPyramid通过两文本各token embedding间的直接交互构造出匹配矩阵,然后将其视为图片进行2D卷积和2D池化,最后Flatten接MLP计算得匹配分数。本文共提出了三种匹配矩阵的构造方式:' M0 f7 j" I, X* O
% W* ^. e/ f) J$ j3 o4 C- P" e8 X) j (1)Indicator:0-1型,即一样的token取1,否则取0;这种做法无法涵盖同义多词的情况;
8 L# `3 H3 t* Q& ~ 8 v+ O5 c/ G- y' F" _! ~5 ]
(2)Cosine:即词向量的夹角余弦;( f' j4 R/ z2 n; J" r3 g& k
4 M' ?# E4 k/ S0 g (3)Dot Product:即词向量的内积
& s& R8 _* S: v: {
+ D( D1 J/ W. X6 S' Q u' B1 u 此外值得注意的是因为各个文本pair中句子长度的不一致,本文并没有采用padding到max-lenght的惯用做法,而是采用了更灵活的动态池化层,以保证MPL层参数个数的固定。
+ c5 L( N" T3 {3 ` I6 H v- w 9 u5 A: ~" V, Y m
4. DecAtt
5 ~6 s$ j) z: p" O DecAtt将注意力机制引入到交互型文本匹配模型中,从而得到各token信息交互后增强后的向量表征。
0 T* G# X# K7 Y; @ 7 S0 `7 A8 z1 I+ q1 v/ p" ?
模型被概括为如下层级模块:
+ D8 p' B" x' \ t h( v2 t 8 ]6 v* Z. t3 ^6 B7 N1 t 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。( q: R& {' N& Y
r% H3 g5 c, Z9 l# C (2)Compare层:将前序Attend层计算得到的最终embedding,喂入一个全连接层进行向量维度的压缩。' [6 @# G* m% j9 q0 I( Y
1 F# z" g8 W+ R% B$ K" `! s/ N (3)Aggregate层:将每个文本各token处压缩后的向量进行简单的求和,再拼接起来通过MPL得到最后的匹配得分。
7 M3 c/ d' @) n! w; Q3 O3 F2 \ # `( k" n( ^# b
5. CompAgg0 y7 f9 e; D9 o' I
CompAgg详细对比了在文本间cross-attention得到的各token向量表征与原始token向量进行compare的各种方案。0 B3 A- b% | s2 U% u8 R
; w& P/ S# l% I% X8 ]& F# `- g1 T+ h
该模型的主要结构包括:- }( V! r) H' B
c4 |! ]: g% }7 C (1)reprocessing层:采用类似于LSTM/GRU的神经网络得到token的深层表示(图中的\bar a_i);
- R6 N' L' C5 e i1 J5 X z) G8 t J3 i7 [$ }# [" `4 s
(2)Attention层:利用软注意力机制计算文本间的cross-attention(与DecAtt相同),从而得到各token处交互后的向量表示(图中的h_i);
, c/ B- ?& e% d4 R# G6 n/ @) A
' `8 C- p* C0 z. z5 c/ R+ Y5 E (3)Comparison层:通过各种网络结构或计算将\bar a_i和h_i计算求得各token的最终表征。) v o% t$ u& q2 O u4 @$ W- f
- H& b, }2 f. O3 r" o8 h
(4)Aggregation层:利用CNN网络对Comparison层的输出进行计算,得到最后的匹配得分。/ `" w$ \0 q- d4 R8 h9 D+ T$ I
: i! A. x- F, H( F9 i. p
其中Comparison层的构造方式包括:+ j7 A. I/ c2 S& ?
) X& i, |: [: I. C3 K: K, b& U+ s( A
(1)矩阵乘法,类似于Pair-CNN中的中间Matrix8 o& ]2 B3 W$ N4 E- I- V& u5 S
) w+ G' E9 d o p! f2 h& L) S
(2)前向神经网络,即将\bar a_i和h_i进行拼接,然后利用输入FFN;
) [/ [7 F+ e; k+ q& P3 \1 }
) f' W' d, f; z# F$ ]2 E. o (3)分别计算cosine和欧式距离,然后拼接;- J9 Z1 [, I# ]; @2 j+ L: r. B
- K* V* m( n1 I9 V4 p4 ^* K (4)各维度进行减法;6 R1 c' E2 g. J' [
5 c2 @! C6 A% f6 W8 X. p7 A p ~
(5)各维度进行乘法;
& {6 g0 T% N& h! ^ A7 x9 a) R
% k5 E! `: h( b, p, ?% ?2 \, v: O( t (6)各维度进行减法和乘法,然后再接一个前向网络。
/ _( {, L& \5 u
- x2 V( q: i+ |$ _ 6. ABCNN/ {% ?7 V ]$ M
ABCNN是将Attention机制作用于BCNN架构的文本匹配模型。7 z1 b' m' e1 i( H! ^
7 [: M1 f+ E' q5 T$ R, `
6.1 BCNN
5 y ]8 d5 p. m 首先简单介绍下BCNN架构:
# p' D4 i2 ~& i$ F% O x* b . ?3 p& x r) V! C$ k' D
BCNN的整体结构比较简单:(1)输入层;(2)卷积层,因为采用了反卷积的形式,所以在size上会增加;! u1 m7 c* \$ p3 g( Z' Y
/ P/ M* z* V2 x) _% O
(3)池化层,采用了两种池化模式,在模型开始阶段采用的是local平均池化,在最后句子向量的抽取时采用了global平均池化;(4)预测层,句子向量拼接后采用LR得到最后的匹配得分。
b- Y- Y. d& i+ R4 @ 8 n, y0 E1 f0 \+ K3 x: V6 l
ABCNN共包括三种变形,下面依次介绍。
% r( c( r, D. ] 3 e8 u t2 W) ] `0 ]2 s5 e
6.2 ABCNN
1 v3 f' @, b! n
* Q* |. m- r, N3 v- _; x5 N+ _ 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
9 r5 Z0 }. y" B. V; m ij- Y. S/ Q( v. k. Y3 p0 ?
. G; q- J1 U) Y0 M9 L1 i =
% @5 ~2 F4 B q& ]+ d0 W6 Y 1+∣x
9 G8 u. I2 v2 U i
% w. O! A1 L( ~" S V6 y+ _ : E( q* r# |2 |# D) w
−y , |0 y5 ?) E/ F, b3 a; B9 a
j
9 n9 A/ b$ e3 I ?% V
9 B8 U- L$ \, J& p, P; O ∣1 N; d/ W! s. B! S* [* m% _9 p, f
1
( N: K: p- o: V 4 \" U$ o7 ~( r7 X7 c0 U# [( l
,然后分别乘以可学习的权重矩阵 W 0 W_0 W 0 i) q/ E' e0 H3 k
0, {+ z( {* H' L* `
) Y6 j8 O: ?. w3 P 和 W 1 W_1 W
* m. B: M( {' B 14 i6 v" z# ^/ T9 x( `
4 A* q* \* z3 E4 ` 得到attetion feature map。* h6 r' o D! t' z. v$ @
8 [" c z9 ^: i* ?9 e4 a+ p7 N 6.3 ABCNN-2) N _/ _+ N, B' S7 P8 \6 @
$ G5 q8 O( h E8 H9 l; h, f7 i1 _( W ABCNN-2将Attention机制作用于word embedding层后的反卷积层的输出结果,其中注意力矩阵的计算原理与ABCNN-1一致。然后将注意力矩阵沿着row和col的方向分别求和,分别代表着各文本token的attention socre;接着将反卷积层的输出结果与attention socre进行加权平均池化,得到与输入层相同shape的特征图。$ W: @; v9 O. o$ D+ n
3 ~1 F5 h' l" S: b& `
6.4 ABCNN-39 T, M9 w$ P% A6 M- V( u7 c
' b- Z' v) Q- @0 o. q! F" D
ABCNN-3的基本模块可视为ABCNN-1和ABCNN-2的堆叠,即在嵌入层和卷积层上面都引入了attention的机制用来增强对token向量的表示。
' B! s; Y0 j' y" d
1 I- L9 K& L0 [- P6 K; b9 y 7. ESIM
! A' i4 q3 u: p# z8 m ESIM模型基于NLI任务给出了一种强有力的交互型匹配方法。其采用了BiLSTM和Tree-LSTM分别对文本序列和文本解析树进行编码,其亮点在于:4 \7 g. Q& @' H% ^/ y
- T/ a- `4 i% w& D% s c8 F (1)匹配层定义了cross-attention得到各token的向量表示与原token向量间的详细交互关系,即采用 [ a ˉ , a ^ , a ˉ − a ^ , a ˉ ∗ a ^ ] [\bar a, \hat a,\bar a-\hat a,\bar a* \hat a] [ & C- D2 Q2 w7 u8 ^! D# A
a+ _6 K( Y, F8 W) A& ^
ˉ9 O" N5 x# n F0 ?, y2 P9 {
,
3 u2 ?2 R- \" R4 w$ V+ H a
$ ]4 w5 r% T# n ^: Y, ]6 z$ G1 T6 s6 `: d# d
,
- E3 m8 e/ T! D a' U& P" }0 @+ h' Y+ W* v6 Y
ˉ! u; o i, D, H! a; M* Y
−
; T; w7 f/ }5 J+ d9 S1 {3 R a
$ g e; {9 r" ]5 T- ^ ^
, k& n; ?; E" X) w, Q5 e$ N: t9 v ,
7 j1 w+ x( M: D* O* N: F a
) A. T5 B1 @* q+ U% m ˉ
7 c; _5 x1 K- G0 Y) f% l ∗ - `+ V1 }0 U+ G/ Z }
a6 `0 v8 T- b. E" }2 l0 w& K$ }6 w' S
^
& s6 K h2 S4 A0 t1 k6 Q1 F ]作为最终文本token的向量表示,这也成为后续文本匹配模型的惯用做法。
9 A& C7 N2 g i; m/ }+ ` o7 L2 c! j / |/ @ r# \7 B& l
(2)聚合层通过BiLSTM得到各文本token的编码,从而进一步增强了文本序列的信息传递;
4 P9 F1 Y/ q( ]9 c0 Z2 Q % k Y% T& ~; U" O9 \
(3)预测层通过拼接各文本token编码的max-pooling和mean-pooling结果,再经过MPL进行匹配预测。0 p6 \, _' b. D5 E" O
& K/ x: \& r, N% i9 R
% K( ~( G) R9 A$ |$ p 6 p/ e, S) g) ~$ A6 \- V1 }/ f
8. Bimpm$ G% [/ w' n6 A) [. p1 H
Bimpm可视为对之前各类交互型文本匹配模型的一次总结。
2 s( E, h7 G2 d' }4 r * |9 y& f- ?& O( A/ W+ d
该模型在各层的具体做法总结如下:2 m3 P0 z( C6 X9 C5 Z
$ I, L1 V4 B" B% R$ Z$ L; N (1)编码层采用BiLSTM得到每个token隐层的向量表示;
% B* i2 F2 h! A/ \! v
: q$ o8 [, E( p6 J (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 " l8 m. ]; G2 @/ E2 o5 N
k
% O( u7 e- g8 O: ~
. y& c/ C6 j2 h+ ]) R a8 q =cosine(W
* T. [9 J0 J) l% D9 X k8 l# B" O" R% X# u# Y4 h2 ?
# Q9 v' v6 p0 V+ S! w- H, [
∗v
, C! H# z' P# s+ W. u, Y/ s6 ]2 s 1% K6 p3 ~- {- w
4 h6 @' f) a0 e ,W
5 P+ S1 |$ Q* w, @- n# a# M k0 l' K. ~' O5 ^) E! m4 ~
8 E1 `! p5 M0 M! \8 ^
∗v
$ L: Y6 }" |6 [% g& Y# Y 2
5 H* N: B$ a5 ~% Q- U; y2 q % L8 y* O, U& M) w. K r* C7 i
)的方式可以得到两个文本的任意token pair之间在第k个view下的匹配关系,至于 v 1 v_1 v
, c; ]' d1 H1 g! N2 L 1* l0 v& K5 ?. d; p8 g1 m
/ I$ B3 ?: Y6 k* B* ]# q( O
和 v 2 v_2 v
: a7 f* X6 g5 h& ^6 x2 j 27 J. d0 u: |2 D! ^* j. Z8 W
! q* K% J" d6 C 如何取,文章提供了4种策略:
6 l0 e8 S9 T4 ~) k+ {4 j 1 `" e9 `% Y2 n4 K
策略一:其中一个句子取各token隐层的向量表示,另一个句子采用隐层最后时间步处的输出; M) p0 h" T" \0 j8 H! d0 C; N2 @% T
策略二:其中一个句子取各token隐层的向量表示,另一个句子采用隐层各时间步输出与之匹配后取再取Max-Pooling值;
1 }6 R& i5 P: S2 G. }1 n 策略三:其中一个句子取各token隐层的向量表示,另一个句子采用cross-attentive后得到的加权句子向量;9 z% e/ |" |/ R) i ~" T7 j
策略四:其中一个句子取各token隐层的向量表示,另一个句子采用cross-attentive后attention score最高处token的向量作为句子向量。
0 }% n' i; s. ]- _, d1 z) w% I 这四种策略的区别在于对句子向量的计算不同。
* p, t1 _3 f' l* T4 f" \4 w w
" o2 S" K$ K$ g+ \$ R
7 g( s2 y+ f9 N# S" |2 ~ (3)聚合层,首先对上面各种策略得到的输出层再通过一层BiLSTM层,然后将各策略下最后时间步的输出进行拼接,得到最后的聚合向量;
; T# S/ e, K" O* W9 _8 A 4 b; Z: R: p5 u# {7 f- h" ^
(4)预测层:两层MPL+softmax
5 z ]3 N4 n8 m4 g' F9 } 1 m/ f4 W9 H$ u4 c' f; i, T1 o
9. HCAN
& O+ U% z6 T/ P HCAN是除Bert类模型外在文本匹配领域表现最为优异的深度模型之一,其采用了较为复杂的模型结构。
3 t4 n' l- K$ o
5 E; }7 p3 o. [# ` 针对于信息抽取问题,文章首先分析了相关性匹配和语义匹配的差异:
9 t% y: M2 i- C( O2 |1 M 3 e ^2 L: @8 i5 |
(1)相关性匹配主要关注于关键词的对比,因此更关注低层级词法、语法结构层面的匹配性;
+ ?, X: x/ p! I9 F - d4 G8 V' a( A
(2)语义匹配代表着文本的平均意义,因此其关注更高、更丑想的语义层面的匹配性。8 H4 E: e4 O5 c
) u+ [+ ?+ O- J4 T# u 该模型首先采用三类混合的编码器对query和context进行编码:. I( I3 n4 Q0 M: l& Z- \! D
( j) B4 O) b* u4 J5 l% j0 w
(1)深层相同卷积核大小的CNN编码器;
1 K, Y' U5 Z8 K9 f! _- {' W
. i0 C e! `; `5 h( d (2)不同卷积核大小的CNN编码器的并行编码;! x9 W& F) J! `
% N8 b3 y: R* ^5 y# D (3)沿着时序方向的stacked BiLSTM编码;
+ j& Z X& T8 ]) ]% j) d9 v% i' Q
5 V, g, P- }- } 对于前两者,通过控制卷积核的大小可以更好的捕捉词法和句法特征,即符合相关性匹配的目的;而对于后者,其能表征更长距离的文本意义,满足语义匹配的目的。( D, R2 B5 y3 Q
) S0 o8 ]5 T( p# Z3 D
在这三类编码器的编码结果基础上,模型分别进行了相关性匹配和语义匹配操作。其中相关性匹配主要采用各phrase间内积+max pooling/mean pooling的方式获取相关性特征,并通过IDF指进行各phrase的权重调整。而在语义匹配中,模型采用了精心设计的co-attention机制,并最终通过BiLSTM层输出结果。
4 t" ~/ B0 m9 V. ]* f, |
( e; X( d4 K& v8 n: o7 x 最后的预测层仍采用MPL+softmax进行预测。
1 R" w0 }/ A& e' `1 P( a1 V) K( G. D
1 h4 i8 U/ O) h 10. 小结
, t$ r( `0 _! i. y/ l% a* k 交互型语言匹配模型由于引入各种花式attention,其模型的精细度和复杂度普遍强于表示型语言模型。交互型语言匹配模型通过尽早让文本进行交互(可以发生在Embedding和/或Encoding之后)实现了词法、句法层面信息的匹配,因此其效果也普遍较表示型语言模型更好。8 Y7 d" @) ]- g$ y0 y1 p2 _9 O
6 w5 c9 N& a+ m. o; Q
【Reference】! \5 C: S1 E- }7 A4 I* I/ k( h7 J
/ p, ^) k. z8 _; N
ARC-II: Convolutional Neural Network Architectures for Matching Natural Language Sentences: E t+ a+ Y) P8 z: O
$ m+ S4 V& r$ b; T/ b* p- O* L PairCNN: Learning to Rank Short Text Pairs with Convolutional Deep Neural Networks
0 q1 `8 h# q. H6 O3 i1 H) K+ V ) o; X' D0 O9 |; a
MatchPyramid: Text Matching as Image Recognition3 `% ^- V* ]6 o. P, P5 r
& g8 b1 m& E% m ~$ I7 Y DecAtt: A Decomposable Attention Model for Natural Language Inference
, I) O' F3 E- b$ M! a
3 i0 c' l4 p7 O CompAgg: A Compare-Aggregate Model for Matching Text Sequences
- w# L" H; ^( I, l , X( w! V/ I7 x* m1 ?; X
ABCNN: ABCNN: Attention-Based Convolutional Neural Network/ i7 v' ?; R' T, L% w
for Modeling Sentence Pairs! k% q) g$ y1 X7 y5 s2 s) {
% N0 k* ?$ a4 t7 H7 t C* E( X ESIM: Enhanced LSTM for Natural Language Inference
% z7 Z; ]1 N' b3 S F
8 }0 T0 p9 S% n Bimpm: Bilateral Multi-Perspective Matching for Natural Language Sentences, v% C4 i6 [; y, g) u
4 \. l5 o! h/ j, Y$ r6 [/ h/ a HCAN: Bridging the Gap Between Relevance Matching and Semantic Matching
+ }: g, |4 j$ E* n. F; N for Short Text Similarity Modeling$ d+ K0 ] [: \, v, d: r
% W, F' e# j5 R2 l/ }2 q- L& z
文本匹配相关方向打卡点总结(数据,场景,论文,开源工具): v; F; C3 x- `
( \1 s0 A0 _2 R 谈谈文本匹配和多轮检索 M2 x, R/ _5 O* f
" A2 h9 }% S# W+ ]9 d 贝壳找房【深度语义匹配模型 】原理篇一:表示型5 i+ D' H" c3 v4 c5 h+ b
————————————————. D# ^7 N; O# V% v! x
版权声明:本文为CSDN博主「guofei_fly」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。! M* Y/ ^ _. ~7 m6 n
原文链接:https://blog.csdn.net/guofei_fly/article/details/1075012761 Y# g* S# N T$ ~9 k* d) \7 _' q
7 K) k/ s; G% M. j1 U( {1 V' \ 1 I8 o) U6 i: N- v; t" i
zan