NLP

自然语言处理的挑战

Nlp基础概论

Posted by Nova on 2019-05-24

自然语言处理是计算机科学的一部分,它并不是简单地研究人类语言,而是融语言学、计算机科学、数学于一体的一门科学。

深度学习在自然语言处理方面取得了重大进展。本文总结下深度学习在自然语言处理方面的最新进展,并讨论它的优势和挑战。

可以把自然语言处理主要分五个任务,及分类,匹配,翻译,结构预测和序贯决策过程。

对于前四个任务,深度学习方法已经超越或者明显超越了传统方法。

端到端的训练和表征学习是深度学习的关键特征,这使深度学习称为自然语言处理的强大工具。

然而深度学习仍存在不足的地方,对于解决多伦对话等复杂的推理和决策问题。另外,如何将符号处理和神经处理相结合、如何处理长尾现象等也是深度学习在自然语言处理方面所要解决的挑战。

自然语言处理的进展

自然语言处理中的大多数问题都可以形式化地归到这五个任务中。在这些任务中,单词,短语,句子,段落甚至文档通常被视为一系列标记(字符串)进行处理,尽管他们的复杂度不尽相同。但在实际上,句子是使用最广泛的处理单元。

深度学习可以提高前四项任务的性能,并成为了解决这些任务的最先进技术.

在所有自然语言处理(NLP)问题中,机器翻译的进步尤其显着。神经网络机器翻译,即基于深度学习的机器翻译,其性能已经显着著优于传统的统计机器翻译。 最先进神经翻译系统采用包含RNN的序列到序列(sequence-to-sequence)学习模型.

snetiment classification CNN SVM
single turn dialogue CNN MLP
translation machine translation NMT,BLEU SMT,BLEU
stuctured dependency parsing acc=91.8 acc=90.7%

以上也是深度学习带给NLP的优势,,

优势

端到端的训练和表征学习的优势正是将深度学习与传统机器学习方法区分开来的主要因素,使深度学习在自然语言处理方面变成了一个强大工具。

深度学习通常可以在应用程序中进行端到端的训练。这是因为模型(深度神经网络)具有强大的表征能力,同时数据中的信息可以在模型中进行有效编码。

挑战

深度学习存在一些比较普遍的挑战,例如缺乏理论基础、模型缺乏可解释性、需要大量的训练数据和巨大的计算资源。 当然在自然语言处理方面也存在其独特的挑战,即难以处理长尾问题,无法直接处理符号,以及无法有效推理和决策。

自然语言中的数据总是服从幂律分布(power law distribution)。其结果是,比如说随着数据量的增加,词汇量也会增加。这意味着无论训练数据有多少,总是存在训练数据无法覆盖的情况。 如何处理长尾问题对深度学习构成重大挑战。 仅仅靠深度学习,长尾问题可能很难解决。

如何组合符号数据和向量数据,以及如何利用这两种数据类型的优势仍然是自然语言处理的一个悬而未决的问题。

总而言之,深度学习在自然语言处理方面仍存在一些开放性挑战。深度学习与其他技术结合 (强化学习,推理,知识),可能会进一步推动该领域前沿的发展。

概念解释

端到端的训练

相对于深度学习,传统机器学习的流程往往由多个独立的模块组成,比如在一个典型的自然语言处理(Natural Language Processing)问题中,包括分词、词性标注、句法分析、语义分析等多个独立步骤,每个步骤是一个独立的任务,其结果的好坏会影响到下一步骤,从而影响整个训练的结果,这是非端到端的。

而深度学习模型在训练过程中,从输入端(输入数据)到输出端会得到一个预测结果,与真实结果相比较会得到一个误差,这个误差会在模型中的每一层传递(反向传播),每一层的表示都会根据这个误差来做调整,直到模型收敛或达到预期的效果才结束,这是端到端的。

两者相比,端到端的学习省去了在每一个独立学习任务执行之前所做的数据标注,为样本做标注的代价是昂贵的、易出错的。

理解为传统机器学习需要对独立的模块详细实现和训练,而端到端省去了中间的步骤,只关心输入和输出端,而其中的特征由自己去学习,去自己提取更有价值的特征来达到想要的输出。

表征学习

传统做法:特征工程到学习分类,由人工设计特征。
而深度学习最重要的作用就是表示学习, 自己学习特征,所谓的端到端学习。

机器之心:表征学习

深度学习与自然语言处理-优势和挑战

自然语言处理的挑战与未来

2018年,NLP研究与应用进展到什么水平了?