Sistemas baseados em conhecimento
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 distintivas: uma base de conhecimento e um mecanismo 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 processual, da maneira que 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. [1]
A segunda parte, o motor de inferência, permite inferir novos conhecimentos. Mais comumente, pode assumir a forma de regras SE-ENTÃO [2] juntamente com abordagens de encadeamento para frente ou para trás . 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 (Constraint Handling Rules) . Essas abordagens mais formais são abordadas em detalhes no artigo da Wikipedia sobre representação e raciocínio do conhecimento .
Visão geral
Sistemas baseados em conhecimento foram desenvolvidos pela primeira vez por pesquisadores de inteligência artificial [ carece de fontes ] . Esses primeiros sistemas baseados em conhecimento eram principalmente sistemas especialistas – na verdade, o termo é frequentemente usado de forma intercambiável com sistemas especialistas, embora haja uma diferença. A diferença está na visão adotada para descrever o sistema [ carece de fontes ] :
- "sistema especialista" refere-se ao tipo de tarefa em que o sistema está tentando ajudar - substituir ou auxiliar um especialista humano em uma tarefa complexa normalmente vista como exigindo conhecimento especializado
- "sistema baseado em conhecimento" refere-se à arquitetura do sistema - que representa o conhecimento explicitamente, em vez de um 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 desde então 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 foram os sistemas especialistas baseados em regras. Um dos mais famosos foi o Mycin , um programa de diagnóstico médico. Esses primeiros sistemas especialistas representavam fatos sobre o mundo como simples asserções em um banco de dados plano e usavam regras para raciocinar (e, como resultado, adicionar) essas asserções. Representar o conhecimento explicitamente por meio de regras tinha várias vantagens:
- Aquisição e manutenção. O uso de regras significava que os especialistas de domínio muitas vezes podiam definir e manter as regras por conta própria, em vez de por meio de um programador.
- Explicação. Representar o conhecimento explicitamente permitiu que os sistemas raciocinassem sobre como chegaram a uma conclusão e usam essas informações para explicar os resultados aos usuários. Por exemplo, seguir a cadeia de inferências que levou a um diagnóstico e usar esses fatos para explicar o diagnóstico.
- Raciocínio. A dissociação do conhecimento do processamento desse conhecimento permitiu o desenvolvimento de motores de inferência de propósito geral. Esses sistemas podem desenvolver conclusões que se seguem de um conjunto de dados que os desenvolvedores iniciais podem nem ter conhecimento. [3]
Arquiteturas posteriores para raciocínio baseado em conhecimento, como a arquitetura blackboard BB1 (um sistema de quadro negro ), [4] 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 solução de problemas (por exemplo, de cima para baixo, de baixo para cima e solução de problemas oportunista) podem ser misturados seletivamente com base no estado atual da soluçã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 sistemas baseados em conhecimento que suportam raciocínio de meta-nível são MRS [5] e SOAR .
Além de sistemas especialistas, outras aplicações de sistemas baseados em conhecimento incluem controle de processos em tempo real, [6] sistemas tutores inteligentes, [7] e solucionadores de problemas para domínios específicos, como análise de estrutura de proteínas, [8] layout do canteiro de obras , [9] e diagnóstico de falhas do sistema de computador. [10]
À 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 um exemplo. Em vez de representar fatos como afirmações sobre dados, a base de conhecimento tornou-se mais estruturada. Os quadros podem ser pensados 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 daemonsem objetos poderia disparar e replicar o comportamento de encadeamento de regras. [11]
Outro avanço foi o desenvolvimento de sistemas de raciocínio automatizado 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. [12]
O avanço mais recente dos sistemas baseados em conhecimento tem sido a adoção de tecnologias, especialmente um tipo de lógica chamada lógica descritiva , para o desenvolvimento de sistemas que utilizam a internet. A internet muitas vezes tem que lidar com dados complexos e não estruturados que não podem ser confiáveis para se adequar 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 . [13]
Veja também
- Representação e raciocínio do conhecimento
- Base de conhecimento
- Motor de inferência
- Sistema de raciocínio
- Raciocínio baseado em Casos
- Sistema inteligente
- Gráfico conceitual
- Web semântica
- Redes neurais
- Sistema baseado em regras
Referências
- ^ Sowa, John F. (2000). Representação do Conhecimento: Fundamentos Lógicos, Filosóficos e Computacionais (1ª ed.). Pacific Grove: Brooks/Cole. ISBN 978-0-534-94965-5.
- ^ Smith, Reid (8 de maio de 1985). "Conceitos, técnicas e exemplos de sistemas baseados em conhecimento" (PDF) . reidgsmith . com . Schlumberger-Doll Research . Recuperado em 9 de novembro de 2013 .
- ^ Hayes-Roth, Frederick; Donald Waterman; Douglas Lenat (1983). Construindo Sistemas Especialistas . Addison-Wesley. ISBN 0-201-10686-8.
- ^ Hayes-Roth, Barbara; Departamento, Ciência da Computação da Universidade de Stanford (1984). BB1: uma arquitetura para sistemas Blackboard que controlam, explicam e aprendem sobre seu próprio comportamento . Departamento de Ciência da Computação, Universidade de Stanford.
- ^ Genesereth, Michael R. "1983 - Uma Visão Geral da Arquitetura Meta-Nível": 6.
{{cite journal}}
:Cite journal requires|journal=
(help) - ^ Larsson, Jan Eric; Hayes-Roth, Barbara (1998). "Guardião: Um Agente Autônomo Inteligente para Monitoramento e Diagnóstico Médico" . Sistemas Inteligentes IEEE . 13 (1) . Recuperado 2012-08-11 .
- ^ Clancey, William (1987). Tutoria Baseada no Conhecimento: O Programa GUIDON . Cambridge, Massachusetts: The MIT Press.
- ^ Hayes-Roth, Barbara; Buchanan, Bruce G.; Lichtarge, Olivier; Hewitt, Mike; Altman, Russ B.; Brinkley, James F.; Cornélio, Craig; Duncan, Bruce S.; Jardetzky, Oleg (1986). PROTEAN: Derivando a Estrutura da Proteína de Restrições . AAAI. págs. 904-909 . Recuperado 2012-08-11 .
- ^ Engelmore, Robert; et ai; (ed.) (1988). Sistemas de quadro-negro . Pub Addison-Wesley (Sd).
{{cite book}}
:|first=
tem nome genérico ( ajuda ) - ^ Bennett, James S. (1981). DART: um sistema especialista para diagnóstico de falhas de computador . IJCAI.
- ^ Mettrey, William (1987). "Uma avaliação de ferramentas para construir grandes sistemas baseados em conhecimento" . Revista AI . 8 (4). Arquivado a partir do original em 2013-11-10 . Recuperado 2013-11-10 .
- ^ MacGregor, Robert (junho de 1991). "Usando um classificador de descrição para melhorar a representação do conhecimento". Especialista IEEE . 6 (3): 41–46. doi : 10.1109/64.87683 . S2CID 29575443 .
- ^ Berners-Lee, Tim; James Hendler; Ora Lassila (17 de maio de 2001). "A Web Semântica Uma nova forma de conteúdo da Web significativa para os computadores desencadeará uma revolução de novas possibilidades" . Científico Americano . 284 : 34-43. doi : 10.1038/scientificamerican0501-34 . Arquivado a partir do original em 24 de abril de 2013.
Leitura adicional
- Rajendra, Akerkar; Sajja, Priti (2009). Sistemas Baseados em Conhecimento . Jones & Bartlett Aprendizagem. ISBN 9780763776473.