- 在线时间
- 1630 小时
- 最后登录
- 2024-1-29
- 注册时间
- 2017-5-16
- 听众数
- 82
- 收听数
- 1
- 能力
- 120 分
- 体力
- 566784 点
- 威望
- 12 点
- 阅读权限
- 255
- 积分
- 175258
- 相册
- 1
- 日志
- 0
- 记录
- 0
- 帖子
- 5313
- 主题
- 5273
- 精华
- 3
- 分享
- 0
- 好友
- 163
TA的每日心情 | 开心 2021-8-11 17:59 |
|---|
签到天数: 17 天 [LV.4]偶尔看看III 网络挑战赛参赛者 网络挑战赛参赛者 - 自我介绍
- 本人女,毕业于内蒙古科技大学,担任文职专业,毕业专业英语。
 群组: 2018美赛大象算法课程 群组: 2018美赛护航培训课程 群组: 2019年 数学中国站长建 群组: 2019年数据分析师课程 群组: 2018年大象老师国赛优 |
【文本匹配】交互型模型. f! p( _+ a& E
+ o& V4 o* E5 g1 O, F4 @; q表示型的文本匹配模型存在两大问题:(1)对各文本抽取的仅仅是最后的语义向量,其中的信息损失难以衡量;(2)缺乏对文本pair间词法、句法信息的比较7 v/ }0 I$ a( o _0 e }
+ n- r. t- \$ V& d而交互型的文本匹配模型通过尽早在文本pair间进行信息交互,能够改善上述问题。
& B' O" s; V. s; w/ g0 y
! F) d- \$ a {, N6 _基于交互的匹配模型的基本结构包括:6 @% i) t' ]6 y5 u6 x
/ Q0 v# M2 \9 Z(1)嵌入层,即文本细粒度的嵌入表示;
1 f: p q' k5 q% c s) @
8 L1 x8 U+ p; s; O(2)编码层,在嵌入表示的基础上进一步编码;& U# v$ j3 X* A& C, o- n
# {8 f# J5 l c- q" [3 Y
(3)匹配层:将文本对的编码层输出进行交互、对比,得到各文本强化后的向量表征,或者直接得到统一的向量表征;
& G- E7 ]" o; T+ I8 `1 b6 E# E- T1 P& G+ z3 S2 G8 n1 U# I% `: k
(4)融合层:对匹配层输出向量进一步压缩、融合;
) _4 [: P7 c: G; E0 |1 i# Y4 @
- B. Q' `# B4 g1 N% x( [(5)预测层:基于文本对融合后的向量进行文本关系的预测。
; u8 w3 g7 d$ P, V# w; c6 g6 }" g+ y5 \
5 i+ V/ }3 N3 M& E! H' i/ U6 w& s4 R# H
1. ARC-II
$ U$ U' \$ K$ |; u! W" lARC-II模型是和表示型模型ARC-I模型在同一篇论文中提出的姊妹模型,采用pair-wise ranking loss的目标函数。7 i& T! P4 a: k7 {$ y% r+ y, @
1 E4 \; d4 W8 y& b
其核心结构为匹配层的设计:$ A8 N5 |& [ J( {* q, y
# [) I3 \3 Y7 f0 [! m
(1)对文本pair的n-gram Embedding结果进行拼接,然后利用1-D CNN得到文本S_X中任一token i和文本S_Y中任一token j的交互张量元素M_{ij}。该操作既然考虑了n-gram滑动窗口对于local信息的捕捉,也通过拼接实现了文本pair间低层级的交互。; u' b/ x1 C9 f, f
# x) H! U/ S: G(2)对交互张量进行堆叠的global max-pooling和2D-CNN操作,从而扩大感受野。' b E, x/ ?* C3 V) L
5 y" U, N! C, [9 w+ s, S2. PairCNN; J8 v- A# Z- G4 a+ r4 p
PairCNN并没有选择在Embedding后直接进行query-doc间的交互,而是首先通过TextCNN的方式分别得到query和doc的向量表征,然后通过一个中间Matrix对query和doc向量进行交互得到pair的相似度向量,然后将query的向量表征、doc的向量表征、相似度向量以及其它的特征向量进行拼接,最后经过两层的MPL得到最后的二分类向量。7 ~$ {+ ~' U7 C2 G% ?* U; Q, U
: S8 Q4 i9 l& s+ @% { J; E; ePairCNN的模型架构中的亮点在于各View向量的拼接,既能利用原始的语义向量,还能够很便捷的融入外部特征。
; m- V$ S- I" |9 v$ T I/ i6 C
$ d2 C6 E* ^7 C; C3. MatchPyramid" i; i6 d& W2 |4 D
无论是ARC-II中的n-gram拼接+1D conv还是Pair-CNN中的中间Matrix虽然均通过运算最终达到了信息交互的作用,但其定义还不够显式和明确,MatchPyramid借鉴图像卷积网络的思想,更加显式的定义了细粒度交互的过程。
/ L& Y$ m4 v( z9 ?9 y# F2 \( \MatchPyramid通过两文本各token embedding间的直接交互构造出匹配矩阵,然后将其视为图片进行2D卷积和2D池化,最后Flatten接MLP计算得匹配分数。本文共提出了三种匹配矩阵的构造方式:; L8 M0 i2 I/ N9 j8 O) v. h) ~
( T4 T( k; H1 Q9 s
(1)Indicator:0-1型,即一样的token取1,否则取0;这种做法无法涵盖同义多词的情况;! {/ U c" F, o6 O
- ~& v0 W6 v. s, e& B: Y
(2)Cosine:即词向量的夹角余弦;- U1 z# f2 N7 P4 q8 G
/ `+ ]' r' E i& z" @7 A+ ~. {: D(3)Dot Product:即词向量的内积
4 g: X$ t2 ~6 V) x
- u4 l' `( F; M B% S- E$ G+ I此外值得注意的是因为各个文本pair中句子长度的不一致,本文并没有采用padding到max-lenght的惯用做法,而是采用了更灵活的动态池化层,以保证MPL层参数个数的固定。 R" I" w6 [/ w* w3 ^
% f, d8 g5 Y: a# C. l
4. DecAtt
# R. C3 B9 L- n/ K4 F; JDecAtt将注意力机制引入到交互型文本匹配模型中,从而得到各token信息交互后增强后的向量表征。
1 i: X1 q% E# h/ {1 t# Y% L- c" m7 W2 \2 U+ z% Z& X8 R
模型被概括为如下层级模块:6 ^; |4 _ B8 `3 x
" Q( `+ k$ N: c: u* p& `6 k, V$ n! _* p(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。
2 ^, e* H- m/ V' f6 P& q {* p4 @/ Y a% r4 i
(2)Compare层:将前序Attend层计算得到的最终embedding,喂入一个全连接层进行向量维度的压缩。3 z) x5 U1 O, k6 e0 R
R! ^' n% b4 G$ V) p8 K$ y. i
(3)Aggregate层:将每个文本各token处压缩后的向量进行简单的求和,再拼接起来通过MPL得到最后的匹配得分。5 c% c/ q* e- L- o2 V; f
6 ?- [0 `& \! k; s5. CompAgg
\2 _1 o+ K* TCompAgg详细对比了在文本间cross-attention得到的各token向量表征与原始token向量进行compare的各种方案。
4 R' b! ^4 m8 O9 A& ]7 u, C0 `! K7 j$ F0 ~3 } Q2 ~8 c
该模型的主要结构包括:
8 X9 J E$ P" G1 s& d* l- G
0 B. H. s% K3 _7 b, b6 T(1)reprocessing层:采用类似于LSTM/GRU的神经网络得到token的深层表示(图中的\bar a_i);
$ P9 V$ B i& i1 u0 w5 O
) f/ n8 _+ A2 N/ n4 p( L: T1 Q* l(2)Attention层:利用软注意力机制计算文本间的cross-attention(与DecAtt相同),从而得到各token处交互后的向量表示(图中的h_i);1 E0 y1 Z/ p Z
7 u+ e& j+ |6 ]" S+ V8 e6 z
(3)Comparison层:通过各种网络结构或计算将\bar a_i和h_i计算求得各token的最终表征。
# ~( h4 o- t6 S: R w! y6 v+ N- i6 J G7 U
(4)Aggregation层:利用CNN网络对Comparison层的输出进行计算,得到最后的匹配得分。" T: y+ c, p e z
- A# z2 J/ y% _; [: |* H其中Comparison层的构造方式包括:1 B6 H. l: V' E( y2 g
5 B! p& L( Z- G4 C; [ P5 r
(1)矩阵乘法,类似于Pair-CNN中的中间Matrix
2 s! ]6 z2 i5 O- l' r5 g/ U B1 K, v' M% o8 G0 H
(2)前向神经网络,即将\bar a_i和h_i进行拼接,然后利用输入FFN;( t6 O! v4 w, V9 ]4 C: S! M" n
" i; @% o; P6 B6 {2 O# Z(3)分别计算cosine和欧式距离,然后拼接;
: s* ?6 s) o2 k: n% q" r* b2 m2 S8 n5 P4 _% Z4 }9 s
(4)各维度进行减法;
, A9 C d0 M* x! g# Y9 d# u7 v
1 J6 [" I' [0 P(5)各维度进行乘法;& W" T% c4 H7 ~
! n% S1 T- i" s, r5 k
(6)各维度进行减法和乘法,然后再接一个前向网络。: }$ I' _1 G9 ?0 m
( A8 }5 X1 k+ m* Y# M) j% [6. ABCNN
7 |. I2 M. S6 l2 ~" uABCNN是将Attention机制作用于BCNN架构的文本匹配模型。
6 @; w2 g! j/ o8 l$ y) f9 o5 n& t4 e; ~* B
6.1 BCNN
; P9 J# [+ i. ]2 x2 l5 d首先简单介绍下BCNN架构:
U/ d/ q. l' y' `$ N( c$ i: f9 w" v& l5 y# R( C. ^
BCNN的整体结构比较简单:(1)输入层;(2)卷积层,因为采用了反卷积的形式,所以在size上会增加;
8 W( x& o! N0 i+ y/ u( s" _. e3 K. P8 @9 ?
(3)池化层,采用了两种池化模式,在模型开始阶段采用的是local平均池化,在最后句子向量的抽取时采用了global平均池化;(4)预测层,句子向量拼接后采用LR得到最后的匹配得分。
8 Y, U* p: V; s {0 H4 M9 h* u; e: C4 C' j: o" C
ABCNN共包括三种变形,下面依次介绍。. C7 h B' V( f
% \& f. c9 T$ N, V% y. x6.2 ABCNN5 X0 D2 h$ P% W3 b; M
* M% g; ~) y5 e" D& mABCNN-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
) O6 t0 P! s- A. j+ z+ bij
* Z' Z3 V! j) _; m5 z+ D; B4 c 1 @6 T5 l+ z! R( _8 [6 F
= 7 s: W- |+ Q$ { }$ d3 A/ B* e
1+∣x 4 O+ l, S8 |. k; h4 e: j K
i
. r' S/ Z9 L, V& j- i; c" T
8 O- O3 a0 T6 n$ r7 E7 t$ v −y
7 o3 ] r6 k4 Z' [# {+ `j
" n; n) A2 j c2 p4 ^* Z
" T6 o% j& T8 m; S/ V) g, s% O ∣
) b) A" s5 N' h% P$ H18 m- \1 q- P6 ~' z! R
9 O+ N1 J: u3 O( q1 f0 F
,然后分别乘以可学习的权重矩阵 W 0 W_0 W
: p7 e- a9 O# [; D. c4 u0& o' K) n1 I: P
) E* g u# @3 N" t
和 W 1 W_1 W ; R* E7 Q/ K' G5 K3 I0 ~% k
1
4 W$ f0 k; z0 i& N, o* D; T 0 m9 L0 Z: j, e w
得到attetion feature map。& H6 Z3 |: Y6 o( G
! Z6 l' s( u6 b$ B6.3 ABCNN-2% W7 e! B) t [: _6 m B
1 n* U8 T& K0 b9 d4 u% MABCNN-2将Attention机制作用于word embedding层后的反卷积层的输出结果,其中注意力矩阵的计算原理与ABCNN-1一致。然后将注意力矩阵沿着row和col的方向分别求和,分别代表着各文本token的attention socre;接着将反卷积层的输出结果与attention socre进行加权平均池化,得到与输入层相同shape的特征图。
; L7 c: _/ ~! i: `% M0 }* F% H9 }( F c, l A
6.4 ABCNN-3: n I5 f4 Y& `0 o
c( Y" t( d+ T' WABCNN-3的基本模块可视为ABCNN-1和ABCNN-2的堆叠,即在嵌入层和卷积层上面都引入了attention的机制用来增强对token向量的表示。
# v& P X, `) G2 t% q7 \
4 w) k3 A' V4 w' z3 f7. ESIM6 ^& L" X, R( f
ESIM模型基于NLI任务给出了一种强有力的交互型匹配方法。其采用了BiLSTM和Tree-LSTM分别对文本序列和文本解析树进行编码,其亮点在于:; k5 y: V( v7 ^5 Y0 a+ _
' r0 q" ?& k# P. H
(1)匹配层定义了cross-attention得到各token的向量表示与原token向量间的详细交互关系,即采用 [ a ˉ , a ^ , a ˉ − a ^ , a ˉ ∗ a ^ ] [\bar a, \hat a,\bar a-\hat a,\bar a* \hat a] [
2 E2 L/ l9 n8 E: ma
2 w) _, x! a0 p% yˉ
- l* V) b4 y3 O e! z ,
1 H3 A7 z% C2 I1 J8 ra
# w) f, {' u6 s* i" d# I^
0 k% [* I# t5 A. l5 M( G ,
5 z8 U4 _0 X# A4 q: ^/ ^# ma
% Y2 Q" j/ x& Q+ `ˉ
9 U" U: J3 @! S1 { −
) L& @! T. O/ Z% `% c& L. ea/ k: S7 K G# c8 _1 w- ]4 p% c
^
2 x: w- `7 w' Y0 F2 l1 B" g, n , 6 H5 \9 P7 G, @- @0 J
a
9 u7 {* ]9 h/ |! h* C+ N8 q) Sˉ2 [" W( i; H2 `/ q% I% Y
∗
k- r; d. D- q% R: b, T& W' Pa, M+ U4 k- h$ [- N- `4 V
^
$ a% x) @2 v* U4 l ]作为最终文本token的向量表示,这也成为后续文本匹配模型的惯用做法。1 w2 h: [ u9 t+ C1 Q& I2 A
1 U+ ?/ D7 y3 w( m
(2)聚合层通过BiLSTM得到各文本token的编码,从而进一步增强了文本序列的信息传递;* ?5 s1 l. O a. k
" U5 J! O6 F% H(3)预测层通过拼接各文本token编码的max-pooling和mean-pooling结果,再经过MPL进行匹配预测。
0 w" q7 f: G3 b
: c3 T! {) {: q, s2 O" L2 m( v' m: `+ C7 h6 y9 {8 h" t5 s4 ^* L" E
. x- t/ I% x( m8. Bimpm _& Z8 i0 q& A, z& L# m
Bimpm可视为对之前各类交互型文本匹配模型的一次总结。; p$ ]6 R( P$ u" e2 q) B2 \
" O; [$ R/ d8 h9 `) Q7 b/ P
该模型在各层的具体做法总结如下:! B* g1 o h" H- {
$ M! h5 ]! w, V3 I
(1)编码层采用BiLSTM得到每个token隐层的向量表示;
" X6 [; C: F3 `: c8 T% z* z
6 d* V! E5 y3 z+ t% }(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 - _/ \" f. i! i0 w
k
- s6 T8 k* r7 [3 R( N 2 k, t; k! D+ z, T; {
=cosine(W 3 h* s* i4 y! [+ n% F4 c
k; W/ N9 j8 [; k1 ~$ Q5 @
: z) v! g) A8 m# o1 d. e
∗v
! r; g S' }# z( g1 S8 I5 r0 s2 |' ?) p0 P$ q
{% e O; i3 A
,W
7 i8 h0 g2 i! d( u' ?1 m/ I; Q# Tk
; L; R$ q$ T7 a$ e
3 D& Y! n7 i+ B/ X7 h ∗v
2 k# ?( l# D3 Q1 o u5 `- e5 l0 z2
% R# Y8 s! [6 H1 X# k) a2 J! o
5 ?& [0 R5 X4 _" r7 O# \! R; X )的方式可以得到两个文本的任意token pair之间在第k个view下的匹配关系,至于 v 1 v_1 v ; v$ a# J- j8 k; {6 Q
1
0 I- _/ O# n! |
0 U: `: _' K+ d 和 v 2 v_2 v
8 F# W3 _8 j7 n4 c2
4 t: k. o( {- k9 O2 |
+ G1 j' v/ Z% u) p5 ~) W( x 如何取,文章提供了4种策略:, K" m/ W' _9 \. g( ]) g @2 b
: w, ]8 H$ b b8 g
策略一:其中一个句子取各token隐层的向量表示,另一个句子采用隐层最后时间步处的输出;) @. }! G/ k0 s) a
策略二:其中一个句子取各token隐层的向量表示,另一个句子采用隐层各时间步输出与之匹配后取再取Max-Pooling值;
9 g' _: Y; N7 g/ z; `2 M' w策略三:其中一个句子取各token隐层的向量表示,另一个句子采用cross-attentive后得到的加权句子向量; F/ ^7 _4 O/ b# T U) q- L; Y
策略四:其中一个句子取各token隐层的向量表示,另一个句子采用cross-attentive后attention score最高处token的向量作为句子向量。8 z/ z" A9 N! w h. Y' F: l
这四种策略的区别在于对句子向量的计算不同。- r. r4 F$ b& j' h: w! a1 [
8 X _2 u; y; C& s7 h
3 B: ~* S3 x8 x8 w! v(3)聚合层,首先对上面各种策略得到的输出层再通过一层BiLSTM层,然后将各策略下最后时间步的输出进行拼接,得到最后的聚合向量;; S3 q; K) w1 L' E! q* u3 m
' L& m8 S: ]* r+ @- Z% }% f(4)预测层:两层MPL+softmax6 X; ?$ }( p, n/ b* Q# {/ f
- s O: W# T! M+ v/ B. r( Y0 U4 z
9. HCAN1 j7 a3 c& v3 r* |: y& x5 D
HCAN是除Bert类模型外在文本匹配领域表现最为优异的深度模型之一,其采用了较为复杂的模型结构。- `6 s T3 F! u; F6 N1 i+ j
# C. ^8 d: g* r# `0 e针对于信息抽取问题,文章首先分析了相关性匹配和语义匹配的差异:
' B! Y6 T2 F$ D5 u: y1 ]' t2 x. K* q; X( A& i# m1 U9 y
(1)相关性匹配主要关注于关键词的对比,因此更关注低层级词法、语法结构层面的匹配性;
4 i% Z k* K" S- S# H/ V6 |0 g' n3 c" e7 g- r3 r9 R, p" }' H
(2)语义匹配代表着文本的平均意义,因此其关注更高、更丑想的语义层面的匹配性。
6 n$ w" t3 v* @2 r6 h3 p. g6 H8 D, r$ b2 _! T: W7 C# Y. ^* z
该模型首先采用三类混合的编码器对query和context进行编码:
* i: g0 |2 p# ^8 u' w( |
! ]" c/ _1 L$ g(1)深层相同卷积核大小的CNN编码器;; H5 M# F2 W5 `: L0 L2 \. u/ y
. s& o8 i3 V8 A1 U(2)不同卷积核大小的CNN编码器的并行编码;; o# E6 b9 e1 Y7 p; S
6 g4 s0 e2 P6 L# E. S(3)沿着时序方向的stacked BiLSTM编码;
" F$ z ` V& M1 U* E- Z* {* P# `
2 s0 B, M3 M7 k8 s% t对于前两者,通过控制卷积核的大小可以更好的捕捉词法和句法特征,即符合相关性匹配的目的;而对于后者,其能表征更长距离的文本意义,满足语义匹配的目的。8 e9 P# D7 f1 G$ f3 Q
( _# U5 p6 H, i) X, n2 ^在这三类编码器的编码结果基础上,模型分别进行了相关性匹配和语义匹配操作。其中相关性匹配主要采用各phrase间内积+max pooling/mean pooling的方式获取相关性特征,并通过IDF指进行各phrase的权重调整。而在语义匹配中,模型采用了精心设计的co-attention机制,并最终通过BiLSTM层输出结果。0 q& ~9 x8 b$ |+ q9 f# R
8 d \$ P+ F( C
最后的预测层仍采用MPL+softmax进行预测。
. B( f8 \& W& C7 [! T9 V" @5 \
' W/ \( d/ S$ ~% n10. 小结
) S" ^- V% u& y" ]交互型语言匹配模型由于引入各种花式attention,其模型的精细度和复杂度普遍强于表示型语言模型。交互型语言匹配模型通过尽早让文本进行交互(可以发生在Embedding和/或Encoding之后)实现了词法、句法层面信息的匹配,因此其效果也普遍较表示型语言模型更好。: G @: G3 `0 J2 z( `
+ s9 `) P4 l8 N, x, @【Reference】
& S2 v+ g+ S2 W# i+ M' W8 B0 ^
6 t, T' ], m6 }7 B+ UARC-II: Convolutional Neural Network Architectures for Matching Natural Language Sentences
' T6 C# e& d# t( i
+ {3 o+ W% S9 n$ Y6 }, |PairCNN: Learning to Rank Short Text Pairs with Convolutional Deep Neural Networks5 ^; c# O* |! s# v% x
/ ?3 z' Y4 I4 F# P2 i; HMatchPyramid: Text Matching as Image Recognition" ]9 O& y2 L) K3 U! d7 t4 D
* e* J+ [/ R1 c; m8 F
DecAtt: A Decomposable Attention Model for Natural Language Inference5 q7 c2 l7 P2 u/ W) R u% r0 ]
8 R5 e$ `* U' m+ p8 @9 V/ ?
CompAgg: A Compare-Aggregate Model for Matching Text Sequences
5 \) V+ r& V7 q7 G8 I+ A% J* M# f5 s. F* p8 d
ABCNN: ABCNN: Attention-Based Convolutional Neural Network* Y t- }8 Y' L8 Y
for Modeling Sentence Pairs
, D/ z& ~1 ]; m" d1 c3 [$ K
$ s0 D6 j' }) U) q1 IESIM: Enhanced LSTM for Natural Language Inference
* k, P( j3 o; y$ w8 `* h1 @6 }, V h, k. |# \' o* v. H( P+ |& S
Bimpm: Bilateral Multi-Perspective Matching for Natural Language Sentences) P1 j( @( P! z. Q$ a/ C8 z4 i
* a7 u; M6 e! s! W
HCAN: Bridging the Gap Between Relevance Matching and Semantic Matching9 q9 M" m+ U5 z9 j/ a2 W& g
for Short Text Similarity Modeling
; n% s6 [* |& ]( l' s$ c1 T$ l2 O& \: B; A
文本匹配相关方向打卡点总结(数据,场景,论文,开源工具)
: v* E% D! P/ f- H
( u1 C; x% Q2 i6 J% G! J# o谈谈文本匹配和多轮检索
6 N4 k, B4 ~* x: ?! r j( n8 i: \2 }0 \2 j
贝壳找房【深度语义匹配模型 】原理篇一:表示型4 W+ E5 a% V {( l' k6 N2 V
————————————————' M9 |) ~% i1 k5 E2 C: V3 R
版权声明:本文为CSDN博主「guofei_fly」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
, v% T+ M* ]$ t7 x A原文链接:https://blog.csdn.net/guofei_fly/article/details/107501276% H, N! X y% Y& ]# X8 i+ i# L5 ^
, k% @1 ]4 U* }2 Y; C6 h' t. {7 K/ }( y
|
zan
|