KR101273520B1 - 복수 인덱스 기반의 정보 검색 시스템 - Google Patents
복수 인덱스 기반의 정보 검색 시스템 Download PDFInfo
- Publication number
- KR101273520B1 KR101273520B1 KR1020077018720A KR20077018720A KR101273520B1 KR 101273520 B1 KR101273520 B1 KR 101273520B1 KR 1020077018720 A KR1020077018720 A KR 1020077018720A KR 20077018720 A KR20077018720 A KR 20077018720A KR 101273520 B1 KR101273520 B1 KR 101273520B1
- Authority
- KR
- South Korea
- Prior art keywords
- document
- phrase
- list
- documents
- phrases
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/93—Document management systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/31—Indexing; Data structures therefor; Storage structures
- G06F16/313—Selection or weighting of terms for indexing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/22—Indexing; Data structures therefor; Storage structures
- G06F16/2228—Indexing structures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2457—Query processing with adaptation to user needs
- G06F16/24578—Query processing with adaptation to user needs using ranking
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/951—Indexing; Web crawling techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/953—Querying, e.g. by the use of web search engines
- G06F16/9535—Search customisation based on user profiles and personalisation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/953—Querying, e.g. by the use of web search engines
- G06F16/9538—Presentation of query results
-
- Y—GENERAL 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
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99931—Database or file accessing
- Y10S707/99933—Query processing, i.e. searching
-
- Y—GENERAL 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
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99931—Database or file accessing
- Y10S707/99933—Query processing, i.e. searching
- Y10S707/99935—Query 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
본 발명은 인터넷 등의 방대한 규모의 자료에서 문서를 인덱싱, 서칭, 및 분류하기 위한 정보 검색 시스템에 관한 것이다.
일반적으로 서치 엔진으로 불리는 정보 검색 시스템은 현재 인터넷 등의 방대한 규모와, 다양하고 증대하는 자료에서 정보를 찾기 위한 필수 툴이다. 일반적으로, 서치 엔진은 문서(또는 "페이지")를 각 문서에 존재하는 개별 단어에 관련시키는 인덱스를 생성한다. 통상적으로는 문서 내에 얼마의 쿼리 용어가 존재하는지에 기초해서, 문서는 많은 쿼리 용어를 포함하는 쿼리에 대응하여 검색된다. 그 후, 검색된 문서는 쿼리 용어, 호스트 도메인, 링크 분석 등의 출현 빈도와 같은 다른 통계적인 수단에 따라서 랭크된다. 그 후, 검색된 문서는 통상적으로 그들의 랭크된 순서로, 어떠한 추가 그룹화 또는 부과되는 계층 없이 유저에게 제공된다. 어느 경우에는, 문서의 텍스트의 선택된 일 부분이 제공되어, 사용자에게 문서 내용의 일견을 제공한다.
쿼리 용어의 직접 "부울" 매칭은 잘 알려진 제한을 가지며, 특히 쿼리 용어를 가지지 않지만 관련 단어를 가지는 문서를 식별하지 않는다. 예를 들면, 통상 적인 부울 시스템에서, "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)에 추가된다. 가능 문구 리스트(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" 및 "Australian 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"는 그것이 예상하는 유일한 다른 문구가 문구의 확장인 "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 value)(각 비트 위치에 대하여 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)는 문서 내에 현재 인덱스 위치의 제 2 윈도우(304)(전과 동일하게, +/-K 용어, 예를 들면 30 용어의 제 2 윈도우), 예컨대 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, "오픈")은 문서가 현재 유효하다는 것을 나타낸다. 이것은 문서가 제 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은 서치 시스템(120)의 주요 기능적인 동작을 설명한다.
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)의 임의의 관련된 문구에 따라서, 결과 세트 내에서 각각의 문서를 스코어링한다. 이것은 다음과 같이 행해진다.
각각의 쿼리 문구(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 (20)
- 각 문서가 문서 식별자를 가지는 문서를 문구에 관하여 인덱싱하는 컴퓨터 구현 방법으로서, 컴퓨터가,상기 문구를 포함하는 문서의 리스트를 생성하는 단계와,문서의 정보 검색 연관 스코어는 서치 쿼리에 대한 문서의 연관성을 나타내고, 상기 리스트의 제 1 부분은, 상기 정보 검색 연관 스코어에 의해서 상기 리스트의 제 2 부분의 문서보다 더 높게 랭크되는 문서를 포함하고, 상기 리스트를 상기 제 1 부분과 상기 제 2 부분으로 분할하는 단계와,상기 리스트의 상기 제 1 부분을 상기 리스트의 상기 제 1 부분의 상기 문서의 상기 정보 검색 연관 스코어의 랭크 순서로 제 1 인덱스에 저장하는 단계와,상기 리스트의 상기 제 2 부분을 상기 리스트의 상기 제 2 부분의 상기 문서의 상기 문서 식별자의 수치 순서로 제 2 인덱스에 저장하는 단계를 실행하는 컴퓨터 구현 방법.
- 제 1 항에 있어서,상기 정보 검색 연관 스코어는 페이지 랭크 기반형 스코어를 포함하는 컴퓨터 구현 방법.
- 제 1 항에 있어서, 상기 컴퓨터가,상기 제 1 인덱스의 각 문서에 대하여, 상기 문서의 정보 검색 연관 속성을 저장하는 단계를 더 실행하는 컴퓨터 구현 방법.
- 제 3 항에 있어서,상기 정보 검색 연관 속성은 문서에서 상기 문구의 전체 출현 수, 상기 문구를 포함하면서 상기 문서를 지시하는 앵커 문서의 랭크 순서의 리스트, 상기 문서에서 각 문구의 출현 위치, 및 문서에서 상기 문구의 상기 출현의 포맷 또는 문서에서 상기 문구의 상기 출현을 포함하는 상기 문서의 일부를 지시하는 하나 이상의 플래그 세트 중 적어도 하나를 포함하는 컴퓨터 구현 방법.
- 제 3 항에 있어서,상기 리스트의 상기 제 2 부분을 상기 제 2 인덱스에 저장하는 단계는 상기 리스트의 상기 제 2 부분의 상기 문서의 문서 식별 정보를 저장하는 단계를 포함하는 컴퓨터 구현 방법.
- 제 1 항에 있어서,상기 리스트의 상기 제 1 부분을 상기 제 1 인덱스에 저장하는 단계는 상기 리스트의 상기 제 1 부분을 상기 리스트의 상기 제 1 부분의 상기 문서의 상기 정보 검색 연관 스코어의 랭크 순서로 물리적 저장 장치에 저장하는 단계를 포함하는 컴퓨터 구현 방법.
- 제 1 항에 있어서,상기 리스트의 제 2 부분을 상기 제 2 인덱스에 저장하는 단계는 상기 리스트의 상기 제 2 부분을 상기 리스트의 상기 제 2 부분의 상기 문서의 상기 문서 식별자의 수치 순서로 물리적 저장 장치에 저장하는 단계를 포함하는 컴퓨터 구현 방법.
- 제 1 항에 있어서,문서의 각 리스트의 상기 제 1 부분은 제 1 섹션 및 제 2 섹션을 포함하고, 상기 제 1 섹션에 리스트된 각 문서는 제 1의 복수의 연관 속성을 포함하고, 상기 제 2 섹션에 리스트된 각 문서는 연관 속성의 제 1 세트의 서브 세트인 제 2의 복수의 연관 속성을 포함하고, 상기 제 1 섹션에 리스트된 상기 문서는 상기 제 2 섹션에 리스트된 상기 문서보다 더 높게 랭크되는 컴퓨터 구현 방법.
- 제 8 항에 있어서,문서의 각 리스트의 상기 제 1 부분은 제 3 섹션을 포함하고, 상기 제 3 섹션에 리스트된 각 문서는 상기 제 2의 복수의 연관 속성의 서브 세트인 제 3의 복수의 연관 속성을 포함하고, 상기 제 2 섹션에 리스트된 상기 문서는 상기 제 3 섹션에 리스트된 상기 문서보다 더 높게 랭크되는 컴퓨터 구현 방법.
- 제 8 항에 있어서,각 리스트의 상기 제 1 부분은 n 개의 엔트리를 포함하고, 상기 리스트의 상기 제 2 부분은 m>2인 m*n 개의 엔트리를 포함하고, 상기 리스트의 제 3 부분은 l>4인 l*n 엔트리를 포함하는 컴퓨터 구현 방법.
- 정보 검색 시스템을 이용하는 문서 검색 방법으로서,제 1 포스팅 리스트 - 각각의 제 1 포스팅 리스트는 문구와 관련되고 상기 문구를 포함하는 최대수의 문서까지 포함하며, 상기 문서의 랭크는 각각의 정보 검색 연관 스코어에 의해서 정렬되고, 문서의 상기 정보 검색 연관 스코어는 서치 쿼리에 대한 문서의 연관성을 나타냄 - 를 포함하는 제 1 인덱스를 저장하는 단계와,제 2 포스팅 리스트 - 각각의 제 2 포스팅 리스트는 상기 제 1 인덱스의 제 1 포스팅 리스트와 연관되고, 상기 문구를 포함하고 상기 문구에 대하여 상기 제 1 포스팅 리스트에서 가장 낮게 랭크된 문서의 상기 정보 검색 연관 스코어보다 더 낮은 정보 검색 연관 스코어를 갖는 문서를 포함하며, 상기 문서는 문서 식별자에 의해서 정렬됨 - 를 포함하는 제 2 인덱스를 저장하는 단계와,적어도 하나의 문구를 포함하는 서치 쿼리를 수신하는 단계와,제 1 포스팅 리스트 및 제 2 포스팅 리스트를 가지는 제 1 문구와 단지 제 1 포스팅 리스트만을 가지는 제 2 문구를 포함하는 상기 서치 쿼리에 대응하여, 일반 문서의 제 1 세트를 얻도록 상기 제 1 문구의 상기 제 1 포스팅 리스트를 상기 제 2 문구의 상기 제 1 포스팅 리스트와 교차(intersection)하고, 일반 문서의 제 2 세트를 얻도록 상기 제 1 문구의 상기 제 2 포스팅 리스트를 상기 제 2 문구의 상기 제 1 포스팅 리스트와 교차하고, 일반 문서의 상기 제 1 및 제 2 세트를 조합하는 단계와,상기 일반 문서를 랭킹하는 단계를 포함하는 문서 검색 방법.
- 제 1 포스팅 리스트 - 각각의 제 1 포스팅 리스트는 문구와 연관되고 상기 문구를 포함하는 최대 수의 문서까지 포함하며, 상기 문서 랭크는 각각의 정보 검색 연관 스코어에 의해서 정렬되고, 문서의 상기 정보 검색 연관 스코어는 서치 쿼리에 대한 문서의 연관성을 나타냄 - 를 포함하는 제 1 인덱스와,제 2 포스팅 리스트 - 각각의 제 2 포스팅 리스트는 상기 제 1 인덱스의 제 1 포스팅 리스트와 연관되고, 상기 문구를 포함하고 상기 문구에 대한 상기 제 1 포스팅 리스트에서 가장 낮게 랭크된 문서의 상기 정보 검색 연관 스코어보다 더 낮은 정보 검색 연관 스코어를 가지는 문서를 포함하며, 상기 문서는 문서 식별자에 의해서 배열됨 - 를 포함하는 제 2 인덱스를 구비하는 정보 검색 시스템.
- 제 12 항에 있어서,상기 제 1 인덱스는, 각 문서에 대하여, 상기 문서의 적어도 하나의 연관 속성을 저장하는 정보 검색 시스템.
- 제 13 항에 있어서,상기 적어도 하나의 연관 속성은, 상기 문서에서 포스팅 리스트의 상기 문구의 전체 출현 수, 상기 문구를 포함하면서 상기 문서를 지시하는 앵커 문서의 랭크 순서의 리스트, 및 상기 문서에서 각 문구의 출현 위치 중 적어도 하나를 포함하는 정보 검색 시스템.
- 제 12 항에 있어서,상기 제 2 인덱스는, 상기 제 2 포스팅 리스트의 상기 문서의 문서 식별 정보를 저장하는 정보 검색 시스템.
- 제 12 항에 있어서,상기 제 1 인덱스의 각각의 제 1 포스팅 리스트는 제 1 섹션 및 제 2 섹션을 포함하고, 상기 제 1 섹션에 리스트된 각 문서는 제 1의 복수의 연관 속성을 포함하고, 상기 제 2 섹션에 리스트된 각 문서는 연관 속성의 제 1 세트의 서브 세트인 제 2의 복수의 연관 속성을 포함하고, 상기 제 1 섹션에 리스트된 상기 문서는 상기 제 2 섹션에 리스트된 상기 문서보다 더 높게 랭크되는 정보 검색 시스템.
- 제 11 항에 있어서,상기 정보 검색 연관 스코어는 페이지 랭크 기반형 스코어를 포함하는 문서 검색 방법.
- 제 11 항에 있어서,상기 제 1 인덱스의 제 1 포스팅 리스트의 각 문서에 대하여, 상기 문서의 적어도 하나의 연관 속성을 저장하는 단계를 더 포함하는 문서 검색 방법.
- 제 18 항에 있어서,상기 적어도 하나의 연관 속성은, 상기 문서에서 포스팅 리스트의 상기 문구의 전체 출현 수, 상기 문구를 포함하면서 상기 문서를 지시하는 앵커 문서의 랭크 순서의 리스트, 및 상기 문서에서 각 문구의 출현 위치 중 적어도 하나를 포함하는 문서 검색 방법.
- 제 18 항에 있어서,상기 제 2 포스팅 리스트는, 상기 제 2 포스팅 리스트의 상기 문서의 문서 식별 정보를 저장하는 문서 검색 방법.
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 KR20070094972A (ko) | 2007-09-27 |
KR101273520B1 true 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) |
Families Citing this family (144)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7266553B1 (en) * | 2002-07-01 | 2007-09-04 | Microsoft Corporation | Content data indexing |
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 |
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 |
US7711679B2 (en) | 2004-07-26 | 2010-05-04 | Google Inc. | Phrase-based detection of duplicate documents in an information retrieval system |
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 |
US7580929B2 (en) * | 2004-07-26 | 2009-08-25 | Google Inc. | Phrase-based personalization of searches 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 | 株式会社東芝 | スレッド順位付け装置及び方法 |
US20080033943A1 (en) * | 2006-08-07 | 2008-02-07 | Bea Systems, Inc. | Distributed index search |
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 |
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 |
JP5218060B2 (ja) * | 2006-10-06 | 2013-06-26 | 日本電気株式会社 | 情報検索システムと情報検索方法ならびにプログラム |
US8326858B2 (en) * | 2007-01-17 | 2012-12-04 | Google Inc. | Synchronization of fixed and mobile data |
US8005822B2 (en) * | 2007-01-17 | 2011-08-23 | Google Inc. | Location in search queries |
US8966407B2 (en) | 2007-01-17 | 2015-02-24 | Google Inc. | Expandable homepage modules |
US7966309B2 (en) | 2007-01-17 | 2011-06-21 | Google Inc. | Providing relevance-ordered categories of information |
US7966321B2 (en) * | 2007-01-17 | 2011-06-21 | Google Inc. | Presentation of local results |
US8280877B2 (en) * | 2007-02-22 | 2012-10-02 | Microsoft Corporation | Diverse topic phrase extraction |
US8166021B1 (en) | 2007-03-30 | 2012-04-24 | Google Inc. | Query phrasification |
US8166045B1 (en) | 2007-03-30 | 2012-04-24 | Google Inc. | Phrase extraction using subphrase scoring |
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 |
US7925655B1 (en) | 2007-03-30 | 2011-04-12 | Google Inc. | Query scheduling using hierarchical tiers of index servers |
US7702614B1 (en) | 2007-03-30 | 2010-04-20 | Google Inc. | Index updating using segment swapping |
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 |
US8073682B2 (en) | 2007-10-12 | 2011-12-06 | Palo Alto Research Center Incorporated | System and method for prospecting 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 |
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 |
WO2009124212A1 (en) * | 2008-04-03 | 2009-10-08 | 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 |
US8010545B2 (en) * | 2008-08-28 | 2011-08-30 | Palo Alto Research Center Incorporated | System and method for providing a topic-directed search |
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 |
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 |
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 | 日本電信電話株式会社 | 情報検索装置および情報検索プログラム |
US8326829B2 (en) * | 2008-10-17 | 2012-12-04 | Centurylink Intellectual Property Llc | System and method for displaying publication dates for 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 |
US8156130B2 (en) | 2008-10-17 | 2012-04-10 | Embarq Holdings Company Llc | System and method for collapsing 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 |
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 |
US8356044B2 (en) * | 2009-01-27 | 2013-01-15 | Palo Alto Research Center Incorporated | System and method for providing default hierarchical training for social indexing |
US9245033B2 (en) | 2009-04-02 | 2016-01-26 | Graham Holdings Company | Channel sharing |
WO2011013007A2 (en) * | 2009-07-29 | 2011-02-03 | Purapharm International (Hk) Limited | Ontological information retrieval system |
GB2472250A (en) * | 2009-07-31 | 2011-02-02 | Stephen Timothy Morris | Method for determining document relevance |
US20110040761A1 (en) * | 2009-08-12 | 2011-02-17 | Globalspec, Inc. | Estimation of postings list length in a search system using an approximation table |
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 |
US9256644B1 (en) * | 2013-03-15 | 2016-02-09 | Ca, Inc. | System for identifying and investigating shared and derived content |
US9501506B1 (en) | 2013-03-15 | 2016-11-22 | Google Inc. | Indexing system |
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 |
KR101592670B1 (ko) * | 2014-02-17 | 2016-02-11 | 포항공과대학교 산학협력단 | 인덱스를 이용하는 데이터 검색 장치 및 이를 이용하는 방법 |
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 | 百度在线网络技术(北京)有限公司 | 搜索排序方法和装置 |
US10565198B2 (en) | 2015-06-23 | 2020-02-18 | Microsoft Technology Licensing, Llc | Bit vector search index using shards |
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 |
US10242071B2 (en) | 2015-06-23 | 2019-03-26 | Microsoft Technology Licensing, Llc | Preliminary ranker for scoring matching documents |
US10229143B2 (en) * | 2015-06-23 | 2019-03-12 | Microsoft Technology Licensing, Llc | Storage and retrieval of data from a bit vector search index |
US11281639B2 (en) | 2015-06-23 | 2022-03-22 | Microsoft Technology Licensing, Llc | Match fix-up to remove matching documents |
US10733164B2 (en) | 2015-06-23 | 2020-08-04 | Microsoft Technology Licensing, Llc | Updating 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 | 北京三快在线科技有限公司 | 搜索排序模型训练方法及装置、搜索排序方法及装置 |
US12045294B2 (en) * | 2020-11-16 | 2024-07-23 | Microsoft Technology Licensing, Llc | Mask-augmented inverted index |
US11442971B1 (en) * | 2021-05-26 | 2022-09-13 | Adobe Inc. | Selective database re-indexing |
US12019583B2 (en) | 2021-10-08 | 2024-06-25 | 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 |
US12117963B2 (en) * | 2021-10-08 | 2024-10-15 | Open Text Holdings, Inc. | System and method for efficient multi-stage querying of archived data |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6499030B1 (en) * | 1999-04-08 | 2002-12-24 | Fujitsu Limited | Apparatus and method for information retrieval, and storage medium storing program therefor |
Family Cites Families (190)
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 |
US6055540A (en) | 1997-06-13 | 2000-04-25 | Sun Microsystems, Inc. | Method and apparatus for creating a category hierarchy for classification of documents |
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 |
US5845278A (en) | 1997-09-12 | 1998-12-01 | Inioseek Corporation | Method for automatically selecting collections to search in full text searches |
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 |
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 |
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 |
AU2001261506A1 (en) | 2000-05-11 | 2001-11-20 | University Of Southern California | Discourse parsing and summarization |
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 |
WO2001098942A2 (en) | 2000-06-19 | 2001-12-27 | Lernout & Hauspie Speech Products N.V. | Package driven parsing using structure function grammar |
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 |
US20020147578A1 (en) | 2000-09-29 | 2002-10-10 | Lingomotors, Inc. | Method and system for query reformulation for searching of information |
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 |
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 |
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 |
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 |
WO2003014975A1 (en) | 2001-08-08 | 2003-02-20 | 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 | 情報処理装置および方法、記録媒体、並びにプログラム |
US6741982B2 (en) | 2001-12-19 | 2004-05-25 | Cognos Incorporated | System and method for retrieving data from a database system |
US7356527B2 (en) | 2001-12-19 | 2008-04-08 | International Business Machines Corporation | Lossy index compression |
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) |
WO2004107213A1 (en) | 2003-05-31 | 2004-12-09 | Nhn Corporation | A 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 |
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 |
US20050071310A1 (en) | 2003-09-30 | 2005-03-31 | Nadav Eiron | System, method, and computer program product for identifying multi-page documents in hypertext collections |
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 |
CN100495392C (zh) * | 2003-12-29 | 2009-06-03 | 西安迪戈科技有限责任公司 | 一种智能搜索方法 |
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 |
US7155243B2 (en) | 2004-06-15 | 2006-12-26 | 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 | ポリッシングパッド、それを備えた研磨装置及び貼り付け装置 |
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 |
US7580921B2 (en) | 2004-07-26 | 2009-08-25 | Google Inc. | Phrase identification 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 |
US7536408B2 (en) | 2004-07-26 | 2009-05-19 | Google Inc. | Phrase-based indexing in an information retrieval system |
US7426507B1 (en) | 2004-07-26 | 2008-09-16 | Google, Inc. | Automatic taxonomy generation in search results using phrases |
US7702618B1 (en) | 2004-07-26 | 2010-04-20 | Google Inc. | Information retrieval system for archiving multiple document versions |
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 |
-
2005
- 2005-01-25 US US11/043,695 patent/US7567959B2/en not_active Expired - Fee Related
-
2006
- 2006-01-25 WO PCT/US2006/002709 patent/WO2006081325A2/en active Application Filing
- 2006-01-25 DK DK06719537.0T patent/DK1844391T3/da active
- 2006-01-25 CN CN200680007173XA patent/CN101133388B/zh active Active
- 2006-01-25 EP EP06719537A patent/EP1844391B1/en active Active
- 2006-01-25 BR BRPI0614024-6A patent/BRPI0614024B1/pt active IP Right Grant
- 2006-01-25 CA CA2595674A patent/CA2595674C/en not_active Expired - Fee Related
- 2006-01-25 AU AU2006208079A patent/AU2006208079B2/en not_active Ceased
- 2006-01-25 KR KR1020077018720A patent/KR101273520B1/ko active IP Right Grant
- 2006-01-25 JP JP2007552403A patent/JP4881322B2/ja active Active
-
2007
- 2007-08-24 NO NO20074329A patent/NO338518B1/no not_active IP Right Cessation
-
2009
- 2009-07-20 US US12/506,088 patent/US8560550B2/en active Active
-
2010
- 2010-02-09 AU AU2010200478A patent/AU2010200478B2/en not_active Ceased
-
2013
- 2013-03-13 US US13/801,108 patent/US9361331B2/en not_active Expired - Fee Related
-
2016
- 2016-06-03 US US15/172,717 patent/US9817825B2/en not_active Expired - Lifetime
-
2017
- 2017-11-10 US US15/809,356 patent/US10671676B2/en not_active Expired - Fee Related
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6499030B1 (en) * | 1999-04-08 | 2002-12-24 | Fujitsu Limited | Apparatus and method for information retrieval, and storage medium storing program therefor |
Also Published As
Publication number | Publication date |
---|---|
CN101133388B (zh) | 2011-07-06 |
US20060106792A1 (en) | 2006-05-18 |
US20160283474A1 (en) | 2016-09-29 |
BRPI0614024B1 (pt) | 2018-02-14 |
US7567959B2 (en) | 2009-07-28 |
NO338518B1 (no) | 2016-08-29 |
US9361331B2 (en) | 2016-06-07 |
US10671676B2 (en) | 2020-06-02 |
JP4881322B2 (ja) | 2012-02-22 |
CA2595674A1 (en) | 2006-08-03 |
US8560550B2 (en) | 2013-10-15 |
EP1844391B1 (en) | 2012-10-17 |
AU2006208079A1 (en) | 2006-08-03 |
BRPI0614024A2 (pt) | 2012-12-25 |
US20140095511A1 (en) | 2014-04-03 |
JP2008529138A (ja) | 2008-07-31 |
EP1844391A2 (en) | 2007-10-17 |
CA2595674C (en) | 2012-07-03 |
AU2010200478A1 (en) | 2010-03-04 |
AU2010200478B2 (en) | 2012-10-04 |
US9817825B2 (en) | 2017-11-14 |
DK1844391T3 (da) | 2013-01-28 |
US20100030773A1 (en) | 2010-02-04 |
WO2006081325A3 (en) | 2007-08-09 |
AU2006208079B2 (en) | 2009-11-26 |
WO2006081325A2 (en) | 2006-08-03 |
CN101133388A (zh) | 2008-02-27 |
KR20070094972A (ko) | 2007-09-27 |
NO20074329L (no) | 2007-10-23 |
EP1844391A4 (en) | 2010-05-19 |
US20180101528A1 (en) | 2018-04-12 |
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 |