当前课程知识点:计算思维与人工智能基础 >  第三部分:python基础 >  第十一章:人工智能在自然语言中的应用 >  11.3词向量表示

返回《计算思维与人工智能基础》慕课在线视频课程列表

11.3词向量表示在线视频

下一节:11.4自然语言处理的挑战及应用

返回《计算思维与人工智能基础》慕课在线视频列表

11.3词向量表示课程教案、知识点、字幕

我们来讨论一下词向量表示

词向量表示是将自然语言表示的单词

转换为计算机能够理解的向量或者矩阵形式

主要包括One-hot

N-gram

共现矩阵以及

Word Embedding 的方法

我们依次来看一下这几种方法

One-hot的方法是将词汇去重取出

按照一定的顺序排列为词汇表

则每个单词表示为一个长度为N的向量

这里N为词汇表的长度

该向量中除了这个词所在的分量为1

其余均为0

来看一个例子

比如我们有这样的一个语料库

I gets up early every day

首先

我们按照字母序

把语料库当中的单词排序

排序的结果是546231

词汇表当中一共有六个单词

因此它会生成一个长度为6的向量

而对于第一个单词I

它出现在第五个位置

所以他会生成向量000010

而gets会生成000100这样的向量

因为他在词汇表当中的顺序是4

显然我们可以看到One-hot存在以下的问题

第一他无法表示语意相近

第二同一单词的不同时态没有区别开

第三One-hot无法表示单词间的位置关系

第四存在维度灾难它的长度很大

N-gram方法可以克服One-hot当中无法表示语意相近的问题

它可以表示单词位置关系所反映的语义关联

我们认为太靠前的词对于词的预测影响不是很大

一个词出现的概率往往仅依赖于该词前面的n-1个单词

这就是N-gram的基本思路

在这里通常m取3

共现矩阵的方法是基于某个词的意思

与跟它相邻的单词紧密相关

这样的思路设计的

首先设定一个窗口对当前单词找其共现单词

再利用共现关系生成共现矩阵

显然这两种方法也同样存在维度灾难的问题

而Word embedding 的方法

是将自然语言表示的单词转换为计算机能够理解的向量

或矩阵形式

通过深度学习的方法

将单词表征为K维的实数值向量

也就是说

把对文本内容分析简化为对一个K维向量空间中的

向量运算的问题

向量空间上的相似度

可以用来表示文本语义的相似度

假设语料库当中有这样的两个句子

S1为 A cat is an animal

S2为A dog is an animal

如果在这个语料库当中

S1一共出现了三千次

而S2仅出现了一次

如果我们使用 N-gram的模型来预测

A什么is an animal

那么这里预测为cat的概率要远远的大于

预测为dog的概率

而实际上我们知道

这两个句子的概率应该是很相近的

如果采用Word embedding 的方法

它可以计算得到两个句子相似的概率

也就是说

相似的词对应的词向量也是相近的

词向量中一个小的变化应该对概率的影响也很小

Word embedding 是目前的主流方法

其中最常用的方法为Word2vec

Word2vec有两种训练方式

一种是CBOW

它利用上下文来预测单词

也就是说在训练时

我们把句子当中的某一个单词去掉

然后利用它的上下文来学习预测该单词

第二种训练方式为Skip-gram

他和CBOW的思路相反

它是通过单词来预测其上下文

计算思维与人工智能基础课程列表:

第一部分:计算思维

-1.计算思维的提出

-2.计算思维的要素与应用

-3.培养计算思维

-4.智能时代的教师与教学

-章测试

第二部分:人工智能

-1.人工智能的发展

-2.人工智能的实现与机器学习

-3.人工智能产业

-章测试

第三部分:python基础

-第一章:python简介

--1.1python的介绍

--1.2.anaconda的安装

--章测试

-第二章:编码规范

--2.1 python编码规范

--2.2常量和变量

--章测试

-第三章:数据类型

--3.1数据类型概述

--3. 2.数据转换

--3.3数据类型区别

--章测试

-第四章:基本运算

--4.1.基本运算符

--4.2比较运算符

--4.3逻辑运算符

--4.4位运算符

--4.5成员运算符与身份运算符

--4.6运算符的优先级

--章测试

-第五章:程序控制结构

--5.1顺序结构

--5.2条件结构

--5.3循环结构

--5.4跳转结构

--5.5异常处理

--章测试

-第六章:函数、模块与面向对象

--6.1函数的定义与调用

--6.2面向对象

--6.3魔法函数的应用

--6.4模块与包

--章测试

-第七章:文件操作

--7.1文件的打开与读取

--7.2文件的写入

--7.3CSV模块的应用

--章测试

-第八章:python生态库

--8.1第三方库的安装

--8.2标准库-Os库与Sys库

--8.3.标准库-Time库

--8.4标准库-Random库

--8.5标准库-Turtle库

--8.6第三方库-词云库

--8.7第三方库-pyinstaller库

--8.8第三方库-numpy库(上)

--8.9第三方库-numpy库(下)

--8.10第三方库-pandas库

--8.11第三方库-matplotlib库

--章测试

-第九章:TensorFlow基础

--9.1TensorFlow简介

--9.2TensorFlow 2.0的改进

--9.3TensorFlow的数据应用

--9.4 TensorFlow的设备应用

--9.5.TensorFlow中常用操作

--章测试

-第十章:实例分析与实践

--10.1认识回归问题

--10.2房价的预测

--10.3手写数字识别

--10.4卷积神经网络的介绍

--10.5全连接网络的搭建

--10.6卷积神经网络的实现服饰图片的分类

--10.7LeNet的介绍

--章测试

-第十一章:人工智能在自然语言中的应用

--11.1自然语言处理

--11.2命名实体识别技术

--11.3词向量表示

--11.4自然语言处理的挑战及应用

--章测试

11.3词向量表示笔记与讨论

也许你还感兴趣的课程:

© 柠檬大学-慕课导航 课程版权归原始院校所有,
本网站仅通过互联网进行慕课课程索引,不提供在线课程学习和视频,请同学们点击报名到课程提供网站进行学习。