概述
自然语言处理(NLP)任务的实现方式正在发生显著变化。相较于传统机器学习算法,当前越来越多的场景开始采用大模型技术。通过数据标注、模型训练、调优/微调、压缩及预测部署的全流程,大模型能够覆盖 NLP 多场景需求,满足开发者落地实现与灵活定制的要求。
PaddleNLP 是其中典型的 NLP 解决方案库,聚合了业界优质预训练模型并提供开箱即用的开发体验。它覆盖了 NLP 多场景的模型库搭配产业实践范例,可满足开发者灵活定制的需求。预训练基座模型主要以 ERNIE 系列大模型为主,为中文 NLP 任务提供了强大的知识增强能力。
UIE 框架介绍
UIE(Universal Information Extraction)是通用信息抽取统一框架。该框架实现了实体抽取、关系抽取、事件抽取、情感分析等任务的统一建模,并使得不同任务间具备良好的迁移和泛化能力。
PaddleNLP 借鉴相关论文方法,基于 ERNIE 3.0 知识增强预训练模型,训练并开源了首个中文通用信息抽取模型 UIE。该模型支持不限定行业领域和抽取目标的关键信息抽取,实现零样本快速冷启动,并具备优秀的小样本微调能力,能够快速适配特定的抽取目标。
核心特性
- 统一建模:将多种 NLP 任务转化为统一的文本生成或分类问题。
- 零样本能力:无需训练即可根据自然语言定义的 Schema 进行抽取。
- 小样本微调:在少量标注数据下即可达到较好的效果。
- 多任务支持:涵盖命名实体识别、关系抽取、事件抽取、评价观点抽取等。
开箱即用
paddlenlp.Taskflow 提供通用信息抽取、评价观点抽取等能力,可抽取多种类型的信息,包括但不限于命名实体识别(如人名、地名、机构名等)、关系(如电影的导演、歌曲的发行时间等)、事件(如某路口发生车祸、某地发生地震等),以及评价维度、观点词、情感倾向等信息。用户可以使用自然语言自定义抽取目标,无需训练即可统一抽取输入文本中的对应信息。
实体抽取示例
命名实体识别(Named Entity Recognition,简称 NER),是指识别文本中具有特定意义的实体。在开放域信息抽取中,抽取的类别没有限制,用户可以自己定义。
例如抽取的目标实体类型是'时间'、'选手'和'赛事名称',Schema 构造如下:
schema = ['时间', '选手', '赛事名称']
调用示例:
from pprint import pprint
from paddlenlp import Taskflow
schema = ['时间', '选手', '赛事名称'] # Define the schema for entity extraction
ie = Taskflow('information_extraction', schema=schema)
pprint(ie("2 月 8 日上午北京冬奥会自由式滑雪女子大跳台决赛中中国选手谷爱凌以 188.25 分获得金牌!"))
输出结果示例:
[
{
'时间': [{'end': 6 'probability' 'start' 'text' ' 月 日上午'
'赛事名称' 'end' 'probability' 'start' 'text' '北京冬奥会自由式滑雪女子大跳台决赛'
'选手' 'end' 'probability' 'start' 'text' '谷爱凌'


