Docker LeetCode 做推广 dll vue状态管理 vue组件开发 vue全局组件 bootstrap后台模板 erp系统源码 centos查看php版本 mysql数据库名称 ie内核浏览器怎么设置 鼠标失去焦点事件 erp项目描述 pip环境变量 excel带格式复制粘贴 python数据类型 python3入门 python开发环境 python程序实例 java集成 java数据类型 java文档 java手册 怎么安装java环境 java正则匹配数字 java接口的修饰符 java代码 java字符 java抛出自定义异常 max电池容量 vfloppy getelementbyid 模拟人生2夜生活 烧饼修改器打不开 流程图工具 idea导出jar包 ip切换软件 ppt格式刷怎么用 winfax
当前位置: 首页 > 学习教程  > 编程学习

计算文本相似度方法总结

2021/1/9 1:56:32 文章标签: word计算

1、无监督,不使用额外标注数据 average word vectors:简单对句子中的所有词向量取平均,是一种简单有效的方法 缺点:没有考虑到单词的顺序,对15个字以内的短句子比较有效,丢掉了词与词间的相关意思&#xf…

1、无监督,不使用额外标注数据

  • average word vectors:简单对句子中的所有词向量取平均,是一种简单有效的方法
    • 缺点没有考虑到单词的顺序,对15个字以内的短句子比较有效,丢掉了词与词间的相关意思,无法更精细的表达句子与句子之间的关系。
  • tfidf-weighting word vectors:对句子中的所有词向量根据TF-IDF权重加权求和,是常用的一种计算sentence embedding的方法,在某些问题上表现很好,相比于简单的对所有词向量求平均,考虑到了TFIDF权重,因此句子中更重要的词占得比重就更大。
    • 缺点:没有考虑单词的顺序
  • bag of words:词袋,这种方法对于短文本效果很差,对于长文本效果一般,通常在科研中用来做baseline
    • 缺点: 1. 没有考虑到单词的顺序;2. 忽略了单词的语义信息
  • LDA :计算出一片文档或者句子的主题分布。常常用于文本分类任务。
  • smooth inverse frequency1 简称SIF为权重,对所有词的word vector加权平均,最后从中减掉principal component,得到sentence embedding
    [1] Sanjeev Arora, et al. 2017. A Simple but Tough-to-Beat Baseline for Sentence Embeddings
  • Word Mover's Distance2简称WMD,基于词移距离度量句子之间的相似度。
    [2] Matt J. Kusner, et al. 2015. From Word Embeddings To Document Distances
  • LSI或LSA:LSI是处理相似度的,基于SVD分解,用于特征降维,LSI求解出来的相似度跟topic相关性很强,而句子结构等信息较少。顺便说下,句子中词的顺序是不会影响LSI相似度结果的。

2、有监督,需要额外标注数据

  • 分类任务,例如训练一个CNN的文本分类器,取最后一个hidden layer的输出作为sentence embedding,其实就是取分类器的前几层作为预训练的encoder
  • sentence pair的等价性/等义性判定,这种方法的好处是不仅可以得到sentence embedding,还可以直接学习到距离度量函数里的参数。

3、DSSM-LSTM

DSSM-LSTM计算任意一对短文本的语义相似性,能够捕捉上下文信息。

4、doc2vec(paragraph2vec, sentence embeddings)

一种非监督式算法,可以获得sentence/paragraphs/documents的向量表达,是word2vec的拓展。学出来的向量可以通过计算距离来找sentences/paragraphs/documents之间的相似性,可以用于文本聚类,对于有标签的数据,还可以用监督学习的方法进行文本分类,例如经典的情感分析问题。

训练过程中新增了paragraph id,即训练语料中每个句子都有一个唯一的id。paragraph id 和普通的word一样,先是映射成一个向量,即paragraph vector。paragraph vector与word vector的维数虽一样,但是来自于两个不同的向量空间。在之后的计算里,paragraph vector与word vector累加或者连接起来,作为输出层softmax的输入。在一个句子或者文档的训练过程中,paragraph id保持不变,共享同一个paragraph vector,相当于每次在预测单词的概率时,都利用了整个句子的语义。

DM(Distributed Memory,分布式内存):DM试图在给定前面部分的词和paragraph向量来预测后面单独的单词,即使文本中的语境在变化,但paragraph向量不会变换,并且能保存词序信息。

转自:
计算文本相似度方法总结(一) - nxf_rabbit75 - 博客园

参考:
如何用 word2vec 计算两个句子之间的相似度? - 知乎


  1. 1 ↩︎

  2. 2 ↩︎


本文链接: http://www.dtmao.cc/news_show_1100108.shtml

附件下载

相关教程

    暂无相关的数据...

共有条评论 网友评论

验证码: 看不清楚?