jaccard相似度_word,sentence相似度计算,WMD&WRD

1.Introduction

1.1 Word Similarity

在文本分类、信息检索、问答等众多自然语言处理任务中均会涉及相似度的计算,尤其对于文本检索类问题,该需求更为突出。自然语言处理中有关相似度计算任务按照单元大小可以分为词相似度计算,句子相似度计算以及文本相似度计算。其中词相似度计算方法主要包括基于语料库、基于知识库以及基于字符串相似度的方法,如下所示:

adca2c25639526c35e50abd7963c7ff8.png
Fig1. 词相似度计算
  • 基于字符串相似度。基于字符串相似度判断词相似度的方法是一种较为简单的方法,其包括有Jaccard相似度、余弦相似度或Levenshtein距离(基于动态规划的方法衡量将一个字符串变化为另一字符串的操作次数)等。对于中文字符串,首先需进行分词处理。由于方法简单且计算量较小,该方法在工程中也得到了广泛的应用。基于字符串的相似度仅是考虑其字符间的相似度而忽略了语义的相似度,而基于知识或语料库的方法则更多的表征词词间的语义相似度;
  • 基于知识库相似度。基于知识库的词词相似度主要是利用词语间的关联关系衡量相似性,如基于同义词典或WordNet等;
  • 基于语料库计算词词相似度。其主要包括统计模型和深度神经网络,这两种方法本质上均是将词语编码为词向量计算相似性;

Word Vector

对于自然语言处理相关任务,如何将词表示为计算机能够处理的数学符号,其一直是该研究领域的基本问题。相关模型方法如下图所示:

3c634f312b555ebbd38d1e1c5d14bae0.png
Fig2. 词表示

(1) 符号表示。基于规则或统计的方法模型将词看做离散的符号;

(2) 向量表示。目前绝大部分自然语言处理模型均是将词表示为向量使其参与相关运算,其一般可分为离散表示和分布式表示。

  • 其中离散表示及忽略词与词间的上下文关系,而将文本片段或语料库视为一个“词袋”。常见的方法包括one-hot向量、词袋模型(统计词出现的频词)以及TF-IDF,即不仅考虑词出现的频词同时还考虑该词是否具有一定的“典型性”。
  • 词向量分布式表示主要基于Harris 1954年提出的分布式假设:在相同上下文中出现的词倾向于具有相同的含义,进行建模。其核心思想是认为每个词与其邻居具有较高的相关性且拥有相似的语义特征,因此可以基于其邻居对该词进行向量表示。词向量分布式表示主要包括如话题模型LSI、pLSA、LSA以及ngram等。2001年Benjio等人提出了神经网络语言模型(NNLM)其利用神经网络强大的特征表示能力学习词向量,起一定程度上捕获了词语的语义特征,克服了语义鸿沟的问题。此后,又不断有其它神经网络词向量模型如Skip-gram、C&W、CBOW以及Bert等。如今,词向量以成为自然语言处理中深度学习模型的标准模块。

fbeb8a3d3374df86350122785646c453.png
Fig3. 词向量分布式表示

基于词向量可以完成同义词检测、基于平均词向量的文本分类、命名实体识别、词性标注等等下游任务。借鉴词向量的基本思想和方法也可以获得句向量,完成句子的相似性计算。

1.2 Sentence Similarity

句子相似性的衡量方法主要包括基于词、基于句法结构和基于向量的方法。

f4b834663c849bf8de70a5f60c8e612c.png
Fig4. Sentence相似度计算
  • Word based. 基于词的相似性衡量句子间的相似性主要方法将句子视为字符串将其编码为one-hot向量,然后基于Jaccard、Cosin或Levenshtein计算相似性。或计算两句子间各个词的相似度取平均。或考虑建立词袋模型,基于TF-IDF等计算相似性。上述方法忽略了词语间的上下文关系,同时也忽略了词语间的语义相似性;
  • Structure based. 基于句子结构的方法可以利用句子的句法和语义信息,如在计算句子相似度时融入词性信息,或融入词序信息,或融入句法特征等;
  • Vector based. 考虑将句子也编码为向量计算相似度。对于句向量的表示方式其又包括基于词向量平均,或基于话题模型学习句子的主题分布,计算相似性。或将句子中各个词向量作为深度神经网络如MaLSTM的输入,以两句子的相似度训练模型,最后将LSTM模型的隐层神经元表示最为句向量。Skip-Tought Vectors的方法与Skip-gram的方法思想类似,其将给定的sentence作为输入预测其邻居sentences,最后获得sentence representation;

2. WMD (Word Mover’s Distance)

2.1 WMD建模

WMD模型是衡量句子相似性的常见方法,其设计动机是来自于运筹学线性规划中的经典问题,即“推土”问题(EMD, earth mover’s distance metric)或产品调拨、运输问题。考虑有

个原始仓库,其库存分别为
。现需要完成货物调配,将仓库中的货物全部分发至
地,分发完成后各地的货物数量为
,记从
厂库调拨至
地的货物数量为
,同时每单位货物运输成本为
,现要求设计最优的调度方案,使得成本最低。

上述问题为典型的线性规划问题,其标准模型如下:

对于该问题的求解方法以比较成熟,一般包括单纯形法、Benders分解、DW分解或启发式等。

基于上述思想,作者定义句子A和B,同时将句子A中个单词视为仓库,将句子B中的个单词视为目的地,因此,考虑将句子A中各个单词的“信息"分配至各个目的地,以完成句子A向句子B的转化,而最小“成本”即可视为句子A、B的相似度,其中“信息”量的大小可由word2vector表示,。如图5所示,衡量“Obama speaks to the media in Illinois”和“The President greets the pressin Chicago.”的相似度,若采用词袋模型其“文本”相似度为0,但是明显这两个句子表达内容相似,因此考虑使用WMD距离衡量将句子1转化为句子2的“成本”。故:

上式中,

表示由
转移单位“信息”至
所需“成本”,作者定义其由词向量间的欧式距离表示,即
分别由
在文档
中的词频和
在文档
中的词频计算。

56dd919cc39dba69a51953f8f0a29c1b.png

3252afd5a253b872a7cb4526641d4ae3.png
Fig5. WMD示意图

2.2 WMD求解

对于一般WMD求解其时间复杂度为

,其中
为文档中的词总数,这对大规模语料库的求解仍有较大代价,对此作者期望降低计算成本,考虑:

(

)

上式中

即为词向量,
表示
在文档
中的词频,因此最终该句子间的相似度应大于一常数
,文中作者将其定义为WCD (Word Centroid Distance),基于该结果即可过滤掉大部分潜在解。

此外,作者还探讨放松原始模型约束,牺牲一定的“精度”进一步提高求解速度,如下:

同时有:

。同理,这里也可以对第一个约束进行松弛处理,同时得到bound 为
。同时定义
。基于RWMD对求解空间进行筛减,将极大提高求解速度。具体做法为:
  • Step1. 对所有文档计算其与目标文档间的WCD,并由小到大排序,同时取前k个文档计算其与目标文档的WMD;
  • Step2. 基于排序遍历剩余文档,计算剩余文档与目标文档的RWMD,同时将其与第k的文档的WDM进行比较,若RWMD>WMD(k),则舍弃该剩余文档;否则计算该剩余文档与目标文档之间的WMD,并基于大小关系更新前的k近邻文档;

同时作者指出由于RWMD approximation十分tight,对于某些数据集其可以过滤掉95%的潜在解。

2.3 Experiments

作者共选择7个数据集作为实验数据其涉及新闻、生活、购物评论、学术等领域,如下:

ec078b74c4ec7b99e2ea40c2b9e2cbd9.png
Fig6. Dataset

其中

为文档数,
为“词”数目,UNIQUE WORDS (Avg)为每篇文档包含的词数目(去重),
为分类数。

同时作者基于KNN算法完成文档的分类任务,其中类别

即为上述
,对于“距离”的定义作者分别比较了8种方法,包括BOW、TF-IDF、LDA、LSI等。其测试误差如下所示:

c6c79550c6f7aee3872d236793bae84f.png
Fig7. KNN-based document classification

由上图可以看出,总的来说LDA、LSI和WMD的方法误差低于其它方法,且WMD对于任一数据集其误差均最低。

此外,作者还比较了WMD、RWMD、WCD以及不同“邻居”数目$k$在不同数据集下的求解速度、加速比及和误差大小,如下

be900d0bc2e6890840e0aab0c7f9ab63.png
Fig8. WMD,WCD,WRD及k值对求解误差和速度的影响

可以明显看到WCD拥有最快的加速比但是其误差也相对最大,但是该误差可以通过扩大邻居数目而逐渐减小。该策略与使用WMD和WRD相比其不仅能获得更大的加速比,同时误差也相差不大。同时WMD相较RWMD其并没有较大的精度提升,速度却要远慢于RWMD。

2.4 Conclusion

总的来说,WMD并不需要设计复杂的网络模型,同时也并未引入额外的超参数,同时思想、操作简单,可解释性好。另外,对于该方法的求解作者也给出了很好的加速策略和试验结果。同时该方法对于数据集的选择并不敏感,几乎对于任意数据集其精度均能有所提升,该方法在如今深度"炼丹"的时代可以算是一股难得的fresh air。

3. WRD

WRD(Word Rotator's Distance)本质思想与WMD没有差别,只是在WMD基础上进行了一定的改进,其主要变化包括:

  • 使用余弦距离代替欧式距离衡量两词间的相似度;
  • 考虑即有模长对语料库词向量进行标准化处理,以间接体系该词向量的重要程度,(词向量重要程度与模长正相关);

因此有:

其中,

Reference

[1]胡玥. 第8章 神经网路语言模型&词向量[PPT]. 中科院信息工程研究所第二研究室.

[2] Farouk M. Measuring Sentences Similarity: A Survey[J]. Indian journal of science and technology, 2019, 12(25): 1-11.

[3] Yokoi, S., Takahashi, R., Akama, R., Suzuki, J., & Inui, K. (2020). Word Rotator's Distance: Decomposing Vectors Gives Better Representations. ArXiv, abs/2004.15003.

[4] Adrien Sieg. Text Similarities : Estimate the degree of similarity between two texts. Medium.

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值