¡Participa de la Maratón Behind the Code, la competencia de programación más desafiante! Inscríbete aqui

Introducción al procesamiento del lenguaje natural de Watson

Este artículo forma parte de la ruta de aprendizaje Introducción al procesamiento del lenguaje natural.

Nivel Tema Tipo
100 Introducción al procesamiento del lenguaje natural de Watson Artículo
101 Observar más detalladamente la función Syntax API en Watson Natural Language Understanding Artículo
201 Visualizar datos no estructurados utilizando Watson Natural Language Understanding Code pattern

Introducción

Importación y el análisis de documentos

Como se muestra en la demo anterior, con las características de IBM® Watson™ en procesamiento de lenguaje natural es posible analizar de manera eficiente grandes cantidades de entrada de texto para producir insights procesables. Proporciona a Watson una URL o un sitio conocido de noticias, y Watson podrá ingresar texto del sitio y analizarlo en segundos, mucho más rápido que un humano. El texto se analiza por categorías, conceptos, emociones, entidades, relaciones, sentimientos y más, todo lo cual es posible personalizar. La información extraída de este servicio te permite encontrar más significado en el texto, comprender las tendencias y recomendar contenido similar a partir de grandes cantidades de datos.

Este artículo explica cómo IBM Watson puede ayudarte a utilizar los servicios de procesamiento del lenguaje natural para desarrollar aplicaciones cada vez más inteligentes. Si bien este artículo se centra principalmente en los servicios Watson Natural Language Understanding y Watson Knowledge Studio, es posible obtener información sobre Watson Discovery en la ruta de aprendizaje de Watson Discovery.

Echa un vistazo a una demo rápida para ver las capacidades del servicio Watson Natural Language Understanding.

Términos específicos de Watson Natural Understanding

El procesamiento del lenguaje natural es un subcampo de la lingüística, informática e inteligencia artificial que estudia la interacción entre las computadoras y los lenguajes humanos y, más específicamente, cómo programar las computadoras para procesar y analizar grandes cantidades de datos del lenguaje natural. Esta sección explica los términos específicos de Watson Natural Language Understanding.

Natural Language Understanding: un subtema del procesamiento del lenguaje natural en inteligencia artificial que se ocupa de la forma en que las máquinas interpretan texto y comprenden significados basados en el contexto.

Funciones: las posibles clasificaciones que Watson Natural Language Understanding puede generar a partir de la entrada de texto dada. Estos incluyen categorías, conceptos, emociones, palabras clave, metadatos, relaciones, roles semánticos y sentimiento.

Entidades: personas, empresas, ubicación y clasificaciones que realiza Watson. Se puede encontrar una lista completa de tipos y subtipos de entidades en la [documentación] de Natural Language Understanding (https://cloud.ibm.com/docs/natural-language-understanding?topic=natural-language-understanding-entity-type-systems).

Categorías: cinco niveles de jerarquías que Watson puede identificar a partir del texto de entrada. La siguiente tabla ofrece un ejemplo de una «máquina de fax»

Nivel 1 Nivel 2 Nivel 3 Nivel 4 Nivel 5
tecnología e informática hardware periféricos informáticos impresoras, fotocopiadoras y fax máquinas de fax

Conceptos: conceptos de alto nivel a los que no necesariamente se hace referencia directa en el texto.

Metadatos: un conjunto de datos que describe y proporciona información sobre otros datos. Por ejemplo, para una URL de entrada determinada, los campos de metadatos pueden incluir fecha de publicación, título y autor.

Relaciones: el reconocimiento de cuándo dos entidades están relacionadas y la identificación del tipo de relación.

Watson Knowledge Studio

GIF de análisis financiero

Una vez que comprendas los conceptos básicos de Watson Natural Language Understanding, verás que el poder de Watson radica en la precisión de sus resultados. Watson es excelente desde el primer momento, pero no está entrenado en el conocimiento específico del dominio de cada sector. Por lo tanto, es posible que debas enseñarle a Watson matices, relaciones y significados lingüísticos específicos de tu sector. Por ejemplo, si estás trabajando con una empresa emergente que está evaluando el riesgo crediticio, no solo necesitas enseñarle a Watson el nombre de tu start-up para que la reconozca como un tipo de entidad de «Organización», sino también los matices de terminología financiera como crédito, accidente e interés. Cada una de estas palabras puede tener diferentes significados según su contexto, y cuantas más anotaciones puedas usar para entrenar Watson, más precisos serán tu modelo y resultados.

La siguiente figura ofrece una representación visual de los pasos necesarios para entrenar a Watson en tu conocimiento del dominio utilizando Watson Knowledge Studio.

Pasos necesarios para entrenar a Watson

Términos específicos de Watson Knowledge Studio

Anotación: el proceso de seleccionar texto específico de un documento y asociarlo con entidades predefinidas. Por ejemplo, «IBM» estaría asociado con el tipo de entidad «Organización», como se muestra en la siguiente figura.

Anotación

Conjunto de anotaciones: documentos que asignas a un humano para que haga anotaciones.

Watson Knowledge Studio: una herramienta que te permite desarrollar un modelo de machine learning para identificar entidades y relaciones sin ninguna experiencia en codificación. Te permite hacer anotaciones en documentos y entrenar a Watson con tu conocimiento del dominio.

Verdad fundamental: conjunto de datos verificados que consta de anotaciones agregadas por anotadores humanos que se utiliza para adaptar un modelo de machine learning a un dominio específico.

Modelo de machine learning: un componente que identifica entidades y relaciones entre entidades según un modelo estadístico que se basa en una verdad fundamental. El modelo aplica la experiencia pasada, como los datos de entrenamiento, para determinar o predecir el resultado correcto de experiencias futuras en función de las características de los datos. Estas experiencias pasadas se capturan en forma de modelo mediante el cálculo de puntuaciones de funciones para cada respuesta o evidencia candidata y combinándolas con resultados conocidos. En ocasiones, esto se denomina anotador de machine learning.

Modelo de entrenamiento: proceso de configuración de una instancia de Watson con componentes que le permiten al sistema funcionar en un dominio específico (por ejemplo, contenido de corpus, datos de entrenamiento que generan modelos de machine learning, algoritmos programáticos u otros componentes de verdad fundamental) y luego realizar mejoras y actualizaciones a estos componentes basados en análisis de precisión.

Casos de uso

Varios casos de uso para el procesamiento del lenguaje natural incluyen:

  • Resumen automatizado para la rápida identificación de tendencias: resume artículos de noticias o redes sociales para extraer información sobre un producto o empresa específicos e identificar tendencias en la opinión del cliente.

  • Asistente virtual de chatbot como Watson Assistant, Siri, Alexa o Google: estos conocidos asistentes pueden convertir audio en texto y luego analizar ese texto utilizando el procesamiento de lenguaje natural para comprender el contexto. Pueden responder a tus preguntas en tiempo real. El procesamiento del lenguaje natural de Watson puede enriquecer la entrada del cliente al comprender el lenguaje de su dominio y agregar análisis de sentimientos y emociones.

  • Completar automáticamente un email: cuando ves que tu aplicación de email puede predecir el final de tu oración, la aplicación extrae contexto a medida que escribes y es posible comprender la probabilidad de las palabras que siguen a las palabras anteriores. Las funciones de Watson Natural Language Understanding que te permiten extraer contexto rápidamente son buenas para ayudarte a implementar funciones de autocompletar o autocorrección.

Acceso al procesamiento de lenguaje natural de IBM Watson

Hay varias formas de acceder a los servicios de procesamiento de lenguaje natural de Watson para mejorar tu forma de hacer negocios. A seguir, algunas:

Los servicios de procesamiento de lenguaje natural Watson y Watson Assistant están estrechamente relacionados y a menudo se utilizan juntos. Es posible probar Watson Assistant y desarrollar un chatbot gratis en IBM Cloud.

Este video informativo te ofrece una descripción general de las características de IBM Watson Natural Language Understanding.

Cuando estés listo para crear tu propio modelo personalizado, este video te mostrará las funciones de Watson Knowledge Studio y te enseñará cómo hacer anotaciones, entrenar e implementar un modelo de machine learning para mejorar la precisión de Watson Natural Language Understanding y Watson Discovery.

Hay una ruta de aprendizaje en Watson Discovery si quieres más información sobre este servicio.

SDK

Para el acceso mediante programación, los SDK de Watson brindan soporte para una gran cantidad de idiomas. La siguiente lista muestra los SDK para desarrolladores actuales.

API

Para más información sobre las API, consulta la documentación de Discovery API.

Ejemplo de código

El siguiente ejemplo de código de Node.js muestra cómo autorizar y analizar texto en busca de emociones, sentimientos, entidades y palabras clave.

En la parte superior del archivo, importamos el Node.js SDK de Watson Natural Language Understanding Node.js SDK y un módulo de autenticación para asegurarnos de que tenemos acceso al servicio Watson desde IBM Cloud.

A continuación, pasamos nuestra api-key, que se genera en IBM Cloud cuando creas el servicio de Watson Natural Language Understanding para crear una instancia en nuestro código Node.js. También pasamos la URL de la instancia, que también se encuentra en la pestaña de credenciales de IBM Cloud Service, como se muestra en la siguiente figura.

Agregar credenciales

Sabemos que Watson puede analizar un sitio web, por lo que ingresamos la URL www.nytimes.com. Pasamos las funciones de entidades y palabras clave y le decimos a Watson que solo queremos los resultados de las dos palabras clave y entidades principales, estableciendo el límite a 2. También habilitamos las funciones de emoción y sentimiento para que Watson también las genere.

Finalmente, usamos la función de análisis del servicio Watson para analizar el sitio web nytimes.com y generar las dos palabras clave y entidades principales que se encontraron.

Analizar la función de salida

Continúa y toma el siguiente código, abre un editor de código, crea un nuevo archivo llamado nlu.js y luego ejecuta npm install en el directorio que contiene ese archivo. Esto instala las dependencias de ibm-watson, que te permiten acceder a la API de Watson Natural Language Understanding. Luego, ingresa tu apiKey y url en las primeras líneas de la función.


const NaturalLanguageUnderstandingV1 = require('ibm-watson/natural-language-understanding/v1');
const { IamAuthenticator } = require('ibm-watson/auth');


async function analyze() {


  const naturalLanguageUnderstanding = new NaturalLanguageUnderstandingV1({
    version: '2019-07-12',
    authenticator: new IamAuthenticator({
      apikey: '<apiKey>',
    }),
    url: 'https://api.us-south.natural-language-understanding.watson.cloud.ibm.com/instances/<instanceId>',
  });




  const analyzeParams = {
    'url': 'www.nytimes.com',
    'features': {
      'entities': {
        'emotion': true,
        'sentiment': true,
        'limit': 2,
      },
      'keywords': {
        'emotion': true,
        'sentiment': true,
        'limit': 2,
      },
    },
  };




  naturalLanguageUnderstanding.analyze(analyzeParams)
    .then(analysisResults => {
      console.log(JSON.stringify(analysisResults, null, 2));
    })
    .catch(err => {
      console.log('error:', err);
    });
}


analyze();

Continúa y ejecuta el código, node nlu.js. La siguiente demo ofrece una salida de muestra de la ejecución del script.

Salida de muestra

El código anterior te muestra lo mínimo para que puedas empezar a trabajar con Watson. Para ver usos más avanzados de Watson Natural Language Processing, consulta nuestros Code patterns de IBM Developer.

Resumen

Este artículo proporciona una descripción general de los servicios de procesamiento de lenguaje natural de Watson. Explica cómo IBM Watson puede ayudarte a utilizar los servicios de procesamiento del lenguaje natural para desarrollar aplicaciones cada vez más inteligentes, centrándose en el uso de los servicios Watson Natural Language Understanding y Watson Knowledge Studio.

El artículo forma parte de la ruta de aprendizaje Introducción al procesamiento del lenguaje natural, que te guía para desarrollar aplicaciones web con todas las funciones que se crean con los servicios de procesamiento de lenguaje natural de Watson. Para continuar, Observar más detalladamente la función Syntax API en Watson Natural Language Understanding.