[논문 리뷰] Barack’s Wife Hillary: Using Knowledge Graphs for Fact-Aware Language Modeling

fla1512·2022년 11월 11일
0

NLP Study

목록 보기
11/23

Knowledge Base

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=th+r=t가 되도록 유도
  • 거짓 (h,r,t)(h, r, t) -> h+rth+r \neq 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가 배열된 어노테이션된 코퍼스

실험

  • KGLM이 다른 모델보다 좋은 성능

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을 xtx_{t}로 (2) t 이전의 sequence of tokens를 x<tx_{<t}로 표현한다(즉, 언어 모델은 p(xtx<t)p(x_{t}|x_{<t})로 계산한다)
  • Mikolov et al., 2010에서 RNN 언어모델은 이 분포를 recurrent structure를 사용해 파라미터화한다
  • 본 연구에서는 LSTMs를 recurrent module로 쓴다

Knowledge graph(KG)

개체, 사건 또는 개념과 같은 실체에 대한 상호 연결된 설명 모음

  • Knowledge graph(KG)는 directed, labeled한 graph.
    • entities로 구성되어 있으며, ε\varepsilon를 node로 edges는 RR의 set of relations에서 정의된다
      • 즉, KGKG ={(p,r,e)pε,rR,eε(p, r, e) | p ∈ \varepsilon, r ∈ R, e ∈ \varepsilon}
      • pp는 parent entity with relation rr to another entity ee
    • 실용적인 KGs는 공식을 다소 부정확하게 만드는 다른 측면도 가지고 있다
      • 예를 들어, 어떤 relations는 숫자, 날짜 같은 literalvaluesliteral-values로, 사실은 relations에서 propertiesproperties로 표현될 수 있다
      • entities는 aliasesaliases(별칭)를 entity를 참조할 수 있는 문자열의 집합으로 가진다
  • 우리는 또한 local- knowledge- graph를 entities ε<t\varepsilon_{<t}의 집합으로 정의한다
    • KG<tKG_{<t} = { (p,r,e)p(p, r, e) | p ∈ ε<t\varepsilon_{<t}, r ∈ R, e ∈ ε\varepsilon}
    • 즉, entities ε<t\varepsilon_{<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<tx_{<t}가 observed tokens의 sequence일 때, p(xt,p(x_{t} , εt\varepsilon_{t}|x<tx_{<t}, ε<t\varepsilon_{<t})를 계산한다

    • ε<t\varepsilon_{<t}x<tx_{<t}에서 언급된 entities의 집합이다
    • KgtKg_{t}ε<t\varepsilon_{<t}로 결정되는 local knowledge graph
    • generative process는
  • 모델이 이미 언급된 entity를 참조하게 하기위해 ReflexiveReflexive relation 소개

    • self-relates함.
    • 즉, p=ep=e (p, Reflexive, e)

전체 과정(figure 2) | 중간에서 토큰 생성하기(figure 1)

  • Figure2 해석
    • "published by" 뒤에 나오는 토큰을 생성하려 할 때
    • three mention types(ttt_{t}) 중, 모델은 기존 entity에 대한 refernece를 선택(존재하는 entity로서 사실을 만드는 것을 필요로 함)
      • 모델은 the type of the mention (ttt_{t})를 related entity가 되도록 결정한다(진한색은 높은 확률을 나타낸다)
      • local knowledgr graph에서 parent(ptp_{t}), relation(rtr_{t}), entity to render(ete_{t})를 찾는다.(fact(PtP_{t})의 parent entity이기에 모델은 'Super Mario Land'를 뽑고, Publisher relation(rtr_{t})가 render(ete_{t})할 entitiy로서 'Nintendo'를 선택한다)
    • 단어의 최종분포는 'Nintendo'를 token xtx_{t}로 만들 때 expanded vocabulary가 있다
      • expanded vocabulary는 standard vocabulary과 함께 ete_{t}의 aliaes에 있는 모든 단어 유형을 포함한다
    • 최종적으로 모델은 "Nintendo'를 token xtx_{t}로서 선택하고 Nintendo와 관련된 사실들은 local graph에 추가될 것이다

Marginalizing out the KG

  • 우리의 초기 task requirement인 p(xtx<t)p(x_{t}|x_{<t})와 우리가 묘사한 p(xt,p(x_{t} , εt\varepsilon_{t}|x<tx_{<t}, ε<t\varepsilon_{<t})를 계산하는 모델 사이에는 불일치가 있다
  • 우리는 본질적으로 local knowldge graph 밖으로 marginlize 할 것 -> 토큰의 확률을 계산하고자
    • 즉, p(x)p(x) = ε\sum_{\varepsilon} p(x,p(x, ε\varepsilon)
  • 우리는 이것을 training과 infernece/decoding algorithms와 함께 clarify한다
    • 세부사항은 Section4에 있다

2.3 Parameterizing the Distributions

위의 generative process에서 쓰인 parametric distributions는 다음과 같이 정의된다.
1. hidden state hth_{t}를 다음 (1)에 기반해 계산한다

2. 벡터를 세 구성 요소로 나눈다

  • hth_{t} = [ ht,xh_{t,x} ; ht,ph_{t,p} ;ht,rh_{t,r}]
  • 각각은 단어, 부모, 관계 예측에 쓰인다
  1. 토큰의 유형 ttt_{t}ht,xh_{t,x}를 넘어, single-layer softmax를 사용해 계산된다 -> {new,related, }를 예측하기 위해서

Picking an Entity

  • 우리는 또한 pretrained embedding을 knowledge graph에 있는 모든 entities와 relations를 위해 소개했다
  • entity e를 위해 VeV_{e}, relation r을 위해 VrV_{r}이라 명시된다
  • ete_{t}ttt_{t}=new인 경우의 모든 entities에서 뽑기 위해서
    • p(et)=softmax(ve(ht,p+ht,r))p(e_{t})=softmax(v_{e}*(h_{t,p}+h_{t,r})) 을 사용(모든 e ∈ ε\varepsilon)
      • 우리가 ht,ph_{t,p}ht,rh_{t,r}을 더한 이유는 entity와 relation embeddings를 얻기 위해 사용하는 TransE의 구조를 모방하기 위해서
        • TransE에 대한 상세한 설명은 Section 4.
  • related entity에 대한 언급,
    • ttt_{t}=related로 parent entity ptp_{t}p(pt)=softmax(vp(ht,p))p(p_{t})=softmax(v_{p}*(h_{t,p})) 이용해 고르고 (모든 p ∈ εt\varepsilon_{t})
    • relation rtr_{t}p(p(rt))=softmax(vr(ht,r))p(p(r_{t}))=softmax(v_{r}*(h_{t,r})) 이용해 고른다 (모든 rr ∈ {rr|(ptp_{t},rr,ee)KgtKg_{t})
    • ptp_{t}rtr_{t}의 조합은 entity ete_{t}를 결정한다
      • ete_{t}는 (ptp_{t},rr,ee)KgtKg_{t} 를 만족해야 한다(옵션이 여러개인 경우 임의로 하나를 선택한다)

Rendering the Entity

  • 만약 ete_{t}= ∅라면(즉, 만들 entity가 없다면), 우리는 ht,xh_{t,x}를 사용하는 softmax인 (1) 식에 있는 같은 vocabulary 분포를 사용한다

  • 만약 만들 entity가 있다면, 우리는 분포를 original vocabulary 그리고 ete_{t}의 별칭에서 나타나는 모든 토큰을 포함하는 vocabulary로 분포를 만든다

    • 이 분포는 xtx_{t} 외에도 ete_{t}에 조건화된다
    • original vocabualry에 대해서 scores를 계산하기 위해서 ht,xh_{t,x}ht,x{h}'_{t,x} = WprojW_{proj}[ht,x{h}'_{t,x};vetv_{et}]로 대체된다
      • 이때, WprojW_{proj}는 learned weight matrix이다(concatenated vector를 같은 벡터 공간에 ht,xh_{t,x}로 투영하는)
  • alias vocabulary에서 단어의 확률을 얻고자 Gu et al.(2016)과 같은 메커니즘을 쓴다

    • 각 alias {aja_{j}}로 구성된 토큰 시퀀스는 LSTM을 사용해서 embedded되고 encoded되고, 벡터 aja_{j}를 만든다
    • 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 집합을 매칭한다
  1. 날짜에 대해 우리는 날짜를 표현하면서 가능한 모든 리스트를 창조했다
  • 예. "December 7, 1941","7-12-1941", "1941", ...
  1. 양에 대해서 비슷한 방법을 사용했다, 파이썬의 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을 막는 몇가지 차별점이 있다
  1. 기사의 text에 대해서 minor variation이 있다
  • 다운로드 날짜 사이의 수정 때문에
  1. 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)(p,r,e)가 주어졌을 때 우리는 거리를 최소화하기 위해서 vpv_{p}, vrv_{r}, vev_{e}를 학습한다
  • 우리는 임베딩을 학습하기 위해서 max-margin loss를 사용한다
    • Υ\Upsilon은 margin이고, pp' 또는 ee'은 entity embedding에서 랜덤으로 뽑아진다

Training with Linked WikiText-2

  • 비록 KGLM에서의 훈련이 많은 과정을 포함하지만, Linked WikiText-2에서의 훈련 모델은 straight forward다.
  • 우리의 loss objective는 훈련 데이터의 negative log likelihood이다
    • 여기서 Θ\Theta는 모델 파라미터의 집합이다
    • 만일, Fig1의 Game boy처럼 어노테이션이 많은 실행가능한 parent를 가지고 있다면, 우리는 전체 parents에서 불필요한 것들을 뺴낸다(marginalize)
      • 훈련은 off-the-shelf gradient기반의 옵티마이저로 수행될 수 있다

Inference

  • 어노테이션을 관측하는 것이 모델이 쉽게 훈련되도록 하는 반면, 우리는 모델이 평가 동안에 어노테이션에 접근할 수 있음을 가정하지 않는다
  • 더 나아가, Section2,2에서 논의한 바와 같이 언어 모델의 목적은 marginal probability p(X)p(X) = ε\sum_{\varepsilon} p(X,p(X, ε\varepsilon)를 측정하는 것이다(joint probability가 아니라)
  • 하지만 이 합은 가능한 어노테이션의 큰 조합 공간 때문에 계산을 다루기 어렵다
  • 우리는 이 문제를 importance sampling을 사용해 marginal distribution을 근사치해서 해결한다
    • proposal distribution q(εx)q(\varepsilon|x)로부터 sample이 주어졌을 때, marginal distribution은
    • Ji et al.(2017)을 따라 우리는 q(εx)q(\varepsilon|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에 대해서 ttt_{t}=new인 KGLM의 변종
    • 즉 entites는 ϵ\epsilon에서 선택되고, 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한다(그들의 확률 질량을 υ\upsilon를 통해 홀수로 나누어서)
        • 우리는 UPP를 위 식의 p(UNK)p(UNK)1υp(UNK)\frac{1}{\upsilon }p(UNK)로 바꾸어 계산할 수 있다(이때 |υ\upsilon|는 데이터에서 추정된다)

  • 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에서 사실을 바꾸는 것은 모델의 상응하는 예측에 변화를 가져온다

6 Related Work

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 구현 코드

0개의 댓글