Documentos de Académico
Documentos de Profesional
Documentos de Cultura
1
DESARROLLO DE UN MODELO DE IMPLANTACIN DE AGENTES
INTELIGENTES EN LA RED UNIVIRTUAL COMO INTRPRETES
SEMNTICOS DEL LENGUAJE NATURAL
2
DESARROLLO DE UN MODELO DE IMPLANTACIN DE AGENTES
INTELIGENTES EN LA RED UNIVIRTUAL COMO INTRPRETES
SEMNTICOS DEL LENGUAJE NATURAL
Director
GILBERTO VARGAS CANO
Ingeniero Electricista
3
Nota de aceptacin:
________________________________
________________________________
________________________________
________________________________
Presidente del jurado
________________________________
Jurado
________________________________
Jurado
4
A nuestras madres y a
las personas que usen
este documento para
construir el futuro.
v
AGRADECIMIENTOS
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.
ix
x
LISTA DE FIGURAS
Pg.
xi
LISTA DE ANEXOS
Pg.
xii
GLOSARIO
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
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 RUSSEL, Stuart; NORVIG, Peter. Inteligencia Artificial, un enfoque moderno. Prentice Hall, 1995.
Pg. 5.
25
acadmicos que estudian el tema.
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.
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.
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
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.
30
2. JUSTIFICACIN
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.
32
3. OBJETIVOS
33
3.3 DELIMITACIN
34
4. MARCO REFERENCIAL
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.
35
funcionaba, es decir, cmo se le poda ver desde adentro. Adems de los criterios
de clasificacin mencionados el agente inteligente fue definido como:
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.
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.
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.
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.
39
necesario. 12
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.
41
Una interpretacin M est definida como una tupla
M=( W, E, T, <, U, B, D, I, ?)
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.
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.
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:
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.
45
Figura 2. Genealoga de Metodologas
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).
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
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.
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.
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.
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.
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.
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.
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).
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.
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.
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.
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.
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.
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.
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.
Eduardo Peis Redondo, Yusef Hassan, Enrique Herrera y Juan Carlos Herrera , de
la Universidad de Granada escriben al respecto:
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.
59
Figura 4 Grafo dirigido
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.
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.
29 Www Consortium. Resource Description Framework (RDF): Concepts and abstract syntax,
2004. http://www.w3.org/TR/rdf-concepts/
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.
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.
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.
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.
tbl/slide20-3.html
38 W3c. Rules layer technology, 2003. http://www.w3.org/2003/Talks/01-sweb-tbl/slide21-3.html
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.
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.
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.
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.
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).
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.
70
pero la experiencia con algoritmos demuestra que no lo son:
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.
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.
47 DINI, Lucas. NLP Technologies and the Semantic Web: Risks, Opportunities and Challenges,
2003.
48 RUSSEL, Stuart, Op. cit. p. 731
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.
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.
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.
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.
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.
77
asesores y diseadores de contenidos con el sistema.
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.
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:
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.
80
plataforma.
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
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.
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.
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.
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.
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).
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.
61 http://www.lsal.cmu.edu/lsal/expertise/projects/scorm/scormevolution/reportv1p02/report-
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.
Finalmente para integrar estas tecnologas al estilo Web Semntica, hay que
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.
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.
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.
90
Figura 6. SUMO: Suggested Upper Merged Ontology
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.
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.
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.
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:
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
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.1 Arquitectura
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.
98
Aportar a la comunidad: Sugerir o crear contenidos adicionales
(documentos, ejercicios, multimedios, etc.).
Interesarse por temas ms avanzados.
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.
100
Figura 9. Modelo de agentes fundamental
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-.
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.
4.3.2 Plataforma
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).
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.
105
objeto general Contenido con una interfaz general para extraer su informacin en
cualquier formato necesario.
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.
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:
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
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.
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?.
113
6. RECOMENDACIONES
114
7. LNEAS DE INVESTIGACIN FUTURA
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
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
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.
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.
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.
77 WOOLDRIDGE, Michael; R. JENNINGS, Nicholas; KINNY, David. The Gaia Methodology for
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:
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 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.
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.
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.
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.
124
aparece un archivo con formato htm le efecta una anotacin a travs de la clase
anotador basada en GATE.
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.
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.
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
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.
138
permite realizar operaciones de experimentacin, depuracin y prueba de las
capacidades de los agentes.
139
140
Figura 19. Registro de la ejecucin del agente de prueba
141
Anexo C. Notas del CD
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.
142