인공지능은 산업의 도메인과 데이터에 맞춰서 다각화되고 세분화되는 추세이다. CT, MRI 등의 이미지들은 인공지능의 학습 데이터가 되어 질병을 조기 발견 하는 모델이 만들어질 수 있다. 사용자의 소비 패턴 데이터로 인공지능 추천 시스템이 만들어진다. 언어도 인공지능에게는 다양한 데이터의 형태 중 하나에 불과하다. 하나의 데이터, 하나의 정보일 뿐인 언어는 어떻게 인공지능 모델이 될 수 있을까?
정보 이론의 아버지라 불리는 클로드 섀넌(Claude Shannon) 1948년에 발표한 A Mathematical Theory of Communication 를 통해, 언어 모델의 이론적 기반을 만들었다. 섀넌은 언어를 확률적으로 모델링할 수 있는 방식을 제시했다. 조건부 확률을 적용하여, 이전 단어들을 기반으로 다음 단어들을 예측하는 것이다.
언어에는 “문맥”이라는 조건이 존재한다. “오늘 아침 학교에 간다”라는 문장이 있다고 가정해 보자. 해당 문장이 발생할 확률 P(오늘 아침 학교에 간다)는 각 단어들이 나올 확률로 계산될 수 있다. 각 단어들은 이전에 나온 단어들의 영향을 받는다. 간단한 수식으로 표현하자면, P(오늘 아침 학교에 간다) = P(오늘) x P(아침|오늘) x P(학교에|오늘 아침) x P(간다|오늘 아침 학교에) 로 말할 수 있다.
확률을 근사하기 위해서, 가장 직관적으로 활용될 수 있는 방법은 “셈하기” 이다. C를 Count의 약자로 사용한다면, P(간다|오늘 아침 학교에) = C(오늘 아침 학교에 간다) / C (오늘 아침 학교에) 로 생각할 수 있을 것이다. 인공지능이 학습할 문장들(보통은 학습할 언어 데이터를 말뭉치, corpus라고 부른다)에서 “오늘 아침 학교에” 가 몇 번 발생했는지 셈한다. 그리고 “오늘 아침 학교에 간다” 의 수를 셈한다. 하지만 만약에, C(오늘 아침 날씨가 너무 추웠는데 학교에 간다) 처럼 문장이 길어졌을 경우에 말뭉치에서 “오늘 아침 날씨가 너무 추웠는데 학교에” 라는 단어의 나열이 존재하지 않을 수도 있고, 문장이 길어질 수록 계산량도 늘어나고 복잡해질 것이다.
그래서 고안된 것이, 마르코프 가정(Markov assumption)을 따르는 n-gram 기반의 통계적 언어 모델이다. 마르코프 가정이란 현재 상태는 직전 상태에 영향을 받는다는 가정이다. 이런 마르코프 가정을 언어에 고려하면, 현재 단어가 발생할 확률을 계산하기 위해 이전의 모든 단어들은 다 고려하지 않아도 된다는 것이다. n-gram 모델은 n-1개의 단어들만 문맥으로 고려하겠다는 것이다. 1-gram은 unigram, 2-gram은 bigram, 3-gram은 trigram이라고 표현한다. unigram은 이전 문맥을 안보고, 각 단어들의 개별적인 확률을 곱한다. bi gram은 직전에 나오는 하나의 단어만 고려하고, tri gram은 직전에 나오는 두개의 단어를 고려한다.
unigram : P(오늘 아침 학교에 간다) = P(오늘) x P(아침) x P(학교에) x P(간다)
bigram: P(오늘 아침 학교에 간다) = P(오늘) x P(아침|오늘) x P(학교에|아침) x P(간다|학교에)
trigram: P(오늘 아침 학교에 간다) = P(오늘) x P(아침|오늘) x P(학교에|오늘 아침) x P(간다|아침 학교에)
이처럼 직관적인 통계 모델로 만들어진 인공지능에게 “언어” 라는 것은 확률적으로 예측할 단어에 불과하다. 하지만, 사람에게 있어서 언어는 삶을 풍요롭게 하고, 때로는 계속 살아가게 하는 것이 될 수 있다. 너무 힘들고 고된 하루에서, 소중한 사람들과 나누는 “따뜻한 대화”, 내 마음을 대변하는 것 같은 시나 소설이 담긴 책, 언어를 시작으로 만들어진 영화, 드라마 (최근에 감동적으로 봤던 것은 '폭싹 속았수다' 라는 드라마이다) 등 우리는 언어를 통해 때때로 감동 받고 공감하게 된다. 이렇게 언어들로 이루어진 세상에 살아가면서, 나와 주변을 살리는 다정한 언어를 구현해봐야 겠다는 생각이 든다.