Habilidade cognitiva de sentimento (v3)

A habilidade Sentimento (v3) avalia 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 nível de frase e documento. Essa habilidade usa os modelos de aprendizado de máquina 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ão, que fornece informações mais granulares sobre as opiniões relacionadas a atributos de produtos ou serviços em texto.

Nota

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

@odata.type

Microsoft.Skills.Text.V3.SentimentSkill

Limites de dados

O tamanho máximo de um registo deve ser de 5000 carateres, medido por String.Length. Se você precisar dividir seus dados antes de enviá-los para a habilidade sentimento, use a habilidade Divisão de texto.

Parâmetros de habilidade

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

Nome do Parâmetro Description
defaultLanguageCode (facultativo) O código de idioma a ser aplicado a documentos que não especificam o idioma explicitamente.
Veja a lista completa de linguagens suportadas.
modelVersion (facultativo) Especifica a versão do modelo a ser usada ao chamar a análise de sentimento. O padrão será para a versão mais recente quando não especificado. 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ão, que permite que a análise de sentimento baseada em aspetos seja incluída nos resultados da saída. O padrão é false.

Contributos para as competências

Nome de entrada Description
text O texto a ser analisado.
languageCode (facultativo) Uma cadeia de caracteres que indica o idioma dos registros. Se esse parâmetro não for especificado, o valor padrão será "en".
Veja a lista completa de linguagens suportadas.

Resultados em termos de competências

Nome da saída Description
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 um para a classificação negativa. Os valores variam de 0 a 1,00, onde 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 decompõe o sentimento do texto frase por frase. É também aqui que os resultados da mineração de opinião são retornados na forma de metas e avaliações, se includeOpinionMining for definido como true.

Definição da amostra

{
    "@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 alerta

Se o texto estiver vazio, um aviso será gerado e nenhum resultado de sentimento será retornado. Se um idioma não for suportado, um aviso será gerado e nenhum resultado de sentimento será retornado.

Consulte também