在线时间 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 M4 D) B9 }0 v! L) V, i u# w
/ @ F5 Q/ }! U$ i" I 表示型的文本匹配模型存在两大问题:(1)对各文本抽取的仅仅是最后的语义向量,其中的信息损失难以衡量;(2)缺乏对文本pair间词法、句法信息的比较
4 |9 r/ Y2 H5 n' z6 { - ?* }8 {; D8 p0 m1 o6 u4 ^
而交互型的文本匹配模型通过尽早在文本pair间进行信息交互,能够改善上述问题。
2 T% {: W: _5 M
3 w7 `. i& w% [4 K' ~ 基于交互的匹配模型的基本结构包括:8 s7 Y2 j2 w" a N0 ^" P p* i1 @
) |: |! ]1 |8 K4 v) l (1)嵌入层,即文本细粒度的嵌入表示;2 B/ U1 ~/ \) v6 T
r0 `6 E8 W( X8 r& a, y7 o
(2)编码层,在嵌入表示的基础上进一步编码;6 ~# u9 j, l( m; a9 B
! d% Z" a$ f, Y% q (3)匹配层:将文本对的编码层输出进行交互、对比,得到各文本强化后的向量表征,或者直接得到统一的向量表征;- x% S- J, V9 }3 R' \( w5 S
: S6 o4 Q1 c6 T5 c( r4 m (4)融合层:对匹配层输出向量进一步压缩、融合;
) q) M+ h. @3 q6 X1 g( J3 `, L
7 M6 F$ @8 ^0 @1 G" R (5)预测层:基于文本对融合后的向量进行文本关系的预测。, W! r5 o+ v- r/ n
4 @! T: |8 X7 a
/ Z3 G% @2 j$ V# T a5 ]
" x. m4 e. Y9 U& E4 N+ e* T! T7 V2 X) ~ 1. ARC-II3 T; c; p+ R( o; y3 n
ARC-II模型是和表示型模型ARC-I模型在同一篇论文中提出的姊妹模型,采用pair-wise ranking loss的目标函数。
# D7 T v+ q6 E6 O / o' U# R, n7 K( o! l
其核心结构为匹配层的设计:
5 @! z' a) I5 Y# T9 h% w }6 X9 E; m7 ?: Y$ g& `" w0 M9 v
(1)对文本pair的n-gram Embedding结果进行拼接,然后利用1-D CNN得到文本S_X中任一token i和文本S_Y中任一token j的交互张量元素M_{ij}。该操作既然考虑了n-gram滑动窗口对于local信息的捕捉,也通过拼接实现了文本pair间低层级的交互。
# r6 W6 n N$ f! G
6 {3 U/ M) z/ i. o% ]* l (2)对交互张量进行堆叠的global max-pooling和2D-CNN操作,从而扩大感受野。2 A5 |* Y1 p2 s% n/ `2 N3 z
; }- w. {7 R0 `
2. PairCNN
3 o% g6 d, M. e/ H- q) u PairCNN并没有选择在Embedding后直接进行query-doc间的交互,而是首先通过TextCNN的方式分别得到query和doc的向量表征,然后通过一个中间Matrix对query和doc向量进行交互得到pair的相似度向量,然后将query的向量表征、doc的向量表征、相似度向量以及其它的特征向量进行拼接,最后经过两层的MPL得到最后的二分类向量。, @1 ]4 l2 j1 u. R2 L- A4 o
" |! @+ j D% Y- X% p% ~ PairCNN的模型架构中的亮点在于各View向量的拼接,既能利用原始的语义向量,还能够很便捷的融入外部特征。9 L, C1 s) q5 @" \
3 i7 y) u, l7 m9 z% ] 3. MatchPyramid7 s! ^- o7 p0 T$ Y; t2 l+ Z
无论是ARC-II中的n-gram拼接+1D conv还是Pair-CNN中的中间Matrix虽然均通过运算最终达到了信息交互的作用,但其定义还不够显式和明确,MatchPyramid借鉴图像卷积网络的思想,更加显式的定义了细粒度交互的过程。/ p: n/ W; X; G. L+ q2 D/ `
MatchPyramid通过两文本各token embedding间的直接交互构造出匹配矩阵,然后将其视为图片进行2D卷积和2D池化,最后Flatten接MLP计算得匹配分数。本文共提出了三种匹配矩阵的构造方式:
: d5 p0 Y k1 Y , p4 K% T: p6 h5 h/ w X5 ]$ c
(1)Indicator:0-1型,即一样的token取1,否则取0;这种做法无法涵盖同义多词的情况;$ [5 z" G6 A. A, x) z
" Y; W9 `3 D1 l' w8 T- C2 w) c
(2)Cosine:即词向量的夹角余弦;1 ~/ k* K7 H" _$ s8 l% Z
+ P3 }" o7 m% R! D( N4 @3 q (3)Dot Product:即词向量的内积: d$ J4 |+ L! Q9 p' f+ p
1 c- F% X% i% L. v" V8 N' \% W
此外值得注意的是因为各个文本pair中句子长度的不一致,本文并没有采用padding到max-lenght的惯用做法,而是采用了更灵活的动态池化层,以保证MPL层参数个数的固定。- T8 ?3 X: x% M4 p; \5 j/ t5 }
8 e4 [1 F: ?7 g5 s! l 4. DecAtt
! t6 e4 j. F' k! J6 }, s( [8 r& h/ Q0 X DecAtt将注意力机制引入到交互型文本匹配模型中,从而得到各token信息交互后增强后的向量表征。; b, S W1 p2 g
! X. \9 }- k* c' D) n
模型被概括为如下层级模块:
! u3 F$ n( f% U, u C: r+ s/ } ! A3 l0 b" A. q/ M* d6 f3 O) t$ o
(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。! ~5 `, F8 W1 Q6 Q& @
0 u7 ~& \$ q" V& H/ x( i; J
(2)Compare层:将前序Attend层计算得到的最终embedding,喂入一个全连接层进行向量维度的压缩。
' Y" D2 w6 S& p* [3 l u* X6 F . N4 _) K4 u5 B! \" v
(3)Aggregate层:将每个文本各token处压缩后的向量进行简单的求和,再拼接起来通过MPL得到最后的匹配得分。
7 H! [$ k' c# y- a 9 A+ B$ l7 F$ C5 Q" T
5. CompAgg
) P1 J* z6 d* z3 h+ X. e" i2 l CompAgg详细对比了在文本间cross-attention得到的各token向量表征与原始token向量进行compare的各种方案。. y% G0 _; e( ~4 s% O
7 A6 `# d% Z" A! `: k! U' y! {0 u 该模型的主要结构包括:
% a! E( V+ ~( X' B- B E4 M! Q4 R: f3 y5 o0 `
(1)reprocessing层:采用类似于LSTM/GRU的神经网络得到token的深层表示(图中的\bar a_i);
; r; a4 l2 @- ]4 A ! Y* e1 U; v; Y- K
(2)Attention层:利用软注意力机制计算文本间的cross-attention(与DecAtt相同),从而得到各token处交互后的向量表示(图中的h_i); c3 u! B$ P* _4 p: j% b1 @
' ^2 P5 E8 t% r$ m7 X
(3)Comparison层:通过各种网络结构或计算将\bar a_i和h_i计算求得各token的最终表征。9 g4 ~& Y2 a8 k: ^5 a
% H7 v/ }3 ?# m (4)Aggregation层:利用CNN网络对Comparison层的输出进行计算,得到最后的匹配得分。9 g* Z3 U& M& }- T: g. v& `
* D" ?) o$ l" o1 b9 K4 ? 其中Comparison层的构造方式包括:
1 [9 \) M( i9 C- o
. P& `! p; r9 U$ v1 G0 O2 | (1)矩阵乘法,类似于Pair-CNN中的中间Matrix
2 R1 v7 T8 G0 g' l4 ] [
7 }4 ]2 o' k2 H5 }" U: k# {/ g (2)前向神经网络,即将\bar a_i和h_i进行拼接,然后利用输入FFN;0 u5 E1 B$ w. t8 U- G* L- ^
* M Z* b. N/ K (3)分别计算cosine和欧式距离,然后拼接;
: ` u2 c8 q0 ?
K3 o* @- g" R) ] (4)各维度进行减法;
+ H5 E, B' S2 H C' [8 ]
3 i9 c& d6 Y/ J0 N) ?$ O- f' J (5)各维度进行乘法;" H' R( \5 w2 p9 q5 e, Y7 k8 F8 O! b
, k: D ?# O$ u# S% ? (6)各维度进行减法和乘法,然后再接一个前向网络。# X. {$ |& w' ~( i6 t$ m W0 D
+ d R4 l7 l) K 6. ABCNN' b8 J8 d4 }0 \5 ], o# \0 r+ F
ABCNN是将Attention机制作用于BCNN架构的文本匹配模型。
3 g) o5 G- `$ e; q
. c, N' q1 O& A* P 6.1 BCNN
) j* W9 U& f" ]) ^1 f( \4 ] 首先简单介绍下BCNN架构:' D6 W& M# U; w( X8 P8 G# [
1 {* I& P l1 B6 X1 p7 i
BCNN的整体结构比较简单:(1)输入层;(2)卷积层,因为采用了反卷积的形式,所以在size上会增加;8 m0 \5 h6 e: u* w& C# b C" n
6 |, F7 B& |! w- t
(3)池化层,采用了两种池化模式,在模型开始阶段采用的是local平均池化,在最后句子向量的抽取时采用了global平均池化;(4)预测层,句子向量拼接后采用LR得到最后的匹配得分。6 M& x- t' a6 r/ p, B
1 S* J7 ^$ _3 y ABCNN共包括三种变形,下面依次介绍。7 @2 I2 C% {; n
' m% O+ b0 }0 |# x' n5 | 6.2 ABCNN; R: w; l4 Z- z" {
4 y3 `' ]( h4 [& i1 d& w5 E9 k* M
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 ]3 g$ |) U4 H5 g" ?) |
ij
: S) Z5 G$ K# Y1 y, S N* G |; T
2 Z* ?; _0 ]0 J9 i0 F0 D = # I: V1 E# v, F+ y* O" v# R* ]
1+∣x $ [+ u5 f- o" i1 V
i* d# d h" l7 c3 T0 b
( P& c8 D& Q$ L# F6 t −y # Z. G1 t/ J6 V M3 ]0 c
j9 t; n6 N+ k! F0 c. d. [
/ {: V5 y5 X1 g1 l; i" c6 j ?* S
∣8 y* M ^2 @% C2 S6 Q/ ^
1
f- `6 c$ q3 U# L. I
$ N3 s( Q+ ]0 j, f# y$ k; K! P! ^ ,然后分别乘以可学习的权重矩阵 W 0 W_0 W / |7 K$ t$ Z6 [. @& j! c; \
0
, F6 s0 e3 J& I
) t( q3 t. _% H7 F0 H, o# j. x 和 W 1 W_1 W
& R3 |# g! V3 P' k& X: J' k 1
4 n# w% k; K1 F% f* o7 [5 g$ Y+ I 8 M, i, @6 r) `
得到attetion feature map。" C# I' `3 c$ j' c6 H( v
+ {; E) Z6 B7 H! \+ U' Y: K8 s
6.3 ABCNN-23 X+ z0 `- a! R- M( n! _# u
- _* f3 u' S# j2 M5 ]$ A ABCNN-2将Attention机制作用于word embedding层后的反卷积层的输出结果,其中注意力矩阵的计算原理与ABCNN-1一致。然后将注意力矩阵沿着row和col的方向分别求和,分别代表着各文本token的attention socre;接着将反卷积层的输出结果与attention socre进行加权平均池化,得到与输入层相同shape的特征图。
: E( n0 z- W! b: k3 O. h2 S
8 ?! j7 F2 h- P: V0 X! B% H' U 6.4 ABCNN-34 P) O) \3 P5 c1 \' ?1 D- k
) u% j6 g3 l; u ABCNN-3的基本模块可视为ABCNN-1和ABCNN-2的堆叠,即在嵌入层和卷积层上面都引入了attention的机制用来增强对token向量的表示。
0 C$ k- D9 |# t 2 E7 Z: t4 G P
7. ESIM
' t/ x. _- D1 v; z8 R q( K ESIM模型基于NLI任务给出了一种强有力的交互型匹配方法。其采用了BiLSTM和Tree-LSTM分别对文本序列和文本解析树进行编码,其亮点在于:* N+ D& y$ K, @ d
0 u. x+ G4 B9 H
(1)匹配层定义了cross-attention得到各token的向量表示与原token向量间的详细交互关系,即采用 [ a ˉ , a ^ , a ˉ − a ^ , a ˉ ∗ a ^ ] [\bar a, \hat a,\bar a-\hat a,\bar a* \hat a] [ 6 v# B. T+ {+ }) W3 a+ B8 b$ n
a
( m2 r) i0 c v- w# ^" i ˉ! m% V" U$ m! @9 a: X5 D$ ]
,
% G$ c" l% v) ~; m a
1 F4 r; |; m2 R s+ i0 W. B6 U ^
$ h; I6 c _- S6 g& P& W! ` ,
" Q. k" V6 U) C/ z a
5 c. t4 j; ]+ N1 }# z ˉ$ d; l& t) V% T8 ~) r0 h$ I
−
2 t; t7 p$ D: Q* y a% v7 i% m# o5 a2 C
^; ~8 h' h, w$ u6 H
, 3 Y! p' r5 _8 A: |- z0 _
a
7 x; W% m! @3 t* Y! d ˉ& N, j1 `% a. z7 _
∗ , o& }) b+ Q5 K0 k; G" [
a
: o/ {, e0 _5 \# x; W* B' o ^4 J7 Z7 h$ a: t3 R8 B8 i4 ~
]作为最终文本token的向量表示,这也成为后续文本匹配模型的惯用做法。$ a- m$ X5 Z0 R- n* T0 S6 _
# @7 ~9 e p0 `' h, m e& Q
(2)聚合层通过BiLSTM得到各文本token的编码,从而进一步增强了文本序列的信息传递;6 ~$ ~* Z+ p7 C0 I1 \. f
5 q( F0 f. d K+ s
(3)预测层通过拼接各文本token编码的max-pooling和mean-pooling结果,再经过MPL进行匹配预测。
& W5 P" \3 T4 k; B 1 k1 K( z6 n! q" E6 k7 c$ h
U9 }$ Z" D# \1 I9 j' l, d # D& Z$ J* A6 `. y
8. Bimpm* l, K) _+ t7 [2 y$ ?6 D5 | f
Bimpm可视为对之前各类交互型文本匹配模型的一次总结。' n9 H% p: t @! D) o
+ R: @' H6 T& c 该模型在各层的具体做法总结如下:5 R3 u* \9 h% B) \: q
: {5 O$ v$ o8 f$ M7 i( N6 i, o6 F (1)编码层采用BiLSTM得到每个token隐层的向量表示; M. [6 P! u7 N; a8 B
$ [' i7 }0 \% ?# x1 P( m$ Z+ K5 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 2 W0 u" _- \+ f* N7 S# q* t
k% ]9 M$ W) b% q8 e4 L9 Z
: t; K2 y$ A! U3 X
=cosine(W & a* b* u9 A% P
k
# y) @5 }; e, z* i3 y* n3 C
2 T9 I$ I' [/ m# l ∗v
1 U9 h$ o+ G5 I3 x 11 p$ v" `5 K1 |# s, t9 {
7 B) c. \5 U# K8 r ,W 2 J, m2 D0 e, c; g4 P
k5 ~2 q4 b# t' T
9 S4 f& K8 `; \ B
∗v 1 Y7 N7 T' r) x' ] p3 S$ R
2
' `/ B& h R; H& T8 _! M
0 b7 Z; w! m- F1 k )的方式可以得到两个文本的任意token pair之间在第k个view下的匹配关系,至于 v 1 v_1 v
8 C8 b6 V7 i; l# j 1& z6 ]/ c' i! n& P
, v2 B' q' y6 a* O& J0 b' G8 p" q 和 v 2 v_2 v
: C3 _- L0 t9 I% y( t$ ]. I$ i 2
; a; |- m5 k7 f+ G; a 9 s6 e: g: F# m; N" s
如何取,文章提供了4种策略:
, z/ _3 q+ v0 ~. g+ y$ ]' U 4 a; s; K" y9 u2 C& [! w
策略一:其中一个句子取各token隐层的向量表示,另一个句子采用隐层最后时间步处的输出;- t. U9 C% [9 E& f
策略二:其中一个句子取各token隐层的向量表示,另一个句子采用隐层各时间步输出与之匹配后取再取Max-Pooling值;
" r; M" e9 N+ y8 s. D, P" k& e 策略三:其中一个句子取各token隐层的向量表示,另一个句子采用cross-attentive后得到的加权句子向量;
4 O# i& A; j$ K% a3 B 策略四:其中一个句子取各token隐层的向量表示,另一个句子采用cross-attentive后attention score最高处token的向量作为句子向量。
2 R7 T; N8 k; S4 v3 M 这四种策略的区别在于对句子向量的计算不同。
5 O7 \* e* F! ?6 o8 H 8 O5 _ |: }) w: Q+ B! N+ w
& Q. n! S% u3 L+ `* U (3)聚合层,首先对上面各种策略得到的输出层再通过一层BiLSTM层,然后将各策略下最后时间步的输出进行拼接,得到最后的聚合向量;/ `& e. f+ p. U' k e% n( G& N
& S* \3 I4 w' a! w
(4)预测层:两层MPL+softmax
4 N' y2 f0 e/ q! f
. \% a5 r$ L- V w; {* } 9. HCAN$ I" Q4 `9 m( d6 s
HCAN是除Bert类模型外在文本匹配领域表现最为优异的深度模型之一,其采用了较为复杂的模型结构。
* Z$ S) x3 |6 x% g0 T+ n9 o
- a- l9 z, d; U0 a9 d$ { 针对于信息抽取问题,文章首先分析了相关性匹配和语义匹配的差异:& I P: j# d1 J7 l" E b# C, r+ H
3 P2 ^5 A+ ?2 c4 K R, v5 f8 ~ (1)相关性匹配主要关注于关键词的对比,因此更关注低层级词法、语法结构层面的匹配性;
# \7 u- L9 T8 a
8 m, \( k% }8 X! d# K (2)语义匹配代表着文本的平均意义,因此其关注更高、更丑想的语义层面的匹配性。
/ F5 {1 {' q( M/ M$ p2 D0 l% _; N & I% Z! K: i) f9 |2 N, y
该模型首先采用三类混合的编码器对query和context进行编码:
' X0 C+ B+ Y8 J9 v# G
`! f3 M7 B( {$ i (1)深层相同卷积核大小的CNN编码器;
9 k5 F& B% N$ \/ [% o ?2 b7 @4 R+ y
( G: U! Q8 q3 E$ Y; e2 K, j (2)不同卷积核大小的CNN编码器的并行编码;
5 ^! O" f/ p: K7 M
1 ~$ F# ?" k0 k) [ (3)沿着时序方向的stacked BiLSTM编码;
- x% C( Z' }+ U: j2 W6 o) I" G/ N, Y % P9 T1 S2 n' E$ t9 F
对于前两者,通过控制卷积核的大小可以更好的捕捉词法和句法特征,即符合相关性匹配的目的;而对于后者,其能表征更长距离的文本意义,满足语义匹配的目的。( ?. |: W8 v! z E: |
6 C& w$ @5 |2 V B7 V" c
在这三类编码器的编码结果基础上,模型分别进行了相关性匹配和语义匹配操作。其中相关性匹配主要采用各phrase间内积+max pooling/mean pooling的方式获取相关性特征,并通过IDF指进行各phrase的权重调整。而在语义匹配中,模型采用了精心设计的co-attention机制,并最终通过BiLSTM层输出结果。( d6 c# M" H- o; K) }1 x5 b _
8 c7 a; k7 Y5 M- z4 d* s: V$ e
最后的预测层仍采用MPL+softmax进行预测。3 F( }! v" b/ U1 V0 h
& ^( L$ I3 Y; ~" m, c( \ 10. 小结
" R+ t; n R. F; |$ E1 { 交互型语言匹配模型由于引入各种花式attention,其模型的精细度和复杂度普遍强于表示型语言模型。交互型语言匹配模型通过尽早让文本进行交互(可以发生在Embedding和/或Encoding之后)实现了词法、句法层面信息的匹配,因此其效果也普遍较表示型语言模型更好。
* c3 ]* |5 B' J; e ' R' ]/ ^3 Q' ~+ r3 L; Y9 G
【Reference】
, Z5 Y. O; T5 [$ }' s% n) i* r
. U& s E" i3 \5 k, x" p ARC-II: Convolutional Neural Network Architectures for Matching Natural Language Sentences3 b% c( D: S$ N+ D& t2 Q% p3 q
- ~6 f- @( ]' q% J3 d, v
PairCNN: Learning to Rank Short Text Pairs with Convolutional Deep Neural Networks
/ G( y# l2 e1 q0 F
( h3 G0 ^5 ?1 T4 U' P. g2 m MatchPyramid: Text Matching as Image Recognition" c8 J+ `' K: |7 o
! N; P; n. @, S9 K! t5 y; j
DecAtt: A Decomposable Attention Model for Natural Language Inference
" I! v' T9 i: t# w5 H
& L6 |# S: l& G2 I CompAgg: A Compare-Aggregate Model for Matching Text Sequences0 r) T1 F9 n( _3 B9 ?6 m- x
* J, D( K$ V( ?8 F J5 l; u: ]
ABCNN: ABCNN: Attention-Based Convolutional Neural Network# X! p w5 u; Z8 k% j2 q4 V
for Modeling Sentence Pairs7 | s! v/ A0 a
! B5 g# [) R" A# f8 B ESIM: Enhanced LSTM for Natural Language Inference, j9 t8 ~0 Y$ H2 n8 ~% i1 ]
7 m. K3 K4 S! h4 Y Bimpm: Bilateral Multi-Perspective Matching for Natural Language Sentences4 X( r `! s% o) F- ^8 Q
. z ^! W6 s: l3 P0 ]
HCAN: Bridging the Gap Between Relevance Matching and Semantic Matching s A7 h* ^ N: o0 Z1 x( \0 b4 U
for Short Text Similarity Modeling# c, o+ t( R4 Q
9 ^5 u& h% l& s1 P/ C) U
文本匹配相关方向打卡点总结(数据,场景,论文,开源工具)
" x5 r; G+ b+ ^8 K r
2 G$ J5 c# W7 w# g% P 谈谈文本匹配和多轮检索8 D; J( ~# t' q. \: J3 y9 [
7 }) h7 L% z* _, A7 p; W* I! d
贝壳找房【深度语义匹配模型 】原理篇一:表示型
5 C& E# E% i* \7 |$ y) d ————————————————
, R# x" e/ y8 ~, Q 版权声明:本文为CSDN博主「guofei_fly」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。2 I$ W+ c6 J4 v/ J% B
原文链接:https://blog.csdn.net/guofei_fly/article/details/1075012761 O+ f; o9 W8 u, |" c
, {8 m, c2 W& k
4 D: E, V; b4 N( u
zan