Habilidade cognitiva de Sentiment (v3)

A habilidade do Sentiment (v3) avalia o texto não estruturado e, para cada registro, fornece rótulos de sentimento (como “negativo”, “neutro” e “positivo”) com base na pontuação de confiança mais alta encontrada pelo serviço em uma frase e no nível do documento. Essa habilidade usa os modelos de machine learning fornecidos pela versão 3 do serviço de linguagem nos serviços de IA do Azure. Ele também expõe recursos de mineração de opiniões, que fornece informações mais granulares sobre as opiniões relacionadas a atributos de produtos ou serviços em texto.

Observação

Essa habilidade está associada aos serviços de IA do Azure e requer um recurso faturável para transações que excedem 20 documentos por indexador por dia. A execução de habilidades internas é cobrada pelo preço pago conforme o uso dos serviços de IA do Azure existentes.

@odata.type

Microsoft.Skills.Text.V3.SentimentSkill

Limites de dados

O tamanho máximo de um registro deve ser de 5.000 caracteres conforme medido por String.Length. Se você precisar dividir seus dados antes de enviá-los para a habilidade de sentimento, use a habilidade de Divisão de Texto.

Parâmetros de habilidades

Os parâmetros diferenciam maiúsculas de minúsculas.

Nome do Parâmetro Descrição
defaultLanguageCode (opcional) O código de idioma a ser aplicado a documentos que não especifica explicitamente o idioma.
Consulte a Lista completa dos idiomas com suporte.
modelVersion (opcional) Especifica a versão do modelo a ser usada ao chamar a análise de sentimento. Quando não for especificada, a versão padrão será a mais recente. Recomendamos que você não especifique esse valor, a menos que seja necessário.
includeOpinionMining Se definido como true, habilita o recurso de mineração de opiniões, permitindo que a análise de sentimento baseada em aspecto seja inclusa nos resultados de saída. Assume o padrão de false.

Entradas de habilidades

Nome de entrada Descrição
text O texto a ser analisado.
languageCode (opcional) Uma cadeia de caracteres que indica o idioma dos registros. Se este parâmetro não for especificado, o valor padrão é “en”.
Consulte a Lista completa dos idiomas com suporte.

Saídas de habilidades

Nome de Saída Descrição
sentiment Um valor de cadeia de caracteres que representa o rótulo de sentimento de todo o texto analisado (positivo, neutro ou negativo).
confidenceScores Um tipo complexo com três valores duplos, um para a classificação positiva, um para a classificação neutra e outro para a classificação negativa. Os valores variam de 0 a 1,00, em que 1,00 representa a maior confiança possível em uma determinada atribuição de rótulo.
sentences Uma coleção de tipos complexos que divide o sentimento da frase do texto por frase. Esse também é o local em que os resultados da mineração de opiniões são retornados na forma de destinos e avaliações, se includeOpinionMining estiver definido como true.

Definição de exemplo

{
    "@odata.type": "#Microsoft.Skills.Text.V3.SentimentSkill",
    "context": "/document",
    "includeOpinionMining": true,
    "inputs": [
        {
            "name": "text",
            "source": "/document/content"
        },
        {
            "name": "languageCode",
            "source": "/document/languageCode"
        }
    ],
    "outputs": [
        {
            "name": "sentiment",
            "targetName": "sentiment"
        },
        {
            "name": "confidenceScores",
            "targetName": "confidenceScores"
        },
        {
            "name": "sentences",
            "targetName": "sentences"
        }
    ]
}

Entrada de exemplo

{
    "values": [
        {
            "recordId": "1",
            "data": {
                "text": "I had a terrible time at the hotel. The staff was rude and the food was awful.",
                "languageCode": "en"
            }
        }
    ]
}

Saída de exemplo

{
    "values": [
        {
            "recordId": "1",
            "data": {
                "sentiment": "negative",
                "confidenceScores": {
                    "positive": 0.0,
                    "neutral": 0.0,
                    "negative": 1.0
                },
                "sentences": [
                    {
                        "text": "I had a terrible time at the hotel.",
                        "sentiment": "negative",
                        "confidenceScores": {
                            "positive": 0.0,
                            "neutral": 0.0,
                            "negative": 1.0
                        },
                        "offset": 0,
                        "length": 35,
                        "targets": [],
                        "assessments": [],
                    },
                    {
                        "text": "The staff was rude and the food was awful.",
                        "sentiment": "negative",
                        "confidenceScores": {
                            "positive": 0.0,
                            "neutral": 0.0,
                            "negative": 1.0
                        },
                        "offset":36,
                        "length": 42,
                        "targets": [
                            {
                                "text": "staff",
                                "sentiment": "negative",
                                "confidenceScores": {
                                    "positive": 0.0,
                                    "neutral": 0.0,
                                    "negative": 1.0
                                },
                                "offset": 40,
                                "length": 5,
                                "relations": [
                                    {
                                        "relationType": "assessment",
                                        "ref": "#/documents/0/sentences/1/assessments/0",
                                    }
                                ]
                            },
                            {
                                "text": "food",
                                "sentiment": "negative",
                                "confidenceScores": {
                                    "positive": 0.0,
                                    "neutral": 0.0,
                                    "negative": 1.0
                                },
                                "offset": 63,
                                "length": 4,
                                "relations": [
                                    {
                                        "relationType": "assessment",
                                        "ref": "#/documents/0/sentences/1/assessments/1",
                                    }
                                ]
                            }
                        ],
                        "assessments": [
                            {
                                "text": "rude",
                                "sentiment": "negative",
                                "confidenceScores": {
                                    "positive": 0.0,
                                    "neutral": 0.0,
                                    "negative": 1.0
                                },
                                "offset": 50,
                                "length": 4,
                                "isNegated": false
                            },
                            {
                                "text": "awful",
                                "sentiment": "negative",
                                "confidenceScores": {
                                    "positive": 0.0,
                                    "neutral": 0.0,
                                    "negative": 1.0
                                },
                                "offset": 72,
                                "length": 5,
                                "isNegated": false
                            }
                        ],
                    }
                ]
            }
        }
    ]
}

Casos de aviso

Se o texto estiver vazio, um aviso será gerado e nenhuma pontuação de sentimentos retornará. Se não houver suporte para um idioma, será gerado um aviso e nenhuma pontuação de sensibilidade retornará.

Confira também