导读:PaddleNLP是飞桨开源的产业级NLP工具与预训练模型集,提供了依托于百度实际产品打磨,通过百亿级大数据训练的预训练模型,能够极大地方便 NLP 研究者和工程师快速应用。使用者可以用PaddleNLP 快速实现文本分类、词法分析、相似度计算、语言模型、文本生成、阅读理解和问答、对话系统以及语义表示8大类任务,并且可以直接使用百度开源工业级预训练模型进行快速应用。用户在极大地减少研究和开发成本的同时,也可以获得更好的基于产业实践的应用效果。

一张图了解PaddleNLP!

传送门:

https://github.com/PaddlePaddle/models/tree/v1.5.1/PaddleNLP

PaddleNLP全解读

1. 语义表示


1.1.   ERNIE 2.0

ERNIE 2.0是基于持续学习的语义理解预训练框架,使用多任务学习增量式构建预训练任务。ERNIE 2.0中,新构建的预训练任务类型可以无缝的加入训练框架,持续的进行语义理解学习。通过新增的实体预测、句子因果关系判断、文章句子结构重建等语义任务,ERNIE 2.0语义理解预训练模型从训练数据中获取了词法、句法、语义等多个维度的自然语言信息,极大地增强了通用语义表示能力。

ERNIE2.0模型和现有SOTA 预训练模型在9 个中文数据集、以及英文数据集合 GLUE上进行效果比较。结果表明:ERNIE 2.0模型在英语任务上几乎全面优于BERT和XLNet,在 7 个 GLUE 任务上取得了最好的结果;中文任务上,ERNIE 2.0模型在所有 9 个中文 NLP 任务上全面优于BERT。

传送门:https://github.com/PaddlePaddle/ERNIE

1.2.   对比ERNIE 2.0 和ERNIE 1.0

1.3.   BERT on PaddlePaddle


BERT 是一个迁移能力很强的通用语义表示模型, 以Transformer 为网络基本组件,以双向 Masked Language Model和 Next Sentence Prediction 为训练目标,通过预训练得到通用语义表示,再结合简单的输出层,应用到下游的 NLP 任务,在多个任务上取得了 SOTA 的结果。本项目是 BERT 在 Paddle Fluid 上的开源实现。

1)完整支持 BERT 模型训练到部署, 包括:支持 BERT GPU 单机、分布式预训练;支持 BERT GPU 多卡 Fine-tuning;提供 BERT 预测接口 demo, 方便多硬件设备生产环境的部署。

2)支持 FP16/FP32 混合精度训练和Fine-tuning,节省显存开销、加速训练过程;

3)提供转换成 Paddle Fluid 参数格式的 BERT 开源预训练模型 供下载,以进行下游任务的 Fine-tuning, 包括如下模型:

4)支持 BERT TensorFlow 模型到 Paddle Fluid 参数的转换。

传送门:

https://github.com/PaddlePaddle/models/tree/develop/PaddleNLP/language_representations_kit/BERT

1.4.   ELMo on PaddlePaddle

ELMo(Embeddings from Language Models) 是重要的通用语义表示模型之一,以双向 LSTM 为网路基本组件,以 Language Model 为训练目标,通过预训练得到通用的语义表示,将通用的语义表示作为 Feature 迁移到下游 NLP 任务中,会显著提升下游任务的模型性能。本项目是 ELMo 在 Paddle Fluid 上的开源实现, 基于百科类数据训练并发布了预训练模型。

1) 基于百科类数据训练的 ELMo 中文预训练模型;

2) 完整支持 ELMo 模型训练及表示迁移, 包括:支持 ELMo 多卡训练,训练速度比主流实现快约1倍;以 LAC 任务为示例提供ELMo 语义表示迁移到下游 NLP 任务的示例。

3)在阅读理解任务和 LAC 任务上评估了 ELMo 预训练模型带给下游任务的性能提升:

LAC 加入 ELMo 后 F1 可以提升 1.1%

阅读理解任务加入 ELMo 后 Rouge-L 提升 1%

传送门:

https://github.com/PaddlePaddle/models/tree/develop/PaddleNLP/language_representations_kit/ELMo

2. 对话系统


2.1.   知识驱动对话

人机对话是人工智能(AI)中最重要的话题之一,近年来受到学术界和工业界的广泛关注。目前,对话系统仍然处于起步阶段,通常是被动地进行交谈,并且更多地将他们的言论作为回应而不是他们自己的倡议,这与人与人的谈话不同。因此,我们在一个名为知识驱动对话的新对话任务上设置了这个竞赛,其中机器基于构建的知识图与人交谈。它旨在测试机器进行类似人类对话的能力。

我们提供基于检索和基于生成的基线系统。这两个系统是由飞桨和Pytorch实现的。两个系统的性能如下表所示。

传送门:

https://github.com/PaddlePaddle/models/tree/develop/PaddleNLP/Research/ACL2019-DuConv

2.2.   对话模型工具箱 AutoDialogue Evaluation

对话自动评估模块主要用于评估开放领域对话系统的回复质量,能够帮助企业或个人快速评估对话系统的回复质量,减少人工评估成本。

1)在无标注数据的情况下,利用负采样训练匹配模型作为评估工具,实现对多个对话系统回复质量排序;

2)利用少量标注数据(特定对话系统或场景的人工打分),在匹配模型基础上进行微调,可以显著提高该对话系统或场景的评估效果。

以四个不同的对话系统(seq2seq_naive/seq2seq_att/keywords/human)为例,使用对话自动评估工具进行自动评估。

/

seq2seq_naive

seq2seq_att

keywords

human

cor

0.474

0.477

0.443

0.378

对话通用理解模型DGU


对话相关的任务中,Dialogue System常常需要根据场景的变化去解决多种多样的任务。任务的多样性(意图识别、槽位解析、DA识别、DST等等),以及领域训练数据的稀少,给Dialogue System的研究和应用带来了巨大的困难和挑战,要使得dialoguesystem得到更好的发展,需要开发一个通用的对话理解模型。基于BERT的对话通用理解模块(DGU: Dialogue General Understanding),通过实验表明,使用base-model(BERT)并结合常见的学习范式,在几乎全部对话理解任务上取得比肩甚至超越各个领域业内最好的模型的效果,展现了学习一个通用对话理解模型的巨大潜力。

DGU针对数据集开发了相关的模型训练过程,支持分类,多标签分类,序列标注等任务,用户可针对自己的数据集,进行相关的模型定制。

基于对话相关的业内公开数据集进行评测,效果如下表所示。

传送门:

https://github.com/PaddlePaddle/models/tree/v1.5.1/PaddleNLP/dialogue_model_toolkit

3. 阅读理解和问答

3.1.   D-NET

百度在MRQA 2019阅读理解国际评测中提出了一个通用的“预训练-微调”模型训练框架D(ecathlon)-NET。在全部12个测试数据集中的10个上均排名第一。

目前,“预训练-微调”在自然语言处理领域已成为一种新的、被广泛采用的学习范式,即首先在大规模无标签语料上以语言模型为目标进行预训练,然后再针对特定任务,如阅读理解进行针对性的微调。百度提出的D-NET框架主要包括以下优势:

  1. 在预训练阶段,采用了基于飞桨深度学习框架中的多种预训练模型,融合了多种预训练模型的优势,获得了比官方基线更好的效果。

  2. 在微调之前,D-NET引入了针对更多领域数据的进一步预训练,以提升模型在特定领域上的适应性,弥补预训练模型语料分布的局限性。

  3. 在微调过程中,D-NET采用了基于飞桨多任务学习框架进行多任务学习。在多任务学习的过程中利用了其它有标注的自然语言处理数据集(如自然语言推断、段落排序等)学习更好的语言表示,从而提升模型的泛化能力。“预训练-微调”学习范式在微调阶段的一个问题是容易发生灾难性遗忘。因此,D-NET在微调过程中引入了防止灾难性遗忘的机制。

  4. 在微调结束后,D-NET使用飞桨知识蒸馏框架提升单模型效果,以满足本次评测对模型效率的要求。

本模型预计于Paddle Fluid v1.6版本开源,敬请期待

3.2.   KT-NET

百度研发的基于知识增强的阅读理解模型,发表于ACL2019

指标性能复现

传送门:

https://github.com/PaddlePaddle/models/tree/develop/PaddleNLP/Research/ACL2019-KTNET

3.3.   DuReader

在机器阅读理解(MRC)任务中,我们会给定一个问题(Q)以及一个或多个段落(P)/文档(D),然后利用机器在给定的段落中寻找正确答案(A),即Q + P or D => A. 机器阅读理解(MRC)是自然语言处理(NLP)中的关键任务之一,需要机器对语言有深刻的理解才能找到正确的答案。

DuReader是一个大规模、面向真实应用、由人类生成的中文阅读理解数据集。聚焦于真实世界中的不限定领域的问答任务。相较于其他阅读理解数据集,DuReader的优势包括:

•       问题来自于真实的搜索日志,

•       文章内容来自于真实网页

•       答案由人类生成

•       面向真实应用场景

•       标注更加丰富细致

升级后的基线系统性能指标:

传送门:

https://github.com/PaddlePaddle/models/tree/develop/PaddleNLP/Research/ACL2018-DuReader

4. 文本生成

机器翻译(Machine Translation, MT)是利用计算机将一种自然语言(源语言)转换为另一种自然语言(目标语言)的过程,输入为源语言句子,输出为相应的目标语言的句子。

4.1.Transformer on PaddlePaddle


本项目是机器翻译领域主流模型Transformer 的飞桨实现, 包含模型训练,预测以及使用自定义数据等内容。用户可以基于发布的内容搭建自己的翻译模型。

测试效果

传送门:

https://github.com/PaddlePaddle/models/tree/v1.5.1/PaddleNLP/neural_machine_translation/transformer

4.2.RNN Search on PaddlePaddle

RNN Search模型使用了经典的编码器-解码器(Encoder-Decoder)的框架结构来解决Seq2Seq类问题。这种方法先用编码器将源序列编码成vector,再用解码器将该vector解码为目标序列。这其实模拟了人类在进行翻译类任务时的行为:先解析源语言,理解其含义,再根据该含义来写出目标语言的语句。编码器和解码器往往都使用RNN来实现。

本模型中,在编码器方面,我们采用了基于LSTM的多层的encoder;在解码器方面,我们使用了带注意力(Attention)机制的RNN decoder,并同时提供了一个不带注意力机制的解码器实现作为对比;而在预测方面我们使用柱搜索(beam search)算法来生成翻译的目标语句。

单个模型 beam_size = 10时的效果:

no  attention

with attention
tst2012 BLEU

11.58

22.21

tst2013 BLEU

12.20

25.30

5. 词法分析

Lexical Analysis of Chinese,简称 LAC,是一个联合的词法分析模型,能整体性地完成中文分词、词性标注、专名识别任务。我们在自建的数据集上对分词、词性标注、专名识别进行整体的评估效果,具体数值见下表;此外,我们在百度开放的ERNIE模型上 finetune,并对比基线模型、BERT finetuned 和 ERNIE finetuned 的效果,可以看出会有显著的提升。

传送门:

https://github.com/PaddlePaddle/models/tree/v1.5.1/PaddleNLP/lexical_analysis

6. 文本分类

情感倾向分析(Sentiment Classification,简称Senta)针对带有主观描述的中文文本,可自动判断该文本的情感极性类别并给出相应的置信度。情感类型分为积极、消极。情感倾向分析能够帮助企业理解用户消费习惯、分析热点话题和危机舆情监控,为企业提供有利的决策支持。

情感是人类的一种高级智能行为,为了识别文本的情感倾向,需要深入的语义建模。另外,不同领域(如餐饮、体育)在情感的表达各不相同,因而需要有大规模覆盖各个领域的数据进行模型训练。为此,我们通过基于深度学习的语义模型和大规模数据挖掘解决上述两个问题。效果上,我们基于开源情感倾向分类数据集ChnSentiCorp进行评测;此外,我们还开源了百度基于海量数据训练好的模型,该模型在ChnSentiCorp数据集上fine-tune之后,可以得到更好的效果。具体数据如下所示:

传送门:

https://github.com/PaddlePaddle/models/tree/v1.5.1/PaddleNLP/sentiment_classification

2、对话情绪识别

对话情绪识别(Emotion Detection,简称EmoTect),专注于识别智能对话场景中用户的情绪,针对智能对话场景中的用户文本,自动判断该文本的情绪类别并给出相应的置信度,情绪类型分为积极、消极、中性。

对话情绪识别适用于聊天、客服等多个场景,能够帮助企业更好地把握对话质量、改善产品的用户交互体验,也能分析客服服务质量、降低人工质检成本。

效果上,我们基于百度自建测试集(包含闲聊、客服)和nlpcc2014微博情绪数据集,进行评测,效果如下表所示,此外我们还开源了百度基于海量数据训练好的模型,该模型在聊天对话语料上fine-tune之后,可以得到更好的效果。

传送门:

https://github.com/PaddlePaddle/models/tree/v1.5.1/PaddleNLP/emotion_detection

7. 相似度计算

短文本语义匹配(SimilarityNet,SimNet)是一个计算短文本相似度的框架,可以根据用户输入的两个文本,计算出相似度得分。SimNet框架在百度各产品上广泛应用,主要包括BOW、CNN、RNN、MMDNN等核心网络结构形式,提供语义相似度计算训练和预测框架,适用于信息检索、新闻推荐、智能客服等多个应用场景,帮助企业解决语义匹配问题。可通过AI开放平台-短文本相似度线上体验。

基于百度海量搜索数据,我们训练了一个SimNet-BOW-Pairwise语义匹配模型,在一些真实的FAQ问答场景中,该模型效果比基于字面的相似度方法AUC提升5%以上,我们基于百度自建测试集(包含聊天、客服等数据集)和语义匹配数据集(LCQMC)进行评测,效果如下表所示。LCQMC数据集以Accuracy为评测指标,而pairwise模型的输出为相似度,因此我们采用0.958作为分类阈值,相比于基线模型中网络结构同等复杂的CBOW模型(准确率为0.737),我们模型的准确率为0.7532。

传送门:

https://github.com/PaddlePaddle/models/tree/v1.5.1/PaddleNLP/similarity_net

8. 语言模型

基于lstm的语言的模型的实现,给定一个输入词序列(中文分词、英文tokenize),计算其ppl(语言模型困惑度,用户表示句子的流利程度),基于循环神经网络语言模型的介绍可以参阅论文。相对于传统的方法,基于循环神经网络的方法能够更好的解决稀疏词的问题。

在small meidum large三个不同配置情况的ppl对比:

https://github.com/PaddlePaddle/models/tree/v1.5.1/PaddleNLP/language_model

历史PaddleNLP文章传送门


  • 盘点 | 解析PaddlePaddle官方九大NLP模型

  • 让聊天机器人完美回复|基于PaddlePaddle的语义匹配模型DAM

  • 基于PaddlePaddle的词向量实战 | 深度学习基础任务教程系列(二)

  • 基于PaddlePaddle的情感分析实战 | 深度学习基础任务教程

  • 基于PaddlePaddle的机器翻译实战 | 深度学习基础任务教程

  • 飞桨带你了解:基于百科类数据训练的 ELMo 中文预训练模型

  • 基于PaddlePaddle的语义角色标注

  • 七夕礼物没送对?飞桨PaddlePaddle帮你读懂女朋友的小心思

  • 飞桨强势助攻,百度夺冠MRQA2019,斩获十项第一

  • 信息检索&FAQ硬核技术!飞桨开源百度自研SimNet模型

  • 走进机器阅读理解的世界,飞桨开源升级版 BiDAF模型解读

想与更多的深度学习开发者交流,请加入飞桨官方QQ群:796771754。

如果您想详细了解更多相关内容,请参阅以下文档。

官网地址:https://www.paddlepaddle.org.cn

项目地址:

https://github.com/PaddlePaddle/models/tree/v1.5.1/PaddleNLP

?

现在,在「知乎」也能找到我们了

进入知乎首页搜索「PaperWeekly」

点击「关注」订阅我们的专栏吧

关于PaperWeekly

PaperWeekly 是一个推荐、解读、讨论、报道人工智能前沿论文成果的学术平台。如果你研究或从事 AI 领域,欢迎在公众号后台点击「交流群」,小助手将把你带入 PaperWeekly 的交流群里。

强力推荐!飞桨产业级PaddleNLP最新全景图发布相关推荐

  1. 百度飞桨全流程工具最新发布!零门槛 AI 开发平台全面升级

    从 1936 年 5 月,艾伦·图灵在<论数字计算在决断难题中的应用>里提出了"图灵机"模型设想 ,到 1997 年的 5 月,"深蓝"国际象棋超级 ...

  2. 凝聚406万开发者 飞桨十大发布提速产业智能化

    12月12日,由深度学习技术及应用国家工程实验室主办的WAVE SUMMIT+2021深度学习开发者峰会在上海召开.百度首席技术官.深度学习技术及应用国家工程实验室主任王海峰公布飞桨最新成绩单:凝聚4 ...

  3. 百度飞桨公布最新成果:凝聚535万开发者,服务20万家企事业单位

    11月30日,由深度学习技术及应用国家工程研究中心主办的WAVE SUMMIT+2022深度学习开发者峰会如期而至.鹏城实验室主任.中国工程院高文院士,深圳大学电子与信息工程学院院长.深度学习技术及应 ...

  4. 5分钟“调教”一只机器狗,百度飞桨已经简单到这地步了吗?

    金磊 梦晨 发自 凹非寺 量子位 报道 | 公众号 QbitAI "调教"一只机器狗学会新技能需要多长时间? 仅需5分钟. 一个往左走的手势,它就乖乖地向左挪了挪:一个" ...

  5. 工业革命的秋之涟漪(一):百度飞桨AI引擎

    18世纪中后期,人类推开了工业革命的大门. 在此后的近250年里,世界经济迎来了从未有过的发展曲线,漫长的中古时期轰然倒塌,现代化的晨曦点燃了文明之光. 此后的岁月里,每当经济发展遇到瓶颈,社会问题凸 ...

  6. 本地一站式极速开发AI模型 百度飞桨EasyDL桌面版来了

    智能时代来临,企业利用人工智能进行智能化升级势在必行.但由于业务性质等客观因素,不少企业在应用AI时,受场景网络环境.本地算力限制等,迫切需要满足本地实现高效AI开发和部署的解决方案.这也将成为企业快 ...

  7. 携手NVIDIA等40余家国内外伙伴,飞桨硬件生态狂飙

    深度学习框架与 AI 硬件厂商,相辅相成.共同发展.百度飞桨与 NVIDIA 等 40 多家硬件伙伴正在践行这一理念. 备受关注的 NVIDIA GTC 2023 大会已经结束,NVIDIA CEO ...

  8. 百度飞桨EasyDL桌面版正式上线,没网也能训练AI

    智能时代来临,企业利用人工智能进行智能化升级势在必行.但由于业务性质等客观因素,不少企业在应用 AI 时,受场景网络环境.本地算力限制等,迫切需要满足本地实现高效 AI 开发和部署的解决方案.这也将成 ...

  9. 青岛智能物联网产才融合中心成立,山东大学携手百度飞桨海尔海纳云等共育AI人才

    以人才引领产业发展,以技术驱动产业升级,成为激活创新动能的重要抓手.1月9日,由海尔海纳云.百度飞桨.中科曙光.山东大学联合中国海洋大学.中国石油大学等27所高校共同发起的公益性创新平台--青岛智能物 ...

最新文章

  1. php定界符EOF讲解
  2. 关于Docker你应该知道的10件事
  3. Java ByteArrayOutputStream reset()方法及示例
  4. [js] 字符串拼接有哪些方式?哪种性能好?
  5. Leetcode--152. 乘积最大子数组(java)
  6. linux磁盘管理(挂载,分区)
  7. 【jQuery笔记Part2】02-jQuery展开收起动画帷幔效果案例下拉菜单案例显示隐藏更多案例折叠菜单案例
  8. Python_notes_05
  9. Codeforces Round #277 (Div. 2)
  10. mysql redo log 几个组_必须了解的mysql三大日志,你知道几个?
  11. 不能使用sizeof计算的表达式
  12. 分享几个有趣的Python小项目
  13. 遍历文件夹进行点云格式转换 PCD转BIN BIN转PCD PCD转TXT TXT转PCD PLY转PCD
  14. android波纹动画,Android实现水波纹效果
  15. PYNQ开发板使用-使用DMA进行数据搬移(Simple DMA transfer 模式)
  16. IIR滤波器设计之冲激响应不变法与双线性变换法
  17. 精简版Win10/11系统无法登录Xbox及Minecraft Launcher解决方法,不需要重装系统
  18. SAP中的采购质量管理与订单及收货控制
  19. Scrapy之10行代码爬下电影天堂全站
  20. 批量将txt文件转为excel文件

热门文章

  1. python函数中可变参数的传递方式是_详解Python函数可变参数定义及其参数传递方式...
  2. Ubuntu下搭建Kubernetes集群(3)--k8s部署
  3. Fiori 出试(WEBIDE平台)day1
  4. 卷积神经网络参数计算及卷积层输出尺寸计算
  5. Delphi应用程序的调试(二)使用断点
  6. OUR D3.JS 数据可视化专题站(转)
  7. PID控制方法及C语言其实现
  8. 为什么需要自己实现前端框架
  9. DataGrid 完全攻略之二(把数据导出到Excel)
  10. 车位预定查询html格式,停车场车位预定方法