¿Cómo funcionan los embeddings?

1

Cómo Entender y Aplicar Embeddings en IA: De Teoría a Práctica

2

Introducción a One-Hot Encoding y TF-IDF en IA

3

Representación Vectorial de Palabras

4

Evaluación de Similitudes Semánticas: Métodos y Aplicaciones

Quiz: ¿Cómo funcionan los embeddings?

Creación de embeddings

5

Creación y entrenamiento de modelos Word2Vec con Gensim

6

Procesamiento y Limpieza de Datos para IA con Word2Vec y Gensim

7

Entrenamiento de Modelos Word2Vec con GenSim y Análisis de Similitud

8

Word2Vec: Entrenando IA para Comprender el Lenguaje

Quiz: Creación de embeddings

Usando embeddings preentrenados

9

Uso práctico de Sentence Transformers en procesamiento de textos

10

Análisis Semántico: Buscar Textos con Sentence Transformers

11

Manejo de Embeddings con OpenAI: API, Instalación y Datasets

12

Manejo y Visualización de Embeddings con OpenAI: Guía Práctica

13

Creación de un Motor de Búsqueda Semántico con Python

14

Transformación de Texto a Embeddings con Sentence Transformer

Quiz: Usando embeddings preentrenados

Bases de datos vectoriales

15

Qué es y cómo usar una base de datos vectorial

16

Gestión de Bases de Datos Vectoriales con ChromaDB: Instalación y Uso

17

Generación y manejo de embeddings en Chroma con Sentence Transformer

18

Consultas avanzadas y filtrado en bases de datos con Chroma

19

Cargar colección de Chroma previamente creada

20

Configuración y Uso de Pinecone: Desde la Instalación hasta la Inserción de Datos

21

Optimización de Ingesta de Datos en Pinecone: Procesos y Estrategias

22

Consultas Avanzadas en Pinecone: De Texto a Vector y Filtros

23

Carga de índices en Pinecone: Gestión eficiente en la nube

24

Carga de embeddings en Pinecone para búsqueda semántica

25

Creación de buscador semántico con Gradio y Sentence Transformer

Quiz: Bases de datos vectoriales

Conclusiones

26

Potenciando los LLMs: Integración de Embeddings y Datos Vectoriales

No tienes acceso a esta clase

¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera

Procesamiento y Limpieza de Datos para IA con Word2Vec y Gensim

6/26
Recursos

Aportes 5

Preguntas 2

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad?

Podemos mejorar considerablemente (por mucho, en algunos casos) el tiempo total de ejecución de esta rutina de preprocesamiento, si extraemos de la función de clean_text las tareas o acciones que no necesitan ser ejecutadas una y otra vez en cada batch.
Un ejemplo claro es la creación del set de stopwords, que no necesitamos estar invocando en cada batch (1000 veces, en este ejemplo) sino sólo una vez, al inicio (aún antes de declarar nuestra función clean_text) como si fuera una constante:

STOP_WORDS = set(stopwords.words('spanish'))

def clean_text(sentence_batch):
    # ... luego, dentro del for
        filtered_text = [word for word in word_tokens if word not in STOP_WORDS]
    #...

Sólo con ese cambio (y pre-compilar las regular-expressions que luego reusaremos tantas veces) podemos ver mejoras notables (al menos la mitad del tiempo o menos, en este caso particular). Obviamente con un subconjunto más grande (o con este corpus completo u otro con billones de registros), ese tipo de mejoras bien valen la pena.

Les comparto este colab con las 2 versiones para comprobar la diferencia.

Les dejo la regex: `text = re.sub(r'http\S+|www\S+|https\S+', '', text, flags=re.MULTILINE)`
Seria bueno un curso sobre Qlora, ya que en vez de usar millones de frases en un corpus, basta cientos de lineas para reentrenar un modelo LLP como chatgpt, Alpaca o Llama.
La otra: `text = re.sub(r'\@\w+|\#\w+', '', text)`
No me quedo claro de donde viene las funciones strip\_short() y strip\_numeric? el profesor lo usa sin hacer instancia de una clase ni nada. Me funciona en le codigo pero no veo de donde vienen