摘要:今天带领大家学习自然语言处理中的词嵌入的内容。

本文分享自华为云社区《【MindSpore易点通】深度学习系列-词嵌入》,作者:Skytier。

1 特征表示

在自然语言处理中,有一个很关键的概念是词嵌入,这是语言表示的一种方式,可以让算法自动的理解一些同类别的词,比如苹果、橘子,比如袜子、手套。

one-hot向量

比如我们通常会说:“I want a glass of orange juice.”但如果算法并不知道apple和orange的类似性(这两个one-hot向量的内积是0),那么当其遇到“I want a glass of apple __”时,并不知道这里也应该填写 juice。

如果用特征化的表示来表示库里的每个词,学习它们的特征或者数值。

这样我们就可以选用t-SNE算法来对特征向量可视化,通过观察这种词嵌入的表示方法,最终同类别的单词会聚集在一块,词嵌入算法对于相近的概念,学到的特征也比较类似。

2 词嵌入的使用

参考案例——句中找人名:Jack Li is a teacher.

使用词嵌入作为输入训练好的模型,如果看到一个新的输入:“Jack Li is a farmer.”因为知道teacher和farmer很相近,那么算法很容易就知道Jack Li是一个人的名字。同时,如果遇到不太常见的单词,比如:Jack Li is a cultivator.(假设训练集里没有cultivator这个单词),但是词嵌入的算法通过考察大量的无标签文本,会发现farmer、teacher、cultivator相近,把它们都聚集在一块。这样一来即使只有一个很小的训练集,但是使用迁移学习,把从大量的无标签文本中学习到的知识迁移到一个任务中——比如少量标记的训练数据集的命名实体识别任务。

如何用词嵌入做迁移学习的步骤:

1.先从大量的文本集中学习词嵌入。

2.用这些词嵌入模型把它迁移到新的只有少量标注训练集的任务中,比如说用300维的词嵌入来表示单词,这样就可以用更低维度的特征向量代替原来的10000维的one-hot向量。

3.当在新的任务上训练模型时,只有少量的标记数据集,可以选择不进行微调,而是用新的数据调整词嵌入。

当你的任务的训练集相对较小时,词嵌入的作用最明显,所以它广泛用于NLP领域,但是其对于一些语言模型和机器翻译并不适用。

3 类比推理

词嵌入有一个非常强大的特性就是可以帮助实现类比推理。比如从性别这个特征上来说,如果man应该对应woman,那么算法可以推导出king对应queen。

最常用的相似度函数是余弦相似度,假如在向量u和v之间定义相似度:

如果u和v非常相似,那么它们的内积将会很大,那么该式就是u和v的夹角Φ的余弦值,实际就是计算两向量夹角Φ角的余弦。夹角为0度时,余弦相似度就是1,当夹角是90度角时余弦相似度就是0,当夹角是180度时相似度等于-1,因此角度越小,两个向量越相似。

点击关注,第一时间了解华为云新鲜技术~

带你了解NLP的词嵌入相关推荐

  1. 【NLP】词嵌入基础和Word2vec

    0.导语 词嵌入是自然语言处理(NLP)中语言模型与表征学习技术的统称.概念上而言,它是指把一个维数为所有词的数量的高维空间嵌入到一个维数低得多的连续向量空间中,每个单词或词组被映射为实数域上的向量. ...

  2. 【NLP】词嵌入及为什么要这么做

    作者:数据与智能 链接:https://www.zhihu.com/question/307051604/answer/2146800423 1. 什么是词嵌入?及为什么要这么做? 机器学习和深度学习 ...

  3. 斯坦福NLP名课带学详解 | CS224n 第12讲 - NLP子词模型(NLP通关指南·完结)

    作者:韩信子@ShowMeAI,路遥@ShowMeAI,奇异果@ShowMeAI 教程地址:https://www.showmeai.tech/tutorials/36 本文地址:https://ww ...

  4. 【NLP】图解词嵌入和Word2vec

    0.导语 词嵌入是自然语言处理(NLP)中语言模型与表征学习技术的统称.概念上而言,它是指把一个维数为所有词的数量的高维空间嵌入到一个维数低得多的连续向量空间中,每个单词或词组被映射为实数域上的向量. ...

  5. NLP领域的ImageNet时代:词嵌入已死,语言模型当立

    NLP领域的ImageNet时代:词嵌入已死,语言模型当立 https://www.toutiao.com/a6742137243487437316/ NLP领域的ImageNet时代:词嵌入已死,语 ...

  6. NLP之WE之Skip-Gram:基于TF利用Skip-Gram模型实现词嵌入并进行可视化、过程全记录

    NLP之WE之Skip-Gram:基于TF利用Skip-Gram模型实现词嵌入并进行可视化 目录 输出结果 代码设计思路 代码运行过程全记录 输出结果 代码设计思路 代码运行过程全记录 3081 or ...

  7. 【NLP】用code2vec、glow和spaCy进行词嵌入

    作者 | Maria Malitckaya 编译 | VK 来源 | Towards Data Science 改进机器学习模型的一个有效方法是使用词嵌入.使用词嵌入,你可以捕获文档中单词的上下文,然 ...

  8. 【NLP】毕设学习笔记(一):词袋模型、主题模型、词嵌入

    NLP分类方法历史 词袋模型(1954) One-hot TF-IDF N-gram 主题模型(1998) LSA pLSA LDA 词嵌入(word embedding) word2vec(2013 ...

  9. 机器学习解决问题思路 — 词嵌入矩阵E对于NLP问题的重要性

    下面是我对机器学习解决问题的一个理解: 机器需要做的事: 现象1 ->数据结构1 -> 数据结构2 -> 现象2 1.从现象1->数据结构1,为了让机器了解是一个什么现象,此过 ...

最新文章

  1. ansible基本操作
  2. LINUX安装REDIS集群
  3. java学习笔记2022.1.17
  4. 计算机类学生发专利,关于统计2020年老师指导本科生发表科研论文数和申请专利数的通知...
  5. php导出页面居中设置,PHPExcel导出插入图片和居中问题
  6. JDK8和JDK1.8有何区别
  7. 我开源的软件只能我拿来赚钱
  8. 内存恶鬼drawRect - 谈画图功能的内存优化
  9. 算法的优缺点_各种电磁仿真算法的优缺点和适用范围(FDTD, FEM和MOM等)
  10. 怎么提高Mysql执行sql导入的速度
  11. IPlImage的width和widthStep
  12. UE4纯蓝图项目接入Steam服务(一)将游戏连接到Steam
  13. 微信小程序直播是怎么做的
  14. 小白如何做一个Python人工智能语音助手
  15. 2020年阴历二月十一 投资理财读书笔记~漫步华尔街①
  16. js设置北京时区_如何使不同时区的时间与京8区一致?(JS实现)
  17. 扇贝python编程课 百度云,扇贝编程python课程分享
  18. 转-手机天猫解耦之路
  19. 专题:预测大盘20190410
  20. Pta——谷歌的招聘

热门文章

  1. linux 下的 包过滤器 BPF
  2. js手机端 下拉刷新
  3. python join函数报错_python中join()函数的使用方法
  4. HDFS fsimage和edits中的文件信息查看
  5. DBMS-关系数据库的设计:范式、函数依赖、分解算法、多值依赖
  6. shiro使用md5salt哈希散列加密
  7. gpedit.msc打不开
  8. 用旧平板打造家庭云数码相框
  9. 浅析“高内聚,低耦合”
  10. Linux终端编程--termios