Knowledge graph embedding (KGE), também conhecido como aprendizado de representação de conhecimento (KRL) ou aprendizado multi-relacional, é uma tarefa de aprendizado de máquina que aprende uma representação de baixa dimensão das entidades e relações de um grafo de conhecimento, preservando seu significado. Ao converter dados de grafos simbólicos em vetores numéricos densos, o KGE permite que grafos de conhecimento sejam usados em diversas aplicações, como previsão de links, classificação de triplas, reconhecimento de entidades, agrupamento e extração de relações. A abordagem se insere no campo mais amplo de aprendizado de representação e está intimamente ligada às técnicas de Machine learning usadas em sistemas modernos de Artificial intelligence.
Um grafo de conhecimento é formalmente definido como uma coleção de entidades, relações e fatos, onde cada fato é uma tripla (cabeça, relação, cauda) que denota um link entre duas entidades. Essa estrutura é frequentemente expressa usando a notação do Resource Description Framework (RDF). Grafos de conhecimento representam conhecimento específico de domínio de forma estruturada, permitindo a inferência de novos conhecimentos após refinamento. No entanto, aplicações do mundo real enfrentam desafios de esparsidade de dados e ineficiência computacional. O KGE aborda esses problemas incorporando cada entidade e relação em um vetor de uma dimensão escolhida, permitindo computação eficiente e generalização.
A incorporação de um grafo de conhecimento é uma função que traduz cada entidade e relação em um vetor de uma determinada dimensão, chamada de dimensão de incorporação. É possível incorporar entidades e relações com dimensões diferentes. Os vetores de incorporação resultantes podem então ser usados para tarefas downstream. Uma incorporação de grafo de conhecimento é caracterizada por quatro aspectos: o espaço de representação (o espaço de baixa dimensão para entidades e relações), a função de pontuação (uma medida de qualidade para incorporações de triplas), os modelos de codificação (como as representações incorporadas interagem) e informações adicionais (quaisquer dados extras do grafo que enriquecem a representação, frequentemente integrados por meio de uma função de pontuação ad hoc).
Procedimento de Incorporação
Todos os algoritmos para criar uma incorporação de grafo de conhecimento seguem uma abordagem comum. Primeiro, os vetores de incorporação são inicializados com valores aleatórios. Em seguida, eles são otimizados iterativamente usando um conjunto de treinamento de triplas. Em cada iteração, um lote de triplas é amostrado do conjunto de treinamento, e uma tripla corrompida é gerada substituindo a cabeça ou a cauda (ou ambos) por outra entidade, criando um fato falso. As triplas original e corrompida são adicionadas ao lote de treinamento, e as incorporações são atualizadas otimizando uma função de pontuação. A iteração para quando uma condição de parada é alcançada, tipicamente baseada em overfitting do conjunto de treinamento. Ao final, as incorporações aprendidas devem ter extraído significado semântico das triplas de treinamento e prever corretamente fatos verdadeiros não vistos.
O procedimento geral pode ser resumido em pseudocódigo. Dado um conjunto de treinamento, conjunto de entidades, conjunto de relações e dimensão de incorporação, o algoritmo inicializa as incorporações aleatoriamente. Enquanto a condição de parada não for atingida, ele amostra um lote do conjunto de treinamento. Para cada tripla no lote, ele amostra um fato corrompido e adiciona tanto as triplas original quanto a corrompida ao lote de treinamento. As incorporações são então atualizadas para minimizar a função de pontuação, que mede a plausibilidade de triplas verdadeiras versus corrompidas.
Funções de Pontuação e Modelos
As funções de pontuação são centrais para o KGE, pois avaliam a qualidade da representação incorporada de uma tripla. Diferentes modelos propõem funções de pontuação e mecanismos de codificação distintos. Modelos iniciais como TransE representam relações como traduções no espaço de incorporação, onde o vetor da cabeça mais o vetor da relação devem se aproximar do vetor da cauda. Outros modelos, como DistMult e ComplEx, usam funções de pontuação bilineares ou de valores complexos para capturar interações mais ricas. Abordagens mais recentes incorporam arquiteturas de Neural network, incluindo modelos de Deep learning, para aprender incorporações não lineares. Esses modelos variam em seu espaço de representação, de espaços euclidianos a complexos ou hiperbólicos, e em sua capacidade de lidar com diferentes tipos de relações.
Os modelos de codificação definem como as incorporações de entidades e relações interagem. Alguns modelos usam interações aditivas ou multiplicativas, enquanto outros empregam fatoração de tensores ou camadas de redes neurais. A escolha da função de pontuação e do modelo de codificação afeta a expressividade e a eficiência computacional da incorporação. Por exemplo, modelos com maior expressividade podem capturar padrões relacionais complexos, mas podem exigir mais dados de treinamento e computação. O campo tem visto desenvolvimento contínuo, com modelos mais novos integrando informações adicionais, como tipos de entidades, descrições textuais ou restrições temporais, para melhorar o desempenho.
Aplicações
As incorporações de grafos de conhecimento permitem uma ampla gama de aplicações. A previsão de links é uma tarefa primária, onde o modelo prevê links ausentes entre entidades, útil para completar grafos de conhecimento incompletos. A classificação de triplas envolve determinar se uma determinada tripla é verdadeira ou falsa, auxiliando na validação de fatos. O reconhecimento e agrupamento de entidades aproveitam as incorporações para agrupar entidades semelhantes ou identificar entidades em texto. A extração de relações usa incorporações para identificar relações entre entidades em dados não estruturados. Essas aplicações são críticas em domínios como o treinamento de Large language model, onde grafos de conhecimento fornecem informações factuais estruturadas, e em sistemas de Generative AI que exigem raciocínio sobre conhecimento.
Na prática, o KGE tem sido aplicado em sistemas de recomendação, resposta a perguntas e descoberta de medicamentos. Por exemplo, incorporações podem representar interações usuário-item ou estruturas moleculares, permitindo buscas eficientes por similaridade. Os vetores de baixa dimensão também são compatíveis com pipelines padrão de Machine learning, permitindo integração com outros modelos. A partir do início dos anos 2020, técnicas de KGE foram incorporadas a sistemas industriais por empresas como Google DeepMind e OpenAI, frequentemente combinadas com arquiteturas de Transformer (architecture) para raciocínio aprimorado.
Desafios e Direções Futuras
Apesar de seus sucessos, o KGE enfrenta vários desafios. A esparsidade de dados em grafos de conhecimento do mundo real limita a qualidade das incorporações aprendidas, pois muitas entidades e relações têm poucas triplas observadas. A escalabilidade é outra questão, pois o treinamento em grafos grandes requer recursos computacionais significativos. Lidar com dados multi-relacionais e heterogêneos, como fatos temporais ou incertos, permanece uma área de pesquisa ativa. Além disso, avaliar incorporações não é trivial, pois benchmarks padrão podem não capturar todos os aspectos da preservação semântica.
Direções futuras incluem o desenvolvimento de incorporações mais interpretáveis, a incorporação de fontes de conhecimento externas e a melhoria da robustez a dados ruidosos. A pesquisa também explora a integração do KGE com modelos de Neural network como Residual Network (ResNet) e U-Net, embora esses sejam mais comuns em outros domínios. O uso de técnicas de Data Augmentation e estratégias de Curriculum Learning pode ajudar a lidar com a esparsidade. À medida que os sistemas de Artificial intelligence se tornam mais orientados por conhecimento, o KGE provavelmente desempenhará um papel cada vez mais importante em permitir que máquinas entendam e raciocinem sobre informações estruturadas.