首页 AI学术青年与开发者社区

NLP工程师入门实践:基于深度学习的自然语言处理

开课时间:2月开课,每周定时更新
开课时长:三大模块,预计20个课时
NLP领域 基础入门
会员免费
现价:¥599.00
原价:¥699.00

  开通会员,立省599元 立即开通

  当前课程,会员领券立减59元>>

该课程已关闭

一、自然语言处理具体应用领域:

  • (文字或语言)检索
  • 在线广告匹配
  • 自动(辅助)翻译
  • 语音识别
  • 聊天/对话代理
  1. 自动客服
  2. 设备控制
  3. 订购商品

 二、基于深度学习的自然语言处理还可以应用于:

  • 文本分类/情感分析
  • 问答/对话/图像问答/基于图像的对话
  • 机器翻译
  • 图像描述生成

 三、深度学习与人工智能的关系:人工智能是宏观上的概念,从技术上来说,主要是用到了机器学习技术,而机器学习中有一种算法是神经网络算法,神经网络是分层的,当层数大于3层时,我们一般就把这样的网络称为深度网络,而目前的深度学习算法就是经过一定的预处理之后,训练深度网络的算法。目前主要有卷积神经网络与循环神经网络。

四、本课程以应用为主,结合了两种常用的深度网络,且主要是循环神经网络,通过Pytorch(一种实现深度学习算法的框架)来完成某些特定的与自然语言处理相关的内容。

 

[展开全文]

输入x—卷积层conv1—激活层relu(求和)

—池化层maxpool2d(二维)

 

loss函数的作用:描述模型的预测值与真实值之间的差距大小

指导模型在训练过程中朝着收敛的方向前进。

[展开全文]

1 word embeddings 、

通俗的翻译可以认为是单词嵌入,就是把X所属空间的单词映射为到Y空间的多维向量,那么该多维向量相当于嵌入到Y所属空间中,一个萝卜一个坑。

保持相似度的同时又有一定的区分度

2 distributed representation 分布式表达· 

找先验关系

3 无监督学习 

不知道预期学习到的mapping,且不知道学习到的y是什么

训练方法 1) 用输入词做周边词预测中间词

              2)

 

[展开全文]

NLP工程师课程---课时1 NLP发展历史

  • 什么是自然语言:机器能够通过文字和语言理解人类语言
  1. 自然语言处理是计算机科学/人工智能/语言学的交叉领域
  2. 计算机处理或理解自然语言,以便执行有用的任务:问答等。
  • 自然语言应用:语法检查/关键词/同义词;分类任务;机器翻译;对话系统;问答等
  • 人类语言特点:
  1. 人类语言是一个用于传递含义的系统;
  2. 人类语言是离散/符号化信号系统
  3. 人类语言是象征性/分类化信号系统
  4. 机器学习进行词汇编码存在稀疏的问题
  • 大数据:Volume/Velocity/Varirty
  • 深层VS浅层网络
  1. 相同数量的非线性模块,深层接口比浅层结构更加昂贵;
  2. 浅层网络需要更多的隐藏层节点来弥补缺乏表达性。
  • 无监督训练
  1. 大多数可训练的NLP&机器学习方法都需要有标签的训练数据,实际上,现实中大多数据都是没有标签的
  2. 深层网络利用无监督学习通过学习数据的良好表示来利用未标记的数据。
  3. 人类最初学习就是从无标签数据开始。
  • 判别式模型VS生成式模型
  1. 生成式模型:联合分布
  2. 判别式模型:条件分布
  • 深度学习在NLP领域常见任务
  1. 自然语言处理
  2. 词性标注
  3. 分词
  4. 文本分类
  5. 自动文摘
  6. 机器翻译
  7. 问答系统
  8. 图像自动描述生成
  9. 基于文本的检索

 

[展开全文]

NLP发展现状

传统NLP方法面临的调整

大数据和深度学习给NLP带来的变革和机遇

NLP的发展趋势,以及和各行各业的结合应用

 

自然语言处理具体应用领域:

(文字或语言)检索

  • 在线广告匹配
  • 自动(辅助)翻译
  • 语音识别
  • 聊天/对话代理
  1. 自动客服
  2. 设备控制
  3. 订购商品

 基于深度学习的自然语言处理还可以应用于:

文本分类/情感分析

问答/对话/图像问答/基于图像的对话

机器翻译

图像描述生成

 深度学习与人工智能的关系:人工智能是宏观上的概念,从技术上来说,主要是用到了机器学习技术,而机器学习中有一种算法是神经网络算法,神经网络是分层的,当层数大于3层时,我们一般就把这样的网络称为深度网络,而目前的深度学习算法就是经过一定的预处理之后,训练深度网络的算法。目前主要有卷积神经网络与循环神经网络。

 

[展开全文]

单语义文档表达的 Deep Learning Model

  • 文件表达
    • 利用深度学习来生成文档的高维度向量
      • FCN (全连结网络)
      • RNN
      • CNN
    • 得到两个文档的表达后,计算这两个向量的相似度
  • 优点
    • 文本可以映射为一个简结的表达式 (representation)
    • 匹配的计算速度快
    • 可以透过大量无监督的数据来进行预训
  • 缺点
    • 很多匹配问题不具备递移性
    • 只能有效捕捉到与描述对匹配有用的局部化讯息

 

补充说明:Word Hashing
英文的输入层处理方式是通过Word Hashing。举个例子,假设用letter-trigams 来切分单词(3 个字母为一组,#表示开始和结束符),boy 这个单词会被切为#-bo, boy, oy-#,可以用letter- 3-gram 的vector 来表示,因此可以来减少计算上所需要的维度。

 

[展开全文]

文本匹配应用

  • 讯息检索
  • 自动问答
  • 机器翻译
  • 机器对话

文本匹配挑战

  • 词语匹配多元性
    • 荷花, 莲花, 水芙蓉
    • Apple vs Apple
  • 短语匹配结构
    • 机器学习 vs 学习机器
  • 文本匹配层次
    • 词语组成短语
    • 短语组成句子
    • 句子组成段落
    • 段落组成篇章

文本匹配趋势

  • 自动从原始数据抽取特征
  • Deep Learning 结合 Word2Vec 技术来解决词语匹配的多元性问题,以及来满足短语匹配结构和文本匹配的层次性的特征

Deep Learning 文本匹配的分类

  • 单语意文档表达深度学习
    • Deep Semantic Similarity Model
  • 多语意文档表达深度学习
    • MultiGranCNN, uRAN
  • 直接建模匹配深度学习
    • DeepMatch, Match-SRNN

文本匹配问题的定义

  • Training Data
    • 有 S1, S2 两段文本集 (问题 vs 答案)
    • 已知 s1, s2 两段文本的匹配程度 (问题和答案的相关程度)
  • Target
    • 找出 mapping function f 来计算 s1, s2 的匹配度
    • 对于测试资料上输入 s1,它能够预测与每一个 s2 的匹配程度
    • 透过匹配度排序来得到最适合 s1 的 s2  资料

文本匹配问题的评价

  • 真实排序前 k 个文本,匹配文本的数量 Gk
  • 预测排序前 k 个文本, 匹配文本的数量 Yk
  • Precision (P@k)
    • P@k = Yk / k
  • Recall (R@k)
    • R@k = Yk / Gk
  • MAP (平均准确率)
    • 平均准确率(mean Average Precision, mAP)。其规范的定义是,设P(R) 为系统在召回率为R时的准确率
    • MAP = Sum(P@k1, P@k2, ..., P@kr) / r
    • k1, k2, k3... 当匹配文件为 1, 2, 3  时的排序位置
[展开全文]

CNN (Convolutional Neural Network) 基本驵成

LeNet-5 例子:

  • 输入尺寸:32*32
  • 卷积层 (Convolution Layer) : 3 个
  • 降采样层 (Downsampling/Subsampling/Pooling) : 2 个
  • 全连接层 (Fully-connected Layer) : 1 个
  • 输出 (Output Layer: SVM 等): 10 个类别 (数子0-9 机率)

卷积层

  • 原始图片的与特定的Feature Detector(filter)做卷积运算
  • Feature Detector(Filter)会随机产生好几种(ex:6种),Feature Detector的目的就是帮助我们萃取出图片当中的一些特征(ex:形状)

池化层

  • 将图片资料量减少并保留重要资讯的方法,把原本的资料做一个最大化 (Max Pooling) 或是平均化的降维计算
  • 最重要目的是减少参数,防止过度拟合 (overfitting)

全连接层

  • 一般负责维度转换,最后用来做分类或回归

激活函数

  • 将 "激活的神经元的特征" 透过函数把特征保留并映射出来
  • 这是神经网路能解决非线性问题关键
  • 常见激活函数
    • Tanh
    • Sigmoid
    • ReLU
[展开全文]

复杂模型在自然语言方面不能 work 的原因在于数据和计算。GPU 和数据的结合使得深度学习在自然语言处理和计算机视觉中得到很大的发展。

自然语言处理主要是理解给定文本的含义和结构;而文本挖掘是通过模式识别提取文本数据的隐藏信息。

机器翻译发展快且成熟。建议从无监督角度出发做 research。没有标注数据,如何从无监督角度出发,得到一个翻译模型,是非常有意义的。

问答,对话可以做的比较多。现实生活中不仅是基于文本的问答,通过摄像头捕获周围环境做成图像或视频,基于此进行问答,叫做 Visual Question Answering, VQA。

淘宝客服已经有自动对话,是基于模板的。对话非常死板,机器回答没有多样性。

语言不仅仅是信号,而是经过思考的交流。这一过程很像编码-解码。

大数据 Volume, Velocity ( Effective,real-time, dynamic, predictive ), Variety ( Multi-Modal )

机器学习用算法来解析数据,从中学习,然后对真实世界的事件做出决策和预测。

建议不要局限于深度学习,比如说把一个网络怎么优化得更好,更多的是结合机器学习的方法(无监督学习,增强学习)。

从 research 角度, 建议未来几年 focus on 无监督学习或半监督学习。 

[展开全文]

条件概率

假设给定B事件是真的,A在给定B的条件下的条件概率表示:P(A|B),如下图:

联合概率计算:

联合概率二维表格:

 

联合概率,边缘概率,条件概率

https://blog.csdn.net/libing_zeng/article/details/74625849

贝叶斯:

P(A|B) = P(A ∩ B)/P(B) 

P(A|B) = P(B|A)P(A)/P(B) 

贝叶斯关注空间参数细节 ,频率学派并不关心空间参数细节

伯努利分布/二项分布:

符合以下4个特点的就是二项分布:

1. 做某件事的次数是固定的;
2. 每一件事情都有两个可能的结果(成功,或失败)
3. 每一次成功的概率都是相等的
4. 你最感兴趣的是成功x次的概率是多少

joint entropy(交叉熵/相对熵)

mutual information(互信息)

 

 

 

 

 

 

 

 

 

 

[展开全文]

授课教师

新加坡南洋理工大学 博士
微信扫码分享课程