读书学习积累待整理产品知识 | 项目管理Chatbot 人机对话系统

学习笔记:《无处不在的自然语言处理》

2018-11-16  本文已影响59人  趙00

这节课是集智学园《迎接AI时代》系列课程的第六讲:《无处不在的自然语言处理》

一、语言的起源与发展

对于语言的起源,有两种观点/学派:

  1. 认为语言产生无先天基础,是后天社会的产物。
  2. 认为语言是先天本能(较为普遍)

“语言是先天本能”学派有以下观点(参考《语言本能》)

  1. 每个人都有先天的语法知识(三方面论证)
    • 语言的普遍性:各种语言都能找到相似的语法结构
    • 输入贫乏论证
    • 生理基础论证
  2. 基本语法为原则
  3. 语言与语言之间细微差别被称为参数,人类学习语言的过程就是在原则上训练出不同的参数。
人类语言和机器语言的对应关系

二、语言模型

语言模型:衡量一个句子是否合理的概率。
具体过程:

  1. 将句子的每个字/词建模为从X1到XL的序列(X1,X2,…,XL);
  2. 计算序列在语言模型下的概率,概率高则可能是合理的句子。

1. 经典语言模型:N-gram语言模型

例如将中文的两个字为一个单位,定义为一个gram,计算n-gram序列的概率P(X1,X2,…,XL)

首先假设这个序列符合马尔科夫假设:


N-gram模型

如图,两个东西的转变过程有一个概率(依赖关系/相关关系)。这种概率依赖关系很普遍:如“一蹴而”的状态后面是“就”的状态的概率很高。


提取n-gram的统计信息

只需要从语料中提取n-gram的统计信息:从能够获得的所有语料(人民日报、书籍、微博……所有渠道可获得的语料信息)中,提取n-gram的统计信息,如统计“一蹴”、“蹴而”、“而就”、“一蹴而”、“蹴而就”、“一蹴而就”出现的次数和概率。

2. N-gram模型局限性

缺少泛化的原因——离散表达/1-hot表达:比如把一万个常用汉字编成字典,每个字用一个一万维向量表示,则每个向量只有一位是1(第序列号的那一位是1),从而相互没有相似性
缺少泛化能力的问题过去一直没有很好的解决方法,直到深度学习的神经网络语言模型出现。

三、语言表达

1. 单词表示word representation

(1) 深度学习的神经网络模型

image.png
由离散型表达(不是0就是1)变为可以连续型实数化的向量表达。如上图三个含C的表达,C是指连续化表达,向量中的每一维可以是(0,1)的实数,而不再是二值向量了——word embedding词嵌入
将embedding的计算从上述复杂模型中简化,提取出较为简单的两个对称的模型。推出一个用于获取词向量的密集向量表示的开源工具包——Word2Vec,采用两个较为特殊的神经网络结构来进行词向量的构建,分别为:CBOW模型(左)和Skip-gram模型(右)
Word2Vec

(2) 词嵌入的作用

  1. 通过向量的值可以计算词语相似度(word similarity calculation)。比如“求单词A的同义词”,就可以通过“求与单词A在cos距离下最相似的向量”来做到。

    计算词语相似度
  2. 获知词汇的语言属性:对词做分类,比如根据形容人/动物/颜色的属性等,通过向量加减可以获得。如下图“中国”减“北京”、“俄罗斯”减“莫斯科”等国家与首都的关系所形成的一系列平行的结构。

    词汇的语言属性
  3. 获知词语之间的关系:比如“水果”涵盖“苹果”等词语间包含与被包含/上下位的关系。

  4. 获知多语言之间的映射:多种语言之间语法、复杂度相似,因而能将相似的部分映射到同一个位置

  5. 多模化的“词语”之间的映射:多种媒介,比如把图片和文本/文本和语音放在一起学,也能学出一个映射。

2. 词组表示Phrase Representations

用相似的方法扩展词组的表示

3. 句子表示Sentence Representations

句子表示目前尚不精确。目前比较经典的有以下两种句子表示的模型:

(1) RNN循环神经网络模型

(2) CNN卷积神经网络模型

四、机器翻译:视作一种句子层面的交流

1. 神经网络机器翻译Neural Machine Translation

2. 编码-解码器框架encoder-decoder framework

(1) 编码器解码器模型介绍

使用encoder-decoder编码器-解码器模型实现端到端/序列到序列的学习。是对输入端的句子进行编码成中间表示(共同理解的东西),然后对之解码得到输出。由此句子中间有个中间表示——语义空间。

encoder-decoder framework

此框架非常火,有以下三个优点:

(2) 编码器解码器工作过程

编码过程 解码过程

(3) 问题和弊端

3. 注意力机制

让机器在解码某个词的同时明白那个词在原句中处于哪个位置,先集中注意力于词而不是直接整句话。赋予每个词一个权重,根据词的权重(词越重要,权重就越高)来解码

图片翻译:如下例根据图片生成图片标题,明暗代表着注意力的不同,比如生成斑马时更集中地注意斑马,斑马位置比较亮;生成草时集中注意草,草地位置比较明亮。

图片翻译

视频摘要生成:将不同帧更集中地生成不同的词。

视频摘要生成

五、语言生成

1.衡量机器是否理解语言:机器不仅要人给输入而有输出,还要能主动生成语言。
2.无限猴子定理:无数只猴子在打字机上打东西,总能有一个猴子打出莎士比亚的作品。

考虑以下问题:

1. 深度学习带来突破

(1) 当前已经可以自动生成的

(2) 当前效果还不好的

2. 语言生成中的问题:

(1) RNN和LSTM模型本身局限性带来的问题(普遍问题):

(2) 生成对话过程中的独特困难(也是RNN问题的结果):

总结回顾:
语言模型、语言表达、机器翻译、语言生成四个方向。四者之间的关系是:语言模型是了解NLP最基本的东西,语言模型中不能解决的问题已经被词嵌入word embedding词嵌入、continuous representation解决了,continuous representation解决之后就有了句子的表达,有了句子表达之后就有了很多可以做的任务如机器翻译等等,这些任务中最难的就是语言生成的任务,只有通过了语言生成的任务,才能认为机器真正理解了自然语言。

附课程PPT:

《无处不在的自然语言处理》
链接:https://pan.baidu.com/s/1gbS6B8hDCo2Og1p2gXGj-w
提取码:ryl3

上一篇 下一篇

猜你喜欢

热点阅读