以下、本発明に係る一実施形態を、図1ないし図24を用いて説明する。
本実施形態は、部門毎でデータが生成され、部門毎で異なる定義のタグが付与されたデータをデータレイクに格納した際の、タグの組合せによる検索式で示されるタグで表されるデータの検索領域に関して、データ管理者が部門間で共通の統一的なタグの検索式を提供することを可能とする例である。本実施形態では、一会社における工場IoT(Internet Of Thing)の現場を例に採り説明する。
ここで、最初に本明細書中で使用する定義について説明する。
「タグ」とは、データに付加されるに関するメタデータの情報である。例えば、工場で使用する振動センサに対する仕様説明書、事故事例、動作履歴データ、計測データなどに、「Shindo_Sensor」というタグをつけることができる。
「固有タグ」とは、企業体の部門毎の固有情報に基づいて付与されるタグである。本明細書中で「固有タグ」という用語を使用するときには、常に、それを定義した部門が意識されている。
「タグドメイン」とは、固有タグの組合せの検索式で表現される検索の概念的な範囲である。
「統一タグ」とは、データレイクの管理者が、複数の「タグドメイン」に対して、概念的な共通範囲を見出して、横断的な検索ができるように付与するタグである。
先ず、図1ないし図10を用いて、一実施形態に係る情報処理システムの構成について説明する。
本実施形態の情報処理システムは、図1に示されるように、ユーザ端末1、データレイク4、アプリケーションサーバ3、タグドメイン提示装置10がネットワーク5により接続された形態である。ネットワーク5は、LAN(Local Network)でもよいし、インターネットのようなグローバルネットワークであってもよい。
ユーザ端末1は、アプリケーションソフトウェアを実行の指示をするユーザが、コマンドやデータを入力し、システムからの情報を確認するための端末装置である。データレイク4は、構造化データや非構造化データを格納する場所であり、様々なデータソースから集められたデータを管理し、活用のための前処理を行える環境を提供するシステムである。ユーザは、使用するアプリケーションソフトウェアの中からのAPIやデータ検索ソフトウェアなどにより、データレイク4に蓄積されたデータを利用することができる。アプリケーションサーバ3は、データを処理するアプリケーションソフトウェアを実行するサーバ装置である。アプリケーションサーバ3は、アプリケーションソフトウェアで使用されるアプリケーションデータ70を保持する。タグドメイン提示装置10は、データレイク管理者に統一タグを付与する複数のタグドメインを提示する装置である。
データレイク4は、データレイク管理サーバ40、管理者端末50が、ネットワーク9で接続された構成である。ネットワーク9も、LANでもグローバルネットワークでもよい。
データレイク管理サーバ40は、データレイクにおけるデータとそのメタデータ(データレイクで取り扱うデータに対して付与されるデータ)を管理して、外部に提供するためのサーバ装置である。データレイク管理サーバ40は、データレイク蓄積データ60、タグストア61、ビジネスグロッサリー62、認証データストア63を管理している。データレイク蓄積データ60は、このデータレイクとして提供するためのデータであり、RDB(Relational DataBase)のような構造化データでもよいし、IoT(Internet of Things)で利用されるセンサの計測データのような非構造化データでもよい。タグストア61は、データレイク蓄積データ60に関して、検索のために付与されたタグとデータの対応を保持するデータストアである。ビジネスグロッサリー62は、企業体のおける規範として定義された用語辞書である。本実施形態では、ビジネスグロッサリー62に定義された用語とタグの一致度を調べるために利用される(詳細は後述)。認証データストア63は、ユーザの認証情報を格納するデータストアである。
次に、図2ないし図10を用いて情報処理システムの各コンポーネントの機能構成について説明する。
先ず、図2を用いてデータレイク管理サーバの機能構成について説明する。
データレイク管理サーバ40は、図2に示されるように、認証部41、データカタログ管理部42、データ管理部43の各機能部から構成される。
認証部41は、データレイクにおけるデータカタログとデータをアクセスする者の権限を認証する機能部である。カタログ管理部42は、データレイクにおけるデータカタログを管理する機能部である。ここで、データカタログとは、企業が保有するデータに対する辞書であり、本実施形態では、具体的には、タグストア61、ビジネスグロッサリー62である。データ管理部43は、データレイクにおいて蓄積され取り扱うデータであるデータレイク蓄積データ60を管理する機能部である。
なお、本実施形態においては、データレイク4の外部のアプリケーションサーバ3を利用する構成としているが、データレイク4内部にアプリケーションサーバ3を含めて、データレイク管理サーバ40と統合する構成としてもよい。
次に、図3を用いてデータカタログ管理部のより詳細な機能構成について説明する。
データレイク管理サーバ40のデータカタログ管理部42は、図3に示されるように、検索部421、リネージ表示部422、データカタログ登録部423、ユーザ評価部424、タグ管理部425の各サブ機能部から構成される。
検索部421は、タグによるデータ検索の機能を提供する機能部である。リネージ表示部422は、データの利用来歴の表示データを生成する機能部である。データカタログ登録部423は、データに対するタグなどをデータカタログに登録する機能部である。ユーザ評価部424は、タグによる検索のユーザ評価を行う機能を提供する機能部である。タグ管理部425は、データレイクにおけるタグストア61のタグを管理する機能部である。
次に、図4を用いて管理者端末の機能構成について説明する。
管理者端末50は、図4に示されるように、データ登録部51、データカタログ管理部52、タグドメイン提示部53、統一タグ定義部54の各機能部から構成される。
データ登録部51は、データレイクで取り扱うデータをデータレイク蓄積データ60に登録する機能部である。データカタログ管理部52は、データレイクで取り扱うデータカタログを管理する機能部である。タグドメイン提示部53は、データレイクの管理者に対して、あるデータ利用の観点から概念的な共通点を有するタグドメインの候補を提示する機能部である。統一タグ定義部54は、データレイクの管理者が、提示されたタグドメインに対する統一タグを定義するのをサポートする機能部である。
次に、図5を用いてタグドメイン提示装置の機能構成について説明する。
タグドメイン提示装置10は、図5に示されるように、データ利用ログ管理部11、ユーザ属性管理部12、タグドメイン管理部13、アプリケーション管理部14の機能構成部からなり、各々の機能構成部は、それぞれデータ利用ログストア21、ユーザ属性ストア22、タグドメインストア23、アプリケーション管理ストア24を保持する。
なお、各々のデータストアに含まれるテーブルについては後に詳説する。
データ利用ログ管理部11は、ユーザやアプリケーションソフトウェアからタグにより検索を利用した履歴の情報を管理する機能部である。ユーザ属性管理部11は、ユーザ属性に関する情報を管理する機能部である。タグドメイン管理部13は、あるデータ利用の観点から概念的な共通点を有するタグドメインを求めて、それを管理する機能部である。アプリケーション管理部14は、あるデータ利用の観点から概念的な共通点を有するタグドメインを求める際に利用されるアプリケーションの情報を管理する機能部である。
次に、図6を用いてデータ利用ログ管理部のより詳細な機能構成について説明する。
タグドメイン提示装置10のデータ利用ログ管理部11は、図6に示されるように、データカタログ連携部111、アプリケーション連携部112、データ利用ログ生成部113の各サブ機能部から構成される。
データカタログ連携部111は、データレイク管理サーバ40のデータカタログ管理部42と連携し、データカタログの情報をアクセスする機能部である。アプリケーション連携部112は、アプリケーション管理部14と連携し、アプリケーションソフトウェアの情報を取得する機能部である。データ利用ログ生成部113は、データ利用ログの情報を生成する機能部である。
タグドメイン提示装置10のユーザ属性管理部12は、図7に示されるように、認証連携部121、ユーザ属性情報生成部121の各サブ機能部からなる。認証連携部121は、データレイク管理サーバ40の認証部41と連携し、ユーザの認証情報をアクセスし、ユーザのプロファイル情報を取得する機能部である。ユーザ属性情報生成部121は、ユーザのプロファイル情報に基づきユーザ属性情報を生成する機能部である。ユーザ属性情報生成部121は、例えば、当該ユーザのプロファイル情報を基に、ユーザIDとユーザの所属部門、ユーザロールを紐づけ、ユーザ属性データを生成する。例えば、ユーザロールとして、「技術者」、「研究者」、「課長」、「部長」のようにビジネスロールを登録する。また、ユーザロールはデータマネジメントにおけるユーザロール(「Engineer」、「Analyst」、「Data Scientist」、「Data Steward」)に組織のビジネスロールをマッピングするようにしてもよい。
タグドメイン提示装置10のタグドメイン管理部13は、図8に示されるように、データ利用ログテーブルアクセス部131、利用観点抽出ログテーブル管理部132、固有タグ管理部133、ユーザ属性アクセス部134、利用傾向抽出部135、推薦タグドメイン生成部136、ビジネスグロッサリーアクセス部137、タグドメイン推薦条件管理部138の各サブ機能部からなる。
データ利用ログテーブルアクセス部131は、データ利用ログテーブル(後述)をアクセスする機能部である。利用観点抽出ログテーブル管理部132は、利用観点抽出ログテーブル(後述)を生成し管理する機能部である。固有タグ管理部133は、あるデータ利用の観点から概念的な共通点を有するタグドメインの候補を提示するために用いられる固有タグを管理する機能部である。ユーザ属性アクセス部134は、ユーザ属性情報をアクセスする機能部である。利用傾向抽出部135は、ユーザとアプリケーションソフトウェアからの使用に関する観点から固有タグの利用傾向の情報を抽出する機能部である。推薦タグドメイン生成部136は、あるデータ利用の観点から概念的な共通点を有するタグドメインの候補として推薦するタグドメインを生成する機能部である。ビジネスグロッサリーアクセス部137は、データレイクにおけるビジネスグロッサリー62をアクセスする機能部である。タグドメイン推薦条件管理部138は、あるデータ利用の観点から概念的な共通点を有するタグドメインの候補として推薦するタグドメインを生成するための条件を管理する機能部である。
タグドメイン提示装置10のアプリケーション管理部14は、図9に示されるように、アプリケーション情報管理部141、アプリケーションパラメータ情報管理部14の各サブ機能部からなる。
アプリケーション情報管理部141は、アプリケーションソフトウェアに関する情報を管理する機能部である。アプリケーションパラメータ情報管理部142は、アプリケーションソフトウェアが実行されるときに渡されるパラメータに関する情報を管理する機能部である。
次に、図10を用いてタグドメイン提示装置のハードウェア・ソフトウェア構成について説明する。
タグドメイン提示装置10のハードウェア構成としては、例えば、図10に示されるパーソナルコンピュータのような一般的な情報処理装置で実現される。
タグドメイン提示装置10は、CPU(Central Processing Unit)802、主記憶装置804、ネットワークI/F(InterFace)806、表示I/F808、入出力I/F810、補助記憶I/F812が、バスにより結合された形態になっている。
CPU802は、タグドメイン提示装置10の各部を制御し、主記憶装置804に必要なプログラムをロードして実行する。
主記憶装置804は、通常、RAMなどの揮発メモリで構成され、CPU802が実行するプログラム、参照するデータが記憶される。
ネットワークI/F806は、ネットワーク5と接続するためのインタフェースである。
表示I/F808は、LCD(Liquid Crystal Display)などの表示装置820を接続するためのインタフェースである。
入出力I/F810は、入出力装置を接続するためのインタフェースである。図10の例では、キーボード830とポインティングデバイスのマウス832が接続されている。
補助記憶I/F812は、HDD(Hard Disk Drive)850やSSD(Solid State Drive)などの補助記憶装置を接続するためのインタフェースである。
HDD850は、大容量の記憶容量を有しており、本実施形態を実行するためのプログラムが格納されている。タグドメイン提示装置10には、データ利用ログ管理プログラム861、ユーザ属性管理プログラム862、タグドメイン管理プログラム863、アプリケーション管理プログラム864がインストールされている。
データ利用ログ管理プログラム861、ユーザ属性管理プログラム862、タグドメイン管理プログラム863、アプリケーション管理プログラム864は、それぞれ、データ利用ログ管理部11、ユーザ属性管理部12、タグドメイン管理部13、アプリケーション管理部14の機能を実現するプログラムである。
また、タグドメイン提示装置10のHDD850は、データ利用ログストア21、ユーザ属性ストア22、タグドメインストア23、アプリケーション管理ストア24を保持する。
次に、図11ないし図18を用いて本実施形態のタグドメイン提示装置で扱われるデータ構造について説明する。
データ利用ログテーブル200は、データを検索したときのログ情報とそのデータがどのようにアプリケーションソフトウェアに利用されたかの情報を格納するテーブルであり、図11に示されるように、ログID200a、ユーザID200b、検索利用タグ200c、ユーザ評価200d、利用データリスト200e、付与タグ200f、アプリケーションソフトウェア200g、アプリケーションパラメータ情報200hの各カラムを有する。データ利用ログテーブル200は、タグドメイン提示装置10のデータ利用ログストア21に格納される。
ログID200aには、このレコードを一意に識別する識別子が格納される。ユーザID200bには、検索したユーザの識別子が格納される。検索利用タグ200cには、ユーザが起動したアプリケーションソフトウェアによって検索のときに利用されたタグが格納される。ここで、例えば、ログID200aが「0001」のレコードにおいて、「Shindo_sensor」、「プロセスA」のように列記されているのは、「Shindo_sensor」と「プロセスA」のAND条件で検索したことを意味する。ユーザ評価200dには、ユーザがデータを検索・利用の際に扱ったデータとデータに対して付与されている固有タグの整合性についてのユーザが評価したフラグが、付与タグ186の列記されている付与タグに対応して格納される(整合しているときには、「1」、整合していないときには、「0」)。利用データリスト200eには、検索されたデータで、アプリケーションソフトウェアが利用したデータの情報が格納される。本実施形態では、例として、データがテーブル形式であり、テーブル名やカラム名を格納しているが、ファイル名や、ストレージの格納場所を示す情報であってもよい。付与タグ200fには、固有タグテーブル(図13により後述)に基づいて、利用データリスト200eに格納されたデータに対して付与されている固有タグが格納される。ここで、例えば、ログID200aが「0001」のレコードにおいて、「Shindo_sensor」、「プロセスA」のように列記されているのは、「Shindo_sensor」、「プロセスA」の双方が、利用データリスト200eに列記された「Column_A2」、「Column_A3」の双方に付与タグとして定義されていることを意味する。アプリケーションソフトウェア200gには、タグを用いて検索したアプリケーションソフトウェアに関する名称やIDが格納される。アプリケーションパラメータ情報200hには、アプリケーションソフトウェアを起動したときのパラメータ情報が格納される。
このデータ利用ログテーブル200は、データ利用ログ全件に関する情報を有するテーブルであり、データ利用ログの全件からデータ利用観点でフィルタリングして、利用観点抽出ログテーブル(図12により後述)を生成するために用いるテーブルである。
利用観点抽出ログテーブル210は、データ利用ログテーブル200をアプリケーションソフトウェアにおけるデータ利用観点でフィルタリングしたテーブルであり、図12に示されるように、タグドメインID210a、ログID210b、ユーザID210c、検索利用タグ210d、ユーザ評価210e、利用データリスト210f、付与タグ210g、アプリケーションソフトウェア210h、アプリケーションパラメータ情報210iの各カラムを有する。データ利用ログテーブル200は、タグドメイン提示装置10のデータ利用ログストア21に格納される。
利用観点抽出ログテーブル210は、データ利用観点(本実施形態では、「製品故障率分析利用」の観点)ごとにデータ利用ログテーブル200からフィルタリングされ、生成されたテーブルであり、データ利用ログテーブル200のフィルタリングされたレコードの各カラムにタグドメインID210aのカラムを付加したものである。データ利用観点ごとに生成されるタグドメインの一連のグループを一意的に識別する識別子が格納される。それ以降のログID210b、ユーザID210c、検索利用タグ210d、ユーザ評価210e、利用データリスト210f、付与タグ210g、アプリケーションソフトウェア210h、アプリケーションパラメータ情報210iは、それぞれデータ利用ログテーブル200のログID200a、ユーザID200b、検索利用タグ200c、ユーザ評価200d、利用データリスト200e、付与タグ200f、アプリケーションソフトウェア200g、アプリケーションパラメータ情報200hに対応するカラムである。
固有タグテーブル220は、固有タグに関する情報を格納するテーブルであり、図13に示されるように、固有タグ220a、部門220b、付与先データリスト220cの各カラムを有する。固有タグテーブル220は、タグドメイン提示装置10のタグドメインストア23に格納される。
固有タグ220aには、対象とされる固有タグが格納される。所属220bには、該当する固有タグがどの部門の固有タグであるかを示す情報が格納される。付与先データリスト220cには、該当する固有タグがその部門において検索される対象となるデータの情報が格納される。
アプリケーションテーブル230は、タグにより検索されたデータを利用するアプリケーションソフトウェアの情報を格納するテーブルであり、図14Aに示されるように、プロジェクト名230a、プロジェクトカテゴリ230b、アプリケーション名230c、処理ステップ230pi(i=1,2,3,…)の各カラムを有する。
アプリケーションテーブル230は、アプリケーションサーバ3のアプリケーションデータ70に事前に登録されているアプリケーションの情報に基づいて生成され、タグドメイン提示装置10のアプリケーション管理ストア24に格納される。
プロジェクト名230aには、対象となるアプリケーションの企業内におけるプロジェクト名称が格納される。プロジェクトカテゴリ230bには、対象となるアプリケーションの企業内におけるプロジェクトのカテゴリ名称が格納される。図14Aの例では、プロジェクト名が「A製品生産プロジェクト」のプロジェクトに対して、そのプロジェクトのカテゴリ名称は、故障率分析であることを示している。
アプリケーションソフトウェア名称230cには、対象となるアプリケーションソフトウェアの名称が格納される。本実施形態のアプリケーションソフトウェア名称230cは、システムで一意に定まるものとする。処理ステップ230pi(i=1,2,3,…)には、対象となるアプリケーションソフトウェアの処理ステップに関する情報が格納される。
処理ステップ230piは、それぞれのカラムが種別dik、固有情報disからなる。種別dikには、そのステップにおける機能が「入力」、「変換」、「出力」などのように格納される。固有情報disには、そのステップで呼び出すアプリケーションソフトウェアの情報や設定するパラメータなどの必要な情報を格納する。
アプリケーションパラメータ情報テーブル240は、アプリケーションソフトウェアのパラメータに関する情報を格納するテーブルであり、図14Bに示されるように、パラメータID240a、アプリケーションソフトウェア名称240b、パラメータ情報240cの各カラムを有する。本実施形態では、データ分析に利用したアプリケーションパラメータをログ情報から抽出し、履歴として保持しているが、アプリケーションテーブル230の作成したときは同様に事前に定義、分類した構成をとってもよい。
パラメータID240aには、そのパラメータを一意に識別する識別子が格納される。アプリケーションソフトウェア名称には、そのパラメータにより呼び出されるアプリケーションソフトウェアの名称が格納される。パラメータ情報240cには、具体的なパラメータの値の情報が格納される。
ユーザ属性テーブル250は、アプリケーションソフトウェアを利用するユーザの属性を格納するテーブルであり、図15Aに示されるように、ユーザID250a、部門250b、ユーザロール250cの各カラムを有する。ユーザ属性テーブル250は、データレイク管理サーバ40の保持する認証データストア63から取得するユーザのプロファイル情報に基づいて、データ利用傾向をユーザの属性の観点で評価するために用いる(詳細は、後述)。ユーザ属性テーブル250は、タグドメイン提示装置10のユーザ属性ストア22に格納される。
ユーザID250aには、ユーザを識別する一意的な識別子が格納される。部門250bには、そのユーザの属する部面の名称が格納される。ユーザロール250cには、そのユーザの企業体における役割を表す情報が格納される。
ユーザ属性重みテーブル260は、タグドメインにおけるユーザ評価を計算するために用いられるために、ユーザロールごとのユーザ属性重みを保持するテーブルであり、図15Bに示されるように、ユーザロール260a、同部門重み260b、異部門重み260cの各カラムを有する。
ユーザロール260aには、ユーザ属性テーブル250のユーザロール250cと同様のユーザの役割を表す名称が格納される。同部門重み260b、異部門重み260cには、それぞれタグドメインを評価するときの固有タグが同部門であるか異部門であるかに従ったユーザ評価の際の重みづけの値が格納される。
同部門242、異部門243は固有タグが定義された部門に対して、ユーザの所属が同部門もしくは異部門であるかで重みを変化させる。本実施形態では、ユーザ属性重みは管理者による事前定義に基づくとするが、利用傾向によって重みを変更させてもよい。本実施形態では、異部門のユーザによる評価を大きくしているが、管理者の入力により重みを変更可能としてもよい。本実施形態では各ユーザ属性の重みを一番値の小さいものを1とした際の相対値として算出する。例えば、各ユーザロールの存在比の逆比として算出する(すなわち、企業内で数が少ない「Data Steward」(データ管理者)などの重みづけを大きくする)。
ここで、利用傾向評価テーブル、タグドメイン推薦テーブル、推薦タグドメインテーブルを説明する前に、図19を用いてこれらのテーブルで用いられるタグドメインの領域分割のタイプについて説明する。
図12に示した利用観点抽出ログテーブル210の場合には、部門「A工場」の付与タグ210gとして「Shindo_sensor」,「プロセスA」が存在する。
ここで、本実施形態では、タグドメインの判定タイプとして、図19(a)に示されるようなタイプAと図19(b)に示されるようなタイプBを用いる。
タイプAでは、タグドメインを構成する領域の分割として(A):「Shindo_sensor AND プロセスA」、(B):「Shindo_sensor OR プロセスA」、(C):「Shindo_sensor」、(D):「プロセスA」であるとする。
一方、タイプBでは、(1):「Shindo_sensor AND プロセスA」、(2):「Shindo_sensor NAND プロセスA」、(3):「プロセスA NAND Shindo_sensor」であるとする。
そして、タイプAとタイプBで分割されたそれぞれの領域は、(A):(1)、(B):(1)+(2)+(3)、(C):(1)+(2)、(D):(1)+(3)に対応する。
タイプBでは、領域の分割がDisjointな分割(直和分割)になっていることが特徴である。これは、各々に属する分析の値を計算しやすくするためであり、以下の利用傾向評価テーブルの分析タグドメインの分割に利用される。
利用傾向評価テーブル270は、図12に示した利用観点抽出ログテーブル210において、付与タグにより生成されるタグドメインが、アプリケーションソフトウェアによりどのように利用されていたかの情報を保持するテーブルであり、図16に示されるように、分析用タグドメイン270a、部門270b、関連利用率270c、ユーザ利用率270d、ユーザ評価平均270eの各カラムを有する。
利用傾向評価テーブル270は、データの利用観点ごとに一つ作成されるテーブルであり、図16では、データ利用観点として、「製品故障分析」の例が示されている。利用傾向評価テーブル270は、タグドメイン提示装置10の利用傾向抽出部135により抽出されるテーブルであり、後述するタグドメイン抽出処理において、利用観点抽出ログテーブル210、ユーザ属性テーブル250、固有タグテーブル220に格納された情報に基づいて作成される。
分析用タグドメイン270aには、利用傾向を評価するタグドメインが格納される。分析用タグドメイン270aは、タグドメインの領域分割において、図19(b)のタイプBにより定義されたタグドメインで記述される。部門270bには、該当する分析タグドメインの部門が格納される。関連利用率270cには、あるタグドメインに対応するデータに対して、他のタグドメインのアプリケーションソフトウェアに関する利用率が格納される。ここで、i行の分析タグドメインとj列の関連利用率に定義された値は、以下の(式1)で定義される。ここで、i行の分析タグドメインは、図16のように、分析用タグドメインの(1)「Shindo_sensor AND プロセスA」、(2)「Shindo_sensor NAND プロセスA」、…と表記している。j列についても同様である。
関連利用率270cの(i行目、j列目)の値=(i行のタグドメインに対応するデータに対して、i行のタグドメインとj列のタグドメインをアプリケーションソフトウェアが使用した回数)/(i行のタグドメインに対応するデータに対して、i行のタグドメインをアプリケーションソフトウェア使用した回数) …(式1)
ユーザ利用率270dには、該当するタグドメインに対応するデータを利用したのが、同部門であるか、異部門であるかの割合が格納される。例えば、(1)「Shindo_sensor AND プロセスA」のタグドメインの部門は、「工場A」なので、このデータをアプリケーションソフトウェアにより、利用したユーザの部門が「工場A」のときには、同部門としてカウントされ、それ以外のときには、異部門としてカウントされた割合が格納される。ユーザ評価平均270eには、利用観点抽出ログテーブル210のユーザ評価210eを反映した値の平均値が格納される。このときには、評価したユーザによって、図15Bのユーザ属性重みテーブル260により重みづけをした以下の(式2)により計算する。
ここで、分母、分子のΣは、分析用タグドメインの該当する利用観点抽出ログテーブル210の該当するレコードのユーザ評価にわたって総和をとることを意味し、ciは、そのレコードのユーザID210cのユーザの同部門、異部門の重みづけであるユーザ属性重みテーブル260の同部門重み260b、異部門重み260cの値であり、eiは、そのレコードのユーザ評価200dの値である0または1である。
例えば、ある分析用ドメインに対応するユーザ評価として、ユーザロールが、同部門「Data Steward」のユーザ評価「1」、同部門「Analyst」のユーザ評価「1」、異部門「Analyst」のユーザ評価「0」、異部門「Engineer」のユーザ評価「1」のときには、(60×1+2×1+4×0+2×1)/(60+2+4+2)=64/67≒0.96となる。
タグドメイン推薦値テーブル280は、タグドメインに関する推薦値を決定するためのテーブルであり、図17に示されるように、タグドメインID280a、タグドメイン候補280b、部門280c、利用傾向値280d、ユーザ評価値280e、ビジネスグロッサリー一致度280f、タグドメイン推薦値280gの各カラムを有する。
タグドメイン推薦値テーブル280は、タグドメイン提示装置10のタグドメイン推薦値管理部138により作成されるテーブルであり、後述するタグドメイン推薦値算出処理において、利用傾向評価テーブル270、ビジネスグロッサリー定義(図示せず)を用いて生成されるテーブルである。ビジネスグロッサリー定義は、例えば、データレイク管理サーバ40が管理するビジネスグロッサリー62に格納されている固有タグ名称、付与先テーブル・カラムの組から作成される。
タグドメインID280aには、データレイク管理者に提示する候補となるタグドメインを一意的に表す識別子が格納される。タグドメイン候補280bには、データレイク管理者に提示する候補となるタグドメインが格納される。タグドメイン候補280bのタグドメインは、図19(a)で示したタイプAの形式で記述する。部門280cには、該当する候補となるタグドメインの部門が格納される。利用傾向値280dには、図16の利用傾向評価テーブル270の情報に基づいた該当する候補となるタグドメインの利用傾向値が格納される。利用傾向値の求め方の詳細は、後述する。ユーザ評価値280eには、候補となるタグドメインのユーザ評価値が格納される。ユーザ評価値の求め方の詳細は、後述する。ビジネスグロッサリー一致度280fには、候補となるタグドメインのビジネスグロッサリー一致度の値が格納される。ビジネスグロッサリー一致度の求め方の詳細は、後述する。タグドメイン推薦値280gには、利用傾向値280dの値、ユーザ評価値280eの値、ビジネスグロッサリー一致度280fの値を合計した値が、総合推薦値として格納される。
次に、利用傾向値280dに格納される利用傾向値の求め方について説明する。
利用傾向値とは、候補となるタグドメインについて、ユーザとアプリケーションソフトウェアのタグドメインに対応するデータについての利用傾向を評価する値である。
先ず、図16の利用傾向評価テーブル270の関連利用率270cとユーザ利用率270dのカラムの値を、それぞれの要素とする行ベクトル(図16の例では、8次元)を生成する。ここで、それぞれの分析用タグドメイン(1)~(6)に対応するベクトルを、v1~v6とする。
次に、部門270bの値を参照して、それぞれのベクトルの類似度を例えば、コサイン類似度を用いて計算する。コサイン類似度とは、ベクトル間のコサインを内積で表現したときの式を利用した類似度の評価であり、ベクトルv、uに対するコサイン類似度は、以下の(式3)で表され、1に近いほどそれらのベクトルは類似し、0に近いほどそれらのベクトルは類似しないとされる。
ここで、(式3)の分子は、ベクトルv、uのノルムの積であり、分母は、ベクトルv、uの内積である。
例えば、「A工場」の部門においては、v1,v2,v3間のコサイン類似度が、3通り求められる。ここで、(v1,v2)間のコサイン類似度が一番大きく、かつ、そのコサイン類似度が所定の閾値(例えば、0.8)を越えているときには、分析用タグドメイン(1)の領域と、分析用タグドメイン(2)の領域に対応するタグドメイン候補(図19のタイプAの(C)「Shindo_sensor」)の利用傾向値を、「1」として、他の「A工場」の部門のタグドメインの利用傾向値を、「0」とする。
また、「A工場」の部門においては、v1,v2,v3間のコサイン類似度が、全て、所定の閾値を越えなかったときには、他の部門「B工場」との関連利用率で一番大きい値を有する分析用タグドメインに対応するタグドメイン候補の利用傾向値を、「1」として、他の「A工場」の部門のタグドメインの利用傾向値を、「0」とする。図19の例では、分析用タグドメイン(1)の関連利用率(4)の値が、「0.42」となっているので、分析用タグドメイン(1)に対応するタグドメイン候補の「Shindo_sensor AND プロセスA」の利用傾向値が「1」とされる。
次に、ユーザ評価値280eに格納されるタグドメインのユーザ評価値の求め方について説明する。
ユーザ評価値は、図16の利用傾向評価テーブル270の分析用タグドメインごとのユーザ評価平均270cの値を、タグドメイン候補の値として平均をとることにより求められる。
例えば、(B)「Shindo_sensor OR プロセスA」のユーザ評価値は、(分析用タグドメイン(1)のユーザ評価値+分析用タグドメイン(2)のユーザ評価値+分析用タグドメイン(3)のユーザ評価値)/3である。
次に、ビジネスグロッサリー一致度280fには、格納されるビジネスグロッサリー一致度の求め方につい説明する。
ビジネスグロッサリー一致度280fは、タグドメイン候補に使用されている付与タグの名称(例えば、「Shindo_sensor AND プロセスA」のときには、「Shindo_sensor」、「プロセスA」)とビジネスグロッサリーに定義されているタグドメインの名称の文字列としての一致度を見ることにより求める。例えば、完全一致しているときには、「0.5」とし、一致しないものがあるときには、「0」とする。また、タグドメイン候補に使用されている文字列とビジネスグロッサリーに定義されているタグドメインの名称の文字列がどの程度の一致率を有するかを、0~1の数値で表すことにしてもよい。
タグドメインテーブル290は、データ管理者に提示するタグドメインに関する情報を保持するテーブルであり、図18に示されるように、タグドメインID290a、統一タグ名称290b、タグドメイン290c、部門290d、付与先テーブル・カラム290eの各カラムを有する。
タグドメインID290aには、このテーブルで保持するタグドメインを一意的に識別する識別子が格納される。統一タグ名称290bには、データ管理者が提示されたタグドメインに付与した統一タグ名称が格納される。タグドメイン290cには、部門ごとのタグドメインが格納される。部門290dには、タグドメインを定義している付与タグに関する部門の情報が格納される。付与先テーブル・カラム290eには、該当するタグドメインと対応するテーブル名やカラムに関する情報が格納される。
タグドメインテーブル290は、タグドメイン提示装置10のタグドメイン管理部で生成される。
統一タグ名称については、後述するタグドメイン抽出処理の後、候補となるタグドメインを管理者への提示後、データ管理者が、提示されたタグドメインに対して付与する統一タグの名称を入力する(ユーザインタフェースの詳細については、後述)。そして、タグドメイン提示装置10のタグドメイン管理部は、入力として受けた統一タグ名称の情報と、抽出したタグドメインの情報に基づいてタグドメインテーブル290を生成する。
例えば、図18には、統一タグ名称として、データ管理者から「A工程_振動センサデータ」の入力を受け、抽出したタグドメインとタグドメインID261に紐づけてタグドメインテーブル290として生成される例が示されている。
次に、図20ないし図24を用いてタグドメイン提示装置の行う処理について説明する。
先ず、図20を用いてデータ利用ログの蓄積から、データレイク管理者にタグドメインを提示するまでの一連の処理について説明する。
データレイク管理サーバ40のデータカタログ管理部42から、データ利用者からデータ検索、選定および利用の要求を受信した場合に、タグドメイン提示装置10のデータ利用ログ管理部11に通知される。
タグドメイン提示装置10のデータ利用ログ管理部11は、それを新規のデータ利用ログとして、データ利用ログストア21のデータ利用ログテーブル200に格納し(S301:Y)、S302に行く。
次に、タグドメイン提示装置10のタグドメイン管理部13は、データ利用ログテーブル200の新規に登録されたレコードとタグドメインテーブル290の登録済みのレコードを取得する(S302)。
次に、タグドメイン提示装置10のタグドメイン管理部13は、データ利用ログテーブル200の新規に登録されたレコードについて、データ利用ログテーブル200の付与タグ200fの内の少なくとも一つ以上の組合せで表現できるタグドメインが、タグドメインテーブル290のタグドメイン290cのカラムに登録されているか否かを検索する。
そして、データ利用ログテーブル200の新規に登録されたレコードについて、タグドメインテーブル290のタグドメイン290cに、データ利用ログテーブル200の付与タグ200fの組合せで表現できるタグドメインが含まれているときには(S303:Y)、S304に行き、含まれていないときには(S303:N)、S306に行く。
タグドメインテーブル290のタグドメイン290cに、データ利用ログテーブル200の付与タグ200fの組合せで表現できるタグドメインが含まれているときには、該当するタグドメインID290aのタグドメインの値を、タグドメインID210aの値として有する利用観点抽出ログテーブル210を取得する(S304)。
データ利用ログテーブル200の新規に登録されたレコードについて、データ利用ログテーブル200のレコードの値を、取得した当該利用観点抽出ログテーブル210のログID210b、ユーザID210c、検索利用タグ210d、ユーザ評価210e、利用データリスト210f、付与タグ210g、アプリケーションソフトウェア210h、アプリケーションパラメータ情報210iにコピーしたレコードを作製し、タグドメインID210aに、タグドメインテーブル290のタグドメインID290aの値を代入する(S305)。
タグドメインテーブル290のタグドメイン290cに、データ利用ログテーブル200の付与タグ200fの組合せで表現できるタグドメインが含まれていないときには、データ利用ログテーブルのレコード間の類似度を計算する(S306)。
データ利用ログテーブルのレコード間の類似度を計算する処理は、後に、図21Aおよび図21Bを用いて説明する。
そして、類似度が一定以上のデータ利用ログテーブル200のレコードから、利用観点抽出ログテーブル210のログID210b、ユーザID210c、検索利用タグ210d、ユーザ評価210e、利用データリスト210f、付与タグ210g、アプリケーションソフトウェア210h、アプリケーションパラメータ情報210iに値をコピーしたレコードを作製し、タグドメインID210aに、新しいIDの値を代入し、それらのレコードから新規の利用観点抽出ログテーブル210を生成する(S307)。
次に、図21Aおよび図21Bを用いてデータ利用ログのレコード間の類似度を算出する処理について説明する。
この処理は、図20のS306に該当する処理であり、タグドメイン提示装置10のタグドメイン管理部13の利用観点抽出ログテーブル管理部132が行う処理である。
先ず、タグドメイン提示装置10のタグドメイン管理部13は、未取得の新規のデータ利用ログテーブル200のレコードがあるか否かを判定し(S401)、未取得の新規のデータ利用ログテーブル200のレコードがあるときには(S401:Y)、S402に行き、未取得の新規のデータ利用ログテーブル200のレコードがないときには(S401:N)、処理を終了する。
未取得の新規のデータ利用ログテーブル200のレコードがあるときには、REC1←未取得の新規のデータ利用ログテーブル200のレコードとする(S402)。
次に、タグドメイン提示装置10のタグドメイン管理部13は、REC1以外の未取得のデータ利用ログテーブル200のレコードがあるか否かを判定し(S403)、REC1以外の未取得のデータ利用ログテーブル200のレコードがあるときには(S403:Y)、S404に行き、未取得の新規のデータ利用ログテーブル200のレコードがないときには(S403:N)、S401に戻る。
REC1以外の未取得のデータ利用ログテーブル200のレコードがあるときには、REC2←REC1以外の未取得のデータ利用ログテーブル200のレコードとする(S404)。
次に、REC1の検索利用タグ200cに含まれる固有タグが、REC2の検索利用タグ200cに含まれているか否かを判定する(S405)。含まれている場合には(S405:Y)、X1=1.0に設定し(S406)、含まれていない場合には、X1=0に設定する(S407)。
次に、REC1の付与タグ200fに含まれる固有タグが、REC2の付与タグ200fに含まれているか否かを判定する(S408)。含まれている場合には(S408:Y)、X2=1.0に設定し(S409)、含まれていない場合には、X2=0に設定する(S410)。
本実施形態では、REC1の付与タグに含まれる固有タグがREC2の付与タグに含まれる場合で場合分けを設定しているが、完全に一致する場合、REC1の付与タグがREC2の付与タグの部分集合となっている場合等、細かく場合分けを設定して、X2の値を定めることにしてもよい。
次に、REC1とREC2のアプリケーションソフトウェア200g、図14Aのアプリケーションテーブル230を参照し、アプリケーションソフトウェアの名称が同一名称か、同一のプロジェクトカテゴリであるか否かを判定する(S411)。
アプリケーションソフトウェアの名称が同一名称か、同一のプロジェクトカテゴリであるときには、(S411:Y)、X3=1.0に設定し(S412)、名称が異なるが、同一のプロジェクトカテゴリであるときには(S411:Y)、X3=0.5に設定し(S412)、それらの条件を満たさないときには(S411:N)、X3=0に設定する(S410)。
本実施形態では、アプリケーションソフトウェアの名称が同一であるか、同プロジェクトカテゴリに含まれるかで場合分けを設定したが、図14Aのアプリケーションテーブル230で表現される処理ステップ毎の一致度、ステップの順序等細かく場合分けを設定して、X3を設定してもよい。
次に、REC1とREC2のアプリケーションパラメータ情報200hを参照し、アプリケーションソフトウェアのパラメータ情報が一致するか否かを判定する(S414)。一致する場合には(S408:Y)、X4=1.0に設定し(S415)、一致しない場合には、X4=0に設定する(S416)。
本実施形態では、一致しているか否かの場合分けとしているが、アプリパラメータに関する辞書を設定し、同義のパラメータ群を定義して一致度を算出して、X4を設定してもよい。
次に、上記の設定したX1~X4に基づいて、REC1とREC2の類似度Rを算出する(S417)。REC1とREC2の類似度Rは、例えば、以下の(式4)で表れる各変数を重みづけた線形式で算出する。
R=a1×X1+a2×X2+a3×X3+a4×X4 …(式4)
ここで、a1~a4は、それぞれ変数X1~X4に対応する重みづけ係数であり、例えば、アプリケーションソフトウェアの一致度を重要視するなら、a1=0.1,a2=0.2,a3=0.5,a4=0.2として、類似度を算出する。本実施形態の図21Aおよび図21Bに示される処理では、比較項目ごと比較結果に対して重みをつけて計算したが、重みづけの手法、および類似度を算出する手法については、データレイクの構成に応じて変更してもよい。
次に、類似度Rが、一定の閾値以上か否かを判定し(S418)、類似度Rが、一定の閾値以上のときには(S418:Y)、REC1とREC2をワークメモリに記憶する(S419)。
そして、S403に戻る。
次に、図22を用いてデータレイク管理者にタグドメインを提示する一連の処理について説明する。
この処理は、タグドメイン提示装置10のタグドメイン管理部13が行う処理である。
先ず、タグドメイン提示装置10のタグドメイン管理部13の利用観点抽出ログテーブル管理部132は、利用観点抽出ログテーブル210の更新があったか否かを判定する(S501)。更新があった場合には(S501:Y)、更新された該当の利用観点抽出ログテーブル210のデータを取得する(S502)。
次に、タグドメイン提示装置10のタグドメイン管理部13の固有タグ管理部は、固有タグテーブル220のデータを取得する(S503)。
次に、タグドメイン提示装置10のタグドメイン管理部13のユーザ属性アクセス部134は、タグドメイン提示装置10のユーザ属性管理部12のユーザ属性ストア13から、該当するユーザ属性テーブルのデータを取得する(S504)。
次に、タグドメイン提示装置10のタグドメイン管理部13のユーザ属性アクセス部134は、タグドメイン提示装置10のユーザ属性管理部12のユーザ属性ストア13から、ユーザ属性重みテーブル260のデータを取得する(S505)。
次に、タグドメイン提示装置10のタグドメイン管理部13が、タグドメイン抽出処理を実施する(S506)。なお、タグドメイン抽出処理の詳細は、図23を用いて後述する。
次に、タグドメイン提示装置10は、タグドメイン管理部13の推薦タグドメイン生成部136で生成されたタグドメインの推薦結果を、管理者端末50に送信する。管理者端末50のタグドメイン提示部53は、タグドメイン推薦画面を表示出力、データレイク管理者に対して推薦するタグドメインを提示する(S507)。なお、タグドメイン推薦画面のユーザインタフェースは、後に、図24を用いて説明する。
次に、タグドメイン提示装置10は、タグドメイン推薦画面から統一タグ名称の入力を受け付け、入力があったときには(S508:Y)、入力された統一タグ名称を取得する(S509)。
次に、S340において、提示したタグドメイン、タグドメイン推薦値テーブル280からタグドメインID261の値と、タグドメイン推薦画面から入力されたデータからタグドメインテーブル290を生成し、タグドメインストア23に登録する(S510)。
次に、タグドメインテーブル290の付与先テーブル・カラム290eと統一タグ名称290bに基づき、新たなタグとして、データレイク管理サーバ40のタグストア61に登録する(S510)。これにより、一般のユーザが統一タグ名称のタグを、データ検索に用いることが可能になる。
次に、図23を用いて推薦タグドメインを抽出する処理について説明する。
これは、図22のS506に該当する処理である。
先ず、タグドメイン提示装置10のタグドメイン管理部13は、利用観点抽出ログテーブル210の付与タグ210gと固有タグテーブル220の固有タグ220aをマッチングさせて、付与タグ210gのタグに該当する部門220bの値を抽出する(S601)。
次に、タグドメイン提示装置10のタグドメイン管理部13は、利用観点抽出ログテーブル210の付与タグ210gから、検索式として組み合わせられるタグドメインを生成する(S602)。タグドメインを生成の仕方は、タイプAとタイプBがあることを、既に図19を用いて説明した。
次に、タグドメイン提示装置10のタグドメイン管理部13の利用傾向抽出部135は、利用観点抽出ログテーブル210の各レコードに対し、S603~S607のループ処理を実行する。
先ず、利用観点抽出ログテーブル210のレコードに対して、付与タグ210gが、部門が異なる固有タグを有するか否かを判定する(S603)。
そのレコードの付与タグの値として、部門が異なる固有タグを有さない場合には(S603:N)、付与タグ210gが該当するS601で生成した分析用タグドメイン(タイプB)を検索し、そのレコードの一件をその部門の利用回数としてカウントする(S605)。
そのレコードの付与タグの値として、部門が異なる固有タグを有する場合には(S603:Y)、該当する分析用タグドメイン(タイプB)を検索し、その部門における利用回数としてカウントする事に加え、その他の部門における利用回数としてカウントする。
次に、タグドメイン提示装置10のタグドメイン管理部13は、利用観点抽出ログテーブル210のユーザID210cとユーザ属性テーブル250のユーザID250aに基づいて、ユーザと利用したデータの属するタグドメインが同部門か異部門かを判定して、それぞれカウントする(S606)。本実施形態では、ユーザの部門とデータの属するタグドメインの部門が一致するか否かで場合分けしているが、部門に加えユーザロールを含めて細かく場合分けを行ってもよい。
次に、タグドメイン提示装置10のタグドメイン管理部13は、利用観点抽出ログテーブル210のユーザ評価210eとユーザID210c、ユーザ属性テーブル250のユーザID250a、ユーザ属性重みテーブル260の値に基づいて、それぞれの分析用タグドメインに対するユーザ評価平均を算出する(S607)。ユーザ評価平均を算出の際には、ユーザ評価210eの値に対し、ユーザ属性テーブル250とユーザ属性重みテーブル260に設定された値により、該当ユーザの相対値として算出されたユーザ評価に対する重み(同部門重み260b、異部門重み260c)を取得し、ユーザ評価に対する重みを各評価値に乗じたユーザ評価平均を算出する((式2)参照))。
ループを抜けたときに、各分析タグドメイン270aの領域に対して、関連利用率270c、ユーザ利用率270d、ユーザ評価平均270eの値を算出し、利用傾向評価テーブル270の各カラムに設定する(S608)。各カラムの値の求め方は、既に説明した所である。
次に、タグドメイン提示装置10のタグドメイン管理部13のビジネスグロッサリーアクセス部137で、データカタログサーバ24のビジネスグロッサリー62で定義されているビジネスグロッサリー定義を取得する(S609)。
次に、利用傾向評価テーブル270の各分析タグドメインに対する値を参照し、タグドメイン候補280bの領域に対するそれぞれの利用傾向値280dの値、ユーザ評価値280eの値、ビジネスグロッサリー一致度280fの値をそれぞれ算出し、タグドメイン推薦値テーブル280の各カラムに設定する(S610)。利用傾向値280dの値、ユーザ評価値280eの値、ビジネスグロッサリー一致度280fの求め方については、既に説明した。
次に、タグドメイン提示装置10のタグドメイン管理部13で、タグドメイン推薦値テーブル280の各タグドメイン候補280bに対するタグドメイン推薦値の算出を行い、タグドメイン推薦値テーブル280のタグドメイン推薦値280gのカラムに設定する(S611)。各タグドメイン候補280bに対するタグドメイン推薦値は、それぞれのレコードの該当する利用傾向値280dの値、ユーザ評価値280eの値、ビジネスグロッサリー一致度280fの値の合計した値となる。
次に、タグドメイン提示装置10のタグドメイン管理部13のタグドメイン推薦条件管理部138は、事前に設定されるタグドメイン推薦条件を取得する(S612)。
次に、タグドメイン提示装置10のタグドメイン管理部13のタグドメイン推薦条件管理部138は、タグドメイン推薦値テーブル280の各々のタグドメイン候補に対して算出したタグドメイン推薦値と取得したタグドメイン推薦条件に基づいて、各部門でのタグドメイン推薦値が最も大きくかつ取得タグドメイン推薦条件を満たすタグドメイン候補251をリストとし、推薦タグドメインとして決定する(S613)。
次に、図24を用いてタグドメイン推薦画面のユーザインタフェースについて説明する。
タグドメイン推薦画面370は、管理者端末50に表示される画面であり、統一的なタグ名称を付与する対象となるタグドメインの候補をデータレイク管理者に提示し、それらの統一タグ名称の入力を受け付ける画面である。
ビジネスグロッサリー定義見出し371、ビジネスグロッサリー値領域372は、ビジネスグロッサリー値領域372で示されている文字列の値が、ビジネスグロッサリーで定義済みであることを示している。図24に示される例としては、「振動センサ」の名称がビジネスグロッサリーで定義済みであることを示している。この情報は、データレイク管理者に対して、例えば、この「振動センサ」の統一タグ名称として採用するなどとして、統一タグ名称をつけるためのヒントとして提示される情報である。
タグドメイン推薦条件見出し373、タグドメイン推薦条件値領域374は、タグドメインの推薦条件を示している。図24に示される例では、タグドメイン推薦条件値領域374に、タグドメイン評価値:0.8以上とあり、タグドメイン推薦値テーブル280のタグドメイン評価値265が0.8以上であることが推薦に必要な条件であることを示している。したがって、この例では、特定の部門のタグドメイン262のタグドメイン評価値がすべて0.8未満であった場合、その部門に属するタグドメインは推薦されないことになる。
統一タグ名称入力見出し375、統一タグ名称入力欄376は、データレイク管理者の統一タグ名称入力を待機していることを表現している。統一タグ名称入力欄376には、初期の画面では、「-入力してください-」されており、データレイク管理者は、自分が決定した統一タグ名称を入力することができる。
タグドメイン表示欄377、部門表示欄378、付与先テーブル・カラム表示欄379は、それぞれタグドメインテーブル290のタグドメイン290a、部門290b、付与先テーブル・カラム290cに対応する値であり、データレイク管理者に対して、部門ごとに推薦条件を満たすベストなタグドメインを表示している。
データレイク管理者は、推薦されたタグドメインについて確認し、統一タグ名称入力欄376に、自分が決定した統一タグ名称を入力した後、実行ボタン380をマウスなどのポインティングデバイスにより、クリックすることによって、タグドメイン提示装置10のタグドメイン管理部13は、提示したタグドメインと付与先テーブル・カラムに対して、入力された統一タグ名称を該当するタグドメインテーブル290の統一タグ名称290bの値として格納する。
以上述べ立てきたように、本実施形態のタグドメイン提示装置においては、タグを利用したユーザやアプリケーションソフトウェアの利用傾向を分析して、部門ごとの共通するタグドメイン(部門ごとに固有のタグによって定義されるタグの検索式)を、データレイク管理者に提示することにより、データレイク管理者に対して、部門を横断して使えるような統一的なタグ名称を作成する労力を軽減することができる。