在线时间 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年大象老师国赛优
【文本匹配】交互型模型
; ]. j9 a9 i. |. ]
0 d! G5 P( G! [ 表示型的文本匹配模型存在两大问题:(1)对各文本抽取的仅仅是最后的语义向量,其中的信息损失难以衡量;(2)缺乏对文本pair间词法、句法信息的比较
9 u) N" T- R6 ?; b" L, \; [1 ?9 q
2 @% f! e4 K, U, s: P2 n 而交互型的文本匹配模型通过尽早在文本pair间进行信息交互,能够改善上述问题。( u- u. S) x& }+ |( i1 l
# k/ G6 W/ p' @7 y4 R% N$ k
基于交互的匹配模型的基本结构包括:
+ q: Y( h: k" S; ?# B ! w* J: a, z4 O- z' F* V
(1)嵌入层,即文本细粒度的嵌入表示;
1 s* x' r8 y1 n, L$ _+ A0 w
) E- j' J( |5 I; g8 R (2)编码层,在嵌入表示的基础上进一步编码;
$ F& J+ k+ S8 w% n5 L$ G; x . Q2 B8 _5 o! [; B! k5 A6 b
(3)匹配层:将文本对的编码层输出进行交互、对比,得到各文本强化后的向量表征,或者直接得到统一的向量表征;
3 M( j1 g+ x H2 b , n, C- w* c7 X' G& B
(4)融合层:对匹配层输出向量进一步压缩、融合;
% P; a' Q- c9 {) d2 Z8 X , f( Y2 K, W; P/ M; R
(5)预测层:基于文本对融合后的向量进行文本关系的预测。3 W( W( b8 P; S5 ~9 d
' W0 K$ t, ~- _+ p$ W & u n' A3 s" |5 z
9 a+ m$ O& s% q- ^! Z 1. ARC-II
% ^$ |) I% r9 w/ L G8 J4 G% L ARC-II模型是和表示型模型ARC-I模型在同一篇论文中提出的姊妹模型,采用pair-wise ranking loss的目标函数。2 _3 g) }' W" u$ Q2 ^
\1 h8 k9 q( |% _& x0 U9 n g' J8 h
其核心结构为匹配层的设计:
5 C8 d: }5 w& C) x/ @
% q9 C( b( t# u0 z (1)对文本pair的n-gram Embedding结果进行拼接,然后利用1-D CNN得到文本S_X中任一token i和文本S_Y中任一token j的交互张量元素M_{ij}。该操作既然考虑了n-gram滑动窗口对于local信息的捕捉,也通过拼接实现了文本pair间低层级的交互。
# j8 S, S8 d* i 6 s+ C8 a3 c( u4 ]2 w2 |% }
(2)对交互张量进行堆叠的global max-pooling和2D-CNN操作,从而扩大感受野。, w) |. l c( Z |9 ]: h1 s7 M
' r: ~# s0 I" w/ _8 e6 L& w 2. PairCNN
) j H4 g9 L/ a& o! X W0 b( ]$ ` PairCNN并没有选择在Embedding后直接进行query-doc间的交互,而是首先通过TextCNN的方式分别得到query和doc的向量表征,然后通过一个中间Matrix对query和doc向量进行交互得到pair的相似度向量,然后将query的向量表征、doc的向量表征、相似度向量以及其它的特征向量进行拼接,最后经过两层的MPL得到最后的二分类向量。
7 O; w {0 B) o* r
$ `$ h8 S: B# c3 ? r PairCNN的模型架构中的亮点在于各View向量的拼接,既能利用原始的语义向量,还能够很便捷的融入外部特征。2 C: G- E! b! Y* F9 X* {
4 e1 S( O2 x! S) j+ s2 O$ H
3. MatchPyramid
8 M( S! }/ F! v1 a/ { 无论是ARC-II中的n-gram拼接+1D conv还是Pair-CNN中的中间Matrix虽然均通过运算最终达到了信息交互的作用,但其定义还不够显式和明确,MatchPyramid借鉴图像卷积网络的思想,更加显式的定义了细粒度交互的过程。
( K0 X p. r B MatchPyramid通过两文本各token embedding间的直接交互构造出匹配矩阵,然后将其视为图片进行2D卷积和2D池化,最后Flatten接MLP计算得匹配分数。本文共提出了三种匹配矩阵的构造方式:, w* _8 v+ c% I4 ^) y& o' i8 e
F9 ~5 H6 j* y# F5 S/ J5 c$ ^ (1)Indicator:0-1型,即一样的token取1,否则取0;这种做法无法涵盖同义多词的情况;
7 ~" ]) H h; N$ a6 W6 W ' o; L& G7 I# H
(2)Cosine:即词向量的夹角余弦;# ]* O/ Y$ J4 a8 P
, W$ F/ S0 ~2 T$ V (3)Dot Product:即词向量的内积! p T3 U6 o: Y5 o3 B( j
( v, u% D; r$ ^% I. k- C
此外值得注意的是因为各个文本pair中句子长度的不一致,本文并没有采用padding到max-lenght的惯用做法,而是采用了更灵活的动态池化层,以保证MPL层参数个数的固定。
/ P7 t4 s0 s2 T+ ~! j
$ y/ a }+ v! o1 v7 W 4. DecAtt; T2 Q3 c$ q' i( o, B* x6 Y
DecAtt将注意力机制引入到交互型文本匹配模型中,从而得到各token信息交互后增强后的向量表征。* u+ l9 a x9 a' @, y3 p# @/ P
" [4 H1 M5 b5 L# v4 o
模型被概括为如下层级模块:
8 c( K- L/ P; [: `$ S. | 2 v0 k5 m' M8 y
(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。+ Q# N- U6 j' O+ R& @
& y3 m% [/ J# m! D (2)Compare层:将前序Attend层计算得到的最终embedding,喂入一个全连接层进行向量维度的压缩。
( P1 h/ q( N* `2 e+ l
R/ ~- w- e# @1 T (3)Aggregate层:将每个文本各token处压缩后的向量进行简单的求和,再拼接起来通过MPL得到最后的匹配得分。
2 B; b0 q8 o7 p. Z1 q" Q0 x6 q . o( k$ N0 F$ @9 y7 d2 X8 @
5. CompAgg' r* w0 t* U; k: u, G9 n8 a1 t, Y
CompAgg详细对比了在文本间cross-attention得到的各token向量表征与原始token向量进行compare的各种方案。1 v& m0 o+ F' ` N( W+ i# l8 \
+ _2 J* ^' n7 J( [. f [ 该模型的主要结构包括:, e2 V3 u3 h# k+ p, g0 c; f
4 ~5 ^; ]+ O# X0 f' u @6 K (1)reprocessing层:采用类似于LSTM/GRU的神经网络得到token的深层表示(图中的\bar a_i);" a p4 R3 g. c7 l [. m( F) l
& p! a# u/ {) _! @# h( [3 z+ J$ Y (2)Attention层:利用软注意力机制计算文本间的cross-attention(与DecAtt相同),从而得到各token处交互后的向量表示(图中的h_i);
1 ^0 l- i: N: k6 } # \: i o1 E5 u5 f& @5 g# c
(3)Comparison层:通过各种网络结构或计算将\bar a_i和h_i计算求得各token的最终表征。
8 k; c3 |8 s5 k n % k S- d; _$ u+ B& \& {9 w
(4)Aggregation层:利用CNN网络对Comparison层的输出进行计算,得到最后的匹配得分。
( ]8 ` e8 d) ^7 y
- p; g; c0 H2 M) N, k, X W. J8 j 其中Comparison层的构造方式包括:
! |: A+ w* C, {
4 E( H* s3 @) ?: L/ o' Y u2 o (1)矩阵乘法,类似于Pair-CNN中的中间Matrix
+ P9 G8 H/ c+ M% g) S1 H # C" s4 t% ]0 w( ?, x
(2)前向神经网络,即将\bar a_i和h_i进行拼接,然后利用输入FFN;# ~: e4 S0 e( I& b0 } K% v$ ~* Q
4 | O6 V; p! i: C
(3)分别计算cosine和欧式距离,然后拼接;5 M: T) K8 m3 k+ O0 V0 X
/ h& |. a( Z+ R! [' C% m! G (4)各维度进行减法;
) k; T$ ~" q+ H' Z
3 ]6 x& A0 q' p# K0 m (5)各维度进行乘法;
. O- ?: m% u1 Z' X7 _# U. E
1 f* p( o) R* A4 `$ |$ A (6)各维度进行减法和乘法,然后再接一个前向网络。# |2 c+ q4 R5 P+ \
. `& D- l' A. @9 H# X9 b 6. ABCNN7 u/ i! g- } |7 [9 j" D* _
ABCNN是将Attention机制作用于BCNN架构的文本匹配模型。
5 u' ] e3 Z' `! }5 R
$ e& z. y, l( {& G1 T( [+ @ 6.1 BCNN; O6 i+ Q) ^/ ~
首先简单介绍下BCNN架构:$ t8 H5 K$ r6 `" `5 e
" r' b, _( v0 c% u6 E BCNN的整体结构比较简单:(1)输入层;(2)卷积层,因为采用了反卷积的形式,所以在size上会增加;
. L2 h, S4 `9 i# g) {7 Y$ m
- n& Z; F. v, k6 v' Q) R (3)池化层,采用了两种池化模式,在模型开始阶段采用的是local平均池化,在最后句子向量的抽取时采用了global平均池化;(4)预测层,句子向量拼接后采用LR得到最后的匹配得分。6 K# ?# @: ]- X+ r7 y7 G
/ F7 j2 {* w% b- k2 z% p ABCNN共包括三种变形,下面依次介绍。
3 `$ o8 k4 S3 p7 w# r V; e ) D3 a: \' P n; I: M
6.2 ABCNN, x0 C7 {7 j2 O. c- `
$ C8 s5 J: s& w. D( `- Y 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+ t4 A4 w! b
ij; D0 b7 n- j+ K5 f, d4 v
/ v: M% ]/ M1 F8 P8 X8 |
=
( y) T" H6 x% B- V 1+∣x
7 K* L0 A0 n9 Z0 f' h" N i H. Z1 X2 e6 D" B
6 i8 w) N' U- q, }. W −y
$ ^4 W; j9 ~/ B" F j
( n( [& Y! B+ h0 X- R- [9 ~8 u
+ X0 a/ g% u* S h- E2 K ∣
4 o6 O3 l$ w: j6 u9 ]" Q3 { 1
+ o$ l' }4 [8 ^& u/ L0 L8 A0 h# j, J ( c# Y1 j) c! @- p9 c0 G
,然后分别乘以可学习的权重矩阵 W 0 W_0 W
3 ~% t) s3 ^3 E2 l* N/ z- P 0
8 o& d: m' E* {6 H! k / i( e; r+ \/ A9 P& a' u3 n
和 W 1 W_1 W
+ r Y2 M0 a5 A+ h6 @ 14 [; O" ^3 T7 L" f \9 w* `$ k& i5 V
I1 R% f4 V- j. l( R 得到attetion feature map。
& d% s' o5 z2 w2 [+ Y! b $ Q g% q0 P) t/ A
6.3 ABCNN-26 |7 h% Y {7 x( o4 d) p8 l5 {3 c9 F; D
6 n* z9 r$ Z5 D3 e9 j ABCNN-2将Attention机制作用于word embedding层后的反卷积层的输出结果,其中注意力矩阵的计算原理与ABCNN-1一致。然后将注意力矩阵沿着row和col的方向分别求和,分别代表着各文本token的attention socre;接着将反卷积层的输出结果与attention socre进行加权平均池化,得到与输入层相同shape的特征图。) y3 w O0 O0 ]) J
/ l* L/ R, {7 I- P z( W+ p 6.4 ABCNN-3
4 F; J; i0 ~! H0 _/ b) ^2 [
2 U) j6 |. ?, t ABCNN-3的基本模块可视为ABCNN-1和ABCNN-2的堆叠,即在嵌入层和卷积层上面都引入了attention的机制用来增强对token向量的表示。
) E0 g$ n/ G# ~; \; n$ P
8 p c+ b5 X, M' [, g 7. ESIM
" U: i: R9 P- C8 i0 P ESIM模型基于NLI任务给出了一种强有力的交互型匹配方法。其采用了BiLSTM和Tree-LSTM分别对文本序列和文本解析树进行编码,其亮点在于:5 ]/ R/ B; u/ T; ~1 w3 S
+ B8 V* o2 n( ^9 I& B9 _' E
(1)匹配层定义了cross-attention得到各token的向量表示与原token向量间的详细交互关系,即采用 [ a ˉ , a ^ , a ˉ − a ^ , a ˉ ∗ a ^ ] [\bar a, \hat a,\bar a-\hat a,\bar a* \hat a] [ 5 @9 D$ k6 i' r" V
a$ n* H! [0 I5 E- _4 @" H2 p
ˉ" w) }9 _) u% S: {
,
+ z% q* N3 d; E* A; A, V; Z a& q8 I5 |2 _9 |5 ?" m1 M7 H
^
+ j/ Y/ A( t6 I ,
, G5 n, J9 t: q- D- K1 X$ x/ y, }5 Y a. Z1 }% s2 _5 o7 Z
ˉ
9 i' v- ~- J, h) V- X! G − 9 {5 K1 n+ b5 l6 P; d& y; R
a G& J2 ?, k! z
^
$ D: q3 H$ U6 p1 t; R , $ O& M o1 m& p1 N- t9 {) E' @
a; g q+ X9 E/ o; \" _& i
ˉ Y5 }" c$ U4 x" \& l! |6 w
∗ ( r% x) u& A9 D& w
a
, Y& G3 J" P$ g) d7 {- ]; G; @" y ^
. F5 Z' f7 ]1 t( q/ @/ S2 W+ Z ]作为最终文本token的向量表示,这也成为后续文本匹配模型的惯用做法。2 `! ? D {# J* U
- ~/ b8 w, s. X$ F* [
(2)聚合层通过BiLSTM得到各文本token的编码,从而进一步增强了文本序列的信息传递;; P( H1 q% x9 P% Q# J* J
& g6 }( j" d( @- R# @
(3)预测层通过拼接各文本token编码的max-pooling和mean-pooling结果,再经过MPL进行匹配预测。% U/ m* f- F8 i
) S1 q- c W* }: b, s1 S# E
: ^- @% R. \' z( G& x( I+ V5 H0 V 1 H- |3 u4 d2 t% ]" [2 ^1 A) n
8. Bimpm
* L4 c+ z0 Q# v& i2 J6 r7 V3 J Bimpm可视为对之前各类交互型文本匹配模型的一次总结。
( j# k- ?' x5 o. Y/ \ , U6 G( d+ ~9 P7 ]9 Q. t, o# x9 `
该模型在各层的具体做法总结如下:
( V, L6 @2 P2 R0 ~
* Q: q( W& \* ~' u, M: r/ { (1)编码层采用BiLSTM得到每个token隐层的向量表示;# r, C* ?& B7 `: W- z
$ \! d) e5 z. r$ 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 , E+ F! q$ y: O8 z7 {4 P V
k, n& i$ R' ^9 p! w
$ q% Y9 S, u; j =cosine(W
) m; K6 ?* w: D) g' [3 H/ ?1 D/ T! U5 O k
9 Q! W5 Q. N- }0 K/ `" C. ~, s
: |- X. T) {- i' J7 e- m$ Y6 k ∗v % r1 t2 ~! w6 B/ C/ q T0 N5 u5 ?
1
3 A6 ~& [9 b/ c/ L
4 J" \0 B- }( a$ C2 R ,W 9 d! z! L% s9 i8 B3 }: E' [6 {
k
# s/ r) G8 T9 j d# p' U 5 V, i" r5 u" b2 ^
∗v
D S3 \* i( n7 o4 b6 O 2
m4 r9 w% _, e
N) E# @( F9 c5 y! r0 e )的方式可以得到两个文本的任意token pair之间在第k个view下的匹配关系,至于 v 1 v_1 v
* z% @- Y) V, K# | 1
% A! @8 P" v7 ~; n0 l4 L9 X
8 f" G4 e6 a4 s( v 和 v 2 v_2 v
2 M$ J% K% [, t y 2* s2 b. c! Y. G$ }0 b) G
4 I" h0 w. Y; a$ h$ X; d" t, } 如何取,文章提供了4种策略:
3 h* B' T: Q4 n* B0 A% b2 U 6 W* K( e8 [' \3 u
策略一:其中一个句子取各token隐层的向量表示,另一个句子采用隐层最后时间步处的输出;# }! M/ [1 b+ J4 V2 q% S2 o& q
策略二:其中一个句子取各token隐层的向量表示,另一个句子采用隐层各时间步输出与之匹配后取再取Max-Pooling值;
# K, ^; j! T" G O& `" a3 P 策略三:其中一个句子取各token隐层的向量表示,另一个句子采用cross-attentive后得到的加权句子向量;
. M1 _. T7 i6 B) V 策略四:其中一个句子取各token隐层的向量表示,另一个句子采用cross-attentive后attention score最高处token的向量作为句子向量。
( a# z7 B: ?( I; Y9 h, A# f, q$ H: a- ] 这四种策略的区别在于对句子向量的计算不同。1 W- {. | M+ Z
; X) n) S' A9 k- Z+ t : G3 P( s* f+ E2 u9 Z2 m b" G+ w
(3)聚合层,首先对上面各种策略得到的输出层再通过一层BiLSTM层,然后将各策略下最后时间步的输出进行拼接,得到最后的聚合向量;
+ R- W+ J5 Y) H5 P
8 p3 A& r( A, x j" e (4)预测层:两层MPL+softmax
7 @* d' z) Q( \) h6 l! Q7 w% q" r* N
- p1 x7 D; r5 J/ ]+ s7 e 9. HCAN- s w' S8 n; S8 U& [- {
HCAN是除Bert类模型外在文本匹配领域表现最为优异的深度模型之一,其采用了较为复杂的模型结构。
( s7 V+ P6 f; _' _' V/ `2 U. F$ j / O+ F+ q+ l9 z3 x$ l9 H; d/ B
针对于信息抽取问题,文章首先分析了相关性匹配和语义匹配的差异:( K- v# _2 O9 M0 J
8 c& s/ Q1 f; c! Q- F- L (1)相关性匹配主要关注于关键词的对比,因此更关注低层级词法、语法结构层面的匹配性;
5 \' P7 f7 W7 d( a$ p4 Q # P2 i* E g4 Z s/ D
(2)语义匹配代表着文本的平均意义,因此其关注更高、更丑想的语义层面的匹配性。. w- T( r; f, O
/ W2 P, a- C6 w
该模型首先采用三类混合的编码器对query和context进行编码:' m! ^0 t* E( U/ m3 I, D
# K: z0 A' o, X (1)深层相同卷积核大小的CNN编码器;+ t" d0 v8 m& w4 u* n( e
' ^, k" M' H; s F" s! w (2)不同卷积核大小的CNN编码器的并行编码;
! e% A* Q; Y! ]( E( \$ X( a 6 B! o! _7 E5 d# f. z5 p* [% [
(3)沿着时序方向的stacked BiLSTM编码;3 J# x1 e, y' w J6 |! R/ }3 ]
: h# ]$ X3 n: F f& Z. X 对于前两者,通过控制卷积核的大小可以更好的捕捉词法和句法特征,即符合相关性匹配的目的;而对于后者,其能表征更长距离的文本意义,满足语义匹配的目的。
( \; y* [6 W* B
$ S$ q- _$ ?! z/ r* A% \% N" t 在这三类编码器的编码结果基础上,模型分别进行了相关性匹配和语义匹配操作。其中相关性匹配主要采用各phrase间内积+max pooling/mean pooling的方式获取相关性特征,并通过IDF指进行各phrase的权重调整。而在语义匹配中,模型采用了精心设计的co-attention机制,并最终通过BiLSTM层输出结果。
& r( o( M I7 s- I 3 W+ W3 K" P3 q: X& v' Y
最后的预测层仍采用MPL+softmax进行预测。. @2 G9 D7 s* z) Z9 h: o: W
) i/ Q f# T8 V; K0 l; Q8 m
10. 小结' [# }* {/ u+ \0 \2 H% R+ r
交互型语言匹配模型由于引入各种花式attention,其模型的精细度和复杂度普遍强于表示型语言模型。交互型语言匹配模型通过尽早让文本进行交互(可以发生在Embedding和/或Encoding之后)实现了词法、句法层面信息的匹配,因此其效果也普遍较表示型语言模型更好。
& A7 V, a; O( D6 _/ r& b
# f5 n, t9 X( W' u% S+ F/ D 【Reference】
; |1 T: x) p' ]. L) A7 @) e# s( _ - Z. T2 k9 S# w* u* |8 t/ {
ARC-II: Convolutional Neural Network Architectures for Matching Natural Language Sentences
7 p4 l) O6 z4 A : I. o* \5 j N1 T4 R3 i% b
PairCNN: Learning to Rank Short Text Pairs with Convolutional Deep Neural Networks- U6 s3 e" w" Q& |
" g! Y1 I; b% B( O
MatchPyramid: Text Matching as Image Recognition9 }8 C, Q' q, O5 L6 f& r% L( J
/ G6 X* N/ i5 Q8 X- k" M: X( h
DecAtt: A Decomposable Attention Model for Natural Language Inference5 P( [4 S6 @4 t9 Y# Q6 N4 ?
0 G7 I! g2 s3 e
CompAgg: A Compare-Aggregate Model for Matching Text Sequences
( d# d6 K- P# ^# n% F: ~+ Y
+ A# O6 P- W6 K- ^ ABCNN: ABCNN: Attention-Based Convolutional Neural Network( G9 D0 ?: L- w8 O* m/ K! u, a! o
for Modeling Sentence Pairs
! Q. m) ?. ?/ h: r* L 3 D* v* o3 ^) L+ ?
ESIM: Enhanced LSTM for Natural Language Inference; A2 y7 m# Q1 x; s/ O$ v
$ {/ B3 r* P" P) T- _. H
Bimpm: Bilateral Multi-Perspective Matching for Natural Language Sentences2 C* J+ r( o5 g8 a' U6 [# p1 b' v
& @, B& C; N# p0 V5 V HCAN: Bridging the Gap Between Relevance Matching and Semantic Matching
8 h) l, ?7 L8 ^5 c for Short Text Similarity Modeling
( A. N8 M; U$ N/ o! ] / J7 O$ p. R4 I6 c# T8 E z
文本匹配相关方向打卡点总结(数据,场景,论文,开源工具)7 F/ k: }8 v* R$ H" ~* A
4 _) [, n$ a a 谈谈文本匹配和多轮检索
6 X# I* y! v# z9 s
$ |+ z2 k0 i/ X 贝壳找房【深度语义匹配模型 】原理篇一:表示型
% X' \) L% \5 T8 J- D1 w ————————————————
. F9 I* k2 p( P+ l 版权声明:本文为CSDN博主「guofei_fly」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
, o/ P( g* n( u1 P7 X5 c3 j7 L 原文链接:https://blog.csdn.net/guofei_fly/article/details/1075012760 L( J! Z7 b6 n' Q5 i! l- R+ n
% j4 [/ O- e3 I. \
8 B7 y% h7 ?, y: m! ?9 s
zan