近期有做信息抽取的需求,UIE在信息抽取方面效果不错。
模型准备
huggingface上下载UIE模型:PaddlePaddle/uie-base · Hugging Face
点击“Clone Repository”,确定git clone的链接
其中包含大文件,需要在windows安装git-lfs,在https://git-lfs.com/下载git-lfs,安装。
git lfs clone 仓库链接
环境配置
UIE使用需要安装paddlenlp
paddlenlp依赖paddlepaddle-gpu或paddlepaddle;
忘了因为什么原因,python3.7和python3.11上安装paddlenlp存在问题,在python3.9上成功安装了。
为了使用GPU进行模型训练和推理,在GPU机器安装了NVIDIA Driver、CUDA、Cudnn。
这里踩了个坑:
CUDA 工具包 11.2 配合 cuDNN v8.2.1使用,安装paddlepaddle-gpu有特定版本
python -m pip install paddlepaddle-gpu==2.4.2.post112 -f https://www.paddlepaddle.org.cn/whl/windows/mkl/avx/stable.html
一定要采用这个版本,如果安装了paddlepaddle-gpu=2.4.2版本,运行会报错:
RuntimeError: (PreconditionNotMet) The third-party dynamic library (cudnn64_7.dll) that Paddle depends on is not configured correctly. (error code is 126)
另外,运行时,如果程序中断,提示错误,检查专用GPU内存几乎占满,则八成是模型太大了,GPU内存太小导致的问题,减少模型训练的batch_size即可。
exit code -1073740791 0xC0000409
UIE运行示例
>>> 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分获得金牌!")) # Better print results using pprint
[{'时间': [{'end': 6,
'probability': 0.9857378532924486,
'start': 0,
'text': '2月8日上午'}],
'赛事名称': [{'end': 23,
'probability': 0.8503089953268272,
'start': 6,
'text': '北京冬奥会自由式滑雪女子大跳台决赛'}],
'选手': [{'end': 31,
'probability': 0.8981548639781138,
'start': 28,
'text': '谷爱凌'}]}]
来源:PaddleNLP/taskflow_text.md at develop · PaddlePaddle/PaddleNLP文章来源:https://www.toymoban.com/news/detail-638593.html
UIE 微调
PaddleNLP/applications/information_extraction/text at develop · PaddlePaddle/PaddleNLPUIE在实体识别和关系抽取上的实践PaddleNLP/applications/information_extraction/text at develop · PaddlePaddle/PaddleNLP文章来源地址https://www.toymoban.com/news/detail-638593.html
到了这里,关于UIE在实体识别和关系抽取上的实践的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!