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 extração de opinião são devolvidos sob a 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.