KR101702691B1 - 검색 질의 리파인먼트를 위한 컨텐츠 테이블 - Google Patents

검색 질의 리파인먼트를 위한 컨텐츠 테이블 Download PDF

Info

Publication number
KR101702691B1
KR101702691B1 KR1020127005707A KR20127005707A KR101702691B1 KR 101702691 B1 KR101702691 B1 KR 101702691B1 KR 1020127005707 A KR1020127005707 A KR 1020127005707A KR 20127005707 A KR20127005707 A KR 20127005707A KR 101702691 B1 KR101702691 B1 KR 101702691B1
Authority
KR
South Korea
Prior art keywords
search query
query word
facets
facet
search
Prior art date
Application number
KR1020127005707A
Other languages
English (en)
Other versions
KR20120073222A (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 KR20120073222A publication Critical patent/KR20120073222A/ko
Application granted granted Critical
Publication of KR101702691B1 publication Critical patent/KR101702691B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/248Presentation of query results
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/332Query formulation
    • G06F16/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/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/951Indexing; Web crawling techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/338Presentation of query results
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/34Browsing; Visualisation therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/14Digital output to display device ; Cooperation and interconnection of the display device with other functional units

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Computational Linguistics (AREA)
  • Mathematical Physics (AREA)
  • Human Computer Interaction (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • User Interface Of Digital Computer (AREA)
  • Information Transfer Between Computers (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

검색 질의 단어의 원래 상태를 유지하면서 또는 사용자 정의 토픽의 범위 내에 머물면서, 사용자가 검색 질의 단어에 관련된 패싯을 탐색할 수 있게 하는 새로운 사용자 인터페이스 패러다임을 제시하는 컴퓨터로 구현된 방법 및 컴퓨팅 시스템이 제공된다. 이 방법 및 시스템은 사용자 생성 검색 질의 단어의 적합한 토픽의 패싯이나 카테고리를 제공한다. 이후에 사용자는 검색 상태가 유지된 채로, 여러 실시예에서 이들 패싯을 탐색할 수 있다.

Description

검색 질의 리파인먼트를 위한 컨텐츠 테이블{TABLE OF CONTENTS FOR SEARCH QUERY REFINEMENT}
사용자 검색 인터페이스의 현 상태는 주로 질의 파싱(query parsing)과 다양한 목록의 가능한 결과들의 매칭에 의존한다. 사용자는 자신이 찾고 있는 정보를 얻기 위해 이러한 다양한 목록을 면밀히 살피는 부담을 갖게 된다. 사용자에게 제공된 검색 결과는 종종 길고 복잡한 사용자 질의들에 의해 헝클어져, 검색 결과를 생성하는 데 필요한 시간이 더 걸리게 되고, 복잡한 질의의 개별 단어들에 관련된 결과들의 이상한 혼합물을 야기하게 된다.
본 발명의 실시예는 일반적으로, 실행될 때, 사용자 검색 질의 단어에 적합한(relevant) 패싯(facets)을 탐색하기 위한 사용자 인터페이스를 제공하는 방법을 수행하는 컴퓨터 실행가능 인스트럭션이 구현된 시스템, 방법, 및 컴퓨터 저장 매체에 관한 것으로, 여기서 사용자 검색 질의의 상태는 유지된다. 본원에 기술된 시스템, 방법 및 매체를 이용하여, 사용자 검색 질의가 프론트 엔드 엔진(front end engine)에 의해 수신되며, 프론트 엔드 엔진은 이 사용자 검색 질의를 백 엔드 서버(back end server)에 전송한다. 백 엔드 서버는, 프론트 엔드 엔진에 의해 수신되어 컨텐츠 테이블(Table of Contents) 또는 TOC로 렌더링되는 패싯이나 적합한 토픽의 카테고리를 생성한다. TOC는 사용자에 의해 선택되는 이들 패싯을 디스플레이하고, 패싯이 선택되면, 선택된 패싯은 백 엔드 서버로 보내진다. 불러온 원래(original) 검색 질의 단어와 함께, 선택된 패싯이 사용되어 리파인된 검색 결과 목록을 생성한다. 사용자는 리파인된 검색 결과 목록을 계속 브라우징하거나, 또는 탐색할 원래 검색 질의 단어의 다른 패싯을 선택할 수 있다. 원래 검색 질의의 상태가 브라우징 세션동안 유지되므로, 사용자는 TOC로 제공되는 패싯을 사용하여 검색 질의 단어의 다양한 양태들을 탐색할 수 있다. 다른 실시예에서, TOC는 검색 질의 단어를 추가적으로 리파인하기 위한 일련의 서브 패싯이나 또는 각 패싯의 서브 카테고리를 포함할 수 있다. 다른 실시예에서, TOC는 정적 패싯(static facets)을 통합하여, 브라우징 세션을 리파인하는 일반적인 카테고리를 제공할 수 있다.
본 발명의 실시예들은 이러한 요약에 의해서가 아닌, 아래의 특허청구범위에 의해 정의된다. 이와 같은 이유로 여기에서는 본 발명의 다양한 양태들의 고수준의 개요가 제공되어, 본 개시의 개요를 제공하고 아래의 상세한 설명 부분에서 추가적으로 설명되는 일련의 컨셉을 소개한다. 본 요약은 특허청구된 대상의 핵심 특징이나 필수 특징을 밝히기 위한 것이 아니며, 특허청구된 대상의 범위를 정하는 수단으로서 따로 사용되기 위한 것도 아니다.
본 발명의 예시적인 실시예들은 첨부된 도면을 참조하여 아래에서 상세하게 설명된다.
도 1은 본 발명의 실시예들을 구현할 때 사용되기에 적절한 컴퓨팅 환경의 일례의 블록 다이어그램이다.
도 2는 사용자 검색 질의 단어에 적합한 패싯을 탐색하기 위한 사용자 인터페이스를 제공하는 방법의 일 실시예를 도시하는 흐름도이며, 여기서 사용자 검색 질의의 상태는 유지된다.
도 3은 사용자 검색 질의 단어에 적합한 패싯을 탐색하기 위한 사용자 인터페이스를 제공하는 방법의 다른 실시예를 도시하는 흐름도이며, 여기서 사용자 검색 질의의 상태는 유지된다.
도 4a 및 4b는 사용자 검색 질의에 적합한 패싯을 탐색하기 위한 사용자 인터페이스를 제공하는 컴퓨터화된 시스템(computerized system)의 기능 컴포넌트들(functional components)을 도시하는 블록 다이어그램이며, 여기서 사용자 검색 질의의 상태는 유지된다.
도 5a 및 5b는 사용자 검색 질의에 적합한 패싯을 탐색하기 위한 사용자 인터페이스를 제공하는 컴퓨터화된 시스템의 다른 실시예를 도시하는 블록 다이어그램이며, 여기서 사용자 검색 질의의 상태는 유지된다.
도 6a - 6d는 원래 검색 질의 단어의 상태를 유지하면서, 검색 질의 단어에 관련된 패싯을 탐색하기 위한 사용자 인터페이스를 제공하는 본 발명을 위한 운영 환경의 일례이다.
도 7a - 7d는 사용자 검색 경험을 추가적으로 리파인하기 위한 서브 패싯의 사용을 포함하는, 본 발명을 위한 운영 환경의 다른 실시예이다.
도 8a 및 8b는 정적 패싯들의 통합을 포함하는 본 발명을 위한 운영 환경의 추가적인 실시예이다.
본 발명의 실시예들의 대상이 법정 요구조건을 충족시키도록 본원에서 구체적으로 설명한다. 그러나, 설명 자체는 본 특허의 범위를 제한하고자 하는 것이 아니다. 오히려, 특허청구된 대상은 그 밖의 현재 또는 미래의 기술과 함께, 본 명세서에서 설명된 것들과 상이한 단계들, 또는 유사한 단계들의 조합을 포함하도록 다른 방식으로도 구현될 수 있다. 용어들은 개별 단계들의 순서가 명시적으로 설명되지 않는 한, 그리고 명시적으로 설명될 때를 제외하고는, 본원에 개시된 다양한 단계들 사이의 임의의 특정 순서를 시사하는 것으로 해석되어서는 안 된다.
본 발명은 일반적으로 사용자 생성 질의(user generated queries)의 탐색 및 리파인먼트를 위한 사용자 인터페이스의 제공에 관한 것이다. 사용자들은 단일 질의 검색을 하는 것에서 벗어나서, 보다 확장된 검색 세션을 추구하고 있다. 표준 검색을 사용하여 질의의 양태들을 탐색하는 시도는 검색 결과 정확도에 대한 사용자 만족도를 감소시키게 된다. 사용자들은 보다 적합한 검색 결과를 얻기 위해 길고 복잡한 질의에 의존하지만, 일반적으로 이러한 전략은 원하는 결과를 내지 못한다. 컨텐츠 테이블(Table of Contents) 또는 TOC는, 사용자가 검색 질의 단어를 입력하고 검색 질의 단어의 다양한 양태들을 카테고리화하고 체계화하는 검색 질의 단어 특정 패싯(search query term specific facets)을 제공받는 사용자 인터페이스를 제공한다. 다음으로 사용자는 검색 질의 단어의 원래 토픽에 머무르면서 이들 패싯을 탐색하고 네비게이션을(navigate) 할 수 있다. 패싯들의 선택은 검색 질의 단어를 리파인하며, 보다 중점적이고 적합한 검색 결과를 생성하기 위해 사용될 수 있다.
본 발명의 제 1 양태로, 일련의 컴퓨터 사용가능 인스트럭션은 컴퓨터 장치의 프로세서에서 실행되는 TOC 네비게이션 모델이나 사용자 인터페이스를 제공하는 방법을 제공한다. 일 실시예의 방법은 사용자에 의해 생성된 적어도 하나의 검색 질의 단어를 수신하는 단계를 포함한다. 검색 질의 단어는 적어도 하나의 패싯을 생성하기 위해 사용되며, 검색 질의 단어에 적합한 토픽들을 카테고리화한다. 생성된 패싯들이 수신되어 사용자에게 디스플레이된다. 사용자는 자신이 추가적으로 탐색하고자 하는 특정 패싯을 선택할 수 있고, 원래 검색 질의 단어와 함께 선택된 패싯은 사용자에게 디스플레이되는, 리파인된 검색 결과 목록을 생성하기 위해 사용된다. 이후에 사용자는 이러한 검색 결과들의 탐색을 선택하거나, 원래 검색 질의 단어의 패싯들을 통한 선택 및 네비게이션을 계속할 수 있다. 원래 검색 질의 단어 또는 그 상태가 유지되므로, 사용자는 검색 질의 단어의 모든 패싯들을 용이하게 탐색할 수 있다.
본 발명의 다른 양태로, 일련의 컴퓨터 사용가능 인스트럭션은 컴퓨터 장치의 프로세서에서 실행되는 TOC 사용자 인터페이스를 제공하는 방법을 제공한다. 일 실시예의 방법은 사용자에 의해 생성된 적어도 하나의 검색 질의 단어를 수신하는 단계를 포함한다. 검색 질의 단어는 적어도 하나의 패싯을 생성하기 위해 사용되며, 검색 질의 단어에 적합한 토픽들을 카테고리화한다. 생성된 패싯들이 수신되어 사용자에게 디스플레이된다. 사용자는 자신이 추가적으로 탐색하고자 하는 특정 패싯을 선택할 수 있고, 원래 검색 질의 단어와 함께 선택된 패싯은 사용자에게 디스플레이되는, 적어도 하나의 서브 패싯을 생성하기 위해 사용된다. 이후에 사용자는 서브 패싯을 선택하고, 이는 선택된 패싯과 검색 질의 용어와 함께 사용되어 리파인된 검색 결과 목록을 생성할 수 있다. 다음에 사용자는 선택된 서브 패싯에 관해 디스플레이된 검색 결과의 탐색이나 다른 서브 패싯 선택을 택할 수 있다. 일 실시예에서, 사용자는 새로운 일련의 적합한 서브 패싯들을 디스플레이하기 위해 새로운 패싯을 선택할 수 있다. 원래 검색 질의 단어 또는 그 상태가 유지되므로, 사용자는 검색 질의 단어의 모든 패싯들 및 모든 서브 패싯들을 용이하게 탐색할 수 있다.
본 발명의 또 다른 실시예로, 컴퓨터화된 시스템은 TOC 네비게이션 모델을 위한 패싯 생성 및 검색 상태 유지를 제공할 수 있다. 프론트 엔드 엔진은 검색 질의 단어를 수신하여 이를 백 엔드 서버에 전달한다. 일 실시예의 백 엔드 서버는 검색 질의 단어를 저장한다. 다른 실시예에서, 프론트 엔드 엔진은 각 네비게이션 단계에서 검색 질의 단어를 재전송할 수 있다. 백 엔드 서버에서 검색 질의 단어를 수신하면, 다수의 알고리즘이 사용되어 패싯들을 생성하여, 검색 질의 단어에 적합한 토픽들을 카테고리화한다. 생성된 이들 패싯들은, 이들 패싯들을 TOC로 사용자 인터페이스에 디스플레이하는 프론트 엔드 엔진으로 반환된다. 사용자는 추가적으로 탐색하기 위해 백 엔드 서버로 전송되는 패싯을 선택할 수 있다. 일 실시예에서, 백 엔드 서버는 로컬 데이터베이스로부터 원래 검색 질의 단어를 다시 불러들일 수 있다. 다른 실시예에서, 프론트 엔드 엔진은 선택된 패싯과 함께 원래 검색 질의 단어를 백 엔드 서버로 재전송할 수 있다. 어느 경우에나, 원래 검색 질의의 상태가 유지된다. 선택된 패싯과 검색 질의 단어를 사용하여, 백 엔드 서버는 리파인된 목록의 검색 결과를 생성한다. 이들 검색 결과는 프론트 엔드 엔진으로 반환되고, 프론트 엔드 엔진은 사용자가 읽을 수 있도록 TOC로 검색 결과를 렌더링한다. 사용자는 이들 검색 결과의 탐색을 선택하거나 또는, 네이게이션할 다른 패싯들의 선택을 계속할 수 있다.
본 발명의 또 다른 실시예로, 컴퓨터화된 시스템은 TOC 네비게이션 모델을 위한 검색 상태 유지뿐만 아니라 패싯 및 서브 패싯 디스플레이 및 생성을 제공할 수 있다. 프론트 엔드 엔진은 검색 질의 단어를 수신하여 이를 백 엔드 서버에 전달한다. 일 실시예의 백 엔드 서버는 검색 질의 단어를 저장한다. 다른 실시예에서, 프론트 엔드 엔진은 각 네비게이션 단계에서 검색 질의 단어를 재전송할 수 있다. 백 엔드 서버에서 검색 질의 단어를 수신하면, 다수의 알고리즘이 사용되어 패싯들을 생성하여, 검색 질의 단어에 적합한 토픽들을 카테고리화한다. 생성된 이들 패싯들은, 이들 패싯들을 TOC로 사용자 인터페이스에 디스플레이하는 프론트 엔드 엔진으로 반환된다. 사용자는 추가적으로 탐색하기 위해 백 엔드 서버로 전송되는 패싯을 선택할 수 있다. 일 실시예에서, 백 엔드 서버는 로컬 데이터베이스로부터 원래 검색 질의 단어를 다시 불러들일 수 있다. 다른 실시예에서, 프론트 엔드 엔진은 선택된 패싯과 함께 원래 검색 질의 단어를 백 엔드 서버로 재전송할 수 있다. 어느 경우에나, 원래 검색 질의의 상태가 유지된다. 선택된 패싯과 검색 질의 단어를 사용하여, 백 엔드 서버는 일련의 서브 패싯들을 생성한다. 이들 서브 패싯들은 프론트 엔드 엔진으로 반환되고, 프론트 엔드 엔진은 사용자가 읽을 수 있도록 TOC로 검색 결과를 렌더링한다. 사용자는 이들 서브 패싯들의 탐색을 선택하거나 또는, 네이게이션할 다른 패싯들의 선택을 계속할 수 있다. 사용자가 서브 패싯을 선택하면, 프론트 엔드 엔진은 선택된 서브 패싯을 백 엔드 서버로 전송한다. 선택된 서브 패싯, 선택된 패싯 및 검색 질의 단어가 사용되어 리파인된 검색 결과 목록을 생성하고, 이 목록은 TOC 디스플레이를 위해 프론트 엔드 엔진으로 반환된다. 사용자는 선택된 서브 패싯에 관한 검색 결과 목록의 탐색을 택하거나, 또는 원래 검색 질의 단어에 관한 패싯들의 네비게이션을 계속할 수 있다.
본 발명의 일 양태로, TOC 모델이 웹 브라우저 상에 구현되는 사용자 인터페이스에 디스플레이될 수 있다. 사용자에게 제공되는 검색 결과는 검색 질의 단어에 적합한 인터넷 사이트를 네비게이션하기 위한 일련의 웹 링크들일 수 있다. 본 발명의 다른 양태로, TOC 네비게이션 모델은 검색 질의 단어를 리파인하기 위해 사용될 수도 있는 일련의 정적 패싯들을 포함할 수 있다.
본 발명의 개요에서 간략하게 소개했지만, 본 발명의 다양한 양태들이 구현될 수 있는 운영 환경의 일례가 지금부터 설명된다. 전반적으로 도면, 특히 처음에는 도 1을 참조하면, 본 발명의 실시예들을 구현하기 위한 운영 환경의 일례가 도시되며, 일반적으로 컴퓨팅 장치(100)로 표시된다. 컴퓨팅 장치(100)는 적절한 컴퓨팅 환경의 일례에 불과하며, 본 발명의 용도나 기능의 범위에 관한 임의의 제한을 제시하기 위한 것이 아니다. 또한 컴퓨팅 장치(100)는 도시된 임의의 하나의 컴포넌트 또는 컴포넌트들의 임의의 조합에 관한 어떠한 의존성이나 요건을 갖는 것으로 해석되어서는 안 된다.
본 발명의 실시예는 컴퓨터 또는, PDA(personal data assistant)나 기타 핸드헬드 장치와 같은 그 밖의 기계에 의해 실행되는, 프로그램 모듈과 같은 컴퓨터 실행가능 인스트럭션을 포함하는 컴퓨터 코드 또는 기계 사용가능 인스트럭션의 일반적인 문맥에서 설명될 수 있다. 일반적으로, 루틴, 프로그램, 객체, 컴포넌트, 데이터 구조 등을 포함하는 프로그램 모듈은 특정 태스크를 수행하거나 특정 추상 데이터 유형을 구현하는 코드를 지칭한다. 본 발명의 실시예는 핸드헬드 장치, 소비자 가전, 범용 컴퓨터, 특수 컴퓨팅 장치 등을 포함하는 다양한 시스템 구성에서 실시될 수 있다. 또한, 본 발명의 실시예는 통신 네트워크를 통해 연결되어 있는 원격 처리 장치들에 의해 태스크가 수행되는 분산 컴퓨팅 환경에서 실시될 수 있다.
도 1을 계속 참조하면, 컴퓨팅 장치(100)는 메모리(112), 하나 이상의 프로세서(114), 하나 이상의 프리젠테이션 컴포넌트(116), 입/출력(I/O) 포트(118), I/O 컴포넌트(120) 및 예시적인 전원(122)을 직접 또는 간접적으로 연결시키는 버스(110)를 포함한다. 버스(110)는 (주소 버스, 데이터 버스 또는 이들의 조합과 같은) 하나 이상의 버스일 수 있는 것을 나타낸다. 도 1의 여러 블럭은 명확성을 위해 선으로 도시되어 있지만, 실제로는, 여러 컴포넌트의 윤곽을 그리는 것이 그렇게 명확하지는 않으므로, 비유적으로, 더 정확하게는 선은 회색이고 흐릴 것이다. 예를 들어, 디스플레이 장치와 같은 프리젠테이션 컴포넌트가 I/O 컴포넌트인 것으로 생각할 수 있다. 또한, 많은 프로세서들이 메모리를 갖는다. 따라서, 본원의 발명가들은 기술의 성격이 그러함을 인지하고, 도 1의 다이어그램은 단지 본 발명의 하나 이상의 실시예에 관련하여 사용될 수 있는 한 예시적인 컴퓨팅 장치의 도시일 뿐임 반복한다. "워크스테이션", "서버", "랩탑", "핸드헬드 장치" 등과 같은 카테고리들은 모두 도 1의 범위 내에서 고려되며 "컴퓨팅 장치"로 참조되기 때문에, 이들 사이에 구분을 짓지 않는다.
컴퓨팅 장치(100)는 일반적으로 각종 컴퓨터 판독가능 매체를 포함한다. 컴퓨터 판독가능 매체는 컴퓨팅 장치(100)에 의해 액세스될 수 있는 임의의 이용가능한 매체일 수 있고, 휘발성 및 비휘발성 매체, 이동식 및 비이동식 매체를 모두 포함한다. 예로서, 컴퓨터 판독가능 매체는 컴퓨터 저장 매체 및 통신 매체를 포함할 수 있으며, 이에 제한되는 것은 아니다. 컴퓨터 저장 매체는 컴퓨터 판독가능 명령어, 데이타 구조, 프로그램 모듈 또는 그 밖의 데이타와 같은 정보의 저장을 위해 임의의 방법 또는 기술로 구현된 휘발성 및 비휘발성, 이동식 및 비이동식 매체를 모두 포함한다. 컴퓨터 저장 매체는 RAM(Random Access Memory), ROM(Read Only Memory), EEPROM(Electronically Erasable Programmable Read Only Memory), 플래시 메모리 또는 기타 메모리 기술, CD-ROM, DVD(digital versatile disk) 또는 기타 홀로그램 매체, 자기 카세트, 자기 테이프, 자기 디스크 저장 장치 또는 기타 자기 저장 장치, 원하는 정보를 인코딩하는 데에 사용되고 컴퓨팅 장치(100)에 의해 액세스될 수 있는 임의의 기타 매체를 포함할 수 있지만, 이에 제한되는 것은 아니다.
메모리(112)는 휘발성 및/또는 비휘발성 메모리 형태의 컴퓨터 저장 매체를 포함한다. 메모리(112)는 이동식, 비이동식, 또는 이들의 조합일 수 있다. 예시적인 하드웨어 장치는 고체 상태 메모리, 하드 드라이브, 광 디스크 드라이브 등을 포함한다. 컴퓨팅 장치(100)는 메모리(112) 또는 I/O 컴포넌트(120)와 같은 다양한 엔티티로부터 데이터를 판독하는 하나 이상의 프로세서를 포함한다. 프리젠테이션 컴포넌트(들)(116)는 사용자 또는 다른 장치에 데이터 표시를 제공한다. 예시적인 프리젠테이션 컴포넌트는 디스플레이 장치, 스피커, 프린팅 컴포넌트, 진동 컴포넌트 등을 포함한다.
I/O 포트(118)는 컴퓨팅 장치(100)가 I/O 컴포넌트들(120)을 포함한 다른 장치에 논리적으로 연결되게 하며, I/O 컴포넌트들(120)의 일부는 내장될 수 있다. 예시적인 컴포넌트(120)는 마이크로폰, 조이스틱, 게임 패드, 위성 안테나, 스캐너, 프린터, 무선 장치 등을 포함한다.
도 2는 사용자 검색 질의 단어에 적합한 패싯을 탐색하기 위한 사용자 인터페이스를 제공하는 예시적인 방법을 도시하는 흐름도이며, 여기서 사용자 검색 질의의 상태는 유지된다. 검색 질의 단어는 사용자가 탐색하거나 조사하길 원하는 임의의 주제일 수 있다. 전형적으로, 검색 질의 단어는 매우 광범위하며, 패싯으로 체계화된 수천 가지의 결과를 낳는다. 패싯은 사용자 검색 질의 단어에 적합한 토픽들의 임의의 카테고리화일 수 있다. 일반적으로, 패싯은 검색 엔진에 의해 생성된 전형적으로 거대하고 종종 혼란스러운 검색 결과 리스트를 체계화시키기 위해 사용된다. 일반적으로, 상태가 유지되지 않거나 또는 사용자가 보기에 상태가 분명하지 않은 검색 환경에서는, 사용자가 검색 질의 단어를 입력하고 일련의 검색 결과가 출력된다. 사용자가 추가적으로 조사하기 원하는 검색 단어를 선택함에 따라, 검색 상태는 원래 검색 질의 단어에서 벗어나 네비게이션하게 된다. 이런 식으로, 상태가 유지되지 않거나, 상태가 유지되더라도 사용자에게 분명하지 않게 된다. 예시적인 방법으로, 사용자는 원래 검색 질의 단어의 상태를 유지하면서 다양한 패싯 사이에서 네비게이션을 할 수 있다. 본 실시예(200)를 실행하기 위한 컴퓨터 사용가능 인스트럭션은 컴퓨터 판독가능 매체에 기록되고, 컴퓨터 장치의 프로세서에서 실행될 수 있다. 본 발명은 광범위하게 적용가능하며, 개인용 컴퓨터, 수퍼 컴퓨터, 컴퓨팅 클러스터(computing clusters), 게임 콘솔, mp3 플레이어, 전자책, 이동 컴퓨팅 장치, 휴대 전화, PDA 등과 같이 컴퓨터 사용가능 인스트럭션을 실행하는 데에 사용되는 매우 다양한 컴퓨팅 장치들에서 사용될 수 있다. 200에 도시된 방법은 패싯이 적어도 하나의 검색 질의 단어에 관련된 토픽들을 카테고리화하는, 사용자 검색 질의 단어에 적합한 패싯을 탐색하는 사용자 인터페이스를 제공하는 실시예이다. 패싯을 통해 사용자는 적어도 하나의 검색 질의 단어를 리파인할 수 있다.
단계 201에서, 일 실시예로 적어도 하나의 검색 질의 단어가 프론트 엔드 엔진에서 수신된다. 프론트 엔드 엔진은 사용자 인터페이스를 제공하는 컴퓨팅 장치에서 구현되거나, 또는 사용자 인터페이스를 제공하는 컴퓨팅 장치를 통해 원격으로 액세스될 수 있다. 일 실시예의 프론트 엔드 엔진은 사용자가 생성된 패싯 및 검색 결과와 인터랙션하기 위한 TOC 인터페이스를 제공한다. 검색 엔진과 같은 백 엔드 서버나, 또는 사전 기반 알고리즘(dictionary-based algorithms)에 근거하여 적어도 하나의 패싯 또는 일련의 패싯들을 생성하는 유사 장치에 적어도 하나의 검색 질의 단어가 인가될 수 있다. 검색 엔진은 웹 페이지, 이미지 및 기타 유형의 파일을 검색하기 위해 알고리즘 및 사람의 입력을 이용한다. 예시적인 검색 엔진은 방대한 웹 페이지를 검색하는(retrieves) 웹 크롤러(web crawler)를 포함하고, 이후에 컨텐츠에 따라 이런 페이지들을 인덱싱한다. 패싯은 검색 질의 단어에 특정되며, 검색 단어에 적합한 카테고리를 결정하는 임의의 방법에 의해 선택될 수 있다. 패싯 선택의 예는 다음의 실시예에서 논의될 것이다.
검색 질의 단어에 관해 생성된 패싯이 202에서 수신되어, 203에서 사용자에게 디스플레이된다. 예시적인 방법에서, 프론트 엔드 엔진은 생성된 패싯을 TOC(Table of Contents) 네비게이션 모델이나 사용자 인터페이스의 형태로 수신하고 디스플레이할 수 있다. TOC는 브라우징 세션 동안, 생성된 패싯과 검색 결과의 사용자 선택을 디스플레이하고 이를 가능하게 하는 그래픽 또는 텍스트 기반의 사용자 인터페이스일 수 있다. 또한 TOC는 세션의 상태가 유지되는 브라우징 세션을 제공하며, 사용자가 다른 패싯을 선택함에 따라 원래 검색 질의 단어를 다시 불러온다. 204에서 사용자는 예를 들어, TOC로 디스플레이되는 패싯을 클릭함으로써 자신이 추가적으로 탐색하길 원하는 패싯을 선택할 수 있다. 사용자 선택에 대한 응답으로, 선택된 패싯과 검색 질의 단어에 적합한 일련의 검색 결과가 205에서 디스플레이된다. 예시적인 방법에서, 프론트 엔드 엔진은 검색 질의 단어에 적합한 패싯과, 선택된 패싯 및 검색 질의 단어에 적합한 검색 결과 목록을 가진 TOC를 디스플레이할 수 있다. 검색 결과는 적합한 웹사이트 목록을 포함할 수 있다. 사용자는 디스플레이된 결과를 탐색하거나, 선택된 새로운 패싯과 검색 질의 단어에 적합한 새로운 일련의 검색 단어를 디스플레이하기 위해 검색 질의 단어의 다른 적합한 패싯을 선택할 수 있다. 본 방법은 검색 질의 단어의 패싯을 네비게이션하는 사용자의 검색 경험 내내 검색 질의 단어 상태가 유지됨을 보여준다.
검색 질의 단어의 상태는 임의의 수의 프로토콜에 의해 유지될 수 있으며, 예를 들어, 원래 검색 질의 단어는 패싯 생성 장치나 백엔드 서버에 연결된 데이터베이스에 저장될 수 있다. 다른 실시예에서, IP 주소나 기타 소스 식별자가 저장되어 있는 검색 질의 단어와 연관될 수 있다. 선택된 패싯이나 기타 사용자의 선택을 수신하면, 새로운 선택의 소스 식별자가 원래 검색 질의 단어의 식별자와 매칭되고, 백 엔드 서버에서 다음 결과를 생성하기 위해 매칭된 선택 패싯과 검색 질의 단어가 사용된다. 다른 실시예에서, 선택된 각 패싯과 함께 검색 질의 단어를 재전송하는 프론트 엔드 엔진에 원래 검색 질의 단어가 저장될 수 있다. 또 다른 실시예에서, 검색 질의 단어는 프론트 엔드 엔진이나 백 엔드 서버에서 필요하면 다시 불러올 수 있도록 별개의 보조 데이터베이스에 저장될 수 있다. 어느 실시예에서든, 적합한 패싯의 임의의 선택도 원래 검색 질의 단어를 다시 불러옴으로써 상태를 유지한다.
다른 실시예에서, 검색 질의 단어에 대해 적합한 패싯을 수신할 뿐만 아니라, 전체 검색 질의 단어에 적합한 일련의 검색 결과가 수신되고 디스플레이될 수 있다. 사용자는 TOC 기반 패싯을 사용하여 검색 질의 단어의 적합한 양태들을 탐색하는 것과 검색 질의 단어에 적합한 개별 검색 결과를 탐색하는 것 중에서 선택하게 된다. 다른 실시예에서 사용자는 원래 검색 질의 단어의 상태를 유지하면서 모든 검색 결과를 탐색하고, 패싯을 선택함으로써 선택 결과를 빨리 좁힐 수 있게 된다.
본 방법은 인터넷에 연결된 컴퓨터에서 실행될 수 있고, 디스플레이는 웹 브라우저를 포함할 수 있다. 일 실시예에서, 검색 결과는 URI(Uniform Resource Identifiers)를 포함할 수 있고, 사용자 검색 질의 단어에 적합한 패싯은 특정 검색 질의 단어에 적합한 URI를 카테고리화할 수 있다. 일 실시예에서, 반환된 검색 단어와 다양한 사전 소스(dictionary sources)를 기반으로 하여 적합한 패싯을 생성하도록 구성된 검색 엔진으로 사용자 검색 질의 단어가 전송된다. 다른 실시예에서, 생성된 적합한 패싯과 함께 일련의 정적 패싯이 사용자에게 디스플레이될 수 있다. 예를 들어, 정적 패싯은 문서 타입이나 연대순 제목(chronological headings)의 카테고리를 포함할 수 있다. 정적 패싯은 사용자 검색 질의 단어에 특정하지 않지만, 사용자 검색을 한정하고 사용자 검색 경험을 돕는 추가 수단으로 기능하는 검색 질의에 관한 보편적인 제목이다. 다른 실시예에서, 검색 질의 단어의 입력을 위해 프롬프트(prompt)가 사용자에게 디스플레이될 수 있다.
도 3은 본 발명의 다른 실시예를 도시하는 흐름도이다. 도시된 방법은 원래 검색 질의 단어의 상태를 유지하면서 사용자가 검색 질의 단어에 관련된 패싯을 탐색할 수 있게 한다. 본 예시적인 방법에서, 검색 질의 단어를 추가적으로 리파인하여 사용자에게 적합한 검색 결과를 제공하기 위해, 서브 패싯이 사용자에게 제공된다. 본 실시예(300)를 실행하기 위한 컴퓨터 사용가능 인스트럭션은 컴퓨터 판독가능 매체에 기록되고, 컴퓨터 장치의 프로세서에서 실행될 수 있다. 본 발명은 광범위하게 적용가능하며, 개인용 컴퓨터, 수퍼 컴퓨터, 컴퓨팅 클러스터, 게임 콘솔, mp3 플레이어, 전자책, 이동 컴퓨팅 장치, 휴대 전화, PDA 등과 같이 컴퓨터 사용가능 인스트럭션을 실행하는 매우 다양한 컴퓨팅 장치들에서 사용될 수 있다.
300에 도시된 방법은 패싯이 적어도 하나의 검색 질의 단어에 관련된 토픽들을 카테고리화하는, 사용자 검색 질의 단어에 적합한 패싯과 서브 패싯을 탐색하는 사용자 인터페이스를 제공하는 실시예이다. 예시적인 방법에서, 적어도 하나의 검색 질의 단어가 301에서 예컨대, 프론트 엔드 엔진에서 수신된다. 이후에, 검색 질의 단어가 사용되어, 적어도 하나의 검색 질의 단어에 관련된 일련의 토픽들을 카테고리화하는 적어도 하나의 적합한 패싯을 생성한다. 적어도 하나의 적합한 패싯이 적합한 토픽들을 카테고리화하는 임의의 수단에 의해 생성될 수 있다. 일 실시예에서, 백 엔드 서버는 검색 질의 단어를 수신하고 일련의 패싯을 생성할 수 있다. 패싯은 검색 질의 단어에 적합한 카테고리를 결정하는 임의의 수단에 의해 생성될 수 있다. 패싯 선택의 예시들이 다음 단락에서 설명될 것이다.
검색 질의 단어에 관한 적어도 하나의 적합한 패싯이 302에서 수신되어, 303에서 사용자에게 디스플레이된다. 일 실시예에서, 패싯은 TOC의 형태로 디스플레이된다. 사용자는 304에서 검색 질의를 리파인하기 위해 적어도 하나의 적합한 패싯을 선택하고, 선택된 패싯에 적합한 적어도 하나의 서브 패싯과 검색 질의 단어가 305에서 수신된다. 일 실시예에서, 백 엔드 서버는 선택된 패싯을 수신하고, 사전과 사용자 데이터 주입 알고리즘(user data-seeded algorithms)을 기반으로 하여 일련의 서브 패싯을 생성한다. 예시적인 서브 패싯은 패싯으로 설명된 적합한 토픽들의 카테고리의 서브 카테고리이다. 임의의 패싯은 다수의 서브 패싯을 갖고 있으며, 그 서브 패싯의 프리젠테이션은 사용자가 자신이 찾고 있는 토픽을 리파인하는 데 유용할 수 있다. 선택된 패싯과 검색 질의 단어에 관한 서브 패싯이 305에서 수신되면, 검색 질의 단어에 대한 서브 패싯과 패싯이 306에서 디스플레이된다. 일 실시예에서, 프론트 엔드 엔진은 서브 패싯과 패싯을 TOC로 렌더링한다. 이후에 307에서 사용자는 자신이 추가적으로 탐색하기 원하는 서브 패싯을 선택하고, 선택된 서브 패싯, 선택된 패싯 및 검색 질의 단어에 관한 일련의 검색 결과가 308에서 수신되어 309에서 디스플레이된다. 예시적인 환경에서, 수신된 데이터가 TOC로 디스플레이된다.
일 실시예로 패싯과 서브 패싯이 생성되는 동안 액세스되는 데이터베이스에 검색 질의 단어를 저장함으로써 검색 질의 단어의 상태를 유지할 수 있다. 사용자가 패싯을 선택하면, 서브 패싯이 생성되는 동안의 액세스를 위해 그 패싯 또한 저장될 수 있다. 다른 실시예에서, 패싯이나 서브 패싯이 선택될 때마다 프론트 엔드 엔진으로부터 원래 검색 질의 단어를 재전송함으로써 검색 질의 단어의 상태를 유지할 수 있다. 사용자가 패싯을 선택하면, 서브 패싯이 생성되는 동안 그 패싯이 재전송될 수 있다. 어느 실시예에서든, 적합한 패싯의 임의의 선택은 원래 검색 질의 단어를 다시 불러옴으로써 상태를 유지한다.
다른 실시예에서, 검색 질의 단어에 대한 적합한 패싯과 서브 패싯이 수신되는 것뿐만 아니라, 검색 질의 단어에 적합한 일련의 검색 결과도 수신되고 디스플레이될 수 있다. 본 실시예에서, 사용자는 단지 디스플레이된 검색 결과들 사이에서 네비게이션을 하거나, 또는 적절한 패싯을 선택함으로써 디스플레이된 결과를 리파인하기를 택할 수 있다. 다른 실시예에서 사용자는 원래 검색 질의 단어의 상태를 유지하면서 모든 검색 결과를 탐색할 수 있고, 패싯과 서브 패싯을 선택함으로써 검색 결과를 빨리 좁힐 수 있다.
본 방법은 인터넷에 연결된 컴퓨터에서 실행될 수 있고, 디스플레이는 웹 브라우저를 포함할 수 있다. 일 실시예에서, 검색 결과는 URI를 포함할 수 있고, 사용자 검색 질의 단어에 적합한 패싯은 특정 검색 질의 단어에 적합한 URI을 카테고리화할 수 있다. 일 실시예에서, 반환된 검색 단어와 다양한 사전 소스를 기반으로 하여 적합한 패싯을 생성하도록 구성된 검색 엔진으로 사용자 검색 질의 단어가 전송된다. 다른 실시예에서, 생성된 적합한 패싯과 함께 일련의 정적 패싯이 사용자에게 디스플레이될 수 있다. 예를 들어, 정적 패싯은 문서 타입이나 연대순 제목의 카테고리를 포함할 수 있다. 정적 패싯은 사용자 검색 질의 단어에 특정되지 않지만, 사용자 검색을 한정하고 사용자 검색 경험을 돕는 추가 수단으로 기능하는 검색 질의에 관한 보편적인 제목이다. 다른 실시예에서, 검색 질의 단어의 입력을 위해 프롬프트가 사용자에게 디스플레이될 수 있다.
도 4a는 특허청구된 발명의 일 실시예를 도시하는 블록 다이어그램이다. 사용자 생성 검색 질의 단어가 403에서 프론트 엔드 엔진(401)에 의해 수신된다. 프론트 엔드 엔진은 백 엔드 서버(402)와 함께 또는 이와 별도로 구현될 수 있다. 어느 경우에든, 프론트 엔드 엔진(401)과 백 엔드 서버(402)에서 수행되는 프로세스는 컴퓨터 판독가능 매체에 기록되고 임의의 컴퓨팅 장치의 프로세서에서 실행될 수 있다. 프론트 엔드 엔진(401)은 검색 질의 단어가 데이터베이스(405)에 저장되어 있는 백 엔드 서버(402)로 404에서 검색 질의 단어를 전송한다. 검색 엔진과 같은 백 엔드 서버(402)는 어떤 패싯이나 카테고리가 검색 질의 단어에 가장 적합한 지를 결정한다. 백 엔드 서버(402)는 이 태스크를 수행하기에 필요한 임의의 알고리즘 또는 패싯 생성을 위해 이용가능한 임의의 다른 프로세스를 포함한다. 예를 들어, 백 엔드 서버(402)는 질의 특화 알고리즘(query specialization algorithms)뿐만 아니라 검색 질의 단어와 관련하여 가장 많이 액세스된 카테고리의 질의 로그도 포함할 수 있다. 백 엔드 서버는 검색 질의 단어에 관한 카테고리화를 위해 저장된 사전을 이용할 수 있다. 사전을 보다 작고 보다 쉽게 액세스할 수 있는 집합으로 나누기 위해 백 엔드 서버 내의 알고리즘이 사용될 수 있다. 사전 알고리즘은 검색 질의 단어와 관련된 카테고리를 상세히 설명하거나 카테고리에 대한 동의어를 결정하는 데 사용될 수 있다. 다양한 랜덤 생성 알고리즘(random generation algorithms)도 사용될 수 있다.
백 엔드 서버(402)에서 패싯이 생성되면, 이 패싯은 프론트 엔드 엔진(401)에 의해 406에서 수신된다. 일 실시예에서 TOC 생성기(Table of Contents generator, 407)는 사용자를 위해 적합한 패싯의 디스플레이를 생성한다. 이후에 사용자는 추가적으로 탐색할 패싯을 선택하고, 패싯의 선택이 408에서 프론트 엔드 엔진(401)으로부터 백 엔드 서버(405)로 전송된다. 사용자 검색 경험의 상태를 유지하기 위해서, 데이터베이스(405)로부터 원래 검색 질의 단어를 불러오고, 선택된 패싯과 선택 질의 단어를 사용하여 일련의 검색 결과를 리파인한다. 선택된 패싯과 검색 질의 단어에 대한 일련의 검색 결과가 409에서 전송되어 TOC(407)를 렌더링하는 프론트 엔드 엔진(401)에 의해 수신된다. 사용자는 디스플레이된 검색 결과를 탐색하거나 또는 탐색할 다른 패싯을 선택할 수 있다.
도 4b는 본 발명의 다른 실시예를 도시하는 블록 다이어그램(410)이다. 413에서, 사용자 생성 검색 질의 단어가 프론트 엔드 엔진(411)에서 수신된다. 프론트 엔드 엔진은 백 엔드 서버(412)와 함께 또는 이와 별도로 구현될 수 있다. 어느 경우에든, 프론트 엔드 엔진(411)과 백 엔드 서버(412)에서 수행되는 프로세스는 컴퓨터 판독가능 매체에 기록되고 임의의 컴퓨팅 장치의 프로세서에서 실행될 수 있다. 검색 질의 단어는 414에서 백 엔드 서버(412)로 전달되고, 백 엔드 서버(412)는 일 실시예에서 랜덤 워크(random walk) 및 사전 기반 알고리즘을 사용하여 검색 질의 단어에 적합한 적어도 하나의 패싯을 생성한다. 생성된 패싯은 415에서 프론트 엔드 엔진(411)으로 반환되고 TOC(419)로 렌더링된다. 사용자는 자신이 추가적으로 탐색하기 원하는 패싯을 선택할 수 있고, 선택된 패싯은 원래 검색 질의 단어(416)와 함께 백 엔드 서버(412)로 반환된다. 추가적인 실시예에서 프론트 엔드 엔진(411)은 검색 질의 단어 저장을 위한 데이터베이스를 포함할 수 있다. 이후에 백 엔드 서버(412)는 선택된 패싯을 이용하여 검색 질의를 리파인하여 검색 결과 목록을 생성한다. 선택된 패싯과 검색 질의 단어의 검색 결과가 417에서 프론트 엔드 엔진(411)으로 반환되어 TOC로 디스플레이된다. 사용자는 이들 검색 결과를 탐색하거나 또는 탐색할 다른 패싯을 선택할 수 있다. 어느 경우에든, 원래 검색 질의 단어의 상태가 유지되며, 사용자는 원래 검색 파라미터를 보유하기 위해 원래 검색 질의 단어를 재입력할 필요가 없다.
도 5a는 본 발명의 다른 실시예를 도시하는 블록 다이어그램(500)이다. 본 실시예에서도 프론트 엔드 엔진(501) 및 백 엔드 서버(502)를 포함한다. 프론트 엔드 엔진은 백 엔드 서버(502)와 함께 또는 이와 별도로 구현될 수 있다. 어느 경우에든, 프론트 엔드 엔진(501)과 백 엔드 서버(502)에서 수행되는 프로세스는 컴퓨터 판독가능 매체에 기록되고 임의의 컴퓨팅 장치의 프로세서에서 실행될 수 있다. 사용자 생성 질의는 503에서 프론트 엔드 엔진(501)에 의해 수신되어 504에서 백 엔드 서버(502)로 전달된다. 일 실시예에서, 검색 질의 단어는 백 엔드 서버(502)에 연결된 데이터베이스(505)에 저장될 수 있다. 백 엔드 서버(502)는 랜덤 워크 및 사전 기반 알고리즘을 포함하는 임의의 적절한 컴퓨팅 방법을 사용하여 검색 질의 단어에 적합한 적어도 하나의 패싯을 생성한다. 생성된 패싯은 506에서 프론트 엔드 엔진(501)으로 반환되고, 프론트 엔드 엔진(501)은 검색 질의 단어의 이들 패싯을 TOC 디스플레이(507)로 렌더링한다. 사용자는 자신이 추가적으로 탐색하기 원하는 특정 패싯을 선택할 수 있다. 선택된 패싯은 508에서 백 엔드 서버(502)로 전송된다. 사용자 검색 경험의 상태를 유지하기 위해서, 데이터베이스(505)로부터 원래 검색 질의 단어를 불러오고, 선택된 패싯과 선택 질의 단어를 사용하여 일련의 서브 패싯을 생성한다. 선택된 패싯과 검색 질의 단어에 대한 일련의 서브 패싯은 509에서 전송되어 TOC(507)를 렌더링하는 프론트 엔드 엔진(501)에 의해 수신된다. 이후에 사용자는 다른 패싯을 선택함으로써 다른 패싯에 관련된 서브 패싯을 탐색하기를 택하거나, 또는 현재 선택된 패싯의 특정 서브 패싯을 탐색하기를 택할 수 있다. 일 실시예에서, 선택된 패싯 또한 백 엔드 서버에 연결된 데이터베이스에 저장될 수 있고, 이 때, 선택된 서브 패싯(510)이 프론트 엔드 엔진에 의해 전송되면, 선택된 패싯 및 검색 질의 단어를 모두 불러올 수 있다. 선택된 서브 패싯뿐만 아니라 불러온 선택된 패싯 및 불러온 검색 질의 단어를 사용하여, 이러한 기준을 기초로 리파인된 일련의 검색 결과가 백 엔드 서버(502)에서 생성된다. 이들 검색 결과는 511에서 TOC 디스플레이(507)로 검색 결과를 렌더링하는 프론트 엔드 엔진(501)으로 전송된다. 원래 검색 질의 단어의 상태가 유지되면서, 사용자는 디스플레이된 검색 결과를 탐색하거나, 또는 탐색할 다른 패싯이나 서브 패싯을 선택할 수 있다.
도 5b는 본 발명의 다른 실시예를 도시하는 블록 다이어그램(520)이다. 본 실시예에서도 프론트 엔드 엔진(521) 및 백 엔드 서버(522)를 포함한다. 프론트 엔드 엔진은 백 엔드 서버(522)와 함께 또는 이와 별도로 구현될 수 있다. 어느 경우에든, 프론트 엔드 엔진(521)과 백 엔드 서버(522)에서 수행되는 프로세스는 컴퓨터 판독가능 매체에 기록되고 임의의 컴퓨팅 장치의 프로세서에서 실행될 수 있다. 사용자 생성 질의는 523에서 프론트 엔드 엔진(521)에 의해 수신되어 524에서 백 엔드 서버(522)로 전달된다. 백 엔드 서버(522)는 랜덤 워크 및 사전 기반 알고리즘을 포함하는 임의의 적절한 컴퓨팅 방법을 사용하여 검색 질의 단어에 적합한 적어도 하나의 패싯을 생성한다. 생성된 패싯은 525에서 프론트 엔드 엔진(521)으로 반환되고, 프론트 엔드 엔진(521)은 검색 질의 단어의 이들 패싯을 TOC 디스플레이(526)로 렌더링한다. 이후에 사용자는 자신이 추가적으로 탐색하기 원하는 특정 패싯을 선택할 수 있다. 사용자 검색 경험의 상태를 유지하기 위해서, 원래 검색 질의 단어가 선택된 패싯(527)과 함께 백 엔드 서버(522)로 전송되고, 선택된 패싯 및 검색 질의 단어가 사용되어 일련의 서브 패싯을 생성한다. 선택된 패싯과 검색 질의 단어에 대한 일련의 서브 패싯은 528에서 전송되어 TOC(526)를 렌더링하는 프론트 엔드 엔진(521)에 의해 수신된다. 이후에 사용자는 다른 패싯을 선택함으로써 다른 패싯에 관련된 서브 패싯을 탐색하기를 택하거나, 또는 현재 선택된 패싯의 특정 서브 패싯을 탐색하기를 택할 수 있다. 일 실시예에서, 선택된 서브 패싯, 선택된 패싯 및 원래 검색 질의 단어가 529에서 검색 질의 단어의 상태를 유지하는 백 엔드 서버(522)로 전송된다. 선택된 서브 패싯뿐만 아니라 선택된 패싯 및 검색 질의 단어를 사용하여, 이러한 기준으로 결정된 이들 검색 결과가 백 엔드 서버(522)에서 생성된다. 이들 검색 결과는 530에서 TOC 디스플레이(526)로 검색 결과를 렌더링하는 프론트 엔드 엔진(521)으로 전송된다. 원래 검색 질의 단어의 상태가 유지되면서, 사용자는 디스플레이된 검색 결과를 탐색하거나, 또는 탐색할 다른 패싯이나 서브 패싯을 선택할 수 있다.
도 6a - 6d는 본 발명의 예시적인 실시예를 도시하는 일련의 도면이다. 도 6a에 도시되는 일 실시예에서, 사용자는 도 4의 프론트 엔드 엔진(401)에 의해 웹 브라우저(601)를 통해 그래픽 사용자 인터페이스(600)를 제공받을 수 있다. 예를 들어, 오프라인 네비게이션 디스플레이나 텍스트 전용 인터페이스(text only interface) 등의 사용자 디스플레이의 다른 실시예들은 본 발명의 범위 내에 있다. 프론트 엔드 엔진은 사용자가 검색 질의 단어(603)를 입력하도록 프롬프트(602)를 제공할 수 있다. 도 6a에 도시된 예시에서, 사용자에 의한 검색 질의 단어 입력은 "Michael Jackson"이다. 사용자가 검색 질의 단어를 제공하면, 검색 질의 단어가 프론트 엔드 엔진(401)에서 수신되어 백 엔드 서버(402)로 전송된다. 이 때, 많은 가능한 실시예들 중 어느 하나에서 백 엔드 서버(402)에 연결된 데이터베이스에서의 저장에 의해 검색 질의 단어의 상태가 유지될 수 있으며, 다른 실시예에서, 검색 질의 단어가 프론트 엔드 엔진(401)에 의해 저장되고 추후에 재전송되거나 불려올 수 있다. 검색 질의 단어 "Michael Jackson"에 관련된 패싯이 앞서 언급한 임의의 방법을 사용하여 결정되었다면, 패싯이 프론트 엔드 엔진으로 반환되다.
도 6b의 인터페이스(610)에서, TOC가 렌더링되고 검색 질의 단어 "Michael Jackson(604)"에 대해 생성된 패싯들을 보여준다. 본 예시에서, 선택된 패싯들은 IMAGES(605), LYRICS(606), VIDEOS(607), BIOGRAPHY(608) 및 NEWS(609)를 포함한다. 일 실시예에서, 백 엔드 서버는 프론트 엔드 엔진에 의해 인터페이스(610)에 렌더링되는 검색 질의 단어에 관한 검색 결과 목록(611)도 제공할 수 있다. 일 실시예에서 선택된 패싯들은 도 4의 백 엔드 서버(402)의 선택 기준에 따른다. 사용자가 "Wolfgang Mozart"와 같은 다른 검색 질의 단어를 입력하는 경우, 당업자라면 검색 질의 단어 "Michael Jackson"에 대해 생성된 패싯이 꼭 적합하다고 할 수 없음을 인식할 것이다. 예를 들어, "Wolfgang Mozart"에 대한 검색 질의 단어는 BIOGRAPHY, WORKS, MUSEUMS, FICTIONAL DEPICTIONS과 같은 패싯을 생성할 수 있다. 패싯은 검색 질의 단어 특정 카테고리를 제공하여, 사용자가 원래 검색 질의 단어로부터 벗어나지 않고 특정 검색 질의 단어의 다른 양태들을 탐색할 수 있게 된다.
도 6c의 인터페이스(620)에서, 사용자는 패싯 NEWS(621)를 선택하여 "Michael Jackson"과 "NEWS"에 관련된 검색 결과를 탐색할 수 있다. 따라서 패싯 NEWS(621)의 선택이 프론트 엔드 엔진에 의해 도 4의 백 엔드 서버(402)로 전송된다. 예시적인 일 실시예에서, 프론트 엔드 엔진은 "Michael Jackson"과 "NEWS"를 모두 백 엔드 서버로 전송할 수 있다. 다른 실시예에서, 프론트 엔드 엔진은 "NEWS"를 백 엔드 서버로 전송하고, 백 엔드 서버는 이어서 연결된 데이터베이스로부터 검색 질의 단어 "Michael Jackson"를 불러온다. 백 엔드 서버는 검색 엔진을 사용하여, 선택된 패싯 "NEWS"와 검색 단어 "Michael Jackson"에 대한 일련의 검색 결과를 생성할 수 있다. 본 특정 예시에서, 검색 결과는 웹 링크 목록일 수 있다. 이러한 일련의 검색 결과는, 검색 결과나 패싯 결과(622)를 TOC 디스플레이로 렌더링하는 프론트 엔드 엔진으로 반환된다. 이후에 사용자는 임의의 링크를 클릭하거나 또는, 검색 질의 "Michael Jackson"에 관련된 패싯들(605 - 609)의 브라우징을 계속할 수 있다.
원래 검색 질의 단어의 상태가 유지되기 때문에, 원래 검색 질의 단어의 입력을 반복할 필요 없이 사용자는 모든 패싯(605 - 609)을 계속 이용가능하다. 도 6d의 인터페이스(630)에서, 사용자가 VIDEOS(631)과 같이 이후에 탐색할 다른 패싯을 선택하면, 선택된 VIDEOS(631) 패싯이 백 엔드 서버로 반환되고 원래 검색 질의 단어 역시 제공된다. 검색 엔진은 "VIDEOS" 및 "Michael Jackson"에 적합한 일련의 웹 링크를 생성할 수 있다. 원래 검색 질의 단어가 여전히 이용가능한 채로, 사용자가 평가할 수 있도록 이들 패싯 결과(632)가 TOC 디스플레이로 렌더링된다.
도 7a - 7d는 본 발명의 예시적인 실시예를 도시하는 일련의 도면이다. 도 7a에 도시되는 일 실시예의 디스플레이(700)에서, 사용자는 도 5의 프론트 엔드 엔진(501)에 의해 웹 브라우저(701)를 통해 그래픽 사용자 인터페이스(700)를 제공받을 수 있다. 예를 들어, 오프라인 네비게이션 디스플레이나 텍스트 전용 인터페이스 등의 사용자 디스플레이의 다른 실시예들은 본 발명의 범위 내에 있다. 프론트 엔드 엔진은 사용자가 검색 질의 단어(703)를 입력하도록 프롬프트(702)를 제공할 수 있다. 도 7a에 도시된 예시에서, 사용자에 의한 검색 질의 단어 입력은 "Michael Jackson"이다. 사용자가 검색 질의 단어를 제공하면, 검색 질의 단어가 도 5의 프론트 엔드 엔진(501)에서 수신되어 백 엔드 서버(502)로 전송된다. 이 때, 많은 가능한 실시예들 중 어느 하나에서 백 엔드 서버(502)에 연결된 데이터베이스에서의 저장에 의해 검색 질의 단어의 상태가 유지될 수 있으며, 다른 실시예에서, 검색 질의 단어가 프론트 엔드 엔진(501)에 연결된 버퍼에 저장될 수 있다. 검색 질의 단어 "Michael Jackson"에 관련된 패싯이 앞서 언급한 임의의 방법을 사용하여 결정되었다면, 패싯이 프론트 엔드 엔진으로 반환된다.
도 7b의 인터페이스(710)에서, TOC가 렌더링되어(704) 검색 질의 단어 "Michael Jackson"에 대해 생성된 패싯들을 보여준다. 본 예시에서, 생성된 패싯들은 IMAGES(705), LYRICS(706), VIDEOS(707), BIOGRAPHY(708) 및 NEWS(709)를 포함한다. 일 실시예에서, 백 엔드 서버는 프론트 엔드 엔진에 의해 인터페이스(710)에서 수신되고 렌더링되는 검색 질의 단어에 관한 검색 결과 목록(711)도 제공할 수 있다. 일 실시예에서 선택된 패싯들은 도 5의 백 엔드 서버(502)의 선택 기준에 따른다. 사용자가 "Wolfgang Mozart"와 같은 다른 검색 질의 단어를 입력하는 경우, 당업자라면 검색 질의 단어 "Michael Jackson"에 대해 생성된 패싯이 꼭 적합하다고 할 수 없음을 인식할 것이다. 예를 들어, "Wolfgang Mozart"에 대한 검색 질의 단어는 BIOGRAPHY, WORKS, MUSEUMS, FICTIONAL DEPICTIONS과 같은 패싯을 생성할 수 있다. 패싯은 검색 질의 단어 특정 카테고리를 제공하여, 사용자가 원래 검색 질의 단어로부터 벗어나지 않고 특정 검색 질의 단어의 다른 양태들을 탐색할 수 있게 된다.
도 7c의 인터페이스(720)에서, 사용자는 패싯 VIDEOS(721)를 선택하여 "Michael Jackson"과 "VIDEOS"에 관련된 검색 결과를 탐색할 수 있다. 따라서 패싯 VIDEOS(721)의 선택이 프론트 엔드 엔진(501)에 의해 도 5의 백 엔드 서버(502)로 전송된다. 예시적인 일 실시예에서, 프론트 엔드 엔진은 "Michael Jackson"과 "VIDEOS"를 모두 백 엔드 서버로 전송할 수 있다. 다른 실시예에서, 프론트 엔드 엔진은 "VIDEOS"를 백 엔드 서버로 전송하고, 백 엔드 서버는 이어서 연결된 데이터베이스로부터 검색 질의 단어 "Michael Jackson"를 불러온다. 백 엔드 서버(502)에서, 서브 패싯은 예시적인 랜덤 워크 및 사전 기반 알고리즘을 사용한 패싯 생성과 유사한 방식으로 생성된다. 본 실시예에서, VIDEOS 및 Michael Jackson에 관한 서브 패싯이 생성되어 프론트 엔드 엔진으로 반환된다.
도 7d의 인터페이스(730)에서, 생성된 서브 패싯을 포함하는 TOC의 예시적인 실시예가 도시된다. "Michael Jackson"과 "VIDEOS"에 관한 서브 패싯이 도 5의 프론트 엔드 엔진(501)에서 수신되면, 서브 패싯이 TOC 디스플레이로 렌더링된다. 본 실시예에서, 검색 질의 단어 "Michael Jackson"과 "VIDEOS"에 관한 서브 패싯은 MUSIC VIDEOS(731), INTERVIEWS(732), CONCERT VIDEOS(733), NEWS VIDEO(734), 및 TRIBUTES(735)를 포함할 수 있다. 이들 서브 패싯이 검색 질의 단어 "Michael Jackson"과 "VIDEOS"에 특정된 것임을 인식할 것이다. “Wolfgang Mozart"와“WORKS"에 관한 서브 패싯은 SYMPHONIES, OPERAS, CONCERTOS, SONATAS, 및 CHAMBER MUSIC 등의 가능한 서브 패싯을 생성할 수 있다. 이후에 사용자는 검색 질의 단어 "Michael Jackson"과 "VIDEOS"에 관해 디스플레이된 서브 패싯을 탐색하거나 또는, 사용자는 다른 일련의 서브 패싯의 생성을 트리거하는 새로운 패싯을 선택할 수 있다. 예시적인 실시예에서, 사용자는 서브 패싯 TRIBUTES(735)를 선택한다. 따라서 서브 패싯 TRIBUTES(735)의 선택이 프론트 엔드 엔진에 의해 도 5의 백 엔드 서버(502)로 전송된다. 예시적인 일 실시예에서, 프론트 엔드 엔진은 "Michael Jackson" 및 "VIDEOS" 및 "TRIBUTES"를 백 엔드 서버에 전송할 수 있다. 다른 실시예에서, 프론트 엔드 엔진은 "TRIBUTES(735)"를 백 엔드 서버로 전송하고, 백 엔드 서버는 이어서 연결된 데이터베이스로부터 검색 질의 단어 "Michael Jackson" 및 패싯 "VIDEOS"를 불러온다. 어느 경우에든, 백 엔드 서버(502)가 검색 질의 단어 "Michael Jackson", 선택된 패싯 "VIDEOS", 및 선택된 서브 패싯 "TRIBUTES"에 의해 리파인된 검색 결과 목록을 생성한다. 이들 서브 패싯 결과는, 선택된 서브 패싯에 대한 이들 패싯 결과를 TOC 디스플레이(736)로 렌더링하는 프론트 엔드 엔진으로 반환된다. 사용자는 이후에 예시적인 실시예로 디스플레이된 서브 패싯 "TRIBUTES"(735)에 적합한 서브 패싯 웹 링크(736)를 탐색하길 택하거나 또는, 패싯 "VIDEOS"에 적합한 다른 서브 패싯을 선택하거나, 또는 원래 검색 질의 단어 "Michael Jackson"에 적합한 다른 패싯을 선택할 수 있다. 검색 질의 단어의 상태가 유지되므로, 사용자는 원래 검색 기준을 재입력하지 않고도 예시적인 실시예에서의 "Michael Jackson"에 적합한 모든 패싯 및 서브 패싯을 충분히 탐색할 수 있다.
도 8a 및 8b는 본 발명의 다른 실시예를 도시한다. 예시적인 실시예에서, 검색 질의 단어에 대해 생성된 패싯들은 임의의 검색 질의 단어에 대해 디스플레이되는 일련의 정적 패싯에 의해 보강된다. 도 8a에 도시되는 일 실시예의 디스플레이(800)에서, 사용자는 도 4의 프론트 엔드 엔진(401)에 의해 웹 브라우저(801)를 통해 인터페이스를 제공받을 수 있다. 예를 들어, 오프라인 네비게이션 디스플레이나 텍스트 전용 인터페이스 등의 사용자 디스플레이의 다른 실시예들은 본 발명의 범위 내에 있다. 프론트 엔드 엔진은 사용자가 검색 질의 단어(803)를 입력하도록 프롬프트(802)를 제공할 수 있고, 도 8a에 도시된 예시에서, 사용자에 의한 검색 질의 단어 입력은 "Michael Jackson"이다. 사용자가 검색 질의 단어를 제공하면, 검색 질의 단어가 도 4의 프론트 엔드 엔진(401)에서 수신되어 백 엔드 서버(402)로 전송된다. 이 때, 많은 가능한 실시예들 중 어느 하나에서 백 엔드 서버(402)에 연결된 데이터베이스에서의 저장에 의해 검색 질의 단어의 상태가 유지될 수 있으며, 다른 실시예에서, 검색 질의 단어가 프론트 엔드 엔진(401)에 연결된 버퍼에 저장될 수 있다. 검색 질의 단어 "Michael Jackson"에 관련된 패싯이 앞서 언급한 임의의 방법을 사용하여 결정되었다면, 패싯이 프론트 엔드 엔진으로 반환된다.
도 8b의 인터페이스(815)에서, TOC가 렌더링되고(804) 검색 질의 단어 "Michael Jackson"에 대해 생성된 패싯들을 보여준다. 본 예시에서, 생성된 패싯들은 IMAGES(805), LYRICS(806), VIDEOS(807), BIOGRAPHY(808) 및 NEWS(809)를 포함한다. 일 실시예에서 선택된 패싯들은 도 4의 백 엔드 서버(402)의 선택 기준에 따른다. 사용자가 "London"과 같이 다른 검색 질의 단어를 입력하는 경우, 당업자라면 검색 질의 단어 "Michael Jackson"에 대해 생성된 패싯이 꼭 적합하다고 할 수 없음을 인식할 것이다. 예를 들어, "London"에 대한 검색 질의 단어는 HISTORY, TOURISM, BUSINESSES, NEWS와 같은 패싯을 생성할 수 있다. 패싯은 검색 질의 단어 특정 카테고리를 제공하여, 사용자가 원래 검색 질의 단어로부터 벗어나지 않고, 즉, 상태를 유지하면서, 특정 검색 질의 단어의 다른 양태들을 탐색할 수 있게 된다. 검색 질의 단어 특정 패싯(806 - 809)에 더해서, 일련의 정적 패싯이 프론트 엔드 엔진(401)에 의해 제공된다. 예시적인 실시예에서, 정적 패싯은 마지막 HOUR(810), DAY(811), WEEK(812), MONTH(813), 및 YEAR(814)에 관한 결과를 나타내는 일련의 연대순의 카테고리이다. 결과를 “.DOC,” “.PDF,” “.MP3,” 및 “.MPG,”로 리파인하는 것과 같은 문서 타입 패싯이나 또는, 예를 들어, 결과를 “.COM” URLS 또는 “.GOV” URLS만으로 좁히는 소스 기반 패싯 등 다른 정적 패싯들도 물론 유용할 것이다. 정적 패싯이 각 검색 질의 단어에 대해 생성되는 것은 아니며 검색 질의 단어에 특정되지도 않지만, 사용자가 검색 질의 단어에 대한 결과를 추가적으로 리파인하기 위해 선택할 수 있다. 전술한 것과 유사한 방식으로, 선택된 정적 패싯 및/또는 선택된 패싯은, 원래 검색 질의 단어에도 액세스하며 이들 기준을 사용하여 일련의 검색 결과를 생성하는 백 엔드 서버로 전송된다. 이들 검색 결과는 프론트 엔드 엔진으로 반환되고, 프론트 엔드 엔진은 이어서 검색 결과를 TOC 디스플레이의 패싯 결과 부분으로 렌더링한다. 이와 유사하게, 사용자가 정적 패싯과 함께 패싯을 선택하면 서브 패싯도 사용될 수 있다.
도시된 다양한 컴포넌트 및 도시되지 않은 컴포넌트의 많은 다양한 배치가 아래의 특허청구범위의 범위를 벗어나지 않고도 가능하다. 본 기술의 실시예들은 제한적이기보다는 예시적인 의도로 설명되었다. 본 명세서를 읽은 후에, 이를 읽었기 때문에 다른 실시예들도 독자들에게 명백해질 것이다. 전술한 내용을 구현하는 다른 수단은 아래의 특허청구범위의 범위로부터 벗어나지 않고 달성될 수 있다. 특정 특징들 및 서브컴비네이션들이 유용하고, 이들은 다른 특징들 및 서브컴비네이션들과 관계없이 이용될 수 있으며, 특허청구범위의 범위 내에서 고려된다.

Claims (20)

  1. 실행시에 사용자 검색 질의 단어에 관련된 패싯들(facets relevant to a user search query term)을 탐색하기 위한 사용자 인터페이스를 제공하는 방법을 수행하는 컴퓨터 실행가능한 명령어를 포함하는 하나 이상의 메모리 장치로서- 상기 사용자 검색 질의의 상태는 유지됨 -,
    상기 방법은
    사용자로부터 적어도 하나의 검색 질의 단어를 수신하는 단계와,
    상기 적어도 하나의 검색 질의 단어를 백 엔드 서버(back-end server)에 전송하는 단계와,
    상기 적어도 하나의 검색 질의 단어에 대한 관련 패싯들을 수신하는 단계- 상기 관련 패싯들 각각은, 상기 적어도 하나의 검색 질의 단어에 관련된 일련의 토픽들을 분류하고(categorizes) 상기 사용자가 상기 적어도 하나의 검색 질의 단어를 리파인(refine)할 수 있게 함 -와,
    상기 적어도 하나의 검색 질의 단어에 대한 상기 관련 패싯들을 디스플레이하는 단계와,
    상기 관련 패싯들 중 하나의 선택을 수신하는 단계와,
    상기 선택된 관련 패싯을 상기 백 엔드 서버로 전송하는 단계와,
    상기 적어도 하나의 검색 질의 단어와 리파인된 질의(refinement query)로서의 상기 선택된 관련 패싯 입력에 기초한 일련의 검색 결과를 수신하는 단계- 상기 리파인된 질의가 실행되어 상기 일련의 검색 결과를 생성함 -와,
    (1) 상기 적어도 하나의 검색 질의 단어에 대한 상기 관련 패싯들- 상기 관련 패싯들은 상기 백 엔드 서버에 의해 재호출(recall)되는 상기 적어도 하나의 검색 질의 단어를 사용하여 상기 백 엔드 서버에 의해 생성됨 -과,
    (2) 상기 수신된 일련의 검색 결과
    를 디스플레이하는 단계
    를 포함하는, 메모리 장치.
  2. 제 1 항에 있어서,
    상기 방법은 상기 적어도 하나의 검색 질의 단어를 데이터베이스에 저장하는 단계를 더 포함하는, 메모리 장치.
  3. 제 1 항에 있어서,
    상기 관련 패싯들은 웹 브라우저에 디스플레이되는
    메모리 장치.
  4. 제 1 항에 있어서,
    상기 방법은 상기 관련 패싯들과 함께 상기 적어도 하나의 검색 질의 단어에 대한 일련의 검색 결과를 수신하고 디스플레이하는 단계를 더 포함하는
    메모리 장치.
  5. 제 1 항에 있어서,
    상기 방법은 적어도 하나의 정적 패싯을 디스플레이하는 단계를 더 포함하며,
    상기 정적 패싯은 상기 사용자가 상기 적어도 하나의 검색 질의 단어를 리파인할 수 있게 해주는
    메모리 장치.
  6. 제 1 항에 있어서,
    상기 방법은 사용자 검색 질의 프롬프트를 제공하는 단계를 더 포함하는
    메모리 장치.
  7. 실행시에 사용자 생성 질의(user-generated query)에 관련된 패싯들 및 서브 패싯들을 탐색하기 위한 사용자 인터페이스를 제공하는 방법을 수행하는 컴퓨터 실행가능한 명령어를 포함하는 하나 이상의 메모리 장치로서- 상기 사용자 생성 질의의 상태는 유지됨 -,
    상기 방법은
    사용자로부터 적어도 하나의 검색 질의 단어를 수신하는 단계와,
    상기 적어도 하나의 검색 질의 단어를 백 엔드 서버에 전송하는 단계와,
    상기 적어도 하나의 검색 질의 단어에 대한 관련 패싯들을 수신하는 단계- 상기 관련 패싯들 각각은 상기 적어도 하나의 검색 질의 단어에 관련된 일련의 토픽들을 분류하고, 상기 사용자가 상기 적어도 하나의 검색 질의 단어를 리파인(refine)할 수 있게 함 -와,
    상기 적어도 하나의 검색 질의 단어에 대한 상기 관련 패싯들을 디스플레이하는 단계와,
    상기 관련 패싯들 중 하나의 선택을 수신하는 단계와,
    상기 선택된 관련 패싯을 상기 백 엔드 서버로 전송하는 단계와,
    상기 적어도 하나의 검색 질의 단어 및 상기 선택된 관련 패싯에 대한 서브 패싯들을 수신하는 단계- 상기 서브 패싯들 각각은, 상기 적어도 하나의 검색 질의 단어 및 상기 선택된 관련 패싯에 관련된 일련의 서브 토픽들을 분류하고 상기 사용자가 상기 적어도 하나의 검색 질의 단어를 더 리파인할 수 있게 함 -와,
    상기 적어도 하나의 검색 질의 단어에 대한 상기 서브 패싯들 및 상기 관련 패싯들을 디스플레이하는 단계와,
    상기 서브 패싯들 중 하나의 선택을 수신하는 단계와,
    상기 선택된 서브 패싯을 상기 백 엔드 서버로 전송하는 단계와,
    상기 적어도 하나의 검색 질의 단어, 상기 선택된 관련 패싯, 및 리파인된 질의로서의 상기 선택된 서브 패싯 입력에 기초한 일련의 검색 결과를 수신하는 단계- 상기 리파인된 질의가 실행되어 상기 일련의 검색 결과를 생성함 -와,
    (1) 상기 적어도 하나의 검색 질의 단어에 대한 상기 관련 패싯들- 상기 관련 패싯들은 상기 백 엔드 서버에 의해 재호출되는 상기 적어도 하나의 검색 질의 단어를 사용하여 상기 백 엔드 서버에 의해 생성됨 -과,
    (2) 상기 적어도 하나의 검색 질의 단어 및 상기 적어도 하나의 검색 질의에 대한 상기 서브 패싯들- 상기 관련 패싯들은 상기 백 엔드 서버에 의해 재호출되는 상기 적어도 하나의 검색 질의 단어 및 상기 관련 패싯을 사용하여 상기 백 엔드 서버에 의해 생성됨 -과,
    (3) 상기 수신된 일련의 검색 결과
    를 디스플레이하는 단계
    를 포함하는, 메모리 장치.
  8. 제 7 항에 있어서,
    상기 방법은 상기 적어도 하나의 검색 질의 단어를 데이터베이스에 저장하는 단계를 더 포함하는, 메모리 장치.
  9. 제 8 항에 있어서,
    상기 방법은 상기 선택된 관련 패싯을 데이터베이스에 저장하는 단계를 더 포함하는
    메모리 장치.
  10. 제 7 항에 있어서,
    상기 서브 패싯들 및 상기 관련 패싯들은 웹 브라우저에 디스플레이되는
    메모리 장치.
  11. 제 7 항에 있어서,
    상기 방법은 적어도 하나의 관련 패싯과 함께 상기 적어도 하나의 검색 질의 단어에 대한 일련의 검색 결과를 수신하고 디스플레이하는 단계를 더 포함하는
    메모리 장치.
  12. 제 7 항에 있어서,
    상기 방법은 적어도 하나의 정적 패싯을 디스플레이하는 단계를 더 포함하며,
    상기 정적 패싯은 상기 사용자가 상기 적어도 하나의 검색 질의 단어를 리파인할 수 있게 해주는
    메모리 장치.
  13. 사용자 검색 질의에 관련된 패싯들을 탐색하기 위한 사용자 인터페이스를 제공하는 컴퓨터화된 시스템으로서- 상기 사용자 검색 질의의 상태는 유지됨 -,
    상기 시스템은
    사용자로부터 수신된 적어도 하나의 검색 질의 단어에 대한 관련 패싯들을 생성하고- 상기 패싯은 상기 적어도 하나의 검색 질의 단어에 관련된 일련의 토픽을 분류함 -,
    프론트 엔드 엔진에 의해 재호출되는 상기 적어도 하나의 검색 질의 단어를 사용하여 적어도 하나의 검색 질의 단어에 대한 관련 패싯들을 생성하고,
    상기 적어도 하나의 검색 질의 단어 및 리파인된 질의로서의 선택된 관련 패싯 입력에 기초한 일련의 검색 결과를 생성- 상기 리파인된 질의가 실행되어 상기 일련의 검색 결과를 생성함-
    하도록 구성된 백 엔드 서버, 및
    상기 프론트 엔드 엔진
    을 포함하되,
    상기 프론트 엔드 엔진은
    상기 적어도 하나의 검색 질의 단어에 대한 관련 패싯들을 수신하고,
    상기 적어도 하나의 검색 질의 단어 및 상기 선택된 관련 패싯을 상기 백 엔드 서버에 전송하고,
    상기 적어도 하나의 검색 질의 단어 및 상기 리파인된 질의로서의 상기 선택된 관련 패싯 입력에 기초한 상기 일련의 검색 결과를 수신하고- 상기 리파인된 질의가 실행되어 상기 일련의 검색 결과를 생성함 -,
    상기 적어도 하나의 검색 질의 단어에 대한 상기 관련 패싯들을 유지하고- 상기 관련 패싯들은 상기 프론트 엔드 엔진에 의해 재호출되는 상기 적어도 하나의 검색 질의 단어를 사용하여 상기 백 엔드 서버에 의해 생성됨 -
    (1) 상기 적어도 하나의 검색 질의 단어에 대해 유지된 상기 관련 패싯들, 및
    (2) 상기 수신된 일련의 검색 결과
    를 디스플레이하도록 구성된
    시스템.
  14. 제 13 항에 있어서,
    상기 시스템은 상기 적어도 하나의 검색 질의 단어를 저장하도록 구성된 데이터베이스를 더 포함하는
    시스템.
  15. 제 13 항에 있어서,
    상기 프론트 엔드 엔진은
    상기 백 엔드 서버로부터 상기 관련 패싯들과 함께 상기 적어도 하나의 검색 질의 단어에 대한 일련의 검색 결과를 수신하고,
    상기 관련 패싯들과 함께 상기 적어도 하나의 검색 질의 단어에 대한 상기 일련의 검색 결과를 디스플레이하도록 구성된
    시스템.
  16. 제 13 항에 있어서,
    상기 프론트 엔드 엔진은 상기 선택된 관련 패싯을 상기 백 엔드 서버로 전송하도록 구성된
    시스템.
  17. 제 13 항에 있어서,
    상기 백 엔드 서버는
    상기 적어도 하나의 검색 질의 단어 및 상기 선택된 관련 패싯에 대한 서브 패싯들을 생성하고- 상기 서브 패싯들 각각은, 상기 적어도 하나의 검색 질의 단어 및 상기 선택된 관련 패싯에 관련된 일련의 서브 토픽들을 분류하고 상기 사용자가 상기 적어도 하나의 검색 질의 단어를 더 리파인할 수 있게 함 -,
    상기 적어도 하나의 검색 질의 단어 및 상기 적어도 하나의 검색 질의에 대한 서브 패싯들을 생성하고- 상기 관련 패싯들은 상기 프론트 엔드 엔진에 의해 재호출되는 상기 적어도 하나의 검색 질의 단어 및 상기 관련 패싯을 사용하여 상기 백 엔드 서버에 의해 생성됨 -,
    상기 적어도 하나의 검색 질의 단어, 상기 선택된 관련 패싯, 및 서브 패싯 리파인된 질의로서의 선택된 서브 패싯 입력에 기초한 일련의 검색 결과를 생성- 상기 서브 패싯 리파인된 질의가 실행되어 상기 일련의 검색 결과를 생성함 -하도록 더 구성된
    시스템.
  18. 제 14 항에 있어서,
    상기 프론트 엔드 엔진은
    상기 적어도 하나의 검색 질의 단어 및 상기 선택된 관련 패싯에 대한 서브 패싯들을 수신하고,
    상기 적어도 하나의 검색 질의 단어, 상기 선택된 관련 패싯, 및 선택된 서브 패싯을 상기 백 엔드 서버에 전송하고,
    상기 적어도 하나의 검색 질의 단어, 상기 선택된 관련 패싯, 및 서브 패싯의 리파인된 질의로서의 선택된 서브 패싯 입력에 기초한 일련의 검색 결과를 수신하고- 상기 리파인된 질의가 실행되어 상기 일련의 검색 결과를 생성함 -,
    (1) 상기 적어도 하나의 검색 질의 단어에 대한 상기 관련 패싯들- 상기 관련 패싯들은 상기 프론트 엔드 서버에 의해 재호출되는 상기 적어도 하나의 검색 질의 단어를 사용하여 상기 백 엔드 서버에 의해 생성됨 -과,
    (2) 상기 적어도 하나의 검색 질의 단어 및 상기 적어도 하나의 검색 질의에 대한 상기 서브 패싯들- 상기 관련 패싯들은 상기 프론트 엔드 서버에 의해 재호출되는 상기 적어도 하나의 검색 질의 단어 및 상기 관련 패싯을 사용하여 상기 백 엔드 서버에 의해 생성됨 -
    을 디스플레이하도록 구성된
    시스템.
  19. 제 13 항에 있어서,
    상기 프론트 엔드 엔진은 웹 브라우저를 더 포함하는
    시스템.
  20. 제 13 항에 있어서,
    상기 프론트 엔드 엔진은 적어도 하나의 정적 패싯을 디스플레이하도록 더 구성되며, 상기 정적 패싯은 상기 사용자가 상기 적어도 하나의 검색 질의 단어를 리파인할 수 있게 해주는
    시스템.
KR1020127005707A 2009-09-04 2010-08-27 검색 질의 리파인먼트를 위한 컨텐츠 테이블 KR101702691B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US12/554,466 US8694505B2 (en) 2009-09-04 2009-09-04 Table of contents for search query refinement
US12/554,466 2009-09-04
PCT/US2010/046878 WO2011028631A2 (en) 2009-09-04 2010-08-27 Table of contents for search query refinement

Publications (2)

Publication Number Publication Date
KR20120073222A KR20120073222A (ko) 2012-07-04
KR101702691B1 true KR101702691B1 (ko) 2017-02-03

Family

ID=43648488

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020127005707A KR101702691B1 (ko) 2009-09-04 2010-08-27 검색 질의 리파인먼트를 위한 컨텐츠 테이블

Country Status (13)

Country Link
US (2) US8694505B2 (ko)
EP (1) EP2473937B1 (ko)
JP (1) JP2013504122A (ko)
KR (1) KR101702691B1 (ko)
CN (1) CN102483764B (ko)
AU (1) AU2010289713B2 (ko)
BR (1) BR112012004906B1 (ko)
CA (1) CA2770053C (ko)
IL (1) IL217873A (ko)
MX (1) MX2012002760A (ko)
RU (1) RU2560815C2 (ko)
SG (1) SG178217A1 (ko)
WO (1) WO2011028631A2 (ko)

Families Citing this family (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090157631A1 (en) * 2006-12-14 2009-06-18 Jason Coleman Database search enhancements
WO2011053755A1 (en) * 2009-10-30 2011-05-05 Evri, Inc. Improving keyword-based search engine results using enhanced query strategies
US8340895B2 (en) * 2009-11-05 2012-12-25 Mitac International Corp. Method of performing mixed category and point of interest search and related personal navigation device
US8392449B2 (en) * 2009-12-08 2013-03-05 Google Inc. Resource search operations
US9189550B2 (en) * 2011-11-17 2015-11-17 Microsoft Technology Licensing, Llc Query refinement in a browser toolbar
US9594540B1 (en) * 2012-01-06 2017-03-14 A9.Com, Inc. Techniques for providing item information by expanding item facets
US9141707B2 (en) 2012-07-19 2015-09-22 Facebook, Inc. Context-based object retrieval in a social networking system
US8935299B2 (en) 2012-07-19 2015-01-13 Facebook, Inc. Identifying relevant data for pages in a social networking system
US20140181070A1 (en) * 2012-12-21 2014-06-26 Microsoft Corporation People searches using images
US9424294B2 (en) 2013-12-02 2016-08-23 Qbase, LLC Method for facet searching and search suggestions
JP2017505936A (ja) * 2013-12-02 2017-02-23 キューベース リミテッド ライアビリティ カンパニー インメモリデータベースをホストするシステム及び方法
RU2014125471A (ru) 2014-06-24 2015-12-27 Общество С Ограниченной Ответственностью "Яндекс" Способ обработки поискового запроса и сервер
US20160026643A1 (en) * 2014-07-23 2016-01-28 Linkedin Corporation Presenting suggested facets
US10691760B2 (en) * 2014-11-06 2020-06-23 Microsoft Technology Licensing, Llc Guided search
CN104699750A (zh) * 2014-12-26 2015-06-10 北京奇虎科技有限公司 话题推荐方法及装置
USD769932S1 (en) * 2015-01-20 2016-10-25 Microsoft Corporation Display screen with animated graphical user interface
US10169488B2 (en) * 2015-02-20 2019-01-01 Google Llc Methods, systems, and media for providing search suggestions based on content ratings of search results
US10318562B2 (en) * 2016-07-27 2019-06-11 Google Llc Triggering application information
US11176189B1 (en) * 2016-12-29 2021-11-16 Shutterstock, Inc. Relevance feedback with faceted search interface
RU2666331C1 (ru) * 2017-04-04 2018-09-06 Общество С Ограниченной Ответственностью "Яндекс" Способ и система для создания оффлайн страницы результатов поиска
US10956470B2 (en) * 2018-06-26 2021-03-23 International Business Machines Corporation Facet-based query refinement based on multiple query interpretations
US11361030B2 (en) * 2019-11-27 2022-06-14 International Business Machines Corporation Positive/negative facet identification in similar documents to search context

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070233654A1 (en) 2006-03-30 2007-10-04 Microsoft Corporation Facet-based interface for mobile search
US20080243778A1 (en) 2007-03-30 2008-10-02 International Business Machines Corporation Cube faceted data analysis

Family Cites Families (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AUPQ131399A0 (en) 1999-06-30 1999-07-22 Silverbrook Research Pty Ltd A method and apparatus (NPAGE02)
US5924090A (en) 1997-05-01 1999-07-13 Northern Light Technology Llc Method and apparatus for searching a database of records
US6385602B1 (en) * 1998-11-03 2002-05-07 E-Centives, Inc. Presentation of search results using dynamic categorization
US6519586B2 (en) * 1999-08-06 2003-02-11 Compaq Computer Corporation Method and apparatus for automatic construction of faceted terminological feedback for document retrieval
US7493315B2 (en) * 2000-11-15 2009-02-17 Kooltorch, L.L.C. Apparatus and methods for organizing and/or presenting data
EP1485825A4 (en) 2002-02-04 2008-03-19 Cataphora Inc DETAILED EXPLORATION TECHNIQUE OF SOCIOLOGICAL DATA AND CORRESPONDING APPARATUS
US8195631B2 (en) * 2002-12-23 2012-06-05 Sap Ag Resource finder tool
US8856163B2 (en) * 2003-07-28 2014-10-07 Google Inc. System and method for providing a user interface with search query broadening
US7849090B2 (en) 2005-03-30 2010-12-07 Primal Fusion Inc. System, method and computer program for faceted classification synthesis
NO20052215L (no) 2005-05-06 2006-11-07 Fast Search & Transfer Asa Fremgangsmate til bestemmelse av kontekstuell sammendragsinformasjon over dokumenter
US7502810B2 (en) * 2005-05-24 2009-03-10 International Business Machines Corporation Tagging of facet elements in a facet tree
US7774383B2 (en) * 2005-05-24 2010-08-10 International Business Machines Corporation Displaying facet tree elements and logging facet element item counts to a sequence document
US20060294071A1 (en) * 2005-06-28 2006-12-28 Microsoft Corporation Facet extraction and user feedback for ranking improvement and personalization
EP1909804B1 (en) * 2005-08-03 2012-02-29 National Cancer Center Glucosamine and derivatives thereof useful as transglutaminase inhibitors in the treatment of a nervous system disorder
US7668825B2 (en) 2005-08-26 2010-02-23 Convera Corporation Search system and method
US20070067275A1 (en) 2005-09-20 2007-03-22 Microsoft Corporation Context sensitive web search queries
US8161044B2 (en) * 2005-10-26 2012-04-17 International Business Machines Corporation Faceted web searches of user preferred categories throughout one or more taxonomies
US20070185836A1 (en) * 2006-02-09 2007-08-09 Handy-Bosma John H Method for caching faceted search results
US7861149B2 (en) 2006-03-09 2010-12-28 Microsoft Corporation Key phrase navigation map for document navigation
JP2007172571A (ja) * 2006-04-20 2007-07-05 Shoji Kodama 情報検索システム及び方法
US10789323B2 (en) * 2006-10-02 2020-09-29 Adobe Inc. System and method for active browsing
NO325864B1 (no) 2006-11-07 2008-08-04 Fast Search & Transfer Asa Fremgangsmåte ved beregning av sammendragsinformasjon og en søkemotor for å støtte og implementere fremgangsmåten
US7917493B2 (en) 2007-04-19 2011-03-29 Retrevo Inc. Indexing and searching product identifiers
KR20080096134A (ko) * 2007-04-27 2008-10-30 엘지전자 주식회사 이동통신 단말기 및 그 웹페이지 제어방법
JP4436894B2 (ja) * 2007-08-09 2010-03-24 パナソニック株式会社 コンテンツ検索装置
US8145660B2 (en) 2007-10-05 2012-03-27 Fujitsu Limited Implementing an expanded search and providing expanded search results
US9251279B2 (en) * 2007-10-10 2016-02-02 Skyword Inc. Methods and systems for using community defined facets or facet values in computer networks
US8078628B2 (en) * 2008-03-12 2011-12-13 International Business Machines Corporation Streaming faceted search
US20090292674A1 (en) * 2008-05-22 2009-11-26 Yahoo! Inc. Parameterized search context interface
CN101408897B (zh) * 2008-10-10 2011-03-30 清华大学 一种基于协作过滤的个性化查询扩展方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070233654A1 (en) 2006-03-30 2007-10-04 Microsoft Corporation Facet-based interface for mobile search
US20080243778A1 (en) 2007-03-30 2008-10-02 International Business Machines Corporation Cube faceted data analysis

Also Published As

Publication number Publication date
CA2770053A1 (en) 2011-03-10
CN102483764A (zh) 2012-05-30
US10162869B2 (en) 2018-12-25
US8694505B2 (en) 2014-04-08
US20110060752A1 (en) 2011-03-10
AU2010289713A1 (en) 2012-02-23
EP2473937B1 (en) 2018-11-21
BR112012004906A2 (pt) 2016-04-05
MX2012002760A (es) 2012-04-19
IL217873A0 (en) 2012-03-29
US20140195521A1 (en) 2014-07-10
SG178217A1 (en) 2012-03-29
BR112012004906B1 (pt) 2020-09-29
RU2012108087A (ru) 2013-09-10
WO2011028631A2 (en) 2011-03-10
EP2473937A2 (en) 2012-07-11
WO2011028631A3 (en) 2011-06-16
RU2560815C2 (ru) 2015-08-20
AU2010289713B2 (en) 2014-05-15
CN102483764B (zh) 2015-06-17
JP2013504122A (ja) 2013-02-04
KR20120073222A (ko) 2012-07-04
EP2473937A4 (en) 2016-10-05
IL217873A (en) 2016-06-30
CA2770053C (en) 2019-07-09

Similar Documents

Publication Publication Date Title
KR101702691B1 (ko) 검색 질의 리파인먼트를 위한 컨텐츠 테이블
US8799280B2 (en) Personalized navigation using a search engine
US11822560B2 (en) Rank query results for relevance utilizing external context
CA2717462C (en) Query templates and labeled search tip system, methods, and techniques
US9141656B1 (en) Searching using access controls
US20080319944A1 (en) User interfaces to perform multiple query searches
US7890503B2 (en) Method and system for performing secondary search actions based on primary search result attributes
US20090006358A1 (en) Search results
US8577875B2 (en) Presenting search results ordered using user preferences
US9892096B2 (en) Contextual hyperlink insertion
US20090006324A1 (en) Multiple monitor/multiple party searches
US7818341B2 (en) Using scenario-related information to customize user experiences
KR20100022459A (ko) 검색 엔진 결과 및 목록의 디스플레이
US20090171941A1 (en) Adaptive searching
JP2010257453A (ja) サーチクエリデータを用いて文書にタグ付けするシステム
US20180349500A1 (en) Search engine results for low-frequency queries
JP5696213B2 (ja) コンテキストベースでのアイテムのブックマーキング
US8583682B2 (en) Peer-to-peer web search using tagged resources
US9311362B1 (en) Personal knowledge panel interface
US11250076B1 (en) Topical search portal
CN109074399B (zh) 计算机网络中的个性化内容建议

Legal Events

Date Code Title Description
N231 Notification of change of applicant
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
FPAY Annual fee payment

Payment date: 20200103

Year of fee payment: 4