일러스트=이미지투데이.
일러스트=이미지투데이.

‘인간답다’는 어떤 의미일까요. ‘인간’의 개념을 정의한다는 것은 단순한 듯하면서도 아주 복잡합니다. 아리스토텔레스는 ‘인간은 사회적 동물이다’라고 말했습니다. 독립적으로 존재하기보다 무리를 이루어 소통을 하고, 사회 공동체 안에서 어우러지며 생활하는 사회적인 존재라는 뜻입니다.

이러한 인간의 행동양상을 나타내는 대표적인 것 중 하나가 ‘대화’라고 할 수 있습니다. 대화란, 둘 이상의 인간이 언어를 통해 행하는 상호적인 소통입니다. 따라서 ‘인간처럼 사고할 수 있는 기계’의 연구에는 대화에 대한 연구도 빠질 수 없습니다. 그렇다면, 기계가 자연스럽게 사람과 대화하기 위한 여정에는 어떤 것들이 필요할까요.

컴퓨터가 인간의 언어를 이해하고 처리할 수 있는 자연어처리 및 자연어이해에 대해 살펴보겠습니다.

자연어처리(Natural Language Processing)

자연어처리란, 사람의 언어를 기계가 이해할 수 있는 언어로 전환해 분석하여 컴퓨터가 읽을 수 있는 형태로 만들거나 인간이 이해할 수 있는 언어로 표현하는 기술입니다.

즉, 자연어 처리는 구조화되지 않은 데이터를 분석하고 구조화하여 처리하는 작업을 말합니다. 텍스트 분야의 인공지능에서는 자연어처리가 중요합니다. 컴퓨터가 인간의 말을 인식해 원활한 소통을 가능하게 하고, 대용량의 텍스트를 분석하여 의미 있는 정보를 제공할 수 있기 때문입니다.

자연어처리에는 전처리기술이 필요합니다. 첫째, ‘토큰화’입니다. 토큰은 원래 ‘징표’ 혹은 ‘형식물’이라는 뜻에서 유래해 상품권이나 서비스의 교환권을 뜻하는 단어입니다. 자연어처리에서의 ‘토큰화(Tokenization)’에 대한 의미는 정리되지 않은 문장 혹은 문서의 텍스트를 나누는 작업을 의미합니다. 텍스트를 나누는 기준으로는 단어 혹은 의미를 갖는 문자열 등에 따라 달라집니다.

특히 한국어의 경우, ‘교착어’ 형태로 이루어져 있어 형태소 분석이 중요합니다. 형태소란, 의미를 지닌 가장 작은 말의 단위입니다. 예를 들어 (대)명사 뒤 조사가 띄어쓰기 없이 바로 붙습니다. ‘가방’이라는 명사 뒤에 ‘가방이’, ‘가방에’, ‘가방을’과 같이 ‘-이’, ‘-에’, ‘-을’과 같은 조사가 띄어쓰기 없이 바로 붙기에 형태소 분석에 따라 적절한 ‘토큰화’가 이루어져야 합니다.

둘째, ‘불용어 제거’입니다. 불용어란, 의미를 분석할 때 기여하는 바가 거의 없는 단어들을 의미합니다. 일반적으로 토큰화 후 불필요한 단어 혹은 빈번하지만 의미를 지니지 않는 단어를 제거합니다. 불용어를 제거함으로써 데이터의 크기를 줄이고, 모델의 성능을 향상시킬 수 있습니다.

셋째, ‘품사태깅’ 및 ‘구문분석’입니다. ‘품사태깅’은 각 단어에 적절한 품사를 할당하는 것으로, 문장의 문법적 구조와 의미를 이해하는데 도움을 줍니다. ‘구문분석’은 문장의 문법적 구조를 파악해 해당 문장의 구성성분과 그들 사이의 관계를 시각화하는 과정입니다. 이러한 품사태깅 및 구문분석은 문장이나 문서의 구조와 의미를 추출하므로 자연어처리에 필요한 과정입니다.

넷째, ‘원-핫 인코딩’입니다. 원-핫 인코딩(one-hot-encoding)이란, 단어를 벡터화하는 것입니다. 문장이나 단어 등의 데이터에 0과 1의 값을 부여해 데이터를 구별합니다. 즉, 표현하고 싶은 위치에 1을 부여하고, 이 외의 부분에는 0을 부여함으로써 값을 구별합니다.

이처럼 다양한 전처리작업은 자연어처리를 비롯한 자연어이해의 전제조건이 됩니다. 자연어처리는 언어의 분석에 집중하는 반면, 자연어이해는 의미론 혹은 의미에 중심을 둡니다.

자연어이해(Natural Language Understanding)

여러 전처리 과정을 거친 후, 비로소 자연어이해를 수행할 수 있습니다. 대화의 가장 중요한 요소 중 ‘맥락’을 빠뜨릴 수 없습니다. 자연어의 의미를 이해하고 문맥을 파악해야만 맥락에 맞는 대화가 자연스럽게 이루어질 수 있습니다.

이처럼 자연어이해는, 이 ‘맥락’을 파악하는 과정에 해당한다고 볼 수 있습니다. 예를 들면, “사과를 받아줘”의 ‘사과’를 과일의 의미인지, 용서해달라는 의미인지의 가름은 앞, 뒤 문장을 파악해 이해해야 합니다. 기계는 자연어이해 과정을 거침으로써 문장의 의도를 분류하거나 감정을 분석할 수 있습니다.

자연어생성(Natural Language Generation)

자연어이해가 컴퓨터의 이해 및 독해에 중심을 두었다면, 자연어생성은 일부 데이터의 입력을 기반으로 컴퓨터가 인간 언어의 응답을 생성, 즉 만들어내는 과정이라고 볼 수 있습니다.

초기의 자연어생성은 템플릿을 이용해 텍스트를 생성했습니다. 일부 데이터 혹은 쿼리에 기초해 규칙을 기반으로 생성하는 방식이었습니다.

그러나 최근 자연어생성 기술의 경우, 딥러닝을 기반으로 하여 복잡한 언어구조를 학습해 자연스럽고 유의미한 문장을 생성하는 방향으로 발전하고 있습니다.

저작권자 © 대한데일리 무단전재 및 재배포 금지