Classifique o texto com recursos simples
Construa uma pequena base de sentimento, tente enganá-la e aprenda a avaliá-la de maneira justa.
- Use uma linha de base transparente de busca por palavras para rotular o texto
- Encontre os tipos de frases que enganam
- Lide com a negação com uma regra simples
Classificação de texto atribui um rótulo a um trecho de texto: spam ou não, o tópico de uma notícia, se a crítica é positiva. O classificador mais simples é uma linha de base do léxico: conte palavras de uma lista positiva, subtraia palavras de uma lista negativa e observe o sinal.
1positive = {"bright", "helpful", "love"}
2negative = {"broken", "rude", "hate"}
3words = "helpful and bright".split()
4score = sum(word in positive for word in words) - sum(word in negative for word in words)
5print(score)2
Uma linha de base como essa é fácil de ler e explicar – você pode ver exatamente por que escolheu um rótulo. Isso o torna um excelente primeiro modelo e um parâmetro: um modelo mais sofisticado precisa vencê-lo para valer o seu custo.
Experimente
Até 15 XPVocê pode enganar a linha de base?
Imagine que a linha de base conhece as palavras positivas bom, ótimo, amor e as palavras negativas mau, horrível, ódio. Para cada revisão, decida se seu rótulo estaria certo ou se a linha de base seria enganada.
“Adoro esse celular, a câmera é ótima.”
“Isso não é nada bom.”
“Ah, ótimo, quebrou depois de um dia.”
“Serviço horrível e comida ruim.”
“A bateria acabou em uma hora.”
“Eu odeio o quanto eu amo esse jogo.”
Lidando com “não”
Um patch clássico é inverter a polaridade de uma palavra de sentimento que vem logo após uma negação como não ou nunca. Corrige “não é bom” - mas não “não é exatamente o que eu chamaria de bom”. Regras como essa se acumulam rapidamente, o que é um grande motivo pelo qual o campo mudou para classificadores que aprendem com exemplos rotulados, o tópico da próxima lição.
Principais conclusões
Uma linha de base do léxico é transparente e rápida - e um parâmetro útil.
Falta negação, sarcasmo, palavras não listadas e sentimentos contraditórios.
Sempre avalie exemplos com os quais o classificador não aprendeu.
Quiz da aula
6 perguntas · aprovação com 5 acertos · até 50 XP
Ao passar, você conclui a aula e mantém sua sequência. As perguntas erradas voltarão em sessões de revisão.
Pratique: aplique NLP com Python
Experimente cada ideia de processamento de texto em Python, execute com entradas de exemplo e use os resultados para ver onde o método funciona ou falha.
Marque um pequeno léxico de sentimento
Leia uma frase em inglês e conte palavras positivas (good, great, love) e negativas (bad, awful, hate). Imprima positive, negative ou neutral conforme a pontuação. Esta é apenas uma linha de base didática.
- Palavras positivas
- Palavras negativas
- Nenhuma palavra conhecida
O Python é executado em um ambiente isolado no navegador, com limite de 60 segundos. O runtime é carregado pelo CDN do Pyodide; seu código permanece neste navegador.
Inverta o sentimento depois do “não”
Estenda a linha de base: uma palavra de sentimento imediatamente após not ou never recebe pontuação invertida. Leia uma frase em inglês, usando palavras alfabéticas em minúsculas, e imprima positive, negative ou neutral.
- Negado positivo
- Negado negativo
- Sem negação
O Python é executado em um ambiente isolado no navegador, com limite de 60 segundos. O runtime é carregado pelo CDN do Pyodide; seu código permanece neste navegador.
Dúvidas sobre esta lição
Travou em algum ponto? Pergunte. Descobriu algo? Compartilhe. Explicar também é uma ótima forma de aprender.
Carregando publicações…