KR20130108563A - 인터넷 검색 관련 방법 및 장치 - Google Patents

인터넷 검색 관련 방법 및 장치 Download PDF

Info

Publication number
KR20130108563A
KR20130108563A KR1020137007487A KR20137007487A KR20130108563A KR 20130108563 A KR20130108563 A KR 20130108563A KR 1020137007487 A KR1020137007487 A KR 1020137007487A KR 20137007487 A KR20137007487 A KR 20137007487A KR 20130108563 A KR20130108563 A KR 20130108563A
Authority
KR
South Korea
Prior art keywords
search
search query
query
engines
user
Prior art date
Application number
KR1020137007487A
Other languages
English (en)
Inventor
블라디미르 세노하
게리 비 클레이톤
빅터 에스 첸
스티븐 햇치
윌리암 에프 가농
군나 에버만
마크 더블유 레간
스티븐 더블유 라버티
폴 제이 보질라
나탄 엠 보덴스탑
익충 탐
Original Assignee
뉘앙스 커뮤니케이션즈, 인코포레이티드
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from US12/877,647 external-priority patent/US20120059814A1/en
Priority claimed from US12/877,765 external-priority patent/US20120060113A1/en
Priority claimed from US12/877,690 external-priority patent/US20120059658A1/en
Priority claimed from US12/877,440 external-priority patent/US8341142B2/en
Priority claimed from US12/877,549 external-priority patent/US8239366B2/en
Application filed by 뉘앙스 커뮤니케이션즈, 인코포레이티드 filed Critical 뉘앙스 커뮤니케이션즈, 인코포레이티드
Publication of KR20130108563A publication Critical patent/KR20130108563A/ko

Links

Images

Classifications

    • 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/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/957Browsing optimisation, e.g. caching or content distillation
    • G06F16/9577Optimising the visualization of content, e.g. distillation of HTML documents
    • 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/953Querying, e.g. by the use of web search engines

Landscapes

  • Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

본 발명의 실시예들은 인터넷상에서의 콘텐츠 검색에 관한 것이다. 사용자는 검색 질의를 디바이스에 제공할 수 있고, 디바이스는 검색 질의를, 적어도 하나의 범용 검색 엔진과 적어도 하나의 싸이트 특정 검색 엔진을 포함한, 복수의 검색 엔진들에 대해 발행할 수 있다. 이러한 방식에서, 사용자는 복수의 검색 엔진들 각각에 대해 검색 질의들을 개별적으로 발행할 필요가 없다.

Description

인터넷 검색 관련 방법 및 장치{INTERNET SEARCH RELATED METHODS AND APPARATUS}
본 명세서에서 서술된 기술들은 일반적으로 인터넷을 통해 검색 질의들을 발행하는 분야에 관한 것이다.
인터넷은 매우 방대한 정보를 저장하는 상호연결된 컴퓨터 네트워크들의 글로벌 시스템이다. 월드 와이드 웹(WWW)은 인터넷 상에서 구축된 정보 공유 모델이며, 여기서는 상호링크된 하이퍼텍스트 문서들의 시스템이 특정한 프로토콜들(즉, 하이퍼텍스트 전송 프로토콜 및 그 변형들)을 이용하여 액세스된다.
WWW와 인터넷을 통해 이용가능한 방대한 양의 정보로 인해, 그리고 독립적으로 소유되어 동작되는 방대한 수의 네트워크들 및 서버들에 걸쳐 이용가능한 정보가 분포되어 있기 때문에, WWW와 인터넷상에서 희망하는 콘텐츠를 찾는 것은 도전과제를 떠안겨준다.
사용자들이 인터넷상에서 희망하는 콘텐츠를 찾는 것을 도와주기 위해 검색 엔진들이 개발되어 왔다. 검색 엔진은 사용자에 의해 요망되는 콘텐츠를 나타내는 (예컨대, 키워드들의 집합의 형태의) 검색 질의를 사용자로부터 수신하고, 검색 엔진이 사용자의 검색 질의와 관련이 있다라고 결정한 정보 및/또는 정보에 대한 하이퍼링크들을 반송해주는 컴퓨터 프로그램이다.
검색 엔진들은 일반적으로 WWW를 자동화된 방식으로 브라우징하는(예컨대, 브라우징하는 각각의 웹 페이지에서 마주치는 모든 하이퍼링크를 뒤쫓는) 웹 크롤러라고 불리우는 컴퓨터 프로그램을 이용하여 방대한 수의 WWW 웹 페이지들 및/또는 다른 콘텐츠를 검색함으로써 동작한다. 검색된 웹 페이지들 및/또는 콘텐츠는 분석되고 웹 페이지들 또는 콘텐츠에 관한 정보는 인덱스로 저장된다. 사용자가 검색 질의를 검색 엔진에 대해 발행하는 경우, 검색 엔진은 이러한 인덱스를 이용하여 사용자의 검색 질의와 최상으로 매칭한다라고 결정된 웹 페이지들 및/또는 콘텐츠를 식별하고, 최상으로 매칭하는 웹 페이지들 및/또는 콘텐츠를 갖는 결과물들의 리스트를 반송해준다. 빈번히도, 이러한 리스트는 사용자의 질의와 최상으로 매칭한다라고 결정된 웹 페이지들 및/또는 콘텐츠에 대한 하이퍼링크들의 집합을 포함하는 하나 이상의 웹 페이지들의 형태로 존재한다.
인터넷을 통해 액세스가능한 검색 엔진들에는 적어도 두 개의 일반적인 유형들, 즉 범용 검색 엔진들과 싸이트 특정 검색 엔진들이 존재한다. 본 명세서에서 이용되는 용어 "범용 검색 엔진"은 적어도 두 개의 상이하고 독립적인 웹 싸이트들 또는 도메인들 상에서 호스팅된 웹 페이지들 및/또는 콘텐츠(또는 웹 페이지들 및/또는 콘텐츠에 대한 하이퍼링크들)를 포함한 검색 결과물들을 제공하는 검색 엔진을 의미하는 것으로 정의된다. 범용 검색 엔진들은 인터넷의 광대한 범위에 걸쳐 분포되어 있는 콘텐츠를 인덱싱하고 이로부터의 검색 결과물들을 제공하려고 시도한다. 범용 검색 엔진들의 예시들은 캘리포니아 마운틴 뷰에 소재하는 Google, Inc.에 의해 운용되는 Google™; 캘리포니아 서니베일에 소재하는 Yahoo!, Inc.에 의해 운용되는 Yahoo!™; 및 워싱톤 레드몬드에 소재하는 Microsoft Corp.에 의해 운용되는 Bing™을 포함한다.
본 명세서에서 이용되는 용어 "싸이트 특정 검색 엔진"은 단하나의 웹 싸이트 또는 도메인 상에서 호스팅된 웹 페이지들 및/또는 콘텐츠(또는 웹 페이지들 및/또는 콘텐츠에 대한 하이퍼링크들)를 포함한 검색 결과물들을 제공하는 검색 엔진을 의미하는 것으로 정의된다. 싸이트 특정 검색 엔진들은 사용자들이 각자의 웹 싸이트들 상에서 특정한 웹 페이지들 또는 콘텐츠를 찾도록 해주기 위해 웹 싸이트들의 오퍼레이터들에 의해 자주 이용된다. 예를 들어, 온라인 소매업자(또는 "인터넷 소매업자")의 웹 싸이트는 소매업자에 의해 판매되는 상품들에 대한 웹 페이지들을 사용자가 찾는 것을 수월하게 해주는 싸이트 특정 검색 엔진을 포함할 수 있다.
일 실시예는, 적어도 하나의 하드웨어 컴퓨터 프로세서를 통해 적어도 부분적으로 구현되며 인터넷을 통한 콘텐츠 검색을 수행하는 방법에 관한 것이며, 본 방법은: 사용자로부터 입력을 수신하는 단계; 및 입력을 수신한 것에 응답하여, 복수의 검색 엔진들에 대해 적어도 하나의 검색 질의를 발행하는 단계를 포함하며, 복수의 검색 엔진들은 적어도 하나의 범용 검색 엔진과 적어도 하나의 싸이트 특정 검색 엔진을 포함하며, 적어도 하나의 검색 질의는 적어도 부분적으로 입력의 콘텐츠에 기초한다. 또다른 실시예는 실행시 상술한 방법을 수행하는 명령들로 인코딩된 적어도 하나의 컴퓨터로 판독가능한 매체에 관한 것이다.
추가적인 실시예는 시스템에 관한 것이며, 상기 시스템은: 인터넷을 통한 콘텐츠 검색을 수행하기 위한 프로세서로 실행가능한 명령들을 저장하는 적어도 하나의 유형적 메모리; 및 적어도 하나의 유형적 메모리에 결합되고, 프로세서로 실행가능한 명령들을 실행하여, 사용자로부터 입력을 수신하고; 입력을 수신한 것에 응답하여, 복수의 검색 엔진들에 대해 적어도 하나의 검색 질의를 발행하기 위한 적어도 하나의 하드웨어 컴퓨터 프로세서를 포함하며, 복수의 검색 엔진들은 적어도 하나의 범용 검색 엔진과 적어도 하나의 싸이트 특정 검색 엔진을 포함하며, 적어도 하나의 검색 질의는 적어도 부분적으로 입력의 콘텐츠에 기초한다.
또다른 실시예는, 적어도 하나의 하드웨어 컴퓨터 프로세서를 통해 적어도 부분적으로 구현되며 인터넷을 통한 콘텐츠 검색을 수행하는 방법에 관한 것이며, 본 방법은: 복수의 검색 엔진들에 대해 적어도 하나의 검색 질의를 발행하는 단계; 복수의 검색 엔진들에 대해 적어도 하나의 검색 질의를 발행한 것에 응답하여, 복수의 검색 엔진들 중의 적어도 몇몇의 검색 엔진들로부터 검색 결과물들을 수신하는 단계; 및 검색 결과물들을 디스플레이 디바이스의 디스플레이 상에서 디스플레이시키는 단계를 포함하며, 디스플레이된 검색 결과물들은 특정 검색 엔진과 각각 연관된 복수의 집합들로 분류된다. 추가적인 실시예는 실행시 상술한 방법을 수행하는 명령들로 인코딩된 적어도 하나의 컴퓨터로 판독가능한 매체에 관한 것이다.
또다른 실시예는 시스템에 관한 것이며, 상기 시스템은: 인터넷을 통한 콘텐츠 검색을 수행하기 위한 프로세서로 실행가능한 명령들을 저장하는 적어도 하나의 유형적 메모리; 및 적어도 하나의 유형적 메모리에 결합되고, 프로세서로 실행가능한 명령들을 실행하여, 복수의 검색 엔진들에 대해 적어도 하나의 검색 질의를 발행하고; 복수의 검색 엔진들에 대해 적어도 하나의 검색 질의를 발행한 것에 응답하여, 복수의 검색 엔진들 중의 적어도 몇몇의 검색 엔진들로부터 검색 결과물들을 수신하며; 검색 결과물들을 디스플레이 디바이스의 디스플레이 상에서 디스플레이시키기 위한 적어도 하나의 하드웨어 컴퓨터 프로세서를 포함하며, 디스플레이된 검색 결과물들은 특정 검색 엔진과 각각 연관된 복수의 집합들로 분류된다.
추가적인 실시예는, 하드웨어 컴퓨터 프로세서를 통해 적어도 부분적으로 구현되며 인터넷상에서 콘텐츠 검색을 수행하는 방법에 관한 것이며, 본 방법은: 적어도 하나의 싸이트 특정 검색 엔진을 포함하는 복수의 검색 엔진들에 대해 적어도 하나의 검색 질의를 발행하는 단계; 복수의 검색 엔진들에 대해 적어도 하나의 검색 질의를 발행한 것에 응답하여, 복수의 검색 엔진들 중의 적어도 몇몇의 검색 엔진들로부터 검색 결과물들을 수신하는 단계로서, 상기 검색 결과물들은 적어도 하나의 싸이트 특정 검색 엔진으로부터 반송된 적어도 하나의 웹 페이지를 포함하는 것인, 상기 수신 단계; 및 적어도 하나의 싸이트 특정 검색 엔진으로부터 반송된 적어도 하나의 웹 페이지를 디스플레이 디바이스의 디스플레이 상에서 디스플레이시키는 단계를 포함한다. 또다른 실시예는 실행시 상술한 방법을 수행하는 명령들로 인코딩된 적어도 하나의 컴퓨터로 판독가능한 매체에 관한 것이다.
추가적인 실시예는 시스템에 관한 것이며, 상기 시스템은: 인터넷을 통한 콘텐츠 검색을 수행하기 위한 프로세서로 실행가능한 명령들을 저장하는 적어도 하나의 유형적 메모리; 및 적어도 하나의 유형적 메모리에 결합되고, 프로세서로 실행가능한 명령들을 실행하여, 적어도 하나의 싸이트 특정 검색 엔진을 포함한 복수의 검색 엔진들에 대해 적어도 하나의 검색 질의를 발행하고; 복수의 검색 엔진들에 대해 적어도 하나의 검색 질의를 발행한 것에 응답하여, 복수의 검색 엔진들 중의 적어도 몇몇의 검색 엔진들로부터, 적어도 하나의 싸이트 특정 검색 엔진으로부터 반송된 적어도 하나의 웹 페이지를 포함하는 검색 결과물들을 수신하며; 적어도 하나의 싸이트 특정 검색 엔진으로부터 반송된 적어도 하나의 웹 페이지를 디스플레이 디바이스의 디스플레이 상에서 디스플레이시키기 위한 적어도 하나의 하드웨어 컴퓨터 프로세서를 포함한다.
추가적인 실시예는, 적어도 하나의 하드웨어 컴퓨터 프로세서를 통해 적어도 부분적으로 구현되며 인터넷을 통한 콘텐츠 검색을 수행하는 방법에 관한 것이며, 본 방법은: 제1 검색 질의를 수신하는 단계; 제1 검색 질의의 콘텐츠에 기초하여 적어도 하나의 제2 검색 질의를 생성하는 단계; 적어도 하나의 제2 검색 질의가 제공될 복수의 검색 엔진들을 선택하는 단계로서, 상기 복수의 검색 엔진들 중 적어도 하나의 검색 엔진은 제1 검색 질의의 콘텐츠에 적어도 부분적으로 기초하여 선택되는 것인, 상기 선택 단계를 포함한다.
추가적인 실시예는, 적어도 하나의 하드웨어 컴퓨터 프로세서에 의해 실행될 때 인터넷을 통한 콘텐츠 검색을 수행하는 방법을 수행하는 명령들로 인코딩된 적어도 하나의 컴퓨터로 판독가능한 매체에 관한 것이며, 본 방법은: 제1 검색 질의를 수신하는 단계; 제1 검색 질의의 콘텐츠에 기초하여 적어도 하나의 제2 검색 질의를 생성하는 단계; 적어도 하나의 제2 검색 질의가 제공될 복수의 검색 엔진들을 선택하는 단계로서, 상기 복수의 검색 엔진들 중 적어도 하나의 검색 엔진은 제1 검색 질의의 콘텐츠에 적어도 부분적으로 기초하여 선택되는 것인, 상기 선택 단계를 포함한다.
추가적인 실시예는 시스템에 관한 것이며, 상기 시스템은: 인터넷을 통한 콘텐츠 검색을 수행하기 위한 프로세서로 실행가능한 명령들을 저장하는 적어도 하나의 유형적 메모리; 및 적어도 하나의 유형적 메모리에 결합되고, 프로세서로 실행가능한 명령들을 실행하여, 제1 검색 질의를 수신하고; 제1 검색 질의의 콘텐츠에 기초하여 적어도 하나의 제2 검색 질의를 생성하며; 적어도 하나의 제2 검색 질의가 제공될 복수의 검색 엔진들을 선택하도록 하기 위한 적어도 하나의 하드웨어 컴퓨터 프로세서를 포함하며, 상기 복수의 검색 엔진들 중 적어도 하나의 검색 엔진은 제1 검색 질의의 콘텐츠에 적어도 부분적으로 기초하여 선택된다.
추가적인 실시예는, 적어도 하나의 하드웨어 컴퓨터 프로세서를 통해 적어도 부분적으로 구현되며 인터넷을 통한 콘텐츠 검색을 수행하는 방법에 관한 것이며, 본 방법은: 사용자로부터 제1 검색 질의를 수신하는 단계; 제1 검색 질의의 콘텐츠에 기초하여 적어도 하나의 제2 검색 질의를 생성하는 단계; 적어도 하나의 제2 검색 질의가 제공될 복수의 검색 엔진들을 선택하는 단계를 포함하며, 상기 복수의 검색 엔진들 중 적어도 하나의 검색 엔진은 사용자에 의한 특정 검색 엔진들의 이용 빈도를 나타내는 이력 정보에 적어도 부분적으로 기초하여 선택된다.
추가적인 실시예는, 적어도 하나의 하드웨어 컴퓨터 프로세서에 의해 실행될 때 인터넷을 통한 콘텐츠 검색을 수행하는 방법을 수행하는 명령들로 인코딩된 적어도 하나의 컴퓨터로 판독가능한 매체에 관한 것이며, 본 방법은: 사용자로부터 제1 검색 질의를 수신하는 단계; 제1 검색 질의의 콘텐츠에 기초하여 적어도 하나의 제2 검색 질의를 생성하는 단계; 적어도 하나의 제2 검색 질의가 제공될 복수의 검색 엔진들을 선택하는 단계를 포함하며, 상기 복수의 검색 엔진들 중 적어도 하나의 검색 엔진은 사용자에 의한 특정 검색 엔진들의 이용 빈도를 나타내는 이력 정보에 적어도 부분적으로 기초하여 선택된다.
추가적인 실시예는 시스템에 관한 것이며, 상기 시스템은: 인터넷을 통한 콘텐츠 검색을 수행하기 위한 프로세서로 실행가능한 명령들을 저장하는 적어도 하나의 유형적 메모리; 및 적어도 하나의 유형적 메모리에 결합되고, 프로세서로 실행가능한 명령들을 실행하여, 사용자로부터 제1 검색 질의를 수신하고; 제1 검색 질의의 콘텐츠에 기초하여 적어도 하나의 제2 검색 질의를 생성하며; 적어도 하나의 제2 검색 질의가 제공될 복수의 검색 엔진들을 선택하기 위한 적어도 하나의 하드웨어 컴퓨터 프로세서를 포함하며, 상기 복수의 검색 엔진들 중 적어도 하나의 검색 엔진은 사용자에 의한 특정 검색 엔진들의 이용 빈도를 나타내는 이력 정보에 적어도 부분적으로 기초하여 선택된다.
추가적인 실시예는, 적어도 하나의 하드웨어 컴퓨터 프로세서를 통해 적어도 부분적으로 구현되며 인터넷 상에서 콘텐츠 검색을 수행하는 방법에 관한 것이며, 본 방법은: 제1 사용자로부터 제1 검색 질의를 수신하는 단계; 제1 검색 질의의 콘텐츠에 기초하여 적어도 하나의 제2 검색 질의를 생성하는 단계; 적어도 하나의 제2 검색 질의가 제공될 복수의 검색 엔진들을 선택하는 단계를 포함하며, 상기 복수의 검색 엔진들 중 적어도 하나의 검색 엔진은 제1 사용자와는 다른 적어도 하나의 제2 사용자에 의한 특정 검색 엔진들의 이용 빈도를 나타내는 이력 정보에 적어도 부분적으로 기초하여 선택된다.
추가적인 실시예는, 적어도 하나의 하드웨어 컴퓨터 프로세서에 의해 실행될 때 인터넷을 통한 콘텐츠 검색을 수행하는 방법을 수행하는 명령들로 인코딩된 적어도 하나의 컴퓨터로 판독가능한 매체에 관한 것이며, 본 방법은: 제1 사용자로부터 제1 검색 질의를 수신하는 단계; 제1 검색 질의의 콘텐츠에 기초하여 적어도 하나의 제2 검색 질의를 생성하는 단계; 적어도 하나의 제2 검색 질의가 제공될 복수의 검색 엔진들을 선택하는 단계를 포함하며, 상기 복수의 검색 엔진들 중 적어도 하나의 검색 엔진은 제1 사용자와는 다른 적어도 하나의 제2 사용자에 의한 특정 검색 엔진들의 이용 빈도를 나타내는 이력 정보에 적어도 부분적으로 기초하여 선택된다.
추가적인 실시예는 시스템에 관한 것이며, 상기 시스템은: 인터넷을 통한 콘텐츠 검색을 수행하기 위한 프로세서로 실행가능한 명령들을 저장하는 적어도 하나의 유형적 메모리; 및 적어도 하나의 유형적 메모리에 결합되고, 프로세서로 실행가능한 명령들을 실행하여, 제1 사용자로부터 제1 검색 질의를 수신하고; 제1 검색 질의의 콘텐츠에 기초하여 적어도 하나의 제2 검색 질의를 생성하며; 적어도 하나의 제2 검색 질의가 제공될 복수의 검색 엔진들을 선택하기 위한 적어도 하나의 하드웨어 컴퓨터 프로세서를 포함하며, 상기 복수의 검색 엔진들 중 적어도 하나의 검색 엔진은 제1 사용자와는 다른 적어도 하나의 제2 사용자에 의한 특정 검색 엔진들의 이용 빈도를 나타내는 이력 정보에 적어도 부분적으로 기초하여 선택된다.
추가적인 실시예는 콘텐츠를 디스플레이하는 방법에 관한 것이며, 상기 방법은: 디스플레이 디바이스의 디스플레이의 제1 부분에서 복수의 슬롯들을 갖는 캐러셀(carousel)을 디스플레이하는 단계; 및 복수의 슬롯들 중 하나의 슬롯의 사용자 선택에 응답하여, 제1 부분과 분리되어 있는, 디스플레이의 제2 부분에서, 사용자 입력에 기초하여 동적으로 생성된 콘텐츠를 디스플레이하는 단계를 포함한다.
추가적인 실시예는 적어도 하나의 하드웨어 컴퓨터 프로세서에 의한 실행시 콘텐츠를 디스플레이하는 방법을 수행하는 명령들로 인코딩된 적어도 하나의 컴퓨터로 판독가능한 매체에 관한 것이며, 본 방법은: 디스플레이 디바이스의 디스플레이의 제1 부분에서 복수의 슬롯들을 갖는 캐러셀(carousel)을 디스플레이하는 단계; 및 복수의 슬롯들 중 하나의 슬롯의 사용자 선택에 응답하여, 제1 부분과 분리되어 있는, 디스플레이의 제2 부분에서, 사용자 입력에 기초하여 동적으로 생성된 콘텐츠를 디스플레이하는 단계를 포함한다.
추가적인 실시예는 시스템에 관한 것이며, 상기 시스템은: 콘텐츠를 디스플레이하기 위한 프로세서로 실행가능한 명령들을 저장하는 적어도 하나의 유형적 메모리; 및 적어도 하나의 유형적 메모리에 결합되고, 프로세서로 실행가능한 명령들을 실행하여, 디스플레이 디바이스의 디스플레이의 제1 부분에서 복수의 슬롯들을 갖는 캐러셀(carousel)을 디스플레이하며; 복수의 슬롯들 중 하나의 슬롯의 사용자 선택에 응답하여, 제1 부분과 분리되어 있는, 디스플레이의 제2 부분에서, 사용자 입력에 기초하여 동적으로 생성된 콘텐츠를 디스플레이하기 위한 적어도 하나의 하드웨어 컴퓨터 프로세서를 포함한다.
추가적인 실시예는 방법에 관한 것이며, 상기 방법은: 첫번째 슬롯과 최종 슬롯을 비롯한 복수의 슬롯들을 갖는 캐러셀(carousel)을 디스플레이 디바이스상에서 디스플레이하는 단계를 포함하고, 디스플레이 디바이스상에서는 한번에 캐러셀 내의 복수의 슬롯들 중의 일부만이 디스플레이되고, 사용자 입력은 캐러셀이 디스플레이를 가로질러 슬라이딩되도록 하며, 캐러셀상의 최종 슬롯이 디스플레이되는 경우, 캐러셀은 첫번째 슬롯으로 랩어라운드(wrap around)된다.
추가적인 실시예는 적어도 하나의 하드웨어 컴퓨터 프로세서에 의한 실행시 방법을 수행하는 명령들로 인코딩된 적어도 하나의 컴퓨터로 판독가능한 매체에 관한 것이며, 본 방법은: 첫번째 슬롯과 최종 슬롯을 비롯한 복수의 슬롯들을 갖는 캐러셀(carousel)을 디스플레이 디바이스상에서 디스플레이하는 단계를 포함하고, 디스플레이 디바이스상에서는 한번에 캐러셀 내의 복수의 슬롯들 중의 일부만이 디스플레이되고, 사용자 입력은 캐러셀이 디스플레이를 가로질러 슬라이딩되도록 하며, 캐러셀상의 최종 슬롯이 디스플레이되는 경우, 캐러셀은 첫번째 슬롯으로 랩어라운드(wrap around)된다.
추가적인 실시예는 시스템에 관한 것이며, 상기 시스템은: 프로세서로 실행가능한 명령들을 저장하는 적어도 하나의 유형적 메모리; 및 적어도 하나의 유형적 메모리에 결합되고, 프로세서로 실행가능한 명령들을 실행하여, 첫번째 슬롯과 최종 슬롯을 비롯한 복수의 슬롯들을 갖는 캐러셀(carousel)을 디스플레이 디바이스상에서 디스플레이하기 위한 적어도 하나의 하드웨어 컴퓨터 프로세서를 포함하고, 디스플레이 디바이스상에서는 한번에 캐러셀 내의 복수의 슬롯들 중의 일부만이 디스플레이되고, 사용자 입력은 캐러셀이 디스플레이를 가로질러 슬라이딩되도록 하며, 캐러셀상의 최종 슬롯이 디스플레이되는 경우, 캐러셀은 첫번째 슬롯으로 랩어라운드(wrap around)된다.
추가적인 실시예는, 마이크로프로세서로 적어도 부분적으로 구현되며 인터넷 상에서 콘텐츠 검색을 수행하는 방법에 관한 것이며, 본 방법은: 사용자로부터 제공된 음성 입력을 수신하는 단계; 복수의 검색 엔진들에 대해 적어도 하나의 텍스트 검색 질의를 생성하는 단계를 포함하며, 적어도 하나의 텍스트 검색 질의는, 적어도 부분적으로, 음성 입력에 대한 스피치 인식을 수행함으로써 생성된다.
추가적인 실시예는, 적어도 하나의 하드웨어 컴퓨터 프로세서에 의해 실행될 때 인터넷 상에서 콘텐츠 검색을 수행하는 방법을 수행하는 명령들로 인코딩된 적어도 하나의 컴퓨터로 판독가능한 매체에 관한 것이며, 본 방법은: 사용자로부터 제공된 음성 입력을 수신하는 단계; 복수의 검색 엔진들에 대해 적어도 하나의 텍스트 검색 질의를 생성하는 단계를 포함하며, 적어도 하나의 텍스트 검색 질의는, 적어도 부분적으로, 음성 입력에 대한 스피치 인식을 수행함으로써 생성된다.
추가적인 실시예는 시스템에 관한 것이며, 상기 시스템은: 인터넷을 통한 콘텐츠 검색을 수행하기 위한 프로세서로 실행가능한 명령들을 저장하는 적어도 하나의 유형적 메모리; 및 적어도 하나의 유형적 메모리에 결합되고, 프로세서로 실행가능한 명령들을 실행하여, 사용자로부터 제공된 음성 입력을 수신하며; 복수의 검색 엔진들에 대해 적어도 하나의 텍스트 검색 질의를 생성하도록 하기 위한 적어도 하나의 하드웨어 컴퓨터 프로세서를 포함하며, 적어도 하나의 텍스트 검색 질의는, 적어도 부분적으로, 음성 입력에 대한 스피치 인식을 수행함으로써 생성된다.
추가적인 실시예는, 이동 통신 디바이스의 적어도 하나의 하드웨어 컴퓨터 프로세서를 통해 적어도 부분적으로 구현되며 인터넷을 통한 콘텐츠 검색을 수행하는 방법에 관한 것이며, 본 방법은: 이동 통신 디바이스에서, 제1 검색 질의를 지정하는 사용자 입력을 수신하는 단계; 이동 통신 디바이스로부터 복수의 검색 엔진들에 대해 적어도 하나의 제2 검색 질의를 발행하는 단계를 포함하며, 적어도 하나의 제2 검색 질의는 적어도 부분적으로 제1 검색 질의의 콘텐츠에 기초한다.
추가적인 실시예는, 적어도 하나의 하드웨어 컴퓨터 프로세서에 의해 실행될 때 인터넷을 통한 콘텐츠 검색을 수행하는 방법을 수행하는 명령들로 인코딩된 적어도 하나의 컴퓨터로 판독가능한 매체에 관한 것이며, 본 방법은: 이동 통신 디바이스에서, 제1 검색 질의를 지정하는 사용자 입력을 수신하는 단계; 이동 통신 디바이스로부터 복수의 검색 엔진들에 대해 적어도 하나의 제2 검색 질의를 발행하는 단계를 포함하며, 적어도 하나의 제2 검색 질의는 적어도 부분적으로 제1 검색 질의의 콘텐츠에 기초한다.
추가적인 실시예는 이동 통신 디바이스에 관한 것이며, 상기 이동 통신 디바이스는: 인터넷을 통한 콘텐츠 검색을 수행하기 위한 프로세서로 실행가능한 명령들을 저장하는 적어도 하나의 유형적 메모리; 및 적어도 하나의 유형적 메모리에 결합되고, 프로세서로 실행가능한 명령들을 실행하여, 이동 통신 디바이스에서, 제1 검색 질의를 지정하는 사용자 입력을 수신하며; 이동 통신 디바이스로부터 복수의 검색 엔진들에 대해 적어도 하나의 제2 검색 질의를 발행하기 위한 적어도 하나의 하드웨어 컴퓨터 프로세서를 포함하며, 적어도 하나의 제2 검색 질의는 적어도 부분적으로 제1 검색 질의의 콘텐츠에 기초한다.
추가적인 실시예는, 적어도 하나의 하드웨어 컴퓨터 프로세서를 통해 적어도 부분적으로 구현되며 인터넷을 통한 콘텐츠 검색을 촉진시키는 방법에 관한 것이며, 본 방법은: 클라이언트 디바이스로부터 제1 검색 질의를 수신하는 단계; 질의될 적어도 하나의 검색 엔진을 식별하는 단계; 적어도 하나의 제2 검색 질의를 생성하는 단계로서, 상기 적어도 하나의 제2 검색 질의는 적어도 부분적으로 제1 검색 질의의 콘텐츠에 기초하여 생성되는 것인, 상기 생성 단계; 및 적어도 하나의 제2 검색 질의를 이용하여 인터넷 검색을 수행할 때에 이용될 식별된 적어도 하나의 검색 엔진을 지정한 정보와 적어도 하나의 제2 검색 질의를 클라이언트 디바이스에 보내는 단계를 포함한다.
추가적인 실시예는, 적어도 하나의 하드웨어 컴퓨터 프로세서에 의해 실행될 때 인터넷을 통한 콘텐츠 검색을 촉진시키는 방법을 수행하는 명령들로 인코딩된 적어도 하나의 컴퓨터로 판독가능한 매체에 관한 것이며, 본 방법은: 클라이언트 디바이스로부터 제1 검색 질의를 수신하는 단계; 질의될 적어도 하나의 검색 엔진을 식별하는 단계; 적어도 하나의 제2 검색 질의를 생성하는 단계로서, 상기 적어도 하나의 제2 검색 질의는 적어도 부분적으로 제1 검색 질의의 콘텐츠에 기초하여 생성되는 것인, 상기 생성 단계; 및 적어도 하나의 제2 검색 질의를 이용하여 인터넷 검색을 수행할 때에 이용될 식별된 적어도 하나의 검색 엔진을 지정한 정보와 적어도 하나의 제2 검색 질의를 클라이언트 디바이스에 보내는 단계를 포함한다.
추가적인 실시예는 시스템에 관한 것이며, 상기 시스템은: 인터넷을 통한 콘텐츠 검색을 촉진시키기 위한 프로세서로 실행가능한 명령들을 저장하는 적어도 하나의 유형적 메모리; 및 적어도 하나의 유형적 메모리에 결합되고, 프로세서로 실행가능한 명령들을 실행하여, 클라이언트 디바이스로부터 제1 검색 질의를 수신하고; 질의될 적어도 하나의 검색 엔진을 식별하고; 적어도 하나의 제2 검색 질의 - 상기 적어도 하나의 제2 검색 질의는 적어도 부분적으로 제1 검색 질의의 콘텐츠에 기초하여 생성됨 - 를 생성하며; 적어도 하나의 제2 검색 질의를 이용하여 인터넷 검색을 수행할 때에 이용될 식별된 적어도 하나의 검색 엔진을 지정한 정보와 적어도 하나의 제2 검색 질의를 클라이언트 디바이스에 보내기 위한 적어도 하나의 하드웨어 컴퓨터 프로세서를 포함한다.
도면들에서,
도 1은 다수의 상이한 검색 엔진들로부터의 검색 결과물들의 집합들을 도시하는 벤다이어그램이다.
도 2는 몇몇의 실시예들에 따른, 다수의 검색 엔진들에게 검색 질의들을 보내고 다수의 검색 엔진들로부터 검색 결과물들을 수신하기 위한 예시적인 프로세스의 흐름도이다.
도 3은 몇몇의 실시예들이 구현될 수 있는 컴퓨터 환경의 블록도이다.
도 4는 몇몇의 실시예들에 따른, 다수의 검색 엔진들에게 질의하기 위한 애플리케이션 프로그램과 음성 검색 질의들에 대한 스피치 인식을 수행하기 위해 자동화된 스피치 인식기를 실행하는 클라이언트 디바이스의 블록도이다.
도 5는 몇몇의 실시예들에 따른, 다수의 검색 엔진들에게 질의하기 위한 애플리케이션 프로그램을 실행하는 클라이언트 디바이스와 자동화된 스피치 인식기를 실행시키고 클라이언트 디바이스를 위해 스피치 인식 서비스들을 제공하여 음성 검색 질의들에 대한 스피치 인식을 수행하는 서버의 블록도이다.
도 6은 몇몇의 실시예들이 구현될 수 있는 컴퓨팅 환경의 블록도이다.
도 7은 몇몇의 실시예들에 따른, 음성 스피치 질의의 오디오 데이터가 다수의 상이한 언어 모델들을 이용하여 인식되는 블록도이다.
도 8은 몇몇의 실시예들에 따른, 사용자가 제공한 검색 질의를 수신한 것에 응답하여 어느 검색 엔진들에게 질의할지를 클라이언트 디바이스에게 지시하는 서버의 블록도이다.
도 9는 몇몇의 실시예들에 따른, 다수의 검색 엔진들에게 질의하기 위해 생성될 수 있는 URL(Universal Resource Locator)을 도시하는 도면이다.
도 10은 다수의 검색 엔진들로부터의 검색 결과물들이 디스플레이될 수 있는 클라이언트 디바이스의 디스플레이의 도면이다.
도 11은 아래에서 설명된 양태들이 구현될 수 있는 예시적인 컴퓨팅 디바이스의 블록도이다.
발명자들은, 사용자에 의해 생성된 주어진 검색 질의에 대해, 사용자는 해당 검색 질의와 관련된 여러 유형들의 정보에 관심을 가질 수 있다는 것을 인식해 왔다. 예를 들어, “Miles Davis”라는 검색 질의에 대해서, 사용자는 Miles Davis에 관한 인적 정보를 획득하고, Miles Davis의 음악 샘플들을 경청하거나 또는 이를 구매하고, 및/또는 Miles Davis에 관심이 있는 다른 사람들과 소셜 네트워킹하는 것에 관심을 가질 수 있다. 역사적으로, 이러한 세 가지의 상이한 유형들의 정보를 획득하기 위해서, 사용자는 세 개의 상이한 검색 엔진들에서 “Miles Davis”라는 검색 문자열을 입력하였을 것이다. 예를 들어, 사용자는 인적 정보를 획득하기 위해 백과사전 웹 싸이트를 위한 검색 엔진에 이러한 검색 문자열을 입력하였을 것이고, 음악을 경청하거나 또는 구매하기 위해 음악을 판매하는 웹 싸이트를 위한 검색 엔진에 검색 문자열을 입력하였을 것이며, 다른 사람들과 접속하기 위해 소셜 네트워킹 싸이트의 검색 엔진에 검색 문자열을 입력하였을 것이다. 이러한 과정은 사용자가 다수의 상이한 웹 싸이트들로 네비게이팅하고 (잠재적으로는 다수의 상이한 브라우저 윈도우들 또는 탭들을 관리해야 하고) 동일한 검색 문자열을 반복해서 입력해야만 하기 때문에 종종 시간 소모적이고 수고스럽다는 것을 본 발명자들은 인식해 왔다.
본 발명자들은 또한, 상이한 검색 엔진들이 웹 페이지들 및/또는 콘텐츠를 상이한 방식들로 인덱싱하고, 상이한 콘텐츠 영역들을 인덱싱하고, 및/또는 상이한 알고리즘들을 이용하여 어느 웹 페이지들 및/또는 콘텐츠가 특정 검색 질의에 최상으로 매칭하는지를 결정하기 때문에, 동일한 검색 질의에 응답하여 상이한 검색 엔진들은 (비록 잠재적으로는 오버랩하더라도) 상이한 검색 결과물들의 집합들을 제공할 수 있다는 것을 인식해 왔다. 이러한 개념이 도 1에서 벤다이어그램으로 나타난다. 도 1의 벤다이어그램에서 도시된 각각의 집합은 키워드 “Miles Davis”에 대한 사용자에 의해 제공된 검색 질의에 응답하여 제공된 네 개의 가상적인 검색 엔진들(즉, 검색 엔진 1, 검색 엔진 2, 검색 엔진 3, 및 검색 엔진 4) 중의 하나의 검색 엔진으로부터의 검색 결과물들을 나타낸다. 도 1에서, 집합(101)은 검색 엔진 1로부터 제공된 결과물들, 즉 검색 결과물들 “Q”, “R”, “S” 및 “T”를 포함한다. 집합(103)은 검색 엔진 2로부터 제공된 결과물들, 즉 결과물들 “R”, “S” 및 “Y”를 포함한다. 집합(105)은 검색 엔진 3으로부터 제공된 결과물들, 즉 결과물들 “S”, “T” 및 “X”를 포함한다. 집합(107)은 검색 엔진 4로부터 제공된 결과물들, 즉 결과물 “Z”을 포함한다. 도 1에서 도시된 바와 같이, 몇몇의 검색 결과물들은 집합들 중의 한 집합에서만 포함되며, 이에 따라 네 개의 검색 엔진들 단독으로부터만 반송되는 반면에, 다른 검색 결과물들은 다수의 집합들에 포함되며, 이에 따라 두 개 이상의 검색 엔진들로부터 반송된다.
검색 엔진이 검색 질의에 응답하여 검색 결과물들의 집합을 반송할 때, 검색 엔진은 일반적으로 결과물들을 순서화된 리스트로 반송해준다. 리스트는 관련성에 의해 순서화될 수 있거나, 검색 결과물들에서 보다 높은 위치들을 위해 지불된 금액에 기초하여 순서화될 수 있거나, 및/또는 다른 기준에 기초하여 순서화될 수 있다. 예를 들어, 가장 관련성이 높다라고 검색 엔진이 결정한 웹 페이지들 또는 콘텐츠는 결과물들의 리스트의 최상단에 있는 반면에, 관련성이 낮다라고 검색 엔진이 결정한 웹 페이지들 또는 콘텐츠는 결과물들의 리스트에서 보다 아래쪽에 있다. 또다른 예시로서, 사용자들이 "텔레비젼" 단어를 포함한 검색 질의들을 전자제품 인터넷 소매업체의 웹 싸이트를 위한 싸이트 특정 검색 엔진에 입력할 때 특정 전자제품 제조업자는 전자제품 인터넷 소매업체에게 대금을 지불함으로써 자신의 텔레비젼들이 리스트에서 보다 높은 쪽에 나열되도록 할 수 있다.
특정 검색 질의(예컨대, “Miles Davis”)에 응답하여 두 개의 상이한 검색 엔진들이 동일한 웹 페이지 또는 콘텐츠 조각을 각자의 검색 결과물들에서 포함하는 상황에서도, 상이한 검색 엔진들은 어떠한 순서로 웹 페이지들 및/또는 콘텐츠를 검색 결과물들에서 나열할 것인지를 결정하기 위해 상이한 알고리즘들을 이용하기 때문에, 해당 웹 페이지 또는 콘텐츠 조각은 두 개의 검색 엔진들 중 첫번째 검색 엔진에 의해 제공된 결과물들의 리스트의 최상단에 또는 그 근처에서 존재할 수 있지만(예컨대, 해당 웹 페이지 또는 콘텐츠 조각이 콘텐츠 영역 평가들에서 특별히 관련성이 있다라고 첫번째 검색 엔진이 결정하였기 때문), 두 개의 검색 엔진들 중 두번째 검색 엔진에 의해 제공된 결과물들의 리스트에서는 보다 더 아래쪽에서 존재할 수 있다(예컨대, 해당 웹 페이지 또는 콘텐츠 조각이 콘텐츠 영역 평가에서 관련성이 보다 낮다라고 두 개의 검색 엔진들 중 두번째 검색 엔진이 결정하였기 때문)는 것을 본 발명자들은 이해해 왔다. 마찬가지로, 두번째 검색 엔진으로부터의 검색 결과물들의 리스트의 최상단 근처에 나열된 몇몇의 결과물들은 첫번째 엔진에 의해 제공된 결과물들의 리스트에서 훨씬 아래쪽에 나열될 수 있다. 리스트의 최상단 근처에 있는 결과물들은 사용자들이 주목해서 액세스할 가능성이 보다 높다는 것을 본 발명자들은 인식해 왔다. 따라서, 두 개의 검색 엔진들 중 단하나만을 이용하는 것을 통해서는 사용자는 자신과 매우 관련이 있을 수 있는 결과물들을 주목하지 못할 수 있거나 또는 이에 액세스하지 못할 수 있다.
이에 따라, 사용자 지정 검색 질의를 단하나의 검색 엔진에 대해서만 발행시키는 것은 잠재적으로 관련성이 있는 몇몇의 웹 페이지들 및/또는 콘텐츠 조각이 검색 결과물들에 포함되지 않거나 또는 검색 결과물들의 반송된 리스트에서 너무 아래쪽에 나열되어 사용자가 이것들을 간과할 가능성들을 증가시킨다는 것을 본 발명자들은 인식해 왔다. 또한, 사용자는 해당 검색 질의와 관련하여 여러가지 많은 유형들의 콘텐츠에 관심이 있을 수 있는데도 불구하고, 이러한 검색 질의를 단하나의 검색 엔진에 대해서만 발행시키는 것은 반송되는 콘텐츠를 해당 검색 엔진에 의해 검색되고 및/또는 인덱싱된 콘텐츠 유형만으로 제한시킬 수 있다는 것을 본 발명자들은 인식해 왔다.
사용자 지정 검색 질의를 수신하고, 검색 질의를 다수의 검색 엔진들에 대해 발행시키고, 이러한 검색 엔진들 각각으로부터의 결과물들을 수신하고, 중복물들을 제거하고, 이러한 검색 결과물들을 단일 리스트내로 집성시키며, 이러한 집성된 검색 결과물들의 리스트를 사용자에게 디스플레이하는, 메타검색 엔진들 또는 검색 엔진 집성기들이라고 칭하는 몇몇의 웹기반 소프트웨어 프로그램들이 개발되어 왔다. 이러한 메타검색 엔진의 한가지 예시는 워싱턴 벨뷰에 소재하는 Infospace, Inc.에 의해 운용되는 Dogpile™이다. 하지만, 본 발명자들은 이러한 메타검색 엔진들은 많은 단점들을 갖는다는 것을 인식해 왔다.
첫번째로, 이러한 메타검색 엔진들에 의해 질의된 검색 엔진들은 단지 범용 검색 엔진들만을 포함할 뿐이며, 어떠한 싸이트 특정 검색 엔진들도 포함하지 않는다.
두번째로, 메타검색 엔진들은, 사용자 지정 검색 질의에 응답하여, 많은 수의 상이한 검색 엔진들로부터의 집성된 검색 결과물들의 단일 리스트를 사용자에게 디스플레이하기 때문에, 사용자는 어느 검색 엔진이 어느 검색 결과물들을 제공하였는지를 알아내거나, 또는 복수의 검색 엔진들 각각이 특정 검색 결과물과 얼머나 관련이 있는 것으로 간주되는지를 알아내거나, 또는 임의의 특정 검색 엔진으로부터 반송된 모든 결과물들의 집합을 살펴볼 능력이 없다.
세번째로, 메타검색 엔진들은 사용자의 클라이언트 디바이스상에서 실행중인 브라우저 또는 다른 소프트웨어 애플리케이션으로부터 발행된 사용자 지정 검색 질의를 수신하고 서버(들)로부터의 검색 질의를 질의될 복수의 검색 엔진들에 대해 발행시키는 하나 이상의 서버들상에서 구동된다. 메타검색 엔진은 많은 수의 사용자들로부터 검색 질의들을 수신하고 이 사용자들에게 집성된 검색 결과물들을 제공할 수 있기 때문에, 메타검색 엔진이 동작할 때 이용하는 서버(들)은 매우 많은 수의 검색 질의들을 검색 엔진들에 대해 정기적으로 발행시키고 검색 엔진들의 결과물들을 집성시킬 수 있다. 이에 의한 한가지 결과는 검색 엔진이 동일한 서버 또는 IP 어드레스로부터 매일 수십만 또는 심지어 수백만의 검색 질의들을 수신할 수 있고, 이러한 행위를 방대한 수의 검색 질의들을 검색 엔진에 대해 발행하는 단일 사용자로서 인식할 수 있다는 점이다. 많은 검색 엔진 오퍼레이터들은 이러한 행위가 검색 엔진 서비스의 악용 및/또는 잠재적인 서비스 거부(denial of service) 공격인 것으로 간주할 것이며 이러한 방대한 수의 질의들을 발행시키는 IP 어드레스로부터 각자의 검색 엔진들에 대한 검색 질의들을 차단시키는 조치를 취할 것이다. 이러한 이유로, 메타검색 엔진 오퍼레이터는 일반적으로 메타검색 엔진이 이러한 검색 엔진들에 대해 많은 수의 검색 질의들을 발행시킬 수 있게 하기 위해 메타검색 엔진에 의해 검색 엔진 결과물들이 집성되는 검색 엔진 오퍼레이터들과 계약 협정을 획득해야만 한다.
네번째, 이러한 메타검색 엔진들은 사용자가 자신의 검색 질의를 어느 검색 엔진들에게 제공할지를 제어하는 능력을 전혀 제공하지 않는다. 이보다는, 기존의 메타검색 엔진들은 고정된 검색 엔진들의 집합을 가지며, 이 엔진들에게 검색 질의가 매번마다 제공된다. 따라서, 사용자는 검색 질의에 응답하여 제공되는 검색 엔진들의 결과물들에 대한 제어권을 갖지 못하며 메타검색 엔진들은 어느 사용자가 검색 질의를 발행하였는지에 기초하거나 또는 사용자의 검색 질의의 콘텐츠에 기초하여 어느 검색 엔진들에게 질의할지에 대해서 어떠한 맞춤화도 수행하지 않는다.
아래에서 설명되는 몇몇의 실시예들은 사용자 지정 검색 질의를 다수의 검색 엔진들에 대해 발행하고 및/또는 이러한 질의들의 결과물들을 사용자들에게 디스플레이하는 기술들에 관한 것이다. 아래에서 논의되는 실시예들 중 몇몇은 기존의 메타검색 엔진들의 앞서 논의한 결점들 모두를 해결하지만, 모든 실시예들이 앞서 논의한 메타검색 엔진들의 결점들 모두를 해결하는 것은 아니며, 몇몇의 실시예들은 이러한 결점들 어느 것도 해결하지는 않는다. 이에 따라, 본 발명은 메타검색 엔진들의 앞서 설명한 결점들 모두 또는 결점들 어느 것이나 해결하는 실시예들로 제한되지 않는다.
도 2는 몇몇의 실시예들에서, 사용자의 클라이언트 디바이스상에서 실행중인 애플리케이션 프로그램이 다수의 검색 엔진들에 대해 검색 질의를 발행하고 이러한 검색 엔진들 각각으로부터의 검색 결과물들을 사용자에게 디스플레이함으로써 수행될 수 있는 예시적인 프로세스(200)의 흐름도이다. 프로세스(200)를 수행하기 위해 애플리케이션 프로그램이 실행되는 클라이언트 디바이스는 소프트웨어 컴퓨터 프로그램을 실행할 수 있는 하드웨어를 갖는 임의의 유형의 컴퓨팅 디바이스일 수 있다. 이용될 수 있는 클라이언트 디바이스들의 유형들의 예시들에는 랩탑 또는 데스크탑 개인 컴퓨터, 개인 보조 단말기(PDA), 이동전화기, 서버 컴퓨터, 및/또는 다른 유형들의 다양한 컴퓨팅 디바이스들이 포함된다. 본 명세서에서 설명되는 하나의 특정 구현예에서, 아래에서 설명되는 기술들은 사용자가 음성에 의해 검색 질의들을 발행할 수 있도록 스피치 인식 능력과 결합되어 이동전화기(예컨대, 스마트폰)상에서 구현될 수 있지만, 본 발명의 모든 양태들이 스피치 인식 인터페이스와 함께 이용하거나 또는 이동전화기들상에서 이용하도록 제한되는 것은 아니다.
위의 설명으로부터 이해될 수 있는 바와 같이, 프로세스(200)는 사용자로 하여금 클라이언트 디바이스상에서 애플리케이션 프로그램을 런칭할 수 있도록 하고, (예컨대, 음성에 의하거나 또는 텍스트에 의해) 검색 질의를 입력할 수 있도록 하며, 다수의 상이한 검색 엔진들로부터 제공된 해당 검색 질의에 대한 검색 결과물들을 살펴볼 수 있도록 해준다.
프로세스(200)가 수행될 수 있는 환경의 한가지 비제한적인 예시는 도 3에서 도시된 네트워크화된 컴퓨터 환경(300)에서 존재한다. 도 3에서, 사용자(301)는 클라이언트 디바이스(303)를 통해 인터넷(305)에 액세스한다. 검색 엔진들(307a, 307b, 307c, …, 307n)은 인터넷(305)을 통해 액세스가능한 서버들상에서 실행된다. 프로세스(200)는 클라이언트 디바이스(303)상에서 실행중인 애플리케이션 프로그램이 사용자 지정 검색 질의를 수신하는 동작(201)으로 시작한다. 아래에서 보다 자세하게 논의되는 바와 같이, 질의는 임의의 다양한 잠재적인 클라이언트 디바이스 사용자 인터페이스들을 통해 임의의 다양한 잠재적인 방법들로 수신될 수 있다. 프로세스는 다음으로 사용자 지정 검색 질의를 수신한 것에 응답하여 애플리케이션 프로그램이 검색 엔진들(307) 중 어느 검색 엔진에게 질의할지를 결정하는 동작(203)으로 이어진다. 아래에서 자세하게 논의되는 바와 같이, 질의될 검색 엔진들의 집합은 동적으로 결정될 수 있고 사용자에 의해 구성가능할 수 있지만, 질의될 검색 엔진들의 집합은 몇몇의 실시예들에서 정적일 수 있고 구성가능하지 않을 수 있기 때문에 본 발명의 양태들은 이와 관련하여 제한받지 않는다.
프로세스는 다음으로 애플리케이션 프로그램이, 인터넷(305)을 통해, 동작(201)에서 수신된 사용자 지정 검색 질의에 기초하여 생성된 검색 질의들을 동작(203)에서 식별된 검색 엔진들(307)에 대해 발행하는 동작(205)으로 진행된다. 몇몇의 실시예들에서, 이러한 검색 엔진들은 범용 검색 엔진들 및/또는 싸이트 특정 검색 엔진들을 포함할 수 있지만, 몇몇의 실시예들에서는 싸이트 특정 검색 엔진들 단독 또는 범용 검색 엔진들 단독만이 질의될 수 있으므로 본 발명은 이와 관련하여 제한받지 않는다. 프로세스는 다음으로 애플리케이션 프로그램이, 인터넷(305)을 통해, 동작(205)에서 질의된 검색 엔진들로부터 검색 결과물들을 수신하는 동작(207)으로 이어진다. 그런 후 프로세스는 검색 결과물들이 클라이언트 디바이스(303)상에서 디스플레이를 통해 사용자에게 디스플레이되는 동작(209)으로 진행된다.
프로세스(200)는 동작들(201, 203, 205, 207, 209)이 수행될 수 있는 하나의 예시적인 순서를 도시한다는 것을 이해해야 한다. 이와 다른 다양한 순서들이 가능하며, 이러한 동작들은 다양한 상이한 실시예들에서 상이한 순서들로 수행될 수 있다. 추가적으로, 프로세스(200)의 동작들 각각의 다양한 잠재적인 구현들이 가능하며 이것은 아래에서 보다 자세하게 논의된다.
Ⅰ. 검색 질의 수신
위에서 논의한 바와 같이, 프로세스(200)의 동작(201)에서, 애플리케이션 프로그램은 검색 질의를 지정한 사용자 입력을 수신한다. 이러한 사용자 입력은 임의의 다양한 방법들과 임의의 다양한 포맷들로 수신될 수 있다. 예를 들어, 몇몇의 실시예들에서, 사용자 입력은 텍스트로서 수신될 수 있고 클라이언트 디바이스 내로 통합되거나 또는 클라이언트 디바이스에 결합된 입력 디바이스를 통해 수신될 수 있다. 이러한 입력 디바이스들의 예시들에는 키보드, 터치 스크린, 마우스, 및/또는 사용자로 하여금 텍스트 입력을 컴퓨팅 디바이스에 제공할 수 있도록 해주는 임의의 다른 입력 디바이스가 포함된다.
몇몇의 실시예들에서, 사용자 입력은 클라이언트 디바이스 내로 통합되거나 또는 클라이언트 디바이스에 결합된 마이크로폰을 통해 오디오로서 수신될 수 있다. 예를 들어, 사용자는 검색 질의를 마이크로폰을 통해 말로 할 수 있고 애플리케이션 프로그램은 사용자의 음성 입력을 오디오 데이터로서 수신할 수 있다. 검색 엔진들에게 질의하기 위한 기초로서 이용될 수 있는 인식 결과물들(예컨대, 텍스트 형태로 존재함)을 획득하기 위해 자동화된 스피치 인식이 오디오 데이터에 대해 수행될 수 있다. 몇몇의 실시예들에서, 질의될 하나 이상의 검색 엔진들은 스피치 인터페이스를 가질 수 있다. 이러한 실시예들에서는, 예컨대 텍스트 검색 질의를 제공하는 것 대신에 오디오의 자동화된 스피치 인식에 기초하여 오디오가 이러한 검색 엔진들에 제공될 수 있다. 자동화된 스피치 인식 기술들은 잘 알려진 것들이며, 오디오 데이터에 대한 인식 결과물들을 획득하기 위해 임의의 다양한 자동화된 스피치 인식 기술들이 이용될 수 있다.
몇몇의 실시예들에서, 클라이언트 디바이스는 사용자가 검색 질의를 제공하기 위해 선택할 수 있는 복수의 상이한 옵션들을 제공할 수 있다. 예를 들어, 몇몇의 실시예들에서, 클라이언트 디바이스는 사용자로 하여금 질의를 (예컨대 마이크로폰을 통해 질의를 말로 함으로써) 음성 포맷으로 입력할 수 있게 하거나 또는 (예컨대 키보드 또는 터치스크린상에 질의를 타이핑함으로써) 텍스트 포맷으로 입력할 수 있게 해줄 수 있다.
음성 입력의 자동화된 스피치 인식이 수행되는 실시예들에서, 사용자에 의해 제공된 오디오 데이터의 자동화된 스피치 인식은 임의의 다양한 방법들로 달성될 수 있다. 예를 들어, 도 4에서 도시된 바와 같이, 몇몇의 실시예들에서, 클라이언트 디바이스는 자동화된 스피치 인식기를 실행할 수 있는데, 이 자동화된 스피치 인식기는 오디오 데이터에 대해 자동화된 스피치 인식을 수행하는 소프트웨어 프로그램이며, 애플리케이션 프로그램은 자동화된 스피치 인식기를 이용하여 오디오 데이터의 인식 결과물들을 획득할 수 있다. 도 4에서, 클라이언트 디바이스(401)는 프로세스(200)를 수행하는 애플리케이션 프로그램(403) 및 자동화된 스피치 인식기(405)를 실행시킨다. 애플리케이션 프로그램(403)은 사용자에 의해 제공된 오디오 데이터(407)를 수신할 때, 오디오 데이터를 자동화된 스피치 인식기(405)에 전달할 수 있다. 자동화된 스피치 인식기(405)는 오디오 데이터에 대한 자동화된 스피치 인식을 수행하여 인식 결과물(409)을 획득할 수 있고 검색 엔진들에 대한 질의들을 포맷팅하는데에 이용하기 위해 인식 결과물들(409)을 애플리케이션 프로그램(403)에 반송할 수 있다.
본 발명자들은 몇몇의 클라이언트 디바이스들이 희망하는 레벨의 정확도 및/또는 효율성을 갖고 동작하는 자동화된 스피치 인식기를 실행시키기 위해 충분한 컴퓨팅 자원들을 갖지 않을 수 있다는 것을 인식해 왔다. 즉, 예컨대 클라이언트 디바이스는 음향 모델들, 언어 모델들, 문법들, 및/또는 이러한 스피치 인식기의 다른 성분들을 저장하기 위한 충분한 메모리를 갖지 않을 수 있고 및/또는 희망하는 레벨의 효율성으로 자동화된 스피치 인식을 수행하기 위해 충분히 강력한 프로세서를 갖지 않을 수 있다. 이것은 임의의 갯수의 상황들, 특히 클라이언트 디바이스가 PDA 또는 이동 전화기와 같은, 핸드헬드 디바이스인 경우에 발생할 수 있다.
따라서, 몇몇의 실시예들에서, 사용자로부터 제공된 오디오 데이터에 대한 자동화된 스피치 인식은 사용자 입력을 수신하고 이러한 입력에 기초하여 검색들을 관리하는 애플리케이션 프로그램을 실행시키는 클라이언트 디바이스 외부에 있는 컴퓨터에 의해 수행될 수 있다. 예를 들어, 도 5에서 도시된 바와 같이, 클라이언트 디바이스(501)는 오디오 데이터의 형태로 사용자에 의해 제공된 음성 입력을 수신하는 애플리케이션 프로그램(503)을 실행시킨다. 자동화된 스피치 인식은 서버(505)상에서 실행되는 자동화된 스피치 인식기(507)에 의해 오디오 데이터에 대해 수행될 수 있다. 따라서, 도 5에서 도시된 바와 같이, 몇몇의 실시예들에서, 애플리케이션 프로그램은 서버(505)상에서 실행되는 자동화된 스피치 인식기(507)에게 사용자에 의해 제공된 오디오 데이터(509)를 보낼 수 있다. 오디오 데이터(509)는 임의의 다양한 잠재적인 방법들로 자동화된 스피치 인식기에 보내질 수 있다. 예를 들어, 몇몇의 실시예들에서, 사용자에 의해 제공된 오디오는 마이크로폰에 의해 캡쳐될 수 있고 디지털 오디오 데이터를 생성하기 위해 캡쳐된 마이크로폰 오디오에 대해 아날로그-디지털 변환이 수행될 수 있다. 이러한 디지털 오디오 데이터는 자동화된 스피치 인식기(507)에 제공될 수 있다. 몇몇의 실시예들에서, 디지털 오디오 데이터의 몇몇의 프로세싱은 자동화된 스피치 인식기에 이러한 데이터를 보내기 전에 수행될 수 있다. 예를 들어, 디지털 데이터는 압축될 수 있거나 또는 자동화된 스피치 인식에서 유용한 오디오의 파라미터들을 추출하기 위해 몇몇의 사전프로세싱이 수행될 수 있다. 추출된 파라미터들은 오디오 데이터와 함께 자동화된 스피치 인식기(507)에 전달될 수 있다. 압축을 이용하는 실시예들에서는, 임의의 다양한 잠재적인 압축 알고리즘들이 이용될 수 있다. 예를 들어, 몇몇의 실시예들에서는, speex™ 코덱이 이용될 수 있다.
따라서, 본 명세서에서 이용된 용어 "오디오 데이터"는 아날로그 오디오 신호 또는 아날로그 오디오 신호의 디지털 표현 또는 압축된 디지털 표현을 지칭할 수 있다는 것을 이해해야 한다.
자동화된 스피치 인식기(507)는 오디오 데이터(509)에 대해 자동화된 스피치 인식을 수행하고 오디오 데이터(509)로부터의 결과물들을 포함한 응답(511)을 애플리케이션 프로그램(503)에 반송할 수 있다. 결과물들은 임의의 적절한 형태를 취할 수 있다. 하나의 비제한적인 예시로서, 결과물들은 오디오 데이터에 대한 자동화된 스피치 인식을 수행함으로써 자동화된 스피치 인식기(507)에 의해 획득된 텍스트 인식 결과물을 포함할 수 있다.
도 5의 예시에서, 클라이언트 디바이스(501)는 서버(505)와 직접 통신하는 것으로서 도시된다. 이러한 도시는 클라이언트 디바이스(501)와 서버(505) 사이에 보내진 정보의 유형들의 이해를 수월하게 하기 위해 제공된 것일 뿐이라는 점과, 클라이언트 디바이스(501)는 임의의 다양한 방법들로 임의의 적절한 통신 매체, 예컨대 인터넷을 통해 서버(505)와 통신할 수 있다는 것을 이해해야 한다.
도 4의 예시에서, 클라이언트 디바이스에서 수신된 오디오 데이터에 대한 자동화 스피치 인식은 클라이언트 디바이스상에서 수행되며, 도 5의 예시에서는 오디오 데이터가 클라이언트 디바이스로부터 서버에 제공되고 서버는 서버상에서 자동화 스피치 인식을 수행한다. 하지만, 몇몇의 실시예들에서, 자동화 스피치 인식은 일부분은 클라이언트 디바이스에 의해 그리고 일부분은 서버에 의해 수행될 수 있다. 예를 들어, ASR의 일부분은 클라이언트 디바이스상에서 실행될 수 있고 일부분은 서버상에서 실행될 수 있다. 이것은 예컨대 클라이언트 디바이스가 스피치 인식 프로세스의 일부를 수행할 수 있도록 하되, 서버에 대해서는 계산집약적인 부분들을 남겨둠으로써 행해질 수 있다.
몇몇의 실시예들에서, 서버(505)는 다수의 클라이언트 디바이스들을 위한 자동화된 스피치 인식 서비스들을 제공할 수 있다. 도 6은 복수의 사용자들(601a, 601b, … 601n) 각각이 클라이언트 디바이스(603a, 603b, …, 603n)를 동작시키는 컴퓨팅 환경을 도시한다. 각각의 클라이언트 디바이스(603)는 도 2의 프로세스(200)를 수행하여 검색 질의들을 인터넷(607)을 통해 검색 엔진들(609a, 609b, 609c, …, 609n)에 보내고, 이러한 검색 질의들의 결과물들을 각각의 사용자들에게 디스플레이하는 애플리케이션 프로그램을 실행시킬 수 있다. 서버(605)는 자동화된 스피치 인식 서비스들을 제공할 수 있다.
따라서, 클라이언트 디바이스들(603)이 사용자에 의해 제공된 검색 질의들을 오디오 데이터의 형태로 수신하는 실시예들에서, 클라이언트 디바이스들(603)은 오디오 데이터를 서버(605)에 보내서 오디오 데이터에 대한 자동화된 스피치 인식이 수행되도록 할 수 있고, 이에 대한 응답으로 인식 결과물 및/또는 인식 결과물에 기초한 다른 정보를 수신할 수 있다.
위에서 논의한 예시에서, 서버(605)는 클라이언트 디바이스들(603)을 위한 자동화된 스피치 인식 서비스들을 제공한다. 몇몇의 대안적인 실시예들에서, 서버(605)는 클라이언트 디바이스(603)로부터 하나 이상의 검색 엔진들(609)로의 검색 질의들의 발행을 촉진시키기 위한 추가적인 기능을 제공할 수 있다. 이러한 추가적인 기능의 몇몇의 예시들을 아래에서 자세하게 설명한다. 단순화를 위해, 도 6의 예시에서는 단하나의 서버(605)만이 도시된다. 하지만, 대용량의 트래픽을 수신하는 인터넷 서버들에 대해서는 통상적인 일인 바와 같이, 본 명세서에서 설명된 서버(605)의 기능을 제공하기 위해 임의의 갯수의 서버들이 이용될 수 있고 클라이언트 디바이스들(603)로부터의 트래픽 부하는 임의의 다양한 부하 밸런싱 기술들을 이용하여 이러한 서버들에 걸쳐 밸런싱될 수 있다는 것을 이해해야 한다.
사용자가 검색 질의를 음성으로(즉, 오디오 데이터의 형태로) 제공하는 실시예들에서는, 오디오 데이터의 자동화된 스피치 인식을 촉진시켜서 검색 질의들을 생성하기 위한 복수의 기술들이 이용될 수 있다. 이러한 기술들은 자동화된 스피치 인식이 클라이언트 디바이스상에서 수행되는 실시예들과 자동화된 스피치 인식이 클라이언트 디바이스 외부에 있는 컴퓨터상에서 수행되는 실시예들 모두에서 활용될 수 있다.
몇몇의 실시예들에서, 사용자에 의해 제공된 검색 질의의 오디오 데이터에 대한 스피치 인식을 수행할 때 자동화된 스피치 인식기에 의해 이용되는 언어 모델은 질의될 검색 엔진(들)에 기초하여 선택될 수 있다. 예를 들어, 도 7에서 도시된 바와 같이, 몇몇의 실시예들에서, 자동화된 스피치 인식기는 다수의 상이한 인식 결과물들을 산출시키기 위해 다수의 상이한 언어 모델들을 이용하여 동일한 오디오 데이터에 대한 인식을 수행할 수 있다. 도 7에서, 언어 모델들(703a, 703b, …, 703n)을 이용하여 오디오 데이터(701)에 대한 스피치 인식이 수행되어 인식 결과물들(705a, 705b, …, 705n)을 생성시킨다. 오디오 데이터(701)의 콘텐츠 및 언어 모델들(703)간의 차이에 의존하여, 인식 결과물들(705) 각각은 동일할 수 있거나, 서로 상이할 수 있거나, 또는 일부는 동일하고 일부는 상이할 수 있다. 하나 이상의 언어 모델들(703)은 특정 검색 엔진과 연계될 수 있고, 특정 검색 엔진과 연계된 언어 모델을 이용하여 생성된 인식 결과물은 해당 검색 엔진에 대해 발행되는 검색 질의에 대한 기초로서 역할을 할 수 있다.
따라서, 예를 들어, 몇몇의 실시예들에서, 해당 검색 엔진에 대해 발행되는 검색 질의에 대한 기초로서 역할을 하는 인식 결과물을 생성하기 위해 특정 검색 엔진에 의해 인덱싱된 콘텐츠에 대해 트레이닝되어 왔던 언어 모델이 이용될 수 있다. 이것은 해당 검색 엔진에 대해 관련있는 검색 결과물들을 산출시킬 가능성이 보다 높은 질의를 초래시킨다.
이러한 기술은 일반적으로 특정 주제 영역에 관한 제한된 양의 콘텐츠를 인덱싱하는 싸이트 특정 검색 엔진들에 대해 질의들을 발행할 때 특히 유용적일 수 있다. 예를 들어, 온라인 신발 소매업자는 자신의 전자 상거래 웹 싸이트를 위한 싸이트 특정 검색 엔진을 가질 수 있다. 따라서, 이러한 웹 싸이트의 콘텐츠는 신발 브랜드 및 모델 명칭, 신발 특성에 관한 설명, 및 다양한 다른 신발 특정 정보와 같은, 신발 특정 어구와 문구들을 포함할 수 있다. 이러한 웹 싸이트의 콘텐츠에 대해 스피치 인식기에 의해 이용된 언어 모델을 트레이닝함으로써, 스피치 인식기는 신발 특정 어구와 문구를 포함하는 스피치를 정확하게 인식할 가능성이 높다.
따라서, 예를 들어, 만약 오디오 입력의 형태로 사용자에 의해 제공된 검색 질의가 수신되고 싸이트 특정 검색 엔진과 범용 검색 엔진 모두에 대해 발행될 예정인 경우, 오디오 입력은 싸이트 특정 검색 엔진에 대해 발행될 검색 질의에 대한 기초로서 역할을 하는 인식 결과물들을 생성하도록 제1 언어 모델(예컨대, 싸이트 특정 검색 엔진에 의해 인덱싱된 콘텐츠와 관련된 콘텐츠에 대해 트레이닝되었던 언어 모델)을 이용하여 인식되고, 또한 범용 검색 엔진에 대해 발행될 검색 질의에 대한 기초로서 역할을 하는 인식 결과물들을 생성하도록, 제1 언어 모델과는 상이한 제2 언어 모델(예컨대, 보다 범용적인 콘텐츠에 대해 트레이닝되었던 언어 모델)을 이용하여 인식될 수 있다.
위에서 설명된 예시에서, 특정 검색 엔진과 연계된 언어 모델을 이용하여 스피치 인식을 수행함으로써 획득된 인식 결과물은 해당 검색 엔진에 대해 발행되는 검색 질의에 대한 기초로서 역할을 한다. 하지만, 몇몇의 실시예들에서, 상이한 검색 엔진들에 대해 상이한 언어 모델들을 이용하여 획득된 인식 결과물들을 발행하는 것보다는, 다수의 인식 결과물들은 상이한 언어 모델들을 이용하여 획득될 수 있고 최고 점수 또는 신뢰값을 갖는 인식 결과물은 다수의 검색 엔진들에 대해 발행되는 검색 질의의 기초로서 역할을 할 수 있다. 예를 들어, 도 7에서, 인식 결과물들(705) 각각은 특정 언어 모델을 이용하여 오디오 데이터(701)에 대한 자동화 스피치 인식을 수행함으로써 생성될 수 있다. 몇몇의 실시예들에서, 인식 결과물들(705) 중 하나가 다수의 검색 엔진들에 대해 발행될 검색 질의를 생성하기 위한 기초로서 역할을 하는 결과물이 되도록 선택될 수 있다. 이러한 선택은 임의의 적절한 방법으로 행해질 수 있다. 예를 들어, 위에서 논의한 바와 같이, 스피치 인식의 결과물로서 최고 점수 또는 신뢰값을 갖는 인식 결과물이 선택될 수 있거나 또는 임의의 다른 적절한 기준 또는 기준의 조합이 이용될 수 있다.
본 발명자들은, 스피치 인식이 다수의 언어 모델들을 이용하여 동일한 오디오 데이터에 대해 수행되는 상황들에서, 상이한 언어 모델들 각각과 함께 다수의 별개의 독립적인 스피치 인식 프로세스들을 수행하는 것은 인식 결과물들을 획득하는데 있어서 레이턴시를 증가시킬 수 있고 및/또는 스피치 인식을 수행하는데 있어서 이용되는 프로세싱 자원들의 양을 증가시킬 수 있다는 것을 인식해 왔다.
따라서, 몇몇의 실시예들에서는, 각각의 언어 모델에 대해 오디오 데이터에 대한 전체적인 독립적인 스피치 인식 프로세스를 수행하기 보다는, 가정된 워드 시퀀스들의 격자를 생성하기 위해 하나의 일반화된 언어 모델이 이용될 수 있으며, 선택된 언어 모델(들)에 대한 인식 결과물(들)을 특별히 산출시키기 위해 이러한 격자는 하나 이상의 선택된 언어 모델들을 이용하여 다시 점수가 매겨질 수 있다. 이러한 방식으로, 동일한 격자가 각각의 인식 결과물을 생성하기 위해 이용되고 이에 따라 한번만 생성될 필요가 있기 때문에 인식 결과물들을 생성할 때에 소모되는 시간과 프로세싱 자원들은 감소될 수 있다.
도 7의 예시에서, 오디오 데이터(701)는 언어 모델들(703) 각각에 직접적으로 제공되는 것으로서 도시된다. 이러한 도시는 어떻게 다수의 언어 모델들이 이용될 수 있는지에 관한 이해를 수월하게 하기 위해 제공된 것일 뿐이며, 실제에서는, 언어 모델들은 오디오 데이터에 대해 직접적으로 동작하지 않을 수 있다는 것을 이해해야 한다. 예를 들어, 다수의 가상적인 워드들의 시퀀스들을 갖는 격자가 음향 모델 및 일반 언어 모델을 이용하여 오디오 데이터로부터 획득될 수 있고, 특수 언어 모델들(703)이 이용되어 일반 격자를 다시 점수 매기고 특정 검색 엔진에 대해 적절한 워드들의 시퀀스를 획득할 수 있다.
몇몇의 실시예들에서는, 검색 엔진들에 제공될 검색 질의들을 생성할 때 다수의 상이한 언어 모델들을 이용하는 것 대신에, 하나의 언어 모델이 복수의 이용가능한 언어 모델들로부터 선택될 수 있다. 예를 들어, 몇몇의 실시예들에서, 하나의 언어 모델이 특정 음성 질의를 인식하는데 아주 적합한 것으로서 식별될 수 있으며, 이 언어 모델은 이러한 질의를 인식하는데에 이용될 수 있다.
특정 음성 질의를 인식하는데 있어서 이용될 언어 모델을 선택하기 위해 임의의 다양한 잠재적인 기준 또는 기준 조합들이 이용될 수 있다. 예를 들어, 몇몇의 실시예들에서, 질의의 콘텐츠는 이용될 언어 모델을 선택하기 위한 기초로서 이용될 수 있다. 예를 들어, 투 패스(two-pass) 프로세스가 이용될 수 있으며, 여기서는 음성 질의 또는 음성 질의의 일부분의 제1 패스 자동화 스피치 인식이 특수한 보케브러리를 갖지 않는 일반 언어 모델을 이용하여 수행된다. 이러한 언어 모델은 질의 내 단어들 중 몇몇을 인식할 수 있지만, 모든 단어들을 정확하게 인식하지 못할 수 있다. 제1 패스로부터 획득된 인식 결과물은 주제 또는 카테고리에 기초하여 질의를 분류하는데 이용될 수 있다. 임의의 다양한 잘 알려진 분류 기술들이 이용될 수 있다.
분류에 기초하여, 식별된 주제 또는 카테고리에 관한 특수한 보케브러리를 갖는 언어 모델이 선택될 수 있다. 언어 모델의 선택 이후, 자동화 스피치 인식의 제2 패스가 선택된 언어 모델을 이용하여 수행될 수 있다. 예를 들어, 제1 패스 이후 음성 질의가 "방향", "거리" 또는 "길"과 같은 단어를 포함한다라고 결정된 경우, 음성 질의는 맵 관련 질의인 것으로 결정될 수 있고, 맵 관련 언어 모델(예컨대, 미국 및/또는 기타 국가들에 관한 도시, 길, 장소 명칭들을 포함한 언어 모델)이 제2 패스에서 선택되고 이용될 수 있다.
아래에서 보다 자세하게 논의되는 바와 같이, 제2 패스로부터의 인식 결과물은 하나 이상의 검색 엔진들에 제공될 하나 이상의 검색 질의들에 대한 기초로서 역할을 할 수 있다. 또한, 아래에서 보다 자세하게 논의되는 바와 같이, 질의된 검색 엔진 또는 엔진들은 제2 패스에서의 질의를 인식하기 위해 선택되었던 언어 모델 또는 제2 패스로부터 획득된 인식 결과물의 콘텐츠에 기초하여 선택될 수 있다.
몇몇의 실시예들에서, 사용자로부터 제공된 음성 검색 질의를 오디오 데이터로서 인식하기 위해 이용된 언어 모델은 관심 주제에 기초하여 업데이트될 수 있다. 이것은 임의의 다양한 잠재적인 방법들로 행해질 수 있다. 본 발명자들은 이전에 사용되지 않았으며 빈번한 검색들의 주제가 아닐 수 있는 키워드들을 비롯한, 특정 이벤트와 연계된 키워드들을 포함하는 많은 수의 검색 질의들을 검색 엔진들이 수신하는 것을 오늘날의 이벤트들이 빈번히 초래시킨다는 것을 인식해 왔다. 예를 들어, 인기있는 새로운 영화가 극장에서 상영중에 있는 경우, 검색 엔진들은 여러 사용자들로부터 영화 제목, 영화속의 배우들의 이름들, 또는 영화와 관련된 다른 키워드들을 비롯한, 많은 수의 검색 질의들을 수신할 수 있다. 마찬가지로, 대형 스포츠 이벤트가 임박한 경우, 검색 엔진들은 이벤트에 참여중인 팀들 및/또는 운동선수들의 이름들을 비롯한 많은 수의 질의들을 수신할 수 있거나, 또는 대중 문화 이벤트는 이전에 일반 대중에게 알려지지 않았던 사람을 주목받게 할 수 있다(예컨대, 복권 당첨자, 악명높은 범죄로 고소된 자, 유명한 스캔들에 연루된 자 등).
몇몇의 실시예들에서, 최근의 사용자 관심주제와 연계된 단어들 및/또는 어구들이 식별될 수 있고, 이러한 단어들 및/또는 어구들의 인식 정확도를 향상시키도록 언어 모델은 업데이트될 수 있다. 이러한 단어들 및/또는 어구들은 임의의 다양한 방법들로 식별될 수 있다. 예를 들어, (예컨대, 오디오 포맷, 텍스트 포맷, 또는 몇몇의 다른 포맷으로) 사용자에 의해 제공되는 질의들이 복수의 클라이언트 디바이스들로부터 서버 또는 서버들의 집합에 제공되는 몇몇의 실시예들에서, 서버 또는 서버들의 집합은 이러한 검색 질의들에서 자주 이용된 검색 용어들 또는 어구들을 식별할 수 있고 언어 모델은 이러한 자주 이용된 검색 용어들에 기초하여 업데이트될 수 있다. 다른 실시예들에서, 관심 주제와 연계된 단어들 및/또는 어구들은 이러한 단어들 및/또는 어구들을 식별하는 임무가 주어진 한 명 이상의 사람들에 의해 수동적으로 식별될 수 있다.
언어 모델은 이러한 방식으로 임의의 희망하는 빈도로 업데이트될 수 있다. 예를 들어, 몇몇의 실시예들에서, 언어 모델은 하루에 한번, 이틀에 한번, 하루에 두번, 일주일에 한번과 같은 정기적인 간격, 또는 임의의 다양한 다른 잠재적인 간격들로 업데이트될 수 있다. 몇몇의 실시예들에서, 언어 모델은 언어 모델을 업데이트하라는 사용자로부터의 표시와 같은 사용자 조작, 또는 임의의 다른 적절한 방식에 응답하여 업데이트될 수 있다.
몇몇의 실시예들에서, 사용자 검색 질의들에서 제공된 단어들, 웹탐색으로부터 획득된 단어들, 및/또는 다른 소스들로부터의 단어들은 수집되고 언어 모델을 업데이트하기 위해 이용될 수 있다. 소스 데이터에서 단어들의 발생 횟수를 표시하는 워드 카운트가 유지될 수 있고 워드 카운트가 임계값을 초과하는 단어들이 언어 모델에 추가될 수 있다.
몇몇의 실시예들에서, 언어 모델에 추가될 각각의 단어에 대한 자동 발음(예컨대, 일련의 음소들)이 생성되고 대응하는 단어와 함께 언어 모델에 포함될 수 있다. 몇몇의 실시예들에서, 검토자(예컨대, 언어학자)는 자동적으로 생성된 발음을 언어 모델에 추가하기 전에 이 발음을 검토하고 (보증받은 경우) 이것을 수정할 수 있다.
몇몇의 실시예들에서, 검색 질의들의 자동화된 스피치 인식에서 이용된 언어 모델은 어느 검색 결과물들을 사용자가 선택했는지를 표시하는 피드백을 이용하여 업데이트될 수 있다. 이것은 임의의 다양한 잠재적인 방법들로 행해질 수 있다. 예를 들어, 몇몇의 실시예들에서, 자동화된 스피치 인식기는 사용자에 의해 제공된 음성 검색 질의의 오디오 데이터로부터 인식 결과물을 생성할 수 있다. 이러한 인식 결과물은 하나 이상의 검색 엔진들에 제공된 하나 이상의 검색 질의들에 대한 기초로서 역할을 할 수 있고, 하나 이상의 검색 엔진들로부터의 검색 결과물들은 질의 또는 질의들에 응답하여 사용자에게 반송되고 디스플레이될 수 있다. 사용자는 특정 웹 페이지 또는 콘텐츠 조각을 살펴보기 위해 검색 결과물들 중 하나 이상을 선택할 수 있다. 몇몇의 실시예들에서, 어느 검색 결과물(들)을 사용자가 선택했는지에 관한 정보는 자동화된 스피치 인식기에 의해 이용되는 언어 모델을 업데이트하는데에 이용될 수 있다. 예를 들어, 사용자는 검색 질의 "Willie Mays"를 말할 수 있으며 자동화된 스피치 인식기는 이러한 발언을 “Willy Maze”로서 부정확하게 인식할 수 있다. 따라서, 어구 “Willy Maze”에 대한 검색 질의가 하나 이상의 검색 엔진들에 대해 발행될 수 있다. 하지만, 검색 엔진들 중 하나 이상은 자신의 결과물들의 리스트에서 Willie Mays에 관한 인적 정보를 갖는 웹 페이지에 대한 하이퍼링크를 반송시킬 수 있다. 만약 사용자가 해당 웹 페이지에 액세스하기 위해 이러한 하이퍼링크를 선택한다면, 웹 페이지의 콘텐츠는 언어 모델을 업데이트하는데에 이용될 수 있다. 이것은 다음번에 사용자가 어구 “Willie Mays”를 말할 때, 이를 정확하게 인식할 가능성을 증가시킬 수 있다.
몇몇의 실시예들에서, 특정 사용자를 위해 이용된 언어 모델은 해당 사용자로부터 획득된 이전의 발언들을 이용하여, 해당 사용자의 스피치에 대해 맞춤화될 수 있다. 이것은 임의의 다양한 방법들로 행해질 수 있다. 예를 들어, 몇몇의 실시예들에서, 특정 스피커로부터 수신된 음성 데이터는 데이터를 "설명"하기 위해 대표적인 잠재적 스피커들의 집합을 발견하기 위한 목표를 가지면서 BoW(bag-of-word) 피처 벡터로서 표현될 수 있다. 결과는 예컨대 유사한 스피커들이 파라볼라 방식으로 함께 클러스터화된다는 점이다. 이러한 클러스터들은 잠재적인 스피커 언어 모델 성분들의 집합을 구축하는데에 이용될 수 있다. 이러한 잠재적인 성분들을 이용하여, 적응이 수행되는 특정 스피커로부터의 수신된 음성 데이터를 이용하여 언어 모델 성분들의 스피커 특정 선형 보간 가중치들을 추정함으로써 특정 사용자에 대한 적응이 수행된다.
몇몇의 실시예들에서, 특정 사용자를 위해 이용된 언어 모델은 사용자의 브라우징 이력 정보에 기초하여 업데이트될 수 있다. 이것은 임의의 다양한 방법들로 달성될 수 있다. 예를 들어, 사용자의 브라우징 이력에 기초하여, 자주 방문된 웹 싸이트들이 식별될 수 있다. 스피치 질의들을 인식하기 위해 이용된 언어 모델은 자주 방문된 웹 싸이트들로부터의 콘텐츠가 강조되는 트레이닝 코퍼스(training corpus)를 이용하여 재트레이닝될 수 있다.
자동화된 스피치 인식을 촉진시키기 위해 언어 모델을 선택하기 위한 앞서 설명한 기술들 모두 또는 어느 것이나 서로 조합형태로 이용될 수 있다. 또한, 언어 모델을 선택하기 위한 이러한 기술들은 이용될 필요가 없으며, 몇몇의 실시예들에서 모든 음성 입력을 프로세싱하기 위해 동일한 언어 모델이 이용될 수 있다는 것을 이해해야 한다.
Ⅱ. 어느 검색 엔진들에게 질의할지의 결정
위에서 논의한 바와 같이, 프로세스(200)의 동작(203)에서, 사용자 지정 질의를 수신한 것에 응답하여, 애플리케이션 프로그램은 어느 검색 엔진들에게 얼마나 많이 질의할지를 결정한다. 이것은 임의의 다양한 방법들로 달성될 수 있다.
예를 들어, 몇몇의 실시예들에서는, 질의될 검색 엔진들의 집합은 정적일 수 있다. 예를 들어, 애플리케이션 프로그램은 검색 엔진들의 특정 집합에게 질의하도록 하드 코딩될 수 있거나 또는 이와 달리 구성될 수 있다. 이러한 실시예들에서, 애플리케이션 프로그램은 자신이 수신한 모든 사용자 제공 검색 질의에 응답하여 동일한 검색 엔진들의 집합에 질의한다. 이에 따라, 이러한 실시예들에서, 동작(203)은 애플리케이션 프로그램에서 또는 애플리케이션 프로그램에 의해 액세스가능한 정적 정보에 의해 식별되는 이러한 검색 엔진들에 의해, 질의될 검색 엔진들을 결정하는 애플리케이션 프로그램의 소프트웨어 코드를 실행시킴으로써 단순히 수행되는 것으로 간주될 수 있다.
다른 실시예들에서, 어느 검색 엔진들에게 질의할지에 대한 결정은 하나 이상의 다양한 잠재적인 기준에 기초하여 동적으로 행해질 수 있다. 예를 들어, 질의될 검색 엔진들은 질의할 하나 이상의 검색 엔진들을 표시하는 사용자로부터의 명시적 지시들에 기초하여 결정될 수 있거나, 질의의 콘텐츠에 기초하여 결정될 수 있거나, 질의를 제공했던 사용자의 액세스 패턴들 또는 브라우징 이력 정보에 기초하여 결정될 수 있거나, 질의를 제공했던 사용자와는 상이한 하나 이상의 다른 사용자들의 액세스 패턴들 또는 브라우징 이력 정보에 기초하여 결정될 수 있거나, 위 사항 중 두 개 이상의 임의의 조합에 기초할 수 있거나, 및/또는 임의의 하나 이상의 복수의 다른 잠재적인 기준에 기초하여 결정될 수 있다.
몇몇의 실시예들에서, 앞에서 열거된 기준을 이용한 어느 검색 엔진들에게 질의할지에 대한 결정은 클라이언트 디바이스상에서 실행되는 애플리케이션 프로그램에 의해 행해질 수 있다. 다른 실시예들에서, 앞에서 열거된 기준을 이용한 어느 검색 엔진들에게 질의할지에 대한 결정은 애플리케이션 프로그램을 실행시키는 클라이언트 디바이스 외부의 컴퓨터에 의해 행해질 수 있고, 이 컴퓨터는 질의될 검색 엔진들을 식별하는 정보를 애플리케이션 프로그램에 제공할 수 있다. 이러한 실시예들에서, 애플리케이션 프로그램은 외부 컴퓨터에 의해 제공된 정보로부터 어느 검색 엔진들에게 질의할지를 결정한다.
예를 들어, 도 6에서의 예시적인 환경에서, 어느 검색 엔진(들)에게 질의할지에 대한 결정은 서버(605)에 의해 행해질 수 있고, 이러한 결정에 기초하여, 서버(605)는 어느 검색 엔진(들)에게 질의할지를 클라이언트 디바이스(603) 상에서 실행중인 애플리케이션 프로그램에게 지시할 수 있다. 몇몇의 실시예들에서, 서버(605)는 질의될 검색 엔진들에 대한 URL(Universal Resource Locator)을 애플리케이션 프로그램에 제공함으로써 어느 검색 엔진(들)에게 질의할지에 대해 애플리케이션 프로그램에게 지시할 수 있고, 질의될 검색 엔진 각각에 대한 URL은 해당 검색 엔진을 위해 적절하게 포맷팅된 검색 문자열을 포함한다. 예를 들어, 도 8에서 도시된 바와 같이, 클라이언트 디바이스(803) 상에서 실행중인 애플리케이션 프로그램은 사용자(801)로부터 텍스트 포맷, 오디오 포맷, 또는 몇몇의 다른 포맷으로 존재할 수 있는 검색 질의를 수신할 수 있다. 클라이언트 디바이스(803)는 사용자가 제공한 검색 질의를 서버(805)에 전달할 수 있고, 서버(805)는 어느 검색 엔진들에게 질의할지를 결정하고, 결정된 검색 엔진들에 대한 URL들을 적절한 검색 문자열들과 함께 생성하며, URL들을 클라이언트 디바이스(803) 상의 애플리케이션 프로그램에 반송할 수 있다. 사용자가 제공한 질의가 오디오 데이터로서 제공된 음성 질의인 경우, 서버(805)는, 몇몇의 실시예들에서, 오디오 데이터에 대한 자동화된 스피치 인식을 수행하여 인식 결과물을 생성하고 인식 결과물에 기초하여 어느 검색 엔진들에게 질의할지를 결정할 수 있다. 다른 실시예들에서, 자동화된 스피치 인식은 클라이언트 디바이스(803)상에서 수행될 수 있고, 오디오 데이터보다는 인식 결과물이 클라이언트 디바이스(803)로부터 서버(805)로 보내질 수 있다.
도 9는 검색 질의 “Miles Davis”에 대한 세 개의 상이한 검색 엔진들을 위해 생성될 수 있는 URL들의 예시를 도시한다. 어느 검색 엔진들에게 질의할지에 대한 결정이 전적으로 클라이언트 디바이스상에서 행해지는 실시예들에서, 클라이언트 디바이스는 상이한 검색 엔진들에 대한 URL들을 생성할 수 있다. 어느 검색 엔진들에게 질의할지에 대한 결정이 서버상에서 행해지는 몇몇의 실시예들에서, 서버는 어느 검색 엔진들에게 질의할지를 클라이언트 디바이스에게 지시할 수 있고 클라이언트 디바이스는 이러한 검색 엔진들에 대한 URL들을 생성할 수 있다.
몇몇의 검색 엔진들은 단순한 URL로는 질의될 수 없다. 예를 들어, 몇몇의 검색 엔진들의 경우, 클라이언트는 제일먼저 검색 엔진과의 접속 또는 세션을 구축하고, 그런 후 질의를 검색 엔진에 보낸다. 만약 이러한 검색 엔진이 질의될 검색 엔진으로서 식별된 경우, 사용자가 제공한 질의의 콘텐츠에 기초된 질의가 해당 검색 엔진에 적합한 포맷으로 생성될 수 있다. URL과 같이, 이러한 검색 엔진에 대한 질의가 클라이언트 디바이스상의 애플리케이션 프로그램 및/또는 클라이언트 디바이스 외부에 있는 컴퓨터(예컨대, 서버(605))에 의해 생성될 수 있다.
논의된 바와 같이, 몇몇의 실시예들에서, 어느 검색 엔진들을 질의할지에 대한 결정은, 적어도 부분적으로, 사용자 자신이 어느 검색 엔진들에게 질의하기를 희망하는지를 식별하는 사용자로부터의 직접적 입력에 기초하여 행해질 수 있다. 예를 들어, 사용자는 애플리케이션 프로그램에 의해 제공된 리스트로부터 사용자 자신이 질의하기를 희망하는 검색 엔진들을 선택할 수 있거나, 사용자는 질의에서 검색 엔진을 식별할 수 있거나(예컨대, "조지 워싱턴에 대한 위키피디아 페이지를 제공해달라" 또는 "존 듀의 Bar and Grill에 대한 옐프(Yelp) 리뷰를 제공해달라" 등), 또는 몇몇의 다른 방식으로 이러한 입력을 제공할 수 있다.
몇몇의 실시예들에서, 이러한 입력은 사용자가 검색 질의를 애플리케이션 프로그램에 제공할 때 마다 제공될 수 있다. 이러한 입력이 사용자에 의해 단한번 제공될 수 있는 다른 실시예들에서, 애플리케이션 프로그램은 사용자가 표시한 검색 엔진들을 식별하는 정보를 저장할 수 있고, 사용자가 제공한 검색 질의가 수신될 때 마다, 애플리케이션 프로그램은 이 저장된 정보를 이용하여 어느 검색 엔진들에게 질의할지를 결정할 수 있다.
몇몇의 실시예들에서, 애플리케이션 프로그램이 이 정보를 저장하는 것 대신에, 애플리케이션 프로그램은 이 정보를 외부 컴퓨터(예컨대, 도 6에서의 서버(605))에 제공할 수 있고 이 정보는 외부 컴퓨터상에서 저장될 수 있다. 따라서, 사용자가 애플리케이션 프로그램에 대한 검색 질의를 입력할 때, 서버(605)는 이러한 정보를 이용하여 어느 검색 엔진들에게 질의할지를 결정할 수 있고, 이러한 검색 엔진들에게 질의할 것을 (예컨대 URL들을 제공함으로써 또는 다른 몇몇의 방법으로) 애플리케이션 프로그램에게 지시할 수 있다.
상술한 바와 같이, 질의될 하나 이상의 검색 엔진들은 사용자가 제공한 검색 질의의 콘텐츠에 기초하여 결정될 수 있다. 몇몇의 실시예들에서, 사용자가 제공한 검색 질의가 콘텐츠를 요청하는 검색 엔진의 이름을 사용자가 제공한 검색 질의가 포함한 경우, 해당 검색 엔진이 질의될 검색 엔진으로서 선택될 수 있다. 예를 들어, 사용자는 "Miles Davis에 관한 위키피디아 페이지를 나에게 제공해달라"라는 검색 질의를 제공할 수 있다. 따라서, wikipedia.com을 위한 검색 엔진이 질의될 검색 엔진으로서 선택될 수 있다.
몇몇의 실시예들에서, 질의될 하나 이상의 검색 엔진들은 사용자가 요청하는 정보의 유형에 기초하여 결정될 수 있다. 예를 들어, 사용자가 신발에 관한 정보를 요청하는 검색 질의를 제공하는 경우, 온라인 신발 소매업자의 웹 싸이트를 위한 검색 엔진이 질의될 검색 엔진으로서 선택될 수 있다. 또다른 예로서, 사용자가 "뉴욕시의 현재 날씨는 어떠한가?" 와 같은 검색 질의를 제공하는 경우, 날씨 웹 싸이트의 검색 엔진이 질의될 검색 엔진으로서 선택될 수 있다.
또한 상술한 바와 같이, 몇몇의 실시예들에서, 질의될 하나 이상의 검색 엔진들은 검색 질의를 발행했던 사용자의 브라우징 이력 정보 또는 액세스 패턴들 및/또는 하나 이상의 다른 상이한 사용자들의 브라우징 이력 정보 또는 액세스 패턴들에 기초하여 결정될 수 있다. 예를 들어, 검색 엔진 A로부터의 검색 결과물들에서 반송되었던 링크들을 사용자가 매우 빈번히 선택하는 반면에 검색 엔진 B로부터의 검색 결과물들에서 반송되었던 링크들을 사용자가 매우 드물게 선택한다는 것을 브라우징 이력 정보가 표시하는 경우, 검색 엔진 A가 질의될 검색 엔진으로서 선택될 수 있는 반면에, 검색 엔진 B는 선택되지 않을 수 있다.
마찬가지로, 몇몇의 실시예들에서, 특정 검색 엔진으로부터의 검색 결과물들에서 반송되었던 링크들을 다른 사용자들이 자주 선택한다는 것을 다른 사용자들의 액세스 이력 패턴들이 표시하는 경우, 해당 검색 엔진이 질의될 검색 엔진으로서 선택될 수 있다. 예를 들어, 사용자들이 검색 엔진 A로부터 날씨에 관한 링크들을 자주 선택하고 검색 엔진 B로부터는 날씨에 관한 링크들을 자주 선택하지 않는다는 것을 다른 사용자들의 액세스 이력 패턴들이 표시하는 경우, 검색 엔진 A가 질의될 검색 엔진으로서 선택될 수 있다.
Ⅲ. 선택된 검색 엔진들에 대한 질의 발행
상술한 바와 같이, 프로세스(200)의 동작(205)에서, 클라이언트 디바이스상에서 실행중인 애플리케이션 프로그램은 동작(203)에서 식별된 검색 엔진들에 대해 검색 질의들을 발행할 수 있다. 위에서 설명한 바와 같이, 애플리케이션 프로그램 또는 클라이언트 디바이스 외부에 있는 컴퓨터(또는 서버)는 각각의 검색 엔진들에 대응하는 URL들 또는 검색 질의들의 다른 유형들을 생성할 수 있고, 각각의 URL 또는 질의는 사용자로부터 수신된 검색 질의(예컨대, 프로세스(200)의 동작(201)에서 수신된 검색 질의)에 기초된 검색 문자열을 포함하며, 이것은 대응하는 검색 엔진에 대해 적절하게 포맷팅된다.
동작(205)에서, 애플리케이션 프로그램은 (예컨대, URL들에 액세싱함으로써) 선택된 검색 엔진들 각각이 각자 대응하는 URL에서 포함된 검색 문자열에 대한 검색을 수행하게 하는 검색 질의들을 발행할 수 있다.
도 2의 프로세스(200)에서, 검색 질의들은 클라이언트 디바이스상에서 실행중인 애플리케이션 프로그램에 의해 발행되며, 이로써 검색 결과물들은 검색 엔진들로부터 클라이언트 디바이스상의 애플리케이션 프로그램으로 반송된다. 이것은 질의된 검색 엔진들이 동일한 서버 또는 IP 어드레스로부터 방대한 양의 질의들을 수신하지 않는다는 장점을 제공한다. 위에서 설명한 바와 같이, 많은 수의 클라이언트들을 대신하여 서버가 검색 엔진에 대해 질의들을 발행중이였던 경우, 질의되는 검색 엔진들은 매우 많은 수의 질의들을 단일 소스로부터 수신할 수 있고, 이러한 행위를 검색 엔진에 대해 방대한 수의 검색 질의들을 발행하는 단일 사용자로서 인식할 수 있다. 많은 검색 엔진 오퍼레이터들은 이러한 행위가 검색 엔진 서비스의 악용 및/또는 잠재적인 서비스 부인 공격인 것으로 간주할 것이며 이러한 방대한 수의 질의들을 발행시키는 소스로부터 각자의 검색 엔진들에 대한 검색 질의들을 차단시키는 조치를 취할 것이다. 클라이언트 디바이스로부터 검색 질의들을 발행함으로써, 검색 엔진들은 검색 질의들을 발행시켰던 클라이언트 디바이스로부터 검색 질의들이 발행된 것으로서 인식할 수 있고, 이러한 질의들의 발행을 정상적인 사용자 행위로서 취급할 수 있다.
하지만, URL들 또는 질의들이 클라이언트 디바이스(예컨대, 도 6에서의 서버(605)) 외부에 있는 컴퓨터에 의해 생성되는 실시예들에서, 해당 컴퓨터는 질의들을 발행하고, 대응하는 검색 엔진들로부터 검색 결과물들을 수신하며, 이러한 검색 결과물들을 클라이언트 디바이스상의 애플리케이션 프로그램에 반송할 수 있다.
몇몇의 실시예들에서, 동작(203)에서 선택된 검색 엔진들 각각에 대한 질의들은 동작(201)에서 사용자로부터 검색 질의를 수신한 것에 응답하여 자동적으로 발행될 수 있다. 다른 실시예들에서, 동작(203)에서 선택된 검색 엔진들 모두 또는 일부에 대한 질의들은 사용자가 이러한 검색 엔진들로부터의 검색 결과물들을 살펴볼 것을 요청하는 입력을 제공할 때 까지 이러한 검색 엔진들에 대해 발행되지 않을 수 있다. 예를 들어, 몇몇의 검색 엔진들로부터의 검색 결과물들은 많은 양의 콘텐츠를 포함할 수 있다. 일례로서, 비디오 클립들을 호스팅하는 웹 싸이트를 위한 검색 엔진으로부터의 검색 결과물들은 결과물들의 리스트에서 포함된 각각의 비디오의 썸네일 이미지를 포함할 수 있다. 결과적으로, 검색 엔진으로부터의 검색 결과물들을 클라이언트 디바이스 또는 외부 컴퓨터에 전송시키는 것은 비교적 긴 시간이 걸릴 수 있다. 검색 결과물들을 전송시키는데 걸리는 시간은 사용자가 검색 엔진으로부터의 검색 결과물들을 전혀 살펴보지 않는다면 잘 소모되지 않는 시간일 수 있다. 따라서, 몇몇의 실시예들에서, 많은 수의 이미지들, 비디오 데이터, 오디오 데이터와 같은, 대역폭 집약적 콘텐츠 및/또는 다른 대역폭 집약적 콘텐츠를 포함한 결과물들을 반송하는 검색 엔진들에 대한 검색 질의들은 사용자가 제공한 검색 질의를 수신한 것에 응답하여 자동적으로 발행되지 않을 수 있으며, 반면에 대역폭 집약적 콘텐츠를 포함하지 않는 결과물들을 반송하는 검색 엔진들에 대한 검색 질의들은 자동적으로 발행될 수 있다.
검색 결과물들의 집합의 콘텐츠의 크기(또는 콘텐츠의 예상된 크기)는 특정 검색 엔진에 대해 검색 질의를 자동적으로 발행할지 여부 또는 해당 검색 엔진에 대해 검색 질의를 발행하기 전에 몇몇의 사용자 표시를 기다릴지 여부를 결정하기 위해 이용될 수 있는 하나의 기준례이라는 것을 이해해야 한다. 임의의 다양한 다른 기준 또는 기준들의 조합들이 이용될 수 있다.
Ⅳ. 검색 엔진들로부터의 검색 결과물들의 수신
상술한 바와 같이, 프로세스(200)의 동작(207)에서, 클라이언트 디바이스상에서 실행중인 애플리케이션 프로그램은 동작(205)에서 질의된 검색 엔진들에 의해 생성된 검색 엔진 결과물들을 수신할 수 있다. 검색 엔진 결과물들은 임의의 다양한 잠재적인 방법들로 수신될 수 있다. 클라이언트 디바이스가 이러한 검색 엔진들에 대해 검색 질의들을 발행했던 실시예들에서, 각각의 검색 엔진은 자신의 결과물들을 클라이언트 디바이스에 직접 제공할 수 있다. 외부 컴퓨터(예컨대, 도 6에서의 서버(605))가 검색 엔진들에 대해 검색 질의들을 발행했던 실시예들에서, 각각의 검색 엔진은 자신의 결과물들을 외부 컴퓨터에 제공할 수 있고, 외부 컴퓨터는 이러한 결과물들을 클라이언트 디바이스에 제공할 수 있다.
결과물들은 임의의 다양한 포맷들로 수신될 수 있다. 몇몇의 검색 엔진들은 콘텐츠에 대한 하이퍼링크들의 리스트를 포함하는 하이퍼텍스트 마크업 언어(hypertext markup language; HTML) 웹 페이지 및/또는 검색 질의와 관련하여 식별된 웹 페이지들로서 결과물들을 제공한다. 다른 검색 엔진들은 결과물들을 상이한 포맷들로 제공할 수 있다. 애플리케이션 프로그램은 결과물들을 임의의 다양한 포맷들로 수신할 수 있고 수신된 검색 결과물들은 모두가 동일한 포맷으로 존재할 필요가 있는 것은 아니라는 점을 이해해야 한다.
Ⅴ. 검색 결과물들의 디스플레이
프로세스(200)의 동작(209)에서, 애플리케이션 프로그램은 동작(207)에서 수신된 검색 결과물들을 클라이언트 디바이스 내에 통합되어 있거나 또는 이와 결합된 디스플레이 디바이스상에서 디스플레이시킬 수 있다. 결과물들은 임의의 다양한 포맷들로 디스플레이될 수 있고 임의의 다양한 잠재적인 방식들로 제공될 수 있다.
예를 들어, 몇몇의 실시예들에서, HTML 웹 페이지로서 검색 결과물들을 제공하는 검색 엔진들로부터의 검색 결과물들은 HTML 코드를 웹 페이지 내에 랜더링시킴으로써 디스플레이될 수 있다. 이것은 검색 엔진으로부터 수신한 HTML 코드를 랜더링하지 않으며 이 대신에 HTML 코드로부터 링크들을 추출하고 새로운 HTML 코드를 생성하여 추출된 링크들을 디스플레이하는, 위에서 논의한 Dogpile™과 같은 메타검색 엔진들로부터의 디스플레이된 결과물들과는 상이하다.
HTML 포맷으로 수신되지 않은 검색 결과물들의 경우, 수신된 검색 결과물들을 디스플레이하도록 HTML 코드는 자동적으로 생성될 수 있고, 이러한 검색 결과물들은 자동적으로 생성된 HTML 코드를 랜더링함으로써 디스플레이될 수 있다.
몇몇의 실시예들에서, 각각의 검색 엔진으로부터의 검색 결과물들은 다른 검색 엔진들로부터의 검색 결과물들로부터 시각적으로 분리된 상태로 디스플레이될 수 있으며, 이에 따라 검색 결과물들을 살펴보는 사용자에 대해 어느 검색 엔진이 각각의 검색 결과물들의 집합을 제공했는지가 명료해진다. 또한, 이러한 몇몇의 실시예들에서, 각각의 검색 엔진으로부터 반송된 검색 결과물들의 리스트의 순서는 각각의 검색 엔진에 대해 디스플레이된 검색 결과물들에서 유지될 수 있으며, 이로써 사용자는 얼마나 관련성을 갖고 각각의 검색 엔진이 각각의 검색 결과물을 결정했는지를 리스트에서 살펴볼 수 있게 된다.
각각의 검색 엔진들로부터의 검색 결과물들은 임의의 다양한 잠재적인 방법들로 서로 시각적으로 분리될 수 있다. 예를 들어, 몇몇의 실시예들에서, 다수의 검색 엔진들로부터의 검색 결과물들은 열에 의해, 라인들에 의해 분리되거나 또는 몇몇의 다른 방식으로 디스플레이상에서 동시적으로 디스플레이될 수 있다. 몇몇의 실시예들에서, 검색 엔진들의 검색 결과물들 중 단하나만이 임의의 주어진 시간에서 디스플레이상에서 디스플레이될 수 있고, 사용자는 아이콘, 버튼, 또는 다른 사용자 인터페이스 엘리먼트를 선택함으로써 검색 엔진들의 검색 결과물들 중 어느 것을 디스플레이할지를 제어할 수 있다.
몇몇의 실시예들에서, 복수의 슬롯들을 갖는 캐러셀(carousel)이 디스플레이 디바이스상에서 디스플레이될 수 있으며, 각각의 슬롯은 검색 엔진들 중 하나에 대응하며, 이 검색 엔진들로부터 검색 결과물들은 수신된다. 캐러셀의 슬롯들 중 하나의 슬롯의 사용자 선택은 슬롯들 중의 선택된 슬롯에 대응하는 검색 엔진으로부터의 검색 결과물들이 디스플레이 상에서 디스플레이되도록 한다. 도 10은 이러한 캐러셀을 활용하는 디스플레이(1000)의 예시를 도시한다. 도 10은 캘리포니아 쿠퍼티노에 소재하는 애플 컴퓨터사로부터 입수가능한 iPhone™을 위한, 메사추세츠의 벌링톤에 소재하는 뉘앙스 커뮤니케이션즈, 인코포레이티드로부터 입수가능한 Dragon Search™ 애플리케이션으로부터의 검색 결과물의 스크린샷이다. 도 10의 스크린샷은 다수의 검색 엔진들로부터의 검색 결과물들을 디스플레이하기 위해 이용될 수 있는 다양한 가능성들의 일례이다.
도 10에서, 디스플레이(1000)는 캐러셀(1001)이 디스플레이되는 제1 영역을 포함한다. 캐러셀(1001)은 복수의 슬롯들(1003a, 1003b, 1003c, 1003d, 1003e)을 포함하며, 각각의 슬롯들은 검색 엔진에 대응하며, 이 검색 엔진으로부터 검색 결과물들은 동작(207)에서 수신되었다. 상술한 바와 같이, 슬롯들(1003)에 대응하는 검색 엔진들은 범용 검색 엔진들 및/또는 싸이트 특정 검색 엔진들을 포함할 수 있으며, 이에 따라 하나의 사용자 제공 질의에 대한 응답으로 제공된 검색 결과물들은 다수의 상이한 검색 엔진들(이들 중 몇몇은 범용 검색 엔진들일 수 있고 이들 중 몇명은 싸이트 특정 검색 엔진들일 수 있다)로부터 나올 수 있다.
몇몇의 실시예들에서, 각각의 슬롯에 대응하는 검색 엔진은 슬롯에 대응하는 검색 엔진을 표시하는 심볼, 아이콘, 텍스트, 이미지 또는 다른 정보를 각각의 슬롯에서 디스플레이함으로써 식별될 수 있다. 몇몇의 실시예들에서, 클라이언트 디바이스에서 수신된 사용자가 제공한 질의에 응답하여 질의된 검색 엔진들은 동적으로 결정될 수 있기 때문에, 캐러셀에서 슬롯들에 할당된 검색 엔진들도 또한 동적으로 결정될 수 있다. 즉, 예컨대, 질의될 검색 엔진으로서 프로세스(200)의 동작(203)에서 선택된 각각의 검색 엔진에 대해 슬롯이 캐러셀에서 할당될 수 있다. 이에 따라, 사용자가 (직접적으로 또는 간접적으로) 어느 검색 엔진들에게 질의할지를 지정하는 실시예들에서, 사용자는 어느 검색 엔진들을 캐러셀 내의 슬롯들에 할당시켜야 할지를 구성할 수 있다는 것을 이해해야 한다. 또한, 몇몇의 실시예들에서, 특정 검색 엔진들에 대한 캐러셀 슬롯들의 할당은 검색 엔진들에 의해 반송된 결과물들에 기초하여 행해질 수 있다. 예를 들어, 질의될 검색 엔진으로서 프로세스(200)의 동작(203)에서 선택된 검색 엔진들 중 하나가 어떠한 검색 결과물들도 반송하지 않거나 또는 질의의 결과물로서 어떠한 검색 결과물들도 발견되지 않았다라는 표시를 반송한 경우, 캐러셀 내의 슬롯은 해당 검색 엔진에 대해 할당되지 않을 수 있고, 해당 검색 엔진으로부터 반송된 페이지는 사용자에게 디스플레이되지 않을 수 있다.
디스플레이(1000)는 또한 검색 결과물들이 디스플레이되는 영역(1005)을 포함할 수 있다. 캐러셀(1001) 내의 슬롯들(1003) 중 하나의 슬롯의 사용자 선택은 선택된 슬롯에 대응하는 검색 엔진으로부터 수신된 결과물들이 영역(1005)에서 디스플레이되도록 한다. 슬롯(1003)이 선택될 때 영역(1005)에서 디스플레이되는 결과물들은 사용자로부터 수신된 질의에 의존하기 때문에, 영역(1005)에서 디스플레이되는 콘텐츠는 각각의 상이한 사용자가 발행한 질의에 대해 상이할 수 있다. 즉, 예컨대, 사용자가 캐러셀(1001) 내에서 슬롯(1003b)을 선택한 경우, 영역(1005)에서 디스플레이되는 콘텐츠는 "George Washington"이라는 질의의 경우와 "Miles Davis"라는 질의의 경우에서 상이할 수 있다. 따라서, 슬롯이 선택될 때마다 동일한 콘텐츠를 디스플레이하는 것 대신에, 사용자에 의해 발행된 상이한 검색 질의들에 대해 상이한 콘텐츠가 디스플레이될 수 있다. 이러한 점에서, 캐러셀 슬롯의 사용자 선택에 응답하여 디스플레이되는 콘텐츠는 "동적"인 것으로 간주될 수 있다.
디스플레이(1000)는 또한 캐러셀(1001) 내 어느 슬롯(1003)이 현재 선택되었는지를 표시하는 표시자(1007)(예컨대, 화살표 또는 어떠한 다른 유형의 표시자)를 포함할 수 있다. 이 표시자는 어느 검색 엔진의 검색 결과물들이 영역(1005)에서 디스플레이되고 있는지를 사용자에게 식별시킨다.
디스플레이(1000)는 또한 질의 필드(1009)를 포함할 수 있다. 질의 필드(1009)에서 디스플레이된 검색 질의는 검색 결과물들이 수신되도록 해주었던 검색 엔진들 각각에 대해 발행되었던 검색 질의의 기초를 사용자에게 표시해준다. 위의 논의로부터 이해되는 바와 같이, 몇몇의 실시예들에서, 사용자가 제공한 검색 질의에 모두 기초된 상이한 검색 질의들이 상이한 검색 엔진들에 대해 발행될 수 있다. 이러한 실시예들에서, 질의 필드(1009)는 해당 질의에 응답하여 발행된 상이한 검색 질의들 각각에 대한 기초로서 역할을 했던 사용자 제공 질의를 디스플레이할 수 있다.
사용자는 검색 질의를 질의 필드(1009)에 임의의 다양한 방식들로 입력할 수 있다. 몇몇의 실시예들에서, 사용자는 (예컨대, 물리적 또는 터치 스크린 키보드를 통해) 텍스트 입력을 필드(1009)에 제공할 수 있다. 몇몇의 실시예들에서, 사용자는 음성 입력을 필드(1009)에 제공할 수 있다. 도 10의 예시에서, 사용자가 필드(1009)에 음성 입력을 제공하기를 원할 때, 사용자는 버튼(1011)을 선택하여 자신의 검색 질의를 클라이언트 디바이스 상의 마이크로폰을 통해 말할 수 있다.
몇몇의 실시예들에서, 검색 결과물들이 프로세스(200)의 동작(205)에서 질의된 검색 엔진들로부터 수신될 때, 하나의 캐러셀 슬롯이 디폴트에 의해 선택될 수 있고, 이로써 하나의 검색 엔진의 결과물들은 영역(1005)에서 자동적으로 디스플레이된다. 디폴트 캐러셀 슬롯은 임의의 다양한 방법들로 선택될 수 있다. 예를 들어, 디폴트 캐러셀 슬롯은 어느 검색 엔진의 결과물들을 사용자가 가장 자주 살펴봤는지에 기초하여, 또는 사용자의 질의의 콘텐츠에 기초하여, 또는 어느 검색 엔진이 가장 일반적인 결과물들을 제공하였는지에 기초하여, 및/또는 임의의 다른 적절한 기준 또는 기준들에 기초하여 선택될 수 있다.
또한, 질의에 응답하여 특정 검색 엔진으로부터 반송된 결과물들 모두가 한꺼번에 영역(1005)에 들어맞는 것은 아닐 수 있다. 따라서, 몇몇의 실시예들에서, 영역(1005)에서 검색 결과물들의 어느 일부분이 디스플레이될지를 조정하기 위해 검색 결과물들의 리스트를 스크롤 업 및 다운하고 및/또는 결과물들이 디스플레이되는 줌 레벨을 조정할 능력이 사용자에게 제공될 수 있다.
또한, 캐러셀 슬롯들에서의 검색 엔진들의 순서는 임의의 다양한 방법들로 선택될 수 있다. 몇몇의 실시예들에서, 검색 엔진들은 사용자에 의한 사용 빈도수에 기초하여, 사용자의 질의의 콘텐츠에 기초하여, 및/또는 임의의 다른 적절한 기준 또는 기준들에 기초하여 캐러셀 내에서 순서화될 수 있다.
도 10에서 도시된 바와 같이, 디스플레이의 크기로 인해, 캐러셀(1001)의 슬롯들 모두가 한꺼번에 디스플레이상에서 디스플레이될 수 있는 것은 아닐 수 있다. 예를 들어, 도 10에서, 슬롯들(1003a, 1003e)은 단지 부분적으로만 디스플레이된다. 또한, 캐러셀(1001)은 도 10에서 전혀 도시되지 않은 추가적인 슬롯들을 포함할 수 있다. 몇몇의 실시예들에서, 사용자는 캐러셀을 디스플레이의 좌측 및/또는 우측으로 이동시킴으로써 캐러셀의 어느 슬롯들이 디스플레이되도록 할지를 조정할 수 있다. 이것은 임의의 다양한 방법들로 달성될 수 있다. 예를 들어, 사용자는 마우스와 같은 포인터 디바이스를 이용하여 한방향으로 캐러셀을 드래깅할 수 있다. 디스플레이(1000)가 터치 스크린상에서 디스플레이되는 실시예들에서, 사용자는 자신의 손가락을 이용하여 한방향으로 캐러셀을 드래깅할 수 있다.
몇몇의 실시예들에서, 캐러셀(1001)은 디스플레이(1000)를 랩 라운드(wrap-around)할 수 있다. 따라서, 예를 들어, 사용자가 캐러셀(1001)을 디스플레이(1000)의 좌측으로 연속적으로 드래깅하는 경우, 좌측으로 이동하는 캐러셀(1001)의 슬롯들은 디스플레이의 좌측을 이탈하여 종국에는 우측상에서 디스플레이에 재진입할 것이다. 이러한 점에서, 특정 방향으로 캐러셀(1001)을 드래깅하는 것은 해당 방향으로 캐러셀을 회전시키는 것으로서 여겨질 수 있다.
Ⅵ. 사용자 조작 모니터링
상술한 바와 같이, 하나 이상의 검색 엔진들로부터의 검색 결과물들이 사용자에게 디스플레이될 때, 사용자는 검색 결과물들의 리스트들 모두 또는 그 일부를 살펴볼 수 있고, 결과물들의 리스트들에서 식별된 웹 페이지들 또는 콘텐츠를 살펴보기 위해 하이퍼링크들에 액세스할 수 있다.
몇몇의 실시예들에서, 애플리케이션 프로그램은 검색 결과물들과 관련하여 취해진 사용자 조작들을 모니터링할 수 있고 모니터링된 사용자 조작들에 관한 정보를 저장할 수 있다. 이와 관련하여 사용자 조작들을 모니터링하는 것과 관련된 본 발명의 양태들은 제한적이지 않으므로, 모니터링된 조작들은 임의의 적절한 형태를 취할 수 있다. 몇몇의 실시예들에서, 모니터링된 사용자 조작들은 예컨대 어느 검색 엔진들의 검색 결과물들을 사용자가 살펴봤는지 및 어떤 웹 페이지들 및/또는 콘텐츠에 사용자가 액세스하였는지를 포함할 수 있다.
모니터링된 사용자 조작들을 기술하는 정보는, 음성 질의들의 자동화 스피치 인식에서 이용된 언어 모델들을 업데이트하고, 후속적인 사용자 질의들에 응답하여 어느 검색 엔진들에게 질의할지를 결정하고, 어떻게 검색 엔진 결과물들이 제공될 것인지를 결정하며(예컨대, 어느 캐러셀 슬롯이 디폴트 슬롯이며 및/또는 어떠한 순서로 검색 엔진들이 캐러셀 슬롯들에서 위치될 것인지를 결정함), 및/또는 검색 엔진들에게 질의하고 및/또는 검색 엔진 결과물들을 디스플레이하는 다양한 다른 양태들을 촉진시키기 위해, 나중에 이용될 수 있다.
검색 엔진에게 질의하는 앞서 언급한 임의의 양태들을 촉진시키기 위해 클라이언트 디바이스 외부에 있는 컴퓨터가 이러한 정보를 이용하는 실시예들에서, 클라이언트 디바이스는 모니터링된 정보를 외부 컴퓨터에게 보낼 수 있다. 외부 컴퓨터는 이러한 정보를 클라이언트 디바이스, 클라이언트 디바이스의 사용자, 및/또는 정보를 보냈던 네트워크 어드레스와 연계시킬 수 있고, 이것을 나중의 이용을 위해 저장할 수 있다.
Ⅶ. 추가적인 구현 상세사항
앞서 논의된 컴퓨팅 디바이스들(예컨대, 클라이언트 디바이스들, 서버들, 외부 컴퓨터들, 및/또는 임의의 다른 앞서 논의된 컴퓨팅 디바이스들)이 임의의 다양한 방법들로 구현될 수 있다. 도 11은 앞서 논의된 임의의 컴퓨팅 디바이스들을 구현하기 위해 이용될 수 있는 예시적인 컴퓨팅 디바이스(1100)의 블록도이다.
컴퓨팅 디바이스(1100)는 하나 이상의 프로세서들(1101) 및 하나 이상의 유형적이고 비일시적인 컴퓨터 판독가능한 저장 매체(예컨대, 메모리(1103))를 포함할 수 있다. 메모리(1103)는 유형적이고 비일시적인 컴퓨터 판독가능한 저장 매체에서 앞서 설명한 임의의 기능을 이행하는 컴퓨터 명령들을 저장시킬 수 있다. 프로세서(들)(1101)은 메모리(1103)에 결합될 수 있고 이러한 컴퓨터 명령들을 실행시켜서 기능이 실현되고 수행되도록 할 수 있다. 컴퓨팅 디바이스(1100)는 또한 컴퓨팅 디바이스가 (예컨대, 네트워크를 통해) 다른 컴퓨터들과 통신할 수 있도록 해주는 네트워크 입력/출력(I/O) 인터페이스(1105)를 포함할 수 있고, 또한 컴퓨터가 사용자로부터 입력을 수신하고 사용자에게 출력을 제공할 수 있도록 해주는 하나 이상의 사용자 I/O 인터페이스들을 포함할 수 있다. 사용자 I/O 인터페이스들은 키보드, 마우스, 마이크로폰, 디스플레이 디바이스(예컨대, 모니터 또는 터치 스크린), 스피커, 카메라와 같은 디바이스들, 및/또는 다양한 유형의 다른 I/O 디바이스들을 포함할 수 있다.
본 발명의 상술한 실시예들은 임의의 수많은 방법들로 구현될 수 있다. 예를 들어, 실시예들은 하드웨어, 소프트웨어 또는 이들의 조합을 이용하여 구현될 수 있다. 소프트웨어로 구현된 경우, 소프트웨어 코드는 단일 컴퓨터로 제공되거나 또는 다수의 컴퓨터들간에 분배되는지에 상관없이, 임의의 적절한 프로세서 또는 프로세서들의 집합체상에서 실행될 수 있다. 상술한 기능들을 수행하는 임의의 컴포넌트 또는 컴포넌트들의 집합체는 상술한 기능들을 제어하는 하나 이상의 제어기들로서 일반적으로 간주될 수 있다는 것을 이해해야 한다. 하나 이상의 제어기들은 전용 하드웨어로, 또는 앞서 언급한 기능들을 수행하기 위해 마이크로코드 또는 소프트웨어를 이용하여 프로그래밍된 범용 하드웨어(예컨대, 하나 이상의 프로세서들)로와 같이, 많은 방법들로 구현될 수 있다.
이와 관련하여, 본 발명의 다양한 실시예들의 하나의 구현은, 하나 이상의 컴퓨터들 또는 다른 프로세서들상에서 실행될 때, 본 발명의 다양한 실시예들의 상술한 기능들을 수행하는 하나 이상의 컴퓨터 프로그램들(즉, 복수의 명령들)로 인코딩된 적어도 하나의 유형적이고 비일시적인 컴퓨터 판독가능한 저장 매체(예컨대, 컴퓨터 메모리, 플로피 디스크, 컴팩트 디스크, 및 광학 디스크, 자기 테이프, 플래쉬 메모리, 필드 프로그램가능한 게이트 어레이들 또는 다른 반도체 디바이스들에서의 회로 구성들 등)를 포함한다는 것을 이해해야 한다. 컴퓨터 판독가능한 저장 매체는 전송가능할 수 있어서 저장 매체상에 저장된 프로그램(들)은 본 명세서에서 논의된 본 발명의 다양한 양태들을 구현하기 위해 임의의 컴퓨터 자원상으로 로딩될 수 있다. 또한, 실행시, 상술한 기능들을 수행하는 컴퓨터 프로그램에 대한 언급은 호스트 컴퓨터상에서 구동되는 애플리케이션 프로그램으로 제한되지 않는다는 것을 이해해야 한다. 이보다는, 컴퓨터 프로그램이라는 용어는 여기서 일반적인 관점에서 본 발명의 상술한 양태들을 구현하기 위해 프로세서를 프로그래밍하기 위해 활용될 수 있는 임의의 유형의 컴퓨터 코드(예컨대, 소프트웨어 또는 마이크로코드)를 일컫는다.
본 발명의 다양한 양태들은 단독으로, 조합형태로, 앞에서 설명된 실시예들에서 구체적으로 논의되지 않은 다양한 배열들로 이용될 수 있고, 이에 따라 도면에서 도시되거나 또는 전술 내용에서 기술된 컴포넌트들의 상세사항 및 배열로 각자의 응용에서 제한되지 않는다. 예를 들어, 하나의 실시예에서 기술된 양태들은 다른 실시예들에서 설명된 양태들과 임의의 방식으로 결합될 수 있다.
또한, 본 발명의 실시예들은 예시가 제공되었던 하나 이상의 방법들로서 구현될 수 있다. 본 방법(들)의 일부로서 수행된 동작들은 임의의 적절한 방법으로 순서화될 수 있다. 따라서, 실시예들은 설명된 것과는 다른 순서로 동작들이 수행되도록 구축될 수 있으며, 예시적인 실시예들에서 순차적인 동작들로서 도시된 경우일지라도 몇몇의 동작들을 동시적으로 수행하는 것을 포함할 수 있다.
청구항 엘리먼트를 수정하기 위해 청구항들에서의 "제1", "제2", 및 "제3" 등과 같은 서수 용어들의 이용은 그 자체로 하나의 청구항 엘리먼트에 대한 또다른 청구항 엘리먼트의 어떠한 우선순위, 서열, 또는 순서나, 또는 방법의 동작들이 수행되는 임시적 순서를 의미하는 것은 아니다. 이러한 용어들은 동일 명칭을 갖는 또다른 엘리먼트로부터 일정한 명칭을 갖는 하나의 청구항 엘리먼트를 구별시키기 위한 라벨들로서 (서수 용어의 이용을 위해) 단순히 이용된다.
여기서 이용된 어법과 용어는 설명을 위한 것일 뿐이며 제한적인 의미로서 간주되어서는 안된다. "포함하다", "구비하다", "갖는다", "함유하다", "수반하다", 및 이들의 변형들의 이용은 뒤에 열거된 항목들과 추가적인 항목들을 망라하는 것을 의미한다.
본 발명의 여러 개의 실시예들을 자세하게 설명하였지만, 다양한 수정들과 개선들이 본 업계의 당업자에게 쉽게 떠오를 것이다. 이러한 수정들과 개선들은 본 발명의 범위와 사상 내에 속한 것으로 한다. 이에 따라, 전술한 설명내용은 단지 예시일 뿐이며, 제한적인 의미로서 의도된 것은 아니다. 본 발명은 오로지 이하의 청구항들과 그 등가물들에 의해 정의된 대로 제한된다.

Claims (192)

  1. 적어도 하나의 하드웨어 컴퓨터 프로세서를 통해 적어도 부분적으로 구현되며, 인터넷을 통한 콘텐츠 검색을 수행하는 방법에 있어서,
    사용자로부터 입력을 수신하는 동작; 및
    상기 입력을 수신한 것에 응답하여, 복수의 검색 엔진들에 대해 적어도 하나의 검색 질의를 발행하는 동작
    을 포함하며,
    상기 복수의 검색 엔진들은 적어도 하나의 범용 검색 엔진과 적어도 하나의 싸이트 특정 검색 엔진을 포함하며,
    상기 적어도 하나의 검색 질의는 적어도 부분적으로 상기 입력의 콘텐츠에 기초한 것인, 인터넷을 통한 콘텐츠 검색 수행 방법.
  2. 제1항에 있어서, 상기 적어도 하나의 검색 질의가 발행되는 상기 복수의 검색 엔진들 중의 적어도 하나의 검색 엔진은 사용자에 의해 지정되는 것인, 인터넷을 통한 콘텐츠 검색 수행 방법.
  3. 제1항에 있어서, 상기 사용자로부터의 입력은 음성 입력인 것인, 인터넷을 통한 콘텐츠 검색 수행 방법.
  4. 제3항에 있어서,
    상기 음성 입력을 음성 인식 서버에 보내는 동작; 및
    상기 음성 입력을 상기 음성 인식 서버에 보내는 것에 응답하여, 상기 적어도 하나의 검색 질의에 대한 기초로서 역할을 하는 정보를 수신하는 동작
    을 더 포함하는, 인터넷을 통한 콘텐츠 검색 수행 방법.
  5. 제1항에 있어서, 상기 사용자로부터 입력을 수신하고, 상기 복수의 검색 엔진들에 대해 적어도 하나의 검색 질의를 발행하는 동작들은 이동 디바이스에 의해 수행되는 것인, 인터넷을 통한 콘텐츠 검색 수행 방법.
  6. 제5항에 있어서, 상기 이동 디바이스는 스마트폰을 포함한 것인, 인터넷을 통한 콘텐츠 검색 수행 방법.
  7. 제5항에 있어서,
    상기 복수의 검색 엔진들에 대해 상기 적어도 하나의 검색 질의를 발행한 것에 응답하여, 상기 복수의 검색 엔진들 중의 적어도 몇몇의 검색 엔진들로부터 검색 결과물들을 수신하는 동작; 및
    상기 검색 결과물들의 적어도 일부분을 상기 이동 디바이스의 디스플레이 디바이스 상에서 디스플레이하는 동작
    을 더 포함하는, 인터넷을 통한 콘텐츠 검색 수행 방법.
  8. 적어도 하나의 하드웨어 컴퓨터 프로세서에 의해 실행될 때 인터넷을 통한 콘텐츠 검색을 수행하는 방법을 수행하는 명령들로 인코딩된 적어도 하나의 컴퓨터로 판독가능한 매체에 있어서, 상기 방법은,
    사용자로부터 입력을 수신하는 동작; 및
    상기 입력을 수신한 것에 응답하여, 복수의 검색 엔진들에 대해 적어도 하나의 검색 질의를 발행하는 동작
    을 포함하며,
    상기 복수의 검색 엔진들은 적어도 하나의 범용 검색 엔진과 적어도 하나의 싸이트 특정 검색 엔진을 포함하며,
    상기 적어도 하나의 검색 질의는 적어도 부분적으로 상기 입력의 콘텐츠에 기초한 것인, 적어도 하나의 컴퓨터로 판독가능한 매체.
  9. 제8항에 있어서, 상기 적어도 하나의 검색 질의가 발행되는 상기 복수의 검색 엔진들 중의 적어도 하나의 검색 엔진은 사용자에 의해 지정되는 것인, 적어도 하나의 컴퓨터로 판독가능한 매체.
  10. 제8항에 있어서, 상기 사용자로부터의 입력은 음성 입력인 것인, 적어도 하나의 컴퓨터로 판독가능한 매체.
  11. 제10항에 있어서, 상기 방법은,
    상기 음성 입력을 음성 인식 서버에 보내는 동작; 및
    상기 음성 입력을 상기 음성 인식 서버에 보내는 것에 응답하여, 상기 적어도 하나의 검색 질의에 대한 기초로서 역할을 하는 정보를 수신하는 동작
    을 더 포함하는, 적어도 하나의 컴퓨터로 판독가능한 매체.
  12. 제8항에 있어서, 상기 사용자로부터 입력을 수신하고, 상기 복수의 검색 엔진들에 대해 적어도 하나의 검색 질의를 발행하는 동작들은 이동 디바이스에 의해 수행되는 것인, 적어도 하나의 컴퓨터로 판독가능한 매체.
  13. 제12항에 있어서, 상기 이동 디바이스는 스마트폰을 포함한 것인, 적어도 하나의 컴퓨터로 판독가능한 매체.
  14. 제12항에 있어서, 상기 방법은,
    상기 복수의 검색 엔진들에 대해 상기 적어도 하나의 검색 질의를 발행한 것에 응답하여, 상기 복수의 검색 엔진들 중의 적어도 몇몇의 검색 엔진들로부터 검색 결과물들을 수신하는 동작; 및
    상기 검색 결과물들의 적어도 일부분을 상기 이동 디바이스의 디스플레이 디바이스 상에서 디스플레이하는 동작
    을 더 포함한 것인, 적어도 하나의 컴퓨터로 판독가능한 매체.
  15. 시스템에 있어서,
    인터넷을 통한 콘텐츠 검색을 수행하기 위한 프로세서로 실행가능한 명령들(processor-executable instructions)을 저장하는 적어도 하나의 유형적 메모리; 및
    상기 적어도 하나의 유형적 메모리에 결합되고, 상기 프로세서로 실행가능한 명령들을 실행하여,
    사용자로부터 입력을 수신하고;
    상기 입력을 수신한 것에 응답하여, 복수의 검색 엔진들에 대해 적어도 하나의 검색 질의를 발행하도록 하기 위한 적어도 하나의 하드웨어 컴퓨터 프로세서
    를 포함하며,
    상기 복수의 검색 엔진들은 적어도 하나의 범용 검색 엔진과 적어도 하나의 싸이트 특정 검색 엔진을 포함하며,
    상기 적어도 하나의 검색 질의는 적어도 부분적으로 상기 입력의 콘텐츠에 기초한 것인, 시스템.
  16. 제15항에 있어서, 상기 적어도 하나의 검색 질의가 발행되는 상기 복수의 검색 엔진들 중의 적어도 하나의 검색 엔진은 사용자에 의해 지정되는 것인, 시스템.
  17. 제15항에 있어서, 상기 사용자로부터의 입력은 음성 입력인 것인, 시스템.
  18. 제17항에 있어서, 상기 적어도 하나의 하드웨어 컴퓨터 프로세서는 상기 프로세서로 실행가능한 명령들을 실행하여,
    상기 음성 입력을 음성 인식 서버에 보내며;
    상기 음성 입력을 상기 음성 인식 서버에 보낸 것에 응답하여, 상기 적어도 하나의 검색 질의에 대한 기초로서 역할을 하는 정보를 수신하도록 하기 위한 것인, 시스템.
  19. 제15항에 있어서, 이동 디바이스를 더 포함하며, 상기 적어도 하나의 유형적 메모리와 상기 적어도 하나의 하드웨어 프로세서는 상기 이동 디바이스에 위치한 것인, 시스템.
  20. 제19항에 있어서, 상기 이동 디바이스는 스마트폰을 포함한 것인, 시스템.
  21. 제19항에 있어서, 상기 적어도 하나의 하드웨어 컴퓨터 프로세서는 상기 프로세서로 실행가능한 명령들을 실행하여,
    상기 복수의 검색 엔진들에 대해 상기 적어도 하나의 검색 질의를 발행한 것에 응답하여, 상기 복수의 검색 엔진들 중의 적어도 몇몇의 검색 엔진들로부터 검색 결과물들을 수신하며;
    상기 검색 결과물들의 적어도 일부분을 상기 이동 디바이스의 디스플레이 디바이스 상에서 디스플레이하도록 하기 위한 것인, 시스템.
  22. 적어도 하나의 하드웨어 컴퓨터 프로세서를 통해 적어도 부분적으로 구현되며, 인터넷을 통한 콘텐츠 검색을 수행하는 방법에 있어서,
    복수의 검색 엔진들에 대해 적어도 하나의 검색 질의를 발행하는 동작;
    상기 복수의 검색 엔진들에 대해 상기 적어도 하나의 검색 질의를 발행한 것에 응답하여, 상기 복수의 검색 엔진들 중의 적어도 몇몇의 검색 엔진들로부터 검색 결과물들을 수신하는 동작; 및
    상기 검색 결과물들을 디스플레이 디바이스의 디스플레이 상에서 디스플레이시키는 동작
    을 포함하며, 상기 디스플레이된 검색 결과물들은 특정 검색 엔진과 각각 연관된 복수의 집합들로 분류되는 것인, 인터넷을 통한 콘텐츠 검색 수행 방법.
  23. 제22항에 있어서, 상기 복수의 검색 엔진들 중 임의의 검색 엔진으로부터 반송된 검색 결과물들은 상기 복수의 집합들 중 단하나의 집합에서 제공되는 것인, 인터넷을 통한 콘텐츠 검색 수행 방법.
  24. 제23항에 있어서, 상기 복수의 검색 결과물들의 집합들 중 단하나의 집합만이 임의의 시간에서 상기 디스플레이 디바이스 상에서 디스플레이되는 것인, 인터넷을 통한 콘텐츠 검색 수행 방법.
  25. 제22항에 있어서,
    상기 디스플레이 디바이스는 이동 디바이스의 디스플레이 디바이스이고,
    상기 적어도 하나의 하드웨어 프로세서는 상기 이동 디바이스의 프로세서이며,
    상기 복수의 검색 엔진들에 대해 적어도 하나의 검색 질의를 발행하고, 상기 검색 결과물들을 수신하며, 상기 검색 결과물들을 디스플레이시키는 동작들은 상기 이동 디바이스에 의해 수행되는 것인, 인터넷을 통한 콘텐츠 검색 수행 방법.
  26. 제25항에 있어서, 상기 이동 디바이스는 스마트폰을 포함한 것인, 인터넷을 통한 콘텐츠 검색 수행 방법.
  27. 적어도 하나의 하드웨어 컴퓨터 프로세서에 의해 실행될 때 인터넷을 통한 콘텐츠 검색을 수행하는 방법을 수행하는 명령들로 인코딩된 적어도 하나의 컴퓨터로 판독가능한 매체에 있어서, 상기 방법은,
    복수의 검색 엔진들에 대해 적어도 하나의 검색 질의를 발행하는 동작;
    상기 복수의 검색 엔진들에 대해 상기 적어도 하나의 검색 질의를 발행한 것에 응답하여, 상기 복수의 검색 엔진들 중의 적어도 몇몇의 검색 엔진들로부터 검색 결과물들을 수신하는 동작; 및
    상기 검색 결과물들을 디스플레이 디바이스의 디스플레이 상에서 디스플레이시키는 동작
    을 포함하며,
    상기 디스플레이된 검색 결과물들은 특정 검색 엔진과 각각 연관된 복수의 집합들로 분류되는 것인, 적어도 하나의 컴퓨터로 판독가능한 매체.
  28. 제27항에 있어서, 상기 복수의 검색 엔진들 중 임의의 검색 엔진으로부터 반송된 검색 결과물들은 상기 복수의 집합들 중 단하나의 집합에서 제공되는 것인, 적어도 하나의 컴퓨터로 판독가능한 매체.
  29. 제28항에 있어서, 상기 복수의 검색 결과물들의 집합들 중 단하나의 집합만이 임의의 시간에서 상기 디스플레이 디바이스 상에서 디스플레이되는 것인, 적어도 하나의 컴퓨터로 판독가능한 매체.
  30. 제27항에 있어서,
    상기 디스플레이 디바이스는 이동 디바이스의 디스플레이 디바이스이고,
    상기 적어도 하나의 하드웨어 프로세서는 상기 이동 디바이스의 프로세서이며,
    상기 복수의 검색 엔진들에 대해 적어도 하나의 검색 질의를 발행하고, 상기 검색 결과물들을 수신하며, 상기 검색 결과물들을 디스플레이시키는 동작들은 상기 이동 디바이스에 의해 수행되는 것인, 적어도 하나의 컴퓨터로 판독가능한 매체.
  31. 제30항에 있어서, 상기 이동 디바이스는 스마트폰을 포함한 것인, 적어도 하나의 컴퓨터로 판독가능한 매체.
  32. 시스템에 있어서,
    인터넷을 통한 콘텐츠 검색을 수행하기 위한 프로세서로 실행가능한 명령들(processor-executable instructions)을 저장하는 적어도 하나의 유형적 메모리; 및
    상기 적어도 하나의 유형적 메모리에 결합되고, 상기 프로세서로 실행가능한 명령들을 실행하여,
    복수의 검색 엔진들에 대해 적어도 하나의 검색 질의를 발행하고;
    복수의 검색 엔진들에 대해 적어도 하나의 검색 질의를 발행한 것에 응답하여, 복수의 검색 엔진들 중의 적어도 몇몇의 검색 엔진들로부터 검색 결과물들을 수신하며;
    검색 결과물들을 디스플레이 디바이스의 디스플레이 상에서 디스플레이시키기 위한 적어도 하나의 하드웨어 컴퓨터 프로세서
    를 포함하며,
    상기 디스플레이된 검색 결과물들은 특정 검색 엔진과 각각 연관된 복수의 집합들로 분류되는 것인, 시스템.
  33. 제32항에 있어서, 상기 복수의 검색 엔진들 중 임의의 검색 엔진으로부터 반송된 검색 결과물들은 상기 복수의 집합들 중 단하나의 집합에서 제공되는 것인, 시스템.
  34. 제33항에 있어서, 상기 복수의 검색 결과물들의 집합들 중 단하나의 집합만이 임의의 시간에서 상기 디스플레이 디바이스 상에서 디스플레이되는 것인, 시스템.
  35. 제32항에 있어서, 이동 디바이스를 더 포함하며, 상기 적어도 하나의 유형적 메모리와 상기 적어도 하나의 하드웨어 프로세서는 상기 이동 디바이스에 위치하며, 상기 디스플레이 디바이스는 이동 디바이스의 디스플레이 디바이스인 것인, 시스템.
  36. 제35항에 있어서, 상기 이동 디바이스는 스마트폰을 포함한 것인, 시스템.
  37. 하드웨어 컴퓨터 프로세서를 통해 적어도 부분적으로 구현되며, 인터넷상에서 콘텐츠 검색을 수행하는 방법에 있어서,
    적어도 하나의 싸이트 특정 검색 엔진을 포함하는 복수의 검색 엔진들에 대해 적어도 하나의 검색 질의를 발행하는 동작;
    복수의 검색 엔진들에 대해 적어도 하나의 검색 질의를 발행한 것에 응답하여, 상기 복수의 검색 엔진들 중의 적어도 몇몇의 검색 엔진들로부터 검색 결과물들을 수신하는 동작으로서, 상기 검색 결과물들은 적어도 하나의 싸이트 특정 검색 엔진으로부터 반송된 적어도 하나의 웹 페이지를 포함하는 것인, 상기 수신 동작; 및
    상기 적어도 하나의 싸이트 특정 검색 엔진으로부터 반송된 적어도 하나의 웹 페이지를 디스플레이 디바이스의 디스플레이 상에서 디스플레이시키는 동작
    을 포함하는, 인터넷상에서의 콘텐츠 검색 수행 방법.
  38. 제37항에 있어서, 상기 적어도 하나의 웹 페이지는 복수의 하이퍼링크들을 포함한 것인, 인터넷상에서의 콘텐츠 검색 수행 방법.
  39. 제37항에 있어서, 상기 적어도 하나의 하드웨어 컴퓨터 프로세서는 이동 디바이스의 프로세서이고,
    상기 디스플레이 디바이스는 상기 이동 디바이스의 디스플레이 디바이스이며,
    상기 복수의 검색 엔진들에 대해 적어도 하나의 검색 질의를 발행하고, 상기 검색 결과물들을 수신하며, 상기 적어도 하나의 웹 페이지를 디스플레이시키는 동작들은 상기 이동 디바이스에 의해 수행되는 것인, 인터넷상에서의 콘텐츠 검색 수행 방법.
  40. 제39항에 있어서, 상기 이동 디바이스는 스마트폰을 포함한 것인, 인터넷상에서의 콘텐츠 검색 수행 방법.
  41. 적어도 하나의 하드웨어 컴퓨터 프로세서에 의해 실행될 때 인터넷을 통한 콘텐츠 검색을 수행하는 방법을 수행하는 명령들로 인코딩된 적어도 하나의 컴퓨터로 판독가능한 매체에 있어서, 상기 방법은,
    적어도 하나의 싸이트 특정 검색 엔진을 포함하는 복수의 검색 엔진들에 대해 적어도 하나의 검색 질의를 발행하는 동작;
    복수의 검색 엔진들에 대해 적어도 하나의 검색 질의를 발행한 것에 응답하여, 상기 복수의 검색 엔진들 중의 적어도 몇몇의 검색 엔진들로부터 검색 결과물들을 수신하는 동작으로서, 상기 검색 결과물들은 적어도 하나의 싸이트 특정 검색 엔진으로부터 반송된 적어도 하나의 웹 페이지를 포함하는 것인, 상기 수신 동작; 및
    상기 적어도 하나의 싸이트 특정 검색 엔진으로부터 반송된 적어도 하나의 웹 페이지를 디스플레이 디바이스의 디스플레이 상에서 디스플레이시키는 동작
    을 포함한 것인, 적어도 하나의 컴퓨터로 판독가능한 매체.
  42. 제41항에 있어서, 상기 적어도 하나의 웹 페이지는 복수의 하이퍼링크들을 포함한 것인, 적어도 하나의 컴퓨터로 판독가능한 매체.
  43. 제41항에 있어서, 상기 적어도 하나의 하드웨어 컴퓨터 프로세서는 이동 디바이스의 프로세서이고,
    상기 디스플레이 디바이스는 상기 이동 디바이스의 디스플레이 디바이스이며,
    상기 복수의 검색 엔진들에 대해 적어도 하나의 검색 질의를 발행하고, 상기 검색 결과물들을 수신하며, 상기 적어도 하나의 웹 페이지를 디스플레이시키는 동작들은 상기 이동 디바이스에 의해 수행되는 것인, 적어도 하나의 컴퓨터로 판독가능한 매체.
  44. 제43항에 있어서, 상기 이동 디바이스는 스마트폰을 포함한 것인, 적어도 하나의 컴퓨터로 판독가능한 매체.
  45. 시스템에 있어서,
    인터넷을 통한 콘텐츠 검색을 수행하기 위한 프로세서로 실행가능한 명령들(processor-executable instructions)을 저장하는 적어도 하나의 유형적 메모리; 및
    상기 적어도 하나의 유형적 메모리에 결합되고, 상기 프로세서로 실행가능한 명령들을 실행하여,
    적어도 하나의 싸이트 특정 검색 엔진을 포함한 복수의 검색 엔진들에 대해 적어도 하나의 검색 질의를 발행하고;
    상기 복수의 검색 엔진들에 대해 적어도 하나의 검색 질의를 발행한 것에 응답하여, 상기 복수의 검색 엔진들 중의 적어도 몇몇의 검색 엔진들로부터, 상기 적어도 하나의 싸이트 특정 검색 엔진으로부터 반송된 적어도 하나의 웹 페이지를 포함하는 검색 결과물들을 수신하며;
    상기 적어도 하나의 싸이트 특정 검색 엔진으로부터 반송된 상기 적어도 하나의 웹 페이지를 디스플레이 디바이스의 디스플레이 상에서 디스플레이시키기 위한 적어도 하나의 하드웨어 컴퓨터 프로세서
    를 포함하는, 시스템.
  46. 제45항에 있어서, 상기 적어도 하나의 웹 페이지는 복수의 하이퍼링크들을 포함한 것인, 시스템.
  47. 제45항에 있어서, 이동 디바이스를 더 포함하며, 상기 적어도 하나의 유형적 메모리와 상기 적어도 하나의 하드웨어 프로세서는 상기 이동 디바이스에 위치하며, 상기 디스플레이 디바이스는 이동 디바이스의 디스플레이 디바이스인 것인, 시스템.
  48. 제47항에 있어서, 상기 이동 디바이스는 스마트폰을 포함한 것인, 시스템.
  49. 적어도 하나의 하드웨어 컴퓨터 프로세서를 통해 적어도 부분적으로 구현되며, 인터넷을 통한 콘텐츠 검색을 수행하는 방법에 있어서,
    제1 검색 질의를 수신하는 동작;
    상기 제1 검색 질의의 콘텐츠에 기초하여 적어도 하나의 제2 검색 질의를 생성하는 동작;
    상기 적어도 하나의 제2 검색 질의가 제공될 복수의 검색 엔진들을 선택하는 동작
    을 포함하며, 상기 복수의 검색 엔진들 중 적어도 하나의 검색 엔진은 상기 제1 검색 질의의 콘텐츠에 적어도 부분적으로 기초하여 선택되는 것인, 인터넷을 통한 콘텐츠 검색 수행 방법.
  50. 제49항에 있어서, 상기 제1 검색 질의는 질의될 적어도 하나의 검색 엔진을 지정하고, 상기 복수의 검색 엔진들을 선택하는 동작은,
    상기 적어도 하나의 제2 검색 질의가 제공될 상기 복수의 검색 엔진들 중 적어도 하나의 검색 엔진으로서 상기 제1 검색 질의에서 지정된 상기 적어도 하나의 검색 엔진을 선택하는 동작을 포함한 것인, 인터넷을 통한 콘텐츠 검색 수행 방법.
  51. 제49항에 있어서, 상기 복수의 검색 엔진들을 선택하는 동작은,
    상기 제1 검색 질의에서 요청된 정보의 유형을 식별하는 동작;
    상기 정보의 유형과 연관된 검색 엔진을 식별하는 동작; 및
    상기 적어도 하나의 제2 검색 질의가 제공될 상기 복수의 검색 엔진들 중 적어도 하나의 검색 엔진으로서 상기 식별된 검색 엔진을 선택하는 동작
    을 포함한 것인, 인터넷을 통한 콘텐츠 검색 수행 방법.
  52. 제51항에 있어서, 상기 정보의 유형과 연관된 상기 검색 엔진을 식별하는 동작은,
    상기 정보의 유형과 연관된 상기 검색 엔진을 식별하기 위해 상기 제1 검색 질의를 개시했던 사용자에 대한 액세스 이력 정보를 이용하는 동작을 더 포함한 것인, 인터넷을 통한 콘텐츠 검색 수행 방법.
  53. 제52항에 있어서, 상기 사용자에 대한 상기 액세스 이력 정보는 식별된 상기 정보의 유형을 요청하는 질의들을 위한 상기 식별된 검색 엔진에 대한 사용자 선호도를 표시한 것인, 인터넷을 통한 콘텐츠 검색 수행 방법.
  54. 제51항에 있어서, 상기 정보의 유형과 연관된 상기 검색 엔진을 식별하는 동작은,
    상기 정보의 유형과 연관된 상기 검색 엔진을 식별하기 위해 상기 제1 검색 질의를 개시했던 사용자와는 상이한 적어도 하나의 사용자에 대한 액세스 이력 정보를 이용하는 동작을 더 포함한 것인, 인터넷을 통한 콘텐츠 검색 수행 방법.
  55. 제49항에 있어서, 상기 제1 검색 질의는 상기 제2 검색 질의와 동일하며, 상기 제1 검색 질의의 콘텐츠에 기초하여 상기 적어도 하나의 제2 검색 질의를 생성하는 동작은,
    상기 제1 검색 질의를 상기 제2 검색 질의로서 이용하는 동작을 포함한 것인, 인터넷을 통한 콘텐츠 검색 수행 방법.
  56. 적어도 하나의 하드웨어 컴퓨터 프로세서에 의해 실행될 때 인터넷을 통한 콘텐츠 검색을 수행하는 방법을 수행하는 명령들로 인코딩된 적어도 하나의 컴퓨터로 판독가능한 매체에 있어서, 상기 방법은,
    제1 검색 질의를 수신하는 동작;
    상기 제1 검색 질의의 콘텐츠에 기초하여 적어도 하나의 제2 검색 질의를 생성하는 동작;
    상기 적어도 하나의 제2 검색 질의가 제공될 복수의 검색 엔진들을 선택하는 동작
    을 포함하며, 상기 복수의 검색 엔진들 중 적어도 하나의 검색 엔진은 상기 제1 검색 질의의 콘텐츠에 적어도 부분적으로 기초하여 선택되는 것인, 적어도 하나의 컴퓨터로 판독가능한 매체.
  57. 제56항에 있어서, 상기 제1 검색 질의는 질의될 적어도 하나의 검색 엔진을 지정하고, 상기 복수의 검색 엔진들을 선택하는 동작은,
    상기 적어도 하나의 제2 검색 질의가 제공될 상기 복수의 검색 엔진들 중 적어도 하나의 검색 엔진으로서 상기 제1 검색 질의에서 지정된 상기 적어도 하나의 검색 엔진을 선택하는 동작을 포함한 것인, 적어도 하나의 컴퓨터로 판독가능한 매체.
  58. 제56항에 있어서, 상기 복수의 검색 엔진들을 선택하는 동작은,
    상기 제1 검색 질의에서 요청된 정보의 유형을 식별하는 동작;
    상기 정보의 유형과 연관된 검색 엔진을 식별하는 동작; 및
    상기 적어도 하나의 제2 검색 질의가 제공될 상기 복수의 검색 엔진들 중 적어도 하나의 검색 엔진으로서 상기 식별된 검색 엔진을 선택하는 동작
    을 포함한 것인, 적어도 하나의 컴퓨터로 판독가능한 매체.
  59. 제58항에 있어서, 상기 정보의 유형과 연관된 상기 검색 엔진을 식별하는 동작은,
    상기 정보의 유형과 연관된 상기 검색 엔진을 식별하기 위해 상기 제1 검색 질의를 개시했던 사용자에 대한 액세스 이력 정보를 이용하는 동작을 더 포함한 것인, 적어도 하나의 컴퓨터로 판독가능한 매체.
  60. 제59항에 있어서, 상기 사용자에 대한 상기 액세스 이력 정보는 식별된 상기 정보의 유형을 요청하는 질의들을 위한 상기 식별된 검색 엔진에 대한 사용자 선호도를 표시한 것인, 적어도 하나의 컴퓨터로 판독가능한 매체.
  61. 제58항에 있어서, 상기 정보의 유형과 연관된 상기 검색 엔진을 식별하는 동작은,
    상기 정보의 유형과 연관된 상기 검색 엔진을 식별하기 위해 상기 제1 검색 질의를 개시했던 사용자와는 상이한 적어도 하나의 사용자에 대한 액세스 이력 정보를 이용하는 동작을 더 포함한 것인, 적어도 하나의 컴퓨터로 판독가능한 매체.
  62. 제56항에 있어서, 상기 제1 검색 질의는 상기 제2 검색 질의와 동일하며, 상기 제1 검색 질의의 콘텐츠에 기초하여 상기 적어도 하나의 제2 검색 질의를 생성하는 동작은,
    상기 제1 검색 질의를 상기 제2 검색 질의로서 이용하는 동작을 포함한 것인, 적어도 하나의 컴퓨터로 판독가능한 매체.
  63. 시스템에 있어서,
    인터넷을 통한 콘텐츠 검색을 수행하기 위한 프로세서로 실행가능한 명령들(processor-executable instructions)을 저장하는 적어도 하나의 유형적 메모리; 및
    상기 적어도 하나의 유형적 메모리에 결합되고, 상기 프로세서로 실행가능한 명령들을 실행하여,
    제1 검색 질의를 수신하고;
    제1 검색 질의의 콘텐츠에 기초하여 적어도 하나의 제2 검색 질의를 생성하며;
    적어도 하나의 제2 검색 질의가 제공될 복수의 검색 엔진들을 선택하도록 하기 위한 적어도 하나의 하드웨어 컴퓨터 프로세서
    를 포함하며, 상기 복수의 검색 엔진들 중 적어도 하나의 검색 엔진은 상기 제1 검색 질의의 콘텐츠에 적어도 부분적으로 기초하여 선택되는 것인, 시스템.
  64. 제63항에 있어서, 상기 제1 검색 질의는 질의될 적어도 하나의 검색 엔진을 지정하고, 상기 적어도 하나의 하드웨어 컴퓨터 프로세서는,
    상기 적어도 하나의 제2 검색 질의가 제공될 상기 복수의 검색 엔진들 중 적어도 하나의 검색 엔진으로서 상기 제1 검색 질의에서 지정된 상기 적어도 하나의 검색 엔진을 선택함으로써, 상기 복수의 검색 엔진들을 선택하는 것인, 시스템.
  65. 제63항에 있어서, 상기 적어도 하나의 하드웨어 컴퓨터 프로세서는,
    상기 제1 검색 질의에서 요청된 정보의 유형을 식별하고;
    상기 정보의 유형과 연관된 검색 엔진을 식별하며;
    상기 적어도 하나의 제2 검색 질의가 제공될 상기 복수의 검색 엔진들 중 적어도 하나의 검색 엔진으로서 상기 식별된 검색 엔진을 선택함으로써, 상기 복수의 검색 엔진들을 선택하는 것인, 시스템.
  66. 제65항에 있어서, 상기 적어도 하나의 하드웨어 컴퓨터 프로세서는,
    상기 정보의 유형과 연관된 상기 검색 엔진을 식별하기 위해 상기 제1 검색 질의를 개시했던 사용자에 대한 액세스 이력 정보를 이용함으로써, 상기 정보의 유형과 연관된 검색 엔진을 식별하는 것인, 시스템.
  67. 제66항에 있어서, 상기 사용자에 대한 상기 액세스 이력 정보는 식별된 상기 정보의 유형을 요청하는 질의들을 위한 상기 식별된 검색 엔진에 대한 사용자 선호도를 표시한 것인, 시스템.
  68. 제65항에 있어서, 상기 적어도 하나의 하드웨어 컴퓨터 프로세서는,
    상기 정보의 유형과 연관된 상기 검색 엔진을 식별하기 위해 상기 제1 검색 질의를 개시했던 사용자와는 상이한 적어도 하나의 사용자에 대한 액세스 이력 정보를 이용함으로써, 상기 정보의 유형과 연관된 검색 엔진을 식별하는 것인, 시스템.
  69. 제63항에 있어서, 상기 제1 검색 질의는 상기 제2 검색 질의와 동일하며, 상기 적어도 하나의 하드웨어 컴퓨터 프로세서는,
    상기 제1 검색 질의를 상기 제2 검색 질의로서 이용함으로써, 상기 제1 검색 질의의 콘텐츠에 기초하여 상기 적어도 하나의 제2 검색 질의를 생성하는 것인, 시스템.
  70. 적어도 하나의 하드웨어 컴퓨터 프로세서를 통해 적어도 부분적으로 구현되며, 인터넷을 통한 콘텐츠 검색을 수행하는 방법에 있어서,
    사용자로부터 제1 검색 질의를 수신하는 동작;
    상기 제1 검색 질의의 콘텐츠에 기초하여 적어도 하나의 제2 검색 질의를 생성하는 동작;
    상기 적어도 하나의 제2 검색 질의가 제공될 복수의 검색 엔진들을 선택하는 동작
    을 포함하며, 상기 복수의 검색 엔진들 중 적어도 하나의 검색 엔진은 상기 사용자에 의한 특정 검색 엔진들의 이용 빈도를 나타내는 이력 정보에 적어도 부분적으로 기초하여 선택되는 것인, 인터넷을 통한 콘텐츠 검색 수행 방법.
  71. 제70항에 있어서, 상기 사용자는 제1 사용자이며, 상기 복수의 검색 엔진들 중 적어도 하나의 검색 엔진은 상기 제1 사용자와는 다른 적어도 하나의 제2 사용자에 의한 특정 검색 엔진들의 이용 빈도를 나타내는 이력 정보에 적어도 부분적으로 기초하여 선택되는 것인, 인터넷을 통한 콘텐츠 검색 수행 방법.
  72. 제70항에 있어서, 상기 복수의 검색 엔진들 중 적어도 하나의 검색 엔진은 상기 제1 검색 질의의 콘텐츠에 적어도 부분적으로 기초하여 선택되는 것인, 인터넷을 통한 콘텐츠 검색 수행 방법.
  73. 제70항에 있어서, 상기 복수의 검색 엔진들은 적어도 하나의 범용 검색 엔진과 적어도 하나의 싸이트 특정 검색 엔진을 포함한 것인, 인터넷을 통한 콘텐츠 검색 수행 방법.
  74. 제70항에 있어서, 상기 제1 검색 질의는 상기 제2 검색 질의와 동일하며, 상기 제1 검색 질의의 콘텐츠에 기초하여 상기 적어도 하나의 제2 검색 질의를 생성하는 동작은,
    상기 제1 검색 질의를 상기 제2 검색 질의로서 이용하는 동작을 포함한 것인, 인터넷을 통한 콘텐츠 검색 수행 방법.
  75. 적어도 하나의 하드웨어 컴퓨터 프로세서에 의해 실행될 때 인터넷을 통한 콘텐츠 검색을 수행하는 방법을 수행하는 명령들로 인코딩된 적어도 하나의 컴퓨터로 판독가능한 매체에 있어서, 상기 방법은,
    사용자로부터 제1 검색 질의를 수신하는 동작;
    상기 제1 검색 질의의 콘텐츠에 기초하여 적어도 하나의 제2 검색 질의를 생성하는 동작;
    상기 적어도 하나의 제2 검색 질의가 제공될 복수의 검색 엔진들을 선택하는 동작
    을 포함하며, 상기 복수의 검색 엔진들 중 적어도 하나의 검색 엔진은 상기 사용자에 의한 특정 검색 엔진들의 이용 빈도를 나타내는 이력 정보에 적어도 부분적으로 기초하여 선택되는 것인, 적어도 하나의 컴퓨터로 판독가능한 매체.
  76. 제75항에 있어서, 상기 사용자는 제1 사용자이며, 상기 복수의 검색 엔진들 중 적어도 하나의 검색 엔진은 상기 제1 사용자와는 다른 적어도 하나의 제2 사용자에 의한 특정 검색 엔진들의 이용 빈도를 나타내는 이력 정보에 적어도 부분적으로 기초하여 선택되는 것인, 적어도 하나의 컴퓨터로 판독가능한 매체.
  77. 제75항에 있어서, 상기 복수의 검색 엔진들 중 적어도 하나의 검색 엔진은 상기 제1 검색 질의의 콘텐츠에 적어도 부분적으로 기초하여 선택되는 것인, 적어도 하나의 컴퓨터로 판독가능한 매체.
  78. 제75항에 있어서, 상기 복수의 검색 엔진들은 적어도 하나의 범용 검색 엔진과 적어도 하나의 싸이트 특정 검색 엔진을 포함한 것인, 적어도 하나의 컴퓨터로 판독가능한 매체.
  79. 제75항에 있어서, 상기 제1 검색 질의는 상기 제2 검색 질의와 동일하며, 상기 제1 검색 질의의 콘텐츠에 기초하여 상기 적어도 하나의 제2 검색 질의를 생성하는 동작은,
    상기 제1 검색 질의를 상기 제2 검색 질의로서 이용하는 동작을 포함한 것인, 적어도 하나의 컴퓨터로 판독가능한 매체.
  80. 시스템에 있어서,
    인터넷을 통한 콘텐츠 검색을 수행하기 위한 프로세서로 실행가능한 명령들(processor-executable instructions)을 저장하는 적어도 하나의 유형적 메모리; 및
    적어도 하나의 유형적 메모리에 결합되고, 상기 프로세서로 실행가능한 명령들을 실행하여,
    사용자로부터 제1 검색 질의를 수신하고;
    상기 제1 검색 질의의 콘텐츠에 기초하여 적어도 하나의 제2 검색 질의를 생성하며;
    상기 적어도 하나의 제2 검색 질의가 제공될 복수의 검색 엔진들을 선택하도록 하기 위한 적어도 하나의 하드웨어 컴퓨터 프로세서
    를 포함하며, 상기 복수의 검색 엔진들 중 적어도 하나의 검색 엔진은 상기 사용자에 의한 특정 검색 엔진들의 이용 빈도를 나타내는 이력 정보에 적어도 부분적으로 기초하여 선택되는 것인, 시스템.
  81. 제80항에 있어서, 상기 사용자는 제1 사용자이며, 상기 적어도 하나의 하드웨어 컴퓨터 프로세서는 상기 제1 사용자와는 다른 적어도 하나의 제2 사용자에 의한 특정 검색 엔진들의 이용 빈도를 나타내는 이력 정보에 적어도 부분적으로 기초하여 상기 복수의 검색 엔진들 중의 적어도 하나의 검색 엔진을 선택하는 것인, 시스템.
  82. 제80항에 있어서, 상기 적어도 하나의 하드웨어 컴퓨터 프로세서는 상기 제1 검색 질의의 콘텐츠에 적어도 부분적으로 기초하여 상기 복수의 검색 엔진들 중의 적어도 하나의 검색 엔진을 선택하는 것인, 시스템.
  83. 제80항에 있어서, 상기 복수의 검색 엔진들은 적어도 하나의 범용 검색 엔진과 적어도 하나의 싸이트 특정 검색 엔진을 포함한 것인, 시스템.
  84. 제80항에 있어서, 상기 제1 검색 질의는 상기 제2 검색 질의와 동일하며, 상기 적어도 하나의 하드웨어 컴퓨터 프로세서는,
    상기 제1 검색 질의를 상기 제2 검색 질의로서 이용함으로써, 상기 제1 검색 질의의 콘텐츠에 기초하여 상기 적어도 하나의 제2 검색 질의를 생성하는 것인, 시스템.
  85. 적어도 하나의 하드웨어 컴퓨터 프로세서를 통해 적어도 부분적으로 구현되며, 인터넷상에서 콘텐츠 검색을 수행하는 방법에 있어서,
    제1 사용자로부터 제1 검색 질의를 수신하는 동작;
    상기 제1 검색 질의의 콘텐츠에 기초하여 적어도 하나의 제2 검색 질의를 생성하는 동작;
    상기 적어도 하나의 제2 검색 질의가 제공될 복수의 검색 엔진들을 선택하는 동작
    을 포함하며, 상기 복수의 검색 엔진들 중 적어도 하나의 검색 엔진은 제1 사용자와는 다른 적어도 하나의 제2 사용자에 의한 특정 검색 엔진들의 이용 빈도를 나타내는 이력 정보에 적어도 부분적으로 기초하여 선택되는 것인, 인터넷상에서의 콘텐츠 검색 수행 방법.
  86. 제85항에 있어서, 상기 복수의 검색 엔진들 중 적어도 하나의 검색 엔진은 상기 제1 사용자에 의한 특정 검색 엔진들의 이용 빈도를 나타내는 이력 정보에 적어도 부분적으로 기초하여 선택되는 것인, 인터넷상에서의 콘텐츠 검색 수행 방법.
  87. 제85항에 있어서, 상기 복수의 검색 엔진들 중 적어도 하나의 검색 엔진은 상기 제1 검색 질의의 콘텐츠에 적어도 부분적으로 기초하여 선택되는 것인, 인터넷상에서의 콘텐츠 검색 수행 방법.
  88. 제85항에 있어서, 상기 복수의 검색 엔진들은 적어도 하나의 범용 검색 엔진과 적어도 하나의 싸이트 특정 검색 엔진을 포함한 것인, 인터넷상에서의 콘텐츠 검색 수행 방법.
  89. 제85항에 있어서, 상기 제1 검색 질의는 상기 제2 검색 질의와 동일하며, 상기 제1 검색 질의의 콘텐츠에 기초하여 상기 적어도 하나의 제2 검색 질의를 생성하는 동작은,
    상기 제1 검색 질의를 상기 제2 검색 질의로서 이용하는 동작을 포함한 것인, 인터넷상에서의 콘텐츠 검색 수행 방법.
  90. 적어도 하나의 하드웨어 컴퓨터 프로세서에 의해 실행될 때 인터넷을 통한 콘텐츠 검색을 수행하는 방법을 수행하는 명령들로 인코딩된 적어도 하나의 컴퓨터로 판독가능한 매체에 있어서, 상기 방법은,
    제1 사용자로부터 제1 검색 질의를 수신하는 동작;
    상기 제1 검색 질의의 콘텐츠에 기초하여 적어도 하나의 제2 검색 질의를 생성하는 동작;
    상기 적어도 하나의 제2 검색 질의가 제공될 복수의 검색 엔진들을 선택하는 동작
    을 포함하며, 상기 복수의 검색 엔진들 중 적어도 하나의 검색 엔진은 제1 사용자와는 다른 적어도 하나의 제2 사용자에 의한 특정 검색 엔진들의 이용 빈도를 나타내는 이력 정보에 적어도 부분적으로 기초하여 선택되는 것인, 적어도 하나의 컴퓨터로 판독가능한 매체.
  91. 제90항에 있어서, 상기 복수의 검색 엔진들 중 적어도 하나의 검색 엔진은 상기 제1 사용자에 의한 특정 검색 엔진들의 이용 빈도를 나타내는 이력 정보에 적어도 부분적으로 기초하여 선택되는 것인, 적어도 하나의 컴퓨터로 판독가능한 매체.
  92. 제90항에 있어서, 상기 복수의 검색 엔진들 중 적어도 하나의 검색 엔진은 상기 제1 검색 질의의 콘텐츠에 적어도 부분적으로 기초하여 선택되는 것인, 적어도 하나의 컴퓨터로 판독가능한 매체.
  93. 제90항에 있어서, 상기 복수의 검색 엔진들은 적어도 하나의 범용 검색 엔진과 적어도 하나의 싸이트 특정 검색 엔진을 포함한 것인, 적어도 하나의 컴퓨터로 판독가능한 매체.
  94. 제90항에 있어서, 상기 제1 검색 질의는 상기 제2 검색 질의와 동일하며, 상기 제1 검색 질의의 콘텐츠에 기초하여 상기 적어도 하나의 제2 검색 질의를 생성하는 동작은,
    상기 제1 검색 질의를 상기 제2 검색 질의로서 이용하는 동작을 포함한 것인, 적어도 하나의 컴퓨터로 판독가능한 매체.
  95. 시스템에 있어서,
    인터넷을 통한 콘텐츠 검색을 수행하기 위한 프로세서로 실행가능한 명령들(processor-executable instructions)을 저장하는 적어도 하나의 유형적 메모리; 및
    상기 적어도 하나의 유형적 메모리에 결합되고, 상기 프로세서로 실행가능한 명령들을 실행하여,
    제1 사용자로부터 제1 검색 질의를 수신하고;
    상기 제1 검색 질의의 콘텐츠에 기초하여 적어도 하나의 제2 검색 질의를 생성하며;
    적어도 하나의 제2 검색 질의가 제공될 복수의 검색 엔진들을 선택하도록 하기 위한 적어도 하나의 하드웨어 컴퓨터 프로세서
    를 포함하며, 상기 복수의 검색 엔진들 중 적어도 하나의 검색 엔진은 제1 사용자와는 다른 적어도 하나의 제2 사용자에 의한 특정 검색 엔진들의 이용 빈도를 나타내는 이력 정보에 적어도 부분적으로 기초하여 선택되는 것인, 시스템.
  96. 제95항에 있어서, 상기 적어도 하나의 하드웨어 컴퓨터 프로세서는 상기 제1 사용자에 의한 특정 검색 엔진들의 이용 빈도를 나타내는 이력 정보에 적어도 부분적으로 기초하여 상기 복수의 검색 엔진들 중의 적어도 하나의 검색 엔진을 선택하는 것인, 시스템.
  97. 제95항에 있어서, 상기 적어도 하나의 하드웨어 컴퓨터 프로세서는 상기 제1 검색 질의의 콘텐츠에 적어도 부분적으로 기초하여 상기 복수의 검색 엔진들 중의 적어도 하나의 검색 엔진을 선택하는 것인, 시스템.
  98. 제95항에 있어서, 상기 복수의 검색 엔진들은 적어도 하나의 범용 검색 엔진과 적어도 하나의 싸이트 특정 검색 엔진을 포함한 것인, 시스템.
  99. 제95항에 있어서, 상기 제1 검색 질의는 상기 제2 검색 질의와 동일하며, 상기 적어도 하나의 하드웨어 컴퓨터 프로세서는,
    상기 제1 검색 질의를 상기 제2 검색 질의로서 이용함으로써, 상기 제1 검색 질의의 콘텐츠에 기초하여 상기 적어도 하나의 제2 검색 질의를 생성하는 것인, 시스템.
  100. 콘텐츠를 디스플레이하는 방법에 있어서,
    디스플레이 디바이스의 디스플레이의 제1 부분에서 복수의 슬롯들을 갖는 캐러셀(carousel)을 디스플레이하는 동작; 및
    상기 복수의 슬롯들 중 하나의 슬롯의 사용자 선택에 응답하여, 상기 제1 부분과 분리되어 있는, 상기 디스플레이의 제2 부분에서, 사용자 입력에 기초하여 동적으로 생성된 콘텐츠를 디스플레이하는 동작
    을 포함하는, 콘텐츠를 디스플레이하는 방법.
  101. 제100항에 있어서, 상기 복수의 슬롯들 각각은 검색 엔진에 대응하며, 상기 사용자 입력에 기초하여 동적으로 생성된 콘텐츠는 상기 복수의 슬롯들 중 선택된 슬롯에 대응하는 검색 엔진에게 검색 질의를 제공함으로써 생성된 검색 결과물들을 포함한 것인, 콘텐츠를 디스플레이하는 방법.
  102. 제101항에 있어서, 상기 사용자 입력에 기초하여 동적으로 생성된 콘텐츠를 상기 디스플레이의 제2 부분에서 디스플레이하는 동작은,
    상기 복수의 슬롯들 중 나머지 임의의 슬롯에 대응하는 검색 엔진들로부터의 검색 결과물들을 디스플레이하는 것 없이, 상기 디스플레이의 제2 부분에서, 상기 복수의 슬롯들 중 선택된 슬롯에 대응하는 검색 엔진으로부터 수신된 검색 결과물들을 디스플레이하는 동작
    을 더 포함한 것인, 콘텐츠를 디스플레이하는 방법.
  103. 제100항에 있어서,
    상기 디스플레이 디바이스는 이동 디바이스의 디스플레이 디바이스이고,
    상기 캐러셀을 디스플레이하고, 상기 콘텐츠를 디스플레이하는 동작들은 상기 이동 디바이스에 의해 수행되는 것인, 콘텐츠를 디스플레이하는 방법.
  104. 제102항에 있어서, 상기 이동 디바이스는 스마트폰을 포함한 것인, 콘텐츠를 디스플레이하는 방법.
  105. 제100항에 있어서,
    사용자 입력에 응답하여, 상기 캐러셀을 상기 디스플레이를 가로질러 슬라이딩시키는 동작
    을 더 포함하며, 상기 캐러셀상의 최종 슬롯이 디스플레이되는 경우, 상기 캐러셀은 첫번째 슬롯으로 랩어라운드(wrap around)되는 것인, 콘텐츠를 디스플레이하는 방법.
  106. 적어도 하나의 하드웨어 컴퓨터 프로세서에 의해 실행될 때 콘텐츠를 디스플레이하는 방법을 수행하는 명령들로 인코딩된 적어도 하나의 컴퓨터로 판독가능한 매체에 있어서, 상기 방법은,
    디스플레이 디바이스의 디스플레이의 제1 부분에서 복수의 슬롯들을 갖는 캐러셀(carousel)을 디스플레이하는 동작; 및
    상기 복수의 슬롯들 중 하나의 슬롯의 사용자 선택에 응답하여, 상기 제1 부분과 분리되어 있는, 상기 디스플레이의 제2 부분에서, 사용자 입력에 기초하여 동적으로 생성된 콘텐츠를 디스플레이하는 동작
    을 포함하는 것인, 적어도 하나의 컴퓨터로 판독가능한 매체.
  107. 제106항에 있어서, 상기 복수의 슬롯들 각각은 검색 엔진에 대응하며, 상기 사용자 입력에 기초하여 동적으로 생성된 콘텐츠는 상기 복수의 슬롯들 중 선택된 슬롯에 대응하는 검색 엔진에게 검색 질의를 제공함으로써 생성된 검색 결과물들을 포함한 것인, 적어도 하나의 컴퓨터로 판독가능한 매체.
  108. 제107항에 있어서, 상기 사용자 입력에 기초하여 동적으로 생성된 콘텐츠를 상기 디스플레이의 제2 부분에서 디스플레이하는 동작은,
    상기 복수의 슬롯들 중 나머지 임의의 슬롯에 대응하는 검색 엔진들로부터의 검색 결과물들을 디스플레이하는 것 없이, 상기 디스플레이의 제2 부분에서, 상기 복수의 슬롯들 중 선택된 슬롯에 대응하는 검색 엔진으로부터 수신된 검색 결과물들을 디스플레이하는 동작
    을 더 포함한 것인, 적어도 하나의 컴퓨터로 판독가능한 매체.
  109. 제106항에 있어서,
    상기 디스플레이 디바이스는 이동 디바이스의 디스플레이 디바이스이고,
    상기 캐러셀을 디스플레이하고, 상기 콘텐츠를 디스플레이하는 동작들은 상기 이동 디바이스에 의해 수행되는 것인, 적어도 하나의 컴퓨터로 판독가능한 매체.
  110. 제109항에 있어서, 상기 이동 디바이스는 스마트폰을 포함한 것인, 적어도 하나의 컴퓨터로 판독가능한 매체.
  111. 제106항에 있어서, 상기 방법은,
    사용자 입력에 응답하여, 상기 캐러셀을 상기 디스플레이를 가로질러 슬라이딩시키는 동작
    을 더 포함하며, 상기 캐러셀상의 최종 슬롯이 디스플레이되는 경우, 상기 캐러셀은 첫번째 슬롯으로 랩어라운드(wrap around)되는 것인, 적어도 하나의 컴퓨터로 판독가능한 매체.
  112. 시스템에 있어서,
    콘텐츠를 디스플레이하기 위한 프로세서로 실행가능한 명령들(processor-executable instructions)을 저장하는 적어도 하나의 유형적 메모리; 및
    상기 적어도 하나의 유형적 메모리에 결합되고, 상기 프로세서로 실행가능한 명령들을 실행하여,
    디스플레이 디바이스의 디스플레이의 제1 부분에서 복수의 슬롯들을 갖는 캐러셀(carousel)을 디스플레이하며;
    상기 복수의 슬롯들 중 하나의 슬롯의 사용자 선택에 응답하여, 상기 제1 부분과 분리되어 있는, 상기 디스플레이의 제2 부분에서, 사용자 입력에 기초하여 동적으로 생성된 콘텐츠를 디스플레이하도록 하기 위한 적어도 하나의 하드웨어 컴퓨터 프로세서
    를 포함하는, 시스템.
  113. 제112항에 있어서, 상기 복수의 슬롯들 각각은 검색 엔진에 대응하며, 상기 사용자 입력에 기초하여 동적으로 생성된 콘텐츠는 상기 복수의 슬롯들 중 선택된 슬롯에 대응하는 검색 엔진에게 검색 질의를 제공함으로써 생성된 검색 결과물들을 포함한 것인, 시스템.
  114. 제113항에 있어서, 상기 적어도 하나의 하드웨어 컴퓨터 프로세서는,
    상기 복수의 슬롯들 중 나머지 임의의 슬롯에 대응하는 검색 엔진들로부터의 검색 결과물들을 디스플레이하는 것 없이, 상기 디스플레이의 제2 부분에서, 상기 복수의 슬롯들 중 선택된 슬롯에 대응하는 검색 엔진으로부터 수신된 검색 결과물들을 디스플레이함으로써, 상기 사용자 입력에 기초하여 동적으로 생성된 콘텐츠를 상기 디스플레이의 제2 부분에서 디스플레이하는 것인, 시스템.
  115. 제114항에 있어서, 상기 시스템은 이동 디바이스를 더 포함하며, 상기 디스플레이 디바이스는 상기 이동 디바이스의 디스플레이 디바이스인 것인, 시스템.
  116. 제115항에 있어서, 상기 이동 디바이스는 스마트폰을 포함한 것인, 시스템.
  117. 제112항에 있어서, 상기 적어도 하나의 하드웨어 컴퓨터 프로세서는 상기 프로세서로 실행가능한 명령들을 실행하여, 사용자 입력에 응답하여, 상기 캐러셀을 상기 디스플레이를 가로질러 슬라이딩시키며,
    상기 캐러셀상의 최종 슬롯이 디스플레이되는 경우, 상기 캐러셀은 첫번째 슬롯으로 랩어라운드(wrap around)되는 것인, 시스템.
  118. 방법에 있어서,
    첫번째 슬롯과 최종 슬롯을 비롯한 복수의 슬롯들을 갖는 캐러셀(carousel)을 디스플레이 디바이스상에서 디스플레이하는 동작
    을 포함하고,
    상기 디스플레이 디바이스상에서는 한번에 상기 캐러셀 내의 복수의 슬롯들 중 일부만이 디스플레이되고,
    사용자 입력은 상기 캐러셀을 상기 디스플레이 디바이스를 가로질러 슬라이딩시키며,
    상기 캐러셀상의 최종 슬롯이 디스플레이되는 경우, 상기 캐러셀은 첫번째 슬롯으로 랩어라운드(wrap around)되는 것인, 방법.
  119. 제118항에 있어서,
    상기 디스플레이 디바이스는 이동 디바이스의 디스플레이 디바이스이고,
    상기 캐러셀을 디스플레이하고, 상기 콘텐츠를 디스플레이하는 동작들은 상기 이동 디바이스에 의해 수행되는 것인, 방법.
  120. 제119항에 있어서, 상기 이동 디바이스는 스마트폰을 포함한 것인, 방법.
  121. 제120항에 있어서, 상기 복수의 슬롯들 각각은 검색 엔진에 대응하며, 상기 디스플레이하는 동작은,
    상기 캐러셀을 상기 디스플레이 디바이스의 디스플레이의 제1 부분에서 디스플레이하는 동작
    을 더 포함한 것인, 방법.
  122. 제121항에 있어서,
    상기 복수의 슬롯들 중 하나의 슬롯의 사용자 선택에 응답하여, 상기 제1 부분과 분리되어 있는, 상기 디스플레이의 제2 부분에서, 상기 복수의 슬롯들 중 선택된 슬롯에 대응하는 검색 엔진에게 검색 질의를 제공함으로써 생성된 검색 결과물들을 디스플레이하는 동작
    을 더 포함하는, 방법.
  123. 적어도 하나의 하드웨어 컴퓨터 프로세서에 의해 실행될 때 방법을 수행하는 명령들로 인코딩된 적어도 하나의 컴퓨터로 판독가능한 매체에 있어서, 상기 방법은,
    첫번째 슬롯과 최종 슬롯을 비롯한 복수의 슬롯들을 갖는 캐러셀(carousel)을 디스플레이 디바이스상에서 디스플레이하는 동작
    을 포함하고,
    상기 디스플레이 디바이스상에서는 한번에 상기 캐러셀 내의 복수의 슬롯들 중 일부만이 디스플레이되고,
    사용자 입력은 상기 캐러셀을 상기 디스플레이 디바이스를 가로질러 슬라이딩시키며,
    상기 캐러셀상의 최종 슬롯이 디스플레이되는 경우, 상기 캐러셀은 첫번째 슬롯으로 랩어라운드(wrap around)되는 것인, 적어도 하나의 컴퓨터로 판독가능한 매체.
  124. 제123항에 있어서,
    상기 디스플레이 디바이스는 이동 디바이스의 디스플레이 디바이스이고,
    상기 캐러셀을 디스플레이하고, 상기 콘텐츠를 디스플레이하는 동작들은 상기 이동 디바이스에 의해 수행되는 것인, 적어도 하나의 컴퓨터로 판독가능한 매체.
  125. 제124항에 있어서, 상기 이동 디바이스는 스마트폰을 포함한 것인, 적어도 하나의 컴퓨터로 판독가능한 매체.
  126. 제125항에 있어서, 상기 복수의 슬롯들 각각은 검색 엔진에 대응하며, 상기 디스플레이하는 동작은,
    상기 캐러셀을 상기 디스플레이 디바이스의 디스플레이의 제1 부분에서 디스플레이하는 동작
    을 더 포함한 것인, 적어도 하나의 컴퓨터로 판독가능한 매체.
  127. 제126항에 있어서, 상기 방법은,
    상기 복수의 슬롯들 중 하나의 슬롯의 사용자 선택에 응답하여, 상기 제1 부분과 분리되어 있는, 상기 디스플레이의 제2 부분에서, 상기 복수의 슬롯들 중 선택된 슬롯에 대응하는 검색 엔진에게 검색 질의를 제공함으로써 생성된 검색 결과물들을 디스플레이하는 동작
    을 더 포함하는 것인, 적어도 하나의 컴퓨터로 판독가능한 매체.
  128. 시스템에 있어서,
    프로세서로 실행가능한 명령들(processor-executable instructions)을 저장하는 적어도 하나의 유형적 메모리; 및
    상기 적어도 하나의 유형적 메모리에 결합되고, 상기 프로세서로 실행가능한 명령들을 실행하여,
    첫번째 슬롯과 최종 슬롯을 비롯한 복수의 슬롯들을 갖는 캐러셀(carousel)을 디스플레이 디바이스상에서 디스플레이하도록 하기 위한 적어도 하나의 하드웨어 컴퓨터 프로세서
    를 포함하고,
    상기 디스플레이 디바이스상에서는 한번에 상기 캐러셀 내의 복수의 슬롯들 중 일부만이 디스플레이되고,
    사용자 입력은 상기 캐러셀을 상기 디스플레이 디바이스를 가로질러 슬라이딩시키며,
    상기 캐러셀상의 최종 슬롯이 디스플레이되는 경우, 상기 캐러셀은 첫번째 슬롯으로 랩어라운드(wrap around)되는 것인, 시스템.
  129. 제128항에 있어서, 이동 디바이스를 더 포함하며, 상기 디스플레이 디바이스는 상기 이동 디바이스의 디스플레이 디바이스인 것인, 시스템.
  130. 제129항에 있어서, 상기 이동 디바이스는 스마트폰을 포함한 것인, 시스템.
  131. 제130항에 있어서, 상기 복수의 슬롯들 각각은 검색 엔진에 대응하며, 상기 적어도 하나의 하드웨어 컴퓨터 프로세서는,
    상기 캐러셀을 상기 디스플레이 디바이스의 디스플레이의 제1 부분에서 디스플레이함으로써, 상기 캐러셀을 디스플레이하는 것인, 시스템.
  132. 제131항에 있어서, 상기 적어도 하나의 하드웨어 컴퓨터 프로세서는 상기 프로세서로 실행가능한 명령들을 실행하여,
    상기 복수의 슬롯들 중 하나의 슬롯의 사용자 선택에 응답하여, 상기 제1 부분과 분리되어 있는, 상기 디스플레이의 제2 부분에서, 상기 복수의 슬롯들 중 선택된 슬롯에 대응하는 검색 엔진에게 검색 질의를 제공함으로써 생성된 검색 결과물들을 디스플레이하도록 하기 위한 것인, 시스템.
  133. 적어도 부분적으로 마이크로프로세서 상에서 구현되며, 인터넷 상에서 콘텐츠 검색을 수행하는 방법에 있어서,
    사용자로부터 제공된 음성 입력을 수신하는 동작;
    복수의 검색 엔진들에 대해 적어도 하나의 텍스트 검색 질의를 생성하는 동작
    을 포함하며, 상기 적어도 하나의 텍스트 검색 질의는, 적어도 부분적으로, 상기 음성 입력에 대한 스피치 인식을 수행함으로써 생성되는 것인, 인터넷 상에서의 콘텐츠 검색 수행 방법.
  134. 제133항에 있어서, 상기 적어도 하나의 텍스트 검색 질의는 적어도 두 개의 텍스트 검색 질의들을 포함하며, 상기 생성 동작은,
    상기 복수의 검색 엔진들 중 첫번째 검색 엔진과 연관된 제1 언어 모델을 이용하여 상기 음성 입력에 대한 스피치 인식을 수행함으로써 적어도 부분적으로 상기 적어도 두 개의 텍스트 검색 질의들 중 첫번째 검색 질의를 생성하는 동작; 및
    상기 복수의 검색 엔진들 중 두번째 검색 엔진과 연관되고 상기 제1 언어 모델과는 상이한 제2 언어 모델을 이용하여 상기 음성 입력에 대한 스피치 인식을 수행함으로써 적어도 부분적으로 상기 적어도 두 개의 텍스트 검색 질의들 중 두번째 검색 질의를 생성하는 동작
    을 더 포함한 것인, 인터넷 상에서의 콘텐츠 검색 수행 방법.
  135. 제134항에 있어서,
    상기 복수의 검색 엔진들 중 첫번째 검색 엔진에 대해 상기 적어도 두 개의 텍스트 스피치 질의들 중 첫번째 스피치 질의를 발행하는 동작; 및
    상기 복수의 검색 엔진들 중 두번째 검색 엔진에 대해 상기 적어도 두 개의 텍스트 스피치 질의들 중 두번째 스피치 질의를 발행하는 동작
    을 더 포함하는, 인터넷 상에서의 콘텐츠 검색 수행 방법.
  136. 제134항에 있어서, 상기 적어도 두 개의 텍스트 검색 질의들 중 첫번째 검색 질의는 상기 적어도 두 개의 텍스트 검색 질의들 중 두번째 검색 질의와는 상이한 것인, 인터넷 상에서의 콘텐츠 검색 수행 방법.
  137. 제133항에 있어서, 상기 생성 동작은,
    상기 음성 입력에 대한 자동화 스피치 인식을 수행할 때에 이용될 복수의 이용가능한 언어 모델들 중 하나의 언어 모델을 선택하는 동작; 및
    상기 복수의 언어 모델들 중 선택된 언어 모델을 이용하여 상기 음성 입력에 대한 자동화 스피치 인식을 수행하는 동작
    을 더 포함하는 것인, 인터넷 상에서의 콘텐츠 검색 수행 방법.
  138. 제137항에 있어서, 상기 선택 동작은,
    상기 음성 입력의 콘텐츠에 적어도 부분적으로 기초하여, 상기 음성 입력에 대한 자동화 스피치 인식을 수행할 때에 이용될 복수의 이용가능한 언어 모델들 중 하나의 언어 모델을 선택하는 동작
    을 더 포함하는 것인, 인터넷 상에서의 콘텐츠 검색 수행 방법.
  139. 제133항에 있어서, 상기 적어도 하나의 텍스트 검색 질의를 생성하는 동작은 언어 모델을 이용하여 상기 음성 입력에 대한 스피치 인식을 수행하는 동작을 더 포함하며, 상기 방법은,
    자주 검색된 항목들에 기초하여 상기 언어 모델을 주기적으로 업데이트하는 동작을 더 포함하는, 인터넷 상에서의 콘텐츠 검색 수행 방법.
  140. 제133항에 있어서, 상기 적어도 하나의 텍스트 검색 질의를 생성하는 동작은 언어 모델을 이용하여 상기 음성 입력에 대한 스피치 인식을 수행하는 동작을 더 포함하며, 상기 방법은,
    검색 결과물들의 사용자의 이전 선택에 기초하여 상기 언어 모델을 업데이트하는 동작을 더 포함하는, 인터넷 상에서의 콘텐츠 검색 수행 방법.
  141. 적어도 하나의 하드웨어 컴퓨터 프로세서에 의해 실행될 때 인터넷상에서 콘텐츠 검색을 수행하는 방법을 수행하는 명령들로 인코딩된 적어도 하나의 컴퓨터로 판독가능한 매체에 있어서, 상기 방법은,
    사용자로부터 제공된 음성 입력을 수신하는 동작;
    복수의 검색 엔진들에 대해 적어도 하나의 텍스트 검색 질의를 생성하는 동작
    을 포함하며, 상기 적어도 하나의 텍스트 검색 질의는, 적어도 부분적으로, 상기 음성 입력에 대한 스피치 인식을 수행함으로써 생성되는 것인, 적어도 하나의 컴퓨터로 판독가능한 매체.
  142. 제141항에 있어서, 상기 적어도 하나의 텍스트 검색 질의는 적어도 두 개의 텍스트 검색 질의들을 포함하며, 상기 생성 동작은,
    상기 복수의 검색 엔진들 중 첫번째 검색 엔진과 연관된 제1 언어 모델을 이용하여 상기 음성 입력에 대한 스피치 인식을 수행함으로써 적어도 부분적으로 상기 적어도 두 개의 텍스트 검색 질의들 중 첫번째 검색 질의를 생성하는 동작; 및
    상기 복수의 검색 엔진들 중 두번째 검색 엔진과 연관되고 상기 제1 언어 모델과는 상이한 제2 언어 모델을 이용하여 상기 음성 입력에 대한 스피치 인식을 수행함으로써 적어도 부분적으로 상기 적어도 두 개의 텍스트 검색 질의들 중 두번째 검색 질의를 생성하는 동작
    을 더 포함한 것인, 적어도 하나의 컴퓨터로 판독가능한 매체.
  143. 제142항에 있어서, 상기 방법은,
    상기 복수의 검색 엔진들 중 첫번째 검색 엔진에 대해 상기 적어도 두 개의 텍스트 스피치 질의들 중 첫번째 스피치 질의를 발행하는 동작; 및
    상기 복수의 검색 엔진들 중 두번째 검색 엔진에 대해 상기 적어도 두 개의 텍스트 스피치 질의들 중 두번째 스피치 질의를 발행하는 동작
    을 더 포함하는 것인, 적어도 하나의 컴퓨터로 판독가능한 매체.
  144. 제142항에 있어서, 상기 적어도 두 개의 텍스트 검색 질의들 중 첫번째 검색 질의는 상기 적어도 두 개의 텍스트 검색 질의들 중 두번째 검색 질의와는 상이한 것인, 적어도 하나의 컴퓨터로 판독가능한 매체.
  145. 제141항에 있어서, 상기 생성 동작은,
    상기 음성 입력에 대한 자동화 스피치 인식을 수행할 때에 이용될 복수의 이용가능한 언어 모델들 중 하나의 언어 모델을 선택하는 동작; 및
    상기 복수의 언어 모델들 중 선택된 언어 모델을 이용하여 상기 음성 입력에 대한 자동화 스피치 인식을 수행하는 동작
    을 더 포함하는 것인, 적어도 하나의 컴퓨터로 판독가능한 매체.
  146. 제145항에 있어서, 상기 선택 동작은,
    상기 음성 입력의 콘텐츠에 적어도 부분적으로 기초하여, 상기 음성 입력에 대한 자동화 스피치 인식을 수행할 때에 이용될 복수의 이용가능한 언어 모델들 중 하나의 언어 모델을 선택하는 동작
    을 더 포함하는 것인, 적어도 하나의 컴퓨터로 판독가능한 매체.
  147. 제142항에 있어서, 상기 적어도 하나의 텍스트 검색 질의를 생성하는 동작은 언어 모델을 이용하여 상기 음성 입력에 대한 스피치 인식을 수행하는 동작을 더 포함하며, 상기 방법은,
    자주 검색된 항목들에 기초하여 상기 언어 모델을 주기적으로 업데이트하는 동작을 더 포함하는 것인, 적어도 하나의 컴퓨터로 판독가능한 매체.
  148. 제142항에 있어서, 상기 적어도 하나의 텍스트 검색 질의를 생성하는 동작은 언어 모델을 이용하여 상기 음성 입력에 대한 스피치 인식을 수행하는 동작을 더 포함하며, 상기 방법은,
    검색 결과물들의 사용자의 이전 선택에 기초하여 상기 언어 모델을 업데이트하는 동작을 더 포함하는 것인, 적어도 하나의 컴퓨터로 판독가능한 매체.
  149. 시스템에 있어서,
    인터넷을 통한 콘텐츠 검색을 수행하기 위한 프로세서로 실행가능한 명령들(processor-executable instructions)을 저장하는 적어도 하나의 유형적 메모리; 및
    상기 적어도 하나의 유형적 메모리에 결합되고, 상기 프로세서로 실행가능한 명령들을 실행하여,
    사용자로부터 제공된 음성 입력을 수신하며;
    복수의 검색 엔진들에 대해 적어도 하나의 텍스트 검색 질의를 생성하도록 하기 위한 적어도 하나의 하드웨어 컴퓨터 프로세서
    를 포함하며, 상기 적어도 하나의 텍스트 검색 질의는, 적어도 부분적으로, 상기 음성 입력에 대한 스피치 인식을 수행함으로써 생성되는 것인, 시스템.
  150. 제149항에 있어서, 상기 적어도 하나의 텍스트 검색 질의는 적어도 두 개의 텍스트 검색 질의들을 포함하며, 상기 적어도 하나의 하드웨어 컴퓨터 프로세서는,
    상기 복수의 검색 엔진들 중 첫번째 검색 엔진과 연관된 제1 언어 모델을 이용하여 상기 음성 입력에 대한 스피치 인식을 수행함으로써 적어도 부분적으로 상기 적어도 두 개의 텍스트 검색 질의들 중 첫번째 검색 질의를 생성하고;
    상기 복수의 검색 엔진들 중 두번째 검색 엔진과 연관되고 상기 제1 언어 모델과는 상이한 제2 언어 모델을 이용하여 상기 음성 입력에 대한 스피치 인식을 수행함으로써 적어도 부분적으로 상기 적어도 두 개의 텍스트 검색 질의들 중 두번째 검색 질의를 생성함으로써, 상기 적어도 두 개의 텍스트 검색 질의들을 생성하기 위한 것인, 시스템.
  151. 제150항에 있어서, 상기 적어도 하나의 하드웨어 컴퓨터 프로세서는 상기 프로세서로 실행가능한 명령들을 실행하여,
    상기 복수의 검색 엔진들 중 첫번째 검색 엔진에 대해 상기 적어도 두 개의 텍스트 스피치 질의들 중 첫번째 스피치 질의를 발행하며;
    상기 복수의 검색 엔진들 중 두번째 검색 엔진에 대해 상기 적어도 두 개의 텍스트 스피치 질의들 중 두번째 스피치 질의를 발행하도록 하기 위한 것인, 시스템.
  152. 제150항에 있어서, 상기 적어도 두 개의 텍스트 검색 질의들 중 첫번째 검색 질의는 상기 적어도 두 개의 텍스트 검색 질의들 중 두번째 검색 질의와는 상이한 것인, 시스템.
  153. 제149항에 있어서, 상기 적어도 하나의 하드웨어 프로세서는,
    상기 음성 입력에 대한 자동화 스피치 인식을 수행할 때에 이용될 복수의 이용가능한 언어 모델들 중 하나의 언어 모델을 선택하며;
    상기 복수의 언어 모델들 중 선택된 언어 모델을 이용하여 상기 음성 입력에 대한 자동화 스피치 인식을 수행함으로써, 상기 적어도 하나의 텍스트 검색 질의를 생성하는 것인, 시스템.
  154. 제153항에 있어서, 상기 적어도 하나의 하드웨어 컴퓨터 프로세서는,
    상기 음성 입력의 콘텐츠에 적어도 부분적으로 기초하여, 상기 음성 입력에 대한 자동화 스피치 인식을 수행할 때에 이용될 복수의 이용가능한 언어 모델들 중 하나의 언어 모델을 선택함으로써, 상기 복수의 이용가능한 언어 모델들 중 하나의 언어 모델을 선택하는 것인, 시스템.
  155. 제150항에 있어서, 상기 적어도 하나의 하드웨어 컴퓨터 프로세서는 언어 모델을 이용하여 상기 음성 입력에 대한 스피치 인식을 수행함으로써 상기 적어도 하나의 텍스트 검색 질의를 생성하고, 상기 적어도 하나의 하드웨어 컴퓨터 프로세서는 상기 프로세서로 실행가능한 명령들을 실행하여, 자주 검색된 항목들에 기초하여 상기 언어 모델을 주기적으로 업데이트하도록 하기 위한 것인, 시스템.
  156. 제150항에 있어서, 상기 적어도 하나의 하드웨어 컴퓨터 프로세서는 언어 모델을 이용하여 상기 음성 입력에 대한 스피치 인식을 수행함으로써 상기 적어도 하나의 텍스트 검색 질의를 생성하고, 상기 적어도 하나의 하드웨어 컴퓨터 프로세서는 상기 프로세서로 실행가능한 명령들을 실행하여, 검색 결과물들의 사용자의 이전 선택에 기초하여 상기 언어 모델을 업데이트하도록 하기 위한 것인, 시스템.
  157. 이동 통신 디바이스의 적어도 하나의 하드웨어 컴퓨터 프로세서를 통해 적어도 부분적으로 구현되며, 인터넷을 통한 콘텐츠 검색을 수행하는 방법에 있어서,
    이동 통신 디바이스에서, 제1 검색 질의를 지정하는 사용자 입력을 수신하는 동작;
    상기 이동 통신 디바이스로부터 복수의 검색 엔진들에 대해 적어도 하나의 제2 검색 질의를 발행하는 동작
    을 포함하며, 상기 적어도 하나의 제2 검색 질의는 적어도 부분적으로 상기 제1 검색 질의의 콘텐츠에 기초한 것인, 인터넷을 통한 콘텐츠 검색 수행 방법.
  158. 제157항에 있어서,
    상기 복수의 검색 엔진들에 대해 상기 적어도 하나의 제2 검색 질의를 발행한 것에 응답하여, 상기 복수의 검색 엔진들 각각으로부터의 응답을 수신하는 동작
    을 더 포함하며, 상기 복수의 검색 엔진들 각각으로부터의 응답은 상기 검색 엔진 각각으로부터 제공된 검색 결과물들을 포함한 것인, 인터넷을 통한 콘텐츠 검색 수행 방법.
  159. 제158항에 있어서, 상기 사용자 입력은 제1 사용자 입력이며, 상기 방법은,
    상기 검색 결과물들의 적어도 일부를 상기 이동 통신 디바이스의 디스플레이 상에서 디스플레이시키는 동작;
    상기 검색 결과물들 중 하나를 선택하는 제2 사용자 입력을 수신하는 동작; 및
    상기 복수의 검색 엔진들 중 어느 검색 엔진으로부터 상기 검색 결과물들 중 선택된 검색 결과물이 제공되었는지를 식별하는 모니터링 정보를 생성하는 동작
    을 더 포함하는, 인터넷을 통한 콘텐츠 검색 수행 방법.
  160. 제159항에 있어서,
    상기 모니터링 정보를 상기 이동 통신 디바이스로부터 액세스 이력 정보를 저장한 적어도 하나의 서버에게 송신하는 동작
    을 더 포함하는, 인터넷을 통한 콘텐츠 검색 수행 방법.
  161. 제157항에 있어서, 상기 제1 검색 질의는 상기 제2 검색 질의와 동일한 것인, 인터넷을 통한 콘텐츠 검색 수행 방법.
  162. 제157항에 있어서, 상기 사용자 입력은 음성 입력인 것인, 인터넷을 통한 콘텐츠 검색 수행 방법.
  163. 제157항에 있어서, 상기 복수의 검색 엔진들은 적어도 하나의 범용 검색 엔진과 적어도 하나의 싸이트 특정 검색 엔진을 포함한 것인, 인터넷을 통한 콘텐츠 검색 수행 방법.
  164. 적어도 하나의 하드웨어 컴퓨터 프로세서에 의해 실행될 때 인터넷을 통한 콘텐츠 검색을 수행하는 방법을 수행하는 명령들로 인코딩된 적어도 하나의 컴퓨터로 판독가능한 매체에 있어서, 상기 방법은,
    이동 통신 디바이스에서, 제1 검색 질의를 지정하는 사용자 입력을 수신하는 동작;
    상기 이동 통신 디바이스로부터 복수의 검색 엔진들에 대해 적어도 하나의 제2 검색 질의를 발행하는 동작
    을 포함하며, 상기 적어도 하나의 제2 검색 질의는 적어도 부분적으로 상기 제1 검색 질의의 콘텐츠에 기초한 것인, 적어도 하나의 컴퓨터로 판독가능한 매체.
  165. 제164항에 있어서, 상기 방법은,
    상기 복수의 검색 엔진들에 대해 상기 적어도 하나의 제2 검색 질의를 발행한 것에 응답하여, 상기 복수의 검색 엔진들 각각으로부터의 응답을 수신하는 동작
    을 더 포함하며, 상기 복수의 검색 엔진들 각각으로부터의 응답은 상기 검색 엔진 각각으로부터 제공된 검색 결과물들을 포함한 것인, 적어도 하나의 컴퓨터로 판독가능한 매체.
  166. 제165항에 있어서, 상기 사용자 입력은 제1 사용자 입력이며, 상기 방법은,
    상기 검색 결과물들의 적어도 일부를 상기 이동 통신 디바이스의 디스플레이 상에서 디스플레이시키는 동작;
    상기 검색 결과물들 중 하나를 선택하는 제2 사용자 입력을 수신하는 동작; 및
    상기 복수의 검색 엔진들 중 어느 검색 엔진으로부터 상기 검색 결과물들 중 선택된 검색 결과물이 제공되었는지를 식별하는 모니터링 정보를 생성하는 동작
    을 더 포함하는 것인, 적어도 하나의 컴퓨터로 판독가능한 매체.
  167. 제166항에 있어서, 상기 방법은,
    상기 모니터링 정보를 상기 이동 통신 디바이스로부터 액세스 이력 정보를 저장한 적어도 하나의 서버에게 송신하는 동작
    을 더 포함하는 것인, 적어도 하나의 컴퓨터로 판독가능한 매체.
  168. 제164항에 있어서, 상기 제1 검색 질의는 상기 제2 검색 질의와 동일한 것인, 적어도 하나의 컴퓨터로 판독가능한 매체.
  169. 제164항에 있어서, 상기 사용자 입력은 음성 입력인 것인, 적어도 하나의 컴퓨터로 판독가능한 매체.
  170. 제164항에 있어서, 상기 복수의 검색 엔진들은 적어도 하나의 범용 검색 엔진과 적어도 하나의 싸이트 특정 검색 엔진을 포함한 것인, 적어도 하나의 컴퓨터로 판독가능한 매체.
  171. 이동 통신 디바이스에 있어서,
    인터넷을 통한 콘텐츠 검색을 수행하기 위한 프로세서로 실행가능한 명령들(processor-executable instructions)을 저장하는 적어도 하나의 유형적 메모리; 및
    상기 적어도 하나의 유형적 메모리에 결합되고, 상기 프로세서로 실행가능한 명령들을 실행하여,
    이동 통신 디바이스에서, 제1 검색 질의를 지정하는 사용자 입력을 수신하며;
    상기 이동 통신 디바이스로부터 복수의 검색 엔진들에 대해 적어도 하나의 제2 검색 질의를 발행하기 위한 적어도 하나의 하드웨어 컴퓨터 프로세서
    를 포함하며, 상기 적어도 하나의 제2 검색 질의는 적어도 부분적으로 상기 제1 검색 질의의 콘텐츠에 기초한 것인, 이동 통신 디바이스.
  172. 제171항에 있어서, 상기 적어도 하나의 하드웨어 컴퓨터 프로세서는 상기 프로세서로 실행가능한 명령들을 실행하여,
    상기 복수의 검색 엔진들에 대해 상기 적어도 하나의 제2 검색 질의를 발행한 것에 응답하여, 상기 복수의 검색 엔진들 각각으로부터의 응답을 수신하도록 하며,
    상기 복수의 검색 엔진들 각각으로부터의 응답은 상기 검색 엔진 각각으로부터 제공된 검색 결과물들을 포함한 것인, 이동 통신 디바이스.
  173. 제172항에 있어서, 상기 사용자 입력은 제1 사용자 입력이며, 상기 적어도 하나의 하드웨어 컴퓨터 프로세서는 상기 프로세서로 실행가능한 명령들을 실행하여,
    상기 검색 결과물들의 적어도 일부를 상기 이동 통신 디바이스의 디스플레이 상에서 디스플레이시키고;
    상기 검색 결과물들 중 하나를 선택하는 제2 사용자 입력을 수신하며;
    상기 복수의 검색 엔진들 중 어느 검색 엔진으로부터 상기 검색 결과물들 중 선택된 검색 결과물이 제공되었는지를 식별하는 모니터링 정보를 생성하도록 하기 위한 것인, 이동 통신 디바이스.
  174. 제173항에 있어서, 상기 적어도 하나의 하드웨어 컴퓨터 프로세서는 상기 프로세서로 실행가능한 명령들을 실행하여,
    상기 모니터링 정보를 상기 이동 통신 디바이스로부터 액세스 이력 정보를 저장한 적어도 하나의 서버에게 송신하도록 하기 위한 것인, 이동 통신 디바이스.
  175. 제171항에 있어서, 상기 제1 검색 질의는 상기 제2 검색 질의와 동일한 것인, 이동 통신 디바이스.
  176. 제171항에 있어서, 상기 사용자 입력은 음성 입력인 것인, 이동 통신 디바이스.
  177. 제171항에 있어서, 상기 복수의 검색 엔진들은 적어도 하나의 범용 검색 엔진과 적어도 하나의 싸이트 특정 검색 엔진을 포함한 것인, 이동 통신 디바이스.
  178. 적어도 하나의 하드웨어 컴퓨터 프로세서를 통해 적어도 부분적으로 구현되며, 인터넷을 통한 콘텐츠 검색을 촉진시키는 방법에 있어서,
    클라이언트 디바이스로부터 제1 검색 질의를 수신하는 동작;
    질의될 적어도 하나의 검색 엔진을 식별하는 동작;
    적어도 하나의 제2 검색 질의 - 상기 적어도 하나의 제2 검색 질의는 적어도 부분적으로 상기 제1 검색 질의의 콘텐츠에 기초하여 생성됨 - 를 생성하는 동작; 및
    상기 적어도 하나의 제2 검색 질의를 이용하여 인터넷 검색을 수행할 때에 이용될 식별된 상기 적어도 하나의 검색 엔진을 지정한 정보와 상기 적어도 하나의 제2 검색 질의를 상기 클라이언트 디바이스에 보내는 동작
    을 포함하는, 인터넷을 통한 콘텐츠 검색을 촉진시키는 방법.
  179. 제178항에 있어서, 상기 제1 검색 질의는 오디오 형태로 존재하며, 상기 적어도 하나의 제2 검색 질의를 생성하는 동작은,
    상기 제1 검색 질의에 대한 스피치 인식을 수행함으로써, 적어도 부분적으로, 상기 적어도 하나의 제2 검색 질의를 생성하는 동작
    을 더 포함하는 것인, 인터넷을 통한 콘텐츠 검색을 촉진시키는 방법.
  180. 제178항에 있어서, 상기 적어도 하나의 제2 검색 질의는 적어도 두 개의 제2 검색 질의들을 포함하며, 상기 적어도 하나의 검색 엔진은 복수의 검색 엔진들을 포함하며, 상기 생성 동작은,
    상기 복수의 검색 엔진들 중 첫번째 검색 엔진에 특유적인 포맷으로 존재하도록 상기 적어도 두 개의 제2 검색 질의들 중 첫번째 검색 질의를 생성하는 동작
    을 더 포함하며, 상기 보내는 동작은 상기 적어도 두 개의 검색 질의들 중 첫번째 검색 질의가 상기 복수의 검색 엔진들 중 첫번째 검색 엔진과 함께 이용될 것이라는 것을 상기 클라이언트 디바이스에 대해 식별해주는 것인, 인터넷을 통한 콘텐츠 검색을 촉진시키는 방법.
  181. 제178항에 있어서, 상기 식별된 적어도 하나의 검색 엔진은 싸이트 특정 검색 엔진인 것인, 인터넷을 통한 콘텐츠 검색을 촉진시키는 방법.
  182. 제178항에 있어서, 상기 제1 검색 질의는 상기 제2 검색 질의와 동일한 것인, 인터넷을 통한 콘텐츠 검색을 촉진시키는 방법.
  183. 적어도 하나의 하드웨어 컴퓨터 프로세서에 의해 실행될 때 인터넷을 통한 콘텐츠 검색을 촉진시키는 방법을 수행하는 명령들로 인코딩된 적어도 하나의 컴퓨터로 판독가능한 매체에 있어서, 상기 방법은,
    클라이언트 디바이스로부터 제1 검색 질의를 수신하는 동작;
    질의될 적어도 하나의 검색 엔진을 식별하는 동작;
    적어도 하나의 제2 검색 질의 - 상기 적어도 하나의 제2 검색 질의는 적어도 부분적으로 상기 제1 검색 질의의 콘텐츠에 기초하여 생성됨 - 를 생성하는 동작; 및
    적어도 하나의 제2 검색 질의를 이용하여 인터넷 검색을 수행할 때에 이용될 식별된 상기 적어도 하나의 검색 엔진을 지정한 정보와 상기 적어도 하나의 제2 검색 질의를 상기 클라이언트 디바이스에 보내는 동작
    을 포함하는 것인, 적어도 하나의 컴퓨터로 판독가능한 매체.
  184. 제183항에 있어서, 상기 제1 검색 질의는 오디오 형태로 존재하며, 상기 적어도 하나의 제2 검색 질의를 생성하는 동작은,
    상기 제1 검색 질의에 대한 스피치 인식을 수행함으로써, 적어도 부분적으로, 상기 적어도 하나의 제2 검색 질의를 생성하는 동작
    을 더 포함하는 것인, 적어도 하나의 컴퓨터로 판독가능한 매체.
  185. 제183항에 있어서, 상기 적어도 하나의 제2 검색 질의는 적어도 두 개의 검색 질의들을 포함하며, 상기 적어도 하나의 검색 엔진은 복수의 검색 엔진들을 포함하며, 상기 생성 동작은,
    상기 복수의 검색 엔진들 중 첫번째 검색 엔진에 특유적인 포맷으로 존재하도록 상기 적어도 두 개의 제2 검색 질의들 중 첫번째 검색 질의를 생성하는 동작
    을 더 포함하며, 상기 보내는 동작은 상기 적어도 두 개의 검색 질의들 중 첫번째 검색 질의가 상기 복수의 검색 엔진들 중 첫번째 검색 엔진과 함께 이용될 것이라는 것을 상기 클라이언트 디바이스에 대해 식별해주는 것인, 적어도 하나의 컴퓨터로 판독가능한 매체.
  186. 제183항에 있어서, 상기 식별된 적어도 하나의 검색 엔진은 싸이트 특정 검색 엔진인 것인, 적어도 하나의 컴퓨터로 판독가능한 매체.
  187. 제183항에 있어서, 상기 제1 검색 질의는 상기 제2 검색 질의와 동일한 것인, 적어도 하나의 컴퓨터로 판독가능한 매체.
  188. 시스템에 있어서,
    인터넷을 통한 콘텐츠 검색을 촉진시키기 위한 프로세서로 실행가능한 명령들을 저장하는 적어도 하나의 유형적 메모리; 및
    상기 적어도 하나의 유형적 메모리에 결합되고, 상기 프로세서로 실행가능한 명령들을 실행하여,
    클라이언트 디바이스로부터 제1 검색 질의를 수신하고;
    질의될 적어도 하나의 검색 엔진을 식별하고;
    적어도 하나의 제2 검색 질의 - 상기 적어도 하나의 제2 검색 질의는 적어도 부분적으로 상기 제1 검색 질의의 콘텐츠에 기초하여 생성됨 - 를 생성하며;
    상기 적어도 하나의 제2 검색 질의를 이용하여 인터넷 검색을 수행할 때에 이용될 식별된 적어도 하나의 검색 엔진을 지정한 정보와 상기 적어도 하나의 제2 검색 질의를 상기 클라이언트 디바이스에 보내도록 하기 위한 적어도 하나의 하드웨어 컴퓨터 프로세서
    를 포함하는, 시스템.
  189. 제188항에 있어서, 상기 제1 검색 질의는 오디오 형태로 존재하며, 상기 적어도 하나의 하드웨어 컴퓨터 프로세서는,
    상기 제1 검색 질의에 대한 스피치 인식을 수행하여, 적어도 부분적으로, 상기 적어도 하나의 제2 검색 질의를 생성함으로써, 상기 적어도 하나의 제2 검색 질의를 생성하는 것인, 시스템.
  190. 제188항에 있어서, 상기 적어도 하나의 제2 검색 질의는 적어도 두 개의 제2 검색 질의들을 포함하며, 상기 적어도 하나의 검색 엔진은 복수의 검색 엔진들을 포함하며, 상기 적어도 하나의 하드웨어 컴퓨터 프로세서는,
    상기 복수의 검색 엔진들 중 첫번째 검색 엔진에 특유적인 포맷으로 존재하도록 상기 적어도 두 개의 제2 검색 질의들 중 첫번째 검색 질의를 생성함으로써, 상기 적어도 두 개의 제2 검색 질의들을 생성하며,
    상기 보내는 동작은 상기 적어도 두 개의 검색 질의들 중 첫번째 검색 질의가 상기 복수의 검색 엔진들 중 첫번째 검색 엔진과 함께 이용될 것이라는 것을 상기 클라이언트 디바이스에 대해 식별해주는 것인, 시스템.
  191. 제188항에 있어서, 상기 식별된 적어도 하나의 검색 엔진은 싸이트 특정 검색 엔진인 것인, 시스템.
  192. 제188항에 있어서, 상기 제1 검색 질의는 상기 제2 검색 질의와 동일한 것인, 시스템.
KR1020137007487A 2010-09-08 2011-09-07 인터넷 검색 관련 방법 및 장치 KR20130108563A (ko)

Applications Claiming Priority (11)

Application Number Priority Date Filing Date Title
US12/877,647 US20120059814A1 (en) 2010-09-08 2010-09-08 Methods and apparatus for selecting a search engine to which to provide a search query
US12/877,765 US20120060113A1 (en) 2010-09-08 2010-09-08 Methods and apparatus for displaying content
US12/877,765 2010-09-08
US12/877,647 2010-09-08
US12/877,549 2010-09-08
US12/877,690 US20120059658A1 (en) 2010-09-08 2010-09-08 Methods and apparatus for performing an internet search
US12/877,690 2010-09-08
US12/877,440 US8341142B2 (en) 2010-09-08 2010-09-08 Methods and apparatus for searching the Internet
US12/877,549 US8239366B2 (en) 2010-09-08 2010-09-08 Method and apparatus for processing spoken search queries
US12/877,440 2010-09-08
PCT/US2011/050669 WO2012033820A2 (en) 2010-09-08 2011-09-07 Internet search related methods and apparatus

Publications (1)

Publication Number Publication Date
KR20130108563A true KR20130108563A (ko) 2013-10-04

Family

ID=45811141

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020137007487A KR20130108563A (ko) 2010-09-08 2011-09-07 인터넷 검색 관련 방법 및 장치

Country Status (5)

Country Link
EP (1) EP2612261B1 (ko)
JP (1) JP5851507B2 (ko)
KR (1) KR20130108563A (ko)
CN (1) CN103339623B (ko)
WO (1) WO2012033820A2 (ko)

Cited By (104)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20170105581A (ko) * 2015-03-08 2017-09-19 애플 인크. 가상 어시스턴트 연속성
US10311144B2 (en) 2017-05-16 2019-06-04 Apple Inc. Emoji word sense disambiguation
US10334054B2 (en) 2016-05-19 2019-06-25 Apple Inc. User interface for a device requesting remote authorization
US10390213B2 (en) 2014-09-30 2019-08-20 Apple Inc. Social reminders
US10395654B2 (en) 2017-05-11 2019-08-27 Apple Inc. Text normalization based on a data-driven learning network
US10419933B2 (en) 2011-09-29 2019-09-17 Apple Inc. Authentication with secondary approver
US10417344B2 (en) 2014-05-30 2019-09-17 Apple Inc. Exemplar-based natural language processing
US10438595B2 (en) 2014-09-30 2019-10-08 Apple Inc. Speaker identification and unsupervised speaker adaptation techniques
US10474753B2 (en) 2016-09-07 2019-11-12 Apple Inc. Language identification using recurrent neural networks
US10484384B2 (en) 2011-09-29 2019-11-19 Apple Inc. Indirect authentication
US10529332B2 (en) 2015-03-08 2020-01-07 Apple Inc. Virtual assistant activation
US10580409B2 (en) 2016-06-11 2020-03-03 Apple Inc. Application integration with a digital assistant
US10592604B2 (en) 2018-03-12 2020-03-17 Apple Inc. Inverse text normalization for automatic speech recognition
US10616416B2 (en) 2014-05-30 2020-04-07 Apple Inc. User interface for phone call routing among devices
US10681212B2 (en) 2015-06-05 2020-06-09 Apple Inc. Virtual assistant aided communication with 3rd party service in a communication session
US10692504B2 (en) 2010-02-25 2020-06-23 Apple Inc. User profiling for voice input processing
US10699717B2 (en) 2014-05-30 2020-06-30 Apple Inc. Intelligent assistant for home automation
US10714117B2 (en) 2013-02-07 2020-07-14 Apple Inc. Voice trigger for a digital assistant
US10720160B2 (en) 2018-06-01 2020-07-21 Apple Inc. Voice interaction at a primary device to access call functionality of a companion device
US10741185B2 (en) 2010-01-18 2020-08-11 Apple Inc. Intelligent automated assistant
US10741181B2 (en) 2017-05-09 2020-08-11 Apple Inc. User interface for correcting recognition errors
US10748546B2 (en) 2017-05-16 2020-08-18 Apple Inc. Digital assistant services based on device capabilities
US10769385B2 (en) 2013-06-09 2020-09-08 Apple Inc. System and method for inferring user intent from speech inputs
US10839159B2 (en) 2018-09-28 2020-11-17 Apple Inc. Named entity normalization in a spoken dialog system
US10866731B2 (en) 2014-05-30 2020-12-15 Apple Inc. Continuity of applications across devices
US10878809B2 (en) 2014-05-30 2020-12-29 Apple Inc. Multi-command single utterance input method
US10892996B2 (en) 2018-06-01 2021-01-12 Apple Inc. Variable latency device coordination
US10909171B2 (en) 2017-05-16 2021-02-02 Apple Inc. Intelligent automated assistant for media exploration
US10930282B2 (en) 2015-03-08 2021-02-23 Apple Inc. Competing devices responding to voice triggers
US10942703B2 (en) 2015-12-23 2021-03-09 Apple Inc. Proactive assistance based on dialog communication between devices
US10956666B2 (en) 2015-11-09 2021-03-23 Apple Inc. Unconventional virtual assistant interactions
US10992795B2 (en) 2017-05-16 2021-04-27 Apple Inc. Methods and interfaces for home media control
US10996917B2 (en) 2019-05-31 2021-05-04 Apple Inc. User interfaces for audio media control
US11010127B2 (en) 2015-06-29 2021-05-18 Apple Inc. Virtual assistant for media playback
US11010561B2 (en) 2018-09-27 2021-05-18 Apple Inc. Sentiment prediction from textual data
US11009970B2 (en) 2018-06-01 2021-05-18 Apple Inc. Attention aware virtual assistant dismissal
US11037565B2 (en) 2016-06-10 2021-06-15 Apple Inc. Intelligent digital assistant in a multi-tasking environment
US11037150B2 (en) 2016-06-12 2021-06-15 Apple Inc. User interfaces for transactions
US11048473B2 (en) 2013-06-09 2021-06-29 Apple Inc. Device, method, and graphical user interface for enabling conversation persistence across two or more instances of a digital assistant
US11070949B2 (en) 2015-05-27 2021-07-20 Apple Inc. Systems and methods for proactively identifying and surfacing relevant content on an electronic device with a touch-sensitive display
US11120372B2 (en) 2011-06-03 2021-09-14 Apple Inc. Performing actions associated with task items that represent tasks to perform
US11127397B2 (en) 2015-05-27 2021-09-21 Apple Inc. Device voice control
US11126400B2 (en) 2015-09-08 2021-09-21 Apple Inc. Zero latency digital assistant
US11126704B2 (en) 2014-08-15 2021-09-21 Apple Inc. Authenticated device used to unlock another device
US11133008B2 (en) 2014-05-30 2021-09-28 Apple Inc. Reducing the need for manual start/end-pointing and trigger phrases
US11140099B2 (en) 2019-05-21 2021-10-05 Apple Inc. Providing message response suggestions
US11169616B2 (en) 2018-05-07 2021-11-09 Apple Inc. Raise to speak
US11170166B2 (en) 2018-09-28 2021-11-09 Apple Inc. Neural typographical error modeling via generative adversarial networks
US11217251B2 (en) 2019-05-06 2022-01-04 Apple Inc. Spoken notifications
US11227589B2 (en) 2016-06-06 2022-01-18 Apple Inc. Intelligent list reading
US11231904B2 (en) 2015-03-06 2022-01-25 Apple Inc. Reducing response latency of intelligent automated assistants
US11237797B2 (en) 2019-05-31 2022-02-01 Apple Inc. User activity shortcut suggestions
US11269678B2 (en) 2012-05-15 2022-03-08 Apple Inc. Systems and methods for integrating third party services with a digital assistant
US11283916B2 (en) 2017-05-16 2022-03-22 Apple Inc. Methods and interfaces for configuring a device in accordance with an audio tone signal
US11289073B2 (en) 2019-05-31 2022-03-29 Apple Inc. Device text to speech
US11301477B2 (en) 2017-05-12 2022-04-12 Apple Inc. Feedback analysis of a digital assistant
US11307752B2 (en) 2019-05-06 2022-04-19 Apple Inc. User configurable task triggers
US11314370B2 (en) 2013-12-06 2022-04-26 Apple Inc. Method for extracting salient dialog usage from live data
US11343335B2 (en) 2014-05-29 2022-05-24 Apple Inc. Message processing by subscriber app prior to message forwarding
US11348582B2 (en) 2008-10-02 2022-05-31 Apple Inc. Electronic devices with voice command and contextual data processing capabilities
US11348573B2 (en) 2019-03-18 2022-05-31 Apple Inc. Multimodality in digital assistant systems
US11360641B2 (en) 2019-06-01 2022-06-14 Apple Inc. Increasing the relevance of new available information
US11380310B2 (en) 2017-05-12 2022-07-05 Apple Inc. Low-latency intelligent automated assistant
US11388291B2 (en) 2013-03-14 2022-07-12 Apple Inc. System and method for processing voicemail
US11392291B2 (en) 2020-09-25 2022-07-19 Apple Inc. Methods and interfaces for media control with dynamic feedback
US11405466B2 (en) 2017-05-12 2022-08-02 Apple Inc. Synchronization and task delegation of a digital assistant
US11423908B2 (en) 2019-05-06 2022-08-23 Apple Inc. Interpreting spoken requests
US11423886B2 (en) 2010-01-18 2022-08-23 Apple Inc. Task flow identification based on user intent
US11431836B2 (en) 2017-05-02 2022-08-30 Apple Inc. Methods and interfaces for initiating media playback
US11462215B2 (en) 2018-09-28 2022-10-04 Apple Inc. Multi-modal inputs for voice commands
US11467802B2 (en) 2017-05-11 2022-10-11 Apple Inc. Maintaining privacy of personal information
US11468282B2 (en) 2015-05-15 2022-10-11 Apple Inc. Virtual assistant in a communication session
US11475898B2 (en) 2018-10-26 2022-10-18 Apple Inc. Low-latency multi-speaker speech recognition
US11475884B2 (en) 2019-05-06 2022-10-18 Apple Inc. Reducing digital assistant latency when a language is incorrectly determined
US11477609B2 (en) 2019-06-01 2022-10-18 Apple Inc. User interfaces for location-related communications
US11481094B2 (en) 2019-06-01 2022-10-25 Apple Inc. User interfaces for location-related communications
US11488406B2 (en) 2019-09-25 2022-11-01 Apple Inc. Text detection using global geometry estimators
US11496600B2 (en) 2019-05-31 2022-11-08 Apple Inc. Remote execution of machine-learned models
US11500672B2 (en) 2015-09-08 2022-11-15 Apple Inc. Distributed personal assistant
US11516537B2 (en) 2014-06-30 2022-11-29 Apple Inc. Intelligent automated assistant for TV user interactions
US11526368B2 (en) 2015-11-06 2022-12-13 Apple Inc. Intelligent automated assistant in a messaging environment
US11532306B2 (en) 2017-05-16 2022-12-20 Apple Inc. Detecting a trigger of a digital assistant
US11539831B2 (en) 2013-03-15 2022-12-27 Apple Inc. Providing remote interactions with host device using a wireless device
US11580990B2 (en) 2017-05-12 2023-02-14 Apple Inc. User-specific acoustic models
US11599331B2 (en) 2017-05-11 2023-03-07 Apple Inc. Maintaining privacy of personal information
US11620103B2 (en) 2019-05-31 2023-04-04 Apple Inc. User interfaces for audio media control
US11638059B2 (en) 2019-01-04 2023-04-25 Apple Inc. Content playback on multiple devices
US11657813B2 (en) 2019-05-31 2023-05-23 Apple Inc. Voice identification in digital assistant systems
US11656884B2 (en) 2017-01-09 2023-05-23 Apple Inc. Application integration with a digital assistant
US11671920B2 (en) 2007-04-03 2023-06-06 Apple Inc. Method and system for operating a multifunction portable electronic device using voice-activation
US11683408B2 (en) 2017-05-16 2023-06-20 Apple Inc. Methods and interfaces for home media control
US11696060B2 (en) 2020-07-21 2023-07-04 Apple Inc. User identification using headphones
US11710482B2 (en) 2018-03-26 2023-07-25 Apple Inc. Natural assistant interaction
US11765209B2 (en) 2020-05-11 2023-09-19 Apple Inc. Digital assistant hardware abstraction
US11790914B2 (en) 2019-06-01 2023-10-17 Apple Inc. Methods and user interfaces for voice-based control of electronic devices
US11798547B2 (en) 2013-03-15 2023-10-24 Apple Inc. Voice activated device for use with a voice-based digital assistant
US11809483B2 (en) 2015-09-08 2023-11-07 Apple Inc. Intelligent automated assistant for media search and playback
US11809783B2 (en) 2016-06-11 2023-11-07 Apple Inc. Intelligent device arbitration and control
US11838734B2 (en) 2020-07-20 2023-12-05 Apple Inc. Multi-device audio adjustment coordination
US11847378B2 (en) 2021-06-06 2023-12-19 Apple Inc. User interfaces for audio routing
US11854539B2 (en) 2018-05-07 2023-12-26 Apple Inc. Intelligent automated assistant for delivering content from user experiences
US11853536B2 (en) 2015-09-08 2023-12-26 Apple Inc. Intelligent automated assistant in a media environment
US11914848B2 (en) 2020-05-11 2024-02-27 Apple Inc. Providing relevant data items based on context
US11928604B2 (en) 2005-09-08 2024-03-12 Apple Inc. Method and apparatus for building an intelligent automated assistant

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8589164B1 (en) * 2012-10-18 2013-11-19 Google Inc. Methods and systems for speech recognition processing using search query information
CN104516887B (zh) * 2013-09-27 2019-08-30 腾讯科技(深圳)有限公司 一种网页数据搜索方法、装置和系统
CN103617278A (zh) * 2013-12-09 2014-03-05 北京奇虎科技有限公司 一种地址栏搜索的控制方法及装置
RU2580431C2 (ru) 2014-03-27 2016-04-10 Общество С Ограниченной Ответственностью "Яндекс" Способ и сервер для обработки поискового запроса и машиночитаемый носитель
WO2015146017A1 (ja) * 2014-03-28 2015-10-01 パナソニックIpマネジメント株式会社 音声検索装置、音声検索方法、および表示装置
CN106649864A (zh) * 2016-12-31 2017-05-10 珠海市魅族科技有限公司 一种信息的展示方法及装置
WO2019070234A1 (en) 2017-10-03 2019-04-11 Google Llc COORDINATION OF PARALLEL PROCESSING OF AUDIO REQUESTS OVER MULTIPLE DEVICE ASSEMBLY
JP6904225B2 (ja) * 2017-11-15 2021-07-14 トヨタ自動車株式会社 情報処理装置
KR102214990B1 (ko) * 2018-11-26 2021-02-15 김준 북마크관리 및 정보검색 서비스 제공시스템 및 이를 이용한 북마크관리 및 정보검색 서비스 제공방법
JP6555838B1 (ja) * 2018-12-19 2019-08-07 Jeインターナショナル株式会社 音声問合せシステム、音声問合せ処理方法、スマートスピーカー運用サーバー装置、チャットボットポータルサーバー装置、およびプログラム。
CN111343506B (zh) * 2020-02-12 2022-11-29 咪咕文化科技有限公司 一种视频搜索方法、装置、系统、服务器和可读存储介质
US11962455B2 (en) 2021-11-29 2024-04-16 T-Mobile Usa, Inc. Prioritizing multiple issues associated with a wireless telecommunication network

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1176432C (zh) * 1999-07-28 2004-11-17 国际商业机器公司 提供本国语言查询服务的方法和系统
JP4325075B2 (ja) * 2000-04-21 2009-09-02 ソニー株式会社 データオブジェクト管理装置
US7502774B2 (en) * 2004-12-09 2009-03-10 International Business Machines Corporation Ring method, apparatus, and computer program product for managing federated search results in a heterogeneous environment
US7921091B2 (en) * 2004-12-16 2011-04-05 At&T Intellectual Property Ii, L.P. System and method for providing a natural language interface to a database
CN100375094C (zh) * 2005-08-23 2008-03-12 萧学文 实现移动终端搜索网络资源的系统及方法
US8065286B2 (en) * 2006-01-23 2011-11-22 Chacha Search, Inc. Scalable search system using human searchers
JP4762063B2 (ja) * 2006-06-29 2011-08-31 株式会社日立製作所 計算機システム、プログラム及び検索エンジン検索方法
US7930286B2 (en) * 2007-02-16 2011-04-19 Yahoo! Inc. Federated searches implemented across multiple search engines
CN101505328A (zh) * 2008-02-04 2009-08-12 台达电子工业股份有限公司 应用语音识别的网络数据检索方法及其系统
US8364481B2 (en) * 2008-07-02 2013-01-29 Google Inc. Speech recognition with parallel recognition tasks
CN101820592A (zh) * 2009-02-27 2010-09-01 华为技术有限公司 移动搜索方法及装置
US9684741B2 (en) * 2009-06-05 2017-06-20 Microsoft Technology Licensing, Llc Presenting search results according to query domains

Cited By (164)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11928604B2 (en) 2005-09-08 2024-03-12 Apple Inc. Method and apparatus for building an intelligent automated assistant
US11671920B2 (en) 2007-04-03 2023-06-06 Apple Inc. Method and system for operating a multifunction portable electronic device using voice-activation
US11979836B2 (en) 2007-04-03 2024-05-07 Apple Inc. Method and system for operating a multi-function portable electronic device using voice-activation
US11348582B2 (en) 2008-10-02 2022-05-31 Apple Inc. Electronic devices with voice command and contextual data processing capabilities
US11900936B2 (en) 2008-10-02 2024-02-13 Apple Inc. Electronic devices with voice command and contextual data processing capabilities
US10741185B2 (en) 2010-01-18 2020-08-11 Apple Inc. Intelligent automated assistant
US11423886B2 (en) 2010-01-18 2022-08-23 Apple Inc. Task flow identification based on user intent
US10692504B2 (en) 2010-02-25 2020-06-23 Apple Inc. User profiling for voice input processing
US11120372B2 (en) 2011-06-03 2021-09-14 Apple Inc. Performing actions associated with task items that represent tasks to perform
US11755712B2 (en) 2011-09-29 2023-09-12 Apple Inc. Authentication with secondary approver
US10419933B2 (en) 2011-09-29 2019-09-17 Apple Inc. Authentication with secondary approver
US10516997B2 (en) 2011-09-29 2019-12-24 Apple Inc. Authentication with secondary approver
US10484384B2 (en) 2011-09-29 2019-11-19 Apple Inc. Indirect authentication
US11200309B2 (en) 2011-09-29 2021-12-14 Apple Inc. Authentication with secondary approver
US11269678B2 (en) 2012-05-15 2022-03-08 Apple Inc. Systems and methods for integrating third party services with a digital assistant
US11321116B2 (en) 2012-05-15 2022-05-03 Apple Inc. Systems and methods for integrating third party services with a digital assistant
US10978090B2 (en) 2013-02-07 2021-04-13 Apple Inc. Voice trigger for a digital assistant
US11636869B2 (en) 2013-02-07 2023-04-25 Apple Inc. Voice trigger for a digital assistant
US11557310B2 (en) 2013-02-07 2023-01-17 Apple Inc. Voice trigger for a digital assistant
US10714117B2 (en) 2013-02-07 2020-07-14 Apple Inc. Voice trigger for a digital assistant
US11862186B2 (en) 2013-02-07 2024-01-02 Apple Inc. Voice trigger for a digital assistant
US11388291B2 (en) 2013-03-14 2022-07-12 Apple Inc. System and method for processing voicemail
US11798547B2 (en) 2013-03-15 2023-10-24 Apple Inc. Voice activated device for use with a voice-based digital assistant
US11539831B2 (en) 2013-03-15 2022-12-27 Apple Inc. Providing remote interactions with host device using a wireless device
US11727219B2 (en) 2013-06-09 2023-08-15 Apple Inc. System and method for inferring user intent from speech inputs
US11048473B2 (en) 2013-06-09 2021-06-29 Apple Inc. Device, method, and graphical user interface for enabling conversation persistence across two or more instances of a digital assistant
US10769385B2 (en) 2013-06-09 2020-09-08 Apple Inc. System and method for inferring user intent from speech inputs
US11314370B2 (en) 2013-12-06 2022-04-26 Apple Inc. Method for extracting salient dialog usage from live data
US11343335B2 (en) 2014-05-29 2022-05-24 Apple Inc. Message processing by subscriber app prior to message forwarding
US10866731B2 (en) 2014-05-30 2020-12-15 Apple Inc. Continuity of applications across devices
US11257504B2 (en) 2014-05-30 2022-02-22 Apple Inc. Intelligent assistant for home automation
US10417344B2 (en) 2014-05-30 2019-09-17 Apple Inc. Exemplar-based natural language processing
US10699717B2 (en) 2014-05-30 2020-06-30 Apple Inc. Intelligent assistant for home automation
US11256294B2 (en) 2014-05-30 2022-02-22 Apple Inc. Continuity of applications across devices
US10714095B2 (en) 2014-05-30 2020-07-14 Apple Inc. Intelligent assistant for home automation
US10878809B2 (en) 2014-05-30 2020-12-29 Apple Inc. Multi-command single utterance input method
US11133008B2 (en) 2014-05-30 2021-09-28 Apple Inc. Reducing the need for manual start/end-pointing and trigger phrases
US11670289B2 (en) 2014-05-30 2023-06-06 Apple Inc. Multi-command single utterance input method
US11907013B2 (en) 2014-05-30 2024-02-20 Apple Inc. Continuity of applications across devices
US10616416B2 (en) 2014-05-30 2020-04-07 Apple Inc. User interface for phone call routing among devices
US11699448B2 (en) 2014-05-30 2023-07-11 Apple Inc. Intelligent assistant for home automation
US11810562B2 (en) 2014-05-30 2023-11-07 Apple Inc. Reducing the need for manual start/end-pointing and trigger phrases
US11516537B2 (en) 2014-06-30 2022-11-29 Apple Inc. Intelligent automated assistant for TV user interactions
US11838579B2 (en) 2014-06-30 2023-12-05 Apple Inc. Intelligent automated assistant for TV user interactions
US11126704B2 (en) 2014-08-15 2021-09-21 Apple Inc. Authenticated device used to unlock another device
US10390213B2 (en) 2014-09-30 2019-08-20 Apple Inc. Social reminders
US10438595B2 (en) 2014-09-30 2019-10-08 Apple Inc. Speaker identification and unsupervised speaker adaptation techniques
US11231904B2 (en) 2015-03-06 2022-01-25 Apple Inc. Reducing response latency of intelligent automated assistants
KR20170105581A (ko) * 2015-03-08 2017-09-19 애플 인크. 가상 어시스턴트 연속성
US10930282B2 (en) 2015-03-08 2021-02-23 Apple Inc. Competing devices responding to voice triggers
US11087759B2 (en) 2015-03-08 2021-08-10 Apple Inc. Virtual assistant activation
US11842734B2 (en) 2015-03-08 2023-12-12 Apple Inc. Virtual assistant activation
US10567477B2 (en) 2015-03-08 2020-02-18 Apple Inc. Virtual assistant continuity
US10529332B2 (en) 2015-03-08 2020-01-07 Apple Inc. Virtual assistant activation
US11468282B2 (en) 2015-05-15 2022-10-11 Apple Inc. Virtual assistant in a communication session
US11070949B2 (en) 2015-05-27 2021-07-20 Apple Inc. Systems and methods for proactively identifying and surfacing relevant content on an electronic device with a touch-sensitive display
US11127397B2 (en) 2015-05-27 2021-09-21 Apple Inc. Device voice control
US10681212B2 (en) 2015-06-05 2020-06-09 Apple Inc. Virtual assistant aided communication with 3rd party service in a communication session
US11947873B2 (en) 2015-06-29 2024-04-02 Apple Inc. Virtual assistant for media playback
US11010127B2 (en) 2015-06-29 2021-05-18 Apple Inc. Virtual assistant for media playback
US11853536B2 (en) 2015-09-08 2023-12-26 Apple Inc. Intelligent automated assistant in a media environment
US11126400B2 (en) 2015-09-08 2021-09-21 Apple Inc. Zero latency digital assistant
US11550542B2 (en) 2015-09-08 2023-01-10 Apple Inc. Zero latency digital assistant
US11500672B2 (en) 2015-09-08 2022-11-15 Apple Inc. Distributed personal assistant
US11809483B2 (en) 2015-09-08 2023-11-07 Apple Inc. Intelligent automated assistant for media search and playback
US11954405B2 (en) 2015-09-08 2024-04-09 Apple Inc. Zero latency digital assistant
US11809886B2 (en) 2015-11-06 2023-11-07 Apple Inc. Intelligent automated assistant in a messaging environment
US11526368B2 (en) 2015-11-06 2022-12-13 Apple Inc. Intelligent automated assistant in a messaging environment
US10956666B2 (en) 2015-11-09 2021-03-23 Apple Inc. Unconventional virtual assistant interactions
US11886805B2 (en) 2015-11-09 2024-01-30 Apple Inc. Unconventional virtual assistant interactions
US10942703B2 (en) 2015-12-23 2021-03-09 Apple Inc. Proactive assistance based on dialog communication between devices
US10749967B2 (en) 2016-05-19 2020-08-18 Apple Inc. User interface for remote authorization
US10334054B2 (en) 2016-05-19 2019-06-25 Apple Inc. User interface for a device requesting remote authorization
US11206309B2 (en) 2016-05-19 2021-12-21 Apple Inc. User interface for remote authorization
US11227589B2 (en) 2016-06-06 2022-01-18 Apple Inc. Intelligent list reading
US11037565B2 (en) 2016-06-10 2021-06-15 Apple Inc. Intelligent digital assistant in a multi-tasking environment
US11657820B2 (en) 2016-06-10 2023-05-23 Apple Inc. Intelligent digital assistant in a multi-tasking environment
US11152002B2 (en) 2016-06-11 2021-10-19 Apple Inc. Application integration with a digital assistant
US10580409B2 (en) 2016-06-11 2020-03-03 Apple Inc. Application integration with a digital assistant
US11749275B2 (en) 2016-06-11 2023-09-05 Apple Inc. Application integration with a digital assistant
US11809783B2 (en) 2016-06-11 2023-11-07 Apple Inc. Intelligent device arbitration and control
US11900372B2 (en) 2016-06-12 2024-02-13 Apple Inc. User interfaces for transactions
US11037150B2 (en) 2016-06-12 2021-06-15 Apple Inc. User interfaces for transactions
US10474753B2 (en) 2016-09-07 2019-11-12 Apple Inc. Language identification using recurrent neural networks
US11656884B2 (en) 2017-01-09 2023-05-23 Apple Inc. Application integration with a digital assistant
US11431836B2 (en) 2017-05-02 2022-08-30 Apple Inc. Methods and interfaces for initiating media playback
US10741181B2 (en) 2017-05-09 2020-08-11 Apple Inc. User interface for correcting recognition errors
US10395654B2 (en) 2017-05-11 2019-08-27 Apple Inc. Text normalization based on a data-driven learning network
US11599331B2 (en) 2017-05-11 2023-03-07 Apple Inc. Maintaining privacy of personal information
US11467802B2 (en) 2017-05-11 2022-10-11 Apple Inc. Maintaining privacy of personal information
US11837237B2 (en) 2017-05-12 2023-12-05 Apple Inc. User-specific acoustic models
US11405466B2 (en) 2017-05-12 2022-08-02 Apple Inc. Synchronization and task delegation of a digital assistant
US11380310B2 (en) 2017-05-12 2022-07-05 Apple Inc. Low-latency intelligent automated assistant
US11580990B2 (en) 2017-05-12 2023-02-14 Apple Inc. User-specific acoustic models
US11538469B2 (en) 2017-05-12 2022-12-27 Apple Inc. Low-latency intelligent automated assistant
US11862151B2 (en) 2017-05-12 2024-01-02 Apple Inc. Low-latency intelligent automated assistant
US11301477B2 (en) 2017-05-12 2022-04-12 Apple Inc. Feedback analysis of a digital assistant
US11283916B2 (en) 2017-05-16 2022-03-22 Apple Inc. Methods and interfaces for configuring a device in accordance with an audio tone signal
US11750734B2 (en) 2017-05-16 2023-09-05 Apple Inc. Methods for initiating output of at least a component of a signal representative of media currently being played back by another device
US11201961B2 (en) 2017-05-16 2021-12-14 Apple Inc. Methods and interfaces for adjusting the volume of media
US11675829B2 (en) 2017-05-16 2023-06-13 Apple Inc. Intelligent automated assistant for media exploration
US11095766B2 (en) 2017-05-16 2021-08-17 Apple Inc. Methods and interfaces for adjusting an audible signal based on a spatial position of a voice command source
US11532306B2 (en) 2017-05-16 2022-12-20 Apple Inc. Detecting a trigger of a digital assistant
US11683408B2 (en) 2017-05-16 2023-06-20 Apple Inc. Methods and interfaces for home media control
US10748546B2 (en) 2017-05-16 2020-08-18 Apple Inc. Digital assistant services based on device capabilities
US10992795B2 (en) 2017-05-16 2021-04-27 Apple Inc. Methods and interfaces for home media control
US10311144B2 (en) 2017-05-16 2019-06-04 Apple Inc. Emoji word sense disambiguation
US11412081B2 (en) 2017-05-16 2022-08-09 Apple Inc. Methods and interfaces for configuring an electronic device to initiate playback of media
US10909171B2 (en) 2017-05-16 2021-02-02 Apple Inc. Intelligent automated assistant for media exploration
US10592604B2 (en) 2018-03-12 2020-03-17 Apple Inc. Inverse text normalization for automatic speech recognition
US11710482B2 (en) 2018-03-26 2023-07-25 Apple Inc. Natural assistant interaction
US11487364B2 (en) 2018-05-07 2022-11-01 Apple Inc. Raise to speak
US11854539B2 (en) 2018-05-07 2023-12-26 Apple Inc. Intelligent automated assistant for delivering content from user experiences
US11169616B2 (en) 2018-05-07 2021-11-09 Apple Inc. Raise to speak
US11900923B2 (en) 2018-05-07 2024-02-13 Apple Inc. Intelligent automated assistant for delivering content from user experiences
US11907436B2 (en) 2018-05-07 2024-02-20 Apple Inc. Raise to speak
US10892996B2 (en) 2018-06-01 2021-01-12 Apple Inc. Variable latency device coordination
US11431642B2 (en) 2018-06-01 2022-08-30 Apple Inc. Variable latency device coordination
US11360577B2 (en) 2018-06-01 2022-06-14 Apple Inc. Attention aware virtual assistant dismissal
US10984798B2 (en) 2018-06-01 2021-04-20 Apple Inc. Voice interaction at a primary device to access call functionality of a companion device
US11630525B2 (en) 2018-06-01 2023-04-18 Apple Inc. Attention aware virtual assistant dismissal
US11009970B2 (en) 2018-06-01 2021-05-18 Apple Inc. Attention aware virtual assistant dismissal
US10720160B2 (en) 2018-06-01 2020-07-21 Apple Inc. Voice interaction at a primary device to access call functionality of a companion device
US11010561B2 (en) 2018-09-27 2021-05-18 Apple Inc. Sentiment prediction from textual data
US10839159B2 (en) 2018-09-28 2020-11-17 Apple Inc. Named entity normalization in a spoken dialog system
US11462215B2 (en) 2018-09-28 2022-10-04 Apple Inc. Multi-modal inputs for voice commands
US11170166B2 (en) 2018-09-28 2021-11-09 Apple Inc. Neural typographical error modeling via generative adversarial networks
US11893992B2 (en) 2018-09-28 2024-02-06 Apple Inc. Multi-modal inputs for voice commands
US11475898B2 (en) 2018-10-26 2022-10-18 Apple Inc. Low-latency multi-speaker speech recognition
US11638059B2 (en) 2019-01-04 2023-04-25 Apple Inc. Content playback on multiple devices
US11348573B2 (en) 2019-03-18 2022-05-31 Apple Inc. Multimodality in digital assistant systems
US11783815B2 (en) 2019-03-18 2023-10-10 Apple Inc. Multimodality in digital assistant systems
US11217251B2 (en) 2019-05-06 2022-01-04 Apple Inc. Spoken notifications
US11675491B2 (en) 2019-05-06 2023-06-13 Apple Inc. User configurable task triggers
US11475884B2 (en) 2019-05-06 2022-10-18 Apple Inc. Reducing digital assistant latency when a language is incorrectly determined
US11705130B2 (en) 2019-05-06 2023-07-18 Apple Inc. Spoken notifications
US11423908B2 (en) 2019-05-06 2022-08-23 Apple Inc. Interpreting spoken requests
US11307752B2 (en) 2019-05-06 2022-04-19 Apple Inc. User configurable task triggers
US11888791B2 (en) 2019-05-21 2024-01-30 Apple Inc. Providing message response suggestions
US11140099B2 (en) 2019-05-21 2021-10-05 Apple Inc. Providing message response suggestions
US11853646B2 (en) 2019-05-31 2023-12-26 Apple Inc. User interfaces for audio media control
US11360739B2 (en) 2019-05-31 2022-06-14 Apple Inc. User activity shortcut suggestions
US11237797B2 (en) 2019-05-31 2022-02-01 Apple Inc. User activity shortcut suggestions
US11289073B2 (en) 2019-05-31 2022-03-29 Apple Inc. Device text to speech
US11657813B2 (en) 2019-05-31 2023-05-23 Apple Inc. Voice identification in digital assistant systems
US11620103B2 (en) 2019-05-31 2023-04-04 Apple Inc. User interfaces for audio media control
US11496600B2 (en) 2019-05-31 2022-11-08 Apple Inc. Remote execution of machine-learned models
US10996917B2 (en) 2019-05-31 2021-05-04 Apple Inc. User interfaces for audio media control
US11010121B2 (en) 2019-05-31 2021-05-18 Apple Inc. User interfaces for audio media control
US11755273B2 (en) 2019-05-31 2023-09-12 Apple Inc. User interfaces for audio media control
US11790914B2 (en) 2019-06-01 2023-10-17 Apple Inc. Methods and user interfaces for voice-based control of electronic devices
US11481094B2 (en) 2019-06-01 2022-10-25 Apple Inc. User interfaces for location-related communications
US11360641B2 (en) 2019-06-01 2022-06-14 Apple Inc. Increasing the relevance of new available information
US11477609B2 (en) 2019-06-01 2022-10-18 Apple Inc. User interfaces for location-related communications
US11488406B2 (en) 2019-09-25 2022-11-01 Apple Inc. Text detection using global geometry estimators
US11765209B2 (en) 2020-05-11 2023-09-19 Apple Inc. Digital assistant hardware abstraction
US11914848B2 (en) 2020-05-11 2024-02-27 Apple Inc. Providing relevant data items based on context
US11924254B2 (en) 2020-05-11 2024-03-05 Apple Inc. Digital assistant hardware abstraction
US11838734B2 (en) 2020-07-20 2023-12-05 Apple Inc. Multi-device audio adjustment coordination
US11696060B2 (en) 2020-07-21 2023-07-04 Apple Inc. User identification using headphones
US11750962B2 (en) 2020-07-21 2023-09-05 Apple Inc. User identification using headphones
US11782598B2 (en) 2020-09-25 2023-10-10 Apple Inc. Methods and interfaces for media control with dynamic feedback
US11392291B2 (en) 2020-09-25 2022-07-19 Apple Inc. Methods and interfaces for media control with dynamic feedback
US11847378B2 (en) 2021-06-06 2023-12-19 Apple Inc. User interfaces for audio routing

Also Published As

Publication number Publication date
JP5851507B2 (ja) 2016-02-03
CN103339623A (zh) 2013-10-02
EP2612261B1 (en) 2018-11-07
WO2012033820A2 (en) 2012-03-15
CN103339623B (zh) 2018-05-25
EP2612261A2 (en) 2013-07-10
WO2012033820A3 (en) 2013-01-31
JP2013537332A (ja) 2013-09-30

Similar Documents

Publication Publication Date Title
EP2612261B1 (en) Internet search related methods and apparatus
US8666963B2 (en) Method and apparatus for processing spoken search queries
US8745025B2 (en) Methods and apparatus for searching the Internet
TWI522819B (zh) 執行網際網路搜尋的方法及裝置
US20120060113A1 (en) Methods and apparatus for displaying content
TWI540448B (zh) 選擇搜尋引擎以對其提供搜尋查詢的方法及裝置
US8812474B2 (en) Methods and apparatus for identifying and providing information sought by a user
US9489457B2 (en) Methods and apparatus for initiating an action
US9292603B2 (en) Receipt and processing of user-specified queries
US8635201B2 (en) Methods and apparatus for employing a user's location in providing information to the user
US20130018864A1 (en) Methods and apparatus for identifying and providing information of various types to a user
US20130086028A1 (en) Receiving and processing user-specified queries
US11899706B2 (en) Content-specific keyword notification system
US20130086027A1 (en) Techniques for the receipt and processing of user-specified queries
US20130086025A1 (en) Techniques for receiving and processing one or more user-specified queries
US20130086026A1 (en) Techniques relating to receiving and processing user-specified queries
CN112868003A (zh) 使用用户互动度的基于实体的搜索系统
CN109829117A (zh) 用于推送信息的方法和装置
EP2732389A2 (en) Methods and apparatus for identifying and providing information sought by a user
EP2761505A1 (en) Techniques for receiving and processing one or more user-specified queries

Legal Events

Date Code Title Description
WITN Application deemed withdrawn, e.g. because no request for examination was filed or no examination fee was paid