在线时间 1630 小时 最后登录 2024-1-29 注册时间 2017-5-16 听众数 82 收听数 1 能力 120 分 体力 566757 点 威望 12 点 阅读权限 255 积分 175250 相册 1 日志 0 记录 0 帖子 5313 主题 5273 精华 3 分享 0 好友 163
TA的每日心情 开心 2021-8-11 17:59
签到天数: 17 天
[LV.4]偶尔看看III
网络挑战赛参赛者
网络挑战赛参赛者
自我介绍 本人女,毕业于内蒙古科技大学,担任文职专业,毕业专业英语。
群组 : 2018美赛大象算法课程
群组 : 2018美赛护航培训课程
群组 : 2019年 数学中国站长建
群组 : 2019年数据分析师课程
群组 : 2018年大象老师国赛优
【文本匹配】交互型模型 3 C9 s: L: u* G
$ |2 o, b! m9 I9 k; e
表示型的文本匹配模型存在两大问题:(1)对各文本抽取的仅仅是最后的语义向量,其中的信息损失难以衡量;(2)缺乏对文本pair间词法、句法信息的比较
; O( ?- L! T, _( I% K0 M % a$ o6 E( V& g# V' B+ p
而交互型的文本匹配模型通过尽早在文本pair间进行信息交互,能够改善上述问题。4 D. a; e) E* R5 y7 w5 z2 _$ p
9 {$ v: X& U8 K8 o
基于交互的匹配模型的基本结构包括:
5 s2 X6 u& Y) ?+ u. G) l$ M6 l5 ]
; B5 C7 E2 x# P# `; W( x/ U& ^ (1)嵌入层,即文本细粒度的嵌入表示;
" x, E: }3 E2 g& S# f6 O 2 Z. l' s# B6 y5 K% ^6 l$ t1 n
(2)编码层,在嵌入表示的基础上进一步编码;
5 }3 o6 E. G% m. {. S
4 r z7 E7 P. Z% U6 F3 b (3)匹配层:将文本对的编码层输出进行交互、对比,得到各文本强化后的向量表征,或者直接得到统一的向量表征;6 |8 y( h3 w* ~! Y- g0 V4 A2 ^
$ Y+ [: Q7 o% I* P ^
(4)融合层:对匹配层输出向量进一步压缩、融合;
% N( N/ Z7 F$ R; C' w0 K* V 3 |& M: N6 F( d& @
(5)预测层:基于文本对融合后的向量进行文本关系的预测。
" ?& T' Q4 n& b. t) c' ?6 ~. O- G
' i3 q2 u% K1 ~8 I- K M + |: }3 g2 b) m: y9 l& A
) e f7 m6 q2 a% V' d& G) D' T 1. ARC-II1 ^8 T' u$ [$ j0 Z" h/ y* l" [% z0 t
ARC-II模型是和表示型模型ARC-I模型在同一篇论文中提出的姊妹模型,采用pair-wise ranking loss的目标函数。
) P# v$ l6 m' O" O0 B/ z
% T0 Q, X j2 k( K 其核心结构为匹配层的设计:
* q0 J! _6 [% g, k8 D/ U , Z) N0 N* c9 a/ s2 _3 _" F. W* p
(1)对文本pair的n-gram Embedding结果进行拼接,然后利用1-D CNN得到文本S_X中任一token i和文本S_Y中任一token j的交互张量元素M_{ij}。该操作既然考虑了n-gram滑动窗口对于local信息的捕捉,也通过拼接实现了文本pair间低层级的交互。- ?7 h. ~" O8 i# {1 F" n0 I
1 b1 ]( ?- J6 p (2)对交互张量进行堆叠的global max-pooling和2D-CNN操作,从而扩大感受野。
; R) B/ c- t4 @. g# h+ `: l F
; _) H9 j1 O) r6 p 2. PairCNN
+ `% n$ V: C3 A PairCNN并没有选择在Embedding后直接进行query-doc间的交互,而是首先通过TextCNN的方式分别得到query和doc的向量表征,然后通过一个中间Matrix对query和doc向量进行交互得到pair的相似度向量,然后将query的向量表征、doc的向量表征、相似度向量以及其它的特征向量进行拼接,最后经过两层的MPL得到最后的二分类向量。$ e# d g! M4 G% }! s6 b
/ i% R3 J, X6 O" {" A& s$ N PairCNN的模型架构中的亮点在于各View向量的拼接,既能利用原始的语义向量,还能够很便捷的融入外部特征。- _6 z7 [% o* S0 c) o% ^; m- g* u
. A% B, _ f& L0 u/ @ 3. MatchPyramid
8 q# ]0 ~( S" E 无论是ARC-II中的n-gram拼接+1D conv还是Pair-CNN中的中间Matrix虽然均通过运算最终达到了信息交互的作用,但其定义还不够显式和明确,MatchPyramid借鉴图像卷积网络的思想,更加显式的定义了细粒度交互的过程。
7 P5 Q0 @, t3 X6 `. X R MatchPyramid通过两文本各token embedding间的直接交互构造出匹配矩阵,然后将其视为图片进行2D卷积和2D池化,最后Flatten接MLP计算得匹配分数。本文共提出了三种匹配矩阵的构造方式:
+ ^5 J8 ]1 d# H 7 s% x4 K' B+ v( y: t, {
(1)Indicator:0-1型,即一样的token取1,否则取0;这种做法无法涵盖同义多词的情况;& m- C9 y/ i, f* ~* M* ]: e& T1 V
8 g) G5 A8 L1 s/ z/ J& A
(2)Cosine:即词向量的夹角余弦;2 ], c6 e3 K6 q
2 V# o# z8 M* \, k4 N: S- H) q* u1 C
(3)Dot Product:即词向量的内积
9 o ~* [. @* N( {; c . I! O1 Q# C" \5 Y2 h
此外值得注意的是因为各个文本pair中句子长度的不一致,本文并没有采用padding到max-lenght的惯用做法,而是采用了更灵活的动态池化层,以保证MPL层参数个数的固定。
% X. [" H; o1 {7 H
: f9 B% N9 I2 S) } 4. DecAtt+ c! L: Q5 v* L3 p" \, R
DecAtt将注意力机制引入到交互型文本匹配模型中,从而得到各token信息交互后增强后的向量表征。8 @/ o, |# ^1 C! ], S
4 D% O; L. W* p
模型被概括为如下层级模块:
3 a* J' o9 }* w. l' D8 l) F
, Z$ b! T0 k" p) s( @. O& N (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。
. m n' h- P1 x
) q/ b' x( v/ f9 f! o (2)Compare层:将前序Attend层计算得到的最终embedding,喂入一个全连接层进行向量维度的压缩。4 {/ P. p- p" q n( @
8 S3 D6 U# s$ Y0 q (3)Aggregate层:将每个文本各token处压缩后的向量进行简单的求和,再拼接起来通过MPL得到最后的匹配得分。
4 O; O/ F* H7 \ E8 v, k8 u ) P5 l( Z/ p S3 ]
5. CompAgg
# g5 \% z5 B) p9 y" U CompAgg详细对比了在文本间cross-attention得到的各token向量表征与原始token向量进行compare的各种方案。
D" k/ ?: N8 e& W: f
1 U9 Q) l7 @* J1 C: I/ G6 f( ? 该模型的主要结构包括:
* M4 v% v: c2 Q: K& M7 ?8 F7 R
5 ]2 e3 r" G8 `) w/ J" J* V (1)reprocessing层:采用类似于LSTM/GRU的神经网络得到token的深层表示(图中的\bar a_i);
% j( i6 `( x- O H
% R; m4 g, B* g% K (2)Attention层:利用软注意力机制计算文本间的cross-attention(与DecAtt相同),从而得到各token处交互后的向量表示(图中的h_i);1 C# O+ z- V5 ~: O* j% H0 O& U
. h; D( W$ p+ l
(3)Comparison层:通过各种网络结构或计算将\bar a_i和h_i计算求得各token的最终表征。1 b6 A9 a/ d. S* q* s
* j1 v' j2 M, ?& V& |) e/ `# l$ `7 Y (4)Aggregation层:利用CNN网络对Comparison层的输出进行计算,得到最后的匹配得分。
) h6 @! ?4 @* Q& t t1 Y6 \ Z' E% N& K- D- [
其中Comparison层的构造方式包括:
8 b5 c. W1 N& m1 Q- Z, z1 L a
& _* L; U i% f; P (1)矩阵乘法,类似于Pair-CNN中的中间Matrix7 k4 ]% D; n2 E& A. L
- U6 k1 F3 z* c" B4 A. s
(2)前向神经网络,即将\bar a_i和h_i进行拼接,然后利用输入FFN;
1 N( J0 l, m2 C, v/ R; l
9 Y4 U3 D8 f0 S# H! D (3)分别计算cosine和欧式距离,然后拼接;
" V. \/ h4 X5 f% \/ B' h/ z, O ; j, x! ]9 J* d
(4)各维度进行减法;) I( @$ B- R3 K6 I" B# x
+ K+ y' z( U O [5 u* J
(5)各维度进行乘法;& j1 y! s, n& r# R
. e! i- \& Q- }. ^
(6)各维度进行减法和乘法,然后再接一个前向网络。$ |- I* n G( K4 N
/ U! B$ f* P6 C2 c$ }
6. ABCNN
4 }( y& ]3 I0 e& L6 M: ^ ABCNN是将Attention机制作用于BCNN架构的文本匹配模型。8 \: X- p/ ^7 r" c5 ^
" T, G. b8 W) E( R
6.1 BCNN
5 z5 n# U. V. T/ p& T; d 首先简单介绍下BCNN架构:+ f2 o3 s* x8 U* C0 X4 w7 p' l: y, L
# f' f y5 v# A( G1 c
BCNN的整体结构比较简单:(1)输入层;(2)卷积层,因为采用了反卷积的形式,所以在size上会增加;
3 _; o" O2 C7 S& x
4 [( M, R: F9 C3 ^+ ~ (3)池化层,采用了两种池化模式,在模型开始阶段采用的是local平均池化,在最后句子向量的抽取时采用了global平均池化;(4)预测层,句子向量拼接后采用LR得到最后的匹配得分。
0 W! X$ \/ Q0 F5 K9 Q3 Y% s ; `5 Y9 `, U* Y' p4 L* o4 u
ABCNN共包括三种变形,下面依次介绍。
5 Q7 G& W7 x8 c& W + q% y( F1 ~$ `! ~" p% t8 S. a
6.2 ABCNN, a& r, ~% P0 h
8 U6 S5 U+ G& i( _* }
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
/ q2 f8 Y" E' u* Q1 ` ij
% V1 r' j# E7 _. f" t $ F! Z- g2 j+ C* k
= 5 T3 W9 k# D$ v" J! n" O1 N6 z- E
1+∣x $ ?7 f- i! X$ N& H2 M' Z: D
i
) k+ V3 `( P" a/ _1 h. V* Z " d8 t) G# q8 M5 i5 Z
−y ( g1 L& L+ j1 `3 Q0 O. N
j
9 S- a( S, Y# O1 C% m/ ?4 b3 f 1 _% A3 e) o7 _# j T& K2 y( ?" H
∣ z8 h" S5 {8 D0 X4 H1 p
1
2 z" B3 t' E/ R) T; A5 i
7 t* A" ]0 _1 O( N ,然后分别乘以可学习的权重矩阵 W 0 W_0 W 4 u4 O- m+ {5 n8 @4 @9 [
0
& P g- N ~+ E2 |+ h " n, j# K! q& h# T* C8 g
和 W 1 W_1 W
% O- g! H, \( G) G* j 1$ Y6 H* d) F3 i, N' l$ G
' s4 A6 H. N3 A4 l
得到attetion feature map。* O- _1 N; @5 E1 i$ I
1 }4 `9 O2 G7 ^) u) w" ~# p/ R5 T 6.3 ABCNN-2
& I3 q0 `2 b0 K9 i& o: P + R& r d# T( j' i7 v y. s( \3 ~0 C
ABCNN-2将Attention机制作用于word embedding层后的反卷积层的输出结果,其中注意力矩阵的计算原理与ABCNN-1一致。然后将注意力矩阵沿着row和col的方向分别求和,分别代表着各文本token的attention socre;接着将反卷积层的输出结果与attention socre进行加权平均池化,得到与输入层相同shape的特征图。4 d0 f, n5 n' h8 [; b
6 w# }5 f. H: g( b9 B
6.4 ABCNN-30 p; d# ?& F# p& v
9 k Y* T6 k4 `5 j1 Z5 D0 A
ABCNN-3的基本模块可视为ABCNN-1和ABCNN-2的堆叠,即在嵌入层和卷积层上面都引入了attention的机制用来增强对token向量的表示。: c' W! T+ x- e7 I2 N0 _, r" e S! Z
6 D/ J& m$ T) D7 w# v* ]& \% i1 U
7. ESIM
" B* l# `3 n/ }; t _& _/ o ESIM模型基于NLI任务给出了一种强有力的交互型匹配方法。其采用了BiLSTM和Tree-LSTM分别对文本序列和文本解析树进行编码,其亮点在于:3 n2 h* @. v8 ~
- [: M; \) p* k! c$ l" I) \ (1)匹配层定义了cross-attention得到各token的向量表示与原token向量间的详细交互关系,即采用 [ a ˉ , a ^ , a ˉ − a ^ , a ˉ ∗ a ^ ] [\bar a, \hat a,\bar a-\hat a,\bar a* \hat a] [ 4 m6 s5 b- }0 X
a
+ C( I' p/ {( y% I9 k$ K2 d; r ˉ8 @. M8 n4 v1 u$ i! k
,
1 I0 j+ s+ M, _ a
( T- O5 Q) R' ? ^
# |3 a9 e3 s6 A' {5 d! ^ , * i% x) J& j3 e' }/ M- W
a4 V8 A8 N: B- M+ \ ^9 F) d
ˉ/ A$ c0 ^! s) b% J
−
- {2 A; G5 l' Z; G a
; h9 d9 M6 p3 `+ `( { ^; ?- J/ v- d2 C: h9 r$ Q2 g
, # `6 k3 U0 V& s
a, B0 D! R7 Q7 p4 O& f( Y+ s
ˉ' _: ]- _/ u& e
∗ - V; Q. n2 t' T0 }- b1 k
a. \' e+ f2 `6 `
^
1 V; {2 E; A+ x, O* m( ] ]作为最终文本token的向量表示,这也成为后续文本匹配模型的惯用做法。4 l9 A: ^+ L! G
. X2 d- v$ Z( ~" ]1 b! N. X
(2)聚合层通过BiLSTM得到各文本token的编码,从而进一步增强了文本序列的信息传递;
# `. v: Z" [ `* j6 z6 s ; g+ k0 M9 G& b, u- n
(3)预测层通过拼接各文本token编码的max-pooling和mean-pooling结果,再经过MPL进行匹配预测。/ _9 G3 f2 G3 z' Q
4 a8 f3 ?+ H9 }* C$ p0 u
4 N) b8 y! N4 f! m' j7 g* K
" p. x/ \$ q2 x 8. Bimpm8 B/ G; N1 E% E* j- r
Bimpm可视为对之前各类交互型文本匹配模型的一次总结。
# J6 m6 C1 }& w' r* n
# w6 F! ]# L' {/ L( a 该模型在各层的具体做法总结如下:
! S, c% v d" m) h4 } I
* z0 b& ]3 R% ]/ S; h (1)编码层采用BiLSTM得到每个token隐层的向量表示;
- D" G3 y. V" o p! d8 A) Y- a
5 G* @3 I8 H( M7 F4 }% ^ (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 ) r2 }1 ]6 y, G* C+ o
k4 q1 d S" \" V, f- u3 Z$ r% m# i
; L& z( k; n* |; i( q: Q9 j
=cosine(W
: N" z9 p: ]6 ^7 c k& j) m9 r+ `/ K. f4 @
* t5 ?0 z( N# q: W N5 J. @/ i0 A: G ∗v
" H4 l1 v/ c2 L9 g* a 14 I/ @7 y+ @0 y Z5 {7 |1 H3 b
: O2 b# @6 X% G: k
,W
* z; ^4 B; m6 [ q3 o3 D k
9 J7 L8 L& |. K& v8 ~0 ^" Y
6 b& l/ j) u. }/ W$ v( T ∗v 4 |* r, m, N5 w; k7 b5 J# G
28 k D3 u" x, ?" E+ Z1 f" Z
( u* h1 ]' W* c" C
)的方式可以得到两个文本的任意token pair之间在第k个view下的匹配关系,至于 v 1 v_1 v
' T2 x! k% z' Z( J) k# g 1: _9 i, b8 u; U! i7 ?. f
; {+ U# [0 m7 G- T- ]7 P+ g 和 v 2 v_2 v # s+ W+ S3 b, N0 ~- S! b
2
2 O! ]$ v5 x+ s: F" | 7 `$ ]6 N. O! q4 O/ R" r
如何取,文章提供了4种策略:) W, ?- X. m# i: T& X" q- C/ D; @
6 x' f. I0 V+ D0 p$ K
策略一:其中一个句子取各token隐层的向量表示,另一个句子采用隐层最后时间步处的输出;
8 E$ T B- e$ J6 ]0 {- n 策略二:其中一个句子取各token隐层的向量表示,另一个句子采用隐层各时间步输出与之匹配后取再取Max-Pooling值;. y" _& i5 X- a3 r& N6 R+ n ]
策略三:其中一个句子取各token隐层的向量表示,另一个句子采用cross-attentive后得到的加权句子向量;
8 D3 N* R6 I Y2 g8 @, ` 策略四:其中一个句子取各token隐层的向量表示,另一个句子采用cross-attentive后attention score最高处token的向量作为句子向量。8 L, f0 t0 h* h
这四种策略的区别在于对句子向量的计算不同。1 v: W: ?/ w: \
7 p2 d- J/ D6 [
, t7 F+ t+ W; a; i( x3 {/ B (3)聚合层,首先对上面各种策略得到的输出层再通过一层BiLSTM层,然后将各策略下最后时间步的输出进行拼接,得到最后的聚合向量;% l5 Z+ S7 V; C; W
: K' m; A* ^& R, ~" w (4)预测层:两层MPL+softmax1 f* U8 a% e. B! x3 j4 W! g7 ^$ c
/ Y$ e- C" n* u; j% N6 n: q6 W 9. HCAN# B$ e2 J; S% u, b" ~* h
HCAN是除Bert类模型外在文本匹配领域表现最为优异的深度模型之一,其采用了较为复杂的模型结构。
1 H# D. t2 J0 X6 r% {4 {$ V2 Y- I
/ b) a# p; x( h Z3 Z3 \* r. ~" V 针对于信息抽取问题,文章首先分析了相关性匹配和语义匹配的差异:
# i& C( M! G2 Q2 }' p& g. p) m* ~: U
$ Q9 [& a# {) @. l0 ~* H; m3 g (1)相关性匹配主要关注于关键词的对比,因此更关注低层级词法、语法结构层面的匹配性;4 P. L* P: u+ D
+ m2 A' c! f/ H6 o0 E
(2)语义匹配代表着文本的平均意义,因此其关注更高、更丑想的语义层面的匹配性。
) |/ o* E4 E" X, s( E3 D i) C# x/ Z( M8 N# x3 Q5 W
该模型首先采用三类混合的编码器对query和context进行编码:
( l! q. L t* j. k% i+ ^
" \& j O3 @: z' d (1)深层相同卷积核大小的CNN编码器;% c8 C9 x/ Y! \" |) j2 h U0 n
0 u, V$ J# w2 [9 s5 T ? (2)不同卷积核大小的CNN编码器的并行编码;0 ?8 C$ i ~' g. T7 ^3 w1 W
$ G0 E2 _5 P$ b
(3)沿着时序方向的stacked BiLSTM编码;
) e" c$ m" s3 y0 Y
3 D) ?9 X1 J3 t" A 对于前两者,通过控制卷积核的大小可以更好的捕捉词法和句法特征,即符合相关性匹配的目的;而对于后者,其能表征更长距离的文本意义,满足语义匹配的目的。5 ]2 X7 C) c$ {$ Q3 [! \ {+ U* H
. v, @( o0 F7 Z& A3 L0 y3 Q 在这三类编码器的编码结果基础上,模型分别进行了相关性匹配和语义匹配操作。其中相关性匹配主要采用各phrase间内积+max pooling/mean pooling的方式获取相关性特征,并通过IDF指进行各phrase的权重调整。而在语义匹配中,模型采用了精心设计的co-attention机制,并最终通过BiLSTM层输出结果。! f+ S8 v6 S4 b1 ~. ~
2 p. |% |- J) ] l3 l+ V 最后的预测层仍采用MPL+softmax进行预测。* p6 g8 A9 ^2 O' G
, K( L5 R5 L5 `/ u0 f) @' S 10. 小结5 d$ r; Y9 g7 c# m6 w" W0 J& J
交互型语言匹配模型由于引入各种花式attention,其模型的精细度和复杂度普遍强于表示型语言模型。交互型语言匹配模型通过尽早让文本进行交互(可以发生在Embedding和/或Encoding之后)实现了词法、句法层面信息的匹配,因此其效果也普遍较表示型语言模型更好。
" E) T7 s* F1 _( G
6 j9 u6 _. I: p% } 【Reference】/ q) u6 C* M) N. Q
6 R; `/ T2 P% X1 V* D ARC-II: Convolutional Neural Network Architectures for Matching Natural Language Sentences
" K% a6 m7 O4 B3 [6 O" e
0 e8 R2 } b* R PairCNN: Learning to Rank Short Text Pairs with Convolutional Deep Neural Networks+ O( ~& B% i9 D. G" W; y& \
! O0 A; b2 w4 K" } MatchPyramid: Text Matching as Image Recognition
1 A' ?0 j/ x }) Y. l
0 t+ S7 h% A; }5 E- ?7 t- M2 c9 u6 I DecAtt: A Decomposable Attention Model for Natural Language Inference; v( d" ^: [! M2 z
$ n! }. {$ {9 m( m6 w, Z9 ^ CompAgg: A Compare-Aggregate Model for Matching Text Sequences
9 h5 G# B# t+ {# s " i+ ?! K% _. G6 t! o
ABCNN: ABCNN: Attention-Based Convolutional Neural Network- n/ N( o) g7 G& T( _6 U, A& r W
for Modeling Sentence Pairs# m7 C' j( X7 f0 p# P
8 ^0 c9 T' n( _' u% J1 y# _ ESIM: Enhanced LSTM for Natural Language Inference
; M7 Y! Y2 s) S1 @ ~4 v3 B9 ^ C* {
Bimpm: Bilateral Multi-Perspective Matching for Natural Language Sentences
# B6 }% a' Y& ^ G8 I$ m # h2 x+ ~+ n1 q: ]( e
HCAN: Bridging the Gap Between Relevance Matching and Semantic Matching
* e4 ~# O8 n. y: [ for Short Text Similarity Modeling
+ h% G' f7 }7 l& e* L( B% V0 l
: [2 Z; T$ l7 k& X& s6 R 文本匹配相关方向打卡点总结(数据,场景,论文,开源工具)
5 J$ B% f3 @/ r4 \! M* z7 H 8 H. [" c# K% Z0 j1 w+ g# n! o" F
谈谈文本匹配和多轮检索
D8 K( G! A& f9 G! o* z: H ) a# j! z3 q9 Z$ w7 F. u
贝壳找房【深度语义匹配模型 】原理篇一:表示型7 q' \+ q; M' }9 K* T
————————————————
, W) G& A5 E8 w, L! u7 ? 版权声明:本文为CSDN博主「guofei_fly」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。6 V( E- t' B6 t+ I- m) h, u
原文链接:https://blog.csdn.net/guofei_fly/article/details/107501276$ s, m& O7 ^) J! b. O' _* q$ t" H/ Y
- ]: _" V$ o8 C% V1 d$ V/ \0 X
8 c2 r ^ c% q1 j! r" r/ b8 @
zan