[Qualipso-a4] Extracción automática del conocimiento

Alvaro del Castillo acs en gsyc.escet.urjc.es
Lun Feb 11 06:35:08 CET 2008


Hola!

En la revisión de QualiPSo y luego en el PMB, quedó claro que la A4
estaba bien encaminada pero que era una orientación ambiciosa la que
llevaba y no se tenía claro si se iban a poder alcanzar los objetivos
marcados, siendo quizá el más difícil el de la extracción automática del
conocimiento.

Una vez que tenemos extraídos todos los contenidos de las diferentes
fuentes de información y los tenemos organizados según las ontologías
que modelan la información en un proyecto FLOSS, se nos presentan una
serie de retos:

* ¿Qué vamos a poder hacer luego con dicha información?
  - Búsquedas semánticas
  - Búsquedas por palabras claves
  - Procesamiento de lenguaje natural?
* ¿Cómo vamos a relacionar las diferentes fuentes de información?
* Actualización de las fuentes de información

Ahora mismo estoy echando en falta el *tener casos de uso claros* que
resolver, que deberíamos de derivar de las preguntas que inspiraron la
A4: https://qualipso.libresoft.es/cgi-bin/trac.cgi/wiki/GoalQuestions.

Para avanzar en estas líneas de investigación tenemos algunos proyectos
Open Source que nos pueden ir dando pistas de hacía donde poner nuestros
esfuerzos. Algunos campos después de una búsqueda rápida con Google:

+ http://www.alfresco.com/products/solutions/ecm/dm/: Alfresco Document
Management

Se resumen algunas ideas para la mejora de la gestión documental en los
proyectos, proponiendo ideas como las búsquedas por palabras claves o la
"Automatic meta-data extraction and categorization". Este punto es
realmente interesante en nuestro caso ya que las formas de organizar la
información, principalmente en ontologías en nuestro caso, pero sin
olvidar las taxonomías, los etiquetados, la generación de diccionarios e
incluso los tesauros (listado de palabras o términos empleados para
representar conceptos y las relaciones entre ellos, sinónimos,
antónimos, generalizaciones, concreciones) son importantes. 

+ Apache UIMA: http://incubator.apache.org/uima/index.html
(Originalmente de IBM
http://domino.research.ibm.com/comm/research_projects.nsf/pages/uima.index.html
)

Este proyecto es bastante más interesante. Se fija como objetivos
"Unstructured Information Management applications are software systems
that analyze large volumes of unstructured information in order to
discover knowledge that is relevant to an end user."

¿Nuestra información es "Unstructured"? En algunas de las fuentes de
información en gran medida, como puede ser los contenidos de los correos
electrónicos. Analizando los objetivos del proyecto de la FAQ y la
introducción al mismo:

http://incubator.apache.org/uima/downloads/releaseDocs/2.2.1-incubating/docs/pdf/overview_and_setup.pdf

Se está intentando estandarizar dentro de OASIS 
http://www.oasis-open.org/committees/tc_home.php?wg_abbrev=uima
con documentos del 31 de Diciembre de 2008:
http://www.oasis-open.org/committees/documents.php?wg_abbrev=uima
y la idea con que lo resumen es: "Standardizing semantic search and
content analytics".

Sobre las tecnologías utilizadas:

----------------
In analyzing unstructured content, UIM applications make use of a
variety of analysis
technologies including:
    1. Statistical and rule-based Natural Language Processing (NLP)
    2. Information Retrieval (IR)
    3. Machine learning
    4. Ontologies
    5. Automated reasoning and
    6. Knowledge Sources (e.g., CYC, WordNet, FrameNet, etc.)

The bridge from the unstructured world to the structured world is built
through the
composition and deployment of these analysis capabilities.
------------------

Todas ellas son campos de interés para nuestra actividad A4. Tras una
primera lectura algo más en profundidad, parece un entorno ideal para la
extracción automática de información con anotaciones automáticas de la
misma: «UIMA processing occurs through a series of modules called
analysis engines. The result of analysis is an assignment of semantics
to the elements of unstructured data, for example, the indication that
the phrase “Washington” refers to a person's name or
that it refers to a place.»

Es justo el tipo de cosas que buscamos en parte dentro de la A4 de
QualiPSo. Además, muestra ideas consolidadas como que toda la semántica
que se añade en la extracción pasa por la anotación de los contenidos.

En cualquier caso, UIMA es fundamentalmente para Natural Language
Processing (NLP). 

Aún parece que es un entorno en adopción y algunos componentes ya
desarrollados los tenemos en:
http://uima.lti.cs.cmu.edu:8080/UCR/Welcome.do


+ http://balie.sourceforge.net/
Es otro sistema para NLP. Sus funcionalidades principales son:
- Language identification (soporta 5)
- Tokenization
- Sentence boundary detection
- Part-of-speech tagging

+ http://www.nzdl.org/Kea/
KEA is an algorithm for extracting keyphrases from text documents.

Puede ser interesante para realizar etiquetado automático de los
contenidos en las fuentes de información, por ejemplo, de las listas de
correo. Y parece que ya se ha utilizado para la creación de tesauros
como http://www.fao.org/aims/ag_intro.htm. 


Hasta aquí de momento la investigación matutina. Creo que algo que
tendría poco esfuerzo y podría ser interesante es coger los archivos de
la lista de correo y analizarlos con KEA y ver los resultados en algún
proyecto grande, como Evolution u OpenOffice. Otras ideas interesantes
podrían ser la creación de tesauros para dominios del software libre,
como los clientes de correo, navegadores web ... pasar KEA por ejemplo a
las listas de Firefox, Konqueror ...


Hasta luego
-- 
Alvaro del Castillo
Project Manager GSyC/LibreSoft 
U. Rey Juan Carlos, C/ Tulipan S/N, 28933 Mostoles, Madrid, Spain
Tel:+34-91-488 85 23 Fax:+34-91-6647494 http://libresoft.es



Más información sobre la lista de distribución Qualipso-a4