JP6805109B2 - Analysis program - Google Patents
Analysis program Download PDFInfo
- Publication number
- JP6805109B2 JP6805109B2 JP2017212798A JP2017212798A JP6805109B2 JP 6805109 B2 JP6805109 B2 JP 6805109B2 JP 2017212798 A JP2017212798 A JP 2017212798A JP 2017212798 A JP2017212798 A JP 2017212798A JP 6805109 B2 JP6805109 B2 JP 6805109B2
- Authority
- JP
- Japan
- Prior art keywords
- item
- data
- value
- rule
- items
- 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
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Description
本発明は、分析プログラムに関する。 The present invention relates to an analytical program.
現行システムのDB(データベース)ストアデータをデータテーブル単位で入力して分析し、データテーブル内のカラム間のデータ値の組合せによって実際に起こるパタンが保有するルール(規則性)を自動的に検出することを考える。ここでいうルールとは主にビジネスルールを指し、例えば、遊園地のチケット管理システムが保有するビジネスルールとしては、「チケット価格は大人は2600円、子供は1300円」などである。 DB (database) store data of the current system is input and analyzed for each data table, and the rules (regularity) possessed by the pattern that actually occurs due to the combination of data values between columns in the data table are automatically detected. Think about it. The rules here mainly refer to business rules. For example, the business rules held by the amusement park ticket management system include "ticket prices are 2600 yen for adults and 1300 yen for children."
従来、現行システムを使用する業務に関するビジネスルールの検出は、人が現行システムに関するドキュメント類を読み、理解してそこから抽出する方法や関係者からヒアリングを実施して聞き出す方法があった。 Conventionally, to detect business rules related to business using the current system, there have been a method in which a person reads and understands documents related to the current system and extracts them, or a method in which a person concerned conducts a hearing and asks.
しかし、ドキュメントを理解する方法では、ドキュメントが常に最新化されていなければ正しいルールが抽出できない問題や自動抽出できず大きな稼動がかかるという問題が有る。また、ヒアリングによる方法でも、ヒアリング対象者が忘れているルールや知らないルールは検出できない問題があり、自動抽出できないという稼動問題も有る。 However, the method of understanding a document has a problem that the correct rule cannot be extracted unless the document is constantly updated, and a problem that it cannot be automatically extracted and a large operation is required. In addition, even with the hearing method, there is a problem that rules that the hearing target person has forgotten or do not know cannot be detected, and there is also an operation problem that automatic extraction cannot be performed.
一方で、現行システムのプログラムを解析する方法も有る。この方法では、条件分岐等を追跡等することによって、どのような規則性があるかを知ることができるが、分析するために大きな稼動がかかり、分析結果は、プログラムに記述されたルールしか抽出できない、という課題が有る。例えば、プログラムに記述されていないルールとして、「システムの利用は月曜日以外の全ての曜日で実施されている」というルールがあってもプログラム解析によってこのルールを抽出することは困難である。 On the other hand, there is also a method of analyzing the program of the current system. In this method, it is possible to know what kind of regularity there is by tracking conditional branches, etc., but it takes a lot of operation to analyze, and the analysis result extracts only the rules described in the program. There is a problem that it cannot be done. For example, even if there is a rule that "the system is used on all days of the week except Monday" as a rule that is not described in the program, it is difficult to extract this rule by program analysis.
また、一般的に概念データモデルから論理モデルを作成し、更に論理モデルから物理モデルを作成していく方法によってシステムのデータベースを作成するといった方法が有る(例えば、特許文献1参照)。そのため、この方法の逆の方法をたどれば、つまり、物理モデルをインプットとすればそこから論理モデルを生成し、論理モデルから概念データモデルを生成することも可能である。すなわち、現行システムの仕様を概念として抽出することは可能である。ここで抽出できる現行システムの仕様とは、データベースがどのような意味(エンティティ)のデータテーブルを持ち、データテーブル内にはどのような属性(データ項目)を持ち、各テーブル間の関係はどうなっているか、などである。 Further, in general, there is a method of creating a system database by creating a logical model from a conceptual data model and then creating a physical model from the logical model (see, for example, Patent Document 1). Therefore, if the reverse method of this method is followed, that is, if the physical model is used as an input, a logical model can be generated from the physical model, and a conceptual data model can be generated from the logical model. That is, it is possible to extract the specifications of the current system as a concept. The specifications of the current system that can be extracted here are what kind of meaning (entity) data table the database has, what kind of attribute (data item) has in the data table, and what is the relationship between each table? Is it?
しかし、このような方法でも、各データテーブル内にある規則性、特にビジネスルールに相当する規則性を抽出することは困難である。 However, even with such a method, it is difficult to extract the regularity in each data table, particularly the regularity corresponding to the business rule.
本発明は、上記の点に鑑みてなされたものであって、データ群からのルールの抽出を可能とすることを目的とする。 The present invention has been made in view of the above points, and an object of the present invention is to enable extraction of rules from a data group.
そこで上記課題を解決するため、分析プログラムは、複数の項目を有する複数のデータを、前記複数の項目のうちの第1の項目における値に基づいてソートするソート手順と、ソート結果において、前記第1の項目の値の配列状態と、前記複数の項目のうちの他の項目の値の配列状態とに基づいて、前記データに関するルールを抽出する抽出手順と、をコンピュータに実行させる。 Therefore, in order to solve the above problem, the analysis program sorts a plurality of data having a plurality of items based on the value in the first item among the plurality of items, and in the sorting result, the first item. A computer is made to execute an extraction procedure for extracting rules regarding the data based on the arrangement state of the values of one item and the arrangement state of the values of other items among the plurality of items .
データ群からのルールの抽出を可能とすることができる。 It is possible to extract rules from a data group.
以下、図面に基づいて本発明の実施の形態を説明する。図1は、本発明の実施の形態における分析装置10のハードウェア構成例を示す図である。図1の分析装置10は、それぞれバスBで相互に接続されているドライブ装置100、補助記憶装置102、メモリ装置103、CPU104、及びインタフェース装置105等を有する。
Hereinafter, embodiments of the present invention will be described with reference to the drawings. FIG. 1 is a diagram showing a hardware configuration example of the
分析装置10での処理を実現するプログラムは、CD−ROM等の記録媒体101によって提供される。プログラムを記憶した記録媒体101がドライブ装置100にセットされると、プログラムが記録媒体101からドライブ装置100を介して補助記憶装置102にインストールされる。但し、プログラムのインストールは必ずしも記録媒体101より行う必要はなく、ネットワークを介して他のコンピュータよりダウンロードするようにしてもよい。補助記憶装置102は、インストールされたプログラムを格納すると共に、必要なファイルやデータ等を格納する。
The program that realizes the processing in the
メモリ装置103は、プログラムの起動指示があった場合に、補助記憶装置102からプログラムを読み出して格納する。CPU104は、メモリ装置103に格納されたプログラムに従って分析装置10に係る機能を実行する。インタフェース装置105は、ネットワークに接続するためのインタフェースとして用いられる。
The
図2は、本発明の実施の形態における分析装置10の機能構成例を示す図である。図2において、分析装置10は、データ入力部11、ラベル付与部12、ソート部13、ルール抽出部14及びルール出力部15等を有する。これら各部は、分析装置10にインストールされた1以上のプログラムが、CPU104に実行させる処理により実現される。
FIG. 2 is a diagram showing a functional configuration example of the
データ入力部11は、分析対象の複数のデータを入力する。各データは、共通の複数の項目(カラム)を有する。したがって、当該複数のデータは、テーブルデータ(表形データ)に整形されて入力されてもよい。この場合、1つの行が1つのデータに相当する。依存関係の有る複数のテーブルデータが入力される場合、データ入力部11は、主キーと外部キーとの関係に基づいて依存関係を導出して、1つのテーブルデータに統合してもよい。なお、各項目の値は、数値、記号、文字等のいずれであってもよい。
The
ラベル付与部12は、各データについて、項目ごとに、当該項目における値の種別ごとのラベルを付与する。したがって、或るデータと他のデータとについて、同じ項目の同じ値は、同じラベルが付与される。
The
ソート部13は、項目ごとに、当該項目について同じラベルが連続するようにデータ群を並べ替える(ソートする)。
The
ルール抽出部14は、ソート部13による並べ替えの結果(ソート結果)に基づいて、入力されたデータ群に関する規則性を示すルール(例えば、ビジネスルール)を抽出する。当該ルールとは、例えば、入力されたデータ群の生成の元となった業務又はビジネスに関するルールをいう。
The
ルール出力部15は、ルール抽出部14によって抽出されたルールを出力する。
The
以下、分析装置10が実行する処理手順について説明する。図3は、分析装置10が実行する処理手順の一例を説明するためのフローチャートである。
Hereinafter, the processing procedure executed by the
ステップS101において、データ入力部11は、データ群(以下「入力データ群」という。)を入力する。
In step S101, the
図4は、入力データ群の一例を示す図である。図4において、各データ(各レコード又は各行)は、特定の商品A(例えば、或る遊園地aのチケット)の購買履歴を示し、性別、年齢層、会員フラグ、価格及び住所等の各項目の値を含む。性別は、商品の購買者の性別である。年齢層は、年齢の10の位の異同によって購買者を区別する概念である。会員フラグは、商品Aに関する会員であるか否かを示す情報である。価格は、購買者が商品Aの購入に支払った金額である。なお、商品Aの価格は、全ての購買者に対して均一ではなく、購買者の属性等に応じて変化する。住所は、購買者の住所である。 FIG. 4 is a diagram showing an example of an input data group. In FIG. 4, each data (each record or each row) shows the purchase history of a specific product A (for example, a ticket for a certain amusement park a), and each item such as gender, age group, member flag, price, and address. Contains the value of. Gender is the gender of the purchaser of the goods. The age group is a concept that distinguishes buyers by the difference in the tens place of age. The member flag is information indicating whether or not the member is a member related to the product A. The price is the amount paid by the purchaser to purchase the product A. The price of the product A is not uniform for all purchasers, and changes according to the attributes of the purchasers and the like. The address is the buyer's address.
続いて、ラベル付与部12は、入力データ群の項目数Cをカウントする(S102)。本実施の形態において、各データは同じ項目を有するため、1つのデータの項目数がカウントされればよい。データ群がテーブルデータとして入力された場合には、テーブルの項目数がカウントされればよい。
Subsequently, the
続いて、ラベル付与部12は、変数nに1を代入する(S103)。変数nは、処理対象とする項目の順番を示す変数である。
Subsequently, the
続いて、ラベル付与部12は、入力データ群における、n番目の項目(以下、「項目n」という。)の値の種別数Sをカウントする(S104)。例えば、n番目の項目が、性別を示す項目であれば、値の種別数Sは基本的には「男」及び「女」の2になる。但し、n番目の項目が空欄であるデータが有る場合、値の種別数Sは3になる。すなわち、空欄(値が無い状態)も、1つの種別としてカウントされる。
Subsequently, the
続いて、ラベル付与部12は、種別数Sがデータ数(テーブルデータの場合であれば行数)と同じであるか否かを判定する(S105)。種別数Sがデータ数と同じである場合(すなわち、項目nについて全てのデータの値が異なる場合)(S105でYES)、ラベル付与部12は、全データの項目nに共通のラベル「Labeln−1」を付与する(S106)。すなわち、全データに対して同じラベルが付与される。
Subsequently, the
一方、種別数Sがデータ数と異なる場合(S105でNO)、ラベル付与部12は、各データの項目nに、当該データの項目nの値の種別に応じたラベル(Labeln−1〜Labeln−S)を付与する(S107)。すなわち、項目nの値が同じデータに対しては、項目nに関して同じラベルが付与される。
On the other hand, when the number of types S is different from the number of data (NO in S105), the
なお、ステップS105の趣旨は、項目nの値が、有限の候補の中からの選択的なものであるか否(不特定多数でないか否か)かを判定することにある。したがって、例えば、仮に「氏名」といった項目が有る場合、当該項目については、ステップS105においてYESと判定されることが期待される。しかし、「氏名」については同姓同名の可能性が有り、同姓同名が含まれている場合、ステップS105における判定はNOとなってしまう。そこで、ステップS105では、データ数に対する種別数Sの割合又は比率(すなわち、種別数S/データ数)が、閾値以上であるか否かが判定されるようにしてもよい。当該割合又は比率が閾値以上であればステップS106が実行され、そうでなければ、ステップS107が実行されるようにしてもよい。 The purpose of step S105 is to determine whether or not the value of item n is selective from a finite number of candidates (whether or not it is not an unspecified majority). Therefore, for example, if there is an item such as "name", it is expected that the item is determined to be YES in step S105. However, there is a possibility that the "name" has the same surname and the same name, and if the same surname and the same name are included, the determination in step S105 will be NO. Therefore, in step S105, it may be determined whether or not the ratio or ratio of the number of types S to the number of data (that is, the number of types S / the number of data) is equal to or greater than the threshold value. If the ratio or ratio is equal to or greater than the threshold value, step S106 may be executed, and if not, step S107 may be executed.
続いて、ラベル付与部12は、変数nの値が項目数C以上であるか否かを判定する(S108)。変数nの値が項目数C未満である場合(S108でNO)、ラベル付与部12は、変数nに1を加算して(S109)、ステップS104以降を繰り返す。すなわち、全ての項目についてステップS104以降が実行される。その結果、全データの全ての項目に対してラベルが付与される。
Subsequently, the
変数nの値が項目数C以上になると(S108でYES)、ソート部13は、変数nに1を代入する(S110)。続いて、ソート部13は、項目nのラベルに基づいて、入力データ群をソートする(S111)。すなわち、ソート部13は、項目nについて同じラベルが連続するように入力データ群を並べ替える。
When the value of the variable n becomes the number of items C or more (YES in S108), the
図5は、或る項目のラベルに基づくデータ群のソート結果の一例を示す図である。図5において、水平方向は、項目の並びに対応し、垂直方向は、データ数(データの並び)に対応する。すなわち、#1〜#7は、それぞれ、項目の識別子である。また、項目#1において、「Label1−1」の高さは、項目#1に「Label1−1」が付与されたデータ数に対応する。
FIG. 5 is a diagram showing an example of the sorting result of the data group based on the label of a certain item. In FIG. 5, the horizontal direction corresponds to the arrangement of items, and the vertical direction corresponds to the number of data (arrangement of data). That is, # 1 to # 7 are item identifiers, respectively. Further, in
ここでは、項目ごとに、同じラベルが付与されたデータの集合を「グループ」という。図5では、項目#1のラベルに基づくソート結果を示す。したがって、項目#1については、グループが明確に区別されている。一方、他の項目は、項目#1に従って並べられているため(すなわち、各データの項目間の関係は維持されているため)、例えば、項目#3のように、1つのグループが複数に分割されて分布している。なお、図5は、説明の便宜上、図4に対して正確には整合していない。
Here, a set of data with the same label for each item is called a "group". FIG. 5 shows the sorting result based on the label of
続いて、ルール抽出部14は、ソート結果における、項目nのラベルの配列状態と他の項目のラベルの配列情報とに基づいて、項目nが、他のいずれかの項目といずれかの包含関係パタンを有するか否かを判定する(S112)。
Subsequently, the
ここで、包含関係パタンとは、以下の(1)〜(7)のような関係をいい、例えば、項目間の相関関係の高さを区別する概念である。本実施の形態では、一例として、以下のパタン1〜パタン7までの7つの包含関係パタンが定義される。
(1)パタン1:複数グループ同士で完全同期(すなわち、一方の項目と他方の項目との間でグループ数が同じであり、各グループに属するデータの集合が一致する。)
(2)パタン2:一部のグループ同士で同期(すなわち、一部のグループに属するデータの集合が一致する。)
(3)パタン3:双方の項目に複数個のグループが有り、全体的な包含関係(一方の各グループは、他方のいずれかのグループに包含され、当該他方のグループの各グループは、当該一方のグループを1以上包含する)が成立
(4)パタン4:一方の複数のグループの組み合わせが他方のグループに同期(すなわち、一方の複数のグループに属するデータの集合が、他方の一つのグループに属するデータの集合に一致する。)
(5)パタン5:一方の項目の複数のグループが、他方の項目の1つのグループに包含される(すなわち、一方の項目の複数のグループに属すデータの集合が、他方の項目の1つのグループの真部分集合である。)
(6)パタン6:一部のグループに包含関係が成立(一方のいずれかのグループに属するデータの集合が、他方のいずれかのグループに属するデータの集合の真部分集合である。)
(7)パタン7:一方の項目が単一グループであるために包含関係が成立
このように、ソート結果において、項目nについて同一の値を有するデータの集合と、他の項目について同一の値を有するデータの集合との共通性又は包含関係の有無に基づいて、項目nと他の項目との包含関係パタン(相関の高さ)が判定される。なお、相関関係の高さは、パタン1>パタン2>パタン3>パタン4>パタン5>パタン6>パタン7の関係に有る。
Here, the inclusion relation pattern refers to the relations (1) to ( 7 ) below, and is a concept for distinguishing the height of the correlation between items, for example. In the present embodiment, as an example, the following seven
(1) Pattern 1: Complete synchronization between multiple groups (that is, the number of groups is the same between one item and the other item, and the set of data belonging to each group matches).
(2) Pattern 2: Synchronize between some groups (that is, the sets of data belonging to some groups match)
(3) Pattern 3: There are multiple groups in both items, and the overall inclusion relationship (each group of one is included in one of the other groups, and each group of the other group is the one. (Including one or more groups of) is established (4) Pattern 4: A combination of one plurality of groups is synchronized with the other group (that is, a set of data belonging to one of the plurality of groups is combined with the other one group). Matches the set of data to which it belongs.)
(5) Pattern 5: a plurality of groups of one item, are included in one group of the other items (i.e., a set of data belonging to a plurality of groups of hand item, one of the other items A true subset of the group.)
(6) Pattern 6: An inclusion relationship is established for some groups (a set of data belonging to one of the groups is a true subset of a set of data belonging to any of the other groups).
(7) Pattern 7: An inclusion relationship is established because one item is a single group. Thus, in the sort result, a set of data having the same value for the item n and the same value for the other item are set. The inclusion relationship pattern (high correlation) between the item n and other items is determined based on the commonality with the set of data to be possessed or the presence or absence of the inclusion relationship. The height of the correlation is such that
例えば、項目#1の各グループに属するデータの集合と、項目#2の各グループに属するデータの集合とは完全に一致する。としたがって、項目#1は、項目#2との間で、パタン1の包含関係パタンを有する。
For example, the set of data belonging to each group of
また、項目#1の「Label1−1」のグループに属するデータの集合と、項目#4の「Label4−1」のグループに属するデータの集合とは完全に一致(同期)しているが、他のグループ間では同期が認められない。したがって、項目#1は、項目#4との間でパタン2の包含関係パタンを有する。
また、項目#1及び項目#7の双方は、複数のグループを有し、双方の各グループの全ては、他方のいずれかのグループに包含される。具体的には、項目#1の「Label1−1」のグループに属するデータ集合と「Label1−2」のグループに属するデータ集合とが構成するデータ集合は、項目#7の「Label7−1」のグループに属するデータ集合に一致する。また、項目#1の「Label1−3」のグループに属するデータ集合と「Label1−4」のグループに属するデータ集合とが構成するデータ集合は、項目#7の「Label7−2」のグループに属するデータ集合に一致する。したがって、項目#1は、項目#7との間でパタン3の包含関係パタンを有する。なお、包含関係の有無については、項目nのいずれかのグループが他の項目のいずれかの項目のグループを含むか、及び、項目nのいずれかのグループが他の項目のいずれかの項目のグループに含まれるかのいずれか一方のみが判定されてもよい。他方については、他の項目が、項目nとなった際に判定可能だからである。
Further, the set of data belonging to the group of "Label1-1" of
Further, both
また、項目#1の「Label1−1」のグループに属するデータ集合と「Label1−2」のグループに属するデータ集合とは、項目#8の「Label8−1」のグループに属するデータ集合の真部分集合である。したがって、項目#1は、項目#8との間でパタン4の包含関係パタンを有する。
Further, the data set belonging to the group of " Label 1-1" of
また、項目#1の「Label1−1」のグループに属するデータ集合と「Label1−2」のグループに属するデータ集合とが構成するデータ集合は、項目#6の「Label6−1」のグループに属するデータ集合に一致するが、他のグループに関して包含関係は認められない。したがって、項目#1は、項目#6との間でパタン5の包含関係パタンを有する。
Further, the data set composed of the data set belonging to the group of "Label 1-1" of
また、項目#5のグループは一つである。したがって、項目#1の全てのグループは、項目#5の単一のグループに包含される。よって、項目#1は、項目#5との間でパタン7の包含関係パタンを有する。
In addition, the group of
なお、項目#1と項目#3とは、いずれのグループについても同期又は包含関係が認められない。したがって、項目#1は、項目#3との間において、包含関係パタンを有さない。
Note that
また、項目#1については、パタン6の包含関係パタンを有する他の項目は存在しないが、例えば、項目#4は、項目#6との間には、パタン6の包含関係パタンが存在する。すなわち、項目#4の「Label4−1」のグループに属するデータ群は、項目#6の「Label6−1」のグループに属するデータ群の真部分集合である。
Further, regarding
項目nが、全ての項目との間で包含関係パタンを有さない場合(S112でNO)、ステップS114に進む。一方、項目nが、他のいずれかの項目との間で少なくとも1つの包含関係パタンを有する場合(S112でYES)、ルール抽出部14は、項目nが有する包含関係パタンに基づいて、ルールを抽出する(S113)。
If the item n does not have an inclusion relationship pattern with all the items (NO in S112), the process proceeds to step S114. On the other hand, when the item n has at least one inclusion relationship pattern with any of the other items (YES in S112), the
図5の例に従えば、以下のようなルールが抽出される。 According to the example of FIG. 5, the following rules are extracted.
パタン1に基づいて、項目#1が「Label1−1」ならば項目#2は「Label2−1」であり(逆方向のルールも成立)、項目#1の「Label1−2」〜「Label1−4」と項目#2の「Label2−2」〜「Label2−4」との間についても同様のルールが成立するといったルールR1が抽出される。
Based on the
パタン2に基づいて、項目#1が「Label1−1」ならば項目#4は「Label4−1」である(逆方向のルールも成立)といったルールR2が抽出される。
Based on the
パタン3に基づいて、項目#1が「Label1−1」又は「Label1−2」ならば、項目#7は「Label7−1」であり、項目#1が「Label1−3」または「Label1−4」ならば、項目#7は「Label7−2」である(逆方向のルールも成立)といったルールR3が抽出される。すなわち、包含されるグループは、選択的な条件とされる。
Based on
パタン4に基づいて、項目#1が「Label1−1」又は「Label1−2」ならば、項目#6はLabel6−1である(逆方向のルールも成立)といったルールR4が抽出される。
Based on the pattern 4, if the
パタン5に基づいて、項目1がLabel1−1」又は「Label1−2」ならば、項目#8は「Label8−1」である(逆方向のルールは成立しない)といったルールR5が抽出される。
Based on the
パタン7に基づいて、項目#1の値に関わらず項目#5は「Label5−1」である(逆方向のルールも成立)といったルールR7が抽出される。
Based on the
なお、項目#4が、項目nである場合、例えば、パタン6に基づいて、項目#4が「Label4−1」ならば、項目#6は、「Label6−1」である(逆方向のルールは成立しない)といったルールR6が抽出される。
When item # 4 is item n, for example, if item # 4 is "Label 4-1" based on
ステップS113に続いてステップS114に進む。ステップS114において、ソート部13は、変数nの値が項目数C以上であるか否かを判定する。変数nの値が項目数C未満である場合(S114でNO)、ソート部13は、変数nに1を加算して(S115)、ステップS111以降を繰り返す。すなわち、全ての項目についてステップS111以降が実行される。この際、ステップS112では、項目n−1以前の項目についても、項目nとの間での包含関係パタンの有無が判定されてよい。上述したように、包含関係について、一方向のみ(包含する又は包含される)が判定される場合、他方向の包含関係を抽出可能とするためである。
The process proceeds to step S114 following step S113. In step S114, the
変数nの値が項目数C以上になると(S114でYES)、ルール出力部15は、各項目に関してステップS112において抽出されたルールを出力する(S116)。例えば、各ルールが表示装置に表示されてもよいし、補助記憶装置102等に記憶されてもよい。なお、出力されるルールが膨大な場合、例えば、ルールR1>ルールR2>ルールR3>ルールR4>ルールR5>ルールR6>ルールR7の優先度の関係に基づいて、出力されるルールの絞り込みや、出力されるルールの重要性の違いの表現等が行われてもよい。
When the value of the variable n becomes the number of items C or more (YES in S114), the
ユーザは、出力されたルールを組み合わせることで、例えば、次のようなルールを導出することができる。 The user can derive the following rules by combining the output rules, for example.
図6は、本実施の形態において導出可能なルールの一例を説明するための図である。図6は、便宜上、図5に完全には整合しない。また、項目#1について「Null」は、空欄を示す。
FIG. 6 is a diagram for explaining an example of a rule that can be derived in the present embodiment. FIG. 6 is not completely consistent with FIG. 5 for convenience. Further, regarding
例えば、図6のデータ群d1に注目すれば、「男性、かつ、40歳代、かつ、会員である購買者について、価格は200円である」というルール(ビジネスルール)を導出することができる。 For example, paying attention to the data group d1 in FIG. 6, it is possible to derive a rule (business rule) that "the price is 200 yen for a purchaser who is a man, in his 40s, and is a member". ..
上述したように、本実施の形態によれば、データ群からのルールの抽出を可能とすることができる。当該ルールの抽出は、各項目の値の種別に基づくソート結果における各項目の値の配列状態(すなわち、同一の値を有するデータの集合と、他の項目について同一の値を有するデータの集合との共通性又は包含関係の有無)に基づいて行うことができるため、少ない計算量でのルールの抽出を可能とすることができる。 As described above, according to the present embodiment, it is possible to extract rules from the data group. The extraction of the rule is an array state of the values of each item in the sort result based on the value type of each item (that is, a set of data having the same value and a set of data having the same value for other items. Since it can be performed based on the commonality or the presence / absence of the inclusion relationship), it is possible to extract the rule with a small amount of calculation.
また、データごとに値が異なる項目(又は、データ数に対する種別数Sの割合が閾値以上である項目)については、一つの値(ラベル)が付与されることで、当該項目の特定の値(例えば、特定の住所等)が、ビジネスルールに含まれてしまうこと(すなわち、ビジネスルールに寄与しないルールがビジネスルールに含まれてしまうこと)を回避することができる。 Further, for an item having a different value for each data (or an item in which the ratio of the type number S to the number of data is equal to or more than the threshold value), one value (label) is given to a specific value of the item (or For example, it is possible to prevent a specific address (such as a specific address) from being included in the business rule (that is, a rule that does not contribute to the business rule is included in the business rule).
また、例えば、或る業務(ビジネス)を行なうためのシステム(サーバ・クライアントシステム)において、サーバにはシステム利用者が実施した業務(ビジネス)の痕跡を表すDBストアデータが蓄積されている。このシステムを利用する業務のビジネスルール(業務ルール)が不明なケースがあり、その場合、現行システムを改善して新システムに作り変える更改開発をする際の妨げとなる。このような場合に、現行システムを用いた業務に関する業務ルールを推定するために本実施の形態を活用することができる。 Further, for example, in a system (server / client system) for performing a certain business (business), DB store data representing a trace of the business (business) performed by the system user is accumulated in the server. There are cases where the business rules (business rules) of the business that uses this system are unknown, and in that case, it hinders the renewal development of improving the current system and recreating it into a new system. In such a case, the present embodiment can be utilized to estimate the business rules related to the business using the current system.
例えば、DBストアデータはテーブルデータ形式で蓄積されている場合が多く、その場合に、1テーブルデータ内の各データレコード(行単位)が持つルールを推定する。この際、推定したいルールは、テーブル内の各項目(列)が保有する値の種別(例えばラベル付けされたデータグループ)の組合せによって構成されているため、これらデータグループの組合せパタンを自動的に検出することによってルールを自動推定できる。その結果、実態に沿ったビジネスルール(事実ベースのビジネスルール)を抽出することができる。そのため、仮に、システム仕様書やユーザマニュアル等の既存ドキュメントにビジネスルールが記載されていて、それが正しく維持管理されず最新化されたビジネスルールとなっていない場合でも、システムのDBストアデータから抽出したビジネスルールが正しいルールであるとしてシステム更改に活用することができる。 For example, DB store data is often stored in a table data format, and in that case, the rules of each data record (row unit) in one table data are estimated. At this time, since the rule to be estimated is composed of the combination of the value types (for example, labeled data groups) held by each item (column) in the table, the combination pattern of these data groups is automatically set. The rule can be automatically estimated by detecting it. As a result, business rules (fact-based business rules) that are in line with the actual situation can be extracted. Therefore, even if a business rule is described in an existing document such as a system specification or a user manual and it is not properly maintained and managed and is not the latest business rule, it is extracted from the system DB store data. It can be used for system renewal as the business rule is the correct rule.
また、システムを構成するプログラムに記載されていないルールが存在していたとしても、DBストアデータから抽出することもできる。 Further, even if there is a rule that is not described in the program constituting the system, it can be extracted from the DB store data.
以上、本発明の実施の形態について詳述したが、本発明は斯かる特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。 Although the embodiments of the present invention have been described in detail above, the present invention is not limited to such specific embodiments, and various aspects are within the scope of the gist of the present invention described in the claims. It can be transformed and changed.
10 分析装置
11 データ入力部
12 ラベル付与部
13 ソート部
14 ルール抽出部
15 ルール出力部
100 ドライブ装置
101 記録媒体
102 補助記憶装置
103 メモリ装置
104 CPU
105 インタフェース装置
B バス
10
105 Interface device B bus
Claims (5)
ソート結果において、前記第1の項目の値の配列状態と、前記複数の項目のうちの他の項目の値の配列状態とに基づいて、前記データに関するルールを抽出する抽出手順と、
をコンピュータに実行させることを特徴とする分析プログラム。 A sorting procedure for sorting a plurality of data having a plurality of items based on a value in the first item of the plurality of items, and a sorting procedure.
In the sort result, an extraction procedure for extracting a rule regarding the data based on the arrangement state of the values of the first item and the arrangement state of the values of other items among the plurality of items, and
An analysis program characterized by having a computer execute.
ことを特徴とする請求項1記載の分析プログラム。 The extraction procedure is based on the presence or absence of a commonality or inclusion relationship between a set of data having the same value for the first item and a set of data having the same value for the other items. To extract,
The analysis program according to claim 1.
ことを特徴とする請求項1又は2記載の分析プログラム。 In the extraction procedure, when the set of data having the first value for the first item is a subset of the set of data having the second value for the second item, the first item is said. When it is the first value, the rule that the second item is the second value is extracted.
The analysis program according to claim 1 or 2.
ことを特徴とする請求項1乃至3いずれか一項記載の分析プログラム。 In the extraction procedure, a set of data having a third value for the first item and a set of data having a fourth value are a subset of a set of data having a fifth value for the second item. If the first item is the third value or the fourth value, the rule that the second item is the fifth value is extracted.
The analysis program according to any one of claims 1 to 3, wherein the analysis program is characterized in that.
全ての前記データに同じ値が付与された項目については、前記付与手順において付与された値に基づいて、前記ソート手順及び前記抽出手順を前記コンピュータに実行させる、
ことを特徴とする請求項1乃至4いずれか一項記載の分析プログラム。 For each item, the number of types of values is specified, and for items in which the ratio of the number of types to the number of data is equal to or greater than a threshold value, the computer is made to execute an assignment procedure for assigning the same value to all the data.
For items to which the same value is assigned to all the data, the computer is made to execute the sorting procedure and the extraction procedure based on the values assigned in the assigning procedure.
The analysis program according to any one of claims 1 to 4, wherein the analysis program is characterized in that.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2017212798A JP6805109B2 (en) | 2017-11-02 | 2017-11-02 | Analysis program |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2017212798A JP6805109B2 (en) | 2017-11-02 | 2017-11-02 | Analysis program |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JP2019086896A JP2019086896A (en) | 2019-06-06 |
| JP6805109B2 true JP6805109B2 (en) | 2020-12-23 |
Family
ID=66764223
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2017212798A Active JP6805109B2 (en) | 2017-11-02 | 2017-11-02 | Analysis program |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP6805109B2 (en) |
-
2017
- 2017-11-02 JP JP2017212798A patent/JP6805109B2/en active Active
Also Published As
| Publication number | Publication date |
|---|---|
| JP2019086896A (en) | 2019-06-06 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US9116985B2 (en) | Computer-implemented systems and methods for taxonomy development | |
| US11182364B2 (en) | Data analysis support apparatus and data analysis support method | |
| CN104346419B (en) | Database analysis device and method | |
| JP6420524B2 (en) | Analysis server device, data analysis system, and data analysis method | |
| US20160004757A1 (en) | Data management method, data management device and storage medium | |
| CN114942971B (en) | Extraction method and device of structured data | |
| CN113435202A (en) | Product recommendation method and device based on user portrait, electronic equipment and medium | |
| JP5724878B2 (en) | Document analysis apparatus, document analysis method, and program | |
| US11308102B2 (en) | Data catalog automatic generation system and data catalog automatic generation method | |
| JP2017091329A (en) | Database analysis device and database analysis method | |
| JP5588811B2 (en) | Data analysis support system and method | |
| US20190266618A1 (en) | Data management apparatus and data management system | |
| CN115238816B (en) | User classification method and related equipment based on multivariate data fusion | |
| US8412671B2 (en) | System and method for developing a star schema | |
| Widjaja et al. | Text mining application with K-means clustering to identify sentiments and popular topics: A case study of the three largest online marketplaces in Indonesia | |
| US10877989B2 (en) | Data conversion system and method of converting data | |
| JP6643912B2 (en) | Proposal support method, proposal support system, and program | |
| Seifert et al. | Crowdsourcing fact extraction from scientific literature | |
| Anggriawan et al. | Implementation of Data Mining using K-Means Algorithm for bicycle sales prediction | |
| CN106469184A (en) | Data object tag processes, display packing and server and client side | |
| JP6805109B2 (en) | Analysis program | |
| KR102299525B1 (en) | Product Evolution Mining Method And Apparatus Thereof | |
| JP6123372B2 (en) | Information processing system, name identification method and program | |
| JP6763967B2 (en) | Data conversion device and data conversion method | |
| CN118378625A (en) | Consumer demand insight word stock construction and consumer crowd portrait construction method and device |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20191204 |
|
| A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20200914 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20201006 |
|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20201124 |
|
| 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: 20201201 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20201203 |
|
| R150 | Certificate of patent or registration of utility model |
Ref document number: 6805109 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
| S533 | Written request for registration of change of name |
Free format text: JAPANESE INTERMEDIATE CODE: R313533 |
|
| R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |