음성 인식 작동 방식. 문제 해결을 방해합니다. 영화 자막 생성

벨루소바 O.S., 파노바 L.

옴스크 주립 기술 대학

음성 인식

현재 음성 인식은 음성 정보를 텍스트로 변환하고 온보드 차량 제어 장치로 끝나는 응용 분야에 이르기까지 점점 더 많은 새로운 응용 분야를 찾고 있습니다.

음성 인식에는 몇 가지 주요 방법이 있습니다.

1. 개별 명령어 인식 -미리 정해진 작은 사전에서 단어나 구의 발음과 후속 인식을 분리합니다. 인식 정확도는 주어진 사전의 볼륨에 의해 제한됩니다

2. 문법에 의한 인식 -특정 규칙에 해당하는 문구 인식. 표준 XML 언어는 문법을 지정하는 데 사용되며 인식 시스템과 응용 프로그램 간의 데이터 교환은 MRCP 프로토콜을 사용하여 수행됩니다.

3. 연속어의 흐름에서 키워드 검색 -음성의 개별 섹션 인식. 연설은 자발적이고 특정 규칙에 따를 수 있습니다. 음성은 텍스트로 완전히 변환되지 않습니다. 주어진 단어나 구가 포함된 섹션이 자동으로 포함됩니다.

4. 큰 사전에서 연속어 인식 -말한 모든 것은 그대로 텍스트로 번역됩니다. 인식 신뢰도가 상당히 높습니다.

5. 신경 시스템을 사용한 음성 인식.신경망을 기반으로 음성 인식(및 합성) 시스템에서 사용하기 위한 중요한 전제 조건인 학습 및 자체 학습 시스템을 만드는 것이 가능합니다.

a) 숫자 매개변수의 집합으로 음성 표현.음성 신호의 정보적 특징을 추출한 후, 이러한 특징은 특정 수치 매개변수 세트(즉, 특정 수치 공간의 벡터)로 표현될 수 있습니다. 또한, 음성 프리미티브를 인식하는 작업은 훈련된 신경망을 사용하여 분류로 축소됩니다.

b) 신경 앙상블.음성 인식에 적합하고 교사 없이 훈련된 신경망의 모델로 자체 구성 코호넨 피쳐 맵을 선택할 수 있습니다. 그 안에 입력 신호 세트에 대해 이러한 신호를 나타내는 신경 앙상블이 형성됩니다. 이 알고리즘에는 통계적 평균화 기능이 있어 음성 가변성 문제를 해결할 수 있습니다.

c) 유전 알고리즘.유전 알고리즘을 사용할 때 새로운 신경망이 문제를 해결하는 데 더 나은지 나쁜지를 결정하기 위해 선택 규칙이 생성됩니다. 또한 신경망을 수정하기 위한 규칙이 정의됩니다. 충분히 오랜 시간 동안 신경망의 아키텍처를 변경하고 가장 좋은 방법으로 문제를 해결할 수 있는 아키텍처를 선택하면 조만간 문제에 대한 올바른 솔루션을 얻을 수 있습니다.

일관된 음성 인식을 위한 일반 알고리즘

원래 신호

초기 필터링 및 유용한 신호 증폭

개별 단어 강조 표시

단어 인식

음성 인식

인식된 신호에 대한 반응

다양한 음성 인식 시스템은 조건부로 여러 그룹으로 나눌 수 있습니다.

1. 하드웨어 구현을 위한 소프트웨어 코어.텍스트 음성 합성을 위한 TTS 엔진 및 음성 인식을 위한 ASR 엔진.

2. 애플리케이션 개발을 위한 라이브러리 세트.음성 기술을 통합하기 위한 두 가지 표준이 있습니다. 대화형 음성 기반 미디어 리소스 관리 응용 프로그램을 개발하기 위한 VoiceXML과 음성 인식을 다른 형식의 정보 입력과 결합하는 다중 모드 응용 프로그램을 지원하기 위한 SALT입니다.

3. 독립적인 사용자 애플리케이션. Dragon NaturallySpeaking Preferred - 연속 음성을 인식합니다. 오류 없는 인식 - 95%. "Dictograph" - 모든 편집기에 텍스트를 입력하는 기능, 인식 정확도 - 30-50%.

4. 특수 응용 프로그램.회사 "Center of Speech Technologies"는 내무부, 연방 보안국, 비상 사태부("IKAR Lab", "Tral", "Territory")를 위한 프로그램을 개발 및 생산합니다. 독일 인스티튜트 DFKI는 독일어에서 영어 또는 일본어로 대화식 연설을 번역할 수 있는 프로그램인 Verbmobil을 개발했습니다. 정확도 - 90%.

5. 하드웨어 수준에서 인식을 수행하는 장치. Sensory Inc는 사전 교육을 거쳐 소수의 명령(약 60개)에 대해 화자 의존적 인식을 수행하는 Voice Direct™ 364 집적 회로를 개발했습니다. Primestar Technology Corporation은 VP-2025 칩을 개발했습니다. 이 칩은 신경망 방식을 사용하여 인식을 수행합니다.

음성 인식 방법.

1. 은닉 마르코프 모델의 방법.다음과 같은 가정을 기반으로 합니다. 음성은 세그먼트로 나눌 수 있으며 음성 신호는 고정된 것으로 간주될 수 있으며 이러한 상태 간의 전환은 즉각적입니다. 모델에 의해 생성된 관측 기호의 확률은 모델의 현재 상태에만 의존하며 이전 상태에는 의존하지 않습니다.

2. 슬라이딩 윈도우 방식.본질: Viterbi 알고리즘을 사용하여 키워드의 발생을 결정합니다. 키워드는 신호의 어디에서나 시작하고 끝날 수 있으므로 이 방법은 키워드 발생의 가능한 모든 시작 및 끝 쌍을 반복하고 키워드가 있는 것처럼 키워드 및 이 세그먼트에 대한 가장 가능성 있는 경로를 찾습니다. 발견된 각 키워드 가능성 경로에 대해 적용된 경로 평가 방법에 따라 계산된 경로 값이 미리 정의된 값보다 큰 경우 응답에 기반한 우도 함수가 적용됩니다. 단점: 높은 계산 복잡성; 명령에는 키워드 인식 알고리즘에 의해 제대로 인식되지 않는 단어가 포함될 수 있습니다.

3. 필러 모델의 방법.키워드 인식 알고리즘의 경우 인식할 단어가 외국어에 포함된 것처럼 보입니다. 이를 기반으로 자리 표시자 모델 방법은 2차 모델을 희생하면서 명시적으로 외국어를 모델링하여 이 외래어를 처리합니다. 이를 위해 "일반화된" 단어가 인식 시스템의 사전에 추가됩니다. 이 단어의 역할은 익숙하지 않은 단어 또는 비음성 음향 사건의 신호 부분이 시스템에 의해 단일 단어 또는 일반화된 단어 체인으로 인식된다는 것입니다. 각 일반화된 단어에 대해 음향 모델이 생성되고 해당 레이블이 지정된 신호 세그먼트가 있는 데이터 코퍼스에 대해 학습됩니다. 디코더의 출력에서 ​​사전 단어(키워드)와 일반화된 단어로 구성된 체인이 발행됩니다. 그런 다음 일반화된 단어를 버리고 나머지 체인을 인식 결과로 간주합니다. 단점: 키워드가 일반적인 것으로 인식될 수 있습니다. 일반화 된 단어의 알파벳 최적 선택의 복잡성.

서지 목록

1. 자동 음성 인식 방법: 2권. 당. 영어 / Ed. W. 리. - M.: Mir, 1983. - 책. 1. 328p., 병.

2. Vintsyuk T.K. 음성 신호의 분석, 인식 및 해석. 키예프: Naukova Dumka, 1987.

3. Vintsyuk T.K. ICDP와 NMM의 비교 - 음성 인식 방법 // 방법 및 정보 수단. 연설. 1991년 키예프.

4. http://www.mstechnology.ru

5. http://www.comptek.ru

  • 지도 시간

이 기사에서는 음성 인식과 같은 흥미로운 소프트웨어 개발 영역의 기본 사항을 검토하고 싶습니다. 당연히 저는 이 주제의 전문가가 아니므로 제 이야기는 부정확함, 오류 및 실망으로 가득 차게 될 것입니다. 그럼에도 불구하고 내 "작업"의 주요 목표는 이름에서 알 수 있듯이 문제에 대한 전문적인 분석이 아니라 기본 개념, 문제 및 솔루션에 대한 설명입니다. 일반적으로 컷 아래에 환영에 관심이있는 모든 사람에게 요청합니다!

프롤로그

우리의 연설은 소리의 연속이라는 사실부터 시작합시다. 소리는 차례로 다른 주파수의 소리 진동(파동)의 중첩(중첩)입니다. 물리학에서 알 수 있듯이 파동은 진폭과 주파수라는 두 가지 속성이 특징입니다.

이러한 방식으로 기계적 진동은 최신 컴퓨터에서 처리하기에 적합한 일련의 숫자로 변환됩니다.

음성 인식 작업은 일련의 숫자 값(디지털 신호)과 일부 사전(예: 러시아어)의 단어를 "일치"하는 것으로 축소됩니다.

실제로 이 "매핑"이 어떻게 구현되는지 봅시다.

입력 데이터

오디오 데이터가 포함된 파일/스트림이 있다고 가정해 보겠습니다. 우선, 작동 방식과 읽는 방법을 이해해야 합니다. 가장 간단한 옵션인 WAV 파일을 살펴보겠습니다.

형식은 파일에 두 개의 블록이 있음을 의미합니다. 첫 번째 블록은 비트 전송률, 주파수, 채널 수, 파일 길이 등 오디오 스트림에 대한 정보가 포함된 헤더입니다. 두 번째 블록은 "원시" 데이터(동일한 디지털 신호, 진폭 값 세트)로 구성됩니다.

이 경우 데이터를 읽는 논리는 매우 간단합니다. 헤더를 읽고 일부 제한 사항(예: 압축 부족)을 확인하고 데이터를 특별히 할당된 배열에 저장합니다.

인식

순전히 이론적으로 이제 우리는 우리가 이미 알고 있는 다른 샘플과 (요소별로) 샘플을 비교할 수 있습니다. 즉, 연설을 "인식"하려고 노력하십시오 ... 그러나 이것을하지 않는 것이 좋습니다 :)

우리의 접근 방식은 목소리의 음색(단어를 발음하는 사람), 볼륨 및 발음 속도의 변화에 ​​안정적이어야 합니다(적어도 약간). 당연히 이것은 두 오디오 신호의 요소별 비교로 달성할 수 없습니다.

따라서 우리는 약간 다른 방식으로 갈 것입니다.

프레임

우선, 데이터를 작은 시간 간격(프레임)으로 분할해 보겠습니다. 또한 프레임은 엄격하게 하나씩 차례로 이동하지 않고 "중첩"해야 합니다. 저것들. 한 프레임의 끝은 다른 프레임의 시작과 교차해야 합니다.

프레임은 특정 신호 값보다 데이터 분석에 더 적합한 단위입니다. 특정 지점보다 특정 간격으로 파동을 분석하는 것이 훨씬 더 편리하기 때문입니다. "중첩" 프레임의 배열은 프레임 분석 결과를 매끄럽게 하여 프레임의 개념을 원래 기능(신호 값)을 따라 움직이는 일종의 "창"으로 바꾸는 것을 가능하게 합니다.

최적의 프레임 길이는 10ms의 간격, "중첩" - 50%에 해당해야 한다는 것이 경험적으로 확립되었습니다. 평균 단어 길이(적어도 내 실험에서)가 500ms임을 고려할 때 이러한 단계는 단어당 약 500 / (10 * 0.5) = 100 프레임을 제공합니다.

단어 깨기

음성 인식에서 해결해야 하는 첫 번째 작업은 바로 이 음성을 별도의 단어로 나누는 것입니다. 간단하게 하기 위해 우리의 경우 연설에는 단어의 "분리 기호"로 간주될 수 있는 약간의 일시 중지(침묵 간격)가 포함되어 있다고 가정해 보겠습니다.

이 경우 우리는 어떤 값, 임계값을 찾아야 합니다. 위 값은 단어이고 아래 값은 침묵입니다. 여기에는 몇 가지 옵션이 있을 수 있습니다.

  • 상수로 설정(원래 신호가 항상 동일한 조건에서 동일한 방식으로 생성되는 경우 작동);
  • 묵음에 해당하는 값 집합을 명시적으로 강조 표시하여 신호 값을 클러스터링합니다(침묵이 원래 신호의 상당 부분을 차지하는 경우에만 작동함).
  • 엔트로피 분석;

짐작하셨겠지만, 이제 마지막 요점에 대해 이야기하겠습니다. :) 엔트로피가 무질서의 척도, "모든 경험의 불확실성 척도"(c)라는 사실부터 시작하겠습니다. 우리의 경우 엔트로피는 주어진 프레임 내에서 신호가 "변동"하는 정도를 의미합니다.

  • 신호가 정규화되고 모든 값이 [-1;1] 범위에 있다고 가정합니다.
  • 프레임 신호 값의 히스토그램(분포 밀도) 작성:
엔트로피를 다음과 같이 계산하십시오. ;

그래서 우리는 엔트로피 값을 얻었습니다. 그러나 이것은 프레임의 또 다른 특성이며 소리와 침묵을 구분하려면 여전히 무언가와 비교해야 합니다. 일부 기사에서는 (모든 프레임 중) 최대값과 최소값 사이의 평균과 동일한 엔트로피 임계값을 취하는 것이 좋습니다. 그러나 제 경우에는 이 방법이 좋은 결과를 내지 못했습니다.
다행스럽게도 엔트로피(값의 평균 제곱과 달리)는 상대적으로 독립적인 양입니다. 이를 통해 상수(0.1)의 형태로 임계값 값을 선택할 수 있었습니다.

그럼에도 불구하고 문제는 여기서 끝나지 않습니다. (엔트로피는 단어 중간(모음)에서 처지거나 약간의 소음으로 인해 갑자기 뛸 수 있습니다. 첫 번째 문제를 처리하기 위해 다음을 도입해야 합니다. "단어 사이의 최소 거리"와 "접착제"의 개념은 침하로 인해 분리된 근처의 기댄 프레임 세트입니다. 두 번째 문제는 "최소 단어 길이"를 사용하고 선택을 통과하지 못한 모든 후보를 잘라내어 해결됩니다. 첫 번째 단락에서).

원칙적으로 음성이 "명확한" 것이 아닌 경우 원래 프레임 세트를 특정 방식으로 준비된 하위 시퀀스로 쪼개려고 할 수 있으며 각 하위 시퀀스는 인식 절차를 거치게 됩니다. 그러나 그것은 완전히 다른 이야기입니다 :)

따라서 특정 단어에 해당하는 프레임 세트가 있습니다. 우리는 최소 저항의 경로를 택하고 모든 값의 제곱 평균 제곱근(Root Mean Square)을 프레임의 수치적 특성으로 사용할 수 있습니다. 그러나 이러한 메트릭에는 추가 분석에 적합한 정보가 거의 없습니다.

이것은 Mel-주파수 cepstral 계수가 작용하는 곳입니다. Wikipedia(아시다시피 거짓말을 하지 않음)에 따르면 MFCC는 일종의 신호 스펙트럼 에너지 표현입니다. 사용의 장점은 다음과 같습니다.

  • 신호의 스펙트럼이 사용되므로(즉, 직교 [공]사인곡선 함수의 기초 측면에서 확장), 추가 분석에서 신호의 파동 "특성"을 고려할 수 있습니다.
  • 스펙트럼은 특수 멜 스케일에 투영되어 인간의 지각에 가장 중요한 주파수를 강조 표시할 수 있습니다.
  • 계산된 계수의 수는 임의의 값(예: 12)으로 제한할 수 있으므로 프레임을 "압축"하고 결과적으로 처리 중인 정보의 양을 줄일 수 있습니다.

특정 프레임에 대한 MFCC 계수를 계산하는 과정을 살펴보자.

프레임을 벡터로 표현해 보겠습니다. 여기서 N은 프레임의 크기입니다.

푸리에 전개

우선, 이산 푸리에 변환(바람직하게는 "빠른" FFT 구현)을 사용하여 신호 스펙트럼을 계산합니다.

즉, 결과는 다음 형식의 벡터가 됩니다.

이 변환 후에 x축에는 신호의 주파수(hz)가 있고 y축에는 크기가 있다는 것을 이해하는 것이 중요합니다(복잡한 값에서 벗어나는 방법으로).

멜 필터 계산

멜이 무엇인지부터 시작하겠습니다. 다시 Wikipedia에 따르면 mel은 평균적인 사람들의 주관적인 인식에 기반한 "음높이의 정신물리학적 단위"입니다. 이것은 주로 소리의 주파수(볼륨과 음색 뿐만 아니라)에 따라 달라집니다. 즉, 이 값은 특정 주파수의 소리가 우리에게 얼마나 "중요한"지를 나타내는 값입니다.

다음 공식을 사용하여 주파수를 분필로 변환할 수 있습니다("공식-1"로 기억).

역 변환은 다음과 같습니다("formula-2"로 기억).

플롯 멜 / 주파수:

그러나 우리의 과제로 돌아갑니다. 256개 요소의 크기를 가진 프레임이 있다고 가정해 보겠습니다. 우리는 (오디오 형식 데이터에서) 주어진 프레임의 오디오 주파수가 16000hz라는 것을 알고 있습니다. 인간의 음성이 hz에서 범위에 있다고 가정해 봅시다. 구하는 멜 계수 수 M = 10(권장값)을 설정합니다.

위에서 얻은 스펙트럼을 멜 스케일로 분해하려면 필터의 "빗"을 만들어야 합니다. 사실, 각 멜 필터는 특정 주파수 범위에서 에너지 양을 합산하여 멜 계수를 얻을 수 있는 삼각형 창 함수입니다. 멜 계수의 수와 분석된 주파수 범위를 알면 다음과 같은 필터 세트를 만들 수 있습니다.

멜 계수 숫자가 높을수록 필터 바닥이 넓어집니다. 이는 관심 주파수 범위를 필터에 의해 처리되는 범위로 나누는 것이 분필 스케일에서 발생하기 때문입니다.

그러나 우리는 다시 빗나간다. 따라서 우리의 경우 관심 주파수 범위는 입니다. 분필 규모의 공식 1에 따르면이 범위는 다음과 같습니다.

m[i] =

점은 분필 눈금에서 균일한 간격으로 표시됩니다. 공식 2를 사용하여 스케일을 다시 헤르츠로 변환해 보겠습니다.

h[i] =

보시다시피, 이제 규모가 점차 늘어나기 시작하여 저주파 및 고주파수에서 "의미성" 성장의 역학을 평준화했습니다.

이제 프레임의 스펙트럼에 결과 스케일을 오버레이해야 합니다. 기억하듯이 X축에는 주파수가 있습니다. 스펙트럼의 길이는 256 - 요소이며 16000hz에 맞습니다. 간단한 비율을 풀면 다음 공식을 얻을 수 있습니다.

f(i) = floor((frameSize+1) * h(i) / sampleRate)

우리의 경우 다음과 같습니다.

f(i) = 4, 8, 12, 17, 23, 31, 40, 52, 66, 82, 103, 128

그게 다야! 스펙트럼의 X축에 있는 기준점을 알면 다음 공식을 사용하여 필요한 필터를 쉽게 구성할 수 있습니다.

필터 적용, 스펙트럼 에너지의 로그

필터의 적용은 스펙트럼 값과 값을 쌍으로 곱하는 것으로 구성됩니다. 이 연산의 결과는 멜 계수입니다. M개의 필터가 있으므로 동일한 수의 계수가 있습니다.

그러나 스펙트럼 값이 아니라 에너지에 멜 필터를 적용해야 합니다. 그런 다음 결과의 로그를 취하십시오. 이것은 잡음에 대한 계수의 민감도를 감소시키는 것으로 믿어진다.

코사인 변환

DCT(Discrete Cosine Transform)는 이러한 "cepstral" 계수를 얻는 데 사용됩니다. 그 의미는 첫 번째 계수의 유의성을 증가시키고 후자의 유의성을 감소시켜 얻은 결과를 "압축"하는 것입니다.

이 경우 (스케일 팩터)를 곱하지 않고 DCTII를 사용합니다.

이제 각 프레임에 대해 추가 분석에 사용할 수 있는 M mfcc 계수 세트가 있습니다.

상위 메소드에 대한 코드의 예를 찾을 수 있습니다.

인식 알고리즘

여기, 독자 여러분, 주요 실망이 여러분을 기다립니다. 인터넷에서 나는 어떤 인식 방법이 더 나은지에 대해 매우 지능적인(그렇지 않은) 논쟁을 많이 보았습니다. 누군가는 Hidden Markov Models를 지지하고, 누군가는 신경망을 지지하며, 누군가의 생각은 기본적으로 이해가 불가능합니다. :)

어쨌든 HMM에 많은 우선권이 주어지며, 미래에 내 코드에 추가할 구현입니다. :)

현재로서는 훨씬 덜 효과적이지만 몇 배는 더 간단한 방법에서 멈출 것을 제안합니다.

따라서 우리의 임무는 사전에서 단어를 인식하는 것임을 기억하십시오. 단순화를 위해 처음 10자리의 이름을 인식합니다: "하나", "둘", "셋", "넷", "다섯", "여섯", "일곱", "여덟", "아홉", "십".

이제 iPhone/Android를 들고 L 동료를 통해 기록을 위해 이 단어를 받아쓰도록 요청합시다. 다음으로 해당 레코드의 mfcc 계수 세트의 각 단어 L에 (일부 로컬 데이터베이스 또는 간단한 파일에서) 할당해 보겠습니다.

우리는 이 서신을 "모델"이라고 부르고 프로세스 자체를 머신 러닝이라고 부릅니다! 사실 단순히 새로운 샘플을 데이터베이스에 추가하는 것만으로는 머신러닝과의 연관성이 극히 미약합니다... 하지만 이 용어는 너무 트렌디합니다. :)

이제 우리의 작업은 일부 mfcc 계수 세트(인식 가능한 단어)에 대해 "가장 가까운" 모델을 선택하는 것으로 축소되었습니다. 언뜻보기에 문제는 아주 간단하게 해결할 수 있습니다.

  • 각 모델에 대해 식별된 mfcc-vector와 모델 벡터 사이의 평균(유클리드) 거리를 찾습니다.
  • 우리는 가장 작은 평균 거리를 올바른 모델로 선택합니다.

그러나 Andrei Malakhov와 그의 일부 에스토니아 동료는 같은 단어를 발음할 수 있습니다. 즉, 같은 단어에 대한 mfcc 벡터의 크기가 다를 수 있습니다.

다행히도 길이가 다른 시퀀스를 비교하는 문제는 동적 시간 왜곡 알고리즘의 형태로 이미 해결되었습니다. 이 동적 프로그래밍 알고리즘은 부르주아 Wiki와 Orthodox Wiki 모두에 아름답게 설명되어 있습니다.

그것에 대해 이루어져야 하는 유일한 변경은 거리를 찾는 방법입니다. 모델의 mfcc 벡터는 실제로 프레임에서 얻은 차원 M의 mfcc "서브 벡터" 시퀀스라는 것을 기억해야 합니다. 따라서 DTW 알고리즘은 차원 M의 동일한 "서브벡터" 시퀀스 사이의 거리를 찾아야 합니다. 즉, 프레임의 mfcc "서브벡터" 사이의 거리(유클리드)를 거리 행렬의 값으로 사용해야 합니다.

실험

대규모 "훈련" 샘플에서 이 접근 방식의 작업을 테스트할 기회가 없었습니다. 합성이 아닌 조건에서 각 단어에 대해 3개의 인스턴스를 샘플로 테스트한 결과, 온화하게 말해서 최상의 결과가 아닌 올바른 인식의 65%라는 결과가 나타났습니다.

하지만 제 목표는 음성 인식을 위한 가장 간단한 애플리케이션을 만드는 것이었습니다. 따라서 "개념 증명"이라고 할 수 있습니다. :) 태그 추가

예전에는 얼마나 좋았는지! 헬프 데스크에 전화하여 여자 교환원과 이야기하고 그녀와 약속을 잡을 수도 있었습니다. 이제 전선의 다른 쪽 끝에서 유쾌하지만 생기가 없는 여성의 목소리가 들립니다. 다이얼 1을 눌러 이런저런 정보를 수신하고, 2를 눌러 통신을 하고, 3을 눌러 메뉴를 종료하는 등의 제안을 합니다. 점점 더 많은 정보에 대한 액세스가 개인이 아닌 시스템에 의해 제어됩니다. 여기에는 자체 논리가 있습니다. 단조롭고 흥미롭지 않은 작업은 사람이 아니라 기계가 수행합니다. 그리고 사용자의 경우 정보를 얻는 절차가 단순화되었습니다. 그는 특정 숫자 집합을 호출했습니다. 필요한 정보를 받았습니다.

그러한 시스템은 어떻게 작동합니까? 그것을 알아 내려고 노력합시다.

음성 인식 프로그램의 두 가지 주요 유형은 다음과 같습니다.

받아쓰기 소프트웨어 - 텍스트와 숫자를 입력합니다.

Text-to-speech 및 Speech-to-Text 시스템, 즉 텍스트를 구두 음성으로 또는 그 반대로 번역하는 시스템을 고려하지 않기로 즉시 예약합시다. 우리는 명령의 자동 인식 시스템 또는 음성 내비게이터로 제한할 것입니다.

SARR - 무엇입니까?

자동 음성 인식(CAPP)은 음성 처리 프로세스의 한 요소이며 그 목적은 사용자와 기계 간의 편리한 대화를 제공하는 것입니다. 넓은 의미에서 우리는 사전의 볼륨에 대한 문제 방향 및 제한을 고려하지 않고 임의의 화자, 자유 스타일로 음성 메시지를 발음할 때 음성 음향 신호의 음소 디코딩을 수행하는 시스템에 대해 이야기하고 있습니다. 좁은 의미에서 CAPP는 고전적 의미에서 자연스러운 음성 인식을 위한 요구 사항에 몇 가지 제한을 부과함으로써 특정 문제의 해결을 용이하게 합니다. 따라서 CAPP 종류의 범위는 음성 단어, 숫자, 도시, 이름 등을 별도로 인식하거나 합성할 수 있는 단순한 독립 실행형 장치 및 어린이용 장난감에서 매우 복잡한 자연음 음성 인식 시스템 및 그 합성에 이르기까지 다양합니다. 예를 들어, 보조 보조자로 사용하기 위해(IBM VoiceType Simply Speaking Gold).

기계와 사람 사이의 친숙한 인터페이스의 주요 구성 요소인 CAPP는 음성 제어 시스템, 정보 리소스에 대한 음성 액세스, 컴퓨터를 사용한 언어 학습, 장애인 지원, 음성 확인 시스템/식별을 통한 것.

CAPP는 녹음된 오디오 및 비디오 데이터에 대한 검색 및 정렬 도구로 매우 유용합니다. 음성 인식은 정보를 입력할 때도 사용되는데 사람의 눈이나 손이 바쁠 때 특히 유용합니다. CARR을 사용하면 스트레스가 많은 환경에서 일하는 사람들(병원의 의사, 공장 근로자, 운전사)이 컴퓨터를 사용하여 필요한 정보를 얻거나 입력할 수 있습니다.

일반적으로 CAPP는 전화 응용 프로그램, 임베디드 시스템(전화 걸기 시스템, PDA 작동, 운전 등), 멀티미디어 응용 프로그램(언어 교육 시스템)과 같은 시스템에 사용됩니다.

음성 키

음성 신호는 때때로 자동 음성 인식 시스템이라고 합니다. 일반적으로 이들은 정보에 대한 승인된 액세스 또는 개체에 대한 물리적 액세스의 생체 인식 시스템입니다. 그러한 시스템은 검증 시스템과 식별 시스템의 두 가지 유형으로 구분되어야 합니다. 확인하는 동안 사용자는 먼저 자신의 코드를 제시합니다. 즉, 어떤 식으로든 자신을 선언한 다음 암호나 임의의 문구를 큰 소리로 말합니다. 시스템은 주어진 음성이 제시된 코드에 따라 컴퓨터의 메모리에서 호출된 표준과 일치하는지 확인합니다.

식별할 때 사용자에 대한 사전 진술은 하지 않습니다. 이 경우 이 음성을 모든 기준과 비교하여 음성으로 식별되는 사람이 누구인지 구체적으로 판별합니다. 오늘날 그러한 시스템을 구현하기 위한 많은 접근 방식과 방법이 있으며, 원칙적으로 그들 모두는 서로 다릅니다. 얼마나 많은 개발자, 얼마나 많은 종류가 있습니다. 음성 인식 시스템에 대해서도 마찬가지입니다. 따라서 특수 테스트 데이터베이스를 사용하여 특정 음성 인식 및 성격 인식 시스템의 특성을 판단하는 것만 가능합니다.

약간의 역사

1960년대 후반 미국: "3"이라고 인기 있는 과학 프로그램인 21세기의 진행자인 Walter Cronkite가 음성 인식의 최신 개발을 시연하는 동안 말했습니다. 컴퓨터는 이 단어를 "4"로 인식했습니다. "바보야." 월터가 중얼거렸다. "그 단어는 사전에 없습니다." 컴퓨터가 대답했습니다.

음성 인식 분야의 첫 번째 개발은 1920년대로 거슬러 올라가지만 첫 번째 시스템은 1952년에 Bell Laboratories(현재 Lucent Technologies의 일부)에 의해 만들어졌습니다. 그리고 최초의 상용 시스템은 훨씬 나중에 만들어졌습니다. 1960년에 IBM은 그러한 시스템의 개발을 발표했지만 이 프로그램은 시장에 진입하지 못했습니다.

그런 다음 1970년대에 미국의 Eastern Airlines는 스피커에 의존하는 수하물 발송 시스템을 설치했습니다. 운영자는 목적지를 지정하고 수하물은 도중에 보냈습니다. 그러나 오류의 수로 인해 시스템은 시험 기간을 통과하지 못했습니다.

그 후, 이 지역의 개발은 오히려 더디게 진행되었습니다. 1980년대에도 음성 인식 시스템을 사용하는 실제 상용 응용 프로그램이 꽤 있었습니다.

오늘날 과학 및 교육 기관과 대기업의 수십 개, 아니 수백 개의 연구팀이 이 방향으로 작업하고 있습니다. 이것은 ICASSP, EuroSpeech, ICPHS 등과 같은 음성 기술 분야의 과학자 및 전문가의 국제 포럼에서 판단 할 수 있습니다. 우리가 비유적으로 말했듯이 "전 세계에 떨어졌다"고 거의 할 수없는 작업 결과 과대평가되다.

몇 년 동안 음성 내비게이터 또는 명령 인식 시스템은 다양한 활동 분야에서 성공적으로 사용되었습니다. 예를 들어, Alcatel이 바티칸에 공급한 OmniTouch 콜센터는 그리스도의 2000주년 기념 행사의 일환으로 발생한 서비스 행사에 사용되었습니다. 콜센터에 전화를 건 순례자가 질문을 했더니 자동 음성 인식 시스템이 '경청'했다. 이벤트 일정이나 호텔 주소와 같이 자주 발생하는 주제에 대한 질문이 시스템에서 확인된 경우 사전 녹음된 항목이 포함되었습니다. 질문을 명확히 해야 하는 경우 항목 중 하나를 음성으로 표시해야 하는 음성 메뉴가 제공되었습니다. 인식 시스템이 질문에 대한 사전 녹음된 답변이 없다고 판단하면 순례자는 인간 교환원에게 연결되었습니다.

스웨덴에서는 최근 필립스 음성인식 소프트웨어를 이용해 전화 자동문의 서비스를 오픈했다. 공식 발표 없이 운영을 시작한 Autosvar 서비스의 운영 첫 달 동안 200,000명의 고객이 서비스를 사용했습니다. 사람은 특정 번호를 다이얼해야 하며 자동 비서의 응답 후 관심 있는 정보 디렉토리 섹션의 이름을 지정해야 합니다.

새로운 서비스는 주로 서비스 비용이 현저히 낮아 선호하는 개인 고객을 대상으로 합니다. Autosvar 서비스는 유럽 최초의 서비스입니다(미국에서는 AT&T에서 유사한 서비스의 시험이 작년 12월에 시작되었습니다).

다음은 미국에서 이 기술을 사용하는 몇 가지 예입니다.

부동산 중개인은 종종 Newport Wireless의 서비스를 이용합니다. 부동산 중개인이 운전을 하다가 집 근처에 For Sale 표지판이 보이면 Newport Wireless에 전화를 걸어 이런 거리에 이런 번호가 있는 집에 대한 정보를 요청합니다. 유쾌한 여성 목소리의 자동 응답기는 집의 영상, 건축 날짜 및 소유자에 대해 알려줍니다. 이 모든 정보는 Newport Wireless 데이터베이스에 있습니다. 부동산 중개인은 클라이언트에게만 메시지를 보낼 수 있습니다. 구독료는 한 달에 약 $30입니다.

Amtrak의 가상 에이전트인 Julie는 2001년 10월부터 철도 승객에게 서비스를 제공하고 있습니다. 그녀는 기차 일정, 도착 및 출발에 대해 전화로 알려주고 티켓 예약도 합니다. Julie는 SpeechWorks 소프트웨어 및 Intervoice 하드웨어의 제품입니다. 이미 승객 만족도가 45% 증가했습니다. 50명 중 13명의 고객이 Julie로부터 필요한 모든 정보를 얻습니다. Amtrak은 톤 기반 추천 시스템을 사용했지만 고객 50명 중 9명으로 만족도가 낮았습니다.

Amtrak은 Julie가 12-18개월 만에 가격(400만 달러)을 갚았다고 인정합니다. 그녀는 직원 팀 전체를 고용하지 못하도록 허용했습니다. 또한 British Airways는 헬프 데스크를 자동화하는 Nuance Communications의 기술을 사용하여 연간 150만 달러를 절약하고 있습니다.

최근 Sony Computer Entertainment America는 플레이어가 수류탄 배치 전투기에게 구두 명령을 내릴 수 있는 최초의 비디오 게임인 Socom을 출시했습니다. $60 게임은 ScanSoft 기술을 사용합니다. 작년에 이 게임 중 450,000개가 판매되어 Socom은 회사 매출의 확실한 리더가 되었습니다.

Infinity 및 Jaguar와 같은 고가의 자동차에서는 제어 패널의 음성 제어가 몇 년 동안 사용되었습니다. 라디오, 온도 체계 및 내비게이션 시스템은 자동차 소유자의 목소리를 이해하고 의심의 여지없이 소유자에게 복종합니다. 하지만 이제 음성인식 기술이 중형차에도 적용되기 시작했다. 따라서 2003년부터 Honda Accord에는 IBM의 음성 식별자가 내장되어 있습니다. ViaVoice라고 하는 이 제품은 2,000달러짜리 내비게이션 시스템의 일부입니다. 공급업체에 따르면 Honda Accord 구매자의 5분의 1이 음성 내비게이션이 있는 모델을 선택합니다.

의학에서도 음성 인식 기술이 자리를 잡았습니다. 의사의 음성에 따라 위장을 검사하는 장치는 이미 개발되었습니다. 사실, 전문가에 따르면 이러한 장치는 여전히 불완전합니다. 의사의 지시에 느리게 반응합니다. 하지만 아직 앞서 있습니다. 멤피스에서 VA 의료 센터는 의사와 간호사가 컴퓨터 데이터베이스에 정보를 입력할 수 있도록 하는 Dragon 소프트웨어에 277,000달러를 투자했습니다. 아마도 곧 의료 기록에서 의사의 필적을 확인하는 데 어려움을 겪을 필요가 없을 것입니다.

이미 수백 개의 대기업이 제품이나 서비스에 음성 인식 기술을 사용하고 있습니다. 여기에는 AOL, FedEx, Honda, Sony, Sprint, T. Rowe Price, United Airlines 및 Verizo가 포함됩니다. 전문가들에 따르면 2002년 음성 기술 시장은 2001년보다 10% 증가한 약 6억9500만 달러에 달했다.

United Airways는 1999년에 자동 조회 서비스를 도입했습니다. 자동화된 전화 통화 처리 시스템은 투자 은행 Charles Schwab & Co, 소매 체인 Sears, 슈퍼마켓 체인 Roebuck과 같은 회사에서 운영합니다. 미국 무선 통신 사업자(AT&T Wireless 및 Sprint PCS)는 유사한 프로그램을 사용하여 현재 1년 넘게 음성 다이얼링 서비스를 제공하고 있습니다. 그리고 현재 미국이 이러한 유형의 콜 센터 수에서 선두를 달리고 있지만 최근에는 음성 인식 시스템의 이점이 유럽에서 실현되기 시작했습니다. 예를 들어, 스위스 철도 서비스는 이미 United Airways에서 제공하는 것과 유사한 서비스를 독일어를 사용하는 승객에게 제공하고 있습니다.

애널리스트 예측

오늘날 음성 인식 기술은 세계에서 가장 유망한 기술 중 하나로 간주됩니다. 따라서 미국 리서치 회사인 Cahners In-Stat의 예측에 따르면 2005년까지 음성 인식 소프트웨어의 세계 시장은 2억 달러에서 27억 달러로 증가할 것이며 음성 기술 시장 규모는 Datamonitor에 따르면 연간 평균 43%: 2000년 6억 5천만 달러에서 2006년 56억 달러로 증가했습니다(그림 1). CNN 미디어 기업과 협력한 전문가들은 올해 가장 유망한 8가지 기술 중 하나로 음성 인식을 꼽았습니다. 그리고 IDC의 분석가들은 2005년까지 음성 인식이 시장에서 다른 모든 음성 기술을 완전히 대체할 것이라고 말합니다(그림 2).

주요 어려움

CAPP의 개발에서 발생하는 주요 문제는 다른 사람과 다른 상황에서 동일한 사람에 의해 동일한 단어의 변형 발음입니다. 이것은 사람을 귀찮게하지 않지만 컴퓨터는 할 수 있습니다. 또한 들어오는 신호는 주변 잡음, 반사, 에코 및 채널 잡음과 같은 다양한 요인의 영향을 받습니다. 이것은 소음과 왜곡을 미리 알 수 없다는 사실, 즉 작업이 시작되기 전에 시스템을 조정할 수 없다는 사실로 인해 복잡합니다.

그러나 다양한 CAPP에 대한 반세기 이상의 작업이 결실을 맺었습니다. 거의 모든 최신 시스템은 여러 모드에서 작동할 수 있습니다. 첫째, 아나운서에 종속되거나 독립적일 수 있습니다. 화자 종속 시스템은 그가 말하는 것을 정확하게 인식하기 위해 특정 사용자에 대한 특별한 훈련이 필요합니다. 시스템을 훈련시키기 위해 사용자는 몇 가지 특정 단어나 구를 말해야 합니다. 그러면 시스템이 결과를 분석하고 기억합니다. 이 모드는 일반적으로 한 사용자가 시스템에서 작업할 때 받아쓰기 시스템에서 사용됩니다.

스피커 독립형 ​​시스템은 교육 절차 없이 모든 사용자가 사용할 수 있습니다. 이 모드는 일반적으로 전화 통신 응용 프로그램과 같이 학습 절차가 불가능한 경우에 사용됩니다. 분명히 화자 종속 시스템의 인식 정확도는 화자 독립 시스템의 인식 정확도보다 높습니다. 그러나 스피커 독립형 ​​시스템은 사용하기가 더 편리합니다. 예를 들어 무제한 사용자와 함께 작동할 수 있고 교육이 필요하지 않습니다.

둘째, 시스템은 격리된 명령으로만 작동하는 시스템과 일관된 음성을 인식할 수 있는 시스템으로 나뉩니다. 음성 인식은 별도로 구어된 단어를 인식하는 것보다 훨씬 복잡한 작업입니다. 예를 들어, 고립된 단어 인식에서 1000단어 사전으로 음성 인식으로 이동하면 오류율이 3.1에서 8.7로 증가하고 음성 처리 시간이 3배 더 걸립니다.

격리된 명령 발음 모드는 가장 간단하고 리소스를 적게 사용합니다. 이 모드에서 작업할 때 각 단어 다음에 사용자가 일시 중지합니다. 즉, 단어의 경계를 명확하게 표시합니다. 시스템은 구 자체에서 단어의 시작과 끝을 찾을 필요가 없습니다. 그런 다음 시스템은 인식된 단어를 사전의 패턴과 비교하고 시스템에서 가장 가능성 있는 모델을 수락합니다. 이러한 유형의 인식은 일반적인 DTMF 방법 대신 전화 통신에서 널리 사용됩니다.

임의의 억양, 강세, 구의 엄격하지 않은 구조, 일시 중지, 반복 등으로 인해 연설의 추가 변형이 발생합니다.

단어의 연속발음과 분리발음이 만나는 지점에서 키워드 검색 모드가 등장했다. 이 모드에서 CAPP는 일반 음성 스트림에서 미리 결정된 단어 또는 단어 그룹을 찾습니다. 어디에서 사용할 수 있습니까? 예를 들어, 특정 단어가 음성이나 전자 참조에 나타날 때 켜지고 녹음을 시작하는 청취 장치. 임의의 형태로 요청을 받으면 시스템은 의미 단어를 선택하고 인식하여 필요한 정보를 제공합니다.

사용되는 사전의 크기는 CAPP의 중요한 구성 요소입니다. 분명히 사전이 클수록 시스템이 실수할 확률이 높아집니다. 많은 현대 시스템에서 필요에 따라 새 단어로 사전을 보완하거나 새 사전을 로드하는 것이 가능합니다. 격리된 명령 발음을 가진 화자 독립 시스템의 일반적인 오류율은 100단어 사전의 경우 약 1%, 600단어 사전의 경우 3%, 8000단어 사전의 경우 10%입니다.

현대 CAPP 시장의 제안

그리고 오늘날 시장은 다양한 회사의 CAPP으로 대표됩니다. 그 중 몇 가지를 살펴보겠습니다.

아쿨랩

인식 정확도 97%.

스피커 독립 시스템. 시스템 개발자는 연령, 음성, 성별 및 억양에 따라 발생하는 모든 말의 변화를 고려하기 위해 여러 언어에 대한 다양한 데이터베이스를 분석했습니다. 전용 알고리즘은 장비의 기능(헤드폰, 마이크) 및 채널 특성에 관계없이 음성 인식을 제공합니다.

이 시스템은 발음과 악센트의 특성을 고려한 추가 사전을 만드는 기능을 지원합니다. 이것은 발음이 평소와 매우 다른 사람들이 시스템을 사용할 때 특히 유용합니다.

이 시스템은 영국 및 미국 영어, 프랑스어, 독일어, 이탈리아어, 북미 스페인어와 같은 가장 일반적인 언어를 지원합니다. 이러한 언어에 대해 사전을 구성할 수 있지만 단일 사전의 일부로 여러 언어를 동시에 사용할 수는 없습니다.

이 제품은 Windows NT/2000, Linux 및 Sun SPARC Solaris에서 사용할 수 있습니다.

Babear SDK 버전 3.0

특정 사용자에 대한 교육이 필요하지 않은 스피커 독립형 ​​시스템입니다. 사용자에 대한 적응은 작동 중에 발생하며 최상의 인식 결과를 제공합니다. 음성 활동에 대한 자동 조정을 통해 자동차와 같이 매우 시끄러운 환경에서 음성을 인식할 수 있습니다. 시스템은 사전에 나열되지 않은 단어를 결정하지 않습니다. 키워드 검색이 가능합니다. 시스템은 작은 사전(명령의 격리된 발음)과 큰 사전(음성) 모두에서 작동하도록 구성할 수 있습니다.

시스템은 영국 및 미국 영어, 스페인어 독일어, 프랑스어, 덴마크어, 스웨덴어, 터키어, 그리스어, 아이슬란드어 및 아랍어를 지원합니다.

시스템은 Windows 98(SE)/NT 4.0/2000/CE, Mac OS X 및 Linux에서 실행됩니다.

로켄도 ASR

전화 사용에 최적화된 스피커 독립 시스템. 개별 단어 및 음성 인식, 키워드 검색(최대 500단어 사전)이 가능합니다. 사전의 큰 볼륨과 시스템의 유연성으로 인해 사용자 친화적인 응용 프로그램을 만들 수 있습니다.

가장 일반적인 유럽 언어(이탈리아어, 스페인어, 영국 및 미국 영어, 프랑스어, 독일어, 그리스어, 스웨덴어 등)를 포함하여 12개 언어를 지원합니다.

텍스트 음성 변환 시스템 및 여러 음성 및 언어를 지원하는 Loquendo VoiceXML 인터프리터와 함께 Loquendo Speech Suite에 포함되어 있습니다.

시스템은 MS Windows NT/2000, UNIX 및 Linux를 기반으로 작동합니다.

루멘복스

훈련이 필요하지 않지만 특정 사용자에게 적응한 후 인식 결과가 훨씬 좋아지는 화자 독립 시스템: 인식 정확도가 90%를 초과합니다.

다양한 오디오 파일 형식 지원: (u-law 8kHz, PCM 8kHz, PCM 16kHz). 하드웨어 리소스에 대한 엄격한 요구 사항이 없습니다. Windows NT/2000/XP 및 Linux 기반으로 작동합니다.

시스템 요구 사항(Windows 기반):

Windows NT 4.0 서비스 팩 6a, Windows 2000 또는 Windows XP Pro;

최소 메모리 크기는 512MB입니다.

시스템 요구 사항(Red Hat Linux 기반):

레드햇 리눅스 7.2;

Intel Pentium III 800MHz 이상;

메모리 크기 256MB;

디스크 크기 17MB(압축 해제 후).

미묘한 차이

제조업체에 따르면 시스템은 메모리 및 기타 시스템 리소스를 가장 적게 사용하도록 최적화되어 있습니다. 인식 정확도는 최대 96%로 시끄러운 환경에서도 높은 수준을 유지합니다.

시스템 자체 학습 및 각 사용자에 대한 조정 가능성이 있습니다.

Windows 2000 및 Linux에서 실행됩니다.

영혼

언어는 무엇이든 될 수 있습니다(사전은 클라이언트의 특정 요구 사항에 맞게 컴파일되며 이러한 단어와 클라이언트가 시스템 설정에 대한 요구 사항에 지정한 언어를 포함합니다. 사전에는 다른 언어의 단어가 포함될 수 있습니다. 설정을 변경하면 시스템이 단어를 인식할 수 있습니다(예: 사전에 사전에 입력한 경우 중국어 및 핀란드어). 따라서 이 시스템은 모든 언어와 작동할 수 있지만 다른 시스템은 특정 언어 세트에서만 작동합니다.

매우 시끄러운 환경에서도 고품질의 음성 인식을 제공하는 자동 음성 인식 시스템입니다. 시스템은 고정된 수의 명령으로 구문 인식(개별 명령의 발음, PIN 코드 모드) 및 임의의 수의 명령으로 구문 인식(명령의 연속 발음, "일관된 음성 모드"). 키워드 검색이 가능합니다. 이 솔루션은 부가적인 비정상 노이즈 조건에서 작동합니다. 필요한 신호 대 잡음비는 "PIN 코드 모드"에서 최대 0dB이고 연결된 음성 모드에서 최대 +15dB입니다.

인식 지연 - 0.2초. 음향 채널 매개변수: 300-3500Hz 내의 대역폭. 음향 환경에 대한 적응은 총 길이가 3초 이상인 잡음 조각에 의해 수행됩니다.

"PIN 코드 모드"의 경우:

사전 - 50개 명령;

올바른 인식 확률 - SNR = 0…6dB에서 95-99%;

필요한 음향 조건: SNR(신호 대 잡음비) >= 15dB의 부가적인 광대역 정적 잡음.

연결된 음성 인식 모드의 경우:

사전 - 12단어/숫자;

일련의 단어를 올바르게 인식할 확률은 98-99%입니다.

특이성: 임의의 소음에 대한 적응.

SPIRIT의 자동 음성 인식 시스템은 MS Windows 또는 어셈블리 코드에서 PC 응용 프로그램의 형태로 사용할 수 있습니다. 고객의 요청에 따라 솔루션은 모든 DSP 또는 RISC 플랫폼으로 이식될 수 있습니다.

보이스웨어

시스템은 화자 종속 모드와 화자 독립 모드 모두에서 작동할 수 있으므로 특정 사용자와 작업하기 위해 시스템에 대한 특별한 교육이 필요하지 않습니다.

시끄러운 환경에서도 높은 인식 정확도와 실시간 작동을 제공합니다.

시스템은 연결된 음성과 일련의 숫자 목록을 인식합니다.

사전에 등재되지 않은 단어와 외부 소음은 그녀에게 감지되지 않으며 "우물", "우물" 등 의미가 없는 단어는 폐기됩니다.

사전에 새로운 단어를 추가할 수 있습니다.

시스템은 사용자의 어조, 발음 및 기타 음성 기능에 자동으로 조정됩니다.

VoiceWare는 미국 영어와 한국어를 지원합니다. 중국어와 일본어는 개발 중입니다.

시스템은 Windows 95/98/NT 4.0, UNIX 및 Linux에서 실행됩니다.

음성 인식은 음성 신호를 디지털 정보(예: 텍스트 데이터)로 변환하는 프로세스입니다. 역 문제는 음성 합성입니다. 1952년 최초의 음성 인식 장치가 등장하여 사람이 말하는 숫자를 인식할 수 있었습니다. 1962년 뉴욕 컴퓨터 기술 박람회에서 IBM Shoebox가 소개되었습니다. 음성 인식의 사용은 다양한 비즈니스 영역에서 점점 더 대중화되고 있습니다. 예를 들어, 진료소의 의사는 진단을 전자 카드에 즉시 입력할 수 있습니다. 또는 다른 예. 분명히 인생에서 적어도 한 번은 목소리를 사용하여 불을 끄거나 창문을 여는 꿈을 꾸었을 것입니다. 최근에는 자동 음성 인식 및 합성 시스템이 전화 대화형 응용 프로그램에서 점점 더 많이 사용되고 있습니다. 이 경우 음성 포털과의 통신은 톤 다이얼링의 도움뿐만 아니라 음성 명령의 도움으로도 선택할 수 있기 때문에 더욱 자연스러워집니다. 동시에 인식 시스템은 화자와 독립적입니다. 즉, 모든 사람의 음성을 인식합니다.

음성 인식 시스템의 분류.

음성 인식 시스템은 다음과 같이 분류됩니다.

  • 사전 크기(단어의 제한된 집합, 큰 사전);
  • 스피커에 따라(스피커 종속 및 스피커 독립 시스템)
  • 연설 유형별(연속 또는 개별 연설)
  • 목적에 따라(구술 시스템, 명령 시스템)
  • · 사용된 알고리즘에 따라(신경망, 숨겨진 Markov 모델, 동적 프로그래밍)
  • 구조 단위 유형별(구, 단어, 음소, 이음, 이음)
  • · 구조 단위의 할당 원칙에 따라(패턴에 따른 인식, 어휘 요소 선택).

자동 음성 인식 시스템의 경우 노이즈 내성은 주로 다음 두 가지 메커니즘을 사용하여 보장됩니다.

  • · 음향 신호 분석을 기반으로 음성 신호의 동일한 요소를 분리하기 위한 여러 병렬 작업 방법의 사용.
  • · 말의 흐름에서 단어의 분절(음소) 및 전체론적 인식의 병렬 독립 사용.

인식 시스템 아키텍처

통계적 자동 음성 처리 시스템의 일반적인 아키텍처.

  • · 노이즈 감소 모듈 및 유용한 신호 분리.
  • · 음향 모델 - 오디오 수준에서 유사성 측면에서 음성 세그먼트의 인식을 평가할 수 있습니다. 각 소리에 대해 처음에는 이 소리의 발음을 설명하는 복잡한 통계 모델이 구축됩니다.
  • · 언어 모델 - 가장 가능성 있는 단어 시퀀스를 결정할 수 있습니다. 언어 모델 구축의 복잡성은 주로 특정 언어에 따라 다릅니다. 따라서 영어의 경우 통계 모델(소위 N-그램)을 사용하는 것으로 충분합니다. 러시아어를 포함하는 굴절률이 높은 언어(같은 단어의 여러 형태가 있는 언어)의 경우 통계만을 사용하여 구축된 언어 모델은 더 이상 이러한 효과를 제공하지 않습니다. 단어. 따라서 러시아어의 규칙, 품사와 단어의 형태에 대한 정보, 고전적인 통계 모델을 사용하는 하이브리드 언어 모델이 사용됩니다.
  • 디코더 - 음향 및 언어 모델에서 인식하는 동안 얻은 데이터를 결합하고 그 조합을 기반으로 연속 음성 인식의 최종 결과인 가장 가능성 있는 단어 시퀀스를 결정하는 인식 시스템의 소프트웨어 구성 요소입니다.

인식 단계:

  • 1. 음성 처리는 음성 신호의 품질 평가로 시작됩니다. 이 단계에서 간섭 및 왜곡의 수준이 결정됩니다.
  • 2. 평가 결과는 인식에 필요한 음성 매개변수를 계산하기 위한 모듈을 제어하는 ​​음향 적응 모듈로 전송됩니다.
  • 3. 음성을 포함하는 세그먼트가 신호에서 선택되고 음성 매개변수가 평가됩니다. 구문론, 의미론 및 화용론적 분석을 위한 음성 및 운율 확률적 특성이 선택되어 있습니다. ( 품사, 어형 및 단어 간의 통계적 관계에 대한 정보 평가)
  • 4. 다음으로 음성 매개변수는 인식 시스템의 주요 블록인 디코더로 전송됩니다. 입력된 음성 스트림을 음향 및 언어 모델에 저장된 정보와 일치시키고 가장 가능성이 높은 단어 시퀀스를 결정하는 구성 요소이며, 이것이 최종 인식 결과입니다.
  • · 음성 제어
  • · 음성 명령
  • ・음성 입력 텍스트
  • · 음성 검색

모바일 애플리케이션에서 음성 인식 기술을 사용한 성공적인 예는 Yandex Navigator에서 음성으로 주소 입력, Google Now 음성 검색입니다.

모바일 장치 외에도 음성 인식 기술은 다양한 비즈니스 영역에서 널리 사용됩니다.

  • 전화: 특히 배경 정보 및 컨설팅, 서비스/상품 주문, 기존 서비스의 매개변수 변경, 설문 조사, 질문, 정보 수집, 알리기 및 다른 모든 시나리오;
  • · "스마트 하우스" 솔루션: "스마트 하우스" 시스템 관리를 위한 음성 인터페이스;
  • · 가전 및 로봇: 전자 로봇의 음성 인터페이스; 가전 ​​제품 등의 음성 제어;
  • · 데스크탑 및 랩탑: 컴퓨터 게임 및 애플리케이션의 음성 입력;
  • · 자동차: 자동차의 음성 제어(예: 내비게이션 시스템)
  • · 장애인을 위한 사회 서비스.

소프트웨어 자동화 입력 인식

2009년 7월 15일 오후 10시 16분

음성 인식. 1부. 음성 인식 시스템의 분류

  • 인공 지능
제명
러시아에서는 음성 인식 시스템의 방향이 실제로 다소 열악합니다. Google은 오래 전에 전화 대화를 녹음하고 인식하는 시스템을 발표했습니다 ... 불행히도 러시아어로 비슷한 규모와 품질의 인식 시스템에 대해 들어 본 적이 없습니다.

그러나 해외의 모든 것이 오랫동안 발견되었고 우리가 결코 따라 잡지 못할 것이라고 생각할 필요가 없습니다. 이 시리즈의 자료를 찾다보니 수많은 외국 문헌과 논문을 뒤져야만 했습니다. 더욱이 이 기사와 논문은 뛰어난 미국 과학자들의 것이었습니다. 황설동; 코지마 히사요시 육동석미국 과학의 이 분과가 누구에게 의존하고 있는지는 분명합니다. ;0)

러시아에서는 국내 음성 인식 시스템을 상업 수준으로 끌어올린 똑똑한 회사가 단 하나 있습니다. 바로 음성 기술 센터입니다. 그러나 아마도 이 일련의 기사 후에 그러한 시스템을 개발하는 것이 가능하고 필요하다는 것을 누군가의 마음에 떠오를 것입니다. 또한 알고리즘 및 매트 측면에서. 우리는 실제로 장치보다 뒤처지지 않았습니다.

음성 인식 시스템의 분류

오늘날 "음성 인식"이라는 개념 아래 과학 및 공학 활동의 전체 영역을 숨 깁니다. 일반적으로 음성 인식의 각 작업은 입력 오디오 스트림에서 사람의 음성을 적절하게 분리, 분류 및 응답하는 것으로 귀결됩니다. 이것은 사람의 명령에 대한 특정 작업의 수행, 다양한 전화 대화에서 특정 마커 단어 선택 및 텍스트의 음성 입력 시스템일 수 있습니다.

음성 인식 시스템 분류 징후
이러한 각 시스템에는 해결하도록 설계된 몇 가지 작업과 작업을 해결하는 데 사용되는 일련의 접근 방식이 있습니다. 인간의 음성 인식 시스템을 분류할 수 있는 주요 기능과 이 기능이 시스템 작동에 미치는 영향을 고려하십시오.
  • 사전 크기.분명히, 인식 시스템에 내장된 사전의 크기가 클수록 시스템의 단어 인식 오류 빈도가 커집니다. 예를 들어, 10자리 사전은 거의 오류 없이 인식할 수 있지만 100,000단어 사전을 인식할 때 오류율은 45%까지 높을 수 있습니다. 반면에 작은 사전을 인식하더라도 이 사전에 있는 단어가 서로 매우 유사하면 인식 오류가 많이 발생할 수 있습니다.
  • 시스템의 화자 종속성 또는 화자 독립성.정의에 따르면 스피커 종속 시스템은 단일 사용자가 사용하도록 설계되었으며 스피커 독립 시스템은 모든 스피커와 함께 작동하도록 설계되었습니다. 화자 독립성은 시스템이 훈련될 때 훈련된 예에서 화자의 매개변수에 맞춰 조정되기 때문에 어려운 목표입니다. 이러한 시스템의 인식 오류율은 일반적으로 화자 종속 시스템의 오류율보다 3-5배 높습니다.
  • 분리되거나 융합된 연설.연설에서 각 단어가 침묵의 부분에 의해 다른 단어와 분리되면이 연설은 분리되어 있다고 말합니다. 연속 연설은 자연스럽게 말하는 문장입니다. 개별 단어의 경계가 명확하지 않고 발음이 번짐으로 인해 발음이 크게 왜곡되어 연속 음성 인식이 훨씬 어렵습니다.
  • 약속.시스템의 목적에 따라 음성 인식이 발생하는 데 필요한 추상화 수준이 결정됩니다. 명령 시스템(예: 휴대 전화의 음성 다이얼링)에서 단어나 구의 인식은 단일 음성 요소의 인식으로 발생합니다. 그리고 텍스트 받아쓰기 시스템은 더 높은 인식 정확도를 요구할 것이며, 대부분의 경우 구어체를 해석할 때 현재 말한 내용뿐만 아니라 이전에 말한 내용과의 상관 관계에도 의존할 것입니다. 또한 시스템에는 음성 및 인식 가능한 텍스트가 충족해야 하는 내장된 문법 규칙 세트가 있어야 합니다. 이러한 규칙이 엄격할수록 인식 시스템을 구현하기가 더 쉽고 인식할 수 있는 문장 집합이 더 제한됩니다.
음성 인식 방식의 차이점
음성 인식 시스템을 만들 때 작업에 적합한 추상화 수준, 인식에 사용할 음파 매개 변수 및 이러한 매개 변수를 인식하는 방법을 선택해야 합니다. 다양한 음성 인식 시스템의 구조와 작동의 주요 차이점을 고려하십시오.
  • 구조 단위 유형별.음성을 분석할 때 음소, 이음 또는 삼음, 이음과 같은 개별 단어 또는 구어의 일부를 기본 단위로 선택할 수 있습니다. 선택한 구조적 부분에 따라 인식 가능한 요소 사전의 구조, 보편성 및 복잡성이 변경됩니다.
  • 징후를 식별함으로써.음파 압력 판독의 바로 그 시퀀스는 사운드 인식 시스템에 대해 과도하게 중복되며 인식하는 동안 필요하지 않거나 심지어 유해한 불필요한 정보를 많이 포함합니다. 따라서 음성 신호를 나타내려면 인식을 위해 이 신호를 적절하게 나타내는 일부 매개 변수를 추출해야 합니다.
  • 작동 메커니즘에 따르면.현대 시스템에서는 인식 시스템의 기능 메커니즘에 대한 다양한 접근 방식이 널리 사용됩니다. 확률적 네트워크 접근 방식은 음성 신호가 특정 부분(프레임 또는 음성 특징에 따라)으로 분할된 후 인식된 사전의 특정 요소가 이 부분과 관련이 있는지에 대한 확률론적 평가로 구성됩니다. ) 전체 입력 신호. 소리 합성의 역 문제 해결에 기반한 접근 방식은 성대의 교합기 움직임의 특성이 입력 신호에서 결정되고 특수 사전에 따라 발음 된 음소가 결정된다는 사실로 구성됩니다.

상향:"인공 지능"으로 이동했습니다. 관심이 있다면 계속해서 게시하겠습니다.