Prompt Engineering | 推断prompt(一句prompt解锁多个nlp任务!)

news/2024/7/20 17:15:53 标签: prompt, 大模型, 深度学习, 人工智能, chatgpt

😄 大模型大一统的时代来临了,各nlp任务不需要单独准备一份带标签的数据进行有监督训练,而是只需要一句prompt便可以解决各类nlp任务,如情感分类、情感类型识别、实体抽取等,极大地减轻了工作量!

⭐ 比如:你试图总结在线购物电子商务网站的许多评论,对于这些评论来说,弄清楚是什么物品,谁制造了该物品,弄清楚积极和消极的情感,以跟踪特定物品或特定制造商的积极或消极情感趋势,可能会很有用。

文章目录

  • 1、情感分类 prompt
  • 2、情感类型识别 prompt
  • 3、识别是否愤怒 prompt
  • 4、从客户评论中提取产品和公司名称
  • 5、一次完成多个nlp任务
  • 6、推断主题
    • 6.1、推断5个主题
    • 6.2、为特定主题制作新闻提醒

⭐ 下面还是以商品评论为例进行讲解。

prompt_8">1、情感分类 prompt

对商品评论进行情感分类(正面 / 负面):

lamp_review_zh = """
我需要一盏漂亮的卧室灯,这款灯具有额外的储物功能,价格也不算太高。\
我很快就收到了它。在运输过程中,我们的灯绳断了,但是公司很乐意寄送了一个新的。\
几天后就收到了。这款灯很容易组装。我发现少了一个零件,于是联系了他们的客服,他们很快就给我寄来了缺失的零件!\
在我看来,Lumina 是一家非常关心顾客和产品的优秀公司!
"""

prompt = f"""
以下用三个反引号分隔的产品评论的情感是什么?
评论文本: ```{lamp_review_zh}```
"""

输出:
情感是积极的/正面的。

如果你想要给出更简洁的答案,以便更容易进行后处理,可以使用上面的prompt并添加另一个指令,以一个单词 “正面” 或 “负面” 的形式给出答案。这样就只会打印出 “正面” 这个单词,这使得文本更容易接受这个输出并进行处理。

prompt = f"""
以下用三个反引号分隔的产品评论的情感是什么?
用一个单词回答:「正面」或「负面」。
评论文本: ```{lamp_review_zh}```
"""

输出:
正面

prompt_41">2、情感类型识别 prompt

这次让它识别出以下评论所表达的情感列表,不超过五个:

prompt = f"""
识别以下评论的作者表达的情感。包含不超过五个词语。将答案格式化为以逗号分隔的单词列表。
评论文本: ```{lamp_review_zh}```
"""

输出:
满意,感激,信任,赞扬,愉快

prompt_56">3、识别是否愤怒 prompt

对于很多企业来说,了解某个顾客是否非常生气很重要。所以你可能有一个类似这样的分类问题:以下评论的作者是否表达了愤怒情绪?因为如果有人真的很生气,那么可能值得额外关注,让客服及时联系客户以了解情况,并为客户解决问题。

prompt = f"""
以下评论的作者是否表达了愤怒?评论用三个反引号分隔。给出是或否的答案。
评论文本: ```{lamp_review_zh}```
"""

输出:
否
  • 我们鼓励大家尝试更改一些这样的prompt,也许询问客户是否表达了喜悦,看看是否可以让prompt对这个评论做出不同的推论。

4、从客户评论中提取产品和公司名称

下面我们要求模型输出格式化为一个 JSON 对象,其中物品和品牌是键;这样你就可以将输出轻松地加载到 Python 字典中,然后对此输出进行其他处理。

prompt = f"""
从评论文本中识别以下项目:
- 评论者购买的物品
- 制造该物品的公司

评论文本用三个反引号分隔。将你的输出格式化为以 “物品” 和 “品牌” 为键的 JSON 对象。
如果信息不存在,请使用 “未知” 作为值。
让你的回应尽可能简短。
  
评论文本: ```{lamp_review_zh}```
"""


输出:
{
  "物品": "卧室灯",
  "品牌": "Lumina"
}

5、一次完成多个nlp任务

其实也可以写一个prompt来完成上面的所有任务(情感分析+实体抽取):

prompt = f"""
从评论文本中识别以下项目:
- 情绪(正面或负面)
- 审稿人是否表达了愤怒?(是或否)
- 评论者购买的物品
- 制造该物品的公司

评论用三个反引号分隔。将您的输出格式化为 JSON 对象,以 “Sentiment”、“Anger”、“Item” 和 “Brand” 作为键。
如果信息不存在,请使用 “未知” 作为值。
让你的回应尽可能简短。
将 Anger 值格式化为布尔值。

评论文本: ```{lamp_review_zh}```
"""


输出:
{
  "Sentiment": "正面",
  "Anger": false,
  "Item": "卧室灯",
  "Brand": "Lumina"
}

6、推断主题

推断主题:给定一段长文本,这段文本是关于什么的?有什么话题?
⭐ 下面以新闻报纸文章为例进行讲解。

# 中文
story_zh = """
在政府最近进行的一项调查中,要求公共部门的员工对他们所在部门的满意度进行评分。
调查结果显示,NASA 是最受欢迎的部门,满意度为 95%。

一位 NASA 员工 John Smith 对这一发现发表了评论,他表示:
“我对 NASA 排名第一并不感到惊讶。这是一个与了不起的人们和令人难以置信的机会共事的好地方。我为成为这样一个创新组织的一员感到自豪。”

NASA 的管理团队也对这一结果表示欢迎,主管 Tom Johnson 表示:
“我们很高兴听到我们的员工对 NASA 的工作感到满意。
我们拥有一支才华横溢、忠诚敬业的团队,他们为实现我们的目标不懈努力,看到他们的辛勤工作得到回报是太棒了。”

调查还显示,社会保障管理局的满意度最低,只有 45%的员工表示他们对工作满意。
政府承诺解决调查中员工提出的问题,并努力提高所有部门的工作满意度。
"""

6.1、推断5个主题

让模型确定五个正在讨论的主题,用一两个字描述每个主题,并将输出格式化为逗号分隔的列表:

prompt = f"""
确定以下给定文本中讨论的五个主题。

每个主题用1-2个单词概括。

输出时用逗号分割每个主题。

给定文本: ```{story_zh}```
"""

输出:
调查结果, NASA, 社会保障管理局, 员工满意度, 政府承诺

6.2、为特定主题制作新闻提醒

判断这个新闻是否包含我们感兴趣的主题。这样的话有利于当出现某个主题的新闻时,及时输出提醒。

prompt = f"""
判断主题列表中的每一项是否是给定主题列表中的一个话题,
以列表的形式给出答案,每个主题用 0 或 1。
主题列表:美国航空航天局、当地政府、工程、员工满意度、联邦政府

给定文本: ```{story_zh}```
"""







参考链接:
[1] OpenAI
[2] 吴恩达老师的:DeepLearning.AI
[3] DataWhale
[4] https://learn.deeplearning.ai/


http://www.niftyadmin.cn/n/354428.html

相关文章

【MATLAB第35期】基于MATLAB的2023年改进的进化算法优化LSTM时间序列预测模型思路

【MATLAB第35期】基于MATLAB的2023年改进的进化算法优化LSTM时间序列预测模型思路 一、思路 拿第34期的棕熊算法举例: 优化途径: (一)种群初始学习改进 (1)反向学习(OBOA) (2)准反…

JVM——Class类文件结构详解

Class类文件的结构 要了解Class文件的结构首先得了解Class文件所采用的数据类型: Class文件格式采用一种类似C语言结构体的伪结构来存储数据,这种伪结构只有两种数据结构,即无符号数和表,解析Class文件全是以这两个数据结构为基础…

5.6 标准I/O(格式化输入输出)

目录 格式化输出 格式化输入 笔记 流的刷新 流的定位&#xff1a; 格式化输出 格式化输入 标准IO练习 格式化输出 #include <stdio.h> int printf(const char *fmt, …); int fprintf(FILE *stream, const char *fmt, …); int sprintf(char *s, const char *fm…

是德科技keysight E8257D信号发生器

产品概览 Keysight E8257D (Agilent) PSG 模拟信号发生器提供业界领先的输出功率、电平精度和高达 67 GHz 的相位噪声性能&#xff08;工作频率可达 70 GHz&#xff09;。Agilent PSG 模拟信号发生器的高输出功率和卓越的电平精度通常无需使用外部放大器来测试高功率设备&…

【Atlas200】使用Mindx v2接口(C++)完成letterbox,等长宽比缩放后padding操作

目录 letterbox介绍使用python完成letterbox使用Mindx v2接口完成letterbox原图及效果图letterbox介绍 在深度学习中,图像的尺寸对于模型的训练和推理十分重要。为了保持输入图像的纵横比例,避免因缩放导致的失真,通常会对图像进行裁剪或嵌入(padding)操作。其中,letter…

解释 Git 的基本概念和使用方式

Git 是一种分布式版本控制系统&#xff0c;它可以帮助开发人员更好地管理代码&#xff0c;使得团队协作开发变得更加顺畅。以下是 Git 的基本概念和使用方式&#xff1a; 仓库 (Repository)&#xff1a;Git 中最重要的概念是仓库&#xff0c;它是存放代码的地方。一个仓库可以包…

Allegro优化布线常用技巧

delete-cut 在排线布线过程中&#xff0c;有时候需要调整线序&#xff0c; 这时候&#xff0c;可以使用delete-cut&#xff0c;将需要调整的线&#xff0c; 首尾各剪断一小段线&#xff0c; 这样&#xff0c;中间部分&#xff0c;就变成了dummy net&#xff0c;就可以挂靠任意…

电脑正常开机后几分钟就黑屏一直循环怎么办?

电脑正常开机后几分钟就黑屏一直循环怎么办&#xff1f;有用户在使用电脑的时候&#xff0c;正常去进行电脑的开机&#xff0c;但是开机之后&#xff0c;却发现屏幕变成了黑屏&#xff0c;而且重新启动电脑之后&#xff0c;依然是会出现这样的问题&#xff0c;那么这个情况怎么…