“트리플 점수 예측의 새로운 시도: TransR‑Word2Vec 앙상블로 보는 Pigweed 팀의 WSDM Cup 2017 솔루션”
📝 Abstract
Collaborative Knowledge Bases such as Freebase and Wikidata mention multiple professions and nationalities for a particular entity. The goal of the WSDM Cup 2017 Triplet Scoring Challenge was to calculate relevance scores between an entity and its professions/nationalities. Such scores are a fundamental ingredient when ranking results in entity search. This paper proposes a novel approach to ensemble an advanced Knowledge Graph Embedding Model with a simple bag-of-words model. The former deals with hidden pragmatics and deep semantics whereas the latter handles text-based retrieval and low-level semantics.
💡 Analysis
**
1. 연구 배경 및 문제 정의
- 트리플 스코어링은 엔터티 검색·추천 시스템에서 “어떤 직업·국적이 해당 인물에 가장 적합한가?”를 정량화하는 핵심 과제이다.
- 기존 연구는 주로 텍스트 기반(TF‑IDF, Bag‑of‑Words) 혹은 그래프 기반(PageRank, Random Walk) 접근에 의존했으며, 두 방법을 효과적으로 결합한 사례는 드물다.
2. 제안 방법론
| 단계 | 사용 기술 | 주요 역할 |
|---|---|---|
| 1️⃣ | TransR (translation‑based KG embedding) | 엔터티·관계·값을 벡터화, Euclidean 거리로 기본 스코어링. |
| 2️⃣ | 추가 Wikidata 트리플(출생지, 사망지, 고용주 등) | 임베딩 학습에 풍부한 맥락 제공 → 직업·국적과 연관된 의미적 구조 강화. |
| 3️⃣ | Word2Vec(300‑dim, 3M vocab) | 직업 간 의미적 유사도 행렬(200×200) 생성, TransR 결과 보정. |
| 4️⃣ | Bag‑of‑Words + Demonym 리스트(100개) | 위키 문장에서 국가·데모님 빈도 집계, 국적 순위 결정. |
| 5️⃣ | 단계형 스코어 변환( |
📄 Content
많은 엔터티는 보통 여러 직업이나 국적을 가지고 있으며, 이러한 개별 트리플릿의 관련성을 순위 매기는 것이 종종 필요합니다.
이 챌린지의 목표는 동일한 관계에 속하는 다른 트리플릿과 비교했을 때, 개별 트리플릿이 표현하는 진술의 관련성을 0 ~ 7 범위의 점수로 계산하는 것이었습니다. 참가자들에게는 385,426개의 엔터티 목록과 다섯 개의 파일이 제공되었습니다.
- profession.kb – 343,329개의 엔터티에 대한 모든 직업 정보
- nationality.kb – 301,590개의 엔터티에 대한 모든 국적 정보
- profession.train – profession.kb에 포함된 515개의 튜플(134개의 엔터티)에 대한 관련성 점수
- nationality.train – nationality.kb에 포함된 162개의 튜플(77개의 엔터티)에 대한 관련성 점수
- wiki-sentences – 385,426개의 엔터티에 대한 주석이 달린 위키피디아 문장 33,159,353개
위 파일들 외에도, 인간의 판단(주관적 평가)을 제외한 어떠한 추가 데이터도 자유롭게 사용할 수 있었습니다. 최종 출력은 모든 트리플릿에 대해 0이 가장 낮은 관련성, 7이 가장 높은 관련성을 나타내는 점수를 생성하는 것이었습니다.
저작권 및 사용 허가
개인적·교실용으로 이 작업의 일부 혹은 전부를 디지털·인쇄본 형태로 복제하는 것은 수수료 없이 허가됩니다. 단, 복제본을 영리·상업적 이득을 위해 배포하거나 판매해서는 안 되며, 복제본에는 본 고지와 첫 페이지에 전체 인용문이 포함되어야 합니다. 제3자 구성 요소에 대한 저작권은 반드시 준수해야 합니다. 그 외의 모든 사용은 소유자·저자에게 연락해 허가를 받아야 합니다.
1. 전체 시스템 개요
우리는 파이프라인 기반 앙상블 모델을 사용했으며, 시스템 구조도는 Figure 1에 제시되어 있습니다.
1.1 첫 번째 단계 – TransR 기반 지식 그래프 임베딩
첫 번째 접근은 얕은 학습 기법인 Knowledge Graph Embedding 중 하나인 TransR[4]을 활용하는 것이었습니다. TransR은 (head, relation, tail) 형태의 트리플을 입력으로 받아 각각 h, r, t라는 임베딩 벡터를 학습하는 translation‑based 모델입니다.
- 엔터티 임베딩: (h, t \in \mathbb{R}^k)
- 관계 임베딩: (r \in \mathbb{R}^d) (※ (k)와 (d)는 반드시 동일할 필요는 없음)
- 각 관계 (r)마다 프로젝션 행렬 (M_r \in \mathbb{R}^{k \times d}) 를 정의해 엔터티를 엔터티 공간 → 관계 공간 으로 사영합니다.
[ h_r = h M_r,\qquad t_r = t M_r ]
점수 함수
[ f_r(h,t) = |h_r + r - t_r|_2 ]
학습 손실
[ \mathcal{L} = \sum_{(h,r,t) \in \mathcal{T}^+} \sum_{(h’,r,t’) \in \mathcal{T}^-} \bigl[ \gamma + f_r(h,t) - f_r(h’,t’) \bigr]_+ ]
- (\mathcal{T}^+) : 골드(정답) 트리플 집합
- (\mathcal{T}^-) : 헤드 혹은 테일을 무작위로 섞어 만든 부정(triple) 집합 (Negative Sampling)
- (\gamma) : 양·음 트리플을 구분하는 마진
TransR의 역할은 서로 연관된 엔터티가 유클리드 공간에서 가깝게 배치되도록 임베딩을 학습하는 것입니다. 이는 Word2Vec[5]이 단어를 벡터화하는 방식과 유사하지만, 입력이 트리플이라는 점이 다릅니다.
1.2 추가 트리플 데이터 활용
임베딩의 의미론적 품질을 높이기 위해 Wikidata에서 다음과 같은 추가 관계 트리플을 추출했습니다.
place_of_birth,place_of_death,employer,country,capital등
이들 관계는 profession·nationality와 밀접하게 연관되어 있어, 모델이 엔터티에 대한 풍부한 배경 지식을 학습하도록 돕습니다.
1.3 트리플 순위 매기기
학습된 임베딩을 이용해 훈련 데이터에 포함된 모든 트리플에 대해 점수 함수 (f_r(h,t)) 를 계산했습니다. 점수가 작을수록 해당 트리플이 더 높은 관련성을 갖는 것으로 해석했습니다.
2. 관찰 결과 및 보완 전략
훈련 파일을 분석하고, 점수가 크라우드소싱된 인간 판단에 기반한다는 점을 감안했을 때 다음과 같은 패턴을 발견했습니다.
- 유사 직업 쌍 – 예:
[Actor, Model],[Singer, Composer, Songwriter]– 은 샘플 데이터에서 비슷한 점수를 가짐. - 다중 국적 – 점수가 출생 국가에 편향되는 경향이 있음.
- TransR은 가장 관련성 높은 직업/국적을 잘 예측하지만, 덜 관련된 다른 직업·국적의 순위 매기기는 약함.
이러한 관찰을 바탕으로 두 가지 보완 모듈을 추가했습니다.
2.1 직업 순위 보정 – Word2Vec 기반 유사도 행렬
이미 학습된 Word2Vec 모델을 이용해 200 × 200 크기의 직업 간 유사도 거리 행렬을 만들었습니다.
TransR이 산출한 순위에 단순 임계값 기반 선형 결합을 적용해 보정했습니다.
보정 공식
[ \text{rank}’(p_i) = \text{rank}(p_i) - \sum_{j=1}^{n} \alpha \cdot \bigl(1 - \text{SD}(p_i, p_j)\bigr) ]
- (\text{SD}(i,j)) : 직업 (p_i)와 (p_j) 사이의 Similarity Distance
- (\alpha) : 실험을 통해 설정한 가중치 (예: 0.1)
예시) 엔터티 A. R. Rahman의 가장 높은 점수를 받은 직업은 singer‑songwriter였습니다. 보정 후 singer, composer 등 유사 직업들의 순위가 상승했습니다.
2.2 국적 순위 보정 – Bag‑of‑Words 모델
위키 문장 리스트에서 Bag‑of‑Words 모델을 구축했습니다.
특히 데모님(demonym)(예: “American”, “Korean”)이 국적 식별에 유용하다는 점을 활용했습니다.
- 100개의 국가‑데모님 쌍을 미리 정의하고, 각 엔터티와 100개 국적에 대해 단어 빈도를 계산했습니다.
- 데모님을 해당 국가명으로 치환한 뒤, 빈도 ≥ 3 인 국적을 1위로 지정했습니다.
- 국적 순위에서는 Bag‑of‑Words 모델에 우선순위를 부여했으며, 선형 결합 대신 단일 결정 규칙을 적용했습니다.
3. 점수 부여 정책
대회에서는 정답과의 차이가 2 이하인 트리플 비율을 Accuracy로 정의했습니다. 이를 고려해 우리는 점수 범위를 [2, 5] 로 제한했으며, 단계적 감소(step‑down) 모델을 사용해 최종 점수를 산출했습니다.
4. 시도했지만 최종 모델에 포함되지 않은 접근법
아래는 실험했지만 최종 시스템에 채택되지 않은 방법들입니다.
| 접근법 | 설명 | 결과 |
|---|---|---|
| Word2Vec (국가 유사도) | 인접 국가(예: India‑Pakistan, Japan‑China‑Taiwan) 간 이름·문화 유사성을 활용해 국적 점수를 조정 | 새로운 Word2Vec 모델을 별도로 학습해야 했으며, 성능 향상이 미미함 |
| Bag‑of‑Words (직업) | 직업 순위에도 Bag‑of‑Words 적용 시도 | 복잡한 문장 구조를 제대로 파악하지 못해 낮은 품질의 트리플이 생성됨 |
| Twitter 데이터 | 트위터 텍스트를 활용해 Bag‑of‑Words 모델 구축 | 문자 제한으로 인한 잡음이 많았으며, 월별 클러스터링 후에도 만족스러운 결과를 얻지 못함 |
| Wikidump + Softmax | Wikidump에서 추출한 Bag‑of‑Words를 100개 직업에 대한 softmax 분류기로 학습, 확률 벡터를 soft target 으로 사용 | 엔터티마다 문서 길이가 달라 결과가 불안정했음 |
5. 평가 지표
트리플 스코어링 과제는 다음 세 가지 지표로 평가되었습니다.
- Average Score Difference (ASD)
[ \text{ASD} = \frac{1}{N}\sum_{i=1}^{N} | \hat{s}_i - s_i | ] ( (\hat{s}_i) : 시스템 점수, (s_i) : 정답 점수 ) - Accuracy – 점수 차이가 2 이하인 트리플 비율
- Kendall’s Tau – 각 관계·주체별로 시스템 순위와 정답 순위 사이의 상관계수
테스트 셋은 총 710개 트리플(직업 513개, 국적 197개)로 구성되었습니다. 표 1은 우리 모델이 각 지표에서 보인 성능을 보여줍니다.
- Pigweed 팀은 21팀 중 11위를 차지했으며, **Accuracy 74 %**를 기록했습니다.
- 점수 범위를 [2, 5] 로 제한했기 때문에 ASD와 Kendall’s Tau에서는 다소 낮은 점수를 받았습니다.
실험 설정 (TransR)
| 파라미터 | 값 |
|---|---|
| Optimizer | Adam |
| 초기 |
이 글은 AI가 자동 번역 및 요약한 내용입니다.