万物皆可Embedding系列会结合论文和实践经验进行介绍,前期主要集中在论文中,后期会加入实践经验和案例,目前已更新:

  • 万物皆可Vector之语言模型:从N-Gram到NNLM、RNNLM

  • 万物皆可Vector之Word2vec:2个模型、2个优化及实战使用

  • Item2vec中值得细细品味的8个经典tricks和thinks

  • Doc2vec的算法原理、代码实现及应用启发

  • Sentence2Vec & GloVe 算法原理、推导与实现

Sentence2vec

Sentence2vec 是2017年发表于ICLR(国际学习展示回忆)的一篇论文,其全称为:A Simple but tough-to-beat baseline for sentence embeddings

下面来看一下论文所介绍的内容(论文的内容比较晦涩难懂,小编水平也不高,如果不当之处,评论区留言,感谢!)。

1、概述

论文主要提出了一种无监督的,基于单词词向量计算句子embedding的方法,称之为Smooth Inverse Frequecy(SIF),使用加权平均的方法从word embedding到sentence embedding,然后再基于句子的embedding进行相似度计算,下面使用Sentence2vec来代替模型的思想。

论文中提出的计算方法比直接平均求句子embedding的方法效果要好一些,在一些任务中甚至比RNN、LSTM模型表现还要好一些。

与该论文中思路比较相近的做法有:

  • 直接使用词语的平均embedding来表示句子,即不带权平均

  • 使用TF-IDF值作为权重,进行带权计算(前提是句子中没有大量重复的词语,且使用tfidf值作为权重没有理论依据)

通过引入SIF,结合词语embedding加权计算句子embedding,不仅表现较好,而且有较好的鲁棒性,论文中提到了三点:

  • 使用不同领域的语料训练得到的不同词语embedding,均取得了不错的效果,说明算法对各种语料都比较友好

  • 使用不同语料计算得到的词频,作为词语的权重,对最终的结果影响很小

  • 对于方法中的超参数, 在很大范围内, 获得的结果都是区域一致的, 即超参数的选择没有太大的影响

2、理论

a)潜在变量生成模型

b)Sentence2vec 在随机游走上的改进

c)计算句子相关性

d)整体算法流程

整体算法流程

3、实现

作者开源了其代码,地址为:

https://github.com/PrincetonML/SIF

Glove

1、概述

论文中作者总结了目前生成embedding的两大类方法,但这两种方法都有其弊端存在

  • 基于矩阵分解,弊端为因为是基于全局进行矩阵的构建,对于一些高频词,在算法优化的过程中,占的权重比较大

  • 基于滑动窗口,不能直接对语料库的单词进行共现建模,使用的是滑动窗口,没有办法利用数据的共现信息

因此作者提出了一种基于语料库进行信息统计,继而生成embedding的算法-Glove。下面就来具体看下对应的算法原理。

2、算法推导过程

共现矩阵提取信息说明

a值设定效果

3、总结

以上就是有关原理的介绍,作者其实也是基于最开始的猜想一步一步简化模型的计算目标,最后看GloVe的目标函数时发现其实不难计算,但是要从最开始就想到这样一个目标函数其实还是很难的。最后做一下总结:

  • 综合了全局词汇共现的统计信息和局部窗口上下文方法的优点,可以说是两个主流方法的一种综合,但是相比于全局矩阵分解方法,由于不需要计算那些共现次数为0的词汇,因此,可以极大的减少计算量和数据的存储空间

  • 但是把语料中的词频共现次数作为词向量学习逼近的目标,当语料比较少时,有些词汇共现的次数可能比较少,笔者觉得可能会出现一种误导词向量训练方向的现象

4、实现

实现可以参考官方给出的代码和数据:

https://nlp.stanford.edu/projects/glove/

Sentence2vec相关推荐

  1. 基于skip_thoughts vectors 的sentence2vec神经网络实现

    1.论文摘要 我们描述了一种通用.分布式句子编码器的无监督学习方法.使用从书籍中提取的连续文本,我们训练了一个编码器-解码器模型,试图重建编码段落周围的句子.语义和语法属性一致的句子因此被映射到相似的 ...

  2. 基于Skip-Thought的Sentence2Vec神经网络实现

    一.前言 1.Skip-Thought-Vector论文 2.本文假设读者已了解Skip-Gram-Vector和RNN相关基础,以下文章可做参考: (1)RNN古诗词生成 (2)Skip-Gram- ...

  3. 通俗易懂word2vec详解词嵌入-深度学习

    https://blog.csdn.net/just_so_so_fnc/article/details/103304995 skip-gram 原理没看完 https://blog.csdn.net ...

  4. word2vec应用场景_Embedding在腾讯应用宝的推荐实践

    作者:carloslin,腾讯 PCG 应用研究员 Embedding 技术目前在工业界以及学术界中应用非常广泛,关于 Embedding 的探索和应用从未停歇.Embedding 的训练方法主要分成 ...

  5. 语义分析的一些方法(中篇)

    2 文本语义分析 前面讲到一些文本基本处理方法.一个文本串,对其进行分词和重要性打分后(当然还有更多的文本处理任务),就可以开始更高层的语义分析任务. 2.1 Topic Model 首先介绍主题模型 ...

  6. Embedding在腾讯应用宝的推荐实践

    作者:carloslin,腾讯 PCG 应用研究员 Embedding 技术目前在工业界以及学术界中应用非常广泛,关于 Embedding 的探索和应用从未停歇.Embedding 的训练方法主要分成 ...

  7. (转)word2vec前世今生

    word2vec 前世今生 2013年,Google开源了一款用于词向量计算的工具--word2vec,引起了工业界和学术界的关注.首先,word2vec可以在百万数量级的词典和上亿的数据集上进行高效 ...

  8. 【实践】Embedding在腾讯应用宝的推荐实践

    作者:carloslin,腾讯 PCG 应用研究员 Embedding 技术目前在工业界以及学术界中应用非常广泛,关于 Embedding 的探索和应用从未停歇.Embedding 的训练方法主要分成 ...

  9. 自然语言处理真实项目实战(20170822)

    前言 本文根据实际项目撰写,由于项目保密要求,源代码将进行一定程度的删减. 本文撰写的目的是进行公司培训,请勿以任何形式进行转载. 由于是日语项目,用到的分词软件等,在中文任务中需要替换为相应的中文分 ...

  10. 词嵌入、句向量等方法汇总

    在cips2016出来之前,笔者也总结多类似词向量的内容,自然语言处理︱简述四大类文本分析中的"词向量"(文本词特征提取)事实证明,笔者当时所写的基本跟CIPS2016一章中总结的 ...

最新文章

  1. Pytorch上采样函数 包括interpolate
  2. ipad怎么连接电脑_蓝牙的使用,蓝牙耳机怎么连接手机,怎么连接电脑
  3. android版记账本
  4. winform空间批量控制
  5. SAP Spartacus SSR 模式下 index.html 页面渲染 fallback 到 CSR 之后的执行逻辑
  6. 5-1WordCount单词计数
  7. Shell脚本编程之(三)执行方式差异(source, sh script, ./script)
  8. 第一季度VR市场报告出炉,中国市场份额下降至全球第三
  9. SSD人脸检测以及FDDB检测结果分析
  10. Python周刊518期
  11. 服务器如何查询网站域名备案号,如何查询域名备案号
  12. 矩阵可逆与行列式关系的一个直观推导
  13. android手机电池寿命,手机用多久换电池比较合适?
  14. 【CRC笔记】CRC-16 KERMIT C语言实现
  15. [从头读历史] 第267节 诗经 邶风
  16. 初夏小谈:结构体内存对齐详解
  17. Java串口助手 带UI界面 Java串口调试工具 FPV
  18. 计算机游戏攻略70,70亿人攻略大全 七十亿人全关卡双星代码通关攻略
  19. Docker Networking Docker 网络设置
  20. win7安装Edge提示“无法连接到Internet。如果使用防火墙,请将MicrosoftEdgeUpdate.exe加入允许列表中“

热门文章

  1. android 屏幕密度160与320换算,Android屏幕密度(Density)和分辨率的关系
  2. 拍照识别身份证 Android/iOS身份证识别技术
  3. vs2010如何发布窗体应用程序到服务器,C++ CLR 使用(VS2012,VS2013,VS2015)编写Windows窗体应用程序...
  4. 携号转网查询接口API,手机号码归属地及运营商查询接口
  5. 计算机组成原理与汇编语言程序设计课后答案,计算机组成原理与汇编语言程序设计(第4版)...
  6. 史上最强三千六百道脑筋急转弯(4)
  7. ArcView GIS 应用与开发技术(11)-空间分析
  8. UI界面视觉设计之字体要素--安卓-ios-网页常用字体
  9. pythonrequests发送数据_使用Python爬虫库requests发送表单数据和JSON数据
  10. 基于python车牌号识别_python中使用Opencv进行车牌号检测——2018.10.24