음성 인식

menu icon

음성 인식

음성 인식의 역사와 함께, 오늘날 이의 다양한 글로벌 응용 분야에 대해 알아봅니다.

음성 인식이란?

자동 음성 인식(ASR), 컴퓨터 음성 인식 또는 음성-텍스트 변환(Speech-to-text)이라고도 부르는 음성 인식은 프로그램이 사람의 음성을 텍스트 형식으로 처리할 수 있도록 해주는 기능입니다. 이는 일반적으로는 목소리 인식(voice recognition)과 혼동되고 있습니다. 음성 인식이 구어체 형식의 음성을 텍스트 형식으로 변환하는 데 집중하는 반면, 목소리 인식은 단지 개별 사용자의 목소리를 식별하는 데만 집중합니다.

1962년에 “Shoebox”를 릴리즈한 이후, IBM은 음성 인식 분야에서 두드러지는 역할을 담당해 왔습니다. 이 기계는 1950년대 이후 벨 연구소의 초기 작업을 발전시켜서 16개의 서로 다른 단어를 인식할 수 있었습니다. 하지만 IBM은 거기서 멈추지 않았습니다. 여러 해 동안 지속적인 혁신을 거듭한 끝에 1996년에는 VoiceType Simply Speaking 애플리케이션을 출시했습니다. 이 음성 인식 소프트웨어는 42,000 단어의 어휘를 보유하고 있으며, 영어와 스페인어를 지원하고, 10만 단어의 맞춤법 사전을 내장하고 있습니다. 초기의 음성 기술에는 한정된 어휘만 있었지만, 이는 오늘날 자동차, 기술 및 의료 분야와 같은 광범위한 산업 분야에서 활용되고 있습니다. 이의 채택은 딥 러닝과 빅데이터의 발전에 힘입어 최근 지속적으로 가속화되고 있습니다. 연구 보고서(IBM 외부 링크)에 따르면, 이 시장은 2025년에는 249억 달러의 가치를 지닐 것으로 예상됩니다.

효과적 음성 인식의 주요 특징

많은 음성 인식 애플리케이션과 디바이스를 사용할 수 있지만, 보다 고급 솔루션에서는 AI머신 러닝을 사용합니다. 이는 문법, 구문, 구조 그리고 오디오와 음성 신호의 구성을 통합하여 사람의 음성을 이해하고 처리합니다. 이상적으로, 이는 실행하면서 학습합니다. 즉, 각각의 상호작용을 통해 응답을 발전시킵니다.

또한 최고 수준의 시스템을 통해 기업들은 언어와 음성의 뉘앙스에서부터 브랜드 인식에 이르기까지 모두를 포함하여 자신의 특정 요구사항에 맞게 기술을 사용자 정의하고 조정할 수 있습니다. 예를 들면 다음과 같습니다.

  • 언어 가중치: 기본 어휘에 이미 있는 용어를 벗어나서, 자주 발화되는 특정 단어(예: 제품명 또는 산업 용어)에 가중치를 둠으로서 정밀도를 개선합니다.
  • 화자 레이블링: 다수의 참여자가 나누는 대화에서 각 화자의 발화를 인용 또는 태깅하는 전사를 출력합니다.
  • 음향 훈련: 비즈니스의 음향 측면에 집중합니다. 음향 환경(예: 콜센터의 주변 소음)과 화자 스타일(예: 음의 고저, 볼륨 및 속도)에 적응하도록 시스템을 훈련시킵니다.
  • 비속어 필터링: 필터를 사용하여 특정 단어나 구문을 식별한 후, 부적절한 부분을 음성 출력에서 제거합니다.

한편으로, 음성 인식은 계속해서 발전하고 있습니다. IBM 등의 기업들이 다양한 분야에 진출하고 있으며, 인간과 기계의 상호작용을 향상시키 데 기여하고 있습니다.

음성 인식 알고리즘

인간 음성의 예측 불가능한 변칙 상황은 개발을 매우 어렵게 만들고 있습니다. 이는 언어학, 수학 및 통계학과 함께 가장 복잡한 컴퓨터 사이언스 분야 중 하나로 간주되고 있습니다. 음성 인식기는 음성 입력, 특성 추출, 특성 벡터, 디코더 및 워드 출력 등의 몇몇 컴포넌트로 구성되어 있습니다. 디코더는 음향 모델, 발음 사전 및 언어 모델을 활용하여 적절한 출력을 판별합니다.

음성 인식 기술은 정확도, 즉 단어 오류율(WER) 및 속도에 따라 평가됩니다. 발음, 액센트, 피치, 볼륨 및 배경 잡음 등 다수의 요인이 단어 오류율에 영향을 줄 수 있습니다. 두 사람의 발화의 경우와 대응되는 오류율을 의미하는 인간 패리티 달성은 음성 인식 시스템의 목표가 되어 왔습니다. Lippmann의 연구(IBM 외부 링크)(PDF, 344KB)에서는 단어 오류율을 약 4% 정도로 추정하지만, 이 논문의 결과를 모사하는 일을 쉽지 않았습니다.

음성 인식 분야에서 업계 기록을 달성함으로써 IBM이 이러한 측면에서 어떻게 장족의 발전을 거듭해 왔는지에 대해 자세히 알아봅니다.

음성을 텍스트로 인식하고 전사의 정확도를 향상시키기 위해 다양한 알고리즘과 계산 기술이 사용되고 있습니다. 다음은 가장 일반적으로 사용되는 방법들 중 일부에 대한 간략한 설명입니다.

  • 자연어 처리 (NLP): NLP가 반드시 음성 인식에서 사용되는 특정 알고리즘일 필요는 없지만, 이는 음성과 텍스트에 기반한 언어를 통한 인간과 기계 간의 상호작용에 초점을 둔 인공지능의 영역입니다. 다수의 모바일 디바이스는 자체 시스템에 음성 인식을 내장하여 음성 검색을 수행하거나(예: Siri), 문자 메시지와 관련한 추가적인 접근성을 제공합니다.
  • HMM(Hidden Markov Model): HMM은 주어진 상태의 확률이 이전 상태가 아닌 현재 상태에 달려 있음을 규정하는 Markov 체인 모델 위에서 빌드됩니다. Markov 체인 모델이 텍스트 입력 등의 관찰 가능한 이벤트에는 유용하지만, HMM(Hidden Markov Model)을 이용하면 품사 태그(part-of-speech tag) 등의 숨겨진 이벤트를 확률적 모델에 통합할 수 있습니다. 이는 음성 인식 내의 시퀀스 모델로서 활용되며, 시퀀스에서 단어, 음절, 문장 등의 각 유닛에 레이블을 지정합니다. 이러한 레이블은 주어진 입력으로 맵핑을 작성함으로써 최적의 레이블 시퀀스를 판별할 수 있도록 허용합니다.
  • N-gram: 이는 문장이나 구문에 확률을 지정하는 가장 단순한 유형의 언어 모델(LM)입니다. N-gram은 N-word의 시퀀스입니다. 예를 들어 “order the pizza”는 3-gram(혹은 trigram)이며, “please order the pizza”는 4-gram입니다. 문법 및 특정 단어 시퀀스의 확률을 사용하면 인식과 정확도를 향상시킬 수 있습니다.
  • 신경망: 주로 딥러닝 알고리즘에 활용되는 신경망은 노드의 계층을 통해 인간 두뇌의 상호연결성을 모방함으로써 훈련 데이터를 처리합니다. 각각의 노드는 입력, 가중치, 바이어스(또는 임계값) 및 출력으로 구성되어 있습니다. 해당 출력 값이 주어진 임계값을 초과하면, 이는 노드를 "실행"하거나 활성화하여 데이터를 네트워크의 다음 계층으로 전달합니다. 신경망은 감독형 러닝을 통해 이러한 맵핑 기능을 학습하며, 기울기 하강 프로세스를 통한 유실 함수를 기반으로 조정을 수행합니다. 신경망이 보다 정확한 경향이 있으며 더 많은 데이터를 수용할 수 있지만, 기존의 언어 모델에 비해 훈련 속도가 느려지는 측면이 있으므로 이에는 성능 효율성 비용이 수반됩니다.
  • SD(Speaker Diarization): SD 알고리즘은 화자 ID로 음성을 식별하고 세그먼트화합니다. 이는 프로그램이 대화에서 개인을 보다 잘 구분하는 데 도움이 되며, 고객과 판매 대리인을 구분하는 콜센터에서 자주 적용됩니다.

Watson 블로그(영문)에서 IBM이 음성 텍스트 변환(Speech to Text) 서비스 내에서 SD 모델을 어떻게 활용하는지 알아봅니다.

음성 인식 유스케이스

오늘날 수많은 산업 분야에서 음성 기술의 다양한 응용 기술을 활용하고 있으며, 기업과 소비자들이 시간을 절감함은 물론 심지어는 생명까지도 구할 수 있도록 지원합니다. 일부 사례는 다음과 같습니다.

자동차: 음성 인식기는 자동차 라디오의 음성 인식 네비게이션 시스템과 검색 기능을 사용하여 운전자의 안전성을 개선합니다.

기술: 가상 어시스턴트는 특히 모바일 디바이스에서 점점 더 우리의 일상적 삶 속에 통합되고 있습니다. 우리는 음성 명령을 사용함으로써 음성 검색 등의 작업을 위해 스마트폰(예: Google Assistant 또는 Apple의 Siri)을 통해 이에 액세스하거나, 음악 재생을 위해 스피커(예: Amazon의 Alexa 또는 Microsoft의 Cortana)를 통해 이에 액세스합니다. 이는 우리가 매일 사용하는 일상적인 제품들에 지속적으로 통합됨으로써 "사물인터넷 (IoT)" 혁명을 가속화할 것입니다.

의료: 의사와 간호사는 구술 애플리케이션을 활용함으로써 환자 진단과 치료 기록을 캡처하고 기록합니다.

영업: 음성 인식 기술에는 영업에서 사용할 수 있는 몇몇 애플리케이션이 있습니다. 이는 콜센터가 고객과 에이전트 간의 수천 건의 전화 통화를 전사함으로써 공통적인 통화 패턴과 문제들을 식별하는 데 도움을 줄 수 있습니다. 코그너티브 봇은 또한 웹 페이지를 통해 고객들과 대화하고, 일반적인 질의에 응답하며, 기본적인 요청들을 처리할 수 있습니다. 따라서 고객센터 상담원과 통화를 하려고 오랜 시간을 기다릴 필요가 없습니다. 위의 두 가지 사례 모두에서, 음성 인식 시스템은 고객 문제의 해결 시간을 단축할 수 있도록 지원합니다.

보안: 기술이 우리의 일상적인 삶에 통합되면서, 보안 프로토콜은 점점 더 중요해지고 있습니다. 음성 기반 인증은 실행 가능한 보안 레벨을 추가로 제공합니다.

Audioburst 등의 기업들이 음성 인식 소프트웨어를 활용함으로써 어떻게 당사 블로그에서 실시간으로 라디오 방송국과 팟캐스트의 오디오를 인덱싱하는지 여기에서 알아봅니다.

음성 인식 및 IBM

IBM은 기업들이 핵심 비즈니스 인사이트를 확보하면서도 복잡한 자체 비즈니스 프로세스를 자동화할 수 있도록 해주는 음성 인식 툴과 서비스의 개발을 지속적으로 선도해 왔습니다.

  • IBM Watson Speech to Text는 딥 러닝 AI 알고리즘을 사용하여 문법, 언어 구조 및 오디오/음성 신호 구성에 대한 지식을 적용함으로써 최적의 텍스트 전사를 위한 맞춤형 음성 인식을 생성하는 클라우드 네이티브 솔루션입니다.
  • IBM Watson Text to Speech는 기술된 텍스트에서 마치 인간과 같은 오디오를 생성함으로써, 언어 및 상호작용 양식에서의 접근성을 개선하여 고객 참여도와 만족도를 개선합니다.

음성 인식 기술의 시작 방법에 대한 자세한 정보는 IBM Watson Speech to TextIBM Watson Text to Speech를 참조하세요.

IBMid로 등록하고 IBM Cloud 계정을 생성하세요.