情绪分析 API 与自定义文本分类:选择哪一个?
在本文中,我们将比较情绪分析引擎和自定义文本分类引擎之间的情绪提取性能。这个想法是在具体数据集上显示这两种类型的引擎的优缺点。
推荐:使用NSDT场景编辑器快速助你搭建可二次编辑的3D应用场景
在本文中,我们将比较情绪分析引擎和自定义文本分类引擎之间的情绪提取性能。这个想法是在具体数据集上显示这两种类型的引擎的优缺点。
定义:
情绪分析(或观点挖掘)是一种自然语言处理技术,用于确定数据是积极的、消极的还是中立的。情绪分析通常对文本数据进行,以帮助企业监控客户反馈中的品牌和产品情绪,并了解客户需求。
文本分类是一种机器学习技术,它将一组预定义的类别分配给文本数据集。文本分类器可用于组织、组织和分类几乎任何类型的文本。它必须用一组标记的文本进行训练。
情绪分析引擎是训练引擎,而自定义文本分类引擎是“AutoML”(自动化机器学习)引擎。
区分经过训练的 API 和 AutoML API 非常重要:
- 经过训练的 API 基于提供程序已使用其数据库训练的模型。这些模型通常用于管理以下常见用例:情感分析、命名实体识别、翻译等。但是,在自定义模型之前尝试这些 API 始终是相关的,因为它们越来越具有竞争力和效率。
- 对于需要非常高精度的特定用例,最好使用 AutoML API。这些API由多个提供商提供,如Google Cloud Platform,Amazon Web Services,Microsoft Azure,IBM Watson等。AutoML API 允许用户构建自己的自定义模型,并在用户的数据库上进行训练。这些模型由提供者事先在多个数据集上进行训练。
本文比较了已训练的情绪 API 和自定义文本分类 API。目的是让您深入了解根据以下因素选择什么:价格、性能、集成度等。
供应商:
在我们的研究过程中,我们使用了不同的情感分析和自定义文本分类引擎。为了轻松访问这些引擎,我们使用了Eden AI,它集中了来自不同提供商的多个NLP引擎。
对于情绪分析,我们使用:
- 谷歌云平台自然语言接口
- 亚马逊云科技服务理解
- Microsoft Azure 文本分析
对于自定义文本分类,我们使用:
- Google Cloud Platform AutoML Natural Language
- 亚马逊云科技理解自定义分类
这是我们测试的提供商 API 的拉动。有趣的是,存在许多其他专有和开源解决方案。我们可以提到Monkey Learn,Twinwords,Connexun等。
使用案例:
如前所述,情绪分析用于数百个领域,用于许多不同的用例。在本文中,我们选择了一个非常常见的用例:
您是一家想要提取有关我们的支持和产品的推文的公司。您希望从这些推文中提取情绪,以便分析负面评论并改进我们的服务。
为了说明这个用例,比较是在这个Kaggle数据集上实现的:https://www.kaggle.com/sureshmecad/identify-the-sentiments-analytics-vidhya?select=train.csv
我们将训练数据集的最后 1000 行保留为测试数据集,以比较来自情绪分析和自定义文本分类引擎的预测。数据集的其余部分用于训练自定义文本分类引擎。
测试:
自定义文本分类
首先,我们开始使用 Google Cloud 和 AWS 引擎训练自定义文本分类模型。我们直接使用了Eden AI平台,它允许我们在一个独特的平台上训练GCP和AWS模型:
Eden AI:创建自定义文本分类项目
Eden AI:导入数据以进行自定义文本分类
创建非常简单,我们只需要选择语言,分类类型并导入我们的数据集。创建项目后,我们可以训练 GCP 和 AWS 引擎:
Eden AI:训练的自定义文本分类模型
训练模型后,您可以使用我们的测试数据集直接从平台生成预测:
Eden AI:自定义文本分类预测
情绪分析接口
对于使用经过训练的情感分析 API 进行预测,我们使用 Eden AI Python SDK。它允许我们使用一个独特的脚本来生成带有 GCP、AWS 和 Azure 引擎的预测:
Eden AI:用于情感分析的Python SDK API
AWS和Azure引擎的代码是相同的,我们只需要将“provider”参数更改为“amazon”和“microsoft”。
性能:
这是我们培训的准确性,它只是一个指示性指标:
Eden AI:自定义文本分类模型指标
现在,我们使用测试数据集(1000 个预测)生成预测并计算准确性。
在获得自定义文本分类的性能后,我们对情绪分析引擎重复相同的操作。
AWS 和 Azure 引擎使用百分比表示正、负和中性(相当于 AWS 的混合)。因此,我们在这里显示保持“中性”和“混合”预测的结果以及不保留它们的结果:
准确性(超过 1000 个预测批次):
自定义文本分类和情绪分析性能
定价:
情绪分析 API 和自定义文本分类之间的定价完全不同。实际上,对于情绪分析 API,您只需为所做的推理(字符定价基础)付费,而对于自定义文本分类,您需要为训练模型、部署模型和执行推理付费。
以下是定价:
情绪分析
GCP、AWS 和 Azure 的情绪分析定价
这些是最低消费限制的价格。随着交易量的增加,您可以获得更好的价格。
自定义文本分类
GCP 和 AWS 的自定义文本分类定价
情绪分析的推理价格为每百万个字符 1 美元,自定义文本分类的推理价格为每百万个字符 5 美元。
情绪分析 API 比自定义文本分类便宜 5 倍,不考虑训练和部署成本。
结论:
这两种选择都是可行的。必须在情绪分析 API 和自定义文本分类之间进行选择,具体取决于分配的预期性能和预算。使用自定义文本分类绝对可以达到更好的性能,但情绪分析性能仍然可以接受。如文章所示,情绪分析比自定义文本分类便宜得多。
总而言之,如果您想获得更好的准确性,我们可以建议您先尝试情绪分析并使用自定义文本分类。
由3D建模学习工作室 整理翻译,转载请注明出处!