引子
最近手上接了一个活儿,基于文本语料的实体抽取任务,调研了一圈发现目前开源轮子做的比较好的也就是PaddleNLP(大模型那种巨废资源,且幻觉严重的,不予考虑)。OK,那就让我们开始吧。
一、命名实体识别概念
命名实体识别(Named EntitiesRecognition,NER)是自然语言处理的一个基础任务。其目的是识别语料中人名、地名、组织机构名等命名实体。由于命名实体数量不断增加,通常不可能在词典中穷尽列出,且其构成方法具有各自的一些规律性,因而,通常把对这些词的识别从词汇形态处理(如汉语切分)任务中独立处理,称为命名实体识别。命名实体识别技术是信息抽取、信息检索、机器翻译、问答系统等多种自然语言处理技术必不可少的组成部分。
二、PaddleNLP环境搭建
conda create -n PaddleNLP python==3.9
conda activate PaddleNLP
pip install paddlepaddle-gpu -i Simple Index
pip install --upgrade paddlenlp -i Simple Index
参考文档
根据官方文档命名实体识别,基于百度解语,内置91种词性及专名类别标签,具体如下:
三、测试
1、官方测试代码
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分获得金牌!"))
2、CCTV新闻测试
新闻内容
“由日中经济协会、经济团体联合会(经团联)、日本商工会议所(日商)等日本经济界团体组成的日中经济协会联合访华代表团(以下简称日本经济界访华团)于1月23日至26日访问北京。25日晚间,日本经济界访华团最高顾问、经团联会长十仓雅和(住友化学董事长)对《环球时报》记者表示,虽然日中之间存在不同,但也可开展互惠互利的合作,日方正在和中方共同努力。去年11月在旧金山举行的日中领导人会晤重新确认全面推进战略互惠关系的两国关系定位,则有助于构建具有建设性的、稳定的日中关系。”