KR20180064504A - 개인화된 엔티티 발음 학습 - Google Patents

개인화된 엔티티 발음 학습 Download PDF

Info

Publication number
KR20180064504A
KR20180064504A KR1020187013090A KR20187013090A KR20180064504A KR 20180064504 A KR20180064504 A KR 20180064504A KR 1020187013090 A KR1020187013090 A KR 1020187013090A KR 20187013090 A KR20187013090 A KR 20187013090A KR 20180064504 A KR20180064504 A KR 20180064504A
Authority
KR
South Korea
Prior art keywords
pronunciation
entity name
phonetic
utterance
audio data
Prior art date
Application number
KR1020187013090A
Other languages
English (en)
Other versions
KR102100389B1 (ko
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 KR20180064504A publication Critical patent/KR20180064504A/ko
Application granted granted Critical
Publication of KR102100389B1 publication Critical patent/KR102100389B1/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
    • G10L15/00Speech recognition
    • G10L15/22Procedures used during a speech recognition process, e.g. man-machine dialogue
    • 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
    • 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/065Adaptation
    • 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/26Speech to text systems
    • 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/0635Training updating or merging of old and new templates; Mean values; Weighting
    • 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/0635Training updating or merging of old and new templates; Mean values; Weighting
    • G10L2015/0636Threshold criteria for the updating
    • 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/22Procedures used during a speech recognition process, e.g. man-machine dialogue
    • G10L2015/223Execution procedure of a spoken command

Landscapes

  • Engineering & Computer Science (AREA)
  • Computational Linguistics (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • Acoustics & Sound (AREA)
  • Multimedia (AREA)
  • Artificial Intelligence (AREA)
  • Electrically Operated Instructional Devices (AREA)
  • Machine Translation (AREA)

Abstract

발음 사전을 구현하기 위한, 컴퓨터 저장 매체 상에 인코딩된 컴퓨터 프로그램을 포함하는 방법, 시스템 및 디바이스를 개시한다. 상기 방법은 명령 및 엔티티 이름을 포함하는 발화(utterance)에 대응하는 오디오 데이터를 수신하는 단계를 포함한다. 또한, 본 방법은, 자동 음성 인식기에 의해, 상기 엔티티 이름과 관련되는 오디오 데이터의 부분에 대한 초기 전사((transcribing)를 생성하는 단계; 상기 엔티티 이름과 연관되고 상기 초기 전사와 상이한 발화의 부분에 대한 교정 전사를 수신하는 단계; 상기 엔티티 이름과 연관되고 상기 초기 전사과 상이한 발화의 부분에 대한 교정 전사를 수신하는 것에 응답하여, 상기 엔티티 이름과 관련된 상기 오디오 데이터의 부분과 연관되는 음성 발음을 획득하는 단계; 상기 음성 발음을 상기 엔티티 이름과 관련시키기 위해 발음 사전을 업데이트하는 단계; 상기 엔티티 이름을 포함하는 후속 발화를 수신하는 단계; 및 상기 업데이트된 발음 사전에 적어도 부분적으로 기초하여 상기 후속 발화를 전사하는 단계를 포함한다. 향상된 음성 인식 및 더 고 품질의 전사를 제공할 수 있다.

Description

개인화된 엔티티 발음 학습
본 발명은 일반적으로 음성 인식에 관한 것이다.
디바이스의 사용자는, 예를 들어, 마우스 또는 터치 패드를 사용하여 디스플레이된 아이템 그룹으로부터 선택을 하고, 키보드를 통해 문자를 입력하거나, 또는 마이크로폰에 음성 명령을 말하는 것을 포함하는 여러가지의 상이한 방식으로 디바이스와 상호 작용할 수 있다. 음성 명령을 처리할 때, 자동 음성 인식기(automated speech recognizer:ASR)는 화자가 발음 사전의 단어와 연관된 표준 발음(canonical pronunciation)에서 벗어나는 특정 단어의 발음을 사용하는 경우 음성 명령을 정확히 인식하는 못할 수 있다.
본 발명의 양태들은 모바일 디바이스와의 사용자 상호 작용(interaction)에 기초하여 엔티티 이름의 상이한 비표준 발음을 저장할 수 있는 발음 사전의 구현을 용이하게 할 수 있다. 일부 경우에서, 발음 사전은 특정 단어에 대한 사용자 발음을 변경시킬 수 있는 사용자 음성의 고유한 특징(feature)에 적응할 수 있다. 예를 들어, 발음 사전은 엔티티 이름 "Mara"가 "MAW·rra"의 음성 발음에 대응하도록 초기화될 수 있다. 그러나, 본 발명의 양태들을 이용하면, 발음 사전은 특정 사용자가 엔티티 이름 "Mara"를 "MA·ra"로 발음한다는 것을 학습할 수 있다. 따라서, 발음 사전은 특정 사용자와의 상호 작용에 기초하여 발음 "MA·ra"와 엔티티 이름 "Mara"를 연관시키는 것을 학습할 수 있다. 본 발명의 양태들을 이용하면, 향상된 음성 인식 및 보다 고품질의 전사(transcription)가 제공될 수 있다.
일부 양태들에서, 본 명세서에서 구현된 주제는 명령 및 엔티티 이름을 포함하는 발화(utterance)에 대응하는 오디오 데이터를 수신하는 동작을 포함할 수 있는 방법들로 구현될 수 있다. 추가적인 동작들은, 자동 음성 인식기에 의해, 엔티티 이름과 관련되는 오디오 데이터의 부분에 대한 초기 전사를 생성하는 단계, 엔티티 이름과 관련되고 초기 전사와 상이한 상기 발화의 부분에 대한 교정(correct) 전사를 수신하는 단계, 엔티티 이름과 연관되고 초기 전사와 상이한 발화의 부분에 대한 교정 전사를 수신하는 것에 응답하여, 상기 엔티티 이름과 관련되는 상기 오디오 데이터의 부분과 연관되는 음성 발음을 획득하는 단계, 음성 발음을 엔티티 이름과 관련시키기 위해 발음 사전을 업데이트하는 단계, 엔티티 이름을 포함하는 후속 발화를 수신하는 단계, 및 업데이트된 발음 사전에 적어도 부분적으로 기초하여 상기 후속 발화를 전사하는 단계를 포함할 수 있다.
다른 버전은 대응하는 시스템, 장치, 컴퓨터 저장 디바이스에 인코딩된 방법의 동작을 수행하도록 구성된 컴퓨터 프로그램, 및 컴퓨팅 장치로 하여금 방법의 동작들을 수행하도록 구성된 컴퓨터 프로그램을 포함한다.
이들 및 다른 버전들은 각각 선택적으로 다음의 특징들 중 하나 이상을 포함할 수 있다. 예를 들어, 일부 구현예에서, 엔티티 이름과 관련되고 초기 전사와 상이한 발화의 부분에 대한 교정 전사를 수신하는 단계는, 하나 또는 다수의 엔티티 이름의 디스플레이로부터 엔티티 이름의 선택을 나타내는 데이터를 수신하는 단계, 또는 키패드를 통해 입력되고 엔티티 이름을 나타내는 하나 또는 다수의 문자를 나타내는 데이터를 수신하는 단계를 포함할 수 있다.
일부 양태들에서, 발음 사전을 업데이트하는 단계는, 엔티티 이름과 관련된 발음 사전 항목을 식별하는 단계, 초기 전사의 음성 발음에 대응하는 항목의 부분을 삭제하는 단계, 및 엔티티 이름과 관련된 발음 사전 항목에, 상기 획득된 음성 발음과 관련된 음성 발음을 저장하는 단계를 더 포함할 수 있다.
특정 구현예들에서, 상기 방법은 수신된 오디오 데이터의 적어도 일부와 타임 스탬프를 관련시키는 단계, 및 발화의 교정 전사가 식별되고 수신된 발화와 관련된 명령이 완료될 때까지 상기 수신된 오디오 데이터의 하나 이상의 부분을 캐싱하는 단계를 위한 동작들을 포함할 수 있다. 그러한 구현예들에서, 엔티티 이름과 관련된 오디오 데이터의 부분과 관련되는 음성 발음을 획득하는 단계는, 수신된 오디오 데이터의 적어도 일부와 관련된 타임 스탬프에 기초하여 가장 최근에 수신된 오디오 데이터의 부분을 획득하는 단계, 및 음향 모델을 이용하여 획득된 음소 세트에 기초하여 가장 최근에 수신된 상기 오디오 데이터의 상기 획득된 부분의 음성 발음을 생성하는 단계를 포함할 수 있다.
또 다른 구현예에서, 상기 방법은 획득된 음성 발음을 포함하도록 발음 사전을 업데이트하는 것에 응답하여, 음성 발음과 관련된 글로벌 카운터를 증가시키는 단계를 포함하는 동작들을 포함할 수 있다.
이러한 구현예들에서, 상기 방법은 음성 발음과 연관된 글로벌 카운터가 사전 결정된 임계치를 초과하는지결정하는 단계, 및 음성 발음과 연관된 글로벌 카운터가 사전 결정된 임계치를 초과한다는 결정에 응답하여, 교정 전사와 관련된 음성 발음을 포함하도록 엔티티 이름과 관련되는 범용 발음 사전 내의 발음 사전 항목을 업데이트하는 단계를 포함할 수 있다.
하나 이상의 구현예들의 세부 사항은 첨부 도면 및 이하의 설명에서 설명된다. 다른 특징 및 이점은 상세한 설명 및 도면 및 청구 범위로부터 명백해질 것이다.
도 1A 및 도 1B는 개인화된 엔티티 이름 발음들을 학습하기 위한 시스템의 특징을 도시하는 문맥(contextual) 다이어그램이다.
도 2는 개인화된 범용 발음 사전에서 연락처 발음을 학습하는데 이용될 수 있는 프로세스의 일 예의 흐름도이다.
도 3은 범용 발음 사전에서 엔티티 발음을 학습하는데 이용될 수 있는 프로세스의 일 예에 대한 흐름도이다.
도 1A는 개인화된(personalized) 엔티티 이름 발음을 학습하기 위한 시스템(100A)의 특징을 나타내는 문맥 다이어그램이다. 시스템(100A)은 사용자(100), 사용자의 모바일 디바이스(120) 및 서버(130)를 포함할 수 있다. 모바일 디바이스(120)는 하나 이상의 유선 또는 무선 네트워크를 통해 서버(130)와 통신160, 162, 164)할 수 있다. 네트워크는 예를 들어 무선 셀룰러 네트워크, 무선 근거리 통신망(WLAN) 또는 Wi-Fi 네트워크, 제3세대(3G) 또는 제4세대(4G) 이동 통신 네트워크, 인트라넷과 같은 사설 네트워크 , 인터넷과 같은 공용 네트워크, 또는 이들의 임의의 조합일 수 있다. 모바일 디바이스(120)는 이동 전화, 스마트 폰, 스마트 워치, 태블릿 컴퓨터, 랩탑 또는 데스크탑, 전자북 리더, 음악 재생기, PDA, 또는 하나 이상의 프로세서 및 컴퓨터 판독 가능 매체를 포함할 수 있는 다른 고정형 또는 휴대형 디바이스일 수 있다.
사용자의 모바일 디바이스(120)는 하나 이상의 물리적 버튼(121A, 121B, 121c), 그래픽 사용자 인터페이스(122), 마이크로폰(125) 및 출력 스피커(126)를 포함할 수 있다. 물리적 버튼(121A, 121B, 121c) 각각은 물리적 버튼의 사용자 선택에 응답하여 특정 기능을 수행하도록 구성될 수 있다. 예를 들어, 물리적 버튼 (121A, 121B, 121c)은 전원 버튼, 볼륨 버튼, 홈 버튼 등일 수 있다. 일 구현예에서, 물리적 버튼(121A)과 같은 물리적 버튼은 물리적 버튼(121A)의 선택시에 마이크로폰(125)을 활성화시키도록 구성될 수 있다. 그래픽 사용자 인터페이스(122)는 스타일러스, 사용자의 손가락 또는 다른 포인팅 도구를 사용하여 사용자(100)에 의해 입력될 수 있는 탭(tap), 제스처 등의 형태로 입력을 수신하도록 구성된 용량성 터치 스크린 인터페이스를 포함할 수 있다.
그래픽 사용자 인터페이스(122)는 하나 이상의 상이한 부분으로 구성될 수 있다. 그래픽 사용자 인터페이스(122)의 상이한 부분 각각은 필요에 따라 개별적으로 또는 한 번에 하나씩 디스플레이될 수 있다. 대안적으로, 그래픽 사용자 인터페이스(122)의 하나 이상의 상이한 부분은 도 1A에 도시된 바와 같이, 분할 화면과 동시에 디스플레이될 수 있다. 예를 들어, 그래픽 사용자 인터페이스의 제1 부분은 하나 이상의 선택 가능한 아이콘들(123)의 디스플레이를 제공할 수 있다. 선택 가능한 아이콘들(123)은 각각 특정 명령, 특정 애플리케이션, 하나 이상의 애플리케이션들을 그룹화하는 폴더 등에 대응할 수 있다. 일부 예에서, 선택 가능한 아이콘은 하나 이상의 물리적 버튼(121A, 121B, 121c) 대신에 이용될 수 있다. 예를 들어, 선택 가능한 아이콘은 홈 버튼으로서 기능하도록 제공될 수 있다. 대안적으로, 예를 들어, 선택 가능한 아이콘은 마이크로폰(125)을 활성화시키는데 사용될 수 있다. 다른 구현예에서, 선택 가능한 아이콘은 선택 가능한 아이콘의 선택에 응답하여 특정 애플리케이션을 열도록 구성될 수 있다. 또 다른 구현에서, 선택 가능한 아이콘의 선택은 각각이 특정 애플리케이션 또는 중첩된(nested) 폴더에 대응하는 추가의 선택 가능한 아이콘의 디스플레이를 트리거하는 폴더를 열 수 있다.
그래픽 사용자 인터페이스(122)의 다른 부분들은 사용자(100)로부터의 추가 정보에 대한 하나 이상의 프롬프트(124)를 제공할 수 있는 디스플레이를 포함할 수 있다. 예를 들어, 디스플레이는 발성된 발화의 적어도 일부의 전사(transcription)에 관련된 사용자 입력에 대한 프롬프트(124)를 제공할 수 있다. 대안적으로, 디스플레이 스크린은 사용자에게 전화 호출의 현재 상태의 표시(indication)를 제공하도록 구성될 수 있다(도 1B 참조). 그러나 다른 유형의 데이터가 그래픽 사용자 인터페이스(122)의 대응 부분에 디스플레이될 수 있다.
서버(130)는 각각 프로세서(132) 및 메모리(134)를 포함하는 하나 이상의 컴퓨팅 디바이스로 구성될 수 있다. 프로세서(132)는 메모리(134)에 저장된 애플리케이션과 관련된 명령들을 실행하도록 구성된 하나 이상의 프로세서로 구성될 수 있다. 메모리(134)는 동일하거나 상이한 유형(들)의 저장 디바이스들로 구성될 수 있는 하나 이상의 메모리 유닛을 포함할 수 있다. 예를 들어, 메모리(134)는 실행중인 애플리케이션을 저장하도록 구성된 RAM 부분을 포함할 수 있다. 선택적으로 또는 부가적으로, 메모리(134)는 필요에 따라 액세스되고 메모리(134)의 RAM 부분으로 전송될 수 있는 데이터를 저장하도록 구성될 수 있는 하나 이상의 데이터 저장 유닛을 포함할 수 있다.
메모리(130)에 저장된 애플리케이션은 예를 들어 자동 음성 인식기(140) 및 개인(personalized) 발음 사전(150)을 포함할 수 있다. 자동 음성 인식기(140)는, 예를 들어 모바일 디바이스(120)로부터 수신된 오디오 신호(114)의 하나 이상의 부분을 다른 형태의 미디어로 변환하는 것과 같은 기능들(capabilities)을 용이하게 할 수 있다. 예를 들어, 자동 음성 인식기(140)는 수신된 오디오(114)를 텍스트로 변환할 수 있다. 수신된 오디오 신호들(114)을 텍스트로 변환하는 것은, 예를 들어, 수신된 오디오 신호들(114)의 전부 또는 일부와 관련될 가능성이 높은 음소들(phonemes)의 세트를 식별하기 위해 음향 모델을 이용하는 것을 포함할 수 있다. 그 다음, 식별된 음소 세트는 음성(phonetic) 발음에 매핑될 수 있다.
일부 구현예에서, 음성 발음은 예를 들어, 개인 발음 사전 (150)의 특정 항목(entry)에 대응하는 특정 엔티티 이름을 고유하게 식별할 수 있다. 따라서, 자동 음성 인식기(140) 또는 서버(130)의 다른 구성 요소는 음성 발음을 사용하여 사용자의 개인 발음 사전(150)으로부터 대응하는 엔티티 이름을 검색할 수 있다. 그러나, 특정 예에서, 자동 음성 인식기(140)는 개인 발음 사전(150)이 획득된 음성 발음에 의해 충분히 식별될 수 있는 임의의 엔티티 이름을 포함하지 않는다고 결정할 수 있다. 그러한 경우, 자동 음성 인식기(140)는 모바일 디바이스(120)에게 최고의 이용 가능한(best available) 전사(116)를 리턴할 수 있다(162). 최고의 이용 가능한 전사(116)는 획득된 발성적 발음에 대응하는 개인 발음 사전 (150) 내의 가장 유사한(closest) 엔티티 이름일 수 있다. 대안적으로, 예를 들어, 최선의 이용 가능한 전사(116)는 하나 이상의 다른 음성 변환 어플리케이션, 사전 등을 사용하여 자동 음성 인식기(140)에 의해 생성된 전사일 수 있다.
개인 발음 사전(150)은 특정 엔티티와 관련된 정보를 각각 포함하는 다수의 항목을 포함할 수 있다. 예를 들어, 스테이지(stage) "A"의 개인 발음 사전(152)은 연락처 이름(152a) 및 발음(152b)을 각각 포함하는 하나 이상의 항목을 포함할 수 있다. 스테이지 "A"에서의 개인 발음 사전(150)은 각 엔티티 이름(152a)에 대한 음성 발음의 디폴트 세트(152b)로 초기화될 수 있다. 음성 발음의 디폴트 세트는 각 개별 엔티티 이름(152a)의 전형적인 발음(152b)에 기초할 수 있다. 전형적인 발음은 예를 들어, 표준 사전에 의해 단어와 연관된 발음일 수 있다. 또한 사용자의 음성 특성은 시간이 지남에 따라 변할 수 있고 각각 다른 음성 특성을 갖는 동일한 전화의 다수의 사용자가 있을 수도 있다. 따라서, 전형적인 발음은 또한 예를 들어 사용자가 과거의 어느 시점에서 엔티티 이름과 연관된 발음일 수 있다.
그러나, 개인 발음 사전(150)은 시스템(100A)의 사용자(100)와의 상호 작용에 기초하여 상이한 발음들을 저장하도록 구성될 수 있다. 결과적으로, 특정 엔티티와 관련된 특정 음성 발음은 시간이 경과함에 따라 변경될 수 있다. 제1 스테이지 "A"에서의 특정 엔티티 이름(152a)에 대한 음성 발음(152b)의 이러한 변경은 제1 스테이지 "A"에서의 개인 발음 사전(152)으로부터 제2 스테이지 "B"에 있는 대응하는 개인 발음 사전(154)으로의 천이에 관하여 도 1에 도시될 수 있다. 스테이지 "B"의 개인 발음 사전(154)은 스테이지 "A"의 개인 발음 사전(152)에서 엔티티 "푸천(Fuchun)"과 이전에 연관되었던 "Fyoo·chuh·n"의 전형적인 발음으로부터 엔티티 "Fuchun"에 대한 발음이 "Fawr·chuh·n"으로 갱신되었음을 나타낸다. 개인 발음 사전(150)은 예를 들어 국제 음성 기호(IPA), 확장된 음성 평가 방법 음성 기호(X-SAMPA) 등을 포함하는 임의의 유형의 발음 시스템에 기초하여 임의의 유형의 발음을 저장하도록 구성될 수 있다 .
일 양태에서, 사용자(100)는 모바일 디바이스(120)의 마이크로폰(125)을 활성화시키는 모바일 디바이스(120)로 입력을 제공할 수 있다. 예를 들어, 사용자 (100)는 마이크로폰(125)을 활성화시키는 물리적 버튼(121A)을 선택할 수 있다. 대안적으로, 마이크로폰(125)은 사용자가 특정 음성 명령을 발화함으로써 활성화될 수 있다. 예를 들어, 마이크로폰(125)은 특정 활성화 명령을 검출하기 위해 마이크로폰(125)의 범위 내의 모든 사운드를 수동적으로 청취하도록 구성될 수 있다. 일단 마이크로폰(125)이 특정 활성화 명령을 검출하면, 마이크로폰(125)은 동작 모드를 사용자(100)로부터의 후속 음성 명령을 포착할 수 있는 액티브 청취 모드로 변경할 수 있다.
일단 마이크로폰이 활성화되면, 사용자(100)는 사용자의 모바일 디바이스 (120)와 관련된 마이크로폰(125)에 의해 검출될 수 있는 발화(utterance)(110)를 발성할 수 있다. 발화(110)는 명령(110a) 및 엔티티 이름(110b)을 포함할 수 있다. 예를 들어, 도 1의 예에서, 사용자(100)는 "푸천 호출(Call Fuchun)"(110)과 같은 발화를 발성할 수 있다. 발화(110)와 연관된 명령(110a)은 "호출" 명령이다. "호출" 명령은 엔티티와의 음성 또는 비디오 통신을 위한 접속을 개시할 수 있다. 이 예에서, 발화(110)는 또한 호출될 엔티티로서 엔티티(110b) "푸천(Fuchun)"을 식별한다.
이 경우에, 엔티티의 일 예는 호출될 수 있는 개인 연락처의 이름으로 기재되지만, 본 명세서에 개시된 엔티티는 그렇게 제한되어서는 안된다. 대신에, 엔티티는 예를 들어 어떤 사람, 장소 또는 사물에 대한 임의의 식별자를 포함할 수 있다. 예를 들어, 엔티티 이름은 CityZen과 같은 레스토랑의 이름을 포함할 수 있다. 또는 예를 들어, 엔티티 이름에 거리 이름, 예를 들어 워싱턴 파이크 또는 심지어 예를 들어 1599 Washington Pike와 같은 거리 주소를 포함할 수 있다. 다른 구현에서 엔티티 이름은 캘리포니아 주 라호야(La Jolla, California)와 같은 도시 및/또는 주일 수 있다. 또 다른 구현예에서, 엔티티 이름은 예를 들어, 요세미티 국립 공원과 같은 랜드마크를 포함할 수 있다. 다른 유형의 엔티티 이름들이 본 발명에 의해 이용될 수 있다.
발화(110)의 각 부분은 사용자(100)의 음성과 관련된 특성에 기초하여 고유하게(uniquely) 발음될 수 있다. 사용자(100)의 음성의 특성은 예를 들어 사용자의 100 악센트, 음소(phoneme) 선택, 선호도(preference) 등을 포함할 수 있으며, 각각은 특정 엔티티 이름(110b)의 사용자(100) 발음에 고유한 영향을 미칠 수 있다. 이 특정 예에서, 엔티티 "Fuchun"의 일반적인 발음은 "Fyoo·chuh·n"일 수 있지만, 사용자(100)는 엔티티 이름 "Fuchun"을 "Fawr·chuh·n"이라고 발음한다. 마이크로폰(125)은 발화(110)와 관련된 오디오 신호를 포착하여, 발화(110)와 관련된 오디오 신호(114)를 제1 스테이지 "A"에서 사용자(100)의 개인 발음 사전(152)을 유지하는 서버(130)로 전송한다(160). 오디오 신호(114)는 명령(110a)에 대응하는 오디오 신호의 제1 부분 및 엔티티 이름(110b)에 대응하는 오디오 신호의 제2 부분을 포함할 수 있다.
서버(130)는 발화(110)에 대응하는 오디오 신호(114)를 수신하고, 수신된 오디오 신호(114)를 자동 음성 인식기(140)로 포워딩할 수 있다. 자동 음성 인식기(140)는 엔티티 이름(110b)에 대응하는 오디오 신호(114)의 일 부분을 추출할 수 있다. 자동 음성 인식기(140)는 타임스탬프를 오디오 신호(114)의 추출된 부분과 연관시킬 수 있고, 오디오 신호(114)의 상기 추출된 부분을 하나 이상의 사용자(100) 음성 발화(110)에 대응할 수 있는 오디오 신호들(114)의 입력되는 부분들을 캐시(cache)하도록 지정된 메모리(134)의 일 부분에 저장할 수 이다. 메모리 (134)는 오디오 신호(114)의 추출된 부분을 무한히 저장할 수 있다. 그러나, 대안적으로, 메모리(134)는 미리 결정된 시간 주기 동안 오디오 신호들(114)의 추출된 부분만을 저장할 수 있다. 예를 들어, 오디오 신호(114)의 추출된 부분은 오디오 신호(114)의 추출된 부분과 연관된 엔티티 이름의 정확한 전사가 결정될 때까지 저장될 수 있다. 선택적으로 또는 부가적으로, 오디오 신호(114)의 추출된 부분은 명령(110a)이 완료될 때까지 저장될 수 있다. 자동 음성 인식기(140)는 오디오 신호(114)의 추출된 부분과 가장 관련이 있는 음소의 세트를 식별한 다음, 상기 음소 세트를 음성 발음에 매핑할 수 있다.
도 1A에 도시된 예에 기초하여, 자동 음성 인식기(140)는 사용자(100)에 의해 발음된 엔티티 이름(110b) "Fuchun"에 대한 표음(phonetic transcription )을 "Fawr·chuh·n"으로 생성할 수 있다. 음성 발음 "Fawr·chuh·n"은 임의의 업데이트 이전에 음성 발음 "Fawr·chuh·n"과 관련된 엔티티 이름에 대한 제1 상태 "A"에 존재하는 사용자(100)의 개인 발음 사전(152)을 검색하는데 사용될 수 있다. 스테이지 "A"에서, 개인 발음 사전(152)은 "Fawr·chuh·n"의 음성 발음과 충분히 연관되는 임의의 항목을 포함하지 않는다. 자동 음성 인식 엔진 (140)은 하나 이상의 다른 음성 변환 프로세스를 사용하여 음성 발음 "Fawr·chuh·n"의 가장 가까운 음성 발음을 결정할 수 있다. 도 1A의 예에서, 자동 음성 인식 엔진(140)은 음성 발음에 충분히 대응하는 엔티티 이름이 "Fortune"임을 결정할 수 있고 그에 따라 오디오 신호(114)의 추출된 부분을 전사(transcribe)할 수 있다. 그런 다음 자동 음성 인식 엔진(140)은 서버(130)가 상기 생성된 전사(116)를 다시 사용자(100)의 모바일 디바이스(120)로 전송(162)하도록 요청할 수 있다.
또한, 서버(130)는 전사(116)와 관련될 수 있는 추가 정보를 모바일 디바이스(120)로 전송할 수 있다(162). 예를 들어, 모바일 디바이스(120)로 전송될 수 있는 전사(116)는 스테이지 "A"에서 사용자의 개인 발음 사전(152)이 음성 발음 "Fawr·chuh·n"에 대응하는 임의의 항목을 포함하지 않는다는 표시와 관련될 수도 있다. 선택적으로 또는 부가적으로, 전사(116)는 오디어 신호(114)의 추출된 부분에 대응하는 생성된 음성 발음에 가장 근접한 매칭일 수 있는 스테이지 "A"의 사용자(100)의 개인 발음 사전(152) 내의 하나 이상의 연락처 리스트와 연관될 수 있다. 이 추가 정보는 개인 발음 사전(150)이 사용자(100)에 의해 발성된 고유의 엔티티 발음(112)을 학습하는 것을 돕기 위해 사용될 수 있는 피드백 정보를 사용자(100)에게 프롬프트하기 위해 서버(130)에 의해 모바일 디바이스(120)로 제공될 수 있다.
전사(116) "Fortune" 및 전사(116)와 함께 전송된 추가 정보의 수신에 응답하여, 모바일 디바이스(120)는 전사(116)와 관련된 피드백 정보에 대해 사용자(100)에게 프롬프트(124)할 수 있다. 모바일 디바이스(120)는 예를 들어, 스테이지 "A"의 사용자(100)의 개인 발음 사전(152)이 전사 "Fortune"에 대응하는 임의의 항목을 포함하지 않는다는 표시와 상기 수신된 전사(116)가 관련이 있다고 결정한 것에 응답하여, 프롬프트를 생성할 수 있다. 프롬프트(124)는 예를 들어, 전사(116)를 생성하는데 사용된 음성 발음에 가장 근접한 매칭인 스테이지 "A"에서 사용자(100)의 개인 발음 사전(152)에 저장된 하나 이상의 연락처 이름의 리스트를 제공할 수 있다. 일 실시예에서, 프롬프트(124)는 사용자가 "Fawr·chuh·n"(112)으로 발음된 엔티티 이름으로 음성 발화(110)를 발성했을 때 사용자(100)가 호출하고자 하는 연락처 이름을 선택하도록 사용자에게 요청할 수 있다. 예를 들어, 사용자(100)에게 제공된 연락처 이름의 리스트는 Fuchini, Fucili 및 Fuchun을 포함할 수 있으며, 각각은 상태 "A"에서 사용자(100)의 개인 발음 사전(152)의 항목와 연관될 수 있다. 일부 구현예에서 제공되는 연락처 이름의 리스트는 엔티티 이름의 사용자의 고유 발음과 음성적으로 유사하지 않을 수 있다. 예를 들어, 프롬프트에서 제공된 연락처 이름의 리스트는 예를 들면 Edwin, Fuchun 및 Steve와 같이 음성적으로 관련이 없는 엔티티 이름일 수 있다. 프롬프트(124)에 응답하여, 사용자(100)는 발화(110)에서 발성된 엔티티 이름이 "Fuchun"이라는 것을 알기 때문에 사용자는 "Fuchun"을 선택한다. 사용자(100)의 "Fuchun"(100) 선택에 응답하여, 모바이루 디라비스(120)는 "Fuchun"에 대한 호출을 개시할 수 있고, 또한 서버(130)로 피드백 정보(118)를 전송(164)할 수 있다.
모바일 디바이스(120)는 또한 사용자(100)로부터 피드백을 얻기 위해 오디오 프롬프트를 사용할 수 있다. 예를 들어, 전사(116)의 수신 및 전사(116)와 함께 전송된 추가 정보에 응답하여, 모바일 디바이스(120)는 사용자(100)에게 "포춘 호출(Call Fortune) ?"을 원하는지 사용자에게 질의(ask)할 수 있다. 그러한 예에서, 사용자(100)는 사용자(100)가 "Fortune"에 전화하기를 원한다는 것을 확인 또는 부정하는지에 대한 표시를 제공하는 하나 이상의 후속 발화을 제공할 수 있다. 선택적으로 또는 부가적으로, 사용자(100)는 사용자(100)가 호출하려고 하는 엔티티의 이름을 타이핑할 수 있다. 다른 유형의 피드백 정보가 또한 사용자(100)에 의해 제공될 수 있다. 이러한 피드백 정보는 피드백 정보(118)와 동일한 방식으로 서버(130)로 유사하게 전송될 수 있으며, 후술하는 바와 같이 피드백 정보(118)와 유사한 방식으로 사용될 수 있다.
서버(130)는 피드백 정보(118)를 수신하여, 피드백 정보(118)를 자동 음성 인식기(140)로 전송할 수 있다. 피드백 정보(118)는 예를 들어 프롬프트(124)에 응답하여 사용자(100)가 입력하는 엔티티 이름의 표시를 포함할 수 있다. 이 경우, 피드백 정보(118)는 사용자가 엔티티 이름 "Fuchun"을 선택했음을 나타낼 수 있다. 또한, 그 이전, 이후 또는 실질적으로 동시에, 자동 음성 인식기(140)는 원래 수신되고, 저장되고 그리고 타임스탬프화된 오디오 신호들(114)의 추출된 부분을 검색할 수 있다. 오디오 신호들(114)의 추출된 부분은 사용자가 발화(110)를 발성할 때 사용자(100)에 의해 유일하게 발음된(112) 엔티티 이름(110b)에 대응할 수 있다. 자동 음성 인식기(140)는 오디오 신호들(114)의 추출된 부분과 관련된 타임스탬프에 기초하여 오디오 신호들(114)의 추출된 부분을 검색할 수 있다. 예를 들어, 일 실시예에서, 자동 음성 인식기(140)는 연관된 타임스탬프에 기초하여 가장 최근에 수신되고, 추출되고, 저장된 오디오 신호(140)의 추출된 부분을 획득할 수 있다.
자동 음성 인식기(140)는 오디오 신호(114)의 추출된 부분 및 피드백 정보(118)를 이용하여 개인 발음 사전(150)에 엔티티 이름(110b)의 사용자(100)의 고유 발음(112)을 교시(teach)할 수 있다. 예를 들어, 자동 음성 인식기(140)는 전술한 바와 같이 오디오 신호(114)의 추출된 부분에 대한 음성 발음을 생성할 수 있다. 대안적으로, 자동 음성 인식기(140)는 오디오 신호(114)의 원래(original) 수신에 응답하여, 생성되어 저장되었을 수도 있는 오디오 신호(114)의 추출된 부분에 대응하는 미리 생성된 음성 발음을 검색할 수 있다. 이 경우, 발성된 발화(110)에서 엔티티 이름(110b)의 사용자(100) 고유 발음(112)에 해당하는 오디오 신호(114)의 추출된 부분의 음성 발음은 ""Fawr·chuh·n"일 수 있다. 그런 다음 자동 음성 인식기(140)는 엔티티 이름(152) "Fuchun"에 대응하는 개인 발음 사전(152)의 항목을 식별할 수 있다. 다음으로, 자동 음성 인식기(140)는 항목의 "Fyoo·chuh ·n"의 초기 발음이 사용자의 고유 발음 "Fawr·chuh·n"으로 대체되도록 엔티티 "Fuchun"과 관련된 개인 발음 사전 항목을 업데이트할 수 있다. 엔티티 이름 "Fuchun"과 관련된 항목에 대응하는 초기 발음을 사용자(100)의 고유 발음 "Fawr·chuh·n"으로 대체하는 것은 사용자의 개인 발음 사전(150)을 스테이지 "B"로 천이시킨다. 스테이지 "B"에서, 사용자(100)의 개인 발음 사전(154)은 엔티티 이름 154a "Fuchun"을 사용자(100)의 고유 발음 "Fawr·chuh·n"과 연관시키는 항목을 포함한다.
도 1B는 개인 연락처 발음을 학습하기 위한 시스템(100B)의 특징을 나타내는 문맥적 도면이다. 시스템(100B)은 도 1에 도시된 시스템(100A)과 실질적으로 유사할 수 있다. 그러나, 시스템(100B)은 엔티티 이름 "Fuchun"의 사용자(100) 고유 발음(112)을 학습한 후에 스테이지 "B"로 천이된 사용자의 개인 발음 사전(154)을 이용할 수 있다.
일단 마이크로폰이 활성화되면, 사용자(100)는 사용자의 모바일 디바이스 (120)와 관련된 마이크로폰(125)에서 검출될 수 있는 발화(210)를 발성할 수 있다. 발화(210)는 시스템(100A)의 예에서 사용자(100)에 의해 발성된 발화(110)와 실질적으로 동일한 발화일 수 있다. 예를 들어, 사용자(100)는 시스템(100A)의 예에서 엔티티 이름 "Fuchun"을 유일하게 발음한 것과 동일하거나 실질적으로 유사한 방식으로 엔티티 이름(210b) "Fuchun"을 "Fawr·chuh·n"으로 유일하게 발음할 수 있다. 유사하게, 발성된 발화(210)와 연관된 명령(210a)은 발성된 발화(110)와 관련된 동일한 "Call" 명령이다. 그러나, 시스템(100B)은 스테이지 "B"에서 사용자의 개인 발음 사전(154)이 엔티티 이름 "Fuchun"의 사용자(100) 고유 발음을 학습했기 때문에 발화(210)에 대응하는 오디오 신호를 다르게 처리할 수 있다.
마이크로폰(125)은 발화(210)와 관련된 오디오 신호를 포착(capture)할 수 있으며, 발화(210)와 관련된 오디오 신호(214)를 제2 스테이지 "B"에서 사용자의 개인 발음 사전(154)을 유지하는 서버(130)로 전송한다(260). 오디오 신호(214)는 명령(210a)에 대응하는 오디오 신호의 제1 부분 및 엔티티 이름(210b)에 대응하는 오디오 신호의 제2 부분을 포함할 수 있다. 오디오 신호들(214)은 발성된 발화(110)와 실질적으로 유사한 발성된 발화들(210)에 대응하므로, 오디오 신호들 (214)은 오디오 신호들(114)과 실질적으로 유사할 수 있다
서버(130)는 발화(210)에 대응하는 오디오 신호들(214)을 수신하여, 수신된 오디오 신호들(214)을 자동 음성 인식기(140)로 전송할 수 있다. 자동 음성 인식기(140)는 엔티티 이름(210b)에 대응하는 오디오 신호들(214)의 부분을 추출할 수 있다. 자동 음성 인식기(140)는 오디오 신호(214)의 추출된 부분과 타임스탬프를 연관시킬 수 있고, 하나 이상의 사용자(100) 음성 발화(110)에 대응할 수 있는 오디오 신호들(214)의 입력 부분(incoming portions)을 캐싱하도록 지정된 메모리(134)의 일부에 오디오 신호들(214)의 추출된 부분을 저장할 수 있다. 메모리 (134)는 오디오 신호들(214)의 추출된 부분을 무한히 저장할 수 있다. 그러나, 대안적으로, 메모리(134)는 미리 결정된 시간 주기 동안 오디오 신호(214)의 추출된 부분만을 저장할 수 있다. 예를 들어, 오디오 신호(214)의 추출된 부분은 오디오 신호(215)의 추출된 부분과 관련된 엔티티 이름의 정확한 전사가 결정될 때까지 저장될 수 있다. 선택적으로 또는 부가적으로, 오디오 신호(214)의 추출된 부분은 명령(210a)이 완료될 때까지 저장될 수 있다. 자동 음성 인식기(140)는 오디오 신호(214)의 추출된 부분과 가장 관련이 있는 음소의 세트를 식별한 다음 음소 세트를 음성 발음에 매핑할 수 있다.
도 1B에 도시된 예에 기초하여, 자동 음성 인식기(140)는 사용자(100)에 의해 발음된 엔티티 이름(210b) "Fuchun"에 대한 표음을 "Fawr·chuh·n"으로 생성할 수 있다. 그런 다음 음성 발음 "Fawr·chuh·n"은 적어도 하나의 업데이트 후에 상기 음성 발음 "Fawr·chuh·n"과 연관된 엔티티 이름에 대해, 제2 상태 "B"에 현재 존재하는 사용자(100)의 개인 발음 사전(154)을 검색하는데 사용될 수 있다. 스테이지 "B"에서, 개인 발음 사전(154)은 "Fawr·chuh·n"의 음성 발음과 충분히 연관되는 항목을 포함한다. 예를 들어, 개인 발음 사전(154)은 개인 발음 사전(154)이 사용자(100)의 고유 발음 "Fawr·chuh·n"과 연관 지어 학습한 연락처 이름(154a) "Fuchun"을 갖는 항목을 포함한다. 매칭하는 음성 발음은 오디오(214)의 추출된 부분이 "Fuchun"으로 전사될 수 있음을 나타낸다. 자동 음성 인식 엔진(140)은 서버 (130)가 상기 생성된 전사(280)를 다시 사용자(100)의 모바일 디바이스(120)로 전송하도록 요청할 수 있다(262).
서버(130)는 또한 전사(280)와 연관될 수 있는 추가 정보를 모바일 디바이스(120)로 전송할 수 있다(262). 예를 들어, 모바일 디바이스 (120)로 전송된 전사(280)는 또한 스테이지 "B"에서 사용자의 개인 발음 사전(154)이 음성 발음 "Fawr·chuh·n"에 대응하는 특정 엔티티 이름을 포함한다는 표시와 관련될 수 있다. 선택적으로 또는 부가적으로, 전사(280)는 또한 오디오(214)의 전사가 성공적 이었음을 나타내는 표시 및/또는 사용자의 명령(210a)을 개시하기 위한 명령과 관련될 수 있다. 예를 들어, 특정 데이터 플래그, 특정 데이터 비트 등이 성공적인 전사의 표시를 제공하기 위해 리턴될 수 있다. 이 추가 정보는 모바일 디바이스(120)가 명령(210a)을 수행하도록 지시하기 위해 서버(130)에 의해 모바일 디바이스(120)로 제공될 수 있다. 시스템(100B)의 예에서, 추가 정보는 "Fuchun"을 호출하도록 모바일 디바이스(120)에 지시하거나 그렇지 않으면 트리거할 수 있다. 호출의 상태(227)는 그래픽 사용자 인터페이스(120)를 통해 디스플레이될 수 있다. 선택적으로 또는 부가적으로, 모바일 디바이스의 스피커(126)는 예를 들어 "푸천 호출중(Calling Fuchun)"과 같은 호출이 시도되고 있음을 나타내는 출력 알림을 제공할 수 있다.
도 1A 및 도 1B에 대한 시스템(100A 및 100B)의 예는 "호출(Call)" 명령(110a, 210a)을 포함하는 발성된 발화(110, 210)를 각각 이용한다. 그러나, 본 발명은 그와 같이 제한될 필요는 없다. 예를 들어, 본 발명에 따라 발화되고, 처리되고, 실행될 수 있는 다양한 다른 명령들이 있다. 예를 들어, 사용자(100)는 "요세미티 국립 공원 방향"과 같은 발화를 발성할 수 있다. 모바일 디바이스(120)의 마이크로폰(125)은 발화에 대응하는 오디오 신호를 포착하여 오디오 신호를 서버(130)로 전송할 수 있다. 서버(130)는 마찬가지로 이 예에서 "요세미티 국립 공원"일 수 있는 엔티티 이름에 대응하는 오디오 신호의 부분을 추출하여, 오디오 신호의 추출된 부분을 타임스탬프와 연관시킬 수 있다.
서버(130)는 오디오 신호의 추출된 부분을 자동 인식 유닛(140)에 전달할 수 있다. 자동 인식 유닛(140)은 음향 모델을 이용하여 음소들의 집합을 획득한 다음, 획득된 음소들의 집합에 기초하여 "요세미티 국립 공원"에 대응하는 오디오의 추출된 부분의 음성 발음을 생성할 수 있다. 자동 인식 유닛(140)은 생성된 음성 발음에 기초하여 다양한 상이한 관심 지점들을 포함하는 개인화된 지리 데이터베이스를 추가로 검색할 수 있다. 개인화된 지리 데이터베이스의 항목가 상기 생성된 음성 발음에 대응하는 음성 발음과 연관되는 것으로 식별되지 않으면, 서버(130)는 자동 음성 인식기(140)를 이용하여 상기 생성된 음성 발음의 가장 근접한 전사를 식별한다. 가장 근접한 전사는 모바일 디바이스(120)로 전송될 수 있고, 개인화된 지리 데이터베이스의 검색을 통해 식별될 수 있는 피드백 정보 및/또는 하나 이상의 가장 근접한 매칭에 대한 요청을 포함하는 프롬프트를 통해 사용자(100)에게 제시(present)될 수 있다. 임의의 수신된 피드백 정보는 서버(130)로 다시 전송될 수 있으며, 상술한 방식으로, 저장된 오디오 신호들 및 피드백 정보에 기초하여 개인화된 지리 데이터베이스를 업데이트하는데 사용될 수 있다. 개인화된지리 데이터베이스가 사용자가 엔티티 이름 "요세미티 국립 공원"을 어떻게 발음하는지 배우게 되면, 자동 음성 인식기(140)는 오디오 신호에서 수신될 때 엔티티 이름을 적절히 전사할 수 있고, 전사된 엔티티 이름과 연관된 위치 정보를 검색(look up)할 수 있으며, 사용자가 "요세미티 국립 공원"으로 이동(navigate)할 수 있도록 돕기 위해 모바일 디바이스(120)가 사용할 수 있는 위치 정보를 모바일 디바이스(120)로 제공한다. 그러나, 예를 들어, 이메일 명령, 텍스트 메시지 명령 등과 같은 다른 유형의 명령들이 본 발명에 의해 이용될 수 있다.
따라서, 본 발명의 양태들은 임의의 특정 종류의 애플리케이션으로 제한되지 않고, 대신에, 예를 들어 전화 애플리케이션, 메시징 애플리케이션, 이메일 애플리케이션, 지도 애플리케이션, 엔터테인먼트 애플리케이션 등을 포함하는 음성 명령을 수신하도록 구성될 수 있는 다양한 유형의 애플리케이션에 적용될 수 있다.
도 1 및 도 2를 참조하여 기술된 예들은, 서버(130)와 상호 작용하는 모바일 디바이스(120)를 설명한다. 그러나, 서버(130)에 의해 수행되는 것으로 기술된 임의의 기능이 또한 모바일 디바이스(120)에 의해 수행될 수 있다는 것도 고려된다. 예를 들어, 프로세서(132), 자동 음성 인식기(140) 및/또는 발음 사전(150)에 의해 수행되는 동작들은 모바일 디바이스(120)에 의해 수행될 수 있다. 그러한 구현예 또는 다른 구현예에서, 발음 사전(150)의 일부 또는 전부는 서버(130) 대신 모바일 디바이스(120)에 저장될 수 있다.
도 2는 개인 발음 사전에서 연락처 발음을 학습하는데 이용될 수 있는 프로세스(200)의 예에 대한 흐름도이다.
프로세스(200)는 명령과 엔티티를 포함하는 사용자(100)로부터의 발화을 수신하는 서버(230)로 시작될 수 있다(202). 발화는 일련의 오디오 신호의 형태일 수 있다. 서버(230)는 수신된 발화를, 엔티티 이름과 연관된 발화의 일부를 추출하는 자동 음성 인식기(204)로 포워딩할 수 있다(204). 엔티티 이름에 대응하는 발화의 추출된 부분은 타임스탬프와 연관될 수 있고, 서버(230)와 연관된 메모리에 저장될 수 있다.
자동 음성 인식기는 오디오 신호들의 추출된 부분의 초기 전사를 생성할 수 있다(206). 오디오 신호들의 추출된 부분의 초기 전사는 일련의 하나 이상의 스테이지들을 구현함으로써 생성될 수 있다. 예를 들어, 자동 음성 인식기는 오디오 신호들의 추출된 부분과 연관될 수 있는 음소들의 세트를 식별하기 위해 음향 모델과 같은 모델을 사용할 수 있다. 그런 다음 음소들은 오디오 신호의 추출된 부분에 대응하는 음성 발음에 매핑될 수 있다. 이어서 음성 발음은 사용자의 개인 발음 사전으로부터 엔티티 이름을 검색하는데 사용될 수 있다. 생성된 음성 발음에 충분히 매칭하는 음성 발음과 연관된 사용자의 개인 발음 사전의 항목가 발견되지 않는한, 자동 검색 인식 유닛은 초기 전사로서 이용될 수 있는 가장 근접한 매칭을 선택할 수 있다. 대안적으로, 오디오 신호들의 추출된 부분에 가능한 가장 근접한 초기 전사를 식별하기 위해 다른 방법들이 사용될 수 있다. 예를 들어, 특정 음성- 텍스트 변환 프로세스들이 사용자의 개인 발음 사전과 독립적인 초기 전사를 생성하도록 구현될 수 있다. 일단 생성되면, 초기 전사는 전사에 대해 사용자(100)로부터의 피드백을 요구하도록 모바일 디바이스(120)를 트리거할 수 있는 추가 정보로 사용자(100)의 모바일 디바이스(120)로 전송될 수 있다.
일부 구현예에서, 서버는 단계(208)에서 오디오 신호의 추출된 부분에 대한 교정(correct) 전사를 얻을 수 있다. 교정 전사는 예를 들어 사용자(100)로부터 수신된 피드백에 기초할 수 있다. 예를 들어, 모바일 디바이스(120)에 의해 수신되는 초기 전사(116)에 응답하여, 모바일 디바이스(120)는 초기 전사에 관련된 피드백을 사용자(100)에게 프롬프트(124)할 수 있다. 대안으로 또는 부가적으로, 프롬프트(124)는 도 1A에 도시된 바와 같이 하나 이상의 교정 전사의 리스트를 디스플레이할 수 있다. 사용자(100)는 제공된 교정 전사들 중 하나를 선택할 수 있고, 선택된 교정 전사는 피드백 정보(118)로서 서버(230)로 전송될 수 있다 (164). 일부 예에서, 피드백 정보(118)는 초기 전사와 상이한 교정 전사를 포함할 수 있다.
그러나, 대안으로, 초기 전사가 충분히 적절한(adequate) 전사인 경우가 있을 수 있다. 예를 들어, 사용자(100)는 초기 전사(116)가 정확하다고 결정할 수 있고, 개인 발음 사전에 새로운 항목로서 추가될 필요가 있다. 사용자는 예를 들어, 모바일 디바이스(120)로부터의 프롬프트(172)에 응답하여 모바일 디바이스가 "Fortune"을 호출해야 함을 확인함으로써 초기 전사의 선택 또는 확인을 시작할 수 있다. 사용자(100)가 "Fortune"에 대한 호출을 확인하면, 사용자(100)는 Fortune의 연락처 정보를 입력하여 호출 완료를 용이하게 할 수 있다. 그런 다음 Fortune의 이름은 생성된 음성 발음과 함께 개인 발음 사전에 추가되도록 서버(130)로 다시 전송될 수 있다. 따라서, 일부 구현예에서, 피드백 정보(118)는 초기 전사(116)가 충분히 적절한 전사임을 나타내는 피드백을 포함할 수 있다.
서버(230)는 교정 전사를 수신하여, 교정 전사를 자동 음성 인식기로 포워딩할 수 있다. 자동 음성 인식기는 타임스탬프에 기초하여 이전에 저장된 사용자(100)의 오디오 신호의 추출 부분을 획득할 수 있다. 예를 들어, 자동 음성 인식기는 가장 최근의 타임스탬프와 연관된 사용자(100)의 오디오 신호의 추출된 부분을 검색할 수 있다. 그런 다음 자동 음성 인식기는 상술한 바와 같이 사용자의 오디오 신호의 추출된 부분에 대응하는 음성 발음을 생성할 수 있다. 이어서, 자동 음성 인식기는 생성된 음성 발음을 수신된 교정 전사와 연관시킬 수 있다(210). 생성된 음성 발음은 엔티티 이름에 대한 사용자(100)의 고유 발음에 해당할 수 있다.
이어서 자동 음성 인식기는 생성된 음성 발음에 기초하여 교정 전사에 대응하는 엔티티 이름을 포함하는 개인 발음 사전의 항목을 업데이트할 수 있다 (212). 일부 구현예에서, 개인 발음 사전의 항목을 업데이트하는 단계는 생성된 음성 발음을 엔티티 이름의 초기 발음 대신에 개인 발음 사전에 저장함으로써 엔티티 이름의 초기 발음을 엔티티 이름의 사용자 고유 발음으로 대체하는 단계를 포함할 수 있다 이름. 이 단계는 예를 들면, 개인 발음 사전으로부터 엔티티 이름의 초기 발음을 삭제하는 단계를 포함할 수 있다. 대안적으로, 개인 발음 사전의 항목을 업데이트하는 단계는 항목의 초기 발음과 생성된 음성 발음 모두를 저장하는 단계와, 생성된 음성 발음에 더 큰 가중치, 순위(rank) 또는 스코어를 할당하는 단계를 포함할 수 있으며, 이는 사용자의 고유 발음을 나타낼 수 있다. 대안적으로, 시스템은 항목의 초기 발음 및 생성된 음성 발음 모두를 개인 발음 사전에 저장할 수 있고, 두 발음은 발화된 엔티티 이름을 전사하는 동안 음성 인식기에 의해 고려될 수 있다. 그러나, 대안적으로, 일부 구현예에서, 생성된 음성 전사는 개인 발음 사전과 별개의 위치에 저장될 수 있으며, 일반적으로 개인 발음 사전과는 독립적이다. 이러한 구현예에서, 개인 발음 사전의 항목을 업데이트하는 것은 정확한 전사에 대응하는 개인 발음 사전 항목와 하나 이상의 생성된 음성 전사를 유지하는 또 다른 저장 위치 사이의 개념적 링크를 단순히 생성하는 것을 포함할 수 있다.
도 3은 범용 발음 사전에서 엔티티 발음을 학습하기 위해 이용될 수 있는 프로세스(300)의 예에 대한 흐름도이다.
일부 예에서, 시스템(100A)은 또한 다수의 사용자들의 세트간에 공유될 수 있는 범용 발음 사전을 포함할 수 있다. 이러한 범용 발음 사전은 다수의 특정 집단(population)이 각각 예를 들어 동일한 음성 피치, 음색, 감정, 악센트 등과 같은 하나 이상의 특정 음성 특징(peculiarities)을 각각 공유할 수 있는 특정의 지리적 영역에서 유익할 수 있다. 그러한 경우에, 범용 발음 사전은 개인 발음 사전 (150) 대신에 또는 추가로 이용될 수 있다. 예를 들어, 범용 발음 사전은 엔티티 이름에 대응하는 오디오 신호의 특정 부분에 대해 가장 근접한 전사 매칭을 얻기 위해 자동 음성 인식기가 검색할 수 있는 대체 데이터 베이스를 제공할 수 있다. 선택적으로, 또는 부가적으로, 개인 발음 사전(150) 및 범용 발음 사전은 하나 이상의 저장 가상화 기술을 사용하여 동일한 데이터 풀(pool)로서 간주될 수 있다. 범용 발음 사전은 이하에 설명되는 범용 발음 사전의 특정 기능을 제외하고는 개인 발음 사전(150)과 실질적으로 유사한 방식으로 기능할 수 있다
범용 발음 사전에서 엔티티 발음을 학습하기 위한 프로세스(300)는 특정 발화의 전사가 복수의 상이한 독립 사용자에 의해 교정되었다고 결정(302)함으로써 시작될 수 있다. 그런 다음, 서버(130)는 복수의 상이한 사용자 각각에 대해 생성된 다수의 고유(unique) 음성 발음을 각각 분석하여, 동일한 고유 음성 발음을 특정 엔티티 이름으로 연관시키는 사용자들의 서브 세트를 식별할 수 있다(304). 특정 엔티티 이름에 대한 고유 음성 발음은 예를 들어, 전형적으로 음성 발음 "Chow·der hous"와 관련될 수 있는 엔티티 이름 "차우더 하우스(Chowder House)"에 대한 고유 음성 발음 "Chow·da hous"일 수 있다. 서버(130)는 동일한 고유 음성 발음을 특정 엔티티 이름으로 연관시키는 개별 사용자의 수를 추적하는 카운터를 유지할 수 있다. 그런 다음 서버(130)는 동일한 고유 음성 발음을 특정 엔티티로 연련시키는 사용자들의 서브 세트가 미리 결정된 임계치를 초과하는지를 결정할 수 있다. 동일한 고유 음성 발음을 동일한 엔티티에 관련시키는 사용자들의 수가 미리 결정된 임계치를 초과한다고 판단되면(306), 고유 음성 발음은 상기 고유 음성 발음에 기초하여 특정 엔티티에 대한 범용 발음 사전을 업데이트하는데 사용될 수 있다(308).
"데이터 처리 장치"라는 용어는 예를 들어 프로그램 가능 프로세서, 컴퓨터, 또는 다수의 프로세서 또는 컴퓨터를 포함하는, 데이터를 처리하기 위한 모든 종류의 장치, 디바이스 및 기계를 포함한다. 이 장치는 특수 목적 논리 회로, 예를 들어 FPGA(field programmable gate array) 또는 ASIC(application specific integrated circuit)을 포함할 수 있다. 또한, 장치는 하드웨어 이외에, 문제의 컴퓨터 프로그램, 예를 들어 프로세서 펌웨어, 프로토콜 스택, 데이터베이스 관리 시스템, 운영 체제, 또는 이들 중 하나 이상의 조합에 대한 실행 환경을 생성하는 코드를 포함할 수 있다.
컴퓨터 프로그램(프로그램, 소프트웨어, 소프트웨어 애플리케이션, 모듈, 소프트웨어 모듈, 스크립트 또는 코드로 지칭되거나 개시될 수 있는)은 컴파일된 또는 해석된 언어, 또는 선언적 또는 절차적 언어를 포함하는 임의의 형태의 프로그래밍 언어로 기록될 수 있으며, 독립형 프로그램이나 모듈, 구성 요소, 서브 루틴 또는 컴퓨팅 환경에서 사용하기에 적합한 다른 유닛을 포함하는 임의의 형태로 배포될 수 있다. 컴퓨터 프로그램은 파일 시스템의 파일에 해당할 수 있지만 반드시 그런 것은 아니다. 프로그램은 다른 프로그램 또는 데이터(예를 들어, 마크 업 언어 문서에 저장된 하나 이상의 스크립트)를 보유하는 파일의 일부에 저장될 수 있으며, 문제의 프로그램 전용의 단일 파일 또는 복수의 조정 파일(예컨대, 하나 이상의 모듈, 서브 프로그램 또는 코드의 일부를 저장하는 파일)에 저장될 수 있다. 컴퓨터 프로그램은 하나의 컴퓨터 또는한 사이트에 있거나 여러 사이트에 분산되어 있으며 통신 네트워크로 상호 연결된 여러대의 컴퓨터에서 실행되도록 배포될 수 있다.
본 명세서에서 설명되는 프로세스 및 논리 흐름은 입력 데이터를 조작하고 출력을 생성함으로써 기능들을 수행하기 위해 하나 이상의 컴퓨터 프로그램을 실행하는 하나 이상의 프로그램 가능 컴퓨터에 의해 수행될 수 있다. 프로세스 및 논리 흐름은 또한 FPGA(필드 프로그래머블 게이트 어레이) 또는 ASIC(주문형 집적 회로)과 같은 특수 목적 논리 회로에 의해 수행될 수 있고, 디바이스 또한 특수 목적 논리 회로로 구현될 수 있다
컴퓨터 프로그램의 실행에 적합한 컴퓨터들은, 예를 들어 범용 또는 특수 목적 마이크로 프로세서 또는 둘 모두, 또는 임의의 다른 종류의 중앙 처리 장치를 기반으로 할 수 있다. 일반적으로, 중앙 처리 장치는 판독 전용 메모리 또는 랜덤 액세스 메모리 또는 둘 모두로부터 명령 및 데이터를 수신할 것이다. 컴퓨터의 필수 엘리먼트는 명령을 수행하거나 실행하기 위한 중앙 처리 장치 및 명령과 데이터를 저장하기 위한 하나 이상의 메모리 디바이스이다. 일반적으로, 컴퓨터는 또한 데이터, 예를 들어, 자기, 광 자기 디스크 또는 광 디스크를 저장하기 위한 하나 이상의 대용량 저장 디바이스로부터 데이터를 수신하거나 데이터를 전송하거나 또는 둘 모두를 위해 동작 가능하게 결합되거나 포함될 수 있을 것이다. 그러나 컴퓨터에는 그러한 디바이스들이 있을 필요가 없다. 게다가, 컴퓨터는 다른 디바이스, 예를 들어, 모바일 전화기, 개인 정보 단말기(PDA), 모바일 오디오 또는 비디오 플레이어, 게임 콘솔, GPS 수신기 또는 휴대용 저장 디바이스(예컨대, 범용 직렬 버스 (USB) 플래시 드라이브)내에 내장될 수 있다.
컴퓨터 프로그램 명령 및 데이터를 저장하기에 적합한 컴퓨터 판독 가능 매체는 예를 들어 EPROM, EEPROM 및 플래시 메모리 디바이스와 같은 반도체 메모리 디바이스; 자기 디스크, 내부 하드 디스크 또는 소거 가능 디스크와 같은 광자기 디스크; 및 CD-ROM 및 DVD-ROM 디스크를 포함하는 모든 형태의 비 휘발성 메모리, 매체 및 메모리를 한다. 프로세서 및 메모리는 특수 목적 논리 회로에 의해 보충되거나 그 안에 포함될 수 있다.
사용자와의 상호 작용을 제공하기 위해, 본 명세서에서 기술된 주제(subject matter)의 실시예는 사용자에게 정보를 디스플레이하는 디스플레이 디바이스(예컨대, CRT 또는 LCD) 모니터와 사용자가 컴퓨터에 입력을 제공할 수 있는 키보드 및 포인팅 디바이스(예컨대, 마우스 또는 트랙볼)를 갖는 컴퓨터 상에서 구현될 수 있다. 다른 종류의 디바이스들 역시 사용자와의 상호 작용을 제공하는데 사용될 수 있는데, 예를 들어, 사용자에게 제공되는 피드백은 예를 들어, 시각 피드백, 청각 피드백 또는 촉각 피드백과 같은 임의의 형태의 감각 피드백일 수 있으며, 사용자로부터의 입력은 음향, 음성 또는 촉각 입력을 포함하는 임의의 형태로 수신될 수 있다. 또한 컴퓨터는 사용자가 사용하는 디바이스와 문서를주고 받음으로써 사용자와 상호 작용할 수 있는데, 예를 들어, 웹 브라우저로부터 수신된 요청에 응답하여 사용자의 클라이언트 디바이스상의 웹 브라우저로 웹 페이지를 전송함으로써 수행될 수 있다
본 명세서에서 기술된 주제의 실시예는 예를 들어 데이터 서버와 같은 백 엔드 구성 요소를 포함하거나, 또는 예를 들어 애플리케이션 서버와 같은 미들웨어 구성 요소를 포함하거나, 또는 사용자가 본 명세서에서 설명된 요지의 구현과 상호 작용할 수 있는 그래픽 사용자 인터페이스 또는 웹 브라우저를 갖는 예를 들어 클라이언트 컴퓨터와 같은 프론트 엔드 구성요소를 포함하거나, 또는 하나 이상의 백 엔드, 미들웨어 또는 프런트 엔드 구성 요소의 임의의 조합을 포함하는 컴퓨팅 시스템에서 구현될 수 있다. 시스템의 구성 요소는 예를 들어 통신 네트워크와 같은 디지털 데이터 통신의 임의의 형태 또는 매체에 의해 상호 접속될 수 있다. 통신 네트워크의 예는 근거리 통신망("LAN") 및 예를 들어 인터넷과 같은 광역 통신망("WAN")을 포함한다.
컴퓨팅 시스템은 클라이언트들 및 서버들을 포함할 수 있다. 클라이언트와 서버는 일반적으로 서로 멀리 떨어져 있으며 통신 네트워크를 통해 전형적으로 상호 작용한다. 클라이언트와 서버의 관계는 각각의 컴퓨터에서 실행되고 서로 클라이언트-서버 관계를 갖는 컴퓨터 프로그램에 의해서 발생한다.
본 명세서는 많은 특정 구현 세부 사항을 포함하지만, 이들은 청구될 수 있는 범위에 대한 제한으로서 해석되어서는 안되며, 오히려 특정 실시예에 특정될 수 있는 특징들의 설명으로 해석되어야 한다. 별도의 실시예와 관련하여 본 명세서에서 설명되는 특정 특징은 또한 단일 실시예에서 조합하여 구현될 수 있다. 반대로, 단일 실시예의 컨텍스트에서 설명되는 다양한 특징은 또한 다수의 실시예에서 개별적으로 또는 임의의 적합한 서브 조합으로 구현될 수 있다. 게다가, 특징들은 특정 조합으로 작용하고 초기에 그렇게 청구될 수도 있지만, 청구된 조합으로부터의 하나 이상의 특징은 어떤 경우 조합으로부터 제거될 수 있고, 청구된 조합은 서브 결합 또는 서브 결합의 변형을 지향할 수 있다.
유사하게, 동작들은 특정 순서로 도면들에 도시되어 있지만, 이는 바람직한 동작을 달성하기 위해 상기 동작이 도시된 특정 순서 또는 순차적 순서로 수행되거나 모든 예시된 동작이 수행될 것을 요구하는 것으로 이해되어서는 안된다. 특정 상황에서는 멀티 태스킹 및 병렬 처리가 유리할 수 있다. 또한, 전술한 실시예들에서 다양한 시스템 구성 요소의 분리는 모든 실시예에서 그러한 분리를 필요로 하는 것으로 이해되어서는 안되며, 개시된 프로그램 구성 요소들 및 시스템들은 일반적으로 단일 소프트웨어 제품 내에 함께 통합되거나 다중 소프트웨어 제품들로 패키징될 수 있음을 이해해야 한다.
주제의 특정 실시예들이 개시되었다. 다른 실시예들은 다음의 청구항들의 범위 내에 있다. 예를 들어, 청구 범위에 인용된 동작들은 상이한 순서로 수행될 수 있으며 여전히 바람직한 결과를 달성할 수 있다. 하나의 예로서, 첨부된 도면에 도시된 프로세스는 바람직한 결과를 얻기 위해, 도시된 특정 순서 또는 순차적 순서를 반드시 필요로 하는 것은 아니다. 특정 구현예에서는, 멀티 태스킹 및 병렬 처리가 유리할 수 있다. 개시된 프로세스들로부터 다른 단계들이 제공되거나 제거될 수 있다. 따라서, 다른 구현예들은 다음의 청구항들의 범위 내에 있다.

Claims (20)

  1. 방법으로서,
    명령 및 엔티티 이름을 포함하는 발화(utterance)에 대응하는 오디오 데이터를 수신하는 단계;
    자동 음성 인식기에 의해, 상기 엔티티 이름과 관련되는 오디오 데이터의 부분(portion)에 대한 초기 전사(transcription)를 생성하는 단계;
    상기 엔티티 이름과 관련되고 상기 초기 전사와 상이한 상기 발화의 부분에 대한 교정(correct) 전사를 수신하는 단계;
    상기 엔티티 이름과 연관되고 상기 초기 전사와 상이한 상기 발화의 부분에 대한 교정 전사를 수신하는 것에 응답하여, 상기 엔티티 이름과 관련된 상기 오디오 데이터의 부분과 연관되는 음성 발음을 획득하는 단계;
    상기 음성 발음을 상기 엔티티 이름과 관련시키기 위해 발음 사전을 업데이트하는 단계;
    상기 엔티티 이름을 포함하는 후속 발화를 수신하는 단계; 및
    상기 업데이트된 발음 사전에 적어도 부분적으로 기초하여 상기 후속 발화를 전사하는 단계를 포함하는 것을 특징으로 하는 방법.
  2. 제1항에 있어서, 상기 엔티티 이름과 관련되고 상기 초기 전사와 상이한 상기 발화의 부분에 대한 교정 전사를 수신하는 단계는
    하나 또는 다수의 엔티티 이름의 디스플레이로부터 엔티티 이름의 선택을 나타내는 데이터를 수신하는 단계; 또는
    키패드를 통해 입력되고 엔티티 이름을 나타내는 하나 또는 다수의 문자를 나타내는 데이터를 수신하는 단계를 포함하는 것을 특징으로 하는 방법.
  3. 제1항 또는 제2항에 있어서, 발음 사전을 업데이트하는 단계는
    상기 엔티티 이름과 관련된 발음 사전 항목을 식별하는 단계;
    상기 초기 전사의 음성 발음에 대응하는 항목의 부분을 삭제하는 단계; 및
    상기 엔티티 이름과 관련된 발음 사전 항목에, 상기 획득된 음성 발음과 관련된 음성 발음을 저장하는 단계를 더 포함하는 것을 특징으로 하는 방법.
  4. 전술한 임의의 어느 한 항에 있어서,
    상기 수신된 오디오 데이터의 적어도 일부와 타임 스탬프를 관련시키는 단계; 및
    상기 발화의 교정 전사가 식별되고 상기 수신된 발화와 관련된 명령이 완료될 때까지 상기 수신된 오디오 데이터의 하나 이상의 부분을 캐싱하는 단계를 더 포함하는 것을 특징으로 하는 방법.
  5. 제4항에 있어서, 상기 엔티티 이름과 관련된 상기 오디오 데이터의 부분과 관련되는 음성 발음을 획득하는 단계는
    상기 수신된 오디오 데이터의 적어도 일부와 관련된 상기 타임 스탬프에 기초하여 가장 최근에 수신된 상기 오디오 데이터의 부분을 획득하는 단계; 및
    음향 모델을 이용하여 획득된 음소 세트에 기초하여 가장 최근에 수신된 상기 오디오 데이터의 상기 획득된 부분의 음성 발음을 생성하는 단계를 포함하는 것을 특징으로 하는 방법.
  6. 전술한 임의의 어느 한 항에 있어서, 상기 획득된 음성 발음을 포함하도록 발음 사전을 업데이트하는 것에 응답하여, 상기 음성 발음과 관련된 글로벌 카운터를 증가시키는 단계를 더 포함하는 것을 특징으로 하는 방법.
  7. 제6항에 있어서,
    상기 음성 발음과 연관된 글로벌 카운터가 사전 결정된 임계치를 초과하는지결정하는 단계; 및
    상기 음성 발음과 연관된 글로벌 카운터가 사전 결정된 임계치를 초과한다는 결정에 응답하여, 상기 교정 전사와 관련된 음성 발음을 포함하도록 엔티티 이름과 관련되는 범용 발음 사전 내의 발음 사전 항목을 업데이트하는 단계를 더 포함하는 것을 특징으로 하는 방법.
  8. 시스템으로서,
    하나 이상의 컴퓨터 및 동작 가능한 명령들을 저장하는 하나 이상의 저장 디바이스를 포함하며, 상기 명령들은 하나 이상의 컴퓨터에 의해 실행될 때 상기 하나 이상의 컴퓨터로 하여금 동작들을 수행하게 하며, 상기 동작들은:
    명령 및 엔티티 이름을 포함하는 발화에 대응하는 오디오 데이터를 수신하는 단계;
    자동 음성 인식기에 의해, 상기 엔티티 이름과 관련되는 오디오 데이터의 부분에 대한 초기 전사를 생성하는 단계;
    상기 엔티티 이름과 연관되고 상기 초기 전사와 상이한 발화의 부분에 대한 교정 전사를 수신하는 단계;
    상기 엔티티 이름과 연관되고 상기 초기 전사과 상이한 발화의 부분에 대한 교정 전사를 수신하는 것에 응답하여, 상기 엔티티 이름과 관련된 상기 오디오 데이터의 부분과 연관되는 음성 발음을 획득하는 단계 ;
    상기 음성 발음을 상기 엔티티 이름과 관련시키기 위해 발음 사전을 업데이트하는 단계;
    상기 엔티티 이름을 포함하는 후속 발화를 수신하는 단계; 및
    상기 업데이트된 발음 사전에 적어도 부분적으로 기초하여 상기 후속 발화를 전사하는 단계를 포함하는 것을 특징으로 하는 시스템.
  9. 제8항에 있어서, 상기 엔티티 이름과 관련되고 상기 초기 전사와 상이한 상기 발화의 부분에 대한 교정 전사를 수신하는 단계는
    하나 또는 다수의 엔티티 이름의 디스플레이로부터 엔티티 이름의 선택을 나타내는 데이터를 수신하는 단계; 또는
    키패드를 통해 입력되고 엔티티 이름을 나타내는 하나 또는 다수의 문자를 나타내는 데이터를 수신하는 단계를 포함하는 것을 특징으로 하는 시스템.
  10. 제8항 또는 제9항에 있어서, 발음 사전을 업데이트하는 단계는
    상기 엔티티 이름과 관련된 발음 사전 항목을 식별하는 단계;
    상기 초기 전사의 음성 발음에 대응하는 항목의 부분을 삭제하는 단계; 및
    상기 엔티티 이름과 관련된 발음 사전 항목에, 상기 획득된 음성 발음과 관련된 음성 발음을 저장하는 단계를 더 포함하는 것을 특징으로 하는 시스템.
  11. 제8항 내지 제10항 중 어느한 항에 있어서, 상기 동작들은
    상기 수신된 오디오 데이터의 적어도 일부와 타임 스탬프를 관련시키는 단계; 및
    상기 발화의 교정 전사가 식별되고 상기 수신된 발화와 관련된 명령이 완료될 때까지 상기 수신된 오디오 데이터의 하나 이상의 부분을 캐싱하는 단계를 더 포함하는 것을 특징으로 하는 시스템.
  12. 제8항 내지 제11항 중 어느 한 항에 있어서, 상기 상기 엔티티 이름과 관련된 상기 오디오 데이터의 부분과 관련되는 음성 발음을 획득하는 단계는
    상기 수신된 오디오 데이터의 적어도 일부와 관련된 상기 타임 스탬프에 기초하여 가장 최근에 수신된 상기 오디오 데이터의 부분을 획득하는 단계; 및
    음향 모델을 이용하여 획득된 음소 세트에 기초하여 가장 최근에 수신된 상기 오디오 데이터의 상기 획득된 부분의 음성 발음을 생성하는 단계를 포함하는 것을 특징으로 하는 시스템.
  13. 제8항 내지 제12항 중 어느 한 항에 있어서, 상기 동작들은
    상기 획득된 음성 발음을 포함하도록 발음 사전을 업데이트하는 것에 응답하여, 상기 음성 발음과 관련된 글로벌 카운터를 증가시키는 단계를 더 포함하는 것을 특징으로 하는 시스템.
  14. 제13항에 있어서, 상기 동작들은
    상기 음성 발음과 연관된 글로벌 카운터가 사전 결정된 임계치를 초과하는지결정하는 단계; 및
    상기 음성 발음과 연관된 글로벌 카운터가 사전 결정된 임계치를 초과한다는 결정에 응답하여, 상기 교정 전사와 관련된 음성 발음을 포함하도록 엔티티 이름과 관련되는 범용 발음 사전 내의 발음 사전 항목을 업데이트하는 단계를 더 포함하는 것을 특징으로 하는 시스템.
  15. 하나 이상의 컴퓨터에 의해 실행 가능한 명령들을 포함하는 소프트웨어를 저장하는 비일시적 컴퓨터 판독 가능 매체로서, 상기 명령들은 실행시에, 상기 하나 이상의 컴퓨터로 하여금 동작들을 수행하도록 하고, 상기 동작들은:
    명령 및 엔티티 이름을 포함하는 발화에 대응하는 오디오 데이터를 수신하는 단계;
    자동 음성 인식기에 의해, 상기 엔티티 이름과 관련되는 오디오 데이터의 부분에 대한 초기 전사를 생성하는 단계;
    상기 엔티티 이름과 연관되고 상기 초기 전사와 상이한 발화의 부분에 대한 교정 전사를 수신하는 단계;
    상기 엔티티 이름과 연관되고 상기 초기 전사과 상이한 발화의 부분에 대한 교정 전사를 수신하는 것에 응답하여, 상기 엔티티 이름과 관련된 상기 오디오 데이터의 부분과 연관되는 음성 발음을 획득하는 단계 ;
    상기 음성 발음을 상기 엔티티 이름과 관련시키기 위해 발음 사전을 업데이트하는 단계;
    상기 엔티티 이름을 포함하는 후속 발화를 수신하는 단계; 및
    상기 업데이트된 발음 사전에 적어도 부분적으로 기초하여 상기 후속 발화를 전사하는 단계를 포함하는 것을 특징으로 하는 비일시적 컴퓨터 판독 가능 매체.
  16. 제15항에 있어서, 발음 사전을 업데이트하는 단계는
    상기 엔티티 이름과 관련된 발음 사전 항목을 식별하는 단계;
    상기 초기 전사의 음성 발음에 대응하는 항목의 부분을 삭제하는 단계; 및
    상기 엔티티 이름과 관련된 발음 사전 항목에, 상기 획득된 음성 발음과 관련된 음성 발음을 저장하는 단계를 더 포함하는 것을 특징으로 하는 컴퓨터 판독 가능 매체.
  17. 제15항에 있어서, 상기 동작들은
    상기 수신된 오디오 데이터의 적어도 일부와 타임 스탬프를 관련시키는 단계; 및
    상기 발화의 교정 전사가 식별되고 상기 수신된 발화와 관련된 명령이 완료될 때까지 상기 수신된 오디오 데이터의 하나 이상의 부분을 캐싱하는 단계를 더 포함하는 것을 특징으로 하는 컴퓨터 판독 가능 매체.
  18. 제15항에 있어서, 상기 엔티티 이름과 관련된 상기 오디오 데이터의 부분과 관련되는 음성 발음을 획득하는 단계는
    상기 수신된 오디오 데이터의 적어도 일부와 관련된 상기 타임 스탬프에 기초하여 가장 최근에 수신된 상기 오디오 데이터의 부분을 획득하는 단계; 및
    음향 모델을 이용하여 획득된 음소 세트에 기초하여 가장 최근에 수신된 상기 오디오 데이터의 상기 획득된 부분의 음성 발음을 생성하는 단계를 포함하는 것을 특징으로 하는 컴퓨터 판독 가능 매체.
  19. 제15항에 있어서, 상기 동작들은
    상기 획득된 음성 발음을 포함하도록 발음 사전을 업데이트하는 것에 응답하여, 상기 음성 발음과 관련된 글로벌 카운터를 증가시키는 단계를 더 포함하는 것을 특징으로 하는 컴퓨터 판독 가능 매체.
  20. 제15항에 있어서, 상기 동작들은
    상기 음성 발음과 연관된 글로벌 카운터가 사전 결정된 임계치를 초과하는지결정하는 단계; 및
    상기 음성 발음과 연관된 글로벌 카운터가 사전 결정된 임계치를 초과한다는 결정에 응답하여, 상기 교정 전사와 관련된 음성 발음을 포함하도록 엔티티 이름과 관련되는 범용 발음 사전 내의 발음 사전 항목을 업데이트하는 단계를 더 포함하는 것을 특징으로 하는 컴퓨터 판독 가능 매체.
KR1020187013090A 2016-02-03 2016-11-22 개인화된 엔티티 발음 학습 KR102100389B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US15/014,213 2016-02-03
US15/014,213 US10152965B2 (en) 2016-02-03 2016-02-03 Learning personalized entity pronunciations
PCT/US2016/063316 WO2017136028A1 (en) 2016-02-03 2016-11-22 Learning personalized entity pronunciations

Publications (2)

Publication Number Publication Date
KR20180064504A true KR20180064504A (ko) 2018-06-14
KR102100389B1 KR102100389B1 (ko) 2020-05-15

Family

ID=57518006

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020187013090A KR102100389B1 (ko) 2016-02-03 2016-11-22 개인화된 엔티티 발음 학습

Country Status (7)

Country Link
US (1) US10152965B2 (ko)
EP (1) EP3365890B1 (ko)
JP (1) JP6588637B2 (ko)
KR (1) KR102100389B1 (ko)
CN (1) CN107039038B (ko)
DE (2) DE202016008260U1 (ko)
WO (1) WO2017136028A1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021006386A1 (ko) * 2019-07-10 2021-01-14 엘지전자 주식회사 차량 제어 방법 및 차량을 제어하는 지능형 컴퓨팅 디바이스
KR102568930B1 (ko) * 2022-10-27 2023-08-22 주식회사 액션파워 Stt 결과에 기초하여 새로운 음성을 생성하는 방법

Families Citing this family (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9741337B1 (en) * 2017-04-03 2017-08-22 Green Key Technologies Llc Adaptive self-trained computer engines with associated databases and methods of use thereof
US10449440B2 (en) 2017-06-30 2019-10-22 Electronic Arts Inc. Interactive voice-controlled companion application for a video game
US20190073994A1 (en) * 2017-09-05 2019-03-07 Microsoft Technology Licensing, Llc Self-correcting computer based name entity pronunciations for speech recognition and synthesis
US10621317B1 (en) 2017-09-14 2020-04-14 Electronic Arts Inc. Audio-based device authentication system
US10546580B2 (en) * 2017-12-05 2020-01-28 Toyota Motor Engineering & Manufacuturing North America, Inc. Systems and methods for determining correct pronunciation of dictated words
US10629192B1 (en) * 2018-01-09 2020-04-21 Electronic Arts Inc. Intelligent personalized speech recognition
US10636423B2 (en) * 2018-02-21 2020-04-28 Motorola Solutions, Inc. System and method for managing speech recognition
US11182565B2 (en) 2018-02-23 2021-11-23 Samsung Electronics Co., Ltd. Method to learn personalized intents
US11307880B2 (en) 2018-04-20 2022-04-19 Meta Platforms, Inc. Assisting users with personalized and contextual communication content
US11715042B1 (en) 2018-04-20 2023-08-01 Meta Platforms Technologies, Llc Interpretability of deep reinforcement learning models in assistant systems
US11886473B2 (en) 2018-04-20 2024-01-30 Meta Platforms, Inc. Intent identification for agent matching by assistant systems
US10963273B2 (en) 2018-04-20 2021-03-30 Facebook, Inc. Generating personalized content summaries for users
US11676220B2 (en) 2018-04-20 2023-06-13 Meta Platforms, Inc. Processing multimodal user input for assistant systems
US11314940B2 (en) 2018-05-22 2022-04-26 Samsung Electronics Co., Ltd. Cross domain personalized vocabulary learning in intelligent assistants
US11437025B2 (en) * 2018-10-04 2022-09-06 Google Llc Cross-lingual speech recognition
US10930274B2 (en) 2018-11-30 2021-02-23 International Business Machines Corporation Personalized pronunciation hints based on user speech
US10926173B2 (en) 2019-06-10 2021-02-23 Electronic Arts Inc. Custom voice control of video game character
CN113362828B (zh) * 2020-03-04 2022-07-05 阿波罗智联(北京)科技有限公司 用于识别语音的方法和装置
US11699430B2 (en) * 2021-04-30 2023-07-11 International Business Machines Corporation Using speech to text data in training text to speech models
US12028176B2 (en) 2021-06-25 2024-07-02 Microsoft Technology Licensing, Llc Machine-learning-model based name pronunciation
WO2023149644A1 (ko) * 2022-02-03 2023-08-10 삼성전자주식회사 전자 장치 및 사용자 언어 모델 생성 방법

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014048506A (ja) * 2012-08-31 2014-03-17 National Institute Of Information & Communication Technology 単語登録装置及びそのためのコンピュータプログラム
US20150243278A1 (en) * 2014-02-21 2015-08-27 Microsoft Corporation Pronunciation learning through correction logs

Family Cites Families (38)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5029200A (en) * 1989-05-02 1991-07-02 At&T Bell Laboratories Voice message system using synthetic speech
JP3340163B2 (ja) * 1992-12-08 2002-11-05 株式会社東芝 音声認識装置
TW274135B (ko) * 1994-09-14 1996-04-11 Hitachi Seisakusyo Kk
JP3466857B2 (ja) * 1997-03-06 2003-11-17 株式会社東芝 辞書更新方法および辞書更新システム
US7283964B1 (en) * 1999-05-21 2007-10-16 Winbond Electronics Corporation Method and apparatus for voice controlled devices with improved phrase storage, use, conversion, transfer, and recognition
US8065155B1 (en) * 1999-06-10 2011-11-22 Gazdzinski Robert F Adaptive advertising apparatus and methods
JP2001013985A (ja) * 1999-07-01 2001-01-19 Meidensha Corp 音声認識システムの辞書管理方式
US6738738B2 (en) * 2000-12-23 2004-05-18 Tellme Networks, Inc. Automated transformation from American English to British English
JP4097901B2 (ja) * 2001-01-24 2008-06-11 松下電器産業株式会社 言語辞書メンテナンス方法および言語辞書メンテナンス装置
US7043431B2 (en) * 2001-08-31 2006-05-09 Nokia Corporation Multilingual speech recognition system using text derived recognition models
US6985865B1 (en) * 2001-09-26 2006-01-10 Sprint Spectrum L.P. Method and system for enhanced response to voice commands in a voice command platform
US7693720B2 (en) * 2002-07-15 2010-04-06 Voicebox Technologies, Inc. Mobile systems and methods for responding to natural language speech utterance
WO2005027093A1 (en) * 2003-09-11 2005-03-24 Voice Signal Technologies, Inc. Generation of an alternative pronunciation
US7280963B1 (en) * 2003-09-12 2007-10-09 Nuance Communications, Inc. Method for learning linguistically valid word pronunciations from acoustic data
US7266495B1 (en) * 2003-09-12 2007-09-04 Nuance Communications, Inc. Method and system for learning linguistically valid word pronunciations from acoustic data
US7299181B2 (en) * 2004-06-30 2007-11-20 Microsoft Corporation Homonym processing in the context of voice-activated command systems
US8255223B2 (en) * 2004-12-03 2012-08-28 Microsoft Corporation User authentication by combining speaker verification and reverse turing test
CA2642217C (en) * 2006-02-17 2014-05-06 Lumex As Method and system for verification of uncertainly recognized words in an ocr system
US7756708B2 (en) * 2006-04-03 2010-07-13 Google Inc. Automatic language model update
US8972268B2 (en) * 2008-04-15 2015-03-03 Facebook, Inc. Enhanced speech-to-speech translation system and methods for adding a new word
US8401847B2 (en) * 2006-11-30 2013-03-19 National Institute Of Advanced Industrial Science And Technology Speech recognition system and program therefor
US8886545B2 (en) * 2007-03-07 2014-11-11 Vlingo Corporation Dealing with switch latency in speech recognition
JP2009237285A (ja) * 2008-03-27 2009-10-15 Toshiba Corp 人物名付与装置および方法
CN102117614B (zh) * 2010-01-05 2013-01-02 索尼爱立信移动通讯有限公司 个性化文本语音合成和个性化语音特征提取
CN102682763B (zh) * 2011-03-10 2014-07-16 北京三星通信技术研究有限公司 修正语音输入文本中命名实体词汇的方法、装置及终端
US20120253817A1 (en) * 2011-04-04 2012-10-04 Mitel Networks Corporation Mobile speech attendant access
US9009041B2 (en) * 2011-07-26 2015-04-14 Nuance Communications, Inc. Systems and methods for improving the accuracy of a transcription using auxiliary data such as personal data
US8798995B1 (en) * 2011-09-23 2014-08-05 Amazon Technologies, Inc. Key word determinations from voice data
CN102779508B (zh) * 2012-03-31 2016-11-09 科大讯飞股份有限公司 语音库生成设备及其方法、语音合成系统及其方法
US9460088B1 (en) * 2013-05-31 2016-10-04 Google Inc. Written-domain language modeling with decomposition
US9741339B2 (en) * 2013-06-28 2017-08-22 Google Inc. Data driven word pronunciation learning and scoring with crowd sourcing based on the word's phonemes pronunciation scores
EP2851896A1 (en) * 2013-09-19 2015-03-25 Maluuba Inc. Speech recognition using phoneme matching
US9489943B2 (en) * 2013-10-16 2016-11-08 Interactive Intelligence Group, Inc. System and method for learning alternate pronunciations for speech recognition
US9263032B2 (en) * 2013-10-24 2016-02-16 Honeywell International Inc. Voice-responsive building management system
US9773499B2 (en) * 2014-06-18 2017-09-26 Google Inc. Entity name recognition based on entity type
CN104538031B (zh) * 2014-12-15 2017-09-01 北京云知声信息技术有限公司 智能语音服务开发云平台及方法
US10102852B2 (en) * 2015-04-14 2018-10-16 Google Llc Personalized speech synthesis for acknowledging voice actions
CN105185377B (zh) * 2015-09-24 2019-07-09 百度在线网络技术(北京)有限公司 一种基于语音的文件生成方法及装置

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014048506A (ja) * 2012-08-31 2014-03-17 National Institute Of Information & Communication Technology 単語登録装置及びそのためのコンピュータプログラム
US20150243278A1 (en) * 2014-02-21 2015-08-27 Microsoft Corporation Pronunciation learning through correction logs

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021006386A1 (ko) * 2019-07-10 2021-01-14 엘지전자 주식회사 차량 제어 방법 및 차량을 제어하는 지능형 컴퓨팅 디바이스
KR102568930B1 (ko) * 2022-10-27 2023-08-22 주식회사 액션파워 Stt 결과에 기초하여 새로운 음성을 생성하는 방법

Also Published As

Publication number Publication date
JP6588637B2 (ja) 2019-10-09
DE102016125812A1 (de) 2017-08-03
CN107039038B (zh) 2020-06-19
KR102100389B1 (ko) 2020-05-15
US10152965B2 (en) 2018-12-11
DE202016008260U1 (de) 2017-06-30
EP3365890A1 (en) 2018-08-29
WO2017136028A1 (en) 2017-08-10
EP3365890B1 (en) 2020-02-26
JP2018532165A (ja) 2018-11-01
US20170221475A1 (en) 2017-08-03
CN107039038A (zh) 2017-08-11

Similar Documents

Publication Publication Date Title
KR102100389B1 (ko) 개인화된 엔티티 발음 학습
US11398236B2 (en) Intent-specific automatic speech recognition result generation
US11069336B2 (en) Systems and methods for name pronunciation
US10847160B2 (en) Using two automated speech recognizers for speech recognition
AU2015210460B2 (en) Speech recognition repair using contextual information
CN106796788B (zh) 基于用户反馈来改善自动语音识别
US9495956B2 (en) Dealing with switch latency in speech recognition
US9619572B2 (en) Multiple web-based content category searching in mobile search application
US8635243B2 (en) Sending a communications header with voice recording to send metadata for use in speech recognition, formatting, and search mobile search application
US20110054895A1 (en) Utilizing user transmitted text to improve language model in mobile dictation application
US20110054894A1 (en) Speech recognition through the collection of contact information in mobile dictation application
US20110060587A1 (en) Command and control utilizing ancillary information in a mobile voice-to-speech application
US20110054900A1 (en) Hybrid command and control between resident and remote speech recognition facilities in a mobile voice-to-speech application
US20110054898A1 (en) Multiple web-based content search user interface in mobile search application
US20110054896A1 (en) Sending a communications header with voice recording to send metadata for use in speech recognition and formatting in mobile dictation application
US20110054899A1 (en) Command and control utilizing content information in a mobile voice-to-speech application
US20020128840A1 (en) Artificial language
US20110054897A1 (en) Transmitting signal quality information in mobile dictation application

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant