A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Engenharia de Ontologia para Web Semântica

Apresentações semelhantes


Apresentação em tema: "Engenharia de Ontologia para Web Semântica"— Transcrição da apresentação:

1 Engenharia de Ontologia para Web Semântica
José Leomar Todesco Baseado no trabalho de Natalya F. Noy - A large part of this tutorial is based on “Ontology Development 101: A Guide to Creating Your First Ontology” by Natalya F. Noy and Deborah L. McGuinness

2 Uma ONTOLOGIA Comum de Vinho e comida
Qual vinho eu devo servir com frutos do mar hoje? Vinhos Franceses e regiões vinículas Uma ONTOLOGIA Comum de Vinho e comida Vinhos da California e regiões vinícolas

3 Tópicos O que é uma ontologia? Tipos de ontologia
Porquê desenvolver uma ontologia? Passo-a-Passo: Desenvolvendo uma ontologia Aprofundando: Problemas comuns e soluções Ontologias nas linguagens de Web Semântica Pesquisa atual e questões na engenharia da ontologia

4 O que é uma ontologia Uma ontologia é uma descrição explícita de um domínio: conceitos propriedades e conceitos de atributos Restrições nas propriedades e atributos Individuos/instâncias (as vezes, mas nem sempre) Uma ontologia define um vocabulário comum um entendimento compartilhado

5 Fundamentos teóricos da ontologia
Ontologias são largamente usados na engenharia do conhecimento, inteligência artificial e ciência da computação em aplicações relacionadas a gestão do conhecimento, processamento de linguagem natural, e-commerce, integração de informação inteligente, recuperação de informação, integração e projeto de banco de dados, bio-informática, educação e mais recentemente a um campo emergente chamado Web Semântica.

6 Fundamentos teóricos da ontologia
Em 1991, o DARPA teve a visão de construir sistemas inteligentes. Eles propuseram o seguinte: “Building knowledge-based systems today usually entails constructing new knowledge bases from scratch. It could be instead done by assembling reusable components. Systems developers would then only need to worry about creating the specialized knowledge and reasoners new to the specific task of their system. This new system would interoperate with existing systems, using then to perform some of its reasoning. In this way, declarative knowledge, problem-solving techniques and reasoning services would all be shared among systems. This approach would facilitate building bigger and better systems and chearply...”

7 Fundamentos teóricos da ontologia
No mesmo período da apresentação da idéia do DARPA, vários projetos surgiram com propostas de metodologias para desenvolver sistemas baseados em conhecimento. Nem todos tratam ontologias, mas fundamentam as noções na comunidade da Engenharia do Conhecimento. Este projetos incluem: Estruturas de tarefas (Chandrasekaran et al., 1992); Métodos de role-limiting (McDermott, 1988); CommonKADS (Schreiber et al., 1994); Protégé (Musen, 1993); MIKE (Angele et al., 1998); IDEAL (Gómez-Perez et al., 1997); Componentes de Expertise (Steels, 1990); EXPECT (Swartout an Gil, 1995); GDM (Terpstra et al., 1993); VITAL (Domingue et al., 1993)

8 Definições de ontologia
Neches e colegas (1991): “An ontology defines the basic terms and relations comprising the vocabulary of a topic area as well as the rules for combining terms and relations to define extensions to the vocabulary.” Alguns anos depois Gruber (1993): “An ontology is an explicit specification of a conceptualization.” Borst modificou a definição de Gruber em 1997: “Ontologies are defined as a formal specification of a shared conceptualization” Bernaras e colegas. (1996): “It [an ontology] provides the means for describing explicitly the conceptualization behind the knowledge represented in a knowledge base.” Ontologia, uma sistemática explicação do ser. Guarino e Giaretta (1995) propuseram a palavra Ontologia com o O maiúsculo para se referir ao termo na filosofia e ontologia na comunidade da EC. Definição de Neches remete-nos o que construir com um ontologia. Termos básicos e relações entre termos, identificar regras para combinar termos e proporciona as definições de tais termos e relações. Não só termos que são definidos explicitamente, mas também o conhecimento que pode ser inferido destas definições. Definição de Gruber foi muito utilizada. Defnição de Bernaras propõe extrair a ontologia de uma base de conhecimento, que reflete a abordagem que os autores utilizaram para construir ontologias. Uma estratégia botton-up

9 Definições de ontologia
Swartout et al. (1997): “An ontology is a hierarchically structured set of terms for describing a domain that can be used as a skeletal foundation for a knowledge base.” Guarino (1998): “A set of logical axioms designed to account for the intended meaning of a vocabulary.” Uschold e Jasper (1999): “An ontology may take a variety of forms, but it will necessarily include a vobabulary of terms and some specification of their meaning. This includes definitions and an indication of how concepts are inter-related which collectivelly impose a structure on the domain and constrain the possible interpretations of terms.” Segundo Swartout e colegas, uma mesma ontologia pode ser usada para construir várias bases de conhecimento, que compartilhará o mesmo esqueleto ou taxonomia. Guarino seguiu a mesma linha de Studer, mas foram um passo a frente ao formalizar a noção de conceitualização e estabeleceram como construir a ontologia e por torná-la uma teoria lógica. Gradativamente ontologias foi sendo utilizada para diferentes propósitos por diferentes comunidades (EC, banco de dados e engenharia de software). Uschold e Jasper definiram ontologia para popularizá-la em outras disciplinas. As comunidades definem as ontologias lightweight e heavyweight

10 Principais componentes de uma ontologia
Ontologias heavyweight e lightweight podem ser modeladas com diferentes técnicas de modelagem e implementadas em várias linguagens. Altamente informal: expressada em linguagem natural Semi-informal: expressada em linguagem natural estruturada e restrita Semi-formal: expressada em uma linguagem artificial e definida formalmente (Ontolingua, OWL) Rigorosamente formal: provem termos definidos meticulosamente com semântica formal, teoremas e provas de propriedades tais como inspirados na terminologia clássica da lógica de primeira ordem (soundness). No início da década de 90, ontologias foram feitas usando principalmente técnicas de modelagem de IA baseadas em frames e lógica de 1ª ordem. Nos últimos anos, técnicas de representação de conhecimento baseadas description logics (DL) tem sido usada para construir ontologias e novas linguagens DL como OIL, DAML+OIL e OWL tem aparecido no contexto da Web Semântica.

11 Principais componentes de uma ontologia
Modelando ontologias heavyweight Gruber (1993) propôs modelar ontologias usando frames e lógica de 1ª ordem, identificando 5 tipos de componentes: classes, relações, funções, axiomas formais e instâncias. Classes: representam conceitos, que são definidos de senso comum. Relações: representam um tipo de associação entre conceitos de um domínio. Funções: são um caso especial de relações em que o n-ésimo elemento da relação é único para o n-1-ésimo elemento precedente. (Ex. Pagar, que obtém o preço após aplicar desconto) Axiomas formais: serve para modelar sentenças que são sempre verdadeiras. Instâncias: são usadas para representar elementos ou indivíduos em uma ontologia. Modelando ontologias heavyweight com DL Description Logics é um formalismo lógico cuja teoria é dividida em duas partes: TBox e ABox TBox: contém conhecimento intensional (teminologias). Contém definições de conceitos e papéis/funções (roles). ABox: provem conhecimento extensional (assertivo) que é específico para o indivíduo. Indivíduos representam instâncias. Primeiras linguagens de implementação foram: KL-ONE (Brachman and Schmolze, 1985), Krypton (Brachman et al., 1983), Classic (Borgida et al., 1989), LOOM (MacGregor, 1991) e Kris (Baader and Hollunder, 1991).

12 Principais componentes de uma ontologia
Modelando ontologias lightweight Com técnicas de engenharia de software: A UML de Rumbaugh et al. (1998) pode ser usada como uma técnica para modelar ontologias. Uma das razões é o fácil entendimento e uso que a UML proporciona para as pessoas de fora da comunidade de IA. Empregam diagramas de classes para representar conceitos (e seus atributos) e OCL (Object Constraint Language) para representar reláções entre conceitos e aximas. Com banco de dados: Utiliza-se dos diagrams Entidade/Relacionamento para com uma extensão comum de generalização de relacionamentos entre entidades. O nome previamente usada para DL foi linguagens de representação do conhecimento terminológicos, linguagens de conceitos, linguagens de classificação de termos e linguagem de representação de conhecimento baseada no KL-ONE. Primeiras linguagens de implementação foram: KL-ONE (Brachman and Schmolze, 1985), Krypton (Brachman et al., 1983), Classic (Borgida et al., 1989), LOOM (MacGregor, 1991) e Kris (Baader and Hollunder, 1991).

13 Exemplos de ontologia Taxonomias na Web Catalogos para vendas on-line
Yahoo! categorias Catalogos para vendas on-line Amazon.com (produtos catálogos) Terminologia padrão de domínio-específico Unified Medical Language System (UMLS) UNSPSC – terminologia para produtos e serviços

14 O que é “Ontology Engineering”?
Ontology Engineering: Define termos no domínio e relationamentos entre eles Definir conceitos no domínio (classes) Arranjando os conceitos na hierarquia (hierarquia de subclasse-superclasse) Definir quais atributos e propriedades (slots) que as classes podem ter e restrições em seus valores Definir individuos/instâncias e preencher os valores do slot

15 Tópicos O que é uma ontologia? Tipos de ontologia
Porquê desenvolver uma ontologia? Passo-a-Passo: Desenvolvendo uma ontologia Aprofundando: Problemas comuns e soluções Ontologias nas linguagens de Web Semântica Pesquisa atual e questões na engenharia da ontologia

16 Tipos de ontologia Nível de Representação:
Vocabulário: consiste de uma lista de termos e respectivas definições. Corresponde a uma definição em XML Schema, por exemplo; Taxonomia: definição de hierarquias sobre os termos do vocabulário. Cada termo em uma taxonomia pode estar relacionado a uma ou mais relações do tipo “pai-filho”; Sistema Relacional: prevê relacionamentos arbitrários além dos hierárquicos entre os termos do vocabulário. Teoria Axiomática: além dos relacionamentos, suporta a definição de regras de inferência e de restrições através de axiomas (DACONTA, 2003 p. 206). Um axioma é uma afirmação lógica que não pode ser comprovada a partir de outras afirmações, mas que pode servir para a construção de sistemas e para a formulação de teorias (como a teoria de conjuntos).

17 Tipos de ontologias (Mizoguchi e colegas)

18 Tipos de ontologias (Van Heijst e colegas)

19 Tipos de Ontologias (Guarino)

20 Tipos de Ontologias (Lassila e McGuinnes)

21 Tipos de Ontologias (Goméz-Pérez)
Ontologias de Representação do Conhecimento (KR): captura as primitivas de representação usadas para formalizar conhecimento sobre um dado paradigma de KR. (Frame ontology e OKBC ontology). Ontologias geral ou comum: são usadas para representar conhecimento de senso comum reutilizáveis através do domínio. (Metereology ontology). Ontologias top-level ou upper-level: descrevem conceitos bem gerais e provêm noções gerais sobre quais termos da raiz na ontologia existente deve ser linkado. (IEEE Standard Upper Ontology – SUO). Ontologias de domínio: são reusadas em um dado domínio específico. (Médica, farmaceutica, engenharia, leis, empresas, automóveis, etc). Proporcionam vocabulários sobre conceitos dentro do domínio.

22 Tipos de Ontologias (Goméz-Pérez)
Ontologias de tarefa: descrevem o vocabulário relacionado a uma tarefa genérica ou atividade pela especialização de termos nas ontologias top-level. (diagnóstico, scheduling, etc). Ontologias de tarefa de domínio (domínio específico): são tarefas de domínio reutilizáveis em um dado domínio, mas não em outros domínios, são aplicações independentes. Ontologias de métodos: dão definições de conceitos relevantes e relações aplicadas para especificar um processo de raciocíneo assim como realizar uma tarefa particular. (Scheduling pela decomposição em tarefas). Ontologias de aplicação: são aplicações dependentes que contém todas as definições necessárias para modelar o conhecimento requerido para uma aplicação particular. (Metereology ontology).

23 Usabilidade X Reusabilidade

24 Tópicos O que é uma ontologia? Tipos de ontologia
Porquê desenvolver uma ontologia? Passo-a-Passo: Desenvolvendo uma ontologia Aprofundando: Problemas comuns e soluções Ontologias nas linguagens de Web Semântica Pesquisa atual e questões na engenharia da ontologia

25 Porquê desenvolver uma ontologia?
Para compartilhar entendimento comum da estrutura da informação entre pessoas entre agentes de software Para possibilitar reuso do conhecimento do domínio evitar “re-inventar a roda” Introduzir padrões para interoperabilidade

26 Mais Razões Para fazer suposições explícitas do domínio
facilitar mudanças das hipóteses do domínio (considerar uma base de conhecimento genética) facilitar entendimento e atualização de dados legados Para separar o conhecimento do domínio do conhecimento operacional reusar o conhecimento do domínio e operacional separadamente (e.g., configuração baseada nas restrições)

27 Uma ontologia as vezes é só o começo
Databases Declara a estrutura Ontologias Bases de conhecimento Proporciona Descrição do domínio Aplicações independentes de domínio Agentes de Software Métodos de resolução de problemas

28 Tópicos O que é uma ontologia? Tipos de ontologia
Porquê desenvolver uma ontologia? Passo-a-Passo: Desenvolvendo uma ontologia Aprofundando: Problemas comuns e soluções Ontologias nas linguagens de Web Semântica Pesquisa atual e questões na engenharia da ontologia

29 Vinhos e Vinícolas

30 Processo de devenvolvimento de ontologia
Neste exemplo: determinar escopo considerar reuso enumerar termos definir classes definir propriedades definir restrições criar instâncias Na realidade – um processo iterativo: determinar escopo considerar reuso enumerar termos definir classes definir propriedades criar instâncias definir classes definir restrições considerar reuso definir propriedades definir restrições criar instâncias

31 Ontology Engineering versus Object-Oriented Modeling
Uma ontologia reflete a estrutura do mundo é as vezes sobre a estrutura dos conceitos a representação física atual não é o caso Uma estrutura de classe OO reflete a estrutura do dado e do código geralmente sobre o comportamento (métodos) descreve a representação física do dado (long int, char, etc.)

32 Ferramentas Todas as telas a seguir do exemplo de vinhos são do: Protégé-2000, que é: uma ferramenta gráfica de desenvolvimento de ontolgogias suporta um modelo de conhecimento rico é open-source e disponível para uso livremente ( Algumas outras ferramentas disponíveis: Ontolingua e Chimaera OntoEdit OilEd

33 Determinar Domínio e Escopo
determinar escopo considerar reuso enumerar termos definir classes definir propriedades definir restrições criar instâncias Qual é o domínio que a ontologia irá cobrir? Para que nós estaremos usando a ontologia? Quais tipos de questões a informação na ontologia deve prover respostas (questões de competência)? Respostas para estas questões podem mudar durante o ciclo de vida

34 Questões de Competência
Quais características de vinho eu devo considerar quando escolher um vinho? Bordeaux é um vinho tinto ou branco? Cabernet Sauvignon vai bem com frutos do mar? Qual a melhor escolha de vinho para carne grelhada? Quais as características de um vinho que afetam sua relação com um prato (comida)? O sabor ou corpo de um específico vinho muda com o ano da safra? Qual foi a melhor safra do Napa Zinfandel?

35 Considerar Reuso Porquê reusar outras ontologias? economizar esforço
determinar escopo enumerar termos definir classes definir propriedades definir restrições criar instâncias Porquê reusar outras ontologias? economizar esforço interagir com as ferramentas que usam outras ontologias usar ontologias que tenham sido validadas através do uso em aplicações

36 O que Reusar? Bibliotecas de Ontologias Ontologias Upper
DAML ontology library ( Ontolingua ontology library ( Protégé ontology library (protege.stanford.edu/plugins.html) Ontologias Upper IEEE Standard Upper Ontology (suo.ieee.org) Cyc (

37 O que Reusar?(II) Ontologia Geral Ontologias de domínio-específico
DMOZ ( WordNet ( Ontologias de domínio-específico UMLS Semantic Net GO (Gene Ontology) (

38 Enumerar termos importantes
determinar escopo considerar reuso definir classes definir propriedades definir restrições criar instâncias Quais são os termos que são falados? Quais são as propriedades destes termos? O que nós queremos dizer sobre os termos?

39 Enumerando Termos – A ontologia de vinho
vinho, uva, vinícola, localização, cor do vinho, corpo do vinho, sabor do vinho, quantidade de açucar vinho branco, vinho tinto, vinho Bordeaux comida, frutos do mar, peixe, carne, vegetais, queijo

40 Definir Classes e hierarquia de Classes
determinar escopo considerar reuso enumerar termos definir propriedades definir restrições criar instâncias Uma classe é um conceito no domínio uma classe de vinhos uma classe de vinícolas uma classe de vinhos tinto Uma classe é uma coleção de elementos com propriedades similares Instâncias de classes uma garrafa de vinho da California para um almoço

41 Herança de Classes Classes geralmente constituem uma taxonomia hierárquica (uma hierarquia de subclasse-superclasse) Uma hierarquia de classe é geralmente uma hierarquia IS-A: uma instância de uma subclasse é uma instância de uma superclasse Se você pensa uma classe como um conjunto de elementos, uma subclasse é um subconjunto

42 Herança de Classe - Exemplo
Maçã é uma subclasse de Frutas Toda maçã é uma fruta Vinho tinto é uma subclasse de Vinho Toda vinho tinto é um vinho Vinho Chianti é uma subclasse de vinho tinto Todo vinho Chianti é um vinho tinto

43 Níveis na Hierarquia Top level Middle level Bottom level

44 Modos de Desenvolvimento
top-down – define os conceitos mais gerias primeiro e então especializa-os bottom-up – define os conceitos mais específicos e então organiza-os em classes mais gerais combinação – define os conceitos mais salientes primeiro e então generaliza e especializa-os

45 Documentação Classes (e propriedades) geralmente tem documentação
Descrever as classes em linguagem natural Listar suposições relevantes do domínio para as definições de classe Listar sinônimos Documentar classes e propriedades é tão importante quanto documentar código em programas!

46 Definir Propriedades de Classes – Slots
determinar escopo considerar reuso enumerar termos definir classes definir restriçõess criar instâncias Propriedades (slot) em uma definição de classe descreve atributos de instâncias da classe e relações a outras instâncias Cada vinho terá cor, quantidade de açucar, produtores, etc.

47 Propriedades (Slots) Tipos de propriedades
propriedade “intrínsica” : sabor e cor do vinho Propriedade “extrínsica” : nome e preço do vinho partes: ingredientes em um prato relações com outros objetos: produtores de vinho (vinícola) Propriedades simples e complexas propriedade simples (atributos): contém valores primitivos (strings, numbers) propriedade complexas: contém (ou aponta para) outros objetos (e.g., uma instância de vinícola)

48 Propriedades para a Classe Vinho
(no Protégé-2000)

49 Propriedade e herança de Classe
Uma subclasse herda todos as propriedades da superclasse Se um vinho tem o mesmo nome e gosto, um vinho tinto também tem o mesmo nome e gosto Se uma classe tem múltiplas superclasses, ela herda propriedades de todas Port é tanto um vinho suave quanto um vinho tinto. Ele herda “conteúdo de açucar: high” do primeiro e “cor: tinto” do último

50 Restrições de Propriedade
determinar escopo considerar reuso enumerar termos definire classes definir restrições definire propriedades criar instâncias Restrições de propriedade (facets) descrevem ou limitam o conjunto de valores possíveis para um slot O nome de um vinho é uma string O produtor de vinho é uma instância de vinícola Uma vinícola tem uma localização explícita

51 Restrições para propriedades na Classe vinho

52 Restrições comuns Cardinalidade da propriedade – o número de valores que uma propriedade tem Tipo de valor da propriedade – o tipo de valor que uma propriedade tem Valores mínimo e máximo – um range de valores para uma propriedade numérica Valor default – valor que uma propriedade tem caso não explicitamente especificado

53 Restrições comuns: Cardinalidade da propriedade
Cardinalidade N significa que a propriedade deve ter N valores Cardinalidade mínima Cardinalidade mínima 1 significa que a propriedade deve ter um valor (requerido) Cardinalidade mínima 0 significa que o valor da propriedade é opcional Cardinalidade máxima Cardinalidade máxima 1 significa que a propriedade deve ter ao menos um valor (slot de valor simples) Cardinalidade máxima maior do que 1 significa que a propriedade tem mais do que um valor (slot de valor múltiplo)

54 Restrições comuns: Tipo de valor
String: uma string de caracteres (“Château Lafite”) Número: um integer ou um float (15, 4.5) Boolean: uma flag true/false Tipo enumerated: uma lista de valores (high, medium, low) Tipo complex: uma instância de outra classe Especifica a classe para qual as instâncias pertencem A classe vinho é o tipo de valor para a propriedade “produtores” da classe vinícola

55 Domínio e Range da propriedade
Domínio de uma propriedade – uma classe (ou classes) que tem a propriedade Mais precisamente: instâncias de classe (ou classes) da qual uma propriedade pode ter Range de uma propriedade – uma classe (ou classes) para qual valores podem pertencer a uma propriedade

56 Restrições e heranças de Classe
Uma subclasse herda todos as propriedades da superclasse Uma subclasse pode sobrescrever as restrições para “aproximar” a lista de valores permitidos Tornar o range da cardinalidade menor Substituir uma classe no range com uma subclasse Vinho produtor Vinícola is-a is-a Vinho Francês produtor Vinícola Francesa

57 Criar Instâncias Criar uma instância de uma classe
determinar escopo considerar reuso enumerar termos definir classes definir propriedades definir restrições Criar uma instância de uma classe A classe torna-se um tipo direto de instância Qualquer superclasse do tipo direto é um tipo de instância Atribuir valores da propriedade para a instância Valores das propriedades devem obedecer as restrições da mesma Ferramentas de aquisição de conhecimento as vezes fazem isto

58 Criar uma Instância: Exemplo

59 Sumário O que é uma ontologia? Tipos de ontologia
Porquê desenvolver uma ontologia? Passo-a-Passo: Desenvolvendo uma ontologia Aprofundando: Problemas comuns e soluções Ontologias nas linguagens de Web Semântica Pesquisa atual e questões na engenharia da ontologia

60 Aprofundando Cobertura da primeiro largura
determinar escopo considerar reuso enumerar termos definir classes definir propriedades definir restrições criar instâncias Cobertura da primeiro largura determinar escopo considerar reuso enumerar termos criar instâncias definir classes definir propriedades definir restrições

61 Definir Classes e uma hierarquia de Classe
Coisas para lembrar: Não existe uma única hierarquia de classe Mas existem alguns guidelines A questão a ser perguntada: “Uma instância da subclasse é uma instância de sua superclasse?”

62 Herança múltipla Uma classe pode ter mais do que uma superclasse
Uma subclasse herda slots e restrições facet de todos os pais Sistemas diferentes resolvem conflitos diferentemente

63 Classes disjuntas Classes são disjuntas se elas não podem ter instâncias comuns Classes disjuntas não pode ter qualquer outras subclasses comuns Port Vinho Vinho suave Vinho tinto, Vinho branco, Vinho rose são disjuntos Vinho suave e vinho tinto não são disjuntos Vinho tinto Vinho branco Vinho rose

64 Evitando Classes Cíclicas
O perigo de herança múltipla: ciclos na hierarquia de classe Classes A, B, e C tem conjuntos equivalentes de instâncias Para muitas definições, A, B, e C são portanto equivalentes

65 Irmãos na hierarquia de Classe
Todos os irmãos na hierarquia de classe deve estar no mesmo nível de generalidade Compare as seções e subseções em um livro

66 O tamanho da família perfeita
Se uma classe tem sómente um filho, pode ser um problema modelar Se o único tinto Burgundy que nós temos é Côtes d’Or, porque introduzir na subhierarquia? Compare os botões na lista

67 O tamanho da família perfeita (II)
Se uma classe tem mais do que uma dúzia de filhos, subcategorias adicionais pode ser necessários Contudo, se não existe classificação, a lista longa pode ser mais natural

68 Nome de Classe Simples ou Plural
Um “vinho” não é um tipo “vinhos” Um vinho é uma instância da classe de Vinhos Nomes de Classe de ser um dos dois tudo singular tudo plural Class Instance instance-of

69 Classes e seus Nomes Classes representam conceitos no domínio, não seus nomes O nome da classe pode mudar, mas ainda se referirá ao mesmo conceito Nomes sinônimos para o mesmo conceito não são classes diferentes Muitos sistemas permitem listas de sinônimos como parte da definição da classe

70 Uma hierarquia completa de Vinhos

71 De volta as propriedades: Domínio e Range
Quando definindo um domínio ou range para uma propriedade (slot), procure a classe (ou classes) mais geral Considere a propriedade sabor Domínio: Vinho tinto, vinho branco, vinho rose Domínio: Vinho Considere a propriedade produtores para uma Vinícola: Range: Vinho tinto, vinho branco, vinho rose Range: Vinho

72 De volta as propriedades: Domínio e Range
classe propriedade valores permitidos Quando definindo um domínio ou range para uma propriedade, ache as classes ou classe mais geral Considere a propriedade sabor Domínio: Vinho tinto, vinho branco, vinho rose Domínio: Vinho Considere a propriedade produtor para uma vinícola: Range: Vinho tinto, vinho branco, vinho rose Range: Vinho

73 Definindo Domínio e Range
Uma classe e uma superclasse – substitua com a superclasse Todas as subclasses de uma classe – substitua com a superclasse Muitas subclasses de uma classe – considere substituir pela superclasse

74 Valores Default Valor default - um valor para a propriedade quando uma instância é criada O valor default pode ser mudado O valor default é um valor comum para a propriedade, mas não é um valor requerido Por exemplo, o valor default para corpo do vinho pode ser FULL

75 Limitando o Escopo Uma ontology não deve conter todas as informações possíveis sobre o domínio Não necessitam especializar ou generalizar mais do que a aplicação requer Não necessitam incluir todas as propriedades possíveis da classe Sómente as propriedades mais salientes Sómente as propriedades que a aplicação requer

76 Limitando o Escopo (II)
Ontologia de vinho, comida, e seus pares provavelmente não incluem Tamanho da garrafa Côr do rótulo da garrafa Comida e vinho preferido Uma ontologia de experimentos biológicos conterão Organismos biológicos Experimentos A classe Experimento é uma subclasse de Organismo Biológico?

77 Tópicos O que é uma Ontologia? Tipos de ontologia
Porquê desenvolver uma Ontologia? Passo-a-Passo: Desenvolvendo uma ontologia Aprofundando: Problemas comuns e soluções Ontologias nas linguagens de Web Semântica Pesquisa atual e questões na engenharia da ontologia

78 Ontologias e as linguagens WS
Muitas linguagens de Web Semântica são designadas explicitamente para representar ontologias RDF Schema DAML+OIL SHOE XOL XML Schema

79 Linguagens da WS As linguagens diferem em sua syntaxe terminologia
Não é importante aqui – Uma ontologia é uma representação conceitual terminologia Classe-conceito Instância-objeto Slot-propriedade expressividade O que nós podemos expressar em muitas linguagens, não se pode expressar em outras semântica A mesma declaração pode significar coisas diferentes em linguafens diferentes.

80 Tópicos O que é uma Ontologia? Tipos de ontologia
Porquê desenvolver uma Ontologia? Passo-a-Passo: Desenvolvendo uma ontologia Aprofundando: Problemas comuns e soluções Ontologias nas linguagens de Web Semântica Pesquisa atual e questões na engenharia da ontologia

81 Questões de pesquisa na Enginharia da Ontologia
Geração de conteúdo Analise e avaliação Manutenção Linguagens de ontologia Ferramentas de desenvolvimento

82 Conteúdo: Ontologias Top-Level
O que significa “top-level” ? Objetos: tangíveis, intangíveis Processos, eventos, atores, papéis Agentes, organizações Espaços, fronteiras, localizações Tempo Esforço da IEEE Standard Upper Ontology Objetivo: Projetar uma ontologia simples upper-level Processo: Unir ontologias upper-level existentes

83 Conteúdo: Aquisição de conhecimento
Aquisição de conhecimento é o gargalo Compartilhar e reusar amenizam o problema Mas é necessários automatizar as técnicas de aquisição de conhecimento Técnicas lingüística: aquisição de ontologia de textos Machine-learning: gerar ontologias de documentos estruturados (e.g., documentos XML) Explorar a estrutura WEB: gerar ontologias por sites web estruturados por crawling Modelos de aquisição de conhecimento: especificar especialistas somente em parte do conhecimento requerido

84 Análises Analises: consistência semântica Analise: estilo
Violação de restrições de propriedades Ciclos na hierarquia de classes Termos que são usados mas não definidos Restrições de intervalo que produzem intervalos vazios (min > max) Analise: estilo Classes com uma simples subclasse Classes e propriedades sem definições Propriedades sem restrições (tipo do valor, cardinalidade) Ferramentas para análise automática Chimaera (Stanford KSL) DAML validator

85 Onde procurar mais? Tutoriais Metodologia
Natalya F. Noy and Deborah L. McGuinness (2001) “Ontology Development 101: A Guide to Creating Your First Ontology” Farquhar, A. (1997). Ontolingua tutorial. Metodologia Gómez-Pérez, A. (1998). Knowledge sharing and reuse. Handbook of Applied Expert Systems. Liebowitz, editor, CRC Press. Uschold, M. and Gruninger, M. (1996). Ontologies: Principles, Methods and Applications. Knowledge Engineering Review 11(2)


Carregar ppt "Engenharia de Ontologia para Web Semântica"

Apresentações semelhantes


Anúncios Google