knowledge Base
- 현실의 지식을 저장한 대규모 데이터베이스
- 위키데이터, 디비피디아
- knowledge graph의 형식으로 지식 저장
knowledge Graph
- 객체(entity)들 간의 관계(Relation)가 표현된 그래프
- Node
- entity(고유명사, 연도, 대표속성 등)
- Edge: relation(관계)
Knowledge Graph Embedding
- knowledge graph completion 문제 해결을 위한 방법
- 모든 Entity와 Relation을 저차원 벡터로 표현, 벡터 연산을 통해 Graph Completion 수행
- Knowledge Enhanced NLP 모델들에 직접적으로 사용됨
TransE(2013)
- 대표적인 Knowledge Graph Embedding 방법론
- 참 (h,r,t) -> h+r=t가 되도록 유도
- 거짓 (h,r,t) -> h+r=t가 되도록 유도
0. Abstract
과거 연구의 한계
- 사람의 언어를 모델링하는 것은 (1) 유창한 텍스트와 (2) 사실 지식 모두가 필요하다
- 하지만 전통적인 언어 모델들은 훈련 때 본 사실들만 기억하는 것이 가능하고, 그것들을 회고하는데 어려움이 있다
본 연구에서는
- 이를 다루고자, knowledge graph language model (KGLM)을 소개한다
- neural 언어 모델
- 문맥과 연관 있는 지식 그래프에서 사실을 선택 및 복사
- 해당 메커니즘을 통해, 모델은 보여진 적 없는 정보를 다룰 수 있게 되고, out-of-vocabulary token 생성이 가능하다
- 또한 Linked WikiText2 dataset 소개
- WikiText-2 bench-mark와 내용이 맞는, Wikidata knowledge graph가 배열된 어노테이션된 코퍼스
실험
1 Introduction
이전 언어모델의 한계
- 언어모델이 말이 되는 문장을 만들려면 일관성 있어야 하고, 하고자 하는 말이 세상에서 하는 말과 맞아야 한다
- 비록 언어모델이 문법적인 문장을 만드는데 기술이 있지만 이전 연구들은 언어모델이 어떤 common-sense reasoning과 basic knowledge를 소유함을 보여주었다
- factually correct text를 생성하는 능력은 꽤 제한적이었다
- 가장 명백했던 한계는, training 때 관측된 사실들만 기억할 수 있다는 것이었다
- 예를 들어, (Figure 1) Wikitext-2로 훈련된 AWD-LSTM 언어모델은 "Game boy"에 "PlayStation"보다 높은 확률을 부여
- 이전의 모델들은, 전체 vocabulary에 대해서 직접적으로 표현하기 때문(그들이 (1)common words인지 (2)real world entities에 대한 references인지 (3)날짜나 숫자 같은 것에 대한 사실적인 정보인지에 관련 없이)
- 결론적으로 언어모델은
- factually correct sentence를 만들 수 없고,
- rare/unseen entities를 일반화하지 못하고,
- vocabulary에서 UNKONOWN tokens를 만드는 것이 아니라 rare tokens들을 방출하기도 한다
본 논문의 해결책: knowledge graph language model (KGLM)
- neural language model
- 외부 지식 그래프에서 정보를 선택, 복사하는 메커니즘
- 역동적으로 성장하는 local knowledge graphs를 소유함
- 이는, 지식 그래프의 집합으로서, 텍스트에서 이미 언급된 entities와 연관된 entities를 포함함
- entity tokens를 생성할 때, 모델은 local graph에서 없는 새로운 entity를 만들어서 (1) local 지식 그래프를 키우거나 (2) local 그래프에서 사실을 만들거나, 둘 중 하나를 해야 함
- 만드는 작업을 할 때, 모델은 표준 언어집합을 지식 그래프에서 사용할 수 있는 토큰들과 결합해서 -> 숫자, 날짜, 다른 잘 안나오는 토큰들을 support함
knowledge graph language model (KGLM)의 작동 방식
- 처음에 그래프는 비어있음
- 모델은 'Super Mario Land' entity를 사용해서 처음으로 세 토큰(여기서는 Nintendo, 21 April1989, platform game)을 만들어서 그것과 그것과 관련된 것들을 local knowledge 그래프에 추가함
- 표준 언어모델을 사용해서 다음 두 토큰("is", "a")를 생성한 후에,
- 모델은 'Super Mario Land'를 parent entity로서 선택하고, PUBLICATION DATE를 만들 relation으로 선택하고, date entity인 토큰을 copies로서 선택한다(이 경우에는 "1989")
WikiText-2
- knowledge graph-based 언어 모델에 대한 조사를 시행하고자, 우리는 distantly supervised Linked WIkiText-2 데이터셋을 수집
- 텍스트에 있는 토큰은 Wikidata에 있는 entites와 연결되어있어서, human-provided links와 off-the-shelf linking과 coreference models의 조합을 사용함
- Wikidata에서 해당 entities들 사이의 관계를 사용해서 왜 entity가 언급되었는가에 대해 그럴싸한 이유를 찾음
- 그것은 자신을 포함해서 이미 언급된 entitiy와 연관이 있을 수도 있고, 문서의 entity와 관련 없는 새로운 것에 관련이 있을 수도 있음.
실험 비교
perplexity
- Generation 성능 판단 지표
- Perplexity가 낮다 = 모델 학습이 잘 되었다
- KGLM을 Linked WIkiText-2에 훈련, 평가
- 최근의 성능 좋은 언어모델인, AWD-LSTM과 비교 결과
- KGLM의 perplexity가 전반적으로 낮았고,
- KGLM의 unknown-penalized perplexity가 상당히 낮았음
- unknown-penalized perplexity: 모델 간의 공정한 비교를 허락하는 metric으로서, 정확하게 rare tokens를 예측한 것을 unknown으로 함
- factual completion capabilites 비교 결과, KGLM이 더 정확했음
- factual completion capabilites: factual sentence(예. “Barack is married to ___ ”) 후의 다음 단어를 예측하는 것
- KGLM이 rare entites에 대해 accurate facts를 생성하는 것이 가능하며, knowledge graph를 수정하는 과정에서 controlled 될 수 있음을 보임
2 Knowledge Graph Language Model
해당 섹션에서는 factual text를 생성하기 위해 사용되는 external, structued knowledge source에서 텍스트conditioned되는 언어모델을 소개한다
2.1 Problem Setup and Notation
language model
- 지금까지 언어 모델은 관찰된 토큰의 시퀀스에 따라 시퀀스 내의 각 토큰에 대해서 확률 분포를 정의했다.
- 우리는 (1) 다음 토큰을 뜻하는 random variable을 xt로 (2) t 이전의 sequence of tokens를 x<t로 표현한다(즉, 언어 모델은 p(xt∣x<t)로 계산한다)
- Mikolov et al., 2010에서 RNN 언어모델은 이 분포를 recurrent structure를 사용해 파라미터화한다
- 본 연구에서는 LSTMs를 recurrent module로 쓴다
Knowledge graph(KG)
개체, 사건 또는 개념과 같은 실체에 대한 상호 연결된 설명 모음
- Knowledge graph(KG)는 directed, labeled한 graph.
- entities로 구성되어 있으며, ε를 node로 edges는 R의 set of relations에서 정의된다
- 즉, KG ={(p,r,e)∣p∈ε,r∈R,e∈ε}
- p는 parent entity with relation r to another entity e
- 실용적인 KGs는 공식을 다소 부정확하게 만드는 다른 측면도 가지고 있다
- 예를 들어, 어떤 relations는 숫자, 날짜 같은 literal−values로, 사실은 relations에서 properties로 표현될 수 있다
- entities는 aliases(별칭)를 entity를 참조할 수 있는 문자열의 집합으로 가진다
- 우리는 또한 local- knowledge- graph를 entities ε<t의 집합으로 정의한다
- KG<t = { (p,r,e)∣p∈ ε<t, r ∈ R, e ∈ ε}
- 즉, entities ε<t과 모든 facts를 포함한다
2.2 Generative KG Language Model
-
KGLM의 원시적인 목표는 neural 언어 모델이 knowledge graph에서 entities와 facts를 생성하게 하는 것이다
- 모델이 문맥에서 이미 등장한 사실에 대해서 생성하도록 하기 위해, KGLM은 문맥에서 나타난 entities를 포함하는 모든 사실이 담긴 local knowledge graph를 유지할 것이다
- 모델이 아직 언급되지 않은 entities를 참조할 것을 결정하기 때문에, 그것은 새로운 entity를 반영하기 위해서 추가적인 entities, facts와 함께 local knowledge graph를 키울 것이다
-
형식적으로 우리는 x<t가 observed tokens의 sequence일 때, p(xt, εt|x<t, ε<t)를 계산한다
- ε<t는 x<t에서 언급된 entities의 집합이다
- Kgt는 ε<t로 결정되는 local knowledge graph
- generative process는
-
모델이 이미 언급된 entity를 참조하게 하기위해 Reflexive relation 소개
- self-relates함.
- 즉, p=e (p, Reflexive, e)
전체 과정(figure 2) | 중간에서 토큰 생성하기(figure 1)
- Figure2 해석
- "published by" 뒤에 나오는 토큰을 생성하려 할 때
- three mention types(tt) 중, 모델은 기존 entity에 대한 refernece를 선택(존재하는 entity로서 사실을 만드는 것을 필요로 함)
- 모델은 the type of the mention (tt)를 related entity가 되도록 결정한다(진한색은 높은 확률을 나타낸다)
- local knowledgr graph에서 parent(pt), relation(rt), entity to render(et)를 찾는다.(fact(Pt)의 parent entity이기에 모델은 'Super Mario Land'를 뽑고, Publisher relation(rt)가 render(et)할 entitiy로서 'Nintendo'를 선택한다)
- 단어의 최종분포는 'Nintendo'를 token xt로 만들 때 expanded vocabulary가 있다
- expanded vocabulary는 standard vocabulary과 함께 et의 aliaes에 있는 모든 단어 유형을 포함한다
- 최종적으로 모델은 "Nintendo'를 token xt로서 선택하고 Nintendo와 관련된 사실들은 local graph에 추가될 것이다
Marginalizing out the KG
- 우리의 초기 task requirement인 p(xt∣x<t)와 우리가 묘사한 p(xt, εt|x<t, ε<t)를 계산하는 모델 사이에는 불일치가 있다
- 우리는 본질적으로 local knowldge graph 밖으로 marginlize 할 것 -> 토큰의 확률을 계산하고자
- 즉, p(x) = ∑ε p(x, ε)
- 우리는 이것을 training과 infernece/decoding algorithms와 함께 clarify한다
2.3 Parameterizing the Distributions
위의 generative process에서 쓰인 parametric distributions는 다음과 같이 정의된다.
1. hidden state ht를 다음 (1)에 기반해 계산한다
2. 벡터를 세 구성 요소로 나눈다
- ht = [ ht,x ; ht,p ;ht,r]
- 각각은 단어, 부모, 관계 예측에 쓰인다
- 토큰의 유형 tt는 ht,x를 넘어, single-layer softmax를 사용해 계산된다 -> {new,related, ∅}를 예측하기 위해서
Picking an Entity
- 우리는 또한 pretrained embedding을 knowledge graph에 있는 모든 entities와 relations를 위해 소개했다
- entity e를 위해 Ve, relation r을 위해 Vr이라 명시된다
- et를 tt=new인 경우의 모든 entities에서 뽑기 위해서
- p(et)=softmax(ve∗(ht,p+ht,r)) 을 사용(모든 e ∈ ε)
- 우리가 ht,p와 ht,r을 더한 이유는 entity와 relation embeddings를 얻기 위해 사용하는 TransE의 구조를 모방하기 위해서
- TransE에 대한 상세한 설명은 Section 4.
- related entity에 대한 언급,
- tt=related로 parent entity pt를 p(pt)=softmax(vp∗(ht,p)) 이용해 고르고 (모든 p ∈ εt)
- relation rt를 p(p(rt))=softmax(vr∗(ht,r)) 이용해 고른다 (모든 r ∈ {r|(pt,r,e)∈Kgt)
- pt와 rt의 조합은 entity et를 결정한다
- et는 (pt,r,e)∈Kgt 를 만족해야 한다(옵션이 여러개인 경우 임의로 하나를 선택한다)
Rendering the Entity
-
만약 et= ∅라면(즉, 만들 entity가 없다면), 우리는 ht,x를 사용하는 softmax인 (1) 식에 있는 같은 vocabulary 분포를 사용한다
-
만약 만들 entity가 있다면, 우리는 분포를 original vocabulary 그리고 et의 별칭에서 나타나는 모든 토큰을 포함하는 vocabulary로 분포를 만든다
- 이 분포는 xt 외에도 et에 조건화된다
- original vocabualry에 대해서 scores를 계산하기 위해서 ht,x는 ht,x′ = Wproj[ht,x′;vet]로 대체된다
- 이때, Wproj는 learned weight matrix이다(concatenated vector를 같은 벡터 공간에 ht,x로 투영하는)
-
alias vocabulary에서 단어의 확률을 얻고자 Gu et al.(2016)과 같은 메커니즘을 쓴다
- 각 alias {aj}로 구성된 토큰 시퀀스는 LSTM을 사용해서 embedded되고 encoded되고, 벡터 aj를 만든다
- copy scores는 다음으로 계산
3 Linked WikiText-2
배경
- factual knowledge를 얻어 언어 모델에 통합하는 데 있어 주요 장벽 중 하나는 훈련 데이터를 얻기 어렵다는 것이다.
- 표준 언어 모델 '코포라'는 텍스트로만 구성되어있어, 어떤 entities나 사실이 각 토큰을 참조하고 있는지 묘사하는 것이 불가능하다
- 반대로, relation extraction datasets가 text를 knowledge graph에 link하는 동안에 텍스트는 강력한 언어 모델을 훈련하기에 충분한 문맥을 제공하지 않는 분리된 문장으로 구성된다
- 우리의 목표는 훨씬 더 data-to-text 작업에 가까이 있다
- small table-sized KB가 short piece of text를 생성하기 위해 제공된다
- 우리는 knowledge graph에서 사실을 역동적으로 통합하기로 결정하는 모델에 관심이 있다
해결책: Linked WikiText-2 dataset
- Linked WikiText-2 dataset은 WikiText-2 language modeling corpus에서 등장하는 같은 articles로 거의 이루어져있지만, Wiki-data knowledge graph에 연결된다
- text closely matches 때문에 Linked WikiText-2에서 훈련되는 모델은 WikiText-2에서 훈련된 모델과 비교될 수 있다
- 더 나아가 Wikidata에 있는 많은 사실들이 Wikipedia articles에서 왔기 때문에 knowlege graph는 텍스트에 표현된 좋은 사실의 coverage를 가진다
- 우리의 시스템은 한 문서를 한 번에 annotate하고, entity linking, relation annotations 그리고 post-processing으로 이루어져있다(지금부터 상세히 설명한다)
Initial entity annotations
- initial set of entity mentions를 text에 표시하면서 시작한다
- 해당 mentions의 주요한 요소는 Wikipedia articles 사이의 human-provided links다
- span of text가 다른 Wikipedia article에 link되었을 때 우리는 그것의 연관있는 Wikidata entity를 span과 연관짓는다
- article links가 많은 수의 gold entity annotations를 제공하는 동안, 그들은 article에 있는 모든 언급을 포착하기에는 불충분하다
- entities는 그들이 처음 발생한 때에만 연결되기 때문이다
- 그런 이유로 우리는 neural-el entity linker를 사용해 Wikidata에 대한 추가적인 links를 찾고 linker가 놓친 pronouns, nominals 그리고 다른 토큰들을 커버하고자 Standford CoreNLP를 사용해 coreferences를 찾는다
Local knowledge graph
- 다음 단계는 entities를 위해 knowledge graph에 있는 relations와 new entities의 identifies를 사용해 반복적으로 generative story를 만드는 것이다
- 이를 하기 위해서 우리는 토큰으로 텍스트 토큰을 생성한다
- entity에 직면할 때마다, 우리는 Wikidata에 있는 모든 관련된 entitiy를 matching을 위한 후보로 더한다
- 만약 이 관련된 entities가 문서에서 나중에 보인다면, 우리는 그 entity를 나중의 entity를 위한 부모로 인지한다
- 각 토큰에 대해서 explanations에 대한 multiple relations가 나타날 수 있기에 우리는 토큰이 multiple facts를 가질 것을 허용한다
Expanding the annotations
- initial set에서 놓친 entites가 있을 수도 있고, (1) 날짜나 (2) 양 같은 non-entity tokens가 있을 수도 있기에 우리는 string matching을 사용해서 entity annoataions를 확장한다
- entities에 대해 우리는 Wikidata에서 제공된 aliases 집합을 매칭한다
- 날짜에 대해 우리는 날짜를 표현하면서 가능한 모든 리스트를 창조했다
- 예. "December 7, 1941","7-12-1941", "1941", ...
- 양에 대해서 비슷한 방법을 사용했다, 파이썬의 pint library를 사용해 units를 표현하는 다양한 방법을 다루었다
- 예. "g", "gram", ...
- numerical quantity를 표현할 수 있는 많은 방법들이 있기에, 우리는 quantity를 Wikidata에서 제공된 정확한 수준에서만 만들었고, unit conversions에서는 수행하지 않았다
Example Annotation
∅ (=entity가 없다), SML(Super Mario Land), NIN(Nintendo)
- Table 1 해석
- Figure1의 문장의 어노테이션 예시, Figure2의 상응하는 변수들을 포함
- 여기서 대부분의 토큰에 대해 언급된 entity는 string matching process에 의해 04-21-1989와 연결되는 "1989"를 제외하고 human-provided links이다.
- annotation은 지금까지 연결된 엔티티가 도달할 수 있는지 여부에 따라, 어떤 entity가 new이고 related인지 나타낸다
- Wikidata의 링크가 누락되어 side-scrolling game과 platform video game에서 명백한 실수가 있다
- 마침내 많은 명백한 이유로 Game Boy가 포함된다
- Game Boy는 Super Mario Land의 platform으로서 multiple parent와 relation annotations가 있으며 Ninetendo에 의해서 제작됨
- 비록 여기서는 이전의 것이 더 관계가 있지만
- 이런 방출과 오류에도 불구하고, annotations가 풍부하고 상세하다는 것은 high coverage로 명백하기에 knowledge graph language models를 훈련할 때의 이점을 입증해야 한다
Dataset Statistics
Linked WikiText-2의 통계는 Table2
- 해당 코퍼스에서 10%가 넘는 토큰이 entity 토큰으로 고려된다
- 즉, 그들은 knowledge graph의 정보에 대한 factual references로 생성된다
- 각 entity는 적은 횟수(long tail과 함께 평균적으로 5보다 작게)로 1000개가 넘는 다양한 관계와 함께 명시된다
- 그러므로, regular language model이 factual text를 생성하지 못할 것은 명백하고, 언어모델이 external sources of information을 참조하게 되는 것이 필요하다
Differences from WikiText-2
- 비록 우리의 데이터셋은 WikiText-2를 복제한 것과 거의 유사하게 디자인되었지만, direct comparsion을 막는 몇가지 차별점이 있다
- 기사의 text에 대해서 minor variation이 있다
- Merity et al. (2017)에 상응해서 WikiText-2는 Wikipedia Text API를 querying해서 얻어졌다
- 이 API가 유용한 어노테이션 정보(예. article links)를 막기 때문에, Linked WikiText-2는 그 대신 기사 HTML에서 직접적으로 창조되었다
4 Training and Inference for KGLM
해당 부분에서 KGLM에 대한 training과 inference에 대해 쓴다
Pretrained KG Embeddings
- evaluation 동안에 우리는 훈련 때 보이지 않았던 entities와 relations에 대한 예측을 해야할 수도 있다
- 그에 따라 우리는 fixed entity와 relations를 Wikidata에서 TransE를 사용해 사전훈련된 embeddings를 사용한다
- (p,r,e)가 주어졌을 때 우리는 거리를 최소화하기 위해서 vp, vr, ve를 학습한다
- 우리는 임베딩을 학습하기 위해서 max-margin loss를 사용한다
- Υ은 margin이고, p′ 또는 e′은 entity embedding에서 랜덤으로 뽑아진다
Training with Linked WikiText-2
- 비록 KGLM에서의 훈련이 많은 과정을 포함하지만, Linked WikiText-2에서의 훈련 모델은 straight forward다.
- 우리의 loss objective는 훈련 데이터의 negative log likelihood이다
- 여기서 Θ는 모델 파라미터의 집합이다
- 만일, Fig1의 Game boy처럼 어노테이션이 많은 실행가능한 parent를 가지고 있다면, 우리는 전체 parents에서 불필요한 것들을 뺴낸다(marginalize)
- 훈련은 off-the-shelf gradient기반의 옵티마이저로 수행될 수 있다
Inference
- 어노테이션을 관측하는 것이 모델이 쉽게 훈련되도록 하는 반면, 우리는 모델이 평가 동안에 어노테이션에 접근할 수 있음을 가정하지 않는다
- 더 나아가, Section2,2에서 논의한 바와 같이 언어 모델의 목적은 marginal probability p(X) = ∑ε p(X, ε)를 측정하는 것이다(joint probability가 아니라)
- 하지만 이 합은 가능한 어노테이션의 큰 조합 공간 때문에 계산을 다루기 어렵다
- 우리는 이 문제를 importance sampling을 사용해 marginal distribution을 근사치해서 해결한다
- proposal distribution q(ε∣x)로부터 sample이 주어졌을 때, marginal distribution은
- Ji et al.(2017)을 따라 우리는 q(ε∣x)를 우리 모델의discriminative version을 사용해 계산했다
- 우리 모델은 current token을 위해 annotations를 예측한다
5 Experiments
제안한 언어 모델을 평가하고자, 우리는 먼저 베이스라인을 소개하고, 그 후에 evaluation을 여러 방법으로 소개한다
5.1 Evaluation Setup
Baseline Models
우리는 KGLM을 다음의 모델들과 비교했다
- AWD-LSTM (Merity et al., 2018)
- LSTM-based model로서 WikiText-2에서 most state-of-the-art models다
- ENTITYNLM (Ji et al., 2017)
- LSTM-based model로서 entity mentions를 추적할 능력을 가진다
- entities를 위한 임베딩은 역동적으로 창조되고, 정보의 외부 자원에서 형성되지 않는다
- EntityCopyNet
- 모든 mentions에 대해서 tt=new인 KGLM의 변종
- 즉 entites는 ϵ에서 선택되고, entity aliases는 복사된다
- 하지만 knowledge graph에 있는 realtions는 쓰이지 않는다
Hyperparameters
- pre-train 256 dimensional entity and relation embeddings for all entities within two hops of the set of entities
- occur in Linked WikiText-2 using TransE with margin γ = 1
- Weights are tied between all date embeddings and between all quantity embeddings to save memory
- 400 dimensional word embeddings and a 3 layer LSTM with hidden dimension 1150 to encode tokens
- employ the same regularization strategy (DropConnect (Wan et al., 2013) + Dropout(Srivastava et al.,2014)) and weight tying approach.
- we perform optimization using Adam (Kingma and Ba, 2015) with learning rate 1e-3 instead of NT-ASGD, having found that it is more stable.
5.2 Results
Perplexity
- 하지만 perplexity는 그들이 single UNK token에 매핑되었을 때 out-of-vocabulary tokens의 확률을 과대추정한다는 이슈가 있다
- 이는 KGLM을 전통 언어 모델에 성능 비교할 때 문제이다
- -> alias token이 out-of -vocabulary인 많은 rare entities가 있기 떄문이다
- 이는, KGLM이 correct entity를 알아차리고, correct alias token을 높은 확률로 copy해도 다른 모델은 UNK에 더 높은 확률을 부여해 더 좋은 perplexity를 얻을 수 있다는 뜻이다
- 그에 따라서 우리는 unknown penalized perplexity (UPP) (a.k.a adjusted perplexity)도 계산하고 사용한다
- 해당 metric은 UNK 토큰의 확률을 penalize한다(그들의 확률 질량을 υ를 통해 홀수로 나누어서)
- 우리는 UPP를 위 식의 p(UNK)를 υ1p(UNK)로 바꾸어 계산할 수 있다(이때 |υ|는 데이터에서 추정된다)
- KGLM이 다른 모델보다 lower perplexity(44.1)
- 정확한 언어 모델링을 위해서 levearging knowldge graphs는 중요하다!
- KGLM은 UPP에서도 다른 모델들을 능가
- rare token 생성의 능력에서도 능력을 입증
Fact Completion
- factual text generation이 우리의 주요 작업이기에, 우리는 언어 모델의 능력을 factual information을 사용해서 문장을 완성한다
- 우리는 추가적으로 small GPT-2와 비교했다
- small GPT-2: 텍스트의 훨씬 많은 코퍼스에서 훈련
- Freebase에서 6개의 유명한 relations를 선택했고, 각각에 대해서 간단한 completion template를 씀(예를 들어 birthplace relation을 위해서 “X was born in ___ ”)
- 우리는 이 템플릿을 위해 관계가 맞는 것에 대해서 (X,Y) pair를 만들고 문장을 생성하여 -> 어떤 것이 맞는지 결정하고자 각 언어 모델에서 생성된 첫번째 토큰을 조사했다
relation에 있는 각 언어 모델의 performance
- Table 4 해석
- oracle KGLM이 X에 대해서 정확한 entity annotation
- NEL KGLM은 discriminative model 사용
- used for importance sampling combined with the NEL entity linker to produce an entity annotation for X.
KGLM의 장점
- 같은 데이터에서 훈련된 모델 중에, KGLM variants가 AWDLSTM을 둘다 능가한다
- KGLM은 accurate facts를 만들고
- AWD-LSTM은 일반적이고 흔한 단어를 만드나
- KGLM은 또한 orders of magnitude more data에서 훈련된 모델에서도 경쟁력 있다
- birthplaces, dates, authors같은 특정한 지식을 필요로 하는 factual completion을 생성한다
- 하지만 그들은 large corpora에서 자주 나타나는 facts나 relations를 포착하지 않는다(states안에 있는 cities같은)
- automatic linking를 가진 KGLM이 oracle linking와 비슷한 성능을 발휘하는 것을 보는 것은 고무적이다.
양적 차이 비교 시각화를 위한 Table5
- KGLM, trained on 600 documents,
- GPT-2, trained on the WebText corpus with over 8 million document
- 두 모델 모두 사실적으로 정확하거나 부정확한 예를 들어, KGLM에 의해 생성된 토큰은 더 인기 있는/일반적인 토큰을 선택하는 것과 반대로 훨씬 더 구체적이다(GPT-2는 종종 인기 있는 entity에서도 "New York"을 birthplace로 예측한다).
- KGLM은 특히 head, tail entites가 rare할 때, 정확한 사실 진술을 얻는다
- GPT-2는 더 유명한 entities에 대해서 더 일반적인 토큰을 써서(예. “January” instead of “20”) 완전한 사실을 완성할 수 있다
Effect of changing the KG
- 대부분의 언어모델은 generation을 통제하는 것이 어렵다, factual 지식이 모델의 일반화 수용력과 얽매이기 때문이다
- KGLM의 경우, 그것을 지식의 external source of knowldge로 써서 얻는 추가적인 이점은, KGLM이 KG에 modification으로 직접적으로 통제가능하다는 것이다
- 이 수용력을 간단한 예시로 묘사하고자, 우리는 original fact (Barack Obama, birthDate, 1961-08-04)가 주어졌을 때 “Barack Obama was born on ___ ”을 완성하게 했고
- 결과로, top 3 decoded tokens는 “August”, “4”, “1961”가 되었다
- birth date를 2013-03-21로 바꾸자 top 3 decoded tokens는 “March”, “21”, “2013”가 되었다
- 그러므로, knowledge graph에서 사실을 바꾸는 것은 모델의 상응하는 예측에 변화를 가져온다
Knowledge-based language models
우리 연구는 두 개의 지식 기반 언어 모델에서 영감을 얻었다
(i) ENTITYNLM (Ji et al., 2017)
- entities를 tracking하는 언어 모델의 능력을 named entity recognition과 corefenrence(동일 지시어)를 jointly modeling해서 높임
- 우리 모델은 유사하게, entities를 document를 통해 track하고, factual information을 생성할 능력을 entity linking과 relation extraction을 모델링해서 향상시킴
(ii) The neural knowledge language model (NKLM) (Ahn et al., 2016)
- LSTM 기반 모델
- 다음 스텝의 LSTM cell에 현재 스텝까지의 문맥적 의미와 지식을 함께 넘겨줌
- 이전스텝가지의 문맥적 의미와 지식을 이용해 현재 관련있는 지식을 찾아 사용
- neural 언어모델에서 knowledge graphs를 가져와서 사용하는 아이디어가 생긴 모델
- 우리의 KGLM과의 차이점은
- KGLM은 전체 knowledge graph에서 작동하고 additional conditioning information 없이 텍스트에서 평가될 수 있다
- 반면, NKLM은 상대적으로 작은 single entity에서 발산되는 predefined edges의 집합에서 작동하고, 해당 entity가 빨리(ahead of time) conditioning information으로서 제공될 것을 요한다
- 이러한 요구는 NKLM과 baselines의 직접적인 비교를 불가능하게 한다(section 5)
Data-to-text generation
우리의 작업은 neural data-to-text generation 작업과도 연관이 있다
- 이전 연구로 Reiter and Dale (1997)는, non-neural text generation 방법
- 최근 연구는 tables of sports statistics에서(Wiseman
et al., 2017), lists and tables (Yang et al., 2017),그리고
Wikipedia info-boxes (Lebret et al., 2016)에서의 텍스트 생성 방법
- 이 연구들과 우리 연구의 주요한 차이점은 "our motivation"이다
- 해당 연구들은 narrow domain(e.g. sports, recipes, introductory sentences)에서 일관성 있는 텍스트 생성에 초점을 두고, BLEU나 METEOR score 같은 metrics로 optimize한다
- 우리의 초점은 그 대신, large source of structued knowledge를 사용해서 언어모델의 능력을 rare tokens와 facts를 broad domain of topics에서 다루고 향상하는 것으로, 우리의 강조는 perplexity 향상에 있다
General language modeling
- 또 관련있는 연구 (Gong et al., 2018; Yang et al., 2018; Krause et al., 2018)는 AWD-LSTM에 대한 modifications를 제안하는 것으로, Wikitext-2에서 성능을 향상하는 것이다
- 우리는 AWD-LSTM의 해당 기여가 직교하고 많은 기술들이 KGLM과 비교 가능하기 때문에 benchmark로 선정했다
- KGLM은 AWD-LSTM보다 개선되었으며, 우리는 이러한 방법들과 KGLM을 함께 사용하는 것이 더 좋은 향상을 이끌 것이라고 생각한다
7 Conclusions and Future Work
이전 연구의 한계
- memorization에 의존해서 이전의 언어 모델들은 real-wold entities에 대한 사실에 정확한 텍스트를 생성하는 것이 불가능했다
- 특히 그들은 rare entieis의 long tail와 숫자, 날짜 같은 단어 유형을 포착하는 것이 불가능했다
본 연구에서는
- knowledge graph language model(KGLM)을 제시
- neural language model로서 텍스트 생성을 위해 external source of facts, encoded as a knowledge graph에 접근 가능
- Linked WikiText-2 소개
- knowledge graph에서 사실로 배열된 텍스트를 포함해서 모델의 훈련을 유용하게 함
- evaluation으로서, graph를 이용해서 우리가 제시한 KGLM이 higher-quality, factually correct한 텍스트를 생성하는 것이 가능함을 보임
- 이 때, rare entities나 숫자, 날짜 같은 특정한 토큰에 대해서도
Future work
- 본 연구는 knowledge-aware language modeling에 후속 연구를 남긴다
- KGLM의 한계로서, annotated tokens에서 inference와 reliance 동안에 marginaliation의 필요성은, NLP model의 더 발전이 필요함을 남긴다
KGLM 구현 코드