Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JP6805109B2 - Analysis program - Google Patents
[go: Go Back, main page]

JP6805109B2 - Analysis program - Google Patents

Analysis program Download PDF

Info

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
Application number
JP2017212798A
Other languages
Japanese (ja)
Other versions
JP2019086896A (en
Inventor
神 明夫
明夫 神
井上 雅之
雅之 井上
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NTT Inc
NTT Inc USA
Original Assignee
Nippon Telegraph and Telephone Corp
NTT Inc USA
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nippon Telegraph and Telephone Corp, NTT Inc USA filed Critical Nippon Telegraph and Telephone Corp
Priority to JP2017212798A priority Critical patent/JP6805109B2/en
Publication of JP2019086896A publication Critical patent/JP2019086896A/en
Application granted granted Critical
Publication of JP6805109B2 publication Critical patent/JP6805109B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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.

特開2011−154653号公報Japanese Unexamined Patent Publication No. 2011-154653

しかし、ドキュメントを理解する方法では、ドキュメントが常に最新化されていなければ正しいルールが抽出できない問題や自動抽出できず大きな稼動がかかるという問題が有る。また、ヒアリングによる方法でも、ヒアリング対象者が忘れているルールや知らないルールは検出できない問題があり、自動抽出できないという稼動問題も有る。 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.

本発明の実施の形態における分析装置10のハードウェア構成例を示す図である。It is a figure which shows the hardware configuration example of the analyzer 10 in embodiment of this invention. 本発明の実施の形態における分析装置10の機能構成例を示す図である。It is a figure which shows the functional structure example of the analyzer 10 in embodiment of this invention. 分析装置10が実行する処理手順の一例を説明するためのフローチャートである。It is a flowchart for demonstrating an example of the processing procedure executed by the analyzer 10. 入力データ群の一例を示す図である。It is a figure which shows an example of the input data group. 或る項目のラベルに基づくデータ群のソート結果の一例を示す図である。It is a figure which shows an example of the sort result of the data group based on the label of a certain item. 本実施の形態において導出可能なルールの一例を説明するための図である。It is a figure for demonstrating an example of the rule which can be derived in this embodiment.

以下、図面に基づいて本発明の実施の形態を説明する。図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 analyzer 10 according to the embodiment of the present invention. The analyzer 10 of FIG. 1 includes a drive device 100, an auxiliary storage device 102, a memory device 103, a CPU 104, an interface device 105, and the like, which are connected to each other by a bus B, respectively.

分析装置10での処理を実現するプログラムは、CD−ROM等の記録媒体101によって提供される。プログラムを記憶した記録媒体101がドライブ装置100にセットされると、プログラムが記録媒体101からドライブ装置100を介して補助記憶装置102にインストールされる。但し、プログラムのインストールは必ずしも記録媒体101より行う必要はなく、ネットワークを介して他のコンピュータよりダウンロードするようにしてもよい。補助記憶装置102は、インストールされたプログラムを格納すると共に、必要なファイルやデータ等を格納する。 The program that realizes the processing in the analyzer 10 is provided by a recording medium 101 such as a CD-ROM. When the recording medium 101 storing the program is set in the drive device 100, the program is installed in the auxiliary storage device 102 from the recording medium 101 via the drive device 100. However, the program does not necessarily have to be installed from the recording medium 101, and may be downloaded from another computer via the network. The auxiliary storage device 102 stores the installed program and also stores necessary files, data, and the like.

メモリ装置103は、プログラムの起動指示があった場合に、補助記憶装置102からプログラムを読み出して格納する。CPU104は、メモリ装置103に格納されたプログラムに従って分析装置10に係る機能を実行する。インタフェース装置105は、ネットワークに接続するためのインタフェースとして用いられる。 The memory device 103 reads and stores the program from the auxiliary storage device 102 when the program is instructed to start. The CPU 104 executes the function related to the analyzer 10 according to the program stored in the memory device 103. The interface device 105 is used as an interface for connecting to a network.

図2は、本発明の実施の形態における分析装置10の機能構成例を示す図である。図2において、分析装置10は、データ入力部11、ラベル付与部12、ソート部13、ルール抽出部14及びルール出力部15等を有する。これら各部は、分析装置10にインストールされた1以上のプログラムが、CPU104に実行させる処理により実現される。 FIG. 2 is a diagram showing a functional configuration example of the analyzer 10 according to the embodiment of the present invention. In FIG. 2, the analyzer 10 includes a data input unit 11, a labeling unit 12, a sorting unit 13, a rule extraction unit 14, a rule output unit 15, and the like. Each of these parts is realized by a process of causing the CPU 104 to execute one or more programs installed in the analyzer 10.

データ入力部11は、分析対象の複数のデータを入力する。各データは、共通の複数の項目(カラム)を有する。したがって、当該複数のデータは、テーブルデータ(表形データ)に整形されて入力されてもよい。この場合、1つの行が1つのデータに相当する。依存関係の有る複数のテーブルデータが入力される場合、データ入力部11は、主キーと外部キーとの関係に基づいて依存関係を導出して、1つのテーブルデータに統合してもよい。なお、各項目の値は、数値、記号、文字等のいずれであってもよい。 The data input unit 11 inputs a plurality of data to be analyzed. Each data has a plurality of items (columns) in common. Therefore, the plurality of data may be formatted into table data (table data) and input. In this case, one row corresponds to one data. When a plurality of table data having a dependency relationship are input, the data input unit 11 may derive the dependency relationship based on the relationship between the primary key and the foreign key and integrate them into one table data. The value of each item may be any of a numerical value, a symbol, a character, and the like.

ラベル付与部12は、各データについて、項目ごとに、当該項目における値の種別ごとのラベルを付与する。したがって、或るデータと他のデータとについて、同じ項目の同じ値は、同じラベルが付与される。 The label assigning unit 12 assigns a label for each item to each data for each type of value in the item. Therefore, for some data and other data, the same value of the same item is given the same label.

ソート部13は、項目ごとに、当該項目について同じラベルが連続するようにデータ群を並べ替える(ソートする)。 The sort unit 13 sorts (sorts) the data group for each item so that the same label is continuous for the item.

ルール抽出部14は、ソート部13による並べ替えの結果(ソート結果)に基づいて、入力されたデータ群に関する規則性を示すルール(例えば、ビジネスルール)を抽出する。当該ルールとは、例えば、入力されたデータ群の生成の元となった業務又はビジネスに関するルールをいう。 The rule extraction unit 14 extracts a rule (for example, a business rule) indicating regularity regarding the input data group based on the sort result (sort result) by the sort unit 13. The rule refers to, for example, a business or a business-related rule from which the input data group is generated.

ルール出力部15は、ルール抽出部14によって抽出されたルールを出力する。 The rule output unit 15 outputs the rule extracted by the rule extraction unit 14.

以下、分析装置10が実行する処理手順について説明する。図3は、分析装置10が実行する処理手順の一例を説明するためのフローチャートである。 Hereinafter, the processing procedure executed by the analyzer 10 will be described. FIG. 3 is a flowchart for explaining an example of a processing procedure executed by the analyzer 10.

ステップS101において、データ入力部11は、データ群(以下「入力データ群」という。)を入力する。 In step S101, the data input unit 11 inputs a data group (hereinafter referred to as "input data group").

図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 labeling unit 12 counts the number of items C of the input data group (S102). In the present embodiment, since each data has the same item, the number of items of one data may be counted. When the data group is input as table data, the number of items in the table may be counted.

続いて、ラベル付与部12は、変数nに1を代入する(S103)。変数nは、処理対象とする項目の順番を示す変数である。 Subsequently, the labeling unit 12 substitutes 1 for the variable n (S103). The variable n is a variable indicating the order of the items to be processed.

続いて、ラベル付与部12は、入力データ群における、n番目の項目(以下、「項目n」という。)の値の種別数Sをカウントする(S104)。例えば、n番目の項目が、性別を示す項目であれば、値の種別数Sは基本的には「男」及び「女」の2になる。但し、n番目の項目が空欄であるデータが有る場合、値の種別数Sは3になる。すなわち、空欄(値が無い状態)も、1つの種別としてカウントされる。 Subsequently, the labeling unit 12 counts the number of types S of the value of the nth item (hereinafter, referred to as “item n”) in the input data group (S104). For example, if the nth item is an item indicating gender, the number of types S of values is basically two of "male" and "female". However, if there is data in which the nth item is blank, the number of value types S is 3. That is, blanks (states without values) are also counted as one type.

続いて、ラベル付与部12は、種別数Sがデータ数(テーブルデータの場合であれば行数)と同じであるか否かを判定する(S105)。種別数Sがデータ数と同じである場合(すなわち、項目nについて全てのデータの値が異なる場合)(S105でYES)、ラベル付与部12は、全データの項目nに共通のラベル「Labeln−1」を付与する(S106)。すなわち、全データに対して同じラベルが付与される。 Subsequently, the labeling unit 12 determines whether or not the type number S is the same as the number of data (the number of rows in the case of table data) (S105). When the number of types S is the same as the number of data (that is, when the values of all the data are different for the item n) (YES in S105), the labeling unit 12 has the label "Labern-" common to the items n of all the data. 1 ”is given (S106). That is, the same label is given to all data.

一方、種別数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 labeling unit 12 attaches a label (Labern-1 to Label-) corresponding to the type of the value of the item n of the data to the item n of each data. S) is added (S107). That is, the same label is given to the data having the same value of the item n for the item n.

なお、ステップ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 labeling unit 12 determines whether or not the value of the variable n is equal to or greater than the number of items C (S108). When the value of the variable n is less than the number of items C (NO in S108), the labeling unit 12 adds 1 to the variable n (S109), and repeats step S104 and subsequent steps. That is, step S104 and subsequent steps are executed for all items. As a result, labels are given to all items of all data.

変数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 sort unit 13 substitutes 1 for the variable n (S110). Subsequently, the sort unit 13 sorts the input data group based on the label of the item n (S111). That is, the sort unit 13 sorts the input data group so that the same label is continuous for the item n.

図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 item # 1, the height of "Label1-1" corresponds to the number of data to which "Label1-1" is assigned to item # 1.

ここでは、項目ごとに、同じラベルが付与されたデータの集合を「グループ」という。図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 item # 1. Therefore, for item # 1, the groups are clearly distinguished. On the other hand, since the other items are arranged according to the item # 1 (that is, the relationship between the items of each data is maintained), one group is divided into a plurality of items, for example, as in the item # 3. It is distributed. Note that FIG. 5 is not exactly consistent with FIG. 4 for convenience of explanation.

続いて、ルール抽出部14は、ソート結果における、項目nのラベルの配列状態と他の項目のラベルの配列情報とに基づいて、項目nが、他のいずれかの項目といずれかの包含関係パタンを有するか否かを判定する(S112)。 Subsequently, the rule extraction unit 14 determines that the item n has an inclusion relationship with any other item based on the arrangement state of the label of the item n and the arrangement information of the label of the other item in the sort result. It is determined whether or not the pattern is present (S112).

ここで、包含関係パタンとは、以下の(1)〜()のような関係をいい、例えば、項目間の相関関係の高さを区別する概念である。本実施の形態では、一例として、以下のパタン1〜パタン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 inclusion relation patterns 1 to 7 are defined.
(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 pattern 1> pattern 2> pattern 3> pattern 4> pattern 5> pattern 6> pattern 7.

例えば、項目#1の各グループに属するデータの集合と、項目#2の各グループに属するデータの集合とは完全に一致する。としたがって、項目#1は、項目#2との間で、パタン1の包含関係パタンを有する。 For example, the set of data belonging to each group of item # 1 and the set of data belonging to each group of item # 2 completely match. Therefore, item # 1 has an inclusive relation pattern of pattern 1 with item # 2.

また、項目#1の「Label1−1」のグループに属するデータの集合と、項目#4の「Label4−1」のグループに属するデータの集合とは完全に一致(同期)しているが、他のグループ間では同期が認められない。したがって、項目#1は、項目#との間でパタン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 item # 1 and the set of data belonging to the group of "Label4-1" of item # 4 are completely matched (synchronized), but other than that. No synchronization is allowed between groups. Therefore, item # 1 has an inclusion relation pattern of pattern 2 with item # 4 .
Further, both items # 1 and item # 7 have a plurality of groups, and all of the respective groups of both are included in any of the other groups. Specifically, the data set composed of the data set belonging to the group of "Label 1-1" of item # 1 and the data set belonging to the group of "Label 1-2" of item # 7 is the data set of "Label 7-1" of item # 7. Matches a dataset that belongs to a group. Further, the data set composed of the data set belonging to the group of "Label 1-3" of item # 1 and the data set belonging to the group of "Label 1-4" belongs to the group of "Label 7-2" of item # 7. Matches the data set. Therefore, item # 1 has an inclusion relationship pattern of pattern 3 with item # 7. Regarding the presence or absence of the inclusion relationship, whether any group of item n includes a group of any item of other items, and any group of item n is any item of other items. Only one of them included in the group may be determined. This is because the other item can be determined when the other item becomes the item n.

また、項目#1のLabel1−1」のグループに属するデータ集合と「Label1−2」のグループに属するデータ集合とは、項目#8の「Label8−1」のグループに属するデータ集合の真部分集合である。したがって、項目#1は、項目#8との間でパタン4の包含関係パタンを有する。
Further, the data set belonging to the group of " Label 1-1" of item # 1 and the data set belonging to the group of "Label 1-2" are the true parts of the data set belonging to the group of "Label 8-1" of item # 8. It is a set. Therefore, item # 1 has an inclusion relationship pattern of pattern 4 with item # 8.

また、項目#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 item # 1 and the data set belonging to the group of "Label 1-2" belongs to the group of "Label 6-1" of item # 6. Matches the data set, but no inclusion relationships are found for other groups. Therefore, item # 1 has an inclusion relationship pattern of pattern 5 with item # 6.

また、項目#5のグループは一つである。したがって、項目#1の全てのグループは、項目#5の単一のグループに包含される。よって、項目#1は、項目#5との間でパタン7の包含関係パタンを有する。 In addition, the group of item # 5 is one. Therefore, all groups of item # 1 are included in a single group of item # 5. Therefore, item # 1 has an inclusion relation pattern of pattern 7 with item # 5.

なお、項目#1と項目#3とは、いずれのグループについても同期又は包含関係が認められない。したがって、項目#1は、項目#3との間において、包含関係パタンを有さない。 Note that item # 1 and item # 3 are not synchronized or included in any of the groups. Therefore, item # 1 has no inclusion relationship pattern with item # 3.

また、項目#1については、パタン6の包含関係パタンを有する他の項目は存在しないが、例えば、項目#4は、項目#6との間には、パタン6の包含関係パタンが存在する。すなわち、項目#4の「Label4−1」のグループに属するデータ群は、項目#6の「Label6−1」のグループに属するデータ群の真部分集合である。 Further, regarding item # 1, there is no other item having an inclusion relationship pattern of pattern 6, but for example, item # 4 has an inclusion relationship pattern of pattern 6 with item # 6. That is, the data group belonging to the group of "Label 4-1" of item # 4 is a true subset of the data group belonging to the group of "Label 6-1" of item # 6.

項目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 rule extraction unit 14 sets the rule based on the inclusion relationship pattern of the item n. Extract (S113).

図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 pattern 1, if the item # 1 is "Label1-1", the item # 2 is "Label2-1" (the rule in the reverse direction is also established), and the items # 1 "Label1-2" to "Label1-" Rule R1 is extracted such that the same rule is established between "4" and "Label2-2" to "Label2-4" of item # 2.

パタン2に基づいて、項目#1が「Label1−1」ならば項目#4は「Label4−1」である(逆方向のルールも成立)といったルールR2が抽出される。 Based on the pattern 2, rule R2 such that item # 1 is "Label1-1" and item # 4 is "Label4-1" (the rule in the reverse direction is also established) is extracted.

パタン3に基づいて、項目#1が「Label1−1」又は「Label1−2」ならば、項目#7は「Label7−1」であり、項目#1が「Label1−3」または「Label1−4」ならば、項目#7は「Label7−2」である(逆方向のルールも成立)といったルールR3が抽出される。すなわち、包含されるグループは、選択的な条件とされる。 Based on pattern 3, if item # 1 is "Label 1-1" or "Label 1-2", item # 7 is "Label 7-1" and item # 1 is "Label 1-3" or "Label 1-4". If, the rule R3 such that the item # 7 is “Label7-2” (the rule in the reverse direction is also established) is extracted. That is, the included group is a selective condition.

パタン4に基づいて、項目#1が「Label1−1」又は「Label1−2」ならば、項目#6はLabel6−1である(逆方向のルールも成立)といったルールR4が抽出される。 Based on the pattern 4, if the item # 1 is "Label 1-1" or "Label 1-2", the rule R4 such that the item # 6 is Label 6-1 (the rule in the reverse direction is also established) is extracted.

パタン5に基づいて、項目1がLabel1−1」又は「Label1−2」ならば、項目#8は「Label8−1」である(逆方向のルールは成立しない)といったルールR5が抽出される。 Based on the pattern 5, if the item 1 is "Label 1-1" or "Label 1-2", the rule R5 such that the item # 8 is "Label 8-1" (the rule in the reverse direction does not hold) is extracted.

パタン7に基づいて、項目#1の値に関わらず項目#5は「Label5−1」である(逆方向のルールも成立)といったルールR7が抽出される。 Based on the pattern 7, the rule R7 such that the item # 5 is "Label 5-1" regardless of the value of the item # 1 (the rule in the reverse direction is also established) is extracted.

なお、項目#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 pattern 6, item # 6 is "Label 6-1" (rule in the reverse direction). R6 is extracted.

ステップ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 sort unit 13 determines whether or not the value of the variable n is equal to or greater than the number of items C. When the value of the variable n is less than the number of items C (NO in S114), the sort unit 13 adds 1 to the variable n (S115), and repeats step S111 and subsequent steps. That is, steps S111 and subsequent steps are executed for all items. At this time, in step S112, it may be determined whether or not there is an inclusion relationship pattern with the item n for the items before the item n-1. As described above, when the inclusion relationship is determined in only one direction (included or included), the inclusion relationship in the other direction can be extracted.

変数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 rule output unit 15 outputs the rule extracted in step S112 for each item (S116). For example, each rule may be displayed on the display device, or may be stored in the auxiliary storage device 102 or the like. When the number of output rules is enormous, for example, the output rules can be narrowed down based on the relationship of the priority of rule R1> rule R2> rule R3> rule R4> rule R5> rule R6> rule R7. The difference in the importance of the output rules may be expressed.

ユーザは、出力されたルールを組み合わせることで、例えば、次のようなルールを導出することができる。 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 item # 1, "Null" indicates a blank.

例えば、図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 Analytical unit 11 Data input unit 12 Labeling unit 13 Sorting unit 14 Rule extraction unit 15 Rule output unit 100 Drive device 101 Recording medium 102 Auxiliary storage device 103 Memory device 104 CPU
105 Interface device B bus

Claims (5)

複数の項目を有する複数のデータを、前記複数の項目のうちの第1の項目における値に基づいてソートするソート手順と、
ソート結果において、前記第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の項目について同一の値を有するデータの集合と、他の項目について同一の値を有するデータの集合との共通性又は包含関係の有無に基づいて、前記データに関するルールを抽出する、
ことを特徴とする請求項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の項目について第1の値を有するデータの集合が、第2の項目について第2の値を有するデータの集合の部分集合である場合、前記第1の項目が前記第1の値である場合に、前記第2の項目は前記第2の値であるというルールを抽出する、
ことを特徴とする請求項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の値を有するデータの集合と第4の値を有すデータの集合が、第2の項目について第5の値を有するデータの集合の部分集合である場合、前記第1の項目が前記第3の値又は前記第4の値である場合に、前記第2の項目は前記第5の値であるというルールを抽出する、
ことを特徴とする請求項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.
JP2017212798A 2017-11-02 2017-11-02 Analysis program Active JP6805109B2 (en)

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)

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