네이버 클로바, 어떻게 똑똑한 DJ로 거듭났나

협업 필터링 등 활용, 맥락에 맞게 추천

컴퓨팅입력 :2017/10/17 17:31    수정: 2017/10/18 07:09

손경호 기자

네이버의 인공지능(AI) 플랫폼 클로바가 공개된 지 5개월여가 지났다.

클로바를 내놓을 당시 네이버의 목표는 영화 '아이언맨'에 등장하는 '자비스' 같은 진정한 AI 플랫폼을 만드는 것이었다. 하지만 이를 위해선 해결해야할 문제들도 만만치 않다.

여기서 중요한 것 중 하나가 음악 추천기능이다. 클로바앱과 연동되는 AI 스피커인 웨이브, 프렌즈 등에서 사용자들이 가장 많이 찾는 기능은 음악재생이기 때문이다.

그런데 음악추천은 생각처럼 간단하지가 않다. 같은 사람이라도 시간마다, 기분마다 달라지는 만큼 정교하게 만들기 어려운 분야 중 하나로 손꼽힌다.

17일 네이버 개발자 컨퍼런스 데뷰 2017(DEVIEW 2017) 둘째날 네이버에서 클로바의 AI 선행기술 연구팀 클로바AI리서치(CLAIR) 하정우 리더와 클로바 뮤직 김찬주 테크리더는 그동안 클로바가 제대로 음악을 추천해주는 똑똑한 DJ로 거듭나게 하기 위한 고민과 결과물들을 공유했다.

네이버 클로바 AI 선행기술 연구팀 CLAIR 하정우 리더.

■ 클로바 음악추천, 협업필터링-콘텐트 기반 필터링은 기본

클로바는 음악추천을 위해 기본적으로 2가지 기술을 활용한다. 하나는 협업필터링이다. 이 방법은 비슷한 사용자들을 묶은 뒤 해당 분류 내에 사용자 A가 좋아하는 곡이라면 B도 좋아할 가능성이 높다는 가정에서 출발한다.

그러나 하정우 리더에 따르면 이런 방법은 사용자나 곡이 계속 늘어날수록 추천의 정확도가 떨어진다. 특히 앨범이 다르지만 같은 곡들이 중복되거나 악의적으로 해당 곡에 나쁜 점수를 주는 경우, 신곡에 대한 로그가 없어 유사성을 분석할 방법이 없다는 한계를 가진다.

이에 따라 콘텐츠 기반 필터링이 활용된다. 딥러닝 알고리즘을 활용해 사용자, 곡, 기타 정보 등을 입력해 특징을 뽑아내는 방식이다.

그러나 이런 방법도 한계가 있었다. 여전히 사용자 선호도가 바뀌는 것을 반영하기 어렵다. 이에 더해 사람이 만족할만한 것을 추천해준다는 것을 수학적인 함수로 표현하기도 어렵고, 데이터에 대한 전처리, 후처리 과정을 진행해야한다는 점도 과제였다.

■ 딥러닝 활용, 더 정교한 추천

이 같은 점을 고려해 클로바 음악추천은 크게 3가지 방법을 추가로 활용했다.

김찬주 리더에 따르면 클로바앱과 웨이브에 대고 사용자가 말한 음악추천 관련 문장을 분석해 보면 음악 제목 보다는 아티스트를, 아티스트 보다는 장르나 분위기 혹은 테마를, 이런 것들보다는 그냥 '노래 틀어줘'라는 말을 더 선호한다.

문제는 '신나는 노래 틀어줘', '혼자 듣기 좋은 노래 틀어줘'와 같은 음성명령에 대해 잘 정리된 메타데이터를 확보하고 있지 않다는 점이다. 더구나 똑같이 신나는 노래라고 하더라도 개인화된 플레이 리스트를 반영하는 것은 더 어려운 일이다.

클로바 뮤직은 태그로 분류된 곡들이 충분치 않은 상황에서도 사용자에게 맞춰 더 정확하게 원하는 곡들을 추천해주는 것을 목표로 한다.(자료=네이버)

김찬주 리더는 이런 문제를 해결하기 위해 클로바에 '뮤지컬 시맨틱 임베딩(Musical Semantic Embedding)'이라는 방법을 적용했다고 설명했다.

곡, 아티스트, 관련 단어들의 유사성을 파악할 수 있는 딥러닝 알고리즘(Word2vec, Feature learning)을 적용해 추천 기능을 보다 정교하게 만들었다는 설명이다.

보다 개인화된 추천리스트를 만들기 위해서는 매트릭스 팩토라이제이션(Matrix Factorization, MF)이라는 머신러닝 기법을 추가로 활용한다. 이는 추천하는 플레이리스트를 만들 때 사용자가 가장 선호할만한 곡, 아티스트를 선택하는데 쓰인다.

이 과정에서 사용자가 네이버 뮤직에서 플레이리스트에 설정한 해시태그와 7만2천개 플레이리스트가 딥러닝 알고리즘에 학습됐다.

이를 통해 '가을'이라는 키워드에 대해 가을에, 가을의, 가을밤, 가을노래, 찬바람, 쌀쌀하다 등을 비슷한 키워드로 묶고 가을에(로이킴), 가울이오면(이문세) 노래 등을 추천해준다.

또한 '신나는'이라는 범위가 넓은 키워드에 대해서도 딥러닝이 학습한 내용을 바탕으로 유사한 분위기의 곡을 추천해준다.

추가로 멀티모달 시맨틱 임베딩(Multimodal Semantic Embedding)은 사용자가 듣고 있는 음악에 대한 신호를 일종의 문서 형태로 보고 분석해 저마다 다른 선호할만한 곡을 추천한다. 아이유 밤편지를 듣고 있는 사용자들이라고 하더라도 이와 연계해 서로 다른 연관된 플레이리스트를 추천해준다.

딥러닝을 활용 음악에서 하이라이트만 추출해내는 기술. 1분 미리듣기에 활용할 수 있다.(자료=네이버)
음악을 분석해 어떤 감정을 가졌는지 추론하는 기술. 더 정확한 음악 추천에 활용할 수 있다.(자료=네이버)

그럼에도 불구하고 클로바앱을 활용해 웨이브, 프렌즈 등과 같은 AI 스피커로 음악을 듣는 과정에서 사용자와 상호작용하며 추천해줄 수 있는 방안을 마련해야하고, 계속 검색하며 직접 음악을 선택해서 듣거나 그냥 틀어놓는 경우에 따라 다른 추천 방식을 적용하며 익숙한 노래를 좋아하는지 새로운 노래를 좋아하는지 등 개인 마다 다른 맥락을 이해하면서 추천을 해줘야한다는 과제가 남아있다.

■1분 미리듣기 개선-노래가 가진 감정 인지 기술도 개발 중

클레어는 일반 음악 서비스에 제공되는 1분 미리듣기를 개선하는 방안, 해당 곡이 어떤 감정을 표현하고 있는지를 알려주는 방법에 대해서도 연구를 수행 중이다.

하정우 리더는 "많은 상용 음악 서비스들이 무료 1분 미리듣기를 제공하는데 곡의 처음만 나온다"며 "한 곡의 하이라이트 부분만 뽑아서 제공하면 가치가 있지 않을까 하는 생각에 연구를 시작하게 됐다"고 말했다.

이에 따라 개발 중인 '뮤직 하이라이트 익스트랙션(Music Hilight Extraction)'은 해당 곡의 가장 중요한 부분만 뽑아서 1분 미리듣기로 재생해주는 것을 목표로 한다. 이를 위해 한 곡 전체의 주파수를 분석해 딥러닝 모델을 돌려 주목도가 가장 높은 구간을 뽑아내는 방법을 썼다.

이와 함께 개발 중인 음악적 감정 인지(Musical Emotion Recognition)는 주어진 곡으로부터 사람들이 어떤 감정을 느낄지를 구분해내는데 공을 들인다. 딥러닝 기법 중 멀티모달 컨볼루셔널 리커런트 네트워크(MCRN)을 활용해 해당 곡의 음원과 가사를 한번에 딥러닝으로 돌려 긍정적인지, 부정적인지를 판별하도록 했다.

앞으로 과제에 대해 하정우 리더는 "AI 스피커에 필요한 음악추천은 더 선제적으로 상호작용할 필요가 있다"고 강조했다. 사용자가 어떤 노래를 들려달라는 명령없이도 알아서 상황에 맞는 노래를 추천해주는 수준까지 진화해나갈 필요가 있다는 설명이다.

관련기사

이와 함께 음악추천이 워낙 주관적인 영역인 탓에 사람이 중간 중간 개입해서 추천 관련 정보를 개선시켜줘야하는 부분도 아직은 중요한 영역이라고 덧붙였다.

그는 "(클로바를 더욱 더 개선해) 스마트한 서비스를 넘어 사람들에게 감동을 줄 수 있는 서비스로 만들기 위해 노력할 것"이라고 말했다.