引言

这是关于UIE的第三篇文章,但是呢,我更倾向上一篇是UIE-事件提取,因为UIE-情感分类做法上和本篇关系不大。

本篇文章继续介绍基于prompt实体识别的做法。

数据标注

如果你看懂了UIE-事件提取的做法,那这里也是同一类任务,都是属于抽取式任务项目

doccano_txt.json

1
2
{"id": 11, "data": "2月8日上午北京冬奥会自由式滑雪女子大跳台决赛中中国选手谷爱凌以188.25分获得金牌!", "label": {"entities": [{"id": 45, "start_offset": 0, "end_offset": 6, "label": "时间"}, {"id": 46, "start_offset": 24, "end_offset": 31, "label": "人名"}]}}
{"id": 12, "data": "3月6日下午张三获得金牌!", "label": {"entities": [{"id": 47, "start_offset": 0, "end_offset": 6, "label": "时间"}, {"id": 48, "start_offset": 6, "end_offset": 8, "label": "人名"}]}}

使用抽取式任务数据转换转换后,生成的样本如下所示:

train.txt

1
2
{"content": "2月8日上午北京冬奥会自由式滑雪女子大跳台决赛中中国选手谷爱凌以188.25分获得金牌!", "result_list": [{"text": "2月8日上午", "start": 0, "end": 6}], "prompt": "时间"}
{"content": "2月8日上午北京冬奥会自由式滑雪女子大跳台决赛中中国选手谷爱凌以188.25分获得金牌!", "result_list": [{"text": "中国选手谷爱凌", "start": 24, "end": 31}], "prompt": "人名"}

test.txt

1
2
{"content": "3月6日下午张三获得金牌!", "result_list": [{"text": "3月6日下午", "start": 0, "end": 6}], "prompt": "时间"}
{"content": "3月6日下午张三获得金牌!", "result_list": [{"text": "张三", "start": 6, "end": 8}], "prompt": "人名"}

训练和推理

这部分没什么好说的了😂😂😂,以时间人名作为prompt。

UIE-事件提取包含了UIE-实体识别,所以对于抽取式任务,一定要看懂UIE-事件提取哦。