在线时间 1630 小时 最后登录 2024-1-29 注册时间 2017-5-16 听众数 82 收听数 1 能力 120 分 体力 565539 点 威望 12 点 阅读权限 255 积分 174885 相册 1 日志 0 记录 0 帖子 5313 主题 5273 精华 3 分享 0 好友 163
TA的每日心情 开心 2021-8-11 17:59
签到天数: 17 天
[LV.4]偶尔看看III
网络挑战赛参赛者
网络挑战赛参赛者
自我介绍 本人女,毕业于内蒙古科技大学,担任文职专业,毕业专业英语。
群组 : 2018美赛大象算法课程
群组 : 2018美赛护航培训课程
群组 : 2019年 数学中国站长建
群组 : 2019年数据分析师课程
群组 : 2018年大象老师国赛优
【文本匹配】交互型模型 5 B: f: K. I; f- A! B7 E ]# n
' e J" Y; W/ a( i2 o% a" ~
表示型的文本匹配模型存在两大问题:(1)对各文本抽取的仅仅是最后的语义向量,其中的信息损失难以衡量;(2)缺乏对文本pair间词法、句法信息的比较5 d& e$ T( F* x" d7 G1 I- m3 _7 P7 }
; D: T% `, l7 U* b5 m. P' ? 而交互型的文本匹配模型通过尽早在文本pair间进行信息交互,能够改善上述问题。, s" D* x8 P6 C" ~2 C/ x
$ \$ M; q, g3 G9 d, Q& L 基于交互的匹配模型的基本结构包括:
5 v3 e- V$ s9 p* A0 Y4 I 7 H9 x9 M' c1 D5 r
(1)嵌入层,即文本细粒度的嵌入表示;
2 [1 |' k8 f6 C
3 z0 j5 r- @7 M8 r (2)编码层,在嵌入表示的基础上进一步编码;
! E3 Z9 I2 @5 a3 G! h, u ) O: \6 a: ~* u. Z
(3)匹配层:将文本对的编码层输出进行交互、对比,得到各文本强化后的向量表征,或者直接得到统一的向量表征;
8 ? b! ?9 e/ n# X0 v/ x+ E
8 [6 E$ H. g( ]( p- A (4)融合层:对匹配层输出向量进一步压缩、融合;- t! w* O* y# z6 e# b3 ^% x
+ e: o7 [; y+ ?. d- W* a (5)预测层:基于文本对融合后的向量进行文本关系的预测。5 m$ t/ S8 k+ _- N2 Q4 Q
/ w E6 L% F0 V' g$ o9 k
9 i( Z F) G q: O! i) `6 w 0 S, T+ S& V1 g' y" I
1. ARC-II
* j" n! g/ [- S4 D ARC-II模型是和表示型模型ARC-I模型在同一篇论文中提出的姊妹模型,采用pair-wise ranking loss的目标函数。) J) A# I. j$ [/ ]
% o/ Q5 N* u+ a" J% o% L 其核心结构为匹配层的设计:% ~! G/ Z' Z8 P$ m2 {
( J+ a7 U" F7 T! l" ^ (1)对文本pair的n-gram Embedding结果进行拼接,然后利用1-D CNN得到文本S_X中任一token i和文本S_Y中任一token j的交互张量元素M_{ij}。该操作既然考虑了n-gram滑动窗口对于local信息的捕捉,也通过拼接实现了文本pair间低层级的交互。
4 f7 b% O9 A1 ~& h& c ( ]- R* K. e# p$ R; c0 }% t
(2)对交互张量进行堆叠的global max-pooling和2D-CNN操作,从而扩大感受野。
4 U, O' S& v7 B4 u1 m: u3 V : m8 A2 S) L1 Q( k' U
2. PairCNN
% _2 P! ]! z3 d5 [ PairCNN并没有选择在Embedding后直接进行query-doc间的交互,而是首先通过TextCNN的方式分别得到query和doc的向量表征,然后通过一个中间Matrix对query和doc向量进行交互得到pair的相似度向量,然后将query的向量表征、doc的向量表征、相似度向量以及其它的特征向量进行拼接,最后经过两层的MPL得到最后的二分类向量。0 k: Y8 y3 x# \$ i; j0 k) b
: G: k2 Q- h8 n+ q) o
PairCNN的模型架构中的亮点在于各View向量的拼接,既能利用原始的语义向量,还能够很便捷的融入外部特征。- P" @" T- b0 {- s
7 A d3 H1 F3 ?( o6 Y 3. MatchPyramid+ [' n8 |( x0 j: F7 S0 b
无论是ARC-II中的n-gram拼接+1D conv还是Pair-CNN中的中间Matrix虽然均通过运算最终达到了信息交互的作用,但其定义还不够显式和明确,MatchPyramid借鉴图像卷积网络的思想,更加显式的定义了细粒度交互的过程。
; I( P! d8 c2 C7 a MatchPyramid通过两文本各token embedding间的直接交互构造出匹配矩阵,然后将其视为图片进行2D卷积和2D池化,最后Flatten接MLP计算得匹配分数。本文共提出了三种匹配矩阵的构造方式:( ]3 f, N5 I3 |3 l' Y! D
" L7 M2 O) E4 u$ D# I4 ~ (1)Indicator:0-1型,即一样的token取1,否则取0;这种做法无法涵盖同义多词的情况;) @; U7 c- O) H9 ~8 O
/ ?, S) P0 i+ M B/ j5 R
(2)Cosine:即词向量的夹角余弦;
9 V, x8 ?) J, @- B8 V7 l% O 6 n K" ~+ L" W
(3)Dot Product:即词向量的内积
6 b& }& c S* o2 I9 m& N 4 {9 ?& o) l3 o. y1 u- W0 {
此外值得注意的是因为各个文本pair中句子长度的不一致,本文并没有采用padding到max-lenght的惯用做法,而是采用了更灵活的动态池化层,以保证MPL层参数个数的固定。% X: J) }/ p# Q9 [0 \% ]9 z
; y% g' E+ E4 C# @9 V* N1 U
4. DecAtt+ K3 v) l% d, l0 f" q6 U
DecAtt将注意力机制引入到交互型文本匹配模型中,从而得到各token信息交互后增强后的向量表征。
. i3 b* Q# l3 R( X
5 g+ {& c' r) R( J5 B 模型被概括为如下层级模块:
" F) x2 n9 S! m |
9 D. |+ G% e8 A5 y7 u (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。
$ p* K m- g* e& c 2 C$ Y. \6 k' d. i; r8 C5 L6 c- } k6 k
(2)Compare层:将前序Attend层计算得到的最终embedding,喂入一个全连接层进行向量维度的压缩。. ?" M6 y# h5 y
0 n0 ?3 G9 V- b" ?2 n3 ~1 | (3)Aggregate层:将每个文本各token处压缩后的向量进行简单的求和,再拼接起来通过MPL得到最后的匹配得分。
& Q9 B- `% M0 ^- T
% i# Y9 o8 S. [$ p8 s 5. CompAgg
5 C' U& E6 A1 F8 s0 u CompAgg详细对比了在文本间cross-attention得到的各token向量表征与原始token向量进行compare的各种方案。
9 T' T t/ h" {7 m
' ] l7 x2 C- r8 V& Z/ b 该模型的主要结构包括:
& {7 N3 G. i0 y. u# Z+ Z9 R5 Z # z, |. d& V: ?! t6 z: r
(1)reprocessing层:采用类似于LSTM/GRU的神经网络得到token的深层表示(图中的\bar a_i);
& B! w. P- u; q* r$ P
3 U; a2 x7 s4 n9 ]( [1 {2 `6 E2 r& p (2)Attention层:利用软注意力机制计算文本间的cross-attention(与DecAtt相同),从而得到各token处交互后的向量表示(图中的h_i);
$ z6 e4 F U. n: i4 }* T/ [ " |5 M6 f% T" ~2 l
(3)Comparison层:通过各种网络结构或计算将\bar a_i和h_i计算求得各token的最终表征。& z) K4 ?. O) O; t$ L
$ y5 o; t! S8 H6 o- o8 P (4)Aggregation层:利用CNN网络对Comparison层的输出进行计算,得到最后的匹配得分。
2 H1 W* j; i6 Y" Y9 B- b$ ] 4 T5 I* L, I! h% M. y
其中Comparison层的构造方式包括:
2 g9 A# w( \* O5 h
. ?' h( g3 x$ U0 T1 q (1)矩阵乘法,类似于Pair-CNN中的中间Matrix
4 E8 v( [# [+ v( B; U * B+ w- a- y% E; k& Y* A
(2)前向神经网络,即将\bar a_i和h_i进行拼接,然后利用输入FFN;8 c: l8 ~+ c4 V; B
3 _) c+ L. K4 a. v5 b (3)分别计算cosine和欧式距离,然后拼接;
5 |# ^. h4 P# I6 H* K * G4 C- m! E# e) U
(4)各维度进行减法;
6 v0 Q( U' X. S* P4 g/ j
, i. {/ U e% z2 v) G& m (5)各维度进行乘法;# @' B1 o% q% G5 q
0 o! e. o# \9 M+ Z' f (6)各维度进行减法和乘法,然后再接一个前向网络。* i9 _, J9 \: `3 \$ h* ^
- @2 D) B6 v+ W- y 6. ABCNN! J: |2 n2 p; c1 c
ABCNN是将Attention机制作用于BCNN架构的文本匹配模型。
' l P0 E, U; D' h ; I5 B& `9 `! f4 n! A$ e, a5 T/ o2 t
6.1 BCNN
& V. I" ~) x; s! e% g 首先简单介绍下BCNN架构:
$ K( B9 [. L' F h" h0 f
3 {$ @# ^1 t- |; J% D# Y& {+ M- J BCNN的整体结构比较简单:(1)输入层;(2)卷积层,因为采用了反卷积的形式,所以在size上会增加;6 N& y# g. @. w5 J4 ^0 P
+ l8 b9 ~6 n, i# k6 t1 C {
(3)池化层,采用了两种池化模式,在模型开始阶段采用的是local平均池化,在最后句子向量的抽取时采用了global平均池化;(4)预测层,句子向量拼接后采用LR得到最后的匹配得分。
- \; ]: @$ N6 H
# _1 J5 t; M. V7 z, n ABCNN共包括三种变形,下面依次介绍。7 i7 f& j- u* [6 Z! `/ e
$ ] o8 a4 f# h 6.2 ABCNN
$ a8 _+ b. z0 k% O1 G
% R& e- S- s& A# q3 d Z& L 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 0 S. H" r0 x1 X0 f) Y0 p7 A$ h
ij& c- ]/ H8 K( [
( W6 z+ E; o& }2 @1 X, Z3 V+ Q5 R = * X2 g% C! T9 @# |6 M
1+∣x
3 i5 _1 [* Y6 K; I. U" h i
O% t* ~1 Z8 ?, p7 r) j * ^ X& Q8 @9 l
−y
5 W: B' S, D" m- L( G j
8 h& j7 p% m9 n
- i, R- f+ q2 R K7 y( W ∣) m* v) [) q: x( m' e
1- ?9 _- p/ N' ^+ j5 K
8 f2 k( \ z3 g+ `9 W" ~ ,然后分别乘以可学习的权重矩阵 W 0 W_0 W
, n+ k* v1 |$ l" d* W 0
! W0 r6 ?0 L a" Q l( { G' r( {- u& \
和 W 1 W_1 W
! ~2 o o5 P- R$ ^) C) n 1
4 A* {* A, e' U8 }& M
; A; Y7 Y- v$ m/ H, y/ |2 C( u 得到attetion feature map。
! B% v( n: I1 o' S* P+ l( g : P3 q9 B: J# k# a$ A! \7 w2 R3 M
6.3 ABCNN-2. G J( |% H# D
$ h6 W5 Z4 Q, q" n3 K ABCNN-2将Attention机制作用于word embedding层后的反卷积层的输出结果,其中注意力矩阵的计算原理与ABCNN-1一致。然后将注意力矩阵沿着row和col的方向分别求和,分别代表着各文本token的attention socre;接着将反卷积层的输出结果与attention socre进行加权平均池化,得到与输入层相同shape的特征图。
F* F& g* J0 p: H* m3 a
( @: X n( [; V 6.4 ABCNN-3 s! s# i: K9 n' h+ v
$ ~% [+ u+ y9 }9 \9 U; C- s
ABCNN-3的基本模块可视为ABCNN-1和ABCNN-2的堆叠,即在嵌入层和卷积层上面都引入了attention的机制用来增强对token向量的表示。
9 r9 F) d5 T" Q
1 e* y# t* K" L6 M! | 7. ESIM
9 p8 H: b4 h$ ]1 }5 u$ n( L ESIM模型基于NLI任务给出了一种强有力的交互型匹配方法。其采用了BiLSTM和Tree-LSTM分别对文本序列和文本解析树进行编码,其亮点在于:
' B( o" d( Y# h8 s
) B0 d$ r0 B. b% J2 ` (1)匹配层定义了cross-attention得到各token的向量表示与原token向量间的详细交互关系,即采用 [ a ˉ , a ^ , a ˉ − a ^ , a ˉ ∗ a ^ ] [\bar a, \hat a,\bar a-\hat a,\bar a* \hat a] [ - e8 K1 ^7 V3 i! \4 c
a
5 ^; q# d0 y! R7 r- X ˉ' Q8 f) q/ Y+ G9 d
,
! t6 `% |. p# k, o a
% `! ?0 j. H) V8 Q" z' e" X: J( y ^
8 L" _9 i- Z E. C ,
7 B' b H0 M7 k- O$ y o" m+ I a
& t) Q) L& z& t! e ˉ
& P6 E$ P( l4 z. C- v5 o, c/ k −
7 m' E3 X. }, Y: `8 M a
- P9 X* U! \2 ?; [ ^8 o' }$ R( H7 ]& q' ~
,
0 ~9 n. {5 I' ?) j8 L a2 B$ B0 i5 G1 O! r( o! S% Z. O
ˉ% T& ?$ Q2 x, H3 `
∗ 1 L% v! b3 U, U0 N' _& ?) g6 M" a
a$ ]1 l$ z& a9 @
^
2 B3 G0 l r0 @# d ]作为最终文本token的向量表示,这也成为后续文本匹配模型的惯用做法。
9 H; R E' T( S" j. C
2 {& d( N# ?" l$ y! C+ f( \, e& I (2)聚合层通过BiLSTM得到各文本token的编码,从而进一步增强了文本序列的信息传递;
2 d5 i/ `3 r5 W6 O5 `
+ ~" T, J$ J! k- u6 e( p; e# [/ V (3)预测层通过拼接各文本token编码的max-pooling和mean-pooling结果,再经过MPL进行匹配预测。! n/ q) N: p0 X
+ f( q I3 N1 [. G# q2 T
! l; H0 P: ]$ N0 M$ ^$ @9 L
& N+ E. p2 I2 H* K/ N2 d 8. Bimpm
@. F6 ?- g9 C Bimpm可视为对之前各类交互型文本匹配模型的一次总结。* I. C9 s0 ?0 A3 W- _8 ^" h# l" `
1 i5 _' l' K: K7 r& |8 ~5 Q 该模型在各层的具体做法总结如下:7 l3 F {/ e8 x8 s2 K
3 @+ r# D' D, g: s, Q
(1)编码层采用BiLSTM得到每个token隐层的向量表示;: R5 i( W' r! t, Z, f4 g: {! _" t
9 |& z: P- a. n9 h3 _$ I
(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 5 \3 A$ T& h; k4 V! _$ i
k7 y# ]7 P: c s
% y- s# A5 L/ o5 |9 o9 g
=cosine(W
* G4 `! z( G& A% M$ s/ y/ I k
' k+ m4 V u/ G/ U8 D / m# y- s. u9 z/ f. l+ Q
∗v
: Z1 n, a- a/ v 13 ~9 O2 c0 A: C+ S" Z& U1 w" k5 g
8 q& m$ }9 Z3 j6 V) \# v1 D1 Q8 U ,W & L0 Z% `8 ]% W5 N+ \6 D# R/ |' Y
k
/ [& T" e, |+ O
" k9 Q; [% K( k- q ∗v 7 U# J2 ]5 B/ T; k1 S7 d( h
2
% F7 P3 Z0 [! A2 [3 _
' s+ [2 a5 P+ w' |9 B )的方式可以得到两个文本的任意token pair之间在第k个view下的匹配关系,至于 v 1 v_1 v
, O+ C9 W9 j. c 1
. H Q r; A `6 f
$ J# g H4 H: v* C 和 v 2 v_2 v
0 P/ B! W1 e$ H7 ` 24 E( P; M1 Q' E7 ~9 x/ R
8 F8 u) }5 v0 N: j- f- z6 s 如何取,文章提供了4种策略:- `! K: K8 {, u4 ]; D
8 p& O+ v1 l# C# K6 T' | W4 ]9 B+ U
策略一:其中一个句子取各token隐层的向量表示,另一个句子采用隐层最后时间步处的输出;, g. h( p" {# I k5 r& ?% h
策略二:其中一个句子取各token隐层的向量表示,另一个句子采用隐层各时间步输出与之匹配后取再取Max-Pooling值;3 R0 f, ~% W/ U. f
策略三:其中一个句子取各token隐层的向量表示,另一个句子采用cross-attentive后得到的加权句子向量;
, }+ u \6 g/ A% c 策略四:其中一个句子取各token隐层的向量表示,另一个句子采用cross-attentive后attention score最高处token的向量作为句子向量。; v9 y ^) S! P2 \% d8 |$ r( s l. b5 k( P
这四种策略的区别在于对句子向量的计算不同。
: e; |- B- l" `8 G
$ q! P0 O0 Y5 |: q + J! g( M/ s9 M4 i8 J9 |. ]. a
(3)聚合层,首先对上面各种策略得到的输出层再通过一层BiLSTM层,然后将各策略下最后时间步的输出进行拼接,得到最后的聚合向量;0 K \- X0 s/ ~! H7 x A$ O
% H4 z- i b- p4 X y, y. V (4)预测层:两层MPL+softmax
) W) ?% y' t* v! x# L
! o# M$ q& M9 m1 F' {1 M+ D 9. HCAN% _1 j+ c+ G* o1 \( N) F, b, H
HCAN是除Bert类模型外在文本匹配领域表现最为优异的深度模型之一,其采用了较为复杂的模型结构。
4 p# A3 k# D; Q& ?6 [- C1 N q
" D: q/ Z/ D6 ^: ~; y$ X; | 针对于信息抽取问题,文章首先分析了相关性匹配和语义匹配的差异:: O: g: m1 M$ u/ Q8 R, [
# [7 g; ]) t1 a, z( }; ?
(1)相关性匹配主要关注于关键词的对比,因此更关注低层级词法、语法结构层面的匹配性;
# H* f- Q( H W8 a ; H; Y' ?/ k# J" ]( C
(2)语义匹配代表着文本的平均意义,因此其关注更高、更丑想的语义层面的匹配性。' g' W, | O1 X4 |( [3 ~
* e9 S+ |0 n6 d# F7 p2 J( \6 X J6 I 该模型首先采用三类混合的编码器对query和context进行编码:
1 b: ?9 A6 {2 K( @* l
# c+ A4 n% A; e' \$ S (1)深层相同卷积核大小的CNN编码器;
+ h; j- e2 I) K, B0 B' c6 e % f' p- y' P( J' S" z! y2 l4 D: \
(2)不同卷积核大小的CNN编码器的并行编码;0 X3 I& F6 t: c" W, Z" w$ E+ w
7 b$ G7 |7 F! N' c7 t" G; q (3)沿着时序方向的stacked BiLSTM编码;( ?2 e: [$ R" l# F* j. |
& }# P( W5 S; H* Z9 s5 Z 对于前两者,通过控制卷积核的大小可以更好的捕捉词法和句法特征,即符合相关性匹配的目的;而对于后者,其能表征更长距离的文本意义,满足语义匹配的目的。% L5 x0 |9 R0 j5 |- L0 s3 K
$ T$ U- k! b/ a9 M
在这三类编码器的编码结果基础上,模型分别进行了相关性匹配和语义匹配操作。其中相关性匹配主要采用各phrase间内积+max pooling/mean pooling的方式获取相关性特征,并通过IDF指进行各phrase的权重调整。而在语义匹配中,模型采用了精心设计的co-attention机制,并最终通过BiLSTM层输出结果。5 J1 ~+ {# X# C+ t
/ p! l8 e3 } R
最后的预测层仍采用MPL+softmax进行预测。8 s q8 A& {- z9 g9 J0 K
! J ]1 B0 w2 b5 V( K: n0 M 10. 小结* Y; ~4 b! ~ l: @2 D8 X( A
交互型语言匹配模型由于引入各种花式attention,其模型的精细度和复杂度普遍强于表示型语言模型。交互型语言匹配模型通过尽早让文本进行交互(可以发生在Embedding和/或Encoding之后)实现了词法、句法层面信息的匹配,因此其效果也普遍较表示型语言模型更好。2 f/ N7 q: Z# G( _( x
/ x/ F9 k7 {( e, m5 x( u6 l4 ^ 【Reference】- O" s& K4 I7 ~3 g& H' ?
2 w/ C! O- _% \/ g' U& x9 N) w" O ARC-II: Convolutional Neural Network Architectures for Matching Natural Language Sentences" ]6 u- A: R2 Y
0 x1 S& b7 q% Q2 @9 ` PairCNN: Learning to Rank Short Text Pairs with Convolutional Deep Neural Networks8 U! }9 @0 Z% Q' W. r) t$ ?
( W4 ]1 b6 z+ `4 A6 H MatchPyramid: Text Matching as Image Recognition' `; |8 H! m; g
) G/ N- g t$ Q/ {* l0 i3 H( k$ \
DecAtt: A Decomposable Attention Model for Natural Language Inference
- p2 |3 `8 W' m : ], {7 ]0 j. P: j
CompAgg: A Compare-Aggregate Model for Matching Text Sequences
% K& |# F: w& U$ N: q( x8 T
! T; Y/ F7 d, q# v! L. h ABCNN: ABCNN: Attention-Based Convolutional Neural Network- K) s4 g) u2 S& c) l# n. g& j# w
for Modeling Sentence Pairs
) q; h, [3 e. D2 S6 }4 c. Y
# C& M, m& |" e' W, e2 d0 B; R4 m+ h ESIM: Enhanced LSTM for Natural Language Inference
4 `2 G7 a+ _4 G7 R. u, g2 s5 a : K% E2 A# O* X6 |# m
Bimpm: Bilateral Multi-Perspective Matching for Natural Language Sentences9 x1 T$ s4 m3 X6 |3 t2 U U0 j
4 x7 j' p8 p, k& E6 T; |! c HCAN: Bridging the Gap Between Relevance Matching and Semantic Matching5 [) A5 }6 a+ q$ @7 r3 z
for Short Text Similarity Modeling
( R6 q5 `# \5 Q, H8 c, { 1 @! I1 Y! I! z; Z. ^( D' }5 m- i
文本匹配相关方向打卡点总结(数据,场景,论文,开源工具)9 E+ _; d7 j& ~6 J2 H% N
1 d% y9 k8 P4 @$ p$ F$ g 谈谈文本匹配和多轮检索
) a2 e; | H" o& q- n) x
6 _5 L( e0 w: o! U7 K 贝壳找房【深度语义匹配模型 】原理篇一:表示型 [5 o, R6 `' n" F; @' e
————————————————8 [( O, B& O8 E$ T# J" b" L
版权声明:本文为CSDN博主「guofei_fly」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
! ~/ D9 M- A- L 原文链接:https://blog.csdn.net/guofei_fly/article/details/107501276
3 P+ z9 F* O2 x. V 5 F% g: T9 O) {6 I' }8 g
( @8 U0 Q6 d2 s4 l: t4 @
zan