有一个酒店评论数据集,每个正面和负面文件各有1500个。为了确定算法的准确性,我必须首先检查酒店评论数据集中原始文件的积极性或消极性百分比。
我尝试了基本百分比标准:
积极性%=没有。积极的话/(总积极+总积极的话)
但这没有重要的意义,因此无法解决这个问题。我可以使用其他方法或理由吗?
例 - &GT; (她是我见过的最漂亮的女士。) 应该比 获得更好的积极性百分比(她是一位好女士。) < / p>
我正在用Python工作。
答案 0 :(得分:0)
您可以尝试的第一件事是从单词的二进制类别(正面与负面)切换到滑动刻度。 SentiWordNet项目提供了这个。
然而,根据您的具体示例,这可能会使事情变得更糟。例如。 nice提供P = 0.875
。而beautiful只获得P = 0.75
。当然,如果您不同意,可以修改SentiWordNet评级,但我建议您使用自动系统进行这种调整,并尽可能多地使用特定于域的培训数据。
顺便说一句,SentiWordNet至少有几个Python接口。
回到你的例子,关键的区别是“我见过的最多[SOMETHING]”结构。这需要从一袋词语切换到实际解析和理解句子。我没有任何有用的线索可以帮助你,所以如果有人说现在有一个现成的开源软件包,我会很高兴: - )
我还想提一下背景的重要性。没有任何背景“她是一位漂亮的女士”和“她是一位好女士”既简单又积极。但是在酒店评论的背景下,以及它们与我的相关性,也许“好”比“美丽”更有用而且,为了好玩,比较这两个:
“接待员是一位好女士。”
“早餐时,在我附近的一张桌子上,是我见过的最漂亮的女士。这是一种受欢迎的食物分散注意力。”
这是我喜欢情绪分析的挑战;商业应用程序只是解决这类问题的借口!