eduardo moraes centro de informática – cin/ufpe outubro de 2010

49
Eduardo Moraes Centro de Informática – Cin/UFPE Outubro de 2010

Upload: orlando-leal-arruda

Post on 07-Apr-2016

213 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Eduardo Moraes Centro de Informática – Cin/UFPE Outubro de 2010

Eduardo MoraesCentro de Informática – Cin/UFPE

Outubro de 2010

Page 2: Eduardo Moraes Centro 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

Page 3: Eduardo Moraes Centro de Informática – Cin/UFPE Outubro de 2010

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)

Page 4: Eduardo Moraes Centro de Informática – Cin/UFPE Outubro de 2010

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

Page 5: Eduardo Moraes Centro de Informática – Cin/UFPE Outubro de 2010

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

Page 6: Eduardo Moraes Centro de Informática – Cin/UFPE Outubro de 2010

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

Page 7: Eduardo Moraes Centro de Informática – Cin/UFPE Outubro de 2010

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

Page 8: Eduardo Moraes Centro de Informática – Cin/UFPE Outubro de 2010

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”

Page 9: Eduardo Moraes Centro de Informática – Cin/UFPE Outubro de 2010

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

Page 10: Eduardo Moraes Centro de Informática – Cin/UFPE Outubro de 2010

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

Page 11: Eduardo Moraes Centro de Informática – Cin/UFPE Outubro de 2010

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]

Page 12: Eduardo Moraes Centro de Informática – Cin/UFPE Outubro de 2010

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

Page 13: Eduardo Moraes Centro de Informática – Cin/UFPE Outubro de 2010

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

Page 14: Eduardo Moraes Centro de Informática – Cin/UFPE Outubro de 2010

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

Page 15: Eduardo Moraes Centro de Informática – Cin/UFPE Outubro de 2010

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

Page 16: Eduardo Moraes Centro de Informática – Cin/UFPE Outubro de 2010

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

Page 17: Eduardo Moraes Centro de Informática – Cin/UFPE Outubro de 2010

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

Page 18: Eduardo Moraes Centro de Informática – Cin/UFPE Outubro de 2010

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

Page 19: Eduardo Moraes Centro de Informática – Cin/UFPE Outubro de 2010

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

Page 20: Eduardo Moraes Centro de Informática – Cin/UFPE Outubro de 2010

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

Page 21: Eduardo Moraes Centro de Informática – Cin/UFPE Outubro de 2010

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

Page 22: Eduardo Moraes Centro de Informática – Cin/UFPE Outubro de 2010

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

Page 23: Eduardo Moraes Centro de Informática – Cin/UFPE Outubro de 2010

É 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

Page 24: Eduardo Moraes Centro de Informática – Cin/UFPE Outubro de 2010

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

Page 25: Eduardo Moraes Centro de Informática – Cin/UFPE Outubro de 2010

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

Page 26: Eduardo Moraes Centro de Informática – Cin/UFPE Outubro de 2010

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

Page 27: Eduardo Moraes Centro de Informática – Cin/UFPE Outubro de 2010

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

Page 28: Eduardo Moraes Centro de Informática – Cin/UFPE Outubro de 2010

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

Page 29: Eduardo Moraes Centro de Informática – Cin/UFPE Outubro de 2010

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

Page 30: Eduardo Moraes Centro de Informática – Cin/UFPE Outubro de 2010

<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

Page 31: Eduardo Moraes Centro de Informática – Cin/UFPE Outubro de 2010

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

Page 32: Eduardo Moraes Centro de Informática – Cin/UFPE Outubro de 2010

<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

Page 33: Eduardo Moraes Centro de Informática – Cin/UFPE Outubro de 2010

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

Page 34: Eduardo Moraes Centro de Informática – Cin/UFPE Outubro de 2010

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

Page 35: Eduardo Moraes Centro de Informática – Cin/UFPE Outubro de 2010

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

Page 36: Eduardo Moraes Centro de Informática – Cin/UFPE Outubro de 2010

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

Page 37: Eduardo Moraes Centro de Informática – Cin/UFPE Outubro de 2010

Ontologias de Domínio aplicadas a Gestão e Desenvolvimento de Software 37

Page 38: Eduardo Moraes Centro de Informática – Cin/UFPE Outubro de 2010

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

Page 39: Eduardo Moraes Centro de Informática – Cin/UFPE Outubro de 2010

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

Page 40: Eduardo Moraes Centro de Informática – Cin/UFPE Outubro de 2010

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

Page 41: Eduardo Moraes Centro de Informática – Cin/UFPE Outubro de 2010

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

Page 42: Eduardo Moraes Centro de Informática – Cin/UFPE Outubro de 2010

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

Page 43: Eduardo Moraes Centro de Informática – Cin/UFPE Outubro de 2010

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

Page 44: Eduardo Moraes Centro de Informática – Cin/UFPE Outubro de 2010

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

Page 45: Eduardo Moraes Centro de Informática – Cin/UFPE Outubro de 2010

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

Page 46: Eduardo Moraes Centro de Informática – Cin/UFPE Outubro de 2010

Ontologias de Domínio aplicadas a Gestão e Desenvolvimento de Software 46

Page 47: Eduardo Moraes Centro de Informática – Cin/UFPE Outubro de 2010

Ontologias de Domínio aplicadas a Gestão e Desenvolvimento de Software 47

Page 48: Eduardo Moraes Centro de Informática – Cin/UFPE Outubro de 2010

Ontologias de Domínio aplicadas a Gestão e Desenvolvimento de Software 48

Page 49: Eduardo Moraes Centro de Informática – Cin/UFPE Outubro de 2010

[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