首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

从EMD、WMD、WRD:文本向量序列的相似度计算

本文就来简单介绍一下属于后者的两个相似度指标,分别简称为WMD、WRD Earth Mover's Distance 假设现在有两个概率分布p({x}),q({x}),那么Wasserstein距离的定义为...实际使用的时候,通常会去掉停用词再计算WMD ?...并排序的话,那计算成本是相当大的,所以我们要尽量减少算WMD的次数,比如通过一些更简单高效的指标来过滤掉一些样本,然后再对剩下的样本算WMD 幸运的是,我们确实可以推导出WMD的一个下界公式,原论文称之为...大于两个句子的平均向量的欧式距离,所以欧式距离大的两个句子,WMD一定大,因此我们要检索WMD比较小的句子时,可以先用欧式距离过滤掉距离比较大的句子,剩下的再采用WMD进行比较 Word Rotator's...Distance WMD其实已经听不错了,但非要鸡蛋里挑骨头的话,还是能挑出一些缺点来: 它使用的是欧式距离作为语义差距度量,但从Word2Vec的经验我们知道,用cos往往比欧式距离要好 WMD理论上是一个无上界的量

2.2K20
您找到你想要的搜索结果了吗?
是的
没有找到

当Elasticsearch遇见智能客服机器人

WMD也有明显缺点,它的算法复杂度非常高,计算速度很慢。WMD不是银弹,即使WMD之后也可能会得到一些不太好的结果。 ? 我们的知识库会先经过ES过滤一层。...原始的知识库大概是几十万级别,如果直接用WMD计算的话速度会非常慢。ES在一定程度上保证了它的字面差得不会那么离谱,当字面比较相近的时候它还是能匹配出一些东西。 ? ES具体操作 ?...WMD的计算强度比较大,如果我们在输入词中能把一些不重要的词去掉,就可以降低WMD的计算强度。 在我们的一些知识库中,它的表达方式不一样。但重要的词换一个表达方式,能够提高准确率。...解决方案 当前我们的解决方案用Python NLTK进行分析过滤,输出每个词的词性,ES存储结果。...推荐方案的优点 性能:Java实现的东西一般来说要比纯Python的快,特别是在比较消耗CPU资源的时候。 简单:逻辑不需要在ES和Python两边同时维护。

2.2K60

从单词嵌入到文档距离 :WMD一种有效的文档分类方法

在以下各节中,我们将讨论WMD的原理,WMD的约束和近似,预取和修剪,WMD的性能。 WMD原理 如前所述,WMD尝试测量两个文档的语义距离,并且语义测量是通过word2vec嵌入实现的。...也就是说,WMD可能不适用于大型文档或具有大量唯一单词的文档。在本文中,作者提出了两种加快WMD计算的方法。两种加速方法均导致实际WMD值近似。...否则,将计算确切的WMD距离并更新到k个最近的邻居。...WMD性能表现 作者在kNN上下文中对八个文档数据集评估了WMD性能,并将其与BOW,TFIDF,BM25 LSI,LDA,mSDA和CCG进行了比较。...他们的实验表明,WMD在8个数据集中的6个数据集中表现最佳。对于其余两个数据集,即使WMD的性能不佳,错误率也非常接近最佳性能者。

1.1K30

R语言数据分析与挖掘(第八章):判别分析(1)——距离判别法

在判别法中根据不同的功能需求,会经常用到dist()、mahalanobis()和wmd()这三个函数。...3 wmd()函数 上述介绍的两个函数均返回距离值,而不能直接判别,下面介绍一个可直接用于判别的函数: wmd(), 该函数存在于WMDR包中,可用于实现加权马氏距离的判别,它利用函数mahalanobis...()计算出马氏距离,然后进行判别分析,最终返回包含结果和准确度的表单,其基本书写格式为: wmd(TrnX,TrnG,Tweight = NUL, TstX = NULL, var.equal = F)...需要注意的是,函数wmd()中训练集的样本量与测试集的样本量相等,否则R语言会报错。...("WMDR")# 对高版本的R已经不适用 library(WMDR) dta<-iris[,1:4] species<-gl(3,50) wmd(dta,species) wmd(dta,species

6.7K23

【数据分析 R语言实现】12.1判别分析及R实现

目前在程序包WMDB中,函数wmd( )可以实现加权马氏距离判别分析,它利用了上面的函数mahalanobis()进行计算,并返回一个结果表单和准确度的报告,在两个总体和多个总体的条件下均可直接计算。...wmd(TrnX, TrnG, Tweight = NULL, TstX = NULL, var.equal = F) 例: 4个经济指标判断企业处于破产状态还是正常运行状态 > B=read.table...使用程序包WMDB中的函数wmd()直接计算,首先在不指定参数TstX的情况卜,对训练样品作判别分析,可以得到38个样本的分类判别结果、错判的样本信息以及判别分析的准确度。...> library(WMDB) > G=c(rep(1,17),rep(2,21)) #生成38个训练样品的已知类别 > G=as.factor(G) #转换成因子向量,才能代入函数wmd()计算...> wmd(B,G) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 blong 1 1 1 1 1 1 1 1 2 1

3.5K30

sas文本挖掘案例:如何使用SAS计算Word Mover的距离

p=6181 Word Mover的距离(WMD)是用于衡量两个文档之间差异的距离度量,它在文本分析中的应用是由华盛顿大学的一个研究小组在2015年引入的。...Word Mover距离的定义 WMD是两个文档之间的距离,作为将所有单词从一个文档移动到另一个文档所需的最小(加权)累积成本。通过解决以下线性程序问题来计算距离。 ?...WMD是Word Mover距离度量(EMD)的一个特例,这是一个众所周知的问题。 如何用SAS计算Word Mover的距离? SAS / OR是解决问题的工具。...图-2运输问题流程图 如何用SAS计算Word Mover的距离 本文从Word嵌入到文档距离,通过删除WMD的第二个约束来减少计算,提出了一个名为放松的Word Mover距离(RWMD)的新度量。...WMD方法不仅可以测量文档的相似性,还可以通过可视化流数据来解释为什么这两个文档是相似的。

1.1K20

腾讯知文团队负责人钟黎:从 0 到1 打造下一代智能对话引擎 | CCF-GAIR 2018

WMD 是 2015 年的工作,它用了一些更加新的方法来算这种距离,这样的方法比简单的平均化求距离要更好一些。但存在一个问题,这种方法对多义性的解决不太好。...刚才提到词移距离的方法,这个方法就是 WMD,基于加权平均的方法比较简单,这里主要讲一下 WMD。...从下图可以看到 WMD 的效果,在几个评测里,它的错误率相对来说比较低,比其他方法低了将近十几、二十个百分点。...我们一个很大的要求是快,对 WMD 有一些扩展研究,有兴趣的同学可以继续关注后面的一些工作。 刚才讲的是快速召回,接下来一个很关键的点是做深度匹配。

1K30

比赛必备 ︱ 省力搞定三款词向量训练 + OOV词向量问题的可性方案

fasttext 解决OOV的词向量最佳方案 3.2 两个词向量空间对齐 ---- 1 之前的几款词向量介绍与训练帖子 glove: NLP︱高级词向量表达(一)——GloVe(理论、相关测评结果、R&python...实现、相关应用) 极简使用︱Glove-python词向量训练与使用 fasttext: NLP︱高级词向量表达(二)——FastText(简述、学习笔记) fastrtext︱R语言使用facebook...的fasttext快速文本分类算法 极简使用︱Gemsim-FastText 词向量训练以及OOV(out-of-word)问题有效解决 word2vec: python︱gensim训练word2vec...多个词条求相似 model.most_similar("滋润") # 求词附近的相似词 similarity求两个词之间的相似性;n_similarity为求多个词之间的相似性 其中还可以求词条之间的WMD...pip3 install pyemd model.wmdistance(['cat', 'say'], ['dog', 'say']) # 求词条之间的WMD距离 ---- 2.4 elmo 预训练模型

3.9K50
领券