Chapter17. Reasoning over Knowledge Graphs
What is knowledge Graph?
Graphμμ Knowledgeλ€μ entities / types / relationshipsλ‘ λλμ΄μ Έ μμ. κ° nodeλ€μ κ³ μ μ entitles(μ΄λ¦ κ°μ κ²λ€)μ΄ μμΌλ©° κ·Έμ λν typeμ΄ μ ν΄μ Έμμ. λ nodeλ€μ Edgeλ‘ relationshipμ ννν μ μλ€.
ex) 'λ°μ§ν'μ΄λΌλ nodeλ 'μ¬λ'μ΄λΌλ typeμΌλ‘ labelling λμ΄ μμΌλ©°, 'ν¬λΉ μ€'λΌλ node(typeμ club)μ memberλΌλ relationshipμ κ°μ§κ³ μλ€. μ κ°μ΄ ννμ΄ λλ κ²μ΄λ€.


κ·Έλμ μ΄κ±Έ QAλͺ¨λΈμλ μ μ©ν μ μλ€. (QAλͺ¨λΈλ λͺ¨λ₯΄λλ° μ΄κ±Έ λ΄κ° νλ€λ 건 무μμΈκ° μλͺ»λλ€λ κ±Έ μ΄μμ μμ λκΌλ°)

μ¦ μ κ·Έλ¦Όκ³Όκ°μ΄, μΆμκ°μ¬μ , travel, NYκ³Ό κ°μ ν€μλκ° μμΌλ©΄, NY μ μν΄μλ JFK 곡ν, Thanks givingμ ν΄λΉνλ μ°κ΄ λ Έλλ€μ μ κ·Όν΄ answerλ₯Ό μ λν μ μκ² λλ κ²μ΄λ€
κ·Έλ¬λ knowledge graphλΌκ³ λ³Ό μ μλ λλΆλΆμ κ²λ€μ (μν€νΌλμλ₯Ό μκ°ν΄λ³΄μ)
Massiveνκ³
Incomplete νλ€
-> κ·Έλ λ€λ©΄ missing edgeλ€μ κ½€ μ μ°κ²°ν μ μλ λ°©λ²μ΄ μμκΉ?
Embedding

FreebaseλΌλ κ³³μ μλ λ°μ΄ν°λ₯΄ λͺ¨λΈλ‘ λ¬λ³΄μ. KGμμλ edgeλ ν¬κ² μΈ κ°μ§ μνλ‘ ννμ΄ λλ€.
μμμ (head), λμ°©μ (tail), κ·Έλ¦¬κ³ κ·Έ λ Έλμ κ΄κ³(relationship).
κ·Έλμ ν΅μ¬ μμ΄λμ΄λ entitlesμ realtionμ μμ£Ό μ modelingν΄λ³΄μλ κ²μ΄λ€. true (h,r,t)κ° μμλ μ΄λ₯Ό μ΄μ©ν΄ (h,r)μ μλ² λ© ν΄λ³΄μλ κ²μ΄ λͺ©νμ΄λ€.
λ€λ§ κ·Έ μ μ relationμ κ²½μ°λ λͺ κ°μ§ νΉμν κ²½μ°λ€μ΄μλ€.

Symmetric Relation : A μ Bλ symmetricν΄μΌνλ κ²½μ°κ° λ§λ€. μ΄λ€ κ°μ‘±μ ꡬμ±μλ€μ μλ‘κ°μ κ΄κ³κ° κ°μ‘±μ΄λ©°, μ΄λ μ§λ¨μ λ¬΄λ¦¬κ° μμΌλ©΄ κ·Έ μ§λ¨ λ΄μμ κ° μ¬λλ€μ κ΄κ³λ friendsμΌκ²μ΄λ€.
Compostion Relation : λμ μλΉ μ κ΄κ³λ λμ μλ§μ κ΄κ³ + μλ§μ λ¨νΈμ κ΄κ³μ΄λ€. μ¦, λλΌλ 벑ν°μ μλ§λΌλ 벑ν°μ λ¨νΈμ΄λΌλ 벑ν°λ₯Ό ν©μΉλ©΄ μλΉ λΌλ 벑ν°κ° λμμΌνλ€.
1 - to -N, N-to-1 ν¬λΉ μ€λΌλ entityμ ν¬λΉ μ€ λ©€λ²λ€μ entityμ κ΄κ³λ λͺ¨λ ν¬λΉ μ€ λ©€λ²μ λν΄ member ofκ° λλ€. μ¦, νλμ entityμ νΉμ ν 벑ν°λ€λ₯Ό μ°μ°νλ©΄ μ¬λ¬ relationshipμ΄μκΈΈ μ μλ€.
μ¬μ€, Nodeμ Edgeλ₯Ό embeddingνλ λ°©λ²μ μμμ νλ λ°°μ λ€.
Trans_E head + realationship = Tailμ΄ λμ€κ²λ embeddingνλ κ²μ΄λ€. λ€λ§ μ΄λ κ² λλ©΄ ν° λ¬Έμ κ° λ°μνλ€.
Symmetric : h + r= t, t+r = hλ₯Ό λͺ¨λ λ§μ‘±ν΄μΌνλ€. μ¦ t - r = t + r, r= 0μ΄ λλ€. μ¦ λμΉμ μΈ λ²‘ν°λ μ‘΄μ¬ν μ μκ² λλ€.
composition : μ΄κ²μ μλ§ λ²‘ν° + λ¨νΈ λ²‘ν° = μλΉ λ²‘ν° κ° λμ€κ² ν μ μμΌλ―λ‘ μ±λ¦½νλ€.
1 to N : ν¬λΉ μ€λΌλ 벑ν°μ λ©€λ² λ²‘ν°λ₯Ό λνλ©΄ ν¬λΉ μ€ λ©€λ²λ€μ΄ λμμΌνμ§λ§, μ΄λ κ² νκ² λλ©΄ λ©€λ² λ²‘ν°κ° νλλ°μ λμ€μ§ μλλ€.
=> μ λ¬Έμ λ€μ μ’ ν©ν΄λ³΄λ©΄ Trans_Eλ μλ² λ©νκΈ°μ μ’μ§ λͺ»ν μλ¨μ΄λ€.
Trans_R

TransRμ λ€μκ³Ό κ°μ΄ λͺ¨λΈλ§ νλκ²μ΄λ€. relationμ Matrixλ₯Ό μ΄μ©ν΄ λ§λ€κ³ , head vectorμ Matrixλ₯Ό κ³±νλ©΄ head projection (Vector spaceμ ν¬κΈ°λ κ°λ€)κ³Ό tail projectionμ΄ λμ¨λ€. κ·Έλ¦¬κ³ relationμ
|hγ + r - tγ |λ‘ μ μνλ κ²μ΄λ€.
μ΄μ λ°μ Έλ³΄μ
Symmetric : ννκ°

2. 1 to N, N to 1 : ννκ°

3. Composition Relation => λΆκ°


μ¬κΈ°μ μ£Όμν΄μΌν μ μ Mrμ λͺ¨λ relationμ λν΄ μ‘΄μ¬νλ€λ κ²μ΄λ€.
Path Query

μ΄ λ Queryλ μ΄ 4κ°μ§ μ’ λ₯κ° μ‘΄μ¬νλλ° κ°κ° μ΄λ€ μν μ νλ μ§ μμ보μ
One-hop Queriesλ λ¨μνλ€ Aμ Bμ κ΄κ³κ° rμ΄λΌλ©΄ AλΌλ μμμ κ³Ό rμ΄λΌλ κ΄κ³κ° μ£Όμ΄μ‘μ λ Bλ‘λλ¬ν μ μλ κ²μ΄λ€.
μ¬κΈ°μ μλ‘λμ€λ κ°λ μ Path μ΄λ€. μ΄λ€ μ΄μ΄μ§λ κ²λ€μ΄ μμ λ, μ΄κ²λ€μ μ΄λ»κ² κ³μ°ν κΉ? μΌλ¨ μ μλ λ€μκ³Ό κ°μ λ°©μμΌλ‘ νννλ€. μμμ Vaμ relationμ λνλ΄λ r벑ν°λ€μ ν΅ν΄ λνλΈλ€.

κ·Έλ¦¬κ³ λ€μκ³Ό κ°μ΄ κ³μ°λλ€

λ¨Όμ r벑ν°λ₯Ό ν΅ν΄ κ·Έμ ν΄λΉνλ Entityλ‘ μ΄λνκ³ λ κ±°κΈ°μ r2벑ν°λ₯Ό ν΅ν΄ λ κ·Έμ ν΄λΉνλ 벑ν°λ‘ μ΄λνλ€. μ¦ λμννκ²λλ©΄

μ κ°μ΄ ννμ΄ λλ κ²μ΄λ€. κ·Έλ°λ° μ€μ KGλ λ§€μ°λ§€μ° λ§μ nodeλ€κ³Ό μ°κ²°μ΄ λμ΄μλ€. μ¦ Pathκ° κΈΈμ΄μ§λ©΄ κΈΈμ΄μ§μλ‘ Geometricνκ² κ²½λ‘κ° κΈΈμ΄μ§κ² λλ κ²μ΄λ€.

κ·Έλ κΈ° λλ¬Έμ μ°λ¦¬λ transEλ₯Ό μ΄μ©ν΄ Pathλ₯Ό νλ²μ μλ² λ©ν κ²μ΄λ€.

μ¦ μ΄λ° μμΌλ‘ μ¬λ¬ 벑ν°λ₯Ό ν λ²μ μ΄λν¨μΌλ‘μ¨ μ°μ°μ μ€μΌ μ μλ€.μ¦ λλμ μΉκ΅¬λ€μ΄λΌκ³ νλ©΄ λλ λΌλ κ΄κ³λ₯Ό λͺ¨λ μ°Ύμμ μ΄λν λ€, κ±°κΈ°μ μΉκ΅¬λ²‘ν°λ€μ λ€μ λ€ μ°Ύμκ°λ κ²λ³΄λ€λ λλ + μΉκ΅¬ 벑ν°λ₯Ό ν΄μ ν λ²μ λλ¬νκ²νλ κ²μ΄ ν¨μ¨μ μ΄λΌλ κ²μ΄λ€. (κ·Έλ°λ°, μ΄λ¬λ©΄ μΉκ΅¬μλΉ λ μλΉ μΉκ΅¬λ ꡬλΆμ΄ μλμ§μλ..?)
λ κ΄λ ¨ λ Όλ¬Έμ μ°Ύμ보면

μ΄λ¬ν λ΄μ©λ μ°Ύμλ³Ό μ μλλ°, λ§μ½ μλΉ λΌλ 벑ν°κ° μνμ΄λΌκ³ νλ©΄ λμ μλΉ λ‘ μ΄λνλλ° λ Έμ΄μ¦κ° μ½κ° λλ€. κ·Έλ°λ° μλΉ μ μλΉ λ²‘ν°μΈ ν μλ²μ§ 벑ν°κ° κ°κ²λλ©΄ μ΄ μλ¬κ° κ°μλ‘ μ»€μ§κ² λλ κ²μ΄λ€. μ΄λ¬ν κ΄μ μμλ, μμμ + relation 벑ν°λ€μ λν΄μ λμ¨ q벑ν°μ μ€μ λμ°©ν΄μΌνλ μ μΈ v벑ν°λ₯Ό ν΅ν΄ κ³μ°νλ κ²μ λΆλͺ μ΄μ μ΄ μ‘΄μ¬νλ€.

Conjunctive Queries(λ
Όλ¦¬κ³±~)
ConjunctiveλΌλ λ§μ μ½κ² λ§ν΄μ AndλΌκ³ μκ°νλ©΄ λλ€. μ¦ Canadianμ΄λ©΄μ Turning award μμμλ..? μ μ°Ύμ λ μ΄λ»κ² μ°ΎμμΌν κΉ?

μ΄λ°μμΌλ‘ Canadian + Citizenμ λ¨Όμ ꡬνκ³ Turing Award + winμ ꡬν΄μ λ intersection(κ΅μ°¨λΆλΆ..?)μ ꡬνλ κ²μ΄λ€. μ¬μ€ μ§κ΄μ μΈ Projectionμ μ΄λ¬νλ° μ λ κ² λ²‘ν°κ° λ²λ² λ§κ² λ¨μ΄μ§κΉ?

νμ€μ μ΄λ λ€.. λ λΆλΆμ q1κ³Ό q2μ κ΅μ μ μ°ΎμμΌνλλ° νμ€μ μΌλ‘ κ΅μ μ΄ μκΈΈλ¦¬κ° μλ€. κ·Έλ κΈ°λλ¬Έμ κ·Έ λλΆλΆμ΄ κ΅μ°¨νλ μ ꡬν΄μΌν κ²μ΄λ€. μ κ·Έλ¦Όλ§ λ³΄λ©΄ μ°λ¦¬λ νν€κ³Ό λ²€μ§μ€κ° μ¬μ΄μ΄λκ°λ₯Ό κ΅μ μ΄λΌλ κ²μ μ μ μλ€. κ·Έλ°λ° μ΄λ° μ§κ΄μ μΈ κ²½μ°κ° μλλΌλ©΄ InterSectionμ ꡬνλ κ²μ ν° λ¬Έμ κ° λλ κ²μ΄λ€.
μμ¦ μ°λ¦¬λ, λ₯λ¬λμ μλμ μ΄κ³ μλ€. λͺ¨λ₯΄κ² μΌλ©΄ Neural Networkλ₯Ό λμ νμ. νμ¬ queryλ€μ inputμΌλ‘ λκ³ outputμ intersection point λμ€κ² NNμ λ§λ€μ΄λ³΄μ.

λ€μκ³Ό κ°μ΄, κ° λ²‘ν°λ€μ λ£λλ° permutation invariantνλ€.. μΊλλ€μΈμΈ μ°μΉμλ, μ°μΉμμΈ μΊλλ€μΈμ΄λ κ°μΌλ μ§κ΄μ μΌλ‘λ λΉμ°νλ€.

λ€μκ³Ό κ°μ΄, λͺ¨λ 벑ν°λ₯Ό λ£κ³ Neural Networkλ₯Ό ν΅κ³Όνκ³ μ 체λ₯Ό Meanνλ€. μμ GCNν λλ μ°κ²°λ λͺ¨λ λ Έλλ€μ νκ· μ λ΄λ κ²μ²λΌ κ·Έλνμμλ νκ· μ λ΄λκ² μμ£Ό μμ λ‘λ€. κ·Έ μ΄ν λ€μ λ€νΈμν¬λ₯Ό ν΅κ³ΌμμΌ intersctionμ μ»μ μ μκ² λλ€.

λ€μκ³Ό κ°μ΄ ꡬν΄μ§λ κ²μ΄λ€. q1κ³Ό q2μ intersectionμ ꡬνκ³ κ·Έ 벑ν°μ graduate 벑ν°λ₯Ό κ΅¬ν΄ κ·Έ μ΄μλ€μ answerλ‘ κ΅¬νλ κ²μ΄λ€.

μ¬κΈ°μ νμ΄λ λ² νλ graph sizeμ μν₯μ λ°μ§ μλ νλΌλ―Έν°λ‘ νΈλ μ΄λ ν μ μλ€.

Box Query
μμμ intersectionμ μμμ ꡬν λ (νΉμ 벑ν°μμ κ°κΉμ΄ κ²λ€μ ꡬν λ) μ¬λμ΄ μ‘°μ νκΈ° λλ¬Έμ μ§κ΄μ μ΄μ§ μλ€λ μ μ΄ μλ€. κ·Έλμ μ°λ¦¬λ μλ‘μ΄ Box queryλΌλ κ²μ λμ νλ€.
Box Embeddings : queriesλ₯Ό hyper rectangleλ‘ emneddingνλ κ²
λ€μκ³Όκ°μ΄ Centerμ offsetμΌλ‘ μ μν μ μλ€.μ¬κΈ°μ offsetμ qμ κ°μ dimensionμΈλ° κ° dimensionλ³λ‘ μ΄λμ λμ offsetμ κ°μ§μ§ κ²°μ νλ κ²μ΄λ€.

μ΄ λ parameterλ€μ λ€μκ³Ό κ°μλ° μλ―Έλ₯Ό μ μ΄ν΄λ³΄.

entity embeddingμ dμ dimensionμ΄κ³ 곡κ°μμμ ν μ μ λνλ΄λ κ²μ΄λ€. 곡κ°μμ ν μ μ κ²°κ΅ offsetμ΄ 0μ΄κ³ Centerκ° entity embeddingμ λνλΈλ€κ³ ν μ μλ€. relation embeddingμ μμ 2κ° λΆλλ° μ μμμ μ μνλ―, Centerμ Offsetμ΄ λͺ¨λ μκΈ° λλ¬Έμ΄λ€.

λν Geometricν μ°μ°μΌλ‘ Box X Relation = BoxλΌλ κ²°κ³Όκ° λμ€λλ°, μ¬μ€ μ XλΌλ μ°μ°μ μΌλ μ§λ μ λͺ¨λ₯΄κ² μ§λ§, μ΄λ€ λ μ μ λν λλ, CenterλΌλ¦¬ λν΄μ μλ‘μ΄ Centerλ₯Ό λ§λ€κ³ offsetλΌλ¦¬ λν΄μ μλ‘μ΄ offsetμ λ§λ€κ² λλ€. (λ§μ½, entityλΌλ©΄ κ°μ offsetμ κ°μ§κ³ μ€μ¬λ§ μ΄λν κ²μ΄λ€) μ΄λ κ² λλ©΄ κ²°κ΅ μ 체 λ°μ€μ ν¬κΈ°λ κ°μλ‘ μ»€μ§κ² λ κ²μ΄λ€.
κ·Έλ λ€λ©΄ Box X Boxμ Operationμ μ΄λ»κ²λ κΉ?

λ€μκ³Ό κ°μ μμΌλ‘ μ°Ύκ² λλ€. κ·Έλ°λ° κ·Έλ¦Όμμλ κ·Έλ₯ λ€ κ²ΉμΉλ λΆλΆλ§μ μ°Ύμμ§λ§, μλ‘μ΄ λ²‘ν°λ λ€λ₯Έ λ°©μμΌλ‘ μ μλλ€.

μΌλ¨ μλ‘μ΄ Centerλ κΈ°μ‘΄ boxλ€μ weighted sumμ΄λΌκ³ ν μ μλ€. μ΄λ¬ν weightλ νμ΅λλ κ²μ΄λΌκ³ μκ°νλ©΄ λλ€. κ·Έλ¦¬κ³ offsetμκ²½μ° μΌλ¨ mean κ°μ μ·¨νκΈ° λλ¬Έμ, intersectionμ΄ μκΈ°λ©΄ offsetμ΄ μ€μ΄λ λ€. κ·Έλ°λ° μ deepsetsμ μ‘°κ΅λ λ§μ μμλ£κΈ°κ° νλ€μ΄..(μ¬μ€ countλΌκ³ λ νλλ° countκ° μ§μ§ λ΄κ° μ΄ν΄ν κ²μ΄ λ§λμ§λ λͺ¨λ₯΄κ² μ΄μ ν΄λΉ λ Όλ¬Έμ μ½μ΄λ³΄μλ€.)

ν΄λΉ λ Όλ¬Έμμλ κ° λ²‘ν°λ₯Ό Mlpμ λ£κ³ νκ· λΈ κ²μ λ€μ MLPμ λ£λλ€. μλ§ inputμ d (λ²‘ν° μ€νμ΄μ€μ μ°¨μ)μ λͺ¨λ Setμ λν΄ mlpμ λ£κ³ κ·Έ mlpμ outputμ d dimensionμ΄ λ κ²μ΄λ€. κ·Έκ² λ€μ λ£μ΄μ (dXN) μ°¨μμ returnνλ κ² κ°λ€.
κ²°κ΅ λ€μκ³Ό κ°μ΄ μ§κ΄νλλ€.

κ·Έλ¦¬κ³ μ΄ μλ True nodeμ boxμ 거리λ λ€μκ³Ό κ°μ΄ μ μλλ€.

λ‘μ€λ TransEμ λΉμ·νκ² μ μλλ€.

λ°μ€μμ μμ΄μΌν κ²λ€μ 거리λ₯Ό μ΅λν μ€μ΄κ³ , λ°μ€λ°μ μμ΄μΌν κ²μ 거리λ₯΄ μ΅λν νλ λ°©ν₯μΌλ‘ νΈλ μ΄λν΄μΌνλ€.
μ΄λ κ² queryλ₯Ό λ°μ€λ‘ μλ² λ©νλ©΄ μμμ λ§μ‘±ν΄μΌνλ, symmetric composition 1toNμ΄ λͺ¨λ λ§μ‘±λλ€.
κ°μμμλ μ€λͺ νμ§λ μμμ§λ§ symmetricμ΄ μ½κ° λΉμ§κ΄μ μ΄μ¬ μ΄μ§ μ§κ³ λμ΄κ°μ
symmetricμ κ²½μ° Cen(r)μ 0μΌλ‘ νλ©΄ λλ€. μ¦, headμ tailμ κ²½μ° λλΌλ entityκ° μκ³ , κ±°κΈ°μ Offsetλ§ λνλ©΄ κ·Έ offset λ²μλ΄μ μλ§κ° μμΌλ©΄ λκ³ , μλ§ entityμμ offsetμ ꡬνλ©΄ λ κ·Έ λ²μμ λ΄κ° μμ κ²μ΄λ€. λ°λΌμ symmetricμ κ²½μ° Cen(r)μ΄ 0κ°λΌμΌνλ€.
Compositionκ³Ό 1toNμ κ²½μ°λ μλͺ νλ€.
*EPFO query? : Conjunctive + disjunction query => and + or query! μΊλλ€μΈμ΄λ©΄μ turingμ΄λ λ Έλ²¨μλ°μ μ‘Έμ μ? κ³Ό κ°μ΄ andμ orμ΄ λͺ¨λ λ€μ΄κ° 쿼리μ κ²½μ°μλ boxλ₯Ό μ΄μ©ν΄μ μ μλ² λ©ν μ μκ³ νλ€.
Experiment

μ€νλΆλΆμ κ²°κ³Όκ° λ§μμ νΌνΌν°λ‘~
Last updated