- 在线时间
- 1630 小时
- 最后登录
- 2024-1-29
- 注册时间
- 2017-5-16
- 听众数
- 82
- 收听数
- 1
- 能力
- 120 分
- 体力
- 565549 点
- 威望
- 12 点
- 阅读权限
- 255
- 积分
- 174888
- 相册
- 1
- 日志
- 0
- 记录
- 0
- 帖子
- 5313
- 主题
- 5273
- 精华
- 3
- 分享
- 0
- 好友
- 163
TA的每日心情 | 开心 2021-8-11 17:59 |
|---|
签到天数: 17 天 [LV.4]偶尔看看III 网络挑战赛参赛者 网络挑战赛参赛者 - 自我介绍
- 本人女,毕业于内蒙古科技大学,担任文职专业,毕业专业英语。
 群组: 2018美赛大象算法课程 群组: 2018美赛护航培训课程 群组: 2019年 数学中国站长建 群组: 2019年数据分析师课程 群组: 2018年大象老师国赛优 |
【文本匹配】交互型模型
+ t. B( [2 X* k* O& C/ Z! q
, [! W" G6 J# L) _表示型的文本匹配模型存在两大问题:(1)对各文本抽取的仅仅是最后的语义向量,其中的信息损失难以衡量;(2)缺乏对文本pair间词法、句法信息的比较4 B$ N" t) u9 z& m( E0 D
; p% i" j" R/ H而交互型的文本匹配模型通过尽早在文本pair间进行信息交互,能够改善上述问题。- o! u. y) s( [# w
1 q7 w. q7 J. [/ {- l3 Q& R基于交互的匹配模型的基本结构包括:% V3 \% d" ^1 C8 b) h
* u$ y6 e/ B- E& W7 @& [(1)嵌入层,即文本细粒度的嵌入表示;) m2 o4 N& g2 W4 V; [& h: k, {& l
0 _) x/ v5 T! M+ B; V( B6 b4 m(2)编码层,在嵌入表示的基础上进一步编码;
$ v h# Y6 U. R6 C* a$ j' }% A7 k1 d6 K" E: s' ^) J
(3)匹配层:将文本对的编码层输出进行交互、对比,得到各文本强化后的向量表征,或者直接得到统一的向量表征;
}# l# f4 j. M, ~+ Y# w) [6 d
/ {% V& ~6 h! Q* c7 j$ n(4)融合层:对匹配层输出向量进一步压缩、融合;
) J+ c+ ^1 F. T8 [7 t. V i* Y( ~$ `- u9 j1 i; ?& Y% @
(5)预测层:基于文本对融合后的向量进行文本关系的预测。
* g" { R* x ~& A" h" K! a, h
' K* ?2 _1 W3 N. z; B6 A5 ~4 A0 f
0 u( o* z! l' n2 O' B6 ?. l# I
1. ARC-II
# ^0 x4 M- D2 h2 Y& |3 ~4 lARC-II模型是和表示型模型ARC-I模型在同一篇论文中提出的姊妹模型,采用pair-wise ranking loss的目标函数。
- O: s! `6 c/ i6 w* Y% C' y9 ^( j0 G [* m7 M0 j, k' v1 R
其核心结构为匹配层的设计:
& ` C5 R( @! a: M5 J5 U
H, X8 K8 p2 o' Z(1)对文本pair的n-gram Embedding结果进行拼接,然后利用1-D CNN得到文本S_X中任一token i和文本S_Y中任一token j的交互张量元素M_{ij}。该操作既然考虑了n-gram滑动窗口对于local信息的捕捉,也通过拼接实现了文本pair间低层级的交互。
( ~5 H8 g6 k! f1 y$ B/ b% Z: B
: A, ]. C8 i4 H* U! [' U2 [(2)对交互张量进行堆叠的global max-pooling和2D-CNN操作,从而扩大感受野。
$ y9 A2 [ g4 o0 I- n( U
, m. _' L+ i) l1 @+ E' B$ f2. PairCNN
9 c t( f& a3 T9 aPairCNN并没有选择在Embedding后直接进行query-doc间的交互,而是首先通过TextCNN的方式分别得到query和doc的向量表征,然后通过一个中间Matrix对query和doc向量进行交互得到pair的相似度向量,然后将query的向量表征、doc的向量表征、相似度向量以及其它的特征向量进行拼接,最后经过两层的MPL得到最后的二分类向量。
- a/ h# f( ~: T6 o6 x" y
+ p0 c- ^6 P5 u8 f3 ^* U0 c" l- q) wPairCNN的模型架构中的亮点在于各View向量的拼接,既能利用原始的语义向量,还能够很便捷的融入外部特征。
2 c% v- h% Y6 p5 |
2 C9 E" Q1 F$ j3. MatchPyramid9 P$ k% p$ P2 }
无论是ARC-II中的n-gram拼接+1D conv还是Pair-CNN中的中间Matrix虽然均通过运算最终达到了信息交互的作用,但其定义还不够显式和明确,MatchPyramid借鉴图像卷积网络的思想,更加显式的定义了细粒度交互的过程。% i3 m2 j5 G5 {
MatchPyramid通过两文本各token embedding间的直接交互构造出匹配矩阵,然后将其视为图片进行2D卷积和2D池化,最后Flatten接MLP计算得匹配分数。本文共提出了三种匹配矩阵的构造方式:
6 _5 G+ j4 f8 j
3 V1 w3 a( _; o0 p @% M(1)Indicator:0-1型,即一样的token取1,否则取0;这种做法无法涵盖同义多词的情况;
. S9 G5 n9 k9 l1 P, }
6 o% `% Y9 } e(2)Cosine:即词向量的夹角余弦;
6 Z$ Z6 G2 \& k; {; B1 x
I/ G- o7 O& j. t% U0 U, E(3)Dot Product:即词向量的内积( ?# N' Y! D: Q+ L6 H1 T
. }5 Y, r7 g7 m3 M
此外值得注意的是因为各个文本pair中句子长度的不一致,本文并没有采用padding到max-lenght的惯用做法,而是采用了更灵活的动态池化层,以保证MPL层参数个数的固定。
, w% `' n: n! g7 q) e
$ J0 ~0 d v2 H# z" ~) w! Q' C& F4. DecAtt E1 ?) [7 j: M2 j" a
DecAtt将注意力机制引入到交互型文本匹配模型中,从而得到各token信息交互后增强后的向量表征。6 d! {2 Z" G( u- c' k M5 v
0 e5 N7 t; I: f( z
模型被概括为如下层级模块:9 ^# M+ ?1 U m/ y$ s8 v8 r
. J% j6 V% L: d# e$ D, E(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。
n. l- N5 ^, M+ U9 }" Q8 D6 b1 u$ m% ~1 A3 h# O( y6 \5 u9 R
(2)Compare层:将前序Attend层计算得到的最终embedding,喂入一个全连接层进行向量维度的压缩。
8 m2 s7 v: X8 J: M+ a/ H
$ F! f# `* R: @) t* @" v(3)Aggregate层:将每个文本各token处压缩后的向量进行简单的求和,再拼接起来通过MPL得到最后的匹配得分。
0 @3 ?5 y, _5 i" x6 O0 X! v
?6 z" j$ l) \- \5. CompAgg! K- j5 e0 d0 h
CompAgg详细对比了在文本间cross-attention得到的各token向量表征与原始token向量进行compare的各种方案。
9 R$ j) h' K' l6 D) V
3 Y6 ?# v8 u! `该模型的主要结构包括:7 @3 E( X! C* H# n/ ?
4 n* B; [. T& R, p. T
(1)reprocessing层:采用类似于LSTM/GRU的神经网络得到token的深层表示(图中的\bar a_i);
2 ?- b) l; ?9 W1 C
, t7 p3 D G# N(2)Attention层:利用软注意力机制计算文本间的cross-attention(与DecAtt相同),从而得到各token处交互后的向量表示(图中的h_i);
) m; C6 K# ^7 S, C* H& l
, W1 y0 D( j; S(3)Comparison层:通过各种网络结构或计算将\bar a_i和h_i计算求得各token的最终表征。! {' P. u! ~$ V; u$ J9 Q% s
. d* N: a; T8 K' c, X5 g(4)Aggregation层:利用CNN网络对Comparison层的输出进行计算,得到最后的匹配得分。
" p3 w k p, t6 D1 y: @) y# ~; W$ S& T2 j: j
其中Comparison层的构造方式包括:3 ^# [; w& @- w" W/ \ y
. w. U# v% \9 A5 h2 s
(1)矩阵乘法,类似于Pair-CNN中的中间Matrix
( @) C! f1 D$ g c. n( e) q/ b
* a- u6 j, }/ {(2)前向神经网络,即将\bar a_i和h_i进行拼接,然后利用输入FFN;0 V& [; Z2 L" A5 ^0 M
- C: z$ [; _& h: m9 t
(3)分别计算cosine和欧式距离,然后拼接;
9 D) y' A; A( ^ s* s4 [% \; i4 p" I% d! d# v: i
(4)各维度进行减法;
( C7 U) n- {; m) C" n6 l
5 m x# ^& S4 x* n+ t5 M W(5)各维度进行乘法;
' k- K3 a0 S5 D
" ~8 S+ X M& r. [7 X(6)各维度进行减法和乘法,然后再接一个前向网络。
* t, h* b/ B. Z4 g: @
* ~$ v- A1 Z' a# G6. ABCNN
7 O- a6 l' s3 t+ S; jABCNN是将Attention机制作用于BCNN架构的文本匹配模型。
, X' J7 d# q2 t
. h1 x. |& K9 _: w6.1 BCNN
9 Q- L$ H) Q! N* ]& i$ ]首先简单介绍下BCNN架构:
% G5 n- X/ X3 ]" g- y/ F/ n2 s' C4 t2 ^$ k7 G3 n
BCNN的整体结构比较简单:(1)输入层;(2)卷积层,因为采用了反卷积的形式,所以在size上会增加;
0 H& v( r* w0 _/ A6 N- V R3 r9 I# i7 N c
(3)池化层,采用了两种池化模式,在模型开始阶段采用的是local平均池化,在最后句子向量的抽取时采用了global平均池化;(4)预测层,句子向量拼接后采用LR得到最后的匹配得分。; U+ n2 C r7 h1 V& |" e. e1 G5 z% C
4 f1 S7 w" Q7 H: ^+ a2 q
ABCNN共包括三种变形,下面依次介绍。
; P% t3 U# I9 p O! U! P
) x% h7 a; S0 E6 X8 N6.2 ABCNN+ | {7 `$ a1 G+ r5 t
( h: U) P6 ~7 j) h0 c
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
( w: C; m3 Z& D7 _8 n& M2 Oij
% @5 c! E* b( k3 h6 ^6 P4 h
! p2 Y$ T8 e- Z# g j =
) u" f- ~# W% x/ g( M- u, d! N3 C( ]1+∣x ( e1 j! {0 E! C% o$ N7 W. f
i
: |+ z' q4 c$ x* j3 {' E2 @ . U* |( F5 |1 |8 ~
−y - W( Y4 h9 _4 Y' \( Z
j
# ?" G3 V* o9 a! G, K9 A 5 z, T8 w# E( U* @4 V
∣) i" w4 ]5 P% H* I4 W, j: ]
1
' A9 [8 A. \% G. J; P% s7 `
" R4 H* V" y' K% a, Y8 L ,然后分别乘以可学习的权重矩阵 W 0 W_0 W ' T1 D0 R* H% J! b
0' w# M# O8 x& J
$ ?3 i/ o, C6 k" ?) }& a. z 和 W 1 W_1 W
2 h0 Z6 A% X- Y$ q3 L1
. m1 y% u$ Q5 u" `5 ] * u( r9 w/ t+ Q$ D3 H2 a, ~
得到attetion feature map。
( Z. p, g, o8 C9 R; [ t- X+ ~" N {# ?, e+ O
6.3 ABCNN-2
$ Y0 g6 g0 D# I* A7 E! w& U7 j2 x5 ~5 h" l9 n
ABCNN-2将Attention机制作用于word embedding层后的反卷积层的输出结果,其中注意力矩阵的计算原理与ABCNN-1一致。然后将注意力矩阵沿着row和col的方向分别求和,分别代表着各文本token的attention socre;接着将反卷积层的输出结果与attention socre进行加权平均池化,得到与输入层相同shape的特征图。
. u3 w# s6 _$ d& c
# H, f% G$ k& g7 F* a( A6 d, r. \6.4 ABCNN-3
4 Z# I* v b( o/ x' {! ?4 f
! G$ K7 ^% R5 rABCNN-3的基本模块可视为ABCNN-1和ABCNN-2的堆叠,即在嵌入层和卷积层上面都引入了attention的机制用来增强对token向量的表示。
; Y! ^) w. q+ j; Y* I l7 w- w7 u3 b+ n
7. ESIM) q, P( u6 x+ E' J6 V/ `' C) e& {
ESIM模型基于NLI任务给出了一种强有力的交互型匹配方法。其采用了BiLSTM和Tree-LSTM分别对文本序列和文本解析树进行编码,其亮点在于:% K! A- n3 e1 X+ I
: d: F# O% k& J/ s2 M! \
(1)匹配层定义了cross-attention得到各token的向量表示与原token向量间的详细交互关系,即采用 [ a ˉ , a ^ , a ˉ − a ^ , a ˉ ∗ a ^ ] [\bar a, \hat a,\bar a-\hat a,\bar a* \hat a] [ . b& E# [2 [" ~& C
a: M0 k$ a* e6 x. K
ˉ
3 X% U' A. i+ W0 s/ X7 N3 Z ,
. U; A7 U9 l8 f% v, t( C: Y: r: Wa
7 j6 h5 ~0 G3 w+ Z^, P9 p2 }! }' w7 m1 g
,
~- E1 A1 J: S2 R2 w$ _; S7 ia% A* c1 ]3 X3 F
ˉ
K/ l. }; O5 N! i7 h- I −
8 ?- t. V5 P( ^- O9 _5 a! g [a
1 m& s7 C6 h. p" T# N) D+ W0 v^
! N( L9 T$ y# s& \0 I: O ,
' l2 C) ^% D# i' u1 a! wa
3 O# I$ {7 w D! g( Uˉ
9 Q( B3 T+ P8 D }( J ∗ 0 a7 P. K. u6 h! J! ]
a
( K3 J* ^- O) n* q% |. M^
8 J2 i4 a6 `" N- N ]作为最终文本token的向量表示,这也成为后续文本匹配模型的惯用做法。5 d1 c$ S `4 x6 T
, A/ q2 [' D- p* U' Z' b; e
(2)聚合层通过BiLSTM得到各文本token的编码,从而进一步增强了文本序列的信息传递;8 ]0 S7 H" ?! m* Y" P' k, s7 d& t
2 J: t# V& M# i. D
(3)预测层通过拼接各文本token编码的max-pooling和mean-pooling结果,再经过MPL进行匹配预测。
" H! z" V( o# @2 `# T6 ^
0 Z/ @ v% P: n+ V6 `. `6 P, o
0 H. A' e% i0 \+ Q4 \0 O7 s
+ F7 [, e! t5 V/ \+ X; ~8. Bimpm
1 g' Q/ ~+ o. R9 q7 T, }0 \; rBimpm可视为对之前各类交互型文本匹配模型的一次总结。! r) J: Q: S5 p6 g; Q
2 O$ t. Z, T. ] i, Q z
该模型在各层的具体做法总结如下:2 K( Q0 `3 R/ t) ?! O! n
: }* c, j0 ?; S+ c(1)编码层采用BiLSTM得到每个token隐层的向量表示;
! C+ s& }. f5 ?+ s4 V: k3 ]
4 C, e; N5 k( {3 }) |/ c(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
' y0 k" c' f5 V ]- V' O) L6 `k3 T+ z; ~5 ]4 g7 E. y, U- }
( u1 t7 ?4 H6 \: k7 m# T3 N p =cosine(W . O% p5 x6 f0 f( @
k7 |, l F& W' k6 @4 A7 I; D
/ F {' G$ z. w0 i4 r
∗v
$ x/ C6 j4 Z$ U+ F# U$ b1
+ k; M8 I3 `% O3 ]
4 ]; P! j, w' S' g ,W
' F. f; ~6 H' m! U+ Q Mk$ p4 Q8 |( U0 a* b' O
! x3 F3 C# }: W" D! ^3 [( i, _+ d ∗v
* H+ @9 Q0 A4 h; }5 r' q23 P" m7 m, Q* j9 q
2 M2 P7 v9 W, F ~
)的方式可以得到两个文本的任意token pair之间在第k个view下的匹配关系,至于 v 1 v_1 v ' z7 _2 L9 ^9 N3 k
1( g+ t3 h$ R( n8 W" u" s
9 g( i1 }7 z+ g! S- t- Y: k- p, j 和 v 2 v_2 v
, ]8 N' C; C' }2
# f* |+ n5 T* c7 y. q% _7 c8 L/ i z6 g, E% T P4 X9 f b" k
如何取,文章提供了4种策略:
6 W$ d) ~- Z$ T8 N' Q- E1 C7 d f0 C/ p y5 [- u) U5 H
策略一:其中一个句子取各token隐层的向量表示,另一个句子采用隐层最后时间步处的输出;7 ]4 T. s3 G0 J$ `
策略二:其中一个句子取各token隐层的向量表示,另一个句子采用隐层各时间步输出与之匹配后取再取Max-Pooling值;! Z; q* k2 a. P
策略三:其中一个句子取各token隐层的向量表示,另一个句子采用cross-attentive后得到的加权句子向量;
8 i# ~0 T/ C* n# J- L策略四:其中一个句子取各token隐层的向量表示,另一个句子采用cross-attentive后attention score最高处token的向量作为句子向量。
3 L& A4 F/ v: r2 b! _# R" N7 Y这四种策略的区别在于对句子向量的计算不同。$ E4 t" ?3 ^& r
; ?! J- a- c" O% b/ l% b0 j
8 V( N! [' `1 }) d" C- ~
(3)聚合层,首先对上面各种策略得到的输出层再通过一层BiLSTM层,然后将各策略下最后时间步的输出进行拼接,得到最后的聚合向量;$ A& A; Z v! {8 u# K, W# A
8 i5 p; }/ d( a; D(4)预测层:两层MPL+softmax
$ s6 W \" ?: Z# i1 [
, l3 C: r6 c/ \; \ D! c9. HCAN
" e% i- O- G1 a: m# eHCAN是除Bert类模型外在文本匹配领域表现最为优异的深度模型之一,其采用了较为复杂的模型结构。4 U, U& D9 T! s
4 a- X2 b( ~' n5 J& s0 S2 Q
针对于信息抽取问题,文章首先分析了相关性匹配和语义匹配的差异:
. {; X) ?9 F" A5 ~- Z
! X( C& O* {9 I) }(1)相关性匹配主要关注于关键词的对比,因此更关注低层级词法、语法结构层面的匹配性;
9 Y$ S5 E) O7 e: I* G3 i R
. A" F$ K+ }0 E4 {0 f(2)语义匹配代表着文本的平均意义,因此其关注更高、更丑想的语义层面的匹配性。9 r1 z$ e# t* p" r: I& W
: z) z- e% N- {* [7 { O该模型首先采用三类混合的编码器对query和context进行编码:
5 v+ ]. X1 _+ m+ l1 q. x' ]
. x, A6 P" v- b(1)深层相同卷积核大小的CNN编码器;; g* @ T: Q1 z( R. C5 E
) v8 A7 F9 |& t(2)不同卷积核大小的CNN编码器的并行编码;
, o" _9 {; ? T c" h5 `; [2 t% p
9 i T: w* U3 B. J5 `; m+ s(3)沿着时序方向的stacked BiLSTM编码;: y; t8 a( V" E, o% T
8 Z9 c. E2 f7 Z4 f9 O$ k对于前两者,通过控制卷积核的大小可以更好的捕捉词法和句法特征,即符合相关性匹配的目的;而对于后者,其能表征更长距离的文本意义,满足语义匹配的目的。+ v; @; o) A' w0 u3 R# z, ^% |; `5 Z
6 _3 `7 \/ g7 @& V- V* _7 v
在这三类编码器的编码结果基础上,模型分别进行了相关性匹配和语义匹配操作。其中相关性匹配主要采用各phrase间内积+max pooling/mean pooling的方式获取相关性特征,并通过IDF指进行各phrase的权重调整。而在语义匹配中,模型采用了精心设计的co-attention机制,并最终通过BiLSTM层输出结果。+ |# \" v; T" y4 C: p
% [) Q$ @2 U' r, d最后的预测层仍采用MPL+softmax进行预测。! M K$ H2 t3 v
6 E; H9 P3 w" n* o6 ~
10. 小结9 n% x2 b7 n* M, o" O4 N
交互型语言匹配模型由于引入各种花式attention,其模型的精细度和复杂度普遍强于表示型语言模型。交互型语言匹配模型通过尽早让文本进行交互(可以发生在Embedding和/或Encoding之后)实现了词法、句法层面信息的匹配,因此其效果也普遍较表示型语言模型更好。
- h3 _; b3 D$ j! w! j9 O% O; }0 j V" R) l* G7 `
【Reference】* h9 U- W; ~" \+ k, F
/ e8 S1 p: L# C0 \7 q1 Z. T$ [8 I
ARC-II: Convolutional Neural Network Architectures for Matching Natural Language Sentences
A8 q) v1 n, f1 @ j% w7 a* | J2 W( N9 m2 j4 c: d* `+ k
PairCNN: Learning to Rank Short Text Pairs with Convolutional Deep Neural Networks
# s- n: {7 }4 ?& n) t& v$ A. T. H* k* \: \
MatchPyramid: Text Matching as Image Recognition
8 Z$ u" `1 Y2 F0 V+ O. ?( t6 i& ]$ y( R* q% j# n
DecAtt: A Decomposable Attention Model for Natural Language Inference9 w: h/ E* P, ^# s5 p
6 `' G5 l- t0 C" n6 ^, U$ WCompAgg: A Compare-Aggregate Model for Matching Text Sequences
# K+ Y6 [- y" m+ S. k
9 g9 A. U% I- yABCNN: ABCNN: Attention-Based Convolutional Neural Network+ h' k! I; t, x% V
for Modeling Sentence Pairs
/ \* r% D4 v4 ^; w% b
8 d8 V5 b1 n. l2 O# j; P& DESIM: Enhanced LSTM for Natural Language Inference
2 H S4 k' r) @" H& z9 x" y$ V( n* `7 b8 O+ P ]" a- L7 ?
Bimpm: Bilateral Multi-Perspective Matching for Natural Language Sentences, l7 w$ T. a' C0 C
$ u$ x: i4 s; `5 K- k8 P O
HCAN: Bridging the Gap Between Relevance Matching and Semantic Matching* \4 Z. T8 u0 d: U0 P% `# Z9 C
for Short Text Similarity Modeling
( l9 W6 _0 |. M2 ?) C! t' M; p
9 f9 s3 f/ j d; W3 j文本匹配相关方向打卡点总结(数据,场景,论文,开源工具)7 M2 Y3 M! Z, n# U; q6 d/ O5 l: I% m! r
% g, U( h; h# H* a# l( Q
谈谈文本匹配和多轮检索: ?: R- b s5 z3 L
3 c. [0 Q6 q& h6 r2 ~/ r3 O& b, X
贝壳找房【深度语义匹配模型 】原理篇一:表示型8 I: v, E1 n# y' e3 h3 z
————————————————
0 l; Q. I, b) n2 k6 c# x版权声明:本文为CSDN博主「guofei_fly」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
+ g, ]7 B* R& G原文链接:https://blog.csdn.net/guofei_fly/article/details/107501276, `; ?8 K: O2 e$ z) I
& H: e5 u [) ?5 Q3 |. o4 w! R+ ]! K' g) e1 {' h, r
|
zan
|