WMD:基于Word Embedding的文档距离算法[文献阅读笔记]

发布网友 发布时间:2024-10-23 09:57

我来回答

1个回答

热心网友 时间:2024-11-03 18:43

在自然语言处理领域,文字和句子间的距离计算算法是基础且关键的,广泛应用于新闻分类、文本聚类、风险控制、舆情分析等领域。这些算法的性能很大程度上取决于距离矩阵,如kmeans中的距离矩阵、KNN的距离评估算法等。尽管学界已有诸如bag-of-words(BOW)、TF-IDF等经典方法用于距离计算,但这些方法存在缺陷,如距离矩阵稀疏、忽略语义信息等问题。

例如,“奥巴马在伊利诺伊州对媒体发表讲话”和“总统在芝加哥向媒体致意”两句话,虽然未出现完全相同的词,但语义上非常相似。传统距离评估方法很难捕捉这种语义相似性。尽管LDA、LSI等研究尝试改进语义表示,但效果并不理想。

2013年,Google团队提出的word2vec算法对自然语言处理领域具有里程碑意义。该算法尝试解决词本身与语义的关联关系。既然词可以通过语义表示,那么句子或段落之间的距离计算是否也可以借鉴这种方式呢?本文将参考相关文献,探讨和介绍WMD(Word Mover's Distance)算法。

一、WMD(Word Mover's Distance)的直观理解

将两段文字的每个字通过word2vec算法映射到embedding空间,然后在其中找到对应词语,计算每一对词在embedding空间中的距离,所有词对的距离之和即为WMD。如何确定对应词语是WMD需要解决的问题。

二、WMD的算法详解基本原理

1. word2vec将词映射到embedding空间

提供词的embedding映射表,将每个词映射到d维embedding空间。

2. 使用nBow(normalized bag-of-words)表示待比较的一段文字,为向量

3. 定义Word Travel Cost

将每对词的距离定义为word2vec空间的笛卡尔距离表示

4. 定义两段文本之间的距离

允许将一个文档中的任意词转换为另一个文档中的任意词,得到转移矩阵,计算Travel cost

5. 优化加速

根据三角不等式,'centorid' distance(WCD)是WMD的下界。放宽约束可找到更紧密的下界。

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com