다음에 쓸 문장을 자동으로 알려주는 G메일의 새로운 AI 기능
※ 아래 글은 정보통신기술진흥센터(IITP)가 발간하는 주간기술동향 1855호(2018. 7. 18. 발행)에 기고한 원고입니다.
▶ IITP에서 PDF 포맷으로 퍼블리싱한 파일을 첨부합니다. 가독성이 좋으니 참고하시기 바랍니다.
다음에 쓸 문장을 자동으로 알려주는 G메일의 새로운 AI 기능.pdf
◾ 구글은 최근 지메일(Gmail)의 기능을 대폭 업그레이드했는데, 7월부터 정식 제공 중인 AI(인공지능)이 다음에 쓸 문장을 제안해주는 ‘스마트 컴포즈(Smart Compose)’가 대표적
▸ 사용자가 메일을 쓰기 시작하면 AI가 연속적으로 문구를 생성해 주므로, AI가 제안한 문장이 의도와 부합한다면 쓰기 시작하는 것만으로 문장을 완결할 수 있어 메일 작성 시간을 크게 단축시킬 수 있음
▸ 스마트 컴포즈는 이번 일반 공개에 앞서 작년부터 시험 버전으로 공개된 바 있는데, 사용법은 간단해서 지메일 작성 화면에서 문자를 입력하면 AI가 알아서 문구를 생성
<자료> How-To Geek
[그림 1] 지메일 스마트 컴포즈 기능
▸ 가령 ‘How’를 입력하면 AI는 ‘How are you doing?’이라는 문장을 생성하는데, AI가 제시하는 문구(이 경우 ‘are you doing?’ 부분)는 회색으로 표시되며 탭을 누르면 검은색으로 바뀌며 문장이 확정됨
▸ 사용자들의 평은 대체로 기대했던 것 이상으로 편리하다는 것인데, 메일을 쓰고 나면 AI가 생성한 문장들이 메일의 대부분을 차지하고 있음을 알 수 있다는 것임
▸ 상대방 이름은 AI가 이메일 주소를 보고 유추해 생성한다고 하며, 작성자의 주소 등의 문구는 AI가 사용자의 개인정보를 파악하여 자동으로 삽입한다고 하는데, 개인에 따라 불편한 감정이 들 수도 있지만 이는 편리함을 얻기 위해 지불해야 하는 대가임
◾ 메일의 인사말 워딩은 아주 다양하지만, AI는 이런 다양성을 학습하여 사용자의 의도가 명확히 판별되는 시점에서 문장을 완성하여 제시함
▸ AI는 다양한 인사말 서식을 학습하고 있는데, 가령 ‘Hope’를 입력하면 이어서 ‘all is well with you’라는 문장을 생성함
▸ 이 문구가 아닌 다른 표현을 쓰고자 하는 경우에는 탭을 누르지 않고 계속 쓰면 되는데, ‘Hope e’까지 타이핑을 하면 AI는 ‘everything is going well with you’라는 문장을 생성하며, ‘Hope w’로 타이핑 하면 ‘work is going well’을 생성함
<자료> Fast Company
[그림 2] 스마트 컴포즈의 인사말 생성
▸ 즉, 쓰고 싶은 문장에 대한 힌트만 입력하면 AI가 그 문장을 완결해준다는 것으로, 인사말의 변화는 다양하지만 스마트 컴포즈는 이런 다양성에도 충분히 대응하고 있음
▸ 스마트 컴포즈의 AI가 어느 정도 서식이 정해진 인사말과 맺음말 부분만 작성하는 것은 아니며, 메일에서 가장 중요한 중간 부문의 문장도 생성함
▸ 본문도 글을 쓰기 시작하면 AI가 의미를 헤아려 그 다음에 나오는 단어를 생성하는 것은 동일하지만, 조금 복잡한 내용의 메일이 되면 AI가 생성해 주는 부분은 적어짐
▸ 따라서 스마트 컴포즈의 기능은 아직 제한적이라 할 수 있는데, 이를 보완하여 AI가 작성할 수 있는 내용의 범위를 넓혀가는 것이 다음 목표가 될 것으로 보임
◾ 스마트 컴포즈를 뒷받침하고 있는 AI는 알고리즘 학습을 거듭하여 메일 생성 능력을 습득하는데, 이 AI는 ‘언어생성모델(Language Generation Model)’이라고 불림
▸ 언어생성모델은 입력된 문자열에서 다음 단어를 예측하는 것으로, 일반적으로 ‘ 시퀀스-투-시퀀스(Sequence to Sequence, Seq2Seq) 모델’로 분류됨
▸ 지메일은 언어생성모델로 ‘회귀신경망-언어 모델(Recurrent Neural Network-Language Model, RNN-LM)’을 사용하며, 동시에 단어들의 분포를 보고서 문서의 유형을 판단하는 ‘단어 가방 신경망(Neural Bag of Words, BoW)’ 기법을 사용함
▸ RNN-LM은 RNN(시간에 종속적인 신경망) 기반의 언어 모델로 언어 생성의 단골 기법인데, 구글의 번역 서비스인 ‘구글 신경망 기계 번역(Google Neural Machine Translation)’에서 RNN-LM을 사용하고 있음
▸ RNN-LM은 Encoder(인코더, 단어를 부합하여 응축) 과정과 Decoder(디코더, 부호에서 단어를 생성) 과정으로 구성되는데, 번역 모델에서는 어떤 언어를 인코더에 입력하면 디코더가 다른 언어로 번역해 주는 식으로 작동함
◾ 지메일이 RNN-LM과 BoW를 동시에 사용하는 것은 예측 정확도와 처리 시간 단축 사이의 균형점을 찾아 적절한 서비스를 제공하기 위해서임
▸ 지메일에 RNN-LM을 적용하면 알고리즘이 이메일의 문장을 생성하는데, 이 때 인코더에 입력되는 것은 메일 제목과 수신 메일(회신 메일을 쓸 경우)이며, 디코더는 이용자가 이메일을 작성함에 따라 이어지는 문구를 생성하게 됨
▸ RNN-LM은 예측 정확도는 높지만 대규모 연산이 발생하기 때문에 응답이 나오기까지 시간이 걸리는데, 이용자가 타이핑할 때마다 다음 문구를 생성해야 한다면 RNN-LM을 서비스에 사용할 수는 없음
▸ 이 때문에 지메일은 RNN-LM과 BoW를 함께 사용하는데, BoW도 언어 모델의 하나로 말의 순서에서 다음에 나타나는 단어를 예측함
▸ BoW에서 단어는 위치 정보를 포함하는 벡터로 표현되며 ‘워드 임베딩(Word Embedding)’이라고도 하는데, 지메일은 메일 제목과 수신 메일을 인코딩할 때 이 워드 임베딩을 사용함
▸ RNN-LM의 디코딩의 각 단계에서 워드 임베딩을 입력하면 디코더가 텍스트를 생성하는데, 가령 ‘How’를 입력하면 RNN-LM은 ‘are you doing?’이라는 문장을 생성함
▸ 이처럼 RNN-LM의 인코딩 부분에 가벼운 BoW를 사용함으로써 지메일은 후속 문장 생성 연산으로 인해 발생하는 지연시간을 단축하는 데 성공했음
<자료> Google
[그림 3] 스마트 컴포즈 AI의 언어생성모델인 RNN-LM
◾ 지메일의 스마트 컴포즈는 기존 문장 자동 완성 서비스에 비해 지능적이고, 앞으로도 계속 기능이 보강될 예정이어서 이용이 점차 확산될 것으로 예상됨
▸ 마이크로소프트 아웃룩에서도 메일을 작성하거나 워드에서 글을 쓸 때 창에 문장 후보가 제시되기는 하며, 이를 잘 사용하면 문장을 효율적으로 쓸 수 있음
▸ 그러나 이 기능은 언어 입력 변환의 경우, 즉 한글을 영어로 변환하는 경우에 사용할 수 있는 문자 변환 기능이어서 이용 범위가 제한되며, 무엇보다 변환의 정확도가 낮아 실망스러운 경우가 적지 않음
▸ 이에 비해 지메일의 스마트 컴포즈는 입력된 문자나 단어에 반응하여 이어지는 문장을 생성해 주는 것이므로 보다 지능형 기능이라 부를 만함
▸ 스마트 컴포즈는 이제 막 선보이 기능으로 앞으로 계속 보완되어 갈 것이며, 구글에 따르면 현재 이용자의 문체로 문장을 생성하는 알고리즘이 개발되고 있다고 함