JP6549786B2 - Data cleansing system, method and program - Google Patents
Data cleansing system, method and program Download PDFInfo
- Publication number
- JP6549786B2 JP6549786B2 JP2018510205A JP2018510205A JP6549786B2 JP 6549786 B2 JP6549786 B2 JP 6549786B2 JP 2018510205 A JP2018510205 A JP 2018510205A JP 2018510205 A JP2018510205 A JP 2018510205A JP 6549786 B2 JP6549786 B2 JP 6549786B2
- Authority
- JP
- Japan
- Prior art keywords
- ucc
- data
- data table
- column
- record
- Prior art date
- Legal status (The legal status 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 status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Description
本発明は、データクレンジングに関する。 The present invention relates to data cleansing.
企業内に散在するデータを統合し、業務分析に活用するソリューションが注目されている。その実現のためには、トランザクションデータに含まれる属性が過不足なく格納されているマスタデータが必要である。マスタデータは、それが表現するエンティティのインスタンスとレコードとが1対1に対応付けられている必要がある。すなわち、各レコードは、他のレコードに対して一意に識別可能である必要がある。 Solutions that integrate data scattered in a company and use it for business analysis are attracting attention. In order to realize that, it is necessary to have master data in which attributes included in transaction data are stored without excess or deficiency. The master data needs to have a one-to-one correspondence between the instance of the entity it represents and the record. That is, each record needs to be uniquely identifiable with respect to other records.
しかし、多くの企業のマスタデータは、活用に適さない状態であることが多い。すなわち、多くのマスタデータが、人間によって入力されたデータを基に作成されているため、入力ミスや運用上の不備などの様々な原因により、レコードの一意性を失っており、重複レコードを含んでいることが多い。それ以外にも、企業合併等で複数のマスタデータを統合する際に、重複レコードが問題となることもある。 However, master data of many companies is often not suitable for utilization. That is, since many master data are created based on data input by humans, the uniqueness of records is lost due to various causes such as input errors and operational defects, and duplicate records are included. Often Other than that, duplicate records may become a problem when integrating multiple master data in a business merger or the like.
なお、レコードの一意性とは、マスタデータのエンティティに関する意味論上の一意性であることに注意する。例えば、従業員マスタや顧客マスタなど、人物をエンティティの単位とするマスタデータの場合、個人名や住所表記などのデータには、表記の揺れ、別称、又は省略など、表現としての曖昧さが生じ得る。また、いわゆる半角文字と全角文字の区別など、文字符号化の多様性による曖昧さも生じ得る。または、全くの同姓同名であっても別人ということも生じ得る。したがって、人物をエンティティの単位とするマスタデータでは、このような表記上の曖昧さが存在することを前提として(可能ならば一定のルールに従って表記を統一した上で)、各レコードがただ一人の人物に対応しており、同一人物が複数のレコードに存在しないことが重要である。 It should be noted that the uniqueness of a record is the semantic uniqueness of an entity of master data. For example, in the case of master data in which a person is a unit of an entity, such as an employee master or a customer master, data such as personal names and address notations have ambiguities as expressions such as fluctuation of names, alias or omission. obtain. In addition, ambiguity may also occur due to variations in character encoding, such as so-called distinction between half-width characters and full-width characters. Or even if they have the same first and last name, they may be different people. Therefore, in master data in which a person is a unit of entity, it is assumed that there is only one record, assuming that such a typographical ambiguity exists (possibly by unifying the notation according to certain rules if possible). It is important that it corresponds to a person and that the same person does not exist in multiple records.
マスタデータにおける重複レコードとは、表記上の異同に関わらず、そのレコードの示すエンティティが重複していることをいう。企業内のデータを活用するためには、マスタデータに含まれ得るこのような重複レコードを、人手で調査及び修正する作業が必要である。この作業は、一般にデータクレンジングと呼ばれる。 The duplicate record in the master data means that the entity indicated by the record is duplicated regardless of the notation difference. In order to utilize in-house data, it is necessary to manually search and correct such duplicate records that may be included in the master data. This task is generally called data cleansing.
データクレンジングを支援する技術として、類似するレコードを検出する技術が知られている。重複レコードは、表記上の曖昧さを含むため、単純な文字列マッチングで検出できるとは限らない。しかし、レコード間の表記上の差異が少ないもの、すなわち、類似するレコード同士は、重複レコードである可能性が高い。特許文献1には、データテーブルの各レコードから特徴ベクトルを生成して相互に比較することにより、類似するレコードを検出する技術が開示されている。
A technique for detecting similar records is known as a technique for supporting data cleansing. Duplicated records can not always be detected by simple string matching because they contain a typographical ambiguity. However, it is highly possible that the records having small notational differences between records, that is, similar records are duplicate records.
データテーブルにおいて、レコードを一意に識別可能とするカラムは、「キー」と呼ばれる。キーは人工的に作成することもあるが、カラムに格納されている値(「カラム値」という)が全て異なる場合(つまり一意性が保証されている場合)、当該カラムは、キーとして採用可能である。また、1つのカラムでは一意性を保証できなくとも、複数のカラムの組み合わせが一意性を保証するならば、当該複数のカラムの組み合わせは、複合キーとして採用可能である。このような、レコードを一意に識別可能とするカラムの組み合わせをUCC(Unique Column Combination)と呼ぶ。特許文献2には、UCCを検出する技術が開示されている。 In the data table, a column that makes a record uniquely identifiable is called a "key". The key may be artificially created, but if all the values stored in the column (referred to as "column value") are different (that is, uniqueness is guaranteed), the column can be adopted as the key It is. In addition, even if uniqueness can not be guaranteed in one column, if the combination of multiple columns guarantees uniqueness, the combination of multiple columns can be adopted as a composite key. Such a combination of columns that allows a record to be uniquely identified is called UCC (Unique Column Combination). Patent Document 2 discloses a technique for detecting UCC.
マスタデータのデータクレンジングを支援するために上述の類似するレコードを検出する技術を採用したとしても、或るレコードを重複レコードと見做して削除すべきか、それともそのレコード自体は残し、表記揺れ等を修正すべきかなどの最終的な判断は、データクレンジングの担当者が行う。データクレンジングの担当者は、目視で重複レコードを発見し、レコードを削除すべきか、それとも表記を修正すべきかなどを判断する必要がある。しかしながら、企業内マスタデータが、100個を超えるような多数のカラムで構成されていたり、多くのカラムが用途不明であったりすることも多い。このような場合、データクレンジングの担当者の作業負担は、非常に大きい。 Even if the above-mentioned technique for detecting similar records is adopted in order to support data cleansing of master data, should a certain record be regarded as a duplicate record and be deleted, or the record itself be left, writing fluctuation etc. The final decision on whether or not to make corrections is made by the person responsible for data cleansing. Data cleansing personnel need to visually detect duplicate records and decide whether to delete records or correct the notation. However, in-house master data often consists of a large number of columns, such as more than 100, or many columns have unknown applications. In such a case, the workload of the person in charge of data cleansing is very large.
また、表記揺れの統一や全角文字と半角文字との統一など、データテーブルを修正した結果、レコードの一意性を保証していたキー(カラム)が、一意性を保証しなくなることが発生し得る。特に、レコードの一意性を保証している複合キーが、データテーブルの修正によって一意性を保証しなくなった場合、データクレンジング担当者が、その複合キーの一意性の喪失を見落としてしまう可能性が高い。 In addition, as a result of correcting the data table, such as unification of writing fluctuation and unification of full-width characters and half-width characters, it may occur that keys (columns) that guarantee uniqueness of records no longer guarantee uniqueness. . In particular, if a composite key that guarantees uniqueness of a record no longer guarantees uniqueness due to the modification of the data table, it is possible that the data cleanser may overlook the loss of uniqueness of the composite key. high.
すなわち、従来技術では、データクレンジング担当者の作業負担が大きく、また、当該担当者の修正作業によって生じ得るキー又は複合キーの喪失が見落とされてしまうおそれがある。そこで本発明の目的は、データクレンジングの作業効率及び/又は作業精度を向上させることにある。 That is, in the prior art, the work load of the data cleansing person is heavy, and the loss of the key or the composite key that may occur due to the correction work of the person in charge may be overlooked. Therefore, an object of the present invention is to improve the working efficiency and / or working accuracy of data cleansing.
一実施例に係るデータクレンジングシステムは、プロセッサ及びメモリを有する。当該プロセッサは、メモリからデータテーブルを読み出し、データテーブルのレコード間の類似度を算出し、前記データテーブルの各レコードを一意に識別可能とするカラムの組であるUCC(Unique Column Combination)を検出する。 A data cleansing system according to one embodiment comprises a processor and a memory. The processor reads the data table from the memory, calculates the degree of similarity between the records of the data table, and detects a UCC (Unique Column Combination) which is a set of columns that enables each record of the data table to be uniquely identified. .
本発明によれば、データクレンジングの作業効率及び/又は作業精度を向上させることができる。 According to the present invention, the working efficiency and / or working accuracy of data cleansing can be improved.
以下、実施例を説明する。以下の説明では、「xxxテーブル」又は「xxxリスト」の表現にて情報を説明することがあるが、情報は、どのようなデータ構造で表現されていてもよい。すなわち、情報がデータ構造に依存しないことを示すために、「xxxテーブル」又は「xxxリスト」を「xxx情報」と呼ぶことができる。さらに、各情報の内容を説明する際に、「識別情報」、「識別子」、「名」、「名前」、「ID」という表現を用いるが、これらについてはお互いに置換が可能である。 Examples will be described below. In the following description, information may be described by the expression “xxx table” or “xxx list”, but the information may be expressed by any data structure. That is, "xxx table" or "xxx list" can be called "xxx information" to indicate that the information does not depend on the data structure. Furthermore, when describing the contents of each information, the expressions “identification information”, “identifier”, “name”, “name”, “ID” are used, but they can be mutually replaced.
また、以下の説明では、「プログラム」を主語として処理を説明する場合があるが、プログラムは、プロセッサ(例えばCPU(Central Processing Unit))によって実行されることで、定められた処理を、適宜に記憶資源(例えばメモリ)及び通信インターフェイスデバイスのうちの少なくとも1つを用いながら行うため、処理の主語が、プロセッサ、そのプロセッサを有する装置とされてもよい。プロセッサが行う処理の一部又は全部が、ハードウェア回路で行われてもよい。コンピュータプログラムは、プログラムソースからインストールされてよい。プログラムソースは、プログラム配布サーバ又は記憶メディア(例えば可搬型の記憶メディア)であってもよい。 Further, in the following description, processing may be described with “program” as the subject, but the program is executed by a processor (for example, a CPU (Central Processing Unit)) to appropriately determine the processing defined. The subject of the processing may be a processor, or an apparatus having the processor, in order to use at least one of a storage resource (for example, a memory) and a communication interface device. Some or all of the processing performed by the processor may be performed by hardware circuitry. The computer program may be installed from a program source. The program source may be a program distribution server or storage medium (eg, portable storage medium).
また、以下の説明では、同種の要素を区別して説明する場合には、「PLI303A」、「PLI303B」のように、参照符号を使用し、同種の要素を区別しないで説明する場合には、「PLI303」のように参照符号のうちの共通番号のみを使用することがある。
Further, in the following description, when different elements of the same type are described separately, like “
図1は、データクレンジングシステム100の物理的な構成例を示す。
FIG. 1 shows a physical configuration example of the
データクレンジングシステム100は、計算機の一例であり、プロセッサ101、メモリ102、ストレージ103、ネットワークインタフェース104及びコンソール105を有する。データクレンジングシステム100の例は、パーソナルコンピュータ、ラックマウントサーバ又はブレードサーバ等である。プロセッサ101は、メモリ102、ストレージ103、ネットワークインタフェース104及びコンソール105と、双方向通信可能に接続されている。データクレンジングシステム100は、これらの構成要素の一部のみを有しても良いし、複数の同じ構成要素を有してもよい。
The
プロセッサ101は、CPU(Central Processing Unit)等のハードウェアによる演算装置であり、メモリ102からプログラムを読み出して実行する。
The
メモリ102は、揮発性の半導体メモリから構成され、プログラムやデータなどを保持する。メモリ102の例は、DRAM(Dynamic Random Access Memory)、MRAM(Magnetoresistive Random Access Memory)、FeRAM(Ferroelectric Random Access Memory)である。
The
ストレージ103は、不揮発性の記憶装置から構成され、プログラムやデータなどを保持する。ストレージ103の例は、HDD(Hard Disk Drive)、SSD(Solid State Drive)、又はこれらの組み合わせなどである。
The
ネットワークインタフェース104は、例えば、NIC(Network Interface Controller)等の通信デバイスで構成され、ネットワーク106と接続される。ネットワークインタフェース104は、ネットワーク106を介して他の装置と通信するためのプロトコルを制御する。ネットワーク106の例は、イーサネット(登録商標)、IEEE(Institute of Electrical and Electronics Engineers)802.11規格に基づく無線ネットワーク、SONET/SDH(Synchronous Optical Network/Synchronous Digital Hierarchy)規格に基づく広域ネットワーク、又は、これら複数のネットワーク技術を組み合わせたネットワークなどである。
The
コンソール105は、例えば、キーボード及びマウス等の入力装置と、液晶表示パネル等のディスプレイ装置とから構成される。コンソール105は、入力装置から入力された操作に対応する操作信号を受信し、その操作信号の内容をプロセッサ101に通知してよい。そして、コンソール105は、プロセッサ101から出力される、テキスト情報、グラフィカル情報に基づくテキスト及び画像等を、ディスプレイ装置に表示する。
The
ストレージ103に格納されているOS(Operating System)やユーザプログラムは、データクレンジングシステム100の起動時又はそれ自身の実行時に、メモリ102に読み出されてよい。そして、プロセッサ101が、メモリ102に読み出されたOS及びユーザプログラムを実行することによって、データクレンジングシステム100の有する各種機能が実現されてよい。プロセッサ101が実行するプログラムは、リムーバブルメディア(CD−ROM、フラッシュメモリ等)又はネットワークなどを介してデータクレンジングシステム100に導入され、ストレージ103に格納されてよい。このため、データクレンジングシステム100は、リムーバブルメディアからデータを読み込むインターフェースを有してよい。
An operating system (OS) and a user program stored in the
図2は、データクレンジングシステム100が有する機能の構成例を示す。
FIG. 2 shows an exemplary configuration of functions of the
データクレンジングシステム100は、機能として、表示部202、操作部203、データ編集部204、入出力部205及びメタデータ生成部206を有する。これらの機能は、メモリ102に格納されたプログラムがプロセッサ101で実行されることにより実現されてよい。
The
操作部203は、コンソール105を通じて入力された操作内容を、各種命令として解釈する。操作部203は、データ表示命令を表示部202に渡し、データ編集命令をデータ編集部204に渡してよい。
The
入出力部205は、ストレージ103に格納されているデータファイル107を読み出し、データテーブル201としてメモリ102に格納する。
The input /
メタデータ生成部206は、メモリ102に格納されているデータテーブル201に基づいて、メタデータ207を生成する。メタデータ生成部206は、その生成したメタデータ207をメモリ102に格納してよい。メタデータ生成部206の詳細については後述する。
The
表示部202は、コンソール105を通じてデータクレンジングに関する情報を表示する。表示部202は、データテーブル201及びメタデータ207に係る情報を、コンソール105を通じて表示してよい。また、表示部202は、操作部203から受領したデータ表示命令の内容に応じて、情報の表示態様を変えてよい。
The
なお、処理負荷の分散や可用性の向上等のため、上述の機能の一部又は全部は、複数のデータクレンジングシステム100に分散されてもよい。また、データクレンジングシステム100は、1つの物理的な計算機で、又は、複数の論理的又は物理的な計算機で構成されてもよい。データクレンジングシステム100が複数の物理計算機で構成される場合、上述の機能は、複数のプロセッサ101がネットワーク106を介して通信を行うことで、実現されてよい。
Note that part or all of the above-described functions may be distributed to a plurality of
図3は、メタデータ生成部206に含まれる機能の例を示す。
FIG. 3 illustrates an example of functions included in the
メタデータ生成部206は、機能として、類似レコード検出部208、UCC検出部209、ハッシュ行列生成部210を含んでよい。メタデータ207は、類似レコードマトリクス250、UCCリスト260を含んでよい。
The
ハッシュ行列生成部210は、データテーブル201から、ハッシュ行列301(図9参照)を生成する。
The hash
類似レコード検出部208は、ハッシュ行列生成部210が生成したハッシュ行列301を用いて、データテーブル201に含まれるレコード間の類似度を算出する。類似レコード算出部208は、その算出した類似度を、類似レコードマトリクス250に格納してよい。
The similar
UCC検出部209は、ハッシュ行列生成部210が生成したハッシュ行列301を用いて、データテーブル201からUCC(カラムのセット)を検出する。UCC検出部209は、その検出したUCCを、UCCリスト260に登録してよい。
The
類似レコード検出部208とUCC検出部209とは、ハッシュ行列生成部210が生成した同じハッシュ行列301を用いてよい。これにより、類似レコード検出用のハッシュ行列と、UCC検出用のハッシュ行列とを別々に生成する場合と比較して、システム全体の処理量を減らすことができる。
The similar
図4は、データ表示処理の例を示すフローチャートである。 FIG. 4 is a flowchart showing an example of data display processing.
入出力部205は、ストレージ103からデータファイル107を読み出す(ステップS402)。
The input /
入出力部205は、例えば、CSV(Comma−Separated Values)形式等のフォーマットでシリアライズされているデータファイル107をパージングして、データテーブル201(図5参照)を生成する(ステップS404)。
The input /
メタデータ生成部206は、その生成したデータテーブル201からメタデータ207を生成し、メモリ102に格納する(ステップS406)。当該処理の詳細については後述する。
The
表示部202は、データテーブル201及びメタデータ207を、コンソール105を通じて表示する(ステップS408)。当該表示例については後述する(図17、図18参照)。
The
図5は、データテーブル201の例を示す。 FIG. 5 shows an example of the data table 201.
データテーブル201は、本実施例におけるデータクレンジングの対象データである。データテーブル201には、どのようなデータが格納されていてもよい。データテーブル201は、複数のレコードと複数のカラムとから構成されており、レコードの各カラムには、値(カラム値又はセル値という)が格納されてよい。 The data table 201 is target data of data cleansing in the present embodiment. The data table 201 may store any data. The data table 201 includes a plurality of records and a plurality of columns, and each column of the records may store a value (referred to as a column value or a cell value).
本実施例では、説明のために、各レコードに、レコードを一意に識別可能なレコードID(R001、R002、…)を付与する。また、各カラムに、カラムを一意に識別可能なカラムID(C001、C002、…)を付与する。レコードID及び/又はカラムIDは、元のデータファイル107に含まれている必要はなく、入出力部205のパージング処理によって付与されてよい。レコードIDはレコード名と呼んでもよい。カラムIDはカラム名と呼んでもよい。
In this embodiment, for the sake of explanation, each record is assigned a record ID (R001, R002,...) Capable of uniquely identifying the record. Further, each column is assigned a column ID (C001, C002,...) Which can uniquely identify the column. The record ID and / or the column ID need not be included in the
図5の例は、レコードID「R001」のレコードは、カラムID「C001」にカラム値「AAA」、カラムID「C002」にカラム値「CCC」、カラムID「C003」にカラム値「0」、カラムID「C004」にカラム値「0」を有することを示す。 In the example of FIG. 5, the record of the record ID "R001" has the column value "AAA" in the column ID "C001", the column value "CCC" in the column ID "C002", and the column value "0" in the column ID "C003" , Column ID "C004" has a column value "0".
図6は、類似レコードマトリクス250の例を示す。類似レコードマトリクス250は、メタデータ207に含まれてよい。
FIG. 6 shows an example of the
類似レコードマトリクス250は、データテーブル201に含まれる2つのレコード間の類似度を管理する。
The
類似レコードマトリクス250における各行と各列には、それぞれ、データテーブル201に含まれる各レコードIDが付与されてよい。行のレコードIDと列のレコードIDとの交点のセルには、当該行のレコードIDのレコードと、当該列のレコードIDのレコードとの間の類似度が格納されてよい。
Each record ID included in the data table 201 may be assigned to each row and each column in the
類似度は、値が大きいほど類似することを示す、0〜1の範囲を取り得る値であってよい。図6の例は、レコードID「R002」と「R001」との間の類似度が「0.80」である(比較的類似している)ことを示す。 The similarity may be a value that can range from 0 to 1, indicating that the larger the value, the more similar. The example of FIG. 6 indicates that the similarity between the record IDs “R002” and “R001” is “0.80” (relatively similar).
図7は、UCCリスト260の例を示す。UCCリスト260は、メタデータ207に含まれてよい。
FIG. 7 shows an example of the
UCCリスト260は、データテーブル201の各レコードを一意に識別可能なカラムIDの組(つまりUCC)を管理する。
The
例えば、カラムID「C001」のカラム値とカラムID「C002」のカラム値との組によって、データテーブル201の全てのレコードを一意に識別可能な場合、そのカラムID「C001」及び「C002」の組は、UCCである。この場合、UCCリスト260には、カラムID「C001」及び「C002」の組が格納される。
For example, when all the records in the data table 201 can be uniquely identified by a combination of the column value of column ID "C001" and the column value of column ID "C002", the column IDs "C001" and "C002" are used. The set is UCC. In this case, the
UCCリスト260において、各UCCには、UCC(カラムIDの組)を一意に識別可能なUCC ID(U001、U002、…)が付与されてよい。
In the
図8は、メタデータ生成処理の例を示すフローチャートである。 FIG. 8 is a flowchart illustrating an example of metadata generation processing.
メタデータ生成部206は、或るハッシュ関数を用いて、データテーブル201の各カラム値のハッシュ値を算出する(ステップS602)。
The
メタデータ生成部206は、その算出したハッシュ値を用いて、データテーブル201に対するハッシュ行列301(図9参照)を生成する(ステップS604)。
The
メタデータ生成部206は、その生成したハッシュ行列301を用いて、類似レコードマトリクス250(図6参照)及びUCCリスト260(図7参照)を生成する(ステップS606)。
The
図9は、ハッシュ行列301の例を示す。
FIG. 9 shows an example of the
ハッシュ行列301は、データテーブル201の各カラム値に対して、或るハッシュ関数を適用して算出されるハッシュ値で構成される行列である。ハッシュ行列301は、異なるハッシュ関数毎に生成されてよい。本実施例では、各ハッシュ関数を一意に識別可能なIDを「ハッシュ関数ID」と呼ぶ。
The
ハッシュ行列301は、各行と各列に、それぞれ、データテーブル201の各レコードIDと各カラムIDとを有してよい。行のレコードIDと列のカラムIDとの交点のセルには、データテーブル201の当該レコードIDのレコードにおける、当該カラムIDのカラム値のハッシュ値が格納されてよい。
The
なお、図9では、説明のために、行にレコードID、列にカラムIDが付与されている。実際にメモリに格納されるハッシュ行列301には、このようなIDが付与されていなくてもよい。
In FIG. 9, for the sake of explanation, a record ID is given to a row and a column ID is given to a column. Such an ID may not be assigned to the
図10は、MinHashシグネチャ302の例を示す。
FIG. 10 shows an example of the
MinHashシグネチャ302は、MinHash法に用いられる。MinHashシグネチャ302は、ハッシュ行列301に基づいて生成されてよい。
The
説明のために、図10のMinHashシグネチャ302の各行には、ハッシュ行列301の各レコードIDが付与されてよい。また、各列には、図9で述べた各ハッシュ関数ID(h1、h2、…)が付与されてよい。
For the purpose of description, each record ID of the
MinHashシグネチャ302のレコードIDとハッシュ関数IDとの交点のセルには、そのハッシュ関数IDのハッシュ関数から生成されたハッシュ行列301における、そのレコードIDに属する複数のハッシュ値のうちの最小のハッシュ値が格納される。例えば、図9のハッシュ行列301が、ハッシュ関数ID「h1」のハッシュ関数から生成されたものであるとすると、図10のMinHashシグネチャ302における、レコードID「R001」とハッシュ関数ID「h1」との交点のセルには、図9のハッシュ行列301のレコードID「R001」のレコードに属する複数のハッシュ値「1234」、「4122」、「5628」、…、のうちの最小のハッシュ値「1234」が格納される。同様に、レコードID「R001」とハッシュ関数ID「h2」との交点の欄には、ハッシュ関数ID「h2」のハッシュ関数から生成ハッシュ行列のレコードID「R001」に属する複数のハッシュ値のうちの最小のハッシュ値が格納される。
In the cell at the intersection of the record ID of the
なお、ハッシュ関数ID「h1」のハッシュ関数で算出したハッシュ値を循環シフトし、その循環シフトした値と乱数との間でXORを算出し、その算出した値を、ハッシュ関数ID「h2」に係るハッシュ値に相当する値として用いてもよい。この場合、MinHashシグネチャ302において、ハッシュ関数ID「h2」のセルには、ハッシュ関数ID「h2」に係るハッシュ値に相当する値のうちの最小値が格納されてよい。
The hash value calculated by the hash function of the hash function ID “h1” is cyclically shifted, XOR is calculated between the cyclically shifted value and the random number, and the calculated value is set as the hash function ID “h2”. You may use as a value corresponded to the hash value which concerns. In this case, in the
図11は、ポジションリストインデックス(PLI)303の例を示す。 FIG. 11 shows an example of a position list index (PLI) 303.
PLI303は、データテーブル201のカラムID毎に生成されてよい。図11の例において、PLI303Aはデータテーブル201のカラムID「C001」に係るPLIである。PLI303B、303C、303Dについても同様である。
The PLI 303 may be generated for each column ID of the data table 201. In the example of FIG. 11,
或るカラムIDに係るPLI303は、ハッシュ行列301における当該カラムIDの列に同一ハッシュ値を有する複数のレコードIDと、当該同一ハッシュ値と、を対応付けて管理する。
The PLI 303 associated with a certain column ID associates and manages a plurality of record IDs having the same hash value in the column ID column in the
図11の例において、PLI303Aは、ハッシュ行列301において、カラムID「C001」の列に同一ハッシュ値「1234」を有する複数のレコードID「R001」及び「R003」が存在することを示す。
In the example of FIG. 11, the
PLI303の構造は、一般にハッシュテーブルとして知られるデータ構造に類似していることに注目されたい。PLI303は、ハッシュ行列301が有するハッシュ値を活用してハッシュテーブルを生成し、二つ以上のエントリがあるバケットのみを取り出したものであってよい。
It should be noted that the structure of PLI 303 is similar to the data structure commonly known as a hash table. The PLI 303 may be a hash table generated by utilizing the hash values of the
図12は、類似レコードマトリクス250の生成処理の一例を示すフローチャートである。当該処理は、図8のステップS606の処理に相当する。
FIG. 12 is a flowchart showing an example of generation processing of the
メタデータ生成部206は、データテーブル201に対応するMinHashシグネチャ302を生成する(ステップS804)。MinHashシグネチャ302は、上述の図10で説明したように生成されてよい。
The
メタデータ生成部206は、その生成したMinHashシグネチャ302の複数の列を、幾つかのグループに分割してよい。ここでは、分割された各グループを、「バンド」と呼ぶ(ステップS806)。
The
メタデータ生成部206は、MinHashシグネチャ302の各レコードIDについて、バンドに属する列のハッシュ値を結合してよい。そして、メタデータ生成部206は、その結合したハッシュ値に対して所定のハッシュ関数を適用し、ハッシュ値を算出してよい(ステップS808)。メタデータ生成部206は、各バンドに対してこの処理を実行してよい。このハッシュ値の算出過程は、いわゆるLSH(Locality Sensitive Hashing:局所性鋭敏型ハッシング)として知られるアルゴリズムであってよい。この場合、ハッシュ値が同一なレコードの組は、類似している可能性が高いことが知られている。
The
メタデータ生成部206は、そのハッシュ値が同一な全てのレコードの組のそれぞれについて、ステップS814の処理を実行する(LOOP2)。各ループ処理で選択されるレコードの組を「選択レコードの組」という。
The
メタデータ生成部206は、選択レコードの組のMinHashシグネチャ302のハッシュ値が一致する確率を算出する(ステップS814)。この確率は、Jaccard距離と呼ばれる2集合間の類似度の指標を近似することが知られている。そこでこの確率を類似度とし、類似レコードマトリクス250に格納する。
The
図13は、UCC候補カラムの抽出処理の一例を示すフローチャートである。 FIG. 13 is a flowchart showing an example of UCC candidate column extraction processing.
本処理は、UCCリスト260の生成処理(図14参照)の前に、UCCに含まれる可能性の高いカラム(「UCC候補カラム」という)を抽出する処理である。この処理を行うことにより、UCC検出の処理量を減らすことができる。 This process is a process of extracting a column likely to be included in the UCC (referred to as “UCC candidate column”) before the generation process of the UCC list 260 (see FIG. 14). By performing this process, the amount of UCC detection processing can be reduced.
メタデータ生成部206は、ハッシュ行列301の全カラムのそれぞれについて、ステップS904〜S908を実行する(LOOP1)。各ループ処理で選択されるカラムを「選択カラム」という。
The
メタデータ生成部206は、ハッシュ行列301の選択カラムのハッシュ値を用いて、データテーブル201の当該選択カラムのカーディナリティを算出する(ステップS904)。カラムのカーディナリティは、当該カラムに格納されているカラム値の種類の数(異なり数)であってよい。ハッシュ値からカーディナリティを近似する方法として、HyperLogLogアルゴリズムを採用してもよい。
The
メタデータ生成部206は、その算出したカーディナリティが所定の閾値以下であるか否かを判定する(ステップS906)。当該判定結果が肯定的な場合(ステップS906:YES)、メタデータ生成部206は、選択カラムをUCC候補から除外する(ステップS908)。カーディナリティが低いカラムは、カラム値の異なり数が少ないため、UCCを構成する可能性が低いからである。
The
当該判定結果が否定的な場合(ステップS906:NO)、メタデータ生成部206は、特に何もしなくてよい。以上の処理により、UCC候補カラムが抽出される。
If the determination result is negative (step S906: NO), the
図14は、UCCリスト260の生成処理の一例を示すフローチャートである。当該処理は、図8のステップS606の処理に相当する。本処理は、図13の処理で抽出されたUCC候補カラムから、UCCリストを生成する処理の例である。
FIG. 14 is a flowchart showing an example of the generation process of the
メタデータ生成部206は、全てのUCC候補カラムのそれぞれについて、ステップS1004〜S1008を実行する(LOOP1)。各ループ処理で選択されるUCC候補カラムを、「選択UCC候補カラム」という。
The
メタデータ生成部206は、選択UCC候補カラムについて、ハッシュ行列301のハッシュ値を用いて、PLI303を生成する(ステップS1004)。
The
メタデータ生成部206は、PLI303に、2以上のレコードIDを有するエントリが存在するか否かを判定する(ステップS1006)。PLI303に、2以上のレコードIDを有するエントリが存在しない場合(ステップS1006:NO)、メタデータ生成部206は、選択UCC候補カラムを、UCCリスト260に登録する(ステップS1008)。選択UCC候補カラムは、単独でレコードの一意性を保証し得るからである。PLI303に、2以上のレコードIDを有するエントリが存在する場合(ステップS1006:YES)、メタデータ生成部206は、特に何もしなくて良い。
The
次に、メタデータ生成部206は、上述の処理においてUCCリストに登録されなかった残りのUCC候補カラムによる全ての組のそれぞれについて、ステップS1012〜S1016を実行する(LOOP2)。各ループ処理で選択されるUCC候補カラムの組を、「選択UCC候補カラムの組」という。
Next, the
メタデータ生成部206は、選択UCC候補カラムの組に関するPLI303の各エントリをレコードIDの集合とみなし、共通集合を算出する(ステップS1012)。
The
メタデータ生成部206は、その算出した共通集合が空集合であるか否かを判定する(ステップS1014)。共通集合が空集合の場合(ステップS1014:YES)、メタデータ生成部206は、選択UCC候補カラムの組を、UCCリスト260に登録する。この選択UCC候補カラムの組は、当該カラムの組でレコードの一意性を保証し得るからである。共通集合が空集合でない場合(ステップS1014:NO)、メタデータ生成部206は、特に何もしなくてよい。
The
図15は、データ編集処理の一例を示すフローチャートである。 FIG. 15 is a flowchart showing an example of the data editing process.
データテーブル201が編集(修正)されると、それに応じてメタデータ207の内容も変化し得る。本処理は、データ編集処理と、それに応じて発生するメタデータ再生成処理の例である。
When the data table 201 is edited (corrected), the contents of the
データ編集部204は、データ編集命令を受領すると(ステップS1102)、データテーブル201を編集する(ステップS1104)。このデータ編集命令は、コンソール105を通じてデータ編集の入力操作を受け付けた操作部203から、データ編集部204に渡されてよい。
When the
メタデータ生成部206は、メタデータ207を再生成する(ステップS1106)。当該処理の詳細については後述する(図16参照)。
The
表示部202は、編集されたデータテーブル201及び再生成されたメタデータ207の内容を、コンソール105を通じて表示する(ステップS1108)。
The
図16は、メタデータ再生成処理の一例を示すフローチャートである。当該処理は、図15のステップS1106の処理に相当する。 FIG. 16 is a flowchart illustrating an example of the metadata regeneration process. The process corresponds to the process of step S1106 in FIG.
ここでは、レコード削除に係るデータ編集命令を受領した場合の例と、セル更新に係るデータ編集命令を受領した場合の例を示す。レコード削除に係るデータ編集命令は、例えば、クレンジング作業において、重複レコードと判定されたレコードを削除する場合に発行される。セル更新に係るデータ編集命令は、例えば、表記を統一するためにデータを書き換える場合に発行される。 Here, an example in the case of receiving the data editing instruction related to the record deletion and an example in the case of receiving the data editing instruction related to the cell update are shown. The data editing instruction related to the record deletion is issued, for example, when deleting a record determined to be a duplicate record in the cleansing operation. A data editing instruction related to cell update is issued, for example, when data is rewritten in order to unify the notation.
メタデータ生成部206は、受領したデータ編集命令が、レコード削除及びセル更新の何れであるかを判定する(ステップS1202)。
The
まず、レコード削除に係るデータ編集命令を受領した場合について説明する。当該処理では、PLI303と類似レコードマトリクス250とを更新する処理が実行される。
First, the case where a data editing instruction related to record deletion is received will be described. In the process, a process of updating the PLI 303 and the
メタデータ生成部206は、削除対象のレコードに属する各カラム値のハッシュ値を、ハッシュ行列301から取得する(ステップS1206)。
The
メタデータ生成部206は、各カラムのPLI303から、それぞれ、その取得したハッシュ値と、削除対象のレコードIDとを削除する(ステップS1208)。
The
メタデータ生成部206は、削除対象のレコードIDを、ハッシュ行列301、MinHashシグネチャ302、及び、類似レコードマトリクス250から削除する(ステップS1210)。そして、本処理を終了する。
The
次に、セル値の更新に係るデータ編集命令を受領した場合について説明する。当該処理では、UCCリスト260の更新処理が実行される。本処理の説明において、更新されたセル値を「更新セル値」という。
Next, the case where a data editing instruction related to the update of the cell value is received will be described. In the process, an update process of the
メタデータ生成部206は、更新セル値からハッシュ値を算出し、その算出したハッシュ値を用いてハッシュ行列301を更新する(ステップS1222〜S1224)。
The
メタデータ生成部206は、更新セル値を含むカラムのPLI303を更新する(ステップS1226)。
The
メタデータ生成部206は、その更新セル値を含むカラムID(「更新カラムID」という)が、UCCリスト260に含まれているかを判定する(ステップS1228)。当該判定結果が肯定的な場合(S1228:YES)、メタデータ生成部206は、次のステップS1230の処理に進み、否定的な場合(ステップS1228:NO)、本処理を終了する。
The
メタデータ生成部206は、更新カラムIDを含む各UCCについて、次のステップS1232〜S1236の処理を行う(ステップS1230)。
The
すなわち、メタデータ生成部206は、更新カラムIDのPLI303から、更新されたハッシュ値のエントリを取得する。そして、メタデータ生成部206は、その取得したエントリのレコードID群と、他のPLI303のエントリのレコードID群との間の共通集合を算出する(ステップS1232)。
That is, the
メタデータ生成部206は、その算出した共通集合が空集合であるか否かを判定する(ステップS1234)。すなわち、メタデータ生成部206は、その取得したレコードID群が、他の何れのPLI303のレコードID群にも含まれていないか、それとも、他の何れかのPLI303のレコードID群に含まれているかを判定する。
The
メタデータ生成部206は、共通集合が空集合で無い場合(ステップS1234:NO)、その空集合でないPLI303のカラムIDの組を、UCCリスト260から削除する(ステップS1236)。このカラムIDの組は、セル値の更新によってUCCでなくなったからである。
If the common set is not an empty set (step S1234: NO), the
メタデータ生成部206は、共通集合が空集合の場合(ステップS1234:YES)、特に何もしなくてよい。
If the common set is an empty set (step S1234: YES), the
なお、メタデータ生成部206は、上記の処理に加えて、類似レコードマトリクス250の更新処理を実行してもよい。
The
以上の処理では、更新セル値を含むカラムがUCCに属する場合にのみ、UCCリスト260の更新処理が実行される。すなわち、本実施例によれば、セル値が更新された場合におけるUCCリスト260の更新処理量を減らすことができる。
In the above process, the
図17は、データテーブル表示画面400の例を示す。本画面は、図4のステップS408又は図15のステップS1108の処理によって表示されてよい。
FIG. 17 shows an example of the data
表示部202は、データテーブル201に基づいて、図17に示すようなデータテーブル表示画面400を生成し、コンソール105に表示してよい。データテーブル表示画面400には、データテーブル201のレコードIDとカラムIDとが合わせて表示されてよい。
The
図18は、改良データテーブル表示画面401の例を示す。本画面は、図4のステップS408又は図15のステップS1108の処理によって表示されてよい。
FIG. 18 shows an example of the improved data
表示部202は、データテーブル201及びメタデータ207に基づいて、図18に示すような改良データテーブル表示画面401を生成し、コンソール105に表示してよい。
The
改良データテーブル表示画面401には、UCCリスト260に属するカラムID又はカラムID群を選択可能なボタン402が含まれてよい。データクレンジングの担当者がこのボタン402を押下すると、データテーブルにおけるそのボタン402によって選択されたカラムID又はカラムID群に相当する列が、他の列と区別可能な態様で(例えば異なる色で)強調表示されてよい(図18の斜線部分を参照)。
The improved data
また、改良データテーブル表示画面401のレコード間の類似度表示エリア403には、類似レコードマトリクス250における当該レコード間の類似度が表示されてよい。このとき、表示部202は、類似度が高いレコードをできるだけ上位に表示してよい。例えば、表示部202は、類似度が高い順にレコードをソートして表示してよい。
Further, in the
なお、図18の改良データテーブル表示画面401は、あくまでメタデータ207に含まれる情報をコンソール105に表示する一例であり、その表示態様はこれに限定されるものではない。
Note that the improved data
本実施例によれば、類似度の高いレコードを上位に表示することができる。これにより、データクレンジングの担当者は、データクレンジングが必要と思われるレコードを容易に見つけることができる。 According to this embodiment, records with high similarity can be displayed at the top. This allows data cleansing personnel to easily find the records that may need data cleansing.
また、本実施例によれば、UCCに属するカラムを認識可能な態様で表示することができる。これにより、データクレンジングの担当者は、何れのセル値を修正するとUCCの関係が喪失し得るのかを容易に認識することができる。 Moreover, according to the present embodiment, the columns belonging to UCC can be displayed in a recognizable manner. This allows the data cleansing agent to easily recognize which cell value would cause UCC's relationship to be lost.
さらに、本発明によれば、類似度の高いレコードとUCCに属するカラムとを合わせて表示することができる。これにより、データクレンジングの担当者は、レコードの意味論上の一意性と表記上の一意性とを一致させつつ、データを修正することができる。すなわち、データクレンジングの担当者は、データクレンジングの作業を効率的に行うことができる。 Furthermore, according to the present invention, records having high similarity and columns belonging to UCC can be displayed together. This enables the person in charge of data cleansing to correct data while matching the semantic uniqueness of the record with the notional uniqueness. That is, the person in charge of data cleansing can efficiently perform the data cleansing task.
上述した実施例は、本発明の説明のための例示であり、本発明の範囲を実施例にのみ限定する趣旨ではない。当業者は、本発明の要旨を逸脱することなしに、他の様々な態様で本発明を実施することができる。 The embodiment described above is an illustration for explaining the present invention, and is not intended to limit the scope of the present invention to the embodiment. Those skilled in the art can practice the present invention in various other aspects without departing from the scope of the present invention.
例えば、或る実施例の構成の一部を他の実施例の構成に置き換えてもよい。或る実施例の構成に他の実施例の構成を加えてもよい。各実施例の構成の一部に対して、他の構成を追加、削除又は置換してもよい。 For example, part of the configuration of one embodiment may be replaced with the configuration of another embodiment. The configuration of another embodiment may be added to the configuration of one embodiment. Other configurations may be added to, deleted from, or replaced with some of the configurations of the respective embodiments.
また、上述した実施例における各構成、機能、処理部、処理手段等は、それらの一部又は全部を、例えば集積回路で設計する等により、ハードウェアで実現してもよく、プロセッサがそれぞれの機能を実現するプログラムを解釈し実行することにより、ソフトウェアで実現してもよい。各機能を実現するプログラム、テーブル、ファイル等の情報は、メモリ、ハードディスクドライブ、SSD(Solid State Drive)等の記憶装置、又は、ICカード、SDカード、DVD等の記録媒体に格納することができる。 In addition, each configuration, function, processing unit, processing means, and the like in the above-described embodiment may be realized by hardware, for example, by designing part or all of them with an integrated circuit or the like. It may be realized by software by interpreting and executing a program that realizes a function. Information such as programs, tables, and files for realizing each function can be stored in a memory, a hard disk drive, a storage device such as a solid state drive (SSD), or a recording medium such as an IC card, an SD card, or a DVD. .
また、図面には、説明のために必要と考えられる制御線及び/又は情報線が示されており、実装において必要な全ての制御線及び/又は情報線が示されているわけではない。すなわち、図示されていない場合であっても、ほぼ全ての構成が相互に接続されていてよい。 Also, in the drawings, control lines and / or information lines which are considered to be necessary for explanation are shown, and not all control lines and / or information lines necessary for implementation are shown. That is, even if not shown, almost all the components may be connected to each other.
100:データクレンジングシステム 201:データテーブル 206:メタデータ生成部 208:類似レコード検出部 209:UCC検出部 210:ハッシュ行列生成部 100: data cleansing system 201: data table 206: metadata generation unit 208: similar record detection unit 209: UCC detection unit 210: hash matrix generation unit
Claims (9)
前記プロセッサは、
前記メモリからデータテーブルを読み出し、
前記データテーブルのレコード間の類似度を算出し、
前記データテーブルの各レコードを一意に識別可能とするカラムの組であるUCC(Unique Column Combination)を検出し、
前記類似度及びUCCを表示する
データクレンジングシステム。A system for performing data cleansing, comprising a processor and a memory,
The processor is
Read data table from the memory,
Calculate the similarity between records in the data table,
Detecting a UCC (Unique Column Combination) which is a set of columns that enables each record of the data table to be uniquely identified,
A data cleansing system that displays the similarity and UCC.
前記データテーブルからハッシュ行列を生成し、
その生成したハッシュ行列を用いて、前記類似度の算出及び前記UCCの検出を行う
請求項1に記載のデータクレンジングシステム。The processor is
Generate a hash matrix from the data table,
The data cleansing system according to claim 1, wherein the calculation of the degree of similarity and the detection of the UCC are performed using the generated hash matrix.
請求項2に記載のデータクレンジングシステム。The data cleansing system according to claim 2, wherein the processor calculates the similarity between records of the data table based on the MinHash method.
その生成したハッシュ行列から、前記データテーブルの各カラムのカーディナリティを算出し、
その算出したカーディナリティが所定の閾値以下のカラムをUCCの候補から除外する
請求項2に記載のデータクレンジングシステム。The processor is
The cardinality of each column of the data table is calculated from the generated hash matrix,
The data cleansing system according to claim 2, wherein a column whose calculated cardinality is equal to or less than a predetermined threshold is excluded from UCC candidates.
前記データテーブルの内容を表示するにあたり、類似度の高いレコードを上位に表示すると共に、前記UCCに含まれるカラムを他のカラムと区別可能な態様で表示し、
前記データテーブルの値の変更を受け付ける
請求項1に記載のデータクレンジングシステム。The processor is
In displaying the contents of the data table, a record having a high degree of similarity is displayed at the top, and a column included in the UCC is displayed in a distinguishable manner from other columns.
The data cleansing system according to claim 1, which receives a change in the value of the data table.
複数のUCCが存在する場合、UCCの選択を受け付け、
その選択されたUCCに含まれるカラムを他のカラムと区別可能な態様で表示する
請求項5に記載のデータクレンジングシステム。The processor is
If there is more than one UCC, accept the UCC selection,
The data cleansing system according to claim 5, wherein the columns included in the selected UCC are displayed in a distinguishable manner from other columns.
前記UCCに含まれるカラムの値が変更された場合、UCCの再検出を行う
請求項5に記載のデータクレンジングシステム。The processor is
The data cleansing system according to claim 5, wherein when a value of a column included in the UCC is changed, UCC redetection is performed.
データテーブルを取得し、
前記データテーブルのレコード間の類似度を算出し、
前記データテーブルの各レコードを一意に識別可能とするカラムの組であるUCC(Unique Column Combination)を検出し、
前記類似度及びUCCを表示する
データクレンジング方法。A method of data cleansing,
Get the data table,
Calculate the similarity between records in the data table,
Detecting a UCC (Unique Column Combination) which is a set of columns that enables each record of the data table to be uniquely identified,
A data cleansing method for displaying the similarity and UCC.
データテーブルを取得し、
前記データテーブルのレコード間の類似度を算出し、
前記データテーブルの各レコードを一意に識別可能とするカラムの組であるUCC(Unique Column Combination)を検出し、
前記類似度及びUCCを表示する
ことを実行させるためのコンピュータプログラム。In a system that performs data cleansing,
Get the data table,
Calculate the similarity between records in the data table,
Detecting a UCC (Unique Column Combination) which is a set of columns that enables each record of the data table to be uniquely identified,
A computer program for executing displaying the similarity and UCC.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2016/061532 WO2017175375A1 (en) | 2016-04-08 | 2016-04-08 | Data cleansing system, method, and program |
Publications (2)
Publication Number | Publication Date |
---|---|
JPWO2017175375A1 JPWO2017175375A1 (en) | 2019-01-17 |
JP6549786B2 true JP6549786B2 (en) | 2019-07-24 |
Family
ID=60001074
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2018510205A Active JP6549786B2 (en) | 2016-04-08 | 2016-04-08 | Data cleansing system, method and program |
Country Status (2)
Country | Link |
---|---|
JP (1) | JP6549786B2 (en) |
WO (1) | WO2017175375A1 (en) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113568894A (en) * | 2020-04-28 | 2021-10-29 | 中移动信息技术有限公司 | Data redundancy processing method and device for database, electronic equipment and storage medium |
WO2024009404A1 (en) * | 2022-07-05 | 2024-01-11 | 日本電信電話株式会社 | Log data analysis device, log data analysis method, and log data analysis program |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2011257854A (en) * | 2010-06-07 | 2011-12-22 | Hitachi Ltd | Medical information management system, medical information management method and medical information management program |
-
2016
- 2016-04-08 WO PCT/JP2016/061532 patent/WO2017175375A1/en active Application Filing
- 2016-04-08 JP JP2018510205A patent/JP6549786B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
WO2017175375A1 (en) | 2017-10-12 |
JPWO2017175375A1 (en) | 2019-01-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20200356901A1 (en) | Target variable distribution-based acceptance of machine learning test data sets | |
US10540383B2 (en) | Automatic ontology generation | |
KR101130443B1 (en) | Method, system, and computer-readable medium for merging data from multiple data sources for use in an electronic document | |
US10180992B2 (en) | Atomic updating of graph database index structures | |
US20080235579A1 (en) | Comparing and merging multiple documents | |
JP4740060B2 (en) | Duplicate data detection program, duplicate data detection method, and duplicate data detection apparatus | |
US20180144061A1 (en) | Edge store designs for graph databases | |
US20170212811A1 (en) | Recovering a specified set of documents from a database backup | |
JP2017045080A (en) | Business flow specification regeneration method | |
CN113760839A (en) | Log data compression processing method and device, electronic equipment and storage medium | |
JP6549786B2 (en) | Data cleansing system, method and program | |
US10162500B2 (en) | Dynamically render large dataset in client application | |
CN112039975A (en) | Method, device, equipment and storage medium for processing message field | |
KR20100083778A (en) | Acquisition and expansion of storage area network interoperation relationships | |
US10528899B2 (en) | Cladistics data analyzer for business data | |
WO2016117007A1 (en) | Database system and database management method | |
CN115114297A (en) | Data lightweight storage and search method and device, electronic equipment and storage medium | |
JP2018109898A (en) | Data migration system | |
US10372694B2 (en) | Structured information differentiation in naming | |
JP6123372B2 (en) | Information processing system, name identification method and program | |
US20160042022A1 (en) | Data coordination support apparatus and data coordination support method | |
JP5808264B2 (en) | Code generation apparatus, code generation method, and program | |
JP2016126532A (en) | Calculation program, information processing apparatus, and calculation method | |
KR102338300B1 (en) | Method and system for automatically managing change in web system | |
US20110078660A1 (en) | Metamodeling Contextual Navigation of Computer Software Applications |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20180912 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20190604 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20190627 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6549786 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |