用深度学习解决自然语言处理中的7大问题,文本分类语言建模机器翻译

alan-blog-tsinghua alan-blog-tsinghua     2023-01-21     366

关键词:

摘要: 本文讲的是用深度学习解决自然语言处理中的7大问题,文本分类、语言建模、机器翻译等,自然语言处理领域正在从统计学方法转向神经网络方法。在自然语言中,仍然存在许多具有挑战性的问题。但是,深度学习方法在某些特定的语言问题上取得了state-of-the-art的结果。

技术分享图片

本文讲的是用深度学习解决自然语言处理中的7大问题,文本分类、语言建模、机器翻译等,自然语言处理领域正在从统计学方法转向神经网络方法。在自然语言中,仍然存在许多具有挑战性的问题。但是,深度学习方法在某些特定的语言问题上取得了state-of-the-art的结果。不仅仅是在一些benchmark问题上深度学习模型取得的表现,这是最有趣的;事实上,单个模型可以学习单词的含义和执行语言任务,从而避免需要一套专门的、人工的方法。

这篇文章将介绍深度学习方法正在取得进展的7类有趣的自然语言处理任务。

  • 文本分类
  • 语言建模
  • 语音识别
  • 字幕生成
  • 机器翻译
  • 文档摘要
  • 问题回答

每个任务都提供了对问题的描述,一个例子,以及有关演示方法和结果的论文的引用。大多数参考资料来自Goldberg的A Primer on Neural Network Models for Natural Language Processing(https://arxiv.org/abs/1510.00726)。

1. 文本分类

给定一个文本的例子,预测一个预定义的类标签。

文本分类的目的是对文档的话题或主题进行分类。 ——统计自然语言处理基础(Foundations of Statistical Natural Language Processing,1999)

流行的分类示例是情绪分析,其中类标签表示源文本的情绪基调,例如“积极”或“消极”。

以下是另外3个例子:

  • 垃圾邮件过滤,将电子邮件文本分类为垃圾邮件。
  • 语言识别,对源文本的语言进行分类。
  • 流派分类,对虚构故事的流派进行分类。

此外,这个问题也可能是一个文本被分为多个类的方式,即所谓的多标签分类。例如,预测源推文的多个标签。

更多阅读:

  • 文本分类-学术百科 www.scholarpedia.org/article/Text_categorization
  • 文档分类-维基百科 https://en.wikipedia.org/wiki/Document_classification

下面是有关文本分类的一些深度学习论文:

  • 对烂番茄影评的情感分析

Deep Unordered Composition Rivals Syntactic Methods for Text Classification, 2015. https://cs.umd.edu/~miyyer/pubs/2015_acl_dan.pdf

  • 对amazon产品评论、IMDB电影评论和分类主题新闻文章情绪分析

Effective Use of Word Order for Text Categorization with Convolutional Neural Networks, 2015. https://arxiv.org/abs/1412.1058

  • 对电影评论的情绪分析,将句子归类为主观或客观,对问题类型进行分类,对产品评论的情感进行分类,等等。

Convolutional Neural Networks for Sentence Classification, 2014. https://arxiv.org/abs/1408.5882

2. 语言建模

语言建模实际上是一个更有趣的自然语言问题的子任务,特别是那些在其他输入条件下调节语言模型的问题。

这个问题是根据前面的单词预测下一个单词。该任务是语音识别或光学字符识别(OCR)的基础,也用于拼写校正、手写识别和统计机器翻译。 ——Foundations of Statistical Natural Language Processing (page 191), by Christopher D. Manning & Hinrich Schütze

除了语言建模的学术兴趣,它是许多深度学习自然语言处理架构的关键组成部分。语言模型学习词汇之间的概率关系,生成在统计上与源文本一致的新的词汇序列。

单独来说,语言模型可以用于文本或语音生成;例如:

  • 生成新的文章标题
  • 生成新的句子、段落或文档
  • 生成一个句子的后续句子

有关语言建模的更多内容,参阅:

  • 语言建模-维基百科 https://en.wikipedia.org/wiki/Language_model
  • 循环神经网络的不合理有效性(The Unreasonable Effectiveness of Recurrent Neural Networks)2015
  • 基于生成模型的文本到语音合成 https://github.com/oxford-cs-deepnlp-2017/lectures/blob/master/Lecture 10 - Text to Speech.pdf

下面是一个关于语言建模深度学习例子:

  • 英语文本、书籍和新闻文章的语言模型
  • 一种神经概率语言模型(A Neural Probabilistic Language Model)www.jmlr.org/papers/v3/bengio03a.html

3.语音识别

语音识别是指理解所说的问题。语音识别的任务是将一个包含自然语言话语的声音信号映射到说话者预期的相应序列。 ——深度学习(page 458)

给定话语的音频数据,语音识别模型需要生成人类可读的文本。考虑到这个过程的自动性质,这个问题也可以被称为自动语音识别(ASR)。使用语言模型来创建文本输出,该输出基于音频数据。

一些例子包括:

  • 转录讲话
  • 为电影或电视节目制作文字说明
  • 开车时用语音发出指令

有关语音识别的更多信息,请参阅:

  • 语音识别-维基百科 https://en.wikipedia.org/wiki/Speech_recognition

下面是三个用于语音识别的深度学习方法的例子:

英语语音转文本 Connectionist Temporal Classification: Labelling Unsegmented Sequence Data with Recurrent Neural Networks,2006 www.cs.toronto.edu/~graves/icml_2006.pdf Speech Recognition with Deep Recurrent Neural Networks, 2013. https://arxiv.org/abs/1303.5778 Exploring convolutional neural network structures and optimization techniques for speech recognition, 2014. https://www.microsoft.com/en-us/research/publication/exploring-convolutional-neural-network-structures-and-optimization-techniques-for-speech-recognition/

4. 字幕生成

字幕生成是有关描述图像内容的问题。给定例如照片等数字图像,生成图像内容的文本描述。语言模型用于创建以图像为条件的描述。

一些例子包括:

  • 描述场景内容
  • 创建照片标题
  • 描述视频

这不仅仅是为听力障碍者的应用,而且还可以生成可用于搜索图像和视频的具有可读性的文本,例如在网络上。

以下是3个字幕生成深入学习方法的例子: 生成照片标题 Show, Attend and Tell: Neural Image Caption Generation with Visual Attention, 2016. https://arxiv.org/abs/1502.03044 Show and tell: A neural image caption generator, 2015. https://arxiv.org/abs/1411.4555 生成视频字幕 Sequence to Sequence – Video to Text, 2015. https://arxiv.org/abs/1505.00487

5. 机器翻译

机器翻译是将一种语言的源文本转换为另一种语言的问题。

机器翻译,将文本或语音从一种语言自动翻译成另一种语言,是NLP最重要的应用之一。 ——统计自然语言处理基础,463页,1999。

考虑到神经网络的使用,这一领域也被称为神经机器翻译。

在机器翻译任务中,输入已经由某种语言的符号序列组成,并且计算机程序必须将其转换成其他语言的符号序列。这通常适用于自然语言,例如从英语翻译成法语。深度学习最近开始在这类任务上有重要影响。 ——深度学习,98页,2016

语言模型用于以另一种语言输出目标文本,以源文本为条件。

一些例子包括:

  • 将文本文件从法语翻译成英语
  • 将西班牙语音频转换为德语文本
  • 将英语文本翻译成意大利语音频

有关神经机器翻译的更多信息,参阅: 神经机器翻译-维基百科 https://en.wikipedia.org/wiki/Neural_machine_translation

以下是机器翻译深度学习方法的3个例子:

将英语翻译成法语 Sequence to Sequence Learning with Neural Networks, 2014. https://arxiv.org/abs/1409.3215 Neural Machine Translation by Jointly Learning to Align and Translate, 2014. https://arxiv.org/abs/1409.0473 Joint Language and Translation Modeling with Recurrent Neural Networks, 2013. https://www.microsoft.com/en-us/research/publication/joint-language-and-translation-modeling-with-recurrent-neural-networks/

6. 文档摘要

文档摘要是创建文本文档的简短描述的任务。即,使用语言模型来输出基于完整文档的总结性摘要。

文件摘要的一些例子包括:

  • 创建文档的标题
  • 创建文档的概要

有关该主题的更多信息,请参阅:

  • Automatic summarization-维基百科 https://en.wikipedia.org/wiki/
  • 深度学习是否(成功地)被应用于自动文本摘要?https://www.quora.com/Has-Deep-Learning-been-applied-to-automatic-text-summarization-successfully

以下是关于文档摘要深度学习方法的3个例子:

新闻文章中的句子概要: A Neural Attention Model for Abstractive Summarization, 2015. https://arxiv.org/abs/1509.00685 Abstractive Text Summarization Using Sequence-to-Sequence RNNs and Beyond, 2016. https://arxiv.org/abs/1602.06023 Neural Summarization by Extracting Sentences and Word, 2016. https://arxiv.org/abs/1603.07252

7. 问题回答

问题回答是给出一个主题(例如文本文档)回答有关该主题的具体问题的任务。

一些例子:

  • 回答有关维基百科页面的问题
  • 回答有关新闻文章的问题
  • 回答有关病例的问题

参阅: Question answering - 维基百科 https://en.wikipedia.org/wiki/Question_answering 回答有关新闻文章的问题 Teaching Machines to Read and Comprehend, 2015. papers.nips.cc/paper/5945-teaching-machines-to-read-and-comprehend 回答一般知识问题 Question Answering over Freebase with Multi-Column Convolutional Neural Networks, 2015. www.aclweb.org/anthology/P15-1026 回答基于特定文件的实质性问题 Deep Learning for Answer Sentence Selection, 2015. https://arxiv.org/abs/1412.1632

用深度学习(cnnrnnattention)解决大规模文本分类问题-综述和实践

...https://zhuanlan.zhihu.com/p/25928551 近来在同时做一个应用深度学习解决淘宝商品的类目预测问题的项目,恰好硕士毕业时论文题目便是文本分类问题,趁此机会总结下文本分类领域特别是应用深度学习解决文本分类的相关的思路... 查看详情

sigai深度学习第十五集循环神经网络4

讲授自然语言处理简介、RNN解决NLP问题的一般思路、中文分词、词性标注、命名实体识别、文本分类、机器翻译等具体问题。大纲自然语言处理简介RNN在NLP中的应用简介中文分词词性标注命名实体识别文本分类机器翻译本集内容... 查看详情

pytorch100例|用深度学习处理分类问题实战教程(代码片段)

PyTorch和TensorFlow库是用于深度学习的两个最常用的Python库。PyTorch是Facebook开发的,而TensorFlow是Google的项目。在本文中,你将看到如何使用PyTorch库来解决分类问题。分类问题属于机器学习问题的范畴,其中给定一组特... 查看详情

迁移学习在自然语言处理中的应用

 迁移学习近年来在图形领域中得到了快速的发展,主要在于某些特定的领域不具备足够的数据,不能让深度模型学习的很好,需要从其它领域训练好的模型迁移过来,再使用该模型进行微调,使得该模型能很好地拟合少量数... 查看详情

机器学习的研究内容都有哪些

...。在深度学习的驱动下,人们在计算机视觉、语音处理、自然语言方面相继取得了突破,达到或甚至超过了人类水平。深度学习的成功主要归功于三大因素——大数据、大模型、大计算,因此这三个方向都是当前研究的热点。在... 查看详情

深度学习与中文短文本分析总结与梳理(代码片段)

...语音识别上也有这个趋势了。而中文文本处理,以及中文自然语言处理上,似乎没有太厉害的成果?尤其是中文短文本处理的问题上,尚且没有太成功的应用于分布式条件下的深度处理模型?(大公司或许有,但没有开源)本文... 查看详情

唐宇迪-人工智能学习路线(下篇)

...各个领域都能吃得开。其实最核心的还是在计算机视觉和自然语言处理中,因为神经网络算法更适用于图像和文本数据。主要需要掌握的就是算法和框架了,算法就是CNN,RNN这些经典网络模型,框架就是实战的工具了例如tenorflow,P... 查看详情

多标签文本分类deeplearningforextrememulti-labeltextclassification

...XMTC在机器学习研究较多,本文是第一次提出将XMTC与深度学习(cnn)结合的模型的论文。[1]介绍  极端多标签文本分类对机器学习是个挑战。  传统的二元分类器将类标签视为独立的目标变量,这对于多标签... 查看详情

《自然语言处理实战入门》深度学习----预训练模型的使用(albert进行多标签文本分类与微调finetune)(代码片段)

文章大纲环境构建关键点数据预处理模型微调、评估、预测keras模型结构训练微调模型保存与再次载入模型预测参考文献如何使用预训练模型进行文本分类以及下游任务的微调呢?其实挺简单的,CPU+大内存(16G及以上)也能跑,... 查看详情

解决文本分类的监督学习中的同义词

】解决文本分类的监督学习中的同义词【英文标题】:AddressingsynonymsinSupervisedLearningforTextClassification【发布时间】:2017-02-1600:30:41【问题描述】:我正在使用scikit-learn监督学习方法进行文本分类。我有一个包含输入文本字段及其... 查看详情

《基于深度学习的自然语言处理》中文pdf+英文pdf+学习分析

我们做自然语言处理的,主要是进行文本分析,作为人工智能的领域之一,也一定会应用深度神经网络进行处理。近年来快速发展的深度学习技术为解决自然语言处理问题的解决提供了一种可能的思路,已成为有效推动自然语言... 查看详情

文本分类解决方法综述

一、传统文本分类方法  文本分类问题算是自然语言处理领域中一个非常经典的问题了,相关研究最早可以追溯到上世纪50年代,当时是通过专家规则(Pattern)进行分类,甚至在80年代初一度发展到利用知识工程建立专家系统... 查看详情

《自然语言处理实战入门》----nlp方向:面试笔试题集

文章大纲关系抽取知识图谱文本分类参考文献本文按照自然语言处理的基本逻辑分类组织一批笔试面试常见问题,并给出最本质的核心回答。希望你能用keyword抓住面试官的心关系抽取谷歌、百度等搜索引擎是如何实现关联搜索... 查看详情

深度学习:对实际问题解决者的简要指导

...xff0c;像语音识别,图形识别,3-D物体识别,和自然语言处理。 但是,为了构建一个有用的模型,深度学习需要相当大的计算能力。时至今日,计算的成本和可用性仍然限制着它的实际应用。同时,研... 查看详情

中文文本分类大概的步骤

...类文本分类方法:传统机器学习方法(贝叶斯,svm等),深度学习方法(fastText,TextCNN等)文本分类的处理大致分为文本预处理、文本特征提取、分类模型构建等。和英文文本处理分类相比,中文文本的预处理是关键技术。 ... 查看详情

《自然语言处理实战入门》深度学习----预训练模型的使用(albert进行多标签文本分类与cpu下的微调finetune)(代码片段)

文章大纲环境构建关键点数据预处理模型微调、评估、预测keras模型结构训练微调模型保存与再次载入模型预测参考文献如何使用预训练模型进行文本分类以及下游任务的微调呢?其实挺简单的,CPU+大内存(16G及以上)也能跑,... 查看详情

【自然语言处理】cnn在nlp文本分类任务上的经典之作——textcnn

...的目的在于,希望将CNN在图像领域中所取得的成就复制于自然语言处理NLP任务中。TextCNN是一种采用卷积神经网络(CNN)提取文本n-gram特征,最大池化,全连接然后进行分类的一种新型模型。它在当时对文本分类SVM老大的位置提... 查看详情

问题集录--tensorflow深度学习

...数都是最多的,而且在图形分类、音频处理、推荐系统和自然语言处理等场景下都有丰富的应用。 查看详情