KR101989502B1 - 검색 피처들을 제공하기 위한 시스템들 및 방법들 - Google Patents
검색 피처들을 제공하기 위한 시스템들 및 방법들 Download PDFInfo
- Publication number
- KR101989502B1 KR101989502B1 KR1020157020451A KR20157020451A KR101989502B1 KR 101989502 B1 KR101989502 B1 KR 101989502B1 KR 1020157020451 A KR1020157020451 A KR 1020157020451A KR 20157020451 A KR20157020451 A KR 20157020451A KR 101989502 B1 KR101989502 B1 KR 101989502B1
- Authority
- KR
- South Korea
- Prior art keywords
- search
- user
- proposed
- time period
- feature
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/903—Querying
- G06F16/9032—Query formulation
- G06F16/90324—Query formulation using system suggestions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/40—Information retrieval; Database structures therefor; File system structures therefor of multimedia data, e.g. slideshows comprising image and additional audio data
- G06F16/43—Querying
- G06F16/435—Filtering based on additional data, e.g. user or group profiles
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Computational Linguistics (AREA)
- Multimedia (AREA)
- User Interface Of Digital Computer (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
검색 제안들을 제공하기 위한 시스템들 및 방법들이 개시된다. 몇몇 구현들에서, 방법은: 하나 이상의 프로세서들 및 하나 이상의 프로세서들에 의해 실행하기 위한 하나 이상의 프로그램들을 저장하는 메모리를 가진 전자 디바이스에서: 검색 필드를 디스플레이하는 단계; 제 1 미리 정의된 시간 기간에 걸쳐 검색 필드에 관련하여 미리 정의된 사용자 활동을 검출하는 단계; 및 검출에 응답하여: (ⅰ) 시스템-지원 사용자 질의의 신택스를 나타내는 제안된 검색 피처, 또는 (ⅱ) 사용자의 최근 뷰잉 활동에 관련된 제안된 검색 용어 중 하나를 디스플레이하는 단계를 포함한다. 다른 구현들에서, 방법은: 검색 필드를 디스플레이하는 단계; 제 1 미리 정의된 시간 기간에 걸쳐 검색 필드에 관하여 사용자 비-활동을 검출하는 단계; 및 검출에 응답하여: 검색 필드에, 시스템-지원 사용자 질의의 신택스를 나타내는 검색 제안을 디스플레이하는 단계를 포함한다.
Description
본 개시된 구현들은 일반적으로 검색 제안들을 제공하는 것에 관한 것이다.
검색 제안들을 사용자들에게 제공하는 것은 점점 더 중요하게 되고 있다. 예를 들어, 검색 제공자는, 사용자가 검색 엔진 사용자 인터페이스, 이를 테면 검색 박스에 입력하는 용어들 또는 용어들의 부분들에 관련된 검색 키워드들을 제안하거나, 인기있는 검색들을 제안하기를 원할 수 있다. 제안들은 종종, 사용자가 제안들 중 하나를 선택할 수 있는 페인(pane)에 디스플레이된다. 그 다음 검색 엔진은 검색 용어들을 사용하여 검색을 수행한다. 이들 제안들은 사용자가 검색 용어들을 선택하는 것을 돕는데 유용하지만, 이들 제안들은 사용자가 선택된 검색 용어들과 결합하여 검색 엔진의 진보된 검색 신택스(syntax) 또는 진보된 검색 피처(feature)들을 이용하거나 - 또는 심지어 일반적으로 검색 신택스 및 피처들에 관하여 학습하게 하는 것을 돕지 않는다. 결과적으로, 대부분의 사용자들은, 사용된다면 검색 엔진 능력들의 효율적인 이용을 증가시킬 것 같은 진보된 검색 신택스 또는 진보된 검색 피처들을 이용하지 못한다.
상기 식별된 어려움들은 본원에 개시된 시스템들 및 방법들에 의해 감소되거나 제거된다.
이로써, 검색 제안들을 제공하기 위한 시스템들, 방법들, 전자 디바이스, 및 비-일시적 컴퓨터 판독가능 스토리지 매체들이 개시된다.
일 양상에서, 검색 제안들을 제공하기 위한 방법은: 하나 이상의 프로세서들 및 하나 이상의 프로세서들에 의한 실행을 위해 하나 이상의 프로그램들을 저장하는 메모리를 가진 전자 디바이스에서; 검색 필드를 디스플레이하는 단계; 제 1 미리 정의된 시간 기간에 걸쳐 검색 필드에 관련된 미리 정의된 사용자 활동(activity)을 검출하는 단계; 검출에 응답하여: (ⅰ) 시스템-지원 사용자 질의의 신택스를 나타내는 제안된 검색 피처; 또는 (ⅱ) 사용자의 최근 뷰잉 활동(viewing activity)에 관련된 제안된 검색 용어 중 하나를 디스플레이하는 단계를 포함한다.
몇몇 구현들에서, 상기 설명된 방법은 사용자 질의를 수신하기 전에 실행되고, 미리 정의된 사용자 활동은 사용자 비활동(inactivity)이다.
몇몇 구현들에서, 방법은: 검색 필드로부터, 하나 이상의 문자들을 가진 사용자 질의를 수신하는 단계를 더 포함하고, 여기서 제안된 검색 피처 또는 제안된 검색 용어의 첫번째 문자는 사용자 질의의 첫번째 문자와 동일하다.
몇몇 구현들에서, 제안된 검색 피처는 검색 필드에 디스플레이되고; 그리고 방법은: 검색 필드로부터, 사용자 질의를 수신하는 단계; 및 제안된 검색 피처의 첫번째 문자가 사용자 질의의 첫번째 문자와 동일할 때, 제안 리스트에, 제안된 검색 피처를 디스플레이하는 단계를 더 포함한다.
몇몇 구현들에서, 제안된 검색 피처는: (ⅰ) 복수의 제안된 검색 피처들로부터 랜덤하게 선택된 검색 피처, 또는 (ⅱ) 과거에 미리 정의된 시간 기간 동안 사용자에게 디스플레이되지 않은 검색 피처 중 하나이다.
몇몇 구현들에서, 제안된 검색 피처 또는 제안된 검색 용어는 사용자 질의 또는 사용자의 최근 뷰잉 활동과 연관된 시간, 요일, 또는 날짜에 따라 선택된다. 다른 구현들에서, 제안된 검색 피처 또는 제안된 검색 용어는 사용자와 연관된 검색 히스토리(history) 또는 사용자 프로파일에 따라 선택된다.
몇몇 구현들에서, 제안된 검색 피처는 (i) 최근에 이용 가능한 검색 피처, (ii) 사용자에게 알려지지 않거나 사용자에 의해 덜 빈번하게 사용된 검색 피처 중 하나이다.
몇몇 구현들에서, 방법은 또한: 제안된 검색 피처를 디스플레이한 후: 제 1 미리 정의된 시간 기간보다 더 큰 제 2 미리 정의된 시간 기간에 걸쳐 미리 정의된 사용자 활동을 검출하는 단계; 응답하여: 제안된 검색 피처를 다시 디스플레이하는 단계를 포함한다.
몇몇 구현들에서, 방법은: 제안 리스트에, 제안된 검색 용어 또는 사용자의 최근 뷰잉 활동에 관련된 하나 또는 그 추가의 검색 용어들을 디스플레이하는 단계를 더 포함한다.
몇몇 구현들에서, 제안된 검색 용어는 사용자에 의해, 현재 뷰잉되거나 과거에 미리 정의된 시간 기간 내에 뷰잉된 미디어 콘텐츠에 관한 것이다.
몇몇 구현들에서, 제안된 검색 용어는: 미디어 콘텐츠와 연관된 배우/여배우, 미디어 콘텐츠와 연관된 줄거리, 미디어 콘텐츠와 연관된 일반상식, 또는 미디어 콘텐츠와 연관된 장르 중 하나에 대응한다.
다른 양상에서, 검색 제안들을 제공하기 위한 방법은: 전자 디바이스에, 검색 필드를 디스플레이하는 단계; 제 1 미리 정의된 시간 기간에 걸쳐 검색 필드에 관하여 사용자 비활동을 검출하는 단계; 검출에 응답하여: 검색 필드에, 시스템-지원 사용자 질의의 신택스를 나타내는 검색 제안을 디스플레이하는 단계를 포함한다.
몇몇 구현들에서, 검색 제안은 작동 불가능하다. 몇몇 구현들에서, 방법은 또한: 검색 필드로부터, 하나 이상의 문자들을 가진 사용자 질의를 수신하는 단계를 포함하고, 검색 제안의 첫번째 문자는 사용자 질의의 첫번째 문자와 동일하다.
몇몇 구현들에서, 방법은: 검색 필드로부터, 사용자 질의를 수신하는 단계; 및 제안 리스트에, 검색 제안의 첫번째 문자가 사용자 질의의 첫번째 문자와 동일할 때 검색 제안을 디스플레이하는 단계를 더 포함한다.
몇몇 구현들에서, 방법은 또한: 검색 제안을 디스플레이한 후: 제 1 미리 정의된 시간 기간보다 큰 제 2 미리 정의된 시간 기간에 걸쳐 사용자 비활동을 검출하는 단계; 응답하여: 검색 제안을 다시 디스플레이하는 단계를 포함한다.
컴퓨터에 의해 실행될 때, 컴퓨터로 하여금, 상기 설명된 방법들 중 하나 이상의 단계들을 수행하게 하는 하나 이상의 프로그램들을 저장하는 컴퓨터 시스템, 전자 디바이스, 및 비-일시적 컴퓨터 판독가능 저장 매체가 또한 개시된다.
본원에 개시된 구현들은 첨부 도면들의 도면들에서, 제한이 아닌 예로서 예시된다. 동일한 참조 번호들은 도면들 전체에 걸쳐 대응하는 부분들을 지칭한다.
도 1은 몇몇 구현들에 따른, 컴퓨터 시스템을 예시하는 블록도이다.
도 2는 몇몇 구현들에 따른, 전자 디바이스를 예시하는 블록도이다.
도 3은 몇몇 구현들에 따른, 서버 시스템을 예시하는 블록도이다.
도 4는 몇몇 구현들에 따른, 컴퓨터 시스템에서 검색 제안들을 제공하기 위한 방법을 예시하는 흐름도이다.
도 5a-도 5c는 몇몇 구현들에 따른, 전자 디바이스에서 검색 제안들을 제공하기 위한 방법들을 예시하는 흐름도들이다.
도 6a-도 6c는 몇몇 구현들에 따른, 검색 제안들을 제공하기 위한 사용자 인터페이스의 예시적 부분들을 예시하는 스크린 이미지들이다.
도 1은 몇몇 구현들에 따른, 컴퓨터 시스템을 예시하는 블록도이다.
도 2는 몇몇 구현들에 따른, 전자 디바이스를 예시하는 블록도이다.
도 3은 몇몇 구현들에 따른, 서버 시스템을 예시하는 블록도이다.
도 4는 몇몇 구현들에 따른, 컴퓨터 시스템에서 검색 제안들을 제공하기 위한 방법을 예시하는 흐름도이다.
도 5a-도 5c는 몇몇 구현들에 따른, 전자 디바이스에서 검색 제안들을 제공하기 위한 방법들을 예시하는 흐름도들이다.
도 6a-도 6c는 몇몇 구현들에 따른, 검색 제안들을 제공하기 위한 사용자 인터페이스의 예시적 부분들을 예시하는 스크린 이미지들이다.
본원에 설명된 구현들은 (ⅰ) 시스템-지원 사용자 질의(예를 들어, 검색 용어들과 불 연결어(Boolean connector)들 둘 다를 포함하는 예시적 질의)의 신택스를 나타내는 검색 피처; 또는 (ⅱ) 사용자 최근 뷰잉 활동(예를 들어, 사용자가 연결된 TV상에서 시청하고 있는 영화의 주연들의 이름들)에 관련된 검색 용어 같은, 검색 제안들을 제공하기 위한 기술들을 제공한다. 이들 기술들은 미래 검색 효율성을 상당히 증가시키고 사용자의 검색 경험 및 진보된 검색 엔진 피처들 및 신택스와의 익숙성을 상당히 강화할 수 있다.
몇몇 구현들에서, 전자 디바이스는 사용자가 하나 이상의 검색 용어들을 입력할 수 있는 검색 필드(예를 들어, 검색 박스)를 디스플레이한다. 전자 디바이스는 인터넷 연결 및 디스플레이에 정보를 출력할 능력을 가진 임의의 종류의 컴퓨터 디바이스일 수 있다. 예를 들어, 전자 디바이스는 TV에 커플링된 구글 TV-인에이블된 디바이스, 랩톱 컴퓨터, 디스플레이를 가진 데스크톱 컴퓨터, 스마트폰, 테블릿 컴퓨터, 또는 사용자에게 제시하고 사용자가 검색 박스와 상호작용하게 하게 하도록 프로그램될 수 있는 연결된 TV일 수 있다. 몇몇 구현들에서, 전자 디바이스는 검색 필드와의 사용자 상호작용들을 검출하고 그 다음 이들 상호작용들에 관련된 검색 필드와 함께 정보를 제시하도록 구성된다. 예를 들어, 몇몇 구현들에서, 전자 디바이스는 10 초 같은 제 1 미리 정의된 시간 기간에 걸쳐 검색 필드와의 사용자 상호작용의 결여를 검출하도록 구성된다. 그 다음, 사용자 비활동을 검출하는 것에 응답하여, 전자 디바이스는 (ⅰ) 진보된 또는 새롭게-이용 가능한 검색 피처에 대한 신택스를 나타내는 문자열 같은, 시스템-지원 사용자 질의의 신택스를 나타내는 제안된 검색 피처, 또는 (ⅱ) 사용자가 연결된 TV 또는 구글 TV-인에이블된 디바이스 상에서 최근에 시청한(또는 시청중인) TV 프로그램에서 배우들 또는 여배우의 이름들 같은 사용자의 최근 뷰잉 활동에 관련된 제안된 검색 용어를 디스플레이한다.
이런 방식으로, 사용자가 검색 용어들을 검색 필드에 아직 입력하지 않았을 때, 사용자가 소비하고 있거나 최근에 소비한 (i) 진보된 검색 피처에 대한 신택스(예를 들어, 사용자-공급 검색 용어들과 함께, AND 또는 OR 같은 불 연결어들을 사용하여), 또는 (ii) 미디어 콘텐츠(예를 들어, MP3 노래들, 유튜브 비디오들, 또는 TV 또는 영화 에피소드들)에 관련한 검색 키워드들 같은 검색 제안들은 사용자에게 제공된다. 이런 접근법은 이익인데, 그 이유는: (i) 진보된 검색 피처들에 대한 예시적 신택스가 검색 제안에 나타날 때, 이들 진보된 검색 피처들을 사용하기 위한 학습 곡선(learning curve)이 상당히 감소될 것 같고, 그리고 (ii) 사용자가 관심을 표현한 미디어 콘텐츠에, 검색 제안들에 제공된 검색 용어들이 관련될 때, 다음 검색 제안에 의해, 사용자는 관심 있는 검색 결과들을 수신할 것 같기 때문이다.
구현들의 부가적인 상세들은 도면들과 관련하여 이제 설명된다.
도 1은 검색 제안들을 제공하기 위한 컴퓨터 시스템(100)을 예시하는 블록도이다. 몇몇 구현들에서, 컴퓨터 시스템(100)은 하나 이상의 전자 디바이스들(102)("전자 디바이스(102)")을 포함한다. 전자 디바이스(102)는 연결된 TV(즉, 구글 TV-인에이블된 디바이스 상에서 애플리케이션들을 실행할 수 있는 인터넷 연결성을 가진 TV, 또는 검색 박스를 디스플레이하고 검색 박스와의 사용자 상호작용을 가능하게 하는 하나 이상의 프로그램 모듈들을 실행하도록 구성된 임의의 컴퓨터 시스템)일 수 있다. 컴퓨터 시스템(100)은 또한 통신 네트워크(104), 및 서버 시스템(106)("서버(106)")을 포함한다. 몇몇 구현들에서, 컴퓨터 시스템(100)은 둘 또는 그 초과의 전자 디바이스들(102)(예를 들어 전자 디바이스(102-A) 및 전자 디바이스(102-B))을 포함한다.
몇몇 구현들에서, 전자 디바이스(102)는 서버(106)로부터 검색 제안(132)을 수신하고, 검색 제안(132), 또는 검색 제안(132)의 부분을 사용자에게 디스플레이한다. 몇몇 구현들에서, 전자 디바이스(102)는 또한 사용자에 의해 최근에 뷰잉된 미디어 콘텐츠에 대해 리포트하는 사용자 뷰잉 데이터(130)를 수집하여 서버(106)에 전송한다. 이런 뷰잉 데이터(130)에 기초하여, 서버(106)는 검색 제안들(132)을 생성한다. 서버는 또한 사용자들의 그룹(예를 들어, 동일한 공통 관심을 가진 둘 또는 그 초과의 사용자들)에 대한 뷰잉 활동들을 고려하여 검색 제안들(132)을 생성할 수 있다.
몇몇 구현들에서, 전자 디바이스(102)는 입력 디바이스(110), 사용자 활동 검출기(112), 선택적으로 검색 제안 제공자(114), 미디어 플레이어(116) 및 디스플레이(118)를 포함한다. 몇몇 구현들에서, 입력 디바이스(110)(예를 들어, 키보드, 마우스, 터치패드, 또는 터치스크린)는 사용자로부터의 입력, 이를 테면 사용자에 의해 입력된 검색 용어들, 또는 사용자에 의한 마우스 움직임(예를 들어 마우스 오버(mouse over) 또는 클릭)을 수신한다. 몇몇 구현들에서, 사용자 활동 검출기(112)는, 사용자 활동들 또는 사용자 활동들의 결여(예를 들어, 사용자 비활동), 예를 들어 사용자가 과거 10 초 내에 마우스 커서를 움직였는지, 사용자가 어떤 문자(들)를 검색 필드(120)에 입력하는 중이거나 입력했는지, 또는 사용자가 미디어 콘텐츠를 뷰잉하고 있는지 최근에 뷰잉했는지(예를 들어, 미디어 플레이어(116) 상에서)를 검출한다. 몇몇 구현들에서, 검색 제안 제공자(114)는 하나 이상의 검색 제안들(예를 들어, 제안된 검색 피처 또는 제안된 검색 용어)을 제공하고, 검색 제안들, 또는 검색 제안들의 서브세트를 검색 필드(120) 또는 제안 리스트(125)에 디스플레이한다. 몇몇 구현들에서, 미디어 플레이어(116)는 사용자가 소비할(예를 들어, 뷰잉 또는 청취) 미디어 콘텐츠를 디스플레이한다. 몇몇 구현들에서, 미디어 플레이어(116)는 독립형 디바이스(예를 들어, DVD, CD 또는 불루레이 플레이어)를 포함한다. 다른 구현들에서, 미디어 플레이어(116)는 미디어 콘텐츠를 디스플레이하기 위한 소프트웨어 패키지(예를 들어, 유튜브 오디오/비디오를 플레이하기 위한 웹-브라우저 플러그-인)를 포함한다. 몇몇 구현들에서, 디스플레이(118)는 컴퓨터 모니터 또는 TV 스크린(예를 들어, 구글 TV 스크린)을 포함한다. 몇몇 구현들에서, 디스플레이들(118)은 검색 필드(120) 및 선택적으로 제안 리스트(125)를 사용자에게 디스플레이한다.
몇몇 구현들에서, 통신 네트워크(104)는 선택적으로 인터넷, 하나 이상의 로컬 영역 네트워크(LAN)들, 하나 이상의 광역 네트워크(WAN)들, 다른 타입들의 네트워크들, 또는 그런 네트워크들의 결합을 포함한다.
몇몇 구현들에서, 서버(106)는 프론트 엔드 서버(front end server)(150), 질의 프로세서(152), 데이터베이스(154), 그룹 프로파일(156)(선택적), 사용자 활동들 검출기(112)(선택적), 및 검색 제안 제공자(114)(선택적)를 포함한다. 몇몇 구현들에서, 프론트 엔드 서버(150)는 전자 디바이스(102) 상에서의 사용자 활동들을 식별하는 정보(예를 들어, 사용자 뷰잉 데이터(130))를 수신하고, 정보를, 분석을 위하여 서버(106) 상 사용자 활동 검출기(112)에 전송한다. 몇몇 구현들에서, 검색 제안들이 제공된 후, 사용자는 사용자 질의(134)를 입력하고; 그리고 프론트엔드 서버(150)는 사용자 질의(134)를 수신하고 사용자 질의(134)를, 실행을 위하여 질의 프로세서(152)에 전송한다. 몇몇 구현들에서, 사용자 질의(134)를 수신한 후, 질의 프로세서(152)는 데이터베이스(154)에 대해 사용자 질의(134)를 실행하고, 이에 따라 리턴된 검색 결과들을 수집하고, 그리고 검색 결과들을 전자 디바이스(102)(예를 들어, 프론트엔드 서버(150)를 통해)에 다시 전송한다. 몇몇 구현들에서, 데이터베이스(154)는 도큐먼트(예를 들어, 웹 페이지들), 데이터, 정보, 또는 이들의 인덱스들, 이를 테면 사용자가 시청하고 있거나 최근에 시청한 영화에 관련된 TV 에피소드들 또는 영화들의 이름들(예를 들어, 영화와 동일한 장르를 가짐)을 저장한다. 몇몇 구현들에서, 그룹 프로파일(156)은 사용자들 또는 전자 디바이스들(102)의 그룹에 관한 정보를 저장한다. 몇몇 구현들에서, 그룹 프로파일(156)은 사용자들의 그룹에 의해 제출된 사용자 질문들(134)로부터 유도된 검색 통계치들, 사용자들의 그룹에 이전에 제공된 검색 제안들, 및 이에 대한 사용자 피드백(암시적 또는 명시적)을 포함한다. 몇몇 구현들에서, 사용자 피드백은: 검색 제안이 사용자에 의해 채택되었는지, 이들의 빈도들, 또는 제공된 검색 제안과 사용자에 의해 나중에 입력된 질의 용어(들) 사이의 관계(또는 관계의 결여)를 포함한다. 몇몇 구현들에서, 그룹 프로파일(156)은 또한 그룹 뷰잉 데이터(316) 및 그룹 제안 통계치들(318)을 포함한다(도 3 참조). 몇몇 구현들에서, 사용자 활동 검출기(112)는 서버(106) 상에 상주한다. 몇몇 구현들에서, 검색 제안 제공자(114)는, 사용자 뷰잉 데이터(130) 또는 그룹 프로파일(156)에 따른, 검색 제안들을 전자 디바이스(102)에 제공한다. 다른 구현들에서, 사용자 활동 검출기(112)는 전자 디바이스(102) 상에 상주한다. 또 다른 구현들에서, 사용자 활동 검출기(112)는 서버(106) 및 전자 디바이스(102) 둘 다 상에 상주한다.
도 2는 몇몇 구현들에 따른 전자 디바이스(102)("전자 디바이스(102)")를 예시하는 블록도이다. 전자 디바이스(102)는, 몇몇 구현들에서, 하나 이상의 프로세싱 유닛들(CPU(들))(202)(또한 본원에서 프로세서들이라 지칭됨), 하나 이상의 네트워크 인터페이스들(204), 메모리(206), 입력 디바이스(110)(예를 들어, 키보드, 마우스, 터치패드, 또는 터치스크린), 디스플레이(118), 및 이들 컴포넌트들을 상호연결하기 위한 하나 이상의 통신 버스들(208)을 포함한다. 통신 버스들(208)은 선택적으로 시스템 컴포넌트들 사이에서 통신들을 상호연결하고 제어하는 회로소자(때때로 칩셋이라 불림)를 포함한다. 메모리(206)는 통상적으로 고속 랜덤 액세스 메모리, 이를 테면 DRAM, SRAM, DDR RAM 또는 다른 랜덤 액세스 고체 상태 메모리 디바이스들; 및 선택적으로 비휘발성 메모리, 이를 테면 하나 이상의 자기 디스크 스토리지 디바이스들, 광학 디스크 스토리지 디바이스들, 플래시 메모리 디바이스들, 또는 다른 비휘발성 고체 상태 스토리지 디바이스들을 포함한다. 메모리(206)는 선택적으로 CPU(들)(201)로부터 원격으로 위치된 하나 이상의 스토리지 디바이스들을 포함한다. 메모리(206), 또는 대안적으로 메모리(206) 내의 비-휘발성 메모리 디바이스(들)는 비-일시적 컴퓨터 판독가능 스토리지 매체를 포함한다. 몇몇 구현들에서, 메모리(206) 또는 대안적으로 비-일시적 컴퓨터 판독가능 스토리지 매체는 다음 프로그램들, 모듈들 및 데이터 구조들, 또는 이들의 서브세트를 저장한다:
● 다양한 기본 시스템 서비스들을 핸들링하고 하드웨어 종속 태스크(task)들을 수행하기 위한 프로시저들을 포함하는 동작 시스템(210);
● 하나 이상의 네트워크 인터페이스들(204)(유선 또는 무선), 또는 통신 네트워크(104)(도 1)를 통하여 전자 디바이스(102)를 다른 디바이스들(예를 들어, 서버(106) 또는 다른 전자 디바이스들(102))과 연결하기 위한 네트워크 통신 모듈(또는 명령들)(212);
● 사용자 인터페이스 컴포넌트들 또는 제어들(예를 들어, 텍스트박스들, 버튼들, 라디오 버튼들, 드롭-다운(drop-down) 리스트들)을 사용자에게 디스플레이하기 위한 사용자 인터페이스 모듈(214), 사용자 인터페이스 모듈(214)은:
○ 검색 필드(120)에 검색 제안들을 선택적으로 디스플레이하고, 그리고 (예를 들어, 문자 또는 단어 단위에 기초하여) 검색 필드(120)로부터 사용자 입력(예를 들어, 사용자 질의의 부분으로서 검색 키워드들)을 모으기 위한 검색 필드 모듈(216); 및
○ 제안 리스트(125)(예를 들어, 드롭-다운 리스트)를 디스플레이하고, 동시에 사용자 입력에 따라 제안 리스트(125)를 업데이팅하기 위한 제안 리스트 모듈(218)을 포함하고;
● 전자 디바이스(102) 상에 미리 정의된 사용자 활동들 또는 사용자 비활동들(예를 들어, 사용자가 임의의 검색 키워드들을 입력했는지, 또는 사용자가 과거 10 초에서 마우스 커서를 움직였는지)을 검출하기 위한 사용자 활동 검출기(112);
● 선택적으로, 하나 이상의 검색 제안들을 검색 필드 모듈(216) 또는 제안 리스트 모듈(218)에 제공하기 위한 검색 제안 제공자(114);
● 전자 디바이스(102) 상에서 미디어 콘텐츠(예를 들어, TV 에피소드들, MP3 노래들, 유튜브 스트림들, 또는 영화들)를 플레이하기 위한 미디어 플레이어(116)(하드웨어 또는 소프트웨어); 및
● 전자 디바이스(102) 상에 저장된 데이터(220), 상기 데이터(220)는:
○ 사용자가 얼마나 오래 아이들링(idling)(예를 들어, 키보드 스트로크 또는 마우스 움직임 없음) 하는지 같은, 전자 디바이스(102) 상에서 사용자 활동들 또는 비활동에 관한 정보를 포함하기 위한 사용자 활동 데이터(222);
○ 전자 디바이스(102) 상에서 사용자의 뷰잉 활동에 관한 정보, 예를 들어 특정 날짜에 사용자에 의해 시청된 영화의 이름, 장르, 년도, 또는 제목, 또는 얼마나 빈번하게 사용자가 만화 영화들을 시청하는지를 포함하기 위한 사용자 뷰잉 데이터(130), ;
○ 사용자 질의가 예약된 키워드(예를 들어, "AND")를 시작할 수 없거나, 또는 검색 용어 둘레에 인용 부호들을 사용하여 정확한 매칭(검색 용어와 검색 결과들 사이)이 원해지는 것을 가리키는 것 같은, 시스템-지원 사용자 질의들의 신택스를 포함하기 위한 신택스 데이터(224);
○ 사용자에게 제공될 검색 제안들 - 이를 테면, (ⅰ) 시스템-지원 사용자 질의 신택스를 나타내는 제안된 검색 피처; 또는 (ⅱ) 사용자의 최근 뷰잉 활동에 관련된 제안된 검색 용어 - 을 포함하기 위한 검색 제안(132); 및
○ 특정 검색 제안이 과거 3 시간들 내에서 사용자에게 디스플레이되었는지 또는 디스플레이되었을 때, 또는 사용자가 검색 제안을 채택했는지(그 뒤에 검색 제안에 제공된 것들과 유사한 키워드들을 가진 질의들을 실행함으로써) 같은 검색 제안들(132)에 관련된 통계치들을 포함하기 위한 검색 제안 통계치들(226)을 포함한다.
몇몇 구현들에서, 전자 디바이스(102)는 또한 디스플레이(118), 미디어 콘텐츠 입력/출력, 및 TV 리모트 컨트롤을 포함한다. 몇몇 구현들에서, 디스플레이(118)는 TV 스크린 또는 컴퓨터 모니터를 포함한다. 몇몇 구현들에서, TV 리모트 컨트롤은 (예를 들어, 미디어 플레이어(116)를 통해) 전자 디바이스(102) 상에 디스플레이되고 있는 미디어 콘텐츠를 조절(예를 들어, 빨리 감기 또는 되감기)한다.
몇몇 구현들에서, 분산식 클라이언트-서버 시스템(100)은 둘 또는 그 초과의 전자 디바이스들(102)(예를 들어, 전자 디바이스(102-A) 및 전자 디바이스(102-B))를 포함한다. 몇몇 구현들에서, 서버(106) 상의 검색 제공자(114)는 하나 이상의 전자 디바이스들(102)과 통신한다. 몇몇 구현들에서, 서버(106) 상의 검색 제안 제공자(114)는, 전자 디바이스(102-A) 및 전자 디바이스(102-B)가 미리 정의된 관계를 공유하고 개별 컴퓨터들의 사용자들이 검색 제안 통계치들의 수집에 대한 허가를 제공할 때(예를 들어, 동일한 사용자에 의해 소유되거나 IP 어드레스의 동일 범위 내에 있는 두 개의 컴퓨터들, 또는 전자 디바이스(102-A) 및 전자 디바이스(102-B)가 가족 구성원들이거나, 동일한 소셜 서클에 속하거나, 공통 관심을 공유함), 전자 디바이스(102-A) 및 전자 디바이스(102-B) 둘 다에 검색 제안들(132)을 제공하고 상기 둘 다로부터 그런 검색 제안 통계치들(226)을 수집한다.
몇몇 구현들에서, 상기 식별된 엘리먼트들 중 하나 이상은 이전에 언급된 메모리 디바이스들 중 하나 이상에 저장되고, 상기 설명된 기능을 수행하기 위한 명령들의 세트에 대응한다. 상기 식별된 모듈들 또는 프로그램들(예를 들어, 명령들의 세트들)은 별도의 소프트웨어 프로그램들, 프로시저들 또는 모듈들로서 구현될 필요가 없고, 따라서 이들 모듈들의 다양한 서브세트들은 다양한 구현들에서 결합되거나 다르게 재배열될 수 있다. 몇몇 구현들에서, 메모리(206)는 선택적으로 상기 식별된 모듈들 및 데이터 구조들의 서브세트를 저장한다. 게다가, 메모리(206)는 상기 설명되지 않은 부가적인 모듈들 및 데이터 구조들을 저장할 수 있다.
도 3은 몇몇 구현들에 따른, 서버 시스템(106)(서버라 또한 불리는 "서버(106)")을 예시하는 블록도이다. 서버(106)는 통상적으로 하나 이상의 프로세싱 유닛들(CPU(들)(302)(또한 본원에서 프로세서들로 지칭됨), 하나 이상의 네트워크 인터페이스들(304), 메모리(306), 및 이들 컴포넌트들을 상호연결하기 위한 하나 이상의 통신 버스들(308)을 포함한다. 통신 버스들(308)은 선택적으로 시스템 컴포넌트들 사이의 통신들을 상호연결하고 제어하는 회로소자(때때로 칩셋이라 불림)를 포함한다. 메모리(306)는 고속 랜덤 액세스 메모리, 이를 테면 DRAM, SRAM, DDR RAM 또는 다른 랜덤 액세스 고체 상태 메모리 디바이스들을 포함하고; 그리고 선택적으로 비-휘발성 메모리, 이를 테면 하나 이상의 자기 디스크 스토리지 디바이스들, 광학 디스크 스토리지 디바이스들, 플래시 메모리 디바이스들, 또는 다른 비-휘발성 고체 상태 스토리지 디바이스들을 포함한다. 메모리(306)는 선택적으로 CPU(들)(302)로부터 원격으로 위치된 하나 이상의 스토리지 디바이스들을 포함한다. 메모리(306), 또는 대안적으로 메모리(306) 내의 비-휘발성 메모리 디바이스(들)는 비-일시적 컴퓨터 판독가능 스토리지 매체를 포함한다. 몇몇 구현들에서, 메모리(306) 또는 대안적으로 비-일시적 컴퓨터 판독가능 스토리지 매체는 다음 프로그램들, 모듈들 및 데이터 구조들, 또는 이들의 서브세트를 저장한다:
● 다양한 기본 시스템 서비스들을 핸들링하고 하드웨어 종속 태스크들을 수행하기 위한 프로시저들을 포함하는 동작 시스템(310);
● 하나 이상의 네트워크 인터페이스들(304)(유선 또는 무선), 또는 통신 네트워크(104)(도 1)를 통하여, 서버(106)를 다른 디바이스들(예를 들어, 하나 이상의 전자 디바이스들(102))과 연결하기 위한 네트워크 통신 모듈(또는 명령들)(312);
● 전자 디바이스(102)로부터 수신된 사용자 활동들(예를 들어, 사용자 뷰잉 데이터(130))에 관한 데이터를 수신하여, 사용자 활동 검출기(112)(서버(106) 상)에 전송하고; 그리고 전자 디바이스(102)로부터 수신된 사용자 질문(134)을 질문 프로세서(152)에 전송하기 위한 프론트엔드 서버(150);
● 전자 디바이스(102)로부터 수신된 사용자 질의들(예를 들어, 사용자 질의들(134))을 실행하고, 이에 따라 리턴된 검색 결과들을 수집하고, 그리고 검색 결과들을 하나 이상의 전자 디바이스들(102)에 전송하기 위한 질의 프로세서(152);
● 데이터(예를 들어, 웹페이지들 또는 다른 도큐먼트들), 또는 이들의 인덱스들, 이를 테면 사용자가 시청하고 있거나 최근에 시청한 영화와 유사한 TV 에피소드들 또는 영화들에 관한 정보를 포함하기 위한 데이터베이스(154);
● 사용자들의 그룹 또는 전자 디바이스들(102)에 관한 정보를 포함하기 위한 그룹 프로파일(156), 상기 그룹 프로파일은(156)은:
○ 과거 일주일 내에 사용자들의 그룹에 의해 소비된 영화들 또는 음악의 이름들, 장르, 년도, 또는 제목 같은, 사용자들의 그룹에 의한 활동들을 뷰잉하는 것에 관한 정보를 포함하기 위한 그룹 뷰잉 데이터(316); 및
○ 과거 3 일들 내에 사용자들의 그룹에 제공된 검색 제안들, 및 이에 대한 사용자 피드백 같은, 사용자들의 그룹에 제공된 검색 제안들에 관한 통계치들을 포함하기 위한 그룹 제안 통계치들(318)을 포함한다.
몇몇 구현들에서, 상기 식별된 엘리먼트들 중 하나 이상은 이전에 언급된 메모리 디바이스들 중 하나 이상에 저장되고 상기 설명된 기능을 수행하기 위한 명령들의 세트에 대응한다. 상기 식별된 모듈들 또는 프로그램들(예를 들어, 명령들의 세트들)은 별도의 소프트웨어 프로그램들, 프로시저들 또는 모듈들로서 구현될 필요가 없고, 따라서 이들 모듈들의 다양한 서브세트들은 다양한 구현들에서 결합되거나 다르게 재배열될 수 있다. 몇몇 구현들에서, 메모리(306)는 선택적으로 상기 식별된 모듈들 및 데이터 구조들의 서브세트를 저장한다. 게다가, 메모리(306)는 선택적으로 상기 설명되지 않은 부가적인 모듈들 및 데이터 구조들을 저장한다.
비록 도 3이 서버로 또한 지칭되는 "서버 시스템(106)"을 도시하지만, 도 3은 본원에 설명된 구현들의 구조적 개략으로서보다 서버 시스템에 존재할 수 있는 다양한 피처들의 기능적 설명부로서 보다 의도된다. 실제로, 그리고 당업자들에 의해 인식된 바와 같이, 개별적으로 도시된 아이템들은 결합될 수 있고 몇몇 아이템들은 분리될 수 있다.
도 4는 몇몇 구현들에 따른, 컴퓨터 시스템에서 검색 제안들을 제공하기 위한 방법(400)을 예시하는 흐름도이다.
몇몇 구현들에서, 전자 디바이스(102)는 먼저 검색 필드(예를 들어, 도 1에서 검색 필드(120))를 디스플레이한다(502). 몇몇 구현들에서, 검색 필드는 사용자가 하나 이상의 검색 키워드들(또는 검색 용어들)을 입력할 수 있는 텍스트 박스이다. 몇몇 구현들에서, 검색 필드는 구글의 "goole.com" 웹사이트 상에 디스플레이된 검색 박스 또는 구글 TV 상 검색 박스 또는 다른 애플리케이션이다. 몇몇 구현들에서, 전자 디바이스(102)는, 문자 단위 또는 단어 단위에 기초하여, 검색 필드 내 사용자 입력을 검출하고 사용자 입력을 서버(106)에 전송한다(410). 다른 구현들에서, 전자 디바이스(102)는 검색 필드 내 사용자 입력을 검출하고 미리 정의된 이벤트 후, 사용자 입력을 서버(106)에 전송한다. 예를 들어, 전자 디바이스(102)는 긴 일시중지(예를 들어, 10 초 내에 추가 사용자 입력 없음)를 검출한 후 검색 필드 내 키워드들을 전송하기 시작한다.
몇몇 구현들에서, 검색 필드를 디스플레이한 후(402), 전자 디바이스(102)는 검색 필드에 관한 미리 정의된 사용자 활동을 검출한다(404). 몇몇 구현들에서, 미리 정의된 사용자 활동은: (i) 사용자가 10초 이상 동안 사용자의 마우스를 검색 필드 위에 머물게 했는지, (ii) 사용자가 과거 5초 내에 검색 필드 내에 임의의 문자 또는 단어를 입력했는지 여부, 또는 (iii) 사용자가 검색 필드로부터 관심을 돌리는 것을 의미하는, 검색 필드 상에서 세팅 포커스(setting focus) 이후 사용자가 다른 사용자 인터페이스 제어(예를 들어, 다른 웹 브라우저에서 리프레시 버튼)를 클릭했는지를 포함한다. 몇몇 구현들에서, 미리 정의된 사용자 활동은 검색 필드에 관련한 사용자 비활동(예를 들어, 사용자 활동 결여)이다. 예를 들어, 검색 필드는 여전히 사용자 관심 초점을 가지지만, 사용자는 과거 10초 내에 검색 필드에 임의의 검색 용어들 또는 키워드들을 입력하지 않았다.
몇몇 구현들에서, 검색 필드에 관한 미리 정의된 사용자 활동이 검출되지 않으면("아니오"(406)) - 예를 들어, 미리 정의된 사용자 활동이 검색 필드에 관하여 사용자 비활동이지만, 사용자가 검색 필드에 하나 이상의 검색 용어들을 입력했다면 - 전자 디바이스(102)는 검출 사이클을 재시작한다(예를 들어, 단계 402로 되돌아 감). 몇몇 구현들에서, 미리 정의된 사용자 활동을 검출하는 것은 미리 정의된 시간 기간에 걸쳐 사용자 활동을 검출하고(예를 들어, 사용자가 지난 10 초 동안 마우스 커서를 움직이지 않았는지), 그리고 검출 사이클을 재시작하는 것은 미리 정의된 시간 기간을 리셋하거나 재시작하는 것을 포함한다.
몇몇 구현들에서, 검색 필드에 관한 미리 정의된 사용자 활동이 검출되면("예"(408)) - 예를 들어, 전자 디바이스(102)가 과거 10 초에 걸쳐 사용자 비활동을 검출하고, 사용자가 해당 시간 기간에 걸쳐 검색 필드에 검색 용어들을 입력하지 않으면 - 이 결정(예를 들어, 사용자가 비활동하고 있음)은 서버(106)로 전송되고, 그 다음 여기서 하나 이상의 검색 제안이 사용자에게 제공된다.
몇몇 구현들에서, 검색 필드에 관한 미리 정의된 사용자 활동이 검출된 후("예"(408)), 전자 디바이스(102)는 또한 사용자 뷰잉 데이터(130)(예를 들어, 전자 디바이스(102) 상에 디스플레이되는 영화 제목)를 서버(106)에 전송한다.
몇몇 구현들에서, 검색 필드에 관련한 미리 정의된 사용자 활동이 검출된 후, 서버(106)는 전자 디바이스(102)에 제공될 하나 이상의 제안들(예를 들어, 검색 제안들(132))을 결정한다(412). 몇몇 구현들에서, 검색 제안들은 사용자 뷰잉 데이터(130)에 따라 결정된다. 예를 들어, 몇몇 구현들에서, 검색 제안들은 미디어 콘텐츠가 전자 디바이스(102)의 사용자에 의해 소비되고 있거나 최근에 소비된 것을 식별하는 정보에 기초하여, 전자 디바이스(102)에 제공된다. 예를 들어, 몇몇 상황들에서, 사용자가 3 또는 그 초과의 CSI-마이애미 에피소드들을 최근에 시청했을 때, 서버(106)에 의해 제공된 검색 제안들은 이들 에피소드의 주연 배우들의 이름들, 또는 유사한 TV 시리즈의 제목들(예를 들어, CSI-NYC, Law and Order, 또는 크리미널 마인드들)을 포함한다.
몇몇 구현들에서, 검색 피처에 관하여 사용자를 교육하기 위하여, 서버(106)는 시스템-지원 사용자 질의의 신택스를 나타내는 제안된 검색 피처를 제공한다(414). 예를 들어, 서버(106)는 사용자-지원 키 워드들(예를 들어, "범죄 영화", "1980년 이전" 및 "2011년 이후")과 함께 불 연결어들(예를 들어, "AND" 및 "OR")을 사용하기 위하여 가능한 신택스를 나타내도록 검색 제안, 이를 테면 "범죄 영화 AND(1980년 이전 OR 2011년 이후)"를 제공한다. 몇몇 구현들에서, 제안된 검색 피처는 사용자 주의를 끌고 사용자 활동을 조장하기 위하여, 사용자에 의해 최근에 제출된 키워드들(예를 들어, 사용자는 3 시간 전에 "범죄 영화"를 검색했음)을 포함한다. 몇몇 구현들에서, 제안된 검색 피처들의 복잡성은 사용자와 연관된 프로파일(예를 들어, 사용자를 컴퓨터 과학자로서 식별하는 구글 계정 정보), 또는 그룹 프로파일(156)(예를 들어, 사용자를, 유명한 컴퓨터 프로그래밍 논의 그룹의 정회원으로서 식별함)에 따라 결정된다. 몇몇 구현들에서, 사용자 프로파일 또는 그룹 프로파일(156)은 프라이버시 세팅을 포함하고, 프라이버시 세팅에 의해 사용자는 제 3 자에 대해 사용자를 식별하는 정보에 대한 액세스를 승인하거나 거절한다. 이런 접근법 - 시스템-지원 사용자 질의의 신택스를 나타내는 제안된 검색 피처를 제공함 - 은 이익인데, 그 이유는 새롭게-이용 가능하거나 진보된 검색 피처와 연관된 학습 곡선을 감소시킬 수 있고, 이는 차례로 사용자들이 이들 피처들을 학습 및 사용하는 것을 조장하기 때문이다.
다른 구현들에서, 사용자가 소비중이거나 최근에 소비한 미디어 콘텐츠에 관한 정보(예를 들어, 미디어 콘텐츠)를 사용자가 위치 결정하는 것을 돕기 위하여, 서버(106)는 사용자의 뷰잉 활동에 관련된 하나 이상의 제안된 검색 용어들(또는 검색 키워드들)을 제공한다(416). 예를 들어, 몇몇 상황들에서, 제안된 검색 용어들은 브라우징 세션 2 시간 이전 동안 사용자가 시청한 TV 에피소드에 관련된 영화들의 제목들, 또는 사용자가 현재 미디어 플레이어(116)(예를 들어, 구글 크롬 브라우저에서 유튜브 비디오) 상에서 시청하고 있는 영화의 배우들 또는 여배우들의 이름들을 포함한다. 이런 접근법 - 사용자의 뷰잉 활동에 관련된 제안된 검색 용어들을 제공함 - 은 또한 이익인데, 그 이유는 사용자가 관심 있는 미디어 콘텐츠에 관련한 정보를 사용자 찾는데 성공할 가능성을 증가시킬 수 있기 때문이다.
몇몇 구현들에서, 하나 이상의 검색 제안들이 제공된 후, 전자 디바이스(102)는 검색 제안들, 또는 검색 제안들의 서브세트를 디스플레이한다(418). 몇몇 구현들에서, 도 6b에 도시된 바와 같이, 시스템-지원 사용자 질의의 신택스를 나타내는 검색 피처 같은 검색 제안은 가시적으로 구별되는 방식(예를 들어, 회색으로 칠해진 포맷으로) 또는 비-실행가능 방식(예를 들어, 사용자가 사용자 질의할 때 사용자가 검색 제안을 직접적으로 실행할 수 없음)으로 검색 필드(120)에 디스플레이된다. 몇몇 구현들에서, 도 6c에 도시된 바와 같이, 사용자의 뷰잉 활동에 관련된 제안된 검색 용어들 같은 검색 제안은 제안 리스트(125)에 디스플레이된다.
몇몇 구현들에서, 검색 제안들이 디스플레이된 후, 전자 디바이스(102)는 사용자 질의(134)(예를 들어, 제공된 검색 제안과 동일하거나 유사한 검색 키워드들을 가진 질의)를 수신하고(420), 그리고 사용자 질의(134)를 실행을 위하여 서버(106)에 전송한다.
몇몇 구현들에서, 사용자 질의를 수신한 후, 서버(106)는 제공된 검색 제안들에 관한 피드백 데이터를 생성한다. 예를 들어, 사용자 질의가 검색 제안에 포함된 것들과 동일하거나 유사한 검색 키워드를 포함하면, 피드백 데이터는, 검색 제안이, 몇몇 구현들에서 보다 유사한 제안들이 제공되도록 하는 "우수한" 제안임을 가리키는 정보를 포함한다. 다른 예에 대해, 사용자 질의가 검색 제안에 포함된 것들과 유사한 미리 정의된 수의 용어들을 포함하지 않으면(예를 들어, 검색 제안이 2 또는 3 불 연결어들을 포함하지만, 사용자 질의가 임의의 불 연결어들을 포함하지 않음), 피드백 데이터는, 검색 제안이, 몇몇 구현들에서 유사한 제안들의 감소가 제공되게 하는 "나쁜" 제안임을 가리키는 정보를 포함한다.
몇몇 구현들에서, 서버(106)는 단계(420)에서 수신된 사용자 질의 또는 피드백 데이터에 적어도 부분적으로 기초하여 하나 이상의 추가 제안들을 제공한다(422). 몇몇 구현들에서, 전자 디바이스(102)는 서버(106)에 의해 생성된 하나 이상의 추가 제안들, 또는 추가 제안들의 서브세트를 디스플레이한다(424).
도 5a-도 5c는 몇몇 구현들에 따른, 전자 디바이스에서 검색 제안들을 제공하기 위한 방법들(500)을 예시하는 예시적 흐름도들이다.
몇몇 구현들(단계들 502-510)에서, 전자 디바이스(102)는 먼저 검색 필드(예를 들어, 구글 TV 상 검색 박스 또는 구글의 검색 엔진 상 검색 박스)를 디스플레이한다(502). 몇몇 구현들에서, 전자 디바이스(102)는 제 1 미리 정의된 시간 기간에 걸쳐 검색 필드에 관련한 미리 정의된 사용자 활동을 검출한다(504). 몇몇 구현들에서, 검출에 응답하여(506), 전자 디바이스(102)는 (ⅰ) 시스템-지원 사용자 질의의 신택스를 나타내는 제안된 검색 피처(508), 또는 (ⅱ) 사용자의 최근 뷰잉 활동에 관련된 제안된 검색 용어(510) 중 하나를 디스플레이한다(506).
다른 구현들(단계들 512-516)에서, 전자 디바이스(102)는 먼저 검색 필드를 디스플레이한다(512). 그 다음 몇몇 구현들에서, 전자 디바이스(102)는 제 1 미리 정의된 시간 기간에 걸쳐 검색 필드에 관하여 사용자 비활동(예를 들어, 사용자가 과거 10 초 내에 마우스 커서를 움직이지 않음)을 검출한다(512). 몇몇 구현들에서, 검출에 응답하여: 전자 디바이스(102)는 시스템-지원 사용자 질의의 신택스를 나타내는 검색 제안(예를 들어, 제안된 검색 피처)을 검색 필드에 디스플레이한다(516).
몇몇 구현들에서, 검색 제안들(예를 들어, 제안된 검색 피처 또는 제안된 검색 용어들)은 작동 가능하지 않다(예를 들어, 비-실행 가능함). 예를 들어, 검색 제안은 회색으로 칠해진 텍스트로서 디스플레이되고, 추가 사용자 입력(예를 들어, 사용자가 검색 제안을 클릭함) 없이 직접적으로 사용자에 의해 실행될 수 없다. 몇몇 구현들에서, 비-작동 가능 검색 제안은, 사용자가 검색 제안의 첫번째 문자 또는 단어를 입력한 후 작동 가능(예를 들어, 실행 가능)하게 된다.
몇몇 구현들에서, (단계들(502-510) 또는 단계들(512-514))에서 설명된 단계들은 사용자 질의를 수신하기 전에(예를 들어, 사용자가 임의의 검색 용어를 입력함으로써 검색을 아직 시작할 수 없음) 실행되고, 미리 정의된 사용자 활동은 사용자 비활동(예를 들어, 사용자가 과거 10 초 내에 마우스 커서를 움직이지 않음)이다. 그러므로, 몇몇 구현들에서, 단계(508)에서 제공된 제안된 검색 피처 또는 단계(510)에서 제공된 제안된 검색 용어(들)는, 사용자가 임의의 검색 용어들을 입력하기 전에 사용자에게 디스플레이된다. 이런 접근법은, 비록 사용자가, 어떤 검색 용어들이 적당한지에 대해 특정하지 않지만, 검색을 시작하기 위한 부담을 감소시키기 때문에, 이익이다.
몇몇 구현들에서, (ⅰ) 제안된 검색 피처(도 6b 참조) 또는 (ⅱ) 제안된 검색 용어(도 6c 참조)를 디스플레이한 후, 전자 디바이스(102)는 또한, 검색 필드로부터, 하나 이상의 문자를 가진 사용자 질의를 수신하고, 제안된 검색 피처 또는 제안된 검색 용어의 첫번째 문자는 사용자 질의의 첫번째 문자와 동일하다. 예를 들어, 전자 디바이스(102)가 검색 필드(120)에 제안된 검색 피처 또는 제안 리스트(125)에 제안된 검색 용어를 디스플레이한 후, 검색 제안(예를 들어 제안된 검색 피처 또는 용어) 다음, 사용자는 사용자 질의를 검색 필드(120)에 입력하기 시작한다. 몇몇 구현들에서, 사용자는 검색 필드(120)에 제공된 검색 제안을 타이핑(예를 들어, 문자 단위)함으로써 제공된 검색 제안(예를 들어, 제안된 검색 피처 또는 용어)을 따른다. 몇몇 구현들에서, 사용자 질의의 첫번째 문자가 검색 제안(예를 들어, 사용자가 검색 제안을 따르는 것을 제안함)의 첫번째 문자와 동일할 때, 전자 디바이스(102)는 연속적인 안내를 제공하기 위하여 사용자에게 검색 제안을 (예를 들어, 제안 리스트(125)에) 계속 디스플레이한다. 몇몇 구현에서, 사용자 질의가 검색 제안과 미리 정의된 정도의 유사성을 보유하는 것으로부터 벗어나거나 실패하기 시작할 때(사용자가 검색 제안을 따르지 않음을 제안하는 것), 전자 디바이스(102)는 사용자에게 잠재적 혼란을 최소화하기 위하여 검색 제안의 디스플레이를 중단한다.
다른 구현들에서, 제안된 검색 피처를 검색 필드(120)에 디스플레이한 후(518)(도 6b 참조), 전자 디바이스(102)는 검색 필드(120)로부터 하나 이상의 문자들을 가진 사용자 질의를 수신한다(520). 몇몇 구현들에서, 사용자 질의의 첫번째 문자가 검색 제안(예를 들어, 사용자가 검색 필드(120)에 제안된 검색 피처를 입력하도록 시도하는 것을 제안함)의 첫번째 문자와 동일할 때, 전자 디바이스(102)는 제안된 검색 피처를 검색 필드(120)에 디스플레이하는 것을 정지(사용자가 사용자 질의를 입력하는 경우)하는 대신, 제안된 검색 피처를 검색 필드 아래(또는 인접하여) 포지셔닝된 제안 리스트(예를 들어, 제안 리스트(125)에 디스플레이한다(522). 예를 들어, 검색 필드(120)에 비-실행 가능 제안된 검색 피처(예를 들어, "romantic comedies with tom hanks(톰 행크스에 의한 로맨틱 코미디들)")를 디스플레이한 후(도 6b 참조), 전자 디바이스(102)는 하나 이상의 문자들(예를 들어, "romance movie(로맨스 영화) AND tom hanks(톰 행크스)")을 가진 사용자 질의를 수신한다. 몇몇 구현들에서, 사용자 질의의 첫번째 문자(예를 들어, "romance movie AND tom hanks"에서 글자 "r")가 제안된 검색 피처의 첫번째 문자(예를 들어, "romantic comedies with tom hanks"의 글자 "r")와 동일할 때, 전자 디바이스(102)는 검색 필드(12)에 제안된 검색 피처를 디스플레이하는 것을 정지하는 대신, 사용자가 사용자 질의의 다른 문자들을 계속 입력할 때, 검색 필드(120) 아래에 포지셔닝된 제안 리스트(125)에 제안된 검색 피처를 디스플레이한다. 일단 제안 리스트(125)에 디스플레이되면, 제안된 검색 피처는 사용자에 의한 실행을 위해 선택될 수 있다. 몇몇 구현들에서, 사용자 질의(예를 들어, "rome holiday schedules(로마 휴일 스케쥴들)")가 제안된 검색 피처(예를 들어, "romantic comedies with tom hanks")와 미리 정의된 정도의 유사성을 보유하지 않거나 매칭하지 않으면, 전자 디바이스(102)는 제안된 검색 피처의 디스플레이를 중단한다. 이런 접근법은, 사용자가 제안된 검색 피처를 따르는 표시가 있다면 제안된 검색 피처의 계속적인 디스플레이를 허용하여, 사용자에게 계속적인 안내를 제공한다.
몇몇 구현들에서, 제안된 검색 피처는 (ⅰ) 복수의 제안된 검색 피처들(예를 들어, 미리 정의된 검색 제안들의 풀(pool))로부터 랜덤하게 또는 의사-랜덤하게 선택된 검색 피처이다. 몇몇 구현들에서, 제안된 검색 피처는 과거의 미리 정의된 시간 기간 동안 사용자에게 디스플레이되지 않은 검색 피처이다. 예를 들어, 제안된 검색 피처는 이전에 결코 사용자에게 디스플레이되지 않았거나, 과거 5일 동안 사용자에게 디스플레이되지 않은 검색 피처이다. 이런 접근법은, 동일한 사용자에게 동일한 검색 피처를 반복적으로 디스플레이하는 것이 사용자 불만을 초래할 수 있기 때문에 이익이다.
몇몇 구현들에서, 제안된 검색 피처 또는 제안된 검색 용어는 사용자 질의 또는 사용자의 최근 뷰잉 활동과 연관된 시간, 요일, 또는 날짜에 따라 선택된다. 예를 들어, 사용자가 일하고 있을 것 같은 오전 9시 내지 오후 5시 동안, 사용자의 직업 또는 직장에 관련된 검색 제안들(예를 들어, 제안된 검색 피처 또는 제안된 검색 용어)이 디스플레이되거나 선호도들이 주어지고; 그리고 사용자가 집에 있을 것 같은 오후 7시 이후, 사용자의 개인 생활(예를 들어, 좋아하는 영화들 또는 뉴스)에 관련된 검색 제안들(예를 들어, 제안된 검색 피처 또는 제안된 검색 용어)이 디스플레이되거나 선호도들이 주어진다.
몇몇 구현들에서, 제안된 검색 피처 또는 용어는 검색 히스토리에 따라 선택된다. 예를 들어, 검색 히스토리가, 사용자가 컴퓨터 지식을 갖는(예를 들어, 넓은 컴퓨터 기술들을 가짐) 것을 가리키면, 진보된 검색 피처들(예를 들어, 불 연결어들 또는 복잡한 신택스를 포함하는 검색 피처들)은 선택되어 사용자에게 디스플레이된다. 다른 예에 대해, 검색 히스토리가, 사용자가 컴퓨터 지식을 갖지 않는(예를 들어, 제한된 컴퓨터 기술들만을 가짐) 것을 가리키면, 가장 기본적인 검색 피처들(예를 들어, 기껏 1 불 연결어, 또는 비교적 간단한 신택스를 포함하는 검색 피처들)이 선택되어 사용자에게 디스플레이된다.
몇몇 구현들에서, 제안된 검색 피처 또는 용어는 사용자와 연관된 사용자 프로파일에 따라 선택된다. 예를 들어, 사용자 프로파일(예를 들어, 구글 또는 유튜브 계정과 연관된 사용자 프로파일)이, 사용자가 컴퓨터 지식을 가지는(예를 들어, 소프트웨어 엔지니어 또는 정보 관리의 Ph.D 학생) 것을 가리키거나 넓은 컴퓨터 기술들을 가지는(예를 들어, 상이한 컴퓨터 프로그래밍 언어들의 하나 이상의 증명서들을 가짐) 것을 가리키면, 진보된 검색 피처들(예를 들어, 불 연결어들 또는 복잡한 신택스를 포함하는 검색 피처들) 또는 정교한 검색 용어들(예를 들어, 졸업 수준 어휘)이 선택되어 사용자에게 디스플레이된다. 다른 예에 대해, 사용자 프로파일이, 사용자가 컴퓨터 지식을 가지지 않거나(예를 들어, 사용자가 초등학교 학생임) 단지 제한된 컴퓨터 기술들(예를 들어, 사용자가 어떠한 컴퓨터 훈련도 받지 않음)만을 가지는 것을 가리키면, 가장 기본적인 검색 피처들(예를 들어, 기껏 1 불 연결어, 또는 비교적 간단한 신택스를 포함하는 검색 피처들) 또는 정교하지 않은 검색 용어들(예를 들어, 초등학교 어휘)이 선택되어 사용자에게 디스플레이된다.
몇몇 구현들에서, 제안된 검색 피처는 최근에 이용 가능한 검색 피처이다. 예를 들어, 제안된 검색 피처는 단지 최근에 생산에 릴리즈된(release) 기능성이고, 따라서 지난달 내에서만 사용자들에게 이용 가능하게 되었다. 몇몇 구현들에서, 제안된 검색 피처는 사용자에게 알려지지 않았거나 빈번하게 사용되지 않은 검색 피처이다. 예를 들어, 제안된 검색 피처는 오래 이용 가능했지만 여러 이유들(예를 들어, 학습 곡선 또는 익숙하지 않음) 때문에 사용자에 의해 결코 사용되지 않았거나 알려지지 않은 사용자-공급 검색 용어들 둘레에 괄호를 적용하는 것을 포함한다. 이들 접근법들은 이익인데, 이들 접근법들이 검색 효율성을 잠재적으로 상당히 증가시킬 수 있고, 새로운 또는 덜 빈번하게 사용된 검색 피처들을 숙달하기 위한 학습 곡선을 감소시킬 수 있는 검색 피처들(예를 들어, 새롭게 이용 가능한 검색 피처들, 또는 거의 알려지지 않거나 사용되지 않은 검색 피처들)을 선택적으로 조장하기 때문이다.
몇몇 구현들에서, 검색 제안을 디스플레이한 후, 전자 디바이스(102)는 제 1 미리 정의된 시간 기간보다 큰 제 2 미리 정의된 시간 기간에 걸쳐 미리 정의된 사용자 활동을 검출하고, 응답하여, 검색 제안을 다시 디스플레이한다. 몇몇 구현들에서, 미리 정의된 사용자 활동은 사용자 비활동이다. 예를 들어, 제 1 시간 동안 5초간 사용자 비활동을 검출한 후, 전자 디바이스(102)는 검색 필드(120)에, 사용자-공급 검색 용어들과 함께 불 연결어들을 사용하여 나타내는 검색 제안을 디스플레이한다. 그러나, 이런 검색 제안이 디스플레이된 후, 전자 디바이스(102)는 보다 긴 사용자 비활동 기간(예를 들어, 10 초간)을 검출한 이후 이런 동일한 제안을 다시 디스플레이하지 않는다. 이런 접근법은 이익인데, 이것이 동일한 검색 피처를 반복적으로 디스플레이하는 것을 회피하고 따라서 사용자 불만을 감소시키기 때문이다.
몇몇 구현들에서, 전자 디바이스(102)는, 제안 리스트(125)에, 제안된 검색 용어 또는 사용자의 최근 뷰잉 활동에 관련된 하나 이상의 부가적인 검색 용어들을 디스플레이한다. 예를 들어, 도 6c에 도시된 바와 같이, 검색 용어 "Lost bloopers and trivia"에 더하여, 전자 디바이스(102)는 두 개의 부가적인 관련된 검색 용어들: "evangeline lily", 및 "dharma initiative"를 디스플레이한다.
몇몇 구현들에서, 제안된 검색 용어는 사용자에 의해 현재 뷰잉되고 있거나 과거에 미리 정의된 시간 기간 내에 뷰잉된 미디어 콘텐츠에 관한 것이다. 예를 들어, 사용자가 Law and Order 에피소드를 시청하고 있을 때, 제안된 검색 용어들은 Law and Order 에피소드들의 검찰청 검사보의 이름 "Sam Waterson"을 포함할 수 있다. 예를 들어, 사용자가 과거 2 일 내에 CSI-마이애미 에피소드를 시청했을 때, 제안된 검색 용어들은 CSI-마이애미 에피소드들의 주연 경찰의 이름 "David Caruso"를 포함할 수 있다.
몇몇 구현들에서, 제안된 검색 용어는: 미디어 콘텐츠와 연관된 배우/여배우(Law and Order 에피소드의 Sam Waterston), 미디어 콘텐츠와 연관된 줄거리(예를 들어, 청부 살인 또는 DNA 매칭), 미디어 콘텐츠와 연관된 일반상식(예를 들어, TV 에피소드가 찍힌 장소), 또는 미디어 콘텐츠와 연관된 장르(예를 들어, 범죄, 서스펜스, 또는 호러) 중 하나에 대응한다.
도 6a-도 6c는 몇몇 구현들에 따른, 검색 제안들을 제공하기 위한 사용자 인터페이스의 예시적인 부분들을 예시하는 스크린 이미지들이다.
도 6a에서, 검색 인터페이스(602)는 사용자 인터페이스의 예이고, 사용자 인터페이스를 통하여 전자 디바이스(102)와 연관된 사용자가 사용자 질의들을 실행한다. 예를 들어, 이것은 사용자가 검색 필드(120)에 하나 이상의 검색 용어들을 입력함으로써 행해진다. 몇몇 구현들에서, 검색 인터페이스(602)는, 사용자가 검색 필드(120)에 하나 이상의 검색 용어들을 입력함으로써 검색을 시작할 수 있는 것을 사용자에게 알리는 정보("검색을 위해 타이핑 또는 시도")를 디스플레이한다.
도 6b에서, 검색 인터페이스(606)는 제안된 검색 피처가 디스플레이되는 사용자 인터페이스의 예이다. 예를 들어, 검색 인터페이스(606)에서, 제안된 검색 피처("Try romantic comedies with tom hanks")는 사용자가 검색 필드(120)에 임의의 검색 용어들을 입력하기 전에 검색 필드(604)에 디스플레이된다. 제안된 검색 피처("Try romantic comedies with tom hanks")는 "comedies" 및 "tom hanks" 같은 검색 용어들이 "톰 행크스 주연의 코미드들에 대한 검색 결과들을 생성하기 위하여 불 연결어 "with"를 사용하여 연결될 수 있다.
도 6c에서, 검색 인터페이스(608)는 제안된 검색 용어들이 디스플레이되는 사용자 인터페이스의 예이다. 예를 들어, 검색 인터페이스(608)에서, 사용자가 구글 TV 상에서 시청하고 있는 Lost 에피소드에 관련된 제안된 검색 용어들, 이를 테면 "Lost bloopers and trivia", "evangeline lily", 및 "dharma initiative"는 제안 리스트(125)에 디스플레이된다.
복수의 예들은 단일 예로서 본원에 설명된 컴포넌트들, 동작들 또는 구조들을 위하여 제공될 수 있다. 마지막으로, 다양한 컴포넌트들, 동작들, 및 데이터 저장들 사이의 경계들은 다소 임의적이고, 특정 동작들은 특정 예시적인 구성들의 환경에서 예시된다. 기능성의 다른 할당들은 고려되고 구현(들)의 범위 내에 속할 수 있다. 일반적으로, 예시적인 구성들에서 별개의 컴포넌트들로서 제시된 구조들 및 기능성은 결합된 구조 또는 컴포넌트로서 구현될 수 있다. 유사하게, 단일 컴포넌트로서 제시된 구조들 및 기능성은 별개의 컴포넌트들로서 구현될 수 있다. 이들 및 다른 변형들, 수정들, 부가들, 및 개선들은 구현(들)의 범위 내에 속한다.
또한, 용어들 "제 1", "제 2" 등이 다양한 엘리먼트들을 설명하기 위하여 본원에 사용될 수 있지만, 이들 엘리먼트들이 이들 용어들에 의해 제한되지 않아야 하는 것이 이해될 것이다. 이들 용어들은 하나의 엘리먼트를 다른 엘리먼트로부터 구별하기 위해서만 사용된다. 예를 들어, 설명의 의미를 변경하게, "제 1 미리 정의된 기간"의 모든 발생들이 일관 되게 다시 이름이 지어지고 "제 2 미리 정의된 기간"의 모든 발생들이 일관 되게 다시 이름이 지어지는 한, 제 1 미리 정의된 기간은 제 2 미리 정의된 기간을 지칭할 수 있고, 유사하게, 제 2 미리 정의된 기간은 제 1 미리 정의된 기간을 지칭할 수 있다. 제 1 미리 정의된 기간, 및 제 2 미리 정의된 기간은 둘 다 미리 정의된 기간들이지만, 이들 기간은 동일한 미리 정의된 기간이 아니다.
본원에 사용된 용어들은 단지 특정 구현들을 설명하는 목적을 위한 것이고 청구항들을 제한하도록 의도되지 않는다. 구현들의 설명 및 첨부된 청구항들에 사용된 바와 같이, 단수 형태들은, 상황이 명확하게 다르게 지시되지 않으면, 또한 복수의 형태들을 포함하도록 의도된다. 또한, 본원에 사용된 바와 같은 용어 "및/또는"이 연관되어 리스팅된 항목들 중 하나 이상 중 임의의 및 모든 가능한 결합들을 지칭 및 포함하는 것이 이해될 것이다. 추가로, 본 명세서에 사용될 때 용어들 "포함한다" 및/또는 "포함하는"이 언급된 피처들, 정수들, 단계들, 동작들, 엘리먼트들 및/또는 컴포넌트들의 존재를 특정하지만, 하나 이상의 다른 피처들, 정수들, 단계들, 동작들, 엘리먼트들, 컴포넌트들, 및/또는 이들의 그룹들의 존재 또는 부가를 배제하지 않는 것이 이해될 것이다.
본원에 사용된 바와 같이, 용어 "만약"은 환경에 따라, 선행 언급된 조건이 진실임을 "결정" 또는 "결정에 따라" 또는 "검출하는 것에 응답하여" 응답할 때" 또는 "응답할 시" 또는 "응답시"를 의미하도록 해석될 수 있다. 유사하게, 어구 "(선행 언급된 조건이 진실임이) 만약 결정되면" 또는 "만약 (선행 언급된 조건이 진실) 이면" 또는 "(선행 언급된 조건이 진실) 일 때"는 상황에 따라, 선행 언급된 조건이 진실임을 "결정할 시" 또는 "결정하는 것에 응답하여" 또는 "결정에 따라" 또는 "결정시" 또는 "검출에 응답하여"를 의미하는 것으로 해석될 수 있다.
상기 설명은 예시적인 구현들을 실현하는 예시적인 시스템들, 방법들, 기술들, 명령 시퀀스들, 및 컴퓨팅 머신 프로그램 물건들을 포함했다. 설명의 목적들을 위하여, 다수의 특정 상세들은 본 청구 대상의 다양한 구현들의 이해를 제공하기 위하여 설명되었다. 그러나, 본 청구 대상의 구현들이 이들 특정 상세들 없이 실시될 수 있음이 당업자들에게 명백할 것이다. 일반적으로, 잘-알려진 명령 예들, 프로토콜들, 구조들 및 기술들은 상세히 도시되지 않았다.
설명의 목적을 위하여, 상기 설명은 특정 구현들을 참조하여 설명되었다. 그러나, 상기 예시적인 논의들이 개시된 정확한 형태들로 구현들을 총망라하거나 제한하도록 의도되지 않는다. 많은 수정들 및 변형들은 상기 지침들을 고려하여 가능하다. 구현들은 원리들 및 원리들의 실제 애플리케이션들을 가장 잘 설명하기 위하여 선택 및 설명되어, 당업자들이 고려된 특정 용도에 적합한 다양한 수정들을 가진 구현들 및 다양한 구현들을 가장 잘 활용하게 한다.
Claims (22)
- 방법으로서,
연관된 디스플레이, 하나 이상의 프로세서들, 및 상기 하나 이상의 프로세서들에 의해 실행되기 위한 하나 이상의 프로그램들을 저장하는 메모리를 가진 전자 디바이스에서;
검색 필드를 포함하는 사용자 인터페이스를 상기 디스플레이 상에 디스플레이하는 단계;
사용자가 상기 사용자 인터페이스에 질의를 입력하기 전에, 제1 시간 기간에 걸쳐 상기 검색 필드에 관련된 미리-정의된 사용자 활동을 검출하는 단계 ― 상기 미리-정의된 사용자 활동은 사용자 비활동(inactivity)임 ―;
상기 제1 시간 기간에 걸쳐 상기 미리-정의된 사용자 활동을 검출하는 것에 응답하여, 그리고 상기 제1 시간 기간이 적어도 제1의 미리-정의된 양(amount)의 시간이라는 결정에 따라, 상기 디스플레이 상에 하나 이상의 검색 제안들을 디스플레이하는 단계 ― 상기 검색 제안들은 시스템이 지원하는 사용자 질의의 문법(syntax)을 보여주는 제안된 검색 피처(search feature)를 포함함 ―;
상기 검색 제안들을 디스플레이한 후, 상기 제1 시간 기간과는 다른 제2 시간 기간에 걸쳐 상기 검색 필드에 관련된 상기 미리-정의된 사용자 활동을 검출하는 단계; 및
상기 제2 시간 기간에 걸쳐 상기 미리-정의된 사용자 활동을 검출하는 것에 응답하여, 그리고 상기 제2 시간 기간이 적어도 제2의 미리-정의된 양의 시간이라는 결정에 따라, 상기 검색 제안들을 다시 디스플레이하는 단계 ― 상기 제2의 미리-정의된 양의 시간은 상기 제1의 미리-정의된 양의 시간보다 큼 ―
를 포함하는,
방법. - 제1항에 있어서,
상기 검색 필드로부터, 하나 이상의 문자들을 가진 사용자 질의를 수신하는 단계를 더 포함하고,
상기 제안된 검색 피처의 첫번째 문자는 상기 사용자 질의의 첫번째 문자와 동일한,
방법. - 제1항에 있어서,
상기 제안된 검색 피처는 상기 검색 필드에 디스플레이되고,
상기 방법은,
상기 검색 필드로부터, 상기 사용자 질의를 수신하는 단계; 및
상기 제안된 검색 피처의 첫번째 문자가 상기 사용자 질의의 첫번째 문자와 동일하면, 상기 제안된 검색 피처를 제안 리스트에 디스플레이하는 단계
를 더 포함하는,
방법. - 제1항에 있어서,
상기 제안된 검색 피처는 복수의 제안된 검색 피처들로부터 랜덤하게 선택된 검색 피처인,
방법. - 제1항에 있어서,
상기 제안된 검색 피처는, (a) 상기 사용자 질의 또는 상기 사용자의 최근 뷰잉 활동(viewing activity)과 연관된 시간, 요일, 또는 날짜, 또는 (b) 상기 사용자와 연관된 검색 히스토리(history) 또는 사용자 프로파일에 따라 선택되는,
방법. - 제5항에 있어서,
상기 사용자 질의 또는 상기 사용자의 최근 뷰잉 활동은 서버에 전송되고, 상기 제안된 검색 피처는 상기 서버에 의해 선택되는,
방법. - 제1항에 있어서,
상기 제안된 검색 피처는 상기 사용자에게 알려지지 않았거나 또는 사용자에 의해 드물게 사용된 검색 피처인,
방법. - 제1항에 있어서,
상기 검출에 응답하여, 하나 이상의 검색 제안들을 디스플레이하기 전에:
상기 검색 필드에 관련된 상기 검출된 미리-결정된 사용자 활동을 포함하는, 상기 전자 디바이스에서의 사용자 활동들을 식별하는 정보를 서버에 전송하는 단계; 및
상기 서버로부터 상기 하나 이상의 검색 제안들을 수신하는 단계 ― 상기 검색 제안들은 상기 전송된 정보에 따라 상기 서버에 의해 결정됨 ―
를 더 포함하는,
방법. - 제1항에 있어서,
상기 제안된 검색 피처는, 상기 검색 피처가 이전에 상기 사용자에게 디스플레이되지 않았거나 또는 적어도 제3의 미리-정의된 양의 시간 동안 사용자에게 디스플레이되지 않았다는 결정에 따라 선택된 검색 피처인,
방법. - 제1항에 있어서,
상기 제안된 검색 피처는, 상기 검색 피처가 제4의 미리-정의된 양의 시간 동안 사용자들에게 이용가능하게 개방되었다는 결정에 따라 선택된 검색 피처인,
방법. - 전자 디바이스로서,
연관된 디스플레이;
하나 이상의 프로세서들;
메모리; 및
상기 메모리에 저장되고, 상기 하나 이상의 프로세서들에 의해 실행되도록 구성된 하나 이상의 프로그램들
을 포함하고,
상기 하나 이상의 프로그램들은:
검색 필드를 포함하는 사용자 인터페이스를 상기 디스플레이 상에 디스플레이하기 위한 명령들;
사용자가 상기 사용자 인터페이스에 질의를 입력하기 전에, 제1 시간 기간에 걸쳐 상기 검색 필드에 관련된 미리-정의된 사용자 활동을 검출하기 위한 명령들 ― 상기 미리-정의된 사용자 활동은 사용자 비활동(inactivity)임 ―;
상기 제1 시간 기간에 걸쳐 상기 미리-정의된 사용자 활동을 검출하는 것에 응답하여, 그리고 상기 제1 시간 기간이 적어도 제1의 미리-정의된 양(amount)의 시간이라는 결정에 따라, 상기 디스플레이 상에 하나 이상의 검색 제안들을 디스플레이하기 위한 명령들 ― 상기 검색 제안들은 시스템에서 지원하는 사용자 질의의 문법(syntax)을 보여주는 제안된 검색 피처(search feature)를 포함함 ―;
상기 검색 제안들을 디스플레이한 후, 상기 제1 시간 기간과는 다른 제2 시간 기간에 걸쳐 상기 검색 필드에 관련된 상기 미리-정의된 사용자 활동을 검출하기 위한 명령들; 및
상기 제2 시간 기간에 걸쳐 상기 미리-정의된 사용자 활동을 검출하는 것에 응답하여, 그리고 상기 제2 시간 기간이 적어도 제2의 미리-정의된 양의 시간이라는 결정에 따라, 상기 검색 제안들을 다시 디스플레이하기 위한 명령들 ― 상기 제2의 미리-정의된 양의 시간은 상기 제1의 미리-정의된 양의 시간보다 큼 ―
을 포함하는,
전자 디바이스. - 제11항에 있어서,
상기 하나 이상의 프로그램들은, 상기 검색 필드로부터, 하나 이상의 문자들을 가진 사용자 질의를 수신하기 위한 명령들을 더 포함하고,
상기 제안된 검색 피처의 첫번째 문자는 상기 사용자 질의의 첫번째 문자와 동일한,
전자 디바이스. - 제11항에 있어서,
상기 제안된 검색 피처는 상기 검색 필드에 디스플레이되고,
상기 하나 이상의 프로그램들은,
상기 검색 필드로부터, 상기 사용자 질의를 수신하기 위한 명령들; 및
상기 제안된 검색 피처의 첫번째 문자가 상기 사용자 질의의 첫번째 문자와 동일하면, 상기 제안된 검색 피처를 제안 리스트에 디스플레이하기 위한 명령들
을 더 포함하는,
전자 디바이스. - 제11항에 있어서,
상기 제안된 검색 피처는, (ⅰ) 복수의 제안된 검색 피처들로부터 랜덤하게 선택된 검색 피처, 또는 (ⅱ) 과거에 미리 정의된 시간 기간 동안 상기 사용자에게 디스플레이되지 않은 검색 피처 중 하나인,
전자 디바이스. - 하나 이상의 프로그램들을 저장하는 비-일시적 컴퓨터 판독가능 저장 매체로서,
상기 하나 이상의 프로그램들은, 하나 이상의 프로세서들 및 연관된 디스플레이를 가진 컴퓨터 시스템에 의해 실행될 때, 상기 컴퓨터 시스템으로 하여금:
검색 필드를 포함하는 사용자 인터페이스를 상기 디스플레이 상에 디스플레이하고;
사용자가 상기 사용자 인터페이스에 질의를 입력하기 전에, 제1 시간 기간에 걸쳐 상기 검색 필드에 관련된 미리-정의된 사용자 활동을 검출하고 ― 상기 미리-정의된 사용자 활동은 사용자 비활동(inactivity)임 ―;
상기 제1 시간 기간에 걸쳐 상기 미리-정의된 사용자 활동을 검출하는 것에 응답하여, 그리고 상기 제1 시간 기간이 적어도 제1의 미리-정의된 양(amount)의 시간이라는 결정에 따라, 상기 디스플레이 상에 하나 이상의 검색 제안들을 디스플레이하고 ― 상기 검색 제안들은 시스템이 지원하는 사용자 질의의 문법(syntax)을 보여주는 제안된 검색 피처(search feature)를 포함함 ―;
상기 검색 제안들을 디스플레이한 후, 상기 제1 시간 기간과는 다른 제2 시간 기간에 걸쳐 상기 검색 필드에 관련된 상기 미리-정의된 사용자 활동을 검출하고; 그리고
상기 제2 시간 기간에 걸쳐 상기 미리-정의된 사용자 활동을 검출하는 것에 응답하여, 그리고 상기 제2 시간 기간이 적어도 제2의 미리-정의된 양의 시간이라는 결정에 따라, 상기 검색 제안들을 다시 디스플레이하도록 ― 상기 제2의 미리-정의된 양의 시간은 상기 제1의 미리-정의된 양의 시간보다 큼 ―
하기 위한 명령들을 포함하는,
비-일시적 컴퓨터 판독가능 저장 매체. - 제15항에 있어서,
상기 하나 이상의 프로그램들은, 상기 검색 필드로부터, 하나 이상의 문자들을 가진 사용자 질의를 수신하기 위한 명령들을 더 포함하고,
상기 제안된 검색 피처의 첫번째 문자는 상기 사용자 질의의 첫번째 문자와 동일한,
비-일시적 컴퓨터 판독가능 저장 매체. - 제15항에 있어서,
상기 제안된 검색 피처는 상기 검색 필드에 디스플레이되고,
상기 하나 이상의 프로그램들은,
상기 검색 필드로부터, 상기 사용자 질의를 수신하기 위한 명령들; 및
상기 제안된 검색 피처의 첫번째 문자가 상기 사용자 질의의 첫번째 문자와 동일하면, 상기 제안된 검색 피처를 제안 리스트에 디스플레이하기 위한 명령들
을 더 포함하는,
비-일시적 컴퓨터 판독가능 저장 매체. - 삭제
- 삭제
- 삭제
- 삭제
- 삭제
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/728,951 US9292622B2 (en) | 2012-12-27 | 2012-12-27 | Systems and methods for providing search suggestions |
US13/728,951 | 2012-12-27 | ||
PCT/US2013/077703 WO2014105907A2 (en) | 2012-12-27 | 2013-12-24 | Systems and methods for providing search suggestions |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20150100921A KR20150100921A (ko) | 2015-09-02 |
KR101989502B1 true KR101989502B1 (ko) | 2019-06-14 |
Family
ID=49956496
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020157020451A KR101989502B1 (ko) | 2012-12-27 | 2013-12-24 | 검색 피처들을 제공하기 위한 시스템들 및 방법들 |
Country Status (5)
Country | Link |
---|---|
US (1) | US9292622B2 (ko) |
EP (1) | EP2939148A2 (ko) |
KR (1) | KR101989502B1 (ko) |
CN (1) | CN104969218B (ko) |
WO (1) | WO2014105907A2 (ko) |
Families Citing this family (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8065199B2 (en) * | 2009-04-08 | 2011-11-22 | Ebay Inc. | Method, medium, and system for adjusting product ranking scores based on an adjustment factor |
US9317585B2 (en) * | 2013-03-15 | 2016-04-19 | Google Inc. | Search query suggestions based on personal information |
US9374411B1 (en) * | 2013-03-21 | 2016-06-21 | Amazon Technologies, Inc. | Content recommendations using deep data |
US9612996B1 (en) | 2013-09-11 | 2017-04-04 | Google Inc. | Providing suggestions to a user based on social activity patterns |
JP6190887B2 (ja) * | 2013-10-02 | 2017-08-30 | 株式会社日立製作所 | 画像検索システムおよび情報記録媒体 |
US9317189B1 (en) * | 2013-12-20 | 2016-04-19 | Emc Corporation | Method to input content in a structured manner with real-time assistance and validation |
US20160063006A1 (en) * | 2014-08-28 | 2016-03-03 | Google Inc. | Auto-complete suggestions for structured searches |
US11250081B1 (en) * | 2014-09-24 | 2022-02-15 | Amazon Technologies, Inc. | Predictive search |
US11335080B2 (en) | 2015-09-21 | 2022-05-17 | International Business Machines Corporation | System for suggesting search terms |
CN105426385B (zh) * | 2015-10-20 | 2019-05-07 | 百度在线网络技术(北京)有限公司 | 一种用于进行针对用户的随机搜索的方法和装置 |
US20170351765A1 (en) * | 2016-06-03 | 2017-12-07 | Microsoft Technology Licensing, Llc | User Education Using Personalized and Contextual Cues Based on User's Past Action |
CN110209917B (zh) * | 2018-02-05 | 2023-05-26 | 腾讯科技(深圳)有限公司 | 搜索实现方法、搜索终端、服务器、系统及存储介质 |
US11138276B2 (en) * | 2018-06-27 | 2021-10-05 | At&T Intellectual Property I, L.P. | Method and apparatus for generating a search query for a search engine |
US11182446B2 (en) * | 2018-09-20 | 2021-11-23 | Microsoft Technology Licensing, Llc | Methods and systems for personalized, zero-input suggestions based on semi-supervised activity clusters |
US12056179B2 (en) * | 2018-09-26 | 2024-08-06 | Rovi Guides, Inc. | Systems and methods for generating query suggestions |
GB2589606A (en) * | 2019-12-04 | 2021-06-09 | Ernst & Young Gmbh | System for providing adaptive training support for search platform |
US20240163515A1 (en) * | 2021-03-30 | 2024-05-16 | Boe Technology Group Co., Ltd. | Method and device for recommending real-time audios and/or videos, and computer storage medium |
US11778261B2 (en) * | 2021-09-14 | 2023-10-03 | Sony Group Corporation | Electronic content glossary |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070162422A1 (en) | 2005-12-30 | 2007-07-12 | George Djabarov | Dynamic search box for web browser |
US20080065617A1 (en) | 2005-08-18 | 2008-03-13 | Yahoo! Inc. | Search entry system with query log autocomplete |
US20080126303A1 (en) | 2006-09-07 | 2008-05-29 | Seung-Taek Park | System and method for identifying media content items and related media content items |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5845300A (en) * | 1996-06-05 | 1998-12-01 | Microsoft Corporation | Method and apparatus for suggesting completions for a partially entered data item based on previously-entered, associated data items |
US5877759A (en) * | 1997-03-26 | 1999-03-02 | Netscape Communications Corporation | Interface for user/agent interaction |
US7836044B2 (en) | 2004-06-22 | 2010-11-16 | Google Inc. | Anticipated query generation and processing in a search engine |
US7499940B1 (en) | 2004-11-11 | 2009-03-03 | Google Inc. | Method and system for URL autocompletion using ranked results |
US7962504B1 (en) * | 2005-05-26 | 2011-06-14 | Aol Inc. | Sourcing terms into a search engine |
US7912458B2 (en) * | 2005-09-14 | 2011-03-22 | Jumptap, Inc. | Interaction analysis and prioritization of mobile content |
WO2011026145A2 (en) * | 2009-08-31 | 2011-03-03 | Google Inc. | Framework for selecting and presenting answer boxes relevant to user input as query suggestions |
US8601019B1 (en) * | 2012-04-03 | 2013-12-03 | Google Inc. | Presenting autocomplete suggestions |
-
2012
- 2012-12-27 US US13/728,951 patent/US9292622B2/en active Active
-
2013
- 2013-12-24 KR KR1020157020451A patent/KR101989502B1/ko active IP Right Grant
- 2013-12-24 EP EP13821381.4A patent/EP2939148A2/en not_active Withdrawn
- 2013-12-24 WO PCT/US2013/077703 patent/WO2014105907A2/en active Application Filing
- 2013-12-24 CN CN201380072101.3A patent/CN104969218B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080065617A1 (en) | 2005-08-18 | 2008-03-13 | Yahoo! Inc. | Search entry system with query log autocomplete |
US20070162422A1 (en) | 2005-12-30 | 2007-07-12 | George Djabarov | Dynamic search box for web browser |
US20080126303A1 (en) | 2006-09-07 | 2008-05-29 | Seung-Taek Park | System and method for identifying media content items and related media content items |
Also Published As
Publication number | Publication date |
---|---|
CN104969218A (zh) | 2015-10-07 |
US20140188926A1 (en) | 2014-07-03 |
WO2014105907A2 (en) | 2014-07-03 |
EP2939148A2 (en) | 2015-11-04 |
US9292622B2 (en) | 2016-03-22 |
CN104969218B (zh) | 2019-01-04 |
WO2014105907A3 (en) | 2014-10-16 |
KR20150100921A (ko) | 2015-09-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101989502B1 (ko) | 검색 피처들을 제공하기 위한 시스템들 및 방법들 | |
US10250933B2 (en) | Remote device activity and source metadata processor | |
US11100066B2 (en) | Extended memory system | |
US8473982B2 (en) | Interface for watching a stream of videos | |
US20160044131A1 (en) | Updating personal content streams based on feedback | |
US9268880B2 (en) | Using recent media consumption to select query suggestions | |
US11218568B2 (en) | Personalized entity information page | |
US8868598B2 (en) | Smart user-centric information aggregation | |
RU2629638C2 (ru) | Способ и сервер создания рекомендуемого набора элементов для пользователя | |
US9681173B2 (en) | Method of and system for processing a user request for a web resource, the web resource being associated with sequentially semantically linked documents | |
US20230254542A1 (en) | Methods and systems facilitating adjustment of multiple variables via a content guidance application | |
US20200279304A1 (en) | Content management system and method for operating same | |
US10546029B2 (en) | Method and system of recursive search process of selectable web-page elements of composite web page elements with an annotating proxy server | |
US12008036B2 (en) | Methods and apparatuses for preventing spoilers in autocompleted search queries | |
WO2023220274A1 (en) | Entity cards including descriptive content relating to entities from a video | |
CN115525826A (zh) | 一种服务器和推荐内容的推送方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
A302 | Request for accelerated examination | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |