KR20060044299A - 사용자의 검색 의도를 결정하기 위한 시스템, 방법 및 컴퓨터 판독 가능 매체 - Google Patents

사용자의 검색 의도를 결정하기 위한 시스템, 방법 및 컴퓨터 판독 가능 매체 Download PDF

Info

Publication number
KR20060044299A
KR20060044299A KR1020050019642A KR20050019642A KR20060044299A KR 20060044299 A KR20060044299 A KR 20060044299A KR 1020050019642 A KR1020050019642 A KR 1020050019642A KR 20050019642 A KR20050019642 A KR 20050019642A KR 20060044299 A KR20060044299 A KR 20060044299A
Authority
KR
South Korea
Prior art keywords
user
query
queries
objects
result set
Prior art date
Application number
KR1020050019642A
Other languages
English (en)
Other versions
KR101120678B1 (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 KR20060044299A publication Critical patent/KR20060044299A/ko
Application granted granted Critical
Publication of KR101120678B1 publication Critical patent/KR101120678B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/953Querying, e.g. by the use of web search engines
    • G06F16/9535Search customisation based on user profiles and personalisation
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01BMEASURING LENGTH, THICKNESS OR SIMILAR LINEAR DIMENSIONS; MEASURING ANGLES; MEASURING AREAS; MEASURING IRREGULARITIES OF SURFACES OR CONTOURS
    • G01B5/00Measuring arrangements characterised by the use of mechanical techniques
    • G01B5/24Measuring arrangements characterised by the use of mechanical techniques for measuring angles or tapers; for testing the alignment of axes
    • G01B5/255Measuring arrangements characterised by the use of mechanical techniques for measuring angles or tapers; for testing the alignment of axes for testing wheel alignment
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60SSERVICING, CLEANING, REPAIRING, SUPPORTING, LIFTING, OR MANOEUVRING OF VEHICLES, NOT OTHERWISE PROVIDED FOR
    • B60S9/00Ground-engaging vehicle fittings for supporting, lifting, or manoeuvring the vehicle, wholly or in part, e.g. built-in jacks
    • B60S9/02Ground-engaging vehicle fittings for supporting, lifting, or manoeuvring the vehicle, wholly or in part, e.g. built-in jacks for only lifting or supporting
    • B60S9/04Ground-engaging vehicle fittings for supporting, lifting, or manoeuvring the vehicle, wholly or in part, e.g. built-in jacks for only lifting or supporting mechanically
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01BMEASURING LENGTH, THICKNESS OR SIMILAR LINEAR DIMENSIONS; MEASURING ANGLES; MEASURING AREAS; MEASURING IRREGULARITIES OF SURFACES OR CONTOURS
    • G01B5/00Measuring arrangements characterised by the use of mechanical techniques
    • G01B5/0002Arrangements for supporting, fixing or guiding the measuring instrument or the object to be measured
    • G01B5/0007Surface plates
    • 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
    • G01MEASURING; TESTING
    • G01BMEASURING LENGTH, THICKNESS OR SIMILAR LINEAR DIMENSIONS; MEASURING ANGLES; MEASURING AREAS; MEASURING IRREGULARITIES OF SURFACES OR CONTOURS
    • G01B2210/00Aspects not specifically covered by any group under G01B, e.g. of wheel alignment, caliper-like sensors
    • G01B2210/10Wheel alignment
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99931Database or file accessing
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99931Database or file accessing
    • Y10S707/99933Query processing, i.e. searching
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99931Database or file accessing
    • Y10S707/99933Query processing, i.e. searching
    • Y10S707/99934Query formulation, input preparation, or translation

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • General Engineering & Computer Science (AREA)
  • Computational Linguistics (AREA)
  • Mathematical Physics (AREA)
  • Mechanical Engineering (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

사용자의 검색 질의가 주어지고 사용자의 의도를 판단하는 것을 용이하게 하는 시스템(100)은 사용자의 검색 결과 집합을 검색하기 위해 데이터 저장 장치 내의 객체들의 컬렉션을 검색하도록 사용되는 검색 엔진을 포함한다. 결과 집합 내의 객체들은 그러한 객체들을 위치 지정하기 위해 이전에 이용된 질의들과 연관된다. 이전 질의들 및 사용자 검색 질의 사이의 관련성 레벨이 판단되고, 사용자 검색 결과 집합에 대해 신규하지만 관련된 결과 집합과 연관된 이전 질의들이 사용자에게 반환된다.
의도, 사용자의 의도, 검색 엔진, 최대 한계 관련성

Description

사용자의 검색 의도를 결정하기 위한 시스템, 방법 및 컴퓨터 판독 가능 매체{SYSTEM, METHOD AND COMPUTER READABLE MEDIA FOR DETERMINING USER'S SEARCH INTENT}
도 1은 본 발명의 하나의 태양에 따라서 사용자의 검색 의도(search intent of a user)에 대한 결정을 용이하게 하는 시스템의 블록도.
도 2는 본 발명의 하나의 태양에 따라서 사용자의 검색 의도에 대한 결정을 용이하게 하는 시스템의 블록도.
도 3은 본 발명의 하나의 태양에 따라서 사용자의 검색 의도에 대한 결정을 용이하게 하는 시스템의 다른 블록도.
도 4는 본 발명의 하나의 태양에 따라서 사용자의 검색 의도에 대한 결정을 용이하게 하는 시스템의 다른 블록도.
도 5는 본 발명의 하나의 태양에 따라서 사용자의 검색 의도에 대한 결정을 용이하게 하는 시스템의 또 다른 블록도.
도 6은 본 발명의 하나의 태양에 따라서 사용자의 검색 의도에 대한 결정을 위한 방법을 도시하는 대표적인 흐름도.
도 7은 본 발명의 하나의 태양에 따라서 사용자의 검색 의도에 대한 결정을 위한 방법을 도시하는 대표적인 흐름도.
도 8은 본 발명의 하나의 태양에 따라서 사용자의 검색 의도에 대한 결정을 위한 방법을 도시하는 대표적인 흐름도.
도 9는 본 발명의 하나의 태양에 따라서 질의에 연관된 결과 집합(result set)을 분할하는 예의 도면.
도 10은 본 발명의 하나의 태양에 따라서 질의에 연관된 결과 집합을 분할하는 다른 예의 도면.
도 11은 본 발명의 하나의 태양에 따라서 결과 집합을 정렬하는 예의 도면.
도 12는 본 발명의 하나의 태양에 따라서 사용자 검색 질의에 지엽적으로 관련된 질의를 검색할 수 있는 방법도.
도 13은 본 발명의 일 실시예의 도면.
도 14는 본 발명의 다른 일 실시예의 도면.
도 15는 본 발명의 또 다른 일 실시예의 도면.
도 16은 본 발명의 또 다른 일 실시예의 도면.
도 17은 본 발명이 기능할 수 있는 예시적 운영 환경에 대한 도면.
도 18은 본 발명이 기능할 수 있는 다른 예시적 운영 환경에 대한 도면.
본 발명은 일반적으로 객체의 컬렉션(collection of objects)을 검색하는 것에 관련된 것으로 더욱 구체적으로는, 사용자 질의의 반환 결과(return result)와 부분적으로 중첩하는 반환 결과에 대응하는 질의들을 사용자에게 제공함으로써, 사용자의 질의와 관련하여 사용자의 의도를 결정하는 것을 용이하게 하는 시스템 및 방법에 관련된 것이다.
고가의 저성능 데이터 프로세싱 시스템으로부터 저가이면서 고성능인 통신, 문제 해결 및 엔터테인먼트 시스템으로의 컴퓨터와 네트워크 기술의 진화는, 서신, 청구비 지급, 쇼핑, 예산 할당 및 정보 수집과 같은 일상사를 행하는 부담을 덜어주기 위해 비용면에서 효율적이고 시간을 절약해주는 방법을 제공하여 왔다. 예를 들어, 유선 또는 무선 기술을 사용한 인터넷 인터페이스 컴퓨팅 시스템에 의해, 사용자는 손가락만 움직여서도, 세계 어느 곳에 위치한 웹 사이트 및 서버의 저장소(repository)로부터의 풍부한 정보에 대해 거의 즉각적인 액세스 채널을 제공받을 수 있다.
일반적으로, 웹 사이트 및 서버를 통해 접근 가능한 정보는 웹 클라이언트 (예를 들어, 컴퓨터) 상에서 실행되는 웹 브라우저를 통해 액세스 된다. 예를 들어, 웹 사용자는 웹 브라우저를 사용하여 웹 사이트 URL(Uniform Resource Locator)(예를 들어, 웹 주소, 인터넷 주소, 인트라넷 주소 등)을 웹 브라우저의 주소창에 입력하고 키보드 상의 엔터키를 누르거나 마우스로 "go" 버튼을 클릭함으로써, 웹 사이트에 액세스할 수 있다. URL은 액세스를 용이하게 하는 네 부분으로 이루어진 정보를 일반적으로 포함하는데, 정보 교환을 위한 규칙과 표준의 집합을 나타내는 프로토콜(컴퓨터가 서로 통신하기 위한 컴퓨터 언어), 웹 사이트에 대한 위치(location), 웹 사이트를 유지하는 기관명 및 기관의 종류를 식별하는 서픽스 (suffix)(예를 들어, com, org, net, gov 및 edu)가 그것이다.
몇몇 예에 있어서, 사용자는 사용자가 액세스하고자 하는 사이트 또는 서버에 대한 URL을 선험적으로(a priori) 안다. 그런 경우에 있어서, 사용자는 상술한 것과 같이 URL을 주소창에 입력하고 사이트에 접속하여 사이트에 액세스할 수 있다. 다른 경우는, 사용자는 액세스하고자 하는 특정 사이트를 알지만 그런 사이트에 대한 URL을 모를 수 있다. 사이트에 위치 지정하기(locate) 위해, 사용자는 그런 사이트를 검색하기 위해서 검색 엔진에 사이트 명을 단순히 입력할 수 있다. 그러나 대부분의 경우에 있어서, 사용자는 특정 주제에 관련된 정보를 단순히 검색할 뿐, 원하는 정보를 포함하는 사이트 명을 알지 못한다. 그러한 정보를 위치 지정하기 위해, 사용자는 사용자에 의해 제공된 질의들에 기초한 정보를 위치 지정하는 것을 용이하게 하기 위해서 검색 기능(예를 들어, 검색 엔진)을 사용한다. 그러나 원하는 정보를 위치 지정할 질의를 생성하는 것은 일반적인 검색을 하는 사용자에게는 어려울 수 있다. 더욱 구체적으로, 사용자의 의도(예를 들어, 사용자가 위치 지정하도록 의도한 정보)를 충분히 나타내는 질의를 제공하는 것은 대부분의 사용자에게 어려운 일이다. 예를 들어, 경험적인 데이터는 대부분의 검색 질의들은, 대략 길이 면에서 두 개의 단어로 되어 있다는 것을 보여주는데, 이는 질의에 기초한 특정 정보를 위치 지정하기에는 일반적으로 불충분하다(예를 들어, 질의들은 얻고자하는 정보와 관련하여 특정적이지 못함).
현재, 주어진 특정적이지 못한 질의(underspecified query)에 대하여, 검색을 좁혀 사용자를 보조하기 위해 검색 엔진에 의해 사용된 다수의 기술들이 존재한 다. 첫 번째 접근 방식은 데이터베이스(예를 들어, 인터넷 상의 사이트들) 내의 객체들을 사람이 논리 계층 구조(hierarchical shell)로 분류하도록 한다. 그러한 시스템들은 효율적이면서도 매우 정확하게 검색될 수 있지만, 계층 구조로 각각의 객체를 정렬하기 위해서 필요한 사람의 노력의 측면에서 볼 때, 시스템의 구축은 비용이 많이 든다. 나아가 이런 기술은 객체들이 분류되지 않는 동안에는 검색할 수 없기 때문에 많은 사용자를 충분히 커버할 수 없다. 이와 별개의 접근 방식은 계층 구조로 객체들을 자동적으로 분류하기 위해 기계 학습 텍스트 분류(machine-learned text classification)를 이용할 것이다. 이 접근 방식은 커버할 수 있는 범위의 면에 있어서 유용하며, 이러한 접근을 사용하는 시스템은 비용이 적게 든다(예를 들어, 수많은 사람들이 지속적으로 계층 구조에 객체를 집어넣을 필요가 없음). 그러나 계층 구조가 만들어져야 하고 그러한 텍스트 분류 방식은 정적이며 다양한 사용자의 요구(needs)를 충족하기 위해 변경될 수 없다. 더욱이 이러한 기술을 이용하여 만들어진 시스템이 시간의 변화에 적응하기 위해서는 계층을 재정렬하는데 상당한 비용이 소요된다.
종래의 검색 엔진은 또한 상기한 결점들을 보완하기 위해서 클러스터링(clustring) 기술을 이용한다. 예를 들어, 검색 질의와 관련하여 더욱 관계가 있는 결과를 얻는 것을 용이하게 하도록 사이트들은 클러스터될 수 있다. "이것과 더욱 비슷한" 것으로 명명된 링크는 반환 결과(returned result)와 연관될 수 있고, 링크를 선택함으로써 "이것과 더욱 비슷한" 링크와 연관된 클러스터 내에서의 문서를 더욱 클러스트링 및/또는 디스플레이하는 것을 용이하도록 할 수 있다. 그 러나 질의를 통해서 위치 지정된 관련 문서(및 그에 따른 관계가 있는 클러스터)는, 그 문서가 질의와 깊이 관련되지 않음 나타내는 위치로 사용자에게 반환될 수 있다. 따라서 사용자는 사용자가 찾고자 의도한 정보를 위치 지정하기 위해서 문서의 여러 페이지를 다 읽어야 할 수 있다. 더욱이 문서의 불변 클러스터링(constant clustering)은 계산적으로 비용이 많이 든다.
종래의 검색 엔진이 사용하는 다른 예시적 시스템은, 사용자가 입력한 질의가 어떠한 문서도 반환하지 않을 경우에 질의를 제공하는 것이다. 예를 들어, 사용자는 모차르트의 초기 작품과 관계된 정보를 찾고자 할 수 있다. 사용자는 일반적으로 "classical music"의 특정적이지 못한 질의를 입력하려고 할 수 있다. 그러나 만약 질의 "clsscal music"을 실수로 입력하면, 검색 엔진은 질의를 이용하여 어떤 문서도 반환할 수 없다고 판단할 수 있다(질의의 오타 때문). 그 후 검색 엔진은 검색 엔진이 찾은 것이 입력된 질의와 실질적으로 유사하다는 질의를 사용자에게 물을 수 있다. 예를 들어, 검색 엔진은 사용자에게 "'classical music'을 의미한 것입니까?"라고 물을 수 있다. 만약 사용자가 긍정적으로 대답하면, 수정된 질의가 실행되고 결과들을 얻을 수 있다. 이러한 시스템들은 오타 및 잘못된 철자를 수정하는 것과 관련하여 유용하지만, 모차르트의 초기 작품(사용자의 실제 의도)과 밀접한 관계가 있는 결과를 제공하지는 않는다. 오히려 사용자에게는 모차르트의 초기 작품인 아닌 클래식 음악과 관련된 수많은 양의 정보로 넘쳐나게 될 것이다. 예를 들어, 사용자는 원하는 정보를 포함하는 문서에 위치 지정하기 전에 수백 가지의 리스트들을 살펴보아야 할 것이다.
따라서 사용자가 사용자의 의도에 따른 결과를 얻을 수 있는 질의를 이용하도록 보조하는 검색 시스템 및/또는 방법에 대한 필요성이 당해 기술 분야에서 대두된다.
이하에서는 본 발명의 몇 가지 태양에 대한 기초적인 이해를 제공하기 위한 발명의 간단한 요약을 제공한다. 이 요약은 본 발명의 상세한 개괄이 아니다. 본 발명의 중대한 요소를 식별하거나 또는 본 발명의 범위를 정하도록 의도된 것이 아니다. 유일한 목적은 이하에 상술할 것에 대한 서론으로서 본 발명의 개념을 단순한 형태로 제시하기 위한 것이다.
본 발명은, 사용자들이 마음속에 있는 생각들을 사용자 검색 질의로 옮기는 것에 대해 일반적으로 어려움을 겪는다는, 발명자의 인식에 기초한 것이다. 더욱 구체적으로, 개인은 찾고자 의도한 데이터 저장 장치(예를 들어, 인터넷) 내의 객체들을 위치 지정할 수 있는 질의를 생성하는데 어려움을 갖는다. 본 발명은 바람직하게 검색되어야 하는 객체와 관련된 사용자의 의도를 발견하도록 사용자를 보조하는 것에 관한 것이다. 이것은 검색되어지는 데이터 저장 장치 내의 각각의 객체와 그러한 객체(들)를 위치 지정하도록 이전에 사용된 질의들을 연관시킴으로써 성취될 수 있다. 예를 들어, 몇 개의 별개 질의들이 실질적으로 유사한 객체를 찾기 위해서 사용될 수 있다. 따라서 매번, 객체가 하나의 질의를 통해 액세스되고, 그러한 질의가 객체와 연관된다. 예를 들어, 검색 엔진에 입력된 각각의 질의(또는 그것에 관한 서명)가 저장될 수 있고, 그러한 질의들에 의해 위치 지정된 객체들( 결과 집합들)은 유사한 방법으로 저장될 수 있다. 그러나, 객체들을 그러한 객체들을 위치 지정하도록 이전에 사용된 질의들과 연관시키는 어떠한 방식도 본 발명에 의해 예기된다는 것을 이해하여야 한다.
검색 구성 요소는 사용자 질의를 수신받고 그러한 사용자의 질의에 따른 객체들을 위해 데이터 저장 장치를 검색한다. 반환된 객체들의 컬렉션은 질의에 대한 결과 집합을 생성한다. 본 발명의 하나의 태양에 따라, 결과 집합은 상위 랭크된 객체의 임계치 개수로 제한될 수 있다. 이것은 사용자 질의를 이용하는 검색이 수많은(예를 들어, 수백만 개) 객체들을 반환할 경우에 유용하다. 결과 질의 내의 객체들은 검토되고, 그러한 객체들을 위치 지정하기 위해 사용된 이전의 질의들이 고려된다. 이러한 이전의 질의들은 또한 결과 집합(예를 들어, 검색이 이전의 질의들을 이용하여 수행된 경우 반환된 객체들의 컬렉션)과 연관된다. 본 발명의 목적은 사용자 검색 질의의 결과 집합과 관련되지만, 그것과 실질적으로 유사하지 않은 결과 집합을 갖는 이전의 질의들을 선택하고, 사용자에게 그러한 질의들을 디스플레이하는 것이다. 그러나 실질적으로 유사한 결과 집합들을 갖는 이전 질의들은 사용자에게 동시에 디스플레이되지 않는다. 이것은 실질적으로 유사한 결과 집합들을 갖는 이전 질의들을 디스플레이하는 것은 검색과 관련하여 사용자를 보조할 수 없기 때문이다. 오히려 사용자에게는 유사한 질의들로 넘쳐나게 될 것이다. 관계가 있는 이전 질의들이 디스플레이된 후, 사용자는 이전 질의들을 검토하고, 사용자 검색 질의와 비교하였을 경우 하나 이상의 이전 질의가 그/그녀의 의도를 더욱 잘 나타내는지를 결정할 수 있다. 나아가 사용자는 그러한 질의들과 연관된 결과 집합을 검토하기 위해 디스플레이된 이전 질의를 선택할 수 있다. 따라서 사용자는 그러한 객체들을 위치 지정하기 위해 이전에 사용된 질의들을 이용하여 원하는 객체를 빠르게 위치 지정할 수 있다.
본 발명의 하나의 구체적인 태양에 따를 때, 사용자의 검색 질의 및 이전 질의 사이의 거리 메트릭(distance metric)은 사용자에게 디스플레이하기 위한 질의들을 결정하는데 사용된다. 이러한 거리 메트릭은 검색 질의의 반환 집합들 및 이전 질의들의 반환 집합들에 기초하여 결정된다. 거리 메트릭을 결정함에 있어서, 사용자 검색 질의의 결과 집합과 관련되고 그러한 사용자 검색 질의의 결과 집합과 비교하였을 경우 신규한 결과 집합들을 갖는 이전의 질의를 위치 지정하기 위해 수정된 최대 한계 관련성 방식(modified maximal marginal relevance scheme)이 이용될 수 있다. 더욱 구체적으로, 사용자 검색 질의의 결과 집합 내의 객체들은 이전 질의의 결과 집합 내의 객체와 연관되지만 결과 집합들은 실질적으로 유사하지 않다. 이러한 방식은 사용자 검색 질의에 따른 결과 집합을 이전 질의들을 통해서 위치 지정된 다수의 관련된 결과 집합으로 효과적으로 분할한다.
상술하고 관련된 목적을 성취하기 위해서, 본 발명의 특정 도시적 측면을 이하의 설명과 첨부한 도면과 관련하여 본 명세서에서 설명한다. 그러나 이러한 측면들은 본 발명의 원리가 사용되는 다양한 방법 중의 일부를 나타내는 것이고, 본 발명은 그러한 측면 및 그들의 균등물까지 포함하도록 의도되었다. 본 발명의 다른 장점 및 신규한 특징은 도면과 연계하여 고려할 경우 본 발명의 이하의 상세한 설명에서 명백해 질 것이다.
유사한 참조 부호가 유사한 요소를 나타내도록 사용된 도면을 참조하여 본 발명을 설명한다. 이하의 설명에 있어서, 본 발명의 면밀한 이해를 위해서 설명을 위한 목적으로 수많은 구체적인 예들을 보일 것이다. 그러나 본 발명이 이러한 구체적인 세부사항 없이도 실시할 수 있다는 것은 명백하다. 다른 예에 있어서, 주지된 구조 및 장치들이 본 발명을 설명하는 것을 용이하게 하기 위하여 블록도의 형태로 도시된다.
본 명세서에서 사용되는 "구성 요소(component)", "처리기(handler)", "모델", "시스템" 등은 하드웨어, 하드웨어와 소프트웨어의 조합, 소프트웨어 또는 실행중인 소프트웨어 중의 하나인 컴퓨터 관련 기기를 의미하도록 의도되었다. 예를 들어, 구성 요소는 프로세서상에서 수행중인 프로세스, 프로세서, 객체, 실행파일, 실행 스레드(a thread of execution), 프로그램 및/또는 컴퓨터일 수 있으나 이에 한정되지는 않는다. 도시하는 방법에 따라서는, 서버상의 실행중인 애플리케이션 및 서버 모두가 구성 요소일 수 있다. 하나 이상의 구성 요소는 프로세스 및/또는 실행 스레드 내에 존재할 수 있으며, 구성 요소는 하나의 컴퓨터상에 국한되거나 또는 둘 이상의 컴퓨터들 사이에 분산될 수도 있다. 또한, 이러한 구성 요소들은 그것들에 저장된 다양한 데이터 구조를 갖는 다양한 컴퓨터 판독가능 매체로부터 실행될 수 있다. 구성 요소는 하나 이상의 데이터 패킷(예를 들어, 로컬 시스템, 분산 시스템 내에서, 및/또는 신호를 통해서 다른 시스템의 인터넷과 같은 네트워크를 거쳐 다른 구성 요소와 상호 작용하는 하나의 구성 요소로부터의 데이터)을 갖는 신호에 따르는 것과 같이 관련된 로컬 및/또는 원격 프로세스를 통해 통신할 수 있다.
도 1과 관련하여, 주어진 사용자의 검색 질의에 대해서 사용자 의도를 결정하는 것을 용이하게 하는 시스템(100)이 도시된다. 시스템(100)은 질의를 수신받는 검색 엔진(102)을 포함하고, 그러한 질의에 따라 데이터 저장 장치(104) 내의 객체들을 검색하도록 사용된다. 검색 엔진(102)은 데이터 저장 장치(104) 내에 존재하는 개체들을 위치 지정, 랭크 및 검색하기 위해서 적합한 검색 알고리즘(들)을 사용한다. 나아가 검색 엔진(102)은 어떠한 적합한 검색에 대해서도 이용될 수 있다. 예를 들어, 검색 엔진(102)은 인터넷상에 검색을 할 경우에 일반적인 텍스트 검색을 할 수 있다. 그러나 검색 엔진(102)은 또한 사용자가 검색하기를 원하는 이미지, 특정 사운드를 검색하기 위한 사운드 바이트 또는 기타 다른 적합한 객체들의 컬렉션을 검색하기 위해서 컬러 방식(color scheme)을 이용하도록 사용될 수 있다. 나아가 검색 엔진(102)에 의해 수신된 질의는 텍스트 문자열로 제한되지 않는다. 예를 들어, 질의는 사운드 또는 사운드 시리즈, 형상, 컬러 패턴 등일 수 있다.
질의를 수신함에 있어서, 검색 엔진(102)은 데이터 저장 장치(104)의 객체 컬렉션을 검색하고 질의에 따라서 객체들을 검색한다. 본 발명의 하나의 태양에 따라서, 데이터 저장 장치(104)는 서버 상에 존재할 수 있으며, 인터넷 및/또는 인트라넷 상에 존재할 수 있는 다수의 웹 페이지 또는 기타 문서들을 포함할 수 있다. 더욱이, 데이터 저장 장치(104)는 퍼스널 컴퓨터(예를 들어, 클라이언트)의 하드 드라이브 및/또는 메모리 내에 존재할 수 있다. 데이터 저장 장치(104) 및 데이터 저장 장치(104) 내의 객체들은 인터넷 및/또는 인트라넷 상에 존재하는 웹 페이지에 한정되지 않는다는 것을 이해해야 한다. 데이터 저장 장치(104)(또는 개별 데이터 저장 장치, 검색 엔진(102) 등)는 객체들을 검색하기 위해 이전에 사용된 질의들과 데이터 저장 장치 내의 객체들을 상관시킨다(correlate). 예를 들어, 데이터 저장 장치(104) 내의 객체 1은 질의(Q1, Q2 및 Q4)과 관련하여 검색 엔진(102)을 통해서 이전에 위치 지정되었다. 유사하게 데이터 저장 장치(104) 내의 객체 2는 질의(Q2, Q5 및 Q8)와 관련하여 검색 엔진(102)을 통해서 이전에 위치 지정되었다. 대개의 경우, 검색 엔진에 의해 수신된 질의는 특정적이지 못한 것이고, 따라서 사용자가 찾고자 의도한 객체와 관련이 없는 수많은 객체들이 반환된다. 본 발명은 데이터 저장 장치(104) 내의 객체들을 위치 지정하기 위해 이전에 사용된 별개의 질의들을 이용하여 수신된 질의들에 따른 결과 집합을 분할한다.
더욱 구체적으로, 객체들은 그러한 객체들을 위치 지정하기 위해 이전에 사용된 질의들과 연관된다. 주어진 특정 질의에 대하여, 검색 엔진(102)은 데이터 저장 장치(104) 내에 존재하는 다수의 객체들(최초의 결과 집합)을 검색하는데, 최초의 결과 집합 내에는, 검색 엔진(102)에 질의를 입력한 사용자에 의해서 검토하고자 하는 적어도 하나의 객체가 존재한다(예를 들어, 사용자는 그러한 객체에 위치 지정하기를 의도하였지만, 충분하게 구체적인 질의를 생성하지 못함). 검색 엔진(102)은, 최초 결과 집합을 데이터 저장 장치(104) 내의 객체와 연관된 질의의 결과 집합에 기초한 다수의 반환 집합으로 분할하는 관계 연산자(106)와 연관된다. 관계 연산자(106)는 최초 반환 집합 내에서 객체들과 연관된 각각의 질의(각각의 질의와 연관된 반환 집합)를 근본적으로 검토하고, 최초 질의 및 최초 반환 집합 내의 객체들을 위치 지정하기 위하여 이전에 사용된 질의 사이의 관련성 레벨(level of relation)을 결정한다. 그 후, 관계 연산자(106)는 사용자가 하나 이상의 객체를 위치 지정하기에 유용하다고 생각되는 다수의 질의들을 결정한다. 최초 반환 집합과 깊이 관련되지만 별개의 객체들을 생성하는 질의들은 디스플레이(108)를 통하여 사용자에게 반환될 수 있다. 예를 들어, 검색 엔진(102)에 의해 주어진 랭킹에 따른 첫 번째 다수의 객체들 내에서 실질적으로 동일한 객체들을 반환하는 질의는 깊이 관련되지만 신규한 결과를 생성하지 못한다. 더욱 구체적인 예로서, 최초 질의가 "fly fishing"(플라이 피싱)일 수 있다. 관계된 질의는 "fly & fishing"일 수 있지만, 예를 들어 결과의 첫 번째 페이지 상에, 실질적으로 유사한 결과가 반환될 것이다. 따라서 이런 질의는 실질적으로 유사한 결과를 생성하기 때문에, 관계 연산자(106)는 그러한 질의를 사용자에게 반환하지 않는다. 이와 유사하게, 가장 관계가 없는 객체를 반환하도록 하는 결과는 사용자에게 반환되지 않는데, 관계 연산자(106)가 그러한 질의는 가장 관계가 없다고 판단하기 때문이다. 구체적인 예에 있어서, 댄스와 관련된 객체는 플라이 피싱과 관련된 작은 부분을 포함할 수 있다. 그러나 그 객체와 관련된 대부분의 질의는 플라이 피싱과 관계되기보다는 댄스와 관계된 수많은 객체를 반환할 것이다. 따라서 관계 연산자(106)는 따라서 최초 질의 및 최초 질의를 통해서 반환된 객체와 연관된 질의들 사이의 관련성 레벨을 결정하고 신규한 객체이면서 관련된 객체와 연관된 질의를 사용자에 게 반환한다.
하나의 구체적인 예로서, Q는 데이터 저장 장치(104) 또는 다른 유사한 데이터 저장 장치 내의 객체들을 검색하는 것과 관련하여 검색 엔진(102)에 의해서 이전에 사용된 질의들의 집합일 수 있고, q는 사용자에 의해 검색 엔진(102)에 입력된 질의일 수 있다. D는 데이터 저장 장치(104) 내에 위치 지정된 객체들의 집합일 수 있고, d는 사용자가 질의 q를 통해서 찾고자 의도한 하나의 구체적인 객체일 수 있다. d가 질의 q에 대한 반환 집합 내에 있는 경우에만 qRd일 때, R은 Q X D의 이진 관계로 정의될 수 있다. 따라서 질의 q가 주어지고, 관계 연산자(106)는 모든 질의들 q`를 위치 지정하여
Figure 112005012516015-PAT00001
가 된다. 더욱 구체적으로 관계 연산자(106)는 반환 집합
Figure 112005012516015-PAT00002
를 결정한다. 그러나 이 결과 집합 외부의 질의들은 본 발명에 따라 위치 지정되고 디스플레이될 수 있다는 것을 이해하여야 한다. 예를 들어, 질의 관계성의 상이한 척도가 본 발명에 따라서 사용될 수 있다. 대부분의 예에서, 반환 집합
Figure 112005012516015-PAT00003
는 특정적이지 못한 질의에 대해서 지나치게 크다(예를 들어, 특정적이지 못한 질의는 관계된 수천 개의 질의를 가질 수 있음). 사용자에게 수천 개의 질의를 제시하는 것은 실용적이지 못하기 때문에, 관계 연산자(106)는 최초 질의 q 및 반환 집합
Figure 112005012516015-PAT00004
내의 질의들 사이의 관련성 정도를 측정하기 위하여 다양한 알고리즘을 사용한다. 본 발명의 하나 의 태양에 따라서, 관계 연산자(106)는 알고리즘
Figure 112005012516015-PAT00005
를 사용할 수 있고, 그로부터
Figure 112005012516015-PAT00006
에 따라서 관계된 질의들의 집합을 분류하며, 다수의 상위 질의들을 사용자에게 반환한다.
본 발명의 하나의 태양에 따라, 상대적인 랭킹들이 거리 메트릭
Figure 112005012516015-PAT00007
계산과 관련하여 고려될 수 있다. 예를 들어, 두 개의 질의 q 및 q`로부터 반환된 객체 d의 위치가 거리 메트릭을 계산하여 설명될 수 있다. 더욱 구체적으로, 객체 d가 각각의 두 개의 질의 q 및 q`로부터 반환된 첫 번째 결과일 경우, 객체d가 두 개의 질의 q 및 q` 중 적어도 하나로부터 반환된 100번째 결과인 경우와 비교하여, 거리 메트릭은 별개로 계산될 수 있다. 예를 들어 거리 메트릭은 아래와 같이 계산될 수 있다.
Figure 112005012516015-PAT00008
w는 객체에 있어서, 질의와 무관한 객체의 가중치 함수이다(예를 들어, 객체의 페이지랭크(PageRank)). w의 범위가 양수인 한, 상기에 정의된 함수는 거리 메트릭이다. 그러나 본 발명의 하나 이상의 태양이 효과적으로 작동하기 위해서 상대적 랭킹은 고려할 필요가 없다는 것을 이해해야 한다.
그러나 일반적으로 거리 메트릭
Figure 112005012516015-PAT00009
에 따라 정렬된 관련된 질의들의 집합은 최초 질의와 너무 유사해서 사용자에게 유용하지 않다(예를 들어, 질의들은 최초 질의를 통해 반환된 객체들과 실질적으로 유사한 객체들을 반환함). 따라서 수정된 최대 한계 관련성(MMR;Maximal Marginal Relevance) 방식 또는 기타 적합한 검색 방식이, 관계된 객체들을 반환하지만 최초 질의의 결과 집합과 비교하여 실질적으로 유사한 객체들은 반환하지 않는 질의들을 찾기 위해 사용될 수 있다. 수정된 MMR 방식은 관계가 있으면서 사용자에게 신규한(original) 결과 집합들을 갖는 질의들을 반환하기 위하여 관계 연산자(106)에 의해 사용될 수 있다. 더욱 구체적으로, 수정된 MMR 방식은, 최초 질의 q의 결과 집합과 관계가 있지만, 최초 질의의 결과 집합들 및 이전에 반환된 다른 질의들의 결과 집합들과 관련하여 신규한 결과 집합을 갖는 질의들 q`를 사용자에게 제시하도록 관계 연산자(106)에 의해 사용될 수 있다. 본 발명의 하나의 태양에 따를 때, 관계 연산자(106)는 질의 집합 Q 내의 질의들의 관계 척도(relation measurement)를 판단하기 위한 이하의 알고리즘을 사용한다.
Figure 112005012516015-PAT00010
λ는 선험적으로 확립된 추정 요소(interpolation factor)이고, q는 최초 질의며, q`는 최초 질의 q와 관련되지만 이미 반환된 다른 질의들 q``와는 상이한 질 의이다. 질의들 q`는 반환되지 않은 질의의 확장으로부터 도출되고 질의들 q``는 이전에 반환된 집합으로부터 도출된다. 질의들은 그 후에 관계 척도에 따라서 반복적으로 선택된다. 상기 수학식은 원래는 순수한 정보 검색 설정 내에서 문서를 랭크하기 위해 제시된 MMR 방식에 기초하는데, 여기서 반환된 문서들은 관계가 있고, 동시에 신규하다. 문서들과 다른 문서들 사이의 유사성을 나타내는 유사 거리 메트릭 sd와 마찬가지로 문서들과 질의들 사이의 유사성을 나타내는 유사 거리 메트릭 sq는 종래의 방식에서 사용되었다. 그 후, 문서들은 이하의 가중치에 따라서 반복적으로 선택된다.
Figure 112005012516015-PAT00011
D는 아직 반환되지 않은 객체들 집합이고 D`는 이전에 반환된 객체들 집합이다. 수정된 MMR 방식에 있어서, λ는 이전에 선택된 삽입된 요소이다. 이 알고리즘은 질의 q와 최대로 유사하면서 동시에 이전에 반환된 문서들 d`와 최대로 상이한 객체 d를 선택한다. 예를 들어, λ=1일 경우, 랭킹은 단순히 객체 d 및 질의 q 사이의 유사성에 따른다. λ=0일 경우, 알고리즘은 질의 q와 독립적인 최대한 상이한 결과들을 생성하고자 한다. 수정된 MMR 방식은 이전에 생성된 질의들이 사용자가 찾고자 의도한 객체를 위치 지정하는 것을 보조할 수 있다는 발명자들의 인식에 의해 얻어진 것이다.
관계 연산자(106)가 (반환된 객체들에 대하여) 관련되지만 신규한 질의들을 인덱싱하면, 그러한 질의들은 디스플레이(108)를 통해서 사용자에게 전달될 수 있다. 따라서 예를 들어, 최초의 질의와 관련된 다수의 질의들이 사용자에게 디스플레이될 수 있고, 이것은 사용자가 찾고자 의도한 객체를 위치 지정하는 것을 보조할 수 있다. 나아가 최초 질의에 기초하여 검색된 정수의 객체들은 사용자에게 반환될 수 있어, 질의를 특정하지 못한 경우가 아닌 경우, 사용자는 그러한 객체들을 볼 수 있도록 한다.
본 발명이 특정적이지 못한 질의를 이용하는 사용자를 보조하는 것과 관련하여 고안되었지만, 본 발명은 또한 관심의 대상인 적합한 질의를 검색 엔진(102)에 전달한 하나 이상의 사용자를 보조하기 위하여 고안되었다는 것을 이해하여야 한다. 나아가 본 발명은 사용자가 우연히 정보를 위치 지정하는 것(serendipitously locating information)을 보조하도록 이용될 수 있다. 예를 들어, 사용자가 일반적인 질의를 제공할 수 있고, 본 발명은 그러한 질의에 지엽적으로 관련된(tangentially related) 정보를 반환할 수 있다. 더욱 구체적으로, 사용자가 질의 "honeymoon"을 검색엔진(102)에 입력할 수 있고 데이터 저장 장치(106) 내의 객체들의 반환 집합은 그러한 질의에 따라 위치 지정될 수 있다. 그 후, 관계 연산자(106)는 신혼여행의 최초 질의보다 필연적으로 더욱 한정적이지 않지만 그럼에도 불구하고 관련된(예를 들어, 우연히 관련됨) 질의들을 위치 지정하도록 이용될 수 있다. 예를 들어, 질의 "passport applications"가 최초로 입력한 질의 "honeymoon"에 기초하여 사용자에게 반환된 질의일 수 있다. 이것은 최초 질의의 반환 집합들 및 의도된 질의들(contemplated queries)의 반환 집합들 사이에 적은 중첩을 요구함으로써 가능하다. 예를 들어, 질의 "honeymoon"으로부터의 반환 집합들은 질의 "honeymoon suites"의 반합 집합과 비교하였을 경우, 질의 "passport applications"의 반환 집합과 중첩이 적다. 질의들의 반환 집합들 사이의 중첩 부분이 많으면 더욱 유사하고 덜 우연적인 질의들이 반환되며, 중첩이 적으면 더욱 우연적이고 덜 유사한 질의들이 반환된다. 본 발명의 하나의 태양에 따를 때, 사용자가 반환 집합들 사이의 중첩 레벨을 선택하도록 하는 구성 요소(도시하지 않음)가 제공될 수 있다. 나아가 반환 집합들 사이의 중첩 레벨은 하나 이상의 사용자 신원(user identity), 사용자 상태(user state) 및 사용자 상황(user context)에 적어도 일부 자동적으로 기초하여 한정될 수 있다.
도 2와 관련하여, 객체들의 컬렉션을 검색하는 것을 용이하게 하는 시스템(200)을 도시한다. 시스템(200)은 사용자에 의해 제공된 최초 질의를 이용하고, (예를 들어, 별개의 사용자들의 의해) 이전에 생성된 질의들을 위치 지정한다. 이들 질의들은 최초 질의에 관련되지만 최초 질의를 이용할 때에 반환되는 것과 실질적으로 유사한 객체를 반환하지 않는다. 검색 엔진(202)은 최초 질의를 수신하고 데이터 저장 장치(204) 내의 다수의 문서들을 검색하기 위하여 그러한 질의를 이용한다. 검색 엔진(202)은 데이터 저장 장치(204) 내의 객체들을 위치 지정하고 반환하는 것과 관련하여 다양한 알고리즘을 사용한다. 예를 들어, 검색 엔진(204)은 텍스트 상의 검색(예를 들어, 메타 태그(meta tags), 객체들 내의 텍스트 등에 기초하여 객체들을 반환하는 것 등), 클러스트링에 적어도 일부 기초하는 검색 등을 수행할 수 있다. 데이터 저장 장치(204)는 검색 엔진을 통해서 검색될 수 있는 다수의 객체들을 포함하고 각각의 객체들은 그러한 객체들을 위치 지정하기 위하여 검색엔진(202)에 의해 이전에 사용된 하나 이상의 질의들과 연관된다. 예를 들어, 검색 엔진(202)은 질의들(Q1, Q2 및 Q4)이 사용되었을 경우, 객체 1을 이전에 검색하였다. 객체들과 관련된 질의들이 데이터 저장 장치(204) 내에 도시되어 있지만, 그러한 질의들은 어느 곳에나 존재할 수 있다는 것을 이해해야 한다. 예를 들어, 검색 엔진(202) 자체는 질의들의 리스트 및 질의들을 통하여 검색된 객체들의 명칭들(예를 들어, URL들)의 리스트를 보유할 수 있다. 유사하게, 검색 엔진(202)은 이전에 검색된 적이 있는 객체들의 리스트 및 그러한 객체들을 검색하기 위하여 사용된 질의들을 보유할 수 있다. 나아가 객체들 및 질의들의 리스트들은 해싱(hashing) 또는 기타 유사한 기술을 통하여 압축될 수 있다.
질의들을 수신하면, 검색 엔진(202)은 그러한 질의에 따라 데이터 저장 장치(204) 내의 다수의 객체들을 위치 지정한다. 검색 엔진(202)은 질의에 대한 그러한 객체들의 관련성에 따라 반환된 객체들을 랭크하기 위해 이용되는 랭킹 구성 요소(206)를 포함한다. 그러나 질의가 특정적이지 못한 경우에는 그러한 질의에 관계된 수천 개의 객체들이 사용자에게 반환되고, 랭킹 구성 요소(206)에 의해 랭크될 수 있다. 나아가 수천 개의 객체들이 위치 지정되고 반환됨에 따라, 그러한 객체들을 위치 지정하기 위하여 이전에 사용된 수많은 질의들 또한 존재한다. 그러나 최초 질의에 대한 관련성을 판단하기 위하여 반환된 모든 객체들에 대한 각각의 질의를 검토하는 것은 계산적으로 비용이 많이 든다. 필터 구성 요소(208)는 고려 하여야 할 객체들의 수를 축소하기 위해서 제공된다. 예를 들어, 필터 구성 요소는 랭킹 구성 요소(206)에 의해 상위 20개의 객체들 중의 하나로 랭크되지 않은 객체들을 필터링할 수 있다. 나아가 필터 구성 요소(208)는 반환된 객체들에 대응하는 중복된 질의들을 제거하기 위해서 사용될 수 있다. 예를 들어, 검색 엔진(202)이 이전 질의들(Q1, Q2 및 Q4)과 연관된 객체 1을 반환하고, 질의들(Q1, Q2 및 Q8)과 연관된 객체 3을 반환한다면, 필터 구성 요소(208)는 질의들(Q1 및 Q2)이 두 번 (또는 두 번 이상) 고려되지 않도록 할 수 있다.
검색 엔진(202)은 또한 최초 질의 및 검색 엔진(202)에 의해 이전에 이용된 질의들 사이의 관련성 레벨을 판단하기 위한 관계 연산자(210)를 포함한다. 예를 들어, 최초 질의가 데이터 저장 장치(204)로부터 객체 1을 반환하면, 관계 연산자(210)가 최초 질의 및 질의(Q1), 질의(Q2), 질의(Q4) 사이의 관련성 레벨을 판단할 수 있다. 관계 연산자(210)는 또한 검색 엔진(202)에 의해 이전에 사용되었던 별개의 질의들(예를 들어, Q1, Q2 등) 사이의 관련성 레벨을 판단할 수 있다. 예를 들어, 관계 연산자(210)는 질의들(Q1 및 Q2) 사이의 관련성 레벨을 판단할 수 있다. 이러한 방법은 질의들(Q1 및 Q2)이 실질적으로 유사한 문서들을 반환할 경우 유용하며, 이에 따라 질의들(Q1 및 Q2) 모두를 디스플레이하는 것은 사용자에게 유용하지 않다. 본 발명의 하나의 태양에 따를 때, 관계 연산자(210)는 질의 및 이전에 사용된 질의들 사이의 거리 메트릭을 판단할 수 있고, 관계 연산자는 이전의 어떤 질의들이 최초 질의에 관련되면서 또한 신규한 객체들을 포함하는 반환 집합과 연관되었는지를 판단하기 위해 수정된 MMR 알고리즘과 관련된 거리 메트릭을 사 용한다. 더욱 구체적으로, 최초 질의와 연관된 반환 집합과 실질적으로 유사한 반환 집합과 연관된 질의를 제공하는 것은 사용자가 그러한 사용자의 의도에 따른 객체를 위치 지정하는 것을 보조하지 못한다. 오히려, 중복된 정보가 사용자에게 제공되고 따라서 사용자의 검색을 방해한다.
관계 연산자(210)가 최초 질의와 관련되지만 신규한 반환 집합과 연관된 다수의 질의들을 위치 지정한 후, 필터 구성 요소(208)는 질의들과 연관된 객체들의 수를 줄인다. 예를 들어, 필터 구성 요소(208)는 질의와 연관된 반환 집합 내의 상위 랭크된 객체들만을 디스플레이하도록 사용될 수 있다(예를 들어, 고순위의 다섯 개의 객체들만 반환됨). 더욱이 필터 구성 요소(208)는 또한 반환된 질의와 연관된 반환 집합으로부터 객체들을 제거하도록 사용될 수 있는데, 그러한 객체들 역시 최초 질의 또는 다른 반환된 질의의 반환 집합 내에 있다. 예를 들어, 최초 질의에 대한 반환 집합이 객체 1을 포함할 수 있고, 질의(Q1)는 최초 질의와 고도로 관련된 것일 수 있다. 질의(Q1)가 객체 1을 위치 지정하기 위해 이전에 사용되었기 때문에, 객체 1은 질의(Q1)의 반환 집합과 마찬가지로 최초 질의에 대한 반환 집합 내에 존재한다. 필터 구성 요소(208)는 Q1과 연관된 반환 집합으로부터 객체 1을 제거하기 위해서 사용될 수 있고, 그럼으로써 사용자가 중복된 객체들을 수신하지 않도록 한다. 나아가 필터 구성 요소(208)는 최초 질의와 어휘적으로 유사한(lexically similar) 질의들을 제거하기 위해서 이용될 수 있다. 예를 들어, 최초 질의에서 단순히 어휘의 순서만 바꾼 질의들은 버려질 수 있다. 이러한 어휘적으로 유사한 질의들은 관계 연산자(210)에 의해 상위 랭크될 수 있으나, 최초 질의 및 어휘적으로 유사한 질의와 연관된 반환 집합은 실질적으로 유사하여 사용자에게 새로운 정보를 제공할 수 없다.
본 발명의 다른 태양에 따라, 필터 구성 요소(208)는 특정 객체로의 경로로 보이는 질의를 고려 대상에서 제외한다. 예를 들어, 인터넷 컨텍스트 하에서, "www", ".com", ".net", ".org" 등을 문자열을 포함하는 모든 질의들은, 그러한 질의들이 브라우저의 주소창이 아닌 검색 엔진의 질의 박스 내에 잘못 위치한 것으로 여겨질 수 있으므로, 고려 대상에서 제외될 수 있다. 이러한 문자열과 연관된 반환 집합들은 일반적으로 사용자의 의도와 밀접한 관계가 있지 않고, URL, 경로 또는 특정 객체의 기타 유사한 식별 표시를 표시하는 것은 사용자에게 혼란스러울 수 있다. 필터 구성 요소(208)는 또한, 원하는 언어로 보이지 않는 질의들을 제거하도록 사용될 수 있다. 예를 들어, 인쇄 가능하지 않은 ASCII 문자들을 포함하는 최초 질의와 연관된 반환 집합 내의 객체들과 연관된 모든 질의들은 제거될 수 있다. 더욱이 최초 질의와 (단어의 수에서) 최소한 같은 길이가 아닌 관계된 질의들은 제거되어, 관계된 질의들의 반환 집합들이 최초 질의와 관계된 반환 집합보다 더욱 초점이 맞춰지도록 한다.
관계 연산자(210) 및 필터 구성 요소(208)가 동작을 완료하면, 최초 질의와 관련되지만 (예를 들어 특정 개수의 상위 랭크된 객체들과 비교하였을 경우) 신규한 결과를 제공하는 다수의 질의들이 그러한 질의들을 전할 수 있는 디스플레이(212) 또는 기타 적합한 장치를 통하여 사용자에게 전달될 수 있다. 이 후, 사용자는 사용자의 의도와 일치하는 하나 이상의 질의들과 연관된 결과 집합들을 검토한 다. 하나의 구체적인 예로, 사용자가 플라이 피싱과 관련하여 이용될 수 있는 구체적인 미끼에 관심이 있지만, 그러한 미끼의 명칭을 알지 못한다고 가정하자. 따라서 사용자는 "fly fishing"을 최초 질의로 입력하고, 이것은 사용자가 미끼를 위치 지정하기 전에 면밀히 검토하여야 하는 수많은 객체를 반환한다. 그러나 시스템(200)을 사용하여 "fly fishing lures"과 같은 관련된 질의들이 사용자에게 제공되고 따라서 그의 의도에 부합할 수 있다.
도 3과 관련하여, 사용자가 다수의 객체들을 검색할 경우 사용자를 보조하는 시스템(300)을 도시한다. 시스템(300)은 질의 및 이전에 사용된 관련된 질의들을 위치 지정하기 위하여 질의와 연관된 결과 집합을 이용한다. 관련된 질의들은 최초 질의의 결과 집합과 관련이 되지만 그것과 실질적으로 유사하지 않은 결과 집합과 연관된다. 시스템(300)은 질의를 수신받는 검색 엔진(302)을 포함한다. 검색 엔진(302)은, 다수의 객체들(예를 들어, 문서들, 사운드 파일들, 이미지들, 웹 페이지들 등)을 포함하는 데이터 저장 장치(304)를 검색하는데, 이 검색은 수신된 질의들에 적어도 일부 기초한다. 데이터 저장 장치(304) 내의 각각의 객체들은 그러한 객체들을 위치 지정하기 위해 이전에 이용된 질의들과 연관된다. 예를 들어, 질의(Q5)는 검색 엔진(302)에 의해 이전에 사용되었고, 그러한 질의의 이용은 객체 4를 반환하게 하였다. 객체들 및 질의들의 이러한 연관은 데이터 저장 장치(304) 내에, 또는 검색 엔진(302) 내에서 기타 다른 적합한 저장 위치 저장될 수 있다.
검색 엔진(302)은 질의에 따라 검색 엔진(302)을 통해서 위치 지정되는 객체들을 랭크하는 랭킹 구성 요소(306)를 포함한다. 적절한 랭킹 알고리즘 및/또는 방법들은 본 발명에 관련하여 사용될 수 있다. 본 발명의 하나의 태양에 따라, 질의와 연관된 반환 집합 내의 결과들의 수는 제한된다. 예를 들어, 오직 20개의 상위 순위로 랭크된 객체들만이 결과 집합에 포함될 수 있고, 그 20개의 객체들과 연관된 질의들만이 검토되어, 그러한 질의들과, 검색 엔진(302)에 의해 수신된 최초 질의와의 관련성을 판단한다. 그러나 어떠한 적절한 수의 객체가 결과 집합에 포함될 수 있고, 20개는 본 발명의 하나의 태양을 설명하기 위한 예시적인 수일뿐이라는 것을 이해해야 한다.
검색 엔진(302)은 반환 집합의 객체들과 연관된 질의들을 검토하기 위해서 사용되는 관계 연산자(308)를 더 포함하고, 최초 질의를 통해서 얻어진 결과 집합과 실질적으로 상이한 결과 집합들을 갖는 관계된 질의들을 사용자에게 반환한다. 본 발명의 하나의 태양에 따를 때, 수정된 MMR 방식에 의한 거리 메트릭은 관련되며 신규한 결과 집합과 연관된 질의들을 위치 지정하기 위해 사용될 수 있다. 검색 엔진(302)은 또한 사용자가 그 특정 사용자에 대한 동작과 관련하여 검색 엔진(302)과 통신하도록 하는 피드백 구성 요소(310)를 포함한다. 예를 들어, 사용자는 검색 엔진(302)에 특정 질의에 관심이 없다고 알릴 수 있고, 그러한 질의는 사용자에게 반환되지 않는다. 나아가 피드백 구성 요소(310)는 검색과 관련하여 발생할 수 있는 불명확함을 명확하게 하도록 사용될 수 있다. 예를 들어, 질의 "rock"은 물리적인 바위를 의미할 뿐 아니라 음악의 구체적인 종류를 나타낼 수 있다. 사용자는 자신이 음악에 관심이 있는 것이고 관련된 질의 중에 바위와 관련된 질의를 반환받지 않겠다고 피드백 구성 요소(310)에 알릴 수 있다. 나아가 피드백 구성 요소(310)는 결과 집합 내에 포함될 결과의 수, 사용자에게 반환할 질의들의 수, 질의들 및 결과들의 디스플레이 형태 등을 관리하도록 사용될 수 있다. 따라서 피드백 구성 요소(310)는 사용자 기호에 따라 작동하도록 사용자가 시스템(300)을 사용자 지정(customize)할 수 있다.
시스템(300)은 사용자 프로필(312)과 더 연관될 수 있는데, 사용자 프로필(312)은 사용자의 기호에 따라 시스템(300)을 더욱 사용자 지정한다. 사용자 프로필(312)은 피드백 구성 요소(310)에 전달되는 정보를 저장할 수 있는데, 사용자 프로필은 사용자가 사용하는 장치에 관계없이 액세스될 수 있다. 예를 들어, 사용자는 사용자 프로필(312)을 그의 거주지 내의 데스크탑 컴퓨터에서 생성할 수 있다. 그러나 사용자 프로필(312)은 해당 특정 데스크탑 컴퓨터에 한정된 것이 아니다. 오히려 사용자는 그러한 사용자 프로필(312)을 별개의 터미널(예를 들어, PDA, 별개의 컴퓨터, 핸드폰)에서 액세스할 수 있다. 나아가 사용자 프로필(312)은 정해진 일정 기간 동안 사용자가 검색한 것을 추적하는 히스토리 구성 요소를 포함할 수 있다. 따라서 사용자가 검색의 중간에 방해를 받는다면, 그러한 사용자는 차후에 그 검색을 액세스하기 위해 사용자 프로필(312)을 활용할 수 있다.
또한, 검색 엔진(302)은 사용자 상태, 사용자 히스토리, 사용자 상황에 적어도 일부 기초하여 사용자에게 어떤 질의를 반환할 것인지와 관련한 추측(inference)을 할 수 있는 인공 지능 구성 요소(314)와 연관될 수 있다. 본 명세서에서 사용된 것과 같이, "추측"이라는 용어는 일반적으로 이벤트들 및/또는 데이터를 통해서 획득한 관찰 집합으로부터, 시스템, 환경 및/또는 사용자의 상태를 연 역하거나 추론하는 과정을 의미한다. 예를 들어, 추측은 구체적 상황(specific context)이나 동작을 식별하기 위해 사용될 수 있고, 상태에 대한 확률 분포를 생성할 수 있다. 추측은 확률적일 수 있는데, 이것은 즉, 데이터 및 이벤트들의 고려에 기초하여 관심 상태에 대한 확률 분포를 계산한다는 것이다. 추측은 또한 이벤트들 및/또는 데이터 집합으로부터 상위 레벨의 이벤트들을 포함하기 위해 사용되는 기술들을 의미할 수 있다. 이러한 추측은, 이벤트들이 근접한 시간 유사성(close temporal approximate)으로 상관되는지, 그리고 이벤트들 및 데이터가 하나 또는 몇몇의 이벤트 및 데이터 소스로부터 온 것인지에 따라, 관찰된 이벤트들 및/또는 저장된 이벤트 데이터 집합으로부터 새로운 이벤트들 또는 동작들을 구성할 수 있다. 본 발명과 관련하여, 다양한 분류 방식 및/또는 시스템(예를 들어, 서포트 벡터 머신(support vector machines), 신경 회로망(neural networks), 전문가 시스템(expert systems), 베이지안 빌리프 네트워크(Bayesian belief networks), 퍼지 논리(fuzzy logic), 데이터 퓨전 엔진(data fusion engines) 등)이, 자동적 및/또는 추론된 동작(inferred action)을 수행하는 것과 관련되어 사용될 수 있다.
따라서, 인공 지능 구성 요소(314)는 사용자를 감시하고, 주어진 사용자의 상태나 상황(user state and context)에서 사용자의 바램을 시간에 따라 "학습(learn)"한다. 예를 들어, 사용자는 일반적으로 하루의 특정 시간 및/또는 특정 위치에 있을 경우 객체들의 특정 유형을 검토하기를 원할 수 있다. 인공 지능 구성 요소(314)는 다양한 센서(들)(316)로부터 데이터(예를 들어, 하루의 시간, 사용자 위치, 온도 등)를 수신받고, 그러한 데이터를 이용하여, 적절한 추측을 수행하 도록 한다. 예를 들어, PDA를 사용하는 사용자가 "skiing"을 검색 엔진(302)에 입력할 수 있다. 센서(들)(316)(예를 들어, GPS 센서)는 사용자가 콜로라도(Colorado)의 산에 있는지, 온도가 차가운지, 그리고 시기가 스노우 스키 시즌에 해당하는 지를 판단한다. 따라서 인공 지능 구성 요소(314)는 수상 스키와 관련된 질의들이 사용자에게 반환되지 않도록 추측할 수 있다. 다른 예에 있어서, 사용자는 토요일 저녁 3:00시 이후에 상거래 관련 검색(예를 들어, 물품을 구매 및/또는 판매하기 위한 조사)을 일반적으로 수행할 수 있다. 인공 지능 구성 요소(314)는 사용자에게 최초 질의와 관련된 가장 바람직한 질의들을 제공하는 것과 관련하여 그러한 정보를 활용할 수 있다. 더욱이 인공 지능 구성 요소(314)는, 관계 연산자(308)에 어떤 질의들이 사용자에게 반환되어야 하는지를 알리는 것과 관련하여 비용/유용성 분석을 사용할 수 있다. 더욱 구체적으로, 인공 지능 구성 요소(314)는 관계 연산자(308)가 원하는 질의를 제거하는 비용에 대하여 다른 질의들이 아닌 특정 질의들이 선택되도록 관계 연산자(308)에 알리는 유용성의 균형을 맞춘다. 최초 질의와 관련되고 최초 질의의 결과 집합과 실질적으로 별개인 결과 집합들과 연관된 다수의 질의들을 위치 지정하는 과정에서, 그러한 질의들은 디스플레이(318)를 통해서 사용자에게 반환될 수 있다.
도 4와 관련하여, 주어진 특정 질의에 대하여 사용자의 의도를 결정하는 것을 용이하게 하는 시스템(400)을 도시한다. 일반적으로 사용자들은 특정적이지 못한 질의들을 검색 엔진에 제공하여서 사용자가 위치 지정하고자 의도한 것을 결정하는 것을 어렵게 한다. 시스템(400)은 특정적이지 못한 질의와 연관된 반환 집합 내의 객체들을 위치 지정하기 위해 이전에 사용된 질의들을 이용한다. 더욱 구체적으로 시스템(400)은 질의가 제공된 검색 엔진(402)을 포함한다. 질의는 사용자, 텍스트 발췌 프로그램 또는 질의를 생성할 수 있는 기타 다른 적합한 메커니즘에 의해 생성된 것이다. 검색 엔진(402)은 데이터 저장 장치(404) 내의 하나 이상의 객체들을 위치 지정하기 위하여 질의를 이용하는데, 객체들은 그러한 객체들을 위치 지정하기 위하여 검색 엔진(402)에 의해 이전에 사용된 질의들과 연관된다. 예를 들어, 질의들(Q1, Q2 및 Q4)은 객체 1을 위치 지정하기 위해 이전에 사용되었다. 질의에 따라 객체들을 위치 지정하는 과정에서, 검색 엔진(402)은 그러한 질의들을 랭크하기 위해 랭킹 구성 요소(406)를 사용한다. 본 발명의 하나의 태양에 따를 때, 문턱 랭킹(threshold ranking) 위에 있지 않은 객체들은 결과 집합에서 버려진다. 관계 연산자(408)는 최초 질의와 연관된 결과 집합 내의 객체들을 위치 지정하기 위해 이전에 사용된 질의들을 검토한다. 관계 연산자(408)는 최초 질의 및 최초 결과 집합에 대한 관련성 레벨에 따라 이러한 이전의 질의들을 랭크한다. 더욱 구체적으로, 최초 질의와 연관되고 최초 질의와 연관된 결과 집합과 실질적으로 유사하지 않은 결과 집합들과 연관된 이전의 질의들은 관련이 없는 질의보다 상위 랭크가 부여된다. 예를 들어, 수정된 MMR 방식에 의한 거리 메트릭은 이전 질의들을 랭크하기 위해 사용될 수 있다. 가장 상위 랭크된 질의들이 디스플레이(410)를 통해 사용자에게 반환될 수 있다.
검색 엔진(402)은 또한, 질의들 및 그러한 질의들을 통해서 위치 지정된 객체들에 대한 서명을 생성하는 서명 생성기(412)를 포함할 수 있다. 예를 들어, 서 명 생성기(412)는 질의 로그(query log)를 보유할 수 있고, 질의 로그 내에서 각각의 질의를 이용할 경우 검색 엔진에 의해 위치 지정된 객체들의 해쉬(hashes)를 생성할 수 있다. 더욱 구체적으로, 검색 엔진(402)이 인터넷 상에서 검색을 할 경우, 서명 생성기(412)는 질의 로그를 보유하고, 질의 로그 내의 각각의 질의를 통해서 위치 지정된 URL들의 해쉬를 생성한다. 따라서 시스템(400)은 검색 엔진(402)을 이용하는 각각의 사용자에 의해 동적으로 업데이트 된다. 예를 들어, 이전에 이용되지 않았던 각각의 질의는 로그되고, 질의를 통해서 위치 지정된 객체들과 함께 저장된다. 사용자 질의들이 객체들의 구조를 생성하기 위해서 사용되면서, 시스템(400)은 객체들의 구조를 생성하고 보유하기 위해 필요한 작업량을 더욱 줄인다.
시스템(400)은 또한 객체들이 제거 및/또는 변경되지 않았다는 것을 확신하기 위해 검색 엔진(402)에 의해 사용되는 크롤러(crawler)(414)를 포함한다. 크롤러는 자동화 및 조직화된 형태로 데이터 저장 장치(404)(예를 들어, 월드 와이드 웹)를 브라우즈 하는 프로그램이다. 예를 들어, 검색 엔진에 의해 크롤러는 차후의 프로세싱을 위해 방문한 모든 객체들의 복사본을 보관한다. 크롤러는 또한 검색을 좁히는 것을 용이하게 하기 위해 이러한 객체들을 이용한다. 검색 엔진은 검색하는 동안 반환되는 객체들이 데이터 저장 장치(404) 내에 여전히 존재하고, 그러한 객체들의 현재 버전인지를 확실히 하기 위해 크롤러에 의존한다.
본 발명의 하나의 태양에 따를 때, 크롤러(414)는 데이터 저장 장치(404)를 액세스하고, 객체들과 연관된 질의들을 검토한다. 크롤러(414)는 데이터 저장 장 치 내의 객체들과 연관된 질의들의 이용하는 빈도를 결정할 수 있고, 거의 이용이 되지 않는 질의들과 연관된 객체들보다 더 높은 빈도로 이용되는 질의들과 연관된 객체들을 방문할 수 있다. 따라서 자주 사용되는 질의들과 연관된 객체들은 그러한 질의들을 사용할 경우 반환되지 않은 객체들보다 크롤링(crawling)에 관련하여 더욱 큰 우선 순위가 주어질 수 있다. 나아가 크롤러(414)는 크롤러(414)에 의해 행해지는 활동과 관련하여 확률에 기초한 분석을 수행하는 유틸리티 구성 요소(416)와 연관될 수 있다. 예를 들어, 유틸리티 구성 요소(416)는 웹 크롤러가 그러한 객체들을 방문한 마지막 순간 이후로 데이터 저장 장치(404) 내의 하나 이상의 객체들이 변경/삭제되었다는 특정 가능성이 존재하는지를 판단할 수 있다.
도 5와 관련하여, 사용자가 검색 엔진을 통해서 객체에 효율적으로 위치 지정할 수 있도록 하는 시스템(500)을 도시한다. 시스템(500)은 질의를 수신하는 검색 엔진(502)을 포함한다. 검색 엔진(502)은 질의와 관련된 데이터 저장 장치(504) 내의 객체들을 위치 지정하기 위해 그러한 질의들을 사용한다. 데이터 저장 장치(504) 내의 각각의 객체들은 그러한 객체들을 위치 지정하기 위해 이전에 사용된 질의들과 연관된다. 예를 들어, 질의(Q5)는 객체 4를 위치 지정하기 위해 검색 엔진(502)에 의해 이전에 이용되었다. 검색 엔진(502)은 질의에 따라 객체들을 랭크하는 랭킹 구성 요소(506)를 포함한다. 그러한 랭킹 구성 요소(506)는 검색 엔진(502)에 입력하는 질의에 따라 데이터 저장 장치(504) 내의 객체들을 위치 지정하고 랭킹하는 것과 관련된 적합한 랭킹 알고리즘(들)을 사용할 수 있다.
객체들이 위치 지정되고 난 후, 그러한 객체들과 연관된 질의들은 관계 연산 자(508)에 의해 검토된다. 관계 연산자(508)는 신규하고, 검색 엔진(502)에 입력된 질의와 관련된 질의들을 위치 지정한다. 예를 들어, 신규한 질의들은 입력 질의와 연관된 반환 집합 내에 포함되지 않은 결과들과 연관된다. 관련된 질의들은 입력 질의와 연관된 결과 집합과 관련된 결과들과 연관된다. 예를 들어, 거리 메트릭은 입력 질의와 비교하였을 경우 신규하지만 관련된 질의들을 위치 지정하기 위하여 수정된 MMR 방식을 사용하여 얻을 수 있다. 그러한 질의들이 위치 지정된 후, 질의들은 디스플레이(510)를 통해서 사용자에게 전달될 수 있다. 그 후, 그러한 질의들은 질의 선택 구성 요소(512)를 사용하여 선택될 수 있다. 예를 들어, 질의들은 링크의 형태로 디스플레이될 수 있고, 질의 선택 구성 요소(512)는 그러한 링크들을 선택하는 것을 용이하게 한다. 질의를 선택하는 과정에서, 그 질의와 연관된 결과들이 디스플레이(510)를 통해서 사용자에게 디스플레이될 수 있다. 본 발명의 하나의 구체적인 태양에 따를 때, 선택된 질의는 검색 엔진(502)에 입력될 수 있고, 그에 따라 사용자가 더 한정된 질의들을 "검색할 수 있도록(drill down)" 한다. 예를 들어, 사용자는 특정한 플라이 피싱의 미끼에 관심이 있을 수 있다. 그러나 첫째로 사용자가 검색 엔진(502)에 특정적이지 못한 질의인 "fly fishing"라고 입력한다. 관계 연산자(508)는 질의 "fly fishing lures"를 검색하고 사용자에게 그러한 질의를 반환한다. 사용자는 그 후, 질의 "fly fishing lures"를 선택하고, 이것은 검색 엔진(502)에 전해진다. 관계 연산자(508)는 그 후, 특정 미끼와 관련된 질의들을 반환할 수 있고, 따라서 사용자가 위치 지정하고자 의도한 미끼와 연관된 객체를 재빨리 얻을 수 있도록 한다. 나아가 검색 엔진(502)은 사용 자의 이전 검색을 저장하는 메모리(514)를 포함할 수 있다. 따라서 사용자가 질의를 선택하고 그 질의가 자신의 의도와 관련되지 않은 객체를 반환하는 것을 발견한다면, 사용자는 검색의 이전 레벨로 쉽게 복귀할 수 있다. 예를 들어, 사용자가 특정한 플라이 피싱의 미끼와 연관된 객체에 위치 지정하고자 하지만, 선택된 질의가 그러한 객체를 반환하지 않는다면, 사용자는 선택된 이전 질의(예를 들어, "fly fishing lures")로 복귀할 수 있다.
도 6과 관련하여, 사용자가 검색 엔진을 통해서 객체에 위치 지정하는 것을 보조하는 방법(600)을 도시한다. 설명의 단순화를 위해서, 방법(600)이 도시되고, 일련의 동작들로 설명되지만, 본 발명에 따라 몇몇의 동작들은 본 명세서에서 도시하고 설명한 것과 상이한 순서 및/또는 다른 동작들과 함께 발생할 수 있기 때문에 본 발명이 동작들의 순서에 의해 한정되는 것이 아니라는 것을 이해하고 알아야 한다. 예를 들어, 당해 기술 분야에서 통상의 지식을 갖춘 자는 대안으로 방법이 상태도에서와 같이, 서로 관련된 상태 또는 이벤트들의 시리즈로 표현될 수 있다는 것을 이해하고 알 수 있다. 더욱이 모든 도시된 동작들이 본 발명에 따른 방법을 구현하기 위해 필요한 것은 아니다.
602에서, 검색 엔진은 질의를 수신한다. 질의는 텍스트 질의, 사운드 또는 사운드 시리즈, 이미지 시리즈 및/또는 컬러 또는 기타 다른 적합한 질의일 수 있다. 나아가 질의는 사용자, 프로그램 등으로부터 비롯될 수 있다. 본 발명의 하나의 태양에 따를 때, 질의는 브라우저 또는 다른 적합한 인터페이스 내에서 그러한 질의를 선택하여 얻어질 수 있다. 604에서, 검색 엔진은 수신된 질의에 따라 객체들을 검색한다. 몇몇 특정적이지 못한 질의들은 수천 개 또는 심지어 수백만 개의 객체들을 반환할 수 있다(예를 들어, 월드 와이드 웹을 검색할 경우). 따라서 본 발명의 하나의 태양에 따라, 검색 엔진에 의해 위치 지정된 가장 상위에 랭크된 다수의 문서들만이 검색된다. 따라서 사용자에게는 관계가 없을 수 있는 정보가 넘쳐나지 않는다. 나아가 용어 "객체들"은 웹 페이지, 이미지, 텍스트 문서, 사운드 파일 또는 검색 엔진을 통해서 검색될 수 있는 기타 다른 적합한 객체들을 포함한다는 것을 이해해야 한다. 더욱이 검색은 기타 적합한 데이터 저장 장치 상에서 사용될 수 있다. 예를 들어, 검색은 월드 와이드 웹, 특정 서버, 로컬 하드 드라이브 등의 상에서 사용될 수 있다.
606에서, 604에서 반환된 객체들을 검색하기 위해 이전에 활용된 질의들을 검토한다. 예를 들어, 각각의 객체는 그러한 객체를 위치 지정하기 위해 사용되었던 질의들과 연관된다. 따라서 각각의 객체와 관련된 수많은 질의들이 존재한다. 나아가 각각의 연관된 질의는 반환 집합을 갖는다(예를 들어, 그러한 질의를 사용할 경우 반환되는 객체들의 리스트). 608에서, 바람직하게 사용자에게 반환되는 질의들에 대하여 판단을 내린다. 바람직한 질의들은 수신된 질의에 부합하는 반환 집합과 관련된 결과 집합과 연관되는데, 그러한 결과 집합들은 수신된 질의에 부합하는 결과 집합과 실질적으로 유사하지 않다. 따라서 바람직한 질의들은 관련되며, 신규한 객체들을 검색한다. 본 발명의 하나의 태양에 따라, 거리 메트릭은 바람직한 질의들을 판단하기 위해 수정된 MMR 방식과 관련하여 사용될 수 있다. 더 욱 구체적으로, 알고리즘
Figure 112005012516015-PAT00012
이 거리 메트릭을 판단하기 위해 사용될 수 있는데, q는 수신된 질의이고 q`는 질의 q를 통해 얻어진 객체와 에 대응하는 질의이며, R은 Q X D의 이진 관계이다. Q는 검색 엔진에 의해 이전에 활용된 질의들의 집합이고, D는 검색되기 위한 데이터 저장 장치(예를 들어, 월드 와이드 웹, 서버 등) 내의 객체들의 집합이다.
Figure 112005012516015-PAT00013
는 질의 q 및 q` 사이의 거리 메트릭이고 바람직한 질의들을 위치 지정하기 위해 이하의 수정된 MMR 알고리즘 내에서 사용될 수 있다.
Figure 112005012516015-PAT00014
λ는 선험적으로 확립된 추정 요소이고, q는 최초 질의이며, q``는 이전에 고려된 적이 있는 질의들을 나타낸다. 이러한 알고리즘을 함께 이용함으로써, 검색 엔진은 사용자에게 반환하기 위해 가장 바람직한 질의를 결정하는 것이 가능하게 된다. 그러나 기타 적합한 알고리즘이 수신된 질의와 관련된 질의들을 위치 지정하는 것과 관련하여 사용될 수 있는 것을 이해해야 한다.
610에서, 최초 질의와 관련된 객체들이 사용자에게 반환된다. 동작(610)은 사용자가 그/그녀의 의도에 부합하는 질의를 생성하는 경우 완성된다. 종래의 검색 엔진에서와 같이 객체들이 랭크되고 반환될 수 있다. 612에서, 수신된 질의와 관련되고 수신된 질의와 관련하여 신규한 질의들이 사용자에게 반환된다. 예를 들어, 사용자에게 객체들 및 질의들을 전하기 위해서 디스플레이가 사용될 수 있다. 이 후, 사용자는 그/그녀의 의도와 가장 대응하는 반환된 질의를 선택할 수 있다.
도 7과 관련하여, 검색과 관련하여 더욱 한정적으로 사용자가 "검색할 수 있도록(drill down)"하는 방법이 도시된다. 702에서, 질의가 수신되는데, 질의는 사용자, 컴퓨터 프로그램 또는 이와 유사한 것에 의해 생성될 수 있다. 704에서, 검색이 데이터 저장 장치 상에서 행해지고, 객체들이 수신된 질의에 적어도 일부 기초하여 검색된다. 본 발명의 하나의 태양에 따라, 데이터 저장 장치 내의 객체들은 그러한 개체들을 위치 지정하기 위해 이전에 이용된 질의들과 연관될 수 있다. 예를 들어, 사용자가 질의 "fly fishing in Alaska"를 이전에 이용하고, 그것과 관련된 객체가 그러한 질의에 기초하여 검색되었다면, 객체는 객체를 위치 지정하는 다른 질의들과 마찬가지로 그러한 질의와 연관될 것이다. 706에서, 객체들과 연관된 질의들이 위치 지정된다. 따라서 질의 "fly fishing"가 702에서의 수신된 질의이고, 그러한 질의가 질의 "fly fishing in Alaska"가 반환하는 동일한 객체를 반환하면, "fly fishing in Alaska"는 연관된 질의일 것이다. 모든 그러한 연관된 질의들이 706에서 위치 지정된다.
708에서, 관계가 있는 연관된 질의들이 검색되고 사용자에게 디스플레이된다. 관계가 있는 질의들은 수신된 질의들과 관련하여 신규하고, 수신된 질의와 관련된 것이어야 한다. 더욱 구체적으로, 각각의 연관된 질의는 대응하는 결과 집합(예를 들어, 그러한 질의가 사용될 경우 반환되는 객체들의 컬렉션)을 갖는다. 대 응하는 질의들의 결과 집합은 관련되어야 하지만, 수신된 질의에 대응하는 결과 집합과 실질적으로 유사하지 않아야 한다. 나아가 연관된 질의들의 결과 집합은 관련되어야 하지만 별개의 연관된 질의들과 부합하는 결과 집합과 실질적으로 유사해서는 안 된다. 이렇게 함으로써, 각각의 반환되고, 디스플레이된 질의가 중복되지 않으면서도 그럼에도 불구하고 관련된 객체들과 연관되는 것을 보장할 수 있다. 본 발명의 하나의 태양에 따를 때, 수정된 MMR 방식에 의한 거리 메트릭이 관계가 있는 연관된 질의들을 결정하는 것과 관련하여 이용될 수 있다.
710에서, 사용자는 연관된 질의들 중의 하나를 선택하고, 그러한 연관된 질의는 702에서 수신된 질의보다 실제 사용자의 의도를 더욱 잘 표현한다. 따라서 사용자는 수신된 질의를 사용할 경우 반환된 객체보다 그 의도와 더욱 관계가 있는 객체들을 제공받을 것이다. 712에서 선택된 질의와 연관된 질의들이 위치 지정된다. 예를 들어, 선택된 질의에 의해 위치 지정된 객체(들)는 그러한 객체(들)를 위치 지정하기 위해 이전에 사용된 별개의 질의들과 연관된다. 그 후, 714에서 선택된 질의와 연관된 관계가 있는 질의들이 디스플레이된다. 필터링 기술이 사용되면 관계가 있는 질의들이 선택된 질의들보다 더욱 한정적일 수 있다(예를 들어, 선택된 질의보다 짧은 질의들은 고려대상에서 제외됨). 그 후, 사용자는 가장 바람직한 질의가 위치 지정되기 전에 710에서 그의 의도를 더 잘 나타내는 다른 질의를 선택할 수 있다. 따라서 사용자는 최선의 질의가 위치 지정되기 전에 질의들을 통해서 계속 "검색할(drill down)" 수 있다. 방법(700)은 사용자가 단순히 브라우즈하는 상황에서 또한 유용한다. 예를 들어, 사용자는 플라이 피싱에 관심이 있지 만, 플라이 피싱과 관련하여 구체적인 의도를 갖고 있지 않다. 사용자는 일반적인 질의 "fly fishing"를 검색 엔진에 입력하고, 관련된 다수의 질의들이 제시될 수 있다. 연관된 질의들은 사용자가 특정 방향으로 브라우즈 하는 것을 보조할 수 있다.
도 8과 관련하여, 특정 객체와 관련된 질의들을 전달하는 방법(800)이 도시된다. 802에서, 브라우저는 특정 사이트로 향한다. 예를 들어, URL을 브라우저의 주소창에 입력하여 브라우저의 방향을 결정할 수 있다. 대안으로, 사용자는 그러한 사이트를 위치 지정하기 위해 검색 엔진을 활용한 후 사이트를 선택할 수 있다. 804에서, 어떠한 질의들이 그러한 사이트를 위치 지정하기 위해 사용된 적이 있는 지와 관련하여, 결정을 내린다. 예를 들어, 그러한 정보는 브라우저로 액세스 가능한 데이터 저장 장치 내에 위치 지정될 수 있다. 해당 사이트를 위치 지정하기 위해 어떠한 질의도 사용된 적이 없으면, 806에서 방법은 끝난다. 그렇지 않으면, 사이트를 위치 지정하기 위해 이전에 이용된 적이 있는 질의들은 808에서 검색된다. 810에서, 사용자가 선택된 사이트를 검토하는 동안 비용/유용성 분석이 수행되어 사용자에게 질의들을 디스플레이하는 것이 바람직한 것인지를 판단한다. 예를 들어, 최적의 표시(optimal view)를 위해 상당한 스크린 공간을 필요로 하는 사이트를 질의들과 함께 디스플레이하는 것은 바람직하지 않을 수 있다. 나아가 사용자 히스토리는 사용자가, 선택된 사이트와 함께 질의들이 표시되는 것을 원하지 않는다는 것을 나타낼 수도 있다.
812에서, 비용/유용성 분석에 따라 질의들을 표시하는 것이 바람직한지와 관 련하여 판단이 내려진다. 바람직하지 않다면, 질의들은 814에 디스플레이되지 않고, 사용자는 선택된 사이트만을 제공받는다. 질의들이 디스플레이되는 것이 바람직하면, 816에서 관계가 있는 질의들이 검색되고, 사용자에게 디스플레이된다. 예를 들어, 가장 적은 수의 단어를 갖는 질의가 질의로 선택될 수 있고, 그 질의 내에서 반환된 객체들이 연관된 질의들을 위치 지정하기 위해 사용될 수 있다. 더욱 구체적으로, 사용자는 알래스카 플라이 피싱이라고 URL에 입력할 수 있다. 그 후, 그러한 사이트를 위치 지정하기 위해 이전에 사용된 다수의 질의들이 검토될 수 있다. 가장 짧은 질의(예를 들어, "fly fishing")가 기초 질의로 사용될 수 있고, 그러한 질의에 의해 찾아진 모든 사이트가 검토될 수 있다. 그 후, 그러한 사이트들을 찾기 위해 이전에 사용된 질의들이 고려될 수 있고, 기초 질의와 관련된 질의들이 사용자에게 디스플레이될 수 있다. 따라서 사용자는 현재 보이는 사이트와 관련된 다수의 질의들을 제공받을 수 있다. 이것은 사용자가 관계가 있는 정보를 포함하는 다른 사이트를 브라우즈하는 것을 보조할 수 있다.
도 9와 관련하여, 이전 질의들에 따른 질의와 연관된 결과 집합의 대표적인 분할(900)(partitioning)의 예를 도시한다. 검색 엔진(902)은 특정적이지 못한 질의를 수신하고, 그러한 질의에 따라 객체들의 컬렉션을 검색한다. 도형으로 도시한 것과 같이, 특정적이지 못한 질의는 사용자의 의도와 관련되거나 혹은 관련되지 않는 넓은 범위의 객체들을 반환하게 된다(예를 들어, 넓은 범위의 주제들이 질의와 관련될 수 있음). 나아가 특정적이지 못한 질의들은 종래의 검색 엔진들을 이용할 경우, 많은 수의 문서들을 반환하게 된다. 예를 들어, 월드 와이드 웹을 검 색하는 하나의 특정한 종래 검색 엔진에 입력하였을 경우, 질의 "fly fishing"는 3,000,000 개의 보다 많은 객체들을 반환하게 된다. 그러나 결과 집합은, 이전에 사용된 질의들을 이용할 경우 더욱 한정적인 결과 집합으로 분할될 수 있다(예를 들어, 이전의 사용자가 현재의 사용자보다 더욱 한정적인 질의들을 사용함). 이러한 결과 집합들은 주제에 더욱 구체적일 뿐 아니라, 일반적으로 더 적은 수의 객체들을 포함한다. 이런 구체적인 분할(900)에서, 결과 집합(904)은 특정적이지 못한 질의 및 검색 엔진(902)을 이용함으로써 생성된다. 그러나 본 발명을 실시하면, 결과 집합은 다수의 더욱 한정적인 결과 집합들(906 내지 918)로 분할될 수 있다. 구체적으로, 결과 집합(906)은 질의M을 사용할 경우에 생성되고, 결과 집합(908)은 검색 엔진(902)이 질의N을 사용할 경우에 생성되며, 결과 집합(910)은 질의O를 사용할 경우에 생성되고, 결과 집합(912)은 검색 엔진(902)이 질의P를 사용할 경우에 생성되며, 결과 집합(914)은 질의Q를 사용할 경우에 생성되고, 결과 집합(916)은 질의R을 사용할 경우에 생성되며, 결과 집합(918) 내의 객체들을 포함하는 데이터 저장 장치 상에서의 검색을 실시하기 위해 결과 집합(918)은 검색 엔진(902)이 질의S를 사용할 경우에 생성된다. 따라서 사용자는 사용자의 의도에 따라 검색을 집중할 수 있도록 보조하는 이러한 질의들을 제공받는다.
나아가 결과 집합들(906 내지 918)은 더욱 구체적인 이전의 사용자 질의들에 따라 그 자체도 분할될 수 있음을 이해하여야 한다. 또한, 이전 질의들을 사용함으로써 생성된 결과 집합들이 최초 결과 집합(904) 내에 모두 포함되거나, 최초 결과 집합(904)에서 부분적으로 외부에 위치할 수 있다는 것을 볼 수 있다. 예를 들 어, 질의O에 대한 결과 집합(910)이 최초 결과 집합 내에 완전히 속해 있지만, 질의M에 대한 결과 집합(906)은 최초 결과 집합(904)에서 부분적으로 외부에 위치한다. 나아가 결과 집합들은 서로 부분적으로 중첩될 수 있거나 다른 결과 집합에 의해 완전히 포함될 수 있다. 예를 들어, 결과 집합(908) 및 결과 집합(910)은 부분적으로 중첩된다.
도 10과 관련하여, 결과 집합(1002)의 구체적인 분할(1000)이 도시된다. 결과 집합(1002)은 질의 "fly fishing"에 기초하여 생성되었다. 보이는 바와 같이, 그러한 질의는 넓게 늘어선 주제들을 만들어 낸다. 그러나 본 발명을 실시하면, 결과 집합은 플라이 피싱과 관련된 다수의 더욱 한정적인 결과 집합으로 분할될 수 있다. 예를 들어, 질의 "fly patterns"는 결과 집합(1004)을 생산하고, 질의 "how to fly fish"는 결과 집합(1006)을 생산하며, 질의 "Saltwater Fly fishing magazine"은 결과 집합(1008)을 생산하고, 질의 "trout flies"는 결과 집합(1010)을 생산하며, 질의 "fishing reports"는 결과 집합(1012)을 생산한다. 따라서 질의 "fly fishing"라고 검색 엔진에 입력하는 사용자는, 질의들 중의 하나가 특정적이지 못한 질의 "fly fishing"보다 사용자가 찾고자 의도하는 바를 더욱 잘 표현하는, 상술한 질의들을 제공받을 수 있다. 본 발명은 객체들 및 그러한 객체들을 검색하기 위해 사용된 질의들 사이의 상호 관계를 보유함으로써 이러한 질의들을 검색할 수 있다. 따라서 질의 "fly fishing"를 이용하여 검색된 객체들은 더욱 한정적인 질의들이 이용된 경우에도 검색되었을 수 있다. 따라서 이러한 이전 질의들 및 현재 질의 사이의 관련성 레벨은 탐지될 수 있고, 신규한 객체들을 포함하는 깊 이 관련된 질의들은 사용자에게 반환될 수 있다.
도 11과 관련하여, 본 발명의 하나 이상의 태양을 더욱 잘 이해하는 것을 용이하게 하기 위하여, 별개의 질의들에 따른 결과 집합의 대표적인 정렬(1100)(arrangement)의 예가 도시된다. 정렬은 검색 엔진과 관련하여 특정적이지 못한 질의A를 사용하여 검색된 결과 집합A(1102)를 포함한다. 예를 들어, 결과 집합A(1102)는 검색 엔진 랭킹 알고리즘(들)에 따라 상위 랭크된 객체들은 임계치 개수만큼 포함할 수 있다. 그러나 이 임계치 개수는 질의 내의 넓은 주제 내용을 커버할 수 있다. 예를 들어, 질의A가 "fly fishing"이면 상위 20개의 결과들은 플라이 피싱의 주제 내의 넓은 범위의 내용을 커버할 수 있다. 그러나 질의B 및 질의C는 더욱 한정적이고, 따라서 유사하게 더욱 한정적인 결과 집합들B(1104) 및 결과 집합C(1106)를 검색하기 위해 사용될 수 있다. 따라서 예를 들어, 사용자는 최초 질의A를 입력할 수 있고, 결과 집합A(1102)의 적어도 일부분을 전달받을 수 있다. 사용자는 또한 질의B 및 질의C를 제공받을 수 있고, 이것은 더욱 한정적이며 사용자의 의도를 더욱 잘 나타낸다. 사용자는 질의A를 이용하는 것보다 더욱 빠르게 원하는 객체를 위치 지정하는 것을 용이하게 하는 결과들을 얻기 위해 질의B 및/또는 질의C를 사용하는 것을 선택할 수 있다. 나아가 질의B 및 질의C는 또한 서로 관련될 수 있고, 결과 집합B(1104) 및 결과 집합C(1106)가 적어도 부분적으로 중첩하도록 한다.
본 도면에서 도시된 것과 같이, 결과 집합B(1104)는 질의들(D 및 E)을 이용하여 더욱 분할될 수 있고, 결과 집합C는 질의D, 질의F 및 질의G을 이용하여 더욱 분할될 수 있다. 이러한 질의들은 차례로 결과 집합D(1108), 결과 집합E(1110), 결과 집합F(1112) 및 결과 집합G(1114)을 생성한다. 이러한 결과 집합들(1108 내지 1114)은 결과 집합B(1104) 및 결과 집합C(1106)의 분할이며, 따라서 결과 집합A(1102)의 분할들이다. 나아가 결과 집합E(1110) 및 결과 집합F(1112)는 적어도 부분적으로 중첩할 수 있고, 결과 집합F(1112) 및 결과 집합G(1114)는 적어도 부분적으로 중첩할 수 있다. 하나의 예로, 사용자는 질의A를 입력할 수 있고 사용자의 의도와 매우 관련되지 않은 객체들을 포함하는 결과 집합A(1102)을 얻을 수 있다. 질의B 및 질의C가 제공되고 그러한 질의들을 보는 과정에서 사용자는 그들 중 하나가 사용자의 의도를 더욱 잘 나타낸다고 판단할 수 있다. 그 후, 사용자는 질의B를 선택하고 결과 집합B(1104)을 얻으며, 마찬가지로 사용자의 의도를 더욱 잘 나타낼 수 있는 질의D 및 질의E를 제공받는다. 만약 질의E가 선택되면, 사용자의 의도와 깊이 관련된 객체들을 포함하는 결과 집합E(1110)이 사용자에게 디스플레이될 수 있다.
도 12와 관련해서, 본 발명의 다른 대표적인 이용예(1200)가 도시된다. 특정적이지 못한 질의A에 대한 결과 집합(1202)은 검색 엔진이 검색과 관련해서 특정적이지 못한 질의A를 사용하는 경우에 생성된다. 본 발명은 결과 집합을, 결과 집합들 내의 객체들을 위치 지정하기 위해 이전에 이용된 질의들에 기초한 더욱 한정적인 다수의 결과 집합들로 분할하는 것을 용이하게 한다. 예를 들어, 결과 집합(1204)은 이전이 질의M이 검색 엔진과 관련하여 사용된 경우 생성될 수 있고, 결과 집합(1206)은 이전이 질의N이 이용된 경우 생성될 수 있으며, 결과 집합(1208)은 이전이 질의O가 객체들의 컬렉션을 검색하기 위해 사용된 경우 생성될 수 있다. 예를 들어, 질의A가 "fly fishing"일 수 있고, 질의M이 "how to fly fish"일 수 있으며, 질의N이 "fly fishing reports"일 수 있고, 질의O가 "trout flies"일 수 있다. 이런 모든 질의들은 플라이 피싱과 관련되고, 사용자가 특정 객체를 위치 지정하는 것을 보조하도록 이용될 수 있다. 이런 결과 집합들(1204 내지 1208)은 또한 플라이 피싱과 지엽적으로 관련된 질의P를 위치 지정하기 위해 사용될 수 있다. 예를 들어, 이러한 것은 결과 집합들(1204 내지 1208) 내의 객체들로부터 인링크(inlinks) 및 아웃링크(outlinks)를 검토함으로써 성취가능하다. 이런 구체적인 예에서, 결과 집합(1204) 및 결과 집합(1208) 내의 객체들은 질의P에 대한 결과 집합(1210) 내의 수많은 객체들에 대한 인링크 및/또는 아웃링크를 갖는다. 예를 들어, 상기와 같이 질의M이 "how to fly fish"일 수 있고 질의O는 "trout flies"일 수 있다. 결과 집합들(1204 및 1208) 내의 다수의 객체들은 단지 플라이 피싱과만 지엽적으로 관련된 바닷물 낚시 객체들에 대한 아웃링크를 포함할 수 있다. 이러한 수많은 객체들을 단일 질의P를 이용하여 찾을 수 있다(예를 들어, "Saltwater fishing on East Coast"). 본 발명은 사용자에게 최초 질의A와 지엽적으로 관련된 하나 이상의 질의들을 제공하기 위해 분할된 결과 집합 내의 인링크 및/또는 아웃링크를 검토하는 것을 의도한다. 이것은 사용자가 특정 의도를 가지고 있지 않지만, 관심이 있는 객체를 발견하기 전까지 객체들의 컬렉션을 단순히 브라우즈하는 경우에 유용할 수 있다.
도 13과 관련해서, 본 발명의 대표적인 구현(1300)의 예가 도시된다. 구현 (1300)에서 최초 특정적이지 못한 질의(1302)가 "fly fishing"라고 상부에 디스플레이된다. 질의 바로 아래에는 최초 질의 "fly fishing"와 관련되지만 실질적으로 유사한 결과들을 반환하지 않는 (예를 들어, 질의 "fly fishing"로부터의 상위 10개의 결과 및 질의들(1304)을 이용할 경우의 상위 10개의 결과가 실질적으로 유사하지 않음) 질의들(1304)의 리스트가 있다. 이런 질의들(1304)은 하이퍼링크(hyperlinked)되고, 질의들 중의 하나를 선택하는 것은 사용자가 반환 페이지의 별개의 부분으로 향하도록 한다. 더욱이 질의들 중의 하나를 선택하면, 사용자에게 위치 지정되고 디스플레이되는 별개의 관련된 질의들로 완전히 새로운 검색이 행해진다. 질의들(1304)의 리스트 아래에는 질의 "fly fishing"로 검색하는 것으로부터의 정수개의 결과들(1306)이 있다. 이러한 결과들은 사용자가 질의 "fly fishing"를 사용하여 특정 객체를 찾을 수 있는 것을 아는 경우에 반환된다.
결과들의 리스트 아래에, 질의(1308)가 결과들을 디스플레이하기 위해 그러한 질의들이 확장 또는 접을 수 있는 +/- 토글(toggle)과 함께 디스플레이된다. 이 대표적인 구현 예에 있어서, 질의 "fly fishing equipment"가 확장되어 있고, 그러한 질의를 이용할 경우에 찾을 수 있는 다수의 결과들(1310)이 리스트되어 있다. 예를 들어, 가장 상위에 랭크된 결과들이 임계치 개수만큼 사용자에게 반환될 수 있고, 그럼으로써 사용자가 원하는 객체를 찾기 위해 수많은 결과들을 읽어야 하는 경우를 줄일 수 있다.
도 14와 관련해서, 본 발명의 다른 대표적인 구현(1400)의 예가 도시된다. 월드 와이드 웹 상에서 방문하고자 하는 원하는 주소의 URL을 입력하기 위해서 사 용될 수 있는 주소창(1404)을 포함하는 브라우저(1402)가 사용된다. 브라우저는 주소창(1404)에 주소를 입력하거나, 별개의 사이트로부터 링크를 선택, 검색 엔진을 이용하는 등의 방법을 통해 페이지로 향할 수 있다. 브라우저(1402)는 URL에 따라 사이트를 디스플레이하는 디스플레이영역(1406)을 포함한다. 브라우저(1402)는 또한 그러한 사이트를 위치 지정하기 위해 이전에 이용된 질의들을 디스플레이하기 위해 사용될 수 있는 디스플레이영역(1408)을 포함한다. 예를 들어, 사이트를 검색하기 위해 사용될 수 있는 짧은 질의가 기초 질의로 사용될 수 있고, 기초 질의에 적어도 일부 기초하여 사이트를 수신하기 위해서 사용될 수 있는 관련된 질의들이 판단될 수 있다. 따라서 사용자가 디스플레이영역(1406) 상에 보이는 것과 유사한 정보를 원한다면, 그러한 사용자는 그러한 정보를 위치 지정하기 위해 단순히 디스플레이영역(1408)에서 질의를 선택할 수 있다.
도 15 및 16과 관련해서, 본 발명의 사용자가 최초 질의의 반환 집합들 및 관련된 질의들의 반환 집합들 사이에서 요구되는 중첩의 양을 제어하도록 하는 대표적인 구현예들이 도시된다. 그러한 구현들은 사용자가 최초 질의 및 검색된 질의들 사이의 우연성의 레벨을 제어함으로써 검색 엔진을 사용자 지정할 수 있도록 한다. 더욱 구체적으로, 최초 질의의 반환 집합들 및 이전 질의들의 반환 집합들 사이에 상당한 중첩을 요구하는 것은 유사한 질의들을 검색하게 하지만, 그러한 반환 집합들 사이의 적은 중첩을 요구하는 것은 더욱 우연히 관련된 질의들을 검색하게 한다. 도 15와 관련해서, 본 발명의 하나의 특정한 대표적인 구현(1500)의 예는 질의 박스(1502)를 포함하며, 사용자는 질의 "honeymoon"을 입력하였다. "serendipitometer"라고 명명된 슬라이드 바(1504)는 질의 "honeymoon"의 반환 집합들 및 이전 질의들의 반환 집합들 사이에 요구되는 중첩의 양을 제어하기 위해 사용자에 의해서 사용될 수 있다. 예를 들어, 이 대표적인 구현의 예에서, 슬라이드 바(1504)는 최초 질의 "honeymoon"의 반환 집합들 및 이전 질의들의 반환 집합들 사이에 중첩의 상당한 양을 요구하도록 위치하고 있다(예를 들어, 덜 우연적인 질의들이 사용자에게 반환될 수 있음). 더욱 구체적으로, 최초 질의 "honeymoon"은 "honeymoons", "honeymoon destinations", "honeymoon packages", "destination weddings", "honeymoon vacations", "wedding packages", "wedding cruises", 'honeymoon cruises", "romantic vacations" 및 "honeymoon resorts"와 같은 다수의 유사한 질의들(1506)을 만든다. 그러한 질의들을 검토하여 결정할 수 있듯이, 이것들은 일반적으로 최초 질의 "honeymoon"에 대해 더욱 한정적이고, 그/그녀의 의도를 반영하는 질의가 위치 지정되기 전까지 사용자에 의해서 "검색되도록(drill down)" 이용될 수 있다. 나아가 최초 질의가 원하는 객체를 반환하는 경우, 질의 "honeymoon"을 사용함으로써 다수의 상위 랭크된 객체들(1508)이 사용자에게 반환된다.
도 16과 관련하여, 본 발명의 별개의 대표적인 구현(1600)의 예가 도시된다. 질의 "honeymoon"이 다시 질의 박스(1502)에 입력되지만, 슬라이드 바(1504)가 최초 질의 "honeymoon"의 반환 집합들 및 이전 질의들의 반환 집합들 사이에 적은 양의 중첩을 요구하도록 위치하고 있다. 이로써, 다수의 질의들(1504)이 최초 질의와 우연히 관련되도록 한다(예를 들어, 사용자가 구체적으로 찾고자 의도하지 않은 유용한 정보를 사용자에게 제공할 수 있는 질의들). 본 대표적인 실시예에 있어서, "passport applications", "oahu" 및 "cheap trips"와 같은 반환된 질의들은 사용자에게 직접적으로 연관되지는 않지만, 그러한 사용자는 그러한 정보가 유용하다고 생각할 수 있다. 예를 들어, 사용자가 신혼 여행지를 검토하는 경우 해외로 여행가고자 하지만, 아직 여권 신청서를 생각하지 못했을 수 있다. 따라서 본 발명은 사용자가 사용자의 의도와 지엽적으로 관련된 정보를 찾는 것을 보조하기 위해 이용될 수 있다. 대표적인 구현(1500(도 15) 및 1600)의 예가 슬라이드 바(1504)를 이용하고 있지만, 사용자가 최초 질의의 반환 집합 및 이전 질의들의 반환 집합 사이에 요구되는 중첩의 레벨을 변화하도록 하는 어떤 적합한 메커니즘도 사용될 수 있다는 것을 이해해야 한다. 나아가 최초 질의의 반환 집합 및 이전 질의들의 반환 집합 사이에 요구되는 중첩의 레벨은 사용자를 장시간 관찰하고 주어진 특정 상태들 및/또는 상황들 하에서 사용자가 원하는 질의들의 종류를 학습함으로써 인공 지능 구성 요소(들)를 통해 자동적으로 결정될 수 있다.
도 17과 관련하여, 본 발명의 다양한 태양들을 구현하기 위한 대표적인 환경(1710)의 예를 도시한다. 컴퓨터(1712)는 어떠한 적합한 컴퓨팅 장치(예를 들어, 개인 휴대 정보 단말기(personal digital assistant), 랩탑 컴퓨터, 서버, 데스크탑 컴퓨터 등)일 수 있다. 컴퓨터(1712)는 프로세싱 유닛(1714), 시스템 메모리(1716) 및 시스템 버스(1718)를 포함한다. 시스템 버스(1718)는 시스템 메모리(1716)를 포함하는, 그렇지만 이에 제한되지 않고, 시스템 구성 요소를 프로세싱 유닛(1714)에 연결한다. 프로세싱 유닛(1714)은 다양한 적용 가능한 프로세서들 중의 어느 것일 수도 있다. 듀얼 마이크로프로세서 및 다른 멀티프로세서 구조들 또한 프로세싱 유닛(1714)으로 사용될 수 있다.
시스템 버스(1718)는 메모리 버스나 메모리 컨트롤러 또는 주변 장치 버스 나 외부 장치 버스 및/또는 8 비트 버스, Industrial Standard Architecture (ISA), Micro-Channel Architecture(MSA), Extended ISA(EISA), Intelligent Drive Electronics(IDE), VESA Local Bus(VLB), Peripheral Component Interconnect(PCI), Universal Serial Bus(USB), Advanced Graphics Port(AGP), Personal Computer Memory Card International Association bus(PCMCIA) 및 Small Computer Systems Interface(SCSI)를 포함하지만 이에 한정되지 않는 어떠한 다양한 적용 가능한 버스 구조를 사용하는 로컬(local) 버스를 포함하는 버스 구조(들)의 몇몇 유형 중 어떠한 것도 될 수 있다.
시스템 메모리(1716)는 휘발성 메모리(1720) 및 비휘발성 메모리(1722)를 포함한다. 스타트업하는 동안과 같이, 컴퓨터(1712) 내의 소자들 사이의 정보를 전달하기 위한 기초 루틴을 포함하는 basic input/output system(BIOS)은 비휘발성 메모리(1722) 내에 저장된다. 한정하지는 않지만 설명하자면, 비휘발성 메모리(1722)는 read only memory(ROM), programmable ROM(PROM), electrically programmable ROM(EPROM), electrically erasable ROM(EEPROM) 및 flash memory 포함할 수 있다. 휘발성 메모리(1720)는 외부 캐쉬 메모리와 같이 행동하는 랜덤 액세스 메모리(RAM)를 포함한다. 한정하지는 않지만 설명하자면, RAM은 synchronous RAM(SRAM), dynamic RAM(DRAM), synchronous DRAM(SDRAM), double data rate SDRAM(DDR SDRAM), enhanced SDRAM(ESDRAM), Synchlink DRAM(SLDRAM) 및 direct Rambus RAM(DRRAM)과 같은 많은 형태가 적용 가능하다.
컴퓨터(1712)는 또한 분리성(removable)/비분리성(non-removable), 휘발성/비휘발성 컴퓨터 기억매체를 포함한다. 도 17은 예를 들어, 디스크 저장소(1724)를 도시한다. 디스크 저장소(1724)는 마그네틱 디스크 드라이브, 플로피 디스크 드라이브, 테이프 드라이브, 재즈 드라이브(Jaz drive), 집 드라이브(Zip drive), LS-100 드라이브, 플래쉬 메모리 카드 또는 메모리 스틱(memory stick)을 포함하지만 이에 한정되지는 않는다. 부가하면, 디스크 저장 장치(1724)는 저장 매체를 개별적으로 포함할 수 있거나 또는 compact disk ROM device(CD-ROM), CD recordable drive(CD-R Drive), CD rewritable drive(CD-RW Drive), digital versatile disk ROM drive(DVD-ROM)와 같은 광디스크 드라이브를 포함하지만 이에 한정되지는 않는 다른 기억 매체와 조합되어 포함될 수 있다. 디스크 저장 장치(1724)의 시스템 버스(1718)에의 접속을 용이하게 하기 위해서, 분리성 또는 비분리성 인터페이스가 인터페이스(1726)와 같이 일반적으로 사용된다.
도 17은 적합한 운영 환경(1710) 내에서 설명된 사용자들 및 기초 컴퓨터 자원들 사이의 매개체로 활동하는 소프트웨어를 설명한다는 것을 이해해야 한다. 그러한 소프트웨어는 운영 체제(1728)를 포함한다. 디스크 저장장치(1724) 상에 저장될 수 있는 운영 체제(1728)는 컴퓨터 시스템(1712)의 자원들을 제어하고 할당하기 위해 동작한다. 응용 시스템(1730)은 시스템 메모리(1716) 또는 디스크 저장장치(1724) 중 한 곳에 저장되어 있는 프로그램 모듈(1732) 및 프로그램 데이터 (1734)를 통해서 운영 체제(1728)에 의해 자원 관리에 장점을 갖는다. 본 발명은 다양한 운영 체제 또는 운영 체제들의 조합들로 구현될 수 있다는 것을 이해해야 한다.
사용자는 명령어 또는 정보를 입력 장치(들)(1736)를 통해서 컴퓨터 (1712)에 입력한다. 입력 장치(1736)는 마우스, 트랙볼(trackball), 스타일러스(stylus), 터치 패드(touch pad), 키보드, 마이크로폰, 조이스틱, 게임 패드, 위성 안테나(satellite dish), 스캐너, TV 튜너 카드, 디지털 카메라, 디지털 비디오 카메라, 웹 카메라 및 이와 유사한 것과 같은 위치 지정 도구(pointing device)를 포함하지만 이에 한정되지는 않는다. 이러한 장치 및 다른 입력 장치들은 인터페이스 포트(들)(1738)를 거쳐 시스템 버스(1718)를 통해 프로세싱 유닛(1714)에 접속된다. 인터페이스 포트(들)(1738)는 예를 들어, 시리얼 포트, 패러렐 포트, 게임 포트 및 유니버설 시리얼 버스(USB)를 포함한다. 출력 장치(들)(1740)는 입력 장치(들)(1736)와 같은 유형의 포트들을 사용한다. 따라서 예를 들어, USB 포트는 컴퓨터(1712)에 입력을 제공하고, 출력 장치(1740)로 컴퓨터(1712)로부터의 정보를 출력하기 위해 사용될 수 있다. 출력 어댑터(1742)는 특별한 어댑터를 요구하는 다른 출력 장치들(1740) 중의 모니터, 스피커 및 프린터와 같은 출력 장치들(1740)이 있는 것을 도시하기 위해서 제공된다. 출력 어댑터(1742)는 한정하지는 않지만 설명하자면, 출력 장치(1740) 및 시스템 버스(1718) 사이의 접속의 수단을 제공하는 비디오 및 사운드 카드들을 포함한다. 다른 장치들 및/또는 장치들의 시스템이 원격 컴퓨터(들)(1744)와 같은 입력 및 출력 능력들을 제공한다는 것을 알아야 한 다.
컴퓨터(1712)는 원격 컴퓨터(들)(1744)와 같은 하나 이상의 원격 컴퓨터들에의 논리적 접속을 사용하는 네트워크 환경 내에서 운영된다. 원격 컴퓨터(들)(1744)는 개인용 컴퓨터, 서버, 라우터, 네트워크 PC, 워크스테이션, 마이크로프로세서 기반 기기, 피어 장치(peer device) 또는 기타 공통 네트워크 노드(node) 및 이와 유사한 것일 수 있고, 일반적으로 컴퓨터(1712)와 관련하여 설명한 소자들의 많은 수 또는 전부를 포함한다. 간결함을 목적으로, 기억 장치(memory storage device)(1746)만이 원격 컴퓨터(1744)에 도시한다. 원격 컴퓨터(들)(1744)는 논리적으로 네트워크 인터페이스(1748)를 통해서 컴퓨터(1712)에 접속되고, 물리적으로 통신 접속(1750)을 통해 접속된다. 네트워크 인터페이스(1748)는 랜(LAN) 및 광역 통신망(WAN)과 같은 통신 네트워크들을 포함한다. LAN 기술은 광섬유 분산 데이터 인터페이스(FDDI), 동선 분산 데이터 인터페이스(CDDI), 이더넷/IEEE 802.3, 토큰 링/IEEE 802.5 및 이와 유사한 것을 포함한다. WAN 기술은 2지점간 링크, 종합 정보 통신망(ISDN) 및 그 변형물과 같은 회로 스위칭 네트워크, 패킷 스위칭 네트워크 및 디지털 가입자 선로(DSL)를 포함하지만 이에 한정되지는 않는다.
통신 접속(들)(1750)은 네트워크 인터페이스(1748)를 버스(1718)에 접속하는데 사용되는 하드웨어/소프트웨어를 언급한다. 통신 접속(1750)이 도시의 명확함을 위해 컴퓨터(1712)의 내부에 도시되었지만, 컴퓨터(1712)의 외부에 있을 수도 있다. 네트워크 인터페이스에의 접속을 위한 하드웨어/소프트웨어 필수품으로는, 단지 예시적 목적으로, regular telephone grade 모뎀, 케이블 모뎀 및 DSL 모뎀을 포함하는 모뎀, ISDN 어댑터 및 이더넷 카드들과 같은 내부 및 외부 기술을 포함한다.
도 18은 본 발명이 상호 작용할 수 있는 샘플 컴퓨팅 환경(1800)의 개략도이다. 시스템(1800)은 하나 이상의 클라이언트(들)(1810)를 포함한다. 클라이언트(들)(1810)는 하드웨어 및/또는 소프트웨어(예를 들어, 스레드, 프로세스, 컴퓨팅 장치들)일 수 있다. 시스템(1800)은 또한 하나 이상의 서버(들)를 포함한다. 서버(들)(1830)는 하드웨어 및/또는 소프트웨어(예를 들어, 스레드, 프로세스, 컴퓨팅 장치들)일 수 있다. 서버(1830)는 예를 들어, 본 발명을 사용하여 변형을 수행하기 위해 스레드를 포함할 수 있다. 클라이언트(1810) 및 서버(1830) 사이의 한 가지 가능한 통신은 두 개 이상의 컴퓨터 프로세스 사이에 전달되기 위해 적용되는 데이터 패킷의 형태일 수 있다. 시스템(1800)은 클라이언트(들)(1810) 및 서버(들)(1830) 사이의 통신을 용이하게 하기 위해 사용될 수 있는 통신 프레임워크(framework)(1850)를 포함한다. 클라이언트(들)(1810)는 클라이언트(들)(1810)에서 떨어진 정보를 저장하기 위해 사용될 수 있는 하나 이상의 클라이언트 데이터 저장 장치(들)(1860)에 조작가능하게 접속된다. 유사하게 서버(들)(1830)는 서버(1830)에서 떨어진 정보를 저장하기 위해 사용될 수 있는 하나 이상의 서버 데이터 저장 장치(들)(1840)에 조작가능하게 접속될 수 있다.
상술한 것은 본 발명의 예들을 포함한다. 물론, 본 발명을 설명하기 위한 목적으로 구성 요소 또는 방법의 모든 생각할 수 있는 조합을 설명하는 것이 불가능하지는 않지만, 당해 분야에서 통상의 지식을 갖춘 자는 본 발명의 다른 조합 및 치환이 가능하다는 것을 인식할 수 있을 것이다. 따라서 본 발명은 첨부한 청구항의 정신 및 범위 내에 있는 그러한 모든 변경, 수정 및 변형을 포함하도록 의도되었다. 나아가 용어 "포함한다(includes)"가 발명의 상세한 설명 또는 청구항에서 사용된 것에 있어서, 그러한 용어는 청구항에서 변화하는 어휘로 사용되는 경우에 "포함하는(comprising)"이 해석되는 것과 같이, 용어 "포함하는(comprising)"에 유사한 형태로 포함되도록 의도되었다.
사용자 검색 질의의 결과 집합과 관련되지만, 그것과 실질적으로 유사하지 않은 결과 집합을 갖는 이전의 질의들을 선택하고, 사용자에게 그러한 질의들을 디스플레이하는 하여, 사용자는 이전 질의들을 검토하고, 사용자 검색 질의와 비교하였을 경우 하나 이상의 이전 질의가 그/그녀의 의도를 더욱 잘 나타내는지를 결정할 수 있다. 나아가 사용자는 그러한 질의들과 연관된 결과 집합을 검토하기 위해 디스플레이된 이전 질의를 선택할 수 있다. 따라서 사용자는 그러한 객체들을 위치 지정하기 위해 이전에 사용된 질의들을 이용하여 원하는 객체에 빠르게 위치 지정할 수 있다.

Claims (39)

  1. 사용자의 의도(an intent of a user)를 결정하는 것을 용이하게 하는 시스템으로서,
    사용자 검색 질의에 대한 결과 집합(result set)을 식별하는 검색 구성 요소; 및
    상기 사용자 검색 질의의 결과 집합 및 이전 질의들의 결과들에 적어도 일부 기초하는 잠재적인 검색 영역들(potential search areas)의 집합을 판단하는 사용자 의도 발견 구성 요소
    를 포함하는 사용자의 의도를 결정하는 것을 용이하게 하는 시스템.
  2. 제1항에 있어서, 상기 이전 질의들은 상기 사용자 검색 질의의 상기 결과 집합을 검토하여 얻어지는 사용자의 의도를 결정하는 것을 용이하게 하는 시스템.
  3. 제1항에 있어서, 상기 이전 질의들 및 상기 사용자 검색 질의 사이의 관련성 레벨(level of relation)은, 상기 이전 질의들 및 상기 사용자 검색 질의 사이의 거리 메트릭(distance metric)을 판단하여 적어도 일부가 얻어지는 사용자의 의도를 결정하는 것을 용이하게 하는 시스템.
  4. 제3항에 있어서, 상기 거리 메트릭은 알고리즘
    Figure 112005012516015-PAT00015
    을 이용하여 결정되는데,
    Figure 112005012516015-PAT00016
    는 상기 사용자 검색 질의 q 및 하나 이상의 이전 질의들 q` 사이의 거리 메트릭이고, R은 Q X D의 이진 관계이며, Q는 상기 검색 구성 요소에 의해 이전에 사용된 질의들의 집합이고, D는 상기 검색 구성 요소에 의해 검색된 데이터 저장 장치 내의 객체들의 집합인 사용자의 의도를 결정하는 것을 용이하게 하는 시스템.
  5. 제4항에 있어서, 상기 이전 질의들 및 상기 사용자 검색 질의 사이의 상기 관련성 레벨은 수정된 최대 한계 관련성 방식(modified maximal marginal relevance scheme)을 이용하여 적어도 일부가 얻어지는 사용자의 의도를 결정하는 것을 용이하게 하는 시스템.
  6. 제5항에 있어서, 상기 최대 한계 관련성 방식은 알고리즘
    Figure 112005012516015-PAT00017
    을 사용하는데, λ는 선험적으로 확립된 추정 요소(interpolation factor that is established a priori)이고, q``는 q`를 고려하기 전에 이미 고려된 적이 있는 하나 이상의 이전 질의들을 나타내는 사용자의 의도를 결정하는 것을 용이하게 하는 시스템.
  7. 제1항에 있어서, 상기 사용자 검색 질의의 상기 결과 집합 내의 객체들의 수를 제한하는 필터 구성 요소를 더 포함하는 사용자의 의도를 결정하는 것을 용이하게 하는 시스템.
  8. 제1항에 있어서, 상기 사용자 검색 질의 보다 적은 단어를 갖는 이전 질의들을 고려 대상에서 제외하는 필터 구성 요소를 더 포함하는 사용자의 의도를 판단하는 것을 용이하게 하는 시스템.
  9. 제1항에 있어서, 미리 정해진 문자열을 포함하는 이전 질의들을 고려 대상에서 제외하는 필터 구성 요소를 더 포함하는 사용자의 의도를 결정하는 것을 용이하게 하는 시스템.
  10. 제1항에 있어서, 상기 사용자 검색 질의와 어휘적으로 유사한 이전 질의들을 고려 대상에서 제외하는 필터 구성 요소를 더 포함하는 사용자의 의도를 결정하는 것을 용이하게 하는 시스템.
  11. 제1항에 있어서, 인쇄 가능한 ASCII 문자들이 아닌 문자들을 포함하는 이전 질의들을 고려 대상에서 제외하는 필터 구성 요소를 더 포함하는 사용자의 의도를 결정하는 것을 용이하게 하는 시스템.
  12. 제1항에 있어서, 사용자 기호에 따라 시스템의 사용자 지정(customize)을 용이하게 하는 피드백 구성 요소를 더 포함하는 사용자의 의도를 결정하는 것을 용이하게 하는 시스템.
  13. 제1항에 있어서, 하나 이상의 사용자 상태(user state), 사용자 히스토리(user history), 사용자 상황(user context) 및 상황적 정보(contextual information)에 따라 상기 잠재적 검색 영역을 선택하고 정렬하는 것 중 적어도 하나와 관련하여 추측을 하는(makes inferences) 인공 지능 구성 요소를 더 포함하는 사용자의 의도를 결정하는 것을 용이하게 하는 시스템.
  14. 제13항에 있어서, 상기 상황적 정보는 온도, 하루 중의 시간, 장소, 요일 중 적어도 하나를 포함하는 사용자의 의도를 결정하는 것을 용이하게 하는 시스템.
  15. 제1항에 있어서, 상기 잠재적 검색 영역의 선택 및 정렬의 적어도 하나와 관련된 정보를 포함하는 사용자 프로필을 더 포함하는 사용자의 의도를 결정하는 것을 용이하게 하는 시스템.
  16. 제15항에 있어서, 상기 사용자 프로필은 이동할 수 있는(portable) 사용자의 의도를 결정하는 것을 용이하게 하는 시스템.
  17. 사용자의 의도를 결정하는 것을 용이하게 하는 시스템으로서,
    사용자 검색 질의를 수신하는 검색 엔진으로서, 상기 사용자 검색 질의에 따라 데이터 저장 장치 내의 객체들을 검색하되, 상기 객체들은 상기 객체들을 위치 지정하기 위해 이전에 사용된 질의들과 연관되는 검색 엔진; 및
    상기 사용자 질의 및 상기 이전 질의 사이의 관련성 레벨을 판단하는 질의 관계 연산자로서, 상기 계산된 관련성 레벨에 적어도 일부 기초하여 사용자에게 디스플레이하기 위한 이전 질의들을 선택하는 질의 관계 연산자
    를 포함하는 사용자의 의도를 결정하는 것을 용이하게 하는 시스템.
  18. 제17항에 있어서, 상기 관련성 레벨은 상기 사용자 검색 질의 및 상기 이전 질의들 사이의 거리 메트릭에 적어도 일부 기초하는 사용자의 의도를 결정하는 것을 용이하게 하는 시스템.
  19. 제18항에 있어서, 상기 거리 메트릭은 알고리즘
    Figure 112005012516015-PAT00018
    을 이용하여 결정되는데,
    Figure 112005012516015-PAT00019
    은 상기 사용자 검색 질의 q 및 하나 이상의 이전 질의 q` 사이의 거리 메트릭이고, R은 Q X D의 이진 관계이며, Q는 상기 검색 구성 요소에 의해 이전에 사용된 질의들의 집합이고, D는 상기 검색 구성 요소에 의해 검색된 데이터 저장 장치 내의 객체들의 집합인 사용자의 의도를 결정하는 것을 용이하게 하는 시스템.
  20. 제19항에 있어서, 상기 이전 질의 및 상기 사용자 질의 사이의 상기 관련성 레벨은 수정된 최대 한계 관련성 방식(modified maximal marginal relevance scheme)을 적어도 일부 이용하여 얻어지는 사용자의 의도를 결정하는 것을 용이하게 하는 시스템.
  21. 제20항에 있어서, λ는 선험적으로 확립된 추정 요소이고, q``는 q`를 고려하기 전에 이미 고려된 적이 있는 하나 이상의 이전 질의들을 나타내는 경우, 상기 최대 한계 관련성 방식은 알고리즘
    Figure 112005012516015-PAT00020
    을 사용하는 사용자의 의도를 결정하는 것을 용이하게 하는 시스템.
  22. 제17항에 있어서, 상기 객체들은 하나 이상의 문서, 사운드, 비디오, 이미지 및 웹 사이트를 포함하는 사용자의 의도를 결정하는 것을 용이하게 하는 시스템.
  23. 제17항에 있어서, 사용자가 상기 이전 질의들 중의 하나를 선택하고, 상기 선택된 이전 질의들은 상기 사용자 검색 질의로 사용되는 사용자의 의도를 결정하 는 것을 용이하게 하는 시스템.
  24. 제17항의 시스템을 포함하는 핸드폰(cellular phone).
  25. 제17항의 시스템을 포함하는 개인 휴대 정보 단말기(personal digital assistant).
  26. 클라이언트에 저장된 제17항의 시스템.
  27. 제17항에 있어서, 상기 데이터 저장 장치는 인터넷, 인트라넷, 서버 및 하드 드라이브 중의 하나인, 사용자의 의도를 결정하는 것을 용이하게 하는 시스템.
  28. 제17항에 있어서, 상기 사용자 검색 질의 및 상기 이전 질의들 사이의 상기 관련성 레벨을 판단하는 것과 관련하여 상기 사용자 검색 질의의 반환 집합(return set) 및 상기 이전 질의들의 반환 집합들 사이에 요구되는 중첩의 양을 선택하기 위해 사용되는 우연성 구성 요소(serendipity component)를 더 포함하는 사용자의 의도를 결정하는 것을 용이하게 하는 시스템.
  29. 제28항에 있어서, 상기 우연성 구성 요소는 사용자에 의해 변경 가능한 사용자의 의도를 결정하는 것을 용이하게 하는 시스템.
  30. 제28항에 있어서, 상기 우연성 구성 요소는 하나 이상의 사용자 상태, 사용자 신원(user identity), 사용자 상황, 사용자 히스토리에 적어도 일부 기초하여 자동적으로 조정되는 사용자의 의도를 결정하는 것을 용이하게 하는 시스템.
  31. 사용자가 다수의 객체들을 검색하는 것을 보조하기 위한 방법으로서,
    사용자 검색 질의를 수신하는 단계;
    사용자 검색 결과 집합을 생성하기 위해 상기 사용자 검색 질의에 따른 객체들에 대한 데이터 저장 장치를 검색하는 단계;
    상기 사용자 검색 결과 집합 내의 하나 이상의 객체들을 위치 지정하기 위해 이전에 사용된 질의를 검색하는 단계;
    상기 이전 질의의 결과 집합 및 상기 사용자 검색 결과 집합 사이의 계산된 관련성 레벨에 기초하여 이전에 사용된 질의를 선택하는 단계; 및
    상기 검색된 질의를 디스플레이하는 단계
    를 포함하는 사용자가 다수의 객체들을 검색하는 것을 보조하기 위한 방법.
  32. 제31항에 있어서, 상기 이전 질의의 상기 결과 집합 및 상기 사용자 검색 결과 집합 사이의 상기 관련성 레벨을 계산하기 위해서 거리 메트릭을 이용하는 단계를 더 포함하는 사용자가 다수의 객체들을 검색하는 것을 보조하기 위한 방법.
  33. 제32항에 있어서, 상기 이전 질의의 상기 결과 집합 및 상기 사용자 검색 결과 집합 사이의 상기 관련성 레벨을 계산하기 위해서 수정된 최대 한계 관련성 방식을 이용하는 단계를 더 포함하는 사용자가 다수의 객체들을 검색하는 것을 보조하기 위한 방법.
  34. 제31항에 있어서, 상기 관련성 레벨에 따라 다수의 질의들 내에 상기 선택된 질의들을 위치시키는 단계를 더 포함하는 사용자가 다수의 객체들을 검색하는 것을 보조하기 위한 방법.
  35. 제31항에 있어서, 상기 디스플레이된 질의를 선택하는 단계 및 상기 디스플레이된 질의를 상기 사용자 검색 질의로 이용하는 단계를 더 포함하는 사용자가 다수의 객체들을 검색하는 것을 보조하기 위한 방법.
  36. 제31항에 있어서, 상기 데이터 저장 장치는 인터넷, 인트라넷, 서버 및 하드 드라이브 중의 하나인 사용자가 다수의 객체들을 검색하는 것을 보조하기 위한 방법.
  37. 객체들을 검색하는 것과 관련하여 사용자를 보조하는 시스템으로서,
    객체들과 그러한 객체들을 위치 지정하기 위해 이전에 이용된 질의들을 연관시키기 위한 수단;
    주어진 사용자 검색 질의에 대하여 상기 객체들을 검색하기 위한 수단;
    상기 이전에 이용된 질의들 및 상기 사용자 검색 질의 사이의 관련성 레벨을 판단하기 위한 수단; 및
    상기 판단된 관련성 레벨에 따라 이전에 이용된 질의들을 디스플레이하기 위한 수단
    을 포함하는 객체들을 검색하는 것과 관련하여 사용자를 보조하는 시스템.
  38. 제37항에 있어서, 상기 관련성 레벨은 상기 사용자 검색 질의와 연관된 결과 집합을 상기 이전에 이용된 질의들과 연관된 결과 집합과 비교하여 적어도 일부 판단되는 객체들을 검색하는 것과 관련하여 사용자를 보조하는 시스템.
  39. 컴퓨터에서 실행 가능 지시들을 갖는 컴퓨터 판독가능 매체로서, 상기 지시들은 컴퓨터 판독 가능 매체 상에 저장되고,
    주어진 사용자 검색 질의에 대하여 다수의 객체들을 검색하고 - 상기 객체들은 그러한 객체들을 위치 지정하기 위해 이전에 사용된 질의들과 연관됨 -, 상기 사용자 검색 질의 및 상기 이전에 사용된 질의들 사이의 관련성 레벨을 계산하며, 상기 계산된 관련성 레벨에 따라 하나 이상의 이전 질의들을 디스플레이하기 위한 것인 컴퓨터에서 실행 가능 지시들을 갖는 컴퓨터 판독가능 매체.
KR1020050019642A 2004-03-09 2005-03-09 사용자 의도 발견 KR101120678B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/796,378 2004-03-09
US10/796,378 US7158966B2 (en) 2004-03-09 2004-03-09 User intent discovery

Publications (2)

Publication Number Publication Date
KR20060044299A true KR20060044299A (ko) 2006-05-16
KR101120678B1 KR101120678B1 (ko) 2012-06-28

Family

ID=34827609

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020050019642A KR101120678B1 (ko) 2004-03-09 2005-03-09 사용자 의도 발견

Country Status (10)

Country Link
US (2) US7158966B2 (ko)
EP (1) EP1574974A3 (ko)
JP (1) JP4753597B2 (ko)
KR (1) KR101120678B1 (ko)
CN (1) CN1667615B (ko)
AU (1) AU2005200930A1 (ko)
BR (1) BRPI0500724A (ko)
CA (1) CA2500035C (ko)
MX (1) MXPA05002608A (ko)
RU (1) RU2378680C2 (ko)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2008069470A1 (en) * 2006-12-05 2008-06-12 Nhn Corporation Method for offering search result of query and system for executing the method
WO2009105307A1 (en) * 2008-02-21 2009-08-27 Microsoft Corporation Search based on document associations
WO2010147335A2 (ko) * 2009-06-19 2010-12-23 엔에이치엔(주) 이전 질의어를 이용한 검색 결과 제공 방법 및 장치
KR101241065B1 (ko) * 2011-10-17 2013-03-11 한국과학기술정보연구원 사용자 의도 인식 시스템 및 방법
KR20160010652A (ko) * 2007-04-03 2016-01-27 구글 인코포레이티드 불충분한 탐색 콘텐츠 식별

Families Citing this family (161)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7228300B2 (en) * 1998-10-05 2007-06-05 Oracle International Corporation Caching the results of security policy functions
US6996558B2 (en) 2002-02-26 2006-02-07 International Business Machines Corporation Application portability and extensibility through database schema and query abstraction
US7873660B1 (en) 2003-02-27 2011-01-18 Oracle International Corporation Enforcing data privacy aggregations
US11392588B2 (en) * 2003-09-04 2022-07-19 Oracle International Corporation Active queries filter extraction
US20050097089A1 (en) * 2003-11-05 2005-05-05 Tom Nielsen Persistent user interface for providing navigational functionality
US7900133B2 (en) 2003-12-09 2011-03-01 International Business Machines Corporation Annotation structure type determination
US20060047649A1 (en) * 2003-12-29 2006-03-02 Ping Liang Internet and computer information retrieval and mining with intelligent conceptual filtering, visualization and automation
US20060106793A1 (en) * 2003-12-29 2006-05-18 Ping Liang Internet and computer information retrieval and mining with intelligent conceptual filtering, visualization and automation
US7158966B2 (en) * 2004-03-09 2007-01-02 Microsoft Corporation User intent discovery
US7590619B2 (en) * 2004-03-22 2009-09-15 Microsoft Corporation Search system using user behavior data
US7747601B2 (en) * 2006-08-14 2010-06-29 Inquira, Inc. Method and apparatus for identifying and classifying query intent
US8082264B2 (en) 2004-04-07 2011-12-20 Inquira, Inc. Automated scheme for identifying user intent in real-time
US8612208B2 (en) 2004-04-07 2013-12-17 Oracle Otc Subsidiary Llc Ontology for use with a system, method, and computer readable medium for retrieving information and response to a query
US7676453B2 (en) * 2004-04-22 2010-03-09 Oracle International Corporation Partial query caching
US7836044B2 (en) * 2004-06-22 2010-11-16 Google Inc. Anticipated query generation and processing in a search engine
US7487145B1 (en) 2004-06-22 2009-02-03 Google Inc. Method and system for autocompletion using ranked results
US7577641B2 (en) * 2004-09-07 2009-08-18 Sas Institute Inc. Computer-implemented system and method for analyzing search queries
US7565627B2 (en) * 2004-09-30 2009-07-21 Microsoft Corporation Query graphs indicating related queries
US20060069675A1 (en) * 2004-09-30 2006-03-30 Ogilvie John W Search tools and techniques
US20060085401A1 (en) * 2004-10-20 2006-04-20 Microsoft Corporation Analyzing operational and other data from search system or the like
US7499940B1 (en) * 2004-11-11 2009-03-03 Google Inc. Method and system for URL autocompletion using ranked results
US20060106769A1 (en) 2004-11-12 2006-05-18 Gibbs Kevin A Method and system for autocompletion for languages having ideographs and phonetic characters
US7480648B2 (en) * 2004-12-06 2009-01-20 International Business Machines Corporation Research rapidity and efficiency improvement by analysis of research artifact similarity
US7877382B1 (en) * 2004-12-31 2011-01-25 Google, Inc. System and methods for detecting images distracting to a user
US8122012B2 (en) 2005-01-14 2012-02-21 International Business Machines Corporation Abstract record timeline rendering/display
US7792811B2 (en) * 2005-02-16 2010-09-07 Transaxtions Llc Intelligent search with guiding info
US8131736B1 (en) * 2005-03-01 2012-03-06 Google Inc. System and method for navigating documents
US8019749B2 (en) * 2005-03-17 2011-09-13 Roy Leban System, method, and user interface for organizing and searching information
US20060224583A1 (en) * 2005-03-31 2006-10-05 Google, Inc. Systems and methods for analyzing a user's web history
US20060224608A1 (en) * 2005-03-31 2006-10-05 Google, Inc. Systems and methods for combining sets of favorites
US9256685B2 (en) * 2005-03-31 2016-02-09 Google Inc. Systems and methods for modifying search results based on a user's history
US20060242130A1 (en) * 2005-04-23 2006-10-26 Clenova, Llc Information retrieval using conjunctive search and link discovery
US7571161B2 (en) * 2005-05-13 2009-08-04 Microsoft Corporation System and method for auto-sensed search help
JP2006331014A (ja) * 2005-05-25 2006-12-07 Oki Electric Ind Co Ltd 情報提供装置、情報提供方法及び情報提供プログラム
US8676796B2 (en) * 2005-05-26 2014-03-18 Carhamm Ltd., Llc Coordinated related-search feedback that assists search refinement
US9009127B1 (en) * 2005-07-11 2015-04-14 Iac Search & Media, Inc. Method and apparatus for generating and presenting factoids
US7739285B2 (en) * 2005-09-29 2010-06-15 Sap Ag Efficient handling of multipart queries against relational data
JP4861004B2 (ja) 2005-12-27 2012-01-25 株式会社エヌ・ティ・ティ・ドコモ サービス推薦システム、及び、サービス推薦方法
US8010523B2 (en) 2005-12-30 2011-08-30 Google Inc. Dynamic search box for web browser
US7711732B2 (en) * 2006-04-21 2010-05-04 Yahoo! Inc. Determining related terms based on link annotations of documents belonging to search result sets
US7921099B2 (en) * 2006-05-10 2011-04-05 Inquira, Inc. Guided navigation system
US20070294240A1 (en) * 2006-06-07 2007-12-20 Microsoft Corporation Intent based search
US8788517B2 (en) * 2006-06-28 2014-07-22 Microsoft Corporation Intelligently guiding search based on user dialog
US20080005095A1 (en) * 2006-06-28 2008-01-03 Microsoft Corporation Validation of computer responses
US20080016157A1 (en) * 2006-06-29 2008-01-17 Centraltouch Technology Inc. Method and system for controlling and monitoring an apparatus from a remote computer using session initiation protocol (sip)
US20080005047A1 (en) * 2006-06-29 2008-01-03 Microsoft Corporation Scenario-based search
US20080005079A1 (en) * 2006-06-29 2008-01-03 Microsoft Corporation Scenario-based search
US8781813B2 (en) 2006-08-14 2014-07-15 Oracle Otc Subsidiary Llc Intent management tool for identifying concepts associated with a plurality of users' queries
US7831620B2 (en) * 2006-08-31 2010-11-09 International Business Machines Corporation Managing execution of a query against a partitioned database
US20080066107A1 (en) 2006-09-12 2008-03-13 Google Inc. Using Viewing Signals in Targeted Video Advertising
WO2008088302A1 (en) * 2006-11-02 2008-07-24 Cohen Alain J Collectively enhanced semantic search
US7647353B2 (en) * 2006-11-14 2010-01-12 Google Inc. Event searching
US8095476B2 (en) * 2006-11-27 2012-01-10 Inquira, Inc. Automated support scheme for electronic forms
US7840538B2 (en) * 2006-12-20 2010-11-23 Yahoo! Inc. Discovering query intent from search queries and concept networks
US7685196B2 (en) * 2007-03-07 2010-03-23 The Boeing Company Methods and systems for task-based search model
US8386478B2 (en) * 2007-03-07 2013-02-26 The Boeing Company Methods and systems for unobtrusive search relevance feedback
US20080222119A1 (en) * 2007-03-08 2008-09-11 Microsoft Corporation Detecting a user's location, local intent and travel intent from search queries
US8738606B2 (en) * 2007-03-30 2014-05-27 Microsoft Corporation Query generation using environment configuration
US7698344B2 (en) 2007-04-02 2010-04-13 Microsoft Corporation Search macro suggestions relevant to search queries
US8667532B2 (en) 2007-04-18 2014-03-04 Google Inc. Content recognition for targeting video advertisements
KR20080096005A (ko) * 2007-04-26 2008-10-30 엔에이치엔(주) 키워드 제공 범위에 따라 키워드 제공 방법 및 그 시스템
US8433611B2 (en) * 2007-06-27 2013-04-30 Google Inc. Selection of advertisements for placement with content
US8090709B2 (en) * 2007-06-28 2012-01-03 Microsoft Corporation Representing queries and determining similarity based on an ARIMA model
US7685099B2 (en) * 2007-06-28 2010-03-23 Microsoft Corporation Forecasting time-independent search queries
US8290921B2 (en) * 2007-06-28 2012-10-16 Microsoft Corporation Identification of similar queries based on overall and partial similarity of time series
US7693823B2 (en) * 2007-06-28 2010-04-06 Microsoft Corporation Forecasting time-dependent search queries
US8190627B2 (en) * 2007-06-28 2012-05-29 Microsoft Corporation Machine assisted query formulation
US7689622B2 (en) * 2007-06-28 2010-03-30 Microsoft Corporation Identification of events of search queries
US7685100B2 (en) 2007-06-28 2010-03-23 Microsoft Corporation Forecasting search queries based on time dependencies
US7693908B2 (en) * 2007-06-28 2010-04-06 Microsoft Corporation Determination of time dependency of search queries
US20090043749A1 (en) * 2007-08-06 2009-02-12 Garg Priyank S Extracting query intent from query logs
US7966341B2 (en) * 2007-08-06 2011-06-21 Yahoo! Inc. Estimating the date relevance of a query from query logs
US9064024B2 (en) 2007-08-21 2015-06-23 Google Inc. Bundle generation
US20090070325A1 (en) * 2007-09-12 2009-03-12 Raefer Christopher Gabriel Identifying Information Related to a Particular Entity from Electronic Sources
US20090089311A1 (en) * 2007-09-28 2009-04-02 Yahoo! Inc. System and method for inclusion of history in a search results page
US8572112B2 (en) * 2007-11-02 2013-10-29 Microsoft Corporation Syndicating search queries using web advertising
CN101855632B (zh) * 2007-11-08 2013-10-30 上海惠普有限公司 用于聚焦爬行的url和锚文本分析
US8380731B2 (en) * 2007-12-13 2013-02-19 The Boeing Company Methods and apparatus using sets of semantically similar words for text classification
US20090187540A1 (en) * 2008-01-22 2009-07-23 Microsoft Corporation Prediction of informational interests
US9824372B1 (en) 2008-02-11 2017-11-21 Google Llc Associating advertisements with videos
US8122011B1 (en) * 2008-03-12 2012-02-21 Google Inc. Identifying sibling queries
US8589395B2 (en) * 2008-04-15 2013-11-19 Yahoo! Inc. System and method for trail identification with search results
US8832135B2 (en) * 2008-05-02 2014-09-09 Verint Systems, Ltd. Method and system for database query term suggestion
US8386476B2 (en) * 2008-05-20 2013-02-26 Gary Stephen Shuster Computer-implemented search using result matching
US8239370B2 (en) * 2008-06-27 2012-08-07 Microsoft Corporation Basing search results on metadata of prior results
US8918383B2 (en) * 2008-07-09 2014-12-23 International Business Machines Corporation Vector space lightweight directory access protocol data search
US8312032B2 (en) * 2008-07-10 2012-11-13 Google Inc. Dictionary suggestions for partial user entries
US20100017392A1 (en) * 2008-07-18 2010-01-21 Jianwei Dian Intent match search engine
JP5327784B2 (ja) * 2008-07-30 2013-10-30 株式会社日立製作所 計算機システム、情報収集支援装置及び情報収集支援方法
US7949647B2 (en) * 2008-11-26 2011-05-24 Yahoo! Inc. Navigation assistance for search engines
US8060524B2 (en) * 2008-12-11 2011-11-15 Microsoft Corporation History answer for re-finding search results
US8055638B2 (en) * 2008-12-11 2011-11-08 Microsoft Corporation Providing recent history with search results
US9703831B2 (en) * 2008-12-22 2017-07-11 Apple Inc. Contextual display of saved search queries
JP4706769B2 (ja) * 2009-03-23 2011-06-22 コニカミノルタビジネステクノロジーズ株式会社 画像処理装置
US8185432B2 (en) 2009-05-08 2012-05-22 Sas Institute Inc. Computer-implemented systems and methods for determining future profitability
US8996550B2 (en) 2009-06-03 2015-03-31 Google Inc. Autocompletion for partially entered query
US8606786B2 (en) * 2009-06-22 2013-12-10 Microsoft Corporation Determining a similarity measure between queries
JP5080544B2 (ja) * 2009-07-23 2012-11-21 楽天株式会社 適切な検索クエリを提示する情報処理装置、情報処理方法、および、情報処理プログラム
US7831609B1 (en) * 2009-08-25 2010-11-09 Vizibility Inc. System and method for searching, formulating, distributing and monitoring usage of predefined internet search queries
US9430521B2 (en) * 2009-09-30 2016-08-30 Microsoft Technology Licensing, Llc Query expansion through searching content identifiers
US9152708B1 (en) * 2009-12-14 2015-10-06 Google Inc. Target-video specific co-watched video clusters
US20110238686A1 (en) * 2010-03-24 2011-09-29 Microsoft Corporation Caching data obtained via data service interfaces
CN102214169B (zh) * 2010-04-02 2017-11-24 阿里巴巴集团控股有限公司 关键词信息与目标信息的提供方法及装置
US8380723B2 (en) * 2010-05-21 2013-02-19 Microsoft Corporation Query intent in information retrieval
US8650173B2 (en) 2010-06-23 2014-02-11 Microsoft Corporation Placement of search results using user intent
NL1038225C2 (nl) * 2010-09-07 2012-03-08 Scherpenhuijsen Methode voor het projecteren van gestructureerde informatie op een verzameling ongestructureerde informatie teneinde de kwaliteit van de zoekresultaten te verbeteren.
US9355179B2 (en) * 2010-09-24 2016-05-31 Microsoft Technology Licensing, Llc Visual-cue refinement of user query results
US9424002B2 (en) 2010-12-03 2016-08-23 Microsoft Technology Licensing, Llc Meta-application framework
US9153000B2 (en) * 2010-12-13 2015-10-06 Microsoft Technology Licensing, Llc Presenting content items shared within social networks
US9519714B2 (en) * 2010-12-22 2016-12-13 Microsoft Technology Licensing, Llc Presenting list previews among search results
US9582609B2 (en) * 2010-12-27 2017-02-28 Infosys Limited System and a method for generating challenges dynamically for assurance of human interaction
US8990065B2 (en) 2011-01-11 2015-03-24 Microsoft Technology Licensing, Llc Automatic story summarization from clustered messages
CN102637179B (zh) * 2011-02-14 2013-09-18 阿里巴巴集团控股有限公司 词项加权函数确定及基于该函数进行搜索的方法及装置
US8666984B2 (en) * 2011-03-18 2014-03-04 Microsoft Corporation Unsupervised message clustering
JP5581273B2 (ja) * 2011-06-30 2014-08-27 株式会社エクシング 電子早見本装置
US8712991B2 (en) * 2011-07-07 2014-04-29 Microsoft Corporation Document-related representative information
US8930340B1 (en) 2011-09-20 2015-01-06 Google Inc. Blending content in an output
US9053087B2 (en) * 2011-09-23 2015-06-09 Microsoft Technology Licensing, Llc Automatic semantic evaluation of speech recognition results
US8954463B2 (en) * 2012-02-29 2015-02-10 International Business Machines Corporation Use of statistical language modeling for generating exploratory search results
US20130246392A1 (en) * 2012-03-14 2013-09-19 Inago Inc. Conversational System and Method of Searching for Information
US9558275B2 (en) 2012-12-13 2017-01-31 Microsoft Technology Licensing, Llc Action broker
US8954455B2 (en) * 2012-12-28 2015-02-10 Facebook, Inc. Saved queries in a social networking system
US20140279993A1 (en) * 2013-03-14 2014-09-18 Microsoft Corporation Clarifying User Intent of Query Terms of a Search Query
RU2592393C2 (ru) * 2013-08-30 2016-07-20 Общество С Ограниченной Ответственностью "Яндекс" Система и способ завершения пользовательского запроса и предоставления ответа на запрос
US10255320B1 (en) 2014-01-27 2019-04-09 Microstrategy Incorporated Search integration
US10635669B1 (en) 2014-01-27 2020-04-28 Microstrategy Incorporated Data engine integration and data refinement
US11386085B2 (en) 2014-01-27 2022-07-12 Microstrategy Incorporated Deriving metrics from queries
US11921715B2 (en) 2014-01-27 2024-03-05 Microstrategy Incorporated Search integration
JP5668184B1 (ja) * 2014-03-31 2015-02-12 楽天株式会社 購入管理装置、購入管理方法、プログラム、及び記録媒体
US9582543B2 (en) * 2014-04-24 2017-02-28 International Business Machines Corporation Temporal proximity query expansion
US9773067B2 (en) * 2014-05-30 2017-09-26 Microsoft Technology Licensing, Llc Personal intelligence platform
US9852188B2 (en) 2014-06-23 2017-12-26 Google Llc Contextual search on multimedia content
RU2608668C2 (ru) 2014-07-30 2017-01-23 Общество С Ограниченной Ответственностью "Яндекс" Система и способ управления и организации кэша веб-браузера для обеспечения автономного просмотра
US20160063109A1 (en) * 2014-08-29 2016-03-03 Yuanjie Liu Query-breadth selected search result sorting mechanism
US9858331B2 (en) * 2015-02-05 2018-01-02 International Business Machines Corporation Efficient structured data exploration with a combination of bivariate metric and centrality measures
US10664515B2 (en) 2015-05-29 2020-05-26 Microsoft Technology Licensing, Llc Task-focused search by image
KR101730647B1 (ko) * 2015-06-15 2017-04-26 네이버 주식회사 검색 서비스 제공 장치, 방법, 및 컴퓨터 프로그램
US10069940B2 (en) 2015-09-10 2018-09-04 Microsoft Technology Licensing, Llc Deployment meta-data based applicability targetting
US9965604B2 (en) 2015-09-10 2018-05-08 Microsoft Technology Licensing, Llc De-duplication of per-user registration data
US9740787B2 (en) * 2015-12-14 2017-08-22 Quixey, Inc. Application search results based on a current search query and a previous search query
JP6851871B2 (ja) * 2016-03-30 2021-03-31 光吉 俊二 意思創発装置、意思創発方法および意思創発プログラム
RU2658876C1 (ru) * 2016-08-11 2018-06-25 Общество С Ограниченной Ответственностью "Яндекс" Способ и сервер для обработки данных датчика беспроводного устройства для создания вектора объекта, связанного с физическим положением
KR102017853B1 (ko) * 2016-09-06 2019-09-03 주식회사 카카오 검색 방법 및 장치
US10984034B1 (en) 2016-10-05 2021-04-20 Cyrano.ai, Inc. Dialogue management system with hierarchical classification and progression
US10068567B1 (en) * 2016-12-29 2018-09-04 Amdocs Development Limited System, method, and computer program for automatic management of intent classification
US10387515B2 (en) * 2017-06-08 2019-08-20 International Business Machines Corporation Network search query
US10380211B2 (en) 2017-06-16 2019-08-13 International Business Machines Corporation Network search mapping and execution
US11651043B2 (en) 2018-07-24 2023-05-16 MachEye, Inc. Leveraging analytics across disparate computing devices
US11816436B2 (en) 2018-07-24 2023-11-14 MachEye, Inc. Automated summarization of extracted insight data
US11853107B2 (en) 2018-07-24 2023-12-26 MachEye, Inc. Dynamic phase generation and resource load reduction for a query
US11341126B2 (en) * 2018-07-24 2022-05-24 MachEye, Inc. Modifying a scope of a canonical query
US11282020B2 (en) 2018-07-24 2022-03-22 MachEye, Inc. Dynamic playback of synchronized narrated analytics playlists
US11841854B2 (en) 2018-07-24 2023-12-12 MachEye, Inc. Differentiation of search results for accurate query output
CN109815195B (zh) * 2018-12-28 2021-04-20 北京百度网讯科技有限公司 查询方法、终端和存储介质
JP7080198B2 (ja) * 2019-03-11 2022-06-03 ヤフー株式会社 推定装置、推定方法および推定プログラム
US10878008B1 (en) * 2019-09-13 2020-12-29 Intuit Inc. User support with integrated conversational user interfaces and social question answering
US11614970B2 (en) 2019-12-06 2023-03-28 Microstrategy Incorporated High-throughput parallel data transmission
US11288322B2 (en) 2020-01-03 2022-03-29 International Business Machines Corporation Conversational agents over domain structured knowledge
US11567965B2 (en) 2020-01-23 2023-01-31 Microstrategy Incorporated Enhanced preparation and integration of data sets
RU2764383C2 (ru) * 2020-06-19 2022-01-17 Акционерное общество "Лаборатория Касперского" Система и способ выбора модели описания пользователя
US11704374B2 (en) * 2021-01-30 2023-07-18 Walmart Apollo, Llc Systems and methods for personalizing search engine recall and ranking using machine learning techniques

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3385913B2 (ja) * 1997-05-27 2003-03-10 富士ゼロックス株式会社 関連語提示装置及び関連語提示用プログラムを記録した媒体
US5974412A (en) * 1997-09-24 1999-10-26 Sapient Health Network Intelligent query system for automatically indexing information in a database and automatically categorizing users
US6473752B1 (en) * 1997-12-04 2002-10-29 Micron Technology, Inc. Method and system for locating documents based on previously accessed documents
KR100313462B1 (ko) * 1998-01-23 2001-12-31 윤종용 웹검색엔진에서검색된정보를지역적으로근접한순서대로표시하는방법
JP2000305932A (ja) * 1999-04-20 2000-11-02 Nippon Telegr & Teleph Corp <Ntt> 関連語提示を伴う文書検索方法と文書検索装置ならびにプログラムを記録した記録媒体
US6732088B1 (en) * 1999-12-14 2004-05-04 Xerox Corporation Collaborative searching by query induction
AUPQ475799A0 (en) * 1999-12-20 2000-01-20 Youramigo Pty Ltd An internet indexing system and method
US20020087579A1 (en) * 2000-06-23 2002-07-04 Alan Chasanoff Object universe
CA2420215A1 (en) * 2000-08-23 2002-06-27 Neurogen Corporation High affinity small molecule c5a receptor modulators
JP3563682B2 (ja) * 2000-09-12 2004-09-08 日本電信電話株式会社 次検索候補単語提示方法および装置と次検索候補単語提示プログラムを記録した記録媒体
US7607083B2 (en) * 2000-12-12 2009-10-20 Nec Corporation Test summarization using relevance measures and latent semantic analysis
WO2003001720A2 (en) * 2001-06-21 2003-01-03 Isc, Inc. Database indexing method and apparatus
US7299270B2 (en) * 2001-07-10 2007-11-20 Lycos, Inc. Inferring relations between internet objects that are not connected directly
CN1193309C (zh) * 2001-12-29 2005-03-16 财团法人资讯工业策进会 搜索引擎关键字的关联建立系统及方法
US7240049B2 (en) * 2003-11-12 2007-07-03 Yahoo! Inc. Systems and methods for search query processing using trend analysis
US7158966B2 (en) * 2004-03-09 2007-01-02 Microsoft Corporation User intent discovery

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2008069470A1 (en) * 2006-12-05 2008-06-12 Nhn Corporation Method for offering search result of query and system for executing the method
KR100842039B1 (ko) * 2006-12-05 2008-06-30 엔에이치엔(주) 사용자 질의에 대한 검색 결과를 제공하는 방법 및 상기방법을 수행하는 시스템
KR20160010652A (ko) * 2007-04-03 2016-01-27 구글 인코포레이티드 불충분한 탐색 콘텐츠 식별
WO2009105307A1 (en) * 2008-02-21 2009-08-27 Microsoft Corporation Search based on document associations
WO2010147335A2 (ko) * 2009-06-19 2010-12-23 엔에이치엔(주) 이전 질의어를 이용한 검색 결과 제공 방법 및 장치
WO2010147335A3 (ko) * 2009-06-19 2011-03-31 엔에이치엔(주) 이전 질의어를 이용한 검색 결과 제공 방법 및 장치
KR101042500B1 (ko) * 2009-06-19 2011-06-16 엔에이치엔(주) 이전 질의어를 이용한 검색 결과 제공 방법 및 장치
KR101241065B1 (ko) * 2011-10-17 2013-03-11 한국과학기술정보연구원 사용자 의도 인식 시스템 및 방법

Also Published As

Publication number Publication date
CA2500035A1 (en) 2005-09-09
US20070162442A1 (en) 2007-07-12
MXPA05002608A (es) 2005-10-06
CA2500035C (en) 2014-04-29
AU2005200930A1 (en) 2005-09-29
CN1667615B (zh) 2010-06-09
CN1667615A (zh) 2005-09-14
JP2005259145A (ja) 2005-09-22
EP1574974A3 (en) 2006-05-03
EP1574974A2 (en) 2005-09-14
US20050203878A1 (en) 2005-09-15
BRPI0500724A (pt) 2005-11-01
RU2005106175A (ru) 2006-08-10
US7158966B2 (en) 2007-01-02
RU2378680C2 (ru) 2010-01-10
KR101120678B1 (ko) 2012-06-28
JP4753597B2 (ja) 2011-08-24

Similar Documents

Publication Publication Date Title
KR101120678B1 (ko) 사용자 의도 발견
US7672943B2 (en) Calculating a downloading priority for the uniform resource locator in response to the domain density score, the anchor text score, the URL string score, the category need score, and the link proximity score for targeted web crawling
Mork et al. 12 years on–Is the NLM medical text indexer still useful and relevant?
Batsakis et al. Improving the performance of focused web crawlers
KR101130509B1 (ko) 포커싱된 검색을 위한 서브웹들의 구성 및 이용
Crestani et al. Searching the web by constrained spreading activation
Menczer et al. Scalable web search by adaptive online agents: An infospiders case study
WO2008130671A1 (en) System and method for searching and displaying text-based information contained within documents on a database
US8990201B1 (en) Image search results provisoning
Moraes et al. Prequery discovery of domain-specific query forms: A survey
Lihui et al. Using Web structure and summarisation techniques for Web content mining
Bhatt et al. Focused web crawler
Babu et al. Optimizing webpage relevancy using page ranking and content based ranking.
Prasath et al. Finding potential seeds through rank aggregation of web searches
Kumar et al. Focused crawling based upon tf-idf semantics and hub score learning
Gupta et al. Domain Identification and Classification of Web Pages Using Artificial Neural Network
Chevalier et al. Helping People Searching the Web: Towards an Adaptive and a Social System.
Abdeljaber Profile-Based Semantic Method using Heuristics for Web Search Personalization
Renugadevi et al. Collaborative search using an implicitly formed academic network
Abdulmunem et al. Link Analysis in Web Information Retrieval: a Survey
Abdulmunim et al. Links Evaluation and Ranking Based on Semantic Metadata Analysis
Gupta Design of search system for online digital libraries
Arthy et al. A Study on Design, Development and Deployment of Web Crawler Algorithms and Their Metrics
Menon Web crawler indexing: An approach by clustering
Wang et al. Web search services

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
FPAY Annual fee payment

Payment date: 20150121

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20160119

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20170119

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20180118

Year of fee payment: 7

LAPS Lapse due to unpaid annual fee