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á.