KR100944744B1 - 원하는 레포지토리의 결정 - Google Patents

원하는 레포지토리의 결정 Download PDF

Info

Publication number
KR100944744B1
KR100944744B1 KR1020087002370A KR20087002370A KR100944744B1 KR 100944744 B1 KR100944744 B1 KR 100944744B1 KR 1020087002370 A KR1020087002370 A KR 1020087002370A KR 20087002370 A KR20087002370 A KR 20087002370A KR 100944744 B1 KR100944744 B1 KR 100944744B1
Authority
KR
South Korea
Prior art keywords
search
repositories
repository
information
user
Prior art date
Application number
KR1020087002370A
Other languages
English (en)
Other versions
KR20080024224A (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 KR20080024224A publication Critical patent/KR20080024224A/ko
Application granted granted Critical
Publication of KR100944744B1 publication Critical patent/KR100944744B1/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/245Query processing
    • G06F16/2457Query processing with adaptation to user needs
    • G06F16/24578Query processing with adaptation to user needs using ranking
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/951Indexing; Web crawling techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/953Querying, e.g. by the use of web search engines
    • G06F16/9535Search customisation based on user profiles and personalisation
    • 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/9538Presentation of query results
    • 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/99941Database schema or data structure
    • Y10S707/99942Manipulating data structure, e.g. compression, compaction, compilation

Landscapes

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

Abstract

시스템은 사용자로부터 검색 질의를 수취하고, 상기 검색 질의에 기초하여 레포지토리의 그룹을 검색하여, 상기 레포지토리 각각에 대해, 검색 결과의 세트를 식별한다. 시스템은 또한 사용자가 그 식별된 레포지토리로부터 정보를 원할 가능성에 기초하여 레포지토리들 중 하나를 식별하고, 그 식별된 레포지토리와 연관된 검색 결과의 세트를 나타낸다.

Description

원하는 레포지토리의 결정{DETERMINATION OF A DESIRED REPOSITORY}
여기에 설명된 구현은 일반적으로 정보 검색, 보다 구체적으로, 검색을 위한 원하는 레포지토리의 결정에 관한 것이다.
월드 와이드 웹("web")은 막대한 양의 정보를 포함한다. 그렇지만, 정보의 원하는 부분을 찾는 것이 어려울 수 있다. 이 문제는 웹 상의 막대한 양의 정보 및 웹 탐색을 경험하지 않은 새로운 사용자의 수가 급증하고 있기 때문에 복합적이다.
검색 엔진 시스템은 사용자가 관심을 두고 있는 웹 페이지에 하이퍼링크를 복귀시키려 시도한다. 일반적으로, 검색 엔진 시스템은 사용자가 입력하는 (검색 질의라 칭하는) 검색 용어에 대한 사용자의 관심의 결정에 기초한다. 검색 엔진 시스템의 목적은, 링크를 고품질로 제공하고, 검색 질의(search query)에 기초하여 사용자에게 관련 검색 결과(예를 들어, 웹 페이지)를 제공하는 것이다. 통상적으로, 검색 엔진 시스템은 검색 질의 내의 용어와 사전-저장된 웹 페이지의 언어 자료(corpus)를 일치시킴으로써 이러한 목적을 달성한다. 사용자의 검색 용어를 포함하는 웹 페이지들이 "명중되어(hits)" 링크로서 사용자에게 복귀된다.
일부의 검색 엔진 시스템은 다양한 유형의 정보를 검색 결과로서 제공할 수 있다. 예를 들어, 검색 엔진 시스템은 웹 페이지, 새로운 기사, 이미지, 상품, 유즈넷 페이지(usenet pages), 옐로우 페이지 엔트리(yellow page entries), 스캔된 책(scanned books) 및/또는 기타 다른 유형의 정보와 관련되는 검색 결과를 제공할 수 있다. 통상적으로, 검색 엔진 시스템은 이러한 다른 유형의 정보에는 별도의 인터페이스를 제공한다.
사용자가 표준 검색 엔진 시스템에 검색 질의를 제공하면, 사용자는 통상적으로 웹 페이지에 대한 링크를 받게 된다. 사용자가 다른 유형의 정보(예를 들어, 이미지 또는 새로운 기사)를 원한다면, 사용자는 통상적으로 검색 엔진 시스템에 의해 제공된 별도의 인터페이스를 액세스 할 필요가 있다.
한 관점에 따르면, 방법은, 사용자로부터 검색 질의(search query)를 수취하는 단계; 복수의 레포지토리(repository)의 각각에 대해 검색 결과의 세트를 식별(identify)하기 위해, 상기 검색 질의에 기초하여 상기 복수의 레포지토리를 검색하는 단계; 상기 검색 질의, 상기 사용자에 관한 정보, 및 복수의 검색 질의를 사용하는 복수의 사용자에 의한 상기 레포지토리들에 대한 복수의 이전의 검색(prior search)에 관한 정보에 기초하여, 각각의 상기 레포지토리에 대해, 그 레포지토리가 상기 검색 질의를 만족시키는 정보를 포함하고 있을 가능성(likelihood)을 결정하는 단계; 상기 결정된 가능성에 기초하여 상기 레포지토리들 중 하나를 선택하는 단계; 상기 선택된 레포지토리와 연관된 검색 결과의 세트에 기초하여 검색 결과 문서를 생성하는 단계; 및 상기 검색 결과 문서를 상기 사용자에게 제공하는 단계를 포함할 수 있다.
다른 관점에 따르면, 시스템은, 사용자로부터 검색 질의를 수취하는 수단; 복수의 레포지토리의 각각에 대해 검색 결과의 세트를 식별하도록, 상기 검색 질의에 기초하여 상기 복수의 레포지토리에 대한 검색을 수행하는 수단; 복수의 검색 질의를 사용하는 복수의 사용자에 의한 상기 레포지토리들에 대한 복수의 이전의 검색과 연관된 검색 결과 선택에 관한 정보에 기초하여 각각의 상기 레포지토리에 대한 스코어들을 결정하는 수단으로서, 상기 레포지토리들 중 하나에 대한 스코어는, 상기 검색 질의 및 상기 사용자에 관한 정보에 기초하여 각 레포지토리가 상기 검색 질의를 만족시키는 정보를 포함하고 있을 가능성을 반영하는, 상기 스코어를 결정하는 수단; 및 상기 스코어들에 기초하여 하나 이상의 레포지토리로부터 하나 이상의 상기 검색 결과의 세트를 제공하는 수단을 포함할 수 있다.
또 다른 관점에 따르면, 데이터 및 컴퓨터-실행 가능한 명령을 저장하기 위한 컴퓨터-판독 가능한 매체가 제공된다. 컴퓨터-판독 가능한 매체는, 사용자에 의해 제공된 검색 질의들에 기초하여 행한 레포지토리들에 대한 복수의 검색과 연관된 로그 데이터; 상기 로그 데이터를 3중의 데이터(u, q, r)로서 나타내는(represent) 명령(instruction)으로서, 상기 u는 검색 질의를 제공한 사용자에 관한 정보를 의미하며, 상기 q는 상기 검색 질의에 관한 정보를 의미하며, 상기 r은 상기 검색 질의에 응답하여 검색 결과가 제공된 레포지토리에 관한 정보를 의미하는, 상기 로그 데이터를 3중의 데이터(u, q, r)로서 나타내는 명령; 각각의 상기 3중의 데이터(u, q, r)에 대한 레이블을 결정하는 명령으로서, 상기 레이블은 상기 레포지토리 r가 상기 사용자 u에 의해 제공된 상기 검색 질의 q에 상응하는 정보를 포함하는지 여부에 관한 정보를 포함하는, 상기 레이블을 결정하는 명령; 및 상기 3중의 데이터(u, q, r) 및 그 관련 레이블들에 기초하여 상기 모델을 양성하는 명령으로서, 상기 모델은 레포지토리가 특정 사용자에 의해 제공된 특정 검색 질의에 상응하는 정보를 포함하는지 여부를 예측하는, 상기 모델을 양성하는 명령을 포함할 수 있다.
추가의 관점에 따르면, 시스템은, 검색 엔진 시스템을 포함하며, 상기 검색 엔진 시스템은, 사용자로부터 검색 질의를 수취하고, 복수의 검색 질의를 사용하는 복수의 사용자에 의한 상기 레포지토리들에 대한 복수의 이전의 검색에 관한 정보에 기초하여 복수의 레포지토리의 각각에 대한 스코어를 결정하되, 상기 레포지토리들 중 하나에 대한 스코어는, 상기 검색 질의 및 상기 사용자에 관한 정보에 기초하여 상기 하나의 레코지토리가 상기 검색 질의를 만족시키는 정보를 포함하고 있을 가능성을 반영하고, 하나 이상의 레포지토리의 각각에 대해 검색 결과의 세트를 식별하도록, 상기 검색 질의에 기초하여 하나 이상의 상기 레포지토리에 대한 검색을 수행하며, 그리고 상기 스코어들에 기초하여 하나 이상의 상기 검색 결과의 세트를 제공한다.
추가의 관점에 따르면, 시스템은 레포지토리가 특정 사용자로부터의 특정 검색 질의에 상응하는 정보를 포함하고 있을 가능성을 반영하는 스코어를 결정하는 모델을 생성하기 위한 모델 생성 시스템으로서, 상기 모델의 규칙은 복수의 검색 질의를 사용하는 복수의 사용자에 의한 복수의 레포지토리들에 대한 복수의 이전의 검색에 관한 정보에 기초하여 생성되는, 모델 생성 시스템; 및 검색 엔진 시스템을 포함하며, 상기 검색 엔진 시스템은, 사용자로부터 검색 질의를 수취하고, 상기 사용자에 관한 정보 및 상기 검색 질의와 연관된 정보를 상기 모델에 입력하며, 상기 모델에 기초하여 상기 복수의 레포지토리 각각에 대한 스코어를 결정하며, 그리고 상기 스코어에 기초하여 하나 이상의 레포지토리로부터의 검색 결과를 나타낸다.
또 다른 관점에 따르면, 시스템은, 제1 모델 및 제2 모델을 생성하는 모델 생성 시스템으로서, 상기 제2 모델을 생성하는 데 사용되는 하나 이상의 요인(factor)은 상기 제1 모델을 생성할 때와는 다르거나 존재하지 않는, 상기 모델 생성 시스템; 및 검색 엔진 시스템을 포함하며, 상기 검색 엔진 시스템은, 사용자로부터 검색 질의를 수취하고, 상기 제1 모델에 기초하여 복수의 레포지토리 각각에 대한 제1 스코어를 결정하고, 상기 검색 질의 및 상기 제1 스코어에 기초하여 상기 복수의 레포지토리 중 하나 이상의 레포지토리에 대한 검색을 수행하고, 상기 제2 모델에 기초하여 상기 하나 이상의 레포지토리 각각에 대한 제2 스코어를 결정하며, 그리고 상기 제2 스코어에 기초하여 상기 하나 이상의 레포지토리 중 하나 이상으로부터의 검색 결과를 나타낸다.
추가의 관점에 따르면, 컴퓨터 기기는, 복수의 사용자에 의해 제공된 검색 질의에 기초한, 레포지토리들에 대한 복수의 검색과 연관된 로그 데이터를 저장하는 하나 이상의 메모리 기기; 특정 레포지토리가 특정 사용자에 의해 제공된 특정 검색 질의에 상응하는 정보를 포함하고 있을 가능성을 반영하는 스코어를 결정하는 모델을 생성하는 모델 생성 시스템; 및 검색 엔진 시스템을 포함하고, 상기 모델 생성 시스템은, 상기 로그 데이터를, 3중의 데이터(r, q, r)-여기서, 상기 u는 검색 질의를 제공한 사용자에 관한 정보를 의미하며, 상기 q는 상기 검색 질의에 관한 정보를 의미하며, 상기 r은 상기 검색 질의에 응답하여 검색 결과가 제공된 레포지토리에 관한 정보를 의미한다-로서 나타내고, 상기 3중의 데이터(u, q, r)의 각각에 대한 레이블로서, 상기 레포지토리 r가 상기 사용자 u에 의해 제공된 상기 검색 질의 q에 상응하는 정보를 포함하는지 여부에 관한 정보를 포함하는 레이블을 결정하며, 상기 3중의 데이터(u, q, r) 및 그 관련 레이블들에 기초하여, 레포지토리가 특정 사용자에 의해 제공된 특정 검색 질의에 상응하는 정보를 포함하는지 여부를 예측하는 상기 모델을 양성하도록 구성되고, 상기 검색 엔진 시스템은, 사용자로부터 검색 질의를 수취하고, 상기 검색 질의에 기초하여, 복수의 레포지토리 각각에 대해 검색 결과의 세트를 식별하기 위해 상기 복수의 레포지토리를 검색하며, 상기 사용자에 관한 정보 및 상기 검색 질의에 관한 정보를 상기 모델에 입력하여, 상기 복수의 레포지토리 각각에 대해, 그 레포지토리가 상기 사용자에 의해 제공된 상기 검색 질의에 상응하는 정보를 포함하고 있을 가능성을 반영하는 스코어를 획득하며, 상기 스코어에 기초하여 상기 복수의 레포지토리 중 하나를 식별하고, 상기 복수의 레포지토리 중 다른 것과 연관된 검색 결과의 세트를 제공하지 않고 상기 식별된 하나의 레포지토리와 연관된 검색 결과의 세트를 제공하도록 구성되어 있다.
첨부된 도면은, 본 명세서의 일부로 편입되거나 그 일부를 구성하는 데, 본 발명의 실시예를 설명하며, 상세한 설명과 함께 본 발명을 설명한다.
도 1은 본 발명의 원리와 일치하는 개념을 나타내는 도면이다.
도 2는 본 발명의 원리와 일치하는 구현에 따른 예시적 모델 생성 시스템에 대한 도면이다.
도 3은 본 발명의 원리와 일치하는 구현에 따른 도 2의 기기의 예시적 도면이다.
도 4는 본 발명의 원리와 일치하는 구현에 따라 예시적 모델을 생성하기 위한 예시적 처리에 대한 흐름도이다.
도 5는 본 발명의 원리와 일치하는 시스템 및 방법이 구현될 수 있는 예시적 정보 검색 네트워크에 대한 도면이다.
도 6은 본 발명의 원리와 일치하는 검색 결과를 제공하기 위한 예시적 처리예에 대한 흐름도이다.
도 7은 내지 도 10은 본 발명의 원리와 일치하는 예시적 구현에 대한 도면이다.
개 요
이하의 본 발명의 상세한 설명은 첨부된 도면을 참조한다. 서로 다른 도면에서 동일한 도면부호는 동일한 또는 유사한 구성요소를 나타낼 수 있다. 또한, 이하의 상세한 설명은 본 발명을 제한하지 않는다.
도 1은 본 발명의 원리와 일치하는 개념을 나타낸다. 검색 엔진 시스템은 사용자가 원할 수 있는 서로 다른 유형의 정보를 유지할 수 있다. 검색 엔진 시스템은 이 서로 다른 유형의 정보에 관한 레포지토리(repository)의 세트를 포함할 수 있다. 도 1에 도시된 바와 같이, 검색 엔진 시스템은 예를 들어 웹 페이지, 이미지, 제품, 및 뉴스에 관한 레포지토리들과 연관될 수 있다. 웹 페이지 레포지토리는 웹 페이지들에 관한 정보를 포함할 수 있다. 이미지 레포지토리는 이미지에 관한 정보를 포함할 수 있다. 제품 레포지토리는 머천트 제품(merchant product)에 관한 정보를 포함할 수 있다. 뉴스 레포지토리는 뉴스 문헌에 관한 정보를 포함할 수 있다. 검색 엔진 시스템은 레포지토리들 중 특정한 레포리지토리들에 대한 검색을 위해 별도의 인터페이스를 제공할 수 있다.
이하의 상세한 설명에서, 용어 "문헌(document)"은 임의의 머신(machine) 판 독-가능한 및 머신-저장 가능한 작업 제품을 포함하도록 광범위하게 해석되어야 한다. 문헌은 예를 들어 웹 페이지, 뉴스 이벤트에 관한 정보, 이미지 파일, 머천트 제품에 관한 정보, 유즈넷 페이지에 관한 정보, 옐로우 페이지 엔트리, 스캔된 책, 파일, 파일들의 조합, 다른 파일들에 대한 임베디드 링크(embedded link)를 가진 하나 이상의 파일, 블로그, 웹 광고, 이메일 등을 포함할 수 있다. 문헌은 종종 텍스트 정보를 포함하고 (메타 정보(meta information), 하이퍼링크 등과 같은) 임베디드 정보 및/또는 (자바스크립트 등과 같은) 임베디드 인스트럭션(embedded instruction)을 포함할 수 있다. "링크(link)"라는 용어가 여기서 사용될 때는, 한 문헌으로부터 다른 문헌에 대한 참조 및 다른 문헌으로부터 그 문헌에 대한 참조 또는 그 동일한 문헌의 다른 부분으로부터 다른 문헌에 대한 참조 및 다른 문헌으로부터 그 동일한 문헌의 다른 부분에 대한 참조를 포함하도록 광범위하게 해석되어야 한다.
도 1에 도시된 바와 같이, 사용자는 검색 엔진 시스템에 검색 질의를 제공할 수 있다. 검색 엔진 시스템은 사용자가 어느 레포지토리 또는 레포지토리들을 원할 것 같은지를 결정할 수 있다. 검색 엔진 시스템은 검색을 실행하고, 사용자가 어느 레포지토리 또는 레포지토리들을 원할 것 같은지에 대한 결정에 기초하여, 하나 이상의 레포지토리로부터 정보를 포함하는 검색 결과를 제공할 수 있다.
예를 들어, 사용자가 검색 질의로서 용어 "일몰(sunset)"을 검색 엔진 시스템에 제공하면, 검색 엔진 시스템은 사용자가 일몰에 관한 웹 페이지보다는 오히려 일몰의 이미지에 더 관심이 많은지를 결정할 수 있다. 그 결과, 검색 엔진 시스템 은, 다른 레포지토리들로부터의 검색 결과 대신, 또는 그 검색 결과에 부가해서, 이미지 레포지토리로부터의 검색 결과를 사용자에게 제공할 수 있다.
유사하게, 사용자가 검색 질의로서 "이라크 전쟁(iraq war)"을 검색 엔진 시스템에 제공하면, 검색 엔진 시스템은 사용자가 이라크 전쟁에 관한 웹 페이지보다는 오히려 이라크 전쟁에 관한 뉴스 문헌에 더 관심이 많은지를 결정할 수 있다. 그 결과, 검색 엔진 시스템은, 다른 레포지토리들로부터의 검색 결과 대신, 또는 그 검색 결과에 부가해서, 뉴스 레포지토리로부터의 검색 결과를 사용자에게 제공할 수 있다.
본 발명의 원리에 일치하는 구현은, 사용자가 검색 질의를 제공할 때 사용자가 어느 레포지토리 또는 레포지토리들에 관심이 있는지를 예측하는 모델을 생성하고, 이 모델을 사용하여 관련 검색 결과를 사용자에게 제공할 수 있다.
예시적 모델 생성 시스템(exemplary model generation system)
도 2는 본 발명의 원리에 일치하는 모델 생성 시스템(200)의 예시적 도면이다. 시스템(200)은 하나 이상의 기기(210) 및 로그 데이터(log data)의 저장부(220)를 포함할 수 있다. 저장부(220)는, 이하에서 상세하게 설명될 바와 같이, 모델을 생성하고 양성시키는 데 사용될 수 있는 대량의 데이터 세트(예를 들어, 수백만 개의 인스턴스(instance) 및 수십만 개의 특징(feature))를 저장할 수 있는 하나 이상의 논리적 또는 물리적 메모리 기기를 포함할 수 있다. 데이터는, 사용자 정보, 질의 정보, 및 레포지토리 정보와 같은, 이전의 검색에 관한 로그 데이터 를 포함할 수 있는 데, 이러한 데이터는 사용자가 원할 수 있는 하나 이상의 레포지토리를 식별하는 데 사용될 수 있는 모델을 생성하는 데 사용될 수 있다. 하나의 구현에서, 모델은, 사용자가 임의의 질의를 제공할 때, 사용자가 특정한 레포지토리로부터 정보를 원할지를 예측할 수 있다.
사용자 정보는 인터넷 프로토콜(IP) 어드레스, 쿠키 정보, 언어, 및/또는 사용자와 관련된 지리적 정보, 사용자가 제공한 이전의 질의, 및/또는 사용자들이 현재의 질의 또는 이전의 질의를 제공한 날짜의 시간 및/또는 그 주의 날짜를 포함할 수 있다. 질의 정보는 제공된 질의 용어들에 관한 정보를 포함할 수 있다. 레포지토리 정보는, 검색에 사용된 레포지토리 인터페이스, 디스플레이된 문헌 및 이 문헌들이 얻어진 레포지토리, 및/또는 선택된(예를 들어 클릭된) 문헌에 관한 정보를 포함할 수 있다. 다른 예시적 구현에서는, 다른 유형의 데이터가 대안적으로 또는 부가적으로 저장부(220)에 의해 유지될 수 있다.
기기(들)(210)은 임의의 유형의 접속 기구(connection mechanism)를 통해 저장부(220)에 액세스할 수 있는 임의의 유형의 계산 기기를 포함할 수 있다. 본 발명의 원리에 일치하는 하나의 구현에 따르면, 시스템(200)은 복수의 기기(210)를 포함할 수 있다. 다른 구현에 따르면, 시스템(200)은 단일의 기기(210)를 포함할 수 있다.
도 3은 본 발명의 원리에 일치하는 구현에 따른 기기(210)의 예시적 도면이다. 기기(210)는 버스(310), 프로세서(320), 메인 메모리(330), 판독 전용 메모리(ROM)(340), 저장 기기(350), 입력 기기(360), 출력 기기(370), 및 통신 인터페 이스(380)를 포함할 수 있다. 버스(310)는 기기(210)의 구성요소들 사이의 통신을 허용하는 경로를 포함할 수 있다.
프로세서(320)는 프로세서, 마이크로프로세서, 또는 명령을 해석하고 실행하는 프로세싱 로직을 포함할 수 있다. 메인 메모리(330)는 랜덤 액세스 메모리(RAM) 또는 프로세서(320)에 의해 실행을 위한 정보 및 명령을 저장할 수 있는 다른 유형의 동적 저장 기기를 포함할 수 있다. ROM(340)은 ROM 기기 또는 프로세서(320)에 의해 실행을 위한 정보 및 명령을 저장할 수 있는 다른 유형의 정적 저장 기기를 포함할 수 있다. 저장 기기(350)는 자기 및/또는 광학 기록 매체 및 그에 따른 드라이브를 포함할 수 있다.
입력 기기(360)는 키보드, 마우스, 펜, 음성 인식 및/또는 생체 인식 기구(biometric mechanism) 등과 같이, 오퍼레이터로 하여금 정보를 기기(210)에 입력할 수 있게 하는 기구를 포함할 수 있다. 출력 기기(370)는, 디스플레이, 프린터, 스피커 등을 포함하는, 오퍼레이터에게 정보를 출력하는 기구를 포함할 수 있다. 통신 인터페이스(380)는 기기(210)가 다른 기기들 및/또는 시스템들과 통신할 수 있게 하는 임의의 송수신기형 기구를 포함할 수 있다. 예를 들어, 통신 인터페이스(380)는 다른 기기(210) 또는 저장부(220)와 통신하기 위한 기구를 포함할 수 있다.
이하에 상세히 서술될 바와 같이, 본 발명의 원리에 일치하여, 기기(210)는 소정의 모델 생성-관련 동작들을 수행할 수 있다. 기기(210)는 이러한 동작들을, 메모리(330)와 같이, 컴퓨터-판독 가능한 매체에 포함되어 있는 소프트웨어 명령들 을 실행하는 프로세서(320)에 응답하여 수행할 수 있다. 컴퓨터-판독 가능한 매체는 물리적 또는 논리적 메모리 기기 및/또는 반송파(carrier wave)로서 한정될 수 있다.
소프트웨어 명령은 통신 인터페이스(380)를 통해, 데이터 저장 기기(350)와 같은 다른 컴퓨터-판독 가능한 매체로부터, 또는 다른 기기로부터 메모리(330)로 읽혀질 수 있다. 메모리(330)에 포함되어 있는 소프트웨어 명령은 프로세서(320)로 하여금 프로세스를 수행하게 할 수 있으며, 이 프로세스에 대해서는 나중에 설명할 것이다. 대안적으로, 유선 회로(hardwired circuitry)를 소프트웨어 명령 대신 또는 소프트웨어 명령과 조합하여 사용해서 본 발명의 원리에 일치하는 프로세스를 실행할 수 있다. 그러므로 본 발명의 원리에 일치하는 구현은 하드웨어 회로와 소프트웨어의 임의의 특정한 조합에 제한되지 않는다.
예시적 모델 생성 프로세싱
이하에 논의할 목적으로, 저장부(220)(도 2) 내의 데이터 세트는 인스턴스(instance)라 칭하는 복수의 요소를 포함할 수 있다. 저장부(220)가 수 백만 개의 인스턴스를 포함하는 것이 가능할 수 있다. 각각의 인스턴스는 세 개의 데이터(u, q, r)을 포함할 수 있으며, 여기서 "u"는 사용자 정보를 나타내고, "q"는 사용자 u가 제공한 질의를 나타내며, "r"은 질의 q에 응답해서 검색 결과가 제공된 레포지토리를 나타낸다. 저장부(220)는 또한 사용자 u가 질의 q를 제공했을 때 사용자 u가 레포지토리 r로부터 정보를 원했는지에 관한 정보를 저장할 수 있는 데, 이 경우, 예를 들어 사용자가 레포지토리로부터 문헌을 선택했는지를 결정함으로써 사용자의 요청을 평가할 수 있다.
임의의 주어진 (u, q, r)에 대해 몇 개의 특징을 추론할 수 있다. 저장부(220)가 수 십만 개의 별개의 특징을 포함하는 것이 가능할 수 있다. 하나의 구현에서, 이들 특징들 중 일부는 이하의 것들 중 하나 이상을 포함할 수 있다: 사용자 u가 위치하고 있는 나라, 사용자 u가 위치하고 있는 나라의 언어, 사용자 u와 연관된 쿠키 식별자, 질의 q의 언어, 질의 q에서의 각각의 용어, 사용자 u가 질의 q를 제공한 날짜의 시간, 사용자 u에게 제공된 레포지토리 r로부터의 문헌, 사용자 u에게 제공된 레포지토리 r로부터의 문헌 내의 각각의 용어, 및/또는 사용자 u에게 제공된 레포지토리로부터의 문헌의 명칭에서의 각각의 용어. 다른 특징들도 대안적으로 또는 부가적으로 사용될 수 있다.
다른 구현에서, 이러한 특징들 중 일부는 전술한 특징들 중 일부에 부가해서 또는 대신해서, 이하의 것들 중 하나 이상을 포함할 수 있다: 레포지토리 r의 인터페이스에 제공된 질의들의 일부, 레포지토리 r의 인터페이스 대 다른 레포지토리들의 인터페이스들에 제공된 질의들의 일부, 레포지토리 r의 인터페이스 대 다른 레포지토리들의 인터페이스들에 제공된 질의 q 내의 용어를 포함하는 질의들의 일부, 레포지토리 r의 인터페이스에 제공된 질의들에 대한 전체 클릭 비율(overall clock rate), 사용자 r을 위한 레포지토리 r의 인터페이스에 제공된 질의들에 대한 클릭 비율, 사용자 u와 동일한 국가 내의 사용자들을 위한 레포지토리 r의 인터페이스에 제공된 질의들에 대한 클릭 비율, 및/또는 레포지토리 r의 인터페이스에 제 공된 질의 q에 대한 클릭 비율.
추가의 구현에서, 이하의 두 개의 특징이 또한 포함될 수 있다: 사용자 u를 위한 레포지토리 r의 인터페이스에 제공된 질의 q의 클릭 비율, 및 사용자 u를 위한 레포지토리 r의 인터페이스에 제공된 질의들 q의 일부. 이러한 특징들을 직접적으로 결정하는 대신에, 종래의 기술을 사용하여 이러한 특징들을 예측하기 위한 모델들을 생성할 수 있으며 이 모델들의 출력을 특징들로서 사용할 수 있다.
모델은 이러한 데이터에 기초해서 생성될 수 있다. 하나의 구현에서, 사용자 u가 질의 q를 제공한 경우 사용자 u가 레포지토리 r로부터 정보를 원할지를 예측하는데 이 모델을 사용할 수 있다. 이하에 더 상세히 서술되는 바와 같이, 이 모델의 출력을 사용하여, 레포지토리를 검색할지, 레포지토리로부터의 검색 결과를 검색 결과 문서에 포함시킬지, 및/또는 검색 결과 문서 내의 검색 결과를 나타내는 방식을 결정할 수 있다.
도 4는 본 발명의 원리에 일치하는 구현에 따라 모델을 생성하기 위한 예시적 프로세싱의 흐름도이다. 이 프로세싱은 단일의 기기(210) 또는 복수의 기기(210)의 조합에 의해 수행될 수 있다.
모델의 생성을 용이하게 하기 위해, 저장부(220) 내의 로그 데이터가 인스턴스(instance)의 세트로서 제공될 수 있다(블록 410). 예를 들어, 사용자에 관한 정보, 사용자가 제공한 질의들, 및 검색 결과가 얻어지고 및/또는 선택되는 레포지토리와 같이, 사용자에 의한 이전의 검색에 관한 정보가 식별된다. 이 정보는 전술한 바와 같이, 3중(u, q, r)으로 형성될 수 있다.
그런 다음 각각의 인스턴스에 대한 레이블(label)이 결정된다(블록 420). 예를 들어, 사용자 u가 질의 q를 제공했을 때 사용자가 레포지토리 r 내의 정보를 원했는지(예를 들어, 문헌을 선택했는지)를 각각의 3중(u, q, r)에 대해 결정할 수 있다. 레이블은 저장부(220) 내의 그 대응하는 인스턴스와 연관될 수 있다. 각각의 인스턴스에 관한 특징들 역시 결정될 수 있다(블록 430).
그런 다음 모델은 인스턴스, 레이블, 및 특징들에 기초하여 생성될 수 있다(블록 440). 예를 들어, 표준 기계 학습 또는 통계 기술을 사용하여, 사용자 u가 질의 q를 제공할 때 사용자 u가 레포지토리 q로부터 정보를 원할 확률을 결정할 수 있다:
P(desire|u, q, show_r)
여기서, show_r은 레포지토리로부터의 문헌이 제공되는 것을 나타낸다. 수개의 공지된 기술들 중 임의의 기술을 사용하여, 로직 회귀분석(logic regression), 부스트 결정 트리(boosted decision tree), 랜덤 포리스트(random forest), 서포트 벡터 머신(support vector machine), 퍼셉트론(perceptron), 및 위노우 러너스(winnow learners)와 같은, 모델을 생성한다. 확률을 생성하는 대신, 이 모델은 사용자 u가 질의 q를 제공할 때 사용자 u가 레포지토리 r로부터 정보를 원한다는 확실성(confidence)을 반영하는 값을 출력한다. 모델의 출력은 일반적으로 이후 "스코어(score)"라 칭해질 것이며, 이 스코어는 확률 출력 및/또는 출력 값을 포함할 수 있다.
이하에 서술되는 바와 같이, 모델의 출력을 사용하여, 레포지토리를 검색할 것인지, 검색 결과 문서에 레포지토리로부터의 검색 결과를 포함시킬 것인지, 및/또는 검색 결과 문서 내의 검색 결과를 나타내는 방식을 결정할 수 있다.
예시적 정보 검색 네트워크
도 5는 본 발명의 원리에 일치하는 시스템 및 방법이 구현될 수 있는 네트워크(500)의 예시적 도면이다. 네트워크(500)는 네트워크(550)를 통해 복수의 서버(520 내지 540)에 접속되는 복수의 클라이언트(510)를 포함할 수 있다. 클라이언트(510) 및 세 개의 서버(520 내지 540)는 간략화를 위해 네트워크(550)에 접속되어 있는 것으로 도시되어 있다. 실제로, 더 많은 또는 더 적은 클라이언트 및 서버가 있을 수 있다. 또한, 일부의 예에서, 클라이언트는 서버의 기능을 수행할 수 있고, 서버는 클라이언트의 기능을 수행할 수 있다.
클라이언트(510)는 클라이언트 엔터티(entity)를 포함할 수 있다. 엔터티는 퍼스널 컴퓨터, 무선 전화기, 개인 휴대 단말(PDA), 랩톱과 같은 기기(device), 또는 다른 유형의 계산 또는 통신 기기, 이들 기기들 중 하나에서 운용되는 쓰레드(thread) 및 프로세스, 및/또는 이들 기기들 중 하나에 의해 실행 가능한 객체(object)로서 정의될 수 있다. 서버(520 내지 540)는 본 발명의 원리에 일치하는 방식으로 문헌을 수집하고 처리하고 검색하며 및/또는 유지하는 서버 엔터티를 포함할 수 있다.
본 발명의 원리에 일치하는 실행에서, 서버(520)는 클라이언트(510)가 사용할 수 있는 검색 엔진 시스템(525)을 포함할 수 있다. 검색 엔진 시스템(525)은, 웹 페이지 레포지토리, 뉴스 레포지토리, 이미지 레포지토리, 제품 레포지토리, 유즈넷 레포지토리, 옐로우 페이지 레포지토리, 스캔된 책 레포지토리, 및/또는 다른 유형의 레포지토리와 같은, 문헌의 일련의 레포지토리(도시되지 않음)와 연관될 수 있다. 이들 레포지토리는 서버(520) 내에 또는 서버(520)의 외부에 위치하는 하나 이상의 기기에 물리적으로 상주할 수 있다. 서버(530 및 540)는 하나 이상의 레포지토리와 연관될 수 있는 문헌을 저장 또는 유지할 수 있다.
서버(520 내지 540)가 별개의 엔터티로서 도시되어 있지만, 서버(520 내지 540) 중 하나 이상이 서버(520 내지 540) 중 다른 하나 이상의 기능들 중 하나 이상을 실행하는 것이 가능할 수 있다. 예를 들어, 서버(520 내지 540) 중 둘 이상이 단일의 서버로서 실행되는 것이 가능할 수 있다. 또한 서버(520 내지 540) 중 단일의 서버가 둘 이상의 별개의 기기로서 실행되는 것도 (그리고 분배되는 것도) 가능할 수 있다.
네트워크(550)는 근거리 통신망(LAN), 광역망(WAN), 공중 교환 전화망(PSTN)과 같은 전화망, 인트라넷, 인터넷, 또는 네트워크들의 조합을 포함할 수 있다. 클라이언트(510) 및 서버(520 내지 540)는 유선, 무선, 및/또는 광학 접속을 통해 네트워크(550)에 접속될 수 있다.
검색 결과를 제공하기 위한 예시적 프로세스
도 6은 본 발명의 원리에 일치하는 구현에 따라 검색 결과를 제공하기 위한 예시적 프로세스의 흐름도이다. 프로세싱은 검색 질의의 수취에서부터 시작할 수 있다(블록 610). 예를 들어, 사용자는 클라이언트(510)(도 5)와 같은, 클라이언트 상의 웹 브라우저 소프트웨어를 사용하여 검색 엔진 인터페이스에 액세스할 수 있다. 사용자는 검색 질의를 검색 엔진 인터페이스에 제공할 수 있다.
사용자에 관한 정보가 얻어질 수 있다(블록 620). 예를 들어, 사용자는 예를 들어 IP 어드레스, 쿠키 정보, 언어, 및/또는 사용자와 연관된 지리학적 정보를 사용하여 식별될 수 있다. 사용자 정보를 수집하기 위해 종래의 기술을 사용할 수 있다.
하나의 구현에서, 검색 질의에 기초하여 각각의 레포지토리에 대해 검색이 수행될 수 있다(블록 630). 검색 결과 세트는 각각의 레포지토리에 대응하여 얻어질 수 있다. 관련 문헌을 식별하는 데 어떠한 종래의 정보 검색 기술이라도 사용하여 검색 결과의 세트에 포함시킬 수 있다.
그런 다음 모델에 기초하여 검색 결과가 제공되는 방법을 결정할 수 있다(블록 640). 예를 들어, 사용자에 관한 정보, 사용자가 제공한 검색 질의, 및 각각의 레포지토리는 입력으로서 모델에 사용될 수 있다. 모델은 각각의 레포지토리에 적용되며 모델의 출력("스코어")을 사용하여 그 레포지토리와 연관된 검색 결과를 제공할 것인지를 결정할 수 있다. 예를 들어, 가장 높은 연관 스코어를 가진 두 개의 레포지토리로부터의 검색 결과가 제공되어야 하는지를 결정할 수 있다. 대안적으로, 레포지토리들 중 특정한 레포지토리로부터의 검색 결과가 항상 제공되고, 다른 하나 이상의 레포지토리와 연관된 스코어가 특정한 레포지토리와 연관된 스코어보다 클 때, 다른 하나 이상의 레포지토리들로부터의 검색 결과도 또한 제공되어야 하는지를 결정할 수 있다. 대안적으로, 특정한 임계치 이상의 스코어와 연관된 레포지토리로부터의 검색 결과가 제공되어야 하는지를 결정할 수 있으며, 임계치 이상의 스코어가 존재하지 않으면, 가장 높은 연관 스코어를 가진 레포지토리로부터의 검색 결과를 제공한다. 레포지토리와 연관된 검색 결과를 제공할 것인지를 결정하기 위한 또 다른 규칙들이 대안적으로 또는 부가적으로 사용될 수 있다.
모델의 출력을 대안적으로 또는 부가적으로 사용하여, 서로 다른 레포지토리들로부터의 검색 결과가 제공되는 방식을 결정할 수 있다. 예를 들어, 레포지토리와 연관된 스코어가 임계치보다 약간 낮으면, 그 레포지토리와 연관된 검색 결과는 검색 결과 문서의 상부 쪽보다는 오히려 사용자에게 제공된 검색 결과 문서의 하부 쪽으로 제공될 수 있다. 대안적으로 또는 부가적으로, 레포지토리와 연관된 스코어가 임계치보다 약간 낮으면, 검색 결과 그 자체 대신, 그 레포지토리와 연관된 검색 결과에 대한 링크가 제공될 수 있다. 레포지토리와 연관된 검색 결과를 제공하는 방식을 결정하기 위한 또 다른 규칙들이 대안적으로 또는 부가적으로 사용될 수 있다.
그런 다음 검색 결과는 검색 결과 문서 내에 배치되어 사용자에게 제공될 수 있다. 각각의 검색 결과는 예를 들어 그 대응하는 레포지토리로부터의 문헌에 대한 링크를 포함할 수 있으며, 가능하다면 그 문헌에 대한 요약 설명 또는 그 문헌으로부터의 초록도 포함할 수 있다.
다른 구현에서, 검색에 대한 레포지토리 또는 레포지토리들은 모델에 기초하여 식별될 수 있다(블록 650). 예를 들어, 사용자에 관한 정보, 사용자가 제공한 검색 질의, 및 각각의 레포지토리는 모델에 대한 입력으로서 사용될 수 있다. 이 모델을 각각의 레포지토리에 적용하고 모델의 출력("스코어")를 사용하여 어느 레포지토리를 검색할 것인지를 결정할 수 있다. 예를 들어, 가장 높은 관련 스코어를 가진 두 개의 레포지토리가 검색되어야 한다는 것으로 결정될 수 있다. 대안적으로, 레포지토리들 중 특정한 레포지토리는 항상 검색되어야 하고, 다른 하나 이상의 레포지토리와 연관된 스코어가 이 특정한 레포지토리와 연관된 스코어보다 클 때, 다른 하나 이상의 레포지토리도 또한 검색되어야 하는 것으로 결정될 수 있다. 대안적으로, 특정한 임계치 이상의 스코어와 연관된 레포지토리들이 검색되어야 하는 것으로 결정될 수 있으며, 임계치 이상의 스코어가 존재하지 않으면, 가장 높은 연관 스코어를 가진 레포지토리를 검색한다. 어느 레포지토리를 검색할 것인지를 결정하기 위한 또 다른 규칙들이 대안적으로 또는 부가적으로 사용될 수 있다.
검색을 수행하여 각각의 식별된 레포지토리들로부터 검색 결과의 세트를 얻을 수 있다(블록 660). 관련 문헌을 식별하는 데 어떠한 종래의 정보 검색 기술이라도 사용하여 검색 결과의 세트에 포함시킬 수 있다.
그런 다음 검색 결과를 모델에 기초하여 제공할 수 있다(블록 670). 예를 들어, 모델의 출력을 사용하여, 서로 다른 레포지토리들로부터의 검색 결과가 제공되는 방식을 결정할 수 있다. 예를 들어, 레포지토리와 연관된 스코어가 임계치보다 약간 낮으면, 그 레포지토리와 연관된 검색 결과는 검색 결과 문서의 상부 쪽보다는 오히려 사용자에게 제공된 검색 결과 문서의 하부 쪽으로 제공될 수 있다. 대안적으로 또는 부가적으로, 레포지토리와 연관된 스코어가 임계치보다 약간 낮으면, 검색 결과 그 자체 대신, 그 레포지토리와 연관된 검색 결과에 대한 링크가 제공될 수 있다. 레포지토리와 연관된 검색 결과를 제공하는 방식을 결정하기 위한 다른 규칙들이 대안적으로 또는 부가적으로 사용될 수 있다.
그런 다음 검색 결과는 검색 결과 문서 내에 배치되어 사용자에게 제공될 수 있다. 각각의 검색 결과는 예를 들어 그 대응하는 레포지토리로부터의 문헌에 대한 링크를 포함할 수 있으며, 가능하다면 그 문헌에 대한 요약 설명 또는 그 문헌으로부터의 초록도 포함할 수 있다.
다른 구현에서, 둘 이상의 모델이 사용될 수 있다. 예를 들어, 제1 모델은 레포지토리를 검색할 것인지를 결정하는 데 사용되며, 제2 모델은 그 검색된 레포지토리들 중 하나로부터의 검색 결과를 검색 결과 문서에 포함시킬 것인지를 결정하며, 이 제2 모델, 또는 가능하다면 제3 모델은 검색 결과 문서 내의 검색 결과를 제공하는 방식을 결정하는 데 사용될 수 있다. 제1 모델, 제2 모델, 및/또는 제3 모델은 서로 다른 하나 이상의 요인들에 기초하여 생성될 수 있다. 예를 들어, 하나의 구현에서, 제1 모델의 출력은 제2 입력에 대한 입력으로서 사용될 수 있고, 및/또는 제1 모델 출력 및/또는 제2 모델의 출력은 제3 모델에 대한 입력으로서 사용될 수 있다.
이 검색에 관한 정보를 저장부(220)에 대한 로그 데이터로서 제공하는 것이 가능할 수 있다. 예를 들어, 이 정보는 모델을 양성하거나 세련(refine)되게 하기 위한 트레이닝 데이터(training data)로서 사용될 수 있다.
도 7 내지 도 10은 본 발명의 원리와 일치하는 예시적 구현의 도면들이다. 도 7에 도시된 바와 같이, 검색 엔진 시스템(710)은 웹 페이지 레포지토리(720), 이미지 레포지토리(730), 및 뉴스 레포지토리(740)로 이루어지는 3 개의 연관 레포지토리를 갖는 것으로 가정하자. 웹 페이지 레포지토리(720)는 웹 페이지에 관한 정보를 저장할 수 있다. 이미지 레포지토리(730)는 이미지에 관한 정보를 저장할 수 있다. 뉴스 레포지토리(740)는 뉴스 문헌에 관한 정보를 저장할 수 있다. 검색 엔진 시스템(710)은 사용자로부터의 검색 질의를 수취하고 레포지토리(720 내지 740) 중 하나 이상으로부터의 관련 검색 결과를 제공할 수 있다.
도 8에 도시된 바와 같이, 사용자가 검색 엔진 시스템(710)과 연관된 인터페이스에 액세스하는 것으로 가정하자. 인터페이스는 레포지토리들 중 하나와 연관되거나 또는 레포지토리들 중 어느 것과도 연결되지 않을 수 있다. 도 8에 도시된 바와 같이, 사용자가 검색 질의 "일몰"을 검색 엔진 시스템(710)에 제공하는 것으로 가정하자. 이 검색 질의에 부가해서, 검색 엔진 시스템(710)은 IP 어드레스, 쿠키 정보, 언어 및/또는 사용자와 연관된 지리학적 정보와 같은, 사용자에 관한 정보를 얻을 수 있다.
하나의 구현에서, 전술한 바와 같이, 검색 엔진 시스템(710)은 각각의 레포지토리(720 내지 740) 상의 검색을 수행하여 각각의 레포지토리(720 내지 740)에 대한 검색 결과의 세트를 얻을 수 있다. 검색 엔진 시스템(710)이 검색 질의 "일몰"에 대한 관련 검색 결과로서, 웹 페이지 레포지토리(720)로부터 10 개의 웹 페 이지 결과, 이미지 레포지토리(730)로부터의 10 개의 이미지 결과, 및 뉴스 레포지토리(740)로부터 10 개의 뉴스 문헌 결과를 식별하는 것으로 가정하자.
검색 엔진 시스템(710)은 사용자, 사용자가 제공한 검색 질의, 및 각각의 레포지토리(720 내지 740)에 관한 정보를 입력으로서 모델에 입력할 수 있다. 이 모델은, 사용자가 검색 질의 "일몰"을 제공하면, 각각의 레포지토리(720 내지 740)로부터 사용자가 원하는 정보의 확률을 결정하는 데 사용될 수 있다.
예를 들어, 이하의 출력들이 모델에 의해 생성된 것으로 가정하자:
P(desire|u, q, show_web page repository) = 0.45
P(desire|u, q, show_image repository) = 0.91
P(desire|u, q, show_news repository) = 0.23
여기서, "u"는 검색 질의를 제공한 사용자에 대응하는 사용자 정보를 나타내고, "q"는 사용자가 제공한 검색 질의(예를 들어 "일몰")에 대응하는 정보를 나타내며, "show_x repository"(여기서, x는 "웹 페이지", "이미지", "뉴스"에 대응함)는 그 식별된 레지포토리에 대응하는 정보를 나타낸다. 이 경우, 사용자가 검색 질의 "일몰"을 제공할 때 웹 레포지토리(720)로부터의 사용자가 원하는 정보의 확률은 45%이고, 사용자가 검색 질의 "일몰"을 제공할 때 이미지 레포지토리(730)로부터의 사용자가 원하는 정보의 확률은 91%이며, 사용자가 검색 질의 "일몰"을 제공할 때 뉴스 레포지토리(740)로부터의 사용자가 원하는 정보의 확률은 23%이다.
그런 다음 검색 엔진 시스템(710)은 각각의 레포지토리(720 내지 740)와 관련해서 모델의 출력을 사용하여, 그 레포지토리와 연관된 검색 결과를 제공할 것인지를 결정할 수 있다. 예를 들어, 검색 엔진 시스템(710)은 가장 높은 스코어를 갖는 레포지토리로부터만의 검색 결과를 제공하기 위한 것이다라는 것을 규칙이 나타낸다고 가정하자. 이 경우, 검색 엔진 시스템(710)은 도 9에 도시된 바와 같이, 이미지 레포지토리(730)(즉, 가장 높은 스코어 - 0.91을 갖는 레포지토리)로부터 식별된 10 개의 이미지 결과에 기초하여 검색 결과 문서를 형성할 수 있다.
대안적으로, 검색 엔진 시스템(710)이 웹 페이지 레포지토리(720)로부터의 검색 결과를 항상 제공하고, 다른 레포지토리가 웹 페이지 레포지토리(720)와 연관된 스코어보다 높은 연관 스코어를 가지면, 그 레포지토리(또는 레포지토리들)로부터의 검색 결과를 제공하기 위한 것이다라는 것을 규칙이 나타낸다고 가정하자. 이 경우, 검색 엔진 시스템(710)은, 이미지 레포지토리(730)와 연관된 스코어(0.91)가 웹 페이지 레포지토리(720)와 연관된 스코어(0.45)보다 크기 때문에, 웹 페이지 레포지토리(720) 및 이미지 레포지토리(730) 양쪽으로부터 검색 결과를 제공하는 것으로 결정할 수 있다.
그런 다음 검색 엔진 시스템(710)은 도 10에 도시된 바와 같이, 웹 페이지 레포지토리(720)로부터의 10 개의 웹 페이지 결과 및 이미지 레포지토리(730)로부터의 10 개의 이미지 결과에 기초하여 검색 결과 문서를 형성한다. 이미지 레포지토리(730)와 연관된 스코어가 웹 페이지 레포지토리(720)와 연관된 스코어보다 높기 때문에 (또는 임계치보다 약간 높거나 임계치보다 높고 크기 때문에), 도 10에도 도시된 바와 같이, 10 개의 이미지 결과에 관한 정보는 검색 결과 문서 내에서 10 개의 웹 페이지 결과보다 더 주목을 끄는 위치에 제공될 수 있다. 사용자는, 도 9에 도시된 것과 유사하게, 이미지 결과에 관한 부가의 정보를 제공하기 위해, 10 개의 이미지 결과와 연관된 링크를 선택할 수 있다(예를 들어, "SEE 10 IMAGE RESULTS FOR SUNSET>>").
결 론
본 발명의 원리와 일치하는 구현에서는, 레포지토리 또는 레포지토리들을 예측하는 데 사용될 수 있는 모델을 생성하면, 사용자가 검색 질의를 제공할 때 아마도 사용자가 관심을 둘 것이므로, 이 모델을 사용하여 관련 검색 결과를 사용자에게 제공할 수 있다.
본 발명의 양호한 실시예들에 대한 위에서 말한 설명은 도해 및 설명을 제공하지만, 본 발명을 총망라한 것으로 또는 개시된 정교한 형태로 제한하려고 하는 것이 아니다. 변형 및 다양성은 전술한 바와 관련해서 가능하며 본 발명의 실행으로부터 취득될 수 있다.
예를 들어, 도 4 및 도 6을 참조하여 일련의 작동을 설명하였으나, 본 발명의 원리에 일치하는 다른 실행에서는 작동의 순서가 수정될 수 있다. 또한, 독립적인 작동들이 병렬로 수행될 수 있다.
또한, 예시적 사용자 인터페이스에 대해 도 8 내지 도 10을 참조하여 설명하였다. 본 발명의 원리에 일치하는 다른 구현에서, 사용자 인터페이스는 더 많은, 더 적은, 또는 다른 형태로의 정보를 포함할 수 있다.
위에서 말한 설명에는 사용자가 언급되어 있다. "사용자"는 클라이언 트(510)(도 5)와 같은 클라이언트, 또는 클라이언트의 오퍼레이터를 언급하려 한 것이다.
또한, 모델의 출력("스코어")을 사용하여, 레포지토리를 검색할 것인지, 검색 결과 문서에 레포지토리로부터의 검색 결과를 포함시킬 것인지, 및/또는 검색 결과 문서 내의 검색 결과를 나타내는 방식을 결정할 수 있다는 것에 대해 서술하였다. 다른 구현에서, 스코어는, 레포지토리를 검색할 것인지, 검색 결과 문서 내에 레포지토리로부터의 검색 결과를 포함시킬 것인지, 및/또는 검색 결과 문서 내의 검색 결과를 나타내는 방식을 결정하는 기능에 대한, 복수의 입력 중에서, 하나의 입력으로서 사용될 수 있다.
또한, 전술한 특징들 중 일부는 다른 것들보다 결정하는 데 계산상 더 비싸다. 예를 들어, 레포지토리들 내의 문헌들에 기초하는 특징들은 이들 레포지토리들이 질문을 받게 해서 그 문헌들을 페치(fetch)시키도록 요구할 수 있다. 계산 효율성을 위해, 계산상 덜 비싼(예를 들어, 더 저렴한) 특징들에 기초하여 적절한 메인 모델을 생성할 수 있으며, 이 적절한 메인 모델을 사용하여 어느 레포지토리들을 검색할 것인지를 결정할 수 있다. 일단 이들 레포지토리들로부터의 문헌들이 페치된 경우에는, 완전한(full) 메인 모델을 사용하여, 어느 레포지토리들이 검색 결과를 제공할 것인지를 결정할 수 있다.
또한, 서로 다른 레포지토리들 상의 정보를 수집하기 위해 "탐사(exploration)" 정책에 따라 모델을 사용하는 것이 가능할 수 있다. 예를 들어, 차선의 레포지토리에 관한(예를 들어 이미지보다는 뉴스 문헌을 나타내는) 검색 결 과를 제공하는 것이 바람직하다. 하나의 탐사 정책은 랜덤(random) 레포지토리로부터의 문헌들이 소수의 사용자들에게 제공된다는 것을 의미할 수 있다. 다른 탐사 정책은 레포지토리로부터의 문헌들이 스코어에 비례해서 제공된다는 것을 의미한다(예를 들어, 이미지에 대한 스코어가 뉴스 기사에 대한 스코어의 두배가 되도록 결정되면, 이미지는 뉴스 기사보다 두 배나 자주 제공될 수 있다).
사용자가 식별된 레포지토리로부터 정보를 원할 가능성에 기초하여 레포지토리(또는 레포지토리의 세트)를 식별하기 위해 모델을 생성할 수 있다는 것에 대해 서술하였다. 하나의 구현에서, 이 모델은, 질의(예를 들어, 질의 용어들)에 관한 하나 이상의 특징과 같은, 하나 이상의 특징에 기초하여 키(key)가 결정되는, 하나의 룩업 테이블(lookup table)로서 구성될 수 있다. 룩업 테이블의 출력은 각각의 레포지토리에 대한 클릭률(click-through rate)(또는 추정된 클릭률)을 포함할 수 있다. 이 경우, 사용자가 레포지토리들 중 하나로부터 정보를 원할 가능성은 그 레포지토리에 대한 클릭률의 함수가 될 수 있다. 예를 들어, 레포지토리를 검색할 것인지, 검색 결과 문서에 레포지토리로부터의 검색 결과를 포함시킬 것인지, 및/또는 그 레포지토리에 대한 클릭률에 기초하여 검색 결과를 나타내는 방식이 결정될 수 있다.
본 발명의 관점은, 전술한 바와 같이, 도면에 도시된 구현에서 소프트웨어, 펌웨어, 및 하드웨어의 많은 다양한 형태로 구현될 수 있다는 것은 당업자에게는 자명하다. 실제의 소프트웨어 코드 또는 본 발명의 원리에 일치하는 관점들을 구현하는 데 사용되는 전문화된 제어 하드웨어가 본 발명을 제한하는 것이 아니다. 그러므로 이러한 관점들의 작동 및 행동은 특수한 소프트웨어 코드를 참조함이 없이 서술되었다 - 당업자는 여기에 개시된 설명에 기초하여 이러한 관점들을 구현하는 소프트웨어 및 제어 하드웨어를 설계할 수 있을 것임은 물론이다.
본 출원에 사용된 구성요소, 작동, 또는 명령은 이와 같이 명시적으로 개시하지 않은 경우 본 발명에 중요하거나 필수적인 것으로 구성될 필요가 없다. 또한, 여기에서 사용된 바와 같이, 관사 "a"는 하나 이상의 용어를 포함하도록 의도된 것이다. 단지 하나의 용어가 의도된 경우에는, 용어 "하나(one)" 또는 유사한 언어가 사용된다. 또한, 구 "기초하여(based on)"는 명시적으로 다르게 말하지 않는 한 "적어도 부분적으로 기초하여"라는 의미로 의도된 것이다.

Claims (43)

  1. 하나 이상의 기기에 의해 수행되는 방법으로서,
    하나 이상의 메모리 기기에, 복수의 사용자에 의해 제공된 검색 질의들(search queries)에 기초하여 레포지토리에 대한 복수의 검색과 연관된 로그 데이터를 저장하는 단계;
    상기 로그 데이터에 기초하여, 특정 검색 질의와 특정 사용자에 관한 정보를 입력으로서 수신하고 특정 레포지토리가 상기 특정 사용자에 의해 제공된 상기 특정 검색 질의에 상응하는 정보를 포함하고 있을 가능성(likelihood)을 나타내는 스코어를 출력하는 모델을 생성하는 단계;
    사용자로부터 검색 질의를 수취하는 단계;
    복수의 레포지토리(repository)의 각각에 대해 검색 결과의 세트를 식별(identify)하기 위해, 상기 검색 질의에 기초하여 상기 복수의 레포지토리를 검색하는 단계;
    상기 복수의 레포지토리의 각각에 대해, 상기 검색 질의에 대한 정보와 상기 사용자에 대한 정보를 상기 모델에 입력함으로써, 레포지토리가 상기 검색 질의를 만족시키는 정보를 포함하고 있을 가능성을 나타내는 스코어를 결정하는 단계;
    상기 결정된 스코어에 기초하여 상기 복수의 레포지토리 중 하나를 선택하는 단계;
    상기 복수의 레포지토리 중 선택된 상기 하나의 레포지토리와 연관된 검색 결과의 세트에 기초하여 검색 결과 문서를 생성하는 단계; 및
    상기 검색 결과 문서를 상기 사용자에게 제공하는 단계
    를 포함하는 방법.
  2. 삭제
  3. 삭제
  4. 삭제
  5. 제1항에 있어서,
    상기 모델을 생성하는 단계는,
    상기 로그 데이터를 3중의 데이터(u, q, r)로서 나타내는 단계를 더 포함하며,
    상기 u는 검색 질의를 제공한 사용자에 관한 정보를 의미하며, 상기 q는 상기 검색 질의에 관한 정보를 의미하며, 상기 r은 상기 검색 질의에 응답하여 검색 결과가 제공된 레포지토리에 관한 정보를 의미하는, 방법.
  6. 제5항에 있어서,
    상기 로그 데이터는 수 백만 개의 상기 3중의 데이터(u, q, r)를 포함하는, 방법.
  7. 제5항에 있어서,
    상기 모델을 생성하는 단계는 각각의 상기 3중의 데이터(u, q, r)에 대한 레이블(label)을 결정하는 단계를 더 포함하며,
    상기 레이블은 상기 리포지토리 r이 상기 사용자 u에 의해 제공된 상기 검색 질의 q를 만족시키는 정보를 포함하는지 여부에 관한 정보를 포함하는, 방법.
  8. 제7항에 있어서,
    상기 모델을 생성하는 단계는, 상기 3중의 데이터(u, q, r) 및 그것과 연관된 레이블들에 기초하여 상기 모델을 양성하는 단계를 포함하는, 방법.
  9. 삭제
  10. 제1항에 있어서,
    상기 복수의 레포지토리 중 하나를 선택하는 단계는, 상기 복수의 레포지토리의 스코어들 중 가장 높은 스코어를 갖는 레포지토리를 선택하는 단계를 포함하는, 방법.
  11. 제1항에 있어서,
    상기 검색 결과 문서를 생성하는 단계는, 상기 검색 결과 문서에 포함시키기 위해, 상기 복수의 레포지토리 중 둘 이상의 레포지토리의 스코어들에 기초하여, 상기 둘 이상의 레포지토리와 연관된 검색 결과의 세트를 선택하는 단계를 포함하는, 방법.
  12. 제11항에 있어서,
    상기 검색 결과의 세트를 선택하는 단계는,
    상기 둘 이상의 레포지토리와 연관된 스코어들에 기초하여 상기 검색 결과 문서 내에 상기 검색 결과의 세트를 배열(arrange)하는 단계, 및
    상기 검색 결과 문서를 상기 사용자에게 제공하는 단계
    를 포함하는, 방법.
  13. 제12항에 있어서,
    상기 둘 이상의 레포지토리와 연관된 스코어들에 기초하여 상기 검색 결과 문서 내에 상기 검색 결과의 세트를 배열하는 단계는,
    상기 둘 이상의 레포지토리 중 제1 레포지토리와 연관된 스코어가 상기 둘 이상의 레포지토리 중 제2 레포지토리와 연관된 스코어보다 높을 때, 상기 제1 레포지토리와 연관된 검색 결과의 세트를, 상기 제2 레포지토리와 연관된 검색 결과의 세트보다 상기 검색 결과 문서 내에서 더 위쪽에 배치하는 단계를 포함하는, 방법.
  14. 제12항에 있어서,
    상기 둘 이상의 레포지토리와 연관된 상기 스코어들에 기초하여 상기 검색 결과 문서 내에 상기 검색 결과의 세트를 배열하는 단계는,
    상기 검색 결과 문서 내에 상기 둘 이상의 레포지토리 중 적어도 하나의 레포지토리와 연관된 검색 결과의 세트에 대한 링크만을 제공하는 단계를 포함하는, 방법.
  15. 제1항에 있어서,
    상기 스코어들에 기초하여 검색할 레포지토리의 그룹을 상기 복수의 레포지토리로부터 선택하는 단계를 더 포함하며,
    상기 복수의 레포지토리를 검색하는 단계는, 상기 레포지토리의 그룹에 대한 검색을 수행하는 단계를 포함하는, 방법.
  16. 하나 이상의 컴퓨터 기기 내에서 구현되는 시스템에 있어서,
    복수의 사용자에 의해 제공된 검색 질의들에 기초하여 레포지토리에 대한 복수의 검색과 연관된 로그 데이터를 저장하는 수단;
    상기 로그 데이터에 기초하여, 특정 검색 질의와 특정 사용자에 관한 정보를 입력으로서 수신하고 특정 레포지토리가 상기 특정 사용자에 의해 제공된 상기 특정 검색 질의에 상응하는 정보를 포함하고 있을 가능성을 나타내는 스코어를 출력하는 모델을 생성하는 수단;
    사용자로부터 검색 질의를 수취하는 수단;
    복수의 레포지토리의 각각에 대해 검색 결과의 세트를 식별하도록, 상기 검색 질의에 기초하여 상기 복수의 레포지토리에 대한 검색을 수행하는 수단;
    상기 검색 질의에 대한 정보와 상기 사용자에 대한 정보를 상기 모델에 입력함으로써, 상기 복수의 레포지토리의 각각에 대해, 각각의 레포지토리가 상기 사용자로부터의 상기 검색 질의를 만족시키는 정보를 포함하고 있을 가능성을 나타내는 스코어를 결정하는 수단; 및
    상기 스코어들에 기초하여 하나 이상의 레포지토리로부터 하나 이상의 상기 검색 결과의 세트를 제공하는 수단
    을 포함하는 시스템.
  17. 제16항에 있어서,
    상기 스코어들에 기초하여 검색할 레포지토리의 그룹을 상기 복수의 레포지토리에서 선택하는 수단을 더 포함하는 시스템.
  18. 하나 이상의 컴퓨터 기기 내에서 구현되는 시스템에 있어서,
    복수의 사용자에 의해 제공된 검색 질의들에 기초하여 레포지토리에 대한 복수의 검색과 연관된 로그 데이터를 저장하는 하나 이상의 메모리 기기;
    상기 로그 데이터에 기초하여, 특정 검색 질의와 특정 사용자에 관한 정보를 입력으로서 수신하고 특정 레포지토리가 상기 특정 사용자에 의해 제공된 상기 특정 검색 질의에 상응하는 정보를 포함하고 있을 가능성을 나타내는 스코어를 출력하는 모델을 생성하는 모델 생성 시스템; 및
    검색 엔진 시스템을 포함하며,
    상기 검색 엔진 시스템은,
    사용자로부터 검색 질의를 수취하고,
    복수의 레포지토리의 각각에 대해, 상기 검색 질의에 관한 정보 및 상기 사용자에 관한 정보를 상기 모델에 입력함으로써, 상기 복수의 레포지토리 중 하나의 레포지토리에 대한 스코어로서, 상기 하나의 레포지토리가 상기 검색 질의를 만족하는 정보를 포함하고 있을 가능성을 나타내는, 스코어를 결정하며,
    상기 복수의 레포지토리 중 하나 이상의 레포지토리의 각각에 대해 검색 결과의 세트를 식별하도록, 상기 검색 질의에 기초하여 상기 하나 이상의 레포지토리에 대한 검색을 수행하며,
    상기 스코어들에 기초하여 하나 이상의 상기 검색 결과의 세트를 제공하는, 시스템.
  19. 제18항에 있어서,
    상기 복수의 레포지토리 중 하나 이상의 레포지토리에 대한 검색을 수행할 때, 상기 검색 엔진 시스템은,
    상기 스코어들에 기초하여 검색할 레포지토리의 그룹을 상기 복수의 레포지토리로부터 식별하고,
    상기 레포지토리의 그룹 내의 각각의 레포지토리에 대해 검색 결과의 세트를 식별하도록, 상기 레포지토리의 그룹만을 검색하도록 구성되어 있는, 시스템.
  20. 제18항에 있어서,
    상기 복수의 레포지토리 중 하나 이상의 레포지토리에 대한 검색을 수행할 때, 상기 검색 엔진 시스템은, 상기 검색 질의에 기초하여 상기 복수의 레포지토리의 각각을 검색하도록 구성되어 있는, 시스템.
  21. 삭제
  22. 삭제
  23. 삭제
  24. 삭제
  25. 제18항에 있어서,
    상기 모델을 생성할 때, 상기 모델 생성 시스템은 또한,
    상기 로그 데이터를 3중의 데이터(r, q, r)로서 나타내도록 구성되어 있으며,
    상기 u는 검색 질의를 제공한 사용자에 관한 정보를 의미하며, 상기 q는 상기 검색 질의에 관한 정보를 의미하며, 상기 r은 상기 검색 질의에 응답하여 검색 결과가 제공된 레포지토리에 관한 정보를 의미하는, 시스템.
  26. 제25항에 있어서,
    상기 로그 데이터는 수 백만 개의 3중의 데이터(u, q, r)를 포함하는, 시스템.
  27. 제25항에 있어서,
    상기 모델을 생성할 때, 상기 모델 생성 시스템은,
    상기 3중의 데이터(u, q, r)의 각각에 대한 레이블을 결정하도록 구성되어 있으며, 상기 레이블은, 상기 레포지토리 r가 상기 사용자 u에 의해 제공된 상기 검색 질의 q를 만족시키는 정보를 포함하는지 여부에 관한 정보를 포함하는, 시스템.
  28. 제27항에 있어서,
    상기 모델을 생성할 때, 상기 모델 생성 시스템은,
    상기 3중의 데이터(u, q, r) 및 그 관련 레이블들에 기초하여 상기 모델을 양성하도록 구성되어 있는, 시스템.
  29. 제18항에 있어서,
    하나 이상의 상기 검색 결과의 세트를 제공할 때, 상기 검색 엔진 시스템은,
    상기 복수의 레포지토리의 스코어 중 가장 높은 스코어를 갖는 하나의 레포지토리를 상기 복수의 레포지토리로부터 선택하고, 그리고
    상기 선택된 하나의 레포지토리와 연관된 상기 검색 결과의 세트만을 제공하도록 구성된, 시스템.
  30. 제18항에 있어서,
    하나 이상의 상기 검색 결과의 세트를 제공할 때, 상기 검색 엔진 시스템은,
    상기 복수의 레포지토리 중 상기 하나 이상의 레포지토리와 연관된 스코어에 기초하여 검색 결과 문서 내에 상기 하나 이상의 검색 결과의 세트를 배열하며, 상기 검색 결과 문서를 상기 사용자에게 나타내도록 구성되어 있는, 시스템.
  31. 제30항에 있어서,
    상기 검색 결과 문서 내에 상기 하나 이상의 검색 결과의 세트를 배열할 때, 상기 검색 엔진 시스템은,
    상기 하나 이상의 레포지토리 중 제1 레포지토리와 연관된 스코어가 상기 하나 이상의 레포지토리 중 제2 레포지토리와 연관된 레포지토리보다 높을 때, 상기 제1 레포지토리와 연관된 검색 결과의 세트를, 상기 제2 레포지토리와 연관된 검색 결과의 세트보다 상기 검색 결과 문서 내에서 더 위쪽에 배치하도록 구성되어 있는, 시스템.
  32. 제30항에 있어서,
    상기 검색 결과 문서 내에 상기 하나 이상의 검색 결과의 세트를 배열할 때, 상기 검색 엔진 시스템은,
    상기 검색 결과 문서 내에 상기 하나 이상의 레포지토리 중 하나 이상의 레포지토리와 연관된 검색 결과의 세트에 대한 링크만을 제공하도록 구성되어 있는, 시스템.
  33. 삭제
  34. 삭제
  35. 삭제
  36. 하나 이상의 컴퓨터 기기 내에서 구현되는 시스템에 있어서,
    레포지토리가 특정 사용자로부터의 특정 검색 질의에 상응하는 정보를 포함하고 있을 가능성을 나타내는 스코어를 결정하는 모델을 생성하기 위한 모델 생성 시스템으로서, 상기 모델은 복수의 검색 질의를 사용하는 복수의 사용자에 의한 복수의 레포지토리들에 대한 복수의 이전의 검색에 관한 정보에 기초하여 생성되며, 상기 모델은 상기 특정 검색 질의 및 상기 특정 사용자에 관한 정보를 입력으로서 수신하고 특정 레포지토리가 상기 특정 사용자로부터의 상기 특정 검색 질의에 상응하는 정보를 포함하고 있을 가능성을 나타내는 스코어를 출력하는, 모델 생성 시스템; 및
    검색 엔진 시스템
    을 포함하며,
    상기 검색 엔진 시스템은,
    사용자로부터 검색 질의를 수취하고,
    상기 사용자에 관한 정보 및 상기 검색 질의와 연관된 정보를 상기 모델에 입력함으로써, 상기 복수의 레포지토리의 각각에 대해, 스코어를 결정하며,
    상기 스코어에 기초하여 상기 복수의 레포지토리 중 하나 이상에 대한 검색을 수행하며,
    상기 스코어에 기초하여 상기 복수의 레포지토리 중 적어도 하나 이상의 레포지토리로부터의 검색 결과를 제공하는, 시스템.
  37. 삭제
  38. 하나 이상의 기기에 의해 수행되는 방법으로서,
    복수의 사용자에 의해 제공된 검색 질의에 기초하여 레포지토리에 대한 복수의 검색과 연관된 로그 데이터를 하나 이상의 메모리 기기에 저장하는 단계;
    상기 로그 데이터에 기초하여, 특정 검색 질의 및 특정 사용자에 관한 정보를 입력으로서 수신하고 특정 레포지토리가 상기 특정 사용자에 의해 제공된 상기 특정 검색 질의에 상응하는 정보를 포함하고 있을 가능성을 나타내는 스코어를 출력하는 모델을 생성하는 단계;
    사용자로부터 검색 질의를 수취하는 단계;
    상기 검색 질의에 관한 정보 및 상기 사용자에 관한 정보를 상기 모델에 입력함으로써, 복수의 레포지토리의 각각에 대해, 상기 레포지토리가 상기 사용자로부터의 상기 검색 질의를 만족하는 정보를 포함하고 있을 가능성을 나타내는 스코어를 결정하는 단계;
    상기 복수의 레포지토리 중 하나 이상의 레포지토리의 각각에 대해, 검색 결과의 세트를 식별하도록, 상기 검색 질의 및 상기 결정된 스코어에 기초하여 상기 하나 이상의 레포지토리에 대한 검색을 수행하는 단계;
    하나 이상의 상기 검색 결과의 세트에 기초한 검색 결과 문서를 생성하는 단계; 및
    상기 검색 결과 문서를 클라이언트 기기에 제공하는 단계
    를 포함하는 방법.
  39. 삭제
  40. 삭제
  41. 컴퓨터 기기로서,
    복수의 사용자에 의해 제공된 검색 질의에 기초한, 레포지토리들에 대한 복수의 검색과 연관된 로그 데이터를 저장하는 하나 이상의 메모리 기기;
    특정 레포지토리가 특정 사용자에 의해 제공된 특정 검색 질의에 상응하는 정보를 포함하고 있을 가능성을 나타내는 스코어를 결정하는 모델을 생성하는 모델 생성 시스템; 및
    검색 엔진 시스템
    을 포함하고,
    상기 모델 생성 시스템은,
    상기 로그 데이터를, 3중의 데이터(r, q, r)-여기서, 상기 u는 검색 질의를 제공한 사용자에 관한 정보를 의미하며, 상기 q는 상기 검색 질의에 관한 정보를 의미하며, 상기 r은 상기 검색 질의에 응답하여 검색 결과가 제공된 레포지토리에 관한 정보를 의미한다-로서 나타내고,
    상기 3중의 데이터(u, q, r)의 각각에 대한 레이블로서, 상기 레포지토리 r가 상기 사용자 u에 의해 제공된 상기 검색 질의 q에 상응하는 정보를 포함하는지 여부에 관한 정보를 포함하는 레이블을 결정하며,
    상기 3중의 데이터(u, q, r) 및 그 관련 레이블들에 기초하여, 레포지토리가 특정 사용자에 의해 제공된 특정 검색 질의에 상응하는 정보를 포함하는지 여부를 예측하는 상기 모델을 양성하도록 구성되고,
    상기 검색 엔진 시스템은,
    사용자로부터 검색 질의를 수취하고,
    상기 검색 질의에 기초하여, 복수의 레포지토리 각각에 대해 검색 결과의 세트를 식별하기 위해 상기 복수의 레포지토리를 검색하며,
    상기 사용자에 관한 정보 및 상기 검색 질의에 관한 정보를 상기 모델에 입력하여, 상기 복수의 레포지토리 각각에 대해, 그 레포지토리가 상기 사용자에 의해 제공된 상기 검색 질의에 상응하는 정보를 포함하고 있을 가능성을 나타내는 스코어를 획득하며,
    상기 스코어에 기초하여 상기 복수의 레포지토리 중 하나를 식별하고,
    상기 복수의 레포지토리 중 다른 것과 연관된 검색 결과의 세트를 제공하지 않고 상기 식별된 하나의 레포지토리와 연관된 검색 결과의 세트를 제공하도록 구성되어 있는,
    컴퓨터 기기.
  42. 제41항에 있어서,
    상기 검색 결과의 세트를 제공할 때에 상기 검색 엔진 시스템은,
    상기 복수의 레포지토리의 스코어들 중 가장 높은 스코어를 가진 레포지토리를 하나 이상 식별하고,
    상기 식별된 하나 이상의 레포지토리하고만 연관된 검색 결과의 세트를 제공하도록 구성되어 있는, 컴퓨터 기기.
  43. 제41항에 있어서,
    상기 검색 결과의 세트를 제공할 때에 상기 검색 엔진 시스템은,
    임계치보다 큰 스코어를 가진 하나 이상의 레포지토리를 식별하고,
    상기 식별된 하나 이상의 레포지토리하고만 연관된 검색 결과의 세트를 제공하도록 구성되어 있는, 컴퓨터 기기.
KR1020087002370A 2005-06-29 2006-06-27 원하는 레포지토리의 결정 KR100944744B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/169,285 US7584177B2 (en) 2005-06-29 2005-06-29 Determination of a desired repository
US11/169,285 2005-06-29

Publications (2)

Publication Number Publication Date
KR20080024224A KR20080024224A (ko) 2008-03-17
KR100944744B1 true KR100944744B1 (ko) 2010-03-03

Family

ID=37141347

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020087002370A KR100944744B1 (ko) 2005-06-29 2006-06-27 원하는 레포지토리의 결정

Country Status (8)

Country Link
US (4) US7584177B2 (ko)
EP (2) EP1907952A1 (ko)
JP (1) JP5420243B2 (ko)
KR (1) KR100944744B1 (ko)
CN (1) CN101248435B (ko)
AU (1) AU2006266103B2 (ko)
CA (1) CA2613859C (ko)
WO (1) WO2007005431A1 (ko)

Families Citing this family (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7630976B2 (en) * 2005-05-10 2009-12-08 Microsoft Corporation Method and system for adapting search results to personal information needs
US7584177B2 (en) 2005-06-29 2009-09-01 Google Inc. Determination of a desired repository
US8195654B1 (en) * 2005-07-13 2012-06-05 Google Inc. Prediction of human ratings or rankings of information retrieval quality
US9305088B1 (en) * 2006-11-30 2016-04-05 Google Inc. Personalized search results
US7630972B2 (en) 2007-01-05 2009-12-08 Yahoo! Inc. Clustered search processing
US20090012841A1 (en) * 2007-01-05 2009-01-08 Yahoo! Inc. Event communication platform for mobile device users
US20080195590A1 (en) * 2007-02-08 2008-08-14 Mitsuo Nakamura Network device, image forming device, and data searching method
US8176055B1 (en) 2007-03-27 2012-05-08 Google Inc. Content entity management
US7792813B2 (en) * 2007-08-31 2010-09-07 Microsoft Corporation Presenting result items based upon user behavior
US20090089246A1 (en) * 2007-09-28 2009-04-02 Yahoo! Inc. System and method for history clustering
WO2009068072A1 (en) * 2007-11-30 2009-06-04 Kinkadee Systems Gmbh Scalable associative text mining network and method
US20090265328A1 (en) * 2008-04-16 2009-10-22 Yahool Inc. Predicting newsworthy queries using combined online and offline models
US8738436B2 (en) * 2008-09-30 2014-05-27 Yahoo! Inc. Click through rate prediction system and method
US8719298B2 (en) * 2009-05-21 2014-05-06 Microsoft Corporation Click-through prediction for news queries
US8707296B2 (en) * 2010-04-27 2014-04-22 Apple Inc. Dynamic retrieval of installation packages when installing software
US8600979B2 (en) * 2010-06-28 2013-12-03 Yahoo! Inc. Infinite browse
US8606652B2 (en) 2010-12-20 2013-12-10 Target Brands, Inc. Topical page layout
US8972895B2 (en) 2010-12-20 2015-03-03 Target Brands Inc. Actively and passively customizable navigation bars
CN102591880B (zh) * 2011-01-14 2015-02-18 阿里巴巴集团控股有限公司 信息提供方法及装置
US8346815B2 (en) * 2011-05-12 2013-01-01 Google Inc. Dynamic image display area and image display within web search results
US8965788B2 (en) 2011-07-06 2015-02-24 Target Brands, Inc. Search page topology
US8825644B1 (en) * 2011-10-14 2014-09-02 Google Inc. Adjusting a ranking of search results
US9483279B2 (en) * 2011-10-31 2016-11-01 Oracle International Corporation Mechanism for providing unified access to decentralized user assistance repositories
US9024954B2 (en) 2011-12-28 2015-05-05 Target Brands, Inc. Displaying partial logos
USD715818S1 (en) 2011-12-28 2014-10-21 Target Brands, Inc. Display screen with graphical user interface
US20150074565A1 (en) 2013-09-09 2015-03-12 Microsoft Corporation Interfaces for providing enhanced connection data for shared resources
WO2015052584A1 (en) * 2013-10-10 2015-04-16 Calgary Scientific Inc. Methods and systems for intelligent archive searching in multiple repository systems
CN105677931B (zh) * 2016-04-07 2018-06-19 北京百度网讯科技有限公司 信息搜索方法和装置
US10552432B2 (en) * 2016-10-12 2020-02-04 Salesforce.Com, Inc. Ranking search results using hierarchically organized machine learning based models
CN117312494A (zh) * 2017-04-29 2023-12-29 谷歌有限责任公司 使用经过训练的生成模型生成查询变体
JP7476081B2 (ja) * 2020-11-11 2024-04-30 Lineヤフー株式会社 検索装置、検索方法及び検索プログラム

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20000063422A (ko) * 2000-07-08 2000-11-06 유인오 인터넷 정보 검색 시 개인의 북마크 파일 데이터를기반으로 필터링하여 개인 맞춤 검색 결과를 도출하는 방법
US20030220913A1 (en) * 2002-05-24 2003-11-27 International Business Machines Corporation Techniques for personalized and adaptive search services
KR20040071604A (ko) * 2004-01-31 2004-08-12 주식회사베스트디씨 동적 키워드 추출과 처리 시스템

Family Cites Families (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5227122A (en) * 1989-11-02 1993-07-13 Combustion Engineering, Inc. Display device for indicating the value of a parameter in a process plant
US5689669A (en) * 1994-04-29 1997-11-18 General Magic Graphical user interface for navigating between levels displaying hallway and room metaphors
US5839112A (en) * 1994-12-28 1998-11-17 Automatic Data Processing Method and apparatus for displaying and selecting vehicle parts
US5778227A (en) * 1995-08-01 1998-07-07 Intergraph Corporation System for adding attributes to an object at run time in an object oriented computer environment
JP3159242B2 (ja) * 1997-03-13 2001-04-23 日本電気株式会社 感情生成装置およびその方法
US5960422A (en) * 1997-11-26 1999-09-28 International Business Machines Corporation System and method for optimized source selection in an information retrieval system
JP3225912B2 (ja) * 1998-01-08 2001-11-05 日本電気株式会社 情報検索装置、方法及び記録媒体
US6317722B1 (en) * 1998-09-18 2001-11-13 Amazon.Com, Inc. Use of electronic shopping carts to generate personal recommendations
US6477539B1 (en) * 1998-12-22 2002-11-05 Nortel Networks Limited Method and apparatus for interfacing a manager and a plant
US6594651B2 (en) * 1999-12-22 2003-07-15 Ncr Corporation Method and apparatus for parallel execution of SQL-from within user defined functions
US6546388B1 (en) * 2000-01-14 2003-04-08 International Business Machines Corporation Metadata search results ranking system
US6438539B1 (en) * 2000-02-25 2002-08-20 Agents-4All.Com, Inc. Method for retrieving data from an information network through linking search criteria to search strategy
US6421571B1 (en) * 2000-02-29 2002-07-16 Bently Nevada Corporation Industrial plant asset management system: apparatus and method
US7925967B2 (en) * 2000-11-21 2011-04-12 Aol Inc. Metadata quality improvement
JP2002169823A (ja) * 2000-12-01 2002-06-14 Minolta Co Ltd データベース検索プログラムを記録したコンピュータ読み取り可能な記録媒体、データベース検索方法およびデータベース検索装置
JP2002202991A (ja) 2000-12-28 2002-07-19 Canon Inc ネットワークによる印刷データ配信装置、方法、システム、媒体、並びにプログラム
US6643639B2 (en) * 2001-02-07 2003-11-04 International Business Machines Corporation Customer self service subsystem for adaptive indexing of resource solutions and resource lookup
US7149734B2 (en) * 2001-07-06 2006-12-12 Logic Library, Inc. Managing reusable software assets
US7062718B2 (en) * 2001-08-14 2006-06-13 National Instruments Corporation Configuration diagram which graphically displays program relationship
JP2003167907A (ja) 2001-12-03 2003-06-13 Dainippon Printing Co Ltd 情報提供方法およびシステム
WO2003107321A1 (en) * 2002-06-12 2003-12-24 Jena Jordahl Data storage, retrieval, manipulation and display tools enabling multiple hierarchical points of view
US7454417B2 (en) * 2003-09-12 2008-11-18 Google Inc. Methods and systems for improving a search ranking using population information
US7505964B2 (en) * 2003-09-12 2009-03-17 Google Inc. Methods and systems for improving a search ranking using related queries
US20050076003A1 (en) * 2003-10-06 2005-04-07 Dubose Paul A. Method and apparatus for delivering personalized search results
JP2005269819A (ja) * 2004-03-19 2005-09-29 Rohm Co Ltd 圧電トランス駆動回路及びそれを備えた冷陰極管点灯装置
US7529731B2 (en) * 2004-06-29 2009-05-05 Xerox Corporation Automatic discovery of classification related to a category using an indexed document collection
US9070104B2 (en) * 2004-11-12 2015-06-30 Sap Se Cross-context task management
US8302096B2 (en) * 2004-11-12 2012-10-30 Sap Ag Methods and systems to perform individual tasks as a composite task
JP4367355B2 (ja) 2005-02-24 2009-11-18 セイコーエプソン株式会社 写真画像検索装置、写真画像検索方法、記録媒体、およびプログラム
US7630976B2 (en) * 2005-05-10 2009-12-08 Microsoft Corporation Method and system for adapting search results to personal information needs
US7584177B2 (en) 2005-06-29 2009-09-01 Google Inc. Determination of a desired repository

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20000063422A (ko) * 2000-07-08 2000-11-06 유인오 인터넷 정보 검색 시 개인의 북마크 파일 데이터를기반으로 필터링하여 개인 맞춤 검색 결과를 도출하는 방법
US20030220913A1 (en) * 2002-05-24 2003-11-27 International Business Machines Corporation Techniques for personalized and adaptive search services
KR20040071604A (ko) * 2004-01-31 2004-08-12 주식회사베스트디씨 동적 키워드 추출과 처리 시스템

Also Published As

Publication number Publication date
US20070005568A1 (en) 2007-01-04
CN101248435B (zh) 2013-08-28
AU2006266103A1 (en) 2007-01-11
EP1907952A1 (en) 2008-04-09
KR20080024224A (ko) 2008-03-17
US7584177B2 (en) 2009-09-01
CN101248435A (zh) 2008-08-20
US20090287664A1 (en) 2009-11-19
US9639579B2 (en) 2017-05-02
US20130110831A1 (en) 2013-05-02
US8266133B2 (en) 2012-09-11
AU2006266103B2 (en) 2010-07-29
US9092488B2 (en) 2015-07-28
CA2613859C (en) 2012-11-13
JP2008545196A (ja) 2008-12-11
WO2007005431A1 (en) 2007-01-11
EP2385473A1 (en) 2011-11-09
JP5420243B2 (ja) 2014-02-19
CA2613859A1 (en) 2007-01-11
US20150331868A1 (en) 2015-11-19

Similar Documents

Publication Publication Date Title
KR100944744B1 (ko) 원하는 레포지토리의 결정
KR100974906B1 (ko) 위치와 관련하여 신뢰성 있는 문서를 식별하는 시스템 및 방법
US8082244B2 (en) Systems and methods for determining document freshness
JP4837040B2 (ja) ブログ文書のランク付け
KR101016683B1 (ko) 검색 결과를 제공하기 위한 시스템 및 방법
US9418128B2 (en) Linking documents with entities, actions and applications
US7096214B1 (en) System and method for supporting editorial opinion in the ranking of search results
KR101065071B1 (ko) 확장 스니핏
JP4714156B2 (ja) 記事情報を用いて検索ランク付けを改良するための方法およびシステム
US8332426B2 (en) Indentifying referring expressions for concepts
US9734211B1 (en) Personalizing search results
KR20080100218A (ko) 검색 결과의 향상
US9300757B1 (en) Personalizing aggregated news content
US20130086083A1 (en) Transferring ranking signals from equivalent pages
US8595225B1 (en) Systems and methods for correlating document topicality and popularity

Legal Events

Date Code Title Description
A201 Request for examination
AMND Amendment
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
J201 Request for trial against refusal decision
AMND Amendment
B701 Decision to grant
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20130207

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20140210

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20150206

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20160205

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20180208

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20200213

Year of fee payment: 11