You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何让Hugging Face情感分析pipeline支持正向、中性、负向三类输出

问题根源

你当前使用的是Hugging Face情感分析pipeline默认加载的distilbert-base-uncased-finetuned-sst-2-english模型,该模型在SST-2数据集上训练,本身就只支持正向、负向二分类,训练数据中没有中性类样本,所以无论输入是否有明确情感倾向,都会被强制划分到两类之一,自然无法输出中性结果。

可行解决办法

方案1:更换支持三分类的预训练模型(最推荐)

直接在初始化pipeline时指定支持正向、中性、负向三分类的预训练模型即可,无需修改其他逻辑。目前常用的适配模型包括通用场景下的三分类情感分析预训练模型,代码示例如下:

from transformers import pipeline

# 初始化三分类情感分析pipeline
sentiment_analyzer = pipeline(
    task="sentiment-analysis",
    model="cardiffnlp/twitter-roberta-base-sentiment"
)

# 标签映射,将模型输出的默认标签转为你需要的命名格式
label_mapping = {
    "LABEL_0": "NEGATIVE",
    "LABEL_1": "NEUTRAL",
    "LABEL_2": "POSITIVE"
}

# 测试语句
sentences = [
    'I love you',
    'I hate you',
    'I go to work',
    'This movie was actually neither that funny, nor super witty.'
]

for sen in sentences:
    pred = sentiment_analyzer(sen)[0]
    res = {
        "label": label_mapping[pred["label"]],
        "score": pred["score"]
    }
    print(f"语句:{sen}\n预测结果:{res}\n---")

该方案直接复用已训练好的三分类模型,准确率远高于自定义阈值的方案,适配大多数通用场景。

方案2:基于现有二分类模型自定义中性阈值

如果因特殊原因必须使用当前的二分类模型,可以通过设置置信度阈值划分中性类:

  • 首先明确二分类模型的正向得分p,负向得分即为1-p
  • 自行设置判断阈值,例如当两类得分的差值小于0.6(即abs(p - (1-p)) < 0.6,等价于p落在0.2~0.8区间)时,将结果归为中性
    代码示例如下:
from transformers import pipeline

model = pipeline(task = 'sentiment-analysis')
sentence = 'I go to work'
predicted = model(sentence)[0]

# 自定义阈值
threshold = 0.6
if predicted["label"] == "POSITIVE":
    pos_score = predicted["score"]
    neg_score = 1 - pos_score
else:
    neg_score = predicted["score"]
    pos_score = 1 - neg_score

if abs(pos_score - neg_score) < threshold:
    final_label = "NEUTRAL"
    final_score = max(pos_score, neg_score)
else:
    final_label = predicted["label"]
    final_score = predicted["score"]

print({"label": final_label, "score": final_score})

注意该方案的阈值需要结合你的业务场景下的样本数据调整,效果上限低于直接使用三分类模型。

方案3:微调二分类模型加入中性类

如果你有大量标注好的正向、中性、负向三类数据,可以在现有二分类模型的基础上微调,修改分类头输出三类结果,该方案适配定制化的业务场景,但需要一定的标注成本和训练资源。

内容的提问来源于stack exchange,提问作者Youcef B

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.28 18:54:05