Como treinar um classificador de texto com scikit-learn
Como treinar um classificador de texto com scikit-learn
Quer criar uma inteligência artificial que classifica textos como positivos, negativos ou neutros? Com a biblioteca scikit-learn isso é possível de forma rápida e prática. Neste post, você vai aprender a treinar um modelo simples de classificação de texto usando Python.
Pré-requisitos
- Python instalado
- Bibliotecas:
scikit-learn
epandas
1. Instalando as bibliotecas
pip install scikit-learn pandas
2. Preparando os dados
Vamos criar um exemplo simples com frases e sentimentos associados:
import pandas as pd
dados = {
"texto": [
"Eu adorei esse produto!",
"Horrível, nunca mais compro.",
"Muito bom, recomendo.",
"Péssimo atendimento.",
"Gostei bastante.",
"Não gostei do serviço."
],
"sentimento": ["positivo", "negativo", "positivo", "negativo", "positivo", "negativo"]
}
df = pd.DataFrame(dados)
3. Transformando texto em números
O modelo não entende texto diretamente. Vamos usar o CountVectorizer
:
from sklearn.feature_extraction.text import CountVectorizer
vetor = CountVectorizer()
X = vetor.fit_transform(df["texto"]) # matriz de palavras
y = df["sentimento"]
4. Treinando o modelo
Vamos usar o algoritmo Naive Bayes, muito comum em classificação de texto:
from sklearn.naive_bayes import MultinomialNB
modelo = MultinomialNB()
modelo.fit(X, y)
5. Fazendo previsões
Agora podemos testar o modelo com frases novas:
novas_frases = vetor.transform([
"Achei maravilhoso!",
"Não funcionou como eu queria."
])
print(modelo.predict(novas_frases))
Saída esperada:
['positivo' 'negativo']
Conclusão
Com poucas linhas de código, criamos um classificador de sentimentos com IA usando scikit-learn. Esse modelo pode ser expandido com datasets maiores, análise de sentimentos, e outras técnicas como TF-IDF ou modelos mais avançados.