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

情感分析中大写词处理:丝芙兰评论分类是否需统一小写?

关于丝芙兰评论情感分类的小写转换与情绪权重处理建议

一、是否需要全量执行小写转换?

不建议直接全量转小写,应该针对性处理:

  • 对普通词汇(非情感类、非全大写的词)执行小写转换,避免Amazing和amazing被模型判定为不同词汇,减少词汇维度冗余;
  • 保留全大写的情感类词汇(如AMAZING、TERRIBLE)的原格式,或者给这类词汇添加特殊标记(比如前缀__UPPER__),让模型能识别到这是带有强烈情绪的信号。

二、细分正面类别体现情绪权重的思路

你计划把正面情感细分为“良好”“非常好”的思路完全可行,结合全大写词汇的情绪权重可以这么落地:

  • 先整理出数据集中出现的全大写情感词库(比如正面的AMAZING、PERFECT,负面的TERRIBLE、WORST);
  • 将“非常好”类的判定和全大写正面词绑定:比如单条评论中出现1个及以上全大写正面情感词,优先归为“非常好”;
  • 同时搭配其他强情绪特征(比如感叹号数量、情感词密集度)一起判断,提升分类精准度。

三、针对现有代码的优化建议

你的代码已经能有效提取全大写词汇(排除单个I),可以在此基础上扩展出实用特征:

from itertools import chain
import pandas as pd

# 自定义全大写情感词库(可根据实际数据补充)
positive_upper_words = {'AMAZING', 'INCREDIBLE', 'AWESOME', 'BEST', 'PERFECT'}
negative_upper_words = {'TERRIBLE', 'AWFUL', 'HORRIBLE', 'WORST'}

def count_upper_emotion_words(text):
    upper_words = [word for word in text.split() if word.isupper() and word != 'I']
    # 分别统计正面、负面全大写情感词数量
    pos_count = sum(1 for word in upper_words if word in positive_upper_words)
    neg_count = sum(1 for word in upper_words if word in negative_upper_words)
    return pos_count, neg_count

# 给评论数据集新增情绪特征列
all_reviews[['upper_pos_count', 'upper_neg_count']] = all_reviews['review_text'].apply(
    lambda x: pd.Series(count_upper_emotion_words(x))
)

# 查看新增特征结果
print(all_reviews[['review_text', 'upper_pos_count', 'upper_neg_count']].head())

内容的提问来源于stack exchange,提问作者read data

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.18 22:40:59