• 검색 결과가 없습니다.

Entity embedding based on RELIC for Entity linking of Korean

N/A
N/A
Protected

Academic year: 2021

Share "Entity embedding based on RELIC for Entity linking of Korean"

Copied!
4
0
0

로드 중.... (전체 텍스트 보기)

전체 글

(1)

제32회 한글 및 한국어 정보처리 학술대회 논문집 (2020년)

RELIC기반 엔터티 임베딩을 이용한 한국어 엔터티 링킹

최형준

◦1

나승훈

1

김현호

2

김선훈

2

강인호

2

1

전북대학교

2

네이버

modera2017@gmail.com nash@jbnu.ac.kr {kim.hh, seonhoon, once.ihkang}@navercorp.com

Entity embedding based on RELIC for Entity linking of Korean

Heyon-Jun Choi

◦1

Seung-Hoon Na

1

Hyun-Ho Kim

2

Seon-Hoon Kim

2

Inho Kang

2

1

Jeonbuk National,

2

Naver

요 약

엔터티 링킹은 주어진 문서 상에서 엔터티가 내포된 부분에 어떤 엔터티가 연결되어야 하는 지를 판단하는 작업이다.

따라서, 이 과정에서 엔터티의 표상을 얻어내는 것이 엔터티 링킹의 성능에 큰 영향을 끼치게 된다. 이 논문에서는 RELIC을 통해 엔터티 임베딩을 얻어내고, 이를 엔터티 링킹에 적용시킨 결과 0.57%p의 성능 향상을 이루었다.

주제어: RoBERTa, 엔터티 링킹, 엔터티 임베딩

1. 서론

엔터티 링킹(Entity Linking)이란 주어진 문서 상에서 엔터 티가 내포된 부분에 어떤 엔터티가 연결되어야 하는지를 찾 아내는 작업을 의미한다. 따라서 엔터티 링킹시에는 엔터티의 표상을 잘 추출하는 것이 중요하다. 이전연구 [1, 2]에서는 엔터 티 표상을 각 엔터티의 한국어 위키백과 문서를 RoBERTa [3]

을 통해 인코딩 하여 사용하였다. 하지만 단순히 RoBERTa의 출력값을 고정하여 사용하는 것 만으로는 엔터티에 대한 표상 이 최적화 되었다고 보긴 어렵다. 본 논문에서는 엔터티 표상을 좀 더 최적화 하여 적용하기 위해 Representations of Entities Learned in Context (RELIC) [4]를 사용하여 엔터티 임베딩을 최적화 하고, 최적화 된 엔터티 임베딩을 사용함으로써 기존보 다 엔터티 링킹 성능을 향상시킬 수 있음을 보일 것이다.

2. 관련연구

엔터티 링킹을 위해서는 입력 문장에서 엔터티의 위치를 파 악하는 개체명 인식이 우선되어야 한다. [2]에서는 멘션 사전을 만들고 이를 통해 멘션을 추출 한 후, Nil 엔터티를 통해 엔터티 링킹을 하는 식으로 개체명 인식 없이 엔터티 링킹을 수행한다.

이를 통해 엔터티 링킹 과정에서 개체명 인식의 목적인 입력 문장으로부터 엔터티의 멘션이 되는 부분을 추출하는 개체명 인식 작업을 동시에 하게 된다. 본 논문에서는 [2]를 기반으로 엔터티 링킹을 실험했다.

엔터티 임베딩을 구현하는 방법에는 RELIC외에도 여러가지 방법이 존재한다. EaE [5]는 엔터티 메모리를 통해 엔터티의 정 보를 저장하고, 이를 엔터티 링킹, 멘션 디텍팅, 마스크 LM을 통해 비지도 학습을 시행함으로써 엔터티 메모리를 최적화 한

다. Wikipedia2Vec

1

는 Skip-gram 을 통해 위키백과의 문서를 임베딩 하는 방법을 제시했다.

이번 연구에서는 엔터티 임베딩에 중점을 두었지만, 엔터티 에 대한 표상을 얻는 것 못지않게 문장을 인코딩 하는 것도 중요하다. WKLM [6]은 위키백과와 위키데이터를 사용하여 엔 터티의 멘션을 같은 유형의 다른 엔터티로 변환한 후, 변환이 되었는지 여부를 맞추게 하는 방식으로 BERT [7]을 추가학습 시켜 엔터티 링킹 같은 엔터티의 정보를 다루는 작업에 대한 성능을 향상시켰다.

3. RELIC

RELIC은 엔터티 임베딩을 최적화 하기 위해 입력 문장과, 그 문장 내의 엔터티의 표상 사이의 유사도가 최대가 되도록 사전학습을 진행한다.

3.1 데이터 양식

RELIC 사전학습을 위한 데이터셋은 문장s과 엔터티 e의 쌍 으로 구성된다. 이때 엔터티는 문장 내에서 등장한 엔터티 중 하나이고, 문장 내에 포함된 각각의 엔터티는 개별적으로 학 습을 한다. 문장은 다시 각각의 토큰들과 문장의 시작과 끝을 나타내는 <s>와 </s>의 특수 토큰으로 구성된다. 이 토큰들은 엔터티의 멘션의 시작과 끝부분에 각각 <s> 토큰과 </s>토큰을 두어 멘션의 위치를 나타내는데 사용한다. 선행 학습 시 엔터 티의 멘션에 해당하는 부분은 일정 확률로 [MASK] 토큰으로 멘션 전체에 있는 모든 토큰을 변경한다. 마스킹 하는 확률은 10%를 사용했다. 각 입력문장은 한국어 형태소분석기를 통해 형태소 분석을 시행 한 이후, BPE[8]를 통해 한번 더 토크나이 징 하여 사용했다. 따라서, 하나의 학습 데이터는 다음과 같이

1https://github.com/wikipedia2vec/wikipedia2vec

- 128 -

1

(2)

제32회 한글 및 한국어 정보처리 학술대회 논문집 (2020년)

그림 1. RELIC의 학습 과정 예시

구성된다.

x

i

= [<s>, x

1

, ..., <s>, x

start

, ..., x

end

, </s>, x

l

, </s>]

D

i

= (x

i

, e

i

)

x

i

∈ V 는 각 문장의 토크나이징된 i번째 토큰이고, V 는 모든 토큰의 집합, D

i

는 문장 x

i

와 엔터티 e

i

로 구성된하나의 데이 터이다. 문장의 중간에 2개의 특수 토큰이 추가되는데, x

start

는 멘션의 시작, x

end

는 멘션의 끝을 나타내는 특수 토큰이다.

3.2 모델 구조

RELIC 학습을 위한 모델은 입력 문장을 인코딩 하기 위한 Transformer[9]와 엔터티 임베딩으로 구성된다. 엔터티 임베 딩은 각각의 엔터티 e ∈ E를 R

d

의 벡터로 매핑하는 |E| × d 차원의 임베딩 행렬이다. E는 전체 엔터티 집합이고, d는 엔터 티 임베딩의 차원을 나타낸다. 입력문장은 Transformer를 통해 인코딩 되고, 문장의 가장 첫 번째 토큰인 <s>의 출력을 사용한 다. Transformer의 출력과 엔터티 임베딩의 차원이 다르므로, 이 출력을 R

d

로 변환하는 선형 변환을 통해 출력의 크기를 맞 춰준다.

Transformer 출력을 g(x), 엔터티 임베딩을 f (e)라고 했을 때, 입력 문장 x와 엔터티 e에 대한 점수는 다음과 같다.

s(x, e) = α · g(x)

T

f (e)

|g(x)||f (e)|

이때 α는 학습 가능한 스케일 팩터이다. 이를 다시 문장x와 엔터티 e에 대한 사후 확률로 쓰면 다음과 같다.

p(e|x) = exp(s(x, e)) P

e

0

∈E

exp(s(x, e

0

))

학습 시 모든 엔터티에 대해 이를 적용하면 E의 크기가 클수록 비효율적이게 된다. 따라서, K개의 네거티브 샘플을 noise 분 포를 통해 추출하여 이를 통해 학습을 시행한다. 따라서, 학습 시의 loss는 다음과 같다.

e, e

0 1

, ..., e

0 K

∼ p

noise

(e) L = −log exp(s(x, e))

P

e

0

∈p

noise

(e)

exp(s(x, e

0

))

e는 Positive 엔티티, e

0 i

는 p

noise

(e)는 noise 분포를 통해 추출된 Negative 엔티티이다.

그림 1은 RELIC의 학습 과정의 예시이다. 주어진 문장에서 굵게 표시 된 부분이 문장 내의 멘션이고, <s>와 </s>로 둘러 쌓인 부분이 학습시 사용된 멘션이다. 이때 RELIC은 Positive 엔터티인 Q649와의 코사인 유사도가 최대가 되고, Negative 엔 터티인 다른 엔터티와의 코사인 유사도가 최소가 되도록 학습 된다.

4. 엔터티 링킹

학습된 RELIC의 성능을 측정하기 위해 [2]의 엔터티 링킹 모델을 사용하였다. [2]에서는 엔터티 임베딩으로 RoBERTa를 통해 엔터티의 위키백과 문서를 인코딩 한 것을 사용했지만, 이 논문에서는 RELIC으로 교체하여 사용했다.

4.1 데이터셋

엔터티 링킹을 실험하기 위한 데이터셋은 한국어 위키백과를 사용했다. 3.1절에서와 같이 위키백과 문서에서 하이퍼링크가 있는 부분을 멘션(mention)으로, 해당 링크가 가리키는 문서를 엔터티로 사용했다. 토크나이징 또한 동일하게 시행하였다. 엔 터티 링킹의 데이터셋은 입력 문장과 멘션 스팬(mention span) 으로 구성된다. 입력 문장은 위키백과 문서를 토크나이징 한 후, 문장의 시작과 끝을 나타내는 <s>와 </s>의 특수 토큰을 문장 의 시작과 끝에 추가하여 구성된다. 멘션 스팬은 멘션의 시작점 start와 끝점인 end로 구성된다. 따라서 멘션 스팬 m

s

은 문장 x 내의 [x

start

, ..., x

end

]에 해당한다. 이때 각각의 멘션은 n-gram 매칭을 위해 모든 문자를 이어붙인 형태로 사용했다. 예를들어

”파벨 수호이”라는 멘션은 스팬 내의 모든 문자를 이어붙여 ” 파벨수호이”로 사용한다. 멘션 m이 출현한 각각의 멘션 스팸 m

s

및 해당 엔티티 e

i

들의 집합인 E

span

(m)은 멘션 m

i

과 해당 멘션 m

i

에서 등장한 모든 엔터티 e

i

들의 집합 (m

s i

, {e

1 i

, e

2 i

, ...})

- 129 -

2

(3)

제32회 한글 및 한국어 정보처리 학술대회 논문집 (2020년)

로 구성되며다음과 같이 쓸 수 있다.

m

s

= [x

start

, ..., x

end

]

E

span

(m) = {(m

s 1

, {e

1 1

, e

2 1

, ...}), (m

s 2

, {e

1 2

, e

2 2

, ...}), ...}

E(m

s i

) = {e

1 i

, e

2 i

, ...}

여기서 m

s i

는 문장 내에서 멘션 스팬에 해당하는 부분이다. e

k i

는 멘션 m

s i

에서 등장한 엔터티 중 k번째 엔터티이고, 동일한 엔터티가 여러개의 멘션 스팬에서 등장 할 수 있다. E(m

s i

)는 멘션 스팬 m

s i

에서 등장한 모든 엔티티들이다. 문장 내에서의 멘션은 토크나이징 된 문장을 n-gram 매칭을 하여 해당되는 n-gram이 E

span

(m)에 포함 된 경우 멘션으로 취급한다. 이때, 하이퍼링크가 걸리지 않았던 멘션을 Nil 멘션으로 취급하고, Nil 엔터티인 e

를 추가하여 구성한다. 엔터티 링킹을 위한 후 보 엔터티는 E

span

(m)을 통해 추출하는데, 동일한 멘션에서 등장한 엔터티를 후보 엔터티로 사용한다. 따라서 데이터셋 D 는 다음과 같이 구성된다.

x = [x

1

, x

2

, . . . , x

l

] s

i

= (start

i

, end

i

)

S = [(s

1

, m

s 1

, e

a 1

, {e

, e

1 1

, e

2 1

, ...}), . . . ] D = [(x

1

, S

1

), (x

2

, S

2

), ...]

x는 입력 문장, x

i

는 문장 내의 토크나이징 된 각 토큰이고, s

i

는 문장 내의 각각의 멘션 스팬, S는 입력 문장 내의 모든 멘션 스팬과 엔터티 후보로 구성된 데이터이다. 여기서 e

a i

는 멘션 스팬 m

s i

에 대한 정답 엔티티를 의미하며, 후보 엔티티 {e

, e

1 1

, e

2 1

, ...}에 반드시 포함된다. m

s i

가 Nil 멘션인 경우, e

a i

는 e

이된다.

4.2 엔터티 링킹 모델

엔터리 링킹 모델은 다음과 같이 구성된다.

X

0

= RoBERTa(x) = [x

0 1

, ..., x

0 l

]

Score(e) = Biaffine(concat(x

0 start

, x

0 end

), FNN(Emb(e))) 엔터티 링킹 모델은 RoBERTa의 출력과 엔터티 임베딩 Emb(e)의 출력을 Biaffine[10] 연산을 통해 점수를 계산한다.

엔터티 임베딩 Emb(e)는 입력되는 엔터티 e에 대해 하나의 벡 터로 매핑하는 작업이다. 입력 문장에서 각각의 멘션에 대한 RoBERTa 출력은 멘션 스팬의 시작 토큰인 x

start

와 끝 토큰 인 x

end

의 출력을 concatenate하여 사용한다. 엔터티 임베딩은 RELIC을 사용하며, 추가로 FNN 한 층을 추가하여 엔터티 임 베딩이 선형변환된 값이 학습되되, 엔터티 임베딩 자체는 학습 되지 않도록 고정시켰다.

5. 실험

5.1 RELIC 사전학습

RELIC 학습을 위해 한국어 위키백과의 전체 문서를 사용 했다. 2020년 8월 29일 기준 latest dump를 사용했고, 일부 문서가 손상된 경우는 폐기하였다. 각각의 문서는 개행문자를 기준으로 문장 단위로 나눠 사용하였고, 총 998,261개의 문 장과 203,032개의 엔터티, 3,396,809개의 non-NIL멘션 스팬, 245,484개의 멘션이 데이터셋에 포함되어 있다. 위키백과 문서 상에서 하이퍼 링크가 걸려있는 부분을 멘션으로, 해당 하이퍼 링크가 가리키는 문서를 엔터티로 사용하였고, 위키데이터를 통해 엔터티 qid

2

를 식별할 수 없는 경우 멘션으로 취급하지 않 았다. 멘션 마스킹은 RoBERTa의 Dynamic masking처럼 매번 새로 마스킹 하여 매 에포크마다 동일한 멘션이 마스킹 되지 않 게 하였다. 표 1은 엔터리 링킹 학습 데이터에 대한 통계이다.

표 1. 엔터티 링킹 데이터셋 통계

Train Test Dev 문장 수 30,000 20,000 10,000 멘션 수 49,059 36,862 22,549 멘션스팬 수 686,411 455,737 227,727 non-NIL 멘션스팬 수 115,159 76,766 38,291

엔터티 수 28,507 22,043 13,537

각각의 데이터셋마다 개별적으로 집계하였다.

[2]와 달리 RELIC의 엔터티 임베딩의 초기값은 [2]에서 사 용된 RoBERTa 출력을 통해 구현된 엔터티 임베딩을 사용하 였고, 이를 RELIC을 통해 최적화 하도록 시행하였다. RELIC 학습 모델의 Transformer는 RoBERTa의 파라미터로 초기화 시켰고, Transformer의 설정은 BERT base[7]와 동일하게 설 정하였다. RELIC의 α의 초기값은 3으로 설정했다.

엔터티 링킹 모델은 [2]와 동일하게 설정하고, 동일한 데이 터셋을 사용하되, 엔터티 임베딩만 교체하여 사용하였다. 이때 사용한 데이터셋은 한국어 위키백과로부터 6만 개의 문서를 추출하여 사용했고, 이중 3만개를 train, 2만개를 test, 1만개를 dev 셋으로 사용했다.

5.2 실험결과

표 2는 베이스라인과 RELIC 사용한 모델의 엔터티 링킹 성 능이다. Nil 탐지 F1는 해당 멘션이 Nil멘션인지 아닌지를 판별 하는 F1 점수를 의미하며, 모델이 예측 한 것이 Nil 엔터티인지, Nil 엔터티가 아닌 다른 엔터티인지를 통해 측정하였다. 이때, RELIC과 RoBERTa기반 엔터티 임베딩을 제외 한 다른 환경 은 완전히 동일하게 하였다. 단순히 엔터티 임베딩을 교체하는

2https://www.wikidata.org/wiki/Q43649390

- 130 -

3

(4)

제32회 한글 및 한국어 정보처리 학술대회 논문집 (2020년)

표 2. 엔터티 링킹 성능

모델 정밀도 재현율 F1 Nil 탐지 F1

Baseline[2] 85.97% 85.78% 85.87% 89.05%

RELIC 86.85% 86.04% 86.44% 89.17%

작업을 통해 엔터티 링킹 성능이 F1 기준 0.57%p정도 향상 되었다. 이를통해 RELIC을 통해 엔터티 임베딩을 RoBERTa 출력 기반 엔터티 임베딩을 최적화 함으로써 기존의 성능을 향상시킬 수 있음을 확인 할 수 있다.

6. 결론

본 논문에서는 RELIC을 통해 엔터티 임베딩을 최적화 함으 로써 단순히 RoBERTa를 통해 엔터티의 문서를 인코딩 하는 것보다 더 적합한 엔터티 임베딩을 만들어내고, 이를 통해 엔 터티 링킹 성능을 0.57%p 향상시킬 수 있음을 보였다.

후속 연구로 EaE등을 통해 엔터티 임베딩을 최적화 해볼 예 정이다. RELIC에서는 단순히 문장과 엔터티 임베딩의 유사도 를 최대화 하도록 학습을 진행한다. 그렇기에 RELIC 이상으로 엔터티 임베딩을 최적화 하기 위해 EaE등의 다른 모델을 통해 실험을 해볼 것이다.

참고문헌

[1] 최형준, 나승훈, 김현호, 김선훈, and 강인호, “Nil 탐지형 멘션 추출 및 개체 링킹,” 한국 정보과학회 학술발표논문 집, 2020.

[2] 홍승연, 나승훈, 김현호, 김선훈, and 강인호, “멘션 임베 딩을 이용한 nil 멘션 탐지와 개체 연결의 통합 모델,” 한국 정보과학회 학술발표논문집, 2020.

[3] Y. Liu, M. Ott, N. Goyal, J. Du, M. Joshi, D. Chen, O. Levy, M. Lewis, L. Zettlemoyer, and V. Stoyanov,

“Roberta: A robustly optimized bert pretraining ap- proach,” arXiv preprint arXiv:1907.11692, 2019.

[4] J. Ling, N. FitzGerald, Z. Shan, L. B. Soares, T. F´evry, D. Weiss, and T. Kwiatkowski, “Learning cross-context entity representations from text,” arXiv preprint arXiv:2001.03765, 2020.

[5] T. F´evry, L. B. Soares, N. FitzGerald, E. Choi, and T. Kwiatkowski, “Entities as experts: Sparse mem- ory access with entity supervision,” arXiv preprint arXiv:2004.07202, 2020.

[6] W. Xiong, J. Du, W. Y. Wang, and V. Stoy- anov, “Pretrained encyclopedia: Weakly supervised

knowledge-pretrained language model,” arXiv preprint arXiv:1912.09637, 2019.

[7] J. Devlin, M.-W. Chang, K. Lee, and K. Toutanova,

“Bert: Pre-training of deep bidirectional transform- ers for language understanding,” arXiv preprint arXiv:1810.04805, 2018.

[8] R. Sennrich, B. Haddow, and A. Birch, “Neural machine translation of rare words with subword units,” arXiv preprint arXiv:1508.07909, 2015.

[9] A. Vaswani, N. Shazeer, N. Parmar, J. Uszkoreit, L. Jones, A. N. Gomez, L. Kaiser, and I. Polosukhin,

“Attention is all you need,” Advances in neural infor- mation processing systems, pp. 5998–6008, 2017.

[10] T. Dozat and C. D. Manning, “Deep biaffine atten- tion for neural dependency parsing,” arXiv preprint arXiv:1611.01734, 2016.

- 131 -

4

수치

표 1. 엔터티 링킹 데이터셋 통계

참조

관련 문서

그러나 인간의 언어는 현 재는 물론 과거나 먼 미래에 대한 의사 소통도 가능하다.. 그리고 동물의 언어 와 인간의 언어는 정보 축적

[r]

이를 위해 보이는 방향으로의 구좌표계 도입을 통해 표면을 렌더링 하는 방식을 적용하는 것을 고민해보았다... 그러나 프로그래밍을 통해 3차원 객체를 2차원 평면에

어숙권의 글에서 정작 문제가 되는 것은 《해동명적》에 실린 박경의 필적이 과연 박경의 글씨인지, 아니면 신자건의 글씨인지 하는 점이다.. 신자건은 《해동명적》에

For more than 70 years, North Korea and the United States have faced hostile relations and mutual distrust through military conflicts in the DMZ,

결론적으로 윤리적 성향을 덧입은 자기 정체성은 타자에 대한 배려를 통해 고 립된 ‘나’에서 벗어나고, ‘나’를 둘러싼 이기주의의 쇠사슬을 끊을 능력을

본 강좌를 통해 우리가 계승하고 발전시켜야 할 근대문명의 유산과 그렇지 않은 유산은 무엇인지를 분석해보고 평가해보는 시간을 갖고, 이를 통해 우리는

생업의 경험으로부터 나온 지식뿐만 아니라 강원대학교 시설농업학과에서 배운 전문적인 지식을 통해 저는 더욱 더 발전한 저의 모습을 발견할 수 있게 되었고, 이를