커뮤니케이션과 AI #1 페이지(PAIGE)를 만드는 사람들

AI에 대한 R&D를 선도해오고 있는 엔씨소프트.

엔씨소프트는 AI센터와 NLP(자연어처리)센터를 주축으로 AI 연구개발을 진행하고 있습니다. 그중 NLP센터 산하 언어(Language)AI랩과 지식(Knowledge)AI랩의 전문 연구진들은 각각 자연어처리(NLP) 기술과 지식 추론 기술을 활발히 연구하고 있습니다.

‘커뮤니케이션과 AI’ 첫 번째 편에서는 언어AI랩과 지식AI랩이 어떤 연구개발을 하고 있는지 설명하겠습니다. 또한, 두 랩이 소속된 NLP센터에서 준비 중인 새로운 야구 정보 서비스 ‘페이지(PAIGE)’도 소개하겠습니다.


# 커뮤니케이션 AI를 소개합니다

커뮤니케이션 AI는 사람과 AI가 서로 편하고 재미있게 소통하는 기술입니다. 이미 AI 기술을 통해 기존의 문제를 해결하거나, 일상 생활을 더욱 편리하게 만드는 사례가 많습니다. 내비게이션에 AI를 도입하면 실시간으로 빠른 길 찾기가 가능합니다. 로봇은 재난 구조와 같은 위험한 일을 대신해주고, 자동차나 반도체 제조 공정 같이 정밀한 반복 작업도 효율적으로 처리합니다.

사람들의 일상 생활에 도움을 주는 ‘퍼스널 어시스턴트 AI(Personal Assistant AI)’도 이제는 자주 볼 수 있는데요. AI 스피커가 대표적입니다. 이 스피커는 “알람 설정해줘”, “메시지 보내줘”, “노래 틀어줘”와 같은 간단한 명령을 인지하고 실행합니다. 필요한 정보를 쉽게 찾을 수 있게 해주는 검색 알고리즘이나 원하는 상품을 추천해주는 기능도 AI 기술을 기반으로 작동합니다.

앞으로는 더욱 광범위한 분야에서 AI와 자연스럽게 커뮤니케이션하는 세상이 열릴 것입니다. 영화 ‘그녀(Her)’에 등장한 AI 운영체제(OS) ‘사만다’처럼 사람과 언어로 소통하고 감성적으로 공감하면서 지식을 습득, 활용하는 AI의 등장도 시간 문제일 것입니다.

영화 ‘허(Her)’에서 AI와 대화를 나누고 있는 주인공

엔씨소프트의 언어AI랩과 지식AI랩도 AI와 사람이 자연스럽게 커뮤니케이션하는 세상을 준비하고 있습니다.

 

# 언어AI랩: 자연어로 사람과 대화하는 AI

언어AI란 음성이나 텍스트로 입력된 사람의 말을 기계(컴퓨터)가 이해할 수 있도록 기계적 표현으로 바꾸는 기술, 역으로 기계적 표현을 사람의 말로 바꾸는 기술을 의미합니다. 아울러 이를 기반으로 하는 응용 기술도 포함합니다. 어찌 보면 기존의 자연어처리(NLP)와 거의 동일하다고 할 수 있습니다. 다만, 엔씨소프트 NLP센터에서는 기존의 NLP 연구 영역에 포함돼 있는 지식 추론 영역을 지식AI 영역으로 구분해 더욱 깊이 있게 연구하고 있습니다. 그래서 언어AI라는 용어를 별도로 사용합니다.

언어AI랩에서는 ▲자연어 이해·생성과 같은 기반 기술 연구와 ▲질의응답(Q&A) 시스템 ▲대화 시스템(Dialogue System) ▲지식 검색(Information Extraction) ▲요약(Summarization) ▲내러티브 생성(Narrative Generation) 등의 NLP 응용 기술 연구를 진행합니다. 그리고 이러한 기반·응용 기술을 지원하기 위한 분산처리, 언어자원 등의 플랫폼 연구도 진행하고 있습니다. NLP 영역의 대부분을 연구하고 있는 셈입니다.

언어AI랩은 다른 기업의 NLP 조직과 다르게 처음부터 자연어 생성(NLG: Natural Language Generation) 분야 연구를 깊이 있게 진행했습니다. 일반적으로 NLP 연구는 자연어 이해(NLU: Natural Language Understanding) 기술에 집중합니다. 기계가 사람과 대화하려면 자연어 이해가 가장 기본적으로 필요하기 때문입니다. NLU는 가장 어려운 영역 중 하나며, 관련 연구 결과 또한 많습니다.

하지만 언어AI랩에서는 단순히 명령을 이해해서 실행하는 AI가 아닌, 사람과 이야기할 수 있는 AI를 만들고자 했습니다. 따라서 NLU뿐만 아니라 그간 많은 연구가 이루어지지 않은 NLG와 연관된 기술력을 쌓고자 했습니다.

목표 수준은 ▲AI가 데이터를 분석해서 사람의 말로 표현하고 ▲대용량의 문서를 읽은 뒤 사람의 글로 다시 요약해서 말하며 ▲문장이 아닌 문단 수준의 내용을 구성하는 것이었습니다. 1년 이상 NLG 연구에 집중했고, 이후 NLU와 NLG를 결합한 상호작용(Interaction) 영역을 연구했습니다. 이를 통해 기존의 NLU 기술을 심화했고, 질의응답(Q&A)과 대화(Dialogue) 기술까지 연구 영역을 확대했습니다.

현재 언어AI랩에는 ▲언어이해(Semantic Understanding)팀 ▲지식검색(Information Extraction)팀 ▲대화 & 생성(Dialogue & Generation)팀 ▲미디어 내러티브(Media Narrative)팀 ▲콘텐츠 & 리소스(Content & Resource)팀 등 5개 팀이 있습니다. 기반 기술은 각 팀이 장기적(Long Term)으로 연구하고, 응용 기술은 중단기적인 목표를 세워 관련된 팀이 협력해 개발합니다. 언어AI랩 기술이 필요한 서비스(Product)의 기획이 시작되면, 관련 기술을 지원하면서 상용화 수준까지 기술 수준을 끌어올립니다.

이를 위해 언어AI랩이 중요하게 생각하는 몇 가지 AI 기술이 있습니다.

1) 문맥 이해와 추론

자연어 이해(NLU)를 위해 가장 기본이 되는 기술은 시퀀스 레이블링(Sequence Labeling)기술과 분류(Classification)기술입니다. 이를 위해 무엇보다 중요한 것은 문맥에 대한 이해인데, 기존에는 사람이 직접 ‘자질(Feature)’을 선택하고 튜닝(Tuning)하는 과정이 중요했습니다. 그러나 최근에는 ‘문맥’을 반영하기 위해 기계 이해(Machine Comprehension) 등에 사용되는 메모리 네트워크(Memory Network)나 멀티-홉 추론(Multi-hope Reasoning) 관련 딥러닝 기술이 주목받고 있습니다. 언어AI랩의 언어이해팀에서도 이 부분에 집중하고 있습니다. 아울러 기본적인 재귀신경망(RNN)이나 회선신경망(CNN)에서 더 나아가 문맥을 이해하고, 추론(Reasoning)할 수 있도록 심층신경망(DNN)의 네트워크를 구성하는 것이 필요합니다.

2) 자연어 입력에 대한 분산 표현

자연어는 이미지나 음성에 비해 추상화된 형태입니다. 그래서 ‘어텐션(Attention)’이란 개념이 매우 중요합니다. 어텐션은 ‘입력’에서 어떤 부분을 중요하게 봐야 할지를 DNN에서 스스로 학습하여 ‘출력’에 반영될 수 있도록 ‘명시적인 표현’을 만드는 것을 의미합니다. 단어나 문장, 문서가 상위 애플리케이션(Application)의 ‘입력값’이 되기 때문에 어텐션을 비롯한 DNN 내에서의 분산 표현(Distributional Representation) 연구도 중요하게 보고 있습니다.

3) 제어된 생성(Controlled Generation) + 비지도 생성(Unpaired Generation Model)

자연어 생성(NLG) 기술에서는 일관성(Consistency), 유창함(Fluency), 다양성(Variation) 문제가 매우 중요합니다. 이는 ▲기계가 실제 내부 프로그램에서 결정된 의도대로 문장을 생성하는가 ▲문법적으로 표현적으로 자연스럽게 생성하는가 ▲동일한 의미라도 다양한 표현으로 지루하지 않게 말할 수 있는가를 뜻합니다. 이를 위해 단순한 시퀀스투시퀀스(Seq2Seq) RNN 기술을 넘어서 제어된 생성(Controlled Generation)기술과 문체 변환(Style Transfer)기술, 확장성 있는 기술 개발을 위해 비지도 생성 모델(Unpaired Generation Model) 등의 연구를 매우 중요하게 생각하고 있습니다.

4) 대용량 문서에서의 이벤트/토픽 모델링

대용량의 문서에서 중요한 정보의 흐름을 추출하기 위한 그래프(Graph) 분석 기술, 텍스트에서 나타나는 현실 세계의 이벤트(Event) 발생 현상을 모델링 하기 위한 다양한 생성 모델(Generative Model) 등도 주의 깊게 연구하고 있습니다.

5) 자연스러운 대화 흐름 제어 기술

목적 지향 대화 시스템(Goal-Oriented Dialogue System)을 개발하기 위한 강화학습(Reinforcement Learning)기법도 NLP 영역에서 중요하게 생각하는 AI 기술 중 하나입니다. 사용자와 시스템 간에 더욱 자연스러운 대화를 위해 수많은 대화 상황을 정의하고, 현재 대화 상황에서 최적의 시스템 발화를 결정하는 기술은 아직까지 매우 어려운 영역입니다. 이를 학습하기 위한 사용자 시뮬레이션(User Simulation) 기술과 정책 최적화(Policy Optimizer) 등, 깊이 있는 연구가 필요합니다.

 

# 지식AI랩: 사람과 같이 지식을 습득하고 전달하는 AI

최근 AI 연구는 언어(Language), 비전(Vision), 스피치(Speech) 기술과 같이 사람과 상호작용하는 인터페이스(Interface) 분야에서 가장 활발합니다. 이는 딥러닝(Deep Learning)을 통해 급속히 발전하고 있죠. 그러나 인터페이스 기술만으로 AI와 원활한 커뮤니케이션을 구현할 수 있는 것은 아닙니다. 외부 정보 인지, 대화 내용 이해, 질문에 대응하기 위한 지식과 추론 능력도 필요합니다.

지식AI는 이때 필요한 지식을 수집하고, 관련 지식을 추론하여 체계적으로 구조화한 뒤 사용자의 요청에 적절하게 대응하는 기술입니다. 하지만 언뜻 봤을 때 구체적으로 무엇을 연구해야 할지 막연한 분야이기도 합니다. 그래서 지식AI랩은 사람들이 지식을 습득하고 활용하는 과정이 있다는 점에 착안해 지식AI 기술을 구체화했습니다.

사람들은 다음과 같이 5단계를 거쳐 지식을 획득·추론·활용합니다.

1) 다양한 외부의 정보를 수집

2) 중요하고 흥미로운 지식을 선별적으로 기억

3) 수집한 지식을 효과적으로 요약하고 적절하게 표현

4) 기존 지식을 기반으로 요인을 추론하고 이후 상황을 예상

5) 지식을 다른 사람들에게 적절하게 전달하며 커뮤니케이션

야구 경기를 관람하는 사람들이 관련 지식을 획득하고, 추론하며, 활용하는 과정을 예로 들겠습니다. 사람들은 야구장에서 직관(직접 관람)하거나 중계를 통해 각종 야구 정보를 수집합니다. 이때 모든 정보를 기억하는 것은 아닙니다. “오늘의 승패”, “나성범의 홈런 상황”, “박민우의 결정적인 실책” 등 중요한 결과나 재미있는 상황 위주로 기억하죠. 또한, 보고 들은 것을 그대로 기억하지도 않습니다. 이를 적절히 요약하고 재해석하죠. “어제 경기는 정말 재미있었다”, “NC는 요즘 내야 수비가 문제야”, “이종욱 아직 살아있네” 등과 같이 요약된 표현으로 기억합니다.

새로운 정보를 접하면 “오늘 NC는 왜 졌을까?”, “지금 투수를 교체할까?”, “내일은 이길까?” 등, 기존의 지식을 바탕으로 요인을 추론합니다. 앞으로의 상황을 예상하기도 하죠. 또한, 습득하고 추론한 지식을 적절한 상황에 활용하기도 합니다. 예를 들면, 누군가가 “어제 경기 어땠어?”라고 물어보면 “어제 타격전이었는데, NC가 대역전승을 거뒀어”라고 대응합니다. 만약, “요즘 누가 잘해?” 라고 물으면 “노진혁이 요즘 컨디션 최고야” 라는 등 지식에 기반을 둔 커뮤니케이션을 합니다.

지식AI랩은 AI가 이 모든 과정을 사람처럼 진행할 수 있는 기술을 연구하고 있습니다.

1) 다양한 지식 수집

지식AI랩은 정형 로그(log)는 물론, 텍스트, 이미지, 동영상 등 다양한 데이터에서 유의미한 지식을 추출하여 수집하는 기술을 개발합니다. 이를 위해 로그 분석이나, 텍스트 정보 중 일부 키워드 집계에 국한된 데이터 마이닝 방법론을 고도화하고 있습니다. 또한, 언어(Language), 비전(Vision) 분야의 AI 기술 전문가들과 협력해 이미지·동영상에 포함된 지식도 수집하여 보다 풍부한 지식베이스(Knowledge Base)를 구축하고자 합니다.

2) 흥미로운 지식 탐지

AI와 사용자의 지식 기반 커뮤니케이션은 크게 구체적인 질의가 있는 경우와 추상적으로 대화를 요청하는 경우로 나눌 수 있습니다. 사용자가 “나성범이 어제 안타 몇 개 쳤어?”와 같이 구체적으로 질의하면, AI가 관련 지식을 확보하고 적합한 답을 조회하여 대응하면 됩니다. 그런데 사용자가 “재미있는 소식 없어?”, “어제 무슨 일 있었어?”, “심심해~”와 같이 추상적으로 대화를 요청하면, 재미있는 이야기 소재를 선정하여 주도적으로 대응해야 하죠. 이를 위해서는 수집한 지식 중에서 사용자의 흥미를 끌 만한 지식 탐지를 수반할 필요가 있습니다.

3) 직관적 요약 및 표현

사용자와 자연스럽게 대화하기 위해서는 개별 지식뿐만 아니라 적절히 요약한 지식도 필요합니다. 가령, ‘NC의 현재 순위’, ‘나성범의 홈런 개수’ 등의 개별 지식을 아는 것은 기본입니다. 하지만 ‘요즘 나성범이 잘하는지’, ‘어제 야구 경기가 재미있었는지’ 등과 같이 종합적으로 요약한 지식이 있어야 편안한 대화를 이어갈 수 있습니다. 이를 위해 시계열 데이터, 연속된 로그(Sequential log), 정량 집계 데이터, 텍스트 등을 효과적으로 요약하고, 이를 직관적으로 표현하고자 합니다.

4) 기존 지식 기반 추론

지식 간의 연관 관계나 영향도를 분석하여 이벤트 발생 요인이나 향후 시나리오를 예측합니다. 즉, “NC의 승리 요인이 무엇이지?”, “오늘 경기는 어떻게 될지?” 등을 추론하는 기술을 고도화하고 있습니다. 이를 위해 상관 분석(Correlation Analysis), 시퀀스 패턴 마이닝(Sequence Pattern Mining), 인과관계 추론(Causal Inference)뿐만 아니라 마르코프 논리 네트워크(Markov Logic Network)와 같은 논리(Logic) 기반 추론(Inference) 알고리즘을 참고하여 연구하고 있습니다.

5) 효과적인 지식 전달

수집하고 추론한 지식을 상황에 맞춰 적절하게 사용자에게 전달하는 기술을 개발합니다. 상품 판매 목적이 아닌 사용자와의 대화를 이어가는 게 목표입니다. 이를 위해 널리 알려진 추천 시스템이나 큐레이션(Curation) 알고리즘을 고도화합니다. 아울러 상황에 맞는 스토리를 생성하고 이를 바탕으로 흥미로운 내용을 전달하는 방안도 중요한 연구주제입니다. 사용자와의 감성적인 공감을 위한 감성 컴퓨팅(Affective Computing) 기술 및 사용자에게 적절하게 호응하는 기술도 연구합니다.

 

# 커뮤니케이션 AI 기술의 발전을 위해 꼭 필요한 것 ‘서비스’

커뮤니케이션 AI의 목표는 단순히 뛰어난 기술을 과시하는 게 아닙니다. 사람과 같이 자연스럽게 소통하는 기술을 지향하고 있죠. 사용자에게 원하는 정보를 주고 마음의 위안과 재미를 느낄 수 있는 기술을 제공하는 것입니다.

커뮤니케이션 AI가 진화하기 위해서는 뛰어난 기술뿐만 아니라 실사용자와 맞닿은 ‘서비스’가 필요합니다. 왜냐하면 서비스를 통해 사용자가 어떻게 대화하고 소통하며, 정서적으로 공감하는지 알 수 있기 때문입니다.

그래서 언어AI랩과 지식AI랩은 이를 위해 AI 기술 기반의 야구 서비스 ‘페이지(PAIGE)’를 개발했습니다.

 

# 첫번째 커뮤니케이션 AI 서비스 ‘페이지(PAIGE)’

‘페이지’는 AI가 축적한 지식을 기반으로 재미있는 야구 관련 콘텐츠를 생성하고, 사용자의 반응에 따라 관련 콘텐츠를 계속해서 제공합니다. 페이지에 궁금한 내용을 물어보면, AI가 대답하고 다른 주제의 콘텐츠도 쉽게 탐색하도록 돕습니다.

첫 번째 서비스로 ‘페이지’를 개발한 이유는 ‘야구’라는 도메인이 가진 강점에 있습니다. AI 기술을 연구하는 입장에서 야구는 다양하고 풍부한 데이터(재료)가 지속해서 공급되는 좋은 도메인입니다. 가령, 야구 경기가 진행될 때마다 매 순간 데이터와 기록이 발생합니다. 사람들의 관심 역시 매우 높습니다. 뉴스뿐만 아니라 전문가와 팬의 의견이 담긴 소셜미디어, 커뮤니티 게시 글도 다수 존재합니다. 훌륭한 야구 사진·동영상도 있죠.

하지만 방대한 야구 정보를 잘 정리한 콘텐츠 서비스를 찾기 어렵다는 점도 이 도메인을 택한 주요한 배경 중 하나입니다. 사용자의 입장에서 궁금한 내용이 있더라도 원하는 정보를 얻기 위해서는 온라인(모바일)에서 일일이 찾아야 합니다. 또한, 콘텐츠들 역시 일부 구단과 선수에 편중되어 있습니다. 내용의 다양성이 부족한 편이죠. 가령, 매일 쏟아지는 야구 기사 중에서 (제가 좋아하는) NC다이노스가 중심이 되는 기사는 1% 안팎에 머무르는 경우도 많습니다. 정보는 쏟아지나 정작 내가 원하는 콘텐츠를 만나기는 어렵습니다.

만약, AI 기술을 통해 이러한 불편함을 좀 더 편하고 재미있게 해줄 수 있다면 어떠할까요. 사용자가 원하는 정보를 손쉽게 접할 수 있는 AI 기반 야구 정보 서비스를 만들자는 것에서 페이지의 개발이 시작했습니다.

‘페이지’의 콘셉트는 ‘나를 위한 AI 야구 친구’입니다. AI가 만드는 페이지(AI+Page), 흥미로운 콘텐츠 페이지(Interesting content Page)를 뜻하고, 동시에 전설적인 야구선수인 사첼 페이지(Satchel Paige)를 기리는 의미도 있습니다.

페이지는 친구가 내게 야구소식을 알려주듯이, 관심 있는 구단 정보를 전해줍니다. 야구에 대해 궁금한 것이 있으면 물어볼 수 있으며, 퀴즈 서비스도 즐길 수 있습니다.

이 모든 과정은 AI가 담당합니다. 사람의 손을 거치지 않고 자동으로 데이터를 수집해 콘텐츠를 생성하여 사용자에게 전달합니다.

‘페이지’의 주요 기능은 다음과 같습니다.

1) 콘텐츠 탐색

사용자들이 손쉽게 관심 주제를 탐색하고 이용할 수 있는 환경을 구현했습니다. 개별 사용자의 선호도, 콘텐츠의 내용 및 지식의 흥미도를 분석하여 선별적으로 콘텐츠를 제공합니다.

2) 요약된 야구 뉴스

수시로 발생하는 야구 뉴스를 사건별로 요약하고, 관련 정보를 제공합니다. 최신 경기 정보, 뉴스 관련 선수 정보를 함께 보여줍니다.

3) 실시간 경기 하이라이트 요약

경기 중에는 하이라이트 지점을 실시간으로 탐지해냅니다. 경기 중 중요한 지점을 알려주고, 해당 상황은 요약 콘텐츠로 제공합니다. 데이터 기반의 경기 프리뷰와 관전 포인트도 제공합니다.

4) 흥미로운 야구 정보 생성

팁 & 선수 페이지에서는 기록을 바탕으로 흥미로운 정보를 제공합니다. 선수 페이지에서는 선수의 평균 능력치와 개인기록을 인포그래픽으로 보여줍니다.

5) 궁금해

사용자 질문에 답변하고, 관련 정보를 함께 전달합니다. 추천 질문 및 질의 자동 완성 기능도 제공합니다. 음성 인식을 통해 질문할 수도 있습니다.

6) 사용자 참여형 콘텐츠

사용자가 참여할 수 있는 야구 퀴즈 콘텐츠도 자동으로 생성합니다. 흥미로운 경기 기록, 뉴스 기사를 기반으로 생성하고 있습니다.

‘페이지’는 비공개 베타 테스트(CBT), 얼리 액세스(Early Access), 풀 액세스(Full Access) 3단계에 걸쳐 출시할 예정입니다. 각 단계를 거치면서 실시간 데이터 수집, 콘텐츠 생성, 사용자 전달까지의 모든 과정을 안정적으로 자동화할 계획입니다. 그리고 초기 사용자의 반응을 통해 서비스의 완성도를 향상하고자 합니다. 풀 액세스 이후에도 다양한 신규 콘텐츠를 추가하여 더욱 자연스러운 커뮤니케이션의 재미를 줄 수 있도록 할 것입니다.

커뮤니케이션 AI는 이제 시작입니다. 페이지에 개발되어 있는 내용도 저희가 생각하는 커뮤니케이션 AI 서비스의 처음 일부분일 뿐입니다. 페이지 서비스의 진화는 물론 페이지를 통해 얻은 기술 역량을 바탕으로 다양한 도메인의 서비스로 확장해 나가고자 합니다.

앞으로 이어지는 연재에서는 페이지에 적용된 주요 기술의 연구 현황에 관해 이야기하고자 합니다. 적용한 기술 외에도 관련하여 언어AI랩과 지식AI랩에서 현재 진행 중인 연구 내용도 소개하겠습니다.


이연수 NLP센터 언어AI랩(Language Lab) 실장. 자연어 이해, 기계번역, 자연어 생성, 정보 추출, Q&A 대화 등 여러 자연어처리 분야에 대해 기술 개발을 해 왔습니다. 자연어처리 기술을 통해 더 많은 정보와 재미를 나누는 수다스러운 AI 세상을 만들고 싶습니다.

 

 

정세희 NLP센터 지식AI랩(Knowledge Lab) 실장. 이동통신, 커머스, 제조, 음악, 금융, 게임 등 다양한 비즈니스의 데이터를 분석하고 모델링하여 더욱 인텔리전트한 서비스를 만들어 왔습니다. 지금은 훌륭한 동료들과 즐겁게 연구하고 재미있는 AI를 만들어가고 있습니다.