PaddleNLP是基于飞桨(PaddlePaddle)开发的工业级中文NLP开源工具与预训练模型集,将自然语言处理领域的多种模型用一套共享骨架代码实现,可大大减少开发者在开发过程中的重复工作。PaddleNLP提供依托于百度百亿级大数据的预训练模型,适应全面丰富的 NLP任务,方便开发者灵活插拔尝试多种网络结构,并且让应用最快速达到工业级效果。下面小编就带你一一了解PaddleNLP支持的十大NLP任务和工具。
一、文本分类
1、文本情感分析
情感是人类的一种高级智能行为,为了识别文本的情感倾向,需要深入的语义建模。另外,不同领域(如餐饮、体育)在情感的表达各不相同,因而需要有大规模覆盖各个领域的数据进行模型训练。为此,我们通过基于深度学习的语义模型和大规模数据挖掘解决上述两个问题。百度自主研发的中文特色情感倾向分析模型(Sentiment Classification,简称Senta)针对带有主观描述的中文文本,可自动判断该文本的情感极性类别并给出相应的置信度。情感类型分为积极、消极。情感倾向分析能够帮助企业理解用户消费习惯、分析热点话题和危机舆情监控,为企业提供有利的决策支持。
基于开源情感倾向分类数据集ChnSentiCorp评测结果如下表所示,此外,PaddleNLP还开源了百度基于海量数据训练好的模型,该模型在ChnSentiCorp数据集上fine-tune之后(基于开源模型进行Finetune的方法详见Github),可以得到更好的效果。
-
BOW(Bag Of Words)模型,是一个非序列模型,使用基本的全连接结构。
-
CNN(Convolutional Neural Networks),是一个基础的序列模型,能处理变长序列输入,提取局部区域之内的特征。
-
GRU(Gated Recurrent Unit),序列模型,能够较好地解决序列文本中长距离依赖的问题。
-
LSTM(Long Short Term Memory),序列模型,能够较好地解决序列文本中长距离依赖的问题。
-
BI-LSTM(Bidirectional Long Short Term Memory),序列模型,采用双向LSTM结构,更好地捕获句子中的语义特征。
-
ERNIE(Enhanced Representation through kNowledge IntEgration),百度自研基于海量数据和先验知识训练的通用文本语义表示模型,并基于此在情感倾向分类数据集上进行fine-tune获得。
-
ERNIE+BI-LSTM,基于ERNIE语义表示对接上层BI-LSTM模型,并基于此在情感倾向分类数据集上进行Fine-tune获得。
项目地址:
https://github.com/PaddlePaddle/models/tree/develop/PaddleNLP/sentiment_classification
2.对话情绪识别
对话情绪识别适用于聊天、客服等多个场景,能够帮助企业更好地把握对话质量、改善产品的用户交互体验,也能分析客服服务质量、降低人工质检成本。对话情绪识别(Emotion Detection,简称EmoTect),专注于识别智能对话场景中用户的情绪,针对智能对话场景中的用户文本,自动判断该文本的情绪类别并给出相应的置信度,情绪类型分为积极、消极、中性。
基于百度自建测试集(包含闲聊、客服)和nlpcc2014微博情绪数据集评测效果如下表所示,此外,PaddleNLP还开源了百度基于海量数据训练好的模型,该模型在聊天对话语料上fine-tune之后,可以得到更好的效果。
-
BOW:Bag Of Words,是一个非序列模型,使用基本的全连接结构。
-
CNN:浅层CNN模型,能够处理变长的序列输入,提取一个局部区域之内的特征。
-
TextCNN:多卷积核CNN模型,能够更好地捕捉句子局部相关性。
-
LSTM