KR19990076970A - 다수 및/또는 복합 질의를 사용하여 데이터 세트의 내용을 평가하는 방법 및 시스템 - Google Patents
다수 및/또는 복합 질의를 사용하여 데이터 세트의 내용을 평가하는 방법 및 시스템 Download PDFInfo
- Publication number
- KR19990076970A KR19990076970A KR1019980705098A KR19980705098A KR19990076970A KR 19990076970 A KR19990076970 A KR 19990076970A KR 1019980705098 A KR1019980705098 A KR 1019980705098A KR 19980705098 A KR19980705098 A KR 19980705098A KR 19990076970 A KR19990076970 A KR 19990076970A
- Authority
- KR
- South Korea
- Prior art keywords
- evidence
- query
- queries
- data set
- descriptor
- Prior art date
Links
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/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/33—Querying
-
- 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/2453—Query optimisation
- G06F16/24534—Query rewriting; Transformation
- G06F16/24542—Plan optimisation
-
- 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/99932—Access augmentation or optimizing
-
- 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/99934—Query formulation, input preparation, or translation
-
- 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
-
- 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/99936—Pattern matching access
-
- 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/99937—Sorting
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Operations Research (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
본 발명은 데이터 세트가 하나 이상의 질의(query)를 만족시키는가 여부를 결정하기 위해 데이터 세트의 내용을 평가하는 것을 가능하게 한다. 본 발명은 질의의 수가 크고 또한/또는 질의가 복잡할 때에도 많은 수의 데이터 세트를 이전에 가능했던 것 보다 훨씬 더 신속하게 평가하는 것을 가능하게 한다. 질의는 각 질의의 각 질의어(query term)을 하나 이상의 증거 기술자(evidence descriptor)와 하나 이상의 조합 작용어로 해석하고, 각 질의가 서로 동작가능하게 관련된 하나 이상의 조합 작용어 및 하나 이상의 증거 기술자에 의해 정의되도록 각 조합 작용어를 적어도 하나의 증거 기술자나 다른 조합 작용어에 동작가능하게 관련시킴으로서 하나 이상의 지정된 질의로부터 구성되는 질의어의 실행 계획을 사용해 평가된다. 양호하게, 실행 계획에서는 증거 기술자나 조합 작용어가 전혀 복제되지 않는다. 본 발명은 텍스트(text) 문서나 데이터베이스(database)와 같은 다양한 형태의 데이터 세트를 평가하는데 사용될 수 있다. 본 발명은 두 단계로 질의에 대한 데이터 세트의 신속한 평가를 이루도록 더 최적화될 수 있다. 먼저, 데이터 세트에 의해 만족되는 하나 이상의 후보 질의는 각 질의를 대략 평가함으로서 식별된다. 두 번째로, 각 후보 질의는 후보 질의가 데이터 세트에 의해 만족되는가 여부를 결정하기 위해 전체적으로 평가된다.
Description
데이터의 세트가 하나 이상의 제약 조건을 만족시키는가 여부를 결정하기 위해 데이터 세트를 평가하는 것이 바람직한 경우는 많이 있다. 예를 들어, 만약 있다면, 다수의 텍스트(text) 문서 중 어느 것이 특정한 주제에 대한 정보를 포함하는가를 결정할 필요가 있다. 또는, 데이터베이스에서 특정한 정보가 관심 있는 방법으로 변화되었나 여부를 알기 원하는 경우가 있다.
때때로, 이러한 데이터 세트의 평가를 탐색하는 엔티티(entity)가 많이 있고, 각 엔티티는 다른 엔티티와 다른 제약 조건 세트에 대해 이러한 평가를 탐색하므로, 데이터 세트는 다수의 제약 조건 세트에 대해 평가되어야 한다. 또한, 제약 조건 세트는 매우 복잡할 수 있다. 부가적으로, 평가되어야 하는 데이터 세트의 수가 많을 수 있다.
이전에는 이러한 상황에서, 각 데이터 세트가 다른 제약 조건 세트에 대한 고려 없이 각 제약 조건 세트에 대해 평가되었다. 그러나, 제약 조건 세트의 수가 클 때나 제약 조건 세트가 복잡할 때, 또는 평가될 데이터 세트의 수가 클 때 - 또는, 특히 이러한 환경이 두 개 이상 존재할 때, 이 접근법은 바람직하지 못하게 오랜 시간을 걸릴 수 있다.
더욱이, 전형적으로 데이터 세트는 제약 조건 세트에 의해 규정된 바와 같은 완벽한 정확도로, 각 제약 조건 세트에 대해 전체적으로 평가된다. 기술된 바와 같이, 제약 조건 세트는 매우 복잡할 수 있으므로 - 제약 조건의 수가 크거나 특정한 제약 조건의 평가가 수월하지 않기 때문에 -, 이와 같이 완벽하게 정확한 제약 조건 세트의 평가는 어렵고 또한/또는 시간이 소모된다. 문제점은 제약 조건 세트의 수 또한/또는 평가될 데이터 세트의 수가 클 때 악화된다.
데이터 세트가 제약 조건 세트를 만족시키는가를 결정하기 위해, 상술된 문제점을 극복한 방법으로, 데이터 세트를 신속히 평가할 수 있는 것이 바람직하다. 특히, 만약 있다면, 데이터 세트 중 어느 것이 가능한 복잡한 다중 세트의 제약 조건을 만족시키는가를 결정하기 위해 다중 세트의 데이터를 신속히 평가할 수 있는 것이 바람직하다. 또한, 이러한 제약 조건 세트에 대해 많은 수의 데이터 세트의 실시간 평가를 탄력있게 만들도록 평가가 충분히 신속한 것이 바람직하다.
본 발명은 데이터의 세트가 하나 이상의 제약 조건(constraint) 세트를 만족시키는가 여부를 결정하기 위해 데이터 세트의 내용을 평가하는 것에 관련된다. 특히, 본 발명은 다중 복합 세트의 제약 조건을 사용해 다중 세트의 데이터를 평가하는 것에 관련된다.
도 1은 데이터 세트가 하나 이상의 질의(query)를 만족시키는가 여부를 결정하기 위해 데이터 세트의 내용을 평가하기 위한 본 발명에 따른 시스템을 설명하는 블록도.
도 2는 본 발명에 따른 실행 계획을 설명하는 도면.
도 3a 및 도 3b는 데이터 세트가 하나 이상의 질의를 만족시키는가 여부를 결정하기 위해 데이터 세트의 내용을 평가하기 위한 본 발명에 따른 방법을 설명하는 흐름도.
도 4a 내지 도 4e는 도 3a 및 도 3b의 방법에서 동작 특성을 설명하는 도 2의 실행 계획의 도면으로서, 도 4a는 실행 계획의 근사 이후의 실행 계획을 설명하는 도면이고, 도 4b는 실행 계획에서 증거 기술자의 활성화를 설명하는 도면이고, 도 4c는 실행 계획에서 질의어(query term)의 활성화를 설명하는 도면이고, 도 4d는 질의의 모든 질의어를 활성화하는 것으로부터 기인되는, 실행 계획에서 질의의 활성화를 설명하는 도면이고, 또한 도 4e는 데이터 세트의 평가를 완료한 이후에 활성화된 후보 질의를 설명하는 도면.
< 발명의 요약 >
일반적으로, 본 발명은 데이터 세트가 하나 이상의 제약 조건("질의어(query term)")의 세트("질의(query)")를 만족시키는가 여부를 결정하기 위해 데이터 세트의 내용을 평가할 수 있게 한다. 본 발명의 중요한 특성은 질의의 수가 크고 또한/또는 질의가 복잡할 때에도, 많은 수의 데이터 세트가 이전에 가능했던 것 보다 훨씬 더 신속하게 평가될 수 있는 점이다.
본 발명의 한 특성으로, 다양한 질의는 만약 있다면, 데이터 세트 중 어느 것이 하나 이상의 질의를 만족시키는가를 결정하기 위해 하나 이상의 데이터 세트를 평가하는데 사용되는 실행 계획(execution plan)으로 조합된다. 실행 계획의 각 질의는 또 다른 실행 계획 질의에 동작 가능하게 관련된다. 질의간의 관계는 데이터 세트가 이전에 그 경우였던 것 보다 더 적합한 방법으로 질의에 대해 평가될 수 있게 한다. 예를들면, 실행 계획은 또 다른 질의에 또한 나타나는 한 질의의 질의어가 그 질의와 공유되도록 허용하므로, 질의어의 단일 평가 결과가 그 질의어를 포함하는 질의의 평가에 사용될 수 있다. 이와 같이 공유되지 않으면, 질의어는 그 질의어가 일부인 각 질의에 대해 각기 평가되어야 한다. 알 수 있는 바와 같이, 이러한 공유는 특히, 질의의 수나 질의내의 질의어의 수가 클 때, 다양한 질의를 평가하는데 요구된 시간량을 줄일 수 있다. 질의간의 관계는 또한 질의가 실행 계획에 쉽게 부가되거나 그로부터 삭제되도록 허용하는데 이용될 수 있으므로, 현존하는 실행 계획은 두절되지 않고, 그에 의해 현존하는 실행 계획에 대한 데이터 세트의 평가를 중지시키지 않고 실행 계획의 수정이 허용된다. 예를들면, 실행 계획에 부가되거나 삭제되는 질의는 만약 있다면, 부가되거나 삭제된 질의의 질의어 중 어느 것이 실행 계획에서 다른 질의의 질의어와 다른가를 결정하기 위해 실행 계획의 다른 질의에 비교될 수 있다. 부가되거나 삭제되고 있는 질의에 유일한 질의어만을 부가 또는 삭제하기 위해서는 유사성과 차이점이 사용될 수 있다.
본 발명의 또 다른 특성으로, 실행 계획의 질의에서 각 질의어는 조합 작용어(operators)에 관련될 수 있는 하나 이상의 증거 기술자(evidence descriptors)를 포함한다. 각 증거 기술자는 데이터 세트의 내용 중 일부분을 나타내는 증거 일부를 설명한다. 실행 계획은 각 증거 일부를 하나 이상의 증거 기술자에 비교하고 증거 일부에 의해 만족되는 각 증거 기술자를 식별함으로서 평가된다. 만족되는 증거 기술자를 포함하는 각 질의어나 만족된 또 다른 질의어는 그 질의어가 만족되었나 여부를 결정하기 위해 평가된다. 모든 질의어가 만족된 각 질의는 데이터 세트에 의해 만족된 질의로 식별된다. 질의의 평가는 각 증거 기술자와 각 증거 일부의 종류를 식별하고, 증거 기술자 중 하나의 종류와 같은 종류인 증거 일부만을 평가함으로서 더 최적화될 수 있다. 질의의 평가는 또한 각 증거 일부를 그 증거 일부와 같은 종류인 증거 기술자에만 비교함으로서 더 최적화될 수 있다. 부가적으로, 증거 일부를 증거 기술자에 비교하는 것은 증거 및 증거 기술자의 종류에 의존해 최적화될 수 있다.
본 발명의 또 다른 특성으로, 데이터 세트는 두 단계에서 실행 계획에 대해 평가된다. 먼저, 데이터 세트에 의해 만족되는 하나 이상의 후보 질의가 식별된다. 후보 질의의 식별은 완벽하게 정확한 각 질의의 평가에 관여하지 않고 행해질 수 있어서, 식별이 매우 빠르게 실행될 수 있다. 예를들면, 후보 질의는 먼저 각 질의어를 근접시키고, 이어서 근접된 질의어에 대해 데이터 세트를 평가함으로서 식별될 수 있다. 근접된 모든 질의어가 데이터 세트에 의해 만족되는 각 질의는 후보 질의로 식별된다. 일단 후보 질의가 식별되었으면, 제 2 단계에서는 후보 질의가 데이터 세트에 의해 만족되는가 여부를 결정하기 위해 각 후보 질의가 평가된다. 이 단계에서, 각 후보 질의는 그 질의의 (근접되지 않은) 질의어 요구조건에 따라 정확히 평가된다. 전형적으로, 후보 질의의 수는 총 질의의 수 보다 훨씬 적기 때문에, 이 제 2 단계는 또한 매우 신속히 실행될 수 있다. 전체적으로, 본 발명의 두 단계 접근법은 이전의 다른 접근법(각 질의에 대해 완벽하고 정확한 데이터 세트의 평가와 같은) 보다 훨씬 적은 실행 시간을 요구한다.
본 발명은 다양한 종류의 데이터 세트를 평가하는데 사용될 수 있다. 예를들면, 본 발명은 하나 이상의 텍스트 문서가 텍스트 문서의 내용에 대해 임의의 수의 사용자가 지정한 질의를 만족시키는가 여부를 결정하기 위해 임의의 수의 텍스트 문서 각각을 평가하는데 사용될 수 있다. 또 다른 예로, 본 발명은 또한 하나 이상의 필드(field)가 필드의 내용에 대해 임의의 수의 사용자가 지정한 질의를 만족시키는가 여부를 결정하기 위해 임의의 수의 데이터베이스의 필드 각각을 평가하는데 사용될 수 있다.
본 발명은 데이터 세트가 하나 이상의 제약 조건의 세트를 만족시키는가 여부를 결정하기 위해 데이터 세트의 내용을 평가하는 것을 가능하게 한다. (이후, 하나 이상의 제약 조건의 세트는 "질의(query)"라 칭하여지고, 각 제약 조건은 "질의어(query term)"이라 칭하여진다.) 본 발명은 이러한 평가가 이전의 평가 방법 보다 훨씬 더 신속하게 발생되도록 할 수 있다. 특정한 이점으로, 본 발명은 질의의 수가 크고 또한/또는 질의가 복잡한(즉, 다수의 질의어를 포함하고 또한/또는 평가하기 복잡한 질의어를 포함하는) 경우에 신속한 데이터 세트의 평가를 가능하게 한다. 임의의 수의 데이터 세트가 평가될 수 있으므로, 본 발명의 이점은 평가될 데이터 세트의 수가 증가됨에 따라 더 커진다.
본 발명은 평가가 이전에 있었던 경우 보다 더 신속하게 완료될 수 있는 새로운 실행 계획을 사용한다. (이후 더 상세히 기술될 바와 같이, "실행 계획(execution plan)"은 각 질의가 적어도 하나의 다른 질의와 동작 가능하게 관련된 다양한 질의를 나타낸다.) 실행 계획은 다중 질의를 단일 목적으로 나타내므로, 질의에 대한 데이터 세트의 평가를 효율적으로 만든다. 부가하여, 실행 계획은 계산적인 자원이 다중 질의에 의해 공유되는 것을 가능하게 하므로, 불필요한 용장도가 제거된다. 예를들면, 실행 계획은 다중 질의가 다중 질의 각각의 일부로 나타나는 단일 질의어를 공유하기 위해 허용할 수 있으므로, 하나 이상의 질의에서 나타나는 질의어의 과다한 평가를 줄이고, 그에 의해 질의의 실행 계획이 평가될 수 있는 속도를 증가시킨다. 실행 계획의 질의는 또한 현존하는 실행 계획이 두절되지 않도록 질의가 실행 계획에 쉽게 부가 또는 삭제되는 것을 가능하게 하는 방법으로 관련될 수 있다. 상술된 질의어의 공유는 특히 이 점에 있어서 유용하다. 질의간의 관계로 인해, 또한 표준 다중처리 기술의 사용으로, 실행 계획은 현존하는 실행 계획에 대한 데이터 세트의 평가를 중지시키지 않고 수정될 수 있다. 여분의(redundant) 질의어의 감소는 또한 실행 계획의 질의가 매우 간략한 방법으로 나타내지도록 허용한다. 또한, 실행 계획은 불필요한 여분(redundancies) 제거하기 위해 계산적인 자원(예를들면, 메모리 관리, 테이블과 인덱스의 사용)이 다중 질의에 의해 공유되도록 허용한다.
실행 계획의 질의에서 각 질의어는 하나 이상의 증거 기술자를 포함한다. (실행 계획은 또한 전형적으로, 이후 보다 상세히 논의될 바와 같이, 조합 작용어를 포함한다.) 각 증거 기술자는 데이터 세트의 내용 일부분을 나타내는 증거 일부를 설명한다. 실행 계획의 각 증거 일부는 증거 일부에 의해 만족되는 각 증거 기술자의 식별을 가능하게 하기 위해 하나 이상의 증거 기술자에 비교될 수 있다. 만족되는 증거 기술자를 포함하는 각 질의어는 질의어가 만족되는가 여부를 결정하기 위해 평가된다. 만족되는 질의어를 포함하는 다른 질의어도 또한 평가된다. 모든 질의어가 만족되는 각 질의는 데이터 세트에 의해 만족되는 질의로 식별된다.
질의의 평가는 몇 가지 방법으로 더 최적화될 수 있다. 예를들면, 각 증거 기술자와 각 증거 일부의 종류가 식별될 수 있고, 증거 기술자 중 하나의 종류와 같은 종류의 데이터 세트로부터의 증거 일부만이 평가된다. 또한, 평가된 각 증거 일부는 그 증거 일부와 같은 종류인 증거 기술자에만 비교될 수 있다. 부가적으로, 증거 일부를 증거 기술자에 비교하는 것은 증거 및 증거 기술자의 종류를 근거로 최적화될 수 있다.
본 발명은 데이터 세트의 평가를 더 신속하게 이루기 위해 두 단계의 처리를 사용할 수 있다. 먼저, 데이터 세트에 의해 만족되는 하나 이상의 후보 질의가 식별된다. 후보 질의는 실행 계획의 질의어를 근접시키고 근접된 질의어에 대해 데이터 세트를 평가함으로서 식별되고, 근접된 모든 질의어가 만족되는 각 질의는 후보 질의가 된다. 이후의 설명에서 보다 용이하게 명확해질 바와 같이, 이는 완벽하고 정확한 각 질의어의 평가에 관여하지 않고 후보 질의의 식별이 이루어지는 것을 가능하게 하므로, 후보 질의의 식별이 매우 신속하게 완료될 수 있다.
두 번째로, 일단 후보 질의가 식별되었으면, 후보 질의가 데이터 세트에 의해 만족되는가 여부를 결정하기 위해 각 후보 질의에 대해 데이터 세트가 평가된다. 이 단계에서는 후보 질의의 근접되지 않은 질의어에 의해 지시되는 바와 같이, 후보 질의의 모든 질의어가 완전하고 정확하게 평가된다. 본 발명의 모든 응용에서, 후보 질의의 수는 총 질의의 수 보다 훨씬 적기 때문에, 이 제2 단계도 또한 매우 신속히 실행될 수 있다. 실제로, 본 발명이 사용될 수 있는 많은 응용에서(특히, 질의의 수가 크고 또한/또는 질의가 복잡한 응용에서), 본 발명의 두 단계 접근법은 이전의 다른 접근법(예를들면, 각 질의에 대한 데이터 세트의 완벽하고 정확한 평가) 보다 훨씬 적은 실행 시간을 요구한다.
도 1은 데이터 세트가 하나 이상의 질의를 만족시키는가 여부를 결정하기 위해 데이터 세트의 내용을 평가하기 위한 본 발명에 따른 시스템(100)을 설명하는 블록도이다. 시스템(100)은 증거 생성기(101), 결과 관리기(102), 질의 처리기(103), 프로파일(profile) 관리기(104), 프로파일 저장기(105), 결과 저장기(106), 및 평가 저장기(107)를 포함한다. 볼 수 있는 바와 같이, 증거 생성기(101), 결과 관리기(102), 질의 처리기(103), 및 프로파일 관리기(104)의 기능은 적절하게 프로그램된 디지탈 컴퓨터에서 실행될 수 있다. 프로파일 저장기(105), 결과 저장기(106), 및 평가 저장기(107) 각각은 예를들면, 랜덤 액세스 메모리(RAM)와 같은 휘발성 메모리나 하드디스크 저장 디바이스와 같은 비휘발성 메모리로, 또는 둘 모두로 실행될 수 있다.
평가되는 데이터 세트는 먼저 증거 생성기(101)로 입력된다. 데이터 세트는 뉴스 와이어(wire) 공급이나 데이터베이스와 같은 소스로부터 전해질 수 있다. 증거 생성기(101)는 질의 처리기(103)에 의해 인식될 수 있는 증거 일부를 생성하기 위해 데이터를 해부하여 처리한다. 데이터 세트로부터 증거를 생성하는 것은 평가되어야 할 데이터 세트의 본질에 따라 다양한 방법으로 실행될 수 있다. 사용되는 기술은 간단한 단어 인식 알고리즘(예를들면, 문서에서 백색 공간의 연속적인 발생 사이에 있는 것을 "단어(word)"로 식별하는 것)으로부터 데이터 세트 내용의 매우 복잡한 분석에 이르는 범위에 있을 수 있다. 데이터 세트(예를들면, 텍스트 문서나 데이터베이스)로부터 증거를 생성하는 특정한 기술은 종래 기술에 숙련된 자에게 공지되어 있다.
일반적으로, 각 증거 일부는: i) 증거의 종류, ii) 증거 데이터, 및 iii) 데이터 세트 내에서의 증거 위치를 포함한다. 본 발명은 임의의 종류의 증거를 포함하는 데이터 세트와 사용될 수 있다. 다음은 텍스트의 데이터 세트를 평가할 때 본 발명과 사용될 수 있는 증거 종류(이후 더 상세히 논의될)의 리스트 실례이다: NewDataSet, Word, WordInfo, Number, Date, Name, Paragraph, Sentence, Punct, NewLine, White, Markup, Field, ZoneBegin, ZoneEnd, Attribute 및 Highlight. 다른 종류의 데이터 세트에서, 증거는 그 종류의 데이터 세트 특성인 다른 종류가 될 수 있다. 예를 들어, 평가되고 있는 데이터 세트가 전자 우편 메시지이면, 증거 종류는 메시지가 전달된 날짜나 메시지 전달자를 포함할 수 있다. 또는, 평가되고 있는 데이터 세트가 데이터베이스이면, 증거 종류는 숫자값 세트의 평균이나 합을 포함할 수 있다.
증거 데이터는 증거 생성의 일부로 추출된 데이터 세트로부터의 실제 데이터를 나타낸다. 증거 데이터는 예를들면, 문서로부터의 단어, 전자 우편 메시지가 전달된 날짜, 문서로부터의 문장, 데이터베이스에서 필드(field)의 값, 또는 문서로부터의 단어의 음성 일부를 식별한 것이 될 수 있다.
데이터 세트 내에서 증거의 위치는 예를들면, 데이터 세트내에서 기준 위치에 대한 증거 위치와 같이, 적절한 방법으로 지정될 수 있다. 예를들면, 텍스트 문서에서, 증거의 위치는 증거 이전에 문서에서 발생되는 단어의 수를 식별함으로서 지정될 수 있다. 증거의 위치는 근접한 조합 작용어(이후 논의될)를 포함하는 질의어와 같이, 특정한 종류의 질의어를 평가하는데 중요할 수 있다.
상기에서는 수 개의 증거 종류예가 식별되었다. NewDataSet 증거 종류는 데이터 세트(예를들면, 문서)의 시작을 식별한다. Word 증거 종류는 텍스트의 단어를 식별한다. WordInfo 증거 종류는 기본형(어간(stem)), 음성 및 사용 부분과 같이, 단어 또는 단어들의 특정한 특성을 식별한다. Number 증거 종류는 숫자가 표현된 방법(예를들면, "일천", "103", "1000", 1000으로 식별되는 모든 것)에 관계없이 숫자를 식별한다. Date 증거 종류는 날짜가 표현된 방법(예를들면, "1995년 2월 1일", "오늘", "어젯밤", 년, 월, 날, 및 시간을 지정하는 숫자적 표시로 식별되는 모든 것)에 관계없이 날짜를 식별한다. Name 증거 종류는 적합한 명칭, 회사명, 또는 제품명을 지정하는 단어나 숙어를 식별한다. Paragraph 증거 종류는 단락의 종료를 식별한다. Sentence 증거 종류는 문자의 종료를 식별한다. Punct 증거 종류는 구두법을 식별한다. NewLine 증거 종류는 텍스트 문서에서 새로운 선의 시작을 식별한다(예를들면, 캐리지 복귀(carriage return)이나 개행 문자(line feed)). White 증거 종류는 텍스트 문서에서 백색 공간을 식별한다. Markup 증거 종류는 선내 포맷 표시(예를들면, 굵은 글씨나 이탤릭체)를 식별한다. Field 증거 종류는 지명된 문서의 속성을 식별한다(예를들면, 전자 우편 메시지의 전달자나 문서 발행자). ZoneBegin 또는 ZoneEnd 증거 종류는 문서(예를들면, 각주(footnote))내에서 지명된 영역("구역(zone)")의 시작부와 종료부를 각각 식별한다. Attribute 증거 종류는 구역 특성을 식별한다(예를들면, 한 각주가 문서에서 제 1, 제 2, 등의 각주인가 여부). Highlight 증거 종류는 데이터 세트의 중요부를 식별한다.
다시 도 1에서, 하나 이상의 사용자는 프로파일 관리자(104)에 정보를 입력한다. 프로파일 관리자는 이 정보를 나중의 사용을 위해, 예를들면 사용자에 의한 질의의 편집 및 회복을 위해 프로파일 저장기(105)에 저장시킬 수 있다. 프로파일 관리자(104)는 또한 적절한 질의를 구성하는데 정보를 사용하는 질의 처리기(103)로 이 정보를 전송한다. 본 발명에 따라, 질의 처리기(103)는 다중 질의를 나타내는 집적된 실행 계획으로 질의를 혼합시킬 수 있고, 다중 질의에서는 각 질의가 또 다른 질의에 동작가능하게 연결된다. 중요하게, 실행 계획의 형성은 불필요한 용장도가 제거되도록 계산적인 자원이 다중 질의에 의해 공유될 수 있게 한다. 예를들면, 실행 계획은 메모리에 단일 목적으로 저장될 수 있다. 다른 말로 하면, 각 질의는 실행 부호의 일부분이 쉽게 액세스될 수 있도록, 또는 모든 실행 계획이나 그 일부가 한 위치에서 또 다른 위치로 메모리내에서 쉽게 이동될 수 있도록 메모리내에서 하나 이상의 다른 질의의 위치를 알고(예를들면, 또 다른 질의가 저장된 다른 메모리 위치에 포인터를 사용해) 메모리에 저장된다. 부가적으로, 이후의 설명으로부터 용이하게 이해될 수 있는 바와 같이, 질의를 단일 실행 계획에 조합하는 것은 여분의 테이블 및 인덱스가 감소되거나 제거되도록 질의의 일부인 증거 기술자에 데이터 세트로부터의 증거를 정합하는데 사용되는 테이블 및 인덱스가 집적되는 것을 허용한다. 또한, 이후 더 논의될 바와 같이, 하나 이상의 질의의 일부로 나타나는 질의어는 공유될 수 있으므로, 실행 계획에 대한 여분의 질의어를 줄이거나 제거하게 된다. 사용되는 질의는 변화가 거의 없거나 전혀 없는 긴 시간 주기에 걸쳐 사용되기 때문에, 다중 질의를 실행 계획에 조합하는 것은 특히 본 발명의 사용이 고려되는 많은 응용에서 유용하므로, 실행 계획에 의한 자원 공유와 연관되어 상술된 이점을 두드러지게 한다.
본 발명의 이 특성(질의를 실행 계획에 조합하는 것)은 다중 질의에 대해 하나 이상의 데이터 세트를 평가하는 이전의 방법과 심한 대조를 나타낸다. 이전의 접근법은 데이터 세트를 단일 목적 또는 데이터베이스에 조합하는 것이다. 질의는 서로 독립적으로 존재한다. 각 질의는 다른 질의의 평가와 독립적인 데이터베이스에 대해 평가된다. 그래서, 질의의 저장이나 평가에 대해 자원의 공유가 없다. 상술된 바와 같이, 이 접근법은 바람직하지 못하게 긴 시간이 걸릴 수 있다. 대조적으로, 본 발명에 따라 실행 계획에 의해 인에이블되는 자원의 공유는 다중 질의에 대한 데이터 세트의 신속한 평가를 용이하게 한다.
질의 처리기(103)에 의해 실행 계획에 대한 데이터 세트를 평가하는 동안, 일부 또는 모든 실행 계획은 질의 처리기(103)에 의해 사용되도록 평가 저장기(107)에 저장된다. 많은 경우에서, 전체 실행 계획은 매우 크므로, 전형적으로, 전체 실행 계획은 하드디스크와 같이 높은 저장용량의 메모리에 저장된다. (실행 계획에 의해 인에이블되는 통합된 메모리 관리는 일부 또는 모든 실행 계획을 하드디스크로부터 백업(back up)시키고, 하드디스크에 저장하는데 유용할 수 있다.) 질의 처리기(103)가 특정한 시간에 증거를 평가하고 있는 실행 계획의 일부분은 이 실행 계획 부분이 보다 신속하게 액세스될 수 있도록 하드디스크로부터 RAM과 같이 신속히 액세스가능한 메모리로 전달될 수 있다. 본 발명의 실행 계획에 의해 인에이블되는 통합된 메모리 관리는 하드디스크와 RAM 사이의 상호작용을 인에이블시키는데 특히 유용하다.
특정한 실시예에서, 본 발명에 따른 실행 계획은 루트(root), 노드(node), 및 리프(leaf)의 네트워크로 나타내진다. 실행 계획의 각 루트는 특정한 질의를 나타낸다. 각 질의는 하나 이상의 질의어를 포함한다. 각 질의어는 하나 이상의 표현을 포함한다; 질의어가 하나 이상의 표현을 포함하면, 그 표현은 하나 이상의 조합 작용어에 의해 관련된다. 실행 계획의 각 노드는 조합 작용어를 나타낸다. 각 표현은 질의어나 증거 기술자가 될 수 있다. 각 리프는 증거 기술자 중 하나를 나타낸다. 각 증거 기술자는 증거 일부나 증거 일부의 특성을 설명하기 위해 증거 작용어와 증거 패턴을 사용한다. 본 발명의 실시예에 따른 질의 네트워크의 특정한 예는 도 2에 대해 이후에 논의된다.
본 발명에 따른 실행 계획은 질의 네트워크 이외의 것으로 나타내질 수 있다. 실행 계획은 예를들면, 실행 계획의 질의 중 질의어와 증거 기술자에 대응하여 주문된 지시의 최적화된 순차와 같이, 다양한 방법으로 나타내질 수 있다. 지시는 하드웨어의 주문된 소프트웨어에 의해 신속하게 처리될 수 있도록 설정된다. 예를들면, MAX 작용어를 3개의 증거 기술자 X, Y, 및 Z의 최대값을 결정하는데 사용하는 질의는 다음과 같이 어셈블리(assembly) 지시의 순차로 나타내질 수 있다: PUSH X, PUSH Y, PUSH Z, MAX 3.
도 1로 되돌아가서, 사용자에 의해 지정된 질의는 질의 처리기(103)에 주어진다. 사용자에 의해 주어지는 새로운 각 질의는 질의 처리기(103)에 의해 질의어으로 해부된다. 각 질의어는 또한 질의 처리기(103)에 의해 조합 작용어와 하나 이상의 증거 기술자로 해부된다. 질의 처리기(103)에 의해 사용자가 지정한 질의를 해부하는 것은 종래 기술에 숙련된 자에게 공지된 기술을 사용해 행해질 수 있다. 그렇지만, 질의 처리기(103)에 의해 생성된 증거 기술자는 평가되어야 할(증거 생성기(101)에 의해 생성되는) 데이터 세트의 증거와 호환가능해야 함을 주목하는 것이 중요하다. 질의의 증거 기술자 및 조합 작용어는 질의의 내용이 정확히 나타내지도록 질의 처리기(103)에 의해 서로 관련된다. 일반적으로, 단일 질의는 증거 기술자와 하나 이상의 질의어의 작은 실행 계획으로 나타내질 수 있다.
질의가 실행 계획에 부가되기 이전에, 질의의 증거 기술자 및 질의어 각각은 현존하는 실행 계획의 증거 기술자 및 질의어에 비교된다. 이는 이후 설명될 질의 평가 방법 및 정합 방법을 사용해 이루어질 수 있다. 새로운 질의의 증거 기술자 또는 질의어가 현존하는 실행 계획의 증거 기술자 또는 질의어와 같으면, 이 질의어 또는 증거 기술자는 실행 계획에서 재생될 필요가 없다. 질의 중 새로운 질의어 및 증거 기술자만이 실행 계획에 부가된다. 새로운 질의어 및/또는 증거 기술자는 이들이 새로운 질의의 여분 질의어 및 증거 기술자에 대해 가졌던 것과 똑같이, 현존하는 실행 계획의 질의어 및 증거 기술자에 대한 관계를 갖도록 실행 계획에 부가된다. 그래서, 새로운 질의는 현존하는 질의를 방해하지 않고 실행 계획에 부가될 수 있으므로(표준 다중처리 기술의 사용으로), 소정의 시간에, 데이터 세트는 오래되거나 업데이트된 실행 계획과 비교되고, 그에 의해 실행 계획이 수정되면서 실행 계획에 대한 데이터 세트의 평가가 계속될 수 있다.
유사하게, 질의가 실행 계획으로부터 삭제될 때, 그 질의의 증거 기술자 및 질의어 각각은 실행 계획 중 다른 질의의 증거 기술자 및 질의어에 비교된다. 삭제될 질의의 증거 기술자 또는 질의어가 실행 계획 중 다른 질의의 증거 기술자 또는 질의어와 같으면, 이 질의어 또는 증거 기술자는 실행 계획으로부터 삭제될 수 없다. 삭제될 질의의 유일한 증거 기술자 및 질의어만이 실행 계획으로부터 삭제될 수 있다. 그래서, 질의는 실행 계획의 다른 질의를 방해하지 않고 실행 계획으로부터 삭제될 수 있다(다시, 표준 다중처리 기술의 사용으로).
상술된 바와 같이, 본 발명은 질의가 서로 동작가능하게 관련된 실행 계획을 사용할 수 있다. 실행 계획의 구조 일부로서, 질의 처리기(103)는 특정한 질의어나 증거 기술자가 하나 이상의 질의에서 나타날 때 실행 계획으로부터 여분의 질의어 및 증거 기술자를 제거할 수 있다. 이러한 여분의 질의어 및 증거 기술자는 상술된 바와 같이 식별될 수 있다. 본 발명에 따라, 각 질의어 및 증거 기술자는 임의의 수의 질의 일부가 될 수 있다. 또한, 특정한 질의어 또는 증거 기술자는 실행 계획에서 단지 한 번만 나타날 필요가 있다. 질의어와 증거 기술자가 질의간에 공유될 수 있으므로, 본 발명의 특성은 다수의 복잡한 질의가 간략하고 효율적으로 나타내지는 것을 가능하게 한다.
본 발명에 따른 실행 계획은 유리하게 공지된 링크 리스트(link list) 기술을 사용한 고정된 크기의 데이터 구조를 사용해 나타내질 수 있다. 특정한 실시예에서, 실행 계획의 질의, 조합 작용어, 및 증거 기술자 각각은 2개의 고정된 크기의 필드(field)를 포함하는 고정된 크기의 데이터 구조에 의해 나타내질 수 있다. 한 필드는 "모 링크(parent link)"의 신원을 지정되고, 다른 필드는 "자 링크(child link)"의 신원을 지정한다. 각 신원은 예를들면, 식별된 링크의 메모리 어드레스로 지정될 수 있다. 질의, 조합 작용어, 및 증거 기술자 각각은 "링크(link)"라 칭하여지는 데이터 구조를 사용해 다른 질의, 조합 작용어, 및 증거 기술자에 관련된다. 각 링크는 4개의 고정된 크기의 필드를 포함하는 고정된 크기의 데이터 구조이다. 제 1 필드는 "모 노드(parent node)"의 신원을 지정하고, 제 2 필드는 " 다음의 모 링크"의 신원을 지정하고, 제 3 필드는 "다음의 자 링크"의 신원을 지정하고, 또한 제 4 필드는 "자 노드(child node)"의 신원을 지정한다. 각 신원은 예를들면, 식별된 링크나 노드의 메모리 어드레스로 지정될 수 있다.
실행 계획을 생성하는데 고정된 크기의 데이터 구조를 사용하는 것은 본 발명에 따른 상술된 실행 계획의 이점을 달성하는 것을 용이하게 한다. 고정된 크기의 데이터 구조를 사용하는 것은 새로운 질의어를 나타내는 데이터 구조가 현존하는 다른 불변 질의어의 데이터 구조에 대해 메모리를 재할당할 필요 없이 부가 또는 삭제될 수 있도록 실행 계획의 일부가 이미 정의된 방법에서 논리적으로 어드레스 지정되는 것을 가능하게 한다. 대조적으로, 질의어가 가변 길이의 데이터 구조로 나타내지면, 질의어의 삭제는 예를들면, 실행 계획에 대해 진행중인 데이터 세트의 평가가 방해되도록 하나 이상의 불변 질의어의 데이터 구조에 대해 메모리의 재할당을 발생시킨다. 또한, 본 발명에 따른 데이터 구조는 간단히 메모리에서 다른 위치에 대한 포인터이므로, 여분의 질의어를 부가하지 않고 새로운 질의를 부가하는 것은 쉽게 이루어질 수 있다. 새로운 질의의 새로운 질의어는 간단히 현존하는 적절한 질의어의 메모리 위치를 지시하기 위해 구성된다. 반대로, 이러한 포인터의 사용은 실행 계획에서 단일 질의어가 임의의 수의 질의 일부가 되는 것을 가능하게 한다. 부가적으로, 이 방법에서의 실행 계획 구조는 관련된 실행 계획 일부가 인접한 메모리 부분에서 어드레스 지정되는 것을 가능하게 한다. 결과적으로, 실행 계획이 하드디스크에서 RAM으로 실행 계획의 일부를 교환시킬 필요가 있을 만큼 충분히 크면, 관련된 실행 계획 부분(시간상으로 서로 가깝게 액세스되기 쉬운)은 하나의 연속된 메모리 영역으로 쉽게 교환될 수 있다.
도 2는 예를들면, 하나 이상의 텍스트 문서의 평가에서 사용되는 본 발명에 따른 실행 계획(200)을 설명하는 도면이다. 실행 계획(200)은 4개의 루트(root) (201), (202), (203), 및 (204)를 포함하고, 각각은 4개의 질의 중 하나를 나타낸다. 실행 계획(200)은 또한 5개의 노드 (211), (212), (213), (214), 및 (215)를 포함하고, 각각은 하나 이상의 질의 일부인 조합 작용어를 나타낸다. 실행 계획(200)은 또한 6개의 리프(leaf) (221), (222), (223), (224), (225), 및 (226)을 포함하고, 각각은 증거 기술자를 나타낸다. 일반적으로, 본 발명에 따른 실행 계획은 임의의 수의 루트, 임의의 수의 노드, 및 임의의 수의 리프의 조합을 포함할 수 있다.
도 2에 도시된 실행 계획(200)은 비교적 간단하다. 많은 응용에서, 본 발명에 따른 실행 계획은 수 천개의 질의(예를들면, 10,000)를 포함할 수 있으므로, 결과적으로 수 천개의 노드(예를들면, 100,000)와 수 천개의 리프(예를들면, 1,000,000)을 갖는 실행 계획이 된다. 또한, 실행 계획(200)은 도 2에서 2차원으로 나타내질 수 있지만, 각 노드가 다른 많은 노드 및 리프에 연결될 수 있고 각 리프가 많은 노드에 연결될 수 있는 매우 복잡한 실행 계획은 표현를 위해 임의의 수의 차원을 요구할 수 있다.
실행 계획(200)은 4개 종류의 증거 작용어(=, STEM, WORD, 및 WILDCARD)와 5개 종류의 조합 작용어(AND, NEAR, ACCRUE, OR, 및 IN)을 포함한다. 특히, 본 발명에 따른 실행 계획은 많은 수의 증거 및 조합 작용어를 포함할 수 있다. 본 발명과 사용될 수 있는 작용어 세트의 예가 이후에 설명된다. 이들 작용어의 보다 상세한 설명은 상업적으로 이용가능한 캘리포니아, 마운틴 뷰의 베러티사(Verity, Inc.)에 의해 제작된 토픽 툴(TopicⓡTools) 제품과 첨부되는 사용자 매뉴얼에서 주어진다. 사용자 매뉴얼의 관련 부분(특히, Chapter 12)은 여기서 참고로 포함된다.
기술된 바와 같이, 본 발명에 따라 질의를 구성하는데 사용될 수 있는 작용어는 2개의 광범위한 카테고리에 든다: 1) 증거를 설명하는데 사용될 수 있는 증거 작용어, 및 2) 질의어를 조합하는데 사용될 수 있는 조합 작용어. 증거 작용어는 예를들면, 필드 근거의 작용어, 단어 근거의 작용어, 확장 작용어, 및 데이터 근거의 작용어를 포함할 수 있다. 조합 작용어는 예를들면, 근사치 작용어, 및 수학적 작용어를 포함할 수 있다.
필드 근거의 증거 작용어는 필드내에 나타날 수 있는 특정한 증거를 정의하기 위해 증거 패턴을 수정한다. 여기서, "필드(field)"는 저자, 제목, 또는 출판 날짜와 같은 데이터 세트의 특성이다. 필드 근거의 증거 작용어는 예를들면, 다음의 작용어를 포함할 수 있다: <, >, =, >=, <=, START, ENDS, SUBSTRING, WILDCARD(필드 근거의), 및 CONTAINS. <, >, =, >=, 및 <= 작용어는 각각 숫자 또는 문자숫자식의 스트링(string)으로 표시되는 증거 패턴과의 비교(특정한 작용어에 의해 지정되는 바와 같이)를 근거로 증거를 정의한다. START 및 END 작용어는 문자숫자식의 스트링으로 표시되는 증거 패턴으로 특정한 필드가 각각 시작 또는 종료됨을 지정한다. SUBSTRING 작용어는 특정한 필드가 필드내 임의의 위치에서 문자숫자식의 스트링으로 표시되는 증거 패턴을 포함함을 지정한다. WILDCARD(필드 근거의) 작용어는 특정한 필드가 필드내 임의의 위치에서 특정한 제한이 가해져, 문자숫자식의 스트링으로 표시되는 증거 패턴을 포함함을 지정한다. CONTAINS 작용어는 SUBSTRING과 WILDCARD 작용어의 혼합으로서, 특정한 필드가 구두법을 고려하지 않고 문자숫자식의 스트링으로 표시된 증거 패턴을 포함한을 지정한다.
단어 근거의 증거 작용어는 데이터 세트 중 임의의 위치에서 나타날 수 있는 특정한 증거를 정의하기 위해 증거 패턴을 수정한다. 단어 근거의 증거 작용어는 예를들면, 다음의 작용어를 포함할 수 있다: WORD, STEM, SOUNDEX, WILDCARD, 및 TYPO. WORD 작용어는 문자숫자식의 스트링으로 표시되는 증거 패턴과 정확히 정합되는 증거를 지정한다. STEM 작용어는 문자숫자식의 스트링으로 표시되는 증거 패턴과 같은 언어 형태를 갖는 증거를 지정한다. SOUNDEX 작용어는 문자숫자식의 스트링으로 표시되는 증거 패턴과 음성학상으로 유사한(이러한 결정을 하기 위한 다수의 표준적인 방법 중 임의의 것을 사용해) 증거를 지정한다. WILDCARD 작용어는 증거내의 임의의 위치에서 특정한 제한이 가해져, 문자숫자식의 스트링으로 표시되는 증거 패턴을 포함하는 증거를 지정한다. TYPO 작용어는 문자숫자식의 스트링으로 표시되는 증거와 철자가 유사한(두 단어 사이에서 문자 차이를 카운트하는 방법을 사용해) 증거를 지정한다.
확장 증거 작용어는 개방적인 방식으로 특정한 증거를 정의하기 위해 증거 패턴을 수정한다. 확장 증거 작용어는 예를들면, 다음의 작용어를 포함할 수 있다: THESAURUS 및 SUGGEST. THESAURUS 작용어는 텍스트 단어로 표시되는 증거 패턴의 사전에서 유도된 모든 동의어를 포함하는 증거를 지정한다. SUGGEST 작용어는 텍스트 단어로 표시되는 증거 패턴과 통계적으로 관련된 모든 단어를 포함하는 증거를 지정한다. (예를들면, 단어 "leveraaged"는 증가 패턴이 "buyout"일 때 SUGGEST 작용어를 만족시킨다.)
데이터 근거의 증거 작용어는 증거가 일부인 데이터 세트가 생성되었을 시간을 근거로 특정한 증거를 정의하기 위해 증거 패턴을 수정한다. 데이터 근거의 증거 작용어는 예를들면, 다음의 작용어를 포함할 수 있다: RECENT 및 RANGE. RECENT 작용어는 현재 시간으로부터 지정된 시간 주기 내에 생성되었던 증거를 정의한다. RANGE 작용어는 지정된 시간 범위내에서 생성되었던 증거를 정의한다.
근사치 조합 작용어(proximity combination operators)는 평가될 데이터 세트내에서 서로 관련되는 질의어의 위치를 발생시킨다. 근사치 조합 작용어는 예를들면, 다음의 작용어를 포함할 수 있다: NEAR, WITHIN, PARAGRAPH, SENTENCE, ADJACENT, PHRASE, IN, 및 IN/WHEN. NEAR 작용어는 데이터 세트내에서 2개의 질의어의 근사치를 평가하여 그 근사치를 나타내는 스코어를 보고한다. WITHIN 작용어는 2개의 질의어가 지정된 서로의 근사치내에 있는가 여부를 평가한다. PARAGRAPH 작용어는 2개의 질의어가 정의된 단락내에 있는가 여부를 평가한다. SENTENCE 작용어는 2개의 질의어가 정의된 문장내에 있는가 여부를 평가한다. ADJACENT 작용어는 2개의 질의어가 데이터 세트내에서 서로 인접한가 여부를 평가한다. PHRASE 작용어는 2개의 질의어가 지정된 순서로 데이터 세트내에서 서로 인접한가 여부를 평가한다. IN 작용어는 2개의 질의어가 데이터 세트내에서 정의된 구역내에 있는가 여부를 평가한다. IN/WHEN 작용어는 데이터 세트내에서 정의된 구역이 특정한 지정 특성을 가질 때, 2개의 질의어가 데이터 세트내에서 정의된 구역내에 있는가 여부를 평가한다.
수학적인 조합 작용어는 질의어의 조합을 평가한다. 수학적인 조합 작용어는 예를들면, 다음의 작용어를 포함할 수 있다: AND, OR, ACCRUE, AVERAGE, SUM, PRODUCT, NOT, 및 COMPLEMENT. AND 작용어는 질의어 중 "최악의" 값을 확인하기 위해 질의어의 세트를 평가한다. OR 작용어는 질의어 중 "최상의" 값을 확인하기 위해 질의어의 세트를 평가한다. ACCRUE 작용어는 지정된 값을 갖는 질의어의 수를 카운트한다. AVERAGE 작용어는 질의어 세트의 평균을 계산한다. SUM은 질의어 세트의 합을 계산한다. PRODUCT 작용어는 질의어 세트의 곱을 계산한다. NOT 작용어는 증거 기술자가 데이터 세트에 나타나지 않는가 여부를 확인한다. COMPLEMENT 작용어는 증거 기술자의 역이 데이터 세트에서 조금이라도 나타나는가 여부를 확인한다.
부가적으로, 질의어는 변경자를 포함할 수 있다. 이름이 의미하는 바와 같이, 변경자는 상술된 작용어 중 하나 이상을 수정하는데 사용될 수 있다. 본 발명과 사용될 수 있는 변경자는 예를들면, MANY, CASE, 및 ORDER를 포함한다. MANY 변경자는 증거 기술자나 질의어의 만족에 필요하고 수정되고 있는 작용어에 적절하기 위해 증거 기술자나 질의어값 발생의 증가된 레벨을 지정한다. MANY 변경자는 단어 근거의 증거 작용어와 근사치 조합 작용어를 수정하는데 사용할 수 있다. CASE 변경자는 증거의 케이스(대문자 또는 소문자)가 증거 기술자와 정합되어야 함을 지정한다. CASE 변경자는 필드 근거의 증거 작용어와 단어 근거의 증거 작용어를 수정하는데 사용될 수 있다. ORDER 변경자는 질의어가 데이터 세트내에서 지정된 순서로 있어야 함을 지정한다. ORDER 변경자는 근사치 조합 작용어를 수정하는데 사용될 수 있다. 본 발명에 따른 실행 계획과 사용될 수 있는 증거 기술자의 종류는 일반적으로 평가되어야 할 데이터 세트로부터 생성될 수 있는 증거의 종류에 대응한다. 도 2의 실행 계획(200)은 Word, Field, 및 Zone 증거 기술자를 포함한다. 특히, 본 발명에 따른 실행 계획은 많은 수의 증거 기술자 종류를 포함할 수 있다. 사용될 수 있는 증거 기술자의 일부 예는 증거 생성자(101)(도 1)에 의해 형성될 수 있는 증거의 종류에 대해 논의된다.
도 2로 되돌아가서, 루트(301)는 질의 1을 나타낸다. 질의 1은 조 스미스(Joe Smith)에 의해 저술되고 어간 "bank"를 갖는 단어("banking", "banker", 및 "banks"와 같이)를 포함하는 텍스트 문서(즉, 데이터 세트)에 의해 만족된다. 리프(221)는 문서가 조 스미스에 의해 저술될 것을 요구하는 증거 기술자를 나타낸다. 리프(221)의 증거 기술자는 텍스트 문서에서 필드 "Author"에 나타나야 하는 특정한 종류의 증거를 정의하기 위해 증거 패턴 "Joe Smith"와 필드 증거 작용어 "="를 사용한다. 리프(222)는 기본형이 "bank"인 단어를 문서가 포함할 것을 요구하는 증거 기술자를 나타낸다. 리프(222)의 증거 기술자는 텍스트 문서에서 임의의 위치에 나타나야 하는 특정환 종류의 증거를 정의하기 위해 증거 패턴 "bank"와 단어 증거 작용어(STEM)를 사용한다. 노드(211)는 완전한 질의 1을 형성하기 위해 리프(221) 및 (222)의 증거 기술자를 수학적인 조합 작용어 AND와 연결시킨다.
루트(202)는 질의 2를 나타낸다. 질의 2는 질의 1을 만족시키고 텍스트 문서에서 단어 "stock"의 발생 빈도에 질의 1을 관련시킨 근접 제한을 만족시키는 텍스트 문서에 의해 만족된다. 리프(223)는 문서에서 단어 "stock"이 발생될 것을 요구하는 증거 기술자를 나타낸다. 리프(223)의 증거 기술자는 문서에서 단어 "stock"에 대해 특정한 소정의 발생 빈도에 의해 만족되는 특정한 종류의 증거를 정의하기 위해 단어 증거 작용어 WORD, 증거 패턴 "stock", 및 변경자 MAMY를 사용한다. 노드(212)는 완전한 질의 2를 형성하기 위해 근사치 조합 작용어 NEAR로 노드(211)( 및 질의 1)를 리프(223)의 증거 기술자에 연결시킨다.
루트(203)는 질의 3을 나타낸다. 질의 3은 텍스트 문서에서 "tech"로 시작되는 단어, 단어 "hitech", 또는 단어 "stock"의 충분한 발생을 포함하는 텍스트 문서에 의해 만족된다. 리프(224)는 "tech"로 시작되는 단어가 문서에서 발생될 것을 요구하는 증거 기술자를 설명한다. 리프(224)의 증거 기술자는 텍스트 문서에서 임의의 위치에 나타나야 하는 특정한 종류의 증거를 정의하기 위해 단어 증거 작용어 WILDCARD 및 증거 패턴 "tech"를 사용한다. 리프(225)는 단어 "hitech"가 문서에서 발생될 것을 요구하는 증거 기술자를 나타낸다. 리프(225)의 증거 기술자는 텍스트 문자에서 임의의 위치에 나타나야 하는 특정한 종류의 증거를 정의하기 위해 단어 증거 작용어 WORD와 증거 패턴 "hitech"을 사용한다. 노드(214)는 "tech"로 시작되는 단어나 단어 "hitech"의 발생에 의해 만족되는 질의어를 형성하기 위해 리프(224) 및 (225)의 증거 기술자를 수학적인 조합 작용어 OR에 연결시킨다. 노드(213)는 완전한 질의 3를 형성하기 위해 수학적인 조합 작용어 ACCRUE로 리프(223)의 증거 기술자에 노드(214)(또한, 대응하는 질의어)를 연결시킨다.
루트(204)는 질의 4를 나타낸다. 질의 4는 문서의 각주에서 노드(214)에 의해 정의된 질의어에 의해 발견된 증거를 포함하는 텍스트 문서에 의해 만족된다. 리프(226)는 텍스트 문서가 각주 노트를 포함할 것을 요구하는 증가 기술자를 나타낸다. 리프(226)의 증거 기술자는 텍스트 문서에서 나타나야 하는 특정한 종류의 구역을 정의하기 위해 필드 증거 작용어 "=" 및 증거 패턴 "footnote"을 사용한다. 노드(215)는 완전한 질의 4를 형성하기 위해 근사치 조합 작용어 IN으로 노드(214)( 및 그 노드에 의해 정의된 질의어)를 리프(226)의 증거 기술자에 연결시킨다.
도 1로 되돌아가서, 증거는 질의 처리기(103)로 입력된다. 질의 처리기(103)는 질의 처리기(103)에 의해 생성된 실행 계획의 질의에 대해 각 증거 일부를 평가한다. 데이터 세트로부터의 증거 일부는 증거 기술자에 비교된다. 증거 일부가 증거 기술자와 정합될 때는 대응하는 증거 기술자와 정합되었던 증거 일부의 식별이 기록된다. 특정한 증거 기술자와 정합되었던 증거를 식별한 정보는 질의어를 더 평가하는데 필요하다. 증거 기술자가 정합되면, 정합된 증거 기술자를 포함하는 각 질의어도 또한 평가된다. 만족되는 질의어가 식별된다. 질의어가 만족되면, 만족된 질의어를 포함하는 부가적인 질의어도 또한 평가된다. 질의의 모든 질의어 및/또는 증거 기술자가 만족될 때, 질의는 데이터 세트에 의해 만족되는 것으로 식별된다. 평가, 만족된 질의어와 증거 기술자의 식별, 및 질의어의 또 다른 평가는 데이터 세트의 모든 증거가 처리될 때까지 또는 (본 발명에서 사용되는 전형적인 상황과 다르게) 모든 질의가 만족되는 것으로 식별될 때까지 상기와 같이 계속된다. 비록 전형적으로는 데이터 세트의 모든 증거가 평가되지만, 많은 경우에서, 데이터 세트의 모든 증거 보다 적은 수의 증거를 평가하는 것으로 데이터 세트가 실행 계획의 질의를 만족시키는가 여부를 결정하기에 충분하므로, 이는 반드시 필요한 경우는 아니다.
상술된 바와 같이, 증거 일부와 증거 기술자는 모두 종류에 따라 분류될 수 있다. 본 발명의 한 실시예에서, 실행 계획의 일부인 증거 기술자의 종류에 대한 정보는 증거 생성자(101)에 입력된다. 증거 생성자(101)는 데이터 세트로부터 실행 계획에서 나타나는 증거 기술자의 종류에 대응하는 종류의 증거만을 생성할 수 있다.
데이터 세트로부터의 각 증거 일부는 실행 계획의 모든 증거 기술자에 비교될 수 있다. 그러나, 본 발명의 또 다른 실시예에서는 각 증거 일부가 같은 종류의 증거 기술자에만 비교된다. 증거 일부는 모든 증거 기술자 보다는 단지 모든 증거 기술자의 서브세트에 비교될 필요가 있으므로, 본 실시예는 실행 계획에 대한 데이터 세트의 평가를 더 신속하게 만든다.
부가적으로, 증거 및 증거 기술자의 다른 카테고리에 대해서는 다른 정합 기술이 사용될 수 있고, 선택된 기술은 특히 그 카테고리와 사용되기에 유리하다. 예를들면, 와일드카드(wildcard) 증거와 증거 기술자 사이의 정합을 결정하는데는 한정된 상태의 기계가 사용될 수 있다. 필드 증거와 증거 기술자 사이의 정합을 결정하는데는 이진수 탐색 방법이 사용될 수 있다. 단어 증거와 증거 기술자 사이의 정합을 결정하는데는 해시 트리(hash tree)가 사용될 수 있다. 증거 및 증거 기술자의 각 카테고리에 대해 최적의 적합 기술을 사용하는 것은 본 발명이 실행 계획에 대해 데이터 세트를 평가할 수 있는 속도를 증가시킨다.
상술된 바와 같이, 본 발명에 따른 실행 계획은 증거 작용어, 조합 작용어, 및 다른 많은 종류의 변경자를 포함할 수 있다. NEAR 작용어나 MANY 변경자와 같이, 이들 작용어 및/또는 변경자("복잡한 작용어") 일부를 포함하는 질의어의 평가는 매우 복잡하고 시간이 많이 소모될 수 있다. 이는 작용어에 대한 평가 처리가 복잡하고 또한/또는 작용어를 포함하는 질의어가 만족되는가 여부를 결정하기 위해 작용어가 데이터 세트 중 많은 부분의 증거를 평가할 것을 요구하기 때문일 수 있다. 다른 작용어("간단한 작용어")를 포함하는 질의어의 평가는 AND 및 OR 작용어를 사용하는 일부 질의어에서의 경우와 같이 비교적 손쉬울 수 있다. 이후 설명될 바와 같이, 본 발명의 실시예에 따른 방법은 복잡하고 큰 질의 세트에 대한 데이터 세트의 두 단계 평가가 이전에 가능했던 것 보다 훨씬 더 신속해질 수 있도록 복잡한 작용어 및 간단한 작용어가 평가될 수 있는 경우에서의 차이를 이용한다.
도 3a 및 도 3b는 데이터 세트가 하나 이상의 질의를 만족시키는가 여부를 결정하기 위해 데이터 세트의 내용을 평가하는 본 발명에 따른 방법(300)을 설명하는 흐름도를 함께 도시한다. 도 4a 내지 도 4e는 방법(300)의 동작 특성을 설명하는 상술된 실행 계획(200)(도 2)의 도면이다. 도 1의 시스템(100)에서, 방법(300)은 질의 처리기(103)에 의해 실행된다. 상술된 바와 같이, 본 발명은 실행 계획에 대한 데이터 세트를 두 단계로 평가한다. 데이터 세트에 의해 만족되는 후보 질의의 식별은 방법(300)에서 단계(301) 내지 (311)로 이루어진다. 데이터 세트가 후보 질의를 만족시키는가 여부를 결정하는 각 후보 질의에 대한 데이터 세트의 평가는 방법에서 단계(312)로 이루어진다.
일반적으로 말해서, 본 발명의 평가 방법 중 제 1 단계는 모든 질의에 대한 데이터 세트의 신속한 근사치 평가가 이루어질 수 있도록 복잡한 작용어를 포함하는 질의어를 간략화시키는 것을 포함한다. 이 근사치 평가는 질의가 근접될 때에도(즉, 질의의 만족에 대한 제한이 약해질 때에도) 데이터 세트에 의해 만족될 수 없는 모든 질의를 고려할 부분으로부터 더 제거함으로서 후보 질의(즉, 데이터 세트에 의해 만족되는 질의)를 식별한다. 근접된 질의어에 대해 데이터 세트가 평가될 수 있는 속도의 증가는 실제적으로 질의(즉, 근접되지 않은 질의)가 만족되지 않더라도 일부 근접된 질의가 데이터 세트에 의해 만족되는 것으로 생각될 높은 가능성으로 인해 방해된다. 그러나, 후보 질의를 더 평가할 필요가 있는 것에 부가되는 불이익은 속도 증가에 의한 오프셋 보다 더 크다. 결과적으로, 본 발명의 두 단계 접근법은 결과적으로 이전에 있었던 경우 보다 더 신속하게 질의를 처리할 수 있다.
본 발명의 특정한 실시예에서, 근사 단계(301)는 실행 계획의 모든 작용어를 불 논리화(Booleanize)하여 이루어진다. 여기서, "불 논리화(Booleanization)"는 실행 계획의 각 작용어를 불 논리 AND 또는 불 논리 OR와 같이, 불 논리 작용어가 되도록 재정의하는 것을 칭한다. 예를들면, 질의어의 각 표시가 같은 단락에 나타내면 만족되는 작용어 PARAGRAPH는 불 논리화될 때, 불 논리 AND 작용어와 대치되고, 각 표시가 같은 데이터 세트에 나타날 것만을 요구한다. 도 4a는 실행 계획(200)의 조합 작용어가 불 논리 근사된 이후의 실행 계획(200)을 설명한다. 표 B는 본 발명과 사용될 수 있는 일부 조합 작용어의 불 논리 근사를 도시한다.
도표 B - 불 논리 근사
작용어 | 작용어의 불 논리 근사 |
ACCRUE | OR |
AND | AND |
IN | AND |
NEAR | AND |
OR | OR |
PARAGRAPH | AND |
PHRASE | AND |
SENTENCE | AND |
실행 계획의 불 논리화에서 사용되는 불 논리 AND 및 OR은 불 논리화 이전의 실행 계획 일부가 될 수 있는 AND 및 OR 작용어 보다 더 제한됨을 주목하여야 한다. 불 논리 AND 및 OR은 불 논리 AND 또는 OR을 포함하는 질의어의 일부인 증거 기술자 또는 질의어를 만족시킬 수 있는 증거의 발생(불 논리 작용어에 적합한)에 의해 간단히 트리거(trigger)된다. 근접되지 않은 실행 계획에서 사용되는 AND 및 OR 작용어는 질의어의 존재 여부를 테스트하는 것만큼 손쉽지는 않지만, 질의어의 일부인 증거 기술자 또는 질의어의 수학적인 평가를 포함한다.
불 논리화는 각 질의어의 평가가 질의어에 대응하는 노드를 트리거시키게 되는 불 논리 표시의 손쉬운 분석이 될 수 있게 한다. 노드는 노드가 활성화될 때(노드에 대응하는 질의어가 만족될 때)나 노드가 비활성화될 때(노드에 대응하는 질의어가 만족되는 것이 방해될 때) 트리거된다.
또한, 증거 작용어를 근접시키는 것이 가능하다. 예를들면, 증거 패턴과 철자가 유사한 증거를 지정하는 TYPO 작용어는 두 단어가 공통으로 갖는 문자의 수나 퍼센트를 계산하는 작용어에 의해 근접될 수 있다. 또는, 수의 제곱근을 계산하는 작용어(비교적 복잡한 계산인)와 같은 수학적인 작용어는 제곱근의 계산을 근접시키는 더 간단한 다른 수학적인 작용어의 순차로 근접화될 수 있다. 또는, 비교적 복잡한 평가를 요구하는 사건(예를들면, 병합 및 획득)을 탐색하는 작용어는 더 간단한 평가를 요구하는 더 간단한 작용어(예를들면, 같은 문서에서 두 회사명의 발생)에 의해 근접될 수 있다.
일단 질의어의 작용어가 근접되면, 데이터 세트의 평가가 시작된다. 단계(302)에서는 데이터 세트로부터 증거 일부가 선택된다. 방법(300)은 증거 일부가 실행 계획의 하나 이상의 증거 기술자에 비교되게 한다. 그러므로, 증거 일부가 선택된 이후에는 단계(303)에 의해 도시된 바와 같이 증거 기술자가 선택된다. 단계(304)에서, 증거 일부는 증거 기술자에 비교된다. 증거 일부가 증거 기술자와 정합되지 않으면, 단계(310)에서는 증거 일부가 비교되지는 않았지만 비교되어야 하는 또 다른 증거 기술자가 실행 계획에 있는가 여부를 결정한다. 그런 경우에는 증거 기술자가 선택되어(단계 303) 비교된다(단계 304). 그렇지 않으면, 단계(311)에서, 실행 계획내의 하나 이상의 증거 기술자에 비교되어야 하는 데이터 세트에 또 다른 증거 일부가 있는가 여부를 결정한다. 있는 경우에는 또 다른 증거 일부가 데이터 세트로부터 선택된다(단계 302). 없는 경우에는 단계(312)에서, 후보 질의로 식별된 각 질의가 이후 설명될 바와 같이, 질의에서 질의어의 작용어를 근접시키지 않고 평가된다.
단계(304)에서, 증거 일부가 증거 기술자와 정합되면, 단계(305)에서는 대응하는 증거 기술자와 정합된 증거 일부의 식별이 기록된다. 이 정보는 각 후보 질의에 대한 나중 평가에서 유용하다.
단계(306)에서는 정합된 증거 기술자에 의해 나타내지는 리프(leaf)가 이미 트리거되었나(즉, 현재 평가되고 있는 데이터 세트에서 이전의 증거 일부에 의해 정합된 것으로 식별되었나) 여부를 결정한다. 그런 경우, 방법(300)은 현재 증거 일부에 비교되지 않았지만 비교되어야 하는 또 다른 증거 기술자가 실행 계획에 있는가 여부를 결정함으로서 계속된다(단계 310). 그렇지 않으면, 단계(307)에서, 리프가 트리거된다. 도 4b는 예를들면, 평가되고 있는 문서에서 단어 "technology"의 발생으로 인해 실행 계획(200)내의 리프(224)가 활성화되는 것을 설명한다. (활성화는 도 4b 내지 도 4e에서 리프나 노드를 둘러싸고 있는 빗금 영역으로 도시된다.)
단계(308)에서는 새로운 리프가 트리거된 이후에, 실행 계획에서 트리거된 로프나 노드에 연결된 트리거되지 않은 각 노드와 연관된 질의어는 트리거되지 않은 노드의 트리거 상태를 결정하기 위해 평가된다. 평가는 결과적으로 노드를 활성화 또는 비활성화(노드가 트리거되는)시키거나, 활성화 및 비활성화시키지 않는다(노드가 트리거되지 않는). 노드가 트리거되면, 실행 계획에서 새롭게 트리거된 노드에 연결되는 트리거되지 않은 각 노드와 연관된 질의어는 트리거되지 않은 노드의 트리거 상태를 결정하기 위해 평가된다. 트리거되지 않은 노드의 질의어를 평가하는 처리는 트리거된 노드에 연결되는 각 노드와 연관된 질의어가 평가될 때까지 계속된다. 도 4c는 리프(224)의 활성화로부터 기인되는 실행 계획(200)내의 노드 (214) 활성화를 설명한다. 노드(214)의 작용어를 사용해 형성된 질의어는 불 논리(Boolean) OR 작용어에 의해 근접되기 때문에, 노드(214)는 바로 활성화된다.
단계(309)에서, 연관된 모든 노드 및 리프가 활성화된 각 루트는 스스로 활성화되고, 대응하는 질의는 후보 질의로 식별된다. 도 4d는 루트(203)로 나타내지는 의문후보의 모든 노드(노드 213 및 214)의 활성화로부터 기인하는 실행 계획(200)내의 루트(203)의 활성화를 설명한다. 질의의 일부인 모든 노드가 불 논리 OR 작용어에 의해 근접되기 때문에, 루트(203)는 바로 활성화된다.
다음에, 근접되면, 증거 일부는 다른 증거 기술자(단계 310)에 비교되고, 나머지 증거 일부도 또한 증거 기술자(단계 311)에 비교된다. 각 증거 일부는 새로운 증거 기술자에 비교되고, 또한 증거 일부는 점검되므로, 실행 계획의 부가적인 리프 및 노드는 트리거되고, 그 트리거 현상은 실행 계획을 통해 계속 이어진다. 본 발명의 중요한 특성은 일단 리프나 노드가 트리거되면, 트리거 가능성에 대해 그 리프나 노드를 더 이상 평가할 필요가 없으므로, 매우 신속하게 실행 계획에 대한 데이터 세트의 평가를 가능하게 한다.
도 4e는 텍스트 문서의 근접된 평가 완료 이후의 실행 계획(200)을 설명한다. 텍스트 문서는 또한 각주 구역을 포함하므로, 리프(226)가 활성화된다. 리프(226)와 노드(214)가 모두 활성화되므로, 노드(215)도 또한 활성화된다. 노드(215)는 불 논리 AND 작용어에 의해 근접되기 때문에, 리프(226)가 활성화될 때까지 노드(215)는 활성화될 수 없음을 주목한다. 노드(215)의 활성화는 또한 루트(204)를 활성화시키게 된다.
데이터 세트의 모든 증거 일부가 실행 계획의 증거 기술자에 대해 점검된 이후에는 전형적으로 하나 이상의 질의가 후보 질의로 식별된다. 물론, 후보 질의로서 아무런 질의도 식별되지 않아서, 방법(300)이 종료될 때, 데이터 세트가 실행 계획의 질의를 만족시키지 않는 것으로 식별되는 것도 가능하다. 그러나, 데이터 세트에 의해 만족되는 근접된 질의가 몇 개 있을 가능성이 더 많다. 도 4e에서, 루트(203) 및(204)에 의해 나타내지는 질의는 후보 질의로 식별된다.
단계(312)에서, 각 후보 질의는 정확하고 완벽하게 평가된다. 즉, 질의의 질의어를 근접시키지 않고 평가된다. 도 4e에 도시된 실행 계획(200)에서, 예를들면, 루트(204)의 후보 질의는 단어 "technology"가 텍스트 문서의 각주 구역에 나타나면 만족된다. 많은 경우에서, 수 천 개의 질의를 갖는 실행 계획은 단지 12개이고, 질의가 후보 질의로 식별된다. 상술된 바와 같이, 근접된 질의의 평가는 일반적으로 근접되지 않은 질의의 평가 보다 훨씬 빠르게 이루어질 수 있으므로, 후보 질의의 식별 및 평가는 질의어를 근접시키지 않은 각 질의의 평가 보다 훨씬 더 신속하게 실행될 수 있다. 또한, 상기에서 논의된 증가 기술자와 질의어의 공유는 근접된 평가와 전체적인 평가가 그렇지 않은 경우에 가능한 것 보다 더 신속히 이루어지는 것을 가능하게 할 수 있다.
데이터 세트의 증거가 평가된 이후에, 데이터 세트가 하나 이상의 질의를 만족시키는 것으로 질의 처리기(103)가 결정하면, 그 질의나 질의 세트뿐만 아니라 데이터 세트를 식별하는 정보는 결과 관리기(102)에 전달된다. 결과 관리기(102)는 식별 정보가 디스플레이되게 할 수 있거나, 적절한 데이터 세트가 디스플레이되게 하는데 식별 정보가 사용될 수 있다. 여기서, 디스플레이는 비디오 디스플레이 디바이스상의 디스플레이, 종이상의 인쇄, 또는 팩시밀리 전송 전달과 같이, 사용자에게 정보를 운반하는 적절한 방법을 포함한다. 부가적으로 또는 다른 방법으로, 결과 관리자(102)는 식별 정보 및 데이터 세트가 결과 저장기(106)에 저장되게 할 수 있다.
저장된 식별 정보는 적절한 방법으로 구성될 수 있다. 예를들면, 각 질의를 만족시키는 데이터 세트의 리스트가 저장될 수 있다. (예를 들어, 데이터 세트가 텍스트 문자이면, 리스트는 관련된 텍스트 문서의 파일명을 포함할 수 있다.) 다른 방법으로 또는 부가적으로, 각 데이터 세트를 만족시키는 질의의 리스트가 저장될 수 있다.
본 발명에 따라, 다수의 데이터 세트를 동시에 평가하는 것이 또한 가능하다. 이는 각 데이터 세트를 평가하는데 사용되는 실행 계획의 유일한 버전을 저장하거나, 다수의 데이터 스트림(data stream)간에 실행 계획을 공유하기 위해 쓰레딩(threading)과 같은 종래의 다중처리 기술을 사용함으로서 이루어질 수 있다.
본 발명은 아주 다양한 종류의 데이터 세트를 평가하는데 폭넓은 응용을 가질 것으로 기대된다. 예를들면, 본 발명은 하나 이상의 텍스트 문서가 텍스트 문서의 내용에 대해 사용자가 지정한 임의의 수의 질의를 만족시키는가 여부를 결정하기 위해 임의의 수의 텍스트 문서 각각을 평가하는데 사용될 수 있다. 특정한 예로, 본 발명은 다양한 사용자 각각에 대하여, 뉴스 와이어 공급에 의해 전송된 뉴스 내용을 실시간으로 모니터하는데 사용될 수 있다. 이러한 모니터 처리의 일부로, 본 발명은 예를들면, 뉴스 내용이 병합 및 획득과 같이, 관심 있는 주제에 관련된 정보를 포함하는가를 결정하기 위해 각 뉴스 내용을 평가하는데 사용될 수 있다. 본 발명은 또한 예를들면, 뉴스 내용에 포함된 정보가 연방 준비국에 의해 이자 비율 변화의 공고 이후에 지정된 수 주의 주기와 같이, 관심 있는 특정한 시간 주기에 관련되는가를 결정하는데 사용될 수 있다. 상상될 수 있는 바와 같이, 제한이 만족되는가 여부를 평가하는데 사용될 수 있는 뉴스 내용의 정보 표시는 다양한 형태를 취할 수 있으므로, 이러한 제한을 설명하는 질의의 공식화는 전형적으로 매우 복잡하다. 그래서, 이 특정한 예는 질의가 다소 복잡한 상황에서의 본 발명의 응용성을 설명한다. (예를 들어, 들어오는 뉴스 내용을 모니터하기 원하는 사용자가 많으면, 이러한 질의의 수는 또한 매우 커질 수 있다.) 상술된 바와 같이, 본 발명은 많은 수의 데이터 세트(여기서는 텍스트 문자)를 이전의 평가 방법 보다 훨씬 더 신속하게 평가할 수 있다. 실례로, 90 MHz 인텔 펜티엄(Intel Pentium) 프로세서를 포함하는 컴퓨터 시스템을 사용해, 본 발명은 만약 있다면, 뉴스 와이어 내용 중 어느 것이 100,000 이상의 복잡한(즉, 20-40 질의어를 포함하는) 질의를 만족시키는가를 결정하기 위해 1초 당 대략 2-3개의 전형적인 뉴스 와이어 내용을 평가할 수 있다.
또 다른 예로, 본 발명은 또한 하나 이상의 필드가 필드의 내용에 대해 사용자가 지정한 임의의 수의 질의를 만족시키는가 여부를 결정하기 위해 임의의 수의 데이터베이스 필드 각각을 평가하는데 사용될 수 있다. 예를들면, 본 발명은 항공기 예약 데이터베이스를 모니터하는데 사용될 수 있다. 이러한 모니터 처리의 일부로, 본 발명은 이전에 전부 예약된 항공편이 이용가능한가를 결정하기 위해 특정한 시간 주기 동안 특정한 목적지로의 항공편과 연관된 필드를 모니터하는데 사용될 수 있다. 상상될 수 있는 바와 같이, 이러한 모니터 처리에 대한 질의는 전형적으로 다소 간단하다. 그러나, 이러한 정보를 모니터하는 여행사가 많이 있으므로, 질의의 수가 매우 커진다. 그래서, 이 특정한 예는 질의가 다소 간단하지만 질의의 수가 큰 상황에서의 본 발명의 응용성을 설명한다.
데이터베이스를 모니터하는데 본 발명을 사용하는 또 다른 예로, 본 발명은 조직을 나타내는 고객 서비스에 주어진 호출에 대해 데이터를 포함하는 호출 추적 데이터베이스를 모니터하는데 사용될 수 있다. 증거는 호출 그룹에 대한 누적 통계뿐만 아니라 각 호출의 내용을 나타내는 데이터로부터 생성될 수 있다. 이러한 모니터 처리의 일부로, 본 발명은 수가 소정의 한계값을 넘을 때를 확인하기 위해 각 고객 서비스 대표에 대해 "개방 호출(open call)"(즉, 일부 방식으로 처리되지 않은 호출)의 수와 연관된 필드를 모니터하기 위해 적절한 질의를 지정하는데 사용될 수 있다. 적절한 질의는 또한 비율이 소정의 한계값 이하로 떨어지는 때를 확인하기 위해 각 고객 대표에 대해 "폐쇄 비율(close rate)"(즉, 일부 방식으로 처리된 호출의 퍼센트)을 결정하는 데이터베이스의 필드를 모니터하기 위해 구성될 수 있다. 적절한 질의는 또한 그 수가 소정의 양을 넘을 때를 확인하기 위해 특정한 주제에 대해 수신되는 불만의 누적수를 모니터하기 위해 구성될 수 있다. 적절한 질의는 또한 호출이 개방상태에 머무는 시간 길이를 모니터하여 소정의 시간 길이 보다 더 긴 호출 개방이 식별될 수 있도록 지정될 수 있다. 예를들면, 특정한 단어 처리 프로그램으로 심각한 문제점에 관하여 호출에 대한 개방 시간의 길이를 모니터하는 이 마지막 종류의 질의는 다음과 같이 표시될 수 있다: (PRODUCT - "XYZ wordprocessing program") AND (OPEN > "1 week") AND (ACCRUE MANY "crash" OR "halt" OR "fault" OR "corrupt").
본 발명은 또한 숫자 정보의 스트림을 전체적으로 구성하는 데이터 세트를 모니터하는데 사용될 수 있다. 예를들면, 본 발명은 주식가, 이자율, 및 통화 교환율과 같이 연속적으로 업데이트되는 금융 정보의 데이터 스트림을 모니터하는데 사용될 수 있다. 데이터 스트림으로부터 추출되는 증거는 특정한 시간의 특정한 주식가, 이자율, 및 통화 교환율이 된다. 적절한 질의(예를들면, 특정한 증거 기술자의 수학적인 조합)는 예를들면, 차액 취득 거래 정보를 식별하기 위해 이 정보에 관하여 구성될 수 있다.
부가적으로, 본 발명은 필터(filter)로 사용될 수 있다. 예를들면, 본 발명은 데이터가 아이들에게 액세스되기 이전에 부적절한 내용이 제거될 수 있도록 데이터(예를들면, 인터넷이나 텔레비젼과 같은 소스로부터의 오디오, 비디오, 또는 텍스트 데이터)의 스트림을 모니터하는 내용 근거의 "키디 필터(kiddie filter)"로 사용될 수 있다.
본 발명의 다양한 실시예가 설명되었다. 그 설명은 실례를 나타낸 것으로서, 제한되도록 의도되지 않는다. 그래서, 종래 기술에 숙련된 자에게는 이후 설명되는 청구항의 범위에서 벗어나지 않고 설명된 본 발명에 특정한 수정이 이루어질 수 있음이 명백하다.
Claims (57)
- 데이터 세트가 다수의 질의 중 하나 이상을 만족시키는가 여부를 결정하기 위해 데이터 세트를 평가하는 방법으로서, 데이터 세트의 내용은 하나 이상의 증거(evidence)에 의해 설명될 수 있고, 질의(query)는 각 질의가 하나 이상의 다른 질의에 동작 가능하게 관련되는 질의의 실행 계획에 배열되고, 다수의 질의 각각은 하나 이상의 질의어(query term)를 포함하고, 각 질의어는 조합 작용어에 관련될 수 있는 하나 이상의 증거 기술자(evidence descriptor)를 포함하고, 각 증거 기술자는 증거 일부나 증거 일부의 특성을 설명하는 데이터 세트 평가 방법에 있어서,각 증거 일부를 하나 이상의 증거 기술자와 비교하는 단계;증거 일부에 의해 만족되는 각 증거 기술자를 식별하는 단계;질의어가 만족되는가 여부를 결정하기 위해 만족된 또 다른 질의어나 만족되는 증거 기술자를 포함하는 각 질의어를 평가하는 단계; 및모든 질의어가 만족된 각 질의를 데이터 세트에 의해 만족되는 질의로서 식별하는 단계를 포함하는 데이터 세트 평가 방법.
- 제 1 항에 있어서, 동작 가능하게 관련된 질의어 각각의 일부분인 적어도 하나의 증거 기술자를 공유함으로서 적어도 하나의 질의어가 또 다른 질의어에 동작 가능하게 관련되는 데이터 세트 평가 방법.
- 제 2 항에 있어서, 상기 비교하는 단계가,각 증거 기술자의 종류를 식별하는 단계;각 증거 일부의 종류를 식별하는 단계; 및증거 일부와 같은 종류인 각 증거 기술자에 각 증거 일부를 비교하는 단계를 더 포함하는 데이터 세트 평가 방법.
- 제 2 항에 있어서,하나 이상의 증거 종류를 정의하는 단계;증거 기술자의 종류 또는 종류들을 식별하는 단계; 및식별된 증거 기술자의 종류 또는 종류들에 응답해 하나 이상의 증거 종류를 수정하는 단계를 더 포함하는 데이터 세트 평가 방법.
- 제 1 항에 있어서, 상기 비교하는 단계가,각 증거 기술자의 종류를 식별하는 단계;각 증거 일부의 종류를 식별하는 단계; 및증거 일부와 같은 종류인 각 증거 기술자에 각 증거 일부를 비교하는 단계를 더 구비하는 데이터 세트 평가 방법.
- 제 5 항에 있어서,하나 이상의 증거 종류를 정의하는 단계;증거 기술자의 종류 또는 종류들을 식별하는 단계; 및식별된 증거 기술자의 종류 또는 종류들에 응답해 하나 이상의 증거 종류를 수정하는 단계를 더 포함하는 데이터 세트 평가 방법.
- 제 1 항에 있어서,하나 이상의 증거 종류를 정의하는 단계;증거 기술자의 종류 또는 종류들을 식별하는 단계; 및식별된 증거 기술자의 종류 또는 종류들에 응답해 하나 이상의 증거 종류를 수정하는 단계를 더 포함하는 데이터 세트 평가 방법.
- 각각이 적어도 하나의 증거 기술자를 포함하는 다수의 질의로부터, 데이터 세트에 의해 만족되는 각 후보 질의의 식별을 가능하게 하기 위해 데이터 세트를 평가하는 방법에 있어서,각 증거 기술자의 종류를 식별하는 단계;데이터 세트에서 각 증거 일부의 종류를 식별하는 단계;증거 일부와 같은 종류인 각 증거 기술자에 데이터 세트내의 각 증거 일부를 비교하는 단계; 및증거 일부에 의해 만족되는 각 증거 기술자를 식별하는 단계를 포함하고, 만족된 증거 기술자를 포함하는 질의만이 후보 질의가 될 수 있는 데이터 세트 평가 방법.
- 제 8 항에 있어서, 상기 비교하는 단계를 포함하는 단계가 비교되는 증거 기술자와 소자의 종류에 의존하는 데이터 세트 평가 방법.
- 제 1 항에 있어서, 다수의 데이터 세트가 평가되는 데이터 세트 평가 방법.
- 제 1 항에 있어서, 다수의 데이터 세트가 순차적으로 평가되는 데이터 세트 평가 방법.
- 제 1 항에 있어서, 각 데이터 세트에 대해 다수의 질의의 복제를 이루는 단계를 더 포함하고, 다수의 데이터 세트 각각은 다수의 질의 중 하나를 사용해 동시에 평가되는 데이터 세트 평가 방법.
- 제 1 항에 있어서, 데이터 세트가 텍스트(text) 데이터인 데이터 세트 평가 방법.
- 제 1 항에 있어서, 데이터 세트가 데이터베이스(database)로 정렬되는 데이터 세트 평가 방법.
- 데이터 세트가 다수의 질의 중 하나 이상을 만족시키는가 여부를 결정하기 위해 데이터 세트를 평가하는 방법에 있어서,데이터 세트에 의해 만족되는 하나 이상의 후보 질의를 식별하는 단계; 및만약 있다면, 후보 질의 중 어느 것이 데이터 세트에 의해 만족되는가를 결정하기 위해 각 후보 질의를 평가하는 단계를 포함하는 데이터 세트 평가 방법.
- 제 11 항에 있어서, 다수의 질의는 각 질의가 하나 이상의 다른 질의에 동작 가능하게 관련된 질의의 실행 계획에 배열되는 데이터 세트 평가 방법.
- 제 11 항에 있어서,데이터 세트의 내용은 하나 이상의 증거 일부에 의해 설명될 수 있고;다수의 질의 각각은 하나 이상의 질의어를 포함하고, 각 질의어는 조합 작용어에 관련될 수 있는 하나 이상의 증거 기술자를 포함하고, 각 증거 기술자는 증거 일부나 증거 일부의 특성을 설명하고; 또한적어도 하나의 질의어는 동작 가능하게 관련된 질의어 각각의 일부분인 적어도 하나의 증거 기술자를 공유함으로서 또 다른 질의어에 동작 가능하게 관련되는 데이터 세트 평가 방법.
- 제 17 항에 있어서,상기 식별하는 단계는,근접된 질의어의 실행 계획을 생성하기 위해 하나 이상의 질의어의 근사치를 이루는 단계;만약 있다면, 근접된 질의어의 실행 계획에서의 질의 중 어느 것이 데이터 세트에 의해 만족되는가를 결정하기 위해 근접된 질의어의 실행 계획에서 질의어를 평가하는 단계; 및질의내의 모든 질의어가 만족되는 근접된 질의어의 실행 계획에서의 각 질의를 후보 질의로 식별하는 단계를 더 포함하는 데이터 세트 평가 방법.
- 제 17 항에 있어서,상기 식별하는 단계는,각 증거 기술자의 종류를 식별하는 단계;각 증거 일부의 종류를 식별하는 단계;증거 일부와 같은 종류인 각 증거 기술자에 각 증거 일부를 비교하는 단계; 및증거 일부에 의해 만족되는 각 증거 기술자를 식별하는 단계를 더 포함하고, 만족된 질의만이 후보 질의가 될 수 있는 데이터 세트 평가 방법.
- 제 19 항에 있어서,상기 식별하는 단계는,근접된 질의어의 실행 계획을 생성하기 위해 하나 이상의 질의어의 근사치를 이루는 단계;만약 있다면, 근접된 질의어의 실행 계획에서의 질의 중 어느 것이 데이터 세트에 의해 만족되는가를 결정하기 위해 근접된 질의어의 실행 계획에서 질의어를 평가하는 단계; 및질의내의 모든 질의어가 만족되는 근접된 질의어의 실행 계획에서의 각 질의를 후보 질의로 식별하는 단계를 더 포함하는 데이터 세트 평가 방법.
- 제 20 항에 있어서,하나 이상의 증거 종류를 정의하는 단계;증거 기술자의 종류 또는 종류들을 식별하는 단계; 및식별된 증거 기술자의 종류 또는 종류들에 응답해 하나 이상의 증거 종류를 수정하는 단계를 더 포함하는 데이터 세트 평가 방법.
- 제 17 항에 있어서,하나 이상의 증거 종류를 정의하는 단계;증거 기술자의 종류 또는 종류들을 식별하는 단계; 및식별된 증거 기술자의 종류 또는 종류들에 응답해 하나 이상의 증거 종류를 수정하는 단계를 더 포함하는 데이터 세트 평가 방법.
- 제 15 항에 있어서,데이터 세트의 내용은 하나 이상의 증거 일부에 의해 설명될 수 있고;다수의 질의 각각은 하나 이상의 질의어를 포함하고, 각 질의어는 조합 작용어에 관련될 수 있는 하나 이상의 증거 기술자를 포함하고, 각 증거 기술자는 증거 일부나 증거 일부의 특성을 설명하고; 또한상기 식별하는 단계는:각 증거 기술자의 종류를 식별하는 단계;각 증거 일부의 종류를 식별하는 단계;증거 일부와 같은 종류인 각 증거 기술자에 각 증거 일부를 비교하는 단계; 및증거 일부에 의해 만족되는 각 증거 기술자를 식별하는 단계를 더 포함하고, 만족된 질의만이 후보 질의가 될 수 있는 데이터 세트 평가 방법.
- 제 23 항에 있어서,상기 식별하는 단계는,근접된 질의어의 실행 계획을 생성하기 위해 하나 이상의 질의어의 근사치를 이루는 단계;만약 있다면, 근접된 질의어의 실행 계획에서의 질의 중 어느 것이 데이터 세트에 의해 만족되는가를 결정하기 위해 근접된 질의어의 실행 계획에서 질의어를 평가하는 단계; 및질의내의 모든 질의어가 만족되는 근접된 질의어의 실행 계획에서의 각 질의를 후보 질의로 식별하는 단계를 더 포함하는 데이터 세트 평가 방법.
- 제 15 항에 있어서,상기 식별하는 단계는,근접된 질의어의 실행 계획을 생성하기 위해 하나 이상의 질의어의 근사치를 이루는 단계;만약 있다면, 근접된 질의어의 실행 계획에서의 질의 중 어느 것이 데이터 세트에 의해 만족되는가를 결정하기 위해 근접된 질의어의 실행 계획에서 질의어를 평가하는 단계; 및질의내의 모든 질의어가 만족되는 근접된 질의어의 실행 계획에서의 각 질의를 후보 질의로 식별하는 단계를 더 포함하는 데이터 세트 평가 방법.
- 제 23 항에 있어서,하나 이상의 증거 종류를 정의하는 단계;증거 기술자의 종류 또는 종류들을 식별하는 단계; 및식별된 증거 기술자의 종류 또는 종류들에 응답해 하나 이상의 증거 종류를 수정하는 단계를 더 포함하는 데이터 세트 평가 방법.
- 제 15 항에 있어서,다수의 질의는 증거 일부가 증거 기술자를 만족시키는가 여부를 확인하기 위해 데이터 세트의 내용 일부분을 나타내는 하나 이상의 증거 일부에 비교될 수 있는 다수의 증거 기술자를 포함하고,하나 이상의 증거 종류를 정의하는 단계;증거 기술자의 종류 또는 종류들을 식별하는 단계; 및식별된 증거 기술자의 종류 또는 종류들에 응답해 하나 이상의 증거 종류를 수정하는 단계를 더 포함하는 데이터 세트 평가 방법.
- 데이터 세트가 하나 이상의 질의를 만족시키는가 여부를 결정하기 위해 데이터 세트를 평가하는데 사용되는 방법으로서, 하나 이상의 질의는 증거 일부가 증거 기술자를 만족시키는가 여부를 확인하기 위해 데이터 세트의 내용 일부분을 나타내는 하나 이상의 증거 일부에 비교될 수 있는 다수의 증거 기술자를 포함하는 데이터 세트 평가용 방법에 있어서,하나 이상의 증거 종류를 정의하는 단계;증거 기술자의 종류 또는 종류들을 식별하는 단계; 및식별된 증거 기술자의 종류 또는 종류들에 응답해 하나 이상의 증거 종류를 수정하는 단계를 포함하는 데이터 세트 평가용 방법.
- 제 28 항에 있어서, 각각이 수정된 종류 중 하나인 하나 이상의 증거 일부를 생성하는 단계를 더 포함하는 데이터 세트 평가용 방법.
- 제 28 항에 있어서, 상기 수정하는 단계는 증거 기술자의 한 종류로 식별된 종류를 정의되는 종류에 부가하는 단계를 더 포함하는 데이터 세트 평가용 방법.
- 제 28 항에 있어서, 상기 수정하는 단계는 증거 기술자의 한 종류로 식별되지 않은 종류를 정의되는 종류에서 삭제하는 단계를 더 포함하는 데이터 세트 평가용 방법.
- 데이터 세트가 하나 이상의 질의를 만족시키는가 여부를 결정하기 위해 데이터 세트를 평가하는데 사용되는 질의의 실행 계획을 구성하는 방법에 있어서,다수의 질의를 입력하는 단계; 및각 질의를 또 다른 질의에 동작 가능하게 관련시키는 단계를 포함하는 실행 계획 구성 방법.
- 제 32 항에 있어서, 상기 동작 가능하게 관련시키는 단계는 질의에 동작 가능하게 관련된 다른 질의를 각각 식별하는 단계를 더 포함하는 실행 계획 구성 방법.
- 제 32 항에 있어서,각 질의를 하나 이상의 질의어로 해석하는 단계를 더 구비하고, 하나 이상의 이전 질의 이후에 입력된 부가적인 질의에 대해, 상기 동작 가능하게 관련시키는 단계는,만약 있다면, 입력 질의어 중 어느 것이 현존하는 질의어와 다른가를 결정하기 위해 실행 계획의 일부로 이미 존재하는 질의어에 부가적인 질의의 입력 질의어 각각을 비교하는 단계;다른 입력 질의어 각각에서, 현존하는 질의어와 같은 입력 질의어에 대한 하나 이상의 관계를 식별하는 단계; 및다른 입력 질의어가 다른 질의어 및 대응하는 입력 질의어 사이의 관계와 같은 실행 계획의 현존하는 질의어에 대한 관계를 갖도록 다른 입력 질의어를 실행 계획에 부가하는 단계를 더 포함하는 실행 계획 구성 방법.
- 제 32 항에 있어서,각 질의를 하나 이상의 질의어로 해석하는 단계; 및실행 계획에서 질의를 제거하는 단계를 더 구비하고, 상기 제거하는 단계는,만약 있다면, 제거될 질의의 질의어 중 어느 것이 현존하는 다른 질의어와 다른가를 결정하기 위해 실행 계획의 일부로 존재하는 다른 질의의 질의어에 제거될 질의의 각 질의어를 비교하는 단계; 및실행 계획에서 다른 질의어를 제거하는 단계를 더 포함하는 실행 계획 구성 방법.
- 제 32 항에 있어서,상기 데이터 세트의 내용은 하나 이상의 증거 일부에 의해 설명될 수 있고,각 질의를 하나 이상의 질의어로 해석하는 단계; 및동작 가능하게 관련된 질의어 각각의 일부분인 적어도 하나의 증거 기술자를 공유함으로서 적어도 하나의 질의어를 또 다른 질의어에 동작 가능하게 관련시키는 단계를 더 포함하며,각 질의어는 조합 작용어에 관련될 수 있는 하나 이상의 증거 기술자를 포함하고, 각 증거 기술자는 증거 일부나 증거 일부의 특성을 설명하는 실행 계획 구성 방법.
- 제 36 항에 있어서,하나 이상의 이전 질의 이후에 입력된 부가적인 질의에 대해, 상기 동작 가능하게 관련시키는 단계는,만약 있다면, 입력 질의어 중 어느 것이 현존하는 질의어와 다른가를 결정하기 위해 실행 계획의 일부로 이미 존재하는 질의어에 부가적인 질의의 입력 질의어 각각을 비교하는 단계;다른 입력 질의어 각각에서, 현존하는 질의어와 같은 입력 질의어에 대한 하나 이상의 관계를 식별하는 단계; 및다른 입력 질의어가 다른 질의어 및 대응하는 입력 질의어 사이의 관계와 같은 실행 계획의 현존하는 질의어에 대한 관계를 갖도록 다른 입력 질의어를 실행 계획에 부가하는 단계를 더 포함하는 실행 계획 구성 방법.
- 제 37 항에 있어서, 적어도 하나의 증거 기술자 또는 조합 작용어에 대해, 증거 기술자 또는 조합 작용어의 대응하는 근사치를 정의하는 단계를 더 포함하는 실행 계획 구성 방법.
- 제 36 항에 있어서, 적어도 하나의 증거 기술자 또는 조합 작용어에 대해, 증거 기술자 또는 조합 작용어의 대응하는 근사치를 정의하는 단계를 더 포함하는 실행 계획 구성 방법.
- 제 36 항에 있어서, 적어도 하나의 질의어를 또 다른 질의어에 동작 가능하게 관련시키는 단계는 동작 가능하게 관련된 질의어의 일부분인 적어도 하나의 조합 작용어를 공유하는 단계를 더 포함하는 실행 계획 구성 방법.
- 제 32 항에 있어서,데이터 세트의 내용은 하나 이상의 증거 일부에 의해 설명될 수 있고,각 질의를 하나 이상의 질의어로 해석하는 단계; 및각 동일한 증거 기술자나 조합 작용어를 공유함으로서 동일한 증거 기술자나 조합 작용어를 포함하는 각 질의어를 각 다른 질의어에 동작 가능하게 관련시키는 단계를 더 포함하며,각 질의어는 조합 작용어에 관련될 수 있는 하나 이상의 증거 기술자를 포함하고, 각 증거 기술자는 증거 일부나 증거 일부의 특성을 설명하는 실행 계획 구성 방법.
- 데이터 세트가 하나 이상의 질의를 만족시키는가 여부를 결정하기 위해 데이터 세트를 평가하는데 사용되는 질의의 실행 계획을 구성하는 방법으로서, 상기 데이터 세트의 내용이 하나 이상의 증거 일부에 의해 설명될 수 있는 실행 계획 구성 방법에 있어서,다수의 질의를 입력하는 단계;각 질의어가 조합 작용어에 관련될 수 있는 하나 이상의 증거 기술자를 포함하고, 각 증거 기술자가 증거 일부나 증거 일부의 특성을 설명하는 경우에서, 각 질의를 하나 이상의 질의어로 해석하는 단계; 및적어도 하나의 증거 기술자 또는 조합 작용어에 대해, 증거 기술자 또는 조합 작용어의 대응하는 근사치를 정의하는 단계를 포함하는 실행 계획 구성 방법.
- 제 42 항에 있어서, 상기 정의하는 단계는 각 증거 기술자 또는 조합 작용어에 대해, 증거 기술자 또는 조합 작용어의 대응하는 근사치를 정의하는 단계를 더 포함하는 실행 계획 구성 방법.
- 데이터 세트가 다수의 질의 중 하나 이상을 만족시키는가 여부를 결정하기 위해 데이터 세트를 평가하는데 사용하기 위한 실행 계획으로서, 상기 실행 계획의 각 질의는 또 다른 질의에 동작 가능하게 관련되는 실행 계획.
- 제 44 항에 있어서, 각 질의는 그 질의에 동작 가능하게 관련된 다른 질의를 각각 식별하는 실행 계획.
- 데이터 세트가 다수의 질의 중 하나 이상을 만족시키는가 여부를 결정하기 위해 데이터 세트를 평가하는데 사용하기 위한 실행 계획으로서, 데이터 세트의 내용은 하나 이상의 증거 일부에 의해 설명될 수 있고, 각 질의는 하나 이상의 질의어를 포함하고, 각 질의어는 조합 작용어에 관련될 수 있는 하나 이상의 증거 기술자를 포함하고, 각 증거 기술자는 증거 일부나 증거 일부의 특성을 설명하는 실행 계획에 있어서,적어도 하나의 증거 기술자는 하나 이상의 질의어에 의해 공유되는 실행 계획.
- 제 46 항에 있어서, 하나 이상의 질의어에 의해 공유되는 적어도 하나의 조합 작용어를 포함하는 실행 계획.
- 제 46 항에 있어서, 적어도 하나의 증거 기술자 또는 조합 작용어에 대해, 증거 기술자 또는 조합 작용어의 대응하는 근사치가 정의되는 실행 계획.
- 데이터 세트가 다수의 질의 중 하나 이상을 만족시키는가 여부를 결정하기 위해 데이터 세트를 평가하는데 사용하기 위한 실행 계획으로서, 데이터 세트의 내용은 하나 이상의 증거 일부에 의해 설명될 수 있고, 각 질의는 하나 이상의 질의어를 포함하고, 각 질의어는 조합 작용어에 관련될 수 있는 하나 이상의 증거 기술자를 포함하고, 각 증거 기술자는 증거 일부나 증거 일부의 특성을 설명하는 실행 계획에 있어서, 다른 질의어의 증거 기술자와 동일한 한 질의어의 증거 기술자 각각은 상기 질의어와 공유되고, 다른 질의어의 조합 작용어와 동일한 한 질의어의 각 조합 작용어는 상기 질의어와 공유되는 실행 계획.
- 데이터 세트가 다수의 질의 중 하나 이상을 만족시키는가 여부를 결정하기 위해 데이터 세트를 평가하는데 사용하기 위한 실행 계획으로서, 데이터 세트의 내용은 하나 이상의 증거 일부에 의해 설명될 수 있고, 각 질의는 하나 이상의 질의어를 포함하고, 각 질의어는 조합 작용어에 관련될 수 있는 하나 이상의 증거 기술자를 포함하고, 각 증거 기술자는 증거 일부나 증거 일부의 특성을 설명하는 실행 계획에 있어서,적어도 하나의 증거 기술자 또는 조합 작용어에 대해, 증거 기술자 또는 조합 작용어의 대응하는 근사치가 정의되는 실행 계획.
- 제 50 항에 있어서, 각 증거 기술자 또는 조합 작용어에 대해, 증거 기술자 또는 조합 작용어의 대응하는 근사치가 정의되는 실행 계획.
- 데이터 세트가 다수의 질의 중 하나 이상을 만족시키는가 여부를 결정하기 위해 데이터 세트를 평가하기 위한 시스템으로서, 데이터 세트의 내용은 하나 이상의 증거 일부에 의해 설명될 수 있고, 질의는 각 질의가 하나 이상의 다른 질의에 동작 가능하게 관련되는 질의의 실행 계획에 배열되고, 다수의 질의 각각은 하나 이상의 질의어를 포함하고, 각 질의어는 조합 작용어에 관련될 수 있는 하나 이상의 증거 기술자를 포함하고, 각 증거 기술자는 증거 일부나 증거 일부의 특성을 설명하는 데이터 세트 평가 시스템에 있어서,각 증거 일부를 하나 이상의 증거 기술자에 비교하는 수단;증거 일부에 의해 만족되는 각 증거 기술자를 식별하는 수단;질의어가 만족되는가 여부를 결정하기 위해 만족된 또 다른 질의어나 만족되는 증거 기술자를 포함하는 각 질의어를 평가하는 수단; 및모든 질의어가 만족된 각 질의를 데이터 세트에 의해 만족되는 질의로서 식별하는 수단을 포함하는 데이터 세트 평가 시스템.
- 각각이 적어도 하나의 증거 기술자를 포함하는 다수의 질의로부터, 데이터 세트에 의해 만족되는 각 후보 질의의 식별을 가능하게 하기 위해 데이터 세트를 평가하는 시스템에 있어서,각 증거 기술자의 종류를 식별하는 수단;데이터 세트에서 각 증거 일부의 종류를 식별하는 수단;증거 일부와 같은 종류인 각 증거 기술자에 데이터 세트내의 각 증거 일부를 비교하는 수단; 및증거 일부에 의해 만족되는 각 증거 기술자를 식별하는 수단을 더 포함하고, 만족된 질의만이 후보 질의가 될 수 있는 데이터 세트 평가 시스템.
- 데이터 세트가 다수의 질의 중 하나 이상을 만족시키는가 여부를 결정하기 위해 데이터 세트를 평가하는 시스템에 있어서,데이터 세트에 의해 만족되는 하나 이상의 후보 질의를 식별하는 수단; 및만약 있다면, 후보 질의 중 어느 것이 데이터 세트에 의해 만족되는가를 결정하기 위해 각 후보 질의를 평가하는 수단을 포함하는 데이터 세트 평가 시스템.
- 데이터 세트가 하나 이상의 질의를 만족시키는가 여부를 결정하기 위해 데이터 세트를 평가하는데 사용되는 시스템으로서, 하나 이상의 질의는 증거 일부가 증거 기술자를 만족시키는가 여부를 확인하기 위해 데이터 세트의 내용 일부분을 나타내는 하나 이상의 증거 일부에 비교될 수 있는 다수의 증거 기술자를 포함하는 데이터 세트 평가용 시스템에 있어서,하나 이상의 증거 종류를 정의하는 수단;증거 기술자의 종류 또는 종류들을 식별하는 수단; 및식별된 증거 기술자의 종류 또는 종류들에 응답해 하나 이상의 증거 종류를 수정하는 수단을 포함하는 데이터 세트 평가용 시스템.
- 데이터 세트가 하나 이상의 질의를 만족시키는가 여부를 결정하기 위해 데이터 세트를 평가하는데 사용되는 질의의 실행 계획을 구성하는 시스템에 있어서,다수의 질의를 입력하는 수단; 및각 질의를 또 다른 질의에 동작 가능하게 관련시키는 수단을 포함하는 실행 계획 구성 시스템.
- 데이터 세트가 하나 이상의 질의를 만족시키는가 여부를 결정하기 위해 데이터 세트를 평가하는데 사용되는 질의의 실행 계획을 구성하는 시스템으로서, 데이터 세트의 내용이 하나 이상의 증거 일부에 의해 설명될 수 있는 실행 계획 구성 시스템에 있어서,다수의 질의를 입력하는 수단;각 질의어가 조합 작용어에 관련될 수 있는 하나 이상의 증거 기술자를 포함하고, 각 증거 기술자가 증거 일부나 증거 일부의 특성을 설명하는 경우에서, 각 질의를 하나 이상의 질의어로 해석하는 수단; 및적어도 하나의 증거 기술자 또는 조합 작용어에 대해, 증거 기술자 또는 조합 작용어의 대응하는 근사치를 정의하는 수단을 포함하는 실행 계획 구성 시스템.
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US08/581,853 | 1996-01-02 | ||
US8/581,853 | 1996-01-02 | ||
US08/581,853 US5778364A (en) | 1996-01-02 | 1996-01-02 | Evaluation of content of a data set using multiple and/or complex queries |
Publications (2)
Publication Number | Publication Date |
---|---|
KR19990076970A true KR19990076970A (ko) | 1999-10-25 |
KR100565871B1 KR100565871B1 (ko) | 2006-10-24 |
Family
ID=24326837
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1019980705098A KR100565871B1 (ko) | 1996-01-02 | 1996-12-31 | 데이터세트평가방법,데이터세트평가용방법,질의실행계획구성방법,실행계획,데이터세트평가시스템,데이터세트평가용시스템및질의실행계획구성시스템 |
Country Status (11)
Country | Link |
---|---|
US (1) | US5778364A (ko) |
EP (1) | EP0976061A1 (ko) |
JP (1) | JP2000503144A (ko) |
KR (1) | KR100565871B1 (ko) |
AP (1) | AP934A (ko) |
AU (1) | AU708217B2 (ko) |
EA (1) | EA001738B1 (ko) |
IL (1) | IL125188A0 (ko) |
NZ (1) | NZ326982A (ko) |
OA (1) | OA10805A (ko) |
WO (1) | WO1997024686A1 (ko) |
Families Citing this family (59)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7349892B1 (en) * | 1996-05-10 | 2008-03-25 | Aol Llc | System and method for automatically organizing and classifying businesses on the World-Wide Web |
US20030164856A1 (en) * | 1996-06-28 | 2003-09-04 | Randy Prager | Desktop, stream-based, information management system |
US6006227A (en) * | 1996-06-28 | 1999-12-21 | Yale University | Document stream operating system |
US5878410A (en) * | 1996-09-13 | 1999-03-02 | Microsoft Corporation | File system sort order indexes |
US6256627B1 (en) * | 1997-07-08 | 2001-07-03 | At&T Corp. | System and method for maintaining a knowledge base and evidence set |
DE69909452D1 (de) | 1998-03-16 | 2003-08-14 | Array Technology Aps Kopenhage | Eine datenbank, die nützlich ist, um ein system zu konfigurieren und/oder zu optimieren und ein verfahren, um diese datenbank zu generieren |
AU5822899A (en) | 1998-09-18 | 2000-04-10 | Tacit Knowledge Systems | Method and apparatus for querying a user knowledge profile |
US8380875B1 (en) | 1998-09-18 | 2013-02-19 | Oracle International Corporation | Method and system for addressing a communication document for transmission over a network based on the content thereof |
US6253202B1 (en) | 1998-09-18 | 2001-06-26 | Tacit Knowledge Systems, Inc. | Method, system and apparatus for authorizing access by a first user to a knowledge profile of a second user responsive to an access request from the first user |
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 |
US6154783A (en) | 1998-09-18 | 2000-11-28 | Tacit Knowledge Systems | Method and apparatus for addressing an electronic document for transmission over a network |
AU5910699A (en) * | 1998-09-18 | 2000-04-10 | Tacit Knowledge Systems | Method of constructing and displaying an entity profile constructed utilizing input from entities other than the owner |
US6115709A (en) | 1998-09-18 | 2000-09-05 | Tacit Knowledge Systems, Inc. | Method and system for constructing a knowledge profile of a user having unrestricted and restricted access portions according to respective levels of confidence of content of the portions |
US6347256B1 (en) | 1998-11-02 | 2002-02-12 | Printcafe System, Inc. | Manufacturing process modeling techniques |
US6279009B1 (en) | 1998-12-04 | 2001-08-21 | Impresse Corporation | Dynamic creation of workflows from deterministic models of real world processes |
US6321133B1 (en) | 1998-12-04 | 2001-11-20 | Impresse Corporation | Method and apparatus for order promising |
US6546364B1 (en) | 1998-12-18 | 2003-04-08 | Impresse Corporation | Method and apparatus for creating adaptive workflows |
US6493711B1 (en) | 1999-05-05 | 2002-12-10 | H5 Technologies, Inc. | Wide-spectrum information search engine |
US6711585B1 (en) * | 1999-06-15 | 2004-03-23 | Kanisa Inc. | System and method for implementing a knowledge management system |
US6289340B1 (en) | 1999-08-03 | 2001-09-11 | Ixmatch, Inc. | Consultant matching system and method for selecting candidates from a candidate pool by adjusting skill values |
US7925610B2 (en) * | 1999-09-22 | 2011-04-12 | Google Inc. | Determining a meaning of a knowledge item using document-based information |
US8051104B2 (en) | 1999-09-22 | 2011-11-01 | Google Inc. | Editing a network of interconnected concepts |
US8914361B2 (en) * | 1999-09-22 | 2014-12-16 | Google Inc. | Methods and systems for determining a meaning of a document to match the document to content |
EP1275042A2 (en) * | 2000-03-06 | 2003-01-15 | Kanisa Inc. | A system and method for providing an intelligent multi-step dialog with a user |
US6721724B1 (en) * | 2000-03-31 | 2004-04-13 | Microsoft Corporation | Validating multiple execution plans for database queries |
US6668251B1 (en) | 2000-11-01 | 2003-12-23 | Tacit Knowledge Systems, Inc. | Rendering discriminator members from an initial set of result data |
US20040111386A1 (en) * | 2001-01-08 | 2004-06-10 | Goldberg Jonathan M. | Knowledge neighborhoods |
JP4543563B2 (ja) * | 2001-02-28 | 2010-09-15 | 株式会社日立製作所 | 統合データベースシステムにおける問合せ最適化方法 |
US6738764B2 (en) | 2001-05-08 | 2004-05-18 | Verity, Inc. | Apparatus and method for adaptively ranking search results |
JP2003157376A (ja) * | 2001-11-21 | 2003-05-30 | Ricoh Co Ltd | ネットワークシステム、識別情報管理方法、サーバ装置、プログラム、および記録媒体 |
US20030154254A1 (en) * | 2002-02-14 | 2003-08-14 | Nikhil Awasthi | Assisted messaging for corporate email systems |
US9805373B1 (en) | 2002-11-19 | 2017-10-31 | Oracle International Corporation | Expertise services platform |
US7590693B1 (en) | 2003-07-17 | 2009-09-15 | Avaya Inc. | Method and apparatus for restriction of message distribution for security |
US7133861B2 (en) * | 2003-12-04 | 2006-11-07 | International Business Machines Corporation | Query access plan rebuilds |
US7689536B1 (en) | 2003-12-18 | 2010-03-30 | Google Inc. | Methods and systems for detecting and extracting information |
US20050283458A1 (en) * | 2004-06-22 | 2005-12-22 | Microsoft Corporation | Automatic detection of frequently used query patterns in a query workload |
US7680648B2 (en) * | 2004-09-30 | 2010-03-16 | Google Inc. | Methods and systems for improving text segmentation |
US7996208B2 (en) * | 2004-09-30 | 2011-08-09 | Google Inc. | Methods and systems for selecting a language for text segmentation |
US8051096B1 (en) | 2004-09-30 | 2011-11-01 | Google Inc. | Methods and systems for augmenting a token lexicon |
US8843536B1 (en) | 2004-12-31 | 2014-09-23 | Google Inc. | Methods and systems for providing relevant advertisements or other content for inactive uniform resource locators using search queries |
US7979457B1 (en) | 2005-03-02 | 2011-07-12 | Kayak Software Corporation | Efficient search of supplier servers based on stored search results |
US8271542B1 (en) | 2006-01-03 | 2012-09-18 | Robert V London | Metadata producer |
US7251646B1 (en) * | 2006-02-13 | 2007-07-31 | Microsoft Corporation | Minimal difference query and view matching |
US8126750B2 (en) * | 2006-04-27 | 2012-02-28 | Microsoft Corporation | Consolidating data source queries for multidimensional scorecards |
US9058307B2 (en) | 2007-01-26 | 2015-06-16 | Microsoft Technology Licensing, Llc | Presentation generation using scorecard elements |
US8495663B2 (en) | 2007-02-02 | 2013-07-23 | Microsoft Corporation | Real time collaboration using embedded data visualizations |
US20110113052A1 (en) * | 2007-06-08 | 2011-05-12 | Hoernkvist John | Query result iteration for multiple queries |
US7840585B2 (en) * | 2007-06-12 | 2010-11-23 | Microsoft Corporation | DISCOSQL: distributed processing of structured queries |
US20090006347A1 (en) * | 2007-06-29 | 2009-01-01 | Lucent Technologies Inc. | Method and apparatus for conditional search operators |
US8797178B2 (en) * | 2008-03-10 | 2014-08-05 | Microsoft Corporation | Efficient stream sharing for multi-user sensor data collection |
US8457948B2 (en) * | 2010-05-13 | 2013-06-04 | Expedia, Inc. | Systems and methods for automated content generation |
EP2521074A1 (en) * | 2011-05-02 | 2012-11-07 | Amadeus S.A.S. | Method and system for an improved reservation system optimizing repeated search requests |
US9037568B1 (en) | 2013-03-15 | 2015-05-19 | Google Inc. | Factual query pattern learning |
US9424311B2 (en) | 2014-03-20 | 2016-08-23 | International Business Machines Corporation | Query routing based on complexity class determination |
US10108712B2 (en) | 2014-11-19 | 2018-10-23 | Ebay Inc. | Systems and methods for generating search query rewrites |
US9727607B2 (en) * | 2014-11-19 | 2017-08-08 | Ebay Inc. | Systems and methods for representing search query rewrites |
US9626430B2 (en) | 2014-12-22 | 2017-04-18 | Ebay Inc. | Systems and methods for data mining and automated generation of search query rewrites |
GB2572132A (en) | 2018-02-08 | 2019-09-25 | George Thompson Trevor | Document analysis method and apparatus |
US11790017B2 (en) * | 2021-04-30 | 2023-10-17 | CS Disco, Inc. | Systems and methods for searching related documents and associated search operators |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3618027A (en) * | 1970-03-27 | 1971-11-02 | Research Corp | Associative memory system with reduced redundancy of stored information |
GB1491706A (en) * | 1974-06-19 | 1977-11-16 | Int Computers Ltd | Information storage apparatus |
JP2760794B2 (ja) * | 1988-01-29 | 1998-06-04 | 株式会社日立製作所 | データベース処理方法および装置 |
US5218536A (en) * | 1988-05-25 | 1993-06-08 | Franklin Electronic Publishers, Incorporated | Electronic spelling machine having ordered candidate words |
US5043872A (en) * | 1988-07-15 | 1991-08-27 | International Business Machines Corporation | Access path optimization using degrees of clustering |
US5335345A (en) * | 1990-04-11 | 1994-08-02 | Bell Communications Research, Inc. | Dynamic query optimization using partial information |
US5442778A (en) * | 1991-11-12 | 1995-08-15 | Xerox Corporation | Scatter-gather: a cluster-based method and apparatus for browsing large document collections |
JP2792293B2 (ja) * | 1991-11-29 | 1998-09-03 | 日本電気株式会社 | 情報検索装置 |
JPH0652022A (ja) * | 1992-06-01 | 1994-02-25 | Hewlett Packard Co <Hp> | データベースへのアクセス時の応答時間を最少化する方法 |
US5412807A (en) * | 1992-08-20 | 1995-05-02 | Microsoft Corporation | System and method for text searching using an n-ary search tree |
US5488722A (en) * | 1993-05-28 | 1996-01-30 | International Business Machines Corporation | System and method for automating implementation and execution of constraint most likely to be violated in a database |
DE19515020A1 (de) * | 1994-07-01 | 1996-01-04 | Hewlett Packard Co | Verfahren und Vorrichtung zum Optimieren von Abfragen mit Gruppieren-nach-Operatoren |
US5608904A (en) * | 1995-02-13 | 1997-03-04 | Hewlett-Packard Company | Method and apparatus for processing and optimizing queries having joins between structured data and text data |
US5649221A (en) * | 1995-09-14 | 1997-07-15 | Crawford; H. Vance | Reverse electronic dictionary using synonyms to expand search capabilities |
-
1996
- 1996-01-02 US US08/581,853 patent/US5778364A/en not_active Expired - Lifetime
- 1996-12-31 EP EP96945438A patent/EP0976061A1/en not_active Withdrawn
- 1996-12-31 EA EA199800623A patent/EA001738B1/ru not_active IP Right Cessation
- 1996-12-31 KR KR1019980705098A patent/KR100565871B1/ko not_active IP Right Cessation
- 1996-12-31 JP JP9524607A patent/JP2000503144A/ja not_active Ceased
- 1996-12-31 WO PCT/US1996/020858 patent/WO1997024686A1/en active IP Right Grant
- 1996-12-31 IL IL12518896A patent/IL125188A0/xx not_active IP Right Cessation
- 1996-12-31 AU AU20839/97A patent/AU708217B2/en not_active Expired
- 1996-12-31 NZ NZ326982A patent/NZ326982A/xx not_active IP Right Cessation
- 1996-12-31 AP APAP/P/1998/001282A patent/AP934A/en active
-
1998
- 1998-07-02 OA OA9800102A patent/OA10805A/en unknown
Also Published As
Publication number | Publication date |
---|---|
AP9801282A0 (en) | 1998-09-30 |
AU2083997A (en) | 1997-07-28 |
EA199800623A1 (ru) | 1999-02-25 |
WO1997024686A1 (en) | 1997-07-10 |
EP0976061A1 (en) | 2000-02-02 |
US5778364A (en) | 1998-07-07 |
AP934A (en) | 2001-04-05 |
NZ326982A (en) | 2000-01-28 |
KR100565871B1 (ko) | 2006-10-24 |
OA10805A (en) | 2001-07-05 |
EA001738B1 (ru) | 2001-08-27 |
IL125188A0 (en) | 1999-03-12 |
JP2000503144A (ja) | 2000-03-14 |
AU708217B2 (en) | 1999-07-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100565871B1 (ko) | 데이터세트평가방법,데이터세트평가용방법,질의실행계획구성방법,실행계획,데이터세트평가시스템,데이터세트평가용시스템및질의실행계획구성시스템 | |
Günther et al. | Word counts and topic models: Automated text analysis methods for digital journalism research | |
US6915308B1 (en) | Method and apparatus for information mining and filtering | |
JP5376163B2 (ja) | 文書管理・検索システムおよび文書の管理・検索方法 | |
CN102576358B (zh) | 单词对取得装置、单词对取得方法及其程序 | |
US20100312769A1 (en) | Methods, apparatus and software for analyzing the content of micro-blog messages | |
US20110161333A1 (en) | System and method of making unstructured data available to structured data analysis tools | |
US20070011175A1 (en) | Schema and ETL tools for structured and unstructured data | |
US20190392035A1 (en) | Information object extraction using combination of classifiers analyzing local and non-local features | |
US20050021545A1 (en) | Very-large-scale automatic categorizer for Web content | |
JPH1153384A (ja) | キーワード抽出装置及びキーワード抽出方法並びにキーワード抽出プログラムを格納したコンピュータ読み取り可能な記録媒体 | |
WO2020100553A1 (ja) | 質問応答データ生成装置および質問応答データ生成方法 | |
US20060053169A1 (en) | System and method for management of data repositories | |
JP6043067B2 (ja) | 株取引知見抽出装置及びプログラム | |
US6125377A (en) | Method and apparatus for proofreading a document using a computer system which detects inconsistencies in style | |
JP7223549B2 (ja) | 情報運用装置および情報運用方法 | |
Hernes et al. | The automatic summarization of text documents in the Cognitive Integrated Management Information System | |
Evans et al. | CLARIT TREC design, experiments, and results | |
Ullah et al. | Pattern and semantic analysis to improve unsupervised techniques for opinion target identification | |
Soliman | An unsupervised linguistic-based model for automatic glossary term extraction from a single PDF textbook | |
JPH11259524A (ja) | 情報検索システム、情報検索システムにおける情報処理方法および記録媒体 | |
CA2241873C (en) | Evaluation of the content of a data set using multiple and/or complex queries | |
JP7572933B2 (ja) | 案件管理装置、案件管理方法およびプログラム | |
Mallek et al. | Automatic detection of variable data in web document: Graphical representation on demand | |
Kumar et al. | Generating topics of interests for research communities |
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 |