¿Qué es el procesamiento del lenguaje natural?
Ya sea Alexa, Siri, Asistente de Google, Bixby o Cortana, todos los que tienen un teléfono inteligente o un altavoz inteligente tienen un asistente activado por voz hoy en día. Cada año, estos asistentes de voz parecen mejorar en el reconocimiento y la ejecución de las cosas que les decimos que hagan. Pero, ¿alguna vez se ha preguntado cómo procesan estos asistentes las cosas que estamos diciendo? Logran hacer esto gracias al procesamiento del lenguaje natural o PNL.
Históricamente, la mayoría del software solo ha podido responder a un conjunto fijo de comandos específicos. Se abrirá un archivo porque hizo clic en Abrir, o una hoja de cálculo calculará una fórmula basada en ciertos símbolos y nombres de fórmulas. Un programa se comunica utilizando el lenguaje de programación en el que fue codificado y, por lo tanto, producirá una salida cuando reciba una entrada que reconozca. En este contexto, las palabras son como un conjunto de diferentes palancas mecánicas que siempre proporcionan el resultado deseado.
Esto contrasta con los lenguajes humanos, que son complejos, no estructurados y tienen una multitud de significados basados en la estructura de la oración, el tono, el acento, el tiempo, la puntuación y el contexto. El procesamiento del lenguaje natural es una rama de la inteligencia artificial que intenta cerrar la brecha entre lo que una máquina reconoce como entrada y el lenguaje humano. Esto es para que cuando hablamos o escribimos de forma natural, la máquina produce una salida en línea con lo que dijimos.
Esto se hace tomando grandes cantidades de puntos de datos para derivar el significado de los diversos elementos del lenguaje humano, además de los significados de las palabras reales. Este proceso está estrechamente relacionado con el concepto conocido como aprendizaje automático, que permite a las computadoras aprender más a medida que obtienen más puntos de datos. Esa es la razón por la que la mayoría de las máquinas de procesamiento del lenguaje natural con las que interactuamos con frecuencia parecen mejorar con el tiempo.
Para iluminar mejor el concepto, echemos un vistazo a dos de las técnicas de nivel superior utilizadas en la PNL para procesar el lenguaje y la información.
Tokenización
La tokenización significa dividir el habla en palabras u oraciones. Cada fragmento de texto es una ficha y estas fichas son las que aparecen cuando se procesa su discurso. Suena simple, pero en la práctica es un proceso complicado.
Digamos que está utilizando un software de conversión de texto a voz, como el teclado de Google, para enviar un mensaje a un amigo. Quieres enviar un mensaje: "Nos vemos en el parque". Cuando su teléfono toma esa grabación y la procesa a través del algoritmo de texto a voz de Google, Google debe dividir lo que acaba de decir en tokens. Estos tokens serían "encuentro", "yo", "en", "el" y "parque".
Las personas tienen diferentes longitudes de pausas entre palabras, y es posible que otros idiomas no tengan muy poca pausa audible entre palabras. El proceso de tokenización varía drásticamente entre idiomas y dialectos.
Derivado y lematización
Tanto la derivación como la lematización implican el proceso de eliminar adiciones o variaciones a una palabra raíz que la máquina puede reconocer. Esto se hace para hacer que la interpretación del habla sea consistente en diferentes palabras que significan esencialmente lo mismo, lo que hace que el procesamiento de NLP sea más rápido.
La derivación es un proceso rápido y burdo que implica eliminar afijos de una palabra raíz, que son adiciones a una palabra adjunta antes o después de la raíz. Esto convierte la palabra en la forma básica más simple simplemente eliminando letras. Por ejemplo:
- "Caminar" se convierte en "caminar"
- "Más rápido" se convierte en "rápido"
- "Severidad" se convierte en "sever"
Como puede ver, la derivación puede tener el efecto adverso de cambiar el significado de una palabra por completo. "Severity" y "sever" no significan lo mismo, pero el sufijo "ity" se eliminó en el proceso de derivación.
Por otro lado, la lematización es un proceso más sofisticado que implica reducir una palabra a su base, conocida como lema. Esto toma en consideración el contexto de la palabra y cómo se usa en una oración. También implica buscar un término en una base de datos de palabras y su lema respectivo. Por ejemplo:
- "Son" se convierte en "ser"
- "Operación" se convierte en "operar"
- La "gravedad" se convierte en "grave"
En este ejemplo, la lematización logró convertir el término "severidad" en "severo", que es su forma de lema y la raíz de la palabra.
Casos de uso de PNL y el futuro
Los ejemplos anteriores solo comienzan a arañar la superficie de lo que es el procesamiento del lenguaje natural. Abarca una amplia gama de prácticas y escenarios de uso, muchos de los cuales utilizamos en nuestra vida diaria. Estos son algunos ejemplos de dónde se utiliza actualmente la PNL:
- Texto predictivo: cuando escribe un mensaje en su teléfono inteligente, automáticamente le sugiere palabras que encajan en la oración o que ha usado antes.
- Traducción automática: servicios de traducción para consumidores ampliamente utilizados, como Google Translate, para incorporar una forma de PNL de alto nivel para procesar el lenguaje y traducirlo.
- Chatbots: NLP es la base de los chatbots inteligentes, especialmente en el servicio al cliente, donde pueden ayudar a los clientes y procesar sus solicitudes antes de que se enfrenten a una persona real.
Hay más por venir. Actualmente, los usos de la PNL se están desarrollando e implementando en campos como los medios de comunicación, la tecnología médica, la gestión del lugar de trabajo y las finanzas. Existe la posibilidad de que podamos tener una conversación sofisticada y completa con un robot en el futuro.
Si está interesado en aprender más sobre la PNL, hay muchos recursos fantásticos en el blog Towards Data Science o en el Standford National Langauge Processing Group que puede consultar.
0 Comentarios