本次报告内容主要围绕自然语言处理中的多任务学习展开,共分为四个部分:
首先,简要介绍实验室情况。研究团队主要聚焦于深度学习与自然语言处理领域,涵盖语言表示学习、词法/句法分析、文本推理、问答系统等方面。团队还开发了开源自然语言处理系统FudanNLP,并计划在12月中旬推出全新的自然语言处理系统:fastNLP。
自然语言处理类似于人类语言处理,但区别在于它是通过程序实现的。自然语言处理包括语音识别、自然语言理解、自然语言生成、人机交互及其中间阶段。其基础技术、核心技术及应用场景如下:
自然语言处理最初依赖规则驱动,逐渐过渡到数据驱动。
目前大多数自然语言处理任务使用的神经网络较浅,原因是缺乏大规模标注数据或标注成本过高。常用的解决方法包括无监督预训练、多任务学习和迁移学习。本报告重点介绍多任务学习。
无监督预训练在自然语言处理中十分重要。早期使用词向量等词级模型,后来发展为句子级模型,如ELMo、OpenAI GPT、BERT等。这些模型在多个任务中取得了较好的效果。
这些模型证明表示学习在自然语言处理中依然重要。表示学习是指将语义信息表示为稠密、低维的实值向量。一个好的表示应具备强大的表示能力、简化后续学习任务、具有普适性等特点。
多任务学习可以将多个任务合并为一个模型处理。例如,同时训练两个任务模型,分别处理任务1和任务2。多任务学习可以共享表示,有助于提高模型性能。
多任务学习可以简化自然语言处理流程。多任务学习包括多领域任务、多层级任务、多语言任务和多模态任务等。深度学习与多任务学习有多种实现方式,如硬共享、软共享、共享-公共形式等。
为了避免负迁移,可以引入对抗学习,让共享特征更加泛化。未来的研究方向包括函数共享、多层级共享、主辅任务形式等。
机器阅读理解是在阅读文档后回答问题。目前主流框架是双向注意力机制,适用于多种任务。例如,“十项全能”系统将多个自然语言处理任务转化为阅读理解任务。另一个大型框架GLUE也将多个任务转化为统一形式。
本报告介绍了自然语言处理简介、基于深度学习的自然语言处理、深度学习在自然语言处理中的挑战、多任务学习和新的多任务基准平台。多任务学习相比迁移学习更容易实施,效果也更好。
此外,今年12月中旬将发布一个模块化的开源自然语言处理工具fastNLP。该工具包括Spacy高级接口、AllenNLP自定义模块、AutoML自动调参。NLP工具分为编码器、交互器、聚合器和解码器四个组件,适用于文本分类和序列标注等任务。