Está en la página 1de 142

DESARROLLO DE UN MODELO DE IMPLANTACIN DE AGENTES

INTELIGENTES EN LA RED UNIVIRTUAL COMO INTRPRETES


SEMNTICOS DEL LENGUAJE NATURAL

FREDY ANDRS RAMREZ RODAS


CSAR AUGUSTO CABRERA ESPINOSA

UNIVERSIDAD TECNOLGICA DE PEREIRA


FACULTAD DE INGENIERAS: ELCTRICA, ELECTRNICA, FSICA Y
CIENCIAS DE LA COMPUTACIN
PROGRAMA INGENIERA DE SISTEMAS Y COMPUTACIN
PEREIRA, RISARALDA
2006

1
DESARROLLO DE UN MODELO DE IMPLANTACIN DE AGENTES
INTELIGENTES EN LA RED UNIVIRTUAL COMO INTRPRETES
SEMNTICOS DEL LENGUAJE NATURAL

FREDY ANDRS RAMREZ RODAS


CSAR AUGUSTO CABRERA ESPINOSA

UNIVERSIDAD TECNOLGICA DE PEREIRA


FACULTAD DE INGENIERAS: ELCTRICA, ELECTRNICA, FSICA Y
CIENCIAS DE LA COMPUTACIN
PROGRAMA INGENIERA DE SISTEMAS Y COMPUTACIN
PEREIRA, RISARALDA
2006

2
DESARROLLO DE UN MODELO DE IMPLANTACIN DE AGENTES
INTELIGENTES EN LA RED UNIVIRTUAL COMO INTRPRETES
SEMNTICOS DEL LENGUAJE NATURAL

FREDY ANDRS RAMREZ RODAS


CSAR AUGUSTO CABRERA ESPINOSA

Trabajo de grado para optar al ttulo de


Ingeniero de Sistemas y Computacin

Director
GILBERTO VARGAS CANO
Ingeniero Electricista

UNIVERSIDAD TECNOLGICA DE PEREIRA


FACULTAD DE INGENIERAS: ELCTRICA, ELECTRNICA, FSICA Y
CIENCIAS DE LA COMPUTACIN
PROGRAMA INGENIERA DE SISTEMAS Y COMPUTACIN
PEREIRA, RISARALDA
2006

3
Nota de aceptacin:

________________________________

________________________________

________________________________

________________________________
Presidente del jurado

________________________________
Jurado

________________________________
Jurado

Pereira, Junio de 2006

4
A nuestras madres y a
las personas que usen
este documento para
construir el futuro.

v
AGRADECIMIENTOS

Expresamos sinceros agradecimientos los ingenieros Gilberto Vargas y Omar


Trejos por su confianza y a todas las personas que acompaaron este proceso as
no fuera acadmicamente: su paciencia, colaboracin y compaa construyeron en
nosotros la formacin que no qued finalmente plasmada en este documento sino
en nuestros corazones y seguramente en muchas decisiones que tomaremos en
el futuro.

A todos los profesores que bien o mal plasmaron en nosotros imgenes y


formaron nuestro carcter y capacidad de crtica y admiracin y por supuesto a la
Universidad por brindarnos la oportunidad de pasar por esta experiencia sin
mayores sesgos de ndole social y econmica, esperamos que la poblacin que
necesita estas oportunidades siga teniendo acceso tanto o mejor que como
nosotros lo tuvimos y su calidad siga siendo mejor cada da.

vi
CONTENIDO

Pg.

CONTENIDO vii
LISTA DE CUADROS ix
LISTA DE FIGURAS xi
GLOSARIO xiii
1. DEFINICIN DEL PROBLEMA 25
1.1 INTELIGENCIA ARTIFICIAL 25
1.2 WEB SEMNTICA 26
1.3 LENGUAJE NATURAL 28
1.4 EL PROBLEMA 29
2. JUSTIFICACIN 31
3. OBJETIVOS 33
3.1 OBJETIVO GENERAL 33
3.2 OBJETIVOS ESPECFICOS 33
3.3 DELIMITACIN 34
4. MARCO REFERENCIAL 35
4.1 MARCO TERICO 35
4.1.1Agentes inteligentes. 35
4.1.2 Propiedades de un agente inteligente 37
4.1.3 Agentes BDI 40
4.1.4Plataformas y metodologas de desarrollo 42
4.1.5Representacin de los datos en Internet y Web semntica 54
4.1.6Reconocimiento de lenguaje natural 68

vii
4.2 MARCO DE ANTECEDENTES 74
4.2.1Univirtual 75
4.2.2Plataformas de agentes inteligentes 78
4.2.3Web semntica 83
4.2.4Reconocimiento de lenguaje natural 89
4.2.5Arquitectura de sistemas de educacin virtual 93
4.3 MARCO CONCEPTUAL 97
4.3.1Arquitectura 97
4.3.2Plataforma 103
4.3.3Sugerencias de diseo y despliegue 106
5. CONCLUSIONES 111
6. RECOMENDACIONES 114
7. LNEAS DE INVESTIGACIN FUTURA 115
BIBLIOGRAFA 116
NEXOS 118
Anexo A. Defectos de la P.O.O. para modelar agentes. 118
Anexo B. Prototipo 120
Anexo C. Notas del CD 145

viii
LISTA DE CUADROS

Pg.

Cuadro 1. Clasificacin de agentes 37

ix
x
LISTA DE FIGURAS

Pg.

Figura 1. Arquitectura original de Web semntica 27


Figura 2. Genealoga de Metodologas 46
Figura 3. Pila de Web semntica 54
Figura 4 Grafo dirigido 60
Figura 5. Estndares SCORM 87
Figura 6. SUMO: Suggested Upper Merged Ontology 91
Figura 7. Arquitectura de STI 95
Figura 8. Arquitectura de STI extendido 96
Figura 9. Modelo de agentes fundamental 101
Figura 10. Interaccin de componentes 106
Figura 11. Elementos de Dublin Core 108
Figura 12. RDF representando tablas 109
Figura 13. RDF representando rboles 109
Figura 14. RDF en estructuras mixtas 109
Figura 15 Pgina Web original 138
Figura 16. Pgina Web anotada, mostrando Location 139
Figura 17. Pgina Web anotada, mostrando Person 140
Figura 18. Ejecucin del agente de prueba. 141
Figura 19. Registro de la ejecucin del agente de prueba 144
Figura 20. Segunda ejecucin del comportamiento 144

xi
LISTA DE ANEXOS

Pg.

Anexo A. Defectos de la programacin orientada a objetos 119


Anexo B. Prototipo 121
Anexo C. Notas del CD 139

xii
GLOSARIO

ABIERTA, TECNOLOGA: Una tecnologa abierta es aquella que publica en su


especificacin la forma de uso y cmo interacta con otras tecnologas sin
restricciones legales y tanto como es posible sin restricciones tcnicas acogiendo
procedimientos y formatos estandarizados o normalizados. Contrario a las
tecnologas abiertas estn las tecnologas cerradas o propietarias, que especifican
claramente las restricciones legales de su uso y los formatos y tecnologas
soportadas que normalmente son creadas por la misma empresa que la tecnologa
especificada o por empresas subsidiarias.
ACL: (Access List) Es un mtodo de establecer restricciones basado en reglas
explcitas que un dispositivo puede entender. Se suele usar en sistemas de
seguridad.
ACL: (Agent Communication Language) Lenguaje de Comunicacin de Agentes.
Es una especificacin de la plataforma JADE para intercambiar mensajes entre
agentes del sistema.
AGENTE: En este texto generalmente se tratar como agente un programa que
tiene las caractersticas descritas en la seccin 4.1.1. En resumen un agente es
una entidad capaz de percibir y actuar inteligentemente respecto a su ambiente.
ANNIE: (A Nearly-New Information Extraction System) Es uno de los componentes
de GATE con el que se hace extraccin de informacin.
ANOTACIN: La anotacin tiene que ver con las tcnicas para describir y
clasificar un documento escrito, es decir, anotacin es una forma de introducir o
componer la metainformacin de un documento, sta describe generalmente los
temas y subtemas de que trata dicho documento.
AOP: Ver AOSE
AOSE: (Agent-Oriented Software Engineering) Ingeniera de Software orientada a
agentes, algunos autores la usan como AOP (Agent-Oriented Programming
-Programacin orientada a agentes). Es el trmino usado para el anlisis, diseo e
implementacin de sistemas de agentes y algunos autores la proponen como la
sucesora natural de la POO.
AUML: (Agents Unified Modelling Language) Lenguaje Unificado de Modelado de

xiii
Agentes. Es una extensin del Lenguaje Unificado de Modelado (UML) usado en
la Ingeniera de Software orientada a objetos para adaptarse a las nuevas
necesidades de modelado de los sistemas basados en agentes.
BDI: (Beliefs-Desire-Intention) Es una teora sobre agentes inteligentes y un tipo
de agente inteligente. BDI es un marco terico en el que se estructura un modelo
de agente inteligente con caractersticas mentales para ser social e inteligente,
algunas referencias lo describen como un tipo de agente racional cuyo
comportamiento es dirigido por Creencias (beliefs o estado de conocimiento),
Deseos (desires o metas) e Intenciones (Intentions o acciones), de all proviene la
sigla.
CONVERSIN DE TIPOS: Cuando un lenguaje de programacin tiene que
verificar el tipo de dato de un valor para hacer una operacin o el llamado de una
funcin o mtodo lo hace con base en la sintaxis original (cuando son lenguajes
fuertemente tipados) o con base en el valor y el contexto de uso del valor
(dbilmente tipados). La conversin implcita ocurre cuando el lenguaje no puede
verificar el valor desde el diseo del programa y tiene que decidir cmo interpretar
cierto valor o variable, caso en el cual simplemente convierte la variable o valor a
un valor que sea apropiado para la operacin que se quiere realizar (Ver Tipado
fuertemente en el glosario). La conversin implcita de tipos debe ser evitada en lo
posible porque puede generar comportamientos inesperados de los programas en
tiempo de ejecucin.
DARPA: Defense Advanced Research Projects Agency, Agencia de proyectos
avanzados de defensa. Agencia del departamento de Defensa de los Estados
Unidos que ha dado origen a muchos desarrollos importantes relacionados con
comunicaciones, como los protocolos TCP/IP o protocolos de Internet.
DESENSAMBLAR: Cuando se habla de programas, se habla de varias etapas en
la vida del programa desde el punto de vista fsico o de implementacin. La ltima
fase de un programa es cuando es ejecutable por el PC, en este estado el
programa est representado por un cdigo ensamblador especfico de la
plataforma o arquitectura fsica en la cual va a ser ejecutado. Desensamblar se
refiere al hecho de convertir ste cdigo ensamblador a algn cdigo fuente que
es ms fcil de interpretar para cualquier programador y permite conocer los
mtodos de programacin usados para crear el programa en cuestin.
DOMINIO: ste trmino tiene cierta relacin con el uso que tiene en matemtica
pero desde una perspectiva un poco ms flexible aplicada al anlisis y diseo de
software: un Dominio de conocimiento es el conjunto de trminos y relaciones que
existen sobre un tema en particular, como por ejemplo el cuidado mdico o la
ingeniera aplicada, stos pueden considerarse dominios de conocimiento aunque
la definicin poco precisa permite que un dominio sea ms especfico que los

xiv
ejemplos propuestos, como atencin mdica en cuidados intensivos o ingeniera
de software aplicada al diseo de sistemas multiagente. El criterio aparente parece
ser la cantidad de informacin relacionada que deseemos incluir en nuestras
operaciones o diseos.
DTD: (Document Type Definition) Definicin de tipo de documento. Es un esquema
de validacin propuesto inicialmente como parte del modelo de datos SGML que
permite definir la estructura correcta de un documento, es decir, qu parmetros
pueden tener las etiquetas, que tipos de contenidos y que relaciones de
anidamiento o secuencia son aceptables o correctas. Dado que XML es un
subconjunto de SGML, DTD tambin es un esquema de validacin para ste.
EXPRESIN REGULAR: Es una cadena de caracteres que puede ser interpretada
por una mquina de estado finito. En el argot Unix/Linux es una manera de
especificar un conjunto de palabras que tienen elementos comunes como letras
iniciales iguales, que comienzan y terminan por cierta letra o nmero o que usan
ciertas letras o nmeros cierta posicin de la palabra o con algn patrn como que
se repita varias veces la misma letra o conjunto de letras dentro de la palabra.
FAQ: (Frecuently Asked Question) Preguntas frecuentemente preguntadas o
simplemente preguntas frecuentes. FAQ es un trmino usual en el mbito de
Internet con el que se denomina una pregunta que es frecuente o que se espera
que sea frecuente, de tal manera que haciendo un conjunto de FAQs con su
respectiva respuesta se da una solucin a las preguntas ms importantes que
genera la informacin del sitio en una sola seccin del mismo.
FIPA: (Foundation for Intelligent Physical Agents) Base para agentes inteligentes
fsicos. FIPA es una organizacin cuyo fin es forjar estndares y especificaciones
que unifiquen la nocin de agente inteligente y su interaccin en un ambiente
abierto.
GNU: (GNU is Not Unix) ste es el trmino usado para un movimiento
responsable de gran parte de lo que hoy conocemos como movimiento de
software libre y licenciamiento libre as como del trmino de licenciamiento
privativo y su significado. GNU desde el punto de vista prctico es otra forma de
decir Open Source, Software Libre o Cdigo Abierto, si bien el principal
representante y fundador del movimiento GNU/Software Libre/GPL, Richard
Stallman, enfatiza en pequeas diferencias filosficas de cada uno de los
movimientos mencionados que los diferencian con el suyo, aunque el resultado
sea muy similar.
GPL: (General Public License) Licencia Pblica General. GPL es un modelo de
licenciamiento nacido en Estados Unidos cuya finalidad es permitir que es
software sea modificable y redistribuible por los usuarios o clientes del mismo. Es

xv
una de muchas licencias llamadas de cdigo abierto (Open Source) o Software
Libre segn lo que el referente crea ms importante, la calidad de la programacin
en el caso de OSS (Open Source Software) o las libertades de los clientes o
usuarios en caso del FS (Free Software) o SL (Software Libre).
GUI: (Graphical User Interface) Interfaz grfica de Usuario, es la parte de una
aplicacin que le permite interactuar con el usuario a travs de algn dispositivo
grfico, generalmente el monitor.
GUIONES: (o Scripts) Un guin es un programa interpretado cuyo lenguaje es de
alto nivel para interactuar con un sistema ms complejo. La programacin de
guiones o scripts es ms comn en entornos de sistemas operativos, donde
muchas de las tareas administrativas son llevadas a cabo por guiones que el
administrador crea o cambia para lograr sus objetivos, como pueden ser liberacin
de recursos o monitoreo del sistema. En sistemas de agentes inteligentes los
guiones son usados para especificar una tarea en un lenguaje lgico o una
gramtica que analiza alguna estructura del sistema. Algunas veces los guiones
tambin modelan protocolos de interaccin entre otras aplicaciones.
HORN, CLUSULAS: Es una forma simplificada de escribir frmulas lgicas como
un conjunto de trminos unidos por el operador 'y'.
HTML: (HyperText Markup Language) Lenguaje de marcado de hipertexto.
Lenguaje de marcacin o etiquetado basado en SGML con el cual se crean
pginas Web.
HTTP: (HyperText Transfer Protocol) Protocolo de transferencia de hipertexto. Es
un protocolo cliente-servidor por medio del cual se intercambian documentos
HTML y sus componentes entre los servidores y los clientes que usualmente son
navegadores Web.
IMPLEMENTACIN: La implementacin de un sistema es la realizacin concreta
de un diseo, es decir, un programa o librera que realiza las operaciones
especificadas en un diseo o en la especificacin de un estndar. La
implementacin de un estndar por ejemplo puede dar lugar a diferencias en
algunos detalles de cmo se realizan finalmente las operaciones especificadas
dependiendo del grupo que haya desarrollado la aplicacin o la librera, la
plataforma en la que se ejecuta o las ambigedades que tenga la especificacin
misma.
JACK: Es una plataforma de agentes inteligentes comercial basada en Java que
comprende muchas utilidades para el diseo, implementacin y monitoreo de
sistemas multiagente.
JADE: (Java Agent Development Framework) Es una plataforma de agentes

xvi
inteligentes basada en Java que busca simplificar el desarrollo mientras se
asegura el cumplimento de estndares a travs de un comprehensivo conjunto de
servicios y agentes.
JAKARTA: Extensin del Servidor Web Apache que permite escribir programas en
Java y pginas Web con cdigo Java embebido conocidas como JSP para invocar
los servicios de los programas Java.
JAVA: Java es un lenguaje de programacin cuyo cdigo final o cdigo de
mquina se genera para una mquina virtual, es decir como un computador ideal,
de tal manera que si se hace una correspondencia entre las rdenes de sta
mquina virtual a una mquina real, un programa escrito en Java puede ser
ejecutado en cualquier tipo de computador y sistema operativo para el cul se
haya hecho la correspondencia mencionada.
JDK: (Java Development Kit) Kit de desarrollo Java, conjunto de herramientas
para hacer programas basados en Java. Incluye un entorno de ejecucin de Java,
es decir la mquina virtual.
JESS: (Java Expert System Shell) Librera de clases de Java que implementan un
Intrprete de comandos para sistemas expertos.
JRE: (Java Runtime Environment) Entorno de Ejecucin Java. Es un conjunto de
utilidades del sistema operativo que permiten al mismo ejecutar programas java
como si fueran nativos, cargando previamente a su ejecucin la Mquina Virtual.
JSP: (Java Server Pages) Es una forma de incorporar instrucciones en Java a
pginas Web para generar contenidos dinmicos e interactuar con el sistema y
con aplicaciones escritas en Java.
JVM: (Java Virtual Machine) Mquina virtual Java, es el nombre dado al intrprete
de programas Java ms todo el sistema operativo que administra la memoria y
procesos de los programas Java, es decir, emula sobre las plataformas soportadas
(sistemas operativos y arquitecturas de hardware) una mquina y un sistema
operativo para la cual estn escritos los programas Java.
LENGUAJE DE MARCADO: Lenguaje que permite estructurar un documento
etiquetando o marcando sus partes y dando significado a ellas, p. ej. HTML (Ver
HTML).
LGLP: (Lesser General Public License) Licencia General Menos Pblica. Es un
modelo de licenciamiento similar al de GPL pero que permite el uso del software o
librera en aplicaciones comerciales privativas aunque el cdigo fuente original
sigue siendo abierto y redistribuible. GPL no permite el uso del software licenciado
bajo sus trminos en aplicaciones comerciales de licencia cerrada, GPL exige que

xvii
el software basado en GPL siga siendo GPL. LGPL fue una manera de hacer
popular el uso de desarrollos cooperativos de cdigo abierto entre la comunidad
de desarrolladores de licencias privativas.
LICENCIA/LICENCIAMIENTO: La Licencia es el trmino usado para definir los
trminos de uso de alguna aplicacin, es un contrato de uso que normalmente
especifica qu es posible hacer con el programa y qu no. La palabra
Licenciamiento es usada para hablar de las clases de licencias, en especial, Libre
y Privativa que son las dos posiciones ms categricas en ste campo.
LICENCIAMIENTO LIBRE: El licenciamiento libre es aquel en el que las licencias
especifican y enfatizan en lo que los usuarios pueden hacer con el software que
han comprado y es la contraparte del licenciamiento privativo. Se dice que es libre,
porque permite que los usuarios conozcan el cdigo fuente del programa y lo
modifiquen siempre y cuando se respeten los derechos de autor y se identifiquen
las modificaciones hechas con su respectivo autor, as como que el propietario del
software pueda hacer copias y redistribuirlas. El licenciamiento libre es un modelo
nuevo de comercializacin de software que busca aprovechar los recursos
suplidos por el movimiento de software libre y enfatizar en la importancia del
conocimiento sobre los recursos econmicos y polticos, as como permitir una
distribucin ms uniforme de las ganancias del desarrollo de software.
LICENCIAMIENTO PRIVATIVO: El licenciamiento privativo es aquel en el que las
licencias especifican y enfatizan en lo que los usuarios no pueden hacer con el
software que han comprado y es la contraparte del licenciamiento libre. Se dice
que es privativo, porque incluye restricciones sobre las acciones del usuario que
son consideradas como derechos que nunca se mencionan en licencias o
contratos de compra productos diferentes al software, como por ejemplo el
derecho a conocer su funcionamiento y modificarlo.
MQUINA DE ESTADO FINITO: Es una abstraccin que permite la especificacin
de un proceso a travs de estados y transiciones en nmero limitado de estados y
transiciones. Es una representacin de un sistema a travs de lo que le debe
entrar en cada uno de sus estados posibles y los resultados que se obtienen de
cada entrada.
MAS.: (Multi-Agent System) Sistema Multi Agente. Es un sistema de software
compuesto por mltiples agentes que se comunican entre s y en algunas
ocasiones se mueven entre diferentes plataformas -agentes mviles.
MDA: (Model-Driven Architecture) Arquitectura dirigida por modelos. Es una
propuesta para anlisis y diseo de sistemas, por medio de la cual se puede hacer
un diseo en un modelo independiente de la plataforma y a travs de la definicin
de perfiles o metamodelos de del mismo, se hace corresponder este diseo con

xviii
un modelo dependiente de la plataforma por medio del cual se puede llegar a la
implementacin.
MIDDLEWARE: Este es un trmino usado para elementos de software que
proveen una funcionalidad de servicios intermediarios entre una tecnologa y otra.
Se puede ver como un conjunto de utilidades que concentran funcionalidades
unificadas especficas de alto nivel o nivel intermedio de abstraccin y ocultan
capas de funcionalidad de bajo nivel que pueden adoptar diferentes protocolos,
codificaciones o tecnologas no unificables sin una capa intermedia.
MONOTNICAS, REGLAS: En lgica una regla que preserva el conocimiento
original del conjunto de axiomas y afirmaciones. En contraposicin una regla no
monotnica puede inducir nuevo conocimiento e implicar invalidez del conjunto de
conocimiento original.
NIVEL (DE ABSTRACCIN), ALTO, MEDIO, BAJO: En computacin los trminos
de alto nivel o bajo nivel se refieren al grado de abstraccin del que se est
hablando, es decir, alto nivel es alto grado de abstraccin y significa que se habla
de algo que los humanos podemos entender fcilmente, mientras bajo nivel es
bajo nivel de abstraccin y significa muy concreto, o que est diseado ms para
las mquinas que para los seres humanos (como los bits). Si hablamos de un
lenguaje de alto nivel, estamos hablando de un lenguaje cuyo lxico (conjunto de
palabras usadas) y sintaxis se corresponde con palabras y conceptos que los
humanos podemos entender y solemos usar en nuestra vida cotidiana, mientras
que un lenguaje de bajo nivel es un lenguaje que tiene sintaxis y significados que
no son familiares para los seres humanos y que expresan muy concretamente la
forma en que un computador hace las cosas internamente.
NLP: (Natural Language Processing) Procesamiento de Lenguaje Natural
ONTOLOGA: Simplificacin de la lgica de algn dominio de conocimiento. Una
ontologa lista y categoriza trminos vlidos dentro de un dominio de conocimiento
y establece las relaciones que guardan entre s.
OOP: (Object-Oriented Programming) Programacin Orientada a Objetos -POO en
espaol. Es el paradigma predominante para desarrollo de aplicaciones y supone
pensar los programas como elementos llamados Objetos que contienen parte de
la funcionalidad del programa completo y que en conjunto ejecutan todo lo que se
requiere del mismo.
ORDEN SUPERIOR, LGICA: La lgica se compone en su orden de Clculo de
Predicados, Lgica de Primer orden y Lgica de Orden Superior. El clculo de
predicados es una lgica que evala expresiones haciendo uso de trminos y
operadores sobre los trminos con las clsicas relaciones lgicas conocidas

xix
(conjuncin, disyuncin y negacin) y algunas reglas de inferencia que definen la
capacidad expresiva de la lgica por ellas definida. La lgica de Primer Orden
incluye los cuantificadores y las funciones para empezar a incluir a los conjuntos
dentro de su universo de discurso y la lgica de Orden Superior incluye
cuantificadores para las funciones mismas. Cada uno de los sistemas lgicos
mencionados tiene una capacidad de expresin incrementalmente mayor, es decir,
lo que se puede afirmar y deducir en clculo de predicados tambin se puede
afirmar y deducir en lgica de primer orden y lo mismo se cumple para la lgica de
orden superior respecto a la de Primer Orden si bien la capacidad de
computabilidad es cada vez menor, es decir, mientras mayor el potencial de
expresin menor la capacidad de demostrar e inferir.
OSS: (Open Source Software) Tambin llamado OSS o FS, en Latinoamrica y
pases hispano parlantes es llamado software de fuente abierta o cdigo abierto y
SL -Software Libre- respectivamente. OSS/FS es un movimiento que busca que
exista colaboracin global entre comunidades de programadores y usuarios para
desarrollar al mximo las posibilidades de un programa, software o librera a
travs de la liberacin de su licencia, es decir, permitiendo que los usuarios de
tales bienes puedan modificarlo y publicar sus modificaciones a la comunidad de
usuarios y desarrolladores respetando los derechos de autor originales e
incluyendo los propios generados por las adiciones. La diferencia entre OSS y FS
radica en que el fenmeno del FS gener varias aplicaciones cuya calidad fue
extraordinariamente buena, pero bajo la premisa de que lo importante era dar
libertad a los usuarios (ver, modificar y distribuir el cdigo fuente) y generar
ambientes colaborativos, de ah el trmino libre, sin embargo un grupo importante
de usuarios y desarrolladores de este software entre los que se contaban grandes
casas de software y hardware prefirieron quitar el carcter poltico del movimiento
enfatizando que el movimiento promova el acceso al cdigo fuente y de ah el
trmino cdigo abierto o fuente abierta, tomando como bandera la eficiencia de
modelo sobre las caractersticas filosficas. El origen de esta idea es GNU (ver
entrada en el glosario) que sigue siendo la principal representante de las ideas y
desarrollos del SL y en la divergencia con la idea de libertad se cre OSS cuyo
nfasis es la eficiencia en vez de la libertad. Hoy en da los dos movimientos
tienen actividades muy aparte a pesar de continuar luchando por el mismo
objetivo.
PDF: (Portable Document Format) Formato de Documento Porttil. ste es un
formato muy popular de Internet que permite que un documento sea visto en
cualquier plataforma exactamente de la misma manera. Es un formato propietario
de Adobe.
PDM y PSM: (Platform Dependant Model, Platform Specific Model) Modelo
dependiente de la plataforma y modelo independiente de la plataforma. Son

xx
conceptos usados por la propuesta MDA - Model-Driven Architecture por medio
de la cual se especifican dos modelos de diseo pero con uno de ellos se puede
hacer correspondencia directa con el cdigo fuente.
PLN: Procesamiento de Lenguaje Natural, es la disciplina en la cual se estudian
los algoritmos y tcnicas para obtener el significado de las comunicaciones
humanas as como analizarlo, generarlo o manipularlo.
PROPIETARIA, TECNOLOGA / PROPIETARIO, SISTEMA: El trmino propietario
se refiere generalmente a una tecnologa que tiene restricciones de uso muy
fuertes ligadas a una empresa que explota esas restricciones y adems no se
acoge a procedimientos estandarizados o normalizados por entidades o
consorcios de estandarizacin. Un ejemplo de ello son los formatos de
documentos .DOC usados por el procesador de texto Word de Microsoft, ste
formato est restringido legalmente a ser usado por Word o por procesadores con
el permiso de Microsoft para usarlo en alguna medida, es decir, el permiso puede
ser de slo lectura del formato o de slo escritura. La contraparte de las
tecnologas propietarias son las tecnologas libres o las tecnologas abiertas que
se acogen a procedimientos estandarizados y no suelen imponer restricciones
legales, as como publicar la manera en que pueden ser usadas para interactuar
con otras tecnologas.
RDF: (Resource Description Framework) Marco de trabajo para descripcin de
recursos. RDF es un modelo de datos o esquema sintctico que permite describir
un recurso identificable mediante un URI a travs de sentencias o afirmaciones del
tipo sujeto-predicad-objeto.
SGML: (Single Generalized Markup Language) Lenguaje de Marcado
Generalizado Estndar. Lenguaje genrico para representacin de informacin o
diseo de lenguajes de representacin como HTML y XML.
RSS: (Really Simple Syndication) Sindicacin Realmente Simple. Es una
tecnologa que permite publicar pequeos extractos de contenidos como noticias y
pronsticos del clima a manera de canales de informacin formateable de manera
independiente del contenido y visibles tanto en visores especiales de RSS como
en pginas Web suscritas que no crean sus propios contenidos. La versin 1.0 de
RSS est basada en RDF.
RULEML: Iniciativa abierta en la que se busca establecer un sistema de reglas de
inferencia lgica a partir de ontologas y documentos RDF con su propio lenguaje
de especificacin y ejecucin. La pgina principal de RuleML dice que ms que
prototipos acadmicos ellos buscan la interoperabilidad de reglas entre estndares
de la industria como JSR 94, SQL'99, OCL, BPMI, WSFL, XLang, XQuery, RQL,
OWL, DAML-S, and ISO Prolog as como sistemas de reglas ya establecidos

xxi
como CLIPS, Jess, ILOG JRules, Blaze Advisor, Versata, MQWorkFlow, BizTalk,
Savvion, etc.
SCRIPT: Ver Guin
SL: (Software Libre) Es el trmino general usado para hablar de aplicaciones,
utilidades y libreras que acogen el modelo de desarrollo Libre y comunitario
propuesto por el movimiento GNU o en algunas ocasiones se usa tambin para
hablar de aplicaciones suscritas al movimiento OSS (Ver entradas en el glosario).
TIC: Tecnologas de la Informacin y las Comunicaciones
TIPADO, FUERTEMENTE: En el contexto de los lenguajes de programacin, los
tipos de datos son una base de diferenciacin. Un lenguaje de programacin
fuertemente tipado es aquel en el que cada variable u objeto tiene que ser
declarado con su respectivo tipo de dato/objeto tanto cuando se crea o declara
como en muchos de sus posibles usos, sto permite que el compilador y la
ejecucin misma del programa verifique cada vez que se llama a una funcin o
mtodo con un parmetro de ese tipo que la variable, parmetro o valor se
corresponde con el tipo de dato que se espera o con la operacin que se quiere
realizar. Existen lenguajes de programacin dbilmente tipados que no incluyen en
su sintaxis la necesidad de especificar los tipos en sus contextos y en vez de ello
implementan mtodos de clasificar las variables y asignarles un tipo de dato
apropiado para u contenido inicial, en stos lenguajes, ni el lenguaje ni el
programa final pueden verificar que las variables pasadas sean plenamente
compatibles con la funcin, mtodo o operacin a realizar, en estos casos se hace
una conversin implcita de tipos y el valor pasado se interpreta como el valor
necesitado para la operacin, lo que puede dar origen a problemas serios en la
ejecucin del programa no detectables en otra etapa diferente a la del uso del
mismo.
TIPSTER: Es un programa pionero de extraccin de informacin creado por
DARPA y liberado desde 1998.
TURING, MQUINAS: Las mquinas de Turing son una representacin
matemtica de las computadoras que han servido como base para estudiar la
complejidad computacional y las capacidades tericas de las mismas.
UML: (Unified Modelling Language) Lenguaje Unificado de Modelado. Es una
notacin grfica que permite modelar un sistema de software y ver los diferentes
aspectos que se deben considerar en el anlisis y diseo del mismo.
URI: (Universal Resource Identifier) Identificador Universal de Recursos. Es una
cadena de caracteres por medio de la cual se identifica cualquier recurso. Este
esquema de identificacin es una generalizacin para permitir que todos los

xxii
objetos del universo real y de Internet sean identificables inequvocamente.
URL: (Universal Resource Locator) Identificador Universal de Recursos. Es una
cadena de caracteres por medio de la cual se identifica un recurso de Internet, es
decir, una pgina Web, un archivo, un servidor, etc. Los URLs son el subconjunto
ms conocido de URIs.
USABILIDAD: ste trmino ha venido acundose en las comunidades de diseo
de contenidos Web, como la facilidad de uso de la aplicacin o sitio Web que se
est diseando o publicando. Para garantizar usabilidad se acostumbra simplificar
los procesos y acompaar los diseos de ayudas visuales e interactivas que guen
a los usuarios hacia le finalidad perseguida, que puede ser capturar datos
demogrficos/psicogrficos o inscribir cierta operacin en una base de datos.
W3C: Es una organizacin sin nimo de lucro dedicada a desarrollar
normalizadamente las tecnologas relacionadas con Internet, en especial con la
publicacin de contenidos a travs de la World Wide Web.
WWW CONSORTIUM: (Consorcio WWW) Ver W3C
WWW: Telaraa mundial de informacin. Es la denominacin genrica de todas
las variantes que surgen del uso de HTTP para intercambiar informacin de
diferentes maneras, es decir, grficos, aplicaciones interactivas, documentos, etc..
XHTML (Extensible HTML) Es una versin de HTML conforme con las reglas
sintcticas de XML.
WORLD WIDE WEB: Ver WWW.
XML: (eXtensible Markup Language) Lenguaje de Marcado Ampliable. Lenguaje
de representacin de informacin que permite diseo de lenguajes de
representacin genricos como RDF. XML conforma un base sintctica para la
representacin de informacin, exige que todo documento XML o conforme tenga
unas reglas sintcticas fijas, como por ejemplo que toda etiqueta tenga un
comienzo y un fin definidos, que la anidacin de estructuras sea coherente (no se
aniden estructuras traslapadas sino anidadas de manera estricta), etc. XML es un
subconjunto de SGML que incluye capacidades de validacin de los contenidos de
las etiquetas y de las estructuras de secuencia y anidacin vlidas dentro de
alguna aplicacin del lenguaje, caractersticas que XML hereda de ste y ampla
simplificando la sintaxis.
XML-RDF: Marco de descripcin de recursos en XML. Lenguaje de marcado que
representa aseveraciones o declaraciones acerca de hechos, acciones o recursos.
Es una forma de RDF escrita en XML. Ver RDF.

xxiii
RESUMEN

Internet ha evolucionado en una amalgama de tecnologas con frecuencia


incompatibles pero con una base comn desde sus inicios: la representacin de la
informacin. El presente proyecto busca establecer una base tcnica sobre la cual
construir un sistema orientado a Internet usando las tendencias ms
predominantes hoy en da: Web Semntica, Agentes Inteligentes y
Reconocimiento de Lenguaje Natural como colgeno.

Abstract: Internet has evolved into a mixture of Technologies which used to be,
very often, incompatibles but with a common base: information representation. This
project is a search for establish a technical base over the which build an Internet-
oriented system using the most predominant trends nowadays: Semantic Web,
Intelligent Agents and Natural Language Processing as a kind of glue.

xxiv
1. DEFINICIN DEL PROBLEMA

1.1 INTELIGENCIA ARTIFICIAL

La inteligencia artificial ha tenido un desarrollo continuo desde los orgenes de la


computacin, si no se pude decir que fue el origen mismo de ella. Durante muchos
aos de desarrollos muy acadmicos y experimentales la inteligencia artificial ha
terminado por ser una rama de las ciencias de la computacin que agrupa un
conjunto de algoritmos no convencionales, una compilacin de enfoques o
paradigmas distintos a los paradigmas clsicos y deterministas de la programacin
tradicional. Es as como incluimos en una bolsa con el ttulo de Inteligencia
Artificial a todo algoritmo no convencional como las redes neuronales artificiales,
los algoritmos genticos, la programacin funcional, algoritmos de clasificacin
(clasificacin, agrupamiento o clustering en ingls) y muchos otros que
seguramente se me escapan. La idea de la bolsa no significa que dichos
algoritmos interacten o compongan nuevos tratamientos a antiguos problemas de
manera conjunta, sino que cada uno individualmente o secuencialmente en el
mejor de los casos atacan antiguos o nuevos problemas de manera diferente a la
forma en que tradicionalmente se han atacado, es decir, con aplicacin de
programas que aplican el conocimiento que el programador tiene del problema e
implementa lo que el programador hara slo que de una manera ms exhaustiva
y sistemtica, como slo pueden hacerlo los computadores.

El concepto de agente inteligente busca abstraer y unificar la inteligencia artificial a


travs de un concepto elemental y abstracto que permita un enfoque sistemtico y
nico como punto de partida para abordar cualquier problema al que se le quisiera
aplicar alguna de las tcnicas de inteligencia artificial ya mencionadas. Los
agentes inteligentes se clasificaron originalmente con varios criterios, entre ellos la
manera en que actuaban (actuar racionalmente o actuar como humanos) 1 y segn
el tipo de interaccin con el ambiente que tuvieran (agentes de reflejo simple,
agentes bien informados, etc.) y se les asignaron unas propiedades generales que
han venido evolucionando y que hoy en da son fuente de debate en los crculos

1 RUSSEL, Stuart; NORVIG, Peter. Inteligencia Artificial, un enfoque moderno. Prentice Hall, 1995.
Pg. 5.

25
acadmicos que estudian el tema.

Hoy en da el concepto de agente inteligente como herramienta terica ha cado


en desuso debido a que est tan slido como concepto que se ha convertido en
una robusta herramienta de diseo de programas y de plataformas de
programacin distribuida, es decir, el concepto ha migrado de la academia a la
industria y est madurando como paradigma futuro de la programacin. Los
agentes inteligentes son ahora un concepto de diseo, de ingeniera de software
que se acompaa generalmente con metodologas de diseo basadas en
utilidades actuales extendidas para tal fin como el AUML (Agent UML) y con
plataformas de implementacin especficas de cada metodologa. ste es uno de
los grandes problemas que existen hoy en da en el diseo de plataformas de
agentes inteligentes: la proliferacin de metodologas diferentes e incompatibles 2.

1.2 WEB SEMNTICA

Tim Berners-Lee, creador del protocolo HTTP y del lenguaje de marcado de


hipertexto, HTML, basado en definiciones SGML -DTD-, ha propuesto una
arquitectura de intercambio de conocimiento evolucionada de stos elementos que
ya todos sabemos que componen la telaraa mundial de informacin (World Wide
Web). El problema que ve Tim Berners-Lee en la manera actual de intercambiar
informacin es, entre otros, que los computadores no pueden tomar decisiones
basndose en la informacin contenida en los documentos (o ms concretamente
en su formato) y por lo tanto no pueden hacer computacin inteligente a travs de
Internet3 debido, especialmente, a que los computadores desconocen el
significado de las palabras usadas y las relaciones entre ellas con otras entidades
reales.

Tim Berners-Lee ve adems otra serie de problemas tcnicos surgidos de la


interaccin de diferentes sistemas de informacin una vez que pueden interactuar
globalmente. Entre estos problemas tcnicos estn la falta de unificacin de la
codificacin de los documentos y en la identificacin de los mismos, la falta de un
formato fcil de entender por parte de las mquinas que auto describa su sintaxis

2 Universidad de Toronto, Canad. Agent-oriented Methodologies, 2002,


http://www.cs.toronto.edu/km/aometh/methodologies.htm
3 PALMER, Sean B. The Semantic Web: An Introduction, 2001, http://infomesh.net/2001/swintro/

26
y posiblemente su significado, una representacin de la informacin (y no de datos
aislados) expresivo y flexible que permita aseverar hechos sin coartar la libertad
de identificar recursos distribuidos en la red mundial, una forma de dar contexto
sintctico y semntico a la informacin y reducir su complejidad a dominios bien
definidos, una base lgica que permita a las mquinas extraer nuevo conocimiento
de los documentos publicados, reglas de prueba que garanticen la validez de las
afirmaciones que las mquinas puedan hacer y finalmente medios adecuados para
asegurar confiabilidad en las fuentes de los documentos y de las aseveraciones
que provengan de la red, para poder crear redes de confianza personalizadas pero
recopiladas y alimentadas automticamente por los computadores mismos. La
arquitectura propuesta por Tim Berners-Lee en la XML Conference 2000 4 se puede
observar en el siguiente grfico donde l expone todos los aspectos mencionados
en ste prrafo.

Figura 1. Arquitectura original de Web semntica

La Web semntica es la propuesta concreta a algunos de los problemas que Tim

4 BERNERS-LEE, Tim. Semantic Web - XML2000, 2000, http://www.w3.org/2000/Talks/1206-


xml2k-tbl/Overview.html

27
Berners-Lee ve en la Internet de hoy y muchos autores coinciden conque la
flexibilidad y robustez de la arquitectura propuesta es el futuro de la red y de
hecho existen muchos sitios Web que ya publican informacin en formato RDF
-como RSS 1.0 por ejemplo5-, por lo tanto las primeras tres capas del modelo son
ya una realidad -tal vez un poco fragmentaria-. Son muchos los autores que han
publicado artculos sobre el potencial de ste modelo en trminos de lo que los
computadores podran hacer basndose en l, pero primero hay que disear
teniendo esta meta en mente.

1.3 LENGUAJE NATURAL

El procesamiento de lenguaje natural es un problema clsico de la inteligencia


artificial y sus orgenes se remontan al diseo de lenguajes de programacin y las
mquinas de Turing. En resumen (ms adelante entraremos ms en detalle), el
problema del procesamiento de lenguaje natural consiste en hacer que las
computadoras entiendan lo que quiere decir una frase o un texto escrito (o
hablado) por un humano para otro humano, es decir, que extraigan informacin
importante y puedan razonar sobre tal informacin y las relaciones que tal
informacin tiene con los objetos reales o conceptuales a los que referencian. En
el presente proyecto el lenguaje natural tiene un papel importante como estrategia
de migracin a la Web semntica. Los actuales usuarios no pueden (ni quieren)
migrar toda su informacin en HTML escasamente estructurado (que en su
mayora ni siquiera es XHTML) a una nueva forma de publicacin. Los usuarios
que van a poblar la Web Semntica sern usuarios nuevos que aprendieron a usar
herramientas inteligentes de anotacin y diseo de documentos Web. Para los
actuales usuarios o mejor para los actuales documentos no se ofrece otra
alternativa que desaparecer para aparecer completamente nuevos en otro
formato. La interpretacin de Lenguaje Natural como estrategia de migracin de
los nuevos documentos ofrece la ventaja de mostrar, sin incurrir en esfuerzos
grandes por parte de los usuarios, los potenciales de la Web Semntica si bien
ella no puede desplegar o ejecutar su potencial totalmente sin hacer uso de
dispositivos inteligentes que interacten y sean proactivos con base en ella.

5 DMOZ: Open Directory Project. Open Directory - Reference: Libraries: Library and Information
Science: Technical Services: Cataloguing: Metadata: RDF: Applications: RSS:, 2006,
http://dmoz.org/Reference/Libraries/Library_and_Information_Science/Technical_Services/Catalogu
ing/Metadata/RDF/Applications/RSS/

28
1.4 EL PROBLEMA

Las secciones anteriores buscan exponer un panorama informtico inmaduro y


fraccionario que ofrece excelentes capacidades de procesamiento e inteligencia
para las computadoras y que componen los ejes principales de este proyecto de
grado.

La ingeniera de sistemas est compuesta por una serie de especialidades o


disciplinas recientemente clasificadas por la IEEE. Esta rama del conocimiento
relacionada con las ciencias de la computacin evidencia una cierta inmadurez en
su desarrollo, apenas natural debido a la comparativamente corta edad de sta
ciencia respecto a otras ingenieras como las ingenieras civiles o las ciencias
sociales por ejemplo, que llevan siglos de evolucin, desarrollo y estructuracin de
sus principios y por ende de sus disciplinas elementales y sus especialidades.

Las disciplinas componentes de las ciencias de la computacin, clasificadas por la


IEEE, se suelen ensear en pregrado como componentes de carreras holsticas
de ingeniera de sistemas y computacin que normalmente no integran bien tales
disciplinas y menos an facilitan la especializacin en alguna de ellas. Puede ser
a consecuencia de sta inmadurez que vemos que los enfoques vistos
anteriormente no aparecen integrados para dar solucin al problema de la
migracin de la actual Internet a la Web Semntica.

Como vimos en la seccin Web Semntica, parece que el futuro de Internet est
en el modelo expuesto por Tim Berners-Lee basado especialmente en RDF y en
Ontologas, y la Web Semntica misma no puede concebirse sin pensar en
programas autnomos y proactivos con fuertes capacidades de comunicacin (que
es una definicin muy simplificada de Agente Inteligente) que integren en sus
capacidades algoritmos o tcnicas clsicas y no convencionales (como las que
llambamos anteriormente Inteligencia Artificial). El problema atacado es
bsicamente cmo establecer una base para el despliegue de aplicaciones
inteligentes en una Web convencional como Univirtual? y cul sera esa base?.
Finalmente, y contextualizando, una plataforma de agentes inteligentes para el
pblico objetivo de Univirtual debera ser una plataforma que por un lado ofrezca
capacidades de publicacin orientadas a la Web Semntica con todos sus
potenciales y permita la publicacin transparente de los contenidos como se ha
hecho tradicionalmente pero ofreciendo servicios que exploten las nuevas

29
capacidades. ste proyecto de grado persigue hacer el anlisis preliminar del
estado de arte en las tecnologas de agentes inteligentes y Web Semntica,
necesario para promover tanto la publicacin convencional como el despliegue de
sistemas de agentes inteligentes que aprovechen los potenciales de la nueva
representacin de la informacin o publicacin Web haciendo uso de libreras y
tecnologas orientadas a la interpretacin de lenguaje natural, es decir, un modelo
de implantacin de agentes inteligentes como intrpretes semnticos de lenguaje
natural, o en otras palabras, un modelo migrante hacia la Web Semntica basado
en anlisis de lenguaje natural.

El modelo propuesto tendr en consideracin las tecnologas emergentes tanto en


plataformas como metodologas y ser un listado de tecnologas que copen las
necesidades de un sitio con las caractersticas de Univirtual y un conjunto de
estrategias de integracin de tales tecnologas.

30
2. JUSTIFICACIN

Las tecnologas relacionadas con agentes inteligentes se encuentran distribuidas


en una serie de paradigmas y enfoques de trabajo que no suelen ser enteramente
compatibles entre s6, si bien existen modelos, marcos de trabajo y propuestas de
estandarizacin en las comunicaciones que aumentan la interoperabilidad entre
algunas plataformas pero no facilitan la labor de disear los sistemas 7, por
ejemplo, hay que tener en cuenta que en este escenario los intentos de
estandarizacin sobrecargan los sistemas a travs de acoplamiento de interfaces
y exigen que los diseadores y programadores asimilen diferentes marcos de
trabajo. La opcin ms comn de plataformas para agentes inteligentes suele ser
plataformas propietarias que se ajustan a algn modelo o estndar propuesto pero
que son concebidas desde el diseo mismo con el conjunto de metodologas tanto
para la interaccin con los usuarios como la interaccin con los diseadores y
programadores. En ste nuevo horizonte de desarrollo para la ingeniera de
sistemas y computacin, se habla ya desde hace algunos aos de la Ingeniera de
Software Orientada a Agentes (AOSE por sus siglas en ingls) como nombre
comn de las prcticas relacionadas con el diseo de sistemas multiagente y
como nuevo paradigma de diseo.

El anterior panorama dibuja una situacin seriamente complicada: unos


estndares emergentes y un conjunto de plataformas inconexas o con encuentros
tangenciales, as como un conjunto de personas que buscan aportar y aprovechar
un sistema de agentes inteligentes pero con diferentes enfoques divorciados unos
de otros. Usuarios del sistema, diseadores de interfaz (modeladores del proceso
pedaggico y diseadores Web), diseadores del sistema (modeladores de
procesos y programadores) se encuentran trabajando en conjunto en el mismo
objetivo pero sin un lenguaje comn entre ellos que permita dirimir conflictos y
facilite la interaccin entre ellos.

Un sistema de informacin con el volumen de usuarios y la complejidad que


persigue Univirtual, slo puede ser viable si las aplicaciones tienen la capacidad

6 Universidad de Toronto, Canad. List of methodologies, 2002.


http://www.cs.toronto.edu/km/aometh/methodologies.htm
7FIPA. Publicly Available Implementations of FIPA Specifications, 2006
http://www.fipa.org/resources/livesystems.html

31
de adaptarse a las necesidades de cada usuario conociendo las preferencias de
cada uno y permitiendo una administracin simplificada, caractersticas que los
programas clsicos orientados a objetos no pueden desempear muy bien (ver
anexo A). Adems de lo anterior, las tcnicas de Web Semntica permiten que los
programas (o agentes en nuestro caso) accedan a la informacin en el momento
de transporte sin necesidad de crear un sistema propietario y accedan a
informacin restrictiva que ayuda a los mismos a adaptarse y razonar sobre sta
pero no es fcil imaginar otra manera de adquirir informacin semntica si no es
aplicando tcnicas de Procesamiento de Lenguaje Natural que sera el mtodo
ms expedito para lograrlo.

Antes de emprender una empresa como el diseo de un sistema multiagente, es


necesario reconocer este panorama fragmentario e inmaduro y establecer
objetivos de la comunidad subyacente o usuaria. Este proyecto busca analizar
tanto las tecnologas disponibles, sus caractersticas y parmetros de seleccin,
como la comunidad que la va a usar, a saber, la comunidad Universitaria que hace
uso de Univirtual, los potenciales usuarios y las directivas de sta. Una de las
situaciones que encontramos vital para un modelo de agentes inteligentes es el
almacenamiento y publicacin de informacin en formatos que permitan a los
computadores reconocer la semntica o significado de los contenidos y actuar
socialmente tanto entre ellos como con los usuarios, cualquiera que sea su
perspectiva, de acuerdo con la idea que siempre ha perseguido Tim Berners-Lee
con sus descubrimientos.

Tenemos que emprender un recorrido sobre las ideas fundamentales de este


proyecto como son agentes inteligentes y reconocimiento de lenguaje natural sin
detenernos mucho en los detalles sino en aspectos prcticos y significativos para
nuestras elecciones y sugerencias de implementacin (para la puesta en marcha),
reconocer la visin de la Web Semntica para usarla como colgeno en el
reconocimiento y representacin del lenguaje natural considerando la informacin
existente y examinar algunas herramientas que deberan ser usadas para facilitar
el desarrollo final del sistema y evaluar sus cualidades. Finalmente, es necesario
hacer algunas consideraciones acerca del modelamiento del sistema respecto a la
comunidad objetivo.

32
3. OBJETIVOS

3.1 OBJETIVO GENERAL

Desarrollar un modelo de implantacin que sugiera y concilie los enfoques y


tecnologas necesarias para desplegar un sistema de agentes inteligentes
adaptado a las necesidades de un sitio de educacin virtual como Univirtual de la
universidad tecnolgica de Pereira usando tecnologas orientadas a la Web
Semntica con base en anlisis de lenguaje natural.

3.2 OBJETIVOS ESPECFICOS

Revisar el papel de los agentes inteligentes en las plataformas educativas.


Revisar la arquitectura de los sistemas de tutoreo inteligente.
Estudiar las necesidades de comunicacin y movilidad de agentes inteligentes
en Univirtual.
Estudiar las necesidades de representacin de informacin de Univirtual.
Comparar plataformas de agentes inteligentes.
Comparar marcos de trabajo para representacin de dominios y extraccin de
informacin.
Estudiar las herramientas de implementacin con que se cuenta para realizar
etiquetado y clasificacin de contenidos.
Proponer una metodologa de diseo y plataforma de implementacin.
Articular la interaccin de las herramientas en una arquitectura general.
Crear un prototipo que muestre cmo se puede hacer la integracin final de las
tecnologas mencionadas.

33
3.3 DELIMITACIN

Este proyecto de grado busca establecer algunos parmetros a considerar antes


de disear e implementar una plataforma de agentes inteligentes para Univirtual.
Dentro del marco clsico de la Ingeniera de Software se corresponde con parte
del anlisis, desde una perspectiva de alto nivel.

El proyecto se desarrollar de la siguiente manera:

Estudiar alternativas de metodologas de diseo de agentes inteligentes y


seleccionar una apta para el proceso.
Analizar los actores del sistema, caractersticas de su interaccin y la
informacin que utilizan a la luz de la metodologa seleccionada.
Ilustrar el uso de la metodologa estableciendo un modelo de interaccin entre
los mismos.
Verificar los protocolos de interaccin y su posible correspondencia con
modelos contemplados en plataformas de programacin orientada a agentes.
Establecer una base de esquemas de interaccin tanto entre actores como de
actores con el sistema.
Hallar y comparar las plataformas que faciliten estos esquemas de interaccin.
Estudiar las utilidades existentes para desarrollar los requerimientos
establecidos.
Proponer un modelo de implantacin basado en las consideraciones hechas en
los apartes anteriores.

34
4. MARCO REFERENCIAL

4.1 MARCO TERICO

El marco terico del problema analizado est compuesto por los marcos tericos
relativos a los ejes principales del tema: agentes inteligentes, representacin de
datos en Internet y reconocimiento de lenguaje natural, dedicamos dos captulos al
marco terico de los agente BDI que son un tipo de agente que se basa en la
teora descrita en ese captulo y que son el elemento constitutivo de las dos
plataformas ms populares para la implantacin de sistemas multiagente, as
mismo dedicamos una seccin a las metodologas que tambin constituyen una
parte importante del marco sobre el cul se disean e implementan estos
sistemas.

4.1.1 Agentes inteligentes.

El concepto de agente inteligente es un concepto relativamente nuevo, parece


haber sido propuesto por primera vez en el libro Artificial Intelligence a modern
approach de Peter Norvig y Stwart Russell, en el cual proponen al concepto de
agente inteligente como un concepto unificador de las teoras de inteligencia
artificial que hasta ese momento constituan un conjunto separado de disciplinas
que enfocaban la computacin desde paradigmas no convencionales. La
inteligencia artificial originalmente (y an en nuestros das) parece una colcha de
retazos de algoritmos y mecanismos no convencionales para resolver problemas,
por ejemplo, los algoritmos genticos, las redes neuronales, los lenguajes
funcionales, redes de creencia, lgica difusa, etc.. El agente inteligente busca
integrar todos los enfoques en una abstraccin que permita aplicar cualquiera de
stos mtodos a una sola entidad que responda a unas propiedades bien
definidas.

El agente inteligente entonces fue concebido y clasificado originalmente segn la


manera en que poda actuar, es decir, cmo se le vea desde afuera y por cmo

35
funcionaba, es decir, cmo se le poda ver desde adentro. Adems de los criterios
de clasificacin mencionados el agente inteligente fue definido como:

Todo aquello que puede considerarse que percibe su ambiente


mediante sensores y que responde o acta sobre l mediante
efectores"8

Dada la anterior definicin, un agente inteligente es casi cualquier cosa que pueda
percibir y actuar, es decir, a esta definicin pertenece por ejemplo un aire
acondicionado, que tiene un conjunto de sensores para conocer la temperatura y
unos efectores que enfran o no segn algunos parmetros, pero no creo que
podamos aceptar un aire acondicionado como ejemplo de agente inteligente.
Parece que los autores de la obra no se percataron de las implicaciones totales de
la definicin debido a la expectativa de la aplicacin de su definicin a los
programas y dispositivos que se pudieran desarrollar con alguna clase de
inteligencia, es decir, ellos pensaron en un agente, pero no necesariamente
inteligente.

An con las deficiencias mencionadas, cabe sealar que la definicin de Russell y


Norvig tiene la propiedad fundamental que deseaban los autores: una definicin
suficientemente abstracta como para que permitiera integrar los diferentes
enfoques y tcnicas aplicadas en inteligencia artificial clsica, seguramente los
autores intentaron evitar el atollamiento que implica tratar de definir la inteligencia
adems de la idea de que si nos limitamos la aplicacin de esta definicin a
programas es razonablemente acertada (los programas clsicos no tenan
sensores y por lo tanto no reaccionaban al ambiente). Nos parece pues, que lo
que le falta a la definicin para ser completa es incorporarle los elementos conque
ellos mismos clasificaron los enfoques de otros autores para abordar la
inteligencia artificial, es decir, incorporarle la inteligencia y permitirle la aplicacin a
entidades ms generales. La clasificacin mencionada se hizo teniendo como ejes
cualitativos el comportamiento o conducta y el razonamiento, con las variantes de
emular cosas consideradas inteligentes y hacer las cosas de manera correcta 9
como lo ilustra la siguiente tabla:

8 RUSSELL, Stuart; NORVIG, Peter. Op. cit., Pg. 33

9Ibid. Pg. 5

36
Cuadro 1. Clasificacin de agentes

Emulacin Formulacin
Pensamiento Sistemas que piensan como Sistemas que
humanos piensan
racionalmente
Actuacin Sistemas que actan como Sistemas que actan
humanos racionalmente.
Fuente: RUSSELL, Stuart; NORVIG, Peter, Inteligencia Artificial, un enfoque moderno.

Es decir, que la definicin de un agente inteligente sera para nosotros:

Cualquier entidad capaz de percibir a travs de sensores el ambiente


en el cual se desempea y actuar inteligentemente sobre l con sus
efectores

Y la definicin entonces se complementa con lo que significara actuar


inteligentemente:

Emprender las acciones que le permitan de manera inmediata o a futuro


obtener un beneficio en trminos de uno o varios objetivos concretos
externos o internos conservando su integridad fsica y lgica

La anterior definicin parece ms importante incluso que la de agente inteligente,


en sta tenemos los siguientes aspectos importantes a considerar: acciones,
tiempo, objetivos, internalidad/externalidad e integridad. Es decir, nosotros
consideramos que un agente inteligente debe estar descrito en trminos de estos
ejes adems de la capacidad de percibir y actuar sobre un ambiente determinado.
Valga la aclaracin de que adems del tiempo (o tal vez a consecuencia de l),
algunos autores han visto la necesidad de considerar las capacidades de
comunicacin de los agentes (con sus respectivas implicaciones) as como la
movilidad que pudieran necesitar como propiedades fundamentales de stos.

4.1.2 Propiedades de un agente inteligente

Las propiedades fundamentales de un agente son adems de las que se derivan


directamente de la definicin de agente de Russell y Norvig (capacidad de sentir el
ambiente y actuar sobre l -reactividad-, as como influenciar y ser influenciado por

37
el mismo -situacionalidad- 10, las siguientes:

4.1.2.1 La accin
Una accin puede ser la inferencia o la accin fsica, es decir, la accin tiene que
ver con la capacidad de tomar decisiones y realizar algo con base en tales
decisiones. Desde este punto de vista, la accin est relacionada con la manera
conque el agente almacena su conocimiento, razona respecto a l y la forma
conque esos razonamientos se pueden ejecutar finalmente en una accin fsica (o
lgica). Algunos autores mencionan que la diferencia entre un programa
convencional y un agente inteligente est en la persistencia de los planes, es
decir, un agente debe intentar varias acciones para cumplir finalmente con sus
planes y con sus metas11.

4.1.2.2 El tiempo
La inteligencia debe tener en cuenta el orden y el momento en el que pueden
suceder las cosas, es decir, por lo menos tener en cuenta que el orden en el que
suceden los eventos o se efectan acciones afecta el resultado final: no es lo
mismo reaccionar inmediatamente al evento el piso se rompe que reaccionar
despus de cumplir la meta recoger los platos o mejor an, no es lo mismo
aspirar la casa en la noche cuando las personas duermen- que aspirar la
casa en el da. El tiempo es necesario considerarlo por razones de orden y de
que el resultado de varias acciones es dependiente de ste. El tiempo tiene
implicaciones serias en las teoras de control.

4.1.2.3 Los objetivos o metas


La accin inteligente debe estar ligada obligatoriamente a un objetivo y en el caso
trivial a un objetivo trivial definido por el conocimiento integrado en el agente, es
decir, una accin inteligente es disparada por la necesidad de cumplir una meta o
lograr un objetivo y stos pueden estar integrados en un programa o pueden ser
dinmicamente compuestos por la propia inferencia del sistema, evidentemente es
preferible la segunda opcin porque los programas tradicionales son equivalentes

10 THANGARAJAH, John; PADGHAM ,Lin; HARLAND, James. Representation and Reasoning for
Goals in BDI Agents, 2001.
11 Ibid.

38
a un agente cuyo conocimiento est estrictamente en su programa, es decir, su
inteligencia est en el programador que lo hizo.

4.1.2.4 Internalidad/externalidad
Los objetivos o estmulos que tenga un agente para actuar o pensar pueden ser
obtenidos de su conocimiento interno, bien sea a travs de conocimiento
incorporado inicialmente o adquirido a travs de acciones efectuadas
anteriormente al momento de la decisin o puede ser ordenado externamente por
otro agente externo o por el ambiente. Un agente que no incorpore la capacidad
de obedecer rdenes (as las pueda objetar) o no reaccione mnimamente cuando
todava no tiene ninguna experiencia no sera inteligente. Esta caracterstica, est
relacionada con la autonoma que todos los autores mencionan como
caracterstica fundamental de cualquier agente, as como con las capacidades de
comunicacin, dado que es necesario que el agente responda a rdenes bien sea
humanas o de otros agentes y es tambin necesario que las rdenes permitan que
el agente busque informacin adicional necesaria para llevar a cabo la orden con
relativa autonoma.

4.1.2.5 Integridad
Para considerar inteligente alguna entidad, es necesario que exista alguna medida
o control de su integridad, tanto lgica -es decir, coherencia de sus
representaciones y acciones- como fsica, es decir, su existencia -algo as como
cierto grado de conciencia sobre s- y capacidad de seguir alcanzando objetivos y
ejecutando acciones que no pongan en riesgo su integridad fsica o que impliquen
modificacin de sus creencias para mantener su integridad lgica.

4.1.2.6 Otras propiedades


Existen otras propiedades usadas para la clasificacin de los agentes pero nos
parece innecesario definirlas extensivamente debido a que las anteriores
propiedades nos bastan para establecer una base acerca del concepto de agente
inteligente as como para los objetivos propuestos en el presente proyecto, sin
embargo, y a manera de ilustracin listaremos algunas de las clasificaciones
hechas por otros autores para ser exploradas en otro aparte en caso de ser

39
necesario. 12

Agentes con base en su reactividad:


La reactividad ya la mencionamos anteriormente como parte de algunas de la
propiedades descritas, sin embargo algunos autores clasifican los agentes segn
sean Reactivos, Proactivos o Sociales, es decir, que acten basados
principalmente en estmulos del ambiente o eventos, que busquen objetivos y los
solucionen proactivamente, es decir, que creen planes y los ejecuten y finalmente
agentes que tengan reglas simples para constituir una sociedad y cumplir sus
objetivos como sociedad o simplemente interactuar con otros agentes y extraer
informacin de los modelos o representaciones del mundo que tengan esos
agentes.

Agentes con base en su autonoma, aprendizaje y cooperacin


Segn el papel que desempeen frente a los agentes humanos, pueden existir
Agentes interfaz, Agentes colaboradores, Agentes autnomos y Agentes de
aprendizaje, que son respectivamente los que ocultan la complejidad y asisten a
los humanos frente a una aplicacin o dominio especfico usando su capacidad de
aprendizaje para recordar y reconocer el comportamiento de los humanos detrs
de la interfaz; agentes capaces de colaborar entre ellos para aprender del
ambiente y llevar a cabo sus metas; los que son capaces de tomar decisiones sin
intervencin humana; agentes que proponen o ayudan a recorrer un tema para
aprender reconociendo los posibles problemas que surgen para el alumno.

Agentes segn su movilidad


Dado un ambiente de ejecucin con capacidades de interconexin, un agente
puede decidir ejecutar su cdigo slo en la mquina local (Agentes estacionarios)
o transferir su ejecucin y estado a otras mquinas (Agentes mviles).

4.1.3 Agentes BDI

Uno de los ms excitantes retos de los psiclogos e investigadores de la


Inteligencia Artificial es entender y describir el comportamiento de los agentes

12 BOLVAR, Jennifer; ORREGO, Danny. Monografa anlisis del aprovechamiento de los agentes
mviles en aplicaciones diseadas para redes, 2004.

40
racionales. Ellos estn interesados, en particular, en describir cmo son
influenciados por el ambiente externo y cmo su estado mental gua sus acciones.
Es por eso que durante los ltimos aos se ha desplegado un gran esfuerzo por
desarrollar lenguajes para describir tales estados mentales. Una vez definido un
lenguaje como este, sera posible especificar formalmente el comportamiento de
agentes que se supone que actan racionalmente, describir cmo deberan
interactuar racionalmente con otros agentes artificiales o humanos y finalmente
ayudar a los humanos a evaluar su razonamiento y decisiones sobre el ambiente
externo.

Una teora encaminada en sta direccin y de fuerte aceptacin entre los


diseadores de algunas de las plataformas ms aceptadas hoy en da es la de los
agentes basados en Creencias, Deseos (o metas) e Intenciones o BDI por sus
siglas en ingls (Reliefs, Desires, Intentions). Dado que BDI es una teora que ha
venido evolucionando y que ahora es la base de las plataformas ms populares
para desarrollo de sistemas multiagente la describimos brevemente en ste aparte
como un marco terico del sistema bajo anlisis.

BDI es una teora cognitiva de comportamiento de toma de decisiones en agentes


racionales y apunta a la descripcin del comportamiento en toma de decisiones en
trminos de conceptos cognitivos. Las creencias y deseos se corresponden muy
de cerca con conceptos usados en otras teoras alternativas de decisin y los
conceptos de intenciones son propuestos como restricciones para las alternativas
sobre las cuales el agente puede decidir.

BDI es tambin un marco de trabajo sobre el cual se han desarrollado plataformas


de agentes inteligentes cuyo fundamento son intrpretes de un lenguaje lgico en
trminos de creencias, deseos e intenciones. Dicho lenguaje intenta especificar el
comportamiento de agentes racionales a travs de la descripcin de sus estados
mentales. BDI representa un lenguaje lgico cuya semntica captura las
propiedades y relaciones establecidas entre creencias e intenciones.

La informacin parcial del estado del ambiente, el cual es representado por


probabilidades cuantitativas en teora clsica de la decisin y por orden cualitativo
en teora cualitativa de la decisin es ahora reducida a valores binarios. sta
abstraccin sobre la informacin acerca del estado del ambiente es llamado
creencias en un agente que toma decisiones. Similarmente la informacin acerca
de los objetivos, lo que est representado por utilidad cuantitativa en teora clsica
y por orden de preferencia cualitativo en teora de decisiones, es llamado deseos.
En la semntica de la lgica BDI esta representacin binaria de las relaciones
entre B, D, e I mapea cada mundo (en un instante determinado de tiempo) con un
conjunto de mundos sin estructura.

41
Una interpretacin M est definida como una tupla

M=( W, E, T, <, U, B, D, I, ?)

Donde W es un conjunto de mundos, E es un conjunto de tipos primitivos de


eventos, T es un conjunto de puntos en el tiempo, < un operador binario entre
puntos de tiempo, U es el universo de discurso, y ? es una aplicacin de
entidades de primer orden a elementos de U para cualquier mundo dado en un
instante de tiempo. 13

Rao y Georgeff (autores originales de esta teora) incluyeron un componente


temporal. La lgica BDI es una extensin de la lgica de rbol computacional
(CTL* -Computational Tree Logic), la cual es frecuentemente usada para modelar
estructuras bifurcadas de tiempo con operadores modales epistmicos 14 para
creencias B, intenciones I y deseos D. Los operadores modales son usados para
modelar el estado mental del agente que toma decisiones mientras que la
estructura de tiempo es usada para modelar posibles eventos que pueden suceder
en un instante dado de tiempo y determinan los mundos alternativos en ese
instante.

4.1.4 Plataformas y metodologas de desarrollo

Debido a que nuestro estudio no es estrictamente terico, es necesario tambin


mencionar algunos hitos sucedidos durante los ltimos lustros en trminos
prcticos que para nosotros se traducen en metodologas de ingeniera de
software y arquitecturas tanto de sistemas fsicos como de diseos o arquitectura
de sistemas, es decir plataformas.

Los agentes inteligentes fueron durante algunos aos entidades muy acadmicas,
es decir, objetos de estudio para teorizar, estudiar y respaldar con anlisis de

13 DASTANI, Mehdi; HULSTIJN, Joris; VAN DER TORRE, Leendert. How to decide what to do?,
2003.
14 Un operador modal epistmico es un operador cuyo resultado depende temporalmente de lo

que ya se conoce de los operandos pero que se aplica con base en modalidades como
posiblemente, necesariamente o de manera imposible.

42
sistemas, simulaciones y propuestas. Sobra hablar del significado del potencial
comercial que ha surgido para las empresas y corporaciones en su presencia
Web: nuevos servicios abiertos 24 horas los siete das de la semana sin festivos
(reconocido como 24/7 en algunos pases), informacin permanente y
personalizada para los clientes (potenciales o efectivos), capacidades de
interaccin con los usuarios del sitio y ms importante an, potencial mundial de
comercializacin: el mundo es el nuevo alcance del mercado.

La evolucin de estos sistemas ha hecho pasar a las empresas y la industria de


desarrollo Web por varias etapas de las cuales la ms conocida fue aquella de los
aos 90 en que cualquier negocio que se publicara en Internet esperaba tener un
gran impacto y altas rentabilidades. La ilusin dur poco y las empresas despus
de algunos descalabros entendieron que publicar informacin simplemente no era
justificacin suficiente para los costos que acarreaba centrar su estrategia slo en
Web, que se necesitaba algo ms. Por esta misma poca, los agentes
inteligentes, con una fuerte base terica, diversa y slida, convergieron con las
nuevas tecnologas desarrolladas para solucionar la aparente falta de efectividad
de los sitios Web mientras, en la trastienda, entidades comunitarias sin nimo de
lucro como la w3c y la IETF seguan discutiendo sobre las mejores formas,
prcticas y tecnologas para estimular el uso de Internet. Tecnologas como XML,
SOAP, Web Services y RSS fueron entrando en escena tmidamente para
demostrar que la representacin del conocimiento y los protocolos especiales para
aplicaciones distribuidas eran una solucin para hacer efectivas las inversiones en
estos sistemas.

Los agentes inteligentes aparecieron entonces como el perfecto complemento de


estas nuevas tecnologas: el agente inteligente como entidad autnoma y reactiva
era el modelo perfecto de aplicacin distribuida. fue esta necesidad de las grandes
corporaciones de optimizar sus sistemas Web una de las tendencias ms
importantes que impulsaron la pequea explosin de plataformas que vamos a
describir, cada una acompaada de alguna clase de metodologa de diseo y un
conjunto de utilidades ligadas (casi siempre) con un lenguaje de preferencia. Cabe
aqu destacar que la mayora de los desarrollos de plataformas se basan en
propuestas y experimentos de comunidades acadmicas que sustentan y proveen
a esta incipiente industria de herramientas y elementos constitutivos para
ensamblar sus plataformas, que surgen despus de existir cierta cantidad de
elementos comunes a este tema, como la interaccin de agentes, el monitoreo de
los mismos y la administracin de recursos dentro de un ambiente de ejecucin.

Una plataforma se define como un conjunto de tecnologas (hardware) y


subsistemas (software) que proveen funcionalidades coherentes destinadas a un
uso determinado a travs de diferentes interfaces y especificaciones de patrones
de uso para tales aplicaciones. Una plataforma de agentes inteligentes por lo

43
tanto, es un conjunto de funcionalidades bsicas sobre las cuales se accede al
estado de los agentes y de sus comunicaciones, tanto para visualizarlos como
para alterarlos (visualizar estados, monitorear procesos, reiniciar un agente o
detener su ejecucin). Fundamentalmente una plataforma de agentes debe
asegurarse de la integridad de las comunicaciones, estados y conocimiento de los
agentes que operan sobre ella y ofrecer utilidades de alto nivel para monitorear
tales propiedades.

Una plataforma de agentes es entonces, puesto en trminos fciles, un conjunto


de programas o utilidades y libreras escritas con el slo propsito de facilitar la
implementacin y ejecucin de sistemas de agentes. Ejemplos de plataformas son
JADE (Java Agent DEvelopment Framework), que se define literalmente en su
pgina de FAQs de la siguiente manera:

Un marco de trabajo para desarrollar aplicaciones basadas en agentes


en concordancia con las especificaciones de FIPA para sistemas
multiagente interoperables.15

Otra plataforma lder en este campo es JACK que cuenta con una metodologa
que soporta sus estructuras de programacin en conceptos correspondientes de
las fases de anlisis y diseo, de tal manera que aplicando la metodologa se
puede llegar a un diseo cuyos objetos finales se corresponden con
construcciones directas en el lenguaje de agentes propietario de JACK. JACK es
definido por sus autores como:

Un ambiente para la construccin, ejecucin e integracin de sistemas


multiagente de nivel comercial usando una aproximacin basada en
componentes16

Dentro de los componentes o elementos constitutivos que podemos identificar


dentro de una plataforma tenemos fundamentalmente los siguientes: kernel,
comunicaciones e Interfaz Grfica de Usuario (GUI por sus siglas en ingls
-Graphical User Interface). El kernel o ncleo es bsicamente el conjunto de
elementos de la plataforma que ejecutan las tareas fundamentales para el
funcionamiento del sistema, como la creacin de agentes, la migracin de stos
entre plataformas y servicios de utilidad como el tratamiento de documentos
especiales o el soporte de lenguajes declarativos; las comunicaciones de una
plataforma estn determinadas por las utilidades de sta para transmitir

15 JADE. FAQ, 2006. http://jade.tilab.com/community-faq.htm

16 The Agent Oriented Software Group. What is JACK?, 2006. http://www.agent-


software.com/shared/products/index.html

44
informacin o para migrar un agente de una arquitectura fsica a otra, tambin
incluye el soporte para lenguajes de comunicacin; finalmente la GUI es
simplemente una interfaz que permite realizar operaciones administrativas sobre la
plataforma y observar su estado a travs de ventanas, botones y todos los
elementos clsicos visuales de las aplicaciones comunes en entornos grficos
como Windows, Macintosh, GNOME o KDE en GNU/Linux o CDE en Solaris.

En este marco general surge un nuevo trmino de la ingeniera de software


acuado durante los ltimos aos y que ahora goza de cierta popularidad aunque
ms bien por el amplio estudio de sus mtodos que por su uso extendido.
Estamos hablando de la Ingeniera de Software Orientada a Agentes (AOSE por
sus siglas en ingls o AOP) 17. Dentro de esta nueva forma de disear sistemas
-acusada de ser la natural sucesora de la Programacin Orientada a Objetos- se
reconocen dos tendencias mayores de marcos metodolgicos basados en
desarrollo de agentes e ingeniera del conocimiento. Basados en enfoques de
arriba para abajo (top-down) y de abajo para arriba (bottom-up) refirindonos al
nivel de abstraccin, es decir, del alto nivel al bajo nivel y del bajo nivel al alto nivel
respectivamente. Tenemos como ejemplo del primer marco metodolgico a los
agentes basados en Creencias, Deseos e Intenciones (BDI por sus siglas en
ingls), ya mencionado anteriormente y considerado un enfoque basado en
desarrollo de agentes. Del segundo marco metodolgico (basado en ingeniera del
conocimiento) slo tenemos como ejemplo popular la metodologa Cassiopea que
se basa en la definicin de roles y comportamientos, y sus interrelaciones. Para el
primer marco metodolgico se tiene como base terica respectivamente la lgica
del modelo BDI desarrollada por Rao y Georgeff y para el segundo la lgica
basada en la teora de la intencin desarrollada por Cohen-Levesque 18.

17 DONCHEVA, Radi. Agent Oriented Software Engineering (AOSE) : An Introduction, 2001.


18 Ibid.

45
Figura 2. Genealoga de Metodologas

Para ms ilustracin sobre la explosin de metodologas ver la Figura 2, en la que


se muestra una genealoga de metodologas. En dicha figura vemos como races
la Orientacin a Objetos (OO), la Ingeniera de Requerimientos (RE: Requirments
Engineering), la Ingeniera de conocimiento (KE: Knowledge Engineering) y
finalmente un grueso de experiencias dispersas denotadas en el diagrama como P
19
.

4.1.4.1 Metodologa GAIA


GAIA es una metodologa de desarrollo de software, cuya intencin es llevar
sistemticamente al diseador desde una declaracin de requerimientos hasta un
diseo suficientemente detallado como para implementarse directamente. En
GAIA la recoleccin de requisitos es independiente del paradigma usado para

19 SUDEIKAT, Jan; et al.. Evaluation of AgentOriented Software Methodologies Examination of


the Gap Between Modeling and Platform, 2005.

46
anlisis y diseo. GAIA permite que el ingeniero o analista incremente el nivel de
detalle partiendo de conceptos abstractos como roles (o papeles), permisos,
responsabilidades, protocolos, actividades, propiedades vitales y propiedades de
seguridad. Ejemplos de los conceptos ms concretos a los que hace referencia la
metodologa son tipos de agentes, servicios y familiaridades (acquaintances en
ingls).

El anlisis y diseo en GAIA se compone principalmente de los modelos de roles,


modelos de interaccin, modelos de agentes, modelos de servicios y modelos de
familiaridades o relaciones y tales etapas se desarrollan como de costumbre con
modelos incrementalmente ms detallados.

GAIA usa trminos comunes con el anlisis y diseo de metodologas Orientadas


a Objetos, pero introduce conceptos inherentes a la programacin orientada a
agentes con el fin de que el ingeniero de software pueda entender y modelar
sistemas complejos. En particular GAIA estimula al desarrollador a pensar el
diseo de sistemas orientados a agentes como un proceso de diseo
organizacional.

En sta metodologa, la fase de anlisis se encarga de descubrir la estructura


concreta del sistema con base en los conceptos abstractos mencionados y cmo
stos se relacionan entre s. Es decir, durante el anlisis, el ingeniero de software
descubre y declara los elementos compositivos del sistema, roles, protocolos,
responsabilidades, permisos, etc. y deja escritos los modelos de anlisis
necesarios para entender esta parte del desarrollo. El diseo sin embargo, no se
corresponde con el diseo clsico al que estamos acostumbrados, es decir, el
diseo en sta metodologa de desarrollo orientada a objetos no busca llegar al
nivel de detalle necesario para implementar el sistema, sino, alcanzar el nivel de
detalle necesario para que los modelos de diseo se conviertan en diseos
suficientes para implementar el sistema en cualquier plataforma que se quiera. Es
decir, el diseo en GAIA busca permitir que los modelos de anlisis permitan la
aplicacin de las tcnicas convencionales de diseo (incluidas las tcnicas
orientadas a objetos) para implementar finalmente el sistema 20.

4.1.4.2 Metodologa MaSE


Existen otras metodologas importantes como por ejemplo Multiagent Systems
Engineering (MaSE). Esta metodologa es similar en muchas cosas a las

20 WOOLDRIDGE, Michael; R. JENNINGS, Nicholas; KINNY, David. The Gaia Methodology for
Agent-Oriented Analysis and Design, 2000.

47
metodologas tradicionales pero especializada en el paradigma de agentes
distribuidos, difiere especialmente en que el diseo se encarga de definir
componentes generales del sistema antes que el sistema mismo. La metodologa
pasa por las etapas de diseo a nivel de dominio, diseo a nivel de agentes,
diseo de componentes y diseo del sistema.

A pesar de las fuertes diferencias entre agentes y objetos, MaSE permite modelar
agentes como Objetos activos, es decir, como un objeto con metas y un lenguaje
de comunicacin comn. De lo anterior deriva que MaSE se construye sobre las
tcnicas tradicionales de anlisis y diseo, pero adicionndole caractersticas y
cambiando un poco la semntica para capturar elementos de proactividad y
comportamiento cooperativo. 21

La fase de diseo a nivel de dominio se compone de los siguientes pasos:


1. Identificar los tipos de agentes (En este paso se acostumbra usar modelamiento
de papeles -roles-, casos de uso y diagramas de colaboracin).
2. Identificar las posibles interacciones entre estos tipos de agentes.
3. Definir los protocolos de coordinacin entre ellos para cada tipo de interaccin.

El diseo a nivel de agentes define la arquitectura interna de los agentes y


generalmente consiste en los siguientes pasos:
1. Corresponder acciones identificadas en conversaciones de agentes con
componentes internos.
2. Definir estructuras de datos identificadas en conversaciones de agentes. Estas
estructuras representan datos de entrada y salida para el agente.
3. Definir estructuras de datos adicionales internas al agente que representan
flujos de datos entre componentes de la arquitectura del agente.

Una vez definida la arquitectura de los agentes, el paso siguiente es definir los
componentes de los mismos. MaSE usa un lenguaje de especificacin llamado
AgDL (Agent Definition Language) que se usa entre otras cosas para definir los
componentes que se disean desde cero, dado que la idea de MaSE es reutilizar
componentes existentes de la plataforma usada, por ejemplo usando JavaBeans.
Componentes tpicos que encontramos para los agentes incluyen planificadores,
algoritmos de bsqueda, mecanismos de inferencia y algoritmos de aprendizaje.

Finalmente el diseo del sistema se compone tpicamente de los siguientes pasos:


1. Seleccionar los tipos de agentes que se van a necesitar.
2. Determinar el nmero de agentes de cada tipo y definir en cada caso:
a) El lugar fsico o direccin de cada agente.
b) Los tipos de conversaciones que cada agente podr llevar a cabo.
21 DELOACH, Scott. Op. Cit.

48
c) Cualquier otro parmetro definido en el dominio.

Si bien tcnicamente no hace parte del diseo del sistema, una vez que est
definido el sistema se pueden verificar ciertas propiedades de inters como
seguridad y vitalidad (liveness). La definicin de un sistema requiere un conjunto
de herramientas formales que permitan el reuso de componentes existentes,
sintetizar nuevos componentes y analizar propiedades del sistema. MaSE usa
AgML -Agent Modelling Language- para especificar el diseo, especficamente el
despliegue, en la fase de diseo del sistema y AgDL -Agent Description Language-
para especificar el diseo de componentes. stos dos lenguajes se combinan para
proveer una definicin formal.

MaSE no se vincula a ninguna plataforma en particular y tiene soporte de


herramientas de agentes con soporte automtico para transformar modelos de
anlisis en constructores de implementacin llamada AgentTool 22,23.

4.1.4.3 Metodologa Tropos


TROPOS es una metodologa para construir sistemas de software orientados a
agentes y permite explotar toda su flexibilidad por medio de los lenguajes de
programacin, especialmente Java; posee en s nociones mentales que se basan
en una arquitectura de agentes fundamentada en el marco de creencias, deseos e
intenciones (Beliefs-Desires-Intentions BDI en Ingls). Tropos se basa en dos
ideas claves: la nocin de agente y todas las nociones mentales asociadas con el
concepto (metas y planes por ejemplo), que son usadas en todas las fases de
desarrollo, desde el anlisis temprano hasta la implementacin misma. La
segunda idea clave es que Tropos cubre incluso las ms tempranas fases de
recoleccin y anlisis de requerimientos, lo que permite mejor comprensin del
ambiente en el cual el software va a operar y las clases de interacciones que
sucedern entre agentes de software y humanos.

TROPOS interacta con una plataforma denominada JACK la cual posee


constructores que se corresponden directamente con nociones de diseo de
TROPOS y este a su vez provee heursticas de mapas conceptuales BDI para la
plataforma JACK.

Las fortalezas de Tropos son en resumen las siguientes:


22 Multiagent and cooperative robotics lab. The AgentTool project, 2006.
Http://macr.cis.ksu.edu/projects/agentTool/agentool.htm

23 DELOACH, Scott A.. Multiagent Systems Engineering: A Methodology And Language for
Designing Agent Systems. Air Force Institute of Technology, 1999.

49
1. La nocin del agente sobre si y todas sus otras nociones mentales relacionadas
con su entorno (metas convenientes para l y planes para lograrlas), que son
usadas durante toda la vida de desarrollo del software, desde su anlisis
temprano del entorno hasta su aplicacin a realizar.
2. Las fases de inicio tempranas del Anlisis de Requerimientos brindan un
entendimiento profundo del ambiente donde el sistema como software puede
operar; qu clases de interacciones ocurrirn entre l y otros tipos de agentes
de software inclusive otros tipos de agentes como lo son los seres humanos.

TROPOS se basa en la idea mapear un sistema para s mismo; su mundo es su


ambiente, es incrementado, refinado y extendido por todas las percepciones,
prev una interfaz comn a varias actividades de desarrollo histricas como una
base de documentacin y realizar evolucin de software sobre s.

El lenguaje TROPOS para modelado conceptual esta formalizado en un


metamodelo descrito con un conjunto de diagramas UML, su metodologa se
compone de cinco fases que se inician con el anlisis de requerimientos
tempranos y tardos; el diseo arquitectnico, el diseo detallado y la
implementacin.

Las fases I y II se conocen como el Anlisis de Requerimientos tempranos y


tardos respectivamente y tratan de operar de un modo conceptual y metodolgico
al ms alto nivel; muchas de las ideas introducidas en la fase de anlisis de
requerimientos tempranos son constantemente usadas durante la fase de
requerimientos tardos.

Los ingenieros identifican el mbito del dominio del problema como los actores
sociales que dependen el uno del otro para llevar a cabo sus metas, buscando as
lograr con buen desempeo sus planes.

Anlisis de requerimientos tempranos


Se identifica el campo del dominio y se modelan los actores sociales, cmo
dependen el uno del otro, definiendo claramente el estado del quin al lado del
porqu, el cundo y el cmo, en todas las funcionalidades del sistema verificando
por ltimo cmo la implementacin final se relaciona con las necesidades iniciales.

Las intenciones son modeladas como metas, las cuales a travs de un anlisis
orientado a metas se descomponen en submetas que eventualmente soportarn la
evaluacin de alternativas.

Anlisis de requerimientos tardos


El modelo conceptual es extendido incluyendo nuevos actores los cuales
representan el sistema y nuevas dependencias con otros actores del ambiente, las

50
cuales definen los requerimientos funcionales y no funcionales del sistema en s.

Diseo de la arquitectura
Esta etapa define la arquitectura general del sistema en trminos de subsistemas
interconectados a travs de flujos de datos y control. Los subsistemas son
representados en el modelo como actores y las interconexiones de datos o control
como dependencias. El diseo de la arquitectura tambin define una
correspondencia de actores del sistema a un conjunto de agentes de software
cada uno caracterizado por capacidades especficas.

Diseo detallado
El diseo detallado trata de la especificacin de las capacidades y las
interacciones. Para la etapa del diseo detallado se debe tener una plataforma
elegida, de tal manera que los protocolos de interaccin y las capacidades de los
agentes se correspondan con las estructuras sintcticas de dicha plataforma, que
es uno de los fines principales de sta metodologa: llevar el diseo hasta la unin
con la implementacin a travs de esta correspondencia. La documentacin de
Tropos indica que sta metodologa es independiente de la plataforma elegida
para la implementacin del sistema en diseo, sta es la fase de la metodologa
responsable de sta caracterstica ya que en sta fase se hacen corresponder las
estructuras de diseo descubiertas en las fases anteriores (protocolos de
comunicacin, capacidades de agentes, tipos de agentes, etc.) con las estructuras
y conceptos de implementacin que soporta la plataforma a usar.

Tropos est vinculado con varias utilidades y programas completos para el


desarrollo de MASs (Multi-Agent Systems o sistemas multiagente) y con la
plataforma de desarrollo JACK. Tanto sus utilidades como el uso de JACK (todo se
descarga como paquete completo de Internet) son liberadas bajo licenciamiento
privativo (ver glosario) y son un producto comercial de la casa de Software
especializado en agentes inteligentes Agent Oriented Software Group (AOS) 24.

Implementacin
La implementacin se sigue paso por paso de una manera natural a la
especificacin del diseo detallado, dado que ste se desarrolla correspondiendo
los conceptos de diseo (agentes, interacciones y capacidades) con
construcciones y conceptos especficos de la plataforma seleccionada.

24 The agent oriented software group. JACK Intelligent agents, software agent system, 2006.

http://www.agent-software.com/shared/home/

51
4.1.4.4 Plataforma JADE
JADE es una plataforma de agentes inteligentes enteramente implementada en
JAVA. JADE busca simplificar la implementacin de MASs a travs de un
middleware (Software intermediario, ver glosario) que reclama ajustarse a las
especificaciones de FIPA y a travs de un conjunto de herramientas que soportan
las tareas de depuracin y despliegue. La plataforma de agentes puede estar
distribuida a travs de mltiples mquinas que no necesitan tener ni siquiera el
mismo sistema operativo (ya que se ejecutan en la mquina virtual de java) y la
configuracin puede ser controlada a travs de una interfaz grfica remota e
incluso puede ser cambiada en tiempo de ejecucin moviendo agentes de una
mquina a otra. JADE requiere mnimamente la versin 1.4 del entorno de
ejecucin Java (JRE -Java Runtime Environment) o del kit de desarrollo Java (JDK
Java Development Kit).

Jade es una plataforma liberada bajo la licencia LGPL (Lesser GPL, ver entrada
del glosario). Tiene una arquitectura de comunicaciones que ofrece una
mensajera eficiente y flexible, ya que Jade maneja una cola de mensajes ACL
(Agent Communication Language Lenguaje de Comunicacin de Agentes)
privada para cada agente que puede ser leda a travs de varios modos, ha
implementado el modelo completo propuesto por FIPA y todos sus elementos han
sido claramente distinguidos y completamente integrados. Jade ha implementado
utilidades para el manejo de ontologas, lenguajes de contenido definidos por el
usuario y otras utilidades que permiten el intercambio de conocimiento entre
agentes, adems Jade se integra con JESS (Java Expert System Shell), un
intrprete de comandos (shell) de java para un lenguaje muy similar a CLIPS que
permite explotar sus capacidades de razonamiento de manera directa o a travs
de guiones. Jade se integra tambin con libreras LEAP que permiten el uso de
Java en dispositivos porttiles.

Mientras la plataforma aparece para el sistema como una sola entidad, el sistema
es un sistema distribuido en s mismo, repartido en mltiples mquinas con alguna
de ellas actuando como interfaz general o front end y ejecutando el Sistema de
administracin (AMS Agent Management System ) y el servicio de directorio (DF
Directory Facilitator). Un sistema JADE est compuesto por uno o varios
contenedores de agentes viviendo en una mquina virtual diferente y dando
tiempo de ejecucin a algunos agentes. Cada ambiente de ejecucin provee un
sistema de mensajera eficiente y flexible, eligiendo transparentemente el mejor
medio de transporte para los mensajes, cumpliendo con los estndares
propuestos por FIPA para la mensajera inter-plataforma ( es decir, entre
plataformas ) y usando mecanismos propietarios para la mensajera intra-
plataforma ( es decir dentro del mismo ambiente de ejecucin).

El modelo de ejecucin de JADE est basado en el concepto de comportamiento

52
(Behaviour) que intenta limitar la cantidad de hilos de ejecucin y que tiene sus
races en lenguajes de actores. De acuerdo con el patrn de diseo de los objetos
activos (Active Objects) cada agente ejecuta su propio hilo de ejecucin con el fin
de soportar la autonoma y en vez de limitar la cantidad de hilos de ejecucin para
un sistema de agentes, los comportamientos se ejecutan en un hilo cooperativo
nico. De esta manera, JADE ejecuta un modelo de ejecucin de hilo por agente
con planificacin cooperativa entre agentes.

Adems de la librera de programacin de agentes y el ambiente de ejecucin,


JADE incluye herramientas y un sistema de administracin del sistema de agentes
que son a su vez agentes FIPA, y que slo se basan en JADE y su AMS. La
consola de administracin general se llama RMA (Remote Management Agent),
sta recolecta informacin de la plataforma y ejecuta comandos de la interfaz
grfica para modificar el estado de la plataforma, es decir, crear agentes,
destruirlos, monitorearlos, etc.. JADE provee un mecanismo de prueba llamado
Agente Tonto o Dummy Agent, que permite hacer pruebas de modelos de
mensajera antes de incorporarlos a un sistema real o hacer pruebas y
monitorizacin de agentes en tiempo real.

4.1.4.5 Plataforma JACK


JACK es una plataforma de agentes inteligentes implementada en Java que
permite la construccin, ejecucin e integracin de sistemas multiagente
basndose en un enfoque orientado a componentes cuyo origen yace en la
investigacin y desarrollo realizado por el equipo del Agent Oriented Software
Group, compaa con base en Estados Unidos, Reino Unido y Australia
principalmente.

El lenguaje de agentes JACK es un lenguaje que extiende las capacidades de


Java con conceptos orientados a agentes como agentes inteligentes, capacidades,
eventos, planes, bases de conocimiento y administracin de recursos y
concurrencia.

JACK est compuesto por tres elementos principales: Un lenguaje de


especificacin de agentes, un compilador de ese lenguaje y un Kernel. El lenguaje
de agentes JACK es un lenguaje para describir un sistema de agentes,
extendiendo la sintaxis clsica de Java con estructuras correspondientes a
conceptos orientados a agentes.

El compilador para el lenguaje de especificacin es un preprocesador que


convierte las estructuras de extensin en estructuras puras de Java, stas
extensiones se manejan como componentes conectables o plugins y son

53
fuertemente tipados, lo que minimiza la conversin implcita de tipos y la
posibilidad de error y asegura una compilacin ms eficiente. El kernel de JACK
es un conjunto de clases que proveen al sistema de la funcionalidad de orientacin
a agentes, muchas de ellas se ejecutan transparentemente y soportan la
infraestructura y funcionalidad subyacente que los agentes requieren y otras son
usadas explcitamente en agentes escritos para JACK, heredadas y
suplementadas con retrollamadas para proveer sus propias funcionalidades.

4.1.5 Representacin de los datos en Internet y Web semntica

La Web Semntica es una extensin de la Web actual que busca que los
computadores o dispositivos habilitados para accederla sepan el significado de los
documentos o de la informacin que transporta. El origen del trmino parece
remontarse a la conferencia XML Conference 2000, donde Tim Berners Lee,
diseador del actual esquema de Web basado en los protocolos HTTP y HTML,
propone una serie de elementos en un esquema de pila en el que cada elemento
constituye una tecnologa que complementa al modelo en general. A continuacin
veremos el diagrama expuesto por Tim Berners Lee en la conferencia mencionada
e iremos explicando cada uno de los elementos y qu papel juegan en este
modelo.

Figura 3. Pila de Web semntica

54
4.1.5.1 Unicode: codificacin universal de texto
Unicode es un conjunto o formato universal de codificacin para texto y
caracteres escritos, es decir, en l se especifican todos los caracteres de texto
escrito de los principales idiomas y lenguajes del mundo. l especifica una forma
consistente de intercambiar texto multilengua y es la base para software
verdaderamente global. Unicode es la codificacin por defecto de HTML y XML y
eso lo hace un robusto apuntalamiento para la www y el nuevo estilo de negocios
en red.

Las metas de Unicode apuntan a la estabilidad de los datos en vez de la


proliferacin de conjuntos de caracteres, mayor interoperabilidad global e
intercambio de datos, software simplificado y costos de desarrollo reducidos.

Unicode tiene dos presentaciones, en 16 bits y en 8 bits para facilitar su uso en


ambientes ASCII. La especificacin es un superconjunto de todos los juegos de
caracteres en uso hoy en da25.

4.1.5.2 URI: identificador uniforme de recursos


URI es una cadena compacta de caracteres que identifica un recurso fsico o
abstracto con una sintaxis simple y extendible como los URL que vemos a diario 26.

La uniformidad segn el rfc3986 proviene de la propiedad que tienen estos


identificadores de permitir el uso de diferentes tipos de URI dentro de un mismo
contexto con la misma interpretacin o semntica, lo que permite la introduccin
de nuevos tipos de identificadores sin impactar en el uso de los tipos ya en uso,
as como el reuso de los identificadores en mltiples contextos.

Dentro de la especificacin la palabra recurso no est limitada a recursos fsicos ni


alcanzables, es decir, un recurso tambin puede ser un ser humano,
corporaciones, libros o cualquier objeto que exista en el mundo. Un recurso en el
sentido usado por la especificacin tampoco es simplemente entidades concretas
como pginas Web, imgenes, archivos o los objetos no alcanzables por Internet
mencionados anteriormente (seres humanos, corporaciones, objetos del mundo
real) sino que tambin pueden ser conceptos abstractos como operadores y

25 Unicode home page. Unicode 3.0, Chapter 1, 2005. Http://www.unicode.org/book/uc20ch1.html

26 RFC.net. Uniform Resource Identifier (URI): Generis Syntax, 2005. http://rfc.net/rfc3986.html

55
operandos en una operacin matemtica, tipos de relaciones (mayor que, padre,
empleado, etc.) o valores numricos no necesariamente concretos como infinito,
indeterminado y tambin los concretos como uno o cero, esta idea lleva la
identificacin mucho ms all de los smbolos, nuestros conceptos podran ser
unificados globalmente (un nico identificador para el concepto de infinito o no
numrico -NIL- ) pero tambin tendramos la posibilidad de crear nuestras
variantes personalizadas de tales conceptos.

Los URIs pueden ser clasificados principalmente como Nombres o Localizadores


(URN o URL). La diferencia entre ellos radica en que los URN tambin acogen un
estndar de nomenclatura ms bien histrica que est diseada para que el
recurso siga siendo unvocamente identificado globalmente y persista incluso
cuando el recurso ha dejado de existir o no es accesible, sin embargo este nombre
se ha usado indistintamente con el trmino URI. Los URL son un subconjunto de
los URIs que incluyen el mtodo primario para alcanzar el recurso, por ejemplo un
identificador de la red en la que se encuentra localizado fsicamente el recurso. Es
necesario aclarar que la especificacin dice claramente que aunque
histricamente se ha usado el trmino URN, ste trmino junto con URL es ms
restrictivo y por lo tanto se debe usar en su respectivo contexto y no confundir con
los URIs.

La sintaxis de un URI comienza por un nombre de esquema, que se refiere a una


especificacin para la asignacin de identificadores dentro del mismo, permitiendo
un sistema de nomenclatura federado y extendible dentro del cual cada esquema
permite la restriccin sintctica y semntica de cada identificador que l admite.
En otras palabras, el esquema es un identificador o nombre para un mtodo de
identificar los recursos a los que l va a relacionar o nombrar. Es evidente el papel
que los URIs juegan dentro del modelo de la Web Semntica, entendiendo sta
como un objetivo globalizado: el URI es una forma de identificar los objetos y
conceptos de manera uniforme y extendible.

Ejemplos de URIs son:


http://univirtual.utp.edu.co/
pgsql://usu:clave@TCP(localhost:5432)/bd
urn:ietf:rfc:3986

En stos ejemplos observamos la presencia de los nombres de esquema (http,


pgsql y urn) y despus de ellos los identificadores que se referencian (El sitio Web
de Univirtual, los parmetros de conexin a una base de datos y un documento de
especificacin tcnica de la IETF RFC3986).

56
4.1.5.3 XML, NS y XMLSchema
Por encima de esta base globalizada de Unicode y URIs, encontramos XML que
es un metalenguaje que nos permite definir estructuras de datos personalizadas,
en especial estructuras para documentos y datos con nuestros propios propsitos
y sintaxis, as como incorporar mecanismos de validacin automatizada a travs
de DTDs (Document Type Definitions Definicin de tipo de Documento) o
XMLSchema.

Un documento XML que contenga un repositorio de recetas puede tener una


estructura como la siguiente:

<?xml version="1.0" encoding="UTF-8"?>


<coleccin>
<descripcin>
Recetas para un tutorial de XML
</descripcin>
<receta>
<ttulo>Pasta de pelo de Angel de Ajo con Filete Parmesano</ttulo>
<ingrediente nombre="Filete de Carne de Vaca" cantidad="1.5"
unidad="libras"/>
...
<preparacin>
<paso>
Precalentar el horno a 350 Grados Farenheit(175 C).
</paso>
...
</preparacin>
<comentario>
Prepare la carne con antelacin y refrigere en la noche, el cido
de la salsa de tomate ...
</comentario>
<nutricin caloras="1167" grasa="23" carbohidratos="45"
protenas="32"/>
</receta>
<receta>
...
</receta>
...
</coleccin>

En el que vemos claramente que cada elemento constitutivo de una receta (al
menos para el autor de este documento) est sealado dentro de una etiqueta de
la forma <nombre> Contenido </nombre> o <nombre parametro='' /> y en
especial obsrvese el uso de tildes con toda libertad, dado que la codificacin por
defecto es UNICODE. Este es slo un ejemplo ilustrativo que puede ser validado
solamente respecto a la sintaxis del XML pero no de la estructura de la receta

57
como documento pero nos da una idea de la claridad que puede tener un
documento de este tipo.

XML no representa una forma de expresar la semntica de los documentos, pero


permite dos cosas importantes en el modelo de Web Semntica: la
autodescripcin y la independencia de la estructura del documento respecto a la
presentacin final del mismo, que ha sido un gran problema en la Web (y uno de
los principales objetos de desarrollo y estudio en la representacin del
conocimiento en este contexto). La presentacin unificada de documentos en
formatos XML sera un avance debido a la capacidad de stos de proveer su
descripcin y sus mecanismos de validacin estndar, as como una sintaxis
mnima unificada, junto con el uso de espacios de nombres (NS: Name Spaces)
para separar la forma en que se presenta la informacin contenida y una serie de
aplicaciones derivadas de XML mismo que mejoran las capacidades de
representacin del lenguaje. Lo anterior permitira a los agentes validar sin mucho
esfuerzo si un documento est bien formado, es decir, si su estructura es
consistente con su propsito debido a su capacidad de autodescribirse y presentar
mtodos automticos de validacin (incluso con validadores implementados en
hardware embebidos en los dispositivos) antes de empezar a procesar el
contenido mismo. Otra cualidad de XML es que la informacin de un documento
en ste formato puede ser presentada finalmente en cualquier formato necesario
ya que el documento tiene exclusivamente los datos y la estructura de los mismos
independientemente de la manera de mostrarlos o presentarlos, por ejemplo, a
partir del mismo documento XML (cuya estructura ya haya sido validada) un
agente puede generar una pgina HTML (o XHTML) y as mismo, ste agente o
programa puede usar el mismo documento para generar un PDF o un documento
en formato de Procesador de texto (Como Open Office de Sun Microsystems o MS
Word).

Eduardo Peis Redondo, Yusef Hassan, Enrique Herrera y Juan Carlos Herrera , de
la Universidad de Granada escriben al respecto:

Una migracin progresiva de HTML a lenguajes de etiquetado XML


supondra un gran avance [...] para que la Web pase a ser de un
espacio hiperdocumental a un espacio hiperconceptual 27

XML Schema es un mtodo de validacin de la estructura y la sintaxis de un


documento XML, es decir, XMLSchema permite especificar qu parmetros puede
tener una etiqueta y de qu tipos, as como los contenidos de cierto elemento y el
orden de anidamiento o secuencia que conforman un documento bien escrito. XML

27PEIS REDONDO, Eduardo; HASSAN MONTERO, Yusef; Ontologas, metadatos y


agentes: recuperacin semntica de la informacin.

58
a travs de una referencia comunica su documento de validacin (que puede ser
un DTD o un XMLSchema) y con eso es posible saber de manera automtica si el
documento es consistente o invlido por su estructura, por ejemplo que un
elemento que no puede ser vaco lo est, o que un elemento que se supone que
debe tener nmeros contiene letras o mejor an que un elemento est anidado en
otro que no puede tener subelemementos. Estas capacidades permiten la creacin
de estructuras de datos adecuadas a nuestras necesidades y la validacin
centralizada de las mismas.

4.1.5.4 RDF y RDFSchema


RDF (Resource Description Framework) es un marco de trabajo para la
representacin de informacin en Internet (diferente de XML que especifica son
estructuras de datos y los datos mismos). Tiene una sintaxis abstracta que refleja
un modelo de datos simple basado en grafos dirigidos y una semntica formal con
una nocin rigurosamente definida de consecuenciacin (entailment) permtiendo
una base para deducciones automticas bien fundadas con base en datos RDF.

El desarrollo de RDF ha sido motivado por las siguientes necesidades: metadatos


Web (informacin acerca de las caractersticas de cierta informacin o ciertos
datos que no son parte de la informacin misma -clasificacin de contenidos,
preferencias personales, descripcin de capacidades-), aplicaciones de modelos
de datos abiertos (descripcin de capacidades, descripcin de procesos
organizacionales, anotacin de recursos Web), hacer posible el uso de
informacin procesable por mquinas en contextos diferentes a aquellos en los
cuales fue creada de manera que lo haga a la escala de Internet as como
actualmente lo hace el hipertexto, cooperacin entre aplicaciones, procesamiento
automtico de informacin Web por agentes de software, de esta manera RDF
provee una lengua franca para estas aplicaciones. Como metas RDF busca:

Tener un modelo de datos simple.


Tener una semntica formal e inferencia demostrable.
Usar un vocabulario extensivo basado en URIs
Usar una sintaxis basada en XML
Soportar el uso de tipos de datos XMLSchema.
Permitir a cualquier persona hacer afirmaciones sobre cualquier recurso.

Un documento RDF es un conjunto de tripletas ordenadas compuestas cada una


por un sujeto, un predicado o propiedad y un objeto como indica el grafo dirigido
de la siguiente figura.

59
Figura 4 Grafo dirigido

Una tripleta de stas representa una relacin entre el sujeto y el objeto


considerados nodos, teniendo en cuenta que el predicado o propiedad siempre se
aplica sobre el objeto. En este sentido una tripleta representa una relacin entre el
sujeto y el objeto y un documento RDF se puede considerar como una conjuncin
lgica de las aserciones o afirmaciones contenidas en el mismo, es decir, que lo
que afirma un documento RDF es el conjunto de las afirmaciones que hace cada
tripleta unidas por una 'y' lgica, por ejemplo, si una tripleta dice
(Carro,tiene,llantas) y la otra dice (yo,tengo,llantas) el documento que contiene
estas afirmaciones dice que el carro tiene llantas y que yo tengo llantas, no nos
podemos dejar engaar por el ejemplo: en ninguna parte del documento citado se
dice que la relacin tener llantas implica ser un carro, este tipo de restricciones se
especifican aparte del documento RDF en un documento RDFS. RDF explota la
uniformidad de los URIs usndolos como identificadores de cualquiera de las
partes de la tripleta, es decir, cualquier parte de la tripleta puede ser un URI por
ejemplo un nodo puede ser un URI identificando el sujeto, el objeto o la propiedad
o relacin que ellos sostienen. Finalmente la sintaxis abstracta de RDF permite
tambin que una tripleta RDF sea un nodo de otra tripleta, es decir, que una
afirmacin sostenga una relacin con otra afirmacin.

RDF no usa tipos de datos directamente, el nico tipo de dato directo definido por
RDF es XMLLiteral que es usado para incrustar expresiones XML dentro de un
documento RDF. Para la definicin de tipos de datos se referencia a sus tipos
externamente identificados por URIs. Se espera que los tipos de datos definidos
en XML Schema sean ampliamente usados para este propsito. RDF no provee
mtodos para la definicin de nuevos tipos de datos, pero el uso de tipos de datos
XML Schema provee un marco de trabajo adecuado para su uso en RDF.

Finalmente, las ideas sobre significado e inferencia en RDF estn soportadas


sobre el concepto formal de consecuenciacin (entailment) 28, que dicho en

28 Www Consortium. RDF semantics, 2004. http://www.w3.org/TR/2004/REC-rdf-mt-


20040210/#rdf_entail

60
trminos simples significa que dada cierta expresin RDF A esta implica B si todas
las posibles combinaciones de cosas en el mundo que hacen A verdadera tambin
hacen B verdadera. Es decir, que si se puede asumir o demostrar la veracidad de
A, entonces se puede inferir la veracidad de B. RDF sin embargo proporciona una
base simplemente descriptiva29, es decir, no es una base aceptable para las
necesidades de operacin de la Web semntica, debido a que no permite declarar
axiomas y su capacidad de expresin slo permite inferencia sobre la herencia de
propiedades, adems de que la propiedad de reificacin en virtud de la cual una
asercin puede ser parte de otra asercin hace difcil el razonamiento inferencial 30.

El lenguaje de descripcin de vocabulario de RDF se llama RDF Schema y es una


extensin semntica de RDF. Provee de mecanismos para la descripcin de
grupos de recursos relacionados y las relaciones entre estos grupos, es decir,
RDF Schema ejerce un control semntico sobre los documentos RDF, por
ejemplo, retomando la idea de las tripletas RDF -sujeto, predicado, objeto- RDF
Schema valida que en una afirmacin donde el sujeto es carn de conducir y el
predicado es nombre, el objeto debera ser el nombre de una persona y no el
modelo de un automvil.

El sistema de clases y propiedades de RDF Schema es similar en muchas cosas a


los sistemas orientados a objetos, pero con una diferencia fundamental: RDF
Schema no define las propiedades partiendo de los objetos, es decir, definiendo
los objetos y las propiedades que pueden tener sus instancias sino que define las
propiedades desde el punto de vista de los conjuntos de objetos que las pueden
incluir, o sea, definiendo las propiedades en trminos de las clases de recursos a
las cuales se pueden aplicar. Por ejemplo, en RDF Schema se podra definir la
propiedad eg:Autor como una propiedad cuyo dominio es eg:Documento y cuyo
rango es eg:Persona, mientras que en lenguajes orientados a objetos se definira
una clase eg:Libro con un atributo eg:Autor de tipo eg:Persona. Usando el estilo
RDF es fcil para otros definir propiedades adicionales cuyo dominio sea
eg:Documento y cuyo rango sea eg:Persona, sin necesidad de reescribir la
descripcin original de estas clases. Uno de los beneficios de este mtodo
centrado en las propiedades es que permite a cualquiera extender la descripcin
de recursos existentes, uno de los principios fundamentales de la arquitectura
abierta de la Web.

RDF Schema proporciona mecanismos para validar clases de recursos, objetos,

29 Www Consortium. Resource Description Framework (RDF): Concepts and abstract syntax,

2004. http://www.w3.org/TR/rdf-concepts/

30 PEIS REDONDO, Eduardo, Op. cit.

61
propiedades definidos en RDF por medio de relaciones entre las propiedades y los
objetos y restricciones de dominio y rango sobre las mismas 31. Los documentos
RDF suelen ser denominados (o contener la informacin) de las instancias y los
documentos RDFS suelen ser denominados ( o contener la informacin) de las
clases y sus relaciones.

4.1.5.5 Vocabularios y ontologas


Las Ontologas han sido usadas como modelo de representacin de conocimiento
en Inteligencia Artificial. Segn la definicin ofrecida por Gruber (1993) y
posteriormente extendida por Studer, Benjamins y Fensel (1998) 32 una Ontologa
es

una especificacin explcita y formal de una conceptualizacin

Ms concretamente una ontologa es un intento de formular un esquema


conceptual sobre un dominio de conocimiento de una manera rigurosa y
exhaustiva; es tpicamente una estructura jerrquica de entidades o conceptos y
sus relaciones, as como ciertas reglas de validacin o reglas lgicas en dicho
dominio como axiomas o reglas de inferencia. La interpretacin que nosotros
damos a las ontologas es una forma de restringir el alcance de algn dominio de
conocimiento declarando sus trminos y restricciones semnticas, y a su vez
limitar la lgica aplicable a dicho dominio.

Las ontologas se pueden clasificar segn su especializacin o alcance, es decir,


hay algunas de ellas llamadas Ontologas Base o Fundamentales (Foundation
Ontologies) y otras llamadas ontologas de dominio. Las primeras tienen la
intencin de servir de base y permitir el uso en entornos ms generalizados y de
uso comn, existen autores que opinan que debido al valor comercial de estas
ontologas en un futuro va a existir una competencia por cules son las ms
usadas o las ms populares, de hecho no es difcil esperar que nunca existan
ontologas fundamentales unificadas, as como no hay ideas filosficas o polticas
unificadas, sin embargo existen organizaciones intentando definir estndares para
dominios especficos, por ejemplo el PSL -Process Specification Language- creado
por la NIST -National Institute for Standards and Technology- para la definicin de
procesos de manufactura industriales en la cual participan entidades como ISO TC

31 Www consortium. RDF Vocabulary Description Language 1.0: RDF Schema, 2004.

http://www.w3.org/TR/rdf-schema/
32 BENJAMINS, V. Richards; FENSEL, Dieter; GMEZ PREZ, Asuncin, Knowledge
Management through Ontologies, 1998.

62
184, divisin de la ISO para automatizacin e integracin de procesos industriales.
ste lenguaje est compuesto por un lxico, una ontologa y una gramtica 33.

Ya existen muchas propuestas de ontologas fundamentales como OpenCyc y


ResearchCyc34 basadas en un sistema propietario con su propio lenguaje de
ontologas basado en clculo de predicados de primer orden con extensiones para
orden superior, desarrollado desde 1985. Otra propuesta es WordNet, diseada
como red semntica y basada en principios psicolingusticos. sta ltima ha sido
ampliamente usada en investigacin de procesamiento de lenguaje natural a pesar
de no estar axiomatizada todava. Otras propuestas son SUMO (Suggested Upper
Merged Ontology) de la IEEE y General Formal Ontology. Es importante anotar
que en una presentacin de Tim Berners-Lee en el BioIT World 2005 35
recomienda que el camino a seguir es componer ontologas especializadas antes
de las ontologas generales o de uso comn y siempre acogerse a las propuestas
existentes tanto como se pueda antes de crear ontologas propias.

SHOE -Simple HTML Ontology Extensions-, diseado antes de que se acuara el


trmino "Web Semntica", fue el primer lenguaje de etiquetado para definir
ontologas desarrollado para su uso en la Web. Carece de negacin y de
disyunciones pero permite definir reglas de inferencia en forma de clusulas de
Horn.

OIL -Ontology Inference Layer- trabajo derivado de Shoe y primero basado en


estndares de la W3C desarrollado a partir de RDFS a manera de extensin. OIL
hereda su representacin del conocimiento de la lgica descriptiva (basada en
axiomas) y de los sistemas basados en marcos (taxonoma de clases y atributos).

DAML -DARPA's Agent Markup Language-, es el proyecto de lenguaje de


ontologas del Departamento de Defensa de los Estados Unidos. Este equipo de
trabajo uni luego esfuerzos con el grupo desarrollador de OIL para crear
DAML+OIL que, basado en OIL, corrige algunos de sus defectos y fortalece las
capacidades de lgica descriptiva del mismo. ste ltimo ha gozado de gran
popularidad pero parece que su complejidad conceptual lo hace difcil de usar en
proyectos simples.

33 ISO. ISOTC 184, ISO/CD 18629-1. Industrial automation system and integration -- Process
specification language Part 1: Overview and basic principles.
34 Wikipedia. Ontology (computer Science) http://en.wikipedia.org/wiki/Ontology_
%28computer_science%29
35 W3c. Semantic web concepts, 2005. http://www.w3.org/2005/Talks/0517-boit-tbl/

63
OWL -Web Ontology Language- es la propuesta del W3C que finalmente se
convierte en recomendacin del mismo organismo. OWL est basado en
DAML+OIL y tiene dos sintaxis: una para humanos y otra para mquinas.
Evidentemente el propsito de OWL es la rpida adopcin del mismo, al punto
incluso de que la versin original de OWL incluye una versin ligera (OWL Lite) de
capacidades reducidas concentradas en las opciones ms comnmente usadas
en DAML+OIL y OWL36.

4.1.5.6 Lgica y pruebas


La arquitectura de la Web Semntica concebida por Tim Berners-Lee, est
diseada con el concepto de capas de funcionalidad estricta y acumulativa como
su fundamento. Las primeras capas del modelo propuesto se han venido
consolidando y madurando como hemos visto durante los ltimos lustros, hemos
visto hasta ahora evolucin de tecnologas anteriores como ASCII y otros formatos
de codificacin que pasaron a Unicode para ofrecer una base universal de
codificacin, HTML y SGML que evolucionaron en XML y sus derivados para
ofrecer una base sintctica unificada. Los URI que estuvieron desde el comienzo
de la Web como concepto base pero que retoma protagonismo como elemento
fundamental en la nueva arquitectura semntica para permitir que Internet
comprenda objetos reales y conceptos. Estas tecnologas se han incorporado a la
Web Semntica como elementos con algn grado de madurez y desarrollo, si bien
no sin algunas crticas, que los han dejado en un estado de uso ms o menos
estable.

Es probable que Tim Berners-Lee y todos (o muchos) de los adeptos a la Web


Semntica consideren suficiente, para el corto plazo, que las mquinas tengan
cierto conocimiento sobre el significado de los datos que manipulan y puedan
intercambiar dicha informacin con base en su semntica. stos objetivos son
alcanzables con las primeras capas del modelo (Codificacin, Sintaxis, Referencia
y Descripcin ofrecidos por Unicode, XML+NameSpaces+XML Schema, URIs y
RDF+RDF Schema) pero la lgica, como la misma historia lo ha demostrado, es
un asunto diferente.

Dentro del concepto de diseo en capas est la complejidad y abstraccin


incremental y la modularidad de los elementos. Las reglas, la lgica y las pruebas
constituyen capas independientes en el modelo y por lo tanto hasta el momento
slo se pueden definir ciertas caractersticas de cada una de las capas, como qu
se espera de cada una y de sus funciones especficas.

36 PEIS, Eduardo, Op. cit.

64
Las ontologas, como herramienta para describir dominios y restringir un poco la
base lgica de ellos proporciona el fundamento sobre el que se erigirn las reglas
o la capa de reglas. Las ontologas, como esquemas ms poderosos que RDF,
permiten la inferencia y el chequeo de la consistencia de la informacin o de una
aplicacin dentro de ese dominio y establecer una red de significados a travs de
la conversin y referenciacin cruzada entre vocabularios (metas originales de las
ontologas)37. Partiendo de esa base es necesario aadir variables a la sintaxis
RDF y lenguajes de reglas de propsito general que permitan preguntar y filtrar la
informacin, lenguajes que sean similares a SQL y que permitan formas de
demostracin o pruebas ( proof ) sin necesidad de una capa lgica completa 38. En
este escenario, es esencial contar con reglas monotnicas y reglas no
monotnicas para los mundos cerrados (ver glosario). El estado de sta parte del
modelo de Web Semntica es una abundancia en sistemas de reglas aunque con
presencia de algunos formatos comunes como RuleML 39.

Finalmente, en una pequea disertacin 40 sobre lo que es la Web Semntica y lo


que no es respecto al camino por recorrer, Tim Berners-Lee deja muy en claro que
la intencin de sta no es constituir un motor de inferencia, es decir, no se
necesita que la Web Semntica incluya generacin de demostraciones, sino
simplemente validacin de stas, es decir, que las aplicaciones de Web Semntica
sean capaces de validar que cierta prueba ofrecida sea correcta con base en la
informacin proporcionada y la identificacin de la fuente 41. Tim Berners-Lee dice
ms especficamente, que el clculo de predicados le parece peligroso para los
fines de la Web Semntica, debido a la idea de mundos cerrados y al absolutismo
que suele involucrar, que no se corresponde con el conocimiento globalizado, es
decir, que la Web Semntica debe tolerar la inconsistencia pero validar la
confianza en la fuente que emite pruebas de sus afirmaciones o la informacin y
poder validar dichas pruebas. En sta discusin, TBL establece que si la decisin
se basa en capacidad de expresin contra computabilidad l elige capacidad de
expresin que es lo que proporciona la lgica de Orden Superior y que por lo
mismo no espera que el diseo de la Web semntica incluya capacidades de
inferencia en Lgica de Orden superior. Para lo anterior l sugiere que la lgica de
37 W3c. Ontology layer goals and status, 2003. http://www.w3.org/2003/Talks/01-sweb-

tbl/slide20-3.html
38 W3c. Rules layer technology, 2003. http://www.w3.org/2003/Talks/01-sweb-tbl/slide21-3.html

39 RuleML home page. The Rule Markup Iniciative, 2006. http://www.ruleml.org/

40 W3c. Web design issues, what a semantic can represent, 1998.


http://www.w3.org/DesignIssues/RDFnot.html
41 Ibid.

65
orden superior sera suficiente para expresar (no necesariamente para inferir pero
por lo menos para validar) cualquier hecho, datos y resultados escritos en SHOE y
a su vez, que cualquier prueba expresada en SHOE sea verificada por cualquier
dispositivo o aplicacin conforme a la Web Semntica.

Una de las ms importantes observaciones que hace TBL es que las herramientas
de representacin del conocimiento ya tienen un tiempo de desarrollo y han fallado
en la intencin de volverse herramientas de uso amplio y generalizado. La razn
subyacente a este hecho es que dichos sistemas estn conceptualmente o
fsicamente centralizados (como estaban los sistemas de hipertexto antes de la
Web), ellos exigan consistencia global, contrario a la Web Semntica que exige
una especie de consistencia local con una base de prueba lgica global.

Principios de la Web Semntica:


Todo es identificable por URIs.
Los vocabularios pueden ser mezclados y reemplazados con el tiempo.
Los documentos se autodescriben.
Cualquiera puede decir cualquier cosa de cualquiera.
Ningn sistema conoce todo.
Los diseos deben ser minimalistas.

Actualmente existe un lenguaje llamado Notacin 3 (Notation 3) o N3 que es una


extensin de RDF para optimizar la expresividad de datos y reglas en el mismo
lenguaje, facilitar su escritura, integrar suavemente reglas dentro de RDF y
permitir citacin o sea hacer declaraciones de declaraciones. Para lograr estas
metas N3 usa abreviacin de URIs por medio de prefijos similares a los de XML,
repeticin del mismo objeto para los mismos sujetos y predicados por medio de
coma ( , ), repeticin del mismo predicado para el mismo sujeto por medio de
punto y coma ( ; ), las variables y la cuantificacin permiten la expresin de
reglas y la gramtica es simple y consistente42.

4.1.5.7 Confianza: autenticacin y encriptacin


Una finalidad paralela a la semntica es la confianza. Algunos autores definen la
confianza como la seguridad que se tenga sobre algo o alguien cuando se
enfrenta la incertidumbre. La Web Semntica busca crear redes de confianza
entre los usuarios de Internet y hacer que la conjugacin entre semntica y
confianza permita a los computadores tomar decisiones ms o menos inteligentes
o acordes a los gustos y expectativas del usuario y de una manera similar a como

42 W3c. Notation 3 (N3) A readable RDF syntax, 2006. http://www.w3.org/DesignIssues/Notation3

66
lo hacen los seres humanos. En ste marco, las redes de confianza estn
compuestas por dos problemas: autenticar y encriptar, relacionadas con la
autenticidad y la integridad de la informacin respectivamente, dentro de un
ambiente ms o menos incierto.

El problema de la autenticacin proviene del hecho de que el entorno Web es


eminentemente abierto, es decir, cualquiera puede publicar cualquier cosa. Lo
primero es verificar que el autor de la informacin que se est observando o
manipulando, proviene de la persona u organizacin que reclama haberla
proporcionado, sin embargo, el slo hecho de verificar que el autor s es el
correcto no es suficiente: es necesario establecer relaciones de confianza con
esos autores, es decir, calificar qu tan adecuado son los contenidos que dicho
autor genera sin entrar en validaciones lgicas absolutistas, que no son
compatibles con la naturaleza heterognea de la Web. En vez de entrar en stas
validaciones absolutistas, la Web Semntica propone que los usuarios se
califiquen mutuamente y as empezar a establecer un prestigio, que no
necesariamente tiene que ser global sino local a las relaciones establecidas entre
los individuos y las comunidades, y a travs de ste prestigio una confianza mutua
sobre sus contenidos.

El problema de la integridad, proviene del trnsito de la informacin por el medio.


Es decir, el posible cambio que pueden sufrir los documentos entre el momento en
que son solicitados y en el que son recibidos. ste problema se ha intentado
solucionar con cierto grado de xito a travs de infraestructura de clave pblica o
PKI, en la cual la clave pblica no slo sirve para autenticar el autor sino para
garantizar que el documento no se ha alterado en el camino a su destinatario. En
stos sistemas la encriptacin es dependiente del autor que la origin por lo que
cumple con el objetivo de autenticar y encriptar.

Dado que la Web Semntica intenta dar a las mquinas ms conocimiento sobre
la informacin, la autenticacin, la integridad y en ltima instancia la confianza se
basa en un modelo ms inteligente. La idea es que las relaciones de confianza se
establezcan con base en pruebas de autenticidad, es decir, que la autenticacin
no slo proviene de la identificacin por medio de llaves o claves sino de pruebas
lgicas que solamente el autor pueda proporcionar o que se puedan deducir del
contexto en el que se proporciona la informacin. Ac es donde entra en juego la
capacidad de la Web Semntica de soportar un nivel lgico fundamental: slo es
necesario poder validar una prueba de autenticidad, no generar pruebas lgicas o
demostraciones formales. La finalidad de la infraestructura semntica propuesta
es que los agentes o los programas puedan hacer inferencias sobre la informacin
(dado que la informacin contiene reglas y relaciones semnticas) y autenticar
mediante la validacin de pruebas de autenticidad de las afirmaciones o de la

67
informacin suministrada por cierta fuente 43.

4.1.6 Reconocimiento de lenguaje natural

La comunicacin no es una de las propiedades de los agentes inteligentes


reconocidas originalmente, ms bien fue una consecuencia de analizar ms
detalladamente las propiedades de los agentes y las necesidades que podran
tener para llevar a cabo sus tareas o metas ms eficientemente.

El acto de comunicacin implica transferencia de informacin y un marco


conceptual de trabajo en el cual se describan los significados de cierto intercambio
de informacin. Un acto comunicativo se define como

El intercambio de informacin que se lleva a cabo mediante emisin y


percepcin de signos pertenecientes a un sistema convencional de
stos
44
.

La comunicacin tiene varios usos entre agentes:


Intercambio de comunicacin.
Ordenar/Preguntar.
Establecer relaciones de confianza o vnculos sociales.

Nuestro proyecto se debe entender desde varias perspectivas: la comunicacin


entre agentes inteligentes artificiales (software/hardware) y la comunicacin entre
agentes inteligentes artificiales con agentes humanos. De acuerdo con la
definicin dada, para que entre ellos exista un acto comunicativo es necesario que
por lo menos se intercambien signos de un sistema convencional y no se trata de
la codificacin clsica, es decir, no hablamos de los signos contemplados en
ASCII, UTF o UNICODE, hablamos de los signos del lenguaje natural de los seres
humanos y en particular del idioma espaol como lenguaje natural y sus smbolos.

Un proceso comunicativo, es decir, intercambio de informacin a travs de


smbolos, se lleva a cabo en siete etapas: tres de ellas suceden en el emisor o
hablante y las cuatro restantes en el receptor u oyente:

43 PEIS, Eduardo, Op. cit.

44 RUSSEL, Stuart, Op. cit. p. 687

68
Intencin: Es el proceso de decidir que se necesita comunicar un mensaje. La
intencin implica el razonamiento de por qu es necesario y qu se quiere
comunicar en trminos de lo que el agente reconoce internamente como metas de
comunicacin.

Generacin: Es el proceso de elegir los smbolos adecuados para representar el


mensaje a comunicar. Este proceso desde el punto de vista de una base de
conocimiento es difcil, sin embargo, dado que la mayora de las veces una
comunicacin se basa en estructuras de razonamiento sin ambigedad este
proceso no resulta tan complicado, adems, parece que los humanos hemos
tenido ms inters en que las mquinas entiendan lo que nosotros decimos que en
que ellas nos comuniquen lo que ellas piensan.

Sntesis: La sntesis ocurre con el propsito de hacer ms fcil el entendimiento


del mensaje al oyente, por ejemplo, traducir las palabras a fonemas que sern
dictados a un transductor que las diga.

Percepcin: La percepcin trata de la traduccin de los mensajes en el medio de


comunicacin a los smbolos necesarios para su anlisis e incorporacin.

Anlisis: El anlisis es la interpretacin del mensaje como tal. El anlisis est


compuesto por dos elementos principales: anlisis sintctico y anlisis semntico.
En esta etapa sucede la incorporacin o aceptacin final del mensaje en caso de
que se decida creerlo. Algunos autores denominan esta ltima parte la fase
pragmtica.

Estos son los procesos necesarios para que se establezca comunicacin entre
dos agentes segn Russel y Norvig45. En ciertos ambientes alguno o varios de
estos procesos pueden ser triviales o hacer parte de un sistema externo que las
hace por nosotros. Las tareas que nos ocupan a nosotros principalmente son las
de anlisis.

El anlisis como ya se dijo est compuesto a grosso modo por dos etapas: anlisis
sintctico o gramatical y anlisis semntico. El anlisis gramatical tiene que ver
con el agrupamiento de los smbolos en palabras y frases vlidas dentro del
lenguaje en cuestin -palabras conocidas y estructuras de frases correctas. El
anlisis gramatical de una frase es un proceso por medio del cual la frase se
descompone en elementos reconocibles por el sistema en cuestin y una
estructura por medio de la cual se establecen relaciones entre cada uno de estos
elementos. Por ejemplo: en la frase Ana hace su trabajo, el resultado sera una
45 RUSSEL, Stuart, Op. cit. p. 692

69
estructura de datos en la cual la frase completa se califica como una frase de tipo
verbal compuesta por un sujeto, un verbo y un complemento cada uno de ellos
almacenado en una variable que lo identifica y clasifica como tal. El anlisis
semntico es la interpretacin de stas estructuras derivadas del anlisis
gramatical o sintctico para corresponder las intenciones o significados de esa
comunicacin con el conocimiento en la representacin del oyente, usando el
mismo ejemplo el sistema identificara lo que significa trabajar, hacer y que
Ana es una persona (que incluso podra ser identificada en un sistema
restringido pero an as de mucha sofisticacin).

Aunque el anlisis gramatical no es trivial, es un proceso del que se conocen


varias tcnicas con aceptable efectividad, es el anlisis semntico donde no hay
resultados aceptables y problemas muy grandes. Es claro que una caracterstica
presente en muchas estructuras de lenguajes (en especial los lenguajes naturales)
es la ambigedad o posible interpretacin mltiple de la misma frase o sentencia,
dependiendo del contexto, del ambiente, de la situacin, etc.. El anlisis semntico
es un proceso de razonamiento incierto, es decir, de probabilidades. El anlisis
gramatical ofrece una estructura con posibles interpretaciones y desambiguarlas
significa escoger la mejor interpretacin para esa estructura.

Para que tenga sentido un acto comunicativo es necesario que los agentes
entiendan el mismo lenguaje (por lo menos para el acto comunicativo, es decir, no
tiene nada que ver con cmo cada agente representa internamente su
conocimiento), compartan el mismo contexto sobre el que se hace la
comunicacin y sean por lo menos parcialmente racionales.

Una gramtica es un conjunto de reglas que permiten saber qu conjunto de


palabras o smbolos se corresponden con una estructura definida de un lenguaje,
por ejemplo qu combinaciones de palabras pueden componer una frase en algn
idioma. La semntica intenta saber qu significado tienen los smbolos que arroja
un anlisis gramatical, por ejemplo en la expresin matemtica X=PI*3.5*3.5, la
sintaxis indica que la expresin es una igualdad bien escrita (no tiene un doble
igual y el orden entre operandos y operadores es correcto, etc.) entre el smbolo X
y la expresin de multiplicacin PI*3.5*3.5, pero la semntica o significado sera
evaluar la expresin para saber cunto da su clculo, es decir, qu valor tiene X
(38.4845 aproximadamente si sabemos que PI significa 3,141592). Una expresin
en algn idioma puede significar cierta informacin a causa de la cual ya no habra
razn para emprender una accin o, al contrario, una orden para emprender o
ejecutar la accin.

El anlisis gramatical es un proceso complejo donde los algoritmos casi siempre


hacen cosas que luego deben repetir, tanto es as que un anlisis gramatical
eficiente se considera el que cumple con la siguientes reglas, que parecen triviales

70
pero la experiencia con algoritmos demuestra que no lo son:

No hace dos veces lo que ya se ha hecho


No haga lo que no es necesario
No represente diferencias innecesarias.

Otros problemas fundamentales relacionados con el anlisis gramatical estn en la


ampliacin del diccionario y correccin de errores, es decir, cmo se interpreta una
palabra desconocida, estructuras poco comunes o desconocidas del lenguaje y
qu se debe hacer con ellas: cundo adicionarlas al diccionario o repositorio de
frases vlidas o cundo marcarlas como un error gramatical 46.

Los problemas del anlisis semntico no slo tienen que ver con la
desambiguacin ya mencionada, otro problema de ste tema es la incorporacin,
que es definir si una vez que se sabe qu es lo que el hablante quiere expresar se
puede confiar en ese mensaje como para creerlo o no, es decir, incorporarlo a
nuestra base de conocimiento -esto tambin tiene mucho que ver con el concepto
de confianza-. El tratamiento de la ambigedad extrae informacin de evidencia
sintctica, lxica y semntica que tienen que ver con el uso de palabras que
modifican significados, la frecuencia de uso de una palabra en un contexto y del
contexto mismo de una frase respectivamente. Ahora que, para poder hablar
realmente de procesamiento de lenguaje natural, hay que ser capaces de
comprender el discurso, es decir, determinar qu significa un acumulado de frases
como tal, meta que sigue un poco evasiva.

El reconocimiento de lenguaje natural es llamado comnmente PLN


(Procesamiento de Lenguaje Natural o NLP por sus siglas en ingls) y ha sido uno
de los campos ms interesantes y donde ms investigacin se ha realizado dentro
de las disciplinas de la Ingeniera de Sistemas y Computacin, entre otras cosas
por la inevitable conexin de la programacin con los lenguajes, pero esta
inversin no se ha correspondido con los resultados. Actualmente, el campo del
PLN se aplica exitosamente a slo algunos problemas debido a muchas razones,
entre otras, a la aparicin de mtodos alternativos muy cmodos para permitir la
interaccin con los usuarios. Un ejemplo de estos mtodos son los formularios
Web, es razonable pensar que nadie (o muy pocas personas) preferiran escribir
quiero saber el precio de un vino Merlot chileno en una caja de texto y click en
enviar, que dar click en algunas opciones paramtricas de un formulario y el botn
de enviar la consulta para recibir una respuesta que probablemente sea ms
precisa usando ste mtodo del formulario que el resultado del anlisis del texto
en la caja de texto 47.

46 RUSSEL, Stuart, Op. cit. p. 735

71
Es probable que el hecho de que estas opciones hayan aparecido inicialmente se
haya debido a la poca efectividad de las tcnicas de PLN. Ejemplos donde el
procesamiento de lenguaje natural ha sido implementado de manera satisfactoria
son traduccin automatizada en dominios restringidos, acceso a bases de datos
de (manera muy limitada) y la interpretacin de textos para recuperacin de
informacin, categorizacin y obtencin de datos 48. Para los objetivos de este
proyecto, las tcnicas pertinentes estn en la recuperacin de informacin y
categorizacin de textos debido a la necesidad de obtener una representacin de
textos escritos y sacar definiciones de sus contenidos. Estos dos procesos deben
estar encaminados a corresponder un contenido con una declaracin o una
descripcin ontolgica, es decir, que la estructura de datos que se derive de ellos
quede almacenada en un formato compatible con la Web Semntica.

Un concepto frecuente orientado hacia la posibilidad de interpretacin o


clasificacin de documentos, en especial en el mbito cientfico, es la anotacin de
documentos, que consiste en hacer descripciones breves de los documentos o
incorporar metadatos dentro del formato del documento con el fin de que ste sea
fcilmente clasificado por las mquinas. Existen innumerables pginas Web que
hablan de un proyecto de middleware unificado para anotacin cientfica
desarrollado con la ayuda del departamento de energa de los Estados Unidos
(DOE -Departament of Energy) 49, que busca unificar la infraestructura de
metadatos (suena conocido?), ofrecer servicios de anotacin cientfica, minimizar
las barreras de integracin entre sistemas de anotacin cientfica y hacer
seguimiento a las relaciones semnticas de las anotaciones en objetos de datos.
Esta idea est fuertemente ligada al procesamiento de lenguaje natural, debido a
que un documento puede ser muy bien anotado si se hace un anlisis sintctico,
morfolgico y semntico de su contenido y se traduce en una estructura de
documento que incluya esta informacin.

Los trminos en que se habla de procesamiento de lenguaje natural son anlisis


morfolgico, etiquetado de parte de la oracin (Part Of Speech Tagging o POS
Tagging por sus siglas en ingls), identificacin de partes o particionamiento
(Chunking en ingls), anlisis de dependencia estructural y etiquetado semntico.

47 DINI, Lucas. NLP Technologies and the Semantic Web: Risks, Opportunities and Challenges,
2003.
48 RUSSEL, Stuart, Op. cit. p. 731

49 DOE National Collaboratories. Scientific Annotation Middleware, 2004.


http://www.doecollaboratory.org/research2/sam/homepage.html

72
4.1.6.1 Anlisis morfolgico
sta etapa del anlisis se refiere a los procesos derivativos, inflexionales y
composicionales en la formacin de palabras. Este es un paso fundamental en
muchos procesos y aplicaciones del PLN p. ej. recuperacin de informacin. Este
proceso obtiene la raz de una palabra y posibles opciones de marcado de partes
de la oracin (POS -part of speech) como si la palabra es un verbo, sustantivo,
adjetivo, etc., propiedades de inflexin como gnero (masculino, femenino,
neutro), nmero (plural o singular), caso (nominativo, acusativo, etc.) y posible
anlisis composicional.

El anlisis morfolgico se basa en un lxico disponible para el lenguaje que se


est usando. Dado que las palabras tienen mucha ambigedad respecto a parte
de la oracin (POS) e inflexin, con frecuencia es necesario pasar por algunos
pasos de desambiguacin y esta desambiguacin morfolgica interacta con
etiquetado de POS as como particionamiento (Chunking).

4.1.6.2 Etiquetado parte de la oracin (POS -part of speech)


La identificacin de la correcta clase sintctica para una palabra dada en su
contexto es lo que en este proyecto llamamos etiquetado de parte de la oracin,
es decir, identificar las propiedades de significado de una palabra segn su lugar
en la frase u oracin, es decir, en su contexto. El etiquetado de parte de la oracin
identifica propiedades como la cualidad de verbo, sustantivo, nombre, etc. para
una palabra dada analizando su contexto, implica tareas de desambiguacin entre
mltiples etiquetas de parte de la oracin, como acertar en la etiqueta adecuada
para una palabra desconocida. Las herramientas de etiquetado de parte de la
oracin disponibles hoy en da se basan en reglas o en mtodos probabilsticos (o
estocsticos) para desambiguar y etiquetar palabras desconocidas.

Los mtodos de etiquetado basados en reglas usan patrones de contexto escritas


explcitamente por humanos para inferir el significado correcto de una palabra en
tales contextos. Una regla de estas dira por ejemplo, que si el anlisis morfolgico
indica que la palabra est compuesta por un verbo y un sufijo ando/endo debera
ser etiquetada como verbo para distinguir el papel que est jugando la palabra y
discriminarla de palabras similares como Hernando que teniendo terminacin
ando no juega el papel de verbo (valga la aclaracin que este ejemplo es slo
ilustrativo porque sta palabra podra interpretarse como verbo bajo algn
contexto). Los mtodos estocsticos usan la frecuencia o probabilidad de
encontrar un significado para una palabra dado cierto conjunto de entrenamiento.
Algoritmos ms avanzados usan la probabilidad de un n-grama (secuencia de n
etiquetas o significados), por ejemplo la probabilidad de que cierto significado

73
ocurra dados los n significados anteriores, un algoritmo que usa esta estrategia es
el algoritmo Viterbi, que es un algoritmo de bsqueda en anchura.

4.1.6.3 Particionamiento
El concepto de parte o pedazo ha sido introducido originalmente relacionado con
las estructuras de desempeo, que refleja una subdivisin intuitiva de frases como
son usadas por un hablante, pero cuya existencia ha sido descubierta y verificada
experimentalmente. Se define parte (chunk) como las partes no recursivas de las
frases ncleo, tales como frases nominales, frases preposicionales, frases
adjetivas, frases adverbiales y grupos de verbos. En palabras ms simples: es la
divisin de un prrafo o frase en partes ms pequeas con un significado
concreto.

Existen dos tcnicas complementarias de anlisis para el reconocimiento de


partes: conversin de partes (chunk parsing) y conversin parcial de partes (partial
parsing). Estas dos tcnicas involucran la extraccin de fragmentos de informacin
lingstica, la conversin de partes usa la informacin contextual cercana para
extraer informacin lingstica segura, mientras la conversin parcial se combina
con la primera a travs de reglas que definen cmo combinar los resultados
parciales en cascadas con el fin de asegurar ms precisin en el resultado.

Otro proceso importantsimo relacionado con el particionamiento es el


reconocimiento de entidades nombradas (named entities), es decir,
reconocimiento de palabras que son el nombre de instituciones, compaas,
expresiones de fechas, etc.. Este proceso est casi siempre acompaado de
listados de nombres (empresas, ciudades, personas, etc.) o diccionarios de
palabras especficas en combinacin con la definicin de patrones de expresiones
regulares.

4.2 MARCO DE ANTECEDENTES

Los antecedentes del presente proyecto incluyen elementos histricos y


descriptivos de Univirtual con el fin de mostrar la relativa poca edad de sta
divisin del Centro de Recursos Informticos y Educativos, as como los
antecedentes de las tecnologas que se consideraron con el fin de decidir la

74
recomendacin final y hacer una posible propuesta de implementacin.

4.2.1 Univirtual

4.2.1.1 Historia
La unidad virtual de la Universidad Tecnolgica de Pereira o Univirtual es una
dependencia dedicada a desarrollar y apoyar estrategias para la integracin de las
tecnologas de la informacin y las comunicaciones al desarrollo de las actividades
acadmicas de la Universidad.

La Unidad Virtual es una entidad de poco tiempo de vida, sta se constituy


oficialmente en el ao 2003 y viene desarrollando programas de diversa ndole
como soporte para los cursos que se dictan como parte del currculo de las
carreras establecidas, prestar herramientas para la evaluacin y la interaccin con
los estudiantes dentro de este mismo contexto de soporte a las actividades
clsicas de la Universidad y durante el 2004 y 2005 ha diseado los programas de
diplomado de maestro virtual y diplomado en arte latinoamericano que est en
proceso de despliegue ya como proyecto de operacin comercial. Gran parte del
trabajo que desarrolla Univirtual est publicado en Internet y sus contenidos son
accesibles a travs del URL http://univirtual.utp.edu.co, por medio del cual se
accede a material de acceso libre y a los contenidos de cursos a travs de una
autenticacin simple de nombre de usuario/contrasea.

La unidad virtual apenas est desarrollando sus estrategias y polticas de accin


frente a sus objetivos estratgicos y esta condicin nos da cierta flexibilidad para
proponer modelos y herramientas de soporte de los mismos. Esperamos pues,
con este proyecto de grado, usar la unidad virtual como base de ejemplos para
desarrollo de una plataforma de agentes inteligentes, metodologas y herramientas
de despliegue, implementacin e interaccin que su desarrollo sugiera y observar
con ello las posibles ventajas o inconvenientes que tal despliegue podra tener.

4.2.1.2 Estructura
La universidad tiene tres lneas de accin que denomina docencia, investigacin y
extensin, en correspondencia, la Unidad Virtual adopta las mismas lneas de
accin y adiciona la lnea de comunicacin para proveer los recursos necesarios

75
tanto humanos como fsicos y de infraestructura para cohesionar e integrar las
iniciativas que surjan de las otras lneas de accin.

Lnea de investigacin
Actualmente la lnea de investigacin se fortalece a partir de:
1. La experiencia y capacitacin del equipo de trabajo y el Comit Asesor.
2. Desarrollo del proyecto MAVA: Metodologa para la construccin de Ambientes
Virtuales como apoyo a la educacin presencial en la Universidad Tecnolgica
de Pereira
3. Proyecto: Diseo de instruccin en un entorno de aprendizaje abierto.
Aprobado por el Centro de Investigaciones y Extensin UTP.
4. Proyecto: Gestin y administracin de objetos de aprendizaje

Lnea acadmica
La lnea acadmica se subdivide a su vez en rea de capacitacin y rea de
soporte. El rea de capacitacin ofrece a administrativos, docentes y estudiantes,
desde una perspectiva instrumental y conceptual de la educacin bajo entornos
virtuales, en asocio con el CRIE y la Biblioteca, ofrece tambin programas de
educacin formal al interior y exterior de la universidad, en asocio con Facultades
y Escuelas y capacitacin o pasantas del equipo de trabajo de Univirtual en
temticas especficas de la educacin virtual.

El rea de soporte de la lnea acadmica se divide en soporte tcnico, pedaggico


y legal. El rea de soporte tcnico se corresponde con los consultorios tcnicos de
las aulas virtuales, ya que el apoyo tcnico con respecto a hardware y software,
incluyendo plataforma tecnolgica, se realiza a travs del CRIE (Centro de
Recursos Informticos y Educativos) y Divisin de Sistemas. El rea de soporte
pedaggico, partir de un modelo educativo de educacin a distancia soportada en
las TICs, ofrece soporte en lineamientos pedaggicos a travs de herramientas
interactivas basadas en comunidad y documentos y herramientas dispuestas por
Univirtual directamente como e-Publicar, Biblioteca, Imagoteca, Sitios de Inters,
Bibliografa e-learning y foros, entre otros. Finalmente, el rea de soporte legal
corresponde a la secretara general de la universidad respecto a derechos de
autor, con base en los Estatutos de Propiedad Intelectual en la UTP. Univirtual
implementa polticas internas para cualificar en caso de ser necesario y dar el aval
a cualquier tipo de formacin virtual, esta formacin abarca los cursos de
capacitacin ofrecido por las Vicerrectoras Acadmica y Administrativa basados
en la resolucin de Rectora numero 1700 de Junio 11 de 2004.

Lnea de comunicacin
La lnea de comunicacin tiene dos enfoques basados en la manera de interactuar
y el pblico objetivo: el enfoque comunitario y el individual. En el enfoque

76
comunitario las herramientas no se limitan a las TICs (Tecnologas de la
Informacin y las Comunicaciones), sino a herramientas comunitarias en medios
clsicos (folletos, pendones, emisora UTP, comunicaciones, boletines informativos,
separadores ) ms las ayudas electrnicas dispuestas por Univirtual y por la
Universidad para ello (Foros electrnicos, portal Web, noticias, chat, foros de
reflexin, pizarrones virtuales). El enfoque individual es a travs de los contenidos
y herramientas virtuales como tales (sitio Web , correo electrnico, preguntas
frecuentes, sensibilizacin personalizada a profesores, estudiantes, consejos de
facultad, salas de profesores, consejos acadmicos y superior).

Lnea de extensin
La lnea de extensin tiene proyectos de tipo acadmico (organizar y participar en
congresos virtuales, conferencias y ponencias) y proyectos de operacin
comercial, como ofrecer pregrados, especializaciones, diplomados y seminarios en
modalidad 100% virtual, Alianzas estratgicas con Instituciones de Educacin
Superior nacionales e internacionales e Integrar a la Universidad a redes de
conocimiento virtual a nivel regional, nacional e internacional.

4.2.1.3 Perspectivas
Hemos visto pues a travs de sta brevsima perspectiva de Univirtual (si bien
justificada en su incipiente desarrollo) cmo sta dependencia representa un
excelente marco de pruebas y ambiente de desarrollo de las tecnologas de
agentes inteligentes y de Web Semntica debido a su carcter educativo,
tecnolgico y su historia corta.

Vimos pues que Univirtual tiene dos perspectivas principales respecto a los
contenidos y herramientas que despliega: la responsabilidad de dar apoyo a los
programas presenciales a travs de la participacin de los estudiantes en cursos
virtuales y herramientas interactivas. Desde esta perspectiva Univirtual disea
contenidos para materias dentro de pnsumes establecidos e instala los medios
necesarios para que tales contenidos sean desplegados, evaluados y corregidos
antes, durante y despus del desarrollo de los cursos.

La otra perspectiva de Univirtual se encuentra en el marco de la extensin a travs


del diseo de programas propios o en asociacin con otras instituciones. Esta
perspectiva es diferente porque representa la oportunidad de disear un marco
pedaggico y contenidos aptos para el despliegue de las tecnologas inteligentes.

Y no hay que dejar de lado que Univirtual contempla dos escenarios


fundamentales que pueden servir de base para el diseo de casos de uso: sus
enfoques individuales y comunitarios, adems de las interacciones de profesores,

77
asesores y diseadores de contenidos con el sistema.

4.2.2 Plataformas de agentes inteligentes

Como ya hemos descrito, en esta etapa temprana del tema de los agentes
inteligentes, la eleccin de la plataforma va de la mano con la eleccin de la
metodologa de desarrollo por lo tanto vamos a empezar eligiendo la metodologa
a usar, describindola ms en detalle y eligiendo la plataforma como tal para
detallar sus capacidades.

Ya hemos mencionado durante todo este trabajo el estado inmaduro de las


tecnologas orientadas a agentes y sus contrapartes las metodologas. Hemos
encontrado un documento50 de comparacin de metodologas de desarrollo de
sistemas orientados a objetos con base en el cual haremos la eleccin de la que
vamos a proponer para el desarrollo de la plataforma de informacin de Univirtual.

La ingeniera de software orientada a agentes (AOSE por sus siglas en ingls),


tiene varios aspecto interesantes a considerar. El ms obvio de todos es el uso del
concepto de agente inteligente para crear aplicaciones ms efectivas que las
tradicionales basadas en algoritmos clsicos imperativos por medio de los cuales
se intenta proveer o escribir la inteligencia necesaria prevista para desarrollar las
funciones de la aplicacin. El agente inteligente, busca romper el lmite impuesto
por la previsin del diseador del software e intentar adaptarse a situaciones ms
amplias que las previstas originalmente, as como emprender acciones por l
mismo segn cierto criterio ms o menos autnomo en vez de esperar que
sucedan eventos concretos que disparen sus funcionalidades.

Sin embargo, como la historia de los paradigmas de programacin ha demostrado,


este nuevo paradigma busca facilitar el proceso de disear y ejecutar sistemas
ms complejos que los del paradigma anterior, a saber, programacin orientada a
objetos, si bien este nuevo esquema de ideas sigue fuertemente respaldado por
las capacidades del anterior y ha heredado muchas de sus caractersticas. La
evolucin de un paradigma de desarrollo de software pretende abordar problemas
que para los programadores de los paradigmas anteriores resultan muy complejos,
los agentes inteligentes ofrecen la capacidad de programar aplicaciones desde
una perspectiva de altsimo nivel, es decir, con un lenguaje y conceptos muy
similares a los que usamos para interactuar con otros seres humanos, casi como
50 HOA DAM, Khanh; WINIKOFF, Michael. School of Computer Science and Information
Technology, RMIT Melbourne, 2003.

78
si escribiramos planes para que algn subalterno o equipo de trabajo los lleve a
cabo pero sin juicios de valores, ni inconsistencia en el desempeo y con un
volumen de informacin por concepto mucho mayor del que acostumbramos
manejar en la programacin tradicional. En este sentido, la programacin
orientada a agentes representa una avance muy grande en la simplificacin de las
tareas de programacin con el slo hecho de hacer uso de los conceptos de alto
nivel como metas y planes, as como el fuerte respaldo que hace este paradigma
sobre la visin social de los programas y la adaptabilidad de los mismos. Desde
este punto de vista, la eleccin de la metodologa no es tan relevante como el
hecho de tener una perspectiva clara del uso de dicho paradigma, el cual por el
simple hecho de ser usado ya est mejorando las cosas.

4.2.2.1 Metodologas
Transcribimos las conclusiones de un trabajo publicado en Internet de la
universidad de Ciencias de la computacin y tecnologas de la informacin RMIT
de Melbourne Australia para dar una perspectiva del estado de madurez general
de las metodologas ms populares 51. En esta ponencia, los ponentes crean un
marco de trabajo para hacer comparacin entre metodologas de desarrollo
orientadas a agentes, basado en el siguiente conjunto de propiedades evaluadas
para dichas metodologas:

Presencia de los Conceptos y propiedades de la orientacin a agentes


inteligentes (proactividad, reactividad, autonoma, concurrencia,
cooperacin, protocolos, orientacin a agentes, conciencia de sitio).
Mtodos de modelamiento y notacin del modelo (modelamiento esttico y
dinmico, sintaxis definida, semntica definida, notacin clara, facilidad de
uso, facilidad de aprendizaje, vistas diferentes, Trazabilidad, chequeo de
consistencia, modularidad, reuso y modelamiento jerrquico).
Proceso (requerimientos, diseo arquitectnico, diseo detallado,
implementacin, pruebas y depuracin, despliegue y mantenimiento).
Pragmtica (aseguramiento de la calidad, estimacin de costos, decisiones
de administracin, aplicaciones reales, dominio especfico, escalabilidad y
distributibilidad).

A continuacin presentamos una traduccin de la conclusin a la que llegaron los


autores:

Presentamos una comparacin entre tres prominentes metodologas.

51 Ibid.

79
En general, todas ofrecen un soporte razonable de los conceptos
bsicos de orientacin a agentes como autonoma, actitudes mentales,
proactividad, reactividad, etc. Todos fueron considerados como
claramente orientados a agentes. Adicionalmente la notacin de las tres
es en general buena. Respecto al proceso, todas proveen al
desarrollador con ejemplos y heursticas para asistirlo desde la
recoleccin de requerimientos hasta el diseo detallado. La
implementacin fue soportada en cierto grado por todas las
metodologas mientras las pruebas y depuracin no lo fue tanto en
ninguna. Adicionalmente algunos conceptos importantes de ingeniera
de software como aseguramiento de la calidad, guas de estimacin y
soporte de decisiones administrativas no son soportadas por ninguna.

A pesar de la uniformidad de la conclusin, insistimos, que se interpretara como


una inmadurez general de ste tema, en el documento hacen pequeas
diferenciaciones sobre las metodologas y en especial, proponen a Tropos como
una metodologa un poco ms avanzada que las otras, por ejemplo cuando aduce
que la percepcin de los encuestados fue que Tropos tiene un alto soporte para la
proactividad y reactividad en el caso de los conceptos de orientacin a agentes.
Otra interpretacin que hacemos acerca de la conclusin del documento
mencionado, es que dados los objetivos de este proyecto de grado como son
proponer un marco sobre el cual se implemente efectivamente la plataforma, ella
indica que las diferencias entre metodologas no son significativas para el
desarrollo del mismo.

Dadas estas referencias, nosotros proponemos Tropos como metodologa de


desarrollo debido a que incluye un modelo del sistema incluyendo a todos los
actores del sistema en la fase de anlisis de requerimientos tempranos, esa es
una de las fortalezas propuestas por los creadores de la metodologa y nos da la
perspectiva de ms alto nivel, explotando al mximo el concepto de agente,
adems parece un muy buen comienzo para poder visualizar los requerimientos
del sistema sin sesgos de tipo tecnolgico. Otra ventaja que tiene Tropos sobre las
otras metodologas es que en la fase de diseo detallado e implementacin
soporta la correspondencia entre conceptos de diseo con estructuras de la
plataforma sobre la cual se vaya a implementar el sistema, lo que hace el diseo
independiente de la plataforma hasta stas fases, es decir, que es posible hacer
una propuesta de diseo basndose en las etapas iniciales para dejar en libertad a
los continuadores para elegir la plataforma final aunque nuestra intencin es dar
pautas para la eleccin de la misma y dejar en manos de los continuadores la
labor de mapear de la mejor manera los conceptos del diseo con las estructuras
de la plataforma elegida. En caso de ser necesario migrar el modelo de diseo en
un futuro, bastara con cambiar este juego de correspondencias concepto-
estructura con una plataforma a otro juego de correspondencias para la nueva

80
plataforma.

Durante el desarrollo de este proyecto de grado hemos encontrado unas


propuestas alternativas interesantsimas a las propuestas estudiadas pero que por
falta de documentacin y ninguna popularidad reciente aparente no se
corresponden con el carcter prctico del mismo. Por ejemplo existe una
metodologa ms o menos nueva que parece que tuvo cierta aceptacin llamada
PASSI (Process for Agent Societies Specification and Implementation Proceso
para especificacin e implementacin de sociedades de agentes) 5253 cuya finalidad
es no definir un nuevo lenguaje de modelamiento sino extender el actual UML.
PASSI goza de cierta aceptacin entre los programadores del modelo Agile para
dispositivos embebidos y se ayuda con una herramienta de un Plug-in para
Rational Rose. Este interesantsimo modelo no nos parece que facilite el diseo de
los agentes, sino que ms bien reutiliza el conocimiento de los lenguajes
convencionales de modelamiento pero ya establecimos la necesidad de migrar al
fuerte uso del concepto de agente inteligente como base de diseo.

Otra propuesta de la que no encontramos mayor informacin (de hecho slo un


PDF hablaba de l) pero que a nuestro parecer es la propuesta de diseo ms
robusta, se describe en un documento bajo el nombre de MALACA 54. Esta
metodologa propone definir una arquitectura de componentes para el diseo y
hacer uso de la especificacin MDA (Model Driven Architecture Arquitectura
basada en modelos)55 de la OMG (Object Management Group Grupo de
Administracin de Objetos) , por medio de la cual se hacen corresponder dos
modelos a travs de transformaciones entre conceptos abstractos y concretos de
dichos modelos de tal manera que sea posible disear en cualquier metodologa y
escribir las transformaciones necesarias para convertirlo a un lenguaje de
modelamiento ms concreto que soporte la implementacin directa. En MDA se
definen modelos independientes de la plataforma (PIM Platform Independent
Model) y modelos dependientes de la plataforma (PSM Platform Specific Model)
a los cuales se les debe escribir un perfil UML o metamodelo y por medio de stos
se efectan transformaciones entre sus conceptos y estructuras de diseo y
finalmente a travs del modelo dependiente de la plataforma a estructuras de
implementacin. MALACA propone un modelo basado en componentes muy
dinmico y adaptable que compone el modelo dependiente de la plataforma, pero

52 FIPA. Methodologies. http://www.fipa.org/resources/methodologies.html#Passi


53 Dipartimento di ingegneria informatica. CSAI Lab. http://www.csai.unipa.it/cossentino/passi/

54 AMOR, Mercedes; FUENTES, Lidia; VALLECILLO, Antonio. Bridging de gap between Agent-
Oriented Design and Implementation using MDA, 2005.
55 Object Management Group. OMG Model-Driven Architecture,. http://www.omg.org/mda/

81
como una arquitectura intermedia a travs de la cual se harn las
transformaciones a estructuras de implementacin en cada plataforma. Las
razones por las cuales MALACA es una arquitectura intermedia es porque dada la
explosin de metodologas y plataformas, el slo modelo propuesto por MDA
resulta inadecuado debido a la gran cantidad de correspondencias entre modelos
que habra que hacer (entre cada metodologa de diseo y cada plataforma), por
medio de MALACA se haran las correspondencias directamente entre MALACA y
las plataformas y de las metodologas a MALACA, lo cual para nmeros de
metodologas y plataformas grandes disminuye considerablemente el esfuerzo
necesario para transformar los modelos de diseo en modelos de implementacin
56
.

4.2.2.2 Plataformas
En cuanto a la plataforma como tal, es necesario tener en cuenta el acogimiento
que sta haga de las especificaciones de FIPA, ya que este organismo ha
propuesto un conjunto de especificaciones para la implementacin de sistemas
multiagente interoperables que ya han sido acogidos por muchas organizaciones,
ste aspecto es fundamental para el futuro del proyecto, especialmente su
escalabilidad e interoperabilidad con otras plataformas y para cumplir con el
objetivo de las tecnologas Web Semntica de ser masivas. Otro factor clave para
la eleccin de nuestra plataforma es la disponibilidad de documentacin y
ejemplos ejecutables que nos enseen a manipular y conocer la plataforma as
como el esquema de licenciamiento, dado que ste determina la extendibilidad a
la que los implementadores tengan acceso.

Existe gran diferencia entre Jade y JACK, que son las plataformas candidatas
descritas en apartes anteriores, precisamente en los factores mencionados en el
prrafo anterior. JADE es una plataforma abierta, que ha participado en varios
eventos internacionales llamados FIPA Interoperability test y adems cuenta con
miembros de su equipo de desarrollo en la Junta de arquitectura de FIPA y se
licencia como LGPL -Lesser General Public License-. Por otro lado JACK es una
herramienta comercial para la cual es necesario comprar licencia o hacer
acuerdos acadmicos en caso de desarrollos experimentales como el nuestro.
JACK tambin est relacionado en el sitio Web de FIPA 57 como una plataforma
conforme con algunos de sus estndares. Ambas son plataformas 100% Java,
aunque JACK incluye un lenguaje de especificacin de agentes que extiende la

56 AMOR, Mercedes, et. al. Op. cit.


57 FIPA. Publicly available implementations of FIPA Specifications, 2003.
http://www.fipa.org/resources/livesystems.html

82
sintaxis de Java para soportar conceptos orientados a agentes. JACK es una
plataforma comercial para la cual la licencia de prueba pone trminos como
imposible hacer ingeniera inversa o desensamblar el cdigo, redistribuir el
material o mostrar los resultados de su uso a terceros 58. JADE es completamente
pblico, tanto la documentacin (que en JACK tambin es pblica) como el cdigo
fuente.

Nosotros preferimos y recomendamos usar la plataforma JADE por las siguientes


razones:

Acogimiento a los estndares FIPA de AMS (Agent Management System),


DF (Directory Facilitator), ACC (Agent Communication Channel), MTP
(Message Transport Protocol), servicio de nomenclatura o nombramiento
(naming service) conforme con FIPA y transporte de peso liviano conforme
con ACL (Agent Communication Language) de FIPA, as como librera de
protocolos de interaccin FIPA.
Licenciamiento LGPL, acceso de slo lectura al cdigo fuente, herramientas
de interaccin para la comunidad de desarrolladores (listas de correo).
Profusa documentacin incluyendo las herramientas y tecnologas usadas
en JADE.
Amplia aceptacin tanto acadmica (Monads de la Universidad de Helsinski
entre otros) como comercial (Telecom Italia Lab y Rockwell Automation
entre otros) en el desarrollo de plataformas multiagente 59,60.

4.2.3 Web semntica

Cul debe ser el papel de la Web Semntica y cmo se puede integrar en una
plataforma de agentes inteligentes para la educacin Virtual?. Esa es la pregunta
base para esta seccin y que intentaremos resolver segn lo que hemos ledo y
analizado.

La Web Semntica como propuesta original del creador de la WWW, busca

58 The Agent Software Group. JACK Registration form. http://www.agent-


software.com/shared/extrafiles/regform.html.
59 JADE. Who is using JADE Applications and Business, 2006. http://jade.tilab.com/application-

who.htm
60 JADE. R&D Projects, 2006. http://jade.tilab.com/application-projects.htm

83
principalmente ser una infraestructura sobre la cual florezca la inteligencia artificial
y en especial los agentes inteligentes como nueva generacin de modelo de
aplicacin. Desde este punto de vista, la infraestructura de Web lo que contiene
son los elementos mnimos necesarios para un mejor conocimiento de los datos y
los orgenes de los mismos por parte de las mquinas, es decir, cierta capacidad
mnima para manipular mejor esa informacin y sobre todo ser flexible y
extensible, es decir, ampliable sobre la misma base. stas caractersticas son en
esencia una base que tendra la potencia expresiva necesaria para desarrollar
aplicaciones medianamente inteligentes.

Nosotros tomamos como punto de partida el hecho de que Tim Berners-Lee y su


grupo de trabajo dise la primera generacin de www y por lo tanto es de esperar
que conozca las condiciones necesarias para que un medio como ste sea
adoptado masivamente y tambin reconozca bien los defectos que tiene en ste
momento, por eso es que se espera que la Web Semntica tenga los factores de
xito que tuvo la www originalmente si bien existen detractores de la propuesta
que optan por otra propuesta para el futuro de Internet en la lnea de los Web
Services, que son, simplificadamente, aplicaciones que ponen a disposicin sus
capacidades en la red y ejecutan remotamente los procedimientos. Nosotros
creemos que las propuestas no son incompatibles, de hecho nos parecen
tecnologas complementarias.

Si la Web Semntica es ms una infraestructura que una tecnologa, el papel que


debe jugar en cualquier aplicacin de la nueva generacin, es de colgeno o factor
unificador, bien sea entre los elementos de la aplicacin como de la aplicacin con
el resto de la red, es decir, un cohesionador de los elementos de la aplicacin
entre ellos mismos y como lenguaje general de publicacin de contenidos y
funcionalidades. Sin embargo, no se puede forzar a las aplicaciones a que usen
las especificaciones de Web Semntica obligatoriamente por encima incluso de
sus necesidades de rendimiento, como ejemplo, JADE usa mecanismos
adaptables para la comunicacin, es decir, para comunicaciones interagente se
pueden configurar los agentes para negociar el lenguaje de comunicacin a usar:
se puede seleccionar entre lenguajes reglamentados por FIPA y lenguajes
especficos de la plataforma, en particular, JADE usa su propio lenguaje para
comunicacin dentro de la misma arquitectura, es decir dentro del mismo PC. En
esta misma lnea de ideas, en Univirtual hay que valorar la utilidad que podra
tener el uso de RDF y Ontologas como base de la aplicacin, pero no se debe
dudar un slo segundo sobre su uso en la publicacin de funcionalidades y
metainformacin de los contenidos.

84
4.2.3.1 Contenidos
Los contenidos de Univirtual se pueden clasificar en dos categoras principales
segn la finalidad: contenidos creados para la ejecucin o visualizacin individual,
como descripcin de procedimientos para una clase o ejercicio, indicaciones o
bibliografa, etc., y elementos de ayuda suscritos o subidos por los integrantes de
la comunidad para enriquecer algn proceso de manera espontnea y
colaborativa. Es decir, procesos y documentos dirigidos a individuos desde un
nodo central (sea el profesor, tutor o Univirtual como tal) y procesos o documentos
comunitarios alimentados y alterados por cualquier integrante de tal comunidad.
Pero dado que Univirtual es un sitio de educacin virtual, deben existir contenidos
creados con ms formalismo como capacitacin en algn rea del conocimiento,
una materia de alguna carrera o contenidos de naturaleza especfica diseados
para un grupo de personas con intereses predeterminados. Para estos ltimos
contenidos existen una serie de estndares que giran en torno a un concepto
llamado Objetos de Aprendizaje que as como las tecnologas de Web Semntica,
buscan establecer normas de descripcin y modelado de procesos de aprendizaje
y enseanza virtual. El principal marco de trabajo para estos objetos de
aprendizaje es IEEE LOM (IEEE Learning Object Model) que es implementado
como ncleo de otra serie de estndares, como IMS y SCORM.

SCORM es una plataforma general que implementa una serie de procesos


comunes a todas las especificaciones de educacin y entrenamiento virtual. Los
procesos comunes contemplados por SCORM son:

Estructuracin de contenidos
Modelamiento del proceso
Empaquetamiento de contenidos, definicin y publicacin de API
-Application Programming Interface o Interfaz de programacin de la
aplicacin- para el entorno de ejecucin y modelamiento de datos para el
entorno de ejecucin (que incluye el modelo de seguimiento y entrega de
contenidos y recursos).

La arquitectura de SCORM est compuesta por tres partes fundamentales en las


que se especifican los procesos mencionados: panormica -overview- que
contiene la descripcin general del objeto de aprendizaje, el modelo de agregacin
de contenido que contiene metainformacin y etiquetas para los contenidos e
informacin acerca de las relaciones entre los contenidos y el empaquetamiento,
y, finalmente, un API y modelo de datos del entorno de ejecucin, que especifica
cmo se enva informacin entre el sistema y el usuario, as como cules
variables pueden ser cambiadas dentro de la aplicacin y cules no, as como los
procedimientos de seguimiento para el progreso del estudiante.

85
En resumen SCORM tiene las siguientes tres partes:
1. Una vista preliminar acerca del modelo, la visin y el futuro del mismo.
2. Un modelo de agregacin de contenido -CAM, Content Aggregation Model-, que
indica cmo crear contenidos ensamblados como partes de un nico paquete
para ser movidos y reusados en diferentes plataformas.
3. Una especificacin de Entorno de Ejecucin -RTE, Run Time Environment- que
dicta la manera en que los contenidos son desplegados al estudiante, la manera
en que el estudiante es evaluado y cmo los resultados de esas evaluaciones
son devueltos al sistema para su anlisis.

Una imagen que muestra algunos de los elementos mencionados dentro de la


arquitectura se muestra a continuacin61:

61 http://www.lsal.cmu.edu/lsal/expertise/projects/scorm/scormevolution/reportv1p02/report-

v1p02.html Evolucin de SCORM hasta el 2004

86
Figura 5. Estndares SCORM
En sta imagen podemos observar la adhesin de SCORM a estndares probados
como LOM a manera de marco general de modelamiento de contenidos y CMI
como estndar de empaquetamiento y envo de objetos de aprendizaje.

La arquitectura de SCORM puede constituir una interfaz con la Web Semntica


en el proceso de agregacin de contenido, debido a que su base es XML y
metainformacin del contenido del objeto de aprendizaje. El CAM (Content
Aggregation Model o modelo de agregacin de contenido) implementa conceptos
comunes a los modelos de la IEEE, ARIADNE, Dublin Core e IMS, que son las
organizaciones que han hecho los esfuerzos ms importantes por definir y
estandarizar el aprendizaje electrnico62, 63.

Finalmente para integrar estas tecnologas al estilo Web Semntica, hay que

62 Randall House Associates, Inc. SCORM, 2003. http://www.rhassociates.com/scorm.htm


63 Randall House Associates, Inc. ADL DoD initiative. http://www.rhassociates.com/adl.htm

87
observar que hasta este punto usando SCORM como base arquitectnica y
especificacin fundamental, alcanzamos hasta el nivel ontolgico de la pila de
Web Semntica descrita en apartes anteriores con ciertas limitaciones. Un aporte
interesante para hacer en este aspecto, sera usar los agentes inteligentes para
imponer un marco lgico y procedimientos de prueba. Una posible base para este
proceso o estas capas de la pila, es el lenguaje SparQL, lenguaje sugerido en las
investigaciones del W3C que busca asimilar la experiencia con SQL (para
bsquedas en Bases de Datos relacionales) con bsqueda sobre datos RDF que
tendran que ser producidos por el sistema, basados en la metainformacin
suscrita a un objeto de aprendizaje o cualquier otro elemento que existiera
catalogado en el mismo. Sin embargo en este proyecto nos concentramos en dar
la base de diseo y proponer la infraestructura base para todas estas futuras
aplicaciones o funcionalidades del sistema.

4.2.3.2 Autenticacin
El otro aporte necesario para implementar completamente la pila de la Web
Semntica, es incorporar mecanismos de autenticacin de los usuarios por medio
de firmas digitales y cifrado de la informacin. Estos seran atributos de la
autenticacin de usuarios cuando haya lugar a sta y a la manipulacin de los
datos de los objetos de aprendizaje. Como ya sabemos, la cima de la pila de la
Web Semntica est coronada por las redes de confianza. Un sistema multiagente
en Univirtual puede implementar la calificacin de los usuarios y crear la red de
confianza entre ellos con base en la evaluacin y la observacin que hace de los
comportamientos de los integrantes de la comunidad, los contenidos suscritos y
estudiados y las mutuas referencias entre ellos mismos, dando mejores opciones
de bsqueda para los usuarios concurrentes al sitio, estableciendo relaciones con
base en intereses comunes y posiblemente mejorando la interaccin con los
nuevos usuarios.

Investigaciones y sistemas que incorporan experimentalmente estas tecnologas


(autenticacin basada en razonamiento, redes de confianza y aprendizaje en red)
pueden verse en http://www.rewerse.net/ y http://trust.mindswap.org/.
Adicionalmente un avanzado experimento de la universidad de Princeton hace
uso de la lgica de orden superior para ejecutar autenticaciones y se puede
encontrar en este URL http://www.cs.princeton.edu/sip/projects/pca/.

4.2.3.3 Herramientas
Un elemento clave es la integracin de la librera de Java Jena para el
procesamiento de aplicaciones orientadas a la Web Semntica. Esta librera o

88
marco de trabajo, tiene una implementacin de SparQL llamada ARQ y objetos
que permiten el trabajo con documentos RDF/RDFS -escritura, lectura,
almacenamiento y estructuracin- y escribir y generar documentos en OWL que es
el lenguaje de ontologas recomendado por la W3C.

Existe una herramienta que parece ser la ms popular herramienta para


desarrollar ontologas de dominio especfico llamada Protg 64, que presenta una
interfaz grfica muy atractiva y un API que permite el uso de sus recursos para
otras aplicaciones. El uso de Protg podra ser un buen punto de partida para el
anlisis y verificacin de ontologas. Aunque no existe un dominio especfico en
Univirtual es necesario usar ontologas generales ya estudiadas y desarrolladas
como SUMO, EuroWordNet, GOLD o Dublin Core y aportar en su desarrollo
posiblemente desarrollando su representacin para Protg. Sin embargo nos
parece que Protg es una excelente herramienta para el desarrollo de
aplicaciones basadas en conocimiento dentro de un dominio especfico en
organizaciones con direccin centralizada por lo que no nos inclinamos a basar la
propuesta en sta herramienta sino ms bien en usarla tangencialmente para
analizar y mejorar los resultados del sistema o para generar una base sobre la
cual comenzar.

Existen tambin propuestas de hacer de los Web Services la interfaz pblica de


los sistemas de agentes inteligentes, Podran stos basarse en recursos
RDF/RDFS y OWL para extender la Web Semntica? esta es una conviccin que
nosotros tenemos y que viene siendo investigada en algunas universidades e
institutos. A nosotros nos gustara que esta idea fuera explotada una vez que
exista suficiente informacin en la base de conocimiento que desarrollara la
implementacin de este proyecto.

4.2.4 Reconocimiento de lenguaje natural

4.2.4.1 Ontologas
Un elemento de investigacin para asimilar los contenidos existentes en Univirtual
es el estudio de WordNet o mejor Euro WordNet, una Ontologa de propsito
general (o fundamental) basada en la lingstica del idioma Ingls en el caso de la
64 Stanford Medical Informatics. Protg ontology editor and Knowledge adquisition system, 2006.

http://protege.stanford.edu/

89
primera y de varias lenguas Europeas en el caso de la segunda. WordNet es un
proyecto que viene siendo ampliamente usado y que ya cuenta con mltiples APIs
para muchos lenguajes65 y parece ser un hito en el anlisis semntico porque
aparece vinculado a otros proyectos de mltiples lenguas como Nimda 66 y Global
WordNet67. Hay que considerar la vinculacin de la Universidad con proyectos de
esta ndole y crear una interfaz entre stos y Dublin Core o integrarlos con
ontologas ms generales como SUMO de la IEEE. Recordemos que Dublin Core
es la ontologa de metadatos que es base de muchos trabajos orientados a la
educacin virtual como SCORM e IMS, adems que la ontologa misma parece
ser una de las ontologas de propsito general de ms actividad. Un proyecto ms
ambicioso y ms especializado cuyo estudio convendra mucho implementar en la
universidad, en especial por el aspecto social, es GOLD (General Ontology for
Linguistic Description -Ontologa General para Descripcin Lingstica), este
proyecto busca crear una ontologa que permita establecer comparativos entre
lenguas diferentes y as establecer un puente lingstico entre culturas. Ellos
ponen un especial nfasis en el entendimiento y equiparacin de lenguas
tradicionales de poblaciones nativas y de la posibilidad que esto dara a estas
poblaciones de tener acceso a toda la informacin que existe en Internet -o en
nuestro caso a la instruccin disponible en Univirtual. GOLD usa dos estrategias
de desarrollo: desde los conceptos lingsticicos ms generales adoptados por las
lenguas conocidas y desde los conceptos ms especficos de tales lenguas. stas
dos estrategias tienen el fin de tener la mayor cobertura posible y simplificar el
trabajo. Usa SUMO como ontologa superior o bsica y su principal atractivo es
que est orientada a la Web Semntica y al anlisis lingstico general apoyando
las lenguas nativas en la bsqueda de mejorar las condiciones de culturas
subvaloradas. Este proyecto es patrocinado por la National Science Foundation y
Electronic Metastructure for Endangered Language Data (Emeld) entre otros y
parece haber tomado un giro hacia la interoperabilidad de datos sin abandonar el
hecho de partir del anlisis lingstico de los mismos 68.

65 Princeton University. WordNet links to related projects. http://wordnet.princeton.edu/links

66 Maurice Gittens. The Mimida project home page, 2005.


http://www.gittens.nl/SemanticNetworks.html
67 Irion Technologies, Princeton University. Global WordNet Association.
http://www.globalwordnet.org/
68 Gold Community. Gold community website, 2006. http://www.linguistics-ontology.org/

90
Figura 6. SUMO: Suggested Upper Merged Ontology

Establecer la Web semntica a gran escala implica el uso generalizado de


documentos Web con marcados de anotacin basada en ontologas o un
equivalente almacenado en una base de datos o similar. Para lograr este objetivo
un plan sugerido por Paul Buitelaar and Thierry Declerck en su disertacin
Linguistic Annotation for the Semantic Web 69, es aplicar recuperacin de
informacin para extraer pedazos de informacin de los textos que en trminos
generales son textos de escritura libre y sin estructuras bien definidas para, luego
de tener una serie de elementos semnticos, aplicar algoritmos de agrupamiento
(clustering) para su clasificacin.

4.2.4.2 Herramientas
Existen importantes herramientas para efectuar PLN orientadas a la Web
Semntica, sin embargo no se ha llegado a consenso acerca del lenguaje de

69 BUITELAAR, Paul; DECLERCK, Thierry. Linguistic Annotation for the Semantic Web, 2003.

91
ontologas a usar. Entre los lenguajes de ontologas ms populares est
DAML+OIL muchas aplicaciones y herramientas lo usan. En caso de usar alguna
de stas herramientas hay que considerar la posibilidad de incorporar al sistema
un conversor de DAML+OIL a OWL publicado en el URL
http://www.daml.org/2003/06/owlConversion/ escrito en Perl o implementar su
equivalente en Java o el lenguaje de implementacin que se vaya a usar
finalmente.

GATE70 es la herramienta recomendada para realizar las tareas de procesamiento


de lenguaje natural orientadas a la Web Semntica que es incorporado en
proyectos tan importantes como KIM 71 que es una conocida plataforma de
administracin de conocimiento en la que GATE forma la base de anlisis de
lenguaje natural y ha permitido su migracin a la Web Semntica. GATE es una
sigla derivada de General Architecture for Text Engineering, es decir, arquitectura
general para la ingeniera de texto. GATE es denominada arquitectura porque est
compuesta de tres elementos diseados para interactuar transparentemente: una
arquitectura o estructura organizacional para tareas de PLN, un marco de trabajo
(Framework) o librera de clases que ejecutan tales tareas y que permiten la
integracin de esta arquitectura en aplicaciones de PLN y una interfaz grfica que
permite y facilita operaciones de diseo y desarrollo de componentes.

La arquitectura de GATE usa el desarrollo de software basado en componentes,


orientacin a objetos y movilidad del cdigo, est desarrollado en Java y su
licencia es LGPL. Usa Unicode para todas sus operaciones y soporta mltiples
formatos de documentos como RTF, HTML, SGML, texto plano y por supuesto
XML, usa una versin modificada del formato de anotacin TIPSTER y marcacin
aparte (stand-off) que relaciona un documento analizado con un documento de
anotacin externo a l con el fin de no alterar la sintaxis del documento original.

Esta arquitectura que recomendamos viene con una serie de utilidades adicionales
como ANNIE, un sistema de extraccin de informacin que usa tcnicas de
mquinas de estado finito para implementar tareas que van desde tokenizacin
(reconocimiento de elementos -palabras) hasta etiquetado semntico y
particionamiento de frases. Incluye tambin un motor de anotacin basado en
expresiones regulares llamado JAPE -Java Annotation Patterns Engine-,
herramientas de medicin de la calidad de la anotacin realizada por el sistema y
su desempeo (Annotation diff y Benchmarking Tool) y finalmente GUK -GATE
Unicode Kit- que complementa a JAVA para soportar mejor la codificacin
70 GATE. General Architecture for Text Engineering. http://gate.ac.uk/

71 KIM Platform. The KIM Platform for knowledge and information management, 2006.

http://www.ontotext.com/kim/index.html

92
UNICODE. Todas estas herramientas y utilidades adicionales son conocidas como
CREOLE (Collection of REusable Objects for Language Engineering) y conforman
el marco de despliegue de las aplicaciones desarrolladas con GATE, es decir,
especifican cmo empacar y configurar los objetos para su instalacin y
despliegue final.

4.2.5 Arquitectura de sistemas de educacin virtual

La arquitectura de sistema de educacin virtual debe ser una combinacin o


adaptacin de la arquitectura de sistema sugerida en el proyecto de grado
INCORPORACIN DE AGENTES INTELIGENTES A LOS PROCESOS DE
ENSEANZA VIRTUAL COMO BASE PARA EL DESARROLLO DE UN MODELO
DE UNIVERSIDAD VIRTUAL de las Ingenieras de sistemas y computacin
Carolina Moreno y Sandra Muoz, que estudia profusamente las propuestas de
aprendizaje computacional, teoras pedaggicas y su implementacin por medio
de Agentes Inteligentes para proponer finalmente un modelo de ITS -Intelligent
Tutoring System- basado en agentes inteligentes que compondra la arquitectura
interna del sistema. Esta etapa de anlisis sera especificada desde un alto nivel
con el fin de ayudar en la recoleccin de requerimientos y explotando la fortaleza
de la metodologa Tropos de recolectar requisitos inluyendo las necesidades de
los actores y la manera en que haran las cosas en un marco ideal (antes de
modelar el sistema mismo). stas son las fases de requerimientos tempranos y
tardos, sin embargo, los detalles de este modelo son internos al sistema, para
acoplarlo a la Web Semntica (la parte externa) se debera usar el modelo
SCORM que recoge una serie de especificaciones realizadas por diferentes
organizaciones dedicadas a investigar y estandarizar de los sistemas de
instruccin virtual como IEEE, ADL e IMS pero desde el punto de vista externo, es
decir, una especificacin base para las interfaces y los procesos de interaccin
hacia afuera. Este modelo declara las caractersticas tcnicas que deben tener los
contenidos para ser conformes con l. Detalla en forma particular la estructuracin
de los contenidos, es decir, qu es una leccin, qu es un mdulo y qu es una
clase, as como la metainformacin necesaria para describir cada uno de esos
elementos; el empaquetamiento de los contenidos; formas de interactuar del
contenido con el sistema de enseanza, es decir, un API del contenido y
finalmente las relaciones de secuencia y ramificacin vlidos o sugeridos de los
contenidos. Vemos que SCORM no incorpora ninguna especificacin sobre la
arquitectura del sistema de enseanza, pero s detalla las maneras en que se
ensamblan y distribuyen contenidos.

Es importante observar el hecho de que SCORM se basa en un modelo uno a uno

93
de estudiante a sistema de enseanza, pero Internet y las soluciones de Software
Libre y desarrollo comunitario de objetos intelectuales desvirta un poco que este
modelo sea el nico modelo vlido para la educacin virtual. Es probable que el
actual modelo de SCORM sea slo una consecuencia de la evolucin necesaria
del proceso y ya se contemple este tipo de interaccin de las comunidades
educativas. Un ejemplo de este comportamiento de desarrollo comunitario de
objetos intelecuales son los populares Wikis, producto de la revolucin que ha
supuesto el fenmeno del Software Libre en Internet. Un Wiki es una herramienta
de software para construccin comunitaria de conocimiento basada en el principio
de que los usuarios no slo usan el contenido del wiki sino que lo pulen
acumulativa y colectivamente con base en los conocimientos individuales. Un
fenmeno supremamente interesante en este contexto es el de los sabotajes, que
normalmente son advertidos en un tiempo muy corto dependiendo de la cantidad
de usuarios del wiki y del contenido mismo (si es muy usado o no) y son
enmendados muy rpidamente.

En este proyecto sugerimos que es necesario que Univirtual se d cuenta y trabaje


sobre la creacin comunitaria de contenidos acadmicos, aprovechando incluso
las capacidades de investigacin que muchas veces tienen los estudiantes. Sin
embargo para incorporar correctamente esta idea, es necesario considerar el
aporte que nosotros deberamos hacer a la comunidad para que ella misma se
enriquezca de la experiencia, esto supone, dejar de lado el carcter mercantilista
de la educacin virtual y permitir que una comunidad espontnea de usuarios usen
gratuitamente el sitio para poder tener una base de personas que enriquezcan los
contenidos suficientemente para luego ser compilados y empaquetados como
objetos de aprendizaje. Este modelo ya est integrado dentro de la herramienta
Moodle -que es la herramienta que usa Univirtual-, pero tal herramienta debe ser
modificada en su cdigo fuente para llevar a cabo la ltima tarea mencionada:
interpretar y clasificar los contenidos de los foros y los wikis dentro de un elemento
autodescrito que se pueda empaquetar para conformar un objeto de aprendizaje
conforme con las especificaciones SCORM.

Crear objetos con stas caractersticas se podra lograr de dos maneras:


integrando uno o varios agentes inteligentes que generen metainformacin con
tcnicas de extraccin de informacin de los contenidos y la conviertan a los
formatos soportados por SCORM o simplemente integrando herramientas de
extraccin de informacin clsicas como GATE para clasificar y empaquetar
dichos contenidos. stas dos formas de hacerlo se corresponden con los
paradigmas estructurado/Orientado a Objetos -es decir una combinacin de los
dos- y Orientado a agentes. Dado que ste proyecto versa sobre Agentes
Inteligentes, es la ltima opcin la que tomaremos como sugerencia por las
razones expuestas en los otros captulos.

94
4.2.5.1 ITS clsico
La siguiente figura ilustra la arquitectura de un ITS (Intelligent Tutoring System),
como se describe en el trabajo de Sandra Muoz y Carolina Moreno en el proyecto
de grado mencionado:

Figura 7. Arquitectura de STI

La idea fundamental es que exista dentro del sistema un modelo tanto del
estudiante como del experto, basados en el conocimiento de cada uno y un
mdulo pedaggico que proponga las estrategias necesarias para que el
estudiante aprenda lo que se le est enseando y seleccionar de estas
estrategias, la que mejor se adecue al nivel de conocimiento del mismo. En ste
esquema clsico falta incluir dnde y cmo interactan el profesor del curso, el
diseador de contenidos y los expertos involucrados en ste diseo. Un factor
importantsimo dentro del modelo de conocimiento constructivo predominante en
Internet, es el papel que juegan en ste modelo los espectadores, tengan o no
acceso a las funcionalidades ofrecidas por la herramienta, ellos pueden ver qu se
ofrece y pueden estar interesados en participar de alguna manera. Dada esta
perspectiva, los actores a considerar seran los estudiantes, los profesores de los
cursos (presenciales o tutores del curso virtual), los diseadores de contenidos
(que en nuestro caso sera Univirtual y sus expertos pedaggicos, del dominio o
materia enseada y en usabilidad de los elementos, es decir, facilidad de uso y
esttica del sitio) y los espectadores (que son los clientes potenciales de las
funcionalidades del sitio).

95
4.2.5.2 ITS Extendido

Figura 8. Arquitectura de STI extendido

Como vemos en la figura anterior, nuestro modelo orientado a la Web necesita


una base ontolgica que coleccione descripciones semnticas de cada elemento
accesible dentro del sistema y sea capaz de vincularlas cada vez que estos
elementos sean accedidos por alguno de los actores mencionados. Dado que
OWL es el lenguaje de ontologas recomendado por el consorcio W3C apoyamos
la adopcin de ste formato para las ontologas, a su vez, ste formato est
basado en XML y en Unicode que son la base de la pila de la Web Semntica.
Una de las propuestas a considerar para la implementacin de agentes
inteligentes en Univirtual como intrpretes de lenguaje natural es el uso de los
wikis (empezando con el mdulo wiki de Moodle) para construir ontologas de
dominio especfico basndose en ontologas generales y en nuestro caso Dublin
Core que como vimos, es la base de las propuestas unificadas orientadas a la
educacin virtual como SCORM e IEEE LOM, esto puede liberar a la organizacin
de la dispendiosa tarea de crear ontologas de dominio especfico de manera
centralizada y hacerlo a travs del modelo constructivo de los Wikis que ha

96
demostrado dar excelentes resultados (Por ejemplo la WikiPedia 72). Este uso de
Internet es el uso previsto de esta tecnologa, donde todas las personas pueden
hacer su aporte y el conocimiento se entrelaza haciendo posible la convivencia de
todos los puntos de vista en un medio comn, reflejando la realidad y en nuestro
caso el ambiente diverso de la Universidad. Para este objetivo es necesario
estudiar con detenimiento la finalidad y metodologa de autenticacin de los
usuarios del sistema, nosotros proponemos dejar la autenticacin de los usuarios
slo con el objetivo de creacin de las redes de confianza mencionadas
anteriormente, ya que el modelo constructivo de los Wikis prev que el
conocimiento es revisado por la comunidad que lo explota y tener muchos
usuarios es absolutamente indispensable para que ste modelo funcione.

4.3 MARCO CONCEPTUAL

Los conceptos que se exponen a continuacin son las consecuencias naturales de


las tecnologas mencionadas hasta el momento y las caractersticas analizadas
hasta ahora. Como arquitectura del sistema usamos los conceptos de la
metodologa recomendada Tropos y con base en tales conceptos ilustramos cmo
empezara el anlisis del sistema (en el anlisis temprano est la principal
fortaleza de la metodologa) a fin de respaldar un sistema cuya arquitectura sea
similar a la de un ITS pero con posibilidad de ser distribuida gracias a las virtudes
de la plataforma subyacente JADE. sta es, pues, la manera en que nosotros
vemos que deben articularse las herramientas propuestas en una implementacin
final y a seguidamente hacemos mencin a otros elementos que pueden
enriquecer el sistema y cuya calidad de reusables haran la construccin del
sistema una construccin de resultados ms inmediatos que si se construyera
desde cero.

4.3.1 Arquitectura

La etapa de requerimientos tempranos ( early requirements ) consiste en analizar


e identificar los principales agentes y sus intenciones en el sistema, stos son
llamados agentes interesados (stakeholders) y son modelados como agentes
72 Wikipedia. Home Page, 2006. http://wikipedia.org/

97
sociales que dependen unos de otros para alcanzar sus metas, llevar a cabo sus
planes y surtir o proveer recursos para llevar a cabo la operacin. Los agentes
interesados no estn limitados a los agentes que van a realizar el procesamiento,
sino los humanos mismos que estn interesados en algn resultado de la
operacin del sistema.

Las intenciones son modeladas como metas, las cuales a travs de un anlisis
orientado a metas se descomponen en submetas y que eventualmente darn
soporte a la evaluacin de alternativas.

En esta etapa se identifican solamente los actores interesados en el sistema y la


manera en que interactan con el fin de capturar los requerimientos funcionales y
no funcionales de la manera ms pura posible, es decir, sin sesgos de tipo
tecnolgico, sin mencionar aspectos de la tecnologa subyacente que podran
alterar la percepcin de lo que los usuarios o actores desean que suceda. De los
anlisis en secciones anteriores llegamos a la conclusin de que los siguientes
actores interesados mnimos a considerar: estudiantes, espectadores,
profesores/tutores y Unidad Virtual o Univirtual.

A continuacin presentamos unos actores mnimos y sus metas previstas que


deberan ser tomados como base para el diseo final del sistema y extender el
listado de metas si es necesario. Tambin listamos breves descripciones de las
metas cuando nos pareci necesario, tales descripciones se pueden usar como
guas en el diseo de los planes que corresponde ejecutar para alcanzar la
respectiva meta:

4.3.1.1 Metas de estudiantes:


Cursar temas/cursos: Elegir los cursos, temas o programas a estudiar.
Conocer un tema: A travs de los documentos o multimedios no
interactivos.
Aprender un tema o tcnica: A travs de los recursos interactivos o
multimedios.
Encontrar ayudas: A travs de bsquedas de recursos o
indicaciones/descripciones de uso del sistema o de los recursos.
Obtener buenas calificaciones: Observar y mejorar sus calificaciones.
Interactuar con la clase, comunidad y profesor/tutor.
Aprovechar el sistema: Usar tantos recursos como sea posible y estn
previstos dentro de un curso, tema o programa, as como las herramientas
adicionales de interaccin con el sistema y la comunidad.

98
Aportar a la comunidad: Sugerir o crear contenidos adicionales
(documentos, ejercicios, multimedios, etc.).
Interesarse por temas ms avanzados.

4.3.1.2 Metas de espectadores:


Encontrar informacin: A travs de bsquedas de informacin
especializada.
Conocer las funcionalidades y utilidades del sistema de educacin virtual.
Usar funcionalidades y utilidades pblicas del sistema.
Inscribirse en un curso o tema de estudio: Solicitar suscripcin a un curso o
tema.
Interactuar con la comunidad.

4.3.1.3 Metas de profesores/tutores:


Dictar/Asistir un curso: Escoger temas para un curso, Escoger ejercicios
para un tema o un curso.
Asistir a los estudiantes para lograr su mejor desempeo: Hacer
seguimiento del nivel de aprendizaje de los estudiantes, Sugerir o elegir
estrategias pedaggicas.
Interactuar con los estudiantes: Resolver preguntas y dudas, Estimular a los
estudiantes a continuar y mejorar.
Encontrar Recursos: A travs de bsquedas de recursos almacenados y
catalogados (documentos, ejercicios, multimedios, etc.).
Contribuir a la comunidad: Crear o poner a disposicin nuevos recursos
(documentos, ejercicios, multimedios, etc.).

4.3.1.4 Metas de Univirtual:


Disear contenidos: Con base en informacin sobre demanda.
Compilar objetos de aprendizaje: A travs de la compilacin de contenidos
creados por la comunidad, a travs de bsqueda de objetos de aprendizaje
disponibles para complementar programas o cursos.
Analizar el desempeo del sistema: Establecer demanda y uso de los
objetos de aprendizaje, Establecer efectividad de los objetos de aprendizaje
y encontrar patrones de uso.
Publicar funcionalidades y contenidos: Poner a disposicin los objetos de
aprendizaje y servicios eficientemente.
Administrar acceso: Definir polticas de acceso y uso de los recursos del
sistema.
Promover el uso de la educacin virtual.

99
Tropos distingue entre dos tipos de metas: metas blandas y metas fuertes,
dependiendo de la necesidad y posibilidad de que se cumplan o no. Las metas
fuertes entonces, son las que componen directamente la funcionalidad del sistema
o que son estrictas en su cumplimiento y que tienen una definicin precisa y
criterio claro de satisfaccin verificable por el sistema. Deduciblemente, las metas
blandas son aquellas que no tienen una definicin clara o un criterio claro para
determinar su satisfaccin y son tpicamente usadas para modelar los
requerimientos no funcionales del sistema. A pesar de que las metas blandas no
son de mucha importancia en nuestras metodologas tradicionales, en ste estadio
de la disciplina de la programacin, stas metas componen el verdadero valor
agregado de un sistema, por lo tanto, no se pueden dejar como piezas sueltas y
se deben aprovechar del hecho de que los agentes inteligentes pueden
implementar algoritmos que soporten bien las decisiones inciertas o ambiguas y
pueden generar verdadera satisfaccin de los usuarios cumpliendo tales metas.

En el listado de metas por agente que acabamos de mostrar, las metas blandas
estn en letra cursiva y al final del listado para distinguirlas de las metas fuertes,
as como en el diagrama de actores, aquellas se representan con nubes en vez de
valos.

Un ejemplo de metas blandas es interesarse por temas ms avanzados para el


actor estudiante. Tal inters es un requerimiento no funcional (no de estricto
cumplimiento) y no parece tener un criterio directo para evaluar su satisfaccin.

Univirtual debe generar contenidos, funcionalidades, polticas de acceso y


vinculaciones de profesores/tutores y estudiantes con los cursos y/o temas. stos
son recursos o dependums que ste actor debe generar para algunas de las
dependencias encontradas. Los estudiantes y espectadores dependen de las
polticas y funcionalidades que permita el actor Univirtual, pero los estudiantes
dependen tambin de los contenidos a los que est suscrito cada uno de ellos y
de su vinculacin con stos. Los profesores/tutores dependen de los contenidos a
los que estn vinculados y a travs de stos dos elementos dependen de
Univirtual que es quien crea y permite los contenidos y asigna las vinculaciones de
los profesores con aquellos.

El anterior anlisis de metas trivial, se representa en Tropos con el siguiente


diagrama de Actores y dependencias.

100
Figura 9. Modelo de agentes fundamental

En ste diagrama podemos ver los elementos fundamentales de la metodologa


para el modelamiento de actores: agentes, metas fuertes y blandas, los
dependums y dependencias. Es necesario aclarar que las dependencias no
siempre estn vinculadas con dependums, slo en ciertos casos donde es
necesario transferirlos entre los actores involucrados en la dependencia en
cuestin o cuando alguna meta depende directamente de la interaccin entre los
agentes involucrados; as mismo los actores no siempre tienen metas blandas: el
actor Univirtual por ejemplo podra no interesarle promover el uso de la educacin
virtual.

El anlisis de requerimientos tardos consiste en vincular los actores descubiertos


en los requerimientos tempranos a travs de sus metas con el sistema a crear. Es
decir, extender el diagrama de actores de los requerimientos tempranos con el
nuevo actor que compone el sistema a ser creado. La metodologa aqu consiste

101
en transferir metas o dependencias hacia un nuevo actor que es el sistema como
tal, sistema a ser creado (system to be) en los trminos de Tropos, y as
conformar el conjunto de metas fundamentales o ms especficas del sistema,
tambin es vlido crear metas para ste que no partan directamente de metas de
algn actor, sin embargo una buena costumbre es relacionar los actores con el
sistema a travs de metas y recursos (Metas representadas con valos y nubes, y
recursos representados con rectngulos). Esta es una de las fortalezas de esta
metodologa: establecer la justificacin de las funcionalidades y la trazabilidad
desde los actores mismos y vincularlos a travs de sus metas con el sistema, los
autores de Tropos enuncian esto diciendo que sta metodologa incluye el porqu
de los requerimientos. Esta fortaleza establece una trazabilidad directa de las
metas de los interesados en el sistema con las funcionalidades del mismo y
permite comparar fcilmente si el sistema logr finalmente stas metas a travs de
los planes y la implementacin.

Vamos ahora a definir unas metas fundamentales del sistema que llamaremos
SITEUV o Sistema Inteligente de Tutoreo Extendido de Univirtual, en la
perspectiva de que tenga como base un sistema de almacenamiento semntico
-en formatos RDF y OWL-.

4.3.1.5 Metas de SITEUV


Ofrecer Bsquedas Semnticas: Ajustadas segn el perfil de las metas de
los actores (Espectador, Estudiante, Profesor/Tutor y Espectador) y
derivadas de las bsquedas mismas y del contexto de ejecucin o instancia
-parmetros de sesin de usuario: hora, lugar, etc.-.
Mostrar/Publicar Funcionalidades: Almacenar descripcin ontolgica de las
funcionalidades y mostrar perfiladas para cada actor.
Reconocer y almacenar sesiones de usuario: Equivalente a autenticar
ingreso de usuarios, recuperar preferencias y modelo de personalidad.
Componer/Crear modelos de usuarios: Interpretar la interaccin de los
usuarios con el sistema para estimar estado de nimo e intereses.
Descubrir/Clasificar significado de contenidos: Marcar contenidos y guardar
su ndice en la base ontolgica.

Estas son unas metas fundamentales del sistema que pueden ser extendidas
especificando muchas ms metas. Lo importante ac es observar que el objetivo
principal de estas metas es crear, poblar y usar la base ontolgica a partir de cada
elemento y cada meta de los actores descritos en el anlisis de requerimientos
tempranos. Desde ac, y de manera intuitiva, se puede observar la necesidad de
los agentes de extraccin de informacin y generacin de descripciones, ya que
es a partir de la extraccin de informacin que se clasifican y contextualizan los
contenidos. Esta conclusin, sin embargo, debera ser resultado del anlisis de

102
planes/capacidades para cumplir metas y el agrupamiento de capacidades para
determinar tipos de agentes que ocurre durante la fase de diseo de la
arquitectura.

Hemos vislumbrado a partir de qu necesidades nacen los agentes de extraccin


de datos y de generacin de descripciones, pero sta es una tarea que le
corresponde a los desarrolladores finales del sistema, debido a que no
necesariamente stos agentes tengan ese nico propsito, sino que del anlisis
de medios y fines surgen las capacidades necesarias para cumplir los planes que
se encontraron en el resto de la etapa de anlisis de requerimientos. Del
agrupamiento de tales capacidades surgen los tipos de agentes para el sistema
final, por lo tanto, a esta altura no conocemos la cantidad ni funcionalidad
completa de los agentes. Ejemplos de capacidades que intuitivamente podramos
ver sera la capacidad de recorrer los contenidos para indizarlos y analizarlos
luego.

4.3.2 Plataforma

Nuestra recomendacin de plataforma implica el uso de un modelo orientado a


componentes, que haga uso de los recursos y libreras mencionadas para realizar
la arquitectura, en especial GATE y su modelo de componentes para implementar
todo lo relativo a la manipulacin de los textos desde la perspectiva del sistema y
JADE como plataforma de comunicaciones y agentes. sta debe ser entonces la
base para aplicaciones ms ambiciosas como la generacin automtica de
contenidos o la seleccin de estrategias pedaggicas dinmicas y adaptables una
vez que se logre la maestra en stos elementos, en especial de GATE, en el que
cualquier aplicacin que se vaya a desarrollar con base en l, debe estar cruzada
por un fuerte conocimiento de las caractersticas del dominio y lenguaje en
especial que se use (suponiendo que se dominan las caractersticas del idioma o
se encuentran recursos disponibles para poner a punto el sistema para nuestro
idioma en particular) y cmo modificar los parmetros del sistema para que haga
un reconocimiento efectivo de las entidades y las partes de la oracin que nos
interesan.

Vamos a enumerar una serie de tecnologas y medios que puede ser necesario
conocer y que pueden ser el puente entre la arquitectura actual de Univirtual y el
futuro de la misma implementando ste proyecto.

103
4.3.2.1 Moodle
Moodle es una plataforma de educacin virtual en el modelo del Software Libre
que soporta la creacin de objetos de aprendizaje en el formato SCORM. Dado
que Moodle ya existe, se acoge al modelo de Software Libre y construccin
comunitaria de contenidos y est en uso en Univirtual, nos parece interesante la
idea de modificar su cdigo fuente para crear un sistema alterno que interacte
con el servidor Web (que en este caso es Apache) para establecer las sesiones y
analizar todos los recursos disponibles para los diferentes usuarios. Otro uso
potencial de Moodle es la posibilidad de incorporar a todas las pginas generadas
por Moodle un Applet de Java que examine el entorno del navegador Web y est
retroalimentando el sistema con comportamientos del usuario, tiempos de espera,
etc., de ste modo la plataforma alterna integrada con SITEUV permitira analizar
cada usuario y generar un modelo de su comportamiento, que en la arquitectura
de un ITS se corresponde con el modelo del estudiante. Claro est que si es
posible generar tal Applet, ste sera una herramienta no slo para el modelo del
estudiante sino para modelar cualquier actor o persona que est interactuando con
el sistema a travs de un navegador Web (que es la nica forma prevista de
interaccin hasta ahora).

4.3.2.2 Servidor Web


Apache Web Server es una de las aplicaciones lderes del movimiento del
Software Libre, ste es una aplicacin que ha venido creciendo y demostrando
una estabilidad y capacidad incomparable, as como unas extraordinarias
capacidades de extensin e integracin con otras aplicaciones.

El servidor (o servidores) Web es un punto inevitable para cualquier peticin que


se haga al sistema, por lo tanto cualquier recurso disponible en el sitio debe pasar
por l (o ellos). Si fuera posible, extender el servidor Web de tal manera que
SITEUV accediera a todas las peticiones hechas al mismo bajo ciertas
condiciones sera posible hacer pre y postprocesamiento a tales peticiones, como
sera verificar la existencia de una descripcin del recurso solicitado, llevar
estadsticas de acceso, etc.. De sta manera SITEUV tendra acceso a todos los
recursos, incluso los que no se encuentran disponibles directamente en el sistema
de archivos o servidores de la Universidad porque tendran que estar
necesariamente referenciados dentro de Univirtual, es decir, SITEUV podra
conocer incluso los URLs que apuntan a recursos de inters en Internet pero
referenciados en pginas dentro del sistema y catalogar estos URLs o describirlos
segn sea necesario.

Existen varios mecanismos en Apache Web Server que permitiran implementar


este mtodo: las acciones (action), manipuladores (handlers) y reescritores

104
(mod_rewrite) y extensiones como Jakarta 73 que permite ejecucin de aplicaciones
Java en el modelo de guiones del lado del servidor (JSP -Java Server Pages).
Todos stos mecanismos permiten que una aplicacin externa se encargue de la
gestin de las peticiones para tipos de archivo especficos (en el caso de los
manipuladores), para directorios especficos (en el caso de las acciones) y
reescribir URLs tanto en las peticiones entrantes como las respuestas del servidor
(en el caso de mod_rewrite). sta manipulacin de informacin interceptada
corresponde a procesar la informacin antes y despus de enviarla o recibirla a los
navegadores, lo que en el prrafo anterior llambamos pre y post procesamiento.
Si stas acciones se delegan a SITEUV, es decir, que se configura Apache Web
Server para permitir a SITEUV hacer estas tareas, se tendra acceso a cualquier
recurso que sera identificado, clasificado y descrito en la base de conocimiento y
en caso de no estar referenciado, se interpretara y almacenara o se encolara
para su posterior anlisis. Adems de interceptar las referencias (tanto internas
como externas al sitio), se podra incluir el cdigo necesario para que todas las
pginas tengan el Applet observador que vigile las acciones del usuario y sugiera
cursos a tomar segn el nivel o estado de nimo deducido de lo que haga el
usuario en cada pgina sin reescribir ningn cdigo de la plataforma Moodle, pero
s podra invocar o sugerir el uso de alguna funcionalidad que sta provea segn
el caso.

4.3.2.3 Componentes
Dentro de la terminologa de Tropos, Gate, o ms especficamente ANNIE (un
componente de Gate para la extraccin de informacin) debera ser una capacidad
de alguno o algunos de los agentes, y en caso de que el trfico sea demasiado y
la carga computacional del sistema sea muy grande, ste componente, o el agente
con esta capacidad puede ejecutarse en un servidor aparte que reporte los
resultados a la base de conocimientos o asncronamente respecto a la tarea de
indizar los contenidos. Este componente puede ser usado dentro del modelo de
componentes de Gate llamado Creole que su vez est basado en Java Beans.

El papel de Jade es la base de todo el sistema en trminos de implementacin.


Jade es una arquitectura completa en s para el desarrollo de sistemas
multiagente. Jade implementa mecanismos estndares comunes a los sistemas
multiagente como administracin del ciclo de vida de los agentes, mensajera
interagente e intraagente, estructura normalizada de mensajes, protocolos de
interaccin interagente, manipulacin de ontologas y mecanismos de seguridad y
ms importante todava: permite el uso de cualquier lenguaje como lenguaje de
contenidos (aunque soporta de manera nativa FIPA-RDF), es decir, podemos
seleccionar OWL para transferir contenidos entre los agentes o mejor an, un
73 Apache Software Foundation. Apache Jakarta Project, 2005. http://jakarta.apache.org/

105
objeto general Contenido con una interfaz general para extraer su informacin en
cualquier formato necesario.

A continuacin mostramos un diagrama que ejemplifica la manera sugerida en que


deberan interactuar los elementos mencionados anteriormente.

Figura 10. Interaccin de componentes

Dado que Moodle contiene las funcionalidades necesarias para compilar y


empacar objetos de aprendizaje conformes con SCORM, el sistema en sta
arquitectura slo tendra que tomar decisiones de cundo un contenido podra o
debera ser incluido dentro de un objeto de aprendizaje y hacer las llamadas
necesarias al API de Moodle para ejecutar esta operacin con sus respectivos
parmetros. Es necesario aclarar que el usuario en ste diagrama modela todos
los posibles actores del sistema.

4.3.3 Sugerencias de diseo y despliegue

Dadas las recomendaciones hechas en los captulos anteriores, no queda sino

106
trazar un plan de despliegue fundamental que sirva de ruta de diseo y despliegue
final del sistema.

4.3.3.1 Ontologas
Univirtual debe escoger una ontologa general o fundamental sobre la cual crear
las ontologas de dominio especfico. Esta organizacin ya tiene una incipiente
organizacin temtica por reas del conocimiento, lo que sugiere la necesidad de
una ontologa general limitada a las categoras ms generales como partida.
Dentro de las posibilidades expuestas en ste proyecto de grado, estn SUMO,
GOLD, EuroWordNet y Dublin Core que es la recomendacin final, basndonos en
el hecho de que Dublin Core es la base de las especificaciones orientadas a la
educacin y teniendo en cuenta que es una propuesta limitada a la inclusin de
metadatos en otros documentos lo cual a su vez la ha hecho muy popular.

Ms all de que Dublin Core sea la base ontolgica de las especificaciones


educativas, las otras ontologas generales representan un ejemplo para el
desarrollo de las ontologas especficas que se van a desarrollar, bien sea
manualmente o usando al sistema para componerlas y adems stas ontologas
se han venido usando como herramientas para la extraccin de informacin que
es un elemento fundamental para la generacin y poblacin automtica de
ontologas especficas. Dado que nuestro pas es un territorio multicultural de
mucha riqueza, recomendamos que el equipo de desarrollo de este sistema
incluya especialistas en lingstica que conozcan y aprendan a usar GOLD y
EuroWordNet para recomendar procedimientos de Extraccin de Informacin y
desarrollo de Ontologas para lenguas diferentes al castellano.

107
Figura 11. Elementos de Dublin Core

4.3.3.2 Migracin
Dentro de la estrategia de migracin hacia la Web Semntica propuesta por Tim
Berners-Lee, existe la idea de que, ya que las tripletas RDF son la representacin
ms general y fundamental de los datos, ya que pueden representar toda clase de
estructuras de datos como rboles, tablas y combinaciones de ambos (Ver figura),
en especial el hecho de que las tripletas permitan la representacin de tablas
implica que RDF puede modelar bases de datos relacionales. Dada esta premisa,
una de las tareas del equipo de desarrollo del sistema es estudiar los datos que
existen en este momento almacenados en bases de datos relacionales y pasarlas
por un filtro ontolgico que clasifique los objetos y contenidos ya existentes, es
decir, decida si tales datos son tiles para el sistema a futuro, si constituyen
contenidos clasificables y no datos funcionales del sistema actual. Cuando
hablamos de filtro ontolgico nos referimos a un agente, procedimiento o algoritmo

108
que para cada objeto o conjunto de objetos, extraiga la informacin relevante a su
naturaleza y la ubique en uno o varios dominios contemplados en el sistema a la
luz de la ontologa general escogida y establezca las relaciones con otras partes
del sistema.

A continuacin se ilustra cmo las tripletas RDF pueden representar todo tipo de
estructura:

Figura 12. RDF


representando tablas

Figura 13. RDF representando


rboles

Figura 14. RDF en estructuras


mixtas

109
4.3.3.3 Interfaz pblica
Finalmente consideramos importante una propuesta publicada en el libro Web
Intelligence por Joanna J. Bryson, David Martin, Sheila A McIlraith, Lynn Andrea
Stein74, en la cual proponen la arquitectura de Web Services como interfaz pblica
de los agentes Inteligentes, lo que resulta especialmente atractivo para nuestros
propsitos, dado que el marco de la educacin virtual mencionado, con sus
objetos de aprendizaje es un marco distribuido en el que los Web Services ya han
aparecido como tecnologa clave y debido tambin al reto de integrar dos
tendencias que algunos autores ven como las tendencias alternativas ms
importantes para el futuro de Internet: Web Services y Web Semntica.

74 ZHONG, Ning; LIU, Jimming; YAO, Yiyu (Editors). Web Intelligence. Springer,2003. p. 37

110
5. CONCLUSIONES

Un sistema multiagente incorpora como base un estudio detallado de las


caractersticas cualitativas del dominio sobre el cual se construye y su
dinmica, lo que pasado a una representacin precisa como las ontologas
los hacen ms generales an que los sistemas clsicos donde el
conocimiento del dominio era predominantemente esttico y dependiente
de los programadores. Lo anterior implica que un sistema basado en
ontologas tiene el potencial de autoenriquecerse o autocontrurse, sin ser
demasiado pretensioso, una caracterstica similar a la que tena la molcula
de ARN en la evolucin temprana de la vida en la tierra: una molcula
capaz de autorreplicarse y modificarse.

Las tecnologas mencionadas son tecnologas inmaduras en trminos de


implementacin pero que ya tienen suficiente consistencia como para
desarrollar sistemas robustos y de eficiencia satisfactoria.

El desarrollo exponencial de Internet implica inevitablemente que es


necesario apoyar las instituciones independientes de estandarizacin como
W3C, IETF e IEEE y acogerse, aportar o criticar sus estndares
propuestos. Esta forma de trabajar as como la construccin comunitaria
son mencionadas como caractersticas fundamentales de la Web 2 75 76, con
este proyecto se apunta a la adicin de la Universidad Tecnolgica de
Pereira a esta nueva tendencia como pionera en el Pas y probablemente
en Latinoamrica aprovechando la experiencia adquirida durante los ltimos
aos de desarrollos Web realizados por el CRIE.

Internet se basa en la relatividad de las verdades y es por eso que la Web


Semntica apunta a crear ontologas personalizadas en el ms avanzado
estadio que sta pueda lograr.

El desarrollo de un sistema multiagente de esta envergadura sin haber


experimentado y reconocido las tecnologas ni las teoras en las cuales se
75 Oreilly. What is Web 2.0?. http://www.oreillynet.com/pub/a/oreilly/tim/news/2005/09/30/what-
is-web-20.html?page=1
76 Web 2.0 Conference. Web 2.0 Conference, 2006. http://www.web2con.com/

111
basa requiere un esfuerzo significativo en trminos de investigacin y
experimentacin. Lo anterior se suma a la inmadurez de tales tecnologas
para crear un panorama complejo del que la academia puede sacar mucho
provecho para crecer tanto en la capacidad de anlisis y evaluacin como
en la ventaja tecnolgica.

La educacin virtual tiene la capacidad de contemplar aspectos sociales


como el acceso a la educacin para sectores sociales discriminados como
son las comunidades cuya lengua nativa no es castellano y es obligacin
del sector oficial explotar y mejorar estas capacidades en direccin a
eliminar tales inequidades.

La inclusin de lenguas diferentes al castellano en un sistema de educacin


inteligente hara de la Universidad Tecnolgica de Pereira una pionera en la
educacin virtual en Colombia y probablemente en Latinoamrica,
reconociendo el carcter multicultural de nuestra comunidad as como en la
comunidad europea reconocen este mismo fenmeno con tecnologas
como EuroWordNet.

Internet y la Web Semntica son fenmenos constructivos cuya fortaleza se


basa en reglas de asombrosa sencillez, como RDF, que modelan cualquier
estructura por compleja que pueda llegar a ser y que no pretenden
establecer verdades o aseveraciones absolutas, su verdadera fortaleza
consiste en permitir diferentes interpretaciones (o flexibilidad) de los
mismos hechos, tal como lo hacemos naturalmente los seres humanos.

El presente trabajo es un mapa de tecnologas y sugerencias para convertir


a Univirtual en un sistema de aprendizaje inteligente que apunta a la Web
del futuro, sin embargo de l se desprenden interesantsimas preguntas de
carcter social, como cules son los modelos matemticos de las
interacciones sociales de los agentes en un ambiente de arquitecturas
heterogneas? y qu parmetros hay que tener en cuenta para garantizar
que la educacin virtual promueva el conocimiento de manera justa y
equitativa entre la poblacin Colombiana?.

La educacin virtual es una apuesta importante hacia el futuro siempre y


cuando no se perfile como un modelo exclusivamente comercial. En el
origen de Internet y la base que la hizo tan importante como lo es ahora,
est la idea de comunidad libre y constructiva, pero esta idea soslaya el
hecho de que ha impulsado principalmente una parte de la sociedad que
tiene educacin y nivel econmico suficiente para explotar las ventajas que
supone esta revolucin. Puede Colombia desarrollar el mismo modelo de

112
educacin Virtual que se estandariza en el mundo y promover realmente
una educacin personalizada y econmica para quienes realmente lo
necesitan?, Univirtual satisface esta necesidad de conocimiento en las
comunidades econmicamente deprimidas?.

Es necesario que el currculo de Ingeniera de Sistemas incluya el


desarrollo (anlisis, diseo e implementacin) de sistemas multiagente en el
currculo, ya que muchos proyectos de grado apuntan a ste tema, incluso
cuando dentro de la carrera nunca se cursa o estudia ni las teoras, ni las
metodologas, ni las tecnologas en las que se basa.

113
6. RECOMENDACIONES

ste proyecto de grado, es la continuacin del proyecto de grado de Carolina


Moreno y Sandra Muoz sobre los SIT (o ITS en ingls). Nosotros despus de la
investigacin y anlisis de este tema consideramos que el conjunto de estudios,
anlisis y desarrollos necesarios para implementar un sistema eficiente y de la
mejor calidad, es tan grande y complejo que amerita que varios proyectos de
grado se desarrollen conjuntamente en la misma direccin. Nosotros
consideramos que los temas centrales de este proyecto, como son, Web
Semntica, Reconocimiento de Lenguaje Natural y Sistemas Multiagente
orientados al desarrollo del sistema ac propuesto dan cada uno para un proyecto
de grado y que la implementacin final del Sistema de Tutoreo Inteligente
Extendido debe ser desarrollado con la asesora de expertos en educacin,
lingstica y, en especial, en educacin virtual.

Dada esta premisa nosotros proponemos que se desarrolle un proyecto de grado


sobre implementacin de un sistema de reconocimiento de lenguaje natural y Web
Semntica que sirva de base para los agentes de extraccin de informacin
mencionados ac y otro proyecto de implementacin de un sistema multiagente
para educacin virtual que acoja las recomendaciones hechas en ste proyecto,
especialmente las tcnicas de modelado de los usuarios (modelo de estudiante,
modelo pedaggico y algn otro modelo que se corresponda con un ser humano)
pero que permita la adicin al anterior sobre reconocimiento de lenguaje natural.

Para terminar, queremos que la Universidad emprenda la labor de poner a


disposicin de la regin un sistema de educacin virtual que desarrolle la
capacidad intelectual y tcnica de los sectores ms deprimidos y pobres ya que
esa es la labor de la Universidad como representante de nuestro Estado de
naturaleza social como lo indica la Constitucin Nacional, teniendo en cuenta
tambin la existencia de etnias nativas cuya lengua no es castellano.

Nos gustara tambin que la ingeniera del software que se ensea en la


Universidad tuviera una perspectiva ms clara y nos enseara a valorar iniciativas
como MDA (Model-Driven Architecture, arquitectura dirigida por modelos) para
poder contribuir al proyecto mencionado como MALACA para mejorar un poco el
panorama de la programacin orientada a agentes.

114
7. LNEAS DE INVESTIGACIN FUTURA

Durante todo este proyecto de grado se mencionan una serie de ideas de


investigacin que ya estn en curso y que sera muy importante estudiar e
implementar as fuera en un contexto puramente experimental.

Dentro de stas ideas est la autenticacin basada en razonamiento que es la


idea que subyace a la confianza de la Web Semntica y por lo tanto un elemento
para incorporar en la plataforma propuesta. Un proyecto en sta lnea que ya fue
desarrollado e implementado en los mismos trminos que sugiere Tim Berner-Lee:
el sistema usa lgica de orden superior para examinar pruebas lgicas aunque no
implementa procedimientos de decisin. La pgina principal de ste proyecto se
puede acceder en ste URL: http://www.cs.princeton.edu/sip/projects/pca/

Aunque no parece muy complejo, un sistema de redes de confianza es el objetivo


final de la Web Semntica y es un serio objeto de estudio. Este proyecto es el
laboratorio perfecto para implementar y evaluar sistemas de redes de confianza
debido a su tamao limitado pero permanente actividad. Una fuente de artculos y
ejemplos es la pgina http://trust.mindswap.org/index.shtml y su respectivo
experimento Film Trust: http://trust.mindswap.org/FilmTrust.

Otra idea que podra tener un gran impacto sobre el desempeo de Univirtual
sera la construccin de objetos de aprendizaje basados en las discusiones
sostenidas entre usuarios del sistema y documentacin suscrita por stos al
sistema. Una vez que exista la base ontolgica, es posible parametrizar el sistema
para que detecte un conjunto de contenidos relacionados de tal manera que se
correspondan con un objetivo de aprendizaje previamente establecido -o sugerido
por los usuarios- y por lo tanto, el sistema sera capaz de describir ste conjunto
(ya catalogado y representado en la base ontolgica) y sugerir la creacin de un
objeto de aprendizaje. Lo anterior sera generacin dinmica de contenidos
basada en construccin colectiva, sobre este tema no lemos ninguna
documentacin que ilustrara el concepto ni las tcnicas que debera usar.

115
BIBLIOGRAFA

RUSSELL, Stuart, NORVIG, Peter. Inteligencia artificial, un enfoque moderno.


Prentice Hall, 1992
MUOZ, Sandra, MORENO, Carolina. Incorporacin de agentes inteligentes a los
procesos de enseanza virtual como base para el desarrollo de un modelo de
universidad virtual. Universidad Tecnolgica de Pereira, 2003.
BOLVAR, Jennifer; ORREGO, Dany. Monografa anlisis del aprovechamiento de
los agentes mviles en aplicaciones diseadas para redes. Universidad
Tecnolgica de Pereira, 2004.
ZHONG, Ning; LIU, Jimming; YAO, Yiyu (Editors). Web Intelligence. Springer,2003

Documentos PDF incluidos en la documentacin:

AMOR, Mercedes; FUENTES, Lidia; VALLECILLO, Antonio. Bridging de gap


between Agent-Oriented Design and Implementation using MDA. Universidad de
Mlaga, Departamento de Lenguajes y Ciencias de la Computacin, 2005.
SUDEIKAT, Jan; et al.. Evaluation of AgentOriented Software Methodologies
Examination of the Gap Between Modeling and Platform. University of Applied
Sciences Hamburg, University of Hamburg, 2005.
BENJAMINS, V. Richards; FENSEL, Dieter; GMEZ PREZ, Asuncin,
Knowledge Management through Ontologies. University of Amsterdam, University
of Karlsruhe, Technical University of Madrid, 1998.
PEIS REDONDO, Eduardo; HASSAN MONTERO, Yusef; Ontologas, metadatos y
agentes: recuperacin semntica de la informacin. Universidad de Granada.
WOOLDRIDGE, Michael; R. JENNINGS, Nicholas; KINNY, David. The Gaia
Methodology for Agent-Oriented Analysis and Design. University of Liverpool,
University of Southampton Highfield, University of Melbourne, 2000.
DINI, Lucas. NLP Technologies and the Semantic Web: Risks, Opportunities and
Challenges. CELI, 2003.
BUITELAAR, Paul; DECLERCK, Thierry. Linguistic Annotation for the Semantic
Web. DFKI GmbH, Language Technology Department, 2003.

116
DELOACH, Scott A.. Multiagent Systems Engineering: A Methodology And
Language for Designing Agent Systems. Air Force Institute of Technology. Air Force
Institute of Technology, Department of electrical and Computer Engineering, 1999.
HOA DAM, Khanh; WINIKOFF, Michael. Comparing Agent-Oriented
Methodologies. RMIT University Melbourne, School of Computer Science and
Information Technologies, 2003.
THANGARAJAH, John; PADGHAM, Lin; HARLAND, James. School of Computer
Science and Information Technology, RMIT University Melbourne, 2001.
MEDHI, Dastani; HULSTIJN, Joris; VAN DER TORRE, Leendert. University of
Utrecht, CWI msterdam, 2003.

117
NEXOS

Anexo A. Defectos de la P.O.O. para modelar agentes.

El primer problema tiene que ver con el modelamiento de agentes individuales o


clases agentes. Si bien existen similitudes superficiales entre agentes y objetos,
representar un agente como un objeto, p. ej.: como un conjunto de atributos y
mtodos, no es muy til ya que la representacin de grano muy fino, operando a
un nivel de abstraccin inapropiado. Un agente representado de esta manera
puede parecer bastante extrao, tal vez exhibiendo un slo mtodo pblico cuya
funcin es recibir mensajes de otros agentes. Por lo tanto un modelo de objetos no
captura mucha informacin til acerca de los agentes y poderosos conceptos de la
POO como herencia y agregacin se hacen bastante intiles como resultado de la
pobreza de la representacin.

Hay varias razones para este problema. Una es que el paradigma de agentes est
basado en una significativamente ms fuerte nocin de encapsulacin que el
paradigma de objetos. El estado interno de un agente es usualmente bastante
opaco y, en ciertos sistemas, los comportamientos que un agentes desarrollar a
pedido no son ni siquiera conocidos hasta que l los avisa dentro de un sistema
activo. Relacionado con esto est la nocin clave de autonoma: los agentes no
pueden ser creados y destruidos normalmente en la manera liberal permitida en
los sistemas de objetos y ellos tienen mayor libertad de determinar cmo
responder a los mensajes, incluyendo, por ejemplo, negociar algn acuerdo sobre
cmo se desarrollar cierta tarea. As como el modelo de comunicaciones
subyacente es usualmente asncrono, no hay nocin predefinida de flujo de control
desde un agente a otro: un agente puede autnomamente iniciar comportamientos
internos o externos en cualquier momento, no slo cuando se le enva un
mensaje. Finalmente, el estado interno de un agente, incluyendo su conocimiento,
puede ser necesario representarlo en una manera que no sea fcilmente
traducible a un conjunto de atributos; en cualquier caso, hacerlo constituira una
desviacin prematura de implementacin.

El segundo problema se relaciona con la potencia de los modelos de objetos para


capturar adecuadamente las relaciones establecidas entre agentes en sistemas
multiagente. Mientras los modelos secundarios de uso comn en metodologas
orientadas a objetos tales como casos de uso y diagramas de interaccin pueden

118
ser tilmente adaptados (con algunas diferencias semnticas), el modelo de
Objetos, que constituye la especificacin primaria de un sistema de objetos,
captura asociaciones entre clases de objetos que modelan dependencias
inmensamente estticas y caminos de accesibilidad que son sumamente
irrelevantes en un sistema multiagente. nicamente la relacin de instanciacin
entre clases e instancias puede ser directamente adoptada. Aspectos importantes
de las relaciones entre agentes tales como su repertorio de interacciones y su
grado de control o influencia sobre los otros agentes no son fcilmente
capturados. El problema esencial aqu es la uniformidad y naturaleza esttica del
modelo de objetos OO. Un adecuado modelo de agentes necesita capturar estas
relaciones entre agentes, su naturaleza dinmica y tal vez otras relaciones entre
elementos del sistema agentes y no agentes incluidos los pasivos o abstractos
tales como los que se modelan en GAIA como recursos.

Ambos problemas se relacionan con la capacidad de las tcnicas OO para


modelar sistemas multiagente. Otro asunto es la aplicabilidad de metodologas OO
al proceso de analizar y disear un sistema multiagente. Las metodologas OO
tpicamente consisten en un ciclo de refinamiento iterativo de identificar clases,
especificando sus semnticas y relaciones y elaborando sus interfaces e
implementacin. A este nivel de abstraccin, ellas parecen similares a las
metodologas tpicas Orientadas a agentes, las cuales proceden usualmente
identificando los papeles (o roles) y sus responsabilidades y metas, desarrollando
una estructura organizacional y elaborando el conocimiento y comportamientos
asociados con un papel o agente.

Sin embargo esta similitud desaparece en el nivel de detalle requerido por los
modelos, ya que las abstracciones clave involucradas son bastante diferentes. Por
ejemplo, el primer paso para identificar clases tpicamente consiste en identificar
cosas tangibles, papeles, organizaciones, eventos o incluso interacciones como
objetos candidatos, mientras stos necesitan ser claramente distinguidos y
tratados diferentemente en una aproximacin orientada a agentes. La uniformidad
y concrecin del modelo de objetos es la base del problema; las metodologas OO
proveen gua e inspiracin ms que una aproximacin directamente til al anlisis
y diseo.

Traducido de The Gaia Methodology for Agent-Oriented Analysis and Design:


shortcomings of OO methodologies.77

77 WOOLDRIDGE, Michael; R. JENNINGS, Nicholas; KINNY, David. The Gaia Methodology for

Agent-Oriented Analysis and Design. University of Liverpool, University of Southampton


Highfield, University of Melbourne, 2000.

119
Anexo B. Prototipo
Como ejemplo del modelo de implementacin propuesto, hemos decidido dejar en
este documento una ilustracin de cmo integrar fcilmente las libreras y
tecnologas ncleo mencionadas: Dublin Core, GATE y JADE respectivamente.

Dublin Core
Dublin Core es una propuesta que ha tomado fuerza en el mbito del
entrenamiento virtualizado como medio de publicacin de metadatos, es decir,
datos acerca de los datos. Dublin Core no es esencialmente una ontologa y de
hecho tiene representaciones en etiquetas clsicas de HTML sin muchas
restricciones, lo que significa que generalmente no explota las capacidades
lgicas de las ontologas como las relaciones de composicin, agregacin y
cardinalidad entre elementos. A pesar de lo anterior encontramos una
representacin de Dublin Core en OWL como ontologa base para ser incluida en
proyectos Protg que puede ser de utilidad a futuro.

Dublin Core est compuesto por un conjunto de elementos bien definidos que se
pueden esperar de un documento que suscriba este modelo:

Acerca de -> Contenido Propiedad Instancia


Intelectual

Elementos -> Coverage Contributor Date


Description Creator Format
Type Publisher Identifier
Relation Rights Language
Source
Subject
Title
Audience

stos elementos constituyen el esqueleto de Dublin Core, pero se acompaan de


lineamientos precisos acerca de su uso, por ejemplo, la definicin oficial de
muchos de ellos est acompaada por la definicin de esquemas de codificacin,
que consisten en conjuntos de valores predeterminados con significados precisos

120
que se pueden usar como contenido de la etiqueta en particular usada a manera
de dominio restringido y normalizado.

Hemos notado en el listado de los elementos de Dublin Core varios que pueden
servir de puente con el sistema de ontologas que son Subject (Tema), Relation
(Relacin con otro recurso) y Type (Tipo). stos campos permiten (y la
especificacin recomienda) el uso de codificaciones especficas de la plataforma
de uso, sin embargo tambin sugieren acogerse a varios esquemas que ya existen
para su uso como la clasificacin decimal de Dewey que especifica las disciplinas
del conocimiento con fines de clasificacin de documentos como libros en una
biblioteca.

Dado lo anterior lo que hace el prototipo es adicionar una meta etiqueta Dublin
Core Subject cuyo dominio es restringido a una cierta clasificacin del contenido
tomando en cuenta algn criterio (como las palabras usadas en el documento, su
significado potencial y el contexto en el que est disponible). El algoritmo para
clasificacin usado es un algoritmo trivial y debe ser cambiado a uno ms eficiente
al momento de la implementacin final que explote las capacidades de Gate para
anlisis de lenguaje natural y su aplicacin tambin debe ser decisin de los
implementadores finales. En el ejemplo, la clase StandAloneAnnie aplica un
mtodo esttico llamado clasificacion() que recibe un documento ya anotado (que
hace parte del corpus sobre el cual se ejecutaron los recursos de procesamiento).
ste mtodo puede ser reemplazado por una clase depediente del origen del
documento o del tipo y formato del mismo y debe implementar mtodos de
clasificacin basados en agrupamiento (clustering) y estadsticas, en el prototipo
solamente imprime a la salida estndar las etiquetas dc:subject y dc:type con los
valores "nota" y "text/html" considerando que los ejemplos fueron tomados de una
nota informativa.

GATE
Gate, el elemento fundamental de la presente propuesta, como ya se ha
mencionado, es una plataforma para el desarrollo e investigacin en varios
campos como lingstica computacional, Procesamiento de Lenguaje Natural,
extraccin de informacin y otros ms que la documentacin oficial incluye dentro
del campo de la Ingeniera del Lenguaje y que se respaldan en los distintos
procesos de anlisis sintctico de textos escritos en lenguajes humanos. Gate
incluye un conjunto de recursos u objetos reusables llamados CREOLE (Collection
of REusable Objects for Language Engineering) en la forma de archivos .JAR y
algunos archivos XML que componen la configuracin de los componentes, el ms

121
importante de todos es ANNIE (A Nearly New Information Extraction system) que
contiene un conjunto de componentes para el anlisis de lenguaje natural y
anotacin, que, usando tcnicas de mquinas de estado finito, implementa tareas
varias como separacin de tokens, etiquetado semntico y particionamiento de
frases verbales.

La plataforma se define compuesta por tres elementos o tres formas de ver el


sistema en conjunto:

Una arquitectura, es decir, una estructura organizacional para el


procesamiento de lenguaje natural.
Un marco de trabajo, es decir, una serie de libreras y procesos
normalizados por medio de los cuales la arquitectura definida se puede
incluir en otras aplicaciones.
Una interfaz grfica construida sobre el mismo marco de trabajo y que hace
uso de la arquitectura mencionada y que en ocasiones se denomina
Entorno de Desarrollo GATE.

La arquitectura para el procesamiento de lenguaje natural est implementada en


Java y est basada en componentes, orientacin a objetos y movilidad del cdigo.

La arquitectura de GATE establece que existen tres tipos de recursos y todo lo que
se desarrolle en ella debe corresponder a alguno de estos tres tipos de recursos:
Recursos de Lenguaje (Language Resources -LRs-), entre los que se incluyen los
documentos, las corporas (colecciones de documentos), ontologas y lxicos.
Recursos de Procesamiento (Processing Resources -PRs-) que representan
cualquier recurso algortmico o que realice algn procesamiento sobre los
recursos de lenguaje como intrpretes, generadores, modeladores, etc.
Recursos Visuales (Visual Resources -VRs-) que son los elementos que tienen
participacin en la GUI o entorno de desarrollo de GATE y que generalmente son
incluidos como aportes de terceras partes al sistema, por ejemplo, la edicin de
proyectos al estilo Protg -Programa para la edicin y experimentacin con
ontologas-.

Gate por lo tanto presenta una interfaz grfica que cumple con algunas funciones
de entorno de desarrollo en el sentido de permitir crear, evaluar y depurar
'aplicaciones' de tal manera que una vez que se tiene la seguridad de que el
desempeo en el entorno es satisfactorio, la codificacin de tal 'aplicacin' es muy
directa porque lo que se hace en el entorno tiene una correspondencia con ciertas
sentencias que la replican a nivel de cdigo con el fin de ser incluida como
componente adicional de otra aplicacin. Las aplicaciones de GATE consisten en
definiciones de procesamientos en varios modelos, por ejemplo ejecucin

122
consecutiva o condicionada de diferentes operaciones representadas por recursos
de procesamiento definibles por el usuario, como un separador de tokens
(tokenizer), gramticas y marcador con base en gacetas predefinidas (Gazeteer),
revisor de ortografa, etc. despus de los cuales los documentos sobre los que se
ejecut la aplicacin quedan enriquecidos con las anotaciones que hayan
realizado tales procesos o recursos de procesamiento.

De acuerdo con lo anterior nosotros escogimos algunos documentos al azar y


ejecutamos la aplicacin por defecto (ANNIE) sobre ellos para observar las
anotaciones realizadas por el sistema y una vez hecho esto implementamos un
ejemplo de ANNIE como aplicacin aparte que permite acceder a nivel de cdigo a
tales anotaciones. El cdigo del programa se incluye al final de este anexo y
consiste en una modificacin a un programa de ejemplo que viene incluido con la
plataforma. La observacin ms importante para lograr que el programa corra
exitosamente es la necesidad de inclusin de todas las libreras incluidas en GATE
bajo la carpeta /lib ya que normalmente GATE usa muchas de ellas hasta en las
aplicaciones ms simples y resulta un poco difcil encontrar la clase especfica que
hace falta dentro de los muchos archivos .JAR que contiene.

A partir de este proceso procedimos a incluir dentro de los recursos auxiliares del
programa (listados de nombres propios, ciudades, entidades, etc.) las entidades
pertinentes a esta instancia, es decir, en espaol y elementos del ambiente de
ejecucin (entidades locales, sitios reconocidos, etc.). Lo cual dentro de la
propuesta de implementacin debera ser sealado por el sistema o deducido
naturalmente del uso dado en el sistema completo por medio de algn mtodo
probabilstico o de agrupamiento o cooperativamente a travs del uso que la
comunidad haga de ellos a manera de Wiki una vez que se tenga maestra en las
funcionalidades de GATE a travs de sus diferentes interfaces.

JADE
Finalmente JADE es considerado un middleware o interfaz intermediaria que
implementa los procedimientos y utilidades necesarias para crear sistemas de
agentes conformes con los lineamientos sealados por FIPA.

JADE, como plataforma completa que es, consiste tanto en el marco de trabajo, es
decir, las libreras que soportan la funcionalidad del sistema de agentes, un
ambiente de ejecucin y una interfaz grfica que permite hacer seguimiento a los
agentes que en ella se ejecutan.

El elemento fundamental de Jade es la clase Agent y complementariamente los


comportamientos (clase Behaviour) con los cuales los agentes llevan a cabo sus

123
tareas y los mensajes ACL (Clase ACLMessage y otras complementarias) que son
el medio de comunicacin entre agentes y que permiten la especificacin de
lenguajes definidos por el usuario.

Entonces un agente ejecuta un hilo nico y dentro de ese hilo nico implementa un
mecanismo para planificar la ejecucin cooperativa de los comportamientos que
soporta, es decir, cada comportamiento debe estar escrito de tal manera que la
ejecucin de su mtodo principal (Action) termine cada vez que sea llamado y d
paso a los dems comportamientos para ejecutar respectivamente su mtodo
Action. El control en ste modelo se hace a travs de las variables del Agente
como tal y con el uso del mtodo Boolean done() que retira el comportamiento de
la pila de comportamientos a ejecutar cuando cierta condicin (especificada por el
programador y efectuada en el mtodo Action) se cumple. Deduciblemente un
agente puede implementar varios comportamientos en la forma de objetos de la
clase Behaviour, de los cuales los ms simples son OneShotBehaviour,
CyclicBehaviour y Behaviour; adicionalmente existen mecanismos para combinar
estos comportamientos simples en comportamientos ms complejos, stos ltimos
comportamientos se implementan a travs de las clases SequentialBehaviour,
ParallelBehaviour y FSMBehaviour, es decir, ejecucin secuencial, paralela y en
forma de mquina de estado finito. Existen dos comportamientos de especial
importancia ya implementados llamados TickerBehaviour y WakerBehaviour de los
cuales el primero se ejecuta con base en un tiempo determinado cclicamente y el
segundo se ejecuta una sola vez en diferido una vez que se cumple un tiempo
determinado.

Los mensajes ACL corresponden a un formato de FIPA para interoperabilidad


entre agentes y estn compuestos por los siguientes campos:

Sender (Origen)
Lista de Receivers (Receptores)
Performative (Intencin comunicativa) que puede ser del tipo REQUEST,
INFORM, QUERY_IF, CFP, PROPOSE, ACCEPT_PROPOSAL,
REJECT_PROPOSAL entre otros.
Content (Contenido)
Language (Lenguaje) que especifica la sintaxis para interpretar el
contenido.
Ontology (Ontologa) que especifica la semntica de los smbolos usados
en el contenido.
Campos de control como conversation-id, reply-with, in-reply-to, reply-by.

Entonces nuestro prototipo consiste en un agente que ejecuta un comportamiento


diferido (WakerBehaviour) verificando la lista de archivos en un directorio y apenas

124
aparece un archivo con formato htm le efecta una anotacin a travs de la clase
anotador basada en GATE.

Cdigo Fuente y resultados

A continuacin incluimos el cdigo fuente necesario para usar algunas de las


funcionalidades de GATE y de JADE como se mencion en los apartes anteriores.
La primer clase llamada StandAloneAnnie es una clase con mtodo esttico
pblico main (es decir ejecutable desde lnea de comandos) que efecta una
anotacin sobre los documentos que se le pasen como parmetros de ejecucin
en lnea de comandos, ste mtodo es usado indirectamente por la siguiente clase
que es un agente que ejecuta un comportamiento cclico para revisar cierta
carpeta del sistema y efectuar anotaciones sobre los documentos html que no se
hayan anotado todava (es decir slo los nuevos documentos html en esta
carpeta).

125

126

127

128

129

130

131

132

133

134
Explicacin

Este cdigo fuente fue modificado y compilado usando Net Beans 5.0. Como se
puede observar en el cdigo fuente, el programa es una clase principal
StandAloneAnnie que es ejecutable directamente desde la lnea de comandos
que inicializa GATE para ejecutar anotacin sobre los documentos pasados como
parmetros en la lnea de comandos, en este caso nosotros usamos este mtodo
para llamarlo directamente desde el agente de Jade que es el que finalmente se
ejecuta debido a que la plataforma de ejecucin es realmente el contenedor de
JADE. Para que compilara y ejecutara efectivamente, fue necesario hacerle unas
pequeas modificaciones para que reconociera los archivos de inicializacin de
GATE e incluir algunas clases como clases de reconocimiento de patrones que
siempre es necesario incluir para que la ejecucin sea exitosa. Adems de stas
adiciones, el cdigo fue modificado para permitir cambio en ciertos parmetros de
los recursos de procesamiento como los lxicos, gacetas a usar o las reglas
gramaticales y de anotacin que se quieren aplicar. Otros parmetros modificables
son el tipo de anotaciones que se desea que queden sealados en las pginas
resultantes y cmo hacerlo. Una vez que se tiene este cdigo se tiene acceso a
las capacidades de GATE para efectuar marcado de los textos y experimentar con
el algoritmo de clasificacin como se quiera.

Figura 15 Pgina Web original

La figura 15 muestra el texto principal de una nota informativa de Univirtual tal


como se podra ver en Internet. Una vez ejecutada la clase StandAloneAnnie
sobre sta, el cdigo fuente de la misma es anotado en lnea y se sealan en rojo
las anotaciones que nosotros indicamos en el programa (Persona, Organizacin y

135
Lugar Person, Organization y Location en el programa) mostrando una pista con
el tipo de anotacin en azul cuando el cursor esta sobre la palabra sealada como
lo muestra la siguiente figura.

Figura 16. Pgina Web anotada, mostrando Location

En el siguiente caso el puntero del ratn se ubica sobre las palabras Cecilia
Vlez, correctamente anotada como Persona.

136
Figura 17. Pgina Web anotada, mostrando Person

La segunda clase (Agente) es un agente Jade que llama la plataforma de Agentes


y la usa para ejecutar sobre ella un comportamiento WakerBehaviour que como ya
explicamos es un comportamiento que se dispara cada 10 segundos (10000 ms.
como est en el cdigo fuente). El comportamiento es el encargado de llamar al
mtodo main de StandAloneAnnie indicandole los archivos que existen en la
carpeta bajo vigilancia como si fueran parmetros de la lnea de comandos. A
partir de esto se pueden hacer muchas cosas, por ejemplo que la clase de
anotacin sea realmente otro agente y que tambin exista un agente que se
entienda con las bases de datos a usar, eso slo lo dira la etapa de diseo
detallado de Tropos o de la metodologa seleccionada para el diseo.

La ejecucin del agente se realiz a travs del siguiente comando de lnea de


comandos:

java -classpath "E:\Documentos de Cesar\Proyecto de


Grado\prototipo\anotador\build\classes\;C:\Archivos de programa\GATE
3.0\bin\gate.jar;C:\Archivos de programa\GATE 3.0\lib\gnu-regexp-
1.0.8.jar;C:\Archivos de programa\GATE 3.0\lib\jdom.jar;C:\Archivos de
programa\GATE 3.0\lib\ontotext.jar;C:\Archivos de programa\GATE 3.0\lib\jasper-
compiler-jdt.jar;C:\Archivos de programa\GATE
3.0\lib\heptag.jar;e:\jade\lib\jade.jar;e:\jade\lib\Base64.jar;e:\jade\lib\iiop.jar;e:\jade\l
ib\jadeTools.jar" jade.Boot -gui cace:anotador.Agente

137
En esencia el comando no es tan complejo:

java classpath <carpetas y archivos .jar del programa, Gate y Jade> jade.Boot
agente:clase(parmetros) [-gui]

donde los ltimos parmetros, significan agente: identificador local del agente, en
nuestro caso cace, clase es el nombre de la clase que se quiere ejecutar, en
nuestro caso anotador.Agente, dado que anotador es el paquete al que
pertenecen las clases que nosotros creamos y entre parntesis el directorio del
que se desea anotar las pginas Web que contenga (en nuestro caso no hay
verificacin de la sintaxis). Finalmente, el interruptor gui indica a Jade que
ejecute el modo grfico.

Figura 18. Ejecucin del agente de prueba.

Como vemos en la figura anterior, despus de ejecutar el comando mencionado, la


consola empieza a mostrar las indicaciones del caso (como el directorio que se
usa, el momento en que se dispara el comportamiento y algunos identificadores de
la plataforma) y arranca la interfaz grfica de Jade, que no es necesaria, pero que

138
permite realizar operaciones de experimentacin, depuracin y prueba de las
capacidades de los agentes.

Finalmente mostramos la consola de ejecucin del programa en la siguiente figura:

139
140
Figura 19. Registro de la ejecucin del agente de prueba

Como vemos el programa muestra algunas indicaciones antes durante y despus


de la ejecucin de la aplicacin de ANNIE a los documentos encontrados. Los
documentos anotados se guardan en una variable de clase de StandAloneAnnie
con el fin de no anotarlos cada vez que se ejecute el comportamiento como se
ilustra en la siguiente figura.

Figura 20. Segunda ejecucin del comportamiento

141
Anexo C. Notas del CD

El CD que acompaa ste proyecto contiene todos los instaladores necesarios


para hacer las pruebas de rigor de las utilidades mencionadas, con las versiones
que se usaron para desarrollar el prototipo, as como la documentacin tanto de
las utilidades como del marco terico que se mencionan.

El instalador ejecuta cada archivo necesario para instalar las utilidades JADE y
GATE en su orden. Tambin pregunta si se desea instalar Protg que es la
herramienta de preferencia para disear y experimentar ontologas pero que no
fue usada en la construccin del prototipo.

Descripcin del contenido:

Instaladores: Archivos de instalacin del jdk1.5.0 con NetBeans 5.0, GATE


3.0, JADE 3.1 y Protg 3.2 Beta.
Documentacin: Conjunto de archivos en los cuales nos basamos para
desarrollar el tema del proyecto. Los documentos en la raz de esta carpeta
son los documentos que fueron citados en alguna parte de ste proyecto y
las subcarpetas son artculos y otras fuentes que no fueron directamente
citados pero de los cuales se extrajeron algunas ideas.
Prototipo: Contiene los archivos fuentes del prototipo y los compilados
.class en su estructura de directorios, as como el instalador de las
aplicaciones y del prototipo.

142

También podría gustarte