KR20200026295A - 음절 기반 자동 음성 인식 - Google Patents

음절 기반 자동 음성 인식 Download PDF

Info

Publication number
KR20200026295A
KR20200026295A KR1020207003761A KR20207003761A KR20200026295A KR 20200026295 A KR20200026295 A KR 20200026295A KR 1020207003761 A KR1020207003761 A KR 1020207003761A KR 20207003761 A KR20207003761 A KR 20207003761A KR 20200026295 A KR20200026295 A KR 20200026295A
Authority
KR
South Korea
Prior art keywords
spelling
patterns
canonical
syllable
pattern
Prior art date
Application number
KR1020207003761A
Other languages
English (en)
Inventor
대럴 티. 핀슨
마크 비. 핀슨
Original Assignee
복스 프론테라, 인크.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 복스 프론테라, 인크. filed Critical 복스 프론테라, 인크.
Publication of KR20200026295A publication Critical patent/KR20200026295A/ko

Links

Images

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L25/00Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00
    • G10L25/27Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 characterised by the analysis technique
    • G10L25/30Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 characterised by the analysis technique using neural networks
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/02Feature extraction for speech recognition; Selection of recognition unit
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/08Speech classification or search
    • G10L15/18Speech classification or search using natural language modelling
    • G10L15/183Speech classification or search using natural language modelling using context dependencies, e.g. language models
    • G10L15/187Phonemic context, e.g. pronunciation rules, phonotactical constraints or phoneme n-grams
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/08Speech classification or search
    • G10L15/18Speech classification or search using natural language modelling
    • G10L15/183Speech classification or search using natural language modelling using context dependencies, e.g. language models
    • G10L15/19Grammatical context, e.g. disambiguation of the recognition hypotheses based on word sequence rules
    • G10L15/197Probabilistic grammars, e.g. word n-grams
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/28Constructional details of speech recognition systems
    • G10L15/34Adaptation of a single recogniser for parallel processing, e.g. by use of multiple processors or cloud computing
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/02Feature extraction for speech recognition; Selection of recognition unit
    • G10L2015/027Syllables being the recognition units
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/06Creation of reference templates; Training of speech recognition systems, e.g. adaptation to the characteristics of the speaker's voice
    • G10L15/063Training
    • G10L2015/0631Creating reference templates; Clustering
    • G10L2015/0633Creating reference templates; Clustering using lexical or orthographic knowledge sources

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Acoustics & Sound (AREA)
  • Computational Linguistics (AREA)
  • Multimedia (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Human Computer Interaction (AREA)
  • Artificial Intelligence (AREA)
  • Probability & Statistics with Applications (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Theoretical Computer Science (AREA)
  • Signal Processing (AREA)
  • Evolutionary Computation (AREA)
  • Machine Translation (AREA)
  • Electrically Operated Instructional Devices (AREA)

Abstract

발음의 변이들을 극복하기 위해, 혼동되는 양태들을 효율적으로 해결하기 위해, 컨텍스트를 이용하기 위해, 음성을 철자법에 매핑하기 위해 자동화된 음성 인식 프로세싱의 구성 요소로서 음절들의 구조를 이용하는 시스템들, 방법들, 및 컴퓨터 프로그램들이 설명된다.

Description

음절 기반 자동 음성 인식
본 개시내용의 하나의 기술 분야는 컴퓨터로 구현되는 화자 독립(speaker-independent) 자동 음성 인식이다. 다른 기술 분야는, 오디오비주얼 프로그램들의 그래픽 텍스트 캡션들에 대해서와 같이, 레코딩된 오디오 신호들로부터의 음성을 표현하는 심벌들을 연속적으로 디스플레이될 수 있는 텍스트로 자동으로 변환하는 것이다. 본 개시내용은 일반적으로, 음성의 자동 전사를 포함한, 텍스트 또는 다른 심벌 표현들로의 발화된 단어들의 변환에 관한 것이다.
이 섹션에서 설명되는 접근법들은 추구될 수 있는 접근법들이지만, 반드시 이전에 구상되었거나 추구되었던 접근법들은 아니다.  따라서, 달리 지시되지 않는 한, 이 섹션에서 설명되는 접근법들 중 임의의 것이 단지 이 섹션에 포함되는 것에 의해 종래 기술로서 적격한 것으로 가정되어서는 안된다.
라이브 텔레비전 방송 동안 발화되는 음성에 대응하는 텍스트 캡션들을 자동으로 생성하여 디스플레이하는 것과 같은, 자동 음성 인식(ASR)의 일부 응용들에서, 높은 단어 정확도, 단어들이 발화된 시간으로부터 대응하는 전사 텍스트가 이용가능할 때까지의 지연이 거의 또는 전혀 없는 것, 및 발화된 단어들이 미리 정의된 어휘 리스트의 일부가 아니더라도 좋은 결과들을 생성하는 능력이 필요하다. 보다 계산 효율적이고, 덜 에너지 집약적(energy-intensive)이며, 클라우드로부터 접속해제될 때에도 분산 계산 디바이스들 상에서 전체 능력(full capability)으로 기능할 수 있는 ASR 시스템들이 또한 필요하다.
본 개시내용의 목적은 화자에 의해 생성되는 바와 같은 그리고 음향 특성들의 분석에 의해 심벌 형태에 자동으로 할당되는 바와 같은 소리들을 표현하는 심벌들의 입력 스트림을 대응하는 전사된 철자 패턴들의 출력 스트림으로 변환하는 것이다. 생성된 소리들이 정준 발음들(canonical pronunciations)과 크게 다른 경우들이 빈번할 때에도 의도된 단어들의 정확한 전사본들(transcripts)을 생성하는 것이 또한 목적이다. 시스템의 트레이닝 동안 이용되는 참조 사전에 없었던 단어들에 대해서도 합리적인 전사들을 생성하는 것, 환언하면, "미등록 어휘(out-of-vocabulary)" 문제를 완화시키는 것이 추가의 목적이다. 음성의 생성과 대응하는 전사된 철자 패턴들의 생성 사이의 지연("레이턴시")을 최소화하는 것이 추가의 목적이다. 낮은 계산 복잡도로 전술한 목적들을 달성하는 것이 추가의 목적이다. 음절은 음성의 기본 시간 구성 유닛(basic temporal structuring unit of speech)이다. 본 개시내용의 몇 개의 양태들은 언급된 목적들을 달성하기 위해 세그먼트화, 정렬, 동기화, 매핑, 및 모델링할 음절 및 그것의 내부 구조에 대한 프로세싱 단계들을 구성한다.
도면들에서:
도 1은 두음(onset), 핵음(nucleus), 및 말음(coda)을 포함하는 음절 구조를 묘사한다.
도 2는 IPA 심벌들과 Klattese 간의 매핑의 차트를 묘사한다.
도 3은 다중 음절 단어의 구조를 묘사한다.
도 4는 다양한 스트림들의 관계들을 묘사한다.
도 5a는 예시적인 트레이닝 참조 자료들을 묘사한다.
도 5b는 예시적인 트레이닝 참조 자료들을 묘사한다.
도 6은 발음 사전으로부터 음소배열 패턴들을 학습하는 예시적인 방법을 묘사한 플로차트이다.
도 7은 생성 패턴들로부터 정준 패턴들로의 매핑들을 학습하는 예시적인 방법을 묘사한 플로차트이다.
도 8은 후보 음절들로부터 철자 패턴들로의 매핑들을 학습하는 예시적인 방법을 묘사한 플로차트이다.
도 9는 생성 스트림으로부터 IVC 패턴들 및 VN 패턴들을 추출하는 예시적인 방법을 묘사한 플로차트이다.
도 10은 정준 패턴 세트들로부터 후보 음절 세트들을 생성하는 예시적인 방법을 묘사한 플로차트이다.
도 11은 일관성 제약조건들의 적용의 다이어그램을 묘사한다.
도 12는 일관성 제약조건들을 사용한 감소들을 포함하여 정준 IVC들에 대한 생성 패턴들에 대한 확률들의 예를 묘사한다.
도 13은 후보 음절들을 철자 패턴들에 매핑하는 예시적인 방법을 묘사한 플로차트이다.
도 14는 출력 철자 패턴들을 선택하기 위해 위치 제약조건들 및 통계 모델들을 적용하는 예시적인 방법을 묘사한 플로차트이다.
도 15는 철자 후보들의 컨퓨전 네트워크(confusion network)를 묘사한다.
도 16은 음절 구조를 사용하여 자동 음성 인식을 수행하는 예시적인 방법을 묘사한다.
도 17은 실시예가 구현될 수 있는 컴퓨터 시스템을 예시하는 블록 다이어그램이다.
이하의 설명에서, 설명의 목적들을 위해, 본 개시내용의 완전한 이해를 제공하기 위해 다수의 특정 세부사항들이 기재되어 있다. 그렇지만, 실시예들이 이러한 특정 세부사항들 없이도 실시될 수 있음이 명백할 것이다. 다른 경우들에서, 본 개시내용을 불필요하게 모호하게 하는 것을 피하기 위해, 잘 알려진 구조들 및 디바이스들이 블록 다이어그램 형태로 도시되어 있다. 실시예들은 이하의 개요에 따른 섹션들에서 개시된다:
1. 일반 개요
2. 예시적인 언어 프로세싱 시스템의 개요
3. 음절 구조 개요
4. 동작의 페이즈들
4.1 트레이닝 페이즈
4.1.1 발음 사전으로부터 음소배열 패턴들을 학습하기
4.1.2 생성 패턴들로부터 정준 패턴들로의 매핑들을 학습하기
4.1.3 정준 음절들과 철자 패턴들 사이의 관계들을 학습하기
4.1.4 음절 발음 공간에서 N-그램 모델들을 학습하기
4.1.5 음절 철자 공간에서 N-그램 모델들을 학습하기
4.1.6 임계치들 및 오버라이드들을 학습하기
4.2 인식 페이즈
5. 구현 예
6. 소정 실시예들의 이점들
7. 하드웨어 개요
*
1. 일반 개요
실시예에서, 음절들과 음소배열 규칙들 및 제약조건들을 반영하는 소정의 다른 음절 크기의 음성 유닛들을 사용하여, 발화된 단음들(phones) 및 다른 비음성 심벌들의 입력 스트림(생성 스트림)을 표현하는 심벌들을 정준 발음들의 스트림(정준 스트림)으로 변환하고 이어서 정준 스트림을 철자 텍스트의 출력(철자 스트림)으로 변환하는 방법.
이 방법은 트레이닝 페이즈 및 인식 페이즈를 포함한다. 트레이닝 페이즈는 한 세트의 트레이닝 자료들(특수 구조의 발음 사전 및 전사된 단어 및 문장 코퍼스들을 포함함)을 이용하여, 3개의 스트림(생성, 정준 및 철자)으로부터, 음절들 및 이들의 컴포넌트들, 모음간 자음(InterVowel Consonant)(IVC) 음소 시퀀스들 및 모음 이웃(Vowel Neighborhood)(VN) 음소 시퀀스들 및 음절 크기의 철자 유닛들을 포함한, 언어의 음소배열 유닛들 또는 패턴들 중 몇몇의 준-닫힌 세트들(quasi-closed sets)을 추출하는 것을 포함한다. 이러한 유닛들 또는 패턴들의 각각의 세트는 음소, 음절 및 단어 시퀀싱 및 세그먼트화를 규정하는 규칙들에 의해 제약된다. 이 프로세스는 이어서 생성 스트림으로부터 추출된 유닛들 각각을 모든 허용되는 정준 유닛들과 연관시키거나 매핑하고 각각의 생성-정준 연관의 조건부 확률들을 결정한다. 다시 말하지만 트레이닝 자료들을 이용하여, 이 프로세스는 정준 유닛들 또는 패턴들을 허용되는 철자 패턴들과 연관시키거나 매핑하고 조건부 확률들을 각각의 정준-철자 조합에 할당한다. 그에 부가하여, 트레이닝 자료들은 음절 발음 및 철자법 둘 다에 대한 n-그램 모델들을 생성하는 데 사용된다. 마지막으로, 트레이닝은 허용되지만 매우 낮은 확률의 음절들을 학습하여 폐기하고 이전 단계들이 만족스러운 결과를 생성하지 않은 인스턴스들을 정정하기 위한 확장 컨텍스트 툴들을 생성한다.
인식 페이즈는 트레이닝 페이즈에서 학습된 3개의 매핑된 스트림의 언어 유닛 세트들 및 조건부 확률들을 사용하는 것을 포함한다. 생성 IVC들 및 생성 VN들이 입력 음향 심벌 스트림으로부터 추출되어 생성 IVC 및 VN 스트림 또는 큐를 생성한다. 그 스트림은 학습된 조건부 확률들로 정준 IVC 및 VN 패턴 세트들에 매핑되어 정준 IVC 및 VN 스트림 또는 큐를 생성한다. 정준 IVC들 및 VN들의 스트림은 학습된 허용되는 IVC 및 VN 세트와 부합하지 않는 IVC 및 VN 패턴들이 제거되고(cleansed) 조건부 확률들이 재정규화된다(renormalized). 정준 스트림은 이어서 후보 음절 말음-두음 시퀀스 세트로 세그먼트화되고 이 세트로부터 후보 음절들의 스트림이 생성된다. 자음표(syllabary)에 없는 것들인, 허용되지 않는 음절들은 제거되고 IVC들, VN들, 말음들 및 두음들의 학습된 확률들로부터 허용되는 후보들에 대한 정규화된 조건부 확률들이 생성된다. 후보 IVC 패턴들은 이어서 학습된 연관된 철자 패턴 세트들에 매핑된다. 학습된 음절 위치 제약조건들과 부합하지 않는 패턴들은 제거되고 허용되는 철자 패턴의 결과적인 스트림은 슬라이딩 n-그램 컨텍스트 모델을 적용받아 경로 확률들을 생성한다. 가장 가능성있는 철자 패턴이 학습된 확장 컨텍스트 오버라이드 세트의 멤버로서 식별되지 않는 한, 가장 가능성있는 철자 패턴이 방출되며, 가장 가능성있는 철자 패턴이 학습된 확장 컨텍스트 오버라이드 세트의 멤버로서 식별되는 경우에, 오버라이드가 방출된다.
2. 예시적인 언어 프로세싱 시스템의 개요
도 5a는 말소리 및 비-말소리들을 표현하는 심벌들의 스트림들을 철자 패턴들의 출력 스트림으로 변환하기 위한 매핑들을 트레이닝하기 위한 예시적인 시스템을 묘사한다.
컴퓨팅 시스템(500)은 하나 이상의 프로세서 코어, 코프로세서 또는 다른 컴퓨터들을 갖는 서버급 컴퓨터 또는 다른 컴퓨터들을 사용하여 구현될 수 있다. 컴퓨팅 시스템(500)은 물리 서버 컴퓨터들 및/또는, 클라우드 컴퓨팅을 통해서와 같이, 데이터 센터에 저장된 가상 서버 인스턴스들일 수 있다. 부가적으로 또는 대안적으로, 컴퓨팅 시스템(500)은, 정보를 전송 및 수신하고 본 명세서에서 설명된 기능들을 수행할 수 있는, 스마트 폰, 개인 컴퓨터, 태블릿 컴퓨팅 디바이스, PDA, 랩톱, 또는 임의의 다른 컴퓨팅 디바이스일 수 있다.
도 5a는 명확한 예를 예시하기 위해 단일 컴퓨팅 시스템(500)을 별개의 요소로서 묘사한다. 그렇지만, 다른 실시예들에서, 본 명세서에서 설명된 기능들을 달성하기 위해 보다 많은 컴퓨팅 시스템들이 사용될 수 있다. 예를 들어, 제1 컴퓨팅 시스템은 트레이닝 자료들(502)을 사용하여 추출들 및 매핑들 및 음소배열 유닛 세트들을 생성하고 매핑들(512)을 제2 컴퓨팅 시스템에게 송신할 수 있다. 제2 컴퓨팅 시스템은 매핑들(512)을 사용하여 심벌들의 스트림들로부터 철자 패턴들을 생성할 수 있다. 부가적으로 또는 대안적으로, 다수의 컴퓨팅 시스템들이 사용될 수 있다.
컴퓨팅 시스템(500)은 트레이닝 자료들(502)을 포함한다. 트레이닝 자료들(502)은 추출들 및 매핑들(512)을 생성하는 데 사용되는 데이터를 포함한다. 도 5a의 실시예에서, 트레이닝 자료들(502)는 발음 사전(504), 병렬 전사된 말소리들(parallel transcribed speech sounds)의 코퍼스(506), 및 운용 단어 코퍼스(508)를 포함한다. 다른 실시예들에서, 보다 많은 또는 보다 적은 트레이닝 자료들이 추출들 및 매핑들(512)을 생성하는 데 사용될 수 있다.
발음 사전(504)은 특정의 언어의 단어들의 분철된(syllabified) 표준 발음들 및 대응하는 철자 패턴들을 포함한다. 본 개시내용에서 영어가 예로서 사용되지만, 본 명세서에서 설명된 방법들은 임의의 언어에 대해 사용될 수 있다.
병렬 전사된 말소리들(506)의 코퍼스는 특정의 언어로 된 상이한 소리 스트림들의 정렬된 생성 및 정준 발음들을 포함한다.
운용 단어 코퍼스(508)는 특정의 언어로 된 전사된 발화 또는 필기 어구들 또는 문장들의 연결(concatenation)을 포함한다.
이 툴들 중 3개 전부는 독점적 자료들 또는 상업적으로 이용가능한 코퍼스들 또는 이들의 조합들로 이루어져 있을 수 있다.
트레이닝 명령어들(510)은 실행가능한 명령어들이 로딩되어 있고, 실행될 때, 컴퓨팅 시스템으로 하여금 그 모듈들을 참조하여 본 명세서에서 설명되는 기능들 또는 동작들을 수행하게 하는 컴퓨팅 시스템 내의, RAM과 같은, 메인 메모리의 하나 이상의 페이지의 세트를 포함할 수 있다. 예를 들어, 트레이닝 명령어들은, 실행될 때, 생성 발음 패턴의 각각의 인스턴스를 식별하게 하고 그 패턴을 하나 이상의 정준 발음 패턴에 매핑하게 하는 명령어들을 포함하는 RAM 내의 페이지 세트를 포함할 수 있다.
명령어들은 CPU, GPU, Phi 또는 다른 프로세싱 칩의 명령어 세트 내의 머신 실행가능 코드로 되어 있을 수 있으며, JAVASCRIPT, 다른 스크립팅 언어들 및 다른 프로그래밍 소스 텍스트로 된 스크립트들과 조합하여 또는 단독으로, JAVA, C, C ++, OBJECTIVE-C, 또는 임의의 다른 인간 판독가능 프로그래밍 언어 또는 환경으로 작성된 소스 코드에 기초하여 컴파일되었을 수 있다. 용어 “페이지들"은 메인 메모리 내의 임의의 영역을 넓게 지칭하는 것으로 의도되고, 시스템에서 사용되는 특정 전문용어(terminology)는 메모리 아키텍처 또는 프로세서 아키텍처에 따라 달라질 수 있다. 다른 실시예에서, 트레이닝 명령어들(510)은 또한, 도 5a의 시스템들 또는 별도의 리포지토리 시스템에서, 비휘발성 RAM 또는 디스크 스토리지와 같은 대용량 저장 디바이스에 디지털적으로 저장되는 소스 코드의 하나 이상의 파일 또는 프로젝트를 나타낼 수 있으며, 이들은, 컴파일되거나 또는 인터프리트될 때, 실행될 때 컴퓨터로 하여금 그 명령어들을 참조하여 본 명세서에서 설명되는 기능들 또는 동작들을 수행하게 하는 실행가능 명령어들을 생성한다. 환언하면, 도면들은 프로그래머들 또는 소프트웨어 개발자들이 컴퓨터에 의한 실행을 위해, 실행파일(executable)로의 추후의 컴파일을 위한 또는 바이트코드 또는 동등물(equivalent)로의 인터프리테이션(interpretation)을 위한 소스 코드를 구성하고 배열하는 방식을 나타낼 수 있다.
실시예에서, 컴퓨팅 시스템(500)은 트레이닝 명령어들(510)을 사용하여 각종의 언어 프로세싱 값들(512)을 생성한다. 이들은, 연관된 조건부 확률들을 갖는 포괄적인 음절 세트들(자음표), 음절 두음들, 음절 말음들, IVC 패턴들 및 VN 패턴들 중 하나 이상을 포함한, 발음 사전으로부터 학습된 음소배열 데이터 세트들을 포함한다. 이들은 섹션 4.1.2에서의 생성 IVC 및 VN 패턴들 대 정준 IVC 및 VN 패턴들(516)의 매핑들, 및 정준 음절 대 철자 매핑(518)을 또한 포함한다. 이들은 음절 발음들의 n-그램 모델들(520), 및 음절 철자법의 n-그램 모델들(522)을 학습하는 것을 또한 포함한다. 이들은 섹션 4.1.6에 설명된 바와 같이 음절 확률 임계치들 및 컨텍스트 오버라이드들(524)을 학습하는 것을 또한 포함한다.
컴퓨팅 시스템(500)은 들어오는 생성 패턴들로부터 철자 패턴을 생성하기 위해 매핑들을 사용하도록 추가로 프로그래밍되거나 구성될 수 있다. 부가적으로 또는 대안적으로, 컴퓨팅 시스템(500)은 매핑들을 네트워크를 통해 상이한 컴퓨팅 디바이스에게 송신하도록 프로그래밍되거나 구성될 수 있다. 네트워크는 광의적으로, 지상 또는 위성 링크들을 포함한, 유선 또는 무선 링크들 중 임의의 것을 사용하는, 로컬 영역 네트워크들, 광역 네트워크들, 인터네트워크들 또는 인터넷들을 포함한 하나 이상의 데이터 통신 네트워크의 임의의 조합을 나타낸다. 네트워크(들)는 컴퓨팅 시스템(500)과 제2 컴퓨팅 시스템 사이의 데이터 교환을 제공하는 임의의 매체 또는 메커니즘에 의해 구현될 수 있다. 컴퓨팅 시스템(500) 및 제2 컴퓨팅 시스템은 직접 (유선 또는 무선) 통신 링크들을 또한 가질 수 있다. 컴퓨팅 시스템(500)은 TCP/IP, 블루투스와 같은 네트워크들 및 HTTP, TLS, 및 이와 유사한 것과 같은 상위 계층 프로토콜들을 통한 통신을 위해 표준화된 프로토콜들을 사용하도록 프로그래밍되거나 구성될 수 있다.
3. 음절 구조 개요
음성은 조음기관들(articulators)(즉, 턱, 혀, 입술 등)의 구성을 변경함으로써 생성된다. 자음들은 성도(vocal tract)를 따라 어딘가에서 협착(constriction)을 형성함으로써 생성되는 반면, 모음들은 보다 개방된 구성으로 생성된다. 협착과 개방성(openness) 간의 교호(alternation)는 음성 신호에 대한 변조 패턴들을 유도하는데, 이는 소정의 다른 음향 및 음소배열 단서들과 함께 음절들로의 지각적 세그먼트화를 가져온다. 음절은 음성의 기본 시간 구성 유닛이다. 약간의 트레이닝으로, 아이들은 “넌센스(nonsense)” 단어들(예컨대, “napkapity”)을 포함한, 생소한 단어들에 대해서도, 발화(utterance)에서의 음절들의 개수를 카운트할 수 있다. 음절 “비트들(beats)”은 음성에 그의 특징적 리듬(characteristic rhythm)을 제공하고 지각 프로세스들이 각각의 비트 내의 혼동되는 대체물들에 집중할 수 있게 해준다. 음절들의 내부 구조(즉, 음소배열(phonotactics))가 언어에서 수용가능한 음소 시퀀스들을 국소적으로 제약하기 때문에 지각 효율이 더욱 증가된다.
음소배열 제약조건들은 또한 음절들 사이의 잠재적 세그먼트화 지점들을 제한한다. 단어 경계들이 음절 경계들의 서브세트이기 때문에, 음절 세그먼트화들에 대한 제약조건들은 또한 단어 세그먼트화들을 제약한다. 음절들은 다른 많은 방식들로 음성 지각에 기여한다. 예를 들어, 음절들은 어휘 강세의 운반자들(carriers)이며, 또한 의문문들(questions)을 평서문들(statements)과 구별하는 것, 어구 경계들을 검출하는 것 등에 사용되는 피치 패턴 및 시간 신장 단서들을 운반한다.
본 개시내용의 몇 개의 양태들은 음절의 구조를 이용한다. 도 1은 단일 음절 단어 “strengths”의 구조를 도시한다. 도 1에 도시된 바와 같이, 음절은 3개의 부분 - "두음"(103), "핵음"(104), 및 "말음"(105) - 을 포함한다. 두음(103)은 핵음 이전의 0개 이상의 자음의 시퀀스이다. 핵음(104)은 단일 모음 유사 소리이다. 말음(105)은 핵음 이후의 0개 이상의 자음의 시퀀스이다. 도 1에서, 그리고 본 개시내용 전반에 걸쳐, 발음들(102)은 “Klattese”로 표현된다.
IPA 심벌들로부터 Klattese로의 매핑들은 도 2에 도시되어 있다. 이 표현은 편의성과 계산 단순성을 위해 사용된다. 음절들을 규정하는 음소배열 규칙들이 그 심벌 패턴들의 관점에서 정의될 수 있다면, 조음 특징들의 패턴들, 또는 청각 특징들의 패턴들과 같은, 발음들의 임의의 다른 심벌 표현이 사용될 수 있다. 도 2에서 알 수 있는 바와 같이, 음소 심벌들은 자음들(200) 또는 핵음들(201)로서 분류될 수 있다.
각각의 언어는 두음에서, 또는 말음에서, 또는 전체 음절에서 발생할 수 있는 심벌 시퀀스들을 제한하는 음소배열 규칙 세트를 갖는다. 예를 들어, 영어에서, /str/은 두음으로서는 수용가능하지만 말음으로서는 수용가능하지 않다. 마찬가지로, /GkTs/는 말음으로서는 수용가능하지만 두음으로서는 수용가능하지 않다. 다중 음절 단어들에서 그리고 발화된 단어 시퀀스들에서, 하나의 음절의 말음에 뒤이어서 다음 음절의 두음이 뒤따른다. 도 3은 2-음절 단어 "action"으로 이것을 예시한다. 우리는 말음-두음 시퀀스에서의 심벌 패턴을 IVC(301) 패턴이라고 지칭한다. IVC 패턴의 분할(split)이 유효한 말음 패턴 및 유효한 두음 패턴을 결과하는 경우에만 IVC 패턴 내의 음절 경계들이 발생할 수 있다.
도 3을 참조하면, IVC 패턴(301) /kS/는 잠재적으로 /-kS/, /k-S/, 또는 /kS-/로 세그먼트화될 수 있다. 그렇지만, /kS/가 유효한 말음이 아니고 유효한 두음도 아니기 때문에, 유일한 유효한 세그먼트화는 /k-S/이다. 일부 IVC 패턴들의 경우, 말음-두음 시퀀스로의 하나 초과의 유효한 세그먼트화가 있다. 그러한 경우들에서, 사전 발음들을 분철할 때, 실시예는 유효한 두음 가능성들 중 가장 긴 것이 선택되도록 IVC를 세그먼트화하는 "최대 두음 원칙(maximum onset principle)"(MOP)을 사용하는 것을 포함한다. 예를 들어, 단어 “modal”은 mo-dal 또는 mod-al로 세그먼트화될 수 있다. MOP는 전자의 세그먼트화를 요구한다. “최대 말음 원칙(maximum coda principle)"(MCP)과 같은, 임의의 다른 일관성있는 방법이 사용될 수 있다. 어떤 방법이 사용되든 간에, 결과는 다양한 길이들의 IVC들의 공통 세트일 것이다. 그에 부가하여, 두음들 및 말음들의 복잡성은 언어마다 다르다. 따라서 IVC들의 최대 개수 및 IVC들에서의 자음들의 개수는 또한 언어 및 관련 사전이 하나 초과의 언어로부터의 단어들을 포함하는 정도에 따라 길이가 달라질 것이다.
VN(302) 패턴은 음절 핵음에 선행하는 음소, 핵음, 및 핵음에 뒤따르는 음소를 포함한다. 널(null) 두음들 및/또는 말음들을 갖는 음절들의 경우, VN에서의 첫 번째 및/또는 마지막 심벌은 말의 중단(break in speech) 또는 인접한 음절로부터의 말소리를 지칭할 수 있다.
음절 구조를 이용하는 것은 몇 가지 장점들을 제공한다. 음절 및 그의 내부 구조들은 수용가능한 소리 패턴들에 대한 국소 결정론적 제약조건들(예컨대, IVC 패턴들은 유효한 말음-두음 시퀀스를 포함해야 하고, 발화에서의 첫 번째 IVC는 유효한 두음이어야 하며, 기타 등등이어야 함)을 제공한다. 이러한 제약조건들과 부합하지 않는 가설화된 패턴들은 추가 프로세싱으로부터 사소하게 제거될 수 있으며, 이는 인식 시에 요구된 계산들의 횟수를 크게 감소시키고 유효한 패턴들의 확률들을 증가시킨다.
수용가능한 말음 및 두음 패턴 세트들은 실현가능한 음절 세그먼트화 지점들을 상당히 제약한다. 이것은 경쟁하는 가설화된 음절들이 시간적으로 정렬된 세트를 형성할 수 있게 해준다. 정상 발화 속도들은 초당 8개 미만의 음절을 생성하여, 각각의 음절 "비트"의 도달과 동기화된 프로세싱 단계들이 낮은 속도로도 적용될 수 있게 해준다. 충분히 크고 적절하게 준비된 발음 사전에서 학습될 때, 두음들, 말음들, 음절들, IVC 패턴들, 및 VN 패턴들은 준-닫힌 세트들을 형성한다. 언어의 음소배열 규칙들이 변하는 경우는 드물다. 따라서, 음절 관련 유닛들에 기초할 때 미등록 어휘 문제가 크게 감소된다. 많은 발음 변이들(pronunciation variations)은 단어 에지들 근방에 있는 IVC 패턴들 내에서 또는 음절들의 중심 부분에 있는 VN 패턴들에서 발생하는 체계적 변화들이다. 체계적 변화들을 학습함으로써, 수정된 생성 형태들로부터 후보 정준 형태들이 복구될 수 있다.
각각의 음절의 발음은 하나 이상의 철자 패턴과 연관된다. 도 1에 도시된 바와 같이, 철자 패턴 “strengths”(100)는 음절의 발음 /str’EGkTs/(102)와 연관된다. /str’EGkTs/와 같은 일부 음절들은 단지 하나의 연관된 철자 패턴을 갖는다. 다른 것들은 다수의 연관된 철자 패턴들을 갖는다. 예를 들어, /D’Er/은 철자 패턴들 “there”, “their”, 및 “they’re”와 연관된다. 주어진 음절에 대한 연관된 철자 패턴은 종종 단어에서의 음절의 위치에 의해 영향을 받는다. 예를 들어, “they’re”로서의 /D’Er/의 철자 매핑은 /D’Er/가 단일 음절 단어를 나타낼 때에만 발생하는 반면, 철자 매핑 “there”는 단일 음절 단어에 대해, 또는 다중 음절 단어, 예컨대, “therefore”의 첫 번째 음절로서 올바를 수 있다.
철자 매핑들에 대한 음절의 위치의 영향을 포착하기 위해, 발음 사전은 음절 위치에 의해 결정되는 코드를 포함한다. 관찰된 연관은 단일 음절 단어들에 대해 '0'으로 코딩되고, 다중 음절 단어에서의 첫 번째 음절에 대해 '1'로 코딩되며, 다중 음절 단어에서의 후속 음절들에 대해 '2'로 코딩된다. 도 1에서, ‘0'의 위치 코드(101)는 “strengths”와 음절 /str’EGkTs/의 연관이 단일 음절 단어에서 발생함을 나타낸다. 도 3에서, ‘1'의 위치 코드(301)는 철자 패턴 "ac"와 음절 /’@k의 연관이 다중 음절 단어의 첫 번째 음절에서 발생함을 나타내고, '2'의 위치 코드(302)는 철자 패턴 “tion”과 음절 /Sxn/의 연관이 다중 음절 단어의 첫 번째 음절 이외에서 발생함을 나타낸다.
음절-클록 프로세싱(syllable-clocked processing)을 사용하는 것은 컨텍스트 모델링 및 제약조건들이 보완적 중의성 제거(complementary disambiguation)을 제공하는 음향 및 철자 뷰들 둘 다에서 동일한 유닛들에 적용될 수 있게 해준다.
4. 동작의 페이즈들
본 개시내용의 실시예들은 2개의 페이즈 - 트레이닝 및 인식 - 로 분리된다. 양쪽 페이즈는 3개의 심벌 스트림 - 생성, 정준 및 철자 - 의 캐스케이드(cascade)에 대해 동작한다. 도 4는 스트림들 사이의 관계들을 도시한다. 첫 번째 스트림은 트레이닝 페이즈 및 인식 페이즈 둘 다에서의 초기 입력인 생성(402) 스트림이다. 생성 스트림은, 화자에 의해 생성되는 바와 같은 그리고 음향 신호의 자동 프로세싱에 의해 심벌 형태로 변환되는 바와 같은, 입력 소리 시퀀스의 심벌 표현이다. 입력 스트림은 생성 IVC(403) 패턴들과 VN(401) 패턴들로 세그먼트화된다.
트레이닝 페이즈에서 학습되는 매핑들은 인식 페이즈에서 각각의 생성 IVC(403) 및 VN(401) 패턴을, 연관된 조건부 확률들을 갖는 정준 IVC(404) 및 VN 패턴들(400)의 대응하는 세트들로 변환하는 데 사용된다. 이러한 정준 IVC 및 VN 패턴들은 차례로 정준 음절들(405)에 매핑되고, 정준 음절들(405)은 이어서 철자 스트림(406)에 매핑된다. 도 4에서, 명확성을 위해, 매핑된 패턴 세트들이 세트들의 단일 멤버에 의해 표현된다는 점에 유의한다.
4.1 트레이닝 페이즈
트레이닝 페이즈에서, 이 시스템은 두음들, 말음들, 음절들, IVC들, 및 VN들의 허용가능 패턴들, 및 생성 스트림에서의 각각의 그러한 패턴과 정준 공간에서의 하나 이상의 대응하는 패턴의 세트의 연관들을 학습한다. 그에 부가하여, 각각의 정준 음절에 대해 연관된 철자 패턴 세트가 학습되고, 조건부 확률이 각각의 그러한 연관된 패턴에 할당된다. 음절 발음들 및 음절 철자 패턴들 둘 다에 기초하여, 음절 유닛들에 기초한 N-그램 컨텍스트 모델들이 또한 학습된다. 다양한 허용가능 패턴 세트들 및 n-그램 모델들이 트레이닝 자료를 참조하여 학습된다. 도 5a에 도시된 바와 같이, 트레이닝 자료는 발음 사전(504), 병렬 전사된 말소리 스트림들의 코퍼스(506), 및 운용 단어들의 큰 코퍼스(508)를 포함한다. 도 5b에 도시된 바와 같이, 발음 사전(504)은, 자음표(532), VN 세트(534), IVC 세트(536), 음절 말음 세트(538), 및 음절 두음 세트(540)를 포함한, 음소배열 유닛(530) 세트들의 소스이다. 발음 사전(504)이 또한 운용 단어 코퍼스(508)에 적용되어, 분철된 철자 단어 코퍼스(526) 및 발음 음절 코퍼스(528)를 생성한다.
발음 사전(504)을 구성하는 단어들 대부분은 초기에 하나 이상의 공개적으로 이용가능한 또는 독점적인 단어들의 코퍼스들로부터 획득된다.
미국 영어에 대한 이 단어들 각각에 대한 발음들을 준비할 때, 발음들은 분리하여(in isolation) 주의 깊게 발화되는 단어에 대한 "표준 미국" 발음을 나타내는 것으로 의도된다. 정준 발음에 부가하여, 음절들의 개수를 변경하는(예컨대, “probably”에 대한 /pr’abli/) 및/또는 부가의 말음들 및/또는 두음들을 도입하는(예컨대, “admiral”에 대한 /’@dmrxl/은 영어에서의 정상적인 두음이 아닌 /mr/을 도입함) 대체 발음들이 단어의 통상적인 발음들에 대한 사전에 포함될 수 있다. 자주 발생하는 단어들을 포함하는 것에 부가하여, 모든 단일-음절 단어들, 그렇지 않았으면 표현되지 않을 유효한 음소배열 패턴들의 예들인 단어들, 및 신규의 음절 철자 패턴들을 도입하는 단어들을 포함하기 위해 특별한 노력들이 이루어진다.
일부 단어들은 하나 초과의 "올바른" 스펠링(예컨대, "ameba" 또는 "amoeba")을 갖지만; 대부분의 응용들의 경우, 스펠링을 표준화하는 것이 바람직하다. 따라서, 사전 내의 각각의 단어에 대해, 단일 철자 패턴이 "표준"으로 선택되고, 모든 다른 것들은 "대체 스펠링들"로 간주된다. 대문자 사용(capitalization)을 요구하는, 고유 명사들 및 고유 형용사들과 같은, 단어들의 경우, 대문자 사용이 표준 스펠링에 포함된다.
최대 두음 원칙을 사용하여 발음들이 분철된 후에, 세그먼트화들이 발음된 음절들에 가장 가까운 대응관계를 유지하도록 발음된 음절들에 철자 시퀀스들을 할당함으로써 표준 철자법이 분철된다. 이것은 일부 경우들에서 통상적인 사전 철자 분철과 상이하다. 예를 들어, “passion” /p’@-Sxn/은 사전들에 전형적으로 나오는 “pas-sion” 대신에 “pa-ssion”으로 분철된다. 단어 “mission” /m’I-Sxn/은 마찬가지로 “mis-sion” 대신에 “mi-ssion”으로 분철된다. 이 특이한 철자 분철 방법은 음절 /Sxn/이 많은 단어들에서의 철자 패턴 "ssion"과 연관되어 있음을 분명히 한다.
사전 표제어가 하이픈으로 연결된 복합어(hyphenated compound word)일 때, 하이픈 심벌은 복합어의 전반부의 마지막 음절의 철자법의 일부가 될 수 있다. 예를 들어, 복합어 "Anglo-American"에서, 음절 /glo/는 '2'의 위치 코드를 갖는 철자 패턴 "glo-"와 연관된다. 하이픈으로 연결된 단어들에서, 하이픈에 뒤따르는 음절에 대한 위치 코드는 단지 하나의 음절이 하이픈에 뒤따르면 '0'으로 설정되거나 하나 초과의 음절이 하이픈에 뒤따르면 '1'로 설정된다.
사전이 외국어 어원인 일부 단어들(예컨대, "schmuck") 및 비-영어 이름들을 포함할 수 있다는 것에 유의해야 한다. 따라서, 학습된 음소배열 규칙들은 "순수" 영어에 대해 정의된 규칙들로 엄격하게 제한되지는 않는다. 게다가, 이 시스템이 영어에 대한 예들을 사용하여 설명되지만, 이 접근법이 다른 언어들을 그 언어들에 대한 참조 사전들을 사용하여 프로세싱하는 것에 적용될 수 있다.
4.1.1 발음 사전으로부터 음소배열 패턴들을 학습하기
두음, 말음, 음절(즉, "자음표"), IVC 패턴, 및 VN 패턴 세트들은 발음 사전(504)을 참조하여 학습된다. 사전 내의 각각의 단어는 정준 발음을 가지며, 대체 발음들을 또한 가질 수 있다. 도 6은 발음 사전으로부터 음소배열 패턴들을 학습하는 예시적인 방법을 묘사한 플로차트이다. 도 6을 참조하면, 두음, 말음, 음절, IVC 패턴 및 VN 패턴 세트들은 널로 설정된다(600). 생성 사전에서의 각각의 발음에 대해, 첫 번째 모음 이전의 자음 시퀀스는 두음 세트에 추가되고(602), 마지막 모음 이후의 자음 시퀀스는 말음 세트에 추가된다. 프로세싱되지 않은 표제어들이 사전에 더 이상 없을 때, IVC 패턴 세트는 각각의 말음을 각각의 두음(604)과 함께 시퀀싱함으로써 생성된다.
일부 말음들 및/또는 두음들이 단어 내부에서만 발생하기 때문에, 생성된 IVC 패턴 세트는 발음 사전에서 단어 내부(word-internal) IVC 패턴들과 대조하여 체크된다. 그 세트에 있지 않은 임의의 단어 내부 IVC 패턴들이 발견되면, 이전에 알려지지 않은 말음들 및/또는 두음들이 그 각자의 세트들에 추가되고 IVC 패턴 세트가 재생성된다(605).
단계(606)에서, 각각의 발음을 음절들로 세그먼트화하고 음절들을 자음표에 추가하는 데 최대 두음 원칙(MOP)이 사용된다. 단계(607)에서, 사전에 있는 모든 단어의 발음에 있는 모든 모음에 대해, VN 패턴들이 추출된다. VN 패턴은, 핵음 이전의 심벌, 핵음, 및 핵음에 뒤따르는 심벌인, 3-심벌 시퀀스로 이루어져 있다. 핵음이 발음에서의 첫 번째 심벌이면, VN의 첫 번째 위치에 중단 심벌 "#"를 추가함으로써 VN 패턴이 확장된다.
핵음이 첫 번째 심벌일 때 VN의 첫 번째 위치에 모든 단어의 발음의 마지막 심벌을 반복적으로 추가함으로써 부가의 VN 패턴들이 생성된다. 유사하게, 핵음이 단어의 발음의 마지막 심벌이면, VN의 마지막 위치에 중단 심벌 "#"를 추가함으로써 VN이 확장되고, VN의 마지막 위치에 모든 단어의 발음의 첫 번째 심벌을 반복적으로 추가함으로써 부가의 VN 패턴들이 생성된다. 핵음이 발음의 첫 번째 또는 마지막 위치에 있을 때 부가의 VN 패턴들의 생성이 필요한데, 그 이유는 두음 및/또는 말음 패턴들이 자음들을 포함하지 않을 때 VN이 다수의 음절들 또는 단어들에 걸쳐 있을 수 있기 때문이다. 이러한 방식으로 생성될 때, VN 패턴들은 모든 가능한 단어 시퀀스들을 고려한다.
4.1.2 생성 패턴들로부터 정준 패턴들로의 매핑들을 학습하기
발화되는 단어들의 발음들은 종종 정준과 상이하다. 차이점들 중 다수는 음절들의 에지들 근처에서(즉, IVC 패턴 내에서) 발생한다. 예를 들어, “Did you see her?”라는 발화에서, 처음 2개의 단어는 정준 /dIdyu/ 대신에 /dIJu/로 말해질 수 있다. /dy/가 /J/로 대체된 것은 수반된 조음 구성들의 체계적인 결과이다. 음절들의 중앙 부분에 대한 컨텍스트의 영향으로 인해 다른 차이점들이 발생한다.
본 개시내용의 일 양태는 각각의 생성 IVC 또는 VN 패턴과 대응하는 가능성있는 정준 IVC 또는 VN 타깃 패턴 세트 사이의 매핑들을 학습하는 것이다. 이것은 정렬된 생성 및 정준 말소리 스트림들(506)을 포함하는 트레이닝 자료를 참조하여 행해진다. 대응하는 정준 IVC 또는 VN 패턴을 갖는 생성 IVC 또는 VN 패턴의 각각의 관찰이 카운팅된다. 연관 카운트들로부터, 관찰된 패턴이 주어진 경우의 각각의 정준 패턴의 조건부 확률들이 추정된다.
도 7은 생성 패턴들로부터 정준 패턴들로의 매핑들을 학습하는 예시적인 방법을 묘사한 플로차트이다. 도 7은 생성 패턴들로부터 정준 패턴들으로의 조건부 확률 매핑들을 학습하는 프로세스를 부가적으로 도시한다. 그러한 패턴들의 예들이 트레이닝 자료에 존재하지 않더라도, 모든 IVC 또는 VN 패턴이 정준적으로(canonically) 생성될 수 있는 것으로 알려져 있다. 따라서, 단계(700)에서, 생성 패턴 세트가 정준 패턴 세트의 각각의 멤버를 포함하도록 초기화된다. 그의 대응하는 정준 패턴과 쌍을 이루는 각각의 생성 패턴의 연관 카운트가 1로 초기화된다.
다음으로 701에서, 남아 있는 IVC 또는 VN 패턴들이 생성 스트림에서 식별되는 동안, 대응하는 IVC 또는 VN 패턴이 정준 스트림에서 식별된다. 702에서, 관찰된 생성 패턴과 정준 패턴의 각각의 쌍에 대해, 연관 카운트들이 증분된다. 단계(703)에서, 각각의 쌍에 대한 평활화된 조건부 확률 추정치들은 다음과 같이 계산된다:
생성 패턴의 관찰 횟수를 A라고 한다;
타깃 패턴이 생성 패턴과 연관된 횟수를 B라고 한다;
생성 패턴과 연관된 상이한 타깃 패턴들의 개수를 C라고 한다.
[수학식 1]
Figure pct00001
다음과 같은 다른 평활화 기술들이 또한 사용될 수 있다:
[수학식 2]
Figure pct00002
4.1.3 음절들과 철자 패턴들 사이의 관계들을 학습하기
이전에 설명된 바와 같이, 발음 사전(504)은 분철된 발음들 및 대응하는 철자 패턴들을 포함한다. 도 8은 후보 음절들로부터 철자 패턴들로의 매핑들을 학습하는 예시적인 방법을 묘사한 플로차트이다. 도 8은 단어에서의 음절의 위치가 주어지면 각각의 철자 패턴의 조건부 확률들을 학습하는 데 사용되는 프로세스를 부가적으로 도시한다. 매핑을 널로 초기화(800)한 후에, 프로세싱되지 않은 표제어들이 남아 있는 동안(801), 발음 사전에서의 각각의 발음 내의 각각의 음절-철자 쌍이 매핑 리스트에 이미 추가되었는지(802)를 확인하기 위해 검사된다. 만약 그렇다면, 연관 카운트가 증분되고 프로세싱은 801에서 계속된다. 그렇지 않으면, 1의 연관 카운트를 갖는 새로운 쌍이 추가되고(803), 프로세싱은 801에서 계속된다. 804에서, 프로세싱할 표제어들이 더 이상 남아 있지 않을 때, 연관 카운트들은 다음과 같이 조건부 확률들을 계산하는 데 사용된다:
음절 발음의 관찰 횟수를 A라고 한다;
철자 패턴이 음절 발음과 연관된 횟수를 B라고 한다;
음절 발음과 연관된 상이한 철자 패턴들의 개수를 C라고 한다.
[수학식 3]
Figure pct00003
다음과 같은 다른 평활화 기술들이 또한 사용될 수 있다:
[수학식 4]
Figure pct00004
4.1.4 음절 발음 공간에서 N-그램 모델들을 학습하기
음절 발음들의 n-그램 모델들을 트레이닝시킴으로써 이웃 음절 발음의 컨텍스트 영향이 포착된다. 실시예에서, 3-그램 모델들이 트레이닝된다. 이 모델들은 운용 단어들의 큰 코퍼스, 전사된 음성 또는 필기 텍스트들로부터 취해진 문장들 또는 어구들의 연결을 사용하여 트레이닝된다. 발음 사전을 사용하여, 표준 및 임의의 대체 발음들 둘 다를 포함한, 각각의 단어의 분철된 발음들을 검색함으로써, 운용 단어 코퍼스가 발음 음절 코퍼스로 변환된다. n개의 음절의 각각의 시퀀스는 n-그램을 나타내고; 이 실시예에서, 3개의 음절의 각각의 시퀀스는 3-그램을 나타낸다. 그 이후에, 각각의 3-그램 패턴에 대해 연관 카운트들이 누적된다. 카운트들이 누적된 후에, 카운트들은 생성 대 정준 패턴들에 대한 조건부 확률들을 계산하는 데 사용되는 것들과 유사한 평활화 기술들을 사용하여 확률들로 변환된다.
4.1.5 음절 철자 공간에서 N-그램 모델들을 학습하기
n-그램 모델들을 트레이닝시킴으로써 이웃 음절 철자법의 컨텍스트 영향이 또한 포착된다. 실시예에서, 3-그램 모델들이 트레이닝된다. 이 모델들은 운용 단어들의 큰 코퍼스를 사용하여 트레이닝된다. 발음 사전을 사용하여 각각의 단어의 분철된 철자법을 검색함으로써 운용 단어 코퍼스가 분철된 철자 청크 코퍼스로 변환된다. 그 이후에, 각각의 n-그램 패턴에 대해 연관 카운트들이 누적된다. 카운트들이 누적된 후에, 카운트들은 생성 대 정준 패턴들에 대한 조건부 확률들을 계산하는 데 사용되는 것들과 유사한 평활화 기술들을 사용하여 확률들로 변환된다.
4.1.6 임계치들 및 오버라이드들을 학습하기
후보 음절들이 구성되고 확률들을 할당받을때, 일부는 매우 낮은 확률들을 갖는다. 실제로, 너무 낮아서, 철자 패턴들에 매핑된 후에, 이러한 음절들은 결코 선택되지 않는다. 트레이닝 이후에, 이 시스템은 테스트되고, 확률 임계치가 결정되며, 이 임계치 미만에서는 특정의 음절이 방출된 출력에 결코 포함되지 않는다. 이 임계치는 기록되고 출력에 영향을 미치지 않는 후보들을 제거하기 위해 인식 시에 사용된다.
대부분의 모호성은 국소적으로 해결될 수 있다. 일부 모호성은 컨텍스트를 확장함으로써 해결될 수 있다. 일부 모호성은 컨텍스트를 확장함으로써 해결될 수 없다. 결과들을 개선시키기 위해 맹목적으로 큰 n-그램들을 사용하는 대신에, 보다 짧은 n-그램들이 실패할 때만 보다 큰 n-그램 패턴들이 생성된다.
학습 동안, "가장 가능성있는" 철자 패턴이 타깃 패턴과 매칭하지 않을 때, 이 시스템은 "오버라이드"를 생성한다. 이것은 "실수(mistake)"를 "키(key)"로서 기록하고 이어서 실수를 정정할 (지정된 최대 개수의 음절들 또는 단어들까지) 확장된 컨텍스트를 식별한다. 그러한 확장된 컨텍스트가 발견되면, 실수 키 및 연관된 컨텍스트 및 올바른 철자 패턴이 기록된다. 이 메커니즘은 또한 시스템 배치 후에 피드백이 시스템 출력들을 개선시키는 데 사용될 수 있게 해주는 데 이용될 수 있다.
4.2 인식 페이즈
도 9는 생성 스트림으로부터 IVC 패턴들 및 VN 패턴들을 추출하는 예시적인 방법을 묘사한 플로차트이다. 인식 동안, 생성 IVC(403) 및 VN(401) 패턴들을 추출하고 이들을 도 9에 도시된 프로세스를 사용하여, 제각기, 정준 IVC(404) 및 VN(400)에 매핑하기 위해, 들어오는 생성 심벌 스트림(402)이 프로세싱된다. 추출 프로세스는 방금 수신된 심벌(B3), 그 직전에 수신된 심벌(B2), 및 그 직전에 수신된 심벌(B1)을 포함하는 3-심벌 버퍼를 유지한다. IVC 누산기 버퍼가 또한 유지된다.
임의의 생성 심벌들이 수신되기 전에, 3-심벌 버퍼는 비우기 위해 초기화된다(900). IVC 누산기가 이어서 널로 설정된다(901). 다음 심벌이 수신되고(902) 3-심벌 버퍼에서의 B3이 된다(903). 이어서 3-심벌 버퍼가 VN 패턴을 포함하는지(904)를 확인하기 위해 3-심벌 버퍼가 검사된다. 만약 그렇다면, VN 패턴은 큐 1로 푸시된다(905). 수신된 심벌(B3)이 자음인지(906)를 확인하기 위해 수신된 심벌(B3)이 검사된다. 만약 그렇다면, 그것이 IVC 누산기에 어펜딩되고(907) 프로세싱은 다음 생성 심벌을 수신하는 것(902)으로 계속된다. 그렇지 않으면, 누적된 IVC(널일 수 있음)가 큐 1로 푸시되고(908) 프로세싱은 다음 생성 심벌을 수신하는 것(902)으로 계속된다.
도 10은 정준 패턴 세트들로부터 후보 음절 세트들을 생성하는 예시적인 방법을 묘사한 플로차트이다. 큐 1 내의 IVC 및 VN 패턴들은 도 10에 도시된 바와 같이 그것들이 도착할 때 프로세싱된다. 프로세싱이 시작되기 전에, 큐는 비우기 위해 초기화된다(1001). 다음 패턴이 수신되고(1002) 그것이 IVC 패턴인지 여부(1003)에 기초하여 프로세싱된다. 그것이 생성 VN 패턴이면, 그것은 정준 VN 패턴 세트에 매핑된다(1004). 유효하기 위해, 정준 VN 패턴들은 이전의 정준 IVC 패턴 세트의 어떤 멤버의 일관성있는 연속을 형성해야 한다(1005). 일관성없는 VN 패턴들은 추가 프로세싱으로부터 제거된다. 방금 수신된 패턴이 생성 IVC 패턴이면, 그것은 정준 IVC 패턴 세트에 매핑된다(1006). 유효하기 위해, 정준 IVC 패턴들은 이전의 정준 VN 패턴 세트의 어떤 멤버의 일관성있는 연속을 형성해야 한다. 일관성없는 IVC 패턴들은 추가 고려로부터 제거된다(1007). 남아 있는 IVC 패턴들의 멤버에 대한 일관성있는 연속을 갖지 않는 임의의 VN 패턴들이 또한 제거된다.
도 11은 경로 일관성 제약조건들의 적용의 세부사항들을 도시한다. 1100, 1101, 및 1102는 큐 1에서의 VN 및 IVC 패턴들의 교호하는 도착을 도시한다. VN 및 IVC 패턴들의 유효한 후보 매핑들은 도착하는 패턴들을 통해 일관성있는 경로들을 형성한다. 유효하기 위해, 도착하는 IVC 패턴(1101)은 IVC 패턴 직전에 도착한 남아 있는 VN 패턴 세트(1100)의 하나 이상의 멤버와 부합해야 한다. VN 패턴(1100)과 IVC 패턴(1101) 사이의 연속하는 경로의 일관성은 패턴들(1106)의 "오버랩된" 부분들의 검사에 의해 결정된다. 구체적으로는, VN 패턴(1100)의 최종 심벌은 중단 심벌, 모음 심벌, 또는 자음 심벌이다. 그것이 중단 심벌 또는 모음이면, 유효한 IVC 연속들은 널 말음 패턴들을 갖는 것들로 제약된다. 그것이 자음이면, 유효한 IVC 패턴 연속들은 그 동일한 자음으로 시작되는 것들로 제약된다.
유효한 연속들이 없는 VN 패턴들은 제거된다. 마찬가지로, 적어도 하나의 남아 있는 VN 패턴의 유효한 연속들이 아닌 IVC 패턴들은 제거된다. VN 패턴이 큐 1에 도착할 때, 유지되기 위해 그것은 이전의 후보 IVC 패턴 세트의 남아 있는 멤버들 중 하나 이상의 멤버의 유효한 연속을 형성해야 한다. 방금 설명된 것과 유사하게, 일관성 제약조건들은 IVC 및 VN 패턴들(1107)의 에지 심벌들의 검사에 의해 적용되며, 이번에만 매칭은 IVC의 마지막 심벌 및 VN의 첫 번째 심벌을 수반한다. VN의 첫 번째 심벌이 자음이면, 그것은 유효하기 위해 적어도 하나의 IVC의 마지막 심벌과 매칭해야 한다. 그렇지 않으면, 그것은 널 두음 패턴을 갖는 IVC의 연속에 불과할 수 있다.
도 10을 또다시 참조하면, 일관성있는 IVC 패턴들이 말음-두음 시퀀스들로 세그먼트화될 때(1008), 말음 부분들은 남아 있는 이전 IVC 패턴들 및 남아 있는 이전 VN 패턴들로부터 세그먼트화된 두음들을 통한 일관성있는 경로들을 완성하는 데 사용된다. 각각의 일관성있는 경로는 후보 음절을 형성한다(1009). 후보 음절이 자음표에 없다면, 그것은 제거된다(1010). 허용되는 후보 음절들은 큐 2로 푸시된다(1011). 패턴 매핑들(1004 및 1006)은 생성 패턴이 주어진 경우의 각각의 정준 패턴 매핑의 조건부 확률 추정치들을 제공한다. IVC 패턴들이 말음-두음 시퀀스들로 세그먼트화될 때, IVC 패턴의 이러한 성분들(constituents)은 IVC 패턴의 확률을 상속한다. 다수의 남아 있는 IVC 패턴 세그먼트화들이 동일한 말음 또는 동일한 두음 패턴을 결과하면, 공유된 패턴들에 대한 확률들은 그것들을 포함하는 IVC 패턴들의 확률들의 합으로 추정된다. 두음, 말음, 및 VN 세트들에 대한 확률들 각각은 합산되어 1이 되도록 정규화된다. 음절 후보들(405)이 형성될 때, 그것들은 그것들의 두음 패턴, VN 패턴, 및 그것들의 말음 패턴의 확률들의 곱으로서 계산되는 확률을 할당받는다. 음절 후보 세트의 확률들은 이어서 합산되어 1이 되도록 정규화된다. 음절 후보들에 할당된 확률들은 이어서 n-그램 컨텍스트 모델들을 적용하여 추가로 조정된다.
도 12는 일관성 제약조건들의 적용이 IVC들의 인식을 어떻게 단순화시키는지의 예를 도시한다. 이 예는 단일 음소 생성 IVC /T/의 예이다. 트레이닝 프로세스는 광범위한 조건부 확률들(1201)을 갖는 생성 IVC /T/(1200)와 연관된 58개의 상이한 정준 IVC를 생성하였다. 일관성 제약조건들의 적용 이후에, 가능한 정준 IVC 패턴 세트는 14개의 훨씬 더 콤팩트한 개수로 감소되며(1202), 대략 76% 감소이다. 남아 있는 IVC 패턴들의 연관된 조건부 확률들(1203)은 이어서 합산되어 1이 되도록 정규화된다.
다음에, 후보 음절들(405) 각각과 연관된 철자 패턴 세트(406)가 생성된다. 도 13은 후보 음절들을 철자 패턴들에 매핑하는 예시적인 방법을 묘사한 플로차트이다. 도 13에서, 큐 2가 비우기 위해 초기화된다(1300). 후보 음절 세트가 큐 2에 수신되고(1301) 철자 패턴 세트에 매핑된다(1302). 패턴들과 연관된 위치 코드들(101, 303, 및 304)은 유효하지 않은 패턴들(1303)을 제거하는 데 사용된다. 남아 있는 매핑된 패턴들은 큐 3으로 푸시된다(1304).
도 14는 음절 위치 제약조건들 및 통계 모델들을 적용하여 출력 철자 패턴들을 선택하는 프로세스를 예시한다. 큐 3은 컨텍스트에서의 음절 연관 철자 청크 세트들을 프로세싱하는 데 사용된다. 그것은 음절 철자 패턴들의 ‘N'개의 가장 최근의 후보 세트의 이력을 포함하는 슬라이딩 윈도로서 보여질 수 있다. 패턴들의 조건부 확률들 및 그것들의 컨텍스트 확률들은 슬라이딩 윈도의 "가장 오래된(oldest)" 끝에서 방출할 가장 가능성있는 패턴을 식별하는 데 사용된다.
실시예에서, 슬라이딩 윈도의 크기는 7 음절로 설정되어 있다. 다른 실시예들은 컨텍스트와 레이턴시 간에 상이한 트레이드오프들을 갖는 상이한 길이들을 사용할 수 있다. 큐 3이 비우기 위해 초기화된다(1400). 다음 철자 패턴 세트가 수신된다(1401). 시프트된 n-그램 컨텍스트 모델들은 경로 확률들을 생성하는 데 사용된다. 시프트된 n-그램 모델들의 합이 이어서 적용된다(1402). 방출 예정 패턴이 오버라이드 세트에서 키로서 발견되고 컨텍스트가 오버라이드와 부합하면, 오버라이드와 연관된 방출 패턴이 방출되고; 그렇지 않으면, "가장 가능성있는" 패턴이 방출된다(1403).
도 15는 철자 후보들의 컨퓨전 네트워크의 예이다. 3개의 음절-클록 기간 이후에, 3-그램 모델들(1506)은 음절-클록 기간들(1500, 1501, 및 1502)에서 패턴들에 적용된다. 음절-클록 기간(1503)에서 철자 후보들이 도착하면, 음절-클록 기간들(1501, 1502, 및 1503)에서 패턴들에 3-그램 모델들(1507)이 적용된다. 각각의 새로운 철자 패턴 세트가 도착하고(1504, 및 1505), 3-그램 모델들(1508 및 1509)이, 제각기, 적용된다.
일부 상황들에서, 생성 스트림을 생성하는 음향 인식기가 특정 음소 클래스를 높은 신뢰도로 식별하지 못할 수 있다. 그러한 경우들에서, 스트림 내의 심벌들은 대분류 음소 클래스들(broad phonetic classes)을 표현할 수 있다. 이것이 발생하면, 정준 패턴 세트들은 대분류 클래스의 멤버들인 특정 클래스들 각각을 표현하는 심벌들을 대체함으로써 매핑을 반복하는 것에 의해 생성되는 세트들의 합집합이다. 예를 들어, 음소 세그먼트가 /m/ 또는 /n/인지를 음향 프로세서가 확실하게 결정할 수 없다면, 음향 프로세서는 대분류 클래스 {/m/, /n/}을 표현하는 심벌을 생성 스트림에 삽입할 것이다. 생성으로부터 정준으로의 매핑은, 차례로, 대분류 심벌 대신에 /m/ 및 /n/을 IVC 내에 대체하고 매핑된 정준 IVC 패턴 세트를 개별 매핑들의 합집합으로서 대체한다.
5. 구현 예
도 16은 음절 구조를 사용하여 자동 음성 인식을 수행하는 예시적인 방법을 묘사한다.
단계(1602)에서, 오디오 입력으로부터 생성된 생성 심벌 스트림이 수신된다. 예로서, 컴퓨팅 시스템은, 텔레비전 프로그램을 통해서와 같이, 오디오 입력을 수신할 수 있다. 음향 인식기는 오디오 입력으로부터 생성 심벌 스트림들을 생성하는 데 사용될 수 있다. 컴퓨팅 시스템은 프로세싱을 위해 생성 심벌 스트림을 수신할 수 있다. 예를 들어, 컴퓨팅 시스템은 텔레비전 프로그램에 대한 캡션들을 생성하도록 프로그래밍되거나 구성될 수 있다.
단계(1604)에서, 섹션 4.1.1 및 도 6에서 알게 된 바와 같이, 생성 IVC들 및 VN들은 섹션 4.2 및 도 9에 설명된 바와 같이 생성 심벌 스트림에서 식별된다.
단계(1606)에서, 섹션 4.1.2 및 도 7에 설명된 트레이닝 프로세스에서 학습된 음소배열 패턴들 및 조건부 확률들을 이용하여, 섹션 4.2 및 도 10에 설명된 바와 같이, 생성 IVC들 및 VN들이 정준 IVC들 및 VN들에 매핑된다. 단계(1608)에서, 섹션 4.2 및 도 11에서 설명된 바와 같이, 일관성없는 IVC들 및 VN들을 제거하기 위해 경로 일관성 제약조건들이 사용된다. 임의의 단일 생성 IVC 또는 VN에 대해 복수의 상이한 정준 IVC들 및 VN들이 생성될 수 있다.
단계(1610)에서, 섹션 4.2 및 도 10에서 설명된 바와 같이, 일관성있는 IVC들이 말음-두음 시퀀스들로 세그먼트화된다. 단계(1612)에서, 섹션 4.2 및 도 11에서 설명된 바와 같이, 말음들은 후보 음절들을 생성하는 데 사용되고 자음표에 없는 후보 음절들은 제거된다.
단계(1614)에서, 섹션 4.2에서 설명된 바와 같이 그리고 도 12에 예시된 바와 같이, 후보 음절들 각각에 대한 확률들이 생성된다. 후보 음절들 각각의 확률들은 구성 두음들, 말음들 및 IVC들의 학습된 확률들로부터 도출되고, 허용되지 않는 유닛들을 제거한 후에 정규화되며 N-그램 모델들의 사용을 통해 조정된다.
단계(1616)에서, 섹션 4.2 및 도 13에서 설명된 바와 같이, 후보 음절들은 섹션 4.1.3 및 도 8에서 설명된 바와 같이 트레이닝 프로세스에서 학습된 연관들을 통해 철자 패턴들에 매핑되며, 단계(1618)에서, 일관성없는 철자 패턴들이 제거된다. 단일 후보 음절이 다수의 철자 패턴들에 매핑될 수 있다.
단계(1620)에서, 섹션 4.2 및 도 14에서 설명된 바와 같이, 철자 패턴들 각각의 확률들은 섹션 4.1.4 및 섹션 4.1.5에서 설명된 바와 같이 트레이닝 프로세스에서 학습된 구성 음절들의 확률들을 사용하여 생성된다.
단계(1622)에서, 섹션 4.2 및 도 14에서 설명된 바와 같이, 섹션 4.1.6에서 설명된 바와 같이 가장 가능성있는 철자 패턴이 트레이닝 프로세스에서 학습된 확장된 컨텍스트 오버라이드 세트에서의 키와 매칭하지 않는 한, 가장 가능성있는 철자 패턴이 방출되고, 가장 가능성있는 철자 패턴이 트레이닝 프로세스에서 학습된 확장된 컨텍스트 오버라이드 세트에서의 키와 매칭하는 경우에, 오버라이드가 방출된다. 다른 실시예에서, n개의 가장 가능성있는 철자 시퀀스와 관련하여 사전이 또다시 조회되고, 정확한 매치가 위치확인되면, 그 매치가 방출된다.
6. 소정 실시예들의 이점들
본 명세서에서 설명된 컴퓨터 기반 프로세스는 생성된 음성으로부터 추출된 음소 및 언어 심벌 패턴들을 철자적으로 올바른 정준 텍스트로 변환하기 위해 머신 러닝 기술들 및 언어 지식의 신규하고 비전통적인 조합을 이용한다. 자동화된 음성-텍스트 변환(speech-to-text) 시스템의 이 명백히 상이한 "백 엔드(back end)" 언어 프로세싱 컴포넌트는 현재의 최첨단 "언어 모델"보다 훨씬 더 계산 효율적이다. 효율적인 음향 프로세싱 "프런트 엔드(front end)"와 커플링될 때, 본 발명은 높은 정확도 및 낮은 레이턴시로 분산 디바이스들 상에서의 발화된 단어들의 연속적인 전사를 가능하게 해줄 것이다. 그것은, 음성 검색, 분산 디바이스들 및 어플라이언스들의 음성 명령 및 제어, 음성 받아쓰기를 포함하지만 이들로 제한되지 않는, 자동화된 음성 인식이 이용되는 모든 목적들에 귀중한 도구가 될 것이다. 그것은 레코딩된 비디오 및 라이브 비디오 상에 정확한 실시간 캡션들 및 자막들을 생성하는 데 특히 유용할 것이다.
라이브 방송들을 위한 캡셔닝은 높은 정확도, 발화된 단어들과 디스플레이된 캡션들 사이의 지연이 거의 내지 전혀 없는 것, 및 미리 정의된 어휘 리스트의 일부가 아니거나 상이한 악센트로 발화되는 단어들에 대한 캡션들을 생성하는 능력을 요구한다. 사람이 그러한 캡션들을 높은 정확도로 또는 높은 속도들로 생성하기가 어렵다. 본 명세서에서 설명된 규칙들을 이용함으로써, 컴퓨터는 수신된 소리 스트림들을 분할하고, 특정 규칙 세트들을 이용하여 최상의 후보 단어들을 식별하며, 후보 단어들을 높은 정확도 및 높은 속도로 출력할 수 있으며, 그에 의해 출력 전사가 라이브 방송에서 실시간으로 재생될 수 있게 해줄 수 있다. 그에 부가하여, 뉴스 프로그램들과 같은 소정 라이브 프로그램들에서 적지 않은 수의 단어들이 고유 명사들과 같은 이전에 보이지 않았던 단어들이다. 현재의 최첨단 ASR 시스템들은 자신의 사전들에 있는 단어들만을 방출할 수 있으며, 이는 그것들이 이 단어들을 항상 오해할 것임을 의미한다. 본 발명은 이전에는 보이지 않았던 단어들의 음소 근사치들을 방출하는 능력을 갖는다.
7. 하드웨어 개요
일 실시예에 따르면, 본 명세서에서 설명된 기술들은 하나 이상의 특수 목적 컴퓨팅 디바이스에 의해 구현된다. 특수 목적 컴퓨팅 디바이스들은 이 기술들을 수행하도록 하드와이어링될 수 있거나, 또는 이 기술들을 수행하도록 영구적으로 프로그래밍된 하나 이상의 ASIC(application-specific integrated circuit) 또는 FPGA(field programmable gate array)와 같은 디지털 전자 디바이스들을 포함할 수 있거나, 또는 펌웨어, 메모리, 다른 스토리지, 또는 조합에서의 프로그램 명령어들에 따라 이 기술들을 수행하도록 프로그래밍된 하나 이상의 범용 하드웨어 프로세서를 포함할 수 있다. 그러한 특수 목적 컴퓨팅 디바이스들은 또한 이 기술들을 달성하기 위해 커스텀 하드 와이어드 로직(custom hard-wired logic), ASIC들, 또는 FPGA들을 커스텀 프로그래밍과 겸비할 수 있다. 특수 목적 컴퓨팅 디바이스들은 이 기술들을 구현하는 하드 와이어드 및/또는 프로그램 로직을 포함하는 데스크톱 컴퓨터 시스템들, 휴대용 컴퓨터 시스템들, 핸드헬드 디바이스들, 네트워킹 디바이스들 또는 임의의 다른 디바이스일 수 있다.
예를 들어, 도 17은 본 발명의 실시예가 구현될 수 있는 컴퓨터 시스템(1700)을 예시하는 블록 다이어그램이다. 컴퓨터 시스템(1700)은 정보를 전달하기 위한 버스(1702) 또는 다른 통신 메커니즘, 및 버스(1702)와 커플링된, 정보를 프로세싱하기 위한 하드웨어 프로세서(1704)를 포함한다. 하드웨어 프로세서(1704)는, 예를 들어, 범용 마이크로프로세서일 수 있다.
컴퓨터 시스템(1700)은 버스(1702)에 커플링된, 프로세서(1704)에 의해 실행될 명령어들 및 정보를 저장하기 위한, RAM(random access memory) 또는 다른 동적 저장 디바이스와 같은, 메인 메모리(1706)를 또한 포함한다. 메인 메모리(1706)는 프로세서(1704)에 의해 실행될 명령어들의 실행 동안 임시 변수들 또는 다른 중간 정보를 저장하는 데 또한 사용될 수 있다. 그러한 명령어들은, 프로세서(1704)에 의해 액세스가능한 비일시적 저장 매체들에 저장될 때, 컴퓨터 시스템(1700)을 명령어들에 명시된 동작들을 수행하도록 커스터마이즈된 특수 목적 머신으로 만든다.
컴퓨터 시스템(1700)은 버스(1702)에 커플링된, 프로세서(1704)에 대한 명령어들 및 정적 정보를 저장하기 위한 ROM(read only memory)(1708) 또는 다른 정적 저장 디바이스를 추가로 포함한다. 정보 및 명령어들을 저장하기 위한, 자기 디스크, 광학 디스크, 또는 솔리드 스테이트 드라이브와 같은, 저장 디바이스(1710)가 제공되고 버스(1702)에 커플링된다.
컴퓨터 시스템(1700)은 컴퓨터 사용자에게 정보를 디스플레이하기 위한, CRT(cathode ray tube)와 같은, 디스플레이(1712)에 버스(1702)를 통해 커플링될 수 있다. 영숫자 및 다른 키들을 포함하는 입력 디바이스(1714)는 정보 및 커맨드 선택들을 프로세서(1704)에게 통신하기 위해 버스(1702)에 커플링된다. 다른 유형의 사용자 입력 디바이스는 방향 정보 및 커맨드 선택들을 프로세서(1704)에게 통신하기 위한 그리고 디스플레이(1712) 상에서의 커서 움직임을 제어하기 위한, 마우스, 트랙볼, 또는 커서 방향 키들과 같은, 커서 컨트롤(1716)이다. 이러한 입력 디바이스는 전형적으로 디바이스가 평면에서의 위치들을 명시할 수 있게 해주는 2개의 축들인, 제1 축(예컨대, x) 및 제2 축(예컨대, y)에서 2개의 자유도를 가진다.
컴퓨터 시스템(1700)은, 컴퓨터 시스템과 조합하여, 컴퓨터 시스템(1700)을 특수 목적 머신으로 되게 하거나 그렇게 되도록 프로그래밍하는 커스터마이즈된 하드 와이어드 로직, 하나 이상의 ASIC 또는 FPGA, 펌웨어, 및/또는 프로그램 로직을 사용하여 본 명세서에서 설명된 기술들을 구현할 수 있다. 일 실시예에 따르면, 본 명세서에서의 기술들은 프로세서(1704)가 메인 메모리(1706)에 포함된 하나 이상의 명령어의 하나 이상의 시퀀스를 실행한 것에 응답하여 컴퓨터 시스템(1700)에 의해 수행된다. 그러한 명령어들은, 저장 디바이스(1710)와 같은, 다른 저장 매체로부터 메인 메모리(1706) 내로 판독될 수 있다. 메인 메모리(1706)에 포함된 명령어 시퀀스들의 실행은 프로세서(1704)로 하여금 본 명세서에서 설명된 프로세스 단계들을 수행하게 한다. 대안의 실시예들에서, 소프트웨어 명령어들 대신에 또는 그와 조합하여 하드 와이어드 회로부(hard-wired circuitry)가 사용될 수 있다.
용어 “저장 매체들"은, 본 명세서에서 사용되는 바와 같이, 머신으로 하여금 특정 방식으로 동작하게 하는 데이터 및/또는 명령어들을 저장하는 임의의 비일시적 매체들을 지칭한다. 그러한 저장 매체들은 비휘발성 매체들 및/또는 휘발성 매체들을 포함할 수 있다. 비휘발성 매체들은, 예를 들어, 저장 디바이스(1710)와 같은, 광학 디스크들, 자기 디스크들, 솔리드 스테이트 드라이브들을 포함한다. 휘발성 매체들은, 메인 메모리(1706)와 같은, 동적 메모리를 포함한다. 통상적인 형태들의 저장 매체들은, 예를 들어, 플로피 디스크, 플렉서블 디스크, 하드 디스크, 솔리드 스테이트 드라이브, 자기 테이프, 또는 임의의 다른 자기 데이터 저장 매체, CD-ROM, 임의의 다른 광학 데이터 저장 매체, 구멍들의 패턴을 갖는 임의의 물리 매체, RAM, PROM, 및 EPROM, FLASH-EPROM, NVRAM, 임의의 다른 메모리 칩 또는 카트리지를 포함한다.
저장 매체들은 전송 매체들과 구별되지만 이들과 함께 사용될 수 있다. 전송 매체들은 저장 매체들 간에 정보를 전송하는 데 참여한다. 예를 들어, 전송 매체들은, 버스(1702)를 구성하는 와이어들을 포함한, 동축 케이블들, 구리 와이어 및 광섬유를 포함한다. 전송 매체들은 또한, 라디오 파 또는 적외선 데이터 통신 동안 생성되는 것들과 같은, 음향파 또는 광파의 형태를 취할 수 있다.
다양한 형태들의 매체들이 하나 이상의 명령어의 하나 이상의 시퀀스를 실행을 위해 프로세서(1704)에게 운반하는 데 관여될 수 있다. 예를 들어, 명령어들은 처음에 원격 컴퓨터의 자기 디스크 또는 솔리드 스테이트 드라이브 상에서 운반될 수 있다. 원격 컴퓨터는 명령어들을 자신의 동적 메모리에 로딩하고 모뎀을 사용하여 명령어들을 전화선을 통해 송신할 수 있다. 컴퓨터 시스템(1700)에 로컬인 모뎀은 전화선을 통해 데이터를 수신하고 적외선 송신기를 사용하여 데이터를 적외선 신호로 변환할 수 있다. 적외선 검출기는 적외선 신호로 운반된 데이터를 수신할 수 있고, 적절한 회로부는 데이터를 버스(1702) 상에 놓을 수 있다. 버스(1702)는 데이터를 메인 메모리(1706)로 운반하고, 메인 메모리(1706)로부터 프로세서(1704)는 명령어들을 검색하고 실행한다. 메인 메모리(1706)에 의해 수신된 명령어들은 임의로 프로세서(1704)에 의한 실행 이전에 또는 그 이후에 저장 디바이스(1710) 상에 저장될 수 있다.
컴퓨터 시스템(1700)은 버스(1702)에 커플링된 통신 인터페이스(1718)를 또한 포함한다. 통신 인터페이스(1718)는 로컬 네트워크(1722)에 접속된 네트워크 링크(1720)에 대한 양방향 데이터 통신 커플링을 제공한다. 예를 들어, 통신 인터페이스(1718)는 ISDN(integrated services digital network) 카드, 케이블 모뎀, 위성 모뎀, 또는 대응하는 유형의 전화선에 대한 데이터 통신 접속을 제공하는 모뎀일 수 있다. 다른 예로서, 통신 인터페이스(1718)는 호환가능 LAN(local area network)에 대한 데이터 통신 접속을 제공하는 LAN 카드일 수 있다. 무선 링크들이 또한 구현될 수 있다. 임의의 그러한 구현에서, 통신 인터페이스(1718)는 다양한 유형들의 정보를 표현하는 디지털 데이터 스트림들을 운반하는 전기, 전자기, 또는 광학 신호들을 송신하고 수신한다.
네트워크 링크(1720)는 전형적으로 데이터 통신을 하나 이상의 네트워크를 통해 다른 데이터 디바이스들에게 제공한다. 예를 들어, 네트워크 링크(1720)는 호스트 컴퓨터(1724)에 대한 또는 ISP(Internet Service Provider)(1726)에 의해 운영되는 데이터 장비에 대한 로컬 네트워크(1722)를 통한 접속을 제공할 수 있다. ISP(1726)는 차례로, 지금은 흔히 "인터넷"(1728)이라고 지칭되는, 전세계 패킷 데이터 통신 네트워크를 통해 데이터 통신 서비스들을 제공한다. 로컬 네트워크(1722) 및 인터넷(1728) 둘 다는 디지털 데이터 스트림들을 운반하는 전기, 전자기 또는 광학 신호를 사용한다. 디지털 데이터를 컴퓨터 시스템(1700)에게 그리고 그로부터 운반하는, 다양한 네트워크들을 통한 신호들 및 네트워크 링크(1720) 상의 그리고 통신 인터페이스(1718)를 통한 신호들은 예시적인 형태들의 전송 매체들이다.
컴퓨터 시스템(1700)은 네트워크(들), 네트워크 링크(1720) 및 통신 인터페이스(1718)를 통해 메시지들을 송신하고, 프로그램 코드를 포함한, 데이터를 수신할 수 있다. 인터넷 예에서, 서버(1730)는 애플리케이션 프로그램에 대한 요청된 코드를 인터넷(1728), ISP(1726), 로컬 네트워크(1722) 및 통신 인터페이스(1718)를 통해 전송할 수 있다.
수신된 코드는, 그것이 수신될 때, 프로세서(1704)에 의해 실행될 수 있고, 그리고/또는 추후의 실행을 위해 저장 디바이스(1710) 또는 다른 비휘발성 스토리지에 저장될 수 있다.
전술한 명세서에서, 실시예들이 구현마다 달라질 수 있는 수많은 특정 세부사항들을 참조하여 설명되었다. 명세서 및 도면들은, 그에 따라, 제한적인 의미보다는 예시적인 의미로 간주되어야 한다. 본 개시내용의 범위의 유일하고 배타적인 지시자, 및 출원인들에 의해 본 개시내용의 범위인 것으로 의도되는 것은, 임의의 차후의 정정을 포함한, 그러한 청구항들이 나오는 특정 형태로 된, 본 출원에서 나오는 일련의 청구항들의 문언적 및 등가적 범위이다.

Claims (30)

  1. 데이터 프로세싱 방법으로서,
    음향 프로세싱 시스템으로부터 특정의 언어의 발화된 단어들로부터 생성되는 생성 심벌 스트림을, 컴퓨팅 시스템에서, 수신하는 단계;
    상기 생성 심벌 스트림으로부터, 복수의 생성 패턴들을 추출하는 단계;
    생성 패턴들 대 정준 패턴들의 하나 이상의 매핑에 대한 조건부 확률들을 포함하는 저장된 생성 대 정준 매핑 데이터를 사용하여, 상기 복수의 생성 패턴들로부터 후보 음절들 및 각각의 후보 음절의 확률을 생성하는 단계;
    하나 이상의 매핑에 대한 조건부 확률들을 포함하는 저장된 음절 대 철자 패턴 매핑을 사용하여, 상기 후보 음절들로부터 후보 철자 패턴들 및 각각의 후보 철자 패턴의 확률을 생성하는 단계;
    각각의 후보 철자 패턴에 대한 상기 확률들에 적어도 부분적으로 기초하여, 상기 생성 심벌 스트림의 철자 표현을 생성하는 단계
    를 포함하는 데이터 프로세싱 방법.
  2. 제1항에 있어서, 상기 생성 스트림은, 상기 생성 심벌 스트림의 각각의 심벌에 대해 순차적으로:
    3-심벌 버퍼를 제로로 초기화하고 IVC 누산기 버퍼를 제로로 초기화하며 생성 심벌들을 순차적으로 상기 3-심벌 버퍼에 추가하는 단계;
    심벌을 상기 3-심벌 버퍼에 추가한 후에, 상기 3-심벌 버퍼의 중간 심벌이 모음이고 따라서 상기 3개의 심벌이 VN을 포함하는지를 결정하고, 상기 VN을 저장하는 단계;
    추가된 심벌이 자음이면, 그 자음을 상기 IVC 누산기에 어펜딩(appending)하는 단계;
    다음에 추가된 심벌이 자음이 아니면, 상기 심벌들을 상기 IVC 누산기에 IVC로서 저장하는 단계; 및
    상기 생성 스트림이 계속되는 한 프로세싱을 계속하는 단계
    를 수행함으로써, 모음간 자음(intervowel consonant)(IVC) 및 모음 이웃(vowel neighborhood)(VN) 유닛들을 포함하는 음소배열 유닛들로 세그먼트화되는 데이터 프로세싱 방법.
  3. 제1항에 있어서,
    프로세싱 큐를 비우기 위해 초기화하는 단계;
    생성 IVC들 및 VN들의 교호 스트림을 수신하는 단계;
    정렬된 생성 및 정준 IVC의 미리 계산되어 저장된 데이터베이스를 사용하여, 생성 IVC들을 저장된 연관된 조건부 확률들을 갖는 하나 이상의 정준 IVC에 매핑하는 단계; 및
    정렬된 생성 및 정준 VN들의 저장된 데이터베이스를 사용하여, 생성 VN들을 저장된 연관된 조건부 확률들을 갖는 하나 이상의 정준 VN에 매핑하는 단계
    에 의해 생성 음소배열 스트림을 정준 음소배열 스트림에 매핑하는 단계를 추가로 포함하는 데이터 프로세싱 방법.
  4. 제3항에 있어서,
    상기 정준 IVC들 각각이 바로 직전의 정준 VN 패턴 세트의 적어도 하나의 멤버의 일관성있는 연속인지를 결정하고 적어도 하나의 그러한 VN 패턴과 부합하지 않는 것들을 제거하는 단계;
    상기 정준 VN들 각각이 바로 직전의 정준 IVC 패턴 세트의 적어도 하나의 멤버의 일관성있는 연속인지를 결정하고 적어도 하나의 그러한 IVC 패턴과 부합하지 않는 것들을 제거하는 단계; 및
    일관성없는 IVC들 및 VN들의 제거 이후에, 상기 조건부 확률들을 재정규화하는 단계
    에 의해 상기 매핑된 정준 스트림을 추가로 프로세싱하는 단계를 포함하는 데이터 프로세싱 방법.
  5. 제1항에 있어서, 상기 후보 음절들을 생성하는 단계는:
    일관성있는 정준 IVC 패턴들을 음절 말음-두음 시퀀스들로 세그먼트화하는 단계;
    상기 세그먼트화된 일관성있는 정준 IVC 패턴들의 상기 말음 부분들을 사용하여, 남아 있는 IVC 패턴들 및 VN 패턴들로부터 보강되는 두음들을 통해 일관성있는 경로들을 완성하는 단계 - 각각의 일관성있는 경로는 후보 음절을 형성함 -;
    저장된 자음표에 없는 후보 음절들을 제거하는 단계;
    각각의 후보 음절의 확률을 계산하는 단계; 및
    상기 후보 음절들을 저장하는 단계
    를 포함하는 방법.
  6. 제5항에 있어서, 각각의 후보 음절에 대한 확률을 생성하는 단계는:
    특정의 생성 심벌 세트에 대응하는 각각의 후보 음절에 대해:
    상기 생성 대 정준 매핑에서의 상기 저장된 계산된 확률들로부터 상기 음절에 대한 상기 VN의 확률을 식별하는 단계;
    상기 음절의 두음의 확률을, 상기 두음이 기초할 수 있는 각각의 정준 IVC에 대한 상기 생성 대 정준 매핑에서의 상기 저장된 계산된 확률들에 기초하여, 식별하는 단계;
    상기 음절의 말음의 확률을, 상기 말음이 기초할 수 있는 각각의 정준 IVC에 대한 상기 생성 대 정준 매핑에서의 상기 저장된 계산된 확률들에 기초하여, 식별하는 단계;
    상기 VN의 확률, 상기 두음의 확률, 및 상기 말음의 확률을 음절 확률 값으로 집계하는 단계; 및
    상기 특정의 생성 심벌 세트에 대한 상기 후보 음절들의 음절 확률 값들의 합을 정규화하는 단계
    를 포함하는 방법.
  7. 제1항에 있어서, 후보 음절들 대 철자 패턴들의 매핑은:
    정렬된 분철된 정준 발음들과 철자 음절 패턴들을 포함하는 데이터를 저장하는 단계;
    큐를 비우기 위해 초기화하고 상기 후보 음절들을 순차적으로 제시하며 학습되어 저장된 분철된 철자 패턴 세트에 매핑하는 단계;
    상기 패턴들과 연관된 단어 위치 코드들을 사용하여 유효하지 않은 패턴들을 제거하는 단계; 및
    상기 매핑된 철자 패턴들을 저장하는 단계
    를 포함하는 방법.
  8. 제1항에 있어서,
    오버랩하는 음절 시퀀스들이 점진적으로 프로세싱되는 복수의 음절 크기의 유닛들의 슬라이딩 윈도 형태의 큐를 통해 철자 패턴들을 순차적으로 프로세싱하는 단계;
    철자 패턴들이 수신될 때 각각의 수신된 철자 패턴 세트에 대한 n-그램 모델들에 저장된 데이터를 참조하는 단계;
    시프트된 n-그램 모델들의 조건부 확률들을 합산하여 경로 확률들을 생성하는 단계; 및
    상기 경로 확률들을 저장하는 단계
    에 의해 음절 위치 제약조건들 및 통계 모델들을 적용하여 출력 철자 패턴들을 선택하는 단계를 추가로 포함하는 방법.
  9. 제3항에 있어서,
    정렬된 생성 심벌 패턴들 및 정준 심벌 발음 패턴들을 포함하는 데이터를 저장하는 단계;
    상기 저장된 데이터에서의 생성 및 정준 발음 심벌 패턴의 각각의 조합에 대해, 상기 저장된 데이터에서의 상기 조합의 발생 횟수에 대응하는 값 및 상이한 생성 발음을 갖는 상기 정준 발음의 발생 횟수에 대응하는 값의 함수로서 상기 패턴의 확률을 계산하는 단계;
    상기 생성 및 정준 발음들의 조합들을 상기 생성 대 정준 매핑에서의 상기 조합들의 대응하는 계산된 확률들과 함께 저장하는 단계
    를 추가로 포함하는 방법.
  10. 제3항에 있어서,
    정렬된 분철된 정준 발음들과 철자 패턴들을 포함하는 데이터를 저장하는 단계;
    상기 저장된 데이터에서의 분철된 정준 발음과 철자 패턴의 각각의 조합에 대해, 상기 저장된 데이터에서의 상기 조합의 발생 횟수에 대응하는 값 및 상기 저장된 데이터에서의 상기 분철된 정준 발음의 발생 횟수에 대응하는 값의 함수로서 상기 패턴의 확률을 계산하는 단계;
    상기 분철된 정준 발음들과 철자 패턴들의 상기 조합들을 상기 생성 대 정준 매핑에서의 상기 조합들의 대응하는 계산된 확률들과 함께 저장하는 단계
    를 추가로 포함하는 방법.
  11. 제1항에 있어서,
    특정의 언어로 된 전사된 발화 또는 필기 음성을 포함하는 운용 단어 코퍼스를 저장하는 단계;
    특정의 언어의 단어들의 분철된 발음들 및 대응하는 철자 패턴들을 포함하는 발음 사전을 저장하는 단계;
    상기 발음 사전을 사용하여, 상기 운용 단어 코퍼스를 분철된 철자 단어 데이터베이스로 변환하는 단계;
    상기 분철된 철자 청크 코퍼스를 사용하여, 각각의 n-그램 패턴에 대한 연관 카운트들을 누적하고 각각의 후보 철자 음절 패턴에 대한 확률들을 생성하는 단계
    를 추가로 포함하는 방법.
  12. 제1항에 있어서,
    특정의 언어로 된 전사된 발화 또는 필기 음성을 포함하는 운용 단어 코퍼스를 저장하는 단계;
    특정의 언어의 단어들의 분철된 발음들 및 대응하는 철자 패턴들을 포함하는 발음 사전을 저장하는 단계;
    상기 발음 사전을 사용하여, 상기 운용 단어 코퍼스를 발음 음절 데이터베이스로 변환하는 단계;
    상기 발음 음절 패턴 데이터베이스를 사용하여, 각각의 n-그램 패턴에 대한 연관 카운트들을 누적하고 각각의 후보 발음 음절 패턴에 대한 확률들을 생성하는 단계
    를 추가로 포함하는 방법.
  13. 제1항에 있어서,
    상기 시스템에 의해 생성되는 가장 가능성있는 철자 음절 패턴이 타깃 철자 패턴과 매칭하지 않는, 트레이닝 동안;
    예기치 않은 철자 음절 패턴을 포함하는 다중 음절 시퀀스들의 확장된 컨텍스트를 저장하는 단계;
    인식 시에, 상기 시스템에 의해 생성되는 각각의 철자 음절 패턴을 매칭시켜 그것이 상기 저장된 시퀀스들 중 임의의 것과 매칭하는지를 확인하는 단계; 및
    만약 그렇다면, 상기 확장된 컨텍스트 시퀀스를 저장하고, 만약 그렇지 않다면, 가장 가능성있는 철자 패턴을 저장하는 단계
    를 추가로 포함하는 방법.
  14. 제7항에 있어서,
    철자 패턴들의 분철된 정준 발음 패턴들에 정렬된 철자 패턴들을 포함하는 발음 사전을 저장하는 단계를 추가로 포함하고, 상기 분철은 단어 위치 표기법들을 포함하고 최대 두음 원칙을 사용하여 달성되는 방법.
  15. 제1항에 있어서, 상기 생성 심벌 스트림은 컴퓨터 시스템의 디지털적으로 프로그래밍된 로직을 사용하여 텔레비전 프로그램의 오디오 입력으로부터 생성되며, 상기 방법은:
    상기 텔레비전 프로그램을 디스플레이하는 디스플레이 디바이스 상에, 상기 특정의 철자 패턴을 상기 텔레비전 프로그램에 대한 캡션으로서 디스플레이하게 하는 단계를 추가로 포함하는 방법.
  16. 시스템으로서,
    하나 이상의 프로세서;
    상기 하나 이상의 프로세서에 의해 실행될 때,
    음향 프로세싱 시스템으로부터 특정의 언어의 발화된 단어들로부터 생성되는 생성 심벌 스트림을 수신하는 단계;
    상기 생성 심벌 스트림으로부터, 복수의 생성 패턴들을 추출하는 단계;
    생성 패턴들 대 정준 패턴들의 하나 이상의 매핑에 대한 조건부 확률들을 포함하는 저장된 생성 대 정준 매핑 데이터를 사용하여, 상기 복수의 생성 패턴들로부터 후보 음절들 및 각각의 후보 음절의 확률을 생성하는 단계;
    하나 이상의 매핑에 대한 조건부 확률들을 포함하는 저장된 음절 대 철자 패턴 매핑을 사용하여, 상기 후보 음절들로부터 후보 철자 패턴들 및 각각의 후보 철자 패턴의 확률을 생성하는 단계;
    각각의 후보 철자 패턴에 대한 상기 확률들에 적어도 부분적으로 기초하여, 상기 생성 심벌 스트림의 철자 표현을 생성하는 단계
    를 수행하게 하는 명령어들을 저장하는 메모리
    를 포함하는 시스템.
  17. 제16항에 있어서, 상기 생성 스트림은, 상기 생성 심벌 스트림의 각각의 심벌에 대해 순차적으로:
    3-심벌 버퍼를 제로로 초기화하고 IVC 누산기 버퍼를 제로로 초기화하며 생성 심벌들을 순차적으로 상기 3-심벌 버퍼에 추가하는 단계;
    심벌을 상기 3-심벌 버퍼에 추가한 후에, 상기 3-심벌 버퍼의 중간 심벌이 모음이고 따라서 상기 3개의 심벌이 VN을 포함하는지를 결정하고, 상기 VN을 저장하는 단계;
    추가된 심벌이 자음이면, 그 자음을 상기 IVC 누산기에 어펜딩하는 단계;
    다음에 추가된 심벌이 자음이 아니면, 상기 심벌들을 상기 IVC 누산기에 IVC로서 저장하는 단계; 및
    상기 생성 스트림이 계속되는 한 프로세싱을 계속하는 단계
    를 수행함으로써, 모음간 자음(IVC) 및 모음 이웃(VN) 유닛들을 포함하는 음소배열 유닛들로 세그먼트화되는 시스템.
  18. 제15항에 있어서, 상기 명령어들은, 상기 하나 이상의 프로세서에 의해 실행될 때, 추가로
    프로세싱 큐를 비우기 위해 초기화하는 단계;
    생성 IVC들 및 VN들의 교호 스트림을 수신하는 단계;
    정렬된 생성 및 정준 IVC의 미리 계산되어 저장된 데이터베이스를 사용하여, 생성 IVC들을 저장된 연관된 조건부 확률들을 갖는 하나 이상의 정준 IVC에 매핑하는 단계; 및
    정렬된 생성 및 정준 VN들의 저장된 데이터베이스를 사용하여, 생성 VN들을 저장된 연관된 조건부 확률들을 갖는 하나 이상의 정준 VN에 매핑하는 단계
    에 의해 생성 음소배열 스트림을 정준 음소배열 스트림에 매핑하는 단계를 수행하게 하는 시스템.
  19. 제18항에 있어서, 상기 명령어들은, 상기 하나 이상의 프로세서에 의해 실행될 때, 추가로
    상기 정준 IVC들 각각이 바로 직전의 정준 VN 패턴 세트의 적어도 하나의 멤버의 일관성있는 연속인지를 결정하고 적어도 하나의 그러한 VN 패턴과 부합하지 않는 것들을 제거하는 단계;
    상기 정준 VN들 각각이 바로 직전의 정준 IVC 패턴 세트의 적어도 하나의 멤버의 일관성있는 연속인지를 결정하고 적어도 하나의 그러한 IVC 패턴과 부합하지 않는 것들을 제거하는 단계; 및
    일관성없는 IVC들 및 VN들의 제거 이후에, 상기 조건부 확률들을 재정규화하는 단계
    에 의해 상기 매핑된 정준 스트림을 추가로 프로세싱하는 단계를 수행하게 하는 시스템.
  20. 제16항에 있어서, 상기 후보 음절들을 생성하는 단계는:
    일관성있는 정준 IVC 패턴들을 음절 말음-두음 시퀀스들로 세그먼트화하는 단계;
    상기 세그먼트화된 일관성있는 정준 IVC 패턴들의 상기 말음 부분들을 사용하여, 남아 있는 IVC 패턴들 및 VN 패턴들로부터 보강되는 두음들을 통해 일관성있는 경로들을 완성하는 단계 - 각각의 일관성있는 경로는 후보 음절을 형성함 -;
    저장된 자음표에 없는 후보 음절들을 제거하는 단계;
    각각의 후보 음절의 확률을 계산하는 단계; 및
    상기 후보 음절들을 저장하는 단계
    를 포함하는 시스템.
  21. 제20항에 있어서,
    각각의 후보 음절에 대한 확률을 생성하는 단계는:
    특정의 생성 심벌 세트에 대응하는 각각의 후보 음절에 대해:
    상기 생성 대 정준 매핑에서의 상기 저장된 계산된 확률들로부터 상기 음절에 대한 상기 VN의 확률을 식별하는 단계;
    상기 음절의 두음의 확률을, 상기 두음이 기초할 수 있는 각각의 정준 IVC에 대한 상기 생성 대 정준 매핑에서의 상기 저장된 계산된 확률들에 기초하여, 식별하는 단계;
    상기 음절의 말음의 확률을, 상기 말음이 기초할 수 있는 각각의 정준 IVC에 대한 상기 생성 대 정준 매핑에서의 상기 저장된 계산된 확률들에 기초하여, 식별하는 단계;
    상기 VN의 확률, 상기 두음의 확률, 및 상기 말음의 확률을 음절 확률 값으로 집계하는 단계; 및
    상기 특정의 생성 심벌 세트에 대한 상기 후보 음절들의 상기 음절 확률 값들의 합을 정규화하는 단계
    를 포함하는 시스템.
  22. 제16항에 있어서, 후보 음절들 대 철자 패턴들의 매핑은:
    정렬된 분철된 정준 발음들과 철자 음절 패턴들을 포함하는 데이터를 저장하는 단계;
    큐를 비우기 위해 초기화하고 상기 후보 음절들을 순차적으로 제시하며 학습되어 저장된 분철된 철자 패턴 세트에 매핑하는 단계;
    상기 패턴들과 연관된 단어 위치 코드들을 사용하여 유효하지 않은 패턴들을 제거하는 단계; 및
    상기 매핑된 철자 패턴들을 저장하는 단계
    를 포함하는 시스템.
  23. 제16항에 있어서, 상기 명령어들은, 상기 하나 이상의 프로세서에 의해 실행될 때, 추가로
    오버랩하는 음절 시퀀스들이 점진적으로 프로세싱되는 복수의 음절 크기의 유닛들의 슬라이딩 윈도 형태의 큐를 통해 철자 패턴들을 순차적으로 프로세싱하는 단계;
    철자 패턴들이 수신될 때 각각의 수신된 철자 패턴 세트에 대한 n-그램 모델들에 저장된 데이터를 참조하는 단계;
    시프트된 n-그램 모델들의 조건부 확률들을 합산하여 경로 확률들을 생성하는 단계; 및
    상기 경로 확률들을 저장하는 단계
    에 의해 음절 위치 제약조건들 및 통계 모델들을 적용하여 출력 철자 패턴들을 선택하는 단계를 수행하게 하는 시스템.
  24. 제18항에 있어서, 상기 명령어들은, 상기 하나 이상의 프로세서에 의해 실행될 때, 추가로
    정렬된 생성 심벌 패턴들 및 정준 심벌 발음 패턴들을 포함하는 데이터를 저장하는 단계;
    상기 저장된 데이터에서의 생성 및 정준 발음 심벌 패턴의 각각의 조합에 대해, 상기 저장된 데이터에서의 상기 조합의 발생 횟수에 대응하는 값 및 상이한 생성 발음을 갖는 상기 정준 발음의 발생 횟수에 대응하는 값의 함수로서 상기 패턴의 확률을 계산하는 단계;
    상기 생성 및 정준 발음들의 조합들을 상기 생성 대 정준 매핑에서의 상기 조합들의 대응하는 계산된 확률들과 함께 저장하는 단계
    를 수행하게 하는 시스템.
  25. 제18항에 있어서, 상기 명령어들은, 상기 하나 이상의 프로세서에 의해 실행될 때, 추가로
    정렬된 분철된 정준 발음들과 철자 패턴들을 포함하는 데이터를 저장하는 단계;
    상기 저장된 데이터에서의 분철된 정준 발음과 철자 패턴의 각각의 조합에 대해, 상기 저장된 데이터에서의 상기 조합의 발생 횟수에 대응하는 값 및 상기 저장된 데이터에서의 상기 분철된 정준 발음의 발생 횟수에 대응하는 값의 함수로서 상기 패턴의 확률을 계산하는 단계;
    상기 분철된 정준 발음들과 철자 패턴들의 상기 조합들을 상기 생성 대 정준 매핑에서의 상기 조합들의 대응하는 계산된 확률들과 함께 저장하는 단계
    를 수행하게 하는 시스템.
  26. 제16항에 있어서, 상기 명령어들은, 상기 하나 이상의 프로세서에 의해 실행될 때, 추가로
    특정의 언어로 된 전사된 발화 또는 필기 음성을 포함하는 운용 단어 코퍼스를 저장하는 단계;
    특정의 언어의 단어들의 분철된 발음들 및 대응하는 철자 패턴들을 포함하는 발음 사전을 저장하는 단계;
    상기 발음 사전을 사용하여, 상기 운용 단어 코퍼스를 분철된 철자 단어 데이터베이스로 변환하는 단계;
    상기 분철된 철자 청크 코퍼스를 사용하여, 각각의 n-그램 패턴에 대한 연관 카운트들을 누적하고 각각의 후보 철자 음절 패턴에 대한 확률들을 생성하는 단계
    를 수행하게 하는 시스템.
  27. 제16항에 있어서, 상기 명령어들은, 상기 하나 이상의 프로세서에 의해 실행될 때, 추가로
    특정의 언어로 된 전사된 발화 또는 필기 음성을 포함하는 운용 단어 코퍼스를 저장하는 단계;
    특정의 언어의 단어들의 분철된 발음들 및 대응하는 철자 패턴들을 포함하는 발음 사전을 저장하는 단계;
    상기 발음 사전을 사용하여, 상기 운용 단어 코퍼스를 발음 음절 데이터베이스로 변환하는 단계;
    상기 발음 음절 패턴 데이터베이스를 사용하여, 각각의 n-그램 패턴에 대한 연관 카운트들을 누적하고 각각의 후보 발음 음절 패턴에 대한 확률들을 생성하는 단계
    를 수행하게 하는 시스템.
  28. 제16항에 있어서, 상기 명령어들은, 상기 하나 이상의 프로세서에 의해 실행될 때, 추가로
    상기 시스템에 의해 생성되는 가장 가능성있는 철자 음절 패턴이 타깃 철자 패턴과 매칭하지 않는, 트레이닝 동안;
    예기치 않은 철자 음절 패턴을 포함하는 다중 음절 시퀀스들의 확장된 컨텍스트를 저장하는 단계;
    인식 시에, 상기 시스템에 의해 생성되는 각각의 철자 음절 패턴을 매칭시켜 그것이 상기 저장된 시퀀스들 중 임의의 것과 매칭하는지를 확인하는 단계; 및
    만약 그렇다면, 상기 확장된 컨텍스트 시퀀스를 저장하고, 만약 그렇지 않다면, 가장 가능성있는 철자 패턴을 저장하는 단계
    를 수행하게 하는 시스템.
  29. 제21항에 있어서, 상기 명령어들은, 상기 하나 이상의 프로세서에 의해 실행될 때, 추가로
    철자 패턴들의 분철된 정준 발음 패턴들에 정렬된 철자 패턴들을 포함하는 발음 사전을 저장하는 단계를 수행하게 하고, 상기 분철은 단어 위치 표기법들을 포함하고 최대 두음 원칙을 사용하여 달성되는 시스템.
  30. 제16항에 있어서,
    상기 생성 심벌 스트림은 컴퓨터 시스템의 디지털적으로 프로그래밍된 로직을 사용하여 텔레비전 프로그램의 오디오 입력으로부터 생성되며,
    상기 명령어들은, 상기 하나 이상의 프로세서에 의해 실행될 때, 추가로 상기 텔레비전 프로그램을 디스플레이하는 디스플레이 디바이스 상에, 상기 특정의 철자 패턴을 상기 텔레비전 프로그램에 대한 캡션으로서 디스플레이하게 하는 단계를 수행하게 하는 시스템.
KR1020207003761A 2017-07-10 2018-07-10 음절 기반 자동 음성 인식 KR20200026295A (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201762530802P 2017-07-10 2017-07-10
US62/530,802 2017-07-10
PCT/US2018/041395 WO2019014183A1 (en) 2017-07-10 2018-07-10 AUTOMATIC SPEECH RECOGNITION BASED ON SYLLABE

Publications (1)

Publication Number Publication Date
KR20200026295A true KR20200026295A (ko) 2020-03-10

Family

ID=64903340

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020207003761A KR20200026295A (ko) 2017-07-10 2018-07-10 음절 기반 자동 음성 인식

Country Status (6)

Country Link
US (2) US10916235B2 (ko)
EP (1) EP3652732B1 (ko)
JP (1) JP7295839B2 (ko)
KR (1) KR20200026295A (ko)
CN (1) CN110870004B (ko)
WO (1) WO2019014183A1 (ko)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20190221208A1 (en) * 2018-01-12 2019-07-18 Kika Tech (Cayman) Holdings Co., Limited Method, user interface, and device for audio-based emoji input
CN112750425B (zh) * 2020-01-22 2023-11-03 腾讯科技(深圳)有限公司 语音识别方法、装置、计算机设备及计算机可读存储介质
CN111667828B (zh) * 2020-05-28 2021-09-21 北京百度网讯科技有限公司 语音识别方法和装置、电子设备和存储介质
CN114079797A (zh) * 2020-08-14 2022-02-22 阿里巴巴集团控股有限公司 直播字幕生成方法及装置和服务端、直播客户端及直播系统
TWI755328B (zh) * 2021-05-24 2022-02-11 中華電信股份有限公司 孩童聲音偵測系統、方法及電腦可讀媒介
US20220382973A1 (en) * 2021-05-28 2022-12-01 Microsoft Technology Licensing, Llc Word Prediction Using Alternative N-gram Contexts
CN117524198B (zh) * 2023-12-29 2024-04-16 广州小鹏汽车科技有限公司 语音识别方法、装置及车辆

Family Cites Families (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3812291A (en) * 1972-06-19 1974-05-21 Scope Inc Signal pattern encoder and classifier
US6108627A (en) * 1997-10-31 2000-08-22 Nortel Networks Corporation Automatic transcription tool
US6138099A (en) * 1998-10-19 2000-10-24 International Business Machines Corp. Automatically updating language models
JP2001195087A (ja) * 2000-01-06 2001-07-19 Mitsubishi Electric Corp 音声認識システム
US7747434B2 (en) * 2000-10-24 2010-06-29 Speech Conversion Technologies, Inc. Integrated speech recognition, closed captioning, and translation system and method
US6985861B2 (en) * 2001-12-12 2006-01-10 Hewlett-Packard Development Company, L.P. Systems and methods for combining subword recognition and whole word recognition of a spoken input
KR100467590B1 (ko) * 2002-06-28 2005-01-24 삼성전자주식회사 발음 사전 갱신 장치 및 방법
US7558732B2 (en) * 2002-09-23 2009-07-07 Infineon Technologies Ag Method and system for computer-aided speech synthesis
KR100486733B1 (ko) * 2003-02-24 2005-05-03 삼성전자주식회사 음소 결합정보를 이용한 연속 음성인식방법 및 장치
US8412521B2 (en) * 2004-08-20 2013-04-02 Multimodal Technologies, Llc Discriminative training of document transcription system
KR100679042B1 (ko) * 2004-10-27 2007-02-06 삼성전자주식회사 음성인식 방법 및 장치, 이를 이용한 네비게이션 시스템
US20070061143A1 (en) * 2005-09-14 2007-03-15 Wilson Mark J Method for collating words based on the words' syllables, and phonetic symbols
US8135590B2 (en) * 2007-01-11 2012-03-13 Microsoft Corporation Position-dependent phonetic models for reliable pronunciation identification
WO2010067118A1 (en) * 2008-12-11 2010-06-17 Novauris Technologies Limited Speech recognition involving a mobile device
GB0920480D0 (en) * 2009-11-24 2010-01-06 Yu Kai Speech processing and learning
US20110238412A1 (en) * 2010-03-26 2011-09-29 Antoine Ezzat Method for Constructing Pronunciation Dictionaries
WO2012061588A2 (en) * 2010-11-04 2012-05-10 Legendum Pro Vita, Llc Methods and systems for transcribing or transliterating to an iconophonological orthography
US8676574B2 (en) * 2010-11-10 2014-03-18 Sony Computer Entertainment Inc. Method for tone/intonation recognition using auditory attention cues
US8756061B2 (en) * 2011-04-01 2014-06-17 Sony Computer Entertainment Inc. Speech syllable/vowel/phone boundary detection using auditory attention cues
US8825481B2 (en) * 2012-01-20 2014-09-02 Microsoft Corporation Subword-based multi-level pronunciation adaptation for recognizing accented speech
US20130325449A1 (en) * 2012-05-31 2013-12-05 Elwha Llc Speech recognition adaptation systems based on adaptation data
CN103578464B (zh) 2013-10-18 2017-01-11 威盛电子股份有限公司 语言模型的建立方法、语音辨识方法及电子装置
CN103578465B (zh) * 2013-10-18 2016-08-17 威盛电子股份有限公司 语音辨识方法及电子装置
US9589562B2 (en) * 2014-02-21 2017-03-07 Microsoft Technology Licensing, Llc Pronunciation learning through correction logs
KR102117082B1 (ko) * 2014-12-29 2020-05-29 삼성전자주식회사 음성 인식 방법 및 음성 인식 장치
EP3958255A1 (en) * 2015-01-16 2022-02-23 Samsung Electronics Co., Ltd. Method and device for performing voice recognition

Also Published As

Publication number Publication date
EP3652732A4 (en) 2021-03-17
EP3652732C0 (en) 2023-08-16
CN110870004A (zh) 2020-03-06
EP3652732B1 (en) 2023-08-16
CN110870004B (zh) 2023-09-12
JP7295839B2 (ja) 2023-06-21
US10916235B2 (en) 2021-02-09
US20190013009A1 (en) 2019-01-10
WO2019014183A1 (en) 2019-01-17
EP3652732A1 (en) 2020-05-20
US20210193117A1 (en) 2021-06-24
JP2020527253A (ja) 2020-09-03

Similar Documents

Publication Publication Date Title
US20210193117A1 (en) Syllable based automatic speech recognition
US6973427B2 (en) Method for adding phonetic descriptions to a speech recognition lexicon
JP4791984B2 (ja) 入力された音声を処理する装置、方法およびプログラム
Sainath et al. No need for a lexicon? evaluating the value of the pronunciation lexica in end-to-end models
US20180137109A1 (en) Methodology for automatic multilingual speech recognition
CN107705787A (zh) 一种语音识别方法及装置
WO2020226948A1 (en) Phoneme-based contextualization for cross-lingual speech recognition in end-to-end models
US8849668B2 (en) Speech recognition apparatus and method
CN111243599B (zh) 语音识别模型构建方法、装置、介质及电子设备
JPWO2007097176A1 (ja) 音声認識辞書作成支援システム、音声認識辞書作成支援方法及び音声認識辞書作成支援用プログラム
JP2019012095A (ja) 音素認識辞書生成装置および音素認識装置ならびにそれらのプログラム
JP2019020597A (ja) エンドツーエンド日本語音声認識モデル学習装置およびプログラム
JP2010139745A (ja) 統計的発音変異モデルを記憶する記録媒体、自動音声認識システム及びコンピュータプログラム
CN112133285B (zh) 语音识别方法、装置、存储介质和电子设备
US12080283B2 (en) Multilingual re-scoring models for automatic speech recognition
Pellegrini et al. Automatic word decompounding for asr in a morphologically rich language: Application to amharic
Fenghour et al. Disentangling homophemes in lip reading using perplexity analysis
JP4733436B2 (ja) 単語・意味表現組データベースの作成方法、音声理解方法、単語・意味表現組データベース作成装置、音声理解装置、プログラムおよび記憶媒体
JP5120749B2 (ja) 木構造辞書を記録した記憶媒体、木構造辞書作成装置、及び木構造辞書作成プログラム
CN113421587B (zh) 语音评测的方法、装置、计算设备及存储介质
WO2014035437A1 (en) Using character describer to efficiently input ambiguous characters for smart chinese speech dictation correction
US20240185844A1 (en) Context-aware end-to-end asr fusion of context, acoustic and text presentations
Koo A weighted finite-state transducer implementation of phoneme rewrite rules for english to korean pronunciation conversion
KR20140077423A (ko) 음성인식기의 언어모델 저장방법
JP2006113269A (ja) 発音系列認識装置、発音系列認識方法及び発音系列認識プログラム

Legal Events

Date Code Title Description
N231 Notification of change of applicant
A201 Request for examination