NLP는 크게 NLU와 NLG, 이 두 가지로 구분됩니다. 이 시리즈에서는 주로 NLU를 다룰 예정입니다.
NLU란 Natural Langauge Understanding의 약자로, 컴퓨터가 자연어를 이해하는 과정에 초점을 맞춥니다.
우리는 한국어로 된 문장을 들었을 때, 그 문장이 무엇을 의미하는지, 어떤 문법으로 이루어지는지 자연스럽게 알 수 있습니다. 하지만 컴퓨터는 그렇지 않습니다. 0101의 데이터 집합으로 볼 뿐이죠. 따라서 사람의 표현을 컴퓨터에 알아듣게 하기 위해서는 자연어를 쪼개고 하는 일련의 과정이 필요합니다.
따라서 NLU에서는 자연어로 이루어진 문장을 형태소나 단어별로 분리하거나, 품사를 태깅하는 등 형태적 분석이 이루어집니다. 또한 문장과 문맥 간의 관련성을 분석하여 발화자의 의도를 이해하는 과정도 NLU에 포함되어 있습니다.
NLG는 Natural Langauge Generating의 약자로 컴퓨터가 자연어를 생성하는 과정에 초점을 맞춥니다.
NLP는 컴퓨터가 자연어를 처리할 수 있게 함으로써 사람과 컴퓨터가 원활하게 상호작용하는 것을 목적으로 하고 있습니다. 그러한 면에서 NLG는 NLU를 통해 이해한 자연어 문장에 대해 답변하거나, 자연어로 된 글을 읽고 요약을 생성하는 등 상호작용을 위한 의미 있는 문장을 생성하는 과정을 담고 있습니다.
NLG의 대표적인 예시로는 답변, 스토리 생성, 뉴스 요약 등이 있습니다.