从词嵌入到文档距离 (RWMD)

From Word Embeddings To Document Distances

  1. 整体来说,这是一种利用线性规划的思想,解决了一种运输问题。
  2. 通过词向量间的欧氏距离及其权重来计算相似度,权重是通过运输模型建模找到的最佳转移量
  3. 这种相似度可以度量语句或者文档的相似性,考虑了每个词汇(非停用词)与其它词汇的转移量及权重。

目的

文章的目的主要是为了提出一种改进的速度更快的RWMD算法来加速计算。
原因
1.原始WMD的时间复杂度是 O ( p 3 l o g p ) O(p^3 logp) O(p3logp),复杂度较高。
2.后来提出的WCD是WMD的一个下界,但这种近似算法其实与WMD差很多,时间复杂度是 O(dp)。
于是,文章作者从约束条件下手,通过消掉第一或者第二条约束,只保留一条(考虑转移词汇转移量要与转移词汇本身拥有的量一致,或者接收词汇的接收量要与接收词汇本身的接收量一致)。于是找到了两个新的下界(取距离最大的),其最近邻的时间复杂度是 O ( p 2 ) O(p^2) O(p2)

注:

  1. p denotes the number of unique words in the document
  2. d 是词向量的维度
  3. 词汇 - 仓库 ,量 - 货物;替换到上面可能更好理解。

文章脉络

这篇文章 网上已经有很详细的说明了,推荐资料

  1. 讲述了文章的脉络,比较清晰
    文章1
    文章2
    文章3
    文章4

  2. 预备知识
    1)单词的embedding是将单词通过如word2vec、glove等的训练方法转换成稠密向量。
    2)nBOW(normalized bag-of-words)词袋表示,将文档中词出现的词频与所有词频和的比值。

  3. WMD、WCD
    写出了之前文章提出的 方法及其公式

  4. RWMD
    由约束条件着手,提出了一个新的速率更快的近似算法。

  5. 用法
    找前K个相邻文档时,可以如下计算

     1. 首先根据WCD距离对文档进行升序排序,接着对最小的前k个文档计算WMD距离
     2. 对于剩下的文档,
     2.1 先计算其RWMD距离,如果大于前K个最大的WMD距离则直接忽略,
     2.2 如果其RWMD距离小于前K个的WMD距离,则进一步计算其真实的WMD距离。
    

通过这种方法在某些数据集上可以使用RWMD过滤掉95%的WMD计算。

  1. 用法思考

     1) 不一定非要用 nBOW,还可以用TFIDF等
     2) 在实际工程中,不仅要考虑停用词、还要考虑广告语、宣传词句等,具体做法要看实际业务的需求
    
  2. 实验

     1) The kNN test error results on 8 document classification data sets
     2) 文本分类
     3) 不同embedding
     4)  Lower Bounds and Pruning
    

优点

  1. 无超参
  2. 可解释性好

不足:

  1. WMD这个算法用在聚类效果比较好(查询哪些文档相近),但是分类上不是很好。
  2. WMD算法基于KNN的分类精度虽然高于其他方法,但是根据时间复杂度 O ( p 2 ) O(p^{2}) O(p2)可以看出当 p 很大时候,计算成本依然很高。
  3. WMD只是一个距离,只能与KNN等结合使用,但是许多机器学习算法需要一个固定长度的特征作为输入。
  4. 只是从词的角度,而没有考虑主题等更深的层面考虑文档的语义关系

解决方法:

  1. 在2016年NIPS上,提出WMD算法的这些作者又加上2个其他一作,发了篇Supervised Word Mover’s Distance(可监督的词移距离),在WMD距离中加入可以训练类别权重功能,解决分类问题的弱点。(不足之处1)(论文:Supervised Word Mover’s Distance 链接:https://papers.nips.cc/paper/6139-supervised-word-movers-distance.pdf)
  2. 然后在2018年的EMNLP上,又有篇论文提出了Word Mover’s Embedding(WME)算法,给出了生成可变长度文本的无监督语义嵌入,将对文本长度时间复杂度从二次方降为linear,大幅度降低计算速度。(不足之处2,3)(论文Word Mover’s Embedding: From Word2Vec to Document Embedding 链接:https://www.aclweb.org/anthology/D18-1482)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值