几个重要的点:
情绪分析不是一门精确的科学。两个人,在不同的上下文中阅读相同的文本,会得出关于情绪的不同结论,尤其是在边缘情况下。也许文本有复杂的语法,或者有一个隐喻或明喻,有助于理解实际比较的内容。
情绪数据集的基本事实是由人建立的。从任何训练有素的 ML 分类器中,你所能期望的最好的结果是,它在预测新数据时与这些人的意见非常吻合。
您不同的情绪分析工具的质量可能会有所不同,因为它们将在不同的时间使用不同的技术以及不同的训练数据构建。
我可以想到几种方法可以根据您的目的评估分类器:
1. 对照您自己标记的测试数据进行测试
重要的是自己获取它,以确保它不会与您要比较的任何模型使用的训练数据重叠(如果它确实重叠,那么它会给使用它训练的任何模型带来很大的优势)。您将需要收集有关所有文本的情绪的基本事实数据。
在测试之前,最好选择一个您关心的指标以用于您的预期用途。准确性不是唯一的指标,但它可能适合您的目的。如果与错误分类相关的成本不同,您可能会选择其他指标 - 例如,如果需要谨慎分配负面情绪。
然后在您的测试集上运行每个分类器并计算指标。具有最佳度量的分类器是您对应该使用的分类器的最佳猜测。
如果您有足够大的测试集,您可以将其拆分为多个部分,并获得度量中估计误差的度量。这将帮助您了解测试指标的差异是否显着。
这可能是最好的方法,特别是如果您可以获取与您的项目目标相匹配的数据。但是,这将需要很长时间和很大的努力。
如果您赶时间,您可以搜索并使用其他人的数据集,例如我在快速网络搜索中找到了这些:Kaggle 竞赛和由 Niek Sanders 主持的免费样本(我不知道这些的质量 -您应该对它们进行采样,看看这些数据是否对您有用)。尽管这些数据集用于训练您的一个分类器,但存在风险,因此它会给您一个错误的高评级。
2. 阅读相关报告和论文
每个情绪分析器都应该在文档中解释模型类和用于训练它的数据。您经常可以找到比较不同方法并引用标准数据集的准确度分数的论文。如果幸运的话,您会发现足够多的比较,从而了解哪些算法被认为是“前沿”,哪些算法已经过时。
3. 收集您正在考虑的算法分类不同的文本,并获得反馈
(1) 的变体,您可以在任何阶段执行此操作,并且它可能在实时产品的上下文中运行良好。对于所有分类的数据,记录不同分类器对其的响应方式,以及存在差异的地方,将其保存以供以后评估。您将需要一些人来阅读并帮助对文本进行分类(最好不要看到分类器的想法),并且您可以随着时间的推移收集度量数据,并在收集到足够的示例后使用表现最好的分类器来做出明确的决定。
最终重要的是在项目中使用分类器的结果。仅仅标记数据没有内在的目的。重要的是这些标签的后果。所以你需要以结果为导向。如果您使用一个分类器并收到产品性能不佳的反馈,您可能可以试用另一个分类器。如果您的产品被很多人使用,并且提供了足够多的质量反馈,您甚至可以在生产中对几个分类器进行 A/B 测试。