ChatIE:通过多轮问答问题实现实命名实体识别和关系事件的零样本信息抽取,并在NYT11-HRL等数据集上超过了全监督模型

简介: ChatIE:通过多轮问答问题实现实命名实体识别和关系事件的零样本信息抽取,并在NYT11-HRL等数据集上超过了全监督模型

ChatIE:通过多轮问答问题实现实命名实体识别和关系事件的零样本信息抽取,并在NYT11-HRL等数据集上超过了全监督模型

零样本信息抽取(Information Extraction,IE)旨在从无标注文本中建立IE系统,因为很少涉及人为干预,该问题非常具有挑战性。但零样本IE不再需要标注数据时耗费的时间和人力,因此十分重要。近来的大规模语言模型(例如GPT-3,Chat GPT)在零样本设置下取得了很好的表现,这启发我们探索基于提示的方法来解决零样本IE任务。我们提出一个问题:不经过训练来实现零样本信息抽取是否可行?我们将零样本IE任务转变为一个两阶段框架的多轮问答问题(Chat IE),并在三个IE任务中广泛评估了该框架:实体关系三元组抽取、命名实体识别和事件抽取。在两个语言的6个数据集上的实验结果表明,Chat IE取得了非常好的效果,甚至在几个数据集上(例如NYT11-HRL)上超过了全监督模型的表现。我们的工作能够为有限资源下IE系统的建立奠定基础。

1.方法介绍

结果展示:

  • Description

通过ChatIE 和提示功能的增强,它旨在从原始句子中自动提取结构化信息,并对输入句子进行有价值的深度分析。利用有价值的结构化信息可以帮助企业做出深刻的业务改进决策。demo.

Task Name Lauguages
RE entity-relation joint extraction Chinese, English
NER named entity recoginzation Chinese, English
EE event extraction Chinese, English

1.1 RE

This task aims to extract triples from plain texts, such as (China, capital, Beijing) , (《如懿传》, 主演, 周迅).

  • Input
    • sentence: a plain text.
    • relation type list (rtl)* : {'relation type 1': ['subject1', 'object1'], 'relation type 2': ['subject2', 'object2'], ...}

PS: 表示可选,我们为它们设置默认值。但是为了更好地提取,您应该根据应用程序场景指定三个列表。

  • Examples

    • sentence: Four other Google executives the chief financial officer , George Reyes ; the senior vice president for business operations , Shona Brown ; the chief legal officer , David Drummond ; and the senior vice president for product management , Jonathan Rosenberg earned salaries of $ 250,000 each .
    • rtl: default, see file "default-types"

    • ouptut:

* **sentence:** 第五部:《如懿传》《如懿传》是一部古装宫廷情感电视剧,由汪俊执导,周迅、霍建华、张钧甯、董洁、辛芷蕾、童瑶、李纯、邬君梅等主演。  
* **rtl:** default, see file "default-types"  
* **ouptut:**  
![](https://ai-studio-static-online.cdn.bcebos.com/5fcebba27e7546f48c14188fcf02a276d2dd6f5a68614866a652d0d60cd0368a)

1.2 NER

该任务旨在从纯文本中提取实体, such as (LOC, Beijing) , (人物, 周恩来).

  • Input

    • sentence: a plain text.
    • entity type list (etl)* : ['entity type 1', 'entity type 2', ...]
  • Examples

    • sentence: James worked for Google in Beijing, the capital of China.
    • etl: ['LOC', 'MISC', 'ORG', 'PER']
    • ouptut:
* **sentence:** 中国共产党创立于中华民国大陆时期,由陈独秀和李大钊领导组织。   
* **etl:** ['组织机构', '地点', '人物']  
* **ouptut:**  
![](https://ai-studio-static-online.cdn.bcebos.com/c6974afefaf54eac8b86a6a33bcbe64c2d08843c30bb487f9253cd65ecca19e1)

1.3 EE

该任务旨在从纯文本中提取事件, such as {Life-Divorce: {Person: Bob, Time: today, Place: America}} , {竞赛行为-晋级: {时间: 无, 晋级方: 西北狼, 晋级赛事: 中甲榜首之争}}.

  • Input

    • sentence: a plain text.
    • event type list (etl)* : {'event type 1': ['argument role 1', 'argument role 2', ...], ...}
    • sentence: Yesterday Bob and his wife got divorced in Guangzhou.
    • etl: default, see file "default-types"
    • ouptut:

* **sentence:** 在2022年卡塔尔世界杯决赛中,阿根廷以点球大战险胜法国。  
* **etl:** default, see file "default-types"  
* **ouptut:**  
![](https://ai-studio-static-online.cdn.bcebos.com/ea4ff46b927542fd99456eab0b1470b6e5e303caca874ac886685e3c28fc34ca)

2.本地使用教学

react+flask

  1. cd front-end and Run npm install to download required dependencies.
  2. Run npm run start. GPT4IE should open up in a new browser tab.
  3. cd back-end and Run python run.py.
  4. note: node-version v14.17.4 npm-version 9.6.0
  5. you may need to configure proxy on your machine.

3.Prompt提示词

3.1 EE提示词

--------------Stage I-------------------------------------------
#text denotes the input sentence
事件类型列表: ['财经/交易-出售/收购', '财经/交易-跌停', '财经/交易-加息', '财经/交易-降价', '财经/交易-降息', '财经/交易-融资', '财经/交易-上市', '财经/交易-涨价', '财经/交易-涨停', '产品行为-发布', '产品行为-获奖', '产品行为-上映', '产品行为-下架', '产品行为-召回', '交往-道歉', '交往-点赞', '交往-感谢', '交往-会见', '交往-探班', '竞赛行为-夺冠', '竞赛行为-晋级', '竞赛行为-禁赛', '竞赛行为-胜负', '竞赛行为-退赛', '竞赛行为-退役', '人生-产子/女', '人生-出轨', '人生-订婚', '人生-分手', '人生-怀孕', '人生-婚礼', '人生-结婚', '人生-离婚', '人生-庆生', '人生-求婚', '人生-失联', '人生-死亡', '司法行为-罚款', '司法行为-拘捕', '司法行为-举报', '司法行为-开庭', '司法行为-立案', '司法行为-起诉', '司法行为-入狱', '司法行为-约谈', '灾害/意外-爆炸', '灾害/意外-车祸', '灾害/意外-地震', '灾害/意外-洪灾', '灾害/意外-起火', '灾害/意外-坍/垮塌', '灾害/意外-袭击', '灾害/意外-坠机', '组织关系-裁员', '组织关系-辞/离职', '组织关系-加盟', '组织关系-解雇', '组织关系-解散', '组织关系-解约', '组织关系-停职', '组织关系-退出', '组织行为-罢工', '组织行为-闭幕', '组织行为-开幕', '组织行为-游行']。
给定一句话:'{text}'。
请问此句话对应的事件类型有哪些? 要求回答形式: '事件类型: 事件类型内容'。
--------------Stage II-------------------------------------------
#vent_type and role_list together form the schema for event extraction, where event_type comes from Stage I.
#Optional schemas are as follows: {'财经/交易-出售/收购': ['时间', '出售方', '交易物', '出售价格', '收购方'], '财经/交易-跌停': ['时间', '跌停股票'], '财经/交易-加息': ['时间', '加息幅度', '加息机构'], '财经/交易-降价': ['时间', '降价方', '降价物', '降价幅度'], '财经/交易-降息': ['时间', '降息幅度', '降息机构'], '财经/交易-融资': ['时间', '跟投方', '领投方', '融资轮次', '融资金额', '融资方'], '财经/交易-上市': ['时间', '地点', '上市企业', '融资金额'], '财经/交易-涨价': ['时间', '涨价幅度', '涨价物', '涨价方'], '财经/交易-涨停': ['时间', '涨停股票'], '产品行为-发布': ['时间', '发布产品', '发布方'], '产品行为-获奖': ['时间', '获奖人', '奖项', '颁奖机构'], '产品行为-上映': ['时间', '上映方', '上映影视'], '产品行为-下架': ['时间', '下架产品', '被下架方', '下架方'], '产品行为-召回': ['时间', '召回内容', '召回方'], '交往-道歉': ['时间', '道歉对象', '道歉者'], '交往-点赞': ['时间', '点赞方', '点赞对象'], '交往-感谢': ['时间', '致谢人', '被感谢人'], '交往-会见': ['时间', '地点', '会见主体', '会见对象'], '交往-探班': ['时间', '探班主体', '探班对象'], '竞赛行为-夺冠': ['时间', '冠军', '夺冠赛事'], '竞赛行为-晋级': ['时间', '晋级方', '晋级赛事'], '竞赛行为-禁赛': ['时间', '禁赛时长', '被禁赛人员', '禁赛机构'], '竞赛行为-胜负': ['时间', '败者', '胜者', '赛事名称'], '竞赛行为-退赛': ['时间', '退赛赛事', '退赛方'], '竞赛行为-退役': ['时间', '退役者'], '人生-产子/女': ['时间', '产子者', '出生者'], '人生-出轨': ['时间', '出轨方', '出轨对象'], '人生-订婚': ['时间', '订婚主体'], '人生-分手': ['时间', '分手双方'], '人生-怀孕': ['时间', '怀孕者'], '人生-婚礼': ['时间', '地点', '参礼人员', '结婚双方'], '人生-结婚': ['时间', '结婚双方'], '人生-离婚': ['时间', '离婚双方'], '人生-庆生': ['时间', '生日方', '生日方年龄', '庆祝方'], '人生-求婚': ['时间', '求婚者', '求婚对象'], '人生-失联': ['时间', '地点', '失联者'], '人生-死亡': ['时间', '地点', '死者年龄', '死者'], '司法行为-罚款': ['时间', '罚款对象', '执法机构', '罚款金额'], '司法行为-拘捕': ['时间', '拘捕者', '被拘捕者'], '司法行为-举报': ['时间', '举报发起方', '举报对象'], '司法行为-开庭': ['时间', '开庭法院', '开庭案件'], '司法行为-立案': ['时间', '立案机构', '立案对象'], '司法行为-起诉': ['时间', '被告', '原告'], '司法行为-入狱': ['时间', '入狱者', '刑期'], '司法行为-约谈': ['时间', '约谈对象', '约谈发起方'], '灾害/意外-爆炸': ['时间', '地点', '死亡人数', '受伤人数'], '灾害/意外-车祸': ['时间', '地点', '死亡人数', '受伤人数'], '灾害/意外-地震': ['时间', '死亡人数', '震级', '震源深度', '震中', '受伤人数'], '灾害/意外-洪灾': ['时间', '地点', '死亡人数', '受伤人数'], '灾害/意外-起火': ['时间', '地点', '死亡人数', '受伤人数'], '灾害/意外-坍/垮塌': ['时间', '坍塌主体', '死亡人数', '受伤人数'], '灾害/意外-袭击': ['时间', '地点', '袭击对象', '死亡人数', '袭击者', '受伤人数'], '灾害/意外-坠机': ['时间', '地点', '死亡人数', '受伤人数'], '组织关系-裁员': ['时间', '裁员方', '裁员人数'], '组织关系-辞/离职': ['时间', '离职者', '原所属组织'], '组织关系-加盟': ['时间', '加盟者', '所加盟组织'], '组织关系-解雇': ['时间', '解雇方', '被解雇人员'], '组织关系-解散': ['时间', '解散方'], '组织关系-解约': ['时间', '被解约方', '解约方'], '组织关系-停职': ['时间', '所属组织', '停职人员'], '组织关系-退出': ['时间', '退出方', '原所属组织'], '组织行为-罢工': ['时间', '所属组织', '罢工人数', '罢工人员'], '组织行为-闭幕': ['时间', '地点', '活动名称'], '组织行为-开幕': ['时间', '地点', '活动名称'], '组织行为-游行': ['时间', '地点', '游行组织', '游行人数']}
事件类型: '{event_type}' 对应的论元角色列表为: {role_list}。
请根据论元角色列表在上述句子中提取出事件论元, 并以表格形式给出, 表头分别为 '事件类型', '论元角色', '论元内容'。
如果某个论元角色没有相应的论元内容,论元内容回答: 无。

#anilla Prompt (Single-turn)
#text denotes the input sentence
#For event_type_{} and role_list_{}, please refer to ChatIE (Two-stage) above
事件类型: '{event_type_1}' 对应的论元角色列表为: {role_list_1}, 事件类型: '{event_type_2}' 对应的论元角色列表为: {role_list_2}, ...
给定一句话:'{text}'。
请提取出上述句子的事件论元, 并以表格形式给出, 表头分别为 '事件类型', '论元角色', '论元内容'。
如果某个论元角色没有相应的论元内容,论元内容回答: 无。

3.2 RE

部分展示

假设你是一个实体关系五元组抽取模型。我会给你头实体类型列表subject_types,尾实体类型列表object_types,关系列表relations,再给你一个句子,请你根据这三个列表抽出句子中的subject和object,并组成五元组,且形式为(subject, subject_type, relation, object, object_type)。

给定的句子为:"{}"

relations:['所属专辑', '成立日期', '海拔', '官方语言', '占地面积', '父亲', '歌手', '制片人', '导演', '首都', '主演', '董事长', '祖籍', '妻子', '母亲', '气候', '面积', '主角', '自', '校长', '丈夫', '主持人', '主题曲', '修业年限', '作曲', '号', '上映时间', '票房', '饰演', '配音', '获奖']

subject_types:['国家', '行政区', '文学作品', '人物', '影视作品', '学校', '图书作品', '地点', '历史人物', '景点', '歌曲', '学科专业', '企业', '电视综艺', '机构', '企业/品牌', ' 娱乐人物']

object_types:['国家', '人物', 'Text', 'Date', '地点', '气候', '城市', '歌曲', '企业', 'Number', '音乐专辑', '学校', '作品', '语言']

3.3 NER

--------------Vanilla Prompt(单轮)-------------------------------------
假设你是一个命名实体识别模型,现在我会给你一个句子,请根据我的要求识别出每个句子中的实体,实体类型只要三种:组织机构、地点、人物。请用列表的形式展示,其中列表的第一个元素为实体名称,第二个元素为实体类型。如果该句子中不含有指定的实体类型,你可以输出:[]。输出格式形为:["实体名称1", "实体类型1"], ["实体名称2", "实体类型2"], …。除了这个列表以外请不要输出别的多余的话。这个句子是:""

--------------Stage I-------------------------------------------

--------------Stage II-------------------------------------------
假设你是一个命名实体识别模型,现在我会给你一个句子,请根据我的要求识别出每个句子中的实体,并用列表的形式展示。其中列表的第一个元素为实体名称,第二个元素为实体类型。如果该句子中不含有指定的实体类型,你可以输出:[]。输出格式形为:["实体名称1", "实体类型1"], ["实体名称2", "实体类型2"], …。除了这个列表以外请不要输出别的多余的话。请识别出以下句子中类型为“组织机构”的实体:""
假设你是一个命名实体识别模型,现在我会给你一个句子,请根据我的要求识别出每个句子中的实体,并用列表的形式展示。其中列表的第一个元素为实体名称,第二个元素为实体类型。如果该句子中不含有指定的实体类型,你可以输出:[]。输出格式形为:["实体名称1", "实体类型1"], ["实体名称2", "实体类型2"], …。除了这个列表以外请不要输出别的多余的话。遇到国家的名字时,可以将其识别成地点类型实体。请识别出以下句子中类型为“地点”的实体:""
假设你是一个命名实体识别模型,现在我会给你一个句子,请根据我的要求识别出每个句子中的实体,并用列表的形式展示。其中列表的第一个元素为实体名称,第二个元素为实体类型。如果该句子中不含有指定的实体类型,你可以输出:[]。输出格式形为:["实体名称1", "实体类型1"], ["实体名称2", "实体类型2"], …。除了这个列表以外请不要输出别的多余的话。请识别出以下句子中类型为“人物”的实体:""

4.更多案例展示

4.1 RE

4.2 NER

4.3 EE

4.4 其他

项目码源见文末

项目链接跳转

更多优质内容请关注公号:汀丶人工智能;会提供一些相关的资源和优质文章,免费获取阅读。

![](https://ai-studio-static-online.cdn.bcebos.c

相关文章
|
机器学习/深度学习 自然语言处理 达摩院
Rethinking Information Extraction :信息抽取的现状与未来
​ ##引言 从计算到感知再到认知是业内学者都认同的人工智能技术发展路径。机器具备认知智能,进而实现推理、规划乃至联想和创作,在一定程度上需要一个充满知识的大脑,而信息抽取是获取知识的重要途径之一。 在具体的业务场景如搜索推荐,结构化的领域知识有利于实现细粒度文本理解,有利于实现精准的复杂问答,有利于
6125 0
|
存储 分布式计算 算法
大数据中一致性检查
【10月更文挑战第20天】
887 2
|
供应链 监控 算法
ERP系统中的库存优化与成本控制解析
【7月更文挑战第25天】 ERP系统中的库存优化与成本控制解析
1309 2
|
存储 前端开发 JavaScript
"Angular与AWS Amplify的神奇之处:如何用云端连接技术让你的项目一鸣惊人?"
【8月更文挑战第31天】在现代软件开发中,云端连接的前端应用已成为主流。本文探讨了Angular与AWS Amplify的结合,展示了如何通过示例代码快速构建云端连接的前端应用。Angular是由Google支持的开源前端框架,而AWS Amplify是AWS提供的云服务,两者结合可以快速构建云端连接的前端应用。文中还分享了一些最佳实践,帮助开发者更高效地使用这两种技术构建高性能的云端连接的前端应用。随着Angular和AWS Amplify生态的不断成熟,它们将在未来的Web开发中扮演更加重要的角色。
192 0
|
人工智能 语音技术 Windows
语音识别教程:Whisper
本文是一份详细的Whisper语音识别模型使用教程,包括了FFmpeg的安装、Whisper模型的安装与使用,以及如何实现实时录制音频并转录的步骤和代码示例,旨在帮助用户基于Whisper和GPT创建AI字幕。
|
数据挖掘 数据处理 Python
【Python】已解决:TypeError: read_csv() got an unexpected keyword argument ‘shkiprows‘
【Python】已解决:TypeError: read_csv() got an unexpected keyword argument ‘shkiprows‘
453 0
|
Python
pycharm里available packages显示nothing to show
pycharm里available packages显示nothing to show
1323 0
pycharm里available packages显示nothing to show
|
敏捷开发 人工智能 Devops
开发必备:2024年整理10款超级好用的项目管理工具
整理10款适合企业研发团队使用的项目管理工具,包括(排名不分先后): 1.PingCode 智能化研发管理工具;2.Ones 大型企业研发管理平台;3.YesDev 研发项目协同管理工具;4.Teambition 阿里巴巴旗下团队协作工具;5.Jira Atlassian公司出品的项目与事务跟踪工具;6.Tower 专注50人以下团队的任务协作 ;7.TAPD 由腾讯出品的一站式敏捷研发协作云平台;8.码云Gitee DevOps一站式研发效能平台;9.禅道 国产开源的项目管理软件;10.Momday 由以色列提供的全新工作平台,内含项目管理模块。
1133 4
pycharm管理仓库(Manager Repository)不见了
pycharm管理仓库(Manager Repository)不见了
|
自然语言处理 数据可视化 数据挖掘
5000字详解|Quick BI缘何吸引众多权威机构,四入Gartner并完成象限突破
5000字详解|Quick BI缘何吸引众多权威机构,四入Gartner并完成象限突破
940 1