JPWO2020183538A1 - 計算機システム及びデータレイクに格納されるデータを用いた処理方法 - Google Patents

計算機システム及びデータレイクに格納されるデータを用いた処理方法 Download PDF

Info

Publication number
JPWO2020183538A1
JPWO2020183538A1 JP2021504623A JP2021504623A JPWO2020183538A1 JP WO2020183538 A1 JPWO2020183538 A1 JP WO2020183538A1 JP 2021504623 A JP2021504623 A JP 2021504623A JP 2021504623 A JP2021504623 A JP 2021504623A JP WO2020183538 A1 JPWO2020183538 A1 JP WO2020183538A1
Authority
JP
Japan
Prior art keywords
data
command
user
recommendation
tag
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2021504623A
Other languages
English (en)
Inventor
モハマドアブデュラアル マムン
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hitachi Ltd filed Critical Hitachi Ltd
Publication of JPWO2020183538A1 publication Critical patent/JPWO2020183538A1/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2457Query processing with adaptation to user needs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/903Querying
    • G06F16/9035Filtering based on additional data, e.g. user or group profiles

Abstract

データレイクに格納されるデータを用いた処理を実行する計算機システムであって、データレイクを用いた処理に利用されたコマンドである履歴コマンドに関する情報を格納する履歴情報を管理し、ユーザからフィルタリング条件を含むレコメンド要求を受信した場合、フィルタリング条件に基づいて履歴情報を参照することによって候補コマンドを特定し、候補コマンドの重要度を算出し、重要度に基づいてユーザに提示するレコメンドコマンドを選択し、レコメンドコマンドを提示するための第1提示情報を生成し、レコメンドコマンドの実行要求を受け付けた場合、レコメンドコマンドに基づいて処理を実行する。

Description

本発明は、データレイクに格納されるビッグデータの処理に関する。
ビッグデータ分野では、テーブル形式、XML形式、Json形式、及びCSV形式等、様々なデータ構造のデータ(ネイティブデータ)を管理するデータレイク方式が知られている。ここで、データレイクは、データの種別及びデータの大きさ等に依存することなく、多種多様なデータを格納するリポジトリを示す。
特開2015−177487号公報 特開2014−228967号公報
データレイクに格納されるデータを用いたリアルタイム分析を実行するためには、できるだけ早く、必要なデータを統合する必要がある。しかし、データレイクに格納されるデータの定義、構造、及び内容等は事前に設定されていないため、把握することが難しく、また、データ間の関連性も把握することが難しい。そのため、データ統合を行うためのコマンドの生成には長い時間を要する。したがって、リアルタイム分析が困難であるという課題がある。
前述の課題に対して、レコメンド機能を用いて過去に実行されたコマンドをレコメンドする方法が考えられる。従来のレコメンド技術としては、例えば、特許文献1及び特許文献2に記載の技術が知られている。
特許文献1には、「外部の共用端末を使用している第1のユーザの組み合わせである第1の利用状況を、第1の視聴者登録手段によって登録された第1のユーザの第1の識別情報に基づいて識別するユーザ識別手段と、第1の利用状況に基づいて、第1のユーザに共通する関心事項と関係を有する第1のコンテンツの視聴を推奨する第1のレコメンド情報のみを共用端末へ配信するレコメンド情報配信手段とを備える。」レコメンド情報配信装置が記載されている。
特許文献2には、「過去の検索クエリと、ユーザが選択したコンテンツとを関連づけた情報であるコンテンツ履歴情報を記憶し、検索要求時の検索クエリとコンテンツ履歴情報とに基づいた関連コンテンツ検索結果を取得し、検索クエリ検索結果を取得し、検索クエリ検索結果の人気度情報を取得し、関連コンテンツ評価値と、検索結果評価値と、人気度評価値とを算出し、関連コンテンツ評価値と検索結果評価値と人気度評価値とに基づいて、検索結果として出力するコンテンツの優先度を決定し、関連コンテンツ検索結果と、検索クエリ検索結果とに基づいた検索結果を出力する」コンテンツ検索結果提供装置が記載されている。
従来のレコメンド技術では、ユーザの利用状況又はコンテンツの評価等に基づいて、レコメンドするコンテンツ等が選択されている。
特許文献1に記載の技術の場合、初めて使用するユーザに対してコンテンツのレコメンドを行えない。また、分析処理ではコマンドそのものの評価は行われないため、特許文献2のようなコンテンツの評価値に基づくレコメンド方法を採用することができない。
本発明は、リアルタイム分析を実現するためのコマンドのレコメンド技術を提供する。
本願において開示される発明の代表的な一例を示せば以下の通りである。すなわち、データレイクに格納されるデータを用いた処理を実行する計算機システムであって、前記データレイクは、少なくとも一つの属性から構成されるデータブロックを格納するデータが、当該データのデータ構造に依存しない形式で格納され、前記計算機システムは、プロセッサ、前記プロセッサに接続されるメモリ、及び前記プロセッサに接続されるネットワークインタフェースを有する少なくとも一つの計算機を備え、前記データレイクを用いた処理に利用されたコマンドである履歴コマンドに関する情報を格納する履歴情報を管理し、前記少なくとも一つの計算機は、第1ユーザからフィルタリング条件を含むレコメンド要求を受信した場合、前記フィルタリング条件に基づいて前記履歴情報を参照することによって候補コマンドを特定し、前記候補コマンドの実行履歴に基づいて、前記候補コマンドの重要度を算出し、前記重要度に基づいて、前記第1ユーザに提示するレコメンドコマンドを選択し、前記選択されたレコメンドコマンドを提示するための第1提示情報を生成し、前記第1提示情報を出力し、前記レコメンドコマンドの実行要求を受け付けた場合、前記レコメンドコマンドに基づいて処理を実行する。
本発明の一形態によれば、リアルタイム分析を実現するためのコマンドのレコメンド技術を提供できる。前述した以外の課題、構成及び効果は、以下の実施例の説明によって明らかにされる。
実施例1の計算機システムの構成例を示す図である。 実施例1のタグ辞書のデータ構造の詳細を示す図である。 実施例1のユーザプロファイル情報のデータ構造の詳細を示す図である。 実施例1のコンテンツプロファイル情報のデータ構造の詳細を示す図である。 実施例1のコンテンツプロファイル情報のデータ構造の詳細を示す図である。 実施例1のコンテンツプロファイル情報のデータ構造の詳細を示す図である。 実施例1の日時/場所プロファイル情報のデータ構造の詳細を示す図である。 実施例1のOLAPキューブのデータ構造の詳細を示す図である。 実施例1のデータレイク管理サーバが実行するタグ辞書の生成処理を説明するフローチャートである。 実施例1のデータレイク管理サーバが実行するタグ付与処理を説明するフローチャートである。 実施例1のデータレイク管理サーバによって提示されるタグ表示画面の一例を示す図である。 実施例1のデータレイク管理サーバによって提示されるタグ表示画面の一例を示す図である。 実施例1のデータレイク管理サーバが実行する分析処理の概要を説明するフローチャートである。 実施例1のデータレイク管理サーバによって提示されるレコメンド条件設定画面の一例を示す図である。 実施例1のデータレイク管理サーバによって提示されるレコメンドコマンド表示画面の一例を示す図である。 実施例1のデータレイク管理サーバが実行するレコメンドコマンド提示処理の一例を説明するフローチャートである。 実施例1のデータレイク管理サーバが実行するレコメンドコマンド選択処理の一例を説明するフローチャートである。 実施例1のデータレイク管理サーバが実行するレコメンドコマンド選択処理の一例を説明するフローチャートである。
以下、本発明の実施例を、図面を用いて説明する。ただし、本発明は以下に示す実施の形態の記載内容に限定して解釈されるものではない。本発明の思想ないし趣旨から逸脱しない範囲で、その具体的構成を変更し得ることは当業者であれば容易に理解される。
以下に説明する発明の構成において、同一又は類似する構成又は機能には同一の符号を付し、重複する説明は省略する。
本明細書等における「第1」、「第2」、「第3」等の表記は、構成要素を識別するために付するものであり、必ずしも、数又は順序を限定するものではない。
図面等において示す各構成の位置、大きさ、形状、及び範囲等は、発明の理解を容易にするため、実際の位置、大きさ、形状、及び範囲等を表していない場合がある。したがって、本発明では、図面等に開示された位置、大きさ、形状、及び範囲等に限定されない。
図1は、実施例1の計算機システムの構成例を示す図である。
計算機システムは、データレイク管理サーバ100、DBサーバ101、及びクライアント端末102から構成される。データレイク管理サーバ100及びDBサーバ101はネットワーク103を介して互いに接続され、データレイク管理サーバ100及びクライアント端末102はネットワーク104を介して接続される。
ネットワーク103、104は、例えば、WAN(Wide Area Network)及びLAN(Local Area Network)等である。また、ネットワーク103、104の接続方式は無線及び有線のいずれでもよい。なお、一つのネットワークを介して、データレイク管理サーバ100、DBサーバ101、及びクライアント端末102が接続されてもよい。
DBサーバ101は、データレイク130及びその他情報を管理する計算機である。DBサーバ101は、後述するデータレイク管理サーバ100と同様のハードウェア構成であり、図示しない、プロセッサ、メモリ、記憶装置、及びネットワークインタフェースを有する。
DBサーバ101は、データレイク130、タグ辞書131、ユーザプロファイル情報132、コンテンツプロファイル情報133、日時/場所プロファイル情報134、及びOLAP(online analytical processing)キューブ135を管理する。
データレイク130は、テーブル形式、XML形式、Json形式、及びCSV形式等、多種多様なデータ形式のデータ(ネイティブデータ)を格納するリポジトリである。例えば、データレイク130には複数の属性(カラム)から構成されるレコードを複数含むテーブル形式のデータが格納される。属性には数値及び文字列が格納される。本発明は、データレイク130に格納されるデータのデータ形式及びデータ量に限定されない。
実施例1では、一つのDBサーバ101の記憶領域を用いてデータレイク130が実現される。複数のDBサーバ101を用いてデータレイク130を実現する場合、複数のDBサーバ101は分散クラスタ構成を取り、データが分散して配置される。
以下の説明では、データレイク130に格納されるデータの最小の管理単位をデータブロックとも記載する。例えば、RDBに対応するデータの場合、一つのレコードが一つのデータブロックに対応する。以下の説明では、「属性」は、一つのデータブロックを構成するカラム(フィールド)の識別情報を表すものとする。また、以下の説明では、「属性値」は、「属性」の具体的な値を表すものとする。
タグ辞書131は、カラムの属性を示すタグを管理するための情報である。タグ辞書131のデータ構造の詳細は図2を用いて説明する。
ユーザプロファイル情報132は、ユーザに関する情報を管理するための情報である。ユーザプロファイル情報132のデータ構造の詳細は図3を用いて説明する。
コンテンツプロファイル情報133は、実行されたコマンドに関する情報(履歴情報)を管理するための情報である。コンテンツプロファイル情報133のデータ構造の詳細は図4を用いて説明する。
日時/場所プロファイル情報134は、実行されたコマンドの実行時間及び他のコマンドとの関連性に関する情報を管理するための情報である。日時/場所プロファイル情報134のデータ構造の詳細は図5を用いて説明する。
OLAPキューブ135は、ユーザに対するコマンドのレコメンドに使用する多次元データベースである。OLAPキューブ135のデータ構造の詳細は図6を用いて説明する。
データレイク管理サーバ100は、データレイク130へのアクセスを管理し、また、データレイク130に格納されるデータを用いた処理を実行する計算機である。データレイク管理サーバ100は、プロセッサ111、メモリ112、記憶装置113、ネットワークインタフェース114、及びI/Oインタフェース115を有する。各ハードウェアはバスを介して接続される。
プロセッサ111は、メモリ112に格納されるプログラムを実行する。プロセッサ111がプログラムにしたがって処理を実行することによって、特定の機能を実現する機能部(モジュール)として動作する。以下の説明では、機能部を主語に処理を説明する場合、プロセッサ111が当該機能部を実現するプログラムを実行していることを示す。
メモリ112は、不揮発性の記憶媒体であり、プロセッサ111が実行するプログラム及び当該プログラムが使用する情報を格納する。メモリ112は、プログラムが一時的に使用するワークエリアを含む。実施例1のメモリ112には、データ分析部120、タグ管理部121、及びレコメンド部122を実現するプログラムを格納する。
データ分析部120は、データレイク130に格納されるデータを用いた分析処理を実行する。なお、本発明は、分析処理の内容に限定されない。また、データ分析部120は、分析処理以外の処理を実行してもよい。
タグ管理部121は、データブロックのカラムの属性を示すタグを管理する。
レコメンド部122は、分析処理の実行時に、ユーザに対してコマンドのレコメンドを行う。実施例1では、分析処理に使用するビッグデータテーブルを生成するための統合処理を実現するコマンドのレコメンドが行われる。
なお、データレイク管理サーバ100が有する各機能部については、複数の機能部を一つの機能部にまとめてもよいし、一つの機能部を機能毎に複数の機能部に分けてもよい。
記憶装置113は、不揮発性の記憶媒体であり、各種データを永続的に格納する。記憶装置113は、例えば、HDD(Hard Disk Drive)及びSSD(Solid State Drive)である。
ネットワークインタフェース114は、ネットワークを介して他の装置と接続するためのインタフェースである。
I/Oインタフェース115は、入力装置及び出力装置等の外部装置と接続するためのインタフェースである。入力装置は、キーボード、マウス、及びタッチパネル等を含み、出力装置は、ディスプレイ及びプリンタ等を含む。
クライアント端末102は、ユーザが操作する計算機である。クライアント端末102は、データレイク管理サーバ100と同様のハードウェア構成である。ユーザは、クライアント端末102を用いてデータレイク管理サーバ100に対する各種操作を行う。
図2は、実施例1のタグ辞書131のデータ構造の詳細を示す図である。
タグ辞書131は、タグID201、タグ名202、タイムスタンプ203、関連データ204、パターン205、及び選択回数206から構成されるレコードを含む。一つのレコードが一つのタグに対応する。なお、タグ辞書131に格納されるレコードの構造は一例であってこれに限定されない。例えば、カラムに設定された属性値の種別を格納するカラムを含むレコードでもよい。
タグID201は、タグを一意に識別するための識別情報を格納するカラムである。タグID201は、タグ辞書131のレコードを識別するための識別情報としても用いられる。
タグ名202は、タグの名称、すなわち、カラムの属性の名称を格納するカラムである。
タイムスタンプ203は、タグが生成された日時を格納するカラムである。
関連データ204は、タグに対応する属性のカラムを含むデータに関する情報を格納するカラムである。関連データ204には、データレイク130に格納されるデータの識別情報及びタグが付与されるカラムの識別情報の組が一つ以上格納される。
パターン205は、タグに対応する属性のカラムに格納される属性値のパターンを格納するカラムである。
選択回数206は、レコードに対応するタグが選択された回数を格納するカラムである。
図3は、実施例1のユーザプロファイル情報132のデータ構造の詳細を示す図である。
ユーザプロファイル情報132は、ユーザID301、氏名302、ドメイン名303、年齢304、性別305、役職306、及び勤務年数307から構成されるレコードを含む。一つのレコードが一人のユーザに対応する。なお、ユーザプロファイル情報132に格納されるレコードの構造は一例であってこれに限定されない。
ユーザID301は、ユーザを一意に識別するための識別情報を格納するカラムである。ユーザID301は、ユーザプロファイル情報132のレコードを識別するための識別情報としても用いられる。
氏名302は、ユーザの氏名を格納するカラムである。ドメイン名303は、ユーザが所属するドメインの識別情報を格納するカラムである。年齢304は、ユーザの年齢を格納するカラムである。性別305は、ユーザの性別を格納するカラムである。役職306は、ユーザの役職(地位)を格納するカラムである。勤務年数307は、ユーザの勤務年数を格納するカラムである。
図4A、図4B、及び図4Cは、実施例1のコンテンツプロファイル情報133のデータ構造の詳細を示す図である。
コンテンツプロファイル情報133は、ユーザID401、コマンドID402、コマンド403、タイムスタンプ404、データ405、タグリスト406、GUF407、及びWCF408から構成されるレコードを含む。一つのレコードが、一つのコマンドの履歴に対応する。なお、コンテンツプロファイル情報133に格納されるレコードの構造は一例であってこれに限定されない。
ユーザID401は、コマンドを実行したユーザを一意に識別するための識別情報を格納するカラムである。ユーザID401には、ユーザID301に設定された値が格納される。
コマンドID402は、実行されたコマンドを一意に識別するための識別情報を格納するカラムである。
コマンド403は、実行されたコマンドを格納するカラムである。コマンド403には、例えば、図4Bに示すようなコマンドが格納される。
タイムスタンプ404は、コマンドが実行された日時を格納するカラムである。
データ405は、コマンドに基づいて実行される処理に用いられたデータの識別情報を格納するカラムである。
タグリスト406は、コマンドに含まれるカラムに付与されるタグに関する情報を格納するフィールドである。タグリスト406には、図4Cに示すような情報が格納される。
GUF407及びWCF408は、ユーザに対してコマンドのレコメンドを行う場合に使用する指標を格納するカラムである。GUF407は、計算機システムにおけるコマンドの重要度を示す値であるGUF(General User Frequency)を格納するカラムである。WCF408は、任意のユーザにおけるコマンドの重要度を示す値であるWCF(Weighted Command Frequency)を格納するカラムである。GUF及びWCFの算出方法について後述する。
なお、コマンド403が同一、かつ、ユーザID401に対応するユーザが所属するドメインが同一であるレコードのGUF407には、同一の値が格納される。また、ユーザID401及びコマンド403が同一のレコードのWCF408には、同一の値が格納される。
図5は、実施例1の日時/場所プロファイル情報134のデータ構造の詳細を示す図である。
日時/場所プロファイル情報134は、コマンドID501、タイムスタンプ502、曜日503、時刻504、ドメイン名505、及び関連ワークプロセス名506から構成されるレコードを格納する。なお、日時/場所プロファイル情報134に格納されるレコードの構造は一例であってこれに限定されない。
コマンドID501は、コマンドID402と同一のカラムである。タイムスタンプ502は、タイムスタンプ404と同一のカラムである。
曜日503は、コマンドが実行された曜日を格納するカラムである。時刻504は、コマンドが実行された時間帯を格納するカラムである。時刻504には、例えば、午前、午後、夜等が格納される。
ドメイン名505は、コマンドを実行したユーザが所属するドメインの名称を格納するカラムである。ドメイン名505には、ドメイン名303に設定された値が格納される。
関連ワークプロセス名506は、コマンドを用いた処理において使用したデータに対応する製造プロセスと関連性がある製造プロセス(工程名)の識別情報を格納するカラムである。
図6は、実施例1のOLAPキューブ135のデータ構造の詳細を示す図である。
OLAPキューブ135は、ユーザプロファイル情報132、コンテンツプロファイル情報133、及び日時/場所プロファイル情報134がディメンションとして設定された多次元データベースである。セルには、メジャとしてWCF又はGUFが格納される。
次に、データレイク管理サーバ100が実行する処理について説明する。まず、タグ辞書131の生成処理、及び、タグ付与処理について説明する。
図7は、実施例1のデータレイク管理サーバ100が実行するタグ辞書131の生成処理を説明するフローチャートである。
データレイク管理サーバ100は、タグ辞書131の生成要求を受信した場合、タグ辞書131の生成処理を開始する。タグ辞書131の生成要求は、例えば、データレイク管理サーバ100を管理する管理者又はクライアント端末102から入力される。
タグ管理部121は、データレイク130に格納されるデータからサンプルデータを取得する(ステップS701)。実施例1では、タグ辞書131の生成要求にサンプルデータを指定する情報が含まれるものとする。なお、タグ辞書131の生成要求にサンプルデータが含まれてもよい。
次に、タグ管理部121は、各サンプルデータに格納されるデータブロックのカラムの属性を特定するための分析処理を実行する(ステップS702)。
具体的には、タグ管理部121は、サンプルデータのデータ構造を定義するメタ情報及びカラムに格納される属性値を分析する。タグ管理部121は、分析結果に基づいて、サンプルデータに格納されるデータブロックのカラムの属性及び属性値のパターン等を特定する。なお、カラムの属性は、ユーザがパターン等に基づいて決定してもよい。
次に、タグ管理部121は、分析結果に基づいてタグ辞書131を生成し(ステップS703)、その後、処理を終了する。
具体的には、タグ管理部121は、タグ辞書131に特定された属性の数だけレコードを追加する。タグ管理部121は、各レコードのタグID201に識別情報を設定し、また、タイムスタンプ203に現時刻を設定し、また、選択回数206に「0」を設定する。タグ管理部121は、各レコードのタグ名202に特定された属性の名称を格納し、また、関連データ204に、レコードに対応する属性に分類されたカラム及び当該カラムを含むデータの識別情報の組を格納する。タグ管理部121は、各レコードのパターン205に特定されたパターンを格納する。
図8は、実施例1のデータレイク管理サーバ100が実行するタグ付与処理を説明するフローチャートである。図9A及び図9Bは、実施例1のデータレイク管理サーバ100によって提示されるタグ表示画面900の一例を示す図である。
データレイク管理サーバ100は、タグ付与要求を受信した場合、タグ付与処理を開始する。タグ付与要求には、タグを付与するデータの識別情報が含まれる。図8の説明では、タグを付与するデータをターゲットデータと記載する。
タグ管理部121は、ターゲットデータに格納されるデータブロックのカラムにタグを付与する(ステップS801)。具体的には、以下のような処理が実行される。
(処理A1)タグ管理部121は、ターゲットデータのメタ情報及び各カラムに格納される属性値を分析し、カラムの名称及び属性値のパターン等を特定する。タグ管理部121は、カラムの名称及び属性値のパターン等から構成されるレコードを含むテンプレートを生成する。
(処理A2)タグ管理部121は、テンプレートに基づいてタグ辞書131を参照することによって、ターゲットデータに格納されるデータブロックの各カラムのタグを特定する。例えば、タグ管理部121は、テンプレートからレコードを選択し、関連データに204に格納されるカラムの名称が選択されたレコードに含まれるカラムの名称と類似し、かつ、パターン205が選択されたレコードに含まれるパターンと一致するレコードを検索する。なお、名称の類否は、図示しない語彙の辞書を用いて判定すればよい。
(処理A3)タグ管理部121は、検索されたレコードの関連データ204に、選択されたレコードに含まれるカラムの名称を設定する。
(処理A4)テンプレートの全てのレコードに対して処理が完了していない場合、タグ管理部121は、(処理A2)及び(処理A3)を実行する。テンプレートの全てのレコードに対して処理が完了した場合、タグ管理部121は、ステップS801の処理を終了する。以上がステップS801の処理の説明である。
次に、タグ管理部121は結果を提示する(ステップS802)。その後、タグ管理部121は、ユーザからの操作を受け付けるまで待ち状態に移行する。
例えば、タグ管理部121は、図9A及び図9Bに示すようなタグ表示画面900を表示するための表示情報を生成し、クライアント端末102に表示情報を送信する。ここで、タグ表示画面900について説明する。
タグ表示画面900は、クライアント端末102に表示される画面である。タグ表示画面900は、ターゲットデータ表示欄901、プロパティ表示欄902、操作ボタン表示欄903、及び確認欄904を含む。
ターゲットデータ表示欄901は、ターゲットデータの格納場所を表示する欄であり、ファイルパス910を含む。ファイルパス910は、ターゲットデータが格納されるパスを表示する欄である。
プロパティ表示欄902は、ターゲットデータのプロパティの概要を表示する欄であり、ファイルサイズ920、カラム数921、レコード数922、更新日923、及びプロファイル日924を含む。
ファイルサイズ920は、ターゲットデータのサイズを表示する欄である。カラム数921は、ターゲットデータに格納されるデータブロックに含まれるカラムの数を表示する欄である。レコード数922は、ターゲットデータに格納されるデータブロックの数を表示する欄である。更新日923は、ターゲットデータが更新された日時を表示する欄である。プロファイル日924は、ターゲットデータを用いた処理が実行された日時を表示する欄である。
操作ボタン表示欄903は、各種操作を行うための操作ボタンを表示する欄であり、カラム930、データリネージ931、履歴932、プロパティ933、及び概要934を含む。
カラム930は、カラムに付与されたタグを表示するためのボタンである。データリネージ931は、リネージを表示するためのボタンである。履歴932は、ターゲットデータの履歴を表示するためのボタンである。プロパティ933は、ターゲットデータの詳細なプロパティを表示するためのボタンである。概要934は、ターゲットデータの概要を表示するためのボタンである。
確認欄904は、操作ボタン表示欄903に含まれる操作ボタンに応じた情報を表示する欄である。図9A及び図9Bでは、カラム930が操作された場合の確認欄904を示す。確認欄904には、タグ表示テーブル940及び終了ボタン950が表示される。
タグ表示テーブル940は、カラムに付与されたタグを表示するテーブルであり、名前941、タグ942、及びレコード数943から構成されるレコードを含む。一つのレコードが一つのカラムに対応する。
名前941は、カラムの名称を格納するカラムである。
タグ942は、カラムに付与されたタグに関する情報を格納するカラムである。タグ942には、タグボタン945及び更新ボタン946が格納される。タグボタン945は、カラムに付与されたタグを示すボタンである。更新ボタン946は、タグの情報を更新するためのボタンである。
なお、タグが不明なカラムに対応するレコードのタグ942には、「DURATION」のタグボタン945が表示される。
レコード数943は、カラムに値が設定されているレコードの数を格納するカラムである。
終了ボタン950は、確認欄904の表示を終了するためのボタンである。終了ボタン950が操作された場合、終了要求がデータレイク管理サーバ100に送信される。
ユーザは、タグボタン942をクリックし、タグを修正することができる。修正内容を確定する場合、ユーザは更新ボタン946をクリックする。この場合、更新内容を含む更新要求がデータレイク管理サーバ100に送信される。
タグボタン942をダブルクリックした場合、図9Bに示すようなボップが表示される。当該ボップには、タグに関する詳細な情報を示すタグ確認テーブル960が表示される。タグ確認テーブル960は、タグID961、タグ名962、タイムスタンプ963、関連データ964、パターン965、及び選択回数966から構成されるレコードを含む。
タグID961は、タグボタン945に対応するタグの識別情報を格納するカラムである。タグ名962は、タグボタン945に対応するタグの名称を格納するカラムである。タイムスタンプ963は、タグボタン945に対応するタグが生成された日時を格納するカラムである。関連データ964は、タグボタン945に対応するタグに対応する属性のカラムを含むデータに関する情報を格納するカラムである。パターン965は、タグボタン945に対応するタグに対応する属性のカラムに格納される属性値のパターンを格納するカラムである。選択回数966は、タグボタン945に対応するタグが選択された回数を格納するカラムである。
以上がタグ表示画面900の説明である。図8の説明に戻る。
タグ管理部121は、クライアント端末102から要求を受信した場合、受信した要求が終了要求であるか否かを判定する(ステップS803)。
クライアント端末102から受信した要求が終了要求であると判定された場合、タグ管理部121は処理を終了する。
クライアント端末102から受信した要求が更新要求であると判定された場合、タグ管理部121は、タグ辞書131を更新し(ステップS804)、その後、待ち状態に移行する。
具体的には、タグ管理部121は、変更前のタグに対応するレコードの関連データ204から名前941に対応するカラムを削除する。また、タグ管理部121は、タグボタン945に設定されたタグに対応するレコードの関連データ204に名前941に対応するカラムを追加する。
このように、データに格納されるデータブロックのカラムにタグが付与されることによって、データレイク管理サーバ100は、ユーザに対して、データ間の関連性を視覚的な情報として提示することができる。これによって、ユーザは分析対象のデータを容易かつ迅速に特定することができる。
次に、分析処理について説明する。
図10は、実施例1のデータレイク管理サーバ100が実行する分析処理の概要を説明するフローチャートである。図11は、実施例1のデータレイク管理サーバ100によって提示されるレコメンド条件設定画面の一例を示す図である。図12は、実施例1のデータレイク管理サーバ100によって提示されるレコメンドコマンド表示画面の一例を示す図である。
データレイク管理サーバ100は、クライアント端末102から分析処理を実行するためのアクセス要求を受信した場合、分析処理を開始する。
データレイク管理サーバ100は、ログイン処理を実行する(ステップS1001)。ログイン処理は公知に処理であるため詳細な説明を省略する。
なお、新規ユーザからアクセス要求を受信した場合、データレイク管理サーバ100のデータ分析部120は、ユーザの各種情報を取得し、DBサーバ101のユーザプロファイル情報132に取得した情報を格納するレコードを追加する。以下の説明では、分析処理を実行するユーザをターゲットユーザと記載する。
次に、データレイク管理サーバ100は、レコメンド条件設定画面1100を提示し、レコメンド要求を受け付ける(ステップS1002)。
ここで、レコメンド条件設定画面1100について説明する。
レコメンド条件設定画面1100は、レコメンド方法設定欄1101、ドメイン設定欄1102、工程名設定欄1103、タグヒント設定欄1104、勤務年数設定欄1105、日付範囲設定欄1106、時刻設定欄1107、曜日設定欄1108、及び設定ボタン1110を含む。
レコメンド方法設定欄1101は、レコメンド方法を選択するための欄である。実施例1では、「基本」又は「高度」のいずれかが選択される。「基本」が選択された場合、分析業務の初心者を対象としたコマンドのレコメンドが行われる。「高度」が選択された場合、分析業務に精通しているマイスタを対象としたコマンドのレコメンドが行われる。
以下の説明では、レコメンド方法設定欄1101に設定された値を含む情報をレコメンド条件情報と記載する。
ドメイン設定欄1102、工程名設定欄1103、タグヒント設定欄1104、勤務年数設定欄1105、日付範囲設定欄1106、時刻設定欄1107、及び曜日設定欄1108は、レコメンドするコマンドを絞り込むためのフィルタリング条件を設定する欄である。そのため、ドメイン設定欄1102、工程名設定欄1103、タグヒント設定欄1104、勤務年数設定欄1105、日付範囲設定欄1106、時刻設定欄1107、及び曜日設定欄1108は、必ずしも操作されなくてもよい。
以下の説明では、ドメイン設定欄1102、工程名設定欄1103、タグヒント設定欄1104、勤務年数設定欄1105、日付範囲設定欄1106、時刻設定欄1107、及び曜日設定欄1108の少なくともいずれかに設定された値を含む情報をフィルタリング条件情報と記載する。
工程名設定欄1103は、分析するデータを特定するための工程名を設定する欄である。工程名設定欄1103に設定された値は、関連ワークプロセス名として保存される。
ドメイン設定欄1102は、ドメインを設定する欄である。タグヒント設定欄1104は、タグを特定する場合に使用するヒントを設定する欄である。勤務年数設定欄1105は、ユーザの勤務年数を設定する欄である。日付範囲設定欄1106は、日時の範囲を設定する欄である。時刻設定欄1107は、時間帯を設定する欄である。曜日設定欄1108は、曜日を設定する欄である。
設定ボタン1110は、レコメンド条件を設定するための操作ボタンである。ターゲットユーザが設定ボタン1110を操作した場合、クライアント端末102は、レコメンド条件情報及びフィルタリング条件情報を含むレコメンド要求をデータレイク管理サーバ100に送信する。なお、レコメンド要求には、フィルタリング条件情報が含まれていなくてもよい。
以上がレコメンド条件設定画面1100の説明である。図10の説明に戻る。
次に、データレイク管理サーバ100は、レコメンド要求に含まれるレコメンド条件情報及びフィルタリング条件情報に基づいて、レコメンドコマンド提示処理を実行する(ステップS1003)。
具体的には、データ分析部120は、レコメンド部122を呼び出し、レコメンドコマンド提示処理の実行を指示する。レコメンドコマンド提示処理の詳細は、図13、図14A、及び図14Bを用いて説明する。
次に、データレイク管理サーバ100は、レコメンドコマンド提示処理の結果に基づいて、レコメンドコマンドを提示する(ステップS1004)。その後、データレイク管理サーバ100は、ターゲットユーザからの操作を受け付けるまで待ち状態に移行する。
例えば、データ分析部120は、クライアント端末102に図12に示すようなレコメンドコマンド表示画面1200を表示する。ここで、レコメンドコマンド表示画面1200について説明する。
レコメンドコマンド表示画面1200は、コマンドリスト1210、実行ボタン1220、及びコマンド入力ボタン1221を含む。
コマンドリスト1210は、レコメンドコマンドを表示するリストである。リストは、コマンドボタン1211及び追加ボタン1212から構成されるレコードを含む。
実行ボタン1220は、コマンドリスト1210から選択されたレコメンドコマンドの実行を指示するためのボタンである。
コマンド入力ボタン1221は、ユーザが手動でコマンドを入力する場合に操作するボタンである。
ユーザがコマンドボタン1211をクリックした場合、コマンド表示テーブル1230を表示するポップが表示される。
コマンド表示テーブル1230は、コマンドボタン1211に対応するコマンドの詳細を表示するテーブルであり、コマンドID1231、コマンド1232、タイムスタンプ1233、データ1234、タグリスト1235、及び重要度1236を含む。
コマンドID1231、コマンド1232、タイムスタンプ1233、データ1234、及びタグリスト1235は、コマンドID402、コマンド403、タイムスタンプ404、データ405、及びタグリスト406に対応する。
重要度1236は、コマンドの重要性を示す重要度を格納するカラムである。
ターゲットユーザが追加ボタン1212をクリックし、実行ボタン1220を操作した場合、クライアント端末102は、データレイク管理サーバ100にコマンド実行要求を送信する。
ターゲットユーザがコマンド入力ボタン1221を操作した場合、クライアント端末102は、データレイク管理サーバ100にコマンド入力要求を送信する。
以上がレコメンドコマンド表示画面1200の説明である。図10の説明に戻る。
次に、データレイク管理サーバ100は、クライアント端末102から要求を受信した場合、受信した要求がコマンド実行要求であるか否かを判定する(ステップS1005)。
受信した要求がコマンド実行要求であると判定された場合、データレイク管理サーバ100は、ターゲットユーザによって選択されたレコメンドコマンドを実行する(ステップS1006)。
具体的には、データ分析部120がレコメンドコマンドを実行する。例えば、データ分析部120は、ビッグデータテーブルを生成するためのJoinコマンドを実行し、ビッグデータテーブルを生成する。
次に、データレイク管理サーバ100は、コンテンツプロファイル情報133及び日時/場所プロファイル情報134を更新し(ステップS1011)、その後、処理を終了する。
具体的には、データ分析部120は、コンテンツプロファイル情報133にレコードを追加し、追加されたレコードにユーザID401、コマンドID402、コマンド403、データ405、及びタグリスト406に値を設定する。データ分析部120は、追加されたレコードのタイムスタンプ404に現時刻を設定する。
この時点では、GUF407及びWCF408は空欄でもよい。なお、GUF407及びWCF408には、選択されたコマンドに対応するレコード等に基づいて値が設定されてもよい。
ステップS1006において、受信した要求がコマンド入力要求であると判定された場合、データレイク管理サーバ100は、分析対象のデータの選択を受け付ける(ステップS1007)。
次に、データレイク管理サーバ100は、選択されたデータに格納されるデータブロックに含まれるカラムのタグを提示する(ステップS1008)。
具体的には、データ分析部120は、タグ辞書131のデータ405及びタグリスト406を参照して、選択されたデータに含まれるカラムに付与されるタグを特定する。また、データ分析部120は、特定されたタグを提示するための提示情報を生成し、クライアント端末102に送信する。
なお、データブロックに含まれるカラムの中に、タグが付与されていないタグが存在する場合、データ分析部120は、タグ付与要求をタグ管理部121に出力する。この場合、データ分析部120は、タグ管理部121の処理結果に基づいて提示情報を生成する。提示情報に基づいて、図9Aに示すようなタグ表示画面900が表示される。
ターゲットユーザは、タグ表示画面900を参照することによって、データ間の関連性を把握し、データを連結するためのコマンド等を生成できる。
このように、ユーザは、視覚情報として、データの構造及び内容等を把握でき、また、データ間の関連性を把握できるため、コマンドの生成に要する時間を削減することができる。
次に、データレイク管理サーバ100は、ターゲットユーザからコマンドの入力を受け付け(ステップS1009)、ターゲットユーザによって生成されたコマンドを実行する(ステップS1010)。
具体的には、データ分析部120がコマンドを実行する。例えば、データ分析部120は、ビッグデータテーブルを生成するためのJoinコマンドを実行し、ビッグデータテーブルを生成する。
次に、データレイク管理サーバ100は、コンテンツプロファイル情報133及び日時/場所プロファイル情報134を更新し(ステップS1011)、その後、処理を終了する。
図13は、実施例1のデータレイク管理サーバ100が実行するレコメンドコマンド提示処理の一例を説明するフローチャートである。
レコメンド部122は、ターゲットユーザの各コマンドのCF(Command Frequency)を算出する(ステップS1301)。具体的には、以下のような処理が実行される。
(処理B1)レコメンド部122は、コンテンツプロファイル情報133に格納されるコマンドの中からターゲットコマンドを一つ選択する。
(処理B2)レコメンド部122は、コンテンツプロファイル情報133を参照して、ターゲットコマンドに対応するレコードの数(第1レコード数)を算出する。また、レコメンド部122は、ターゲットユーザが実行したターゲットコマンドに対応するレコードの数(第2レコード数)を算出する。レコメンド部122は、第2レコード数を第1レコード数で除算した値をCFとして算出する。レコメンド部122は、CFをターゲットコマンドと対応づけてワークエリアに格納する。
(処理B3)全てのコマンドについて処理が完了していない場合、レコメンド部122は、(処理B1)及び(処理B2)の処理を実行する。全てのコマンドについて処理が完了した場合、レコメンド部122はステップS1301の処理を終了する。以上がステップS1301の処理の説明である。
次に、レコメンド部122は、各コマンドのGUFを算出する(ステップS1302)。具体的には、以下のような処理が実行される。
(処理C1)レコメンド部122は、コンテンツプロファイル情報133に格納されるコマンドの中からターゲットコマンドを一つ選択する。
(処理C2)レコメンド部122は、コンテンツプロファイル情報133を参照して、ターゲットコマンドを実行したユーザの数(第1ユーザ数)を算出する。また、レコメンド部122は、ユーザプロファイル情報132を参照し、ターゲットユーザが所属するドメインに所属する全ユーザ数(第2ユーザ数)を算出する。レコメンド部122は、第2ユーザ数を第1ユーザ数で除算した値をGUFとして算出する。
(処理C3)レコメンド部122は、コンテンツプロファイル情報133から、ターゲットコマンド及びターゲットユーザが所属するドメインに所属するユーザの組合せに一致するレコードを検索する。レコメンド部122は、検索されたレコードのGUF407に算出された値を格納する。
(処理C4)全てのコマンドについて処理が完了していない場合、レコメンド部122は、(処理C1)、(処理C2)、及び(処理C3)の処理を実行する。全てのコマンドについて処理が完了した場合、レコメンド部122はステップS1302の処理を終了する。以上がステップS1302の処理の説明である。
次に、レコメンド部122は、ターゲットユーザの各コマンドのWCFを算出する(ステップS1303)。具体的には、以下のような処理が実行される。
(処理D1)レコメンド部122は、コンテンツプロファイル情報133に格納されるコマンドの中からターゲットコマンドを一つ選択する。
(処理D2)レコメンド部122は、ターゲットコマンドに対応づけられるCFをワークエリアから取得する。
(処理D3)レコメンド部122は、コンテンツプロファイル情報133を参照して、ターゲットコマンド及びターゲットユーザの組に一致するレコードを検索する。レコメンド部122は、検索されたレコードのGUF407から値を取得する。
(処理D4)レコメンド部122は、CF、GUF、及び調整パラメタτを乗算した値をWCFとして算出する。レコメンド部122は、(処理D3)において検索されたレコードのWCF408に算出された値を設定する。なお、調整パラメタτは任意の値に設定できる。
(処理D5)全てのコマンドについて処理が完了していない場合、レコメンド部122は、(処理D1)、(処理D2)、(処理D3)、及び(処理D4)の処理を実行する。全てのコマンドについて処理が完了した場合、レコメンド部122はステップS1303の処理を終了する。以上がステップS1303の処理の説明である。
次に、レコメンド部122は、レコメンドコマンド選択処理を実行する(ステップS1304)。レコメンドコマンド選択処理の詳細は図14A及び図14Bを用いて説明する。
次に、レコメンド部122は、レコメンドコマンド選択処理によって選択されたレコメンドコマンドを提示するための提示情報を生成し、クライアント端末102に送信する(ステップS1305)。その後、レコメンド部122はレコメンドコマンド提示処理を終了する。
なお、ステップS1301及びステップS1302の処理の順番は入れ替えてもよい。
図14A及び図14Bは、実施例1のデータレイク管理サーバ100が実行するレコメンドコマンド選択処理の一例を説明するフローチャートである。
レコメンド部122は、レコメンド条件情報を参照し、レコメンド方法が「基本」であるか否かを判定する(ステップS1401)。
レコメンド方法が「基本」であると判定された場合、レコメンド部122は、コマンドの絞込みが可能か否かを判定する(ステップS1402)。
具体的には、レコメンド部122は、レコメンド要求にフィルタリング条件情報が含まれるか否かを判定する。レコメンド要求にフィルタリング条件情報が含まれる場合、レコメンド部122は、コマンドの絞込みが可能であると判定する。
コマンドの絞込みが不可能であると判定された場合、レコメンド部122は、コマンドプロファイルテーブルを生成し(ステップS1404)、その後、ステップS1405に進む。
具体的には、レコメンド部122は、コンテンツプロファイル情報133を参照して、全てのコマンドを取得し、全てのコマンドのレコードを含むコマンドプロファイルテーブルを生成する。なお、コマンドプロファイルテーブルのレコードはコマンド及び重要度から構成される。
コマンドの絞込みが可能であると判定された場合、レコメンド部122は、フィルタリング条件情報に基づいてOLAPキューブ135を検索し、コマンドを特定し(ステップS1403)、コマンドプロファイルテーブルを生成し(ステップS1404)、その後、ステップS1405に進む。なお、OLAPキューブ135を用いたデータ検索は公知の技術であるため詳細な説明は省略する。
具体的には、レコメンド部122は、特定されたコマンドのレコードを含むコマンドプロファイルテーブルを生成する。
ステップS1405では、レコメンド部122は、コンテンツプロファイル情報133から、コマンドプロファイルテーブルに設定された各コマンドのGUFを取得する(ステップS1405)。具体的には、以下のような処理が実行される。
(処理E1)レコメンド部122は、コマンドプロファイルテーブルからレコードを選択する。
(処理E2)レコメンド部122は、コンテンツプロファイル情報133から、レコードに対応するコマンド及びターゲットユーザが所属するドメインに所属する任意のユーザの組に一致するレコードを検索し、検索されたレコードのGUF407の値を取得する。レコメンド部122は、(処理E1)において選択されたレコードの重要度に取得した値を設定する。
(処理E3)コマンドプロファイルテーブルの全てのレコードについて処理が完了していない場合、レコメンド部122は、(処理E1)及び(処理E2)の処理を実行する。コマンドプロファイルテーブルの全てのレコードについて処理が完了した場合、レコメンド部122はステップS1405の処理を終了する。以上が、ステップS1405の処理の説明である。
次に、レコメンド部122は、コマンドプロファイルテーブルに基づいてコマンドリストを生成し(ステップS1406)、その後、レコメンドコマンド選択処理を終了する。
具体的には、レコメンド部122は、重要度の大きい順に所定の数のコマンドを選択し、選択されたコマンドのレコードを含むコマンドリストを生成する。
なお、選択するコマンドの数は任意に設定できる。また、レコメンド条件設定画面1100にコマンドの数を設定する欄を設けてもよい。
ステップS1401において、レコメンド方法が「高度」であると判定された場合、レコメンド部122は、コマンドの絞込みが可能か否かを判定する(ステップS1411)。ステップS1411の処理はステップS1402の処理と同一である。
コマンドの絞込みが不可能であると判定された場合、レコメンド部122は、コマンドプロファイルテーブルを生成し(ステップS1413)、その後、ステップS1414に進む。
具体的には、レコメンド部122は、コンテンツプロファイル情報133を参照して、全てのコマンドを取得し、全てのコマンドのレコードを含むコマンドプロファイルテーブルを生成する。
コマンドの絞込みが可能であると判定された場合、レコメンド部122は、フィルタリング条件情報に基づいてOLAPキューブ135を検索し、コマンドを特定し(ステップS1412)、コマンドプロファイルテーブルを生成し(ステップS1413)、その後、ステップS1414に進む。
具体的には、レコメンド部122は、特定されたコマンドのレコードを含むコマンドプロファイルテーブルを生成する。
ステップS1414では、レコメンド部122は、ターゲットユーザが新規ユーザであるか否かを判定する(ステップS1414)。
例えば、レコメンド部122は、コンテンツプロファイル情報133を参照し、ユーザID401にターゲットユーザの識別情報が格納されるレコードが存在するか否かを判定する。ユーザID401にターゲットユーザの識別情報が格納されるレコードが存在しない場合、レコメンド部122は、ターゲットユーザが新規ユーザであると判定する。
ターゲットユーザが新規ユーザであると判定された場合、レコメンド部122はステップS1405に進む。
ターゲットユーザが新規ユーザではないと判定された場合、レコメンド部122は、ユーザ毎にコマンドベクトルを生成する(ステップS1415)。具体的には、以下のような処理が実行される。
(処理F1)レコメンド部122は、ユーザプロファイル情報132からレコードを選択する。レコメンド部122は、コンテンツプロファイル情報133を参照し、コマンドの種別の数と同数の要素のコマンドベクトルを生成する。当該コマンドベクトルの各要素の値は0に設定される。
(処理F2)レコメンド部122は、コンテンツプロファイル情報133を参照し、ユーザID401が選択されたレコードに対応するユーザと一致するレコードを検索する。レコメンド部122は、検索されたレコードをコマンド毎にグループに分類する。レコメンド部122は、各グループに含まれるレコードを一つ選択し、選択されたレコードのWCF408から値を取得する。
(処理F3)レコメンド部122は、ベクトルのコマンドに対応する要素に、取得したWCFを設定する。
(処理F4)ユーザプロファイル情報132の全てのレコードについて処理が完了していない場合、レコメンド部122は、(処理F1)、(処理F2)、及び(処理F3)の処理を実行する。ユーザプロファイル情報132の全てのレコードについて処理が完了した場合、レコメンド部122はステップS1415の処理を終了する。以上がステップS1415の処理の説明である。
次に、レコメンド部122は、コマンドベクトルを用いて、ターゲットユーザと他のユーザとの間の類似度を算出する(ステップS1416)。
例えば、レコメンド部122は下式(1)のようなコサイン類似度を算出する。
Figure 2020183538
ここで、vはターゲットユーザのコマンドベクトルを表し、vは他のユーザのコマンドベクトルを表す。
次に、レコメンド部122は、類似度に基づいてターゲットユーザに類似するユーザを特定する(ステップS1417)。
例えば、レコメンド部122は、類似度が閾値より大きいユーザを、ターゲットユーザに類似するユーザとして特定する。以下の説明では、特定されたユーザを類似ユーザと記載する。
次に、レコメンド部122は、類似ユーザのWFCを用いて、各コマンドのECF(Expected Command Frequency)を算出する(ステップS1418)。具体的には、以下のような処理が実行される。
(処理G1)レコメンド部122は、コマンドプロファイルテーブルからレコードを選択する。
(処理G2)レコメンド部122は、各コマンドに対して、下式(2)を用いてECFを算出する。
Figure 2020183538
ここで、nは類似ユーザの数を表す。kは類似ユーザの識別情報を表す。また、(WCF)は、類似ユーザのWCFを表す。式(2)に示すECFは、類似ユーザのWCFの平均値である。
(処理G3)レコメンド部122は、選択されたレコードの重要度に算出されたECFを設定する。
(処理G4)コマンドプロファイルテーブルの全てのレコードについて処理が完了していない場合、レコメンド部122は、(処理G1)、(処理G2)、及び(処理G3)の処理を実行する。コマンドプロファイルテーブルの全てのレコードについて処理が完了した場合、レコメンド部122はステップS1418の処理を終了する。以上がステップS1418の処理の説明である。
次に、レコメンド部122は、コマンドプロファイルテーブルに基づいてコマンドリストを生成し(ステップS1419)、その後、レコメンドコマンド選択処理を終了する。
具体的には、レコメンド部122は、重要度の大きい順に所定の数のコマンドを選択し、選択されたコマンドのレコードを含むコマンドリストを生成する。
なお、選択するコマンドの数は任意に設定できる。また、レコメンド条件設定画面1100にコマンドの数を設定する欄を設けてもよい。
レコメンド部122は、コマンドの実行履歴に基づいて、観点が異なるコマンドの重要度(GUF及びECF)を算出し、当該重要度に基づいて、レコメンドコマンドを選択できる。ここで、GUFは計算機システムにおけるコマンドの重要度を表し、ECFはユーザにおけるコマンドの重要度を表す。
ユーザが初心者又は新規のマイスタである場合、計算機システムにおいて重要と思われるコマンドが優先的にレコメンドされる。一方、既存のマイスタである場合、当該マイスタと類似する他のマイスタが使用したコマンドの中から重要と思われるコマンドが優先的にレコメンドされる。
実施例1によれば、ユーザ毎に適切なコマンドをレコメンドできるため、分析に要する時間を短縮することができる。すなわち、リアルタイムな分析を実現できる。また、新規ユーザ又は初心者に対しても、適切なコマンドのレコメンド、例えば、マイスタが使用したコマンドをレコメンドできるため、高度な分析を実現できる。
また、データブロックの各カラムにタグを付与し、視覚化することによって、データの定義、構造、内容等を容易かつ迅速に把握することができる。また、タグを用いることによって関連するデータの把握及び抽出が容易になる。これによって、コマンドの生成に要する時間を削減することができる。
なお、本発明は上記した実施例に限定されるものではなく、様々な変形例が含まれる。また、例えば、上記した実施例は本発明を分かりやすく説明するために構成を詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また、各実施例の構成の一部について、他の構成に追加、削除、置換することが可能である。
また、上記の各構成、機能、処理部、処理手段等は、それらの一部又は全部を、例えば集積回路で設計する等によりハードウェアで実現してもよい。また、本発明は、実施例の機能を実現するソフトウェアのプログラムコードによっても実現できる。この場合、プログラムコードを記録した記憶媒体をコンピュータに提供し、そのコンピュータが備えるプロセッサが記憶媒体に格納されたプログラムコードを読み出す。この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施例の機能を実現することになり、そのプログラムコード自体、及びそれを記憶した記憶媒体は本発明を構成することになる。このようなプログラムコードを供給するための記憶媒体としては、例えば、フレキシブルディスク、CD−ROM、DVD−ROM、ハードディスク、SSD(Solid State Drive)、光ディスク、光磁気ディスク、CD−R、磁気テープ、不揮発性のメモリカード、ROMなどが用いられる。
また、本実施例に記載の機能を実現するプログラムコードは、例えば、アセンブラ、C/C++、perl、Shell、PHP、Python、Java(登録商標)等の広範囲のプログラム又はスクリプト言語で実装できる。
さらに、実施例の機能を実現するソフトウェアのプログラムコードを、ネットワークを介して配信することによって、それをコンピュータのハードディスクやメモリ等の記憶手段又はCD−RW、CD−R等の記憶媒体に格納し、コンピュータが備えるプロセッサが当該記憶手段や当該記憶媒体に格納されたプログラムコードを読み出して実行するようにしてもよい。
上述の実施例において、制御線や情報線は、説明上必要と考えられるものを示しており、製品上必ずしも全ての制御線や情報線を示しているとは限らない。全ての構成が相互に接続されていてもよい。

Claims (10)

  1. データレイクに格納されるデータを用いた処理を実行する計算機システムであって、
    前記データレイクは、少なくとも一つの属性から構成されるデータブロックを格納するデータが、当該データのデータ構造に依存しない形式で格納され、
    前記計算機システムは、
    プロセッサ、前記プロセッサに接続されるメモリ、及び前記プロセッサに接続されるネットワークインタフェースを有する少なくとも一つの計算機を備え、
    前記データレイクを用いた処理に利用されたコマンドである履歴コマンドに関する情報を格納する履歴情報を管理し、
    前記少なくとも一つの計算機は、
    第1ユーザからフィルタリング条件を含むレコメンド要求を受信した場合、前記フィルタリング条件に基づいて前記履歴情報を参照することによって候補コマンドを特定し、
    前記候補コマンドの実行履歴に基づいて、前記候補コマンドの重要度を算出し、
    前記重要度に基づいて、前記第1ユーザに提示するレコメンドコマンドを選択し、
    前記選択されたレコメンドコマンドを提示するための第1提示情報を生成し、前記第1提示情報を出力し、
    前記レコメンドコマンドの実行要求を受け付けた場合、前記レコメンドコマンドに基づいて処理を実行することを特徴とする計算機システム。
  2. 請求項1に記載の計算機システムであって、
    前記少なくとも一つの計算機は、前記履歴コマンドの各々の前記計算機システムにおける重要性を示す第1指標を前記重要度として算出することを特徴とする計算機システム。
  3. 請求項1に記載の計算機システムであって、
    前記少なくとも一つの計算機は、
    前記履歴コマンドの各々の前記計算機システムにおける重要性を示す第1指標を算出し、
    前記計算機システムを使用する複数のユーザの各々について、前記履歴コマンドの各々の重要性を示す第2指標を算出し、
    前記計算機システムを使用する複数のユーザの各々について、前記第1指標及び前記第2指標を用いて第3指標を算出し、
    前記第1ユーザの前記第3指標及び他のユーザの前記第3指標に基づいて、前記第1ユーザと類似するユーザを特定し、
    前記特定されたユーザの前記履歴コマンドの各々の前記第3指標の平均値を、前記履歴コマンドの各々の前記重要度として算出することを特徴とする計算機システム。
  4. 請求項2又は請求項3に記載の計算機システムであって、
    前記少なくとも一つの計算機は、
    前記データレイクに格納されるデータの各々に格納される前記データブロックの属性を分析して、
    同一種類の属性を識別するためのタグを管理するためのタグ辞書を生成し、
    前記レコメンドコマンドとは異なるコマンドの入力を受け付ける場合、処理対象のデータに格納されるデータブロックの属性に付与されたタグ、及び当該タグと同一のタグが付与された属性を含むデータブロックを格納するデータを提示するための第2提示情報を生成し、前記第2提示情報を出力することを特徴とする計算機システム。
  5. 請求項2又は請求項3に記載の計算機システムであって、
    前記フィルタリング条件は、ユーザの特性に関する情報、及びコマンドが実行された日時に関する情報の少なくともいずれかを含むことを特徴とする計算機システム。
  6. 計算機システムが実行するデータレイクに格納されたデータを用いた処理方法であって、
    前記データレイクは、少なくとも一つの属性から構成されるデータブロックを格納するデータが、当該データのデータ構造に依存しない形式で格納され、
    前記計算機システムは、
    プロセッサ、前記プロセッサに接続されるメモリ、及び前記プロセッサに接続されるネットワークインタフェースを有する少なくとも一つの計算機を備え、
    前記データレイクを用いた処理に利用されたコマンドである履歴コマンドに関する情報を格納する履歴情報を管理し、
    前記処理方法は、
    前記少なくとも一つの計算機が、第1ユーザからフィルタリング条件を含むレコメンド要求を受信した場合、前記フィルタリング条件に基づいて前記履歴情報を参照することによって候補コマンドを特定する第1のステップと、
    前記少なくとも一つの計算機が、前記候補コマンドの実行履歴に基づいて、前記候補コマンドの重要度を算出する第2のステップと、
    前記少なくとも一つの計算機が、前記重要度に基づいて、前記第1ユーザに提示するレコメンドコマンドを選択する第3のステップと、
    前記少なくとも一つの計算機が、前記選択されたレコメンドコマンドを提示するための第1提示情報を生成し、前記第1提示情報を出力する第4のステップと、
    前記レコメンドコマンドの実行要求を受け付けた場合、前記少なくとも一つの計算機が、前記レコメンドコマンドに基づいて処理を実行する第5のステップと、を含むことを特徴とする処理方法。
  7. 請求項6に記載の処理方法であって、
    前記第2のステップは、前記少なくとも一つの計算機が、前記履歴コマンドの各々の前記計算機システムにおける重要性を示す第1指標を前記重要度として算出するステップを含むことを特徴とする処理方法。
  8. 請求項6に記載の処理方法であって、
    前記第2のステップは、
    前記少なくとも一つの計算機が、前記履歴コマンドの各々の前記計算機システムにおける重要性を示す第1指標を算出するステップと、
    前記少なくとも一つの計算機が、前記計算機システムを使用する複数のユーザの各々について、前記履歴コマンドの各々の重要性を示す第2指標を算出するステップと、
    前記少なくとも一つの計算機が、前記計算機システムを使用する複数のユーザの各々について、前記第1指標及び前記第2指標を用いて第3指標を算出するステップと、
    前記少なくとも一つの計算機が、前記第1ユーザの前記第3指標及び他のユーザの前記第3指標に基づいて、前記第1ユーザと類似するユーザを特定するステップと、
    前記少なくとも一つの計算機が、前記特定されたユーザの前記履歴コマンドの各々の前記第3指標の平均値を、前記履歴コマンドの各々の前記重要度として算出するステップと、を含むことを特徴とする処理方法。
  9. 請求項7又は請求項8に記載の処理方法であって、
    前記少なくとも一つの計算機が、前記データレイクに格納されるデータの各々に格納される前記データブロックの属性を分析し、同一種類の属性を識別するためのタグを管理するためのタグ辞書を生成するステップと、
    前記少なくとも一つの計算機が、前記レコメンドコマンドとは異なるコマンドの入力を受け付ける場合、処理対象のデータに格納されるデータブロックの属性に付与されたタグ、及び当該タグと同一のタグが付与された属性を含むデータブロックを格納するデータを提示するための第2提示情報を生成し、前記第2提示情報を出力するステップを含むことを特徴とする処理方法。
  10. 請求項7又は請求項8に記載の処理方法であって、
    前記フィルタリング条件は、ユーザの特性に関する情報、及びコマンドが実行された日時に関する情報の少なくともいずれかを含むことを特徴とする処理方法。
JP2021504623A 2019-03-08 2019-03-08 計算機システム及びデータレイクに格納されるデータを用いた処理方法 Pending JPWO2020183538A1 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2019/009433 WO2020183538A1 (ja) 2019-03-08 2019-03-08 計算機システム及びデータレイクに格納されるデータを用いた処理方法

Publications (1)

Publication Number Publication Date
JPWO2020183538A1 true JPWO2020183538A1 (ja) 2021-11-25

Family

ID=72426186

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2021504623A Pending JPWO2020183538A1 (ja) 2019-03-08 2019-03-08 計算機システム及びデータレイクに格納されるデータを用いた処理方法

Country Status (2)

Country Link
JP (1) JPWO2020183538A1 (ja)
WO (1) WO2020183538A1 (ja)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010061178A (ja) * 2008-08-05 2010-03-18 Ricoh Co Ltd 情報処理装置、情報検索システム、情報処理方法およびプログラム
JP2015095025A (ja) * 2013-11-11 2015-05-18 株式会社 ミックウェア 検索式作成装置、検索式作成方法、およびプログラム
JP2019021176A (ja) * 2017-07-20 2019-02-07 株式会社日立製作所 データ分析システム、及びデータ分析方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010061178A (ja) * 2008-08-05 2010-03-18 Ricoh Co Ltd 情報処理装置、情報検索システム、情報処理方法およびプログラム
JP2015095025A (ja) * 2013-11-11 2015-05-18 株式会社 ミックウェア 検索式作成装置、検索式作成方法、およびプログラム
JP2019021176A (ja) * 2017-07-20 2019-02-07 株式会社日立製作所 データ分析システム、及びデータ分析方法

Also Published As

Publication number Publication date
WO2020183538A1 (ja) 2020-09-17

Similar Documents

Publication Publication Date Title
US8527893B2 (en) Taxonomy editor
US10642888B2 (en) Management and dynamic assembly of presentation material
JP2017224184A (ja) 機械学習装置
US20220035847A1 (en) Information retrieval
US20110082803A1 (en) Business flow retrieval system, business flow retrieval method and business flow retrieval program
US20050210001A1 (en) Field searching method and system having user-interface for composite search queries
CN103455497A (zh) 一种提供整合的搜索结果的方法以及系统
Bhatia et al. Machine Learning with R Cookbook: Analyze data and build predictive models
JP5447484B2 (ja) 情報処理装置
JP2017016294A (ja) 情報処理装置、その制御方法、及びプログラム
JP5260003B2 (ja) ファイル検索装置及びファイル検索プログラム
KR20050074058A (ko) 인터넷상에서 기사를 자동분류하여 타 웹사이트에자동송출하는 시스템 및 그 제어방법
WO2020183538A1 (ja) 計算機システム及びデータレイクに格納されるデータを用いた処理方法
JP7340952B2 (ja) テンプレート検索システムおよびテンプレート検索方法
KR101648046B1 (ko) 오픈소스 소프트웨어 추천 시스템 및 방법
JP6775740B1 (ja) 設計支援装置、設計支援方法及び設計支援プログラム
JP5877775B2 (ja) コンテンツ管理装置、コンテンツ管理システム、コンテンツ管理方法、プログラム、及び記憶媒体
JP6204923B2 (ja) アセスメント装置、アセスメントシステム、アセスメント方法、及びプログラム
JP4946779B2 (ja) リスク区分管理システム及びリスク区分管理装置及びリクス区分管理プログラム
US9208224B2 (en) Business content hierarchy
JP2011070369A (ja) データベース統合装置およびデータベース統合方法
JP5820307B2 (ja) コンテンツフィルタリングシステム、コンテンツフィルタリング方法
JP6829409B1 (ja) 情報処理装置および情報処理プログラム
JP7273293B2 (ja) 情報処理装置、制御方法、プログラム
Nawzer et al. A Case Study On Customizing The Microsoft Time Series Algorithm: Tourist Arrival Prediction

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20210614

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20220830

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20230307