自然语言处理领域正从统计方法转向神经网络方法。
在自然语言中仍有许多具有挑战性的问题需要解决。然而,深度学习方法在某些特定的语言问题上取得了最先进的结果。
最有趣的不只是深度学习模型在基准问题上的表现;更重要的是,一个单一的模型可以学习词义并执行语言任务,从而无需一系列专门的手工方法。
在这篇文章中,您将发现深度学习方法在7个有趣的自然语言处理任务中取得了一些进展。
通过我的新书《深度学习在自然语言处理中的应用》启动您的项目,其中包括逐步教程和所有示例的Python源代码文件。
让我们开始吧。

深度学习在自然语言处理中的 7 个应用
图片由Tim Gorman拍摄,部分权利保留。
概述
在这篇文章中,我们将探讨以下7个自然语言处理问题。
- 文本分类
- 语言建模
- 语音识别
- 字幕生成
- 机器翻译
- 文档摘要
- 问答
我尽量专注于您可能感兴趣的终端用户问题类型,而不是深度学习在诸如词性标注、短语块分析、命名实体识别等学术或语言学子问题上的出色表现。
每个例子都提供了问题的描述、一个示例以及演示方法和结果的参考文献。大多数参考文献引自Goldberg在2015年为NLP研究人员撰写的优秀深度学习入门指南。
您是否有未列出的深度学习NLP最喜欢的应用?
在下面的评论中告诉我。
需要深度学习处理文本数据的帮助吗?
立即参加我的免费7天电子邮件速成课程(附代码)。
点击注册,同时获得该课程的免费PDF电子书版本。
1. 文本分类
给定一段文本示例,预测预定义的类别标签。
文本分类的目标是给文档的主题或类别进行分类。
——第575页,《统计自然语言处理基础》,1999年。
一个流行的分类例子是情感分析,其中类别标签表示源文本的情感基调,如“积极”或“消极”。
以下是另外3个例子:
- 垃圾邮件过滤,将电子邮件文本分类为垃圾邮件或非垃圾邮件。
- 语言识别,分类源文本的语言。
- 体裁分类,分类虚构故事的体裁。
此外,问题可能被框架为需要为文本分配多个类别,即所谓的多标签分类。例如为源推文预测多个标签。
有关此一般主题的更多信息,请参阅
以下是3篇关于文本分类深度学习论文的例子
- 烂番茄电影评论的情感分析。
- 深度无序组合与句法方法在文本分类中的竞争, 2015.
- 亚马逊产品评论、IMDB电影评论的情感分析以及新闻文章的主题分类。
- 卷积神经网络有效利用词序进行文本分类, 2015.
- 电影评论情感分析,将句子分类为主观或客观,分类问题类型,产品评论情感等等。
- 用于句子分类的卷积神经网络, 2014.
2. 语言模型
语言建模实际上是更有趣的自然语言问题的子任务,特别是那些以某种其他输入为条件的语言模型。
…问题是根据前面的词预测下一个词。这项任务是语音或光学字符识别的基础,也用于拼写校正、手写识别和统计机器翻译。
——第191页,《统计自然语言处理基础》,1999年。
除了语言建模的学术兴趣外,它还是许多深度学习自然语言处理架构的关键组成部分。
语言模型学习词语之间的概率关系,从而可以生成与源文本在统计上一致的新词语序列。
单独而言,语言模型可用于文本或语音生成;例如:
- 生成新的文章标题。
- 生成新的句子、段落或文档。
- 生成句子的建议续写。
更多关于语言模型的信息,请参阅:
- 维基百科上的语言模型
- 循环神经网络的不可思议的有效性, 2015.
- 基于生成模型的文本到语音合成,牛津大学,2017年第10讲
以下是深度学习用于语言建模(仅此一项)的一个例子
- 英语文本、书籍和新闻文章的语言模型。
- 一个神经概率语言模型, 2003
3. 语音识别
语音识别是理解所说内容的问题。
语音识别的任务是将包含口语自然语言语音的声学信号映射到说话者意图的相应词序列。
——第458页,《深度学习》,2016年。
给定作为音频数据的文本语音,模型必须生成人类可读的文本。
由于该过程的自动化性质,该问题也可能被称为自动语音识别(ASR)。
语言模型用于创建以音频数据为条件的文本输出。
一些例子包括:
- 转录演讲。
- 为电影或电视节目制作文本字幕。
- 在驾驶时向收音机发出指令。
更多关于语音识别的信息,请参阅:
以下是深度学习在语音识别方面的3个例子。
- 英语语音转文本。
- 连接主义时间分类:用循环神经网络对未分割序列数据进行标注, 2006.
- 英语语音转文本。
- 深度循环神经网络的语音识别, 2013.
- 英语语音转文本。
- 探索用于语音识别的卷积神经网络结构和优化技术, 2014.
4. 字幕生成
字幕生成是描述图像内容的问题。
给定一张数码图像,例如照片,生成对图像内容的文本描述。
语言模型用于创建以图像为条件的字幕。
一些例子包括:
- 描述场景内容。
- 为照片创建字幕。
- 描述视频。
这不仅是为听力障碍者提供的应用,也是为图像和视频数据生成可搜索的人类可读文本的应用,例如在网络上。
以下是深度学习用于字幕生成的3个例子:
- 为照片生成字幕。
- 展示、关注和讲述:带视觉注意力的神经图像标题生成, 2016.
- 为照片生成字幕。
- 展示与讲述:一个神经图像字幕生成器, 2015.
- 为视频生成字幕。
- 序列到序列——视频到文本, 2015.
5. 机器翻译
机器翻译是将一种语言的源文本转换为另一种语言的问题。
机器翻译,即文本或语音从一种语言到另一种语言的自动翻译,是自然语言处理最重要的应用之一。
——第463页,《统计自然语言处理基础》,1999年。
鉴于使用深度神经网络,该领域被称为神经机器翻译。
在机器翻译任务中,输入已经包含某种语言的符号序列,计算机程序必须将其转换为另一种语言的符号序列。这通常应用于自然语言,例如从英语翻译到法语。深度学习最近开始对这类任务产生重要影响。
——第98页,《深度学习》,2016年。
语言模型用于输出第二语言中的目标文本,以源文本为条件。
一些例子包括:
- 将法文文档翻译成英文。
- 将西班牙语音频翻译成德语文本。
- 将英文文本翻译成意大利语音频。
更多关于神经机器翻译的信息,请参阅
以下是深度学习用于机器翻译的3个例子
- 将文本从英语翻译成法语。
- 使用神经网络进行序列到序列学习, 2014.
- 将文本从英语翻译成法语。
- 通过联合学习对齐和翻译的神经机器翻译, 2014.
- 将文本从英语翻译成法语。
- 利用循环神经网络进行联合语言和翻译建模, 2013.
6. 文档摘要
文档摘要是创建文本文档简短描述的任务。
如上所述,语言模型用于输出以完整文档为条件的摘要。
文档摘要的一些例子包括:
- 为文档创建标题。
- 为文档创建摘要。
更多关于该主题的信息,请参阅
以下是深度学习用于文档摘要的3个例子
- 新闻文章中句子的摘要。
- 用于抽象摘要的神经注意力模型, 2015.
- 新闻文章中句子的摘要。
- 使用序列到序列 RNN 的抽象文本摘要及其他, 2016.
- 新闻文章中句子的摘要。
- 通过提取句子和单词进行神经摘要, 2016.
7. 问答
问答是这样一个问题:给定一个主题,例如一份文本文档,回答关于该主题的特定问题。
……问答系统试图通过返回适当的名词短语(如地点、人物或日期)来回答用户以问题形式提出的查询。例如,问题“谁杀害了肯尼迪总统?”可能被回答为名词短语“奥斯瓦尔德”。
——第377页,《统计自然语言处理基础》,1999年。
一些例子包括:
有关问答的更多信息,请参阅
- 回答关于维基百科文章的问题。
- 回答关于新闻文章的问题。
- 回答关于医疗记录的问题。
以下是深度学习问答的3个例子
- 回答关于新闻文章的问题。
- 教机器阅读和理解, 2015.
- 回答Freebase文章中的一般知识问题。
- 使用多列卷积神经网络在Freebase上进行问答, 2015.
- 回答给定特定文档的事实性问题。
- 深度学习在答案句子选择中的应用, 2015.
进一步阅读
本节提供了更多关于NLP深度学习应用的资源,如果您想深入了解。
- 自然语言处理神经网络模型入门, 2015.
- 自然语言处理(几乎)从零开始, 2011.
- 深度学习应用于自然语言处理,实践概述,牛津大学,2017年
- 深度学习或神经网络成功应用于哪些NLP问题?
- 深度学习能否像在视觉和语音领域那样在自然语言处理领域取得类似的突破?
总结
在这篇文章中,您发现了深度学习应用于自然语言处理任务的7个方面。
您最喜欢的深度学习NLP示例是否遗漏了?
请在评论中告诉我。
你有什么问题吗?
在下面的评论中提出你的问题,我会尽力回答。
嗨,Jason,我很喜欢阅读它,谢谢。你是否计划用Keras为问答模型创建一个编码示例/教程?我需要一个可变问题和答案大小的实现。
我希望能尽快实现一个。
嗨,Jason,
非常感谢您对该领域的精彩介绍和丰富的资源!解释得如此清晰简洁,读起来真是享受,对我的项目帮助很大。
我的项目可能与情感分析最密切相关,但我想深入研究。我相对来说是机器学习的新手,我真的很想彻底理解该主题的精髓。这就是为什么我发现您的网站非常非常好。谢谢!
谢谢。
更广泛地说,情感分析是文本分类,您可以找到许多关于该主题的教程。或许可以从这里开始
https://machinelearning.org.cn/start-here/#nlp
好读!我也要开始一个小型项目……在自然语言处理领域非常独特
谢谢 Emeka。
嗨,Jason,
我知道你已经开始了你的机器学习文本系列。
做得好
是的!谢谢你的支持,Chiedu。
尊敬的先生,感谢您这篇关于NLP任务的精彩且富有知识性的文章
我读了一些关于词性标注的论文,深度学习在其中也表现出色
您能就此也发表一篇博文吗?并且最好能用keras进行一些实现。我会很喜欢它。再次感谢
感谢您的建议。
很棒的帖子。我希望在我的研究生论文工作中利用这项技术,对宣传进行各种分析。您知道有哪些低成本或对教育友好的服务可供我这样的人使用机器学习进行此类研究吗?
感谢这篇精彩的文章。
此致,
Ben
本,你具体指的是什么服务?数据来源?
嘿,Jason – 感谢您的这篇文章和资源列表。我正在寻找使用NLP来审查合同,以确定关键信息领域是否已填写;主名称、地址、签名等。目前正在手动扫描,哎呀。“问答”似乎很接近 – 您对部署工具或技术类型有什么建议吗?谢谢
有意思。听起来工程(检查每个字段)可能比机器学习更好,但我不太了解这个问题。
先生,干得太棒了。如果能用工作实例来解释会更好。
谢谢
我正在努力…
你太棒了!只用了5分钟阅读和理解这篇博文,就对深度学习的不同领域有了概念。现在我真的可以缩小我的项目研究范围了。谢谢你,感谢你的努力。顺便说一句,我上个月买了你的教科书,我很喜欢它。请继续更新。
谢谢 Deepu。
嗨,Jason,
我有一段文本,我想从中得出一些推论。例如
输入
如果位A被设置,位B不能被设置。
如果位A是1,则B不能被写入。
…
输出
要设置B,A必须被设置
您如何分类这个问题?您推荐哪种方法?
谢谢
也许您可以准备数百万个文本形式的输入-输出示例,然后训练一个NLP模型?
也许你可以将文本翻译成二进制格式,然后学习一个简单的逻辑程序?
出色的介绍。我很想知道深度学习如何用于命名实体识别。
也许可以从谷歌学术搜索开始。
嘿,杰森
非常有趣,你能帮我发送文本摘要的Python代码吗?
我在这里有关于该主题的帖子。
https://machinelearning.org.cn/?s=text+summarization&submit=Search
嗨,Jason,
如何在 Python 中将从音频中提取的特征向量作为 RNN 网络的输入?
抱歉,目前我没有这方面的例子。
嗨,Jason,
发现这篇文章很有趣。我有一个想法,从一组评论中总结体育赛事的亮点。以板球为例,给定比赛的全部评论集,我必须挑选出与任何亮点(如4分、6分或 wickets)对应的评论。请帮我回答我该做什么?我可以使用文本分类还是文本摘要?如何在这样的背景下使用这种方法?
这可能是一个文本摘要问题。您可以在这里了解更多关于文本摘要的信息。
https://machinelearning.org.cn/?s=text+summarization&post_type=post&submit=Search
您可以在这里了解更多关于自然语言处理的信息
https://machinelearning.org.cn/start-here/#nlp
您可以使用此通用流程系统地解决您的问题
https://machinelearning.org.cn/start-here/#process
希望这些能作为一个开始有所帮助。
你好 Jason,
从你的博客中学习总是令人鼓舞的。
我正在尝试学习问答。你已经实现了一个吗?
我很想向你学习。
谢谢
还没有,我希望将来能有一个例子。
很棒的文章……感觉很有信心……开始了为期7天的小型课程
“NLP深度学习速成班。”
干得好!
先生您好…您能解释一下文本分类是如何工作的吗…有没有什么算法…?
是的,这里有一个例子
https://machinelearning.org.cn/develop-word-embedding-model-predicting-movie-review-sentiment/
你好,
您是否计划提供用于语音识别的自然语言处理概念和代码?
我确实希望将来能涵盖语音。
谢谢你 Jason,我发现这篇文章对我的研究工作很有帮助
很高兴听到这个消息。
嗨 Jason – 这是一篇很棒的文章,但关于最后一个,问答,我有一个问题,我想我不同意您的描述。
1. 以文本语料库作为输入,使用NLU/TE从段落中回答问题,如果不算错的话,这被称为机器阅读理解或机器阅读或机器理解。
2. 另一方面,人们从文本语料库中提取事实性信息并将其存储在知识图谱式的数据存储中以回答事实性问题,我认为这通常被称为QA系统。
QA是一个总称吗?我错过了什么吗?
谢谢您的留言。
我需要一个这个领域的博士研究想法,但似乎一切都做完了!
也许可以和你的研究导师谈谈。
Jason,非常好的文章,它给了我一个NLP的概览,你能提供上述7个模型的编程代码吗?谢谢
它们在博客上有所介绍,或许可以从这里开始
https://machinelearning.org.cn/start-here/#nlp
您会推荐哪种GPU用于NLP?
我发现了一些公司,例如https://www.exxactcorp.com和https://bizon-tech.com/us/workstations/deeplearning/,它们都在构建深度学习工作站,但我不确定配置。
我建议现在在AWS EC2上运行。
你好
谢谢你的努力
我想引用你在这里发布的信息
我该如何引用它?这里的所有信息都在你的书里吗?
那么我只需引用那本书吗?
您可以引用网站或书籍。我这里有一个例子
https://machinelearning.org.cn/faq/single-faq/can-i-use-your-code-in-my-own-project
您能给我一些使用深度学习进行研究的新想法吗?
这是我在这里回答的一个常见问题
https://machinelearning.org.cn/faq/single-faq/what-research-topic-should-i-work-on
嗨,Jason,
我对使用Word2Vec和深度学习将文本文件转换为统一建模语言(UML)文本,然后将UML文本转换为差分解释器代码中的含义和推理感兴趣。
请问,您能推荐一本书或讲座来帮助我完成我的项目吗?
衷心感谢,并致以最诚挚的问候,
听起来是个很棒的项目。
或许您可以从开发一些词向量开始。
https://machinelearning.org.cn/develop-word-embeddings-python-gensim/
你好 Jason,
我需要从PDF文档中提取模式或一些所需的文本。因此,我猜这个目标涉及语义分析。您在上面的文章中提到了NLP的7个应用。我的目标属于哪一类?您能推荐您的哪本书对我有用吗?
此致,
Amita
这可能是文本提取,如果输入是图像或类似图像,甚至可能是计算机视觉+NLP问题。
先生您好。我目前正在通过提取文本并使用多项式朴素贝叶斯进行文档分类。我发现使用该模型会出现很多误报。
也许您可以使用ROC曲线并选择一个能减少误报的阈值?
保持出色,我将向您道贺!
谢谢。
如何开始课程?链接?是视频讲座吗?
不,这是一门电子邮件课程,或者您可以在这里学习课程
https://machinelearning.org.cn/crash-course-deep-learning-natural-language-processing/