Se você, assim como eu, trabalha com análise de textos, provavelmente já passou por aquele momento frustrante: está fazendo a limpeza dos seus documentos e se depara com uma lista de stop words genérica que simplesmente não contempla a riqueza e diversidade da língua portuguesa brasileira. Acertei?
“Mas Janderson, cheguei de paraquedas aqui e não sei o que são stop words!”
Calma, meu pequeno padawan, vamos esclarecer isso:
Stop words são palavras que geralmente são removidas em tarefas de processamento de linguagem natural (NLP) por serem consideradas pouco informativas para a análise de texto. Elas incluem palavras muito comuns de uma língua, como:
- Em português: “de”, “a”, “o”, “que”, “e”, “do”, “da”, “em”, “um”, “para” etc.
- Em inglês: “the”, “is”, “in”, “and”, “to”, “of”, “that” etc.
Essas palavras costumam ser filtradas porque aparecem com muita frequência nos textos e, normalmente, não contribuem para o significado ou diferenciação dos documentos em tarefas como classificação de texto, análise de sentimentos ou recuperação de informação.
O Problema das Stop Words Tradicionais
Embora várias bibliotecas — como NLTK e spaCy no Python, ou stopwords no R — ofereçam listas de stop words em português, elas utilizam um português formal e clássico que não reflete a linguagem usada pelas pessoas no dia a dia.
Isso se torna ainda mais problemático quando analisamos textos de:
- Redes sociais
- Comentários online
- Mensagens informais
- Conteúdo regional
Depois de muito bater a cabeça e enfrentar essas limitações na prática, criei esta lista definitiva de stop words em português brasileiro que contempla:
- Gírias e expressões coloquiais – cara, mano, massa, top, etc.
- Abreviações de internet – vc, tb, pq, blz, vlw, etc.
- Regionalismos – uai, sô, oxente, égua, bah, etc.
- Marcadores de discurso – né, tá ligado, sabe, tipo, etc.
- Expressões informais – da hora, sinistro, irado, etc.
- Variações de escrita – tá, tô, cê, num, etc.
Esta lista foi pensada para facilitar o tratamento de textos brasileiros contemporâneos, considerando a forma como realmente nos comunicamos — seja no WhatsApp, Twitter, Instagram ou qualquer outra plataforma digital. Obviamente esses termos foram desenhado para o meu contexto, a ideia aqui é você utilizar ela com base para montar sua própria lista de stop words.
stopwords_br = [
# Artigos e contrações
'a', 'o', 'as', 'os', 'um', 'uma', 'uns', 'umas', 'ao', 'à', 'aos', 'às',
'do', 'da', 'dos', 'das', 'no', 'na', 'nos', 'nas', 'pelo', 'pela', 'pelos', 'pelas',
# Pronomes
'eu', 'tu', 'ele', 'ela', 'nós', 'vós', 'eles', 'elas', 'me', 'mim', 'comigo',
'te', 'ti', 'contigo', 'se', 'si', 'consigo', 'lhe', 'nos', 'vos', 'lhes',
'meu', 'minha', 'meus', 'minhas', 'teu', 'tua', 'teus', 'tuas', 'seu', 'sua',
'seus', 'suas', 'nosso', 'nossa', 'nossos', 'nossas', 'vosso', 'vossa', 'vossos', 'vossas',
# Preposições
'de', 'em', 'por', 'para', 'com', 'sem', 'sob', 'sobre', 'entre', 'até',
'desde', 'contra', 'perante', 'através', 'além', 'dentro', 'fora', 'perto',
'longe', 'durante',
# Conjunções
'e', 'mas', 'ou', 'porque', 'pois', 'que', 'se', 'como', 'quando', 'embora',
'porém', 'todavia', 'contudo', 'então', 'também', 'apesar', 'caso', 'além disso',
'portanto', 'logo', 'ainda que', 'a fim de', 'com o objetivo de',
# Verbos auxiliares e comuns
'ser', 'estar', 'ter', 'haver', 'ir', 'vir', 'fazer', 'poder', 'dever',
'querer', 'saber', 'está', 'estão', 'tem', 'tenho', 'é',
# Demonstrativos
'esse', 'essa', 'isso', 'este', 'esta', 'isto', 'aquele', 'aquela', 'aquilo',
'aqueles', 'aquelas', 'deste', 'desta', 'destes', 'destas', 'disso', 'daquilo',
'nisto', 'naquilo',
# Localizadores
'lá', 'aqui', 'ali', 'onde', 'aonde',
# Interjeições e expressões comuns
'ah', 'oh', 'ei', 'oi', 'olá', 'opa', 'eita', 'nossa', 'caramba', 'poxa',
'uau', 'xi', 'ih', 'ué', 'hein', 'que que é isso', 'quê',
# Gírias e expressões coloquiais
'cara', 'mano', 'mina', 'véi', 'velho', 'brother', 'meu', 'meu chapa',
'mano do céu', 'parça', 'parceiro', 'camarada', 'meu rei', 'minha rainha',
'bro', 'meu anjo', 'fera', 'chefe', 'paizão', 'mainha', 'veinho', 'velhinho',
'moleque', 'garoto', 'menino', 'menina', 'guri', 'guria', 'piá', 'piázinho',
'gajo', 'gaja', 'bacana', 'maneiro', 'massa', 'show', 'top', 'legal', 'beleza',
'joia', 'firmeza', 'daora', 'dahora', 'da hora', 'responsa', 'sinistro', 'brabo',
'brabíssimo', 'irado', 'supimpa', 'bala', 'zica', 'animal', 'monstro', 'mito', 'lenda',
# Abreviações e siglas comuns na internet
'pq', 'tb', 'tbm', 'vc', 'cê', 'ce', 'c', 'mt', 'mto', 'mta', 'td', 'tdo',
'tda', 'hj', 'amg', 'amigo', 'amiga', 'bjs', 'bjss', 'bjo', 'bjao', 'vlw',
'flw', 'fvr', 'por favor', 'abs', 'vdd', 'aff', 'pfv', 'pfvr', 'sla', 'slc',
'sdds', 'tmj', 'tamo junto', 'fds', 'findi', 'blz', 'bele', 'falou', 'falows',
'fmz', 'fmza', 'mds', 'oxe', 'oxi', 'vey', 'véi', 'vix', 'vish', 'vcs', 'tá',
'tô', 'tamos', 'tamo', 'cadê', 'd', 'pro', 'pra', 'q', 'qualé', 'tipo', 'né',
'qnd', 'aki', 'vamo', 'vambora', 'partiu', 'bora', 'falô', 'blza', 'sup', 'obg',
'pls', 'ñ', 'num', 'msm', 'sdd', 'pqn', 'pqns', 'agr', 'poxa', 'po', 'uai',
'eita', 'trem', 'bixim', 'vish', 'causo', 'sô', 'ôxe',
# Regionalismos
'bão', 'ocê', 'oxente', 'painho', 'égua', 'bah', 'tchê', 'aham', 'ahã',
'orra meu', 'home', 'homi', 'muié', 'muler', 'visse', 'tu', 'num é', 'nera',
# Marcadores de discurso
'tipo assim', 'aí', 'pois é', 'quer dizer', 'sabe', 'entende', 'sacou',
'tá ligado', 'ok', 'okay', 'tranquilo', 'suave', 'de boa', 'fechou',
'combinado', 'entendido',
# Expressões de afirmação e negação
's', 'n', 'yep', 'nop', 'ahan', 'nops', 'de jeito nenhum', 'com certeza',
'claro', 'óbvio', 'lógico', 'evidente', 'sem dúvida', 'quem sabe', 'vai ver',
'pode ser',
# Expressões de quantidade e intensidade
'bastante', 'pra caramba', 'pra cacete', 'pra dedéu', 'pácas', 'biga',
'uma porrada', 'um monte', 'um tantão', 'um bocado', 'um tiquinho',
'um cadinho', 'um tico', 'uma belezura',
# Expressões de concordância
'tá bom', 'tá bem', 'tá certo', 'pode crer', 'tô dentro', 'topo', 'vamos',
'bora lá', 'tá de boa',
# Expressões de discordância
'tá nada', 'que nada', 'nem a pau', 'nem ferrando', 'nem morto',
'nem que a vaca tussa', 'tá louco', 'tá doido', 'nem pensar',
# Expressões de despedida
'tchau', 'até logo', 'até mais', 'fui', 'to indo', 'té mais', 'inté',
'bye', 'xau', 'beijo', 'abraço', 'abç', 'fique com Deus', 'vai com Deus',
'se cuida', 'se cuide', 'fica bem', 'fique bem',
# Expressões de saudação
'e aí', 'fala', 'fala aí', 'fala tu', 'salve', 'quali', 'como vai',
'como tá', 'tudo bem', 'tudo bom', 'eae', 'coé', 'alô',
# Expressões de agradecimento
'valeu', 'obrigado', 'obrigada', 'brigado', 'brigadão', 'muito obrigado',
'grato', 'gratidão', 'thanks', 'thx', 'tanks', 'tenks',
# Termos de internet e redes sociais
'rs', 'kkkk', 'haha', 'hehe', 'lol', 'risos', 'kkk', 'hahaha', 'postar',
'post', 'stories', 'story', 'feed', 'timeline', 'curtir', 'like', 'reagir',
'compartilhar', 'share', 'seguir', 'follow', 'unfollow', 'bio', 'trending',
'viral', 'viralizar',
# Expressões de dúvida
'será', 'será mesmo', 'não sei não', 'tô na dúvida', 'to em dúvida',
'vai saber', 'sei lá', 'não faço ideia', 'nem imagino',
# Conectores expandidos
'tanto quanto', 'bem como', 'a menos que', 'a não ser que', 'conforme',
'à medida que', 'sempre que', 'logo que', 'assim que', 'uma vez que',
'na medida em que', 'de modo que', 'de forma que', 'caso contrário',
'fora isso', 'além do mais', 'por outro lado', 'por um lado',
'de uma forma ou de outra', 'apesar de tudo', 'ao contrário',
'em contrapartida', 'em compensação', 'por isso mesmo', 'desse modo',
'desta forma', 'assim sendo', 'por consequência', 'consequentemente',
'para tanto', 'aliás', 'inclusive', 'ademais', 'com isso', 'por assim dizer',
'em suma', 'afinal', 'a fim de que', 'de modo a',
# Expressões expandidas
'você', 'vocês', 'porquê', 'entaum', 'bls', 'dexa', 'tá ligado', 'tá sabendo',
'tá com', 'tá ok', 'cê tá', 'ocê', 'ocês', 'nois', 'nois é', 'é nois',
'na moral', 'escuta só', 'né não', 'nu', 'rlx', 'susto', 'tru', 'brodi',
'eu to', 'eu tô', 'nois tá', 'nóis tá', 'tu tá', 'tu vai', 'c vai', 'tu vamo',
'tá suave', 'tá de boaça'
]
# Converter para set para melhor performance
stopwords_br_set = set(stopwords_br)
# Função para remover stopwords
def remove_stopwords(text_list):
"""Remove stopwords de uma lista de palavras"""
return [word for word in text_list if word.lower() not in stopwords_br_set]
# Exemplo de uso
def exemplo_uso_python():
texto = ["eu", "gosto", "muito", "de", "programar", "em", "python"]
texto_limpo = remove_stopwords(texto)
print("Texto original:", texto)
print("Texto sem stopwords:", texto_limpo)Já no R:
stopwords_br = c(
# Artigos e contrações
'a', 'o', 'as', 'os', 'um', 'uma', 'uns', 'umas', 'ao', 'à', 'aos', 'às',
'do', 'da', 'dos', 'das', 'no', 'na', 'nos', 'nas', 'pelo', 'pela', 'pelos', 'pelas',
# Pronomes
'eu', 'tu', 'ele', 'ela', 'nós', 'vós', 'eles', 'elas', 'me', 'mim', 'comigo',
'te', 'ti', 'contigo', 'se', 'si', 'consigo', 'lhe', 'nos', 'vos', 'lhes',
'meu', 'minha', 'meus', 'minhas', 'teu', 'tua', 'teus', 'tuas', 'seu', 'sua',
'seus', 'suas', 'nosso', 'nossa', 'nossos', 'nossas', 'vosso', 'vossa', 'vossos', 'vossas',
# Preposições
'de', 'em', 'por', 'para', 'com', 'sem', 'sob', 'sobre', 'entre', 'até',
'desde', 'contra', 'perante', 'através', 'além', 'dentro', 'fora', 'perto',
'longe', 'durante',
# Conjunções
'e', 'mas', 'ou', 'porque', 'pois', 'que', 'se', 'como', 'quando', 'embora',
'porém', 'todavia', 'contudo', 'então', 'também', 'apesar', 'caso', 'além disso',
'portanto', 'logo', 'ainda que', 'a fim de', 'com o objetivo de',
# Verbos auxiliares e comuns
'ser', 'estar', 'ter', 'haver', 'ir', 'vir', 'fazer', 'poder', 'dever',
'querer', 'saber', 'está', 'estão', 'tem', 'tenho', 'é',
# Demonstrativos
'esse', 'essa', 'isso', 'este', 'esta', 'isto', 'aquele', 'aquela', 'aquilo',
'aqueles', 'aquelas', 'deste', 'desta', 'destes', 'destas', 'disso', 'daquilo',
'nisto', 'naquilo',
# Localizadores
'lá', 'aqui', 'ali', 'onde', 'aonde',
# Interjeições e expressões comuns
'ah', 'oh', 'ei', 'oi', 'olá', 'opa', 'eita', 'nossa', 'caramba', 'poxa',
'uau', 'xi', 'ih', 'ué', 'hein', 'que que é isso', 'quê',
# Gírias e expressões coloquiais
'cara', 'mano', 'mina', 'véi', 'velho', 'brother', 'meu', 'meu chapa',
'mano do céu', 'parça', 'parceiro', 'camarada', 'meu rei', 'minha rainha',
'bro', 'meu anjo', 'fera', 'chefe', 'paizão', 'mainha', 'veinho', 'velhinho',
'moleque', 'garoto', 'menino', 'menina', 'guri', 'guria', 'piá', 'piázinho',
'gajo', 'gaja', 'bacana', 'maneiro', 'massa', 'show', 'top', 'legal', 'beleza',
'joia', 'firmeza', 'daora', 'dahora', 'da hora', 'responsa', 'sinistro', 'brabo',
'brabíssimo', 'irado', 'supimpa', 'bala', 'zica', 'animal', 'monstro', 'mito', 'lenda',
# Abreviações e siglas comuns na internet
'pq', 'tb', 'tbm', 'vc', 'cê', 'ce', 'c', 'mt', 'mto', 'mta', 'td', 'tdo',
'tda', 'hj', 'amg', 'amigo', 'amiga', 'bjs', 'bjss', 'bjo', 'bjao', 'vlw',
'flw', 'fvr', 'por favor', 'abs', 'vdd', 'aff', 'pfv', 'pfvr', 'sla', 'slc',
'sdds', 'tmj', 'tamo junto', 'fds', 'findi', 'blz', 'bele', 'falou', 'falows',
'fmz', 'fmza', 'mds', 'oxe', 'oxi', 'vey', 'véi', 'vix', 'vish', 'vcs', 'tá',
'tô', 'tamos', 'tamo', 'cadê', 'd', 'pro', 'pra', 'q', 'qualé', 'tipo', 'né',
'qnd', 'aki', 'vamo', 'vambora', 'partiu', 'bora', 'falô', 'blza', 'sup', 'obg',
'pls', 'ñ', 'num', 'msm', 'sdd', 'pqn', 'pqns', 'agr', 'poxa', 'po', 'uai',
'eita', 'trem', 'bixim', 'vish', 'causo', 'sô', 'ôxe',
# Regionalismos
'bão', 'ocê', 'oxente', 'painho', 'égua', 'bah', 'tchê', 'aham', 'ahã',
'orra meu', 'home', 'homi', 'muié', 'muler', 'visse', 'tu', 'num é', 'nera',
# Marcadores de discurso
'tipo assim', 'aí', 'pois é', 'quer dizer', 'sabe', 'entende', 'sacou',
'tá ligado', 'ok', 'okay', 'tranquilo', 'suave', 'de boa', 'fechou',
'combinado', 'entendido',
# Expressões de afirmação e negação
's', 'n', 'yep', 'nop', 'ahan', 'nops', 'de jeito nenhum', 'com certeza',
'claro', 'óbvio', 'lógico', 'evidente', 'sem dúvida', 'quem sabe', 'vai ver',
'pode ser',
# Expressões de quantidade e intensidade
'bastante', 'pra caramba', 'pra cacete', 'pra dedéu', 'pácas', 'biga',
'uma porrada', 'um monte', 'um tantão', 'um bocado', 'um tiquinho',
'um cadinho', 'um tico', 'uma belezura',
# Expressões de concordância
'tá bom', 'tá bem', 'tá certo', 'pode crer', 'tô dentro', 'topo', 'vamos',
'bora lá', 'tá de boa',
# Expressões de discordância
'tá nada', 'que nada', 'nem a pau', 'nem ferrando', 'nem morto',
'nem que a vaca tussa', 'tá louco', 'tá doido', 'nem pensar',
# Expressões de despedida
'tchau', 'até logo', 'até mais', 'fui', 'to indo', 'té mais', 'inté',
'bye', 'xau', 'beijo', 'abraço', 'abç', 'fique com Deus', 'vai com Deus',
'se cuida', 'se cuide', 'fica bem', 'fique bem',
# Expressões de saudação
'e aí', 'fala', 'fala aí', 'fala tu', 'salve', 'quali', 'como vai',
'como tá', 'tudo bem', 'tudo bom', 'eae', 'coé', 'alô',
# Expressões de agradecimento
'valeu', 'obrigado', 'obrigada', 'brigado', 'brigadão', 'muito obrigado',
'grato', 'gratidão', 'thanks', 'thx', 'tanks', 'tenks',
# Termos de internet e redes sociais
'rs', 'kkkk', 'haha', 'hehe', 'lol', 'risos', 'kkk', 'hahaha', 'postar',
'post', 'stories', 'story', 'feed', 'timeline', 'curtir', 'like', 'reagir',
'compartilhar', 'share', 'seguir', 'follow', 'unfollow', 'bio', 'trending',
'viral', 'viralizar',
# Expressões de dúvida
'será', 'será mesmo', 'não sei não', 'tô na dúvida', 'to em dúvida',
'vai saber', 'sei lá', 'não faço ideia', 'nem imagino',
# Conectores expandidos
'tanto quanto', 'bem como', 'a menos que', 'a não ser que', 'conforme',
'à medida que', 'sempre que', 'logo que', 'assim que', 'uma vez que',
'na medida em que', 'de modo que', 'de forma que', 'caso contrário',
'fora isso', 'além do mais', 'por outro lado', 'por um lado',
'de uma forma ou de outra', 'apesar de tudo', 'ao contrário',
'em contrapartida', 'em compensação', 'por isso mesmo', 'desse modo',
'desta forma', 'assim sendo', 'por consequência', 'consequentemente',
'para tanto', 'aliás', 'inclusive', 'ademais', 'com isso', 'por assim dizer',
'em suma', 'afinal', 'a fim de que', 'de modo a',
# Expressões expandidas
'você', 'vocês', 'porquê', 'entaum', 'bls', 'dexa', 'tá ligado', 'tá sabendo',
'tá com', 'tá ok', 'cê tá', 'ocê', 'ocês', 'nois', 'nois é', 'é nois',
'na moral', 'escuta só', 'né não', 'nu', 'rlx', 'susto', 'tru', 'brodi',
'eu to', 'eu tô', 'nois tá', 'nóis tá', 'tu tá', 'tu vai', 'c vai', 'tu vamo',
'tá suave', 'tá de boaça'
)
# Para usar com tidytext e dplyr:
library(dplyr)
library(tidytext)
# Função para remover stopwords no R
remove_stopwords_r <- function(text_vector) {
text_vector[!tolower(text_vector) %in% stopwords_br]
}
# Exemplo de uso no R
texto <- c("eu", "gosto", "muito", "de", "programar", "em", "r")
texto_limpo <- remove_stopwords_r(texto)
print(paste("Texto original:", paste(texto, collapse = " ")))
print(paste("Texto sem stopwords:", paste(texto_limpo, collapse = " ")))
# removendo
dados_texto |>
unnest_tokens(word, texto) |>
filter(!word %in% stopwords_br) |>
# continuar processamento...

Deixe um comentário