if (kakao) dev 2018, 카카오의 첫 개발자 컨퍼런스 후기 (2/2)

if (kakao) dev 2018, 카카오의 첫 개발자 컨퍼런스 후기 (2/2)

if (kakao) dev 2018, 카카오의 첫 개발자 컨퍼런스 후기 (2/2)
Category
Share Story

1부에서 리뷰한 오전 세션을 통해서는 카카오의 인공지능 서비스 및 추구하는 방향과 사용자에게 좋은 경험을 제공하는 인공지능 서비스를 개발하기 위해 고려할 점 등을 고민해 보는 시간을 가졌습니다. 그리고 본편에서 소개할 오후 세션에서는 그동안 막연히 알고 있거나 잘 몰랐던 기술에 대해 조금은 더 깊이 이해할 수 있는 시간을 가졌습니다.

* 본 포스트는 카카오 개발자 컨퍼런스의 총 28개 세션 중 제가 참여한 6개 세션에 대한 입니다. if kakao dev 2018 홈페이지에 방문하시면 전체 세션 및 발표자료를 확인하실 수 있습니다. (바로가기)

  1. Keynote
  2. AI시대에 맞는 서비스 개발
  3. 카카오 봇 플랫폼 소개
  4. 무엇이든 물어보세요, 지식그래프: 카카오미니와 검색 적용
  5. 눈으로 듣는 음악 추천 시스템
  6. 카카오가 가지고 있는 음성처리 기술

 

  1. 무엇이든 물어보세요, 지식그래프: 카카오미니와 검색 적용

아마 구글의 지식그래프는 한 번쯤 들어보셨을 겁니다. 저도 막연히 단어 정도만 들어봤을 뿐 지식그래프가 정확히 무엇인지는 몰랐는데 이번 세션 발표를 통해 지식그래프가 무엇이고, AI 시대에 이 기술이 왜 중요한지를 느낄 수 있었습니다.

850798099

먼저 위키피디아의 정의를 보면 지식그래프는 ‘구글이 2012년 자사의 검색엔진에 적용한 기술로써 특정 키워드에 대한 정보를 다양한 소스로부터 취합하여 종합적으로 제공하는 방법’이라고 합니다. 예를 들어, Thomas Jefferson이라는 인물에 대해 검색을 하면 해당 인물의 직업부터 출생년도, 사망일, 대통령 임기 기간, 간략한 요약 정보 등을 비롯해 해당 다른 사용자들이 검색한 Thomas Jefferson과 연관된 다른 인물들에 대한 링크를 함께 검색 결과로 제공해줍니다.

물론 다음 및 네이버에서도 인물백과 등의 데이터베이스를 구축해서 특정 인물에 대한 종합적인 검색결과를 제공해주지만 이는 인물에 대한 별도의 DB를 구축하여 제공하는 것으로써 인물 DB 없이 검색 엔진이 스스로 웹 상의 다양한 출처로부터 정보를 취합 선별하여 결과를 제공하는 것과는 그 원리 및 기술에 있어 큰 차이가 있습니다. 예를 들어, 국내 검색 엔진을 통해 ‘문재인 대통령의 아내’라고 검색하면 인물백과 DB에 존재하는 ‘문재인 대통령’의 정보를 검색결과로 제공하고 ‘배우자’ 항목에 하이라이트를 쳐서 사용자가 원하는 결과를 얻을 수 있도록 합니다. 하지만 구글에서 ‘who is the wife of barack obama’라고 검색을 하면 바로 Michelle Obama의 인물 정보를 제공해줍니다.

그렇다면 이러한 기술이 AI 시대에 왜 중요할까요? 바로 NUI 환경에서 동작하는 인공지능 스피커 및 챗봇은 화면이 아예 없거나 제한적으로 존재하기 때문입니다. GUI 기반에서 검색을 할 때는 화면 상에 다양하고 많은 양의 정보를 동시에 제공해 줄 수 있기 때문에 사용자는 그 중에서 원하는 항목을 선택하거나 하이퍼링크를 타고 연관 정보로의 탐색을 계속하며 원하는 정보를 습득할 수 있습니다. 하지만 NUI 환경에서는 이러한 검색 경험을 전혀 제공할 수 없습니다. 사용자가 어떤 질문을 하면 그 결과만 핵심적으로 바로 제공을 해야합니다.

만약 내가 가수 이효리의 남편 이름과 그가 속한 그룹의 이름이 갑자기 기억나지 않는데, 그 그룹의 노래를 찾고 싶다고 가정을 해봅시다. 이 때 국내 검색엔진에 ‘이효리 남편이 속한 그룹의 노래’라고 검색을 하면 검색어와 동일한 키워드나 메타데이터가 포함된 웹문서가 존재하지 않는 한 검색 결과를 제공할 수 없습니다. 따라서 사용자는 우선 이효리 남편을 검색하고, 다음으로 그가 속한 그룹을 찾아 해당 그룹의 정보에 함께 제공되는 앨범 또는 곡 정보 링크를 통해 원하는 노래를 찾을 수 있습니다. 인공지능 스피커에서 이런 검색을 한다는건 말도 안 되는 일입니다.

하지만 지식그래프가 적용된 검색엔진을 활용하면 엔진이 자동적으로 이효리와 배우자 ‘관계’에 있는 이상순을 파악하고, 이상순이 속한 그룹이라는 ‘관계’를 통해 롤러코스터라는 그룹을 파악하여 바로 롤러코스터의 곡들을 검색결과로 제공해 줄 수 있습니다. 우리가 인공지능 스피커에 어떤 질문을 했을 때 기대하는 답변의 모습입니다. 이처럼 AI 시대에는 검색어에 해당하는 키워드 또는 메타데이터를 포함한 결과만 보여주는 우리가 익숙한 기존의 검색엔진이 아니라 지식그래프를 활용한 검색 기술이 필요합니다.

202
(Source: https://if.kakao.com/program)

다시 정리해서 말하자면 지식그래프는 검색어가 인물인지 동물인지 등을 파악하고 해당 검색어와 연결된 다양한 연관 정보를 종합적으로 파악한 후에 사용자가 원하는 결과를 우선적으로 선별하여 제공하는 것입니다.

그래서 카카오에서도 현재 지식그래프를 개발하여 카카오미니에 순차적으로 적용을 하고 있다고 합니다. 우선적으로 크게 6가지 카테고리에 해당하는 정보를 Fact 기반, 관계 기반, 위치/시간 기준으로 지식그래프 기술을 구현하고 있다고 합니다.

203
(Source: https://if.kakao.com/program)

이를 통해 우리는 ‘그룹 AA 리더의 나이가 몇이야?’라는 질문에 대한 답을 바로 얻을 수 있습니다.

204

205(Source: https://if.kakao.com/program)

이런 카카오의 지식그래프 기술이 빨리 고도화되어 카카오미니를 통해 실생활에서 다양하게 이용할 수 있는 날이 기다려집니다. 그 때가 되면 지금보다도 더 많이 우리가 상상하는 인공지능 같은 경험을 할 수 있지 않을까요?

* ‘지식그래프: 카카오미니와 검색 적용’ 발표의 더 자세한 내용은 카카오의 브런치에서 확인하실 수 있습니다. (바로가기)

 

  1. Keynote
  2. AI시대에 맞는 서비스 개발
  3. 카카오 봇 플랫폼 소개
  4. 무엇이든 물어보세요, 지식그래프: 카카오미니와 검색 적용
  5. 눈으로 듣는 음악 추천 시스템
  6. 카카오가 가지고 있는 음성처리 기술

 

  1. 눈으로 듣는 음악 추천 시스템

지식그래프 세션에 이어 바로 진행된 음악 추천 시스템 세션은 완전히 개발자 중심의 기술 기반의 발표여서 내용이 조금 어렵긴 했지만, 사용자의 취향에 맞는 음악을 추천하는 알고리즘 개발을 위한 개발자들의 다양한 테스트 과정을 엿볼 수 있어서 재미있었습니다.

이번 발표에서는 음악 추천 중에서도 ‘유사곡 추천’을 위한 다양한 실험 결과를 볼 수 있었는데, 유사곡을 추천하기 위해 어떻게 다양한 song vectors를 활용하는 지를 집중하여 설명했습니다.

206
(Source: https://if.kakao.com/program)

우선 Song Vector는 하나의 벡터 공간에 노래들을 잘 embedding 하기 위해, 각 노래들의 다양한 특성을 반영하도록 40~120차원의 고차원 벡터로 나타내는 것이라고 합니다. 제가 개발자가 아니라 정확한 의미는 이해하지 못 했지만, 맥락상 장르, 인기도, 발매 년도, 연주 기법, 가수, 템포, 악기 등 각각의 노래를 구분할 수 있는 특성 또는 변수 값으로 이해할 수 있지 않을까 생각합니다.

카카오는 멜론의 데이터를 활용하여 song vector를 모델링 한다고 하는데, 이를 위해 하루 1.5억 스트리밍, 5.6천만 user 플레이리스트. 18만 DJ 플레이리스트, 3천만 노래 음원/메타 데이터를 활용한다고 합니다.

207
(Source: https://if.kakao.com/program)

이렇게 방대한 데이터를 유저 피드백 데이터와 아이템의 contents 데이터로 나누어 각각 CF, CBF 방식으로 다양한 song vector를 모델링한다고 합니다. 그리고 이를 기반으로 카카오에서는 데이터의 유형과 분석 방법론의 조합으로 6가지 노래 딥러닝 방법론을 설계하고 데이터의 전처리 과정을 거쳐 알고리즘을 적용해 봤다고 합니다.

208209

(Source: https://if.kakao.com/program)

그 중에 우선 첫 번째 방법의 결과는 다음과 같습니다.

210211

장르, 인기도, 발매 년도 등에 따라 노래 데이터들이 시각화되어 표현되는게 매우 신기했습니다. 다음의 5가지 방법론에 대한 결과도 모두 시각화된 도표로 확인할 수 있었고, 6가지 방법론 별 각각의 장단점이 모두 다른 점 또한 신기했습니다. 글의 분량 제약상 다른 결과는 포함하지 않았지만, 다른 방법론의 결과를 확인하고 싶으신 분은 if kakao dev 2018 홈페이지에서 발표자료를 다운 받으시면 보실 수 있습니다.

음악 추천, 그 중에서도 유사곡 추천 하나를 위해서도 이렇게 많은 고민과 시행착오를 거쳐 다양한 방법론을 통해 사용자가 원하는 최적의 곡을 찾을 수 있는 알고리즘을 만들어 나아가는 과정을 시각화된 표현으로 확인할 수 있어서 재미있었던 발표였습니다.

* ‘눈으로 듣는 음악 추천 시스템’ 발표의 더 자세한 내용은 카카오의 브런치에서 확인하실 수 있습니다. (바로가기)

 

  1. Keynote
  2. AI시대에 맞는 서비스 개발
  3. 카카오 봇 플랫폼 소개
  4. 무엇이든 물어보세요, 지식그래프: 카카오미니와 검색 적용
  5. 눈으로 듣는 음악 추천 시스템
  6. 카카오가 가지고 있는 음성처리 기술/strong>

 

  1. 카카오가 가지고 있는 음성처리 기술

마지막 세션에서는 카카오미니에 적용 중인 음성 기술에 대한 발표가 진행됐습니다. TTS, 화자 인식 등 용어 및 개념은 어느 정도 알고 있는 기술도 있었고, 막연하게 알고 있던 기술도 있었고, 처음 들어본 기술들도 있었는데 각 기술에 대해 기술적인 이해도를 높일 수 있던 유익한 시간이었습니다.

발표자께서 ‘음성 인식 기술이 왜 어려운가?’라는 질문에 대한 답으로 초반에 재미있는 영상을 보여주셨는데, 다음 링크를 따라가 한 번 보시기 바랍니다. (영상보기) 여러분은 영상의 소리가 어떻게 들리시나요? 바비큐, 바비큐, 버니케어, 아뎅큐, 화네큐, 아니큐, 안익혀, 바늘키워, 다낼끼여, 화낼티여, 화낼끼여 등등. 동일한 음성이지만 어떤 맥락 안에서 또는 어떤 단어를 보면서 듣느냐에 따라 다르게 들리지 않나요?

이는 동일한 파형을 지닌 소리가 많기 때문입니다. 사람은 의식하지 않아도 뇌에서 자동적으로 어떤 소리의 파형을 이미 알고 있는 단어 중 맥락에 맞는 단어로 인식합니다. 처음 들어보거나 발음이 익숙하지 않은 영어단어가 잘 들리지 않는 이유도 여기에 있습니다. 이를 컴퓨터에 적용하면 음성 인식이 얼마나 어려운지 짐작할 수 있습니다. 아무리 인공지능 기술이 발전하고 있다지만 아직까지는 인간처럼 주변 환경을 포함한 맥락을 파악하지 못하고, 전후 단어 및 문장의 의미를 통해 단어를 추론하는 능력이 부족하기 때문입니다.

이번 발표에서는 이런 한계를 보완하기 위한 기술을 포함하여 더 나은 음성경험을 제공하기 위한 카카오의 음성 기술 6가지를 소개해 줬습니다.

  • Echo Cancellation

개인적으로 왜 처음 들어봤는지 모를 정도로 인공지능 스피커에게 매우 필수적인 기술입니다. 바로 스피커 자신이 내는 소리를 제거하여 사용자의 음성을 더욱 크고 명확히 인식하도록 돕는 기술 입니다.

인공지능 스피커를 통해 음악을 듣고 있을 때, 인공지능을 깨우기 위해 평소보다 소리를 높여 불러본 경험이 있으실 겁니다. 인공지능에게는 음악의 소리와 사용자의 소리가 겹쳐서 들어오기 때문에, 음악 소리의 파형과 구분 될 수 있을 정도로 사용자의 목소리 파형이 들어와야 인식을 할 수 있기 때문입니다.

이러한 상황을 보완하기 위해 카카오는 Echo cancellation 기술을 통해 스피커가 자체적으로 내보내는 소리는 자동으로 제거하여 외부 소리를 더욱 깨끗이 들을 수 있도록 지원하고 있으며, 이 기술이 적용된 제품은 국내에서는 카카오 미니가 유일하다고 합니다. 물론 아직까지 이 기술이 완벽하지 않기 때문에 음악 재생 볼륨이 80%가 넘어가면 echo cancellation이 잘 이루어지지 않는다고 합니다.

 

  • Combi wake up

아마 인공지능 스피커를 사용해 보셨다면 인공지능 스피커를 부르지 않았는데 스피커가 반응하는 경험이 다들 있으실 겁니다. 이는 앞서 설명했던 것처럼 스피커의 호출어(wake-up word)의 파형과 동일한 다른 단어가 들렸을 경우 이를 호출어로 잘못 인식하기 때문에 발생하는 것 입니다. 반대로 스피커를 불렀는데도 스피커가 이를 인식하지 못해 반응하지 않는 경우도 많습니다.

이러한 wake up 문제를 해결하고자 카카오에서는 combi wake up 기술을 적용하고 있다고 합니다. 자세한 기술적인 원리까지는 이해하지 못 했지만, 스피커 자체와 클라우드 서버 두 군데에서 호출어를 더블 체크하여 잘못 인식되는 케이스를 줄이는 기술이라고 합니다.

212

  • Far-field, noisy audio

이 기술은 수학적이고 물리적인 수식을 통해 스피커에 입력되는 소리의 크기를 보정하는 기술입니다. 멀리서 인공지능 스피커를 이용하면 인식도 잘 되지 않고 잘못 알아듣는 경우가 많습니다. 이는 1차적으로 사용자의 발화 소리가 멀리서 올 경우 스피커에 입력되는 소리의 크기 자체가 작기 때문이고 2차적으로 주변 벽, 사물 등에 반사된 소리가 시간차를 두며 입력되기 때문에 노이즈 문제가 발생하기 때문입니다.

카카오에서는 이런 문제를 해결하고자 다양한 방의 크기 및 사용자와 스피커간의 거리 등을 고려하여 수식적인 계산을 통해 사용자가 멀리서 말한 소리도 깨끗하게 들을 수 있도록 하고 있다고 합니다.

213

  • Training

그리고 인공지능의 음성인식 모델은 지속적으로 학습을 해야 하는데요, 카카오에서는 PM(pronunciation Model), AM(Acoustic Model), LM(Language Model)의 세 가지 방법을 통해 지속적으로 음성인식 모델을 고도화 하고 있다고 합니다.

214

  • Speaker Verification

이미 구글홈에는 어느 정도 적용이 되어 있고, 국내의 많은 인공지능 스피커 사용자들이 기다리고 있는 기술 중 하나가 아닐까 생각합니다. 바로 ‘화자 식별’ 기술입니다. 화자 식별이 가능해지면 인공지능 스피커가 공용공간에 놓여 있어도 개인정보 등에 대한 우려를 할 필요가 없고, 보다 개인화된 서비스를 이용할 수 있게 됨으로써 진정한 AI 시대를 경험하는 출발점이 될 수 있습니다. 현재 카카오미니에서 카카오톡 메시지를 확인하지 못하는 이유가 바로 이 화자 식별 기술이 적용되지 않아서라고 하니, 이 기술이 적용이 된다면 카카오미니를 통해 카카오톡 메시지도 확인하고 말로 대화하듯 채팅을 할 수 있게 되리라 예상합니다.

빠르면 내년 상반기쯤에 보이스 프로필 기능이 적용될 수도 있다고 하는데, 하루 빨리 적용이 되기를 소망해봅니다.

 

  • TTS (Text To Speech)

텍스트를 음성으로 변환하는 이 기술은 아마 이제는 누구나 한번쯤은 들어봤으리라 생각합니다. 그만큼 오래됐고 많이 알려진 기술이지만 아직까지 사람의 녹음 없이 인공지능만으로 완벽히 자연스러운 음성을 구현해 내는 데에는 한계가 많았습니다. 하지만 올해 구글 I/O에서 공개된 Duplex의 음성과 같이 이제는 사람처럼 자연스러운 음성이 가능해졌습니다.

카카오에서도 지속적인 학습을 통해 인공지능이 억양, 어투, 쉬는 순간 등을 적용하여 말을 할 수 있고, 집중하지 않고 들으면 사람인지 기계인지 구분이 어려울 정도로 기술이 많이 발전했음을 느낄 수 있었습니다.

* 카카오 Speech API 웹페이지에서 카카오의 TTS 기술을 체험해 보실 수 있습니다. (바로가기)

 

카카오의 첫 개발자 컨퍼런스. 개인적으로 매우 재미있었고 유익했던 시간이었습니다. 앞으로도 지속적으로 사용자에게 좋은 경험과 가치를 제공하는 카카오가 되기를 바라며 후기를 마치겠습니다.

 

– UX1 컨설팅그룹 정지용

 

 

* 타이틀 및 본문내 이미지 출처 https://if.kakao.com/
* 본 후기를 비롯한 if kakao dev 2018의 모든 발표자료는 공식 홈페이지에서 다운받아 보실 수 있습니다. (바로가기)
* 후기 전편 보기 (바로가기)