KR20070094972A - 복수 인덱스 기반의 정보 검색 시스템 - Google Patents

복수 인덱스 기반의 정보 검색 시스템 Download PDF

Info

Publication number
KR20070094972A
KR20070094972A KR1020077018720A KR20077018720A KR20070094972A KR 20070094972 A KR20070094972 A KR 20070094972A KR 1020077018720 A KR1020077018720 A KR 1020077018720A KR 20077018720 A KR20077018720 A KR 20077018720A KR 20070094972 A KR20070094972 A KR 20070094972A
Authority
KR
South Korea
Prior art keywords
phrase
document
list
phrases
documents
Prior art date
Application number
KR1020077018720A
Other languages
English (en)
Other versions
KR101273520B1 (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
Family has litigation
First worldwide family litigation filed litigation Critical https://patents.darts-ip.com/?family=36741037&utm_source=google_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=KR20070094972(A) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Application filed by 구글 인코포레이티드 filed Critical 구글 인코포레이티드
Publication of KR20070094972A publication Critical patent/KR20070094972A/ko
Application granted granted Critical
Publication of KR101273520B1 publication Critical patent/KR101273520B1/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/93Document management systems
    • 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/31Indexing; Data structures therefor; Storage structures
    • G06F16/313Selection or weighting of terms for indexing
    • 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/22Indexing; Data structures therefor; Storage structures
    • G06F16/2228Indexing structures
    • 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/99931Database or file accessing
    • Y10S707/99933Query processing, i.e. searching
    • Y10S707/99935Query augmenting and refining, e.g. inexact access

Landscapes

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

Abstract

정보 검색 시스템은 문서를 인덱싱, 검색, 구조화 및 기술하는데 문구를 사용한다. 문서에서 다른 문구의 존재를 예측하는 문구가 식별된다. 문서는 그들에 포함된 문구에 따라서 인덱싱된다. 문서 인덱스는 제 1 인덱스 및 제 2 인덱스를 포함하는 복수 인덱스로 분할된다. 제 1 인덱스는 연관 랭크 배열된 문서로 문구 포스팅 리스트를 저장한다. 제 2 인덱스는 문서 배열에서 포스팅 리스트로부터 초과하는 문서를 저장한다.
엔트리, 인덱스, 포스팅 리스트, 쿼리

Description

복수 인덱스 기반의 정보 검색 시스템{MULTIPLE INDEX BASED INFORMATION RETRIEVAL SYSTEM}
본 발명은 인터넷 등의 방대한 규모의 자료에서 문서를 인덱싱, 서칭, 및 분류하기 위한 정보 검색 시스템에 관한 것이다.
일반적으로 서치 엔진으로 불리는 정보 검색 시스템은 현재 인터넷 등의 방대한 규모와, 다양하고 증대하는 자료에서 정보를 찾기 위한 필수 툴이다. 일반적으로, 서치 엔진은 문서(또는 "페이지")를 각 문서에 존재하는 개별 단어에 관련시키는 인덱스를 생성한다. 통상적으로는 문서 내에 존재하는 얼마의 쿼리 용어를 가지는 것에 기초해서, 문서는 많은 쿼리 용어를 포함하는 쿼리에 대응하여 검색된다. 그 후, 검색된 문서는 쿼리 용어, 호스트 도메인, 링크 분석 등의 출현 빈도와 같은 다른 통계적인 수단에 따라서 랭크된다. 그 후, 검색된 문서는 통상적으로 그들의 랭크된 순서로, 어떠한 추가 그룹화 또는 부과되는 계층 없이 유저에게 제공된다. 어느 경우에는, 문서의 텍스트의 선택된 일 부분이 제공되어, 사용자에게 문서 내용의 일견을 제공한다.
쿼리 용어의 직접 "부울" 매칭은 잘 알려진 제한을 가지며, 특히 쿼리 용어를 가지지 않지만 관련 단어를 가지는 문서를 식별하지 않는다. 예를 들면, 통상 적인 부울 시스템에서, "Australian Shepherds"에 대한 서치는 정확한 쿼리 용어를 가지지 않는 보더 콜리(Border Collies)와 같은 다른 목양견(herding dog)에 관한 문서를 반환하지 않는다. 오히려, 그러한 시스템은 Australia에 대한(그리고 개와는 전혀 관계 없는) 문서와, 일반적으로 "shepherd"에 대한 문서를 역시 검색하여 높게 랭킹할 가능성이 있다.
여기에서 문제는 종래의 시스템은 개념보다는 개별 용어에 기초하여 문서를 인덱싱한다는 것이다. 개념은 종종 "Australian Shepherd", "President of the United States," 또는 "Sundance Film Festival" 등의 문구로 표현된다. 기껏해야, 일부 선행 시스템은 인간 운용자에 의해 통상적으로 선택되는 '알려진' 문구의 미리 정해지고 매우 제한적인 세트에 대하여 문서를 인덱싱할 것이다. 문구의 인덱싱은 인지된 계산적 메모리 요건으로 인해 통상적으로 회피되어 모든 가능한 문구 즉 3,4 또는 5 이상의 단어를 식별한다. 예를 들면, 임의의 5개 단어가 문구를 구성하고, 대규모 자료가 적어도 200,000개의 고유 용어를 갖는다고 가정하면, 대략 3.2×1026개의 가능한 문구가 존재하고, 명백하게 기존의 어느 시스템보다 많은 것이 메인 메모리에 저장될 수 있거나 그렇지 않으면 프로그램적으로 조작할 수 있다. 또 다른 문제는 새로운 개개의 단어들이 생성되는 것보다 훨씬 더 빈번하게 문구들이 계속적으로 사용 시에 사전에서 입출력한다. 기술, 예술, 월드 이벤트, 및 법률 등의 자료로부터 새로운 문구들이 항상 생성되고 있다. 다른 문구들은 시간이 지날수록 사용이 감소된다.
일부의 기존 정보 검색 시스템은 개별 단어의 동시 출현 패턴을 이용하여 개념의 검색을 제공하는 시도를 한다. 이러한 시스템에서 "President"와 같은 한 단어의 서치는 또한 "White" 및 "House" 같이 "President"와 함께 빈번하게 나타나는 다른 단어들을 갖는 문서를 검색할 것이다. 이러한 방법이 개별 단어의 레벨에서 개념적으로 관련된 문서를 갖는 서치 결과를 생성할 수 있지만, 그것은 통상적으로 동시 출현 문구 사이에서 내제되어 있는 화제적인 관계를 잡아내지 않는다.
따라서, 대규모 자료에서 문구를 포괄적으로 식별하고, 문구에 따라서 문서를 인덱싱하고, 이들 문구에 따라 문서를 서치 및 랭킹하고, 문서에 관한 추가적인 클러스터링 및 설명 정보를 제공할 수 있는 정보 검색 시스템 및 방법에 대한 필요가 있다.
종래의 정보 검색 시스템에서의 다른 문제는 그들이 단지 인터넷에서 이용할 수 있는 문서의 상대적으로 작은 부분만을 인덱싱할 수 있다는 것이다. 오늘날 인터넷에는, 2000억 페이지 이상이 있는 것으로 현재 추정되고 있다. 그러나, 최고의 서치 엔진조차 단지 60억 내지 80억 페이지만을 인덱싱하여서, 이용할 수 있는 페이지의 대부분을 놓치고 있다. 기존 시스템의 제한된 인덱싱 능력에 대해서는 몇가지 이유가 있다. 무엇보다도, 통상적인 시스템은 페이지 상의 용어들의 각 출현의 정확한 위치를 식별하는 위치 정보와 함께, 모든 용어(상술한 바와 같음)에 대해서 이 용어가 발생되는 모든 페이지의 리스트를 유지하는 역 인덱스(inverted index)의 변화에 의존한다. 개별 용어 인덱싱과 위치 정보 인덱싱의 조합은 매우 방대한 저장 시스템을 요구한다.
인터넷 서칭에 이용되는 많은 정보 검색 시스템에서의 다른 문제점은 시간이 경과함에 따라 변화하는 페이지 보관에 대한 그들의 불능이다. 종래에 있어서, 대부분의 인터넷 서치 엔진은 주어진 페이지의 현재 인스턴스(또는 버전)에 대한 연관 정보만을 저장하고, 그 페이지가 재-인덱싱될 때마다 이 정보를 갱신한다. 결과적으로, 주어진 서치는 쿼리를 만족하는 페이지의 현재 버전만을 반환한다. 사용자는 결과적으로 페이지의 선행 인스턴스, 또는 특정 날짜 간격에 통용되는 페이지를 서칭할 수 없다. 또한, 서치 쿼리를 평가하거나 서치 결과를 제공할 때, 이 서치 엔진은 마찬가지로 관련 정보와 관련된 날짜 또는 버전을 이용하지 않는다.
따라서, 기존 시스템의 실제 저장 요청을 하지않고, 콘텐츠의 수백억 페이지및 종국에는 수천억 페이지를 효과적으로 인덱싱할 수 있는 정보 검색 시스템을 제공하는 것이 바람직하다.
정보 검색 시스템 및 방법은 문구를 사용하여 문서 컬렉션에서 문서를 인덱싱, 서칭, 랭킹 및 기술한다. 이 시스템은 문서 컬렉션에서 충분히 빈번한 및/또는 뚜렷한 사용을 가지는 문구를 식별하여, 그들이 "유효" 또는 "양호" 문구인 것을 지시하는데 적합하다. 이러한 방식으로 복수의 단어 문구에서, 예를 들면 4, 5, 또는 그 이상 용어의 문구들이 식별될 수 있다. 이는 주어진 수많은 단어의 모든 가능한 시퀀스로부터의 결과인 모든 가능한 문구마다 식별 및 인덱싱해야 할 문제를 피하게 한다.
이 시스템은 문서 내의 다른 문구의 존재를 예측하는 문구의 능력에 기초하여 서로 관련된 문구를 식별하는데 더욱 적합하다. 보다 구체적으로, 실제 2 문구의 공통 출현율을 예측 2 문구의 공통 출현율과 관련시키는 예상 측도가 사용된다. 실제 공통 출현율과 예상 공통 출현율과의 비율로서 정보 이득은 이러한 예상 측도의 하나이다. 예상 측도가 소정의 한계치를 초과하는 경우에, 2 문구는 관련된다. 그 경우, 제 2 문구는 제 1 문구에 대해서 커다란 정보 이득을 갖는다. 의미적으로는, 관련된 문구는 "President of the United States"와 "White House" 등의 주어진 토픽 또는 개념을 논의 또는 설명하는데 보통 이용되는 것들일 것이다. 주어진 문구에 대하여, 관련된 문구는 그들의 각 예상 측도에 기초하여 그들의 관련성 또는 중요성에 따라 배열될 수 있다.
정보 검색 시스템은 유효 또는 양호 문구에 의해 문서 컬렉션에서 문서를 인덱싱한다. 각 문구에 대하여, 포스팅 리스트(posting list)는 문구를 포함하는 문서를 식별한다. 또한, 주어진 문구에 대하여, 제 2 리스트, 벡터, 또는 다른 구조는 주어진 문구의 관련된 문구 중 어느 것이 주어진 문구를 포함하는 각 문서에 또한 존재하는지를 지시하는 데이터를 저장하는데 이용된다. 이 방식으로, 시스템은 어느 문서가 서치 쿼리에 대응하는 어느 문구를 담고 있는지뿐만 아니라 어느 문서가 또한 쿼리 문구와 관련되는 문구를 담고 있는지를 쉽게 식별할 수 있으므로, 쿼리 문구에서 표현되는 토픽 또는 개념에 대해서 구체적이 될 가능성이 크다.
쿼리에 응답하여 문서를 서칭할 때, 정보 검색 시스템은 또한 문구 이용에 적합하다. 쿼리에 존재하는 어느 문구를 식별하여서 쿼리 문구에 대한 관련 포스팅 리스트와 관련 문구 정보를 검색하도록 쿼리가 처리된다. 또한, 어느 인스턴스에서, 유저는 "President of the"와 같이, 서치 쿼리에 불완전 문구를 입력할 것이다. 이러한 불완전 문구는 "President of the United States"와 같은 문구 확장에 의해서 식별 및 대체될 수도 있다. 이것은 유저의 가장 가능성있는 서치가 실제 실행된다는 것을 보장한다.
본 발명의 다른 측면은 복수의 인덱스 구조를 이용하여서, 일 천억 이상과 비슷한 매우 방대한 수의 문서를 인덱싱할 수 있는 능력이다. 일 실시예에서, 제 1 및 제 2 인덱스가 제공된다. 제 1 인덱스는 한정된 수의 문서가 각 문구에 대하여 인덱싱되면서, 문구에 대한 인덱스 데이터를 저장한다. 특정 문구에 대하여, 문서에 대한 인덱스 데이터는 이 문구에 문서의 연관 랭크 순서로 저장된다. 이 저장 배열은 바람직하게는 논리적이고 물리적(즉, 데이터가 하부 저장 장치에 저장되는 방법)이다. 문서의 한정된 수 이상이 특정 문구를 포함하는 경우에, 이들 나머지 문서에 대한 인덱싱 데이터는 제 2 인덱스에 저장되지만, 예를 들면 스캐터-개더(scatter-gather)타입 방법을 사용하여 여기에서 연관 랭크 대신에 문서의 수에 의해서 배열되고 검색된다.
예를 들면, 제 1 인덱스는 각 문구에 대하여 32K 문서 엔트리를 저장하도록 구조화될 수 있고, 제 2 인덱스는 32K를 넘어서 문구를 저장하는 더 많은 문서에 대하여 어느 추가 문서 엔트리를 저장하도록 구조화된다. 제 1 인덱스에 대한 문서 엔트리를 얻기 위해서, 문서는 문구와 관한 연관에 의해서 스코어링되고, 그들의 연관 스코어에 의해서 랭크가 배열된다. 택일적으로, 문서는 연관 분석에 유용한 다양한 문서 특징에 의해서 배열된 랭크일 수 있다. 문서 엔트리에 대한 랭크 배열은 제 1 인덱스 및 제 2 인데스 사이의 엔트리 분할에 이용된다. 문구를 포함하는 문서의 한정된 수보다 적은 경우, 모든 엔트리는 제 1 인덱스에 다시 연관 랭크 순서로 저장된다. 인덱싱 배열은 인덱스의 저장 용량에서 10에서 15배 증가 시킬 수 있고, 최적화된 인덱싱 정보로 인해, 그리고 서버 성능에 있어서 10배 증가한다.
본 발명의 다른 측면은 보관하기 위한 문서의 복수 버전 또는 인스턴스를 인덱싱하는 능력이다. 이 능력은 사용자가 특정 범위의 데이터 내에서 문서를 서칭할 수 있게 하고, 데이터 또는 버전 관련 연관 정보를 서치 쿼리에 대응하여 문서를 평가할 때, 서치 결과를 구조화할 때에 이용되게 할 수 있다. 일 실시예에서, 문서는 하나 이상의 데이터 범위와 관련된다. 각각의 데이터 범위는 문서로부터 얻어진 연관 데이터와 관련되고, 데이터 범위의 문서에만 유효하다고 생각된다. 현재 문서 범위는 문서가 가장 최근 인덱싱된 데이터로부터 문서의 현재 인스턴스와 관련된다. 인덱싱 패스 동안에 문서와 만날 때, 이전 버전과 비교하여 이 문서가 변화되었는지의 여부를 결정한다. 만약, 문서가 변하지 않았으면, 인덱싱된 연관 데이터는 유지된다. 만약, 문서가 변했다면, 문서에 대한 현재 데이터 범위는 클로우즈되고, 문서는 재-인덱싱되고 새로운 현재 데이터 범위가 성립되어 현재 연관 데이터와 관련된다.
본 발명은 시스템 및 소프트웨어 아키텍처, 컴퓨터 프로그램 성과물 및 컴터 구현 방법, 및 컴퓨터 생성 유저 인터페이스와 프리젠테이션에서 부가적인 실시예를 가진다.
전술한 사항은 문구에 기초한 방법 및 정보 검색 시스템의 얼마의 특징에 지나지 않는다. 정보 검색 기술의 당업자는 문구 정보의 보편적 융통성이 인덱싱, 문서 주석 달기, 서칭, 랭킹 및 기타 다른 분야의 문서 분석과 처리에 다양하게 사용 및 응용될 수 있다는 것을 이해할 것이다.
도 1은 본 발명의 일 실시예의 소프트웨어 아키텍처의 블록도.
도 2는 문서에서 문구를 식별하는 방법을 설명한 도면.
도 3은 문서를 문구 윈도우 및 제 2 윈도우로 설명한 도면.
도 4는 관련 문구를 식별하는 방법을 설명한 도면.
도 5는 관련 문구에 대하여 문서를 인덱싱하는 방법을 설명한 도면.
도 6은 문구에 기초하여 문서를 검색하는 방법을 설명하는 도면.
도면은 단지 설명의 목적으로 본 발명의 바람직한 실시예를 나타낸다. 당업자는 여기에서 설명된 구조 및 방법의 택일적 실시예가 여기에 설명된 본 발명의 원칙으로부터 벗어나지 않고 채용될 수 있다는 다음의 논의로부터 쉽게 인식할 수 있다.
본 발명의 상세한 설명
I. 시스템 개요
도 1을 참조하면, 본 발명의 일 실시예에 따른 서치 시스템(100)의 실시예의 소프트웨어 아키텍처가 도시되어 있다. 본 실시예에서, 시스템은 인덱싱 시스 템(110), 서치 시스템(120), 프리젠테이션 시스템(130), 및 프론트 엔드 서버(140)를 포함한다.
인덱싱 시스템(110)은 다양한 웹사이트(190) 및 다른 문서 컬렉션을 액세스하여서 문서 내의 문구를 식별하고, 그 문구에 따라서 문서를 인덱싱하는 역할을 한다. 프론트 엔드 서버(140)는 클라이언트(170)의 사용자로부터 쿼리를 수신하고 그 쿼리를 서치 시스템(120)에 제공한다. 서치 시스템(120)은 서치 쿼리 내의 임의의 문구들을 식별하고 나서, 랭킹 순서에 영향을 주는 문구의 존재를 이용해서 서치 결과 내의 문서를 랭킹하는 것을 포함하여 서치 쿼리(서치 결과)에 관련되는 문서에 대해서 서치하는 역할을 한다. 서치 시스템(120)은 서치 결과를 프리젠테이션 시스템(130)에 제공한다. 프리젠테이션 시스템(130)은 거의 중복된 문서를 제거하는 것을 포함하여 서치 결과를 수정하고, 문서의 화제 설명문을 생성하고, 프론트 엔드 서버(140)에 수정된 서치 결과를 반환하는 역활을 하며, 프론트 엔드 서버(140)는 이 결과를 클라이언트(170)에 제공한다. 시스템(100)은 문서에 관련된 인덱싱 정보를 저장하는 제 1 인덱스 및 제 2 인덱스와, 구문 및 관련 통계 정보를 저장하는 문구 데이터 저장부(160)를 더 포함한다. 제 1 인덱스(150)는 복수의 제 1 서버(1...M1)에 분배되고, 제 2 인덱스(152)는 마찬가지로 복수의 제 2 서버(1...M2)에 분배된다.
본 출원의 문맥에서, "문서"는 웹 문서, 이미지, 멀티미디어 파일, 텍스트 문서, PDF 또는 다른 이미지 포맷 파일 등을 포함하여 서치 엔진에 의해서 검색될 수 있고 인덱싱될 수 있는 임의의 타입의 미디어로 이해될 수 있다. 문서는 그 내 용 및 타입에 적합하게 하나 이상의 페이지, 파티션, 세그먼트, 또는 다른 요소를 가질 수 있다. 동등하게, 문서는 보통 인터넷에서 문서로 부르며 이용하는 것과 같은 "페이지"로 부를 수 있다. 일반적인 용어 "문서"의 사용에 의해서 본 발명의 범주에 대한 어떠한 제약도 내포하지 않는다. 서치 시스템(100)은 인터넷 및 월드와이드웹 등, 방대한 자료의 문서를 다루지만, 마찬가지로 도서관 또는 개인 기업의 문서 콜렉션 등의 더 한정된 컬렉션에서 사용될 수 있다. 어느 문맥에서, 문서는 통상적으로 많은 다른 컴퓨터 시스템 및 사이트를 경유하여 분배됨을 이해할 것이다. 보편성을 잃지 않고, 일반적으로 자료는 포맷 또는 위치(예를 들면, 어느 웹사이트 또는 데이타 베이스)에 관계없이 자료 또는 문서 컬렉션으로 일괄하여 불릴 수 있다. 각각의 문서는 문서를 고유하게 식별하는 관련 식별자를 가지고, 이 식별자는 바람직하게는 URL이지만, 다른 타입의 식별자(예를 들면, 문서 번호)가 역시 이용될 수 있다. 본 명세서에서, 문서를 식별하기 위해서 URL을 사용하는 것으로 가정한다.
II. 인덱싱 시스템
일 실시예에서, 인덱싱 시스템(110)은 세 개의 주요 기능적 동작을 제공한다 : 1) 문구 및 관련 문구의 식별, 2) 문구에 대하여 문서의 인덱싱, 3) 문구 기반 분류의 생성 및 유지. 당업자는 인덱싱 시스템(110)이 종래의 인덱싱 기능을 지원하며 또한 다른 기능을 수행할 것이라는 것을 인식할 것이므로 이 다른 동작들은 본원에서 더 설명되지 않는다. 인덱싱 시스템(110)은 제 1 인덱스(150)와 제 2 인덱스(152)와 문구 데이터의 데이터 저장소(160)에 작용한다. 이 데이터 저장소는 이하에 더 설명된다.
1. 문구 식별
인덱싱 시스템(110)의 문구 식별 동작은 문서를 인덱싱하고 서칭하는데 유용한 문서 컬렉션 내의 "양호" 및 "불량" 문구를 식별한다. 한 측면에서, 양호 문구는 문서 컬렉션 내에 문서의 특정 퍼센트 이상으로 발생하는 경향이 있는 문구이고 및/또는 활자 태그 또는 다른 어형, 포맷, 또는 문법적 마커에 의해 경계가 이루어진 등의 이 문서 내의 구별되는 모습을 가져서 지시된다. 양호 문구의 다른 측면은 이것이 다른 양호 문구의 전조가 된다는 것이며, 사전에 나타나는 단어의 단순한 순서는 아니다. 예를 들면, 문구 "President of the United States"는 "George Bush" and "Bill Clinton"과 같은 다른 문구를 예측하게 하는 문구이다. 그러나, "fell down the stairs" 또는 "top of the morning","out of the blue"등의 관용어구 또는 구어체는 많은 다른 차이 및 관련없는 문구에서 나타나므로, 다른 문구가 예측되지 않는다. 그러므로, 문구 식별 문구는 어느 문구가 양호 문구이고 어느 것이 불량(예를 들면, 예측력이 부족)한지를 결정한다.
도 2를 참조하면, 문구 식별 처리는 다음의 기능적 단계를 가진다.
200 : 문구의 빈도 및 문구의 공통 출현 통계와 더불어, 가능 및 양호 문구를 수집.
202 : 가능 문구를 빈도 통계에 기초하여 양호 또는 불량 문구 중 어느 하나로 분류.
204 : 공통 출현 통계로부터 얻은 예측 측도에 기초하여 양호 문구 리스트를 간결화.
이하, 이들 각 단계를 더 상세하게 설명한다.
제 1 단계(200)는, 인덱싱 시스템(110)이 문서 컬렉션 내의 문서 세트를 크롤링하고 시간 경과에 따라서 문서 컬렉션의 반복된 파티션을 하는 프로세스이다. 패스마다 한 파티션이 처리된다. 패스마다 크롤링되는 문서의 수는 다양할 수 있고, 바람직하게는 파티션마다 약 1,000,000이다. 모든 문서가 처리되거나 또는 다른 종료 기준을 만족할 때까지, 이전에 크롤링되지 않은 문서만이 각 파티션에서 처리되는 것이 바람직하다. 실제로, 새로운 문서가 문서 컬렉션에 계속적으로 추가되는 동안 크로링이 계속된다. 다음 단계는 클로링된 각 문서가 인덱싱 시스템(110)에 의해서 처리된다.
문서의 단어를 n의 문구 윈도우 길이로 트래버스하고, 여기서 n은 원하는 최대 문구 길이다. 윈도우의 길이는 통상적으로 최소 2이고 바람직하게는 4 또는 5개의 용어(단어)일 수 있다. 바람직하게는, 문구는 "a", "the" 등의 스톱(stop) 단어와 같이 달리 특징지어지는 것을 포함하여, 문구 윈도우 내의 모든 단어를 포함한다. 문구 윈도우는 라인의 끝, 단락 복귀, 활자 태그, 또는 내용 또는 포맷에서의 변경의 다른 표시에 의해서 종료될 수 있다.
도 3은 트래버스 동안에 문서(300)의 일 부분을 설명한 것으로, 단어 "stock"에서 시작하여 오른쪽으로 다섯 단어에 연장하는 문구 윈도우(302)를 나타낸다. 윈도우(302)에 제 1 단어는 후보 문구 i, 그리고 각각의 시퀀스 i+1, i+2, i+3, i+4, 및 i+5가 마찬가지로 후보 문구이다. 그러므로, 본 예에서, 후보 문구 는 "stock", "stock dogs", "stock dogs for", "stock dogs for the", "stock dogs for the Basque", 및 ""stock dogs for the Basque shepherds"이다.
각 문구 윈도우(302)에서, 양호 문구 리스트(208) 또는 가능 문구 리스트(206)에 이미 존재하는지를 결정하기 위해서, 각 후보 문구가 차례로 체크된다. 만약, 후보 문구가 양호 문구 리스트(208) 또는 가능 문구 리스트(206) 중 어느 하나에도 존재하지 않으면, 그 후보는 "불량"으로 이미 결정되어 스킵된다.
후보 문구가 엔트리(gj)로서 양호 문구 리스트(208)에 있으면, 문구(gj)용 인덱스(150) 엔트리가 문서(예를 들면, 그것의 URL 또는 다른 문서 식별자)를 포함하고, 이 후보 문구(gj)가 현재 문서에 나타나는 것을 지시하도록 갱신된다. 문구(gj)(또는 어구)용 인덱스(150)에 엔트리는 문구(gj)의 포스팅 리스트로서 부른다. 포스팅 리스트는 문구가 발생하는 문서(d)의 리스트(그 문서 식별자, 예를 들면 문서 번호 또는 택일적으로 URL에 의해서)를 포함한다. 일 실시예에서, 문서 번호는 예를 들면 MD5를 이용하여 URL의 단방향 해시(one-way hash)에 의해서 얻어진다.
또한, 후술하는 바와 같이 공통-출현 매트릭스(212)가 갱신된다. 최초의 패스에서, 양호 및 불량 리스트가 비어 있을 것이고, 따라서 대부분의 문구는 가능 문구 리스트(206)에 추가될 것이다.
후보 문구가 양호 문구 리스트(208)에 있지 않는 경우, 이미 존재하지 않으면 가능 문구 리스트(206)에 추가된다. 가능 문구 리스트(206)에 각각의 엔트 리(p) 세 개의 관련 카운트를 가진다.
P(p): 가능 문구가 나타나는 문서의 수;
S(p): 가능 문구의 모든 인스턴스 수;
M(p): 가능 문구의 관심(interesting) 인스턴스 수. 가능 문구의 인스턴스는 가능 문구가 문법적 또는 포맷 마커에 의해서, 예를 들면 볼드체 또는 언더라인 또는, 하이퍼링크나 인용 부호에서의 앵커 텍스트에 의해서, 문서 내의 인접 내용으로부터 구별되는 "관심사항"이다. 이들(및 다른) 구별시키는 외형은 다양한 HTML 마크업 언어 태그 및 문법적 마커에 의해서 지시된다. 양호 문구 리스트(208)에 위치할 때, 이들 통계가 문구를 위해 유지된다.
다양한 리스트 이외에, 양호 문구용 공통-출현 매트릭스(212)(G)가 유지된다. 매트릭스(G)는 m×m 차원을 가지며, 여기서 m은 양호 문구의 수이다. 이 매트릭스에서 각 엔트리G(j,k)는 한 쌍의 양호 문구(gj,gk)를 나타낸다. 공통 출현 매트릭스(212)는 현재 단어(i)에 중심을 두고 +/- h 단어로 연장하는 제 2 윈도우(304)에 대하여, 양호 문구의 각 쌍(gj,gk)에 대한 세 개의 개별 카운트를 논리적으로(반드시 물리적이 아님) 유지한다. 일 실시예에서, 도 3에 도시된 바와 같이, 제 2 윈도우(304)는 30 단어이다. 그러므로 공통-출현 매트릭스(212)는 다음과 같이 유지된다:
R(j, k): 미처리 공통-출현 카운트(Raw Co-occurrence count). 문구(gj)가 문구(gk)와 함께 제 2 윈도우(304)에서 나타나는 횟수;
D(j, k): 분리 관심 카운트(Disjunctive Interesting count). 문구(gj) 또는 문구(gk) 중 어느 하나가 제 2 윈도우에서 구별되는 텍스트로서 나타나는 횟수.
C(j, k): 접속 관심 카운트(Conjuction Interesting count). 제 2 윈도우에서 구별되는 텍스트로서 문구(gj)와 문구(gk)가 둘다 나타나는 횟수. 접속 관심 카운트의 이용은 문구(예를 들면, 저작권 통지)가 사이드바(sidebar), 푸터(footer), 헤더(header)에서 빈번하게 나타나므로, 실제로 다른 텍스트에서 예측할 수 없는 환경을 피하는데 특히 유익하다.
도 3의 예를 참조하면, 문구 "Australian Shepherd" 및 "Australia Shepard Club of America" 뿐만 아니라 "stock dogs"가 양호 문구 리스트(208) 상에 있다고 가정한다. 이 양 전자 문구는 현재 문구 "stock dogs" 주위의 제 2 윈도우(304) 내에 나타난다. 그러나, 문구 "Australian Shepherd Club of America"는 웹사이트에 하이퍼링크(언더라인으로 지시됨)용 앵커 텍스트로 나타난다. 그러므로, {"stock dogs", "Australian Shepherd"} 양쪽에 대한 미처리 공통-출현 카운트는 증가하고, {"stock dogs", "Australian Shepherd Club of America"}에 대한 미처리 출현 카운트 및 분리 관심 카운트는 후자가 구별되는 텍스트로 나타나기 때문에 둘다 증가된다.
각 문서를 시퀀스 윈도우(302)와 제 2 윈도우(304) 양쪽으로 트래버스하는 처리가 파티션의 각 문서에 대하여 반복된다.
파티션의 문서가 트래버스되면, 인덱싱 동작의 다음 단계는 가능 문구 리스 트(206)로부터 양호 문구 리스트(208)를 갱신(202)하는 것이다. 만약, 문구의 출현 빈도 및 문구가 나타나는 문서의 수가 언어적으로 의미있는 문구로서 충분한 어법을 가지면, 가능 문구 리스트(206) 상의 가능 문구(p)는 양호 문구 리스트(208)로 이동한다.
일 실시예에서, 이것은 다음과 같이 테스트 된다. 가능 문구(p)는 다음과 같은 경우에 가능 문구 리스트(206)에서 제거되고 양호 문구 리스트(208)에 위치된다:
a) P(p)>10 및 S(p)>20(문구(p)를 포함하는 문서의 수가 10이상이고 문구(p)의 출현 수가 20이상); 또는
b) M(p)>5(문구(p)의 관심 인스턴스의 수가 5이상).
이 임계치는 파티션 내의 문서 수에 의해서 스케일링 된다. 예를 들면, 2,000,000개의 문서가 파티션 내에서 크롤링되면, 임계치는 대략 두배가 된다. 물론, 당업자는 임계치의 특정 값 또는 그들을 테스트하는 로직이 원하는 대로 다양해질 수 있다는 것을 인식할 것이다.
문구(p)는 양호 문구 리스트(208)에 적합하지 않으면, 불량 문구에 해당하는지를 체크한다. 문구(p)는 다음 경우에 불량 문구이다:
a) 문구를 포함하는 문서의 수, P(p)<2; 및
b) 문구의 관련 인스턴스의 수, M(p)=0,
이 조건들은 문구가 양쪽 다 빈도가 적고 중요 내용을 나타내는데 이용되지 않는 것을 나타내며, 또한 이 임계치는 파티션 내의 문서의 수 마다 다시 스케일링 될 수 있다.
양호 문구 리스트(208)는 상술한 바와 같이 복수 단어 문구 이외에 문구로서의 개별 단어를 자연스럽게 포함할 수 있다. 이것은 문구 윈도우(302) 내의 각 제 1 단어가 항상 후보 문구이고, 그 적합 인스턴스 카운트가 축적될 것이기 때문이다. 그러므로, 인덱싱 시스템(110)은 개별 단어(즉, 단일 단어의 문구)와 복수 단어 문구 양쪽을 자동적으로 인덱싱할 수 있다. 양호 문구 리스트(208)는, 또한 m 문구의 모든 가능 조합에 기초하여 이론적인 최대치보다 상당히 짧을 수 있다. 통상적인 실시예에서, 양호 문구 리스트(208)는 약 6.5×105 개의 문구를 포함할 수 있다. 시스템이 오직 가능 및 양호 문구를 추적할 필요가 있기 때문에, 불량 문구의 리스트는 저장할 필요가 없다.
문서 컬렉션을 통한 최종 패스에서, 많은 자료에서 문구의 이용이 기대되는 분포에 기인해서, 가능 문구의 리스트는 상대적으로 짧아질 수 있다. 그러므로, 10번째 패스(예를 들면, 10,000,000 문서)에 대하여 언급하면, 문구는 매우 초기에 나타나고, 그 때에 양호 문구가 거의 일어나지 않을 것이다. 그것은 막 사용한 새로운 문구일 것이므로, 다음의 크롤 동안 점차 일반적으로 된다. 이 경우에, 그 각각의 카운트는 증가할 것이고, 궁극적으로 양호 문구가 되기 위한 임계치를 만족할 수 있을 것이다.
인덱싱 동작의 제 3 단계는 공통 출현 매트릭스(212)로부터 얻은 예측 측도를 사용하여 양호 문구 리스트(208)로 간결화하는 것이다(204). 간결화가 없으면, 양호 문구 리스트(208)는 어휘 목록에 정규적으로 출현하는 동안 그들 자체는 다른 문구의 존재를 예측할 수 없고, 또한 그들 스스로는 더 긴 문구의 서브 시퀀스를 충분하게 예측할 수 없는 많은 문구를 포함할 가능성이 있다. 이러한 약한 양호 문구를 제거하여서, 양호 문구를 매우 강화시킬 수 있다. 양호 문구를 식별하기 위해서, 다른 문구가 존재하는 문서에서 나타나는 한 문구의 증가된 가능성을 표현하는 예상 측도가 사용된다. 이것은 일 실시예에서 다음과 같이 수행된다.
상술한 바와 같이, 공통 출현 매트릭스(212)는 양호 문구와 관련된 데이터를 저장하는 m×m 매트릭스이다. 매트릭스에서 각 열(j)은 양호 문구(gj)를 나타내고, 각 행(k)은 양호 문구(gk)를 나타낸다. 각 양호 문구(gj)에 대하여, 예측값(E(gj))이 계산된다. 예측값(E)은 문구(gj)를 포함할 것으로 기대되는 컬렉션에서의 문서의 비율이다. 이것은, 예를 들면 크롤링된 컬렉션에서의 문서의 총 수(T)에 대하여 문구(gj)를 포함하는 문서의 수의 비율로 계산된다. 즉, P(j)/T이다.
상술한 바와 같이, 문구(gj)를 포함하는 문서의 수는 문구(gj)가 문서에서 나타날 때마다 갱신된다. E(gj)에 대한 값은 문구(gj)에 대한 카운트가 증가될 때마다 또는 이 세번째 단계 동안 갱신된다.
이어서, 각각의 다른 양호 문구(gk)(예를 들면, 매트릭스의 행)에 대하여, 문구(gj)가 문구(gk)를 예측하는지의 여부가 결정된다. 문구(gj)에 대한 예측 측도는 다음과 같이 결정된다:
ⅰ) 예측값E(gk)을 계산한다. 문구(gj) 및 문구(gk)의 예측 공통 출현율E(j,k)은, 그들이 관련되어 있지 않다면 E(gj)*E(gk)이다;
ⅱ) 문구(gj) 및 문구(gk)의 실질 공통 출현율 A(j,k)를 계산한다. 이것은 문서의 전체 수인 T로 나누어진 미처리 공통 출현 카운트 R(j, k)이다;
ⅲ) 문구(gj)는 실질 공통 출현율 A(j,k)이 임계량 만큼 예측 공통 출현율 E(j,k)을 초과하는 경우에 문구(gk)를 예측한다고 한다.
일 실시예에서, 예측 측도는 정보 이득이다. 그러므로, 문구(gj)의 존재 내에서 문구(gk)의 정보 이득(I)이 임계값을 초과할 때, 문구(gj)는 다른 문구(gk)를 예측할 수 있다. 일 실시예에서, 이것은 다음과 같이 계산된다.
I(j,k)=A(j,k)/E(j,k)
그리고, 다음의 경우에, 양호 문구(gj)는 양호 문구(gk)를 예측한다.
I(j,k)>정보 이득 임계치
일 실시예에서, 정보 이득 임계치는 1.5이지만, 바람직하게는 1.1과 1.7 사이다. 1.0 이상으로 임계치를 올리는 것은 두개의 달리 관련 없는 문구가 임의적으로 예측된 것을 넘어서 공통 출현하는 가능성을 줄이는 역할을 한다.
언급한 바와 같이, 정보 이득의 계산은 주어진 열(j)에 대하여 매트릭스(G)의 각 행(k)에서 반복된다. 일단 하나의 열이 완료된 경우에, 양호 문구들(gk)의 어떠한 정보 이득도 정보 이득 임계치를 초과하지 않으면, 이것은 문구(gj)가 어느 다른 양호 문구를 예측할 수 없다는 것을 의미한다. 그 경우에, 문구(gj)는 양호 문구 리스트(208)로부터 제거되고, 본질적으로 불량 문구가 된다. 이 문구 자체가 다른 양호 문구에 의해서 예측될 수 있기 때문에, 문구(gj)에 대한 행(j)은 제거되는 않음을 주의한다.
이 스텝은 공통-출현 매트릭스(212)의 모든 열이 평가되었을 경우에 끝난다.
이 과정의 최종 스텝은 불완전한 문구를 제거하도록 양호 문구 리스트(208)를 간결화하는 것이다. 불완전 문구는 문구 확장만을 예측하고 문구의 가장 좌측(즉, 문구의 시작)에서 시작하는 문구이다. 문구(p)의 "문구 확장"은 문구(p)를 시작하는 수퍼-시퀀스이다. 예를 들면, 문구 "President of"는 "President of the United States", "President of Mexcio", "President of AT&T" 등을 예측한다. 이 후자의 모든 문구는 "President of"로 시작하고 그것의 수퍼-시퀀스이기 때문에, 그들은 문구 "President of"의 문구 확장이다.
따라서, 양호 문구 리스트(208)에 남아있는 각 문구(gj)는 이전에 논의된 정보 이득 임계치에 기초하여, 일부의 다른 문구들을 예측할 것이다. 이제, 각 문구(gj)에 대하여, 인덱싱 시스템(110)은 예측된 각 문구(gk)로 스트링 매치를 수행한다. 이 스트링 매치는 각각 예측된 문구(gk)가 문구(gj)의 문구 확장인지의 여부를 테스트한다. 모든 예측된 문구(gk)가 문구(gj)의 확장이면, 문구(gj)는 불완전 하고, 양호 문구 리스트(208)에서 삭제되고, 불완전 문구 리스트(216)에 추가된다. 그러므로, 만약 문구(gj)의 확장이 아닌 적어도 하나의 문구(gk)가 있다면, 문구(gj)는 완전하고, 양호 문구 리스트(208)에 유지된다. 예를 들면, "President of the United States"는 그것이 예상하는 다른 문구에서만 문구의 확장인 "President of the United States"이므로 불완전 문구이다.
불완전 문구 리스트(216) 자체는 실제 서치 동안에는 매우 유용하다. 서치 쿼리를 받을 경우에, 그것은 불완전 문구 리스트(216)의 대해서 비교될 수 있다. 만약, 쿼리(또는 그 일 부분)가 상술한 리스트의 엔트리와 매치되면, 서치 시스템(120)은 불완전 문구의 가장 가능성 있는 문구 확장(불완전 문구에 주어진 가장 높은 정보 이득을 가지는 문구 확장)을 찾을 수 있고, 이 문구의 확장을 유저에게 제안할 수 있거나, 자동적으로 문구 확장에 대하여 서치할 것이다. 예를 들면, 서치 쿼리가 "President of the United"이면, 서치 시스템(120)은 자동적으로 유저에게 서치 쿼리로서 "President of the United States"를 제안할 수 있다.
인덱싱 프로세스의 마지막 단계가 완료된 후에, 양호 문구 리스트(208)는 자료에서 발견된 많은 수의 양호 문구를 포함할 것이다. 각각의 이들 양호 문구는 그것의 문구 확장이 아닌 적어도 하나의 다른 문구를 예측할 것이다. 즉, 각 양호 문구는 자료에서 표현된 의미있는 개념이나 아이디어를 나타내도록 충분한 빈도와 독립성을 가지고 이용된다. 미리 정해지거나 손으로 선택된 문구를 사용하는 기존의 시스템과 달리, 양호 문구 리스트는 자료에서 사용되는 실제 문구를 반영한다. 또한, 새로운 문서가 문서 컬렉션에 추가될 때, 크롤링과 인덱싱의 상술한 프로세스가 주기적으로 반복되기 때문에, 새로운 문구가 어휘 목록에 들어갈 때, 인덱싱 시스템(110)은 자동적으로 새로운 문구를 탐색한다.
2. 관련 문구 및 관련 문구 클러스터 식별
도 4를 참조하면, 관련 문구 식별 프로세스는 다음의 기능적인 동작을 포함한다.
400: 높은 정보 이득값을 가지는 관련 문구를 식별한다.
402: 관련 문구의 클러스터를 식별한다.
404: 클러스터 비트 벡터 및 클러스터 번호를 저장한다.
이하, 각각의 상술한 동작을 상세하게 설명한다.
우선, 공통 출현 매트릭스(212)는 양호 문구(gj)를 포함하고, 각각의 양호 문구(gj)는 정보 이득 임계치 보다 큰 정보 이득으로 적어도 하나의 다른 양호 문구(gk)를 예측할 수 있다는 것을 상기한다. 그 후, 관련된 문구를 식별(400)하기 위해서, 양호 문구(gj,gk)의 각 쌍에 대하여, 정보 이득은 관련 문구 임계치, 예를 들면 100과 비교된다. 즉, 문구(gj) 및 문구(gk)는 다음 경우에 관련 문구이다.
I(gj,gk)>100
이 높은 임계치는 통계적 기대율을 훨씬 넘는 양호 문구의 공통 출현을 식별하는데 이용된다. 통계적으로, 문구(gj), 문구(gk)는 기대된 공통-출현율보다도 100배 공통 출현한다. 예를 들면, 문서에 문구 "Monica Lewinsky"가 주어진다면, 문구 "Bill Clinton"은 동일한 문서에 나타날 가능성이 100배 이상이고, 문구 "Bill Clinton"은 어느 임의로 선택된 문서에서도 나타날 가능성이 있다. 이것은 달리 말하면, 발생률이 100:1이므로 예측 정확도는 99.999%이다.
따라서, 관련 문구의 임계치보다 적은 어느 엔트리(gj,gk)는 삭제되며, 이 문구(gj), 문구(gk)는 관련되지 않았음을 나타낸다. 이제, 공통 출현 매트릭스(212)에 남아있는 일부 엔트리들은 모두 관련 문구임을 나타낸다.
공통 출현 매트릭스(212)의 각 열(gj)에 행(gk)들은 정보 이득값 I(gj, gk)에 의해서 분류되어서, 가장 높은 정보 이득의 관련 문구(gk)가 첫번째로 리스팅 된다. 그러므로, 이 분류는 주어진 문구(gk)에 대하여, 정보 이득의 관점에서 어느 다른 문구가 가장 관련 가능성이 있는지를 식별한다.
다음 스텝은 어느 관련 문구들이 관련 문구들의 클러스터를 함께 형성하는지를 결정(402)하기 위한 것이다. 클러스터는 각 문구가 적어도 하나의 다른 문구에 대하여 높은 정보 이득을 가진 관련 문구의 세트이다. 일 실시예에서, 클러스터는 다음과 같이 식별된다.
매트릭스의 각 열(gj)에서, 문구(gj)와 관련된 하나 이상의 다른 문구가 있을 것이다. 이 세트는 관련된 문구 세트(Rj)이고, 여기서 R={gk, gl, …gm}이다.
Rj에서 각각 관련된 문구(m)에 대하여, 인덱싱 시스템(110)은 R 내의 각각 다른 관련된 문구가 역시 문구(gj)에 관련되어 있는지의 여부를 결정한다. 그러므로, I(gk,gj)가 또한 0이 아니라면, gj, gk, gl은 클러스터의 부분이다. 이 클러스터 테스트는 R 내의 각 쌍 (gj, gk)에 대하여 반복된다.
예를 들면, "Bill Clinton"에 대하여 각각의 이들 문구의 정보 이득이 관련 문구 임계치를 초과하기 때문에 양호 문구 "Bill Clinton"은 문구 "President", "Monica Lewinsky"에 관련된다고 가정한다. 또한, 문구 "Monica Lewinsky"는 문구 "purse designer"와 관련된다고 가정한다. 그러면, 이들 문구는 세트(R)을 형성한다. 클러스터를 결정하기 위해서, 인덱싱 시스템(110)은 이들 문구에 대응하는 정보 이득을 결정하여서 다른 문구에 대해 이들 각각 문구의 정보 이득을 평가한다. 그러므로, 인덱싱 시스템(110)은 R에 모든 쌍에 대하여, 정보 이득 I("President", "Monica Lewinsky"), I("President", "purse designer") 등을 결정한다. 본 예에서, "Bill Clinton", "President", 및 "Monica Lewinsky"는 하나의 클러스터를 형성하고, "Bill Clinton", "President"는 제 2 클러스터를 형성하고, "Monica Lewinsky" 및 "purse designer"는 제 3 클러스터를 형성하고, "Monica Lewinsky", "Bill Clinton", 및 "purse designer"는 제 4 클러스터를 형성한다. 이것은 "Bill Clinton"이 충분한 정보 이득으로 "purse designer"를 예측하지 않는 반면에, "Monica Lewinsky"는 이들 양 문구를 예측하기 때문이다.
클러스터 정보를 기록(404)하기 위해서, 각 클러스터는 고유한 클러스터 번호(클러스터 ID)를 할당받는다. 이 후, 이 정보는 각각의 양호 문구(gj)와 관련하 여 기록된다.
일 실시예에서, 클러스터 번호는 또한 문구 사이의 직교 관련성을 지시하는 클러스터 비트 벡터에 의해서 결정된다. 클러스터 비트 벡터는 양호 문구 리스트(208)에서 양호 문구의 수인, 길이 n의 일련의 비트이다. 주어진 양호 문구(gj)에 대하여, 비트의 위치는 문구(gj)의 분류된 관련 문구들 R에 대응한다. R 내에 관련 문구(gk)가 문구(gj)와 동일한 클러스터 내에 있다면, 한 비트가 세트된다. 보다 일반적으로는, 이것은 클러스터 비트 벡터 내의 대응 비트가 gj 및 gk 사이에 어느 한 방향에 있어서 정보 이득이 있다면 세트된다는 것을 의미한다.
그리고 클러스터 번호는 결과적인 비트 스트링의 값이다. 이것의 실시는 다수 또는 단 방향 정보 이득을 가지는 관련 문구가 동일한 클러스터 내에서 나타나는 특성을 가진다.
상술한 바를 이용하면, 클러스터 비트 벡터의 일례는 다음과 같다.
Bill Clinton President Monica Lewinsky purse designer Cluster ID
Bill Clinton 1 1 1 0 14
President 1 1 0 0 12
Monica Lewinsky 1 0 1 1 11
purse designer 0 0 1 1 3
이어서 요약하면, 이 프로세스 이후에, 각 양호 문구(gj)에 대하여 가장 높은 것으로부터 가장 낮은 정보 이득 I(gj,gk)의 순서로 분류된 관련 문구들(R)의 세 트가 식별될 것이다. 또한, 각 양호 문구(gj)에 대하여, 클러스터 비트 벡터가 존재할 것이며 그것의 값은 문구(gj)가 멤버인 제 1 클러스터를 식별하는 클러스터 번호이고 직교값(orthogonality)(각 비트 위치에 대하여 1 또는 0)은 R 내에 관련 문구들 중 어느 것이 문구(gj)와 동일한 클러스터에 있는지 지시한다. 그러므로, 상술한 예에서 "Bill Clinton", "President", and "Monica Lewinsky"는 문구 "Bill Clinton"에 대한 열에서 비트의 값에 기초하여 클러스터(14) 내에 있다.
이 정보를 저장하기 위해서, 2개의 기본적인 표현이 이용될 수 있다. 우선, 상술한 바와 같이, 정보는 다음과 같은 공통 출현 매트릭스(212)에 저장될 수 있다.
엔트리 G[열 j, 행 k]=(I(j,k), 클러스터번호, 클러스터비트벡터)
대신하여, 매트릭스 표현이 사용되지 않고, 모든 정보는 양호 문구 리스트(208)에 저장되고, 여기서 그것의 각 열은 양호 문구(gj)를 나타낸다.
문구 열j = 리스트[문구 gk,(I(j,k), 클러스터번호, 클러스터비트벡터)].
이러한 접근은 클러스터에 대한 유용한 조직화를 제공한다. 우선, 토픽과 개념이 엄격하게 - 그리고 종종 임의적으로- 정의된 체계라기 보다는, 이러한 접근은 관련 문구에 의해 지시될 때, 토픽은 관련성의 복잡한 그래프를 형성하는데, 여기서 어떤 문구들은 많은 다른 문구들과 관련되고, 어떤 문구들은 더 한정된 범위를 가지며, 상기 관련성은 상호 관련이 있거나(각 문구가 다른 문구를 예측함) 또 는 단 방향(한 문구가 다른 문구를 예측하지만, 역은 성립하지 않음)일 수 있다는 것을 인식한다. 결론은 클러스터가 각 양호 문구에 대하여 "로컬(local)"로 특징지어질 수 있다는 것이고, 어떤 클로스터는 하나 이상의 공통 관련 문구를 가져서 중첩될 수도 있을 것이다.
주어진 양호 문구(gj)에 대하여, 정보 이득에 의해서 관련 문구를 랭킹하는 것은 문구의 클러스터를 명명하기 위한 체계를 제공한다: 클러스터의 이름은 가장 높은 이득을 가지는 클러스터에서 관련 문구의 이름이다.
상술한 프로세스는 문서 컬렉션에 나타나는 중요 문구를 식별하는 매우 강력한 방법을 제공하고, 유익하게도 문구와 관련된 이러한 방법은 실제에 있어서 자연적 "클러스터들"에서 함께 이용된다. 결과적으로, 이러한 관련 문구의 데이터 구동 클러스터링은 많은 시스템에서 공통인 관련 용어들과 개념의 어떠한 작위적인 "편집상"의 선택에 내재된 편향을 피한다.
3. 문구 및 관련 문구를 가지는 인덱싱 문서
관련 문구 및 클러스터에 속하는 정보를 포함하는 양호 문구 리스트(208)가 주어지면, 인덱싱 시스템(110)의 다음 기능적인 동작은 양호 문구 및 클러스터에 대하여 문서 컬렉션 내의 문서들을 인덱싱하고 제 1 인덱스(150) 및 제 2 인덱스(152)에 갱신된 정보를 저장하는 것이다. 도 5는 이러한 프로세스를 설명하는 것인데, 여기에서 문서를 인덱싱하기 위한 다음의 기능적인 단계가 있다:
500: 문서에서 발견된 양호 문구의 포스팅 리스트에 문서를 포스팅.
502: 관련된 문구 및 제 2 관련 문구에 대한 인스턴스 카운트 및 관련 문구 비트 벡터를 갱신.
504: 포스팅 리스트 크기에 따른 인덱스 엔트리를 재배열.
506: 정보 검색 스코어 또는 특정 값에 의해서 각각의 포스팅 리스트에 인덱스 엔트리를 랭크.
508: 제 1의 서버(150) 및 제 2 서버(152)의 사이에 각 포스팅 리스트를 분할.
이제, 이들 단계를 더 상세하게 설명한다.
앞서와 마찬가지로, 문서의 세트는 트레버스되거나 크롤링 된다; 이것은 동일 또는 다른 세트의 문서일 수 있다. 주어진 문서(d)에 대하여, 상술한 방법으로 위치 i로부터 길이 n의 시퀀스 윈도우(302)로 문서 단어 하나하나씩 트래버스한다(500).
주어진 문구 윈도우(302)에서, 위치(i)에서 시작하여 이 윈도우 내에서 모든 양호 문구를 식별한다. 각각의 양호 문구는 gi로 나타내진다. 그러므로, g1은 제 1 양호 문구이고, g2는 제 2 양호 문구 등이 될 것이다.
각각의 양호 문구 gi(예를 들면, g1 "President" 및 g4 "President of ATT")에 대하여 문서 식별자(예를 들면, URL)를 인덱스(150) 내의 양호 문구 gi에 대한 포스팅 리스트에 포스팅한다. 이러한 갱신은 양호 문구 gi가 이런 특정 문서에 나타나는지를 식별한다.
일 실시예에서, 문구 gj에 대한 포스팅 리스트는 다음의 논리 형태를 가진다.
문구 gj: 리스트: (문서 d, [리스트:관련 문구 카운트][관련 문구 정보])
각각의 문구 gj에 대하여, 문구가 나타나는 문서(d)의 리스트가 있다. 각 문서에 대하여, 문서(d)에 역시 나타나는 문구 gj의 관련 문구(R)의 출현 수의 카운트 리스트가 있다.
일 실시예에서, 관련 문구 정보는 관련 문구 비트 벡터이다. 각각의 관련 문구 gk에 대하여 2개의 비트 위치 gk-1, gk-2가 있다는 점에서, 이 비트 벡터는 "2-bit" 벡터로 특징지어질 수 있다. 제 1 비트 위치는 관련 문구 gk가 문서(d)에 존재(즉, 문서(d) 내에서 gk에 대한 카운트가 0보다 큼) 여부를 지시하는 플래그를 저장한다. 제 2 비트 위치는 gk의 관련 문구 gl가 문서(d)에 역시 존재하는지의 여부를 지시하는 플래그를 저장한다. 문구 gj의 관련 문구 gk의 관련 문구 gl은 여기서 "gj의 제 2 관련 문구"로 불린다. 카운트 및 비트 위치는 (정보 이득이 감소하는 순서로 분류된) R내의 문구의 표준적인 순서에 대응한다. 이 분류 순서는 관련 문구 비트 벡터의 가장 큰 비트와 관련된 gj에 의해서 가장 높이 예측되는 관련 문구 gk와, 가장 비트와 관련된 gj에 의해서 가장 낮게 예측되는 관련 문구 gl를 만드 는 효과가 있다.
주어진 문구 g에 대하여, 관련 문구 비트 벡터의 길이 및 그 벡터의 개별 비트에 관련된 문구의 연관성은 g를 포함하는 모든 문서에 대하여 동일하다는 것을 주의하는 것이 유용하다. 본 실시예는 시스템이 g를 포함하는 어떤(또는 모든) 문서에 대하여 관련 문구 비트 벡터를 쉽게 비교하도록 하여, 어떤 문서가 주어진 관련 문구를 가지고 있는지를 알 수 있게 하는 특성을 가지고 있다. 이것은 서치 쿼리에 대응하는 문서를 식별하는 서치 프로세스를 실현하는 이점이 있다. 따라서, 주어진 문서는 많은 다른 문구의 포스팅 리스트 및, 각각의 그러한 포스팅 리스트에 나타날 것이고, 문서에 대한 그 관련 문구 벡터는 포스팅 리스트를 가지는 문구에 고유(specific)할 것이다. 이러한 측면은 개별 문구 및 문서에 대하여 관련 문구 비트 벡터의 지역성(localty)을 유지시킨다.
따라서, 다음 단계(502)는 문서(전과 동일하게, +/-K 용어의 제 2 윈도우, 예를 들면, 30 단어) 내에 현재 인덱스 위치의 제 2 윈도우(304), 예컨대 i-K로부터 i+K까지를 트래버스하는 것을 포함한다. 제 2 윈도우(304)에 나타나는 gi의 각 관련 문구 gk에 대하여, 인덱싱 시스템(110)은 관련 문구 카운트에서 문서(d)에 대하여 gk의 카운트를 증가시킨다. gi가 문서에서 뒤에 나타나고, 관련 문구가 뒷쪽의 제 2 윈도우 내에서 다시 발견되면, 카운트는 다시 증가한다.
언급된 바와 같이, 관련 문구 비트 맵에서 대응하는 제 1 비트 gk-1은, gk에 대한 카운트가 >0이면 비트는 1로 세트되거나 카운트가 0이면 0으로 세트되면서, 이 카운트에 기초하여 세트된다.
이어서, 제 2 비트, 즉 gk-2는 관련 문구 gk를 인덱스(150)에서 찾고, gk의 포스팅 리스트에서 문서(d)에 대한 엔트리를 식별하고, 임의의 그 관련 문구에 대한 gk의 제 2 관련 문구 카운트(또는 비트)를 체크함으로써 세트된다. 만약, 임의의 이들 제 2 관련 문구 카운트/비트가 세트되면, 이것은 gj의 제 2 관련 문구가 문서(d)에 또한 존재하는 것을 지시한다.
문서(d)가 이 방식으로 완전히 처리될 때, 인덱싱 시스템(110)은 다음을 식별할 것이다:
i) 문서(d)에서 각 양호 문구(gj);
ⅱ) 각 양호 문구(gj)에 대하여 그것의 관련된 문구(gk) 중 어느 것이 문서(d)에 존재하는지;
ⅲ) 문서(d)에 존재하는 각 관련 문구(gk)에 대하여, 그것의 관련 문구(gl)(gj의 제 2 관련 문구)의 어느 것이 문서(d)에 또한 존재하는지.
a) 분할 인덱싱
인덱스(150)에서 각 문구는, 자료에서 출현하는 그 빈도에 기초하여 문구 번호가 주어진다. 문구가 더 일반적일수록, 인덱스에서 더 작은 문구 번호를 받는다. 그 후, 인덱싱 시스템(110)은 각 포스팅 리스트에 리스팅된 문서의 수에 따라서 내림차순으로 제 1 인덱스(150)에 모든 포스팅 리스트(214)를 분류(504)하여서, 가장 빈번하게 출현하는 문구는 가장 낮은 문구 번호를 가지고 제 1 인덱스(150)에 우선적으로 리스팅된다. 상술바와 같이, 제 1 인덱스(150)는 M1 제 1 서버를 통해서 분배된다. 디스크 경합(contention)을 줄이기 위해서, 문구는 해시 함수, 예를 들면 문구_번호 MOD M1에 의해서 이 머신을 통해 분배된다.
시스템에 의해서 인덱싱될 수 있는 문서의 수를 크게 증가시키기 위해서는, 제 1 인덱스(150)가 각각의 포스팅 리스트(214)를 선택적으로 분할하는 것이 더 처리된다. 상술한 바와 같이, 각 문구의 포스팅 리스트는 문서 리스트를 포함한다. 포스팅 리스트 내에서 각각의 문서에는 문구에 대한 정보 검색형 스코어가 부여된다(506). 그러나 스코어가 계산되고, 가장 높게 스코어된 문서가 포스팅 리스트에 우선적으로 리스트되면서, 포스팅 리스트 내의 문서는 이 스코어에 의해 내림 차순으로 랭크된다. 서치 쿼리에 대응하여 문서를 검색할 때, 이 문서의 프리-랭킹(pre-ranking)은 성능 향상에 대하여 특히 이점이 있다.
문서를 프리-랭킹하는 스코어링 알고리즘은 연관 스코어를 발생시키는 서치 시스템(120)에서 이용되는 하부 연관 스코어링 알고리즘일 수 있다. 일 실시예에서, IR 스코어는 미국 특허 제 6,285,999에 기재된 바와 같은 페이지 랭크 알고리즘에 기초한다. 택일적 또는 추가적으로, 내부링크, 외부링크의 수, 문서 길이 등의 문서의 많은 IR-연관 속성의 통계는 역시 저장될 수 있고, 문서를 랭킹하기 위해서 단독 또는 조합하여 사용될 수 있다. 예를 들면, 문서는 내부링크의 수에 따라 내림차순으로 랭킹될 수 있다. 제 1 인덱스(150)로부터 정보의 가능한 가장 빠른 검색을 더 실행하기 위해서, 각각의 포스팅 리스트(214) 내의 엔트리는 IR형 스 코어에 의해서 배열된 랭크 내에서 적합한 제 1 서버에 물리적으로 저장된다.
주어진 문구에 대하여 가장 높은 스코어링 문서가 현재 포스팅 리스트의 시작에 있다면, 포스팅 리스트(214)는 제 1 인덱스(150)와 제 2 인덱스(152)의 사이에서 분할된다(508). 최초 K 문서들까지에 대한 포스팅 리스트 엔트리는 제 1 서버(150)에 저장되는 한편, 나머지 n>K 인 문서들에 대한 포스팅 리스트 엔트리는 제 2 인덱스(152)에 저장되고, 제 1 인덱스(150) 내에 포스팅 리스트(214)의 끝에서부터 삭제된다. 일 실시예에서, K는 32,768(32K)로 설정되지만, K보다 높거나 낮은 값이 사용될 수 있다. 제 1과 제 2 인덱스 사이에서 분할된 그것의 포스팅 리스트를 가지는 문구는 "일반" 문구로 불리는 반면, 분할되지 않은 문구는 "희귀(rare)" 문구로 불린다. 제 1 인덱스(150)에 저장된 포스팅 리스트의 부분은 제 1 포스팅 리스트로서 언급되며 제 1 엔트리를 포함하고, 제 2 인덱스(152)에 저장된 포스팅 리스트의 부분은 제 2 포스팅 리스트로서 언급되며 제 2 엔트리를 포함한다. 주어진 포스팅 리스트(214)에 대한 제 2 엔트리는 문구 번호, 예를 들면 문구 번호 MOD M2의 다른 해시 함수에 따라서 제 2 서버에 할당된다. 제 2 서버 ID는 제 1 서버에 포스팅 리스트에 저장되어, 필요로 할 때 서치 시스템(120)이 적합한 제 2 서버를 쉽게 액세스하게 한다. 제 2 서버 중의 하나에 저장된 각 문구 포스팅 리스트에 대하여, 제 2 엔트리는 그들의 문서 번호 순서로, 가장 낮은 문서 번호로부터 가장 높은 번호(제 1 인덱스(150)에서의 연관 배열과 대조적으로)까지 물리적으로 저장된다. 바람직하게는, 연관 정보가 제 2 엔트리에 저장되지 않아서, 엔트리는 문서 번호, 문서 로케이터(예를 들면, URL) 등의 최소량의 데이터를 포함한다. 랭킹 및 분할 단계는 각 문구에 대하여 순차적으로 수행될 수 있고, 대안적으로 모든(또는 많은) 문구가 처음에 랭크된 후, 분할될 수 있다; 알고리즘 설계는 단지 설계의 선택이고 상기 변수들은 동등하다고 고려된다. 랭킹 및 분활 단계는 각 인덱싱 패스 동안에 한 세트의 문서들에 걸쳐서 수행되어서, 인덱싱 패스 동안에 새 문서로 갱신된 어떤 문구는 재-랭킹 및 재-분할된다. 다른 최적화 및 동작 역시 가능하다.
일 실시예에서, 포스트 리스팅(214)의 각각의 문서에 대하여 제 1 인덱스(150)에 저장된 문서 속성의 선택은 가변적이고, 특히 제 1 인덱스의 포스팅 리스트(214)의 끝쪽으로 감소한다. 달리 말하면, 그들의 연관 스코어(또는 다른 연관 기초 속성)에 기초하여 포스팅 리스트에 높게 랭크된 문서는 포스팅 리스트의 문서 엔트리에 저장된 모든 또는 대부분의 문서 속성을 가질 것이다. 제 1 인덱스 내에서 포스팅 리스트(214)의 끝 부근의 문서는 그러한 속성의 더 한정된 세트만이 저장될 것이다.
일 실시예에서, 제 1 인덱스(150)에 각 포스팅 리스트(214)는 길이 m, 3m, 5m의 3개의 섹션(또는 단계)을 가지고, 여기서 m은 복수의 문서 엔트리이다. 본 실시예에서, 각 섹션은 상술한 바와 같이 m=K인 길이 K를 가지며 전체 제 1 인덱스는 9K를 가지는 것이 바람직하다; 제 2 인덱스는 n>9K인 제 2 엔트리를 저장할 것이다.
제 1 섹션(처음 m 엔트리들)에서, 다음의 연관 속성은 주어진 문구의 포스팅 리스트에서 각각의 문서 엔트리에 대하여 저장된다;
1. 문서 연관 스코어(예를 들면, 페이지 랭크);
2. 문서에서 문구의 전체 출현 수;
3. 문구를 역시 포함하고, 이 문서를 지시하는 10,000개의 앵커 문서들까지 랭크 배열된 리스트와, 각각의 앵커 문서에 대하여 그것의 연관 스코어(예를 들면, 페이지 랭크), 및 앵커 텍스트 자체;
4. 각각의 문구 출현 위치, 및 각 출현에 대하여 URL, 본문(body), 사이드바, 풋터, 광고에서, 대문자 또는 어떤 다른 형태의 HTML 마크업의 출현이 타이틀, 볼드(bold), 헤딩인지의 여부를 지시하는 한 세트의 플래그.
제 2 섹션(다음 3m 엔트리들)에서, 항목 1-3 만이 저장된다.
제 3 섹션(최종 5m 엔트리들)에서, 항목 1 만이 저장된다.
어느 문서의 속성이 각 포스팅 리스트(214)의 뒷부분에 저장되는 것을 체계적으로 줄이는 것은, 포스팅 리스트의 끝 부근의 문서가 이미 특정 문구와 덜 연관되었다고 결정되는 것이기 때문에 용인될 수 있고, 따라서 그들의 모든 연관 특성을 저장할 필요가 전혀 없다.
전술한 저장 배치는 종래 기술보다 하드디스크의 주어진 양에서 상당히 많은 엔트리를 저장할 수 있다. 첫째로, 어느 문서에서 어느 문구에 대하여 용어 위치 정보의 제거는 주어진 세트의 문서에 대해 필요한 저장량에 있어서 대략 50%의 감소를 제공하여서, 저장할 수 있는 문서의 수가 효과적으로 두배가 되게 한다. 둘째로, 제 1 인덱스와 제 2 인덱스의 사이에 포스팅 리스트를 분할하고 제 1 인덱스에만 연관 정보를 저장하는 것은 더욱 실질적인 절약을 제공한다. 많은 문구는 그 들의 포스팅 리스트에 100,000 심지어 1,000,000 이상으로 문서를 가진다. 제 1 인덱스에 제한된 수의 엔트리에 대해서만 연관 정보를 저장하는 것은 서치에서 반환되지 않는 문서에 필요한 저장을 제거한다. 이 측면은 저장될 수 있는 문서의 수에 있어서 대략 10배 증가를 제공한다. 마지막으로, 각각의 포스팅 리스트(214)에서 덜 연관(낮게 랭크된) 문서에 대해 제 1 인덱스(150)에 덜 연관 정보를 선택적으로 저장함으로써 더 많은 절약(필요한 저장 용량의 약 25%~50%의 감소)을 이룰 수 있다.
b) 문서에 대한 토픽 결정
문구에 의하여 문서의 인덱싱과 클러스터링 정보의 이용은 인덱싱 시스템(110)에서 다른 이점을 제공하는데, 그것은 문서가 관련 문구 정보에 기초한 토픽을 결정하는 능력이다.
주어진 양호 문구(gj)와 주어진 문서(d)에 대하여, 포스팅 리스트 엔트리가 다음과 같다고 가정하자:
gj: 문서 d: 관련 문구 카운트:={3,4,3,0,0,2,1,1,0}
관련 문구 비트 벡터:={11 11 10 00 00 10 10 10 01}
여기서, 관련 문구 비트 벡터는 2비트 쌍으로 나타나진다.
관련 문구 비트 벡터로부터, 우리는 문서(d)에 대하여 제 1 및 제 2 토픽을 결정할 수 있다. 제 1 토픽은 비트 쌍(1,1)에 의해서 지정되고, 제 2 토픽은 비트 쌍(1,0)에 의해서 지정된다. (1,1)의 관련 문구 비트 쌍은 비트 쌍에 대한 관련 문구(gk)가 역시 제 2 관련 문구(gl)와 함께, 둘다 문서(d)에 존재한다는 것을 지시한다. 이것은 문서(d)의 저자가 문서를 작성할 때 몇몇 관련 문구(gj, gk, 및 gl)를 함께 사용했다는 의미로 풀이될 수 있다. (1,0)의 비트 쌍은 gj, gk가 둘다 존재하지만, gk로부터 더 제 2 관련 문구가 존재한다는 것을 지시하므로, 이것은 덜 중요한 토픽이다.
c) 기록 검색에 대한 문서의 인덱싱 인스턴스
본 발명의 다른 실시예는 인덱스에 이력 문서를 저장하고 관리하는 능력을 허용하여서, 개별 문서 또는 페이지의 날짜 특정 인스턴스(버전)의 기록 검색을 가능하게 한다. 이 능력은 서치 쿼리에 대응하여 문서를 평가하고 서치 결과를 조직화할 때에, 사용자가 특정 범위의 일자 내에서 문서를 검색할 수 있고, 검색 시스템(120)이 일자 또는 버전 관련 연관 정보를 사용할 수 있는 것을 포함하여, 다양하고 유익한 이용을 가진다.
본 실시예에서, 문서 식별자는 일자 간격에 대하여 문서의 아이텐터티를 인코드한다. 처음, 문서가 인덱싱 시스템(110)에 의해서 크롤링될 때, 문서 식별자는 문서 URL 및 문서의 날짜 스탬프의 해시, 예를 들면 MD5(URL, 제1 데이터)로서 저장된다. 문서의 인스턴스가 유효하다고 고려되는 일자 범위를 포함하는 일자 범위 필드가 문서의 특정 인스턴스와 관련된다. 일자 범위는 문서가 유효하다고 고려되는 제 1 일자(인덱싱 날짜) 및 문서가 유효하다고 고려되는 마지막 날짜(예를 들면, 11-01-04;12-15-04)를 포함하는 일자 쌍으로서 특정될 수 있다. 대안적으 로, 일자 범위는 제 1 일자, 및 제 1 일자 다음의 복수의 날을 지시하는 수(예를 들면, 11-01-04, 45)로서 특정될 수 있다. 일자는 일자 스트링 또는 일 수를 포함하는 임의의 유용한 포맷에서 특정될 수 있다. 문서가 현재 유효한 문서인 기간 동안에, 제 2 값은 상태 플래그 또는 토큰(NULL 값을 포함)이고, 이것의 상태를 지칭하는데, 여기서 이것은 현재 간격을 말한다. 예를 들면,(11-01-04, "open")은 문서가 현재 유효하다는 것을 나타낸다. 이것은 문서가 제 1 날짜 후에 일자 한계를 포함하는 서치를 만족할 것이라는 것을 지시한다. 특정한 실시예에 관계없이 주어진 날짜 간격에 대한 제 1 날짜는 "시작 일자"로 언급할 수 있고, 주어진 간격에 대하여 마지막 날짜는 "마감 일자"로 언급할 수 있다.
인덱싱 시스템(110)에 의해서 다음의 인덱싱 패스 동안에, 인덱싱 시스템(110)은 문서가 바뀌었는지의 여부를 결정한다. 만약 문서에 변경이 없다면, 인덱싱 시스템(110)은 문서에 대하여 더 이상의 조치를 취하지 않는다. 문서에 변경이 있다면(그러므로, 문서의 새로운 인스턴스 또는 버전), 인덱싱 시스템(110)은 문서를 재-인덱싱한다. 재-인덱싱 시, 인덱싱 시스템(110)은 현재 일자 빼기 일일로 오픈 상태 플래그를 변경시켜서 현재 간격을 마감한다. 예를 들면, 인덱싱 시스템(110)이 12/16/04에 문서를 인덱싱하고 문서가 변경되었다고 결정하면, 현재 간격은 다음과 같이 마감된다:(11-01-04, 12-15-04), 그리고 새로운 현재 간격 예를 들면(12-16-04, "오픈")이 생성된다. 인덱싱 시스템(110)은 일자 범위에 대해 대응하는 인덱싱 연관 일자(예를 들면, 문구, 관련 통계, 문서 인링크 등)과 함께, 문서의 각 일자 범위를 유지한다. 그러므로, 각 일자 범위와 연관 데이터 세트는 문서의 특정 인스턴스 또는 버전과 관련된다. 주어진 문서에 대한 각각의 일자 간격에 대하여, 인덱싱 시스템은 고유한 문서 식별자, 예를 들면 MD5(URL, 제 1 일자)를 유지하여서, 적합한 저장 문서 인스턴스를 검색할 수 있다. 제 1 및 제 2 인덱스를 이용하는 실시예에서, 인덱싱 패스가 완료될 때, 제 1 인덱스에 포스팅 리스트(214)는 재-스코어링, 재-랭킹,및 재 분할된다.
마지막 인덱싱 패스 이후 주어진 문서가 변경되었는지 여부의 결정은 통계적인 규칙, 문법적인 규칙, 또는 유사한 발견적 방법을 포함한 몇 가지 방법에서 이루어질 수 있다. 일 실시예에서, 인덱싱 시스템(110)은 문서가 변경되었는지의 여부를 결정하기 위해서 문서의 문구를 사용한다. 문서가 인덱싱될 때마다, 상위 N 토픽이 일자 범위 정보, 예를 들면, 일자 범위(11-04-04, 12-15-04)에 대한 상위 20 토픽과 관련된 리스트로서 식별되어 유지된다. 인덱싱된 인스턴스의 토픽 리스트는 앞선 문서 인스턴스의 토픽 리스트, 바람직하게는 가장 최신 마감된 일자와 비교된다. 토픽의 M% 이상이 변경되면(예를 들면, 5%), 문서는 변경된 것으로 고려되고, 모든 문구에 대하여 재-인덱싱된다. 문서가 변경되었는지의 여부를 결정하는 다른 방법이 또한 이용될 수 있고, 문구에 기초한 인덱싱의 이용이 필요치 않다는 것에 유의해야 한다. 예를 들면, 통계적인 규칙의 세트는 문서 길이의 변경과 가장 빈번한 용어의 변경, 용어 빈도의 변경, HTML 마크업의 형식의 양 또는 문서 구조 혹은 콘텐츠의 다른 측도에 있어서의 변경에 기초하여 이용될 수 있다.
Ⅲ. 서치 시스템
서치 시스템(120)은 쿼리를 받고 쿼리에 연관된 문서를 서치하고 서치 결과 의 세트에서 이들 문서의 리스트(문서에 링크를 가지는)를 제공한다. 도 6은 서치 시스템의 주요 기능적인 동작을 설명한다.
600: 쿼리에서 문구를 식별한다.
602: 쿼리 문구에 연관된 문서를 검색한다.
604: 문구에 따른 서치 결과에서 문서를 랭킹한다.
이들 각 단계의 세부점은 다음과 같다.
1. 쿼리 쿼리 확장에서 문구의 식별
서치 시스템(120)의 제 1 단계(600)는 인덱스를 효과적으로 서치하기 위해서 쿼리 내에 존재하는 임의의 문구들을 식별하는 것이다. 이 섹션에서 다음과 같은 용어가 사용된다.
q: 서치 시스템(120)에 의해서 입력되고 수신되는 쿼리
Qp: 쿼리에 존재하는 문구
Qr: Qp의 관련 문구
Qe: Qp의 문구 확장
Q: Qp 및 Qr의 병합
쿼리 q는 어떤 최대 수까지 문자 또는 단어를 가지는 클라이언트(190)로부터 수신한다.
크기 N(예를 들면, 5)의 문구 윈도우는 서치 시스템(120)에 의해 이용되어 쿼리(q)의 용어를 트래버스한다. 이 문구 윈도우는 쿼리의 제 1 용어에서 시작하고, 오른쪽으로 N개의 용어로 연장한다. 이 윈도우는 오른쪽으로 M-N번 시프트되 는데, 여기서 M은 쿼리 내의 용어 수이다.
각 윈도우 위치에서, 윈도우에는 N개의(또는 더 적은) 용어가 있을 것이다. 이 용어는 가능 쿼리 문구로 구성된다. 가능 문구는 양호 문구 리스트(208)에서 발견되어, 그것이 양호 문구인지 아닌지를 결정한다. 만약, 양호 문구가 양호 문구 리스트(208)에 존재하면, 문구에 대하여 문구 번호가 반환되고, 이제 가능 문구는 후보 문구이다.
각 윈도우에서 모든 가능 문구가 테스트되어 그들이 양호 후보 문구인지의 여부를 결정한 후에, 서치 시스템(120)은 쿼리에서 대응 문구에 대한 문구 수의 세트를 가질 것이다. 이 후, 이 문구 수는 분류될 것이다(내림차순).
제 1 후보 문구로서 가장 높은 문구 수로 시작하여, 서치 시스템은(120) 분류된 리스트에서 고정 수치의 간격 내에 다른 후보 문구가 있는지, 즉 문구 수의 차이가 임계량, 예를 들면 20,000 이내인지를 결정한다. 만약 그렇다면, 쿼리의 최-좌측인 문구가 유효 쿼리 문구 Qp로서 선택된다. 이 쿼리 문구 및 그것의 모든 서브-문구는 후보 리스트에서 제거되고, 이 리스트는 재-분류되고 그 프로세스가 반복된다. 이 프로세스의 결과가 유효 쿼리 문구 Qp의 세트이다.
예를 들면, 서치 쿼리가 "Hillary Rodham Clinton Bill on the Senate Floor"이라고 가정한다. 서치 시스템(120)은 다음 후보 문구, "Hillary Rodham Clinton Bill on", "Hillary Rodham Clinton Bill", "Hillary Rodham Clinton"를 식별할 것이다. 처음 2개는 버려지고, 마지막 하나는 유효 쿼리 문구로서 유지된다. 다음 서치 시스템(120)은 "Bill on the Senate Floor", 및 서브 문구 "Bill on the Senate", "Bill on the", "Bill on", "Bill"을 식별할 것이고, "Bill"을 유효 쿼리 문구 Qp로서 선택할 것이다. 최종적으로, 서치 시스템(120)은 "on the Senate floor"를 구문분석하여, 유효 쿼리 문구로서 "Senate Floor"를 식별할 것이다.
이어서, 서치 시스템(120)은 대문자에 대한 유효 문구 Qp를 조정한다. 쿼리를 구문분석할 때, 서치 시스템(120)은 각 유효 구문에서 잠재적인 대문자를 식별한다. 이것은 "United States"로서 대문자화되는 "united states" 등의 알려진 대문자의 테이블을 이용하여 또는 대문자 알고리즘에 기초한 문법을 사용하여서 행해질 수 있다. 이것은 적절히 대문자화된 쿼리 문구의 세트를 생성한다.
그 후, 서치 시스템(120)은 대문자화된 문구를 통해서 제 2 패스를 하고, 문구가 가장 좌측인 것만을 선택하고 문구와 그것의 서브 문구가 모두 세트 내에 존재하는 곳을 대문자화 한다. 예를 들면, "president of the united states"에 대한 서치는 "President of the United States"로 대문자화된다.
다음 단계에서, 서치 시스템(120)은 쿼리 문구(Q)에 관련되는 문서를 식별한다(602). 서치 시스템(120)은 쿼리 문구 Q의 포스팅 리스트를 검색하고, 필요한 경우에는, 이들 리스트를 교차(intersect)시켜서, 쿼리 문구에 대한 포스팅 리스트의 전부(또는 일부)에 어떤 문서가 나타나는지를 결정한다. 만약, 쿼리 내의 문구(Q)는 문구 확장(Qe)(이하에 더 설명함)의 세트를 가지면, 포스팅 리스트와 교차를 행하기 전에, 서치 시스템(120)은 문구 확장의 포스팅 리스트의 병합을 우선 형성한다. 서치 시스템(120)은, 상술한 바와 같이 불완전 문구 리스트(216)에 각 쿼 리 문구(Q)를 찾아서 문구 확장을 식별한다.
제 1 인덱스(150) 및 제 2 인덱스(150)를 사용하면, 서치 시스템(120)은 교차 동작을 더 최적화할 수 있다. 서치 시스템(120)이 쿼리 문구가 일반 또는 희귀인지의 여부에 기초하여 처리해야만 하는 교차 분석의 4가지 일반적인 경우가 있다.
제 1 경우는 단일 쿼리 문구에 대한 것이고, 그것은 일반이나 희귀 중 어느 하나일 수 있다. 이 경우에, 서치 시스템(120)은 최종 랭킹에 대하여 제 1 인덱스(150)로부터 랭킹 문구(604)까지의 문구의 포스팅 리스트에서 제 1 엔트리의 선택된 수(예를 들면, 100 또는 1000)를 패스한다. 랭킹 문구는 문서가 이미 랭킹 순서에 있기 때문에 랭킹 동작을 최적화할 수 있다. 대안적으로, 문구에 대한 그들의 연관에 의해서, 이것은 이미 프리-랭킹되어 있기 때문에, 본질적으로 순간적인 결과를 유저에게 제공하여서, 문서의 세트가 서치 결과로서 직접 제공될 수 있다.
제 2 경우에는, 두개의 일반 쿼리 문구가 있는 경우이다. 여기에서, 서치 시스템(120)은 제 1 인덱스(150)에 각 문구에 대하여 포스팅 리스트(214)를 액세스하고, 이들 리스트를 교차하여서 최종 문서 리스트를 형성하고, 문서에 관련된 연관 속성의 세트에 기초하여 연관 스코어링에 대하여 랭킹 문구(604)에 패스된다. 각각의 포스팅 리스트에 적어도 K 문서가 있기 때문에, 양 문구를 포함하는 충분한 수의 매우 높은 가능성이 있어서, 제 2 인덱스(152)에 제 2 엔트리 교차가 필요없다. 이것은 검색에 필요로 하는 시간량을 줄일 수 있다.
제 3 경우는 두 개의 희귀 쿼리 문구가 있는 경우다. 여기에서 각 문구에 대한 전체 포스팅 리스트가 제 1 인덱스에 저장되므로, 이 경우는 제 2 경우와 똑같은 방식으로 처리된다.
마지막 경우는 유효 쿼리 문구가 일반 문구 또는 희귀 문구를 포함하는 경우다. 이 경우에, 서치 시스템(120)은 처음에 양 문구에 대해 제 1 인덱스(150)로부터 포스팅 리스트(214)를 교차시켜서 제 1 세트 또는 일반 문구를 형성한다. 이어서, 서치 시스템(120)은 희귀 문구에 대한 포스팅 리스트와 (문서 번호 순서로 이미 분류된) 일반 문구에 대한 제 2 엔트리를 교차시켜서 일반 문서의 제 2 세트를 형성한다. 두개의 세트는 조합되어서 랭킹 문구에 패스된다.
3개 이상의 쿼리 문구가 있는 모든 인스턴스는 상기 방법을 사용하는 하나의 연속적인 교차에 의해서 감소적으로 처리될 수 있다.
2. 랭킹
a) 포함된 문구에 기초한 문서의 랭킹
서치 시스템(120)은 각 문서의 관련 비트 벡터의 문구 정보 및 쿼리 문구에 대한 클러스터 비트 벡터와 함께 관련 정보 및 문서 속성을 사용하여서, 서치 결과 내의 문서가 랭크되는 랭킹 단계(604)를 제공한다. 이러한 접근은 문서 내에 포함되는 문구 또는 구어적으로는 "보디 히트(body hits)"에 따라서 문서를 랭킹한다.
상술한 바와 같이, 어느 주어진 문구(gj)에 대하여, gj의 포스팅 리스트 내에 각 문서(d)는 어느 관련된 문구(gj)와 어느 제 2 관련 문구(gl)가 문서(d)에 존 재하는지를 식별하는 연관된 관련 문구 비트 벡터를 가진다. 더 많은 관련 문구와 제 2 관련 문구가 주어진 문서 내에 존재하면 할수록, 더 많은 비트가 주어진 문구에 대하여 문서의 관련 문구 비트 벡터에 세트될 것이다. 더 많은 비트가 세트되면 될수록, 관련 문구 비트 벡터의 수치값은 더 커질 것이다.
따라서, 일 실시예에서, 서치 시스템(120)은 그들의 관련 문구 비트 벡터의 값에 따라서 서치 결과 내에 문서를 분류할 것이다. 쿼리 문구(Q)에 가장 관련된 문구를 포함하는 문서는 가장 높은 값의 관련 문구 비트 벡터를 가질 것이고, 이들 문서는 서치 결과에서 가장 높은 랭킹 문서일 것이다.
이러한 접근은 의미론적으로 이들 문서가 쿼리 문구에 가장 화제적으로 관련되기 때문에 바람직하다. 관련 문구 정보가 관련 문구를 식별하고 이들 문서를 랭킹하는 양방에 이용되기 때문에, 이러한 접근은 문서가 입력 쿼리 용어(q)의 높은 빈도를 포함하지 않아도 높게 관련된 문서를 제공한다는 것에 주의한다. 낮은 빈도의 입력 쿼리 용어를 갖는 문서는 쿼리 용어 및 문구에 대해 여전히 많은 수의 관련 문구를 가지므로, 높은 빈도의 쿼리 용어 및 문구만을 가지지만 관련 문구를 갖지 않은 문서보다도 더 관련될 수 있다.
제 2 실시예에서, 서치 시스템(120)은 문서가 포함하는 쿼리 문구의 임의의 관련된 문구에 따라서, 결과 세트 내에서 각각의 문서를 스코어링한다. 이것은 다음과 같이 행해진다.
각각의 쿼리 문구(Q)가 주어지면, 문구 식별 프로세스 동안에 식별된 바와 같이, 쿼리 문구에 관련 문구(Qr)의 어떤 개수(N)일 것이다. 상술한 바와 같이, 관련 문구(Qr)는 쿼리 문구(Q)로부터 그들의 정보 이득에 따라서 배열된다. 이들 관련 문구는 포인트가 할당되고, 제 1 관련 문구(Qr1)(즉, Q로부터 가장 높은 정보 이득을 가진 관련 문구(Qr))에 대하여 N 포인트로, 다음 관련 문구(Qr2)에 대하여 N-1 포인트, 다음 Qr3에 대해서 N-2 포인트 등으로 시작하여, 마지막 관련 문구 QrN에는 1 포인트가 할당된다.
그 후, 서치 결과 내의 각 문서는 쿼리 문구 Q의 어느 관련 문구(Qr)가 존재하는지를 결정하여서 스코어링되고, 문서에 각각 그 관련 문구(Qr)에 할당된 포인트를 준다. 그 후, 문서는 가장 높은 것으로부터 가장 낮은 스코어로 분류된다.
더 세밀하게는, 서치 시스템(120)은 결과 세트로부터 특정 문서를 추려낼 수 있다. 어떤 경우에 문서는 많은 수의 서로 다른 토픽에 대한 것일 수 있고, 이것은 특히 더 긴 문서에 대한 경우이다. 많은 경우에, 유저는 많은 수의 서로 다른 토픽에 관련된 문서보다 쿼리 내에 표현된 단일 토픽에 대하여 강하게 포인트되는 문서를 선호한다.
이들 후자 타입의 문서를 추려내기 위해서, 서치 시스템(120)은 쿼리 문구의 클러스터 비트 벡터에 클러스터 정보를 이용하여, 문서내의 클러스터의 임계수보다 많은 임의의 문서를 제거한다. 예를 들면, 서치 시스템(120)은 2개의 클러스터 보다 많이 포함하는 임의의 문서를 제거할 수 있다. 이 클러스터 임계치는 미리 정해지거나, 서치 파라미터로서 사용자에 의해 설정될 수 있다.
b) 앵커 문구에 기초한 문서 랭킹
쿼리 문구(Q)의 보디 히트에 기초해서 서치 결과 내의 문서를 랭킹하는 것 이외에, 일 실시예에서, 서치 시스템(120)은 다른 문서로의 앵커 내에 쿼리 문구(Q) 및 관련 쿼리 문구(Qr)의 출현에 기초하여 문서를 역시 랭킹할 수 있다. 일 실시예에서, 서치 시스템(120)은 2개의 스코어, 즉 보디 히트 스코어 및 앵커 히트 스코어의 함수(예를 들면, 선형 조합)인 각 문서의 스코어를 연산한다.
예를 들면, 주어진 문서에 대한 문서 스코어는 다음과 같이 연산될 수 있다.
스코어 = .30 * (보디 히트 스코어)+ .70 * (앵커 히트 스코어).
.30과 .70의 웨이트는 원하는 대로 조정될 수 있다. 문서에 대한 보디 히트 스코어는 상술한 방법으로 쿼리 문구(Qp)가 부여된 경우, 문서에 대해 가장 높은 값의 관련 문구 비트 벡터의 수치이다. 택일적으로, 이 값은 인덱스(150)에서 각 쿼리 문구(Q)를 찾아내서 쿼리 문구(Q)의 포스팅 리스트로부터 문서를 액세스한 다음 관련 문구 비트 벡터를 액세스하여서, 서치 시스템(120)에 의해서 직접 얻어질 수 있다.
문서 d의 앵커 히트 스코어는 쿼리 문구 Q의 관련 문구 비트 벡터의 함수이며, 여기서 Q는 문서 d를 참조하는 문서 내의 앵커 용어이다. 인덱싱 시스템(110)은 문서 컬렉션 내의 문서를 인덱싱할 때, 각 문구에 대하여 문구가 아웃링크의 앵커 텍스트인 문서의 리스트와 또한 각 문서에 대하여 다른 문서로부터 인링크의 리스트(및 연관된 앵커 텍스트)를 유지한다. 문서에 대한 인링크는 다른 문서(참조할 문서)로부터 주어진 문서로의 참조(예를 들면, 하이퍼링크)이다.
그 후, 주어진 문서 d에 대한 앵커 히트 스코어를 결정하기 위해서, 서치 시스템(120)은 그들의 앵커 문구(Q)에 의해서 인덱스에 리스트된 참조할 문서의 세트 R(i=1에서 참조할 문서의 수까지)에 걸쳐서 반복하고 다음 곱을 합산한다.
Ri.Q.관련 문구 비트 벡터*D.Q.관련 문구 비트 벡터
여기서 곱의 값은 화제상의 앵커 문구 Q가 문서 D에 얼마나 있는지의 스코어이다. 여기서 이 스코어는 "인바운드 스코어 성분"으로 부른다. 이 곱은 참조 문서 R 내의 앵커 문구의 관련 비트 벡터에 의해서 현재 문서 D의 관련 비트 벡터를 효과적으로 부과한다. 만약, 참조 문서 R 자체가 쿼리 문구 Q에 관련되면(따라서, 보다 높게 평가된 관련 문구 비트 벡터), 이것은 현재 문서 D의 스코어의 중요성을 증가시킨다. 보디 히트 스코어 및 앵커 히트 스코어는 조합되어 상술한 바와 같이 문서 스코어를 생성한다.
이어서, 각각의 참조 문서 R에 대하여, 각각의 앵커 문구에 대한 관련 문구 비트 벡터가 얻어진다. 이것은 앵커 문구 Q가 문서 R에 얼마나 화제가 되는지를 측정이다. 여기서, 이 값은 아웃바운드 스코어 성분이라 부른다.
그 후, 인덱스(150)로부터, 모든 쌍(참조할 문서, 참조된 문서)은 앵커 문구 Q에 대하여 추출된다. 그 후, 이들 쌍은 그들의 연관(아웃바운드 스코어 성분, 인바운드 스코어 성분) 값에 의해서 분류된다. 이러한 수행에 따라서, 이들 성분 중 어느 하나는 제 1의 소트 키일 수 있고, 다른 것은 제 2 소트 키일 수 있다. 그 후 이 분류된 결과는 유저에게 제공된다. 문서를 아웃바운드 스코어 성분으로 분류하는 것은 앵커 히트로서 쿼리에 대하여 많은 관련 문구를 갖는 문서를 가장 높게 랭킹하게 하여, 이들 문서를 "expert" 문서로 나타낸다. 인바운드 문서 스코어 로 분류하는 것은, 앵커 용어에 의해 빈번하게 참조되는 문서를 가장 높게 랭킹하게 한다.
c) 데이터 범위 연관에 기초한 문서의 랭킹
서치 시스템(120)은 서치 및 랭킹 동작 동안에, 몇가지 방법으로 일자 범위 정보를 이용할 수 있다. 우선, 서치 시스템(120)은 일자 범위를 명확한 서치 디리미터(delimiter)로서 사용할 수 있다. 예를 들면, "United States Patent and Trademark Office 12/04/04" 등의 용어 또는 문구 및 일자를 포함할 수 있다. 서치 시스템(120)은 일자 용어를 식별할 수 있고, 그 후 원하는 문구를 가지며 쿼리 내에 일자 용어를 포함하는 일자 범위에 대하여 인덱싱된 문서를 선택한다. 선택된 문서로부터, 서치 시스템(120)은 일자 범위와 관련된 인덱싱된 연관 일자를 이용하여서 각 문서에 대한 연관 스코어를 얻을 수 있다. 이 방식에서, 문서의 오랜 또는 이전의 인스턴스는 서치 쿼리에 더 관련되는 현재 인스턴스를 대신하여 검색될 수 있다. 이것은 뉴스 사이트의 홈페이지 및 빈번하게 바뀌는 정보를 포함한 다른 사이트 등의, 빈번하게 변하는 문서 및 페이지에 특히 유용한다.
둘째로, 일자 용어가 서치 쿼리 내에 포함되지 않는 경우, 서치 시스템(120)은 그들이 얼마나 오래되었는지에 따라 데이터 연관 스코어를 부과하여서, 오랜 문서에는 그들의 연관 스코어가 낮게 부과됨(또는 새로운 문서에는 높게 부여됨)으로써 연관 랭킹 동안에 인덱스 내에 데이터 정보를 이용할 수 있다. 택일적으로, 어떤 경우에는, 문서의 가장 최신 버전보다도 토픽에 가장 연관된 오랜 버전의 순서가 있다. 예를 들면, 히스토리 이벤트 시기에 동시에 생성된 새로운 포털 사이트 는 그 이벤트에 관한 특정 쿼리, 새로운 포털의 현재 인스턴스에 더 연관될 수 있다. 이 경우에, 예를 들면, 문서의 모든 인스턴스에 대하여 문서 연관 스코어의 패턴이 어떤 히스토리 일자 부근에서 증가를 나타내는 경우 서치 시스템(120)은 오랜 문서 인스턴스의 가중치를 상승시킨 다음, 문서의 더 최근의 인스턴스에 대하여 연관 스코어를 감소시킨다.
하나 이상의 일자 용어가 서치 쿼리에 포함되는 경우, 상술한 바와 같이, 문서는 일자 용어와 문서 일자 범위 사이의 차이에 비례하여 그들의 연관 스코어를 낮게 부여하여, (시작 또는 마감 날짜 중 어느 하나에서 측정된 )일자 범위보다 휠씬 오래되거나 원하는 일자 용어보다도 훨씬 새로운 문서는 연관 스코어가 낮게 부과된다. 역으로, 연관 스코어는 문서에 대한 일자 범위가 원하는 날짜에 더 가까와지는 경우 가중치가 낮게 부여되는 대신 증가될 수 있다.
셋째로, 서치 시스템(120)은 서치 결과를 배열하기 위한 제 1 또는 제 2 인자의 어느 하나로서 일자 범위 정보를 사용할 수 있다. 예를 들면, 문서는 역 연대 순서로 그룹화(예를 들면, 월간 그룹)될 수 있고, 각 그룹 내에, 문서는 서치 쿼리에 대해 최대부터 최소로 관련된 것까지 리스트될 수 있다.
데이터 범위 정보의 다른 이용은 그들이 갱신되는 빈도에 기초하여 문서를 랭킹하는 것이다. 서치 시스템(120)은 시간 간격(이 카운트는 인덱싱 동안 유지될 수 있음)에 걸쳐서 주어진 문서의 인스턴스 수(예를 들면, 개별 일자 범위의 수)를 결정할 수 있다. 그 후, 인스턴스의 수는 더 빈번히 갱신되는 그 문서들의 가중치를 상승시키데 이용된다.

Claims (12)

  1. 문구에 관하여 문서 식별자로서의 각 문서를 인덱싱하는 컴퓨터 구현 방법으로서,
    상기 문구를 포함하는 문서의 리스트를 생성하는 단계와,
    연관 스코어에 의해서 상기 리스트에서의 상기 문서를 랭킹하는 단계와,
    더 높게 랭크된 문서를 포함하는 상기 리스트의 제 1 부분을 상기 연관 스코어의 랭크 순서로 제 1 인덱스에 저장하는 단계와,
    더 낮게 랭크된 문서를 포함하는 상기 리스트의 제 2 부분을 상기 문서 식별자의 수치 순서로 제 2 인덱스에 저장하는 단계를 포함하는 컴퓨터 구현 방법.
  2. 제 1 항에 있어서,
    상기 연관 스코어는 페이지 랭크 기반형 스코어를 포함하는 컴퓨터 구현 방법.
  3. 제 1 항에 있어서,
    상기 제 1 인덱스의 각 문서에 대하여, 상기 문서의 연관 속성을 저장하는 단계를 더 포함하는 컴퓨터 구현 방법.
  4. 제 3 항에 있어서,
    상기 연관 속성은 문서에서 상기 문구의 전체 출현 수, 상기 문구를 포함하면서 상기 문서를 지시하는 앵커 문서의 랭크 순서의 리스트, 상기 문서에서 각 문구의 출현 위치, 및 상기 출현의 포맷 또는 상기 출현을 포함하는 상기 문서의 일부를 지시하는 하나 이상의 플래그 세트 중 적어도 하나를 포함하는 컴퓨터 구현 방법.
  5. 제 3 항에 있어서,
    상기 리스트의 제 2 부분을 제 2 인덱스에 저장하는 단계는 실질적으로 문서 식별 정보만을 저장하는 단계를 포함하는 컴퓨터 구현 방법.
  6. 제 1 항에 있어서,
    상기 리스트의 제 1 부분을 제 1 인덱스에 저장하는 단계는 상기 리스트의 상기 제 1 부분을 상기 연관 스코어의 랭크 순서로 물리적 저장 장치에 저장하는 단계를 포함하는 컴퓨터 구현 방법.
  7. 제 1 항에 있어서,
    상기 리스트의 제 2 부분을 제 2 인덱스에 저장하는 단계는 상기 리스트의 상기 제 2 부분을 상기 문서 식별자의 수치 순서로 물리적 저장 장치에 저장하는 단계를 포함하는 컴퓨터 구현 방법.
  8. 제 1 항에 있어서,
    문서의 각 리스트의 상기 제 1 부분은 제 1 섹션 및 제 2 섹션을 포함하고, 상기 제 1 섹션에 리스트된 각 문서는 제 1의 복수의 연관 속성을 포함하고, 상기 제 2 섹션에 리스트된 각 문서는 연관 속성의 상기 제 1 세트의 서브 세트인 제 2의 복수의 연관 속성을 포함하고, 상기 제 1 섹션에 리스트된 상기 문서는 상기 제 2 섹션에 리스트된 상기 문서보다 더 높게 랭크되는 컴퓨터 구현 방법.
  9. 제 8 항에 있어서,
    문서의 각 리스트의 상기 제 1 부분은 제 3 섹션을 포함하고, 상기 제 3 섹션에 리스트된 각 문서는 상기 제 2의 복수의 연관 속성의 서브 세트인 제 3의 복수의 연관 속성을 포함하고, 상기 제 2 섹션에 리스트된 상기 문서는 상기 제 3 섹션에 리스트된 상기 문서보다 더 높게 랭크되는 컴퓨터 구현 방법.
  10. 제 8 항에 있어서,
    각 리스트의 상기 제 1 부분은 n 개의 엔트리를 포함하고, 상기 리스트의 상기 제 2 부분은 m>2인 m*n 개의 엔트리를 포함하고, 상기 리스트의 상기 제 3 부분은 l>4인 l*n 엔트리를 포함하는 컴퓨터 구현 방법.
  11. 제 1 문구 포스팅 리스트 - 각각의 포스팅 리스트는 문구와 관련되고 상기 문구를 포함하는 최대수의 문서까지 포함하며, 상기 문서 랭크는 각각의 연관 스코 어에 의해서 배열됨 - 를 포함하는 제 1 인덱스를 저장하는 단계와,
    제 2 문구 포스팅 리스트 - 각각의 포스팅 리스트는 상기 제 1 인덱스의 제 1 문구 포스팅 리스트와 연관되고, 상기 문구를 포함하고 상기 문구에 대하여 상기 제 1 포스팅 리스트에서 가장 낮게 랭크된 문서의 연관 스코어보다 더 적은 연관 스코어를 갖는 문서를 포함하며, 상기 문서는 문서 식별자에 의해서 배열됨 - 를 포함하는 제 2 인덱스를 저장하는 단계와,
    적어도 하나의 문구를 포함하는 서치 쿼리를 수신하는 단계와;
    제 1 포스팅 리스트 및 제 2 포스팅 리스트를 가지는 제 1 문구와 단지 제 1 포스팅 리스트만을 가지는 제 2 문구를 포함하는 상기 서치 쿼리에 대응하여, 제 1 세트의 일반 문서를 얻도록 상기 제 1 문구의 상기 제 1 포스팅 리스트를 상기 제 2 문구의 상기 제 2 포스팅 리스트와 교차하고, 제 2 세트의 일반 문서를 얻도록 상기 제 1 문구의 상기 제 2 포스팅 리스트를 상기 제 2 문구의 상기 제 1 포스팅 리스트와 교차하여, 상기 제 1 및 제 2 세트의 일반 문서를 조합하는 단계와,
    상기 일반 문서를 랭킹하는 단계를 포함하는 정보 검색 시스템을 제공하는 방법.
  12. 제 1 문구 포스팅 리스트 - 각각의 포스팅 리스트는 문구와 연관되고 상기 문구를 포함하는 최대 수의 문서까지 포함하며, 상기 문서의 랭크는 각각의 연관 스코어에 의해서 배열됨 - 를 포함하는 제 1 인덱스와,
    제 2 문구 포스팅 리스트 - 각각의 포스팅 리스트는 상기 제 1 인덱스의 제 1 문구 포스팅 리스트와 연관되고, 상기 문구를 포함하고 상기 문구에 대한 상기 제 1 포스팅 리스트에서 가장 낮게 랭크된 문서의 상기 연관 스코어보다 더 적은 연관 스코어를 가지는 문서를 포함하며, 상기 문서는 문서 식별자에 의해서 배열됨 - 를 포함하는 제 2 인덱스를 구비하는 정보 검색 시스템.
KR1020077018720A 2005-01-25 2006-01-25 복수 인덱스 기반의 정보 검색 시스템 KR101273520B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/043,695 US7567959B2 (en) 2004-07-26 2005-01-25 Multiple index based information retrieval system
US11/043,695 2005-01-25

Publications (2)

Publication Number Publication Date
KR20070094972A true KR20070094972A (ko) 2007-09-27
KR101273520B1 KR101273520B1 (ko) 2013-06-14

Family

ID=36741037

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020077018720A KR101273520B1 (ko) 2005-01-25 2006-01-25 복수 인덱스 기반의 정보 검색 시스템

Country Status (11)

Country Link
US (5) US7567959B2 (ko)
EP (1) EP1844391B1 (ko)
JP (1) JP4881322B2 (ko)
KR (1) KR101273520B1 (ko)
CN (1) CN101133388B (ko)
AU (2) AU2006208079B2 (ko)
BR (1) BRPI0614024B1 (ko)
CA (1) CA2595674C (ko)
DK (1) DK1844391T3 (ko)
NO (1) NO338518B1 (ko)
WO (1) WO2006081325A2 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20150096848A (ko) * 2014-02-17 2015-08-26 포항공과대학교 산학협력단 인덱스를 이용하는 데이터 검색 장치 및 이를 이용하는 방법

Families Citing this family (141)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7266553B1 (en) * 2002-07-01 2007-09-04 Microsoft Corporation Content data indexing
US7567959B2 (en) 2004-07-26 2009-07-28 Google Inc. Multiple index based information retrieval system
US7584175B2 (en) 2004-07-26 2009-09-01 Google Inc. Phrase-based generation of document descriptions
US7580929B2 (en) * 2004-07-26 2009-08-25 Google Inc. Phrase-based personalization of searches in an information retrieval system
US7702618B1 (en) 2004-07-26 2010-04-20 Google Inc. Information retrieval system for archiving multiple document versions
US7536408B2 (en) 2004-07-26 2009-05-19 Google Inc. Phrase-based indexing in an information retrieval system
US7599914B2 (en) * 2004-07-26 2009-10-06 Google Inc. Phrase-based searching in an information retrieval system
US7711679B2 (en) 2004-07-26 2010-05-04 Google Inc. Phrase-based detection of duplicate documents in an information retrieval system
US7580921B2 (en) * 2004-07-26 2009-08-25 Google Inc. Phrase identification in an information retrieval system
US7199571B2 (en) * 2004-07-27 2007-04-03 Optisense Network, Inc. Probe apparatus for use in a separable connector, and systems including same
US20060036598A1 (en) * 2004-08-09 2006-02-16 Jie Wu Computerized method for ranking linked information items in distributed sources
US7539661B2 (en) * 2005-06-02 2009-05-26 Delphi Technologies, Inc. Table look-up method with adaptive hashing
US7451135B2 (en) * 2005-06-13 2008-11-11 Inform Technologies, Llc System and method for retrieving and displaying information relating to electronic documents available from an informational network
US20070150721A1 (en) * 2005-06-13 2007-06-28 Inform Technologies, Llc Disambiguation for Preprocessing Content to Determine Relationships
JP4756953B2 (ja) * 2005-08-26 2011-08-24 富士通株式会社 情報検索装置および情報検索方法
US20070078889A1 (en) * 2005-10-04 2007-04-05 Hoskinson Ronald A Method and system for automated knowledge extraction and organization
US7676463B2 (en) * 2005-11-15 2010-03-09 Kroll Ontrack, Inc. Information exploration systems and method
US8126874B2 (en) * 2006-05-09 2012-02-28 Google Inc. Systems and methods for generating statistics from search engine query logs
JP4322887B2 (ja) * 2006-06-01 2009-09-02 株式会社東芝 スレッド順位付け装置及び方法
US9015197B2 (en) 2006-08-07 2015-04-21 Oracle International Corporation Dynamic repartitioning for changing a number of nodes or partitions in a distributed search system
US20080033943A1 (en) * 2006-08-07 2008-02-07 Bea Systems, Inc. Distributed index search
US20080071732A1 (en) * 2006-09-18 2008-03-20 Konstantin Koll Master/slave index in computer systems
US20080082554A1 (en) * 2006-10-03 2008-04-03 Paul Pedersen Systems and methods for providing a dynamic document index
US8301603B2 (en) * 2006-10-06 2012-10-30 Nec Corporation Information document search system, method and program for partitioned indexes on a time series in association with a backup document storage
US7966321B2 (en) * 2007-01-17 2011-06-21 Google Inc. Presentation of local results
US7966309B2 (en) 2007-01-17 2011-06-21 Google Inc. Providing relevance-ordered categories of information
US8005822B2 (en) 2007-01-17 2011-08-23 Google Inc. Location in search queries
US8326858B2 (en) * 2007-01-17 2012-12-04 Google Inc. Synchronization of fixed and mobile data
US8966407B2 (en) 2007-01-17 2015-02-24 Google Inc. Expandable homepage modules
US8280877B2 (en) * 2007-02-22 2012-10-02 Microsoft Corporation Diverse topic phrase extraction
US8166045B1 (en) 2007-03-30 2012-04-24 Google Inc. Phrase extraction using subphrase scoring
US7702614B1 (en) 2007-03-30 2010-04-20 Google Inc. Index updating using segment swapping
US7693813B1 (en) 2007-03-30 2010-04-06 Google Inc. Index server architecture using tiered and sharded phrase posting lists
US8086594B1 (en) 2007-03-30 2011-12-27 Google Inc. Bifurcated document relevance scoring
US8166021B1 (en) 2007-03-30 2012-04-24 Google Inc. Query phrasification
US7925655B1 (en) 2007-03-30 2011-04-12 Google Inc. Query scheduling using hierarchical tiers of index servers
US8583419B2 (en) * 2007-04-02 2013-11-12 Syed Yasin Latent metonymical analysis and indexing (LMAI)
US7809610B2 (en) * 2007-04-09 2010-10-05 Platformation, Inc. Methods and apparatus for freshness and completeness of information
US7809714B1 (en) 2007-04-30 2010-10-05 Lawrence Richard Smith Process for enhancing queries for information retrieval
US7814107B1 (en) 2007-05-25 2010-10-12 Amazon Technologies, Inc. Generating similarity scores for matching non-identical data strings
US7908279B1 (en) 2007-05-25 2011-03-15 Amazon Technologies, Inc. Filtering invalid tokens from a document using high IDF token filtering
US8046372B1 (en) 2007-05-25 2011-10-25 Amazon Technologies, Inc. Duplicate entry detection system and method
US7917516B2 (en) * 2007-06-08 2011-03-29 Apple Inc. Updating an inverted index
EP2031508A1 (en) * 2007-08-31 2009-03-04 Ricoh Europe PLC Network printing apparatus and method
US8117223B2 (en) * 2007-09-07 2012-02-14 Google Inc. Integrating external related phrase information into a phrase-based indexing information retrieval system
US8671104B2 (en) * 2007-10-12 2014-03-11 Palo Alto Research Center Incorporated System and method for providing orientation into digital information
US8165985B2 (en) 2007-10-12 2012-04-24 Palo Alto Research Center Incorporated System and method for performing discovery of digital information in a subject area
US8073682B2 (en) * 2007-10-12 2011-12-06 Palo Alto Research Center Incorporated System and method for prospecting digital information
US20090112843A1 (en) * 2007-10-29 2009-04-30 International Business Machines Corporation System and method for providing differentiated service levels for search index
US7895225B1 (en) * 2007-12-06 2011-02-22 Amazon Technologies, Inc. Identifying potential duplicates of a document in a document corpus
US8799264B2 (en) * 2007-12-14 2014-08-05 Microsoft Corporation Method for improving search engine efficiency
WO2009111631A1 (en) * 2008-03-05 2009-09-11 Chacha Search, Inc. Method and system for triggering a search request
GB2471432A (en) * 2008-04-03 2010-12-29 Icurrent Inc Information display system based on user profile data with assisted and explicit profile modification
CN101359331B (zh) * 2008-05-04 2014-03-19 索意互动(北京)信息技术有限公司 对搜索结果重新排序的方法和系统
US20090287684A1 (en) * 2008-05-14 2009-11-19 Bennett James D Historical internet
US8161036B2 (en) * 2008-06-27 2012-04-17 Microsoft Corporation Index optimization for ranking using a linear model
US8171031B2 (en) 2008-06-27 2012-05-01 Microsoft Corporation Index optimization for ranking using a linear model
US8788476B2 (en) * 2008-08-15 2014-07-22 Chacha Search, Inc. Method and system of triggering a search request
US20100057577A1 (en) * 2008-08-28 2010-03-04 Palo Alto Research Center Incorporated System And Method For Providing Topic-Guided Broadening Of Advertising Targets In Social Indexing
US8209616B2 (en) * 2008-08-28 2012-06-26 Palo Alto Research Center Incorporated System and method for interfacing a web browser widget with social indexing
US8010545B2 (en) * 2008-08-28 2011-08-30 Palo Alto Research Center Incorporated System and method for providing a topic-directed search
US20100057536A1 (en) * 2008-08-28 2010-03-04 Palo Alto Research Center Incorporated System And Method For Providing Community-Based Advertising Term Disambiguation
JP5384884B2 (ja) * 2008-09-03 2014-01-08 日本電信電話株式会社 情報検索装置および情報検索プログラム
US8156130B2 (en) 2008-10-17 2012-04-10 Embarq Holdings Company Llc System and method for collapsing search results
US8874564B2 (en) * 2008-10-17 2014-10-28 Centurylink Intellectual Property Llc System and method for communicating search results to one or more other parties
US8326829B2 (en) * 2008-10-17 2012-12-04 Centurylink Intellectual Property Llc System and method for displaying publication dates for search results
US8549016B2 (en) * 2008-11-14 2013-10-01 Palo Alto Research Center Incorporated System and method for providing robust topic identification in social indexes
US8239397B2 (en) * 2009-01-27 2012-08-07 Palo Alto Research Center Incorporated System and method for managing user attention by detecting hot and cold topics in social indexes
US8356044B2 (en) * 2009-01-27 2013-01-15 Palo Alto Research Center Incorporated System and method for providing default hierarchical training for social indexing
US8452781B2 (en) * 2009-01-27 2013-05-28 Palo Alto Research Center Incorporated System and method for using banded topic relevance and time for article prioritization
US9245033B2 (en) 2009-04-02 2016-01-26 Graham Holdings Company Channel sharing
US10089391B2 (en) * 2009-07-29 2018-10-02 Herbminers Informatics Limited Ontological information retrieval system
GB2472250A (en) * 2009-07-31 2011-02-02 Stephen Timothy Morris Method for determining document relevance
US20110040762A1 (en) * 2009-08-12 2011-02-17 Globalspec, Inc. Segmenting postings list reader
US20110078131A1 (en) * 2009-09-30 2011-03-31 Microsoft Corporation Experimental web search system
US8838576B2 (en) * 2009-10-12 2014-09-16 Yahoo! Inc. Posting list intersection parallelism in query processing
US8756215B2 (en) * 2009-12-02 2014-06-17 International Business Machines Corporation Indexing documents
US20110258212A1 (en) * 2010-04-14 2011-10-20 Microsoft Corporation Automatic query suggestion generation using sub-queries
US9031944B2 (en) 2010-04-30 2015-05-12 Palo Alto Research Center Incorporated System and method for providing multi-core and multi-level topical organization in social indexes
US10216831B2 (en) * 2010-05-19 2019-02-26 Excalibur Ip, Llc Search results summarized with tokens
US8352474B2 (en) * 2010-06-16 2013-01-08 Fuji Xerox Co., Ltd. System and method for retrieving information using a query based index
US20120047172A1 (en) * 2010-08-23 2012-02-23 Google Inc. Parallel document mining
US8655648B2 (en) * 2010-09-01 2014-02-18 Microsoft Corporation Identifying topically-related phrases in a browsing sequence
US8738673B2 (en) 2010-09-03 2014-05-27 International Business Machines Corporation Index partition maintenance over monotonically addressed document sequences
JP5492814B2 (ja) * 2011-03-28 2014-05-14 デジタルア−ツ株式会社 検索装置、検索システム、方法およびプログラム
US20120311080A1 (en) * 2011-06-03 2012-12-06 Thomas Alsina Management of Downloads from a Network-Based Digital Data Repository
US9201895B2 (en) 2011-06-03 2015-12-01 Apple Inc. Management of downloads from a network-based digital data repository based on network performance
US8595238B2 (en) 2011-06-22 2013-11-26 International Business Machines Corporation Smart index creation and reconciliation in an interconnected network of systems
US9152697B2 (en) * 2011-07-13 2015-10-06 International Business Machines Corporation Real-time search of vertically partitioned, inverted indexes
US20130024459A1 (en) * 2011-07-20 2013-01-24 Microsoft Corporation Combining Full-Text Search and Queryable Fields in the Same Data Structure
US8818971B1 (en) 2012-01-30 2014-08-26 Google Inc. Processing bulk deletions in distributed databases
US9892198B2 (en) * 2012-06-07 2018-02-13 Oath Inc. Page personalization performed by an edge server
US8892422B1 (en) 2012-07-09 2014-11-18 Google Inc. Phrase identification in a sequence of words
US20140046976A1 (en) * 2012-08-11 2014-02-13 Guangsheng Zhang Systems, methods, and user interface for effectively presenting information
GB2505183A (en) * 2012-08-21 2014-02-26 Ibm Discovering composite keys
US10198776B2 (en) 2012-09-21 2019-02-05 Graham Holdings Company System and method for delivering an open profile personalization system through social media based on profile data structures that contain interest nodes or channels
US9721000B2 (en) * 2012-12-20 2017-08-01 Microsoft Technology Licensing, Llc Generating and using a customized index
US20140195961A1 (en) * 2013-01-07 2014-07-10 Apple Inc. Dynamic Index
US10387429B2 (en) * 2013-02-08 2019-08-20 Jive Software, Inc. Fast ad-hoc filtering of time series analytics
US9501506B1 (en) 2013-03-15 2016-11-22 Google Inc. Indexing system
US9256644B1 (en) * 2013-03-15 2016-02-09 Ca, Inc. System for identifying and investigating shared and derived content
US9575958B1 (en) * 2013-05-02 2017-02-21 Athena Ann Smyros Differentiation testing
US9483568B1 (en) 2013-06-05 2016-11-01 Google Inc. Indexing system
US9146980B1 (en) 2013-06-24 2015-09-29 Google Inc. Temporal content selection
US20150019565A1 (en) * 2013-07-11 2015-01-15 Outside Intelligence Inc. Method And System For Scoring Credibility Of Information Sources
US9489411B2 (en) * 2013-07-29 2016-11-08 Sybase, Inc. High performance index creation
US9424345B1 (en) 2013-09-25 2016-08-23 Google Inc. Contextual content distribution
US9336258B2 (en) 2013-10-25 2016-05-10 International Business Machines Corporation Reducing database locking contention using multi-version data record concurrency control
US9450771B2 (en) * 2013-11-20 2016-09-20 Blab, Inc. Determining information inter-relationships from distributed group discussions
CN103810300B (zh) * 2014-03-10 2017-08-01 北京国双科技有限公司 用于非索引覆盖的数据查询方法和装置
US9817855B2 (en) * 2014-03-17 2017-11-14 SynerScope B.V. Method and system for determining a measure of overlap between data entries
US10162882B2 (en) 2014-07-14 2018-12-25 Nternational Business Machines Corporation Automatically linking text to concepts in a knowledge base
US10437869B2 (en) * 2014-07-14 2019-10-08 International Business Machines Corporation Automatic new concept definition
US10503761B2 (en) 2014-07-14 2019-12-10 International Business Machines Corporation System for searching, recommending, and exploring documents through conceptual associations
US9864741B2 (en) * 2014-09-23 2018-01-09 Prysm, Inc. Automated collective term and phrase index
US9785724B2 (en) 2014-10-30 2017-10-10 Microsoft Technology Licensing, Llc Secondary queue for index process
US10042928B1 (en) 2014-12-03 2018-08-07 The Government Of The United States As Represented By The Director, National Security Agency System and method for automated reasoning with and searching of documents
US10025783B2 (en) * 2015-01-30 2018-07-17 Microsoft Technology Licensing, Llc Identifying similar documents using graphs
CN104715063B (zh) * 2015-03-31 2018-11-02 百度在线网络技术(北京)有限公司 搜索排序方法和装置
US11281639B2 (en) 2015-06-23 2022-03-22 Microsoft Technology Licensing, Llc Match fix-up to remove matching documents
US10242071B2 (en) 2015-06-23 2019-03-26 Microsoft Technology Licensing, Llc Preliminary ranker for scoring matching documents
US10467215B2 (en) 2015-06-23 2019-11-05 Microsoft Technology Licensing, Llc Matching documents using a bit vector search index
US11392568B2 (en) 2015-06-23 2022-07-19 Microsoft Technology Licensing, Llc Reducing matching documents for a search query
US10565198B2 (en) 2015-06-23 2020-02-18 Microsoft Technology Licensing, Llc Bit vector search index using shards
US10733164B2 (en) 2015-06-23 2020-08-04 Microsoft Technology Licensing, Llc Updating a bit vector search index
US10229143B2 (en) * 2015-06-23 2019-03-12 Microsoft Technology Licensing, Llc Storage and retrieval of data from a bit vector search index
US11392582B2 (en) * 2015-10-15 2022-07-19 Sumo Logic, Inc. Automatic partitioning
CN107015992A (zh) * 2016-01-28 2017-08-04 珠海金山办公软件有限公司 一种文档显示方法及装置
US10885009B1 (en) * 2016-06-14 2021-01-05 Amazon Technologies, Inc. Generating aggregate views for data indices
US10810236B1 (en) * 2016-10-21 2020-10-20 Twitter, Inc. Indexing data in information retrieval systems
US10169331B2 (en) * 2017-01-29 2019-01-01 International Business Machines Corporation Text mining for automatically determining semantic relatedness
CN107357846B (zh) * 2017-06-26 2018-12-14 北京金堤科技有限公司 关系图谱的展示方法以及装置
US11449484B2 (en) * 2018-06-25 2022-09-20 Ebay Inc. Data indexing and searching using permutation indexes
CN108897730B (zh) * 2018-06-29 2022-07-29 国信优易数据股份有限公司 一种pdf文本的处理方法以及装置
CN109376121B (zh) * 2018-08-10 2021-07-02 南京华讯方舟通信设备有限公司 一种基于ElasticSearch全文检索的文件索引系统及方法
CN109086456B (zh) * 2018-08-31 2020-11-03 中国联合网络通信集团有限公司 数据索引方法及装置
US10902069B2 (en) 2018-12-18 2021-01-26 Runtime Collective Limited Distributed indexing and aggregation
CN112084435A (zh) * 2020-08-07 2020-12-15 北京三快在线科技有限公司 搜索排序模型训练方法及装置、搜索排序方法及装置
US11442971B1 (en) * 2021-05-26 2022-09-13 Adobe Inc. Selective database re-indexing
US20230109804A1 (en) * 2021-10-08 2023-04-13 Open Text Holdings, Inc. System and method for efficient multi-stage querying of archived data
WO2023059909A2 (en) * 2021-10-08 2023-04-13 Open Text Holdings, Inc. System and method for efficient multi-stage querying of archived data

Family Cites Families (191)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS619753A (ja) * 1984-06-26 1986-01-17 Hitachi Ltd 文書処理装置における頻発熟語の自動登録方法
US4773039A (en) * 1985-11-19 1988-09-20 International Business Machines Corporation Information processing system for compaction and replacement of phrases
JPH02270067A (ja) 1987-04-16 1990-11-05 Westinghouse Electric Corp <We> インテリジェント問合せシステム
US5321833A (en) 1990-08-29 1994-06-14 Gte Laboratories Incorporated Adaptive ranking system for information retrieval
US5278980A (en) 1991-08-16 1994-01-11 Xerox Corporation Iterative technique for phrase query formation and an information retrieval system employing same
US5523946A (en) 1992-02-11 1996-06-04 Xerox Corporation Compact encoding of multi-lingual translation dictionaries
US5353401A (en) * 1992-11-06 1994-10-04 Ricoh Company, Ltd. Automatic interface layout generator for database systems
JPH0756933A (ja) * 1993-06-24 1995-03-03 Xerox Corp 文書検索方法
US5692176A (en) * 1993-11-22 1997-11-25 Reed Elsevier Inc. Associative text search and retrieval system
US5734749A (en) 1993-12-27 1998-03-31 Nec Corporation Character string input system for completing an input character string with an incomplete input indicative sign
JPH07262217A (ja) 1994-03-24 1995-10-13 Fuji Xerox Co Ltd テキスト検索装置
US5715443A (en) 1994-07-25 1998-02-03 Apple Computer, Inc. Method and apparatus for searching for information in a data processing system and for providing scheduled search reports in a summary format
JP3669016B2 (ja) 1994-09-30 2005-07-06 株式会社日立製作所 文書情報分類装置
US5694593A (en) 1994-10-05 1997-12-02 Northeastern University Distributed computer database system and method
US5758257A (en) * 1994-11-29 1998-05-26 Herz; Frederick System and method for scheduling broadcast of and access to video programs and other data using customer profiles
US6460036B1 (en) 1994-11-29 2002-10-01 Pinpoint Incorporated System and method for providing customized electronic newspapers and target advertisements
JP2929963B2 (ja) * 1995-03-15 1999-08-03 松下電器産業株式会社 文書検索装置および単語索引作成方法および文書検索方法
US5745602A (en) * 1995-05-01 1998-04-28 Xerox Corporation Automatic method of selecting multi-word key phrases from a document
US5659732A (en) 1995-05-17 1997-08-19 Infoseek Corporation Document retrieval over networks wherein ranking and relevance scores are computed at the client for multiple database documents
US5724571A (en) 1995-07-07 1998-03-03 Sun Microsystems, Inc. Method and apparatus for generating query responses in a computer-based document retrieval system
JPH0934911A (ja) 1995-07-18 1997-02-07 Fuji Xerox Co Ltd 情報検索装置
US5668987A (en) 1995-08-31 1997-09-16 Sybase, Inc. Database system with subquery optimizer
US6366933B1 (en) 1995-10-27 2002-04-02 At&T Corp. Method and apparatus for tracking and viewing changes on the web
US5757917A (en) 1995-11-01 1998-05-26 First Virtual Holdings Incorporated Computerized payment system for purchasing goods and services on the internet
US6098034A (en) 1996-03-18 2000-08-01 Expert Ease Development, Ltd. Method for standardizing phrasing in a document
US7051024B2 (en) 1999-04-08 2006-05-23 Microsoft Corporation Document summarizer for word processors
US5924108A (en) 1996-03-29 1999-07-13 Microsoft Corporation Document summarizer for word processors
US5794233A (en) 1996-04-09 1998-08-11 Rubinstein; Seymour I. Browse by prompted keyword phrases
US5721897A (en) 1996-04-09 1998-02-24 Rubinstein; Seymour I. Browse by prompted keyword phrases with an improved user interface
US5826261A (en) * 1996-05-10 1998-10-20 Spencer; Graham System and method for querying multiple, distributed databases by selective sharing of local relative significance information for terms related to the query
US5915249A (en) * 1996-06-14 1999-06-22 Excite, Inc. System and method for accelerated query evaluation of very large full-text databases
EP0822502A1 (en) * 1996-07-31 1998-02-04 BRITISH TELECOMMUNICATIONS public limited company Data access system
US5920854A (en) * 1996-08-14 1999-07-06 Infoseek Corporation Real-time document collection search engine with phrase indexing
US6085186A (en) 1996-09-20 2000-07-04 Netbot, Inc. Method and system using information written in a wrapper description language to execute query on a network
US20030093790A1 (en) 2000-03-28 2003-05-15 Logan James D. Audio and video program recording, editing and playback systems using metadata
JP3584848B2 (ja) 1996-10-31 2004-11-04 富士ゼロックス株式会社 文書処理装置、項目検索装置及び項目検索方法
JP3902825B2 (ja) * 1997-01-16 2007-04-11 キヤノン株式会社 文書検索システムおよび方法
US5960383A (en) 1997-02-25 1999-09-28 Digital Equipment Corporation Extraction of key sections from texts using automatic indexing techniques
US6539430B1 (en) * 1997-03-25 2003-03-25 Symantec Corporation System and method for filtering data received by a computer system
US6185550B1 (en) 1997-06-13 2001-02-06 Sun Microsystems, Inc. Method and apparatus for classifying documents within a class hierarchy creating term vector, term file and relevance ranking
US6470307B1 (en) 1997-06-23 2002-10-22 National Research Council Of Canada Method and apparatus for automatically identifying keywords within a document
US5995962A (en) * 1997-07-25 1999-11-30 Claritech Corporation Sort system for merging database entries
US5983216A (en) 1997-09-12 1999-11-09 Infoseek Corporation Performing automated document collection and selection by providing a meta-index with meta-index values indentifying corresponding document collections
US5845278A (en) 1997-09-12 1998-12-01 Inioseek Corporation Method for automatically selecting collections to search in full text searches
US6018733A (en) 1997-09-12 2000-01-25 Infoseek Corporation Methods for iteratively and interactively performing collection selection in full text searches
US5956722A (en) 1997-09-23 1999-09-21 At&T Corp. Method for effective indexing of partially dynamic documents
US6542888B2 (en) 1997-11-26 2003-04-01 International Business Machines Corporation Content filtering for electronic documents generated in multiple foreign languages
JP4183311B2 (ja) 1997-12-22 2008-11-19 株式会社リコー 文書の注釈方法、注釈装置および記録媒体
US6185558B1 (en) 1998-03-03 2001-02-06 Amazon.Com, Inc. Identifying the items most relevant to a current query based on items selected in connection with similar queries
JP3664874B2 (ja) * 1998-03-28 2005-06-29 松下電器産業株式会社 文書検索装置
JPH11293535A (ja) * 1998-04-10 1999-10-26 Mitsubishi Rayon Co Ltd 熱融着複合糸の製造方法
US6638314B1 (en) 1998-06-26 2003-10-28 Microsoft Corporation Method of web crawling utilizing crawl numbers
US6363377B1 (en) 1998-07-30 2002-03-26 Sarnoff Corporation Search data processor
US6377949B1 (en) 1998-09-18 2002-04-23 Tacit Knowledge Systems, Inc. Method and apparatus for assigning a confidence level to a term within a user knowledge profile
US6366911B1 (en) * 1998-09-28 2002-04-02 International Business Machines Corporation Partitioning of sorted lists (containing duplicate entries) for multiprocessors sort and merge
US6415283B1 (en) 1998-10-13 2002-07-02 Orack Corporation Methods and apparatus for determining focal points of clusters in a tree structure
US7058589B1 (en) 1998-12-17 2006-06-06 Iex Corporation Method and system for employee work scheduling
US6862710B1 (en) 1999-03-23 2005-03-01 Insightful Corporation Internet navigation using soft hyperlinks
JP4021583B2 (ja) * 1999-04-08 2007-12-12 富士通株式会社 情報検索装置、情報検索方法、及びその方法を実現するプログラムを記録した記録媒体
US6430539B1 (en) 1999-05-06 2002-08-06 Hnc Software Predictive modeling of consumer financial behavior
US6175830B1 (en) * 1999-05-20 2001-01-16 Evresearch, Ltd. Information management, retrieval and display system and associated method
US7089236B1 (en) 1999-06-24 2006-08-08 Search 123.Com, Inc. Search engine interface
US6601026B2 (en) 1999-09-17 2003-07-29 Discern Communications, Inc. Information retrieval by natural language querying
US6996775B1 (en) * 1999-10-29 2006-02-07 Verizon Laboratories Inc. Hypervideo: information retrieval using time-related multimedia:
US6751612B1 (en) 1999-11-29 2004-06-15 Xerox Corporation User query generate search results that rank set of servers where ranking is based on comparing content on each server with user query, frequency at which content on each server is altered using web crawler in a search engine
US6684183B1 (en) 1999-12-06 2004-01-27 Comverse Ltd. Generic natural language service creation environment
US6963867B2 (en) * 1999-12-08 2005-11-08 A9.Com, Inc. Search query processing to provide category-ranked presentation of search results
US6785671B1 (en) * 1999-12-08 2004-08-31 Amazon.Com, Inc. System and method for locating web-based product offerings
US6772150B1 (en) 1999-12-10 2004-08-03 Amazon.Com, Inc. Search query refinement using related search phrases
AU4517501A (en) 1999-12-10 2001-06-18 Amazon.Com, Inc. Search query refinement using related search phrases
CA2293064C (en) * 1999-12-22 2004-05-04 Ibm Canada Limited-Ibm Canada Limitee Method and apparatus for analyzing data retrieval using index scanning
US6981040B1 (en) 1999-12-28 2005-12-27 Utopy, Inc. Automatic, personalized online information and product services
US6820237B1 (en) 2000-01-21 2004-11-16 Amikanow! Corporation Apparatus and method for context-based highlighting of an electronic document
US6883135B1 (en) 2000-01-28 2005-04-19 Microsoft Corporation Proxy server using a statistical model
US6654739B1 (en) 2000-01-31 2003-11-25 International Business Machines Corporation Lightweight document clustering
US6571240B1 (en) 2000-02-02 2003-05-27 Chi Fai Ho Information processing for searching categorizing information in a document based on a categorization hierarchy and extracted phrases
JP2001303279A (ja) * 2000-02-17 2001-10-31 Toyo Gurahoiru:Kk 自己犠牲型金属防食剤および金属防食方法
US7137065B1 (en) 2000-02-24 2006-11-14 International Business Machines Corporation System and method for classifying electronically posted documents
US20060143714A1 (en) 2000-03-09 2006-06-29 Pkware, Inc. System and method for manipulating and managing computer archive files
US6859800B1 (en) 2000-04-26 2005-02-22 Global Information Research And Technologies Llc System for fulfilling an information need
CN1465018A (zh) 2000-05-11 2003-12-31 南加利福尼亚大学 机器翻译技术
US6691106B1 (en) 2000-05-23 2004-02-10 Intel Corporation Profile driven instant web portal
US7096220B1 (en) 2000-05-24 2006-08-22 Reachforce, Inc. Web-based customer prospects harvester system
US20020042707A1 (en) 2000-06-19 2002-04-11 Gang Zhao Grammar-packaged parsing
US20020078090A1 (en) 2000-06-30 2002-06-20 Hwang Chung Hee Ontological concept-based, user-centric text summarization
EP1182577A1 (en) 2000-08-18 2002-02-27 SER Systeme AG Produkte und Anwendungen der Datenverarbeitung Associative memory
KR100426382B1 (ko) 2000-08-23 2004-04-08 학교법인 김포대학 엔트로피 정보와 베이지안 에스오엠을 이용한 문서군집기반의 순위조정 방법
US7017114B2 (en) 2000-09-20 2006-03-21 International Business Machines Corporation Automatic correlation method for generating summaries for text documents
US20020143524A1 (en) 2000-09-29 2002-10-03 Lingomotors, Inc. Method and resulting system for integrating a query reformation module onto an information retrieval system
US20020065857A1 (en) 2000-10-04 2002-05-30 Zbigniew Michalewicz System and method for analysis and clustering of documents for search engine
CA2322599A1 (en) 2000-10-06 2002-04-06 Ibm Canada Limited-Ibm Canada Limitee System and method for workflow control of contractual activities
JP2002132789A (ja) 2000-10-19 2002-05-10 Hitachi Ltd 文書検索方法
US7130790B1 (en) 2000-10-24 2006-10-31 Global Translations, Inc. System and method for closed caption data translation
JP2002169834A (ja) 2000-11-20 2002-06-14 Hewlett Packard Co <Hp> 文書のベクトル解析を行うコンピュータおよび方法
US20020091671A1 (en) 2000-11-23 2002-07-11 Andreas Prokoph Method and system for data retrieval in large collections of data
KR20020045343A (ko) 2000-12-08 2002-06-19 오길록 표준화된 문장 구문구조 및 의미구조에 기반한 정보생성/검색 장치 및 그 방법
JP2002207760A (ja) 2001-01-10 2002-07-26 Hitachi Ltd 文書検索方法及びその実施装置並びにその処理プログラムを記録した記録媒体
US6778980B1 (en) 2001-02-22 2004-08-17 Drugstore.Com Techniques for improved searching of electronically stored information
US6741984B2 (en) 2001-02-23 2004-05-25 General Electric Company Method, system and storage medium for arranging a database
US6721728B2 (en) 2001-03-02 2004-04-13 The United States Of America As Represented By The Administrator Of The National Aeronautics And Space Administration System, method and apparatus for discovering phrases in a database
US6823333B2 (en) 2001-03-02 2004-11-23 The United States Of America As Represented By The Administrator Of The National Aeronautics And Space Administration System, method and apparatus for conducting a keyterm search
US6697793B2 (en) 2001-03-02 2004-02-24 The United States Of America As Represented By The Administrator Of The National Aeronautics And Space Administration System, method and apparatus for generating phrases from a database
US6741981B2 (en) 2001-03-02 2004-05-25 The United States Of America As Represented By The Administrator Of The National Aeronautics And Space Administration (Nasa) System, method and apparatus for conducting a phrase search
US7194483B1 (en) 2001-05-07 2007-03-20 Intelligenxia, Inc. Method, system, and computer program product for concept-based multi-dimensional analysis of unstructured information
US7171619B1 (en) 2001-07-05 2007-01-30 Sun Microsystems, Inc. Methods and apparatus for accessing document content
US6769016B2 (en) 2001-07-26 2004-07-27 Networks Associates Technology, Inc. Intelligent SPAM detection system using an updateable neural analysis engine
EP1421518A1 (en) 2001-08-08 2004-05-26 Quiver, Inc. Document categorization engine
US20030031996A1 (en) 2001-08-08 2003-02-13 Adam Robinson Method and system for evaluating documents
US6778979B2 (en) 2001-08-13 2004-08-17 Xerox Corporation System for automatically generating queries
US6978274B1 (en) 2001-08-31 2005-12-20 Attenex Corporation System and method for dynamically evaluating latent concepts in unstructured documents
JP2003242176A (ja) 2001-12-13 2003-08-29 Sony Corp 情報処理装置および方法、記録媒体、並びにプログラム
US7356527B2 (en) 2001-12-19 2008-04-08 International Business Machines Corporation Lossy index compression
US6741982B2 (en) 2001-12-19 2004-05-25 Cognos Incorporated System and method for retrieving data from a database system
US7243092B2 (en) 2001-12-28 2007-07-10 Sap Ag Taxonomy generation for electronic documents
US7137062B2 (en) 2001-12-28 2006-11-14 International Business Machines Corporation System and method for hierarchical segmentation with latent semantic indexing in scale space
JP4108337B2 (ja) * 2002-01-10 2008-06-25 三菱電機株式会社 電子ファイリングシステム及びその検索インデックス作成方法
US7139756B2 (en) 2002-01-22 2006-11-21 International Business Machines Corporation System and method for detecting duplicate and similar documents
US7028045B2 (en) 2002-01-25 2006-04-11 International Business Machines Corporation Compressing index files in information retrieval
US7421660B2 (en) 2003-02-04 2008-09-02 Cataphora, Inc. Method and apparatus to visually present discussions for data mining purposes
JP4092933B2 (ja) 2002-03-20 2008-05-28 富士ゼロックス株式会社 文書情報検索装置及び文書情報検索プログラム
US7743045B2 (en) 2005-08-10 2010-06-22 Google Inc. Detecting spam related and biased contexts for programmable search engines
US20030195937A1 (en) 2002-04-16 2003-10-16 Kontact Software Inc. Intelligent message screening
US6877001B2 (en) 2002-04-25 2005-04-05 Mitsubishi Electric Research Laboratories, Inc. Method and system for retrieving documents with spoken queries
NZ518744A (en) 2002-05-03 2004-08-27 Hyperbolex Ltd Electronic document indexing using word use nodes, node objects and link objects
US7085771B2 (en) 2002-05-17 2006-08-01 Verity, Inc System and method for automatically discovering a hierarchy of concepts from a corpus of documents
US7028026B1 (en) 2002-05-28 2006-04-11 Ask Jeeves, Inc. Relevancy-based database retrieval and display techniques
JP4452012B2 (ja) 2002-07-04 2010-04-21 ヒューレット・パッカード・カンパニー 文書の特有性評価方法
JP2004046438A (ja) 2002-07-10 2004-02-12 Nippon Telegr & Teleph Corp <Ntt> テキスト検索方法及び装置及びテキスト検索プログラム及びテキスト検索プログラムを格納した記憶媒体
US7379978B2 (en) 2002-07-19 2008-05-27 Fiserv Incorporated Electronic item management and archival system and method of operating the same
US20040034633A1 (en) 2002-08-05 2004-02-19 Rickard John Terrell Data search system and method using mutual subsethood measures
US7151864B2 (en) 2002-09-18 2006-12-19 Hewlett-Packard Development Company, L.P. Information research initiated from a scanned image media
US7158983B2 (en) 2002-09-23 2007-01-02 Battelle Memorial Institute Text analysis technique
US20040064442A1 (en) 2002-09-27 2004-04-01 Popovitch Steven Gregory Incremental search engine
US6886010B2 (en) 2002-09-30 2005-04-26 The United States Of America As Represented By The Secretary Of The Navy Method for data and text mining and literature-based discovery
JP2004139150A (ja) 2002-10-15 2004-05-13 Ricoh Co Ltd 文書検索装置、プログラム及び記憶媒体
US7970832B2 (en) 2002-11-20 2011-06-28 Return Path, Inc. Electronic message delivery with estimation approaches and complaint, bond, and statistics panels
JP2004192546A (ja) * 2002-12-13 2004-07-08 Nippon Telegr & Teleph Corp <Ntt> 情報検索方法、装置、プログラム、および記録媒体
US20040133560A1 (en) 2003-01-07 2004-07-08 Simske Steven J. Methods and systems for organizing electronic documents
US7725544B2 (en) 2003-01-24 2010-05-25 Aol Inc. Group based spam classification
GB2399427A (en) 2003-03-12 2004-09-15 Canon Kk Apparatus for and method of summarising text
US7945567B2 (en) * 2003-03-17 2011-05-17 Hewlett-Packard Development Company, L.P. Storing and/or retrieving a document within a knowledge base or document repository
US6947930B2 (en) 2003-03-21 2005-09-20 Overture Services, Inc. Systems and methods for interactive search query refinement
US7051023B2 (en) 2003-04-04 2006-05-23 Yahoo! Inc. Systems and methods for generating concept units from search queries
US7149748B1 (en) 2003-05-06 2006-12-12 Sap Ag Expanded inverted index
US7146361B2 (en) * 2003-05-30 2006-12-05 International Business Machines Corporation System, method and computer program product for performing unstructured information management and automatic text analysis, including a search operator functioning as a Weighted AND (WAND)
US7664732B2 (en) 2003-05-31 2010-02-16 Nhn Corporation Method of managing websites registered in search engine and a system thereof
US7272853B2 (en) 2003-06-04 2007-09-18 Microsoft Corporation Origination/destination features and lists for spam prevention
US7051014B2 (en) * 2003-06-18 2006-05-23 Microsoft Corporation Utilizing information redundancy to improve text searches
US7162473B2 (en) 2003-06-26 2007-01-09 Microsoft Corporation Method and system for usage analyzer that determines user accessed sources, indexes data subsets, and associated metadata, processing implicit queries based on potential interest to users
US8042112B1 (en) 2003-07-03 2011-10-18 Google Inc. Scheduler for search engine crawler
US7254580B1 (en) * 2003-07-31 2007-08-07 Google Inc. System and method for selectively searching partitions of a database
JP2005056233A (ja) 2003-08-06 2005-03-03 Nec Corp 移動体通信装置、移動体通信装置の電子メールの受信動作方法及びその電子メールの受信動作プログラム
US20050043940A1 (en) 2003-08-20 2005-02-24 Marvin Elder Preparing a data source for a natural language query
US20050060295A1 (en) 2003-09-12 2005-03-17 Sensory Networks, Inc. Statistical classification of high-speed network data through content inspection
US20050071310A1 (en) 2003-09-30 2005-03-31 Nadav Eiron System, method, and computer program product for identifying multi-page documents in hypertext collections
US20050071328A1 (en) 2003-09-30 2005-03-31 Lawrence Stephen R. Personalization of web search
US7346839B2 (en) 2003-09-30 2008-03-18 Google Inc. Information retrieval based on historical data
US7257564B2 (en) 2003-10-03 2007-08-14 Tumbleweed Communications Corp. Dynamic message filtering
US7240064B2 (en) * 2003-11-10 2007-07-03 Overture Services, Inc. Search engine with hierarchically stored indices
US20050144162A1 (en) * 2003-12-29 2005-06-30 Ping Liang Advanced search, file system, and intelligent assistant agent
US7206389B1 (en) 2004-01-07 2007-04-17 Nuance Communications, Inc. Method and apparatus for generating a speech-recognition-based call-routing system
US20060294124A1 (en) 2004-01-12 2006-12-28 Junghoo Cho Unbiased page ranking
US7310632B2 (en) 2004-02-12 2007-12-18 Microsoft Corporation Decision-theoretic web-crawling and predicting web-page change
US20050198559A1 (en) 2004-03-08 2005-09-08 Kabushiki Kaisha Toshiba Document information management system, document information management program, and document information management method
US20050216564A1 (en) 2004-03-11 2005-09-29 Myers Gregory K Method and apparatus for analysis of electronic communications containing imagery
US20050256848A1 (en) * 2004-05-13 2005-11-17 International Business Machines Corporation System and method for user rank search
WO2006002076A2 (en) 2004-06-15 2006-01-05 Tekelec Methods, systems, and computer program products for content-based screening of messaging service messages
JP2006026844A (ja) 2004-07-20 2006-02-02 Fujitsu Ltd ポリッシングパッド、それを備えた研磨装置及び貼り付け装置
US7599914B2 (en) 2004-07-26 2009-10-06 Google Inc. Phrase-based searching in an information retrieval system
US7584175B2 (en) 2004-07-26 2009-09-01 Google Inc. Phrase-based generation of document descriptions
US7536408B2 (en) 2004-07-26 2009-05-19 Google Inc. Phrase-based indexing in an information retrieval system
US7702618B1 (en) 2004-07-26 2010-04-20 Google Inc. Information retrieval system for archiving multiple document versions
US7711679B2 (en) 2004-07-26 2010-05-04 Google Inc. Phrase-based detection of duplicate documents in an information retrieval system
US7567959B2 (en) 2004-07-26 2009-07-28 Google Inc. Multiple index based information retrieval system
US7580921B2 (en) 2004-07-26 2009-08-25 Google Inc. Phrase identification in an information retrieval system
US7426507B1 (en) 2004-07-26 2008-09-16 Google, Inc. Automatic taxonomy generation in search results using phrases
US7580929B2 (en) 2004-07-26 2009-08-25 Google Inc. Phrase-based personalization of searches in an information retrieval system
US7395260B2 (en) 2004-08-04 2008-07-01 International Business Machines Corporation Method for providing graphical representations of search results in multiple related histograms
US8407239B2 (en) * 2004-08-13 2013-03-26 Google Inc. Multi-stage query processing system and method for use with tokenspace repository
US8504565B2 (en) 2004-09-09 2013-08-06 William M. Pitts Full text search capabilities integrated into distributed file systems— incrementally indexing files
US20060200464A1 (en) 2005-03-03 2006-09-07 Microsoft Corporation Method and system for generating a document summary
WO2006113597A2 (en) 2005-04-14 2006-10-26 The Regents Of The University Of California Method for information retrieval
US7552230B2 (en) 2005-06-15 2009-06-23 International Business Machines Corporation Method and apparatus for reducing spam on peer-to-peer networks
US20080005064A1 (en) 2005-06-28 2008-01-03 Yahoo! Inc. Apparatus and method for content annotation and conditional annotation retrieval in a search context
US7512596B2 (en) 2005-08-01 2009-03-31 Business Objects Americas Processor for fast phrase searching
US7454449B2 (en) * 2005-12-20 2008-11-18 International Business Machines Corporation Method for reorganizing a set of database partitions
JP2007262217A (ja) 2006-03-28 2007-10-11 Toray Ind Inc ポリフェニレンサルファイド樹脂組成物およびそれからなる成形品
WO2007123919A2 (en) 2006-04-18 2007-11-01 Gemini Design Technology, Inc. Method for ranking webpages via circuit simulation
US8166045B1 (en) 2007-03-30 2012-04-24 Google Inc. Phrase extraction using subphrase scoring
JP2008305730A (ja) 2007-06-11 2008-12-18 Fuji Electric Holdings Co Ltd 多色発光デバイスの製造方法
US8117223B2 (en) 2007-09-07 2012-02-14 Google Inc. Integrating external related phrase information into a phrase-based indexing information retrieval system

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20150096848A (ko) * 2014-02-17 2015-08-26 포항공과대학교 산학협력단 인덱스를 이용하는 데이터 검색 장치 및 이를 이용하는 방법

Also Published As

Publication number Publication date
CN101133388A (zh) 2008-02-27
CA2595674C (en) 2012-07-03
BRPI0614024A2 (pt) 2012-12-25
BRPI0614024B1 (pt) 2018-02-14
US9817825B2 (en) 2017-11-14
AU2010200478B2 (en) 2012-10-04
US20140095511A1 (en) 2014-04-03
NO20074329L (no) 2007-10-23
EP1844391A4 (en) 2010-05-19
US20160283474A1 (en) 2016-09-29
JP2008529138A (ja) 2008-07-31
CA2595674A1 (en) 2006-08-03
EP1844391B1 (en) 2012-10-17
US20180101528A1 (en) 2018-04-12
AU2006208079B2 (en) 2009-11-26
DK1844391T3 (da) 2013-01-28
US10671676B2 (en) 2020-06-02
AU2010200478A1 (en) 2010-03-04
AU2006208079A1 (en) 2006-08-03
US9361331B2 (en) 2016-06-07
KR101273520B1 (ko) 2013-06-14
US20060106792A1 (en) 2006-05-18
NO338518B1 (no) 2016-08-29
CN101133388B (zh) 2011-07-06
US8560550B2 (en) 2013-10-15
US7567959B2 (en) 2009-07-28
JP4881322B2 (ja) 2012-02-22
EP1844391A2 (en) 2007-10-17
US20100030773A1 (en) 2010-02-04
WO2006081325A3 (en) 2007-08-09
WO2006081325A2 (en) 2006-08-03

Similar Documents

Publication Publication Date Title
KR101273520B1 (ko) 복수 인덱스 기반의 정보 검색 시스템
US9817886B2 (en) Information retrieval system for archiving multiple document versions
US7603345B2 (en) Detecting spam documents in a phrase based information retrieval system
KR101176079B1 (ko) 문서 설명의 문구 기반 생성
KR101223172B1 (ko) 정보 검색 시스템에서의 문구 기반 서치
KR101223173B1 (ko) 정보 검색 시스템에서의 문구 기반 인덱싱
US7711679B2 (en) Phrase-based detection of duplicate documents in an information retrieval system

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: 20160525

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20170526

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20180525

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20190529

Year of fee payment: 7