spaCy é a biblioteca de NLP mais eficiente para processamento de texto em produção. Enquanto NLTK é acadêmica e verbosa, spaCy é rápida, precisa e projetada para aplicações reais. Com suporte nativo a português via modelos treinados, você implementa tokenização, NER, classificação e análise sintática com poucas linhas de Python.
Pipeline de processamento de texto
O spaCy processa texto através de um pipeline modular: o tokenizer divide texto em tokens (palavras e pontuação), o tagger atribui part-of-speech tags (substantivo, verbo, adjetivo), o parser analisa dependências sintáticas (sujeito, objeto, modificadores), e o NER identifica entidades nomeadas (pessoas, organizações, locais, datas). Tudo acontece com uma única chamada: doc = nlp(texto). O objeto Doc resultante contém toda a análise linguística acessível via atributos Python.
Para português, o modelo pt_core_news_lg oferece boa acurácia em todas essas tarefas. Instale com python -m spacy download pt_core_news_lg e carregue com spacy.load(“pt_core_news_lg”). Modelos menores (sm, md) são mais rápidos mas menos precisos — escolha baseado no tradeoff performance vs acurácia da sua aplicação.
Reconhecimento de Entidades Nomeadas (NER)
NER extrai automaticamente entidades do texto: nomes de pessoas, empresas, locais, valores monetários, datas e outros. Para um texto como “A Petrobras anunciou investimento de R$ 5 bilhões em energias renováveis no Rio de Janeiro em março de 2026”, o spaCy identifica: Petrobras como ORG, R$ 5 bilhões como MONEY, Rio de Janeiro como LOC, março de 2026 como DATE.
Em aplicações reais, NER é a base para: extração de informações de documentos, categorização automática de texto por entidades mencionadas, construção de knowledge graphs conectando entidades, análise de mídia identificando empresas e pessoas citadas, e compliance verificando menções a entidades sancionadas.
NER customizado para seu domínio
O modelo pré-treinado reconhece entidades genéricas, mas seu domínio pode ter entidades específicas: nomes de produtos, códigos internos, tipos de contrato, nomenclaturas técnicas. O spaCy permite treinar NER customizado com seus dados anotados. Use a ferramenta Prodigy (do mesmo time do spaCy) para anotação rápida com active learning — o modelo sugere anotações e você apenas corrige, acelerando enormemente a criação do dataset.
Com 200-500 exemplos anotados por tipo de entidade, o modelo customizado atinge acurácia de produção. Combine entidades customizadas com as pré-treinadas usando nlp.add_pipe para ter o melhor dos dois mundos: entidades genéricas do modelo base mais entidades específicas do seu domínio.
Similaridade semântica e classificação de texto
Os modelos md e lg do spaCy incluem vetores de palavras (word vectors) que permitem calcular similaridade entre documentos, frases e palavras. doc1.similarity(doc2) retorna um score de 0 a 1 que indica quão semanticamente similares são os textos. Isso habilita busca por similaridade, clustering de documentos, e detecção de duplicatas.
Para classificação de texto (spam vs não-spam, positivo vs negativo, categoria de ticket), spaCy oferece o TextCategorizer como componente do pipeline. Treine com exemplos rotulados e o classificador é integrado ao pipeline, processando texto completo em uma única chamada. Para classificações mais complexas, combine spaCy para feature extraction com scikit-learn ou transformers para o modelo de classificação.
Performance e escalabilidade
spaCy processa milhares de documentos por segundo com o model-fitting otimizado em Cython. Para volumes massivos, nlp.pipe() processa documentos em batch com utilização eficiente de CPU. Em pipelines de dados, integre spaCy com Apache Spark ou Dask para processamento distribuído de milhões de documentos.
Para APIs de NLP em produção, sirva o pipeline via FastAPI com pool de workers. Carregue o modelo uma vez no startup e reutilize entre requisições — o carregamento é a operação cara, não a inference. Configure health checks que verificam se o modelo está carregado e respondendo corretamente para monitoramento confiável em produção.
Tem um projeto em mente?
Somos especialistas em transformar ideias em produtos digitais. Apps, sites, automações e IA — vamos construir juntos.