5.5 本章实战练习
5.5 本章实战练习
本节提供递进式的练习题,帮助读者巩固少样本学习的知识,并应用到实际场景中。
练习一:情感分析对比实验(基础通用)
目标:亲身体验零样本与少样本在处理模糊文本时的效果差异。
任务描述: 你需要构建一个简单的提示词,判断用户评论的情感倾向(正面、负面、中性)。
测试数据:
“这东西说实话不错,就是物流慢了点,客服态度也一般。”(混合情感)
“价格是便宜,但质量真不敢恭维。”(转折句,实贬)
“还行吧。”(中性偏弱)
步骤:
零样本测试:直接编写指令,让模型判断上述三条评论的情感。
少样本构建:编写 3 个示例(正面、负面、混合各一个),加入到提示词中。
少样本测试:使用带有示例的提示词再次测试上述三条评论。
思考:
在处理混合情感(如第 1 条)时,加入示例后模型的判断依据是否更明确了?
示例的格式(如 JSON 输出)是否帮助模型更准确地输出了你期望的结构?
练习二:脏数据清洗与提取(进阶技巧)
目标:学习利用少样本示例处理格式混乱的脏数据。
任务描述: 从格式不统一的用户地址输入中,提取标准的结构化信息(省、市、区、详细地址)。
输入数据(脏数据):
“北京朝阳区建国路 88 号 SOHO 现代城”(缺少“市”)
“广东省深圳市南山区深南大道 TX 大厦”(标准)
“杭州余杭区文一西路 (梦想小镇)”(包含括号备注,缺少“省”)
挑战: 模型往往容易忽略缺失的行政区划,或者保留括号内的无关备注。
练习要求:
设计 2-3 个示例,专门展示如何处理:
省略“省”或“市”的情况(示例中自动补全或留空,取决于你的定义)。
去除地址中的噪音(如括号备注)。
验证模型是否能按照你示例中的逻辑正确处理第 1 和第 3 条数据。
练习三:构建动态意图识别器(实战场景)
目标:模拟客服场景,设计一个能够根据少样本准确识别用户意图的系统。
场景背景: 你正在为一个电商平台开发智能客服。主要的意图类型包括:
logistics_inquiry(物流查询)return_request(退换货申请)product_consultation(商品咨询)human_agent(转人工)
任务:
为每个意图编写 1-2 个典型示例( Input -> Intent)。
负面示例设计(重要):设计一个示例,教模型区分“抱怨物流慢”(属于
logistics_inquiry或complaint)与“我要退货”(属于return_request)。很多模型容易混淆这两者。编写提示词,要求模型输出 JSON 格式,包含
intent和confidence(置信度)。
代码实现思路( Python 伪代码):
扩展思考: 如果用户说:“我想问问退货的运费是谁出?”,这应该属于 return_request 还是 product_consultation(或 policy_inquiry)?尝试通过添加示例来微调模型的判断边界。
参考实现代码
以下是本章练习的参考 Python 实现。
1. 零样本与少样本对比:Zero-Shot vs Few-Shot
zero_vs_few_shot.py
2. 动态示例选择器 ( Dynamic Selector)
dynamic_selector.py
最后更新于
