Weka:对多个文本属性的文本情感分析



我希望对多个文本属性进行文本情感分析。我遵循了这个很棒的初学者视频教程,它可以用于单个文本属性及其类-正面或负面。我想将这个想法同时扩展到多个属性。

为了明确起见,这里有一个我试图做的事情的例子:

从客户那里收集的关于零售店的属性:

  1. 店铺体验评论-字符串
  2. 集合审核-字符串
  3. 协助审查-字符串
  4. 总体排名-整数(1到5)-

我想要基于类属性(4)的所有属性(1-3)的分析。

如果我尝试使用过滤器>无监督>属性>StringToWordVector分别针对这些属性中的每一个,然后观察到结果的正确分类率较低。

这是进行文本情感分析的正确方法吗?

您正在进行多方面的情绪分析,因为您正在保存有关零售店不同方面(属性)的信息。为了获得商店的整体分析,在分析中混合所有属性并没有错;只需将StringToWordVector应用于所有String属性即可。

一方面,您可以提高准确性,因为当只使用其中一个属性时,您将获得更好的统计信息和更多的特性。另一方面,你可能会降低敏锐性,因为一条评论可能会对商店体验说一些积极的话,但总体上是消极的,所以混合属性可能会给模型带来一些噪音——但这不太可能,因为如果只从商店体验属性中学习,这样的评论将是一个糟糕的例子。

如果您遵循教程,您将看到StringToWordVector过滤器中有很多选项,您也可以添加AttributeSelection。我建议测试每个属性和组合所有属性,使用二进制/TF/TF。StringToWordVector滤波器中的IDF权重,使用NGramTokenizer(用于识别正/负多词,例如"非常非常好"),使用AttributeSelectionRankerInfoGainAttributeEval,当然,还可以测试尽可能多的学习算法。

你在这里有一个额外的教程。

最新更新