자연어 처리 기술 훑기
사람은 기계와 친구가 될 수 있을까요? 인공지능 기술이 발전하면서, 사람과 비슷한 수준으로 말하거나 텍스트를 보여주는 기기가 등장하고 있습니다. 사람이 키워드만 보내도 대화형 응답을 제공하는 '챗봇'이 대표적인 예시인데요. 이처럼 컴퓨터가 사람의 말을 알아들을 수 있도록 하는 기반은 '자연어 처리(Natural Language Processing)' 기술입니다. 차세대 자연어 처리 기술의 원리와 전망을 간단히 요약했습니다.
자연어 처리는 한 마디로, 컴퓨터가 인간의 언어를 이해하는 것을 목표로 합니다. '자연어'라는 이름이 붙은 이유는 우리 인간이 오랜 세월 동안 사용하며 자연적으로 만들어진 언어이기 때문입니다. 이에 반대되는 용어로, 컴퓨터 분야에서는 컴퓨터가 사용하는 언어를 '프로그래밍 언어'라고 부릅니다. 코딩에 사용되는 현대의 컴퓨터 언어도 자연어와 유사한 부분이 많도록 발전했지만, 그럼에도 불구하고 여전히 컴퓨터가 이해할 수 있는 방식으로 명령어를 입력해야 하는 한계가 있습니다.(코딩해보신 분들 이라면...)
자연어 처리는 자연어 분석, 자연어 이해, 자연어 생성 등으로 나뉩니다. 자연어 분석은 문법에 따라 자연어를 쪼개는 것을 말합니다. 자연어 이해는 컴퓨터가 자연어로 주어진 입력에 따라 동작하게 하는 기술이며, 자연어 생성은 동영상이나 표의 내용 등을 사람이 이해할 수 있는 자연어로 변환하는 것입니다.
자연어 분석을 예시로 살펴봅시다. 우리가 사용하는 언어에는 형태소, 구문, 문장 등 여러 문법적 단위가 있습니다. 자연어 분석이 제대로 되려면, 사람이 한 말을 컴퓨터가 알아서 쪼개고 적절하게 판단해야 합니다. 사람이야 오랜 경험을 통해 이러한 규칙을 습득하고 자연스럽게 분석한다지만, 컴퓨터는 어떻게 이것이 가능할까요?
자연어 처리 기술은 1950년대에도 연구되었지만, 사람이 구체적인 문법 규칙을 사람이 하나하나 입력하면 기계가 그것을 따라 하는 수준에 불과했다고 합니다.
그러다 1990년 이후, 대용량의 대화 데이터를 이용한 통계적 기법이 발전했는데요. 대화 데이터로부터 통계적인 규칙을 찾아내고 이를 기계가 받아들이는 것이었습니다. 기계학습이 고도화되면서 컴퓨터는 더 많은 양의 데이터를 학습하고 점차 규칙을 정교하게 파악하게 됩니다.
최근에는 AI 기술의 핵심인 딥러닝(Deep learning)이 자연어 처리에 응용되고 있습니다. 딥러닝은 기계학습의 하위분야로 데이터 학습을 여러 층에 걸쳐서 수행합니다. 이때 데이터 학습 과정에서 각각의 층이 인간의 뇌신경 세포와 유사하게 동작합니다.
이러한 기술을 사용하는 이유는 처리해야할 데이터가 복잡하기 때문입니다. 인간이 소통하는 방식은 상당히 복잡합니다. 언어에는 단어 자체의 의미 말고도, 상황과 맥락이 존재하기 때문입니다. 어떤 화자가 발화를 '야 밥이 입에 들어가냐?'라고 했다면, 밥이 정말로 입에 들어가고 있는지 묻는 것은 아니겠죠? 이처럼 단순히 단어만으로는 판단하기 어려운 요소가 많습니다.
또 사람들이 상황에 따라 사용하는 언어가 각기 다르다는 것도 한 몫 합니다. 격식을 갖춘 문서에서 쓰는 언어와 온라인에서 사용하는 언어는 사뭇 다릅니다. 같은 영어라고 할지라도 격식을 갖춘 영어, 미국식 영어, 호주식 영어 등이 다 다르며 여기에 더해 온라인 신조어까지 포함하면 끔찍할 노릇입니다. 그래서 딥러닝 기술을 활용해 복잡한 상황속 인간의 언어처리 방식을 '흉내'내도록 데이터를 학습시키고 있으나, 여전히 '자연어' 자체를 컴퓨터가 이해하고 있지는 않은 상황입니다.
자연어 처리 기술은 다양한 분야에 응용되고 있습니다.
번역 및 맞춤법 검사는 일상생활에서 가장 많이 접할 수 있는 자연어 처리 기술입니다. 사용자가 입력한 단어와 사전에 있는 올바른 단어를 대조하여 어떤 단어가 잘못되었는지, 올바른 단어 사용법은 무엇인지 제안할 때 자연어 처리 기술이 사용됩니다. 영어 문장을 교정해주는 'Grammarly' 같은 기업이 이 기술을 사용 중이라고 하네요.
또 인공지능 기반의 음성인식 스피커는 자연어를 기반으로 합니다. 사용자의 음성과 명령어를 이해한 후 실시간으로 답변하는 것인데요. 이와 비슷한 예로 챗봇을 들 수 있습니다.
사용자 정서 분석 같은 경우에는 마케팅에 주로 사용되는 자연어 처리 응용 기술입니다. 소비자들이 제품에 대한 피드백 또는 기업 평가를 소셜 네트워크 서비스에 올리는 사례가 급증하면서 소비자의 문장과 단어를 분석해 만족도를 살피기 위한 자연어 처리 소프트웨어 수요가 기업을 중심으로 확대되고 있습니다. 실제로, Periscopic사는 트럼프 대통령이 각종 연설에서 사용한 단어와 표정을 활용해 대통령의 감정상태를 분석한 Trump Emoticoaster를 발표하기도 했습니다.
시장조사 업체 리서치마켓 보고서에 따르면, 2017년 글로벌 음성 인식 시장의 규모는 약 102억 달러(약 11조 원)로, 2024년까지 약 264억 달러(약 30조 5천억 원) 규모로 성장할 것으로 전망하고 있습니다. 연평균 성장률로는 21%에 이릅니다. 이에 따라 세계 각국에서는 국가적인 차원에서 자연어 처리 기술 확보에 신경 쓰고 있으며, 일본은 150억 어절 중국과 미국은 300억 어절 이상을 구축해 응용 소프트웨어를 개발하고 있습니다.
국내에서는 ETRI가 한국어 전용 언어모델 'KorBERT'를 구축해서 구글 검색엔진보다 우수한 성능을 보여줬다고 합니다. 주요 딥러닝 프레임워크인 파이토치(PyTorch)와 텐서플로우(Tensorflow) 환경 모두에서 사용 가능하며 오픈 API로 공개했다고 하네요. 카카오에서도 딥러닝 기반 형태소 분석기 카이를 오픈 소스로 제공하고 있습니다. 네이버에서는 초창기부터 자연어 처리에 상당히 신경을 쓰고 투자를 많이해, 검색엔진 성능을 개선하는데에 초점을 맞췄는데요. 네이버에서도 챗봇용 자연어 처리 API가 공개되어 있네요.