AI는 어떻게 모바일 키보드 오타를 잡았을까

네이버 개발자의 딥러닝 기반 오타 보정 모델링 후기

가 +
가 -

인공지능(AI)은 사소한 불편을 파고들어 새로운 가능성을 열곤 한다. 오타는 우리가 일상적으로 겪는 사소한 불편 중 하나다. 그렇다면 스마트폰의 가상키보드 오타 보정도 AI로 가능할까? 이에 대한 해답은 이미 나와 있다. 네이버는 최근 인공지능(AI)을 통해 스마트폰 키보드 오타를 줄여주는 서비스를 내놓았다. 딥러닝(RNN) 기반 모델링을 자사 키보드 앱에 적용해 자주 발생하는 오타를 자동으로 보정해주는 방식이다.

지난 10월11일 네이버의 연례 개발자 행사 ‘데뷰 2018’에서 이승윤 네이버 클로바AI 팀 개발자는 ‘모바일 키보드, 스마트보드에 AI 적용하기’라는 주제로 강연을 진행했다. 해당 연구·개발을 담당한 이승윤 개발자를 통해 딥러닝 기반 오타 보정 모델링의 자세한 개발 과정과 후일담을 들어볼 수 있었다. 이승윤 개발자는 “가상키보드 오타 보정을 AI로 할 수 있을지, AI로 어디까지 가능할지 생각하며 프로젝트를 기획했다”라고 서비스 개발 배경을 밝혔다.

| 이승윤 네이버 클로바AI 팀 개발자

 

딥러닝 초보에서 실제 개발까지

이승윤 개발자는 네이버에서 iOS 기반 모바일 개발을 맡고 있다. 딥러닝 분야에 대한 개발 지식이 부족한 상태에서 프로젝트 기획을 시작했고, 독학으로 딥러닝 개발에 대한 지식을 쌓았다. 딥러닝 모델링은 모델 개발 자체보다 데이터 수집의 비중이 크다. 이승윤 개발자는 데이터 수집의 어려움을 해결하기 위해 서울과학기술대학교와 산학 공동 연구를 진행했다. 오타에 영향을 주는 변인들을 탐색·평가하고 딥러닝을 위한 터치 데이터를 수집했고, 사용자마다 문자 입력 행태가 다르다는 점을 짚어 딥러닝을 활용해 인접한 키 간 오타를 줄여주는 개인화 알고리즘을 개발했다.

다양한 오타의 종류 중 주안점을 둔 건 ‘간섭’ 오타다. 인접한 키를 잘못 눌러 오타가 발생하는 경우다. 단순히 정답 단어를 정해놓고 추천해주는 방식이 아닌 가상키보드의 위치에 기반해 정타와 오타를 분류하고 데이터를 가공했으며, 이를 바탕으로 개인화된 알고리즘을 연구했다. 또 오타 보정 모델링 연구를 위해 진행한 사내 경진 대회에서 1위를 차지한 모델링을 서비스에 적용했다.

 

전·후 처리 과정의 중요성

하지만 개인화 알고리즘과 딥러닝 모델만으로 서비스가 바로 나오진 않았다. 실제 제품화를 위한 전·후 처리 과정에서 많은 시간이 걸렸다는 후문이다. 이 과정에서 사용성과 안정성을 높이기 위해 선택과 집중이 이뤄졌다. 기기 측면에서는 오타 보정이 지연되지 않고 즉각적으로 이뤄질 수 있도록 딥러닝 추론 시간을 고려해 ‘iOS11’, ‘아이폰7’ 이상만 지원하도록 했으며 저사양 단말기는 배제했다. 한 손 모드와 두벌식 자판 외의 키보드도 제외했다.

| 예측 불가능한 범위의 데이터를 제외해 실질적인 서비스 안정성을 높였다.

데이터 측면에서도 예측 불가능한 범위의 데이터를 뺐다. 모델링 자체가 정자세 데이터를 기준으로 이뤄진 탓에 누워있거나 다른 자세에서는 오타 보정에 있어 오류가 발생했다. 스마트폰 기울기에 따라 오타가 발생하는 패턴이 달라지기 때문이다. 이 때문에 수집한 데이터에 없는 범위의 데이터는 제외했고, 누워서 칠 경우 오타 보정 기능을 적용하지 않도록 했다. 즉, 양손으로 눕지 않은 정자세에서 키보드를 칠 때만 오타 보정 기능이 작동하도록 했다. 이밖에도 다양한 전·후 처리 과정을 거쳐 지난 9월 네이버 AI 키보드 앱 ‘스마트보드’에 딥러닝 기반 오타 보정 모델을 적용했다. 현재는 iOS 앱에만 적용됐으며, 10월 중 안드로이드 버전에도 업데이트될 예정이다.

 

입력 속도는 8% 향상, 오타율은 16% 감소

네이버 측에 따르면 딥러닝 기반 오타 보정 모델링을 테스트한 결과, 기존 가상키보드보다 입력 속도는 8% 향상됐고, 오타율은 16% 감소했다. 또 프로젝트 진행 과정에서 3개의 특허와 다수의 논문을 낼 수 있었다. 이승윤 개발자는 현재 서비스가 나오기까지 약 30번의 사용성 평가가 있었고 120번의 테스트 애플리케이션을 배포했으며, 총 5개팀과 협업했다고 밝혔다.

| 서비스에 적용된 모습

이승윤 개발자는 “AI를 실제로 사용해보니 엄청 힘들었고 8개월 정도 프로젝트를 진행했다”라며 “모델만 넣으면 딥러닝이 알아서 해주는 걸로 착각했는데, 전·후 처리와 모바일로 컨버팅하는 과정이 오래 걸렸고 결국 방망이를 잘 깎아야 한다는 걸 알았다”라고 후기를 전했다. 그리고 프로젝트 진행 과정에서 데이터 수집부터 모델링, 컨버팅, 최적화, 사용성 평가까지 이뤄지는 모바일에 딥러닝을 반영할 수 있는 순환 구조를 설립할 수 있게 돼 보람있었다고 말했다.

또 모바일 딥러닝 프로젝트를 진행하고 싶은 개발자에게 ▲딥러닝에 대한 기초 지식 ▲모바일에 대한 중급 지식 ▲높은 열정 ▲고통을 참을 수 있는 높은 인내력 등이 필요하다고 조언했다.

네티즌의견(총 0개)