m0_65734590 2024-05-21 16:36 采纳率: 75%
浏览 1
已结题

主题分析消极主题不太对

truncatedsvd做主题分析时,消极主题词中好吃和难吃在在一个主题中

img

  • 写回答

4条回答 默认 最新

  • 关注

    下午好🌅🌅🌅
    本答案参考ChatGPT-3.5

    问题:使用truncatedsvd做主题分析时,消极主题词中“好吃”和“难吃”不应该在同一个主题中。应如何解决?

    解决方案:

    1. 更改主题数: 通过增加主题数量,将更多的主题纳入考虑,从而使“好吃”和“难吃”这两个主题被分开。需要注意的是,过多的主题数量可能会使分析结果不够准确。

    2. 剔除干扰词: 可以通过手动在原始数据中把“好吃”和“难吃”这两个词去掉,然后重新进行主题分析。

    3. 权重调整: 可以在分析过程中给“好吃”和“难吃”这两个词赋予不同的权重,使得被赋予较高权重的词会更有可能被分到不同的主题中。

    4. 尝试其他算法: 如果以上方法都不起作用,可以尝试使用其他主题分析算法,如LDA等。

    修改后的代码片段:

    # 更改主题数量
    tsvd = TruncatedSVD(n_components=5, algorithm='randomized', n_iter=100, random_state=1)
    neg_topics = tsvd.fit_transform(tv_neg_data)
    
    # 剔除干扰词
    # 原始数据不在代码中给出,需手动修改
    # tv_neg_data里应该是经过预处理过的文档-词矩阵
    tv_neg_data_modified = tv_neg_data.copy()
    tv_neg_transfer_modified = CountVectorizer(stop_words=['好吃', '难吃'])
    tv_neg_data_modified = tv_neg_transfer_modified.fit_transform(tv_neg_data_modified)
    tsvd = TruncatedSVD(n_components=3, algorithm='randomized', n_iter=100, random_state=1)
    neg_topics = tsvd.fit_transform(tv_neg_data_modified)
    
    # 权重调整
    # 通过设置CountVectorizer里的stop_words参数,将'好吃'和'难吃'分别赋予不同的权重
    # 代码如下:CountVectorizer(stop_words={'好吃': 2, '难吃': 8})
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(3条)

报告相同问题?

问题事件

  • 系统已结题 5月29日
  • 已采纳回答 5月21日
  • 创建了问题 5月21日

悬赏问题

  • ¥15 keil5在调用函数时候发生错误
  • ¥15 用matlab或python实现多个表格合并单元格
  • ¥15 gojs 点击按钮node的position位置进行改变,再次点击回到原来的位置
  • ¥15 计算决策面并仿真附上结果
  • ¥20 halcon 图像拼接
  • ¥15 webstorm上开发的vue3+vite5+typeScript打包时报错
  • ¥15 vue使用gojs,需求在link中的虚线上添加方向箭头
  • ¥15 CSS通配符清除内外边距为什么可以覆盖默认样式?
  • ¥15 SPSS分类模型实训题步骤
  • ¥100 求ASMedia ASM1184e & ASM1187e 芯片datasheet/规格书