(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-04-26
(45)【発行日】2023-05-09
(54)【発明の名称】データ可視化システムおよびデータ可視化プログラム
(51)【国際特許分類】
G06F 16/904 20190101AFI20230427BHJP
G06F 16/9038 20190101ALI20230427BHJP
G06F 3/04842 20220101ALI20230427BHJP
【FI】
G06F16/904
G06F16/9038
G06F3/04842
(21)【出願番号】P 2019054936
(22)【出願日】2019-03-22
【審査請求日】2022-01-11
(73)【特許権者】
【識別番号】501158538
【氏名又は名称】三菱電機インフォメーションネットワーク株式会社
(74)【代理人】
【識別番号】110002491
【氏名又は名称】弁理士法人クロスボーダー特許事務所
(72)【発明者】
【氏名】海寳 貴人
【審査官】三橋 竜太郎
(56)【参考文献】
【文献】特開2018-124728(JP,A)
【文献】特開2012-048474(JP,A)
【文献】特開平07-262199(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 16/00-16/958
G06F 3/04842
(57)【特許請求の範囲】
【請求項1】
データベースから抽出される複数の要素が要素組として指定されたクエリを入力クエリとして受け付けるクエリ受付部と、
前記入力クエリに指定された要素組に該当する1つ以上のデータ組を含む検索結果を前記データベースから取得する検索結果取得部と、
前記入力クエリに指定された要素組の
要素毎に要素の属性に基づいて項目軸に対する適合度である項目軸適合度を算出し、前記要素組の各要素の項目軸適合度に基づいて、前記要素組から、グラフの項目軸に割り当てる要素を項目要素として選択する項目要素選択部と、
前記入力クエリに指定された要素組の
要素毎に要素の属性に基づいて数値軸に対する適合度である数値軸適合度を算出し、前記要素組の各要素の数値軸適合度に基づいて、前記要素組から、グラフの数値軸に割り当てる要素を数値要素として選択する数値要素選択部と、
前記検索結果に含まれる各データ組から前記項目要素のデータと前記数値要素のデータとの組を可視化データ組として抽出し、前記検索結果に含まれる1つ以上のデータ組から抽出された1つ以上の可視化データ組を用いて、前記項目要素と前記数値要素との関係を示すグラフである可視化グラフを生成し、生成した可視化グラフをディスプレイに表示させるグラフ描画部と、
を備えるデータ可視化システム。
【請求項2】
前記項目要素選択部は、前記要素組の要素毎に、要素のデータ型と、前記入力クエリにおいて要素が指定された予約語の種類とに基づいて、要素の項目軸適合度を算出し、
前記数値要素選択部は、前記要素組の要素毎に、要素のデータ型と、前記入力クエリにおいて要素が指定された予約語の種類とに基づいて、要素の数値軸適合度を算出する
請求項
1に記載のデータ可視化システム。
【請求項3】
前記項目要素選択部は、
前記要素組の中で最も項目軸適合度が高い要素を項目要素候補として選択し、
1つの項目要素候補が選択された場合、選択された1つの項目要素候補を前記項目要素に決定し、
2つ以上の項目要素候補が選択された場合、選択された2つ以上の項目要素候補をディスプレイに表示させ、表示された2つ以上の項目要素候補から選択された1つの項目要素候補を前記項目要素に決定する
請求項
1または請求項
2に記載のデータ可視化システム。
【請求項4】
前記項目要素選択部は、
前記要素組の各要素の項目軸適合度から、最も高い項目軸適合度と、前記最も高い項目軸適合度との差が近似範囲に収まる項目軸適合度とを選択し、
選択された項目軸適合度毎に、選択された項目軸適合度を有する要素を項目要素候補として選択し、
1つの項目要素候補が選択された場合、選択された1つの項目要素候補を前記項目要素に決定し、
2つ以上の項目要素候補が選択された場合、選択された2つ以上の項目要素候補をディスプレイに表示させ、表示された2つ以上の項目要素候補から選択された1つの項目要素候補を前記項目要素に決定する
請求項
1または請求項
2に記載のデータ可視化システム。
【請求項5】
前記数値要素選択部は、
前記要素組の中で最も数値軸適合度が高い要素を数値要素候補として選択し、
1つの数値要素候補が選択された場合、選択された1つの数値要素候補を前記数値要素に決定し、
2つ以上の数値要素候補が選択された場合、選択された2つ以上の数値要素候補のそれぞれを前記数値要素に決定する
請求項
1から請求項
4のいずれか1項に記載のデータ可視化システム。
【請求項6】
データベースから抽出される複数の要素が要素組として指定されたクエリを入力クエリとして受け付けるクエリ受付部と、
前記入力クエリに指定された要素組に該当する1つ以上のデータ組を含む検索結果を前記データベースから取得する検索結果取得部と、
前記入力クエリに指定された要素組の各要素の属性に基づいて、前記要素組から、グラフの項目軸に割り当てる要素を項目要素として選択する項目要素選択部と、
前記入力クエリに指定された要素組の各要素の属性に基づいて、前記要素組から、グラフの数値軸に割り当てる要素を数値要素として選択する数値要素選択部と、
要素名とグラフ種類とグラフ向きとを示すログデータの集合であるログデータセットから前記数値要素に関する要素名を示すログデータ群を抽出し、抽出したログデータ群を用いてグラフ種類とグラフ向きとの組を集計し、集計結果に基づいてグラフ種類とグラフ向きとの組をグラフ属性組として決定するグラフ属性決定部と、
前記検索結果に含まれる各データ組から前記項目要素のデータと前記数値要素のデータとの組を可視化データ組として抽出し、前記検索結果に含まれる1つ以上のデータ組から抽出された1つ以上の可視化データ組を用いて、前記項目要素と前記数値要素との関係を示すグラフである可視化グラフを
、決定されたグラフ属性組のグラフ種類とグラフ向きとに合わせて生成し、生成した可視化グラフをディスプレイに表示させるグラフ描画部と、
を備えるデータ可視化システム。
【請求項7】
前記データ可視化システムは、可視化学習部を備え、
前記グラフ属性決定部は、前記集計結果に基づいて複数のグラフ属性組を決定し、
前記グラフ描画部は、決定された複数のグラフ属性組に対応する複数の可視化グラフを表示させ、
前記可視化学習部は、表示された複数の可視化グラフのうちの少なくともいずれかの可視化グラフを指定するグラフ指定を受け付け、受け付けたグラフ指定で指定された可視化グラフに対応するグラフ属性組を特定し、特定したグラフ属性組と前記数値要素の名称とを示すログデータを生成し、生成したログデータを前記ログデータセットに追加する
請求項
6に記載のデータ可視化システム。
【請求項8】
データベースから抽出される複数の要素が要素組として指定されたクエリを入力クエリとして受け付けるクエリ受付部と、
前記入力クエリに指定された要素組に該当する1つ以上のデータ組を含む検索結果を前記データベースから取得する検索結果取得部と、
前記入力クエリに指定された要素組の各要素の属性に基づいて、前記要素組から、グラフの項目軸に割り当てる要素を項目要素として選択する項目要素選択部と、
前記入力クエリに指定された要素組の各要素の属性に基づいて、前記要素組から、グラフの数値軸に割り当てる要素を数値要素として選択する数値要素選択部と、
要素名とグラフ種類とを示すログデータの集合であるログデータセットから前記数値要素に関する要素名を示すログデータ群を抽出し、抽出したログデータ群を用いてグラフ種類を集計し、集計結果に基づいてグラフ種類を決定するグラフ属性決定部と、
前記検索結果に含まれる各データ組から前記項目要素のデータと前記数値要素のデータとの組を可視化データ組として抽出し、前記検索結果に含まれる1つ以上のデータ組から抽出された1つ以上の可視化データ組を用いて、前記項目要素と前記数値要素との関係を示すグラフである可視化グラフを
、決定されたグラフ種類に合わせて生成し、生成した可視化グラフをディスプレイに表示させるグラフ描画部と、
を備えるデータ可視化システム。
【請求項9】
データベースから抽出される複数の要素が要素組として指定されたクエリを入力クエリとして受け付けるクエリ受付部と、
前記入力クエリに指定された要素組に該当する1つ以上のデータ組を含む検索結果を前記データベースから取得する検索結果取得部と、
前記入力クエリに指定された要素組の各要素の属性に基づいて、前記要素組から、グラフの項目軸に割り当てる要素を項目要素として選択する項目要素選択部と、
前記入力クエリに指定された要素組の各要素の属性に基づいて、前記要素組から、グラフの数値軸に割り当てる要素を数値要素として選択する数値要素選択部と、
要素名とグラフ向きとを示すログデータの集合であるログデータセットから前記数値要素に関する要素名を示すログデータ群を抽出し、抽出したログデータ群を用いてグラフ向きを集計し、集計結果に基づいてグラフ向きを決定するグラフ属性決定部と、
前記検索結果に含まれる各データ組から前記項目要素のデータと前記数値要素のデータとの組を可視化データ組として抽出し、前記検索結果に含まれる1つ以上のデータ組から抽出された1つ以上の可視化データ組を用いて、前記項目要素と前記数値要素との関係を示すグラフである可視化グラフを
、決定されたグラフ向きに合わせて生成し、生成した可視化グラフをディスプレイに表示させるグラフ描画部と、
を備えるデータ可視化システム。
【請求項10】
データベースから抽出される複数の要素が要素組として指定されたクエリを入力クエリとして受け付けるクエリ受付部と、
前記入力クエリに指定された要素組に該当する1つ以上のデータ組を含む検索結果を前記データベースから取得する検索結果取得部と、
前記入力クエリに指定された要素組の
要素毎に要素の属性に基づいて項目軸に対する適合度である項目軸適合度を算出し、前記要素組の各要素の項目軸適合度に基づいて、前記要素組から、グラフの項目軸に割り当てる要素を項目要素として選択する項目要素選択部と、
前記入力クエリに指定された要素組の
要素毎に要素の属性に基づいて数値軸に対する適合度である数値軸適合度を算出し、前記要素組の各要素の数値軸適合度に基づいて、前記要素組から、グラフの数値軸に割り当てる要素を数値要素として選択する数値要素選択部と、
前記検索結果に含まれる各データ組から前記項目要素のデータと前記数値要素のデータとの組を可視化データ組として抽出し、前記検索結果に含まれる1つ以上のデータ組から抽出された1つ以上の可視化データ組を用いて、前記項目要素と前記数値要素との関係を示すグラフである可視化グラフを生成し、生成した可視化グラフをディスプレイに表示させるグラフ描画部として、
コンピュータを機能させるためのデータ可視化プログラム。
【請求項11】
データベースから抽出される複数の要素が要素組として指定されたクエリを入力クエリとして受け付けるクエリ受付部と、
前記入力クエリに指定された要素組に該当する1つ以上のデータ組を含む検索結果を前記データベースから取得する検索結果取得部と、
前記入力クエリに指定された要素組の各要素の属性に基づいて、前記要素組から、グラフの項目軸に割り当てる要素を項目要素として選択する項目要素選択部と、
前記入力クエリに指定された要素組の各要素の属性に基づいて、前記要素組から、グラフの数値軸に割り当てる要素を数値要素として選択する数値要素選択部と、
要素名とグラフ種類とグラフ向きとを示すログデータの集合であるログデータセットから前記数値要素に関する要素名を示すログデータ群を抽出し、抽出したログデータ群を用いてグラフ種類とグラフ向きとの組を集計し、集計結果に基づいてグラフ種類とグラフ向きとの組をグラフ属性組として決定するグラフ属性決定部と、
前記検索結果に含まれる各データ組から前記項目要素のデータと前記数値要素のデータとの組を可視化データ組として抽出し、前記検索結果に含まれる1つ以上のデータ組から抽出された1つ以上の可視化データ組を用いて、前記項目要素と前記数値要素との関係を示すグラフである可視化グラフを
、決定されたグラフ属性組のグラフ種類とグラフ向きとに合わせて生成し、生成した可視化グラフをディスプレイに表示させるグラフ描画部として、
コンピュータを機能させるためのデータ可視化プログラム。
【請求項12】
データベースから抽出される複数の要素が要素組として指定されたクエリを入力クエリとして受け付けるクエリ受付部と、
前記入力クエリに指定された要素組に該当する1つ以上のデータ組を含む検索結果を前記データベースから取得する検索結果取得部と、
前記入力クエリに指定された要素組の各要素の属性に基づいて、前記要素組から、グラフの項目軸に割り当てる要素を項目要素として選択する項目要素選択部と、
前記入力クエリに指定された要素組の各要素の属性に基づいて、前記要素組から、グラフの数値軸に割り当てる要素を数値要素として選択する数値要素選択部と、
要素名とグラフ種類とを示すログデータの集合であるログデータセットから前記数値要素に関する要素名を示すログデータ群を抽出し、抽出したログデータ群を用いてグラフ種類を集計し、集計結果に基づいてグラフ種類を決定するグラフ属性決定部と、
前記検索結果に含まれる各データ組から前記項目要素のデータと前記数値要素のデータとの組を可視化データ組として抽出し、前記検索結果に含まれる1つ以上のデータ組から抽出された1つ以上の可視化データ組を用いて、前記項目要素と前記数値要素との関係を示すグラフである可視化グラフを
、決定されたグラフ種類に合わせて生成し、生成した可視化グラフをディスプレイに表示させるグラフ描画部として、
コンピュータを機能させるためのデータ可視化プログラム。
【請求項13】
データベースから抽出される複数の要素が要素組として指定されたクエリを入力クエリとして受け付けるクエリ受付部と、
前記入力クエリに指定された要素組に該当する1つ以上のデータ組を含む検索結果を前記データベースから取得する検索結果取得部と、
前記入力クエリに指定された要素組の各要素の属性に基づいて、前記要素組から、グラフの項目軸に割り当てる要素を項目要素として選択する項目要素選択部と、
前記入力クエリに指定された要素組の各要素の属性に基づいて、前記要素組から、グラフの数値軸に割り当てる要素を数値要素として選択する数値要素選択部と、
要素名とグラフ向きとを示すログデータの集合であるログデータセットから前記数値要素に関する要素名を示すログデータ群を抽出し、抽出したログデータ群を用いてグラフ向きを集計し、集計結果に基づいてグラフ向きを決定するグラフ属性決定部と、
前記検索結果に含まれる各データ組から前記項目要素のデータと前記数値要素のデータとの組を可視化データ組として抽出し、前記検索結果に含まれる1つ以上のデータ組から抽出された1つ以上の可視化データ組を用いて、前記項目要素と前記数値要素との関係を示すグラフである可視化グラフを
、決定されたグラフ向きに合わせて生成し、生成した可視化グラフをディスプレイに表示させるグラフ描画部として、
コンピュータを機能させるためのデータ可視化プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、データの可視化に関するものである。
【背景技術】
【0002】
データ群をもとに故障検知または値予測などのデータ分析を行う際にデータ群を可視化すると、データの傾向またはデータの規則性が判断しやすくなる。
データの可視化を行うためには、分析者が最適なグラフを考える必要がある。しかし、データ量が多い場合またはデータの内容が不明瞭である場合には、どのようなグラフが最適であるか判断することは難しい。
【0003】
特許文献1には、データに応じて最適なグラフを機械的に決定する手法が開示されている。
この手法では、利用者のID、利用者の職業、グラフに含まれる文字情報などの情報が利用者によって入力され、入力された情報が記憶される。そして、同じ利用者の次回以降の利用時に、記憶された情報に基づいて最適なグラフが機械的に決定される。これにより、最適なグラフを判断するための利用者の手間を減らすことができる。
【先行技術文献】
【特許文献】
【0004】
【発明の概要】
【発明が解決しようとする課題】
【0005】
特許文献1の手法では、利用者が、本人のプロフィール、文字のフォントおよび利用の目的などの多くの情報を入力する必要がある。そのため、利用時にそれら情報を入力するために多くの時間を要することが考えられる。また、最終的に決定されるグラフが1つのみであるため、得たいグラフが決定されるグラフと異なる場合の対処および改善が難しい。
【0006】
本発明は、利用者による事前の情報入力がなくても、データを効果的に可視化できるようにすることを目的とする。
【課題を解決するための手段】
【0007】
本発明のデータ可視化システムは、
データベースから抽出される複数の要素が要素組として指定されたクエリを入力クエリとして受け付けるクエリ受付部と、
前記入力クエリに指定された要素組に該当する1つ以上のデータ組を含む検索結果を前記データベースから取得する検索結果取得部と、
前記入力クエリに指定された要素組の各要素の属性に基づいて、前記要素組から、グラフの項目軸に割り当てる要素を項目要素として選択する項目要素選択部と、
前記入力クエリに指定された要素組の各要素の属性に基づいて、前記要素組から、グラフの数値軸に割り当てる要素を数値要素として選択する数値要素選択部と、
前記検索結果に含まれる各データ組から前記項目要素のデータと前記数値要素のデータとの組を可視化データ組として抽出し、前記検索結果に含まれる1つ以上のデータ組から抽出された1つ以上の可視化データ組を用いて、前記項目要素と前記数値要素との関係を示すグラフである可視化グラフを生成し、生成した可視化グラフをディスプレイに表示させるグラフ描画部とを備える。
【0008】
前記項目要素選択部は、前記要素組の要素毎に要素の属性に基づいて項目軸に対する適合度である項目軸適合度を算出し、前記要素組の各要素の項目軸適合度に基づいて前記要素組から前記項目要素を選択し、
前記数値要素選択部は、前記要素組の要素毎に要素の属性に基づいて数値軸に対する適合度である数値軸適合度を算出し、前記要素組の各要素の数値軸適合度に基づいて前記要素組から前記数値要素を選択する。
【0009】
前記項目要素選択部は、前記要素組の要素毎に、要素のデータ型と、前記入力クエリにおいて要素が指定された予約語の種類とに基づいて、要素の項目軸適合度を算出し、
前記数値要素選択部は、前記要素組の要素毎に、要素のデータ型と、前記入力クエリにおいて要素が指定された予約語の種類とに基づいて、要素の数値軸適合度を算出する。
【0010】
前記項目要素選択部は、
前記要素組の中で最も項目軸適合度が高い要素を項目要素候補として選択し、
1つの項目要素候補が選択された場合、選択された1つの項目要素候補を前記項目要素に決定し、
2つ以上の項目要素候補が選択された場合、選択された2つ以上の項目要素候補をディスプレイに表示させ、表示された2つ以上の項目要素候補から選択された1つの項目要素候補を前記項目要素に決定する。
【0011】
前記項目要素選択部は、
前記要素組の各要素の項目軸適合度から、最も高い項目軸適合度と、前記最も高い項目軸適合度との差が近似範囲に収まる項目軸適合度とを選択し、
選択された項目軸適合度毎に、選択された項目軸適合度を有する要素を項目要素候補として選択し、
1つの項目要素候補が選択された場合、選択された1つの項目要素候補を前記項目要素に決定し、
2つ以上の項目要素候補が選択された場合、選択された2つ以上の項目要素候補をディスプレイに表示させ、表示された2つ以上の項目要素候補から選択された1つの項目要素候補を前記項目要素に決定する。
【0012】
前記数値要素選択部は、
前記要素組の中で最も数値軸適合度が高い要素を数値要素候補として選択し、
1つの数値要素候補が選択された場合、選択された1つの数値要素候補を前記数値要素に決定し、
2つ以上の数値要素候補が選択された場合、選択された2つ以上の数値要素候補のそれぞれを前記数値要素に決定する。
【0013】
前記データ可視化システムは、要素名とグラフ種類とグラフ向きとを示すログデータの集合であるログデータセットから前記数値要素に関する要素名を示すログデータ群を抽出し、抽出したログデータ群を用いてグラフ種類とグラフ向きとの組を集計し、集計結果に基づいてグラフ種類とグラフ向きとの組をグラフ属性組として決定するグラフ属性決定部を備え、
前記グラフ描画部は、決定されたグラフ属性組のグラフ種類とグラフ向きとに合わせて前記可視化グラフを生成する。
【0014】
前記データ可視化システムは、可視化学習部を備え、
前記グラフ属性決定部は、前記集計結果に基づいて複数のグラフ属性組を決定し、
前記グラフ描画部は、決定された複数のグラフ属性組に対応する複数の可視化グラフを表示させ、
前記可視化学習部は、表示された複数の可視化グラフのうちの少なくともいずれかの可視化グラフを指定するグラフ指定を受け付け、受け付けたグラフ指定で指定された可視化グラフに対応するグラフ属性組を特定し、特定したグラフ属性組と前記数値要素の名称とを示すログデータを生成し、生成したログデータを前記ログデータセットに追加する。
【0015】
前記データ可視化システムは、要素名とグラフ種類とを示すログデータの集合であるログデータセットから前記数値要素に関する要素名を示すログデータ群を抽出し、抽出したログデータ群を用いてグラフ種類を集計し、集計結果に基づいてグラフ種類を決定するグラフ属性決定部を備え、
前記グラフ描画部は、決定されたグラフ種類に合わせて前記可視化グラフを生成する。
【0016】
前記データ可視化システムは、要素名とグラフ向きとを示すログデータの集合であるログデータセットから前記数値要素に関する要素名を示すログデータ群を抽出し、抽出したログデータ群を用いてグラフ向きを集計し、集計結果に基づいてグラフ向きを決定するグラフ属性決定部を備え、
前記グラフ描画部は、決定されたグラフ向きに合わせて前記可視化グラフを生成する。
【0017】
本発明のデータ可視化プログラムは、
データベースから抽出される複数の要素が要素組として指定されたクエリを入力クエリとして受け付けるクエリ受付部と、
前記入力クエリに指定された要素組に該当する1つ以上のデータ組を含む検索結果を前記データベースから取得する検索結果取得部と、
前記入力クエリに指定された要素組の各要素の属性に基づいて、前記要素組から、グラフの項目軸に割り当てる要素を項目要素として選択する項目要素選択部と、
前記入力クエリに指定された要素組の各要素の属性に基づいて、前記要素組から、グラフの数値軸に割り当てる要素を数値要素として選択する数値要素選択部と、
前記検索結果に含まれる各データ組から前記項目要素のデータと前記数値要素のデータとの組を可視化データ組として抽出し、前記検索結果に含まれる1つ以上のデータ組から抽出された1つ以上の可視化データ組を用いて、前記項目要素と前記数値要素との関係を示すグラフである可視化グラフを生成し、生成した可視化グラフをディスプレイに表示させるグラフ描画部として、
コンピュータを機能させる。
【発明の効果】
【0018】
本発明によれば、利用者による事前の情報入力がなくても、データを効果的に可視化することができる。
【図面の簡単な説明】
【0019】
【
図1】実施の形態1におけるデータ可視化システム100の構成図。
【
図2】実施の形態1におけるデータ可視化装置200の構成図。
【
図3】実施の形態1における記憶部290の構成図。
【
図4】実施の形態1におけるデータ可視化方法の概要図。
【
図5】実施の形態1におけるデータ可視化方法のフローチャート。
【
図6】実施の形態1におけるSQL文のフォーマットを示す図。
【
図7】実施の形態1における入力画面121を示す図。
【
図8】実施の形態1における項目要素選択処理(S130)のフローチャート。
【
図9】実施の形態1におけるステップS132のフローチャート。
【
図10】実施の形態1における数値要素選択処理(S140)のフローチャート。
【
図11】実施の形態1におけるステップS142のフローチャート。
【
図12】実施の形態1におけるグラフ属性決定処理(S150)のフローチャート。
【
図13】実施の形態1におけるグラフ描画処理(S160)のフローチャート。
【
図14】実施の形態1における出力画面122を示す図。
【
図15】実施の形態1における可視化学習処理(S170)のフローチャート。
【
図16】実施の形態1の実施例におけるテーブルTを示す図。
【
図17】実施の形態1の実施例1におけるSQL文を示す図。
【
図18】実施の形態1の実施例1における検索結果を示す図。
【
図19】実施の形態1の実施例1における適合度組を示す図。
【
図20】実施の形態1の実施例1におけるログデータ群を示す図。
【
図21】実施の形態1の実施例1における集計結果を示す図。
【
図22】実施の形態1の実施例1における可視化グラフ群の情報を示す図。
【
図23】実施の形態1の実施例2における集計結果(2回目)を示す図。
【
図24】実施の形態1の実施例2における集計結果(3回目)を示す図。
【
図25】実施の形態1の実施例2における可視化グラフ群の情報を示す図。
【
図26】実施の形態1の実施例3におけるSQL文を示す図。
【
図27】実施の形態1の実施例3における検索結果を示す図。
【
図28】実施の形態1の実施例3における適合度組を示す図。
【
図29】実施の形態1の実施例3におけるログデータ群(parameter1)を示す図。
【
図30】実施の形態1の実施例3におけるログデータ群(parameter2)を示す図。
【
図31】実施の形態1の実施例3におけるログデータ群(parameter3)を示す図。
【
図32】実施の形態1の実施例3における集計結果(parameter1)を示す図。
【
図33】実施の形態1の実施例3における集計結果(parameter2)を示す図。
【
図34】実施の形態1の実施例3における集計結果(parameter3)を示す図。
【
図35】実施の形態1の実施例3における可視化グラフ群の情報を示す図。
【
図36】実施の形態1の実施例4におけるSQL文を示す図。
【
図37】実施の形態1の実施例4における検索結果を示す図。
【
図38】実施の形態1の実施例4における適合度組を示す図。
【発明を実施するための形態】
【0020】
実施の形態および図面において、同じ要素または対応する要素には同じ符号を付している。説明した要素と同じ符号が付された要素の説明は適宜に省略または簡略化する。図中の矢印はデータの流れ又は処理の流れを主に示している。
【0021】
実施の形態1.
データ可視化システム100について、
図1から
図38に基づいて説明する。
【0022】
データ可視化システム100は、データベースを検索して得られたデータを可視化するシステムである。
【0023】
***構成の説明***
図1に基づいて、データ可視化システム100の構成を説明する。
データ可視化システム100は、データ可視化装置200と利用者端末110とを備える。
データ可視化装置200は、ネットワーク109を介して利用者端末110と通信する。ネットワーク109は、例えば、インターネットである。
【0024】
利用者端末110は、データ可視化システム100の利用者が操作する端末(コンピュータ)である。
利用者は、利用者端末110を操作することによって、データベースの検索をデータ可視化装置200に指示する。
そして、利用者は、データ可視化装置200によって可視化されるデータを分析する。
【0025】
データ可視化装置200は、データベースの検索、および、検索によって得られたデータの可視化を行う。
【0026】
図2に基づいて、データ可視化装置200の構成を説明する。
データ可視化装置200は、プロセッサ201とメモリ202と補助記憶装置203と通信装置204と入出力インタフェース205といったハードウェアを備えるコンピュータである。これらのハードウェアは、信号線を介して互いに接続されている。
【0027】
プロセッサ201は、演算処理を行うICであり、他のハードウェアを制御する。例えば、プロセッサ201は、CPU、DSPまたはGPUである。
ICは、Integrated Circuitの略称である。
CPUは、Central Processing Unitの略称である。
DSPは、Digital Signal Processorの略称である。
GPUは、Graphics Processing Unitの略称である。
【0028】
メモリ202は揮発性の記憶装置である。メモリ202は、主記憶装置またはメインメモリとも呼ばれる。例えば、メモリ202はRAMである。メモリ202に記憶されたデータは必要に応じて補助記憶装置203に保存される。
RAMは、Random Access Memoryの略称である。
【0029】
補助記憶装置203は不揮発性の記憶装置である。例えば、補助記憶装置203は、ROM、HDDまたはフラッシュメモリである。補助記憶装置203に記憶されたデータは必要に応じてメモリ202にロードされる。
ROMは、Read Only Memoryの略称である。
HDDは、Hard Disk Driveの略称である。
【0030】
通信装置204は、データ可視化装置200の通信を実現するレシーバ及びトランスミッタである。例えば、通信装置204は通信チップまたはNICである。
NICは、Network Interface Cardの略称である。
【0031】
入出力インタフェース205は、データ可視化装置200の入出力を実現する入力装置および出力装置が接続されるポートである。例えば、入出力インタフェース205はUSB端子であり、入力装置はキーボードおよびマウスであり、出力装置はディスプレイである。
USBは、Universal Serial Busの略称である。
【0032】
データ可視化装置200は、クエリ受付部210と検索結果取得部220と可視化解析部230とグラフ描画部240と可視化学習部250といった要素を備える。可視化解析部230は項目要素選択部231と数値要素選択部232とグラフ属性決定部233とを備える。これらの要素はソフトウェアで実現される。
【0033】
補助記憶装置203には、クエリ受付部210と検索結果取得部220と可視化解析部230とグラフ描画部240と可視化学習部250としてコンピュータを機能させるためのデータ可視化プログラムが記憶されている。データ可視化プログラムは、メモリ202にロードされて、プロセッサ201によって実行される。
補助記憶装置203には、さらに、OSが記憶されている。OSの少なくとも一部は、メモリ202にロードされて、プロセッサ201によって実行される。
プロセッサ201は、OSを実行しながら、データ可視化プログラムを実行する。
OSは、Operating Systemの略称である。
【0034】
データ可視化プログラムの入出力データは記憶部290に記憶される。
メモリ202は記憶部290として機能する。但し、補助記憶装置203、プロセッサ201内のレジスタおよびプロセッサ201内のキャッシュメモリなどの記憶装置が、メモリ202の代わりに、又は、メモリ202と共に、記憶部290として機能してもよい。
【0035】
データ可視化装置200は、プロセッサ201を代替する複数のプロセッサを備えてもよい。複数のプロセッサは、プロセッサ201の役割を分担する。
【0036】
データ可視化プログラムは、光ディスクまたはフラッシュメモリ等の不揮発性の記録媒体にコンピュータ読み取り可能に記録(格納)することができる。
【0037】
図3に基づいて、記憶部290の構成を説明する。
記憶部290には、データベース291およびログデータセット292などが記憶される。
【0038】
***動作の説明***
データ可視化システム100の動作はデータ可視化方法に相当する。また、データ可視化方法の手順はデータ可視化プログラムの手順に相当する。
【0039】
図4に基づいて、データ可視化方法の概要を説明する。
クエリ受付部210は、利用者端末110からクエリを受け付ける。
検索結果取得部220は、クエリを用いてデータベース291を検索する。
可視化解析部230は、クエリと検索結果とに基づいて、可視化するグラフに関する解析を行う。
グラフ描画部240は、検索結果と解析結果とに基づいてグラフ群を生成し、利用者端末110のディスプレイにグラフ群を表示させる。
可視化学習部250は、グラフ群から選ばれたグラフの指定を受け付け、選ばれたグラフに関するログデータをログデータセット292に記録する。
【0040】
図5に基づいて、データ可視化方法の手順を説明する。
ステップS110において、クエリ受付部210は、データベース291から抽出される複数の要素が指定されたクエリを受け付ける。
受け付けられるクエリを「入力クエリ」と称する。具体的には、入力クエリはSQL文である。SQLはStructured Query Languageの略称である。
入力クエリに指定された複数の要素を「要素組」と称する。具体的には、要素組は、SQL文の中のSELECT句で指定された複数の要素である。
【0041】
図6に、SQL文のフォーマットを示す。
SQL文には、SELECT句、FROM句およびGROUP BY句などが記述される。SQL文には、WHERE句、HAVING句およびORDER BY句などを追加することもできる。
SELECT句で指定される“F1”および“F2”などは、データベースのフィールド名であり、実施の形態における「要素組」に相当する。
FROM句で指定される“DATABASE”は、データベースの名前であり、実施の形態における「データベース291」の名前に相当する。
GROUP BY句で指定される“Fa”は、集計対象の軸である。実施の形態において、GROUP BY句には1つの要素が指定される。つまり、実施の形態において、GROPU BY句に対する複数の要素の指定は許さないものとする。
【0042】
図5に戻り、ステップS110の説明を続ける。
クエリ受付部210は、入力クエリを以下のように受け付ける。
利用者端末110は、
図7に示すような入力画面121をディスプレイに表示する。
利用者は、入力画面121の入力フォームにSQL文を入力し、送信ボタンを押下する。
利用者端末110は、入力画面121の入力フォームに入力されたSQL文をデータ可視化装置200に送信する。
クエリ受付部210は、利用者端末110から送信されたSQL文を受信する。受信されるSQL文が入力クエリとなる。
但し、クエリ受付部210は、別の方法で入力クエリを受け付けてもよい。例えば、クエリ受付部210は、アプリケーションプログラムから入力されるSQL文を受け付けてもよい。
【0043】
ステップS120において、検索結果取得部220は、入力クエリを実行することによって、データベース291から検索結果を取得する。
検索結果には、入力クエリに指定された要素組に該当する1つ以上のデータ組が含まれる。また、検索結果には、入力クエリに指定された要素組の各要素のデータ型が含まれる。
具体的には、検索結果は、SQL文を実行することによって得られるテーブルである。そして、検索結果に含まれるデータ組は、そのテーブルに含まれる1つ以上のレコードである。
【0044】
ステップS130において、項目要素選択部231は、入力クエリに指定された要素組の各要素の属性に基づいて、要素組から項目要素を選択する。
項目要素は、グラフを構成する項目軸と数値軸とのうちの項目軸に割り当てる要素である。
【0045】
図8に基づいて、項目要素選択処理(S130)の手順を説明する。
ステップS131において、項目要素選択部231は、入力クエリに指定された要素組から、未選択の要素を1つ選択する。
選択される要素を「選択要素」と称する。
【0046】
ステップS132において、項目要素選択部231は、選択要素の属性に基づいて、選択要素の項目軸適合度を算出する。
項目軸適合度は、グラフの項目軸に対する適合度である。つまり、項目軸適合度は、グラフの項目軸に適合する度合いである。
選択要素の属性は、要素のデータ型、および、入力クエリにおいて要素が指定された予約語の種類などである。
【0047】
要素のデータ型には「INT」、「DEC」、「DATE」、「TIMESTAMP」および「CHAR」などがある。
「INT」は、整数を意味する。
「DEC」は、浮動小数点を意味する。
「DATE」は、日付を意味する。
「TIMESTAMP」は、タイムスタンプを意味する。
「CHAR」は、固定長の文字列あるいは可変長の文字列を意味する。
【0048】
予約語の種類には、「SELECT」および「FROM」の他に、「WHERE」、「GROUP BY」、「ORDER BY」、「ALL」、「DISTINCT」、「SUM」、「COUNT」および「AVG」などがある。
「WHERE」には、レコードを絞り込みたいときに条件が指定される。「WHERE」は文末に記述される。
「GROUP BY」には、列に集計関数が指定されたときに集計軸が指定される。集計関数とは、和(SUM)、最大値(MAX)または平均(AVG)などの関数であり、データを集計するために利用される。集計関数は集合関数ともいう。なお、集計後の結果に対して表示条件を指定するときには「HAVING」という句が使用される。「GROUP BY」は文末に記述される。
「ALL」には、集計したい列が指定される。指定された列に対して同じ値のレコードを区別して集計が行われる。「ALL」は文頭に記述される。
「DISTINCT」には、集計したい列が指定される。指定された列に対して同じ値のレコードをまとめて集計が行われる。「DISTINCT」は文頭に記述される。
「SUM」には、合計したい列が指定される。指定された列の合計値が出力される。
「COUNT」には、レコード数を求めたい列が指定される。指定された列のレコード数が出力される。
「AVG」には、平均値を求めたい列が指定される。指定された列の平均値が出力される。
【0049】
図9に基づいて、ステップS132の具体例を説明する。
ステップS1321において、項目要素選択部231は、選択要素がGROUP BY句の後ろに続いているか判定する。つまり、項目要素選択部231は、選択要素がGROUP BY句で指定されているか判定する。
選択要素がGROUP BY句の後ろに続いている場合、項目要素選択部231は、選択要素の項目軸適合度を「1.0」に決定する。
選択要素がGROUP BY句の後ろに続いていない場合、処理はステップS1322に進む。
【0050】
ステップS1322において、項目要素選択部231は、選択要素がCHAR型であり、かつ、選択要素に該当するデータ集合が昇順において等間隔に並ぶか判定する。
例えば、選択要素に該当するデータ集合を昇順に並べた場合に「工場A、工場B、工場C」というデータ列が得られたと仮定する。この場合、選択要素に該当するデータ集合は、昇順において等間隔に並ぶ。
例えば、選択要素に該当するデータ集合を昇順に並べた場合に「神奈川、埼玉、東京」というデータ列が得られたと仮定する。この場合、選択要素に該当するデータ集合は、昇順において等間隔に並ばない。
選択要素がCHAR型であり、かつ、選択要素に該当するデータ集合が昇順において等間隔に並ぶ場合、項目要素選択部231は、選択要素の項目軸適合度を「0.8」に決定する。
選択要素がCHAR型でない場合と選択要素に該当するデータ集合が昇順において等間隔に並ばない場合との少なくともいずれかの場合、処理はステップS1323に進む。
【0051】
ステップS1323において、項目要素選択部231は、選択要素がDATE型あるいはTIMESTAMP型であるか判定する。
選択要素がDATE型あるいはTIMESTAMP型である場合、項目要素選択部231は、選択要素の項目軸適合度を「0.6」に決定する。
選択要素がDATE型とTIMESTAMP型とのいずれでもない場合、処理はステップS1324に進む。
【0052】
ステップS1324において、項目要素選択部231は、選択要素がCHAR型であるか判定する。
選択要素がCHAR型である場合、項目要素選択部231は、選択要素の項目軸適合度を「0.5」に決定する。
選択要素がCHAR型でない場合、処理はステップS1325に進む。
【0053】
ステップS1325において、項目要素選択部231は、選択要素に該当するデータ集合が昇順において等間隔に並ぶか判定する。
選択要素に該当するデータ集合が昇順において等間隔に並ぶ場合、項目要素選択部231は、選択要素の項目軸適合度を「0.4」に決定する。
選択要素に該当するデータ集合が昇順において等間隔に並ばない場合、処理はステップS1326に進む。
【0054】
ステップS1326において、項目要素選択部231は、選択要素がテーブル(検索結果)の一番左の列であるか判定する。つまり、項目要素選択部231は、選択要素がSELECT句の先頭に指定された要素であるか判定する。
選択要素がテーブルの一番左の列である場合、項目要素選択部231は、選択要素の項目軸適合度を「0.2」に決定する。
選択要素がテーブルの一番左の列でない場合、項目要素選択部231は、選択要素の項目軸適合度を「0.1」に決定する。
【0055】
図8に戻り、ステップS133から説明を続ける。
ステップS133において、項目要素選択部231は、未選択の要素があるか判定する。
未選択の要素がある場合、処理はステップS131に進む。
未選択の要素がない場合、処理はステップS134に進む。
【0056】
ステップS134において、項目要素選択部231は、各要素の項目軸適合度に基づいて、項目要素を選択する。
【0057】
項目要素選択部231は、項目要素を以下のように選択する。
項目要素選択部231は、要素組の中で最も項目軸適合度が高い要素を選択する。選択される要素を「項目要素候補」と称する。
1つの項目要素候補が選択された場合、項目要素選択部231は、選択された1つの項目要素候補を項目要素に決定する。
2つ以上の項目要素候補が選択された場合、項目要素選択部231は、利用者端末110と通信することによって、選択された2つ以上の項目要素候補を利用者端末110のディスプレイに表示させる。利用者は、表示された2つ以上の項目要素候補から、項目軸に割り当てる1つの項目要素候補を選択する。項目要素選択部231は、利用者端末110と通信することによって、選択された1つの項目要素候補を受け付ける。そして、項目要素選択部231は、受け付けた1つの項目要素候補を項目要素に決定する。
但し、2つ以上の項目要素候補が選択された場合、1つのグラフに2つ以上の項目軸を設けることができないため、データ可視化装置200はデータ可視化方法の処理を停止してもよい。
【0058】
項目要素選択部231は、項目要素を以下のように選択してもよい。
まず、項目要素選択部231は、要素組の各要素の項目軸適合度から、最も高い項目軸適合度と、最も高い項目軸適合度との差が近似範囲に収まる項目軸適合度とを選択する。近似範囲は、項目軸適合度に対して予め決められた範囲である。例えば、要素組において最も高い項目軸適合度が「0.6」であり、近似範囲が「0.1」である場合、数値要素選択部232は、「0.5(=0.6-0.1)」から「0.6」までの範囲内の各項目軸適合度を選択する。
つぎに、項目要素選択部231は、選択された項目軸適合度毎に、選択された項目軸適合度を有する要素を選択する。選択される要素を「項目要素候補」と称する。
1つの項目要素候補が選択された場合、項目要素選択部231は、選択された1つの項目要素候補を項目要素に決定する。
2つ以上の項目要素候補が選択された場合、項目要素選択部231は、利用者端末110と通信することによって、選択された2つ以上の項目要素候補を利用者端末110のディスプレイに表示させる。利用者は、表示された2つ以上の項目要素候補から、項目軸に割り当てる項目要素候補を選択する。項目要素選択部231は、利用者端末110と通信することによって、選択された項目要素候補を受け付ける。そして、項目要素選択部231は、受け付けた項目要素候補を項目要素に決定する。
【0059】
図5に戻り、ステップS140から説明を続ける。
ステップS140において、数値要素選択部232は、入力クエリに指定された要素組の各要素の属性に基づいて、要素組から数値要素を選択する。
数値要素は、グラフを構成する項目軸と数値軸とのうちの数値軸に割り当てる要素である。
【0060】
図10に基づいて、数値要素選択処理(S140)の手順を説明する。
ステップS141において、数値要素選択部232は、入力クエリに指定された要素組から、未選択の要素を1つ選択する。
選択される要素を「選択要素」と称する。
【0061】
ステップS142において、数値要素選択部232は、選択要素の属性に基づいて、選択要素の数値軸適合度を算出する。
数値軸適合度は、グラフの数値軸に対する適合度である。つまり、数値軸適合度は、グラフの数値軸に適合する度合いである。
選択要素の属性は、要素のデータ型、および、入力クエリにおいて要素が指定された予約語の種類などである。
【0062】
図11に基づいて、ステップS142の具体例を説明する。
ステップS1421において、数値要素選択部232は、選択要素がDATE型、TIMESTAMP型あるいはCHAR型であるか判定する。
選択要素がDATE型、TIMESTAMP型あるいはCHAR型である場合、数値要素選択部232は、選択要素の数値軸適合度を「0.1」に決定する。
選択要素がDATE型とTIMESTAMP型とCHAR型とのいずれでもない場合、処理はステップS1422に進む。
【0063】
ステップS1422において、数値要素選択部232は、選択要素がINT型であり、かつ、選択要素に該当するデータ集合が昇順において等間隔に並ぶか判定する。
選択要素がINT型であり、かつ、選択要素に該当するデータ集合が昇順において等間隔に並ぶ場合、数値要素選択部232は、選択要素の数値軸適合度を「0.3」に決定する。
選択要素がINT型でない場合と選択要素に該当するデータ集合が昇順において等間隔に並ばない場合との少なくともいずれかの場合、処理はステップS1423に進む。
【0064】
ステップS1423において、数値要素選択部232は、選択要素がDEC型であり、かつ、選択要素の該当するデータ集合が昇順において等間隔に並ぶか判定する。
選択要素がDEC型であり、かつ、選択要素の該当するデータ集合が昇順において等間隔に並ぶ場合、数値要素選択部232は、選択要素の数値軸適合度を「0.3」に決定する。
選択要素がDEC型でない場合と選択要素の該当するデータ集合が昇順において等間隔に並ばない場合との少なくともいずれかの場合、数値要素選択部232は、処理はステップS1424に進む。
【0065】
ステップS1424において、数値要素選択部232は、選択要素が集計関数であるか判定する。
選択要素が集計関数である場合、数値要素選択部232は、選択要素の数値軸適合度を「1.0」に決定する。
選択要素が集計関数でない場合、数値要素選択部232は、選択要素の数値軸適合度を「0.6」に決定する。
【0066】
図10に戻り、ステップS143から説明を続ける。
ステップS143において、数値要素選択部232は、未選択の要素があるか判定する。
未選択の要素がある場合、処理はステップS141に進む。
未選択の要素がない場合、処理はステップS144に進む。
【0067】
ステップS144において、数値要素選択部232は、各要素の数値軸適合度に基づいて、数値要素を選択する。
【0068】
数値要素選択部232は、数値要素を以下のように選択する。
数値要素選択部232は、要素組の中で最も数値軸適合度が高い要素を選択する。選択される要素を「数値要素候補」と称する。
1つの数値要素候補が選択された場合、数値要素選択部232は、選択された1つの数値要素候補を数値要素に決定する。
2つ以上の数値要素候補が選択された場合、数値要素選択部232は、選択された2つ以上の数値要素候補のそれぞれを数値要素に決定する。
【0069】
図5に戻り、ステップS150から説明を続ける。
ステップS150において、グラフ属性決定部233は、ログデータセット292を用いて、可視化グラフに適用するグラフ属性組を決定する。
グラフ属性組は、グラフ種類とグラフ向きとの組である。
【0070】
グラフ種類は、棒グラフ、円グラフ、散布図および折れ線グラフなどである。
棒グラフは、ある要素のデータを長方形の図形で表したグラフである。
円グラフは、丸い図形を扇形に分割することによってデータの構成比率を表すグラフである。
散布図は、縦軸と横軸とのそれぞれに異なる量(または大きさ等)を対応させて各データをプロット(点)で表すグラフである。
折れ線グラフは、散布図の一種であり、各データのプロット(点)が直線でつながれたグラフである。
【0071】
グラフ向きは、項目軸と数値軸との配置に相当する。
例えば、棒グラフにおいて横軸が項目軸であり縦軸が数値軸である場合、データを表す棒の向きは「縦」になる。この場合、棒グラフの向きは「縦」である。
例えば、棒グラフにおいて縦軸が項目軸であり横軸が数値軸である場合、データを表す棒の向きは「横」になる。この場合、棒グラフの向きは「横」である。
【0072】
図12に基づいて、グラフ属性決定処理(S150)の手順を説明する。
ステップS151において、グラフ属性決定部233は、ログデータセット292から、数値要素に関するログデータ群を抽出する。
ログデータセット292は、ログデータの集合である。
ログデータは、要素名とグラフ種類とグラフ向きとを示す。
抽出されるログデータ群は、数値要素に関する要素名を示す1つ以上のログデータである。
数値要素に関する要素名は、数値要素の名称と同じ要素名または数値要素の名称と類似する要素名である。
数値要素に関する要素名の検索は、自然言語処理の一般的な手法を利用して行うことができる。例えば、ワイルドカード検索または正規表現などを利用することができる。
【0073】
数値要素に関するログデータ群が見つからなかった場合、ログデータセット292の全てのログデータを数値要素に関するログデータ群として扱う。
【0074】
ステップS152において、グラフ属性決定部233は、数値要素に関するログデータ群を用いて、グラフの種類とグラフ向きとの組を集計する。
つまり、グラフ属性決定部233は、グラフの種類とグラフ向きとの組毎に、ログデータの数を数える。
【0075】
ステップS153において、グラフ属性決定部233は、集計結果に基づいて、グラフ属性組を決定する。
具体的には、グラフ属性決定部233は、グラフの種類とグラフ向きとの組から、集計値(ログデータの数)が大きい順に、規定数の組を選択する。選択される各組が、決定されたグラフ属性組である。
規定数は予め決められる。規定数が「3」である場合、グラフ属性決定部233は、3つのグラフ属性組を決定する。
【0076】
図5に戻り、ステップS160から説明を続ける。
ステップS160において、グラフ描画部240は、決定されたグラフ属性組毎に可視化グラフを生成し、生成した各可視化グラフを利用者端末110のディスプレイに表示させる。
可視化グラフは、項目要素と数値要素との関係を示すグラフである。
【0077】
図13に基づいて、グラフ描画処理(S160)の手順を説明する。
ステップS161において、グラフ描画部240は、検索結果に含まれる各データ組から、項目要素のデータと数値要素のデータとの組を抽出する。
抽出される各データ組を「可視化データ組」と称する。
検索結果に含まれる1つ以上のデータ組から抽出される1つ以上の可視化データ組を「可視化データ組の集合」と称する。
【0078】
ステップS162において、グラフ描画部240は、ステップS150で決定されたグラフ属性組から、未選択のグラフ属性組を1つ選択する。
選択されるグラフ属性組を「選択属性組」と称する。
【0079】
ステップS163において、グラフ描画部240は、可視化データ組の集合を用いて、選択属性組に合わせて可視化グラフを生成する。
つまり、グラフ描画部240は、選択属性組のグラフ種類と選択属性組のグラフ向きとに合わせて、可視化グラフを生成する。
例えば、選択属性組のグラフ種類が「棒グラフ」であり、選択属性組のグラフ向きが「縦」であると仮定する。この場合、グラフ描画部240は、数値要素が縦軸に割り当てられて項目要素が横軸に割り当てられた棒グラフを生成する。
【0080】
ステップS164において、グラフ描画部240は、未選択のグラフ属性組があるか判定する。
未選択のグラフ属性組がある場合、処理はステップS162に進む。
未選択のグラフ属性組がない場合、処理はステップS165に進む。
【0081】
ステップS162からステップS164において生成される1つ以上の可視化グラフを「可視化グラフ群」と称する。
【0082】
ステップS165において、グラフ描画部240は、利用者端末110と通信することによって、利用者端末110のディスプレイに可視化グラフ群を表示させる。
【0083】
例えば、可視化グラフ群が3つの可視化グラフであると仮定する。この場合、グラフ描画部240は、3つの可視化グラフを利用者端末110に送信する。
そして、利用者端末110は、3つの可視化グラフを受信し、
図14に示すような出力画面122をディスプレイに表示する。
出力画面122には、3つの可視化グラフが含まれている。
【0084】
図5に戻り、ステップS170を説明する。
ステップS170において、可視化学習部250は、表示された可視化グラフ群のうちの利用者に指定された可視化グラフ、に関するログデータをログデータセット292に記録する。
【0085】
図15に基づいて、可視化学習処理(S170)の手順を説明する。
ステップS171において、可視化学習部250は、グラフ指定を受け付ける。
グラフ指定は、表示された可視化グラフ群のうちの少なくともいずれかの可視化グラフを指定するデータである。
【0086】
例えば、可視化学習部250は、グラフ指定を以下のように受け付ける。
まず、利用者は、出力画面122(
図14参照)に表示された可視化グラフ群から、いずれかの可視化グラフを選択する。
次に、利用者は、利用者端末110を操作することによって、選択した可視化グラフに対する決定ボタンを押下する。
いずれかの決定ボタンが押下された場合、利用者端末110は、押下された決定ボタンに対する可視化グラフを拡大してディスプレイに表示する。また、利用者端末110は、押下された決定ボタンに対する可視化グラフの識別子を含んだデータをデータ可視化装置200に送信する。送信されるデータがグラフ指定である。
そして、可視化学習部250は、利用者端末110から送信されたグラフ指定を受信する。
【0087】
出力画面122について補足する。
出力画面122は、「候補以外」ボタンを有する。「候補以外」ボタンは、表示されている可視化グラフ群とは別の種類の可視化グラフを表示させるためのボタン(グラフ変更ボタン)である。
「候補以外」ボタンが押下された場合、利用者端末110は、グラフ属性リストを要求し、グラフ属性決定部233はグラフ属性リストを応答する。グラフ属性リストは、グラフ種類とグラフ向きとの組のリストである。
グラフ属性リストが応答された場合、利用者端末110はグラフ属性リストをディスプレイに表示する。利用者は、グラフ属性リストからグラフ種類とグラフ向きとの組を選択し、選択した組を指定する。指定される組を「指定属性組」と称する。
利用者端末110は、属性組指定をデータ可視化装置200に送信する。属性組指定は、指定属性組を示すデータである。
グラフ描画部240は、属性組指定を受け付け、属性組指定で指定されたグラフ種類とグラフ向きとに合わせて可視化グラフを生成し、生成した可視化グラフを送信する。
そして、利用者端末110は、可視化グラフを受信し、受信した可視化グラフを出力画面122に表示する。
【0088】
ステップS172において、可視化学習部250は、受け付けたグラフ指定で指定された可視化グラフに対応するグラフ属性組を特定する。
【0089】
ステップS173において、可視化学習部250は、特定したグラフ属性組と数値要素の名称とを示すログデータを生成する。
【0090】
ステップS174において、可視化学習部250は、生成したログデータをログデータセット292に追加する。
【0091】
***実施例の説明***
工場内の各機器の周辺温度を計測するセンサのデータを可視化する実施例について、以下に説明する。
図16に、データベース291に格納されるテーブルTを示す。
「logdate」列は、ログが取られた日時を示す。「logdate」は、TIMESTAMP型である。
「location」列は、ログが取られた場所を示す。「location」は、CHAR型である。
「parameter1」から「parameter3」は、機器の位置を示す。
「parameter1」列は、機器の座標Xを示す。「parameter1」は、INT型である。
「parameter2」列は、機器の座標Yを示す。「parameter2」は、INT型である。
「parameter3」列は、機器の座標Zを示す。「parameter3」は、INT型である。
「temp」列は、温度を示す。「temp」はDEC型である。
【0092】
<実施例1>
故障予測を目的として、「三田」にある機器の周辺温度を時系列順に表示することを想定する。
図17に、入力クエリとなるSQL文を示す。
SQL文に指定された要素組は、「extract_dt(logdate)」と「temp」との組である。
TIMESTAMP型のlogdateから不要な秒情報を取り除くため、SQL文には、extract_dt関数が定義されている。
TIMESTAMP型は時分秒まで記録されるが、実施例1では時分秒が不要である。そのため、extract_dt関数を利用してlogdateをDATE型に変換する。
【0093】
図18に、検索結果となるテーブルを示す。
クエリ受付部210がSQL文(
図17参照)を受け付け、検索結果取得部220がSQL文を実行する。これにより、
図18のテーブルが得られる。
得られたテーブルには、「extract_dt(logdate)」と「temp」との組に該当する複数のデータ組が含まれる。
【0094】
図19に、「extract_dt(logdate)」と「temp」とのそれぞれの適合度組を示す。適合度組は、項目軸適合度と数値軸適合度との組である。
項目要素選択部231は、
図9のフローチャートによって、
図19に示す項目軸適合度を算出する。「extract_dt(logdate)」と「temp」とのそれぞれの項目軸適合度を比較すると、「extract_dt(logdate)」の項目軸適合度の方が大きい。したがって、項目要素選択部231は、「extract_dt(logdate)」を項目要素として選択する。
数値要素選択部232は、
図11のフローチャートによって、
図19に示す数値軸適合度を算出する。「extract_dt(logdate)」と「temp」とのそれぞれの数値軸適合度を比較すると、「temp」の数値軸適合度の方が大きい。したがって、数値要素選択部232は、「temp」を数値要素として選択する。
【0095】
図20に、数値要素「temp」に関するログデータ群を示す。
グラフ属性決定部233は、数値要素の名称「temp」と同一または類似する要素名を示すログデータ群をログデータセット292から抽出する。
【0096】
図21に、数値要素「temp」に関するログデータ群の集計結果を示す。
グラフ属性決定部233は、
図20のログデータ群を用いて、グラフ種類とグラフ向きとの組を集計する。「出現回数」は、該当するログデータの数に相当する。
「折れ線グラフ」と「縦」との組の出現回数「4」が1番目に多い。グラフ属性決定部233は、「折れ線グラフ」と「縦」との組を第1候補のグラフ属性組に決定する。
「折れ線グラフ」と「横」との組の出現回数「3」が2番目に多い。グラフ属性決定部233は、「折れ線グラフ」と「横」との組を第2候補のグラフ属性組に決定する。
「棒グラフ」と「縦」との組の出現回数「2」が3番目に多い。グラフ属性決定部233は、「棒グラフ」と「縦」との組を第3候補のグラフ属性組に決定する。
【0097】
図22に、利用者端末110のディスプレイに表示される可視化グラフ群の情報を示す。
グラフ描画部240は、利用者端末110のディスプレイに、第1候補と第2候補と第3候補とのそれぞれの可視化グラフを表示させる。
第1候補の可視化グラフは、第1候補のグラフ属性組に対応する可視化グラフである。
第2候補の可視化グラフは、第2候補のグラフ属性組に対応する可視化グラフである。
第3候補の可視化グラフは、第3候補のグラフ属性組に対応する可視化グラフである。
【0098】
<実施例2>
グラフ描画情報のフィードバック処理によってグラフ候補が最適化される例について説明する。
利用者が、<実施例1>において表示された3つの可視化グラフから、第3候補の可視化グラフを指定したと仮定する。
【0099】
可視化学習部250は、第3候補の可視化グラフに対応するグラフ属性組を特定する。第3候補の可視化グラフに対応するグラフ属性組は、「棒グラフ」と「縦」との組である。
可視化学習部250は、特定したグラフ属性組「棒グラフ」「縦」と数値要素「temp」とを示すログデータをログデータセット292に追加する。
【0100】
その後、
図17のSQL文による2回目のデータ検索が行われたと仮定する。
図23に、2回目のデータ検索時の集計結果を示す。
「折れ線グラフ」と「縦」との組の出現回数「4」が1番目に多い。グラフ属性決定部233は、「折れ線グラフ」と「縦」との組を第1候補のグラフ属性組に決定する。
「折れ線グラフ」と「横」との組の出現回数「3」が2番目に多い。グラフ属性決定部233は、「折れ線グラフ」と「横」との組を第2候補のグラフ属性組Aに決定する。
「棒グラフ」と「縦」との組の出現回数「3」が2番目に多い。グラフ属性決定部233は、「棒グラフ」と「縦」との組を第2候補のグラフ属性組Bに決定する。
【0101】
グラフ描画部240は、利用者端末110のディスプレイに、第1候補と第2候補Aと第2候補Bとのそれぞれの可視化グラフを表示させる。
第1候補の可視化グラフは、第1候補のグラフ属性組に対応する可視化グラフである。
第2候補Aの可視化グラフは、第2候補のグラフ属性組Aに対応する可視化グラフである。
第2候補Bの可視化グラフは、第2候補のグラフ属性組Bに対応する可視化グラフである。
【0102】
利用者が、表示された3つの可視化グラフから、第2候補Bの可視化グラフを選択したと仮定する。
【0103】
可視化学習部250は、第2候補Bの可視化グラフに対応するグラフ属性組を特定する。第2候補Bの可視化グラフに対応するグラフ属性組は、「棒グラフ」と「縦」との組である。
可視化学習部250は、特定したグラフ属性組「棒グラフ」「縦」と数値要素「temp」とを示すログデータをログデータセット292に追加する。
【0104】
その後、
図17のSQL文による3回目のデータ検索が行われたと仮定する。
図24に、3回目のデータ検索時の集計結果を示す。
「折れ線グラフ」と「縦」との組の出現回数「4」が1番目に多い。グラフ属性決定部233は、「折れ線グラフ」と「縦」との組を第1候補のグラフ属性組Aに決定する。
「棒グラフ」と「縦」との組の出現回数「4」が1番目に多い。グラフ属性決定部233は、「棒グラフ」と「縦」との組を第1候補のグラフ属性組Bに決定する。
「折れ線グラフ」と「横」との組の出現回数「3」が3番目に多い。グラフ属性決定部233は、「折れ線グラフ」と「横」との組を第3候補のグラフ属性組に決定する。
【0105】
図25に、利用者端末110のディスプレイに表示される可視化グラフ群の情報を示す。
グラフ描画部240は、利用者端末110のディスプレイに、第1候補Aと第1候補Bと第3候補とのそれぞれの可視化グラフを表示させる。
第1候補Aの可視化グラフは、第1候補のグラフ属性組Aに対応する可視化グラフである。
第1候補Bの可視化グラフは、第1候補のグラフ属性組Bに対応する可視化グラフである。
第3候補の可視化グラフは、第3候補のグラフ属性組に対応する可視化グラフである。
図25の情報を
図22の情報と比較すると、表示される3つの可視化グラフの候補の順番が変動していることが分かる。
このように、可視化学習部250がログデータの記録を行うことによって、より適した可視化グラフの候補を利用者に提示することが可能となる。
【0106】
<実施例3>
数値要素の候補が複数存在する場合について説明する。
パラメタ間の相関分析を目的として、parameter3が異常値をとった際に他パラメタ値を確認することを想定する。
図26に、入力クエリとなるSQL文を示す。
図26のSQL文は月次で処理される。
【0107】
図27に、検索結果となるテーブルを示す。
クエリ受付部210がSQL文(
図26参照)を受け付け、検索結果取得部220がSQL文を実行する。これにより、
図27のテーブルが得られる。
【0108】
図28に、各要素の適合度組を示す。適合度組は、項目軸適合度と数値軸適合度との組である。
項目要素選択部231は、
図9のフローチャートによって、
図28に示す項目軸適合度を算出する。最も項目軸適合度が高い要素は「extract_dt(logdate)」である。したがって、項目要素選択部231は、「extract_dt(logdate)」を項目要素として選択する。但し、「extract_dt(logdate)」と「location」との項目軸適合度の差が「0.1」と小さいため、項目要素選択部231は、「extract_dt(logdate)」と「location」とを利用者に提示し、利用者に指定された方を項目要素としてもよい。
数値要素選択部232は、
図11のフローチャートによって、
図28に示す数値軸適合度を算出する。最も数値軸適合度が高い要素は「parameter1」、「parameter2」および「parameter3」である。この場合、数値要素選択部232は、「parameter1」と「parameter2」と「parameter3」とのグループを数値軸要素群として選択する。
【0109】
図29に、数値要素「parameter1」に関するログデータ群を示す。
グラフ属性決定部233は、数値要素の名称「parameter1」と同一または類似する要素名を示すログデータ群をログデータセット292から抽出する。
図30に、数値要素「parameter2」に関するログデータ群を示す。
グラフ属性決定部233は、数値要素の名称「parameter2」と同一または類似する要素名を示すログデータ群をログデータセット292から抽出する。
図31に、数値要素「parameter3」に関するログデータ群を示す。
グラフ属性決定部233は、数値要素の名称「parameter3」と同一または類似する要素名を示すログデータ群をログデータセット292から抽出する。
【0110】
図32に、数値要素「parameter1」に関するログデータ群の集計結果を示す。
グラフ属性決定部233は、
図29のログデータ群を用いて、グラフ種類とグラフ向きとの組を集計する。
図33に、数値要素「parameter2」に関するログデータ群の集計結果を示す。
グラフ属性決定部233は、
図30のログデータ群を用いて、グラフ種類とグラフ向きとの組を集計する。
図34に、数値要素「parameter3」に関するログデータ群の集計結果を示す。
グラフ属性決定部233は、
図31のログデータ群を用いて、グラフ種類とグラフ向きとの組を集計する。
それぞれの数値要素において、「折れ線グラフ」と「横」との組の出現回数が1番目に多い。グラフ属性決定部233は、「折れ線グラフ」と「横」との組を第1候補のグラフ属性組に決定する。
それぞれの数値要素において、「棒グラフ」と「縦」との組の出現回数が2番目に多い。グラフ属性決定部233は、「棒グラフ」と「縦」との組を第2候補のグラフ属性組に決定する。
それぞれの数値要素において、「棒グラフ」と「横」との組の出現回数が3番目に多い。グラフ属性決定部233は、「棒グラフ」と「横」との組を第3候補のグラフ属性組に決定する。
それぞれの数値要素においてグラフ属性組の候補の順番が異なる場合、グラフ属性決定部233は、数値要素間の多数決によって、グラフ属性組の候補の順番を決定する。但し、グラフ属性決定部233は、その他の方法で、グラフ属性組の候補の順番を決定してもよい。
【0111】
図35に、利用者端末110のディスプレイに表示される可視化グラフ群の情報を示す。
グラフ描画部240は、利用者端末110のディスプレイに、第1候補と第2候補と第3候補とのそれぞれの可視化グラフを表示させる。
それぞれの可視化グラフには、「parameter1」のグラフ、「parameter2」のグラフおよび「parameter3」のグラフが含まれる。
【0112】
利用者は、表示された3つの可視化グラフのうちのいずれかの可視化グラフを指定する。
可視化学習部250は、指定された可視化グラフに対応するグラフ属性組を特定し、特定したグラフ属性組と各数値要素(parameter1、parameter2またはparameter3)とを示すログデータをログデータセット292に追加する。
【0113】
<実施例4>
項目要素の候補が複数存在する場合について説明する。
機器の種類と温度との相関性を確認することを想定する。
図36に、入力クエリとなるSQL文を示す。
【0114】
図37に、検索結果となるテーブルを示す。
クエリ受付部210がSQL文(
図36参照)を受け付け、検索結果取得部220がSQL文を実行する。これにより、
図37のテーブルが得られる。
【0115】
図38に、各要素の適合度組を示す。適合度組は、項目軸適合度と数値軸適合度との組である。
数値要素選択部232は、
図11のフローチャートによって、
図38に示す数値軸適合度を算出する。最も数値軸適合度が高い要素は「temp」である。したがって、数値要素選択部232は、「temp」を数値要素として選択する。
項目要素選択部231は、
図9のフローチャートによって、
図38に示す項目軸適合度を算出する。最も項目軸適合度が高い要素は「location」、「machine」および「status」である。この場合、項目要素選択部231は、「location」と「machine」と「status」とを利用者に提示し、利用者に指定された要素を数値要素に決定する。但し、「location」と「machine」と「status」との全てをグラフの項目軸に割り当てることは不可能であるため、データ可視化装置200は、可視化グラフの表示を行わずに、処理を停止してもよい。
【0116】
***変形例の説明***
データ可視化装置200は、複数の装置(コンピュータ)で実現されてもよい。例えば、データ可視化装置200がデータベース291を管理せず、データベース291を管理するサーバ装置がデータ可視化装置200とは別個に設けられてもよい。
【0117】
データ可視化装置200は、利用者端末110として利用されてもよい。つまり、利用者が、利用者端末110の代わりにデータ可視化装置200を操作してもよい。
【0118】
グラフ属性決定部233は、グラフ種類とグラフ向きとの組の代わりに、グラフ種類とグラフ向きとのいずれかを決定してもよい。
例えば、グラフ種類が予め決められている。グラフ属性決定部233は、グラフ向きを決定する。グラフ描画部240は、予め決められたグラフ種類と決定されたグラフ向きとに合わせて可視化グラフを生成する。
例えば、グラフ種類毎にグラフ向きが予め決められている。グラフ属性決定部233は、グラフ種類を決定する。グラフ描画部240は、決定されたグラフ種類と決定されたグラフ種類に対応するグラフ向きとに合わせて可視化グラフを生成する。
【0119】
***実施の形態1の効果***
実施の形態1により、入力クエリ、検索結果およびログデータセット292に基づいて、1種類以上の可視化グラフを提示することができる。
したがって、利用者による事前の情報入力がなくても、データを効果的に可視化することができる。
【0120】
***実施の形態1の補足***
実施の形態は、好ましい形態の例示であり、本発明の技術的範囲を制限することを意図するものではない。実施の形態は、部分的に実施してもよいし、他の形態と組み合わせて実施してもよい。フローチャート等を用いて説明した手順は、適宜に変更してもよい。
【0121】
データ可視化装置200の各要素は、ソフトウェア、ハードウェア、ファームウェアまたはこれらの組み合わせのいずれで実現されてもよい。
データ可視化装置200の要素である「部」は、「処理」または「工程」と読み替えてもよい。
【符号の説明】
【0122】
100 データ可視化システム、109 ネットワーク、110 利用者端末、121 入力画面、122 出力画面、200 データ可視化装置、201 プロセッサ、202 メモリ、203 補助記憶装置、204 通信装置、205 入出力インタフェース、210 クエリ受付部、220 検索結果取得部、230 可視化解析部、231 項目要素選択部、232 数値要素選択部、233 グラフ属性決定部、240 グラフ描画部、250 可視化学習部、290 記憶部、291 データベース、292 ログデータセット。