KR20130009961A - 실시간 피드백에 의한 정보 검색 시스템 - Google Patents

실시간 피드백에 의한 정보 검색 시스템 Download PDF

Info

Publication number
KR20130009961A
KR20130009961A KR1020127022631A KR20127022631A KR20130009961A KR 20130009961 A KR20130009961 A KR 20130009961A KR 1020127022631 A KR1020127022631 A KR 1020127022631A KR 20127022631 A KR20127022631 A KR 20127022631A KR 20130009961 A KR20130009961 A KR 20130009961A
Authority
KR
South Korea
Prior art keywords
query
query term
live content
user
live
Prior art date
Application number
KR1020127022631A
Other languages
English (en)
Other versions
KR101680288B1 (ko
Inventor
마이클 제이. 리보
프라센지트 푸칸
Original Assignee
구글 인코포레이티드
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 구글 인코포레이티드 filed Critical 구글 인코포레이티드
Publication of KR20130009961A publication Critical patent/KR20130009961A/ko
Application granted granted Critical
Publication of KR101680288B1 publication Critical patent/KR101680288B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/332Query formulation
    • G06F16/3322Query formulation using system suggestions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/3331Query processing
    • G06F16/3332Query translation
    • G06F16/3338Query expansion
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/338Presentation of query results

Landscapes

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

Abstract

라이브 검색 제안들을 제공하기 위하여 컴퓨터 저장 매체에 부호화된 컴퓨터 프로그램들을 포함하는, 방법들, 시스템들, 및 장비들이 제공된다. 일 측면에 있어서, 방법은 클라이언트 장치에 의하여 제안 쿼리 용어를 획득하고, 상기 제안 쿼리 용어를 획득하는 것에 응답하여 제안 쿼리 용어와 관련된 라이브 콘텐츠를 획득하기 위한 라이브 쿼리를 개시하는 단계, 상기 라이브 콘텐츠를 수신하는 단계, 및 상기 클라이언트 장치의 사용자 인터페이스 상에 상기 라이브 콘텐츠를 디스플레이하는 단계를 포함한다.

Description

실시간 피드백에 의한 정보 검색 시스템 {INFORMATION SEARCH SYSTEM WITH REAL-TIME FEEDBACK}
본 출원은 2010년 2월 3일 출원되었으며, 실시간 피드백에 의한 정보 검색 시스템이라고 명명된 미국 출원 12/699,532호에 대한 우선권을 주장한다. 이 미국 출원은 본 출원에 참조로서 포함된다.
본 명세서는 검색 엔진들과 관련된다.
인터넷에서 사용 가능한 정보의 양이 급격히 증가함에 따라, 사용자들은 특정하면서도 적절한 정보를 찾기 위한 효과적인 검색 쿼리(query)를 만들어내는 데에 어려움을 겪고 있다. 최근에는, 검색 엔진 제공자들 사이의 경쟁으로 인하여, 검색 엔진 알고리즘의 발전뿐만 아니라 검색 결과들을 표시하는 데 사용되는 사용자 인터페이스(user interface)에 있어서도 가속이 촉발되고 있다.
사용자가 검색 박스 또는 검색 영역의 다른 서식에 쿼리 용어를 입력하는 경우, 검색 엔진은 다수의 적절한 쿼리 교정 전략들을 이용하여 제안 쿼리 용어(suggested query term)들을 생성하고 제공함으로써 응답할 수 있다. 일 예에 있어서, 제안 쿼리 용어는 사용자가 방금 타이핑하기 시작한 것의 완전 단어(full word), 또는 사용자가 과거에 선택했었던 제안 쿼리 용어일 수 있다. 다른 예에 있어서, 제안 쿼리 용어는, 생성된 검색 결과가, 사용자가 입력한 쿼리 용어를 이용하여 생성된 검색 결과보다, 과거에 검색 엔진의 다른 사용자에 의하여 사용되어 그들 사용자들에게 보다 만족을 주었던 검색 쿼리일 수 있다. 또 다른 예에 있어서, 제안 쿼리 용어는 사용자가 입력할 의도를 가지고 있었거나, 또는 검색 엔진을 사용하는 데에 보다 많은 경험을 가지고 있거나, 추가적인 사실들을 인식하고 있었다면 입력하였을 것이라고 보이는 용어들일 수 있다.
하지만, 어떠한 쿼리 교정 전략이 사용되었는지에 관계없이, 제안 쿼리 용어들 그들 자체는 사용자의 과거 행위들, 기 정의된(predefined) 쿼리 포맷들(formats), 또는 기 설정된(predetermined) 쿼리 재설정 규칙들과 같은 과거 정보에 기초하여 생성될 수 있다. 그들이 사람, 장소, 이벤트 또는 그들이 참조하는 다른 것과 연관된 어떠한 실시간 정보 또는 상태에 대한 통찰을 제공하지는 않기 때문에, 제안 쿼리 용어들 그들 자체는 본 명세서에서 "고정적(static)", "오래된(stale)", 또는 "업데이트되지 않은(un-updated)" 콘텐츠로 여겨진다.
본 명세서 내에서 설명된 주제(subject matter)의 한 혁신적인 측면에 있어서, 단순히 제안 쿼리 용어들 또는 다른 고정된 콘텐츠만을 생성하거나 제공하는 대신에, 검색 엔진은, 제안 쿼리 용어들에 의하여 참조될 수 있는 사람, 장소, 이벤트 또는 다른 것들에 대한 다른 "라이브(live)" 콘텐츠를 얻기 위하여, 제안 쿼리 용어들 그들 자체를 생성하는 것과 실시간으로 또는 거의 실시간으로, 제안 쿼리 용어들을 이용할 수 있다. 이러한 추가적인 콘텐츠는 본 명세서에서 "라이브", "신선한(fresh)", "실시간의(real time)", "현재 하는(current)", 또는 "업데이트된(updated)" 콘텐츠, 정보, 또는 피드백으로 일컬어지며, 이것은 검색 엔진에 의하여 제안 쿼리 용어들이 생성된 시점, 또는 직후에 획득(그래서 "라이브")되기 때문에, 따라서 실시간 정보를 반영한다. 콘텐츠는 제안 쿼리 용어가 생성되거나 사용자가 전부 또는 일부 쿼리 용어를 입력하는 정확한 시점(exact moment)에 현재 하지 못할 수 있기 때문에, 그 대신에 생성된 콘텐츠는 "실질적인 라이브(substantially live)" 콘텐츠라고 일컬어질 수 있다. 일단 획득되면, 라이브 콘텐츠는, 연관된 제안 쿼리 용어를 나타내는 대신에, 또는 덧붙여 나타내어질 수 있다.
예를 들어, 제안 쿼리 용어, "weather New York"을 생성하는 것에 응답하여, 검색 엔진 또는 클라이언트 장치는 자동적으로 쿼리("라이브 쿼리" 또는 "실질적인 라이브 쿼리"라고 일컬음)를 수행하여, 제안 쿼리 용어가 생성된 시점에, 또는 직후의 뉴욕 시에 대한 날씨 정보를 라이브 콘텐츠로 결정하거나 식별한다. 실시간 또는 실시간과 가까운 정보를 반영한, 이러한 현재의 날씨 데이터는, 클라이언트 장치의 사용자 인터페이스를 통하여 제안 쿼리 용어 그 자체와 함께 또는 대신에 사용자에게 제공될 수 있다. 이러한 라이브 콘텐츠는 사용자에게 나타내어지기 전에 클라이언트 장치 또는 검색 엔진에 의하여 처리될 수 있으며, 텍스트 데이터(예를 들어, 현재 온도를 읽은 세 자릿수(three digit), 또는 현재 날씨 데이터를 포함하는 XML 문서) 또는 다른 형태의 데이터(예를 들어, 현재 날씨를 시사하는 이미지 또는 아이콘, 또는 날씨 보고서를 읽은 사운드 파일)를 포함할 수 있다.
일반적으로, 본 명세서에 설명된 주제의 또 다른 혁신적인 측면은 클라이언트 장치로부터 제안 쿼리 용어를 획득하고, 제안 쿼리 용어를 획득하는 것에 응답하여 제안 쿼리 용어와 연관된 라이브 콘텐츠를 얻기 위한 라이브 쿼리를 개시하며, 라이브 콘텐츠를 획득하고, 클라이언트 장치의 사용자 인터페이스 상에 라이브 콘텐츠를 표시하는 행위들을 포함하는 방법에 의하여 구현될 수 있다. 이러한 측면의 다른 구현들은 컴퓨터 저장 장치들에 부호화된(encoded) 방법의 행위들을 수행하는 대응 시스템들, 장비들 및 컴퓨터 프로그램들을 포함한다.
이들과 다른 구현들은 하나 이상의 아래와 같은 특징들을 각각 선택적으로 포함할 수 있다. 예를 들어, 라이브 콘텐츠는 제안 쿼리 용어들의 리스트 사이에, 제안 쿼리 용어들의 리스트 상에 제안 쿼리 용어들을 대신하여, 또는 제안 쿼리 용어들의 리스트 상에 제안 쿼리 용어들과 인접하여, 검색 박스 아래의 드롭 다운 메뉴(drop-down menu) 상에 표시될 수 있다. 제안 쿼리 용어를 획득하는 단계는 사용자-입력 쿼리 용어를 수신하는 단계, 및 사용자-입력 쿼리 용어를 이용하여 제안 쿼리 용어를 생성하는 단계, 또는 사용자의 개인화된 검색 히스토리에 접근하는 단계, 및 사용자의 개인화된 검색 히스토리를 이용하여 제안 쿼리 용어를 생성하는 단계를 더 포함할 수 있다. 제안 쿼리 용어는 사용자에게 쿼리 용어를 입력할 것을 요구하지 않고 획득될 수 있으며, 제안 쿼리 용어를 획득하는 것에 응답하여 라이브 쿼리가 자동적으로 개시될 수 있다.
제안 쿼리 용어가 사업체, 위치, POI(Point of interest), 또는 사람을 식별하는 때, 라이브 콘텐츠는, 각각 사업체에 대한 현재 주식 시세, 위치에 대한 현재 날씨, POI와 클라이언트 장치의 현재 위치 사이의 거리, 또는 사람의 상태일 수 있다. 라이브 쿼리는 제안 쿼리 용어 그 자체를 포함할 수 있다. 그 행위들은, 사용자가 제어를 선택한 것을 판단하는 것에 응답하여 제안 쿼리 용어가 자동적으로 획득되는 경우에, 사용자가 검색 다이얼로그를 적용하는 제어를 선택했는 지를 판단하는 단계를 포함할 수 있으며, 또는 그 행위들은 사용자가 라이브 콘텐츠를 포함하는 링크를 선택했는 지를 판단하는 단계, 및 사용자가 선택된 링크를 가지고 있는 지를 감지한 것에 기초하여 제안 쿼리 용어와 관련된 웹 문서에 접근하는 단계를 포함할 수 있다. 라이브 콘텐츠는 라이브 쿼리가 제출되었을 때 현재하는 제안 쿼리 용어와 관련된 정보를 대표할 수 있다. 라이브 콘텐츠는 라이브 쿼리가 수행되는 시점에서 현재하는 제안 쿼리 용어와 관련된 정보를 대표할 수 있다. 제안 쿼리 용어를 획득하는 단계는 제안 쿼리 용어를 생성하는 단계, 또는 검색 엔진으로부터 제안 쿼리 용어를 수신하는 단계를 포함할 수 있다.
일반적으로, 이 명세서에서 기술된 주제의 또 다른 혁신적인 측면은, 검색 엔진에 의하여 제안 쿼리 용어를 생성하는 단계, 제안 쿼리 용어의 생성에 응답하여 상기 제안 쿼리 용어와 관련된 라이브 콘텐츠를 획득하기 위한 쿼리를 실행하는 단계, 라이브 콘텐츠를 획득하는 단계, 및 라이브 콘텐츠를 클라이언트 장치에 제공하는 단계들을 포함하는 행위에 따른 방법에 의하여 구현될 수 있다. 이러한 측면의 다른 실시예들은 방법의 행위들을 수행하도록 하는, 컴퓨터 저장 장치들에 부호화된, 상응하는 시스템들, 장비들, 그리고 컴퓨터 프로그램들을 포함한다.
일반적으로 이 명세서에서 기술된 주제의 또 다른 혁신적인 측면은, 사용자로부터 불완전한 쿼리 용어를 수신하는 단계, 불완전한 쿼리 용어에 기초하여, 상기 불완전한 쿼리 용어를 포함하는 제안 쿼리 용어를 생성하는 단계를 포함하는 행위에 따른 방법에 의하여 구현될 수 있다. 행위들은 또한, 제안 쿼리 용어를 생성하는 것에 응답하여, 제안 쿼리 용어와 관련된 실질적인 라이브 콘텐츠를 획득하기 위하여 제삼자 콘텐츠 제공자의 라이브 쿼리를 개시하는 단계를 포함하며, 라이브 콘텐츠는 제안 쿼리 용어와 연관된 정보를 포함하고 제안 쿼리 용어가 생성되었을 당시, 또는 그 직후에 실질적으로 현재하는 것일 수 있다. 또한, 행위는 제삼자 콘텐츠 제공자로부터 라이브 콘텐츠를 수신하는 단계 및 제안 쿼리 용어와 라이브 콘텐츠를 서로 인접하게 디스플레이하기 위하여 클라이언트 장치에 제공하는 단계를 포함한다.
본 명세서에 설명된 주제의 하나 이상의 실시예의 상세 내용들은 첨부된 도면들과 아래의 상세한 설명에 개시된다. 본 주제의 다른 잠재된 특징들, 측면들, 및 이점들은 상세한 설명, 도면 및 특허청구범위들로부터 자명하게 된다.
도 1은 정보 검색 시스템에 있어서 실시간 피드백을 제공하기 위한 예시적인 프레임워크의 맥락도(contextual diagram)이다.
도 2 및 도 7은 예시적인 시스템들의 블록도들이다.
도 3 및 도 4는 예시적인 프로세스들의 흐름도들이다.
도 5a 내지 도 5c 및 도 6a 내지 도 6d 는 다양한 검색 맥락에 따른 상태들에 있어서 검색 사용자 인터페이스의 예들을 나타낸다.
동일한 참조부호들은 전체에 걸쳐 상응하는 요소들을 나타낸다.
도 1은 정보 검색 시스템(100)에 있어서 실시간 피드백을 제공하기 위한 예시적인 프레임워크의 개념도이다. 보다 구체적으로, 도면에는 정보 검색 시스템(100)을 구성하는 클라이언트 장치(102)(예를 들어, 휴대 전화(cellular telephone), PDA, 또는 개인용 컴퓨터) 및 검색 엔진(104)이 도시되어 있으며, 클라이언트 장치(102)와 검색 엔진(104) 사이의 데이터의 양 흐름(106), 및 다양한 상태에 있어서 클라이언트 장치(102)의 사용자 인터페이스(108)(시간 순서의 상태로 "A"에서 "F"는 각각 사용자 인터페이스 108a 내지 108f로 표시함)도 도시되어 있다. 전자 장치들의 연산 능력과 저장 능력이 증가됨에 따라, 어플리케이션들(applications), (클라이언트 장치(102) 및 검색 엔진(104)과 같은) 장치들과 시스템들의 개발자에게는 이러한 발달을 이용하여, 예를 들어 이하에서 설명될 실시간 피드백을 제공함으로써, 사용자들에게 보다 풍부하고, 보다 호응하도록 하며, 보다 만족스러우며, 사로잡을 수 있는 검색 경험을 제공할 기회가 생겼다.
클라이언트 장치(102)의 사용자는 사용자 인터페이스(108)의 검색 박스(110)안에 쿼리 용어의 일부, 또는 하나 이상의 완전한 쿼리 용어를 입력함으로써 공공의 또는 사설 네트워크에 저장된 정보에 대한 검색을 개시할 수 있다. 클라이언트 장치(102)는, 분명한(explicitly) 쿼리 용어를 입력하지 않고, 이 경우에는 입력된 쿼리 용어가 널 값(Null value)으로 치부될 수 있으나, 검색 다이얼로그(search dialog)를 적용하는 제어를 선택함으로써 정보를 위한 검색을 개시할 수도 있다. 간략하게, 본 명세서에서는 쿼리 용어의 일부 또는 쿼리 용어의 전부(그 자체로 단일 문자(character), 또는 하나 이상의 불완전한 또는 완전한 단어들, 구문들, 문자들의 나열, 또는 표현들) 모두를 "사용자-입력 쿼리 용어" 또는 간단하게 "입력된 쿼리 용어"라고 일컫는다.
일반적으로, 클라이언트 장치(102) 및 검색 엔진(104)은 쿼리와 응답 접근(response approach)을 이용하여 상호작용하며, 클라이언트 장치(102)가 하나 이상의 (입력된 쿼리 용어와 같은) 쿼리 용어들을 포함하는 검색 쿼리 요청을 검색 엔진(104)으로 보내고, 검색 엔진(104)이 쿼리 용어들을 이용하여 검색 쿼리를 실행하고 검색 결과들의 집합을 식별하는 정보와 함께 응답한다. 이 정보는 클라이언트 장치(102)가 검색 엔진 결과 페이지를 표시하기 위하여 처리한 HTML(hypertext markup language) 문서로 포맷될 수 있다. 입력된 쿼리 용어를 이용하여, 검색 엔진(104)은 공공 네트워크(예를 들어, 인터넷) 또는 사설 네트워크(예를 들어, 인트라넷 서버)에 저장된 정보에 대하여 검색 쿼리들을 수행할 수 있다.
검색 엔진(104)에 검색 요청을 보내는 것뿐 아니라, 클라이언트 장치(102)는, 연락처 데이터베이스(contact database), 로컬 파일들, 캐시(cached) 데이터, 히스토리컬(historical) 데이터, 사용자 프로필 정보, 환경설정(configuration settings), 또는 다른 데이터와 같은 클라이언트 장치(102)에 국부적으로 저장된 정보에 대한 검색을 하거나, 또는 쿼리를 수신할 수 있는 능력을 가진 클라이언트 장치(102)에 설치된 어플리케이션에 쿼리하기 위하여 입력된 쿼리 용어를 이용할 수도 있다. 이러한 어플리케이션들은 검색 엔진 대신에 다른 서버들과 통신하여, 클라이언트 장치(102)가 검색 엔진(104)과 통신하여 검색 쿼리들의 결과를 얻는 것과 유사한 방식으로 결과들을 얻을 수 있다. 클라이언트 장치(102)는 국부적으로 저장된 정보, 또는 국부적으로 저장된 정보의 색인의 전부 또는 일부를 주기적으로 검색 엔진(104)에 전송할 수도 있어, 이 정보는 요청된 검색 쿼리의 실행 동안에 검색 엔진(104)에 의하여 검색되고, 검색 쿼리들의 결과로서 리턴될 수 있다.
도 1의 상태 "A"는, 사용자 인터페이스(108a) 내의 검색 박스(110)를 선택함으로써, 사용자가 검색 쿼리를 요청한 경우를 나타낸다. 일부 실시예들에 있어서, 검색 쿼리의 요청 의도는 사용자가 사용자 인터페이스(108) 상의 "검색" 버튼을 선택하는 때, 또는 사용자가 검색 박스(110)(예를 들어, 구글 데스크탑 서치(Google Desktop Search) 또는 툴 바(tool bar) 또는 웹 브라우저 내의 검색 박스)를 클릭, 태핑(taps), 또는 다른 방법으로 선택한 때에 발생한다. 그렇지 않으면(alternatively), 검색 박스(110) 안으로 입력한 쿼리 용어에 대하여 접두사(prefix) 검색이 수행되는 경우, 검색 쿼리의 요청 의도는 사용자가 검색 박스(110) 안으로 하나 이상의 쿼리 용어의 글자를 입력하기 시작함으로써 발생한다.
도시된 예에 있어서, 단일 글자 "w"가 검색 박스(110)에 쿼리 용어로 입력된다. 검색 박스(110) 안으로 입력된 쿼리 용어들에 대하여 접두사 검색이 수행되는 경우, 단일 글자 "w"는 보다 긴 쿼리 용어의 첫 번째 문자로서 입력될 수 있다. 그렇지 않으면, 사용자는 검색 박스(110) 안으로 단일 글자 "w"를 입력하고, 사용자 인터페이스(108) 상의 "검색" 버튼을 선택할 수 있다. 또 그렇지 않으면, 사용자는 음성 인터페이스(voice interface) 안으로 "더블-유(double-you)" 소리를 말할 수 있고, 검색 쿼리를 요청하기 위하여 음성 명령을 말할 수 있다. 어느 경우에 있어서도, 클라이언트 장치(102)는 네트워크를 통하여, 입력된 쿼리 용어 "w"를 포함하는 전송 데이터(113)를 검색 엔진(104)으로 전송하며, 검색 박스(110)를 포함하는 사용자 인터페이스(108a)가 디스플레이된다.
클라이언트 장치(102) 및 검색 엔진(104)은, 그들 각각으로, 또는 서로의 조합 중 어느 하나에 의하여, 사용자-입력 쿼리 용어를 이용하여 제안 쿼리 용어들을 생성할 수 있다. 클라이언트 장치(102) 또는 검색 엔진(104)은 사용자가 검색 박스(110) 안에 완전한 쿼리 용어 또는 구문을 입력한 이후에 각각 제안 쿼리 용어들을 생성하거나, 사용자가 검색 다이얼로그를 적용한 이후이면서 그들이 어떠한 텍스트(text)를 입력하기 이전에 제안 쿼리 용어들을 생성할 수 있다. 또는 접두사 검색에 있어서, 클라이언트 장치(102) 또는 검색 엔진(104)은 사용자가 쿼리 용어 또는 구문을 완성하는 글자를 입력하는 대로 제안 쿼리 용어들을 생성할 수 있다. 이들 제안 쿼리 용어들은 과거의 사용자 또는 다른 사용자들에 대하여 제안되거나 그들에 의하여 선택되었던 용어들을 포함할 수 있다.
검색 쿼리들을 실행하는 것뿐 아니라, 검색 엔진(104)은, 하나 이상의 쿼리 교정 전략들을 이용하여 사용자-입력 쿼리 용어를 하나 이상의 제안 쿼리 용어들로 생성하기 위한 처리를 하는, 쿼리 교정 모듈 또는 어플리케이션을 포함한다. 일 예에 있어서, 제안 쿼리 용어는, 사용자가 텍스트의 다수의 글자들을 입력한 이후, 검색 엔진(104)이 사용자가 타이핑하려고 의도한 것으로 판단한 용어일 수 있다. 예를 들어, 사용자가 작은 키보드를 이용하는 경우, 검색 엔진(104)은 사용자가 선택할 수 있는 다수의 쿼리 용어들을 제안함으로써 사용자가 긴 쿼리 용어나 다수의 쿼리 용어들을 입력하는 번거로움으로부터 피할 수 있게 한다.
또한 제안 쿼리 용어들은, 사용자가 입력한 쿼리 용어를 이용하여 생성된 검색 결과보다, 과거에 검색 엔진의 다른 사용자에 의하여 사용되어 그들 사용자들에게 보다 만족을 주었던 검색 쿼리에 이용되었던 용어들을 포함할 수도 있다. 상태 "B" 에 있어서, 검색 박스(110) 안에 입력된 문자 "w" 만으로, 검색 엔진(104)에 의하여 생성된 제안 쿼리 용어들은 "weather", "Walgreens", "Walmart", 및 "walrus" 또는 다른 용어들을 포함할 수 있다.
만일 검색 엔진(104)이 접두사 검색(또는 "증분 검색(incremental search)")을 실행하고 있다면, 제안 쿼리 용어들은 사용자에 의하여 입력되고 있는 텍스트와 일치하는 용어들이다. 접두사 검색을 이용하여, 사용자는 보다 많은 글자들이 입력되면, 제안 쿼리 용어들이 보다 연관있고 정확해진다는 점을 알게 되고, 제안 쿼리 용어들이 점진적으로 더 정제되는 것을 알 수 있을 것이다. 검색 엔진(104)은 사용자가 쿼리 용어를 입력하는 대로, 예를 들어, 사용자 인터페이스(108b) 내의 검색 박스(110) 아래의 드롭-다운(drop-down) 리스트 내로, 제안 쿼리 용어들을 생성하고 제공할 수 있다.
상이한 쿼리 교정 전략의 일 예에 있어서, 검색 엔진(104)이 그 자체로 어떤, 특정한 형태의 쿼리들에 대하여 직접적으로 대답하는 때(예를 들어, "에베레스트 산의 높이는 얼마(What is the height of mount Everest)" 라는 쿼리 용어를 이용하여, 검색 엔진(104)이 "해발(elevation): 8,848 미터(29,029 피트)"의 검색 결과를 생성), 검색 엔진(104)은 특정한 쿼리들의 형태들과 연관되어 요구되는 형식, 상태 또는 포맷으로 입력된 쿼리 용어를 정렬한 제안 쿼리 용어들을 생성하고 제공한다. 예를 들어, 검색 엔진(104)은, 사용자가 "에베레스트 산의 높이(height of mount Everest)"라는 쿼리 용어만을 입력하였을 때, 만일 질문(interrogatory) 용어 "얼마(What is)" 가 검색 엔진(104)을 작동시켜 검색 엔진(104)으로 하여금 사용자의 의도된 질문에 대하여 직접적으로 대답하도록 한다면, 검색 엔진(104)은 "에베레스트 산의 높이는 얼마(What is the height of mount Everest)"라는 쿼리 용어들을 제안할 수 있다. 또 다른 예에 있어서, 사용자가 "늑대인간의 의미는 무엇(What does lycanthrope mean)", "늑대인간 정의(lycanthrope definition)", 또는 "낭인(狼人)은 무엇(what is a werewolf)" 을 입력하였을 때, 만일 "정의:" 포맷이 요구되어 검색 엔진(104)을 작동시켜 입력된 쿼리 용어를 위하여 사전 정의를 제공하도록 한다면, 검색 엔진은 "정의: 늑대인간(define: lycanthrope)"의 쿼리 용어를 제안할 수 있다.
또 다른 예에 있어서, 만일 검색 엔진(104)이, 그 위치의 현재 날씨에 대하여 직접적으로 대답하기 위하여, 어떠한 특정한 순서로, 쿼리 용어 "weather"와 위치 이름을 요구한다면, 사용자가 "snow nyc", "weather home", "New York weather", "Statue of liberty fog", "날씨 10030" 등을 입력한 때, 검색 엔진(104)은 "weather New York"의 쿼리 용어들을 제안할 수 있다. "snow nyc"의 경우에는, 검색 엔진(104)은 입력된 불완전한 쿼리 용어 "눈"의 보다 일반적인 형태로서 "weather"를 제안 쿼리 용어로 생성할 수 있으며, "nyc"라는 입력된 불완전한 쿼리 용어가, 그 도시를 일컫는 방법으로 잘 알려진 구어(colloquial), 또는 속어의 축약형이라는 것을 나타내는 테이블에 접근함으로써 "New York"이라는 제안 쿼리 용어를 생성할 수 있다.
또 다른 쿼리 교정 전략의 비슷한 예에 있어서, 검색 엔진은 쿼리 용어 "wheather new york"에 대한 철자 확인을 수행할 수 있으며, 대신에 제안 쿼리 용어 "weather New York"을 생성하여 제공할 수 있다. 또한 다른 예에 있어서, 검색 엔진(104)은 사용자-입력 쿼리 용어 "lycanthrope film(늑대인간 필름)"에 기초하여 동의적인(synonymic) 제안 쿼리 용어 "werewolf movie(낭인 영화)"를 생성할 수 있다.
검색 엔진(104)은 과거의 검색 엔진 쿼리들 중에서 사용자에 의하여 이용된 쿼리 용어들, 다른 사용자들의 과거 검색 엔진 쿼리들, 클라이언트 장치(102) 또는 검색 엔진(104)에서 색인된 데이터, 사용자 선호 정보 또는 다른 데이터와 사용자-입력 쿼리 용어를 비교함으로써 제안 쿼리 용어들을 생성할 수 있다. 상태 "B"에 있어서, 예를 들어, 검색 엔진(104)은 사용자-입력 쿼리 용어 "w"에 기초하여 제안 쿼리 용어들 "weather", "Walgreens", "Walmart" 및 "walrus"를 생성하고, 클라이언트 장치(102)로 회신되는 이들 제안 쿼리 용어들을 식별하는 데이터(114)를 전송한다. 검색 엔진(104)에 의하여 식별되는 특정한 제안 쿼리 용어들은 다수의 쿼리 교정 전략들을 이용하여 생성될 수 있다.
검색 엔진(104)은 사용자의 과거 행위, 또는 검색 엔진(104)의 다른 사용자들의 행위에 기초하여 제안 쿼리 용어들을 생성할 수 있다. 검색 엔진(104)은, 예를 들어, 사용자 프로필 또는 브라우저 쿠키(cookie)에 기초하여 사용자를 인식하고, 그 사용자 또는 다른 사용자가 자주 입력하거나, 선택하거나, 또는 관련성을 찾아내거나, 과거에 만족한 쿼리 용어 또는 검색 결과들과 입력된 쿼리 용어를 매치하기 위해 그 정보를 이용할 수 있다. 도시된 예에 있어서, 검색 엔진(104)은, 과거에 다른 사용자들에 의한 이러한 쿼리 용어들을 이용하여 획득되었던 검색 결과들의 관련성 또는 측정된 만족에 기초하여, 제안 쿼리 용어들 "weather", "Walmart", "Walgreens" 또는 "walrus"를 생성할 수 있다.
검색 엔진(104)으로부터 제안 쿼리 용어들을 획득하는 것뿐만 아니라, 또는 그 대신에, 클라이언트 장치(102)는 그 자체적으로 로컬 정보(예를 들어 최근에 실행된 로컬 어플리케이션들 또는 최근에 사용된 쿼리 용어들, 연락처들의 데이터베이스, 또는 클라이언트 장치(102)에 의하여 검색될 수 있도록 등록된 클라이언트 장치의 어플리케이션들)를 검색함으로써 제안 쿼리 용어들을 생성할 수도 있다. 예를 들어, 사용자는 탑재된(onboard) 하드 드라이브, 플래시 메모리, 또는 다른 저장 장치에 하나 이상의 특히 좋아하는(favorite) 위치들, 북 마크된(bookmarked) 또는 특히 좋아하는 웹 페이지, 연락처들, 또는 POI들(예를 들어, 도서관, 레스토랑, 이전에 방문한, '특히 좋아하는', 또는 태그된 위치들)에 대한 정보를 저장할 수 있다. 또 다른 예에 있어서, 사용자의 과거 검색 또는 브라우징 히스토리에 관한 정보는 클라이언트 장치(102)에 저장될 수도 있으며, 제안 쿼리 용어들을 생성하는 데 사용될 수 있다. 만일 검색을 요청하는 의도는 발생하였으나 사용자가 쿼리 용어를 입력하지 않았다면, 클라이언트 장치(104)는 쿼리 용어들을 제안하기 위하여 클라이언트 장치(104)에 의하여 가장 최근에 접근되었던 아이템들, 클라이언트 장치(104)에서 가장 인기 있는 입력된 쿼리 용어들, 또는 이전의 제안 쿼리 용어들을 식별하는 로컬 정보를 이용할 수 있다.
도시된 예에 있어서, 클라이언트 장치(102)는, 상태 "B" 에 있어서, 쿼리 용어 "w"를 이용하여, 연락처의 로컬 데이터베이스 내의 "Wally Anderson"이라는 로컬 연락처를 식별하고, 그 연락처의 이름을 제안 쿼리 용어로 제안할 수 있다. 비슷하게, 클라이언트 장치는, 쿼리 용어 "w"를 이용하여, 최근에 실행되었거나 최근에 설치된 어플리케이션, "Wacky Solitaire"를 식별하고, 그 어플리케이션 이름을 제안 쿼리 용어로 제안할 수 있다. 그렇지 않으면, "Wacky Solitaire"는 클라이언트 장치(102) 상에서 실행되며 그 자체로 검색이 가능하도록 등록된 어플리케이션에 의하여 쿼리 용어로서 제안될 수 있다. 클라이언트(102)와 서버(104) 사이의 도시된 통신뿐만 아니라, 이러한 어플리케이션은 쿼리 용어 "W"를 이용하여 별도의 서버에 쿼리하여 사용 가능한 소프트웨어 다운로드 하거나, 이러한 별도의 서버로부터 제안된 용어 "Wacky Solitaire"를 수신할 수 있다.
사용자가 과거에 쿼리 용어들 "weather New York"을 입력하고 검색 쿼리를 요청하였을 때, 쿼리 용어들 "weather New York"은 사용자의 검색 히스토리에 저장될 수 있고, 용어 "New York"은 사용자 선호 정보 또는 설정에 저장될 수 있다. 이러한 국부적인 정보를 이용하여, 클라이언트 장치(102)는 사용자가 검색 박스(110) 안에 쿼리 용어 "w"를 입력하였을 때 사용자가 동일한 검색 질의를 반복하려는 의도가 있는 것으로 판단하고, 제안 쿼리 용어 "weather New York"을 생성하여 제공할 수 있다. 제안 쿼리 용어 "Weather 92067"을 생성하는 데에 비슷한 프로세스가 이용될 수 있다. 국부적으로 저장된 정보를 이용함으로써, 어떠한 네트워크 전송 지연 없이, 사용자와 클라이언트 장치(102) 사이에서의 이전의 상호작용에 따라 제안 쿼리 용어들이 생성되고 사용자에게 빠르게 제공될 수 있다. 라이브 콘텐츠가 획득되는 동안에, 한 번 라이브 콘텐츠로 여겨졌던, 즉 이전의 선택된 쿼리 용어들과 연관되는 콘텐츠는 캐시로부터 액세스되어 이러한 용어들과 함께 디스플레이된다.
클라이언트 장치(102)는 검색 엔진(104)에 의하여 생성되었거나 검색 엔진(104)으로부터 수신된 제안 쿼리 용어들을 이용하여 로컬 정보(예를 들어, 사용자 선호도 또는 최근에 사용된 쿼리 용어들)를 검색함으로써 다른 제안 쿼리 용어들을 더 생성할 수도 있다. 예를 들어, 클라이언트 장치(102)는 사용자 집 주소(예를 들어, 우편 번호 92067)와 같은 환경 설정 정보 또는 설정을 저장할 수 있다. 검색 엔진(104)에 의하여 쿼리 용어 "weather"가 제안되는 때, 이 쿼리 용어는 "weather 92067"의 제안 쿼리 용어를 형성하기 위하여 사용자의 집 주소 데이터와 병합될 수 있다. 또 다른 예에 있어서, 사용자는 흥미를 가지고 있는 주식 시세 표시 심볼들(stock ticker symbols)의 리스트를 저장할 수 있다. 클라이언트 장치(102) 또는 검색 엔진(104)은 이 정보를 이용하여 제안 쿼리 용어를 생성할 수 있고, 그 제안 쿼리 용어는 사용자에게 회사들의 현재 주식 시세를 쿼리하고 제공하는 데에 이용될 수 있다.
추가적인 예에 있어서, 단일 입력 글자 "w"가 클라이언트 장치(102)에 대하여 지역 날씨 정보를 획득하기 위한 쿼리 용어를 제안하기에 충분하지 않다고 하더라도, 클라이언트 장치(102)는 검색 엔진(104)이 처음으로 쿼리 용어 "weather"를 제안하였을 때 쿼리 용어 "weather New York" 또는 "weather 92067"을 제안할 수 있다. 위에서 설명한 기술뿐만 아니라, 위치들 "New York"과 "92067"은 사용자가 과거에 수행하였던 이전의 "weather" 쿼리들, 또는 클라이언트 장치(102)의 로컬 정보들, 즉 저장된 사용자가 "New York" 또는 우편 번호 "92067"과 연관된 장소에 흥미가 있을 수 있다는 것을 의미하는 것들에 기초하여 식별될 수 있다.
클라이언트 장치(102)에 의한 제안 쿼리 용어들의 집합 및/또는 검색 엔진(104)에 의한 제안 쿼리 용어들의 집합은, 사용자 인터페이스(108b) 내에 도시된 바와 같이 클라이언트 장치(102)에 의하여 디스플레이된다. 제안 쿼리 용어들의 상이한 집합들은 디스플레이 이전에 병합(merge)되거나, 별도로 디스플레이될 수 있다. 사용자 인터페이스(108b) 내에 나타나있는 바와 같이, 클라이언트 장치(102)는 클라이언트 장치(102) 및 검색 엔진(104)에 의하여 생성된 제안 쿼리 용어들을 결합하여, 결합된 쿼리 용어들의 리스트를 검색 박스(100) 아래의 드롭-다운(drop-down) 리스트(116) 내에 디스플레이한다. 쿼리 용어들의 집합들을 결합하는 단계는 중복되는 제안 쿼리 용어들을 삭제하거나, 다른 쿼리 용어들에 걸쳐서 특정 쿼리 용어들의 우선순위를 산정하거나 등급을 선정하는 단계를 포함할 수 있다.
일부 구현예들에 있어서는 모든 제안 쿼리 용어들에 대하여 라이브 쿼리를 형성하여(formulate) 시도가 이루어지기도 하지만, 모든 제안 쿼리 용어를 위하여 라이브 콘텐츠를 획득하거나 라이브 콘텐츠를 획득하기 위한 시도가 필요한 것은 아니다. 상태 "C"에 묘사된 바와 같이, 클라이언트 장치(102)에 의하여 한 번 제안 쿼리 용어들이 획득되면, 라이브 콘텐츠와 연관된 제안 쿼리 용어들의 부분 집합(subset)이 선택될 수 있다. 여기서 부분 집합은 클라이언트 장치(102) 및/또는 검색 엔진(104)에 의하여 생성되는 제안 쿼리 용어들의 전부 또는 전부 보다 적은 것을 포함할 수 있다. 제안 쿼리 용어들과 라이브 콘텐츠 사이의 연계는 검색 엔진(104)에 의하거나 검색 엔진(104)에서 및/또는 클라이언트 장치(102)의 사용자에 의하여 등록될 수 있다.
부분 집합을 위한 제안 쿼리 용어들의 선택의 일 예에 있어서, 현재의 날씨 정보를 라이브 콘텐츠로 획득하기 위하여 용어 "weather" 및 위치 이름 또는 식별자(즉, "weather New York", 및 "weather 92067")를 포함하는 쿼리 용어들이 선택될 수 있다. 어떠한 사람의 현재 상태 또는 위치 정보를 획득하기 위하여, 사람의 이름(즉, "Wally Anderson")을 포함하는 쿼리 용어들이 선택될 수 있다. 예를 들어, 제안 쿼리 용어 "Wally Anderson"은 클라이언트 장치(102)의 로컬 데이터베이스 내에서 연락처로서 클라이언트 장치(102)에 의하여 인지될 수 있으며, 부분집합의 일부로서 선택될 수 있다.
더욱이, 라이브 콘텐츠로서 현재 리뷰 정보 또는 현재 주식 값 정보를 얻기 위하여, 사업체의 이름(즉, "Walgreens", 및 "Walmart")을 포함하는 쿼리 용어들이 선택될 수 있다. 예를 들어, 검색 엔진(104)은 주식 공개 회사들의 데이터베이스로부터 제안 쿼리 용어 "Walmart"를 인식할 수 있으며, 그 제안 쿼리 용어를 부분 집합의 일부로 선택할 수 있다. 하나의 대체적인 접근에 있어서, 컴퓨터의 비용을 최소화하기 위하여, 특별하게 라이브 콘텐츠와 연관되어 있지 않은 다른 제안 쿼리 용어들(즉, "Wacky Solitaire", "walrus", 및 단일 단어 "weather")을 위해서는 라이브 콘텐츠를 획득하기 위한 추가적인 노력이 이루어지지 않는다. 그 대신에, 이러한 제안 쿼리 용어들을 위해서는 라이브 콘텐츠를 획득하기 위한 "디폴트(default)" 처리, 예를 들어 이러한 제안 쿼리 용어들을 이용하여 현재 하는 정보를 위하여 위키피디아(wikipedia) 또는 백과사전에 대하여 라이브 쿼리가 이루어진다. 또한 그 대신에, 만일 어떤 쿼리 용어들에 대하여 라이브 콘텐츠가 획득되지 않는다면, 캐시로부터 획득된 캐시 콘텐츠가 이러한 제안 쿼리 용어들과 함께 디스플레이될 수 있다.
제안 쿼리 용어들의 부분 집합은 제삼자(third party) 서버 또는 서비스와 같이 검색 엔진(104)의 외부로부터 획득된 동적인(dynamic) 정보로부터 적어도 부분적으로 선택될 수 있다. 예를 들어, 사용자는 온라인 연락처 매니저(예를 들어, Gmail 연락처) 또는 소셜 네트워킹 사이트(예를 들어, 페이스 북(Facebook), 링크드인(LinkedIn), 마이 스페이스(MySpace))에 연결될 수 있다. 이러한 사이트들과 서비스들은 제안 쿼리 용어들(예를 들어, "Wally Anderson")이 연락처, 친구, 또는 친구의 친구, 또는 사용자와 달리 연관된 사람인지를 판단하기 위하여 쿼리될 수 있다. 이러한 쿼리의 결과는 제안 쿼리 용어가 제안 쿼리 용어들의 집합의 일부 또는 부분 집합으로서 선택되어야 하는 지를 결정하는 데에 이용될 수 있다.
부분 집합을 선택하기 위하여 제삼자 서버 또는 서비스를 이용하는 다른 예에 있어서, 사용자는 Google Finance, Bloomberg.com, Quicken.com, 또는 사용자가 은행업무, 저축, 신용 또는 투자 정보를 설정할 수 있는 다른 사이트와 같은 재정 정보 또는 경영 서비스와 연계될 수 있다. 클라이언트 장치(102) 또는 검색 엔진(104)은 재정 정보 또는 경영 서비스 상의 사용자의 계좌와 연계된 정보를 제안 쿼리 용어들을 비교하여 이러한 제안 쿼리 용어들 중의 일부를 부분 집합의 일부분으로서 선택한다. 예를 들어, 제삼자 재정 정보 또는 경영 서비스에 저장된 정보는 사용자가 "MasterCard"의 계좌를 가지고 있으며 "Masco Corp."(예를 들어, 주식 시세 이름은 "MAS")의 주식을 소유하고 있는 것을 지시할 수 있다. 사용자가 검색 박스 안에 쿼리 용어 "mas"를 입력하는 때, 검색 엔진(104)은 쿼리 용어들 "MasterCard", "Masco Corp." 및 "Massey Ferguson" 을 제안할 수 있으나, 제삼자 재정 정보 또는 경영 서비스에 저장된 정보가 사용자와 "Massey Ferguson"의 사이의 관련성을 나타내지 않기 때문에 "MasterCard" 와 "Masco Corp. " 만이 부분 집합의 일부분으로서 선택될 수 있다
부분 집합의 선택된 쿼리 용어들을 식별하는 데이터를 검색 엔진(104)에 제공함으로써, 라이브 콘텐츠가 제안 쿼리 용어들의 부분 집합으로 획득된다. 라이브 콘텐츠는 검색 엔진에 의하여 제안 쿼리 용어들이 획득되는 시점 또는 그 직후에 획득되는 정보이다. 라이브 콘텐츠는 제안 쿼리 용어와 연계되는 정보이다. 라이브 콘텐츠는 미리 색인되는 것이 아니라, 그 대신에 제안 쿼리 용어가 생성된 때, 또는 그 직후(예를 들어, 1초 이내, 또는 제안 쿼리 용어 생성의 30초)에 검색 엔진에 의하여 저장된다. 더 정확히 말하면, 라이브 콘텐츠는, 사용자가 쿼리 용어를 입력한 이후의 시점에 제삼자 콘텐츠 제공자로부터 페치(fetch)되거나, 검색 엔진에서 동적으로 업데이트되는 정보를 포함할 수 있다.
라이브 콘텐츠를 획득하는 단계는 제안 쿼리 용어를 생성하는 것에 응답하여 또는 이와 동시에 라이브 쿼리 또는 동적인 업데이트를 수행하는 장치 또는 시스템을 요구한다. 따라서 사용자-입력된 쿼리 용어가 수신되고 제안 쿼리 용어가 생성된 이후에 방문 또는 지체(crawl)가 발생하지 않는 한, 검색 엔진에 의한 마지막 방문 또는 지체의 시간에 현재 하였던 캐시 콘텐츠와 같은 콘텐츠와는 상당히 다르다. 예를 들어, 검색 엔진(104)은 주기적으로 날씨 콘텐츠 제공자를 방문하고 '가장 최근의' 날씨 정보로서 특정한 위치의 날씨 정보를 저장한다. 날씨 정보 및 그 특정한 위치와 연관된 제안 쿼리 용어가 생성된 때, 만일 제안 쿼리 용어가 생성되기 이전에 획득되었다면, 저장된, '가장 최근의' 날씨 정보는 라이브 정보로 여겨지지 않는다.
만일 검색 엔진(104)이 그 자체로 제안 쿼리 용어들의 부분 집합을 선택한다면, 그들 쿼리 용어들을 위한 라이브 콘텐츠를 획득하는 과정은, 클라이언트 장치(102)와 부분 집합을 식별하는 데이터를 교환하지 않고, 즉각적으로 시작된다. 클라이언트 장치(102)가 제안 쿼리 용어들의 부분 집합을 선택한 때, 전체적으로 또는 부분적으로, 부분 집합을 식별하는 정보는 클라이언트 장치(102)로부터 검색 엔진(104)으로 전송되고, 라이브 콘텐츠 획득을 위한 프로세스를 개시한다.
제안 쿼리 용어들 모두에 대한 라이브 콘텐츠를 획득하기 위해 시도하는 경우의 구현예에 있어서, 클라이언트 장치(102) 또는 검색 엔진(104)에 의하여 제안 쿼리 용어들의 어떠한 부분 집합도 선택하거나 식별할 필요는 없다. 도 1에 도시된 예시적인 프레임워크(framework)는, 하지만, 제안 쿼리 용어의 부분 집합이 클라이언트 장치(102)에 의하여 적어도 부분적으로 선택된 것을 가정한다. 이러한 가정 하에서, 그리고 상태 "C"에 나타나있듯이, 제안 쿼리 용어들의 부분 집합 내의 쿼리 용어들을 식별하는 데이터(118)는 클라이언트 장치(102)로부터 검색 엔진(104)으로 전송되어 라이브 콘텐츠 획득을 위한 라이브 쿼리를 수행한다. 데이터(118)는 물론 다른 정보, 예를 들어, 관련된 라이브 콘텐츠를 획득하는 데에 유용할 수 있는 클라이언트 장치(102)의 현재 위치 또는 클라이언트 장치(102)의 사용자를 식별하는 정보를 포함할 수 있다.
특정한 선택된 쿼리 용어를 위하여 생성된 라이브 콘텐츠는 현재 환경 또는 클라이언트 장치(102)의 사용자의 상태와 관련될 수 있다. 사용자의 검색 히스토리 또는 설정에 의하여 제안되는 어떠한 위치 정보도 없는 경우에는, 예를 들어, 현재 위치에서의 현재 날씨를 결정하기 위하여 제안 쿼리 용어 "weather"를 이용하거나, 또는 현재 가장 가까운 "Walgreens" 상점으로의 거리를 결정하기 위하여 제안된 용어 "Walgreens"를 이용하는 것에 의하는 것과 같이 클라이언트 장치(102)의 현재 위치가 라이브 콘텐츠 획득을 위하여 이용될 수 있다. 따라서 부분 집합의 특정한 제안 쿼리 용어들을 식별하는 것뿐만 아니라, 로컬 장치 또한 실시간 데이터를 생성할 수 있으며, 이러한 실시간 데이터를 서버(104)에 송신하여 라이브 콘텐츠 획득을 위한 라이브 쿼리에 이용되게 한다. 도시된 예에 있어서, 예를 들어, 클라이언트 장치는 셀 방식 송신탑(cellular tower) 또는 Wi-Fi 삼각 측량으로부터, 내장형 GPS 수신기로부터, 또는 사용자 입력으로부터 그의 현재 위치("위도 45.116816, 경도 93.433085")를 결정할 수 있으며, 이러한 정보는 검색 엔진(104)으로 송신되는 데이터(118) 내에 포함된다.
한 번 제안 쿼리 용어들이 생성되고 사용자 인터페이스(108b)의 드롭다운 리스트(116) 상에 제공되면, 부분 집합을 식별하고, 클라이언트 장치(102)와 검색 엔진(104) 사이에서 부분 집합의 제안 쿼리 용어들의 유사성을 통신하고, 검색 엔진(104)에 의하여 라이브 콘텐츠를 획득하기 위한 라이브 질의를 수행하며, 그리고 검색 엔진(104)에 디스플레이하기 위하여 라이브 콘텐츠를 제공하기 위한 추가적인 양의 시간이 소요될 수 있다. 라이브 콘텐츠를 획득하기 위한 시도가 만들어졌고, 그 라이브 콘텐츠가 짧은 주기의 시간 내에 사용자 인터페이스(108) 상에 제공될 수 있다는 지시자, 캐시 콘텐츠 및/또는 움직이는 나선형 화살표(120)는 부분 집합의 제안 쿼리 용어들과 인접하여 디스플레이될 수 있다.
나선형 화살표(120)는 클라이언트 장치(102)의 사용자에게 라이브 콘텐츠가 획득 중이며 곧 제공될 수 있다는 것을 지시할 수 있어, 사용자로 하여금 라이브 콘텐츠를 보기 위하여 기다릴 것인지, 또는 라이브 콘텐츠를 위하여 기다리는 대신에(즉, 만일 사용자가 디스플레이될 라이브 콘텐츠의 형식을 인식하고, 그러한 콘텐츠에 관심이 없다면) 제안 쿼리 용어의 링크를 선택할 것인지를 결정할 수 있도록 한다. 라이브 콘텐츠가 디스플레이되거나, 클라이언트 장치(102) 또는 검색 엔진(104)이 특정한 제안 쿼리 용어를 위하여 획득될 수 있는 라이브 콘텐츠가 없다고 판단한 때(예를 들어, 기 설정된 주기의 시간 이후, 또는 라이브 콘텐츠를 위한 무의미한 값을 수신한 이후), 나선형 화살표(120)가 제거된다.
이 도시된 예에 있어서 시각적인 신호가 움직이는 나선형 화살표라고 하더라도, 다른 예에 있어서 이 시각적인 신호는 정적일 수 있으며, 모래시계 또는 일부 다른 프로세스 지시자일 수 있다. 추가적으로, 라이브 콘텐츠를 획득하기 위한 프로세스는 텍스트 또는 제안 쿼리 용어들의 부분 집합을 식별하는 데 사용되는 그래픽의 크기, 폰트, 색깔, 배경, 또는 다른 어떤 특징을 변화시켜 시각적으로 신호를 받을 수 있다. 예를 들어, 부분 집합을 구성하는 쿼리 용어들은 이탤릭 체로 쓰여지거나 굵은 글씨로 쓰여져 그들이 완료되었거나, 진행 중이라는 것을 지시하고, 검색 엔진(104)에 전송되어(118) 라이브 쿼리를 수행한다. 다른 예에 있어서, 시각적인 신호들은 보여지지 않는다.
제안 쿼리 용어들은 이전의 쿼리 동안에 이전에 선택되었던 용어들을 포함할 수 있고, 그것은 이전에 획득되었고 지금은 클라이언트 장치(102) 또는 서버(104)에 캐시된 라이브 콘텐츠를 가지고있다. 만일 사용자가 이전에 선택된 제안 쿼리 용어 "Walmart"를 선택하였다면, Walmart 주식의 한 주당 가격이 $33 라는 것을 지시하는 라이브 콘텐츠가 그 때에 획득될 수 있다. 이번에는 사용자-입력된 쿼리 용어 "w"에 응답하여, 검색 엔진(104)이 제안 쿼리 용어 "Walmart"를 다시 생성한 때, 그 콘텐츠는 더 이상 라이브 콘텐츠로 여겨지기보다는, 캐시 콘텐츠로 여겨진다. 이러한 캐시 콘텐츠는 라이브 콘텐츠가 획득되는 동안에 다른 어떤 시각적 신호 대신에 또는 그에 더하여 제안 쿼리 용어와 인접하여 디스플레이된다. 예를 들어, 상태 "B" 에 있어서, 현재 데이터가 획득되는 동안에 사용자에게 즉각적으로 어떠한 데이터를 보여주기 위하여, 캐시 콘텐츠(117, "$33/주")가 제안 쿼리 용어 "Walmart"의 바로 다음에 디스플레이된다. 캐시 콘텐츠(117)는 라이브 콘텐츠와 상당히 다른 외형, 예를 들어 다른 폰트 또는 색상을 가지도록 포맷되며, 따라서 사용자는 라이브 콘텐츠와 캐시 콘텐츠를 혼동하지 않는다.
상태 "D"에 있어서, 검색 엔진(104)은 라이브 콘텐츠를 획득하기 위하여 수행되는 라이브 쿼리의 형태, 라이브 쿼리의 타겟 및 라이브 쿼리를 형성하기 위하여 사용되는 쿼리 용어들을 판단하기 위하여 제안 쿼리 용어들 그 자체를 이용하여, 부분 집합의 하나 이상의 제안 쿼리 용어들에 대한 라이브 콘텐츠를 획득한다. 명세서에서 사용된 바와 같이, "라이브 쿼리"는 제안 쿼리 용어가 생성된 이후에 라이브 콘텐츠를 획득하기 위하여 발생하는 쿼리이다.
라이브 쿼리 형태들의 몇몇 예들에 있어서, 만일 제안 쿼리 용어가 "weather" 및 위치를 포함한다면(즉, "weather New York", 및 "weather 92067") 검색 엔진(104)은 그 위치에서의 현재 날씨 예보를 획득하기 위하여, 위치를 쿼리 용어로 이용하여 날씨 서비스에 의하여 실행되는 라이브 쿼리를 형성할 수 있다. 만일 제안 쿼리 용어가 사람의 이름을 포함한다면(즉, "Wally Anderson"), 검색 엔진(104)은 현재 상태(예를 들어, 페이스 북 상태, 최근 트윗, 또는 채팅 가능성) 또는 그 사람의 위치를 획득하기 위하여 이름을 쿼리 용어로 사용하여 소셜 네트워크 제공자에 의하여 실행되는 라이브 쿼리를 형성할 수 있다. 만일 쿼리 용어가 사업체의 이름(즉, "Walgreens", 및 "Walmart")을 포함한다면, 검색 엔진(104)은, 사업체 이름을 쿼리 용어로서 이용하여, 사업 정보 서비스에 의하여 실행되는 라이브 쿼리를 형성할 수 있다.
라이브 쿼리 형태들의 다른 예들에 있어서, 만일 제안 쿼리 용어가 이름, 텔레비전 쇼, 노래, 영화 또는 다른 미디어 콘텐츠의 제목이나 식별자를 포함한다면, 검색 엔진(104)은 이름과 연계될 수 있는 로컬 쇼 시간들을 획득하기 위하여 이름이나 제목을 쿼리 용어로서 이용하여, 스케줄 서버(예를 들어, tvguide.com)에 의하여 실행되는 라이브 쿼리를 형성할 수 있다. 만일 제안 쿼리 용어가 스포츠 팀 또는 스포츠 선수의 이름을 포함한다면, 검색 엔진(104)은 팀 또는 선수와 연계된 최신의 스코어 또는 통계를 획득하기 위하여 이름을 쿼리 용어로 사용하여 스포츠 뉴스 서버(예를 들어, espn.com, nfl.com)에 의하여 수행되는 라이브 쿼리를 형성할 수 있다. 만일 제안 쿼리 용어가 사용자와 사업 연관성을 가지는 은행 또는 계좌 제공자의 이름을 포함한다면, 검색 엔진(104)은 사용자의 현재 계좌 잔고를 획득하기 위하여 사용자의 계좌 정보를 이용하여 은행 또는 계좌 제공자의 서버에 의하여 수행되는 라이브 쿼리를 형성할 수 있다.
사용자는 라이브 콘텐츠를 획득하기 위하여 수행되는 라이브 쿼리의 형태, 쿼리의 타겟, 및 쿼리를 형성하기 위하여 사용되는 쿼리 용어들을 특정함으로써, 특정한 형태의 제안 쿼리 용어들에 대하여 어떤 특정한 형태의 라이브 콘텐츠들이 획득되어야 하는 지를 지시할 수도 있다. 예를 들어, 사용자는, 클라이언트 장치(102) 또는 검색 엔진(104)에 저장된 사용자 선호도에서, 라이브 쿼리의 타겟(예를 들어, gaspricewatch.com), 라이브 쿼리를 형성하기 위한 쿼리 용어들(예를 들어, "최저가" 및 현재 위치의 우편번호), 그리고 라이브 콘텐츠로 나타낼 정보의 형태(예를 들어, 최저 지역 가격)을 특정함으로써, 쿼리 용어들 "가스" 또는 "연료"는 사용자의 현재 위치와 가까운 지역 연료 값을 획득하기 위하여 이용되는 것으로 설정할 수 있다.
도 1에 도시된 예에 있어서, 제안 쿼리 용어들 "weather New York" 및 "weather 92067"은 검색 엔진(104)에 의하여 이용되어 쿼리 용어 "New York"과 "92067"을 이용하여 날씨 서비스를 라이브 쿼리하여, 각각, 이러한 제안 쿼리 용어들이 생성됨과 동시에(또는 그 직후에) 뉴욕과 우편번호 92067의 현재 날씨를 나타내는 라이브 콘텐츠 "55˚, 일부 흐림", 및 "76˚, 맑음"을 얻는다. 검색 엔진(104)은 제안 쿼리 용어들 "Walgreens" 와 "Walmart"를 이용하여, 사업체 이름들인 "Walgreens" 와 "Walmart"를 쿼리 용어로서 이용하여 사업 정보 서비스에 라이브 쿼리를 하고 이러한 제안 쿼리 용어들이 생성됨과 동시에(또는 그 직후에) 현재 주식 시세 정보를 획득한다. "Walgreens"의 경우에 있어서, 주식 시세 정보가 이용 가능하지 않았고, 사업 정보 서비스는 "<없음(none)>"의 현재 주식 시세를 리턴한다. "Walmart"의 경우에 있어서, 사업 정보 서비스는 "주당 $38"의 현재 주식 시세를 리턴한다. 검색 엔진(104)은 제안 쿼리 용어 "Wally Anderson"를 이용하여 소셜 네트워크에 쿼리하여, 제안 쿼리 용어가 생성되는 것과 동시에(또는 직후에), "Wally Anderson"의 상태를 지시하는 응답으로, "부재중(is away)"을 리턴한다.
마지막으로, 비록 도 1에서 검색 엔진(104)을 이용하여 제안 쿼리 용어들을 이용하여 라이브 쿼리를 형성하고 라이브 콘텐츠를 획득하는 것을 도시하고 있으나, 다른 구현예들에 있어서 클라이언트 장치는 하나 이상의 라이브 쿼리들을 형성하고, 검색 엔진(104) 없이, 또는 검색 엔진(104)에 의하여 형성되는 라이브 쿼리들과 함께 또는 그에 더하여 라이브 콘텐츠를 획득한다.
상태 "E"에 도시된 바와 같이, 제안 쿼리 용어들을 위하여 획득되는 라이브 콘텐츠는 검색 엔진(104)으로부터 클라이언트 장치(102)에 송신되는 데이터(122)에 포함되거나 식별된다. 데이터(122)는, 예를 들어 부분 집합의 모든 제안 쿼리 용어들을 위한 모든 라이브 콘텐츠들 이후에, 하나의 메시지로 전송되며, 또는 데이터는 라이브 콘텐츠가 각 제안 쿼리 용어 또는 제안 쿼리 용어들의 그룹에 대하여 획득된 이후에 다수의 메시지들로 전송될 수 있다. 데이터는 라이브 콘텐츠 자체를 포함하거나, 검색 엔진(104)은 식별하기 위하여 라이브 콘텐츠를 처리하고, 아이콘과 같은 라이브 콘텐츠와 연관된 정보를 전송할 수 있다.
클라이언트 장치(102)는 다음으로, 각각의 제안 쿼리 용어들에 대하여, 라이브 콘텐츠를 처리하여, 사용자 인터페이스(108e) 상에서 연관된 나선형 화살표(120)를 제거하고 제안 쿼리 용어 자체와 인접하게 또는 그 대신에 라이브 콘텐츠와 연관된 정보를 디스플레이할 수 있다. 라이브 콘텐츠를 처리함에 있어서, 디스플레이를 위하여, 클라이언트 장치(102)는 라이브 콘텐츠의 특정한 일부 또는 라이브 콘텐츠에 포함된 정보를 대표하는 아이콘을 선택할 수 있다. 만일 부분 집합에 포함된 제안 쿼리 용어에 대하여 사용 가능한 라이브 콘텐츠가 없다면, 연관된 나선형 화살표가 제거되어 사용자에게 아무런 라이브 콘텐츠가 마련되지 않았음을 지시한다. 예를 들어, 클라이언트 장치(102)는 데이터(122)의 수신에 응답하여, 또는 검색 엔진(104)으로부터 어떠한 라이브 콘텐츠의 수신을 받지 않고 기 설정된 양의 시간(예를 들어, 5초, 30초, 1분)을 기다린 것에 응답하여, 제안 쿼리 용어 "Walgreens"와 인접한 나선형 화살표를 제거함으로써, 그 용어에 대하여 사용 가능한 라이브 콘텐츠가 없음을 지시한다.
위에서 설명한 바와 같이, 검색 엔진(104)이 제안 쿼리 용어(111)인 "weather New York"에 대하여 획득한 라이브 콘텐츠는 "55°, 일부 흐림" 정보를 포함한다. 클라이언트 장치(102) 또는 검색 엔진(104)은 이 정보를 처리하고, 디스플레이를 위한 대표 아이콘(예를 들어, 맑은 날씨를 위한 태양, 눈이 올 때는 눈송이, 흐릴 때는 구름)을 선택할 수 있다. 검색 엔진(104)이 아이콘을 선택한 때, 아이콘 또는 라이브 콘텐츠는, 단독으로, 또는 아이콘과 라이브 콘텐츠 양자 모두 디스플레이를 위하여 클라이언트 장치(102)로 전송될 수 있다.
다른 예에 있어서, 라이브 콘텐츠와 관련된 정보를 제안 쿼리 용어와 인접하게 디스플레이하는 대신에, 라이브 콘텐츠는 사용자가 제안 쿼리 용어의 위를 지나칠 때 풍선 다이얼로그(balloon dialog) 또는 팝업 대화 박스로 나타내어질 수 있다. 라이브 콘텐츠를 디스플레이하는 데 이용되는 처리 방법에 관계없이, 사용자들은 제안 쿼리 용어를 선택하기 위한 어떠한 추가적인 행동이나 추가적인 검색을 개시하지 않고, 드롭 다운 리스트(116) 그 자체 내에서 그들이 찾고자 하였던 정보를 찾을 것이다.
상태 "F" 에서 도시된 바와 같이, 라이브 콘텐츠가 디스플레이 되어 있거나 그렇지 않은 것에 관계 없이, 사용자는 드롭 다운 리스트(116) 내에서 특정한 제안 쿼리 용어를 선택하여, 특정한 제안 쿼리 용어와 연관된 기능을 적용할 수 있다. 제안 쿼리 용어의 선택은 클라이언트 장치(102)로 하여금 선택된 쿼리 용어를 검색 엔진(104) 또는 또 다른 서버에 송신하도록 하여, 선택된 쿼리 용어를 이용하여 검색 쿼리가 수행되도록 요청한다. 그 대신에, URL(uniform resource locator)과 같은 다른 정보가 특정한 쿼리 용어에 대하여 저장되어 있는 경우, 클라이언트 장치(102)는 특정한 쿼리 용어와 연관된 URL을 검색 엔진(104)에 전송할 수 있다. 예를 들어, 만일 제안 쿼리 용어 "Walgreens"에 대하여 URL "www.walgreens.com"이 저장되어 있다면, 쿼리 용어 "Walgreens"에 대한 링크(118)의 선택은 클라이언트 장치(102)로 하여금 검색 엔진(104, 또는 또 다른 서버)에 그 URL을 식별하는 HTTP 요청(130)을 전송하도록 하여, 웹 페이지를 요청하도록 한다.
만일 사용자가 라이브 콘텐츠를 포함하는 제안 쿼리 용어를 선택하였다면, 클라이언트 장치(102)는 제안 쿼리 용어를 사용자가 이전에 흥미가 있었던 라이브 콘텐츠에 대한 단축 키(shortcut)로서 국부적으로 저장할 수 있다. 이에 대해서, 사용자가 클라이언트 장치(102)에 대한 검색 다이얼로그를 개시한 다음 시점에, 업데이트된 라이브 콘텐츠를 포함하는 이러한 단축키들은, 사용자에게 전혀 어떠한 텍스트를 입력할 것을 요구하지 않고, 검색 박스(110) 아래에 디스플레이 될 수 있다. 그렇기 때문에, 라이브 콘텐츠에 대한 단축 키들을 절약함으로써, 검색 박스(110)는 애드-혹(ad-hoc) 위젯의 형태가 되며, 타이핑을 거의 필요로 하지 않으면서도 많은 주제들에 대한 라이브 콘텐츠를 디스플레이할 수 있다. 사용자가 한 번 단축 키와 연관된 제안 쿼리 용어들과 일치하는 접두사를 타이핑하기 시작하면, 그 라이브 콘텐츠는 검색 박스(110) 아래의 드롭-다운 리스트 내에서도 높게 랭크될 것이다.
사용자가 클라이언트 장치에서 선택을 한 때에 적용되는 기능은, 사용자가 제안 쿼리 용어를 선택했는 지 또는 그들이 라이브 콘텐츠를 선택했는 지에 따라서 달라질 수 있다. 예를 들어, 만일 사용자가 사용자 인터페이스(108e) 상에서 용어 "Mr. Anderson"으로의 링크를 선택하였다면, 클라이언트 장치(102)는 국부적으로 저장된 연락처 정보를 획득하여 디스플레이한다. 만일 사용자가 사용자 인터페이스(108e) 상에서 용어 "부재중이다(is away) "로의 링크를 선택하였다면, 클라이언트 장치는 식별된 연락처에 대하여 소셜 네트워크 페이지를 획득하여 디스플레이한다.
도 2는 실시간 피드백을 제공하기에 적합한 정보 검색 시스템(200)의 일 예의 블록도이다. 시스템(200)는 네트워크(205)를 포함하며, 그것은 공공의 또는 사설 네트워크일 수 있다. 네트워크(205)는 클라이언트 장치(210), 검색 엔진(250), 및/또는 콘텐츠 제공자(280)를 통신적으로 연결한다.
일부 구현예들에 있어서, 클라이언트 장치(210)는 휴대 전화, 휴대용 컴퓨터, 개인용 컴퓨터, PDA, 넷 북, 내비게이션 시스템, 차량 정보 시스템과 같은 모바일 장치, 또는 다른 모바일 또는 모바일이 아닌 시스템일 수 있다. 일부 구현예들에 있어서, 클라이언트 장치(210)는 데스크탑 컴퓨터와 같이 실질적으로 고정적인 시스템일 수 있다. 일부 구현예들에 있어서, 클라이언트 장치는 도 1의 클라이언트 장치(102)일 수 있다.
클라이언트 장치(210)는 인터페이스(212)를 포함한다. 일부 구현예들에 있어서, 인터페이스(212)는 네트워크 인터페이스, 무선 통신 모듈, 통신 포트, 또는 클라이언트 장치를 네트워크(205)에 통신적으로 연결하는 다른 모듈일 수 있다. 프로세서(214)는 명령이나 다른 컴퓨터 코드를 실행하기 위하여 포함되며, 이들은 사용자 인터페이스(216), 검색 어플리케이션(218), 쿼리 생성기(220), 검색 어플리케이션(222), 제안 쿼리 용어 선택기(224), 라이브 콘텐츠 모듈(226) 또는 클라이언트 장치(210)에 포함될 수 있는 다른 소프트웨어와 같은 것들 내에 있다.
사용자 인터페이스(216)는 버튼들, 입력 박스들, 제어들, 다이얼로그들, 그리고 검색 어플리케이션(218)과 같이 클라이언트 장치(210)에서 수행되는 프로세스와 상호작용하기 위하여 사용자가 조작하고 볼 수 있는 다른 요소들을 제공한다. 일부 구현예들에 있어서, 사용자 인터페이스(216)는 도 1의 사용자 인터페이스(108)일 수 있다. 검색 어플리케이션(218)은 프로세서(214)에 의하여 실행되어 클라이언트 장치(210) 또는 검색 엔진(250) 상에 위치한 정보를 찾는 것과 연관된 기능을 사용자에게 제공한다. 입력 모듈(220)은 검색 다이얼로그를 적용하고, 쿼리 용어들을 입력하고, 또는 제안 쿼리 용어들을 선택하는 메커니즘을 사용자에게 제공하기 위하여 포함된다.
쿼리 생성기(222)는 클라이언트 장치(210)에 의하여 이용되어, 제안된 검색 용어들을 이용하여 라이브 콘텐츠를 획득한다. 제안 쿼리 용어 선택기(224)는 어떠한 쿼리 용어 또는 제안 쿼리 용어들이 라이브 쿼리를 위하여 선택되었는 지를 판단하기 위하여 포함된다. (예를 들어, 라이브 콘텐츠와 연관될 수 있는 쿼리 용어들을 판단함) 라이브 콘텐츠 모듈(226)은 서버(250)로의 라이브 쿼리들을 위하여 선택된 쿼리 용어를 제출하고, 제출된 쿼리 용어들과 관련된 라이브 콘텐츠를 수신하며, 그리고 서버(250)로부터 수신한 라이브 콘텐츠와 쿼리 용어들을 연관 짓는 것과 관련된 기능들을 수행하기 위하여 포함된다.
GPS 모듈(228)은 위성 항법 시스템(global positioning system)으로부터 신호들을 수신하여 클라이언트 장치(210)의 현재 지리학적 위치를 결정하기 위하여 포함된다. 일부 구현예들에 있어서, 이러한 위치 정보는 라이브 콘텐츠 모듈(226)에 의하여 또는 클라이언트 장치(210)의 물리적 위치와 연관된 다른 프로세스들을 위하여 이용될 수 있다.
클라이언트 장치(210)는 사용자 선호도(232)의 집합, 개인화된 검색 히스토리(234), 또는 하나 이상의 다른 어플리케이션들(236)과 같은 전기적 정보를 저장하기 위한 저장 매체(23)를 포함한다. 만일 다른 어플리케이션들(236)이 검색되는 능력이 있다면, 그들은 이러한 능력을 검색 어플리케이션(218)에 등록할 수 있어 쿼리 용어들이 입력되었을 때 검색되고 결과를 리턴할 수 있다. 따라서, 다른 어플리케이션들(236)은 제안 쿼리 용어들을 제공하기 위하여 그들이 검색을 거치는 그들만의 고유한 색인을 포함할 수도 있다.
이러한 다른 어플리케이션들(236)은 서버/네트워크 기반일 수 있고, 클라이언트 장치에 대해서만 필수적으로 국부적이지는 않다. 예를 들어, 사용자가 검색 박스 안으로 쿼리 용어를 입력하였을 때 클라이언트 장치(210) 상의 서점 어플리케이션은 별개의 서버에 색인된 책들의 카탈로그들을 검색할 수 있으며, 제안 쿼리 용어로서의 입력된 용어와 일치하는 책을 리턴할 수 있다. 나아가, 협력하여 동작하여, 서점 어플리케이션과 별도의 서버는 제안 쿼리 용어와 관련된 현재 가격, 현재 팔리고 있는 인쇄 부수 등과 같은 라이브 콘텐츠를 리턴할 수 있다.
일부 구현예들에 있어서, 저장 매체(230)는 읽기 전용 메모리(read-only memory), 정적 임의 접근 메모리(static random access memory)(예를 들어, 플래시 메모리), 동적 임의 접근 메모리, 자기 저장 매체(예를 들어, 하드 드라이브, 플로피 디스크), 그리고 광학 드라이브, 또는 이러한 또는 디지털 정보 저장 미디어의 다른 형태들의 조합을 포함할 수 있다. 사용자 선호도(232)는 사용자에 의하여 지시되는 설정들이다. 예를 들어, 사용자는 사용자 선호도(232)의 하나로서 저장되는 "집"의 위치 또는 지역(예를 들어, 주소, 우편 번호 또는 지역 설정)을 설정할 수 있다. 일부 구현예들에 있어서 클라이언트 장치(210)는 사용자의 현재 위치를 위한 제안 쿼리 용어들뿐만 아니라 사용자의 선호되는 위치들을 위한 제안 쿼리 용어들을 디스플레이한다. 예를 들어, 사용자가 다른 도시로 여행을 가고 쿼리 용어로 "weather"를 입력하였다는 경우의 시나리오에 있어서, 클라이언트 장치(210)는 GPS(228)에 의하여 판단된 위치뿐만 아니라 그 또는 그녀의 "집" 위치에서의 제안 쿼리 용어들(예를 들어, 날씨 상태들)을 디스플레이할 수 있다. 사용자 선호도(232)의 다른 예들은 사람, 장소, 이벤트 또는 다른 것들(예를 들어, 스포츠 팀, 텔레비전 쇼), 사업체, 이벤트, 또는 POI들(예를 들어, ATM들, 골동품 상점, 병원)들을 식별하는 정보를 포함할 수 있다. 일부 구현예들에 있어서, 사용자 선호도(232)는 사용자가 보고 싶어할 라이브 콘텐츠의 종류에 대한 정보를 포함할 수 있다. 예를 들어, 사용자 선호도(232)는 사용자가, 제안 쿼리 용어들에 포함된 주식 시세가 아니라, 현재 경유 가격을 보는 데 흥미가 있다고 지시할 수 있다.
개인화된 검색 히스토리(234)는 사용자와 클라이언트 장치(210)와의 과거 행위들 또는 상호작용과 관련된 정보를 포함할 수 있다. 일부 구현예들에 있어서, 개인화된 검색 히스토리(234)는 사용자가 입력한 검색 쿼리들의 리스트, 또는 사용자가 선택한 제안 쿼리 용어들의 리스트를 저장할 수 있다. 일부 구현예들에 있어서, 개인화된 검색 히스토리(234)는 최근에 접근된 연락처들, 둘러본 웹 페이지들, 최근에 접근된 로컬 파일들, 또는 다른 어플리케이션들(236)과 같이 최근에 사용된 로컬 어플리케이션들의 리스트를 포함할 수 있다.
저장 매체(230)는 또한, 색인(238)과 연락처 데이터베이스(240)를 저장한다. 일부 구현예들에 있어서, 색인(238)은 이들 정보와 함께 쿼리들 및 기록 접근이 수행되어 속도를 향상시키는 데에 이용될 수 있는 구조적인 데이터일 수 있다. 예를 들어, 개인 연락처 기록은 다수의 주소들, 전기적 이미지들, 첨부되거나 내장된 문서들, 또는 그에 따라서 검색되지 않을 것 같은 다른 데이터를 포함할 수 있다. 이러한 기록들 각각의 크기 또는 그들의 구조는 그들의 콘텐츠를 읽는 프로세스를 늦출 수 있다. 검색 가능한 데이터의 색인을 창출함으로 인하여, 정보 검색 속도가 빨라질 수 있다. 예를 들어, 색인은 파일 명과 JPEG 파일들의 메타 데이터(예를 들어, 날짜 인자기(印字器)(date stamps), 지리적 정보의 삽입(geo-tags), 셔터 스피드) 또는 MP3 파일의 메타 데이터(예를 들어, 노래 이름, 아티스트, 앨범)를 포함할 수 있으나, 그들의 실제 이미지나 오디오 콘텐츠를 포함하지는 않는다. 연락처 기록들, 전기적 파일들, 또는 다른 정보원들은 색인화되어 클라이언트 장치(210)의 어플리케이션들과 모듈들이 저장 매체(230) 내에서 효율적으로 정보의 위치를 찾아내는 데 이용할 수 있는 정보의 보관소를 창출한다.
연락처 데이터베이스(240)는 사람, 장소, 또는 사업체를 기술하는 데이터 기록들의 집합이다. 예를 들어, 휴대 전화로서의 클라이언트 장치(210)의 일 실시예에 있어서, 연락처 데이터베이스(240)는 전화기의 전화 번호부 또는 연락처 리스트일 수 있다. 데스크탑 컴퓨터의 실시예에 있어서, 연락처 데이터베이스(240)는 이 메일 프로그램(예를 들어, 마이크로소프트 아웃룩(Microsoft Outlook), 로터스 노트(Lotus Notes))과 연관된 연락처 리스트일 수 있다.
일반적으로, 검색 엔진(250)은 클라이언트 장치(210)와 같은 장치를 통하여 사용자에게 정보 검색 서비스를 제공한다. 검색 엔진(250)은 콘텐츠 제공자(280)와 같은 리소스로부터의 정보를 분석하여 정보를 색인화함으로써 필요할 때에 효과적으로 검색되고 식별되도록 한다. 일부 구현예들에 있어서, 검색 엔진은 도 1의 검색 엔진(104)일 수 있다. 일부 구현예들에 있어서, 검색 엔진은 구글 검색 엔진, 마이크로소프트 bing 검색 엔진, 야후 검색 엔진, 또는 다른 그러한 서비스들과 같은 인터넷 검색 제공자일 수 있다.
검색 엔진(250)은 인터페이스(252)를 포함한다. 일부 구현예들에 있어서, 인터페이스(252)는 네트워크 인터페이스, 무선 통신 모듈, 통신 포트, 또는 클라이언트 장치를 네트워크(205)에 통신적으로 연결할 수 있는 다른 모듈일 수 있다. 프로세서(254)는 명령 및 다른 컴퓨터 코드들을 실행하기 위하여 포함되며, 이들은 쿼리 교정기(256), 쿼리 생성기(258), 정보 형태 지시자에 대한 쿼리 용어(260)에 포함된다.
쿼리 교정기(256)는 입력 쿼리 용어를 취하여 제안된 쿼리 교정, 정제(refinements), 달리 표현하기(reformulations), 철자 교정, 접두사 검색, 및 다른 기능들을 준비하여 검색 엔진(250)이 사용자가 무엇을 찾는 것을 의도하였는 지를 찾을 가능성을 가능하면 증가시킬 수 있도록 사용자의 검색 쿼리를 수정할 수 있다. 예를 들어, 잘못된 철자의 검색 용어는 교정된 철자보다는 색인(264) 내에 존재할 가능성이 적기 때문에, 정확한 정보를 찾을 가능성을 줄일 수 있다. 쿼리 교정기(256)는 잘못된 철자를 감지하여, 적어도 제안 쿼리 용어의 일부로서 교정된 철자를 제안할 수 있다. 다른 예에 있어서, 사용자는 지역 내의 사육장(kennel)의 부분 집합만을 제공할 수 있는(예를 들어, 사육장은 일반적으로 하나의 품종에게만 제공되지 않음), 쿼리 용어 "미네소타 주 브라운스데일 근처의 도베르만 종 임시 숙소(Doberman lodging near Brownsdale, MN)"를 이용하여 개 사육장(dog kennel)를 찾는 것을 원할 수 있다. 쿼리 교정기(256)는 일반화될 수 있는 쿼리 용어들을 감지하여, 검색 쿼리가 더 넓게 제안할 수 있도록 다시 표현하여, 보다 생산적으로 쿼리를 검색한다. 예를 들어, 용어 "도베르만 종(Doberman)"은 "개(dog)"라는 용어로 추상화되고 쿼리 교정기(256)는 "사육장(kennel)"에 대한 동의적 용어 "임시 숙소(lodging)"을 제안하는 것이 촉발되어 "미네소타 주 브라운스데일 근처의 개 집(dog kennel near Brownsdale, MN)" 의 제안 쿼리 용어를 생성할 수 있다.
검색 엔진(250)은 정보 형태 지시자에 대한 쿼리 용어(260)에 의하여 제공되는 데이터에 기초하여 라이브 쿼리 생성기(258)를 이용하여 라이브 콘텐츠를 획득한다. 정보 형태 지시자에 대한 쿼리 용어(260)는 다양한 형태의 제안 쿼리 용어들에 의하여 어떠한 형태의 라이브 콘텐츠들이 검색되었는 지를 구체화한다. 예를 들어, 일부 쿼리 용어들은 사람 이름으로 식별될 수 있으며, 일반적으로 소셜 네트워크 정보(예를 들어, 상태(status))와 연관될 수 있다. 또 다른 예에 있어서, 일부 쿼리 용어들은 장소 이름 또는 좌표로서 식별될 수 있으며, 일반적으로 거리, 날씨 상태, 또는 거리와 연관되거나, 또는 어느 정도는 이름과 연관될 수 있다.
일부 구현예들에 있어서, 정보 형태 지시자에 대한 쿼리 용어(260)와 쿼리 교정기(256)는 쿼리 용어들을 제안하기 위하여 협력하여 동작할 수 있다. 예를 들어, 덴버(Denver)에 있는 사용자가 용어 "스키타기(skiing)"에 대한 쿼리를 개시할 수 있다. 정보 형태 지시자에 대한 쿼리 용어(260)는 이들 용어들의 일부 또는 전부를 스키 리조트들 근처와의 거리, 뿐만 아니라 그들 위치들의 날씨 상태 또는 눈 깊이와 같은 하나 이상의 정보 형태들과 연관 지을 수 있기 때문에, 쿼리 교정기(256)는 이 쿼리를 "스키 리조트" 또는 "눈 상태"로 교정할 수 있다. 쿼리 용어 "스키타기"에 대한 본 실시예에 있어서, 검색 엔진(250)은 "이런 호스 리조트(Iron Horse Resort), 65 마일, 화씨 28도, 66 인치" 그리고 "브레켄리지(Breckenridge), 82 마일, 화씨 22도, 102 인치"의 제안 쿼리 용어에 대하여 응답할 수 있다.
콘텐츠 제공자(280)는 네트워크(205)를 통하여 접근할 수 있는 정보를 제공한다. 일부 예들에 있어서, 콘텐츠 제공자(280)는 공공의 또는 사설 웹 서버, 웹 서비스, 파일 공유(share), 또는 네트워크(205)를 통하여 접근될 수 있는 다른 정보의 보관소일 수 있다. 일부 구현예들에 있어서, 콘텐츠 제공자(280)는 날씨 뉴스, 재정 정보, 스포츠 뉴스, 소셜 네트워크 업데이트, 영화 스케줄, 또는 다른 동적인 데이터와 같은 라이브 콘텐츠의 제공자일 수 있다.
콘텐츠 제공자는 인터페이스(282)를 포함한다. 일부 구현예들에 있어서, 인터페이스(282)는 네트워크 인터페이스, 무선 통신 모듈, 통신 포트, 또는 네트워크(205)에 클라이언트 장치를 통신적으로 연결할 수 있는 다른 모듈일 수 있다. 프로세서(284)는 쿼리 핸들러(286)에 포함된 명령들과 컴퓨터 코드들을 실행하기 위하여 포함된다. 쿼리 핸들러(286)는 네트워크(205)를 통하여 클라이언트 장치(210) 및 검색 엔진(250)으로부터 HTTP "획득" 요청과 같은 쿼리를 수신하고 이에 대한 응답을 제공한다.
콘텐츠 제공자(280)는 라이브 콘텐츠(288)를 저장하거나 생성한다. 일부 구현예들에 있어서, 라이브 콘텐츠(288)는 스포츠 스코어, 연료 가격, 날씨 상태, 주식 시세, 쇼 시간, 개인적 상태들, 또는 다른 형태의 동적인 데이터와 같이 시간에 따라 변할 수 있는 정보일 수 있다. 일부 예에 있어서, 쿼리 핸들러(286)는, 응답 내에 라이브 콘텐츠(288)의 일부 또는 전부를 포함함으로써, 클라이언트 장치(210) 또는 검색 엔진(250)의 요청들에 응답할 수 있다. 예를 들어, 라이브 콘텐츠(288)는 제안 쿼리 용어들과 연관되어 제공되어 사용자 인터페이스(216) 상에서 사용자에게 나타내어질 수 있다.
도 3 및 도 4는 라이브 콘텐츠를 획득하고 제공하기 위한 프로세스들(300, 400)의 예에 대한 흐름도들이다. 프로세스(300)는 도 1의 클라이언트 장치(102), 또는 도 2의 클라이언트 장치(210)에 의하여 수행될 수 있다. 프로세스(400)는 검색 엔진(104) 또는 검색 엔진(250)에 의하여 수행될 수 있다. 일반적으로 말하면, 그저 제안 쿼리 용어들 또는 다른 정적인 콘텐츠만을 생성하고 제공하는 것 대신에, 프로세스들(300, 400)은, 제안 쿼리 용어들 그들 자체들의 생성에 대하여 실시간 또는 거의 실시간으로, 사람, 장소 이벤트 또는 제안 쿼리 용어들에 의하여 참조되는 다른 것들과 관련된 라이브 콘텐츠를 획득하고 제공하도록 동작한다.
한 번 라이브 콘텐츠가 획득되면, 프로세스들(300, 400)은 제안 쿼리 용어들 그들 자체를 나타내는 것 대신에 또는 그에 더하여 사용자에게 라이브 콘텐츠를 보여주도록(또는 사용자에 대하여 보여주기 위한 라이브 콘텐츠를 제공하도록) 동작한다. 예를 들어, 제안 쿼리 용어, "weather New York"을 생성하는 것에 응답하여, 프로세스들(300, 400)은 제안 쿼리 용어가 생성된 현재에 또는 그 직후의 시점에, 자동적으로 뉴욕에 대한 날씨 정보를 판단하기 위한 쿼리를 수행하고, 이러한 현재 날씨 정보를 제안 쿼리 용어와 함께 사용자에게 제공할 수 있다. 이러한 라이브 콘텐츠는 텍스트 데이터(예를 들어, 현재 세 자릿수 온도(three digit temperature) 측정 값, 또는 현재 날씨 정보를 포함하는 XML 문서) 또는 다른 형태의 데이터(예를 들어, 현재 날씨의 상태를 제안하는 이미지 또는 아이콘, 또는 날씨 리포트의 음성 파일 또는 구두의(spoken) 날씨 리포트)를 포함할 수 있다.
간략하게, 프로세스(300)는 클라이언트 장치에 의한 제안 쿼리 용어를 획득하고, 제안 쿼리 용어와 관련된 라이브 콘텐츠를 획득하기 위한 쿼리를 개시하고, 제안 쿼리 용어를 획득하는 것에 응답하여 라이브 콘텐츠를 획득하며, 그리고 클라이언트의 사용자 인터페이스 상에 라이브 콘텐츠를 디스플레이하는 행위들을 포함한다. 보다 상세하게는, 프로세스(300)가 시작(310)되는 때에, 클라이언트 장치는 제안 쿼리 용어를 획득한다(320). 제안 쿼리 용어를 획득하는 단계는 클라이언트 장치에서 제안 쿼리 용어를 생성하는 단계, 또는 검색 엔진과 같은 다른 독립체(entity)로부터 제안 쿼리 용어를 식별하는 정보를 수신하는 단계를 포함할 수 있다.
사용자가 검색 박스 안에 쿼리 용어를 입력한 때, 검색 엔진은 많은 쿼리 교정 전략들을 이용하여 제안 쿼리 용어들을 생성하고 제공함으로써 응답할 수 있다. 일 예에 있어서, 제안 쿼리 용어는, 그것이 검색 엔진의 다른 과거 사용자들에 의하여 검색 쿼리를 실행하도록 이용되었을 때, 입력된 쿼리 용어를 이용하여 생성된 검색 결과보다 그들 사용자들에게 더 큰 만족을 준 검색 결과를 생성할 수 있는 용어일 수 있다. 다른 예에 있어서, 제안 쿼리 용어들은 사용자가 입력하는 것을 의도하였거나, 검색 엔진을 이용하는 것에 보다 익숙한 사용자에 의하여 얻어질 수 있었던 바람직한 검색 결과를 얻기 위하여 입력하려고 했던 용어일 수 있다.
클라이언트 장치와 검색 엔진은 그들 각각의 자체적으로, 또는 서로의 조합에 의하여, 사용자-입력 쿼리 용어를 이용하여 제안 쿼리 용어들을 생성하는 데에 이용될 수 있다. 클라이언트 장치 또는 검색 엔진은 사용자가 검색 박스 안에 완전한 쿼리 용어 또는 구문을 입력한 이후에 각각 제안 쿼리 용어들을 생성하고, 사용자가 검색 다이얼로그를 적용한 이후이면서 그들이 어떠한 텍스트를 입력하기 이전에 제안 쿼리 용어들을 생성하며, 또는, 접두사 검색의 경우에는 쿼리 용어 또는 구문의 접두사를 구성하는 글자를 입력하는 대로 제안 쿼리 용어들을 생성할 수 있다.
제안 쿼리 용어들은 사용자가 검색 박스 안에 쿼리 용어를 입력하는 것을 요구하지 않고 클라이언트 장치 또는 서버에 의하여 생성될 수 있다. 예를 들어, 클라이언트 장치는 라이브 콘텐츠에 대한 단축키로서 사용자에 의하여 이전에 선택되었던 제안 쿼리 용어를 국부적으로 저장할 수 있다. 사용자가 클라이언트 장치에 대하여 검색 다이얼로그를 개시한 때, 업데이트된 라이브 콘텐츠를 포함하는 이러한 단축키들은 검색 박스와 인접하여 자동적으로 표시될 수 있다. 만일 사용자가 사용자에 의하여 이전에 선택되었던 제안 쿼리 용어와 일치하는 접두사를 타이핑하기 시작하였다면, 그러한 제안 쿼리 용어들과 연관된 라이브 콘텐츠는 검색 박스 부근, 예를 들어, 검색 박스 아래의 드롭-다운 리스트 내에 두드러지게 디스플레이될 수 있다.
일부 구현예들에 있어서, 제안 쿼리 용어는 사용자-입력 쿼리 용어에 기초하여 생성된다. 일부 구현예들에 있어서, 제안은 확장, 추상화, 정제, 재배열, 또는 사용자-입력 쿼리 용어의 다른 변형에 기초할 수 있다. 예를 들어, "plane"이라는 사용자-입력 쿼리 용어에 대하여, "aircraft(비행기)"와 "woodworking tools(목(木) 공구)"와 같은 제안 쿼리 용어들이 생성될 수 있다. 일부 구현예들에 있어서, 제안은 사용자의 선호도, 위치, 과거 검색 히스토리, 또는, 개인화된 검색 히스토리에 기초할 수 있다. 다른 구현예에 있어서, 제안 쿼리 용어들은, 검색 엔진의 다른 과거 사용자들에 의하여 검색 쿼리를 실행하도록 이용되었을 때, 검색 엔진에 나타난 생성된 검색 결과가 다른 과거 사용자들에게 만족스러웠던 용어들을 나타낼 수 있다.
제안 쿼리 용어들은 HTML, XML, 텍스트, 2진(binary) 또는 전기적 코드의 다른 형태로서 생성될 수 있다. 클라이언트 장치는 제안 쿼리 용어를 제안 쿼리 용어들의 리스트 형태로 디스플레이할 수 있다. 예를 들어, 제안 쿼리 용어들은 드롭-다운 리스트, 팝-업 박스, 또는 리스트 또는 문자열의 집합을 디스플레이할 수 있는 사용자 인터페이스 요소 내에 디스플레이될 수 있다.
제안 쿼리 용어들을 획득하는 것과 더불어, 클라이언트 장치 또는 서버는 쿼리 용어들과 연관될 수 있는 캐시 콘텐츠를 획득할 수 있다. 예를 들어, 제안 쿼리 용어들은 사용자가 이전의 쿼리 동안에 선택한 용어들을 포함할 수 있으며, 그것은 이전에 획득되었고 이제는 캐시된 라이브 콘텐츠를 포함할 수 있다. 이전에 제안 쿼리 용어가 다시 제안되는 때, 라이브 콘텐츠가 획득되는 동안에는, 쿼리 용어와 연관된 캐시 콘텐츠가 다른 어떠한 시각적 표시 대신에 또는 그와 함께 제안 쿼리 용어와 인접하여 디스플레이될 수 있다. 그렇게 함으로써, 라이브 콘텐츠가 획득되는 동안에 즉각적으로 어떠한 데이터들이 표시된다. 캐시 콘텐츠는 라이브 콘텐츠와 다른 외관을 가지도록, 예를 들어 상이한 폰트 또는 색상을 이용하여 포맷될 수 있으며, 따라서 사용자는 라이브 콘텐츠와 캐시 콘텐츠를 혼동하지 않는다.
제안 쿼리 용어들을 획득하는 것에 응답하여, 라이브 쿼리가 개시된다(330). 라이브 쿼리를 개시하는 단계는 실행을 위하여 라이브 쿼리를 형성하는 단계, 또는 다른 독립체(예를 들어, 검색 엔진)로 하여금 실행을 위한 라이브 쿼리를 형성하도록 다른 독립체와 신호를 통신하는 단계를 수반할 수 있다.
클라이언트 장치는 제안 쿼리 용어가 라이브 쿼리를 개시하기 위하여 사용되는 지를 판단할 수 있다. 예를 들어, 제안 쿼리 용어는 사람, 장소, 사업체, 이벤트, 또는 라이브 콘텐츠와 연관된 다른 것으로 식별될 수 있다. 라이브 쿼리가 개시되었을 때, 시각적 표시는 제안 쿼리 용어의 부근에 디스플레이되어 라이브 콘텐츠를 획득하기 위한 시도가 이루어지고 있음을 지시할 수 있다. 예를 들어, 모래시계 심볼, 나선형 화살표, 회전하는 기어(spinning gear), 또는 동작이 진척 상태에 있음을 상징하는 다른 정적이거나 움직이는 이미지가 제안 쿼리 용어와 연관되어 디스플레이될 수 있다.
제안 쿼리 용어들을 이용하여 하나 이상의 제안 쿼리 용어들에 대한 라이브 콘텐츠가 획득된다(340). 제안 쿼리 용어들 그 자체는 라이브 콘텐츠를 획득하기 위하여 수행되는 라이브 쿼리의 형태, 라이브 쿼리의 타겟, 그리고 라이브 쿼리를 형성하기 위하여 이용되는 쿼리 용어들을 판단한다. 예를 들어, 검색 엔진 또는 다른 콘텐츠 제공자로부터 현재 날씨 리포트 정보, 최근의 소셜 네트워크 업데이트 정보, 현재 주식 시세 정보, 또는 동적인 정보의 다른 형태들과 같은 라이브 콘텐츠가 수신될 수 있다. 라이브 콘텐츠를 획득하는 단계는 라이브 콘텐츠를 생성하는 단계, 직접적으로 또는 다른 독립체(예를 들어, 검색 독립체)를 거쳐 콘텐츠 제공자로부터의 라이브 콘텐츠를 식별하는 정보를 수신하는 단계를 포함할 수 있다.
라이브 쿼리 형태들의 몇몇의 예에 있어서, 만일 제안 쿼리 용어가 "날씨"와 위치를 포함한다면, 검색 엔진 또는 클라이언트 장치는 날씨 서비스에 의하여 실행되는 라이브 쿼리를 형성하고, 위치를 쿼리 용어로 이용하여, 그 위치의 현재 날씨 예보를 획득할 수 있다. 만일 제안 쿼리 용어가 사람의 이름을 포함한다면, 검색 엔진 또는 클라이언트 장치는 소셜 네트워크 제공자에 의하여 실행되는 라이브 쿼리를 형성하여, 이름을 쿼리 용어로 이용하여, 그 사람에 대한 현재 상태 또는 위치를 획득할 수 있다. 만일 쿼리 용어가 사업체의 이름을 포함한다면, 검색 엔진 또는 클라이언트 장치는 사업 정보 서비스에 의하여 실행되는 라이브 쿼리를 형성하여, 사업체 이름을 쿼리 용어로 이용하여, 현재 리뷰 정보 또는 현재 주식 시세 정보를 획득할 수 있다. 만일 제안 쿼리 용어가 텔레비전 쇼, 노래, 영화 또는 다른 미디어 콘텐츠의 이름, 제목 또는 식별자를 포함한다면, 검색 엔진 또는 클라이언트 장치는 스케줄 서버에 의하여 실행되는 라이브 쿼리를 형성하여, 이름이나 제목을 쿼리 용어로 이용하여, 이름과 연관될 수 있는 로컬 쇼 시간을 획득할 수 있다. 만일 제안 쿼리 용어가 스포츠 팀, 리그, 또는 스포츠 선수의 이름을 포함한다면, 검색 엔진 또는 클라이언트 장치는 스포츠 뉴스 서비스(예를 들어, espn.com, nfl.com)에 의하여 수행되는 라이브 쿼리를 형성하여, 이름을 쿼리 용어로 이용하여, 팀 또는 선수와 연관된 최근의 스코어 또는 통계치를 획득할 수 있다. 만일 제안 쿼리 용어가 사용자와 사업 연관성을 갖는 은행 또는 계좌 제공자의 이름을 포함한다면, 검색 엔진 또는 클라이언트 장치는 은행 또는 계좌 제공자의 서버에 의하여 수행되는 라이브 쿼리를 형성하여, 사용자의 현재 계좌 잔고를 획득할 수 있다.
한 번 획득되면, 클라이언트 장치는 사용자에게 라이브 콘텐츠를 디스플레이하고(350), 따라서 프로세스(300)가 종료된다(360). 라이브 콘텐츠는 로우(raw) 데이터로써, 또는 이미지, 심볼로, 또는 상응하는 제안 쿼리 용어에 근접한 아이콘으로 디스플레이될 수 있다. 예를 들어, 흐린 날씨 상태는 위치에 대한 제안 쿼리 용어와 동일 선 상에서 구름 이미지와 디스플레이될 수 있다. 다른 예에 있어서, 사용자가 회사 이름에 대한 제안 쿼리 용어 상에서 포인터를 멈추었을 때, 주식 시세가 문자열로 디스플레이될 수 있다. 만일 검색 엔진이 아이콘을 선택하였다면, 아이콘 또는 라이브 콘텐츠 단독으로 디스플레이를 위하여 클라이언트 장치로 전송되거나, 아이콘과 라이브 콘텐츠 모두가 전송될 수 있다.
다른 예에 있어서, 제안 쿼리 용어와 인접하게 라이브 콘텐츠와 관련된 정보를 디스플레이하는 것 대신에, 라이브 콘텐츠는 사용자가 제안 쿼리 용어 위로 포인터를 이동할 때 풍선 다이얼로그 또는 팝 업 다이얼로그로 보여질 수 있다. 라이브 콘텐츠를 디스플레이하기 위한 접근 방법에 관계없이, 많은 사용자는 제안 쿼리 용어를 선택하거나 추가적인 검색에 대한 개시를 위하여 어떠한 추가적인 조치 없이, 그들이 찾고자 의도한 정보를 드롭-다운 리스트 자체 내에서 찾을 것으로 기대된다.
일부 구현예들에 있어서, 라이브 콘텐츠는 제안 쿼리 용어들의 시각적인 표시를 업데이트함으로써 디스플레이될 수 있다. 예를 들어, 제안 쿼리 용어는 업데이트 중에 있다는 것을 지시하는 심볼(예를 들어, 모래시계)을 라이브 콘텐츠로 대체함으로써 디스플레이될 수 있다. 일부 구현예에 있어서, 전체 제안 쿼리 용어들은, 업데이트에 따라 대체되는 대로, 그리고 가능한 정도로 교정되는 대로, 디스플레이를 위한 라이브 콘텐츠를 포함하는 제안 쿼리 용어로 표시된다.
사용자는 사용자 인터페이스 상에 표시된 제안 쿼리 용어 또는 라이브 콘텐츠를 선택할 수 있고, 클라이언트 장치는 제안 쿼리 용어를 사용자가 이전에 흥미가 있었던 라이브 콘텐츠로의 단축 키로 국부적으로 저장할 수 있다. 이와 관련하여, 사용자가 클라이언트 장치에 대하여 검색 다이얼로그를 개시하는 다음 번에는, 업데이트된 라이브 콘텐츠를 포함하는 이러한 단축키들은, 사용자에게 텍스트를 입력할 것을 전혀 요구하지 않고도 검색 박스의 아래에 디스플레이될 수 있다. 그럼으로써, 라이브 콘텐츠에 대한 단축키를 절감하고, 적은 타이핑 또는 타이핑이 전혀 없이도, 검색 박스는 많은 주제들에 대한 라이브 콘텐츠를 디스플레이하는 것이 가능한 애드-혹 위젯의 형태가 된다. 사용자가 한 번 단축 키와 제안 쿼리 용어와 일치하는 접두사를 타이핑하기 시작하면, 그 라이브 콘텐츠는 검색 박스 아래의 드롭다운 리스트 사이에서 높게 랭크될 수 있다.
도 4로 넘어가서, 프로세스(400)는 검색 엔진에 의하여 제안 쿼리 용어를 생성하는 단계, 제안 쿼리 용어와 관련된 라이브 콘텐츠를 획득하기 위한 쿼리를 실행하는 단계, 제안 쿼리 용어를 생성한 것에 응답하여 라이브 콘텐츠를 획득하는 단계, 그리고 라이브 콘텐츠를 클라이언트 장치에 제공하는 단계의 행위를 포함한다. 프로세스(400)가 시작된 때(410), 제안 쿼리 용어가 생성된다(420). 검색 엔진에 의하여 생성되는 제안 쿼리 용어들은, 검색 엔진의 다른 과거 사용자들에 의하여 검색 쿼리를 요청하기 위하여 사용되었을 때, 입력된 쿼리 용어를 이용하여 생성된 검색 결과보다 그들 사용자들에게 검색 엔진이 보다 만족스러웠던 것으로 보인 검색 결과들을 생성하는 그러한 용어들을 포함할 수 있다.
라이브 쿼리가 생성되어(430) 제안 쿼리 용어와 연관될 수 있는 라이브 콘텐츠를 획득한다. 라이브 콘텐츠가 획득되고(440), 클라이언트 장치에 제공되어(450), 프로세스(400)가 완료된다(460). 라이브 콘텐츠를 제공하는 단계는 라이브 콘텐츠를 디스플레이하거나 또는 달리 출력하는 단계를 포함하고, 또는 라이브 콘텐츠를 식별하는 데이터를 다른 독립체(예를 들어, 클라이언트 장치)로 전송하는 단계를 포함할 수 있다. 이러한 라이브 콘텐츠는 클라이언트 장치(102)가 라이브 콘텐츠를 디스플레이하기 위하여 처리하는 HTML 문서로서 저장될 수 있다.
도 5a 내지 5c는 다양한 검색 상황에 따른 상태에 있어서, 예시적인 사용자 인터페이스(500)를 보여준다. 도 5a의 예에 있어서, 사용자는 키 패드(510) 상에 타이핑을 함으로써 검색 입력 박스(505) 내에 "피자"의 검색 쿼리 용어를 입력한다. 이전에 설명한 방법과 기술을 이용하여, 사용자 인터페이스(500)는 제안 쿼리 용어들의 리스트를 515~525의 항목으로 디스플레이한다. 본 예에 있어서, 항목(515)에 포함된 제안 쿼리 용어는 사용자의 현재 위치, 예를 들어, GPS 수신기로부터 획득한 위치 정보에 기초하여, 셀 방식 송신탑과의 근접성에 의하거나 Wi-Fi 위치 기술에 의하여 판단되는 위치에 기초한다. 사용자의 위치에 기초하여, 항목(515)은 피체리아 부근의 이름, 주소, 및 사용자의 현재 위치와 피체리아 사이의 거리 산출 값을 디스플레이한다. 항목(520)은 쿼리 용어 "피자"와 연관된 지도 위치에 대한 검색을 수행함으로써 사용자에게 편한 길을 제공할 수 있는 매핑 어플리케이션 또는 웹사이트에 대한 링크를 포함한다. 항목(525)은 회사 "피자 헛"에 대한 검색을 수행하는 링크를 포함한다.
도 5b의 예에 있어서, 사용자는 검색 입력 박스(505) 안에 "weather nyc"의 검색 쿼리를 입력한다. 이미 설명한 방법 및 기술을 이용하여, 사용자 인터페이스(500)는 항목 530, 540 및 550으로 제안 쿼리 용어들의 리스트를 디스플레이 한다. 본 예에서, 쿼리 용어 "weather nyc"는 검색 엔진에 의하여 분석되어 용어 "nyc"가 "New York, New York"의 의미를 가지는 것으로 차이를 분명히 하고, 용어 "weather"와 연관된 차이가 분명히 된 용어를 이용하여 항목들 530, 545 및 550을 제공한다. 항목(530)은 뉴욕, NY에 대한 현재 날씨 상태에 대한 라이브 쿼리의 결과를 디스플레이하고, 현재 날씨 상태(예를 들어, 뇌우)를 심볼화한 이미지(535)와 그날의 예보된 높고 낮은 온도와 날씨 예보를 포함하는 텍스트 형태의 디스플레이(540)를 포함한다. 항목(550)이 뉴욕 시의 날씨 예보에 대한 보다 일반적인 검색에 대한 링크를 포함하는 반면, 항목(545)은 뉴욕 시의 10일의 날씨 예보에 대한 링크를 포함한다..
도 5c의 예에 있어서, 사용자는 검색 입력 박스(545) 안에 "Adam"의 검색 쿼리를 입력한다. 이전에 설명된 방법들과 기술들을 이용하여, 사용자 인터페이스(500)는 제안 쿼리 용어를 항목(560)으로 디스플레이한다. 본 예에 있어서, 제안 쿼리 용어는 분석되어 검색 쿼리 용어가 사람의 이름(예를 들어, "Adam")의 부분일 수 있다고 판단할 수 있다. 나아가, 사용자가 예를 들어, 아담 힐은 사용자의 소셜 네트워킹 사이트 상에서 사용자의 "친구", 인스턴트 메신저 친구, 사용자의 전화번호부의 연락처, 사용자가 연대기적으로 연락을 주고받았던 연락처일 수 있기 때문에, 사용자가 "Adam Hill"이라는 이름의 사람과 연관되어 있을 수 있다. 항목(560)은 또한 아담 힐의 페이스 북 프로필로부터 획득한 업데이트 사진(575)과 아담 힐의 최근 트위터의 "트윗"(예를 들어, "오늘 아픕니다")으로부터 획득한 상태(580)와 같은 라이브 콘텐츠를 포함할 수 있다.
도 6a 내지 6d 는 또한 다양한 검색 상황에 종속된 상태에 있어서 예시적인 사용자 인터페이스(600)를 도시한다. 일부 구현예들에 있어서, 검색 어플리케이션(600)은 도 1의 사용자 인터페이스(108)일 수 있다. 도시된 예에 있어서, 사용자는 검색 박스(605) 안에 글자 "w"를 입력한다. 도 6a는 "weather"에 대하여 제안 쿼리 용어(615), 사용자-입력된 쿼리 용어 "w"로부터 생성될 수 있는 다른 제안들과 같은 검색 쿼리 제안들의 리스트를 포함하는 드롭 다운 리스트(610)를 보여준다. 일부 구현예들에 있어서, 제안 쿼리 용어들의 리스트는 도 2의 검색 엔진(250)과 같은 검색 엔진으로부터 획득될 수 있다. 일부 구현예들에 있어서, 검색 쿼리 제안들은 사용자가 검색 박스(605) 안으로 정보를 입력하는 대로 동적으로 교정될 수 있다(예를 들어, 고정영역변환(prefixing)). 일부 구현예들에 있어서, 도 6a는 검색 엔진이 쿼리 용어들을 제안한 이후이면서 검색 엔진이 제안 쿼리 용어들의 적어도 일부를 위한 라이브 콘텐츠를 제공하기 이전에 존재하는 상태에 있어서, 드롭-다운 리스트를 도시하는 것일 수 있다.
도 6b 는 드롭 다운 리스트(610) 내에 보여지는 정보가 라이브 콘텐츠를 디스플레이하기 위하여 어떻게 변형되는 지에 대한 예를 도시한다. 도 6b의 예에 있어서, 제안 쿼리 용어(615)는 기재(618), 및 라이브 콘텐츠(620)와 대체된다. 기재(618)와 라이브 콘텐츠(620)를 포함하는 항목은 제안 쿼리 용어(615)보다 많은 수직 공간을 차지한다. 남겨진 제안 쿼리 용어들(625)의 리스트는 제안 쿼리 용어(615)의 수직 사이즈에 비례하여 업데이트된 제안 쿼리 용어들(620)의 증가된 수직 사이즈에 공간을 제공하기 위하여 아래로 옮겨진다.
도 6c는 드롭 다운 리스트(610) 내에 보여지는 정보가 라이브 콘텐츠를 디스플레이하기 위하여 어떻게 변형되는 지의 예를 도시한다. 도 6c의 예에 있어서, 제1 항목은 제안 쿼리 용어(615), 제안 쿼리 용어(615)와 연관된 기재(630), 및 라이브 콘텐츠(632)를 포함한다. 제1 항목이 큰 수직 공간을 차지하기 때문에, 남겨진 쿼리 용어들(625)의 리스트는 공간 수용에 따라서 아래로 옮겨진다.
도 6d는 드롭 다운 리스트(610) 내에 보여지는 정보가 라이브 콘텐츠를 디스플레이하기 위하여 어떻게 변형되는 지에 대한 또 다른 예를 도시한다. 도 6d의 예에 있어서, 제1 항목은 제안 쿼리 용어(615)와 사용자와 연관된 위치(예를 들어, 사용자의 현재 위치, 집 위치, 최근에 검색한 위치)에 대한 라이브 콘텐츠를 묘사하는 아이콘(640)을 포함한다. 본 예에 있어서, 아이콘(640)은 추가적인 수직 공간을 차지하지 않으면서 제안 쿼리 용어(615)와 인접한 위치에 디스플레이되어, 따라서 남겨진 쿼리 용어들(625)이 제거되는 것을 요구하지 않는다.
도 7 은 여기서 설명된 기술들과 함께 사용될 수 있는, 포괄적인 컴퓨터 장치(700) 및 포괄적인 모바일 컴퓨터 장치(750)를 보여준다. 컴퓨팅 장치(700)는 랩탑, 데스크탑, 워크스테이션, 개인 정보 단말기, 서버, 고밀도 서버(blade server), 메인 프레임, 그리고 다른 적절한 컴퓨터들과 같이 다양한 형태의 디지털 컴퓨터들을 대표하도록 한 것이다. 컴퓨팅 장치(750)는 개인 정보 단말기, 휴대 전화, 스마트 폰, 그리고 다른 유사한 컴퓨팅 장치들과 같은 다양한 형태의 모바일 장치를 대표하도록 한 것이다. 여기서 나타낸 요소들은, 그들의 연결 또는 관계, 그리고 다른 기능들, 단지 예시적인 것을 의미하며, 본 문서에서 설명되거나 및/또는 주장되는 발명의 실시예를 한정하는 것을 의미하는 것은 아니다.
컴퓨팅 장치(700)는 프로세서(702), 메모리(704), 저장 장치(706), 메모리(705)와 고속 확장 포트(710)와 연결되는 고속 인터페이스(708), 및 저속 버스(714)와 저장 장치(706)와 연결된 저속 인터페이스(712)를 포함한다. 각 요소들(702, 704, 706, 708, 710, 및 712)은 다양한 버스들을 이용하여 상호 연결되며, 공통의 마더 보드 상에, 또는 적당하게 다른 방법에 의하여 실장 될 수 있다. 프로세서(702)는 컴퓨팅 장치(700) 내에서 실행을 위한 명령을 프로세스 할 수 있으며, 컴퓨팅 장치(700)는 메모리(704) 또는 저장 장치(706)에 저장되어 고속 인터페이스(708)에 연결된 디스플레이(716)와 같은 외부의 입/출력 장치 상의 GUI를 위하여 그래픽 정보를 디스플레이하기 위한 명령을 포함한다. 다른 구현예에 있어서, 다수의 프로세서들 및/또는 다수의 버스들은, 다수의 메모리들과 메모리의 형태에 따라서, 적절하게 사용된다. 또한, 다수의 컴퓨팅 장치들(700)은 필요한 동작들을 제공하는 부분인 각 장치(예를 들어, 서버 뱅크, 고밀도 서버의 그룹, 또는 다수-프로세서 시스템)에 대하여 연결될 수 있다.
메모리(704)는 컴퓨팅 장치(700) 내에서 정보를 저장한다. 일 구현예에 있어서, 메모리(704)는 휘발성 메모리 유닛 또는 유닛들이다. 다른 구현예에 있어서, 메모리(704)는 비휘발성 메모리 유닛 또는 유닛들이다. 메모리(704)는 또한 자기적 또는 광학 디스크와 같은 컴퓨터가 판독 가능한 매체의 다른 형태일 수 있다.
저장 장치(706)는 컴퓨팅 장치(700)를 위한 대용량 저장을 제공하는 능력이 있다. 일 구현예에 있어서, 저장 장치(706)는 플로피 디스크 장치, 하드 디스크 장치, 광학 디스크 장치, 또는 테이프 장치, 플래시 메모리 또는 다른 유사한 고체 상태 메모리 장치, 또는 저장 영역 네트워크 또는 다른 환경 설정에서의 장치들을 포함하는 장치들의 어레이와 같은 컴퓨터 판독 가능한 매체이거나 이를 포함할 수 있다. 컴퓨터 프로그램 상품은 정보 캐리어 내에서 명백하게 구현될 수 있다. 컴퓨터 프로그램 상품은 또한 실행되었을 때, 위에서 설명한 것과 같은 하나 이상의 방법을 수행하는 명령들을 포함할 수 있다. 정보 캐리어는 메모리(704), 저장 장치(706) 또는 프로세서(702) 상의 메모리와 같은 컴퓨터 또는 기계 판독 가능 매체이다.
고속 컨트롤러(708)는 저속 컨트롤러(712)가 저 대역 집중 동작을 관리하는 동안에, 컴퓨팅 장치(700)를 위한 대역폭 집중 동작을 관리한다. 이러한 기능의 할당은 단지 예시적인 것이다. 일 구현예에 있어서, 고속 컨트롤러(708)는 메모리(704), 디스플레이(716)(예를 들어, 그래픽스 프로세서 또는 가속기를 통하여)에 연결되고, 다양한 확장 카드들(도시되지 않음)를 수용할 수 있는 고속 확장 포트들(710)과 연결된다. 구현예에 있어서, 저속 컨트롤러(712)는 저장 장치(706) 및 저속 확장 포트(714)와 연결된다. 다양한 통신 포트들(예를 들어, USB, 블루투스(Bluetooth), 이더넷(Ethernet), 무선 이더넷)을 포함하는 저속 확장 포트는 키보드, 포인팅 장치, 스캐너, 또는 스위치 또는 라우터와 같은 네트워킹 장치와 같은 하나 이상의 입/출력 장치들과, 예를 들어, 네트워크 어댑터를 통하여 연결된다.
컴퓨팅 장치(700)는 도면에 보여진 바와 같이 다수의 상이한 형태들로 구현될 수 있다. 예를 들어, 표준 서버(720), 또는 그러한 서버들의 그룹의 배수들로 구현될 수 있다. 또한 랙 서버 시스템(724)의 부분으로 구현될 수도 있다. 나아가, 랩탑 컴퓨터(722)와 같은 개인용 컴퓨터 내에 구현될 수 있다. 그 대신에 컴퓨팅 장치(700)로부터의 요소들은 장치(750)와 같은 모바일 장치(도시되지 않음) 내의 다른 요소들과 결합될 수 있다. 이러한 각 장치는 하나 이상의 컴퓨팅 장치(700, 750)를 포함하고, 전체 시스템은 서로 통신하는 다수의 컴퓨팅 장치들(700, 750)를 구성할 수 있다.
컴퓨팅 장치(750)는 프로세서(752), 메모리(764), 디스플레이(754)와 같은 입/출력 장치, 통신 인터페이스(766) 및 다른 요소들 사이의 트랜시버(768)를 포함한다. 장치(750)는 또한 마이크로 드라이브 또는 다른 장치와 같은 저장 장치와 함께 제공되어 추가적인 저장을 제공할 수도 있다. 각 요소들(750, 752, 764, 754, 766, 및 768)은, 다양한 버스들을 이용하여 상호 연결되며, 몇몇의 요소들은 공통의 마더보드 상에 또는 적절한 다른 방법들에 의하여 실장될 수 있다.
프로세서(752)는 메모리(764) 내에 저장된 명령들을 포함하는 컴퓨팅 장치(750) 내에서 명령들을 실행할 수 있다. 프로세서는 독립된 다수의 아날로그 및 디지털 프로세서들을 포함하는 칩들의 칩 셋으로 구현될 수 있다. 프로세서는, 사용자 인터페이스들, 장치(750)에 의하여 구동되는 어플리케이션들의 제어, 그리고 장치(750)에 의한 무선 통신과 같은 것들을 예를 들어, 장치(750)의 다른 요소와의 조직력을 위하여 제공할 수 있다.
프로세서(752)는 디스플레이(754)와 연결된 디스플레이 인터페이스(756) 및 제어 인터페이스(758)를 통하여 사용자와 통신할 수 있다. 디스플레이(754)는, 예를 들어 TFT LCD(Thin-Film-Transistor Liquid Crystal Display) 또는 OLED(Organic Light Emitting Diode) 디스플레이, 또는 다른 적당한 디스플레이 장비일 수 있다. 디스플레이 인터페이스(756)는 사용자에게 그래픽 또는 다른 정보를 표현하기 위하여 디스플레이(754)를 구동하는 적절한 회로를 포함할 수 있다. 제어 인터페이스(758)는 사용자로부터 커맨드를 수신하여 그들을 프로세서(752)에 제출을 위하여 변환할 수 있다. 또한, 외부 인터페이스(762)는 프로세서(752)와의 통신을 제공할 수 있다. 장치(750)와 인접한 영역에서는 다른 장치들과 통신이 가능하다. 외부 인터페이스(762)는, 예를 들어 일부 구현예들에 있어서 유선 통신, 또는 다른 구현예에 있어서 무선 통신을 제공할 수 있으며, 다수의 인터페이스들이 사용될 수도 있다.
메모리(764)는 컴퓨팅 장치(750) 내에서 정보를 저장한다. 메모리(764)는 하나 이상의 컴퓨터 판독가능 매체 또는 미디어, 휘발성 메모리 유닛 또는 유닛들, 또는 비휘발성 메모리 유닛 또는 유닛들로 구현될 수 있다. 또한 확장 메모리(774)는, 예를 들어 SIMM(Single In Line Memory Module) 카드 인터페이스를 포함할 수 있는 확장 인터페이스(772)를 통하여 장치(750)에 제공되며 연결될 수 있다. 이러한 확장 메모리(774)는 장치(750)를 위한 추가적인 저장 공간을 제공할 수 있거나, 또는 장치(750)를 위한 어플리케이션들이나 다른 정보를 저장할 수도 있다. 특별히, 확장 메모리(774)는 위에서 설명한 프로세스들을 수행하거나 보충하기 위한 명령들을 포함할 수 있으며, 또한 보안 정보를 포함할 수도 있다. 따라서, 예를 들어, 확장 메모리(774)는 장치(750)를 위한 보안 모듈로 제공될 수 있으며, 장치(750)의 보안을 허가하는 명령들로 프로그램될 수도 있다. 또한, 추가적인 정보에 따라, 보안 어플리케이션들은, SIMM 카드 상에 해킹되지 않는 방식으로 식별 정보를 넣는 것으로 SIMM 카드를 통하여 제공될 수 있다.
메모리는, 아래에서 논의되는 바와 같이, 예를 들어 플래시 메모리 및/또는 NVRAM 메모리를 포함할 수 있다. 일 구현예에 있어서, 컴퓨터 프로그램 상품은 정보 캐리어 내에 명백하게 구현된다. 컴퓨터 프로그램 상품은, 실행되는 때에, 위에서 설명된 것들과 같은 하나 이상의 방법들을 수행하는 명령들을 포함한다. 정보 캐리어는, 메모리(764), 확장 메모리(774) 또는 프로세서(752) 상의 메모리와 같이 컴퓨터 또는 기계 판독 가능한 매체이다.
장치(750)는 필요한 경우에 디지털 신호 처리 회로를 포함할 수 있는 통신인터페이스(766)를 통하여 무선으로 통신할 수 있다. 통신 인터페이스(766)는 GSM 보이스 호출, SMS, EMS, 또는 MMS 메시징, CDMA, TDMA, PCD, WCDMA, CDMA2000, 또는 GPRS와 같이 그 중에서도 다양한 모드들과 프로토콜 하에서의 통신을 제공할 수 있다. 이러한 통신은, 예를 들어, 라디오-주파수 트랜시버(768)를 통하여 일어날 수 있다. 또한, 단거리(short-range) 통신은 블루투스, Wi-Fi, 또는 다른 어떠한 트랜시버(도시되지 않음)를 이용하는 것에 의하여 일어날 수 있다. 또한, GPS 수신기 모듈(770)은 추가적인 내비게이션 및 위치 연관 무선 데이터를 장치(750)에 제공할 수 있으며, 이는 장치(750)에서 구동되는 어플리케이션에 의하여 적절하게 이용될 수 있다.
장치(750)는 또한, 사용자로부터 음성 정보를 수신하고 이를 사용 가능한 디지털 정보로 변환하는 오디오 코덱(760)을 이용하여 청각적으로 통신할 수 있다. 오디오 코덱(760)은 스피커, 예를 들어 장치(750)의 헤드 셋 내를 통하는 것으로 비슷하게 사용자에게 청각적 사운드를 생성할 수 있다. 이러한 사운드는 음성 전화 호출로부터의 사운드를 포함하며, 장치(750) 상에서 실행되는 어플리케이션에 의하여 생성된 사운드도 포함할 수 있다.
컴퓨팅 장치(750), 도면에 보여진 바와 같이, 많은 상이한 형태로 구현될 수 있다. 예를 들어, 휴대 전화(780)로서 구현될 수 있다. 또한, 스마트 폰(782), 개인 정보 단말기, 또는 다른 유사한 모바일 장치의 일부로서 구현될 수도 있다.
여기서 설명된 시스템과 기술들의 다양한 구현예들은 디지털 전기 회로, 집적회로, 특히 디자인된 ASIC(application specific integrated circuits), 컴퓨터 하드웨어, 펌웨어, 소프트웨어, 및/또는 이들의 조합으로 실현될 수 있다. 이러한 다양한 구현예들은 적어도 하나의 프로그램 가능한 프로세서를 포함하는 프로그램 가능한 시스템에서 실행 및/또는 해석이 가능한 하나 이상의 컴퓨터 프로그램들 내에서의 구현을 포함할 수 있으며, 이는 특별하거나 일반적인 목적으로, 저장 시스템, 적어도 하나의 입력 장치 및 적어도 하나의 출력 장치에 대하여 연결되어 데이터 및 명령들을 수신하고, 데이터와 명령을 전송한다.
이러한 컴퓨터 프로그램들(또한 프로그램들, 소프트웨어, 소프트웨어 어플리케이션 또는 코드로 알려져 있음)은 프로그램 가능한 프로세서를 위한 기계 명령들을 포함하며, 고-차원 절차 및/또는 객체 지향 프로그래밍 언어, 및/또는 어셈블리/기계 언어로서 구현될 수 있다. 여기서 사용되는 바와 같이, 용어 "기계 판독 가능 매체", "컴퓨터 판독 가능 매체"는 어떠한 컴퓨터 프로그램 상품, 장비 및/또는 장치(예를 들어, 자기 디스크, 광학 디스크, 메모리, 기계 명령들 및/또는 데이터를 프로그램 가능한 프로세서에 제공하는 프로그램 가능한 논리 장치(Programmable Logic Device, PLD)), 기계 명령들을 기계 판독 가능 신호로 수신하는 기계 판독 가능 매체를 포함하는 . 용어 "기계 판독 가능 신호"는 기계 명령들 및/또는 데이터를 프로그램 가능한 프로세서에 제공하는 데 사용되는 어떠한 신호를 일컫는다.
사용자와의 상호작용을 제공하기 위해서, 여기서 설명된 시스템과 기술들은 사용자에게 정보를 디스플레이하기 위한 디스플레이 장치(예를 들어, CRT(cathode ray tube) 또는 LCD(liquid crystal display) 모니터), 사용자가 컴퓨터로 입력을 제공할 수 있도록 하는 키보드와 포인팅 장치(예를 들어, 마우스 또는 트랙 볼)를 포함하는 컴퓨터 상에 구현될 수 있다. 다른 종류의 장치들 또한 사용자와의 상호작용을 제공하기 위하여 사용될 수 있으며; 예를 들어, 사용자에게 제공되는 피드백은 어떠한 형태의 감각적인 피드백(예를 들어, 시각적 피드백, 청각적 피드백, 또는 촉각적 피드백); 그리고 음향, 구어, 또는 촉각적 입력을 포함하는 어떠한 형태로서 사용자로부터 수신되는 입력을 포함할 수 있다.
여기서 설명된 시스템과 기술들은 말단(end) 요소(예를 들어, 데이터 서버), 또는 미들웨어 요소(예를 들어, 어플리케이션 서버), 전단(front) 요소(예를 들어, 그래픽 사용자 인터페이스를 가지는 클라이언트 컴퓨터 또는 여기서 설명된 시스템과 기술들의 구현들과 함께 사용자가 상호작용할 수 있는 웹 브라우저), 또는 이러한 말단, 미들웨어, 또는 전단 요소들의 어떠한 조합들을 포함하는 컴퓨팅 시스템의 형태로 구현될 수 있다. 시스템들의 요소들은 디지털 데이터 통신(예를 들어, 통신 네트워크)의 어떠한 형태 또는 매체에 의하여 상호 연결될 수 있다. 통신 네트워크들의 예들은 근거리 통신망(local area network, "LAN"), 원거리 통신망(wide area network, "WAN"), 그리고 인터넷을 포함한다.
컴퓨팅 시스템은 클라이언트들과 서버들을 포함할 수 있다. 클라이언트와 서버는 일반적으로 서로 원거리에(remote) 있으며, 일반적으로 통신 네트워크를 통하여 상호작용한다. 클라이언트와 서버의 관계는 각 컴퓨터들에 의하여 실행되며 서로 클라이언트-서버 관계를 가지는 컴퓨터 프로그램들에 의하여 형성된다.
덧붙여, 도면에 묘사된 논리의 흐름은, 원하는 결과를 얻기 위하여 나타낸 특정한 순서, 또는 순차적인 순서를 요구하는 것은 아니다. 따라서, 시술된 흐름들로부터 다른 단계들이 제공되거나, 또는 단계가 제거될 수 있으며, 기술된 시스템들로부터, 다른 요소들이 더해지거나, 또는 제거될 수 있다. 따라서 다른 실시예들은 아래의 청구항들의 범위 내에 포함된다.

Claims (20)

  1. 사용자로부터 불완전한(partial) 쿼리 용어를 수신하는 단계;
    상기 불완전한 쿼리 용어에 기초하여, 상기 불완전한 쿼리 용어를 포함하는 제안 쿼리 용어를 생성하는 단계;
    상기 제안 쿼리 용어의 생성에 응답하여, 상기 제안 쿼리 용어와 연관된 실질적인 라이브 콘텐츠를 획득하기 위하여 제삼자(third-party) 콘텐츠 제공자의 라이브 쿼리를 개시하는 단계;
    상기 제삼자 콘텐츠 제공자로부터 상기 라이브 콘텐츠를 수신하는 단계; 및
    상기 제안 쿼리 용어 및 상기 라이브 콘텐츠를 서로 인접하게 디스플레이하기 위하여 클라이언트 장치로 제공하는 단계를 포함하며,
    상기 라이브 콘텐츠는 상기 제안 쿼리 용어와 연관되며, 상기 제안 쿼리 용어가 생성되는 때 또는 그 직후의 시점에 실질적으로 현재(current) 하는 정보를 포함하는 컴퓨터 실행 방법.
  2. 컴퓨터 프로그램으로 부호화된 컴퓨터 저장 매체에 있어서, 상기 프로그램은 데이터 처리 장치에 의하여 실행될 때, 상기 데이터 처리 장치로 하여금 동작을 수행하도록 하는 지시들을 포함하며, 상기 지시들은,
    클라이언트 장치에 의하여 제안 쿼리 용어를 획득하는 단계;
    상기 제안 쿼리 용어를 획득한 것에 응답하여, 상기 제안 쿼리 용어와 관련된 라이브 콘텐츠를 획득하기 위한 라이브 쿼리를 개시(initiate)하는 단계;
    상기 라이브 콘텐츠를 획득하는 단계; 및
    상기 클라이언트 장치의 사용자 인터페이스 상에 상기 라이브 콘텐츠를 표시하는 단계를 포함하는 컴퓨터 저장 매체.
  3. 청구항 2에 있어서,
    상기 라이브 콘텐츠를 표시하는 단계는 제안 쿼리 용어들의 리스트 사이에 상기 라이브 콘텐츠를 디스플레이하는 단계를 포함하는 컴퓨터 저장 매체.
  4. 청구항 3에 있어서,
    상기 라이브 콘텐츠를 디스플레이하는 단계는, 검색 박스 아래의 드롭-다운(drop-down) 메뉴 상에, 상기 제안 쿼리 용어들의 리스트 사이에 상기 라이브 콘텐츠를 디스플레이하는 단계를 포함하는 컴퓨터 저장 매체.
  5. 청구항 3에 있어서,
    상기 라이브 콘텐츠를 디스플레이하는 단계는, 상기 제안 쿼리 용어들의 리스트 상에 상기 제안 쿼리 용어를 대신하여 상기 라이브 콘텐츠를 디스플레이하는 단계를 포함하는 컴퓨터 저장 매체.
  6. 청구항 3에 있어서,
    상기 라이브 콘텐츠를 디스플레이하는 단계는, 상기 제안 쿼리 용어들의 리스트 상에 상기 제안 쿼리 용어와 인접하여 상기 라이브 콘텐츠를 디스플레이하는 단계를 포함하는 컴퓨터 저장 매체.
  7. 청구항 2에 있어서,
    상기 제안 쿼리 용어를 획득하는 단계는,
    사용자-입력 쿼리 용어를 수신하는 단계, 및
    상기 사용자-입력 쿼리 용어를 이용하여 상기 제안 쿼리 용어를 생성하는 단계를 더 포함하는 컴퓨터 저장 매체.
  8. 청구항 2에 있어서,
    상기 제안 쿼리 용어를 획득하는 단계는,
    사용자의 개인화된 검색 히스토리에 접근하는 단계, 및
    상기 사용자의 개인화된 검색 히스토리를 이용하여 상기 제안 쿼리 용어를 생성하는 단계를 더 포함하는 컴퓨터 저장 매체.
  9. 청구항 2에 있어서,
    상기 제안 쿼리 용어는 사용자가 쿼리 용어를 입력하는 것을 요구하지 않고 획득되며, 상기 라이브 쿼리는 상기 제안 쿼리 용어를 획득하는 것에 응답하여 자동적으로 개시되는 컴퓨터 저장 매체.
  10. 청구항 2에 있어서,
    상기 제안 쿼리 용어가 사업체(business)를 식별하는 때, 상기 라이브 콘텐츠는 상기 사업체에 대한 현재 주식 시세를 포함하는 컴퓨터 저장 매체.
  11. 청구항 2에 있어서,
    상기 제안 쿼리 용어가 위치를 식별하는 때, 상기 라이브 콘텐츠는 상기 위치의 현재 날씨 정보를 포함하는 컴퓨터 저장 매체.
  12. 청구항 2에 있어서, 상기 제안 쿼리 용어가 POI(point-of-interest)를 식별하는 때, 상기 라이브 콘텐츠는 상기 POI와 클라이언트 장치의 현재 위치 사이의 거리를 포함하는 컴퓨터 저장 매체.
  13. 청구항 2에 있어서, 상기 제안 쿼리 용어가 사람을 식별하는 때, 상기 라이브 콘텐츠는 상기 사람의 상태(status)을 포함하는 컴퓨터 저장 매체.
  14. 청구항 2에 있어서,
    상기 동작은,
    사용자가 검색 다이얼로그를 적용하는 제어를 선택했는 지 판단하는 단계를 더 포함하여, 상기 사용자가 상기 제어를 선택한 것을 판단함에 응답하여 상기 제안 쿼리 용어가 자동적으로 획득되는 컴퓨터 저장 매체.
  15. 청구항 2에 있어서, 상기 동작은,
    사용자가 상기 라이브 콘텐츠를 포함하는 링크를 선택했는 지를 판단하는 단계; 및
    상기 사용자가 선택한 링크를 감지한 것에 기초하여 상기 제안 쿼리 용어와 관련된 웹 문서에 접근하는 단계를 더 포함하는 컴퓨터 저장 매체.
  16. 청구항 2에 있어서, 상기 라이브 콘텐츠는 상기 라이브 쿼리가 수행되는 때 현재 하는 상기 제안 쿼리 용어와 관련된 정보를 대표하는 컴퓨터 저장 매체.
  17. 청구항 2에 있어서,
    상기 제안 쿼리 용어를 획득하는 단계는 상기 제안 쿼리 용어를 생성하는 단계를 더 포함하는 컴퓨터 저장 매체.
  18. 청구항 2에 있어서, 상기 제안 쿼리 용어를 획득하는 단계는 검색 엔진으로부터 상기 제안 쿼리 용어를 수신하는 단계를 더 포함하는 컴퓨터 저장 매체.
  19. 검색 엔진이 제안 쿼리 용어를 생성하는 단계;
    상기 제안 쿼리 용어의 생성에 응답하여, 상기 제안 쿼리 용어와 관련된 라이브 콘텐츠를 획득하기 위한 라이브 쿼리를 수행하는 단계;
    상기 라이브 콘텐츠를 획득하는 단계; 및
    클라이언트 장치에 상기 라이브 콘텐츠를 제공하는 단계를 포함하는 컴퓨터로 구현되는 방법(computer-implemented method).
  20. 검색 엔진; 및
    상기 검색 엔진과 연결되는 컴퓨터 판독 가능 매체(computer-readable medium)를 포함하며,
    상기 컴퓨터 판독 가능 매체는 상기 검색 엔진에 의하여 실행되는 때, 상기 검색 엔진이 동작을 수행하도록 하는 지시들(instructions)을 포함하며, 상기 지시들은,
    제안 쿼리 용어를 생성하는 단계;
    상기 제안 쿼리 용어에 응답하여, 상기 제안 쿼리 용어와 관련된 라이브 콘텐츠를 획득하기 위한 라이브 쿼리를 수행하는 단계;
    상기 라이브 콘텐츠를 획득하는 단계; 및
    클라이언트 장치에 상기 라이브 콘텐츠를 제공하는 단계를 포함하는 시스템.
KR1020127022631A 2010-02-03 2010-02-26 실시간 피드백에 의한 정보 검색 시스템 KR101680288B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US12/699,532 2010-02-03
US12/699,532 US9129012B2 (en) 2010-02-03 2010-02-03 Information search system with real-time feedback
PCT/US2010/025644 WO2011096945A1 (en) 2010-02-03 2010-02-26 Information search system with real-time feedback

Publications (2)

Publication Number Publication Date
KR20130009961A true KR20130009961A (ko) 2013-01-24
KR101680288B1 KR101680288B1 (ko) 2016-11-28

Family

ID=42245555

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020127022631A KR101680288B1 (ko) 2010-02-03 2010-02-26 실시간 피드백에 의한 정보 검색 시스템

Country Status (10)

Country Link
US (1) US9129012B2 (ko)
EP (1) EP2531934A1 (ko)
JP (2) JP5539544B2 (ko)
KR (1) KR101680288B1 (ko)
AU (1) AU2010345063C1 (ko)
BR (1) BR112012019563A2 (ko)
CA (1) CA2788651C (ko)
IL (1) IL221168A (ko)
RU (1) RU2546308C2 (ko)
WO (1) WO2011096945A1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016098991A1 (ko) * 2014-12-19 2016-06-23 주식회사 림버스 사용자 단말 및 사용자 단말에서의 웹 페이지 표시 방법
KR20210122431A (ko) * 2020-04-01 2021-10-12 주식회사 컴홈 서비스 플랫폼에서 인공지능 처리를 위한 머시닝 시스템

Families Citing this family (88)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6505123B1 (en) 2000-07-24 2003-01-07 Weatherbank, Inc. Interactive weather advisory system
US8229467B2 (en) 2006-01-19 2012-07-24 Locator IP, L.P. Interactive advisory system
US11113299B2 (en) 2009-12-01 2021-09-07 Apple Inc. System and method for metadata transfer among search entities
US20120284253A9 (en) * 2009-12-01 2012-11-08 Rishab Aiyer Ghosh System and method for query suggestion based on real-time content stream
US9282307B2 (en) * 2010-04-13 2016-03-08 Synergy Sports Technology, Llc System and methods for searching and displaying ontology-based data structures
US8751521B2 (en) * 2010-04-19 2014-06-10 Facebook, Inc. Personalized structured search queries for online social networks
KR101174216B1 (ko) * 2010-10-25 2012-08-14 엔에이치엔(주) 지역기반의 검색어를 추천하는 시스템 및 그 방법
US20120109994A1 (en) * 2010-10-28 2012-05-03 Microsoft Corporation Robust auto-correction for data retrieval
US8515984B2 (en) * 2010-11-16 2013-08-20 Microsoft Corporation Extensible search term suggestion engine
US20120124072A1 (en) 2010-11-16 2012-05-17 Microsoft Corporation System level search user interface
US10346479B2 (en) 2010-11-16 2019-07-09 Microsoft Technology Licensing, Llc Facilitating interaction with system level search user interface
US10073927B2 (en) 2010-11-16 2018-09-11 Microsoft Technology Licensing, Llc Registration for system level search user interface
US8725743B2 (en) * 2011-04-07 2014-05-13 Microsoft Corporation Accessible commanding interface
US8639679B1 (en) * 2011-05-05 2014-01-28 Google Inc. Generating query suggestions
US20120308033A1 (en) 2011-06-03 2012-12-06 Airborne Media Group Communication node for venue-oriented communications
US20130054631A1 (en) * 2011-08-30 2013-02-28 Microsoft Corporation Adding social network data to search suggestions
KR20130024739A (ko) * 2011-08-31 2013-03-08 성균관대학교산학협력단 실시간 경험 분석 시스템 및 방법
US20130073944A1 (en) * 2011-09-15 2013-03-21 Yahoo! Inc. Method and system for dynamically providing contextually relevant posts on an article
US20130246595A1 (en) 2011-10-18 2013-09-19 Hugh O'Donoghue Method and apparatus for using an organizational structure for generating, using, or updating an enriched user profile
US8983996B2 (en) 2011-10-31 2015-03-17 Yahoo! Inc. Assisted searching
US8224836B1 (en) * 2011-11-02 2012-07-17 Google Inc. Searching in multiple languages
US8645360B2 (en) * 2011-11-03 2014-02-04 Google Inc. Previewing search results
US9858313B2 (en) * 2011-12-22 2018-01-02 Excalibur Ip, Llc Method and system for generating query-related suggestions
JP5905638B2 (ja) * 2012-04-11 2016-04-20 インテル コーポレイション ユーザ・インターフェース・コンテンツ個人別最適化システム
US10303754B1 (en) * 2012-05-30 2019-05-28 Callidus Software, Inc. Creation and display of dynamic content component
CN102724310B (zh) * 2012-06-18 2016-06-08 深圳市Tcl云创科技有限公司 一种通过移动终端实现云搜索的方法
US9367633B2 (en) * 2012-06-29 2016-06-14 Yahoo! Inc. Method or system for ranking related news predictions
WO2014014374A1 (en) * 2012-07-19 2014-01-23 Yandex Europe Ag Search query suggestions based in part on a prior search
US9141707B2 (en) 2012-07-19 2015-09-22 Facebook, Inc. Context-based object retrieval in a social networking system
US9183570B2 (en) * 2012-08-31 2015-11-10 Google, Inc. Location based content matching in a computer network
CN102937975B (zh) * 2012-10-17 2016-06-29 奇飞翔艺(北京)软件有限公司 一种网页搜索设备和方法
US20140129973A1 (en) * 2012-11-08 2014-05-08 Microsoft Corporation Interaction model for serving popular queries in search box
US9105068B2 (en) * 2012-11-12 2015-08-11 Facebook, Inc. Grammar model for structured search queries
US9218392B1 (en) * 2012-11-30 2015-12-22 Amazon Technologies, Inc. Interest related search results
US9430782B2 (en) * 2012-12-17 2016-08-30 Facebook, Inc. Bidding on search results for targeting users in an online system
US20140172564A1 (en) * 2012-12-17 2014-06-19 Facebook, Inc. Targeting objects to users based on queries in an online system
US9367607B2 (en) 2012-12-31 2016-06-14 Facebook, Inc. Natural-language rendering of structured search queries
US9361363B2 (en) * 2012-12-31 2016-06-07 Facebook, Inc. Modifying structured search queries on online social networks
US9361653B2 (en) * 2013-01-16 2016-06-07 Sap Se Social recommendations for business process platform
EP2763050A1 (en) 2013-01-31 2014-08-06 Google, Inc. Serving font glyphs
CN104050164A (zh) * 2013-03-11 2014-09-17 北京百度网讯科技有限公司 输入信息的处理方法及设备
US20140280297A1 (en) * 2013-03-14 2014-09-18 Microsoft Corporation Search annotation and suggestion
WO2014139120A1 (en) * 2013-03-14 2014-09-18 Microsoft Corporation Search intent preview, disambiguation, and refinement
US20150213041A1 (en) * 2013-03-15 2015-07-30 Google Inc. Search suggestion rankings
CN105051734B (zh) * 2013-04-04 2019-06-11 索尼公司 信息处理设备、数据输入辅助方法以及程序
US20140344250A1 (en) * 2013-05-20 2014-11-20 Microsoft Corporation Enhanced search refinement for personal information services
US9646062B2 (en) 2013-06-10 2017-05-09 Microsoft Technology Licensing, Llc News results through query expansion
US9374431B2 (en) 2013-06-20 2016-06-21 Microsoft Technology Licensing, Llc Frequent sites based on browsing patterns
US9576074B2 (en) 2013-06-20 2017-02-21 Microsoft Technology Licensing, Llc Intent-aware keyboard
US10496649B1 (en) 2013-06-22 2019-12-03 Google Llc Personalized suggestions based on past queries
CN104346354B (zh) * 2013-07-29 2017-12-01 阿里巴巴集团控股有限公司 一种提供推荐词的方法及装置
RU2592393C2 (ru) 2013-08-30 2016-07-20 Общество С Ограниченной Ответственностью "Яндекс" Система и способ завершения пользовательского запроса и предоставления ответа на запрос
US9633123B2 (en) 2013-10-14 2017-04-25 Red Hat, Inc. Data federation query suggestion
US9672288B2 (en) 2013-12-30 2017-06-06 Yahoo! Inc. Query suggestions
US9454621B2 (en) * 2013-12-31 2016-09-27 Google Inc. Surfacing navigational search results
CN105095234A (zh) * 2014-04-30 2015-11-25 富泰华工业(深圳)有限公司 文档内容自动搜索系统及方法
CN104063433A (zh) * 2014-06-10 2014-09-24 百度在线网络技术(北京)有限公司 推荐内容的展现方法和装置
CN112182342A (zh) * 2014-06-16 2021-01-05 谷歌有限责任公司 在搜索结果中显露直播事件
CN104142990A (zh) * 2014-07-28 2014-11-12 百度在线网络技术(北京)有限公司 搜索方法及装置
US20160078035A1 (en) * 2014-09-11 2016-03-17 Facebook, Inc. Systems and methods for providing real-time content items associated with topics
US10242106B2 (en) * 2014-12-17 2019-03-26 Excalibur Ip, Llc Enhance search assist system's freshness by extracting phrases from news articles
KR102339461B1 (ko) * 2014-12-18 2021-12-15 삼성전자 주식회사 전자 장치의 텍스트 기반 컨텐츠 운용 방법 및 장치
US20160189043A1 (en) * 2014-12-24 2016-06-30 Locator IP, L.P. Crime forcasting system
US9852226B2 (en) 2015-08-10 2017-12-26 Microsoft Technology Licensing, Llc Search engine results system using entity density
US10176251B2 (en) 2015-08-31 2019-01-08 Raytheon Company Systems and methods for identifying similarities using unstructured text analysis
RU2632136C2 (ru) * 2015-10-06 2017-10-02 Общество С Ограниченной Ответственностью "Яндекс" Способ и устройство для доставки целевого контента целевому пользователю
CN105426498A (zh) * 2015-11-24 2016-03-23 小米科技有限责任公司 输出提示词的方法及装置
RU2015156695A (ru) 2015-12-29 2017-07-05 Общество С Ограниченной Ответственностью "Яндекс" Способ и система обработки префикса, связанного с поисковым запросом
US10222957B2 (en) * 2016-04-20 2019-03-05 Google Llc Keyboard with a suggested search query region
US10305828B2 (en) 2016-04-20 2019-05-28 Google Llc Search query predictions by a keyboard
US9965530B2 (en) 2016-04-20 2018-05-08 Google Llc Graphical keyboard with integrated search features
US10140017B2 (en) 2016-04-20 2018-11-27 Google Llc Graphical keyboard application with integrated search
US10078673B2 (en) * 2016-04-20 2018-09-18 Google Llc Determining graphical elements associated with text
US10452671B2 (en) * 2016-04-26 2019-10-22 Facebook, Inc. Recommendations from comments on online social networks
US10614140B2 (en) 2016-06-01 2020-04-07 International Business Machines Corporation Keyword based data crawling
US10664157B2 (en) 2016-08-03 2020-05-26 Google Llc Image search query predictions by a keyboard
US10242113B2 (en) * 2016-10-13 2019-03-26 International Business Machines Corporation Modifying messages to be more discoverable on a social network
JP6401428B1 (ja) * 2017-04-27 2018-10-10 楽天株式会社 情報処理装置、情報処理方法、プログラム、記憶媒体
CN107402702A (zh) 2017-07-17 2017-11-28 北京小米移动软件有限公司 运营入口获取方法和装置
US20190354603A1 (en) * 2018-05-21 2019-11-21 Qingdao Hisense Electronics Co., Ltd. Display apparatus with intelligent user interface
US11250486B1 (en) * 2018-08-03 2022-02-15 Rentpath Holdings, Inc. Systems and methods for displaying filters and intercepts leveraging a predictive analytics architecture
US11455361B2 (en) * 2019-08-09 2022-09-27 Microsoft Technology Licensing, Llc Query entity-experience classification
US11397859B2 (en) 2019-09-11 2022-07-26 International Business Machines Corporation Progressive collocation for real-time discourse
CN111340633A (zh) * 2020-03-04 2020-06-26 上海点掌文化传媒股份有限公司 一种用于股市资讯信息的股民服务系统
US11556707B2 (en) * 2020-06-18 2023-01-17 Google Llc Fulfillment of actionable requests ahead of a user selecting a particular autocomplete suggestion for completing a current user input
US11281682B1 (en) 2020-11-09 2022-03-22 Optum, Inc. Combining data sources for type down search results
US11429601B2 (en) * 2020-11-10 2022-08-30 Bank Of America Corporation System for generating customized data input options using machine learning techniques
US12008043B2 (en) * 2021-03-29 2024-06-11 Microsoft Technology Licensing, Llc Natural language query processing and debugging

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5873095A (en) * 1996-08-12 1999-02-16 Electronic Data Systems Corporation System and method for maintaining current status of employees in a work force
US20050257400A1 (en) * 1998-11-06 2005-11-24 Microsoft Corporation Navigating a resource browser session
JP2001249933A (ja) 2000-03-06 2001-09-14 Nippon Telegr & Teleph Corp <Ntt> 検索語入力補完方法及び装置、並びに該方法を実施するためのプログラムを格納した記録媒体
GB0205130D0 (en) 2002-03-06 2002-04-17 Symbian Ltd A method of enabling a wireless information device to access data services
US7930301B2 (en) * 2003-03-31 2011-04-19 Microsoft Corporation System and method for searching computer files and returning identified files and associated files
US20050283458A1 (en) * 2004-06-22 2005-12-22 Microsoft Corporation Automatic detection of frequently used query patterns in a query workload
JP2006079368A (ja) 2004-09-09 2006-03-23 I-Face Inc 情報配信システム、クライアントおよび方法
JP2006163645A (ja) 2004-12-03 2006-06-22 Kenji Kita 情報検索方法、情報検索装置、情報検索プログラム及びコンピュータで読み取り可能な記録媒体並びに記録した機器
JP4781741B2 (ja) 2005-07-25 2011-09-28 ヤフー株式会社 情報検索システム、情報検索プログラム
US7672932B2 (en) 2005-08-24 2010-03-02 Yahoo! Inc. Speculative search result based on a not-yet-submitted search query
US7747639B2 (en) 2005-08-24 2010-06-29 Yahoo! Inc. Alternative search query prediction
US7676517B2 (en) 2005-10-14 2010-03-09 Microsoft Corporation Search results injected into client applications
US8010523B2 (en) * 2005-12-30 2011-08-30 Google Inc. Dynamic search box for web browser
US20090234814A1 (en) * 2006-12-12 2009-09-17 Marco Boerries Configuring a search engine results page with environment-specific information
CA2676692A1 (en) * 2007-02-09 2008-08-14 Novarra, Inc. Method and system for providing portions of information content to a client device
JP2008217068A (ja) 2007-02-28 2008-09-18 Brother Ind Ltd ネットワークシステムと通信装置
US9268856B2 (en) * 2007-09-28 2016-02-23 Yahoo! Inc. System and method for inclusion of interactive elements on a search results page
JP2009237750A (ja) 2008-03-26 2009-10-15 Denso It Laboratory Inc 情報検索支援装置及び情報検索支援方法
US7945683B1 (en) * 2008-09-04 2011-05-17 Sap Ag Method and system for multi-tiered search over a high latency network
US20100146012A1 (en) * 2008-12-04 2010-06-10 Microsoft Corporation Previewing search results for suggested refinement terms and vertical searches
US8392530B1 (en) * 2008-12-18 2013-03-05 Adobe Systems Incorporated Media streaming in a multi-tier client-server architecture

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016098991A1 (ko) * 2014-12-19 2016-06-23 주식회사 림버스 사용자 단말 및 사용자 단말에서의 웹 페이지 표시 방법
KR20210122431A (ko) * 2020-04-01 2021-10-12 주식회사 컴홈 서비스 플랫폼에서 인공지능 처리를 위한 머시닝 시스템

Also Published As

Publication number Publication date
AU2010345063B2 (en) 2015-06-11
IL221168A (en) 2017-07-31
US20110191364A1 (en) 2011-08-04
AU2010345063C1 (en) 2015-12-03
WO2011096945A1 (en) 2011-08-11
JP2014167815A (ja) 2014-09-11
US9129012B2 (en) 2015-09-08
AU2010345063A1 (en) 2012-08-16
RU2546308C2 (ru) 2015-04-10
KR101680288B1 (ko) 2016-11-28
BR112012019563A2 (pt) 2016-05-03
JP5539544B2 (ja) 2014-07-02
CA2788651C (en) 2018-06-12
CN102844753A (zh) 2012-12-26
JP5795101B2 (ja) 2015-10-14
RU2012137281A (ru) 2014-03-10
JP2013519150A (ja) 2013-05-23
EP2531934A1 (en) 2012-12-12
CA2788651A1 (en) 2011-08-11

Similar Documents

Publication Publication Date Title
KR101680288B1 (ko) 실시간 피드백에 의한 정보 검색 시스템
US10885076B2 (en) Computerized system and method for search query auto-completion
US9390144B2 (en) Objective and subjective ranking of comments
US9454621B2 (en) Surfacing navigational search results
JP5608286B2 (ja) 無限ブラウズ
KR101482694B1 (ko) 검색 질의들에서의 위치
US20150227523A1 (en) Computer Application Data In Search Results
CN106462613B (zh) 基于用户属性来对建议进行排名
US20190265851A1 (en) Platform for third-party supplied calls-to-action
US20160292299A1 (en) Determining and inferring user attributes
JP2024050849A (ja) 繰り返し可能クエリの識別および発行
US11537674B2 (en) Method of and system for generating search query completion suggestion on search engine
CN112204546A (zh) 因果选择偏好

Legal Events

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