JP4957618B2 - 情報処理装置及び情報処理プログラム - Google Patents
情報処理装置及び情報処理プログラム Download PDFInfo
- Publication number
- JP4957618B2 JP4957618B2 JP2008087755A JP2008087755A JP4957618B2 JP 4957618 B2 JP4957618 B2 JP 4957618B2 JP 2008087755 A JP2008087755 A JP 2008087755A JP 2008087755 A JP2008087755 A JP 2008087755A JP 4957618 B2 JP4957618 B2 JP 4957618B2
- Authority
- JP
- Japan
- Prior art keywords
- node
- information
- pattern
- tree
- nodes
- 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.)
- Expired - Fee Related
Links
- 230000010365 information processing Effects 0.000 title claims description 41
- 238000012545 processing Methods 0.000 claims description 80
- 238000000605 extraction Methods 0.000 claims description 71
- 238000003860 storage Methods 0.000 claims description 49
- 238000012217 deletion Methods 0.000 claims 1
- 230000037430 deletion Effects 0.000 claims 1
- 238000000034 method Methods 0.000 description 90
- 230000008569 process Effects 0.000 description 68
- 238000012937 correction Methods 0.000 description 35
- 238000004364 calculation method Methods 0.000 description 23
- 230000006837 decompression Effects 0.000 description 22
- 238000011084 recovery Methods 0.000 description 15
- 238000012790 confirmation Methods 0.000 description 12
- 238000005065 mining Methods 0.000 description 12
- 230000004913 activation Effects 0.000 description 11
- 238000004891 communication Methods 0.000 description 9
- 239000000284 extract Substances 0.000 description 8
- 238000004590 computer program Methods 0.000 description 7
- 238000010586 diagram Methods 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 4
- 230000004044 response Effects 0.000 description 4
- 238000000547 structure data Methods 0.000 description 4
- 230000002776 aggregation Effects 0.000 description 3
- 238000004220 aggregation Methods 0.000 description 3
- 238000007796 conventional method Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 230000014509 gene expression Effects 0.000 description 3
- 230000007246 mechanism Effects 0.000 description 3
- 108090000623 proteins and genes Proteins 0.000 description 3
- 230000000717 retained effect Effects 0.000 description 3
- 101100518972 Caenorhabditis elegans pat-6 gene Proteins 0.000 description 2
- 230000006399 behavior Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 238000002360 preparation method Methods 0.000 description 2
- 101100189378 Caenorhabditis elegans pat-3 gene Proteins 0.000 description 1
- 101100232929 Caenorhabditis elegans pat-4 gene Proteins 0.000 description 1
- 101100189379 Caenorhabditis elegans pat-9 gene Proteins 0.000 description 1
- 101100136834 Mus musculus Plin5 gene Proteins 0.000 description 1
- 101100202291 Mus musculus Slc26a6 gene Proteins 0.000 description 1
- 101150017983 Slc36a1 gene Proteins 0.000 description 1
- 101150078557 Slc36a2 gene Proteins 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 238000007405 data analysis Methods 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 238000007639 printing Methods 0.000 description 1
- 102000004169 proteins and genes Human genes 0.000 description 1
- 238000012216 screening Methods 0.000 description 1
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Description
しかし、集めた情報の量はしばしば人間の処理能力をはるかに超えるものとなる。このため、せっかく大量に集めた情報からリスクを発見したり、知識を抽出したりして活用することは実際には労力を伴う難しいものであった。
現実社会で発生するデータ、例えば電子文書であるドキュメントの操作履歴などのように人の操作を記録したものでは、たとえ同じ内容の作業を行っても、作業者の操作順などが厳密には一致しないため操作の履歴データの親子関係が厳密に一致することは期待できない。このため、そのようなデータからパターンを抽出するためには、親子関係に揺れが生じたとしてもパターンが抽出できるembedded subtree miningの技術を適用することが望ましい。また、人の操作の記録だけではなく、情報を整理した木構造データのようなものからも埋め込まれている隠れた構造を抽出するためには同様にembedded subtree miningを用いる必要がある。
embedded subtree miningを実現する従来の技術としては、TreeMiner、Dryade、MB3−miner、TRIPSなどを挙げることができる。
請求項1の発明は、木構造内のノード毎に子孫ノードの範囲を示す情報を付与してノードを記憶手段に格納する格納手段と、複数の木構造内で複数回現れる構造パターンの探索を、前記木構造の所定の範囲内にあるノードに対して行うことによって、該構造パターンを抽出する構造パターン抽出手段と、前記木構造内におけるノードの出現箇所に関する情報である出現情報ごとに、既に前記構造パターン抽出手段によって抽出された構造パターンで子供ノードがあったノードの出現情報にそれぞれの既出の子供ノードの出現情報の少なくとも一部を対応付けて記憶する記憶手段を具備し、前記構造パターン抽出手段は、ノード間の上下関係の有無を、前記格納手段によって格納されたノードの子孫ノードの範囲を示す情報の包含関係の有無によって判定し、前記記憶手段に記憶された出現情報に基づいて、前記構造パターン内で複数回出現したラベルの分岐毎に前記所定の範囲を定め、該所定の範囲内での該ラベルによって構成された構造パターンを抽出し、該抽出処理を再帰的に繰り返すことによって、複数の木構造内で複数回現れる構造パターンを探索することを特徴とする情報処理装置である。
請求項2の発明は、木構造内のノード毎にルートノードからリーフノードまでに至る経路情報を記憶手段に格納する格納手段と、複数の木構造内で複数回現れる構造パターンの探索を、前記木構造の所定の範囲内にあるノードに対して行うことによって、該構造パターンを抽出する構造パターン抽出手段と、前記木構造内におけるノードの出現箇所に関する情報である出現情報ごとに、既に前記構造パターン抽出手段によって抽出された構造パターンで子供ノードがあったノードの出現情報にそれぞれの既出の子供ノードの出現情報の少なくとも一部を対応付けて記憶する記憶手段を具備し、前記構造パターン抽出手段は、ノード間の上下関係の有無を、該ノード間において前記格納手段によって格納されたノードの経路情報が共通のものを含むか否かによって判定し、前記記憶手段に記憶された出現情報に基づいて、前記構造パターン内で複数回出現したラベルの分岐毎に前記所定の範囲を定め、該所定の範囲内での該ラベルによって構成された構造パターンを抽出し、該抽出処理を再帰的に繰り返すことによって、複数の木構造内で複数回現れる構造パターンを探索することを特徴とする情報処理装置である。
請求項12の発明は、コンピュータを、木構造内のノード毎にルートノードからリーフノードまでに至る経路情報を記憶手段に格納する格納手段と、複数の木構造内で複数回現れる構造パターンの探索を、前記木構造の所定の範囲内にあるノードに対して行うことによって、該構造パターンを抽出する構造パターン抽出手段と、前記木構造内におけるノードの出現箇所に関する情報である出現情報ごとに、既に前記構造パターン抽出手段によって抽出された構造パターンで子供ノードがあったノードの出現情報にそれぞれの既出の子供ノードの出現情報の少なくとも一部を対応付けて記憶する記憶手段として機能させ、前記構造パターン抽出手段は、ノード間の上下関係の有無を、該ノード間において前記格納手段によって格納されたノードの経路情報が共通のものを含むか否かによって判定し、前記記憶手段に記憶された出現情報に基づいて、前記構造パターン内で複数回出現したラベルの分岐毎に前記所定の範囲を定め、該所定の範囲内での該ラベルによって構成された構造パターンを抽出し、該抽出処理を再帰的に繰り返すことによって、複数の木構造内で複数回現れる構造パターンを探索することを特徴とする情報処理プログラムである。
請求項2記載の情報処理装置によれば、複数の木構造内で複数回現れる構造パターンの探索において、その探索範囲を所定範囲内に収めることができる。
請求項12記載の情報処理プログラムによれば、複数の木構造内で複数回現れる構造パターンの探索において、その探索範囲を所定範囲内に収めることができる。
Dryadeは、兄弟ノードに同じものを含めないという機能制限があり、ドキュメントの操作履歴など多くの現実のデータを処理するには十分なものではなかった。
TreeMiner、MB3−miner、TRIPSはいずれも、小さなパターンツリーを用意し、そのパターンツリーに一つノードを加えたパターンツリーを見つけるという再帰処理を行うことで全ての頻出パターンツリーを見つけていく。
これらのうち、MB3−Minerは、1つのノードからなるパターンツリーを見つけ、次に2つのノードからなるパターンツリーを全て見つけ、その次に3つのノードからなるパターンツリーを全て見つけるというように、ノード数の同じパターンツリーを全て見つけた後で、次のステップでノード数が一つ大きいパターンツリー全てを探すことを繰り返す。ノードを一つ加えたパターンツリーの数は指数関数的に増えるため、MB3−minerでは、現実的な計算機環境で抽出できるパターンツリーの大きさが制限されてしまう。
しかし、一つノードの多いパターンツリーの候補を見つける処理の制御を、ツリーデータ上のノードを一筆書きにした系列データにそった制御を行っており、ツリーデータの構造を制御に生かしていないため、パターンツリーのノード数が増えてくると各ステップでの処理と必要となるメモリ量が増大してしまう。その結果、大きなパターンツリーを探索することが困難になってしまう。
TRIPSは、TreeMinerよりもメモリ中に保持するデータを削減しているためこの問題が少しではあるが緩和される。一方で、次パターンノードの探索時に各データノードの先祖ノードを順にたどってパターンノードに対応するものを探す処理を行うため、大きなパターンツリーとなるほどオーバーヘッドが生じてしまう。
これらの従来技術では、ツリーデータの構造情報をパターンの探索に用いず、より単純な系列データなどに変換した情報を用いてパターンの探索を行っていることから、探索処理における記憶容量及び処理時間の増大が発生してしまう。
図1は、本実施の形態の構成例についての概念的なモジュール構成図を示している。
なお、モジュールとは、一般的に論理的に分離可能なソフトウェア(コンピュータ・プログラム)、ハードウェア等の部品を指す。したがって、本実施の形態におけるモジュールはコンピュータ・プログラムにおけるモジュールのことだけでなく、ハードウェア構成におけるモジュールも指す。それゆえ、本実施の形態は、コンピュータ・プログラム、システム及び方法の説明をも兼ねている。ただし、説明の都合上、「記憶する」、「記憶させる」、「保持する」、これらと同等の文言を用いるが、これらの文言は、実施の形態がコンピュータ・プログラムの場合は、記憶装置に記憶させる、又は記憶装置に記憶させるように制御するの意である。また、モジュールは機能にほぼ一対一に対応しているが、実装においては、1モジュールを1プログラムで構成してもよいし、複数モジュールを1プログラムで構成してもよく、逆に1モジュールを複数プログラムで構成してもよい。また、複数モジュールは1コンピュータによって実行されてもよいし、分散又は並列環境におけるコンピュータによって1モジュールが複数コンピュータで実行されてもよい。なお、1つのモジュールに他のモジュールが含まれていてもよい。また、以下、「接続」とは物理的な接続の他、論理的な接続(データの授受、指示、データ間の参照関係等)の場合にも用いる。
また、システム又は装置とは、複数のコンピュータ、ハードウェア、装置等がネットワーク(一対一対応の通信接続を含む)等の通信手段で接続されて構成されるほか、1つのコンピュータ、ハードウェア、装置等によって実現される場合も含まれる。「装置」と「システム」とは、互いに同義の用語として用いる。
また、パターン抽出モジュール140は、パターン内での親ノードと一致するツリーデータ内でのノードのうち上下関係のあるものについては最上位のノード及びパターン内での子供ノードと一致するツリーデータ内でのノードに上下関係のあるものについては最下位のノードに基づいて、探索範囲を決定し、その決定された範囲に基づいて探索を行うようにしてもよい。
また、パターン内の現在の処理対象となっているノードの先祖のノードの出現箇所の中から、その現在の処理対象となっているノードの出現箇所のノードを子孫に含むノードに対応する出現箇所を保持するようにしてもよい。なお、「出現箇所」という用語は、パターン内のノードのツリーデータ内での出現箇所を指す用語として用いる。
また、パターン抽出モジュール140は、ツリーデータ内で分岐のない範囲の最上位及び最下位以外の出現箇所を後述する出現位置情報保持モジュール260から削除するようにしてもよい。
また、パターン抽出モジュール140は、出現位置情報保持モジュール260に保持させる出現箇所を対象とし、ツリーデータ内で分岐のない範囲の最上位及び最下位以外の出現箇所以外を削除したものを選別するようにしてもよい。
なお、パターン抽出モジュール140の内部構成については、後に詳述する。
パターン抽出モジュール140は、図2に示すように、伸張元パターン情報受付モジュール210、パターン出力モジュール220、パターン伸張点選択モジュール230、伸張候補選定基準算出モジュール240、伸張候補選定モジュール250、出現位置情報保持モジュール260、出現位置情報選別モジュール270、出現位置情報回復モジュール280、パターン伸張モジュール290、パターン伸張起動モジュール295を有している。
また、出現位置情報選別モジュール270が、出現情報の複製を行うなどして後続の処理に副作用を及ぼさない形で処理を行った場合には、この出現位置情報回復モジュール280を省略した構成とすることもできる。
この図3に示す処理例は、図4に示す処理例の特殊な場合、すなわち伸張元パターンが空で、伸張元パターンのRMPのノードがない場合である。この場合を特別に取り出しているが、後述の図4に示す処理例の中で統一的に対応してもよい。同様に、図2に示すパターン抽出モジュール140の構成例においても、図3に示す処理例が担当する処理の最初の特殊な場合用に調整された構成をとった処理モジュール(つまり図3に示す処理例を行うモジュール)を別途用意してもよい。
ノードの数が1となるパターンは、端的に言えば頻出するラベルとなる。伸張候補選定モジュール250は、ツリーデータ保持モジュール120に問い合わせて、又はツリーデータ保持モジュール120に保持されたツリーデータのノードを走査して頻出ラベルを集計して列挙する。頻出ラベルが予めツリーデータ保持モジュール120にて集計して列挙されている構成の場合には、その情報を取得すればよい。
ステップS306では、選択された未処理頻出ラベルが伸張候補となる。
なお、この図3に示す処理例では、新しく伸張したパターンツリーのノードの数が1であり、伸張候補以外のRMP上のノードが存在しないため、出現位置情報選別モジュール270は動作する必要がない。
起動した処理が終了すると、図示していないが、必要であれば生成したパターンや出現情報の開放を行い、次の未処理頻出ラベルの処理を行う。
ステップS402では、最初に入力されたパターンをパターン出力モジュール220が出力する。この出力処理は必ずこのステップS402のステップになければならないわけではない。パターンが伸張されて新しいパターンが作成された直後でもよいし、そのパターンに関する処理が全て終わった後でもよいし、処理の過程のどこかで行われてもよい。
未処理ノードがあった場合には、ステップS406でパターン伸張点選択モジュール230が未処理ノードを選択する。
また、伸張候補選定モジュール250が、ツリーデータの所定の範囲内のノードを探索することによって、パターンを抽出するようにしてもよい。つまり、伸張候補選定基準算出モジュール240により算出された範囲情報に基づいて、ツリーデータ保持モジュール120に保持されているツリーデータのノードに対応するラベルを走査して、指定された範囲に出現するラベルやその出現位置の情報を得てもよい。また、RMP上のノード候補を選定したときの集計情報を、伸張元パターン情報の伸張候補を選定した伸張候補選定モジュール250に問い合わせて頻出ラベル情報を得て、その中から範囲情報に合うものを選択してもよい。
また、前述の頻出ラベルの集計情報を利用する方法とツリーデータを走査する方法を、ツリーデータのデータ構造に応じて選択する選択モジュールを設けて、使い分けを行ってもよい。
なお、ステップS408とステップS410の処理の途中までは、出現位置の情報を使用する。このため、この部分をツリーデータごとにまとめて行うようにしてもよく、このことも容易な変更である。
ステップS416では、パターン、出現箇所の情報を準備する。つまり、ステップS414で選択された未処理頻出ラベルの情報にしたがって、パターン伸張モジュール290が伸張したパターンを準備し、出現位置情報保持モジュール260が出現位置を保持するとともに、出現位置情報選別モジュール270がRMP上の他のノードの出現位置の選別を行う。
このステップS418の処理が終わると、選択した未処理頻出ラベルだけをRMPの指定の箇所に接続したパターンが生成されて、その生成されたパターンを予め定めた伸張方法で伸張し、その伸張した全てのパターンに対する処理が終っていることになる。
そして、未処理の頻出ラベルがなくなったら(ステップS412でN)、ステップS404で伸張パス上の次の未処理ノードを調べる。全ての未処理ノードの処理が終わっていれば、伸張パターン探索の処理は終了する(ステップS499)。
図5は、本実施の形態の説明に用いるツリーデータの例である。つまり、この3つのツリーデータの例から複数回現れている構造パターンを抽出する。このツリーデータは、具体的には、ドキュメントの操作履歴のデータであり、
(1)ドキュメントが作成された(「作成A」)、
(2)そのドキュメントが閲覧された(「閲覧B」)、
(3)そのドキュメントが修正された(「修正C」)、
(4)そのドキュメントがあるユーザによって確認処理が行われた(「確認D」)、
(5)そのドキュメントが承認権限を持つユーザによって承認された(「承認E」)、
(6)そのドキュメントが電子的にコピーされた(「電子複写F」)、
(7)そのドキュメントが印刷された(「印刷G」)、
(8)そのドキュメントが紙の状態からスキャンされた(「スキャンH」)
という8種類の操作からなる操作の履歴例である。図5等に示すツリーデータの各ノードは、これらの操作を表すラベルが、それぞれのラベルに対応させた記号「A」〜「H」とともに表示されている。各ノードのラベルは処理の過程では記号に変換して処理することもできるし、数字からなるラベルに変換して処理することもできるし、これらの組み合わせであってもよい。
これらのツリーデータ(a)、(b)、(c)は、ツリーデータ入力モジュール110を通じてツリーデータ保持モジュール120に格納される。
このとき、ツリーデータは、処理に適したものとするためにツリーデータ入力モジュール110によって加工される。加工の例を2つ(SCOPE情報の付加、EPath情報の付加)示す。
その一つの例として、各ノードにSCOPE(スコープ)と呼ばれる子孫ノードの範囲を示す情報を付与してノードを格納する。例えば、(a)v9には[9,12]というデータがSCOPEとして付与されて、ツリーデータ保持モジュール120に保持される。つまり、このSCOPE情報によって、(a)v9は自分自身を除くと、(a)v10から(a)v12の子孫ノードを有していることがわかる。同様に(b)v0には[0,13]という情報がSCOPEとして付与されて、ツリーデータ保持モジュール120に保持される。
また、もう一つのEPathを用いて処理する実現方法では、各ノードにそのノードがのるEPathの情報と、EPath上でのそのノードの位置を示す情報を付与してノードを格納する。例えば、(a)v0は、EP1,EP2,EP3,EP4,EP5にのっているので、<1,5,0>という情報が付与される。ここでの標記の例では<>内の最初の「1」と次の「5」は、EPの番号の範囲(EP1からEP5)を示しており、<>内の最後の「0」は、同じEPathの組にのるものの中での順番を示す。同様に(b)v3には<1,4,2>、(c)v6には<3,5,0>という情報が付与される。<>内の最後の数値は他にも、単純にEPath上でのルートからの距離を用いてもよいし、EPathの一つを共通とするものの中での順番を用いてもよく、同じEPathの組の間での順序関係が識別できればどの方法を用いてもよい。
最初に頻出ラベルとして「作成」が選ばれたものとする(ステップS306)。したがって、最初の構造パターンは「作成A」をラベルに持つノードのみからなるツリーとなる(図21(a)に示すPat1参照)。このときの出現情報は、「(a)v0,(b)v0,(c)v0」となる。以降、説明のためこれらの出現情報にocclistNの形で識別子をつける。ここでの出現情報「(a)v0,(b)v0,(c)v0」はocclist0とする。つまり、occlistNは、パターンにN+1番目に追加したノードがツリーデータ上で出現する箇所となるノードの識別子の組を指し示す識別子である。
このとき、出現情報を全て受け渡すのでなく、出現情報を保持しているデータ構造にアクセスできるだけの情報(例えば、そのデータ構造を指し示すポインタ)を渡すようにしてもよい。
このときの伸張パスは、「作成A」だけから構成されるので、未処理ノードとして「作成A」を選択する(ステップS406)。
次に、パターンの伸張を行うノードの選定範囲を算出する(ステップS408)。「作成A」のノードがパターンツリー上でリーフノードか否かを判定し、「作成A」はリーフノードであるので、次のノードの選定範囲は「作成A」の子孫ノード全てとなる。
ここでは、「修正C」のラベルを持つノードからの伸張を説明する。
次に、パターンを伸張するためのノードの選定範囲を計算する。「修正C」のノードは、パターンツリー上ではリーフノードなので、「修正C」が出現したocclist1のノードの子孫ノードの存在範囲が算出すべき範囲である。ツリーデータ(a)、(b)には複数の出現箇所があり、しかも、それらの間には上下の関係がある。このように上下関係がある出現箇所の情報は、より上位のものだけを選択するようにし、範囲を定める。つまり、子孫を探すときには、より上位の出現箇所だけを選んで範囲を決定する。この理由は、下位の出現箇所の子孫ノードは必ず上位の出現箇所の子孫ノードに含まれるため、下位の出現箇所に対する処理は冗長となるためである。このとき、上下の関係の有無の判定処理と、どちらが上位の情報であるかを判定する処理が必要となる。
どちらが上位の情報であるかを判定する処理は、SCOPE情報を付与していた場合には、子孫ノードの範囲の包含関係で判定できる。EPathを用いた場合には、EPathの包含関係で判定できる場合と、同じEPathの組にのっている場合に位置情報を用いて判定する場合がある。
このように示されたノードの範囲を図9に示す。これらの範囲(ツリーデータ(a)の選定範囲900a、ツリーデータ(b)の選定範囲900b、ツリーデータ(c)の選定範囲900c)のノードのラベルについて集計を行い、頻出ラベルを選出する。この段階でも、ほとんどのラベルが頻出ラベルとなる。「スキャンH」は、また集計後に頻出でないと判定される。さらに、ここでは「スキャンH」に加えて「電子複写F」も頻出ラベルではなくなる。
また、予め定めた条件にしたがってツリーデータのノードを走査して集計する方法と上位のノードを処理した際のラベルの集計結果情報を利用する方法を切り替える制御を行うようにしてもよい。
occlist1の出現情報のうち、occlist2の出現情報を子孫に持たない出現情報を除く。例えば、(a)v3の子孫に(a)v4が存在するが、(a)v9の子孫には該当するものがない。このため、occlist1から(a)v9を除く。同様にして、(b)v12も除かれるので、occlist1は「(a)v1,(a)v3,(b)v2,(c)v1」となる。
このときの判定処理は、先祖−子孫の関係を判定する処理となるので、前述の上下関係の有無の判定とどちらが上位の情報であるかを判定する処理において、SCOPE情報を用いた場合にもEPathを用いた場合にも実現することができる。
ここで起動した探索処理が終わると、occlist1は出現位置情報回復モジュール280によりもとの状態に戻される。
起動された探索処理においては、このときも「確認D」の子孫ノードを候補とする処理となるので、前述の処理と同様になる。このときの次の候補の選定範囲を図10に示す。つまり、ツリーデータ(a)は選定範囲1000a、ツリーデータ(b)は選定範囲1000b、ツリーデータ(c)は選定範囲1000cとなる。
そして、次の頻出ラベルに「承認E」を選んだ場合には、次の候補の選定範囲は図11のようになる。つまり、ツリーデータ(a)は選定範囲1100a、ツリーデータ(b)は選定範囲1100b、ツリーデータ(c)は選定範囲1100cとなる。そして、パターンは図21(d)に示すPat4のようになる。
このとき、パターンは「作成A」、「修正C」、「確認D」、「承認E」、「閲覧B」をそれぞれラベルに持つノードが一列につながったツリーととる(図21(e)に示すPat5参照)。
パターン上で「承認E」の子供ノード、「閲覧B」の兄弟ノードとなるラベルで頻出するものを探すことになる。
ここまでの範囲算出は、出現箇所の子孫ノードを表す範囲を算出していたが、ここでは「承認E」の出現箇所の子孫ノードで「閲覧B」の出現箇所と先祖子孫関係にならないものの存在する範囲を算出することになる。
そして、下位の「閲覧B」については「承認E」の出現情報の子孫のうちで、最下位かつ兄弟間に順序がある場合には、その最も前のものを選択する。つまり、兄弟ノードを探すときに下側の出現箇所はより下位のものを選ぶようにする。例えば、最もノード番号の若いものを選び、そのノードのSCOPEの範囲にある最も下位にあるノードを選ぶことを繰り返せば得られる。ツリーデータ(c)の例では、「承認E」に対して(c)v3を、「閲覧B」に対しては(c)v4を選ぶことになる。(c)v3のスコープが[3,10]であり、(c)v4のスコープが[4,4]であることから、下位のスコープの最大の値(4)+1から、上位のスコープの最大の値(10)までの範囲が算出される。すなわち、v5、v6、・・・v10が求めるノードの範囲となる。
このとき、パターンは「作成A」、「修正C」、「確認D」、「承認E」をそれぞれラベルに持つノードが一列につながり、「承認E」のラベルを持つノードに「閲覧B」をラベルに持つノードが2つつながったツリーとなる(図21(f)に示すPat6参照)。
また、このとき、RMPは、「閲覧B」をラベルに持つ2つのリーフノードの片方(通常はパターンの伸張方向を定めて処理するのでどちらかが決まる)とパターンのルートノード「作成A」をつないだパスとなる。このRMPが次の伸張パスとなる。
「修正C」の出現箇所は、ツリーデータ(a)において2つ((a)v1と(a)v3)あるが、上位ノードの出現位置をより上位の(a)v1を選んで範囲計算を行わないと、図13に示した範囲を算出することができず、パターンの抽出に失敗することになる。
次の伸張箇所の候補名「作成A」、「修正C」、「印刷G」の3箇所となるが、ここでは「印刷G」が選ばれた場合の説明を続ける。このときの次の候補選定範囲は図14に示した範囲となる。この中で「閲覧B」は頻出ラベルとなる。
このパターンは、例えば、作成されて修正され、確認されて承認されたドキュメントを閲覧している人たちがいて、一方で、確認前のドキュメントを印刷して閲覧している人が複数人いるという形の、確認前のドキュメントが印刷されて閲覧されている(配布されているのかもしれない)という点で、場面によっては問題が生じるかもしれないパターンと解釈できる。
このパターンが抽出された後は、RMPの伸張箇所として作成Aを選んだ場合の伸張パターンが抽出できる。
このときの候補の範囲は図16のようになる。つまり、ツリーデータ(a)は選定範囲1600a、ツリーデータ(b)は選定範囲1600bとなる。ここでは、「閲覧B」が頻出ラベルとなり、この頻出ラベルを加えることで図21(j)に示すpat10のパターンが抽出される。
そして、図21(f)に示すPat6のパターンのRMPを処理していたところまで戻り、伸張箇所の選択で「作成A」が選ばれた場合を続けて説明する。
この場合、上位ノード「作成A」はなるべく上側のノードを選び(各ツリーデータ上でひとつずつしかない)、下位ノード「修正C」はなるべく左側の下側のものを選択する。ツリーデータ(a)では、このときの「修正C」の出現箇所は(a)v1と(a)v3であり、下側の(a)v3を選んで範囲の算出を行う。その結果、図17に示す範囲が算出される。つまり、ツリーデータ(a)は選定範囲1700a、ツリーデータ(b)は選定範囲1700bとなる。このとき、ツリーデータ(a)には「修正C」の出現箇所はもう一つ(a)v9があるが、これはパターンのRMP上の「修正C」の出現箇所に入っていないので範囲計算には影響を及ぼさない。このとき、仮にツリーデータ(a)において下位ノード「修正C」の出現箇所として(a)を用いて範囲の算出を行うと1700aの範囲のノードのラベルを調べることができず以降のパターンが抽出されなくなってしまう。このため範囲の算出時に下位ノードの出現位置の選択を正しく行うことは重要である。
このときに抽出されるパターンの例は、図17から図20までに示すツリーデータの処理結果に合わせて、それぞれ図22(b)に示すpat7b、(c)に示すpat8b、(d)に示すpat9b、(e)に示すpat10bとなる。なお、pat10bは、ドキュメントが作成されて修正、確認、承認、閲覧と進むパスの他に、修正後電子的に複写されて別途修正された後で誰かが閲覧している操作の流れが繰り返し起きていることを示している。
「修正C」のラベルを持つノードをルートノードとしたとき、出現情報はv1,v3,v9となる。
次に「修正C」のラベルを持つノードに、「閲覧B」のラベルを持つノードが一つ子供に加わったパターンを対象としたとする。このとき、子供側の「閲覧B」の出現情報は、v2、v6、v7、v11、v12となる。
そして、「修正C」のラベルを持つノードにもう一つ「閲覧B」のラベルを持つノードを子供に加えたパターン(「修正C」の子供ノードとして「閲覧B」が2つ接続されたパターン)を探す場合を想定する。
この処理は、兄弟ノードの探索となるので、上位側の出現情報として一番上位のv1、下位側の出現情報には一番左側かつ一番下位の出現情報v6が選択されて、次の候補を判定する範囲情報が決定される。
このときに2番目の閲覧Bの候補となるのはv7,v11,v12となる。
それぞれの出現情報のもつ出現箇所や範囲だけでは、「修正C」の出現箇所と2つめの「閲覧B」の出現箇所の対応関係を更新するとき、v1に対してはv7、v11、v12が、v3に対してはv7が対応するものとして判定できるが、v9の「修正C」に対してはv11、v12の両方ともがv9の子孫であるため、パターン上で「修正C」の子供ノードの2番目の「閲覧B」の出現箇所としてv11とv12とも選択されてしまう。
これに対して、それぞれの出現情報に対して処理済の範囲情報、例えば「修正C」の子供ノードとして処理が済んだ範囲を探索済み範囲情報として保持することで、より精密な処理を実現することができる。
ここでの例では、「修正C」の処理済の子供ノード(一番目の「閲覧B」)の範囲情報として、v1にはEP1、v3にはEP1、v9にはEP3の情報を対応付けて保持しておき、2番目の「閲覧B」の出現情報を対応付けるときに、この情報を参照して判定することができる。
これにより、v9の子孫の範囲にはv11、v12も入るが、v11は処理済のEP3に含まれるため、2番目の「閲覧B」の出現箇所はv9に対してv12のみを選ぶというように精密に対応付けを行うことができる。
なお、図23に示すハードウェア構成は、1つの構成例を示すものであり、本実施の形態は、図23に示す構成に限らず、本実施の形態において説明したモジュールを実行可能な構成であればよい。例えば、一部のモジュールを専用のハードウェア(例えばASIC等)で構成してもよく、一部のモジュールは外部のシステム内にあり通信回線で接続しているような形態でもよく、さらに図23に示すシステムが複数互いに通信回線によって接続されていて互いに協調動作するようにしてもよい。また、特に、パーソナルコンピュータの他、情報家電、複写機、ファックス、スキャナ、プリンタ、複合機(スキャナ、プリンタ、複写機、ファックス等のいずれか2つ以上の機能を有している画像処理装置)などに組み込まれていてもよい。
「プログラムを記録したコンピュータ読み取り可能な記録媒体」とは、プログラムのインストール、実行、プログラムの流通などのために用いられる、プログラムが記録されたコンピュータで読み取り可能な記録媒体をいう。
なお、記録媒体としては、例えば、デジタル・バーサタイル・ディスク(DVD)であって、DVDフォーラムで策定された規格である「DVD−R、DVD−RW、DVD−RAM等」、DVD+RWで策定された規格である「DVD+R、DVD+RW等」、コンパクトディスク(CD)であって、読出し専用メモリ(CD−ROM)、CDレコーダブル(CD−R)、CDリライタブル(CD−RW)等、光磁気ディスク(MO)、フレキシブルディスク(FD)、磁気テープ、ハードディスク、読出し専用メモリ(ROM)、電気的消去及び書換可能な読出し専用メモリ(EEPROM)、フラッシュ・メモリ、ランダム・アクセス・メモリ(RAM)等が含まれる。
そして、前記のプログラム又はその一部は、前記記録媒体に記録して保存や流通等させてもよい。また、通信によって、例えば、ローカル・エリア・ネットワーク(LAN)、メトロポリタン・エリア・ネットワーク(MAN)、ワイド・エリア・ネットワーク(WAN)、インターネット、イントラネット、エクストラネット等に用いられる有線ネットワーク、あるいは無線通信ネットワーク、さらにこれらの組み合わせ等の伝送媒体を用いて伝送させてもよく、また、搬送波に乗せて搬送させてもよい。
さらに、前記のプログラムは、他のプログラムの一部分であってもよく、あるいは別個のプログラムと共に記録媒体に記録されていてもよい。また、複数の記録媒体に分割して
記録されていてもよい。また、圧縮や暗号化など、復元可能であればどのような態様で記録されていてもよい。
120…ツリーデータ保持モジュール
130…制御モジュール
140…パターン抽出モジュール
150…パターン情報出力モジュール
210…伸張元パターン情報受付モジュール
220…パターン出力モジュール
230…パターン伸張点選択モジュール
240…伸張候補選定基準算出モジュール
250…伸張候補選定モジュール
260…出現位置情報保持モジュール
270…出現位置情報選別モジュール
280…出現位置情報回復モジュール
290…パターン伸張モジュール
295…パターン伸張起動モジュール
Claims (12)
- 木構造内のノード毎に子孫ノードの範囲を示す情報を付与してノードを記憶手段に格納する格納手段と、
複数の木構造内で複数回現れる構造パターンの探索を、前記木構造の所定の範囲内にあるノードに対して行うことによって、該構造パターンを抽出する構造パターン抽出手段と、
前記木構造内におけるノードの出現箇所に関する情報である出現情報ごとに、既に前記構造パターン抽出手段によって抽出された構造パターンで子供ノードがあったノードの出現情報にそれぞれの既出の子供ノードの出現情報の少なくとも一部を対応付けて記憶する記憶手段
を具備し、
前記構造パターン抽出手段は、ノード間の上下関係の有無を、前記格納手段によって格納されたノードの子孫ノードの範囲を示す情報の包含関係の有無によって判定し、前記記憶手段に記憶された出現情報に基づいて、前記構造パターン内で複数回出現したラベルの分岐毎に前記所定の範囲を定め、該所定の範囲内での該ラベルによって構成された構造パターンを抽出し、該抽出処理を再帰的に繰り返すことによって、複数の木構造内で複数回現れる構造パターンを探索する
ことを特徴とする情報処理装置。 - 木構造内のノード毎にルートノードからリーフノードまでに至る経路情報を記憶手段に格納する格納手段と、
複数の木構造内で複数回現れる構造パターンの探索を、前記木構造の所定の範囲内にあるノードに対して行うことによって、該構造パターンを抽出する構造パターン抽出手段と、
前記木構造内におけるノードの出現箇所に関する情報である出現情報ごとに、既に前記構造パターン抽出手段によって抽出された構造パターンで子供ノードがあったノードの出現情報にそれぞれの既出の子供ノードの出現情報の少なくとも一部を対応付けて記憶する記憶手段
を具備し、
前記構造パターン抽出手段は、ノード間の上下関係の有無を、該ノード間において前記格納手段によって格納されたノードの経路情報が共通のものを含むか否かによって判定し、前記記憶手段に記憶された出現情報に基づいて、前記構造パターン内で複数回出現したラベルの分岐毎に前記所定の範囲を定め、該所定の範囲内での該ラベルによって構成された構造パターンを抽出し、該抽出処理を再帰的に繰り返すことによって、複数の木構造内で複数回現れる構造パターンを探索する
ことを特徴とする情報処理装置。 - 前記構造パターン抽出手段は、ノードに対応するラベルの出現回数に応じて選択されたラベルを用いて、前記構造パターンを抽出する
ことを特徴とする請求項1又は2に記載の情報処理装置。 - 前記構造パターン抽出手段は、前記木構造の所定の範囲内のノードを探索することによって、前記構造パターンを抽出する
ことを特徴とする請求項1又は2に記載の情報処理装置。 - 前記木構造のデータ構造に基づいて、請求項3又は請求項4に記載の構造パターン抽出手段による構造パターンの抽出のいずれかを選択する選択手段
をさらに具備することを特徴とする請求項1又は2に記載の情報処理装置。 - 前記構造パターン内の現在の処理対象である現処理対象となっているノードと一致する前記木構造内でのノードのうち上下関係のあるものについては最上位のノードに基づいて、子孫を探索する範囲を決定する第1の探索範囲決定手段
をさらに具備し、
前記構造パターン抽出手段は、前記第1の探索範囲決定手段によって決定された範囲に基づいて探索を行う
ことを特徴とする請求項1又は2に記載の情報処理装置。 - 前記構造パターン内での親ノードと一致する前記木構造内でのノードのうち上下関係のあるものについては最上位のノード及び前記構造パターン内での子供ノードと一致する前記木構造内でのノードに上下関係のあるものについては最下位のノードに基づいて、探索範囲を決定する第2の探索範囲決定手段
をさらに具備し、
前記構造パターン抽出手段は、前記第2の探索範囲決定手段によって決定された範囲に基づいて探索を行う
ことを特徴とする請求項1又は2に記載の情報処理装置。 - 前記構造パターン内の現在の処理対象となっているノードの先祖のノードの出現箇所の中から、該現在の処理対象となっているノードの出現箇所のノードを子孫に含むノードに対応する出現箇所を保持する保持手段
をさらに具備することを特徴とする請求項7に記載の情報処理装置。 - 前記木構造内で分岐のない範囲の最上位及び最下位以外の出現箇所を前記保持手段から削除する削除手段
をさらに具備することを特徴とする請求項8に記載の情報処理装置。 - 前記保持手段に保持させる出現箇所を対象とし、前記木構造内で分岐のない範囲の最上位及び最下位以外の出現箇所以外を削除したものを選別する選別手段
をさらに具備することを特徴とする請求項8に記載の情報処理装置。 - コンピュータを、
木構造内のノード毎に子孫ノードの範囲を示す情報を付与してノードを記憶手段に格納する格納手段と、
複数の木構造内で複数回現れる構造パターンの探索を、前記木構造の所定の範囲内にあるノードに対して行うことによって、該構造パターンを抽出する構造パターン抽出手段と、
前記木構造内におけるノードの出現箇所に関する情報である出現情報ごとに、既に前記構造パターン抽出手段によって抽出された構造パターンで子供ノードがあったノードの出現情報にそれぞれの既出の子供ノードの出現情報の少なくとも一部を対応付けて記憶する記憶手段
として機能させ、
前記構造パターン抽出手段は、ノード間の上下関係の有無を、前記格納手段によって格納されたノードの子孫ノードの範囲を示す情報の包含関係の有無によって判定し、前記記憶手段に記憶された出現情報に基づいて、前記構造パターン内で複数回出現したラベルの分岐毎に前記所定の範囲を定め、該所定の範囲内での該ラベルによって構成された構造パターンを抽出し、該抽出処理を再帰的に繰り返すことによって、複数の木構造内で複数回現れる構造パターンを探索する
ことを特徴とする情報処理プログラム。 - コンピュータを、
木構造内のノード毎にルートノードからリーフノードまでに至る経路情報を記憶手段に格納する格納手段と、
複数の木構造内で複数回現れる構造パターンの探索を、前記木構造の所定の範囲内にあるノードに対して行うことによって、該構造パターンを抽出する構造パターン抽出手段と、
前記木構造内におけるノードの出現箇所に関する情報である出現情報ごとに、既に前記構造パターン抽出手段によって抽出された構造パターンで子供ノードがあったノードの出現情報にそれぞれの既出の子供ノードの出現情報の少なくとも一部を対応付けて記憶する記憶手段
として機能させ、
前記構造パターン抽出手段は、ノード間の上下関係の有無を、該ノード間において前記格納手段によって格納されたノードの経路情報が共通のものを含むか否かによって判定し、前記記憶手段に記憶された出現情報に基づいて、前記構造パターン内で複数回出現したラベルの分岐毎に前記所定の範囲を定め、該所定の範囲内での該ラベルによって構成された構造パターンを抽出し、該抽出処理を再帰的に繰り返すことによって、複数の木構造内で複数回現れる構造パターンを探索する
ことを特徴とする情報処理プログラム。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2008087755A JP4957618B2 (ja) | 2008-03-28 | 2008-03-28 | 情報処理装置及び情報処理プログラム |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2008087755A JP4957618B2 (ja) | 2008-03-28 | 2008-03-28 | 情報処理装置及び情報処理プログラム |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JP2009244961A JP2009244961A (ja) | 2009-10-22 |
| JP4957618B2 true JP4957618B2 (ja) | 2012-06-20 |
Family
ID=41306808
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2008087755A Expired - Fee Related JP4957618B2 (ja) | 2008-03-28 | 2008-03-28 | 情報処理装置及び情報処理プログラム |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP4957618B2 (ja) |
Families Citing this family (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2011123626A (ja) * | 2009-12-09 | 2011-06-23 | Fuji Xerox Co Ltd | プログラム及び情報抽出装置 |
| JP5482165B2 (ja) * | 2009-12-09 | 2014-04-23 | 富士ゼロックス株式会社 | プログラム及び情報抽出装置 |
Family Cites Families (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH1063671A (ja) * | 1996-08-20 | 1998-03-06 | Fuji Xerox Co Ltd | 木構造データ管理方法 |
| JP2007047974A (ja) * | 2005-08-09 | 2007-02-22 | Hokkaido Univ | 情報抽出装置および情報抽出方法 |
-
2008
- 2008-03-28 JP JP2008087755A patent/JP4957618B2/ja not_active Expired - Fee Related
Also Published As
| Publication number | Publication date |
|---|---|
| JP2009244961A (ja) | 2009-10-22 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| CN102236693B (zh) | 确定文档之间的相似度的方法和设备 | |
| JP4308587B2 (ja) | 文書群管理装置 | |
| JP5175511B2 (ja) | オントロジー構築支援装置 | |
| US8914391B2 (en) | Method, program, and system for converting part of graph data to data structure as an image of homomorphism | |
| JP2005025763A (ja) | 構造化文書の分割プログラム、分割装置、及び分割方法 | |
| JP4968293B2 (ja) | 文書処理装置、文書処理方法およびプログラム | |
| JP4957618B2 (ja) | 情報処理装置及び情報処理プログラム | |
| JP5810792B2 (ja) | 情報処理装置及び情報処理プログラム | |
| WO2011016281A2 (ja) | ベイジアンネットワーク構造学習のための情報処理装置及びプログラム | |
| JP2009187224A (ja) | 情報処理装置及び情報処理プログラム | |
| JP5929356B2 (ja) | 情報処理装置及び情報処理プログラム | |
| JP2008250730A (ja) | 情報処理プログラム、情報処理システム、ワークフローシステム及びワークフロー提示装置 | |
| JP4957656B2 (ja) | 情報処理装置及び情報処理プログラム | |
| JP2009181267A (ja) | 情報処理プログラム及び情報処理装置 | |
| JP4951407B2 (ja) | コンテンツ部品検索方法及び装置 | |
| JP6123519B2 (ja) | 情報処理装置及び情報処理プログラム | |
| JP6520052B2 (ja) | 情報処理装置及び情報処理プログラム | |
| JP4935768B2 (ja) | 情報処理装置及び情報処理プログラム | |
| JP2012190078A (ja) | 処理装置、分散処理システム、及び処理プログラム | |
| JP5760868B2 (ja) | 情報処理装置及び情報処理プログラム | |
| JP5018346B2 (ja) | 情報処理装置及び情報処理プログラム | |
| JP5202598B2 (ja) | ワークフロー管理装置、及びワークフロー管理プログラム | |
| JP5411954B2 (ja) | ツリー抽出装置、ツリー抽出システム、ツリー抽出方法、及びツリー抽出プログラム | |
| JP6303758B2 (ja) | 情報処理装置及び情報処理プログラム | |
| JP5060361B2 (ja) | 構造化文書検索装置、方法及びプログラム |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20090825 |
|
| 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: 20111129 |
|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20120125 |
|
| 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: 20120221 |
|
| 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: 20120305 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20150330 Year of fee payment: 3 |
|
| R150 | Certificate of patent or registration of utility model |
Ref document number: 4957618 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 |