제목없음

[논문 리뷰] Towards the Quantification of the Semantic Information Encoded in Written Language 본문

KAIST 문화기술대학원/논문 정리

[논문 리뷰] Towards the Quantification of the Semantic Information Encoded in Written Language

wholmesian 2021. 9. 10. 15:47

[이 글은 아직 작성 중입니다]

 

 

TOWARDS THE QUANTIFICATION OF THE SEMANTIC INFORMATION ENCODED IN WRITTEN LANGUAGE | Advances in Complex Systems

 

www.worldscientific.com

0. About

 연구실 사람들과 스터디를 하던 중 읽게 된 논문입니다.

정보이론의 개념들을 이용해 책 속에 있는 단어가 가진 정보량을 정의하고, 정보량이 많은 단어 - 그 책의 내용에 대해 무언가를 말해주는 단어 - 들을 찾아내는 연구입니다.

 

1. Background

 들어가기에 앞서, 정보 이론이 생소하신 분들을 위해 기본 개념을 정리하겠습니다.

 

 미국의 수학자 클로드 섀넌(Claude Shannon)은 1948년에 작성한 논문 A Mathematical Theory of Communication에서 '정보(information)'라는 것의 수학적 정의를 도입합니다. 그리고 이를 시작으로 정보를 어떻게 측정할 수 있는지, 하나의 메시지 안에 담긴 정보를 손실 없이 전달하는 법, 효율적인 정보 전달을 위한 coding theorem 등이 연구됩니다. 이른바 정보 이론(Information Theory)이라는 분야가 탄생한 것이죠.

 

 우리는 불확실성 속에 살고 있습니다. 내일 비가 내릴까 말까? 동전을 던지면 앞면이 나올까, 뒷면이 나올까? 지금 이 문장을 어떤 단어로 끝마쳐야 할까? 등등요. 그런데 '정보'를 얻게 되면 이런 불확실성은 줄어듭니다. 내가 동전을 던졌을 때 어떤 면이 나올지 불확실한가요? 실제로 동전을 던져 확인하면 불확실성은 0이 됩니다. 내일 비가 올지 불확실한가요? 기상청 홈페이지에 들어가보면 내일 비가 올 확률을 알 수 있습니다. 이 경우 불확실성이 0이 되지는 않지만, 기상청에 들어가기 전보다는 줄어들겠죠.

 

 다시 말해 랜덤 변수가 어떤 값을 가질지, 그 결과에 대한 불확실성이라는 성질이 존재합니다. 그런데 어떤 사건(동전 던지기, 일기예보 확인 등)을 겪으면 그 불확실성을 줄일 수도 있습니다. 그 불확실성이 얼마나 줄어들었는가, 그 정도가 사건이 가진 정보입니다. 

 

 섀넌은 이 불확실성에 '엔트로피'라는 이름을 붙여줬습니다. 결과 \(x_1\)이 나올 확률이 \(p(x_1)\), ..., \(x_N\)이 나올 확률이 \(p(x_N)\)이라면 엔트로피 H는 다음과 같이 계산할 수 있습니다. 

$$H(X)=-\sum_{i=1}^{N}p_i \: log(p_i)$$

 

 사건을 겪으면 (다른 말로, 관측을 하면) 이 확률들이 바뀌고 엔트로피가 줄어듭니다. 관측 후의 엔트로피에서 관측 전의 엔트로피를 빼면 그 사건이 가진 정보량이 나오겠죠? 이 값은 항상 0보다 크거나 같습니다.

물론 확률이 안 바뀌고 엔트로피가 그대로인 경우도 있을 수 있습니다. 이 경우 사건이 가진 정보는 0이고요. 

 

 이 정보의 개념을 확장시켜서, 상호정보(Mutual information, 이하 'MI')라는 개념도 존재합니다. X, Y 두 개의 변수가 있을 때, X를 관측했을 때 줄어드는 Y의 불확실성을 말합니다. (또는, Y를 관측했을 때 줄어드는 X의 불확실성입니다) Y가 '내일 비가 올지 안 올지', X가 '내일이 몇 월인지'에 대한 변수라고 해봅시다. X를 관측했을 때, 내일이 7월이면 어떨까요? 한창 장마철인 시기니 비가 올 확률이 높겠죠. X의 불확실성을 줄였더니 Y의 불확실성도 줄여듭니다. 다시 말하자면, X에 대한 정보를 얻었을 때 Y에 대한 정보도 얻은 겁니다. 이 때 불확실성이 얼마나 줄어드는지를 X와 Y의 MI입니다. MI는 다음과 같이 계산할 수 있습니다.

$$I(X;Y)=H(Y)-H(Y|X)=H(X)-H(X|Y)$$

 

 이 값도 항상 0보다 크거나 같습니다. (\(X\)와 \(Y\)가 독립이면 \(I(X;Y)\)가 0입니다)

식을 보면 알겠지만 MI는 symmetric합니다. 'X를 관측했을 때 줄어드는 Y의 엔트로피'과 'Y를 관측했을 때 줄어드는 X의 엔트로피'는 항상 같습니다. 

 

2. Introduction

 영어는 26개의 심볼을 가지고 정보를 전달하는 일종의 정보 전달 체계입니다. 실제로 섀넌은 기존에 알려진 통계를 바탕으로 영어에서 한 글자가, 또는 한 단어가 얼마만큼의 정보량을 가지는지 계산해보이기도 했습니다.

 

 그런데 흔히 정보 이론을 통해 텍스트를 분석할 때는 메시지의 의미를 고려하지 않습니다. 그렇다면 정보 이론의 모델들을 통해서 semantic information을 포착할 수 있는 방법은 없을까요?

 

이 논문에서는 MI를 이용해서 글의 내용(semantic contents)을 포착하려고 합니다.

더 자세히 말하자면

  1. 텍스트에서 단어들이 어떤 언어적 구조(linguistic structure)를 따라 특정 구간에 몰려서 나타남(heterogeneity)을 확인
  2. MI를 통해 이 질서를 수치화할 수 있는 지표를 제안
  3. 해당 지표가 정말로 heterogeneity를 기술할 수 있음을 보이고, 이 언어적 구조라는 게 텍스트의 내용과 관련 있음을 보임

이렇게 세 단계로 이루어진 연구입니다.

 

3. Domain Structure in Word Distribution

 많은 연구들에 따르면 자연어에서 많은 단어들은 'self-attraction'이라는 특징을 보입니다. 쉽게 말하자면 어떤 단어 A가 있을 때, 그 근처에서 A가 나타나는 경우가 많다는 겁니다. 한국어로 번역하자면 '자기 자신에 대한 끌림' 정도가 되겠네요! 

 

 예를 들어, 이런 글을 생각해봅시다.

그동안 WBC는 KBO리그에서 중요한 기점이 되어왔다. 4강과 준우승 영광을 차지한 1·2회 대회를 통해 야구 열기가 달아올랐고 3·4회 대회에서는 최종라운드에 가지 못하면서 그 열기가 식었다. WBC 실패 뒤 국가대표 전임감독제가 도입됐지만 여러 논란 속에 다시 현역 KBO 감독인 이강철 KT 감독이 지휘봉을 잡은 첫 대회가 이번 WBC다.

WBC는 각 팀 최고 선수들을 선발해 팀을 꾸리기에 그 시기 리그의 수준을 확인할 수 있는 대회이기도 하다. 부진했던 2020 도쿄올림픽 이후 처음 열리는 국제대회라는 점에서 이번 WBC 대표팀이 안는 부담이 상당하다. 무엇보다 이번 WBC는 올해 새 시즌의 분위기를 조성하고 이후 계속될 국제대회를 준비하게 될 예비무대라는 점에서 단순한 성적 이상의, 더 중요한 의미를 갖는다.

WBC를 거쳐 KBO리그를 시작하면 후반기인 9월에 항저우 아시안게임이 열린다. WBC와는 달리 나이 제한을 둔다. 이전에 야구는 올림픽과 아시안게임에 프로 선수들로 대표팀을 꾸렸지만 이번 아시안게임에는 만 25세 이하 또는 프로 4년 차 이하 선수들로 제한을 둔다. 나이와 관계없는 ‘와일드카드’ 3명을 제외하면 모두 프로 초년생들 혹은 아마추어 선수들로 꾸려진다. 3월 WBC를 통해 검증된 리그의 젊은 얼굴들이 핵심 전력이 되고, 향후 한국 야구 미래를 이어받을 어린 세대들이 도전하는 대회다.

출처: https://sports.news.naver.com/news?oid=144&aid=0000858865

 이 글의 마지막 문단을 보면 '아시안게임'이라는 단어가 종종 등장합니다. 하지만 다른 단락에서는 전혀 안 등장하죠. 우리가 글을 쓸 때 랜덤한 단어를 골라서 적는 일은 없습니다. 글의 문맥이 있고, 문맥상 자주 나오는 단어가 있기 마련이죠. 그렇다보니 하나의 단어는 자기 자신과 함께 등장하는 경향이 있습니다. 물론 모든 단어가 이런 특징을 가지지는 않습니다. 영어에서 a, the, for, of... 등등은 문맥에 상관없이 비슷한 빈도로 등장하겠죠.

 

 이를 뒤집어서 생각해봅시다. 하나의 글을 순서대로 여러 개의 덩어리(chunk)로 나눴을 때, 특정 chunk에서만 높은 빈도로 등장하는 단어들이 있을 겁니다. 좀 더 형식적으로 표현해볼까요?

 \(N\)개의 단어로 이뤄진 텍스트가 있다고 합시다. 그러면 각 단어의 위치를 \(t=1, ..., N\)으로 나타낼 수 있을 겁니다. 이 때, 특정 단어 \(w\)가 \(n\)번 나타난다면, 각 위치들을 \(t_1, t_2, ..., t_n\)으로 나타냅시다. 그리고 위치 \(t\)에서 단어 \(w\)의 밀도는 디랙 델타 함수를 써서 다음과 같이 표현할 수 있습니다.

$$v_w(t)=\sum_{j=1}\delta(t-t_j)$$

 

 이 연구에서는 domain-like pattern을 조사하고 싶었기에, 특정 위치 하나하나의 density 대신 local average를 구했다. 이 값을 rate of occurrence라고 불렀는데, 그 값을 구하기 위해 위의 \(v_w(t)\)와 bell-shaped kernel과의 convolution을 계산했다. 그 예시가 아래 Fig 1에 나와있다.

Fig 1. Distribution of three words in The Origin of Species

 연구진은 찰스 다윈의 <종의 기원>에서 각 단어들의 rate of occurrence를 살펴보았다. 위의 Fig 1에서 A, B, C는 각각 plants, instinct, for의 출현 빈도를 계산한 것이다. plants와 instinct 같은 경우는 특정 부분에서 많이 나타나는 localised occurrence를 보인다. 반면 for은 thematic context에 상관없이 사용되는 단어이다. 실제로 random fluctuation으로 보이는 것을 제외하면, 거의 uniform한 빈도를 보이는 것을 확인할 수 있다.

 

 이런 localised occurrence를 어떻게 정량화할 수 있을까? 저자들은 autocorrelation을 계산하기 위해 다음의 식을 사용했다.

 여기서 \(\tau\)는 domain size이다. Fig 1의 D~F를 보면 autocorrelation을 계산한 그래프가 나와 있다. 검은색 플롯은 실제 텍스트에서의 autocorrelation, 회색 플롯은 단어들을 랜덤 셔플했을 때의 autocorrelation이다. 

 

 plants와 instinct의 경우에는 특정 \(\tau\)까지는 두 그래프가 차이를 보인다. plants는 2000~3000단어, instinct는 5000천 단어 정도이다. 반면 for은 검은색 그래프가 회색 그래프(random level)과 큰 차이를 보이지 않는다. 

 

 요약: thematic context를 위해 사용되는 단어들은 글의 특정 부분(domain)에 집중적으로 나타난다 (localised occurrence). 관사나 전치사처럼 thematic context와 상관없이 사용되는 단어들은 이런 특성을 보이지 않는다.

 

 이런 불균질(heterogeneity) 특성을 역으로 이용하면, 단어의 사용 패턴을 통해 글의 부분들을 나눌 수도 있을 것이다. 다음 챕터에서는 정보량을 통해서 이 '글을 부분으로 나누기'를 하는 방법에 대해 다룬다.

 

3. Information in the Distribution of Words

 요약: 이 챕터에서는 정보 이론의 MI 개념을 이용해 단어들의 heterogeneity를 정량화할 수 있는 방법을 제시한다. 앞서 말했듯, 이를 이용해 글을 특정 단위로 나눌 수도 있는데, 이 단위는 linguistic structure를 반영한다고 할 수 있다. 저자들의 연구에 따르면 이 structure는 문법에 의한 구조보다는 큰 범위를 가지지만, 일반적인 책의 길이보다는 훨씬 작은 범위를 가진다. 저자들은 이 구조가 semantic domain과 관련되어 있다고 말한다.

 

 이런 heterogeneity를 어떻게 측정할 수 있을까? 원래의 텍스트와 똑같은 단어 분포를 가진 또다른 surrogate text를 생각해보자. 하지만 이 surrogate text에서는 단어들이 별다른 구조 없이 랜덤하게 흩뿌려져 있다. 원래 텍스트와 surrogate text의 질서도(degree of order) 차이를 정량화한다면, 우리가 찾는 semantic structure를 정량화할 수 있을 것이다.

 

 아무런 규칙이 없는 surrogate text에서는 한 단어 뒤에 무슨 단어가 나올지 불확실성이 크다. 하지만 단어들이 어떤 semantic structure를 따른다면 불확실성이 적을 것이다. 왠지 익숙하지 않은가? 위에서 말한 정보의 정의와 비슷하다.

 

 랜덤 셔플된 surrogate text의 단어들을 원래 텍스트에 가깝게 재배열하려면 정보가 필요하다. 단어들의 heterogeneous 특성이 클수록 더 많은 정보가 필요할 것이다. 

 

\(K\)개의 단어로 이루어진 길이 \(N\)의 텍스트를 생각해보자. 이 텍스트를 길이가 \(s\)인 \(P\) 개의 부분들로 나눈다. (당연히 \(s=N/P\)가 성립한다) 이 길이 \(s\)에 대해, semantic structure가 가지는 정보량은 다음과 같이 계산된다. 

Equation (2)

 단어 \(w\)가 총 \(n\)번 등장할 때, \(p(w)=n/N\)이다. 단어 \(w\)가 \(j\)번째 파트에서 등장하는 횟수가 \(n_j\)일 때, \(H(J|w)\)는 다음과 같다. \(<\widehat{H}(J|w)>\)는 랜덤 셔플된 텍스트에서의 평균을 뜻한다.

Equation (3)

Eq (3)은 각 단어가 가지는 엔트로피를 나타내는데, 이를 그래프로 나타내면 다음과 같다.

Fig 2. Word entropy for a real and a random text

 이 그래프는 다음과 같은 것들을 시사한다.

  • 랜덤 텍스트와 비교했을 때, 실제 텍스트에서의 단어는 더 낮은 엔트로피를 가진다. 즉, 랜덤 텍스트와 비교했을 때 structured distribution을 가진다는 얘기다.
  • 실제 텍스트의 단어들은 같은 빈도수를 가지더라도, 다양한 엔트로피를 가진다. 이런 variation은 각 단어들의 linguistic role에 의해 결정된다.

Fig 3. Information encoded in whole texts

 Fig 3(a)는 <종의 기원>, <정신 분석>, <모비 딕>에 대해 Eq (2)를 계산한 결과를 보여준다. 세 책 모두 manimal information을 보이는 지점이 있는데, 대략 1,000~3,000 단어 사이이다. 이 지점에서 한 단어가 평균적으로 가지는 정보량은 최대이다. 

 

 다음으로 저자들은 5,200여 편의 책에 대해 책의 길이와 most informative sclae의 상관관계를 조사해보았다. Fig 3(b)는 그 scatter plot을 나타내는데, dispersion이 크긴 하지만 대체로 책의 길이가 증가함에 따라 most informative scale도 증가함을 알 수 있다. 

 

 Fig 3(c)를 보면 여러 책들의 information at maximum을 봤을 때, 놀랍게도 그 값이 0.2 bits/word에 몰려 있음을 알 수 있다. 즉, 영어에서 하나의 단어가 domain size에 대해 가지는 평균적인 정보량은 대체로 일정함을 알 수 있다. (그 domain size는 다 다르겠지만 말이다)

 

 Fig 3(d)는 Fig 3(c)의 결과를 보다 자세히 보여준다. 책의 장르에 따라 나눠서 계산한 것이다 (문학, 역사/철학, 과학/공학). 문학과 역사/철학의 경우 peak가 0.2 bits/word로 전체 평균과 비슷한 모습을 보였지만, 과학/공학 책의 경우 보다 broad한 분포를 보였다.

 

 요약: 저자들은 MI를 이용해 텍스트의 linguistic structure가 있음을 보였다. 이 구조는 보통 1,000개~3,000개 단어의 길이를 가지고 있다. 이는 한 문장을 넘지 않는 grammar structure보다는 훨씬 길지만, 책 전체의 길이보다는 훨씬 짧다. 다시 말해 1,000개~3,000개 수준의 길이에서 나타나는 linguistic structure가 있다는 것이다. 이 구조는 무엇을 나타낼까? 다음 챕터에서 다룬다.

4. The Information of Individual Words

 Eq (2)는 텍스트에 있는 모든 단어의 정보량을 합한 메트릭이었다. 하지만 같은 방식으로 특정 단어\(w\)가 가지는 정보량을 계산할 수도 있을 것이다. 이 정보량은 다음과 같이 정의된다.

Fig 4. Information encoded in single words

 저자들은 실제로 domain-like distriution이 단어들의 정보량을 잘 설명할 수 있는지 알아보기 위해 모델을 만들었다. 전체 길이가 \(N\)인 텍스트에서, 단어 \(w\)가 총 \(n\)번 나타난다고 하자. 이 때, heterogeneity를 설명하기 위해 \(N_0\)에서 시작되는 길이 \(L\)의 도메인에는 \(n_e\)번 나타난다고 하자. 여기서, 각 변수 \(L\), \(N_0\), \(n_e\)는 bit/word에 대해 다음과 같은 영향을 끼친다.

  • \(L\)이 커질 수록 특정 도메인에서의 단어 빈도수와 도메인 밖에서의 단어 빈도수 차이가 줄어든다. 따라서 \(L\)의 증가는 단어 당 정보량을 대체로 감소시킨다.
  • \(n_e\)가 커질 수록 도메인 안팎의 빈도수 차이가 크다. 따라서 \(n_e\)가 커질 수록 단어 당 정보량은 대체로 증가한다. 
  • \(N_0\)는 단어 당 정보량에 영향을 끼치지 않는다.

 Fig 4(a)의 회색 선은 실제 단어에다가 이 모델을 fitting한 결과를 보여준다. 보시다시피, 실제 관측 결과와 모델을 바탕으로 fitting한 결과가 잘 맞는다. 저자들이 MI를 변용해 만든 메트릭은 자연어 속 단어들의 domain-like distribution 특징을 반영하고 있음을 알 수 있다.

 

 자, 단어들이 어떤 linguistic structure를 따라 heterogeneity 특성을 가진다는 걸 보였다. 그 스케일을 봤을 때, 문장 수준을 훨씬 뛰어넘어 영향을 끼치는 구조임을 알 수 있다. 그리고 정보 이론의 MI를 통해서 이 특징을 수치화할 수 있음도 보였다. 그런데 이 구조의 정체는 뭘까?

 

 저자들은 이를 알아보기 위해 이 정보량이 가장 높은 단어들을 뽑아보았다.

 이렇게 나타난 단어들은 텍스트의 주제에 대한 단어들이었다. 즉, 연구진들이 제시한 지표는 semantic structure를 반영한 것이었다.

5. Discussion

 TBA

Comments