ChatIE🐬
论文 "Zero-Shot Information Extraction via Chatting with ChatGPT" 的官方仓库。请 star、watch 和 fork 我们的仓库,以获取最新更新!
摘要
零样本信息抽取(IE)旨在从未标注的文本中构建IE系统。由于人为干预较少,这一任务具有挑战性。尽管如此,零样本IE可以减少数据标注所需的时间和精力,因此非常有价值。近年来,大规模语言模型(LLMs,如 GPT3、ChatGPT)在零样本环境下表现出了令人鼓舞的性能,启发我们探索基于提示的方法。在这项工作中,我们探讨了是否可以通过直接提示LLMs来构建强大的IE模型。具体来说,我们将零样本IE任务转化为一个两阶段框架下的多轮问答问题(ChatIE)。借助 ChatGPT 的强大功能,我们在三个IE任务上对该框架进行了广泛评估:实体关系三元组抽取、命名实体识别和事件抽取。基于六个数据集的实验结果表明,ChatIE 在多个数据集上(如 NYT11-HRL)取得了令人印象深刻的性能,甚至超越了一些全样本模型。我们相信,我们的工作将为有限资源下的IE模型构建提供新的思路。
方法
结果
工具🧰
更新: 我们使用了官方API,工具变得更快了!!!如果密钥超出限制,请告诉我们。
注意: 响应速度取决于官方的openai chatgpt API。(有时官方API负载过高,速度会变慢或chatgpt会过载。) 另外,建议使用自己的openai密钥,因为如果我们的默认账号被多用户同时使用,账号可能会过载。
注意:由于官方API在国内不可用,我们使用了 revChatGPT 的API和v1版本。但是速度非常慢,所以建议离线使用该工具进行学习。我们将在未来进一步更新API(TODO)。
我们还提供了一个基于 GPT3.5 的IE工具,可以在 GPT4IE 中查看。
说明
ChatIE(通过与ChatGPT聊天进行零样本信息抽取)是一个开源且强大的IE工具 demo。借助 ChatGPT 和提示增强,它旨在从原始句子中自动提取结构化信息,并对输入句子进行有价值的深入分析。利用有价值的结构化信息可以帮助企业做出深入的、改进业务的决策。
我们支持以下功能:
任务 | 名称 | 语言 |
---|---|---|
RE | 实体关系联合抽取 | 中文,英文 |
NER | 命名实体识别 | 中文,英文 |
EE | 事件抽取 | 中文,英文 |
实体关系抽取
此任务旨在从纯文本中抽取三元组,例如 (中国, 首都, 北京),(《如懿传》, 主演, 周迅)。
输入
- 句子:一段纯文本。
- 关系类型列表 (rtl)*:{'关系类型1': ['主语1', '宾语1'], '关系类型2': ['主语2', '宾语2'], ...}
PS:* 表示可选,我们为其设置了默认值。但为了更好的抽取效果,建议根据应用场景指定三个列表。
示例
句子: 谷歌的四位高管——首席财务官乔治·雷耶斯、负责业务运营的高级副总裁肖娜·布朗、首席法律官大卫·德鲁蒙德、产品管理高级副总裁乔纳森·罗森伯格——每人薪水为25万美元。
rtl: 默认,见文件 "default-types"
输出:
句子: 第五部:《如懿传》《如懿传》是一部古装宫廷情感电视剧,由汪俊执导,周迅、霍建华、张钧甯、董洁、辛芷蕾、童瑶、李纯、邬君梅等主演。
rtl: 默认,见文件 "default-types"
输出:
命名实体识别
此任务旨在从纯文本中抽取实体,例如 (LOC, 北京),(人物, 周恩来)。
输入
- 句子:一段纯文本。
- 实体类型列表 (etl)*:['实体类型1', '实体类型2', ...]
示例
句子: James 在北京为谷歌工作,北京是中国的首都。
etl: ['LOC', 'MISC', 'ORG', 'PER']
输出:
句子: 中国共产党创立于中华民国大陆时期,由陈独秀和李大钊领导组织。
etl: ['组织机构', '地点', '人物']
输出:
事件抽取
此任务旨在从纯文本中抽取事件,例如 {Life-Divorce: {Person: Bob, Time: today, Place: America}},{竞赛行为-晋级: {时间: 无, 晋级方: 西北狼, 晋级赛事: 中甲榜首之争}}。
输入
- 句子:一段纯文本。
- 事件类型列表 (etl)*:{'事件类型1': ['参数角色1', '参数角色2', ...], ...}
句子: 昨天,鲍勃和他的妻子在广州离婚了。
etl: 默认,见文件 "default-types"
输出:
句子: 在2022年卡塔尔世界杯决赛中,阿根廷以点球大战险胜法国。
etl: 默认,见文件 "default-types"
输出:
设置
react+flask
- 进入
front-end
目录并运行npm install
以下载所需依赖项。 - 运行
npm run start
。ChatIE 应该会在新浏览器标签页中打开。 - 进入
back-end
目录并运行python run.py
。 - 注意:node 版本 v14.17.4 npm 版本 9.6.0
- 你可能需要在你的机器上配置代理。