【问题标题】:Weka: Text sentiment analysis on multiple text attributesWeka:多文本属性的文本情感分析
【发布时间】:2014-01-20 13:30:49
【问题描述】:
我希望对多个文本属性进行文本情感分析。我关注了这个很棒的beginners video tutorial,它可以用于单个文本属性及其类——正面或负面。我想将这个想法同时扩展到多个属性。
为了清楚起见,这是我正在尝试做的一个示例:
从客户那里收集的关于零售店的属性:
- 商店体验评论 - 字符串
- 收藏评论 - 字符串
- 协助提供的评论 - 字符串
- 总体排名 - 整数(1 到 5) - 类
我希望基于类属性 (4) 的所有属性 (1 - 3) 进行分析。
如果我尝试对这些属性中的每一个单独使用过滤器 > 无监督 > 属性 > StringToWordVector,然后观察到结果的正确分类百分比较低。
这是继续执行文本情感分析的正确方法吗?
【问题讨论】:
标签:
machine-learning
data-mining
weka
sentiment-analysis
【解决方案1】:
您正在接近multi-faceted sentiment analysis,因为您正在保存有关零售店不同方面(属性)的信息。为了获得对商店的整体分析,在分析中混合所有属性是没有错的;只需将StringToWordVector 应用于所有字符串属性即可。
一方面,您可能会提高准确性,因为仅使用其中一个属性时,您将获得更好的统计数据和更多功能。另一方面,您可能会降低准确性,因为一条评论可能会说商店体验的正面评价,但总体而言是负面的,因此混合属性可能会给模型带来一些噪音——但这不太可能,因为这样的评论将是一个不好的例子仅从 Store Experience 属性学习时。
如果您按照教程进行操作,您会发现StringToWordVector 过滤器中有很多选项,您也可以添加AttributeSelection。我建议使用StringToWordVector 过滤器中的二进制/TF/TF.IDF 权重,使用NGramTokenizer (用于识别正/负多字——例如“非常非常好”)来测试每个属性和组合所有属性,将AttributeSelection 与Ranker 和InfoGainAttributeEval 一起使用,当然还要尽可能多地测试学习算法。
你有一个额外的教程here。