Representação e raciocínio do conhecimento

format_list_bulleted Contenido keyboard_arrow_down
ImprimirCitar
Campo de inteligência artificial

Representação e raciocínio do conhecimento (KRR, KR&R, KR²) é o campo da inteligência artificial (AI) dedicada a representar informações sobre o mundo em uma forma que um sistema de computador pode usar para resolver tarefas complexas, como diagnosticar uma condição médica ou dialogar em uma linguagem natural. A representação do conhecimento incorpora descobertas da psicologia sobre como os humanos resolvem problemas e representam o conhecimento para projetar formalismos que tornarão sistemas complexos mais fáceis de projetar e construir. A representação e o raciocínio do conhecimento também incorporam descobertas da lógica para automatizar vários tipos de raciocínio, como a aplicação de regras ou as relações de conjuntos e subconjuntos.

Exemplos de formalismos de representação de conhecimento incluem redes semânticas, arquitetura de sistemas, frames, regras e ontologias. Exemplos de mecanismos de raciocínio automatizado incluem mecanismos de inferência, provadores de teoremas e classificadores.

História

Os primeiros trabalhos em representação de conhecimento computadorizado foram focados em solucionadores de problemas gerais, como o sistema General Problem Solver (GPS) desenvolvido por Allen Newell e Herbert A. Simon em 1959. Esses sistemas apresentavam estruturas de dados para planejamento e decomposição. O sistema começaria com um objetivo. Em seguida, decomporia esse objetivo em subobjetivos e, em seguida, definiria a construção de estratégias que pudessem realizar cada subobjetivo.

Nos primeiros dias da IA, também foram desenvolvidos algoritmos de pesquisa gerais, como A*. No entanto, as definições de problemas amorfos para sistemas como o GPS significavam que eles funcionavam apenas para domínios de brinquedos muito restritos (por exemplo, o "mundo dos blocos"). Para resolver problemas não relacionados a brinquedos, pesquisadores de IA, como Ed Feigenbaum e Frederick Hayes-Roth, perceberam que era necessário focar os sistemas em problemas mais restritos.

Esses esforços levaram à revolução cognitiva na psicologia e à fase da IA focada na representação do conhecimento que resultou em sistemas especialistas nas décadas de 1970 e 80, sistemas de produção, linguagens de quadro etc. Em vez de solucionadores de problemas gerais, a IA mudou sua foco em sistemas especialistas que podem corresponder à competência humana em uma tarefa específica, como diagnóstico médico.

Sistemas especialistas nos deram a terminologia ainda em uso hoje, onde os sistemas de IA são divididos em uma base de conhecimento, com fatos sobre o mundo e regras, e um mecanismo de inferência, que aplica as regras à base de conhecimento para responder a perguntas e resolver problemas. Nesses primeiros sistemas, a base de conhecimento tendia a ser uma estrutura bastante plana, essencialmente afirmações sobre os valores das variáveis usadas pelas regras.

Além dos sistemas especialistas, outros pesquisadores desenvolveram o conceito de linguagens baseadas em quadros em meados da década de 1980. Um quadro é semelhante a uma classe de objeto: é uma descrição abstrata de uma categoria que descreve coisas no mundo, problemas e possíveis soluções. Os quadros foram originalmente usados em sistemas voltados para a interação humana, por ex. compreender a linguagem natural e os ambientes sociais nos quais várias expectativas padrão, como pedir comida em um restaurante, estreitam o espaço de busca e permitem que o sistema escolha respostas apropriadas para situações dinâmicas.

Não demorou muito para que as comunidades de estrutura e os pesquisadores baseados em regras percebessem que havia uma sinergia entre suas abordagens. Os quadros eram bons para representar o mundo real, descritos como classes, subclasses, slots (valores de dados) com várias restrições de valores possíveis. As regras eram boas para representar e utilizar uma lógica complexa, como o processo de fazer um diagnóstico médico. Foram desenvolvidos sistemas integrados que combinavam molduras e regras. Um dos mais poderosos e conhecidos foi o Knowledge Engineering Environment (KEE) de 1983 da Intellicorp. O KEE tinha um mecanismo de regras completo com encadeamento para frente e para trás. Ele também tinha uma base de conhecimento baseada em quadro completa com gatilhos, slots (valores de dados), herança e passagem de mensagens. Embora a passagem de mensagens tenha se originado na comunidade orientada a objetos e não na IA, ela foi rapidamente adotada por pesquisadores de IA, bem como em ambientes como o KEE e nos sistemas operacionais para máquinas Lisp da Symbolics, Xerox e Texas Instruments.

A integração de frames, regras e programação orientada a objetos foi impulsionada significativamente por empreendimentos comerciais como KEE e Symbolics derivados de vários projetos de pesquisa. Ao mesmo tempo em que isso ocorria, havia outra linha de pesquisa menos focada comercialmente e impulsionada pela lógica matemática e pela demonstração automatizada de teoremas. Uma das linguagens mais influentes nesta pesquisa foi a linguagem KL-ONE de meados dos anos 80. KL-ONE era uma linguagem de quadro que tinha uma semântica rigorosa, definições formais para conceitos como uma relação É-A. O KL-ONE e as linguagens influenciadas por ele, como o Loom, tinham um mecanismo de raciocínio automatizado baseado na lógica formal e não nas regras SE-ENTÃO. Esse raciocinador é chamado de classificador. Um classificador pode analisar um conjunto de declarações e inferir novas asserções, por exemplo, redefinir uma classe para ser uma subclasse ou superclasse de alguma outra classe que não foi especificada formalmente. Dessa forma, o classificador pode funcionar como um mecanismo de inferência, deduzindo novos fatos de uma base de conhecimento existente. O classificador também pode fornecer verificação de consistência em uma base de conhecimento (que no caso de linguagens KL-ONE também é chamada de Ontologia).

Outra área de pesquisa da representação do conhecimento foi o problema do raciocínio de senso comum. Uma das primeiras realizações aprendidas ao tentar criar um software que pudesse funcionar com a linguagem natural humana foi que os humanos regularmente se baseiam em uma extensa base de conhecimento sobre o mundo real que simplesmente tomamos como certo, mas que não é nada óbvio para um agente artificial. Princípios básicos da física de senso comum, causalidade, intenções, etc. Um exemplo é o problema do quadro, que em uma lógica orientada a eventos é necessário haver axiomas que afirmam que as coisas mantêm a posição de um momento para o outro, a menos que sejam movidas por algum externo força. Para fazer um verdadeiro agente de inteligência artificial que possa conversar com humanos usando linguagem natural e processar afirmações e perguntas básicas sobre o mundo, é essencial representar esse tipo de conhecimento. Um dos programas mais ambiciosos para resolver esse problema foi o projeto Cyc de Doug Lenat. A Cyc estabeleceu sua própria linguagem Frame e teve um grande número de analistas documentando várias áreas do raciocínio de senso comum nessa linguagem. O conhecimento registrado no Cyc incluía modelos de senso comum de tempo, causalidade, física, intenções e muitos outros.

O ponto de partida para a representação do conhecimento é a hipótese da representação do conhecimento formalizada pela primeira vez por Brian C. Smith em 1985:

Qualquer processo inteligente encarnado mecanicamente será composto por ingredientes estruturais que a) nós, como observadores externos, naturalmente, levamos a representar um relato proposicional do conhecimento que o processo geral exibe, e b) independente de tal atribuição semântica externa, desempenhar um papel formal, mas causal e essencial na elaboração do comportamento que manifesta esse conhecimento.

Atualmente, uma das áreas mais ativas de pesquisa em representação do conhecimento são os projetos associados à Web Semântica. A Web Semântica busca adicionar uma camada de semântica (significado) sobre a Internet atual. Em vez de indexar sites e páginas da Web por meio de palavras-chave, a Web Semântica cria grandes ontologias de conceitos. A pesquisa de um conceito será mais eficaz do que as pesquisas tradicionais apenas de texto. Linguagens de quadro e classificação automática desempenham um papel importante na visão para o futuro da Web Semântica. A classificação automática oferece aos desenvolvedores tecnologia para fornecer ordem em uma rede de conhecimento em constante evolução. Definir ontologias que são estáticas e incapazes de evoluir em tempo real seria muito limitante para sistemas baseados na Internet. A tecnologia do classificador fornece a capacidade de lidar com o ambiente dinâmico da Internet.

Projetos recentes financiados principalmente pela Agência de Projetos de Pesquisa Avançada de Defesa (DARPA) integraram linguagens de quadro e classificadores com linguagens de marcação baseadas em XML. O Resource Description Framework (RDF) fornece a capacidade básica para definir classes, subclasses e propriedades de objetos. A Web Ontology Language (OWL) fornece níveis adicionais de semântica e permite a integração com mecanismos de classificação.

Visão geral

A representação do conhecimento é um campo da inteligência artificial que se concentra em projetar representações de computador que capturam informações sobre o mundo que podem ser usadas para resolver problemas complexos.

A justificativa para a representação do conhecimento é que o código processual convencional não é o melhor formalismo a ser usado para resolver problemas complexos. A representação do conhecimento torna o software complexo mais fácil de definir e manter do que o código processual e pode ser usado em sistemas especialistas.

Por exemplo, conversar com especialistas em termos de regras de negócios em vez de código diminui a lacuna semântica entre usuários e desenvolvedores e torna o desenvolvimento de sistemas complexos mais prático.

A representação do conhecimento anda de mãos dadas com o raciocínio automatizado porque um dos principais propósitos da representação explícita do conhecimento é ser capaz de raciocinar sobre esse conhecimento, fazer inferências, afirmar novos conhecimentos, etc. Praticamente todas as linguagens de representação do conhecimento têm um raciocínio ou mecanismo de inferência como parte do sistema.

Um trade-off chave no projeto de um formalismo de representação de conhecimento é aquele entre expressividade e praticidade. O formalismo de representação de conhecimento final em termos de poder expressivo e compacidade é a Lógica de Primeira Ordem (FOL). Não há formalismo mais poderoso do que aquele usado pelos matemáticos para definir proposições gerais sobre o mundo. No entanto, o FOL tem duas desvantagens como formalismo de representação do conhecimento: facilidade de uso e praticidade de implementação. A lógica de primeira ordem pode ser intimidante até mesmo para muitos desenvolvedores de software. Linguagens que não possuem o poder formal completo do FOL ainda podem fornecer quase o mesmo poder expressivo com uma interface de usuário que é mais prática para o desenvolvedor médio entender. A questão da praticidade de implementação é que o FOL em alguns aspectos é muito expressivo. Com FOL é possível criar declarações (por exemplo, quantificação sobre conjuntos infinitos) que fariam com que um sistema nunca terminasse se tentasse verificá-los.

Assim, um subconjunto de FOL pode ser mais fácil de usar e mais prático de implementar. Essa foi uma motivação motriz por trás dos sistemas especialistas baseados em regras. As regras IF-THEN fornecem um subconjunto de FOL, mas muito útil e também muito intuitivo. A história da maioria dos primeiros formalismos de representação do conhecimento da IA; de bancos de dados a redes semânticas a provadores de teoremas e sistemas de produção podem ser vistos como várias decisões de design sobre enfatizar o poder expressivo ou a computabilidade e a eficiência.

Em um importante artigo de 1993 sobre o assunto, Randall Davis, do MIT, delineou cinco funções distintas para analisar uma estrutura de representação do conhecimento:

  • "Uma representação do conhecimento (KR) é fundamentalmente um substituto, um substituto para a coisa em si, usado para permitir que uma entidade determine as conseqüências ao pensar em vez de agir", isto é, "por raciocinar sobre o mundo em vez de agir nele".
  • "É um conjunto de compromissos ontológicos", ou seja, "uma resposta à pergunta: Em que termos devo pensar sobre o mundo?"
  • "É uma teoria fragmentária do raciocínio inteligente, expressa em termos de três componentes: (i) a concepção fundamental da representação do raciocínio inteligente; (ii) o conjunto de inferências as sanções de representação; e (iii) o conjunto de inferências que recomenda."
  • "É um meio para computação pragmáticamente eficiente", ou seja, "o ambiente computacional em que o pensamento é realizado. Uma contribuição para esta eficiência pragmática é fornecida pela orientação que uma representação fornece para a organização de informações, de modo a " facilitar a realização das inferências recomendadas".
  • "É um meio de expressão humana", isto é, "uma linguagem em que dizemos coisas sobre o mundo".

A representação e o raciocínio do conhecimento são uma tecnologia essencial para a Web Semântica. As linguagens baseadas no modelo Frame com classificação automática fornecem uma camada de semântica sobre a Internet existente. Em vez de pesquisar por meio de sequências de texto como é comum hoje em dia, será possível definir consultas lógicas e localizar páginas que mapeiam essas consultas. O componente de raciocínio automatizado nesses sistemas é um mecanismo conhecido como classificador. Os classificadores se concentram nas relações de subsunção em uma base de conhecimento em vez de regras. Um classificador pode inferir novas classes e alterar dinamicamente a ontologia à medida que novas informações se tornam disponíveis. Esse recurso é ideal para o espaço de informações em constante mudança e evolução da Internet.

A Web Semântica integra conceitos de representação e raciocínio do conhecimento com linguagens de marcação baseadas em XML. O Resource Description Framework (RDF) fornece os recursos básicos para definir objetos baseados em conhecimento na Internet com recursos básicos, como relações Is-A e propriedades de objeto. A Web Ontology Language (OWL) adiciona semântica adicional e se integra com raciocinadores de classificação automática.

Características

Em 1985, Ron Brachman categorizou as questões centrais para a representação do conhecimento da seguinte forma:

  • Primitivos. Qual é o quadro subjacente utilizado para representar o conhecimento? As redes semânticas foram uma das primeiras primitivas de representação do conhecimento. Além disso, estruturas de dados e algoritmos para pesquisa rápida geral. Nesta área, há uma forte sobreposição com pesquisas em estruturas de dados e algoritmos em ciência da computação. Nos primeiros sistemas, a linguagem de programação Lisp, que foi modelada após o cálculo lambda, foi frequentemente usada como uma forma de representação do conhecimento funcional. Quadros e Regras foram o próximo tipo de primitivo. As linguagens de quadros tinham vários mecanismos para expressar e impor restrições sobre dados de quadros. Todos os dados em quadros são armazenados em slots. Os entalhes são análogos às relações na modelagem da entidade-relação e para objetos de propriedades na modelagem orientada a objetos. Outra técnica para os primitivos é definir linguagens que são modeladas após a Primeira Ordem Lógica (FOL). O exemplo mais conhecido é Prolog, mas há também muitos ambientes de teorema de propósito especial. Esses ambientes podem validar modelos lógicos e podem deduzir novas teorias de modelos existentes. Essencialmente eles automatizam o processo que um lógico passaria por analisar um modelo. A tecnologia de melhoria de teorema tinha algumas aplicações práticas específicas nas áreas de engenharia de software. Por exemplo, é possível provar que um programa de software adere rigidamente a uma especificação lógica formal.
  • Meta-representação. Isso também é conhecido como a questão da reflexão na ciência da computação. Refere-se à capacidade de um formalismo ter acesso a informações sobre seu próprio estado. Um exemplo seria o protocolo meta-objeto em Smalltalk e CLOS que dá aos desenvolvedores o acesso de tempo de execução aos objetos de classe e permite que eles redefinissem dinamicamente a estrutura da base de conhecimento mesmo no tempo de execução. Meta-representação significa que a linguagem de representação do conhecimento é expressa nessa linguagem. Por exemplo, na maioria dos ambientes baseados em quadros todos os quadros seriam instâncias de uma classe de quadros. Esse objeto de classe pode ser inspecionado no tempo de execução, para que o objeto possa entender e até mesmo alterar sua estrutura interna ou a estrutura de outras partes do modelo. Em ambientes baseados em regras, as regras também eram geralmente instâncias de classes de regras. Parte do meta protocolo de regras foram as regras meta que priorizaram o disparo de regras.
  • Incompletude. A lógica tradicional requer axiomas e restrições adicionais para lidar com o mundo real em oposição ao mundo da matemática. Além disso, muitas vezes é útil associar graus de confiança com uma declaração. Ou seja, não simplesmente dizer "Socrates é Humano", mas sim "Socrates é Humano com confiança 50%". Esta foi uma das inovações iniciais da pesquisa de sistemas especializados que migraram para algumas ferramentas comerciais, a capacidade de associar fatores de certeza com regras e conclusões. Mais tarde a pesquisa nesta área é conhecida como lógica difusa.
  • Definições e universais vs. fatos e padrões. Os universais são declarações gerais sobre o mundo, como "Todos os seres humanos são mortais". Os fatos são exemplos específicos de universais como "Socrates é um humano e, portanto, mortal". Em termos lógicos, definições e universais são sobre quantificação universal, enquanto fatos e padrões são sobre quantificações existenciais. Todas as formas de representação do conhecimento devem lidar com este aspecto e a maioria fazê-lo com alguma variante da teoria dos conjuntos, modelando universais como conjuntos e subconjuntos e definições como elementos nesses conjuntos.
  • Raciocínio não monotónico. O raciocínio não-monotônico permite vários tipos de raciocínio hipotético. O sistema associa fatos afirmados com as regras e fatos usados para justificá-los e como esses fatos mudam atualizações do conhecimento dependente também. Em sistemas baseados em regras esta capacidade é conhecida como um sistema de manutenção da verdade.
  • Adequação expressiva. O padrão que Brachman e a maioria dos pesquisadores de IA usam para medir a adequação expressiva é geralmente Lógica de Primeira Ordem (FOL). Limitações teóricas significam que uma implementação completa da FOL não é prática. Os pesquisadores devem ser claros sobre o quão expressivo (quase do poder expressivo FOL completo) eles pretendem sua representação ser.
  • Eficiência racional. Isso se refere à eficiência do tempo de execução do sistema. A capacidade da base de conhecimento a ser atualizada e o raciocínio para desenvolver novas inferências em um período razoável de tempo. De certa forma, este é o lado flip da adequação expressiva. Em geral, quanto mais poderosa for a representação, mais ela tem a adequação expressiva, menos eficiente será o seu motor de raciocínio automatizado. A eficiência era muitas vezes um problema, especialmente para aplicações precoces da tecnologia de representação do conhecimento. Eles geralmente foram implementados em ambientes interpretados como Lisp, que eram lentos em comparação com plataformas mais tradicionais do tempo.

Engenharia de Ontologia

Nos primeiros anos dos sistemas baseados em conhecimento, as bases de conhecimento eram relativamente pequenas. As bases de conhecimento destinadas a resolver problemas reais, em vez de fazer demonstrações de prova de conceito, precisavam se concentrar em problemas bem definidos. Por exemplo, não apenas o diagnóstico médico como um todo, mas o diagnóstico médico de certos tipos de doenças.

À medida que a tecnologia baseada em conhecimento foi ampliada, tornou-se aparente a necessidade de bases de conhecimento maiores e de bases de conhecimento modulares que pudessem se comunicar e se integrar. Isso deu origem à disciplina de engenharia de ontologias, projetando e construindo grandes bases de conhecimento que poderiam ser utilizadas por múltiplos projetos. Um dos principais projetos de pesquisa nesta área foi o projeto Cyc. Cyc foi uma tentativa de construir uma enorme base de conhecimento enciclopédico que conteria não apenas conhecimento especializado, mas também conhecimento de senso comum. Ao projetar um agente de inteligência artificial, logo percebeu-se que representar o conhecimento de senso comum, conhecimento que os humanos simplesmente aceitam como certo, era essencial para criar uma IA que pudesse interagir com humanos usando linguagem natural. Cyc foi concebido para resolver este problema. A linguagem que eles definiram era conhecida como CycL.

Depois de CycL, várias linguagens de ontologia foram desenvolvidas. A maioria são linguagens declarativas e são linguagens de quadro ou baseadas em lógica de primeira ordem. A modularidade - a capacidade de definir limites em torno de domínios específicos e espaços problemáticos - é essencial para essas linguagens porque, como afirma Tom Gruber, "Toda ontologia é um tratado - um acordo social entre pessoas com motivos comuns de compartilhamento." Sempre há muitas visões concorrentes e divergentes que tornam impossível qualquer ontologia de propósito geral. Uma ontologia de propósito geral teria que ser aplicável em qualquer domínio e diferentes áreas do conhecimento precisam ser unificadas.

Existe uma longa história de trabalho tentando construir ontologias para uma variedade de domínios de tarefas, por exemplo, uma ontologia para líquidos, o modelo de elemento concentrado amplamente utilizado na representação de circuitos eletrônicos (por exemplo,), bem como ontologias para tempo, crença e até mesmo a própria programação. Cada um deles oferece uma maneira de ver alguma parte do mundo.

O modelo de elemento concentrado, por exemplo, sugere que pensemos em circuitos em termos de componentes com conexões entre eles, com sinais fluindo instantaneamente ao longo das conexões. Esta é uma visão útil, mas não a única possível. Uma ontologia diferente surge se precisarmos atender à eletrodinâmica no dispositivo: aqui os sinais se propagam em velocidade finita e um objeto (como um resistor) que antes era visto como um único componente com um comportamento de E/S pode agora ter que ser pensado como um meio estendido através do qual uma onda eletromagnética flui.

É claro que as ontologias podem ser escritas em uma ampla variedade de linguagens e notações (por exemplo, lógica, LISP, etc.); a informação essencial não é a forma dessa linguagem, mas o conteúdo, ou seja, o conjunto de conceitos oferecidos como forma de pensar o mundo. Simplificando, a parte importante são noções como conexões e componentes, não a escolha entre escrevê-los como predicados ou construções LISP.

O compromisso assumido ao selecionar uma ou outra ontologia pode produzir uma visão totalmente diferente da tarefa em questão. Considere a diferença que surge ao selecionar a visualização do elemento concentrado de um circuito em vez da visualização eletrodinâmica do mesmo dispositivo. Como um segundo exemplo, o diagnóstico médico visto em termos de regras (por exemplo, MYCIN) parece substancialmente diferente da mesma tarefa vista em termos de quadros (por exemplo, INTERNIST). Onde o MYCIN vê o mundo médico como feito de associações empíricas que conectam o sintoma à doença, o INTERNIST vê um conjunto de protótipos, em particular doenças prototípicas, a serem comparados com o caso em questão.

Contenido relacionado

Northrop F-5

O Northrop F-5 é uma família de caças leves supersônicos inicialmente projetado como um projeto financiado privadamente no final dos anos 1950 pela...

Active Directory

Active Directory é um serviço de diretório desenvolvido pela Microsoft para redes de domínio do Windows. Ele está incluído na maioria dos sistemas...

Docklands Light Railway

O Docklands Light Railway é um sistema de metrô leve automatizado que serve a área reconstruída de Docklands em Londres, Inglaterra, e fornece uma...
Más resultados...
Tamaño del texto:
undoredo
format_boldformat_italicformat_underlinedstrikethrough_ssuperscriptsubscriptlink
save