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

  • 论文作者简介

本论文第一作者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# 线程理解

概念引用:http://blog.csdn.net/yujie_yang/article/details/53173752 多线程和多进程的区别:任务管理器里各种不同的进程就是多进程,或者是你同时运行多个”.exe’程序就可以理解为多进程,多进程是要更多消耗CPU资源的。 多线程是…

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

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

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

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

QT信号和槽函数学习笔记

//connect 函数有4个参数 分别是 发送者 信号。接受者 ,槽 //connect(sender,signal,receiver,slot) /* * 信号和槽 * 信号 就是一个普通的函数 定义信号的时候需要在函数前面加上signals: ,不需要实现 * 槽 函数 在QT5中科院是类的任意成员函数&#xf…

数据库和Webapp安全

威胁模型 这是根据我网站上的快速参考页松散地讨论数据库和Webapp安全的问题。 该页面变得笨拙,并且使读者无法轻松地与我或其他人进行交互。 威胁模型 所有安全分析都必须从检查威胁模型开始。 威胁模型要求您回答四个问题: 我要保护的是什么&#…

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

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

C语言连续多个空格合并一个,C语言合并连续空格

一开始自己写的:a:#includemain(){int c;int state0;while (( cgetchar()) ! EOF) {if (c ){state1;continue;}if (state){state0;putchar( );putchar(c);}elseputchar(c);}}网上搜的:b:#include #define NONBLANK avoid main(){int c , last…

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…

IPC 进程间通信方式——信号量

信号量 本质上是共享资源的数目,用来控制对共享资源的访问。用于进程间的互斥和同步每种共享资源对应一个信号量,为了便于大量共享资源的操作引入了信号量集,可对多对信号量一次性操作。对信号量集中所有的操作可以要求全部成功,也…

css选择器的优先级

选择器的优先级表述为4个部分,用0,0,0,0表示。 !important--1,0,0,0行内样式ID选择器--0,1,0,0类选择器(例如,.example)、属性选择器(例如, [type"radio"])或伪类(例如, :hover)--0,0,1,0元素(例…

VisualVM介绍使用

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

c语言奇葩错误,6个奇葩的(hello,world)C语言版(转)

//下面的所有程序都可以在GCC下编译通过,只有最后一个需要动用C的编译器用才能编译通过。//程序功能输出 Hello,world!01.c#define _________ }#define ________ putchar#define _______ main#define _(a) ________(a);#define ______ _______(){#define __ _____…

Java功能的适用性

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

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

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

Binary Agents(二进制值转换字符串)

题目&#xff1a; 传入二进制字符串&#xff0c;翻译成英语句子并返回。 二进制字符串是以空格分隔的。 代码&#xff1a; 1 function binaryAgent(str) {2 var arr str.split( );3 for (var i 0; i < arr.length; i) {4 arr.splice(i,1,String.fromCharCode(BtoD…

我对CSS选择器的认识

我对CSS选择器的认识 一、简述   CSS选择器是对HTML元素进行选择的筛选条件&#xff0c;大概可以分为两类&#xff1a; 特征选择器——根据元素自身所具有的某种特征进行筛选&#xff0c;比如名称、ID、属性等&#xff1b;关系选择器——根据元素与其他元素的关系进行筛选&…

【USACO2006 Mar】滑雪缆车 skilift

【USACO2006 Mar】 滑雪缆车 skilift Time Limit 1000 msMemory Limit 131072 KBytes Description 科罗拉多州的罗恩打算为奶牛建造一个滑雪场&#xff0c;为此要在山上规划一条缆车线路。 整座山可以用一条折线来描述&#xff0c;该折线有N个拐点&#xff0c;起点是1&#xff…

yolov4Linux,基于Darknet的YOLOv4目标检测

目录一、Windows环境下的YOLOv4目标检测1、环境配置环境准备&#xff1a;Win10、CUDA10.1、cuDNN7.65、Visual Studio 2019、OpenCV 3.4(1)Visual Studio2019企业版安装(3)下载并安装CUDA10.1&#xff0c;下载安装cuDNN7.65对于cudnn直接将其解开压缩包&#xff0c;然后需要将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…