- 在线时间
- 1630 小时
- 最后登录
- 2024-1-29
- 注册时间
- 2017-5-16
- 听众数
- 82
- 收听数
- 1
- 能力
- 120 分
- 体力
- 564646 点
- 威望
- 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年大象老师国赛优 |
【文本匹配】交互型模型
! q3 z# p8 c% ~& y6 a: ?( S8 |/ B/ n4 P
表示型的文本匹配模型存在两大问题:(1)对各文本抽取的仅仅是最后的语义向量,其中的信息损失难以衡量;(2)缺乏对文本pair间词法、句法信息的比较
+ W3 n. L8 z+ C1 @1 j, @2 e7 I$ v' s. T! Z
而交互型的文本匹配模型通过尽早在文本pair间进行信息交互,能够改善上述问题。* L" w" ~0 h: v. k
8 r: I/ B7 p; q# ?基于交互的匹配模型的基本结构包括:+ S3 s# Y; P: J$ N/ h5 ]3 l
; T8 H& Q! y- K O1 R4 ~. `- ^. K
(1)嵌入层,即文本细粒度的嵌入表示;
( w0 ]) i7 H; _ B* g+ H, R4 d
/ L; y4 }- Y8 ?! k(2)编码层,在嵌入表示的基础上进一步编码;
# w8 J9 C8 |; j+ G1 e3 E) \- j9 _ K9 N0 A6 d
(3)匹配层:将文本对的编码层输出进行交互、对比,得到各文本强化后的向量表征,或者直接得到统一的向量表征;) @2 x# O: T! v3 r: f
% m% s' X/ c8 k% ^8 M
(4)融合层:对匹配层输出向量进一步压缩、融合;- C0 B3 T/ T; D% |
" T5 R( U5 a! {% ~8 s3 ?
(5)预测层:基于文本对融合后的向量进行文本关系的预测。3 J$ W& `* i6 `6 I; [8 W/ ^
% j1 F' p+ X W/ S* R# U, w: S( B1 U& u1 K
; |9 O9 ^1 t: ~2 P7 h: Q
1. ARC-II
; A, @% o9 U( b3 M: QARC-II模型是和表示型模型ARC-I模型在同一篇论文中提出的姊妹模型,采用pair-wise ranking loss的目标函数。
9 M& A; l# M3 u @* V
# O1 p* X/ ^2 `5 M' f- k5 r其核心结构为匹配层的设计:
9 z' m+ T' M- p, s2 P9 R
: m1 D2 `% k E(1)对文本pair的n-gram Embedding结果进行拼接,然后利用1-D CNN得到文本S_X中任一token i和文本S_Y中任一token j的交互张量元素M_{ij}。该操作既然考虑了n-gram滑动窗口对于local信息的捕捉,也通过拼接实现了文本pair间低层级的交互。% w8 m1 k1 J' s2 L* V. D5 h7 B: O
+ N6 t9 J) e, M: ]9 c/ }
(2)对交互张量进行堆叠的global max-pooling和2D-CNN操作,从而扩大感受野。0 o: I, v+ j- i7 g7 u3 @* C6 `
+ Z# R% Z( u/ y" m2. PairCNN6 A+ q3 G8 _2 l+ Y
PairCNN并没有选择在Embedding后直接进行query-doc间的交互,而是首先通过TextCNN的方式分别得到query和doc的向量表征,然后通过一个中间Matrix对query和doc向量进行交互得到pair的相似度向量,然后将query的向量表征、doc的向量表征、相似度向量以及其它的特征向量进行拼接,最后经过两层的MPL得到最后的二分类向量。' h5 G7 ^ s6 B w z
$ [% S; J* M. FPairCNN的模型架构中的亮点在于各View向量的拼接,既能利用原始的语义向量,还能够很便捷的融入外部特征。
2 ]0 j: N8 f& a# U7 P( }/ _3 k, T) I
) U8 G; M3 p# R, l E% {3. MatchPyramid, _. i. y; |/ T0 }) F7 y
无论是ARC-II中的n-gram拼接+1D conv还是Pair-CNN中的中间Matrix虽然均通过运算最终达到了信息交互的作用,但其定义还不够显式和明确,MatchPyramid借鉴图像卷积网络的思想,更加显式的定义了细粒度交互的过程。
7 ~9 x$ z7 _" W$ V* f, CMatchPyramid通过两文本各token embedding间的直接交互构造出匹配矩阵,然后将其视为图片进行2D卷积和2D池化,最后Flatten接MLP计算得匹配分数。本文共提出了三种匹配矩阵的构造方式:" p+ @2 t6 w9 f b4 q' L7 c5 u
4 N' W3 o% W+ v& C* q(1)Indicator:0-1型,即一样的token取1,否则取0;这种做法无法涵盖同义多词的情况;
B3 R$ Z" c7 \+ E9 k
v/ F) ]% Y% a6 y v6 u; t9 W(2)Cosine:即词向量的夹角余弦;$ H) P7 p: U+ B/ X$ q3 H
7 e" N4 s, ^7 M2 u7 i+ P(3)Dot Product:即词向量的内积5 n+ f6 W l; K* f+ x6 E
( I9 ~" h- ~; C此外值得注意的是因为各个文本pair中句子长度的不一致,本文并没有采用padding到max-lenght的惯用做法,而是采用了更灵活的动态池化层,以保证MPL层参数个数的固定。/ y3 X! j4 ^7 t7 a' P
0 N1 C6 d" w3 ? ]& U& R6 q
4. DecAtt
' U6 X, g# I! w( w+ q# G+ XDecAtt将注意力机制引入到交互型文本匹配模型中,从而得到各token信息交互后增强后的向量表征。
# S* ], N7 A4 ?
, ^9 `4 p e0 t# i$ b模型被概括为如下层级模块:
4 C1 y/ P- Y) o6 l$ A, Z
# d/ ^2 {: s, k* o$ }2 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。% F8 j6 A9 ]( n
& R* d* M1 p* z* G
(2)Compare层:将前序Attend层计算得到的最终embedding,喂入一个全连接层进行向量维度的压缩。
2 g" T+ I6 m7 Q" C, _! m9 I4 ]7 o
/ T: k. G, h- z4 ^(3)Aggregate层:将每个文本各token处压缩后的向量进行简单的求和,再拼接起来通过MPL得到最后的匹配得分。
- G: S- P* B) s
* S* n. w; u7 [1 B' s2 a! l! D5. CompAgg
5 g& E3 X9 V3 F4 Q* o3 N# [( ICompAgg详细对比了在文本间cross-attention得到的各token向量表征与原始token向量进行compare的各种方案。
5 j, @. | w" R8 z6 ]2 Y& S# S4 H% ^) R1 R$ S
该模型的主要结构包括:/ s/ a" K: {# T& }& U! ~, k8 r
) z: a' j6 L& o. M* c+ ^(1)reprocessing层:采用类似于LSTM/GRU的神经网络得到token的深层表示(图中的\bar a_i);
' |# n! x7 [; ?6 s" J- y3 O+ z/ L, r
(2)Attention层:利用软注意力机制计算文本间的cross-attention(与DecAtt相同),从而得到各token处交互后的向量表示(图中的h_i);- O9 Q; H4 i2 e5 U" q9 N5 t
8 O$ G0 G1 @$ ~1 p/ G* w+ v9 _! y
(3)Comparison层:通过各种网络结构或计算将\bar a_i和h_i计算求得各token的最终表征。9 b, A3 |0 N9 v
! S4 r4 t/ s9 h& B1 e
(4)Aggregation层:利用CNN网络对Comparison层的输出进行计算,得到最后的匹配得分。
, @5 `4 N' a$ \& F
* h6 Y" k$ R( f+ h其中Comparison层的构造方式包括:' `1 a6 z; \! }: b1 F
. q- h1 j6 n. m! O(1)矩阵乘法,类似于Pair-CNN中的中间Matrix
5 h/ X/ }) D4 J& h( _8 W+ C i5 h0 V4 q* {( \
(2)前向神经网络,即将\bar a_i和h_i进行拼接,然后利用输入FFN;
1 C% y$ D/ P6 n0 E2 c7 }) ?) y4 ^; }6 g& p- X9 c+ @# z
(3)分别计算cosine和欧式距离,然后拼接;
) t3 b( q: D' y4 f+ h% y, E% ~0 [! [& m4 M0 E) n
(4)各维度进行减法;- s l- n8 G4 e+ j0 ^/ z
. w& s) P. W7 O5 | C# z' _(5)各维度进行乘法;
, {- \3 D, P) b/ c# d, E1 I
8 A9 E6 y6 d2 I. I5 A6 [/ c8 l: j- k(6)各维度进行减法和乘法,然后再接一个前向网络。
- _# M- x; h% x# k7 {2 ^8 p3 T8 G9 C7 J3 h
6. ABCNN
1 ?+ c# a- g' ]/ [# F* D( Y& }8 CABCNN是将Attention机制作用于BCNN架构的文本匹配模型。
8 `4 u6 q) G: u7 [8 m' V4 l' _' K$ Z Y
6.1 BCNN$ o: `: @* O" X" p% j% P
首先简单介绍下BCNN架构:, p% _; o! O, [3 e3 D% d1 t
- L7 n7 _% B( Q# n" x9 E
BCNN的整体结构比较简单:(1)输入层;(2)卷积层,因为采用了反卷积的形式,所以在size上会增加;5 z' r3 P( t3 i! N+ a
0 W! ^, Z% C1 Z) P
(3)池化层,采用了两种池化模式,在模型开始阶段采用的是local平均池化,在最后句子向量的抽取时采用了global平均池化;(4)预测层,句子向量拼接后采用LR得到最后的匹配得分。6 W& u |$ V8 H0 n( w
& _! s$ m# Q: P: j, } UABCNN共包括三种变形,下面依次介绍。; ?4 U K$ L7 b. J r
' Z% u8 x7 i. O, H
6.2 ABCNN
& t% g2 t* @* ~6 T. A3 d! N: W( Y1 e7 L- H, e I! 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 $ S2 D9 m9 G6 J! V
ij: k+ ^; d' P) A3 t
( L, {. M# W9 t6 G7 d( D
= " n' T9 |3 D2 Z* |* ~5 f7 ~
1+∣x
$ W$ p. j- i1 W& L0 D- vi
3 f. v% i& x' W% `
4 E0 Y/ |( }+ z −y
9 }4 O, t* X9 V9 {5 E9 d# s( e( Qj- |% T- `4 O6 A
- v3 ~" c0 R2 W7 J4 v& b& y/ ~# w ∣
7 D l: e! F2 a3 {. n1) L# h1 C2 c- L$ e ?- Y3 W
2 r4 l6 k* O$ ~, d5 g
,然后分别乘以可学习的权重矩阵 W 0 W_0 W 8 r: `6 R' `! r$ q8 p, d
07 f* d) C- B J" W( D9 q; H" h* G4 a
- {/ l) O6 E8 _7 u& b2 Q
和 W 1 W_1 W 6 p8 z1 E' q9 t8 X$ v& F
1 j% T" e7 R7 Z0 X& H3 O y
4 j9 ]+ ^& Z3 K8 Z 得到attetion feature map。- G {) ~' o( a
6 `, n8 b1 P: c$ V+ c* l6 w6.3 ABCNN-2
/ m- j4 y7 E' c. \" `8 u1 y% Q
8 b! Z0 `$ h4 CABCNN-2将Attention机制作用于word embedding层后的反卷积层的输出结果,其中注意力矩阵的计算原理与ABCNN-1一致。然后将注意力矩阵沿着row和col的方向分别求和,分别代表着各文本token的attention socre;接着将反卷积层的输出结果与attention socre进行加权平均池化,得到与输入层相同shape的特征图。
, ^4 b6 O! C: t# \6 |$ I
3 E Y- Z) U* e6.4 ABCNN-3
" u" P) Q. I c! a7 ~0 Z8 n5 A3 K* _* b: d2 j# i3 p v1 \1 z
ABCNN-3的基本模块可视为ABCNN-1和ABCNN-2的堆叠,即在嵌入层和卷积层上面都引入了attention的机制用来增强对token向量的表示。
5 Y9 H/ L8 G5 e. M5 v. P! m' V3 i Y/ l4 S
7. ESIM! \: l- B" h) N" S! X7 S6 A
ESIM模型基于NLI任务给出了一种强有力的交互型匹配方法。其采用了BiLSTM和Tree-LSTM分别对文本序列和文本解析树进行编码,其亮点在于:$ S7 _" o/ `% m' N" r
5 |- |" b. Z, {7 Y" s
(1)匹配层定义了cross-attention得到各token的向量表示与原token向量间的详细交互关系,即采用 [ a ˉ , a ^ , a ˉ − a ^ , a ˉ ∗ a ^ ] [\bar a, \hat a,\bar a-\hat a,\bar a* \hat a] [
; o0 C% n+ y5 G/ T! h9 C2 }a
* T% z( v: F- D0 vˉ) ?2 R c9 \! t; D7 ?
, # f6 I+ m) l5 {
a4 `/ N/ w4 L" C! j' R, a( T
^5 v; V" N4 i' q: S5 Z
, : W& `, M3 O' P+ S
a" G2 W/ z% `/ _" j+ T% v4 A! ^
ˉ! a; v% F; D0 \ O+ b' P/ r( Z4 w
− $ a T" R# L2 B* a3 \
a/ q& E V5 |( M) a
^
7 ^$ \! B/ ^7 \5 e( F: p , 6 M1 i# t' |1 b7 m) \; Z2 c
a" `3 A* ^' t8 V \4 f6 A
ˉ
% q/ I* J! T4 q0 K% m$ D: f; k+ W C ∗ " H! m; Y( I6 ?+ J
a; c7 a% o5 O O) N8 r
^
8 G( b" l: h; N9 k$ P2 y ]作为最终文本token的向量表示,这也成为后续文本匹配模型的惯用做法。4 \) X4 h; H1 M" c0 ~) Q" b
3 X% p) V! y9 L
(2)聚合层通过BiLSTM得到各文本token的编码,从而进一步增强了文本序列的信息传递;
/ F/ O8 r8 q* ~3 n6 A% y8 T3 W0 K' }6 c
(3)预测层通过拼接各文本token编码的max-pooling和mean-pooling结果,再经过MPL进行匹配预测。% G+ s( s$ g# W8 o4 u8 d
& Y9 ^( g, b. L( o Q2 }% O
{% ]9 B4 |! c; U% g! L4 r" j! }! e$ d6 {8 D
8. Bimpm+ j, K, q" @, W$ i: J* s9 U
Bimpm可视为对之前各类交互型文本匹配模型的一次总结。
# ?. ~- Y+ [9 D/ a) c* \; t+ o7 q
5 R( i- T" }5 V7 |/ \: `该模型在各层的具体做法总结如下:
+ a6 \% ^' v7 S! i, o8 N$ F! C$ m7 g* R( V* ^6 E) L
(1)编码层采用BiLSTM得到每个token隐层的向量表示;: L+ d3 S! {& ]9 i) V2 O2 i2 b
! K. O1 R( n" B
(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
L5 `7 ? o& s+ qk
$ j, X) n/ |! i- [# Y+ A
* h; U% k4 [# ^% N; j+ h0 d =cosine(W
/ o! |) c( G* z) k! ^) q; p- Ek
9 w& w3 A2 ~6 m# R % x5 a. F3 a6 c# D& e" e
∗v
7 A F! G& c' X1
* u; v2 c, N! P4 D) L6 n s ' u7 k S: @# ~7 V: R- \, w8 v
,W ! l" M( r; i+ W0 d$ A
k K9 v o+ l6 ?9 a6 A. V
. V& R; w- u7 e: h$ e3 L7 U$ [3 U! c ∗v ) L" `7 s: v$ o! B
2
/ m' R/ e- d9 y7 O& S
' o- s' y! w* v% F8 I4 c. ] ^ )的方式可以得到两个文本的任意token pair之间在第k个view下的匹配关系,至于 v 1 v_1 v * D: Q% u. t& Z8 A* U- _
1+ l! p, z5 e" U2 c, w
2 X3 ~( _3 ~1 Q1 z 和 v 2 v_2 v
7 v( ]% o. }5 S4 N4 N \/ K2
/ `& A- @3 b* ? g% }- x \6 j: C1 ]" p
如何取,文章提供了4种策略:
4 ` W$ G3 H$ p" c7 q; S7 H* N, A. }" j+ i
策略一:其中一个句子取各token隐层的向量表示,另一个句子采用隐层最后时间步处的输出;
% W# q7 y7 ]) }% T3 w: d$ C+ r策略二:其中一个句子取各token隐层的向量表示,另一个句子采用隐层各时间步输出与之匹配后取再取Max-Pooling值;; Z" \( W' p+ q) J& C# q+ c/ x
策略三:其中一个句子取各token隐层的向量表示,另一个句子采用cross-attentive后得到的加权句子向量;
9 ~* C% o! V$ j1 t策略四:其中一个句子取各token隐层的向量表示,另一个句子采用cross-attentive后attention score最高处token的向量作为句子向量。! A: f& {. Z4 W
这四种策略的区别在于对句子向量的计算不同。
! g! T6 ?+ J9 o X8 \# X7 A6 G) f- H& M* d5 w
* R5 U/ I+ c, s& u7 H7 l0 o0 L* ?) i(3)聚合层,首先对上面各种策略得到的输出层再通过一层BiLSTM层,然后将各策略下最后时间步的输出进行拼接,得到最后的聚合向量;
1 _/ I7 Q. F) R; b8 \4 J8 y0 F6 R# S* G
(4)预测层:两层MPL+softmax+ A" S0 Y6 G4 S: t" `- o1 i
4 E. G+ Z/ E6 \9. HCAN& h8 }# O/ F# ^! K' y
HCAN是除Bert类模型外在文本匹配领域表现最为优异的深度模型之一,其采用了较为复杂的模型结构。
+ N- [4 n7 ?1 p1 G8 U" [1 k8 e! A4 v- i0 ^! J
针对于信息抽取问题,文章首先分析了相关性匹配和语义匹配的差异:
7 R6 C# k! A8 E7 T: ?. ~3 T2 F& P6 K8 }1 f% _8 n
(1)相关性匹配主要关注于关键词的对比,因此更关注低层级词法、语法结构层面的匹配性;
9 @" n& _4 B& S% @% f
; a+ {1 R* f2 j$ B: V(2)语义匹配代表着文本的平均意义,因此其关注更高、更丑想的语义层面的匹配性。
* U. L0 W$ N- d, a! R9 o; P, ?% d9 j5 z. f% K
该模型首先采用三类混合的编码器对query和context进行编码:9 ~8 T" k& H8 |+ e; r: a
`# v3 I( v- f3 K% W
(1)深层相同卷积核大小的CNN编码器;
4 R0 d& n: |: U) H2 }
0 h9 _* r8 |4 E, I( {* s7 y+ q(2)不同卷积核大小的CNN编码器的并行编码;$ y, Q1 m3 `$ P) P% S* R
Y) u5 k/ d e' g(3)沿着时序方向的stacked BiLSTM编码;
}' u; E5 {0 B$ Z o% l5 O1 j" }) W& ^/ w" L# \
对于前两者,通过控制卷积核的大小可以更好的捕捉词法和句法特征,即符合相关性匹配的目的;而对于后者,其能表征更长距离的文本意义,满足语义匹配的目的。: c3 k9 e4 Q( k6 y0 Z& z& J
: c S! n: m7 m3 j" `! A
在这三类编码器的编码结果基础上,模型分别进行了相关性匹配和语义匹配操作。其中相关性匹配主要采用各phrase间内积+max pooling/mean pooling的方式获取相关性特征,并通过IDF指进行各phrase的权重调整。而在语义匹配中,模型采用了精心设计的co-attention机制,并最终通过BiLSTM层输出结果。7 G" X6 K2 \' @3 N7 J) W* F0 a; C
& L1 @9 D+ `; g3 l, ~2 M6 B$ c+ V
最后的预测层仍采用MPL+softmax进行预测。
5 k2 J7 r& p# X+ }! ^& Q* W6 Q+ \2 e- I" T' `" s
10. 小结" @+ V0 ^' Q. \7 V+ g
交互型语言匹配模型由于引入各种花式attention,其模型的精细度和复杂度普遍强于表示型语言模型。交互型语言匹配模型通过尽早让文本进行交互(可以发生在Embedding和/或Encoding之后)实现了词法、句法层面信息的匹配,因此其效果也普遍较表示型语言模型更好。
8 x3 X. k: v1 p: E
/ E- W3 k/ \5 l6 h0 e【Reference】
: d" V: \: e( w7 p% P- D# Q
' h" t3 B$ y' N/ O' e6 L* UARC-II: Convolutional Neural Network Architectures for Matching Natural Language Sentences Z2 b9 p1 i1 b, a1 t
1 r! F5 \- n9 H; }% P
PairCNN: Learning to Rank Short Text Pairs with Convolutional Deep Neural Networks
1 u9 Y$ X- q0 u6 d5 w) u9 E6 P! t& N/ e. X6 ~
MatchPyramid: Text Matching as Image Recognition
+ S/ O. C) T& K6 k) C8 O7 S: p5 [6 W# m: d5 e; g
DecAtt: A Decomposable Attention Model for Natural Language Inference O3 u5 K5 z1 M: Z
9 g( N/ J) O1 ^3 q/ a2 _% q2 e
CompAgg: A Compare-Aggregate Model for Matching Text Sequences x6 _1 C8 O6 E3 u ]
2 n' {. q! n b; T4 HABCNN: ABCNN: Attention-Based Convolutional Neural Network5 J( T2 P; C5 O1 b
for Modeling Sentence Pairs
. \4 v" S( }1 V5 l0 j
$ z, e c0 X' O) p# gESIM: Enhanced LSTM for Natural Language Inference3 I3 N& }) _/ n1 c/ h. T9 F
. m% B. ?9 p+ OBimpm: Bilateral Multi-Perspective Matching for Natural Language Sentences: W4 N8 t5 g/ Q s
* U# C8 f( u) P kHCAN: Bridging the Gap Between Relevance Matching and Semantic Matching
: g8 Y) S( g4 h- t( M. jfor Short Text Similarity Modeling
. v0 K" {: k! Q, P( A; B/ U( s" `8 Y
3 M! q4 e6 f \2 A0 H文本匹配相关方向打卡点总结(数据,场景,论文,开源工具)* _0 A& w+ j0 V+ l* ?! l5 L4 {# I
( I0 T! N8 ~: g1 W3 V" P% a( A
谈谈文本匹配和多轮检索4 z; l% E1 e! g6 u$ l5 A/ D7 q
" P* c* W' Q$ J! u5 Q& e
贝壳找房【深度语义匹配模型 】原理篇一:表示型
: ~' K# ^- L" {/ [! q& H9 f————————————————
- t" T8 ~; o3 K# O0 a) u版权声明:本文为CSDN博主「guofei_fly」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
) q8 m _/ X* x6 S9 [7 p7 D原文链接:https://blog.csdn.net/guofei_fly/article/details/1075012767 e, R) y! X! g- x4 x& a
3 D3 x2 }1 J5 L1 d7 [. ^5 b# m
9 j( z! z$ H- A, A1 n b4 ^5 ]. } |
zan
|