En 2010 hubo un punto de inflexión en el procesamiento del lenguaje natural (NLP por sus siglas en inglés), las redes neuronales artificiales comienzan a mostrar resultados muy superiores a algoritmos existentes en esta área. Estos modelos se caracterizan por tener muchos más parámetros que los tradicionales de la época, además de necesitar un gran volumen de datos de entrenamiento. Estos modelos han ido mejorando en la última década llegando a resolver casi todos los problemas del procesamiento del lenguaje natural.
Un ejemplo serían los asistentes virtuales en el entorno del hogar cada vez son más cotidianos, productos como Ok Google o Amazon Alexa se han convertido en uno más de la familia. Básicamente funcionan de la siguiente forma:
- El dispositivo registra sus palabras generando una grabación que se envía a servidores de la nube.
- En los servidores se desglosa la frase en sonidos individuales, después se conecta a una base de datos que contiene las pronunciaciones de varias palabras para encontrar qué palabras corresponden a la combinación de sonidos individuales.
- El siguiente paso es identificar las palabras más importantes para dar sentido a la tarea y poderla llevar a cabo.
- Una vez que sepamos la tarea a realizar y como llevarla a cabo, enviaremos la información al dispositivo del hogar para que nos comunique la tarea que va a realizar.
Los asistentes virtuales en el entorno del hogar suponen un gran desafío en el campo de la IA del procesamiento del lenguaje natural, ya que requiere poder comprender al usuario y poder ejecutar una tarea en tiempo real.
Este gran reto es debido a que existen palabras donde el significado depende de palabras anteriores o posteriores, por ejemplo “taco”, no es lo mismo decir se me ha roto el taco del zapato que decir hoy me apetece comer un taco. Otro caso especial seria las palabras “vaya”,” baya” y “valla”, la primera seria es verbo “ir” la segunda es una fruta y la última un obstáculo. Por otro lado, existen significados de palabras que sólo existen en una región o país, un ejemplo seria la frase ¿Le provoca un tinto? En Colombia hace referencia a tomarse un café, mientras que en otros países como España el interlocutor pensaría que hace referencia a tomarse un vino tinto. Estos son sólo unos ejemplos de lo que se debe de analizar en tiempo real y dar una solución idónea al usuario, pero los contextos son innumerables neologismos, ironías, chistes o poesía …
Para solucionar estos casos del lenguaje los algoritmos en tiempo real tienen que:
- Analizar la estructura del texto para poder dividir el texto en frases, palabras y oraciones.
- Convertir ese texto en datos para poder etiquetar en categorías gramaticales.
- Encontrar el contexto de la sentencia de todos los posibles.
- Obtener la aplicación de la gramática que ha realizado el usuario, cabe resaltar que, aunque la gramática define una estructura fija su aplicación es casi infinita.
Hay que recalcar que todas estas tareas se realizan en tiempo real y que cada idioma tiene su estructura de texto o categorías gramaticales por lo que el desafío es mayor. Por otro lado, destacar las principales aplicaciones de utilizar procesamiento del lenguaje natural son muy diversas como:
- Asistentes inteligentes.
- Filtros de correo electrónico.
- Resultados de la búsqueda.
- Texto predictivo.
- Traducción de idioma.
- DialerBots.
- Análisis de sentimientos.
Las aplicaciones que utilizan el procesamiento del lenguaje natural cada vez son mayores y más sofisticadas consiguiendo una muy buena interacción con los usuarios. A pesar de estos avances aún queda mucho trabajo en esta área como, por ejemplo: Problemas en el diseño de los chatbot y metodología estándar para evaluarlos, resolución de problemas del mundo real donde no es posible obtener el etiquetado de los datos y por último el aumento de recursos hardware para la resolución de problemas, con el consiguiente costo energético y económico.
Comentarios recientes