JP2010009156A - 情報処理装置及び情報処理プログラム - Google Patents

情報処理装置及び情報処理プログラム Download PDF

Info

Publication number
JP2010009156A
JP2010009156A JP2008165216A JP2008165216A JP2010009156A JP 2010009156 A JP2010009156 A JP 2010009156A JP 2008165216 A JP2008165216 A JP 2008165216A JP 2008165216 A JP2008165216 A JP 2008165216A JP 2010009156 A JP2010009156 A JP 2010009156A
Authority
JP
Japan
Prior art keywords
pattern
candidate
node
searching
expansion
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.)
Granted
Application number
JP2008165216A
Other languages
English (en)
Other versions
JP4935768B2 (ja
Inventor
Kazutaka Hayashi
千登 林
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.)
Fujifilm Business Innovation Corp
Original Assignee
Fuji Xerox Co 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 Fuji Xerox Co Ltd filed Critical Fuji Xerox Co Ltd
Priority to JP2008165216A priority Critical patent/JP4935768B2/ja
Publication of JP2010009156A publication Critical patent/JP2010009156A/ja
Application granted granted Critical
Publication of JP4935768B2 publication Critical patent/JP4935768B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

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

Abstract

【課題】複数の木構造内で複数回現れるパターンの探索を行う場合において、存在しない枝を探索してしまう無駄な処理を削減するようにした情報処理装置を提供する。
【解決手段】情報処理装置のパターン探索手段は、パターンの候補に複数の木構造内で複数回現れるラベルのノードを追加して、該パターンの候補を伸張することによって、該複数の木構造内で複数回現れるパターンの探索を行い、伸張候補探索手段は、前記パターン探索手段によって伸張される前記パターンの候補のノードの候補を探索し、伸張候補検出判定手段は、前記伸張候補探索手段によって探索されたノードの伸張候補の発見可能性を判定し、判定結果保持手段は、前記伸張候補検出判定手段によって判定された伸張候補の発見可能性を保持し、前記パターン探索手段は、前記判定結果保持手段に保持された発見可能性の判定結果を用いて、パターンの探索を行う。
【選択図】図1

Description

本発明は、情報処理装置及び情報処理プログラムに関する。
コンピュータの処理能力、記憶装置の容量の飛躍的な増大に加え、IT化やネットワーク化が進んだことで大量な情報が容易に集められるようになってきた。集めた情報から市場機会やリスクに関する情報を早期に発見したり、隠れた知識を発見したりすることへの期待が高まっている。
しかし、集めた情報の量はしばしば人間の処理能力をはるかに超えるものとなる。このため、せっかく大量に集めた情報からリスクを発見したり、知識を抽出したりして活用することは実際には労力を伴う難しいものであった。
一方、パターン・マイニング等の技術の進展により、そのような大量の情報の中から例えば同時に購入される商品のパターンなどの情報が抽出可能となってきた。同時に購入される品物のパターンや購入される順序のパターンを抽出する技術が顧客の購買行動の分析などの需要から注目を集めて研究開発されてきたが、最近ではさまざまな情報の構造化、半構造化が進んできたこともあり、木構造のような構造を持つパターンを抽出するパターン・マイニングの技術が注目されてきている。構造情報を抽出するパターン・マイニングの技術の中でも、特に木構造はXML(eXtensible Markup Language)をはじめとしてドキュメントの構造化や知識表現などさまざまな情報の構造化に用いられるためパターン抽出への期待も大きい。
木構造のデータ群から部分木のパターンを抽出する技術には大きく分けて、親子関係が厳密に一致する構造だけを抽出するinduced subtree miningの技術と、親子関係が多少乱れても先祖―子孫の関係があれば構造を抽出するembedded subTree miningの技術がある。
現実社会で発生するデータ、例えば電子文書であるドキュメントの操作履歴などのように人の操作を記録したものでは、たとえ同じ内容の作業を行っても、作業者の操作順などが厳密には一致しないため操作の履歴データの親子関係が厳密に一致することは期待できない。このため、そのようなデータからパターンを抽出するためには、親子関係に揺れが生じたとしてもパターンが抽出できるembedded subTree miningの技術を適用することが望ましい。また、人の操作の記録だけではなく、情報を整理した木構造データのようなものからも埋め込まれている隠れた構造を抽出するためには同様にembedded subTree miningを用いる必要がある。
embedded subTree miningを実現する従来の技術として、例えばTreeMiner、Dryade、MB3−miner、TRIPS、PrefixTreeESpanなどの技術が開示されている。
これらに関連する技術として、例えば、特許文献1には、データの集合からその中に含まれる重要なパターンを検出する方法及びシステムを提供することを課題とし、木構造データで表されたデータ集合を含むデータベースから、集計対象となる候補パターンを用いて、頻出パターンを検出するシステムであって、(1)データベースから候補パターンにマッチするパターンを集計する手段と、(2)前記集計により出現頻度の高いパターンを検出する手段と、(3)前記検出したパターンから、次の集計対象となる候補パターンを生成する手段と、を有するように構成することが開示されている。
また、例えば、特許文献2には、順序木において頻出するパターンを抽出するのに好適な抽出装置等を提供することを課題とし、抽出装置の入力受付部は、一つ以上の順序木の入力を受け付け、変換部は、入力が受け付けられた順序木のそれぞれを系列表現へ変換し、抽出部は、変換された系列表現のそれぞれが含むパターンのうち、所定の頻度以上で出現するパターンを抽出し、系列表現は、順序木を深さ優先探索して、枝を進む際に通過する節はその名前を表すマークを、枝を戻る際はバックトラックマークを、それぞれ並べることによりでき、パターンは、系列表現であるマークの列中の名前を表すマークのいずれかを最初のマークとして、これから射影を0回以上繰り返したときに、最初のマークから最後のマークに至るまでに出会うマークの列をいい、射影が成立するか否かは、マークの列の列文脈と、射影文脈の値により判定することが開示されている。
特開2001−134575号公報 特開2004−355457号公報
本発明は、複数の木構造内で複数回現れるパターンの探索を行う場合において、存在しない枝を探索してしまう無駄な処理を削減するようにした情報処理装置及び情報処理プログラムを提供することを目的としている。
かかる目的を達成するための本発明の要旨とするところは、次の各項の発明に存する。
請求項1の発明は、パターンの候補に複数の木構造内で複数回現れるラベルのノードを追加して、該パターンの候補を伸張することによって、該複数の木構造内で複数回現れるパターンの探索を行うパターン探索手段と、前記パターン探索手段によって伸張される前記パターンの候補のノードの候補を探索する伸張候補探索手段と、前記伸張候補探索手段によって探索されたノードの伸張候補の発見可能性を判定する伸張候補検出判定手段と、前記伸張候補検出判定手段によって判定された伸張候補の発見可能性を保持する判定結果保持手段を具備し、前記パターン探索手段は、前記判定結果保持手段に保持された発見可能性の判定結果を用いて、パターンの探索を行うことを特徴とする情報処理装置である。
請求項2の発明は、パターンの候補に複数の木構造内で複数回現れるラベルのノードを追加して、該パターンの候補を伸張することによって、該複数の木構造内で複数回現れるパターンの探索を行うパターン探索手段と、前記パターン探索手段によって伸張される前記パターンの候補のノードの候補を探索する伸張候補探索手段と、前記伸張候補探索手段によって探索されたノードの伸張候補の発見可能性を判定する伸張候補検出判定手段と、前記伸張候補検出判定手段によって判定された伸張候補の発見可能性を、前記パターンの候補が出現する木構造ごとに保持する判定結果保持手段を具備し、前記パターン探索手段は、前記判定結果保持手段に保持された発見可能性の判定結果を用いて、パターンの探索を行うことを特徴とする情報処理装置である。
請求項3の発明は、前記伸張候補検出判定手段は、前記パターンの候補上のノードに新たに追加する子ノードの候補がなかったときに、発見可能性を無しと判定することを特徴とする請求項1又は2に記載の情報処理装置である。
請求項4の発明は、前記伸張候補検出判定手段は、前記パターンの候補上のリーフノードに子ノードとして複数の候補がある、又は、一つ候補があり各木構造に出現箇所が複数あるものが予め指定された数以上あるときに、発見可能性をありと判定することを特徴とする請求項1から3のいずれか一項に記載の情報処理装置である。
請求項5の発明は、前記伸張候補探索手段は、ノードの候補の探索をより上位のノードから行い、下位のノードでの処理は、上位のノードの探索によって更新された発見可能性の判定結果を利用して探索を行うことを特徴とする請求項1から4のいずれか一項に記載の情報処理装置である。
請求項6の発明は、コンピュータを、パターンの候補に複数の木構造内で複数回現れるラベルのノードを追加して、該パターンの候補を伸張することによって、該複数の木構造内で複数回現れるパターンの探索を行うパターン探索手段と、前記パターン探索手段によって伸張される前記パターンの候補のノードの候補を探索する伸張候補探索手段と、前記伸張候補探索手段によって探索されたノードの伸張候補の発見可能性を判定する伸張候補検出判定手段と、前記伸張候補検出判定手段によって判定された伸張候補の発見可能性を保持する判定結果保持手段として機能させ、前記パターン探索手段は、前記判定結果保持手段に保持された発見可能性の判定結果を用いて、パターンの探索を行うことを特徴とする情報処理プログラムである。
請求項7の発明は、コンピュータを、パターンの候補に複数の木構造内で複数回現れるラベルのノードを追加して、該パターンの候補を伸張することによって、該複数の木構造内で複数回現れるパターンの探索を行うパターン探索手段と、前記パターン探索手段によって伸張される前記パターンの候補のノードの候補を探索する伸張候補探索手段と、前記伸張候補探索手段によって探索されたノードの伸張候補の発見可能性を判定する伸張候補検出判定手段と、前記伸張候補検出判定手段によって判定された伸張候補の発見可能性を、前記パターンの候補が出現する木構造ごとに保持する判定結果保持手段として機能させ、前記パターン探索手段は、前記判定結果保持手段に保持された発見可能性の判定結果を用いて、パターンの探索を行うことを特徴とする情報処理プログラムである。
請求項1記載の情報処理装置によれば、複数の木構造内で複数回現れるパターンの探索を行う場合において、存在しない枝を探索してしまう無駄な処理を削減することができる。
請求項2記載の情報処理装置によれば、複数の木構造内で複数回現れるパターンの探索を行う場合において、存在しない枝を探索してしまう無駄な処理を削減することができる。
請求項3記載の情報処理装置によれば、兄弟のノードを探索する場合に、存在しない枝を探索してしまう無駄な処理を削減することができる。
請求項4記載の情報処理装置によれば、子孫のノードを探索する場合に、存在しない枝を探索してしまう無駄な処理を削減することができる。
請求項5記載の情報処理装置によれば、本構成を有していない場合に比較して、より効率よくパターンの探索を行うことができる。
請求項6記載の情報処理プログラムによれば、複数の木構造内で複数回現れるパターンの探索を行う場合において、存在しない枝を探索してしまう無駄な処理を削減することができる。
請求項7記載の情報処理プログラムによれば、複数の木構造内で複数回現れるパターンの探索を行う場合において、存在しない枝を探索してしまう無駄な処理を削減することができる。
まず、前述のembedded subTree miningと、それを実現する従来の技術であるTreeMiner、Dryade、MB3−Miner、TRIPS、PrefixTreeESpanの技術について説明する。
embedded subTree miningは、induced subtree miningよりもパターンの抽出能力が高い反面、必要となる処理もメモリ量も膨大となるため、高価な計算リソースが必要となりさらにはそのような計算リソースを投入しても意味のあるパターンを抽出する前に処理が続行不可能となってしまう事態も珍しくなかった。
従来技術のうち、Dryadeは、出現数の同じ場合にはより大きなパターンだけを出力するというclosed patternの抽出を実現するが、兄弟ノードに同じものを含めないという機能制限があり、そのような場面が頻出するドキュメントの操作履歴などの多くの現実のデータからのパターンの抽出には適さなかった。
MB3−Minerは、同じ数のノードを含むパターン全てを使って、もう一つノードの数が多いパターンを求めるという横型探索の方法を採用している。embedded subtree miningではパターンの数は膨大なものとなるので、MB3−Minerでは現実的な計算リソースを用いて抽出できるパターンの大きさが制限を受けてしまう。
TreeMiner、TRIPSは、見つけたパターン中の一つのリーフノードからルートノードにいたるパス上のノードに一つの新しいノードを加えたパターンを探すことを繰り返して頻出パターンの探索を実行する。これらはツリーデータの各ノードを深さ優先探索で辿って系列データとみなしたデータを用いて処理を行い、前記の選んだリーフノードよりその系列データ上で後ろにあるノードを調べることで次にパターンに加えるノードを探索する。
しかし、パターン上のあるノードに対して新たな子供ノードとして加えることができるノードはembedded subtree miningの場合にはinduced subtree miningの場合に比べて格段に多くなってしまう上、パターンが大きくなって前記のリーフノードからルートノードにいたるパスが長くなってくると、一つのパス上のノードに付け加えられる可能性のあるノードの種類は膨大なものになってしまう。
さらに、パターンを伸張しながら探索していくパターン抽出処理は、再帰的に繰り返し実行される。このため、繰り返し処理が行われるたびに、パス上のノードに付け加えられる可能性のあるノードの種類と出現場所等の膨大な量の情報を、スタックのような記憶部に保存を重ねたまま処理が進んでいくことになる。このため、膨大なメモリ量を必要とすることになり、現実的な計算機の環境下では大きなパターンの抽出処理が行えないという問題が生じていた。
これに対して、PrefixTreeESpanではパターンを伸張するパス上の各ノードごとに、伸張した場合の射影データベースを作成して抽出処理を行っていく方法をとっている。これにより、前記の問題は緩和される。
しかし、パターンを伸張するパス上の各ノードごとに、その箇所から伸張できるノードを探索する処理が必要となってしまう。すなわち、パターン上の指定されたノードの子供ノードとなりえるツリーデータ内の特定の位置に出現する頻出ラベルを見つける必要が生じることになる。この処理は相応の負荷がかかる処理となる。
そして、例えば全てのツリーデータが枝の無い長い一本のパスからなっていたような場合にも、各パターンのパス上の各ノードについてパターン上で枝が生じる可能性があるノードを探索することを繰り返す必要が生じてしまい、膨大な回数の無駄な処理が発生してしまう。この無駄な処理は枝の全く無いデータのみで生じるのではなく、ある程度構造が決まっているツリーでも、例えば特定のラベルのノードが出現したあとは兄弟ノードは絶対に生じないというような場合にもこの無駄が発生する。すなわち、ありえない枝を探索する無駄な処理が生じる。
本実施の形態は、ツリーの分布に偏りがあるようなツリーデータを対象としたような場合であっても、前述した無駄な処理を削減して効率的にembedded subtree miningを実現するものである。
以下、図面に基づき本発明を実現するにあたっての好適な一実施の形態の例を説明する。
図1は、本実施の形態の構成例についての概念的なモジュール構成図を示している。
なお、モジュールとは、一般的に論理的に分離可能なソフトウェア(コンピュータ・プログラム)、ハードウェア等の部品を指す。したがって、本実施の形態におけるモジュールはコンピュータ・プログラムにおけるモジュールのことだけでなく、ハードウェア構成におけるモジュールも指す。それゆえ、本実施の形態は、コンピュータ・プログラム、システム及び方法の説明をも兼ねている。ただし、説明の都合上、「記憶する」、「記憶させる」、これらと同等の文言を用いるが、これらの文言は、実施の形態がコンピュータ・プログラムの場合は、記憶装置に記憶させる、又は記憶装置に記憶させるように制御するの意である。また、モジュールは機能にほぼ一対一に対応しているが、実装においては、1モジュールを1プログラムで構成してもよいし、複数モジュールを1プログラムで構成してもよく、逆に1モジュールを複数プログラムで構成してもよい。また、複数モジュールは1コンピュータによって実行されてもよいし、分散又は並列環境におけるコンピュータによって1モジュールが複数コンピュータで実行されてもよい。なお、一つのモジュールに他のモジュールが含まれていてもよい。また、以下、「接続」とは物理的な接続の他、論理的な接続(データの授受、指示、データ間の参照関係等)の場合にも用いる。
また、システム又は装置とは、複数のコンピュータ、ハードウェア、装置等がネットワーク(一対一対応の通信接続を含む)等の通信手段で接続されて構成されるほか、一つのコンピュータ、ハードウェア、装置等によって実現される場合も含まれる。「装置」と「システム」とは、互いに同義の用語として用いる。「所定」という用語は、予め定められたの意の他に、そのときの状況・状態に応じて、又はそれまでの状況・状態に応じての意を含めて用いる。
本実施の形態は、図1に示すように、データ入力モジュール110、データ保持モジュール120、パターン伸張候補探索モジュール130、伸張候補検出判定モジュール140、パターン探索モジュール150、出力モジュール160を有している。
データ入力モジュール110は、データ保持モジュール120と接続されており、図示しない入力装置から木構造情報を含むデータ又は木構造に構成できる情報を含むデータを受け取り、その受け取った木構造データを本実施の形態による処理に適した形式のデータに変換してデータ保持モジュール120に送る。
データ保持モジュール120は、データ入力モジュール110、パターン伸張候補探索モジュール130と接続されており、データ入力モジュール110から木構造データや付随した情報を受け取り保持する。また、パターン伸張候補探索モジュール130の要求に応えてツリーデータに関する情報(以下、単にツリーデータともいう)を返す。
パターン伸張候補探索モジュール130は、データ保持モジュール120、伸張候補検出判定モジュール140、パターン探索モジュール150と接続されており、パターン探索モジュール150の指示に従って所定の条件にあうパターン伸張候補の探索を、データ保持モジュール120と通信して行う。この結果をパターン探索モジュール150に返すと共に、伸張候補検出判定モジュール140に送信し、また、データ保持モジュール120に保持させる。つまり、パターン伸張候補探索モジュール130は、パターン探索モジュール150によって伸張されるパターン候補(以下、単にパターンともいう)のノード候補を探索する。ここで伸張とは、現在のパターン候補内のあるノードから別のノードへの枝を発生させることであり、その伸張によってパターン候補は新たなパターン候補になる。また、ノード候補の探索をより上位のノードから行い、下位のノードでの処理は、上位のノードの探索によって更新された発見可能性の判定結果を利用して探索を行うようにしてもよい。
伸張候補検出判定モジュール140は、パターン伸張候補探索モジュール130、パターン探索モジュール150と接続されており、パターン伸張候補探索モジュール130からの情報を受け付けて、パターン探索モジュール150が指定した条件にて伸張候補が検出できるか否かを判定し、図示しない記憶装置にその判定結果を記憶し、パターン探索モジュール150にその記憶手段へアクセスするための情報を送信する。
つまり、伸張候補検出判定モジュール140は、パターン伸張候補探索モジュール130によって探索されたノードの伸張候補の発見可能性を判定する。ここで発見可能性とは、対象としているノードにおいて、伸張可能なものであるか否かを示すものであり、具体的には、2値(伸張可能、伸張不可能)を示す符号、その中間値を表す数値等であってもよい。ここでの記憶装置は、伸張候補検出判定モジュール140によって判定された伸張候補の発見可能性を保持する。また、その記憶装置は、伸張候補検出判定モジュール140によって判定された伸張候補の発見可能性を、パターン候補が出現するツリーデータごとに保持するようにしてもよい。
例えば、伸張候補検出判定モジュール140は、兄弟ノードに対する判定処理として、パターン候補上のノードに新たに追加する子ノードの候補がなかったときに、発見可能性を無しと判定する。そして、他の場合には発見可能性をありと判定する。また、伸張候補検出判定モジュール140は、子孫ノードに対する判定処理として、パターン候補上のリーフノードに子ノードとして複数の候補がある、または一つ候補があり各ツリーデータに出現箇所が複数あるものが予め指定された数以上あるときに、発見可能性をありと判定する。そして、他の場合には発見可能性を無しと判定する。
パターン探索モジュール150は、パターン伸張候補探索モジュール130、伸張候補検出判定モジュール140、出力モジュール160と接続されており、パターン伸張候補探索モジュール130を制御してパターンを抽出して、抽出したパターンを出力モジュール160に送信する。この過程で、伸張候補検出判定モジュール140から受け取った情報をもとに、処理中のパターンの伸張箇所での伸張候補の検出可能性の情報を参照し、パターン伸張候補探索モジュール130の起動の有無を制御する。つまり、パターン探索モジュール150は、パターン候補に複数のツリーデータ内で複数回現れるラベルのノードを追加して、そのパターン候補を伸張することによって、その複数のツリーデータ内で複数回現れるパターンの探索を行う。そして、伸張候補検出判定モジュール140の記憶装置に保持された発見可能性の判定結果を用いて、パターンの探索を行う。
出力モジュール160は、パターン探索モジュール150と接続されており、パターン探索モジュール150から受け取ったパターン情報を出力する。この出力は可視化やテキスト化などの整形を経て、ディスプレイ装置や印刷装置等に送る場合もあるが、予め定めたフォーマットに必要なら整形してファイルやデータベース等に格納してもよい。
図2は、本実施の形態による処理例を示したフローチャートである。
処理を開始すると、頻出ラベルを列挙する(ステップS202)。つまり、データ保持モジュール120内の複数のツリーデータから頻出ラベルを捜索する。
そして、頻出ラベルのうち、未処理ラベルがなくなれば(ステップS204でn)、処理が終了する(ステップS299)。
未処理の頻出ラベルがあれば(ステップS204でy)、それらのうちから一つを選んで(ステップS206)、パターンを作成する(ステップS208)。最初におけるパターンとは、選択したラベルを持つ一つのノードからなるパターンである。
このパターンを指定して、ステップS208で作成したパターンにノードを付け加えて伸張した伸張パターンの探索の処理(ステップS210)に入る。
この繰り返しが未処理の頻出ラベルが無くなるまで繰り返される(ステップS204)。
図3は、伸張パターン探索(ステップS210)の処理例を示したフローチャートである。このフローチャートによる処理は、パターン探索モジュール150が行う処理、又はパターン探索モジュール150による指示によって、パターン伸張候補探索モジュール130、伸張候補検出判定モジュール140が行う処理である。また、この処理は再帰的な処理であり、ステップS322、ステップS332で、この処理そのものを呼び出す。
伸張するもとのパターンと、そのパターンに含まれるノードの出現位置などの情報を入力として処理を開始する。
処理が開始されると、入力されたパターンの情報を出力する。この入力パターンの出力処理は、伸張パターンの探索処理の開始直後でもよいし、処理が終了する直前でもよいし、別の時点で行われてもよく、処理の制御と深く関わらないので、図3に示す処理の流れのなかでの時点を示していない。
まず、ステップS302では、入力のパターンにノードを追加するパスを特定する。
特定したパスにはパターンの一つ以上のノードが存在する。これらのノードの中から、子供のノードを持つノードを列挙し(枝の追加を探す箇所の列挙)、未処理の箇所(ノード)があれば(ステップS304でy)続きの処理(ステップS306)を、なければ(ステップS304でn)リーフノードの子孫候補を探索する処理(ステップS324)に移る。
枝の追加を探す未処理のノードがある場合(ステップS304でy)には、いずれかの未処理のノードを選択する(ステップS306)。このとき、選択は先祖子孫関係においてより先祖側のものから選択する、あるいはより子孫側のノードから順番に選択することが処理の効率がよくなる。特により先祖側のものから選択する場合が、本実施の形態による効率化の効果をより発揮することができる。
未処理のノード(枝の追加を探すノード)を選択すると、そのノードから追加の枝の候補が見つかる可能性チェックを行う(ステップS308)。これは、より前に起動された伸張パターンの探索処理により生成され、この伸張パターンの探索処理の開始時に入力された、伸張候補検出判定結果から、処理中の枝の追加を探すノードについての判定結果である発見可能性を参照することで行われる。つまり、伸張候補検出判定モジュール140の記憶装置に記憶されている発見可能性を利用する。パターンのノードが一つだけの場合のように事前の伸張候補検出判定結果が利用できない際には、発見可能性ありと判定してもよい。
発見の可能性が無い場合(ステップS308でn)には、この伸張パターンの探索処理から呼び出す伸張パターンの探索所に受け渡すためのデータとして、該当箇所のノードについて伸張ノードの発見が無いことを記録して(ステップS310)、次の繰り返しに移る(ステップS304に戻る)。
発見の可能性がある場合(ステップS308でy)には、枝の追加を探索する(ステップS312)。例えば、そのパターンに対して、新たなノードを追加してパターンを伸張することになるパスを特定する。より具体的には、そのパターンのノードに追加する枝となりえるツリーデータ上のノードを走査して頻出ラベル(頻出ラベルがあればパターン上での追加するノードとなる)を探す処理を行う。
次に、探索結果について、伸張ノード(ツリーデータ上での該当する箇所での頻出ラベルに対応し、パターン上の枝の追加を探しているノードに新たに追加するパターン上のノード)が存在したかしなかったかについて結果を記録する(ステップS314)。ここで未処理の伸張ノードが見つからなかった場合(ステップS316でn)には、この伸張パターンの探索処理から新たに起動される伸張パターンの探索処理においても同じ箇所に伸張ノードは見つからない。したがって、次の未処理の箇所に対する処理を行う(ステップS304に戻る)。
次に、未処理の伸張ノードがある間(ステップS316でy)は、ステップS318からステップS322による繰り返し処理が行われる。この繰り返し処理では、未処理の伸張ノードがある間、未処理の伸張ノードを選択し(ステップS318)、入力されたパターン上の枝の追加を探している箇所に、選択した未処理の伸張ノードを追加したパターンを作成し(ステップS320)、新たに伸張パターンの探索を起動すること(ステップS322)を繰り返す。そして、未処理の伸張ノードがなくなると(ステップS316でn)、枝の追加を探すために別の箇所の処理に移る(ステップS304に戻る)。
枝の追加を探す未処理の箇所がなくなると(ステップS304でn)、特定したパス上のリーフノードの子ノードの候補を探す処理(ステップS324)に移る。なお、「リーフノードの子ノード」の「リーフノード」とは、伸張する過程におけるパターンのリーフノードのことを指しており、そのパターンはリーフノードから伸張することになる。
この処理(ステップS324)も同様に指定された範囲のノードのラベルの頻出ラベルを探すことで実現することができる。ここでまた、伸張ノードの有無を記録する(ステップS326)。ここでの未処理の伸張ノードがあるという判定(ステップS328でy)は、単に頻出ラベルがあるということではなく、頻出ラベルが複数種類ある、あるいは、頻出ラベルは1種類だけだが、各ツリーデータにおいて指定された範囲での出現箇所が複数あるものが指定された数以上ある場合に、未処理の伸張ノードがある(発見可能性がある)という判定となる。つまり、頻出ラベルが1種類でありかつ出現箇所が複数あるツリーが多くない(頻出であるとの判断に用いる閾値に満たない)場合に、未処理の伸張ノードがない(発見可能性なし)と判定する。したがって、頻出ラベルが複数種類ある場合は、発見可能性ありと判定する。頻出ラベルが1種類だが出現箇所が複数あるツリーが一定数以上ある(頻出であるとの判断に用いる閾値以上ある)場合に、発見可能性ありと判定する。頻出ラベルが1種類かつ、出現箇所が複数あるツリーが一定数未満である場合に、発見可能性なしと判定することとなる。
以降、同様に未処理の伸張ノードがある間(ステップS328でy)、未処理の伸張ノードを一つ選択して、同様に新たなパターンを作成して(ステップS330)、新たに伸張パターンの探索処理を起動すること(ステップS332)を繰り返す。
前記の伸張ノードの有無の判定は、伸張ノードを探す箇所ごとに行う例を示したが、この判定と判定結果の記録は例えば伸張ノードの種類ごと(頻出ラベルの種類ごと)に行ってもよい。例えば、兄弟ノードにラベルZがあった場合にその後ろの兄弟には他の兄弟ノードはありえないというような場合に効果を発揮する。
また、頻出ラベルを探すときに参照するツリーデータごとに伸張ノードの有無の判定を行い、ツリーデータごとにその判定結果を保持してもよい。こうすることで、例えばデータ中90%のツリーデータではラベルZを持つノードのあとに兄弟ノードが無いというような場合に、90%のデータについて兄弟ノードを探す処理を省略することができるようになる。
次に例を用いて処理を説明する。図4は、本実施の形態による処理対象の例を示した説明図であり、電子文書、紙媒体等に印刷された文書を含むドキュメントへの操作の履歴データの例である。例えば、図4(a)では、あるドキュメントが作成された後、修正が行われ、閲覧が行われる。修正されたドキュメントは別途確認され、印刷されて、承認されて、公式にファイルされる(登録)、一方で承認されたドキュメントはスキャンされており、スキャン結果を誰かが閲覧している。また、これらとは別に、修正されたドキュメントを確認処理と並行して誰かが後から閲覧している、といった記録をツリーデータとして表したものである。
図5は、本実施の形態による処理対象例の記号表記したものを示した説明図である。
図5(a)、(b)、(c)は、それぞれ図4(a)、(b)、(c)のラベルをA、B、...の記号に置き換えたものである。つまり、「作成」を「A」、「閲覧」を「B」、「修正」を「C」のようにである。
また、各ノードにはそれぞれを参照するための識別子を記した。例えば、図5(a)、(b)、(c)のルートノードにはv0を割り当て、v3の子孫であり一番左下に位置するリーフノードには図5(a)、(b)、(c)のツリーそれぞれにおいて、v6、v8、v6を割り当てている。
以降、説明を簡単にするために、伸張すべき箇所であるノードが複数あるような場合でも、恣意的に選択して処理を説明する。したがって、複数の伸張すべきノードから選択する順序は、どのような順序であってもよい。パターンとして抽出する最低出現数(つまり、頻出数)を3として説明する。
最初に頻出ラベルを探索すると、ラベルGとIは1回のみ出現しているだけであり、他のラベルはそれぞれ3回以上出現しているので、ラベルGとI以外の全てのラベルが頻出となる。このうち、ラベルAを選択して伸張パターン探索の処理に入る例を、図6を用いて説明する。以降、説明の簡単のために、パターン上のノードについては、ラベルAを持つノードを単にAのノード、ノードA、あるいは単にAということもある。
入力パターンがAをラベルとして持つ一つのノードだけからなるツリー(図6(Pat1)参照)であるとき、枝を追加できる箇所は無いため、リーフノードでもあるAをラベルとして持つノードの子ノードの探索を行う。
この段階でも多くのラベルが頻出となるが、ここでCを選択する。すなわち、次の入力パターンはAの子供ノードにCが加えられたツリーデータとなる(図6(Pat2)参照)。
図6(Pat2)では、ルートからリーフまで達するパスは一つしかないので、ノードAからノードCにいたるパスを選択する。未処理の枝を追加できる箇所、すなわち、既に子ノードを持つノードはノードAだけであるので、未処理の枝を追加できる場所としてノードAを選ぶ。ノードAについて伸張ノードの発見可能性については、判定の方法により否定される構成も実現できるが、ここでの説明ではこの段階で否定されていないものとする。
次に追加できる枝を探索する。Aのツリーデータ上での出現箇所は、図5(a)のv0、図5(b)のv0、図5(c)のv0である。Cのツリーデータ上での出現箇所は、図5(a)のv1、図5(b)のv1、図5(c)のv1と図5(c)のv5である。ここで、Aの出現箇所の子孫でCの出現箇所の先祖でも子孫でもないものは、図5(a)と図5(b)においては存在しない。図5(c)においては、Cの出現箇所をv5としたときにv7、v8、v9、v10、v11が探索する範囲に当たるが、いずれのラベルも図5(c)に示すツリーデータにしか出現しないため頻出となりえない。なお、v2は不要である。これは、兄弟ノードに順序があることを前提として処理しているためである。図5に示す例では、兄弟ノードは左から右に走査する。また、F、E、J、H、Bも不要である。これは、図5(a)、(b)では、いずれもこれらのノードがCの子孫となっており、Cの兄弟ノードにはならないためである。
このため、図6(Pat2)では、C以外のラベルを持つノードの枝がAの子供として新たに現れることはない。この結果を発見可能性無しとして判定結果を記録する。
次に、枝を追加できる未処理の他のノードは無いので、パターン上のリーフノードCについて子ノードの探索処理に移る。子ノードの出現箇所図5(a)のv1、図5(b)のv1、図5(c)のv1と図5(c)のv5のそれぞれの子孫ノードの範囲での頻出ラベルを探す。頻出ラベルの中から、ここではラベルBを選択する。ここでは他にも頻出ラベルとしてDやFなども列挙されるので、ノードCについて、伸張ノードの存在可能性の判定では発見可能性は否定できないことを記録する。
そして、A、C、Bが一直線につながったパターン(図6(Pat3)参照)を作成し、伸張パターンの探索を起動する。
次の伸張パターンの起動において、入力パターンである図6(Pat3)の中でルートからリーフノードに達するパスは一つしかないので、そのパス(A、C、Bのノードが連なるパス)を特定する。そして、枝を追加するノードを選ぶ。
まず、ノードAを選択する。頻出の可能性を検査すると、このパターンにおいてAの子ノードとなる新たな枝は発見されないという情報が呼び出しもとの伸張パターン探索処理により得られているので、頻出ラベルの発見の無を記録して、次の処理に移る。
次にノードCを選ぶ。発見の可能性は否定されていないので、枝の追加を探索する。Cのツリーデータ上での出現箇所は、図5(a)のv1、図5(b)のv1、図5(c)のv1と図5(c)のv5であり、パターン上でノードCの子供のノードとなるノードBの出現箇所はツリーデータ上で、図5(a)のv2、図5(a)のv8、図5(a)のv9、図5(b)のv2、図5(b)のv8、図5(b)のv10、図5(b)のv11、図5(c)のv2、図5(c)のv6、図5(c)のv11である。これらの情報から、Cの出現箇所を先祖にもち、Bの出現箇所のいずれかを別のパス(左側のパス)に持つノードは、例えば図5(a)ではv3、v4、...であり、図5(b)ではv3、v4、...であり、図5(c)ではv3、v4、...である。この範囲にいくつもの頻出と判定されるラベルがあるが、ここではラベルDを選択する。
次に、Aの子ノードにC、Cの子ノードにBとCが順に付いたツリーを入力パターン(図6(Pat4)参照)として伸張パターン探索処理を起動する。
このとき、ノードを加えるパスには、リーフノードDとルートノードAを結ぶパスが選ばれるものとする。
ノードAについて追加できる枝を探す処理は、図6(Pat3)に対する処理と同様になる。これは、伸張ノードの発見可能性が否定されている情報を、呼び出しもとの伸張パターン探索処理より得ているためである。ただし、ノードCについて追加できる枝を探す際に発見可能性について検査を行う場合に、判定処理の方式により発見可能性の有無が分かれる。例えば、単に呼び出しもとでの処理で頻出ラベルが一つも見つからなかったか否かで判定している場合には、ここでは発見可能性を否定できない。一方で、Dが出現した出現箇所以降にCの子孫でDの出現箇所を別のパス(左側のパス)上に持つようなノードで出現する頻出ラベルが存在しないことを判定している場合には、ここでは発見可能性が否定される。しかし、いずれの場合にもこの段階でCには追加するノードは見つからないことが記録できる。
次にノードDの子ノードを探索する。以降、同様の処理が施され、Fが追加されて図6(Pat5)、Eが追加されて図6(Pat6)、Hが追加されて図6(Pat7)とパターンが伸張されたものとする。
次の処理では、入力パターンを図6(Pat7)を入力として処理が行われる。
ノードを加えるパスは、A、C、D、F、E、Hのノードが連なるパスとなり、枝の追加を探すノードはA、C、D、F、Eとなる。なお、Hがない理由は、Hはパターン上でのリーフノードであるためである。これらのうち、それまでの呼び出しもとの伸張パターン探索処理により、A、C、D、Fについて伸張ノードが発見されないことがわかっている。また、判定の方式により、Eについても伸張ノードが発見されないことが呼び出しもとの伸張パターン探索処理で生成されて受け渡された伸張ノードの有無の判定結果を参照することでわかる。これにより、パターン中のノードA、C、D、F(場合によってEも)について枝の追加の探索を省略することができる。そして、ここまでの説明でもパターン中のノード(例えばノードA)について、枝の追加の探索が省略できることに何度も触れているように、この省略される回数はパターンが大きくなるにつれて鼠算的に回数を増す。すなわち、本実施の形態の構成を採用しなかった場合に生じていた非常に多くの無駄な処理を、本実施の形態を採用すれば削減することになる。
次に、パターンを抽出する出現回数の最低数を2とした場合について説明する。前述の例と同様に図6(Pat1)、図6(Pat2)、図6(Pat3)、図6(Pat4)、図6(Pat5)、図6(Pat6)とパターンが抽出されたのち、ノードEの子供ノードとしてノードJが選ばれて、図6(Pat7o)に進んだとする。この段階では、図5(a)、(b)、(c)におけるツリーデータで、この図6(Pat7o)は出現する。そして、ノードCは、ノードDの後にラベルBが図5(a)と(b)のツリーデータの2つで出現するので、Cは伸張ノードの発見可能性は否定されていない。なお、Cの子供としての兄弟関係で「後」ということになるので、図5(c)のツリーデータではノードDの「後」にはノードは存在していない。
次に、Eの子ノードにノードHを加えた図6(Pat8o)の処理に移った場合を想定する。この図6(Pat8o)は、図5(b)のツリーデータでは出現しない。したがって、以降の伸張ノードを探す処理は、図5(a)と(c)のツリーデータについて行う。
ここまでの説明と同様に、ノードA、D、F、Eについての伸張ノードの存在可能性は、呼び出しもとでの処理で否定されているため、伸張ノードの探索処理を行わないが、ノードCについては頻出ノードの発見可能性は否定されていない。このため、図5(c)のツリーデータにおいても、図6(Pat8o)のノードCの出現箇所v1について、ノードDの出現箇所v3の右のノードの子孫を存在しないにも関わらず捜索する処理を起動することになる。この様な場合にも、ツリーデータごとに頻出ノードの発見可能性のデータが保持されていれば、図5(c)のツリーデータについてはパターン上のノードCからの伸張ノードをさらに探す処理を省略させることができる。この方法では、多くのツリーデータの形が非常に似通っている中、一部のツリーデータに形が異なっているものが存在するような場合に、本実施の形態の効果を高めることができる。
枝の追加を探すノードの選択は、より上位のノードから実行されることが望ましいが、他の事情によりこれが実現できないこともある。例えば他の事情により枝の追加を探すノードの選択処理を下位のノードから上位のノードの順で行わなければならなかった場合には、それらの処理で判定された伸張ノードの有無のデータをまとめてリーフノードに子ノードを追加して呼び出す伸張パターンの探索処理に送信してもよい。この場合には、本実施の形態による効果の全ては発揮されないが、なお十分な効率化を得ることができる。
なお、本実施の形態としてのプログラムが実行されるコンピュータのハードウェア構成は、図7に例示するように、一般的なコンピュータであり、具体的にはパーソナルコンピュータ、サーバーとなりえるコンピュータ等である。パターン伸張候補探索モジュール130、伸張候補検出判定モジュール140、パターン探索モジュール150等のプログラムを実行するCPU701(この例では演算部としてCPUを用いた)と、そのプログラムやデータを記憶するRAM702と、本コンピュータを起動するためのプログラム等が格納されているROM703と、補助記憶装置であるHD704(例えばハードディスクを用いることができる)と、キーボード、マウス等のデータを入力する入力装置706と、CRTや液晶ディスプレイ等の出力装置705と、通信ネットワークと接続するための通信回線インタフェース707(例えばネットワークインタフェースカードを用いることができる)、そして、それらをつないでデータのやりとりをするためのバス708により構成されている。これらのコンピュータが複数台互いにネットワークによって接続されていてもよい。
前述の実施の形態のうち、コンピュータ・プログラムによるものについては、本ハードウェア構成のシステムにソフトウェアであるコンピュータ・プログラムを読み込ませ、ソフトウェアとハードウェア資源とが協働して、前述の実施の形態が実現される。
なお、図7に示すハードウェア構成は、一つの構成例を示すものであり、本実施の形態は、図7に示す構成に限らず、本実施の形態において説明したモジュールを実行可能な構成であればよい。例えば、一部のモジュールを専用のハードウェア(例えばASIC等)で構成してもよく、一部のモジュールは外部のシステム内にあり通信回線で接続しているような形態でもよく、さらに図7に示すシステムが複数互いに通信回線によって接続されていて互いに協調動作するようにしてもよい。また、特に、パーソナルコンピュータの他、情報家電、複写機、ファックス、スキャナ、プリンタ、複合機(スキャナ、プリンタ、複写機、ファックス等のいずれか2つ以上の機能を有している画像処理装置)などに組み込まれていてもよい。
前記実施の形態においては、対象とするツリーデータとして、ドキュメントの操作履歴のデータを示したが、他の木構造であるデータを対象としてもよい。例えば、順序関係のある商品購入、ドキュメントの構造、遺伝子の配列、遺伝子の二次構造、たんぱく質の構造、画像や映像の特徴情報の構造、人の行動履歴構造、テキストデータの解析結果の構造、オントロジーなどの知識体系、XML等のツリー形式で構造化された情報等であってもよい。
なお、説明したプログラムについては、記録媒体に格納して提供してもよく、また、そのプログラムを通信手段によって提供してもよい。その場合、例えば、前記説明したプログラムについて、「プログラムを記録したコンピュータ読み取り可能な記録媒体」の発明として捉えてもよい。
「プログラムを記録したコンピュータ読み取り可能な記録媒体」とは、プログラムのインストール、実行、プログラムの流通などのために用いられる、プログラムが記録されたコンピュータで読み取り可能な記録媒体をいう。
なお、記録媒体としては、例えば、デジタル・バーサタイル・ディスク(DVD)であって、DVDフォーラムで策定された規格である「DVD−R、DVD−RW、DVD−RAM等」、DVD+RWで策定された規格である「DVD+R、DVD+RW等」、コンパクトディスク(CD)であって、読出し専用メモリ(CD−ROM)、CDレコーダブル(CD−R)、CDリライタブル(CD−RW)等、ブルーレイ・ディスク(Blue−ray Disk)、光磁気ディスク(MO)、フレキシブルディスク(FD)、磁気テープ、ハードディスク、読出し専用メモリ(ROM)、電気的消去及び書換可能な読出し専用メモリ(EEPROM)、フラッシュ・メモリ、ランダム・アクセス・メモリ(RAM)等が含まれる。
そして、前記のプログラム又はその一部は、前記記録媒体に記録して保存や流通等させてもよい。また、通信によって、例えば、ローカル・エリア・ネットワーク(LAN)、メトロポリタン・エリア・ネットワーク(MAN)、ワイド・エリア・ネットワーク(WAN)、インターネット、イントラネット、エクストラネット等に用いられる有線ネットワーク、あるいは無線通信ネットワーク、さらにこれらの組み合わせ等の伝送媒体を用いて伝送させてもよく、また、搬送波に乗せて搬送させてもよい。
さらに、前記のプログラムは、他のプログラムの一部分であってもよく、あるいは別個のプログラムと共に記録媒体に記録されていてもよい。また、複数の記録媒体に分割して
記録されていてもよい。また、圧縮や暗号化など、復元可能であればどのような態様で記録されていてもよい。
本実施の形態の構成例についての概念的なモジュール構成図である。 本実施の形態による処理例を示したフローチャートである。 伸張パターン探索の処理例を示したフローチャートである。 本実施の形態による処理対象の例を示した説明図である。 本実施の形態による処理対象例の記号表記したものを示した説明図である。 本実施の形態による処理例を示した説明図である。 本実施の形態を実現するコンピュータのハードウェア構成例を示すブロック図である。
符号の説明
110…データ入力モジュール
120…データ保持モジュール
130…パターン伸張候補探索モジュール
140…伸張候補検出判定モジュール
150…パターン探索モジュール
160…出力モジュール

Claims (7)

  1. パターンの候補に複数の木構造内で複数回現れるラベルのノードを追加して、該パターンの候補を伸張することによって、該複数の木構造内で複数回現れるパターンの探索を行うパターン探索手段と、
    前記パターン探索手段によって伸張される前記パターンの候補のノードの候補を探索する伸張候補探索手段と、
    前記伸張候補探索手段によって探索されたノードの伸張候補の発見可能性を判定する伸張候補検出判定手段と、
    前記伸張候補検出判定手段によって判定された伸張候補の発見可能性を保持する判定結果保持手段
    を具備し、
    前記パターン探索手段は、前記判定結果保持手段に保持された発見可能性の判定結果を用いて、パターンの探索を行う
    ことを特徴とする情報処理装置。
  2. パターンの候補に複数の木構造内で複数回現れるラベルのノードを追加して、該パターンの候補を伸張することによって、該複数の木構造内で複数回現れるパターンの探索を行うパターン探索手段と、
    前記パターン探索手段によって伸張される前記パターンの候補のノードの候補を探索する伸張候補探索手段と、
    前記伸張候補探索手段によって探索されたノードの伸張候補の発見可能性を判定する伸張候補検出判定手段と、
    前記伸張候補検出判定手段によって判定された伸張候補の発見可能性を、前記パターンの候補が出現する木構造ごとに保持する判定結果保持手段
    を具備し、
    前記パターン探索手段は、前記判定結果保持手段に保持された発見可能性の判定結果を用いて、パターンの探索を行う
    ことを特徴とする情報処理装置。
  3. 前記伸張候補検出判定手段は、
    前記パターンの候補上のノードに新たに追加する子ノードの候補がなかったときに、発見可能性を無しと判定する
    ことを特徴とする請求項1又は2に記載の情報処理装置。
  4. 前記伸張候補検出判定手段は、
    前記パターンの候補上のリーフノードに子ノードとして複数の候補がある、又は、一つ候補があり各木構造に出現箇所が複数あるものが予め指定された数以上あるときに、発見可能性をありと判定する
    ことを特徴とする請求項1から3のいずれか一項に記載の情報処理装置。
  5. 前記伸張候補探索手段は、
    ノードの候補の探索をより上位のノードから行い、下位のノードでの処理は、上位のノードの探索によって更新された発見可能性の判定結果を利用して探索を行う
    ことを特徴とする請求項1から4のいずれか一項に記載の情報処理装置。
  6. コンピュータを、
    パターンの候補に複数の木構造内で複数回現れるラベルのノードを追加して、該パターンの候補を伸張することによって、該複数の木構造内で複数回現れるパターンの探索を行うパターン探索手段と、
    前記パターン探索手段によって伸張される前記パターンの候補のノードの候補を探索する伸張候補探索手段と、
    前記伸張候補探索手段によって探索されたノードの伸張候補の発見可能性を判定する伸張候補検出判定手段と、
    前記伸張候補検出判定手段によって判定された伸張候補の発見可能性を保持する判定結果保持手段
    として機能させ、
    前記パターン探索手段は、前記判定結果保持手段に保持された発見可能性の判定結果を用いて、パターンの探索を行う
    ことを特徴とする情報処理プログラム。
  7. コンピュータを、
    パターンの候補に複数の木構造内で複数回現れるラベルのノードを追加して、該パターンの候補を伸張することによって、該複数の木構造内で複数回現れるパターンの探索を行うパターン探索手段と、
    前記パターン探索手段によって伸張される前記パターンの候補のノードの候補を探索する伸張候補探索手段と、
    前記伸張候補探索手段によって探索されたノードの伸張候補の発見可能性を判定する伸張候補検出判定手段と、
    前記伸張候補検出判定手段によって判定された伸張候補の発見可能性を、前記パターンの候補が出現する木構造ごとに保持する判定結果保持手段
    として機能させ、
    前記パターン探索手段は、前記判定結果保持手段に保持された発見可能性の判定結果を用いて、パターンの探索を行う
    ことを特徴とする情報処理プログラム。
JP2008165216A 2008-06-25 2008-06-25 情報処理装置及び情報処理プログラム Expired - Fee Related JP4935768B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2008165216A JP4935768B2 (ja) 2008-06-25 2008-06-25 情報処理装置及び情報処理プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008165216A JP4935768B2 (ja) 2008-06-25 2008-06-25 情報処理装置及び情報処理プログラム

Publications (2)

Publication Number Publication Date
JP2010009156A true JP2010009156A (ja) 2010-01-14
JP4935768B2 JP4935768B2 (ja) 2012-05-23

Family

ID=41589606

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008165216A Expired - Fee Related JP4935768B2 (ja) 2008-06-25 2008-06-25 情報処理装置及び情報処理プログラム

Country Status (1)

Country Link
JP (1) JP4935768B2 (ja)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001134575A (ja) * 1999-10-29 2001-05-18 Internatl Business Mach Corp <Ibm> 頻出パターン検出方法およびシステム
JP2003006196A (ja) * 2001-06-27 2003-01-10 Sharp Corp データ検索装置、方法、プログラム及びデータ構造

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001134575A (ja) * 1999-10-29 2001-05-18 Internatl Business Mach Corp <Ibm> 頻出パターン検出方法およびシステム
JP2003006196A (ja) * 2001-06-27 2003-01-10 Sharp Corp データ検索装置、方法、プログラム及びデータ構造

Also Published As

Publication number Publication date
JP4935768B2 (ja) 2012-05-23

Similar Documents

Publication Publication Date Title
CN102236693B (zh) 确定文档之间的相似度的方法和设备
JP2010055483A (ja) 情報再取得手順生成プログラム及び情報再取得手順生成装置
JP4682284B2 (ja) 文書差分検出装置
US20210295033A1 (en) Information processing apparatus and non-transitory computer readable medium
JP5555238B2 (ja) ベイジアンネットワーク構造学習のための情報処理装置及びプログラム
AU2012201069B2 (en) Information processing apparatus, information processing method, and information processing program
JP4935768B2 (ja) 情報処理装置及び情報処理プログラム
JP4957656B2 (ja) 情報処理装置及び情報処理プログラム
JP4957618B2 (ja) 情報処理装置及び情報処理プログラム
JP5440043B2 (ja) 画像処理装置及び画像処理プログラム
KR100907709B1 (ko) 블록 그룹핑을 이용한 정보 추출 장치 및 그 방법
JP2009187224A (ja) 情報処理装置及び情報処理プログラム
JP4134824B2 (ja) 情報処理装置及びプログラム
JP5910216B2 (ja) 情報処理装置及び情報処理プログラム
US8788537B2 (en) Computer readable medium storing information processing program, information processing apparatus, and information processing method
JP5391887B2 (ja) 情報処理装置及び情報処理プログラム
US20240028328A1 (en) Storage medium, information processing method, and information processing device
JP5760868B2 (ja) 情報処理装置及び情報処理プログラム
CN113127861A (zh) 一种规则命中检测方法、装置、电子设备及可读存储介质
JP2021002276A (ja) 分析プログラム、プログラム分析方法およびプログラム分析装置
US20260017326A1 (en) Data extraction approach for retail crawling engine
JP5585145B2 (ja) 修正箇所判別装置、修正箇所判別プログラム、および修正箇所判別方法
US20130031114A1 (en) Information processing apparatus, information processing method, and computer readable medium
JP2005078429A (ja) 図面文書管理システム及びその管理方法
JP2010176354A (ja) 情報処理装置及び情報処理プログラム

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20111021

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20111108

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20111220

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: 20120124

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120206

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150302

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4935768

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees