NLP变得容易:Amazon的情感分析理解
#aws #python #nlp

自然语言处理已成为当今世界上许多AI驱动产品的组成部分,并且情感分析占了这些产品的很大比例,因为它在商业和决策中的重要性。
但是,能够构建,部署和监视此类模型并不容易!

在本简短的教程中,我们会看到亚马逊理解如何帮助我们以更快,更有效的方式实现情感分析。

什么是亚马逊理解?

亚马逊理解是一种自然语言处理(NLP)服务,可提供自定义实体识别,自定义分类,键短语提取,情感分析,实体识别以及您可以轻松地集成到应用程序中的更多API。关于它的伟大是,它还通过 Amazon Growsed Medical提供了医学见解和受保护的健康信息(PHI)检测。

Amazon理解开始

亚马逊理解是一个简单的过程。

step1:创建一个AWS帐户
第一件事是如果您没有一个,则是create an AWS account

step2:打开理解
在AWS管理控制台内,在服务搜索栏中搜索“理解”。单击Amazon理解以打开服务仪表板。您应该有这样的接口:

Amazon Comprehend

接下来,单击“启动亚马逊理解”以开始分析文本。

step3:实时分析
借助亚马逊理解,我们可以使用内置或自定义模型实时分析文本。创建一个自定义模型来对我们的情感进行分类不在本教程的范围内。我们将通过理解以两种方式对我们的文本进行实时情感分析来使用内置模型:

  • 亚马逊理解接口

使用文本的情感分析可以轻松,快速地进行理解的实时分析接口。只需向下滚动以输入数据,输入您自己的文本,然后单击“分析”。向下滚动,然后选择“情感”选项卡以查看情感及其信心分数。

Sentiment analysis via input text

从上面的结果中,我们的文本评论:“我的订单被延迟了几天,而没有卖方的任何更新或通信。可怕的运输服务。”具有99%置信度得分的负面评价。

  • 通过使用Python的boto3
  • 通过API调用

我们可以通过编程方式访问此情感模型,并使用BOTO3通过API进行分析。 BOTO3是Amazon Web Services(AWS)提供的官方Python软件开发套件(SDK),可使用Python编程语言与AWS服务进行交互。为了理解,full documentation向我们展示了可以通过Consecting服务访问的所有可用方法。

为了做到这一点,我们需要使用access keysecret access key使我们能够在我们的帐户中远程连接和访问服务。为此,请按照this link中的简单步骤进行操作。

导入boto3库并启动我们的客户。

import boto3

client =  boto3.client('comprehend',region_name='us-east-1',aws_access_key_id='',aws_secret_access_key='')
client

接下来,将我们的文本传递到detect_sentiment方法中以预测其情感。

text = """My order was delayed by several days without any updates or communication from the seller. Terrible shipping service."""

client.detect_sentiment(Text=text, LanguageCode='en')

响应看起来像这样:
Single text sentiment detection response

现在,让我们变得更加有趣。我们将从kaggle下载一个评论数据集,链接here

import pandas as pd

data = pd.read_csv("amazon_reviews.csv")
data = data[['reviewText']]
data

Data

数据由4915行组成,但出于本教程的目的,我们将选择100个随机示例进行预测。

data_100 = data.sample(100)

def detect_sentiment(review):
    response = client.detect_sentiment(Text=review[0], LanguageCode='en')
    return response["Sentiment"]

data_100['Sentiment'] = data_100.apply(detect_sentiment, axis=1)

Sentiment Data

预测100次评论花了1分钟34秒,这对于表现良好的模型相对较快。

价钱

根据官方定价信息here向亚马逊提出的请求,理解API的实体识别,情感分析,语法分析,密钥短语提取和语言检测以100个字符(1个单位= 100个字符),以100个字符的单位来衡量每个请求的3个单位(300个字符)最低费用。 Total cost = [No. of units] x [Cost per unit]。每单位成本为$0.0001

结论

总而言之,情感分析是自然语言处理(NLP)的关键方面,已成为寻求理解和利用人类情感和情感力量的企业和组织的必不可少的工具。

Amazon Commensed,为情感分析提供了一个用户友好且功能强大的平台,使各种规模的企业能够利用NLP的能力,而无需广泛的专业知识或基础架构。通过利用亚马逊理解,公司可以从大量文本数据中解锁有价值的见解。