[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

KR101973117B1 - 강화된 스피치 엔드포인팅 - Google Patents

강화된 스피치 엔드포인팅 Download PDF

Info

Publication number
KR101973117B1
KR101973117B1 KR1020177013369A KR20177013369A KR101973117B1 KR 101973117 B1 KR101973117 B1 KR 101973117B1 KR 1020177013369 A KR1020177013369 A KR 1020177013369A KR 20177013369 A KR20177013369 A KR 20177013369A KR 101973117 B1 KR101973117 B1 KR 101973117B1
Authority
KR
South Korea
Prior art keywords
speech recognition
recognition result
expected
speech
context data
Prior art date
Application number
KR1020177013369A
Other languages
English (en)
Other versions
KR20170071564A (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
Priority claimed from US14/844,563 external-priority patent/US10339917B2/en
Application filed by 구글 엘엘씨 filed Critical 구글 엘엘씨
Publication of KR20170071564A publication Critical patent/KR20170071564A/ko
Application granted granted Critical
Publication of KR101973117B1 publication Critical patent/KR101973117B1/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/04Segmentation; Word boundary detection
    • G10L15/05Word boundary detection
    • 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/04Segmentation; Word boundary detection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/16Sound input; Sound output
    • G06F3/167Audio in a user interface, e.g. using voice commands for navigating, audio feedback
    • 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/1815Semantic context, e.g. disambiguation of the recognition hypotheses based on word meaning
    • 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/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
    • G10L25/00Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00
    • G10L25/78Detection of presence or absence of voice signals
    • 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
    • G10L2015/088Word spotting
    • 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/78Detection of presence or absence of voice signals
    • G10L2025/783Detection of presence or absence of voice signals based on threshold decision

Landscapes

  • Engineering & Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Computational Linguistics (AREA)
  • Acoustics & Sound (AREA)
  • Theoretical Computer Science (AREA)
  • General Health & Medical Sciences (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Signal Processing (AREA)
  • Artificial Intelligence (AREA)
  • User Interface Of Digital Computer (AREA)
  • Telephonic Communication Services (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Machine Translation (AREA)

Abstract

발언을 포함하는 오디오 데이터를 수신하고, 하나 이상의 예상되는 스피치 인식 결과들을 나타내는 컨텍스트 데이터를 획득하고, 상기 컨텍스트 데이터에 기초하여 예상되는 스피치 인식 결과를 결정하고, 스피치 인식 엔진에 의해 생성되는 중간 스피치 인식 결과를 수신하고, 상기 중간 스피치 인식 결과를 상기 컨텍스트 데이터에 기초한 상기 오디오 데이터에 대한 예상되는 스피치 스피치 결과와 비교하고, 상기 중간 스피치 인식 결과가 상기 예상되는 스피치 인식 결과에 대응하는지의 여부를 결정하고, 상기 중간 스피치 인식 결과가 상기 예상되는 스피치 인식 결과와 매치됨을 결정함에 응답하여 최종 스피치 인식 결과를 제공하기 위한 컴퓨터 저장 매체 상에 인코딩된 컴퓨터 프로그램을 포함하여, 방법, 시스템 및 장치로서, 상기 최종 스피치 인식 결과는 상기 컨텍스트 데이터에 의해 표시되는 하나 이상의 예상되는 스피치 인식 결과를 포함한다.

Description

강화된 스피치 엔드포인팅{ENHANCED SPEECH ENDPOINTING}
본 명세서는 일반적으로 스피치 인식에 관한 것이다.
자연어 프로세싱 시스템들은 전형적으로, 사용자가 발언을 시작하고 종료할 때를 결정하기 위해 엔드포인터들을 이용한다. 일부 통상의 엔드포인터들은 발언이 시작되거나 종료될 때를 결정함에 있어서 단어들 사이의 휴지(pause)들의 지속 기간을 평가한다. 예를 들어, 사용자가 "what is <긴 휴지> for dinner"라고 말하면, 통상의 엔드포인터는 긴 휴지시에 보이스 입력을 세그멘테이션(segmentation)할 수 있으며, 자연어 프로세싱 시스템에게 완전한 문구 "what is for dinner" 대신 불완전한 문구 "what is"를 프로세싱하는 것을 시도하도록 명령할 수 있다. 엔드포인터가 보이스 입력에 대해 부정확한 시작 또는 종료 지점을 지정하면, 자연어 프로세싱 시스템을 사용하여 보이스 입력을 프로세싱한 결과는 부정확하거나 바람직하지 않을 수 있다.
본 명세서에 기술된 발명의 혁신적인 양상은 스피치 엔드포인팅을 개선하기 위해 제공되는 컨텍스트 데이터를 이용하는 것인 바, 이는 감소된 스피치 인식 레이턴시 및 향상된 스피치 인식 정확도를 달성한다. 클라이언트가 제공한 컨텍스트 데이터는 발언을 나타내는 특정한 오디오 데이터의 예상되는 스피치 인식 결과를 결정하는 데 사용될 수 있다. 중간 스피치 인식 결과는 스피치 인식기에 의해 리턴될 수 있다. 중간 스피치 인식 결과가 리턴됨에 따라, 중간 스피치 인식 결과는 예상되는 스피치 인식 결과를 나타내는 컨텍스트 데이터와 비교될 수 있다.
중간 스피치 인식 결과와 컨텍스트 데이터 사이에 매치 또는 충분한 유사성이 결정되면, 스피치 엔드포인터는 오디오 데이터에 대응하는 발언을 엔드포인팅하고 최종 스피치 인식 결과를 리턴할 수 있다. 중간 스피치 인식 결과와 컨텍스트 데이터 사이에서 매치가 결정되지 않거나 또는 중간 스피치 인식 결과와 컨텍스트 데이터 사이에서 부분적인 매치가 결정되면, 스피치 엔드포인터는 동적으로, EOS(end-of-speech) 타임아웃을 결정하여 예컨대, 추가적인 오디오 데이터가 입력될 수 있게 한다.
본 명세서에 기술된 발명의 하나의 혁신적인 양상은 발언을 포함하는 오디오 데이터를 수신하는 액션(action), 하나 이상의 예상되는 스피치 인식 결과를 나타내는 컨텍스트 데이터를 획득하는 액션, 및 상기 컨텍스트 데이터에 기초하여 오디오 데이터에 대한 예상되는 스피치 인식 결과를 결정하는 액션을 포함할 수 있는 방법들로 구현된다. 상기 방법들은 스피치 인식 엔진에 의해 생성되는 중간 스피치 인식 결과를 수신하는 액션, 상기 중간 스피치 인식 결과를 상기 컨텍스트 데이터에 기초한 상기 오디오 데이터에 대한 예상되는 스피치 인식 결과와 비교하는 액션, 및 상기 중간 스피치 인식 결과가 상기 컨텍스트 데이터에 기초한 오디오 데이터에 대한 예상되는 스피치 인식 결과에 대응함을 결정하는 액션을 포함할 수 있다. 상기 방법들은, 상기 중간 스피치 인식 결과가 상기 컨텍스트 데이터에 기초한 오디오 데이터에 대한 예상되는 스피치 인식 결과와 매치되거나 또는 충분히 유사함을 결정함에 응답하여, 스피치 상태의 종료를 설정하고 최종 스피치 인식 결과를 제공하는 액션을 포함할 수 있으며, 상기 최종 스피치 인식 결과는 상기 컨텍스트 데이터에 의해 나타내진 상기 하나 이상의 예상되는 스피치 인식 결과들을 포함한다.
일반적으로, 본 명세서에서 설명된 발명의 다른 양상은, 중간 스피치 인식 결과가 상기 컨텍스트 데이터에 기초한 상기 오디오 데이터에 대한 상기 예상되는 스피치 인식 결과와의 부분적인 매치를 포함하거나 또는 매치를 포함하지 않음을 결정함에 응답하여 추가적인 오디오 데이터를 수신하도록 스피치 상태의 종료를 위한 시간 기간(time period)을 결정하는 액션을 포함하는 방법들로 구현될 수 있다. 본 명세서에서 기술된 발명의 다른 양상은 시간 기간이 임계 시간을 만족시킴에 응답하여 스피치 상태의 종료를 설정하는 액션을 포함하는 방법들로 구현될 수 있다.
본 명세서에서 설명된 발명의 다른 양상은, 중간 스피치 인식 결과가 상기 컨텍스트 데이터에 기초한 상기 오디오 데이터에 대한 상기 예상되는 스피치 인식 결과와의 부분적인 매치를 포함하거나 또는 매치를 포함하지 않음을 결정함에 응답하여 추가적인 오디오 데이터를 수신하도록 스피치 상태의 종료를 위한 시간 기간을 결정하는 액션을 포함하는 방법들로 구현될 수 있으며, 상기 스피치 상태의 종료를 위한 시간 기간은, 상기 중간 스피치 인식 결과가 상기 컨텍스트 데이터에 기초한 상기 오디오 데이터에 대한 상기 예상되는 스피치 인식 결과와의 부분적인 매치를 포함함을 결정함에 응답하여 제1 시간량인 것으로 결정되고, 상기 시간 기간은 상기 중간 스피치 인식 결과가 상기 컨텍스트 데이터에 기초한 상기 오디오 데이터에 대한 상기 예상되는 스피치 인식 결과와의 매치를 포함하지 않음을 결정함에 응답하여 제2 시간량인 것으로 결정되며, 상기 제1 시간량은 상기 제2 시간량과는 다르다.
이들 및 다른 실시예들은 각각 옵션(option)에 따라서는, 다음의 특징들 중 하나 이상을 포함할 수 있다. 예를 들어, 컨텍스트 데이터를 획득하는 것은 발언을 포함하는 오디오 데이터를 수신하기 전에 컨텍스트 데이터를 획득하고 메모리에 저장하는 것을 포함할 수 있다. 또한, 컨텍스트 데이터를 획득하는 것은 발언을 포함하는 오디오 데이터를 수신하는 것과 동일한 시간 기간에서(contemporaneously) 컨텍스트 데이터를 획득하는 것을 포함할 수 있다. 더욱이, 상기 컨텍스트 데이터는 클라이언트 장치로부터 획득될 수 있고, 클라이언트 장치에 저장되거나 클라이언트 장치 상에 디스플레이되는 데이터에 대응할 수 있다. 추가적으로, 스피치 상태의 종료는 발언이 이루어진 오디오 입력 디바이스를 턴오프시키는 것을 포함할 수 있다.
이들 양상들의 다른 실시예들은 컴퓨터 저장 디바이스들 상에 인코딩된 방법들의 액션들을 수행하도록 구성된 대응하는 시스템들, 장치 및 컴퓨터 프로그램들을 포함한다. 예를 들어, 시스템은 하나 이상의 컴퓨터들 및 명령어들을 저장한 하나 이상의 저장 디바이스들을 포함하며, 상기 명령어들은 상기 하나 이상의 컴퓨터들에 의해 실행될 때, 상기 하나 이상의 컴퓨터들로 하여금 상기 방법들의 액션들을 포함하는 동작들을 수행하도록 동작가능하다. 본 명세서에 설명된 방법들, 시스템들, 장치들 및 컴퓨터 프로그램들은 결과적으로, 상기 언급된 바와 같이 스피치 인식의 정확성이 더 높아지게 할 수 있다. 다시 말해서, 상기 방법들을 구현하는 시스템 또는 장치는 이전의 시스템들보다 적은 스피치 인식 에러들을 갖는 더욱 신뢰성있는 스피치 인식 결과들을 생성할 수 있다. 스피치 인식 결과의 높은 신뢰성은 부차적인 효과들을 가질 수 있다. 예를 들어, 스피치 인식 결과들이 발언이 특정 시스템에 대한 암호문구(passphrase) 또는 어떤 다른 유형의 액세스 문구에 대응하는지를 식별하는 데 사용되는 경우, 스피치 인식의 높은 신뢰성은 이 방법을 구현하는 시스템 또는 장치가 이전 시스템들보다 더욱 보안됨을 의미할 수 있다. 이 방법을 구현하는 시스템 또는 장치는 암호문구에 대해 발언을 정확하게 식별하고 따라서, 암호문구와 매치되는 발언들을 하는 사용자가 시스템에 액세스하는 것을 신뢰성있게 허용하는 반면, 암호문구와 매치되지 않는 발언들을 하는 사용자들을 정확하게 허용하지 않게 할 가능성이 높다. 이 방법을 구현하는 시스템들 및 장치가 암호문구의 인식이 아닌 컨텍스트들에서도 증가된 보안성을 낳을 수 있음이 이해될 것이다. 스피치 인식의 높은 신뢰성과 이에 따른 낮은 스피치 인식 에러들의 다른 효과는 더 적은 에러 수정의 인스턴스들이 요구된다는 것이다. 에러 수정들은 추가적인 시간과 추가적인 컴퓨팅 리소스들 모두를 요할 수 있다. 에러 수정의 필요성을 줄임으로써, 더 적은 시간이 에러들을 수정하는 데 소요된다는 사실로 인해 전반적인 동작의 속도 측면에서 시스템이 개선될 수 있다. 또한, 적은 에러 수정에 의해 절약되는 컴퓨팅 리소스들은 시스템의 다른 태스크들에 할당할 수 있어, 시스템의 동작 속도를 더 증가시킨다. 스피치 인식의 높은 신뢰성의 또 다른 효과는 개선된 기계 제어일 수 있다. 예를 들어, 차량과 같은 기계(또는 다른 시스템 또는 장치)가 스피치 입력들을 사용하여 제어되는 경우, 스피치 인식의 높은 신뢰성은 결과적으로 기계의 동작이 개선되게 할 수 있다. 차량의 컨텍스트에서, 이러한 개선된 동작의 하나의 효과는 향상된 안전성 및/또는 향상된 효율성일 수 있다. 특히, 본 명세서에 기술된 방법들을 구현하는 컴퓨팅 장치를 포함하는 차량은 차량을 제어하기 위한 스피치 발언을 정확하게 인식할 가능성이 높고, 따라서 사용자의 차량 명령들을 따를 가능성이 높다.
본 발명의 하나 이상의 실시예들의 세부 사항은 첨부된 도면들 및 이하의 설명에 제시된다. 본 발명의 다른 특징들 및 장점들은 상세한 설명, 도면들 및 특허 청구 범위로부터 분명해질 것이다.
도 1은 본 발명의 실시예들에 따른 예시적인 시스템의 도면이다.
도 2는 본 발명의 실시예들에 따른 스피치 인식 및 엔드포인팅에 사용된 예시적인 발언 및 예시적인 신호들을 도시하는 도면이다.
도 3은 본 발명의 실시예들에 따른 엔드포인팅을 위한 예시적인 프로세스를 도시하는 흐름도이다.
다양한 도면들에서 유사한 도면 부호들 및 지정들은 유사한 요소들을 나타낸다.
도 1은 본 발명의 실시예들에 따른 예시적인 시스템의 도면이다. 시스템(100)은 스피치 엔드포인터(110), 저장 매체(120) 및 스피치 인식기(130)를 포함한다. 이 도면은 특정 시퀀스로 도시될 수 있거나 도시되지 않을 수 있는 다양한 입력들 및 출력들을 도시한다.
일반적으로, 스피치 인식 시스템들에서, 스피치 엔드포인팅(speech endpointing)은 발언의 시작 및 종료를 결정함으로써 유입 오디오의 어느 부분이 스피치를 포함하는지를 결정하는 프로세스이다. 스피치에 대응하는 유입 오디오의 부분은 스피치 인식 결과 또는 오디오의 표기(transcript)를 얻기 위해 스피치 인식기에 전송된다.
부정확한 스피치 엔드포인팅은 인식 에러들의 상당한 증가로 이어지며 사용자 경험에 악영향을 미칠 수 있다. 부정확한 스피치 엔드포인팅의 영향들은 엔드포인팅의 문제가 훨씬 어려워지는 노이지 상태들(noisy condition)에서 훨씬 해로울 수 있다. 사용자가 인지하는 스피치 인식의 레이턴시는 사용자가 말하기를 중지할 때로부터 스피치 인식 결과 또는 표기가 수신될 때까지의 시간이다. 부정확한 스피치 엔드포인팅은 사용자가 인지하는 스피치 인식의 레이턴시의 증가로 이어질 수 있다. 따라서, 본 발명의 장점들은 스피치 인식 레이턴시를 개선하고 스피치 인식 정확도를 향상시키는 것을 포함한다.
스피치 엔드포인팅을 향상시키기 위해, 스피치 인식 요청 전, 후, 또는 그 시점에 클라이언트 디바이스에 의해 제공될 수 있는 컨텍스트를 이용하고 그럼으로써 스피치 인식 정확도를 향상시키고 스피치 인식 레이턴시를 감소시키는 다양한 방식들이 본 명세서에 기술된다.
스피치 인식 동안, 인식 시스템이 스피치 오디오 데이터를 수신함에 따라, 중간 스피치 인식 결과들은 이들이 이용가능해지는 대로 스피치 엔드포인팅 모듈 및 클라이언트에 다시 전송될 수 있다. 스피치 엔드포인팅 시, 사용자가 인지하는 레이턴시는 EOS(End-Of-Speech) 타임아웃과 매우 상관되는 바, EOS 타임아웃은 시스템이 사용자가 말하기를 중지한 것처럼 보인 후 사용자가 말하기를 계속하는 것을 대기하는 시간을 나타낸다. 시스템은 사용자가 말하기를 종료했는지 또는 단지 잠시 멈추는 것인지에 대한 불확실성 때문에 대기한다. 미리 결정된 EOS 타임아웃 후 사용자가 말하기를 계속하지 않으면, 즉, 추가의 스피치가 검출되지 않으면, 최종 인식 결과가 리턴되고 현재의 인식 세션이 종료될 수 있는 바, 예를 들어, 마이크로폰이 꺼지거나(close) 턴오프될 수 있다. EOS 타임아웃이 만료되기 전에 사용자가 말하기를 계속하면, 시스템은 오디오를 소비하고 그 오디오에 대해 스피치 인식을 수행하는 것을 계속할 수 있다. 따라서, EOS 타임아웃의 선택은 스피치 인식 결과의 정확도 및 레이턴시 모두에 상당한 영향을 미칠 수 있다.
EOS 타임아웃을 동적으로 조정하기 위해, 본 명세서에 설명된 바와 같이, 클라이언트가 제공한 컨텍스트가 사용될 수 있는 바, 이는 결과적으로, 스피치 인식 레이턴시가 감소되게 하고 스피치 인식 결과의 정확도가 향상되게 한다.
도 1을 참조하여, 발언에 대응하는 오디오 데이터는 클라이언트 디바이스로부터 수신되어 스피치 엔드포인터(110)에 입력될 수 있다. 동일한 시간 기간에서, 즉 오디오 데이터를 수신하기 전, 수신하는 동안 그리고/또는 수신한 후, 컨텍스트 데이터는 클라이언트 디바이스로부터 수신되고 스피치 엔드포인터(110)에 입력될 수 있다. 대안적인 실시예들에서, 컨텍스트 데이터는 오디오 데이터를 수신함에 앞서 수신될 수 있으며, 미리 결정된 클라이언트 컨텍스트 ID와 관련(association)될 수 있다. 수신된 컨텍스트 데이터 및 관련된 클라이언트 컨텍스트 ID는 저장된 클라이언트 컨텍스트로서 저장 매체(120)에 저장될 수 있다. 따라서, 컨텍스트 데이터 및 컨텍스트 ID는 오디오 데이터가 수신되기에 앞서 서로 관련되어 저장될 수 있고, 컨텍스트 ID는 오디오 데이터를 수신하는 것과 동일한 시간 기간에서 수신될 수 있다. 수신된 컨텍스트 ID와 관련된 컨텍스트 데이터는 저장 매체(120)로부터 검색될 수 있다.
수신된 오디오 데이터는 스피치 인식기(130)에 입력될 수 있다. 스피치 인식기(130)는 오디오 데이터를 프로세싱할 수 있고, 프로세싱을 함에 따라 오디오 데이터에 대한 중간 스피치 인식 결과를 리턴할 수 있다. 스피치 엔드포인팅 모듈은 스피치 인식기(130)로부터 리턴된 오디오 데이터의 중간 스피치 인식 결과를, 오디오 데이터를 수신하는 것과 동일한 시간 기간에서 수신된 또는 상기 오디오 데이터를 수신하는 것과 동일한 시간 기간에서 수신된 컨텍스트 ID에 기초하여 저장 매체(120)로부터 검색된 컨텍스트 데이터와 비교할 수 있다. 오디오 데이터가 스피치 인식기(130)에 입력됨에 따라, 이는 오디오 데이터를 프로세싱하는 것을 계속하고 오디오 데이터의 인식 결과를 리턴한다.
중간 스피치 인식 결과와 컨텍스트 데이터 간에 매치 또는 충분한 유사성이 결정되면, 스피치 엔드포인터(110)는 오디오 데이터에 대응하는 발언을 엔드포인팅하고 최종 스피치 인식 결과를 리턴할 수 있다. 리턴된 스피치 인식 결과는 클라이언트 디바이스에 전송될 수 있다. 최종 스피치 인식 결과는 컨텍스트 데이터를 포함할 수 있다. 예를 들어, 컨텍스트 데이터는 하나 이상의 이름들을 포함할 수 있고, 최종 인식 결과는 컨텍스트 데이터에 포함된 이름들 중 하나 이상을 포함할 수 있다.
중간 스피치 인식 결과와 컨텍스트 데이터 간에 매치가 결정되지 않거나 또는 중간 스피치 인식 결과와 컨텍스트 데이터 간에 부분적인 매치가 결정되면, 스피치 엔드포인터(110)는 EOS 타임아웃을 동적으로 조정할 수 있다. 예를 들어, EOS 타임아웃은 예상되는 스피치 인식 결과와 관련하여 미리 결정된 시간량만큼 연장될 수 있다. EOS 타임아웃은 중간 스피치 인식 결과와 컨텍스트 데이터 간의 부분적인 매치를 결정함에 응답하여 미리 결정된 시간량만큼 연장될 수 있다. 또한, EOS 타임아웃은 중간 스피치 인식 결과와 컨텍스트 데이터 사이의 매치가 없다는 결정에 응답하여 미리 결정된 시간량만큼 연장될 수 있다. 대안적으로, 중간 스피치 인식 결과와 컨텍스트 데이터 사이의 매치가 없다는 결정에 응답하여, EOS 타임아웃은 디폴트 시간 기간으로 복귀(revert)될 수 있다.
컨텍스트 데이터는 사용자에게 제시된 쿼리와 관련될 수 있다. 대안적으로, 컨텍스트 데이터는 텍스트, 이미지들, 비디오, 오디오, 등과 같은 스크린 상에 디스플레이된 정보로부터 도출될 수 있다. 컨텍스트 데이터는 대안적으로는, 클라이언트 디바이스의 현재 동작 상태(state) 또는 조건(condition)에 기초할 수 있다. 예를 들어, 컨텍스트 데이터는 클라이언트 디바이스 상에서 실행되는 어플리케이션의 소정 동작 상태 또는 조건과 관련될 수 있다. 예를 들어, 어플리케이션은 선택이 행해지거나 특정 정보가 입력되는 상태에 있을 수 있다. 따라서, 컨텍스트 데이터는 클라이언트 디바이스의 현재 상태와 관련된 예상되는 발언들에 기초하는 것을 포함하여 다양한 방식들로 도출되거나 생성될 수 있다.
예를 들어, 옵션들이 디스플레이될 수 있는 바, 사용자가 이들 옵션들 중 하나를 선택할 것이다. 디스플레이된 옵션들은 컨텍스트 데이터로서 수신될 수 있다. 발언이 수신되고, 스피치 인식기가 발언과 관련된 오디오 데이터를 프로세싱하는 것을 시작할 때, 상기 스피치 인식기가 컨텍스트 데이터로서 입력된 이들 디스플레이된 옵션들 중 하나에 대한 매치, 예컨대 충분한 유사성을 결정하자 마자, 스피치 상태의 종료가 즉시 개시될 수 있고 스피치 인식 결과가 리턴될 수 있다. 따라서, 엔드포인팅을 위해 만료되기에 충분한 EOS 타임아웃을 기다리기보다는, 컨텍스트 데이터에 기초하여 일단 발언에 대한 매치가 결정되면 스피치 인식 결과를 리턴함으로써 스피치 인식의 레이턴시가 감소될 수 있다.
엔드포인팅은 추가적으로, 쿼리에 대한 예상되는 발언 또는 응답에 기초할 수 있다. 예를 들어, 수신자 - 이 수신자에게 메시지가 전송됨 - 의 입력과 관련된 컨텍스트 데이터로서의 연락처(contacts)의 리스트의 경우, 엔드포인터는 하나보다 많은 연락처 이름의 입력을 허용할 수 있다. 따라서, 예를 들어, 엔드포인터는 컨텍스트 데이터와 제1 이름의 매치를 결정함과 그리고 스피치 인식기가 제1 이름 입력을 리턴함에 응답하여 제1 이름 입력만의 스피치 인식 결과를 리턴하지 않고 오디오 데이터의 입력을 중지하지 않을 수 있다. 예를 들어 "Who do you want to send this message to?"와 같은 쿼리(query)가 사용자에게 표시될 수 있고 사용자는 "John, Bill, and Joe"를 응답할 수 있다. "John"이 컨텍스트 데이터로서 연락처 리스트의 일부인 경우, 시스템은 John의 입력된 발언이 컨텍스트 데이터와 매치됨을 결정한 후 엔드 프로세싱을 행하는 (즉, 발언을 엔드포인팅하는) 것이 아니라, "John, Bill, and Joe"의 전체 발언의 프로세싱을 할 수 있게 할 것이다. 그러한 경우에, 예상되는 입력은 하나보다 많은 이름을 포함할 수 있고, 예상되는 입력에 기초하여, 시스템은 하나보다 많은 이름의 발언을 허용하도록 EOS 타임아웃을 연장할 수 있다. 그럼에도 불구하고, 스피치 인식 레이턴시는 스피치 인식기로부터 리턴된 중간 스피치 인식 결과들의 컨텍스트 데이터에 대한 매치의 더욱 빠른 결정에 기초하여 여전히 감소될 수 있다.
컨텍스트 데이터에 대한 부분적인 매치가 발언에 대해 결정되면, EOS 타임아웃은 추가적인 오디오 데이터가 입력될 수 있도록 연장될 수 있다. 예를 들어 컨텍스트 데이터에 기초하여, 출생 연도가 입력될 것으로 예상되고, 사용자는 "19"를 말하고, 그 다음 휴지가 뒤따른다. 이 경우, 스피치 인식기는 "19"의 인식 결과를 리턴할 수 있고, 시스템은 그것이 컨텍스트 데이터에 부분적으로 매치됨을 결정할 수 있다. 그러한 결정에 응답하여, EOS 타임아웃은 사용자가 연도의 나머지 부분을 말하도록 연장될 수 있다. 그러나, 사용자가 어떤 추가적인 입력을 말하지 않으면, 엔드포인터는 미리 결정된 디폴트 EOS 타임아웃에 기초하여 스피치 상태의 종료를 개시할 수 있다.
특정 예는 클라이언트가 특정 상태에서 예를 들어 "Please say red, green or blue"와 같은 프롬프트로서 스크린에 표시된 세 가지 컬러들 중 하나를 선택하도록 사용자에게 요청할 수 있는 어플리케이션인 경우이다. 사용자가 프롬프트에 응답하기 위해 말하기를 시작함에 따라, 어플리케이션은 오디오 데이터와 함께 어플리케이션 또는 클라이언트 컨텍스트 데이터를 전송할 수 있는 바, 이는 이 경우 문구들 "red", "green", "blue"일 수 있다. 상술한 바와 같이, 이들 문구들은 스피치 인식 결과의 레이턴시를 감소시키기 위해 스피치 엔드포인팅 시스템에 의해 사용될 수 있다. 스피치 엔드포인팅 모듈, 예컨대 스피치 엔드포인터(110)는 이 컨텍스트 데이터를 수신 및 저장할 수 있다. 중간, 즉, 최종이 아닌 인식 결과가 스피치 인식기(130)로부터 수신되기 시작함에 따라, 중간 스피치 인식 결과는 제공된 컨텍스트 데이터와 비교될 수 있다. 일단, 스피치 인식기(130)에 의해 리턴된 인식 결과가 클라이언트가 제공한 컨텍스트 데이터에 존재하는 문구와 매치하는 것으로 결정되면, 스피치 엔드포인터(110)는 EOS 타임아웃이 만료되는 것을 더이상 대기할 필요가 없다. 대신 최종 인식 결과가 리턴되고 클라이언트에 전송되어, 시간을 절약하고 스피치 인식 레이턴시를 감소시킬 수 있다.
다른 특정 예는 어플리케이션이 비행 스케줄링이 실행되는 특정 상태 또는 기능 중인 경우이다. 사용자는 문구 "from [Origin_Airport] to [Destination_Airport]"와 같은 특정 쿼리 문구를 말하도록 프롬프트받을 수 있다. 모든 공항의 리스트는 스피치 엔드포인팅 모듈, 예를 들어 스피치 엔드포인터(110)에서 컨텍스트 데이터로서 수신될 수 있다. 대안적으로, 모든 공항들의 리스트를 포함하는 컨텍스트 데이터는 컨텍스트 ID와 관련하여 저장 매체(120)에 저장될 수 있고, 컨텍스트 ID는 수신될 수 있고, 그 컨텍스트 ID와 관련된 컨텍스트 데이터는 저장 매체(120)로부터 검색될 수 있다.
사용자가 예를 들어 "From JFK to"라고 말한 다음 목적지 공항 이름을 생각하려고 노력하는 동안 휴지함에 응답하여, 스피치 인식 시스템은 휴지가 디폴트 EOS 타임아웃보다 길면 인식 세션을 종료할 수 있다. 이는 결과적으로, 단지 부분적인 인식 결과가 생성되게 하고 이는 바람직하지 않은 사용자 경험인 바, 그 이유는 사용자가 적절한 출력을 얻기 위해 전체 문구를 반복해야 하기 때문이다. 그러나 클라이언트가 제공한 정보를 컨텍스트 데이터로서 사용함으로써, 오디오는 문구 "from [Origin_Airport] to [Destination_Airport]"에 대응할 것으로 예상되며 예상되는 문구와의 부분적인 매치가 수신되는 경우 EOS 타임아웃이 연장될 수 있다. 따라서, 전술한 시나리오에서, 스피치 엔드포인터 모듈, 예컨대 스피치 엔드포인터(110)가 중간 결과의 일례로서 "From JFK"만을 수신함에 응답하여, 시스템은 사용자가 디폴트 EOS 타임아웃이 만료되었을 때를 초과한 연장된 시간량 동안 사용자가 예상되는 문구를 말하는 것을 종료하는 것을 대기하고, 그럼으로써 사용자가 문구를 말하기 위한 시간을 연장한다. 예상되는 문구 "from [Origin_Airport] to [Destination_Airport]"의 형태의 결과가 수신될 때, 스피치 엔드포인터(110)는 인식 세션을 종료할 것이다. 대안적으로는, 사용자가 "I'd like to go to [Destination_Airport], leaving from [Origin_Airport]"와 같은 정보를 나르기 위해 발언할 수 있는 다양한 문구들을 수용하기 위해 더 복잡한 문법들이 사용될 수 있다.
일부 구현들에서, 컨텍스트 데이터는 저장 매체(120)에 저장되며, 이는 컨텍스트가 변경될 가능성이 없는 시나리오들에 특히 유용하다. 컨텍스트 데이터로서의 공항들의 목록은 매우 자주 변경되지 않을 것이기 때문에 사전에 수신될 수 있음에 따라 공항들과 관련하여 위에서 설명한 예는 하나의 예시적인 시나리오이다. 다른 예로서, 예를 들어, 사용자가 생일 또는 출생 연도를 말할 필요가 있는 서식(form)을 채우는 시나리오에서, 컨텍스트 데이터는 또한 사전에 수신되어 저장될 수 있다.
일반적으로, 도 2에 도시된 바와 같이, 도해(200)는 컴퓨팅 디바이스(210)가 유입 오디오 입력(202)을 프로세싱할 때 컴퓨팅 디바이스(210)에 의해 생성되거나 검출될 수 있는 신호들(202-206)을 도시한다. 컴퓨팅 디바이스(210)는 컴퓨팅 디바이스(210)의 마이크로폰 또는 다른 오디오 입력 디바이스를 통해 오디오 입력(202)을 수신할 수 있다. 컴퓨팅 디바이스(210)는 오디오 입력(202)을 수신하고 미리 지정된 주파수 및 해상도로 오디오 입력(202)을 샘플링할 수 있다. 예를 들어, 컴퓨팅 디바이스(210)는 8 kHz, 16 kHz, 44.1 kHz 또는 어떤 다른 샘플 레이트에서 오디오 입력(202)을 샘플링할 수 있고, 해상도는 16 비트, 22 비트 또는 어떤 다른 해상도일 수 있다. 오디오 입력(202)은 사용자(214)로부터의 예시적인 발언(212)에 기초하여 샘플링된 아날로그 데이터를 도시한다. 컴퓨팅 디바이스(210)는 발언(212)에 대응하는 오디오 입력(202)을 기록하고 저장할 수 있다.
컴퓨팅 디바이스(210)는 사용자(214)가 말한 발언(212)을 표기할 수 있다. 대안적으로는, 발언(212)의 표기가 원격 서버 상에 생성될 수 있다. 일부 구현들에서, 컴퓨팅 디바이스(210)는 자동화된 스피치 인식(ASR) 소프트웨어를 실행하는 컴퓨팅 디바이스(210)의 프로세서를 사용하여 발언(212)의 단어들을 표기한다. 예를 들어, 컴퓨팅 디바이스(210)는 초기 부분 오디오 입력(202)이 용어(220) "from"을 포함함을 컴퓨팅 디바이스(210) 상에서 로컬하게 결정할 수 있다. ASR 소프트웨어는 컴퓨팅 디바이스(210)가 사용자로부터 발언(212)을 수신함에 따라 오디오 입력(202)을 수신할 수 있다. ASR 소프트웨어가 오디오 입력(202) 내의 용어를 인식할 때, ASR 소프트웨어는 컴퓨팅 디바이스(210)에 출력을 위해 그 용어를 제공한다. 컴퓨팅 디바이스(210)는 ASR 소프트웨어가 자신이 인식하는 용어들을 리턴하는 것 간의 시간량을 기록할 수 있다.
일부 구현들에서, 네트워크를 통해 액세스가능한 서버가 ASR 소프트웨어를 실행할 수 있다. 이 경우, 컴퓨팅 디바이스는 네트워크를 통해 서버에 오디오 입력(202)을 전송하고, 서버로부터 용어들을 수신하고, 서버가 리턴하는 용어들 사이의 시간량을 기록할 수 있다. 추가적으로, 스피치 엔드포인팅 모듈, 예컨대 스피치 엔드포인터(110)는 또한, 네트워크를 통해 액세스가능한 서버 상에 있을 수 있다.
도 2에 도시된 바와 같이, 예를 들어, 비행 검색에 대한 프롬프트에 응답하여, 사용자는 문구 "From JFK"라는 발언을 하고 그 다음, 문구 "To JFK"로 끝내기 전에 휴지가 뒤따른다. 이 경우, 디폴트 또는 일반 엔드포인트(204)는 용어(220) "From" 및 용어(222) "JFK"만을 캡쳐할 수 있다. 디폴트 EOS 타임아웃은 발언(212) 내의 문구들 사이의 휴지 동안 발생하고, 스피치 상태의 종료가 결과로서 개시될 수 있다. 따라서, 용어(220) "From" 및 용어(222) "JFK"만이 프롬프트에 응답하여 발언(212)에 대해 표기될 수 있어서, "From JFK"의 최종 인식 결과(230)를 생성한다. 그러나, 본 발명의 실시예들에 따르면, 컨텍스트 데이터에 기초하여, 출발 공항과 목적지 공항을 갖는 쿼리가 발언(212)으로서 입력됨이 결정될 수 있고, EOS 타임아웃은 사용자가 쿼리 말하기를 종료하기 위해 시간을 연장하도록 동적으로 조정될 수 있다. 이 경우에, 조정된 엔드포인트(206)는 발언(212)에서 용어들(220-226) 모두를 캡쳐할 수 있고, 그럼으로써 쿼리의 표기(235)를 "From JFK, To LAX"로서 생성할 수 있다.
도 3은 발언의 엔드포인팅을 위한 예시적인 프로세스의 도해이다. 프로세스(300)는 도 2로부터의 컴퓨팅 디바이스(210)와 같은 컴퓨팅 디바이스에 의해 또는 도 1에 도시된 바와 같은 서버 또는 서버들의 네트워크에 의해 수행될 수 있다. 프로세스(300)는 컨텍스트 데이터에 기초한 오디오 데이터에 대한 예상되는 스피치 인식 결과와 중간 스피치 인식 결과를 비교하기 위해 오디오 데이터 및 컨텍스트 데이터를 분석하고, 중간 스피치 인식 결과와 예상되는 스피치 인식 결과 사이의 매치 또는 비매치 또는 부분적인 매치를 결정함에 따라 발언을 엔드포인팅하도록 EOS 타임아웃을 동적으로 조정한다.
시스템은 발언을 포함하는 오디오 데이터를 수신한다(310). 상기 발언은 컴퓨팅 디바이스의 마이크로폰에 말하는 사용자로부터 수신될 수 있고, 상기 디바이스는 사용자가 말하는 것에 대응하는 오디오 신호를 수신할 수 있다. 상기 디바이스는 오디오 신호를 프로세싱할 수 있으며 이를 서버에 전송할 수 있다. 발언을 포함하는 오디오 데이터는 서버에 의해 수신될 수 있다. 일부 구현들에서, 오디오 데이터는 서버에 전송되지 않을 수 있고 스피치 인식은 서버가 아닌 컴퓨팅 디바이스에서 발생할 수 있다.
시스템은 하나 이상의 예상되는 스피치 인식 결과를 나타내는 컨텍스트 데이터를 획득한다(320). 상술한 바와 같이, 컨텍스트 데이터는 오디오 데이터를 수신하는 것과 동일한 시간 기간에서 수신될 수 있다. 대안적인 실시예에서, 컨텍스트 데이터는 오디오 데이터를 수신하기에 앞서 수신될 수 있고, 미리 결정된 클라이언트 컨텍스트 ID와 관련되어 저장 디바이스에 저장될 수 있다. 이 경우, 시스템은 오디오 데이터를 수신함과 동일한 시간 기간에서 클라이언트 컨텍스트 ID를 수신하고, 저장 디바이스로부터 클라이언트 컨텍스트 ID와 관련된 컨텍스트 데이터를 검색할 수 있다. 컨텍스트 데이터는 사용자에게 제시된 쿼리와 관련될 수 있으며, 예를 들어, 컨텍스트 데이터는 쿼리와 관련된 하나 이상의 예상되는 스피치 인식 결과를 포함할 수 있다. 대안적으로, 컨텍스트 데이터는 텍스트, 이미지, 비디오, 오디오 등과 같은 스크린 상에 디스플레이된 정보로부터 도출될 수 있다. 컨텍스트 데이터는 대안적으로는, 클라이언트 디바이스의 현재 동작 상태 또는 조건에 기초할 수 있다.
시스템은 컨텍스트 데이터에 기초하여 오디오 데이터에 대한 예상되는 스피치 인식 결과를 결정한다(330). 예를 들어, 사용자가 "Who do you want to call?" 또는 "Who do you want to play the game with?"와 같은 쿼리로 이름에 대해 프롬프트를 받는 경우, 컨텍스트 데이터는 사용자와 관련된 연락처 리스트일 수 있다. 따라서, 예상되는 스피치 인식 결과는 사용자와 관련된 연락처 리스트의 이름들 중 하나 이상일 수 있다. 다른 예로서, 출생 연도에 대한 입력 필드가 하이라이트 또는 선택되는 경우, 컨텍스트 데이터는 연도 리스트일 수 있고, 예상되는 스피치 인식 결과는 그 연도들 중 하나일 수 있다.
시스템은 스피치 인식 엔진에 의해 생성된 중간 스피치 인식 결과를 수신한다(340). 오디오 데이터가 수신되어 스피치 인식 엔진에 전송됨에 따라, 스피치 인식 엔진은 오디오 데이터를 프로세스하고 중간 스피치 인식 결과를 생성 및 리턴하는 것을 시작한다. 예를 들어, 중간 스피치 인식 결과는 단어의 제1 음절(syllable) 또는 단어의 제1 음성(phonetic sound)을 포함할 수 있다. 대안적으로, 중간 스피치 인식 결과는 단어의 복수의 음절들, 복수의 음성들 또는 문구의 하나 이상의 단어들을 포함할 수 있다.
시스템은 중간 스피치 인식 결과를 컨텍스트 데이터에 기초한 오디오 데이터에 대한 예상되는 스피치 인식 결과와 비교한다(350). 스피치 인식 엔진이 중간 스피치 인식 결과를 생성하여 리턴함에 따라, 그 중간 스피치 인식 결과는 컨텍스트 데이터에 기초하여 결정된 예상되는 스피치 인식 결과와 비교될 수 있다. 컨텍스트 데이터가 연락처 리스트인 상술한 예로 리턴하여, 예상되는 스피치 인식 결과는 연락처 리스트의 이름들 중 하나 이상일 수 있다. 중간 스피치 인식 결과는 연락처 리스트 내의 하나 이상의 이름들의 예상되는 스피치 인식 결과와 비교된다. 예를 들어, 연락처 목록이 이름들 "Bill", "Charlie" 및 "Hillary"를 포함하는 경우, 시스템은 중간 스피치 인식 결과를 이 이름들 각각과 비교한다.
시스템은 중간 스피치 인식 결과가 컨텍스트 데이터에 기초한 오디오 데이터에 대한 예상되는 스피치 인식 결과에 대응하는지의 여부를 결정한다(360). 이름들 "Bill", "Charlie" 및 "Hillary"의 연락처 리스트를 나타내는 컨텍스트 데이터와 함께 상기에 설명된 예로 다시 리턴하여, 중간 스피치 인식 결과가 예를 들어 "Cha-"인 경우, 예상되는 스피치 인식 결과가 "Bill", "Charlie", "Hillary" 중 하나임을 나타내는 컨텍스트 데이터에 기초하여, 중간 스피치 인식 결과는 "Bill" 또는 "Hillary"가 아니라 "Charlie"의 예상되는 스피치 인식 결과에 대응함이 결정된다. 추가적으로, 중간 스피치 인식 결과는 스피치 인식 엔진에 의해 생성된 중간 스피치 인식 결과와 관련된 특정 신뢰수준(confidence level)을 가질 수 있다. 신뢰수준은 스피치 인식 결과의 정확도의 신뢰수준에 대응할 수 있다. 신뢰수준은 중간 스피치 인식 결과가 예상되는 스피치 인식 결과에 대응하는지의 여부를 결정하는 데 기여할 수 있다.
시스템은 스피치 상태의 종료를 초기화하고, 중간 스피치 인식 결과가 컨텍스트 데이터에 기초한 오디오 데이터에 대한 예상되는 스피치 인식 결과와 매치함을 결정함에 응답하여 최종 스피치 인식 결과를 제공한다(370). 최종 스피치 인식 결과는 컨텍스트 데이터에 의해 지시된 하나 이상의 예상되는 스피치 인식 결과를 포함할 수 있다. 따라서, 중간 스피치 인식 결과가 예상되는 스피치 인식 결과와 매치됨이 결정되자 마자, 엔드포인터는 EOS 타임아웃이 만료되기를 계속 기다릴 필요가 없다. 오히려, 최종 스피치 인식 결과는 클라이언트 디바이스 또는 사용자에게 출력될 수 있으며, 그럼으로써 스피치 인식 레이턴시를 감소시킬 수 있다.
시스템은 중간 스피치 인식 결과가 컨텍스트 데이터에 기초한 오디오 데이터에 대한 예상되는 스피치 인식 결과와의 부분적인 매치를 포함하거나 또는 매치를 포함하지 않음을 결정함에 응답하여 추가적인 오디오 데이터를 수신하기 위해 스피치 상태의 종료를 위한 시간 기간을 연장시킨다(380). 중간 스피치 인식 결과와 컨텍스트 데이터 사이에서 매치가 결정되지 않거나 중간 스피치 인식 결과와 컨텍스트 데이터 사이에 부분적인 매치가 결정되면 EOS 타임아웃은 동적으로 조정될 수 있다. EOS 타임아웃은 특정 예상되는 스피치 인식 결과와 관련하여 미리 결정된 시간량만큼 연장될 수 있다. 예를 들어, 예상되는 스피치 인식 결과가 여러 세 단어 문구들 중 하나이고, 중간 스피치 인식 결과가 2 개의 단어들만을 포함한다면, EOS 타임아웃은 제3 단어의 오디오의 입력에 대해 추가적인 시간을 허용하기 위해 미리 결정된 시간량만큼 연장될 수 있다.
EOS 타임아웃은 중간 스피치 인식 결과와 컨텍스트 데이터 간의 부분적인 매치를 결정함에 응답하여 미리 결정된 시간량만큼 연장될 수 있다. 예를 들어, 컨텍스트 데이터가 예상 스피치 인식 결과가 101과 200 사이의 숫자이고 사용자가 말한 발언이 "one hundred" 다음 휴지가 뒤따르고, 그 다음 "twenty-five"인 경우, 디폴트 EOS 타임아웃은 휴지가 타임아웃보다 길면 스피치 인식 시스템이 인식 세션을 종료하게 하고, 오직 "one hundred"의 표기를 생성하여, 사용자가 전체 문구를 반복해야 하게 한다. 그러나, 본 발명의 실시예들에 따르면, 중간 스피치 인식 결과가 "one hundred"이면, EOS 타임아웃은 예상되는 스피치 인식 결과가 101 내지 200 사이의 숫자임을 나타내는 컨텍스트 데이터에 기초하여 숫자의 나머지의 오디오의 입력을 위해 추가적인 시간을 허용하도록 미리 결정된 시간량만큼 연장될 수 있다. 따라서, 전체 발언 "one hundred twenty-five"의 표기가 생성될 수 있어, 스피치 인식 시스템의 정확도를 향상시키고 사용자가 전체 문구를 반복하게끔 하는 것을 방지한다.
또한, EOS 타임아웃은 중간 스피치 인식 결과와 컨텍스트 데이터 사이의 매치가 없음을 결정함에 응답하여 미리 결정된 시간량만큼 연장될 수 있다. 예를 들어, 파일들의 폴더가 디스플레이되고, "Which file would you like to open?"와 같은 프롬프트가 표시되면, 컨텍스트 데이터는 그 열린(open) 폴더 내의 파일들의 리스트일 수 있다. 컨텍스트 데이터에 기초하여, 예상되는 중간 스피치 인식 결과는 파일들의 이름들 중 하나 이상일 수 있다. 사용자가 말한 발언이 "open" 다음 휴지, 그 다음 "file A"이고, 중간 스피치 인식 결과가 "open"이면, 중간 스피치 인식 결과는 컨텍스트 데이터와 매치하지 않는다. 이 경우, EOS 타임아웃은 열릴 파일 이름의 오디오의 입력을 위한 추가적인 시간을 허용하도록 미리 결정된 시간량만큼 연장될 수 있다. 따라서, 발언의 부분적인 표기 및 예를 들어, "open"이라고 명명된 파일이 존재하지 않음을 사용자에게 나타내는 표시 - 이는 바람직하지 않은 사용자 경험임 - 가 아니라, 완전한 발언 "open file A"의 표기가 생성될 수 있다. 대안적으로, 중간 스피치 인식 결과와 컨텍스트 데이터 사이의 매치가 없음을 결정함에 응답하여, EOS 타임아웃은 디폴트 EOS 타임아웃으로서 디폴트 시간 기간으로 복귀될 수 있다.
본 명세서에 설명된 엔티티들의 실시예들은 본 명세서에 설명된 것과 다른 그리고/또는 기타 모듈들을 포함할 수 있다. 또한, 모듈들에 기인하는 기능은 다른 실시예에서는 기타 또는 다른 모듈들에 의해 수행될 수 있다. 더욱이, 이 설명은 명료성과 편의를 위해 용어 "모듈"을 간혹 생략한다.
다수의 구현이 설명되었다. 그럼에도 불구하고, 본 발명의 사상 및 범위를 벗어남이 없이 다양한 수정들이 이루어질 수 있음이 이해될 것이다. 예를 들어, 상기 흐름들의 다양한 형태들이 재순서화된, 추가된 또는 제거된 단계들과 함께 사용될 수 있다.
본 명세서에 기술된 본 발명의 실시예들 및 동작들은 본 명세서에 개시된 스트럭쳐들 및 이들의 구조적 균등물들을 포함하여, 디지털 전자 회로망으로, 컴퓨터 소프트웨어, 펌웨어 또는 하드웨어로 또는 이들 중 하나 이상의 조합들로 구현될 수 있다. 본 명세서에 개시된 본 발명의 실시예들은 데이터 프로세싱 장치에 의한 실행을 위해 또는 데이터 프로세싱 장치의 동작을 제어하기 위해 컴퓨터 저장 매체 상에 인코딩된 하나 이상의 컴퓨터 프로그램들, 즉 컴퓨터 프로그램 명령어들의 하나 이상의 모듈들로서 구현될 수 있다. 대안적으로 또는 추가적으로는, 프로그램 명령어들은 데이터 프로세싱 장치에 의한 실행을 위해 적절한 수신기 장치에 전송하기 위한 정보를 인코딩하도록 생성된 인공적으로 생성된 전파 신호(예컨대 머신-생성 전기, 광학, 또는 전자기 신호) 상에 인코딩될 수 있다.
컴퓨터 저장 매체는 컴퓨터 판독가능 저장 디바이스, 컴퓨터 판독가능 저장 기판, 랜덤 또는 시리얼 액세스 메모리 어레이 또는 디바이스, 또는 이들 중 하나 이상의 조합일 수 있거나 또는 이에 포함될 수 있다. 더욱이, 컴퓨터 저장 매체는 전파 신호가 아니지만, 컴퓨터 저장 매체는 인공적으로 생성된 전파 신호에 인코딩된 컴퓨터 프로그램 명령어들의 소스 또는 목적지일 수 있다. 컴퓨터 저장 매체는 또한, 하나 이상의 별개의 물리적 컴포넌트들 또는 매체들(예컨대, 복수의 CD들, 디스크들 또는 다른 저장 디바이스들)일 수 있거나 또는 이들에 포함될 수 있다.
본 명세서에 기술된 동작들은 하나 이상의 컴퓨터 판독가능 저장 디바이스들 상에 저장되거나 또는 다른 소스들로부터 수신된 데이터로 데이터 프로세싱 장치에 의해 수행되는 동작들로서 구현될 수 있다.
용어 "데이터 프로세싱 장치"는 예컨대, 프로그래밍 프로세서, 컴퓨터, 시스템 온 칩 또는 이들의 복수, 또는 이들의 조합들을 포함하여, 데이터를 프로세싱하기 위한 모든 종류의 장치, 디바이스들, 및 머신들을 포괄한다. 장치는 특수용 로직 회로망, 예컨대 FPGA(field programmable gate array) 또는 ASIC(application-specific integrated circuit)을 포함할 수 있다. 장치는 또한, 하드웨어에 추가적으로, 당해의 컴퓨터 프로그램에 대한 실행 환경을 생성하는 코드(예컨대, 프로세서 펌웨어, 프로토콜 스택, 데이터베이스 관리 시스템, 운영 체제, 크로스 플랫폼 런타임 환경, 가상 머신 또는 이들 중 하나 이상의 조합을 구성하는 코드)를 포함할 수 있다. 장치 및 실행 환경은 웹 서비스들, 분산 컴퓨팅 및 그리드 컴퓨팅 인프라스트럭쳐들과 같은 다양한 서로 다른 컴퓨팅 모델 인프라스트럭쳐들을 실현할 수 있다.
프로그램, 소프트웨어, 소프트웨어 어플리케이션, 스크립트 또는 코드로서도 알려진 컴퓨터 프로그램은 컴파일 또는 해석 언어들을 포함하는 프로그램 언어의 어떤 형태로 작성될 수 있고, 이는 단독 프로그램 또는 모듈, 컴포넌트, 서브루틴 또는 컴퓨팅 환경에서 사용하기에 적절한 다른 유닛을 포함하여 어떤 형태로든 전개(deploy)될 수 있다. 컴퓨터 프로그램은 반드시 그러해야 하는 것은 아니지만, 파일 시스템 내의 파일에 대응할 수 있다. 프로그램은 다른 프로그램 또는 데이터를 유지하는 파일의 일부(예컨대, 마크업 언어 문서에 저장된 하나 이상의 스크립트들)에, 당해의 프로그램에 전용인 단일 파일에 또는 복수의 조직화된 파일들(예컨대, 하나 이상의 모듈들, 서브 프로그램들 또는 코드의 일부들을 저장하는 파일들)에 저장될 수 있다. 컴퓨터 프로그램은 하나의 컴퓨터 상에서 또는, 한 장소에 위치되거나 또는 복수의 장소들에 걸쳐 분산되어 통신 네트워크에 의해 상호연결된 복수의 컴퓨터들 상에서 실행되도록 전개될 수 있다.
본 명세서에 기술된 프로세스들 및 로직 흐름들은 입력 데이터에 의해 동작하고 출력을 생성함으로써 기능들을 수행하도록 하나 이상의 컴퓨터 프로그램들을 실행하는 하나 이상의 프로그램가능한 프로세서들에 의해 수행될 수 있다. 프로세스들 및 로직 흐름들은 또한, 특수용 로직 회로망(예컨대 FPGA 또는 ASIC)에 의해 수행될 수 있고 장치는 또한, 이들로서 구현될 수 있다.
컴퓨터 프로그램의 실행에 적합한 프로세서들은 예컨대, 범용 및 특수용 마이크로프로세서들 및 어떤 종류의 디지털 컴퓨터의 어떤 하나 이상의 프로세서들을 포함한다. 일반적으로, 프로세서는 판독 전용 메모리 또는 랜덤 액세스 메모리 또는 이 두가지 모두로부터 명령어들 및 데이터를 수신하게 된다.
컴퓨터의 필수 요소들은 명령어들에 따라 액션들을 수행하기 위한 프로세서 및 명령어들 및 데이터를 저장하기 위한 하나 이상의 메모리 디바이스들이다. 일반적으로, 컴퓨터는 또한, 데이터를 저장하기 위한 하나 이상의 매스(mass) 저장 디바이스들(예컨대 자기, 자기 광학 디스크들, 또는 광학 디스크들)을 포함하거나 또는 이들로부터 데이터를 수신하거나 또는 이들에 데이터를 전달하도록 또는 이 두가지 모두가 다 이루어지도록 동작적으로 결합되게 된다. 그러나, 컴퓨터는 이러한 디바이스들을 반드시 가져야 하는 것은 아니다.
더욱이, 컴퓨터는 다른 디바이스(예컨대 몇 가지 예를 들면, 모바일 전화기, PDA, 모바일 오디오 또는 비디오 플레이어, 게임 콘솔, GPS 수신기, 또는 포터블 저장 디바이스(예컨대, USB 플래시 드라이브), 등등)에 내장될 수 있다. 컴퓨터 프로그램 명령어들 및 데이터를 저장하기에 적절한 디바이스는, 예를 들어 반도체 메모리 디바이스들 예컨대, EPROM, EEPROM 및 플래시 메모리 디바이스들, 자기 디스크들 예컨대, 내부 하드 디스크들 또는 탈착가능한 디스크들, 자기-광학 디스크들, 및 CD-ROM 및 DVD-ROM 디스크들을 포함하여 비휘발성 메모리, 매체들 및 메모리 디바이스들의 모든 형태들을 포함한다. 프로세서 및 메모리는 특수용 로직 회로망에 의해 보충되거나 또는 이에 통합될 수 있다.
사용자와의 인터랙션(interaction)을 제공하기 위해, 본 명세서에 기술된 본 발명의 실시예들은, 사용자에게 정보를 디스플레이하기 위한 디스플레이 디바이스(예컨대 CRT(cathode ray tube), LCD(liquid crystal display) 모니터) 및 사용자가 컴퓨터에 입력을 제공할 수 있게 하는 키보드 및 포인팅 디바이스 (예컨대, 마우스 또는 트랙볼)을 가지는 컴퓨터로 구현될 수 있다. 다른 종류의 디바이스들이 마찬가지로 사용자와의 인터랙션을 제공하기 위해 사용될 수 있는 바, 예를 들어, 사용자에게 제공되는 피드백은 감각적인(sensory) 피드백의 어떤 형태(예컨대 시각적 피드백, 청각적 피드백 또는 촉각적 피드백)일 수 있고, 사용자로부터의 입력은 음향, 스피치 또는 촉각 입력을 포함하는 어떤 형태로 수신될 수 있다. 추가적으로, 컴퓨터는 사용자에 의해 이용되는 디바이스에 문서들을 전송하고 상기 디바이스로부터 문서들을 수신함으로써, 예컨대 웹 브라우져로부터 수신되는 요청들에 응답하여 사용자의 클라이언트 디바이스 상의 웹 브라우져에 웹 페이지를 전송함으로써 사용자와 인터랙션할 수 있다.
본 명세서에 기술된 본 발명의 실시예들은 (예컨대, 데이터 서버로서) 백-엔드 컴포넌트들을 포함하거나 또는 미들웨어 컴포넌트(예컨대, 어플리케이션 서버)를 포함하거나 또는 사용자가 본 명세서에 기술된 본 발명의 구현물과 인터랙션할 수 있게 하는 그래픽 사용자 인터페이스 또는 웹 브라우져를 가지는 프런트-엔드 컴포넌트(예컨대, 클라이언트 컴퓨터) 또는 하나 이상의 이러한 백-엔드, 미들웨어 또는 프런트-엔드 컴포넌트들의 어떤 조합을 포함하는 컴퓨팅 시스템으로 구현될 수 있다. 시스템의 컴포넌트들은 디지털 데이터 통신(예컨대, 통신 네트워크)의 어떤 형태 또는 매체에 의해 상호연결될 수 있다. 통신 네트워크들의 예들은 로컬 영역 네트워크("LAN") 및 광역 네트워크("WAN"), 인터-네트워크(예컨대 인터넷) 및 피어-투-피어 네트워크들(예컨대, 애드 혹 피어-투-피어 네트워크들)을 포함한다.
하나 이상의 컴퓨터들로 이루어진 시스템은 상기 시스템 상에 인스톨된 소프트웨어, 펌웨어, 하드웨어 또는 이들의 조합에 의해 특정한 동작들 및 액션들을 수행하도록 구성될 수 있고, 이들은 동작 시, 시스템으로 하여금 액션들을 수행하게 한다. 하나 이상의 컴퓨터 프로그램들은 데이터 프로세싱 장치에 의해 실행될 때 장치로 하여금 액션들을 수행하게 하는 명령어들을 포함함에 의해 특정한 동작들 또는 액션들을 수행하도록 구성될 수 있다.
컴퓨팅 시스템은 클라이언트들 및 서버들을 포함할 수 있다. 클라이언트 및 서버는 일반적으로, 서로로부터 원격이며, 전형적으로, 통신 네트워크를 통해 인터랙션한다. 클라이언트 및 서버의 관계는 각각의 컴퓨터들 상에서 실행되고 서로에 대해 클라이언트-서버 관계를 가지는 컴퓨터 프로그램들에 의해 발생된다. 일부 실시예에서, 서버는 예를 들어, 클라이언트 디바이스와 인터랙션하는 사용자에게 데이터를 디스플레이하고 상기 사용자로부터 사용자 입력을 수신하기 위해 클라이언트 디바이스에 데이터, 예컨대 HTML 페이지를 전송한다. 클라이언트 디바이스에서 생성된 데이터, 예를 들어 사용자 인터랙션의 결과는 서버에서 클라이언트 디바이스로부터 수신될 수 있다.
본 명세서가 많은 특정한 구현 세부사항들을 포함하지만, 이들은 어떤 발명의 범위 또는 청구될 수 있는 것의 범위을 제한하는 것으로 해석되어서는 안되며, 오히려 특정한 발명들의 특정한 구현들에 특정적인 특징들의 설명으로서 해석되어야 한다. 개별적인 실시예들의 맥락에서 본 명세서에 기술된 특정한 특징들은 또한, 단일 실시예로 결합하여 구현될 수 있다. 반대로, 단일 실시예의 맥락에서 기술된 다양한 특징들은 또한, 복수의 실시예들에서 개별적으로 또는 어떤 적절한 서브조합으로 구현될 수 있다. 더욱이, 비록 특징들이 특정한 조합들에서 역할하는 것으로 상기에 기술될 수 있고 심지어는 초기에 그러하게 청구될 수 있지만, 청구된 조합으로부터의 하나 이상의 특징들은 일부 경우들에서, 상기 조합으로부터 삭제될 수 있으며, 청구된 조합은 서브조합 또는 서브조합의 변형으로 유도될 수 있다.
마찬가지로, 동작들이 도면들에서 특별한 순서로 도시되지만, 이는 바람직한 결과들을 달성하기 위해, 이러한 동작들이 도시된 특별한 순서 또는 순차적인 순서로 수행되어야 하거나 또는 모든 예시된 동작들이 수행되어야 함을 요하는 것으로 해석되어서는 안된다. 특정한 상황들에서, 멀티태스킹 및 병렬 프로세싱이 장점적일 수 있다. 더욱이, 상기 기술된 실시예들에서의 다양한 시스템 컴포넌트들의 분리가 모든 실시예들에서 그러한 분리를 요하는 것으로서 해석되어서는 안되며, 기술된 프로그램 컴포넌트들 및 시스템들은 일반적으로, 단일 소프트웨어 물에 통합되거나 또는 복수의 소프트웨어 물들 내로 패키징될 수 있음이 이해되어야만 한다.
HTML 파일이 언급되는 각각의 인스턴스에서, 다른 파일 타입들 또는 포맷들이 대체될 수 있습니다. 예를 들어, HTML 파일은 XML, JSON, 플레인 텍스트 또는 다른 타입의 파일들과 교체될 수 있다. 더욱이, 테이블 또는 해시 테이블이 언급되는 경우, 스프레드시트들, 관계형 데이터베이스들, 구조화된 파일들 등과 같은 다른 데이터 스트럭쳐가 사용될 수 있다.
따라서, 본 발명의 특별한 실시예들이 기술되었다. 다른 실시예들이 다음의 특허 청구 범위 내에 있다. 일부 경우들에서, 특허 청구 범위에 기재된 액션들은 상이한 순서로 수행될 수 있으며 여전히 바람직한 결과들을 달성할 수 있다. 추가적으로, 첨부 도면들에 도시된 프로세스들은 바람직한 결과들을 달성하기 위해 반드시, 도시된 특별한 순서 또는 순차적인 순서를 요하지 않는다. 특정한 구현들에서, 멀티태스킹 및 병렬 프로세싱이 장점적일 수 있다.

Claims (20)

  1. 컴퓨터로 구현되는 방법으로서,
    발언의 오디오 데이터를 수신하는 단계와;
    하나 이상의 예상되는 스피치 인식 결과들(expected speech recognition results)을 나타내는 컨텍스트 데이터(context data)를 획득하는 단계와;
    상기 컨텍스트 데이터에 기초하여 예상되는 스피치 인식 결과를 결정하는 단계와;
    스피치 인식 엔진에 의해 생성되는 상기 오디오 데이터에 대한 중간 스피치 인식 결과를 수신하는 단계와;
    상기 중간 스피치 인식 결과를 상기 예상되는 스피치 인식 결과와 비교하는 단계와;
    상기 중간 스피치 인식 결과가 상기 예상되는 스피치 인식 결과와의 부분적인 매치를 포함하거나 또는 매치를 포함하지 않음을 결정하는 단계와;
    상기 중간 스피치 인식 결과가 상기 예상되는 스피치 인식 결과와의 부분적인 매치를 포함하거나 또는 매치를 포함하지 않음을 결정함에 응답하여, 스피치 상태의 종료(end of speech condition)를 설정하기 전에 추가적인 오디오 데이터를 수신하도록 시간 기간을 결정하는 단계와;
    상기 시간 기간이 경과하기 전에:
    추가적인 발언의 추가적인 오디오 데이터를 수신하는 단계와;
    상기 스피치 인식 엔진에 의해 생성된 상기 추가적인 오디오에 대한 추가적인 중간 스피치 인식 결과를 수신하는 단계와;
    상기 추가적인 중간 스피치 인식 결과와 결합된 상기 중간 스피치 인식 결과가 상기 예상되는 스피치 인식결과와 매치함을 결정하는 단계와; 그리고
    상기 추가적인 중간 스피치 인식 결과와 결합된 상기 중간 스피치 인식 결과가 상기 예상되는 스피치 인식 결과와 매치함을 결정함에 응답하여, 상기 스피치 상태의 종료를 설정하는 단계와; 그리고
    상기 스피치 상태의 종료를 설정함에 응답하여 최종 스피치 인식 결과를 제공하는 단계를 포함하며, 상기 최종 스피치 인식 결과는 상기 하나 이상의 예상되는 스피치 인식 결과들을 포함하는 것을 특징으로 하는 컴퓨터로 구현되는 방법.
  2. 삭제
  3. 제1항에 있어서,
    상기 시간 기간이 임계 시간을 만족함에 응답하여 상기 스피치 상태의 종료를 설정하는 단계를 더 포함하는 것을 특징으로 하는 컴퓨터로 구현되는 방법.
  4. 제1항에 있어서,
    상기 중간 스피치 인식 결과가 상기 컨텍스트 데이터에 기초한 상기 오디오 데이터에 대한 예상되는 스피치 인식 결과와의 부분적인 매치를 포함함을 결정함에 응답하여 상기 스피치 상태의 종료를 위한 시간 기간은 제1 시간량인 것으로 결정되고, 그리고 상기 중간 스피치 인식 결과가 상기 컨텍스트 데이터에 기초한 상기 오디오 데이터에 대한 예상되는 스피치 인식 결과와의 매치를 포함하지 않음을 결정함에 응답하여 상기 시간 기간은 제2 시간량인 것으로 결정되며, 상기 제1 시간량은 상기 제2 시간량과는 다른 것을 특징으로 하는 컴퓨터로 구현되는 방법.
  5. 제1항에 있어서,
    상기 컨텍스트 데이터를 획득하는 단계는 상기 발언의 오디오 데이터를 수신하기에 앞서 컨텍스트 데이터를 획득하고 및 메모리에 저장하는 것을 포함하는 것을 특징으로 하는 컴퓨터로 구현되는 방법.
  6. 제1항에 있어서,
    상기 컨텍스트 데이터를 획득하는 단계는 상기 발언의 오디오 데이터를 수신함과 동일한 시간 기간에서(contemporaneously) 컨텍스트 데이터를 획득하는 것을 포함하는 것을 특징으로 하는 컴퓨터로 구현되는 방법.
  7. 제1항에 있어서,
    상기 컨텍스트 데이터는 클라이언트 디바이스로부터 획득되고, 상기 클라이언트 디바이스 상에 저장 또는 디스플레이되는 데이터에 대응하는 것을 특징으로 하는 컴퓨터로 구현되는 방법.
  8. 제1항에 있어서,
    상기 스피치 상태의 종료는 상기 발언이 이루어진 오디오 입력 디바이스를 턴 오프시키는 것을 포함하는 것을 특징으로 하는 컴퓨터로 구현되는 방법.
  9. 하나 이상의 컴퓨터들 및 명령어들이 저장된 하나 이상의 저장 디바이스들을 포함하는 시스템으로서, 상기 명령어들은 상기 하나 이상의 컴퓨터들에 의해 실행될 때, 상기 하나 이상의 컴퓨터들로 하여금 동작들을 수행하도록 하며, 상기 동작들은:
    발언의 오디오 데이터를 수신하는 동작과;
    하나 이상의 예상되는 스피치 인식 결과들을 나타내는 컨텍스트 데이터를 획득하는 동작과;
    상기 컨텍스트 데이터에 기초하여 예상되는 스피치 인식 결과를 결정하는 동작과;
    스피치 인식 엔진에 의해 생성되는 상기 오디오 데이터에 대한 중간 스피치 인식 결과를 수신하는 동작과;
    상기 중간 스피치 인식 결과를 상기 예상되는 스피치 인식 결과와 비교하는 동작과;
    상기 중간 스피치 인식 결과가 상기 예상되는 스피치 인식 결과와의 부분적인 매치를 포함하거나 또는 매치를 포함하지 않음을 결정하는 동작과;
    상기 중간 스피치 인식 결과가 상기 예상되는 스피치 인식 결과와의 부분적인 매치를 포함하거나 또는 매치를 포함하지 않음을 결정함에 응답하여, 스피치 상태의 종료를 설정하기 전에 추가적인 오디오 데이터를 수신하도록 시간 기간을 결정하는 동작과;
    상기 시간 기간이 경과하기 전에:
    추가적인 발언의 추가적인 오디오 데이터를 수신하는 동작과;
    상기 스피치 인식 엔진에 의해 생성된 상기 추가적인 오디오에 대한 추가적인 중간 스피치 인식 결과를 수신하는 동작과;
    상기 추가적인 중간 스피치 인식 결과와 결합된 상기 중간 스피치 인식 결과가 상기 예상되는 스피치 인식결과와 매치함을 결정하는 동작과; 그리고
    상기 추가적인 중간 스피치 인식 결과와 결합된 상기 중간 스피치 인식 결과가 상기 예상되는 스피치 인식 결과와 매치함을 결정함에 응답하여, 상기 스피치 상태의 종료를 설정하는 동작과; 그리고
    상기 스피치 상태의 종료를 설정함에 응답하여 최종 스피치 인식 결과를 제공하는 동작을 포함하며, 상기 최종 스피치 인식 결과는 상기 하나 이상의 예상되는 스피치 인식 결과들을 포함하는 것을 특징으로 하는 시스템.
  10. 삭제
  11. 제9항에 있어서,
    상기 동작들은 상기 시간 기간이 임계 시간을 만족함에 응답하여 상기 스피치 상태의 종료를 설정하는 동작을 더 포함하는 것을 특징으로 하는 시스템.
  12. 제9항에 있어서,
    상기 중간 스피치 인식 결과가 상기 컨텍스트 데이터에 기초한 상기 오디오 데이터에 대한 예상되는 스피치 인식 결과와의 부분적인 매치를 포함함을 결정함에 응답하여 상기 스피치 상태의 종료를 위한 시간 기간은 제1 시간량인 것으로 결정되고, 그리고 상기 중간 스피치 인식 결과가 상기 컨텍스트 데이터에 기초한 상기 오디오 데이터에 대한 예상되는 스피치 인식 결과와의 매치를 포함하지 않음을 결정함에 응답하여 상기 시간 기간은 제2 시간량인 것으로 결정되며, 상기 제1 시간량은 상기 제2 시간량과는 다른 것을 특징으로 하는 시스템.
  13. 제9항에 있어서,
    상기 컨텍스트 데이터를 획득하는 동작은 상기 발언의 오디오 데이터를 수신하기에 앞서 컨텍스트 데이터를 획득하고 및 메모리에 저장하는 것을 포함하는 것을 특징으로 하는 시스템.
  14. 제9항에 있어서,
    상기 컨텍스트 데이터를 획득하는 동작은 상기 발언의 오디오 데이터를 수신함과 동일한 시간 기간에서 컨텍스트 데이터를 획득하는 것을 포함하는 것을 특징으로 하는 시스템.
  15. 제9항에 있어서,
    상기 컨텍스트 데이터는 클라이언트 디바이스로부터 획득되고, 상기 클라이언트 디바이스 상에 저장 또는 디스플레이되는 데이터에 대응하는 것을 특징으로 하는 시스템.
  16. 제9항에 있어서,
    상기 스피치 상태의 종료는 상기 발언이 이루어진 오디오 입력 디바이스를 턴 오프시키는 것을 포함하는 것을 특징으로 하는 시스템.
  17. 하나 이상의 컴퓨터들에 의해 실행가능한 명령어들을 포함하는 소프트웨어가 저장된 컴퓨터 판독가능 저장 디바이스로서, 상기 명령어들은 상기 하나 이상의 컴퓨터들에 의해 실행될 때, 상기 하나 이상의 컴퓨터들로 하여금 동작들을 수행하도록 하며, 상기 동작들은:
    발언의 오디오 데이터를 수신하는 동작과;
    하나 이상의 예상되는 스피치 인식 결과들을 나타내는 컨텍스트 데이터를 획득하는 동작과;
    상기 컨텍스트 데이터에 기초하여 예상되는 스피치 인식 결과를 결정하는 동작과;
    스피치 인식 엔진에 의해 생성되는 상기 오디오 데이터에 대한 중간 스피치 인식 결과를 수신하는 동작과;
    상기 중간 스피치 인식 결과를 상기 예상되는 스피치 인식 결과와 비교하는 동작과;
    상기 중간 스피치 인식 결과가 상기 예상되는 스피치 인식 결과와의 부분적인 매치를 포함하거나 또는 매치를 포함하지 않음을 결정하는 동작과;
    상기 중간 스피치 인식 결과가 상기 예상되는 스피치 인식 결과와의 부분적인 매치를 포함하거나 또는 매치를 포함하지 않음을 결정함에 응답하여, 스피치 상태의 종료를 설정하기 전에 추가적인 오디오 데이터를 수신하도록 시간 기간을 결정하는 동작과;
    상기 시간 기간이 경과하기 전에:
    추가적인 발언의 추가적인 오디오 데이터를 수신하는 동작과;
    상기 스피치 인식 엔진에 의해 생성된 상기 추가적인 오디오에 대한 추가적인 중간 스피치 인식 결과를 수신하는 동작과;
    상기 추가적인 중간 스피치 인식 결과와 결합된 상기 중간 스피치 인식 결과가 상기 예상되는 스피치 인식결과와 매치함을 결정하는 동작과; 그리고
    상기 추가적인 중간 스피치 인식 결과와 결합된 상기 중간 스피치 인식 결과가 상기 예상되는 스피치 인식 결과와 매치함을 결정함에 응답하여, 상기 스피치 상태의 종료를 설정하는 동작과; 그리고
    상기 스피치 상태의 종료를 설정함에 응답하여 최종 스피치 인식 결과를 제공하는 동작을 포함하며, 상기 최종 스피치 인식 결과는 상기 하나 이상의 예상되는 스피치 인식 결과들을 포함하는 것을 특징으로 하는 컴퓨터 판독가능 저장 디바이스.
  18. 삭제
  19. 제17항에 있어서,
    상기 동작들은 상기 시간 기간이 임계 시간을 만족함에 응답하여 상기 스피치 상태의 종료를 설정하는 동작을 더 포함하는 것을 특징으로 하는 컴퓨터 판독가능 저장 디바이스.
  20. 제17항에 있어서,
    상기 중간 스피치 인식 결과가 상기 컨텍스트 데이터에 기초한 상기 오디오 데이터에 대한 예상되는 스피치 인식 결과와의 부분적인 매치를 포함함을 결정함에 응답하여 상기 스피치 상태의 종료를 위한 시간 기간은 제1 시간량인 것으로 결정되고, 그리고 상기 중간 스피치 인식 결과가 상기 컨텍스트 데이터에 기초한 상기 오디오 데이터에 대한 예상되는 스피치 인식 결과와의 매치를 포함하지 않음을 결정함에 응답하여 상기 시간 기간은 제2 시간량인 것으로 결정되며, 상기 제1 시간량은 상기 제2 시간량과는 다른 것을 특징으로 하는 컴퓨터 판독가능 저장 디바이스.
KR1020177013369A 2015-09-03 2016-08-22 강화된 스피치 엔드포인팅 KR101973117B1 (ko)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US14/844,563 US10339917B2 (en) 2015-09-03 2015-09-03 Enhanced speech endpointing
US14/844,563 2015-09-03
US15/192,431 US20170069309A1 (en) 2015-09-03 2016-06-24 Enhanced speech endpointing
US15/192,431 2016-06-24
PCT/US2016/047961 WO2017040081A1 (en) 2015-09-03 2016-08-22 Enhanced speech endpointing

Related Child Applications (1)

Application Number Title Priority Date Filing Date
KR1020197011401A Division KR102203054B1 (ko) 2015-09-03 2016-08-22 강화된 스피치 엔드포인팅

Publications (2)

Publication Number Publication Date
KR20170071564A KR20170071564A (ko) 2017-06-23
KR101973117B1 true KR101973117B1 (ko) 2019-04-26

Family

ID=56801890

Family Applications (3)

Application Number Title Priority Date Filing Date
KR1020177013369A KR101973117B1 (ko) 2015-09-03 2016-08-22 강화된 스피치 엔드포인팅
KR1020217000565A KR102357247B1 (ko) 2015-09-03 2016-08-22 강화된 스피치 엔드포인팅
KR1020197011401A KR102203054B1 (ko) 2015-09-03 2016-08-22 강화된 스피치 엔드포인팅

Family Applications After (2)

Application Number Title Priority Date Filing Date
KR1020217000565A KR102357247B1 (ko) 2015-09-03 2016-08-22 강화된 스피치 엔드포인팅
KR1020197011401A KR102203054B1 (ko) 2015-09-03 2016-08-22 강화된 스피치 엔드포인팅

Country Status (6)

Country Link
US (3) US20170069309A1 (ko)
EP (2) EP3210204B1 (ko)
JP (3) JP6567664B2 (ko)
KR (3) KR101973117B1 (ko)
CN (2) CN107004407B (ko)
WO (1) WO2017040081A1 (ko)

Families Citing this family (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10339918B2 (en) * 2016-09-27 2019-07-02 Intel IP Corporation Adaptive speech endpoint detector
US11507618B2 (en) 2016-10-31 2022-11-22 Rovi Guides, Inc. Systems and methods for flexibly using trending topics as parameters for recommending media assets that are related to a viewed media asset
WO2018174884A1 (en) 2017-03-23 2018-09-27 Rovi Guides, Inc. Systems and methods for calculating a predicted time when a user will be exposed to a spoiler of a media asset
CN107146602B (zh) * 2017-04-10 2020-10-02 北京猎户星空科技有限公司 一种语音识别方法、装置及电子设备
CA3002383A1 (en) * 2017-05-24 2018-11-24 Arun Sreedhara Methods and systems for correcting, based on speech, input generated using automatic speech recognition
US10748533B2 (en) * 2017-11-08 2020-08-18 Harman International Industries, Incorporated Proximity aware voice agent
US10636421B2 (en) * 2017-12-27 2020-04-28 Soundhound, Inc. Parse prefix-detection in a human-machine interface
KR20190088737A (ko) * 2018-01-19 2019-07-29 현대자동차주식회사 음성 인식 장치 및 그 제어 방법
US10943606B2 (en) * 2018-04-12 2021-03-09 Qualcomm Incorporated Context-based detection of end-point of utterance
US10490207B1 (en) * 2018-05-11 2019-11-26 GM Global Technology Operations LLC Automated speech recognition using a dynamically adjustable listening timeout
US11501781B2 (en) * 2018-06-05 2022-11-15 Samsung Electronics Co., Ltd. Methods and systems for passive wakeup of a user interaction device
GB2574882B (en) * 2018-06-22 2020-08-12 Sony Interactive Entertainment Inc Method and system for displaying a virtual object
KR102722595B1 (ko) * 2018-10-31 2024-10-29 삼성전자주식회사 전자 장치 및 그 제어 방법
RU2761940C1 (ru) * 2018-12-18 2021-12-14 Общество С Ограниченной Ответственностью "Яндекс" Способы и электронные устройства для идентификации пользовательского высказывания по цифровому аудиосигналу
CN109712610A (zh) * 2019-03-12 2019-05-03 百度在线网络技术(北京)有限公司 用于识别语音的方法和装置
US11487945B2 (en) 2019-07-02 2022-11-01 Servicenow, Inc. Predictive similarity scoring subsystem in a natural language understanding (NLU) framework
CN112447169B (zh) * 2019-09-04 2024-04-19 北京声智科技有限公司 一种词边界估计方法、装置及电子设备
US11551665B2 (en) * 2019-09-12 2023-01-10 Oracle International Corporation Dynamic contextual dialog session extension
CN112863496B (zh) * 2019-11-27 2024-04-02 阿里巴巴集团控股有限公司 一种语音端点检测方法以及装置
EP4073789B1 (en) * 2020-01-17 2023-11-08 Google LLC Alphanumeric sequence biasing for automatic speech recognition
CN113362828B (zh) * 2020-03-04 2022-07-05 阿波罗智联(北京)科技有限公司 用于识别语音的方法和装置
CN115699167B (zh) * 2020-05-27 2024-10-29 谷歌有限责任公司 当确定是否从某些客户端设备卸载助理相关处理任务时补偿硬件差异
CN112466296A (zh) * 2020-11-10 2021-03-09 北京百度网讯科技有限公司 语音交互的处理方法、装置、电子设备及存储介质
CN112530424A (zh) * 2020-11-23 2021-03-19 北京小米移动软件有限公司 语音处理方法及装置、电子设备、存储介质
CN112382279B (zh) * 2020-11-24 2021-09-14 北京百度网讯科技有限公司 语音识别方法、装置、电子设备和存储介质
US11688392B2 (en) * 2020-12-08 2023-06-27 Google Llc Freeze words
FI20206336A1 (en) * 2020-12-18 2022-06-19 Elisa Oyj A computer-implemented method and device for detecting silence in speech recognition
CN113053392B (zh) * 2021-03-26 2024-04-05 京东科技控股股份有限公司 语音识别方法、语音识别装置、电子设备及介质
CN113516994B (zh) * 2021-04-07 2022-04-26 北京大学深圳研究院 实时语音识别方法、装置、设备及介质
CN113516967B (zh) * 2021-08-04 2024-06-25 青岛信芯微电子科技股份有限公司 一种语音识别方法及装置
CN113744726A (zh) * 2021-08-23 2021-12-03 阿波罗智联(北京)科技有限公司 语音识别方法、装置、电子设备和存储介质
CN115132198B (zh) * 2022-05-27 2024-03-15 腾讯科技(深圳)有限公司 数据处理方法、装置、电子设备、程序产品及介质

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013053798A1 (en) * 2011-10-14 2013-04-18 Telefonica, S.A. A method to manage speech recognition of audio calls

Family Cites Families (41)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06259090A (ja) * 1993-03-09 1994-09-16 Nec Corp 音声対話システム
JP3069531B2 (ja) * 1997-03-14 2000-07-24 日本電信電話株式会社 音声認識方法
JP2000089791A (ja) * 1998-09-09 2000-03-31 Nippon Telegr & Teleph Corp <Ntt> 音声認識応答方法、その装置及びプログラム記録媒体
JP4105841B2 (ja) 2000-07-11 2008-06-25 インターナショナル・ビジネス・マシーンズ・コーポレーション 音声認識方法、音声認識装置、コンピュータ・システムおよび記憶媒体
US7277853B1 (en) 2001-03-02 2007-10-02 Mindspeed Technologies, Inc. System and method for a endpoint detection of speech for improved speech recognition in noisy environments
JP3962904B2 (ja) * 2002-01-24 2007-08-22 日本電気株式会社 音声認識システム
JP4433704B2 (ja) * 2003-06-27 2010-03-17 日産自動車株式会社 音声認識装置および音声認識用プログラム
JP2005283972A (ja) * 2004-03-30 2005-10-13 Advanced Media Inc 音声認識方法及びこの音声認識方法を利用した情報提示方法と情報提示装置
FR2881867A1 (fr) * 2005-02-04 2006-08-11 France Telecom Procede de transmission de marques de fin de parole dans un systeme de reconnaissance de la parole
US7518631B2 (en) 2005-06-28 2009-04-14 Microsoft Corporation Audio-visual control system
JP4906379B2 (ja) * 2006-03-22 2012-03-28 富士通株式会社 音声認識装置、音声認識方法、及びコンピュータプログラム
KR100845428B1 (ko) * 2006-08-25 2008-07-10 한국전자통신연구원 휴대용 단말기의 음성 인식 시스템
JP4836290B2 (ja) 2007-03-20 2011-12-14 富士通株式会社 音声認識システム、音声認識プログラムおよび音声認識方法
US8818816B2 (en) * 2008-07-30 2014-08-26 Mitsubishi Electric Corporation Voice recognition device
JP5263875B2 (ja) * 2008-09-16 2013-08-14 インターナショナル・ビジネス・マシーンズ・コーポレーション 発話入力の音声認識のためのコンピュータ・システム、並びにその方法及びコンピュータ・プログラム
JP5244663B2 (ja) * 2009-03-18 2013-07-24 Kddi株式会社 音声によってテキストを入力する音声認識処理方法及びシステム
DK2243734T3 (da) 2009-04-23 2012-01-09 Mueller Martini Holding Ag Fremgangsmåde til at vende trykprodukter, der transporteres på en transportvej i en transportstrøm
US9858925B2 (en) * 2009-06-05 2018-01-02 Apple Inc. Using context information to facilitate processing of commands in a virtual assistant
CN102073635B (zh) * 2009-10-30 2015-08-26 索尼株式会社 节目端点时间检测装置和方法以及节目信息检索系统
US9112989B2 (en) * 2010-04-08 2015-08-18 Qualcomm Incorporated System and method of smart audio logging for mobile devices
WO2011151502A1 (en) * 2010-06-02 2011-12-08 Nokia Corporation Enhanced context awareness for speech recognition
KR101756836B1 (ko) * 2010-11-12 2017-07-11 에스프린팅솔루션 주식회사 음성데이터를 이용한 문서생성 방법 및 시스템과, 이를 구비한 화상형성장치
JP5739718B2 (ja) 2011-04-19 2015-06-24 本田技研工業株式会社 対話装置
KR101444411B1 (ko) * 2011-12-15 2014-10-01 한국전자통신연구원 발화검증 기반 대용량 음성 데이터 자동 처리 장치 및 방법
CN103186607A (zh) * 2011-12-30 2013-07-03 大连天维科技有限公司 分布式语音检索系统
US9361883B2 (en) * 2012-05-01 2016-06-07 Microsoft Technology Licensing, Llc Dictation with incremental recognition of speech
JP6129316B2 (ja) * 2012-09-03 2017-05-17 フラウンホーファー−ゲゼルシャフト・ツール・フェルデルング・デル・アンゲヴァンテン・フォルシュング・アインゲトラーゲネル・フェライン 情報に基づく多チャネル音声存在確率推定を提供するための装置および方法
CN102982811B (zh) * 2012-11-24 2015-01-14 安徽科大讯飞信息科技股份有限公司 一种基于实时解码的语音端点检测方法
CN103871401B (zh) * 2012-12-10 2016-12-28 联想(北京)有限公司 一种语音识别的方法及电子设备
US20150348538A1 (en) 2013-03-14 2015-12-03 Aliphcom Speech summary and action item generation
DE102013007502A1 (de) * 2013-04-25 2014-10-30 Elektrobit Automotive Gmbh Computer-implementiertes Verfahren zum automatischen Trainieren eins Dialogsystems und Dialogsystem zur Erzeugung von semantischen Annotationen
US9437186B1 (en) * 2013-06-19 2016-09-06 Amazon Technologies, Inc. Enhanced endpoint detection for speech recognition
JP2015011170A (ja) * 2013-06-28 2015-01-19 株式会社ATR−Trek ローカルな音声認識を行なう音声認識クライアント装置
CN103474069B (zh) * 2013-09-12 2016-03-30 中国科学院计算技术研究所 用于融合多个语音识别系统的识别结果的方法及系统
KR101537370B1 (ko) * 2013-11-06 2015-07-16 주식회사 시스트란인터내셔널 녹취된 음성 데이터에 대한 핵심어 추출 기반 발화 내용 파악 시스템과, 이 시스템을 이용한 인덱싱 방법 및 발화 내용 파악 방법
US8775191B1 (en) * 2013-11-13 2014-07-08 Google Inc. Efficient utterance-specific endpointer triggering for always-on hotwording
US9607613B2 (en) 2014-04-23 2017-03-28 Google Inc. Speech endpointing based on word comparisons
CN104780263A (zh) * 2015-03-10 2015-07-15 广东小天才科技有限公司 一种语音断点延长判断的方法及装置
CN106463114B (zh) 2015-03-31 2020-10-27 索尼公司 信息处理设备、控制方法及程序存储单元
US10186254B2 (en) * 2015-06-07 2019-01-22 Apple Inc. Context-based endpoint detection
US10331312B2 (en) * 2015-09-08 2019-06-25 Apple Inc. Intelligent automated assistant in a media environment

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013053798A1 (en) * 2011-10-14 2013-04-18 Telefonica, S.A. A method to manage speech recognition of audio calls

Also Published As

Publication number Publication date
EP3454331B1 (en) 2022-11-23
KR20210006023A (ko) 2021-01-15
KR20170071564A (ko) 2017-06-23
EP3454331A1 (en) 2019-03-13
US10885898B2 (en) 2021-01-05
KR102203054B1 (ko) 2021-01-14
WO2017040081A1 (en) 2017-03-09
US20210090554A1 (en) 2021-03-25
JP2018504623A (ja) 2018-02-15
JP7359886B2 (ja) 2023-10-11
CN107004407A (zh) 2017-08-01
US20180012591A1 (en) 2018-01-11
CN112735422B (zh) 2024-08-06
EP3210204B1 (en) 2018-10-17
US11996085B2 (en) 2024-05-28
KR20190045390A (ko) 2019-05-02
JP6567664B2 (ja) 2019-08-28
JP2019194733A (ja) 2019-11-07
JP2022095683A (ja) 2022-06-28
KR102357247B1 (ko) 2022-02-08
CN112735422A (zh) 2021-04-30
CN107004407B (zh) 2020-12-25
US20170069309A1 (en) 2017-03-09
EP3210204A1 (en) 2017-08-30

Similar Documents

Publication Publication Date Title
KR101973117B1 (ko) 강화된 스피치 엔드포인팅
US10339917B2 (en) Enhanced speech endpointing
US20240029711A1 (en) Using corrections, of predicted textual segments of spoken utterances, for training of on-device speech recognition model
EP2937860B1 (en) Speech endpointing based on word comparisons
US11978432B2 (en) On-device speech synthesis of textual segments for training of on-device speech recognition model
US7933777B2 (en) Hybrid speech recognition
US20190043503A1 (en) Automatic speech recognition with filler model processing
US11763819B1 (en) Audio encryption
US11823664B2 (en) Correcting speech misrecognition of spoken utterances
US10559303B2 (en) Methods and apparatus for reducing latency in speech recognition applications
US10923122B1 (en) Pausing automatic speech recognition
US20230230578A1 (en) Personalized speech query endpointing based on prior interaction(s)

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