Formas de representar un texto en NLP

| Última modificación: 11 de julio de 2024 | Tiempo de Lectura: 2 minutos

Algunos de nuestros reconocimientos:

Premios KeepCoding

Existen muchas maneras en las que podemos representar un texto en NLP. En este artículo te mostraremos una, el one-hot encoding, para que estés más familiarizado con este tema tan importante en el mundo del machine learning.

Formas de representar un texto en NLP

Formas de representar un texto en NLP

Si nos fijamos un poco en la imagen, que representa un pipeline de NLP, observamos que tenemos un corpus inicial que nos ha sido dado previamente y, normalmente, está compuesto por uno o más datasets.

Lo primero que se hace con el corpus es el preprocesado, el cual puede tener varias formas, como el splitting, que tiene que ver con la visión por tokens; el noise removal o eliminación de ruido, que incluye acentos y stopwords, entre otros; y la normalización.
Al corpus también le podemos aplicar tokenización.

Posterior a estos procesos, podemos representar un texto en NLP por medio de una imagen más eficiente, de cara a posibles entrenamientos en el futuro.

Entonces, existen tres estructuras para representar un texto en NLP:

  • One-hot encoding.
  • Count vectors (+ Tf – idf).
  • Word embeddings.

Estas son tres formas estándar para representar un texto en NLP. Son muy útiles en algoritmos de deep learning y otro tipo de algoritmos y sirven para que nuestros modelos aprendan más rápido.

En este caso, veamos en qué consiste el one-hot encoding.

One-hot encoding

Hemos visto un poco acerca de los bag-of-words y hemos dicho que hacen referencia al conteo de los tokens que hay en un corpus. Por ejemplo, en un corpus, la palabra language se repite 5 veces, la palabra computing se repite 8 veces, etc.

El one-hot encoding cambia un poco la estructura de cómo representamos la frecuencia respecto a, por ejemplo, la bag-of-words.

El one-hot encoding es, quizás, la manera más sencilla de representar un texto en NLP. Permite representar cada texto como un vector. Los pasos son los siguientes:

  • Definimos un vocabulario (puede extraerse del corpus).
  • Asignamos un entero a cada palabra, de manera que tendremos un vector de longitud igual al número de palabras (cardinalidad) del vocabulario. Cada posición en el vector representará una palabra del vocabulario.
  • Para cada documento, asignamos un valor en la posición correspondiente del vector preconstruido a cada palabra que lo compone. Dicho valor puede ser si aparece o no (Term presence) o el número de veces que aparece (Term frecuency).

En su aproximación más simple, la codificación se realiza a nivel de token. De esta manera, un documento estará definido por N vectores (tantos como tokens contenga), en los que la posición de cada palabra en cada vector tendrá valor igual a 1 (Term presence).

Hemos visto cómo representar un texto en NLP. Ahora podemos dar el siguiente paso en nuestro proceso de aprendizaje. Para poder acceder a las opciones laborales de este sector, uno de los mejores pagados y con mayor demanda, tenemos para ti el Bootcamp en Data Science. Con esta formación intensiva e íntegra adquirirás los conocimientos teóricos y prácticos que necesitas para abrite paso hasta el trabajo de tus sueños en pocos meses. ¡No sigas esperando para impulsar tu carrera y pide ahora más información!

Sandra Navarro

Business Intelligence & Big Data Advisor & Coordinadora del Bootcamp en Data Science, Big Data & Machine Learning.

Posts más leídos

¡CONVOCATORIA ABIERTA!

Big Data, IA & Machine Learning

Full Stack Bootcamp

Clases en Directo | Profesores en Activo | Temario 100% actualizado