Search
Close this search box.
Análise de sentimentos em menos de dez linhas de código
Análise de sentimentos é uma das aplicações mais importantes do processamento de linguagem natural, uma subárea da IA. E ela pode ser implementada facilmente com Python.

Posts Relacionados:

Análise de sentimentos é uma das aplicações mais importantes do processamento de linguagem natural, uma subárea da IA. E ela pode ser implementada facilmente com Python.

Receba nossa newsletter

Análise de sentimentos é uma das áreas mais interessantes do processamento de linguagem natural, subcampo da inteligência artificial (IA) dedicado a permitir que máquinas entendam a linguagem humana. Existem várias formas de realizar análise de sentimentos, incluindo desde o uso de regras simples até modelos de deep learning avançados com redes do tipo Transformers. Esse último tipo costuma ter um desempenho melhor e ser mais versátil do que sistemas tradicionais de regras. Porém, treiná-los é uma tarefa difícil. Mas, para esses casos, sempre podemos contar com a Huging Face Transformes.

Hugging Face Transformers

hugging face

Hugging Face Transformers é uma biblioteca Python de código aberto. Ela simplifica o trabalho com modelos pré-treinados de última geração para várias tarefas de processamento de linguagem natural, incluindo análise de sentimento. Ela fornece uma interface amigável para acessar milhares de modelos pré-treinados em um enorme hub on-line, o Hugging Face Hub. Também vale mencionar que a Hugging Face Transformers abstrai as complexidades da arquitetura dos modelos de deep learning. Isso facilita o acesso a modelos avançados, mesmo para desenvolvedores com menos experiência.

Por que usar um modelo pré-treinado para análise de sentimento?

Modelos pré-treinados como o famoso DistilBERT já foram treinados em vastas quantidades de dados para capturar relações complexas entre as palavras e seus sentimentos. Isso elimina a necessidade de treinar um modelo do zero, economizando tempo e recursos computacionais significativos. Adicionalmente, modelos pré-treinados geralmente superam modelos treinados em conjuntos de dados menores. Sua exposição a uma gama mais ampla de textos permite que eles generalizem melhor. Consequentemente, eles lidam com dados não vistos de forma mais eficaz, levando a uma análise de sentimento mais precisa.

Bibliotecas

Para usar a Hugging Face Transformers é preciso instalá-la e ela requer PyTorch também. A instalação do PyTorch varia muito de sistema para sistema, portanto, consulte a documentação oficial. As instalações devem ser feitas preferencialmente em um ambiente virtual ou opte pelo Colab. Para instalar a Hugging Face Transformers:

				
					pip install transformers
				
			

Para outras opções de instalação, consulte esse link.

Análise de sentimentos com Hugging Face Transformers em código

A análise de sentimentos com a Hugging Face Transformers é super simples. Basta selecionar um modelo e começar a usá-lo ou personalizá-lo com ajuste fino se essa for a sua necessidade. Para esse post, usaremos o modelo descrito aqui. Não precisa baixá-lo. Esse modelo é uma versão destilada do BERT específica para análise de sentimentos.

Num código Python, primeiro importamos o pacote necessário e selecionamos o modelo:

				
					from transformers import pipeline

model = pipeline(model="lxyuan/distilbert-base-multilingual-cased-sentiments-student", top_k=None)
				
			

Depois aplicamos o modelo e… Pronto! É fácil desse jeito.

				
					texto = "Eu adoro a Hugging Face!"
res = model(texto)
print(f"A sentença é {round(res[0][0]['score']*100, 2)}% {res[0][0]['label']}, {round(res[0][1]['score']*100, 2)}% {res[0][1]['label']} e {round(res[0][2]['score']*100, 2)}% {res[0][2]['label']}.")

# resultado: A sentença é 82.08% positive, 12.02% negative e 5.9% neutral.

				
			

Note que a saída do modelo consiste em três valores de pontuações diferentes: positivo, neutro e negativo. Veja seu desempenho com outras frases:

				
					exemplos = ["Eu amei esse exemplo", "Eu odiei esse exemplo", "Tchau, estou indo"]
for exemplo in exemplos:
    res = model(exemplo)
    result = f"A sentença é {round(res[0][0]['score']*100, 2)}% {res[0][0]['label']}, {round(res[0][1]['score']*100, 2)}% {res[0][1]['label']} e {round(res[0][2]['score']*100, 2)}% {res[0][2]['label']}."
    print(result)

# resultados
# A sentença é 51.64% positive, 26.44% negative e 21.92% neutral.
# A sentença é 90.28% negative, 5.59% neutral e 4.12% positive.
# A sentença é 57.1% positive, 25.58% negative e 17.31% neutral.
				
			

Super simples!

Imagem com IA Generativa – Dia 100

IA generativa img100

Arte com IA generativa: imagem do dia

Todos os dias, postamos um exemplo de imagem artística gerada com inteligência artificial.

Tutoriais

Postagens Mais Recentes

Outras Postagens Que Podem Interessar

Veja
Mais

Fique em contato

Se inscreva para receber nossa newsletter com novidades.

aprendiz artificial