Knowledge Graph Completion

Teknik til at forudsige manglende kanter (relationer) i en vidensgraf baseret på eksisterende entiteter og relationer.

Kort fortalt

En metode til at udfylde huller i en vidensgraf ved at gætte, hvilke forbindelser der mangler mellem kendte begreber.

Kategori
teknik
Niveau
øvet

Betydninger

1
  1. 1

    Opgaven med at forudsige manglende relationer mellem entiteter i en vidensgraf, typisk formuleret som at afgøre, om en tredobbelt (hoved, relation, hale) er sand.

    • Knowledge graph completion kan bruges til at forudsige, at 'Danmark' har relationen 'hovedstad' til 'København', selvom denne tredobbelt mangler i grafen.
    • Modellen TransE lærer en embedding for hver entitet og relation, således at hoved + relation ≈ hale for sande tripletter.Bordes et al., 2013

Hvornår bruges det

Knowledge graph completion bruges til at berige og forbedre ufuldstændige vidensgrafer, fx i søgemaskiner, anbefalingssystemer og spørgsmålsbesvarelse. Det anvendes ofte i kombination med graph-embedding-teknikker som TransE, RotatE eller ConvE for at lære en scorefunktion over tripletter (hoved, relation, hale).

Formel

f(h, r, t) = ||h + r - t||  (TransE)

Kodeeksempel

import numpy as np

def transe_score(h, r, t, embeddings):
    # h, r, t are index into embeddings
    h_vec = embeddings[h]
    r_vec = embeddings[r]
    t_vec = embeddings[t]
    return -np.linalg.norm(h_vec + r_vec - t_vec)

# Example usage
# embeddings = np.random.randn(num_entities, dim)
# score = transe_score(0, 1, 2, embeddings)

Simpel implementering af TransE-scorefunktionen til knowledge graph completion.

Oprindelse

Sammensat af 'knowledge graph' (vidensgraf) og 'completion' (fuldførelse). Begrebet opstod omkring 2010'erne med fremkomsten af vidensgrafer som Freebase og WordNet.

Afledte ord

2

Kilder

2