상기 목적을 달성하기 위하여, 본 발명의 실시예에 따른 복수의 신뢰도 측정 알고리즘을 이용한 음성 인식 장치는 음성 신호의 프레임별 특징 벡터(Feature Vector)에 대한 키워드 모델(Keyword Model)의 우도(Likelihood)와 필러 모델(Filler Model)의 우도간의 비율을 이용하여 제 1 신뢰도를 산출하는 제 1 신뢰도 산출부와, 상기 음성 신호의 프레임별 상기 키워드 모델의 가우시안 분포의 궤적과 상기 키워드 모델에 대응되어 저장된 키워드의 가우시안 분포 궤적 표본을 비교하여 제 2 신뢰도를 산출하는 제 2 신뢰도 산출부 및 소정의 신뢰도 좌표 상에서 상기 제 1 신뢰도 및 상기 제 2 신뢰도에 의해 결정된 지점의 위치에 따라 상기 키워드 모델에 의하여 산출된 결과의 신뢰 여부를 판단하는 판단부를 포함한다.
본 발명의 실시예에 따른 복수의 신뢰도 측정 알고리즘을 이용한 음성 인식 방법은 음성 신호의 프레임별 특징 벡터에 대한 키워드 모델의 우도와 필러 모델의 우도간의 비율을 이용하여 제 1 신뢰도를 산출하는 단계와, 상기 음성 신호의 프레 임별 상기 키워드 모델의 가우시안 분포의 궤적과 상기 키워드 모델에 대응되어 저장된 키워드의 가우시안 분포 궤적 표본을 비교하여 제 2 신뢰도를 산출하는 단계 및 소정의 신뢰도 좌표 상에서 상기 제 1 신뢰도 및 상기 제 2 신뢰도에 의해 결정된 지점의 위치에 따라 상기 키워드 모델에 의하여 산출된 결과의 신뢰 여부를 판단하는 단계를 포함한다.
기타 실시예들의 구체적인 사항들은 상세한 설명 및 도면들에 포함되어 있다.
본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 개시되는 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시예들은 본 발명의 개시가 완전하도록 하고, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다. 명세서 전체에 걸쳐 동일 참조 부호는 동일 구성 요소를 지칭한다.
설명에 앞서 본 명세서에서 사용되는 용어의 의미를 간략히 설명한다. 그러나, 용어의 설명은 본 명세서의 이해를 돕기 위한 것으로서 명시적으로 본 발명을 한정하는 사항으로 기재하지 않은 경우에 본 발명의 기술적 사상을 한정하는 의미로 사용하는 것이 아님을 주의해야 한다.
- 귀무 가설(null hypothesis)과 대립 가설(alternative hypothesis)
귀무 가설은 확신할만한 강한 반증이 없다면 받아들이게 되는 가설을 의미한 다. 반면 대립 가설은 귀무 가설을 반증할만한 강한 증거가 있는 경우에 받아들이게 되는 가설이다. 귀무 가설과 대립 가설은 서로 상반된다. 이하, 본 명세서에서는 귀무 가설을 H0, 대립 가설을 H1으로 표현한다.
- 필러 모델(Filler Model)
비핵심어를 찾기 위한 모델이다. 비핵심어 각각을 모델링하거나 비핵심어 전체를 모델링하는 방법이 존재한다. 필러 모델에 대해 측정한 우도(Likelihood)의 가중치를 두어 필러 모델에 해당하는지 여부를 알 수 있다.
필러 모델과 키워드 모델(핵심어 모델, Keyword Model)에 대한 우도의 결과에 따라 음성 인식된 단어가 핵심어인지 여부를 판별할 수 있다.
- 은닉 마르코프 모델(Hidden Markov Model)
음성 인식을 위해 가장 널리 사용되는 방법이다. 음성 신호는 마르코프 모델에 의하여 발생하였다고 가정하고, 학습 단계에서 모델의 파라미터를 추정한 후, 인식기에서는 추정된 파라미터를 이용하여 미지의 입력 음성에 가장 적합한 모델을 찾아낸다. 인식에 사용되는 모델은 음소 또는 단어 자체가 될 수 있다. 마르코프 모델은 매 시간마다 상태를 바꾸는 유한 상태 기계(FSM, Finite State Machine)이다. 이하, 은닉 마르코프 모델을 HMM이라 한다.
- 우도(Likelihood)
우도는 인식한 프레임 또는 워드, 서브워드가 키워드 모델 또는 필러 모델에 어느 정도 근접하는지에 대한 확률을 나타낸다. 예를 들어, 키워드 모델에 속해 있 는 특정 단어에 근접하는 정도에 대한 확률이 해당 키워드 모델에 대한 우도가 될 수 있다. 또한, 키워드 모델의 특정 단어가 서브워드로 구성된 경우, 이 서브워드 각각에 대해 우도를 구한 뒤 키워드 모델, 필러 모델의 우도를 계산할 수 있다. 그리고, 서브워드를 상태 또는 프레임으로 더욱 상세하게 나누어서 상태 또는 프레임에 따라 각각 우도를 계산하여 이를 취합한 결과를 통해 인식된 음성의 우도를 계산할 수 있다. 본 명세서에서는 서브워드를 구성하는 세부 정보들인 프레임 또는 상태를 바탕으로 우도를 계산한다. 필러 모델의 경우에도, 필러 모델을 구성하는 여러 프레임 또는 여러 상태 정보를 바탕으로 우도를 구할 수 있다.
본 실시예에서 사용되는 '~부'라는 용어, 즉 '~모듈' 또는 '~테이블' 등은 소프트웨어, FPGA 또는 ASIC과 같은 하드웨어 구성요소를 의미하며, 모듈은 어떤 기능들을 수행한다. 그렇지만 모듈은 소프트웨어 또는 하드웨어에 한정되는 의미는 아니다. 모듈은 어드레싱할 수 있는 저장 매체에 있도록 구성될 수도 있고 하나 또는 그 이상의 프로세서들을 재생시키도록 구성될 수도 있다. 따라서, 일 예로서 모듈은 소프트웨어 구성요소들, 객체 지향 소프트웨어 구성요소들, 클래스 구성요소들 및 태스크 구성요소들과 같은 구성요소들과, 프로세서들, 함수들, 속성들, 프로시저들, 서브루틴들, 프로그램 코드의 세그먼트들, 드라이버들, 펌웨어, 마이크로 코드, 회로, 데이터, 데이터베이스, 데이터 구조들, 테이블들, 어레이들 및 변수들을 포함한다. 구성요소들과 모듈들 안에서 제공되는 기능은 더 작은 수의 구성요소들 및 모듈들로 결합되거나 추가적인 구성요소들과 모듈들로 더 분리될 수 있다. 뿐만 아니라, 구성요소들 및 모듈들은 디바이스 또는 보안 멀티미디어카드 내의 하 나 또는 그 이상의 CPU들을 재생시키도록 구현될 수도 있다.
이하, 첨부된 도면을 참조하여 본 발명의 바람직한 실시예를 상세히 설명하기로 한다.
도 1은 본 발명의 실시예에 따른 복수의 신뢰도 측정 알고리즘을 이용한 음성 인식 장치를 나타낸 도면으로서, 복수의 신뢰도 측정 알고리즘을 이용한 음성 인식 장치(이하, 음성 인식 장치라 한다)(100)는 음성 수신부(110), 특징 벡터 추출부(120), 필러 모델부(130), 키워드 모델부(140), 제 1 신뢰도 산출부(150), 제 2 신뢰도 산출부(160), 제어부(170), 기준 함수 생성부(180) 및 판단부(190)를 포함하여 구성된다.
음성 인식 장치는 우도비와 가우시안 분포의 궤적을 이용하여 입력된 음성 신호에 대한 키워드 모델 결과의 신뢰도를 측정한다.
음성 수신부(110)는 음성 신호를 수신하는 역할을 한다. 즉, 음향 에너지를 전기 에너지로 변환시키는 역할을 하는 것으로서, 일반적으로 마이크로폰(microphone)이 음성 수신부(110)의 역할을 수행할 수 있다.
따라서, 음성 수신부(110)는 음압을 이용하여 전기 저항을 변화시키는 전기 저항 변화형, 피에조 효과에 따라 음압을 이용하여 전압을 변화시키는 압전형, 얇은 금속박의 진동에 따라 전압이 발생하고 이에 따라 자기를 변화시키는 자기 변화형, 원통형 자석의 둘레에 가동 코일을 놓고 이 코일을 진동판으로 동작시켜 코일에 발생하는 전류를 이용한 다이나믹형 및 금속박으로 만든 진동판을 고정 전극과 마주시켜 콘덴서를 형성하고, 소리에 의해 진동판이 움직이면서 콘덴서의 용량을 변화시키는 정전 용량형 방식 중 적어도 하나의 방식을 통하여 음성 신호를 전기 에너지로 변환할 수 있다. 전기 에너지로 변환된 음성 신호는 특징 벡터 추출부(120)로 전달된다.
특징 벡터 추출부(120)는 음성 신호의 주파수 특성을 프레임별로 계산하여 음성 신호에 포함된 특징 벡터를 추출하는 역할을 한다. 이를 위하여, 특징 벡터 추출부(120)에는 아날로그 음성 신호를 디지털로 변환하는 아날로그-디지털 변환 수단이 구비되어 있을 수 있는데, 디지털로 변환된 음성 신호는 약 10ms의 간격을 두고 분절될 수 있다.
그리고, 특징 벡터 추출부(120)는 분절된 음성 신호의 특징을 추출하는데 예를 들어, 선형 예측 부호화(LPC; Linear Predictive Coding), 선형 예측 부호화에 의한 켑스트럼(LPC derived Cepstrum), 인지 성형 예측(PLP; Perceptive Linear Prediction), 청각 모델(Audio Model) 특징 추출, 멜 주파수 켑스트럼 계수(MFCC; Mel-Frequency Cepstrum Coefficients) 특징 추출 방식 및 필터 뱅크(Filter Bank) 중 적어도 하나를 이용하여 분절된 음성 신호의 특징을 추출할 수 있다. 추출된 특징 벡터는 필러 모델부(130) 및 키워드 모델부(140)로 전달된다.
키워드 모델부(140)는 추출된 특징 벡터를 저장된 키워드와 비교하여 키워드에 가까운 정도인 우도를 산출한다. 필러 모델부(130) 역시 추출된 특징 벡터의 우도를 산출한다.
필러 모델부(130)는 다양한 필러 네트워크(Filler Network)를 통해 점수(Score)를 줄 수 있는데, 필러 네트워크에는 하나의 음소로만 판단하는 모노폰 필 러 네트워크(Monophone Filler Network), 판단하고자 하는 음소 이전에 존재하는 음소와의 관계 또는 이후에 따라오는 음소와의 관계를 고려하는 바이폰 필러 네트워크(Biphone Filler Network), 그리고 전후 음소를 모두 고려하는 트라이폰 필러 네트워크(Triphone Filler Network)가 있다.
제 1 신뢰도 산출부(150)는 입력된 음성 신호의 프레임별 특징 벡터에 대한 키워드 모델의 우도와 필러 모델의 우도간의 비율을 이용하여 신뢰도(이하, 제 1 신뢰도라 한다)를 산출하는 역할을 한다.
우도비는 p(xk|H0)와 p(xk|H1)의 비율을 의미한다. p(xk|H0)는 인식한 음성의 k번째 프레임 특징 벡터인 xk의 키워드 모델에 대한 우도이며, p(xk|H1)는 인식한 음성의 k번째 프레임 특징 벡터인 xk의 필러 모델에 대한 우도이다. 그 결과는 우도비 또는 제 1 신뢰도가 된다.
여기서, 제 1 신뢰도는 입력된 음성 신호가 키워드 모델에 포함된 음성 신호와 유사한지를 나타내는 수치로서, 키워드 모델의 우도와 필러 모델의 우도간의 비율인 우도비가 제 1 신뢰도일 수 있다.
제 2 신뢰도 산출부(160)는 입력된 음성 신호의 프레임별 키워드 모델의 가우시안 분포의 궤적과 키워드 모델에 대응되어 저장된 키워드의 가우시안 분포 궤적 표본을 비교하여 신뢰도(이하, 제 2 신뢰도라 한다)를 산출하는 역할을 한다.
한편, 키워드 모델은 키워드 모델부(140)에 포함된 비터비 디코더(Viterbi Decoder)에 의하여 추출될 수 있다.
산출된 제 1 신뢰도 및 제 2 신뢰도는 제어부(170)로 전달되고, 제어부(170)는 전달 받은 신뢰도가 기준 함수 생성을 위한 것인지 음성 인식을 위한 것인지 확인하는 역할을 한다. 그리하여, 확인 결과 기준 함수 생성을 위한 것이면 전달 받은 신뢰도를 기준 함수 생성부(180)로 전달하고, 전달 받은 신뢰도가 음성 인식을 위한 것이면 판단부(190)로 전달한다.
또한, 제어부(170)는 음성 수신부(110), 특징 벡터 추출부(120), 필러 모델부(130), 키워드 모델부(140), 제 1 신뢰도 산출부(150), 제 2 신뢰도 산출부(160), 기준 함수 생성부(180), 판단부(190) 및 음성 인식 장치(100)의 전반적인 제어를 수행한다.
기준 함수 생성부(180)는 소정의 신뢰도 좌표 상에서 제 1 신뢰도 및 제 2 신뢰도에 의해 결정된 지점의 위치에 따라 입력된 음성 신호가 키워드 데이터베이스에 있는 단어인지 키워드 데이터베이스에 없는 단어인지 판단 기준이 되는 경계를 생성한다.
여기서, 신뢰도 좌표는 제 1 신뢰도 축과 제 2 신뢰도 축에 의하여 형성된 2차원 좌표로서, 기준 함수 생성부(180)에 의해 생성된 경계를 기준으로 키워드 영역과 비키워드 영역으로 구분될 수 있다.
그리고, 경계는 함수로 표현될 수 있는데, 함수에 따라 직선 또는 곡선의 경계가 형성될 수 있고, 선형(Linear) 또는 비선형(Non-linear) 경계가 형성될 수도 있다.
판단부(190)는 신뢰도 좌표 상에서 제 1 신뢰도 및 제 2 신뢰도에 의해 결정 된 지점의 위치에 따라 입력된 음성 신호가 키워드 데이터베이스에 있는 단어인지 키워드 데이터베이스에 없는 단어인지를 판단하는 역할을 한다. 즉, 결정된 지점의 위치가 신뢰도 좌표 상에서 키워드 영역에 포함되어 있으면 판단부(190)는 인식된 단어가 키워드 데이터베이스에 있는 단어라고 판단하고, 결정된 지점의 위치가 신뢰도 좌표 상에서 비키워드 영역에 포함되어 있으면 판단부(190)는 인식된 단어가 키워드 데이터베이스에 있지 않다고 판단하는 것이다.
도 2는 본 발명의 실시예에 따른 키워드 모델부(140)와 필러 모델부(130)가 음성 신호를 인식하여 우도를 산출하는 과정을 나타낸 예시도이다.
'백승천'이라는 음성 신호가 입력되면 특징 벡터 추출부(120)는 음성 신호에서 프레임별로 특징 벡터를 추출한다. 추출된 특징 벡터는 키워드 모델부(140)와 필러 모델부(130)에 제공된다.
키워드 모델부(140)는 비터비 디코더(212)와 키워드 데이터베이스(211)를 포함한다. 비터비 디코더(212)는 추출된 특징을 키워드 데이터베이스(211)의 키워드와 매칭시킨 결과를 산출한다. 비터비 디코더(212)는 음성 인식에서 널리 쓰이는 것으로서 특징 벡터와 키워드 모델과 매칭시키는 작업을 수행한다. 그 결과(215) '백승권'이라는 키워드에 127점이라는 우도가 산출되었다.
한편, 필러 모델부(130)는 인식된 음성에서 노이즈 또는 비핵심어를 걸러내기 위해 노이즈 또는 비핵심어의 우도를 산출한다. 도 2의 실시예에서 필러 모델부(130)는 수신된 음성 신호를 음소별로 나누어 인식한다. 도 2의 필러 모델부(130)는 모노폰 필러 네트워크를 사용하며, 음성이 끝날 때까지 반복해서 사용하고 있 다. 이외에도 다양한 필러 네트워크를 사용할 수 있음은 전술한 바와 같다. 필러 모델부(130)에서 인식한 결과(225), 150점이라는 우도가 산출되었다.
프레임은 하나의 상태(state)를 의미할 수 있다. 여기서, 상태는 HMM과 같이 유한 상태 기계에서의 상태를 의미한다. 프레임과 상태는 일대일로 구성될 수 있으며, 하나의 상태를 다수의 프레임으로 구성할 수 있다. 하나의 프레임이 하나의 상태를 나타내거나, 상태의 일부분을 나타낼 수도 있다.
키워드 모델부(140)와 필러 모델부(130)에서 산출된 결과(215, 225)는 전체 프레임을 합산한 결과이다. 그런데, 이들 합산 과정에서 프레임별로 인식에 기여하는 방법이 다를 수 있다. 따라서, 키워드 모델부(140) 및 필러 모델부(130)의 결과를 생성하기 전에 프레임별 점수를 변환시켜 합산하는 것이 필요하다. 프레임별 산출 과정 및 제 1 신뢰도 산출부(150)의 작업 수행을 살펴보면 도 3과 같다.
도 3은 본 발명의 실시예에 따른 제 1 신뢰도 산출부(150)에서 프레임별로 제 1 신뢰도 즉, 우도비(320)가 산출되는 과정을 나타낸 예시도이다.
인식한 음성에 대한 특징 벡터를 프레임별로 구성한 것이 310이다. xk는 k번째 프레임의 특징 벡터를 나타낸다. 특징 벡터 하나하나에 대해 키워드 모델부(140)와 필러 모델부(130)를 통해 각각의 우도가 산출된다.
키워드 모델부(140)를 통해 산출된 우도는 p(xk|H0)이며, 필러 모델부(130)를 통해 산출된 우도는 p(xk|H1)이다. H0는 정확히 인식되었고 키워드 모델에 존재하는 것을 의미하며, H1는 키워드 모델에 없는, 필러 모델에 해당됨을 의미한다. 두 개의 우도의 비(320)는 제 1 신뢰도로서 제 2 신뢰도와 함께 판단부(190)로 전달되어 키워드 데이터베이스에 있는 단어인지 키워드 데이터베이스에 없는 단어인지 판단하는데 사용된다.
도 4는 본 발명의 실시예에 따른 제 2 신뢰도 산출부(160)에서 단어별로 제 2 신뢰도가 산출되는 과정을 나타낸 예시도이다.
제 2 신뢰도 산출부(160)는 입력된 음성 신호의 프레임별 키워드 모델의 가우시안 분포의 궤적(410)과 키워드 데이터베이스(211)에 키워드 모델에 대응되어 저장된 키워드의 가우시안 분포 궤적 표본을 비교하여 제 2 신뢰도(420)를 산출한다. 여기서, 키워드별 가우시안 분포 궤적 표본은 키워드 데이터베이스(211)에 포함된 키워드들의 것이고 단어별로 그룹화되어 저장될 수 있다.
도 5는 본 발명의 실시예에 따른 입력된 음성 신호의 프레임별 가우시안 분포 궤적과 해당 키워드의 가우시안 분포 궤적 표본간의 대응관계를 나타낸 예시도이다.
동적 프로그래밍에 따라 입력된 음성 신호의 프레임별 가우시안 분포 궤적과 해당 키워드의 가우시안 분포 궤적 표본과의 대응 여부가 결정되고, 결정된 대응 관계(510)에 따른 그래프(520)가 생성될 수 있다.
이에 따라, 제 2 신뢰도 산출부(160)는 제 2 신뢰도(420)를 산출할 수 있다. 즉, 그래프 상에서 대응하는 프레임별 궤적의 유사도에 따라 제 2 신뢰도(420)를 산출하는 것으로서 예를 들어, 대응하는 프레임간 궤적의 유사도가 높으면 높은 수치의 제 2 신뢰도(420)가 산출되고, 대응하는 프레임간 궤적의 유사도가 낮으면 낮 은 수치의 제 2 신뢰도(420)가 산출되는 것이다.
이 때, 제 2 신뢰도 산출부(160)는 대응되는 프레임별 가우시안 분포 궤적의 유사도 생성 시에 동일 가우시안 분포가 나오는 순서에 따라 가중치를 부여할 수 있다.
도 6은 본 발명의 실시예에 따른 프레임간 가우시안 분포 궤적의 유사도 생성 시에 동일 가우시안 분포가 나오는 순서에 따라 가중치가 부여되는 것을 나타낸 예시도이다.
입력된 음성 신호의 프레임에 해당하는 HMM 상태와 가우시안 분포 궤적 표본의 HMM 상태는 서로 동일함에도 불구하고, 각 HMM 상태를 구성하는 혼합 파형 확률 분포의 순서는 서로 다를 수 있다. 따라서, 제 2 신뢰도 산출부(160)는 상호 길이가 다른 벡터를 비교하는 알고리즘인 동적 프로그래밍을 이용하여 입력된 음성 신호의 프레임별 가우시안 분포 궤적과 단어별 저장된 가우시안 분포 궤적 표본을 비교한다.
HMM 상태 이름(611, 621)은 서브워드 및 일련 번호를 포함하여 구성되는데, 일련 번호는 HMM 상태의 순서를 나타낸다. 즉, 하나의 서브워드는 하나 또는 복수 개의 HMM 상태로 구성될 수 있는데, 도 6은 3개의 HMM 상태로 구성된 서브워드를 나타내고 있으며 이에 따라, 일련 번호는 0, 1 또는 2의 값이 부여된다.
혼합 파형 확률 분포의 순서(612, 622)는 혼합된 파형의 가우스 분포의 순서로서, 도 6의 각 HMM 상태는 8개 파형의 가우스 분포를 갖는다.
제 2 신뢰도 산출부(160)는 입력된 음성 신호의 프레임별 키워드 모델의 가 우시안 분포의 궤적과 키워드 모델에 대응되어 저장된 키워드의 가우시안 분포 궤적 표본을 비교함에 있어서, 그 배치를 이용하여 가중치(690)를 부여한다. 즉, 서브워드, 일련 번호 및 혼합 파형 확률 분포의 배치 순서에 따라 가중치(690)가 부여되는 것이다.
예를 들어, 입력된 음성 신호 프레임(610) 중 첫 번째 프레임(650)이 저장된 키워드 프레임(620) 중 첫 번째 프레임(660)과 비교되는 경우, 두 개의 프레임(650, 660)은 서브워드(651, 661) 및 일련 번호(652, 662)가 같은 반면, 입력된 음성 신호 프레임(610) 중 첫 번째 프레임(650)의 최초 파형 확률 분포(653)와 저장된 키워드 프레임(620) 중 첫 번째 프레임(660)의 두 번째 파형 확률 분포(663)가 동일하므로 즉, 그 배치가 상이하므로 가중치(690)가 부여된다.
또한, 서브워드가 다르거나 일련 번호가 다른 경우에도 가중치(690)가 부여될 수 있는데, 가중치(690)의 크기는 서브워드가 상이함에 따라 가장 크고, 혼합 파형 확률 분포의 배치 순서가 가장 작을 수 있다.
이와 같은 비교는 각각의 입력된 음성 신호 프레임을 저장된 모든 키워드 프레임에 대하여 수행될 수 있고, 동일한 서브워드를 갖는 프레임간에만 수행될 수도 있으며, 동일한 서브워드 및 동일한 일련 번호를 갖는 프레임간에만 수행될 수도 있다.
도 7은 본 발명의 실시예에 따른 신뢰도 좌표를 나타낸 예시도로서, 제 1 신뢰도 및 제 2 신뢰도(420)에 의해 결정된 지점의 위치가 입력된 음성 신호의 프레임별 키워드 모델의 가우시안 분포의 궤적과 키워드 모델에 대응되어 저장된 키워 드의 가우시안 분포 궤적 표본간의 신뢰 여부에 따라 서로 다른 기호로 표시된 것을 나타낸다.
도 7에서 가로축은 제 1 신뢰도축이고 세로축은 제 2 신뢰도축을 나타내며, 기준 함수 생성부(180)에 의해 생성된 경계(700)가 표시된 것을 나타낸다. 여기서, 경계(700)는 유사 여부에 따른 기호의 그룹을 적절하게 분할할 수 있도록 기준 함수 생성부(180)에 의해 생성되는데, 이는 사용자에 의하여 조절될 수 있다.
또한, 도 7은 직선 형태의 경계를 나타내고 있으나 전술한 바와 같이, 곡선 형태의 경계뿐만 아니라 선형 또는 비선형의 경계가 입력된 음성 신호의 프레임별 키워드 모델의 가우시안 분포의 궤적과 키워드 모델에 대응되어 저장된 키워드의 가우시안 분포 궤적 표본간의 신뢰 여부에 대한 판단 기준이 되어 키워드 영역(710) 및 비키워드 영역(720)을 형성한다.
기준 함수 생성부(180)는 경계(700)를 생성함에 있어서, 입력된 음성 신호에 따라 경계(700)의 위치 또는 형태를 갱신할 수 있다.
본 명세서에서 제시한 방법으로 수행한 실험의 결과는 다음과 같다. 음성 인식 자료를 구축하기 위하여 100명(남녀, 각 50명)의 음성을 인식하였으며, 2만 명령어(utterance)로 구성된 데이터베이스를 구축하였다. 특징을 추출하기 위한 프레임의 길이는 30ms로 하였으며 프레임간에 겹치는 길이는 20ms로 하였다. 또한, 특징을 추출하기 위하여 MFCC를 사용하였다. 실제 사용한 특징 벡터의 계수는 MFCC의 13개의 켑스트럼과 13개의 델타 켑스트럼(Δ cepstrum)과 13개의 델타 델타 켑스트럼(ΔΔ cepstrum)으로 구성된다. 이는 일 실시예이며 이외에도 LPC 켑스트럼, PLP 켑스트럼, 필터 뱅크 등을 사용할 수도 있다.
MFCC를 구하는 방법은 음성 신호는 안티 에일리어싱 필터(anti-aliasing filter)를 거친 다음, A/D(Analog/Digital) 변환을 거쳐서 디지털 신호 x(n)로 변환된다. 디지털 음성 신호는 고대역 통과 특성을 갖는 디지털 프리엠퍼시스 필터를 거친다. 이 필터를 사용하는 이유는 첫째, 인간의 외이/중이의 주파수 특성을 모델링하기 위하여 고대역 필터링을 한다. 이는 입술에서의 방사에 의하여 20 dB/decade로 감쇄되는 것을 보상하게 되어 음성으로부터 성도 특성만을 얻게 된다. 둘째, 청각 시스템이 1kHz이상의 스펙트럼 영역에 대하여 민감하다는 사실을 어느 정도 보상하게 된다. PLP 특징 추출에서는 인간 청각 기관의 주파수 특성인 라우드니스 곡선(equal-loudness curve, 등감 곡선)을 직접 모델링에 사용한다. 프리엠퍼시스 필터의 특성 H(z)는 다음과 같으며, a는 0.95~0.98 범위의 값을 사용한다.
H(z) = 1 - az-1
프리엠퍼시스된 신호는 해밍 윈도우를 씌워서 블록 단위의 프레임으로 나누어진다. 이후부터의 처리는 모두 프레임 단위로 이루어진다. 프레임의 크기는 보통 20~30ms이며 프레임 이동은 10ms가 흔히 사용된다. 한 프레임의 음성 신호는 FFT(Fast Fourier Transform)를 이용하여 주파수 영역으로 변환된다. FFT 이외에도 DFT(Discrete Fourier Transform)와 같은 변환 방식을 적용할 수도 있다. 주파수 대역을 여러 개의 필터 뱅크로 나누고 각 뱅크에서의 에너지를 구한다. 밴드 에너지에 로그를 취한 후 DCT(Discrete Cosine Transform)를 수행하면 최종적인 MFCC가 얻어진다. 필터 뱅크의 모양 및 중심 주파수의 설정 방법은 귀의 청각적 특성(달팽이관에서의 주파수 특성)을 고려하여 결정된다.
MFCC 계수는 c1~c12까지의 12개를 사용하며 이와는 별도로 구한 프레임 로그 에너지가 추가적으로 사용되어 음성 인식의 입력으로 사용되는 특징 벡터는 13차 벡터가 된다.
LPC(Linear Prediction Coefficients)는 음성 샘플들을 과거의 음성 샘플들의 조합으로 나타내는 것이다. 그리고, 원래의 음성 샘플과 조합한 음성 샘플이 일치할 수 있도록 예측 오차(Prediction Error)를 구한 것을 LPC 또는 LPC 계수라 한다.
켑스트럼(Cepstrum, 또는 셉스트럼)은 LPC, FFT 등을 통해 특징 벡터를 추출한 후에 log 스케일을 취한다. log 스케일을 통해 적은 차이가 나는 계수들은 상대적으로 큰 값을 가지고, 큰 차이가 나는 계수들은 상대적으로 작은 값을 가지게 되는 균등한 분포의 형태를 만들어 주는데, 이를 통해 얻은 결과가 켑스트럼 계수이다. 따라서, LPC 켑스트럼 방식은 특징 추출 시 LPC 계수를 이용한 후에 켑스트럼을 통해 계수들을 균등한 분포의 형태로 만든 것이다.
PLP 켑스트럼을 구하는 방법은 다음과 같다. PLP 분석에서는 주파수 영역에서 인간의 청각적 특성을 이용하여 필터링 한 다음 이를 자기상관 계수로 변환한 다음 다시 켑스트럼 계수로 변환한다. 특징 벡터의 시간적 변화에 민감하다는 청각 특성을 이용할 수 있다.
필터 뱅크는 선형 필터를 이용하여 시간 영역에서 구현되기도 하나, 일반적 으로는 음성신호를 FFT한 다음 각 밴드에 해당하는 계수의 규모(magnitude)에 가중치를 적용하여 합하는 방법으로 구현된다.
키워드 모델은 8개의 혼합 파형 확률 분포와 3~5개의 상태(state)를 가지며, 서브워드는 304개를 가지고 있다. 모노폰(monophone)은 46개이며, 바이폰(biphone)은 258개이다. 한편, 필러 모델은 8개의 혼합 파형 확률 분포와 3~5개의 상태를 가지며, 서브워드의 개수는 모노폰(monophone)으로 46개를 가지고 있다.
구축된 음성 인식 모델의 성능을 테스트하기 위해 테스트 스펙으로 20명(남녀10명)이 명령어와 이름, 지명 등을 발설하게 하였다. 이 때, 키워드 데이터베이스(211)에 950 단어, 기준 함수 학습을 위하여 키워드 모델에 포함되는 467 단어, 키워드 모델에 포함되지 않는 496 단어를 사용하였으며, 테스트를 위하여 키워드 모델에 포함되는 478 단어, 키워드 모델에 포함되지 않는 537단어를 사용하였다.
테스트에 대한 성능 평가는 EER(Equal Error Rate)을 사용하였다. EER은 신뢰도에 의한 지점의 위치가 신뢰도 좌표 상에서 비키워드 영역(720)에 포함됨에도 불구하고 키워드 영역(710)으로 잘못 인식한 비율(FAR; False Alarm Rate)과 키워드 영역(710)에 포함됨에도 불구하고 비키워드 영역(720)으로 잘못 인식한 비율(FRR; False Rejection Rate)이 동일한 경우를 나타낸다.
도 8은 본 발명의 실시예에 따른 성능의 향상을 보여주는 그래프이다.
본 실험은 두 개의 서브워드를 제 1 그룹 및 제 2 그룹으로 분류하여, 최초 실험(810)에서는 제 1 그룹을 입력된 음성 신호로 제 2 그룹을 저장된 키워드로 설정하였고, 두 번째 실험(820)에서는 제 1 그룹을 저장된 키워드로 제 2 그룹을 입 력된 음성 신호로 설정하였다.
종래의 방식으로 입력된 음성 신호에 대한 음성 인식을 수행하였을 때 FAR과 FRR이 동일한 EER은 최초 실험(810)에서 5.29%(811)이지만, 본 명세서에서 제안한 방식을 사용할 경우 EER은 2.39%(812)로 오차 발생률이 54.8% 감소한 것을 알 수 있고, 두 번째 실험(820)에서 EER은 4.86%(821)이지만, 본 명세서에서 제안한 방식을 사용할 경우 EER은 2.45%(822)로 오차 발생률이 49.6% 감소한 것을 알 수 있다.
이상 첨부된 도면을 참조하여 본 발명의 실시예를 설명하였지만, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자는 본 발명이 그 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다.