JP5411954B2 - ツリー抽出装置、ツリー抽出システム、ツリー抽出方法、及びツリー抽出プログラム - Google Patents

ツリー抽出装置、ツリー抽出システム、ツリー抽出方法、及びツリー抽出プログラム Download PDF

Info

Publication number
JP5411954B2
JP5411954B2 JP2012023243A JP2012023243A JP5411954B2 JP 5411954 B2 JP5411954 B2 JP 5411954B2 JP 2012023243 A JP2012023243 A JP 2012023243A JP 2012023243 A JP2012023243 A JP 2012023243A JP 5411954 B2 JP5411954 B2 JP 5411954B2
Authority
JP
Japan
Prior art keywords
tree
data
extraction
root
unit
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.)
Active
Application number
JP2012023243A
Other languages
English (en)
Other versions
JP2013161288A (ja
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.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone Corp
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 Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to JP2012023243A priority Critical patent/JP5411954B2/ja
Publication of JP2013161288A publication Critical patent/JP2013161288A/ja
Application granted granted Critical
Publication of JP5411954B2 publication Critical patent/JP5411954B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

本発明は、ツリー抽出装置、ツリー抽出システム、ツリー抽出方法、及びツリー抽出プログラムに関する。
従来、ユーザによる操作と類似度の高い操作あるいはユーザの閲覧した商品と関連性の高い商品の情報を抽出して、ユーザに提供するサービスとして、レコメンデーションが知られている。レコメンデーションでは、ツリー抽出アルゴリズムは、操作や閲覧の履歴の記録されたツリーを用いて、ユーザによる過去の操作や閲覧の履歴から、同様の振舞いを示した他のユーザの情報を取得する。これにより、ツリー抽出アルゴリズムは、ユーザが次に行う可能性の高い操作や閲覧する可能性の高い商品をユーザに提案することができる。特に、依存関係を有するツリーの抽出では、ツリー抽出アルゴリズムは、ログデータに含まれるツリーの数に応じて、処理内容を変更する必要がある。例えば、大量のログデータの中に含まれるツリー(根)が1つである場合、分散ツリー検索(Distributed Tree Search)等の技術が有効である。
"Distributed Tree Search"、M. J. Quin, Parallel Programming in C with MPI and OpenMP, McGraw-Hill Education, 2008.
しかしながら、上述した従来の技術は、ログデータに含まれるツリーの数に応じて、処理内容を変更するものであることから、ログデータ中に多数のツリー構造が含まれる場合、ツリー抽出アルゴリズムが、これらのツリーを高速に抽出することは困難である。すなわち、ログデータ中にツリーが複数存在する場合、ツリー内のデータ間に依存関係が発生するため、根から枝を辿るDTS(Distributed Tree Search)等の既存技術の適用は困難であり、大量のログデータにも対応可能な何らかの新しい手法が望まれている。特に、近年では、ログデータ量の急増に伴い、多数のツリー構造を有するログデータが一般的となりつつあり、上記手法の必要性は高まっている。
開示の実施例は、上記に鑑みてなされたものであって、大量のログデータからツリー構造を高速に抽出することができるツリー抽出装置、ツリー抽出システム、ツリー抽出方法、及びツリー抽出プログラムを提供することを目的とする。
上述した課題を解決し、目的を達成するために、本願の開示するツリー抽出装置は、一つの態様において、相互に依存関係のある複数のプロセスを有するログデータから、各プロセスで形成される、ツリーのエッジを抽出する抽出部と、前記抽出部により抽出された各エッジに共通する第1の値と、前記エッジに含まれる、前記第1の値以外の第2の値とを用いて、分類の対象となるデータを生成する生成部と、前記生成部により生成されたデータを、根に相当するデータと当該根を派生元とする枝に相当するデータとに分類することにより、前記ツリーを前記根、前記枝に分類する分類部と、前記分類部により分類されたデータに基づき、前記ログデータから、前記根と当該根の派生先である枝とを有するツリーを抽出する抽出部とを有する。
また、本願の開示するツリー抽出システムは、一つの態様において、ログ生成装置と、該ログ生成装置に接続されたツリー抽出装置とを有するツリー抽出システムであって、前記ログ生成装置は、前記ツリー抽出装置からの要求に応じて、前記ツリー抽出装置に対して、ユーザによるサービス利用の履歴の記録されたログデータを送信する送信部を有し、前記ツリー抽出装置は、前記ログ生成装置から送信された、相互に依存関係のある複数のプロセスを有するログデータを受信する受信部と、前記受信部により受信されたログデータから、各プロセスで形成される、ツリーのエッジを抽出する抽出部と、前記抽出部により抽出された各エッジに共通する第1の値と、前記エッジに含まれる、前記第1の値以外の第2の値とを用いて、分類の対象となるデータを生成する生成部と、前記生成部により生成されたデータを、根に相当するデータと当該根を派生元とする枝に相当するデータとに分類することにより、前記ツリーを前記根、前記枝に分類する分類部と、前記分類部により分類されたデータに基づき、前記ログデータから、前記根と当該根の派生先である枝とを有するツリーを抽出する抽出部とを有する。
更に、本願の開示するツリー抽出方法は、一つの態様において、ツリー抽出装置が、相互に依存関係のある複数のプロセスを有するログデータから、各プロセスで形成される、ツリーのエッジを抽出する抽出工程と、前記抽出工程にて抽出された各エッジに共通する第1の値と、前記エッジに含まれる、前記第1の値以外の第2の値とを用いて、分類の対象となるデータを生成する生成工程と、前記生成工程にて生成されたデータを、根に相当するデータと当該根を派生元とする枝に相当するデータとに分類することにより、前記ツリーを前記根、前記枝に分類する分類工程と、前記分類工程にて分類されたデータに基づき、前記ログデータから、前記根と当該根の派生先である枝とを有するツリーを抽出する抽出工程とを含む。
また、本願の開示するツリー抽出プログラムは、一つの態様において、相互に依存関係のある複数のプロセスを有するログデータから、各プロセスで形成される、ツリーのエッジを抽出する抽出ステップと、前記抽出ステップにて抽出された各エッジに共通する第1の値と、前記エッジに含まれる、前記第1の値以外の第2の値とを用いて、分類の対象となるデータを生成する生成ステップと、前記生成ステップにて生成されたデータを、根に相当するデータと当該根を派生元とする枝に相当するデータとに分類することにより、前記ツリーを前記根、前記枝に分類する分類ステップと、前記分類ステップにて分類されたデータに基づき、前記ログデータから、前記根と当該根の派生先である枝とを有するツリーを抽出する抽出ステップとをコンピュータに実行させる。
本願の開示するツリー抽出装置、ツリー抽出システム、ツリー抽出方法、及びツリー抽出プログラムは、大量のログデータからツリー構造を高速に抽出することができるという効果を奏する。
図1は、ツリー抽出システムの概略構成を示す図である。 図2は、ログ生成装置の機能構成を示すブロック図である。 図3は、サーバ装置の機能構成を示すブロック図である。 図4は、サーバ装置の実行するツリー抽出処理の概要を説明するための図である。 図5は、サーバ装置の実行するツリー抽出処理を説明するためのフローチャートである。 図6は、ツリーエッジ抽出処理を説明するための図である。 図7は、部分木構成処理を説明するための図である。 図8は、ツリー抽出準備処理を説明するための図である。 図9は、ツリー抽出処理を説明するための図である。 図10Aは、実施例及び変形例に係る根情報データベース及び枝情報データベースにおけるデータ格納例を示す図である。 図10Bは、実施例に係るツリー情報データベースにおけるデータ格納例を示す図である。 図10Cは、実施例に係る2つの中間生成物の一例を示す図である。 図11は、第1MapReduce部の実行する分散処理の概要を説明するための図である。 図12は、ツリーエッジ抽出処理を更に詳細に説明するための図である。 図13は、部分木構成処理を更に詳細に説明するための図である。 図14は、ツリー抽出準備処理を更に詳細に説明するための図である。 図15は、変形例に係るツリー抽出準備処理を説明するための図である。 図16は、ツリー抽出処理を更に詳細に説明するための図である。 図17は、変形例に係るツリー抽出処理を説明するための図である。 図18は、更に別の変形例に係るツリー抽出準備処理を説明するための図である。 図19は、更に別の変形例に係るツリー抽出処理を説明するための図である。 図20は、ツリー抽出プログラムによる情報処理がコンピュータを用いて具体的に実現されることを示す図である。 図21は、コンピュータのROMに格納される各種プログラムを示す図である。
以下に、本願の開示するツリー抽出装置、ツリー抽出システム、ツリー抽出方法、及びツリー抽出プログラムの実施例を、図面を参照しながら詳細に説明する。なお、以下の実施例により本願の開示するツリー抽出装置、ツリー抽出システム、ツリー抽出方法、及びツリー抽出プログラムが限定されるものではない。
まず、本願の開示する一実施例に係るツリー抽出システム1の構成を説明する。図1は、ツリー抽出システム1の概略構成を示す図である。図1に示すように、ツリー抽出システム1は、ログ生成装置10−1、10−2、10−3、・・・、10−n(nは自然数)と、後述するサーバ装置20−1、20−2、20−3、・・・、20−n(nは自然数)とを有する。ログ生成装置10−1、10−2、10−3、・・・、10−nとサーバ装置20−1、20−2、20−3、・・・、20−nとは、ネットワークNを介して、相互に各種信号やデータの送受信が可能である。
図2は、ログ生成装置10−1の機能構成を示すブロック図である。図2に示すように、ログ生成装置10−1は、ログデータ生成部11とログデータ送信部12とを有する。これら各構成部分は、一方向又は双方向に、信号やデータの入出力が可能なように接続されている。ログデータ生成部11は、ユーザによるサービスの利用履歴(例えば、操作履歴、商品閲覧履歴)を基に、ログデータを生成する。当該ログデータには、所定期間における、これらの利用履歴を示す情報が時系列に記録されている。ログデータ送信部12は、サーバ装置20−1、20−2、20−3、・・・、20−nからの要求に応じて、要求のあった1または複数のサーバ装置宛に、上記ログデータを配信する。
なお、他のログ生成装置10−2、10−3、・・・、10−nの概略構成は、上述したログ生成装置10−1の構成と同様である。したがって、共通する構成要素には、末尾が同一の参照符号を用いると共に、その図示及び詳細な説明は省略する。
サーバ装置20−1は、ログデータ受信部21と第1MapReduce部20aと第2MapReduce部20bとを有する。更に、第1MapReduce部20aは、ツリーエッジ抽出部22と部分木構成部23とツリー抽出準備部24とを有する。第2MapReduce部20bは、ツリー抽出部25を有する。これら各構成部分は、一方向又は双方向に、信号やデータの入出力が可能なように接続されている。ログデータ受信部21は、ログ生成装置10−1、10−2、10−3、・・・、10−nからネットワークN経由で送信されるログデータを受信する。ツリーエッジ抽出部22は、相互に依存関係のある複数のプロセスを有するログデータから、各プロセスで形成される、ツリーのエッジを抽出する。部分木構成部23は、抽出された各エッジに共通する第1の値と、上記エッジに含まれる、上記第1の値以外の第2の値とを用いて、上記ツリーを根、枝、葉に分類する際に分類の対象となるデータを生成する。ツリー抽出準備部24は、生成されたデータを、根に相当するデータと当該根を派生元とする枝に相当するデータとに分類する。ツリー抽出部25は、分類されたデータに基づき、上記ログデータから、根と当該根の派生先である枝とを有するツリーを抽出する。
以上、サーバ装置20−1の機能構成を代表的に説明したが、他のサーバ装置20−2、20−3、・・・、20−nの機能構成は、上述したサーバ装置20−1の構成と同様である。したがって、共通する構成要素には、末尾が同一の参照符号を用いると共に、その図示及び詳細な説明は省略する。
次に、ツリー抽出システム1の動作を説明する。
動作説明の前提として、まず、図4を参照して、ツリー抽出処理の概要を説明する。図4は、サーバ装置20−1の実行するツリー抽出処理の概要を説明するための図である。図4に示す様に、ツリー抽出処理は、第1MapReduce処理と第2MapReduce処理とを並列化基盤上に有する。第1MapReduce処理は、SRC(Source)ノードからDST(Destination)ノードまでのログデータL1を入力データとし、ツリーの根情報と枝情報とを出力データとする。第1MapReduce処理は、ツリーエッジ抽出処理と部分木構成処理とツリー抽出準備処理とを有し、これら各処理は、ログ数オーダで並列化される。詳細な処理内容については後述するが、ツリーエッジ抽出処理では、ログデータL1から中間生成物M1が生成され、部分木構成処理では、中間生成物M1から中間生成物M2が生成される。ツリー抽出準備処理では、中間生成物M2を用いて、孫派生の有無がフィードバックされ、上記根情報と枝情報が生成される。生成された根情報及び枝情報は、一時データベースD1、D2にそれぞれ格納される。ツリー抽出処理では、一時データベースD1、D2内のデータが参照され、ログデータから、ツリーまたは部分ツリーが複数抽出される。抽出されたツリーは、ツリー情報データベースD3に登録される。
図4は、サーバ装置20−1の実行するツリー抽出処理を説明するためのフローチャートである。ツリー抽出処理は、第1MapReduce処理と第2MapReduce処理とから構成される。第1MapReduce処理では、まず、サーバ装置20−1のツリーエッジ抽出部22は、所定のMap出力関数に基づき、ログデータ(1)〜(4)から、Key(例えば、Fromファイル名)とValue(例えば、to_+Toファイル名)とから成るツリーエッジを抽出する(S1)。
S2〜S7のツリー抽出準備処理では、まず、ツリー抽出準備部24は、部分木データの中に“from”が含まれるか否かを判定し、含まれる場合(S2;Yes)には、対応する“To”が空白であるか否かを判別する(S3)。当該判別の結果、“To”が空白でない場合(S3;No)、ツリー抽出準備部24は、Toに後続するファイル名を一次データベースに登録する(S4)。その結果、一次データベースA1には、Keyとして例えば“A”が登録され、Valueとして例えば“to_b,to_c”が登録される。なお、上記判別の結果、“To”が空白である場合(S3;Yes)には、ツリー抽出準備部24は、処理を実行することなくツリー抽出処理を終了する(S5)。
S2における判定の結果、部分木データの中に“from”が含まれない場合(S2;No)、ツリー抽出準備部24は、Keyに対応するファミリIDの検索を行う(S6)。例えば、Keyが“z”の場合、これに対応するファミリIDとして“95”が得られる。なお、検索の結果、ファミリIDが存在しない場合には、ツリー抽出準備部24は、新規のIDをKeyに付与する。S7では、ツリー抽出準備部24は、S6における検索結果を基に作成されたファイルを出力する。出力されたファイルA3は、Keyとして例えば“z”を有し、Valueとして例えば“to_b,to_y,ID-95”を有する。
第2MapReduce処理に移行し、S8では、ツリー抽出部25は、Toファイル名として、上記ValueのToファイル名を設定する。ツリー抽出部25は、S8で設定されたToファイル名とファミリIDとを1組の集計値(例えば、95:(z))として、トレーステーブルA4に登録する(S9)。S10では、ツリー抽出部25は、Toファイル名を検索キーワードとして、データベースを検索する。検索の結果、Toファイル名が存在(ヒット)した場合(S11;Yes)、ツリー抽出部25は、当該Toファイル名として、ヒットしたカラムのToファイル名を設定する(S12)。S12の処理終了後は、S9に戻り、ツリー抽出部25は、S9以降の処理を繰り返し実行する。これに対して、Toファイル名が存在(ヒット)しなかった場合(S11;No)、ツリー抽出部25は、Toファイル名の設定処理を実行することなく(S13)、S9以降の処理を再び実行する。
図6は、ツリーエッジ抽出処理を説明するための図である。図6に示す様に、ツリーエッジ抽出部22は、入力されたログデータL1から、SRCノード及びDSTノードに関するツリーエッジを抽出する(S101)。ツリーエッジは、例えば、SRCノード1につき、[SRCノード1:“To_”+DSTノード1]なる文字列として生成され、DSTノード1につき、[DSTノード1:“From_”+SRCノード1]なる文字列として生成される(S102)。生成された文字列は、キーとバリューとから成る中間生成物M1として出力される(S103)。ツリーエッジ抽出部22は、ツリーエッジ抽出処理の実行に際して、ログの内容のみを参照し、他のログに依存しないことから、ログデータの個数分の並列化が可能となる。
図7は、部分木構成処理を説明するための図である。図7に示す様に、部分木構成部23は、中間生成物M1に含まれるキーの値をキーとする、データベースのカラムに、バリューを追加する(S201)。これにより、中間生成物M2として、例えばノードxにつき、[To_ノードx+1. To_ノードx+2, From_ノードx-1]なるバリューが生成され、ノードyにつき、[To_ノードx+2]なるバリューが生成される。部分木構成部23は、部分木構成処理の実行に際して、入力データのみを参照し、出力データである中間生成物M2を出力するため、アルゴリズムの作成が容易である。また、入力されたログのノード数での並列化が可能である。
図8は、ツリー抽出準備処理を説明するための図である。図8に示す様に、ツリー抽出準備部24は、まず、中間生成物M2のバリューをキー毎に取得し、取得されたバリューが“To_”または“From_”の文字列を含むか否かの判定を行う(S301)。判定の結果、“From_”のみが含まれる場合、ツリー抽出準備部24は、データ(キーとバリューの組合せ)を、ツリーの葉の部分と判断し、そのままプロセスを終了する(S302)。このとき、ツリー抽出準備部24は、不要となった当該データをメモリから削除するものとしてもよい。上記判定の結果、バリューに“To_”のみが含まれる場合、ツリー抽出準備部24は、上記データを、ツリーの根の部分と判断し、ツリー情報データベースD3から、キーのノードxに対応するツリーIDを検索する(S303)。そして、ツリー抽出準備部24は、検索の結果取得されたツリーIDから、[ノードx:ノードx+1・・・:ツリーID]なるデータを生成し、根情報データベースD1に出力する(S304)。更に、上記判定の結果、バリューに“To_”と“From_”の双方が含まれる場合、ツリー抽出準備部24は、上記データを、ツリーの枝の部分と判断し、[ノードx:ノードx+1・・・]のデータを枝情報データベースD2に登録する(S305)。上述した様に、ツリー抽出準備部24は、入力されたログデータに記録されているノード毎にプロセスを実行することができる。その結果、各プロセスの並列化が可能となる。
図9は、ツリー抽出処理を説明するための図である。図9に示す様に、ツリー抽出部25は、根情報データベースD1内のデータ(根に対応するノード及びツリーID)を参照して、処理対象となるノードをノードx’に設定する(S401)。次に、ツリー抽出部25は、ツリー情報として[ファミリID:処理ノード]を、ツリー情報データベースD3に登録する(S402)。その結果、ツリー情報データベースD3には、ツリーとして“1001”が、ノードとしてノードIDが登録される。S403では、ツリー抽出部25は、枝情報データベースD2に登録されているノードから、根カラムをキーとして、S401で設定された処理対象ノードを検索する。当該検索の結果、該当するノードが存在する場合(S404;Yes)には、ツリー抽出部25は、検索でヒットしたノードを処理対象ノードに設定(S405)した上で、再びS402以降の処理を実行する。これにより、枝情報データベースD2内のノードカラムが、要素数分ループされる。一方、該当するノードが存在しない場合(S404;No)には、ツリー抽出部25は、上記S405の処理を行うことなく、S402以降の処理を実行する。これにより、ログデータL1の内包するツリーの数(根の数)分の並列化が可能となる。
ここで、本実施例に係る各データベースにおけるデータ格納例、及びツリー抽出に際して生成される各中間生成物について、更に詳細に説明する。図10Aは、実施例及び変形例(追加機能)に係る根情報データベースD1及び枝情報データベースD2におけるデータ格納例を示す図である。図10Aに示す様に、本実施例では、根情報データベースD1に登録されたノードxとして、例えば“ノードx+1,ノードx+2,ノードx+3”が格納され、ノードyとして、例えば“ノードy+1”が格納される。併せて、“1001”、“1022”が、ツリーIDとして、それぞれノードx,yと対応付けて格納される。また、本実施例の変形態様では、ノードxに対応する“ノードx+2”、及びノードyに対応する“ノードy+1”の先頭部分に、それぞれ「I_」の識別子が付与されている。サーバ装置20−1は、この識別子の付されたノードに検索対象を絞り込み、他のノードを検索対象から除外することで、根情報データベースD1への不必要なアクセスを回避する。換言すれば、変形例では、サーバ装置20−1は、孫派生のある派生先のみを検索することで、再帰検索での葉ノードに対する検索を省略する機能を有する。これにより、データベースに対するアクセス数が減少する。その結果、ツリーの抽出に掛かる時間は短縮される。
図10Aに示す様に、本実施例では、枝情報データベースD2に登録されたノードXとして、例えば“ノードX+1,ノードX+2,ノードX+3”が格納され、ノードYとして、例えば“ノードY+1”が格納される。変形例としての追加機能では、根情報データベースD1と同様、ノードXに対応する“ノードX+1”の先頭部分と、ノードYに対応する“ノードY+1”の先頭部分とに、識別子「I_」がそれぞれ付与される。これにより、サーバ装置20−1は、当該識別子をキーとした検索候補の絞込みが可能となり、ノードの検索に際して、所望のノードを容易かつ迅速に特定することができる。その結果、ツリー抽出の所要時間が減少する。
図10Bは、実施例に係るツリー情報データベースD3におけるデータ格納例を示す図である。図10Bに示す様に、ツリー情報データベースD3は、ツリーID、ノード、SRC、世代番号を格納するための各領域を有する。ツリーID領域には、“1001”、“1022”が格納されている。ノード領域には、“1001”に対応するノードとして、“ノードa”、“ノードa+1”、“ノードa+2”がそれぞれ格納されている。また、“1022”に対応するノードとして、“ノードb”が格納されている。更に、対応するノードのSRCノードとして、“新ノード”、“ノードa”、“ノードa+1”、及び“新ノード”がそれぞれ格納され、世代番号として、“0”、“1”、“2”、及び“0”がそれぞれ格納されている。なお、世代番号は、再帰検索の深さを表すために各ノードに付与される数値である。
図10Cは、実施例に係る2つの中間生成物M1、M2の一例を示す図である。中間生成物M1は、ツリーエッジ抽出処理を実行した結果得られるデータであり、キーとバリューとから構成される。例えば、“ノードx”をキーとするバリューとして、“To_ノードx+1”、“To_ノードx+2”、“From_ノードx-1”、及び“To_ノードx+3”が生成されると共に、“ノードY”をキーとするバリューとして、“To_ノードY+1”が生成される。これらのデータは、キーとバリューとを1組の集計値として生成される。このため、ツリーエッジ抽出処理の完了後には、計5組の集計値が生成されることとなる。
同様に、中間生成物M2は、部分木構成処理を実行した結果得られるデータであり、キーとバリューとから構成される。例えば、“ノードx”をキーとするバリューとして、“To_ノードx+1.To_ノードx+2,From_ノードx-1”が生成される。同時に、“ノードy”をキーとするバリューとして、“To_ノードx+2”が生成される。これらのデータは、キーとバリューとを1組の集計値として生成されるため、部分木構成処理の完了後には、計2組の集計値が生成されることとなる。
図11は、第1MapReduce部20aの実行する分散処理の概要を説明するための図である。図11に示す様に、入力されたログデータL1は、キーAとバリューBとに分割される。また、入力されたログデータL2は、キーAとバリューCとに分割される。そして、入力されたログデータL3は、キーBとバリューXとに分割される。分割された各値は、共通するキーで集約される。その結果、Reduce1には、A:{B,C}とB:{X}とが入力される。このように、本実施例に係るツリー抽出システム1は、分散処理基盤として、自動ソート処理での集約を特徴とするMapReduceを利用する。
図12は、ツリーエッジ抽出処理を更に詳細に説明するための図である。上述のMap1では、ツリーエッジ抽出部22は、図12に示す様に、根を抽出する準備を行う。すなわち、ツリーエッジ抽出部22は、fromとtoとを有するファイル操作ログから、これら双方のファイルをキーとする、キーとバリューとのペアを出力する。例えば、“a to c”の入力があった場合、ログ数が並列化された後、キーとバリューのペア(a:to_c,c:from_a)の双方が出力される。これら2つのペアの値が、キーとバリューとの分割の基本として使用される。すなわち、サーバ装置20−1は、“a:to_c”からは、aには如何なる派生先(子)があるかの判別をすることができ、“c:from_a”からは、cには如何なる派生元(親)があるかの判別が可能である。
図13は、部分木構成処理を更に詳細に説明するための図である。図13に示す様に、部分木構成処理を実行した結果として得られる中間生成物M2は、z:{to_a,to_y}、a:{from_z,to_b,to_c}、b:{from_a}、y:{from_z}、c:{from_a}であり、これらのデータは、キーの昇順または降順にソートされる。したがって、本来は、昇順の場合、a:{from_z,to_b,to_c}、b:{from_a}、c:{from_a}、y:{from_z}、z:{to_a,to_y}の順に出力されることとなるが、図13では、説明の便宜上、根、枝、葉、それ以外の順に図示するものとする。部分木構成部23は、キーとバリューとを用いて、ツリーから、根、枝、葉に相当するデータを生成する。サーバ装置20−1は、ツリーエッジ抽出処理において“from”と“to”との双方をキーとする。これにより、サーバ装置20−1は、部分木構成処理(ソート)を実行した結果、ログデータL1に示される全てのファイルが、ツリーの根、枝、葉の何れに相当するものであるかの判別が可能となる。本実施例では、中間生成物M2の1つであるデータd1(z:{to_a,to_y})が、zを派生元とする、ツリーの根データR1として出力される。また、データd2(a:{from_z,to_b,to_c})が、aを派生元とする、上記ツリーの枝データR2として出力される。更に、データd3(b:{from_a})が、上記ツリーの葉データR3として出力される。
図14は、ツリー抽出準備処理を更に詳細に説明するための図である。ツリー抽出準備部24は、図14に示す様に、ファイル数を並列化する。ツリー抽出準備部24は、上述の部分木構成処理により得られた各データを基に、ログデータL1からツリーを抽出する準備を行う。具体的には、ツリー抽出準備部24は、部分木構成処理による処理結果を判別し、根データR1を、次のプロセスの実行単位(分散単位)とする。また、ツリー抽出準備部24は、枝データR2を、検索用データベースD4に登録する。なお、葉データは、処理負荷の軽減のため棄却し、出力を行わない。その結果、根データR1は、例えば、z:{to_a,to_y}として、ファミリIDと対応付けて出力される。併せて、枝データR2は、例えば、a:{to_b,to_c}として、検索用データベースD4に登録される。
図15は、変形例に係るツリー抽出準備処理を説明するための図である。図15に示す様に、ツリー抽出準備処理では、サーバ装置20−1のツリー抽出準備部24は、データd2から、2つの枝データR2−1,R2−2を出力するものとしてもよい。すなわち、ツリー抽出準備処理の実行により、a:{from_z,to_b,to_c}のデータが出力された場合、ツリー抽出準備部24は、a:{to_b,to_c}の枝データR2−1に加えて、「z:a」の枝データR2−2を、検索用データベースD4に登録するものとしてもよい。なお、ツリー抽出準備処理では、分類されたデータが根に相当するデータであることを示すための情報として、“root”が根データR1に付加される。
図16は、ツリー抽出処理を更に詳細に説明するための図である。図16に示す様に、ツリー抽出処理は、根の個数分並列化されて実行される。ツリー抽出部25は、ツリー抽出準備処理の結果として出力された根毎(ツリー毎)にプロセスを実行し、派生先のファイル名により、検索用データベースD4を再帰検索する。そして、ツリー抽出部25は、ツリー内の全てのファイルF1〜F5に対し、各ファイル(例えば、z、a、y、b、c)が同一のファミリであることを示す識別子として、ファミリID(例えば、100)を割り振る。図17は、変形例に係るツリー抽出処理を説明するための図である。図17に示す様に、サーバ装置20−1は、ツリー抽出部25での処理を行うことなく、部分木構成部23により、枝、根のキーファイルからの派生先を参照することで、根データR1’、枝データR2−1の内、何れのデータが枝データとなるかを判定するものとしてもよい。
図18は、更に別の変形例に係るツリー抽出準備処理を説明するための図である。図18に示す様に、ツリー抽出準備部24は、再帰検索が必要となる派生先に、識別情報(例えば、I_)を付加する。例えば、根データR1’が“z:{a,”root”{to_a,to_y}ファミリID:100}”である場合、重複する派生先には、再帰検索の対象(再帰検索先)であることを示す識別子「I_」が付される。したがって、ツリー抽出準備処理では、根データR4として、“z:{I_a,y}ファミリID:100”が出力される。
ツリー抽出処理においても、識別子「I_」の付されたファイルのみが再帰検索の対象となる。図19は、更に別の変形例に係るツリー抽出処理を説明するための図である。図19に示す様に、ツリー抽出処理は、根の個数分並列化されて実行される。ツリー抽出部25は、ツリー抽出準備処理の結果として出力された根毎(ツリー毎)にプロセスを実行し、派生先のファイル名(例えば、z:{I_a,y})により、検索用データベースD5を再帰検索する。そして、ツリー抽出部25は、ツリー内の全てのファイルF6〜F10に対し、各ファイル(例えば、z、a、y、b、c)が同一のファミリであることを示す識別子として、ファミリID(例えば、100)を割り振る。これにより、再帰検索対象の絞込みが可能となり、根、枝に相当するデータの検索効率が向上する。
以上説明したように、ツリー抽出システム1は、ログ生成装置10−1と、ログ生成装置10−1に接続されたサーバ装置20−1とを有する。ログ生成装置10−1は、ログデータ送信部12を有する。ログデータ送信部12は、サーバ装置20−1からの要求に応じて、サーバ装置20−1に対して、ユーザによるサービス利用の履歴の記録されたログデータを送信する。上記サーバ装置20−1は、ログデータ受信部21とツリーエッジ抽出部22と部分木構成部23とツリー抽出準備部24とツリー抽出部25とを有する。
ログデータ受信部21は、ログ生成装置10−1から送信された、相互に依存関係のある複数のプロセスを有するログデータを受信する。ツリーエッジ抽出部22(Map1)は、相互に依存関係のある複数のプロセス(例えば、商品aを見てから商品cを見た)を有するログデータから、各プロセスで形成される、ツリーのエッジ(例えば、a:to_cとc:from_aの双方)を抽出する。部分木構成部23(ソート)は、抽出された各エッジに共通する第1の値(例えば、キー)と、上記エッジに含まれる、上記第1の値以外の第2の値(例えば、バリュー)とを用いて、上記ツリーを根、枝、葉に分類する際に分類の対象となるデータ(例えば、キーとバリューとから成る5組の集計値)を生成する。ツリー抽出準備部24(Reduce1)は、生成されたデータを用いて、上記根に相当するデータ(例えば、z:{to_a,to_y})と当該根を派生元(ログ)とする枝に相当するデータ(例えば、a:{from_z,to_b,to_c})とに分類することにより、上記ツリーを上記根、上記枝に分類する。ツリー抽出部25(Map2)は、分類されたデータに基づき、上記ログデータから、上記根と当該根の派生先(ログ)である枝とを有するツリーを抽出する。
また、上述のツリー抽出システム1において、上記データは、上記第1の値をキーとして有するものとしてもよい。また、上記データは、当該キーと共に上記エッジを構成し、当該キーにより集約される(括られる)第2の値(例えば、パラメータ)をバリューとして有するものとしてもよい。これにより、ログデータのソート結果として、キーとバリューとによる複数の集計値(例えば、5組)が生成及び出力される。
更に、ツリー抽出準備部24は、上記バリューを用いて、上記キーにより特定されるデータ(例えば、z:{to_a,to_y}、a:{from_z,to_b,to_c}、b:from_a、y:from_z、c:from_a)を、上記ツリーを構成する根、枝、葉の内の何れかに分類するものとしてもよい。ツリー抽出準備部24は、部分木構成部23から入力されるバリューに着目することで、“from_”または“to_”がバリューに含まれるか否かに基づいて、対応するキーの示すファイルがツリーの根、枝、葉の何れとなるかを容易に判別することができる。
また、ツリー抽出準備部24は、部分木構成部23により生成されたデータを、上記根に相当するデータと、当該根を派生元(ログ)とする枝に相当するデータと、当該枝を派生元(ログ)とする葉に相当するデータとに分類する。その上で、ツリー抽出準備部24は、部分木構成部23により生成されたデータから、上記葉に相当するデータを削除する。葉に相当するデータ(例えば、b:from_a)を受信したプロセスでは、葉は、根または枝の何れかから、必ずto_として参照されている。したがって、葉に相当するデータは、ツリー抽出部25に出力する必要は無いものと判断し、ツリー抽出用のデータから削除される。これにより、ツリーの抽出に使用されるデータの重複が回避される。その結果、より効率的なツリー抽出処理が実現される。
すなわち、従来は、サーバ装置は、変更履歴をログから構築する場合、ログの順(時系列)に処理し、注目した情報の関連性を抽出していた。これに対して、サーバ装置20−1は、ログの順序関係には依存せず、ユーザによる「AからBへの操作」といったログ情報を並列処理し、情報の関連性の木構造を高速に構築することができる。これにより、サーバ管理者は、ファイル操作の履歴やWebページの閲覧履歴のログから、情報の関連性の木構造を、容易かつ迅速に参照することができる。したがって、情報漏洩経路の追跡や、Web閲覧のレコメンデーションのための基礎情報の収集が可能となる。
例えば、ファイルを操作するログを考えた場合、ファイルの移動や複写等、ファイルの状態の変化をその操作ログにより再現することができるが、ツリー抽出システム1は、ファイルの操作ログを元に、ファイルの状態遷移をツリー上に表現する。当該ツリーは、ファイルの状態をノードとして形成され、ツリー抽出システム1は、ログを用いてノードの繋がり方を発見することで、ファイルの状態遷移をノードのツリーとして表現する。具体的には、サーバ装置20−1は、並列処理手段を利用して、後述の第1から第3の各処理を実行することで、高速なツリー抽出を可能とする。第1に、サーバ装置20−1は、ログを用いて、ファイルの状態に関し、根、枝、葉の発見を行う処理を並列化する。第2に、サーバ装置20−1は、任意の根に関係するログから葉または枝を発見する処理を並列して実行する。第3に、サーバ装置20−1は、発見されたノードに子ノードが存在する場合には、上記一連の処理を再帰的に繰り返す。また、追加機能として、ツリー抽出システム1は、再帰検索を行う際、孫派生のある派生先のみを検索するような改善を図り、データベースへのアクセスを削減することで高速化を実現する。これにより、再帰検索のコストが軽減される。更に、サーバ装置20−1は、出力されるツリーに対して固有のIDを付与することで、差分のログに含まれる部分ツリー(部分木)の抽出を行い、本来のツリーへ部分ツリーを追加することができる。
上述した様に、ツリー抽出システム1は、大量のデータに含まれる、ツリー構造となる依存関係を抽出し、その依存関係を、トレースやレコメンデーションに利用可能とする。ツリー抽出システム1の適用例として、例えば、ユーザの操作ログに基づき、次の操作をユーザに提案するレコメンデーションがある。具体的には、ツリー抽出システム1は、多数のユーザから収集された操作履歴を基に構築された一般的な操作のツリーに、現在操作しているユーザの操作履歴を当てはめる。そして、ツリー抽出システム1は、一般的な操作ツリーにおけるユーザの状態に基づき、後続する可能性の高い操作を予測し、その操作をユーザに提案する。
[ツリー抽出プログラム]
図20は、ツリー抽出プログラムによる情報処理がコンピュータ100を用いて具体的に実現されることを示す図である。図20に例示するように、コンピュータ100は、例えば、メモリ101と、CPU102と、ハードディスクドライブインタフェース103と、ディスクドライブインタフェース104と、シリアルポートインタフェース105と、ビデオアダプタ106と、ネットワークインタフェース107とを有し、これらの各部はバスBによって接続される。
メモリ101は、図20に例示するように、ROM(Read Only Memory)101a及びRAM(Random Access Memory)101bを含む。ROM101aは、例えば、BIOS(Basic Input Output System)等のブートプログラムを記憶する。ハードディスクドライブインタフェース103は、図20に例示するように、ハードディスクドライブ108に接続される。ディスクドライブインタフェース104は、図20に例示するように、ディスクドライブ109に接続される。例えば磁気ディスクや光ディスク等の着脱可能な記憶媒体が、ディスクドライブ109に挿入される。シリアルポートインタフェース105は、図20に例示するように、例えばマウス110、キーボード111に接続される。ビデオアダプタ106は、図20に例示するように、例えばディスプレイ112に接続される。
ここで、図20に例示するように、ハードディスクドライブ108は、例えば、OS(Operating System)108a、アプリケーションプログラム108b、プログラムモジュール108c、プログラムデータ108dを記憶する。すなわち、開示の実施例に係るツリー抽出プログラムは、コンピュータ100によって実行される指令が記述されたプログラムモジュール108cとして、例えばハードディスクドライブ108に記憶される。具体的には、上記実施例で説明したログデータ生成部11、ログデータ送信部12、ログデータ受信部21、ツリーエッジ抽出部22、部分木構成部23、ツリー抽出準備部24、及びツリー抽出部25と同様の情報処理を実行する各種手順が記述されたプログラムモジュール108cが、ハードディスクドライブ108に記憶される。また、ツリー抽出プログラムによる情報処理に用いられるデータは、プログラムデータ108dとして、例えばハードディスクドライブ108に記憶される。そして、CPU102が、ハードディスクドライブ108に記憶されたプログラムモジュール108cやプログラムデータ108dを、必要に応じてRAM101bに読み出し、上記各種手順を実行する。
なお、ツリー抽出プログラムに係るプログラムモジュール108cやプログラムデータ108dは、ハードディスクドライブ108に記憶される場合に限られず、例えば着脱可能な記憶媒体に記憶され、ディスクドライブ109等を介してCPU102によって読み出されてもよい。あるいは、ツリー抽出プログラムに係るプログラムモジュール108cやプログラムデータ108dは、ネットワーク(LAN(Local Area Network)、WAN(Wide Area Network)等)を介して接続された他のコンピュータに記憶され、ネットワークインタフェース107を介してCPU102によって読み出されてもよい。
図21は、コンピュータ100のROM101aに格納される各種プログラムを示す図である。図21に示す様に、ROM101aには、オペレーティングシステム101c、及び上述したツリー抽出プログラム101eの他に、Hadoopプログラム101d及びHBaseプログラム101fが格納される。
Hadoopプログラム101dは、ログデータの保存やツリー抽出プログラムの入出力に利用される分散ファイルシステムの管理プログラム(NameNode)を有する。この管理プログラムは、ツリー抽出システム1を構成する複数のサーバ装置20−1、20−2、20−3、・・・、20−nの内、1台のサーバ装置20−1のみが実行する。また、Hadoopプログラム101dは、上記分散ファイルシステムのデータ保存や応答を行うプログラム(DataNode)を有する。このプログラムは、ツリー抽出システム1を構成する全てのサーバ装置20−1、20−2、20−3、・・・、20−nにおいて実行される。上記DataNodeを実行する各サーバ装置は、上記NameNodeからの要求に応じて、データの読出しや書込みの処理を行う。更に、Hadoopプログラム101dは、ツリー抽出プログラム101eの実行に際して、各プロセスの並列分散実行を管理するプログラム(JobTracker)を有する。このプログラムは、ツリー抽出システム1を構成する複数のサーバ装置20−1、20−2、20−3、・・・、20−nの内、1台のサーバ装置20−1のみが実行する。また、Hadoopプログラム101dは、ツリー抽出プログラム101eの実行に際して、各処理プロセスを実行するプログラム(TaskTracker)を有する。このプログラムは、ツリー抽出システム1を構成する全てのサーバ装置20−1、20−2、20−3、・・・、20−nにおいて実行される。上記TaskTrackerを実行する各サーバ装置は、上記JobTrackerから要求された処理を実行する。
HBaseプログラム101fは、ツリー抽出処理に際して、複数台のサーバ装置20−1、20−2、20−3、・・・、20−nにて実行可能なデータベース管理プログラム(HBase Master Server)を有する。また、HBaseプログラム101fは、複数台のサーバ装置にて実行可能なデータベース処理プログラム(HBase Reasion Server)を有する。上記HBase Reasion Serverを実行する各サーバ装置は、上記HBase Master Serverから、データ検索要求に対して応答すべきキー値の割り振りを受け取り、該当するキー値に対応するデータの検索や登録等の処理を実行する。更に、HBaseプログラム101fは、ツリー抽出処理に際して、複数台のサーバ装置にて実行可能なデータ保管プログラム(Zookeeper)を有する。Zookeeperを実行する各サーバ装置は、マスターの解決あるいは設定の統一のための参照データを保管する。
また、上述したログ生成装置及びサーバ装置の各構成要素は、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的態様は、図示のものに限らず、その全部又は一部を、各種の負荷や使用状況等に応じて、任意の単位で機能的又は物理的に分散・統合して構成することもできる。例えば、ツリー抽出準備部24とツリー抽出部25とを1つの構成要素として統合してもよい。反対に、ツリー抽出準備部24に関し、各プロセスで形成される、ツリーを構成するデータを根、枝、葉に分類する部分と、キーとバリューとから成る集計値を用いて、根、枝、葉に相当するデータをデータベースに登録する部分とに分散してもよい。更に、ハードディスクドライブ108を、サーバ装置20−1の外部装置としてネットワークやケーブル経由で接続するようにしてもよい。
1 ツリー抽出システム
10−1、10−2、10−3、・・・、10−n ログ生成装置
11 ログデータ生成部
12 ログデータ送信部
20−1、20−2、20−3、・・・、20−n サーバ装置
20a 第1MapReduce部
20b 第2MapReduce部
21 ログデータ受信部
22 ツリーエッジ抽出部
22a Map1
23 部分木構成部
23a ソート
24 ツリー抽出準備部
24a Reduce1
25 ツリー抽出部
25a Map2
100 コンピュータ
101 メモリ
101a ROM
101b RAM
101c オペレーティングシステム
101d Hadoopプログラム
101e ツリー抽出プログラム
101f HBaseプログラム
102 CPU
103 ハードディスクドライブインタフェース
104 ディスクドライブインタフェース
105 シリアルポートインタフェース
106 ビデオアダプタ
107 ネットワークインタフェース
108 ハードディスクドライブ
108a OS
108b アプリケーションプログラム
108c プログラムモジュール
108d プログラムデータ
109 ディスクドライブ
110 マウス
111 キーボード
112 ディスプレイ
A1 一次データベース
A2 二次データベース
A3 出力ファイル
A4 トレーステーブル
B バス
D1 根情報データベース
D2 枝情報データベース
D3 ツリー情報データベース
D4、D5 検索用データベース
d1、d2、d3、d4、d5 データ
F1、F2、F3、F4、F5、F6、F7、F8、F9、F10 ファイル
L1、L2、L3、L4 ログデータ
M1、M2 中間生成物
N ネットワーク
R1、R1’、R4 根データ
R2、R2−1、R2−2、R5 枝データ
R3 葉データ
T1 ツリー

Claims (7)

  1. 相互に依存関係のある複数のプロセスを有するログデータから、各プロセスで形成される、ツリーのエッジを抽出する抽出部と、
    前記抽出部により抽出された各エッジに共通する第1の値と、前記エッジに含まれる、前記第1の値以外の第2の値とを用いて、分類の対象となるデータを生成する生成部と、
    前記生成部により生成されたデータを、根に相当するデータと当該根を派生元とする枝に相当するデータとに分類することにより、前記ツリーを前記根、前記枝に分類する分類部と、
    前記分類部により分類されたデータに基づき、前記ログデータから、前記根と当該根の派生先である枝とを有するツリーを抽出する抽出部と
    を有することを特徴とするツリー抽出装置。
  2. 前記データは、前記第1の値をキーとして有すると共に、当該キーと共に前記エッジを構成し、当該キーにより集約される第2の値をバリューとして有することを特徴とする請求項1に記載のツリー抽出装置。
  3. 前記分類部は、前記バリューを用いて、前記キーにより特定されるデータを、前記ツリーを構成する根、枝、葉の内の何れかに分類することを特徴とする請求項2に記載のツリー抽出装置。
  4. 前記分類部は、前記生成部により生成されたデータを、前記根に相当するデータと、当該根を派生元とする枝に相当するデータと、当該枝を派生元とする葉に相当するデータとに分類すると共に、前記生成部により生成されたデータから、前記葉に相当するデータを削除することを特徴とする請求項1に記載のツリー抽出装置。
  5. ログ生成装置と、該ログ生成装置に接続されたツリー抽出装置とを有するツリー抽出システムであって、
    前記ログ生成装置は、
    前記ツリー抽出装置からの要求に応じて、前記ツリー抽出装置に対して、ユーザによるサービス利用の履歴の記録されたログデータを送信する送信部を有し、
    前記ツリー抽出装置は、
    前記ログ生成装置から送信された、相互に依存関係のある複数のプロセスを有するログデータを受信する受信部と、
    前記受信部により受信されたログデータから、各プロセスで形成される、ツリーのエッジを抽出する抽出部と、
    前記抽出部により抽出された各エッジに共通する第1の値と、前記エッジに含まれる、前記第1の値以外の第2の値とを用いて、分類の対象となるデータを生成する生成部と、
    前記生成部により生成されたデータを、根に相当するデータと当該根を派生元とする枝に相当するデータとに分類することにより、前記ツリーを前記根、前記枝に分類する分類部と、
    前記分類部により分類されたデータに基づき、前記ログデータから、前記根と当該根の派生先である枝とを有するツリーを抽出する抽出部と
    を有するツリー抽出システム。
  6. ツリー抽出装置が、
    相互に依存関係のある複数のプロセスを有するログデータから、各プロセスで形成される、ツリーのエッジを抽出する抽出工程と、
    前記抽出工程にて抽出された各エッジに共通する第1の値と、前記エッジに含まれる、前記第1の値以外の第2の値とを用いて、分類の対象となるデータを生成する生成工程と、
    前記生成工程にて生成されたデータを、根に相当するデータと当該根を派生元とする枝に相当するデータとに分類することにより、前記ツリーを前記根、前記枝に分類する分類工程と、
    前記分類工程にて分類されたデータに基づき、前記ログデータから、前記根と当該根の派生先である枝とを有するツリーを抽出する抽出工程と
    を含むことを特徴とするツリー抽出方法。
  7. 相互に依存関係のある複数のプロセスを有するログデータから、各プロセスで形成される、ツリーのエッジを抽出する抽出ステップと、
    前記抽出ステップにて抽出された各エッジに共通する第1の値と、前記エッジに含まれる、前記第1の値以外の第2の値とを用いて、分類の対象となるデータを生成する生成ステップと、
    前記生成ステップにて生成されたデータを、根に相当するデータと当該根を派生元とする枝に相当するデータとに分類することにより、前記ツリーを前記根、前記枝に分類する分類ステップと、
    前記分類ステップにて分類されたデータに基づき、前記ログデータから、前記根と当該根の派生先である枝とを有するツリーを抽出する抽出ステップと
    をコンピュータに実行させるためのツリー抽出プログラム。
JP2012023243A 2012-02-06 2012-02-06 ツリー抽出装置、ツリー抽出システム、ツリー抽出方法、及びツリー抽出プログラム Active JP5411954B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2012023243A JP5411954B2 (ja) 2012-02-06 2012-02-06 ツリー抽出装置、ツリー抽出システム、ツリー抽出方法、及びツリー抽出プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012023243A JP5411954B2 (ja) 2012-02-06 2012-02-06 ツリー抽出装置、ツリー抽出システム、ツリー抽出方法、及びツリー抽出プログラム

Publications (2)

Publication Number Publication Date
JP2013161288A JP2013161288A (ja) 2013-08-19
JP5411954B2 true JP5411954B2 (ja) 2014-02-12

Family

ID=49173471

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012023243A Active JP5411954B2 (ja) 2012-02-06 2012-02-06 ツリー抽出装置、ツリー抽出システム、ツリー抽出方法、及びツリー抽出プログラム

Country Status (1)

Country Link
JP (1) JP5411954B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6577241B2 (ja) * 2015-05-21 2019-09-18 日本電信電話株式会社 ログ抽出システム、ログ抽出方法およびログ抽出プログラム

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010055483A (ja) * 2008-08-29 2010-03-11 Fujitsu Ltd 情報再取得手順生成プログラム及び情報再取得手順生成装置

Also Published As

Publication number Publication date
JP2013161288A (ja) 2013-08-19

Similar Documents

Publication Publication Date Title
Fan et al. Distributed graph simulation: Impossibility and possibility
US11204707B2 (en) Scalable binning for big data deduplication
JP5800720B2 (ja) 情報処理装置及び情報処理方法及びプログラム
JP5939123B2 (ja) 実行制御プログラム、実行制御方法および情報処理装置
US20180253653A1 (en) Rich entities for knowledge bases
JP5844895B2 (ja) データの分散検索システム、データの分散検索方法及び管理計算機
Belcastro et al. ParSoDA: high-level parallel programming for social data mining
KR20200076845A (ko) 악성코드 분석 시스템 및 그 시스템의 동작 방법
Arenas et al. A framework for annotating CSV-like data
Achichi et al. Automatic key selection for data linking
Thacker et al. Performance of elasticsearch in cloud environment with ngram and non-ngram indexing
JP5411954B2 (ja) ツリー抽出装置、ツリー抽出システム、ツリー抽出方法、及びツリー抽出プログラム
Belcastro et al. A parallel library for social media analytics
WO2022224597A1 (ja) 設備id推論方法および設備id推論装置
Nguyen-Van et al. Minimizing data transfers for regular reachability queries on distributed graphs
JP5659880B2 (ja) 処理装置、分散処理システム、及び処理プログラム
Zhu et al. Customized organization of social media contents using focused topic hierarchy
Gong et al. Cb-cloudle: A centroid-based cloud service search engine
JP7211255B2 (ja) 検索処理プログラム、検索処理方法及び情報処理装置
US20150286700A1 (en) Recording medium having stored thereon database access control program, method for controlling database access, and information processing apparatus
JP6631139B2 (ja) 検索制御プログラム、検索制御方法および検索サーバ装置
JP6802109B2 (ja) ソフトウェア仕様分析装置、及びソフトウェア仕様分析方法
Wang et al. A parallel implementation of idea graph to extract rare chances from big data
JP2009070206A (ja) データ検索システムおよびデータ検索方法ならびにデータ検索装置,検索実行者端末およびプログラム
Wang Clustering in the Cloud: Clustring Algorithms to Hadoop Map/Reduce Framework

Legal Events

Date Code Title Description
TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20131105

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20131108

R150 Certificate of patent or registration of utility model

Ref document number: 5411954

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350