- 在线时间
- 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年大象老师国赛优 |
【文本匹配】交互型模型
/ [* M% u; U2 E; S# T
2 [5 A" [" \* S4 i; D7 G表示型的文本匹配模型存在两大问题:(1)对各文本抽取的仅仅是最后的语义向量,其中的信息损失难以衡量;(2)缺乏对文本pair间词法、句法信息的比较
' A; X ]' R0 }3 G6 ~, `, N1 Z9 i6 }0 h
而交互型的文本匹配模型通过尽早在文本pair间进行信息交互,能够改善上述问题。
' \+ Q* N9 u& B; Y
/ a0 W# E8 ]9 R基于交互的匹配模型的基本结构包括:
- W( h7 a2 Y- U- Y6 F) p! ~+ ?# `8 ^: |* Q* q2 t& z: m/ N' K4 M
(1)嵌入层,即文本细粒度的嵌入表示;* R' d8 i/ j+ s3 S
9 z' O) K) v- ^: o2 O- r
(2)编码层,在嵌入表示的基础上进一步编码;
& X5 @9 _ T0 Q& y; S1 Z
. X$ n1 E! H. p/ z% d(3)匹配层:将文本对的编码层输出进行交互、对比,得到各文本强化后的向量表征,或者直接得到统一的向量表征;4 ~( R0 n* Q- b
9 N6 _) |! c& s: o. N
(4)融合层:对匹配层输出向量进一步压缩、融合;
, s5 C Z' v" ~9 N3 X" J6 |" ]) h# U5 L
(5)预测层:基于文本对融合后的向量进行文本关系的预测。( c% d# Y' _9 a) H" ~+ ^
! x. O4 v5 G( p& ~# F! ]7 [
1 b% H* z# G2 K5 N; l7 I3 j
3 r" r" v- f! q2 F5 d) ]. U1. ARC-II
x5 }8 B5 b a. BARC-II模型是和表示型模型ARC-I模型在同一篇论文中提出的姊妹模型,采用pair-wise ranking loss的目标函数。% Q) t# s2 P! e! N$ ]
8 W3 _3 w, M9 m
其核心结构为匹配层的设计:& p; f5 m4 l9 C+ n
8 C7 d5 @ |- H+ G4 {/ [2 j(1)对文本pair的n-gram Embedding结果进行拼接,然后利用1-D CNN得到文本S_X中任一token i和文本S_Y中任一token j的交互张量元素M_{ij}。该操作既然考虑了n-gram滑动窗口对于local信息的捕捉,也通过拼接实现了文本pair间低层级的交互。( a7 C3 k/ {: u/ f
7 |+ E2 w% {1 Y- c. b/ I* u4 y1 U(2)对交互张量进行堆叠的global max-pooling和2D-CNN操作,从而扩大感受野。' d6 g( K5 j R' q0 ]# \
& D' f4 |. f( e$ R2 q$ V' j2. PairCNN
- j$ Y% b! M8 _+ s" a% z1 ]" tPairCNN并没有选择在Embedding后直接进行query-doc间的交互,而是首先通过TextCNN的方式分别得到query和doc的向量表征,然后通过一个中间Matrix对query和doc向量进行交互得到pair的相似度向量,然后将query的向量表征、doc的向量表征、相似度向量以及其它的特征向量进行拼接,最后经过两层的MPL得到最后的二分类向量。+ | c- d6 L% \9 l d2 `' l
) F* E3 N& n1 I7 S7 v1 O
PairCNN的模型架构中的亮点在于各View向量的拼接,既能利用原始的语义向量,还能够很便捷的融入外部特征。) M& q0 g. a$ h/ K6 [# D
9 d" y0 y- l- u
3. MatchPyramid7 W2 K" |2 }9 `1 N& C3 _
无论是ARC-II中的n-gram拼接+1D conv还是Pair-CNN中的中间Matrix虽然均通过运算最终达到了信息交互的作用,但其定义还不够显式和明确,MatchPyramid借鉴图像卷积网络的思想,更加显式的定义了细粒度交互的过程。" e. X' l( ^* v4 a: N5 k) ^
MatchPyramid通过两文本各token embedding间的直接交互构造出匹配矩阵,然后将其视为图片进行2D卷积和2D池化,最后Flatten接MLP计算得匹配分数。本文共提出了三种匹配矩阵的构造方式:
, v+ x" L8 |8 I! u7 p+ }+ M T6 a ^
(1)Indicator:0-1型,即一样的token取1,否则取0;这种做法无法涵盖同义多词的情况;
# Z; ~, Z# R o8 r# k3 I, ~. E. | [9 Y) Y1 f
(2)Cosine:即词向量的夹角余弦;9 L1 Y; U2 ^: s" H- q+ e9 L
, ]) B2 g) n$ E1 }( l
(3)Dot Product:即词向量的内积
, J: Q/ H1 p' x3 W5 ^' o9 x
) h- G: K% w2 q, T$ n H% u此外值得注意的是因为各个文本pair中句子长度的不一致,本文并没有采用padding到max-lenght的惯用做法,而是采用了更灵活的动态池化层,以保证MPL层参数个数的固定。
( d9 p! o* _+ e+ ~0 }& S! J( Q l* k, f* c* }3 X" X
4. DecAtt
1 S# \* v' n; {. g$ Q# GDecAtt将注意力机制引入到交互型文本匹配模型中,从而得到各token信息交互后增强后的向量表征。. h5 M) w" x% g6 m. U1 G1 {
/ f. ^/ j; l( Z0 ~8 h* u( l模型被概括为如下层级模块:: n9 ]& k1 i! b+ ^+ k$ e' u, D6 K0 _, ]
2 H) k$ v; u+ T' w P- C
(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。# ^; f$ d; ^( S/ G5 S& b# I
: ~3 Y8 ]: X3 S(2)Compare层:将前序Attend层计算得到的最终embedding,喂入一个全连接层进行向量维度的压缩。& I3 C# V+ e3 e9 k8 i: O& ]! o
b, s1 _/ S, x3 R+ O
(3)Aggregate层:将每个文本各token处压缩后的向量进行简单的求和,再拼接起来通过MPL得到最后的匹配得分。
% S) P) ?6 G8 x* m6 ^2 x4 _4 L1 t9 ~. v+ l
5. CompAgg
: i' b8 M0 O& I( ]9 D' h$ a1 hCompAgg详细对比了在文本间cross-attention得到的各token向量表征与原始token向量进行compare的各种方案。
7 S: \7 g4 y5 _3 _ R" T2 Q
- O2 g# W4 R" a: G& C该模型的主要结构包括:
# O7 L2 h+ K' w( h$ R3 ]/ B, ^5 ^& ]! j- Z9 E$ \
(1)reprocessing层:采用类似于LSTM/GRU的神经网络得到token的深层表示(图中的\bar a_i);
( u0 H B7 h2 H4 O0 ]) L( Y0 N# L( w' X8 S. |% U
(2)Attention层:利用软注意力机制计算文本间的cross-attention(与DecAtt相同),从而得到各token处交互后的向量表示(图中的h_i);
, u+ l- e% m' {, z% a
( e# _7 r2 G' C1 V; ^' N2 G(3)Comparison层:通过各种网络结构或计算将\bar a_i和h_i计算求得各token的最终表征。, d* I: E. w* W) m4 e) K
0 r5 |' C6 Y3 O( {(4)Aggregation层:利用CNN网络对Comparison层的输出进行计算,得到最后的匹配得分。
, ?, ^/ u3 p+ `& G8 x4 D/ Q
2 A6 Q9 |- ~2 Y4 r% q, m其中Comparison层的构造方式包括:
0 E5 o N) b% d
S1 ~9 P2 W/ D! r' W(1)矩阵乘法,类似于Pair-CNN中的中间Matrix) f d. T3 z( n3 b
7 D3 a+ v) v2 Q, @# \% @(2)前向神经网络,即将\bar a_i和h_i进行拼接,然后利用输入FFN;
% y# T, t; w7 W
& b9 `9 t! ~, D- w/ b(3)分别计算cosine和欧式距离,然后拼接;
6 |1 o7 C; p! b; F7 ]4 [( w$ v- E0 n" v& a
(4)各维度进行减法;
* c# c6 w" W" a r9 Q0 o! @ R/ c
(5)各维度进行乘法;
. n. v: x7 M8 T* M2 T; U* i5 D+ {2 b/ h" n
(6)各维度进行减法和乘法,然后再接一个前向网络。. w8 A: y9 d3 f0 e$ u2 F8 c
0 v' O2 X# |/ N- e& J, y
6. ABCNN
0 |2 r% h( m( V. X+ H5 PABCNN是将Attention机制作用于BCNN架构的文本匹配模型。) s, }/ B: ]& Q% B
0 J$ `5 E' Y: V: \5 E- X# o6.1 BCNN9 W) E( m- h9 ?6 ]7 P8 y% M
首先简单介绍下BCNN架构:( O! h( }# S. l$ Q# S& J
9 b$ a$ s2 j: v5 L
BCNN的整体结构比较简单:(1)输入层;(2)卷积层,因为采用了反卷积的形式,所以在size上会增加;
* O* K4 e! s5 D$ O% X; l1 ^! B
(3)池化层,采用了两种池化模式,在模型开始阶段采用的是local平均池化,在最后句子向量的抽取时采用了global平均池化;(4)预测层,句子向量拼接后采用LR得到最后的匹配得分。: `/ ~" a! f. r& h5 T T
0 i }5 g( j, V. ]' `' B E2 f4 K4 SABCNN共包括三种变形,下面依次介绍。
9 K; c4 e1 U7 L N) y: W, S( q5 g1 W0 l3 D
6.2 ABCNN0 J5 ~( V* z+ {8 I' g& e
* p$ D+ r% }. u% R8 v( o
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 ; g$ J% i w1 w2 B: }; T' a
ij# V* b* I) E- ]
! K4 Q3 D+ e) \- k = 9 `+ [" O* H8 L6 c* f
1+∣x
- K* t9 \7 H* U; w5 ji( i0 m' D, c' s2 W3 a, S
6 \, g/ o9 P H3 Y, ]3 F −y
4 ?( ?, a9 ^5 m4 ~1 S5 Mj
8 v3 r" @6 a) o9 s4 N- H' V, t; K; r ) A" X9 j- c* w: x+ [3 Y
∣& e5 {7 z" ?$ ?* R; E% v
1
9 J+ g) X% C5 Q0 T6 y% W
: l" R5 [- q1 X ,然后分别乘以可学习的权重矩阵 W 0 W_0 W
2 Q. F( h9 }; H( J' h03 f: `: Z9 w0 {) i* F
" p m# f4 S% C: m- i
和 W 1 W_1 W
) [% ~, Z. e: O1
4 Q( K- o7 O- n. c8 e! J8 P% o; H- D 5 B1 V# g6 B+ K
得到attetion feature map。
9 g4 c& ^- e+ t7 U) m# H) m) c
; M. p! ?$ ^) r9 [7 T, y: J6.3 ABCNN-2 m( i p$ [2 m; e
% C$ W: L7 [6 h' p( d! w7 gABCNN-2将Attention机制作用于word embedding层后的反卷积层的输出结果,其中注意力矩阵的计算原理与ABCNN-1一致。然后将注意力矩阵沿着row和col的方向分别求和,分别代表着各文本token的attention socre;接着将反卷积层的输出结果与attention socre进行加权平均池化,得到与输入层相同shape的特征图。
' s# u0 K5 t0 r
) h. Y4 Y: b2 S2 Y: f: g2 I9 W6.4 ABCNN-31 L. O8 q b: x, _7 M- M7 l' N/ N5 d
- P& ]+ \, P& e4 T
ABCNN-3的基本模块可视为ABCNN-1和ABCNN-2的堆叠,即在嵌入层和卷积层上面都引入了attention的机制用来增强对token向量的表示。
3 O1 a. Z5 m% v2 }1 t8 x* c
/ K, }/ A9 @; n7 T: e; w# m7. ESIM
: p, ^9 y2 V# V7 `0 kESIM模型基于NLI任务给出了一种强有力的交互型匹配方法。其采用了BiLSTM和Tree-LSTM分别对文本序列和文本解析树进行编码,其亮点在于: X v; L2 l1 i0 @
% [) s; v" D* [( [% N. w
(1)匹配层定义了cross-attention得到各token的向量表示与原token向量间的详细交互关系,即采用 [ a ˉ , a ^ , a ˉ − a ^ , a ˉ ∗ a ^ ] [\bar a, \hat a,\bar a-\hat a,\bar a* \hat a] [
- b3 @6 V U" M7 a5 Z) {) {, C1 u) ja8 c; b- a% A/ H2 l# v
ˉ9 f6 z1 ]' T8 A) s* Q, Q4 }
, 4 o/ N+ \# e* R& b
a; a; D) ~1 G0 Q' _7 Z! M0 `; P7 K; V
^
3 g: O! `4 T1 h ,
4 z- Y, d. M' ` ?8 Ma
2 Z& Y, t8 ?, sˉ
" |2 H! h6 }7 b# J" u, g: Q −
2 P7 S0 Y0 i; O8 F; g+ Na
" d- f) U( F% e7 g- `8 ?* P^5 }: |6 E: X$ \3 K/ G
, . J9 Y6 e, _: H- Z- w. q) U
a
% a/ U! ~$ z# K5 O9 W8 _ˉ: g) e# ^. E: J) x3 ~
∗
9 P! \' y) v5 c; ha2 r3 V- g) b# I6 }/ `) G5 x+ d
^1 H& y# Z$ _( A7 q3 e
]作为最终文本token的向量表示,这也成为后续文本匹配模型的惯用做法。 v8 P& `3 l: h1 `3 r) J
A4 p& E+ d. c! I: _; [. G& l, \
(2)聚合层通过BiLSTM得到各文本token的编码,从而进一步增强了文本序列的信息传递;4 \7 I. O7 S9 b6 Z# G: Z5 j8 c
" ^) F. T0 y; ~! d$ ?2 X
(3)预测层通过拼接各文本token编码的max-pooling和mean-pooling结果,再经过MPL进行匹配预测。) I! ?' ?4 `; M
2 _. i1 u, {: C8 G2 _- ]
6 ?; x' u) S" U C! e3 R& p. z: d
8. Bimpm
/ a! n8 h) |* }+ S y+ J5 w. R+ TBimpm可视为对之前各类交互型文本匹配模型的一次总结。2 ]. I% E6 E3 U. K; b' Q. X# Z
" }9 c! {* w4 m) A该模型在各层的具体做法总结如下:
9 [$ M1 z/ Q% {2 h* S5 ^3 z* {0 }( Z! ?; Z3 w- H" R# m
(1)编码层采用BiLSTM得到每个token隐层的向量表示;
! I+ q U& E9 P3 w* n& V9 B- l2 W n M4 C1 ?
(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' | L$ S4 _ T
k
' q- @. O, `) Z% P5 u/ {
8 v0 J6 s" s: s1 K' B6 ~" r =cosine(W " P+ V# Q, u& N
k, d% H7 A% j0 ^, W
- R: |' d3 V! _( Z. r/ r1 t2 Q" u
∗v
/ T* g V4 H; \/ ^1: R; q( ^/ t" F o. \
& s3 o: G7 a7 b9 R+ D ,W
+ [7 M) ]& a* ?2 z w N7 Nk% y, }( G8 d: `% H
, g0 `# F, r+ a1 m0 [7 O
∗v
4 I) Q. C9 h; U$ |, H: V2* w1 @8 u1 y5 z7 R. q1 A
% `; v1 N1 S# d" | )的方式可以得到两个文本的任意token pair之间在第k个view下的匹配关系,至于 v 1 v_1 v
. E% t$ M. t( m# P4 e# N' K' K( [/ V1
/ w( F/ _7 _, q8 t' H! i' w( N1 C0 {- g
% C4 r% d0 h+ Y 和 v 2 v_2 v
0 V( `( f1 W8 p& n2
E0 x* L8 C5 S % M9 K; i& w+ { s+ u3 j
如何取,文章提供了4种策略:
, @: G% e& n: [; E! S* }7 }0 } h2 L1 Y S( Z; _0 P
策略一:其中一个句子取各token隐层的向量表示,另一个句子采用隐层最后时间步处的输出;
8 u! `* D4 W1 c6 M) L2 H策略二:其中一个句子取各token隐层的向量表示,另一个句子采用隐层各时间步输出与之匹配后取再取Max-Pooling值;8 F7 ]1 \) T! @. R) t
策略三:其中一个句子取各token隐层的向量表示,另一个句子采用cross-attentive后得到的加权句子向量;# K: n" w) {0 @: z# z/ Y
策略四:其中一个句子取各token隐层的向量表示,另一个句子采用cross-attentive后attention score最高处token的向量作为句子向量。$ A4 Z5 J; i* h$ Z$ E
这四种策略的区别在于对句子向量的计算不同。
k0 c% F( m6 I' @) e* W2 C5 G+ ?# i* Z
5 {1 u+ v) c3 L$ n
(3)聚合层,首先对上面各种策略得到的输出层再通过一层BiLSTM层,然后将各策略下最后时间步的输出进行拼接,得到最后的聚合向量;
& f1 t1 Q. Y, Z' ? o& Q$ l6 t& O8 I
(4)预测层:两层MPL+softmax
* |7 m# j e1 T0 n; `2 ~" b" u1 ~6 @
6 D5 C4 s# q1 D1 _# f2 [' F9. HCAN+ V6 _0 D" w# M! V; I
HCAN是除Bert类模型外在文本匹配领域表现最为优异的深度模型之一,其采用了较为复杂的模型结构。1 f6 j' K' w2 E, L; ?4 d
0 U6 p: h4 E* I8 f1 V" [
针对于信息抽取问题,文章首先分析了相关性匹配和语义匹配的差异:
7 b7 b* r: q' E
# g2 V! D( ^/ b9 D6 t2 q(1)相关性匹配主要关注于关键词的对比,因此更关注低层级词法、语法结构层面的匹配性;2 D& S j( v* y
" D) q: S: u1 V) L" t(2)语义匹配代表着文本的平均意义,因此其关注更高、更丑想的语义层面的匹配性。
R. T+ r$ E- F. L [" }, u W3 P4 ^. ?) i& M* d; `: J
该模型首先采用三类混合的编码器对query和context进行编码:
& a+ C6 t3 V+ a% u. M0 c
. Q5 q8 S: ^3 c! z3 S4 d( |: w: Y(1)深层相同卷积核大小的CNN编码器;
7 Q8 P3 c- ]6 N" _4 }) M% U6 X7 ~3 J4 \' H" @) C' O- q% o* L
(2)不同卷积核大小的CNN编码器的并行编码;
6 s$ F4 l6 _8 x" t$ ]8 ~4 _# J5 K8 E) B( v
(3)沿着时序方向的stacked BiLSTM编码;
: S& j6 X8 k% y3 s& v
: {" ~2 @: P o H! z对于前两者,通过控制卷积核的大小可以更好的捕捉词法和句法特征,即符合相关性匹配的目的;而对于后者,其能表征更长距离的文本意义,满足语义匹配的目的。9 R# i: ^3 x+ k. Q6 i- J3 l, z; h% Z
( z" L1 W0 |$ q- Z6 _; x0 o. o0 U! O
在这三类编码器的编码结果基础上,模型分别进行了相关性匹配和语义匹配操作。其中相关性匹配主要采用各phrase间内积+max pooling/mean pooling的方式获取相关性特征,并通过IDF指进行各phrase的权重调整。而在语义匹配中,模型采用了精心设计的co-attention机制,并最终通过BiLSTM层输出结果。( f" |3 y' d1 k. t9 w
, J9 ^) \) @# F: P/ l
最后的预测层仍采用MPL+softmax进行预测。. X, U( {& d# J
9 k* R1 n( j! t* A/ T( g, _: O10. 小结" ?* _% `" k* m7 m- L2 h
交互型语言匹配模型由于引入各种花式attention,其模型的精细度和复杂度普遍强于表示型语言模型。交互型语言匹配模型通过尽早让文本进行交互(可以发生在Embedding和/或Encoding之后)实现了词法、句法层面信息的匹配,因此其效果也普遍较表示型语言模型更好。' u" _8 \( n% q8 a' r$ l
b+ ?$ Y' j" F( k* E$ S【Reference】2 U7 v0 \. n& s' b- R
# C/ B2 z- f8 `+ y/ [& j2 e
ARC-II: Convolutional Neural Network Architectures for Matching Natural Language Sentences& ~1 {! `+ J7 e M; i
/ x4 Q; x! }; h( NPairCNN: Learning to Rank Short Text Pairs with Convolutional Deep Neural Networks: i" v( o& b0 Q; s' J" @) f
4 m. i5 ?0 g0 w/ UMatchPyramid: Text Matching as Image Recognition X( s1 q5 b: N' A
3 n% z; S7 {! u+ o6 h* DDecAtt: A Decomposable Attention Model for Natural Language Inference, Y/ {; T; P, L" _8 [) E( U2 I6 k( }
y3 h+ m( [- r; \9 YCompAgg: A Compare-Aggregate Model for Matching Text Sequences5 l4 z' G x+ s4 a1 k
5 q2 O: M- v! k5 n* U: EABCNN: ABCNN: Attention-Based Convolutional Neural Network
]0 \5 ]; n' L+ C% Vfor Modeling Sentence Pairs
, Y v( E( V/ H2 B$ X4 }5 O
$ D2 g. d# z) k8 @ESIM: Enhanced LSTM for Natural Language Inference$ ]- o7 g% ]; U7 f" K
: s) G Y- p7 L5 G$ _0 b2 U
Bimpm: Bilateral Multi-Perspective Matching for Natural Language Sentences
) r8 b. i6 E d* }- P# c9 e8 V s
% _, y. q- ^5 b0 f1 `HCAN: Bridging the Gap Between Relevance Matching and Semantic Matching# M. Z$ O2 g$ u) I. O- K
for Short Text Similarity Modeling
3 d+ l, q% d' U w% p' x$ _9 A: {2 Q+ E
文本匹配相关方向打卡点总结(数据,场景,论文,开源工具)
* i0 N) R, ^( E: N* x
7 v, ~& u0 h& o8 \, ~9 x3 _谈谈文本匹配和多轮检索
- y, C! v9 k- E& c3 h( h0 L" h" F! k- I! C- J, Z7 p9 m
贝壳找房【深度语义匹配模型 】原理篇一:表示型' E6 X% Q- K; F1 n* y
————————————————
7 \6 {/ x5 Q5 S8 D' R3 J' Y版权声明:本文为CSDN博主「guofei_fly」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
- F: v/ \8 i* w) r2 n* r原文链接:https://blog.csdn.net/guofei_fly/article/details/107501276. \# ~+ U; k7 u8 R) F
6 D+ m$ ?8 [( f& ^9 o9 ~
' y; \1 G' O) K4 z: [1 y |
zan
|