通过与 GPT 对话实现零样本信息抽取
工具网址:https://cocacola-lab.github.io/GPT4IE/
代码:https://github.com/cocacola-lab/GPT4IE
信息抽取(Information Extraction,IE)目标是从无结构文本中抽取结构化信息,包括实体-关系三元组抽取(Entity-relation Extract, RE)、命名实体识别(Named Entity Recognition, NER)和事件抽取(Event Extraction, EE)[1][2][3][4][5]。许多研究已经开始依赖IE技术来自动化进行零样本/少样本工作,例如clinical IE [6]。
近来大规模预训练语言模型(Large Pre-trained Language Model, LLMs)在许多下游任务上都表现极佳,甚至仅仅通过几个例子作为引导而不需要微调就能实现。由此我们提出一个问题:仅通过提示来实现零样本IE任务是否可行? 我们尝试对GPT-3.5用提示的方法建立一个通用的零样本IE系统——GPT4IE(GPT for Information Extraction)。在与GPT3.5和提示的结合下,它能够自动从原始句子中提取结构化信息。
设计了特定任务的提示模板(task-specified prompt template), 然后将用户的输入填充模板中特定的槽值 (slot),形成提示(prompt),输入GPT-3.5中,进行IE。支持的任务有三种:RE、NER和EE,且这三种任务均支持中英文双语。用户需要输入句子和制定抽取类型列表(即关系列表、头实体列表、尾实体列表、实体类型列表或者事件列表)。具体如下:
RE任务的目标是从文本中抽取三元组,比如“(China, capital, Beijing)”, “(《如懿传》, 主演, 周迅)”。其要求的输入格式如下(带“*”的代表非必填项,我们为这些选项都设置了默认值,但是为了灵活性支持用户自定义指定列表,后同):
Input Sentence: 输入文本
Relation type list (rtl)* : ['关系类型1', '关系类型2', ...]
Subject type list (stl)* : ['头实体类型1', '头实体类型2', ...]
Object type list (otl)* : ['尾实体类型1', '尾实体类型2', ...]
OpenAI API key: OpenAI API 密钥(我们在Github中提供了部分可用key,以供示例使用。)
NER任务旨在从文本中抽取实体,例如“(LOC, Beijing)” , “(人物, 周恩来)”。在NER任务上,输入格式如下:
Input Sentence: 输入文本
Entity type list (etl)* : ['实体类型1', '实体类型2', ...]
OpenAI API key: OpenAI API 密钥
EE任务旨在从纯文本中提取事件,例如“{Life-Divorce: {Person: Bob, Time: today, Place: America}}“ , “{竞赛行为-晋级: {时间: 无, 晋级方: 西北狼, 晋级赛事: 中甲榜首之争}}”。输入格式如下:
Input Sentence: 输入文本
Event type list (etl)* : {'事件类型1': ['论元角色1', '论元角色2', ...], ...}
OpenAI API key: OpenAI API 密钥
3.1 RE示例一
输入:
Input Sentence: Bob worked for Google in Beijing, the capital of China.
rtl: ['location-located_in', 'administrative_division-country', 'person-place_lived', 'person-company', 'person-nationality', 'company-founders', 'country-administrative_divisions', 'person-children', 'country-capital', 'deceased_person-place_of_death', 'neighborhood-neighborhood_of', 'person-place_of_birth']
stl: ['organization', 'person', 'location', 'country']
otl: ['person', 'location', 'country', 'organization', 'city']
输出:
3.2 RE示例二
输入:
Input Sentence: 《如懿传》是一部古装宫廷情感电视剧,由汪俊执导,周迅、霍建华、张钧甯、董洁、辛芷蕾、童瑶、李纯、邬君梅等主演。
rtl: ['所属专辑', '成立日期', '海拔', '官方语言', '占地面积', '父亲', '歌手', '制片人', '导演', '首都', '主演', '董事长', '祖籍', '妻子', '母亲', '气候', '面积', '主角', '邮政编码', '简称', '出品公司', '注册资本', '编剧', '创始人', '毕业院校', '国籍', '专业代码', '朝代', '作者', '作词', '所在城市', '嘉宾', '总部地点', '人口数量', '代言人', '改编自', '校长', '丈夫', '主持人', '主题曲', '修业年限', '作曲', '号', '上映时间', '票房', '饰演', '配音', '获奖']
stl: ['国家', '行政区', '文学作品', '人物', '影视作品', '学校', '图书作品', '地点', '历史人物', '景点', '歌曲', '学科专业', '企业', '电视综艺', '机构', '企业/品牌', '娱乐人物']
otl: ['国家', '人物', 'Text', 'Date', '地点', '气候', '城市', '歌曲', '企业', 'Number', '音乐专辑', '学校', '作品', '语言']
输出:
3.3 NER示例一
输入:
Input Sentence: Bob worked for Google in Beijing, the capital of China.
etl: ['LOC', 'MISC', 'ORG', 'PER']
输出:
3.4 NER示例二
输入:
Input Sentence: 在过去的五年中,致公党在邓小平理论指引下,遵循社会主义初级阶段的基本路线,努力实践致公党十大提出的发挥参政党职能、加强自身建设的基本任务。
etl: ['组织机构', '地点', '人物']
输出:
3.5 EE示例一
输入:
Input Sentence: Yesterday Bob and his wife got divorced in Guangzhou.
etl: {'Personnel:Elect': ['Person', 'Entity', 'Position', 'Time', 'Place'], 'Business:Declare-Bankruptcy': ['Org', 'Time', 'Place'], 'Justice:Arrest-Jail': ['Person', 'Agent', 'Crime', 'Time', 'Place'], 'Life:Divorce': ['Person', 'Time', 'Place'], 'Life:Injure': ['Agent', 'Victim', 'Instrument', 'Time', 'Place']}
输出:
3.6 EE示例二
输入:
Input Sentence:: 在2022年卡塔尔世界杯决赛中,阿根廷以点球大战险胜法国。
etl: {'组织行为-罢工': ['时间', '所属组织', '罢工人数', '罢工人员'], '竞赛行为-晋级': ['时间', '晋级方', '晋级赛事'], '财经/交易-涨停':['时间', '涨停股票'] , '组织关系-解雇': ['时间', '解雇方', '被解雇人员']}
输出:
3.7 EE示例三(一个有意思的错误示例)
输入:
Input Sentence:: 我今天和他离婚了
etl: {'组织行为-罢工': ['时间', '所属组织', '罢工人数', '罢工人员'], '竞赛行为-晋级': ['时间', '晋级方', '晋级赛事'], '财经/交易-涨停':['时间', '涨停股票'] , '组织关系-解雇': ['时间', '解雇方', '被解雇人员']}
输出:
明显上面的输出使错误的,自定义etl为: {'离婚': ['时间', '人物']},输出为:
Erik F. Tjong Kim Sang. 2002. Introduction to the CoNLL-2002 shared task: Language-independent named entity recognition. In COLING-02: The 6th Conference on Natural Language Learning 2002 (CoNLL-2002). Lev Ratinov and Dan Roth. 2009. Design challenges and misconceptions in named entity recognition. In Proceedings of the thirteenth conference on computational natural language learning (CoNLL-2009), pages 147–155. Zhepei Wei, Jianlin Su, Yue Wang, Yuan Tian, and Yi Chang. 2019. A novel cascade binary tagging framework for relational triple extraction. arXiv preprint arXiv:1909.03227. Hengyi Zheng, Rui Wen, Xi Chen, Yifan Yang, Yunyan Zhang, Ziheng Zhang, Ningyu Zhang, Bin Qin, Ming Xu, and Yefeng Zheng. 2021. Prgc: Potential relation and global correspondence based joint relational triple extraction. arXiv preprint arXiv:2106.09895. Fayuan Li, Weihua Peng, Yuguang Chen, Quan Wang, Lu Pan, Yajuan Lyu, and Yong Zhu. 2020a. Event extraction as multi-turn question answering. In Findings of the Association for Computational Linguistics: EMNLP 2020, pages 829–838, Online. Association for Computational Linguistics. Monica Agrawal, Stefan Hegselmann, Hunter Lang, Yoon Kim, and David Sontag. 2022. Large language models are zero-shot clinical information extractors. arXiv preprint arXiv:2205.12689.
更多内容,点击下方关注:
微信扫码关注该文公众号作者