KR20180056723A - 음성 쿼리들의 검색 결과 프리페치 - Google Patents

음성 쿼리들의 검색 결과 프리페치 Download PDF

Info

Publication number
KR20180056723A
KR20180056723A KR1020187011132A KR20187011132A KR20180056723A KR 20180056723 A KR20180056723 A KR 20180056723A KR 1020187011132 A KR1020187011132 A KR 1020187011132A KR 20187011132 A KR20187011132 A KR 20187011132A KR 20180056723 A KR20180056723 A KR 20180056723A
Authority
KR
South Korea
Prior art keywords
utterance
notation
previously received
search query
received search
Prior art date
Application number
KR1020187011132A
Other languages
English (en)
Other versions
KR102021556B1 (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 KR20180056723A publication Critical patent/KR20180056723A/ko
Application granted granted Critical
Publication of KR102021556B1 publication Critical patent/KR102021556B1/ko

Links

Images

Classifications

    • G06F17/30401
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/951Indexing; Web crawling techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/242Query formulation
    • G06F16/243Natural language query formulation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/248Presentation of query results
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/332Query formulation
    • G06F16/3329Natural language query formulation or dialogue systems
    • G06F17/30554
    • G06F17/30864
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Human Computer Interaction (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Acoustics & Sound (AREA)
  • Multimedia (AREA)
  • Artificial Intelligence (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

컴퓨터 저장 매체 상에 인코딩된 컴퓨터 프로그램들을 포함하는 장치들, 방법들, 시스템들로서, 발언을 인코딩한 오디오 데이터를 수신하는 단계; 상기 발언의 중간 표기를 획득하는 단계; 상기 발언의 최종 표기가 획득되기 전에: i) 상기 발언의 상기 중간 표기가 이전에 수신된 검색 쿼리와 연관된다고 결정하는 단계, ii) 이전에 수신된 검색 쿼리에 대한 응답으로 식별된 하나 이상의 결과들을 획득하는 단계, 및 iii) 상기 결과들 중 하나 이상을 저장하는 단계; 상기 발언의 상기 최종 표기를 획득하는 단계; 상기 발언의 상기 최종 표기 또한 이전에 수신된 검색 쿼리와 연관된다고 결정하는 단계; 및 상기 발언의 상기 최종 표기 또한 이전에 수신된 검색 쿼리와 연관된다고 결정하는 것에 응답하여, 출력을 위해 상기 저장된 하나 이상의 결과들을 제공하는 단계에 대한 것이다.

Description

음성 쿼리들의 검색 결과 프리페치
본 명세서는 스피치 인식과 관련된 것이다.
일반적으로, 검색 쿼리는 사용자가 검색을 실행하도록 검색 엔진을 요청할 때, 사용자가 검색 엔진에 제출하는 하나 이상의 쿼리 용어들을 포함한다. 다른 접근법들 중에서, 사용자는 음성 쿼리의 컨텍스트를 통해, 즉 쿼리 용어들을 모바일 디바이스의 마이크로폰에 발화함으로써, 검색 쿼리의 쿼리 용어들을 입력할 수 있다. 음성 쿼리들은 스피치 인식 기술을 사용하여 프로세싱될 수 있다.
본 명세서에 기술된 발명의 일부 혁신적인 양태들에 따르면, 사용자에 의해 제공된 발언을 검출하는 것과 동시에, 발언의 중간 표기에 기초하여 예비 검색 결과들이 식별된다. 완전한 발언이 검출되면, 완전한 발언의 최종 표기에 기초하여 예비 검색 결과들 중 하나 이상이 사용자에게 제공될 수 있다.
하나의 구현예에서, 사용자는 역사적인 랜드마크에 관해 질문을 할 수 있다. 사용자는 "Empire State Building의 높이가 얼마나 됩니까?" 라는 질문을 할 수 있다. 사용자가 완전한 질문을 발화하기 전에, 사용자의 모바일 디바이스는 질문의 초기 부분을 검출할 수 있고 컴퓨팅 시스템에 동일한 것을 제공할 수 있다. 컴퓨팅 시스템은 상기 질문 초기 부분의 중간 표기, 예를 들어, "높이가 얼마" 를 계산할 수 있으며, 완전한 질문의 최종 표기를 계산하기 전에, 상기 질문의 초기 부분과 연관될 수 있는 다른 과거 쿼리들을 식별한다. 예를 들어, 컴퓨팅 시스템은 이전 쿼리들 "Empire State Building의 높이가 얼마나 되는지" 와 "Washington Monument의 높이가 얼마나 되는지" 를 현재 쿼리의 초기 부분과 연관지어 식별할 수 있다. 이전 쿼리들에 대한 검색 결과들이 획득되거나 재-획득되며, 캐시에 저장된다. "Empire State Building의 높이는 얼마나 되는지" 에 대한 완전한 질문을 받으면, 컴퓨팅 시스템은 현재 쿼리와 연관되고 있는 이전 쿼리인 "Empire State Building의 높이가 얼마나 되는지”를 식별한다. 컴퓨팅 시스템은 그 후 검색 결과들을 생성하기 전에, 완전한 질문이 표기될 것을 기다리지 않고, 현재 쿼리 "Empire State Building의 높이가 얼마나 되는지" 에 대한 사용자에게 이전 쿼리 "Empire State Building의 높이가 얼마나 되는지" 와 연관된 저장된 검색 결과를 제공할 수 있다. 이것은 검색 결과들을 사용자에게 리턴하는데 걸리는 시간을 줄여준다.
본 명세서에 기술된 발명의 혁신적인 양태들은 컴퓨터로 구현된 방법들로 구현될 수 있으며, 상기 방법들은 발언을 인코딩한 데이터를 수신하는 단계; 상기 발언의 중간 표기를 획득하는 단계; 상기 발언의 최종 표기가 획득되기 전에: i) 상기 발언의 상기 중간 표기가 이전에 수신된 검색 쿼리와 연관된다고 결정하는 단계, ii) 이전에 수신된 검색 쿼리에 대한 응답으로 식별된 하나 이상의 결과들을 획득하는 단계, 및 iii) 상기 결과들 중 하나 이상을 저장하는 단계; 상기 발언의 상기 최종 표기를 획득하는 단계; 상기 발언의 상기 최종 표기 또한 이전에 수신된 검색 쿼리와 연관된다고 결정하는 단계; 및 상기 발언의 상기 최종 표기 또한 이전에 수신된 검색 쿼리와 연관된다고 결정하는 것에 응답하여, 출력을 위해 상기 저장된 하나 이상의 결과들을 제공하는 단계의 액션들을 포함한다. 상기 발언의 중간 표기는 상기 발언 초기 부분의 표기일 수 있다.
이 양태들의 다른 실시예들은 컴퓨터 저장 디바이스들 상에 인코딩된 방법들의 액션들을 수행하도록 구성된, 컴퓨터 프로그램들, 장치, 및 대응하는 시스템들을 포함한다. 예를 들어, 이들 양태들의 다른 실시예는 컴퓨터 판독 가능 매체를 포함하며, 상기 매체는 하나 이상의 컴퓨터들에 의해 실행 가능한 명령어들을 포함하는 소프트웨어를 저장하는, 비 일시적 컴퓨터 판독 가능 매체일 수 있으며, 상기 명령어들은 그러한 실행시, 하나 이상의 컴퓨터들로 하여금 하나 발언을 인코딩한 오디오 데이터를 수신하는 동작; 상기 발언의 중간 표기를 획득하는 동작; 상기 발언의 최종 표기가 획득되기 전에: i) 상기 발언의 상기 중간 표기가 이전에 수신된 검색 쿼리와 연관된다고 결정하는 동작, ii) 이전에 수신된 검색 쿼리에 대한 응답으로 식별된 하나 이상의 결과들을 획득하는 동작, 및 iii) 상기 결과들 중 하나 이상을 저장하는 동작; 상기 발언의 상기 최종 표기를 획득하는 동작; 상기 발언의 상기 최종 표기 또한 이전에 수신된 검색 쿼리와 연관된다고 결정하는 동작; 및 상기 발언의 상기 최종 표기 또한 이전에 수신된 검색 쿼리와 연관된다고 결정하는 것에 응답하여, 출력을 위해 상기 저장된 하나 이상의 결과들을 제공하는 동작을 포함하는 동작들을 수행하게 한다.
이들 및 다른 실시예들은 각각 선택적으로 하나 이상의 다음 구성들을 포함할 수 있다. 예를 들어, 상기 발언의 상기 중간 표기가 임계 사이즈라고 결정하는 단계를 포함할 수 있으며, 상기 중간 표기가 상기 임계 사이즈인 것으로 결정한 후에만 상기 발언의 상기 중간 표기는 이전에 수신된 검색 쿼리와 연관되도록 결정된다. 상기 발언의 상기 중간 표기는 연속 스피치 인식기에 의해 생성되고, 상기 하나 이상의 결과들은 검색 엔진으로부터 획득된다. 상기 발언의 상기 중간 표기가 이전에 수신된 상기 검색 쿼리와 연관된다고 결정한 단계 이후에, 검색 엔진에 의한 재-실행을 위해 이전에 수신된 상기 검색 쿼리를 제출하는 단계, 상기 발언과 연관된 위치가 이전에 수신된 상기 검색 쿼리와 연관된 위치와 연관된다고 결정하는 단계를 포함할 수 있다.
상기 구성들은, 예를 들어, 상기 발언의 상기 중간 표기가 상기 발언과 연관된 동일한 사용자에 의해 제출되었던 이전에 수신된 검색 쿼리와 연관된다고 결정하는 단계를 더 포함한다. 상기 발언의 상기 중간 표기가 상기 발언과 연관된 사용자와는 다른 사용자에 의해 제출되었던 이전에 수신된 검색 쿼리와 연관된다고 결정하는 단계를 포함하며, 상기 발언은 음성 쿼리 이외의 음성 명령이다. 상기 발언의 상기 중간 표기가 이전에 수신된 상기 검색 쿼리의 일부와 같다고 결정하는 단계, 상기 발언의 상기 중간 표기가 이전에 수신된 상기 검색 쿼리의 일부와 임계 유사성 내에 있다고 결정하는 단계를 포함한다.
본 명세서에서 기술된 발명의 하나 이상의 실시예들의 세부 사항들은 첨부된 도면들 및 아래의 설명에서 설명된다. 발명의 다른 잠재적 구성들, 양태들, 및 장점들은 상세한 설명, 도면들 및 청구항들로부터 명백해질 것이다. 양태들 및 구현예들이 결합될 수 있고, 하나의 양태 또는 구현예의 컨텍스트에서 기술된 구성들은 다른 양태들 또는 구현예들의 컨텍스트에서 구현될 수 있다는 것을 이해할 것이다.
도 1a는 발언의 중간 표기에 기초하여 검색 결과들을 획득하기 위한 시스템을 도시한다.
도 1b는 발언의 최종 표기에 대한 검색 결과들을 제공하기 위한 시스템을 도시한다.
도 2는 발언의 중간 표기에 기초하여 검색 결과들을 획득하기 위한 예시적인 프로세스의 흐름도를 도시한다.
도 3은 발언의 최종 표기에 대한 검색 결과들을 제공하기 위한 예시적인 프로세스의 흐름도를 도시한다.
도 4는 여기에 기술된 기법들을 구현하는데 사용될 수 있는 컴퓨터 디바이스 및 모바일 컴퓨터 디바이스를 도시한다.
도 1a는 발언의 중간 표기에 기초하여 검색 결과들을 획득하기 위한 시스템(100)을 도시한다. 간단하게, 시스템(100)은 발언의 중간 표기를 획득할 수 있고, 발언의 최종 표기가 획득되기 전에, 중간 표기와 이전에 수신된 검색 쿼리가 연관된다고 결정하며, 이전에 수신된 검색 쿼리에 응답하는 결과들을 획득한다. 시스템(100)은 모바일 컴퓨팅 디바이스(102), 프론트엔드 엔진(104), 연속 스피치 인식기(106), 완료 엔진(108), 쿼리 로그(110), 검색 엔진(112), 및 캐시(114)를 포함한다. 일부 예시들에서, 연속 스피치 인식기(106)중 하나 이상, 완료 엔진(108) 및 검색 엔진(112)은 프론트엔드 엔진(104)에 의해 포함될 수 있다. 모바일 컴퓨팅 디바이스(102)는 하나 이상의 네트워크들을 통해 프론트엔드 엔진(104)과 통신한다. 모바일 컴퓨팅 디바이스(102)는 마이크로폰, 카메라, 또는 사용자(116)로부터의 발언들을 검출하기 위한 다른 검출 수단들을 포함할 수 있다.
일부 예시들에서, 사용자(116)는 그가 좋아하는 팀이 플레이하고 있는 게임의 점수를 알고 싶어한다. 따라서, 사용자(116)는 그러한 점수에 대한, 예를 들어 발화된 자연 언어 쿼리, 질문을 할 수 있다. 그러나, 질문을 제공하기 전에, 즉 질문을 완료하거나 완전한 질문을 제공하기 전에, 모바일 컴퓨팅 디바이스(102)는 질문 초기 부분의 발언을 검출한다. 나타낸(illustrate) 예시에서, 사용자(116)에 의한 질문을 완료하기 전, 모바일 컴퓨팅 디바이스(102)는 사용자(116)가 완전한 질문을 제공하기 이전의 시간 t0에, 발언으로써 질문의 초기 부분, 예를 들어 "What’s the score" 를 검출한다.
일부 예시들에서, 발언은 음성 쿼리 이외의 음성 명령을 포함할 수 있다. 음성 명령은 시스템(100)의 주의를 끌기 위해 발화되는 미리 결정된 용어인 “핫워드”, 예를 들어, "주의 단어" 또는 "음성 액션 개시 명령" 을 포함할 수 있다.
프론트엔드 엔진(104)은, 예를 들어, 하나 이상의 네트워크들을 통해 모바일 컴퓨팅 디바이스(102)로부터 발언을 인코딩한 오디오 데이터를 수신한다. 모바일 디바이스가 발언의 초기 부분을 검출한 경우, 사용자가 아직 완전한 질문을 제공하지 않았을 지라도 초기 부분이 검출되면, 초기 부분을 인코딩한 오디오 데이터는 모바일 디바이스에 의해 프론트엔드 엔진으로 전송될 수 있다. 일부 예시들에서, 오디오 데이터는 모바일 컴퓨팅 디바이스(102)의 위치 데이터를 포함하여, 환경 데이터를 더 포함할 수 있다. 프론트엔드 엔진(104)은 오디오 데이터로부터 발언을 추출하는 것을 포함하여, 오디오 데이터를 적절하게 프로세싱할 수 있고, 발언을 연속 스피치 인식기(106)에 제공할 수 있다.
연속 스피치 인식기(106)는 발언의 초기 부분의 표기일 수 있는 발언의 중간 표기를 생성한다. 발언의 중간 표기를 생성하는 것은 발언을 텍스트 또는 텍스트-관련 데이터로 표기하는 연속 스피치 인식기(106)를 포함할 수 있다. 일부 예시들에서, 연속 스피치 인식기(106)는 발언의 서면 형태로 언어의 표현을 제공할 수 있다. 예를 들어, 연속 스피치 인식기(106)는 "What’s the score" 의 표기를 생성하기 위해 발언을 표기한다. 연속 스피치 인식기(106)는 중간 표기를 프론트엔드 엔진(104)에 제공한다.
프론트엔드 엔진(104)은 시간 t1에서 연속 스피치 인식기(106)로부터 발언의 중간 표기를 획득한다. 프론트엔드 엔진(104)은 중간 표기를 적절히 프로세싱할 수 있고, 중간 표기를 완료 엔진(108)에 제공할 수 있다. 이를 위해, 나타낸 예시에서, 완료 엔진(108)은 “What’s the score”라는 중간 표기를 수신하고, 예를 들어 프론트엔드 엔진(104) 및/또는 연속 스피치 인식기(106)에 의해, 발언의 최종 표기를 획득하기 전에, 아래에 기술된 대로 발언의 중간 표기를 적절하게 프로세싱한다.
특히, 완료 엔진(108)은 발언의 중간 표기가 이전에 수신된 검색 쿼리와 연관되어 있다고 결정한다. 나타낸 예시에서, 완료 엔진(108)은 쿼리들 Q1, Q2, ..., QN으로 도시된, 이전에 수신된 검색 쿼리들을 포함하는 쿼리 로그(110)에 액세스한다. 완료 엔진(108)은 발언의 중간 표기 "What’s the score" 가 이전에 수신된 검색 쿼리 Q1, "What's the score of the Sharks game" 과 연관되고, 이전에 수신된 검색 쿼리 Q2, "What's the score of the Flounders game" 과 또한 연관된다고 결정한다.
일부 예시들에서, 완료 엔진(108)은 발언의 중간 표기가 이전에 수신된 검색 쿼리의 일부와 같다고 결정한다. 특히, 완료 엔진(108)은 발언의 중간 표기가 이전에 수신된 검색 쿼리의 초기 부분, 또는 접두사와 같다, 예를 들어 동일 또는 매칭된다고 결정한다. 나타낸 예시에서, 완료 엔진(108)은 발언의 중간 표기 "What’s the score" 가 이전에 수신된 검색 쿼리 Q1 "What's the score of the Sharks game”의 초기 부분과 같으며, 이전에 수신된 검색 쿼리 Q2 "What's the score of the Flounders game" 의 초기 부분과 같다고 결정한다.
일부 예시들에서, 완료 엔진(108)은 발언의 중간 표기가 임계 유사성 내에 또는 이전에 수신된 검색 쿼리 일부의 미리 결정된 편집 거리 내에 있음을 결정한다. 특히, 완료 엔진(108)은 발언의 중간 표기가 이전에 수신된 검색 쿼리의 초기 부분 또는 접두어에 대한 임계 유사성 내에 있다고 결정한다. 예를 들어, 완료 엔진(108)은 발언의 중간 표기 "What's the score" 가 이전에 수신된 검색 쿼리 "What is the score of the Sharks game?" 의 초기 부분에 대한 임계 유사성 내에 있다고 결정할 수 있다. 완료 엔진(108)은 발언의 중간 표기 "What's the score" 가 이전에 수신된 검색 쿼리의 초기 부분 “what is the score”에 대한 임계 유사성 내에 있다고 결정한다. 일부 예시들에서, 임계 유사성은 발언의 중간 표기와 이전에 수신된 검색 쿼리의 부분, 예를 들어 초기 부분 사이의 편집 거리에 기초한다.
일부 예시들에서, 완료 엔진(108)은 발언의 중간 표기가 임계 사이즈 또는 임계 길이라는 것을 결정한 후에만 발언의 중간 표기가 이전에 수신된 검색 쿼리와 연관된다고 결정한다. 완료 엔진(108)은 발언의 중간 표기를 임계 사이즈와 비교하고, 발언의 중간 표기가 적어도 임계 사이즈인 것에 응답하여, 발언의 중간 표기가 이전에 수신된 검색 쿼리와 연관된다고 결정한다. 예를 들어, 완료 엔진(108)은 발언의 중간 표기 "What's score" 를 임계 사이즈와 비교할 수 있고, 이에 응답하여, 발언의 중간 표기 "What’s the score" 가 이전에 수신된 검색 쿼리 Q1 "What's the score of the Sharks game" 과 연관되고, 이전에 수신된 검색 쿼리 Q2 "What's the score of the Flounders game" 과 또한 연관된다고 결정한다. 일부 예시들에서, 임계 사이즈는 음소들, 음절들 또는 단어들의 임계 개수에 기초한다.
일부 예시들에서, 완료 엔진(108)은 발언과 연관된 위치가 이전에 수신된 검색 쿼리와 연관된 위치와 연관된다고 결정한다. 특히, 프론트엔드 엔진(104)은 모바일 컴퓨팅 디바이스(102)로부터의 오디오 데이터에 의해 제공되는 발언과 연관된 위치를 완료 엔진(108)에 제공할 수 있다. 완료 엔진(108)은 발언과 연관된 위치가 이전에 수신된 검색 쿼리와 연관된 위치와 연관된다고 결정한 것에 기초하여 발언의 중간 표기가 이전에 수신된 검색 쿼리와 연관된다고 더 결정할 수 있다. 일부 예시들에서, 완료 엔진(108)은 발언의 중간 표기가 이전에 수신된 검색 쿼리와 연관된다고 결정할 수 있으며, 또한 상기 발언과 연관된 위치가 이전에 수신된 검색 쿼리와 연관된 위치와 연관된다고 더 결정할 수 있다. 예를 들어, 나타낸 예시에서, 시간 t0에서 사용자(116)에 의해 제공된 발언은 사용자(116)의 홈-위치와 연관될 수 있다. 완료 엔진(108)은 이전에 수신된 검색 쿼리들 Q1 및 Q2 중 하나 또는 둘 모두 또한 홈-위치와 연관된다고 결정할 수 있다.
일부 예시들에서, 완료 엔진(108)은 발언의 중간 표기가 사용자(116)에 의해 제출되었던 이전에 수신된 검색 쿼리와 연관된다고 결정한다. 특히, 이전에 수신된 검색 쿼리는 동일한 사용자, 예를 들어 발언과 연관된 사용자(116)에 의해 제출되었었다. 따라서, 완료 엔진(108)은 발언 및 이전에 수신된 검색 쿼리가 동일한 사용자, 예를 들어 사용자(116)와 연관된다고 결정한 것에 기초하여 발언의 중간 표기가 이전에 수신된 검색 쿼리와 연관된다고 더 결정할 수 있다. 예를 들어, 나타낸 예시에서, 발언 및 이전에 수신된 검색 쿼리들 Q1 및 Q2 모두 사용자(116)와 연관된다.
일부 예시들에서, 완료 엔진(108)은 발언의 중간 표기가 사용자(116)와 상이한 사용자에 의해 제출되었던 이전에 수신된 검색 쿼리와 연관된다고 결정한다. 특히, 이전에 수신된 검색 쿼리는 발언과 연관된 사용자(116)와는 상이한 사용자에 의해 제출되었었다. 따라서, 완료 엔진(108)은 발언 및 이전에 수신된 검색 쿼리가 상이한 사용자들과 연관된다고 결정한 것에 기초하여 발언의 중간 표기가 이전에 수신된 검색 쿼리와 연관된다고 더 결정할 수 있다.
완료 엔진(108)은 시간 t2에서 프론트엔드 엔진(104)에 이전에 수신된 검색 쿼리들 Q1 및 Q2를 제공한다. 프론트엔드 엔진(104)은 이전에 수신된 검색 쿼리들 Q1 및 Q2에 응답하여 식별된 결과들을 획득한다. 특히, 프론트엔드 엔진(104)은 시간 t3에서 검색 엔진(112)에 의해 재실행하기 위해 이전에 수신된 검색 쿼리들 Q1 및 Q2를 검색 엔진(112)에 제공한다. 검색 엔진(112)은 각각, 쿼리들 Q1 및 Q2에 응답하는 결과들 R1 및 R2를 식별하기 위해 쿼리들 Q1 및 Q2 각각에 대한 전자 문서들을 검색한다. 검색 엔진(112)은 시간 t4에서 결과들 R1 및 R2를 프론트엔드 엔진(104)에 제공한다. 프론트엔드 엔진(104)은 시간 t5에서 결과들 R1 및 R2를 캐시(114)에 저장한다. 특히, 나타낸 예시에서, 프론트엔드 엔진(104)은 쿼리 Q1, 결과 R1, 및 쿼리 Q1과 결과 R1 간의 연관을 캐시(114)에 저장하고, 또한 쿼리 Q2, 결과 R2, 및 쿼리 Q2와 결과 R2 간의 연관을 캐시(114)에 저장한다.
도 1b는 발언의 최종 표기에 대한 검색 결과들을 제공하기 위한 시스템(100)을 도시한다. 간단하게, 시스템(100)은 발언의 최종 표기를 더 획득하며, 발언의 최종 표기가 이전에 수신된 검색 쿼리와 또한 연관된다고 결정하고, 출력을 위해 이전에 저장된 결과들을 제공할 수 있다.
일부 예시들에서, 사용자(116)는 질문을 완료, 즉 시간 t0에서 초기에 제공되었던 완전한 질문을 제공한다. 나타낸 예시에서, 모바일 컴퓨팅 디바이스(102)는 시간 t6에서 질문의 최종 부분, 예를 들어 "of the Sharks game" 을 검출한다. 일부 예시들에서, 시간 t6은 시간들 t2와 t5 사이에서 발생할 수 있다. 시스템(100)은 발언의 초기 부분 "What 's score" 의 프로세싱을 시작할 수 있는데, 즉, 발언의 중간 표기를 획득하고, 중간 표기가 이전에 수신된 검색 쿼리와 연관된다고 결정하며, 질문의 최종 부분 예를 들어, "of the Sharks game" 의 발언을 검출하기 전에 및/또는 발언을 검출함과 동시에, 그리고/또는 이전에 수신된 검색 쿼리에 응답하는 결과들을 획득한다.
프론트엔드 엔진(104)은 예를 들어, 하나 이상의 네트워크들을 통해, 모바일 컴퓨팅 디바이스(102)로부터 발언을 인코딩한 오디오 데이터를 수신한다. 프론트엔드 엔진(104)은 오디오 데이터로부터 발언을 추출하는 것을 포함하여, 오디오 데이터를 적절하게 프로세싱할 수 있고, 발언을 연속 스피치 인식기(106)에 제공할 수 있다. 일부 예시들에서, 프론트엔드 엔진(104)은 연속 스피치 인식기(106)에 "What's the score of the Sharks game" 이라는 완전한 발언을 제공한다. 일부 예시들에서, 프론트엔드 엔진(104)은 발언의 나머지 부분 "of the Sharks game" 을 연속 스피치 인식기(106)에 제공한다.
연속 스피치 인식기(106)는 발언의 최종 표기를 생성한다. 발언의 최종 표기를 생성하는 것은 발언을 텍스트 또는 텍스트-관련 데이터로 표기하는 연속 스피치 인식기(106)를 포함할 수 있다. 일부 예시들에서, 연속 스피치 인식기(106)는 발언의 서면 형태로 언어의 표현을 제공할 수 있다. 예를 들어, 연속 스피치 인식기(106)는 "What's the score of the Sharks game" 의 최종 표기를 생성하기 위해 전체 발언을 표기할 수 있다. 연속 스피치 인식기(106)는 최종 표기를 프론트엔드 엔진(104)에 제공한다.
프론트엔드 엔진(104)은 시간 t7에서 연속 스피치 인식기(106)로부터 최종 표기를 획득한다. 프론트엔드 엔진(104)은 최종 표기를 적절하게 프로세싱할 수 있고, 최종 표기를 완료 엔진(108)에 제공할 수 있다. 이를 위해, 나타낸 예시에서, 완료 엔진(108)은 후술하는 바와 같이 최종 표기 "What's the score of the Sharks game" 을 수신하고, 발언의 최종 표기를 적절하게 프로세싱한다.
일부 구현예들에서, 완료 엔진(108)은 시간 t8에서 발언의 최종 표기가 이전에 수신된 검색 쿼리와 연관된다고 결정한다. 특히, 완료 엔진(108)은 발언의 중간 표기와 연관되는 것으로 식별되었던 이전에 수신된 검색 쿼리들 Q1 및 Q2에 액세스한다. 일부 예시들에서, 완료 엔진(108)은 발언의 최종 표기를 이전에 수신된 각각의 검색 쿼리들 Q1 및 Q2와 비교한다. 완료 엔진(108)은 최종 표기 "What's the score of the Sharks game" 이 이전에 수신된 검색 쿼리 Q1 "What's the score of the Sharks game" 과 연관된다고 결정한다. 또한, 일부 예시들에서, 완료 엔진(108)은 최종 표기 "What's the score of the Sharks game" 이 이전에 수신된 검색 쿼리 Q2 “What's the score of the Flounders game”과 연관되지 않는다고 결정한다.
일부 예시들에서, 완료 엔진(108)은 발언의 최종 표기가 이전에 수신된 검색 쿼리와 같다고 결정한다. 완료 엔진(108)은 발언의 최종 표기가 이전에 수신된 검색 쿼리와 유사하거나 같은, 예를 들어, 매칭 또는 동일하거나 유사한 것으로 결정한다. 나타낸 예시에서, 완료 엔진(108)은 발언의 최종 표기 "What's the score of the Sharks game" 이 이전에 수신된 검색 쿼리 Q1 "What's the score of the Sharks game" 과 같다고 결정한다.
일부 예시들에서, 완료 엔진(108)은 발언의 최종 표기가 이전에 수신된 검색 쿼리에 대한 임계 유사성 내에 있다고 결정한다. 완료 엔진(108)은 발언의 최종 표기가 이전에 수신된 검색 쿼리에 대한 임계 유사성 내에 있다고 결정한다. 예를 들어, 완료 엔진(108)은 발언의 최종 표기 "What's the score of the Sharks game" 이 이전에 수신된 검색 쿼리 "What is the score of the Sharks game" 과 임계 유사성 내에 있다고 결정할 수 있다. 완료 엔진(108)은 발언의 최종 표기 "What's the score of the Sharks game" 이 이전에 수신된 검색 쿼리의 "What's the score of the Sharks game" 과 임계 유사성 내에 있다고 결정한다. 일부 예시들에서, 임계 유사성은 발언의 최종 표기와 이전에 수신된 검색 쿼리 간의 편집 거리에 기초한다.
완료 엔진(108)은 프론트엔드 엔진(104)에 이전에 수신된 검색 쿼리 Q1, 또는 프론트엔드 엔진(104)에 이전에 수신된 검색 쿼리 Q1의 표시를 제공한다. 프론트엔드 엔진(104)은 이전에 수신된 검색 쿼리 Q1과 연관된 각각의 결과를 식별하기 위해 캐시(114)에 액세스한다. 특히, 프론트엔드 엔진(104)은, 캐시(114)에 의해 저장된, 이전에 수신된 검색 쿼리 Q1과 결과 R1 사이의 연관을 식별하고, 시간 t9에서 결과 R1을 수신한다. 일부 예시들에서, 프론트엔드 엔진(104)은 이전에 수신된 검색 쿼리 Q1과 결과 R1 사이의 연관성을 식별하는 것에 응답하여 쿼리 Q2, 결과 R2, 및 쿼리 Q2와 결과 R2 사이의 연관성을 캐시(114)로부터 제거한다.
완료 엔진(108)은 시간 t10에서 모바일 컴퓨팅 디바이스(102)에 출력을 위해 저장된 결과 R1을 제공한다. 완료 엔진(108)이 발언의 최종 표기 "What's the score of the Sharks game" 이 이전에 수신된 검색 쿼리 Q1과 또한 연관된다고 결정한 것에 응답하여, 프론트엔드 엔진(104)은 모바일 컴퓨팅 디바이스(102)에 출력을 위해 저장된 결과 R1을 제공한다.
도 2는 발언의 중간 표기에 기초하여 검색 결과들을 획득하기 위한 예시적인 프로세스(200)의 흐름도를 도시한다. 예시적인 프로세스(200)는 하나 이상의 컴퓨팅 디바이스들을 사용하여 실행될 수 있다. 예를 들어, 모바일 컴퓨팅 디바이스(102), 프론트엔드 엔진(104), 연속 스피치 인식기(106), 완료 엔진(108), 및/또는 검색 엔진(112)은 예시 프로세스(200)를 실행하는데 사용될 수 있다.
발언을 인코딩한 오디오 데이터가 수신된다(202). 특히, 프론트엔드 엔진(104)은 모바일 컴퓨팅 디바이스(102)로부터 오디오 데이터를 수신한다. 예를 들어, 오디오 데이터는 발언의 초기 부분, 예를 들어 "Book a flight to" 를 포함한다.
발언의 중간 표기가 획득된다(204). 특히, 연속 스피치 인식기(106)는 발언의 중간 표기를 생성한다. 예를 들어, 연속 스피치 인식기(106)는 "Book a flight to" 의 표기를 생성하기 위해 발언을 표기한다. 프론트엔드 엔진(104)은 연속 스피치 인식기(106)로부터 발언의 중간 표기를 획득한다.
발언의 중간 표기는 이전에 수신된 검색 쿼리와 연관되는 것으로 결정된다(206). 특히, 발언의 최종 표기를 획득하기 전에, 완료 엔진(108)은 발언의 중간 표기가 이전에 수신된 검색 쿼리와 연관된다고 결정한다. 예를 들어, 완료 엔진(108)은 발언의 중간 표기 "Book a flight to" 가 이전에 수신된 검색 쿼리 QA “Book a flight to Austin”과 연관되고 또한 이전에 수신된 검색 쿼리 QB “Book a flight to Mexico”와 연관된다고 결정한다.
이전에 수신된 검색 쿼리에 응답하는 결과들이 획득된다(208). 특히, 발언의 최종 표기를 획득하기 전에, 검색 엔진(112)은 이전에 수신된 검색 쿼리들에 응답하는 결과들을 식별하기 위해 이전에 수신된 검색 쿼리들을 실행한다. 예를 들어, 검색 엔진(112)은 각각, 쿼리들 QA 및 QB에 응답하는 결과들 RA 및 RB를 식별하기 위해 쿼리들 QA 및 QB 각각에 대한 전자 문서들을 검색한다. 프론트엔드 엔진(104)은 검색 엔진으로부터 결과들 RA 및 RB를 획득한다.
상기 결과들이 저장된다(210). 특히, 발언의 최종 표기를 획득하기 전에, 프론트엔드 엔진은 결과들을 캐시에 저장한다. 예를 들면, 프론트엔드 엔진(104)은 쿼리 QA, 결과 RA, 및 쿼리 QA와 결과 RA 간의 연관을 캐시(114)에 저장하고, 또한 쿼리 QB, 결과 RB, 및 쿼리 QB와 결과 RB 간의 연관을 캐시(114)에 저장한다.
도 3은 발언의 최종 표기에 대한 검색 결과들을 제공하기 위한 예시적인 프로세스(300)의 흐름도를 도시한다. 예시적인 프로세스(300)는 하나 이상의 컴퓨팅 디바이스들을 사용하여 실행될 수 있다. 예를 들어, 모바일 컴퓨팅 디바이스(102), 프론트엔드 엔진(104), 연속 스피치 인식기(106), 완료 엔진(108) 및/또는 검색 엔진(112)은 예시 프로세스(300)를 실행하는데 사용될 수 있다.
발언의 최종 표기가 획득된다(302). 특히, 연속 스피치 인식기(106)는 발언의 최종 표기를 생성한다. 예를 들어, 연속 스피치 인식기(106)는 "Book a flight to Austin" 의 최종 표기를 생성하기 위해 전체 발언을 표기한다. 프론트엔드 엔진(104)은 연속 스피치 인식기(106)로부터 발언의 최종 표기를 획득한다.
발언의 최종 표기는 이전에 수신된 검색 쿼리와 또한 연관된다고 결정된다(304). 특히, 완료 엔진(108)은 발언의 최종 표기가 이전에 수신된 검색 쿼리와 또한 연관되어 있다고 결정한다. 예를 들어, 완료 엔진(108)은 최종 표기 "Book a flight to Austin" 이 이전에 수신된 검색 쿼리 QA "Book a flight to Austin" 과 연관되어 있다고 결정한다.
발언의 최종 표기가 이전에 수신된 검색 쿼리와 또한 연관된다고 결정한 것에 응답하여, 저장된 결과들이 출력을 위해 제공된다. 특히, 프론트엔드 엔진(104)은 이전에 수신된 검색 쿼리와 연관된 각각의 결과를 식별하기 위하여 캐시(114)에 액세스한다. 완료 엔진(108)이 발언의 최종 표기 "Book a flight to Austin" 이 이전에 수신된 검색 쿼리 QA와 또한 연관되어 있다고 결정한 것에 응답하여, 프론트엔드 엔진(104)은 모바일 컴퓨팅 디바이스(102)에 출력을 위해 저장된 결과 RA를 제공한다.
도 4는 일반 컴퓨터 디바이스(400) 및 일반 모바일 컴퓨터 디바이스(440)의 예시를 도시하며, 여기에 기술된 기법들과 함께 사용될 수 있다. 컴퓨팅 디바이스(400)는 랩탑들, 데스크탑들, 워크 스테이션들, 개인 휴대 정보 단말기들, 서버들, 블레이드 서버들, 메인 프레임들, 및 다른 적절한 컴퓨터들과 같은 다양한 형태의 디지털 컴퓨터들을 표현하도록 의도되었다. 컴퓨팅 디바이스(440)는 개인 휴대 정보 단말기들, 셀룰러 전화기들, 스마트폰들, 및 다른 유사한 컴퓨팅 디바이스들과 같은 다양한 형태의 모바일 디바이스들을 표현하도록 의도되었다. 여기에 도시된 컴포넌트들, 그들의 연결들 및 관계들, 및 그들의 기능들은 단지 예시적인 것이며, 본 명세서에 기재된 및/또는 청구된 발명들의 구현예들을 제한하지 않는다.
컴퓨팅 디바이스(400)는 프로세서(402), 메모리(404), 저장 디바이스(406), 메모리(404) 및 고속 확장 포트들(410)에 연결되는 고속 인터페이스(408), 및 저속 버스(414) 및 저장 디바이스(406)에 연결되는 저속 인터페이스(412)를 포함한다. 컴포넌트들(402, 404, 406, 408, 410 및 412) 각각은 다양한 버스들을 사용하여 상호연결되며, 공통 마더 보드 상에 또는 다른 방식들로 적절하게 마운트될 수 있다. 프로세서(402)는 고속 인터페이스(408)에 결합된 디스플레이(416)와 같은, 외부 입/출력 디바이스 상의 GUI에 대한 그래픽 정보를 디스플레이하기 위해 메모리(404) 또는 저장 디바이스(406)에 저장된 명령어들을 포함하여, 컴퓨팅 디바이스(400) 내에서 실행하기 위한 명령어들을 프로세싱할 수 있다. 다른 구현예들에서, 다수의 메모리들 및 여러 유형의 메모리들과 함께, 다수의 프로세서들 및/또는 다수의 버스들이 적절하게 사용될 수 있다. 또한, 다수의 컴퓨팅 디바이스들(400)이 연결될 수 있으며, 각각의 디바이스들은 필요한 동작(예를 들어, 서버 뱅크, 블레이드 서버들의 그룹, 또는 멀티 프로세서 시스템으로써)들의 일부를 제공한다.
메모리(404)는 컴퓨팅 디바이스(400) 내의 정보를 저장한다. 하나의 구현예에서, 메모리(404)는 휘발성 메모리 유닛 또는 유닛들이다. 다른 구현예에서, 메모리(404)는 비 휘발성 메모리 유닛 또는 유닛들이다. 메모리(404)는 또한 자기 또는 광학 디스크와 같은, 컴퓨터 판독 가능 매체의 다른 형태일 수 있다.
저장 디바이스(406)는 컴퓨팅 디바이스(400)를 위한 대용량 저장 저장소를 제공할 수 있다. 하나의 구현예에서, 저장 디바이스(406)는 저장 영역 네트워크 내의 디바이스들 또는 다른 구성들 내의 디바이스들을 포함하여, 플로피 디스크 디바이스, 하드 디스크 디바이스, 광학 디스크 디바이스 또는 테이프 디바이스, 플래시 메모리 또는 다른 유사한 고체 상태 메모리 디바이스, 또는 디바이스들의 어레이와 같은, 컴퓨터 판독 가능 매체일 수 있거나 매체를 포함할 수 있다. 컴퓨터 프로그램 제품은 정보 캐리어에 유형적으로 구현될 수 있다. 컴퓨터 프로그램 제품은 실행될 때, 상술한 바와 같은 하나 이상의 방법을 수행하는 명령어들을 또한 포함할 수 있다. 정보 캐리어는 메모리(404), 저장 디바이스(406), 또는 프로세서(402)상의 메모리와 같은 컴퓨터 판독 가능 매체 또는 기계 판독 가능 매체이다.
고속 제어기(408)는 컴퓨팅 디바이스(400)에 대한 대역폭-집중적인 동작들을 관리하고, 반면에 저속 제어기(412)는 저 대역폭-집중적인 동작들을 관리한다. 이러한 기능들의 할당은 단지 예시적인 것이다. 하나의 구현예에서, 고속 제어기(408)는 메모리(404), 디스플레이(416) (예를 들어, 그래픽들 프로세서 또는 가속기를 통해), 및 다양한 확장 카드들(도시되지 않음)을 수용할 수 있는 고속 확장 포트들(410))에 결합되어 있다. 구현예에서, 저속 제어기(412)는 저장 디바이스(406) 및 저속 확장 포트(414)에 결합된다. 다양한 통신 포트들(예를 들어, USB, 블루투스, 이더넷, 무선 이더넷)을 포함할 수 있는, 저속 확장 포트는 예를 들어, 키보드, 포인팅 디바이스, 스캐너, 또는 스위치 또는 라우터와 같은 네트워킹 디바이스와 같은, 하나 이상의 입력/출력 디바이스들에, 예를 들어, 네트워크 어댑터를 통하여 결합될 수 있다. 일부 예시들에서, 저장 디바이스(406)는 고속 버스에 결합된다.
컴퓨팅 디바이스(400)는, 도면에 도시된 바와 같이, 여러가지 상이한 형태들로 구현될 수 있다. 예를 들어, 그것은 스탠다드 서버(420)로써 또는 그러한 서버들의 그룹에서 여러번 구현될 수 있다. 또한, 그것은 랙 서버 시스템(424)의 일부로써 구현될 수 있다. 게다가, 랩탑 컴퓨터(422)와 같은 개인용 컴퓨터에서 구현될 수 있다. 대안적으로, 컴퓨팅 디바이스(400)로부터의 컴포넌트들은 디바이스(440)와 같은, 모바일 디바이스(도시되지 않음)내의 다른 컴포넌트들과 결합될 수 있다. 이러한 디바이스들 각각은 컴퓨팅 디바이스(400, 440) 중 하나 이상을 포함할 수 있으며, 전체 시스템은 서로 통신하는 다수의 컴퓨팅 디바이스들(400, 440)로 구성될 수 있다.
컴퓨팅 디바이스(440)는 다른 컴포넌트들 중에서, 프로세서(452), 메모리(464), 디스플레이(454)와 같은 입/출력 디바이스, 통신 인터페이스(476) 및 송수신기(468)를 포함한다. 디바이스(440)는 추가 저장소를 제공하기 위해 마이크로드라이브 또는 다른 디바이스와 같은 저장 디바이스와 함께 또한 제공될 수 있다. 컴포넌트들(440, 452, 464, 454, 476 및 468) 각각은 다양한 버스들을 사용하여 상호연결되며, 몇몇 컴포넌트들은 공통 마더보드 상에 또는 다른 방식으로 적절하게 마운트될 수 있다.
프로세서(452)는 메모리(464)에 저장된 명령어들을 포함하여, 컴퓨팅 디바이스(640) 내의 명령어들을 실행할 수 있다. 프로세서는 개별 및 다중 아날로그 및 디지털 프로세서들을 포함하는 칩들의 칩셋으로써 구현될 수 있다. 프로세서는 예를 들어, 사용자 인터페이스들의 제어, 디바이스(440)에 의해 작동하는 애플리케이션들, 및 디바이스(440)에 의한 무선 통신과 같은, 디바이스(440)의 다른 컴포넌트들의 조정을 제공할 수 있다.
프로세서(452)는 제어 인터페이스(468) 및 디스플레이(454)에 결합된 디스플레이 인터페이스(446)를 통해 사용자와 통신할 수 있다. 디스플레이(454)는 예를 들어, TFT LCD(Thin-Film-Transistor Liquid Crystal Display) 또는 OLED(Organic Light Emitting Diode) 디스플레이, 또는 다른 적절한 디스플레이 기술일 수 있다. 디스플레이 인터페이스(446)는 그래픽 및 다른 정보를 사용자에게 제시하기 위해 디스플레이(454)를 구동하기 위한 적절한 회로를 포함할 수 있다. 제어 인터페이스(448)는 프로세서(452)에 제출하기 위해 사용자로부터 명령들을 수신하고 그들을 변환할 수 있다. 추가로, 외부 인터페이스(462)가 프로세서(452)와의 통신에서 제공되어, 디바이스(440)와 다른 디바이스들과의 근거리 통신이 가능할 수 있다. 외부 인터페이스(462)는 예를 들어, 일부 구현예들에서 유선 통신을, 또는 다른 구현예들에서 무선 통신을 제공할 수 있으며, 다수의 인터페이스들이 또한 사용될 수 있다.
메모리(464)는 컴퓨팅 디바이스(440) 내의 정보를 저장한다. 메모리(464)는 컴퓨터 판독 가능 매체 또는 매체들, 휘발성 메모리 유닛 또는 유닛들, 또는 비 휘발성 메모리 유닛 또는 유닛들 중 하나 이상으로 구현될 수 있다. 확장 메모리(444)는 확장 인터페이스(442)를 통해 디바이스(440)에 제공되고 연결될 수 있으며, 그것은 예를 들어, SIMM(Single In Line Memory Module) 카드 인터페이스를 포함할 수 있다. 확장 메모리(444)는 디바이스(440)에 대한 여분의 저장 공간을 제공할 수 있거나, 또는 애플리케이션들 또는 디바이스(440)에 대한 다른 정보를 또한 저장할 수 있다. 특히, 확장 메모리(444)는 전술한 프로세스들을 수행하거나 보충하기 위해 명령어들을 포함할 수 있으며, 보안 정보를 또한 포함할 수 있다. 따라서, 예를 들어, 확장 메모리(444)는 디바이스(440)에 대한 보안 모듈로써 제공될 수 있고, 그리고 디바이스(440)의 보안 사용을 허용하는 명령어들로 프로그래밍될 수 있다. 추가로, 보안 애플리케이션들은 SIMM 카드에 식별 정보를 해킹할 수 없게 두는 것처럼, 추가 정보와 함께, SIMM 카드들을 통해 제공될 수 있다.
메모리는 예를 들어, 이하에서 논의되는 바와 같이, 플래시 메모리 및/또는 NVRAM 메모리를 포함할 수 있다. 하나의 구현예에서, 컴퓨터 프로그램 제품은 정보 캐리어에 유형적으로 구현될 수 있다. 컴퓨터 프로그램 제품은, 실행될 때 위에 기술된 것과 같은 하나 이상의 방법들을 수행하는 명령어들을 포함한다. 정보 캐리어는 메모리(464), 확장 메모리(444), 또는 프로세서(452)상의 메모리와 같은, 컴퓨터 판독 가능 매체 또는 기계 판독 가능 매체이거나, 예를 들어, 송수신기(468) 또는 외부 인터페이스(462)를 통해 수신된 전파된 신호일 수 있다.
디바이스(440)는 통신 인터페이스(476)를 통해 무선으로 통신할 수 있으며, 필요한 경우 디지털 신호 프로세싱 회로망을 포함할 수 있다. 통신 인터페이스(476)는 GSM voice calls, SMS, EMS, or MMS messaging, CDMA, TDMA, PDC, WCDMA, CDMA2000, 또는 GPRS, 등과 같은 다양한 프로토콜들 또는 모드들 하에서 통신들을 제공한다. 이러한 통신은 예를 들어, 라디오주파수 송수신기(468)를 통해 발생할 수 있다. 추가로, 블루투스, WiFi, 또는 다른 송수신기(도시되지 않음)를 사용하는 것과 같은 단거리 통신이 발생할 수 있다. 추가로, GPS(Global Positioning System) 수신기 모듈(440)은 추가적인 네비게이션 및 위치 관련 무선 데이터를 디바이스(440)에 제공할 수 있으며, 상기 데이터는 디바이스(440)상에서 작동하는 애플리케이션들에 의해 적절하게 사용될 수 있다.
디바이스(440)는 또한 오디오 코덱(460)을 사용하여 청각적으로 통신할 수 있으며, 사용자로부터 발화된 정보를 수신하여 그것을 이용 가능한 디지털 정보로 변환할 수 있다. 오디오 코덱(460)은 마찬가지로, 예를 들어, 디바이스(440)의 수화기에 있는 스피커와 같은 것을 통해 사용자를 위한 가청 소리를 생성할 수 있다. 이러한 소리는 음성 전화 호출들로부터의 소리를 포함할 수 있고, 기록된 소리(예를 들어, 음성 메시지들, 음악 파일들 등)를 포함할 수 있으며, 디바이스(440)상에서 동작하는 애플리케이션들에 의해 생성된 소리를 또한 포함할 수 있다.
컴퓨팅 디바이스(440)는 도면에 도시된 바와 같이, 다수의 상이한 형태들로 구현될 수 있다. 예를 들어, 그것은 셀룰러 전화기(480)로 구현될 수 있다. 그것은 스마트폰(482), PDA, 또는 다른 유사한 모바일 디바이스의 일부로 또한 구현될 수 있다.
여기서 기술된 시스템들 및 기법들의 다양한 구현예들은 디지털 전자 회로, 집적 회로, 특별히 디자인된 ASIC들(application specific integrated circuits), 컴퓨터 하드웨어, 펌웨어, 소프트웨어 및/또는 이들의 조합들로 실현될 수 있다. 이러한 다양한 구현예들은, 적어도 하나의 프로그램가능한 프로세서를 포함하는 프로그램 가능한 시스템 상에서 실행 가능하고 및/또는 해석 가능한 하나 이상의 컴퓨터 프로그램들 내의 구현을 포함할 수 있으며, 상기 구현은 저장 시스템, 적어도 하나의 입력 장치, 및 적어도 하나의 출력 장치로 데이터 및 명령어들을 전송하고 이들로부터 데이터 및 명령어들을 수신하도록 결합된, 전용적이고 범용적인 목적일 수 있다.
이들 컴퓨터 프로그램들(프로그램들, 소프트웨어, 소프트웨어 애플리케이션들 또는 코드로 또한 알려져 있음)은 프로그램 가능한 프로세서에 대한 기계 명령어들을 포함하고, 그리고 고 레벨의 절차적 및/또는 객체 지향적 프로그래밍, 및/또는 어셈블리/기계 언어로 구현될 수 있다. 본 명세서에서 사용되는 것처럼, 기계 판독 가능 매체 및 컴퓨터 판독 가능 매체라는 용어들은 임의의 컴퓨터 프로그램 제품, 장치들 및/또는 프로그램 가능한 프로세서에 기계 명령어들 및/또는 데이터를 제공하기 위해 사용되는 디바이스(예를 들어, 자기 디스크들, 광 디스크들, 메모리, 프로그램 가능 논리 장치들(PLDs))를 지칭하며, 기계 판독 가능 신호로써 기계 명령어들을 수신하는 기계 판독 가능 매체를 포함한다. 기계 판독 가능 신호라는 용어는 기계 명령어들 및/또는 데이터를 프로그램 가능한 프로세서에 제공하기 위해 사용되는 임의의 신호를 지칭한다.
사용자와의 인터랙션을 제공하기 위해, 여기에 기술된 시스템들 및 기법들은 사용자에게 정보를 디스플레이하기 위한 디스플레이 디바이스(예를 들어, CRT(cathode ray tube) 또는 LCD(액정 디스플레이) 모니터), 및 키보드와 사용자가 컴퓨터에 입력을 제공할 수 있는 포인팅 디바이스(예를 들어, 마우스 또는 트랙볼)를 가지는 컴퓨터 상에서 구현될 수 있다. 다른 종류의 디바이스들 역시 사용자와의 인터랙션을 제공하기 위해 사용될 수 있다; 예를 들어, 사용자에게 제공된 피드백은 임의 형태의 감각적 피드백(예를 들어, 시각적 피드백, 청각적 피드백 또는 촉각적 피드백)일 수 있다; 그리고 사용자로부터의 입력은 음향, 음성, 또는 촉각 입력을 포함하여, 임의의 형태로 수신될 수 있다.
본 명세서에 기술된 시스템들 및 기법들은 백 엔드 컴포넌트(예를 들어, 데이터 서버)를 포함하거나, 미들웨어 컴포넌트(예를 들어, 애플리케이션 서버)를 포함하거나, 프론트 엔드 컴포넌트(예를 들어, 그래픽 사용자 인터페이스 또는 웹 브라우저를 갖는 클라이언트 컴퓨터, 그것을 통하여 사용자는 여기에 기술된 시스템들 및 기법들의 구현과 인터랙팅할 수 있다), 또는 그러한 백 엔드, 미들웨어 또는 프론트 엔드 컴포넌트들의 임의의 조합을 포함하는 컴퓨팅 시스템에서 구현될 수 있다. 시스템의 컴포넌트들은 임의의 형태 또는 디지털 데이터 통신(예를 들어, 통신 네트워크)의 매체에 의해 상호연결될 수 있다. 통신 네트워크들의 예시들은 근거리 네트워크(LAN), 광역 네트워크(WAN), 및 인터넷을 포함한다.
컴퓨팅 시스템은 클라이언트들 및 서버들을 포함할 수 있다. 클라이언트와 서버는 일반적으로 서로 멀리 떨어져 있으며 전형적으로 통신 네트워크를 통해 인터랙팅 한다. 클라이언트와 서버의 관계는 컴퓨터 프로그램들 때문에 생기며, 상기 프로그램들은 각각의 컴퓨터들에서 작동하며 서로 클라이언트-서버 관계를 갖는다.
본 게시가 몇몇 세부 사항들을 포함하지만, 이들은 본 게시의 범위 또는 청구될 수 있는 것의 범위에 대한 제한들로 해석되어서는 안되며, 오히려 게시의 예시적인 구현예들의 구성들에 대한 기술들로 해석되어야 한다. 별도의 구현예들의 컨텍스트에서 본 게시에 기술된 일정 구성들은 단일 구현으로 조합하여 또한 제공될 수 있다. 반대로, 단일 구현의 컨텍스트에서 기술된 다양한 구성들은 다수의 구현예들에서 개별적으로 또는 임의의 적합한 하위조합으로 제공될 수 있다. 또한, 구성들은 일정 조합들로 동작하는 것으로서 상기 기술되었고 심지어 초기적으로는 그와 같이 청구되었지만, 청구된 조합으로부터의 하나 이상의 구성들은 일부 경우들에서는 상기 조합으로부터 제거될 수 있고, 청구된 조합은 하위조합 또는 하위조합의 변형으로 유도될 수 있다.
유사하게, 동작들이 특정한 순서로 도면들에 도시되어 있지만, 바람직한 결과들을 달성하기 위해, 그러한 동작들이 도시된 특정한 순서 또는 순차적 순서로 수행되거나, 또는 도시된 모든 동작들이 수행될 것을 요구하는 것으로 이해되어서는 안된다. 일정 상황들에서는, 멀티태스킹과 병렬 프로세싱이 유리할 수 있다. 또한, 상술된 구현예들에서 다양한 시스템 컴포넌트들의 분리는 모든 구현예들에서 그러한 분리를 요구하는 것으로 이해되어서는 안되며, 상기 기술된 프로그램 컴포넌트들 및 시스템들은 일반적으로 단일 소프트웨어 제품에 함께 통합되거나 다수의 소프트웨어 제품들로 패키징될 수 있다는 것을 이해하여야 한다.
발명의 특정한 구현예들이 기술되었다. 다른 구현예들은 다음의 청구항들의 범위 내에 있다. 예를 들어, 청구 범위에 열거된 액션들은 상이한 순서로 수행될 수 있으며 여전히 바람직한 결과들을 달성한다. 여러가지 구현예들이 기술되었다. 그럼에도 불구하고, 본 발명의 범위와 사상을 벗어나지 않고서 다양한 수정들이 가능하다. 예를 들어, 위에 나타낸 흐름들의 다양한 형태들은 재-배열된, 추가된 또는 제거된 단계들과 함께 사용될 수 있다. 따라서, 다른 구현예들은 다음의 청구항들의 범위 내에 있다.
예를 들어, 상술한 구현예들에서, 발언의 초기 부분은 모바일 디바이스(102)에서 검출된다. 그러나, 본 발명은 이에 제한되지 않으며, 발언의 초기 부분은 대안적으로 다른 곳에서, 예를 들어 프론트엔드 엔진(104) 또는 연속 스피치 인식기(106)에 의해 검출될 수 있다.

Claims (17)

  1. 방법으로서:
    발언을 인코딩한 오디오 데이터를 수신하는 단계;
    상기 발언의 중간 표기를 획득하는 단계;
    상기 발언의 최종 표기가 획득되기 전에:
    i) 상기 발언의 상기 중간 표기가 이전에 수신된 검색 쿼리와
    연관된다고 결정하는 단계,
    ii) 이전에 수신된 검색 쿼리에 대한 응답으로 식별된 하나 이상의 결과들을 획득하는 단계, 및
    iii) 상기 결과들 중 하나 이상을 저장하는 단계;
    상기 발언의 상기 최종 표기를 획득하는 단계;
    상기 발언의 상기 최종 표기 또한 이전에 수신된 검색 쿼리와 연관된다고 결정하는 단계; 및
    상기 발언의 상기 최종 표기 또한 이전에 수신된 검색 쿼리와 연관된다고 결정하는 것에 응답하여, 출력을 위해 상기 저장된 하나 이상의 결과들을 제공하는 단계를 포함하는 것을 특징으로 하는 방법.
  2. 청구항 1에 있어서, 상기 발언의 상기 중간 표기가 임계 사이즈라고 결정하는 단계를 더 포함하며, 상기 중간 표기가 상기 임계 사이즈인 것으로 결정한 후에만 상기 발언의 상기 중간 표기는 이전에 수신된 검색 쿼리와 연관되도록 결정되는 것을 특징으로 하는 방법.
  3. 청구항 1 또는 청구항 2에 있어서, 상기 발언의 상기 중간 표기는 연속 스피치 인식기에 의해 생성되고, 상기 하나 이상의 결과들은 검색 엔진으로부터 획득되는 것을 특징으로 하는 방법.
  4. 청구항 1, 2 또는 3에 있어서, 상기 발언의 상기 중간 표기가 이전에 수신된 상기 검색 쿼리와 연관된다고 결정한 단계 이후에, 검색 엔진에 의한 재-실행을 위해 이전에 수신된 상기 검색 쿼리를 제출하는 단계를 더 포함하는 것을 특징으로 하는 방법.
  5. 선행하는 청구항들 중 어느 한 항에 있어서, 상기 발언의 상기 중간 표기가 이전에 수신된 상기 검색 쿼리와 연관된다고 결정하는 단계는 상기 발언과 연관된 위치가 이전에 수신된 상기 검색 쿼리와 연관된 위치와 연관된다고 결정하는 단계를 포함하는 것을 특징으로 하는 방법.
  6. 선행하는 청구항들 중 어느 한 항에 있어서, 상기 발언의 상기 중간 표기가 이전에 수신된 상기 검색 쿼리와 연관된다고 결정하는 단계는 상기 발언의 상기 중간 표기가 상기 발언과 연관된 동일한 사용자에 의해 제출되었던 이전에 수신된 검색 쿼리와 연관된다고 결정하는 단계를 포함하는 것을 특징으로 하는 방법.
  7. 청구항 1 내지 청구항 5 중 어느 한 항에 있어서, 상기 발언의 상기 중간 표기가 이전에 수신된 상기 검색 쿼리와 연관된다고 결정하는 단계는 상기 발언의 상기 중간 표기가 상기 발언과 연관된 사용자와는 다른 사용자에 의해 제출되었던 이전에 수신된 검색 쿼리와 연관된다고 결정하는 단계를 포함하는 것을 특징으로 하는 방법.
  8. 선행하는 청구항들 중 어느 한 항에 있어서, 상기 발언은 음성 쿼리 이외의 음성 명령인 것을 특징으로 하는 방법.
  9. 선행하는 청구항들 중 어느 한 항에 있어서, 상기 발언의 상기 중간 표기가 이전에 수신된 상기 검색 쿼리와 연관된다고 결정하는 단계는 상기 발언의 상기 중간 표기가 이전에 수신된 상기 검색 쿼리의 일부와 같다고 결정하는 단계를 더 포함하는 것을 특징으로 하는 방법.
  10. 청구항 1 내지 청구항 8 중 어느 한 항에 있어서, 상기 발언의 상기 중간 표기가 이전에 수신된 상기 검색 쿼리와 연관된다고 결정하는 단계는 상기 발언의 상기 중간 표기가 이전에 수신된 상기 검색 쿼리의 일부와 임계 유사성 내에 있다고 결정하는 단계를 더 포함하는 것을 특징으로 하는 방법.
  11. 시스템으로서:
    하나 이상의 컴퓨터들 및 동작 가능한 명령어들을 저장하는 하나 이상의 저장 디바이스들을 포함하며, 상기 명령어들은 하나 이상의 컴퓨터들에 의해 실행시, 하나 이상의 컴퓨터들로 하여금 동작들을 수행하게 하며, 상기 동작들은:
    발언을 인코딩한 오디오 데이터를 수신하는 동작;
    상기 발언의 중간 표기를 획득하는 동작;
    상기 발언의 최종 표기가 획득되기 전에:
    i) 상기 발언의 상기 중간 표기가 이전에 수신된 검색 쿼리와
    연관된다고 결정하는 동작,
    ii) 이전에 수신된 검색 쿼리에 대한 응답으로 식별된 하나 이상의 결과들을 획득하는 동작, 및
    iii) 상기 결과들 중 하나 이상을 저장하는 동작;
    상기 발언의 상기 최종 표기를 획득하는 동작;
    상기 발언의 상기 최종 표기 또한 이전에 수신된 검색 쿼리와 연관된다고 결정하는 동작; 및
    상기 발언의 상기 최종 표기 또한 이전에 수신된 검색 쿼리와 연관된다고 결정하는 것에 응답하여, 출력을 위해 상기 저장된 하나 이상의 결과들을 제공하는 동작을 포함하는 것을 특징으로 하는 시스템.
  12. 청구항 11에 있어서, 상기 동작들은 상기 발언의 상기 중간 표기가 임계 사이즈라고 결정하는 동작을 더 포함하며, 상기 중간 표기가 상기 임계 사이즈인 것으로 결정한 후에만 상기 발언의 상기 중간 표기는 이전에 수신된 검색 쿼리와 연관되도록 결정되는 것을 특징으로 하는 시스템.
  13. 청구항 11 또는 청구항 12에 있어서, 상기 발언의 상기 중간 표기는 연속 스피치 인식기에 의해 생성되고, 상기 하나 이상의 결과들은 검색 엔진으로부터 획득되는 것을 특징으로 하는 시스템.
  14. 청구항 11, 12 또는 13에 있어서, 상기 동작들은 상기 발언의 상기 중간 표기가 이전에 수신된 상기 검색 쿼리와 연관된다고 결정한 동작 이후에, 검색 엔진에 의한 재-실행을 위해 이전에 수신된 상기 검색 쿼리를 제출하는 동작을 더 포함하는 것을 특징으로 하는 시스템.
  15. 청구항 11, 12, 13 또는 14에 있어서, 상기 발언의 상기 중간 표기가 이전에 수신된 상기 검색 쿼리와 연관된다고 결정하는 동작은 상기 발언과 연관된 위치가 이전에 수신된 상기 검색 쿼리와 연관된 위치와 연관된다고 결정하는 동작을 포함하는 것을 특징으로 하는 시스템.
  16. 청구항 11, 12, 13, 14 또는 15에 있어서, 상기 발언의 상기 중간 표기가 이전에 수신된 상기 검색 쿼리와 연관된다고 결정하는 동작은 상기 발언의 상기 중간 표기가 상기 발언과 연관된 동일한 사용자에 의해 제출되었던 이전에 수신된 검색 쿼리와 연관된다고 결정하는 동작을 포함하는 것을 특징으로 하는 시스템.
  17. 하나 이상의 컴퓨터들에 의해 실행 가능한 명령어들 포함하는 소프트웨어를 저장하는 컴퓨터 판독 가능 매체로서, 상기 명령어들은 그러한 실행시, 상기 하나 이상의 컴퓨터들로 하여금 청구항 1 내지 청구항 10 중 어느 한 항에 정의된 방법을 포함하는 동작들을 수행하게 하는 것을 특징으로 하는 컴퓨터 판독 가능 매체.
KR1020187011132A 2016-01-06 2016-11-18 음성 쿼리들의 검색 결과 프리페치 KR102021556B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US14/988,990 2016-01-06
US14/988,990 US10133821B2 (en) 2016-01-06 2016-01-06 Search result prefetching of voice queries
PCT/US2016/062819 WO2017119956A1 (en) 2016-01-06 2016-11-18 Search result prefetching of voice queries

Publications (2)

Publication Number Publication Date
KR20180056723A true KR20180056723A (ko) 2018-05-29
KR102021556B1 KR102021556B1 (ko) 2019-11-04

Family

ID=57472107

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020187011132A KR102021556B1 (ko) 2016-01-06 2016-11-18 음성 쿼리들의 검색 결과 프리페치

Country Status (8)

Country Link
US (1) US10133821B2 (ko)
EP (1) EP3350725B1 (ko)
JP (1) JP6487120B2 (ko)
KR (1) KR102021556B1 (ko)
CN (1) CN107066494B (ko)
DE (2) DE202016008204U1 (ko)
RU (1) RU2701082C1 (ko)
WO (1) WO2017119956A1 (ko)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6481643B2 (ja) * 2016-03-08 2019-03-13 トヨタ自動車株式会社 音声処理システムおよび音声処理方法
CN107644095A (zh) * 2017-09-28 2018-01-30 百度在线网络技术(北京)有限公司 用于搜索信息的方法和装置
CN109976696B (zh) * 2017-12-28 2022-05-10 深圳市优必选科技有限公司 获取音频数据的方法及装置、设备、计算机可读存储介质
KR20190113130A (ko) * 2018-03-27 2019-10-08 삼성전자주식회사 사용자 음성 입력을 처리하는 장치
US11710480B2 (en) * 2019-08-07 2023-07-25 International Business Machines Corporation Phonetic comparison for virtual assistants

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050283468A1 (en) * 2004-06-22 2005-12-22 Kamvar Sepandar D Anticipated query generation and processing in a search engine
US20100235341A1 (en) * 1999-11-12 2010-09-16 Phoenix Solutions, Inc. Methods and Systems for Searching Using Spoken Input and User Context Information

Family Cites Families (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4592086A (en) 1981-12-09 1986-05-27 Nippon Electric Co., Ltd. Continuous speech recognition system
US5615296A (en) 1993-11-12 1997-03-25 International Business Machines Corporation Continuous speech recognition and voice response system and method to enable conversational dialogues with microprocessors
US5995928A (en) * 1996-10-02 1999-11-30 Speechworks International, Inc. Method and apparatus for continuous spelling speech recognition with early identification
US7027987B1 (en) * 2001-02-07 2006-04-11 Google Inc. Voice interface for a search engine
US20060161541A1 (en) 2005-01-19 2006-07-20 Microsoft Corporation System and method for prefetching and caching query results
US7461059B2 (en) * 2005-02-23 2008-12-02 Microsoft Corporation Dynamically updated search results based upon continuously-evolving search query that is based at least in part upon phrase suggestion, search engine uses previous result sets performing additional search tasks
US8751240B2 (en) * 2005-05-13 2014-06-10 At&T Intellectual Property Ii, L.P. Apparatus and method for forming search engine queries based on spoken utterances
US7516124B2 (en) 2005-12-20 2009-04-07 Yahoo! Inc. Interactive search engine
US8719265B1 (en) 2005-11-07 2014-05-06 Google Inc. Pre-fetching information in anticipation of a user request
US7565157B1 (en) * 2005-11-18 2009-07-21 A9.Com, Inc. System and method for providing search results based on location
US8874591B2 (en) * 2006-01-31 2014-10-28 Microsoft Corporation Using user feedback to improve search results
US8352261B2 (en) * 2008-03-07 2013-01-08 Canyon IP Holdings, LLC Use of intermediate speech transcription results in editing final speech transcription results
US8190627B2 (en) 2007-06-28 2012-05-29 Microsoft Corporation Machine assisted query formulation
US8260809B2 (en) * 2007-06-28 2012-09-04 Microsoft Corporation Voice-based search processing
US20100049678A1 (en) 2008-08-25 2010-02-25 Alcatel-Lucent System and method of prefetching and caching web services requests
US8903793B2 (en) 2009-12-15 2014-12-02 At&T Intellectual Property I, L.P. System and method for speech-based incremental search
US8468012B2 (en) * 2010-05-26 2013-06-18 Google Inc. Acoustic model adaptation using geographic information
US8521526B1 (en) 2010-07-28 2013-08-27 Google Inc. Disambiguation of a spoken query term
US8612418B2 (en) 2011-07-14 2013-12-17 Google Inc. Mobile web browser for pre-loading web pages
US8650031B1 (en) * 2011-07-31 2014-02-11 Nuance Communications, Inc. Accuracy improvement of spoken queries transcription using co-occurrence information
US10354650B2 (en) * 2012-06-26 2019-07-16 Google Llc Recognizing speech with mixed speech recognition models to generate transcriptions
US8484017B1 (en) * 2012-09-10 2013-07-09 Google Inc. Identifying media content
WO2014039106A1 (en) * 2012-09-10 2014-03-13 Google Inc. Answering questions using environmental context
EP2706470A1 (en) * 2012-09-10 2014-03-12 Google Inc. Answering questions using environmental context
US8589164B1 (en) * 2012-10-18 2013-11-19 Google Inc. Methods and systems for speech recognition processing using search query information
US8494853B1 (en) * 2013-01-04 2013-07-23 Google Inc. Methods and systems for providing speech recognition systems based on speech recordings logs
US9368106B2 (en) 2013-07-30 2016-06-14 Verint Systems Ltd. System and method of automated evaluation of transcription quality
US9607613B2 (en) 2014-04-23 2017-03-28 Google Inc. Speech endpointing based on word comparisons

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100235341A1 (en) * 1999-11-12 2010-09-16 Phoenix Solutions, Inc. Methods and Systems for Searching Using Spoken Input and User Context Information
US20050283468A1 (en) * 2004-06-22 2005-12-22 Kamvar Sepandar D Anticipated query generation and processing in a search engine

Also Published As

Publication number Publication date
JP2018533790A (ja) 2018-11-15
EP3350725A1 (en) 2018-07-25
US20170193111A1 (en) 2017-07-06
US10133821B2 (en) 2018-11-20
WO2017119956A1 (en) 2017-07-13
EP3350725B1 (en) 2019-07-10
KR102021556B1 (ko) 2019-11-04
CN107066494B (zh) 2021-01-12
DE102016125141A1 (de) 2017-07-06
DE202016008204U1 (de) 2017-05-10
JP6487120B2 (ja) 2019-03-20
DE102016125141B4 (de) 2024-05-23
RU2701082C1 (ru) 2019-09-24
CN107066494A (zh) 2017-08-18

Similar Documents

Publication Publication Date Title
US11682396B2 (en) Providing pre-computed hotword models
US20230109903A1 (en) Language model biasing modulation
US9502032B2 (en) Dynamically biasing language models
CN109844740B (zh) 跟进话音查询预测
JP6507316B2 (ja) 外部データソースを用いた音声の再認識
US9576578B1 (en) Contextual improvement of voice query recognition
CN107066494B (zh) 语音查询的搜索结果预获取

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