文档词频矩阵_论文理解:从词嵌入到文档距离

  • 论文作者简介

本论文第一作者Matt J. Kusner是牛津大学的副教授,致力于设计适应现实世界问题需求的新机器学习模型(例如,fair algorithms, discrete generative models, document distances, privacy, dataset compression, budgeted learning, and Bayesian optimization)。

  • 论文摘要

论文中作者提出了一个度量文本文档之间距离的新指标,即词移距离WMD(Word Mover's Distance)。该成果基于Mikolov等人提出的词嵌入(word embeddings),一种语义上有意义的词汇表征。具体来说,将每个单词标记编码为某个向量,该向量表示为某种“单词”空间中的一个点(该空间的维数远远小于词汇表的大小|V|),每个维度都会编码某个含义。WMD距离衡量的是两个文本文档之间的差异性,即一篇文档的词汇需要对应到另一篇文档的某一个相近词汇,取该过程中所生成距离的最小值作为文档距离。该距离度量可以视为Earth Mover's Distance的一个特例。作者在8个现实世界的文档分类数据集上,与当时7个state-of-the-art的基准算法相比较,WMD度量取得了前所未有的较低的K最近邻文档分类错误率。

  • 论文内容介绍

准确地表示两个文档之间的距离在文档检索、新闻分类和聚类、歌曲识别和多语言文档匹配中具有广泛的应用。早先通过词袋模型BOW(bag of words)或词频-逆向文件频率TF-IDF(term frequency-inverse document frequency)表示文档的方式,由于它们频繁的接近正交的特性,故不适用于文档距离。这些表示方式的另一个显著缺点是他们没有捕获到单词之间的距离。作者利用Mikolov等人提出的word2vec模型构建了新的文档距离度量指标Word Mover's Distance (WMD),将文本文档表示为词嵌入向量的加权点云,每个词嵌入向量对应高维空间中的一个点。两篇文本文档A和B之间的距离是一个最小累积距离,该距离是来自文档A的单词需要travel来精确匹配文档B的点云。见下方新度量指标的略图。

d51aedd974130471f54fe2f0285763dc.png

作者还比较了几个下限方法,这些下限方法可以用作近似计算或者修剪掉被证明不在一个查询的k个最近邻中的文档。WMD距离具有几个有趣的特性:(1) 没有超参数,易于理解和使用; (2)高度可解释的,两个文档之间的距离可以分解并解释为少数几个单词之间的稀疏距离;(3)它自然地融入了word2vec空间中的编码知识并获得高检索准确率。作者是首次将高质量的词嵌入和EMD检索算法关联起来进行文档距离研究的。

  • 词嵌入向量(word embedding vector)

比如,针对300维的词嵌入向量,每个维度表示某个特定的含义。词汇表中所有词汇构成的词嵌入矩阵(word embedding matrix)如下图所示(图中的每一列表示该词汇对应的词嵌入向量,例如单词man表示的词嵌入向量为

e91a405b7d361d33ef6fd7636ca17588.png
  • Word Mover's Distance

nBOW:假设有n个单词的词汇表的word2vec嵌入矩阵

,第i列表示d维空间中第i个单词的词嵌入向量。假设文本文档表示成归一化的词袋向量nBOW(normalized bag-of-words vectors),
,确切地说,如果单词i在文档中出现了
次,则以nBOW形式表示的文档向量的第i个分量
。显而易见,一个nBOW向量d是非常稀疏的,因为大多数单词不会在给定的文档中出现。

Word travel cost:我们的目标是将每个单词对(例如,President and Obama)之间的语义相似度包含进文档距离度量中。单词

和单词
之间的欧氏距离
。为了避免混淆单词距离和文档距离,使用
指代为从一个词到另一个词的“旅行”成本。

Document distance:两个词之间的“travel cost”是一个自然的构建块用以创建两个文档之间的距离。令

维单纯形中两个文本文档的nBOW表示形式。首先,我们允许文档
中的每个单词
转换成文档
中的任何单词。令
表示一个稀疏的flow matrix,
表示文档
中单词
的多少权重流向了文档
中的单词
。为了将
完全转换为
,我们要确保来自单词
的整个流出权重之和等于
,即
类似的,流向文档
中单词
的流入权重之和等于
,即
。最后,将两个文档之间的距离定义为将文档
中的所有单词移动到文档
中的最小(加权)累积成本。即,

Transportation problem:在给定约束条件下,将文档

移动到文档
的最小累积成本就是以下线性规划的解决方案。

9970f640c7edae3b506278d92c230d57.png

上述优化问题可以看做是earth mover's distance metric(EMD)的一个特例。

Visualization:考虑WMD度量文档距离的一个例子,

是两个句子,我们想要将他们与查询语句
进行比较。首先,去停用词(停用词主要由助词、冠词、感叹词等不具有实际含义的词汇以及数字和标点符号构成)。这样
中就只保留了President, greets, press, Chicago四个单词,每个单词的权重
(可以理解为词频(term frequency,TF),指的是某一个给定的词语在该文档中出现的频率,该单词在该文档中的出现次数/该文档中的总词数)。从句子
中的单词
中的单词
的箭头标注为它们对距离
的贡献值。WMD跟我们的直觉一致,将单词移动到语义上相似的单词,比如将Illinois转换成Chicago比将Japan转换成Chicago要廉价的多。这是因为在word2vec词嵌入空间中向量vec(Illinois)更接近于vec(Chicago)而不是vec(Japan)。因此,文档
的距离(1.07)要明显小于
的距离(1.63)。

afef62cbbdcec194f091833860fd29a3.png
  • Fast Distance Computation

由于解决WMD优化问题的最佳平均时间复杂度为

,其中p表示文档中唯一单词的数量。对于具有许多唯一单词的数据集(即,高维)或大量文档,解决WMD最优运输问题就变得成本高昂令人难以承受。我们可以引入WMD运输问题几个廉价的下限计算方法来修剪掉大多数的候选文档从而不必计算精确的WMD距离。

下限方法1(Word centroid distance):质心距离

确定文档
之间WMD的下限。根据三角不等式有

948a6293f3a51be6b1d0b3874618f3db.png

note:矩阵向量乘法的第二种形式

f68bfc657e8518008461cbcf8ded8eb2.png

fd0cb7fd9bb5534ed50adb4a9564e6f4.png

将该距离称为Word Centroid Distance(WCD),每个文档由其加权平均词向量表示。该下限计算方法只需要通过几个矩阵运算便可得出,时间复杂度也只有O(dp)

下限方法2(Relaxed word moving distance):由于WCD计算出的下限比较宽松,通过松弛WMD优化问题并分别移除两个约束条件中的一个,我们可以得到更严格的界限。如果只移除第二个约束条件,优化问题就变成了,

94c9d21f3624463a7d7254d6ee12fbd9.png

这个松弛问题一定会产生WMD距离的一个下限(lower-bound),一个明显的事实是每个WMD的解决方案(满足两个约束条件),一定仍然是移除一个约束条件的松弛问题的一个可行解决方案。令两个松弛解决方案分别是

,通过取两个松弛条件的最大值,我们可以得到一个更严格的边界,
,我们称该条件为Relaxed WMD (RWMD)。这个界限明显比WCD更严格。

Prefetch and prune:我们使用两个下限来大幅减少我们需要进行的WMD距离计算量,以便找到一个查询文档的k个最近邻。首先将所有文档按照它们到查询文档的WCD距离(该距离计算成本廉价)进行升序排列,然后计算查询文档到这些文档中前k个文档的精确WMD距离。接下来遍历剩余的其它文档。对于余下的每篇文档我们首先检查RWMD下限是否超过当前第k个最近文档的距离,如果是这样我们就将其修剪掉。否则的话就计算WMD距离并在必要时更新第k个最近邻。由于RWMD近似非常严格,它允许我们在一些数据集上修剪掉高达95%的文档数。

  • 结果

作者在八个基准文档分类任务上以kNN分类的形式评估了WMD距离(word mover’s distance)。

1、8个监督学习范畴的公开文档数据集

33375e4c94d80c21c912d5bff67c669c.png

2、用于与WMD距离相比较的表示文档的7个基准方法

对于每个基准方法,我们使用欧氏距离进行kNN分类。

bag-of-words (BOW), TFIDF(term frequency-inverse document frequency), BM25 Okapi, LSI(Latent Semantic Indexing), LDA(Latent Dirichlet Allocation), mSDA(Marginalized Stacked Denoising Autoencoder), CCG(Componential Counting Grid)

3、文档分类结果

在除了两个(BBCSPORT,OHSUMED)之外的所有数据集上,WMD取得了最低的测试误差。

c24b76c1e8a002547e9d81b12790b87e.png

4、Lower Bounds and Pruning

最后,作者评估了在m的不同取值下prefetch和prune算法的精确和近似版本的加速性能和准确性。所有加速都是相对于详尽的WMD度量所需时间(图的最上方)而报告的,并且在4个核心上并行运行。(8 cores for 20NEWS) of an Intel L5520 CPU with 2.27Ghz clock frequency.首先,我们注意到在所有情况下,通过prefetching增加的错误相对较小,而可以获得可观的速度提升。

20e8e2f4ef68ecb91365f2eeedbd5481.png

从图中可以观察到,误差在m = k和m = 2k之间下降最多,对于时间敏感的应用来说,这可能会产生一个介于准确率和检索时间之间的最佳点(sweet spot)。如前所述,使用RWMD直接导致令人印象深刻的低错误率,并且在所有数据集上的平均检索时间低于1秒。

  • 结论

WMD度量在所有数据集上的错误率如此之低,我们将其归因于其利用了word2vec词嵌入向量高效表征词汇的能力。

  • 参考文献:

【1】Matt J. Kusner, From Word Embeddings To Document Distances

【2】Mikolov, T., Chen, K., Corrado, G., and Dean, J. Efficient estimation of word representations in vector space. In Proceedsings of Workshop at ICLR, 2013a.

【3】Mikolov, T., Sutskever, I., Chen, K., Corrado, G. S., and Dean, J. Distributed representations of words and phrases and their compositionality. In NIPS, pp. 3111– 3119, 2013b.

Word2Vec Tutorial - The Skip-Gram Model

吴恩达、深度学习第五门课程-序列模型(sequence models)、网易云课堂

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/370864.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

c语言主调函数和被调函数,在C语言中,何为主调函数和被调函数,他们之 – 手机爱问...

2007-08-30请详细一些~最好举出例子你好。评价宝宝的标准基本上是:技能>资质>成长因为宝宝的评价是一项 仁者见仁的活儿,但其中有些规律我想是可以具体话的,希望能对你有帮助:1:技能:技能的意义有多大…

学习关于display :flex 布局问题!

很多人不明白这个display:flex是到底是什么东西,如何使用的 。 1.什么是display:flex呢? 答:flex是 flexible box的缩写,意为弹性布局 ;这个东西的引入,为盒模型提供了最大的灵活性&#xf…

note同步不及时 one_一辆理想ONE又“跪了”?理想官方紧急发文回应

汽车行业关注(autochat.com.cn)10月16日报道——10月15日,有网友在社交媒体上发布视频,从视频可以看到,一辆理想ONE在遭遇事故后,左前轮脱落在车外疑似断轴,从视频未能判定是断轴引起的事故,还是事故引起的断轴。针对该…

Skywalking 中 Agent 自动同步配置源码解析

文章目录 前言正文实现架构实现模型OAP 同步 ApolloConfigWatcherRegisterConfigChangeWatcher Agent 侧 前言 本文代码 OAP 基于 v9.7,Java Agent 基于 v9.1,配置中心使用 apollo。 看本文需要配合代码“食用”。 正文 Skywalking 中就使用这种模型…

华为5720设置静态路由不通_【干货分享】交换机与路由器在环路中的处理机制了解一下!...

点击蓝字关注我们-今天小盟带大家来讨论一下交换机与路由器在环路中的处理机制-01基础配置1---如图配置路由器各接口地址,AR-2为PC-1的网关路由器2---AR-1配置静态默认路由,下一跳地址指向AR-2;[AR-1]ip route-static 0.0.0.0 0 12.1.1.2AR-2…

VisualVM介绍使用

1 打开VisualVM(这个工具放在JDK安装目录的bin目录下,双击jvisualvm.exe即可打开),如下图所示 以VisualVM自身为例,VisualVM本身也是一个java程序,当然也而已用VisualVM来分析 2 概述页面主要显示程序…

Java功能的适用性

Java语言和标准库功能强大,但功能强大, 责任重大 。 一方面看到很多用户代码滥用或滥用稀有的Java功能,另一方面却完全忘记了大多数基本功能之后,我决定撰写此摘要。 这不是每个Java开发人员都应该探索,了解和使用的要…

台达b3伺服modbus通讯_【数控系统】台达伺服压机控制灵活 精准压合满足各种工序需求...

引言压机是一种利用压力改变工件形状的机械设备。随着制造业少量多样与客制化的日趋发展,压机的的优势逐渐显现,在汽车、五金与电子制造等产业中的应用不断增多。传统压机在使用操作上耗费人力并需要诸多压机元件才能完整运作,维修成本高&…

yolov4Linux,基于Darknet的YOLOv4目标检测

目录一、Windows环境下的YOLOv4目标检测1、环境配置环境准备:Win10、CUDA10.1、cuDNN7.65、Visual Studio 2019、OpenCV 3.4(1)Visual Studio2019企业版安装(3)下载并安装CUDA10.1,下载安装cuDNN7.65对于cudnn直接将其解开压缩包,然后需要将b…

二元置信椭圆r语言_医学统计与R语言:圆形树状图(circular dendrogram)

微信公众号&#xff1a;医学统计与R语言如果你觉得对你有帮助&#xff0c;欢迎转发输入1&#xff1a; "ggraph")结果1&#xff1a; name 输入2&#xff1a; <- graph_from_data_frame(myedges1, verticesmyvertices,directed T)ggraph(mygraph, layout dend…

Java:检查器框架

我在JavaOne 2012上 了解的有趣的工具之一是Checker Framework 。 Checker Framework的网页之一 指出 &#xff0c;Checker Framework“增强了Java的类型系统&#xff0c;使其更强大&#xff0c;更有用”&#xff0c;从而使软件开发人员“能够检测并防止Java程序中的错误”。 查…

南岸焊接机器人厂_造船三部高效焊接工艺技术年鉴

为了提升公司高效焊自动化率&#xff0c;实现降本增效目标&#xff0c;造船事业三部积极响应公司领导号召&#xff0c;充分挖掘自身资源&#xff0c;2020年&#xff0c;在高效焊接技术、设备开发研究等方面&#xff0c;不断创新、敢于突破&#xff0c;获取了多项焊接新技术、新…

线性回归csv数据集_测试数据科学家线性回归的30个问题

你的目标是数据科学家吗&#xff1f;那你对线性回归了解有多深入呢&#xff0c;下面的30道题&#xff0c;可以帮助你或者测试别人是否真的达到的数据科学家的水平&#xff0c;关注回复&#xff0c;答案在评论区&#xff1a;1)是非题&#xff1a;线性回归是一种受监督的机器学习…

dw空心圆项目符号_如何懂建筑施工图?搞懂这些符号解析,耐下性子研究不会学不会...

施工图纸一个建筑方向&#xff0c;是房屋建筑的依据&#xff0c;更是一种工程语言&#xff0c;它能够明确的规定出我们建造出怎样的建筑&#xff0c;看懂它是入行基础。当然建筑图包含的因素比较多&#xff0c;有具体的建筑符号&#xff0c;尺寸、做法以及技术要求都在里面&…

canvas学习和滤镜实现

最近学习了 HTML5 中的重头戏--canvas。利用 canvas&#xff0c;前端人员可以很轻松地、进行图像处理。其 API 繁多&#xff0c;这次主要学习常用的 API&#xff0c;并且完成以下两个代码&#xff1a;实现去色滤镜实现负色(反色)滤镜 欢迎入群&#xff1a;857989948 。IT 技术深…

android代码混淆作用,Android分享:代码混淆那些事

1) 前言ProGuard是一个开源的Java代码混淆器。它可以混淆Android项目里面的java代码&#xff0c;对的&#xff0c;你没看错&#xff0c;仅仅是java代码。它是无法混淆Native代码&#xff0c;资源文件drawable、xml等。2) ProGuard作用压缩: 移除无效的类、属性、方法等优化: 优…

施工部署主要不包括_建筑工程施工方案及培训实例

[南京]大型土石方工程施工方案本资料为[南京]大型土石方工程施工方案格&#xff0c;共43页。内容简介&#xff1a;本工程位于南京化工园内&#xff0c;扬子玉带扬巴路附近&#xff0c;工程项目为江苏成品油管道配设施扬子玉带油库套油库工程&#xff0c;由中国石化股份有限公司…

java第六次作业

《Java技术》第六次作业 &#xff08;一&#xff09;学习总结 1.用思维导图对本周的学习内容进行总结。 2.当程序中出现异常时&#xff0c;JVM会依据方法调用顺序依次查找有关的错误处理程序。可使用printStackTrace 和getMessage方法了解异常发生的情况。阅读下面的程序&#…

华为鸿蒙不再孤,华为鸿蒙OS系统不再孤单!又一款国产系统启动内测:再掀国产替代化...

【5月10日讯】相信大家都知道&#xff0c;备受广大花粉们期待的鸿蒙OS系统终于开始推送公测版本了&#xff0c;并且适配机型也开始不断地增多&#xff0c;而根据华为官方最新消息&#xff0c;华为鸿蒙OS系统将会在6月份开始大规模推送正式版鸿蒙系统&#xff0c;这无疑将会成为…

CSS 水平垂直居中

方法一&#xff1a; 容器确定宽高&#xff1a;知识点&#xff1a;transform只能设置在display为block的元素上。 <head> <meta charset"UTF-8"> <title>Title</title> <style type"text/css"> #container{…