微信关注,获取更多

如何使用Azure Text Analytics API (v3.1)进行情感分析

情感分析是一项重要的自然语言处理任务,可以帮助我们理解文本中的情感和情感极性。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)进行情感分析

相关推荐

    暂无内容!