Advertisement

sklearn 相似度矩阵_文本相似度的一种计算方法

阅读量:
e4c7514492f6d45ac4441e22fd8c51c6.png

这篇论文是作者参考文献对From Word Embeddings To Document Distances这一主题进行解读的过程,在这些方面存在不足之处,并且也欢迎读者提出宝贵意见和建议。

本文将首先阐述BOW与TF-IDF的相关概念,继而深入探讨Word2Vec及其词嵌套模型,随后重点阐述本研究的核心技术——WMD模型,此外还提出了两种加速计算效率的新方法,最后部分将分享个人见解并对全文进行总结回顾。

一 BOW和TF-IDF

在自然语言处理领域中,研究文本相似度是一个极具重要性的研究分支,并且其商业应用场景十分广泛;这些应用场景包括但不限于文本检索系统的设计、新闻分类与聚类技术的应用以及歌曲识别算法的开发等;此外,在多语言文档匹配问题上也可以通过评估不同段落之间的相似性来实现精准的信息检索;目前广泛采用的文本间距离计算方法主要包括BOW模型和TF-IDF算法;我们对BOW模型和TF-IDF算法进行简要介绍。

1. BOW

BOW全名为Bag of words(BOW),也被称为袋装模型(bag-of-words model),在信息检索领域中被广泛使用。该方法假设对于一段文本内容来说,并不需要考虑其中单词之间的顺序及其语法结构等因素;相反地,则将其简化为一个词汇集合(即所谓的"词汇空间"),或者说是词汇的一个组合体(即所谓的"组合空间")。在这个过程中各单词之间互不影响(即与其他单词是否出现无关),也就是说文章作者在任何语境下选择词汇时均不受前文影响而独立选择。

在讨论文本相似度时

2. TF-IDF

TF-IDF全称是Term Frequency-Inverse Document Frequency(Tf-Idf),意为词频-逆向文件频率。Tf-Idf的核心理念在于:如果某个词汇在一个特定文档中出现的次数较高,并且在整个文档集合中的出现频率较低,则该词汇或短语对于区分不同类别具有良好的区分度,并特别适合用于分类任务。

TF-IDF和BOW虽然存在共同局限性,在描述词语间联系方面存在不足,并从本质上讲这两种方法侧重于单个词汇而非整个文本的整体相似度

二 Word2Vec

该研究者提出了一种创新的方法,这种新方法同样用于计算两个文本之间的距离矩阵,其创新之处在于采用Word2Vec技术进行词嵌入,这一改进解决了前两种方法存在的局限性.那么什么是Word2Vec呢?我们接下来将详细阐述:

该方法通过将文本中的词汇映射到低维空间中进行表示,并赋予每个词汇一个定长向量来进行语义建模。该工具主要包含两个核心模型:一种是基于连续词袋的CBOW模型(Continuous Bag of Words),另一种是基于跳字机制的Skip-Gram模型(Skip-Gram)。该技术能够有效地捕捉并表达词语间的相似性以及类比关系。

0e14c454a17a88c2bac052a9d322728c.png

左边是CBOW模型,它的目标是:给定一段连续的文本序列,通过该序列中某个位置单词周围连续出现的所有词汇来进行预测.例如,对于句子"Once upon a time, old soldiers never die, they just fade away",当需要预测单词"soldiers"时,可以把never,die,fade,away这四个单词视为" solders"周围的上下文词汇.这样我们就可以从这段文本中提取出一系列训练样本.在获得这些上下文之后,我们需要将这些周围词汇的一热编码进行求和运算,将其作为输入传递到神经网络中.经过神经网络的一些变换处理后,其输出结果就是目标单词fox的一热编码表示.当我们完成整个模型训练之后,在隐藏层中的权重矩阵即反映了每个单词对应的词向量表示.

与CBOW模型相同的架构,在训练过程中,这些上下文词同样会被转换为 one-hot 向量并相加。该模型接收当前词组的 soldier 的 one-hot 表示,并将其作为输入来生成这些上下文词汇的预测分布。

通过前面简要介绍可以看出,在采用word2vec模型对其进行训练后所获得的词向量体现了词语之间的关联性,并且这些计算过程能够有效保存语言间的语义关联性。这种特性是之前提到过的其他模型所不具备的优势。

三 WMD

该研究者提出了一种新的方法被称为词移距离(Word Mover's Distance, WMD),这种技术主要利用了word2vec模型生成的向量表示这一特性。在文本处理方面,每个文本文档被表示为由其词汇构成的一个加权点云结构。具体而言,在计算两个文本文档之间的相似性时,则是从文档A的所有单词精确匹配到文档B对应点云所需经历的最小累积移动距离。

WMD的模型建立在EMD(地球移动距离)模型的基础上。EMD与欧氏距离类似,在某种程度上属于同一类概念——衡量两个分布之间的差异程度。

1. EMD

e53d07b6eb27ffb7452422ed645854b5.png

为此定义:货物从工厂Pi运往仓库Qj的距离记作d_{i,j}(其中下标i表示工厂编号而j代表仓库编号),其运送的质量则以f_{i,j}表示。由此可知每次运输所耗费的工作量即为 d_{i,j} × f_{i,j} ,经测算可知,在距离越远或运输重量越大时所需的工作量也会相应增加。(需要注意的是这类运输问题往往会出现一种多对一或多一的情况)通过一系列计算优化后可获得总工作量最小化的目标值W_{min}

c7e8352e28ec9733d536b224c89d40c7.png

距离d_{i,j}在其定义域内已确定,并可能构成一个矩阵形式;因此,在该模型中运输量f_{i,j}被设定为主变量。为了优化系统效率,在此设定约束条件以限定运输量f_{i,j}的变化范围:

(1) 运输过程只能从工厂P到仓库Q,不能反向。

6feb563d2732433b43ffbdaf76f41a7e.png

(2)运往工厂Pi的货物总量必须严格限制在其生产的全部货物的质量总量之下。

247f42bf3fbfab9e8cee8fc04c0f9c39.png

(3) 仓库Qj接收的货物总质量不能超过其最大容量WQj

d79223ec2a7d7932b44938714b640722.png

(4) 总运输量的上限是工厂中货物总重、仓库总容量中的最小值

349dcda4f3d76d44789e09dfc3fe2f63.png

求解上面的式子从而得到最优解fij。在进行EMD计算时希望其值不受总运输量的影响,并将每次的运输量进行归一化处理以便实现归一化的效果。

6fdf47b293bb279911a73ded9eeb1947.png

我们联想到将该方法应用于文本相似度识别中,并发现存在一个问题:我们如何确定dij?在这里我们采用了之前提到的Word2Vec词嵌入模型,并因其实现了语义关联性,并可作为衡量距离的基础。通过词嵌入技术(Word Embedding),我们获得了词语的分布式低维实数向量表示,并能计算词语间的距离以获得dij值。因此可以将Earth Mover's Distance (EMD) 引入自然语言处理领域进行应用。

2. WMD

下面我们将EMD应用于文本相似度的比较中。首先我们采用归一化后的词袋模型nBOW来表示其中di表示各词语的重要性权重。在这里我们去除了停用词其中di指的是各词语的权重系数ci表示词语i在文档中出现了ci次分母则是所有保留词语的数量。

2407f03c03f5f311e22ca42ef6619a7f.png

假设现在有两个文本,

文本一为 “Obama speaks to the media in Illinois”

文本二为 “The President greets the press in Chicago”

它们经过归一化处理后会是以下的样子:

f64377b1e4719e0e3ece36418cb5a0ef.png

接下来,在Word2Vec模型中利用欧几里得距离公式衡量两个单词i和j之间的距离。

08a58b4ae2ebc224bb00dd91bffdddf4.png

其中X输于word2vec的词嵌套矩阵,c(i,j)表示从单词i到单词j需要的距离。

转移量fij用矩阵T表示,生成的矩阵T如下:

11163ce22d013554134fd13f74e88f56.png

前面已经提到了WMD就是EMD的变种,所以最终要求的最小化公式为:

9b9bf10f3388eab2647d4abd5d16dfb0.png

其中di代表第一份文档,dj代表第二份文档, T>0则表明仅允许第一份文档指向第二份文档而不允许相反方向的信息流动

利用这种方法我们要得出T这个矩阵。接着将每个维度的最大值相加。从而可以表示文本一与文本二之间的相似度。之后再进行比较。

30a1c724464f89995e14c161998d51ef.png

如上所示,在下图中展示了三组数据(分别为 D1、 D2 和 D3)相对于基准数据集 D0 的相似度对比分析。具体而言,在我们进行了一系列 WMD 处理后发现:对于 D1 和 D2 这两组数据而言,在去除了停用词并进行归一化(nBOW)处理后发现,在原始语料库中 President, greets, press, Chicago 各词项对应的权重均为 0.25。这些数值通过从单词 i 到单词 j 的箭头表示了它们在语义空间中的相似程度(距离值越小表示相似性越高)。例如,在这种情况下我们观察到 media 与 concert 的意义更为接近于 press 以及 Chicago 等其他关键词汇;此外我们还发现尽管 D3 中包含更多的词语数量但其词语间的距离分布并不完全匹配基准数据集中的相应关键词汇分布模式因此在计算时会引入额外的距离增益从而导致最终的结果不如预期理想

3. 两种优化算法

该方法可有效地衡量两个文本间的相似程度;然而其时间复杂度过高;具体计算复杂度为O(p^3 log p);为了提高效率性问题解决能力而提出了一种新的快速算法;WCD(Word centroid distance)和RWMD(Relaxed word moving distance);这些算法通过牺牲一定的准确性来减少计算负担。

先介绍WCD:

我们可以将WMD做如下近似变化,得到WCD:

4a513e5c36b19ca40e93c8b64c4ed7a8.png

WCD即为最后生成的那个式子,在计算过程中其复杂度表现出了显著性特征。具体而言,在这一过程及其计算复杂度方面有明确的表现:其中X是一个d*p维矩阵,在这一参数设置下变量d代表词向量空间中的维度参数;而变量p则表示nBOW模型所包含的主题数量。

然后介绍RWMD,RWMD是通过放松限制条件,得到WMD的下限.

当我们去除条件2并保留条件1时,则定义为L1的情形;去除条件2相当于排除了仓库容量限制的影响,在这种情况下我们可以将货物全部转运至与其最近的仓库位置,并无需考虑仓库存储能力的问题。在运送某个货物时,默认会将其转运至与该货物位置最近的仓库位置;在转移词语i的过程中,默认只向与词语i距离最近的词语j进行转移。

ddfe3fc0fd08d34638f145172533ac3d.png

我们会得到与单词i词移最相似的j,以及得到整个文本的转移矩阵T:

2706ceca95f70c7d5f535be16bcb676a.png

当我们舍弃条件一而坚持实施条件二时

当我们舍弃条件一而保留条件二时, 记作L2, 这相当于取消了对货物数量的限制, 我们就可以持续不断地将货物输送到仓库中, 直到仓库达到容量上限为止。在准备向某仓库存送足够的货物以使其饱和时, 我们会选择与目标仓库存储距离最近的供应商作为供货来源, 具体而言是在词语j接收信息的过程中, 我们会优先选取与目标仓库存储距离最近的供应商来满足需求

a9e6adca6d9d0334863a6e6228f376a4.png

这种算法的时间复杂度为O(p^2),而且比WCD更严谨

4. 实验效果

针对八个文本集进行测试的结果显示,在各项指标上WMD表现优异。

ec2d1ed6d6a89d870143ee985776ded6.png
b58aba0a117b40551c1a6dd07e419d4f.png

四 总结

1. 自己的想法:

在这篇论文中主要采用了Word2Vec算法中的Skip-Gram模型作为核心方法,在实际应用过程中是否可以尝试使用CBOW模型或者其他如GloVe等方法进行词嵌入优化,并按照后续步骤继续推进项目流程,请问这种方法的可行性如何?预期效果会受到怎样的影响?

2. 总结

本文探讨了WMD在实际问题中的重要应用价值,并提出了一种优化时间复杂度的方法。此外,在测试过程中表现优异。因此,在文本相似度计算中的应用具有高效可靠的特点。这也为我们提供了一种改进的方法;具体来说就是通过改变下限或者多个限制条件组合来优化算法复杂度

参考:

From Word Embeddings To Document Distances​proceedings.mlr.press

dff5475c229dd13a3d46124ac80e9ec5.png

全部评论 (0)

还没有任何评论哟~