EDA365电子论坛网

标题: 基于WMD(词移距离)的句子相似度分析MATLAB代码 [打印本页]

作者: piday123    时间: 2020-10-19 15:51
标题: 基于WMD(词移距离)的句子相似度分析MATLAB代码
) r- x  \) l% J
文章目录8 L8 b) O4 h" v( m5 [  z  H0 d- M
' [' D& s7 k1 Q
WMD简介) |; K! q) t' g  \
词移距离(Word Mover’s Distance)) A4 \0 P9 d8 o$ @1 U, l- s& p
  D& d. L" q- u) x, |+ j* q
& f# g, d& a: S* Q! C4 N
% L" {- @) n" ~/ y1 Q3 c

1 z# ]4 T% W8 j* }3 S+ M5 [, U. p% NWMD MATLAB代码; ?& _4 w! x& ]& L- R. {
注意emd_mex是调用搬土距离的库Earth Mover’s Distance
( n' B# k, a0 ?. Q4 Z) ?/ P6 F9 Y+ M) `
               
9 a7 }7 t3 d( o5 e& w5 t9 c8 ]( ^# G' i
RWMD(Relaxed word moving distance )3 }! _/ g) y9 `# C* B, C
先去掉一个约束,计算相应的WMD,最终取最大值。. V# M! m% i" f

2 h2 ~  [5 d7 V& q4 U这两个 relax 过的优化问题的解,恰好对应于词向量矩阵的行空间和列空间上的最近邻问题,也是很好算的。最后定义 RWMD 为这两个 relaxed 优化问题的两个目标值中的最大值。0 w0 R, |- n& B0 K/ b

1 J2 i; s4 L8 ]5 HRWMD MATLAB代码
  A4 I8 Z6 E" {. V' ]+ ~/ F本代码不需要任何外部包4 O' b. J. m% V, n! _" e4 i) @0 C
" y7 u) S) a! D8 ^: y! e& F2 Y
               
' z2 G3 ?. l7 r5 ]+ v5 p: l/ ^8 R' c7 F# R" ^/ Y8 m/ x
上述两个代码的distance函数
6 c- h( O" r: W8 V! X+ Y  m; l+ C, C3 w9 P, z
  1 R* U; a8 B6 \0 _% t/ O

4 T4 T8 n' u6 t3 R8 h  ^0 p结果* A8 w, [' R1 a/ L! Z" ^2 h
生成的WMD距离矩阵(左),归一化后可以转化为相似度矩阵(右)
, m4 X$ A8 a% H  b% r5 ?) D( P+ w% j* o* k# t- W/ t

, P5 l9 S; J: X5 U" w1 D" @
5 d% s; @) K9 g6 X% w结果举例:找出的相似的两个文本,下面的相似度为47.78%(与文档1最相似)! W2 S" Z2 c; B8 F! Y
4 ~  c+ i$ O1 Q

  f- ]' G0 A  w+ D$ Y6 a. o$ l
其中用不同颜色标注的是有明显相似特征的句子。) t& m3 }+ c' N1 e$ ?

' o, [, @6 j; p) {: U0 t, z' y8 q分析# _9 a, b2 B' P: g! m
通过下面的文档相似度矩阵可以发现,文档与文档间的相似度较小,这是因为数据集是真实世界的数据集,即BBC SPORT中没有两篇完全一样的报道。另外,BBC SPORT共有5个不同的类别,从实验结果可以看到相同类别间的相似度远远大于不同类别间的相似度,因此,WMD对文本分类是有一定的效果。
* R/ b) a) X, |$ B6 K4 d4 l2 c+ s5 c; r
另外从作者的论文中实验结果可以看到,基于KNN的词移距离算法相对于大多数其他主流文本相似度分析算法来说,错误率要少很多,因此,在工业界,使用WMD来做NLP处理是非常有前景的。" j0 j/ y6 Q1 q; h5 Q
9 V/ o( v7 o: ~% \& b
最后,根据由于WMD是无监督学习,通过有监督学习的论文(Supervised word mover’s distance)中可以发现,加上了监督机制后错误率还能再下降一个层次。# H" k; L  [( c% q6 z# T
$ ]+ P& v0 G8 B) Y0 x9 O
需要指出的是,不能简单地添加基于度量学习的监督矩阵,一方面,在计算过程中梯度可能不存在,另一方面,基于KNN的SWMD将会耗费大量的时间,因此需要采取相关措施来解决这些问题。; A2 @9 I; _% z. O  R4 O, a3 l

# q9 w5 l7 b1 \3 W( C. XSWMD简介:1 a$ O- [) k) f; Q9 V8 G
/ i" U8 X* M, u5 k
/ v$ g- ~( ]6 B% m# S3 P

7 N+ Z0 O" D* O7 Q
作者: tutututut    时间: 2020-10-19 17:05
看的我眼睛都花了




欢迎光临 EDA365电子论坛网 (https://bbs.eda365.com/) Powered by Discuz! X3.2