지식그래프가 완전하고 질의가 정확할 때의 목표는, 그래프에서 관련 정보를 빠르고 정밀하게 추출하여 정확한 답을 제공하는 효율적 추론 모델의 설계다. 이 장은 완전한 지식그래프 위에서의 근사 심볼릭 서브그래프 매칭에 관한 연구, 즉 G-Finder 알고리즘을 소개한다.
(근사) 서브그래프 매칭은 데이터 마이닝, 데이터베이스, 정보 검색, 컴퓨터 비전, 자연어 처리에 이르는 여러 분야의 핵심 프리미티브(core primitive)다.
기존 연구는 정확(exact) 매칭과 비정확(inexact) 매칭의 두 범주로 나뉘며, 각각 뚜렷한 장단점을 지닌다.
데이터 그래프의 잡음·불완전성과 질의 그래프의 불확실성 때문에 정확 매칭 서브그래프는 존재하지 않거나 바람직하지 않을 수 있다. 따라서 이 장은 근사 서브그래프 매칭에 집중하며 (제안 알고리즘은 정확 매칭도 찾을 수 있다), 새로운 알고리즘 G-Finder를 제안한다. 핵심 아이디어는 질의 그래프 구조에 따라 데이터 그래프에 인덱스를 구축하여 매칭 정확도를 높이는 것이다. 기존 비정확 매칭과 비교해 G-Finder는 (1) 새로운 보조 자료구조 Lookup-Table(LTB)과 이웃 확장(neighborhood expansion) 기법을 결합해 질의 노드의 후보 정점을 색인하면서 질의 그래프의 위상 구조를 유지하고, (2) LTB로 질의 노드의 거짓 양성 후보를 효과적으로 가지치기하여 효과적인 매칭 순서를 계산한다. 다양한 실제 데이터셋 실험에서 G-Finder는 F1-Score 기준 최고 베이스라인보다 최대 30% 우수하며, 특히 풍부한 속성 정보를 가진 데이터 그래프에서 데이터 그래프와 질의 그래프 크기 모두에 대해 준선형(near-linear)으로 확장된다.
명확성을 위해 질의 그래프 Q의 원소는 노드(node)·에지(edge)로, 데이터 그래프 𝒢의 원소는
정점(vertex)·링크(link)로 부른다. u, û는 질의 노드를, v, v̂는 데이터 정점을 가리킨다.
그래프는 튜플 {V, E, L}로 표기하며 L은 노드/정점·에지/링크를 속성값에 대응시키는 속성 함수다.
| 기호 | 정의 | 기호 | 정의 |
|---|---|---|---|
| Q = {V_Q, E_Q, L_Q} | 속성 질의 그래프 | N(u) | 질의 노드 u의 이웃 |
| 𝒢 = {V_G, E_G, L_G} | 속성 데이터 그래프 | C(u) | 질의 노드 u의 후보 집합 |
| H_i / Q_i | i개 노드의 부분 매칭 / 부분 질의 그래프 | LTB(u) | 질의 노드 u의 Lookup-Table |
| m(u_i) = v_i | 매칭 함수 | LTBG | 모든 LTB가 이루는 Lookup-Table-Graph |
| u, û / v, v̂ | 질의 노드 / 데이터 정점 | f(Q, H) | 손실 함수 |
m(): V(Q) → V(𝒢)로서 다음을 만족한다.
정확 매칭과 달리, 근사 서브그래프 매칭은 일부 누락 질의 노드·누락 질의 에지·중간 데이터 정점을 허용한다. 나머지 비누락 질의 노드와 비중간 데이터 정점 중 매핑 함수 m()을 만족하는 쌍은 매칭 쌍(matching pair)이라 한다.
u ∈ V(Q)이지만 m(u) ∉ V(𝒢)인 노드 u.(u_a, u_b) ∈ E(Q)이지만 (m(u_a), m(u_b)) ∉ E(𝒢)인 에지.(u_a, u_b) ∈ E(Q)가 데이터에 없지만, (m(u_a), v_i)와 (v_i, m(u_b))가 모두 E(𝒢)에 존재할 때의 vi.| 방법 | 노드 속성 | 에지 속성 | 정확 매칭 | 누락 노드 | 누락 에지 | 중간 노드 | 인덱스 기반 | 조기 가지치기 | 멀티그래프 |
|---|---|---|---|---|---|---|---|---|---|
| G-Finder | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
| CFL | ✓ | ✗ | ✓ | ✗ | ✗ | ✗ | ✓ | ✓ | ✗ |
| G-Ray | ✓ | ✗ | ✗ | ✓ | ✓ | ✓ | ✗ | ✗ | ✗ |
| FIRST | ✓ | ✓ | ✗ | ✓ | ✓ | ✓ | ✗ | ✗ | ✗ |
| MAGE | ✓ | ✓ | ✗ | ✓ | ✓ | ✓ | ✗ | ✗ | ✗ |
| FilM | ✗ | ✗ | ✓ | ✗ | ✗ | ✗ | ✗ | ✓ | ✓ |
| NeMa | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✗ |
G-Finder의 전체 프레임워크는 네 개의 주요 단계로 구성된다(Fig 3.2, Algorithm 1).
u_r ← argmin_u |C(u)| / deg(u)인 노드를 루트로 선택한다.
|C(u)|는 데이터 그래프 내 u의 후보 집합 크기, deg(u)는 질의 그래프 내 u의 차수다.
|C(u)|/deg(u)가 가장 작은 LTB를 꺼내 미방문 이웃의 LTB를 재귀적으로 구축·삽입한다. 질의 그래프의 모든 노드가 처리될 때까지 반복한다.G-Finder에서 가장 복잡한 두 단계인 Lookup-Table-Graph 구축과 서브그래프 열거의 세부를 제시하고, 시간·공간 복잡도를 분석한다.
LTB는 후보 정점의 정보, 즉 후보 집합, 부모-자식 관계, 중간 정점 수(IVN), 노드-정점 유사도(SIM)를 저장한다. LTB 간에는 부모-자식 관계(트리 에지에 의한)와, 비트리 에지에서 비롯되는 선방문 이웃(prior-visited neighborhood) 관계가 존재한다 — 예컨대 u₃와 u₄ 사이에 비트리 에지가 있고 LTB(u₃)가 LTB(u₄)보다 먼저 구축되면 두 LTB 사이에 선방문 이웃 관계가 생긴다. 데이터 그래프 후보 정점들 사이의 부모-자식 관계도 함께 기록된다. LTB 구축 시 후보 정점은 IVN과 SIM으로 정렬되며, 매칭 과정에서 SIM이 높고 IVN이 작은 정점을 먼저 선택하여 선형 손실 함수 비용을 작게 만든다.
루트 선택 후, 데이터 그래프를 동적으로 탐사하며 각 질의 노드의 후보를 고른다. 이때 노드-정점 유사도, 중간 정점 수, 누락 노드/에지 허용치라는 정제·필터링 전략으로 유망하지 않은 후보를 가지치기하여 후보 크기를 최소화한다. 직관적으로, 부분 매칭 Hi가 있고 다음 노드 uj의 매칭 정점을 찾을 때, vj가 좋은 후보라면 Qi ∩ N(uj)의 각 노드 un에 대해 그 후보 vn과 인접해야 한다. 그러나 근사 매칭에서는 누락 노드/에지를 허용한다면 이 강한 제약을 만족하지 않아도 된다.
단일 LTB는 선방문 이웃들의 LTB 정보를 활용하여 구축한다(Algorithm 2). ui의 방문된 이웃 집합을
Nvisited(ui)라 하면, ui의 후보는 Nvisited(ui)의 후보 집합들로부터 생성된다:
각 uj ∈ Nvisited(ui)의 후보 vj ∈ C(uj)마다 Neighbor-Expander로
sim(v, ui) ≥ s인 좋은 후보를 골라 집합 S에 넣는다(Lines 4–6).
이어서 부모 후보 C(up)의 각 정점 vn에 대해 S 내의 t-홉 이웃을
LTB(u_i).adj[v_n]에 저장하여 데이터 그래프 상의 공통 부모 관계를 기록하고,
마지막으로 중간 정점 수를 기록한다(Line 12).
예컨대 LTB(u₄)는 LTB(u₂)·LTB(u₃)로부터 구축되며 — C(u₂) = (v₄, v₆), C(u₃) = (v₅, v₇),
이들의 2-홉 이웃 중 속성 L(u₄)를 갖는 정점은 각각 (v₁, v₈), (v₃, v₉), (v₁), (v₃, v₉)이고, s = 1/4이면
S = (v₁, v₈, v₃, v₉)가 모두 좋은 후보다. 부모가 u₂이므로
LTB(u₄).adj[v₄] = (v₈, v₁), LTB(u₄).adj[v₆] = (v₃, v₉)가 된다.
LTBG 구축의 또 다른 핵심은 질의 그래프 Q에 대한 구축 순서 선택이다. 최소 힙(min heap)으로 현재 처리 중인
노드들의 LTB를 저장하며 동적으로 구축한다 — 먼저 루트 노드의 LTB를 만들어 힙에 넣고(Lines 4–5),
매번 힙에서 LTB 하나를 꺼내 미방문 자식들의 LTB를 구축한 뒤(Lines 7, 9) 자식 LTB를 힙에 넣는다(Line 11).
질의 그래프의 모든 노드가 처리될 때까지 반복한다. 다음에 꺼낼 LTB는
|C(u)|/deg(u)가 최소인 것을 선택하는데, 이 값이 작은 LTB의 자식일수록
후보 정점이 적을 가능성이 높기 때문이다.
Top-k 탐색에서는 지금까지 본 최선의 k개 답을 저장하는 Top-k 최대 힙(max heap)을 유지한다. 탐색 중 부분 질의 그래프 Qi와 부분 매칭 그래프 Hi 사이의 현재 선형 손실 함수 비용을 계산하고, 힙 내 최대 손실 비용과 비교한다. 현재 비용이 힙의 최대 비용보다 높으면 해당 부분 매칭의 확장을 중단하여 조기 종료를 가능하게 한다.
실험은 두 질문에 답하도록 설계됐다. Q1 (효과성) — G-Finder의 서브그래프 매칭은 얼마나 정확한가? Q2 (효율성) — G-Finder는 얼마나 빠르고 확장 가능한가?
데이터셋 — 8개의 실세계 데이터셋을 사용한다(Table 3.3). Human·HPRD는 단백질-단백질 상호작용 네트워크[10], DBLP는 저자-논문 관계, Flickr·LastFm은 사용자 관계, AMiner는 공저 관계의 학술 소셜 네트워크(노드 속성 벡터는 출판 논문 수에서 추출), PNNL-V4는 Pacific Northwest National Laboratory 제작, IMDB는 NeMa[64]와 동일한 영화 데이터셋이다. 베이스라인 — G-Ray[144], MAGE[114], FIRST[5], FilM[34], NeMa[64] 5종(원저자 제공 소스 코드). 제안 알고리즘은 순회 전략에 따라 G-Finder-BFS와 G-Finder-Dynamic의 두 변형을 평가한다. 지표 — 매칭 정확도는 F1-Score, 효율성은 총 실행 시간(인덱스 구축 시간은 질의 시간보다 작다). 선형 손실 함수, MAGE·FIRST의 % Extra nodes, FIRST의 % Exact Matching Nodes 등 대안 지표에서도 G-Finder가 베이스라인을 능가하나 지면 제약으로 F1-Score만 보고한다. 재현성 — C++ 구현, Intel Core-i7 3.20GHz CPU·32GB 메모리 머신에서 수행.
| 데이터셋 | 노드 수 | 에지 수 | 속성 위치 | 속성 수 |
|---|---|---|---|---|
| Human | 4,674 | 86,282 | 노드 | 44 |
| HPRD | 9,460 | 37,081 | 노드 | 307 |
| DBLP | 9,143 | 16,338 | 노드 | 29 |
| Flickr | 12,974 | 16,149 | 노드 | 3 |
| LastFm | 136,421 | 1,685,524 | 노드 | 3 |
| AMiner | 1,274,360 | 4,756,194 | 노드 | 300 |
| PNNL-V4 | 22,154 | 460,196 | 에지 | 259,917 |
| IMDB | 2,932,657 | 11,040,263 | 노드 & 에지 | 노드 수 + 에지 수 |
질의 그래프는 데이터 그래프의 연결 유도 서브그래프를 뽑아(정확 매칭이 최소 1개 존재하도록) 이를 정답으로 삼고, 에지 삭제·노드 속성 변경·데이터 그래프에 없는 여분 노드 추가 등 다양한 잡음을 주입하여 생성한다. 주요 파라미터는 k = 10, w₁ = w₂ = w₃ = 1(편향 없음)이다. Human·HPRD·DBLP·Flickr·LastFm·AMiner 6개 데이터셋에서 G-Finder-Dynamic은 세 베이스라인(G-Ray·MAGE·FIRST)을 모든 경우에 일관되게 능가했다 — DBLP에서는 최고 베이스라인 MAGE보다 30% 우수했다. 두 변형 사이에서는 G-Finder-Dynamic이 거의 모든 경우 승리하거나 유사한 높은 점수를 얻었으며, 예외는 (1) HPRD 질의 노드 7개, (2) LastFm 9개, (3) AMiner 10개의 세 경우뿐이다.
G-Finder는 근사 매칭용으로 설계됐지만, (1) t = 1로 설정(LTBG에서 직접 이웃만 고려)하고 (2) 선형 손실 값이 0인 매칭만 남기면 정확 매칭에도 사용할 수 있다. PNNL-V4에서 FilM[34]은 각 질의 노드에 잠재적 거짓 양성을 포함한 후보 집합을 반환하여 결과 매칭 서브그래프가 100개를 넘지만(후보 수의 곱), 실제 정확 매칭은 단 하나뿐이라 FilM의 F1-Score는 0에 가깝다. 반면 G-Finder-Dynamic은 각 질의 노드에 정확히 하나의 후보를 생성하여 유일한 정확 매칭을 정밀하게 찾아내며, 총 실행 시간도 더 빠르다(134초 vs 199초). NeMa와의 비교에서는 공정성을 위해 NeMa와 동일한 IMDB 데이터셋·노드 추가 잡음 질의를 사용하고 IMDB의 각 속성값을 정수로 매핑했다. 데이터·질의 그래프 모두 고유 속성값을 가지므로 두 알고리즘은 같은 매칭을 찾아 F1이 동일하지만, G-Finder-Dynamic이 6–8배 빠르다.
실행 시간-정확도 트레이드오프(각 방법당 5개 지점)에서 G-Ray·MAGE·G-Finder가 가장 빨라 짧은 시간 안에 매칭 결과를 찾지만, G-Finder-Dynamic의 매칭 정확도는 다른 방법보다 월등히 높아 대부분의 경우 F1-Score가 0.8을 넘는다. 확장성 실험에서는 G-Finder-Dynamic의 실행 시간이 데이터 그래프와 질의 그래프 노드 수 모두에 대해 준선형으로 확장됨을 확인했다.
이 장은 질의 그래프를 반복적으로 순회하며 데이터 그래프에서 답을 찾는 심볼릭 서브그래프 매칭 방법을 소개했다. 질의 구조에 기반해 매칭 순서를 계산하고 그에 따라 답을 검색한다.