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
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
2Kilder
2Se også
- Knowledge graph
- graph-embedding(mangler)
- link-prediction(mangler)
- transe(mangler)