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/354778.html

相关文章

ChatGPT-4 vs Bard:对于 PostgreSQL 开发者来说有什么区别?

在人工智能 (AI) 进步的快节奏世界中,开发人员正在寻找最高效和突破性的解决方案来加快和提高他们的工作质量。对于 PostgreSQL 开发人员来说,选择理想的 AI 支持的工具以最专业的方式解决他们的查询至关重要。 近年来,人工智能工具的普及率…

HACKABLE: III

文章目录 HACKABLE: III实战演练一、前期准备1、相关信息 二、信息收集1、端口扫描2、访问网站3、查看网站源码4、扫描目录5、访问网址6、查看并下载7、访问网站8、查看文件9、解密10、访问网站11、访问网站12、查看文件13、解密14、访问网站15、访问网站16、下载图片17、隐写1…

ChatGPT:你真的了解网络安全吗?浅谈网络安全攻击防御进行时之网络安全新定义

ChatGPT:你真的了解网络安全吗?浅谈网络安全攻击防御进行时 网络安全新定义 ChatGPT(全名:Chat Generative Pre-trained Transformer),美国OpenAI 研发的聊天机器人程序,是人工智能技术驱动的自…

Vulkan Tutorial 4

11 framebuffer 我们已经将渲染传递设置为期望一个与交换链图像格式相同的单一帧缓冲,但我们还没有实际创建任何图像。 在渲染过程创建期间指定的附件通过将它们包装到一个VkFramebuffer对象中来绑定。帧缓冲区对象引用 VkImageView代表附件的所有对象。 std::ve…

平板电脑哪种电容笔更好用?平价好用的iPad电容笔推荐

我是一个非常喜欢数码产品的发烧者,多少了解一些关于电容笔的知识。我想,苹果原装的电容笔与普通的电容笔的不同之处就是他们所能产生的压力感觉不同。由于苹果的电容笔拥有独一无二的“重力压感”,使得它可以让我们在一幅画面中快速填充色彩…

如何在 Fedora 37 上安装 FileZilla?

FileZilla 是一款流行的开源 FTP(文件传输协议)客户端,它提供了一个直观的界面来管理和传输文件。本文将详细介绍如何在 Fedora 37 上安装 FileZilla。以下是安装过程的详细步骤: 步骤一:更新系统 在安装任何软件之前…

Python统计学13——回归的多重共线性、异方差、自相关的检验

在基础统计学,或者是计量经济学里面,需要对回归问题进行一些违背经典假设的检验,例如多重共线性、异方差、自相关的检验。这些检验用stata,r,Eviews什么都很简单,但是用python很多人都不会。下面就带大家实…

内行才知道的大数据分析平台

随着这几年来市场需求的增长以及技术的更新,大数据分析平台越来越多地出现在大家的需求采购单上,但面对大数据分析平台,又有多少人知道他们之间的优势区别?今天就从尽量用小白的语言,聊聊内行眼里的大数据分析平台。 …