(57)【要約】      （修正有）【課題】多次元分析が可能なＯＬＡＰ結果に将来の予測データを追加して表示することにより、過去のデータに対する多次元分析だけでなく細分化された将来予測をも提供して、正確な意思決定を支援するシステムを提供する。【解決手段】予測反映サーバ３０は、ピボットテーブル構造のデータセットを受信するデータセット受信部と、ピボットテーブル構造のデータセットから、データ次元を階層構造で有する行次元ツリー及び列次元ツリーを生成する次元抽出部と、行次元ツリーと列次元ツリーとを結合して統合ツリーを生成し、統合ツリーからレコード構造のデータセットを形成するフレーム変換部と、レコード構造のデータセットを対象としてディープラーニングを用いて予測するデータ予測部と、予測データが追加されたレコードのデータセットを用いて統合ツリーを再構成し、再構成された統合ツリーを用いてピボットテーブルを再構成するデータ再構成部と、を含む。【選択図】図２
2020119487.tif 000002
【特許請求の範囲】
【請求項１】
ピボットテーブル構造のオンライン分析処理（ＯＬＡＰ）結果を用いたディープラーニング予測データ反映システムにおいて、
ピボットテーブル構造のデータセットを受信するデータセット受信部と；
ピボットテーブル構造のデータセットから、データ次元を階層構造で有する行次元ツリー及び列次元ツリーを生成する次元抽出部と；
前記行次元ツリーと列次元ツリーとを結合して統合ツリーを生成し、統合ツリーからレコード構造のデータセットを形成するフレーム変換部と；
レコード構造のデータセットを対象としてディープラーニングを用いて予測するデータ予測部と；
予測データが追加されたレコードデータセットを用いて前記統合ツリーを再構成し、再構成された統合ツリーを用いてピボットテーブルを再構成するデータ再構成部と；を含むことを特徴とする、ピボットテーブル構造のＯＬＡＰ結果を用いたディープラーニング予測データ反映システム。
【請求項２】
前記次元抽出部は、前記ピボットテーブルの行次元と列次元の階層構造に基づいてそれぞれの行次元ツリー及び列次元ツリーを構成し、各次元ツリーのルートノードを仮想ノードとして設定し、前記ピボットテーブルの各次元名を１つのノードに対応させてそれぞれのノードを生成し、上位次元と下位次元の関係に基づいて、ノード間の上位及び下位の関係を設定し、次元ツリーの各ノードが次元名を持つように設定し、次元の上位または下位の関係に基づいて、各ノードを上位ノードまたは下位ノードとして階層的に構成することを特徴とする、請求項１に記載のピボットテーブル構造のＯＬＡＰ結果を用いたディープラーニング予測データ反映システム。
【請求項３】
前記次元抽出部は、前記次元ツリーにおいて、上位カテゴリの各ノードが、同様に、下位カテゴリの全てのノードを持つように構成することを特徴とする、請求項２に記載のピボットテーブル構造のＯＬＡＰ結果を用いたディープラーニング予測データ反映システム。
【請求項４】
前記次元抽出部は、メジャーを持つ次元ツリーに対して、メジャーノードにデータ値を持つデータノードを接続させ、前記ピボットテーブルのデータ領域のメジャーのデータセットの数に見合う分だけ次元ツリーを生成することを特徴とする、請求項２に記載のピボットテーブル構造のＯＬＡＰ結果を用いたディープラーニング予測データ反映システム。
【請求項５】
前記フレーム変換部は、メジャーを持つ次元ツリーを下位ツリーとし、残りのツリーを上位ツリーとすることで、上位ツリーのリーフノードが下位ツリーのルートノードとなるように、２つの次元ツリーを統合することを特徴とする、請求項４に記載のピボットテーブル構造のＯＬＡＰ結果を用いたディープラーニング予測データ反映システム。
【請求項６】
前記フレーム変換部は、各メジャーに対して、メジャーの次元名をフィールドと設定し、当該メジャーのデータ値を当該フィールドのフィールド値とし、メジャーノードの上位ノードのカテゴリをフィールドと設定し、当該カテゴリの次元名を当該フィールドのフィールド値とすることで、メジャーノードの上位ノードの次元名とメジャーのデータ値とを用いて１つのレコードを構成することを特徴とする、請求項１に記載のピボットテーブル構造のＯＬＡＰ結果を用いたディープラーニング予測データ反映システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、オンライン分析処理（ＯＬＡＰ：Ｏｎlｉｎｅ  Ａｎａｌｙｔｉｃａｌ  Ｐｒｏｃｅｓｓｉｎｇ）に基づいて生成されたピボットテーブル構造のデータセットに対して、時系列的特性を有するデータセットを検出してディープラーニング（Ｄｅｅｐ  Ｌｅａｒｎｉｎｇ、深層学習）方式で予測し、予測データセットをピボットテーブル構造に反映させる、ピボットテーブル構造のＯＬＡＰ結果を用いたディープラーニング予測データ反映システムに関する。
【背景技術】
【０００２】
一般に、オンライン分析処理（Ｏｎｌｉｎｅ  Ａｎａｌｙｔｉｃａｌ  Ｐｒｏｃｅｓｓｉｎｇ）システム、すなわち、ＯＬＡＰシステムは、意思決定支援システムの代表的な例であって、データを複数の基準（次元）を用いて分析することができる多次元分析を可能にする。
【０００３】
従来技術のＯＬＡＰシステムは、すでに構築されたデータをさまざまな側面から提供して、定型化された形で提供する。しかし、ＯＬＡＰシステムは、過去のデータを複数の基準で分析し、現象を理解できるように助けるが、将来の予測を示すことはできない。万が一、ＯＬＡＰシステムがデータを細分化しながらデータに対する将来の予測をも示すことができれば、意思決定するのに役立つであろう。
【０００４】
ところが、ＯＬＡＰシステムは、さまざまな側面（または多次元）でデータを示すために、通常ピボットテーブル構造でデータセットを表示する。ピボットテーブルは、横軸（行）と縦軸（カラム）がそれぞれの次元名（項目名など）で構成され、横軸（行）と縦軸（カラム）が触れ合うセルがデータ領域として構成されるテーブル形式である。すなわち、ピボットテーブルは、複数の次元（多次元）の組み合わせによりデータ値を示す。
【０００５】
すなわち、ＯＬＡＰ結果であるピボットテーブル（Ｔａｂｕｌａｒ）の構造は、多次元構成に応じて深さと形式が変化する。ピボットテーブル構造形式においては、データを予測しにくく、データを予測するとしてもその予測結果をピボットテーブル構造形式に反映するのが難しい。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】韓国登録特許第１０３４４２８号（２０１１．０５．１２．公告）
【特許文献２】日本公開特許第２００２−００７４３５号（２００２．０１．１１．公告）
【特許文献３】韓国登録特許第０９６９６５６号（２０１０．０７．１４．公告）
【特許文献４】韓国登録特許第０４２４１４４号（２００４．０３．２４．公告）
【発明の概要】
【発明が解決しようとする課題】
【０００７】
本発明は、上述した問題を解決するためのもので、その目的は、ＯＬＡＰ（Ｏｎｌｉｎｅ  Ａｎａｌｙｔｉｃａｌ  Ｐｒｏｃｅｓｓｉｎｇ）に基づいて生成されたピボットテーブル構造のデータセットに対して、時系列的特性を有するデータセットを検出してディープラーニング方式で予測し、予測データセットをピボットテーブル構造に反映させる、ピボットテーブル構造のＯＬＡＰ結果を用いたディープラーニング予測データ反映システムを提供することである。
【０００８】
特に、本発明の目的は、ピボットテーブル構造から階層構造の次元を抽出し、これを用いて、ピボットテーブル構造のデータセットをレコード構造（またはデータフレーム構造）のデータセットとして再構成し、再構成されたデータセットを用いてディープラーニング予測を行う、ピボットテーブル構造のＯＬＡＰ結果を用いたディープラーニング予測データ反映システムを提供することである。
【課題を解決するための手段】
【０００９】
上記目的を達成するために、本発明は、ピボットテーブル構造のＯＬＡＰ結果を用いたディープラーニング予測データ反映システムに関するものであり、
ピボットテーブル構造のデータセットを受信するデータセット受信部と；ピボットテーブル構造のデータセットから、データ次元を階層構造で有する行次元ツリー及び列次元ツリーを生成する次元抽出部と；前記行次元ツリーと列次元ツリーとを結合して統合ツリーを生成し、統合ツリーからレコード構造のデータセットを形成するフレーム変換部と；レコード構造のデータセットを対象としてディープラーニングを用いて予測するデータ予測部と；予測データが追加されたレコードデータセットを用いて前記統合ツリーを再構成し、再構成された統合ツリーを用いてピボットテーブルを再構成するデータ再構成部と；を含むことを特徴とする。
【００１０】
また、本発明は、ピボットテーブル構造のＯＬＡＰ結果を用いたディープラーニング予測データ反映システムにおいて、前記次元抽出部は、前記ピボットテーブルの行次元と列次元の階層構造に基づいてそれぞれの行次元ツリー及び列次元ツリーを構成し、各次元ツリーのルートノードを仮想ノードとして設定し、前記ピボットテーブルの各次元名を１つのノードに対応させてそれぞれのノードを生成し、上位次元と下位次元の関係に基づいて、ノード間の上位及び下位の関係を設定し、次元ツリーの各ノードが次元名を持つように設定し、次元の上位または下位の関係に基づいて、各ノードを上位ノードまたは下位ノードとして階層的に構成することを特徴とする。
【００１１】
また、本発明は、ピボットテーブル構造のＯＬＡＰ結果を用いたディープラーニング予測データ反映システムにおいて、前記次元抽出部は、前記次元ツリーにおいて、上位カテゴリの各ノードが、同様に、下位カテゴリの全てのノードを持つように構成することを特徴とする。
【００１２】
また、本発明は、ピボットテーブル構造のＯＬＡＰ結果を用いたディープラーニング予測データ反映システムにおいて、前記次元抽出部は、メジャーを持つ次元ツリーに対して、メジャーノードにデータ値を持つデータノードを接続させ、前記ピボットテーブルのデータ領域のメジャーのデータセットの数に見合う分だけ次元ツリーを生成することを特徴とする。
【００１３】
また、本発明は、ピボットテーブル構造のＯＬＡＰ結果を用いたディープラーニング予測データ反映システムにおいて、前記フレーム変換部は、メジャーを持つ次元ツリーを下位ツリーとし、残りのツリーを上位ツリーとすることで、上位ツリーのリーフノードが下位ツリーのルートノードとなるように、２つの次元ツリーを統合することを特徴とする。
【００１４】
また、本発明は、ピボットテーブル構造のＯＬＡＰ結果を用いたディープラーニング予測データ反映システムにおいて、前記フレーム変換部は、各メジャーに対して、メジャーの次元名をフィールドと設定し、当該メジャーのデータ値を当該フィールドのフィールド値とし、メジャーノードの上位ノードのカテゴリをフィールドと設定し、当該カテゴリの次元名を当該フィールドのフィールド値とすることで、メジャーノードの上位ノードの次元名とメジャーのデータ値とを用いて１つのレコードを構成することを特徴とする。
【００１５】
また、本発明は、ピボットテーブル構造のＯＬＡＰ結果を用いたディープラーニング予測データ反映システムにおいて、前記データ予測部は、レコード構造のデータセットにおいて、時系列データを持つフィールドを対象として次のサイクルのメジャーフィールドのデータ値を予測するが、時系列の次元を除いた残りの次元の組み合わせごとに予測データを得、時系列次元のデータは、次のサイクルの、組み合わせごとに予測したデータを、レコードとして形成することを特徴とする。
【００１６】
また、本発明は、ピボットテーブル構造のＯＬＡＰ結果を用いたディープラーニング予測データ反映システムにおいて、前記データ再構成部は、予測データのレコード構造のデータセットを統合ツリーに反映し、統合ツリーをピボットテーブル構造のデータセットとして再構成することを特徴とする。
【発明の効果】
【００１７】
上述したように、本発明に係る、ピボットテーブル構造のＯＬＡＰ結果を用いたディープラーニング予測データ反映システムによれば、多次元分析が可能なＯＬＡＰ結果に将来の予測データを追加して表示することにより、過去のデータに対する多次元分析だけでなく細分化された将来予測をも提供して、正確な意思決定を支援することができるという効果が得られる。
【００１８】
また、本発明に係る、ピボットテーブル構造のＯＬＡＰ結果を用いたディープラーニング予測データ反映システムによれば、ピボットテーブル構造をレコード構造として再構成してディープラーニング予測を行うことにより、多次元構成に応じて深さと形式が変化して予測しにくい問題を克服することができるという効果が得られる。
【図面の簡単な説明】
【００１９】
【図１】本発明を実施するための全体システムの構成のブロック図である。
【図２】本発明の一実施形態に係る、ピボットテーブル構造のＯＬＡＰ結果を用いたディープラーニング予測データ反映システムの構成のブロック図である。
【図３】本発明の一実施形態に係るピボットテーブルの例示図である。
【図４】本発明の一実施形態に係る行次元ツリーの例示図である。
【図５】本発明の一実施形態に係る列次元ツリーの例示図である。
【図６】本発明の一実施形態に係る下位次元ツリーのインスタンスの例示図である。
【図７ａ】本発明の一実施形態に係る合計ノードが含まれている行次元ツリーの例示図である。
【図７ｂ】本発明の一実施形態に係る合計ツリーを別途に構成したツリーの例示図である。
【図８】本発明の一実施形態に係る統合ツリーの例示図である。
【図９】本発明の一実施形態に係る合計ノードが含まれている統合ツリーの例示図である。
【図１０】本発明の一実施形態に係るレコード構造のデータセットの例示図である。
【図１１】本発明の一実施形態に係る予測データが反映されたレコード構造のデータセットの例示図である。
【図１２】本発明の一実施形態に係る予測データが反映された統合ツリーの例示図である。
【図１３】本発明の一実施形態に係る予測データが反映された統合ツリーであって、合計ノードが含まれている統合ツリーの例示図である。
【発明を実施するための形態】
【００２０】
以下、添付の図面を参照して、本発明の実施のための具体的な内容を説明する。
【００２１】
また、本発明を説明するにあたり、同一の部分には同一符号を付し、その繰り返しの説明は省略する。
【００２２】
まず、図１を参照して、本発明を実施するための全体システムの一例について説明する。
【００２３】
図１に示すように、本発明を実施するための全体システムは、ユーザ端末１０に設けられるクライアント２０と、データを保存するデータベース８０と、データを分析し、分析結果をピボットテーブル形式で提供する分析サーバ５０と、ピボットテーブル構造のデータにディープラーニング予測データを反映して再構成する予測反映サーバ３０と、で構成される。また、ユーザ端末１０は、ネットワーク（図示せず）を介して分析サーバ５０または予測反映サーバ３０と接続する。
【００２４】
まず、クライアント２０は、ユーザ端末１０に設けられるクライアント用のプログラムシステムであって、Ｗｅｂブラウザを介してユーザインタフェースを有する。すなわち、ユーザは、ＷｅｂブラウザまたはＷｅｂブラウザのような画面のインタフェースを介して、オンライン上でのデータ閲覧及び分析作業を行う。このとき、ユーザ端末１０は、ユーザのコマンドなどを入力され、当該コマンドを実行し、処理結果を画面上またはＷｅｂブラウザ上に表示する。
【００２５】
一方、ユーザ端末１０は、パーソナルコンピュータ（ＰＣ：ｐｅｒｓｏｎａｌ  ｃｏｍｐｕｔｅｒ）、ノートブック、タブレットＰＣ、ファブレット、ＰＤＡ、スマートフォンなどのコンピューティング機能を有するコンピュータ端末である。ユーザ端末１０は、ネットワークを介して分析サーバ５０または予測反映サーバ３０と接続し、ユーザ端末１０上のクライアント２０は、オンライン上でのデータ処理作業を行うことができる。
【００２６】
また、クライアント２０は、データ要請及び分析などのオンライン上での処理作業を分析サーバ５０に要請し、その分析結果を分析サーバ５０から取得してＷｅｂブラウザ上に表示する。特に、クライアント２０は、データベース８０から取得したデータセットをピボットテーブル形式で表示する。
【００２７】
また、クライアント２０は、ピボットテーブル構造のデータに対して予測を反映するように予測反映サーバ３０に要請し、その反映結果を予測反映サーバ３０から取得してＷｅｂブラウザ上に表示する。このとき、予測結果が反映されたピボットテーブル構造で表示する。
【００２８】
一方、クライアント２０の機能は、例えば、データセットに対する分析要請、分析結果のピボットテーブル形式の表示、ピボットテーブルのデータに対する予測反映及び再構成要請とその結果の表示などの機能は、ＷｅｂブラウザのＷｅｂスクリプト機能によって実現される。すなわち、ＨＴＭＬ５．０などのＷｅｂ標準によるスクリプトによって、クライアント２０の機能がプログラムシステムで実現できる。
【００２９】
次に、データベース８０は、データを保存するための通常のデータベース（ＤＢ）であって、データを管理するためのデータベース管理システム（ＤＢＭＳ：ＤａｔａＢａｓｅ  Ｍａｎａｇｅｍｅｎｔ  Ｓｙｓｔｅｍ）を備え、データの保存、削除、検索などの作業をクエリ（またはクエリ文）を用いて行う。特に、データベース８０は、商用化されたデータベースであり、データセットを処理するための一般的なクエリ機能を用いてデータクエリサービスを行う。
【００３０】
特に、データベース８０は、ビッグデータを保存するデータベースである。また、好ましくは、データベース８０は、リレーショナルデータベース（ＲＤＢ）で構成される。
【００３１】
次に、分析サーバ５０は、データベース８０からデータセットを取得して、ピボットテーブル構造の分析データ（データセット）を生成し、これらの分析結果データをクライアント２０に送信して表示させる。好ましくは、クライアント２０の要請に応じて分析を行い、その結果を送信する。
【００３２】
すなわち、分析サーバ５０は、オンライン分析処理（ＯＬＡＰ：Ｏｎｌｉｎｅ  Ａｎａｌｙｔｉｃａｌ  Ｐｒｏｃｅｓｓｉｎｇ）を行う通常のＯＬＡＰサーバである。好ましくは、分析の結果は、ピボットテーブル構造で構成される。ピボットテーブルは、行と列で形成されてデータセットを表示するデータ領域と、行の一側（好ましくは左側）または列の一端（好ましくは上端）に形成されて次元名を表示する次元領域と、で構成されるテーブル形式である。データ領域のセルには、行次元と列次元との組み合わせによるデータ値や統計値（例えば、個数、合計、平均など）が入力されて表示される。
【００３３】
次に、予測反映サーバ３０は、分析サーバ５０で分析された分析結果に予測データを反映し、反映結果データをクライアント２０に送信して表示させる。好ましくは、クライアント２０の要請に応じて分析作業を行い、その結果を送信する。
【００３４】
すなわち、分析サーバ５０は、ピボットテーブル構造から行と列の階層構造を抽出し、ピボットテーブル構造のデータをレコード構造のデータとして再構成し、再構成されたデータを用いてディープラーニング予測を行う。そして、予測結果を反映したレコード構造のデータを再びピボットテーブル構造として再構成する。
【００３５】
一方、前述したクライアント２０と予測反映サーバ３０の機能は一例であり、サーバとクライアントの実現技術に応じて多様に実現されてもよい。すなわち、クライアント２０と予測反映サーバ３０は、１つの予測反映システムであって、その機能が性能に応じて分配されてもよい。例えば、クライアント２０は、単純にＷｅｂブラウザ機能及びインタフェース機能だけを有しており、全ての機能は、予測反映サーバ３０で構築されてもよい。すなわち、予測反映サーバ３０は、ピボットテーブルのインタフェース機能及びレコード構造の再構成機能だけでなく、ディープラーニング予測機能をも全て有することができる。他の例によれば、予測反映サーバ３０は、ディープラーニング予測機能のみを有しており、クライアント２０が、ピボットテーブルのインタフェース機能及びレコード構造の再構成機能などを備えることができる。すなわち、サーバ−クライアントの実現方式により様々な形で機能を分配することができる。
【００３６】
次に、図２を参照して、本発明の一実施形態に係る、ピボットテーブル構造のＯＬＡＰ結果を用いたディープラーニング予測データ反映システム３０の構成について説明する。
【００３７】
本発明に係るディープラーニング予測データ反映システム３０は、サーバ−クライアントシステムで実現できる。
【００３８】
従来技術のディープラーニング方式は、データの収集／精製／前処理などを行った後、ディープラーニングライブラリなどを用いて直接コーディングする方式である。本発明に係る予測データ反映システム３０は、分析サーバ５０（例えば、ｉ−ＭＥＴＡ、ｉ−ＳＴＲＥＡＭなど）で生成された分析結果を直接使用して、その構造化データ（またはピボットテーブル構造のデータセット）をフレーム形式（レコード形式）のデータセットに変換し、次元中に時系列要素と順次要素を自動的に認識し、次元の配置情報を用いて、ディープラーニング予測結果を構造化データに自動的に反映する。
【００３９】
図２に示すように、本発明の一実施形態に係るディープラーニング予測データ反映システム３０は、ピボットテーブル構造のデータセットを受信するデータセット受信部３１と、ピボットテーブル構造のデータセットからデータ次元（ｄａｔａ  ｄｉｍｅｎｓｉｏｎ）を階層構造（またはツリー構造）で抽出する次元抽出部３２と、ピボットテーブル構造のデータセットをレコード構造のデータセットに変換するフレーム変換部３３と、レコード構造のデータセットを対象としてディープラーニングを用いて予測するデータ予測部３４と、予測データが追加されたレコードデータセットをピボットテーブルデータセットとして再構成するデータ再構成部３５と、で構成される。
【００４０】
まず、データセット受信部３１は、ピボットテーブル構造のデータセット（またはピボットテーブルデータセット）を受信する。
【００４１】
図３に示すように、ピボットテーブル構造は、行と列で形成されてデータセットを表示するデータ領域と、行の一側（好ましくは左側）または列の一端（好ましくは上端）に形成されて次元名を表示する次元領域と、で構成される。
【００４２】
すなわち、次元領域は、データ領域の列の上端に表示される列次元領域と、データ領域の行の左側に表示される行次元領域と、に区分される。図３の例において、＜電子素材事業部＞、＜ホームエンターテイメント事業部＞、＜売上数量＞、＜ウォン単価＞などは、列次元領域の列の次元名であり、日付＜２０１５０１０１＞、＜２０１５０１０２＞、．．．＜内需＞、＜輸出＞などは、行次元領域の行の次元名である。
【００４３】
一方、列次元と行次元などの各次元は、それぞれの階層構造で構成される。最下位次元（または最下位次元名）は、それぞれのデータ領域の行または列のそれぞれに全て１対１対応する。最下位次元は、自分の親または先祖の次元によって区別される。したがって、各最下位次元に対応する各データ領域の行または列は、前記最下位次元及びその親または先祖の次元によって区分（定義）される。図３の例において、データ領域の１列目のデータセットは、＜電子素材事業部＞の＜売上数量＞の次元によって区分される。２列目のデータセットは、＜電子素材事業部＞の＜ウォン単価＞の次元によって区分される。また、１行目のデータセットは、＜２０１８０１０１＞の＜内需＞の次元によって区分される。
【００４４】
また、データ領域のセルには、行次元と列次元との組み合わせによるデータ値や統計値（例えば、個数、合計、平均など）が入力されて表示される。
【００４５】
また、ピボットテーブルの行次元と列次元のうちのいずれか一方の次元の最下位次元は、＜メジャー（ｍｅａｓｕｒｅ）＞と設定される。メジャー（ｍｅａｓｕｒｅ）次元は、データ領域のデータ値の種類を示す。図３の例において、列次元の最下位次元をメジャー（またはメジャー次元）と設定している。データ領域の１列目のデータセットは＜売上数量＞を示し、２列目のデータセットは＜ウォン単価＞を示す。
【００４６】
次に、次元抽出部３２は、ピボットテーブル構造のデータセットから、次元の階層構造を示す行及び列の次元ツリーを生成する。
【００４７】
すなわち、次元抽出部３２は、ピボットテーブル構造のデータセットから、行及び列の次元の階層構造を示す次元ツリーを生成する。
【００４８】
図３の例において、行次元は、＜売上日付＞、＜売上区分名＞の階層構造を有する。このとき、＜売上日付＞は上位次元と呼び、＜売上区分名＞は下位次元と呼ぶことにする。階層構造の上位と下位は相対的概念である。
【００４９】
このとき、＜売上日付＞、＜売上区分名＞は、それぞれ次元のカテゴリと呼び、各次元が持つ値を次元名（または次元値）と呼ぶことにする。＜売上日付＞の行カテゴリは、＜２０１８０１０１＞、＜２０１８０１０２＞、＜２０１８０１０４＞などの次元名を持ち、＜売上区分名＞の行カテゴリは、＜内需＞、＜輸出＞など２つの次元名を持つ。
【００５０】
図３の例において、列次元は＜事業区分名＞、＜メジャー（ｍｅａｓｕｒｅ）＞の階層構造を有する。このとき、＜事業区分名＞、＜メジャー＞は、それぞれ次元のカテゴリである。＜事業部区分名＞の列カテゴリは、＜電子素材事業部＞、＜ホームエンターテイメント事業部＞などの次元名を持ち、＜メジャー＞のカテゴリは、「売上数量＞、＜ウォン単価＞など２つの次元名を持つ。特に、メジャーの次元名は、メジャー名と呼ぶことにする。
【００５１】
次元抽出部３２は、ピボットテーブルの行次元と列次元の階層構造に基づいて、それぞれ行の次元ツリー及び、列の次元ツリーを構成する。すなわち、各次元ツリーのルートノードとしては、仮想のノードを任意に設定する。ピボットテーブルの各次元名を１つのノードに対応させてそれぞれのノードを生成し、上位次元と下位次元の関係に基づいて、ノード間の上位及び下位の関係を設定する。すなわち、次元ツリーの各ノードは次元名を持ち、次元の上位または下位の関係に基づいて、各ノードが上位ノードまたは下位ノードとして階層的に構成される。
【００５２】
一方、ピボットテーブル構造において、上位カテゴリの次元名のそれぞれは、下位カテゴリの全ての次元名を持つように構成される。したがって、次元ツリーにおいて、上位カテゴリの各ノードは、同様に、下位カテゴリの全てのノードを持つ。
【００５３】
図４は、図３のピボットテーブルの行次元構造から生成された行次元ツリーを示すグラフである。図４の例において、上位カテゴリ＜売上日付＞のノード＜２０１８０１０１＞、＜２０１８０１０２＞、＜２０１８０１０４＞などのそれぞれは、同様に、下位カテゴリ＜売上区分名＞の全ての下位ノード＜内需＞、＜輸出＞を持つ。
【００５４】
また、図５は、図３のピボットテーブルの列次元構造から生成された列次元ツリーを示すグラフである。図５の例において、上位カテゴリ＜事業部区分名＞のノード＜電子素材事業部＞、＜ホームエンターテイメント事業部＞などのそれぞれは、同様に、下位カテゴリ＜メジャー＞の全ての下位ノード＜売上数量＞、＜ウォン単価＞を持つ。
【００５５】
また、図５に示すように、メジャー（ｍｅａｓｕｒｅ）を有する次元ツリーは、リーフノードがメジャーノードであるが、メジャーノードにデータ値ノード（またはデータノード）が接続されてもよい。このとき、データノードのデータセットは、ピボットテーブルのデータ領域のメジャーのデータセットに該当する。また、メジャーのデータセットの数は、行次元（行の最下位次元）の数に見合う分だけ存在する。
【００５６】
図６に示すように、データ領域のメジャーのデータセットの数に見合う分だけ次元ツリーが作成できる。図３のデータ領域の１行目のデータセット（メジャーのデータセット）は｛２５，１０００，２０，９００｝であり、メジャーのデータセットをデータノードの値とすることで、図６の第１番目の次元ツリーのように生成できる。
【００５７】
また、好ましくは、次元抽出部３２は、行次元のツリー構造に含まれていない行次元、すなわち、ピボットテーブルの次元構造において並行される次元を、合計ノードとして追加生成する。また、データ領域のメジャーのデータセットのうち合計に該当する次元ツリーも生成される。特に、合計ノードは、ピボットテーブルの次元構造において合計次元と対応する最下位次元のツリーレベルと同じレベルを有するようにツリー構造に追加する（または別のツリー構造を生成する）。すなわち、合計次元と、これに対応する最下位次元とは、兄弟関係（ｓｉｂｌｉｎｇ）を有するように構成される。
【００５８】
図７ａの例に示すように、＜２０１８０１０１  Ｔｏｔａｌ＞、＜２０１８０１０２  Ｔｏｔａｌ＞、．．．などの行次元は、ツリー構造で並んでいる構造であって、先に得られた次元のツリー構造に該当するものではない。これらのノードを合計ノードとしてツリー構造に追加するか、別の合計ツリーを生成する。図７ａは、先に得られた次元ツリーに合計ノードを追加したものを示し、図７ｂは、合計ツリーを別途に構成したものを示している。
【００５９】
このとき、合計に該当するデータ領域のメジャーのデータセットに対しても次元ツリーが生成される。すなわち、合計に対応するメジャーのデータセット（例えば、｛４０、１５００、５０、１３００｝に対する合計ツリーも生成される。
【００６０】
次に、フレーム変換部３３は、先に生成した行及び列の次元ツリーを合わせて統合次元ツリーを生成し、統合次元ツリーからレコード構造のデータセット（以下、レコードデータセット）を生成する。
【００６１】
まず、フレーム変換部３３は、メジャーを持つ次元ツリーを下位ツリーとし、残りのツリーを上位ツリーとすることで、上位ツリーのリーフノードが下位ツリーのルートノードとなるように、２つの次元ツリーを統合する。
【００６２】
図８は、先の図４の行次元ツリーと図５の列次元ツリーとを統合して統合次元ツリーを生成した例を示している。メジャー（ｍｅａｓｕｒｅ）次元が列次元ツリーに存在するので、列次元ツリーが下位ツリーとなり、行次元ツリーが上位ツリーとなる。
【００６３】
一方、下位ツリーは、メジャーのデータセットの数に見合う分だけ生成される。このとき、各データノードのメジャーデータセットは、行次元のそれぞれに対応する。したがって、各下位ツリーは、自分のデータノードのデータセットが対応する行次元のリーフノードを、ルートノードとして統合する。
【００６４】
例えば、図８に示すように、上位ツリーのリーフノード＜内需＞または＜輸出＞を、下位ツリー（列次元ツリー）のルートノードとして結合する。第１番目の下位ツリーのデータセットは｛２５，１０００，２０，９００｝であり、当該データセットに対応する行次元は｛＜２０１８０１０１＞、＜内需＞｝である。したがって、第１番目の下位ツリーは、｛＜２０１８０１０１＞、＜内需＞｝と区分される上位ツリーのリーフノード＜内需＞を、ルートノードとして結合する。
【００６５】
一方、好ましくは、フレーム変換部３３は、合計ノードをも含めた統合次元ツリーを生成する。すなわち、合計に対応するメジャーのデータセット（例えば、｛４０、１５００、５０、１３００｝など）をも統合ツリーに生成する。図９は、合計ノードが含まれた統合ツリーを示している。
【００６６】
また、フレーム変換部３３は、統合次元ツリー（または統合ツリー）が生成されると、統合ツリーのデータセットからレコード構造（データフレーム形式）のデータセットを生成する。このとき、レコード構造は、多数のフィールドで構成されるレコードの集合で構成される。したがって、フィールドまたはフィールド名を構成し、各フィールドに該当するフィールド値を設定して、データフレームを生成する。
【００６７】
すなわち、各メジャーに対して、メジャーの次元名をフィールドと設定し、当該メジャーのデータ値を当該フィールドのフィールド値とする。また、メジャーノードの上位ノードのカテゴリ（カテゴリ名）をフィールドと設定し、当該カテゴリの次元名を当該フィールドのフィールド値とする。このとき、ルートノードは除外される。したがって、メジャーノードの上位ノードの次元名とメジャーのデータ値とを用いて１つのレコードを構成する。
【００６８】
このとき、合計ノードを含むツリー構造は除外される。すなわち、合計ノードを含まないツリー構造の場合にのみ、統合次元ツリーからレコード構造のデータセットを生成する。
【００６９】
図６の例において、最上部のメジャーカテゴリの次元名＜売上数量＞と＜ウォン単価＞をフィールド（フィールド名）と設定し、データ値＜２５＞、＜１０００＞を当該フィールドのフィールド値とする。また、メジャーカテゴリの上位ノードのカテゴリ＜売上日付＞、＜売上区分名＞、＜事業部区分名＞を、それぞれのフィールド（フィールド名）とする。さらに、メジャーノードの上位ノードの次元名＜２０１８０１０１＞、＜内需＞、＜電子素材事業部＞を、当該フィールドのフィールド値とする。
【００７０】
したがって、レコードは｛＜２０１８０１０１＞、＜内需＞、＜電子素材事業部＞、＜２５＞、＜１０００＞｝で構成される。このとき、フィールド名は、｛＜売上日付＞、＜売上区分名＞、＜事業部区分名＞、＜売上数量＞、＜ウォン単価＞｝で構成される。
【００７１】
統合ツリーの全てのメジャーカテゴリのメジャーノードに対してレコードを生成すると、レコード構造のデータセットを生成することができる。図１０は、図８の統合ツリーから生成されたレコード構造のデータセットを示している。
【００７２】
他の実施形態によれば、フレーム変換部３３は、全てのメジャーデータセットに対応する下位ツリーを全て生成せずに、上位ツリーと下位ツリーとを巡回してレコード構造のデータセットが得られる。このとき、下位ツリーにデータノードを連結させずに、１つの下位ツリーのみを生成する。すなわち、下位ツリーのノードは、次元に対するノードのみで構成される。
【００７３】
フィールドを構成する方式は、前述した実施形態と同様である。
【００７４】
そして、各レコードを作るために以下のように巡回する。
【００７５】
ｒｏｗｌｅｖｅｌ２→…→ｒｏｗｌｅｖｅｌｎ→ｃｏｌｕｍｎｌｅｖｅｌ１→…→ｃｏｌｕｍｎｌｅｖｅｌｎ
すなわち、上位ツリーにおけるルートノードからスタートしてリーフノードに順次巡回しながら、各ノードの値（次元名）をレコードに入力する。そして、上位ツリーのリーフノードに到達すると、下位ツリーのルートノードからスタートして下位ノードに巡回する。このとき、メジャーノードに触れるとメジャーフィールドにデータ値を入力する。このとき、データ領域の行と列が巡回されたノードのほか、同一の次元のデータをメジャーフィールドのデータ値として入力する。
【００７６】
次に、データ予測部３４は、レコードデータセットを対象としてディープラーニング（ＬＳＴＭ：Ｌｏｎｇ  Ｓｈｏｒｔ  Ｔｅｒｍ  Ｍｅｍｏｒｙ、長短期記憶）を用いて予測する。好ましくは、レコード構造のデータセットにおいて、時系列データを持つフィールドを対象として次のサイクルのメジャーフィールドのデータ値を予測する。
【００７７】
好ましくは、時系列のフィールドは、次元名によって作られるフィールドである。
【００７８】
図１０の例において、＜売上日付＞フィールドは行次元により作られたフィールドであり、日付が時系列の順序を有するので、＜売上日付＞の次のサイクル＜２０１８０１０５＞に対して次の分析サイクルのメジャーデータを予測することができる。
【００７９】
このとき、時系列次元を除いた残りの次元の組み合わせごとに予測データを得、時系列次元のデータは、次のサイクルの、組み合わせごとに予測したデータを、レコードとして形成する。このとき、次元のフィールド値は、時系列次元の次のサイクル、残りの次元の組み合わせ、及び予測したデータで構成される。
【００８０】
次に、データ再構成部３５は、予測データが追加されたレコードデータセットをピボットテーブル構造のデータセットとして再構成する。すなわち、予測データのレコード構造のデータセットを統合ツリーに反映し、統合ツリーをピボットテーブル構造のデータセットとして再構成する。この際、前述したレコード構造のデータセットを形成する過程の逆過程を行う。
【００８１】
図１１の予測データが反映されたレコード構造のデータセットから、予測データを統合ツリーに反映する。図１２は、予測データが反映された統合ツリーを示している。
【００８２】
図１２に示すように、時系列次元の次のサイクルを次元名とする新たな階層のノードを生成して、統合ツリーに挿入する。このとき、時系列次元のカテゴリに属するノードに全て含ませる。
【００８３】
すなわち、図１１で生成された新たなレコードに対応するノードを生成し、生成されたノードを元の統合ツリーに追加して再構成する。
【００８４】
一方、好ましくは、図１３に示すように、新たなノード（新たな部分ツリー）に、合計ノードに対する部分（合計ノードの部分ツリー、または合計ノード及びその下位ツリー）をも追加する。このとき、合計ノードの下位構造（下位ツリー）は、他の兄弟ノード（ｓｉｂｌｉｎｇ  ｎｏｄｅ）（特に、新たなレコードによって生成された兄弟ノード）の下位ツリー構造を全て合算して生成する。
【００８５】
下位ツリーの合算は、次のような方法により行われる。下位ツリーの構造を同様に生成する。そして、リーフノードであるデータ値のみが異なるが、同じ位置のリーフノード（他の兄弟ノードのリーフノード）のデータ値を全て合算することで、当該位置のリーフノード（合計ノードの下位ツリー構造のリーフノード）のデータ値を生成する。
【００８６】
また、データ再構成部３５は、再構成された統合ツリーからピボットテーブルの構造を生成する。ピボットテーブルの構造から統合ツリーを形成した過程の逆過程を行い、ピボットテーブルを再構成して生成する。
【００８７】
以上、本発明者によってなされた発明を実施形態に基づいて具体的に説明したが、本発明は上記実施形態に限定されるものではなく、その要旨を逸脱しない範囲において種々変更可能であることは言うまでもない。
【００８８】
この特許出願は、２０１７年度の韓国政府の財源として韓国研究財団の支援を受けて行われた基礎研究事業である（Ｎｏ．２０１７Ｍ３Ｃ４Ａ７０８３２８２）。
【符号の説明】
【００８９】
１０  ユーザ端末
２０  クライアント
３０  予測反映サーバ
３１  データセット受信部
３２  次元抽出部
３３  フレーム変換部
３４  データ予測部
３５  データ再構成部
５０  分析サーバ
８０  データベース
【図１】
2020119487.tif 000003
【図２】
2020119487.tif 000004
【図３】
2020119487.tif 000005
【図４】
2020119487.tif 000006
【図５】
2020119487.tif 000007
【図６】
2020119487.tif 000008
【図７ａ】
2020119487.tif 000009
【図７ｂ】
2020119487.tif 000010
【図８】
2020119487.tif 000011
【図９】
2020119487.tif 000012
【図１０】
2020119487.tif 000013
【図１１】
2020119487.tif 000014
【図１２】
2020119487.tif 000015
【図１３】
2020119487.tif 000016