KR100705980B1 - 개인화된 정보 여과 및 경보 발생을 위한 시스템 및 방법 - Google Patents

개인화된 정보 여과 및 경보 발생을 위한 시스템 및 방법 Download PDF

Info

Publication number
KR100705980B1
KR100705980B1 KR1020027000492A KR20027000492A KR100705980B1 KR 100705980 B1 KR100705980 B1 KR 100705980B1 KR 1020027000492 A KR1020027000492 A KR 1020027000492A KR 20027000492 A KR20027000492 A KR 20027000492A KR 100705980 B1 KR100705980 B1 KR 100705980B1
Authority
KR
South Korea
Prior art keywords
query
queries
user
search
users
Prior art date
Application number
KR1020027000492A
Other languages
English (en)
Other versions
KR20020050222A (ko
Inventor
메티아스 이치스텟트
에시빈쿠머 피. 페이틀
퀴 루
우디 맨버
크리스틴 루드킨
Original Assignee
야후! 인크.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 야후! 인크. filed Critical 야후! 인크.
Publication of KR20020050222A publication Critical patent/KR20020050222A/ko
Application granted granted Critical
Publication of KR100705980B1 publication Critical patent/KR100705980B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/335Filtering based on additional data, e.g. user or group profiles
    • G06F16/337Profile generation, learning or modification
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/953Querying, e.g. by the use of web search engines
    • G06F16/9535Search customisation based on user profiles and personalisation
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99931Database or file accessing
    • Y10S707/99933Query processing, i.e. searching
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99941Database schema or data structure
    • Y10S707/99944Object-oriented database structure
    • Y10S707/99945Object-oriented database structure processing

Landscapes

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

Abstract

정보 네트워크(100)에서 소망의 정보를 효율적으로 찾도록 복수의 사용자 질의의 콤팩트한 표현을 형성하는 검색 엔진에 관한 것이다. 검색 엔진(102)은 사용자들(110)로부터 질의를 수신하는 논리를 갖는 프로파일 프로세서 및 검색 모듈을 포함한다. 검색 모듈은 프로파일 프로세서에 연결되어, 정보 콘텐트를 수신하고, 사용자 질의들을 마스터 질의에 결합하며, 마스터 질의를 정보 콘텐트와 매치시켜 매칭 콘텐트를 결정하는 논리를 갖는다. 또한 검색 엔진은 매칭 콘텐트를 분석하여 질의가 만족되는지를 결정하는 논리를 포함한다.

Description

개인화된 정보 여과 및 경보 발생을 위한 시스템 및 방법{SYSTEM AND METHOD FOR PERSONALIZED INFORMATION FILTERING AND ALERT GENERATION}
본 출원은 계류중인 1999년 7월 12일 출원된 미국 가출원 60/143,473으로부터의 우선권을 주장하며, 그 개시가 여기서 그 전체로서 모든 목적에 대하여 사용되었다.
본 발명은 검색 엔진들, 특히, 복수의 사용자로부터의 검색 질의(query)들을 매치시키는 정보를 위해 다양한 스트림의 정보 콘텐트를 효율적으로 검색할 수 있는 검색 엔진에 관한 것이다.
검색 엔진은 정보 네트워크에서 사용자들이 정보를 찾는 것을 도와주는 프로그램이다. 사용자들은, 그들이 찾고자 하는 것을 나타내는 단어들 또는 구(phrase)들을 포함하는 검색 질의들을 제출하고, 검색 엔진은 그 질의와 관계가 있다고 예측하는 웹 페이지들의 목록으로 응답한다. 검색 엔진에 의해 이 목록에 포함될 것으로 간주된 페이지들을 "목표 페이지"라고 명명할 수 있다.
검색 엔진에 의해 답신되는 웹 페이지들의 목록은 관련성에 의해 정렬된다. 통상적으로, 관련성은 대부분 목표 페이지들의 콘텐트에 의해 결정된다. 예를 들면, 사용자가 "초콜릿 케이크" 구를 찾는다면, 통상의 검색 엔진은, 단지 "초콜릿"과 "케이크" 단어를 개별적으로 포함하는 것들 앞에 "초콜릿 케이크" 구를 포함하는 페이지들을 정렬시키며, 이어서 이들 페이지는 두 단어 중 하나만 포함하고 다른 것은 포함하지 않는 페이지보다 높은 서열로 정렬될 것이다.
오늘날 인터넷상의 많은 사이트들이 금융 뉴스, 경제 뉴스, 실시간 기상 통보, 및 다른 형태의 스트림 미디어 콘텐트와 같은 대량의 시간에 따라 변하는 콘텐트를 제공한다. 그러나, 현재의 검색 시스템들은 대량의 사용자 요구를 처리할 때 매우 비효율적으로 동작한다. 그 결과, 대부분의 사용자들은 정보가 사용가능하게 되었을 때 원하는 정보를 찾게 되어 질리게 된다.
현재의 검색 시스템들의 효율에 관한 하나의 문제는 크고 다양한 스트림의 전자 정보를 많은 사용자에게 효율적으로 여과시키는 문제이다. 예를 들면, 수천명의 사용자들이 언제든지 금융정보에 대한 검색 질의들을 제출할 수 있다. 통상적으로, 각 사용자의 질의는 사용자에 직접 제공된 결과로 개별 검색된다. 그러나, 많은 사용자들은 중복하는 질의들을 가지기 때문에 동일한 정보만을 얻기 위하여 검색을 반복하게 된다.
현재의 검색 시스템들에서 또 다른 문제는 한명 이상의 사용자가 가용하게 되는 가장 최근의 정보를 찾기 위해서 동일 또는 유사한 검색을 시간에 걸쳐 주기적으로 수행하는 것을 원할 때 발생한다. 이것을 "영속적 조회(persistent query)"라고 한다. 통상의 검색 시스템들은 많은 사용자들로부터의 영속적 조회들을 효율적으로 다루지 못한다.
본 발명은 정보 네트워크에서 복수의 사용자 질의의 콤펙트한 표현을 형성하여 원하는 정보를 효율적으로 찾는 검색 엔진을 제공한다. 사용자 프로파일의 일부인 각 사용자 질의는, 숫자 값들과 열거된 테이터 타입들 대신 특별 문자들을 사용하도록 전처리된다. 검색 엔진은 전처리된 사용자 질의들을 마스터 검색 질의에 결합하고 마스터 질의를 데이터 네트워크를 통해 전송된 콘텐트 스트림의 정보와 매치시키는 효율적인 메커니즘(mechanism)을 포함한다. 따라서, 본 발명은, 잘 조직되고 콤팩트한 표현의 사용자 질의들을 정보 흐름을 통해 제공함으로써 각 사용자 질의에 대해 개별적으로 문서들의 집합을 나타내는 통상의 정보 검색 접근을 반대로 한다.
검색 엔진은 사용의 관심을 나타내는 한 세트의 장기간 또는 영속적 질의들을 입력하게 한다. 각 개별 사용자를 위해 반복적인 검색들을 수행하는 대신에, 검색 엔진은 모든 사용자 질의를 효율적으로 결합하여 마스터 검색 질의를 형성한다. 검색 엔진에 의해 수신된 정보 콘텐트는 마스터 검색 질의와 매치되어 검색 결과를 생성한다. 검색 결과에서 선택된 정보는 사용자 접촉 룰을 포함하는 사용자 프로파일에 따라 각 개별 사용자에게 전달된다.
인터넷이 지속하여 성장하기 때문에, 포함된 검색 엔진에 의해 처리되는 정보는 매우 다양하게 될 수 있다. 예를 들면, 온라인 분류 광고들은 살 곳을 찾는 사용자들에게 자동적으로 전달될 수 있다. 일정 가격 범위내의 새로운 제품에 대한 정보는 고객들에게 전달되어 이들의 구입 결정을 원조할 수 있다. 개인화된 정보 배달이 사용자들에 유리한 다른 정보 영역들은 뉴스 기사, 날씨와 교통 정보, 온라인 경매 및 그 밖의 시간에 따라 변하는 포스팅(posting)을 포함한다.
정보 전달 메커니즘은, 이메일, 인스턴트 인터넷 메세징 제품(야후 메신저, AOL 인스턴트 메신저 등), 무선 텍스트 메세징, 팩스, 음성 메세지, 및 개인화된 웹 페이지들을 포함한다.
본 발명의 일 실시예에서, 데이터 네트워크를 통해 정보 콘텐트를 수신하고 복수의 사용자와 연관된 복수의 질의에 기초하여 정보 콘텐트를 검색하기 위한 검색 엔진이 제공된다. 검색 엔진은, 사용자들로부터의 질의들을 수신하는 논리를 갖는 프로파일 프로세서 및 검색 모듈을 포함한다. 검색 모듈은 프로파일 프로세서에 연결되어, 정보 콘텐트를 수신하고, 사용자 질의들을 마스터 질의에 결합하며, 마스터 질의를 정보 콘텐트에 매치하여 매칭 콘텐트를 결정하는 논리를 갖는다. 검색 엔진은 또한 매칭 콘텐트를 분석하여 질의가 만족되는지를 결정하는 논리를 포함한다.
본 발명의 특징 및 이점에 대해서는 명세서의 나머지 부분과 첨부된 도면들을 참조하여 더욱더 이해될 수 있을 것이다.
도 1은 본 발명에 따른 검색 엔진을 포함하는 데이터 네트워크의 일부를 도시하는 도면,
도 2는 도 1의 검색 엔진의 상세한 블록도,
도 3은 본 발명에 따른 도 2의 검색 엔진을 동작시키는 방법을 도시하는 도면,
도 4는 본 발명에 따라 구성되는 사용자 프로파일을 도시하는 도면,
도 5는 본 발명에 따라 구성되는 검색 프로세서의 상세한 도면,
도 6은 본 발명에 따라 생성되는 해쉬표(hash table)들을 도시하는 도면,
도 7은 본 발명에 따른 도 2의 검색 엔진을 동작시키는 방법을 도시하는 도면이다.
본 발명에 포함된 검색 엔진은 사용자가 검색 질의들을 포함하는 파라미터들을 입력하여 사용자 프로파일들을 설립하게 한다. 검색 엔진은 마스터 질의를 형성하도록 사용자 프로파일들의 질의들을 결합하여 데이터 네트워크의 스트리밍 정보 콘텐트의 효율적 검색이 가능하게 한다. 스트리밍 정보와 마스터 질의 사이의 검출된 매치들은 분석되어 관련 정보가 연관 사용자들에게 배분될 수 있도록 사용자 질의들이 만족되는 것을 결정한다. 또한 검색 결과들은 원한다면 추후 검색을 위해 메모리에 기억된다.
검색 엔진은 다음 3 방식으로 이익을 제공한다. 먼저, 사용자 질의들은 질의들간의 공통 관심들이 공유되는 콤팩트한 표현으로 조직된다. 가입자가 많은 경우, 사용자들 사이의 전형적인 공통 관심들(예를 들어, 스포츠 팀들, 교통 정보들)을 결정하는 것이 가능하다. 본 발명은 효율적인 처리가 가능하도록 이들을 하나의 실체로 결합함으로써 공통 관심들을 이용한다. 두번째로, 사용자 질의들에서 나타나는 숫자 값들과 열거된 형태로부터의 값들이 매우 빠른 처리가 가능한 특별 텍스트 패턴들로 대체된다. 세번째로, 모든 사용자의 숫자 값들의 계층 조직이 효율적인 방식으로 매칭 문서들을 결정하는데 사용된다.
도 1은 본 발명에 따라 구성되는 검색 엔진(102)을 포함하는 데이터 네트워크(100)를 도시한다. 데이터 네트워크(100)는 데이터 링크들(L)에 의해 접속된 주소 지정 가능 라우터들(R)을 이용하여 정보가 배분될 수 있는 상호접속된 네트워크를 형성한다. 콘텐트 서버(104, 106, 및 108) 등의 하나 이상의 콘텐트 서버는, 사용자(110, 112, 및 114) 등의 사용자들에 의해 사용을 위해 네트워크를 통해 정보를 배분한다. 정보 콘텐트는, 뉴스, 경제 또는 금융 정보, 기상 예보, 또는 그 밖의 형태의 정보를 포함하는 한정되지 않는 형태의 스트리밍 정보, 또는 문서 스트림을 포함할 수 있다. 예들 들면, 도 1에서, 콘텐트 서버(104)는 116에 도시된 바와 같이 뉴스 정보 스트림을 전송한다. 뉴스 정보 스트림(106)은 연합 통신 뉴스 기사와 같은 형태의 뉴스 기사로 구성될 수 있다. 콘텐트 서버(106)는 118에 도시된 바와 같이 금융 정보를 전송한다. 금융 정보는 주식 시세, 회사 기사 또는 그 밖의 형태의 금융 정보로 구성될 수 있다. 콘텐트 서버(108)는 120에 도시된 바와 같이 날씨 기사를 전송한다. 날씨 기사는 미국 기상대 등으로부터 기상 게시 또는 그 밖의 형태의 기상 기사로 구성될 수 있다. 정보 스트림(116, 118, 120)은 네트워크(100) 주위로 전송되어 검색 엔진(102)을 포함하는 그 밖의 네트워크 실체에 의해 수신될 수 있다.
실제로는, 도시된 3개의 클라이언트보다 많은 클라이언트가 네트워크에 접속될 것이다. 또한, 비록 단지 하나의 검색 엔진이 도시되었지만, 특정 네트워크에 사용되는 하나 이상의 검색 엔진을 가질 수도 있다. 또한, 검색 엔진(102)이 이 검색 엔진(102)에 연결된 수신 스테이션(122)에 의해 수신된 정보의 무선 전송 등의 그 밖의 전송 수단을 사용하여 다른 소스들로부터 정보 콘텐트를 수신할 수 있다.
도 1에는 종래 시스템의 여러개의 구성요소가 도시되었으므로, 여기서 공지된 구성요소는 상세히 설명할 필요가 없다. 예를 들면, 사용자들(110, 112 및 114)은, 데스크탑 개인용 컴퓨터, 워크스테이션, 셀룰러 폰, 개인 휴대 정보통신장비(PDA), 랩탑, 또는 인터넷에 직접 또는 간접적으로 인터페이스할 수 있는 그 밖의 컴퓨팅 장치를 사용하여 네트워크(100)와 상호작용 할 수 있다. 본 발명은, 네트워크들의 특정 글로벌 인터네트워크인 인터넷의 사용에 적합하다. 그러나, 본 발명이 인터넷 대신에, 인트라넷, 익스트라넷, 가상 사설망(VPN), 비 TCP/IP 기반 네트워크, 무선 네트워크 등와 같은 그 밖에 네트워크와의 사용에 적합하다는 것이 이해될 것이다.
콘텐트 서버들과 검색 엔진과의 상호접속은 네트워크(100)에 대해 도시되나, 이들 접속은 무선 네트워크 등의 다른 전송 수단을 통해 조작될 수도 있다. 여기에 설명되는 상세한 설명 및 그 동등물들을 제외하고, 검색 엔진은 종래의 콘텐트 서버와의 사용에 적합하므로, 여기서 콘텐트 서버의 정확한 동작의 보다 상세한 설명이 기술될 필요는 없다. 사용자들(110, 112, 및 114)은 통상적으로 검색 엔진(102) 등의 네트워크(100)의 실체들과 2가지 방식의 상호작용을 가능하게 하는 브라우징 프로그램을 구동하는 하드웨어를 포함한다.
도 2는 본 발명에 따라 구성되는 검색 엔진(102)의 블록도를 도시한다. 명쾌함을 목적으로, 네트워크(100)의 상세한 설명이 도 2에 도시되지 않아 검색 엔진(102)이 어떻게 사용자들(110, 112 및 114) 및 정보 콘텐트 스트림(202)과 상호작용하는지를 볼 수 있다. 정보 콘텐트(202)는 정보 스트림들(116, 118 및 120)을 포함한다.
검색 엔진(102)은 프로파일 프로세서(204), 검색 프로세서(206), 통보 프로세서(208) 및 메모리(210)를 포함한다. 프로파일 프로세서(204)는 사용자들(110, 112, 및 114)과 상호작용하여 사용자 질의들 및 사용자 접촉 정보로부터 사용자 프로파일들을 생성시킨다. 사용자들(110, 112, 및 114)은 212에 도시된 경로를 통해 프로파일 프로세서와 상호작용한다. 프로파일 프로세서(204)는 내부 메모리(도시되지 않음)를 포함하여 프로파일 정보를 저장할 수 있거나, 또는 메모리(210) 등의 외부 메모리를 사용할 수 있다.
검색 프로세서(206)는 프로파일 프로세서로부터 사용자 질의들을 수신하고, 사용자 질의에 포함된 숫자 값들과 열거된 데이터 타입들을 특별 문자들이 대체하도록 사용자 질의들을 전처리한다. 이 후 검색 프로세서는 들어오는 정보 스트림(202)과 매치되는 마스터 질의를 생성한다. 매칭 동작의 결과들은 분석되어 어느 사용자 질의가 만족되는지를 결정한다. 매칭 동작의 결과들은 또한 메모리(210)에 저장되고 통보 프로세서(208)로 전송된다.
통보 프로세서(208)는 검색 프로세서(206)로부터 질의 매치들과 관련 매칭 문서들에 대한 표시들을 포함하는 결과들을 수신한다. 통보 프로세서(208)는 경로 212에 도시된 바와 같이 프로파일 프로세서로부터 사용자들에 관한 통보 접촉 정보를 수신한다. 통보 접촉 정보를 사용하여, 통보 프로세서(208)는 검색 엔진으로부터 검색된 정보를 적절한 사용자에게 전송한다. 전송은 네트워크 경로, 또는 팩스 또는 음성 메일 등의 사용자들에 의해 정의된 그 밖의 전송 경로를 통해 전송될 수 있다.
메모리(210)는 사용자들에 의한 추후 검색을 위해 검색 프로세서에 의해 생성된 결과들을 저장하는데 사용된다. 예를 들면, 사용자(110)가 아침에 영속적 질의를 입력하면, 결과들은 그 날 후에 사용자(110)가 통보 프로세서(208)를 접촉할 때 검색될 수 있고, 반대로, 경로(216)을 통해 메모리(210)를 체크하여 사용자에게 보고할 결과가 있는지를 결정한다.
본 발명의 일 실시예는 정보 콘텐트에 포함된 텍스트 문서들(뉴스 기사들, 제품 설명들, 안내 광고들)이 사용자들에 의해 제공된 통상적인 키워드 기반 질의를 사용하여 검색된다는 가정하에 동작한다. 또한, 각 정보 문서는 한 세트의 숫자 값(제품 가격 등) 및 열거된 데이터 형태(색상 또는 크기) 등을 포함할 수 있다. 사용자 질의들은 전달된 문서들을 매칭하여야 하는 범위의 값(예를 들면, 가격 범위)을 포함할 수 있다. 따라서, 일 실시예에서, 본 발명은 열거된 데이터 타입들 뿐만 아니라 텍스트 데이터, 숫자 값들을 매치시키는 효율적인 메커니즘과의 사용을 위해 사용자 질의들의 콤팩트한 표현을 형성한다. 이 시스템은 사용자 질의들중 공통 관심들을 이용하고 유사한 질의들을 마스터 질의에 모은다.
사용자 질의 생성은 상호작용 인터페이스에 의해 용이하게 된다. 예를 들면, 시스템은 사용자가 현재 보는 뉴스 기사에 기초하여 영속적 질의에 대한 키워드 세트를 제안한다. 또한 개인 관심 프로파일들은 쇼핑 목록 또는 선물 대장 등의 온라인 애플리케이션들로부터 얻어질 수 있다.
도 3은 본 발명에 따른 검색 엔진(102)을 동작시키기 위한 방법(300)을 도시 한다.
블록 302에서, 방법(300)은 하나 이상의 사용자로부터 하나 이상의 질의를 수신하는 검색 엔진과 함께 시작한다. 질의들은 OR, AND, 및 NOT 연산자 등의 접속 연산자들 및 키워드들을 사용하는 불리안(Boolean) 표현식의 형태일 수 있다. 사용자 질의들의 보다 상세한 설명은 이 문서의 다른 섹션에 제공되어 있다.
블록 304에서, 사용자 질의들은 접촉 정보와 함께 프로파일 프로세서에 의해 수신된다. 접촉 정보는 각 사용자에 의해 제공되어 질의들의 결과가 적절히 보고될 수 있다. 블록 306에서, 질의들은 특정 문자들이 숫자 값 및 열거된 데이터 형태들 대신 사용되도록 전처리된다. 이 후에 전처리 질의들은 결합되어 마스터 검색 질의를 형성한다.
블록 308에서, 정보 콘텐트 스트림은 마스터 검색 질의에 매치된다. 이 처리 동안에, 콘텐트 스트림의 각 문서 또는 정보 항목은 마스터 검색 질의와 비교되고 정보가 사용자 질의에 매치하는지를 결정하도록 분석이 수행된다. 분석의 상세한 설명은 이 문서의 다른 섹션에 제공된다.
블록 310에서, 마스터 검색 질의와의 매치들이 추후 검색을 위해 메모리에 저장된다. 블록 312에서, 매치들은 또한 통보 프로세서에 보고되어 사용자 접촉 정보가 프로파일 프로세서로부터 검색될 수 있고 제출된 질의에 매치하는 정보를 사용자들에게 통보하는데 사용될 수 있다.
블록 314에서, 사용자가 통보 정보를 수신할 수 없으면, 사용자 인터페이스 가 제공되어 매칭 정보가 사용자에게 보다 편리한 시간에 결과 메모리로부터 검색될 수 있다.
질의 언어
검색 엔진은 다른 형태의 인터넷 검색 엔진들에 사용되는 통상의 질의 언어들과 유사한 질의 언어를 사용한다.
예컨대, AND(+), OR 및 NOT(-) 등의 불리안 연산자가 지원된다. 또한, 구 매칭이 지원되어 질의된 문자열들을 찾도록 한다. 예를 들면, 다음 질의들이 지원된다.
1. police + sting 키워드"police"와 키워드"sting"을
포함하는 모든 정보 콘텐트를 찾는데
사용됨
2. python - monty 키워드"python"는 포함하나 키워드
"monty"를 포함하지 않는 모든 정보
콘텐트를 찾는데 사용됨
3. "great barrier reef" "great barrier reef" 구를 포함하는
모든 정보 콘텐트를 찾는데 사용됨
사용자 프로파일
도 4는 사용자에 의해 프로파일 프로세서(204)에 제공되는 정보로부터 구성된 사용자 프로파일(400)의 블록도를 도시한다. 사용자 프로파일(400)은 사용자와 사용자의 소망 검색 기준에 관한 여러가지 종류의 정보를 포함한다. 예를 들면, 사용자 프로파일(400)은, 사용자의 네트워크 어드레스 및 사용자 프로파일에 포함된 하나 이상의 질의들의 타임 스탬프(time stamp)를 포함할 수 있는 사용자 식별 정보(402)를 포함한다.
사용자 프로파일(400)은 또한 사용자 접촉 정보(404)를 포함한다. 사용자 접촉 정보(404)는 특정 질의의 결과들에 대해 사용자를 접촉하는데 사용되는 룰들을 포함할 수 있다. 예를 들면, 사용자는 질의를 제출하여 팩스, 이메일, 또는 자동 음성 메세지에 의해 결과를 지상 통신선 또는 무선 전화로 통보를 요청할 수 있다. 임의의 종류의 통신 메커니즘이 검색 결과에 대해 사용자를 접촉하는데 사용될 수 있다. 접촉 정보에 포함되는 룰들은 또한 검색 결과를 통보하는 시간을 한정할 수 있다. 예를 들면, 사용자는 검색 결과에 대해 한 시간, 그날 추후에, 또는 심지어 매일 주기적으로 통보되기를 원할 수 있다. 따라서, 사용자가 특정 접촉 룰을 입력하여 특정 질의의 결과들에 대해 다양한 통보 시나리오들을 수립할 수 있다.
사용자 프로파일(400)은 또는 사용자 질의들(406)을 포함한다. 사용자 질의들은 사용자에 의해 소망되는 정보를 특정하는 키워드 및 불리안 표현식을 포함하는 문자열의 형태이다.
질의 전처리
문자열들을 매칭하는 이외에, 검색 엔진은 수량 또는 가격을 나타내는 숫자들을 비교한다. 예를 들면, 사용자는 경매 항목이 일정 가격에 도달할 때 또는 쇼핑 항목이 일정 가격 아래로 떨어질 때 호출되기를 원할 수 있다. 예를 들면, 한 항목의 가격이 $25 보다 낮을 때에 대한 질의를 원하면, 질의는 다음과 같이 생성될 것이다.
가격〈 25.00
상당수의 사용자들에 매칭하는 정확한 가격은 계산적으로 비용이 많이 드는 동작이므로, 본 발명의 일 실시예는 일부 경우에서 정확한 가격 매칭을 가격 범위의 매칭으로 감소시킨다. 각 가격 범위는 상기 키워드 매칭 기술이 적용할 수 있는 미리 정의된 키워드에 의해 나타내어진다. 가격 범위 매칭은, 추가 정밀도가 관련되지 않은 질의 특성에 적용되어, 정확성을 잃지 않고 효율성을 유지할 수 있다.
숫자와 가격의 매칭
제품 카테고리의 항목들의 가격은 통상적으로 일반 가격 범위에 있다. 예를 들면, 데스트탑 컴퓨터들은 가격이 $500에서 $2500의 범위일 것이다. 가격 범위는 (N+2) 간격으로 분할될 수 있는데, 여기서 N은 임의의 합리적으로 작은 숫자(예를 들면 10)가 될 수 있다. 예를 들면, N이 4이면, 데스크탑 컴퓨터의 가격 범위의 가격을 매기는 6개의 간격은 [0, 500], [500, 1000], [1000, 1500], [1500, 2000], [2000, 2500], [2500, 무한대]일 것이다.
특정 가격을 넘어서거나 그 보다 작은 가격 범위와 같은 다른 숫자 특성은 (2N+2) 키워드로 부호화될 수 있는데, 각 키워드는 간격 한계를 포함한다. 예들 들면, 간격 한계(below_1000)는 가격이 $1000 또는 그 이하를 의미하고 간격 한계(above_1000)는 가격이 $1000 또는 그 이상을 의미한다. 따라서, 데스크탑 컴퓨터의 예를 참조하여, N이 4이면, (2N+2) 키워드를 형성하여 다음과 같이 데스크탑 컴퓨터의 10개의 가격 범위를 나타낼 수 있다.
1. computer_desktop_price_below_500
2. computer_desktop_price_below_1000
3. computer_desktop_price_below_1500
4. computer_desktop_price_below_2000
5. computer_desktop_price_below_2500
6. computer_desktop_price_above_500
7. computer_desktop_price_above_1000
8. computer_desktop_price_above_1500
9. computer_desktop_price_above_2000
10. computer_desktop_price_above_2500
사용자가 테스크탑 컴퓨터의 가격 범위가 1000과 1500 사이일 때 통보되도록 선택한다고 가정한다. 다음과 같이 불리안 AND 연산자에 의해 접속된 2개의 키워드만으로 형성된 사용자 프로파일을 생성할 수 있다.
computer_desktop_price_above_1000 AND computer_desktop_price_below_1500
따라서, 소정(N)에 대해, 검색 시스템으로 오는 각 제품 항목의 가격은 (N+1) 또는 (N+2) 키워드로 확장될 수 있다. 예를 들면, 데스크탑 컴퓨터를 $1395에 판매하면, 다음과 같이 자동적으로 (N+1) 키워드로 확장될 수 있다.
computer_desktop_price_above_500
computer_desktop_price_above_1000
computer_desktop_price_below_1500
computer_desktop_price_below_2000
computer_desktop_price_below_2500
그 결과, $1359 데스크탑 컴퓨터가 특정 키워드 모두, 즉,
computer_desktop_price_above_1000 AND computer_desktop_price_below_1500를 포함하므로 이 $1359 데스크탑 컴퓨터는 사용자 기준을 매치할 것이다.
가격이 특정 범위의 경계에 있는 경우, 가격을 (N+2) 키워드로 확장할 수 있다. 예를 들면, 상기 예의 데스크탑 컴퓨터의 가격이 $1000 이면, 다음 (N+2) 키워드가 얻어진다.
computer_desktop_price_above_500
computer_desktop_price_above_1000
computer_desktop_price_below_1000
computer_desktop_price_below_1500
computer_desktop_price_below_2000
computer_desktop_price_below_2500
사용자 질의에 상기 확장을 하는 하나의 이점은, 프로파일의 질의 크기가 작은채로 있는 동안에, 매칭 시간 동안에 동적으로 발생할 수 있다는 것이다. 따라서, 필요로 하는 확장 공간의 비용이 일정; 항상(N+1) 또는 (N+2) 키워드를 유지한다. 요약하면, 일단 (N)이 선택되면, 가격 간격 키워드는 한정될 수 있다. 사용자 질의들과 수신된 문서들의 항목의 가격 모두는 이들 간격 키워드로 맵핑될 수 있어, 가격과 질의 키워드가 매치할 때 검출될 수 있다.
질의 정규화
본 발명의 일 실시예는 전처리 단계의 일부로서 사용자들에 의해 입력되는 질의들을 정규화하도록 동작한다. 정규화는 또한 상기 가격 예들에서 설명된 바와 같이 확장될 수 있는 질의들에 발생할 수 있다. 일반적으로, 질의는 불리안 OR 연산자에 접속된 일련의 "접속사들"로 나타내어질 수 있다. 예들 들면, 검색 질의가 다음과 같이 주어진다.
키워드1 AND (키워드2 OR 키워드3)
두개의 접속사를 포함하는 다음의 정규화된 질의가 생성될 수 있다.
(키워드1 AND 키워드2) OR (키워드1 AND 키워드3)
괄호의 정규화된 질의 부분은 접속사 부분을 나타낸다. 질의에 의존하여, 접속사 부분은 하나 이상의 키워드를 포함할 수 있고 불리안 연산자 AND 또는 NOT을 포함할 수 있다.
검색 프로세서 동작
도 5는 본 발명에 따라 구성되는 검색 프로세서(206)의 상세한 블록도를 도시한다. 검색 프로세서는 모든 사용자 질의들을, 들어오는 정보 콘텐트 스트림과 매치되는 마스터 질의로 처리하는데 사용된다.
검색 프로세서(206)는 프로세서(502), 질의 해쉬(504), 키워드 해쉬(506), 및 접속사 해쉬(508)를 포함하고, 모두 공유된 메모리(510)에 위치된다. 검색 프로세서(206)는 또한 개인 질의 해쉬(512) 및 개인 접속사 해쉬(514)를 포함하고, 둘 다 개인 메모리(516)에 위치된다. 공유된 메모리 및 개인 메모리는 다른 메모리들로부터 또는 단일 메모리로부터 형성될 수 있다.
질의 해쉬
프로세서(502)는 사용자 질의들을 프로파일 프로세서(204)로부터 입력(518)을 통해 수신하여, 질의 확장 및 필요한 정규화를 수행하고 공유된 메모리(510)와 개인 메모리(516)에서의 해쉬표(506, 504, 508, 512, 514)에 채움으로써 마스터 질의를 생성한다. 마스터 질의가 생성된 후, 프로세서(502)는 입력(520)을 통해 정보 콘텐트를 수신하여 정보 콘텐트를 마스터 질의와 매치시킨다. 결과들이 출력(522)을 통해 메모리(210) 및 통보 프로세서(208)에 출력된다. 다음 설명은, 키워드"kw"기입을 갖는 접속사로서 아래에 도시되는 4명의 사용자로부터 다음의 전형적인 사용자 질의들을 참조할 것이다. 예를 들면, 질의 4가 kw5에 매치하는 정확한 숫자를 찾는 동안에, kw1와 kw2는 상기 설명된 바와 같은 가격 간격 키워드를 나타낼 수 있다.
사용자1(질의1): (kw1 AND NOT kw2)
사용자2(질의2): (kw2 AND kw3)
사용자3(질의3): (kw2 AND "pw1 pw2 pw3")
사용자4(질의4): (kw5〈 100)
키워드 해쉬표
도 6은 상기 정의된 전형적인 사용자 질의들(602)로부터 완성된 공유(510) 및 개인(516) 메모리의 해쉬표들을 도시한다. 키워드 해쉬표(506)은 사용자 질의들의 각 키워드가 입력되는 키워드 칼럼(604)을 포함한다. 키워드 해쉬표의 각 키워드는 접속사Ptr목록 칼럼(606)에서 발견되는 접속사 포인터와 연관된다. 접속사 포인터는 그 특정 키워드를 사용하는 모든 질의 접속사를 가르킨다. 접속사 포인터들은 또한 특정 접속사의 키워드가 NOT 속성으로 사용되는지를 가리키는 NOT 플래그 인디케이터와 연관된다. 이 경우에, 제로는 키워드가 NOT 속성 없이 사용되는 것을 의미하는 반면에, 1은 키워드가 NOT 속성으로 사용되는 것을 가리킨다. 또한, 값(607) 파라미터는 각 접속사와 연관되고, 여기서 값이 정확한 번호 매칭을 위해 포함된다. 예를 들면, kw5에 대응하는 질의4 접속사1은 609에 도시된 바와 같이 100의 값을 포함한다.
키워드 칼럼(604)의 각 키워드는 또한 유형(type) 칼럼(608)에 도시된 다른 5개의 키워드 타입 중 하나와 연관된다. 키워드 유형들은 다음과 같다.
- regular (r) 이 유형의 키워드는 접속사 포인터들의 지시되지
않은 목록을 갖는다
- lessThan (It) 이 유형의 키워드는 증가하는 지시의 값에서 정렬
된 접속사 포인터들을 갖는다
- lessOrEqual (le) 이 유형의 키워드는 증가하는 지시의 값에서 정렬
된 접속사 포인터들을 갖는다
- greaterThan (gt) 이 유형의 키워드는 감소하는 지시의 값에서 정렬
된 접속사 포인터들을 갖는다
- greaterOrEqual (ge) 이 유형의 키워드는 감소하는 지시의 값에서 정렬
된 접속사 포인터들을 갖는다
- 널(null) 이 유형의 키워드는 구의 첫번째 단어이다
질의4에 대해, kw5의 유형은 611에 도시된 바와 같이 "It"이다. 키워드 칼럼의 각 키워드는 또한 최대 구 길이(MaxPhaseLength) 칼럼(610)에 도시된 구 길이 값과 연관되어 있다. 이 칼럼은, 0의 구 길이값이 1단어 키워드 구에 할당되고 1의 구 길이 값이 2단어 키워드 구에 할당되는 등, 키워드 구에 얼마나 많은 단어들이 포함되는지를 나타내는 엔트리(entry)를 갖는다.
도 6은 또한 질의 해쉬표(504)를 도시한다. 질의 해쉬표(504)은 질의 ID 칼럼(612)의 사용자 질의들을 접속사포인터(conjunctionPtr) 칼럼(614)의 접속사들과 연관시킨다.
도 6은 또한 모든 접속사에 대한 정보를 모으는데 사용되는 접속사 해쉬표(508)을 도시한다. 모든 접속사는, 키워드의 번호를 각 접속사에 기억하는 카운터 디폴트(counter default)(618)와 연관되는 접속사ID(ConjunctionID)(616)로 나타내어진다. 단어포인터목록(wordPointerList) 칼럼(620)은 각 접속사에 대한 단어해쉬표(506)의 키워드에 대한 포인터를 포함한다.
키워드 해쉬, 질의 해시 및 접속사 해쉬는 공유된 메모리(510)에 기억될 수 있어, 여러개의 매칭 프로세스가 동시에 해쉬 콘텐트를 판독할 수 있다. 질의 해쉬 및 접속사 해쉬는 개인 메모리(516)에 해당 테이블들을 가지고 있다. 개인 질의 해쉬(626)는, 처리중에 질의 ID 칼럼(629)의 질의가 들어오는 정보 콘텐트를 매치시킬 때를 가리키는데 사용되는 매치 칼럼(628)을 포함한다. 개인 접속사 해쉬(630)는, 처리중에 각 접속사에 대해 들어오는 정보 콘텐트에서 발견되는 키워드의 수를 계속 알고 있도록 사용되는 Eval 카운터 칼럼(632)을 포함한다. 개인 메모리의 기록들은 각 프로세스의 실행에 국부적인 상태 정보를 포함하여, 본 발명의 동작 동안에 사용하는 여러개의 개인 메모리를 가질 수 있다.
각 매칭 프로세스는 마스터 질의에 대해 들어오는 문서들의 매칭을 수행하여 그 연관된 개인 메모리에 매칭하는 동안에 정보를 기억한다. 매칭 프로세서의 처리량을 증가시키기 위해서, 다중 매칭 프로세스가 동시에 실행될 수 있다. 이 경우, 각 프로세스는 공유 가능하지 않은 상태 정보용의 개인 메모리를 이용한다.
검색 처리(키워드 및 구 매칭)
도 7은 본 발명에 따라 들어오는 정보 콘텐트를 검색하기 위한 검색 방법(700)을 도시한다. 들어오는 각 문서에 대해 매칭 프로세스를 개시할 때, 개인 질의 해쉬(626) 및 개인 접속사 해쉬(630)는 다음 방식으로 생성된다.
- 개인 메모리의 생성중에 변경을 방지하도록 질의 해쉬표(404) 락(lock) 판독
- 모든 질의들을 반복 적용하고 각 접속사에 대해 개인 접속사 해쉬(630)를 생성
- 질의 해쉬(404)의 락 판독 해제
개인 메모리를 생성 후, 도 7에 제공된 검색 방법이 모든 사용자 질의들을 들어오는 정보 콘텐트의 각 문서와 매칭하는데 사용된다.
블록 702에서, 검색 방법(700)은, 예를 들면, 실시간 기상 통보 또는 경매 정보에 관한 문서의 스트림을 포함할 수 있는 정보 콘텐트를 수신함으로써 시작한다. 블록 704에서, 들어오는 문서들은 여과되어 중복된 단어들을 제거한다. 블록 706에서, Eval카운터(632)는 모든 질의 접속사 엔트리에 대하여 0으로 설정되고 매치 플래그(628)는 모든 질의에 0으로 설정된다.
블록 708에서, 임의 단어가 매칭되기 위하여 남아 있는지를 판단하기 위하여 체크한다. 이 체크는 전체 문서가 체크되는 상태를 결정하고, 체크될 단어가 남지 않으면, 아래에 상세히 설명되는 블록 710의 브랜치로 간다.
블록 712에서, 매칭을 위해 여과된 문서로부터 단어가 검색된다. 블록 714에서, 검색된 단어가 단어 해쉬표(406)에 존재하는지를 결정하도록 테스트가 수행된다. 단어가 단어 해쉬표에 없으면, 방법은 블록 708로 진행되어 다음 단어를 찾는다. 단어가 단어 해쉬표에 있으면, 방법은 블록 736으로 진행된다.
블록 736에서, 키워드가 구의 일부인지를 결정하도록 테스트가 수행된다. 키워드에 연관된 최대구길이 파라미터가 0이면, 키워드는 구의 일부가 아니고, 그래서 방법은 블록 716으로 진행된다. 최대구길이가 0보다 크면, 키워드는 구의 일부이고, 따라서 방법은 블록 738로 진행된다.
블록 738에서, 현재의 키워드에서 시작하고 구가 키워드와 연관된 최대구길이와 같은 길이를 가질 때까지 추가 단어를 포함함으로써, 원래의 여과되지 않은 문서로부터 구가 형성된다. 이후 방법은 블록 740으로 진행된다.
블록 740에서, 새로이 구성된 구가 블록 712에서 여과된 문서로부터 검색된 단어에 대신한다. 이후 방법은, 구가 키워드 해쉬에 존재하는지를 그 블록의 테스트가 결정하는 블록 714로 진행된다. 구가 발견되면, 연관된 최대구길이는 0일 것이고 그래서 방법은 블록 736의 테스트를 통해 흘러, 블록 716으로 진행될 것이다.
블록 716에서, 키워드(또는 구)와 연관된 접속사 포인터 목록(606)의 첫번째 엔트리가 검색된다. 블록 718에서, 접속사 포인터와 연관된 NOT 플래그가 테스트 된다. not 플래그가 설정되었으면, 방법은, 접속사에 대한 Eval 카운터 엔트리가 255로 설정되는 블록 720으로 진행된다. 이것은 이 접속사가 매치되지 않았음을 가리킨다.
블록 722에서, 접속사와 연관된 NOT 플래그가 설정되지 않았으면, 키워드와 접속사 사이에 발생된 매치를 가리키는 Eval 카운터가 1만큼 증가된다.
블록 724에서, 키워드와 연관된 접속사 엔트리가 더이상 존재하는지를 결정하도록 테스트된다. 존재하지 않으면, 방법은 블록 708로 진행되어 문서의 다음 단어를 검색한다. 추가 접속사 엔트리가 존재하면, 방법은 블록 716으로 진행되어 목록에서 다음 엔트리를 획득한다. 수신된 기사의 모든 또는 각 단어에 대해, 단어가 키워드 해쉬표에 존재하는지를 결정하도록 테스트된다.
블록 710에서, 문서의 각 단어가 매칭 프로세스를 통과한 후, 방법은 여기서 결과들을 분석하게 된다. 이 블록에서, 선택된 질의와 연관된 선택된 접속사에 대한 접속사 Eval 카운터 및 디폴트 값이 검색된다. 예를 들어, 질의1을 참조하면, 질의 해쉬표에서, 접속사 질의1_접속사1에 대한 Eval 카운터 및 디폴트 카운터가 검색된다.
블록 726에서, Eval 카운터가 카운터 디폴트와 동일한지를 결정하는 테스트가 수행된다. Eval 카운터가 카운터 디폴트와 동일하지 않으면, 접속사는 만족되지 않았고 방법은 블록 730으로 진행된다. Eval 카운터가 카운터 디폴트에 매치하면, 접속사는 만족되었고 블록 728으로 진행된다.
블록 728에서, 접속사에 의해 특정된 키워드가 문서에 매치되므로 질의에 대한 매치 플래그는 1로 설정된다. 따라서, 질의는 문서의 정보에 매치하는 적어도 하나의 접속사를 갖는다. 이후 방법은 블록 732로 진행된다.
블록 730에서, Eval 카운터가 디폴트 카운터에 매치하지 않으면, 이 이상 접속사가 현재의 질의와 연관되는지를 결정하도록 테스트가 수행된다. 테스트될 접속사가 더 존재하면, 방법은 블록 710으로 진행되어 이들 접속사를 테스트한다. 질의와 연관된 접속사가 더이상 없으면 방법은 블록 732로 진행되어 그 밖의 질의들을 처리한다.
블록 732에서, 테스트될 추가 질의들이 있는지를 결정하도록 테스트가 수행된다. 있다면, 방법은 블록 710으로 진행된다. 모든 질의가 테스트되었다면, 방법은 블록 734로 진행된다.
블록 734에서, 통보 메세지가, 1과 동일한 매치값을 갖는 사용자들에게 전송된다. 통보는 이 문서의 다른 섹션에서 논의되는 바와 같은 통보 룰에 의하여 요구되는 바와 같이 즉시적(immediate)이거나 지연될 수 있다.
정확한 숫자 매칭
정확한 숫자 매칭은 사용자 질의가 특정된 범위내의 가격 대신에 정확한 가격을 찾을 때 사용될 수 있다. 일 실시예에서, 정렬된 목록들은 정확한 숫자 매칭에 사용된다. 목록이 오름차순으로 정렬될 때, 원하는 정확한 값(대부분의 경우에 값은 가격일 것이다)을 찾을 때 경보음을 서명한 모든 사용자들을 판정하도록 시작부터 목록을 통하여 진행하는 것은 간단하다. 크게 정렬된 목록들의 문제는 질의들의 추가되거나 또는 삭제됨에 따라, INSERT와 DELETE 동작이 계산적으로 비용이 많이 든다는 것이다.
계산에 관한 높은 비용의 문제를 해결하기 위해서, 테이터 트리(tree) 구조가 사용된다. 높이h의 이진 검색 트리가 INSERT와 DELETE 등의 기본 설정 동작을 O(h) 시간에 구현할 수 있다. 설정 동작은 검색 트리의 높이가 작으면 빠르나, 그 높이가 크면, 그 수행은 링크된 목록에 불과하다.
레드-블랙 트리는, 최악의 경우에 O(log n) 시간이 걸리는 기본 설정 동작을 보장하기 위해서 "밸런스드(balanced)"되는 많은 검색 트리 구조중 하나이다. 레드-블랙 트리는, 그 색상이 빨강 또는 검정이 될 수 있는 노드당 하나의 여분의 비트의 기억장치를 가지는 이진 검색 트리이다. 노드가 루트(root)에서 리프(leaf)까지의 임의 경로에서 착색될 수 있는 방식을 강요함으로써, 레드-블랙 트리는, 이와 같은 경로가 다른 경로 길이의 2배보다 길지 않다는 것을 보증하여, 트리가 거의 균형을 이룬다.
본 발명의 일 실시예에서, 레드-블랙 트리는 접속사포인터목록(606)을 지시하고 유지하는데 사용된다. 레드-블랙 트리는 임의 값(가격)에 대하여 한 세트의 주위 간격을 리턴할 수 있고, 상기 방법(700)의 동작중, 개인 접속사 해쉬(ConjunctionHash)의 Eval카운터(Evalcounter) 변수(632)는 매치가 생길 때 증분될 수 있다.
자동 정지 경보들
일 실시예에서, 통보 경보들은 이들이 트립(trip)된 후의 기간 동안 정지될 수 있다. 예를 들면, XYZ 〉80에 대한 주식 가격 경보는 주식이 주어진 날에 처음으로 $80 이상 매매되어진 후에 정지될 필요가 있을 것이다. 사용자는 가격이 $80을 초과하여 유지하면 매매일의 남은 동안 반복하여 경보되는 것을 원하지 않을 것이다. 이경우, 그것이 트립된 후 매매일의 남은 동안 경보가 정지된다.
자동 제거 경보들
일 실시예에서, 통보 경보는 경보가 트립된 후 제거된다. 예를 들면, "alert me when the movie Casa Blanca is released on DVD"와 같은 검색 질의는 단지 제시간에 한 지점에서 발생할 것이다. 따라서, 통보 경보는 경보가 트립된 후 필요하지 않다. 이 경우, 경보를 트립하기 때문에 또한 시스템에서 경보를 제거하는 행동일 것이다.
들어오는 기사들에 색인 달기
검색 엔진의 매칭 성능을 보다 향상시키기 위해서 본 발명에 포함되는 일 실시예는 들어오는 기사들을 다음 방식으로 처리될 수 있는 미리 조직된 세트로 색인을 단다. 한 세트의 n개의 기사(A1 내지 A4의 4개의 기사)가 모집된다. 기사 세트의 각 단어에는 비트 벡터의 길이(n)가 할당된다. 비트가 비트 벡터에 설정될 때, 특정 단어가 해당 기사에 존재한다. 비트 벡터들은 검색 방법(700)이 실행되기 전에 초기화된다. 키워드 해쉬표(506)의 다른 칼럼은 키워드 해쉬표의 키워드 엔트리가 개별 단어에 대한 비트 벡터로 추가 포인터를 갖도록 포함된다.
방법(700)이 실행되어진 후에, 하나의 추가 단계가 단일 사용자로 복귀되는데 필요한 문서들의 세트를 결정하는데 필요하게 된다. 그 각각의 카운터디폴트와 동일한 Eval카운터를 가지는 모든 접속사 ID에 대해, 단어포인터목록 포인터는 접속사의 모든 키워드에 대해 비트벡터로의 포인터를 얻도록 추종된다. 모든 비트벡터는 접속사를 매치하는 모든 기사의 비트마스크를 생성하도록 함께 AND 한다.
예를 들면, 인덱스 4 기사에 다음 2개의 질의가 고려된다.
ConjId1 = blue AND black
ConjId2 = sunnyvale AND Rent_600
기사 모음의 각 단어에 대한 비트벡터는 다음과 같이 표현될 수 있다
단어들 들어오는 기사들
A1 A2 A3 A4
blue 0 0 1 1
black 1 0 1 0
sunnyvale 0 1 1 0
상기에 기초하여, 키워드 해쉬표은 다음 정보를 포함할 문서 비트 벡터 포인터 칼럼을 포함할 것이다.
키워드 해쉬표
키워드 문서비트벡터포인터 접속사포인터목록
blue 0011 ConjId1
black 1010 ConjId1
sunnyvale 0110 ConjId2
rent_600 널 ConjId2
키워드 "blue"와 "black"이 검색되면, 해당 비트 벡터와 함께 AND 함으로써, 기사3이 두개 모두를 포함하고 따라서 질의에 매치하는 것이 결정될 수 있다. 따라서, 상기 기사 인덱싱은 다중 기사가 동시에 조직되고 검색되게 하고, 그럼으로써 처리 비용을 감소시킨다.
예: Shopping/Classifieds/Auctions
사용자 인터페이스
대부분의 경우에 본 발명에 실시예들에 사용되는 불리안 질의 언어는, 사용자가 한 세트의 소정의 선택에서 선택하는 HTML 형태로 숨겨질 수 있다. 대안으로, 영속적 질의는, 사용자가 입력하는 정규 검색 질의로부터 또는 사용자가 현재 브라우징하는 카테고리로부터 얻어질 수 있다.
컴퓨터 쇼핑
컴퓨터 카테고리에 대한 HTML 인터페이스는 다음 속성들을 가질 수 있다.
브랜드: XXX, YYY, ZZZ, XYZ, YYZ, ZZX
프로세서(적어도): 486, 펜티엄, 펜티엄 프로
최소가: 800, 1000, 1200, 1400
최대가: 800, 1000, 1200, 1400
메모리(적어도): 8, 16, 32, 48, 64, 128
하드 디스크(적어도): 1, 1.5, 2, 3, 4, 6, 8
CD 롬(적어도): 2x, 4x, 6x, 8x, 10x
DVD(적어도): 2x, 4x, 6x, 8x, 10x
모뎀(적어도): 14.4, 19.2, 28.8, 33.6, 56
상기 정보로부터, 검색 질의가 발생될 것이다. 예를 들면, 사용자가 $1200 내지 $1400의 가격 범위의 XXX 컴퓨터를 찾으면, 적어도 펜티엄 프로세서에 있어서, HTML 질의 시스템은 다음 질의를 발생할 것이다.
Shopping_Computer AND Brand_XXX AND Proc_Petium AND
ShopPrice_above_1200;
Shopping_Computer AND Brand_XXX AND Proc_Petium AND
ShopPrice_below_1400;
Shopping_Computer AND Brand_XXX AND Proc_PetiumPro AND
ShopPrice_above_1200;
Shopping_Computer AND Brand_XXX AND Proc_PetiumPro AND
ShopPrice_below_1400.
안내 광고들
안내 광고들은 가격 이외에, (소유자/딜러)에 의해 팔려고 내놓은 자동차 메이커, 모델, 지역, 전화 지역 번호, 가격 범위, 년도, 마일리지 등의 다른 속성들을 포함할 수 있다. 이들 다른 속성을 위해서, 통보 엔진의 실시예들은 "$2000 내지 $5000의 가격 범의의 베이 지역의 자동차를 찾아라"와 같은 질의들을 다음과 같이 처리하게 된다.
Classifieds_Car AND Location_CA_SFO AND CarPrice_above_2000
Classifieds_Car AND Location_CA_SFO AND CarPrice_below_2000
경매
경매는 정확한 숫자 매칭에 적용하는 좋은 후보자이다. 정확한 숫자 매칭에 있어서 그들의 현재 입찰이 비싼 값을 매겼는지를 사용자에게 즉시 통보할 수 있다. 예를 들면, 입찰이 비싼 값을 매겼을 때 질의가 다음과 같이 자동적으로 결정되도록 구성될 수 있다.
Auction_Toy AND blue AND eye AND furby AND CurrentBid > 51.75
상기 설명은 예시적인 것이고 제한적인 것이 아니다. 본 개시를 살펴볼 때 당분야 숙련된 자들에게 본 발명의 많은 변형이 명백하게 될 것이다. 따라서, 본 발명의 범위는 상기 설명에 관련하여 결정되지 않으며, 대신에 첨부된 특허청구범위의 전 범위 등가물과 함께 이들 특허청구범위에 관련하여 결정된다.

Claims (13)

  1. 데이터 네트워크를 통해서 정보 콘텐트를 수신하고 복수의 사용자와 연관된 복수의 질의에 기초하여 정보 콘텐트를 검색하기 위한 검색 엔진에 있어서, 상기 검색 엔진은,
    사용자들로부터의 질의들을 수신하는 논리를 갖는 프로파일 프로세서; 및
    상기 프로파일 프로세서에 연결되어 있으며, 상기 정보 콘텐트를 수신하고, 상기 복수의 사용자로부터의 사용자 질의들을 마스터 질의에 결합하며, 상기 마스터 질의를 정보 콘텐트와 매치시켜 매칭 콘텐트를 결정하는 논리를 가지는 검색 모듈을 포함하고,
    상기 검색 엔진은 또한, 상기 매칭 콘텐트를 분석하여 어느 사용자 질의가 상기 매칭 콘텐트로부터 만족될 수 있는지를 결정하는 논리를 포함하는, 검색 엔진.
  2. 제1항에 있어서, 사용자들의 각각의 질의들이 만족되는지를 상기 사용자들에게 통보하는 논리를 갖는 통보 모듈을 더 포함하는, 검색 엔진.
  3. 제1항에 있어서, 상기 프로파일 모듈은 복수의 사용자 질의를 수신하는 논리를 갖는 사용자 인터페이스 모듈을 포함하는, 검색 엔진.
  4. 제1항에 있어서, 상기 검색 모듈은 상기 매칭 콘텐트를 저장하기 위한 메모리를 더 포함하는, 검색 엔진.
  5. 제1항에 있어서, 상기 사용자 질의들은 텍스트 검색 기호열(string)들 및 불리안 표현식들을 포함하는, 검색 엔진.
  6. 제1항에 있어서, 상기 검색 모듈은 사용자 질의들로부터 해쉬표들을 생성하고 정보 콘텐트를 해쉬표들의 정보와 매치시키는 논리를 포함하는, 검색 엔진.
  7. 데이터 네트워크를 통해 수신된 정보 콘텐트를 검색하는 방법에 있어서, 상기 방법은,
    복수의 사용자들로부터 복수의 사용자 질의를 수신하는 단계;
    상기 데이터 네트워크를 통해 정보 콘텐트를 수신하는 단계;
    상기 복수의 사용자들로부터의 사용자 질의들을 마스터 질의에 결합하는 단계;
    상기 마스터 질의를 상기 정보 콘텐트와 매치시켜 매칭 콘텐트를 결정하는 단계; 및
    상기 매칭 콘텐트를 분석하여, 어느 사용자 질의가 상기 매칭 콘텐트로부터 만족될 수 있는지 결정하는, 검색 방법.
  8. 제7항에 있어서, 사용자들의 각각의 질의들이 만족되는지를 이들에게 통보하는 단계를 더 포함하는, 검색 방법.
  9. 제7항에 있어서, 상기 결합하는 단계는,
    키워드로부터 형성된 복수의 접속사를 포함하는 정규화된 질의들을 형성하도록 질의들을 정규화시키는 단계; 및
    접속사들과 키워드들로부터 복수의 해쉬표를 형성하는 단계를 포함하는, 검색 방법.
  10. 제9항에 있어서, 상기 매치시키는 단계는,
    키워드들 중 어떤 키워드가 정보 콘텐트에 존재하는지를 결정하는 단계; 및
    상기 결정 단계의 결과들에 기초하여 상기 해쉬표들을 갱신하는 단계를 포함하는, 검색 방법.
  11. 제10항에 있어서, 적어도 하나의 키워드는 텍스트 구를 포함하고 상기 매치시키는 단계는 상기 텍스트 구가 정보 콘텐트에 존재하는지를 결정하는 단계를 포함하는, 검색 방법.
  12. 제11항에 있어서, 상기 분석하는 단계는 어떠한 접속사가 정보 콘텐트에서 발견되는 지에 기초하여 매치 파라미터를 갱신하는 단계를 포함하는, 검색 방법.
  13. 제12항에 있어서, 상기 통보하는 단계는 매치 파라미터에 기초하여 사용자들에게 통보하는 단계를 포함하는, 검색 방법.
KR1020027000492A 1999-07-12 2000-07-12 개인화된 정보 여과 및 경보 발생을 위한 시스템 및 방법 KR100705980B1 (ko)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US14347399P 1999-07-12 1999-07-12
USUS60/143,473 1999-07-12
US09/613,436 US6381594B1 (en) 1999-07-12 2000-07-11 System and method for personalized information filtering and alert generation
USUS09/613,436 2000-07-11

Publications (2)

Publication Number Publication Date
KR20020050222A KR20020050222A (ko) 2002-06-26
KR100705980B1 true KR100705980B1 (ko) 2007-04-10

Family

ID=22504239

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020027000492A KR100705980B1 (ko) 1999-07-12 2000-07-12 개인화된 정보 여과 및 경보 발생을 위한 시스템 및 방법

Country Status (7)

Country Link
US (1) US6381594B1 (ko)
EP (1) EP1212700A4 (ko)
JP (1) JP4593855B2 (ko)
KR (1) KR100705980B1 (ko)
AU (1) AU6092600A (ko)
CA (1) CA2378701A1 (ko)
WO (1) WO2001004802A1 (ko)

Families Citing this family (109)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6144958A (en) * 1998-07-15 2000-11-07 Amazon.Com, Inc. System and method for correcting spelling errors in search queries
US7013292B1 (en) * 1999-06-10 2006-03-14 Felicite.Com Inc. Method and system for universal gift registry
US6983311B1 (en) * 1999-10-19 2006-01-03 Netzero, Inc. Access to internet search capabilities
US6665640B1 (en) 1999-11-12 2003-12-16 Phoenix Solutions, Inc. Interactive speech based learning/training system formulating search queries based on natural language parsing of recognized user queries
US7725307B2 (en) * 1999-11-12 2010-05-25 Phoenix Solutions, Inc. Query engine for processing voice based queries including semantic decoding
US9076448B2 (en) 1999-11-12 2015-07-07 Nuance Communications, Inc. Distributed real time speech recognition system
US6615172B1 (en) 1999-11-12 2003-09-02 Phoenix Solutions, Inc. Intelligent query engine for processing voice based queries
US7050977B1 (en) 1999-11-12 2006-05-23 Phoenix Solutions, Inc. Speech-enabled server for internet website and method
US6633846B1 (en) 1999-11-12 2003-10-14 Phoenix Solutions, Inc. Distributed realtime speech recognition system
US7392185B2 (en) 1999-11-12 2008-06-24 Phoenix Solutions, Inc. Speech based learning/training system using semantic decoding
US6493742B1 (en) * 1999-12-13 2002-12-10 Weddingchannel.Com, Inc. System and method for providing internet accessible registries
US6999957B1 (en) * 2000-01-11 2006-02-14 The Relegence Corporation System and method for real-time searching
US7191223B1 (en) * 2000-01-11 2007-03-13 The Relegence Corporation System and method for real-time alerts
US7624172B1 (en) * 2000-03-17 2009-11-24 Aol Llc State change alerts mechanism
US9246975B2 (en) 2000-03-17 2016-01-26 Facebook, Inc. State change alerts mechanism
AU2001251155A1 (en) 2000-03-31 2001-10-15 Softcoin, Inc. Facilitating transactions between merchant, associate, and user
US7089240B2 (en) 2000-04-06 2006-08-08 International Business Machines Corporation Longest prefix match lookup using hash function
US6865574B1 (en) * 2000-06-02 2005-03-08 Vignette Corporation Method for client-side personalization
US6669564B1 (en) * 2000-06-27 2003-12-30 Electronic Arts Inc. Episodic delivery of content
US20030009437A1 (en) * 2000-08-02 2003-01-09 Margaret Seiler Method and system for information communication between potential positionees and positionors
US6922701B1 (en) * 2000-08-03 2005-07-26 John A. Ananian Generating cad independent interactive physical description remodeling, building construction plan database profile
JP2002063121A (ja) * 2000-08-23 2002-02-28 Minolta Co Ltd データ配信装置
US6785675B1 (en) * 2000-11-13 2004-08-31 Convey Development, Inc. Aggregation of resource requests from multiple individual requestors
WO2002045322A2 (en) * 2000-11-29 2002-06-06 Pulsent Corporation Method and apparatus for combining dedicated and shared networks for efficient data transmission
US20020091879A1 (en) * 2000-12-21 2002-07-11 James Beriker System, method and apparatus for dynamic traffic management on a network
US7739195B2 (en) * 2001-01-12 2010-06-15 Acs State & Local Solutions, Inc. Apparatus and methods for providing a payment system over a network
US20020120712A1 (en) * 2001-02-27 2002-08-29 Seth Maislin Providing information to a user based on the user's search patterns
US8868659B2 (en) * 2001-05-15 2014-10-21 Avaya Inc. Method and apparatus for automatic notification and response
US20020194162A1 (en) * 2001-05-16 2002-12-19 Vincent Rios Method and system for expanding search criteria for retrieving information items
US6714934B1 (en) 2001-07-31 2004-03-30 Logika Corporation Method and system for creating vertical search engines
US20030061204A1 (en) * 2001-09-25 2003-03-27 Parry Travis J. Systems and methods for selective information retrieval based on search source attributes
US20030157470A1 (en) * 2002-02-11 2003-08-21 Michael Altenhofen E-learning station and interface
US7010520B2 (en) 2002-04-26 2006-03-07 International Business Machines Corporation Method and system for searching documents with numbers
US7106846B2 (en) * 2002-04-30 2006-09-12 Bellsouth Intellectual Property Corp. System and method for caller control of a distinctive ring
US7844047B1 (en) 2002-07-23 2010-11-30 At&T Intellectual Property I, L.P. Tune master internet protocol device
US7356132B1 (en) 2002-07-23 2008-04-08 At&T Delaware Intellectual Property, Inc. Tune master telephone
US7519166B1 (en) 2002-07-23 2009-04-14 At&T Intellectual Property I, L.P. Tune master caller identification device
US20040068436A1 (en) * 2002-10-08 2004-04-08 Boubek Brian J. System and method for influencing position of information tags allowing access to on-site information
US7197135B1 (en) * 2002-10-24 2007-03-27 Bellsouth Intellectual Property Corporation Systems and methods for caller-controlled tune notification of a call
US20050091106A1 (en) * 2003-10-27 2005-04-28 Reller William M. Selecting ads for a web page based on keywords located on the web page
US7640306B2 (en) 2002-11-18 2009-12-29 Aol Llc Reconfiguring an electronic message to effect an enhanced notification
US7289981B2 (en) * 2002-12-10 2007-10-30 International Business Machines Corporation Using text search engine for parametric search
US7921052B2 (en) * 2002-12-31 2011-04-05 Autotrader.Com, Inc. Efficient online auction style listings that encourage out-of-channel negotiation
US20040172537A1 (en) * 2003-02-28 2004-09-02 Baus George Harold System and method for tracking and authenticating items through an internet web site
US7191147B2 (en) * 2003-06-12 2007-03-13 Adpay, Inc. Facilitating the sale of ad items via the internet
US7747638B1 (en) * 2003-11-20 2010-06-29 Yahoo! Inc. Techniques for selectively performing searches against data and providing search results
US8805933B2 (en) * 2003-12-29 2014-08-12 Google Inc. System and method for building interest profiles from related messages
US7409641B2 (en) * 2003-12-29 2008-08-05 International Business Machines Corporation Method for replying to related messages
US7818680B2 (en) * 2003-12-29 2010-10-19 International Business Machines Corporation Method for deleting related messages
US7412437B2 (en) * 2003-12-29 2008-08-12 International Business Machines Corporation System and method for searching and retrieving related messages
US8676837B2 (en) * 2003-12-31 2014-03-18 Google Inc. Systems and methods for personalizing aggregated news content
US8126865B1 (en) 2003-12-31 2012-02-28 Google Inc. Systems and methods for syndicating and hosting customized news content
US7734731B2 (en) * 2004-03-18 2010-06-08 Avaya Inc. Method and apparatus for a publish-subscribe system with third party subscription delivery
US20050267810A1 (en) * 2004-06-01 2005-12-01 Zhiliang Zheng System, method and computer program product for organizing items for presentment to a user
US20050267820A1 (en) * 2004-06-01 2005-12-01 Zhiliang Zheng System, method and computer program product for finding customer orientated advertisements
US20060041478A1 (en) * 2004-06-01 2006-02-23 Zhiliang Zheng Universal network market system
US20050267809A1 (en) * 2004-06-01 2005-12-01 Zhiliang Zheng System, method and computer program product for presenting advertising alerts to a user
US20060041476A1 (en) * 2004-08-17 2006-02-23 Zhiliang Zheng System and method for providing an expert platform
US20060041477A1 (en) * 2004-08-17 2006-02-23 Zhiliang Zheng System and method for providing targeted information to users
US8364670B2 (en) * 2004-12-28 2013-01-29 Dt Labs, Llc System, method and apparatus for electronically searching for an item
US7529735B2 (en) * 2005-02-11 2009-05-05 Microsoft Corporation Method and system for mining information based on relationships
US8589452B2 (en) * 2005-02-23 2013-11-19 Microsoft Corporation End user defined event rules for ERP applications
US20070005386A1 (en) * 2005-04-14 2007-01-04 Accenture Global Services, Gmbh Content production maintenance tool for human and non-human activity tracking
CN101185091A (zh) * 2005-04-14 2008-05-21 埃森哲全球服务有限公司 与应用相关的人为和非人为动作跟踪的内容制作维护工具
US7836127B2 (en) * 2005-04-14 2010-11-16 Accenture Global Services Limited Dynamically triggering notifications to human participants in an integrated content production process
US20070174167A1 (en) * 2005-05-20 2007-07-26 Stefano Natella Derivative relationship news event reporting
US20090265245A1 (en) * 2005-06-27 2009-10-22 Wright Rocky J Communications platform for enabling bi-directional communication between providers consumers and advertisers using a computer network and/or mobile devices using desktop and or mobiletop interactive windowless video
US20080010125A1 (en) * 2006-06-27 2008-01-10 Rocky Wright System and Method For Enabling Bi-Directional Communication Between Providers And Consumers of Information In Multi-Level Markets Using A Computer Network
JP5032477B2 (ja) * 2005-08-19 2012-09-26 フォースウォール・メディア・インコーポレーテッド ユーザに関心を引くアイテムを推奨するシステムおよび方法
US8260777B1 (en) * 2005-09-09 2012-09-04 A9.Com, Inc. Server system and methods for matching listings to web pages and users
US20070073708A1 (en) * 2005-09-28 2007-03-29 Smith Adam D Generation of topical subjects from alert search terms
US20070100836A1 (en) * 2005-10-28 2007-05-03 Yahoo! Inc. User interface for providing third party content as an RSS feed
US20070100959A1 (en) * 2005-10-28 2007-05-03 Yahoo! Inc. Customizing RSS content for use over a network
US20070100960A1 (en) * 2005-10-28 2007-05-03 Yahoo! Inc. Managing content for RSS alerts over a network
US20070150520A1 (en) * 2005-12-08 2007-06-28 Microsoft Corporation User defined event rules for aggregate fields
US7925649B2 (en) 2005-12-30 2011-04-12 Google Inc. Method, system, and graphical user interface for alerting a computer user to new results for a prior search
US9600822B2 (en) * 2006-02-06 2017-03-21 Autotrader.Com, Inc. Structured computer-assisted method and apparatus for filtering information presentation
US8443372B2 (en) * 2006-03-23 2013-05-14 International Business Machines Corporation Methods and systems for partitioning data in parallel processing systems
US9443022B2 (en) 2006-06-05 2016-09-13 Google Inc. Method, system, and graphical user interface for providing personalized recommendations of popular search queries
US8175623B2 (en) * 2006-06-14 2012-05-08 Yahoo! Inc. Platform for managing mobile domains and keyword-activated applications
KR100778314B1 (ko) * 2006-08-21 2007-11-22 한국전자통신연구원 사용자 정의 공유 트리거를 이용한 데이터 스트림과 저장데이터에 대한 통합 연속 질의 처리 시스템 및 그 방법
US20140129539A1 (en) * 2007-11-14 2014-05-08 Paul Vincent Hayes System and method for personalized search
US20080154924A1 (en) * 2006-12-22 2008-06-26 Jun Ding Dynamic networking by matching profile information
US8266116B2 (en) * 2007-03-12 2012-09-11 Broadcom Corporation Method and apparatus for dual-hashing tables
US20080263009A1 (en) * 2007-04-19 2008-10-23 Buettner Raymond R System and method for sharing of search query information across organizational boundaries
US20080276188A1 (en) * 2007-05-03 2008-11-06 Michael Zerger Method of distributed storytelling
US20080319975A1 (en) * 2007-06-22 2008-12-25 Microsoft Corporation Exploratory Search Technique
US20090006358A1 (en) * 2007-06-27 2009-01-01 Microsoft Corporation Search results
US20090006324A1 (en) * 2007-06-27 2009-01-01 Microsoft Corporation Multiple monitor/multiple party searches
WO2009066295A2 (en) * 2007-11-22 2009-05-28 Changenetics Llc Communication systems and methods
US8051076B1 (en) * 2007-12-13 2011-11-01 Google Inc. Demotion of repetitive search results
CN101520784B (zh) * 2008-02-29 2011-09-28 富士通株式会社 信息发布系统和信息发布方法
US11048765B1 (en) 2008-06-25 2021-06-29 Richard Paiz Search engine optimizer
US8341415B1 (en) * 2008-08-04 2012-12-25 Zscaler, Inc. Phrase matching
US8504582B2 (en) * 2008-12-31 2013-08-06 Ebay, Inc. System and methods for unit of measurement conversion and search query expansion
US9031990B2 (en) * 2009-08-11 2015-05-12 Q2 Management Inc. Data processing system for manufacturing quality inspection management system
US9165043B2 (en) * 2009-11-25 2015-10-20 Maobing Jin Logical object search framework and application programming interface
US9009137B2 (en) 2010-03-12 2015-04-14 Microsoft Technology Licensing, Llc Query model over information as a networked service
US8595080B2 (en) 2010-04-09 2013-11-26 XO Group Inc. Systems and methods for a centralized gift registry with two-way synchronization
US8219452B2 (en) 2010-04-09 2012-07-10 XO Group Inc. Systems and methods for a centralized gift registry with upload and merge of a retailer-specific registry
US8463765B2 (en) * 2011-04-29 2013-06-11 Zachary C. LESAVICH Method and system for creating vertical search engines with cloud computing networks
US20140082468A1 (en) * 2012-09-14 2014-03-20 Adrian Alexander May Browser for rating pages with respect to search goals
KR101416586B1 (ko) * 2012-10-17 2014-07-08 주식회사 리얼타임테크 해쉬를 이용한 전문 기반 논리 연산 수행 방법
US11741090B1 (en) 2013-02-26 2023-08-29 Richard Paiz Site rank codex search patterns
US11809506B1 (en) 2013-02-26 2023-11-07 Richard Paiz Multivariant analyzing replicating intelligent ambience evolving system
US9391896B2 (en) * 2014-03-10 2016-07-12 Palo Alto Research Center Incorporated System and method for packet forwarding using a conjunctive normal form strategy in a content-centric network
US11182437B2 (en) * 2017-10-26 2021-11-23 International Business Machines Corporation Hybrid processing of disjunctive and conjunctive conditions of a search query for a similarity search
CN111460248B (zh) * 2019-01-19 2023-05-23 北京嘀嘀无限科技发展有限公司 用于线上到线下服务的系统和方法
CN112988754B (zh) * 2021-04-08 2023-07-14 中煤科工集团重庆研究院有限公司 一种面向数据集成的快速查询方法

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH03129472A (ja) * 1989-07-31 1991-06-03 Ricoh Co Ltd 文書検索装置における処理方法
US5488725A (en) * 1991-10-08 1996-01-30 West Publishing Company System of document representation retrieval by successive iterated probability sampling
CA2120447C (en) * 1994-03-31 1998-08-25 Robert Lizee Automatically relaxable query for information retrieval
US5867799A (en) 1996-04-04 1999-02-02 Lang; Andrew K. Information system and method for filtering a massive flow of information entities to meet user information classification needs
US5870733A (en) * 1996-06-14 1999-02-09 Electronic Data Systems Corporation Automated system and method for providing access data concerning an item of business property
JP4153989B2 (ja) * 1996-07-11 2008-09-24 株式会社日立製作所 文書検索配送方法および装置
US5890152A (en) * 1996-09-09 1999-03-30 Seymour Alvin Rapaport Personal feedback browser for obtaining media files
US5778363A (en) * 1996-12-30 1998-07-07 Intel Corporation Method for measuring thresholded relevance of a document to a specified topic
JP3547069B2 (ja) * 1997-05-22 2004-07-28 日本電信電話株式会社 情報関連づけ装置およびその方法
US5970493A (en) * 1997-05-29 1999-10-19 Oracle Corporation Method, article of manufacture, and apparatus for generating a multi-dimensional record display
US5873081A (en) * 1997-06-27 1999-02-16 Microsoft Corporation Document filtering via directed acyclic graphs
US6029165A (en) * 1997-11-12 2000-02-22 Arthur Andersen Llp Search and retrieval information system and method
US5987457A (en) * 1997-11-25 1999-11-16 Acceleration Software International Corporation Query refinement method for searching documents
US6208988B1 (en) * 1998-06-01 2001-03-27 Bigchalk.Com, Inc. Method for identifying themes associated with a search query using metadata and for organizing documents responsive to the search query in accordance with the themes
US6226635B1 (en) * 1998-08-14 2001-05-01 Microsoft Corporation Layered query management

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
05987457 *
국제학술대회 ICON-12 프로시딩(1998) *
국제학술대회 IEEE 프로시딩(1998) *

Also Published As

Publication number Publication date
US6381594B1 (en) 2002-04-30
CA2378701A1 (en) 2001-01-18
EP1212700A1 (en) 2002-06-12
EP1212700A4 (en) 2009-05-13
WO2001004802A1 (en) 2001-01-18
JP4593855B2 (ja) 2010-12-08
KR20020050222A (ko) 2002-06-26
JP2003507809A (ja) 2003-02-25
AU6092600A (en) 2001-01-30

Similar Documents

Publication Publication Date Title
KR100705980B1 (ko) 개인화된 정보 여과 및 경보 발생을 위한 시스템 및 방법
US7562076B2 (en) Systems and methods for search query processing using trend analysis
US20180239798A1 (en) System to generate related search queries
US10324938B2 (en) Ranking algorithm for search queries
US6804662B1 (en) Method and apparatus for query and analysis
US8380721B2 (en) System and method for context-based knowledge search, tagging, collaboration, management, and advertisement
US7392238B1 (en) Method and apparatus for concept-based searching across a network
US6665837B1 (en) Method for identifying related pages in a hyperlinked database
AU708217B2 (en) Evaluation of the content of a data set using multiple and/or complex queries
US9043331B2 (en) System and method for indexing documents on the world-wide web
US7921097B1 (en) Systems and methods for generating a descriptive uniform resource locator (URL)
US20060294071A1 (en) Facet extraction and user feedback for ranking improvement and personalization
US20030065663A1 (en) Computer-implemented knowledge repository interface system and method
KR20000072482A (ko) 이용자의 검색을 용이하게 하는 인터넷 검색 시스템 및 그방법
KR20080105129A (ko) 버즈 광고 정보의 표적화
US8214369B2 (en) System and method for indexing and prefiltering
US20020078054A1 (en) Group forming system, group forming apparatus, group forming method, program, and medium
US7809745B2 (en) Method for generating structured query results using lexical clustering
Felser et al. Recommendation of query terms for colloquial texts in forensic text analysis
US7093233B1 (en) Computer-implemented automatic classification of product description information
AU2015204354B2 (en) System to generate related search queries
AU2013203878B2 (en) System to generate related search queries
WO2002027550A1 (en) Match engine for matching profiles

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
LAPS Lapse due to unpaid annual fee