Sistemas baseados em conhecimento - Knowledge-based systems

Um sistema baseado em conhecimento ( KBS ) é um programa de computador que raciocina e usa uma base de conhecimento para resolver problemas complexos . O termo é amplo e se refere a muitos tipos diferentes de sistemas. O único tema comum que une todos os sistemas baseados em conhecimento é uma tentativa de representar o conhecimento explicitamente e um sistema de raciocínio que permite derivar novos conhecimentos. Assim, um sistema baseado em conhecimento possui duas características distintas: uma base de conhecimento e um motor de inferência .

A primeira parte, a base de conhecimento, representa fatos sobre o mundo, muitas vezes em alguma forma de ontologia de subsunção (em vez de implicitamente embutido no código procedural, como um programa de computador convencional faz). Outras abordagens comuns, além de uma ontologia de subsunção, incluem quadros , gráficos conceituais e asserções lógicas.

A segunda parte, o motor de inferência, permite que novos conhecimentos sejam inferidos. Mais comumente, pode assumir a forma de regras IF-THEN acopladas a abordagens de encadeamento progressivo ou retroativo . Outras abordagens incluem o uso de provadores de teoremas automatizados, programação lógica, sistemas de quadro-negro e sistemas de reescrita de termos, como CHR (Regras de tratamento de restrições) . Essas abordagens mais formais são abordadas em detalhes no artigo da Wikipedia sobre representação e raciocínio do conhecimento .

Visão geral

Os sistemas baseados no conhecimento foram desenvolvidos pela primeira vez por pesquisadores de inteligência artificial . Esses primeiros sistemas baseados em conhecimento eram principalmente sistemas especialistas - na verdade, o termo é freqüentemente usado de forma intercambiável com sistemas especialistas, embora haja uma diferença. A diferença está na visão tomada para descrever o sistema:

  • "sistema especialista" refere-se ao tipo de tarefa que o sistema está tentando ajudar - substituir ou ajudar um especialista humano em uma tarefa complexa normalmente vista como requerendo conhecimento especializado
  • "sistema baseado em conhecimento" refere-se à arquitetura do sistema - que representa o conhecimento explicitamente, em vez de como código de procedimento.

Embora os primeiros sistemas baseados em conhecimento fossem quase todos sistemas especialistas, as mesmas ferramentas e arquiteturas podem e têm sido usadas para uma série de outros tipos de sistemas. Praticamente todos os sistemas especialistas são sistemas baseados em conhecimento, mas muitos sistemas baseados em conhecimento não são sistemas especialistas.

Os primeiros sistemas baseados em conhecimento eram sistemas especialistas baseados em regras. Um dos mais famosos foi o Mycin , programa de diagnóstico médico. Esses primeiros sistemas especialistas representavam fatos sobre o mundo como simples afirmações em um banco de dados plano e usavam regras para raciocinar sobre (e, como resultado, aumentar) essas afirmações. Representar o conhecimento explicitamente por meio de regras tinha várias vantagens:

  1. Aquisição e manutenção. O uso de regras significava que os especialistas de domínio muitas vezes podiam definir e manter as próprias regras, e não por meio de um programador.
  2. Explicação. Representar o conhecimento explicitamente permitiu que os sistemas raciocinassem sobre como chegaram a uma conclusão e usassem essas informações para explicar os resultados aos usuários. Por exemplo, para seguir a cadeia de inferências que levou a um diagnóstico e usar esses fatos para explicar o diagnóstico.
  3. Raciocínio. A dissociação do conhecimento do processamento desse conhecimento permitiu o desenvolvimento de mecanismos de inferência de propósito geral. Esses sistemas podem desenvolver conclusões que se seguem a um conjunto de dados que os desenvolvedores iniciais podem nem estar cientes.

Arquiteturas posteriores para raciocínio baseado em conhecimento, como a arquitetura BB1 negro (um sistema de quadro negro ), permitiram que o próprio processo de raciocínio fosse afetado por novas inferências, fornecendo raciocínio de meta-nível. O BB1 permitiu que o próprio processo de resolução de problemas fosse monitorado. Diferentes tipos de resolução de problemas (por exemplo, resolução de problemas de cima para baixo, de baixo para cima e oportunistas) podem ser seletivamente misturados com base no estado atual de resolução de problemas. Essencialmente, o solucionador de problemas estava sendo usado tanto para resolver um problema de nível de domínio quanto para seu próprio problema de controle, que poderia depender do primeiro. Outros exemplos de arquiteturas de sistema baseadas em conhecimento que suportam o raciocínio de metanível são MRS e SOAR .

Além de sistemas especialistas, outras aplicações de sistemas baseados em conhecimento incluem controle de processo em tempo real, sistemas de tutoria inteligentes e solucionadores de problemas para domínios específicos, como análise de estrutura de proteína, layout de canteiro de obras e diagnóstico de falha de sistema de computador.

À medida que os sistemas baseados em conhecimento se tornaram mais complexos, as técnicas usadas para representar a base de conhecimento tornaram-se mais sofisticadas e incluíram lógica, sistemas de reescrita de termos, gráficos conceituais e quadros . Considere os quadros como exemplo. Em vez de representar fatos como afirmações sobre dados, a base de conhecimento tornou-se mais estruturada. Quadros podem ser considerados como representando o conhecimento do mundo usando técnicas análogas à programação orientada a objetos , especificamente o uso de hierarquias de classes e subclasses, relações entre classes e comportamento de objetos. À medida que a base de conhecimento se tornava mais estruturada, o raciocínio poderia ocorrer tanto por regras independentes, inferência lógica quanto por interações dentro da própria base de conhecimento. Por exemplo, procedimentos armazenados como daemons em objetos podem ser disparados e replicar o comportamento de encadeamento de regras.

Outro avanço foi o desenvolvimento de sistemas de raciocínio automatizados para fins especiais chamados classificadores . Em vez de declarar estaticamente as relações de subsunção em uma base de conhecimento, um classificador permite que o desenvolvedor simplesmente declare fatos sobre o mundo e deixe o classificador deduzir as relações. Dessa forma, um classificador também pode desempenhar o papel de um mecanismo de inferência.

O mais recente avanço dos sistemas baseados no conhecimento tem sido a adoção de tecnologias, principalmente um tipo de lógica denominada lógica de descrição , para o desenvolvimento de sistemas que utilizam a internet. A Internet frequentemente tem que lidar com dados complexos e não estruturados que não podem ser considerados para se ajustar a um modelo de dados específico. A tecnologia de sistemas baseados em conhecimento e, especialmente, a capacidade de classificar objetos sob demanda, é ideal para tais sistemas. O modelo para esses tipos de sistemas de Internet baseados em conhecimento é conhecido como Web Semântica .

Veja também

Referências

Leitura adicional

  • Rajendra, Akerkar; Sajja, Priti (2009). Sistemas baseados em conhecimento . Jones e Bartlett Learning. ISBN 9780763776473.