Tag: procesamiento del lenguaje natural

El terreno de las tecnologías de información está a la orden del día y son muchas las empresas que vuelcan gran parte de sus gastos en invertir en ellas. Los pilares sobre los que se sustentan las TIC´s son la Transformación Digital, el Big Data y la Industria 4.0. Siendo la Transformación Digital el principal proceso que escogen las empresas para consolidarse en la era más tecnológica conocida hasta la fecha.

Existen multitud de tendencias que vienen de la mano de estas tecnologías de la información, pero en este post sólo os hablaremos de aquellas que consideramos más importantes durante este 2018.

Inteligencia Artificial

Su despegue definitivo tuvo a lo largo del pasado año, constituyéndose a día de hoy como la tecnología más importante y con mayor progresión. Las principales tecnologías de inteligencia artificial que marcarán los años venideros son:

  • Del procesamiento conjunto de la ciencia computacional y la lingüística aplicada, nace el Procesamiento de Lenguaje Natural (PLN o NLP en inglés), cuyo objetivo no es otro que el de hacer posible la compresión y procesamiento asistidos por ordenador de información expresada en lenguaje humano, o lo que es lo mismo, hacer posible la comunicación entre personas y máquinas.
  • Machine Learning o aprendizaje automático, es una Inteligencia Artificial que crea sistemas que aprenden de forma automática. Actualmente, se utilizan en gran variedad de aplicaciones empresariales, principalmente para realizar predicciones, sistemas de recomendación o clasificaciones. El objetivo es crear algoritmos inteligentes para detectar patrones exitosos y aprender de estas tendencias para poder repetirlas.
  • Deep Learning o Aprendizaje profundo. Es una técnica dentro del machine learning basado en arquitecturas de redes neuronales artificiales. Está relacionado con algoritmos inspirados en la estructura y función del cerebro. Estas redes neuronales artificiales se construyen como el cerebro humano, con nodos de neuronas conectados como una red. Un modelo basado en deep learning puede aprender a realizar tareas de clasificación directamente a partir de imágenes, texto o sonido, etc. sin necesidad de intervención humana para la selección de características.

Internet de las cosas (IoT)

Con el Internet de las Cosas (en inglés, Internet of Things, IoT), hacemos referencia a la conexión de las personas con los objetos. El IoT se trata de la digitalización del mundo físico. Pongamos un ejemplo: IoT puede ser que un frigorífico pueda realizar una compra online de un producto que haya caducado.

Otro ejemplo podemos observarlo en las zapatillas deportivas en las que, mediante un chip en las botas, podemos tener datos reales sobre el esfuerzo físico realizado.

Quizás, aún tenemos un largo recorrido para que todos tengamos en nuestros hogares frigoríficos inteligentes, pero está a un paso de ser realidad gracias al sistema de identificación por radiofrecuencia, bastará con integrar un chip de pocos milímetros en cualquier objeto del hogar, del trabajo o de la ciudad para poder procesar y transmitir información a partir de él constantemente. El objetivo de todo esto es proporcionar a los consumidores una serie de servicios y aplicaciones inteligentes sin precedentes.

Edge Computing

A medida que los drones inteligentes, los vehículos autónomos y otros dispositivos inteligentes alimentados con inteligencia artificial se conectan y se comunican de manera instantánea a través del IoT, la cuestión del envío de sus datos a la nube es muy poco práctico. Muchos de estos dispositivos necesitan respuesta y procesamiento en tiempo real, lo que convierte al edge computing en la única opción viable.

Como podéis observar, este término está muy ligado al anterior, ya que su principal objetivo es hacer útil aquellos datos recolectados por los sensores y dispositivos loT. Antes, estos datos se enviaban a la nube (Cloud Computing) como almacenamiento y solo servía para obtener cierta información. Actualmente, estos datos procedentes del IoT y de sensores se procesan a través del Edge Computing (análisis en local en lugar de en la nube) y aporta una mayor autonomía a éstos para que sean más “inteligentes”, no sólo para recolectar la información sino también para analizarla.

El edge computing conlleva muchas ventajas: análisis de los datos en tiempo real ya que son analizados a nivel local y abaratamiento de costes operativos ya que no se requieren centros de datos. Sin embargo, aunque el Edge continúe siendo la opción preferida para procesar datos en tiempo real, es probable que los datos más importantes y relevantes sigan dirigiéndose a la nube.

Big Data Analytics: análisis de grandes volúmenes de datos.

Es un concepto que agrupa esas tecnologías y modelos matemáticos que se dedican a almacenar, analizar y cruzar toda grandes volúmenes de datos para intentar encontrar patrones de comportamiento o información útil para hacer de esta información una ventaja competitiva de inteligencia empresarial. Las plataformas de analítica Big Data serán una herramienta indispensable para la toma de decisiones.

Industria 4.0 

Esta industria 4.0, también denominada Industria Inteligente, se trata de una nueva revolución industrial de base tecnológica que constituye una nueva forma de organización y gestión de la cadena de valor de la industria. Esta cuarta revolución industrial viene determinada por la introducción de la tecnología digital en fábricas inteligentes capaces de adaptarse a las necesidades y procesos de producción. Este cambio tecnológico, permite vincular el mundo físico al virtual para hacer de la industria una industria inteligente. Aunque las oportunidades que ofrece esta industria 4.0 son múltiples, la que más nos llama  la atención es que en los próximos años surgirán nuevos modelos de negocio que enriquecerán la cadena de valor de la industria y estarán basados en la creación de nuevas propuestas para los clientes tanto externos como internos. Sin embargo, la integración total de los sistemas de información se enfrentarán a un desafío importante: la recolección de una inmensidad de datos procedentes de una gran variedad de fuentes diversas y heterogéneas, donde entrarán en juego las tecnologías anteriormente citadas: big data, inteligencia artificial, IoT, edge computing…

Blockchain

El blockchain, o cadena de bloques en español, se trata de una base de datos diseñada para almacenar de forma creciente (por bloques) datos ordenados en el tiempo (en cadena) y que no puedan ser modificados una vez publicados (mantiene los datos seguros y privados).

La primera aplicación práctica de la cadena de bloques pudimos verla con la aparición de las criptomonedas o el bitcoin en 2008. También, puede utilizarse para registrar datos de transacciones -se puede aplicar a todo tipo de transacciones que no tienen por qué ser necesariamente económica-, acuerdos, contratos, etc., es decir, todo aquello que se tenga la necesidad de registrar de forma independiente y verificada.

Además, este registro de datos es universal, es decir, no se distribuye en un único sitio sino a través de muchas computadoras y toda persona puede acceder a esta base de datos con la versión actualizada. Esto supone que todo el control del proceso está en manos de los propios usuarios.

El futuro de esta tecnología vendrá de la manos de aquellas empresas que desarrollen sus propios servicios de blockchain o cadena de bloques, sobre todo en el sector bancario, tanto para ofrecer servicio al público en general como para grupos reducidos, un servicio personalizado para clientes específicos.

Realidad aumentada

La realidad aumentada consiste en combinar el mundo real con el virtual mediante un proceso informático, enriqueciendo la experiencia visual y mejorando la calidad de comunicación. No debemos confundir este término con el de realidad virtual, en el post anterior hacemos referencia a ambos términos así como las principales diferencias entre los mismos.

Gracias a esta tecnología se puede añadir información visual a la realidad, y crear todo tipo de experiencias interactivas: catálogos de productos en 3D, probadores de ropa virtual, video juegos y mucho más. Aunque existen tiendas online en las que esta realidad aumentada está implementada, aun queda mucho por recorrer. Cabe esperar que se consolide esta tendencia para que deje de serlo y se instaure como un recurso imprescindible.

La mayoría de la información ofrecida por instituciones, diputaciones y otros organismos públicos, popularmente conocida como Open Data, es digitalizada y publicada a través de diferentes canales en Internet. Estos datos abiertos pueden ser tanto disposiciones de licitaciones, ayudas, subvenciones, multas de tráfico, oposiciones, concursos oficiales, etc. Este tipo de información es buscada día a día por diversos usuarios y empresas de diferente índole que desean consultar estas bases de datos de Open Data.

Pero, claro, toda esta información no está estructurada (desordenados) y cada dato está publicado en una web diferente bajo un formato distinto (PDF, HTML, XML,…). Hoy en día no existe una página pública o herramienta comercial que aglutine y extraiga todos estos datos descritos bajo una misma web. Tampoco existe un protocolo o normalización estándar de “cómo se deben publicar”.

Además de la gran heterogeneidad del Open Data (origen y formato), en el 95% de los casos, esa información no está estructurada y necesita un tratamiento por una persona para que sea útil. Si se tiene en cuenta la cantidad de canales a extraer y el volumen de información publicado, incluso considerando sólo lo publicado diariamente, se hace inmanejable para una persona.

En resumen, la situación de partida es que estamos ante un gran volumen de datos que requiere la necesidad de una herramienta que facilite la consulta y extracción de estos datos. Gracias a la inteligencia artificial y el Machine Learning (aprendizaje automático), tenemos la solución: NetOpenData. Se trata de una herramienta que facilita el acceso a los datos del sector público y open data. Se trata de un servicio para acceder a la información de forma estructurada y bajo un solo paraguas, una sola web.

¿Cómo funciona el sistema de inteligencia artificial diseñado?

La innovación principal de NetOpenData parte de obtener, procesar y ofrecer este tipo de información de forma estructurada siguiendo un enfoque automático. Para ello se han aplicado diferentes técnicas de aprendizaje, siguiendo un enfoque supervisado relacionado con:

Se han desarrollado sistemas capaces de dar solución a la extracción masiva de recursos a partir de Internet, la segmentación de textos, la clasificación de textos y la extracción de información en textos. Además, de cara a la extracción masiva de información se ha hecho uso de herramientas pensadas para este tipo de entornos que permitan trabajar desde una perspectiva paralela capaz de organizar el trabajo siguiendo un enfoque escalable y distribuido ya que de otra forma el sistema no es capaz de procesar toda la información recogida.

Otros de los puntos fuertes de NetOpenData es la utilización de las últimas tecnologías de almacenamiento. Sistemas que surgieron hace poco y están adaptadas a los procesamientos de información en tiempo real. Esto es una ventaja debido a que desde su base de creación se están enfocando a problemas actuales como cargas masivas de datos (Big Data) o tiempos de respuesta y almacenamiento bajos, una gran problemática que les cuesta solventar a las bases de datos tradicionales, debido a la robustez que ya tienen.

¿Qué ventajas posee este sistema de Inteligencia Artificial?

  • Permite extraer unos recursos concretos (Ej. Boletines Oficiales) a través de diferentes canales (Ej. Web de una Diputación) de una forma automática, teniendo en cuenta las peculiaridades de los datos a extraer, así como el uso que se le tiene pensado dar.
  • Es capaz de tratar cada recurso extraído con el fin de obtener de él una información útil para el usuario:
    • Segmentar el índice del contenido.
    • Segmentar el contenido en disposiciones.
    • Clasificar el idioma de la disposición.
    • Clasificar las disposiciones en función a una taxonomía.
  • Puede ordenar determinadas piezas de información según el idioma y el tipo de la disposición.
  • Hace posible guardar de forma persistente tanto la información bruta como la estructurada fruto del tratamiento indicado anteriormente, teniendo en cuenta el uso que se le tiene pensado dar y el volumen generado.
  • Ofrece al usuario el acceso a los datos de forma más práctica y eficaz posible, a través de una única página web que permite:
    • la visualización y filtración de datos
    • la descarga de disposiciones concretas
    • la creación de alertas de disposiciones en base a una serie de filtros concretos.

¿Qué tipo de datos públicos puedes obtener con NetOpenData?

Boletines Oficiales, Patentes, Marcas, Ayudas, Nombres Comerciales, Contrataciones y Licitaciones. Toda esta información se estructura para puedas utilizarlo de forma fácil y sencilla en tu empresa o para que puedas montar servicios innovadores a partir de estos datos.

NetOpendata

Por otro lado, en ITELLIGENT nos adaptamos a las necesidades de cada uno de nuestros clientes por lo que si tu empresa requiere otros datos diferentes a los que aporta NetOpenData o desea enlazar los datos de nuestro software con otras fuentes, también somos especialistas en hibridación de datos.

ITELLIGENT en Microsoft Research, Cambridge UK

En la imagen, Jaime Martel, CTO de ITELLIGENT, en Microsoft Research, Cambridge UK

El pasado 10 de agosto tuvimos el placer de conocer a la Dra. Regina Barzilay, profesora del Massachusetts Institute of Technology (MIT), en su ponencia sobre How Can NLP Help Cure Cancer? en la ciudad de Cambridge (UK). El evento, organizado en el centro de Microsoft Research en Cambridge UK, pertenecía a una serie de ponencias tituladas “Frontiers in AI” (Fronteras de la Inteligencia Artificial) bajo el patrocinio de Microsoft Research.

La charla de la Dra. Regina Barzilay (1970, Chisináu, Moldavia) versó sobre cómo es posible ayudar a la cura del cáncer a través de técnicas de procesamiento de lenguaje natural (PLN o NLP en inglés): How can NLP help cure cancer?

Actualmente, la mayoría de las investigaciones sobre el cáncer se llevan a cabo en el campo de la biología y medicina. La informática sin embargo, desempeña un papel de apoyo menor en este proceso, si es que lo hace. Con su ponencia, Barzilay manifiesta que el PLN, como campo de estudio, tiene la oportunidad de jugar un papel importante en esta batalla contra el cáncer. De hecho, el texto de forma libre sigue siendo el principal medio por el cual los médicos registran sus observaciones y hallazgos clínicos, pero, desgraciadamente, esta rica fuente de información textual es “subutilizada” por los modelos predictivos en oncología. Los modelos actuales sólo se basan principalmente en datos estructurados. Por este motivo, Barzilay defiende la utilización del PLN para avanzar en los estudios sobre el cáncer.

El interés de Barzilay en este tema es relevante, ya que éste comenzó en el momento en el que le diagnosticaron un cáncer de mama. A partir de ese momento, Barzilay comenzó su andadura por la investigación en este campo y descubrió que existen muchas oportunidades para mejorar los sistemas de diagnostico del cáncer. Según ella, no se aprovechan todos los datos que se generan sobre la información de los pacientes; sólo se utiliza una pequeña parte de estos datos. A través de la utilización de esta gran cantidad de datos desaprovechados, se podrían mejorar diagnósticos y tratamientos del cáncer.

A  raíz de su cáncer, Regina Barzilay, comienza a trabajar en este tema con diversos doctores del Hospital General de Massachusetts. De esta colaboración nace un sistema que permite mejorar la extracción de información de los historiales de los pacientes utilizando técnicas de PLN (Procesamiento del Lenguaje Natural). De esta forma se enriquecen las bases de datos.  Asimismo, desarrollaron técnicas para facilitar la interacción de los doctores con el sistema:

  • El sistema permite a los doctores ofrecer, de forma intuitiva y fácil, feedback al sistema (ej. indicar que un dato no es correcto)
  • El sistema no solo realiza la extracción de la información sino que también ofrece una explicación de porqué se han extraído.
Barzilay_Cambridge_UK

Varias imágenes de la ponencia de Barzilay sobre How can NLP help cure cancer? en Microsoft Research Cambridge (UK)

Además,  Regina habló de las extraordinarias oportunidades para la aplicación de técnicas de Data Science y aprendizaje automático a la lucha contra el cáncer puesto que los modelos actuales podrían mejorarse mucho más. Y no solo utilizando modelos de aprendizaje más avanzados, sino incorporando también muchos de los datos que actualmente no se utilizan -o sólo se utilizan de forma parcial-. Es decir, no sólo a partir de textos no estructurados (ej. historial del paciente) sino, sobre todo, de un mejor tratamiento de los datos (principalmente imágenes) que los modernos sistemas de diagnostico ofrecen.

Algo a destacar sobre la ponencia de Barzilay fue la presencia de Christopher Bishop,  miembro del equipo técnico de Microsoft y Director de Laboratorio de Microsoft Research Cambridge. Bishop estuvo presente en esta charla entre el público ya que ésta misma se disponía en el centro que actualmente dirige. 

Cómo se aplica el PLN

Según Barzilay el procesamiento del lenguaje natural (PLN) de sus  máquinas aplica la información de dos maneras:

La primera fue crear un sistema que coge el informe patológico que ha escrito el doctor, donde está recogida toda la información del tumor, lo reconoce y lo escribe en una base de datos, una especie de tabla estructurada, que los ordenadores pueden analizar fácilmente. Así es posible buscar a las personas que tiene el mismo tipo tumor o que presenta altos condicionantes de poder padecerlo. En definitiva, trasladar miles de informes con letras de doctores diferentes a una tabla donde se puede buscar información. Este primer sistema posee 110.00 informes patológicos de tres hospitales: el Massachusetts General Hospital, el Instituto de Cáncer Dana-Farber Cancer y el Hospital Newton Wellesley.

La segunda forma está relacionada con la interpretación de las mamografías. Se han creado sistemas que pueden ver una mamografía y predecir si la paciente se está dirigiendo hacia el cáncer. Esto es, gracias a que las máquinas identifica patrones correctamente, de tal forma que si se les muestra una serie de mamografías de cómo han ido evolucionando las pacientes que finalmente han desarrollado cáncer, pueden identificar si esos mismos rasgos se están dando en otra paciente. Algo que para los humanos es imposible de hacer.

Actualmente, Barzilay ya ha conseguido algún resultado, especialmente en la detección de condicionantes. Gracias a su trabajo han podido predecir cuando alguien tiene factores de riesgo para tener cáncer y ver cómo se desarrolla.

Inteligencia Artificial como parte del PLN

Desde los inicios de la humanidad hasta la actualidad, ha tenido lugar incremento del conocimiento tal como lo conocemos hoy día. Como resultado de siglos de investigación, con frecuencia sobre los temas aparentemente no relacionados, tenemos el conocimiento científico, el recurso más importante del que dispone la raza humana. Del procesamiento conjunto de la ciencia computacional y la lingüística aplicada, nace el Procesamiento de Lenguaje Natural (PLN o NLP en inglés), cuyo objetivo no es otro que el de hacer posible la compresión y procesamiento asistidos por ordenador de información expresada en lenguaje humano, o lo que es lo mismo, hacer posible la comunicación entre personas y máquinas.

Existen distintos programas que exhiben diferente grado del procesamiento inteligente del lenguaje. Por ejemplo, un buscador de documentos puede buscar simplemente los documentos que contienen la cadena de caracteres especificada por el usuario, sin importar que dicha cadena tenga o no un significado en un lenguaje o idioma. En este caso no sería una aplicación del PLN. Sin embargo, el mismo buscador podría buscar los documentos que comuniquen la idea especificada por el usuario, sin importar las letras que la comunican, y en este caso, sin duda, sería una excelente aplicación de PLN, ya que entendería la idea comunicada en la petición del usuario, la idea comunicada en cada uno de los documentos, y sería capaz de compararlas.

Arquitectura de un sistema de PNL

La arquitectura de un sistema de PLN se basa en una definición de Lenguaje Natural por niveles, los cuales son:

  1. Nivel fonológico: trata de cómo las palabras se relacionan con los sonidos que representan
  2. Nivel morfológico: trata de cómo las palabras se construyen a partir de unas unidades de significado más pequeñas llamadas morfemas
  3. Nivel sintáctico: trata de cómo las palabras pueden unirse para formar oraciones, fijando el papel estructural que cada palabra juega en la oración y qué sintagmas son parte de otros sintagmas
  4. Nivel semántico: trata del significado de las palabras, y de cómo los significados se unen para dar significado a una oración, también se refiere al significado independiente del contexto, es decir, de la oración aislada.
  5. Nivel pragmático: trata de cómo las oraciones se usan en distintas situaciones y de cómo el uso afecta al significado de las oraciones.

Esta arquitectura muestra cómo la computadora interpreta y analiza las oraciones que le sean proporcionadas:

  1. El usuario le expresa a la computadora qué es lo que desea hacer.
  2. La computadora analiza las oraciones proporcionadas, en el sentido morfológico y sintáctico, es decir, si las frases contienen palabras compuestas por morfemas y si la estructura de las oraciones es correcta.
  3. El siguiente paso es analizar las oraciones semánticamente, es decir, saber cuál es el significado de cada oración, y asignar el significado de éstas a expresiones lógicas (cierto o falso).
  4. Una vez realizado el paso anterior, ahora podemos hacer el análisis pragmático de la instrucción, es decir, una vez analizadas las oraciones, ahora se analizan todas juntas, tomando en cuenta la situación de cada oración. Una vez realizado este paso, la computadora ya sabe qué es lo que va a hacer, es decir, ya tiene la expresión final.
  5. Una vez obtenida la expresión final, el siguiente paso es la ejecución de ésta, para obtener así el resultado y poder proporcionárselo al usuario.

Aplicaciones

Habiendo visto cómo se desarrolla el procesamiento de lenguaje natural, podemos deducir, por tanto, algunas de sus múltiples aplicaciones, entre las cuales se encuentran las siguientes:

Personal-Profesional
  • Gestión del tiempo
  • Control de estrés
  • Toma de decisiones
  • Etc.
Salud
  • Estrés
  • Adicciones
  • Miedos y traumas
  • Etc.
Educación
  • Resolver situaciones difíciles
  • Estrategias eficaces para el aprendizaje
  • Enseñar con éxito
  • Etc.

Algunas aplicaciones más concretas del PLN son: análisis y síntesis de voz, traducción automática, revisión lingüística, recuperación de la información, respuesta a preguntas, extracción de la información, reconocimiento del habla, entre otras.

Como se ve, el PLN está presente en nuestra vida diaria mucho más de lo que nos creemos, es por ello que desde hace pocos años se haya vuelto tan crucial para distintos ámbitos en los que nos movemos, haciéndolo herramienta indispensable para las empresas a la hora de obtener información y utilizándola a su favor.