深度学习在自然语言处理中的应用

               

原文:Diving Into Natural Language Processing 
作者:Adit Deshpande 
编译:KK4SBB 
欢迎人工智能领域技术投稿、约稿、给文章纠错,请发送邮件至[email protected]

自然语言处理是研究和实现人与计算机之间用自然语言进行有效通信的各种理论和方法。本文主要介绍深度学习在自然语言处理中的应用。

自然语言处理简介

自然语言处理是研究和实现人与计算机之间用自然语言进行有效通信的各种理论和方法。具体的任务包括:

  • 问答系统(如Siri、Alexa和Cortana的功能)
  • 情感分析(判断某个句子表达的是正面还是负面情绪)
  • 图像-文字映射(看图写话)
  • 机器翻译(语言之间相互翻译)
  • 语音识别
  • 句子成分分析
  • 命名实体识别

传统的NLP方法需要借助大量语言学的领域知识。理解音素和词素等术语是基本功,有专门的语言培训课程。我们先来看看传统的NLP方法是如何理解下面这个词语:

图片描述

假设我们的目标是从该词提取出一些信息(情感偏向、词意等等)。根据语言学知识,该词可以分割为下面三部分: 
图片描述

我们知道前缀”un”表示相反或是反面意思,后缀”ed”表明了词的时态(过去式)。再通过识别词干”interest”的意思,我们就很容易推导出这个单词的含义和情感偏向了。似乎很简单对吧?但是,当真正去梳理英语里的所有前缀和后缀时,你会发现所有前缀和后缀组合很多很多,只有非常资深的语言学家才能理解它们的含义。

深度学习的介入

深度学习本质上还是一种表示学习的方法。例如,CNN模型就是用一系列滤波器的组合来将对象划分到不同类别。因此,作者认为我们也可以借用同样的方法来表示单词。

本文概述

作者按照构建深度神经网络模型的基本顺序来撰写本文,然后结合近期的研究论文来讨论一些实际应用。也许,部分读者在读完全文之后还存在为啥要用RNN模型,或者为啥LSTM网络会有效等等问题。但是,作者的初衷是希望大家对深度学习在自然语言处理领域的应用能有一个感性的认识。

词向量

既然深度学习方法喜欢用数学符号,那我们就把每个单词表示为一个d维的向量。假设 d=6。

图片描述

该用什么数值来表示这个向量呢?我们希望这个向量能够表示词语的含义或者语义。一种方法是创建共现矩阵。假设现在有一句话:

我们希望将句子中的每个单词都表示为一个向量: 
图片描述

共现矩阵的每个元素表示一个词与另一个词在整篇文档中相邻出现的次数。具体来说如下图所示:

我们可以将共现矩阵的每一行当做词向量的初始值: 
图片描述

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值