오늘은 ‘음성인식 AI'로 통칭되지만 각기 다른 특징과 목적을 가지고있는 다양한 요소 기술- 특히 화자인식(Speaker Recognition)을 살펴봅니다.
얼마 전, 애정하는 예능 중 하나인 <유퀴즈온더블럭>을 보며 21년차 베테랑 속기사, 유병임 님을 통해 속기사의 업무를 살펴볼 수 있었어요. 그는 속기사를 시작하게 된 계기를 말하며, 사람마다, 지방마다 쓰는 단어가 모두 다르기 때문에 1시간 짜리 분량에 대한 초안 작성에만 네다섯시간이 소모된다고 언급했죠. 또한, 가족간의 대화는 목소리가 모두 비슷하기 때문에 속기의 난이도가 높다고도 덧붙였어요. 속기를 할 때 개인이 쓰는 목소리나 언어의 특징에 따라, 또한 여러 명이 말하는 상황적 특성에 따라 난이도가 다르듯 음성인식 기술 또한 비슷한 맥락을 가지고 있습니다.
출처: TVN <유퀴즈온더블록>음성인식 VS. 화자인식
오늘은 ‘음성인식 AI'로 통칭되지만 각기 다른 특징과 목적을 가지고있는 다양한 요소 기술- 특히 화자인식(Speaker Recognition)을 설명드리려고 합니다. 잘 ‘듣고 이해’하기 위해서는 소음 환경을 제거(Noise Cancelling)한 후 사투리나 신조어 등을 이해하는 것도 필수적이지만, 여러 명이 이야기하는 경우 ‘누구의 목소리인지'를 구분하는 것 또한 중요한 과제 중 하나입니다. 오늘은 화자인식으로 통칭되는 기술 카테고리 안에 어떠한 요소 기술이 있는지, 그리고 각 기술에 따라 쓰임새가 어떻게 달라지는지를 하나씩 짚어볼게요.
등록된 목소리 중 제일 비슷한 너, 화자 식별(Speaker Identification)
등록된 여러개의 목소리를 비교하여 지금 말하는 화자가 누구인지를 알아내는 화자 인식(Speaker Recognition) 기술 중 하나입니다. 만약 가족 구성원 두명, '다은'과 '현우'의 목소리를 AI 스피커에 등록했다고 가정해볼게요. 이때 다은이 AI스피커에게 ‘블루투스 핸드폰 연결해줘'라고 명령한다면, AI 스피커는 현우가 아닌 다은의 핸드폰을 연결해야 합니다. 때문에 AI스피커는 등록된 두개의 목소리와 화자의 목소리를 비교하여 가장 유사도가 높은 목소리의 주인공을 추정하고, 다은의 핸드폰에 블루투스를 연결하는 명령을 수행합니다. 만일 다은의 친구가 놀러와 같은 명령어를 말한다면, 때로 AI 스피커는 화자를 '새로운 화자'가 아닌 등록된 두 개의 목소리 중 하나로 추정합니다. 이렇듯 등록된 화자 가운데에서 유사한 목소리 패턴과 음색 등을 인식하는 화자 식별 기술은 각종 IoT 등에서 개인화를 진행하기 위해 필수적이나, 등록되지 않은 목소리를 제대로 인식할 수 없는 한계점을 가지고 있어요.
목소리 일치 여부에 대한 판단, 화자 검증(Speaker Verification)
때때로 인식이 잘 되지않는 지문, 마스크로 인해 오히려 불편함이 커진 얼굴 인식의 불편함을 크게 개선하는 차세대 보안 인식 기술이 바로 화자 검증(Speaker Verification)입니다. 화자 검증은 '다은'의 목소리를 등록할 경우, 입력되는 목소리와의 일치 여부를 Pass/Fail 방식으로 판별합니다. 화자 식별 기술이 들어간 출입문이 있을 때, 이는 제3의 인물이 나타나더라도 가장 유사도가 높은 목소리의 인물로 유추하지만, 화자 검증 기반 보안은 ‘시스템에 등록되지 않은 목소리'가 기등록된 목소리와 일치하는지를 확인하는 것이 차이점이죠. 정확도 높은 화자 검증은 개인 확인 절차를 간소화시킵니다. 가령 은행 고객 센터에 전화할 경우, 주소나 생년월일 등을 통해 본인 여부를 확인하게 되는데요, 화자 검증을 활용하면 이러한 번거로움 없이 곧바로 상담을 진행할 수 있어요.
화자 식별과 화자 검증을 한데 묶어 ‘화자 인식’ 기술로 불리는데요, 때로는 음성 인식 기술의 한 갈래로, 때로는 음성 인식 기술과 따로 구분되기도 합니다. 그러나, 그 목적만은 분명해요. 바로 ‘누가 말을 했는지를 정확히 알아보는 것'이죠. AI가 자동으로 통화 내용을 기록할 때, 혹은 여러 명이 토의하는 내용을 받아쓰기 해야할 때, 누가 어떤 발언을 했는지 알 수 없다면 기록의 의미가 퇴색될 수 있겠죠? 물론, 이를 위해서는 아래와 같은 기술 또한 함께해야합니다.
특정 화자의 목소리를 분리시키는 것, 화자 분리(Speaker Seperation)
친구들과 얘기를 나누거나 동료와 함께했던 팀 미팅을 떠올려보세요. 흔히들 ‘오디오가 물린다'라고 표현되는 말 겹침 현상, 종종 나타나지 않나요? 여럿이 함께 얘기를 나누기 때문에 필연적으로 대답을 하는 화자가 동시에 여러명이 생긴다거나, 혹은 말 끼어들기 등이 벌어지곤 합니다. 화자 분리는 여러 화자의 목소리가 겹칠 때 이를 따로 따로 떼어내어 인식할 수 있도록 분리해주는 기술을 칭합니다. 혹자는 이 기술을 보이스 필터(Voice Filter)라고도 부르는데요, 보이스 필터는 화자 분리와 달리 이미 등록된 목소리만을 남겨서 음성 인식의 정확도를 높이기 위한 도구로 활용됩니다.
출처: Analytics Vidhya Blog, <Improving Voice Separation By Incorporating End-To-End Speech Recognition>목소리가 바뀌었다는 것에 대한 인식, 화자 분할(Speaker Diarization)
이번엔 아주 잘 편집된 TV 프로그램을 떠올려 볼까요. ‘오디오가 물리는' 경우는 흔치않고, 오히려 여러 명의 화자가 빈틈없이 이어서 티키타카를 벌이는 경우가 많죠. 화자 분할은 말 그대로 ‘화자가 다르다는 것을 인식'하기 위한 기술입니다. 토론 프로그램의 진행자와 패널 목소리에 대한 구분, 전화 통화 상황에서 발신자와 수신자에 대한 구분 등을 화자 분할로 꼽을 수 있어요.
출처: Google AI Blog, <Accurate Online Speaker Diarization with Supervised Learning>음성 인식 기술이라 한다면 흔히 ‘정확히 알아듣고 말을 이해하는 일'이라고 생각하죠. 맞습니다, 그렇지만 ‘정확히 알아듣기'위해 필요한 기술, ‘말을 이해하기' 위해 필요한 요소 기술은 정말 방대하답니다. 우리가 대화를 나누는 환경 또한 카페, 레스토랑, 사무실 등 다양하고 대화를 나누는 채널 역시 전화통화, 비디오 콜 등 여러가지죠. AI는 이러한 다양한 환경적 특성을 고려하여 음성을 인식하고, 혹은 화자의 발음이나 어조의 특성 등을 고려하여 감정을 추론하기도 하죠.
최근에는 이러한 요소 기술을 활용하여 ‘자동 회의록 기록'을 실행하는 AI가 큰 관심을 얻고있어요. 여러 명이 난상 토론을 하는 환경에서 누가 발언을 하고 있는지, 그리고 각자의 의견이 무엇인지를 정확히 기록하기 위해서는 위에 나열된 화자 인식 기술이 필수적이랍니다. 정확한 화자 인식이 이루어질수록, AI 스피커 등 다양한 IoT 서비스는 개인에게 맞춤화된 서비스를 제공할 수 있어요. 가령 ‘음악 틀어줘'라는 명령어에 가족 구성원 개개인의 목소리를 구별하여, 선호하는 장르나 개인 플레이리스트를 재생하는 셈이죠.
스켈터랩스는 음성 인식 모델의 고도화와 더불어, 화자 인식을 위한 기반 기술을 개발 중에 있습니다. 조만간 선보일 화자 분리 및 분할, 그리고 자연어 처리 및 음성 합성과 결합한 다양한 솔루션을 기대해주세요:)