文章目录

  • Unsupervised Learning Word Embedding
    • 用一个vector来表示一个word的几种方法
      • 1-of-N Encoding
      • Word Class
      • Word Embedding
    • 如何做Word Embedding
    • How to exploit the context? 如何利用文本呢?
      • Count based
      • Prediction based
      • Prediction-based - Sharing Parameters
      • Prediction-based - Training
      • Prediction-based - Various Architectures
    • Word Embedding
      • Characteristics
      • Solving analogies
      • Demo
    • Multi-lingual Embedding
    • Multi-domain Embedding
    • Document Embedding
      • Semantic Embedding

Unsupervised Learning Word Embedding

用一个vector来表示一个word的几种方法

1-of-N Encoding

用一个vector来表示一个word,这个vector的维度就是世界上可能有的词的数目,每一个word对应其中一个维度。

用这种方法来描述一个word,得到的vector不够informative信息丰富,每个word的vector都不一样,无法从中得到任何信息,以及词和词之间的联系。

Word Class

如何解决上述问题?

建立word class,把有相同性质的word放在同一个 class内,但是这还是不够的,依然缺少一些信息。

Word Embedding

把每个word都映射到一个高维空间,但是远比1-of-encoding的维度要低,一般都是50-100维。

如何做Word Embedding

  • Word Embedding是一个无监督学习的方法,只需要让机器阅读大量的文章,就可以知道每个词汇embedding的feature vector是什么样子。

  • 产生词向量是无监督的,我们需要做的就是训练一个神经网络,找到一个function,输入一个词,输出该词对应的word embedding 的 vector。训练数据是一大堆文字,即,只有input,没有output。

    不能用auto-encoder来解决

How to exploit the context? 如何利用文本呢?

Count based

如果有两个word常常在同一个文章中出现,则说明他们比较接近。

Prediction based

learn一个神经网络,用来预测,给前一个word wi−1w_{i-1}wi1,预测出下一个可能出现的word是谁

输入:前一个word的1-of-N encoding的feature vector

输出:下一个word,是某个词的概率,vector的维度是世界上word的数目。


Prediction-based - Sharing Parameters

前面仅仅通过前一个词来预测下一个词可能太差了,所以可以引申为通过前几个词来预测下一个词。

每个维度连接到的weight必须是一样的,否则,一个词会对应有两个词向量,且减少参数量(1-of-N encoding的vector的维度是10w维,feature vector是50维。如果我们强迫让所有的1-of-N encoding后面接的weight全部一样,就不会随着context的增长而需要更多的参数)。

公式化表示:

如何让wiw_iwiwjw_jwj相等呢?
wiw_iwiwjw_jwj做相同初始化。
如果像下图一样,则第一次更新则会导致wiw_iwiwjw_jwj不再相等。

所以需要这样:wiw_iwiwjw_jwj使得两个weight永远tie在一起。

Prediction-based - Training

Prediction-based - Various Architectures

Word Embedding

同一个动词的三种时态会存在某种关系——三角形

所以,我们可以从word vector中发现词和词之间的关系。

如果把word vector两两相减,把他们映射到一个二维空间中,如果他们落在了同一块区域,说明这两个word之间会存在一个包含另外一个的关系。

Characteristics

Solving analogies

Demo

Multi-lingual Embedding

把不同语言的word vector放在一起。

通过中文和英文的两个corpus单独地去训练一组word vector,可以发现中文和英文的word vector完全没有任何关系,每个维度对应的含义没有任何联系。

因为,训练word vector靠的是上下文之间的关系,所以如果你的corpus里没有中英文混杂的话,那么机器就无法判断中英文词汇之间的关系。

但是如果事先已知一部分中英文的词汇的对应关系,然后再分别得到一组中文vector和英文vector,接下来就可以learn一个模型把事先知道的中英文对应的那些词汇,通过映射到空间中的同一个点(绿色底子汉字或者绿色英文代表已知中英文对应关系的词汇),接下来,如果遇到新的未知的中文或者英文词汇,则可以用同样的映射方法,把他们映射到同一个空间中,可以自动知道这些未知的词会落在同样的位置,达到类似翻译的效果。

Multi-domain Embedding

现已经找到一组vector,知道他们在空间中所映射的位置,在有一个新的image进来的时候,通过把他映射到空间中,可以得到他属于的类别。在做影像分类的时候很难处理新增的类别,一般都只能判断出给定的已知类别,学习出来的模型只能去对那几个类别来分类,如果有一个新的来了,这个模型完全无能为力,无法判断其类别。

但是用这种方法的话,是可以判断未知类别的图像。

机器在阅读大量图片后,机器自动知道了词汇间的关系,然后将新的图片区匹配已知的知识,这样就算遇到没见过的图片,也有可能识别出他的名字。

Document Embedding

把一个document变成一个vector

Semantic Embedding

把一个document变成一个bag of word,用auto-encoder学习出他的semantic embedding。

但是这么做是不够的,用bag of word来描述一个document是不够的,因为词汇的顺序是十分重要的。
下图的两句话的bag of word是完全一样的,但是他们在语义上是完全不一样的,所以用bag of word来描述一个document是非常不够的!

具体方法没有细讲,只给出了一些reference,前三个方法是无监督的,只需要收集一大堆的document,后面的算是有监督的,虽然不需要给出每一个document对应的vector是什么,但是需要对每一个document给出额外label,才可以进行学习。

【李宏毅机器学习】Unsupervised Learning - Word Embedding 无监督学习 - 词嵌入(p22) 学习笔记相关推荐

  1. 李宏毅老师课程:Unsupervised Learning - Word Embedding

    词嵌入:word embedding Introduction Word Embedding Count based Prediction based Sharing Parameters Train ...

  2. 【李宏毅2020 ML/DL】P22 Unsupervised Learning - Word Embedding

    我已经有两年 ML 经历,这系列课主要用来查缺补漏,会记录一些细节的.自己不知道的东西. 已经有人记了笔记(很用心,强烈推荐):https://github.com/Sakura-gh/ML-note ...

  3. 【李宏毅机器学习】Convolutiona Neural Network 卷积神经网络(p17) 学习笔记

    李宏毅机器学习学习笔记汇总 课程链接 文章目录 Why CNN for image? property1:对于整张图来说,一些局部是很小的 property2:相同的部分会出现在不同的图片中 prop ...

  4. Word Embedding News|词嵌入新鲜事:六月刊:GPT-3来了

    这里是 WEN(Word Embedding News)|词嵌入新鲜事. 作为起步,它将基于 Sebastian Ruder NLP News 的每月筛选,聚焦词嵌入领域.对涉及内容在本人阅读后的基础 ...

  5. 【李宏毅机器学习】TransFormer框架基础储备知识(p51) 学习笔记 | 全程手码,放心食用

    全文总结于哔哩大学的视频:李宏毅2020机器学习深度学习(完整版)国语 2020版课后作业范例和作业说明在github上:点击此处 李宏毅上传了2020版本的机器学习视频和吴恩达的CS229机器学习相 ...

  6. 机器学习-21-Unsupervised Learning-05-Word Embedding(无监督学习之词嵌入)

    文章目录 Unsupervised Learning: Word Embedding Introduction 句子的表示 1-of-N Encoding Bag of Words (BOW) Wor ...

  7. 李宏毅深度学习--《Unsupervised Learning:Neighbor Embedding》

    <Unsupervised Learning:Neighbor Embedding> Manifold Learning Locally Linear Embedding (LLE) La ...

  8. 台大李宏毅Machine Learning 2017Fall学习笔记 (16)Unsupervised Learning:Neighbor Embedding

    台大李宏毅Machine Learning 2017Fall学习笔记 (16)Unsupervised Learning:Neighbor Embedding

  9. 机器学习(二)之无监督学习:数据变换、聚类分析

    文章目录 0 本文简介 1 无监督学习概述 2 数据集变换 2.1 预处理和缩放 2.2 程序实现 2.3 降维.特征提取与流形学习 2.3.1 主成分分析 2.3.2 非负矩阵分解 2.3.3 用t ...

最新文章

  1. bat maven 一键打包1.0
  2. 阿里云MaxCompute(大数据)公开数据集---带你玩转人工智能
  3. C++读取mysql中utf8mb4编码表数据乱码问题及UTF8转GBK编码
  4. WebSocket——[Error during WebSocket handshake: Unexpected response code: 403]解决方案
  5. Undefined exploded archive location Tomcat之项目不能发布
  6. asp.net mvc项目实例_降龙-第13章:MVC开发准备
  7. linux应用参数 冒号,Lua-面向对象中函数使用时冒号(:)和点(.)的区别
  8. php mysql上机题_PHP+mysql真题
  9. List 中的元素排序
  10. 冯诺依曼体系结构与计算机基本组成
  11. java汉字的编码_JAVA汉字编码问题
  12. SpringBoot的Upd服务端,客户端案列
  13. 苹果计算机远程桌面连接,远程桌面连接mac,小编教你苹果mac如何远程桌面连接...
  14. linux mtd0信息,linux mtd
  15. 网易web安全:课后问题-CSRF
  16. 工业机器人入门z50的含义_ABB工业机器人期中考试试题(中职)
  17. AlsaLib基本使用(基于1.2.4版本)
  18. 字符串 substring()和 substr()之间的区别
  19. 【论文阅读】多模态模型CoCa
  20. 使用easypoi 导出模板 图片填充

热门文章

  1. 浅谈_依赖注入 asp.net core
  2. Arc076_E Connected?
  3. 硬件——nrf51822第二篇,如何设置keil用来下载程序
  4. Java 中 modifer #39;public#39; is reduntant for interface methods
  5. k-means算法实现python
  6. java byreference_Java中各种引用(Reference)解析
  7. CCF202012-2 期末预测之最优阈值
  8. dev中循环展示图片的样式怎么写_图中的这种样式怎么用HTML写?
  9. 安川e7变频器接线_台达变频器C2000系列在铝箔纸压花机上的应用
  10. java代码创建jar_Java 创建ZIP和JAR文件