在线时间 1630 小时 最后登录 2024-1-29 注册时间 2017-5-16 听众数 82 收听数 1 能力 120 分 体力 565537 点 威望 12 点 阅读权限 255 积分 174884 相册 1 日志 0 记录 0 帖子 5313 主题 5273 精华 3 分享 0 好友 163
TA的每日心情 开心 2021-8-11 17:59
签到天数: 17 天
[LV.4]偶尔看看III
网络挑战赛参赛者
网络挑战赛参赛者
自我介绍 本人女,毕业于内蒙古科技大学,担任文职专业,毕业专业英语。
群组 : 2018美赛大象算法课程
群组 : 2018美赛护航培训课程
群组 : 2019年 数学中国站长建
群组 : 2019年数据分析师课程
群组 : 2018年大象老师国赛优
【文本匹配】交互型模型 * L4 H2 r z" h1 J1 j& E% o3 o
% z' m/ ^, j8 H8 X! M& f
表示型的文本匹配模型存在两大问题:(1)对各文本抽取的仅仅是最后的语义向量,其中的信息损失难以衡量;(2)缺乏对文本pair间词法、句法信息的比较
: ^" C2 H3 Y) m3 J% R: ]+ y ' T& _* [6 H4 @
而交互型的文本匹配模型通过尽早在文本pair间进行信息交互,能够改善上述问题。- [0 P) `- l0 F1 O$ h
) P- p6 x$ @; K0 M
基于交互的匹配模型的基本结构包括:6 u- S' C- a8 P f4 i2 X
$ W; \" C( }- J) e F" Q6 \ (1)嵌入层,即文本细粒度的嵌入表示;. S5 j( P0 J7 @7 P6 z% s% Q1 W* p
$ D- t7 V# ?& K! N6 b, G6 i, S (2)编码层,在嵌入表示的基础上进一步编码;
/ z; j( [. F, W& d % H5 T- u" i- {! v: H
(3)匹配层:将文本对的编码层输出进行交互、对比,得到各文本强化后的向量表征,或者直接得到统一的向量表征;6 [# E4 E% A, y. s8 G! H' X8 f
! H$ s: c$ ]7 W+ V
(4)融合层:对匹配层输出向量进一步压缩、融合;! k: p& G* M, L3 \5 X1 v# g
2 Q c3 k6 f* h8 f! z
(5)预测层:基于文本对融合后的向量进行文本关系的预测。
& Q6 {# `% k& g8 r3 n' F3 K5 T T 3 o8 r9 |; Z) } D& W
9 ?( G) B3 w+ i) t4 ~
( X& g' T+ s. D 1. ARC-II
; H m9 q- E B2 R* D: p ARC-II模型是和表示型模型ARC-I模型在同一篇论文中提出的姊妹模型,采用pair-wise ranking loss的目标函数。, b& G9 M+ V9 t6 d! d1 S
8 r) k# Y- ]3 f8 Q: c4 ~% [- @) x) \6 I
其核心结构为匹配层的设计:, C6 U% o3 S) f* T) K E& p
5 t0 W! ^% y3 R
(1)对文本pair的n-gram Embedding结果进行拼接,然后利用1-D CNN得到文本S_X中任一token i和文本S_Y中任一token j的交互张量元素M_{ij}。该操作既然考虑了n-gram滑动窗口对于local信息的捕捉,也通过拼接实现了文本pair间低层级的交互。% n% f R8 {) ?, M3 S4 q( w- M" X9 Y+ I
; N; W+ C5 n) p# o b% K) W (2)对交互张量进行堆叠的global max-pooling和2D-CNN操作,从而扩大感受野。
" } s) d: Z; K- U. c8 n) p
/ Q7 _% m. Q2 ]; i+ M 2. PairCNN
* ]1 o6 v" N0 r4 v PairCNN并没有选择在Embedding后直接进行query-doc间的交互,而是首先通过TextCNN的方式分别得到query和doc的向量表征,然后通过一个中间Matrix对query和doc向量进行交互得到pair的相似度向量,然后将query的向量表征、doc的向量表征、相似度向量以及其它的特征向量进行拼接,最后经过两层的MPL得到最后的二分类向量。
. b' n1 ]/ F) P# {; W
( r" M& E( q% u* w( K$ {/ k) z4 p5 C PairCNN的模型架构中的亮点在于各View向量的拼接,既能利用原始的语义向量,还能够很便捷的融入外部特征。6 q8 q) X' A! d \) [
( l# x5 u5 m4 [. s
3. MatchPyramid0 D/ b# ]" V. Q; c, e
无论是ARC-II中的n-gram拼接+1D conv还是Pair-CNN中的中间Matrix虽然均通过运算最终达到了信息交互的作用,但其定义还不够显式和明确,MatchPyramid借鉴图像卷积网络的思想,更加显式的定义了细粒度交互的过程。. Y* \, u) o0 j$ h
MatchPyramid通过两文本各token embedding间的直接交互构造出匹配矩阵,然后将其视为图片进行2D卷积和2D池化,最后Flatten接MLP计算得匹配分数。本文共提出了三种匹配矩阵的构造方式:
d9 T* R! p5 J # g0 ~# R* ?" _* M v
(1)Indicator:0-1型,即一样的token取1,否则取0;这种做法无法涵盖同义多词的情况;
, u2 k" T1 W q0 y' I& }/ J + x! F! ~1 i2 C0 r
(2)Cosine:即词向量的夹角余弦;
: g; }! |$ Y! G
5 `7 b& t1 D; T- S9 L4 U (3)Dot Product:即词向量的内积
$ j* x# c2 q+ J; M; Q& f
6 E/ r# N0 {$ ]7 [+ y) Y& D$ D) } 此外值得注意的是因为各个文本pair中句子长度的不一致,本文并没有采用padding到max-lenght的惯用做法,而是采用了更灵活的动态池化层,以保证MPL层参数个数的固定。0 Y7 y& O1 ?- O Q
6 y. t$ r# v2 D- ^. O
4. DecAtt
* _6 o2 w: u+ `, P DecAtt将注意力机制引入到交互型文本匹配模型中,从而得到各token信息交互后增强后的向量表征。1 r0 Y2 _* Q" u) |" g2 f& V9 I5 }' |. d
6 h0 q+ C5 ], K( |$ M) f1 y! ~- x 模型被概括为如下层级模块:
k2 a2 Y# v& {1 o1 t9 |/ F* j' A B0 O* T* h8 P9 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。
6 s- E6 F& k- F6 V+ W
8 {9 u% J% N5 H6 ~ (2)Compare层:将前序Attend层计算得到的最终embedding,喂入一个全连接层进行向量维度的压缩。; w* s: D& Q) [7 u# L% |- I
[! o! d/ B1 Q+ S- G2 F3 e$ [1 O
(3)Aggregate层:将每个文本各token处压缩后的向量进行简单的求和,再拼接起来通过MPL得到最后的匹配得分。
$ x, a& d Z3 s
" {3 W4 g: L" R 5. CompAgg# ~! D2 N. v# e/ U
CompAgg详细对比了在文本间cross-attention得到的各token向量表征与原始token向量进行compare的各种方案。
2 F/ U- I" L6 ~! `2 K ; a9 [4 I! H! l: `( g. S
该模型的主要结构包括:7 b% v* E$ x1 {8 x7 S$ E
' F9 G$ [+ D6 B' N( x p M9 x (1)reprocessing层:采用类似于LSTM/GRU的神经网络得到token的深层表示(图中的\bar a_i);* {* }+ x6 e/ r# s6 s2 B; m
3 y0 A" m4 s0 K! O4 s( z (2)Attention层:利用软注意力机制计算文本间的cross-attention(与DecAtt相同),从而得到各token处交互后的向量表示(图中的h_i);+ i% V7 o( q9 j, R* s6 L4 n5 o
: `' [. {* c6 c [* @/ V3 V7 {
(3)Comparison层:通过各种网络结构或计算将\bar a_i和h_i计算求得各token的最终表征。. K0 W* E7 k6 D
/ i0 ~6 `8 C! k$ ^0 O (4)Aggregation层:利用CNN网络对Comparison层的输出进行计算,得到最后的匹配得分。
. w4 r- ]" D2 c/ X+ |: L$ A
! r4 W. D# U8 \/ @& H' S 其中Comparison层的构造方式包括:
7 H' a3 n4 r6 f& y7 W
( d; G) }: @5 `3 G( W& M- E (1)矩阵乘法,类似于Pair-CNN中的中间Matrix
7 J6 K A, I# ~: m- C- J B9 u - N$ M6 l% k6 D* M9 W9 s$ w" p
(2)前向神经网络,即将\bar a_i和h_i进行拼接,然后利用输入FFN;
( I) f3 i* [# C" L. e: ^9 s
, N/ |. s6 V9 y (3)分别计算cosine和欧式距离,然后拼接;/ Y- [2 [: o& m( a
" }! Q2 ~! ^8 E3 p/ e' y+ Q (4)各维度进行减法;
7 t. ]5 p/ s$ K$ z3 B
5 b; W( v/ I) Q8 K (5)各维度进行乘法;
M0 ~+ w0 H9 I% ]& f 8 K' n7 I$ P; {& ]* j! U7 ?6 s3 S
(6)各维度进行减法和乘法,然后再接一个前向网络。0 s U: e4 U6 f# Q/ _
( \& L: \! Q9 p" \( Q, ?# k
6. ABCNN5 c& u& |" B: B9 r3 z6 ~
ABCNN是将Attention机制作用于BCNN架构的文本匹配模型。
# X' ?6 I2 ^+ h2 Y
( C' Z s* ~" t/ G1 x* \ 6.1 BCNN
6 P- b; [& Z5 p6 y 首先简单介绍下BCNN架构:( ?1 S! i8 L1 m! G
2 }% T/ ]' ], `0 m4 o! u; y' I. m BCNN的整体结构比较简单:(1)输入层;(2)卷积层,因为采用了反卷积的形式,所以在size上会增加;
4 e Z& u7 P3 c! L 3 V; E# I& ]/ I7 j5 N
(3)池化层,采用了两种池化模式,在模型开始阶段采用的是local平均池化,在最后句子向量的抽取时采用了global平均池化;(4)预测层,句子向量拼接后采用LR得到最后的匹配得分。! |3 p4 }, s' [) z, }# _
( }3 L! X4 t, |4 f4 k# P ABCNN共包括三种变形,下面依次介绍。
9 W! r6 d* l4 k0 x 1 O" E8 v; G+ u
6.2 ABCNN
4 _% U. Z v6 B( L
5 E7 s( l) W+ m2 g5 k 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 1 g% k; L% Q( ?8 g* l9 Z
ij
# s$ [ U5 O! o$ B
5 M* |9 h! z4 G- H: X =
2 I# [) i8 T$ W9 K+ l9 A* J 1+∣x
" k- C# Y* z$ Z) x0 O7 ]8 I i
! R2 K" {5 p, A+ {9 [7 _
1 o0 q0 b7 f Q* K −y
: @) D9 t. S' j; v j) t) C' W0 e& Y0 X( f
" P( B5 L) d7 @. f5 q; r ∣
5 g) H( p+ i6 y 1
7 `( L8 F! W; f! O* k
/ i; O. a$ w, `4 \6 W; `; c ,然后分别乘以可学习的权重矩阵 W 0 W_0 W 8 J$ @) B: u& b& c
0
: |8 p! Z6 p% k& ^ P v
, v+ ]: V. p0 g 和 W 1 W_1 W . _7 t+ m, j. z9 t8 N; h
1' G6 R6 Q2 r r5 @& }1 C1 F* h3 F* n
- {8 M2 m. @; H8 @' y# p
得到attetion feature map。5 b3 J% z2 C: N- F
7 }) {2 ]/ X7 s1 V
6.3 ABCNN-20 r' @& C; B, w
; Z8 R4 j7 J# E9 N5 f( G
ABCNN-2将Attention机制作用于word embedding层后的反卷积层的输出结果,其中注意力矩阵的计算原理与ABCNN-1一致。然后将注意力矩阵沿着row和col的方向分别求和,分别代表着各文本token的attention socre;接着将反卷积层的输出结果与attention socre进行加权平均池化,得到与输入层相同shape的特征图。
, N: W. }8 w: N$ v0 j
6 Q* s3 e' K, L9 L' x 6.4 ABCNN-3
2 C6 Z& l. F! V; V. J. {0 J' l
( c+ r; y% L1 {' A" v! { ABCNN-3的基本模块可视为ABCNN-1和ABCNN-2的堆叠,即在嵌入层和卷积层上面都引入了attention的机制用来增强对token向量的表示。
* f: c& L7 \) q$ ]" ~ $ Q' w/ w! I9 V; X) I1 a
7. ESIM
6 u6 Q' p+ L* ]" ]% y9 K- G `9 J ESIM模型基于NLI任务给出了一种强有力的交互型匹配方法。其采用了BiLSTM和Tree-LSTM分别对文本序列和文本解析树进行编码,其亮点在于:
9 c5 T! [) F$ j. T* ^) l4 d- R6 |* p ! ~# e" L4 H0 p* S# u& t! h
(1)匹配层定义了cross-attention得到各token的向量表示与原token向量间的详细交互关系,即采用 [ a ˉ , a ^ , a ˉ − a ^ , a ˉ ∗ a ^ ] [\bar a, \hat a,\bar a-\hat a,\bar a* \hat a] [
5 \6 C3 I' _& l: f% f9 b a
1 ]- X: n6 B }" J9 |/ Z4 A ˉ
2 h6 E3 {& z9 C* w3 [5 C- t , : Z/ z& B9 }! M/ g2 ?" X$ n4 P
a
1 i# _/ ]9 c# x, h1 l0 _) J; S ^8 j0 z& V% N# F6 r3 q6 L- J7 g8 U# J, P
, ' ^" G% S; c! b1 j0 z
a
6 [+ P+ h; M" q ˉ$ W/ k# B& _; e8 R/ f
− 2 k0 y6 y; j+ e$ s" V$ U- R
a
/ h5 }1 z8 F. {8 j1 e5 T ^
- f- `. a$ |2 R3 t' s- l7 } , c; r/ x/ W/ N6 B+ m
a
$ g7 l' k3 P. [+ U) u ˉ' c) q) I0 U* r% L' @, R7 v3 e
∗
: W7 C; ~+ P1 B1 ` a
# a9 l5 _9 m- Z- g/ l ^# G. [$ R! W7 E# b
]作为最终文本token的向量表示,这也成为后续文本匹配模型的惯用做法。
6 g) W2 c* c; d- N7 s, j
* M3 F! M3 |2 C" _: ~0 D3 p+ w (2)聚合层通过BiLSTM得到各文本token的编码,从而进一步增强了文本序列的信息传递;* S# r: c6 E& W' H4 I
5 @3 r o. w& Z& V6 W (3)预测层通过拼接各文本token编码的max-pooling和mean-pooling结果,再经过MPL进行匹配预测。
& {/ w; L( F6 M+ n# p
$ P( I& {; E9 M $ d% n- h) i/ @! t- ?6 }! v
$ J1 o( t$ s4 q) c. V- c4 h
8. Bimpm
" E* l% l* [5 t, N. e Bimpm可视为对之前各类交互型文本匹配模型的一次总结。
2 x$ x' T; T- w5 n) Y& H* V. R# C
1 ^( D0 B! E# U; {# G 该模型在各层的具体做法总结如下:5 M) k8 L8 Q6 R6 h
/ l& e) B* B/ H( y (1)编码层采用BiLSTM得到每个token隐层的向量表示;
* q+ I2 r4 T2 h. a! ?4 K 3 z3 R3 J0 C W8 f- c/ 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
. V1 {5 y; L! e, u/ B+ I% t4 ^; J) g k
+ m* H' k- ?8 ^9 p% v
9 `! G1 t5 u. h% ` o1 [ =cosine(W 5 G! \" Q7 V9 ^- J9 E
k
8 p a2 V5 D- O" w" H& T! |
3 x1 @) u7 P5 Z6 d, _6 H ∗v
0 X" b( C9 h; B$ } 1
7 x# i7 a x. f5 v% e* w
& z0 H% n8 |. P( S4 a4 U' j ,W
$ D2 e( U/ n& T1 u k6 b6 j+ B7 S% D" W; j- a2 K1 }
7 b, v: v. W0 n: J7 d
∗v : }$ e7 X/ e& ~* U' I
2' K) j# G- K3 d8 g
5 e" v m5 H( t4 h$ v5 s" X% V )的方式可以得到两个文本的任意token pair之间在第k个view下的匹配关系,至于 v 1 v_1 v / b- `% i* c9 L/ U2 T8 `1 E9 W
1
- T( B) q8 D4 `: G5 M
9 u4 O$ @$ y$ U! i 和 v 2 v_2 v $ X% C3 ~' l9 x2 T
22 |" ?, i% ?4 j* s. T
+ y/ {6 V$ O8 q 如何取,文章提供了4种策略:. m% `6 h0 ]5 e+ A) a: P8 I- z3 w9 M
" M( S0 \8 t6 P; U
策略一:其中一个句子取各token隐层的向量表示,另一个句子采用隐层最后时间步处的输出;
* h, a/ r3 L a2 o$ P 策略二:其中一个句子取各token隐层的向量表示,另一个句子采用隐层各时间步输出与之匹配后取再取Max-Pooling值;
r! h8 U% w/ W; u# j8 Q5 J 策略三:其中一个句子取各token隐层的向量表示,另一个句子采用cross-attentive后得到的加权句子向量;
" ?0 r" b7 ~5 ~, H. D% m0 k 策略四:其中一个句子取各token隐层的向量表示,另一个句子采用cross-attentive后attention score最高处token的向量作为句子向量。' C4 I5 k7 R/ M6 y: ?0 C$ i* c- [( U
这四种策略的区别在于对句子向量的计算不同。
; h) y9 I3 t$ A. o# |) T, C * X/ l' a( r$ o' D6 S0 n- b
4 R% G. h, x) Z (3)聚合层,首先对上面各种策略得到的输出层再通过一层BiLSTM层,然后将各策略下最后时间步的输出进行拼接,得到最后的聚合向量;
4 X3 s& r6 L4 \" v . |: d: m7 G4 z' I* R& f; V+ l
(4)预测层:两层MPL+softmax) e8 c& M# J q: p6 @4 u5 d6 ~
* p! N% M/ S2 l! [3 r 9. HCAN$ Z) {, ~* ^3 P/ D
HCAN是除Bert类模型外在文本匹配领域表现最为优异的深度模型之一,其采用了较为复杂的模型结构。
; ^/ p' X! G) m A) U # A) G1 ?4 m$ v1 B
针对于信息抽取问题,文章首先分析了相关性匹配和语义匹配的差异:
@% P1 E5 a6 [/ W& m; E 9 a! {: C! W; G b6 j
(1)相关性匹配主要关注于关键词的对比,因此更关注低层级词法、语法结构层面的匹配性;8 `0 Z' l+ m: o' c; `
- r, _3 V" n! h0 _ B& F8 J+ ] (2)语义匹配代表着文本的平均意义,因此其关注更高、更丑想的语义层面的匹配性。& a! h- s7 E8 j4 B
* v( L- k$ R( @( j% K) |' u" t 该模型首先采用三类混合的编码器对query和context进行编码:
: d+ A% T' l) Z. b . j+ K5 N5 h9 J
(1)深层相同卷积核大小的CNN编码器;( J7 e$ I! T! N+ W. [7 p" C
6 d: F% _2 a$ ?
(2)不同卷积核大小的CNN编码器的并行编码;9 c4 W: k. r1 K
) A) T6 d5 x& s- v8 g5 F m (3)沿着时序方向的stacked BiLSTM编码;
& ~9 p- v3 N" F/ N- i: Z. u; F
/ W+ N# @: F# ~8 C: H+ W; m 对于前两者,通过控制卷积核的大小可以更好的捕捉词法和句法特征,即符合相关性匹配的目的;而对于后者,其能表征更长距离的文本意义,满足语义匹配的目的。& y& g3 z2 ?4 Z3 m- F2 m/ e8 d
; J3 j! e4 Y, E4 y/ X 在这三类编码器的编码结果基础上,模型分别进行了相关性匹配和语义匹配操作。其中相关性匹配主要采用各phrase间内积+max pooling/mean pooling的方式获取相关性特征,并通过IDF指进行各phrase的权重调整。而在语义匹配中,模型采用了精心设计的co-attention机制,并最终通过BiLSTM层输出结果。
4 a3 a6 r H* ~1 I, s& Q- @+ \8 A7 T' V ; T; O1 w+ {8 X$ p
最后的预测层仍采用MPL+softmax进行预测。- P8 `7 s3 Q, m5 o) d
# [1 x8 \. g- u' {1 z. ^ 10. 小结
% t" k" L1 B8 d) |0 f( ~3 Z8 Z5 u 交互型语言匹配模型由于引入各种花式attention,其模型的精细度和复杂度普遍强于表示型语言模型。交互型语言匹配模型通过尽早让文本进行交互(可以发生在Embedding和/或Encoding之后)实现了词法、句法层面信息的匹配,因此其效果也普遍较表示型语言模型更好。
( s& p S0 j' i- q2 { D3 F % q6 ]' S, t- \
【Reference】
# G" U# d3 I/ s) G$ X! n% y. b/ a1 _ d
- L$ U# R/ W) }6 }% W9 Q+ Q% e$ e ARC-II: Convolutional Neural Network Architectures for Matching Natural Language Sentences" j/ X, i; H: `+ P7 ?) A! T$ l) w) v; y
" r4 }4 G x& ]- l5 s, B5 x! T; ^ PairCNN: Learning to Rank Short Text Pairs with Convolutional Deep Neural Networks7 {. V8 a9 t' H! e
" U+ Z' J8 d7 z! l" W% X
MatchPyramid: Text Matching as Image Recognition3 @# y2 q# s/ ^6 ]
, A3 B W$ y( f5 W6 |
DecAtt: A Decomposable Attention Model for Natural Language Inference& l2 Y; j0 b9 F, [( `* |, b
" D b8 b0 l, d
CompAgg: A Compare-Aggregate Model for Matching Text Sequences
# @9 r9 q0 f+ z
4 l- K" Z* O4 }$ l8 k6 L ABCNN: ABCNN: Attention-Based Convolutional Neural Network
3 f& y6 b Q- E4 [; t. T for Modeling Sentence Pairs
' p! x- r0 {# v) Z* k
k/ T4 T: i* Q a ESIM: Enhanced LSTM for Natural Language Inference
" h( |8 e* q: ~8 e# b4 g! O
/ p7 B2 D, Y) M5 w! N6 L2 } Bimpm: Bilateral Multi-Perspective Matching for Natural Language Sentences5 K7 `( I" u; q) s
) j5 x8 P* g- {5 v HCAN: Bridging the Gap Between Relevance Matching and Semantic Matching
! Q9 l, R* Z% Z% ^- k: o; S for Short Text Similarity Modeling- ^! w% c) p+ N8 Q$ |/ C
. ]- R" S- N7 M/ q. q& e 文本匹配相关方向打卡点总结(数据,场景,论文,开源工具)
+ F# {& Q: \; j. f8 A8 E0 R# W( d' ?
$ D; ]: i: H) {1 c7 ~! G/ o* r 谈谈文本匹配和多轮检索
' I9 @2 b% A7 k0 n( W. R / w" [, f0 b' i, S+ m$ U
贝壳找房【深度语义匹配模型 】原理篇一:表示型
& f" o6 Q; a2 c4 g' @ ————————————————
0 r6 ^- s! H5 g6 m9 c 版权声明:本文为CSDN博主「guofei_fly」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。$ J; A* ]* i2 Y8 i/ J1 E; T& x- l
原文链接:https://blog.csdn.net/guofei_fly/article/details/107501276
( r, L( \( A1 _" k! t# P* r
) o" O/ o6 |% V% e# G' k) F - q" J" A6 _0 H/ z% ^. C
zan