Ontologias e sua aplicação
em linguagens de
Comunicação
Rafael de Moura Speroni
Disciplina de Modelagem de Sistemas Multiagentes - 2006/2
Prof. Ricardo Silveira – PPGCC - UFSC
Comunicação entre agentes
„
„
„
Pessoas, organizações e sistemas de software devem ser
capazes de se comunicar.
A existência de conjuntos de palavras específicas para
cada contexto ou assunto de uma área permite observar
discrepâncias, justaposições e/ou conceitos mal
compreendidos, em estruturas e métodos.
Como conseqüência, surge a falta de um entendimento
comum.
Comunicação entre agentes
„
A falta de um entendimento comum conduz a:
„
„
„
„
Uma comunicação pobre, dentro e entre estas pessoas
e/ou organizações.
Dificuldades na identificação de requisitos e deste modo
na definição da especificação do sistema.
Restringem a interoperabilidade;
Restringem o potencial para reutilizar e compartilhar
material.
Comunicação entre agentes
„
„
Comunicação entre agentes é a troca intencional
de informações causada pela produção e
percepção de sinais por parte dos agentes.
A comunicação permite que os agentes em um
ambiente multiagente troquem informações que
servirão de base para coordenar suas ações e
realizar cooperação.
Comunicação entre agentes
„
„
Para que estes atos de comunicação e a
cooperação entre agentes sejam possíveis,
precisa-se de uma Linguagem de Comunicação
entre Agentes (Agent Communication Language,
ou ACL).
Linguagens para comunicação entre agentes
prometem ter o mesmo papel que as linguagens
naturais exercem para as pessoas.
Linguagens de Comunicação
entre agentes
„
„
Em uma ACL, é importante a forma como as
mensagens são comunicadas, isto é, se as
mensagens expressam adequadamente seu
propósito sob um ponto de vista semântico.
A comunicação entre dois agentes quaisquer é
possível quando:
„
„
„
Tem capacidade de se comunicar
Compartilham um conteúdo de conhecimento básico
Compartilham uma maneira de representar conhecimento
Especificações de uma ACL
„
A especificação preocupa-se com a descrição da
estrutura da mensagem, seu modelo semântico e
os protocolos de:
„
„
„
O formato da mensagem define os atos de comunicação
primitivos e os parâmetros da mensagem (como sender,
receiver, etc.).
O conteúdo da mensagem descreve fatos, ações, ou
objetos em uma linguagem de conteúdo (KIF, Prolog,
etc).
Outros parâmetros podem cuidar do significado da
mensagem e sua entrega.
Especificações de uma ACL
„
„
O modelo semântico de uma ACL estabelece os
fundamentos para obter um significado conciso e não
ambíguo das mensagens do agente e dos protocolos de
interação.
Os protocolos de interação são conjuntos de padrões
bem definidos projetados para facilitar a comunicação
entre agentes.
Definição de Ontologias
„
Uma ontologia é uma especificação
explícita de objetos e relações em um
mundo ou domínio alvo com intenção de
compartilhar estas informações com uma
comunidade de usuários e usada para
construir modelos de representação dos
objetos desse domínio.
Ontologia
„
„
„
No contexto de compartilhamento de
conhecimento, o termo Ontologia é utilizado com
o significado de uma especificação de uma
conceitualização.
Uma ontologia necessariamente vincula ou inclui
algum tipo de “visão geral” referente a um
domínio determinado.
Esta “visão geral” é freqüentemente concebida
como um conjunto de conceitos (i. e. entidades,
atributos, processos), suas definições e suas
inter-relações.
Razões para a Utilização de Ontologias
„
Algumas das razões que levam à utilização de ontologias:
„
„
„
„
O compartilhamento da compreensão da estrutura da
informação através das pessoas e agentes de software é um dos
objetivos mais comuns no desenvolvimento de ontologias;
Proporcionar reutilização de conhecimento do domínio;
Separar o conhecimento a respeito do domínio do
conhecimento operacional;
Analisar o conhecimento do domínio é possível, uma vez que
esteja disponível uma especificação declarativa dos termos. A
análise formal dos termos é extremamente valiosa para reutilizar e
estender ontologias existentes;
Ontologias
„
„
Normalmente a ontologia de um domínio não é um
objetivo final.
O desenvolvimento de uma ontologia está,
portanto, relacionado à definição de um conjunto
de conceitos e sua estrutura para utilização por
outras aplicações.
Knowledge Query Manipulation
Language (KQML)
„
„
A efetivação da troca de conhecimentos entre agentes,
independente de formalismos de representação de
conhecimento na qual o conhecimento está expresso,
foi materializada pela linguagem de comunicação
KQML.
Ela compreende um conjunto extensível de
performativas, que define as possíveis operações de
comunicação em nível de conhecimento entre agentes.
KQML
„
„
„
É parte do ARPA Knowledge Sharing Effort
Os agentes podem trocar conhecimento,
enviando sentenças lógicas, fatos e metas, com o
intuito de cooperarem e/ou negociarem.
Os atos de fala implementados são os atos
assertivos (informar), diretivos (pedir ou
perguntar), proibitivos e declarativos (causar
eventos ao comunicador).
KQML
(ask-all :sender CFP-Agent
:receiver PPR-Agent
:in-reply-to id0
:reply-with id1
:language JessTab
:ontology Science
:content (object (is-a Link)
(URL ?u)
(anchor ?a&:
(occurs [call-for-papers] ?a))))
(tell :sender PPR-Agent
:receiver CFP-Agent
:in-reply-to id1
:reply-with id2
:language JessTab
:ontology Science
:content (object (is-a Link)
(URL
“http://lcn2002.cs.bonn.edu”)
(anchor “ IEEE Conference on
Local
Computer Networks (LCN
2002)”)))
FIPA ACL
„
„
FIPA ACL é uma linguagem que permite a
comunicação dos agentes através de
mensagens.
É parte das especificações da FIPA
(Foundation for Intelligent Physical Agents)
Para que os agentes sejam
compatíveis com a FIPA ACL
1.
2.
3.
4.
5.
Ter capacidade de enviar e entender mensagens.
As mensagens ACL devem ser corretamente
implementadas segundo a definição semântica.
Os atos de comunicação devem ser corretamente
implementados segundo suas definições.
Novos atos de comunicação podem não significar o
mesmo que os atos padrão pré-definidos.
Capacidade de gerar corretamente uma mensagem
sintaticamente bem-formada na forma de
transporte que corresponda a mensagem que
desejam enviar.
Estrutura da Mensagem
(inform
:sender agent1
:receiver hpl-auction-server
:content
(price (bid good02) 150)
:in-reply-to round04
:reply-with bid04
:language sl
:ontology hpl-auction)
Relação entre KQML e FIPA
„
„
„
KQML e ACL são linguagens de inter-língua, com o
objetivo de prover uma base lingüística comum
para agentes independentes comunicarem-se.
Ambas são baseadas na teoria dos atos de fala, na
qual as comunicações de um indivíduo podem ser
reduzidas a um pequeno número de primitivas
(communicative acts).
Sintaxe similar baseada em LISP.
Relação entre KQML e FIPA
„
„
„
Na KQML, inicialmente, a semântica das
performativas era descrita informalmente em
linguagem natural.
Pesquisas posteriores indicaram a necessidade por
uma semântica mais precisa, mas não ficou claro
que tenha sido universalmente adotada.
ACL foi projetada desde o início com uma
semântica bem definida formalmente.
A Linguagem UCL Para a Comunicação Envolvendo
Agentes - Carlos A. Estombelo Montesco, Dilvan de Abreu Moreira
„
„
Baseada na UNL (Universal Network Language),
um projeto da UNU para o desenvolvimento de
ferramentas de software para vencer a barreira da
língua para a comunicação entre os povos.
Integração comunicativa em um ambiente de
processamento automático de linguagem natural
(PALN), permitindo que usuários de qualquer parte
do mundo possam se comunicar sem que tenham
que aprender uma linguagem especial de
comunicação.
Universal Communication
Language (UCL)
„
„
UNL não é um padrão aberto;
UCL - baseada nos conceitos da UNL, mas
implementada em XML;
Universal Communication
Language (UCL)
„
A UCL representa a informação em sentenças
contendo a estrutura sintática, e um conjunto de
conceitos, relações e de atributos:
„
„
„
UW (Univeral Word): representa o significado de uma
palavra ou conceito.
Rótulo de relação: representa a relação entre UWs.
Rótulo de atributo: contém informação adicional ou
definição que se acrescenta à UW e que está presente
na mensagem.
Universal
Communication
Language (UCL)
„
„
„
„
Representação semântica da mensagem é feita
através de uma ontologia que define formalmente
o domínio de conhecimento.
Representação conceitual da mensagem está
representada pela ontologia ThoughtTreasure
(ferramenta PALN).
Cada UW é limitada na abrangência de seu
significado por meio de rótulos de relação,
evitando que dois conceitos se sobreponham.
Os conceitos que pertencem à mensagem são
relacionados utilizando os rótulos de relação.
Editores de Ontologias
„
„
„
Ontolíngua
KAON (framework para
desenvolvimento de aplicações em Web
Semântica)
Protégé
Protégé
„
„
Protégé é um editor de ontologias baseado
em conhecimento, livre e de código aberto.
As ontologias do Protégé podem ser
exportadas em vários formatos, incluíndo
RDF(S), OWL, e XML Schema.
„
http://compsem.inf.ufsc.br/~public/gau
thier/disciplina.owl
Considerações Finais
„
„
„
A comunicação entre agentes só é possível
através do entendimento que estes tenham sobre
as mensagens, seu significado.
Necessidade de formalização semântica, visando
obter um entendimento comum.
Ontologias são utilizadas para a formalização de
conhecimentos, definindo significado a conceitos e
suas inter-relações.
Referências
„
„
„
„
„
„
„
„
„
FREITAS, F. . Ontologias e a Web Semântica. In: Renata Vieira; Fernando
Osório. (Org.). Anais do XXIII Congresso da SBC. Volume 8: Jornada de Mini-Cursos
em Inteligência Artificial. Campinas: SBC, 2003, v. 8, p. 1-52.
MONTESCO, Carlos Alberto Estombelo ; MOREIRA, D. A. . UCL: uma linguagem de
comunicação para agentes de software baseada em ontologias. In: 1
Workshop em Tecnologia da Informação e da Linguagem Humana, 2003, São Carlos
v. 1. p. 1-4.
Carvalho, Felipe G. Comportamento em Grupo de Personagens do Tipo
Black&White. Dissertação de Mestrado PUC-Rio Rio de Janeiro, 2004.
Ferreira Filho, Raymundo. Ontological Engineering and ITS Research. Baseado
no trabalho do prof. Riichiro Mizoguchi. Disponível em
http://iate.ufrgs.br/lms/courses/PPECT_EO01/ Acessado em 10/08/2006.
GRUBER, Tom. R. Toward principles for the design of ontologies used for
knowledge sharing. International Workshop on Formal Ontology, Padova, Italy.
1993. Available as technical report KSL-93-04, Knowledge Systems Laboratory,
Stanford University.
NOY, Natalya F.; MCGUINNESS, Deborah. Ontology Development 101: A Guide
to Creating Your First Ontology. Stanford Knowledge Systems Laboratory
Technical Report KSL-01-05 and Stanford Medical Informatics Technical Report SMI2001-0880, March 2001.
PROTÉGÉ - The Protégé Ontology Editor and Knowloedge Acquisition
System. (2006) http://protege.stanford.edu/. Acessado em 10/08/2006
KAON – The Karlsruhe Ontology and Semantic Web tool suite. (2006)
http://kaon.semanticweb.org/ (Acessado em 10/08/2006)
Ontolingua (2006) http://www.ksl.stanford.edu/software/ontolingua/. Acessado em
10/08/2006.
Download

Comunicação entre agentes