27
Curso de Ontologia 1.Para que serve? 1.1 Garantir o correto entendimento do domínio Os modelos ontológicos visam garantir o mesmo significado de termos entre contextos diferentes. Um dos grandes problemas que devemos combater são os entendimentos falsos dos termos do domínio. Exemplo: o petróleo na Petrobras que possui 4 conceitos, inclusive dois deles não podendo existir ao mesmo tempo O problema se intensifica, pois nunca representaremos o mundo real, mas sim representaremos o nosso entendimento sobre o mundo real, além do entendimento que o outro teve ao fazer o seu modelo. Outros exemplos de aplicação: • Governo quer integrar todas informações pessoas dos cidadãos (identidade, cpf, etc). Para isto, existe um projeto de lei que diz que se tu informares um documento para um órgão do governo, podes te negar a dar o mesmo documento para outro órgão. • Hoje é possível ter um cargo federal e outro estadual porque são sistemas diferentes. 1.2 Integração de componentes Para que possamos integrar dois sistemas diferentes, primeiro precisamos entender os conceitos que existem nos domínios. Exemplos. • Unificar a Blockbuster com uma pequena locadora. O esperado é juntar conceitos parecidos dos nomes das tabelas. Ex: cliente e pessoa. Agora imagine se alguém trocar todos os nomes das tabelas, como poderíamos fazer? • Antes precisávamos de um operador de telefone para fazermos ligações, hoje todos nós somos operadores de telefone.

RESUMO DO CURSO DE ONTOLOGIA .pdf

Embed Size (px)

Citation preview

Curso de Ontologia

1.Para que serve?1.1 Garantir o correto entendimento do domínioOs modelos ontológicos visam garantir o mesmo significado de termos entre contextos diferentes.

Um dos grandes problemas que devemos combater são os entendimentos falsos dos termos do domínio. Exemplo: o petróleo na Petrobras que possui 4 conceitos, inclusive dois deles não podendo existir ao mesmo tempo

O problema se intensifica, pois nunca representaremos o mundo real, mas sim representaremos o nosso entendimento sobre o mundo real, além do entendimento que o outro teve ao fazer o seu modelo.

Outros exemplos de aplicação: • Governo quer integrar todas informações pessoas dos cidadãos (identidade, cpf, etc). Para isto, existe um projeto de lei que diz que se tu informares um documento para um órgão do governo, podes te negar a dar o mesmo documento para outro órgão. • Hoje é possível ter um cargo federal e outro estadual porque são sistemas diferentes.

1.2 Integração de componentesPara que possamos integrar dois sistemas diferentes, primeiro precisamos entender os conceitos que existem nos domínios.Exemplos.• Unificar a Blockbuster com uma pequena locadora. O esperado é juntar conceitos parecidos dos

nomes das tabelas. Ex: cliente e pessoa. Agora imagine se alguém trocar todos os nomes das tabelas, como poderíamos fazer?

• Antes precisávamos de um operador de telefone para fazermos ligações, hoje todos nós somos operadores de telefone.

1.3 Entender relações entre entidadesDar para a máquina a capacidade de entender o que está sendo representado.Exemplo:Possibilitar a máquina entender que em um currículo, aquelas palavras escritas significam: autor, livros, fotos, lugares. A partir disto, pedir para a máquina fazer algumas ações, como por exemplo encontrar livros escritos por autores que morem na Itália.

1.4 Representar o mundo como ele é, e não como a linguagem computacional nos proporciona.As linguagens computacionais possuem uma série de limitações em relação a sua expressividade por diversas questões técnicas, enclusive performace. Com isto, analisarmos apenas os modelos de implantação podem nos gerar uma séria de dúvidas e indefinições em relação ao domínio representado.

Por conta destas limitações, devemos produzir um modelo conceitual, independente de sua implementação para que o conceito do domínio seja claro e específico na medida de sua necessidade.

2. O é preciso para fazer uma ontologia?2.1 Metodo de separar o modelo conceitual do implementadoTemos que ter sempre em mente a diferença entre o modelo conceitual e o modelo de implementação. Sendo que mesmo que o segundo seja realizado aos poucos, é importante que o modelo conceitual seja feito no detalhe no início de qualquer projeto, para que não existam discrepâncias.

A qualidade do modelo conceitual interfere diretamente na vida útil do modelo implementado, sendo que quanto pior o modelos conceituais menor sua vida útil.

2.2.Linguagem para representar estes modelos

Histórico de modelos de representaçãoHistórico de modelos de representaçãoHistórico de modelos de representação

Redes epistomológicas

Produziada por um psicólogo Collins e Quillian 1967 para descobrir como estruturamos o conhecimento.

KL-One (1979) Mesma coisa feita dos psicologos anteriores, porém usando lógica (aristóteles).

2.2.1 Lógica e UMLA lógica foi de desenvolvida por Aristóteles que definiu regras como inferência e transitividade.

Descrição do casamento segundo a lógica: Descrição de casamento segundo UML

- Todo homem é uma pessoa;- Toda mulher é uma pessoa;- Todo marido é homem;- Toda esposa é mulher;- Toda pessoa é homem ou mulher;- Pra todo marido é casado com uma esposa, tal que a esposa seja casada com o marido;- Para toda a esposa é casada com um marido, tal que o marido é casado com a esposa;- Se x é casado com y, y é casado com x;- Se milene é casado ronaldo fenomeno e ronaldo nazário, ronaldo fenomeno e ronaldo nazário são a mesma pessoa.

O modelo UML é mais fácil de entender pois ele se parece mais de como pensamos e estruturamos a informação.

No curso, estudaremos a UFO A (Unifed Foundation Ontology)

2.3 Padrões de representaçãoOs padrões no ajudam a produzir de forma mais rápida e acertiva os modelos conceituas de objetos com propriedades parecidas.Ex: Cliente, casamento, artista performático, etc...

2.4 Ferramentas computacionais para construir e validar os modelos.As ferramentas nos ajudam a solucionar dois problemas:- saber se estamos modelando certo . Ex: regras entre kinds e sub-kinds.- saber se o que está modelado representa o que nós queríamos que fosse representado.

- Ex: Pessoa não pode ser doador, transplantado e cirurgião na mesma cirurgia.

3.Relações (conceitos básicos)

3.1 Relações matériaisA relação é estabelecida entre dois objetos.Exemplos:• José é casado com maria• Paulo trabalha na Globo.com• Um paciente tem uma unidade médica.

Segundo este modelo, podemos concluir:- Um paciente pode ter várias unidades médicas- Vários pacientes podem ter um ou mais

unidades médicas- Uma ou várias unidades médicas podem

ter um ou dois pacientes.

ConclusãoToda vez que se tem uma relação material pode-se ter várias interpretações. Para que isto não aconteça devemos adicionar um relator. Neste caso o Tratamento.

3.2 Relações entre propriedadesJoão é mais alto que JoséNeste caso a relação é dos valores da altura, e não relação direta entre João e José.

3.3 Relação de transitividadeAlgumas vezes queremos que a transitividade siga entre as relações, mas em outras vezes não. Cabe a nós dizer até quando a transitividade é válida.

Exemplo de relações onde a transitividade é e onde não é desejada.

4. Linguagens de implementação4.1 OWLCom OWL podemos definir- classes- relaçoes entre classes- classes usando um set-theoretical operatos- datatypes e suas propriedades- relações binárias- relações entre coisas

- relações entre relações- ela pode raciociar em um mundo

aberto- operadores multiplos- decidibilidade

Limitação- Tio é irmão do seu pai

4.2 Tecnologia SOAPTecnologia que permite mudar o funcionameto de artefatos de acordo com o contexto.Exemplo: celular que identifica que usuário está em uma seção de cinema e entra no modo silencioso automaticamente.

4.3 Mundos fechados X Mundos abertosModelos de implementação geram conclusões diferentes segundo suas caracterísicas.

Mundo Exemplo Pergunta Resultado Conclusão

Fechado banco de dados Ronaldo e Milena são casados?

não não

Aberto web

Ronaldo e Milena são casados?

não

não sei

4.4 Expressividade X custo computacionalQuanto maior a expressividade da linguagem, maior o custo computacionalmente.Ex: Problema do Caixeiro viajanteUm caixeiro viajante deve passar por 30 cidades uma única vez. Qual o menor caminho? Esta pergunta é tão complexa que levaria 2 mil anos para ser computado.

Como fazer para equilibrar isto?Fazendo dois modelos.1- Modelo conceitual- OntoUML

- bastante expressivo- nao é computacionalmente viável

2- Modelo de imprementacao- OWL- Pouco expressivo- viável computacionalmente

Fazendo no editor o modelo ontoUML, ele gera automaticamente o OWL

5. História da ontologia5.1 Definições:- um ramo da metafísica preocupado com a natureza e as relações do ser;- Uma teoria particular sobre a natureza do ser ou os tipos de existentes;- Uma teoria sobre os tipos de entidades que estão a ser internado em um sistema de linguagem.

5.2 TeóricosAristóteles (Categorias) - Teoria da Substância e AcidentesLocke, Leibniz, Kripke, Lewis, Quine, Armstrong, Bunge, Bacon, Varzi, Poli, Simons,

Strawson, Wiggins, Hirsch...Teoria de tudo parteChristian Wolff (termo Ontologia. Estudo das coisas que existem)

5.3 Ontologia FormalPara descobrir e analisar as categorias e os princípios gerais que descrevem a realidade é a

função da OntologiaFormal.

A ontologia formal (Husserl) é uma disciplina que lida com estruturas formais ontológica (por exemplo, a teoria de peças, a teoria dos conjuntos, os tipos e instanciação, a identidade, a dependência, a unidade) que se aplicam a todo o materialEx: O que significa uma coisa ser dependente da outra?As teorias são formais pois independem do domínio. Ex: Uma coisa está dentro da coisa, que

está dentro da outra, independente de que esta coisa seja.Husserl queria criar uma teoria que pudesse teorizar qualquer coisa.

5.4 SemióticaAs relações de conceitos com conceitos é um problema ontológico.

Triângulo semiótico:conceito x realidade x símbolo

Livro recomendado.Livro de problemas sem solução.

5.5 Inteligência artificial

A idéia da inteligencia artificial em 1980 era fazer sistemas especialistas. Exemplo: diagnóstico a problemas do pulmao. O problema é que para fazer o diagnostico de problemas de coracão tinha que começar do zero. Além disso, somasse o problema que é difícil extrair o conhecimento dos especialistas.Como resultado disto, o que ocorreu foi uma grande decepção.

Em 1993 houve uma mudança do pensamento: Mudar o sistema no mundo e nao replicar como as pessoas pensam. Neste caso o sistema importa.

A comunidade que se juntou para trocar informaçoes sobre inteligencia artificial se tornou a comunidade de semantica.

6. Aspectos das linguagem.6.1 Qualidade da linguagemUma linguagem para ser boa, deve ser isomorfa.Não dar meios possíveis para ferir as máximas conversacionais.Ex: Possuo 2 filhos. Quantos filhos eu tenho? Resp: No mínino 2.Ex: Bruno trabalha além de se divertir. Dá a entender que se diverte mais que trabalha.

6.2 Aspectos para garantir o isomorfismo:LucidezNão ter dois conceitos que possuam o mesmo elemento da linguagem.Ex: ConsistênciaGarantir que não tenha elementos da linguagem que não possua interpretação.Ex: Os quadrados desalinhados nos modelos que não possuiam significado nenhum.

LaconicidadeO mesmo conceito não deve existir em mais de um elemento da linguagem. O problema é a redundância e o pode gerar interpretações diferntes

CompletudeGarantir que todos os conceitos tenham um elemento de linguagem.

Sobre linguagem e domínioPara aproximar o domínio da linguagem, é necessário adicionar uma série de regras na linguagem para não termos mais ou menos elementos existentes no domínio.

7. UML 2.0Unifed módel language

7.1 ClassesUma classe descreve as características comuns (por exemplo, as propriedades intrínsecas e relacionais) compartilhado por uma entidades.

7.2 AtributosAs instâncias de uma classe deve conter valores para cada atributo que é definido para essa classe, de acordo com as características do atributo, por exemplo, seu tipo multiplicidade.Atributos representam propriedades compartilhadas por membros de uma classe

ExemloClasse: pessoaAtributos: idadeTipo do atributo: quantidade de anosValores: 27 anos

7.3 Generation setCompletosToda pessoa é homem ou mulher.

DisjuntosNão existem ligação. Ex: nao existe nenhum homem que possa ser mulher.

Disjunto e completoToda pessoa é homem ou mulher e ninguém pode ser homem e mulher ao mesmo tempo.

7.4 Associação

0...1 = um ou mais* = indefinido1 = um1---* = um ou mais

Outras representações

Associações reflexivasRelações de entidades com elas mesmas.Ex ao lado:0 ou + pais podem ser paternos de 0 ou + prole.

7.5 DatatypesConjuntos abstratos de valores que não são classes. Ex: valor de idadeSão identificados acima do campo.

Diferente das classe, o hue, saturação e brilho não são atributos, mas são dimensões do datatype

7.6 EnumeraçãoValores possíveis de um datatype

7.7 Tipos derivadosDistinguimos entre tipos base e tipos derivados.

Um tipo derivado (classe, relação de atributo) é representado em UML por uma barra precedente nome do tipoDerivabilidade tem a ver com a forma como a população de um tipo é gerado

Maneira simplista de representação.

Maneira utilizando URML.

Caso 2 utilizando URML. Neste caso é necessário escrever a regra d livros alugados.

negação: livros locados que nao estejam locados estão disponíveis

Deste jeito não é bacana, pois sobrecarrega o entendimento

Melhor fazer assim. pois representa melhor, diminui carga cognitiva. Não esconde propriedades

Polígonos podem ter 3 a 20 lados. Quadrilátero é um polígono que possui 4 lados.

Derivaçao por especialização: Um tipo é definido como uma especialização de outro tipoque tem específico (intrínseca ou relacional) propriedades

Por exemplo, um presidente democrata é um Presidente eleito por um processo de eleição direta

Observação: UML não entende fases dinamicas. Essas são definidas pelo ontoUML

8. Categorias de tipos de objetos8.1 SortalDetermina identidade às suas instâncias. O mesmo que substantivos. Ex: maça.

Todo objeto em um modelo conceitual de um dominio precisa ter todas as instâncias de uma classe representada em um sortal.

8.2 Não-SortaisNão sortal não pode especializar um sortal, pois se ele fizesse isto daria um sentido de identidade e tornaria-se um sortal.

8.3 Rígidos e não-rígidosRigio são característica que não mudam. (Ex: Data de nascimento). Ao contrário não-rígido podem variar (Ex. Estudante).

8.4 KindsSão sortais, únicos, que provem identidades. Todos os kins são dijuntos. Ex: Se perguntássemos quantos kinds existem na sala nós diríamos facilmente, pois nosso cerebro é treinado para isto. Mas para máquina isto é extremamente difícil

Regras geriasUm kind não pode especializar outro kind.Um subkind deve especializar um kind.Os kins dão sempre dijuntos, pois senão uma entidade receberia dois caráteres de identidade e isto geraria conflito.

Desde o princípio original de identidade fornecida por uma espécie é herdado por suas subclasses, temos que:Um tipo não-sortal não pode aparecer em um modelo conceitual como um subtipo de um sortal

Modelo utilizado no friend of friend.

Modelo certo de banda, pois pode sair um integrante dos Beatles mas a banda contina sendo a mesma, porém o seus integrantes não mais os mesmos.

8.5 SubkindEspecialização rígida de um kind.É sempre dijunto de kind.Exemplo: Homem e mulher.

8.6 Sortais anti-rígidosPodem ou não variar.

8.7 FaseCaracterístia intrínsica que varia, ou seja não depende de ninguém.Ex: Adolescente.

8.8 PapelMudança de uma propriedade relacional.Ex: O papel estudante depende da relação entre a pessoa e a escola. Se a pessoa deixar de se relacionar com a escola, ele perde o papel de estudante.

Algumas Regras:

Um tipo não pode ser um supertipo de um tipo não-sortalna verdade, uma vez que todos sortals herdará um princípio de identidade de uma espécie.

Um tipo sortal não pode ser um supertipo de um tiponão-sortal.

Um caso comum disto é o uso ao lado. Apesar de dizer que clientes podem ser pessoas e organizações, ele diz também que toda pessoa e organização é uma pessoa.

8.9 CategoriasCategorias não sortal - rígida representando características de entidades de diferentes tipos.Normalmente, eles formam a camada mais alto de tipos de objeto em uma ontologia.Categoria nao dá identidade e é rígido que dá instancia de kinds de vários tipos.

Categoria entidade racional, agrupa os kinds pessoa e agente artificial.Por isto que para ligar Seguro e carros, temos que colocar itens asseguráveis.

8.10 RoleMixinNao sortal, antirígido e relacionalmente dependenteExemplo: arma do crime e cliente.

RoleMixen são sortais anti-rígidoa e relacionalmente não-dependentes características de entidades de diferentes tipos.Como todos os não-Sortals, RoleMixins classificam entidades pertencentes a diferentes tipos.

O caso clienteO cliente não é um papel, pois ele não é sortal.

Este é o padrao que deve ser usado para as a mixins. Note que o que liga consumidores e pessoas é um papel.

Se tem um papel que tem coisas de variso tipos que podem desempenhar este papel, utilize o padrão.- Mesmo caso usado para eventos ou até

novelas (participantes podem ser pessoas, macacos ou robos).

- A RoleMixin não pode ser um tipo de super-de uma categoria, de fato, um Anti-rígido tipo não-sortal não pode ser umsupertipo de uma rígida

8.11Anti-rigidos, não-rígidos e semi-rígidosAnti-rigidez não é o contrário de rigidez, ele é muito mais forte.

Nao rigido: é possível que alguma instancia, em algum cenario, se altere.Anti: todas as instancias deixam de ser estanciassemi: rigidosemirígido. Exemplo: para algumas de suas instacias, e anti-rígido para algumas . Item assegurável. Todo carro é obrigatório que tenha segudo, porém casa é opcional.(mixin).

8.12 MixinMixin é um exemplo de semi-rígido

Mixins representam semi-rígidas características de vários tipos

Como todos os tipos são disjuntos, todos os subtipos de uma forma um conjunto mixin generalização disjunta. Por outro lado, como no caso das categorias, estes conjuntos degeneralização são muito raramente completa

8.13 UML X ontoUMLOntoUML é uma extensão do UML, o qual especifica melhor as classes.

8.14 Regras geraisNa tabela abaixo estão as regras que garantem que o modelo de UML esteja implementado

corretamente. Elas são usadas no programa desenvolvido pela equipe do Giancarlo. Stereotype Constraints

RIGID SORTALS

« kind »supertype is not a member of {« subkind », « phase », « role », « roleMixin »}

« subkind » supertype is not a member of {« phase », « role », « roleMixin »}For every subkind SK there is a unique kind K such that K is a supertype of SKANTI-RIGID SORTALS

« phase » Always defined as part of disjoint and complete partition. For every Phase P there is a unique Kind K such that K is a supertype of P

« role » Let X be a class stereotyped as « role » and R be an association representing Xʼs restriction condition. Then, #X.R 1For every Role X there is a unique Kind K such that K is a supertype of XNON-SORTALS

« category »

supertype is not a member of {« kind », « subkind », « phase », « role », « roleMixin »}Always defined as an abstract class Always specialized by a unique kindAlways defined in a disjoint partition

« roleMixin »

supertype is not a member of {« kind », « subkind », « phase », « role »}. Let X be a class stereotyped as « roleMixin » and R be an association representing Xʼs restriction condition. Then, #X.R 1Always defined as an abstract classAlways defined in a disjoint partitionAlways specialized by Sortals

« mixin » supertype is not a member of {« kind », « subkind », « phase », « role », « roleMixin »} Always defined as an abstract class

9. Teorías formais de tudo parte9,1 Problemas- Se eu trocar alguma das partes, o objeto muda. Ex: trocando um integrante do Beatles,

alterará a Banda Bealtes.- Se existirem dois grupos com as mesmas partes, eles precisam ser iguais. Desta forma eu

nao poderia ter banda formada pelos 4 Beatles e um time de futebol com os mesmo 4 integrantes.

- Nao existe relação entre os grupos. Ex: grupo forma do pela lampada, orelha do Van Gogh e copo. Este grupo é inútil do ponto de vista conceitual porque não podemos tirar nenhum conhecimento indutívo que possamos usar para outro grupo.

9.2 Partes opcionais, obrigatórios e mandatóriasPartes opcionais: Carro pode ter teto solar.Parte obrigatória: Carro precisa de um motor Mandatória: Qualquer objeto “pessoa”, em qualquer situação que ele existir, deve haver um objeto “coração” que é parte daquele objeto. Dependencia existencial: Qualquer objeto “pessoa”, em qualquer situação que ele existir, deve haver o “cérebro” específico. Se a pessoa perder o cérebro ela deixa de ser pessoa.

Somente tipos rígidos podem ter partes excenciais.

9.3 Fases de vidaParte inseparável Quando a parte existir, em todas as situações ela faz parte do todo específico. O cíclo de vida da parte

Parte mandatóriaNão tem necessarimente relação entre as fases de vida do todo e da parte. Ex: coração transplantado e pessoa.

Parte essencial Nao implica em inseparabilidade. Ex: melhores canções de um cantor. Neste caso todas as musicas são essenciais, mas não inseparáveis.

Parte inseparávelNao implica em essenciabilidade. Ex: buraco da mesa é inseparável da mesa, porém não é essencial.

Exemplo de parte essencial e inseparável.

Exemplo de parte imutável.

9.4 Regras entre parte e todo / todo e parte

10. Objetos e aspectos10.1 AspectoDNA, chassi. Entidades dependetes de outros tipos de entidade.

10.2 Objeto Pessoa, carro

10.3 InerênciaRelação entre aspectos. Ela é irreflexiva, assimétrica e intransitiva (a gravidade do sintoma da minha doença..eu não tenho gravidade, somente o meu sintoma).

10.4 Ontologia de AristótelesOntologia de Aristóteles. Ontologia mais moderna até hoje.

10.5 Ontologia de objetos e aspectos

10.6 Multiplas qualidades dimensionaisPara definir a cor precisamos de 3 dimensões de qualidade: matiz, brilho e intensidade

Formas de representação

Duas formas de representar estes estes aspectos.

Melhor forma para representar qualidades com múltiplos espaços conceituais. Ex: cor (brilho, matix e intensidade)

10.7 Qualidades que variam com o tempo. Ex: Peso

10.8 Modos e relação de caracterizaçãoNeste caso, a relação de caracterização diz que a dor de cabeça depende existencialmente do paciente.

10.9 Resumo das relações

11. Relações11.1 Relação formalJoão é mais pesado que Maria. Neste caso João e Maria não tem nenhuma relação, apenas o valor do seu peso em um determinado espaço de tempo.Esta relação depende da existência de João e Maria. Esta relação é:irreflexiva: eu nao sou mais pesado que eu mesmo assimétria: se eu sou mais pesado que você, você não é mais pesado que eureflexiva: Seu eu sou mais pesado que você, e você mais pesado que ele, eu sou mais pesado que ele.

11.2 Relação materialDilma é presidente do Brasil. A relação é direta e dependente de Dilma e Brasil. Outro exemplo: Casamento.Esta relação atribui vários atributos às suas entidades.Esta relação é:irreflexiva: eu nao posso estar casado comigo mesmosimétria: se eu sou casado com você, você também é casada comigo.irreflexiva: se João beija Maria e Maria beija José, João não beijo José.

Para que a relação material exista, é necessário de um objeto chamado relator. ex: Para que João e Maria se casem, é necessário do casamento (relator).

11.3 Qua individualsSe quizermos falar de forma diferente de Romário jogador e Romário político, podemos usar o relator “qua” para especificar o indivídio naquela qualidade.

Neste exemplo podemos até colocar qualidades opostas (competente e incompetente) e não invalida o modelo.

Modelagem do qua em ontoUML.

11.4 Relação anádicaRelações que podem se relacionar com um número variado de indivídos

12 Tipo de mais alta ordem (powertypes)Tipos que descrevem propriedades genéricas de outros tipos.

Propriedades do tipo.

Ex: Expectativa de vida da espécie pinguin e águia.Perceba que o kind penguin está representando o pinguin específico.

Podemos ter powertypes de powertypes