Representação de Conhecimento

O que é Representação de Conhecimento?

Representação de conhecimento (RC) (knowledge representation, KR) é a parte da IA voltada a como codificar informações sobre o mundo — fatos, regras e relacionamentos — para que uma máquina possa raciocinar com isso: responder perguntas, derivar novas conclusões, detectar inconsistências e apoiar a tomada de decisão.

Um esquema de RC normalmente define:

  • Uma linguagem para expressar conhecimento (sintaxe + significado/semântica)
  • Um conjunto de procedimentos de inferência (como novas afirmações podem ser derivadas)
  • Um modelo computacional (o que pode ser computado eficientemente e o que não pode)

A RC fica no núcleo da IA Clássica / Simbólica, possibilitando sistemas como mecanismos de decisão baseados em regras, provadores de teoremas e planejadores. Ela também aparece cada vez mais em sistemas híbridos que combinam estrutura simbólica com aprendizado estatístico.

Tópicos fundamentais relacionados incluem Lógica, Regras, Ontologias, Grafos de Conhecimento, Sistemas Especialistas, Satisfação de Restrições e Planejamento (Simbólico).

Por que a representação importa: o trade-off “representação–raciocínio”

Representações diferentes tornam diferentes tipos de raciocínio mais fáceis ou mais difíceis.

  • Expressividade: Você consegue declarar o que precisa (quantificadores, tempo, incerteza, padrões/defaults)?
  • Poder de inferência: Você consegue derivar as conclusões que importam?
  • Eficiência: O raciocínio vai terminar, e escala bem?
  • Robustez à incompletude/incerteza: O sistema consegue lidar com conhecimento ausente ou ruidoso?
  • Explicabilidade: O sistema consegue justificar suas respostas?

Uma tensão clássica é:

  • Linguagens mais expressivas (por exemplo, lógica de primeira ordem completa) podem modelar mundos mais ricos
  • Mas o raciocínio fica mais difícil (frequentemente indecidível ou intratável)
  • Linguagens menos expressivas (por exemplo, Datalog) permitem raciocínio eficiente, mas restringem o que você pode dizer

Tarefas centrais de raciocínio em RC

A RC geralmente é projetada para apoiar uma ou mais destas tarefas:

  • Resposta a consultas: “Esta afirmação é verdadeira dado meu repositório de conhecimento?”
  • Dedução / acarretamento (entailment): Derivar fatos logicamente implicados
  • Verificação de consistência: Detectar contradições (por exemplo, “A é ao mesmo tempo um Gato e não um Gato”)
  • Classificação: Inferir pertencimento a categorias (comum em ontologias)
  • Planejamento e raciocínio sobre ações: Determinar quais ações atingem um objetivo (ver Planejamento (Simbólico))
  • Satisfação de restrições: Encontrar atribuições de variáveis que satisfaçam restrições (ver Satisfação de Restrições)

Conceitos fundamentais

Base de conhecimento, fatos, regras e ontologia

Uma base de conhecimento (BC) (knowledge base, KB) geralmente inclui:

  • Fatos: afirmações fundamentadas sobre entidades (por exemplo, Parent(Alice, Bob))
  • Regras: padrões gerais (por exemplo, “pais de pais são avós”)
  • Relacionamentos: arestas tipadas entre entidades (por exemplo, worksAt(Alice, AcmeCorp))
  • Esquema / vocabulário: definições de tipos e significados das relações (frequentemente uma ontologia)

Semântica: o que as afirmações *significam*

Linguagens de RC diferem principalmente em sua semântica — o significado formal das afirmações e o que conta como uma inferência válida. É por isso que Lógica é central: ela fornece semântica precisa que torna o raciocínio correto.

Duas suposições semânticas importantes:

  • Hipótese do Mundo Fechado (HMF) (Closed World Assumption, CWA): o que não é conhecido como verdadeiro é assumido como falso
    Comum em bancos de dados, Datalog, muitos motores de regras.
  • Hipótese do Mundo Aberto (HMA) (Open World Assumption, OWA): a ausência de um fato não implica falsidade
    Comum em ontologias da Web Semântica (RDF/OWL).

Exemplo: se sua BC não contém HasAllergy(Alice, Peanuts):

  • Sob HMF você pode concluir que Alice não tem essa alergia.
  • Sob HMA você conclui apenas que você não sabe.

Hipótese de nome único (UNA)

Alguns sistemas assumem que símbolos diferentes se referem a entidades diferentes (UNA). Outros (notavelmente OWL) não assumem UNA — você deve declarar explicitamente a desigualdade, se necessário.

Principais famílias de representações de conhecimento

1) Representações baseadas em lógica

A RC baseada em lógica usa lógica formal para codificar conhecimento e derivar consequências.

Lógica proposicional

Representa fatos como variáveis booleanas combinadas com conectivos lógicos. Útil para raciocínio no estilo SAT, mas limitada (sem variáveis/relações).

Lógica de primeira ordem (LPO) (First-order logic, FOL)

Adiciona predicados, variáveis e quantificadores, permitindo estrutura relacional.

Exemplo (estilo LPO) de conhecimento familiar:

Parent(Alice, Bob).
Parent(Bob, Carol).

∀x ∀y ∀z: (Parent(x, y) ∧ Parent(y, z)) → Grandparent(x, z).

A partir dos fatos e da regra, podemos inferir Grandparent(Alice, Carol).

A LPO é expressiva, mas a inferência geral é semidecidível; sistemas práticos frequentemente usam fragmentos restritos ou mecanismos especializados.

Para um tratamento mais aprofundado, veja Lógica.

2) Sistemas baseados em regras (regras de produção, Datalog, programação lógica)

Regras são uma forma direta de representar conhecimento do tipo “se–então”, comumente usado em Sistemas Especialistas.

Encadeamento para frente vs para trás

  • Encadeamento para frente: partir de fatos, aplicar regras para derivar novos fatos (orientado a dados)
  • Encadeamento para trás: partir de uma consulta, trabalhar de trás para frente para ver se ela pode ser provada (orientado a objetivos)

Exemplo em Prolog (programação lógica)

parent(alice, bob).
parent(bob, carol).

ancestor(X, Z) :- parent(X, Z).
ancestor(X, Z) :- parent(X, Y), ancestor(Y, Z).

Consulta:

?- ancestor(alice, carol).
true.

Esta é uma forma compacta e prática de representar relacionamentos recursivos.

Datalog

Datalog é uma linguagem restrita de programação lógica (sem símbolos de função complexos), frequentemente permitindo inferência eficiente e com término garantido. É amplamente usada em análise de programas, analítica de grafos e mecanismos de políticas.

3) Representações baseadas em frames e redes semânticas

Historicamente, frames representam objetos estereotipados com slots (atributos) e valores padrão. Redes semânticas representam conhecimento como grafos (nós e arestas) com herança.

Essas abordagens influenciaram ontologias modernas e grafos de conhecimento, mesmo quando não são usadas diretamente em sistemas contemporâneos.

Pontos fortes:

  • Mapeamento natural para objetos e hierarquias
  • Estrutura legível por humanos

Limitações:

  • Ambiguidade, a menos que fundamentadas em semântica formal
  • Raciocínio frequentemente informal, a menos que mapeado para lógica

4) Ontologias (Lógicas de Descrição, OWL)

Uma ontologia define uma conceitualização compartilhada: classes, relações, restrições e, às vezes, regras.

Muitas ontologias modernas usam Lógicas de Descrição (LD) (Description Logics, DL), que equilibram expressividade e decidibilidade. OWL (Web Ontology Language) é baseada em variantes de LD.

Exemplo (informal, estilo LD):

  • Doctor ⊑ Person
  • Surgeon ⊑ Doctor
  • Doctor ⊑ ∃worksAt.Hospital (todo médico trabalha em algum hospital)

Com fatos apropriados, um raciocinador pode inferir pertencimento a classes e detectar contradições.

Ontologias são comuns em:

  • Terminologia de saúde e interoperabilidade
  • Integração de dados corporativos
  • Busca e alinhamento de esquemas
  • Modelagem de conformidade e políticas

Ontologias são uma parte-chave de Regras, Ontologias, Grafos de Conhecimento.

5) Grafos de conhecimento (RDF/grafos de propriedades)

Um grafo de conhecimento (GC) (knowledge graph, KG) representa entidades e relações como um grafo, frequentemente com um esquema.

Dois estilos proeminentes:

  • Grafos RDF: triplas (sujeito, predicado, objeto) com semântica de HMA; consultados via SPARQL
  • Grafos de propriedades: nós/arestas com propriedades arbitrárias; comuns em bancos de dados de grafos

Exemplo RDF (Turtle)

@prefix ex: <http://example.org/> .

ex:Alice ex:parentOf ex:Bob .
ex:Bob   ex:parentOf ex:Carol .

Uma regra (expressa externamente, por exemplo, em um motor de regras) poderia definir:

IF (x parentOf y) AND (y parentOf z) THEN (x grandparentOf z)

Uma consulta SPARQL para encontrar avós (assumindo que triplas inferidas existam ou que um raciocinador seja usado):

PREFIX ex: <http://example.org/>

SELECT ?g ?c WHERE {
  ?g ex:grandparentOf ?c .
}

GCs são amplamente usados em busca, recomendação e integração de dados. Cada vez mais, eles são combinados com embeddings e métodos neurais (ver “Abordagens híbridas” abaixo).

6) Representações baseadas em restrições

Restrições representam combinações permitidas de atribuições de variáveis, e o raciocínio se torna resolução.

Exemplo (restrições simples de agendamento):

  • Reunião A antes da Reunião B
  • Capacidade da sala ≥ participantes
  • Nenhuma pessoa em duas reuniões ao mesmo tempo

Isso naturalmente leva a formulações CSP/SAT/SMT (ver Satisfação de Restrições). A RC baseada em restrições é especialmente forte quando o objetivo é encontrar uma configuração viável em vez de derivar consequências lógicas.

7) Representações probabilísticas e fuzzy (raciocínio sob incerteza)

O conhecimento do mundo real frequentemente é incerto: observações têm ruído, regras têm exceções e correlações importam.

Abordagens comuns de RC probabilística:

  • Redes bayesianas: dependências probabilísticas direcionadas
  • Redes de Markov: modelos gráficos não direcionados
  • Redes Lógicas de Markov (RLM) (Markov Logic Networks): combinam regras lógicas ponderadas com inferência probabilística
  • Programação lógica probabilística (por exemplo, ProbLog): anexa probabilidades a fatos/regras
  • Lógica fuzzy: graus de verdade em vez de probabilidades (útil para conceitos vagos)

Elas são essenciais quando você precisa de graus de crença em vez de acarretamento rígido.

8) Representações distribuídas (embeddings) como conhecimento “suave”

O AM moderno frequentemente representa entidades/relações como vetores:

Embeddings suportam busca por similaridade e generalização, mas carecem de semântica explícita e verificável. Eles são melhor vistos como complementares à RC simbólica, não como substitutos — especialmente quando explicações e garantias importam.

Exemplos práticos: representando o mesmo conhecimento de maneiras diferentes

Considere: “Se uma pessoa é mãe/pai de alguém, então é um ancestral. E ancestralidade é transitiva.”

Como regras (estilo Datalog)

ancestor(X, Y) :- parent(X, Y).
ancestor(X, Z) :- parent(X, Y), ancestor(Y, Z).

Isso suporta consultas recursivas naturalmente.

Como um padrão de grafo (intuição de GC)

  • Nós: pessoas
  • Aresta: parentOf
  • A consulta de ancestral se torna: “Existe um caminho direcionado de X para Y seguindo arestas parentOf?”

Isso se alinha com algoritmos de grafos (alcançabilidade), que podem ser mais rápidos em escala do que a prova geral de teoremas.

Como uma restrição de ontologia (nível de esquema)

Você poderia modelar Parent como um papel e definir Ancestor como seu fecho transitivo — mas muitas linguagens de ontologia evitam construções de fecho transitivo completo por razões de decidibilidade, então frequentemente você combina OWL com regras ou raciocínio especializado.

Isso ilustra um princípio importante de engenharia de RC: escolha uma representação que corresponda à inferência de que você precisa.

Métodos de inferência e raciocínio (como a RC “executa”)

RC não é apenas modelagem de dados; ela é acompanhada de algoritmos de raciocínio.

Abordagens comuns de inferência incluem:

  • Resolução e unificação (prova de teoremas em lógica)
  • Algoritmos de tableau (comuns em raciocinadores LD/OWL)
  • Encadeamento para frente/para trás (motores de regras)
  • Cálculo de ponto fixo (Datalog)
  • Alcançabilidade em grafos e casamento de padrões (consultas em GC)
  • Resolução SAT/SMT (restrições + lógica; ver Satisfação de Restrições)

Na prática, sistemas frequentemente combinam múltiplos métodos:

  • Usar raciocínio OWL para classificação
  • Usar motores de regras para regras de negócio
  • Usar consultas em grafos para questões com muita travessia

Engenharia do conhecimento: construindo e mantendo bases de conhecimento

Criar artefatos de RC é uma disciplina de engenharia:

Aquisição de conhecimento

  • Autoria manual por especialistas (alta precisão, caro)
  • Extração a partir de texto (extração de informação, análise semântica)
  • Integração a partir de fontes estruturadas (bancos de dados, APIs)
  • Aprendizado a partir de logs de uso e feedback

Problemas comuns de qualidade

  • Incompletude: fatos ausentes levam a respostas desconhecidas (especialmente sob HMA)
  • Inconsistência: dados contraditórios quebram a lógica clássica (a menos que métodos paraconsistentes sejam usados)
  • Deriva de ontologia: o esquema muda ao longo do tempo; dados antigos podem não se encaixar
  • Resolução de entidades: “Acme Inc.” vs “ACME Corporation” se refere à mesma entidade

Ferramentas e padrões (exemplos)

  • RDF/OWL + SPARQL para sistemas de Web Semântica
  • Bancos de dados de grafos para grafos de propriedades
  • Prolog, motores Datalog (por exemplo, Soufflé) para regras
  • CLIPS/Drools para sistemas de regras de produção
  • SHACL para validação de restrições em grafos (frequentemente usado junto com RDF)

Aplicações da representação de conhecimento

Sistemas especialistas e suporte à decisão

RC baseada em regras continua comum para:

  • Checagens de elegibilidade (seguros, benefícios)
  • Suporte à decisão clínica
  • Solução de problemas e diagnóstico

Isso se conecta diretamente a Sistemas Especialistas, onde interpretabilidade e auditabilidade são essenciais.

Integração de dados e busca semântica

Ontologias e GCs ajudam a unificar conjuntos de dados díspares:

  • Mapear diferentes esquemas para um vocabulário compartilhado
  • Habilitar busca semântica (“encontre todos os fornecedores no setor aeroespacial com certificação ISO”)
  • Fornecer expansão de consulta mais rica e navegação facetada

Planejamento e robótica

Planejadores simbólicos dependem de representações estruturadas de:

  • Ações (pré-condições/efeitos)
  • Objetivos
  • Transições de estado do mundo

Veja Planejamento (Simbólico) para como a RC alimenta algoritmos de planejamento.

Verificação, conformidade e raciocínio sobre políticas

RC é amplamente usada para:

  • Políticas de controle de acesso
  • Restrições regulatórias
  • Validação de configuração
  • Requisitos de segurança

Isso frequentemente combina regras com restrições e pode ser compilado para SAT/SMT para verificação escalável.

Linguagem natural e sistemas na era dos LLMs (RC híbrida)

Sistemas modernos combinam cada vez mais RC com modelos neurais:

  • Geração Aumentada por Recuperação (Geração Aumentada por Recuperação, RAG) (Retrieval-Augmented Generation) (Retrieval-Augmented Generation): GCs/ontologias podem melhorar a precisão da recuperação e o grounding.
  • Agentes que usam ferramentas: um LLM consulta um GC ou motor de regras para obter respostas autoritativas.
  • Abordagens neurossimbólicas: integram aprendizado diferenciável com restrições simbólicas (por exemplo, treinamento com sinais de consistência lógica).

A RC ajuda a enfrentar fraquezas comuns de LLMs: alucinação, falta de memória persistente e dificuldade com restrições lógicas estritas.

Escolhendo uma representação na prática

Uma lista de verificação pragmática:

  • Se você precisa de execução de regras rápida e confiável e recursão: considere Datalog/regras
  • Se você precisa de esquemas ricos, interoperabilidade e classificação: considere ontologias (OWL/LD)
  • Se sua operação principal é travessia de grafo e vinculação de entidades: considere grafos de conhecimento
  • Se você precisa de otimização ou viabilidade sob restrições: considere CSP/SAT/SMT (Satisfação de Restrições)
  • Se incerteza é central: considere RC probabilística
  • Se você precisa de generalização a partir de dados: considere embeddings, possivelmente combinados com restrições simbólicas

Frequentemente a melhor solução é uma arquitetura em camadas:

  • GC para entidades e relações
  • Ontologia para esquema e restrições
  • Regras para lógica de negócio
  • AM para extração, ranqueamento e predição

Limitações e desafios em aberto

Mesmo com décadas de progresso, a RC enfrenta desafios persistentes:

  • Conhecimento de senso comum: suposições do dia a dia são vastas, implícitas e cheias de exceções
  • Escalabilidade vs expressividade: lógicas mais ricas podem ser custosas demais em escala web
  • Raciocínio não monotônico: lidar com padrões e exceções (“pássaros voam, exceto pinguins”) é difícil
  • Raciocínio temporal e causal: representar mudança, ações e causalidade de forma robusta não é trivial
  • Manutenção do conhecimento: atualizar uma BC sem quebrar consistência ou sistemas a jusante

Esses desafios impulsionam pesquisa contínua em raciocínio híbrido, melhores ferramentas e representações que combinam semântica formal com componentes aprendidos.

Resumo

Representação de conhecimento trata de codificar fatos, regras e relacionamentos em uma forma que suporte raciocínio. A melhor representação depende do domínio, das consultas que você precisa responder e dos trade-offs que você pode arcar entre expressividade, eficiência, tratamento de incerteza e explicabilidade.

Dentro da IA Clássica / Simbólica, a RC fornece o substrato para inferência lógica, tomada de decisão baseada em regras, resolução de restrições e planejamento — ao mesmo tempo em que também desempenha um papel cada vez mais importante em sistemas modernos de IA que combinam estrutura simbólica com modelos neurais.