Baixe o app para aproveitar ainda mais
Prévia do material em texto
O uso de linguagens de alto nível convencionais para representação de regras era difícil, uma vez que estas têm enfoque em problemas numéricos (ou matemáticos). Várias das técnicas de representação de conhecimento geralmente são encontradas na literatura de IA. Uma programação funcional trabalha com funções ao contrário das linguagens orientadas à objetos que trabalham com representação de objetos num determinado domínio. O mesmo ocorre com as linguagens voltadas à IA. A própria Estatística é uma forma, por exemplo, de representação de conhecimento, apesar de não ser própria da IA. Existem formas de representação próprias da IA e que são utilizadas fora deste domínio de conhecimento também. Um exemplo é o "Mundo de Wumpus". Um conjunto de regras que representa o jogo. Aula 08 - Representação de conhecimento segunda-feira, 13 de abril de 2015 19:02 Página 1 de SIN260 - Sistemas Inteligentes Uma forma de representação é a lógica proposicional/lógica de predicados. "Se tem uma brisa, então .... Senão etc". Mas nem todas as aplicações se consegue faz a representação das variáveis de forma exata, nesses casos pode-se utilizar a lógica fuzzy. Pesquisar por sistemas de regras de produção Regras de produção está atrelado à lógica proposicional ou de predicados e isto gera um sistema de representação de conhecimento. Três regras são próprias da IA para criação de representação de conhecimento: 1. Redes semânticas 2. Frames 3. Scripts A base da rede semântica está na própria lógica. É preciso conhecer o ambiente do problema (domínio), quais as regras e as condições. Uma rede semântica ajuda a definir quem são os atores e as ações dentro de um sistema e a relação de regras e interações entre esses elementos. Um agente inteligente automático tem que ser autônomo. Criar a rede semântica ajuda a elaborar as regras que vão te ajudar a solucionar aquele problema. Redes semânticas Representar o significado entre as coisas e seus relacionamentos. Rede semântica é um grafo onde os nós podem ser os atores ou as ações e as arestas são as relações entre esses elementos. Um dos problemas da rede semântica é que as ações podem se confundir com os agentes, uma vez que não se discrimina coisas de classes distintas e somente seus relacionamentos, tudo é representado da mesma forma, não há como diferenciar uma coisa da outra. Esse tipo de representação suporta o conceito de herança (herda as características de uma entidade relacionada à outra). Não existe uma rede semântica única para um determinado tipo de programa, tendo em vista que os problemas podem ser representados pode diversos tipos de relacionamentos. Exemplo: PROCESSAMENTO DE LINGUAGEM NATURAL Página 2 de SIN260 - Sistemas Inteligentes Pesquisar por ontologia Ontologia da IA: São formas de representar as entidades que existem dentro de um determinado cenário. As informações e seus relacionamentos precisam ser organizados dentro de um uma ontologia para que tenham significado. Representação na IA pede algumas características. Tudo que se define de um sistema devem ser o mais livre possível de um uma ambiguidade, para que um elemento ou regra não se confundam. Deve-se ainda possuir um bom padrão de representação. Uma heurística, por exemplo, não deve possuir ambiguidade. Frames (quadros) Os frames ou quadros são representações em que as caixas representam as entidades que existem dentro de um programa. Apesar de possuir características semelhantes à orientação de objetos, possuem características próprias e não se confundem. Os objetos representados em quadros podem também herdar características dos superquadros. Página 3 de SIN260 - Sistemas Inteligentes Scripts Dentro da descrição de um problema, existem papéis desempenhados por atores, regras e passos. Dado uma entrada, leva-se a uma saída, que sucessivamente vão levando à solução de um problema. É uma forma de roteiro. Quais são as condições para o fluxo das atividades de acordo com as regras do domínio. Página 4 de SIN260 - Sistemas Inteligentes Sistemas especialistas Sistemas especialistas são sistemas de regra de produção que usa lógica de predicados cujo domínio é bem específico (não é abrangente). Vem do conhecimento da experiência de alguém para alguma coisa. Precisa possuir um conjunto de regras que não pode ser muito grande pois fica difícil de ser representado. Sistemas especialistas para automatizar um processo, este processo deve ser pequeno e um conjunto de regras não abrangente. A experiência adquirida é mapeada e depois traduzida para um sistema especialista. Além de armazenar conhecimento, os sistemas especialistas também passaram a ser um repositório de conhecimento. Hoje um sistema especialista desempenha várias funções e facilmente implementável. A base de conhecimento de um sistema especialista depende de fatos e conhecimentos. A base de fatos e regras é a descrição do problema. Os fatos são sempre as verdades do sistema. Dada uma entrada, o S.E. aciona um conjunto de regras para verificar-se de aquilo é verdadeiro ou falso para retornar uma possível solução. Um dos gargalos do sistema baseado em regras é a ordem em que as regras são apresentadas. Uma maneira de resolver este problema é utilizar um sistema de aprendizado de máquina para melhorar o desempenho. Regras de produção Página 5 de SIN260 - Sistemas Inteligentes Regras de produção Para descrever como os seres humanos processam a informação simbólica, os pesquisadores da Inteligência Artificial criaram uma "linguagem de programação" chamada sistema de produção. as regras de produção ou proposições "se-então" e1. uma memória de trabalho.2. Os sistemas de produção consistem de duas partes: Dito de outra maneira, uma produção é uma instrução a um processador "reconhecer-agir" como o descrito acima. As regras de produção aplicam-se à memória de trabalho. Se tiverem êxito, contribuirão com alguma nova informação para a memória. Uma pessoa acorda e olha o relógio-calendário e vê que é dia 15 de maio.• "15 de maio" vai para a memória de trabalho e, por ativação, recupera-se uma produção: • "Se é 15 de maio, então é o aniversário da esposa". Um novo fato vai para a memória de trabalho: • "Hoje é o aniversário de Susana" e o processo continua quando, novamente por ativaçao, a produçâo • "se é aniversário de alguém. então é preciso pensar em um presente" é localizada. "Presente" é colocado na memória e o ciclo continua. • Exemplo: O sistema de produção oferece um modelo do pensamento humano extremamente poderoso por ser discreto, simples e flexível. O seu êxito em criar programas que modelam o comportamento humano leva os pesquisadores em IA a concetrarem a atenção no papel que as regras "se-então" desempenham no conhecimento humano. Realmente, muitos sistemas especialistas podiam descrever-se como sistemas de produção. Extraído de Paul Harmon, David King. Sistemas especialistas. Rio de Janeiro: Campus, 1988. De <http://sistemasespecialistas.blogspot.in/2006/04/regras-de-produo.html> Ontologia (ciência da computação) Origem: Wikipédia, a enciclopédia livre. Em Ciência da Computação, Sistemas de Informação e Ciência da Informação, uma ontologia é um modelo de dados que representa um conjunto de conceitos dentro de um domínio e os relacionamentos entre estes. Uma ontologia é utilizada para realizar inferência sobre os objetos do domínio. Indivíduos: os objetos básicos;• Classes: conjuntos, coleções ou tipos de objetos1 ;• Atributos: propriedades, características ou parâmetros que os objetos podem ter e compartilhar; • Relacionamentos: as formas como os objetos podem se relacionar com outros objetos.• Ontologias são utilizadas em inteligência artificial, web semântica, engenhariade software e arquitetura da informação, como uma forma de representação de conhecimento sobre o mundo ou alguma parte deste. Ontologias geralmente descrevem: 1 Diferença de ontologia na Filosofia• 2.1 Indivíduos (exemplares)○ 2.2 Classes (conceitos)○ 2.3 Atributos○ 2.4 Relacionamentos○ 2 Elementos de uma ontologia• 3 Tipos de Ontologias• 4 Bibliotecas de ontologias• 5 Armazenamento de Ontologias em Banco de Dados• 6 Notas• 7 Ver também• 8 Ligações externas• Índice Diferença de ontologia na Filosofia Página 6 de SIN260 - Sistemas Inteligentes Diferença de ontologia na Filosofia O termo ontologia tem origem na Filosofia, onde é o nome de um ramo da metafísica ocupado da existência. De acordo com Tom Gruber da Stanford University, no entanto, o significado de ontologia para a ciência da computação é "uma descrição de conceitos e relacionamentos que devem ser considerados por um agente ou por uma comunidade de agentes." Ele especifica ainda que uma ontologia é geralmente escrita "como um conjunto de definições de um vocabulário formal." Elementos de uma ontologia Os modelos e implementações correntes de ontologias em ciência de computação compartilham muitas semelhanças estruturais, independentemente do contexto e da linguagem em que são expressas. Como mencionado acima, a maioria das ontologias descreve indivíduos (exemplares), classes (conceitos), atributos e relacionamentos. Esta seção descreve cada um desses componentes. Indivíduos (exemplares) Indivíduos (exemplares) são os componentes básicos de uma ontologia. Os indivíduos em uma ontologia podem incluir objetos concretos como pessoas, animais, mesas, automóveis, moléculas, planetas, assim como indivíduos abstratos como números e palavras. Para ser exata, uma ontologia não precisa necessariamente incluir indivíduos, porém um dos propósitos gerais de uma ontologia é apresentar um meio de classificação de indivíduos, mesmo que estes não sejam explicitamente parte da ontologia. Classes (conceitos) Pessoa, a classe de todas as pessoas;• Molécula, a classe de todas as moléculas;• Número, a classe de todos os números;• Veículo, a classe de todos os veículos;• Carro, a classe de todos os carros;• Indivíduo, representando a classe de todos os indivíduos;• Classe, representando a classe de todas as classes;• Coisa, representando a classe de todas as coisas.• Classes (conceitos) são grupos abstratos, conjuntos ou coleções de objetos. Eles podem conter indivíduos, outras classes, ou uma combinação de ambos. Alguns exemplos de classes2 : Ontologias se diferenciam nos seguintes aspectos: se classes podem conter outras classes, se uma classe pode pertencer a si mesma, se existe uma classe universal (isto é, uma classe contendo tudo), etc. Algumas vezes estas restrições são feitas para evitar alguns paradoxos conhecidos. Uma classe pode incluir ou estar incluída em outras classes. Por exemplo, Veículo inclui Carro, já que (necessariamente) qualquer coisa que é membro de Carro é também membro de Veículo. A relação de inclusão é utilizada para criar uma hierarquia de classes, geralmente com uma classe geral como Coisa no topo, e classes específicas como GM Celta 2008 na base. Atributos Nome: GM Celta• Número_de_portas: 4• Motor: {1.0, 1.3}• Câmbio: 5-marchas• Objetos em uma ontologia podem ser descritos através de atributos. Cada atributo tem pelo menos um nome e um valor, e é utilizado para armazenar informação que é específica para o objeto ligado a ele. Por exemplo, o objeto "GM Celta" tem atributos como: O valor de um atributo pode ser um tipo de dados completo; neste exemplo, o valor do atributo chamado Motor é uma lista de valores, não um valor simples. Relacionamentos Um uso importante dos atributos é a descrição de relacionamentos (também conhecidos como relações) entre objetos na ontologia. Geralmente, uma relação é um atributo cujo valor é outro objeto na ontologia. Muito do poder das ontologias vem da habilidade de descrever estas relações. O conjunto de todas as relações descreve a semântica do domínio. O tipo mais importante de relação é a relação de inclusão (é-superclasse-de, é-um, é-subtipo-de ou é-subclasse-de), que define quais objetos são membros de quais classes de objetos. Por exemplo, podemos notar que o "GM Celta" é-um "Carro", que, por sua vez, é-um "Automóvel". Página 7 de SIN260 - Sistemas Inteligentes podemos notar que o "GM Celta" é-um "Carro", que, por sua vez, é-um "Automóvel". A adição de relacionamentos é-um cria uma taxonomia hierárquica, uma estrutura de árvore que descreve que objetos se relacionam com quais outros. Nesta estrutura, cada objeto é um "filho" de uma "classe pai". Outro tipo comum de relação é a do tipo parte-de que representa como objetos se combinam para formar objetos compostos. Por exemplo, se estender o exemplo de ontologia para incluir objetos como Rodas, diríamos que "Rodaé-parte-de GM Celta" já que uma roda é um dos componentes de um GM Celta. Além das relações comuns como é-um e parte-de, as ontologias geralmente incluem outros tipos de relações que refinam ainda mais a semântica do modelo. Estas relações geralmente são específicas do domínio e são utilizadas para responder tipos particulares de questões. Tipos de Ontologias Uma ontologia de domínio (domain ontology ou domain-specific ontology) modela um domínio específico, ou parte do mundo. Ela representa os significados dos termos aplicados ao domínio em questão. Por exemplo, a palavra “carta” pode ter distintos significados. Uma ontologia sobre o domínio do jogo de pôquer poderia modelar seu significado como uma “carta de um jogo”, enquanto uma ontologia de um serviço postal poderia modelar seu significado como um “texto a ser entregue a um destinatário”. Uma ontologia superior ou geral (upper ontology ou foundation ontology) é um modelo dos objetos comuns que são geralmente aplicáveis a uma grande variedade de ontologias de domínio. Classifica diferentes categorias existentes no mundo. Ela contém um glossário central que permite descrever termos em vários domínios, que contém noções gerais independentes para o problema ou dominio. Existem várias ontologias superiores padronizadas para uso, como: Dublin Core, GFO, OpenCyc/ResearchCyc, SUMO e DOLCE. Uma ontologia de representação ou meta-ontologia (representation ontology ou meta-ontology) capturam as representações das primitivas usadas para formalizar o conhecimento numa dada familia ou sistema. Já que as ontologias de domínio representam conceitos muito específicos, geralmente são incompatíveis entre si. À medida em que os sistemas dependem de ontologias de domínio, eles precisam mesclar ontologias em representações mais gerais. Isto representa um desafio para o engenheiro de ontologias. Atualmente, mesclar ontologias é um processo manual e que consome muito tempo e recursos. O uso de uma ontologia superior que forneça uma definição comum para termos chave pode tornar este processo menos custoso. Existem estudos a respeito de técnicas para mesclar ontologias, porém esta área de pesquisa ainda é muito teórica. Bibliotecas de ontologias O desenvolvimento de ontologias para a Internet levou ao surgimentos de serviços que disponibilizam listas ou diretórios de ontologias com mecanismos de buscas. Estes mecanismos foram chamados de bibliotecas de ontologias. A DAML Ontology Library mantém um legado de ontologias em DAML.• O SchemaWeb é um diretório de esquemas RDF expressos em RDFS, OWL eDAML+OIL.• Os serviços abaixo são bibliotecas estáticas ou gerenciadas por pessoas: O Swoogle é um diretório e mecanismo de busca para todos os recursos RDF disponíveis na Web, incluindo ontologias. • A biblioteca OntoSelect oferece um serviço similar para ontologias em RDF/S, DAML e OWL.• OOntaria é um "diretório pesquisável e navegável de dados da web semântica", que foca em vocabulários RDF com ontologias OWL. • Os serviços abaixo são diretórios e mecanismos de busca. Eles incluem crawlers que vasculham a Web procurando por ontologias bem formadas. Armazenamento de Ontologias em Banco de Dados JENA• SESAME• 3 Store• Campo de pesquisa bastante ativo da Web Semântica atualmente, pois viabiliza aplicações utilizando ontologias. Existem os seguintes frameworks para isso: Notas Página 8 de SIN260 - Sistemas Inteligentes Ir para cima↑ Veja Classe (biologia) e Classe (programação), conceitos relevantes, mas não idênticos a noção de "classe" em ontologias. 1. Ir para cima↑ Note que os nomes dados as classes são apenas convenções.2. Notas RDF• DAML• OWL• Web semântica• Arquitetura de dados• Administração de dados• Modelagem de dados• Ver também What is an ontology? (em inglês)• The Protégé Ontology Editor and Acquisition System (em inglês)• Patrícia Cunha França, Conceitos, classes ou universais: com o que é que se constrói uma ontologia? • Ligações externas Obtida de "http://pt.wikipedia.org/w/index.php?title=Ontologia_(ciência_da_computação)&oldid= 37699830" Categorias: Web• Esta página foi modificada pela última vez à(s) 23h07min de 22 de dezembro de 2013.• Este texto é disponibilizado nos termos da licença Creative Commons - Atribuição - Compartilha Igual 3.0 Não Adaptada (CC BY-SA 3.0); pode estar sujeito a condições adicionais. Para mais detalhes, consulte asCondições de Uso. • Ciência da informação• De <http://pt.wikipedia.org/w/index.php?title=Ontologia_(ci%C3%AAncia_da_computa%C3%A7%C3% A3o)&printable=yes> Página 9 de SIN260 - Sistemas Inteligentes
Compartilhar