El regreso de Infocam

Entre ciclones y dioses africanos ya va para dos meses que dejo de hacer mi modesto aporte a nuestra cibercomunidad, y que divina fortuna que la crisis alimentaria parece traer al menos un renacer de las ideas, pues las ideas de hoy son el pan de mañana.  En este artículo intentaré resumir los temas que he recorrido en estos últimos tiempos y anunciar el renacer de Infocam, un proyecto que había abandonado hace diez años y que ahora sirve de pretexto para aglutinar la inmensa mayoría de los temas computacionales que me apasionan.  En próximos artículos iré abordando cada uno más específicamente y con un poco más de detalle; para el lector impaciente, esto y lo que sigue se trata de cosas como: informetría, lógica matemática, estadística, web semántica, C#, patrones de diseño, procesamiento de lenguaje natural, entre otros muchos.

Así las cosas, he podido comprobar que el panorama actual de la Ciencia de la Computación resulta muy favorable para los que hace más de diez años apostamos por la lógica, el estilo declarativo y la programación funcional.  Muchos colegas miraban con recelo lenguajes de programación como LISP y Prolog, pensando que solo podían ser útiles para realizar experimentos de laboratorio y prototipos.  Se impusieron los lenguajes imperativos, la orientación a objetos, C, C++, luego Java, y más tarde C#.

Infocam …

En aquella época (mediado de la década de los 90) surgió Infocam, un sistema de propósito especial para el procesamiento informétrico, bibliométrico y cienciométrico.   El profesor Dr. Leo Egghe, de la Universidad de Amberes, personalidad de alto prestigio académico, define la informetría como “un término de amplio alcance que abarca todos los estudios métricos relacionados con la Ciencia de la Información, incluyendo la bibliometría (bibliografías, bibliotecas, …), cienciometría (políticas científicas, análisis de citas, evaluación de investigaciones, …),  webometría (métrica de la web, Internet y otras redes sociales tales como las redes de citas o de colaboración), …”

La Web Semántica

Realizar una caracterización a fondo de la Web Semántica (WS) está fuera del alcance de este artículo.  En la web se encuentra disponible amplia información al respecto, tutoriales y software.  Un buen lugar para comenzar es precisamente el sitio del Consorcio WWW .  La WS abarca un grupo de tecnologías basadas en la lógica cuyo objetivo es ir transformando paulatinamente la web actual en una web que además de ser comprensible por los humanos, lo sea también por las máquinas.  Probablemente en sus inicios ni el propio Berners Lee pudiera predecir que la web se convirtiera en la intricada selva de información que es actualmente, conformada por fuentes de información heterogéneas, en la que en ocasiones, encontrar información relevante sobre determinado tema puede convertirse en una hazaña de titanes.  Uno de los grandes problemas radica en que la mayor parte se encuentra en forma de texto libre y por tanto requiere la aplicación de complicadas tecnologías de análisis de lenguaje natural para ser procesada por una computadora.

Algunos pueden plantear que los sofisticados motores de búsqueda brindan la solución al problema: no es tan sencillo, por ejemplo cuando le suministramos a Google el término “jaguar”, es incapaz de diferenciar entre la marca de automóvil y el felino de la familia de las panteras que habita en Suramérica.  Los motores de búsqueda actuales emplean métodos puramente cuantitativos para la alimentación de sus bases de datos, basados fundamentalmente en el conteo de palabras clave o índices de popularidad como los rangos de páginas de Google.  Son las soluciones de que disponemos hoy, a pesar de que existen ya varios buscadores semánticos, todos son muy jóvenes aún, quién no usa Google? pero sin perder la noción de que puede ser mejor.  La WS propone entonces una capa superior de procesamiento que consiste en la formalización del conocimiento o como se dice mucho, la web actual es la web de los datos, la del futuro será la web del conocimiento.

Para la instrumentación de la WS contamos como soporte de base con tecnologías como RDF (Resource Description Framework o Plataforma para la Descripción de Recursos en español) y OWL (Ontology Web Language – Lenguaje de Ontologias para la Web).  RDF honra el viejo principio de que en la vida las cosas más simples son las de mayor grandeza.  Es un mecanismo de representación de conocimiento basado en relaciones binarias o en la jerga RDFiana, en triplos:

(Sujeto, Predicado, Objeto) = Sentencia

donde cada integrante del triplo se representa a través de un Identificador Uniforme de Recursos (URI).  El sujeto es un recurso y el objeto puede ser un literal u otro recurso.  De esta forma es posible construir a partir de los triplos, grafos de longitud ilimitada en los cuales los nodos representan los recursos y los arcos los predicados o propiedades como también se denominan.  De ahí que de forma un poco simplista Dave Beckett plantea en su blog que la “web semántica es una forma webalizada de enlazar datos.  Y eso es todo.”   La primera parte es cierta, pero definitivamente eso no es todo, en esencia, la WS tiene raíces bien fuertes en las investigaciones en inteligencia artificial de hace tres o cuatro décadas, o quizás más.  El modelo RDF es, con sus más y sus menos, lo que un dia fueron los frames, las redes semánticas; OWL desciende de las lógicas terminológicas, lógicas de rasgos (feature logic), y por último las lógicas de descripción: de hecho, una de las variantes de OWL se denomina OWL-DL = OWL Description Logic. 

Concretamente, lo que deseo expresar es que los conceptos han estado por largo tiempo entre nosotros, la nomenclatura ha ido variando con los años.  Ora Lassila plantea en un interesante artículo en su blog que está convencido que los mayores retos alrededor de la web semántica no radican en las teorías relacionadas (RDF, ontologías, razonamiento, etc), sino en la creación de interfaces amistosas sobre estas tecnologías.  En realidad, es la forma de generalizar la WS a un público no experto en grafos, relaciones, inferencia, etc.

Las herramientas de programación

La programación orientada a objetos (POO) ha demostrado ser un excelente paradigma para el desarrollo de aplicaciones y componentes altamente modulares y de fácil mantenimiento.  Su origen se remonta a la década de los 60 del siglo pasado y alcanzó máxima popularidad a principio de los 90.  Actualmente los lenguajes orientados a objetos más populares son sin duda C++, Java y C#.  La abrumadora mayoría de los sistemas existentes se programan en alguno de estos lenguajes.  Elegir uno u otro resulta generalmente una cuestión de gusto personal puesto que casi todos van evolucionando de forma más o menos similar. 

La POO cuenta en su aval con una extensa bibliografía y con un conjunto de prácticas estándarizadas o patrones de diseño que ofrecen una guía a los programadores sobre cómo resolver problemas comunes.  Estos patrones reflejan en si mismos la continuidad histórica de la POO ya que constituyen una abstracción refinada de los métodos que cualquiera de nosotros hemos empleado de forma repetida en nuestro trabajo.

Siguiendo la línea de desarrollo de los lenguajes de programación:

Lenguaje de máquina  => Ensamblador => Lenguajes imperativos (Basic, C, …) => Orientados a objetos => Lenguajes Declarativos (Prolog)

podemos esperar para un futuro no muy lejano, contar con herramientas totalmente declarativas en que el programador exprese qué desea hacer y el intérprete o compilador se encargue del cómo.  Hoy día nos toca agenciarnos para crear aplicaciones semánticas empleando los lenguajes orientados a objetos, todavía eminentemente imperativos.  Aunque la tendencia es la migración paulatina hacia la declaratividad, ejemplo de ello lo tenemos en LINQ (Language Integrated Query – Consultas Integradas en el Lenguaje), la tecnología creada por Microsoft para .NET framework que permite interrogar las más disímiles fuentes de datos (objetos en memoria, bases de datos, documentos XML, …), utilizando un lenguaje único muy similar a SQL.  Se nota además una marcada onda retro, el rescate de valiosos modelos creados hace veinte o treinta años e incluídos en los modernos lenguajes (ej. las expresiones lambda en LINQ); luego no me sorprendería que la próxima versión de C# permita evaluar objetivos de Prolog con backtrack y todo !!!

La WS puede contribuir fuertemente a acelerar este proceso.  Existen diversas corrientes que proceden de diferentes escuelas y que vale la pena estudiar su integración debido a su similitud conceptual.  Por ejemplo, las ontologías constituyen “una especificación explícita de una conceptualización”, o sea, de un dominio; en POO ha logrado gran popularidad últimamente el diseño dirigido por el dominio (domain driven design), una técnica que promueve el diseño del software aparejado al desarrollo y una serie de ciclos de pruebas, retroalimentación y refactorización del código.  Este método contrasta con el tradicional que implica un riguroso y exhaustivo proceso inicial de diseño de cada milímetro del software antes de iniciar la codificación.  Pavel Hruby propone una interesante hibridación de estas tecnologías.

Al estar situada en una capa superior, la componente semántica permite la creación de modelos de dominio agnósticos a la instrumentación específica.  Significa que podemos tener una única ontología OWL que represente por ejemplo el dominio de las bibliotecas y a través de un generador podemos obtener el código equivalente en Java o en C#.

Desgraciadamente, como plantea Andrew Mathews, la introducción de las tecnologías semánticas en .NET ha sido muy irregular.  Valga destacar que el héroe de esta historia es Joshua Tauberer con su biblioteca SemWeb  que convierte en una delicia el trabajo con RDF desde C#.  El segundo héroe es precisamente Andrew Mathews con la biblioteca LinqToRdf, basada en SemWeb, que permite consultar RDF y ontologías en general empleando LINQ.

En general, la integración de la tecnología semántica con la POO, brinda todo un universo de ventajas, desde un nivel superior de abstracción hasta en muchos casos, un incremento de la eficiencia al permitir la reducción de los espacios de búsqueda.  Sin embargo, es necesario tener en cuenta el fenómeno de la impedancia o discordancia entre ambos modelos, situación harto conocida en el gremio por otros casos, por ejemplo, la impedancia objeto-relación entre la POO y las bases de datos relacionales.  Ello implica que es imposible establecer una relación directa entre los elementos de un modelo y del otro; por ejemplo en POO los atributos de una clase pertenecen a ella y son heredados por las subclases; en RDF Schema las propiedades tienen vida independiente de las clases y por tanto no existe el concepto de herencia de propiedades, sino de propagación de los dominios en el orden inverso a la herencia de la POO.  Una de las propuestas de solución del problema de la impedancia objeto-semántica es ActiveRDF aplicable a lenguajes orientados a objetos de tipificación dinámica (ej. Ruby).   Un análisis más general de la problemática se puede encontrar en la “Introducción a la web semántica para programadores orientado a objeto“.

… Infocam

 Regresando pues al presente, he unido esfuerzos nuevamente al Dr. Melvyn Morales Morejón, con más de veinte años de experiencia en Ciencias de la Información e Informetría en particular, para la creación de esta nueva versión de Infocam.  En la nueva visión se incluyen la mayoría de las ideas expresadas anteriormente respecto a la manera semántica de interpretar el universo info-computacional de estos tiempos.  Se basa en la representación de los Procesos de Producción de Información (PPI) (descritos por Egghe y Rousseau en Introduction to Informetrics), usando RDF/OWL, lo cual proporciona un marco conceptual coherente para su posterior procesamiento estadístico-informétrico.  A través de los estudios informétricos que he realizado (ciertamente no muchos) he podido comprobar que resulta bastante complicada su instrumentación, pues el investigador se encuentra obligado a dominar diversas tecnologías y softwares diferentes (gestores de base de datos, hojas de cálculo, herramientas de informes, SQL, …), lo cual lo aleja de sus verdaderos objetivos.  Con Infocam pretendemos en este sentido, aliviar un poco la vida del análista de información y el investigador informétrico, a través de la integración de estos procesos, basado en la amplia experiencia práctica del Dr. Morales y otros colegas, durante todos estos años.

Los dejo a continuación con algunos de los requerimientos que nos hemos propuesto.

  • Capacidad de consultar bibliografías en los formatos de bases de datos más populares (Access, SQL Server, MySQL, …).
  • Importación de descargas de las bases de datos bibliográficas comerciales (Science Citation Index, Medline, …)  así como Reference Manager y Procite.  Facilidades de normalización de nombres de revista, autores, …
  • Extracción de información bibliográfica de sitios web bibliográficos públicos.
  • Cálculo de tablas de frecuencias con múltiples opciones a partir de bases de datos y textos.
  • Cálculo de los valores de la estadística descriptiva.
  • Cálculo de los valores de la estadística inferencial más usados en informetría (estimación de parámetros, pruebas de hipótesis, …).
  • Aplicación de las leyes informétricas clásicas (Zipf, Bradford, Lotka, Mandelbrot, …), construcción de las tablas específicas a cada ley, estimación de sus parámetros, y pruebas de la bondad del ajuste). Gráficos de dispersión.  A partir del enfoque de los PPI, fuentes que producen elementos, será posible aplicar las leyes tanto a bibliografías tradicionales como a otros PPI, ej. sitios web produciendo enlaces.
  • Análisis de citas: tablas de frecuencias de citas, indicadores bibliométricos (ej. factor de impacto), mapas de citas.  Todo ello bajo la concepción genérica de “fuentes citando fuentes”, ej. autores citando autores, autores citando artículos, revistas, …
  • Cálculo de clusters de términos, palabras clave, autores, …
  • Gráficación de funciones informétricas, gráficos comparativos valores observados vs valores estimados.

 Cualquier comentario o sugerencia son siempre bienvenidos. 

 

Anuncios

2 Responses to El regreso de Infocam

  1. Maria Victoria says:

    Hola Barquin, estoy abordando la historia de la visualización métrica (bibliometría, informetría, etc.) en Cuba. Pero no la referida a los tradicionales gráficos sino a los entornos visuales en forma de mapas, redes, híbridos, etc. Se que la versión actual del Infocam implementa algunas metáforas visuales con el SOM. Sin embargo, no estoy segura de las visualizaciones de las versiones anteriores, las presentadas en el INFO 2002 y 2004.
    Le he escrito a Melvyn pero su correo me es devuelto. ¿Me puedes sacar tú de la duda?…gracias y linda la bebe.

  2. johnbarquin says:

    Hola Vicky, en general las versiones terminadas de Infocam solo soportan los gráficos tradicionales, de lineas, barras, etc, asi como graficación de clusters. Para la nueva versión estamos pensando en salidas similares a las que mencionas pero con un enfoque más integrador a los procesos de producción de información.

    Sin embargo y a pesar nuestro el proyecto está en pañales aún por falta de tiempo.

    Cualquier cosa me comentas por acá, saludos

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

A %d blogueros les gusta esto: