Gensim - Introdução
Este capítulo o ajudará a entender a história e os recursos do Gensim, juntamente com seus usos e vantagens.
O que é Gensim?
Gensim = “Generate Similar”é uma biblioteca popular de processamento de linguagem natural (NLP) de código aberto usada para modelagem de tópicos não supervisionados. Ele usa os melhores modelos acadêmicos e aprendizado de máquina estatístico moderno para realizar várias tarefas complexas, como -
- Construindo documentos ou vetores de palavras
- Corpora
- Executando a identificação do tópico
- Executar comparação de documentos (recuperar documentos semanticamente semelhantes)
- Analisando documentos de texto simples para estrutura semântica
Além de realizar as tarefas complexas acima, o Gensim, implementado em Python e Cython, é projetado para lidar com grandes coleções de texto usando streaming de dados, bem como algoritmos online incrementais. Isso o torna diferente dos pacotes de software de aprendizado de máquina que visam apenas o processamento na memória.
História
Em 2008, Gensim começou como uma coleção de vários scripts Python para a matemática digital tcheca. Lá, serviu para gerar uma pequena lista dos artigos mais semelhantes a um determinado artigo. Mas em 2009, a RARE Technologies Ltd. lançou seu lançamento inicial. Então, no final de julho de 2019, obtivemos sua versão estável (3.8.0).
Vários Recursos
A seguir estão alguns dos recursos e capacidades oferecidos pelo Gensim -
Escalabilidade
O Gensim pode processar facilmente corpora grandes e em escala da web usando seus algoritmos de treinamento online incremental. É escalonável por natureza, pois não há necessidade de todo o corpus de entrada residir totalmente na memória de acesso aleatório (RAM) a qualquer momento. Em outras palavras, todos os seus algoritmos são independentes da memória em relação ao tamanho do corpus.
Robusto
Gensim é robusto por natureza e tem sido usado em vários sistemas por várias pessoas, bem como organizações, por mais de 4 anos. Podemos facilmente conectar nosso próprio corpus de entrada ou fluxo de dados. Também é muito fácil de estender com outros algoritmos de espaço vetorial.
Agnóstico de plataforma
Como sabemos que Python é uma linguagem muito versátil por ser puro Python Gensim roda em todas as plataformas (como Windows, Mac OS, Linux) que suportam Python e Numpy.
Implementações multicore eficientes
A fim de acelerar o processamento e a recuperação em clusters de máquina, Gensim fornece implementações multicore eficientes de vários algoritmos populares, como Latent Semantic Analysis (LSA), Latent Dirichlet Allocation (LDA), Random Projections (RP), Hierarchical Dirichlet Process (HDP).
Código aberto e abundância de apoio comunitário
O Gensim é licenciado sob a licença GNU LGPL aprovada pela OSI, que permite que seja usado para uso pessoal e comercial gratuitamente. Quaisquer modificações feitas no Gensim são, por sua vez, de código-fonte aberto e também contam com amplo apoio da comunidade.
Usos de Gensim
O Gensim foi usado e citado em mais de mil aplicações comerciais e acadêmicas. Também é citado por vários trabalhos de pesquisa e teses de alunos. Inclui implementações paralelizadas em fluxo do seguinte -
fastText
fastText, usa uma rede neural para incorporação de palavras, é uma biblioteca para aprender a incorporação de palavras e classificação de textos. Ele é criado pelo laboratório AI Research (FAIR) do Facebook. Este modelo, basicamente, nos permite criar um algoritmo supervisionado ou não supervisionado para a obtenção de representações vetoriais para palavras.
Word2vec
Word2vec, usado para produzir incorporação de palavras, é um grupo de modelos de redes neurais superficiais e de duas camadas. Os modelos são basicamente treinados para reconstruir contextos linguísticos de palavras.
LSA (Análise Semântica Latente)
É uma técnica em PNL (Processamento de Linguagem Natural) que nos permite analisar as relações entre um conjunto de documentos e seus termos. Isso é feito produzindo um conjunto de conceitos relacionados aos documentos e termos.
LDA (alocação de Dirichlet latente)
É uma técnica em PNL que permite que conjuntos de observações sejam explicados por grupos não observados. Esses grupos não observados explicam porque algumas partes dos dados são semelhantes. Essa é a razão, é um modelo estatístico generativo.
tf-idf (termo frequência-frequência inversa do documento)
tf-idf, uma estatística numérica na recuperação de informações, reflete a importância de uma palavra para um documento em um corpus. É frequentemente usado por mecanismos de pesquisa para pontuar e classificar a relevância de um documento de acordo com uma consulta do usuário. Também pode ser usado para filtrar palavras irrelevantes em resumos e classificações de texto.
Todos eles serão explicados em detalhes nas próximas seções.
Vantagens
Gensim é um pacote de PNL que faz modelagem de tópicos. As vantagens importantes do Gensim são as seguintes -
Podemos obter as facilidades de modelagem de tópicos e incorporação de palavras em outros pacotes, como ‘scikit-learn’ e ‘R’, mas os recursos fornecidos pela Gensim para construir modelos de tópicos e incorporação de palavras são incomparáveis. Ele também fornece recursos mais convenientes para processamento de texto.
Outra vantagem mais significativa do Gensim é que ele nos permite lidar com grandes arquivos de texto, mesmo sem carregar o arquivo inteiro na memória.
O Gensim não requer anotações caras ou marcação manual de documentos porque usa modelos não supervisionados.