- 在线时间
- 1630 小时
- 最后登录
- 2024-1-29
- 注册时间
- 2017-5-16
- 听众数
- 82
- 收听数
- 1
- 能力
- 120 分
- 体力
- 564641 点
- 威望
- 12 点
- 阅读权限
- 255
- 积分
- 174615
- 相册
- 1
- 日志
- 0
- 记录
- 0
- 帖子
- 5313
- 主题
- 5273
- 精华
- 3
- 分享
- 0
- 好友
- 163
TA的每日心情 | 开心 2021-8-11 17:59 |
|---|
签到天数: 17 天 [LV.4]偶尔看看III 网络挑战赛参赛者 网络挑战赛参赛者 - 自我介绍
- 本人女,毕业于内蒙古科技大学,担任文职专业,毕业专业英语。
 群组: 2018美赛大象算法课程 群组: 2018美赛护航培训课程 群组: 2019年 数学中国站长建 群组: 2019年数据分析师课程 群组: 2018年大象老师国赛优 |
【文本匹配】交互型模型
. ` ?( o0 K3 d' B! i
* x4 H" k4 z# m r$ u! w# r6 \. ?表示型的文本匹配模型存在两大问题:(1)对各文本抽取的仅仅是最后的语义向量,其中的信息损失难以衡量;(2)缺乏对文本pair间词法、句法信息的比较9 R' ]) n0 G9 ~8 g5 N1 j' G& X
9 }3 {, m( l" D5 V1 n$ V: w: L而交互型的文本匹配模型通过尽早在文本pair间进行信息交互,能够改善上述问题。
5 |. `- {$ T0 }/ `
U) W4 C$ r1 w+ ~" F+ \' W基于交互的匹配模型的基本结构包括:
7 f* D, d2 V! G5 z6 ?6 T. Q( h4 W' ]7 B! [2 p1 f$ m
(1)嵌入层,即文本细粒度的嵌入表示;& r" A; r W; i$ p: w
6 w' S. @" Z4 B7 ?$ t" O/ L
(2)编码层,在嵌入表示的基础上进一步编码;
* @' I( Z& I7 B
+ _8 J) w. [" u4 t" E* \0 C(3)匹配层:将文本对的编码层输出进行交互、对比,得到各文本强化后的向量表征,或者直接得到统一的向量表征;
. u$ Q: t* w. P, x" I0 n# E0 C1 u5 w7 o( U/ S6 w
(4)融合层:对匹配层输出向量进一步压缩、融合;
& K" u! K3 |/ b" q7 W
1 y, x6 F" z/ T) i, p(5)预测层:基于文本对融合后的向量进行文本关系的预测。
' Y% |' |0 H k4 s! m. L6 ~& I1 p3 E5 o; N7 W: I8 l! O
% G7 X' S0 r: W* o" B
9 K# q9 F6 f4 M; B, N* \8 E9 t1. ARC-II/ ~3 p9 j* H$ g5 |
ARC-II模型是和表示型模型ARC-I模型在同一篇论文中提出的姊妹模型,采用pair-wise ranking loss的目标函数。- y0 S' P/ D$ d- l6 ?% B
& _8 a& O4 F, W; \4 [$ r4 O
其核心结构为匹配层的设计:% g8 x! T5 d% d4 N# {# v
( E; [, V. t9 P5 q! O) q" r
(1)对文本pair的n-gram Embedding结果进行拼接,然后利用1-D CNN得到文本S_X中任一token i和文本S_Y中任一token j的交互张量元素M_{ij}。该操作既然考虑了n-gram滑动窗口对于local信息的捕捉,也通过拼接实现了文本pair间低层级的交互。
% h4 S' T$ Z( V# \1 J8 T
c' n0 a" t1 S( m) @(2)对交互张量进行堆叠的global max-pooling和2D-CNN操作,从而扩大感受野。
6 B8 ?* r) g% I& U
. Z7 X5 o- c0 I \2 P" Z2. PairCNN- }9 Q1 `) \" S% K, q d; z! x
PairCNN并没有选择在Embedding后直接进行query-doc间的交互,而是首先通过TextCNN的方式分别得到query和doc的向量表征,然后通过一个中间Matrix对query和doc向量进行交互得到pair的相似度向量,然后将query的向量表征、doc的向量表征、相似度向量以及其它的特征向量进行拼接,最后经过两层的MPL得到最后的二分类向量。/ B, n+ _2 K* x9 |& _, N/ F5 z
7 E; }) M; N4 n/ YPairCNN的模型架构中的亮点在于各View向量的拼接,既能利用原始的语义向量,还能够很便捷的融入外部特征。
6 m. h( D" V0 C- k, R
. j1 d+ f9 u3 w0 ^0 z, k3. MatchPyramid
: B1 D( e0 `6 Q* ]6 A1 d9 h$ G无论是ARC-II中的n-gram拼接+1D conv还是Pair-CNN中的中间Matrix虽然均通过运算最终达到了信息交互的作用,但其定义还不够显式和明确,MatchPyramid借鉴图像卷积网络的思想,更加显式的定义了细粒度交互的过程。
3 H9 V* m( K6 |& HMatchPyramid通过两文本各token embedding间的直接交互构造出匹配矩阵,然后将其视为图片进行2D卷积和2D池化,最后Flatten接MLP计算得匹配分数。本文共提出了三种匹配矩阵的构造方式:
* X* J l, {2 {6 m9 d3 s. G. C$ L9 t% ]# i: t" [9 s
(1)Indicator:0-1型,即一样的token取1,否则取0;这种做法无法涵盖同义多词的情况;
% A' J- [% d! q3 d7 ?1 ~0 i
2 _# h0 S( Q; v- k. o0 z6 h(2)Cosine:即词向量的夹角余弦;8 F# G m# K( l* s: V* J0 U
0 n# s! Q0 C* d K2 n$ g r/ Y
(3)Dot Product:即词向量的内积
! `& y4 F+ a% P+ V7 m0 U; i K6 x$ |2 Q" g' {
此外值得注意的是因为各个文本pair中句子长度的不一致,本文并没有采用padding到max-lenght的惯用做法,而是采用了更灵活的动态池化层,以保证MPL层参数个数的固定。
- N+ N- S/ H: h/ Y1 I% u! J9 U5 r; l4 ]7 S7 y
4. DecAtt% @; h8 L: ^' P s# ^2 q% B
DecAtt将注意力机制引入到交互型文本匹配模型中,从而得到各token信息交互后增强后的向量表征。. Q8 K9 W* I% K% K
" f: f9 R( i" t, ?9 \0 T* p模型被概括为如下层级模块:
, j, d, P1 }3 e5 w! R( R1 @* u
' \3 U4 d& H8 F& f(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。( U7 j/ F/ K+ L
! P4 W" h& Q) F* W5 J0 _1 F) k. a/ J# A(2)Compare层:将前序Attend层计算得到的最终embedding,喂入一个全连接层进行向量维度的压缩。0 J% R. m P% p
; C. G' }( x3 Y3 Q- I# g4 S
(3)Aggregate层:将每个文本各token处压缩后的向量进行简单的求和,再拼接起来通过MPL得到最后的匹配得分。
' P. w+ {# t9 O `5 ^- m
( G- ?3 C2 e& V; ?5. CompAgg
( e7 w2 \7 C+ O/ R$ {0 dCompAgg详细对比了在文本间cross-attention得到的各token向量表征与原始token向量进行compare的各种方案。
% B) Y. h Q$ [0 y5 E4 r
( v% G& D1 h: D( B( a该模型的主要结构包括:) k2 L9 ?; X" {2 p- w
/ N$ ~4 `2 a, `
(1)reprocessing层:采用类似于LSTM/GRU的神经网络得到token的深层表示(图中的\bar a_i);
, z. P0 }4 B0 B! J6 m% S& l% Y' |; h
(2)Attention层:利用软注意力机制计算文本间的cross-attention(与DecAtt相同),从而得到各token处交互后的向量表示(图中的h_i);
. x$ D% P; n3 o8 j+ k
3 R( R& Z U: ]6 t; B0 U(3)Comparison层:通过各种网络结构或计算将\bar a_i和h_i计算求得各token的最终表征。+ I4 z/ T+ A! c, M4 k4 }
+ {7 M4 m" M. ]+ t8 \ P
(4)Aggregation层:利用CNN网络对Comparison层的输出进行计算,得到最后的匹配得分。, x" A, o. B3 m7 o/ b
! h- R e) z4 w, I" D4 ?+ n1 ^其中Comparison层的构造方式包括:
& h: I& Z/ {4 r- l& U
- ~7 C2 I9 }' y; h(1)矩阵乘法,类似于Pair-CNN中的中间Matrix, ^4 u. T* }, i7 X* m; M; v
7 s3 G6 f, k3 O9 D6 w. m8 e
(2)前向神经网络,即将\bar a_i和h_i进行拼接,然后利用输入FFN;
9 N/ k( [* s2 M5 q9 i; ^5 c- c7 `# c1 z1 x; n, {& w8 o1 h
(3)分别计算cosine和欧式距离,然后拼接;
4 i) f q3 R3 } R) ~
+ n; W& B U" p(4)各维度进行减法;
1 y& w" @1 O" z% Z1 z' B6 ?
+ B# x2 W$ A! D0 A! a* [6 B5 c(5)各维度进行乘法;2 x* n+ i' Q. v5 j" T( \6 I# u
* K8 T6 E0 M" _7 g* [3 ](6)各维度进行减法和乘法,然后再接一个前向网络。
5 H0 j6 v9 d8 y0 X
( ^- Z) a6 K+ [/ c- J6 l' e' v6. ABCNN8 I L) d7 j% [ ], Q
ABCNN是将Attention机制作用于BCNN架构的文本匹配模型。& y. O; a% S# M- F' O
" _# c5 {, a3 v# F/ E' h8 V3 x
6.1 BCNN p/ b/ X$ O( o% E! X D
首先简单介绍下BCNN架构:: ]$ W. a: q5 v
# N5 o+ {8 K6 {2 ZBCNN的整体结构比较简单:(1)输入层;(2)卷积层,因为采用了反卷积的形式,所以在size上会增加;
' {( ^) B/ z9 |) S9 H8 f( n: n1 E
(3)池化层,采用了两种池化模式,在模型开始阶段采用的是local平均池化,在最后句子向量的抽取时采用了global平均池化;(4)预测层,句子向量拼接后采用LR得到最后的匹配得分。
4 E+ b$ L0 Z$ {8 K+ ^) r+ ^
, |5 G! r E( v# v+ c5 w% `2 HABCNN共包括三种变形,下面依次介绍。
5 J% O# @) H: b5 |
* m; ~2 M8 R' v0 D! ]6.2 ABCNN
4 t5 }& X" x+ P& W4 g' F9 j: |$ K. y: J8 o b% U. W |
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 x: a# G- Q7 y2 s# z- {3 ~& ?: Qij2 k* S/ D/ s( i
% S6 F! @) ^+ i( Y8 x9 F' I
= : i% N& |6 h( h3 K: S
1+∣x
' L! @2 T8 e; q5 X3 N hi; v* B1 H7 l1 `5 D
' i+ D2 ~% R Y$ e
−y $ O5 i, T5 o( @$ J
j3 B( u% C% M6 W R
% o+ l6 F c2 T6 _1 V1 E ∣
- D- S2 N# j% v0 D( s- P1
9 D) X7 Q( J1 J$ k0 e " d: K% Q3 \' E& X3 I$ ^0 [- L
,然后分别乘以可学习的权重矩阵 W 0 W_0 W
9 X3 S/ r! z1 m! ]0
& ^( x- ^' g6 H% z" F) f' |0 `1 z f 0 a, Q8 m5 P. q, k1 {- a
和 W 1 W_1 W - y, v& O7 Z( B) S5 j
18 c; ?2 ^1 H2 {
# Z; h2 @8 i! ]' G! d 得到attetion feature map。* V$ ?& Y) ~. t1 @' h- F( B
2 _! i- k3 n' c+ u6.3 ABCNN-2
0 T) Q; h5 i0 u# {
2 e" z v5 _$ F3 L" Z+ j9 S+ wABCNN-2将Attention机制作用于word embedding层后的反卷积层的输出结果,其中注意力矩阵的计算原理与ABCNN-1一致。然后将注意力矩阵沿着row和col的方向分别求和,分别代表着各文本token的attention socre;接着将反卷积层的输出结果与attention socre进行加权平均池化,得到与输入层相同shape的特征图。" {: m" T# h& c4 p9 O# Z$ C( `5 B! {% L
4 K% H0 g6 ]3 }. G; o/ i5 Z
6.4 ABCNN-37 Y6 H9 F# c/ j1 Y- Z- U \' T
: v1 |1 M2 d5 g( tABCNN-3的基本模块可视为ABCNN-1和ABCNN-2的堆叠,即在嵌入层和卷积层上面都引入了attention的机制用来增强对token向量的表示。: Z+ q9 K, R) t7 c* P! b) i
! z0 l* |5 m$ c3 v6 `
7. ESIM
7 C& G3 X3 y5 w5 I8 B( qESIM模型基于NLI任务给出了一种强有力的交互型匹配方法。其采用了BiLSTM和Tree-LSTM分别对文本序列和文本解析树进行编码,其亮点在于:5 n" g8 P* m- K0 G3 e8 }3 J S/ F
$ a1 ~9 g. d' i: x& O
(1)匹配层定义了cross-attention得到各token的向量表示与原token向量间的详细交互关系,即采用 [ a ˉ , a ^ , a ˉ − a ^ , a ˉ ∗ a ^ ] [\bar a, \hat a,\bar a-\hat a,\bar a* \hat a] [ % C8 [) U }+ q3 Z( u. J; l+ n
a
" M& z0 f1 t+ [+ m/ c' A8 Fˉ
3 a' Y( n! @1 G6 i , - ^7 f( f$ a: l7 B' B- M1 C9 P
a
+ x' p$ O% j9 l6 o. D^
; y" p0 G. O( X1 M6 Z ,
7 T; p G& I0 F' y5 {+ E; \a
3 T, {6 h/ b) m, ~ˉ/ v; s1 A9 V: R+ R: w
−
$ E3 }9 g! l2 d3 m7 Sa& d" k7 i0 M5 a! E3 Z) B
^
$ w9 g- S) D( w& Y( j, Z ,
8 d( X( v# {& Y( ua
! S, _5 ^' F1 U7 Dˉ2 Q. S( z! z' s& s* m- j
∗
* {7 i( G* e/ {! b: {3 H9 ]+ sa3 q* K. L' K3 e3 c
^
0 f6 [* ], r4 b9 l( C# @1 T* \$ r ]作为最终文本token的向量表示,这也成为后续文本匹配模型的惯用做法。
7 u' S$ f8 `. m# T7 T: t9 [. @7 b% L7 W1 B' U
(2)聚合层通过BiLSTM得到各文本token的编码,从而进一步增强了文本序列的信息传递;
: g" m4 c% d8 w) q$ Q! v+ L h/ z- k4 H' j$ L" v8 R; t' v
(3)预测层通过拼接各文本token编码的max-pooling和mean-pooling结果,再经过MPL进行匹配预测。
/ w; ]# c- { g) m2 a; q6 f5 P: K" C6 l; H, e1 }7 ?
) r4 q+ x0 z. M3 _7 T/ ], N# \
" G. k# @/ G- F6 s, i& v8. Bimpm
7 ^# c- Q% j+ P" p, vBimpm可视为对之前各类交互型文本匹配模型的一次总结。- i# I$ W y7 U1 L
: E) s% [; J! W# q8 V9 ] f2 n. Z该模型在各层的具体做法总结如下:
3 F7 X) g. R' B! y- l
# \) P: U: V: M( h2 D(1)编码层采用BiLSTM得到每个token隐层的向量表示;/ j' s: {( |/ l1 v, h
: `3 k9 A: b; m( a$ I2 u k
(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
0 J H8 M3 R9 U" C$ H! Jk y+ ~4 r6 K( M# R% d
' R+ d, `# D, f5 y/ t( J =cosine(W * c/ r9 z& @$ v" y. Y
k
( z3 @- r4 t$ a- L: e " a* y3 D" W4 g
∗v
. F6 I" R$ t' C% w1% B# ]5 ~: j+ X
# P- U# Q$ S6 ?6 W- s, |+ m
,W 1 S* A$ w! G+ y5 G& ^+ ?' L5 \
k
9 F7 G% x7 t6 q- r& B- c % b' }9 q' [+ l6 ^! {0 i: y; {
∗v
& q$ Q5 z5 T7 o2" I5 w8 V3 O' F' U% L$ W
9 D3 J! v# }' k& p
)的方式可以得到两个文本的任意token pair之间在第k个view下的匹配关系,至于 v 1 v_1 v
0 g! \. o" I9 [: R: M4 }4 j1
2 S+ c& ~: j! x
/ {- {# G; h2 b1 P3 J 和 v 2 v_2 v
2 d$ F& _8 b+ @7 M+ {) R7 K29 t- i5 q. {* s a
, b) F1 m1 e" n+ d W. e5 X
如何取,文章提供了4种策略:
; X6 T; \ x: \9 c8 Y: o3 N0 Q" s% q5 q4 o4 ^) c9 j% V
策略一:其中一个句子取各token隐层的向量表示,另一个句子采用隐层最后时间步处的输出;# E& [* y) ~5 W$ |. |7 E
策略二:其中一个句子取各token隐层的向量表示,另一个句子采用隐层各时间步输出与之匹配后取再取Max-Pooling值;5 C: `9 c) y, F: a, q- p# ]7 S# l
策略三:其中一个句子取各token隐层的向量表示,另一个句子采用cross-attentive后得到的加权句子向量;4 \3 k7 i1 i9 h$ n+ r
策略四:其中一个句子取各token隐层的向量表示,另一个句子采用cross-attentive后attention score最高处token的向量作为句子向量。
/ m6 L. k* k- G- b9 C. h5 `! V# V5 c4 p这四种策略的区别在于对句子向量的计算不同。
5 @) O+ R; x1 ~5 j) @) y; _5 h" B$ x; k; L! S# l8 }% ^
6 ?, a* h0 D. b9 W
(3)聚合层,首先对上面各种策略得到的输出层再通过一层BiLSTM层,然后将各策略下最后时间步的输出进行拼接,得到最后的聚合向量;$ p/ o* U. K! O
" l7 U1 j1 z# C5 o% |
(4)预测层:两层MPL+softmax. g( W% {6 Z# w9 p9 O8 r7 U
$ ^8 h% K! y& Z0 h9 U
9. HCAN
- L3 `( c5 P2 ^HCAN是除Bert类模型外在文本匹配领域表现最为优异的深度模型之一,其采用了较为复杂的模型结构。* N! j, r6 S, v6 C! z" M
+ q: k) n; Z% X' Z( F. S针对于信息抽取问题,文章首先分析了相关性匹配和语义匹配的差异:
/ J$ f( y1 F$ N7 g. q- q+ E+ p' `* o$ H. k
(1)相关性匹配主要关注于关键词的对比,因此更关注低层级词法、语法结构层面的匹配性;
! D8 r# n2 I+ a+ V
- W& f% G; B+ A! l: W. Y(2)语义匹配代表着文本的平均意义,因此其关注更高、更丑想的语义层面的匹配性。; A& Y1 H6 Y3 @4 U$ `; b5 E
`2 q+ I4 {; h该模型首先采用三类混合的编码器对query和context进行编码:
0 z+ d. L4 O2 d% F3 X; h/ [: U& @! |( u# i/ {
(1)深层相同卷积核大小的CNN编码器;
- a: [: V5 Z& G! z
- p% C! R; A9 T- e$ J7 ?( `4 E(2)不同卷积核大小的CNN编码器的并行编码;* S$ M9 h; n& }& x' f
1 _/ @6 o; e! h) X6 b(3)沿着时序方向的stacked BiLSTM编码;" h& @" |! d2 b" q6 s8 E% h
# `, u/ t) I* i. T
对于前两者,通过控制卷积核的大小可以更好的捕捉词法和句法特征,即符合相关性匹配的目的;而对于后者,其能表征更长距离的文本意义,满足语义匹配的目的。5 m B% d6 W) `! {, Y7 B: q
1 }! X# h! a5 k5 T/ A/ v在这三类编码器的编码结果基础上,模型分别进行了相关性匹配和语义匹配操作。其中相关性匹配主要采用各phrase间内积+max pooling/mean pooling的方式获取相关性特征,并通过IDF指进行各phrase的权重调整。而在语义匹配中,模型采用了精心设计的co-attention机制,并最终通过BiLSTM层输出结果。
2 e1 M. L" d/ |. X6 q: U9 b F
7 h0 o7 F" t6 c% Z6 T8 S, E& y最后的预测层仍采用MPL+softmax进行预测。, W _# E- ~- V( o% l
# ?3 m2 {+ {$ p0 O& A# z# m2 v9 c- `10. 小结
! b" ^6 [/ J. R. m交互型语言匹配模型由于引入各种花式attention,其模型的精细度和复杂度普遍强于表示型语言模型。交互型语言匹配模型通过尽早让文本进行交互(可以发生在Embedding和/或Encoding之后)实现了词法、句法层面信息的匹配,因此其效果也普遍较表示型语言模型更好。* m& }* d' x" x7 r' Z& m
7 |( h/ s( ^1 f. }; p【Reference】
" Q1 C/ P$ J2 k2 {: l, e4 X) {* E* Z; w
ARC-II: Convolutional Neural Network Architectures for Matching Natural Language Sentences7 ^& ~8 [" h6 Q4 J. l- e
' B! x# u* d$ h4 Q4 LPairCNN: Learning to Rank Short Text Pairs with Convolutional Deep Neural Networks2 l/ O+ h: J7 L4 k/ Z% `& M# |( g
& b4 s3 W$ Q+ [8 n. D
MatchPyramid: Text Matching as Image Recognition
& |3 ?- Z$ J5 B* c$ ]% Z
' y7 H' E( t7 oDecAtt: A Decomposable Attention Model for Natural Language Inference
. K" T- `% [5 D8 q
/ q$ v1 Z! s1 D" eCompAgg: A Compare-Aggregate Model for Matching Text Sequences
! U* \* q; b' s% [3 z0 f/ A5 @" c. l: z- m
ABCNN: ABCNN: Attention-Based Convolutional Neural Network. c2 j& R( X. y' R) v7 ^8 g! m) E
for Modeling Sentence Pairs
6 o3 h) S! v% e% r B9 s1 n- H( c% s
ESIM: Enhanced LSTM for Natural Language Inference
9 L1 K a' [6 h
; ^, ^+ F, S9 EBimpm: Bilateral Multi-Perspective Matching for Natural Language Sentences
2 w5 o7 x) k2 L) k) e# _) P+ Z2 z' ?5 Q" b! `+ x1 v) a( K
HCAN: Bridging the Gap Between Relevance Matching and Semantic Matching
$ A6 U0 _! d, B6 T; c Jfor Short Text Similarity Modeling
# J- b) h3 y. M: i; ]8 J
; _. r# D8 ?% `% w文本匹配相关方向打卡点总结(数据,场景,论文,开源工具). a3 C8 s. f0 W
3 j, A0 ], ~$ ^' a6 b& j. R1 }0 l
谈谈文本匹配和多轮检索4 z" _6 c8 y% W2 A
* W7 F! p# ]% H) |$ Y
贝壳找房【深度语义匹配模型 】原理篇一:表示型7 a& _7 s. | X8 [ B9 w" `
————————————————
+ e' E3 H6 n6 y/ b版权声明:本文为CSDN博主「guofei_fly」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。0 M& g& ]- O; c
原文链接:https://blog.csdn.net/guofei_fly/article/details/107501276- Z* t2 X r( n# d5 ]! A
2 l V! A* T8 [" f4 v+ U- E% |+ {9 Y3 H) h# R
|
zan
|