Essa lista tem uma intenção muito elementar: servir como recurso mnemônico para que eu não esqueça a enorme quantidade de ferramentas disponíveis para Natural Language Processing (NLP, também conhecido em português como Processamento de Linguagem Natural). Por tabela, serve para os leitores do blog. Você perceberá que a lista tem um foco em ferramentas com aplicações em Python.

atualizada em 15 de janeiro de 2020

FlashText – biblioteca em Python para encontrar, extrair e substituir termos em um texto.

gensim -> pacote completo de NLP com inúmeros funções de processamento de texto bruto e análise semântica.

Natural Language Toolkit -> foi a primeira ferramenta de NLP que usei e continua sendo uma das minhas prediletas – ótimo em parceria com o spaCy (ver adiante). Ponto fraco: ainda tenho minhas críticas à documentação, que sempre me parece muito fragmentada.

NeuralCoref 4.0 -> uma extensão para o spaCy para visualização de coreferência em textos com uso de uma rede neural. O objetivo da extensão é para uso em chat bots e só funciona para o inglês.

PyTeaser -> versão em Python do algoritmo de resumo de textos disponível em Scala. A principal diferença entre ele e o TextTeaser, mencionado mais adiante, é que o PyTeaser faz resumos de textos encontrados em um endereço na internet, ou seja, se você precisar fazer resumos automáticos de, por exemplo, matérias jornalísticas, essa é a ferramenta indicada. Por conta disso, você vai precisar de outros pacotes para rastreamento na web com o beautifulsoup.

PyTextRank -> é uma extensão do spaCy que permite a criação de resumos usando o algoritmo TextRank.

spaCy -> pacotão completo de Natural Language Processing, com algumas aplicações para o português – nem tudo disponível para o inglês. Permite visualização de dependências, processamento com GPU e treinamento de diversas funções, inclusive classificação de textos. É possível construir extensões que ampliam o pacote.

spaCy Universe -> é o canal oficial do spaCy para add-ons ao sistema.

TextBlog -> é talvez uma das ferramentas de NLP mais simples que você vai encontrar e, por isso, extremamente útil. A documentação é excelente. Contra: até sua inserção nesta lista, só funcionava com inglês, francês e alemão.

TextTeaser -> é uma adaptação para Python do mesmo algoritmo de resumo de textos disponível em Scala. O resumo é feito de forma automática com aprendizado de máquina.