[AI·tech=카카오의 AI 이야기]
- 브랜드와 편의성 고려된 ‘호출어’…3~5음절 적당, 핵심어 검출 기반 인식 기술 활용
[AI 이야기]‘헤이, 카카오’ 음성인식 호출어에 숨은 비밀
[정대성 카카오엔터프라이즈 음성인식파트 셀장·박종세카카오엔터프라이즈 음성인식파트·카카오엔터프라이즈 기술블로그] 카카오미니를 켜면 “이제 ‘헤이, 카카오’라고 불러주세요”라는 말이 들린다. 여느 음성 인식 스피커와 마찬가지로 카카오미니에 원하는 명령을 하려면 일단 스피커를 불러야 카카오미니가 귀를 기울이고 사용자의 명령을 들을 준비를 한다.


‘헤이, 카카오’와 같이 스마트 스피커를 부르는 단어를 호출 명령어(wake-up word) 또는 호출어라고 한다. 그냥 ‘야, 노래 좀 틀어봐’라고 하면 편하겠지만 그러면 스피커는 사용자가 자신을 부르는지 인식하지 못한다. 그래서 조금 귀찮더라도 정해진 호출 명령어를 불러줘야 한다. 각 제품마다 여러 가지 호출 명령어가 있고 사용자는 이들 중 하나를 선택해 사용하게 된다.


발음 쉽고 음성 또렷이 구분되게 결정
스피커마다 호출 명령어는 다르다. 국내에 출시된 인공지능(AI) 스피커는 이름도 많지만 이를 부를 때 사용하는 호출 명령어는 더 다양해 헷갈릴 정도다. 이렇게 다양한 호출 명령어는 기술적인 측면과 사업적 판단이 함께 고려돼 선정된 결과다.
[AI 이야기]‘헤이, 카카오’ 음성인식 호출어에 숨은 비밀
일반적으로 호출 명령어로는 3음절에서 5음절의 단어가 적당하다. 너무 짧으면 스마트 스피커가 호출 명령어인지 아닌지 식별하기 어렵고 너무 길면 이용자가 말하기 힘들기 때문이다.


단어의 끝이 ‘ㅏ’, ‘ㅑ’인 명령어는 이용자가 발음하기 쉬울 뿐만 아니라 단어의 음성이 또렷하기에 스마트 스피커가 알아듣기에도 용이하다. 반면 ‘ㅜ’, ‘ㅡ’로 끝나는 단어는 음성의 크기가 작아 적절하지 않다. 또 ‘ㅋ’, ‘ㅌ’, ‘ㅍ’, ‘ㅅ’과 같이 구분이 잘되는 발음을 만들어 내는 단어가 호출 명령어로 적합하다.


이러한 기술적 특성과 함께 기업명이나 플랫폼 명칭 등을 포함하거나 브랜드 아이덴티티를 종합적으로 고려해 호출 명령어를 선정한다. 결국 사용자가 부르기 쉽고 회사의 이미지에 어울리는 단어가 선정되는 것이다.


호출 명령어는 단순히 스피커를 부르는 용도로만 쓰이는 게 아니라 그 자체로 브랜드가 돼 가고 있다. 아마존의 알렉사는 완전히 플랫폼 명칭이 됐다. 구글 또한 최근 구글 어시스턴트가 아닌 ‘헤이 구글’이란 호출 명령어를 스마트 스피커 브랜딩에 적극 활용하고 있다. 호출 명령어가 상품명보다 더 기억하기 쉽고 사람들에게 친숙하기 때문이다. 카카오미니 역시 호출 명령어 ‘헤이, 카카오’를 통해 사용자에게 가까이 다가가고 있다.


그러면 카카오미니는 일상 대화와 호출 명령어를 어떻게 구분할까. 스피커가 호출 명령어를 알아듣게 하기 위해 핵심어 검출(keyword spotting) 기반의 음성 인식 기술을 사용한다. 이는 사람의 음성을 계속 듣고 있다가 특정 키워드가 발성됐는지 검출하는 방법이다. 예를 들어 ‘헤이, 카카오. 신나는 노래 틀어’라고 말하면 과 같이 연속으로 입력되는 음성 구간에서 키워드(헤이, 카카오)에 해당하는 발음 시퀀스(sequence)가 순차적으로 입력되는지 지속적으로 감지한다.
[AI 이야기]‘헤이, 카카오’ 음성인식 호출어에 숨은 비밀
조금 더 구체적으로 살펴보자. 핵심어 검출은 ’와 같은 순서로 동작한다. 우선 발화자의 음성에서 특징(feature) 벡터를 추출한다. 특징 벡터는 음성의 특성을 잘 반영하고 편리한 계산을 위해 사용된다. 일반적으로 사용되는 특징 벡터에는 멜 주파수 켑스트럼(MFCC)이나 필터 뱅크 에너지(FBE) 또는 지각 선형 예측(PLP) 등이 있다.
[AI 이야기]‘헤이, 카카오’ 음성인식 호출어에 숨은 비밀
스피커는 현재 음성 신호가 들어오는지 확인하고 해당 음성 구간이 키워드인지 아닌지 판별한다. 키워드 판별을 위해서는 미리 구성한 ‘음향 모델’을 사용한다. 음향 모델은 많은 사람의 목소리가 저장된 음성 데이터베이스를 바탕으로 적절한 기계 학습을 통해 구축한다. 핵심어 검출을 위한 음성 인식 네트워크는 키워드 모델, 안티-키워드 모델, 백그라운드 모델 그리고 이들의 연결 구조로 이뤄진다. 시작 노드(node)에서 시작해 각각의 모델 경로를 지나갈 수 있고 음성이 지속적으로 입력되기 때문에 종료 노드에서 다시 시작 노드로 되돌아갈 수 있다.


키워드 모델은 과 같은 키워드 단어의 발음열에 해당하는 음소 단위 HMM(Hidden Markov Model)을 연결한 것이다. 백그라운드 모델은 키워드가 아닌 모든 음성에 대응 가능한 모델이다. 일반적으로 각각의 음소 모델을 활용한다. 만약 N개의 음소를 정의한다면 N개의 백그라운드 음소 모델을 구성할 수 있다. 안티 키워드 모델은 키워드와 유사한 발음을 가진 단어에 대응 가능한 모델이다. 만약 키워드가 ‘카카오’라면 이와 유사하게 들릴 수 있는 단어를 안티 키워드로 등록해 잘못된 인식을 방지할 수 있다.


카카오미니의 핵심어 검출 엔진은 안티 키워드 모델과 DNN 기법을 적용해 인식률이 높다. 저전력, 빠른 응답 그리고 적은 메모리 사용을 위해 알고리즘 최적화 과정이 수행된다.
대부분의 AI 스피커는 몇 개의 호출 명령어 중에서 하나를 선택하는 방식을 사용한다. 이때 실제로 동작하는 키워드는 한 개가 되며 싱글 키워드를 검출하는 형태로 동작한다. 만약 사용자가 호출 명령어로 ‘키워드 A’를 선택하면 그에 대응하는 안티 키워드 A1, 안티 키워드 A2, 안티 키워드 A3가 함께 적용되며 호출 명령어를 변경하면 그에 맞게 안티 키워드 목록도 함께 변경된다.


카카오미니의 음성 인터페이스 발전 방향
지금보다 더 쉽고 편리하게 카카오미니를 사용하는 방법은 없을까. 카카오미니의 서비스가 다양해짐에 따라 음성 인터페이스에서의 새로운 요구 사항도 많아질 것이다. 여러 가지 발전 방향들 중에서 개인화, 멀티 플랫폼, 멀티 모달, 상황 인지를 더 살펴본다.


△개인화(personalization)=사람의 외모·성격·취향 등이 모두 다른 것처럼 사용자마다 목소리 특성, 사용 방법, 선호하는 호출 명령어도 다르다. 이러한 개인의 차이를 반영하는 것도 중요한 과제다. AI 스피커에 입력된 사용자의 목소리를 스피커 내에서 바로 학습해 해당 사용자의 호출 명령어를 더 잘 인식하도록 하는 방법도 많이 연구되고 있다.


△멀티 플랫폼(multi-platform)=최근 AI 스피커에 많은 기능과 서비스가 탑재되다 보니 하나의 플랫폼에서 모든 서비스를 처리하는 게 쉽지 않다. 이런 상황에서 하나의 플랫폼보다 여러 플랫폼을 연동하는 방식도 고려할 수 있다. 애플 시리가 수학 연산이나 질의응답 도메인에 대해 또 다른 AI 플랫폼으로 스티븐 울프럼이 만든 지식 엔진(knowledge engine)인 울프럼 알파를 연동해 답변해 주는 것은 오래된 사례다. 또 다른 방식으로 스마트폰이나 가전 제어는 삼성전자 빅스비를 이용하고 카카오톡 보내기, 음악 재생, 길 찾기 등은 카카오 i를 이용하는 경우도 상상해 볼 수 있다.


△멀티 모달(multi-modal)=음성 외에 버튼·센서·카메라 등 다른 입력 수단을 이용해 스마트 기기를 호출하거나 이를 음성 인식과 함께 사용하는 방식도 많다. 손목을 위로 들면 스마트 워치에 탑재된 음성 비서가 바로 실행되거나 집 안에 있는 카메라를 똑바로 쳐다보면 사용자의 얼굴을 인식해 ‘김철수 님, 무엇을 도와드릴까요’라고 물어볼 수도 있다.


△상황 인지(context aware)=이심전심
(以心傳心)이라는 말처럼 카카오미니가 자기 마음을 알아주면 참 편리할 것이다. 말하지 않아도 외출할 때면 전등을 꺼주고 요리할 때는 타이머를 설정해 주고 잠이 들면 음악도 꺼지게 하는 것처럼 말이다. 이처럼 눈치 100단의 카카오미니라면 목 아프게 ‘헤이, 카카오’라고 부르지 않아도 되지 않을까. 지금의 카카오미니는 사용자 명령에 대한 답변이 끝나고 나면 호출 명령어를 부르지 않고도 연속으로 명령할 수 있도록 설계돼 있다. 이는 사용자가 연달아 질문할 때가 많다는 것을 고려한 음성 인터페이스다.



[본 기사는 한경비즈니스 제 1292호(2020.08.31 ~ 2020.09.06) 기사입니다.]