Enfoque de la bolsa de palabras (BoW)
El enfoque de la bolsa de palabras (BoW) es un método para convertir datos de texto no estructurados, como el cuerpo de un correo electrónico, en datos numéricos estructurados. Este enfoque se utiliza en dominios de minería de texto como el procesamiento del lenguaje natural (NLP) y el aprendizaje automático.
Valor y utilidad de BoW
Los dominios como el aprendizaje automático son mejores para comparar un conjunto de datos de un tamaño fijo con otro conjunto del mismo tamaño. Los datos de texto no estructurados, como un mensaje de correo electrónico, no se prestan a este tipo de comparación. Los datos de texto no están estructurados de forma inherente: se pueden escribir en cualquier idioma, tener cualquier longitud de palabra, etc. Para facilitar la ‘comprensión’ de los algoritmos de aprendizaje automático y procesos similares, utilizamos enfoques como BoW para convertir datos de texto no estructurados en datos numéricos de un tamaño fijo.
Algunos casos de uso del mundo real de analizar texto con BoW son:
- Filtrado de correo no deseado: identificación de los mensajes de correo electrónico no deseado a partir de su contenido de texto.
- Traducción de idiomas : traducción de texto de un idioma natural a otro.
- Análisis de sentimientos : identificación de los sentimientos o emociones expresados en el texto. Por ejemplo, ¿el texto expresa una opinión positiva o negativa? ¿Una emoción feliz, triste o enojada?
Ejemplo de BoW y explicación adicional
Usemos un ejemplo para discutir BoW con más detalle. Digamos que queremos analizar y comparar las primeras frases de dos de las fábulas de Esopo, ‘La liebre y la tortuga’ y ‘La tortuga y los patos’.
Esas oraciones, respectivamente, son:
- Una Liebre se estaba burlando de la Tortuga un día por ser tan lenta.
- La Tortuga, ya sabes, lleva su casa a la espalda.
El primer paso para aplicar BoW a los dos textos es construir un vocabulario . Un vocabulario en este contexto es un conjunto de palabras para las que queremos realizar operaciones. La más básica de estas operaciones es comprobar si las palabras que incluye están presentes en cada texto.
Digamos que nuestro vocabulario consiste en lo siguiente:
- liebre
- Tortuga
- casa
- haciendo
- siendo
- lleva
Revisaremos ambos textos para cada una de estas palabras. Como dijimos anteriormente, el objetivo es convertir el texto de cada oración en datos numéricos, específicamente, un vector . Un vector es una matriz unidimensional. Puede pensar en ello como una sola fila en una hoja de cálculo. Cada ‘celda’ de la fila contendrá solo uno de dos valores: 0 si la palabra no está presente en el texto y 1 si está presente. Estos valores en un vector se denominan observaciones .
La aplicación del enfoque BoW resultará en dos vectores, uno para cada texto. Cada vector contendrá seis observaciones, una para cada palabra del vocabulario, y se verá así:
| Fábula | liebre | Tortuga | casa | haciendo | siendo | lleva |
|---|---|---|---|---|---|---|
| La liebre y la tortuga | 1 | 1 | 0 | 1 | 1 | 0 |
| La tortuga y los patos | 0 | 1 | 1 | 0 | 0 | 1 |
En un caso de uso real en el que estaríamos usando un lenguaje de programación como Python, nuestros resultados podrían representarse de la siguiente manera, asumiendo que hemos nombrado los vectores para cada texto hareAndTortoise y tortoiseAndDucks:
hareAndTortoise = [1, 1, 0, 1, 1, 0]
tortoiseAndDucks = [0, 1, 1, 0, 0, 1]
Técnicas adicionales de BoW
Observe cómo en el vocabulario restringimos la selección de palabras a sustantivos y formas verbales que expresan significados clave. Esta es una práctica estándar en BoW y minería de texto. A menos que los necesitemos para un propósito específico, omitimos las palabras vacías ; son palabras breves que aparecen con frecuencia en cualquier texto, como artículos, pero que tienen poco o ningún valor semántico. Ejemplos de palabras vacías son:
- una
- eso
- y
- él
- ella
Otra consideración del mundo real al analizar grandes conjuntos de datos de miles de textos que pueden tener miles de palabras cada uno, es que nuestro vocabulario también será bastante extenso. Es probable que consistan en miles de palabras, y no solo en un puñado, como en nuestro ejemplo. Debido a que la memoria disponible y otros recursos informáticos nunca son ilimitados, queremos economizar nuestros términos de vocabulario tanto como sea posible.
BoW puede usar las técnicas de derivación y lematización para tratar de reducir el número de términos en el vocabulario. Ambas técnicas economizan términos al almacenar una única forma de una palabra que es lo suficientemente general como para que devuelva una coincidencia incluso si un texto incluye una forma diferente de la palabra.
Stemming utiliza un enfoque más mecánico para lograr esto. Simplemente elimina un prefijo o sufijo de una palabra, para lograr una forma más simple y más corta de la palabra, llamada raíz . Entonces, en nuestro ejemplo, el gerundio ‘ing’ se eliminaría de ‘making’, para almacenar ‘mak’. Esto devolvería una coincidencia si se encontraran ‘make’ o ‘making’ en un texto dado.
La lematización está un poco más avanzada en cuanto a cómo economiza. Almacena las formas raíz de las palabras, que se denominan lemas . En nuestro vocabulario de muestra, ‘carry’ se condensaría en la forma raíz del verbo, ‘carry’.
¿Cuáles son los riesgos asociados a la minería a cielo abierto?
Resumen de la lección
Definimos la bolsa de palabras (BoW) como un enfoque de minería de texto utilizado para convertir datos de texto no estructurados en datos estructurados de un tamaño fijo. Este enfoque se utiliza con frecuencia en dominios de minería de texto, como el aprendizaje automático y el procesamiento del lenguaje natural (NLP).
La forma en que BoW convierte el texto en datos estructurados es convirtiéndolo en un vector , que es una matriz unidimensional. Para lograr esto, es necesario crear primero un vocabulario , un conjunto de palabras para buscar en el texto.
Discutimos las mejores prácticas con respecto a cómo ensamblar un vocabulario, como no incluir palabras vacías , que son palabras cortas que aparecen con frecuencia en el texto, pero que a menudo tienen poco o ningún valor semántico.
También discutimos por qué es una buena idea tratar de economizar la cantidad de términos almacenados en un vocabulario y dos técnicas que podemos usar para lograrlo. La raíz almacena una forma más corta de una palabra, una raíz , en el vocabulario eliminando prefijos y sufijos de la palabra, mientras que la lematización almacena la forma raíz de la palabra, su lema .
Explora más sobre este tema
Selecciona un tema y sigue aprendiendo...
