情感分析是一项重要的自然语言处理任务,可以帮助我们理解文本中的情感和情感极性。Azure Text Analytics API (v3.1)是微软提供的一种强大的工具,可以用于进行情感分析、关键短语提取和语言检测等任务。本教程将向您介绍如何使用Azure Text Analytics API进行情感分析,并解释API的各种参数和功能。
背景故事
假设您是一家餐厅的经理,您每天都会收到大量的顾客评论。您想知道这些评论中的情感倾向,以了解哪些方面受到了顾客的喜爱,哪些方面需要改进。情感分析可以帮助您自动分析这些评论,快速了解顾客的情感,并采取相应的行动。
使用Azure Text Analytics API进行情感分析
现在让我们开始使用Azure Text Analytics API进行情感分析的过程。首先,我们需要了解如何构建API请求。
构建API请求
请求URL
API请求的URL如下所示:
https://{endpoint}/text/analytics/v3.1/sentiment[?model-version][&showStats][&loggingOptOut][&opinionMining][&stringIndexType]
endpoint
:您创建资源时所在的区域。
请求参数
API支持以下请求参数:
model-version
(可选):指定用于评分的模型版本。如果不指定模型版本,则API将默认使用最新的非预览版本。showStats
(可选):如果设置为true,则响应将包含请求和文档级别的统计信息。loggingOptOut
(可选):如果设置为true,则表示您选择不记录用于故障排除的文本输入。默认情况下,Text Analytics会记录您的输入文本,以允许故障排除问题。opinionMining
(可选):如果设置为true,则响应将包含情感预测以及意见挖掘(基于方面的情感分析)的结果。stringIndexType
(可选):指定用于解释字符串偏移量的方法。默认情况下,它按照Unicode v8.0.0的文本元素(Graphemes)进行解释。
请求头
API请求需要以下请求头:
Content-Type
:请求体的媒体类型,应设置为application/json
。Ocp-Apim-Subscription-Key
:提供对API的访问权限的订阅密钥,可以在您的Cognitive Services帐户中找到。
请求体
API请求的请求体应包含要分析的文档集合。请求体的示例如下:
{
"documents": [
{
"id": "1",
"language": "en",
"text": "Great atmosphere. Close to plenty of restaurants, hotels, and transit! Staff are friendly and helpful."
}
]
}
在请求体中,每个文档都具有以下属性:
id
:文档的唯一标识符。language
:文档的语言。text
:要分析的文本。
发送API请求
构建好API请求后,您可以将请求发送到API端点。API将返回一个响应,其中包含了情感分析的结果。响应示例如下:
{
"documents": [
{
"confidenceScores": {
"negative": 0,
"neutral": 0,
"positive": 1
},
"id": "1",
"sentences": [
{
"targets": [
{
"confidenceScores": {
"negative": 0,
"positive": 1
},
"length": 10,
"offset": 6,
"relations": [
{
"ref": "#/documents/0/sentences/0/assessments/0",
"relationType": "assessment"
}
],
"sentiment": "positive",
"text": "atmosphere"
}
],
"confidenceScores": {
"negative": 0,
"neutral": 0,
"positive": 1
},
"length": 17,
"offset": 0,
"assessments": [
{
"confidenceScores": {
"negative": 0,
"positive": 1
},
"isNegated": false,
"length": 5,
"offset": 0,
"sentiment": "positive",
"text": "great"
}
],
"sentiment": "positive",
"text": "Great atmosphere."
},
{
"targets": [
{
"confidenceScores": {
"negative": 0.01,
"positive": 0.99
},
"length": 11,
"offset": 37,
"relations": [
{
"ref": "#/documents/0/sentences/1/assessments/0",
"relationType": "assessment"
}
],
"sentiment": "positive",
"text": "restaurants"
},
{
"confidenceScores": {
"negative": 0.01,
"positive": 0.99
},
"length": 6,
"offset": 50,
"relations": [
{
"ref": "#/documents/0/sentences/1/assessments/0",
"relationType": "assessment"
}
],
"sentiment": "positive",
"text": "hotels"
}
],
"confidenceScores": {
"negative": 0.01,
"neutral": 0.86,
"positive": 0.13
},
"length": 52,
"offset": 18,
"assessments": [
{
"confidenceScores": {
"negative": 0.01,
"positive": 0.99
},
"isNegated": false,
"length": 15,
"offset": 18,
"sentiment": "positive",
"text": "Close to plenty"
}
],
"sentiment": "neutral",
"text": "Close to plenty of restaurants, hotels, and transit!"
}
],
"sentiment": "positive",
"warnings": []
}
],
"errors": [],
"modelVersion": "2020-04-01"
}
响应包括每个文档的情感分析结果,以及每个情感类别(积极、消极和中性)的情感分数。
处理API响应
一旦收到API响应,您可以解析响应并提取情感分析的结果。在示例响应中,情感分析结果为“积极”,情感分数为1,表示情感非常积极。
总结
本教程介绍了如何使用Azure Text Analytics API (v3.1)进行情感分析。通过构建API请求、发送请求并处理响应,您可以轻松地分析文本中的情感,并了解文本的情感倾向。情感分析是许多应用程序中的重要组成部分,帮助您理解用户的情感和需求。
未经允许不得转载:大神网 » 如何使用Azure Text Analytics API (v3.1)进行情感分析