{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "
\n",
""
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# **NOTEBOOK 5**\n",
"---"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# **Indexación y recuperación de información**"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## **Bag-of-Words (BoW)**\n",
"\n",
"El modelo **Bag-of-Words (BoW)** es una técnica comúnmente utilizada en el procesamiento del lenguaje natural (NLP) y la minería de texto para convertir texto en una forma que se pueda ser analizada y procesada por algoritmos de aprendizaje automático. \n",
"\n",
"El modelo BoW trata cada documento como una 'bolsa' de palabras, ignorando completamente el orden de las palabras y enfocándose únicamente en la frecuencia (o presencia) de palabras. Representa los documentos como vectores en los cuales cada dimensión corresponde a una palabra del vocabulario, y el valor puede representar la frecuencia de esa palabra en el documento.\n",
"\n",
"### **Pasos para Implementar BoW**\n",
"\n",
"1. **Tokenización**: Divide el texto en palabras o 'tokens'.\n",
" \n",
"2. **Construcción de Vocabulario**: Crea un vocabulario de todas las palabras únicas presentes en el conjunto de datos.\n",
"\n",
"3. **Vectorización**: Cada documento se convierte en un vector, donde cada dimensión representa una palabra del vocabulario, y el valor en esa dimensión representa la frecuencia de esa palabra en el documento (o simplemente la presencia/ausencia de la palabra).\n",
"\n",
"Por ejemplo:\n",
"\n",
"Tomemos un pequeño corpus de tres frases para ilustrar cómo funciona:\n",
"\n",
"1. \"El gato juega en el jardín.\"\n",
"2. \"El perro duerme en la casa.\"\n",
"3. \"El niño juega con el perro.\"\n",
"\n",
"Primero, realizamos la tokenización (en este caso, palabras) y construimos un vocabulario con todas las palabras únicas en nuestro corpus:\n",
"\n",
"Vocabulario: {el, gato, juega, en, jardín, perro, duerme, casa, niño, con}\n",
"\n",
"Tenemos 10 palabras únicas en nuestro vocabulario. Por tanto, cada frase puede ser representada como un vector de 10 dimensiones. Es decir, cada palabra del vocabulario es un vector de 10 dimensiones, donde todas las dimensiones son cero excepto la dimensión correspondiente a la palabra, que es 1.\n",
"\n",
"\n",
"\n",
"
el | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
---|---|---|---|---|---|---|---|---|---|---|
gato | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
juega | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
en | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0 |
jardín | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 |
perro | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | 0 |
duerme | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 0 |
casa | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 | 0 |
niño | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 |
con | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 |