特許第6563549号(P6563549)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 株式会社日立製作所の特許一覧

特許6563549データ傾向分析方法、データ傾向分析システム及び絞り込み及び復元装置
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B1)
(11)【特許番号】6563549
(24)【登録日】2019年8月2日
(45)【発行日】2019年8月21日
(54)【発明の名称】データ傾向分析方法、データ傾向分析システム及び絞り込み及び復元装置
(51)【国際特許分類】
   G06F 16/20 20190101AFI20190808BHJP
【FI】
   G06F16/20
【請求項の数】15
【全頁数】28
(21)【出願番号】特願2018-60783(P2018-60783)
(22)【出願日】2018年3月27日
【審査請求日】2018年7月9日
(73)【特許権者】
【識別番号】000005108
【氏名又は名称】株式会社日立製作所
(74)【代理人】
【識別番号】110001678
【氏名又は名称】特許業務法人藤央特許事務所
(72)【発明者】
【氏名】木村 竜矢
(72)【発明者】
【氏名】尾崎 慎一
(72)【発明者】
【氏名】黒田 沢希
(72)【発明者】
【氏名】齋藤 響
【審査官】 吉田 誠
(56)【参考文献】
【文献】 特開2002−358411(JP,A)
【文献】 特開2011−028483(JP,A)
【文献】 特開平08−161287(JP,A)
【文献】 特開2000−353163(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 16/00 − 16/958
(57)【特許請求の範囲】
【請求項1】
プロセッサとメモリを含む計算機で、データ項目に対応するデータを有するデータテーブルについてデータの傾向分析を行うデータ傾向分析方法であって、
前記計算機が、複数の前記データテーブルについてデータ項目間の関連を抽出して、データ項目の関連情報を生成する第1のステップと、
前記計算機が、前記関連情報に基づいて前記データ項目の復元情報を生成する第2のステップと、
前記計算機が、前記関連情報に基づいて前記データ項目のグループを生成する第3のステップと、
前記計算機が、前記関連情報と前記復元情報に基づいて、前記グループ内のデータ項目から代表データ項目を選択する第4のステップと、
前記計算機が、前記代表データ項目に対応するデータの傾向分析を実施する第5のステップと、
前記計算機が、前記代表データ項目が所属する前記グループのデータ項目を前記復元情報に基づいて復元する第6のステップと、
前記計算機が、前記代表データ項目に対応するデータの傾向分析の結果と、前記データ項目の復元結果を出力する第7のステップと、
を含むことを特徴とするデータ傾向分析方法。
【請求項2】
請求項1に記載のデータ傾向分析方法であって、
前記第1のステップは、
前記データ項目の項目名の自然言語による類似度と、前記データ項目に対応するデータの値の類似度から関連するデータ項目のペアを抽出し、当該データ項目のペアについて前記関連情報を生成することを特徴とするデータ傾向分析方法。
【請求項3】
請求項2に記載のデータ傾向分析方法であって、
前記第2のステップは、
前記データ項目のペアを構成する第1のデータ項目と第2のデータ項目のそれぞれについて、前記第1のデータ項目のデータから前記第2のデータ項目を算出する第1の復元式と、前記第2のデータ項目のデータから前記第1のデータ項目を算出する第2の復元式を含む前記復元情報を生成することを特徴とするデータ傾向分析方法。
【請求項4】
請求項3に記載のデータ傾向分析方法であって、
前記第4のステップは、
前記データ項目のペアのうち前記復元情報からデータ項目を復元したときに復元精度を確保可能なデータ項目を代表データ項目として前記グループ毎に選択することを特徴とするデータ傾向分析方法。
【請求項5】
請求項3に記載のデータ傾向分析方法であって、
前記第4のステップは、
前記データ項目のペアのうち前記復元情報からデータ項目を復元したときに復元精度が所定の閾値よりも低下する場合には、前記グループを分割することを特徴とするデータ傾向分析方法。
【請求項6】
請求項1に記載のデータ傾向分析方法であって、
前記第7のステップは、
前記データ項目の復元結果を、前記傾向分析の結果に含まれる前記代表データ項目と関連付けて出力することを特徴とするデータ傾向分析方法。
【請求項7】
プロセッサとメモリを含む絞込み及び復元サーバと、
プロセッサとメモリを含むデータ傾向分析サーバと、を有し、データ項目に対応するデータを有するデータテーブルについてデータの傾向分析を行うデータ傾向分析システムであって、
前記絞込み及び復元サーバは、
複数のデータテーブルについてデータ項目間の関連を抽出して、データ項目の関連情報を生成するデータ間関連分析部と、
前記関連情報に基づいて前記データ項目の復元情報を生成する復元式生成部と、
前記関連情報に基づいて前記データ項目のグループを生成するグループ生成部と、
前記関連情報と前記復元情報に基づいて、前記グループ内のデータ項目から代表データ項目を選択し、前記代表データ項目に対応するデータの傾向分析を前記データ傾向分析サーバに実施させる代表データ項目選出部と、
前記データ傾向分析サーバから前記代表データ項目に対応するデータの傾向分析の結果を受け付けて、前記代表データ項目が所属する前記グループのデータ項目を前記復元情報に基づいて復元し、前記データ項目の復元結果と前記傾向分析の結果を出力するデータ復元部と、
を有することを特徴とするデータ傾向分析システム。
【請求項8】
請求項7に記載のデータ傾向分析システムであって、
前記データ間関連分析部は、
前記データ項目の項目名の自然言語による類似度と、前記データ項目に対応するデータの値の類似度から関連するデータ項目のペアを抽出し、当該データ項目のペアについて前記関連情報を生成することを特徴とするデータ傾向分析システム。
【請求項9】
請求項8に記載のデータ傾向分析システムであって、
前記復元式生成部は、
前記データ項目のペアを構成する第1のデータ項目と第2のデータ項目のそれぞれについて、前記第1のデータ項目のデータから前記第2のデータ項目を算出する第1の復元式と、前記第2のデータ項目のデータから前記第1のデータ項目を算出する第2の復元式を含む復元情報を生成することを特徴とするデータ傾向分析システム。
【請求項10】
請求項9に記載のデータ傾向分析システムであって、
前記代表データ項目選出部は、
前記データ項目のペアのうち前記復元情報からデータ項目を復元したときに復元精度を確保可能なデータ項目を代表データ項目としてグループ毎に選択することを特徴とするデータ傾向分析システム。
【請求項11】
請求項9に記載のデータ傾向分析システムであって、
前記代表データ項目選出部は、
前記データ項目のペアのうち前記復元情報からデータ項目を復元したときに復元精度が所定の閾値よりも低下する場合には、前記グループを分割することを特徴とするデータ傾向分析システム。
【請求項12】
請求項7に記載のデータ傾向分析システムであって、
前記データ復元部は、
前記データ項目の復元結果を、前記傾向分析の結果に含まれる前記代表データ項目と関連付けて出力することを特徴とするデータ傾向分析システム。
【請求項13】
プロセッサとメモリを含む絞り込み及び復元装置であって、
データ項目に対応するデータを有するデータテーブルを複数読み込んで、前記複数のデータテーブルについてデータ項目間の関連を抽出して、データ項目の関連情報を生成するデータ間関連分析部と、
前記関連情報に基づいて前記データ項目の復元情報を生成する復元式生成部と、
前記関連情報に基づいて前記データ項目のグループを生成するグループ生成部と、
前記関連情報と前記復元情報に基づいて、前記グループ内のデータ項目から代表データ項目を選択し、前記代表データ項目に対応するデータの傾向分析を外部に依頼する代表データ項目選出部と、
前記代表データ項目に対応するデータの傾向分析の結果を受け付けると、前記代表データ項目が所属する前記グループのデータ項目を前記復元情報に基づいて復元し、前記データ項目の復元結果と前記傾向分析の結果を出力するデータ復元部と、
を有することを特徴とする絞り込み及び復元装置。
【請求項14】
請求項13に記載の絞り込み及び復元装置であって、
前記データ間関連分析部は、
前記データ項目の項目名の自然言語による類似度と、前記データ項目に対応するデータの値の類似度から関連するデータ項目のペアを抽出し、当該データ項目のペアについて前記関連情報を生成することを特徴とする絞り込み及び復元装置。
【請求項15】
請求項14に記載の絞り込み及び復元装置であって、
前記復元式生成部は、
前記データ項目のペアを構成する第1のデータ項目と第2のデータ項目のそれぞれについて、前記第1のデータ項目のデータから前記第2のデータ項目を算出する第1の復元式と、前記第2のデータ項目のデータから前記第1のデータ項目を算出する第2の復元式を含む復元情報を生成することを特徴とする絞り込み及び復元装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、データの傾向分析に関する。
【背景技術】
【0002】
従来から相関分析や機械学習を用いて大量のデータについてデータ傾向分析を行って、データの特徴を導き出す技術が知られている。また、傾向分析としては、与えられたデータから類似するデータを集めて、いくつかのクラスタに分類したり、類似度を算出するクラスタ手法が知られている。
【0003】
データの特徴やデータ項目間の関係を抽出する技術としては特許文献1が知られている。特許文献1には、分析者(または利用者)がデータの内容を詳しく知らなくても、データ整形に適する主キーとなる列(データ項目)を推薦する技術が開示されている。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2012−238153号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
ビッグデータ分析などにおいては、扱うデータ量が多いため、分析の際のリソースのパフォーマンス不足や分析処理時間が膨大にかかるなどの課題があるため、従来では、人手で入力データを取捨選択して分析対象データの絞込みが行われていた。
【0006】
しかし、人(分析者)の判断で入力データを取捨選択する従来の技術では、重要なデータ項目を見落としてしまう可能性があり、また、有用な分析結果が得られなかった場合には、再度入力データの取捨選択を人手で再度実行する必要が生じて作業量が増える、という問題があった。
【0007】
一方で、分析対象データのデータ項目を機械的に絞り込み、絞り込んだデータに基づいて傾向分析を行うと、分析者にとって重要なデータ項目が出力結果として得られない場合があった。
【0008】
そこで、本発明は上記問題点に鑑みてなされたもので、分析対象とするデータ項目を絞り計算負荷を下げつつも、全データ項目を使って分析したのと同様の結果を精度良く得ることを目的とする。また同類と考えられる属性をまとめることで、項目数が多くても分析結果の解釈を容易にすることも目的とする。
【課題を解決するための手段】
【0009】
本発明は、プロセッサとメモリを含む計算機で、データ項目に対応するデータを有するデータテーブルについてデータの傾向分析を行うデータ傾向分析方法であって、前記計算機が、複数の前記データテーブルについてデータ項目間の関連を抽出して、データ項目の関連情報を生成する第1のステップと、前記計算機が、前記関連情報に基づいて前記データ項目の復元情報を生成する第2のステップと、前記計算機が、前記関連情報に基づいて前記データ項目のグループを生成する第3のステップと、前記計算機が、前記関連情報と前記復元情報に基づいて、前記グループ内のデータ項目から代表データ項目を選択する第4のステップと、前記計算機が、前記代表データ項目に対応するデータの傾向分析を実施する第5のステップと、前記計算機が、前記代表データ項目が所属する前記グループのデータ項目を前記復元情報に基づいて復元する第6のステップと、前記計算機が、前記代表データ項目に対応するデータの傾向分析の結果と、前記データ項目の復元結果を出力する第7のステップと、を含む。
【発明の効果】
【0010】
したがって、本発明の分析結果は同類の項目をまとめて提示するので、人が分析結果を見やすい。全項目を対象とした分析に近い結果が得られる(分析者の主観的な判断で項目を選択して特徴が失われる分析にならない)分析にかかる計算負荷を低減できる。
【図面の簡単な説明】
【0011】
図1】本発明の実施例を示し、データ傾向分析システムの一例を示すブロック図である。
図2】本発明の実施例を示し、絞り込み及び復元サーバの一例を示すブロック図である。
図3】本発明の実施例を示し、データ傾向分析システムで行われる処理の一例を示すフローチャートである。
図4】本発明の実施例を示し、スキーマ情報テーブルの一例を示す図である。
図5】本発明の実施例を示し、分析対象データテーブルの一例を示す図である。
図6】本発明の実施例を示し、データ間関連結果の一例を示す図である。
図7】本発明の実施例を示し、独立データ項目テーブルの一例を示す図である。
図8】本発明の実施例を示し、データ傾向分析システムで行われる入力データ項目のグループ化処理の一例を示すフローチャートである。
図9】本発明の実施例を示し、サマリーテーブルの一例を示す図である。
図10】本発明の実施例を示し、サマリーテーブルへの格納処理の一例を示すフローチャートの前半部である。
図11】本発明の実施例を示し、サマリーテーブルへの格納処理の一例を示すフローチャートの後半部である。
図12】本発明の実施例を示し、回帰式の一例を示す前期総資産合計と総資産合計のグラフである。
図13】本発明の実施例を示し、グループを割り当てたサマリーテーブルの一例を示す図である。
図14】本発明の実施例を示し、データ項目とグループの関係の一例を示す図である。
図15】本発明の実施例を示し、代表データの選出処理の一例を示すフローチャートである。
図16】本発明の実施例を示し、代表データの選出処理の他の例を示すフローチャートである。
図17】本発明の実施例を示し、代表データの選出処理におけるノードの分割の一例を示す図である。
図18】本発明の実施例を示し、代表データの選出処理におけるノードの分割の他の例を示す図である。
図19】本発明の実施例を示し、代表データテーブルの一例を示す図である。
図20】本発明の実施例を示し、復元テーブルの一例を示す図である。
図21】本発明の実施例を示し、データ傾向分析処理の一例を示すフローチャートである。
図22】本発明の実施例を示し、データの傾向分析の結果テーブルの一例を示す図である。
図23】本発明の実施例を示し、データ復元処理の一例を示すフローチャートである。
図24】本発明の実施例を示し、データ復元計算処理の一例を示すフローチャートである。
図25】本発明の実施例を示し、最終結果テーブルの表示画面の一例を示す図である。
図26】本発明の実施例を示し、候補テーブルの一例を示す図である。
【発明を実施するための形態】
【0012】
以下、本発明の実施形態を添付図面に基づいて説明する。
【0013】
<データ傾向分析システムの構成>
図1は、本発明の実施例を示し、データ傾向分析システムの一例を示すブロック図である。データ傾向分析システム1は、分析対象データや最終結果などの情報を格納するデータベースサーバ2と、分析対象データのデータ項目の絞り込みと、データ項目の復元を実行する絞り込み及び復元サーバ3と、分析対象データについて傾向分析処理を実行するデータ傾向分析サーバ4と、データ傾向分析システム1を利用するユーザ端末6−1〜6−3と、各サーバとユーザ端末6−1〜6−3を接続するネットワーク5を含む。
【0014】
なお、以下の説明では、ユーザ端末の個々について特定しない場合には、「−」以降を省略した符号「6」を用いる。その他の構成要素の符号についても同様である。
【0015】
データベースサーバ2は、データベース20と類義語辞書22を提供する計算機で、ネットワークインタフェース(図中I/F)21を介してネットワーク5に接続される。なお、データベースサーバ2では図示しないDBMS(Database management system)が稼働する。
【0016】
データベース20は、分析対象データのテーブルを格納する分析対象データテーブル220と、分析対象データのスキーマ情報を格納するスキーマ情報テーブル210と、分析対象データのデータ項目間の類似度の計算結果を格納するデータ間関連計算結果230と、データテーブルのデータ項目名を格納する独立データ項目テーブル240と、データ項目間の類似度と回帰式及びグループを格納するサマリーテーブル250と、データの傾向分析の結果を格納する結果テーブル260と、選択された代表データを格納する代表データテーブル270と、代表データ項目を選択するために最小経路(後述)を格納する復元テーブル280と、最終的な演算結果を格納する最終結果テーブル290を含む。
【0017】
分析対象データテーブル220は、複数のデータテーブルで構成することができる。類義語辞書22は、データテーブルのデータ項目名の名寄せを行うために予め設定された辞書である。
【0018】
絞り込み及び復元サーバ3は、データ項目間の類似度とデータ項目に対応するデータ間の類似度をそれぞれ算出するデータ間関連分析部310と、データ項目名の類似度とデータの類似度に基づいてデータ項目のグループを生成するグループ生成部320と、各グループで代表となるデータ項目(代表データ項目)を選出する入力代表データ選出部330と、代表データ項目からグループに含まれるデータ項目名を復元する復元式(回帰式)を生成する復元式生成部340と、復元式に基づいて関連するデータ項目(群)を復元するデータ復元部350と、代表データ項目を選出するための候補テーブル360を有する。
【0019】
データ傾向分析サーバ4は、データ傾向分析部41を有する。データ傾向分析部41は、前記従来例と同様であり、相関分析や機械学習等の周知又は公知の技術を適用してデータの傾向分析を実行する。本実施例では、絞り込み及び復元サーバ3が選択した代表データ項目に対応する代表データを用いて傾向分析を実行する。
【0020】
ユーザ端末6は、ネットワークインタフェース(図中I/F)61を介してネットワーク5に接続された計算機で、絞り込み及び復元サーバ3に対する指示と応答を行う入出力部62を含む。入出力部62は、キーボードやマウスやタッチパネル等の入力装置とディスプレイなどの出力装置を含む。
【0021】
ユーザ端末6は、データベースサーバ2と絞り込み及び復元サーバ3とデータ傾向分析サーバ4を含むデータ傾向分析システム1を利用してデータの傾向分析を実行する。
【0022】
なお、本実施例では、データベースサーバ2と絞り込み及び復元サーバ3とデータ傾向分析サーバ4が異なる計算機で実現される例を示すが、これに限定されるものではない。例えば、データベースサーバ2と絞り込み及び復元サーバ3とデータ傾向分析サーバ4の機能を一つの計算機で提供してもよく、あるいは、各サーバが仮想計算機で稼働するようにしても良い。また、本実施例では、分析対象のデータテーブルをデータ傾向分析システム1内に保持する例を示すが、これに限定されるものではなく、外部の装置から読み込むようにしてもよい。
【0023】
図2は、絞り込み及び復元サーバ3の一例を示すブロック図である。絞り込み及び復元サーバ3は、プロセッサ31と、メモリ32と、ストレージ33と、ネットワークインタフェース34と、を含む計算機である。
【0024】
メモリ32には、データ間関連分析部310と、グループ生成部320と、入力代表データ選出部330と、復元式生成部340と、データ復元部350がロードされて、プロセッサ31によって実行される。
【0025】
データ間関連分析部310と、グループ生成部320と、入力代表データ選出部330と、復元式生成部340と、データ復元部350の各機能部はプログラムとしてメモリ202にロードされる。
【0026】
プロセッサ31は、各機能部のプログラムに従って処理することによって、所定の機能を提供する機能部として稼働する。例えば、プロセッサ31は、データ間関連分析プログラムに従って処理することでデータ間関連分析部310として機能する。他のプログラムについても同様である。さらに、プロセッサ31は、各プログラムが実行する複数の処理のそれぞれの機能を提供する機能部としても稼働する。計算機及び計算機システムは、これらの機能部を含む装置及びシステムである。
【0027】
絞り込み及び復元サーバ3の各機能を実現するプログラム、テーブル等の情報は、ストレージ33や不揮発性半導体メモリ、ハードディスクドライブ、SSD(Solid State Drive)等の記憶デバイス、または、ICカード、SDカード、DVD等の計算機読み取り可能な非一時的データ記憶媒体に格納することができる。
【0028】
<処理の概要>
図3は、データ傾向分析システム1で行われる処理の一例を示すフローチャートである。この処理は、絞り込み及び復元サーバ3がユーザ端末6からデータの傾向分析の指示を受け付けたときに開始される。なお、データ分析の指示には、分析対象データテーブル220に含まれるデータテーブルのスキーマ情報や、分析対象のデータテーブルや分析対象のデータの指定を含むことができる。
【0029】
本実施例では、分析対象のデータとして創業100年以上の企業の傾向を分析する例を示し、スキーマ情報テーブル210及びテーブル名212から財務諸表や経営者情報等を指定した場合を説明する。以下の説明は、処理の概要を示し、処理の詳細については後述する。
【0030】
ステップS1では、絞り込み及び復元サーバ3は、ユーザ端末6が指定したデータテーブルについてデータ項目(入力データ項目)のグループ化を行う。グループ化は、以下の手順で実行される。
【0031】
まず、データ間関連分析部310が、分析対象として指定されたデータテーブルのデータ項目をスキーマ情報テーブル210または分析対象データテーブル220から読み込んで、独立データ項目テーブル240を生成する。なお、スキーマ情報テーブル210には、データベースサーバ2の分析対象データテーブル220に格納されたテーブルのスキーマ情報が予め登録されている。また、データ間関連分析部310は、指定されたデータテーブルの分析対象データテーブル220からデータ項目を取得しても良い。
【0032】
次に、データ間関連分析部310が、独立データ項目テーブル240と分析対象データテーブル220を読み込んで、データ項目間の項目名(自然言語)の類似度と、当該データ項目に対応するデータ(数値)間の類似度と分散値を算出し、データ間関連計算結果230を生成する。
【0033】
そして、データ間関連分析部310が、項目名の類似度とデータ間の類似度に基づいて、データ項目のペアを抽出し、サマリーテーブル250を生成する。次に、復元式生成部340が、サマリーテーブル250のデータ項目のペアに対して双方向の復元式(回帰式)を生成してサマリーテーブル250に格納する。また、グループ生成部320は、データ項目のペアにグループを割り当ててサマリーテーブル250を更新する。
【0034】
次にステップS2では、入力代表データ選出部330が、サマリーテーブル250の各グループから当該グループを代表するデータ項目を代表データ項目として選択する。
【0035】
次に、ステップS3では、絞り込み及び復元サーバ3が、選択された代表データ項目と代表データ項目のデータをデータ傾向分析サーバ4に通知して、データの傾向分析を実行させる。なお、本実施例では、入力代表データ選出部330が、データ傾向分析サーバ4に代表データ項目のデータ(データテーブルやデータ項目等)を通知する例を示すが、他の機能部が実施しても良い。
【0036】
データ傾向分析サーバ4は、絞り込み及び復元サーバ3から通知された代表データ項目のデータをデータベースサーバ2から読み込んで、所定の傾向分析(傾向推定)を実行する。傾向分析が完了するとデータ傾向分析サーバ4は、傾向分析の結果を絞り込み及び復元サーバ3に応答する。
【0037】
ステップS4では、傾向分析の結果を受信した絞り込み及び復元サーバ3ではデータ復元部350が、代表データ項目以外のデータ項目を回帰式に基づいて復元する。そして、データ復元部350は、代表データ項目に関連する復元後のデータ項目と傾向分析の結果を最終結果テーブル290に格納する。データ復元部350は、最終結果テーブル290の内容をユーザ端末6に出力する。
【0038】
以上のような処理によって、ユーザ端末6を利用する分析者にとって重要なデータ項目を、分析者の主観的な解釈に依存することなく、精度よくデータ項目を復元し、適切な分析結果を得ることが可能となる。
【0039】
すなわち、本実施例のデータ傾向分析システム1では、関連のあるデータ項目について、データ項目の名称を自然言語の類似度と、データ項目に対応するデータの数値の類似度の双方について比較することで、絞り込むデータ項目をグループ化する。
【0040】
次に、データ傾向分析システム1では、グループ化されたデータ項目の中から、復元式による復元精度が高くなる代表データ項目を選択する。そして、データ傾向分析システム1は、選択されたデータ項目のデータについて、データの傾向分析を実行する。これにより、絞り込まれたデータ項目に対応する少量のデータによって、全ての分析対象データについて傾向分析を実施した場合と同等の傾向分析の結果を得ることができる。
【0041】
データ傾向分析システム1では、最後に、代表データ項目のグループ内のデータ項目を復元して、データの傾向分析結果とともにユーザ端末6へ出力することで、分析者に対して、絞り込みの根拠及び全体を提示することが可能となる。
【0042】
なお、データ傾向分析サーバ4が実行する傾向分析(傾向推定)については、周知または公知の技術を適用すれば良いので、本実施例では詳述しない。
【0043】
<テーブルの構成>
図4は、スキーマ情報テーブル210の一例を示す図である。スキーマ情報テーブル210には、分析対象データテーブル220に格納されたデータテーブルのスキーマ情報が予め設定される。
【0044】
スキーマ情報テーブル210は、識別番号(図中#)211と、テーブル名212と、項目名213をひとつのエントリに含む。なお、図示の例では、2つの項目の例を示したが、その他の項目を含むことができる。
【0045】
項目名213には、後述する分析対象データテーブル220のデータ項目(フィールド名)が自然言語で格納される。
【0046】
図5は、分析対象データテーブル220の一例を示す図である。分析対象データテーブル220は、データベースサーバ2に予め格納された分析対象データのテーブルである。なお、分析対象データテーブル220は複数のデータテーブルで構成され、図示の例では財務諸表のデータテーブルの例を示す。
【0047】
分析対象データテーブル220は、企業コード221と、売上高222と、売上原価223と、営業利益224と、流動資産225と、固定資産226と、流動負債227と、固定負債228と、資本金229と、をひとつのエントリに含む。
【0048】
分析対象データテーブル220は、データテーブルの毎にデータ項目は異なるが、各フィールドのデータには数値が格納される。
【0049】
図6は、データ間関連計算結果230の一例を示す図である。データ間関連計算結果230は、データ間関連分析部310によって生成されるテーブルである。
【0050】
データ間関連計算結果230は、識別番号(図中#)231と、データ項目(x)232と、データ項目(y)233と、項目名の類似度234と、分散の差235と、データ間類似度236をひとつのエントリに含む。
【0051】
データ項目(x)232とデータ項目(y)233には、ペアとなる独立データ項目テーブル240(後述)の項目名242の値が格納される。項目名の類似度234には、データ項目(x)232とデータ項目(y)233の自然言語による項目名の類似度が格納される。
【0052】
分散の差235には、データ項目(x)232のデータ(数値)と、データ項目(y)233のデータ(数値)の分散値の差分が格納される。データ間類似度236には、データ項目(x)232のデータ(数値)と、データ項目(y)233のデータ(数値)の類似度が格納される。
【0053】
図7は、独立データ項目テーブル240の一例を示す図である。独立データ項目テーブル240は、データ間関連分析部310によって生成される。独立データ項目テーブル240は、識別番号(図中#)241と、項目名242をひとつのエントリに含む。
【0054】
項目名242には、上述のように分析対象データテーブル220のデータ項目が自然言語で格納される。
【0055】
図9は、サマリーテーブル250の一例を示す図である。サマリーテーブル250は、グループ生成部320によって更新される。
【0056】
サマリーテーブル250は、識別番号(図中#)251と、データ項目(x)252と、データ項目(y)253と、データ間類似度254と、回帰式(x→yの復元)255と、回帰式(y→xの復元)256と、グループ#257をひとつのエントリに含む。
【0057】
データ項目(x)252とデータ項目(y)253は、データ間関連計算結果230のデータ項目(x)232とデータ項目(y)233の内容が格納される。データ間類似度254には、データ間関連計算結果230のデータ間類似度236の値が格納される。
【0058】
回帰式(x→yの復元)255には、データ項目(x)252のデータからデータ項目(y)253を復元するための回帰式が格納される。回帰式(y→xの復元)256には、データ項目(y)253のデータからデータ項目(x)252を復元するための回帰式が格納される。
【0059】
グループ#257には、データ項目(x)252とデータ項目(y)253のペアが所属するグループの識別子(グループ番号)が格納される。
【0060】
なお、図13は、図9のサマリーテーブル250のグループ#257にグループ番号が付与された状態を示す図である。
【0061】
図19は、代表データテーブル270の一例を示す図である。代表データテーブル270は、入力代表データ選出部330によって生成される。代表データテーブル270は、識別番号(図中#)271と、項目名272をひとつのエントリに含む。
【0062】
図20は、復元テーブル280の一例を示す図である。復元テーブル280は、入力代表データ選出部330によって生成される。
【0063】
復元テーブル280は、識別番号(図中#)281と、データ項目(x)282と、データ項目(y)283と、回帰式(x→yの復元)284をひとつのエントリに含む。
【0064】
データ項目(x)282とデータ項目(y)283には、サマリーテーブル250のデータ項目(x)252とデータ項目(y)253の内容が格納される。回帰式(x→yの復元)284にはサマリーテーブル250の回帰式(x→yの復元)255の値が格納される。
【0065】
図22は、データの傾向分析の結果テーブル260の一例を示す図である。データの傾向分析の結果テーブル260は、データ復元部350によって生成される。
【0066】
データの傾向分析の結果テーブル260は、識別番号(図中#)261と、条件1(262)と、条件2(263)をひとつのエントリに含む。本実施例では、創業100年以上の企業の傾向分析結果として、条件1(262)と条件2(263)を共に満たす企業が創業から100年以上継続可能な企業の可能性が高い、ということを示す。
【0067】
図26は、候補テーブル360の一例を示す図である。候補テーブル360は入力代表データ選出部330が管理するテーブルである。
【0068】
候補テーブル360は、識別番号361と、項目名362と、分散の差363をひとつのエントリに含む。識別番号361には、入力代表データ選出部330が付与した値が格納される。項目名362と分散の差363には入力代表データ選出部330が選択した代表データ項目の候補の値が格納される。
【0069】
<処理の詳細>
図8は、データ傾向分析システム1で行われるデータ項目のグループ化処理の一例を示すフローチャートである。この処理は、図3のステップS1で行われる。
【0070】
データ傾向分析システム1の絞り込み及び復元サーバ3は、ユーザ端末6から傾向分析を実施するデータテーブル(スキーマ情報テーブル210、分析対象データテーブル220)の情報を受け付ける。本実施例では、上述のように創業から100年以上継続されている企業のデータのみが格納されたデータテーブルを用いる例を示す。
【0071】
まず、ステップS11では、データ間関連分析部310が、分析対象として指定されたデータテーブルのデータ項目をスキーマ情報テーブル210または分析対象データテーブル220から読み込んで、独立データ項目テーブル240を生成する。
【0072】
独立データ項目テーブル240には、分析対象として指定された1以上のデータテーブルの全てのデータ項目が自然言語で格納される。なお、本実施例の分析対象データテーブル220では、データ項目の名称は自然言語で記載されているものとする。
【0073】
ステップS12では、データ間関連分析部310が、独立データ項目テーブル240の項目名242の全ての組合せについて、ステップS21までの処理を繰り返して実行する。データ間関連分析部310は、独立データ項目テーブル240から2つの項目名242を選択してから以下の処理を実行する。
【0074】
ステップS13では、データ間関連分析部310が、選択された2つの項目名242の組合せについて自然言語による類似度を算出する。なお、2つの項目名242の類似度の算出は、周知または公知の技術を適用することができる。例えば、Ratcliff とObershelp による「ゲシュタルトパターンマッチング」(https://docs.python.jp/3/library/difflib.html)と呼ばれるアルゴリズムを利用して類似度を算出することができる。
【0075】
ステップS14では、データ間関連分析部310が、算出された類似度と予め設定された閾値Th1を比較して、類似度が閾値Th1以上であるか否かを判定する。類似度が閾値Th1以上であればステップS15へ進み、類似度が閾値Th1未満であればステップS21へ進んで次の項目名242の組合せを選択して上記処理を繰り返す。
【0076】
ステップS15では、データ間関連分析部310が、選択された2つの項目名242に対応するデータ項目のデータ(数値)を分析対象データテーブル220から取得して、データの組み合わせの分散値の差分を算出する。分散値の差分の算出は次の(1)式を用いることができる。
【0077】
【数1】
【0078】
ただし、「A」は、データ項目(x)の各データ値を示し、「B」は、データ項目(y)の各データ値を示し、「Aavg」は、データ項目(x)の加算平均値、「Bavg」は、データ項目(y)の加算平均値、「n」はデータの数を示す。また、データ項目(x)とデータ項目(y)は組み合わせたデータ項目を示す。
【0079】
ステップS16では、データ間関連分析部310が、算出された分散値の差分と予め設定された閾値Thsを比較して、分散値の差分が閾値Ths以下であるか否かを判定する。分散値の差分が閾値Ths以下であればステップS17へ進み、分散値の差分が閾値Thsより上であればステップS21へ進んで次の項目名242の組合せを選択して上記処理を繰り返す。
【0080】
ステップS17では、データ間関連分析部310が、選択された2つの項目名242に対応するデータ項目のデータ(数値)を分析対象データテーブル220から取得して、データ間の類似度を算出する。データ間の類似度についても上述のステップS13と同様に「ゲシュタルトパターンマッチング」を用いることができる。
【0081】
ステップS18では、データ間関連分析部310が、算出された類似度と予め設定された閾値Th2を比較して、類似度が閾値Th2以上であるか否かを判定する。類似度が閾値Th2以上であればステップS19へ進み、類似度が閾値Th1未満であればステップS21へ進んで次の項目名242の組合せを選択して上記処理を繰り返す。
【0082】
ステップS19では、データ間関連分析部310が、現在選択されている項目名242を含む2つのレコードを独立データ項目テーブル240から削除する。
【0083】
ステップS20では、データ間関連分析部310が、現在選択されている2つの項目名242をペアとして後述するようにサマリーテーブル250へ格納する。また、データ間関連分析部310は、現在選択されている2つの項目名242を、データ間関連計算結果230のデータ項目(x)232とデータ項目(y)233へ格納し、項目名242の類似度を項目名の類似度234へ格納し、分散値の差分を分散の差235へ格納し、データ間の数値の類似度をデータ間類似度236へ格納し、識別番号231を付与する。
【0084】
ステップS21では、データ間関連分析部310が、次の項目名242のペアを選択して上記処理を繰り返し、独立データ項目テーブル240の項目名242の全ての組み合わせについて完了すれば当該処理を終了する。
【0085】
上記処理により、データ項目の項目名の類似度が閾値Th1以上、データ間の分散値の差分が閾値Ths以下、データの数値の類似度が閾値Th2以上の項目名242のペアがサマリーテーブル250に格納される。そして、独立データ項目テーブル240には、類似するペアがない項目名242が残される。
【0086】
本実施例では、データ間関連分析部310が、関連のあるデータ項目を選択する際に、自然言語のデータ項目の名称と、データ項目に対応するデータ(数値データ)の両方を比較して類似するデータ項目の絞り込みを行う。これにより、名前が類似し、かつ、値が類似するデータ項目を後述するようにグループ化することができる。
【0087】
なお、上記ではデータ項目の名称を自然言語による類似度で関連の有無を判定する例を示したが、これに限定されるものではなく、類義語辞書22を用いて自然言語による類似の判定を行うようにしてもよい。
【0088】
また、本実施例では、自然言語が類似するデータ項目についてのみ、データ項目に対応するデータ(数値)について類似の判定を行うことで、自然言語が類似しないデータ項目を関連項目から除外することができる。
【0089】
図10図11は、サマリーテーブル250への格納処理の一例を示すフローチャートである。この処理は、図8のステップS20で実行される。
【0090】
図10のステップS31では、復元式生成部340が、図8の処理で現在選択されている2つの項目名242を、サマリーテーブル250のデータ項目(x)252とデータ項目(y)253に格納し、ステップS17で算出されたデータ間の類似度をデータ間類似度254へ格納し、識別番号251を付与する。
【0091】
なお、復元式生成部340はデータ間関連計算結果230から現在選択されている2つの項目名に対応するデータを取得してサマリーテーブル250へ格納するようにしても良い。
【0092】
ステップS32では、復元式生成部340が、データ項目(x)252のデータからデータ項目(y)253を復元する回帰式(x→y)を算出する。なお、回帰式の算出については周知または公知の技術を適用すればよい。
【0093】
例えば、図12で示すように、データ項目(x)を前期総資産合計とし、データ間関連計算結果230(y)を総資産合計とした場合、二つの量(前期総資産合計、総資産合計)を座標平面に配置して、データの点の分布を近似する直線を回帰式で表すことができる。
【0094】
ステップS33では、復元式生成部340が、データ項目(y)253のデータからデータ項目(x)252を復元する回帰式(y→x)を算出する。
【0095】
ステップS34では、復元式生成部340が、データ項目(x)252のデータからデータ項目(y)253を復元する回帰式(x→y)をサマリーテーブル250の回帰式(x→yの復元)255へ格納し、データ項目(y)253のデータからデータ項目(x)252を復元する回帰式(y→x)をサマリーテーブル250の回帰式(y→xの復元)256へ格納する。
【0096】
次に、図11のステップS35では、グループ生成部320が、サマリーテーブル250の全てのデータ項目(x)252とデータ項目(y)253のそれぞれについてステップS44までの処理を繰り返して実行する。
【0097】
ステップS36では、グループ生成部320が、サマリーテーブル250の先頭のエントリからデータ項目(x)252と、データ項目(y)253を選択する。そして、グループ生成部320は、サマリーテーブル250の先頭のエントリから順にグループ#257の付与状況について、データ項目(x)252とデータ項目(y)253で列方向に比較を行う。
【0098】
ステップS37では、グループ生成部320が、現在選択中のエントリのデータ項目(x)252と一致する他のエントリのグループ#257と、現在選択中のエントリのデータ項目(y)253と一致する他のエントリのグループ#257が異なるグループであるか否かを判定する。
【0099】
グループ生成部320は、データ項目(x)252のグループ#257と、データ項目(y)253のグループ#257が異なる場合にはステップS38へ進み、そうでない場合にはステップS39へ進む。
【0100】
換言すれば、グループ生成部320は、現在選択中のエントリのデータ項目(x)252とデータ項目が一致するエントリを図13のサマリーテーブル250の列方向で検索して、一致するエントリにグループ#257が付与されていれば当該グループ番号を変数Nxに設定する。
【0101】
同様に、グループ生成部320は、現在選択中のエントリのデータ項目(y)253とデータ項目が一致するエントリをサマリーテーブル250の列方向で検索して、一致するエントリにグループ#257が付与されていれば当該グループ番号を変数Nyに設定する。
【0102】
そして、グループ生成部320は、変数Nxと変数Nyが一致するか否かを判定して、一致しなければステップS38へ進み、そうでない場合にはステップS39に進む。
【0103】
ステップS38では、グループ生成部320が、現在選択中のデータ項目(x)252とデータ項目が一致するエントリのグループ#257と、現在選択中のデータ項目(y)253とデータ項目が一致するエントリのグループ#257のグループ番号のうち、小さい方の番号を取得して、現在選択中のエントリとデータ項目が一致したエントリのグループ#257を揃える。その後、ステップS44に進む。
【0104】
ステップS39では、グループ生成部320が、現在選択中のデータ項目(x)252とデータ項目が一致するエントリと、現在選択中のデータ項目(y)253とデータ項目が一致するエントリのいずれか一方にグループ#257が設定されているか否かを判定する。
【0105】
グループ生成部320は、いずれか一方にグループ#257が設定されていればステップS40に進み、そうでない場合にはステップS41に進む。
【0106】
ステップS40では、グループ生成部320は、現在選択中のデータ項目(x)252とデータ項目が一致するエントリと、現在選択中のデータ項目(y)253とデータ項目が一致するエントリのいずれかでグループ#257が設定されている値を現在のエントリのグループ#257に設定する。その後、ステップS44へ進む。
【0107】
ステップS41では、グループ生成部320が、現在選択中のデータ項目(x)252とデータ項目が一致するエントリのグループ#257と、現在選択中のデータ項目(y)253とデータ項目が一致するエントリのグループ#257が一致するか否かを判定する。グループ生成部320は、双方のグループ#257が一致していればステップS42に進み、双方のグループ#257が設定されていなければステップS43へ進む。
【0108】
ステップS42では、グループ生成部320は、現在選択中のデータ項目(x)252とデータ項目が一致するエントリのグループ#257の値を現在のエントリのグループ#257に設定する。その後、ステップS44へ進む。
【0109】
ステップS44では、サマリーテーブル250の次のエントリのデータ項目(x)252とデータ項目(y)253を選択してからステップS36に戻って上記処理を繰り返す。
【0110】
上記処理により、図9に示したサマリーテーブル250は、図13に示すようにグループ#257が付与される。
【0111】
具体的な例を用いて説明する。図9のサマリーテーブル250でグループ生成部320が先頭のエントリを選択すると、データ項目(x)252=「前期総資産合計」に一致するデータ項目のエントリのグループ#257と、データ項目(y)253=「負債・純資産合計」に一致するデータ項目のエントリのグループ#257には値が設定されていない。このため、グループ生成部320は、ステップS41からステップS43に進んで、新規のグループ番号=1をグループ#257に設定する。
【0112】
サマリーテーブル250の2番目のエントリも同様で、新たなグループ番号=2がグループ#257に設定されて、図13のサマリーテーブル250のように更新される。
【0113】
サマリーテーブル250の3番目のエントリでは、データ項目(x)252=「前期総資産合計」とデータ項目が一致するエントリは識別番号251=4で、グループ#257=1となる。また、サマリーテーブル250の3番目のエントリでは、データ項目(y)253=「負債・純資産合計」とデータ項目が一致するエントリは識別番号251=1で、グループ#257=1となる。
【0114】
したがって、サマリーテーブル250の3番目のエントリでは、ステップS41、S42によってグループ#257=1となる。
【0115】
以上の処理によって、図14で示すように、サマリーテーブル250のデータ項目(x)252と、データ項目(y)253の項目名の連鎖からグループ#257が設定される。なお、データ項目(x)252またはデータ項目(y)253と一致するデータ項目が無いエントリのグループ#257はブランクとなる。
【0116】
上記のように、データ間関連分析部310が算出した関連情報(データ間関連計算結果230のペア(データ項目(x)、(y))と類似度及び分散値の差分)と分析対象データテーブル220のデータから、復元式生成部340は復元情報(復元式)を生成する。そして、グループ生成部320は、関連情報に基づいてデータ項目の項目名をグループ化する。
【0117】
図15は、代表データの選出処理の一例を示すフローチャートである。この処理は、図3のステップS2で行われる。
【0118】
ステップS51では、入力代表データ選出部330がサマリーテーブル250のグループ#257毎にステップS63までの処理を繰り返して、各グループ#257を代表するデータ項目を候補テーブル360の中から代表データ項目として選択する。入力代表データ選出部330は、まず、グループ#257のグループ番号を取得する。
【0119】
ステップS52では、取得したグループ番号に所属するサマリーテーブル250の全てのエントリについて、ステップS60までの処理を繰り返して、入力データと復元データとの差分が小さい方を候補テーブル360に格納する。
【0120】
ステップS53では、入力代表データ選出部330が、取得したグループ番号に所属するサマリーテーブル250から最初のエントリを選択し、データ項目(x)252に対応するすべてのデータに回帰式(x→yの復元)255を適用して復元データの値=yを算出する。
【0121】
ステップS54では、入力代表データ選出部330が、ステップS53で選択したエントリについて、データ項目(y)253に対応するすべてのデータを入力データとして、下記(2)式で差分diffを算出し、差分(2)とする。
【0122】
【数2】
【0123】
ただし、「A」は、入力データの各データ値を示し、「B」は、復元データの各データ値を示し、「n」はデータの数を示す。
【0124】
ステップS55では、入力代表データ選出部330が、ステップS53で選択したエントリについて、データ項目(y)253に対応するすべてのデータに回帰式(y→xの復元)256を適用して復元データの値=xを算出する。
【0125】
ステップS56では、入力代表データ選出部330が、ステップS53で選択したエントリについて、データ項目(x)252に対応するすべてのデータを入力データとして、上記(2)式で差分diffを算出し、差分(4)とする。
【0126】
ステップS57では、入力代表データ選出部330が、上記算出した差分(2)が差分(4)を超えたか否かを判定する。入力代表データ選出部330は、差分(2)が差分(4)を超えていれば、ステップS58へ進み、差分(2)が差分(4)以下であれば、ステップS59へ進む。
【0127】
ステップS58では、入力代表データ選出部330が、データ項目(y)253の項目名と差分(2)を候補テーブル360に追加する。また、入力代表データ選出部330が、データ項目(x)252とデータ項目(y)253及び回帰式(x→yの復元)255のエントリを復元テーブル280に追加する。
【0128】
一方、ステップS59では、入力代表データ選出部330が、データ項目(x)252の項目名と差分(4)を候補テーブル360に追加する。
【0129】
その後、ステップS60へ進んで、入力代表データ選出部330は、グループ番号内の次のエントリを選択して上記処理を繰り返す。入力代表データ選出部330は、グループ番号に所属する全てのエントリについて上記処理を実施した後にステップS61に進む。
【0130】
ステップS61では、入力代表データ選出部330が、候補テーブル360から差分363が最大のエントリを選択し、当該エントリの項目名362を代表データテーブル270に追加する。
【0131】
ステップS62では、入力代表データ選出部330が、候補テーブル360をクリア(初期化)する。その後、ステップS63へ進んで、入力代表データ選出部330は、サマリーテーブル250の次のグループ番号を選択して上記処理を繰り返す。入力代表データ選出部330は、サマリーテーブル250の全てのグループ番号について上記処理を実施した後に終了する。
【0132】
上記処理によって、入力データと復元データの差分diffが小さい方の元データを代表データ項目とすることができる。これにより、ひとつのグループにまとめたデータ項目のうち、データ傾向分析の出力結果から、同じグループ内で、代表データ項目以外のデータ項目を復元する際に、できるだけ復元精度が高くなるような代表データ項目が選択される。そして、代表データ項目はデータ傾向分析サーバ4へ入力する主データ項目として利用される。
【0133】
以上のように、入力代表データ選出部330は、データ間関連分析部310が生成した関連情報と、復元式生成部340が生成した復元情報に基づいて、復元精度を確保可能な代表データ項目をグループ毎に選択する。なお、入力代表データ選出部330は、データ項目のデータに復元情報を適用して、復元結果の分散値の差分をデータ項目のペアで比較して、分散値の差分が小さい方を代表データ項目の候補、すなわち復元精度を確保可能と判定する。
【0134】
図16は、代表データの選出処理におけるノードの分割の一例を示す図である。代表データ項目の選出は、上記図16の差分に限定されるものではなく、ノードの分割によっても実施することができる。代表データの第2の選出処理としてノードの分割の例について説明する。
【0135】
なお、以下の説明では、ノード、エッジ、トポロジを以下のように定義する。ノードは、サマリーテーブル250のデータ項目(x)252とデータ項目(y)253を指す。エッジは、データ項目(x)252とデータ項目(y)253の関係を指し、データ間類似度254で表す。トポロジは、グループ#257のグループ番号で表す。
【0136】
ステップS71では、入力代表データ選出部330がサマリーテーブル250のグループ#257毎にステップS79までの処理を繰り返して、各グループ#257を代表するデータ項目を代表データテーブル270に格納する。入力代表データ選出部330は、グループ#257のグループ番号を取得する。
【0137】
ステップS72では、入力代表データ選出部330が、ステップS71で取得したグループ番号に所属するノード(エントリ)について、各ノード間の最小距離を算出する。本実施例では、ノード間の距離をデータ間類似度254で表す。
【0138】
ステップS73では、入力代表データ選出部330が、ステップS72で算出したノード間距離が最小となる経路(データ項目(x)252とデータ項目(y)253)を最小経路とし、最小経路と回帰式(x→yの復元)255を復元テーブル280に格納する。
【0139】
ステップS74では、当該最小経路について、対象ノードからの距離が所定の閾値Th3以上になったか否かを判定する。入力代表データ選出部330は。対象ノードからの距離が所定の閾値Th3以上の場合には、ステップS75に進み、対象ノードからの距離が所定の閾値Th3未満の場合には、ステップS76に進む。
【0140】
ステップS75では、入力代表データ選出部330が、対象ノードからの距離が所定の閾値Th3以上となったエッジでノード間を2分割する。そしてステップS72へ戻って上記処理を繰り返す。
【0141】
ステップS76では、入力代表データ選出部330が、ノード間の距離の合計(乗算)を算出し、距離の合計(乗算)が最小となるノードを主ノード(primary node)として算出する。なお、距離の合計(乗算)の最小値は、次の(3)式で算出する。
【0142】
【数3】
【0143】
ただし、Sはグループを示し、xはノードを示す。
【0144】
次に、ステップS77では、入力代表データ選出部330が、距離の合計(乗算)が最小となるノードを主ノードとして選択し、ステップS78に進んで主ノードのデータ項目を代表データ項目として代表データテーブル270に追加する。
【0145】
ステップS79では、入力代表データ選出部330が、次のグループ番号を選択して上記処理を繰り返し、すべてのグループ番号について代表データ項目の選出が完了すると処理を終了する。
【0146】
上記処理により、グループ内の対象のノードから、その他の全てのノード間の距離(データ間類似度)を算出し、ノード間距離の合計(乗算)が最も小さいノードの1つを主ノードとする。そして、入力代表データ選出部330は、主ノードと、その他のノードのノード間の距離(データ間類似度)の乗算値が、閾値Th3以上の範囲を1つのグループと判定する。一方、入力代表データ選出部330は、閾値Th3未満の場合は閾値を下回ったエッジ(枝)で切る。なお、距離の合計が最も小さいノードが2つある場合にはランダムに選択すればよい。
【0147】
以上のように、ノード間の距離が閾値Th3以上の場合には、復元の連鎖によって復元精度が低下するため、ノード(トポロジ)を分割することで、復元精度を確保可能な代表データ項目を選択することができる。
【0148】
図17は、代表データの選出処理におけるノードの分割の一例を示す図である。図16に示したノード間のデータの類似度から代表データ項目を算出する例を示す。
【0149】
入力代表データ選出部330は、主ノードから対象ノード間の類似度(距離)の乗算値を算出する(Step1)。そして、入力代表データ選出部330は、主ノードからの距離(類似度の乗算値)と閾値(0.7)とを比較して閾値未満のエッジで切断してトポロジを2分割する(Step2)。
【0150】
以上の処理を繰り返すことで、グループ番号内のエントリから代表データ項目(主ノード)を選出することができる。
【0151】
図18は、代表データの選出処理におけるノードの分割の他の例を示す図である。図16に示したノード間の類似度から代表データ項目を算出する例を示す。この例は、ノードの配置が図17の直線的な配置とは異なる例である。
【0152】
この場合も、図17と同様に隣り合うノードとのデータ間の類似度を算出し、さらに、対角となるノード間についてもデータ間の類似度を乗算によって算出する(Step1)。そして、入力代表データ選出部330は、主ノードからの距離(類似度の乗算値)と閾値(0.7)とを比較して閾値未満のエッジで切断してトポロジを2分割する(Step2)。
【0153】
図21は、データ傾向分析処理の一例を示すフローチャートである。この処理は、図3のステップS3で行われる処理である。
【0154】
入力代表データ選出部330は、独立データ項目テーブル240と代表データテーブル270の項目と、項目に対応するデータ(値)をデータ傾向分析サーバ4へ入力し、傾向分析を指令する(S81)。
【0155】
データ傾向分析サーバ4では、データ傾向分析部41が絞り込み及び復元サーバ3から受け付けた項目と値について傾向分析を実施して、傾向分析の結果を絞り込み及び復元サーバ3に応答する。
【0156】
上記処理によって、グループ#257の代表データ項目と、グループ化できなかった独立データ項目テーブル240のデータによって傾向分析が実施される。
【0157】
図23図24は、データ復元処理の一例を示すフローチャートである。この処理は、図3のステップS4で行われる処理で、復元テーブル280を利用して代表データ以外のデータを復元する。
【0158】
絞り込み及び復元サーバ3は、データ傾向分析サーバ4から傾向分析の結果を受け付けた後に、図23のフローチャートを開始する。なお、絞り込み及び復元サーバ3は、データ傾向分析サーバ4から傾向分析の結果を受け付けると、代表データ選出部330が、データの傾向分析の結果テーブル260に格納しておく。
【0159】
図23のステップS86では、データ復元部350が、データの傾向分析の結果テーブル260の条件項目の全てについて、ステップS88までの処理を繰り返す。ステップS87では、データ復元部350が、データの傾向分析の結果テーブル260の条件項目(262、263)のデータ項目を入力項目として取得する。
【0160】
ステップS87では、データ復元部350が、上記取得した入力項目について、復元テーブル280を参照して図24に示す復元計算処理を実行する。
【0161】
ステップS88では、データ復元部350が、次の条件を結果テーブル260から選択して上記処理を繰り返し、すべての条件について復元計算処理が完了すると処理を終了する。
【0162】
図24のステップS91では、データ復元部350が、上記ステップS86で取得した入力項目と復元テーブル280のデータ項目(x)282を比較して、一致する項目名を検索する。
【0163】
ステップS92では、データ復元部350が、入力項目に一致するデータ項目(x)282が存在するか否かを判定する。入力項目に一致するデータ項目(x)282が存在する場合はステップS93へ進み、そうでない場合には処理を終了して次の条件式に進む。
【0164】
ステップS93では、データ復元部350が、復元テーブル280の回帰式(x→yの復元)284を用いて、データ項目(x)282に対応するデータからデータ項目(y)と値=yを算出する。この処理は、入力項目に一致したデータ項目(x)282の全てについて実行する。
【0165】
ステップS94では、ステップS93で復元されたデータ項目(y)についてステップS97までの処理を繰り返して実行する。データ復元部350は、復元されたデータ項目(y)をひとつ選択する。
【0166】
ステップS95では、データ復元部350が、上記選択されたデータ項目(y)を最終結果テーブル290に追加する。データ復元部350は、現在選択中の結果テーブル260の条件及び識別番号261に対応する最終結果テーブル290の条件(292、293)と識別番号291にデータ項目(y)を追加する。
【0167】
ステップS96では、データ復元部350が、復元したデータ項目(y)に対応するデータを分析対象データテーブル220から取得して所定の演算を行った結果を、ステップS95の最終結果テーブル290の条件(292、293)と識別番号291に追加する。なお、図25の最終結果テーブル290の例では、データ項目(y)に対応する値の範囲を算出する例を示した。
【0168】
ステップS97では、データ復元部350が、次のデータ項目(y)を選択して上記処理を繰り返し、すべてのデータ項目(y)について復元計算処理が完了すると処理を終了して、図23の処理へ復帰する。
【0169】
上記処理により、データの傾向分析の結果テーブル260の条件(262、263)のデータ項目に一致する代表データ項目から、同じグループに所属するデータ項目(y)と値の範囲が復元される。
【0170】
上記処理が終了すると、データ復元部350は、最終結果テーブル290の表示画面620をユーザ端末6へ出力する。ユーザ端末6の利用者(分析者)は、データの傾向分析の結果の後に、代表データ項目にまとめられた入力データ項目と値が復元されることで、分析者にとって重要なデータ項目が含まれているか否かを容易に判定することができる。
【0171】
図25の最終結果テーブル290の表示画面620では、図22に示した代表データ項目によるデータの傾向分析の結果に対して、代表データ項目に関連するデータ項目の復元結果(項目名とデータ(範囲)が条件1(292))が追加される。
【0172】
図示の例では、代表データ項目=「前期総資産合計」に対して同一のグループ#257に所属する「総資産合計」と「負債・純資産合計」のデータ項目が復元され、復元されたデータ項目からデータ(数値)も復元される。
【0173】
ユーザ端末6を利用する分析者は、最終結果テーブル290の表示画面620を参照することで、絞り込み及び復元サーバ3が実施したグルーピングの復元結果と、データの傾向分析の結果から、不要なデータ項目の選択等を行うことが可能になる。
【0174】
<まとめ>
本実施例では、関連のあるデータ項目を選択する際に、自然言語のデータ項目の名称と、データ項目に対応するデータ(数値データ)の両方を比較して類似するデータ項目の絞り込みを行う。これにより、名前が類似し、かつ、値が類似するデータ項目をグループ化することができる。また、代表データ項目のデータから除外したデータ項目を復元することが可能となって、分析者に復元結果を提示することが可能となる。
【0175】
絞り込み及び復元サーバ3は、データ傾向分析サーバ4へ投入するデータ項目を各グループの代表データ項目に絞り込むことで、データの傾向分析の処理負荷を低減しながら、傾向分析の精度を確保することができる。すなわち、本実施例では、代表データ項目に絞り込むことでデータ傾向分析の処理に要する時間を短縮しながら、全てのデータ項目を入力したのと同等の結果を得ることが可能となる。
【0176】
そして絞り込み及び復元サーバ3は、代表データ項目を選択する際に、代表データ項目のデータから除外するデータ項目を復元する精度を確保可能なデータ項目を代表データ項目として選択する。これにより、データの傾向分析結果を得た後に、代表データ項目と除外されたデータ項目の関係を提供することができる。ユーザ端末6を利用する分析者は、どのようなデータ項目が纏められたのかを知ることができ、分析者にとって重要なデータ項目が傾向分析の結果として得られたか否かを確認することができる。また、本実施例では、ユーザ端末6を利用する分析者は、傾向分析の後処理で、不要なデータ項目を選択することが可能になる。
【0177】
なお、本発明は上記した実施例に限定されるものではなく、様々な変形例が含まれる。例えば、上記した実施例は本発明を分かりやすく説明するために詳細に記載したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また、ある実施例の構成の一部を他の実施例の構成に置き換えることが可能であり、また、ある実施例の構成に他の実施例の構成を加えることも可能である。また、各実施例の構成の一部について、他の構成の追加、削除、又は置換のいずれもが、単独で、又は組み合わせても適用可能である。
【0178】
また、上記の各構成、機能、処理部、及び処理手段等は、それらの一部又は全部を、例えば集積回路で設計する等によりハードウェアで実現してもよい。また、上記の各構成、及び機能等は、プロセッサがそれぞれの機能を実現するプログラムを解釈し、実行することによりソフトウェアで実現してもよい。各機能を実現するプログラム、テーブル、ファイル等の情報は、メモリや、ハードディスク、SSD(Solid State Drive)等の記録装置、または、ICカード、SDカード、DVD等の記録媒体に置くことができる。
【0179】
また、制御線や情報線は説明上必要と考えられるものを示しており、製品上必ずしも全ての制御線や情報線を示しているとは限らない。実際には殆ど全ての構成が相互に接続されていると考えてもよい。
【符号の説明】
【0180】
1 データ傾向分析システム
2 データベースサーバ
3 絞り込み及び復元サーバ
4 データ傾向分析サーバ4
6 ユーザ端末6−1〜6−3
20 データベース
220 分析対象データテーブル
240 独立データ項目テーブル
260 データの傾向分析の結果テーブル
250 サマリーテーブル
270 代表データテーブル
280 復元テーブル
290 最終結果テーブル
310 データ間関連分析部
320 グループ生成部
330 入力代表データ選出部
340 復元式生成部
350 データ復元部
【要約】
【課題】分析対象とするデータ項目を絞り計算負荷を下げつつも、全データ項目を使って分析したのと同様の結果を精度良く得ることを目的とする。また同類と考えられる属性をまとめることで、項目数が多くても分析結果の解釈を容易にすることも目的とする。
【解決手段】計算機が、複数の前記データテーブルについてデータ項目間の関連を抽出して、データ項目の関連情報を生成し、関連情報に基づいて前記データ項目の復元情報を生成し、前記関連情報に基づいて前記データ項目のグループを生成し、前記関連情報と前記復元情報に基づいて、前記グループ内のデータ項目から代表データ項目を選択し、前記代表データ項目に対応するデータの傾向分析を実施し、前記代表データ項目が所属する前記グループのデータ項目を前記復元情報に基づいて復元し、前記代表データ項目に対応するデータの傾向分析の結果と、前記データ項目の復元結果を出力する。
【選択図】図1
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15
図16
図17
図18
図19
図20
図21
図22
図23
図24
図25
図26