REPRESENTAÇÃO DO CONHECIMENTO Ontology Microworlds Top Down X Bottom Up Single domain Administrative area Populated places Cities Capitals Political areas Countries Top Down - DFD Dir. Financeira salarios Trabalhador impostos Pagar cheque pagamento-total Gerente horas-trabalhadas info-trabalhador Dep. de Pessoal Top Down - DFD info-trabalhador horas-trabalhadas Calcular salario-bruto salarios salario-líquido impostos cheque Deduzir Emitir pagamento-total Adicionar Pagar total-pag Top Down - DFD info-trabalhador Separar horas-trabalhadas horas-extra horas-expediente salarios Multiplicar salario-h-extra salario-bruto salario-normal Calcular Somar Modelo Entidade • Exemplo Relacionamento horário nome N dias Curso sala N se inscreve em M Aluno número endereço 1 leciona endereço. Prof. nome grupo Casos de Uso Caixeiro Operação de Venda Sistema Financeiro Gestor de Estoque Gestão Manual de Estoque Abertura do Caixa Gerente Fechamento do Caixa Casos de Uso [Cockburn] Comprar ações na Web Escopo: conselheiro/pacote financeiro(PAF) Nível: objetivo do usuário Interessados e interesses: comprador- quer comprar ações e tê-las adicionadas ao portfólio PAF automaticamente Financeira – quer informação de compra Pré condição: usuário tem o PAF aberto Garantia mínima: informação de log suficiente de modo que o PAF possa detectar erros e solicitar mais detalhes Garantia de sucesso: Site remoto tem conhecimento da compra, dos logs e o portfolio do usuário é atualizado Cenário de Sucesso – Principal: 1. Comprador seleciona ações na internet 2. PAF pega nome do web site a ser utilizado (Schwab, E trade) 3. PAF abre conexão para o site, retendo o controle 4. Comprador navega e compra ação do site 5. PAF intercepta respostas do site da web e atualiza portfolio 6. PAF mostra o novo portfolio Extensões: 2a. Comprador seleciona um site que o PAF não trabalha Ontologias enfoque Top-down Cyc upper ontology Base de conhecimento com 3000 termos (termos mais gerais da realidade consensual dos humanos) WordNet Banco de dados léxico para a língua inglesa com mais de 42.000 termos 9 Software Engineering Lab (LES) – PUC-Rio Ontologias de Topo Ontology Schemas Abstrações de alto nível que restringem a construção Grandes Controvérsias Objetos e Processos (3D versus 4D) Sumo, Dolce, Onions, GALEN, SBU,… Necessárias quando se trabalha em grupos muito grandes. 10 Software Engineering Lab (LES) – PUC-Rio CYC Open Cyc Para que serve? Geração e compreensão de linguagem natural, Integração de bases de dado semânticas, verificação de consistência, e mineração de dados, Recuperação de informações semânticas, Simulação de ontologias restritas, Construção e utilização de modelos de usuário, Compartilhamento de conhecimento por grupos trabalhando de forma independente. Open Cyc SUMO Suggested Upper Merged Ontology Standard Upper Ontology (SUO)Working Group da IEEE Objetivos Progresso em aplicativos ligados ao comércio eletrônico, Integração de software com base na Internet, Buscas mais precisas baseadas em palavras chave e Fornecer um conjunto de definições precisas para programação de aplicativos de software de ponta. SUMO SUMO - Classes de Topo Word Net Exemplo WordNet WordNet 1.7.1 Search Search word: Results for "Synonyms, ordered by estimated frequency" search of noun "dessert" 1 sense of dessert Sense 1 dessert -- (a dish served as the last course of a meal) => course -(part of a meal served at one time; "she prepared a three course meal") Return to overview for dessert Return to WordNet home 20 Software Engineering Lab (LES) – PUC-Rio Exemplo de Tesauro- WordNet Resultado da busca ao termo “tank” (tanque) no WordNet. 21 Software Engineering Lab (LES) – PUC-Rio KR Ontology categorias foram derivadas a partir de combinações da divisão da categoria superior. Esta categoria, também chamada de categoria universal, representada pelo símbolo T foi subdivida nas seguintes combinações: Físico e Abstrato (F, A) Independente, Relativo ou Mediação (I,R,M) Contínuo e Ocorrente (C,O) No fundo está o tipo absurdo ┴ , que representa uma conjunção contraditória de todos as categorias. KR Ontology Independente (I). Definição: Entidade caracterizada pela sua inerente primazia, independente dos relacionamentos que mantém com outras entidades. Mediação (M). Definição: Entidade caracterizada por agir como um “terceiro”, ou seja, trazer duas outras entidades para um relacionamento. Uma entidade independente não pode ter nenhum relacionamento com outra. Uma entidade relativa, no entanto, pode manter um relacionamento com outras. Neste caso, uma entidade mediadora vai ser responsável pela criação deste relacionamento. Um exemplo é a entidade casamento que media o relacionamento entre marido e mulher. Tipos de ontologia 28 Software Engineering Lab (LES) – PUC-Rio Ref: Noy Tipos de Ontologia Vocabulários Controlados – Glossários – Lista finita de termos. Um Exemplo:NAICS (North American Industry Classification System) de produtos e serviços Lista de termos com significados em linguagem natural. Similar ao de um dicionário - termos são organizados alfabeticamente, Exemplo de glossário: é o NetGlos (The Multilingual Glossary of Internet Terminology) que reúne terminologia relacionada a recursos na Internet. Tesauros lista de termos e suas definições que padroniza a utilização de palavras para indexação. 29 Software Engineering Lab (LES) – PUC-Rio Tipos de ontologia Hierarquias tipo-de informais – Hierarquias que utilizam o relacionamento de generalização (tipo de) de maneira informal. Exemplo: Yahoo. Não respeitam integralmente o relacionamento de generalização: “aluguel de carro” e “hotel”, não são “tipos-de-viagem” Hierarquias tipode formais – Hierarquias que incluem instâncias de um domínio. Nestas hierarquias os relacionamentos de generalização são respeitados integralmente. Um exemplo é a taxonomia dos seres vivos, ilustrada na próxima seção. Frames Representação proposta por Marvin Minsky. Primitivas: classes (ou frames) Software Engineering Lab (LES) – É largamente utilizado em modelagem de conhecimento. 30 PUC-Rio Diferenças: Taxonomia e Ontologia Taxonomia: “Classificação de entidades de informação no formato de uma hierarquia, de acordo com relacionamentos que estabelecem com entidades do mundo real que representam.” Michael Daconta Servem Para: classificar informação em uma hierarquia (árvore) utilizando APENAS relacionamento pai-filho (generalização ou “tipo-de”) 31 Software Engineering Lab (LES) – PUC-Rio Diferenças: Taxonomia e Ontologia Generalização: único tipo de relacionamento que existe entre os termos de uma Taxonomia. Não se pode: atribuir características ou propriedades aos termos atributos, exprimir outros tipos de relacionamento: parte-de, causa-efeito, localização, Associação.. Software Engineering Lab (LES) – 32 Para isto é necessário construir uma ontologia. PUC-Rio Diferenças: Tesauro e Ontologia Tesauro: “um vocabulário controlado organizado segundo uma ordem conhecida e estruturado de modo a disponibilizar claramente os relacionamentos de equivalência, associação, hierárquicos e homônimos existentes entre termos.” ANSI/NISO Monolingual Thesaurus Standard Servem para: Garantir que conceitos sejam descritos consistentemente Permitir com que usuários possam refinar buscas e localizar a informação que necessitam. Contam com uma lista de relacionamentos pré defidos adicionais (além do de generalização) Sinônimo - Similar a, Equivalente, Homônimo – mesma grafia, Mais amplo do que – hierarquia, pai de, super classe, Mais restrito do que - hierarquia – filho de, sub classe, Associado - relacionado a, 33 Software Engineering Lab (LES) – PUC-Rio Diferenças: Tesauro e Ontologia Relacionamentos Pré Definidos: únicos tipos de relacionamento que podem existir entre os termos de um Tesauro Muitas vezes é necessário relacionar conceitos utilizando relacionamentos do tipo parte-de, membro-conjunto, faseprocesso, lugar-região, material-objeto, causa-efeito Não se pode: exprimir outros tipos de relacionamento além dos pré definidos: Para isto é necessário construir uma ontologia. Software Engineering Lab (LES) – 34 PUC-Rio Enfoques Inteligência artificial – Engenharia do conhecimento Esforços voltados ao mapeamento de domínios, criação de grandes bases de conhecimento para mapear o conhecimento humano Construídas por experts Web semântica Ontologias voltadas para aplicações específicas Construídas por engenheiros de software 35 Software Engineering Lab (LES) – PUC-Rio IA Enfoque top down Tempos antigos “divide et impera” Sistema e sub-sistema [von Bertalanffy] Dijkstra (programming considered a human activity) Especifica as partes individualmente Satisfeito? O problema está resolvido? Constrói as partes individualmente Se uma das partes ainda é complexa: subdividir 36 Software Engineering Lab (LES) – PUC-Rio CYC 37 Software Engineering Lab (LES) – PUC-Rio Web Semântica Grande número de pequenas ontologias interligadas Em alguns anos toda empresa, universidade, agência governamental terá seu conteúdo conectado a uma ontologia James Hendler, Agents and the Semantic Web 38 Software Engineering Lab (LES) – PUC-Rio Pequenas ontologias existirão em toda parte Todos dispositivos possuem ontologia própria 39 Software Engineering Lab (LES) – PUC-Rio Ref: Harry Chen Ontologias de Domínio Conceitos específicos a um campo ou área de conhecimento Animais, Doenças, Comida, Arte, …. Onde começar Enterder ontologias no sentido bottom up ou middle out. Níveis Ontologias de Domínio de Topo – Pontos de partida para aquele domínio ou área de conhecimento Ontologia de Domínio – conceitos da área Seres Vivos, Região Geográfica… Gato, Elefante, Montanha, Rio Instances – the things in the world Garfield, Pico das Agulhas Negras. 40 Software Engineering Lab (LES) – PUC-Rio Ontologias são apenas o começo... Bases de Declarar estrutura Dados Ontologias Bases de Fornecer descrições de Domínio Web Semântica Aplicações Agentes de Software Conhecimento Métodos para Independentes de Resolução de Domínio Problemas 41 Software Engineering Lab (LES) – PUC-Rio Ref: Rector et al