- 在线时间
- 1630 小时
- 最后登录
- 2024-1-29
- 注册时间
- 2017-5-16
- 听众数
- 82
- 收听数
- 1
- 能力
- 120 分
- 体力
- 558246 点
- 威望
- 12 点
- 阅读权限
- 255
- 积分
- 172847
- 相册
- 1
- 日志
- 0
- 记录
- 0
- 帖子
- 5313
- 主题
- 5273
- 精华
- 18
- 分享
- 0
- 好友
- 163
TA的每日心情 | 开心 2021-8-11 17:59 |
---|
签到天数: 17 天 [LV.4]偶尔看看III 网络挑战赛参赛者 网络挑战赛参赛者 - 自我介绍
- 本人女,毕业于内蒙古科技大学,担任文职专业,毕业专业英语。
 群组: 2018美赛大象算法课程 群组: 2018美赛护航培训课程 群组: 2019年 数学中国站长建 群组: 2019年数据分析师课程 群组: 2018年大象老师国赛优 |
【文本匹配】交互型模型& u5 C/ [1 o5 G6 G% Z% u3 _; n
1 j. i! [; E5 m表示型的文本匹配模型存在两大问题:(1)对各文本抽取的仅仅是最后的语义向量,其中的信息损失难以衡量;(2)缺乏对文本pair间词法、句法信息的比较
! ^7 n# e' S$ O i+ j, S: J4 ?# [! x* O3 h" s6 r
而交互型的文本匹配模型通过尽早在文本pair间进行信息交互,能够改善上述问题。! V$ l2 E* o! ~9 h8 G A
. f' G7 c1 J% W7 s. ~" j- m
基于交互的匹配模型的基本结构包括:
3 }6 {% k6 N) ^2 }. A* B
5 |* c6 i6 ]! R) u1 h5 H(1)嵌入层,即文本细粒度的嵌入表示;
) p. M3 d2 \# q7 O. s; O4 G. S" w) P
(2)编码层,在嵌入表示的基础上进一步编码;
! [: C# z5 x7 d* J0 ~8 L A# Y; u* b
(3)匹配层:将文本对的编码层输出进行交互、对比,得到各文本强化后的向量表征,或者直接得到统一的向量表征;$ q3 R% J- J) ?; X6 y g
4 v! O# R: d" i& r* F% ~4 v
(4)融合层:对匹配层输出向量进一步压缩、融合;6 N+ l* d$ b6 O6 P: q% h
3 K& c: S( [6 V, a% g
(5)预测层:基于文本对融合后的向量进行文本关系的预测。9 C {0 G1 R- y) b" v; n+ I3 E
* s) k& @0 p; y( D S
- x5 H# z. Q1 k3 r
* g0 c% V" {: u, J, i1. ARC-II) ~, }! M6 q5 E& b$ d, R4 }
ARC-II模型是和表示型模型ARC-I模型在同一篇论文中提出的姊妹模型,采用pair-wise ranking loss的目标函数。4 A6 _$ ^6 L9 ], U1 A5 _
5 I8 F/ y1 |7 t4 f6 N8 x& z# u
其核心结构为匹配层的设计:
3 Z0 |3 U) W8 H$ g1 g0 Z! O
! c+ Q& D, {- v( u(1)对文本pair的n-gram Embedding结果进行拼接,然后利用1-D CNN得到文本S_X中任一token i和文本S_Y中任一token j的交互张量元素M_{ij}。该操作既然考虑了n-gram滑动窗口对于local信息的捕捉,也通过拼接实现了文本pair间低层级的交互。& D" C q O+ A) \. b
m8 _; ~" ~5 a% I& |1 D' U" d% P. k(2)对交互张量进行堆叠的global max-pooling和2D-CNN操作,从而扩大感受野。) _" O: U) u# t8 d* k
9 J7 J+ F$ Y; b! h
2. PairCNN
, s7 O, c7 l, \ p, wPairCNN并没有选择在Embedding后直接进行query-doc间的交互,而是首先通过TextCNN的方式分别得到query和doc的向量表征,然后通过一个中间Matrix对query和doc向量进行交互得到pair的相似度向量,然后将query的向量表征、doc的向量表征、相似度向量以及其它的特征向量进行拼接,最后经过两层的MPL得到最后的二分类向量。: Z; I4 H& s, h
7 y3 [: G# Z, c: N
PairCNN的模型架构中的亮点在于各View向量的拼接,既能利用原始的语义向量,还能够很便捷的融入外部特征。: G; }1 z G7 w
- { Z* N, P; `! t t; d
3. MatchPyramid
8 T1 x/ a: R8 {无论是ARC-II中的n-gram拼接+1D conv还是Pair-CNN中的中间Matrix虽然均通过运算最终达到了信息交互的作用,但其定义还不够显式和明确,MatchPyramid借鉴图像卷积网络的思想,更加显式的定义了细粒度交互的过程。$ J+ l( l" `: E. j! d
MatchPyramid通过两文本各token embedding间的直接交互构造出匹配矩阵,然后将其视为图片进行2D卷积和2D池化,最后Flatten接MLP计算得匹配分数。本文共提出了三种匹配矩阵的构造方式:
3 F8 Y6 F! F8 ~0 p! j f: c# |' }/ X% h' n3 C `
(1)Indicator:0-1型,即一样的token取1,否则取0;这种做法无法涵盖同义多词的情况; |! y; e% {& q8 c8 A
" r" S1 W! x) i0 W) @/ F
(2)Cosine:即词向量的夹角余弦;6 R* f! |& u- g; y, l* I
6 ?8 o3 a* F' h( m
(3)Dot Product:即词向量的内积
- j/ J4 o) g1 h2 f' i3 v n$ T+ { S
此外值得注意的是因为各个文本pair中句子长度的不一致,本文并没有采用padding到max-lenght的惯用做法,而是采用了更灵活的动态池化层,以保证MPL层参数个数的固定。" n5 R; j9 C! c7 d
4 W; [+ }( O0 y, b4 u* }5 i! c# b4. DecAtt8 `0 S, M; A3 }, i9 \
DecAtt将注意力机制引入到交互型文本匹配模型中,从而得到各token信息交互后增强后的向量表征。
/ n! F9 h% _7 j
; X" n8 r/ l. _" U: r3 u模型被概括为如下层级模块:2 W, P" ]7 i3 u1 N# w! K! J4 l
3 ?3 m: J8 r' I5 q4 R1 S(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。6 K2 ~2 K5 A" M7 n) j
+ o+ B+ {' ?% t$ |* p
(2)Compare层:将前序Attend层计算得到的最终embedding,喂入一个全连接层进行向量维度的压缩。2 w1 z' N; Q) E8 ]8 O5 T* v) z
; |# \* K$ r4 K; \/ S; s' B
(3)Aggregate层:将每个文本各token处压缩后的向量进行简单的求和,再拼接起来通过MPL得到最后的匹配得分。
- m1 s( @( P! d6 R/ H
% `0 t2 x5 @0 f3 |5. CompAgg
" }# A _& X9 d1 _; J) ^8 p3 U; RCompAgg详细对比了在文本间cross-attention得到的各token向量表征与原始token向量进行compare的各种方案。
6 W6 i' q8 D" S o, t
6 o* ]% y. G. }4 N6 R: w- o该模型的主要结构包括:% j! S% U% t: Z7 d9 O2 ~# @! S9 x" I
/ j4 r6 |; D9 r(1)reprocessing层:采用类似于LSTM/GRU的神经网络得到token的深层表示(图中的\bar a_i);0 E' E% R, ~, R
% e6 [3 f3 I$ `) S/ Q9 o) t, O, P
(2)Attention层:利用软注意力机制计算文本间的cross-attention(与DecAtt相同),从而得到各token处交互后的向量表示(图中的h_i);6 d1 @" q9 |+ f% n- i
$ K6 X4 `. p( C( P7 Z
(3)Comparison层:通过各种网络结构或计算将\bar a_i和h_i计算求得各token的最终表征。
: R% _1 k$ x8 L" o1 \ e& v- x, t+ U8 n% Q! }
(4)Aggregation层:利用CNN网络对Comparison层的输出进行计算,得到最后的匹配得分。& ?& N C' [% L2 m; K
2 M2 H. J2 F3 Q% I
其中Comparison层的构造方式包括:
+ q- d' f& y3 D B9 b+ {1 X6 ^* d& B0 P
(1)矩阵乘法,类似于Pair-CNN中的中间Matrix
( d n* V" A/ o( i! n
: ^; u& {! p0 q/ J' j9 h2 {9 u(2)前向神经网络,即将\bar a_i和h_i进行拼接,然后利用输入FFN;% S8 c# x( ~# V9 Y- w
) }% Z$ V: \' v4 c0 {- {(3)分别计算cosine和欧式距离,然后拼接;
4 u: ~' B) P) |. K' N, N
! ]2 I8 S P* g' V$ d7 |/ [(4)各维度进行减法;1 e) N7 [ ~3 O
1 F3 g1 c+ R. [
(5)各维度进行乘法;
1 D7 p9 @ y1 _$ t! r
' D& P- } m2 p& n# a; T% U) d(6)各维度进行减法和乘法,然后再接一个前向网络。
4 s) `% B$ v9 H+ K
& \2 L$ X( x3 c" k$ q, m8 V: N6. ABCNN
6 a( ]2 V. h7 X( u0 E# wABCNN是将Attention机制作用于BCNN架构的文本匹配模型。1 C7 z0 I8 Q# U x3 J& Y
6 O6 U3 [% \! ^6.1 BCNN
; i2 q& ?5 o( S) C8 P首先简单介绍下BCNN架构:
2 w9 z( j6 Z5 j; U+ T9 i* S* s5 P
5 z$ Y+ I3 k/ R( ABCNN的整体结构比较简单:(1)输入层;(2)卷积层,因为采用了反卷积的形式,所以在size上会增加;: ~, W& b' B- y4 u% u |9 H2 _
8 @! w- M" f/ O M
(3)池化层,采用了两种池化模式,在模型开始阶段采用的是local平均池化,在最后句子向量的抽取时采用了global平均池化;(4)预测层,句子向量拼接后采用LR得到最后的匹配得分。+ b1 [4 `$ q# V! V4 ~- ^
; \& J$ }- j# n- C: {* DABCNN共包括三种变形,下面依次介绍。
5 I% s% N! x+ @2 A8 W& J; t P
8 C6 B& j8 i$ J! ?8 [6.2 ABCNN
( S) e; g' Y) C- W- F* K4 Z. Z c8 ? U5 `
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 8 x0 Q7 b. j. e. }! }
ij
+ L% ^# Y% F8 j8 F2 N: R
7 U3 r' H8 y; r8 }- e =
) i1 @; ]' L" K7 _: b- E, k% s w1+∣x
& ? C8 p3 H- `6 v% z( ai0 f& g, B9 V, F* A* N, d5 ^
. Q1 D! t' j# e7 Q3 P
−y , ?5 _, |$ K- ~8 a) q
j
0 S3 K- t- @/ N7 X' I9 I+ L/ O 8 y; m; h1 f7 D4 H4 e/ y1 H
∣; q4 x$ k+ }! u/ N' B0 S D
1
! c6 u v8 c* b0 Q" Q
$ Q! q9 s0 Q* q" {$ g E, ` ,然后分别乘以可学习的权重矩阵 W 0 W_0 W - R' F6 v$ V) f2 ^
0
! J; [ l$ C" w# {! l6 I
* B- }+ F: {: B0 V 和 W 1 W_1 W
0 C2 I. }: e5 n% Q2 F15 a) I7 f8 O0 G ~/ R( M" g
: x# h- w: r3 H7 `5 f& y 得到attetion feature map。! r- d0 _8 h1 k) d. e- x
' q5 A& ^2 b* M u& x/ x, ^' b6.3 ABCNN-25 o' u# ^0 n* V( V. Y
9 ^4 R6 e9 y. S3 r% A# qABCNN-2将Attention机制作用于word embedding层后的反卷积层的输出结果,其中注意力矩阵的计算原理与ABCNN-1一致。然后将注意力矩阵沿着row和col的方向分别求和,分别代表着各文本token的attention socre;接着将反卷积层的输出结果与attention socre进行加权平均池化,得到与输入层相同shape的特征图。
4 Y# G$ @- y( C/ I$ i8 N# R n8 Q2 m0 |/ c# @ l
6.4 ABCNN-33 P4 a! u- E7 k V) D
" k3 T$ ?2 q# \& A1 \. ~2 D
ABCNN-3的基本模块可视为ABCNN-1和ABCNN-2的堆叠,即在嵌入层和卷积层上面都引入了attention的机制用来增强对token向量的表示。
5 u3 R- ?- e* i8 Y1 b/ Z+ n- b/ ?# _+ }4 ?
7. ESIM1 L4 R# r. A) r& {; S- |( \
ESIM模型基于NLI任务给出了一种强有力的交互型匹配方法。其采用了BiLSTM和Tree-LSTM分别对文本序列和文本解析树进行编码,其亮点在于:
f7 Y* q7 k; \7 _, X% K7 B5 S$ S5 q' |* f2 Z2 ~( Z5 R
(1)匹配层定义了cross-attention得到各token的向量表示与原token向量间的详细交互关系,即采用 [ a ˉ , a ^ , a ˉ − a ^ , a ˉ ∗ a ^ ] [\bar a, \hat a,\bar a-\hat a,\bar a* \hat a] [
1 r( W# G7 B4 x" e/ K. Ma
) u( {/ |; a) w% t8 xˉ+ P: Q; q$ j( [5 U, Z& C
, 8 H( f5 ?" @0 g& _' i6 H) a
a) H: o! b1 |3 l* P; I
^- i4 a0 D, S/ Z! e' v* o. I
, 0 @/ J/ S* s% T* D4 [
a
* e( Y& \3 }$ s$ K+ Zˉ P5 ~& c! o' t7 L3 G; l3 `) W k
− / {+ s5 M ~: n2 U" Y, S
a% l1 M$ _; h: M0 c0 ?8 _9 o
^7 L: G# b/ H& C
,
. a; r, [5 w/ n( B! v4 Ia
$ N0 W& k j8 D0 _" Eˉ
( y& j' F5 ?! h- X3 t/ T d+ t/ N) g2 d ∗ 1 D1 w' D# A5 ^3 s; {" C% [9 O
a
7 j* y( a: s" k3 h* T9 l3 O% C^
. W' E$ E6 g* e# U ]作为最终文本token的向量表示,这也成为后续文本匹配模型的惯用做法。1 i& A+ Q0 t5 c+ R
- B* \5 N5 K9 y/ H: w0 Z& U: O(2)聚合层通过BiLSTM得到各文本token的编码,从而进一步增强了文本序列的信息传递;
) ?0 X" A. c4 w. ?* L4 `1 t$ z9 U. R1 _9 l* P# d
(3)预测层通过拼接各文本token编码的max-pooling和mean-pooling结果,再经过MPL进行匹配预测。
( k* _* h, Q* U% Y3 b: b
& \) y& F' I5 D
; `( N6 B5 b) y; T9 l" w9 V2 v |4 J+ [5 m
8. Bimpm
! | t+ V) X! F- f# H* S3 DBimpm可视为对之前各类交互型文本匹配模型的一次总结。
p# b( i' Q" g( w! d6 `( B7 y* h2 c) U
该模型在各层的具体做法总结如下:/ O) S4 ^2 u, ?% c
, f ]: l# ?% W; w: p3 C
(1)编码层采用BiLSTM得到每个token隐层的向量表示;2 W% l2 l. e+ v/ L V* Y
" c% f" W7 C/ p
(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
9 s. k6 b0 L. x; _$ E8 W4 M, [2 \: Yk9 @5 Z+ k# O- } x. Z, S- ?8 V" {
1 x; a+ Y2 d u9 j3 I
=cosine(W
' E% R# p# K0 @- Nk$ g3 p5 h- \8 S5 R9 }& Q
9 \- v+ C5 j/ p3 ]
∗v , p, c T3 C" K1 `
1
* L$ V! P& Y" Q# \/ I
) }% j' z) ]/ Y& j ,W $ I3 N# Q& v; l0 X
k7 R: [2 }7 Q o) n( ~
! {- i1 E# V- w, E5 ~
∗v ' j2 }7 Y4 @1 l* X! T. t: J
2; g+ @9 _( o/ w1 T! C" q5 K0 n# m
8 W- W$ w6 S6 }) y% |: d# Z
)的方式可以得到两个文本的任意token pair之间在第k个view下的匹配关系,至于 v 1 v_1 v
1 G$ v5 N6 J8 M, b+ y o% v1
' i7 g, L) U- X $ ?- A( C7 b$ y5 [
和 v 2 v_2 v
Q5 L' E1 D) |' y+ W8 Y2
/ w3 P( V) Y( [. V+ S- Q) A+ q 3 n3 i7 m8 x( w& U$ M! J, C! b0 O o
如何取,文章提供了4种策略:4 x! v% A5 F- R+ `& [* V
' U* o* b( ^7 v) w2 i! h
策略一:其中一个句子取各token隐层的向量表示,另一个句子采用隐层最后时间步处的输出;
% u3 N( t7 b6 p( m策略二:其中一个句子取各token隐层的向量表示,另一个句子采用隐层各时间步输出与之匹配后取再取Max-Pooling值;+ Y$ Q7 i& D# x9 O8 _- ?
策略三:其中一个句子取各token隐层的向量表示,另一个句子采用cross-attentive后得到的加权句子向量;+ g- r' W% @) Y- v: W9 }
策略四:其中一个句子取各token隐层的向量表示,另一个句子采用cross-attentive后attention score最高处token的向量作为句子向量。! B# R# q5 T4 t, k8 j7 x& u/ i. g. K" ^
这四种策略的区别在于对句子向量的计算不同。
, k% D$ j: X0 X" V5 |
6 b: d2 m( f3 W( C- S" u8 Z3 U' Z5 |4 ^8 ^& A: ?
(3)聚合层,首先对上面各种策略得到的输出层再通过一层BiLSTM层,然后将各策略下最后时间步的输出进行拼接,得到最后的聚合向量;
- q, F2 o, ~( f$ q% f! Q/ w0 @! [; A5 h" H/ `* T
(4)预测层:两层MPL+softmax4 Y. C' t0 f d% G4 P& {4 q* j
" J- I5 e& [8 I$ f1 x% v
9. HCAN
6 D$ I/ A- [! Q# Y0 W4 n, YHCAN是除Bert类模型外在文本匹配领域表现最为优异的深度模型之一,其采用了较为复杂的模型结构。
8 K7 H5 T# M* ~' r1 q* [
. b$ k& o' f) s) ^针对于信息抽取问题,文章首先分析了相关性匹配和语义匹配的差异:+ e$ ?3 |, F# X( Z4 u! U
+ B" b8 r* |% V3 N( w(1)相关性匹配主要关注于关键词的对比,因此更关注低层级词法、语法结构层面的匹配性;8 _( F- O2 V. J$ n& P- ~, l
/ O( O& C3 Q/ I2 [: G/ _% E \2 F) G(2)语义匹配代表着文本的平均意义,因此其关注更高、更丑想的语义层面的匹配性。
. p4 k' v" c k& i( J( D: t0 D" [
9 L, c1 g L! l3 B; S该模型首先采用三类混合的编码器对query和context进行编码:
8 z* Z- i5 G) m+ W3 M5 y# M+ c3 }2 u% n3 c4 p
(1)深层相同卷积核大小的CNN编码器;" j4 x5 q& A/ e; j, q
- q6 i. j7 c3 m9 v( c5 o
(2)不同卷积核大小的CNN编码器的并行编码;9 y. v( p6 b: v7 {' V3 Q
' r( h" i! G# o4 g/ R8 [
(3)沿着时序方向的stacked BiLSTM编码;
$ H: E0 n! h; Y4 t& _* ~* _
; f8 x1 ~* [' k- w: G) ~对于前两者,通过控制卷积核的大小可以更好的捕捉词法和句法特征,即符合相关性匹配的目的;而对于后者,其能表征更长距离的文本意义,满足语义匹配的目的。
, l, ^ }- G1 M, N$ ?" \2 M
9 _1 g6 R# v" ?7 l \在这三类编码器的编码结果基础上,模型分别进行了相关性匹配和语义匹配操作。其中相关性匹配主要采用各phrase间内积+max pooling/mean pooling的方式获取相关性特征,并通过IDF指进行各phrase的权重调整。而在语义匹配中,模型采用了精心设计的co-attention机制,并最终通过BiLSTM层输出结果。
+ E" c1 m# ]5 M9 h0 r4 R% c1 I! R% e' F# \8 R! G- b% T+ V' f
最后的预测层仍采用MPL+softmax进行预测。
$ u# t8 \ E/ a. S5 G1 J1 U {: f% ^. J) R" T
10. 小结, U$ [7 d8 ^# `" l8 ?8 Y; o
交互型语言匹配模型由于引入各种花式attention,其模型的精细度和复杂度普遍强于表示型语言模型。交互型语言匹配模型通过尽早让文本进行交互(可以发生在Embedding和/或Encoding之后)实现了词法、句法层面信息的匹配,因此其效果也普遍较表示型语言模型更好。! u6 ~) ^/ U$ K
' E3 U T* [/ C1 j' L, ]【Reference】
( h o" J" g& V! R
, y5 s# l5 r7 ^8 g% S) O4 @1 kARC-II: Convolutional Neural Network Architectures for Matching Natural Language Sentences3 H2 v, D- _& V2 x% e
7 Y, U6 m2 X3 _5 o3 O2 Y# ?PairCNN: Learning to Rank Short Text Pairs with Convolutional Deep Neural Networks5 u C5 t3 V! O# [4 a/ E6 z& U
3 C( ^. G" F T" QMatchPyramid: Text Matching as Image Recognition x- q$ q4 N' m& x( [9 f
7 x- U: r/ e* B* h3 O1 `DecAtt: A Decomposable Attention Model for Natural Language Inference1 O+ r! P( ]6 u* z, k3 _2 i
; Q# H+ \9 f6 N" { ?' M/ h$ w
CompAgg: A Compare-Aggregate Model for Matching Text Sequences
. J# t5 |# l/ m% O6 M( ^( m6 Y/ L6 n; Y
ABCNN: ABCNN: Attention-Based Convolutional Neural Network
0 P( n. ~, `* b5 n6 E* Kfor Modeling Sentence Pairs
0 s: F8 P/ r/ |+ j# F* ~" @, {4 i+ @, _% @3 J; N" e/ j X
ESIM: Enhanced LSTM for Natural Language Inference
* {4 W) f6 Y- M$ O) z( s8 g g/ G2 ~6 Z8 h: x- q0 {
Bimpm: Bilateral Multi-Perspective Matching for Natural Language Sentences
' v- V& M' T5 l! `+ o5 t; l( L( P5 D" I
HCAN: Bridging the Gap Between Relevance Matching and Semantic Matching% C) X! O5 O, s, a
for Short Text Similarity Modeling
, U1 l! h3 G$ _+ S2 n# M9 x* L4 u& `: ]( y% i
文本匹配相关方向打卡点总结(数据,场景,论文,开源工具)
* J8 w4 a* ]6 V" x- S1 D0 V; R
9 h( @' F, ?1 Y( D4 Z0 [谈谈文本匹配和多轮检索8 }; A, G' ]+ Y
2 I$ a) y7 ^% }/ S! r2 [贝壳找房【深度语义匹配模型 】原理篇一:表示型
l* h1 L; d4 [4 H- m5 _————————————————" i+ z- d0 O4 ]# g( E3 D
版权声明:本文为CSDN博主「guofei_fly」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。) n+ y) N: f* j; ]. w2 q
原文链接:https://blog.csdn.net/guofei_fly/article/details/107501276. p8 g4 \) [, ]% k: o) t
8 Q2 z7 I1 e9 o- B6 P/ q7 ~! w
, F: X' ~* \" a& H/ s# @ |
zan
|