- 在线时间
- 1630 小时
- 最后登录
- 2024-1-29
- 注册时间
- 2017-5-16
- 听众数
- 82
- 收听数
- 1
- 能力
- 120 分
- 体力
- 564644 点
- 威望
- 12 点
- 阅读权限
- 255
- 积分
- 174616
- 相册
- 1
- 日志
- 0
- 记录
- 0
- 帖子
- 5313
- 主题
- 5273
- 精华
- 3
- 分享
- 0
- 好友
- 163
TA的每日心情 | 开心 2021-8-11 17:59 |
|---|
签到天数: 17 天 [LV.4]偶尔看看III 网络挑战赛参赛者 网络挑战赛参赛者 - 自我介绍
- 本人女,毕业于内蒙古科技大学,担任文职专业,毕业专业英语。
 群组: 2018美赛大象算法课程 群组: 2018美赛护航培训课程 群组: 2019年 数学中国站长建 群组: 2019年数据分析师课程 群组: 2018年大象老师国赛优 |
【文本匹配】交互型模型7 ~8 [) s! Y3 Z- f" t9 X; P
- \. O& T _6 [4 F9 E; K: s表示型的文本匹配模型存在两大问题:(1)对各文本抽取的仅仅是最后的语义向量,其中的信息损失难以衡量;(2)缺乏对文本pair间词法、句法信息的比较% a0 f( a) O2 U' d
7 o+ ~% } {: n0 I: f; D而交互型的文本匹配模型通过尽早在文本pair间进行信息交互,能够改善上述问题。
+ Z: I! e: e! l$ c
$ e' {. [' S' t! {9 `基于交互的匹配模型的基本结构包括:% v$ n/ X' _0 N7 e: x& u
2 C$ W4 n( T: \, @ `5 m9 D: g% Z
(1)嵌入层,即文本细粒度的嵌入表示;1 X* `7 Y$ r" u1 u* W; I. \* i" Z( K
1 D7 X' b, {* H
(2)编码层,在嵌入表示的基础上进一步编码;
5 O+ F l* W h" q# @# p) h* _/ [8 U i$ [3 X- y
(3)匹配层:将文本对的编码层输出进行交互、对比,得到各文本强化后的向量表征,或者直接得到统一的向量表征;
0 C( _5 G" l0 @9 ?0 Q) ?. y- o9 A% k" Q* A0 x( }
(4)融合层:对匹配层输出向量进一步压缩、融合;( E$ A4 p1 I) A! M
# n6 _( v" F7 Z) \3 \6 X(5)预测层:基于文本对融合后的向量进行文本关系的预测。
) ?& u; D4 f2 }. Z5 h5 }
1 V9 r# O" Y) [2 v. ^6 ?( B. H; s% v7 i; w* o, G
2 [# E4 M& [$ k1. ARC-II8 E* p; \5 `$ L' a4 f/ T% {# E
ARC-II模型是和表示型模型ARC-I模型在同一篇论文中提出的姊妹模型,采用pair-wise ranking loss的目标函数。$ p& e3 S% R: ~! q* u2 Q
+ H I# K; ?, r" V# X其核心结构为匹配层的设计:
9 h8 b4 h, x3 j/ V$ ?3 G; {. ]9 ~9 O1 V
(1)对文本pair的n-gram Embedding结果进行拼接,然后利用1-D CNN得到文本S_X中任一token i和文本S_Y中任一token j的交互张量元素M_{ij}。该操作既然考虑了n-gram滑动窗口对于local信息的捕捉,也通过拼接实现了文本pair间低层级的交互。1 b8 N4 I, d) n. V: J
7 _9 D0 `( a% \) G(2)对交互张量进行堆叠的global max-pooling和2D-CNN操作,从而扩大感受野。& B1 j) t6 I# W/ \9 K
H2 W1 W& Y* o1 o% P6 C
2. PairCNN+ [8 C* a0 {# _3 W: h% w) {
PairCNN并没有选择在Embedding后直接进行query-doc间的交互,而是首先通过TextCNN的方式分别得到query和doc的向量表征,然后通过一个中间Matrix对query和doc向量进行交互得到pair的相似度向量,然后将query的向量表征、doc的向量表征、相似度向量以及其它的特征向量进行拼接,最后经过两层的MPL得到最后的二分类向量。" w: o1 f; q" l, w/ @" g- s! E
5 C9 r& p1 n1 Q1 }* O
PairCNN的模型架构中的亮点在于各View向量的拼接,既能利用原始的语义向量,还能够很便捷的融入外部特征。: E3 [9 e: n% x( C
( k0 g' G+ s: Z" L! ~$ k
3. MatchPyramid
# q# V; f7 }, j. s+ z; t8 f无论是ARC-II中的n-gram拼接+1D conv还是Pair-CNN中的中间Matrix虽然均通过运算最终达到了信息交互的作用,但其定义还不够显式和明确,MatchPyramid借鉴图像卷积网络的思想,更加显式的定义了细粒度交互的过程。
! ^! l* n- X. [* y0 I& mMatchPyramid通过两文本各token embedding间的直接交互构造出匹配矩阵,然后将其视为图片进行2D卷积和2D池化,最后Flatten接MLP计算得匹配分数。本文共提出了三种匹配矩阵的构造方式:5 F, Z" r1 [- r/ L5 T1 f# V! V! J
% T# w8 V0 S6 S, S6 u0 {(1)Indicator:0-1型,即一样的token取1,否则取0;这种做法无法涵盖同义多词的情况;
/ I( u8 R# f; a" t% u$ h9 ]. M) m6 R- ]6 i w+ U8 P
(2)Cosine:即词向量的夹角余弦;7 t2 R' f2 B' }( l! l' A$ ^
5 C1 o0 h( w) n7 X9 F4 P(3)Dot Product:即词向量的内积
4 k7 S) Y# {0 u5 B9 ]9 j4 p" {" N
7 k: I: S/ x; }: M" D% A5 N3 s此外值得注意的是因为各个文本pair中句子长度的不一致,本文并没有采用padding到max-lenght的惯用做法,而是采用了更灵活的动态池化层,以保证MPL层参数个数的固定。
W- u' n/ ^( O& a. \4 E+ f4 s
3 }1 ]4 e; a& G: L% r. {4. DecAtt9 ^, g2 y, H1 T) C
DecAtt将注意力机制引入到交互型文本匹配模型中,从而得到各token信息交互后增强后的向量表征。8 ~7 t Z" X: P* r) a( M p
8 ~- j8 }" X6 t模型被概括为如下层级模块:6 Z! a$ |. z. p/ P
9 j S! ] n8 X& w$ v: R3 D& 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。: ^. E( b. K; ^& ~/ X- j; z
; I: F3 f# O4 V( D* y+ d+ P
(2)Compare层:将前序Attend层计算得到的最终embedding,喂入一个全连接层进行向量维度的压缩。
( z$ ]( ~/ v, E# T2 a2 a4 k% Y: y' L& k
(3)Aggregate层:将每个文本各token处压缩后的向量进行简单的求和,再拼接起来通过MPL得到最后的匹配得分。5 J4 \/ W8 ^" S& H5 S0 ?
4 j! M; `6 C) D) C U$ f! b' K% B! D
5. CompAgg$ z+ T+ w) i7 t7 X# m' R. P
CompAgg详细对比了在文本间cross-attention得到的各token向量表征与原始token向量进行compare的各种方案。) H0 v# W7 s5 G! ~- l; T
8 Q( \3 Q, _1 m& [+ _; m
该模型的主要结构包括:
* d; R0 S5 N; Z1 b+ g
+ f$ M% ^" K: J(1)reprocessing层:采用类似于LSTM/GRU的神经网络得到token的深层表示(图中的\bar a_i);
7 S! t& A# m' d. J$ {- t1 `, M" B1 r" i$ T4 ]2 ?
(2)Attention层:利用软注意力机制计算文本间的cross-attention(与DecAtt相同),从而得到各token处交互后的向量表示(图中的h_i);
* J+ f; [) p7 f9 x$ h$ V3 l9 ^$ T/ @1 U3 d" e# v
(3)Comparison层:通过各种网络结构或计算将\bar a_i和h_i计算求得各token的最终表征。
2 V6 f7 u6 n2 i( @% r) @
$ f: h# ~% y, q(4)Aggregation层:利用CNN网络对Comparison层的输出进行计算,得到最后的匹配得分。) f% | d/ l, H3 t- ?5 h
" w5 G9 |6 N& h, ~1 q其中Comparison层的构造方式包括:7 z5 g* }: w/ |& W% y4 {/ a* l
O/ s, J9 } Y9 n
(1)矩阵乘法,类似于Pair-CNN中的中间Matrix
: m1 c6 `: i- ~" F, j
3 e! _' X8 ?; P* m(2)前向神经网络,即将\bar a_i和h_i进行拼接,然后利用输入FFN;8 y- e& \ ?& r: {8 |! P
: e+ |! q& R5 d6 S* o/ S(3)分别计算cosine和欧式距离,然后拼接;
: a& D! y/ m/ H) ~/ H3 O" H4 Q
(4)各维度进行减法;
* Z! X! g; B) q# M; L9 ^$ `. n% F: l* E1 X3 } t
(5)各维度进行乘法;
" E$ g4 g: G2 u9 D$ a h0 C9 u4 k. A2 Q; p! q
(6)各维度进行减法和乘法,然后再接一个前向网络。1 i2 t9 C$ J& E# \0 V3 o0 ?
, D+ M/ T( M. }
6. ABCNN) ^. A# i2 J' O4 m
ABCNN是将Attention机制作用于BCNN架构的文本匹配模型。. i8 u& [- g$ v7 O8 g1 f
6 ~2 q) B8 U5 a4 X5 f1 B/ y6.1 BCNN
7 l7 f) p+ k% v( n G3 R+ ?. l首先简单介绍下BCNN架构:/ M; K3 B9 k! u( x9 z1 h
+ W5 P2 ~7 ?3 I$ Y! uBCNN的整体结构比较简单:(1)输入层;(2)卷积层,因为采用了反卷积的形式,所以在size上会增加;
* ~; J# R$ A/ i) k0 @( r; D! x6 ]1 i/ k) J& N5 i
(3)池化层,采用了两种池化模式,在模型开始阶段采用的是local平均池化,在最后句子向量的抽取时采用了global平均池化;(4)预测层,句子向量拼接后采用LR得到最后的匹配得分。 a3 b9 X n) O" p0 U, D, U) \
' q' a9 `% ?0 J3 H. VABCNN共包括三种变形,下面依次介绍。/ b+ z$ {% r# i9 Z
7 z- Z: Q) |$ c2 u5 a' Y9 v" H8 T, T
6.2 ABCNN4 `1 H" W# M, t: b
. g3 j; H3 o4 H6 S6 S5 t
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
$ q+ H2 C7 f: f, I+ Oij8 h$ K) P/ K& p5 E; V
B- ]4 X( r i \8 ]# X1 Z
=
7 g# G. A' g' D1+∣x
: j9 n' b1 f! D' ]5 H ti
6 f+ ^+ c$ v4 _
. h7 f( l8 j/ H, @+ V- i. { −y
0 G# `# [7 U' t `+ zj
% j9 x2 B, N. L! Z" Q, b ( Y9 s3 M* Z5 c3 F; r( `9 Z! z5 Y
∣5 g7 s- G+ B2 d2 h7 U
1: X$ [8 V; z& S1 R5 c
* x# V/ S4 _# s9 `+ F
,然后分别乘以可学习的权重矩阵 W 0 W_0 W ) F( r$ I& D! C- `7 `8 w$ I/ N6 i, S
0& Q( F1 v$ ]( T! N0 y3 N3 B5 S; V) o
7 J. V3 |1 ?, Z! h7 f 和 W 1 W_1 W 6 i$ n+ M Z% j, |6 T$ }: ` o
1
; u* F& O; U5 { * Z% T5 |8 T1 Y
得到attetion feature map。
2 `# X0 i N$ G8 ]
9 n( ^2 @+ b6 ^8 I6.3 ABCNN-21 {9 w! r& x4 u# r2 M, K' W: C
# N% ~' U7 Z/ i6 }( @
ABCNN-2将Attention机制作用于word embedding层后的反卷积层的输出结果,其中注意力矩阵的计算原理与ABCNN-1一致。然后将注意力矩阵沿着row和col的方向分别求和,分别代表着各文本token的attention socre;接着将反卷积层的输出结果与attention socre进行加权平均池化,得到与输入层相同shape的特征图。
; o& o5 ~$ V7 X5 ` X5 p# ^$ c4 |. z; ?! e" r& Z# I- i, k1 b1 ]
6.4 ABCNN-3
* F# }$ s {; `( t3 ^2 w. F$ e
ABCNN-3的基本模块可视为ABCNN-1和ABCNN-2的堆叠,即在嵌入层和卷积层上面都引入了attention的机制用来增强对token向量的表示。
( e- m( @* o3 M: B" C. [
/ ^& w) y& B, Z/ E7. ESIM
% } c% }4 N' }8 h: P9 z7 K) BESIM模型基于NLI任务给出了一种强有力的交互型匹配方法。其采用了BiLSTM和Tree-LSTM分别对文本序列和文本解析树进行编码,其亮点在于:
+ W- M0 c5 ^$ g3 Q/ t
+ i% V/ o3 j8 m. h( F$ U(1)匹配层定义了cross-attention得到各token的向量表示与原token向量间的详细交互关系,即采用 [ a ˉ , a ^ , a ˉ − a ^ , a ˉ ∗ a ^ ] [\bar a, \hat a,\bar a-\hat a,\bar a* \hat a] [
: v J8 V+ Q* v5 x3 Ja& N% h* N. {) C
ˉ: w; O4 [! e/ K* s/ ?
,
5 M1 F( c8 z( b" |6 Ba
- Q- {$ S7 Z8 S7 ]9 S; a^
% ]# A0 ~3 E. ?# j! f) n/ J ,
6 r( P f1 Z7 `& K Ua: ]) V/ D7 h2 _
ˉ* B( B; l: k0 R `
− ) ?9 V* K1 d) r& H
a
! \) E7 d9 c7 F" K. ]0 t^
+ q9 W! N' \4 \; H , % s* t) h* O* O( H t* w
a
y/ S0 X1 G1 `5 [6 wˉ/ h2 k. l% f [: L& z# W4 I
∗ . C1 {8 y9 G' r2 f* k. Y! [% c
a% Z& `8 E$ d$ f: x8 k9 L* A
^. w( c. N! a$ B
]作为最终文本token的向量表示,这也成为后续文本匹配模型的惯用做法。
) N4 P1 g7 \5 r/ Q1 \; z6 o0 k8 s, l' L' P7 m% i1 i8 F
(2)聚合层通过BiLSTM得到各文本token的编码,从而进一步增强了文本序列的信息传递;3 ^! A2 I* `; _9 ]
n& s1 ~! V V: I
(3)预测层通过拼接各文本token编码的max-pooling和mean-pooling结果,再经过MPL进行匹配预测。; B( x g6 [; C& l- U4 `
2 f" a" @" ^! z- _5 G7 W% t5 R9 n3 [2 q W) T2 }' d
, i9 x# v$ g* @$ }! f+ U; W8. Bimpm
/ Y. G7 N, t. G8 o$ ~0 P# `. KBimpm可视为对之前各类交互型文本匹配模型的一次总结。
$ Q6 u0 J. A. S+ N+ K( \6 d& a1 |
; a1 `/ c, a% e该模型在各层的具体做法总结如下:
* g1 ?) A- M# p5 H, a4 B5 [* G, @$ ]6 h3 q& Z/ [# n
(1)编码层采用BiLSTM得到每个token隐层的向量表示;
& E2 g8 U6 ^0 w C/ W* u7 u) x# k# l5 S% u! 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
! y7 d+ K! A9 `, w. u3 |& r0 T5 |k4 z5 K3 X) `* y) N7 b
7 V4 B: F N9 i9 r, t =cosine(W i1 R# x& d( I+ h: T! { o8 t
k
2 o7 K. y7 ]& M/ v+ t
$ ]. @9 @6 I7 y* F5 L ∗v 2 p7 n3 K: f" E* l5 M
1
. B% I" t9 V, n2 v) a0 ^ 2 H a' P/ j5 r" K4 H
,W
8 [9 n# @+ F, U4 \4 Kk5 M; w+ _; q, ?
- g. V; G+ ~5 G ∗v
' s3 b& p' S; h1 `& U( p1 d2. I5 U X6 I3 i- C2 g5 x7 u ^
9 m. F [/ E! s2 ] X )的方式可以得到两个文本的任意token pair之间在第k个view下的匹配关系,至于 v 1 v_1 v 8 ^ v) ]% U% y( o2 J( k8 D. c
1" v' t; q' w3 X
6 P0 P H0 W0 j; q1 \
和 v 2 v_2 v 2 m/ h. g; Z) M4 X/ k5 m3 o( W; N9 N$ N
20 `, q4 H1 \+ }) n' h+ h7 o9 f
& |( ^* u2 p0 X$ t 如何取,文章提供了4种策略:' ~1 q! G+ G9 U
) D @, V5 Z" \7 L+ }策略一:其中一个句子取各token隐层的向量表示,另一个句子采用隐层最后时间步处的输出;8 B4 X: L" x+ K" w( [1 j+ N. m
策略二:其中一个句子取各token隐层的向量表示,另一个句子采用隐层各时间步输出与之匹配后取再取Max-Pooling值;5 D- q9 g+ P) N
策略三:其中一个句子取各token隐层的向量表示,另一个句子采用cross-attentive后得到的加权句子向量;5 W1 U4 [& h: P$ c% U
策略四:其中一个句子取各token隐层的向量表示,另一个句子采用cross-attentive后attention score最高处token的向量作为句子向量。
7 ^5 m! X% O4 C! G3 G3 d- H这四种策略的区别在于对句子向量的计算不同。
9 j5 w3 v# V6 i; G9 ~, r' B% o
) v# u/ [; v! v/ ?, b/ ~4 K6 g/ Z
! U7 S7 i/ G+ o(3)聚合层,首先对上面各种策略得到的输出层再通过一层BiLSTM层,然后将各策略下最后时间步的输出进行拼接,得到最后的聚合向量;4 r' i- A( z1 B* Y6 t5 O& k
" {/ J, a D4 M* a
(4)预测层:两层MPL+softmax: ^/ G# n3 A8 O5 M% M: W' a& t
+ i, Z! Z6 L, H: V. l$ F. [9. HCAN$ ^: h/ L9 ]$ `! ]9 A
HCAN是除Bert类模型外在文本匹配领域表现最为优异的深度模型之一,其采用了较为复杂的模型结构。, O( Z# `/ u, J4 @* b, k/ e
$ C# g+ t' Q! I' |4 l+ H针对于信息抽取问题,文章首先分析了相关性匹配和语义匹配的差异:& t$ A9 w: p- N" D, G& g
" M1 z) \" q& v/ V(1)相关性匹配主要关注于关键词的对比,因此更关注低层级词法、语法结构层面的匹配性;
% t6 z& x4 M( |' j0 J4 z) v( U m" g
(2)语义匹配代表着文本的平均意义,因此其关注更高、更丑想的语义层面的匹配性。
4 d% d& I4 Z, @+ j6 B/ k
) L# k" U" |, ?1 I) U. a/ I该模型首先采用三类混合的编码器对query和context进行编码:
% d3 ]% ^: |) Z5 J/ O& v w) p0 x0 M0 B/ {0 U
(1)深层相同卷积核大小的CNN编码器;5 F' B \: O* ?* C& p0 O
5 Y; V; I* l# B/ s- P(2)不同卷积核大小的CNN编码器的并行编码;7 ~5 Y, e8 v9 C4 W
. `3 ^4 \' }, U" K4 X(3)沿着时序方向的stacked BiLSTM编码;
3 v1 j# O, c" y! |
3 @, A/ o7 k1 {% ?4 Y: J1 p& H2 o8 h对于前两者,通过控制卷积核的大小可以更好的捕捉词法和句法特征,即符合相关性匹配的目的;而对于后者,其能表征更长距离的文本意义,满足语义匹配的目的。
* j; I0 y% K H% X0 A- p$ k( v* [" f! J$ F
在这三类编码器的编码结果基础上,模型分别进行了相关性匹配和语义匹配操作。其中相关性匹配主要采用各phrase间内积+max pooling/mean pooling的方式获取相关性特征,并通过IDF指进行各phrase的权重调整。而在语义匹配中,模型采用了精心设计的co-attention机制,并最终通过BiLSTM层输出结果。4 N0 [ z6 R* o1 R
( E* f5 C% _$ ` o- l
最后的预测层仍采用MPL+softmax进行预测。
" R W2 m4 [1 N) t8 n# P. B% u7 k, p' b# ?! q
10. 小结& V: @. x: [ i3 y
交互型语言匹配模型由于引入各种花式attention,其模型的精细度和复杂度普遍强于表示型语言模型。交互型语言匹配模型通过尽早让文本进行交互(可以发生在Embedding和/或Encoding之后)实现了词法、句法层面信息的匹配,因此其效果也普遍较表示型语言模型更好。
0 x$ U8 x7 U/ Z0 \! r' J, j
- ]3 W- u% Z& Y【Reference】# j7 O- [' C" v3 {( @
2 K5 O1 I1 C* Y9 K
ARC-II: Convolutional Neural Network Architectures for Matching Natural Language Sentences
; N- [6 c+ J3 R& ?, h1 q! L9 j3 G$ } O" t
PairCNN: Learning to Rank Short Text Pairs with Convolutional Deep Neural Networks
3 _1 S9 X9 O; S. F/ l0 J2 Q$ Y
" d2 _1 ^6 v+ B+ E4 JMatchPyramid: Text Matching as Image Recognition: ~3 \; J( C' B# a( ]
" t$ |, {/ z) F) q7 J' @& l5 ~( zDecAtt: A Decomposable Attention Model for Natural Language Inference- Z3 r! @8 V, a; Q1 m6 ]2 d
4 ]% c8 b8 B `" U$ _& `, N* OCompAgg: A Compare-Aggregate Model for Matching Text Sequences
! ?+ f* [0 N. W5 n6 {1 }* n+ |" ?- S. E; J1 k; q
ABCNN: ABCNN: Attention-Based Convolutional Neural Network
) _6 E5 C, A5 ]' \2 q# ufor Modeling Sentence Pairs
9 t y% w5 D1 A f
' R) D* M7 S6 R8 x9 Y! OESIM: Enhanced LSTM for Natural Language Inference
9 V! Q& ]% u5 t2 t/ g% A" C1 e# x1 u
Bimpm: Bilateral Multi-Perspective Matching for Natural Language Sentences8 T$ z) [8 h5 f, \
& H: j' E1 _( S. s. X: o
HCAN: Bridging the Gap Between Relevance Matching and Semantic Matching9 r$ v$ b; w O! l
for Short Text Similarity Modeling
0 ]1 g, K+ Y5 r a, {( z9 |! j _% V4 }7 Y+ c0 c9 h( z
文本匹配相关方向打卡点总结(数据,场景,论文,开源工具)' G) M# }, e2 R a5 _" v) u
% G1 e: w4 F- k4 y
谈谈文本匹配和多轮检索# f7 @4 X7 q7 i; L: M( T
0 V5 ~& x% a( ~% V
贝壳找房【深度语义匹配模型 】原理篇一:表示型" D; R! N: U% I$ `
————————————————' u2 g8 t5 D5 D, Y
版权声明:本文为CSDN博主「guofei_fly」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。 i" p9 B3 W5 @5 C' k5 I+ @9 A
原文链接:https://blog.csdn.net/guofei_fly/article/details/1075012768 k2 }; e+ E) _& f. v/ V8 s' R
5 ?4 |" K/ }2 h1 B, i
, J& J9 r. B" j+ Z" [6 ` |
zan
|