AI回答里提到品牌就算推荐吗?从测量指标说起
最近在搭建品牌AI回答测量系统时,遇到一个基础但容易混淆的问题:AI回答里提到一个品牌,就算推荐吗?
一开始我们简单地把“出现品牌名”当作一次有效提及,但很快发现,有些回答只是举例,有些是并列对比,有些甚至是否定。如果把这些都算作推荐,指标就失真了。
这篇文章从测量指标的定义出发,说明提及和推荐的区别,以及在实际采集和统计中如何避免混淆。
一、问题背景
测量系统需要统计品牌在AI回答中的呈现情况。最初我们只统计“品牌是否被提到”,但业务方关心的是“品牌是否被推荐”。两者含义不同:
- 提及:品牌名出现在回答中,无论上下文是正面、中性还是负面。
- 推荐:回答明确建议用户选择该品牌,或将其列为优先选项。
如果不加区分,一个被举例的品牌和一个被推荐的品牌在指标上无法区分,测量结果对业务决策的帮助就有限。
二、整体思路
我们的方案分四步:
- 定义清晰的指标口径,区分提及和推荐。
- 在采集流程中保留原始回答,不提前截断。
- 通过实体识别和上下文分析,判断品牌是“被提到”还是“被推荐”。
- 在统计时分别计算提及率和推荐率,并保留平台、问题、时间维度。
三、核心模块设计
1. 指标定义
- 提及率 = 包含该品牌名的回答数 / 有效回答总数
- 推荐率 = 明确推荐该品牌的回答数 / 有效回答总数
推荐判断标准:回答中出现“推荐”“首选”“建议使用”“值得考虑”等推荐性表述,且品牌是推荐的主体。
2. 采集流程
采集时,我们保存AI回答的完整文本,不截断。因为推荐判断需要上下文,仅靠片段容易误判。
3. 实体识别与上下文分析
识别品牌名后,对包含该品牌的句子进行推荐性分析。
- 使用关键词匹配+规则:如果句子包含推荐性动词且品牌是宾语,则标记为推荐。
- 边界情况:如果回答是“A和B都是不错的选择”,则A和B都算推荐;如果回答是“我不推荐A”,则A不算推荐。
4. 统计计算
统计时,同一品牌在同一回答中多次出现只计一次。推荐判断基于整段回答的语义,不只看单句。
四、数据结构与配置
以下为示例设计,实际字段需根据项目调整。
{
"answer_id": "uuid",
"brand_mentions": [
{
"brand_name": "New Balance",
"is_recommended": true,
"evidence_sentence": "推荐New Balance的Fresh Foam系列"
}
]
}
五、核心代码或伪代码
def is_recommended(answer_text, brand_name):
# 简单规则:包含推荐关键词且品牌名在附近
recommend_keywords = ["推荐", "首选", "建议", "值得考虑"]
for kw in recommend_keywords:
if kw in answer_text and brand_name in answer_text:
# 进一步检查品牌是否在推荐语境中
return True
return False
六、验证方式
验证推荐判断的准确性:
- 人工标注100条回答,对比规则判断结果。
- 计算精确率和召回率,调整关键词列表。
七、踩坑与改进
坑:否定句误判
问题现象:回答“不推荐A品牌”,被标记为推荐。
原因分析:只匹配了关键词“推荐”,没有考虑否定词。
解决方案:在推荐关键词前检查是否有否定词(“不”“没”“别”)。
验证方式:对包含否定词的句子重新测试。
八、总结
本文区分了AI回答中的品牌提及与推荐,并给出了测量工程中的处理方法。核心是:指标定义要清晰,采集要保留完整上下文,判断要处理边界情况。当前方案基于规则,对复杂语义的识别有限,后续可引入轻量级分类模型。
方案适合品牌监测场景,不适用于需要精确情感分析的场景。
浙公网安备 33010602011771号