KR100522557B1 - 데이터 조직을 위한 방법 및 시스템 - Google Patents

데이터 조직을 위한 방법 및 시스템 Download PDF

Info

Publication number
KR100522557B1
KR100522557B1 KR10-2002-7000871A KR20027000871A KR100522557B1 KR 100522557 B1 KR100522557 B1 KR 100522557B1 KR 20027000871 A KR20027000871 A KR 20027000871A KR 100522557 B1 KR100522557 B1 KR 100522557B1
Authority
KR
South Korea
Prior art keywords
data
vector
delete delete
database
purified
Prior art date
Application number
KR10-2002-7000871A
Other languages
English (en)
Other versions
KR20020038697A (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
Priority claimed from US09/357,301 external-priority patent/US6424969B1/en
Application filed by 프리멘티아, 인코포레이티드 filed Critical 프리멘티아, 인코포레이티드
Publication of KR20020038697A publication Critical patent/KR20020038697A/ko
Application granted granted Critical
Publication of KR100522557B1 publication Critical patent/KR100522557B1/ko

Links

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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/25Integrating or interfacing systems involving database management systems
    • G06F16/258Data format conversion from or to a database
    • 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/35Clustering; Classification
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99931Database or file accessing
    • Y10S707/99933Query processing, i.e. searching
    • Y10S707/99935Query augmenting and refining, e.g. inexact access
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99931Database or file accessing
    • Y10S707/99933Query processing, i.e. searching
    • Y10S707/99936Pattern matching access
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99941Database schema or data structure
    • Y10S707/99942Manipulating data structure, e.g. compression, compaction, compilation
    • 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/99951File or database maintenance
    • Y10S707/99952Coherency, e.g. same view to multiple users

Landscapes

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

Abstract

하나 이상의 소스로부터의 원 데이터를 조직하는 방법 및 시스템은 데이터베이스내 필드들(예컨대, 열(column)) 사이의 이중 데이터를 식별하는 향상된 메카니즘을 사용한다. 상기 필드는 하나의 데이터베이스내의 유사한 필드이거나 또는 한 쌍의 데이터베이스내의 유사한 또는 동일한 필드이며, 어레이 또는 필드 벡터로 조직된다. 본 발명은 각각의 필드 벡터를 분류하고, 필요하다면 이들을 공통값으로 파티션한다. 필드 벡터 사이의 이중 데이터를 식별하는데 요구되는 비교의 횟수는 비교된 값 사이의 차를 피드백시킴으로써 감소된다. 상기 차는 인덱스를 다음 비교를 위한 필드 벡터로 조정시키는데 사용된다.

Description

데이터 조직을 위한 방법 및 시스템 {METHOD AND SYSTEM FOR ORGANIZING DATA}
본 발명은 데이터베이스 시스템과 관련된 것으로, 더 상세히는 데이터베이스 시스템에서 데이터의 조직 및/또는 검색을 위한 방법 및 시스템에 관한 것이다.
컴퓨터로 처리되는 데이터베이스 시스템은 오랫동안 사용되어 왔으며, 그 기본적인 개념은 공지되어 있다. 데이터베이스 시스템에 대한 좋은 입문서로는 C. J. DATE, INTRODUCTION TO DATABASE SYSTEMS(Addison Wesley, 6th ed. 1994)을 예로 들 수 있다.
데이터베이스 시스템은 일반적으로 데이터베이스내 데이터가 유용하게 사용될 수 있는 방식으로 데이터를 조직, 저장 및 검색할 수 있게 설계된다. 예를 들면, 데이터(또는 데이터의 파티션된 세트)는 검색, 분류, 조직되거나 또는 다른 데이터와 결합될 수 있다. 더 확장하면, 특정 데이터베이스 시스템의 유용성은 데이터베이스 시스템내에서 데이터의 완전성(무결성(integrity); 즉 정확 및/또는 정정)에 의존한다. 데이터의 완전성은 저장된 데이터에서 "무질서(disorder)"의 정도에 의해 영향을 받는다. 무질서는 이중 데이터(duplicate data), 단편 데이터(fragmented data), 결함 데이터(false data) 등과 같이 에러가 있거나 불완전한 데이터 형태로 인해 발생한다. 많은 데이터베이스 시스템에 있어서 존재하는 데이터는 편집되거나 처리되며, 그 결과 가끔 부수적인 에러가 발생할 수 있다. 몇몇 데이터베이스 시스템에 있어서는 새로운 데이터가 유입될 수 있다. 또한, 데이터베이스 시스템이 새로운 하드웨어 및/또는 소프트웨어로 업그레이드됨에 따라서, 데이터 교체가 요구될 수 있으며 또한 부가적인 필드(field)가 필요할 수 있다. 더 나아가, 몇몇 응용에 있어서는 데이터베이스내 데이터가 시간이 경과함으로써 쓸모없게 될 수 있다.
이에 대한 방지책을 강구함에도 불구하고, 종래 데이터베이스 시스템에서 어느 정도의 무질서가 결국 발생된다. 이러한 무질서의 정도는 시간이 경과함에 따라서 기하급수적으로 증가하고, 결국 종래의 데이터베이스내 데이터는 완전히 쓸모없게 된다. 그 결과, 비록 미세한 정도의 무질서라도 결국에는 데이터베이스 시스템의 완전성에 영향을 미치게 된다.
불행하게도, 데이터에 대하여 무질서를 식별하고 정정하는 것은 특히 대규모 데이터베이스 시스템에서는 (비록 불가능한 것은 아니지만) 때때로 어려운 작업이다. 통상 이러한 작업은 수작업으로 수행되며, 시간을 소모하고, 비용이 많이 들며, 인간의 실수를 유발하게 한다. 또한, 작업의 바로 그러한 특성을 인해, 상당한 양의 무질서가 대부분 검출되지 않을 수도 있다. 따라서, 전술한 그리고 관련된 문제들을 극복하기 위하여, 데이터베이스 시스템에서 데이터를 조직하기 위한 방법 및 시스템이 요구된다.
본 발명의 바람직한 실시예는 하기의 도면을 참조하여 설명된다. 도면에서 유사한 참조번호는 동일한 또는 기능적으로 유사한 엘리먼트를 지시한다. 또한, 참조번호의 가장 좌측에 있는 숫자는 참조번호가 처음 나타나는 도면을 지시한다.
도 1은 본 발명이 구현되는 처리 시스템을 도시한 것이다.
도 2는 본 발명의 일 실시예에서 처리되는 데이터의 스테이지를 도시한 것이다.
도 3은 본 발명의 일 실시예에 따라 원 데이터를 원래 포맷으로부터 수치 포맷으로 변환하는 흐름도이다.
도 4는 본 발명의 이용에 알맞은 데이터 기록을 도시한 것이다.
도 5는 본 발명의 이용에 알맞은 원 데이터 테이블을 도시한 것이다.
도 6은 본 발명의 일 실시예에 따라서 포맷된 데이터를 표현하는 기준 데이터 테이블을 도시한 것이다.
도 7은 본 발명의 일 실시예에 따른 기준 데이터를 분석하는 흐름도이다.
도 8은 본 발명의 일 실시예에 따라서 상호관련된 관련 데이터를 표현하는 순화된 데이터 테이블을 도시한 것이다.
도 9는 2차원 공간에서 데이터 클러스터링의 예를 도시한 것이다.
도 10은 한 쌍의 필드 벡터 사이에서 이중 데이터를 식별하는 흐름도이다.
도 11은 한 쌍의 필드 벡터 사이에서 이중 데이터를 식별하는 보다 상세한 흐름도이다.
도 12는 한 쌍의 필드 벡터 사이에서 이중 데이터를 식별하는 예를 도시한 것이다.
본 발명은 데이터베이스 시스템에서 데이터를 조직하는 방법 및 시스템을 개시한다. 본 발명은 하나 이상의 원 데이터 소스(raw data source)로부터 추출된 원 데이터로부터 정확한 데이터의 순화된 데이터베이스를 유도한다. 원 데이터는 원래 포맷에서 수치적 포맷으로 변환된다.
본 발명의 일 실시예에 따르면, 원 데이터는 수치적 성분(element)을 가지는 벡터로 표현된다. 일단 원 데이터가 숫자로 표현되면, 상관함수(correlation function), 패턴 인식 방법 또는 다른 유사한 수치적 방법 등 다양한 수학적 연산이 이러한 벡터상에서 수행되어, "순화된(distilled)" 또는 기준 데이터베이스에서 다른 벡터들에 대응하는 특정 벡터의 내용을 결정할 수 있다. 순화된 데이터 베이스는 하나 이상의 관련 벡터의 세트(set)로 형성되며, 이는 다른 세트에 대하여 유일(예컨대, 직교(orthogonal))한 것이다. 이러한 세트는 원 데이터로부터 이용가능한 최상의 정보를 표현한다. 결국, 원 데이터는 순화된 데이터베이스에 결합되고, 새로운 에러가 순화된 데이터베이스로 유입되지 않게 하기 위해 새로운 데이터는 차단된다. 새로운 데이터는 또한 상기 데이터가 유일한 것인가 또는 상기 데이터가 순화된 데이터베이스에 이미 존재하는 것보다 더 좋은 정보를 포함하는가를 결정하기 위해 평가된다. 그 후, 새로운 데이터는 순화된 데이터베이스에 부가된다.
본 발명의 일 실시예에 따르면, 원 데이터는 적절한 기수(radix)를 가지는 수치 시스템에 기초하여 수치적 포맷으로 변환된다. 적절한 기수는 원 데이터에 포함된 정보 형태에 따라서 결정된다. 예를 들면, 일반적으로 영숫자 문자(alpha-numeric character)로 구성되는 원 데이터에 대하여, 적절한 기수는 원 데이터에 존재하는 상이한 영숫자 문자의 수보다 크거나 같다. 이러한 수치 시스템을 이용함으로써 원 데이터를 수치로 표현하고, 공지된 여러가지 수학적 연산에 의하여 조작처리가 가능하다.
본 발명의 일 실시예에 따르면, 수치 시스템은 숫자 자체가 그것이 표현하는 원 데이터에 대한 의미론적 중요성을 유지하도록 선택된다. 다시 말하면, 수치 시스템에서 숫자는 원 데이터에 대응하도록 선택된다. 예를 들어, 영숫자 문자로 구성된 원 데이터의 경우 숫자는 그것이 표현하는 영숫자 문자에 대응하도록 선택된다. 수치 시스템에서 숫자는 연속적으로 디스플레이되며, 그것이 표현하는 영숫자 문자로서 나타난다.
본 발명의 일 실시예에 따르면, 일단 원 데이터가 적절한 수치 시스템에서 벡터로서 표현되면, 표현된 데이터는 공지된 다양한 기술을 이용하여 데이터베이스(예컨대, 분류된 데이터베이스)에서 효과적으로 조작처리된다. 더 나아가, 공지된 다양한 수학적 연산이 벡터상에서 수행되어 데이터 내용을 분석한다. 이러한 수학적 연산은 상관함수, 고유벡터 분석, 패턴 인식 방법, 그리고 다른 종류의 방법들을 포함한다.
본 발명의 일 실시예에 따르면, 원 데이터는 순화된 데이터베이스에 포함된다. 순화된 데이터베이스는 어떠한 데이터 무질서 없이 원 데이터로부터 추출된 최상의 정보를 표현한다.
본 발명의 일 실시예에 따르면, 새로운 데이터는 순화된 데이터베이스와 비교되어, 새로운 데이터가 순화된 데이터베이스에 존재하지 않는 어떤 새로운 정보 또는 내용을 실제로 포함하는가를 결정한다. 그리고, 순화된 데이터베이스에 존재하지 않던 어떤 새로운 정보가 무질서를 일으키지 않으면서 순화된 데이터베이스에 부가된다. 이러한 방식으로, 순화된 데이터베이스의 완전성은 유지된다.
본 발명에 따르면, 정보를 처리하는 방법은 상기 정보에 포함된 데이터 성분의 가능한 값의 범위에 기초하여 적절한 수치 시스템을 선택하는 단계, 상기 데이터 성분을 수치 시스템에서 디지트(digit)로 표현하는 단계, 및 정보 처리를 위해 상기 수치 시스템에서 표현된 상기 데이터 성분을 연산하는 단계를 포함한다.
본 발명의 일 실시예에 따르면, 상기 적절한 수치 시스템을 선택하는 단계는 영숫자 문자 "0"∼"9" 및 "A"∼"Z"의 차수(order)와 적어도 동일한 기수를 가지는 수치 시스템을 선택하는 단계를 포함한다.
본 발명의 일 실시예에 따르면, 상기 적절한 수치 시스템을 선택하는 단계는 영숫자 문자 "0"∼"9" 및 "A"∼"Z"의 차수보다 큰 기수를 가지는 수치 시스템을 선택하는 단계를 포함한다.
본 발명의 일 실시예에 따르면, 상기 적절한 수치 시스템을 선택하는 단계는 영숫자 문자 "0"∼"9", "A"∼"Z" 및 "a"∼"z"의 차수와 적어도 동일한 기수를 가지는 수치 시스템을 선택하는 단계를 포함한다.
본 발명의 일 실시예에 따르면, 상기 적절한 수치 시스템을 선택하는 단계는 베이스-40(base-40) 수치 시스템을 선택하는 단계를 포함한다.
본 발명의 일 실시예에 따르면, 상기 정보는 금융 정보, 과학 정보, 산업 정보 또는 화학 정보 등을 포함한다.
삭제
본 발명의 일 실시예에 따르면, 순화된 행렬을 가지는 벡터를 포함하는 단계는 고유벡터 분석을 수행하는 단계, 패턴 인식 분석을 수행하는 단계, 상기 벡터와 순화된 행렬의 벡터 사이의 도트 프로덕트(dot product)를 결정하는 단계, 상기 벡터와 순화된 행렬의 벡터 사이의 크로스 프로덕트(cross product)를 결정하는 단계, 상기 벡터와 순화된 행렬의 벡터 사이의 차(differencr)를 결정하는 단계, 상기 벡터와 순화된 행렬의 벡터 사이의 합을 결정하는 단계, 순화된 행렬의 행렬식(determinant)을 결정하는 단계, 상기 벡터의 크기(magnitude)를 결정하는 단계, 또는 상기 벡터의 방향(direction)을 결정하는 단계를 포함한다.
본 발명은 독립항에 그 특징이 기술되어 있으며, 종속항에는 본 발명의 바람직한 실시예를 포함하고 있다.
본 발명은 데이터베이스 시스템에서 데이터를 조직하는 방법 및 시스템을 제공한다. 본 발명은 다양한 실시예와 관련하여, 특히 다양한 데이터베이스 응용과 관련하여 하기에 설명된다. 그러나, 본 발명의 다양한 특징들은 다른 영역에까지 확장될 수 있다. 일반적으로, 본 발명은 많은 데이터베이스 응용에 적용될 수 있는데, 여기서는 잠재적으로 관련이 없는 많은 양의 데이터가 컴파일, 저장, 조작처리 및/또는 분석되어 데이터에 의해 표현된 내용에 존재하는 여러가지 관계를 결정한다. 더 상세히는, 본 발명은 비록 데이터가 초기에 무질서가 높은 경우에 있어서도 데이터베이스 시스템에서 데이터의 완전성(즉, 정확 및 정정)을 얻고 유지할 수 있는 방법을 제공하는 것이다. 여기서, 무질서(disorder)란 이중 데이터, 에러있는 데이터, 불완전한 데이터, 불명확한 데이터, 결함 데이터 또는 그 외의 올바르지 않거나 과잉의 데이터를 말한다. 무질서는 다양한 방식으로 데이터베이스 시스템에 존재한다.
본 발명의 일 실시예는 카운트를 수신할 수 있는 데이터베이스를 유지하는 데 사용된다. 상기 실예에서, 회사는 하나 이상의 소스(source)로부터 다양한 사람, 사업 및/또는 계좌(account)와 관련되 데이터를 수집한다. 이러한 소스는 예컨대, 신용카드회사, 금융기관, 은행, 소매점 및 도매점, 그리고 다른 여러 소스를 포함한다. 이러한 각각의 소스가 여러가지 계좌와 관련된 데이터를 제공하는 한편, 각 소스는 자신의 필요에 따라서 상이한 정보를 표현하는 데이터를 제공한다. 또한, 상기 데이터는 완전히 다른 방식으로 조직될 수 있다. 예를 들면, 소매점 분배자는 사업 계좌에 대응하는 수신가능한 계좌에 대응하는 데이터를 가질 수 있다. 이러한 데이터는 계좌 번호로 조직되고, 각 데이터 기록은 계좌 번호, 계좌 번호와 관련된 사업, 사업의 주소, 및 계좌에 대한 양을 식별하는 데이터 필드를 가진다. 도매 회사도 유사한 정보를 표현하는 데이터 기록을 가지지만, 사업 뿐만 아니라 개인에 대한 계좌도 기초로 한다.
본 발명에 따른 또다른 실시예에서는 다른 형태의 소스가 상이한 형태의 데이터를 제공한다. 예를 들면, 과학기관은 다양한 연구분야와 관련하여 과학 데이터를 제공한다. 산업회사는 원료, 제조, 생산 및/또는 공급과 관련하여 산업 데이터를 제공한다. 법정이나 다른 형태의 법률기관은 법적 상태, 재판, 파산 및/또는 선취득권 등과 관련하여 법적 데이터를 제공한다. 전술한 바와 같이, 본 발명은 다양하고 광범위한 소스로부터의 데이터를 이용한다.
본 발명의 일 실시예에 따르면, 데이터베이스는 완전한 청구(billing) 및 주문(order) 제어 시스템을 구현하도록 유지된다. 전술한 것들과 유사한 소스로부터의 청구 형태의 정보외에도, 상기 실시예는 물품에 대응하는 데이터 기록, 물품의 공급자에 대응하는 데이터 기록, 및 물품의 구매자에 대응하는 데이터 기록을 포함할 수도 있다. 물품 데이터는 내부 파트 번호, 외부 파트 번호(즉, 공급자 파트 번호), 수중에 있는 물량, 선적할 물량, 받을 물량, 소매 물량 및 도매 물량을 식별하는 데이터 필드를 구비하는 각 데이터 기록으로서 파트 번호로 조직될 수 있다. 공급자 데이터는 공급자 번호로 조직될 수 있으며, 소비자 데이터는 소비자 번호로 조직될 수 있다. 이러한 각각의 기록에 대응하는 데이터 기록은 파트 번호, 파트 가격, 주문된 물량, 선적 데이터, 그리고 다른 이러한 정보를 포함할 수도 있다.
본 발명의 또다른 실시예는 여러가지 상이한 소스로부터 기업 정보를 통합하고 상기 정보를 데이터 형태, 데이터를 생성한 컴퓨터의 형태, 또는 데이터를 요청하는 컴퓨터의 형태에 상관없이 사용자가 회사 네트워크상에서 이용할 수 있도록하는 기업 저장 시스템을 포함한다. 본 발명의 또다른 실시예는 도매점 또는 시장에 대한 정보를 가지며 상기 정보가 온라인상에서 처리되고 분석될 수 있는 사업 지능 시스템을 포함한다.
본 발명은 상이한 소스로부터 수집된 원 데이터가 특정 응용에 유용한 방식으로 조직된 정확한 데이터의 수집으로 분석되고 순화될 수 있게 한다. 하기에서 상세히 설명되는 바와 같이, 완전한 청구 및 주문 제어 시스템 예제를 이용하여, 본 발명은 가령 특정 공급자 또는 소비자와 관련된 데이터와 같이 관련 데이터가 식별될 수 있는 순화된 데이터베이스를 생성한다. 상기 예제에서, 동일한 공급자 또는 소비자에 대응하는 이중 데이터가 식별 및/또는 제거되고, 공급자 또는 소비자와 관련된 에러 있는 데이터는 식별, 분석 및 정정(가능할 경우)된다.
일반적으로, 본 발명은 하드웨어 또는 소프트웨어, 아니면 이들 2개의 조합으로 구현될 수 있다. 바람직하게도, 본 발명은 프로세서, 데이터 저장 시스템, 그리고 입력 및 출력 장치를 포함하는 프로그램가능한 프로세싱 시스템에서 실행되는 소프트웨어 프로그램으로써 구현될 수 있다. 이러한 시스템(100)의 예는 도 1에 도시되어 있다. 시스템(100)은 프로세서(110), 메모리(120), 저장 장치(130), 및 I/O 컨트롤러(140)를 포함하고, 이들은 프로세서 버스(150)에 의해 서로 연결된다. I/O 컨트롤러(140)는 또한 I/O 버스(160)를 통해서 키보드(170), 마우스(180),디스플레이(190)와 같은 다양한 입력 및 출력 장치와 연결된다. 그리고, 상기 시스템(100)은 또한 다른 구성요소도 포함할 수 있다.
도 2는 본 발명에 의해 처리되는 다양한 데이터 형태를 도시한다. 원 데이터(210)는 예컨대 원 데이터 210A, 원 데이터 210B와 같이 하나 이상의 소스로부터 수집된다. 여기서 사용되는 "원 데이터(raw data)"는 단지 특정 소스로부터 수신된 데이터를 말한다. 원 데이터(210)의 소스는 물론 부가될 수 있다. 하기에 설명되는 바와 같이, 다양한 소스로부터의 원 데이터는 바람직하게도 수치 포맷으로 변환되어 기준 데이터베이스(220)에 저장된다. 여기서 "데이터 분석(dialysis)"이라 불리는 프로세스를 이용하여, 본 발명은 기준 데이터베이스(220)에서 기준 데이터를 형성하기 위하여 원 데이터(210)를 "정화(purify)"한다. 기준(reference) 데이터베이스(220)는 이중 데이터, 불완전 데이터, 불일치 데이터 및 에러 데이터를 포함하는 원 데이터(210)에서 발견되는 모든 정보를 포함한다.
순화된(distilled) 데이터베이스(230)에 저장된 순화된 데이터는 기준 데이터베이스(220)의 기준 데이터로부터 유도된다. 순화된 데이터는 원 데이터(210)로부터 이용가능한 "정확한" 데이터를 표현한다. 순화된 데이터베이스(230)는 원 데이터(210)에서 발견되는 유일한(unique) 정보를 포함한다. 따라서, 순화된 데이터는 원 데이터(210)로부터 이용가능한 최상의 정보를 표현한다.
또한 하기에 기술되는 바와 같이, 본 발명은 기준 데이터베이스(220) 및 순화된 데이터베이스(230)을 적절히 업데이트하는 데 사용되는 새로운 데이터(240)를 분석하고 검증하기 위하여 순화된 데이터베이스(230)를 이용한다.
본 발명은 그 설명을 명확하게 하기 위해 수많은 실시예를 가지지만, 도 3 내지 8에 도시된 바람직한 실시예를 참조하여 완전한 청구 및 주문 제어 시스템의 내용을 설명한다. 상기 실시예에서, 원 데이터(210)는 주문 처리, 선적, 수신, 지불해야할 계좌 및 회수할 계좌 등과 같은 다양한 소스로부터 수집된 데이터 수집이다. 이러한 원 데이터(210)는 관련이 있지만 상이한 데이터 필드를 가지는 데이터 기록, 이중 데이터 기록, 하나 이상의 에러있는 데이터 필드를 가지는 데이터 기록 등을 포함한다. 이러한 에러들을 어드레싱하기 위하여, 본 발명은 원래 포맷과 데이터 구조(이는 소스에 따라서 상이할 수 있다)로부터 원 데이터(210)를 수치 포맷으로 변환하고, 기준 데이터베이스(220)에 이러한 기준 데이터를 저장한다.
본 발명에 따르면, 기준 데이터는 비교되고 분석되어 이용가능한 최상의 정보로 순화된다. 본 발명의 일 실시예에서, 최상의 정보는 순화된 데이터베이스(230)에서 순화된 데이터로 저장된다. 이제부터 상기 프로세서를 설명한다.
원 데이터 수집(Collecting Raw Data)
도 3은 본 발명의 일 실시예에 따른 것으로, 원 데이터(210)가 기준 데이터베이스(220)에서 기준 데이터로 변환되는 프로세스를 도시한 것이다. 단계 310에서 원 데이터(210)는 원 데이터 소스로부터 수집된다. 도 2에서 도시된 바와 같이, 원 데이터(210)는 원 데이터 210A 및 원 데이터 210B와 같이 하나 이상의 소스로부터 데이터를 포함한다. 여기서 "데이터"는 정보의 물리적 디지털 표현을 말하고, 데이터 "내용(content)"은 데이터의 의미 또는 데이터로 표현되거나 데이터에 포함된 정보를 말한다. 원 데이터(210)에서 서로 다른 기록이 유사한 형태의 데이터 내용을 포함할 수도 있다. 예를 들면, 청구 내용에 있어, 원 데이터(210)내 상이한 기록은 특정 계좌와 관련된 모든 데이터 내용을 포함할 수 있다.
원 데이터(210)는 통상 도 4에 도시된 데이터 기록(400)의 형태로 수신한다. 각각의 데이터 기록(400)은 일반적으로 특정 개인, 회사 또는 계좌 정보와 같은 관련된 정보를 포함한다. 각 데이터 기록(400)은 상기 정보를 하나 이상의 데이터 필드(410)에 저장한다. 데이터 필드(410)의 가능한 예는 계좌 번호, 라스트 네임, 퍼스트 네임, 회사 명칭, 계좌 잔금 등을 포함한다. 각 데이터 필드(410)는 특정 기록 및 특정 필드에 대한 정보를 표현하는 하나 이상의 데이터 성분(420)을 포함한다. 데이터 성분(420)은 영숫자 문자, 숫자, ASCII, EBCDIC 또는 다른 형태의 표현 등 다양한 포맷으로 존재한다. 상이한 소스로부터 선택된 원 데이터(210)는 상이한 포맷이 될 수 있다. 데이터 기록(400)은 상이한 데이터 필드(410)를 포함할 수도 있으며, 데이터 필드(410)에 포함된 정보는 상이한 포맷의 데이터 성분(420)을 이용하여 표현된다.
원 데이터(210)의 예는 도 5의 원 데이터 데이블(510, 520, 530)에 도시되어 있다. 데이터 기록(510-1) 및 데이터 기록(510-2)와 같은 데이터 기록은 원 데이터 테이블(510, 520, 530)에서 행(raw)으로 도시되어 있으며, 여기서 데이터 필드(510-A) 및 데이터 필드(510-B)와 같은 데이터 필드는 원 데이터 테이블(510, 520, 530)에서 열(column)로 도시되어 있다. 각 데이터 필드 또는 데이터 기록은 보통의 수학적 벡터 또는 텐서(tensor)로 생각할 수 있으며, 이에 따라서 조작처리된다. 도 5에 도시된 테이블은 본 발명의 다양한 실시예에서 사용되는 데이터의 예를 든 것이다. 다른 실시예에서, 데이터는 많은 소스로부터 제공되며, 더 많은 수의 데이터 기록 및/또는 데이터 필드를 가지는 데이터베이스로 포맷된다.
수치 포맷으로 변환(Conversion to Numeric Format)
도 3을 참조하면, 본 발명은 단계 320에서 원 데이터(210)를 그 원래 표현(영숫자 문자, 숫자, ASCII, EBCDIC, 또는 다른 유사한 형태)에서 수치 표현으로 변환한다. 이는 기준 데이터가 동일한 방식으로 표현되게 한다. 따라서, 상이한 소스에서 얻은 데이터를 포함하는 기준 데이터는 유사하게 처리될 수 있다.
본 발명에 따르면, 원 데이터(210)는 그 원래 표현에서 적절한 수치적 표현으로 변환된다. 적절한 수치적 표현은 수치 시스템을 이용하며, 데이터 성분(420)의 각각의 가능한 값은 수치 시스템에서 유일한 디지트 또는 값으로 표현된다. 다시 말하면, 수치 시스템의 기수는 특정 데이터 성분에 대한 가능한 값의 수보다 더 크게 선택된다. 예를 들면, 핵산에서 아데닌(A), 구아닌(G), 시토신(C), 티민(T)의 염기 서열을 검출하기 위한 생명공학 응용에 있어서는, 각 데이터 성분은 단지 4개의 값 A, G, C, T 중 하나가 된다. 이러한 응용에서는 수치 시스템에 대하여 4개의 기수가 각 데이터 성분을 유일한 숫자로 충분히 표현할 수 있다. 이러한 수치 시스템은 숫자 A, G, T, C를 포함한다. 본 발명의 몇몇 실시예에서는, 여분의 필드를 표현하는 숫자를 제공하기 위하여 데이터 성분(420)의 서로 다른 가능한 값의 수 보다 적어도 1 이상 큰 기수를 이용하는 것이 바람직하다. 이 경우, 상기 수치 시스템은 숫자 A, T, G, C, ^ 를 포함하고, 여기서 ^는 여분의 필드 값을 나타낸다.
본 발명의 바람직한 실시예에 따르면, 원 데이터(210)의 데이터 성분(420)은 영숫자 문자와 같은 문자로 구성된다. 상기 바람직한 실시예에서는, 하기의 테이블에 나타난 바와 같이, 40개의 기수가 영숫자 문자를 표현하기 위해 선택된다. (여기서, 최소 36개의 기수가 요구된다.) 상기 기수는 10개의 숫자 "0"∼"9" 및 26개의 영문자 "A"∼"Z" 뿐만 아니라 몇몇 부가적인 문자를 수용하도록 선택된다. 상기 실시예에서, 대문자와 소문자는 구별하지 않는다.
테이블 1에 도시된 바와 같이, 베이스-40 수치 시스템은 수치 0∼9, A∼Z 및 4개의 부가적인 수치를 포함한다. 이러한 수치 중의 하나는 빈 필드를 표현하는데 사용될 수 있다. 상기 수치는 (0의 값이 아닌) 비어있거나 값을 가지지 않는 데이터 필드(410)를 표현하는데 사용된다. 다른 수치는 스페이스 등의 다른 형태의 정보를 표현하는데 사용되거나 제어 정보로서 사용될 수 있다.
[테이블 1]
베이스-40 포맷으로 원 데이터(210)를 표현하는 것은 많은 장점을 가진다. 첫째, 원 데이터(210)는 수학적 조작처리를 용이하게 하는 수치 방식으로 표현될 수 있다. 둘째, 수치 시스템에서 기수 및 숫자를 적절하게 선택함으로써 표현된 내용이 의미론적 중요성을 유지하게 하고, 이는 수치 포맷으로 표현된 원 데이터의 내용을 인식하기 쉽게 한다. 예를 들면, 4개의 영숫자 문자 "J", "O", "H", "N"로 표현된 단어 "JOHN"은 다양한 수치 시스템에서 표현될 수 있다. 이러한 수치 시스템 중 하나가 베이스-40 수치 시스템이다. 테이블 1을 이용하면, 영숫자 문자 "JOHN"을 베이스-40 수치시스템으로 표현하면 "4개의 십진수(tetradecimal)"값 'JOHN'이 되고, 이는 십진값 1,255,103(19*403 + 24*402 + 17*401 + 23*40 0, 여기서 베이스-40 'J'는 십진수 19와 등가이다)와 등가이다. 베이스-10 숫자는 원 데이터(210)의 내용으로부터 의미론적 중요성을 상실하는 반면, 베이스-40 숫자는 숫자 'JOHN'이 "JOHN"의 내용을 인식할 수 있는 것과 같이 의미론적 중요성을 유지한다. 의미론적 중요성은 의미 내용을 전달하는 기능을 유지하는 수치적 표현을 제공하는 장점을 가진다.
본 발명의 몇몇 실시예에서는, 기수의 선택 및 그 대응하는 수치 시스템이 프로세서(110)에 의해 사용되는 비트의 수에 의존한다. 프로세서(110)에 의해 사용되는 비트 수와 수치 시스템에서 선택된 기수는 프로세서(110)에서 데이터 워드로 표현될 수 있는 숫자 문자를 정의한다. 상기 관계는 다음의 방정식을 만족한다.
N = B * ln(2)/ln(R)
여기서, N은 프로세서(110)의 데이터 워드에 의해 표현된 전체 문자의 수를 나타내고, B는 데이터 워드 당 비트의 수를 나타내고, R은 선택된 기수를 나타낸다. 상기 관계는 데이터 워드에서 고정되어 있을 수 있는 원 데이터(210)의 데이터 성분(420)의 수를 제한한다. 예를 들면, 32비트 기계에서, 베이스-40 수치 시스템을 이용하는 데이터 워드에 적용되는 문자의 최대 수는 6 (32*ln(2)/ln(40) = 6.013)이다. 베이스-41 수치 시스템을 이용하는 데이터 워드에 적용되는 문자의 최대 수는 단지 5 (32*ln(2)/ln(41) = 5.973)이다. 따라서, 본 발명의 몇몇 실시예에서는 의미론적 중요성을 유지하기에 충분히 큰 기수를 가지는 것 외에도, 기수는 또한 단일 데이터 워드로 표현되는 문자의 수를 최대화하고 다양한 프로세서의 특정 설계 또는 장점에 기초하여 신속한 수학적 연산을 용이하게 하도록 선택된다. 영숫자 문자로 구성된 원 데이터를 가지는 실시예에서는 적합한 기수는 36 내지 40의 범위를 가진다. 상기 범위는 32비트 데이터 워드로 표현되는 문자의 수를 최대화하면서 의미론적 중요성을 유지한다. 본 발명의 다른 실시에에서는, 원 데이터의 다른 형태 또는 다른 크기의 데이터 워드가 다른 적절한 기수 범위를 요구할 것이다.
전술한 본 발명의 실시예에서는 대분자와 소문자를 구별하지 않는다. 그러나, 본 발명의 다른 실시예에서는 이러한 문자의 형태를 구별할 수도 있다. 따라서, 베이스-64 표현("0"-"9", "A"-"Z", "a"-"z", 및 그외 2개의 값)은 이러한 문자들을 적절하게 구별한다.
각 데이터 필드(410) 데이터 성분(420)의 수는 또한 프로세서(110)에서 표현된 수에 의해 요구되는 정밀도(precision)를 나타낸다. 전술한 바와 같이, 각 데이터 필드(410)는 32-비트 기계에서 단일 정밀도 연산에 대하여 단지 6개의 문자이거나 또는 데이터 성분(420)이다. 본 발명의 몇몇 실시예에 따르면, 이것은 불충분하다. 상기 실시예에서는 전체 데이터 필드(410)를 하나의 값으로 표현하기 위해 이중, 삼중 또는 심지어 사중 정밀도가 요구된다. 이중 정밀도 숫자는 12개의 문자 데이터 필드(410)까지 가능하다. 삼중 정밀도 숫자는 18개의 문자 데이터 필드까지 가능하며, 사중 정밀도 숫자는 24개의 문자까지 가능하다.
본 발명의 또 다른 실시예에 따르면, 큰 데이터 필드를 하나 이상의 작은 데이터 필드로 분할함으로써 큰 데이터 필드를 수용할 수 있다. 큰 데이터 필드는 스페이스에 의해 정의되는 바와 같이 본래의 경계에서 분할 될 수 있다. 예를 들면, "123 West Main Street"와 같이 주소를 표현하는 데이터 필드는 4개의 작은 데이터 필드 '123', 'West', 'Main', 'Street'로 분할된다. 큰 데이터 필드는 또한 데이터 워드 경계에서 분할될 수도 있다. 상기의 주소 예에 있어서는 작은 데이터 필드는 '123We', 'st\Mai', 'n\Stre', 'et'이며, 여기서 '\'은 스페이스를 표현한다. 본 발명의 다른 실시예에는 다른 방식으로 큰 데이터 필드를 수용할 수 있다.
데이터 구조 변환(Data Structure Conversion)
도 3에 도시된 바와 같이, 단계(330)에서 숫자로 표현되는 원 데이터(210)는 미리 정해진 데이터 구조에 저장된다. 본 발명의 일 실시예에서는, 이러한 데이터 구조가 도 6의 테이블 610-670으로 도시된 것과 같은 단일-필드 테이블이다. 예를 들면, 본 발명의 다른 실시예에서는 데이터 구조가 단일-필드 테이블 대신 다중-필드 테이블이 될 수 있다. 이러한 실시예에서는 데이터 구조가 테이블 헤더 및 인덱스와 같은 표준 특징으로 구현되었지만, 이는 또한 하기에서 상세히 설명하는 바와 같이 각각의 기록에 대한 확률값을 포함할 수도 있다. 이러한 확률값은 그 기록에 있어 데이터가 완전한 가능성을 나타낸다. 높은 확률값은 완전성에 있어 높은 가능성을 나타내고, 낮은 확률값은 완전성에 있어 낮은 가능성을 나타낸다. 이는 하기에서 보다 상세히 설명한다. 확률값은 처음에 0으로 설정된다. 다른 실시예에서는 또한 데이터 기록들 사이의 관계를 분류하고 유지하기 위하여 핵심번호(key number) 또는 식별번호를 포함할 수도 있다.
본 발명의 바람직한 실시예에 따르면, 도 5에 도시된 원 데이터(210)는 3개의 테이블(510, 520, 530)을 포함한다. 테이블(510)은 예컨대 회사 계좌를 수신할 수 있는 시스템으로부터의 원 데이터(210)를 표현한다. 테이블(510)의 열은 계좌 번호, 라스트 네임, 퍼스트 네임, 그리고 특정 개인에 대하여 처리되어야 할 다양한 주문을 리스팅하는 부가적인 필드를 위하여 데이터 필드를 표현한다. 테이블(510)의 행(510-1, 510-2,...)은 서로 다른 개인에 대한 데이터 기록을 표현한다. 테이블(520, 530)은 신용카드회사에 의해 보존되는 원 데이터(210)를 표현한다. 테이블(520, 530)의 열은 계좌 번호, 라스트 네임, 퍼스트 네임 및 주소를 위한 데이터 필드를 표현한다. 테이블(520, 530)의 행은 특정 계좌에 대한 데이터 기록을 표현한다.
본 발명의 바람직한 실시예에서, 단계 330은 원 데이터(210)를 도 5에 도시된 포맷에서 도 6에 도시된 포맷으로 변환한다. 도 6은 원 데이터(210)를 도시하는데, 이는 도 5의 다양한 원 데이터 테이블(510, 520, 530)로부터 결합되고, 베이스-40 수치 시스템의 숫자로 표현되며, 함께 기준 데이터베이스(220)를 구성하는 새로운 테이블(테이블 610-670)로 포맷된다.
각각의 기준 데이터베이스 테이블(610-670)은 도 5의 원 데이터 테이블(510, 520, 530)에서 개별 필드에 대응한다. 더 상세히 설명하면, 기준 데이터 테이블(610-670)의 데이터 기록은 원 데이터 테이블(510, 520, 530)의 데이터 기록에 대응한다. 본 발명의 실시예서, 원 데이터 테이블 기록이 기준 테이블(610-670)에서 표현된 특정 데이터 필드(410)에 대한 정보를 가지지 않을 경우, 빈(empty) 필드값이 기준 테이블에서 해당 필드에 들어간다. 예를 들면, 테이블(510)의 제 1 데이터 기록(510-1)은 주소에 대한 정보를 가지지 않으며, 따라서 테이블(670)의 제 1 위치에는 빈 필드값이 위치한다.
데이터는 바람직하게도 원 데이터 테이블의 단일 데이터 기록에 대응하는 모든 데이터가 신뢰가능하게 식별되는 방식으로 기준 데이터베이스(220)에 저장된다. 예를 들면, 도 5 및 도 6에 도시된 실시예에서, 원 데이터 테이블(테이블 510, 520, 530)의 어떤 특정 데이터 기록에 대응하는 데이터는 바람직하게도 기준 테이블(610-670)에서 인덱스 i에 저장되는 수치 데이터의 "벡터"로 표현된다. 예를 들면, 원 데이터 테이블(520)의 6번째 기록(520-6)("51 Fourth Street"에 거주하는 "Jennifer Brown"에 속하는 계좌 번호 "A60")에 대응하는 데이터는 기준 데이터베이스 테이블(610-670)에서 10번째 기록(610-10, 620-10, 630-10, 640-10, 650-10, 660-10, 670-10)으로부터 형성된 계수를 가지는 벡터로 표현된다.
도 6에 도시된 바와 같이, 기준 데이터베이스(220)는 도 5에 도시된 원 데이터(210)의 어떤 데이터 필드(140)에 대응하지 않는 새로운 테이블(610)을 포함한다. 이러한 테이블은 데이터 벡터에서 관련 데이터를 식별하는 "핵심 테이블(key table)"이다. 하기에 설명하겠지만, 도 6에 도시된 테이블로 구성된 기준 데이터베이스(220)는 데이터 필드를 위한 부가적인 핵심 테이블을 포함한다. 이것은 개인 식별 번호("PIDN"), 계좌 식별 번호("AIDL"), 또는 다른 형태의 식별 번호를 포함할 수 있다. 이러한 핵심 테이블 또는 식별 번호는 기준 데이터베이스(220)의 관련 데이터 벡터의 세트를 식별하는데 사용된다.
상기 실시예에서, 핵심 테이블(610)은 개인 식별 번호를 나타내는 하나의 필드 "PIDN"을 가진다. 핵심 테이블(610)은 특정 PIDN 번호가 원 데이터(210)에 나타난 하나 이상의 개인을 참조하지 않도록 유일한 식별자를 제공한다. 다시 말하면, PIDN 번호는 원 데이터에서 많은 중복된 기록이 동일한 개인을 참조하도록 한다.
바람직하게도, 핵심 테이블(610)의 각 데이터 기록은 처음에는 원 데이터 테이블(510, 520, 530)에 표현된 서로 다른 데이터 기록에 대응한다. 예를 들면, 도 6에서 핵심 테이블(610)의 데이터 기록(610-10)은 원 데이터 테이블(520)에서 함께 단일 기록(520-6)에 대응하는 기준 테이블(620-670)의 대응 데이터에 대한 식별자(예컨대, 포인터 또는 인덱스)를 포함하도록 구현된다.
처음에, 단일 PIDN은 여러 명의 개인을 참조하지 않지만, 한 명의 개인은 여러 개의 PIDN에 대응할 수 있다. 예를 들면, 도 6에서 (PIDN 4에 의해 정의된) 벡터 4 및 (PIDN 9에 의해 정의된) 벡터 9는 동일한 개인을 참조하지만, 도시된 바와 같이 상기 개인은 처음에는 2개의 PIDN(PIDN 4 및 PIDN 9)에 할당된다. 하기에 설명하겠지만, 본 발명은 PIDN 4 및 PIDN 9가 동일한 개인을 참조하는가를 판단할 수 있으며, 만약 그러한 경우에는 하나의 PIDN을 이 개인에게 할당할 수 있다. 대안으로서, 몇몇 실시예에서는 새로운 PIDN 번호를 상기와 같이 판단된 개인에게 할당하고 이전 PIDN 번호에 대한 참조는 유지한다.
전술한 바와 같이, 상기 실시예에서 기록은 기준 데이터베이스 테이블(610-670)에서 8개의 단일-필드 테이블을 통해 베이스-40의 계수를 가지는 벡터로 표현된다. 이러한 수치 표현은 예컨대 상관관계를 형성, 고유벡터 계산, 여러가지 좌표변환 수행, 및 다양한 패턴인식 분석 이용 등에 사용되는 수학적 연산을 이용하여 데이터가 분석 될 수 있게 한다. 이러한 연산은 기록 및 상기 기록들의 상호 관계에 대한 정보를 제공하고 유도하는데 사용된다. 작은 단일-테이블을 이용함으로써, 이러한 연산은 신속하게 수행될 수 있다. 또한, 영숫자 문자를 포함하는 원 데이터(210)를 가진 베이스-40 수치 표현은 원 데이터(210)의 내용이 그 의미론적 중요성을 유지할 수 있게 한다.
데이터 분석(Data Dialysis)
다시 도 2를 참조하면, 일단 기준 데이터베이스(220)가 도 6에 도시된 바와 같이 형성되면, 데이터 분석 프로세스(700)는 순화된 데이터베이스(230)에 포함될 가장 정확한 데이터를 분류한다. 데이터 분석(700)은 도 7을 참조하여 하기에 설명한다.
기준 데이터 파티션(Partioning the Reference Data)
단계 710에서, 기준 데이터베이스(220)는 바람직하게도 몇몇 기준에 따라서 세트로 파티션 또는 분류된다. 이러한 분류 기준에는 여러가지가 있다. 예를 들면, 도 8의 테이블(810)에 도시된 바와 같이, 상기 실시예에서 데이터 기록은 증가하는 수치 순서로 배치된 값을 가지는 라스트 네임에 기초하여 세트로 분류된다(행 데이터의 내용은 현재 기준 데이터베이스(220)에서 베이스-40 수치로 표현되어 있다). 테이블(810)은 도 6에 도시된 기준 데이터베이스 테이블(620)으로부터 유도되고, 테이블(810)의 각 성분은 유일한 라스트 네임에 의해 정의되며 상기 라스트 네임에 부합하는 테이블(620) 기록의 대응 세트를 가진다. 도시된 표현에서 테이블(810)은 세트의 성분에 대한 식별자(예컨대, PIDN의 경우 인덱스, 포인터 또는 다른 적절한 기준) 뿐만 아니라 세트를 정의하는 필드(이 경우, 라스트 네임)을 포함한다.본 발명의 몇몇 실시예에서, 기준 데이터베이스(220)의 모든 벡터가 세트가 기초로 하는 필드에 대한 데이터를 가지는 것은 아니다. 이러한 벡터는 다양한 방법으로 취급될 수 있다. 예를 들면, 상기 데이터 필드에 대한 데이터를 가지지 않은 기준 데이터베이스(220)의 모든 벡터는 하나의 부가 세트의 성분으로 생각할 수 있다. 대안으로서, 상기 데이터 필드에 대한 데이터를 가지지 않은 기준 데이터베이스(220)의 각 데이터는 자신의 세트의 한 성분으로 생각할 수 있다.
이중 데이터 식별(Identifying Duplicate Data)
도 7을 살펴보면, 단계 720에서 이중으로 식별된 파티션된 세트내의 이러한 데이터 기록들은 마킹된다. 본 발명의 몇몇 실시예에서, 이중 데이터는 필요가 없으며 제거된다. 다른 실시예에서는, 모든 정보가 기준 데이터베이스(220)에 유지되며, 비록 에러있는 정보, 불완전한 정보 또는 이중 정보라 할지라도 정보가 없는 것보다는 유리하고, 허위 정보 또는 분실 정보의 식별 등 몇몇 목적에 대하여는 유용하다.
본 발명의 몇몇 실시예에서는 벡터의 쌍을 비교함으로써 이중 정보를 식별한다. 그리고, 다양한 연산이 수행된다. 간단한 예로, 벡터 연산이 수행되어 2개의 기록 사이에 유사한 정도를 측정한다. 이중 벡터를 식별하기 위해서는 다른 종류의 기술을 사용할 수 있으며, 공통의 이름, 별명, 약자 등을 식별하는 "룩-업(look-up)" 테이블을 예로 들 수 있다.
도 8의 테이블(810)은 PIDN 2, 4, 8, 9, 11에 대응하는 라스트 네임 "Smith"가 도 6에 도시된 기준 데이터베이스 테이블(610-670)의 성분 2, 4, 8, 9, 11로부터 형성된 벡터를 표현한다는 것을 도시한다.
PIDN 2: [SMITH, J , 98-002, A40, A60, ^ ]
PIDN 4: [SMITH, J , 98-004, A50, B10, ^ ]
PIDN 8: [SMITH, Jennifer, ^ , A40, ^ , 300 Pine St.]
PIDN 9: [SMITH, John, ^ , A50, ^ , 37 Hunt Dr.]
PIDN 11: [SMITH, Jhon, ^ , B10, ^ , 85 Belmont Ave.]
2개의 성분이 이중으로 생각할 수 있을 정도로 충분히 유사한가를 판단하기 위한 벡터 또는 임계값을 포함하는 벡터(또는 행렬)는 다양한 실시예에 따라서 적절하게 정의될 수 있다. 간단한 예로서, 벡터 쌍의 대응하는 계수 사이의 차의 절대값의 합은 대응하는 기록 쌍 사이의 유사성을 나타낸다. 만약 제 1 벡터가 제 2 벡터의 모든 필드와 일치하고 어떤 부가적인 데이터도 제공하지 않으면, 상기 벡터 쌍은 이중으로 여겨질 수 있다. 상기 실시예에서, 예컨대 상이한 길이의 성분(가령, 숫자에 대응하는 오른쪽으로 정렬된 문자 스트링과 문자에 대응하는 왼쪽으로 정렬된 문자 스트링)을 비교하기 위하여, 워드의 잘못된 스펠링 또는 스펠링 변화를 인식하기 위하여, 그리고 위드에서 위치가 바뀐 문자를 인식하기 위하여 부가적인 규칙이 또한 정의될 수 있다. 이러한 프로세싱은 다양한 메카니즘에 의해 수행될 수 있다. 도 8의 테이블(810)의 예제에서, 어떤 데이터 기록도 이중으로 존재하지 않으며, 따라서 단계 720에서 어떤 것도 마킹되지 않는다.
데이터 상관(Correlating Data)
다시 도 7과 관련하여, 단계 730에서, 본 발명의 바람직한 실시예는 각각의 세트 내에 남아있는 데이터 기록을 상관시키며, 추가로 단계 740에서, 데이터 기록을 데이터 기록의 독립된 서브세트로 분할한다. 일반적으로, 두 개의 벡터 사이의 "상관"은 하나의 벡터가 나머지 벡터와 관련하여 얼마나 인접한가를 측정하는 것이며, 상관의 특정 방식은 의도된 바에 따라서 다양할 수 있다. 상관 함수의 일반적인 설명 및 예는 William H. Press의 NUMERICAL RECIPES IN C: THE ART OF SCIENTIFIC COMPUTING(Cambridge University Press, 2nd ed. 1992)와 그외 다른 것을 참조하여 알 수 있으며, 다른 기술과 예들은 Donald E.Knuth의 THE ART OF COMPUTER PROGRAMMING(Addison-Wesley Pub., 1998)에서 알 수 있다.
예컨대, 벡터 사이의 상관의 간단한 측정은 적절하게 가감(weight)될 수 있는 벡터의 도트 프로덕트(dot product)이다. 원하는 바에 따라서, 도트 프로덕트는 벡터 계수의 서브세트 상에서만 계산될 수 있거나, 또는 관련 계수들 뿐만 아니라 관련된 필드에 있도록 결정된 다른 쌍의 계수들을 비교하도록(즉, 제1 벡터의 "퍼스트 네임(first name)" 계수와 제2 벡터의 "미들 네임(middle name)"을 비교하도록) 한정될 수 있다. 이중 데이터를 식별하는 연산에 따라서, 상관 함수는 의도된 바에 따라서 적절하게 적응될 수 있다. 예컨대, 상관 함수는 다른 길이의 성분(entry)을 적절하게 비교하고 분명하게 드러나는 것에 따라서, 중요하고 중요하지 않은 차이를 적절하게 구별하도록 한정될 수 있다.
도5, 도 6, 그리고 도 8의 테이블을 참조하여 설명된 실시예에서, 상관 함수의 예는 벡터의 독립된 서브세트를 식별하기 위해 동일한 라스트 네임을 공유하는 세트의 멤버와 관련된 벡터를 비교한다. 게다가, 이러한 결정은 응용-주문형(application-specific) 표준에 기초할 수 있다. 이러한 예에서, 독립된 벡터는 다른 개체를 나타내는 벡터가 되도록 한정될 수 있다.
상관 함수를 적용한 결과로, 벡터 한 쌍의 독립 정도를 반영하는 상관 파라미터가 할당된다. 예컨대, 상위값은 높은 정도의 유사성을 나타내도록 할당될 수 있고, 하위값은 제한된 정도의 유사성을 나타내도록 할당될 수 있다. 다음으로 상관값은 (다른 응용에서 변화될 수 있는) 사전설정된 임계값과 비교하여 이러한 벡터에 해당하는 두 개의 기록이 독립되도록 고려되었는지를 결정한다.
상관값에 기초하여, 단계 740에서, 바람직한 실시예는 데이터 기록을 각각의 세트 내의 독립된 데이터 기록의 서브세트로 분할한다. 도 5, 도 6의 예와 도 8의 테이블(810)에서, 독립된 서브세트의 멤버는 이들 멤버가 : (오자 및 철자 변형을 고려한) 동일한 라스트 네임; (오자, 철자 변형, 별칭, 그리고 퍼스트 네임과 미들 네임의 조합과 개시를 고려한) 상대적으로 유사한 퍼스트 네임을 가지며; 하나 이상의 일치하는 계좌 번호를 가지며; (직장 및 집 주소, 그리고 주소의 1회 변경이 가능한) 세 개 이상의 주소를 갖지 않는 것으로 식별될 수 있다.
이러한 함수의 적용의 결과는 도 8의 테이블(820)에 도시되어 있다. 식별된 개체는 다음과 같다:
Jennifer Brown, PIDN 10;
Howard Lee, PIDN 3 및 6;
Carole Lee, PIDN 7;
Jennifer Smith, PIDN 2 및 8
John Smith, PIDN 4 및 11;
John Smith, PIDN 9;
Ann Zane, PIDN 1, 5, 및 12; 및
Molly Zane, PIDN 13.
벡터를 상관하기 위한 다른 연산이 가능하다. 이러한 연산은 도트 프로덕트, 크로스 프로덕트, 길이, 방향 벡터, 그리고 공지된 기술에 따라서 산정하기 위해 사용되는 많은 다른 함수 및 알고리즘의 계산을 포함한다.
도 9는 본 발명의 일부 일반적인 특징을 설명하는데 개념적으로 사용된 클러스터링으로 불리는 개념의 2차원 실시예를 도시한다. 도 9에서, 네 개의 클러스터가 2차원 포인트의 집합으로 존재한다. 이들 클러스터는 (a,b),(c,d),(e,f) 그리고 (g,h)로 식별된다. 도시된 바와 같이, 각각의 클러스터는 2차원 공간 내에서 하나 이상의 포인트로부터 형성된다. 각각의 포인트는 공간 내의 클러스터의 "참(true)" 값을 (다소 정확성을 가지며) 나타내는 데이터 기록에 해당한다. 도시된 바와 같이, 클러스터 (a,b)와 (c,d)는 상호간에 그리고 클러스터 (e,f) 및 (g,h)와 구별이 상당히 용이하다. 그러나, 이러한 간단한 예에서, 클러스터 (e,f) 및 (g,h)는 상호간에 구별하기가 용이하지 않다. 공간의 확장은 상호간에 구별이 더욱 용이하도록 (e,f) 및 (g,h)와 같은 클러스터 사이의 분리를 증가시킬 수 있다. 선택적으로, 공간의 확장은 (g,h)가 클러스터 (e,f)에 속하는 점 또는 클러스터 (c,d)에까지 속하는 점으로 지시될 수 있다. 요약하면, 공간은 무한히 확장될 수 있고, 그 결과 다양한 공지된 특징을 갖는 Hilbert 공간이 된다. 이러한 특징은 무한하지는 않지만 분명할 정도로 벡터를 확장시키는 본 발명에 의해 활용될 수 있다.
더욱이, 추가의 데이터 필드를 벡터에 부가하는 것(공간의 확장)은 이들의 상관에 도움이 되도록 상호간에 클러스터를 분리시키는 반면에, 벡터에서 데이터 필드를 삭제하는 것(공감을 감소)이 또한 일부 상관을 식별할 수 있다. 본 발명의 일부 실시예에서, 공간을 감소시키는 것은 사실상 동일한 개체 또는 다른 특정 엔트리를 나타내는 임의의 클러스터를 식별할 수 있다. 예컨대, 데이터베이스 내의 하나의 기록은 데이터 베이스 내의 제 2 기록의 동일한 10 개의 데이터 필드와 정확하게 식별되는 10 개의 데이터 필드를 가질 수 있다. 이러한 데이터 필드는 퍼스트 네임, 생일, 주소, 어머니의 결혼전 이름 등에 해당할 수 있다. 그러나, 이러한 두 개의 기록은 다른 두 개의 필드를 가질 수 있다. 이러한 두 개의 필드는 라스트 네임과 주민등록번호에 해당할 수 있다. 일부 경우에, 이러한 기록은 동일한 개체에 해당할 수 있다. 본 발명은, 만약 가능하다면, 종래 방식을 사용하여 검출하는 것이 곤란한 이러한 형태의 기록을 식별하기 위한 공정을 간단하게 한다.
따라서, 벡터에서 하나 이상의 특정 데이터 필드를 제거하고 해당 공간을 감소시키는 것은 분명하지 않은 클러스터가 나타나게 한다. 식별 목적으로 종래 사용되던 데이터 필드(즉, 라스트 네임, 주민등록번호 등)에 대하여 이러한 것을 수행하는 것은 데이터베이스 내의 이중 기록을 나타내게 할 수 있다. 특히 이것은 허위사실을 식별하는데 유용할 수 있다. 벡터가 해당 데이터 필드에 대한 빈(empty) 필드 값을 포함하는 곳의 데이터 필드를 제거하는 것은 또한 분명하지 않은 클러스터를 나타내게 할 수 있다.
더욱이, 일단 클러스터가 동일한 개체 또는 전체를 나타내는 것으로 식별되면, 개체 또는 전체에 대한 최상의 정보가 각각의 기록(record) 또는 "블랙 도트(black dot)"로 제공되는 정보에서 추출될 수 있다.
본 발명의 원리는 간단한 벡터와 데이터 필드 이상으로 확장될 수 있다. 예컨대, 본 발명은 다차원 공간에서 목적물을 나타내는 텐서의 사용을 통해 확장될 수 있다. 이러한 방식으로, 본 발명은 연산 및 효과를 추가로 간파하도록 다양한 물리적 현상의 파라미터를 나타내는데 사용될 수 있다. 특히 이러한 응용은 인간 유전자를 해독하는데 사용될 수 있고 인간 게놈 프로젝트와 같은 프로그램에 도움이 될 수 있다.
분할 데이터 처리(Handling Stranded Data)
다시 도 7과 관련하여, 단계 750에서, 본 발명의 바람직한 실시예는 "분할된(stranded)" 데이터 기록을 평가한다. 분할된 데이터 기록은 단계 710에서 임의의 세트로 파티션되지 않는 기준 데이터베이스(220)로부터의 기록이다. 일부 실시예에서, 기준 데이터베이스(220)은 데이터 필드에 해당하는 다수의 테이블과 필드의 다양한 조합에 대한 데이터를 갖는 다수의 벡터를 포함할 수 있다. 예컨대, 다른 데이터 필드에 대한 20개의 테이블과 각각의 테이블에 대하여 관련된 데이터 기록에 의해 한정된 1000개의 벡터를 포함하는 기준 데이터베이스(220)을 갖는 실시예에서, 이들 1000개의 벡터중 오로지 800개 만이 "라스트 네임" 필드에 대한 데이터를 갖는다면, 이것으로 인해 단계 710에서 세트가 생성된다. 단계 710은 "라스트 네임" 데이터를 갖지 않는 이들 200개의 벡터를 임의의 세트로 파티션하지 않거나 각각의 200개의 벡터를 자체의 세트로 파티션할 수 있다. 어느 경우에서든, 이들 200개의 벡터는 단계 720, 730, 740에서 어떤 다른 벡터와도 상관하지 않는다. 단계 750은 이들 벡터를 평가할 수 있다.
평가 방법은 다양할 수 있다. 예컨대, 일 실시예는 단계(740)에서 식별된 각각의 서브세트의 한 멤버와 각각 분리된 엔트리와 상관할 수 있다. 상관 값의 결과에 따라서, 벡터는 가장 높이 상관되는 서브세트에 추가될 수 있거나, 또는 새로운 서브세트를 한정할 수도 있다. 선택적으로, 일부 실시예에서, 이러한 평가가 많은 시간 소모 및/또는 고비용이 들도록 결정될 수 있고 단계 750에서 완전하게 스키핑(skipping)될 수 있다.
상관 처리 반복(Repeating the Correlation Process)
단계 710-750은 특정 실시예의 필요에 따라 반복될 수 있다. 상기 설명한 바와 같이, 일부 실시예는 다수의 필드와 다수의 엔트리를 구비한 기준 데이터(220)를 가지며, 많은 엔트리는 오로지 필드의 서브세트용 데이터를 갖는다. 이러한 경우에 단일 필드 상에서 단계 710-750을 수행하는 것은 모든 관련된 정보를 유도하는데 바람직하지 않다. 도 5, 도 6, 그리고 도 8과 관련하여 설명된 간단한 예에서조차, 단일 필드 "라스트 네임" 상의 상관에는 오로지 이들 엔트리 사이의 상관에 대한 부분적인 정보가 제공될 수 있다. 예컨대, PIDN 2 및 10은 공통 계좌 번호와 공유될 수 있기 때문에, 도 6의 PIDN 2 및 8에 해당하는 Jennifer Smith는 PIDN 10에 해당하는 Jennifer Brown과 동일한 개체가 될 수 있다. 라스트 네임 필드 상의 상관을 수행하는 것은 동일한 개체에 해당하는 것으로서 이들 PIDN을 식별할 수 없는데, 이들은 오로지 동일한 라스트 네임을 공유하는 다른 PIDN에 대해서 평가되기 때문이다. 계좌 번호 필드 상의 상관을 수행하는 것에는 이들의 PIDN이 관련되는지에 대한 추가의 정보가 제공된다.
따라서, 다양한 데이터 필드에 걸친 상관은 기준 데이터베이스(220) 내의 데이터의 관련 정도를 완전하게 평가할 필요가 있다.
기준 데이터 갱신을 위해 상관 결과를 이용
(Using Correlation Results to Update Reference Data)
일단 단계 710-760가 종료되면, 도 2에서 도시된 것처럼, 기준 데이터베이스(220)는 순화되어 순화된 데이터베이스(230)가 된다. 본 발명의 일부 실시예에서, 이들 두 개의 데이터베이스는 분리되어 처리되고 상호간에 공존한다. 본 발명의 일 실시예에서, 단일 데이터베이스는 마킹된 기록으로 존재하거나 그렇지 않으면 기준 데이터베이스(220) 또는 순화된 데이터베이스(230)에 속하는 것으로 식별된다. 이것은 두 개의 데이터베이스 내의 기록에 대한 PIDN의 다른 범위를 사용하여 할당함으로서 이루어질 수 있다. 더욱이, 두 개의 데이터베이스 내의 기록 사이의 관계는 순화된 데이터베이스(230) 내의 기록에 대한 PIDN을 생성하도록 상수값을 기준 데이터베이스(220) 내의 기록에 대한 PIDN에 가산함으로써 유지될 수 있다. 예컨대, 기준 데이터베이스(220) 내의 PIDN 12345을 갖는 기록은 순화된 데이터베이스(230) 내의 PIDN 9012345를 가질 수 있다. 이러한 방식으로, 두 개의 데이터베이스는 단일 데이터베이스의 분명한 부분으로서 다루어질 수 있다.
순화된 데이터를 이용(Using the Distilled Data)
일단 데이터 분리 처리(700)가 종료되면, 순화된 데이터베이스(230)은 데이터 기록의 서브세트와 관련된 기록으로서 기준 데이터베이스(220)을 식별하고, 상기 설명한 바와 같이, 확률은 이들 완료의 질적인(qualitative) 측정이 제공되도록 기준 데이터베이스(220) 내의 필드에 대하여 결정될 수 있다. 이것은 완료 확률을 각각의 개체 데이터 필드에 할당하고 다음으로 데이터 기록에 대한 전체 완료 확률로 계산하도록 이들을 사용함으로써 수행될 수 있다. 예컨대, 퍼스트 네임을 나타내는 데이터 필드에 대하여, 'J' 값은 낮은 확률(예컨대, 0 또는 0.1)로 할당될 수 있고, 'JOHN' 값은 높은 확률(예컨대, 0.7 또는 0.8)로 할당될 수 있으며, 'JONATHAN' 값은 가장 높은 확률(예컨대, 0.9 또는 1.0)로 할당될 수 있다. 이러한 값들은 다소 임의로 또는 구조의 가설에 따라서 할당될 수 있다. 그러나, 이러한 값들은 세트 내의 데이터 필드가 가장 완전한 정보, 즉 가장 가능성 있는 데이터를 포함하는데 가장 바람직한 것을 식별하는데 도움을 준다.
본 발명은 기록과 상호간의 관계에 대한 상당한 양의 정보를 결정할 수 있으며, 특히 특정 응용에 적응될 수 있다. 더욱이, 표준 데이터베이스 연산을 사용하여, (기준 데이터베이스(220)의 기록을 참조하는) 순화된 데이터베이스(230)는 필요에 따라 포맷된 리포트가 제공되도록 잘 처리될 수 있다. 예컨대, 실시예는 관련된 기록의 리포트 목록 서브세트를 생성하도록 적응될 수 있으며, 서브세트의 기록에는 특정 개체 또는 엔트리에 대한 정보가 제공된다. 그러한 서브세트내의 기록들은 정보를 제공한다. 예를 들면, 상이한 분야의 정보; 개인에 의해 사용된 가명 및/또는 이름, 주소, 주민등록번호 등의 변화 및 개인이 하나 이상의 기재사항을 갖는 직업, 주소 및 계좌 번호와 같은 분야의 정보를 제공한다.
모든 데이터가 수치 베이스-40 포맷으로 표현되는 것을 상기하면, 상기 서브세트는 리포트내에서 수치적으로 정리될 수 있다. 상기 베이스-40 포맷은 (상기 변환테이블에서 도시된 바와 같은) 그것들의 개별적인 문자로서 알파벳 문자를 표현하는 추가적인 이점을 제공한다. 그러므로, 상기 리포트가 수치적 표현으로 기재사항을 보여줄 것이며, 데이터의 의미론적 중요성을 갖는 표현을 나타내며, 상기 데이터가 수동으로 판독되고 분석되도록 한다. 예를 들면, 상기 리포트가 J SMITH, JOHN SMITH, JOHN G SMITH 및 GERALD SMITH를 포함하는 이름에 대한 기재사항을 갖는 개인 기록을 도시한다면, 리포트를 읽는 사람은 퍼스트 네임 또는 이니셜(initial), 미들 네임 또는 이니셜, 또는 그에 대한 조합을 포함하는 다양한 이름이 사용된다는 것을 알 수 있다.
새로운 데이터 추가(Adding New Data)
통상적인 데이터베이스 응용에서, 새로운 데이터는 처음부터 추가될 수 있다. 도 2에서 도시된 바와 같이, 본 발명은 새로운(또는 변화된)데이터(240)추가를 고려하며, 이는 기준 데이터베이스(220)와 순화된 데이터베이스(230)에 영향을 줄 것이다.
일반적으로, 새로운 데이터 기록(240)은 도 3과 관련하여 상술된 바와 같이 포맷되며, 존재하는 기준 데이터베이스(220)로 입력된다. 추가적으로, 새로운 데이터 기록(240)은 새로운 정보나 내용이 새로운 데이터 기록(240)내에서 이용가능 한지를 결정하기 위하여 순화된 데이터베이스(230)에 대해 측정될 수 있다. 예를 들면, 새로운 데이터 기록(240)은 새로운 데이터 기록(240)이 순화된 데이터베이스(230)내에서 이미 존재하는 소정의 데이터 기록과 관련있는지를 결정하기 위하여 순화된 데이터베이스(230)로부터의 데이터 기록과 서로 관련될 수 있다. 그럴 경우 및 새로운 데이터 기록(240)이 순화된 데이터베이스(230)내에 이미 존재하지 않는 정보 또는 내용을 포함하는 경우에, 새로운 데이터 기록(240)은 순화된 데이터 베이스(230)를 갱신하기 위하여 사용될 수 있다. 예를 들면, 새로운 데이터 기록(240)이 순화된 데이터베이스(230)내에 이미 존재하는 데이터 기록에 상응하는 John Smith란 이름을 가진 개인에 대한 정보를 포함했으나, Mr.Smith의 미들 네임이 Greg 이었다는 추가적인 정보가 제공되었다면, 상기 추가적인 정보는 순화된 데이터베이스(230)에 적절히 부가될 수 있다.
기준 데이터베이스(220)와 순화된 데이터베이스(230)내에서 데이터 기록의 변화는 C. J. DATE, INTRODUCTION TO DATABASE SYSTEMS(Addison Wesley, 6th ed. 1994)(특히 Part Ⅳ 참조)와 같은 참조문헌에 개시된 바와 같이 표준 데이터베이스 보호 동작을 사용하여 처리될 수 있다. 예를 들면, 공인된 데이터베이스 관리자에 의해 기준 데이터베이스(220)가 변화될 경우에, 기준 데이터베이스(220)내의 관련 데이터 기록은 표준 관련 정의에 의해 결정된 바 대로 업데이트되며, 순화된 데이터베이스(230)내에서 정의된 관계에 따라 적절히 갱신된다.
필드 벡터들 사이의 복사 데이터 식별
(Identifying Duplicate Data Between Field Vectors)
통상적인 데이터베이스와 관련된 한 가지 문제점은 원 데이터(raw data)(210A)와 같은 제 1 데이터베이스로부터의 기록들이 원 데이터(210B)와 같은 제 2 데이터베이스로부터의 기록들과 통합되는 어려움이다. 공유되거나 복사된 데이터를 갖는 이러한 데이터베이스내의 기록들은 거기에 포함된 내용이 기준 데이터베이스(220) 또는 순화된 데이터베이스(230)와 같은 데이터베이스 내의 단일 기록으로 통합될 수 있도록 확인될 필요가 있다. 예를 들면, 데이터베이스(210) 양자는 JOHN SMITH에 대한 하나 이상의 기재사항을 포함한다. 만약 데이터베이스(210)내의 개별적인 기록이 동일한 John Smith를 나타낸다면, 상기 각각의 기록의 내용은 예를 들면, 순화된 데이터베이스(230)내에 단일 기록으로서 통합되어야 한다.
이러한 데이터베이스내의 그러한 복사 데이터를 확인하기 위한 통상적인 억지 기억방법(brute force)은 상기 제 1 데이터베이스로부터의 데이터 기록과 상기 제 2 데이터베이스내의 모든 데이터 기록을 비교하는 단계, 그리고 상기 제 1 데이터베이스내의 각각의 기록에 대한 이러한 프로세스를 반복하는 단계를 포함한다. 이러한 프로세스는 시간을 소비하며, 계산 집약적이며, 그리고 따라서 비용이 많이 든다. 실제, 계산의 수는 2개의 데이터베이스 각각의 기록수와 기하학적으로 관련된다.
상기 데이터베이스(210)내에 복사 데이터를 확인하기 위하여 필요한 계산의 수와 시간을 감소시키기 위한 한 프로세스가 도 10-12와 관련하여 이하에서 상술된다. 이하에서 상술된 프로세스에서, 상기 데이터베이스중 공통되거나 유사한 특정 필드 예를 들면, 이름 필드 또는 주소 필드가 선택된다. 이러한 필드는 각 기록에 대한 선택된 필드의 값을 포함하는 데이터베이스 각각에 대한 어레이 또는 테이블로 정렬된다. 예를 들면, 상기에서 논의된 바와 같이, 각 테이블(610-670)은 데이터베이스내의 각각의 데이터 기록의 특정 필드를 표현한다. 이러한 논의의 목적을 위해, 이러한 테이블은 필드 벡터로 불려진다.
본 발명에 따르면, 상기 필드 벡터의 각각은 수치 순서로 분류되며, 그리고 필요하다면, 상기 도 7및 8과 관련하여 상술된 바와 같이 동일한 데이터의 세트로 분할된다. 예를 들면, JOHN SMITH와 관련된 다중 기록은 상기 필드 벡터내에서 함께 분할될 것이다. 바람직하게, 세트 사이의 파티션의 위치에 관한 정보는 저장된다.
상기 필트 벡터가 분류되고 분할되면, 제 1 필드 벡터의 제 1 성분의 값은 제 2 필드 벡터의 상기 제 1 성분의 값과 비교된다. 본질적으로, 상기 제 1 필드 벡터내의 값이 상기 제 2 필드 벡터내의 값 보다 더 크다면, 상기 제 2 필드 벡터안의 인덱스는 개선되거나 또는 상기 제 2 필드 벡터내의 다음 값을 획득하기 위해 다음에 분할된 세트내에 위치로 조정된다. 그리고 나서, 상기 제 2 필드 벡터내의 이러한 다음 값은 상기 제 1 필드 벡터내의 값과 비교된다. 이것은 상기 제 1 필드 벡터내의 값이 상기 제 2 필드 벡터내의 값보다 큰 이상 계속된다.
반면에, 상기 제 1 필드 벡터의 값이 상기 제 2 필드 벡터의 값보다 작다면, 제 1 필드 벡터내의 인덱스는 개선되거나 또는 제 1 필드 벡터내의 다음 값을 획득하기 위하여 다음에 분활된 세트내의 위치로 조정된다. 그리고 나서, 제 1 필드 벡터내의 이러한 다음 값은 상기 제 2 필드 벡터내의 값과 비교된다. 이것은 상기 제 1 필드 벡터내의 값이 상기 제 2 필드 벡터내의 값보다 더 작은 이상 계속된다.
제 1 필드 벡터의 값이 제 2 필드 벡터내의 값과 동일할 때, 프로세스는 일반 필드 벡터내에 바람직하게 저장되는 복사 데이터를 확인한다. 상기 확인된 복사 데이터를 저장한 후에, 제 1 필드 벡터내의 인덱스와 제 2 필드 벡터내의 인덱스는 둘다 개선되거나 또는 그렇지 않으면 그것들의 개별적인 필드 벡터의 다음 분할된 세트내의 위치로 조정된다.
그러므로, 상술된 프로세스는 필드 벡터내의 값들 사이의 차이에 근거한 어레이 중 어느 하나로 인덱스를 조정하는 피드백 제어 메커니즘으로써 보여질 수 있다. 상기 상술된 실시예에서, 양(positive)의 차이는 제 2 필드 벡터의 인덱스에 조정을 발생시키는 반면에, 음(negative)의 차이는 제 1 필드 벡터의 인덱스에 조정을 발생시킨다. 이러한 프로세스는 통상적인 방법과 관련된 기하학적 관계와 반대로 요구되는 계산의 수와 필드 벡터내의 값의 수 사이의 선형관계(즉, 비교)를 가져오게 된다.
본 발명은 분류(sorting) 메커니즘에 확장될 수 있다. 특별한 값이 벡터내의 값들의 순서(예를 들면, 알파벳, 수치 등)에 기초한 필드 벡터내로 삽입되어야만 하는 경우에(즉, 기록이 데이터베이스 안으로 삽입되어야만 하는 경우에), 특별한 값과 벡터내의 성분중 하나의 값 사이의 차이가 계산된다. 이러한 차이는 벡터로부터 다음 값을 발생시키기 위하여 벡터안의 인덱스를 조정하기 위한 "피드백"이다. 잘 설립된 제어 이론의 방법을 사용하여, 인덱스 조정은 삽입될 값의 적정한 위치를 결정하기 위하여 적분될 수 있다. 적분기에 부가하여, 비례 이득이 명백하게 될 요망된 시스템 성능을 실현하기 위한 차이에 인가될 수 있다.
본 발명은 이제 도 10-12와 관련하여 상술된다. 도 10은 한 쌍의 필드 벡터내의 복사 데이터를 확인하기 위한 흐름도이다. 필드 벡터는 원 데이터(210A)와 같은 단일 소스(예를 들면, 단일 데이터 베이스에서 거주 주소 분야와 우편 주소를 비교할 때)로부터 될 수 있거나, 또는 원 데이터(210A)와 원 데이터(210B)와 같은 다중 소스(예를 들면, 2개의 데이터베이스 사이의 이름 분야를 비교할 때)로부터 될 수 있다.
이러한 설명의 목적상, 필드 벡터쌍은 제 1 필드 벡터("FV1") 및 제 2 필드 벡터("FV2")로 각각 불려진다. 바람직하게는, 이러한 필드 벡터내의 데이터는 상기에서 상술한 바와 같이 영숫자 데이터(alphanumeric data)를 표현하는 베이스-40 숫자이다. 그러나, 본 발명의 일부 실시예에서, 상기 데이터는 다른 형태로 존재한다.
단계 1010에서, 제 1 필드 벡터는 수치 순서로 저장된다. 단계 1020에서, 제 2 필드 벡터도 수치 순서로 저장된다. 본 발명의 다른 실시예가 감소하는 순서로 벡터를 분류하더라도, 본 발명의 한 실시예에서 벡터들은 증가하는 수치 순서로 저장된다.
단계 1030에서, 공통값을 갖는 제 1 필드 벡터내의 분할된 세트가 확인된다. 이와 동일하게, 단계 1040에서, 공통값을 갖는 제 2 필드 벡터내의 분할된 세트도 확인된다. 단계 1010-1040은 도 7 및 8과 관련하여 상기에서 상술된 기준 데이터베이스(220)를 분할하는 단계와 유사한 기능을 수핸한다. 본 발명의 일부 실시예에서, 각각의 필드 벡터내에 공통값이 소거되지 않을 때, 필드 벡터들은 분할된 세트를 포함하지 않는다. 그러나, 본 발명의 바람직한 실시예에서, 특별한 필드 벡터내의 공통값은 유지된다.
단계 1050에서, 제 1 및 제 2 필드 벡터 사이의 공통값을 확인하는 공통값 벡터가 결정되며, 바람직하게는 분할된 세트를 사용하는 것은 도 11과 관련하여 더욱 상세히 상술된다.
도 11은 한 쌍의 필드 벡터 사이의 공통값을 확인하기 위한 흐름도이다. 단계 1110에서, 3개의 벡터 인덱스는 초기화된다. 제 1 벡터 인덱스(Ⅰ)는 제 1 필드 벡터(FV1)로의 인덱스이고; 제 2 벡터 인덱스(J)는 제 2 필드 벡터(FV2)로의 인덱스이며; 그리고, 제 3 벡터 인덱스(K)는 공통값 벡터("CV")로의 인덱스이다. 상기 상술한 바와 같이, 공통값 벡터는 제 1 및 제 2 필드 벡터에 의해 분배된 값들을 포함한다. 인덱스(I와 J)는 제 1 및 제 2 필드 벡터내의 제 1 위치를 정하기 위하여 초기화된다. 인덱스(K)는 공통값 벡터내에 포함될 다음 공통값을 위한 위치를 정하기 위하여 초기화된다.
결정 단계 1120에서, 본 발명은 제 1 필드 벡터의 I번째 위치에서의 값이 제 2 필드 벡터의 J번째 위치의 값 보다 큰지 또는 같은지를 결정한다. 만약 그러하다면, 프로세싱은 결정 단계 1130에서 계속되며; 그렇지 않다면, 프로세싱은 단계 1170에서 계속된다. 단계 1170은 제 1 필드 벡터의 I번째 위치에서의 값이 제 2 필드 벡터의 J번째 위치의 값보다 작을때 효과적으로 수행된다. 단계 1170에서, 제 1 인덱스(I)는 제 1 필드 벡터내의 다음 분할된 세트의 개시 위치를 정하기 위하여 조정된다. 단계 1170후에, 프로세싱은 결정 단계 1160에서 계속된다.
결정 단계 1130에서, 본 발명은 제 1 필드 벡터의 I번째 위치내의 값이 제 2 필드 벡터의 J번째 위치의 값과 동일한지를 결정한다. 만약 그러하다면, 프로세싱은 결정단계 1140에서 계속되며; 그렇지 않다면, 프로세싱은 단계 1180에서 계속된다. 단계 1180은 제 1 필드 벡터의 I번째 위치내의 값이 제 2 필드 벡터의 J번째 위치의 값보다 더 클때 효과적으로 수행된다. 단계 1180에서, 제 2 인덱스(J)는 제 2 필드 벡터내의 다음 분할된 세트의 개시 위치를 정하기 위해 조정된다. 단계 1180후에, 프로세싱은 단계 1160에서 계속된다.
단계 1140은 제 1 필드 벡터의 I번째 위치내의 값이 제 2 필드 벡터의 J번째 위치의 값과 동일할 때 효과적으로 수행된다. 단계 1140에서, 제 1 및 제 2 필드 벡터내에 포함된 값은 공통값 벡터내에 위치한다.
단계 1150에서, 제 3인덱스(K)는 확인될 다음 공통값의 공통값 벡터의 위치를 정하기 위하여 증분된다. 제 1인덱스(I)는 제 1 필드 벡터내의 다음 분할된 세트의 개시 위치를 정하기 위하여 조정된다. 제 2 인덱스(J)는 제 2 필드 벡터내의 다음 분할된 세트의 개시 위치를 정하기 위하여 조정된다.
결정 단계 1160에서, 본 발명은 추가적인 분할된 세트가 제 1 필드 벡터와 제 2 필드 벡터내에 존재하는지를 결정한다. 만약 그러하다면, 프로세싱은 단계 1120에서 계속된다. 만약 제 1 필드 벡터나 제 2 필드 벡터내에 분할된 세트가 잔존하지 않는다면, 프로세싱은 종료된다. 프로세싱이 종료될 때, 공통값 벡터는 제 1 및 제 2 필드 벡터 사이의 확인된 모든 복사 데이터를 포함한다.
도 12는 본 발명에 따른 필드 벡터들 사이의 복사 데이터를 확인하는 예를 도시한다. 단계 1010 및 1030은 필드 벡터 1("FV1")을 분류하고 분할하며, 단계 1020 및 1040은 필드 벡터 2("FV2")를 분류하고 분할한다. 단계 1050의 동작은 단계 1110-1180에 관하여 상술되며, 단계 1120에서 단계 1160 및 단계 1120으로 되돌아 오는 순회는 "루프(loop)"로 불려진다.
제 1루프에서, FV1의 제 1성분(즉, 0번째 위치)은 FV2의 제 1성분과 비교된다. (이는 도 12에서 말단부와 1로 표시된 부분상에 화살표를 갖는 FV1과 FV2 사이의 라인으로서 도시된다.) 이러한 예에서, FV1의 값 '8'은 FV2의 값 '8'과 비교된다. 결정단계 1120 및 1130은 이러한 값들이 동일한 것을 결정하며, 단계 1140에서, 상기 값'8'은 공통값 벡터내에 놓여진다. (이는 도 12에서 말단부와 1로 표시된 부분상에 화살표를 갖는 FV2와 공통값 벡터(COMMON VALUE VECTOR)사이에 라인으로서 도시된다.) 단계 1150은 다음 분할된 세트에서 지적하도록(point) 필드 벡터들 양자의 인덱스를 조정한다. 결정 단계 1160은 더 상세히 파티션된 세트가 2개의 필드 벡터에 존재하고 루프가 시작되는 것을 결정한다.
제 2 루프에서, FV1의 다음 성분은 FV2의 다음 성분과 비교된다. 이 예에서, FV1의 값 '9'는 FV2의 값 '9'과 비교된다. 이 값은 다시 동일한 것으로 결정되고, 값 '9'는 공통값 벡터에 위치한다. 단계 1150은 두 인덱스를 각 필드 벡터의 다음 분할 세트(partitioned sets)를 지적하도록 조절된다. 결정 단계 1160은 보다 많은 분할 세트가 두 필드 벡터에 존재하는지 제 3루프가 시작될지를 결정한다.
제 3 루프에서, FV1의 다음 성분은 FV2의 다음 성분과 비교된다. 이 예에서, FV1의 값 '10'은 FV2의 값 '12'과 비교된다. 결정단계 1120은 FV1에서의 값이 FV2의 값보다 크거나 같지 않도록 결정하고, 단계 1170에서, FV1의 인덱스는 그 안의 다음 분할 세트를 지시하도록 조절된다. 결정 단계 1160은 보다 낳은 분할 세트가 두 필드 벡터에 존재하는지 제 4의 루프가 시작될지를 결정한다.
제 4 루프에서, FV1의 다음 성분은 FV2의 이전 값과 비교된다. 이 예에서, FV1의 값 '12'는 이전에 비교된 FV2의 값 '12'와 비교된다. 결정 단계 1120 및 1130은 값이 동일한 지를 결정하고, 단계 1140에서, 값 '12'는 공통값 벡터에 위치한다. 단계 1150은 두 인덱스가 각 필드 벡터에서의 다음 분할 세트를 지시하도록 지시한다. 결정 단계 1160은 보다 많은 분할 세트가 두 필드 벡터에 존재하는 지 제 5 루프가 시작될 지를 결정한다.
제 5 루프에서, FV1의 다음 성분은 FV2의 다음 값과 비교된다. 이 예에서, FV1의 값 '15'는 FV2의 값 '18'과 비교된다. 결정 단계 1120은 FV1의 값이 FV2의 값보다 크거나 같지않도록 결정하고, 단계 1170에서, FV1의 인덱스는 그 안의 다음 분할 세트를 지시하도록 조절된다. FV1내에 분할 세트가 존재하지 않기 때문에, 프로세싱은 끝나게 된다.
이 실시예에서, 각 루프당 최대 2번의 비교과정을 갖는 5개의 루프는 두 필드 벡터 사이의 3개의 공통값을 확인하는 데 요구된다. 무모한 방법에서는, 132번의 비교과정(12*11)이 요구된다.
선-인코딩 정보(Pre-Encoding Information)
본 발명의 바람직한 실시예에서, 이전에 또는 다른 실시예에서, 데이터를 원 포맷에서 수적 포맷으로 전환하는 동시에, 데이터는 설정된 인코딩 포맷으로 선-인코딩된다. 이 선-인코딩은 추가로 원 포맷내의 정보를 인코딩 포맷으로 줄이거나 압축한다. 일단 인코딩 포맷에서, 데이터는 연속적으로 상기에서 기술된 바와 같이 적절한 수적 포맷으로 표현되어 질 수 있다. 본 발명의 실시예는 실시예들에 의해서 가장 잘 설명된다.
본 발명의 실시예에서, 음소(phonemes)가 인코딩 포맷으로서 원 포맷 내의 데이터를 표현하는 데 사용된다. 이 실시예에서, 음소는 인코딩 워드, 워드의 부분(예를 들어, 음절), 또는 워드의 구문으로 사용된다. 따라서, 동일한 또는 비슷하게 들리는 워드 또는 음절은 동일한 음소를 사용하여 표현된다. 예를 들어, "John" 또는 "Jon"은 동일한 음소를 사용하여 표현될 것이다. 다른 실시예에서, 이름 "Joan"은 이름 "John" 및 "Jon"에서 사용된 것과 동일한 음소를 사용하여 표현될 것이다. 본 발명의 따르면, 각 음소는 사용된 음소에 부분적으로 바탕을 둔 적절한 수치 시스템내의 디지털로 연속적으로 표현된다.
예를 들어, 특정 언어는 한정된 수의 소리 또는 음소로 분절될 수 있고, 적절한 수치 시스템 내의 디지털로 표현될 것이다. 이 방법에서, 텍스트는 특정의 철자 보다 음소에 바탕을 두고 인코딩되어, 예를 들어 서지 엔진을 사용으로 철자 에러 효과를 최소화한다.
본 발명의 이러한 실시예는 언어, 언어 인식 및 인위적인 언어 번역 메커니즘으로 확장될 것이다. 특히 구술 음소(대응 텍스트 음소에 반대됨)는 또한 적절한 수치 시스템내에서 상기에서 기술된 바와 같이 표현될 수 있고, 상기에서 기술된 바와 같이 간단히 언어 인식 및 언어 번역에 사용될 수 있다.
본 발명의 다른 실시예에서, 워드, 구문, 숙어, 문장 및/또는 아이디어는 선-인코딩되고, 그런 후에, 연속적으로 상기에서 기술된 바와 같이 적절한 수치 시스템내의 수치로서 표현된다. 예를 들어, 자동 언어 번역 시스템을 향상시키기 위해서 이러한 시스템이 사용될 것이다. 이러한 실시예는 서치 엔진을 향상시키기 위해서 또한 사용될 수 있다. 하나 이상의 아이디어 또는 개념을 나타내는 텍스트의 언어 부분은 전달된 각 아이디어 또는 개념에 바탕을 두고 선-인코딩된다. 이러한 실시예는 경과가 일어나거나 일어나지 않는 특정 워드 또는 구문을 확인 및/또는 위치시키는 것과 반대로 개념적 서치를 위해서 제공된다.
본 발명의 또다른 실시예에서, 원 주소 정보는 예를 들어 가로 또는 세로로 균등하게 표현되어 선-인코딩되고, 예를 들어 베이스-60 수치 시스템와 같은 적절한 수치 시스템내에 연속적으로 표현된다. 이러한 시스템은 특히 항해 시스템이나 추적 시스템의 매칭 동작에 유용할 것이다.
본 발명의 또다른 실시예에서, 원 지문(fingerprint) 데이터는 다양한 파라미터, 등록 지점 또는 적절한 수치 시스 내의 대응 디지털로 연속적으로 표현되는 각 지문을 분류하는 데 적절한 다른 인식 표식으로 선-인코딩된다. 따라서, 각 지문은 따라서 필드내의 값으로 표현되거나 이와 달리, 각 지문은 필드 벡터로서 표현된다. 이 최종적인 데이터는 조합되어 다양한 목적(즉, 범죄 및 비범죄)을 위한 개별적으로 모인 지문에 바탕을 둔 이러한 정보 데이터베이스에 보관된다. 이것들은 범죄수사 과학자, 보안 직원, 환경 조사관 등에 의해서 수집된 지문을 포함한다. 본 발명은 바람직하게는 현존하는 지문 데이터베이스를 정화하고, 이 데이터베이스를 기준 데이터베이스에 통합하고, 유용한 새로운 지문 정보를 첨가하고, 지문 정보를 기준 데이터베이스 내의 정보에 매칭시키는 데에 적합하다.
선-인코딩하는 실시예에서 많은 경우에 있어서, 중요한 원 데이터는 중간 포맷으로 선-프로세서되어야 한다. 따라서, 본 발명이 서치 내용에 적용되도록, 서치된 정보는 선-인코딩되거나 선-프로세싱되어야 한다. 몇 가지 경우에 있어서, 이 프로세싱은 본 발명의 다른 실시예와 관련하여 상기에서 기술된 바와 같이 중요한 의미를 잃게 될 것이다.
대표적인 실시예(Exemplary Embodiments)
본 발명의 다양한 실시예는 많은 다른 응용예에서 유용한 데, 이중 일부는 상기에서 기술 및/또는 암시되었다. 예를 들어 상기에서 기술된 응용예에서, 관련 데이터 기록이 인식되고 이중 및 에러 데이터 기록이 제거되는 순화된 데이터베이스를 유도하도록 다수의 소스로부터 모여진 서열정보를 혼합하는 데 본 발명은 사용될 것이다. 예상된 바와 같이, 이것은 특히 예를 들어 사기를 치는 경우에 사용될 것이다. 특히, 신용 카드나 다른 형태의 소매 사기는 그들의 개인 정보에 있어 대부분은 그대로 두고 작은 부분만 변화시킨다. 예를 들어, 때때로 사회 미국 주민등록 번호내의 디지털이 바뀌어지거나 가명이 사용될 것이다. 그러나, 종종, 개인 주소, 생일, 어머니의 결혼전 이름 등과 같은 다른 정보는 동일하게 사용된다. 이것들은 인간의 분석에 의해서 구별하기 어렵지만, 이러한 사기는 실제로 본 발명에 의해서 확인되어진다.
다른 가능한 응용예는 목표된 개인 또는 주소 리스트를 컴파일하기 위한 텔레마켓팅; 동일한 개인 또는 가족에게 보내지는 수많은 카탈로그를 줄이기 위해서 또는 동일한 데이터베이스를 판매하는 다양한 판매자를 통합하기 위한 통신판매 카탈로그에서 사용되는 것을 포함한다. 또다른 가능한 응용예는 의학적 서치 또는 진단 분야가 있는데, 여기서 핵산 내의 아데닌(A), 구아닌(G), 시토신(C) 및 티민(T) 염기 서열이 식별될 수 있다. 국세청, 주 및 지방 정부와 같은 세금부과 기관에 의해서 사용되는 다른 응용예는 정확한 기록 및 과세부과 기초 정보를 조합하고 유지한다.
다른 실시예에서, 본 발명은 뒤쪽의 데이터에서 데이터베이스내로 통합된다기 보다 시작에서부터 데이터베이스의 완전성을 유지하기 위해서 아웃세트(outset)에서 특정 데이터베이스를 위해 사용된다. 이런 실시예에서, 어떤한 원 데이터(210)도 존재하지 않고 단지 새로운 데이터(240)만이 존재한다. 새로은 데이터(240)가 데이터베이스에 가산되기 전에, 새로운 데이터(240)가 추가적인 정보 또는 내용을 포함할지를 결정하기 위해서 순화된 데이터베이스(230)에 반하여 측정된다. 만약 그렇다면, 단지 그 새로운 정보 및 내용이 명백한 새로운 정보 또는 내용을 반영하기 위해서 순화된 데이터베이스(230)내에 존재하는 기록을 업데이트함으로써 데이터베이스(230)을 순화하도록 가산된다.
본 발명의 다른 실시예에서, 미국 체신부과 같은 우편 서비스, 에어본 익스플레스, 패더럴 익스플레스, 유나이티드 파셜 서비스와 같은 택배와 같은 국제 택배 서비스는 유효한 배달 주소지 리스트를 유지하기 위해서 본 발명을 사용한다. 배달되는 품목과 관련된 주소는 주소의 부정확성을 확인하기 위해서 주소의 기준 데이터베이스에 비교되어 체크된다. 부정확한 주소는 수정되거나(예를 들어, 변화된 주소에 대해서), 또는 송신자는 주소를 확인하기 위해서 교신할 것이다. 새로운 주소는 예를 들어 품목이 성공적으로 전달되는 것과 같이 유용하게 되었다면 기준 데이터베이스에 가해질 것이다. 또한, 어떤 송신자는 품목을 잘못된 주소에 전달하거나 부정확한 주소를 제공하는 경향이 있을 때, 확인되어야 한다. 적절하다면, 따라서 이러한 송신자에게 통지될 것이다.
본 발명을 사용하는 데 상기에서 기술된 바와 같이 DNA 서열과 같은 플래그먼트 매칭을 추가하여, 유전자 연구소(예를 들어, 제약 회사, 씨앗 회사, 동물 번식자 등)은 세트 내의 명백하고 실체적이고 객관적인 개별 특징을 나타내기 위해서 본 발명을 사용하고, 이러한 특징에 책임이 있는 개별 유전자 또는 유전자 서열을 구별하기 위해서 이 정보를 이용할 것이다.
또다른 실시예에서, 본 발명은 인터넷이나 네트워크 상에서 신호(패킷) 스위칭이나 데이터의 라우팅을 위해서 사용된다. 입력 패킷은 목적지 주소 및 시퀀스 정보가 검사되고, 적절한 차원의 적절한 출력 큐 내로 분류된다. 이 실시예에서, 본발명에서 숫자를 분류하는 능력은 종래의 시스템에서 명백한 장점을 제공한다. 다른 수치 시스템(현재 사용되는 종래의 수치 시스템에 반대됨)을 사용함으로써 확장된 주소 공간에 커플링된 것은 네트워크 어드레싱 및 전송 프로토콜의 향상된 방법을 제공한다.
또다른 실시예에서, 본 발명은 3차원 환경에서 목적물을 디스플레이하는 데 사용된다. 이러한 활동성은 각 목적물에 대한 광학적 특징을 결정하는 것 뿐만아니라 배경화면에서 어떤 목적물이 상대적으로 컴컴한지, 어떤 목적물이 화면에 디스플레이 할 것인지를 결정하도록 상당한 양의 분류(sorting)를 필요로 한다.
본 발명이 바람직한 실시예에서 기술되어 있으나, 다른 실시예 및 변화가 본 청구항의 범위내에서 가능하다. 예를 들어, 프로세서(300)는 다른 기수 및 다른 문자 배치를 사용하여 데이터를 포맷할 것이고 다양한 데이터 구조를 사용할 것이다. 데이터 구조는 다수의 필드를 나타내고, 응용례에 따라서 다양한 필드를 나타낼 것이다. 예를 들어, 신용상태에 적용될 경우에, 필드는 계좌 상태, 계좌 번호 및 적법 상태, 또한 계좌 소유자에 대한 정보를 포함할 것이다. 의료 진단의 경우에, 필드는 다양한 대립유전자 또는 조직 샘플에서 검출된 다른 유전적 특성을 포함할 것이다.

Claims (60)

  1. 삭제
  2. 삭제
  3. 삭제
  4. 삭제
  5. 삭제
  6. 삭제
  7. 삭제
  8. 삭제
  9. 삭제
  10. 삭제
  11. 삭제
  12. 삭제
  13. 삭제
  14. 삭제
  15. 삭제
  16. 삭제
  17. 삭제
  18. 삭제
  19. 삭제
  20. 삭제
  21. 삭제
  22. 삭제
  23. 삭제
  24. 삭제
  25. 삭제
  26. 삭제
  27. 삭제
  28. 삭제
  29. 삭제
  30. 삭제
  31. 삭제
  32. 삭제
  33. 삭제
  34. 삭제
  35. 삭제
  36. 삭제
  37. 삭제
  38. 삭제
  39. 삭제
  40. 삭제
  41. 삭제
  42. 삭제
  43. 삭제
  44. 삭제
  45. 컴퓨터로부터 액세스가능한 적어도 하나의 원(raw) 데이터베이스로부터의 정보를 상기 컴퓨터로부터 액세스가능한 순화된(distilled) 데이터베이스로 변환하기 위해 컴퓨터 상에서 동작하는 방법으로서,
    상기 원 데이터베이스는 다수의 원 기록들(records)을 포함하고, 상기 다수의 원 기록들 각각은 적어도 하나의 원 데이터 필드를 포함하고, 각각의 원 데이터 필드는 다수의 데이터 엘리먼트들을 포함하며,
    상기 방법은,
    원 기록의 상기 원 데이터 필드들 중 적어도 하나를 수치 값으로 변환하는 단계 - 상기 수치 값은 상기 원 데이터 필드의 다수의 데이터 엘리먼트들 각각을 수치 시스템(number system)의 디지트(digit)로 표현함으로써 생성되고, 상기 수치 시스템은 상기 데이터 필드의 상기 다수의 데이터 엘리먼트들 중 임의의 데이터 엘리먼트에 대한 가능한 값들의 범위에 기초하여 선택됨 -;
    적어도 상기 수치 값을 포함하며 상기 원 기록을 나타내는 벡터를 형성하는 단계; 및
    상기 순화된 데이터베이스로부터의 적어도 하나의 다른 벡터와 상기 벡터를 비교함으로써 상기 순화된 데이터베이스에 상기 원 기록을 나타내는 상기 벡터를 포함시킬지 여부를 결정하는 단계를 포함하는 방법.
  46. 제 45항에 있어서, 상기 순화된 데이터베이스에 원 기록을 나타내는 벡터를 포함시킬지 여부를 결정하는 상기 단계는 상기 벡터로부터의 수치 값을 상기 순화된 데이터베이스로부터의 적어도 하나의 다른 벡터로부터의 상응하는 수치 값과 수치적으로 비교하는 단계를 포함하는 것을 특징으로 하는 방법.
  47. 제 45항에 있어서, 상기 순화된 데이터베이스에 원 기록을 나타내는 벡터를 포함시킬지 여부를 결정하는 상기 단계는 상기 순화된 데이터베이스로부터의 적어도 하나의 다른 벡터와 상기 벡터간의 내적을 결정하는 단계를 포함하는 것을 특징으로 하는 방법.
  48. 제 45항에 있어서, 상기 순화된 데이터베이스에 원 기록을 나타내는 벡터를 포함시킬지 여부를 결정하는 상기 단계는 상기 순화된 데이터베이스로부터의 적어도 하나의 다른 벡터와 상기 벡터간의 패턴 인지 분석을 수행하는 단계를 포함하는 것을 특징으로 하는 방법.
  49. 제 45항에 있어서, 상기 순화된 데이터베이스에 원 기록을 나타내는 벡터를 포함시킬지 여부를 결정하는 상기 단계는 상기 순화된 데이터베이스로부터의 적어도 하나의 다른 벡터와 적어도 상기 벡터간의 외적을 결정하는 단계를 포함하는 것을 특징으로 하는 방법.
  50. 제 45항에 있어서, 상기 순화된 데이터베이스에 원 기록을 나타내는 벡터를 포함시킬지 여부를 결정하는 상기 단계는 상기 벡터의 벡터 크기를 결정하는 단계를 포함하는 것을 특징으로 하는 방법.
  51. 제 45항에 있어서, 상기 순화된 데이터베이스에 원 기록을 나타내는 벡터를 포함시킬지 여부를 결정하는 상기 단계는 상기 벡터의 벡터 방향을 결정하는 단계를 포함하는 것을 특징으로 하는 방법.
  52. 컴퓨터로부터 액세스가능한 적어도 하나의 원 데이터베이스로부터의 정보를 상기 컴퓨터로부터 액세스가능한 순화된 데이터베이스로 변환하기 위해 컴퓨터 상에서 동작하는 방법으로서,
    상기 원 데이터베이스는 다수의 원 기록들을 포함하고, 상기 다수의 원 기록들 각각은 적어도 하나의 원 데이터 필드를 포함하고, 각각의 원 데이터 필드는 다수의 데이터 엘리먼트들을 포함하며,
    상기 방법은,
    원 기록의 상기 적어도 하나의 원 데이터 필드 각각을 수치 값으로 변환하는 단계 - 상기 각각의 수치 값은 상기 원 데이터 필드의 다수의 데이터 엘리먼트들 각각을 수치 시스템의 디지트로 표현함으로써 생성되고, 상기 수치 시스템은 상기 데이터 필드의 상기 다수의 데이터 엘리먼트들 중 임의의 데이터 엘리먼트에 대한 가능한 값들의 범위에 기초하여 선택됨 -;
    상기 원 기록을 나타내며, 상기 원 기록의 적어도 하나의 원 데이터 필드 각각에 대해 생성되는 수치 값들을 포함하는 벡터를 형성하는 단계; 및
    상기 순화된 데이터베이스로부터의 적어도 하나의 다른 벡터와 상기 벡터를 비교함으로써 상기 순화된 데이터베이스에 상기 원 기록을 나타내는 상기 벡터를 포함시킬지 여부를 결정하는 단계를 포함하는 방법.
  53. 컴퓨터로부터 액세스가능한 적어도 하나의 원 데이터베이스로부터의 정보를 상기 컴퓨터로부터 액세스가능한 순화된 데이터베이스로 변환하기 위해 컴퓨터 상에서 동작하는 방법으로서,
    상기 원 데이터베이스는 다수의 원 기록들을 포함하고, 상기 다수의 원 기록들은 적어도 하나의 원 데이터 필드를 포함하고, 각각의 원 데이터 필드는 다수의 데이터 엘리먼트들을 포함하고, 상기 순화된 데이터베이스는 적어도 하나의 필드 벡터를 포함하며, 상기 적어도 하나의 필드 벡터는 다수의 수치 값들을 포함하고,
    상기 방법은,
    적어도 하나의 원 데이터 필드를, 상기 원 데이터 필드의 다수의 데이터 엘리먼트들 각각을 수치 값의 디지트로 나타냄으로써, 수치 값으로 변환하는 단계 - 상기 수치 값은 적어도 하나의 원 데이터 필드의 상기 다수의 데이터 엘리먼트들 중 임의의 데이터 엘리먼트에 대한 가능한 값들의 범위에 기초하여 선택되는 수치 시스템의 표현을 가짐 -; 및
    상기 적어도 하나의 필드 벡터의 상기 다수의 수치 값들 중 적어도 하나와 상기 수치 값을 수치적으로 비교함으로써 상기 적어도 하나의 필드 벡터에 적어도 하나의 원 데이터 필드에 상응하는 수치 값을 포함시킬지 여부를 결정하는 단계를 포함하는 방법.
  54. 제 53항에 있어서, 상기 적어도 하나의 필드 벡터에 적어도 하나의 원 데이터 필드에 상응하는 수치 값을 포함시킬지 여부를 결정하는 상기 단계는 상기 적어도 하나의 필드 벡터의 다수의 수치 값들을 수치에 따른 순서로 분류하는 단계를 포함하는 것을 특징으로 하는 방법.
  55. 컴퓨터로부터 액세스가능한 적어도 하나의 원 데이터베이스로부터의 정보를 상기 컴퓨터로부터 액세스가능한 순화된 데이터베이스로 변환하기 위해 컴퓨터 상에서 동작하는 방법으로서,
    상기 원 데이터베이스는 다수의 원 기록들을 포함하고, 상기 다수의 원 기록들 각각은 원 데이터 필드를 포함하고, 각각의 원 데이터 필드는 다수의 데이터 엘리먼트들을 포함하며, 상기 순화된 데이터베이스는 다수의 수치 값들을 포함하고,
    상기 방법은,
    상기 원 데이터 필드의 다수의 데이터 엘리먼트들 각각에 수치 시스템의 디지트를 할당하는 단계 - 상기 수치 시스템은 상기 데이터 필드의 데이터 엘리먼트의 가능한 값들의 범위에 기초하여 선택됨 -;
    상기 원 데이터 필드를 나타내는 상기 수치 시스템의 수치 값을 상기 디지트로부터 형성하는 단계; 및
    상기 순화된 데이터베이스로부터의 다수의 수치 값들 중 적어도 하나와 적어도 하나의 상기 수치 값을 비교함으로써 상기 순화된 데이터베이스에 상기 원 기록의 적어도 일부를 포함시킬지 여부를 결정하는 단계를 포함하는 방법.
  56. 제 55항에 있어서, 상기 수치 시스템은 상기 데이터 필드의 데이터 엘리먼트의 여러 가능한 값들과 적어도 동일한 기수(radix)를 갖는 것을 특징으로 하는 방법.
  57. 제 55항에 있어서, 상기 다수의 데이터 엘리먼트들은 적어도 하나의 영숫자 문자를 포함하는 것을 특징으로 하는 방법.
  58. 제 55항에 있어서,
    상기 원 데이터 필드는 화학적 정보를 포함하고,
    상기 수치 시스템은 상기 화학적 정보에 포함된 다수의 화학적 구조와 적어도 동일한 기수를 갖는 것을 특징으로 하는 방법.
  59. 제 55항에 있어서, 수치 값을 디지트로부터 형성하는 상기 단계는 상기 수치 시스템으로 표현된 수치 값이 상기 원 데이터 필드로서 인지가능하도록 상기 수치 값을 디지트로 형성하는 단계를 포함하는 것을 특징으로 하는 방법.
  60. 제 56항에 있어서, 상기 기수는 컴퓨터와 연관된 데이터 워드로 표현될 수 있는 데이터 엘리먼트들의 수를 최대화시키는 것을 특징으로 하는 방법.
KR10-2002-7000871A 1999-07-20 2000-07-14 데이터 조직을 위한 방법 및 시스템 KR100522557B1 (ko)

Applications Claiming Priority (6)

Application Number Priority Date Filing Date Title
US09/357,301 US6424969B1 (en) 1999-07-20 1999-07-20 System and method for organizing data
US09/357,301 1999-07-20
US09/412,970 1999-10-06
US09/412,970 US6457006B1 (en) 1999-07-20 1999-10-06 System and method for organizing data
US09/617,047 US6542896B1 (en) 1999-07-20 2000-07-14 System and method for organizing data
US09/617,047 2000-07-14

Publications (2)

Publication Number Publication Date
KR20020038697A KR20020038697A (ko) 2002-05-23
KR100522557B1 true KR100522557B1 (ko) 2005-10-20

Family

ID=27408297

Family Applications (1)

Application Number Title Priority Date Filing Date
KR10-2002-7000871A KR100522557B1 (ko) 1999-07-20 2000-07-14 데이터 조직을 위한 방법 및 시스템

Country Status (10)

Country Link
US (1) US6542896B1 (ko)
EP (1) EP1208474A2 (ko)
JP (3) JP2003529814A (ko)
KR (1) KR100522557B1 (ko)
CN (1) CN1221911C (ko)
AU (2) AU779269B2 (ko)
CA (1) CA2379817C (ko)
IL (1) IL147736A0 (ko)
MX (1) MXPA02000660A (ko)
WO (1) WO2001006414A2 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2024069327A1 (en) * 2022-09-28 2024-04-04 Creactives S.P.A. System and method for the identification of duplicate records, relating to identical or equivalent materials, in a master file of industrial materials

Families Citing this family (63)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6424969B1 (en) 1999-07-20 2002-07-23 Inmentia, Inc. System and method for organizing data
US6691098B1 (en) * 2000-02-08 2004-02-10 International Business Machines Corporation System and method for explaining exceptions in data
US6944164B2 (en) * 2000-02-29 2005-09-13 International Business Machines Corporation Method and apparatus for hardware forwarding of LAN frames over ATM networks
US20050154664A1 (en) * 2000-08-22 2005-07-14 Guy Keith A. Credit and financial information and management system
CA2323883C (en) * 2000-10-19 2016-02-16 Patrick Ryan Morin Method and device for classifying internet objects and objects stored oncomputer-readable media
US6944619B2 (en) * 2001-04-12 2005-09-13 Primentia, Inc. System and method for organizing data
US7552385B2 (en) * 2001-05-04 2009-06-23 International Business Machines Coporation Efficient storage mechanism for representing term occurrence in unstructured text documents
US7058643B2 (en) * 2002-05-22 2006-06-06 Agilent Technologies, Inc. System, tools and methods to facilitate identification and organization of new information based on context of user's existing information
US7606819B2 (en) 2001-10-15 2009-10-20 Maya-Systems Inc. Multi-dimensional locating system and method
US7680817B2 (en) * 2001-10-15 2010-03-16 Maya-Systems Inc. Multi-dimensional locating system and method
US8200622B2 (en) 2002-05-31 2012-06-12 Informatica Corporation System and method for integrating, managing and coordinating customer activities
US20070244981A1 (en) * 2002-06-27 2007-10-18 Malden Matthew S Disseminating information about security threats
US8423374B2 (en) 2002-06-27 2013-04-16 Siebel Systems, Inc. Method and system for processing intelligence information
US6961721B2 (en) * 2002-06-28 2005-11-01 Microsoft Corporation Detecting duplicate records in database
KR100463596B1 (ko) * 2002-10-02 2004-12-29 학교법인대우학원 생물정보학에서의 데이터베이스 처리 방법
US20080058106A1 (en) 2002-10-07 2008-03-06 Maya-Systems Inc. Multi-dimensional locating game system and method
US8166033B2 (en) * 2003-02-27 2012-04-24 Parity Computing, Inc. System and method for matching and assembling records
US7516126B2 (en) * 2003-06-30 2009-04-07 Intel Corporation Method and apparatus to perform a multi-field matching search
CA2543159C (en) * 2003-10-21 2010-08-10 United Parcel Service Of America, Inc. Data structure and management system for a superset of relational databases
US20050210016A1 (en) * 2004-03-18 2005-09-22 Zenodata Corporation Confidence-based conversion of language to data systems and methods
JP2008529168A (ja) 2005-01-28 2008-07-31 ユナイテッド パーセル サービス オブ アメリカ インコーポレイテッド 地域内の各サービス地点の住所データの登録および維持
US20060271582A1 (en) * 2005-05-25 2006-11-30 Caterpillar Inc. System and method for analyzing raw data files
GB2428853A (en) * 2005-07-22 2007-02-07 Novauris Technologies Ltd Speech recognition application specific dictionary
US7496588B2 (en) * 2005-06-27 2009-02-24 Siperian, Inc. Method and apparatus for data integration and management
US8150803B2 (en) * 2006-01-03 2012-04-03 Informatica Corporation Relationship data management
US20070214179A1 (en) * 2006-03-10 2007-09-13 Khanh Hoang Searching, filtering, creating, displaying, and managing entity relationships across multiple data hierarchies through a user interface
US7523121B2 (en) * 2006-01-03 2009-04-21 Siperian, Inc. Relationship data management
US20080059486A1 (en) * 2006-08-24 2008-03-06 Derek Edwin Pappas Intelligent data search engine
US8271477B2 (en) * 2007-07-20 2012-09-18 Informatica Corporation Methods and systems for accessing data
US8601392B2 (en) 2007-08-22 2013-12-03 9224-5489 Quebec Inc. Timeline for presenting information
US8069404B2 (en) 2007-08-22 2011-11-29 Maya-Systems Inc. Method of managing expected documents and system providing same
US7987161B2 (en) * 2007-08-23 2011-07-26 Thomson Reuters (Markets) Llc System and method for data compression using compression hardware
US8140961B2 (en) * 2007-11-21 2012-03-20 Hewlett-Packard Development Company, L.P. Automated re-ordering of columns for alignment trap reduction
US8739050B2 (en) 2008-03-07 2014-05-27 9224-5489 Quebec Inc. Documents discrimination system and method thereof
US8166071B1 (en) 2008-05-22 2012-04-24 Informatica Corporation System and method for efficiently securing enterprise data resources
US8327419B1 (en) 2008-05-22 2012-12-04 Informatica Corporation System and method for efficiently securing enterprise data resources
US8607155B2 (en) 2008-09-12 2013-12-10 9224-5489 Quebec Inc. Method of managing groups of arrays of documents
US20110288975A1 (en) * 2010-05-21 2011-11-24 Microsoft Corporation Scalable billing with de-duplication and sequencing
EP2420942A1 (de) * 2010-08-20 2012-02-22 Florian Goette Computerimplementiertes Verfahren zur Verarbeitung von Daten auf einer über das Internet zugänglichen Datenverarbeitungsanlage
US9189129B2 (en) 2011-02-01 2015-11-17 9224-5489 Quebec Inc. Non-homogeneous objects magnification and reduction
US10540646B2 (en) * 2011-06-22 2020-01-21 Jpmorgan Chase Bank, N.A. Itemized receipts and digital payments system and methods
CN102841906B (zh) * 2011-06-24 2016-12-07 阿里巴巴集团控股有限公司 一种整合的交易处理系统及交易处理方法
CA2790799C (en) 2011-09-25 2023-03-21 Mathieu Audet Method and apparatus of navigating information element axes
WO2013128333A1 (en) * 2012-03-01 2013-09-06 International Business Machines Corporation Finding a best matching string among a set of stings
US9519693B2 (en) 2012-06-11 2016-12-13 9224-5489 Quebec Inc. Method and apparatus for displaying data element axes
US9646080B2 (en) 2012-06-12 2017-05-09 9224-5489 Quebec Inc. Multi-functions axis-based interface
US9449056B1 (en) 2012-11-01 2016-09-20 Intuit Inc. Method and system for creating and updating an entity name alias table
CN105103162A (zh) * 2013-02-28 2015-11-25 惠普发展公司,有限责任合伙企业 用于批量序列化的标识符
US9286332B1 (en) 2013-08-29 2016-03-15 Intuit Inc. Method and system for identifying entities and obtaining financial profile data for the entities using de-duplicated data from two or more types of financial management systems
US10026114B2 (en) * 2014-01-10 2018-07-17 Betterdoctor, Inc. System for clustering and aggregating data from multiple sources
US10380253B2 (en) * 2014-03-04 2019-08-13 International Business Machines Corporation Natural language processing with dynamic pipelines
GB2524074A (en) 2014-03-14 2015-09-16 Ibm Processing data sets in a big data repository
US9773031B1 (en) * 2016-04-18 2017-09-26 Color Genomics, Inc. Duplication and deletion detection using transformation processing of depth vectors
US10733476B1 (en) 2015-04-20 2020-08-04 Color Genomics, Inc. Communication generation using sparse indicators and sensor data
US10318703B2 (en) 2016-01-19 2019-06-11 Ford Motor Company Maximally standard automatic completion using a multi-valued decision diagram
CA3007166C (en) 2017-06-05 2024-04-30 9224-5489 Quebec Inc. Method and apparatus of aligning information element axes
CN107679871B (zh) * 2017-09-26 2020-03-17 平安科技(深圳)有限公司 名单管理方法、装置、系统以及计算机可读存储介质
CN108509505B (zh) * 2018-03-05 2022-04-12 昆明理工大学 一种基于分区双数组Trie的字符串检索方法及装置
JP7037048B2 (ja) * 2018-03-07 2022-03-16 富士通株式会社 探索プログラムおよび探索方法
US10761757B2 (en) * 2018-06-30 2020-09-01 Intel Corporation Apparatus and method for coherent, accelerated conversion between data representations
US11093462B1 (en) 2018-08-29 2021-08-17 Intuit Inc. Method and system for identifying account duplication in data management systems
JP7112003B2 (ja) 2019-01-11 2022-08-03 富士通株式会社 探索制御プログラム、探索制御方法および探索制御装置
EP4002145B1 (de) * 2020-11-11 2024-06-19 Cortex Innovations GmbH Listenbasierte datenspeicherung zur datensuche

Family Cites Families (39)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3775753A (en) * 1971-01-04 1973-11-27 Texas Instruments Inc Vector order computing system
FR111574A (ko) * 1973-12-13 1900-01-01
US4281391A (en) * 1979-01-15 1981-07-28 Leland Stanford Junior University Number theoretic processor
US4414629A (en) * 1979-04-02 1983-11-08 Waite John H Method and apparatus for making correlations and predictions using a finite field of data of unorganized and/or partially structured elements
CA1280215C (en) * 1987-09-28 1991-02-12 Eddy Lee Multilingual ordered data retrieval system
US5341457A (en) * 1988-12-30 1994-08-23 At&T Bell Laboratories Perceptual coding of audio signals
US5226158A (en) * 1989-05-24 1993-07-06 International Business Machines Corporation Method and apparatus for maintaining referential integrity within a relational database
CA2012139C (en) 1990-03-08 2004-01-13 Michael P. Teter Apparatus and method for predicting physical and chemical properties of materials
JPH0496108A (ja) * 1990-08-08 1992-03-27 Murata Mach Ltd Ncプログラム転送方法
US5287494A (en) * 1990-10-18 1994-02-15 International Business Machines Corporation Sorting/merging tree for determining a next tournament champion in each cycle by simultaneously comparing records in a path of the previous tournament champion
JPH0562004A (ja) * 1991-06-06 1993-03-12 Nitto Denko Corp バーコードシステム
JP2913921B2 (ja) * 1991-09-03 1999-06-28 三菱電機株式会社 データ転送方法
JP3202074B2 (ja) * 1992-10-21 2001-08-27 富士通株式会社 並列ソート方式
US5533051A (en) * 1993-03-12 1996-07-02 The James Group Method for data compression
US5508538A (en) 1993-04-19 1996-04-16 California Institute Of Technology Signal processing applications of massively parallel charge domain computing devices
US5544352A (en) 1993-06-14 1996-08-06 Libertech, Inc. Method and apparatus for indexing, searching and displaying data
JP3185167B2 (ja) * 1993-12-24 2001-07-09 株式会社日立製作所 データ加工システム
US5499359A (en) * 1994-01-18 1996-03-12 Borland International, Inc. Methods for improved referential integrity in a relational database management system
US5471612A (en) * 1994-03-03 1995-11-28 Borland International, Inc. Electronic spreadsheet system and methods for compiling a formula stored in a spreadsheet into native machine code for execution by a floating-point unit upon spreadsheet recalculation
WO1995030981A1 (en) * 1994-05-05 1995-11-16 Hutson William H A method and system for real-time information analysis of textual material
AUPM616994A0 (en) * 1994-06-09 1994-07-07 Reilly, Chris Security system for eft using magnetic strip cards
JP3457061B2 (ja) * 1994-06-28 2003-10-14 富士通株式会社 属性混在文字列のソート装置及び属性混在文字列のソート方法
US5603022A (en) 1994-09-23 1997-02-11 The Regents Of The University Of Michigan Data compression system and method representing records as differences between sorted domain ordinals representing field values
US5628004A (en) * 1994-11-04 1997-05-06 Optima Direct, Inc. System for managing database of communication of recipients
JP3152868B2 (ja) * 1994-11-16 2001-04-03 富士通株式会社 検索装置および辞書/テキスト検索方法
US6029195A (en) 1994-11-29 2000-02-22 Herz; Frederick S. M. System for customized electronic identification of desirable objects
JP3201945B2 (ja) * 1995-01-10 2001-08-27 インターナショナル・ビジネス・マシーンズ・コーポレーション データベースのテーブルを比較する方法
JP3734051B2 (ja) 1995-09-28 2006-01-11 日立ソフトウエアエンジニアリング株式会社 ネットワーク管理システム
US5809501A (en) * 1996-01-30 1998-09-15 Telefonaktiebolaget L M Ericsson (Publ) Method and system of database management in an asynchronous transfer mode (ATM) environment
US5668989A (en) * 1996-09-18 1997-09-16 Mao; Decao Two-digit hybrid radix year numbers for year 2000 and beyond
US6026397A (en) * 1996-05-22 2000-02-15 Electronic Data Systems Corporation Data analysis system and method
US5924091A (en) * 1996-08-28 1999-07-13 Sybase, Inc. Database system with improved methods for radix sorting
US6253188B1 (en) * 1996-09-20 2001-06-26 Thomson Newspapers, Inc. Automated interactive classified ad system for the internet
US5978788A (en) 1997-04-14 1999-11-02 International Business Machines Corporation System and method for generating multi-representations of a data cube
US5987456A (en) * 1997-10-28 1999-11-16 University Of Masschusetts Image retrieval by syntactic characterization of appearance
US6185567B1 (en) * 1998-05-29 2001-02-06 The Trustees Of The University Of Pennsylvania Authenticated access to internet based research and data services
US6196466B1 (en) 1998-06-09 2001-03-06 Symbol Technologies, Inc. Data compression method using multiple base number systems
US6256664B1 (en) 1998-09-01 2001-07-03 Bigfix, Inc. Method and apparatus for computed relevance messaging
US6249784B1 (en) * 1999-05-19 2001-06-19 Nanogen, Inc. System and method for searching and processing databases comprising named annotated text strings

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2024069327A1 (en) * 2022-09-28 2024-04-04 Creactives S.P.A. System and method for the identification of duplicate records, relating to identical or equivalent materials, in a master file of industrial materials

Also Published As

Publication number Publication date
IL147736A0 (en) 2002-08-14
JP2012212437A (ja) 2012-11-01
CN1221911C (zh) 2005-10-05
MXPA02000660A (es) 2003-07-21
WO2001006414A8 (en) 2001-04-05
JP2003529814A (ja) 2003-10-07
AU6346100A (en) 2001-02-05
CA2379817A1 (en) 2001-01-25
JP2006172452A (ja) 2006-06-29
KR20020038697A (ko) 2002-05-23
EP1208474A2 (en) 2002-05-29
CA2379817C (en) 2007-12-11
AU2005200790A1 (en) 2005-03-17
US6542896B1 (en) 2003-04-01
WO2001006414A3 (en) 2003-08-07
WO2001006414A2 (en) 2001-01-25
AU779269B2 (en) 2005-01-13
CN1461444A (zh) 2003-12-10

Similar Documents

Publication Publication Date Title
KR100522557B1 (ko) 데이터 조직을 위한 방법 및 시스템
RU2268488C2 (ru) Способ и система для организации данных
Kopylova et al. SortMeRNA: fast and accurate filtering of ribosomal RNAs in metatranscriptomic data
US6018735A (en) Non-literal textual search using fuzzy finite-state linear non-deterministic automata
US7769778B2 (en) Systems and methods for validating an address
US5606690A (en) Non-literal textual search using fuzzy finite non-deterministic automata
US20060179051A1 (en) Methods and apparatus for steering the analyses of collections of documents
US20040102958A1 (en) Computer-based system and method for generating, classifying, searching, and analyzing standardized text templates and deviations from standardized text templates
US20030097375A1 (en) System for information discovery
CN104731976A (zh) 数据表中隐私数据的发现与分类方法
EP1043666A2 (en) A system for identification of selectively related database records
US20020132258A1 (en) Knowledge database and method for constructing knowledge database
WO2009005492A1 (en) Systems and methods for validating an address
Shrestha et al. Schema matching and data integration with consistent naming on protein crystallization screens
CN112506930B (zh) 一种基于机器学习技术的数据洞察系统
US6898530B1 (en) Method and apparatus for extracting attributes from sequence strings and biopolymer material
EP1116137A1 (en) Database, and methods of data storage and retrieval
US8516004B2 (en) Method for processing K node count fields using an intensity variable
Kanavos et al. Apache spark implementations for string patterns in dna sequences
Dijk Invoice Matching with Level of Confidence
Mendis et al. eGaz: Enhanced Search Engine for Gazette Publications

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20110920

Year of fee payment: 7

LAPS Lapse due to unpaid annual fee