인간의 음성을 이해하고 목소리를 낼수 있는 음성이해에 관한 연구는 어디까지 와있을까?
"열려라 참깨!"
도적의 두목이 이렇게 외치자 커다란 바위가 대문처럼 스르르 열렸다. 안에서는 금은보화가 번쩍거리고 있었으며 알리바바는 숨을 죽여서 보고만 있었다.
백설공주의 새엄마는 요술거울을 가지고 있었습니다. 왕비는 매일 거울을 쳐다보며 질문을 했습니다.
"거울아, 거울아, 이세상에서 누가 제일 예쁘니?"
그러자 거울은 이렇게 대답했습니다.
"왕비님, 왕비님이 이세상에서 제일 예뻐요."
우리가 널리 잘 알고 있는 '알리바바와 40인의 도적'과 '백설공주'에 나오는 한 장면이다. 바위문은 도적의 두목이 아닌 알리바바가 외쳐도 알리바바의 형이 외쳐도 항상 열린다. 특정한 어느 한 단어이기는 하지만 불특정다수 사람의 음성을 인식할 수 있는 장치를 옛날 사람들은 꿈꾸었다. 이것이 세계에서 가장 유명한 음성인식장치라고 하겠다.
음성에 의한 인간-기계간(man-machine)의 통신은 (그림1)과 같다.
즉 음성인식이란 사람이 기계에 정보를 입력하는 수단으로써, 음성으로 정보입력을 가능케하는 기술이다. 음성에 의한 정보입력은 사람의 부담이 가장 적은 입력방식이지만 기술적으로 어렵기 때문에 실용화가 시작한 것은 비교적 최근의 일이다.
음성에 관한 과학적 연구는 1876년 벨이 전화기를 발명한 것이 계기가 되어 1940년대 더들리가 음성송수신장치(vocoder)를 개발함으로써 음성인식에 첫발을 내딛었다.
이러한 음성인식장치는 1970년 미국이 국방연구의 일환으로 제1차 음성이해 프로젝트를 채택함으로써 본격화되었다. 1976년에 카네기대학이 연속음성시스템인 'Harpy'을 구축하여 1천 단어를 인식하였고 이어서 'Hearsay Ⅱ'를 구축하였다. 일본에서도 전신전화공사 ATR자동번역전화연구소 등에서 일반 회화음성까지도 인식하고 이해하는 시스템개발에 관한 연구가 진행되고 있다. 1985년부터 미국의 DARPA(Defense Advanced Research Projects Agency)는 '전략컴퓨팅계획'의 하나로 메사추세츠공대(MIT) 등을 중심으로 제2차 음성이해시스템에 대한 연구를 시작했다.
우리나라도 80년대 들어 한국어의 음성분석 숫자음성인식 등에 관한 연구를 연세대 서울대 전자통신연구소 과학기술원 광운대 등에서 활발히 연구중에 있다. 이글에서는 음성인식의 원리와 실제 응용분야에 대하여 간단히 소개한다.
인간과 기계의 대화
음성인식의 장점으로는 첫째 음성은 인간에 의한 가장 자연스러운 정보발생수단이며 가장 편리한 입력수단이다. 즉 정보입력을 위해 일반 타자기와는 달리 특별한 훈련이 필요없고 예기치 않은 상황하에서도 누구나 음성으로 표현할 수 있다. 연속적인 자연회화언어의 입력이 가능하게 되면 키보드에 의한 정보입력 속도보다 4배정도 빠르다. 세째 손이 부자유스러울 때도 자유롭게 입력할 수 있다. 네째 무선전화나 마이크를 사용하면 상당한 공간적 범위내에서 움직이면서 입력시킬 수 있다. 다섯째 입력의 결과를 바로 응답(표시 혹은 음성응답)하므로 에러를 빨리 발견하여 정정 가능하므로 입력의 신뢰성이 향상된다. 여섯째 단순히 음성의 내용을 입력할 수 있을뿐 아니라 말하는 사람의 확인도 가능하여 정보의 비밀을 유지할 수 있다. 일곱번째 장시간 주의깊게 긴장하여 음성을 듣고 기록해야할 때 사람의 경우는 피로에 의해 신뢰성이 떨어지지만 기계를 이용하면 높은 신뢰성으로 입력이 가능하다.
음성인식의 종류는 (그림2)와 같이 구분발성한 단어를 인식하는 구분단어음성인식(isolated word recognition) 단어를 연속해서 발성한 음성을 인식하는 연속음성인식(connected speech recognition)으로 크게 나눌 수 있다.
연속음성인식은 비교적 적은 수의 어휘를 대상으로 하여 단어레벨 이상의 구문론적 의미론적 정보를 사용치 않고 인식하는 연속단어 음성인식(connected word recognition)과 비교적 많은 수의 어휘를 대상으로 하고, 단어레벨 이상의 구문론적 의미론적 정보 다시 말해서 언어적 지식을 구사하여 인식하는 회화음성인식(conversational speech recognition)이 있다.
회화음성인식은 발성된 언어가 모두 정확하게 인식되지 않더라도 발성자가 의도한 의미내용만 바르게 인식하면 된다는 의미에서 음성이해(speech understanding)라고도 한다. 또 발성화자를 중심으로 본 분류방법으로 어느 누구의 음성이라도 인식할 수 있는 불특정 화자용 음성인식과 시스템을 학습시키거나 적응시킬 때 이용된 특정화자의 음성만을 인식할 수 있는 특정 화자용 음성인식으로 나눌 수 있다.
음소 음절 단어인식
음성인식의 단어는 음소(phonemes) diphone 음절(syllables) 단어(words) 혹은 이들의 조합의 형태가 있다. 여기서 diphone이란 자음과 모음, 혹은 모음과 자음이 연결된 상태에서 각 음소의 중심에서 다음 음소의 중심까지를 말한다. 따라서 음성의 과도부분의 정보를 강조한 것이다. 이들의 장단점은 (표1)과 같다.
인간이 음성을 알아 듣는 과정은 속귀의 달팽이관에 의해 음성파의 주파수분석이 행하여져 각 주파수 성분에 해당하는 펄스(pulse) 신호가 신경계를 통하여 중추신경계로 전달되어 뇌에 이르러 알아듣게 된다. 기계에 의한 음성인식 방법도 이와 같이 음성분석과정과 인식처리단계로 (그림3)과 같이 나타낼 수 있다.
음성은 성대의 진동에 의해 소밀파가 만들어져 입술 바깥으로 방사된 음성파형이다. 음성은 생성과정에서 성대의 진동에 의해 생기는 모음종류의 유성음이 있고, 성대를 진동시키지 않고 성도의 도중에 만들어진 좁힘점에 의한 잡음이 음원이 되어 나오는 무성음이 있다. 예를 들어 '아'와 '오'의 음성이 다르다는 의미는 성대에서 입술까지의 경로가 혀 턱 입술 등의 조음기관에 의해 성도가 달라지므로 성도의 모양(특성)이 '아'의 경우와 '오'의 경우가 다르다는 것이다.
사람마다 다른 목소리를…
따라서 음성의 특징은 성도의 모양(특성)에 기인한다고 할 수 있다. 성도의 모양이 달라지므로 사람마다 다른 음성파형이 생성되며, 이들 성도 특성을 주파수에 따라 나타내면 (그림5)와 같이 나타낼 수 있다.
(그림5)에서 에너지가 집중된 부분(파형의 올라간 부분)의 주파수를 포만트(formant)주파수라 하며 낮은 주파수로 부터 차례로 제1포만트, 제2포만트…라고 부른다. 이것이 대표적인 음성의 특징이며 음성이 달라짐에 따라 이들 포만트 주파수도 달라진다.
일반적으로 음성의 특징을 표현하는 방법은 어느 한 음성이 다른 음성에서는 찾아볼 수 없는 고유의 한 특성을 가져야 하며, 그 고유의 특성은 가급적 적은 데이터량으로 나타낼 수 있으면 좋다. 이런 관점에서 볼때 (그림5)는 음성파형을 분석하여 12개의 선형예측계수(Linear Predictive Coefficients:LPC)로서만 나타내었다. 이와같이 선형예측계수는 적은 수의 데이터로써 음성고유의 특성을 잘 나타낼 수 있으므로 앞에서 말한 포만트주파수와 함께 널리 사용되고 있는 방법중의 하나이다.
■개인차
(그림5)에서 같은 음성인 '아'를 A, B 두사람이 발성했지만 그 특성은 다르다. 이와같이 발성자별로 입술 혀 턱 등의 조음기관의 해부학적 구조차와 발성습관의 차에 의해 음성의 특성이 달라지는데 이를 개인차라 한다. 실제 음성인식을 행할 경우 개인차를 제거(발성자 정규화)함으로 인해 불특정 다수 발성자의 음성인식을 할 수 있으며, 반대로 개인차를 중요정보로 하여 적극 이용함으로써 발성자를 인식할 수 있게 한다. 이를 이용하면 범인을 검거하는데 이용할 수도 있으며, 비밀보전을 위한 시스템에도 응용 가능하다.
■조음결합
(그림6)은 같은 발성자가 '아'라고 단독으로 발성한 경우와 '이아이'라고 발성한 경우의 '아'를 나타내었다. 즉 같은 발성자가 발성한 '아'임에도 불구하고 단독으로 발성한 경우와 전후의 음소가 있을 경우에는 성도 특성이 상당히 다름을 알 수 있다. 즉 같은 음성일지라도 전후음의 영향을 받아 특성이 변한다. 그 이유는 음을 만드는 조음기관이 연속운동을 하며 급격한 변화를 위하여 시간이 소요되기 때문에 변화를 완전히 하기 전에 다른 음으로 천이하기 때문이다. 이러한 현상을 조음결합이라고 하며 음성인식을 위하여는 이를 해결해야 하는데 대단히 어려운 문제인다.
■음성구간의 검출
음성인식을 위해서는 먼저 대상으로 하고 있는 구간이 음성구간인지 무음구간인지를 알아야 한다. 이는 간단한 문제인것 같으나 실제로는 그렇게 간단치 않으며 특히 잡음이 있는 환경에서는 더욱 어렵다. 또 음성구간 검출의 정확도에 의해서 음성인식 시스템의 성능을 크게 좌우하는 요소가 되기 때문에 매우 중요하다.
이를 위하여 기본적으로 음성구간에서는 에너지가 많고 무음구간에는 에너지가 적다는 기본원리를 이용한다.
즉 각 프레임(약 10ms정도의 구간)의 대수에너지와 미리 정해 놓은 문턱치와 비교하여 문턱치를 넘은 구간이 음성으로 간주하기에 타당한 길이 이상 계속될때 음성으로 검출하는 방법이다. 실제에너지의 문턱치를 주위의 환경에 적응시키거나 2종류의 대수에너지 문턱치를 설정하여 검출률을 높인다. 또한 대수에너지와 영교차율(음성파형이 0점을 교차하는 회수)을 동시에 이용하여 음성검출률을 높이고 있다. 그러나 이 방법은 현재 분석하고 있는 프레임만으로 음성의 시점 종점을 판단할 수 없고, 몇 프레임 뒷쪽의 정보까지 알아야만 음성구간인지 아닌지를 판단할 수 있다. 따라서 어느 정도까지의 과거 정보를 기억시켜 두어야 하는 단점이 있다.
■인식 알고리즘
대상 구간이 음성구간으로 검출되었을 때 이 구간이 무슨 음성이냐는 문제가 등장한다. 이에 대한 해결방법이 여러가지 있으나 대표적인 패턴 매칭방법에 대하여 간단히 설명한다.
패턴매칭에 의한 방법은 음성파형을 분석하여 음성 특징이 주어졌을때 이미 등록된 패턴과 비교하여 거리를 계산하여 결정하는 방법이다. 예를 들면 (그림7)과 같이 먼저 각 음성에 대한 특징을 조사하여 그 모양을 등록해두고(표준패턴) 입력패턴의 특징을 조사하여, 입력패턴의 특징과 표준패턴의 특징을 비교하여 가장 닮은 등록패턴(표준패턴)의 의미를 가진 결과를 출력시키는 방법이다.
그러나 여기서 한가지 고려해야 할 점이 있는데 도형의 경우에는 입력패턴과 등록된 패턴의 모양은 같지만 크기가 다른 경우가 대부분이다. 이를 어떻게 해결해야 할 것인지가 문제이고, 음성의 경우도 마찬가지로 문제되는 점이 입력음성의 길이와 등록된 표준패턴의 길이가 다르기 때문에 상호 비교가 매우 어렵게 된다. 그리고 패턴매칭방법 이외에 HMM(Hidden Markov Model)이라는 통계적 수법을 이용하면 실제 음성의 변화분을 쉽게 흡수하고, 통계이론이나 정보이론 등에 의한 이론적 전개가 쉽고 확률개념을 이용하여 언어처리 등을 쉽게 통합시킨다. 또한 최근에는 인간의 뇌를 모델화한 신경회로망을 이용한 음성인식방법이 있다. 즉 뇌의 신경자극 전도부의 접속형태를 모방하여 공학적으로 실현하는 회로망이다. 최근 이 방법을 이용하여 종래의 음성인식에서 어려웠던 점을 조금씩 해결할 수 있게 되었다고 볼 수 있다.
양손과 시선이 자유
음성인식이 사용될 수 있는 응용분야는 무수히 많지만 실용화관점에서 볼 때 중요하다고 생각되는 분야는 산업용 사무용 전화용 민생용 등 크게 4가지로 나누어 볼 수 있다.
산업용 음성인식분야에서는 양손과 시선이 자유롭다는 절대적 장점에 의해 1970년대 초부터 음성입력의 실용화가 시작되었다. 처음에는 공항의 수하물 우편물 소포 소매체인에서의 각종 물품분류 작업에 많이 이용되었으나 그후 제품의 검사 공정에서의 데이타 입력에 응용되었다. 검사 데이터의 입력은 손과 눈을 사용해서 각종 제품을 검사하고 검사 데이터를 음성으로 입력한다.
철판검사시스템을 예로 들면 검사원은 철판의 흠을 발견하여 약 60종에 이르는 흠의 종류 정도 위치 등을 발성하고 음성은 무선마이크를 통해 인식장치에 보내지며 인식결과는 프로세서컨트롤러에 입력된다. 이러한 정보는 철판 제조라인을 제어하는 호스트(host) 컴퓨터에 보내지며 동시에 공정관리용 컴퓨터의 화면에 표시되고 리스트의 형태로 프린트된다.
이러한 시스템의 도입으로 종래의 데이터 기록부에 기입하거나 펀치입력 작업시의 실수 등이 없어지고 찰판에서 눈을 뗄 필요가 없으므로 흠을 발견하지 못하고 그냥 넘어가는 일이 없어져서 검사데이터의 신뢰성이 향상된다. 또 실시간 입력에 의해 전공정에 신속한 피드백이 가능하게 된다. 음성에 의한 검사데이터 입력은 철판 이외에도 엔진 반도체 웨이퍼 등 적용예가 많다. 특히 이러한 산업분야에서의 응용은 작업능률 면에서 몇자리 숫자를 고속으로 입력하고자 하는 요구가 크다.
사무용 음성인식 응용분야에서는 주로 인명 주소 등을 취급하기 위해 문자 입력이 요구되는 경우가 많다. 이때 문자 키보드의 조작에는 상당한 기술이 필요하다. 그러나 키보드 대신에 음성으로 문자를 입력할 수 있게 되면 누구나 쉽게 데이타 입력이 가능하게 된다. 이를 목표를 한 음성 입력용의 장치가 많이 개발되어 현재 영어와 일본어의 경우 문서작성기능과 음성입력형 타이프라이터가 부분적으로 실현되고 있다. 이를 이용하면 회의를 할 때 회의록을 따로 작성치 않아도 회의가 끝남과 동시에 음성인식장치에 의하여 회의 내용이 그대로 프린트로 출력될 것이다.
전화용 음성인식의 응용분야에서는 음성응답과 함께 일반 전화기에서 이용 가능한 각종 서비스를 제공할 수 있다. 구체적으로 은행업무에 관련한 예금 잔액조회 등의 각종 서비스, 열차와 비행기 등의 교통기관에서 좌석의 예약 등이 가능한다. 또한 현재의 전화기에서 다이얼을 돌리지 않고 음성으로 상대방으로 번호 혹은 이름을 말하면 상대방에게 연결되는 음성인식 전화기(음성 다이얼링 전화기)도 상품화되고 있다.
여기에서 일본의 'ANSER'라는 음성에 의한 은행잔액조회 시스템의 이용예를 보자.
자동통역전화에도 이용
예금주가 은행의 센터 시스템에 전화를 한다.
센터:"여기는 ○○은행 전화서비스입니다. 서비스 종류를 말씀해주세요."
예금주:"예금잔액조회"
센터:"구좌번호를 말씀해 주세요"
예금주:"일 삼 이 오 삼 삼 구"
센터:"암호 번호를 말씀하세요"
예금주:"일 일 구 육"
센터:"당신의 예금잔액은 현재 십만원입니다. 다른 서비스를 원하시면 서비스 종류를 말씀해 주시고 그렇지 않으면 끝이라고 말씀해 주세요"
예금주:"끝"
센터:"고맙습니다."
이외에도 미래의 꿈이긴 하지만 외국인과 전화를 할 경우 우리말로 전화를 하면 우리말을 인식하여 상대방의 국어로 통역이 될 수 있는 자동통역전화도 있을 수 있다.
민생용의 응용분야로서 신체 장애자와 환자를 위한 복지시스템이 있다. 예를 들면 휠체어를 음성으로 제어할 수 있는 시스템, 시각 장애자를 위한 타이프라이터, 음성입력에 의한 프로그래머 등이 있다. 또한 TV 전축 등 가전기기의 리모콘을 음성으로 입력하는 시스템, 음성입력으로 동작하는 탁상용 전자계산기, 음성으로 제어할 수 있는 손목시계 등이 있다. 민생용의 음성입력장치는 성능보다도 가격의 조건이 우선이지만 이또한 반도체칩기술의 발전에 의해 저가격으로 제작 가능하게 되었다.
누구의 어떤 음성이라도 인식할 수 있는 시스템의 구현이라는 미래의 꿈을 실현시키기 위하여 해결해야 할 몇가지 과제가 있다.
첫째 누구의 목소리라도 인식할 수 있는 알고리즘의 구현이다. 지금까지 음성인식 장치가 일부 상용화되어 있으나 인식할 수 있는 어휘수는 상당히 제한되어 있다.
둘째 인식대상 어휘수의 확대이다. 인식대상 어휘가 1천단어 이상이면 인식에 필요한 계산량 기억용량이 커지게 된다. 따라서 음소를 단위로 하는 인식 알고리즘이 연구되어야 하며 또한 어휘수가 많아짐에 따라 유사단어가 증가하여 인식률의 저하를 가져온다. 이런 문제점을 해결키 위하여 구문 의미 회화 상황등의 언어 지식을 적극적으로 이용하는 방안을 모색해야 한다.
세째 연속음성의 인식이다. 조음결합의 과정 구문 의미 등을 표현하기 위한 지식 표현법과 음향 언어 지식을 결합하는 연구가 필요하다. 또한 발성자에 의하여 어휘와 구문이 변하여도 이에 적응할 수 있는 인식 알고리즘의 연구가 필요하다.
네째 주위 환경의 변화(잡음)에 적응할 수 있는 인식 시스템의 구현이다. 정상잡음과 음성 등의 비정상잡음이 주위에 존재하여도 인식할 수 있는 시스템의 구현이다. 현재는 접화 마이크를 사용하고 화자가 등록할 때의 주위 환경과 인식할 때의 주위 환경이 같아야 할 필요가 있지만 주위 환경 잡음은 언제나 변화 가능하기 때문에 주위 환경에 적응할 수 있는 알고리즘의 연구가 필요하다.
새로운 정보입출력 수단으로 각광
컴퓨터가 정보를 이해하는 방법에는 여러가지가 있다. 그중 대표적으로 널리 쓰이는 것이 키보드에 의한 문자입력방식. 그러나 손으로 일일이 키보드를 두드리지 않고 음성을 직접 컴퓨터가 알아 듣는다면 얼마나 편리할까?
음성인식시스템의 연구는 바로 이러한 필요성에서 출발한다. 컴퓨터에게 음성으로 자료를 불러주거나 지시를 하고 컴퓨터도 음성으로 대답을 한다면…
컴퓨터의 음성이해에 관한 연구는 크게 음성인식과 음성합성의 2분야로 나눠진다. 음성인식은 인간이 말하는 내용을 컴퓨터가 이해하는 과정을 의미하고 음성합성은 컴퓨터가 기억된 음소나 음절들을 합성하여 인간의 음성으로 출력하는 과정이다. 일반적으로 음성인식보다는 음성합성에 관한 연구가 쉬워 연구성과들이 많이 나타나고 있으나 세계적으로 음성이해에 관한 연구는 아직도 시작단계라고 할만한 수준.
국내에서도 과학기술원 전자통신연구소 서울대 등에서 음성인식 음성합성분야에 관한 연구가 활발하다.
특히 과학기술원 은종관교수(전기전자과)팀은 1천단어까지 인식할 수 있는 음성인식시스템을 개발하고 후속연구를 계속 진행중이다.
은종관교수는 "음성인식은 단어인식 문장인식 그리고 문장의 논리적 구조까지를 판단하는 문장이해의 3단계로 나눌 수 있다"고 전제하고 "국내연구수준은 음성인식의 단계에 와있다"고 말한다.
그러나 현재의 연구수준으로는 컴퓨터와 아무 얘기나 대화할 수 있는 단계는 못되고 항공기의 교신, 114안내 등 특수한 분야에만 응용하는 정도라는 것.
음성이해에 관한 연구가 초보적인 수준임에도 불구하고 이를 응용한 상품이나 이용은 우리 생활주변에서 쉽게 발견할 수 있다.
'116'전화번호를 돌리면 예쁜 여자 목소리로 현재의 정확한 시간을 들려준다. 이 표준시보안내는 음성 합성시스템의 일종. 은행이나 증권회사에서는 전화를 통해 예금구좌의 잔액조회나 증권시세를 예금구좌의 잔액조회나 증권시세를 자동으로 알려주는 자동응답시스템을 현재 운용하고 있다. 이것도 음성합성을 응용한 예이다.
장난감이나 가전제품에도 간단한 작동으로 사람 목소리를 들려주는 등 음성합성은 그 연구가 진전될수록 응용분야가 더욱 확대될 전망이다.
또한 최근에는 금성통신이 다이얼을 누르기 않고도 전화번호나 사람이름을 불러 전화를 걸 수 있는 음성인식전화기를 개발해 관심을 모으기도 했다.