# 12. Inferência e Análise de Sentimento

Desenvolver modelos para análise de sentimentos pode ser uma tarefa complexa no mundo da Ciência de Dados tradicional. Envolveria reunir um conjunto de dados grande, classificá-lo, treinar o modelo, validá-lo e fazer o processo iterativo de melhoria. É impressionante o quão facilitada ficou esta atividade com modelos LLM. Por disporem de uma inteligência capaz de inferir sentimentos e emoções em textos, com simples instruções conseguimos realizar ações bem interessantes. Vamos a alguns exemplos.

## Inferindo sentimentos

```python
Qual é o sentimento da seguinte avaliação de produto, delimitada por #### ?

####
Precisava de uma boa luminária para o meu quarto, e esta tinha armazenamento adicional e um preço não muito alto. Recebi rapidamente. A corda da nossa luminária quebrou durante o transporte e a empresa prontamente enviou uma nova. Chegou em poucos dias também. Foi fácil de montar. Tive uma peça faltando, então entrei em contato com o suporte deles e eles rapidamente me enviaram a peça que faltava! A Lumina me parece ser uma ótima empresa que se preocupa com seus clientes e produtos!!
####
```

E temos a seguinte resposta do modelo:

```python
Satisfação e confiança.
```

Muito bem, aparentemente ele conseguiu inferir a partir do texto o sentimento do cliente. Vamos estruturar a saída para termos um exemplo mais real de análise de sentimentos.

```python
Qual é o sentimento da seguinte avaliação de produto, delimitada por #### ?
Forneça sua resposta em uma única palavra, seja "positiva" ou "negativa".

####
Precisava de uma boa luminária para o meu quarto, e esta tinha armazenamento adicional e um preço não muito alto. Recebi rapidamente. A corda da nossa luminária quebrou durante o transporte e a empresa prontamente enviou uma nova. Chegou em poucos dias também. Foi fácil de montar. Tive uma peça faltando, então entrei em contato com o suporte deles e eles rapidamente me enviaram a peça que faltava! A Lumina me parece ser uma ótima empresa que se preocupa com seus clientes e produtos!!
####
```

A resposta:

```python
positiva
```

Em outro exemplo, solicitamos ao modelo que ele faça uma inferência das emoções expressadas na avaliação:

```python
Identifique uma lista de emoções que o autor da seguinte análise está expressando. Inclua não mais que cinco itens na lista. Formate sua resposta como uma lista de palavras em minúsculas separadas por vírgulas.

####
Precisava de uma boa luminária para o meu quarto, e esta tinha armazenamento adicional e um preço não muito alto. Recebi rapidamente. A corda da nossa luminária quebrou durante o transporte e a empresa prontamente enviou uma nova. Chegou em poucos dias também. Foi fácil de montar. Tive uma peça faltando, então entrei em contato com o suporte deles e eles rapidamente me enviaram a peça que faltava! A Lumina me parece ser uma ótima empresa que se preocupa com seus clientes e produtos!!
####
```

A resposta é:

```python
agradecimento, satisfação, confiança, felicidade, gratidão.
```

Um ótimo trabalho feito pelo modelo.

Agora vamos a um exemplo mais completo:

```python
Identifique os seguintes itens a partir do texto de avaliação:
- Sentimento (positivo ou negativo)
- O avaliador está expressando raiva? (verdadeiro ou falso)
- Item comprado pelo avaliador
- Empresa que fabricou o item

A avaliação é delimitada por ####
Formate sua resposta como um objeto JSON com
"Sentimento", "Raiva", "Item" e "Marca" como as chaves.
Se a informação não estiver presente, use "unknown"
como o valor.
Faça sua resposta o mais curta possível.
Formate o valor de Anger como booleano.

####
Precisava de uma boa luminária para o meu quarto, e esta tinha armazenamento adicional e um preço não muito alto. Recebi rapidamente. A corda da nossa luminária quebrou durante o transporte e a empresa prontamente enviou uma nova. Chegou em poucos dias também. Foi fácil de montar. Tive uma peça faltando, então entrei em contato com o suporte deles e eles rapidamente me enviaram a peça que faltava! A Lumina me parece ser uma ótima empresa que se preocupa com seus clientes e produtos!!
####

```

E a resposta:

```python
{
  "Sentimento": "positivo",
  "Raiva": false,
  "Item": "luminária",
  "Marca": "Lumina"
}
```

## Inferindo tópicos

Além de sentimentos, poderíamos inferir os principais tópicos de um texto. Como no exemplo a seguir:

```python
Determine cinco tópicos que estão sendo discutidos no texto a seguir, que é delimitado por ####

Faça cada item ter uma ou duas palavras.

Formate sua resposta como uma lista de itens separados por vírgulas.

####
Em uma pesquisa recente conduzida pelo governo, os funcionários do setor público foram solicitados a avaliar seu nível de satisfação com o departamento em que trabalham. Os resultados revelaram que a NASA foi o departamento mais popular, com uma taxa de satisfação de 95%.

Um funcionário da NASA, John Smith, comentou sobre os resultados, afirmando: "Não estou surpreso que a NASA tenha se destacado. É um ótimo lugar para trabalhar, com pessoas incríveis e oportunidades incríveis. Tenho orgulho de fazer parte de uma organização tão inovadora."

Os resultados também foram bem recebidos pela equipe de gerenciamento da NASA, com o diretor Tom Johnson afirmando: "Estamos emocionados ao saber que nossos funcionários estão satisfeitos com seu trabalho na NASA. Temos uma equipe talentosa e dedicada que trabalha incansavelmente para alcançar nossos objetivos, e é fantástico ver que seu trabalho árduo está dando frutos."

A pesquisa também revelou que a Administração da Previdência Social teve a menor pontuação de satisfação, com apenas 45% dos funcionários indicando que estavam satisfeitos com seus empregos. O governo se comprometeu a abordar as preocupações levantadas pelos funcionários na pesquisa e trabalhar para melhorar a satisfação no trabalho em todos os departamentos
####
```

Resposta:

```python
Pesquisa governamental, Satisfação no trabalho, NASA, Administração da Previdência Social, Melhoria contínua
```