Grafos de Conhecimento

Clarissa Xavier
SiDi NLP
Published in
3 min readJun 21, 2022

No primeiro artigo desta série, fizemos uma introdução ao tema das Ontologias. Agora, iremos abordar os grafos de conhecimento.

O que é um grafo de conhecimento?

Um grafo de conhecimento (knowledge graph) é uma base de conhecimento que utiliza um modelo de dados baseado em grafos para integrar dados. Os grafos de conhecimento são frequentemente usados ​​para armazenar descrições de entidades interconectadas — objetos, eventos, situações ou conceitos abstratos — enquanto também descrevem a semântica subjacente.

Os grafos de conhecimento buscam representar formalmente a semântica que descreve entidades e seus relacionamentos. Desta forma, eles podem fazer uso de ontologias como uma camada esquemática, de forma que seja possível o uso de inferência lógica para recuperar conhecimento implícito, em vez de apenas permitir consultas à conhecimento explícito.

Créditos da imagem: Alina Grubnyak

Diversos métodos para derivar embeddings sobre entidades e relacionamentos de um grafo foram desenvolvidos para permitir o uso dos grafos de conhecimento em diferentes tarefas de aprendizado de máquina. Esses embeddings permitem que a sua informação seja acoplada a métodos de aprendizado de máquina que exigem vetores de features, como word embeddings de palavras.

Por exemplo, na área de representation learning, a tarefa denominada knowledge graph embedding (KGE), também conhecida como aprendizado multi-relacional, é uma tarefa de aprendizado de máquina que deriva embedings representando entidades e relações de um grafo de conhecimento e também a representação da sua semântica.

Estes embeddings são particularmente útil nas ferramentas de cálculo de similaridade conceitual.

A figura abaixo, adaptada do site Neo4j, mostra a evolução das estruturas de dados até um grafo de conhecimento.

Evolução semântica das estruturas de dados: Silos, Grafos e Grafos de Conhecimento

1. Dados

Na primeira etapa, há a integração de diversos silos de dados contendo diferentes estruturas, como dados estruturados, não estruturados e semi-estruturados.

2. Grafo

Nesta etapa são mapeados os dados e feito o desenho das suas conexões, resultando nas primeiras camadas de um grafo.

3. Grafo Semântico

Finalmente, a informação semântica a respeito desses dados é aplicada para oferecer um contexto mais profundo a respeito dos dados conectados. Quanto mais profundo o contexto, melhores os insights.

Um grafo de conhecimento captura a semântica de um domínio específico usando um conjunto de definições de conceitos, suas propriedades, relacionamentos e restrições lógicas.

Exemplo Prático

A Amazon propõe um grafo de conhecimento de seus produtos com o objetivo de estruturar todas as informações possíveis relacionadas a tudo que é vendido em seu site. Por exemplo, Party in the USA é uma ótima música para tocar em um típico churrasco americano. Um termômetro de churrasqueira também é um ótimo item para um churrasco. Então, ao procurar por churrasco americano na Amazon, o ideal seria oferecer a opção da execução da música e também a compra do termômetro, mesmo que sejam de famílias de produtos bastante distintas.

Dessa forma, o grafo descreve cada item usando conceitos do produto em si, e conceitos não relacionados diretamente ao produto. Isso forma conexões entre diferentes entidades; e o grafo busca ajudar os clientes a usar uma maior variação de termos na pesquisa por itens. Por exemplo, uma pessoa pode pesquisar por roupa de praia e outra por maiô. O grafo auxilia o sistema a encontrar o item certo.

--

--

Clarissa Xavier
SiDi NLP

Consultora Técnica de NLP do SiDi. Doutora em Ciência da Computação. Coordenadora do #LeiaMulheresPOA