Extração de sentimentos¶
Nota
AI_SENTIMENT é a versão atualizada do ENTITY_SENTIMENT (SNOWFLAKE.CORTEX). Para obter a funcionalidade mais recente, use AI_SENTIMENT.
A função AI_SENTIMENT fornece classificação de sentimentos de última geração em diversos mercados e idiomas. Com AI_SENTIMENT, você pode obter análises de sentimentos gerais e granulares baseadas em aspectos para casos de uso como os seguintes:
Monitoramento de redes sociais
Análise detalhada de produto
Estudos abrangentes de percepção da marca
Inteligência de mercado avançada
Análise do engajamento dos funcionários
Mapeamento da jornada da experiência do cliente
Análise de desempenho de conteúdo
Otimização do suporte ao cliente
Qualidade de extração de sentimentos¶
AI_SENTIMENT usa um modelo de linguagem grande personalizado do Snowflake que oferece precisão de sentimento geral e baseada em aspectos que é líder do setor. A tabela a seguir fornece informações sobre o desempenho de AI_SENTIMENT nos benchmarks Sentimento geral e Sentimento baseado em aspectos (ABSA-mix) em comparação com modelos populares. Os idiomas avaliados no benchmark multilíngue são inglês, espanhol, francês, alemão, hindi, italiano e português.
Nota
Alguns dos modelos comparados não estão disponíveis no Snowflake Cortex.
Modelo
|
Precisão de sentimento baseada
em aspecto (
ABSA-mix ) |
Precisão de sentimento baseada
em aspecto (
ABSA-multilingual ) |
Precisão de sentimento
geral
|
Precisão de sentimento
geral (multilíngue)
|
---|---|---|---|---|
Cortex AI |
0,92 |
0,81 |
0,83 |
0,83 |
|
0,84 |
0,79 |
0,75 |
0,82 |
|
0,83 |
0,80 |
0,77 |
0,78 |
|
0,83 |
0,73 |
0,80 |
0,78 |
|
0,82 |
0,79 |
0,71 |
0,76 |
|
0,82 |
0,79 |
0,71 |
0,76 |
AWS |
0,62 |
0,64 |
Chamada a função AI_SENTIMENT¶
Por padrão, a AI_SENTIMENT do Cortex retorna pontuações gerais de sentimento para o conteúdo geral. No entanto, a AI_SENTIMENT também pode capturar um espectro de opiniões de clientes além das categorias gerais de positivo, negativo e neutro. Para essa análise de sentimento opcional baseada em aspectos, especifique o conteúdo (como um comentário de cliente ou uma avaliação) e os aspectos (também chamados de entidades ou categorias) para os quais você deseja analisar o sentimento. AI_SENTIMENT retorna o sentimento para cada entidade, bem como um sentimento geral. Para obter apenas o sentimento geral, especifique o conteúdo sem os aspectos.
Exemplos em inglês¶
O exemplo a seguir usa AI_SENTIMENT para obter a classificação de sentimento de uma avaliação de produto.
SELECT AI_SENTIMENT('I went to the store, bought the leggings and exact same as shorts...
they are expensive but i heard such great things. After wearing them twice i noticed a string popping out already.
And aince i believed that they were this amazing luxury brand i didnt keep the receipt 😭 ');
Valor de retorno:
{
"categories": [
{
"name": "overall",
"sentiment": "mixed"
}
]
}
O exemplo a seguir usa AI_SENTIMENT para obter a classificação de sentimento para aspectos específicos da avaliação de um restaurante.
SELECT AI_SENTIMENT('A tourist\'s delight, in low urban light,
Recommended gem, a pizza night sight. Swift arrival, a pleasure so right,
Yet, pockets felt lighter, a slight pricey bite. 💰🍕🚀',
['Cost', 'Quality' ,'Wait Time']);
Valor de retorno:
{
"categories": [
{
"name": "overall",
"sentiment": "mixed"
},
{
"name": "Cost",
"sentiment": "negative"
},
{
"name": "Quality",
"sentiment": "positive"
},
{
"name": "Wait Time",
"sentiment": "positive"
}
]
}
Se alguns aspectos especificados não se aplicarem ao texto fornecido, AI_SENTIMENT retornará «desconhecido» para esses aspectos, conforme mostrado para profissionalismo e marca no exemplo a seguir.
SELECT AI_SENTIMENT('A tourist\'s delight, in low urban light,
Recommended gem, a pizza night sight. Swift arrival, a pleasure so right,
Yet, pockets felt lighter, a slight pricey bite. 💰🍕🚀',
['Cost', 'Professionalism' ,'Brand']);
Valor de retorno:
{
"categories": [
{
"name": "overall",
"sentiment": "mixed"
},
{
"name": "Brand",
"sentiment": "unknown"
},
{
"name": "Cost",
"sentiment": "negative"
},
{
"name": "Professionalism",
"sentiment": "unknown"
}
]
}
Exemplos multilíngues¶
Como mostrado nos dois exemplos semelhantes a seguir, AI_SENTIMENT pode analisar o sentimento em vários idiomas; portanto, você não precisa traduzir o texto e corre o risco de perder uma parte essencial do significado dele. Você não precisa especificar o idioma do texto. Os aspectos podem ser especificados no idioma do texto, como mostrado no exemplo a seguir, ou em inglês, como mostrado no segundo exemplo.
Nota
A AI_SENTIMENT aceita inglês, francês, alemão, hindi, italiano, espanhol e português.
Exemplo com texto e rótulos em espanhol:
SELECT AI_SENTIMENT ('Pedí dos pares del mismo modelo en diferentes colores.
Uno tenía defectos en la costura y el cuero se veía de menor calidad.
Por 350€ el par, esto es inaceptable. El servicio al cliente tardó una
semana en responder y la solución no fue satisfactoria. Es una pena porque
cuando están bien hechos, son zapatos hermosos. Pero la inconsistencia en la
calidad es preocupante.', ['Calidad', 'Calidad de Servicio,' 'Precio', 'Tiempo de Espera']);
Valor de retorno:
{
"categories": [
{
"name": "overall",
"sentiment": "negative"
},
{
"name": "Calidad",
"sentiment": "negative"
},
{
"name": "Calidad de Servicio",
"sentiment": "negative"
},
{
"name": "Precio",
"sentiment": "negative"
},
{
"name": "Tiempo de Espera",
"sentiment": "negative"
}
]
}
Exemplo com texto em alemão e rótulos em inglês:
SELECT AI_SENTIMENT ('Die Schuhe selbst sind wirklich schön und gut verarbeitet.
Das Leder ist weich und die Passform stimmt. Allerdings gab es erhebliche
Verzögerungen bei der Lieferung - statt der versprochenen 5 Tage hat es 3
Wochen gedauert. Der Kundenservice war freundlich, aber nicht sehr hilfreich.
Für 320€ erwarte ich besseren Service. Die Schuhe sind in Ordnung, aber das
Gesamterlebnis war mittelmäßig', ['Quality', 'Price', 'Service', 'WaitTime']);
Valor de retorno:
{
"categories": [
{
"name": "overall",
"sentiment": "mixed"
},
{
"name": "Price",
"sentiment": "neutral"
},
{
"name": "Quality",
"sentiment": "positive"
},
{
"name": "Service",
"sentiment": "neutral"
},
{
"name": "WaitTime",
"sentiment": "negative"
}
]
}
Restrições de modelo¶
Todos os modelos de linguagem grande (LLMs) disponíveis no Snowflake Cortex AI têm limitações no número total de tokens de entrada e saída, o que é chamado de janela de contexto do modelo.
A janela de contexto para AI_SENTIMENT é definida de forma que o modelo possa sustentar um alto nível de precisão. AI_SENTIMENT foi treinada e otimizada para entradas de texto de 2.048 tokens (aproximadamente 1.600 palavras). Você pode especificar no máximo dez aspectos, cada um com no máximo trinta caracteres.
Função |
Janela de contexto (tokens) |
Número máximo de rótulos de entidade |
---|---|---|
AI_SENTIMENT |
2,048 |
10 |