JP2004272627A - 頻出部分グラフ抽出装置、頻出部分グラフ抽出方法、ならびに、プログラム - Google Patents

頻出部分グラフ抽出装置、頻出部分グラフ抽出方法、ならびに、プログラム Download PDF

Info

Publication number
JP2004272627A
JP2004272627A JP2003062954A JP2003062954A JP2004272627A JP 2004272627 A JP2004272627 A JP 2004272627A JP 2003062954 A JP2003062954 A JP 2003062954A JP 2003062954 A JP2003062954 A JP 2003062954A JP 2004272627 A JP2004272627 A JP 2004272627A
Authority
JP
Japan
Prior art keywords
branch
parent
branches
frequent
sibling
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
JP2003062954A
Other languages
English (en)
Other versions
JP3785150B2 (ja
Inventor
Hiroki Tanioka
広樹 谷岡
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.)
JustSystems Corp
Original Assignee
JustSystems 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 JustSystems Corp filed Critical JustSystems Corp
Priority to JP2003062954A priority Critical patent/JP3785150B2/ja
Publication of JP2004272627A publication Critical patent/JP2004272627A/ja
Application granted granted Critical
Publication of JP3785150B2 publication Critical patent/JP3785150B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

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

Abstract

【課題】頻出部分グラフ抽出装置等を提供する。
【解決手段】頻出部分グラフ抽出装置201において、入力受付部202は、親子枝と兄弟枝がノードの間に張られるDAGの入力を受け付け、横方向枝選択部203は、DAG内の親兄弟グラフに含まれる兄弟枝を横方向枝として抽出し、その始点と終点の組合せの出現頻度が所定の横方向閾値以上のものを頻出横方向枝として選択し、縦方向枝選択部204は、当該有向非循環グラフ内の親子枝を縦方向枝として抽出し、その始点と終点の組合せの出現頻度が所定の縦方向閾値以上のものを頻出縦方向枝として選択し、部分グラフ選択部205は、頻出横方向枝を含む親兄弟グラフを頻出縦方向枝で連結したものを頻出部分グラフとして選択し、出力部206は、選択された頻出部分グラフを、抽出の結果として出力する。
【選択図】 図2

Description

【0001】
【発明の属する技術分野】
本発明は、頻出部分グラフ抽出装置、頻出部分グラフ抽出方法、ならびに、これらをコンピュータ上で実現するためのプログラムに関する。
【0002】
【従来の技術】
近年、XML(eXtensible Markup Language)技術の普及に伴ない、構造化された文書の処理技術に注目が集まっている。XML文書は、木構造データや有向非循環グラフ(Directed Acyclig Graph;DAG)として見ることができる。このようなデータを、半構造データと呼ぶこともある。
【0003】
【発明が解決しようとする課題】
そこで、このような半構造データには、種々の情報が含まれているため、出現頻度の高い部分構造を効率良く抽出する技術が求められている。抽出された結果は、他の用途に(たとえば、他の文書作成のためのテンプレートとして)利用するなど、種々の応用ができる。
【0004】
本発明は、上記の課題を解決するもので、頻出部分グラフ抽出装置、頻出部分グラフ抽出方法、ならびに、これらをコンピュータ上で実現するためのプログラムを提供することを目的とする。
【0005】
【課題を解決するための手段】
上記目的を達成するため、本発明の第1の観点に係る頻出部分グラフ抽出装置は、入力受付部と、横方向枝選択部と、縦方向枝選択部と、部分グラフ選択部と、出力部と、を備え、以下のように構成する。
【0006】
すなわち、入力受付部は、複数のノードと、これらのノード間に張られる2種類の有向枝(以下、一方を「親子枝」、他方を「兄弟枝」という。)と、からなる有向非循環グラフの情報の入力を受け付ける。
【0007】
一方、横方向枝選択部は、当該有向非循環グラフ内の「部分グラフであって、2つの親子枝と、1つの兄弟枝とを有し、当該2つの親子枝の始点は一致し、当該2つの親子枝の一方の終点は当該1つの兄弟枝の始点に、当該2つの親子枝の他方の終点は当該1つの兄弟枝の終点に、それぞれ一致するもの(以下、「親兄弟グラフ」という。)」に含まれる兄弟枝を横方向枝として抽出し、当該抽出された横方向枝から、その始点と終点の組合せの出現頻度が所定の横方向閾値以上のものを頻出横方向枝として選択する。
【0008】
さらに、縦方向枝選択部は、当該有向非循環グラフ内の親子枝を縦方向枝として抽出し、当該抽出された縦方向枝から、その始点と終点の組合せの出現頻度が所定の縦方向閾値以上のものを頻出縦方向枝として選択する。
【0009】
そして、部分グラフ選択部は、「当該有向非循環グラフ内の部分グラフであって、0個以上の親兄弟グラフであって頻出横方向枝を含むものと、0個以上の頻出縦方向枝であって当該親兄弟グラフに含まれないものとからなり、それぞれの個数の和は1以上であり、当該頻出縦方向枝が1個以上であり、かつ、当該親兄弟グラフが1個以上である場合、当該頻出縦方向枝のそれぞれの始点もしくは終点は、当該親兄弟グラフに含まれるいずれかのノードであるもの」を頻出部分グラフとして選択する。
【0010】
一方、出力部は、選択された頻出部分グラフを、抽出の結果として出力する。
【0011】
また、本発明の頻出部分グラフ抽出装置において、横方向枝選択部は、当該有向非循環グラフ内の「複数の親兄弟グラフであって、これらに含まれる親子枝の始点は一致し、これらに含まれる親兄弟グラフの親子枝の一方もしくは両方は、これらに含まれる他の親兄弟グラフの親子枝と一致するもの(以下、「同値親兄弟グラフ」という。)」に含まれる兄弟枝の始点のうち他の兄弟枝の終点とならないものと、兄弟枝の終点のうち他の兄弟枝の始点とならないものと、を、始点および終点とする新たな枝(以下、「同値兄弟枝」という。)を、横方向枝としてさらに抽出するように構成することができる。
【0012】
また、本発明の頻出部分グラフ抽出装置において、横方向枝選択部は、横方向枝としてさらに抽出される同値兄弟枝に、当該親兄弟グラフに含まれるノードの数に対応する情報を付加し、出力部は、選択された頻出部分グラフに、同値兄弟枝が含まれる場合、当該同値兄弟枝に付加された情報を当該同値兄弟枝とともに出力するように構成することができる。
【0013】
また、本発明の頻出部分グラフ抽出装置において、縦方向枝選択部は、当該有向非循環グラフ内の「複数の親子枝の列であって当該列に隣り合って配置される親子枝の前のものの終点と後のものの始点とは一致するもの(以下、「経路グラフ」という。)」の先頭の親子枝の始点と、末尾の親子枝の終点と、を、始点および終点とする新たな枝(以下、「同値親子枝」という。)を、縦方向枝としてさらに抽出するように構成することができる。
【0014】
また、本発明の頻出部分グラフ抽出装置において、縦方向枝選択部は、縦方向枝としてさらに抽出される同値親子枝に、当該経路グラフに含まれるノードの数に対応する情報を付加し、出力部は、選択された頻出部分グラフに、同値親子枝が含まれる場合、当該同値親子枝に付加された情報を当該同値親子枝とともに出力するように構成することができる。
【0015】
本発明の他の観点に係る頻出部分グラフ抽出方法は、入力受付工程と、横方向枝選択工程と、縦方向枝選択工程と、部分グラフ選択工程と、出力工程と、を備え、以下のように構成する。
【0016】
すなわち、入力受付工程では、複数のノードと、これらのノード間に張られる2種類の有向枝(以下、一方を「親子枝」、他方を「兄弟枝」という。)と、からなる有向非循環グラフの情報の入力を受け付ける。
【0017】
一方、横方向枝選択工程では、当該有向非循環グラフ内の「部分グラフであって、2つの親子枝と、1つの兄弟枝とを有し、当該2つの親子枝の始点は一致し、当該2つの親子枝の一方の終点は当該1つの兄弟枝の始点に、当該2つの親子枝の他方の終点は当該1つの兄弟枝の終点に、それぞれ一致するもの(以下、「親兄弟グラフ」という。)」に含まれる兄弟枝を横方向枝として抽出し、当該抽出された横方向枝から、その始点と終点の組合せの出現頻度が所定の横方向閾値以上のものを頻出横方向枝として選択する。
【0018】
さらに、縦方向枝選択工程では、当該有向非循環グラフ内の親子枝を縦方向枝として抽出し、当該抽出された縦方向枝から、その始点と終点の組合せの出現頻度が所定の縦方向閾値以上のものを頻出縦方向枝として選択する。
【0019】
そして、部分グラフ選択工程では、「当該有向非循環グラフ内の部分グラフであって、0個以上の親兄弟グラフであって頻出横方向枝を含むものと、0個以上の頻出縦方向枝であって当該親兄弟グラフに含まれないものとからなり、それぞれの個数の和は1以上であり、当該頻出縦方向枝が1個以上であり、かつ、当該親兄弟グラフが1個以上である場合、当該頻出縦方向枝のそれぞれの始点もしくは終点は、当該親兄弟グラフに含まれるいずれかのノードであるもの」を頻出部分グラフとして選択する。
【0020】
一方、出力工程では、選択された頻出部分グラフを、抽出の結果として出力する。
【0021】
本発明の他の観点に係るプログラムは、コンピュータを、上記の頻出部分グラフ抽出装置として機能させ、または、コンピュータに、上記の頻出部分グラフ抽出方法を実行させるように構成する。
【0022】
上記のプログラムは、CD−ROMやFDなどの各種の記録媒体に記録することができるほか、インターネットなどのコンピュータ通信網を介して配布することができる。
【0023】
【発明の実施の形態】
以下、添付図面を参照して、本発明の実施の形態について説明する。
【0024】
(情報処理装置の概要構成)
図1は、本発明のデータ構造が記録された記録媒体を処理して、本発明の統計装置ならびに検索装置として機能しうる典型的な情報処理装置の概要構成を示す模式図である。以下、図1を参照して説明する。
【0025】
情報処理装置101は、CPU(Central Processing Unit;中央処理ユニット)102によって制御される。情報処理装置101に電源を投入すると、CPU102は、ROM103に記憶されたIPL(Initial Program Loader;初期プログラムローダ)を実行する。
【0026】
IPLは、ハードディスク104、FDドライブ110に装着されたFD、CD−ROMドライブ111に装着されたCD−ROMなどの記録媒体に記憶されたOS(Operating System;オペレーティング・システム)プログラムを読み出して実行するプログラムである。
【0027】
OSを起動した後、CPU102は、キーボード105やマウス106などにより入力されたユーザの指示にしたがって、あるいは、ハードディスクなどにあらかじめ記述された設定ファイルの内容にしたがって、ハードディスクなどに記憶されたアプリケーションプログラムを実行する。
【0028】
当該アプリケーションプログラムを実行することにより、情報処理装置101は、記号列検索装置ならびに記号列格納装置として機能することとなる。ハードディスク104、FDドライブ110に装着されたFD、CD−ROMドライブ111に装着されたCD−ROMなど記憶媒体に、本発明のミニマルトライデータ構造が記録されることになる。なお、情報処理装置101が記号列格納装置として機能する場合には、当該記憶媒体は書き込みが可能である必要があるため、CD−ROMを利用することはできない。
【0029】
CPU102は、これらのプログラムの実行の際に、RAM107を一時的な作業用記憶領域として用いる。このほか、一時的な作業用記憶領域として、CPU102内に設けられたレジスタやキャッシュ(図示せず)が使われる。
【0030】
プログラムの実行に伴ない、ユーザに結果を報告したり、途中経過を見せるため、CPU102は、液晶ディスプレイやCRT(Cathode Ray Tube)などの表示装置108に当該情報を表示することができる。マウス106による指示操作では、マウス106を移動することにより、画面に表示されたカーソルが移動し、マウス106をクリックすることにより、カーソルが指すメニュー項目を選択することができる。
【0031】
情報処理装置101は、NIC(Network Interface Card)やモデムなどのインターフェース109を介してインターネットなどのコンピュータ通信網と通信を行うことができる。インターフェース109を介して受信した文書データを処理の対象としたり、処理した結果をインターフェース109を介して送信したり、インターフェース109を介して受信したプログラムを実行したり、などができる。
【0032】
(発明の実施の形態)
図2は、本発明の実施形態の1つに係る頻出部分グラフの抽出装置の概要構成を示す模式図である。図3は、当該抽出装置にて実行される処理の制御の流れを示すフローチャートである。以下、これらの図を参照しつつ説明する。
【0033】
抽出装置201は、入力受付部202と、横方向枝選択部203と、縦方向枝選択部204と、部分グラフ選択部205と、出力部206と、を備える。
【0034】
まず、入力受付部202は、複数のノードと、これらのノード間に張られる2種類の有向枝(以下、一方を「親子枝」、他方を「兄弟枝」という。)と、からなるDAGの情報の入力を受け付ける(ステップS301)。図4は、ここで入力を受け付けられるDAGの例を示す説明図である。以下、本図を参照して説明する。
【0035】
グラフ401は、木構造に類似した構造を持っており、ノード402が階層的に配置されており、ノード402の間には、親子枝403と、兄弟枝404と、が張られている。また、ノード402は、全体として親子枝403もしくは兄弟枝404で連結されており、孤立したノードは存在しない。
【0036】
親子枝403は、図中では、上下関係(傾斜した線)によって表現されており、親子枝403の上側にあるノード402を「親ノード」と呼び、下側にあるノード402を「子ノード」と呼ぶ。また、あるノード402から親子枝403を上向きにたどったときに経由するノードを「先祖ノード」と呼び、下向きにたどったときに経由するノードを「子孫ノード」と呼ぶ。さらに、すべてのノード402の先祖を「根ノード」と呼ぶ。
【0037】
兄弟枝404は、同じ親ノードを有する子ノード同士の間に張られており、図中では、水平な矢印によって表現されている。矢印の出発点のノード402を「兄ノード」と呼び、終着点のノード402を「弟ノード」と呼ぶ。尚、同じ親ノードを有する子ノード同士の間であっても、兄弟枝404が張られていないものがある。
【0038】
ついで、横方向枝選択部203は、当該DAG内から親兄弟グラフに含まれる兄弟枝を横方向枝として抽出する(ステップS302)。
【0039】
図5に示すように、親兄弟グラフ501とは、「部分グラフであって、2つの親子枝403と、1つの兄弟枝404とを有し、当該2つの親子枝403の始点は一致し、当該2つの親子枝403の一方の終点は当該1つの兄弟枝404の始点に、当該2つの親子枝403の他方の終点は当該1つの兄弟枝404の終点に、それぞれ一致するもの」をいう。
【0040】
したがって、同じ親ノード502を有する子ノード503同士の間に兄弟枝404が張られている場合には、当該兄弟枝404が横方向枝となる。
【0041】
たとえば、グラフ401においては、以下のような横方向枝が存在する。
6→3が1個
3→2が2個
1→2が2個
【0042】
さらに、横方向枝選択部203は、当該抽出された横方向枝から、その始点と終点の組合せの出現頻度が所定の横方向閾値以上のものを頻出横方向枝として選択する(ステップS303)。たとえば、「所定の横方向閾値」として「2」を選択した場合、次の横方向枝が、頻出横方向枝として選択されることとなる。
3→2が2個
1→2が2個
【0043】
ついで、縦方向枝選択部204は、当該DAG内の親子枝を縦方向枝として抽出する(ステップS304)。グラフ401には、以下の縦方向枝がある。
7→3
7→2
3→6
3→3
3→2
2→5
2→3
6→3
6→2
5→1
5→2
3→1
3→2
【0044】
そして、当該抽出された縦方向枝から、その始点と終点の組合せの出現頻度が所定の縦方向閾値以上のものを頻出縦方向枝として選択する(ステップS305)。たとえば、「所定の縦方向閾値」として「2」を選択した場合、次の縦方向枝が、頻出縦方向枝として選択されることとなる。
3→2が2個
【0045】
そして、部分グラフ選択部205は、「当該DAG内の部分グラフであって、0個以上の親兄弟グラフであって頻出横方向枝を含むものと、0個以上の頻出縦方向枝であって当該親兄弟グラフに含まれないものとからなり、それぞれの個数の和は1以上であり、当該頻出縦方向枝が1個以上であり、かつ、当該親兄弟グラフが1個以上である場合、当該頻出縦方向枝のそれぞれの始点もしくは終点は、当該親兄弟グラフに含まれるいずれかのノードであるもの」を頻出部分グラフとして選択する(ステップS306)。すなわち、頻出部分グラフとは、直観的には、
(a)「頻出横方向枝を含む親兄弟グラフ」を頻出縦方向枝で連結したもの。
(b)「頻出横方向枝を含む親兄弟グラフ」であって上記(a)に含まれないもの。
(c)頻出縦方向枝であって、上記(a)(b)に含まれないもの。
である。
【0046】
図6には、グラフ401における頻出横方向枝と、これを含む親兄弟グラフと、頻出縦方向枝と、を図示する。
【0047】
グラフ401には、図6(a)に示すのように、頻出横方向枝601が4個(これを含む親兄弟グラフ602が4個)、頻出縦方向枝603が2個含まれている。
【0048】
そして、頻出部分グラフ604は、図6(b)に図示するように、2個含まれることとなる。尚、本例においては、頻出縦方向枝603がすべて頻出横方向枝601を含む親兄弟グラフ602に含まれている。
【0049】
最後に、出力部206は、選択された頻出部分グラフを、抽出の結果として出力する(ステップS307)。
【0050】
尚、上記実施形態では、所定の横方向閾値や縦方向閾値として定数を利用したが、このほかに、「発見された枝の総出現数に所定の定数を乗じた値」をこれらの閾値として採用しても良い。
【0051】
このように、抽出装置201において実行される処理は、DAGに対する処理であるので、RAM 107やHD 104等に記憶されたDAGを、上記のようにCPU 102が解析し、処理することによって、実現される。このように、本実施形態により、頻出部分グラフを抽出することができる。
【0052】
(その他の実施の形態)
上記実施形態では、横方向枝として抽出されるものは兄弟枝に限られ、縦方向枝として抽出されるものは親子枝に限られていた。本実施形態は、これらをさらに拡張するものである。
【0053】
すなわち、横方向枝選択部203は、当該DAG内の「複数の親兄弟グラフであって、これらに含まれる親子枝の始点は一致し、これらに含まれる親兄弟グラフの親子枝の一方もしくは両方は、これらに含まれる他の親兄弟グラフの親子枝と一致するもの(以下、「同値親兄弟グラフ」という。)」に含まれる兄弟枝の始点のうち他の兄弟枝の終点とならないものと、兄弟枝の終点のうち他の兄弟枝の始点とならないものと、を、始点および終点とする新たな枝(以下、「同値兄弟枝」という。)を、横方向枝としてさらに抽出する。
【0054】
言い換えれば、同値兄弟枝とは、兄弟枝を連結したものである。たとえば、グラフ401には、以下の同値兄弟枝がある。
6→3→2
【0055】
頻出横方向枝の抽出の際には、横方向枝の始点と終点のみが考慮される。したがって、同値兄弟枝の中継ノードである3は考慮せず、6→2と同値であるとみなして、頻度を計算する。
【0056】
なお、本例では、同値兄弟枝を考えた場合であっても、横方向閾値として2を採用した場合には、選択される頻出横方向枝は、上記の場合と同じである。
【0057】
この際に、横方向枝選択部203は、横方向枝としてさらに抽出される同値兄弟枝に、当該親兄弟グラフに含まれるノードの数に対応する情報を付加してもよい。親兄弟グラフに含まれるノードの数は、連結された兄弟枝の数に2を加算したものである。また、ノードの数にかえて、同値と考える際のスキップの数を付加する情報としても良い。スキップの数とは、同値兄弟枝に沿ってノードを移動したときの、始点でも終点でもないノードの数をいう。したがって、「6→3→2」の場合、スキップの数は1である。
【0058】
一方、縦方向枝選択部204は、当該DAG内の「複数の親子枝の列であって当該列に隣り合って配置される親子枝の前のものの終点と後のものの始点とは一致するもの(以下、「経路グラフ」という。)」の先頭の親子枝の始点と、末尾の親子枝の終点と、を、始点および終点とする新たな枝(以下、「同値親子枝」という。)を、縦方向枝としてさらに抽出するように構成することができる。
【0059】
たとえば、グラフ401には、以下の同値親子枝がある。
7→3→6
7→3→3
7→3→2
7→3→6→3
7→3→6→2
7→2→5
7→2→5→1
7→2→5→2
7→2→3
7→2→3→1
7→2→3→2
3→6→3
3→6→2
2→5→1
2→5→2
2→3→1
2→3→2
【0060】
この際に、縦方向枝選択部204は、縦方向枝としてさらに抽出される同値親子枝に、当該経路グラフに含まれるノードの数に対応する情報を付加してもよい。当該経路グラフに含まれるノードの数は、連結された親子枝の数に1を加算したものである。この場合にも、上記と同様に、スキップの数を付加するのでも良い。
【0061】
言い換えれば、同値親子枝とは、親子枝を連結したものである。そして、縦方向枝の抽出の際には、同値親子枝の始点と終点のみが考慮される。
【0062】
これと、上記の親子枝とを合わせて考えたとき、「所定の縦方向閾値」として「5」を選択した場合には、頻出縦方向枝は、以下の5つとなる。
7→3→6→2
7→3→2
7→2
7→2→5→2
7→2→3→2
【0063】
図7(a)には、この同値親子枝を太線で描き、さらに、スキップされるノードは経由しないように描いてある。また、同値親子枝には、スキップの数を添えて描いてある。
【0064】
したがって、この場合に、抽出される頻出部分木は、図7(b)に示すようなものとなる。これを出力部206から出力する際には、同値親兄弟グラフのノードの数や同値兄弟枝のスキップの数、同値親子枝のノードの数やスキップの数を一緒に出力することができる。
【0065】
さらに、上記のような同値兄弟枝や同値親子枝において、スキップの数を制限して、頻出横方向枝や頻出縦方向枝として抽出するのでも良い。このほか、同値親子枝においては、その始点を根ノードに限定するのでも良い。たとえば、スキップの数を1に制限し、「所定の縦方向閾値」として2を採用し、同値親子枝の始点を根ノードに限定すると、頻出縦方向枝として、以下の2つが抽出される。
7→3
7→2→3
【0066】
したがって、抽出される頻出部分木を、図7と同様に描けば、図8に示すようなものとなる。
【0067】
このような頻出部分木を抽出する技術により、たとえば、蓄積されたXML文書内に含まれる一定のパターンを抽出することができる。
【0068】
このほか、上記実施形態に加えて、以下のような態様をさらに採用しても良い。
【0069】
まず、上記実施形態では、ノードの出現頻度を、ノードの数に一致するものとしていたが、あらかじめ各ノードに重み情報を付加し、出現頻度は、この重み情報の総和によって得る、というものである。構造化文書にあらかじめこのような重み情報がノードに付されている場合等に対処するものである。
【0070】
つぎに、親子グラフまたは兄弟グラフの各ノード間の親子枝または兄弟枝で、その何れかのノードの出現頻度が閾値以上であった場合に、そのノードの親、子、兄弟ノードも頻出部分グラフとして採用されるような特殊な枝を設定可能とするものである。すなわち、当該枝は切断されず、当該枝の始点や終点が頻出部分グラフとして抽出される場合は、当該枝ならびに当該枝に接続されるノードも頻出部分グラフとして抽出される、というものである。構造化文書においては、常に注目したい情報(上記の「切断されない枝」に相当する。)にマークを付けるなどの手法を利用することができるが、これに対応するものである。
【0071】
また、上記実施形態においては、兄弟枝は方向性があるものとしたが、兄弟枝に「方向性があるもの」と「方向性がないもの(双方向のもの)」の2種類を設けることとしても良い。また、すべてを「双方向のもの」としても良い。すなわち、処理対象のグラフについて、同じ親を共有する兄弟枝のみについては循環を許す、というものである。この場合であっても、上記実施形態と同様の技術により、頻出部分グラフを抽出することができる。
【0072】
【発明の効果】
以上説明したように、本発明によれば、頻出部分グラフ抽出装置、頻出部分グラフ抽出方法、ならびに、これらをコンピュータ上で実現するためのプログラムを提供することができる。
【図面の簡単な説明】
【図1】本発明の頻出部分グラフの抽出装置が実現される典型的な情報処理装置の概要構成を示す模式図である。
【図2】本発明の実施形態の1つに係る頻出部分グラフの抽出装置の概要構成を示す模式図である。
【図3】本発明の実施形態の1つに係る頻出部分グラフの抽出装置にて実行される処理の流れを示すフローチャートである。
【図4】頻出部分グラフの抽出装置にて処理されるDAGの様子を示す説明図である。
【図5】親兄弟グラフの様子を示す説明図である。
【図6】抽出される頻出部分グラフの様子を示す説明図である。
【図7】抽出される頻出部分グラフの様子を示す説明図である。
【図8】抽出される頻出部分グラフの様子を示す説明図である。
【符号の説明】
101 情報処理装置
102 CPU
103 ROM
104 HD
105 キーボード
106 マウス
107 RAM
108 表示装置
109 インターフェース
110 FDドライブ
111 CD−ROMドライブ
201 抽出装置
202 入力受付部
203 横方向枝選択部
204 縦方向枝選択部
205 部分グラフ選択部
206 出力部
401 グラフ
402 ノード
403 親子枝
404 兄弟枝
501 親兄弟グラフ
502 親ノード
503 子ノード
601 頻出横方向枝
602 親兄弟グラフ
603 頻出縦方向枝
604 頻出部分グラフ

Claims (7)

  1. 入力受付部と、横方向枝選択部と、縦方向枝選択部と、部分グラフ選択部と、出力部と、を備える頻出部分グラフ抽出装置であって、
    前記入力受付部は、複数のノードと、これらのノード間に張られる2種類の有向枝(以下、一方を「親子枝」、他方を「兄弟枝」という。)と、からなる有向非循環グラフの情報の入力を受け付け、
    前記横方向枝選択部は、当該有向非循環グラフ内の「部分グラフであって、2つの親子枝と、1つの兄弟枝とを有し、当該2つの親子枝の始点は一致し、当該2つの親子枝の一方の終点は当該1つの兄弟枝の始点に、当該2つの親子枝の他方の終点は当該1つの兄弟枝の終点に、それぞれ一致するもの(以下、「親兄弟グラフ」という。)」に含まれる兄弟枝を横方向枝として抽出し、当該抽出された横方向枝から、その始点と終点の組合せの出現頻度が所定の横方向閾値以上のものを頻出横方向枝として選択し、
    前記縦方向枝選択部は、当該有向非循環グラフ内の親子枝を縦方向枝として抽出し、当該抽出された縦方向枝から、その始点と終点の組合せの出現頻度が所定の縦方向閾値以上のものを頻出縦方向枝として選択し、
    前記部分グラフ選択部は、
    「当該有向非循環グラフ内の部分グラフであって、
    0個以上の親兄弟グラフであって頻出横方向枝を含むものと、0個以上の頻出縦方向枝であって当該親兄弟グラフに含まれないものとからなり、それぞれの個数の和は1以上であり、
    当該頻出縦方向枝が1個以上であり、かつ、当該親兄弟グラフが1個以上である場合、当該頻出縦方向枝のそれぞれの始点もしくは終点は、当該親兄弟グラフに含まれるいずれかのノードである
    もの」を頻出部分グラフとして選択し、
    前記出力部は、前記選択された頻出部分グラフを、抽出の結果として出力する
    ことを特徴とするもの。
  2. 請求項1に記載の頻出部分グラフ抽出装置であって、
    前記横方向枝選択部は、当該有向非循環グラフ内の「複数の親兄弟グラフであって、これらに含まれる親子枝の始点は一致し、これらに含まれる親兄弟グラフの親子枝の一方もしくは両方は、これらに含まれる他の親兄弟グラフの親子枝と一致するもの(以下、「同値親兄弟グラフ」という。)」に含まれる兄弟枝の始点のうち他の兄弟枝の終点とならないものと、兄弟枝の終点のうち他の兄弟枝の始点とならないものと、を、始点および終点とする新たな枝(以下、「同値兄弟枝」という。)を、横方向枝としてさらに抽出する
    ことを特徴とするもの。
  3. 請求項2に記載の頻出部分グラフ抽出装置であって、
    前記横方向枝選択部は、横方向枝としてさらに抽出される同値兄弟枝に、当該親兄弟グラフに含まれるノードの数に対応する情報を付加し、
    前記出力部は、前記選択された頻出部分グラフに、同値兄弟枝が含まれる場合、当該同値兄弟枝に付加された情報を当該同値兄弟枝とともに出力する
    ことを特徴とするもの。
  4. 請求項1に記載の頻出部分グラフ抽出装置であって、
    前記縦方向枝選択部は、当該有向非循環グラフ内の「複数の親子枝の列であって当該列に隣り合って配置される親子枝の前のものの終点と後のものの始点とは一致するもの(以下、「経路グラフ」という。)」の先頭の親子枝の始点と、末尾の親子枝の終点と、を、始点および終点とする新たな枝(以下、「同値親子枝」という。)を、縦方向枝としてさらに抽出する
    ことを特徴とするもの。
  5. 請求項4に記載の頻出部分グラフ抽出装置であって、
    前記縦方向枝選択部は、縦方向枝としてさらに抽出される同値親子枝に、当該経路グラフに含まれるノードの数に対応する情報を付加し、
    前記出力部は、前記選択された頻出部分グラフに、同値親子枝が含まれる場合、当該同値親子枝に付加された情報を当該同値親子枝とともに出力する
    ことを特徴とするもの。
  6. 入力受付工程と、横方向枝選択工程と、縦方向枝選択工程と、部分グラフ選択工程と、出力工程と、を備える頻出部分グラフ抽出方法であって、
    前記入力受付工程では、複数のノードと、これらのノード間に張られる2種類の有向枝(以下、一方を「親子枝」、他方を「兄弟枝」という。)と、からなる有向非循環グラフの情報の入力を受け付け、
    前記横方向枝選択工程では、当該有向非循環グラフ内の「部分グラフであって、2つの親子枝と、1つの兄弟枝とを有し、当該2つの親子枝の始点は一致し、当該2つの親子枝の一方の終点は当該1つの兄弟枝の始点に、当該2つの親子枝の他方の終点は当該1つの兄弟枝の終点に、それぞれ一致するもの(以下、「親兄弟グラフ」という。)」に含まれる兄弟枝を横方向枝として抽出し、当該抽出された横方向枝から、その始点と終点の組合せの出現頻度が所定の横方向閾値以上のものを頻出横方向枝として選択し、
    前記縦方向枝選択工程では、当該有向非循環グラフ内の親子枝を縦方向枝として抽出し、当該抽出された縦方向枝から、その始点と終点の組合せの出現頻度が所定の縦方向閾値以上のものを頻出縦方向枝として選択し、
    前記部分グラフ選択工程では、
    「当該有向非循環グラフ内の部分グラフであって、
    0個以上の親兄弟グラフであって頻出横方向枝を含むものと、0個以上の頻出縦方向枝であって当該親兄弟グラフに含まれないものとからなり、それぞれの個数の和は1以上であり、
    当該頻出縦方向枝が1個以上であり、かつ、当該親兄弟グラフが1個以上である場合、当該頻出縦方向枝のそれぞれの始点もしくは終点は、当該親兄弟グラフに含まれるいずれかのノードである
    もの」を頻出部分グラフとして選択し、
    前記出力工程では、前記選択された頻出部分グラフを、抽出の結果として出力する
    ことを特徴とする方法。
  7. コンピュータを、入力受付部、横方向枝選択部、縦方向枝選択部、部分グラフ選択部、および、出力部として機能させるプログラムであって、
    前記入力受付部は、複数のノードと、これらのノード間に張られる2種類の有向枝(以下、一方を「親子枝」、他方を「兄弟枝」という。)と、からなる有向非循環グラフの情報の入力を受け付け、
    前記横方向枝選択部は、当該有向非循環グラフ内の「部分グラフであって、2つの親子枝と、1つの兄弟枝とを有し、当該2つの親子枝の始点は一致し、当該2つの親子枝の一方の終点は当該1つの兄弟枝の始点に、当該2つの親子枝の他方の終点は当該1つの兄弟枝の終点に、それぞれ一致するもの(以下、「親兄弟グラフ」という。)」に含まれる兄弟枝を横方向枝として抽出し、当該抽出された横方向枝から、その始点と終点の組合せの出現頻度が所定の横方向閾値以上のものを頻出横方向枝として選択し、
    前記縦方向枝選択部は、当該有向非循環グラフ内の親子枝を縦方向枝として抽出し、当該抽出された縦方向枝から、その始点と終点の組合せの出現頻度が所定の縦方向閾値以上のものを頻出縦方向枝として選択し、
    前記部分グラフ選択部は、
    「当該有向非循環グラフ内の部分グラフであって、
    0個以上の親兄弟グラフであって頻出横方向枝を含むものと、0個以上の頻出縦方向枝であって当該親兄弟グラフに含まれないものとからなり、それぞれの個数の和は1以上であり、
    当該頻出縦方向枝が1個以上であり、かつ、当該親兄弟グラフが1個以上である場合、当該頻出縦方向枝のそれぞれの始点もしくは終点は、当該親兄弟グラフに含まれるいずれかのノードである
    もの」を頻出部分グラフとして選択し、
    前記出力部は、前記選択された頻出部分グラフを、抽出の結果として出力する
    ように機能させることを特徴とするプログラム。
JP2003062954A 2003-03-10 2003-03-10 頻出部分グラフ抽出装置、頻出部分グラフ抽出方法、ならびに、プログラム Expired - Fee Related JP3785150B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2003062954A JP3785150B2 (ja) 2003-03-10 2003-03-10 頻出部分グラフ抽出装置、頻出部分グラフ抽出方法、ならびに、プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2003062954A JP3785150B2 (ja) 2003-03-10 2003-03-10 頻出部分グラフ抽出装置、頻出部分グラフ抽出方法、ならびに、プログラム

Publications (2)

Publication Number Publication Date
JP2004272627A true JP2004272627A (ja) 2004-09-30
JP3785150B2 JP3785150B2 (ja) 2006-06-14

Family

ID=33124673

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003062954A Expired - Fee Related JP3785150B2 (ja) 2003-03-10 2003-03-10 頻出部分グラフ抽出装置、頻出部分グラフ抽出方法、ならびに、プログラム

Country Status (1)

Country Link
JP (1) JP3785150B2 (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010134723A (ja) * 2008-12-04 2010-06-17 Fuji Xerox Co Ltd 情報処理装置及びプログラム
JP2010277322A (ja) * 2009-05-28 2010-12-09 Nippon Telegr & Teleph Corp <Ntt> 共通クエリグラフパターン生成装置、共通クエリグラフパターン生成方法、および共通クエリグラフパターン生成用プログラム
JP2011118550A (ja) * 2009-12-01 2011-06-16 Fuji Xerox Co Ltd プログラム及び情報処理システム
US8831271B2 (en) 2008-10-07 2014-09-09 Ochanomizu University Subgraph detection device, subgraph detection method, program, data structure of data, and information recording medium

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8831271B2 (en) 2008-10-07 2014-09-09 Ochanomizu University Subgraph detection device, subgraph detection method, program, data structure of data, and information recording medium
JP5605571B2 (ja) * 2008-10-07 2014-10-15 国立大学法人お茶の水女子大学 部分グラフ検出装置、部分グラフ検出方法、プログラム、データのデータ構造、及び情報記憶媒体
JP2010134723A (ja) * 2008-12-04 2010-06-17 Fuji Xerox Co Ltd 情報処理装置及びプログラム
JP2010277322A (ja) * 2009-05-28 2010-12-09 Nippon Telegr & Teleph Corp <Ntt> 共通クエリグラフパターン生成装置、共通クエリグラフパターン生成方法、および共通クエリグラフパターン生成用プログラム
JP2011118550A (ja) * 2009-12-01 2011-06-16 Fuji Xerox Co Ltd プログラム及び情報処理システム

Also Published As

Publication number Publication date
JP3785150B2 (ja) 2006-06-14

Similar Documents

Publication Publication Date Title
US20070245232A1 (en) Apparatus for Processing Documents That Use a Mark Up Language
JP2006164258A (ja) 特定のプラットフォームによって使用するためのグラフィカル・ユーザ・インターフェース(gui)モデルを生成するための方法、システム、およびプログラム
JP2004030582A (ja) 構造化文書編集装置、構造化文書編集方法及びプログラム
JP5936138B2 (ja) 操作手順書を生成する装置及び方法
KR20080053930A (ko) 문서 레이아웃의 적응을 용이하게 하는 시스템과, 콘텐트를배열하는 컴퓨터 구현 방법 및 컴퓨터 구현 시스템
CN104685466A (zh) 用于提供多个视图的浏览器级背景页面
CN108572821A (zh) 用户界面代码的生成方法和插件
CN106599016A (zh) 一种基于虚拟dom的前端元素维护方法
US7627832B2 (en) Dynamically placing resources within a graphical user interface
US20070283246A1 (en) Processing Documents In Multiple Markup Representations
CN113391808A (zh) 页面的配置方法、装置及电子设备
WO2020057242A1 (zh) 选择对象的方法、装置、终端及存储介质
JP3785150B2 (ja) 頻出部分グラフ抽出装置、頻出部分グラフ抽出方法、ならびに、プログラム
WO2006051959A1 (ja) 文書処理装置及び文書処理方法
CN110866374A (zh) 一种在网页上对pdf文件缩略图的易操作方法
US20080320412A1 (en) Document Processing Device and Document Processing Method
US20060150076A1 (en) Methods and apparatus for the evaluation of aspects of a web page
CN112068826B (zh) 文本输入的控制方法、系统、电子设备和存储介质
JP7260150B2 (ja) Webサイト設計支援装置、Webサイト設計支援方法、及びプログラム
US20070127072A1 (en) Layout method, apparatus and computer program
Escott et al. Design patterns for angular hotdraw
WO2005098664A1 (en) Processing documents in multiple markup representations
JP3824956B2 (ja) 識別番号付与装置、識別番号管理方法、識別番号管理プログラム及び同プログラムを記録したコンピュータ読み取り可能な記録媒体
WO2005098666A1 (en) Processing data and documents that use a markup language
KR20200079024A (ko) 웹 데이터 수집 장치 및 방법

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20050314

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20051213

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060213

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20060316

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20090324

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20120324

Year of fee payment: 6

LAPS Cancellation because of no payment of annual fees