Gensim - Introducción
Este capítulo le ayudará a comprender la historia y las características de Gensim junto con sus usos y ventajas.
¿Qué es Gensim?
Gensim = “Generate Similar”es una biblioteca de procesamiento de lenguaje natural (NLP) de código abierto popular que se utiliza para el modelado de temas sin supervisión. Utiliza los mejores modelos académicos y el aprendizaje automático estadístico moderno para realizar varias tareas complejas como:
- Construcción de vectores de documento o palabra
- Corpora
- Realizar identificación de temas
- Realizar comparación de documentos (recuperar documentos semánticamente similares)
- Análisis de documentos de texto sin formato para estructura semántica
Además de realizar las tareas complejas anteriores, Gensim, implementado en Python y Cython, está diseñado para manejar grandes colecciones de texto utilizando transmisión de datos así como algoritmos incrementales en línea. Esto lo diferencia de los paquetes de software de aprendizaje automático que solo tienen como objetivo el procesamiento en memoria.
Historia
En 2008, Gensim comenzó como una colección de varios scripts de Python para las matemáticas digitales checas. Allí, sirvió para generar una breve lista de los artículos más similares a un artículo determinado. Pero en 2009, RARE Technologies Ltd. lanzó su lanzamiento inicial. Luego, más tarde en julio de 2019, obtuvimos su versión estable (3.8.0).
Varias características
A continuación se muestran algunas de las características y capacidades que ofrece Gensim:
Escalabilidad
Gensim puede procesar fácilmente corpus grandes y a escala web mediante el uso de sus algoritmos de capacitación en línea incrementales. Es de naturaleza escalable, ya que no es necesario que todo el corpus de entrada resida completamente en la memoria de acceso aleatorio (RAM) en un momento dado. En otras palabras, todos sus algoritmos son independientes de la memoria con respecto al tamaño del corpus.
Robusto
Gensim es de naturaleza robusta y se ha utilizado en varios sistemas por varias personas y organizaciones durante más de 4 años. Podemos conectar fácilmente nuestro propio corpus de entrada o flujo de datos. También es muy fácil de ampliar con otros algoritmos de espacio vectorial.
Plataforma agnóstico
Como sabemos, Python es un lenguaje muy versátil ya que, al ser Python puro, Gensim se ejecuta en todas las plataformas (como Windows, Mac OS, Linux) que admiten Python y Numpy.
Implementaciones eficientes multinúcleo
Para acelerar el procesamiento y la recuperación en grupos de máquinas, Gensim proporciona implementaciones multinúcleo eficientes de varios algoritmos populares como Latent Semantic Analysis (LSA), Latent Dirichlet Allocation (LDA), Random Projections (RP), Hierarchical Dirichlet Process (HDP).
Código abierto y abundancia de apoyo comunitario
Gensim tiene la licencia GNU LGPL aprobada por OSI que permite su uso tanto para uso personal como comercial de forma gratuita. Cualquier modificación realizada en Gensim es, a su vez, de código abierto y también cuenta con abundante apoyo de la comunidad.
Usos de Gensim
Gensim se ha utilizado y citado en más de mil aplicaciones comerciales y académicas. También es citado por varios trabajos de investigación y tesis de estudiantes. Incluye implementaciones en paralelo transmitidas de lo siguiente:
fastText
fastText, utiliza una red neuronal para la inserción de palabras, es una biblioteca para el aprendizaje de la inserción de palabras y la clasificación de texto. Es creado por el laboratorio de investigación de inteligencia artificial (FAIR) de Facebook. Este modelo, básicamente, nos permite crear un algoritmo supervisado o no supervisado para la obtención de representaciones vectoriales para palabras.
Word2vec
Word2vec, que se utiliza para producir incrustaciones de palabras, es un grupo de modelos de redes neuronales superficiales y de dos capas. Los modelos están básicamente entrenados para reconstruir contextos lingüísticos de palabras.
LSA (análisis semántico latente)
Es una técnica en NLP (Natural Language Processing) que nos permite analizar las relaciones entre un conjunto de documentos y los términos que los contienen. Se realiza produciendo un conjunto de conceptos relacionados con los documentos y términos.
LDA (asignación de Dirichlet latente)
Es una técnica en PNL que permite que grupos no observados expliquen conjuntos de observaciones. Estos grupos no observados explican por qué algunas partes de los datos son similares. Esa es la razón, es un modelo estadístico generativo.
tf-idf (término frecuencia-frecuencia inversa del documento)
tf-idf, una estadística numérica en la recuperación de información, refleja la importancia de una palabra para un documento en un corpus. Los motores de búsqueda lo utilizan a menudo para calificar y clasificar la relevancia de un documento dada una consulta de usuario. También se puede utilizar para el filtrado de palabras vacías en el resumen y la clasificación de texto.
Todos ellos se explicarán en detalle en los siguientes apartados.
Ventajas
Gensim es un paquete de PNL que modela temas. Las importantes ventajas de Gensim son las siguientes:
Podemos obtener las facilidades de modelado de temas e incrustación de palabras en otros paquetes como ‘scikit-learn’ y ‘R’, pero las facilidades proporcionadas por Gensim para construir modelos de temas e incrustaciones de palabras son incomparables. También proporciona instalaciones más convenientes para el procesamiento de texto.
Otra ventaja más significativa de Gensim es que nos permite manejar archivos de texto grandes incluso sin cargar el archivo completo en la memoria.
Gensim no requiere costosas anotaciones o etiquetado manual de documentos porque utiliza modelos sin supervisión.