Dependency in Language

지난 이야기

지난 글에서는 언어 모델을 ‘모든 후보 문자열에 대한 확률 분포’로 정의하였습니다. 그리고 확률을 추정하기 위한 방법으로 MLE Maximum Likelihood Estimation에 대해 살펴보고, 언어의 변동성으로 인한 문제를 해결하기 위해 문장을 단어들의 조합으로 바라보는 관점에 대해 알아보았습니다. 그러나 이러한 접근법에는 문제가 하나 있었죠. 바로 단어들이 나타나는 순서를 고려하지 못한다는 점이었습니다. 이번 글에서는 이러한 문제를 조금 더 일반적인 관점에서 자세히 살펴보고, 이를 완화할 수 있는 방법 중 하나인 N-gram 모델에 대해 알아보도록 하겠습니다.

단어 의존성 Word Dependency

문장에서 특정한 단어가 등장할 확률은 함께 등장하는 단어들의 영향을 받습니다. 예를 들어, 특정 문장에 이어서 breakfast라는 단어가 등장할 확률에 대해 생각해보도록 하겠습니다. 누군가가 I ate an English라고 말한 다음에 breakfast라고 말할 확률은, I drunk a Scotch 이후에 breakfast라고 말할 확률보다 높을 것입니다. 반대로, whisky라는 단어가 이어서 등장할 확률은 전자보다는 후자의 문장에서 더 높을 것입니다. 이를 수식으로 표현하자면 다음과 같습니다.

P(breakfast | I ate an English) > P(breakfast | I drunk a Scotch)
P(whisky | I ate an English) < P(whisky | I drunk a Scotch)

즉, P(breakfast)나 P(whisky)처럼 특정한 단어가 등장할 확률은, 함께 등장하는 단어가 drunk 인지 ate인지, 혹은 English인지 Scotch인지에 따라 달라진다고 할 수 있습니다.

또 다른 예시로, 아래의 세 문장에 대해 한 번 생각해볼까요?

(1) 배가 달다.
(2) 배가 아프다.
(3) 배가 출발하다.

세 문장에서의 배는 각각 과일 pear, 신체 부위 stomach, 그리고 이동수단 ship을 의미하고 있습니다. 그리고 우리는 주변 단어인 ‘달다’, ‘아프다’, ‘출발하다’를 통해서, 각각의 ‘배’가 의미할 수 있는 여러 대상들 중 실제로 어떤 것을 의미하고 있는지를 자연스럽게 추론할 수 있습니다. 종합하자면, 하나의 문장에서 등장하는 각 단어들은 독립적이지 않고 서로에게 영향을 미친다는 사실을 알 수 있으며, 언어가 지니는 이러한 성질을 ‘단어 의존성 Word Dependency’이라고 부릅니다.

단어 순서에 따른 문장 의미 변화

우리는 앞선 예시를 통해, 주변에 등장하는 단어에 따라 특정 단어의 발생 확률이 달라진다는 것을 살펴보았습니다. 그렇다면 문장 전체에 등장하는 단어가 정확하게 일치하는 두 문장의 발생 확률은 동일할까요? 지난 글에서 살펴보았던 예제를 다시 한 번 가져와보도록 하겠습니다.

(1) I am travelling from Seoul to Edinburgh.
(2) I am travelling from Edinburgh to Seoul.

주어진 두 문장에서 사용된 단어는 동일합니다. 하지만 우리는 두 문장에서 from Seoul to Edinburghfrom Edinburgh to Seoul이 서로 다른 의미를 갖고 있으며, 이로 인해서 전체 문장의 의미 또한 완전히 달라진다는 것을 쉽게 파악할 수 있습니다. 즉, 정확하게 동일한 단어들로 구성된 문장들이라도, 단어의 등장 순서에 따라 전체 문장이 의미하는 바는 달라질 수 있습니다. 두 문장의 의미가 서로 다르다는 것은, 언어 모형이 추정하는 각각의 문장 발생 확률 또한 달라야 한다는 것을 의미합니다. 따라서, 특정 단어의 등장 확률은 주변에 등장하는 단어의 구성 뿐만 아니라 단어의 등장 순서에도 의존적이라고 할 수 있습니다.

단어 순서에 따른 문장의 문법 적합성 변화

단어의 순서는 문장의 의미를 결정할 뿐만 아니라, 해당 문장이 문법에 맞게 구성되어 있는지를 결정하기도 합니다. 이를테면, The cat is small.은 정상적인 문장이지만, 두 단어의 순서가 바뀐 The small is cat.은 문법적으로 틀린 문장이 됩니다. 따라서 우리는 언어 모형이 P(The cat is small) 보다 P(The small is cat)를 크게 추정하기를 원할 것입니다.

물론 한국어는 어순 재배치scrambling가 가능한 특성을 지니는 교착어agglutinative language이기 때문에, 고립어Isolating language인 영어보다는 어순의 구성이 조금 더 자유로운 측면이 있습니다. 예를 들어, 어순 재배치를 통해 생성된 아래의 1, 2번 문장들은 서로 유사한 의미를 전달할 수 있는 올바른 문장들입니다.

(1) 우리 집 작은 고양이는 귀엽다.
(2) 귀엽다. 우리 집 작은 고양이는
(3) 고양이는 작은 우리 집 귀엽다.

그러나 한국어 또한 자유어순언어Free word order language는 아니므로 3번과 같이 문법적으로 허용되지 않는 어순이 존재합니다. 따라서 영어와 마찬가지로 단어 순서에 따라 문장의 문법적 수용가능성Linguistic Acceptability이 달라질 수 있습니다.

문장 = 단어들의 시퀀스

지난 글에서 우리는 희소 문제를 완화하기 위해 문장을 단어들의 조합으로 해석하고, 문장의 발생 확률을 각각의 단어들의 발생 확률의 곱을 통해 추정하는 방법에 대해 살펴보았습니다. 이러한 관점에 따르면, P(The cat is small)P(The)P(cat)P(is)P(small)이고, 곱셈 간에는 교환법칙이 성립하므로 이는 P(The)P(small)P(is)P(cat)과 동일한 값을 지닙니다. 따라서 문법적으로 올바른 문장 ‘The cat is small’과 그렇지 못한 문장 ‘The small is cat’의 발생 확률은 동일한 값으로 추정됩니다. 그러나 앞서 살펴보았던 것처럼 이러한 추정은 바람직하지 않죠.

왜 이러한 문제가 발생했을까요? 우리가 확률 추정의 편의성을 위해 세웠던 ‘문장은 단어의 조합이다’라는 가정이, 언어가 지니고 있는 성질인 ‘단어 의존성’을 반영하지 못하고 있기 때문입니다. 결론부터 이야기하자면, 사실 문장은 단어들의 조합combination이라기보다는 시퀀스sequence에 더 가깝습니다. 이 글에서 계속해서 살펴봤던 것처럼, 문장에서 단어의 순서가 중요한 의미를 지닌다는 의미입니다. 따라서 언어 모형에서 특정 단어의 발생 확률을 추정할 때에도, 해당 단어가 어떤 단어와 함께 어떤 순서로 등장하는지를 반영할 필요가 있습니다. 이를 수식으로 표현하면 다음과 같습니다.

$$
P(the\ cat\ is\ small) = P(the)P(cat|the)P(is|the\ cat)P(small|the\ cat\ is)
\ \neq P(The)P(cat)P(is)P(small)
$$

Outro

이번 글에서는 단어 사이에 존재하는 의존성에 대해서 살펴보았습니다. 다음 글에서는 이러한 의존성을 언어 모형에 반영하기 위한 방법들에 대해 살펴보도록 하겠습니다.

Author

Taeseung Hahn

Posted on

2023-07-02

Updated on

2023-07-23

Licensed under

Comments