chatgpt实现NLP基本任务(实体识别、关系抽取、属性抽取、事件抽取、文本分类)

文章目录

  • 前置:基础函数
  • 一、实体识别
  • 二、关系抽取
  • 三、属性抽取
  • 四、事件抽取
  • 五、文本分类
  • 六、可能存在的问题(报错)

前置:基础函数

import openai
import time
from tqdm import tqdmdef chatgpt_function(content, key=None):openai.api_key = keyprint("问题为:{}".format(content))try:response = openai.ChatCompletion.create(model="gpt-3.5-turbo",messages=[{"role": "system", "content": "你是一个自然语言处理模型,用于完成NLP基础任务"},{"role": "user", "content": content}],temperature=0.1)except openai.error.APIConnectionError as error:print(error)time.sleep(120)response = openai.ChatCompletion.create(model="gpt-3.5-turbo",messages=[{"role": "system", "content": "你是一个自然语言处理模型,用于完成NLP基础任务"},{"role": "user", "content": content}],temperature=0.1)return response["choices"][0]["message"]["content"]

一、实体识别

抽取文本:
驻港部队从1993年初开始组建,1996年1月28日组建完毕,1997年7月1日0时进驻香港,取代驻港英军接管香港防务,驻港军费均由中央人民政府负担。《中华人民共和国香港特别行政区驻军法》规定了驻香港部队的职责为防备和抵抗侵略,保卫香港特别行政区的安全以及在特别时期(战争状态、香港进入紧急状态时 )根据中央人民政府决定在香港特别行政区实施的全国性法律的规定履行职责。

代码:

# 实体识别
def entity_extraction(sentence):entities = ["时间", "地点", "人物", "国家地区", "组织机构"]prompt = "你现在需要完成一个实体识别任务,定义的实体类别有:" + "、".join(entities) + "\n要求:1、输出格式表示为实体名:实体类型;2、输出的每个结果用换行符分割;3请从给定的句子中抽取,不要自行总结。\n" + f"句子:{sentence}"result = chatgpt_function(prompt, key="your key")print("实体识别完毕!")print("答案为:\n{}".format(result))return result

结果:
驻港部队:组织机构
1993年初:时间
1996年1月28日:时间
1997年7月1日0时:时间
香港:地点
驻港英军:组织机构
中央人民政府:组织机构
中华人民共和国香港特别行政区驻军法:组织机构
防备和抵抗侵略:组织机构
保卫香港特别行政区的安全:组织机构
特别时期:时间
战争状态:时间
香港进入紧急状态时:时间
中央人民政府决定:组织机构
香港特别行政区:地点
全国性法律:组织机构

二、关系抽取

抽取文本:
糖尿病是一种常见的慢性疾病,主要症状包括多饮、多尿、乏力、体重下降等。发病人群通常是肥胖、家族病史、不良饮食习惯等高风险人群。治疗方法主要包括定期血糖检测、饮食控制、锻炼、药物治疗和胰岛素注射。治愈周期因不同患者而异,但坚持正确的治疗和生活方式改变,能有效控制病情、预防并发症的发生。

代码:

# 关系抽取
def relation_extraction(sentence):relations = ["疾病-症状-症状", "疾病-发病人群-发病人群", "疾病-治愈周期-治愈周期", "疾病-治疗方法-治疗方法"]prompt = "你现在需要完成一个关系抽取任务,定义的关系三元组有:" + "、".join(relations) + "\n要求:1、输出格式表示为头实体-关系-尾实体;2、输出的每个结果用换行符分割;3请从给定的句子中抽取,不要自行总结。\n" + f"句子:{sentence}"result = chatgpt_function(prompt, key="your key")print("关系抽取完毕!")print("答案为:\n{}".format(result))return result

结果:
糖尿病-症状-多饮
糖尿病-症状-多尿
糖尿病-症状-乏力
糖尿病-症状-体重下降
糖尿病-发病人群-肥胖
糖尿病-发病人群-家族病史
糖尿病-发病人群-不良饮食习惯
糖尿病-治疗方法-定期血糖检测
糖尿病-治疗方法-饮食控制
糖尿病-治疗方法-锻炼
糖尿病-治疗方法-药物治疗
糖尿病-治疗方法-胰岛素注射
糖尿病-治愈周期-因不同患者而异
糖尿病-治愈周期-坚持正确的治疗和生活方式改变

三、属性抽取

抽取文本:
该款智能手机搭载高通骁龙处理器,内置5000mAh电池,支持快充功能,采用6.5英寸全高清显示屏,照方面具备6400万像素后置摄像头和1600万素前置摄像头。操作系统为Android 11,存储容量64GB,可扩展至512GB。
代码:

# 属性抽取
def property_extraction(sentence):properties = ["处理器", "电池容量", "功能", "屏幕尺寸", "分辨率", "后置摄像头像素", "前置摄像头像素", "操作系统", "存储容量"]prompt = "你现在需要完成一个属性抽取任务,定义的属性有:" + "、".join(properties) + "\n要求:1、输出格式表示为属性名-属性值;2、输出的每个结果用换行符分割;3请从给定的句子中抽取,不要自行总结。\n" + f"句子:{sentence}"result = chatgpt_function(prompt, key="your key")print("属性抽取完毕!")print("答案为:\n{}".format(result))return result

结果:
处理器-高通骁龙处理器
电池容量-5000mAh
功能-快充功能
屏幕尺寸-6.5英寸
分辨率-全高清
后置摄像头像素-6400万像素
前置摄像头像素-1600万像素
操作系统-Android 11
存储容量-64GB

四、事件抽取

抽取文本:
当地时间7月5日,俄罗斯铁路公司发布消息表示,俄罗斯铁路网站和移动应用程序遭受大规模黑客攻击。
代码:

# 事件抽取
def event_extraction(sentence):event_types = ["黑客攻击", "台风", "恐怖袭击"]event_roles = ["时间", "地点", "事件主体", "事件客体", "造成影响"]prompt = "你现在需要完成一个事件抽取任务,定义的事件类型有:" + "、".join(event_types) + ",定义的事件论元有:" + "、".join(event_roles) + "\n要求:1、首先输出事件类型并换行,输出事件论元格式表示为论元名-内容;2、输出的每个结果用换行符分割;3请从给定的句子中抽取,不要自行总结。\n" + f"句子:{sentence}"result = chatgpt_function(prompt, key="your key")print("事件抽取完毕!")print("答案为:\n{}".format(result))return result

结果:
事件类型:黑客攻击

事件论元:
时间-当地时间7月5日
地点-俄罗斯
事件主体-俄罗斯铁路公司
事件客体-俄罗斯铁路网站和移动应用程序
造成影响-大规模黑客攻击

五、文本分类

抽取文本:
中国国家女子足球队将于7月7日从广州出发,飞赴澳大利亚阿德莱德队伍大本营,踏上2023年女足世界杯之旅。抵达澳大利亚之后,队伍还计划于13日和17日分别与巴西国家女子足球队和哥伦比亚国家女子足球队进行热身赛。
代码:

# 文本分类
def text_classification(sentence):types = ["体育", "军事", "娱乐"]prompt = "你现在需要完成一个文本分类任务,定义的文本类型有:" + "、".join(types) + "\n要求:1、仅输出文本类型。\n" + f"句子:{sentence}"result = chatgpt_function(prompt, key="your key")print("文本分类完毕!")print("答案为:\n{}".format(result))return result

结果:
体育

六、可能存在的问题(报错)

1.需要挂梯子
2.可能挂了梯子仍然会报错,解决办法是修改openai的源码,增加代理地址。
在这里插入图片描述
可见:https://blog.csdn.net/weixin_56572465/article/details/129971406
3.还有这些报错:openai.error.ServiceUnavailableError: The server is overloaded or not ready yet.

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/11107.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

奇点来临众生相:当下真正的议题,有关ChatGPT和AI的迷思

ChatGPT一出,久旱逢甘的媒体和资本一拥而上制造了新一轮的网络景观,在经济萧条的大背景下,技术进步显得格外可爱。然而对每个个体而言,圈里圈外蔓延着焦虑和随之而来的信息过载。同人类以往制造的种种机器不同,人工智能…

chatgpt赋能python:Python怎么免费发短信?

Python怎么免费发短信? 介绍 在当今社交媒体和互联网世界中,短信仍然是一种非常重要的沟通方式。然而,发送短信可能会成为一个昂贵的财务负担,尤其是对于小企业和个人用户。但是,利用 Python 编程语言可以免费发送短…

ChatGPT 最好的替代品

前两天我们邀请了微软工程师为我们揭秘 ChatGPT,直播期间有个读者问到:有了 ChatGPT,BERT 未来还有发展前途吗?我想起来最近读过的一篇博客“最好的 ChatGPT 替代品”。 不过聊到这俩模型,就不得不提到 Transformer。 …

chatgpt赋能python:Python:接收短信指南

Python: 接收短信指南 在现代通讯中,短信一直是一种极其流行的通信手段。许多企业和组织使用短信与客户或用户进行交互。在很多情况下,接收短信自动化将使您的业务流程更加高效。Python 是一种强大的通用编程语言,可用于构建各种软件应用程序…

每日言论:『计划的价值』

公众号关注 「奇妙的 Linux 世界」 设为「星标」,每天带你玩转 Linux ! ​ 最近,我们建立了一个技术交流微信群。目前群里已加入了不少行业内的大神,有兴趣的同学可以加入和我们一起交流技术,在 「奇妙的 Linux 世界」…

外星人大战----------------------游戏开发(四)

前面已经实现外星人的移动,现在开始完成射杀外星人。我们将要使用sprite.groupcollide()检测两个编组的碰撞。我们要在碰撞的时候立马就让外星人消失,所以在更新位置的时候就检测有无碰撞。 在功能模块检测子弹与外星人,方法sprite.groupcoll…

外星人大战---------------------游戏开发

因为基本知识已经学习的差不多了,做三个实例更加上手学习,第一个实例是游戏开发,外星人,第二个是数据处理,第三个是web开发,这一个月尽量完成第一个实例。 首先对于游戏开发,会经常使用pygame模…

波克城市:从Impala到StarRocks,让游戏分析焕发新活力

作者:波克城市大数据平台部门 波克科技股份有限公司(以下简称“波克城市”)成立于 2010 年,立足于精品休闲游戏的全球化研发、发行,旗下拥有《爆炒江湖》《我是航天员》《猫咪公寓》等精品休闲游戏,连续五年…

一个人把数学建模比赛打完 520特辑

导读340s## 一个人把数学建模比赛打完 高中生也能听懂的教程 一个记笔记的工具分享:https://pan.baidu.com/s/1lfVn8xa-3xpJnDUVBtdqNQ?pwdv3fk 【https://www.bilibili.com/video/BV1zX4y1X73T/?spm_id_from333.337.search-card.all.click&vd_source6ff28d…

网络安全学术顶会——SP 2023 议题清单、摘要与总结(中)

注:本文由ChatGPT与Claude联合生成 51、Effective ReDoS Detection by Principled Vulnerability Modeling and Exploit Generation 正则表达式拒绝服务攻击(ReDoS)是一种算法复杂度攻击。对于易受攻击的正则表达式,攻击者可以精心…

网络安全学术顶会——CCS '22 议题清单、摘要与总结(上)

注意:本文由GPT4与Claude联合生成。 按语:ChatGPT在计算机领域的翻译质量还是欠缺一些,翻译出来的中文有的不够自然,经常完全按照英文的表达方式来,导致中文特别长,很绕。GPT4的翻译效果相对ChatGPT效果要好…

李开复新公司正式上线!强啊!

点击关注公众号:互联网架构师,后台回复 2T获取2TB学习资源! 上一篇:Alibaba开源内网高并发编程手册.pdf 就在昨天,李开复麾下大模型公司的官网正式上线了。 名为:零一万物。 而且官方域名可以说非常有个性&…

#Microsoft Edge功能测评!# 关于Edge浏览器以及插件推荐

关于Edge浏览器以及插件推荐 1.关于Microsoft Edge......1.1 什么是Microsoft Edge1.2Microsoft Edge的优势 2.Microsoft Edge的分屏功能2.1 如何分屏?2.2分屏的优势 3.Microsoft Edge插件推荐3.1 AIX智能下载器(图片/视频/音乐/文档)3.2 AdGuard 广告拦截器3.3 破解…

ChatGPT、文心一言、New Bing介绍,以及如何选用。新时代,起风了

这里写自定义目录标题 ChatGPT平台介绍特点 New Bing平台介绍特点 文心一言平台介绍特点 总结 随着互联网、物联网技术的发展,人工智能在各行各业中的应用越来越广泛,同时也取得了突破性的进展。以微软小冰为例,它最初只能进行简单的对话&…

百度文心一言可以完胜ChatGPT的4点可能性

文心一言,百度全新一代知识增强大语言模型,文心大模型家族的新成员,能够与人对话互动,回答问题,协助创作,高效便捷地帮助人们获取信息、知识和灵感。但说实话,很多人拿他与ChatGPT相对比&#x…

上手使用百度文心一言

3月16日,在距离新一代的GPT模型GPT-4发布还不足一天的时间内,百度便发布了对标ChatGPT的人工智能产品,名字叫:文心一言。成为国内首页发布该类型产品的公司。 那么,我们今天就来试一试百度的文心一言好不好用。 首先&a…

文心一言 VS ChatGpt

介绍 百度刚推出的文心一言,我们拿到了内测码。来从对比分析、市场预测、文档编写测试一下两个模型。国产AI到底怎么样我们往下看。 对比分析 市场分析 文档编写 总结 其实简单从这三个方便我们就能观察出一点东西,国产AI还需要一段路程要走。但也不是…

浅谈chatGPT——百度文心一言

等了好久终于等到了测试名额,真的有一些意外。从去年chatGPT发布,自然语言处理一下子又火热了起来。还记得研究生期间的方向就是自然语言处理,虽然那是几年前的事了,那时候就想过会有一天机器能“听懂”人类的语言,只是…

chatgpt VS 文心一言使用对比实测

chatgpt VS 文心一言使用对比实测 什么是文心一言 文心一言(英语:ERNIE Bot)是由百度公司开发的聊天机器人,能够与人交互、回答问题及协作创作。该产品被传媒称为国际著名聊天机器人ChatGPT的中国版及其竞争对手[1][2]。目前已开…

ChatGpt vs 文心一言,谁更厉害

前言 ​ 当下最火的人工智能毫无疑问是大模型的聊天机器人,ChatGpt的出现,让无数人为之惊叹,它聪明、逻辑清晰、又什么都懂,甚至被人们认为是第四次工业革命的开端。AI的大模型之争,美国的OpenAI已经率先拔得头筹&…