eduardo moraes centro de informática – cin/ufpe outubro de 2010
TRANSCRIPT
Eduardo MoraesCentro de Informática – Cin/UFPE
Outubro de 2010
1. Ontologias2. A gestão do conhecimento3. Tecnologias para representação do
conhecimento4. Ontologias Aplicadas
2Ontologias de Domínio aplicadas a Gestão e Desenvolvimento de Software
Ontologias de Domínio aplicadas a Gestão e Desenvolvimento de Software 3
lida com a natureza e organização da realidade
O que é o ser?Quais são as características comuns a todos os seres?
Filosofia (Aristóteles 384-322 aC)
Gerenciamentodo Conhecimentoem Organizações
desde 90
Integraçãode Dadosdesde 95
SistemasMulti-agentes
desde 95
Recuperaçãode Informação
na Webdesde 00
PsicologiaCognitivadesde 60
Lingüísticadesde 60
SistemasEspecialistas
desde 80
Processamentode Linguagem
Naturaldesde 80
OntologiasFilosofiadesde 350 A.C.
Engenhariade Software:
requisitos e reusodesde 90
4Ontologias de Domínio aplicadas a Gestão e Desenvolvimento de Software
Ontologias de Domínio aplicadas a Gestão e Desenvolvimento de Software 5
Inteligência Artificial
“tudo que existe deve poder ser representado por um formalismo”
Constituída por um vocabulário e um conjunto de declarações, é de fato a base para a comunicação entre humanos e máquinas e/ou agentes
Ontologias de Domínio aplicadas a Gestão e Desenvolvimento de Software 6
Visa dar significado semântico pleno à informação
Tema importante em várias áreas de pesquisa Recuperação da informação
(mecanismos de busca)Ontologia
Bibliotecas Digitais
Web Semântica
Comércio eletrônico
Process. ling.natural
Integração de informação
Eng. conhecimento Gerência do conhecimento
7
A comunicação entre humanos é possível através de palavras/símbolos
Mapeamento de palavras/símbolos para “coisas” é feito de maneira indireta através de relações e conceitos
Conceito
Símbolo Coisa“Manga”
lembra refere-se a
significa(referente)
melhoria
Ontologias de Domínio aplicadas a Gestão e Desenvolvimento de Software
Ontologias de Domínio aplicadas a Gestão e Desenvolvimento de Software 8
Pessoas, organização e sistemas de software precisam se integrar, mas... comunicação pobre: diferentes
vocabulários, conceitos, estruturas e métodos utilizados de formas diferentes
dificuldades de identificar requisitos e conseqüentemente especificar o sistema
interoperabilidade potencial p/ reuso e compartilhamento esforço desnecessário, “reinventando a
roda”
Ontologias de Domínio aplicadas a Gestão e Desenvolvimento de Software 9
Reduzir ou eliminar confusão conceitual e teminológica e chegar a um entendimento compartilhadoframework unificadobase p/comunicação (≠ necessidades, ptos de vista)interoperabilidade entre sistemas (tradução entre modelagens, paradigmas, linguagens, ferramentas)Eng. Sistemas reusabilidade: atrib, entidades, relacionam, processos,....;
consistência devido à representação formal;especificação (melhor identificação requisitos leva a uma melhor definição do sistema
Ontologias de Domínio aplicadas a Gestão e Desenvolvimento de Software 10
Uma ontologia é uma especificação explícita de uma conceitualização [Gruber1994] Uma ontologia é uma especificação do nível de conhecimento
explícito de uma conceitualização, que pode ser afetado por um domínio e objetivo para os quais foi destinada [van Heijst et al.1996]
Uma ontologia são acordos acerca de conceitualizações compartilhadas
Uma ontologia é o entendimento compartilhado em algum domínio de interesse
Constituída por um vocabulário e um conjunto de declarações, é de fato a base para a comunicação entre humanos e
máquinas/agentes
Ontologias de Domínio aplicadas a Gestão e Desenvolvimento de Software 11
“Conceitualização: modelo abstrato de algum fenômeno do mundo, cujos conceitos foram identificados como relevantes para aquele fenômeno.
Explícita: conjunto de conceitos utilizados e as restrições aplicadas são previamente e explicitamente definidas.
Formal: espera-se que uma ontologia seja processável por um computador, o que exclui definições em linguagem natural, por exemplo.
Compartilhada: descreve um conhecimento consensual, que é utilizado por mais de um indivíduo e aceito por um grupo.” [Studer et al. 1998]
Ontologias de Domínio aplicadas a Gestão e Desenvolvimento de Software 12
5 diferentes tipos de componentes: Classes:
▪ Conceitos do domínio ou tarefas, geralmente organizados em taxonomias
▪ Em uma ontologia universitária: estudante e professor são duas classes
Relações: ▪ Um tipo de interação entre conceitos do
domínio▪ Ex.: subclass-of, is-a
Ontologias de Domínio aplicadas a Gestão e Desenvolvimento de Software 13
Funções: ▪ Caso especial de relações onde o n-ésimo elemento é
único para os n-1 elementos precedentes▪ Ex.: Preço de um carro usado
Axiomas:▪ Sentenças verdadeiras▪ Ex.: se um estudante está matriculado na disciplina X
e Y é pré-requisito de X, então o aluno já cursou Y Instâncias:
▪ Representam elementos específicos▪ Ex: O estudante João é uma instância da classe
Estudante
Ontologias de Domínio aplicadas a Gestão e Desenvolvimento de Software 14
Abordagem declarativa Descreve um domínio com suas entidades e características,
através de “fatos” declarativos, que não estão dentro dos programas
Motores de inferência deduzem novos fatos a partir dos existentes
Teorias Fundamentadas em lógica matemática e Sistemas para expressar e manipular conhecimento
declarativo de forma tratável e eficiente computacionalmente Formalismo provê
Acesso aos fatos (conhecimento) Mecanismo de inferência (ou estratégia de resolução) Estratégias de controle e escalonamento da inferência
A maior parte da Web hoje é dirigida ao consumo humano: Mesmo o conteúdo gerado automaticamente a partir de
bases de dados é usualmente apresentado sem a estrutura original da base de dados.
Usos típicos da Web hoje: Pesquisar e utilizar informação, Buscar e entrar em contato com outras pessoas, Pesquisar produtos e lojas on-line, Adquirir produtos e serviços.
Ontologias de Domínio aplicadas a Gestão e Desenvolvimento de Software 15
As atividades executadas na Web não são particularmente bem suportadas por ferramentas de software. Exceto por mecanismos de busca por palavras-chave
(p.ex: Google, AltaVista, Yahoo). A Web não seria o grande sucesso que é hoje se
não fossem os mecanismos de busca.
Ontologias de Domínio aplicadas a Gestão e Desenvolvimento de Software 16
Alto retorno com baixa precisão Baixo ou nenhum retorno Resultados altamente sensíveis ao vocabulário Os resultados são apenas páginas da Web A intervenção humana é necessária para
interpretar os resultados. O resultado obtido não é diretamente acessível
por outras ferramentas de software.
Ontologias de Domínio aplicadas a Gestão e Desenvolvimento de Software 17
1. Ontologias2. A gestão do conhecimento3. Tecnologias para represetaçao do
conhecimento4. Ontologias Aplicadas
Ontologias de Domínio aplicadas a Gestão e Desenvolvimento de Software 18
Gestão do Conhecimento subentende aquisição, acesso e manutenção do conhecimento nas organizações.
É uma atividade prioritária no mundo das grandes corporações: O conhecimento interno é seu capital intelectual.
É particularmente importante para as nações, multinacionais e outras organizações geograficamente dispersas.
A maior parte da informação atualmente disponível está numa forma estruturalmente fraca (p.ex: texto, áudio, vídeo)
Ontologias de Domínio aplicadas a Gestão e Desenvolvimento de Software 19
Pesquisa da Informação Mecanismos de Busca por Palavras-chave.
Extração da Informação Envolvimento humano necessário para procurar, recuperar, interpretar, combinar e indexar
Manutenção da Informação Inconsistências na terminologia, informação desatualizada…
Visualização da Informação Impossível definir modos de visualização da informação recuperada.
Ontologias de Domínio aplicadas a Gestão e Desenvolvimento de Software 20
O connhecimento poderia ser armazenado em espaços conceituais, de acordo com o seu significado.
A manutenção, descoberta e emergência de conhecimento poderia ser feita por ferramentas automatizadas.
Query/answering semântico. Query/answering sobre vários documentos. Adaptação do documento ao usuário.
Ontologias de Domínio aplicadas a Gestão e Desenvolvimento de Software 21
Um cenário típico: o cliente visita uma ou várias lojas on-line, pesquisa ofertas, escolhe e adquire produtos.
Idealmente as pessoas gostariam de visitar todas ou todas as principais lojas on-line, mas isso consome muito tempo.
Shopbots são ferramentas úteis.
Ontologias de Domínio aplicadas a Gestão e Desenvolvimento de Software 22
É necessário o emprego de wrappers, o que requer programação extensiva.
Os wrappers precisam ser reprogramados quando uma loja on-line modifica sua interface.
Os wrappers extraem informação com base em análise textual: Tendência a erros A informação extraída é limitada.
Ontologias de Domínio aplicadas a Gestão e Desenvolvimento de Software 23
Agentes de software poderiam interpretar informações sobre os produtos e os termos de serviço. Preço, parcelamento, juros, forma de entrega, políticas
de privacidade, etc, poderiam ser interpretadas e comparadas com as necessidades dos clientes.
Informação sobre a reputação das lojas estariam disponíveis.
Agentes sofisticados seriam capazes de conduzir negociações automáticas.
Ontologias de Domínio aplicadas a Gestão e Desenvolvimento de Software 24
Grande promessa para a economia
Atualmente adota principalmente EDI (Corba, ODBC, …) Tecnologias isoladas, entendidas somente por
especialistas Difícil de programar e manter. Tendência a erros. Cada comunicação B2B requer uma programação
separada.
Aparentemente a Web é a infraestrutura perfeita. Mas B2B não é bem suportado pelos padrões Web atuais.
Ontologias de Domínio aplicadas a Gestão e Desenvolvimento de Software 25
Parcerias seriam formadas sem muito overhead.
Diferenças na terminologia poderiam ser resolvidas por meio de modelos abstratos de domínios.
EDI por meio de serviços de tradução.
Leilões, negociações e contratos seriam executados automaticamente (ou quase) por meio de agentes de software.
Ontologias de Domínio aplicadas a Gestão e Desenvolvimento de Software 26
1. Ontologias2. A gestão do conhecimento3. Tecnologias para represetaçao do
conhecimento4. Ontologias Aplicadas
Ontologias de Domínio aplicadas a Gestão e Desenvolvimento de Software 27
Metadados Explícitos
Ontologias
Lógica e Inferência
Agentes de Software
Ontologias de Domínio aplicadas a Gestão e Desenvolvimento de Software 28
O conteúdo da Web é atualmente formatado para leitores humanos ao invés de programas.
HTML é a linguagem predominante na qual as páginas são escritas.
O vocabulário descreve a apresentação - e não o conteúdo.
Ontologias de Domínio aplicadas a Gestão e Desenvolvimento de Software 29
<h1>Agilitas Physiotherapy Centre</h1>Welcome to the home page of the Agilitas Physiotherapy
Centre. Do you feel pain? Have you had an injury? Let our staff Lisa
Davenport,Kelly Townsend (our lovely secretary) and Steve Matthews
take careof your body and soul.<h2>Consultation hours</h2>Mon 11am - 7pm<br>Tue 11am - 7pm<br>Wed 3pm - 7pm<br>Thu 11am - 7pm<br>Fri 11am - 3pm<p>But note that we do not offer consultation during the weeks
of the <a href=". . .">State Of Origin</a> games.
Ontologias de Domínio aplicadas a Gestão e Desenvolvimento de Software 30
Para os seres humanos não há problema algum.
Mas para as máquinas (agentes de software): Como distinguir os terapêutas da secretária? Como determinar a hora exata das consultas? É necessário seguir o link dos “Jogos do Estado
de Origem” para saber quando estes ocorrem.
Ontologias de Domínio aplicadas a Gestão e Desenvolvimento de Software 31
<company><treatmentOffered>Physiotherapy</treatmentOffered><companyName>Agilitas Physiotherapy Centre</companyName><staff>
<therapist>Lisa Davenport</therapist><therapist>Steve Matthews</therapist><secretary>Kelly Townsend</secretary>
</staff></company>
Ontologias de Domínio aplicadas a Gestão e Desenvolvimento de Software 32
Esta forma de representação é processada muito mais facilmente por meio de máquinas.
Metadados: dados sobre dados. Os metadados capturam parte do significado dos dados.
A Web Semântica não se baseia na manipulação de texto, mas ao invés disto no processamento de metadados.
Ontologias de Domínio aplicadas a Gestão e Desenvolvimento de Software 33
O termo ontologia tem sua origem na filosofia: “O estudo da natureza da existência”.
Em Ciência da Computação:
“Uma ontologia é uma especificação explícita, formal e compartilhada de uma conceitução”.
Ontologias de Domínio aplicadas a Gestão e Desenvolvimento de Software 34
Termos: denotam conceitos importantes (classes de objetos) do domínio. P. ex: professores, funcionários, alunos, cursos,
departamentos, …
Relacionamentos entre estes termos: Tipicamente hierarquias de classes. Uma classe C é uma subclasse de outra classe C’ se todo
objeto em C também é objeto de C’. P. ex: Todos os professores são funcionários.
Ontologias de Domínio aplicadas a Gestão e Desenvolvimento de Software 35
Propriedades: P.ex: X leciona Y
Restrições de valores: P.ex: Somente membros do corpo docente podem
lecionar
Disjunções: P.ex: Professores adjuntos e assistentes são disjuntos.
Relacionamentos lógicos entre os objetos P.ex: Toda Escola deve possuir no mínimo 10 professores.
Ontologias de Domínio aplicadas a Gestão e Desenvolvimento de Software 36
Ontologias de Domínio aplicadas a Gestão e Desenvolvimento de Software 37
As ontologias fornecem o entendimento compartilhado de um domínio: interoperabilidade semântica. Superam as diferenças na terminologia Mapeamentos entre ontologias
São especialmente úteis para a organização e navegação em Web sites.
Ontologias de Domínio aplicadas a Gestão e Desenvolvimento de Software 38
As ontologias são úteis para tornar as pesquisas mais acuradas e precisas. Os mecanismos de busca podem procurar por páginas
relacionadas a um conceito preciso em uma ontologia.
As pesquisas podem explorar informação de generalização ou especialização. Se uma consulta falha em encontrar documentos
relevantes, o mecanismo de busca pode tentar uma consulta mais geral.
Se há respostas demais, o mecanismo de busca pode sugerir alguma especialização.
Ontologias de Domínio aplicadas a Gestão e Desenvolvimento de Software 39
OWL É uma linguagem mais expressiva que o RDF
Esquema Relações entre classes.
P.ex: disjunção.
Cardinalidade. P.ex: “exatamente um”.
Tipagem de propriedades mais rica. Características das propriedades. P.ex: simetria.
Ontologias de Domínio aplicadas a Gestão e Desenvolvimento de Software 40
Lógica é a disciplina que estuda os princípios do raciocínio.
Linguagens formais para expressar conhecimento.
Semântica formal bem compreendida. Conhecimento declarativo: descreve-se o que “vale” sem
preocupação com o que pode ser deduzido.
Raciocínio automático permite a dedução (inferência) de conclusões a partir do conhecimento existente.
Ontologias de Domínio aplicadas a Gestão e Desenvolvimento de Software 41
adjunto(X) professor(X)professor(X) funcionário(X)adjunto(josé)
Pode-se inferir as seguintes conclusões:professor(josé)funcionário(josé)adjunto(X) funcionário(X)
Ontologias de Domínio aplicadas a Gestão e Desenvolvimento de Software 42
O exemplo anterior envolve conhecimento tipicamente encontrado em ontologias. A lógica pode ser usada para revelar conhecimento
ontológico implícito. Pode também ajudar a revelar relacionamentos
inesperados e inconsistências.
A lógica é mais geral do que as ontologias. Pode também ser empregada por agentes inteligentes
para tomar decisões e selecionar o curso das ações.
Ontologias de Domínio aplicadas a Gestão e Desenvolvimento de Software 43
Quanto mais expressiva uma lógica é, mais dispendiosa computacionalmente ela se torna na produção de inferências Atingir certas conclusões pode se tornar impossível em
certas circunstãncias.
O exemplo anterior envolve regras do tipo “se condições então conclusão” e somente um número finito de objetos. Este subconjunto da lógica é tratável e suportado por
ferramentas de raciocínio bastante eficientes.
Ontologias de Domínio aplicadas a Gestão e Desenvolvimento de Software 44
Gestão de Competências
Gestão Estratégica da Indústria de Software Brasileira
Desenvolvimento de Software distribuído
Ontologias de Domínio aplicadas a Gestão e Desenvolvimento de Software 45
Ontologias de Domínio aplicadas a Gestão e Desenvolvimento de Software 46
Ontologias de Domínio aplicadas a Gestão e Desenvolvimento de Software 47
Ontologias de Domínio aplicadas a Gestão e Desenvolvimento de Software 48
[Gruber 1994] Gruber T. Toward Principles for the Design of Ontologies Used for Knowledge Sharing. IJHCS,
43(5/6): 907-928. [Guarino 1996] N. Guarino. Understanding, Building, and Using Ontologies, 1996.
http://ksi.cpsc.ucalgary.ca/KAW/KAW96/guarino/guarino.html. [Guarino,Welty 2002] N. Guarino, C.Welty. Evaluating ontological decisions with OntoClean. Comm. of the ACM(2):61-
65(2002). Paulo Roberto Corrêa Leão; Káthia M. Oliveira; Eduardo A. D. Moresi - Ontologia de
Competências Profissionais em Tecnologia da Informação, 2006 Marcio Amancio dos Santos - Universidade Católica do Paraná - Dissertacao de Mestrado-
Representacao da Industria de Sofware Brasileira pela engenharia Ontologica, 2006 Ana Paula Chaves1, Igor Steinmacher1, Gislaine Camila L. Leal2, Elisa - OntoDiSEN: uma
ontologia para apoiar o desenvolvimento distribuıdo de software , 2008
Ontologias de Domínio aplicadas a Gestão e Desenvolvimento de Software 49