Analiza texto con machine learning y sin escribir una línea de código

Alejandro B. Villaseñor
ibmdevelopermx
Published in
5 min readApr 6, 2020

¿Eres un médico que quiere extraer información relevante entre miles de textos para encontrar el mejor diagnóstico? ¿Una empresa que quiere sacar información importante de entre cientos de contratos? ¿Un negocio que le serviría obtener cierta información específica de los mails de sus clientes? Y además ¿No tienes tiempo de aprender a programar modelos de Machine Learning?

Procesamiento de lenguaje natural es la respuesta

Procesamiento de Lenguaje Natural o Natural Language Processing (usualmente NLP para acortar) es una rama de la inteligencia artificial que se encarga de la interacción entre computadoras y humanos usando lenguaje natural.

El objetivo de NLP es leer, descifrar y entender el lenguaje de los humanos de una manera que sea de utilidad. La mayoría de las técnicas de NLP se basan en Machine Learning para hacer sentido del lenguaje de los humanos.

Codear un modelo de NLP suele ser complejo y requiere conocimientos relativamente avanzados de programación y gramática.

No es una tarea fácil enseñarle a las máquinas como nos comunicamos entre humanos.

Por eso existen herramientas en la nube que pueden facilitarnos el proceso. ¡No necesitamos tener que crear modelos de NLP con código!

Estas herramientas en la nube son poderosas API’s ya listas para uso, y que permite a los desarrolladores analizar texto para sacar todo tipo de elementos como sentimientos, entidades, palabras clave, relaciones, etc. Todo esto de manera muy intuitiva y lo más importante ¡sin tener que escribir una sola línea de código! lo que quiere decir que podrás desarrollar soluciones que sean de valor par ti de la manera más rápida posible sin tener que aprender programación o ser un erudito de la gramática.

Estas son algunas herramientas perfectas para estos menesteres de análisis de texto.

Natural Language Understanding (NLU) y Watson Discovery proporcionan anotaciones que te permiten extraer información útil de un texto usando deep learning. Pero a veces éstas anotaciones no son muy efectivas para algunas empresas o áreas de estudio en obtener los insights que necesitan.

Te mostraré un ejemplo muy sencillo de lo que te hablo.

Analicemos el siguiente texto con Natural Language Understanding con el que puedes analizar el texto en términos de extracción de entidades, keywords, relaciones, clasificación de sentimientos, y muchas cosas más…

“El trabajo de la supercomputadora Summit de IBM ya comenzó a dar sus primeros resultados tras la identificación de 77 componentes que podrían formar parte de un tratamiento para combatir la epidemia de coronavirus covid-19, de acuerdo a la publicación de los resultados de un proyecto liderado por investigadores del Laboratorio Nacional Oak Ridge en Estados Unidos.”

Puedes ver que algunas entidades relevantes son detectadas y son clasificadas de un tipo muy general.

¿Qué pasa si deseas extraer el número de componentes que ya han sido detectados? ¿La máquina/tecnología que se usó para tal descubrimiento? ¿Qué relación hay entre la empresa hizo el descubrimiento y la tecnología que se utilizó?

¡No podrías!

¿Qué podemos hacer al respecto?

¡Podemos construir un modelo de Machine Learning personalizado para que sea capaz de extraer información específica y/o que es relevante para tu empresa o tu área de estudios con Watson Knowledge Studio!

Watson Knowledge Studio (WKS) se utiliza con los otros servicios de la plataforma de la nube de IBM que son Natural Language Understanding (NLU) y Watson Discovery para potenciar esa búsqueda de entidades y relaciones que tanto pueden dar valor a un negocio o una investigación o a lo que te dediques.

¿Crees que ésta tecnología te ayudará en tus objetivos? ¿Sí?

¿Qué sigue?

  1. Basándose en un conjunto de documentos del tema en específico se crea un type system que define los tipos de entidades y los tipos de relación que existen entre esas entidades.
  2. Un grupo de anotadores humanos anotan un set de documentos para etiquetar palabras o frases que representen las entidades, e identifican los tipos de relaciones que hay entre las entidades, así como también co-referencias. Un set anotado y cargado es lo que forma el Ground truth.
  3. Watson Knowledge Studio usa el Ground truth para entrenar el modelo.
  4. El modelo entrenado se usa para encontrar entidades, relaciones y co-referencias en documentos totalmente nuevos y nunca antes vistos en el entrenamiento.
  5. Lo último es desplegar tu modelo entrenado en la instancia del servicio NLU o Discovery, esto se puede hacer fácilmente desde la interface de usuario de WKS.

¿Quieres realizar un workshop de esto?

Visita el siguiente repositorio en GitHub donde te describo paso a paso como entrenar un modelo personalizado, desplegarlo en NLU y como consumirlo en una app en Java.

--

--