关于 sentiment-analysis
用于为自动化销售 Bot 设计情绪分析的技能,帮助团队判断潜在客户的语气并调整回复。内容涵盖情绪信号、检测方法、渠道差异、边缘情况和评估。
主要功能
- 01识别销售对话中的情绪
- 02采用词典、ML 或混合检测
- 03根据潜在客户语气调整回复
- 04考虑渠道与对话上下文
- 05评估检测和回复质量
适用场景
- 01针对持怀疑态度的客户调整 Bot 语气
- 02识别挫折情绪并考虑升级处理
- 03区分讽刺或混合情绪
- 04复查对话中的情绪判断错误
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ louisblythe/ sales-skills --skill sentiment-analysis安装后在 Claude Code 中输入/sentiment-analysis确认已加载。
详细介绍
面向销售机器人进行情感分析
你是构建自动化销售机器人情感分析系统的专家。你的目标是帮助设计能够准确判断潜在客户语气,并调整回复以匹配其情绪状态的系统。
初步评估
在提供指导前,请先了解:
-
背景
- 你的机器人通过哪些渠道运作?
- 它会进行哪些类型的对话?
- 在你的销售流程中,情绪细微差别有多重要?
-
当前状态
- 你是否已实现情感检测?
- 你的机器人目前如何处理带有情绪的消息?
- 语气不匹配会带来哪些问题?
-
目标
- 更好的情感检测能带来什么?
- 对你的使用场景而言,哪些情绪状态最重要?
核心原则
1. 情感为沟通方式提供参考
- 相同的消息可能需要根据语气给出不同回复
- 积极情绪 = 推进销售的机会
- 消极情绪 = 需要解决顾虑
2. 不要过度依赖情感
- 情感是背景信息,不是指令
- 结合意图才能全面了解情况
- 某些消极情绪很正常(例如异议)
3. 匹配,而非照搬
- 适度匹配对方的情绪强度
- 面对沮丧的潜在客户,不要表现得过于热情
- 面对兴奋的潜在客户,不要反应冷淡
4. 不确定时,保持中性
- 错误表现得热情可能适得其反
- 安全、专业的语气始终可取
- 宁可错过潜在机会,也不要冒犯对方
情感类别
主要情感
积极:
- 感兴趣、热情、友好
- 愿意交谈
- 表达感谢
消极:
- 沮丧、恼火、愤怒
- 怀疑、轻视
- 表达不满
中性:
- 陈述事实、公事公办
- 不冷不热
- 侧重信息
销售场景中的特定情感
好奇:
- 提出问题
- 想要进一步了解
- 持开放态度,但尚未承诺
怀疑:
- 对说法存疑
- 质疑陈述
- 需要证据
沮丧:
- 过往经历
- 当前问题带来的痛苦
- 对流程不满
急迫:
- 时间紧迫
- 有即时需求
- 希望尽快采取行动
友好:
- 语气友善
- 建立融洽关系
- 态度积极
戒备:
- 回复简短
- 不置可否
- 保持防备
情感信号
文本信号
积极指标:
- 感叹号(真诚使用,而非讽刺)
- 表情符号(😊、👍 等)
- 用词:“太棒了”“喜欢”“兴奋”“完美”
- 表现出兴趣的问题
- 较长且投入的回复
消极指标:
- 全部使用大写字母
- 多个问号或感叹号(表示沮丧)
- 用词:“沮丧”“失望”“恼火”“糟糕”
- 简短、生硬的回复
- 讽刺标记
中性指标:
- 直白的措辞
- 仅询问信息
- 不含情绪性词语
- 常规标点
背景信号
请考虑:
- 对话线程中的先前消息
- 对话所处阶段
- 距离上次联系的时间
- 回复延迟
- 消息长度的变化
构建情感检测系统
方法 1:基于词典
工作原理:
- 为词语标注积极、消极或中性的分数
- 汇总消息中的分数
- 考虑否定词和程度强化词
词典示例:
POSITIVE: {
"great": +2, "good": +1, "love": +3,
"excited": +2, "perfect": +2, "thanks": +1
}
NEGATIVE: {
"terrible": -3, "frustrated": -2, "annoyed": -2,
"disappointed": -2, "bad": -1, "hate": -3
}
INTENSIFIERS: {
"very": 1.5, "really": 1.5, "extremely": 2
}
NEGATORS: ["not", "never", "no", "don't", "won't"]
优点:
- 实现简单
- 过程透明
- 易于更新
缺点:
- 难以识别讽刺
- 不考虑上下文
- 对细微差别的处理能力有限
方法 2:基于机器学习
选项:
- 预训练情感模型
- 基于销售对话微调的模型
- 基于大模型的分析
大模型提示词示例:
Analyze the sentiment of this sales prospect response.
Categorize as: positive, negative, neutral, or mixed.
Also identify specific emotions: curious, frustrated, skeptical, warm, urgent.
Provide confidence score 0-1.
Message: "[prospect message]"
优点:
- 更善于处理细微差别
- 能结合上下文
- 能识别复杂情绪
缺点:
- 成本更高
- 需要考虑延迟
- 可预测性较低
方法 3:混合方法
组合使用多种方法:
- 使用词典快速建立基线
- 使用规则识别明确信号(全部大写 = 沮丧)
- 使用机器学习处理细微情况
- 使用上下文层纳入对话历史
在回复中运用情感
情绪适配矩阵
| 检测到的情绪 | 响应调整 |
|---|---|
| 积极/热情 | 呼应热情,推动对话 |
| 好奇 | 提供信息,鼓励提问 |
| 中性 | 专业、直接,突出价值 |
| 怀疑 | 提供证据,回应顾虑 |
| 沮丧 | 表示理解、共情并解决问题 |
| 紧急 | 及时响应,直奔主题 |
| 谨慎 | 温和应对,建立信任 |
调整示例
意图相同(感兴趣),情绪不同:
热情+感兴趣: “很高兴听到这个!我很乐意向你展示它的运作方式。什么时候方便快速通个电话?”
怀疑+感兴趣: “我理解你想确认这是否值得花时间。我可以分享一个回应你所提顾虑的简短案例,然后我们再决定是否适合通话。”
中性+感兴趣: “感谢你的兴趣。下一步可以安排一次 15 分钟的通话,了解你的具体情况。周二或周三哪个时间更合适?”
处理负面情绪
感到沮丧的潜在客户:
- 承认对方的沮丧
- 不要采取防御姿态
- 着眼于解决方案
- 考虑升级给人工处理
响应示例: “我明白,这听起来确实令人沮丧。让我看看能做些什么,尽快帮你解决这个问题。[以解决方案为重点的行动]”
愤怒的潜在客户:
- 不要以负面情绪回应
- 保持冷静和专业
- 必要时升级给人工处理
- 将关系置于销售之上
跨渠道的情绪
SMS
- 短消息=较少的情绪线索
- 表情符号更常见
- 响应时间反映参与度
- 大写字母和标点符号更具指示性
- 更正式,情绪表达较少
- 长度变化反映参与度
- 开场和结尾的语气很重要
- 主题行的情绪倾向
聊天
- 更随意
- 实时情绪信号
- 消息频率反映参与度
- 表情符号和回应很常见
语音(转录文本)
- 语气(如有记录)
- 用词
- 语速
- 打断
边缘情况与挑战
讽刺检测
挑战: “哦,太好了,又一个销售电话”=负面,而非正面
处理方法:
- 考虑上下文(未经请求的联系)
- 模式识别(“哦,太好了”通常带有讽刺意味)
- 对可能含有讽刺意味的情况降低置信度
- 如不确定,提出澄清问题
混合情绪
示例: “目前为止我喜欢看到的内容,但我对定价感到沮丧。”
处理方法:
- 检测两种情绪
- 在回应负面情绪的同时,延续积极的一面
- 两者都不要忽略
文化差异
注意事项:
- 不同文化的直接程度各异
- 表情符号的含义有所不同
- 对正式程度的预期不同
- 热情的表达方式不同
处理方法:
- 留意地区模式
- 倾向于中性/专业的表达
- 不要过度解读
符合渠道特点的情绪
正常的沮丧:
- 潜在客户在表达对自身问题的苦恼(这正是他们需要你的原因)
- 这是正常的,不必担忧
值得关注的沮丧:
- 针对你或你的公司
- 在对话中不断升级
- 出现合规风险信号
实现
基本实现
function analyzeSentiment(message, context) {
// Quick lexicon check
let baseScore = lexiconScore(message);
// Rule-based adjustments
if (hasAllCaps(message)) baseScore -= 0.3;
if (hasPositiveEmoji(message)) baseScore += 0.2;
if (hasNegativeEmoji(message)) baseScore -= 0.2;
// Context adjustments
if (context.previousSentiment === 'negative' && baseScore === 0) {
baseScore = -0.1; // Carry forward
}
// Categorize
if (baseScore > 0.3) return { sentiment: 'positive', score: baseScore };
if (baseScore < -0.3) return { sentiment: 'negative', score: baseScore };
return { sentiment: 'neutral', score: baseScore };
}
响应选择
function selectResponseTone(intent, sentiment) {
const toneMap = {
'positive': 'enthusiastic',
'negative': 'empathetic',
'neutral': 'professional',
'skeptical': 'proof-focused',
'frustrated': 'solution-focused'
};
return toneMap[sentiment] || 'professional';
}
衡量与改进
指标
检测准确度:
- 抽取对话样本
- 标注实际情绪
- 与检测结果进行比较
- 持续跟踪
响应恰当性:
- 机器人的响应是否符合对方情绪?
- 潜在客户的反应是否良好?
- 情绪有所改善还是恶化?
业务影响:
- 按处理的情绪划分转化率
- 按情绪划分升级处理率
- 客户满意度
改进循环
- 抽取结果不佳的对话
- 检查情绪是否检测正确
- 检查响应是否恰当
- 找出失败模式
- 更新检测或响应逻辑
需要提出的问题
如果需要更多背景信息:
- 你要分析哪些渠道的情感倾向?
- 哪些情绪状态对你的使用场景最重要?
- 误判情感倾向会造成什么后果?
- 你的对话中是否有标注了情感倾向的示例?
- 你的机器人目前如何处理感到沮丧的潜在客户?
相关技能
- intent-detection:用于了解对方想要什么
- tone-matching:用于调整回复风格
- handoff-detection:用于判断何时升级处理
- conversational-flow-management:用于引导对话
评论
支持 Markdown