"Si no estás usando deep learning, deberías hacerlo". - Jeff Dean, becario de Google.

Google ha comenzado con la misión de dotar a todo y a todos de Inteligencia Artificial (I.A.). Ha abierto Tensorflow y las bibliotecas de apoyo para que los desarrolladores y las empresas puedan crear y entrenar modelos, e inferir (predecir) con ellos. Construir servicios empresariales útiles con esto puede llevar tiempo.

Google también ha expuesto muchos de los servicios de Inteligencia Artificial (a través de las APIs de Cloud Machine learning) que pueden ser bastante útiles en tus aplicaciones. La extracción de características y texto de imágenes, la traducción de texto de un idioma a otro o el análisis de sentimientos sobre texto pueden ayudarte a mejorar drásticamente la experiencia del usuario. Solo estos servicios ya permiten crear nuevas empresas y modelos de negocio. Google ha hecho el trabajo duro de construir y entrenar el modelo. Basta con llamar a una API REST para explotar sus API de aprendizaje automático. Estas API actúan simplemente como un método declarativo de invocación de servicios sin necesidad de comprender o mantener la profunda infraestructura subyacente.

Sus API de aprendizaje automático incluyen:

    1. API de Google Vision
    1. API de voz de Google
    1. API de lenguaje natural de Google
    1. API de traducción de Google
    1. API de inteligencia de vídeo de Google
  1. Y probablemente muchos más servicios cuando esto se publique.

Todos ellos se proporcionan como API REST. Consulte la documentación y los detalles del servicio en el sitio web de Google.

En Couchbase 5.0, la ingeniera de I+D de N1QL, Isha Kandaswamy ha desarrollado y ha escrito sobre la funcionalidad de CURL(). Usando CURL(), puedes usar cualquiera de los servicios REST con endpoint JSON. Un ejemplo de uso de La API de mapas de Google se muestra aquí. El resultado JSON de los servicios puede ser procesado naturalmente en N1QL porque N1QL está diseñado para ser SQL para JSON.

Nota: Puede utilizar CURL() utilizar A.I u otros servicios de cualquier servicio disponible públicamente.

Este blog muestra la forma de utilizar Google Cloud AI API directamente sobre los datos que tienes en Couchbase, directamente con una simple sentencia N1QL. Todas las APIs de Google Cloud Machine Learning devuelven JSON. Así que se puede usar CURL() para llamar a cualquiera de los servicios. Te mostraré ejemplos de uso de Google Vision API, Google translation API y Google Natural Language API.

Nota: Necesitas configurar tu proyecto y habilitar cada uno de los servicios y obtener la API-KEY que necesitas pasar. En los ejemplos siguientes, He quitado mi llave. Debe sustituir PONGA AQUÍ SU LLAVE por su llave.

Exploremos el uso de algunas de las API.

1. Utilizando API de Google Vision:

Podría ser una compañía de seguros en la que los clientes suben fotos de sus coches e identificaciones. Podría ser una universidad que recibe imágenes de expedientes académicos. Quieres extraer el texto de la imagen para darle veracidad, mejorar la experiencia del usuario y facilitar la búsqueda cuando sea necesario.

Google ha pasado de organizar el texto del mundo al contenido multimedia del mundo. Vision API le ofrece potentes funciones para extraer gran cantidad de metadatos dentro de una imagen y correlacionar esa información con información y otras imágenes disponibles en la web.

Obtengamos el análisis completo de la imagen utilizando Google Vision API.

Esta consulta devuelve una enorme respuesta de 120K describiendo todos los polígonos, textos asociados.  He aquí la respuesta. Emitamos de nuevo la consulta a y proyectemos lo que necesitamos. Vision API devuelve la lista concatenada de cadenas. Puede utilizar la función SPLIT() o TOKENS() de N1QL para obtener cada cadena por separado.

2. API de traducción de Google

Esta API hace lo que dice: Traduce de un idioma a otro. Puede detectar automáticamente el idioma de origen. Los argumentos de esta API son simplemente el contenido de origen y el idioma de destino. En este ejemplo, vamos a traducir las opiniones de los clientes de un hotel del inglés al francés. 

El resultado de la consulta, que incluye la traducción al francés, es:

Como no entiendo bien el francés, he hecho traducir la reseña a Kannadami lengua materna. Debo decir que la traducción era decente para una máquina. Algunas frases eran enrevesadas (casi parecía kannada antiguo), pero en general era comprensible. Aquí está la traducción.

3. API de lenguaje natural de Google

La API de lenguaje natural realiza análisis de sentimientos, análisis de entidades, analiza la intención y mucho más. Puede invocar estos servicios simplemente cambiando los parámetros del servicio.

Utilicemos los datos de las reseñas de hoteles, que sí tienen contenido emocional.

Sólo hemos proyectado los campos que nos interesan aquí, reseña, magnitud y puntuación de sentimiento. Consulte los documentos de Google para obtener una descripción completa de lo que significan y el resto de los datos que genera.

La API de lenguaje natural de Google también puede extraer entidades, sus referencias web. Veamos también un ejemplo de ello.

La API de análisis de entidades identifica correctamente la ubicación y nos proporciona las referencias web (URL) del punto de referencia. Cuando las referencias no son muy específicas, como en el caso de las Salas William Team, la API puede proporcionar referencias genéricas de muy alto nivel.

Resumen:

Las aplicaciones Couchbase N1QL pueden usar las APIs de aprendizaje automático de Google fácilmente para mejorar la experiencia del cliente. CURL() proporciona un método flexible para utilizar los servicios de Inteligencia Artificial no sólo de Google sino también de otros proveedores. Pruébalo.

Referencias:

1. N1QL:  https://docs.couchbase.com/server/5.5/n1ql/n1ql-language-reference/index.html

2. Documentación sobre CURL(): https://developer.couchbase.com/documentation/server/current/n1ql/n1ql-language-reference/curl.html

3. CURL llega a N1QL: https://dzone.com/articles/curl-comes-to-n1ql-querying-external-json-data

Autor

Publicado por Keshav Murthy

Keshav Murthy es Vicepresidente de Couchbase R&D. Anteriormente, estuvo en MapR, IBM, Informix, Sybase, con más de 20 años de experiencia en diseño y desarrollo de bases de datos. Dirigió el equipo de I+D de SQL y NoSQL en IBM Informix. Ha recibido dos premios President's Club en Couchbase y dos premios Outstanding Technical Achievement en IBM. Keshav es licenciado en Informática e Ingeniería por la Universidad de Mysore (India), es titular de diez patentes estadounidenses y tiene tres pendientes.

Dejar una respuesta