赞
踩
ERNIE-UIE信息抽取模型可以进行关键信息抽取,可参照官网安装流程进行配置和使用。
但是在实际的细分领域中(细分的应用场景),信息抽取的效果并不好(中文书写习惯截然不同),本文按照官网的方式,进行模型训练从而进一步提升效果,并进行记录。
Paddle、ERNIE-UIE
doccano数据标注
PaddleNLP
使用 git clone 命令下载PaddleNLP。
进入到 /model_zoo/uie 文件夹并创建 data 文件夹,并将上传上述生成的 doccano_ext.json 文件。
进行数据转换,执行如下命令,会在 data 文件夹下生成:train.txt、test.txt、dev.txt、sample_index.json 这些文件。
python doccano.py --doccano_file ./data/doccano_ext.json --task_type "ext" --save_dir ./data --negative_ratio 5
建议在GPU环境下进行模型微调,作者租用了一台 A30(24G显存)进行的训练。
使用定制的模型进行预测,修改 ERNIE-UIE 官网提供的代码(注意 Taskflow 是通过task_path指定模型权重文件的路径)
schema = ['start', 'label', 'end']
my_ie = Taskflow("information_extraction", schema=schema, task_path='./checkpoint/model_best')
通过结果能改看到模型发生了变化。
[{ 'end': [{ 'end': 24, 'probability': 0.8684210982049407, 'start': 21, 'text': '第三章' }], 'label': [{ 'end': 12, 'probability': 0.9925105558749578, 'start': 10, 'text': '借阅' }], 'start': [{ 'end': 3, 'probability': 0.8233676770565523, 'start': 0, 'text': '第二章' }] }]
总结
通过标注少量数据对 UIE 模型进行微调,将其应用到垂直细分领域,提升了信息提取的效果,能够更方便的将其应用到细分的实际应用场景中。
参考
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。