IT

[IT]챗봇은 어떻게 확률을 이용해서 자연어를 만들어 낼까?

IT꿈나무 2024. 6. 8. 18:39
반응형

사람은 자연적으로 발생한 언어인 자연어를 이용하여 챗봇에게 발화(發話)하게 된다. 챗봇은 사람의 언어인 자연어를 분석하여, 최적의 응답을 생성하게 된다. 챗봇은 어떻게 확률을 이용하여 응답에 해당하는 문장을 생성하게 될까?

사람의 언어인 자연어의 문장을 만들기 위해서는 말하고자 하는 핵심 단어의 이전 단어와 다음 단어를 예측하는 것이 중요하다. 시간에 따른 데이터의 변화를 예측하여 확률적으로 문장을 만들게 된다. 연구자들은 불확실한 현상을 이해하고 예측하려는 노력을 해왔다 이러한 과정 속에서 다음의 확률 모델확률 과정개념들이 발전되어 왔다. 확률 과정은 시간에 따라 변화하는 무작위 현상을 수학적으로 모델링하는 방법이며, 확률 모델은 확률 과정을 포함할 수 있는 더 큰 범주의 개념이며 확률 과정과 관련된 아이디어나 개념을 포함하고 있다.

- 확률 모델은 불확실한 현상이나 데이터를 수학적으로 표현하기 위한 모델로, 확률 분포를 사용하여 데이터의 무작위 변동성을 포착한다. 확률 모델은 통계적, 기계 학습, 딥러닝 등 다양한 분야에서 사용되며, 데이터의 구조와 패턴을 추정하고 예측하기 위한 도구로 활용된다.

- 확률 과정은 시간에 따라 변화하는 무작위 현상을 나타내는 수학적 모델이다. 미래의 어느 시점의 값은 고정된 상수가 아니라 여러 가능한 값 중에서 어떤 한 값을 확률적으로 가지며, 순차적으로 관측하게 되는데 이러한 것을 확률과정(stochatic process)이라 한다. [1]

챗봇에서 사용되는 확률을 기반으로 한 복잡한 문제를 단순화하여확률 모델을 만들 수 있다. 이러한 확률 모델을 이용하여 중심 단어에서 주변의 어느 시점의 단어가 주어지게 될지를 확률적으로 계산할 수 있다. 확률 모델은 주어진 데이터와 미래의 관측치를 설명하기 위해 확률 분포를 사용하여 미래의 데이터의 무작위 변동성을 포착하고, 이를 통해 불확실한 미래의 결과에 대한 예측을 수행할 수 있다. 챗봇, 자연어 처리(Natural Language Processing, NLP)에서 사용되는 확률 모델은 직간접적으로 마코프 연쇄(Markov Chains)에 기반을 두고 있다.

마코프 연쇄는 미래 상태는 오직 현재 상태에만 영향을 받는다는 것을 기반으로 하는 확률적 모델이다.[2] 마코프 연쇄(Markov chain)는 확률 과정의 한 종류로, 이산 시간 확률 과정을 나타내며, 각 단계에서 시스템의 현재 상태만이 다음 상태의 확률 분포에 영향을 주는 특성을 가지고 있다. 이러한 특성을 마코프 성질(Markov property)이라고 한다[3]. 마코프 연쇄는 상태 공간(state space)이라는 개념을 사용합니다. 상태 공간은 가능한 모든 상태의 집합으로, 예를 들어 날씨 모델에서 상태 공간은 {맑음, 흐림, , }과 같은 집합이 될 수 있다. 마코프 연쇄는 상태 전이 확률(transition probability)을 사용하여 각 상태에서 다음 상태로의 전이를 모델한다.

챗봇은 어떻게 확률 모델의 하나인 마코프 연쇄를 이용해서 자연어 처리를 하는지 간단한 예시로 생각해 볼 수 있다. "나는 오늘 학교에 갔다.”N-그램 언어 모델(특히 바이그램)이 마르코프 체인을 기반으로 한다고 했을 때, 다음 단어를 예측하기 위해 이전 단어에만 의존한다. 예를 들어, "오늘"이 주어졌을 때 "학교에"가 나올 확률을 계산한다. 이러한 예측은 주어진 텍스트의 단어 쌍 빈도를 기반으로 한다. 바이그램 모델에서는 다음과 같이 단어 쌍의 확률을 모델링한다.

P(학교에 | 오늘) = count(오늘 학교에) / count(오늘)

최근의 확률 모델은 마르코프 체인을 기반으로 n-그램 모델 (n-gram Models), 히든 마르코프 모델 (Hidden Markov Models, HMMs), 조건부 랜덤 필드 (Conditional Random Fields, CRFs), 신경망 기반 모델 (Neural Network-based Models) 등으로 발전하고 있다.

요즘 chat GPT를 챗봇 AI가 각광 받고 있다. 챗봇을 챗봇이 사람의 언어인 자연어를 어떻게 확률적으로 만들어 내는지 알아보았다. 알아보는 과정에서 자연어의 무작위성 분포를 수학적으로 표현할 수 있는 확률 모델을 알아보았고, 이의 기원이 되는 마코프 체인에 대해 알아보았으며 간단한 예시인 N-그램 언어 모델(특히 바이그램)이 마르코프 체인을 기반으로 다음 단어를 확률적으로 예측할 수 있음을 간단히 확인하였다. 점점 발전하는 AI 챗봇을 보면서 사람이 불확실한 미래를 이해하고 예측하려고 했던 노력의 결과물들이 차츰 발전하고 있음을 볼 수 있었다.

 

참고자료

[1] 도서 확률의 개념과 응용”, 9.1 확률과정의 의미, p238 , 한국방송통신대학교출판문화원
[2] 도서 확률의 개념과 응용”, 9.2 마코프 연쇄, p242 , 한국방송통신대학교출판문화원
[3] wikipedia, “마르코프 연쇄”, https://en.wikipedia.org/wiki/마르코프_연쇄, 2023.05.07.
[4] wikipedia, N-gram, https://en.wikipedia.org/wiki/N-gram, 2023.05.07.

 

반응형