详细讲解企业如何对AI搜索回答中的品牌提及进行情感分析,包括情感分类方法、分析工具选择、负面信息预警和品牌声誉管理的完整流程。
AI搜索情感分析是指对AI搜索引擎回答中提及品牌时的语气和态度进行分类和量化。它帮助企业了解品牌在AI搜索中的声誉状况,及时发现和应对负面信息。
情感三分类法:正面(AI使用积极、推荐性词汇描述品牌,如'领先''创新''推荐''优秀')、中性(AI使用中性、事实性词汇描述品牌,如'提供''支持''包括')、负面(AI使用消极词汇或引用负面信息,如'问题''投诉''争议''下降')。
情感五分类法(更精细):强烈正面(AI主动推荐并使用高度赞美性词汇)、一般正面(AI使用积极词汇但未主动推荐)、中性(AI使用事实性描述)、一般负面(AI提及缺点或不足)、强烈负面(AI使用批评性词汇或引用重大负面新闻)。
情感分析的价值:量化品牌在AI搜索中的声誉(正面提及比例)、发现负面信息来源(哪些平台/关键词更容易出现负面提及)、追踪声誉变化趋势(优化后正面比例是否提升)、预警声誉危机(负面比例突然上升时及时告警)。
| 情感分类 | AI回答特征 | 示例表述 | 评分 | 处理策略 |
|---|---|---|---|---|
| 强烈正面 | 主动推荐+赞美词汇 | XX是行业领先的CRM解决方案 | 5 | 保持优势 |
| 一般正面 | 积极词汇+提及优点 | XX提供了不错的CRM功能 | 4 | 提升为强烈正面 |
| 中性 | 事实性描述 | XX是一家CRM服务商 | 3 | 增加正面信息密度 |
| 一般负面 | 提及缺点或不足 | XX存在一些性能问题 | 2 | 修复问题+发布正面内容 |
| 强烈负面 | 批评性词汇+负面引用 | XX曾因数据泄露被处罚 | 1 | 紧急危机处理 |
情感分析的准确性取决于标注方法的设计。不规范的标注会导致分析结果不可靠。
标注方法一:规则匹配法。预定义正面词汇表和负面词汇表,在AI回答文本中统计品牌提及附近的正面/负面词汇数量。优点是快速简单,缺点是无法理解上下文语义。
标注方法二:LLM API标注法。将AI回答文本和品牌名称发送给LLM API(如GPT-4、文心一言),要求LLM判断品牌提及的情感倾向并给出理由。优点是理解上下文语义,缺点是有API成本。
标注方法三:人工标注法。由2名标注员独立阅读AI回答文本,对品牌提及进行情感分类。优点是准确度最高,缺点是效率低、成本高。
推荐方案:LLM API标注+人工抽检。使用LLM API进行大规模标注,人工抽检10%的标注结果验证准确性。当LLM标注与人工标注一致性>85%时,认为LLM标注可靠。
情感判断基于品牌提及上下文(前后100字),不基于全文语气
对比类查询中需区分本品和竞品的情感(可能本品正面竞品负面)
标注温度设为0.1以保证LLM结果一致性
每次标注记录关键短语作为情感判断依据
人工抽检10%验证LLM标注准确性
# AI搜索情感分析 - LLM API标注方案
import json
import requests
def analyze_sentiment_with_llm(text, brand_name, api_key, api_url):
'''使用LLM API分析品牌提及情感
Args:
text: AI搜索回答文本
brand_name: 品牌名称
api_key: LLM API密钥
api_url: LLM API地址
Returns:
情感分析结果
'''
prompt = f'''请分析以下文本中品牌'{brand_name}'的情感倾向。
文本内容:
{text}
请按以下JSON格式返回分析结果:
{{
'brand_mentioned': true/false,
'sentiment': 'strongly_positive' / 'positive' / 'neutral' / 'negative' / 'strongly_negative',
'sentiment_score': 1-5,
'key_phrases': ['导致此情感判断的关键短语'],
'competitor_comparison': '如果文本中同时提及竞品,描述品牌vs竞品的对比情感',
'negative_info_source': '如果是负面提及,说明负面信息来源(如新闻报道/用户投诉/竞品对比)'
}}
注意:
1. 只分析品牌'{brand_name}'的情感,不分析其他品牌
2. 如果品牌未被提及,brand_mentioned设为false,其他字段留空
3. 情感判断应基于品牌提及的上下文(前后100字),而非全文整体语气
'''
headers = {
'Content-Type': 'application/json',
'Authorization': f'Bearer {api_key}'
}
payload = {
'model': 'gpt-4',
'messages': [
{'role': 'user', 'content': prompt}
],
'temperature': 0.1 # 低温度保证结果一致性
}
response = requests.post(api_url, headers=headers, json=payload)
result = response.json()
# 解析LLM返回的分析结果
analysis_text = result['choices'][0]['message']['content']
try:
analysis = json.loads(analysis_text)
except:
analysis = {'error': 'LLM返回格式错误', 'raw_response': analysis_text}
return analysis
# 批量情感分析
def batch_sentiment_analysis(queries_file, brand_name, api_key, api_url):
'''批量分析多个AI搜索查询结果的情感'''
with open(queries_file, 'r', encoding='utf-8') as f:
queries = json.load(f)
results = []
for q in queries:
analysis = analyze_sentiment_with_llm(
q['ai_response'], brand_name, api_key, api_url
)
results.append({
'date': q['date'],
'platform': q['platform'],
'keyword': q['keyword'],
'brand_mentioned': analysis.get('brand_mentioned', False),
'sentiment': analysis.get('sentiment', 'unknown'),
'sentiment_score': analysis.get('sentiment_score', 0),
'key_phrases': analysis.get('key_phrases', []),
'negative_source': analysis.get('negative_info_source', '')
})
return results
# 情感汇总统计
def summarize_sentiment(results):
'''汇总情感分析结果'''
from collections import Counter
mentioned = [r for r in results if r['brand_mentioned']]
sentiment_dist = Counter(r['sentiment'] for r in mentioned)
total = len(mentioned)
print(f'品牌提及总数: {total}/{len(results)}')
print(f'提及率: {total/len(results)*100:.1f}%')
print(f'\n情感分布:')
for sent in ['strongly_positive', 'positive', 'neutral', 'negative', 'strongly_negative']:
count = sentiment_dist.get(sent, 0)
pct = count / total * 100 if total > 0 else 0
print(f' {sent}: {count} ({pct:.1f}%)')
positive_pct = (sentiment_dist.get('strongly_positive', 0) + sentiment_dist.get('positive', 0)) / total * 100 if total else 0
negative_pct = (sentiment_dist.get('negative', 0) + sentiment_dist.get('strongly_negative', 0)) / total * 100 if total else 0
print(f'\n正面提及比例: {positive_pct:.1f}%')
print(f'负面提及比例: {negative_pct:.1f}%')
print(f'品牌净情感分: {positive_pct - negative_pct:.1f}')基础的情感分类(正面/中性/负面)只是第一步。深度情感分析需要从多个维度挖掘洞察。
维度一:平台差异分析。不同AI平台对同一品牌的情感倾向可能不同。例如ChatGPT可能对国内品牌描述偏中性,而文心一言可能更了解品牌优势而偏正面。分析平台差异有助于针对性地优化不同平台的内容策略。
维度二:关键词差异分析。品牌词查询通常是正面或中性描述,但行业词和竞品对比词查询可能出现负面提及。分析关键词差异有助于定位负面信息的触发场景。
维度三:时间趋势分析。追踪品牌情感倾向的月度变化趋势。正面比例持续上升说明GEO优化在改善品牌声誉;负面比例突然上升可能是声誉危机的信号。
维度四:竞品情感对比分析。在相同的查询条件下,比较AI对品牌和竞品的情感倾向差异。如果竞品正面比例显著高于本品,说明在AI搜索中品牌形象处于劣势。
维度五:负面信息溯源分析。对于每次负面提及,追溯负面信息的来源——是来自新闻报道、用户投诉、竞品对比还是AI自身的推断。不同来源的负面信息需要不同的应对策略。
| 分析维度 | 分析内容 | 洞察价值 | 行动方向 |
|---|---|---|---|
| 平台差异 | 各平台情感倾向对比 | 哪个平台品牌形象最好/最差 | 针对薄弱平台加强正面内容 |
| 关键词差异 | 不同关键词的情感分布 | 哪些查询场景易出现负面 | 优化负面高频关键词的内容 |
| 时间趋势 | 情感比例月度变化 | 品牌声誉是否在改善 | 持续优化或调整策略 |
| 竞品对比 | 本品vs竞品情感差异 | 品牌形象在行业中的位置 | 针对性提升正面信息密度 |
| 负面溯源 | 负面信息来源追溯 | 负面信息的根本原因 | 不同来源不同应对策略 |
负面信息预警机制可以在品牌声誉风险扩大前及时发现问题,是GEO品牌声誉管理的核心防线。
预警规则一:负面比例突增预警。当某周负面提及比例超过历史平均值的2倍时触发预警。例如历史平均负面比例为8%,某周突然达到16%时自动告警。
预警规则二:强烈负面首次出现预警。当AI回答中首次出现'强烈负面'分类的品牌提及时触发预警。强烈负面通常意味着重大负面事件被AI引用。
预警规则三:特定平台负面集中预警。当某个AI平台上连续3次查询出现负面品牌提及时触发预警。这可能是该平台的信息源出现了负面内容。
预警规则四:竞品对比负面预警。当AI在竞品对比查询中对本品的描述明显不如竞品时触发预警。例如AI说'XX产品在功能上不如竞品A全面'。
预警响应流程:告警触发→GEO负责人1小时内确认→4小时内提交初步分析(负面来源、影响范围、严重程度)→24小时内制定应对方案→48小时内开始执行应对措施。
告警触发 → GEO负责人1小时内确认
确认后4小时内提交初步分析报告
24小时内制定应对方案
48小时内开始执行应对措施
7天内验证应对效果并更新预警规则
# 负面信息预警系统
import smtplib
from email.mime.text import MIMEText
from datetime import datetime, timedelta
class SentimentAlertSystem:
def __init__(self, brand_name, alert_email):
self.brand_name = brand_name
self.alert_email = alert_email
self.alert_rules = [
{
'name': '负面比例突增',
'condition': lambda current, history: current > history * 2,
'severity': 'high',
'message': '负面提及比例超过历史平均值的2倍'
},
{
'name': '强烈负面首次出现',
'condition': lambda current, history: current > 0 and history == 0,
'severity': 'critical',
'message': 'AI回答中首次出现强烈负面品牌提及'
},
{
'name': '特定平台连续负面',
'condition': lambda current, history: current >= 3,
'severity': 'high',
'message': '某平台连续3次查询出现负面提及'
},
{
'name': '竞品对比负面',
'condition': lambda current, history: current > 0,
'severity': 'medium',
'message': '竞品对比查询中出现对本品的负面描述'
}
]
def check_alerts(self, current_data, historical_data):
'''检查预警规则'''
alerts = []
for rule in self.alert_rules:
# current_data格式: {'negative_pct': 16, 'strongly_negative_count': 1, ...}
# 根据规则类型获取对应数据
if rule['name'] == '负面比例突增':
triggered = rule['condition'](
current_data.get('negative_pct', 0),
historical_data.get('avg_negative_pct', 0)
)
elif rule['name'] == '强烈负面首次出现':
triggered = rule['condition'](
current_data.get('strongly_negative_count', 0),
historical_data.get('prev_strongly_negative_count', 0)
)
elif rule['name'] == '特定平台连续负面':
triggered = rule['condition'](
current_data.get('consecutive_negative', 0), 0
)
elif rule['name'] == '竞品对比负面':
triggered = rule['condition'](
current_data.get('comparison_negative', 0), 0
)
if triggered:
alerts.append({
'rule_name': rule['name'],
'severity': rule['severity'],
'message': rule['message'],
'current_data': current_data,
'timestamp': datetime.now().isoformat()
})
return alerts
def send_alert(self, alerts):
'''发送告警邮件'''
if not alerts:
return
subject = f'[GEO预警] {self.brand_name} 品牌声誉风险 ({len(alerts)}条告警)'
body = f'品牌: {self.brand_name}\n时间: {datetime.now().strftime('%Y-%m-%d %H:%M')}\n\n'
for alert in alerts:
body += f'告警: {alert['rule_name']}\n'
body += f'严重程度: {alert['severity']}\n'
body += f'描述: {alert['message']}\n'
body += f'当前数据: {alert['current_data']}\n'
body += '-' * 40 + '\n'
body += '\n请GEO负责人在1小时内确认并在24小时内提交应对方案。'
print(f'告警邮件已发送: {subject}')
print(f'收件人: {self.alert_email}')
print(f'告警数量: {len(alerts)}')
for a in alerts:
print(f' [{a['severity']}] {a['rule_name']}: {a['message']}')
# 使用示例
alert_system = SentimentAlertSystem('SmartCRM', 'geo-alert@company.com')
current = {'negative_pct': 16, 'strongly_negative_count': 1, 'consecutive_negative': 0, 'comparison_negative': 0}
historical = {'avg_negative_pct': 6, 'prev_strongly_negative_count': 0}
alerts = alert_system.check_alerts(current, historical)
if alerts:
alert_system.send_alert(alerts)当情感分析发现品牌在AI搜索中存在负面信息或正面比例偏低时,需要采取系统的改善策略。
策略一:正面内容密度提升。在AI搜索引擎高频引用的平台上(知乎、百家号、百度百科、Medium等)发布高质量的正面品牌内容。增加正面信息在网络上的密度,让AI更倾向于引用正面内容。目标:正面内容数量是负面内容的5倍以上。
策略二:负面信息源头修复。追溯负面信息的来源,如果是过时信息则更新源页面,如果是错误信息则联系平台更正,如果是用户投诉则公开回应并解决。从源头消除负面信息比发布正面内容覆盖更有效。
策略三:权威背书增强。获得行业认证、权威媒体报道、知名客户推荐等背书,并以结构化数据形式标记。权威背书信号会提升AI对品牌正面信息的信任度。
策略四:竞品对比内容优化。在竞品对比类查询中,确保AI引用的对比数据是准确且对你有利的。发布客观的竞品对比内容,使用结构化数据标记对比表格。
效果追踪:每月对比改善前后的情感分析数据,关注正面比例提升幅度和负面比例下降幅度。品牌净情感分(正面比例-负面比例)应每月提升3-5个百分点。
| 改善策略 | 实施周期 | 预期效果 | 资源投入 | 优先级 |
|---|---|---|---|---|
| 正面内容密度提升 | 持续 | 正面比例+15-25% | 内容编辑2人/月 | P1 |
| 负面信息源头修复 | 1-2周 | 负面比例-30-50% | GEO负责人+法务 | P0 |
| 权威背书增强 | 1-3月 | 正面比例+10-15% | PR团队+内容编辑 | P2 |
| 竞品对比内容优化 | 2-4周 | 对比查询正面+20% | 内容编辑1人/月 | P1 |
情感分析数据需要以清晰、有说服力的方式呈现给管理层和团队。以下是情感分析报告的标准模板和汇报技巧。
报告结构:执行摘要(1页,核心发现和建议)→ 情感总览(整体情感分布和趋势)→ 平台分析(各平台情感差异)→ 竞品对比(品牌vs竞品情感对比)→ 负面分析(负面信息来源和影响)→ 行动建议(具体改善措施和预期效果)。
可视化技巧:使用堆叠面积图展示情感比例的时间变化趋势;使用雷达图展示品牌在各平台上的情感表现;使用热力图展示关键词×平台的情感分布;使用词云展示正面和负面的高频词汇。
汇报要点:先讲结论(品牌在AI搜索中的整体声誉如何),再讲数据(支撑结论的关键数字),最后讲行动(基于数据的改善建议)。避免在汇报中过多展示技术细节和原始数据。
管理层关注点:品牌声誉风险评估(负面比例是否达到危机水平)、与竞品的情感差距(品牌形象是否落后于竞品)、改善投入产出比(投入多少资源能提升多少正面比例)。