(57)【要約】【課題】分析対象とするデータ項目を絞り計算負荷を下げつつも、全データ項目を使って分析したのと同様の結果を精度良く得ることを目的とする。また同類と考えられる属性をまとめることで、項目数が多くても分析結果の解釈を容易にすることも目的とする。【解決手段】計算機が、複数の前記データテーブルについてデータ項目間の関連を抽出して、データ項目の関連情報を生成し、関連情報に基づいて前記データ項目の復元情報を生成し、前記関連情報に基づいて前記データ項目のグループを生成し、前記関連情報と前記復元情報に基づいて、前記グループ内のデータ項目から代表データ項目を選択し、前記代表データ項目に対応するデータの傾向分析を実施し、前記代表データ項目が所属する前記グループのデータ項目を前記復元情報に基づいて復元し、前記代表データ項目に対応するデータの傾向分析の結果と、前記データ項目の復元結果を出力する。【選択図】図１
2019175009.tif 000002
【特許請求の範囲】
【請求項１】
プロセッサとメモリを含む計算機で、データ項目に対応するデータを有するデータテーブルについてデータの傾向分析を行うデータ傾向分析方法であって、
前記計算機が、複数の前記データテーブルについてデータ項目間の関連を抽出して、データ項目の関連情報を生成する第１のステップと、
前記計算機が、前記関連情報に基づいて前記データ項目の復元情報を生成する第２のステップと、
前記計算機が、前記関連情報に基づいて前記データ項目のグループを生成する第３のステップと、
前記計算機が、前記関連情報と前記復元情報に基づいて、前記グループ内のデータ項目から代表データ項目を選択する第４のステップと、
前記計算機が、前記代表データ項目に対応するデータの傾向分析を実施する第５のステップと、
前記計算機が、前記代表データ項目が所属する前記グループのデータ項目を前記復元情報に基づいて復元する第６のステップと、
前記計算機が、前記代表データ項目に対応するデータの傾向分析の結果と、前記データ項目の復元結果を出力する第７のステップと、
を含むことを特徴とするデータ傾向分析方法。
【請求項２】
請求項１に記載のデータ傾向分析方法であって、
前記第１のステップは、
前記データ項目の項目名の自然言語による類似度と、前記データ項目に対応するデータの値の類似度から関連するデータ項目のペアを抽出し、当該データ項目のペアについて前記関連情報を生成することを特徴とするデータ傾向分析方法。
【請求項３】
請求項２に記載のデータ傾向分析方法であって、
前記第２のステップは、
前記データ項目のペアを構成する第１のデータ項目と第２のデータ項目のそれぞれについて、前記第１のデータ項目のデータから前記第２のデータ項目を算出する第１の復元式と、前記第２のデータ項目のデータから前記第１のデータ項目を算出する第２の復元式を含む前記復元情報を生成することを特徴とするデータ傾向分析方法。
【請求項４】
請求項３に記載のデータ傾向分析方法であって、
前記第４のステップは、
前記データ項目のペアのうち前記復元情報からデータ項目を復元したときに復元精度を確保可能なデータ項目を代表データ項目として前記グループ毎に選択することを特徴とするデータ傾向分析方法。
【請求項５】
請求項３に記載のデータ傾向分析方法であって、
前記第４のステップは、
前記データ項目のペアのうち前記復元情報からデータ項目を復元したときに復元精度が所定の閾値よりも低下する場合には、前記グループを分割することを特徴とするデータ傾向分析方法。
【請求項６】
請求項１に記載のデータ傾向分析方法であって、
前記第７のステップは、
前記データ項目の復元結果を、前記傾向分析の結果に含まれる前記代表データ項目と関連付けて出力することを特徴とするデータ傾向分析方法。
【請求項７】
プロセッサとメモリを含む絞込み及び復元サーバと、
プロセッサとメモリを含むデータ傾向分析サーバと、を有し、データ項目に対応するデータを有するデータテーブルについてデータの傾向分析を行うデータ傾向分析システムであって、
前記絞込み及び復元サーバは、
複数のデータテーブルについてデータ項目間の関連を抽出して、データ項目の関連情報を生成するデータ間関連分析部と、
前記関連情報に基づいて前記データ項目の復元情報を生成する復元式生成部と、
前記関連情報に基づいて前記データ項目のグループを生成するグループ生成部と、
前記関連情報と前記復元情報に基づいて、前記グループ内のデータ項目から代表データ項目を選択し、前記代表データ項目に対応するデータの傾向分析を前記データ傾向分析サーバに実施させる代表データ項目選出部と、
前記データ傾向分析サーバから前記代表データ項目に対応するデータの傾向分析の結果を受け付けて、前記代表データ項目が所属する前記グループのデータ項目を前記復元情報に基づいて復元し、前記データ項目の復元結果と前記傾向分析の結果を出力するデータ復元部と、
を有することを特徴とするデータ傾向分析システム。
【請求項８】
請求項７に記載のデータ傾向分析システムであって、
前記データ間関連分析部は、
前記データ項目の項目名の自然言語による類似度と、前記データ項目に対応するデータの値の類似度から関連するデータ項目のペアを抽出し、当該データ項目のペアについて前記関連情報を生成することを特徴とするデータ傾向分析システム。
【請求項９】
請求項８に記載のデータ傾向分析システムであって、
前記復元式生成部は、
前記データ項目のペアを構成する第１のデータ項目と第２のデータ項目のそれぞれについて、前記第１のデータ項目のデータから前記第２のデータ項目を算出する第１の復元式と、前記第２のデータ項目のデータから前記第１のデータ項目を算出する第２の復元式を含む復元情報を生成することを特徴とするデータ傾向分析システム。
【請求項１０】
請求項９に記載のデータ傾向分析システムであって、
前記代表データ項目選出部は、
前記データ項目のペアのうち前記復元情報からデータ項目を復元したときに復元精度を確保可能なデータ項目を代表データ項目としてグループ毎に選択することを特徴とするデータ傾向分析システム。
【請求項１１】
請求項９に記載のデータ傾向分析システムであって、
前記代表データ項目選出部は、
前記データ項目のペアのうち前記復元情報からデータ項目を復元したときに復元精度が所定の閾値よりも低下する場合には、前記グループを分割することを特徴とするデータ傾向分析システム。
【請求項１２】
請求項７に記載のデータ傾向分析システムであって、
前記データ復元部は、
前記データ項目の復元結果を、前記傾向分析の結果に含まれる前記代表データ項目と関連付けて出力することを特徴とするデータ傾向分析システム。
【請求項１３】
プロセッサとメモリを含む絞り込み及び復元装置であって、
データ項目に対応するデータを有するデータテーブルを複数読み込んで、前記複数のデータテーブルについてデータ項目間の関連を抽出して、データ項目の関連情報を生成するデータ間関連分析部と、
前記関連情報に基づいて前記データ項目の復元情報を生成する復元式生成部と、
前記関連情報に基づいて前記データ項目のグループを生成するグループ生成部と、
前記関連情報と前記復元情報に基づいて、前記グループ内のデータ項目から代表データ項目を選択し、前記代表データ項目に対応するデータの傾向分析を外部に依頼する代表データ項目選出部と、
前記代表データ項目に対応するデータの傾向分析の結果を受け付けると、前記代表データ項目が所属する前記グループのデータ項目を前記復元情報に基づいて復元し、前記データ項目の復元結果と前記傾向分析の結果を出力するデータ復元部と、
を有することを特徴とする絞り込み及び復元装置。
【請求項１４】
請求項１３に記載の絞り込み及び復元装置であって、
前記データ間関連分析部は、
前記データ項目の項目名の自然言語による類似度と、前記データ項目に対応するデータの値の類似度から関連するデータ項目のペアを抽出し、当該データ項目のペアについて前記関連情報を生成することを特徴とする絞り込み及び復元装置。
【請求項１５】
請求項１４に記載の絞り込み及び復元装置であって、
前記復元式生成部は、
前記データ項目のペアを構成する第１のデータ項目と第２のデータ項目のそれぞれについて、前記第１のデータ項目のデータから前記第２のデータ項目を算出する第１の復元式と、前記第２のデータ項目のデータから前記第１のデータ項目を算出する第２の復元式を含む復元情報を生成することを特徴とする絞り込み及び復元装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データの傾向分析に関する。
【背景技術】
【０００２】
従来から相関分析や機械学習を用いて大量のデータについてデータ傾向分析を行って、データの特徴を導き出す技術が知られている。また、傾向分析としては、与えられたデータから類似するデータを集めて、いくつかのクラスタに分類したり、類似度を算出するクラスタ手法が知られている。
【０００３】
データの特徴やデータ項目間の関係を抽出する技術としては特許文献１が知られている。特許文献１には、分析者（または利用者）がデータの内容を詳しく知らなくても、データ整形に適する主キーとなる列（データ項目）を推薦する技術が開示されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１２−２３８１５３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
ビッグデータ分析などにおいては、扱うデータ量が多いため、分析の際のリソースのパフォーマンス不足や分析処理時間が膨大にかかるなどの課題があるため、従来では、人手で入力データを取捨選択して分析対象データの絞込みが行われていた。
【０００６】
しかし、人（分析者）の判断で入力データを取捨選択する従来の技術では、重要なデータ項目を見落としてしまう可能性があり、また、有用な分析結果が得られなかった場合には、再度入力データの取捨選択を人手で再度実行する必要が生じて作業量が増える、という問題があった。
【０００７】
一方で、分析対象データのデータ項目を機械的に絞り込み、絞り込んだデータに基づいて傾向分析を行うと、分析者にとって重要なデータ項目が出力結果として得られない場合があった。
【０００８】
そこで、本発明は上記問題点に鑑みてなされたもので、分析対象とするデータ項目を絞り計算負荷を下げつつも、全データ項目を使って分析したのと同様の結果を精度良く得ることを目的とする。また同類と考えられる属性をまとめることで、項目数が多くても分析結果の解釈を容易にすることも目的とする。
【課題を解決するための手段】
【０００９】
本発明は、プロセッサとメモリを含む計算機で、データ項目に対応するデータを有するデータテーブルについてデータの傾向分析を行うデータ傾向分析方法であって、前記計算機が、複数の前記データテーブルについてデータ項目間の関連を抽出して、データ項目の関連情報を生成する第１のステップと、前記計算機が、前記関連情報に基づいて前記データ項目の復元情報を生成する第２のステップと、前記計算機が、前記関連情報に基づいて前記データ項目のグループを生成する第３のステップと、前記計算機が、前記関連情報と前記復元情報に基づいて、前記グループ内のデータ項目から代表データ項目を選択する第４のステップと、前記計算機が、前記代表データ項目に対応するデータの傾向分析を実施する第５のステップと、前記計算機が、前記代表データ項目が所属する前記グループのデータ項目を前記復元情報に基づいて復元する第６のステップと、前記計算機が、前記代表データ項目に対応するデータの傾向分析の結果と、前記データ項目の復元結果を出力する第７のステップと、を含む。
【発明の効果】
【００１０】
したがって、本発明の分析結果は同類の項目をまとめて提示するので、人が分析結果を見やすい。全項目を対象とした分析に近い結果が得られる(分析者の主観的な判断で項目を選択して特徴が失われる分析にならない)分析にかかる計算負荷を低減できる。
【図面の簡単な説明】
【００１１】
【図１】本発明の実施例を示し、データ傾向分析システムの一例を示すブロック図である。
【図２】本発明の実施例を示し、絞り込み及び復元サーバの一例を示すブロック図である。
【図３】本発明の実施例を示し、データ傾向分析システムで行われる処理の一例を示すフローチャートである。
【図４】本発明の実施例を示し、スキーマ情報テーブルの一例を示す図である。
【図５】本発明の実施例を示し、分析対象データテーブルの一例を示す図である。
【図６】本発明の実施例を示し、データ間関連結果の一例を示す図である。
【図７】本発明の実施例を示し、独立データ項目テーブルの一例を示す図である。
【図８】本発明の実施例を示し、データ傾向分析システムで行われる入力データ項目のグループ化処理の一例を示すフローチャートである。
【図９】本発明の実施例を示し、サマリーテーブルの一例を示す図である。
【図１０】本発明の実施例を示し、サマリーテーブルへの格納処理の一例を示すフローチャートの前半部である。
【図１１】本発明の実施例を示し、サマリーテーブルへの格納処理の一例を示すフローチャートの後半部である。
【図１２】本発明の実施例を示し、回帰式の一例を示す前期総資産合計と総資産合計のグラフである。
【図１３】本発明の実施例を示し、グループを割り当てたサマリーテーブルの一例を示す図である。
【図１４】本発明の実施例を示し、データ項目とグループの関係の一例を示す図である。
【図１５】本発明の実施例を示し、代表データの選出処理の一例を示すフローチャートである。
【図１６】本発明の実施例を示し、代表データの選出処理の他の例を示すフローチャートである。
【図１７】本発明の実施例を示し、代表データの選出処理におけるノードの分割の一例を示す図である。
【図１８】本発明の実施例を示し、代表データの選出処理におけるノードの分割の他の例を示す図である。
【図１９】本発明の実施例を示し、代表データテーブルの一例を示す図である。
【図２０】本発明の実施例を示し、復元テーブルの一例を示す図である。
【図２１】本発明の実施例を示し、データ傾向分析処理の一例を示すフローチャートである。
【図２２】本発明の実施例を示し、データの傾向分析の結果テーブルの一例を示す図である。
【図２３】本発明の実施例を示し、データ復元処理の一例を示すフローチャートである。
【図２４】本発明の実施例を示し、データ復元計算処理の一例を示すフローチャートである。
【図２５】本発明の実施例を示し、最終結果テーブルの表示画面の一例を示す図である。
【図２６】本発明の実施例を示し、候補テーブルの一例を示す図である。
【発明を実施するための形態】
【００１２】
以下、本発明の実施形態を添付図面に基づいて説明する。
【００１３】
＜データ傾向分析システムの構成＞
図１は、本発明の実施例を示し、データ傾向分析システムの一例を示すブロック図である。データ傾向分析システム１は、分析対象データや最終結果などの情報を格納するデータベースサーバ２と、分析対象データのデータ項目の絞り込みと、データ項目の復元を実行する絞り込み及び復元サーバ３と、分析対象データについて傾向分析処理を実行するデータ傾向分析サーバ４と、データ傾向分析システム１を利用するユーザ端末６−１〜６−３と、各サーバとユーザ端末６−１〜６−３を接続するネットワーク５を含む。
【００１４】
なお、以下の説明では、ユーザ端末の個々について特定しない場合には、「−」以降を省略した符号「６」を用いる。その他の構成要素の符号についても同様である。
【００１５】
データベースサーバ２は、データベース２０と類義語辞書２２を提供する計算機で、ネットワークインタフェース（図中Ｉ／Ｆ）２１を介してネットワーク５に接続される。なお、データベースサーバ２では図示しないＤＢＭＳ（Ｄａｔａｂａｓｅ ｍａｎａｇｅｍｅｎｔ ｓｙｓｔｅｍ）が稼働する。
【００１６】
データベース２０は、分析対象データのテーブルを格納する分析対象データテーブル２２０と、分析対象データのスキーマ情報を格納するスキーマ情報テーブル２１０と、分析対象データのデータ項目間の類似度の計算結果を格納するデータ間関連計算結果２３０と、データテーブルのデータ項目名を格納する独立データ項目テーブル２４０と、データ項目間の類似度と回帰式及びグループを格納するサマリーテーブル２５０と、データの傾向分析の結果を格納する結果テーブル２６０と、選択された代表データを格納する代表データテーブル２７０と、代表データ項目を選択するために最小経路（後述）を格納する復元テーブル２８０と、最終的な演算結果を格納する最終結果テーブル２９０を含む。
【００１７】
分析対象データテーブル２２０は、複数のデータテーブルで構成することができる。類義語辞書２２は、データテーブルのデータ項目名の名寄せを行うために予め設定された辞書である。
【００１８】
絞り込み及び復元サーバ３は、データ項目間の類似度とデータ項目に対応するデータ間の類似度をそれぞれ算出するデータ間関連分析部３１０と、データ項目名の類似度とデータの類似度に基づいてデータ項目のグループを生成するグループ生成部３２０と、各グループで代表となるデータ項目（代表データ項目）を選出する入力代表データ選出部３３０と、代表データ項目からグループに含まれるデータ項目名を復元する復元式（回帰式）を生成する復元式生成部３４０と、復元式に基づいて関連するデータ項目（群）を復元するデータ復元部３５０と、代表データ項目を選出するための候補テーブル３６０を有する。
【００１９】
データ傾向分析サーバ４は、データ傾向分析部４１を有する。データ傾向分析部４１は、前記従来例と同様であり、相関分析や機械学習等の周知又は公知の技術を適用してデータの傾向分析を実行する。本実施例では、絞り込み及び復元サーバ３が選択した代表データ項目に対応する代表データを用いて傾向分析を実行する。
【００２０】
ユーザ端末６は、ネットワークインタフェース（図中Ｉ／Ｆ）６１を介してネットワーク５に接続された計算機で、絞り込み及び復元サーバ３に対する指示と応答を行う入出力部６２を含む。入出力部６２は、キーボードやマウスやタッチパネル等の入力装置とディスプレイなどの出力装置を含む。
【００２１】
ユーザ端末６は、データベースサーバ２と絞り込み及び復元サーバ３とデータ傾向分析サーバ４を含むデータ傾向分析システム１を利用してデータの傾向分析を実行する。
【００２２】
なお、本実施例では、データベースサーバ２と絞り込み及び復元サーバ３とデータ傾向分析サーバ４が異なる計算機で実現される例を示すが、これに限定されるものではない。例えば、データベースサーバ２と絞り込み及び復元サーバ３とデータ傾向分析サーバ４の機能を一つの計算機で提供してもよく、あるいは、各サーバが仮想計算機で稼働するようにしても良い。また、本実施例では、分析対象のデータテーブルをデータ傾向分析システム１内に保持する例を示すが、これに限定されるものではなく、外部の装置から読み込むようにしてもよい。
【００２３】
図２は、絞り込み及び復元サーバ３の一例を示すブロック図である。絞り込み及び復元サーバ３は、プロセッサ３１と、メモリ３２と、ストレージ３３と、ネットワークインタフェース３４と、を含む計算機である。
【００２４】
メモリ３２には、データ間関連分析部３１０と、グループ生成部３２０と、入力代表データ選出部３３０と、復元式生成部３４０と、データ復元部３５０がロードされて、プロセッサ３１によって実行される。
【００２５】
データ間関連分析部３１０と、グループ生成部３２０と、入力代表データ選出部３３０と、復元式生成部３４０と、データ復元部３５０の各機能部はプログラムとしてメモリ２０２にロードされる。
【００２６】
プロセッサ３１は、各機能部のプログラムに従って処理することによって、所定の機能を提供する機能部として稼働する。例えば、プロセッサ３１は、データ間関連分析プログラムに従って処理することでデータ間関連分析部３１０として機能する。他のプログラムについても同様である。さらに、プロセッサ３１は、各プログラムが実行する複数の処理のそれぞれの機能を提供する機能部としても稼働する。計算機及び計算機システムは、これらの機能部を含む装置及びシステムである。
【００２７】
絞り込み及び復元サーバ３の各機能を実現するプログラム、テーブル等の情報は、ストレージ３３や不揮発性半導体メモリ、ハードディスクドライブ、ＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）等の記憶デバイス、または、ＩＣカード、ＳＤカード、ＤＶＤ等の計算機読み取り可能な非一時的データ記憶媒体に格納することができる。
【００２８】
＜処理の概要＞
図３は、データ傾向分析システム１で行われる処理の一例を示すフローチャートである。この処理は、絞り込み及び復元サーバ３がユーザ端末６からデータの傾向分析の指示を受け付けたときに開始される。なお、データ分析の指示には、分析対象データテーブル２２０に含まれるデータテーブルのスキーマ情報や、分析対象のデータテーブルや分析対象のデータの指定を含むことができる。
【００２９】
本実施例では、分析対象のデータとして創業１００年以上の企業の傾向を分析する例を示し、スキーマ情報テーブル２１０及びテーブル名２１２から財務諸表や経営者情報等を指定した場合を説明する。以下の説明は、処理の概要を示し、処理の詳細については後述する。
【００３０】
ステップＳ１では、絞り込み及び復元サーバ３は、ユーザ端末６が指定したデータテーブルについてデータ項目（入力データ項目）のグループ化を行う。グループ化は、以下の手順で実行される。
【００３１】
まず、データ間関連分析部３１０が、分析対象として指定されたデータテーブルのデータ項目をスキーマ情報テーブル２１０または分析対象データテーブル２２０から読み込んで、独立データ項目テーブル２４０を生成する。なお、スキーマ情報テーブル２１０には、データベースサーバ２の分析対象データテーブル２２０に格納されたテーブルのスキーマ情報が予め登録されている。また、データ間関連分析部３１０は、指定されたデータテーブルの分析対象データテーブル２２０からデータ項目を取得しても良い。
【００３２】
次に、データ間関連分析部３１０が、独立データ項目テーブル２４０と分析対象データテーブル２２０を読み込んで、データ項目間の項目名（自然言語）の類似度と、当該データ項目に対応するデータ（数値）間の類似度と分散値を算出し、データ間関連計算結果２３０を生成する。
【００３３】
そして、データ間関連分析部３１０が、項目名の類似度とデータ間の類似度に基づいて、データ項目のペアを抽出し、サマリーテーブル２５０を生成する。次に、復元式生成部３４０が、サマリーテーブル２５０のデータ項目のペアに対して双方向の復元式（回帰式）を生成してサマリーテーブル２５０に格納する。また、グループ生成部３２０は、データ項目のペアにグループを割り当ててサマリーテーブル２５０を更新する。
【００３４】
次にステップＳ２では、入力代表データ選出部３３０が、サマリーテーブル２５０の各グループから当該グループを代表するデータ項目を代表データ項目として選択する。
【００３５】
次に、ステップＳ３では、絞り込み及び復元サーバ３が、選択された代表データ項目と代表データ項目のデータをデータ傾向分析サーバ４に通知して、データの傾向分析を実行させる。なお、本実施例では、入力代表データ選出部３３０が、データ傾向分析サーバ４に代表データ項目のデータ（データテーブルやデータ項目等）を通知する例を示すが、他の機能部が実施しても良い。
【００３６】
データ傾向分析サーバ４は、絞り込み及び復元サーバ３から通知された代表データ項目のデータをデータベースサーバ２から読み込んで、所定の傾向分析（傾向推定）を実行する。傾向分析が完了するとデータ傾向分析サーバ４は、傾向分析の結果を絞り込み及び復元サーバ３に応答する。
【００３７】
ステップＳ４では、傾向分析の結果を受信した絞り込み及び復元サーバ３ではデータ復元部３５０が、代表データ項目以外のデータ項目を回帰式に基づいて復元する。そして、データ復元部３５０は、代表データ項目に関連する復元後のデータ項目と傾向分析の結果を最終結果テーブル２９０に格納する。データ復元部３５０は、最終結果テーブル２９０の内容をユーザ端末６に出力する。
【００３８】
以上のような処理によって、ユーザ端末６を利用する分析者にとって重要なデータ項目を、分析者の主観的な解釈に依存することなく、精度よくデータ項目を復元し、適切な分析結果を得ることが可能となる。
【００３９】
すなわち、本実施例のデータ傾向分析システム１では、関連のあるデータ項目について、データ項目の名称を自然言語の類似度と、データ項目に対応するデータの数値の類似度の双方について比較することで、絞り込むデータ項目をグループ化する。
【００４０】
次に、データ傾向分析システム１では、グループ化されたデータ項目の中から、復元式による復元精度が高くなる代表データ項目を選択する。そして、データ傾向分析システム１は、選択されたデータ項目のデータについて、データの傾向分析を実行する。これにより、絞り込まれたデータ項目に対応する少量のデータによって、全ての分析対象データについて傾向分析を実施した場合と同等の傾向分析の結果を得ることができる。
【００４１】
データ傾向分析システム１では、最後に、代表データ項目のグループ内のデータ項目を復元して、データの傾向分析結果とともにユーザ端末６へ出力することで、分析者に対して、絞り込みの根拠及び全体を提示することが可能となる。
【００４２】
なお、データ傾向分析サーバ４が実行する傾向分析（傾向推定）については、周知または公知の技術を適用すれば良いので、本実施例では詳述しない。
【００４３】
＜テーブルの構成＞
図４は、スキーマ情報テーブル２１０の一例を示す図である。スキーマ情報テーブル２１０には、分析対象データテーブル２２０に格納されたデータテーブルのスキーマ情報が予め設定される。
【００４４】
スキーマ情報テーブル２１０は、識別番号（図中＃）２１１と、テーブル名２１２と、項目名２１３をひとつのエントリに含む。なお、図示の例では、２つの項目の例を示したが、その他の項目を含むことができる。
【００４５】
項目名２１３には、後述する分析対象データテーブル２２０のデータ項目（フィールド名）が自然言語で格納される。
【００４６】
図５は、分析対象データテーブル２２０の一例を示す図である。分析対象データテーブル２２０は、データベースサーバ２に予め格納された分析対象データのテーブルである。なお、分析対象データテーブル２２０は複数のデータテーブルで構成され、図示の例では財務諸表のデータテーブルの例を示す。
【００４７】
分析対象データテーブル２２０は、企業コード２２１と、売上高２２２と、売上原価２２３と、営業利益２２４と、流動資産２２５と、固定資産２２６と、流動負債２２７と、固定負債２２８と、資本金２２９と、をひとつのエントリに含む。
【００４８】
分析対象データテーブル２２０は、データテーブルの毎にデータ項目は異なるが、各フィールドのデータには数値が格納される。
【００４９】
図６は、データ間関連計算結果２３０の一例を示す図である。データ間関連計算結果２３０は、データ間関連分析部３１０によって生成されるテーブルである。
【００５０】
データ間関連計算結果２３０は、識別番号（図中＃）２３１と、データ項目（ｘ）２３２と、データ項目（ｙ）２３３と、項目名の類似度２３４と、分散の差２３５と、データ間類似度２３６をひとつのエントリに含む。
【００５１】
データ項目（ｘ）２３２とデータ項目（ｙ）２３３には、ペアとなる独立データ項目テーブル２４０（後述）の項目名２４２の値が格納される。項目名の類似度２３４には、データ項目（ｘ）２３２とデータ項目（ｙ）２３３の自然言語による項目名の類似度が格納される。
【００５２】
分散の差２３５には、データ項目（ｘ）２３２のデータ（数値）と、データ項目（ｙ）２３３のデータ（数値）の分散値の差分が格納される。データ間類似度２３６には、データ項目（ｘ）２３２のデータ（数値）と、データ項目（ｙ）２３３のデータ（数値）の類似度が格納される。
【００５３】
図７は、独立データ項目テーブル２４０の一例を示す図である。独立データ項目テーブル２４０は、データ間関連分析部３１０によって生成される。独立データ項目テーブル２４０は、識別番号（図中＃）２４１と、項目名２４２をひとつのエントリに含む。
【００５４】
項目名２４２には、上述のように分析対象データテーブル２２０のデータ項目が自然言語で格納される。
【００５５】
図９は、サマリーテーブル２５０の一例を示す図である。サマリーテーブル２５０は、グループ生成部３２０によって更新される。
【００５６】
サマリーテーブル２５０は、識別番号（図中＃）２５１と、データ項目（ｘ）２５２と、データ項目（ｙ）２５３と、データ間類似度２５４と、回帰式（ｘ→ｙの復元）２５５と、回帰式（ｙ→ｘの復元）２５６と、グループ＃２５７をひとつのエントリに含む。
【００５７】
データ項目（ｘ）２５２とデータ項目（ｙ）２５３は、データ間関連計算結果２３０のデータ項目（ｘ）２３２とデータ項目（ｙ）２３３の内容が格納される。データ間類似度２５４には、データ間関連計算結果２３０のデータ間類似度２３６の値が格納される。
【００５８】
回帰式（ｘ→ｙの復元）２５５には、データ項目（ｘ）２５２のデータからデータ項目（ｙ）２５３を復元するための回帰式が格納される。回帰式（ｙ→ｘの復元）２５６には、データ項目（ｙ）２５３のデータからデータ項目（ｘ）２５２を復元するための回帰式が格納される。
【００５９】
グループ＃２５７には、データ項目（ｘ）２５２とデータ項目（ｙ）２５３のペアが所属するグループの識別子（グループ番号）が格納される。
【００６０】
なお、図１３は、図９のサマリーテーブル２５０のグループ＃２５７にグループ番号が付与された状態を示す図である。
【００６１】
図１９は、代表データテーブル２７０の一例を示す図である。代表データテーブル２７０は、入力代表データ選出部３３０によって生成される。代表データテーブル２７０は、識別番号（図中＃）２７１と、項目名２７２をひとつのエントリに含む。
【００６２】
図２０は、復元テーブル２８０の一例を示す図である。復元テーブル２８０は、入力代表データ選出部３３０によって生成される。
【００６３】
復元テーブル２８０は、識別番号（図中＃）２８１と、データ項目（ｘ）２８２と、データ項目（ｙ）２８３と、回帰式（ｘ→ｙの復元）２８４をひとつのエントリに含む。
【００６４】
データ項目（ｘ）２８２とデータ項目（ｙ）２８３には、サマリーテーブル２５０のデータ項目（ｘ）２５２とデータ項目（ｙ）２５３の内容が格納される。回帰式（ｘ→ｙの復元）２８４にはサマリーテーブル２５０の回帰式（ｘ→ｙの復元）２５５の値が格納される。
【００６５】
図２２は、データの傾向分析の結果テーブル２６０の一例を示す図である。データの傾向分析の結果テーブル２６０は、データ復元部３５０によって生成される。
【００６６】
データの傾向分析の結果テーブル２６０は、識別番号（図中＃）２６１と、条件１（２６２）と、条件２（２６３）をひとつのエントリに含む。本実施例では、創業１００年以上の企業の傾向分析結果として、条件１（２６２）と条件２（２６３）を共に満たす企業が創業から１００年以上継続可能な企業の可能性が高い、ということを示す。
【００６７】
図２６は、候補テーブル３６０の一例を示す図である。候補テーブル３６０は入力代表データ選出部３３０が管理するテーブルである。
【００６８】
候補テーブル３６０は、識別番号３６１と、項目名３６２と、分散の差３６３をひとつのエントリに含む。識別番号３６１には、入力代表データ選出部３３０が付与した値が格納される。項目名３６２と分散の差３６３には入力代表データ選出部３３０が選択した代表データ項目の候補の値が格納される。
【００６９】
＜処理の詳細＞
図８は、データ傾向分析システム１で行われるデータ項目のグループ化処理の一例を示すフローチャートである。この処理は、図３のステップＳ１で行われる。
【００７０】
データ傾向分析システム１の絞り込み及び復元サーバ３は、ユーザ端末６から傾向分析を実施するデータテーブル(スキーマ情報テーブル２１０、分析対象データテーブル２２０)の情報を受け付ける。本実施例では、上述のように創業から１００年以上継続されている企業のデータのみが格納されたデータテーブルを用いる例を示す。
【００７１】
まず、ステップＳ１１では、データ間関連分析部３１０が、分析対象として指定されたデータテーブルのデータ項目をスキーマ情報テーブル２１０または分析対象データテーブル２２０から読み込んで、独立データ項目テーブル２４０を生成する。
【００７２】
独立データ項目テーブル２４０には、分析対象として指定された１以上のデータテーブルの全てのデータ項目が自然言語で格納される。なお、本実施例の分析対象データテーブル２２０では、データ項目の名称は自然言語で記載されているものとする。
【００７３】
ステップＳ１２では、データ間関連分析部３１０が、独立データ項目テーブル２４０の項目名２４２の全ての組合せについて、ステップＳ２１までの処理を繰り返して実行する。データ間関連分析部３１０は、独立データ項目テーブル２４０から２つの項目名２４２を選択してから以下の処理を実行する。
【００７４】
ステップＳ１３では、データ間関連分析部３１０が、選択された２つの項目名２４２の組合せについて自然言語による類似度を算出する。なお、２つの項目名２４２の類似度の算出は、周知または公知の技術を適用することができる。例えば、Ratcliff とObershelp による「ゲシュタルトパターンマッチング」（https://docs.python.jp/3/library/difflib.html）と呼ばれるアルゴリズムを利用して類似度を算出することができる。
【００７５】
ステップＳ１４では、データ間関連分析部３１０が、算出された類似度と予め設定された閾値Ｔｈ１を比較して、類似度が閾値Ｔｈ１以上であるか否かを判定する。類似度が閾値Ｔｈ１以上であればステップＳ１５へ進み、類似度が閾値Ｔｈ１未満であればステップＳ２１へ進んで次の項目名２４２の組合せを選択して上記処理を繰り返す。
【００７６】
ステップＳ１５では、データ間関連分析部３１０が、選択された２つの項目名２４２に対応するデータ項目のデータ（数値）を分析対象データテーブル２２０から取得して、データの組み合わせの分散値の差分を算出する。分散値の差分の算出は次の（１）式を用いることができる。
【００７７】
【数１】
2019175009.tif 000003
【００７８】
ただし、「Ａ」は、データ項目（ｘ）の各データ値を示し、「Ｂ」は、データ項目（ｙ）の各データ値を示し、「Aavg」は、データ項目（ｘ）の加算平均値、「Bavg」は、データ項目（y）の加算平均値、「ｎ」はデータの数を示す。また、データ項目（ｘ）とデータ項目（ｙ）は組み合わせたデータ項目を示す。
【００７９】
ステップＳ１６では、データ間関連分析部３１０が、算出された分散値の差分と予め設定された閾値Ｔｈｓを比較して、分散値の差分が閾値Ｔｈｓ以下であるか否かを判定する。分散値の差分が閾値Ｔｈｓ以下であればステップＳ１７へ進み、分散値の差分が閾値Ｔｈｓより上であればステップＳ２１へ進んで次の項目名２４２の組合せを選択して上記処理を繰り返す。
【００８０】
ステップＳ１７では、データ間関連分析部３１０が、選択された２つの項目名２４２に対応するデータ項目のデータ（数値）を分析対象データテーブル２２０から取得して、データ間の類似度を算出する。データ間の類似度についても上述のステップＳ１３と同様に「ゲシュタルトパターンマッチング」を用いることができる。
【００８１】
ステップＳ１８では、データ間関連分析部３１０が、算出された類似度と予め設定された閾値Ｔｈ２を比較して、類似度が閾値Ｔｈ２以上であるか否かを判定する。類似度が閾値Ｔｈ２以上であればステップＳ１９へ進み、類似度が閾値Ｔｈ１未満であればステップＳ２１へ進んで次の項目名２４２の組合せを選択して上記処理を繰り返す。
【００８２】
ステップＳ１９では、データ間関連分析部３１０が、現在選択されている項目名２４２を含む２つのレコードを独立データ項目テーブル２４０から削除する。
【００８３】
ステップＳ２０では、データ間関連分析部３１０が、現在選択されている２つの項目名２４２をペアとして後述するようにサマリーテーブル２５０へ格納する。また、データ間関連分析部３１０は、現在選択されている２つの項目名２４２を、データ間関連計算結果２３０のデータ項目（ｘ）２３２とデータ項目（ｙ）２３３へ格納し、項目名２４２の類似度を項目名の類似度２３４へ格納し、分散値の差分を分散の差２３５へ格納し、データ間の数値の類似度をデータ間類似度２３６へ格納し、識別番号２３１を付与する。
【００８４】
ステップＳ２１では、データ間関連分析部３１０が、次の項目名２４２のペアを選択して上記処理を繰り返し、独立データ項目テーブル２４０の項目名２４２の全ての組み合わせについて完了すれば当該処理を終了する。
【００８５】
上記処理により、データ項目の項目名の類似度が閾値Ｔｈ１以上、データ間の分散値の差分が閾値Ｔｈｓ以下、データの数値の類似度が閾値Ｔｈ２以上の項目名２４２のペアがサマリーテーブル２５０に格納される。そして、独立データ項目テーブル２４０には、類似するペアがない項目名２４２が残される。
【００８６】
本実施例では、データ間関連分析部３１０が、関連のあるデータ項目を選択する際に、自然言語のデータ項目の名称と、データ項目に対応するデータ（数値データ）の両方を比較して類似するデータ項目の絞り込みを行う。これにより、名前が類似し、かつ、値が類似するデータ項目を後述するようにグループ化することができる。
【００８７】
なお、上記ではデータ項目の名称を自然言語による類似度で関連の有無を判定する例を示したが、これに限定されるものではなく、類義語辞書２２を用いて自然言語による類似の判定を行うようにしてもよい。
【００８８】
また、本実施例では、自然言語が類似するデータ項目についてのみ、データ項目に対応するデータ（数値）について類似の判定を行うことで、自然言語が類似しないデータ項目を関連項目から除外することができる。
【００８９】
図１０、図１１は、サマリーテーブル２５０への格納処理の一例を示すフローチャートである。この処理は、図８のステップＳ２０で実行される。
【００９０】
図１０のステップＳ３１では、復元式生成部３４０が、図８の処理で現在選択されている２つの項目名２４２を、サマリーテーブル２５０のデータ項目（ｘ）２５２とデータ項目（ｙ）２５３に格納し、ステップＳ１７で算出されたデータ間の類似度をデータ間類似度２５４へ格納し、識別番号２５１を付与する。
【００９１】
なお、復元式生成部３４０はデータ間関連計算結果２３０から現在選択されている２つの項目名に対応するデータを取得してサマリーテーブル２５０へ格納するようにしても良い。
【００９２】
ステップＳ３２では、復元式生成部３４０が、データ項目（ｘ）２５２のデータからデータ項目（ｙ）２５３を復元する回帰式（ｘ→ｙ）を算出する。なお、回帰式の算出については周知または公知の技術を適用すればよい。
【００９３】
例えば、図１２で示すように、データ項目（ｘ）を前期総資産合計とし、データ間関連計算結果２３０（ｙ）を総資産合計とした場合、二つの量（前期総資産合計、総資産合計）を座標平面に配置して、データの点の分布を近似する直線を回帰式で表すことができる。
【００９４】
ステップＳ３３では、復元式生成部３４０が、データ項目（ｙ）２５３のデータからデータ項目（ｘ）２５２を復元する回帰式（ｙ→ｘ）を算出する。
【００９５】
ステップＳ３４では、復元式生成部３４０が、データ項目（ｘ）２５２のデータからデータ項目（ｙ）２５３を復元する回帰式（ｘ→ｙ）をサマリーテーブル２５０の回帰式（ｘ→ｙの復元）２５５へ格納し、データ項目（ｙ）２５３のデータからデータ項目（ｘ）２５２を復元する回帰式（ｙ→ｘ）をサマリーテーブル２５０の回帰式（ｙ→ｘの復元）２５６へ格納する。
【００９６】
次に、図１１のステップＳ３５では、グループ生成部３２０が、サマリーテーブル２５０の全てのデータ項目（ｘ）２５２とデータ項目（ｙ）２５３のそれぞれについてステップＳ４４までの処理を繰り返して実行する。
【００９７】
ステップＳ３６では、グループ生成部３２０が、サマリーテーブル２５０の先頭のエントリからデータ項目（ｘ）２５２と、データ項目（ｙ）２５３を選択する。そして、グループ生成部３２０は、サマリーテーブル２５０の先頭のエントリから順にグループ＃２５７の付与状況について、データ項目（ｘ）２５２とデータ項目（ｙ）２５３で列方向に比較を行う。
【００９８】
ステップＳ３７では、グループ生成部３２０が、現在選択中のエントリのデータ項目（ｘ）２５２と一致する他のエントリのグループ＃２５７と、現在選択中のエントリのデータ項目（ｙ）２５３と一致する他のエントリのグループ＃２５７が異なるグループであるか否かを判定する。
【００９９】
グループ生成部３２０は、データ項目（ｘ）２５２のグループ＃２５７と、データ項目（ｙ）２５３のグループ＃２５７が異なる場合にはステップＳ３８へ進み、そうでない場合にはステップＳ３９へ進む。
【０１００】
換言すれば、グループ生成部３２０は、現在選択中のエントリのデータ項目（ｘ）２５２とデータ項目が一致するエントリを図１３のサマリーテーブル２５０の列方向で検索して、一致するエントリにグループ＃２５７が付与されていれば当該グループ番号を変数Ｎｘに設定する。
【０１０１】
同様に、グループ生成部３２０は、現在選択中のエントリのデータ項目（ｙ）２５３とデータ項目が一致するエントリをサマリーテーブル２５０の列方向で検索して、一致するエントリにグループ＃２５７が付与されていれば当該グループ番号を変数Ｎｙに設定する。
【０１０２】
そして、グループ生成部３２０は、変数Ｎｘと変数Ｎｙが一致するか否かを判定して、一致しなければステップＳ３８へ進み、そうでない場合にはステップＳ３９に進む。
【０１０３】
ステップＳ３８では、グループ生成部３２０が、現在選択中のデータ項目（ｘ）２５２とデータ項目が一致するエントリのグループ＃２５７と、現在選択中のデータ項目（ｙ）２５３とデータ項目が一致するエントリのグループ＃２５７のグループ番号のうち、小さい方の番号を取得して、現在選択中のエントリとデータ項目が一致したエントリのグループ＃２５７を揃える。その後、ステップＳ４４に進む。
【０１０４】
ステップＳ３９では、グループ生成部３２０が、現在選択中のデータ項目（ｘ）２５２とデータ項目が一致するエントリと、現在選択中のデータ項目（ｙ）２５３とデータ項目が一致するエントリのいずれか一方にグループ＃２５７が設定されているか否かを判定する。
【０１０５】
グループ生成部３２０は、いずれか一方にグループ＃２５７が設定されていればステップＳ４０に進み、そうでない場合にはステップＳ４１に進む。
【０１０６】
ステップＳ４０では、グループ生成部３２０は、現在選択中のデータ項目（ｘ）２５２とデータ項目が一致するエントリと、現在選択中のデータ項目（ｙ）２５３とデータ項目が一致するエントリのいずれかでグループ＃２５７が設定されている値を現在のエントリのグループ＃２５７に設定する。その後、ステップＳ４４へ進む。
【０１０７】
ステップＳ４１では、グループ生成部３２０が、現在選択中のデータ項目（ｘ）２５２とデータ項目が一致するエントリのグループ＃２５７と、現在選択中のデータ項目（ｙ）２５３とデータ項目が一致するエントリのグループ＃２５７が一致するか否かを判定する。グループ生成部３２０は、双方のグループ＃２５７が一致していればステップＳ４２に進み、双方のグループ＃２５７が設定されていなければステップＳ４３へ進む。
【０１０８】
ステップＳ４２では、グループ生成部３２０は、現在選択中のデータ項目（ｘ）２５２とデータ項目が一致するエントリのグループ＃２５７の値を現在のエントリのグループ＃２５７に設定する。その後、ステップＳ４４へ進む。
【０１０９】
ステップＳ４４では、サマリーテーブル２５０の次のエントリのデータ項目（ｘ）２５２とデータ項目（ｙ）２５３を選択してからステップＳ３６に戻って上記処理を繰り返す。
【０１１０】
上記処理により、図９に示したサマリーテーブル２５０は、図１３に示すようにグループ＃２５７が付与される。
【０１１１】
具体的な例を用いて説明する。図９のサマリーテーブル２５０でグループ生成部３２０が先頭のエントリを選択すると、データ項目（ｘ）２５２＝「前期総資産合計」に一致するデータ項目のエントリのグループ＃２５７と、データ項目（ｙ）２５３＝「負債・純資産合計」に一致するデータ項目のエントリのグループ＃２５７には値が設定されていない。このため、グループ生成部３２０は、ステップＳ４１からステップＳ４３に進んで、新規のグループ番号＝１をグループ＃２５７に設定する。
【０１１２】
サマリーテーブル２５０の２番目のエントリも同様で、新たなグループ番号＝２がグループ＃２５７に設定されて、図１３のサマリーテーブル２５０のように更新される。
【０１１３】
サマリーテーブル２５０の３番目のエントリでは、データ項目（ｘ）２５２＝「前期総資産合計」とデータ項目が一致するエントリは識別番号２５１＝４で、グループ＃２５７＝１となる。また、サマリーテーブル２５０の３番目のエントリでは、データ項目（ｙ）２５３＝「負債・純資産合計」とデータ項目が一致するエントリは識別番号２５１＝１で、グループ＃２５７＝１となる。
【０１１４】
したがって、サマリーテーブル２５０の３番目のエントリでは、ステップＳ４１、Ｓ４２によってグループ＃２５７＝１となる。
【０１１５】
以上の処理によって、図１４で示すように、サマリーテーブル２５０のデータ項目（ｘ）２５２と、データ項目（ｙ）２５３の項目名の連鎖からグループ＃２５７が設定される。なお、データ項目（ｘ）２５２またはデータ項目（ｙ）２５３と一致するデータ項目が無いエントリのグループ＃２５７はブランクとなる。
【０１１６】
上記のように、データ間関連分析部３１０が算出した関連情報（データ間関連計算結果２３０のペア（データ項目（ｘ）、（ｙ））と類似度及び分散値の差分）と分析対象データテーブル２２０のデータから、復元式生成部３４０は復元情報（復元式）を生成する。そして、グループ生成部３２０は、関連情報に基づいてデータ項目の項目名をグループ化する。
【０１１７】
図１５は、代表データの選出処理の一例を示すフローチャートである。この処理は、図３のステップＳ２で行われる。
【０１１８】
ステップＳ５１では、入力代表データ選出部３３０がサマリーテーブル２５０のグループ＃２５７毎にステップＳ６３までの処理を繰り返して、各グループ＃２５７を代表するデータ項目を候補テーブル３６０の中から代表データ項目として選択する。入力代表データ選出部３３０は、まず、グループ＃２５７のグループ番号を取得する。
【０１１９】
ステップＳ５２では、取得したグループ番号に所属するサマリーテーブル２５０の全てのエントリについて、ステップＳ６０までの処理を繰り返して、入力データと復元データとの差分が小さい方を候補テーブル３６０に格納する。
【０１２０】
ステップＳ５３では、入力代表データ選出部３３０が、取得したグループ番号に所属するサマリーテーブル２５０から最初のエントリを選択し、データ項目（ｘ）２５２に対応するすべてのデータに回帰式（ｘ→ｙの復元）２５５を適用して復元データの値＝ｙを算出する。
【０１２１】
ステップＳ５４では、入力代表データ選出部３３０が、ステップＳ５３で選択したエントリについて、データ項目（ｙ）２５３に対応するすべてのデータを入力データとして、下記（２）式で差分ｄｉｆｆを算出し、差分（２）とする。
【０１２２】
【数２】
2019175009.tif 000004
【０１２３】
ただし、「Ａ」は、入力データの各データ値を示し、「Ｂ」は、復元データの各データ値を示し、「ｎ」はデータの数を示す。
【０１２４】
ステップＳ５５では、入力代表データ選出部３３０が、ステップＳ５３で選択したエントリについて、データ項目（ｙ）２５３に対応するすべてのデータに回帰式（ｙ→ｘの復元）２５６を適用して復元データの値＝ｘを算出する。
【０１２５】
ステップＳ５６では、入力代表データ選出部３３０が、ステップＳ５３で選択したエントリについて、データ項目（ｘ）２５２に対応するすべてのデータを入力データとして、上記（２）式で差分ｄｉｆｆを算出し、差分（４）とする。
【０１２６】
ステップＳ５７では、入力代表データ選出部３３０が、上記算出した差分（２）が差分（４）を超えたか否かを判定する。入力代表データ選出部３３０は、差分（２）が差分（４）を超えていれば、ステップＳ５８へ進み、差分（２）が差分（４）以下であれば、ステップＳ５９へ進む。
【０１２７】
ステップＳ５８では、入力代表データ選出部３３０が、データ項目（ｙ）２５３の項目名と差分（２）を候補テーブル３６０に追加する。また、入力代表データ選出部３３０が、データ項目（ｘ）２５２とデータ項目（ｙ）２５３及び回帰式（ｘ→ｙの復元）２５５のエントリを復元テーブル２８０に追加する。
【０１２８】
一方、ステップＳ５９では、入力代表データ選出部３３０が、データ項目（ｘ）２５２の項目名と差分（４）を候補テーブル３６０に追加する。
【０１２９】
その後、ステップＳ６０へ進んで、入力代表データ選出部３３０は、グループ番号内の次のエントリを選択して上記処理を繰り返す。入力代表データ選出部３３０は、グループ番号に所属する全てのエントリについて上記処理を実施した後にステップＳ６１に進む。
【０１３０】
ステップＳ６１では、入力代表データ選出部３３０が、候補テーブル３６０から差分３６３が最大のエントリを選択し、当該エントリの項目名３６２を代表データテーブル２７０に追加する。
【０１３１】
ステップＳ６２では、入力代表データ選出部３３０が、候補テーブル３６０をクリア（初期化）する。その後、ステップＳ６３へ進んで、入力代表データ選出部３３０は、サマリーテーブル２５０の次のグループ番号を選択して上記処理を繰り返す。入力代表データ選出部３３０は、サマリーテーブル２５０の全てのグループ番号について上記処理を実施した後に終了する。
【０１３２】
上記処理によって、入力データと復元データの差分ｄｉｆｆが小さい方の元データを代表データ項目とすることができる。これにより、ひとつのグループにまとめたデータ項目のうち、データ傾向分析の出力結果から、同じグループ内で、代表データ項目以外のデータ項目を復元する際に、できるだけ復元精度が高くなるような代表データ項目が選択される。そして、代表データ項目はデータ傾向分析サーバ４へ入力する主データ項目として利用される。
【０１３３】
以上のように、入力代表データ選出部３３０は、データ間関連分析部３１０が生成した関連情報と、復元式生成部３４０が生成した復元情報に基づいて、復元精度を確保可能な代表データ項目をグループ毎に選択する。なお、入力代表データ選出部３３０は、データ項目のデータに復元情報を適用して、復元結果の分散値の差分をデータ項目のペアで比較して、分散値の差分が小さい方を代表データ項目の候補、すなわち復元精度を確保可能と判定する。
【０１３４】
図１６は、代表データの選出処理におけるノードの分割の一例を示す図である。代表データ項目の選出は、上記図１６の差分に限定されるものではなく、ノードの分割によっても実施することができる。代表データの第２の選出処理としてノードの分割の例について説明する。
【０１３５】
なお、以下の説明では、ノード、エッジ、トポロジを以下のように定義する。ノードは、サマリーテーブル２５０のデータ項目（ｘ）２５２とデータ項目（ｙ）２５３を指す。エッジは、データ項目（ｘ）２５２とデータ項目（ｙ）２５３の関係を指し、データ間類似度２５４で表す。トポロジは、グループ＃２５７のグループ番号で表す。
【０１３６】
ステップＳ７１では、入力代表データ選出部３３０がサマリーテーブル２５０のグループ＃２５７毎にステップＳ７９までの処理を繰り返して、各グループ＃２５７を代表するデータ項目を代表データテーブル２７０に格納する。入力代表データ選出部３３０は、グループ＃２５７のグループ番号を取得する。
【０１３７】
ステップＳ７２では、入力代表データ選出部３３０が、ステップＳ７１で取得したグループ番号に所属するノード（エントリ）について、各ノード間の最小距離を算出する。本実施例では、ノード間の距離をデータ間類似度２５４で表す。
【０１３８】
ステップＳ７３では、入力代表データ選出部３３０が、ステップＳ７２で算出したノード間距離が最小となる経路（データ項目（ｘ）２５２とデータ項目（ｙ）２５３）を最小経路とし、最小経路と回帰式（ｘ→ｙの復元）２５５を復元テーブル２８０に格納する。
【０１３９】
ステップＳ７４では、当該最小経路について、対象ノードからの距離が所定の閾値Ｔｈ３以上になったか否かを判定する。入力代表データ選出部３３０は。対象ノードからの距離が所定の閾値Ｔｈ３以上の場合には、ステップＳ７５に進み、対象ノードからの距離が所定の閾値Ｔｈ３未満の場合には、ステップＳ７６に進む。
【０１４０】
ステップＳ７５では、入力代表データ選出部３３０が、対象ノードからの距離が所定の閾値Ｔｈ３以上となったエッジでノード間を２分割する。そしてステップＳ７２へ戻って上記処理を繰り返す。
【０１４１】
ステップＳ７６では、入力代表データ選出部３３０が、ノード間の距離の合計（乗算）を算出し、距離の合計（乗算）が最小となるノードを主ノード（ｐｒｉｍａｒｙ  ｎｏｄｅ）として算出する。なお、距離の合計（乗算）の最小値は、次の（３）式で算出する。
【０１４２】
【数３】
2019175009.tif 000005
【０１４３】
ただし、Ｓはグループを示し、ｘはノードを示す。
【０１４４】
次に、ステップＳ７７では、入力代表データ選出部３３０が、距離の合計（乗算）が最小となるノードを主ノードとして選択し、ステップＳ７８に進んで主ノードのデータ項目を代表データ項目として代表データテーブル２７０に追加する。
【０１４５】
ステップＳ７９では、入力代表データ選出部３３０が、次のグループ番号を選択して上記処理を繰り返し、すべてのグループ番号について代表データ項目の選出が完了すると処理を終了する。
【０１４６】
上記処理により、グループ内の対象のノードから、その他の全てのノード間の距離（データ間類似度）を算出し、ノード間距離の合計(乗算)が最も小さいノードの１つを主ノードとする。そして、入力代表データ選出部３３０は、主ノードと、その他のノードのノード間の距離（データ間類似度）の乗算値が、閾値Ｔｈ３以上の範囲を１つのグループと判定する。一方、入力代表データ選出部３３０は、閾値Ｔｈ３未満の場合は閾値を下回ったエッジ（枝）で切る。なお、距離の合計が最も小さいノードが２つある場合にはランダムに選択すればよい。
【０１４７】
以上のように、ノード間の距離が閾値Ｔｈ３以上の場合には、復元の連鎖によって復元精度が低下するため、ノード（トポロジ）を分割することで、復元精度を確保可能な代表データ項目を選択することができる。
【０１４８】
図１７は、代表データの選出処理におけるノードの分割の一例を示す図である。図１６に示したノード間のデータの類似度から代表データ項目を算出する例を示す。
【０１４９】
入力代表データ選出部３３０は、主ノードから対象ノード間の類似度（距離）の乗算値を算出する（Ｓｔｅｐ１）。そして、入力代表データ選出部３３０は、主ノードからの距離（類似度の乗算値）と閾値（０．７）とを比較して閾値未満のエッジで切断してトポロジを２分割する（Ｓｔｅｐ２）。
【０１５０】
以上の処理を繰り返すことで、グループ番号内のエントリから代表データ項目（主ノード）を選出することができる。
【０１５１】
図１８は、代表データの選出処理におけるノードの分割の他の例を示す図である。図１６に示したノード間の類似度から代表データ項目を算出する例を示す。この例は、ノードの配置が図１７の直線的な配置とは異なる例である。
【０１５２】
この場合も、図１７と同様に隣り合うノードとのデータ間の類似度を算出し、さらに、対角となるノード間についてもデータ間の類似度を乗算によって算出する（Ｓｔｅｐ１）。そして、入力代表データ選出部３３０は、主ノードからの距離（類似度の乗算値）と閾値（０．７）とを比較して閾値未満のエッジで切断してトポロジを２分割する（Ｓｔｅｐ２）。
【０１５３】
図２１は、データ傾向分析処理の一例を示すフローチャートである。この処理は、図３のステップＳ３で行われる処理である。
【０１５４】
入力代表データ選出部３３０は、独立データ項目テーブル２４０と代表データテーブル２７０の項目と、項目に対応するデータ（値）をデータ傾向分析サーバ４へ入力し、傾向分析を指令する（Ｓ８１）。
【０１５５】
データ傾向分析サーバ４では、データ傾向分析部４１が絞り込み及び復元サーバ３から受け付けた項目と値について傾向分析を実施して、傾向分析の結果を絞り込み及び復元サーバ３に応答する。
【０１５６】
上記処理によって、グループ＃２５７の代表データ項目と、グループ化できなかった独立データ項目テーブル２４０のデータによって傾向分析が実施される。
【０１５７】
図２３、図２４は、データ復元処理の一例を示すフローチャートである。この処理は、図３のステップＳ４で行われる処理で、復元テーブル２８０を利用して代表データ以外のデータを復元する。
【０１５８】
絞り込み及び復元サーバ３は、データ傾向分析サーバ４から傾向分析の結果を受け付けた後に、図２３のフローチャートを開始する。なお、絞り込み及び復元サーバ３は、データ傾向分析サーバ４から傾向分析の結果を受け付けると、代表データ選出部３３０が、データの傾向分析の結果テーブル２６０に格納しておく。
【０１５９】
図２３のステップＳ８６では、データ復元部３５０が、データの傾向分析の結果テーブル２６０の条件項目の全てについて、ステップＳ８８までの処理を繰り返す。ステップＳ８７では、データ復元部３５０が、データの傾向分析の結果テーブル２６０の条件項目（２６２、２６３）のデータ項目を入力項目として取得する。
【０１６０】
ステップＳ８７では、データ復元部３５０が、上記取得した入力項目について、復元テーブル２８０を参照して図２４に示す復元計算処理を実行する。
【０１６１】
ステップＳ８８では、データ復元部３５０が、次の条件を結果テーブル２６０から選択して上記処理を繰り返し、すべての条件について復元計算処理が完了すると処理を終了する。
【０１６２】
図２４のステップＳ９１では、データ復元部３５０が、上記ステップＳ８６で取得した入力項目と復元テーブル２８０のデータ項目（ｘ）２８２を比較して、一致する項目名を検索する。
【０１６３】
ステップＳ９２では、データ復元部３５０が、入力項目に一致するデータ項目（ｘ）２８２が存在するか否かを判定する。入力項目に一致するデータ項目（ｘ）２８２が存在する場合はステップＳ９３へ進み、そうでない場合には処理を終了して次の条件式に進む。
【０１６４】
ステップＳ９３では、データ復元部３５０が、復元テーブル２８０の回帰式（ｘ→ｙの復元）２８４を用いて、データ項目（ｘ）２８２に対応するデータからデータ項目（ｙ）と値＝ｙを算出する。この処理は、入力項目に一致したデータ項目（ｘ）２８２の全てについて実行する。
【０１６５】
ステップＳ９４では、ステップＳ９３で復元されたデータ項目（ｙ）についてステップＳ９７までの処理を繰り返して実行する。データ復元部３５０は、復元されたデータ項目（ｙ）をひとつ選択する。
【０１６６】
ステップＳ９５では、データ復元部３５０が、上記選択されたデータ項目（ｙ）を最終結果テーブル２９０に追加する。データ復元部３５０は、現在選択中の結果テーブル２６０の条件及び識別番号２６１に対応する最終結果テーブル２９０の条件（２９２、２９３）と識別番号２９１にデータ項目（ｙ）を追加する。
【０１６７】
ステップＳ９６では、データ復元部３５０が、復元したデータ項目（ｙ）に対応するデータを分析対象データテーブル２２０から取得して所定の演算を行った結果を、ステップＳ９５の最終結果テーブル２９０の条件（２９２、２９３）と識別番号２９１に追加する。なお、図２５の最終結果テーブル２９０の例では、データ項目（ｙ）に対応する値の範囲を算出する例を示した。
【０１６８】
ステップＳ９７では、データ復元部３５０が、次のデータ項目（ｙ）を選択して上記処理を繰り返し、すべてのデータ項目（ｙ）について復元計算処理が完了すると処理を終了して、図２３の処理へ復帰する。
【０１６９】
上記処理により、データの傾向分析の結果テーブル２６０の条件（２６２、２６３）のデータ項目に一致する代表データ項目から、同じグループに所属するデータ項目（ｙ）と値の範囲が復元される。
【０１７０】
上記処理が終了すると、データ復元部３５０は、最終結果テーブル２９０の表示画面６２０をユーザ端末６へ出力する。ユーザ端末６の利用者（分析者）は、データの傾向分析の結果の後に、代表データ項目にまとめられた入力データ項目と値が復元されることで、分析者にとって重要なデータ項目が含まれているか否かを容易に判定することができる。
【０１７１】
図２５の最終結果テーブル２９０の表示画面６２０では、図２２に示した代表データ項目によるデータの傾向分析の結果に対して、代表データ項目に関連するデータ項目の復元結果（項目名とデータ（範囲）が条件１（２９２））が追加される。
【０１７２】
図示の例では、代表データ項目＝「前期総資産合計」に対して同一のグループ＃２５７に所属する「総資産合計」と「負債・純資産合計」のデータ項目が復元され、復元されたデータ項目からデータ（数値）も復元される。
【０１７３】
ユーザ端末６を利用する分析者は、最終結果テーブル２９０の表示画面６２０を参照することで、絞り込み及び復元サーバ３が実施したグルーピングの復元結果と、データの傾向分析の結果から、不要なデータ項目の選択等を行うことが可能になる。
【０１７４】
＜まとめ＞
本実施例では、関連のあるデータ項目を選択する際に、自然言語のデータ項目の名称と、データ項目に対応するデータ（数値データ）の両方を比較して類似するデータ項目の絞り込みを行う。これにより、名前が類似し、かつ、値が類似するデータ項目をグループ化することができる。また、代表データ項目のデータから除外したデータ項目を復元することが可能となって、分析者に復元結果を提示することが可能となる。
【０１７５】
絞り込み及び復元サーバ３は、データ傾向分析サーバ４へ投入するデータ項目を各グループの代表データ項目に絞り込むことで、データの傾向分析の処理負荷を低減しながら、傾向分析の精度を確保することができる。すなわち、本実施例では、代表データ項目に絞り込むことでデータ傾向分析の処理に要する時間を短縮しながら、全てのデータ項目を入力したのと同等の結果を得ることが可能となる。
【０１７６】
そして絞り込み及び復元サーバ３は、代表データ項目を選択する際に、代表データ項目のデータから除外するデータ項目を復元する精度を確保可能なデータ項目を代表データ項目として選択する。これにより、データの傾向分析結果を得た後に、代表データ項目と除外されたデータ項目の関係を提供することができる。ユーザ端末６を利用する分析者は、どのようなデータ項目が纏められたのかを知ることができ、分析者にとって重要なデータ項目が傾向分析の結果として得られたか否かを確認することができる。また、本実施例では、ユーザ端末６を利用する分析者は、傾向分析の後処理で、不要なデータ項目を選択することが可能になる。
【０１７７】
なお、本発明は上記した実施例に限定されるものではなく、様々な変形例が含まれる。例えば、上記した実施例は本発明を分かりやすく説明するために詳細に記載したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また、ある実施例の構成の一部を他の実施例の構成に置き換えることが可能であり、また、ある実施例の構成に他の実施例の構成を加えることも可能である。また、各実施例の構成の一部について、他の構成の追加、削除、又は置換のいずれもが、単独で、又は組み合わせても適用可能である。
【０１７８】
また、上記の各構成、機能、処理部、及び処理手段等は、それらの一部又は全部を、例えば集積回路で設計する等によりハードウェアで実現してもよい。また、上記の各構成、及び機能等は、プロセッサがそれぞれの機能を実現するプログラムを解釈し、実行することによりソフトウェアで実現してもよい。各機能を実現するプログラム、テーブル、ファイル等の情報は、メモリや、ハードディスク、ＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）等の記録装置、または、ＩＣカード、ＳＤカード、ＤＶＤ等の記録媒体に置くことができる。
【０１７９】
また、制御線や情報線は説明上必要と考えられるものを示しており、製品上必ずしも全ての制御線や情報線を示しているとは限らない。実際には殆ど全ての構成が相互に接続されていると考えてもよい。
【符号の説明】
【０１８０】
１  データ傾向分析システム
２  データベースサーバ
３  絞り込み及び復元サーバ
４  データ傾向分析サーバ４
６  ユーザ端末６−１〜６−３
２０  データベース
２２０  分析対象データテーブル
２４０  独立データ項目テーブル
２６０  データの傾向分析の結果テーブル
２５０  サマリーテーブル
２７０  代表データテーブル
２８０  復元テーブル
２９０  最終結果テーブル
３１０  データ間関連分析部
３２０  グループ生成部
３３０  入力代表データ選出部
３４０  復元式生成部
３５０  データ復元部
【図１】
2019175009.tif 000006
【図２】
2019175009.tif 000007
【図３】
2019175009.tif 000008
【図４】
2019175009.tif 000009
【図５】
2019175009.tif 000010
【図６】
2019175009.tif 000011
【図７】
2019175009.tif 000012
【図８】
2019175009.tif 000013
【図９】
2019175009.tif 000014
【図１０】
2019175009.tif 000015
【図１１】
2019175009.tif 000016
【図１２】
2019175009.tif 000017
【図１３】
2019175009.tif 000018
【図１４】
2019175009.tif 000019
【図１５】
2019175009.tif 000020
【図１６】
2019175009.tif 000021
【図１７】
2019175009.tif 000022
【図１８】
2019175009.tif 000023
【図１９】
2019175009.tif 000024
【図２０】
2019175009.tif 000025
【図２１】
2019175009.tif 000026
【図２２】
2019175009.tif 000027
【図２３】
2019175009.tif 000028
【図２４】
2019175009.tif 000029
【図２５】
2019175009.tif 000030
【図２６】
2019175009.tif 000031