JP3853305B2 - 抽出装置、抽出方法、ならびに、プログラム - Google Patents

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

Info

Publication number
JP3853305B2
JP3853305B2 JP2003154127A JP2003154127A JP3853305B2 JP 3853305 B2 JP3853305 B2 JP 3853305B2 JP 2003154127 A JP2003154127 A JP 2003154127A JP 2003154127 A JP2003154127 A JP 2003154127A JP 3853305 B2 JP3853305 B2 JP 3853305B2
Authority
JP
Japan
Prior art keywords
mark
marks
projection
row
head
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 - Lifetime
Application number
JP2003154127A
Other languages
English (en)
Other versions
JP2004355457A (ja
Inventor
哲也 田代
Original Assignee
株式会社ジャストシステム
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 株式会社ジャストシステム filed Critical 株式会社ジャストシステム
Priority to JP2003154127A priority Critical patent/JP3853305B2/ja
Publication of JP2004355457A publication Critical patent/JP2004355457A/ja
Application granted granted Critical
Publication of JP3853305B2 publication Critical patent/JP3853305B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Landscapes

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

Description

【0001】
【発明の属する技術分野】
本発明は、順序木において頻出するパターンを抽出するのに好適な抽出装置、抽出方法、ならびに、これらをコンピュータにて実現するためのプログラムに関する。
【0002】
【従来の技術】
順序木を系列表現に変換して、当該順序木に含まれる部分構造を抽出する構造マイニングの分野では、従来から種々の手法が提案されており、たとえば、以下の文献においては、種々の技術が開示されている。
【0003】
【非特許文献1】
J. Pei,J. Han,H. Pinto,Q. Chen,U. Dayal,and M.-C. Hsu, "PrefixSpan: Mining Sequential Patterns Efficiently by Prefix-Projected Pattern Growth", Proc. 2001 Int. Conf. on Data Engineering (ICDE'01), Heidelberg,Germany,2001年4月
【非特許文献2】
J. Han,J. Pei,B. Mortazavi-Asl,Q. Chen,U. Dayal,M.-C. Hsu, "FreeSpan: Frequent Pattern-Projected Sequential Pattern Mining", Proc. 2000 Int. Conf. on Knowledge Discovery and Data Mining (KDD'00), Boston,MA,2000年8月
【非特許文献3】
Mohammed J. Zaki, "Efficiently Mining Frequent Trees in a Forest", 8th ACM SIGKDD International Conference on Knowledge Discovery and Data Mining,2002年7月
【非特許文献4】
工藤拓、山本薫、坪井祐太、松本裕治、テキストデータベースからの構文構造のマイニング、情報処理学会 第128回 知能と複雑系研究会、2002年
【0004】
ここで、[非特許文献3]には、順序木を系列表現に変換して処理を行う手法が提案されている。
【0005】
また、[非特許文献1]や[非特許文献2]には、系列表現をデータマイニングするための手法として、PrefixSpanやFreeSpanと呼ばれる技術が開示されている。
【0006】
さらに、[非特許文献4]には、PrefixSpanを拡張したアルゴリズムを用いて半構造化されたテキストデータから頻出する部分構造を抽出する技術が開示されている。
【0007】
【発明が解決しようとする課題】
しかしながら、用途と目的によっては、順序木から頻出するパターンを効率良く抽出する他の手法が必要となることがあり、このような技術が強く求められている。
【0008】
本発明は、上記の課題を解決するもので、順序木において頻出するパターンを抽出するのに好適な抽出装置、抽出方法、ならびに、これらをコンピュータに実現させるためのプログラムを提供することを目的とする。
【0009】
【課題を解決するための手段】
以上の目的を達成するため、本発明の原理にしたがって、下記の発明を開示する。
【0010】
なお、以下の開示において、「順序木に対する系列表現」とは、「当該順序木を深さ優先探索して、枝を進む際に通過する節はその名前を表すマークを、枝を戻る際はバックトラックマークを、それぞれ並べることによりできるマークの列」をいう。
【0011】
また、「マークの列の列文脈」とは、「当該マークの列の先頭以外のマークのうち、名前を表すマークの数からバックトラックマークの数を減じた値」をいう。
【0012】
さらに、「マークの列中のあるマークからこれよりも後に配置されるマークへの射影文脈」とは、「当該あるマークと、当該後に配置されるマークと、に囲まれるマークの列を先頭から順に走査したときに、走査を開始したマークから走査の現在のマークまでで、名前を表すマークの数からバックトラックマークの数を減じた値が負となることがあれば負の値、負となることがなければ、走査を開始したマークから走査の最後のマークまでで名前を表すマークの数からバックトラックマークの数を減じた値」をいう。
【0013】
そして、「マークの列に対する射影」とは、「当該マークの列に含まれるあるマークから、これよりも後に配置されるマークへの対応関係であって、所定の条件を満たすもの」をいう。
【0014】
また、「系列表現が含むパターン」とは、「当該系列表現であるマークの列中の名前を表すマークのいずれかを最初のマークとして、これから射影を0回以上繰り返したときに、最初のマークから最後のマークに至るまでに出会うマークの列」をいう。
【0015】
そして、「パターンが順序木に復元可能である」とは、「当該パターンが当該順序木に対する系列表現と一致する」ことをいう。これは、当該パターン中に含まれる名前を表すマークの数から、当該パターン中に含まれるバックトラックマークの数を減じた値が1である場合、すなわち、当該パターンをマークの列と見たときに、当該マークの列の列文脈が0である場合に成立する。
【0016】
本発明の第1の観点に係る抽出装置は、入力受付部と、変換部と、抽出部と、を備え、以下のように構成する。
【0017】
すなわち、入力受付部は、1つ以上の順序木の入力を受け付ける。
【0018】
一方、変換部は、前記入力を受け付けられた順序木のそれぞれを系列表現へ変換する。
【0019】
さらに、抽出部は、前記変換された系列表現のそれぞれが含むパターンのうち、所定の頻度以上で出現するパターンを抽出する。
【0020】
また、本発明の抽出装置において、抽出部は、当該所定の頻度以上で出現するパターンのうち、順序木に復元可能であるもののみを抽出するように構成することができる。
【0021】
本発明の他の観点に係る抽出方法は、入力受付部と、変換部と、抽出部と、を備える情報処理装置において実行され、入力受付工程と、変換工程と、抽出工程と、を備え、以下のように構成する。
【0022】
すなわち、入力受付工程では、前記入力受付部が、1つ以上の順序木の入力を受け付ける。
【0023】
一方、変換工程では、前記変換部が、前記入力を受け付けられた順序木のそれぞれを系列表現へ変換する。
【0024】
さらに、抽出工程では、前記抽出部が、前記変換された系列表現のそれぞれが含むパターンのうち、所定の頻度以上で出現するパターンを抽出する。
【0025】
本発明の他の観点に係るプログラムは、コンピュータを上記の抽出装置として機能させ、あるいは、コンピュータに上記の抽出方法を実行させるように構成する。
【0026】
上記のプログラムは、CD−ROM(Compact Disk Read Only Memory)やFD(Flexible Disk)などの各種の記録媒体に記録することができるほか、インターネットなどのコンピュータ通信網を介して配布することができる。
【0027】
【発明の実施の形態】
以下、添付図面を参照して、本発明の実施の形態について説明する。
【0028】
(情報処理装置の概要構成)
図1は、本発明のデータ構造が記録された記録媒体を処理して、本発明の設計支援装置として機能しうる典型的な情報処理装置の概要構成を示す模式図である。以下、図1を参照して説明する。
【0029】
情報処理装置101は、CPU(Central Processing Unit;中央処理ユニット)102によって制御される。情報処理装置101に電源を投入すると、CPU102は、ROM103に記憶されたIPL(Initial Program Loader;初期プログラムローダ)を実行する。
【0030】
IPLは、ハードディスク104、FDドライブ110に装着されたFD、CD−ROMドライブ111に装着されたCD−ROMなどの記録媒体に記憶されたOS(Operating System;オペレーティング・システム)プログラムを読み出して実行するプログラムである。
【0031】
OSを起動した後、CPU102は、キーボード105やマウス106などにより入力されたユーザの指示にしたがって、あるいは、ハードディスクなどにあらかじめ記述された設定ファイルの内容にしたがって、ハードディスクなどに記憶されたアプリケーションプログラムを実行する。
【0032】
当該アプリケーションプログラムを実行することにより、情報処理装置101は、設計支援装置として機能することとなる。
【0033】
ハードディスク104、FDドライブ110に装着されたFD、CD−ROMドライブ111に装着されたCD−ROMなどの記憶媒体に、定義属性、制御属性、ストレングス情報、ストレス情報、不具合レコードが記録されることになる。
【0034】
CPU102は、このプログラムの実行の際に、RAM107を一時的な作業用記憶領域として用いる。このほか、一時的な作業用記憶領域として、CPU102内に設けられたレジスタやキャッシュ(図示せず)が使われる。
【0035】
プログラムの実行に伴ない、ユーザに不具合レコードを報告したり、途中経過を見せるため、CPU102は、液晶ディスプレイやCRT(Cathode Ray Tube)などの表示装置108に当該情報を表示することができる。マウス106による指示操作では、マウス106を移動することにより、画面に表示されたカーソルが移動し、マウス106をクリックすることにより、カーソルが指すメニュー項目を選択することができる。
【0036】
情報処理装置101は、NIC(Network Interface Card)やモデムなどのインターフェース109を介してインターネットなどのコンピュータ通信網と通信を行うことができる。インターフェース109を介して受信した順序木を処理の対象としたり、抽出したパターンをインターフェース109を介して送信したり、インターフェース109を介して受信したプログラムを実行したり、などができる。
【0037】
(順序木とパターンの関係)
図2は、順序木の例を示す説明図である。以下、本図を参照して説明する。
【0038】
まず、順序木とは、節と枝からなる木において、ある節(「親」という。)から他の0個以上の節(「子」という。)へ枝が張られていて、ある親に対する子に順序がつけられているものをいう。したがって、順序木を深さ優先探索する場合には、同じ親に対する子の探索の順序は、上記のようにつけられた順序による。
【0039】
たとえば、図2に示すような順序木を考える。順序木201の根はfであり、その子は左から右へe,dである。そして、dの子はcである。また、eの子は左から右へc,a,dである。さらに、cの子はaであり、dの子は左から右へb,cである。
【0040】
図3は、この順序木201を左から右へ深さ優先探索するときの、探索経路を示す説明図である。以下、本図を参照して説明する。
【0041】
図3に示すように、順序木201を深さ優先探索すると、経路202に沿って探索が行われる。したがって、探索に際しては、一旦経由した節を省略することとして、f,e,c,a,a,d,b,c,d,cの順に節を経由することとなる。なお、[非特許文献4]においては、右から左へ深さ優先探索した際に一旦経由した節を省略することとして並べた節を逆順にしたものを「系列表現」として採用している。
【0042】
さて、本発明において順序木201に対応する系列表現として利用するものは、探索経路202に沿って深さ優先探索をする際に、経由する節を並べるほか、枝を上がる際に、バックトラックマークを並べることとしたものである。バックトラックマークは、節の名前と区別できるものであれば何でも良い。ここでは、-1と表現することとする。
【0043】
すなわち、本発明で考える「系列表現」とは、順序木を深さ優先探索して、枝を進む際に通過する節はその名前を表すマークを、枝を戻る際はバックトラックマークを、それぞれ並べることによりできるマークの列をいう。
【0044】
すると、図3に示すように順序木201を経路202に沿って深さ優先探索した場合に得られるパターンは、以下のようになる。
f,e,c,a,-1,-1,a,-1,d,b,c,-1,-1,-1,d,c,-1,-1
【0045】
すなわち、本発明において利用する「系列表現」は、木を上る情報が含まれている分だけ、[非特許文献4]に開示される部分構造抽出の技術において抽出される「系列表現」よりも上質な情報である、ということができる。
【0046】
本発明では、順序木をバックトラックマークを利用する系列表現に変換した後に、当該系列表現に含まれるパターンを順序木の部分構造として抽出する。
【0047】
さて、本発明で考える「パターン」とは、マークの列であって、初期値として0を採用して、当該マークを先頭から順に走査し、名前を表すマークが出現したときに1を値に加算し、バックトラックマークが出現したときに1を値から減算したときに、値が負となることがないものをいう。
【0048】
また、本発明では、「系列表現がパターンを含む」とは、「当該系列表現のマークの列からいずれか0個以上のマークを除去してできるマークの列」のいずれかが「当該パターンのマークの列」と一致することをいう。
【0049】
直観的には、「系列表現に含まれるパターン」とは、「当該系列表現において『子が1つしかない節を適宜省略して、その親とその子を直接枝で結ぶ』もしくは、『子がない節を省略する』もしくは、『親と子を切り離し、子以下の順序木を採用する』ことを適宜繰り返して得られる順序木の系列表現(の接頭辞(prefix))」である。
【0050】
上記のように、「パターン」は系列表現そのものであることもあるし、系列表現の接頭辞であることもある。そこで、前者の場合を「パターンが順序木に復元可能である」といい、後者の場合は「パターンは順序木に復元可能でない」ということとする。
【0051】
図4は、2つの順序木と、それらの系列表現と、これらに含まれるパターンのうち、出現頻度が2以上のパターンであって、順序木に復元可能であるものと、を示す説明図である。以下、本図を参照して説明する。なお、図中では、理解を容易にするため、「,」は省略している。
【0052】
本図に示すように、順序木401に対する系列表現403は、c,b,a,-1,-1であり、これに含まれるパターンは、以下の通りである。
c
c,b
c,b,a
c,b,a,-1
c,b,a,-1,-1
c,b,-1
b
b,a
b,a,-1
a
【0053】
これらのうち、順序木に復元可能であるものは、以下の通りである。
c
c,b,a,-1,-1
c,b,-1
b
b,a,-1
a
【0054】
また、順序木402に対する系列表現404は、c,a,-1,b,-1であり、これに含まれるパターンは、以下の通りである。
c
c,a
c,a,-1
c,a,-1,b
c,a,-1,b,-1
c,b
c,b,-1
a
b
【0055】
これらのうち、順序木に復元可能であるものは、以下の通りである。
c
c,a,-1
c,b,-1
c,a,-1,b,-1
a
b
【0056】
さて、これらのように得られたパターンの出現頻度を調べると、以下のようになる。
a…2
b…2
b,a,-1…1
c…2
c,a,-1,b,-1…1
c,a,-1…1
c,b,-1…2
c,b,a,-1,-1…1
【0057】
したがって、本図に示すように、順序木401、402から得られる順序木に復元可能なパターンのうち、出現頻度が2以上のものは、以下の通りである。
a
b
c,b,-1
c
【0058】
上記のように、順序木から系列表現を得るのは、深さ優先探索において、枝を下る際に節に出会った際にはそのマークを、枝を上る際にはバックトラックマークを、それぞれ並べれば良い。
【0059】
以下では、得られた系列表現からパターンを抽出する手法、ならびに、順序木に復元可能なパターンを抽出する手法について説明する。
【0060】
図5は、系列表現とパターンとの関係を示す説明図である。本図に示すように、系列表現c,b,a,-1,-1は、順序木に復元可能なパターンc,b,-1を含むが、これは、系列表現の一部を省略することによって得られるものである。そこで、パターンに含まれるあるマークから次のマークへの移動を「射影」と呼ぶ。これは、上記の[非特許文献4]等でも用いられている用語である。図5には、それぞれに対応する射影が矢印で表現されている。
【0061】
したがって、系列表現からパターンを得る際には、系列表現中のマークから他のマークへの射影が可能か否かを判定すれば良いこととなる。以下、射影が可能か否かを判定する手法について説明する。
【0062】
まず、現在のマークの右隣がバックトラックマークでない場合は、現在のマークから右隣のマークへ射影が可能である。これは、順序木において、木を下って子の節に移動することに相当する。
【0063】
また、現在のマークの右隣がバックトラックマークである場合は、
(a)現在のマークが「現在調べようとしているパターンの先頭である」場合は、射影できない。
(b)現在のマークが「現在調べようとしているパターンの先頭でない」場合は、射影できる。
【0064】
すなわち、現在のマークが「現在調べようとしているパターンの先頭である」ということは、当該マークが当該パターンによって復元されうる順序木の根であることを意味する。
【0065】
さらに、現在のマークから離れたバックトラックマークでないマークへの射影が可能であるか否かは、その間に含まれるマークについて、以下のように走査を行う。すなわち、初期値を0とし、バックトラックマークでないマークを通過したときには1を加算し、バックトラックマークを通過したときには1を減算する。
【0066】
たとえば、図6に示すような系列表現について、マークaを開始マークとする射影を考える。本図では、走査により得られる値を各マークの下に記載している。
【0067】
本図に示すように、マークaからマークcへの走査の結果は、+1(マークcの左隣のマークbについての計算結果)であり、マークaからマークdへの走査の結果は、0(マークdの左隣のバックトラックマーク-1についての計算結果)である。なお、走査の結果とマークとの関係を、図中点線で示してある。
【0068】
このような場合には、走査の結果が0である場合にのみ、射影が可能であるものとする。したがって、aからcへは射影できないが、aからdへは射影できることとなる。これは「順序木において、自分の子への射影は可能であるが、自分の孫以降の子孫についての射影はできない」ということを意味する。
【0069】
そして、現在のマークから離れたバックトラックマークへの射影が可能であるか否かは、その間に含まれるマークについて、上記と同様の走査を行うほか、現在のマークが「現在調べようとしているパターンにおいてどのような射影を経た結果到達したものか」によって射影が可能か否かを決める。
【0070】
すなわち、現在のマークが「現在調べようとしているパターンの先頭」である場合には、走査結果の如何にかかわらず、射影はできない。これは、部分木の根よりも上に移動しようとすることに相当するからである。
【0071】
以下では、現在のマークが「現在調べようとしているパターンの途中」である場合を考える。たとえば、図7に示すような系列表現からaから始まるパターンを抽出する場合に、aからbへの射影がされた後に、bからさらなる射影を行う場合を考えるものとする。
【0072】
この場合は、まず、aからbの直前まで(それまでにパターンとして抽出されているマークの列は「a」)の列文脈を考える。当該列文脈は0である。
【0073】
一方、bの次から走査計算を始める(図中下段の数字列)。すると、c,-1,-1,d,-1に対して、+1,0,-1,0,-1となる。これについても、斜めに対応関係を考える。
【0074】
さて、aからbへの射影に続いて、bからの射影が可能であるのは、この前者の結果が0であり、かつ、後者の結果について、走査の開始(c)から自分に至るまで、走査計算の結果が負とならないものについてである。
【0075】
したがって、本図に示すように、中央の-1や末尾の-1へは射影ができず、先頭の-1へは射影ができるということになる。
【0076】
このようにして得られたパターンが順序木に復元可能であるか否かは、以下のように計算することができる。すなわち、パターンに含まれる名前を表すマークの数と、バックトラックマークの数とを比較し、前者から後者を減算した値が1であれば、当該パターンは順序木に復元可能である。
【0077】
(抽出装置の実施形態)
図8は、本発明の一つの実施形態において利用される抽出装置の基本構成を示す模式図であり、図9は、当該抽出装置において実行される抽出方法の処理の流れを示すフローチャートである。以下、これらの図を参照して説明する。
【0078】
本実施形態の抽出装置701は、入力受付部702と、変換部703と、抽出部704と、を備える。
【0079】
まず、入力受付部702は、1つ以上の順序木の入力を受け付ける(ステップS801)。
【0080】
ついで、変換部703は、入力を受け付けられた順序木のそれぞれを系列表現へ変換する(ステップS802)。上記のように、1つの順序木からは1つの系列表現が得られるので、入力された順序木の数だけ、系列表現が得られることとなる。
【0081】
さらに、抽出部704は、変換された系列表現のそれぞれが含むパターンを得て(ステップS803)、所定の頻度以上で出現するパターンを抽出して(ステップS804)、本処理を終了する。ここで、ステップS803においては、系列表現のそれぞれが含む「順序木に復元可能なパターン」を得ることとしても良い。系列表現から、これが含むパターンを得る技術の詳細については、上述した通りである。
【0082】
ステップS803においては、具体的には次のような処理を行う。
(1)系列表現が含むマークの列(候補)を列挙する。
(2)列挙されたマークの列(候補)が、パターンとして成立するかを判定する。
【0083】
したがって、まず候補をすべて列挙してから、そのそれぞれがパターンとして成立するか否かを判定する手法が考えられる。また、[非特許文献1][非特許文献2][非特許文献4]等に開示される系列パターンマイニング技術(PrefixSpan/FreeSpan)に対して、本発明の射影の技術(パターンとして成立するか否かを判定する技術)を適用して、より効率良く判定を行うことも可能である。
【0084】
以下、パターンとして成立するか否かの判定の手法について、さらに詳細に説明する。
【0085】
(列文脈の取得)
(N+1)個のマークの列m0,m1,…,mNに対する列文脈は、以下のようにして求めることができる。
【0086】
すなわち、マークの列の先頭m0を除いたm1,…,mNについて、当該マークが名前を表すマークであるものの数と、バックトラックマークであるものの数とを比較し、前者から後者を減算した値が列文脈である。具体的には、以下のような処理によって、列文脈を取得することができる。図10は、列文脈の取得手法の制御の流れを示すフローチャートである。
【0087】
まず、マークの列m0,m1,…,mNを受け付ける(ステップS1001)。そして、カウンタcの値と、変数iの値を0に初期化する(ステップS1002)。
【0088】
ついで、i≦Nである間(ステップS1003)、ステップS1004〜ステップS1007を繰り返す。
【0089】
すなわち、miがバックトラックマークであるか否か調べ(ステップS1004)、バックトラックマークである場合(ステップS1004;Yes)、cから1を減算し(ステップS1005)、バックトラックマークでない場合(ステップS1004;No)、cに1を加算する(ステップS1006)。そして、iに1を加算して(ステップS1007)、ステップS1003に戻る。
【0090】
最後に、カウンタcの値を、m0,m1,…,mNの列文脈として返して(ステップS1008)、本処理を終了する。
【0091】
なお、上記のような処理を行えば、長さ0の空マーク列(N<0の場合)の列文脈としては、0が得られる。
【0092】
(射影文脈の取得)
(N+1)個のマークの列m0,m1,…,mN中のf番目のマークからt番目のマークまでの部分マーク列mf,…,mtの射影文脈は、mf+1,…,mt-1を先頭から順に走査したときに、名前を表すマークの数からバックトラックマークの数を減じた値が負となることがあれば負の値、負となることがなければ、走査を開始したマークから走査の最後のマークまでで名前を表すマークの数からバックトラックを表すマークの数を減じた値である。図11は、射影文脈を取得する処理の制御の流れを示すフローチャートである。以下、本図を参照して説明する。
【0093】
まず、マークの列m0,m1,…,mN中のf番目のマークからt番目のマークへの射影文脈を求めるため、これらの情報を受け付ける(ステップS1101)。
【0094】
そして、カウンタcの値を0に初期化する(ステップS1102)。次に、変数iの値をf+1に初期化する(ステップS1103)。
【0095】
ついで、i≦t-1である間(ステップS1104)、ステップS1105〜ステップS1110を繰り返す。
【0096】
すなわち、miがバックトラックマークであるか否か調べる(ステップS1105)。
【0097】
バックトラックマークである場合(ステップS1105;Yes)、cから1を減算し(ステップS1106)、さらにcが負であるか調べ(ステップS1107)、負である場合(ステップS1107;Yes)、当該cの値を射影文脈として返して(ステップS1108)、本処理を終了する。一方、そうでない場合(ステップS1107;No)、iに1を加算して(ステップS1109)、ステップS1104に戻る。
【0098】
一方、バックトラックマークでない場合(ステップS1105;No)、cに1を加算して(ステップS1110)、ステップS1109に進む。
【0099】
そして、ステップS1104〜ステップS1110の繰り返しが終了したら、ステップS1111に進み、カウンタcの値を、m0,m1,…,mNのf番目のマークからt番目のマークへの射影文脈として返して、本処理を終了する。
【0100】
(パターンの判定)
ある系列表現m0,…,mNについて、その部分列mk[0],…,mk[L](L≦N,0≦k[0]<…<k[L]≦N)が、当該系列表現のパターンとなるか否かを判定する手法について、以下説明する。図12は、本処理の制御の流れを示すフローチャートである。
【0101】
まず、系列表現m0,…,mNと、判定対象のマークの列に1対1に対応する添字の列k[0],…,k[L]と、を受け付ける(ステップS1201)。
【0102】
そして、mk[0]がバックトラックマークであるか否かを調べ(ステップS1202)、そうである場合(ステップS1202;Yes)、パターンとして成立しない旨を報告して(ステップS1203)、本処理を終了する。
【0103】
一方、バックトラックマークでない場合(ステップS1202;No)、L=0であるか否かを調べ(ステップS1204)、そうである場合(ステップS1204;Yes)、パターンとして成立する旨を報告して(ステップS1205)、本処理を終了する。これは、名前を表す長さ1のマークの列は、パターンとして成立する、ということに相当する。
【0104】
ついで、変数pを0に初期化する(ステップS1206)。さらに、別途用意したマークの列を保存する領域qを長さ0のマークの列に初期化する(ステップS1207)。これを空マーク列と呼ぶ。したがって、マークの列qは、空マーク列に初期化されることになる。
【0105】
p≦L-1である間(ステップS1208)、ステップS1209〜ステップS1221の処理を繰り返す。
【0106】
まず、変数fにk[p]を設定し(ステップS1209)。変数tにk[p+1]を設定する(ステップS1210)。
【0107】
そして、「qが空マーク列でありかつmfがバックトラックマークでない(名前を表すマークである)」か否かを調べる(ステップS1211)。これが成立する場合(ステップS1211;Yes)、ステップS1217に進む。これが成立しない場合(ステップS1211;No)、「マークの列qの末尾にmfを追加したマークの列」の列文脈を求め(ステップS1212)、当該列文脈が0であるか否かを調べる(ステップS1213)。
【0108】
「qが空マーク列でありかつmfがバックトラックマークでない」(ステップS1211;Yes)もしくは、「当該列文脈が0である」(ステップS1213;Yes)場合、マークの列m0,…,mNのf番目からt番目への射影文脈を求め(ステップS1214)、「当該射影文脈が0であり、かつ、mtがバックトラックマークでない(名前を表すマークである)」か否かを調べる(ステップS1215)。そうでない場合(ステップS1215;No)、パターンとして成立しない旨を報告して(ステップS1216)、本処理を終了する。
【0109】
なお、ステップS1211の判定は、「第1マークが射影を繰り返すときの最初のマークである」か否かを判定することに相当する。また、ステップS1213の判定は、「最初のマークから射影をくりかえして第1のマークに至るまでのパターンの列文脈が0である」か否かを判定することに相当する。さらに、ステップS1215の判定は、『「第1マークから第2マークへの射影文脈が0である」かつ「第2マーク」が名前を表すマークである』か否かを判定することに相当する。
【0110】
ステップS1211でYesの場合、または、ステップS1213でNoの場合、は、f番目からt番目への射影文脈を求め(ステップS1217)、これが0に等しいか否かを調べる(ステップS1218)。0に等しくない場合(ステップS1218;No),パターンとして成立しない旨を報告して(ステップS1219)、本処理を終了する。
【0111】
なお、ステップS1218の判定は、「第1マークから第2マークへの射影文脈が0である」か否かを判定することに相当する。
【0112】
一方、ステップS1215でYesの場合、もしくは、ステップS1218でYesの場合は、マークの列qの末尾にmfを追加してこれを更新し(ステップS1220)、pを1増やして(ステップS1221)、ステップS1208に戻る。
【0113】
なお、ステップS1220の処理により、マークの列qの長さは1増えることになる。
【0114】
ステップS1208〜ステップS1221の繰り返しが終了したら、パターンとして成立する旨を報告して(ステップS1222)、本処理を終了する。
【0115】
(応用例)
以下では、上記の実施形態をテキストマイニングに応用する例について説明する。テキストマイニングの分野では、自然文を構文木に変換することがある。たとえば、図13には、「充電に時間がかかる。」という文と、これを構文木に変換した結果とを示す。本図に示すように、この構文木は、根が「かかる」であり、その子が「充電に」「時間が」であるような順序木である。
【0116】
したがって、得られる系列表現は、以下の通りである。
かかる,充電に,-1,時間が,-1
【0117】
この系列表現からは、順序木に復元可能なパターンとして、以下のようなものが得られる。
かかる
かかる,充電に,-1
かかる,時間が,-1
かかる,充電に,-1,時間が,-1
【0118】
このようにすると、ある構文木に含まれる部分木のうち、頻出するものを抽出することができるようになる。
【0119】
たとえば、ある商品群に含まれる商品に対する世間の評価を調べたい場合には、各商品について論評した文章を集め、当該文章に含まれる文のそれぞれについて構文木(順序木)を作り、さらに系列表現を得て、各商品について系列表現に含まれる(順序木に復元可能な)パターンを、頻度の順に抽出する。
【0120】
当該パターンを順序木に復元し、さらに、自然文に復元すると、当該商品に対する評判が頻度の順に得られることになる。
【0121】
【発明の効果】
以上説明したように、本発明によれば、順序木において頻出するパターンを抽出するのに好適な抽出装置、抽出方法、ならびに、これらをコンピュータに実現させるためのプログラムを提供することができる。
【図面の簡単な説明】
【図1】 情報処理装置の概要構成を示す模式図である。
【図2】 順序木の様子を示す説明図である。
【図3】 順序木と深さ優先探索の経路との関係を示す説明図である。
【図4】 順序木、系列表現、頻出するパターンの関係を示す説明図である。
【図5】 系列表現と射影の関係を示す説明図である。
【図6】 系列表現と射影の関係を示す説明図である。
【図7】 系列表現と射影の関係を示す説明図である。
【図8】 本発明の一つの実施形態に係る抽出装置の基本構成を示す模式図である。
【図9】 当該抽出装置にて実行される抽出方法の処理の流れを示すフローチャートである。
【図10】 列文脈の取得処理の制御の流れを示すフローチャートである。
【図11】 射影文脈の取得処理の制御の流れを示すフローチャートである。
【図12】 パターンとして成立するか否かの判定処理の制御の流れを示すフローチャートである。
【図13】 自然文の構文解析と系列表現の関係を示す説明図である。
【符号の説明】
101 情報処理装置
102 CPU
103 ROM
104 HD
105 キーボード
106 マウス
107 RAM
108 表示装置
109 インターフェース
110 FDドライブ
111 CD−ROMドライブ
201 順序木
202 経路
401 順序木
402 順序木
403 系列表現
404 系列表現
701 抽出装置
702 入力受付部
703 変換部
704 抽出部

Claims (4)

  1. 順序木から所定のパターンを抽出する抽出装置であって、
    「順序木に対する系列表現」とは、「当該順序木を深さ優先探索して、枝を進む際に通過する節はその名前を表すマークを、枝を戻る際はバックトラックマークを、それぞれ並べることによりできるマークの列」であり、
    「マークの列の列文脈」とは、「当該マークの列の先頭以外のマークのうち、名前を表すマークの数からバックトラックマークの数を減じた値」であり、
    「マークの列中のあるマークからこれよりも後に配置されるマークへの射影文脈」とは、「当該あるマークと、当該後に配置されるマークと、に囲まれるマークの列を先頭から順に走査したときに、走査を開始したマークから走査の現在のマークまでで、名前を表すマークの数からバックトラックマークの数を減じた値が負となることがあれば負の値、負となることがなければ、走査を開始したマークから走査の最後のマークまでで名前を表すマークの数からバックトラックマークの数を減じた値」であり、
    マークの列中のあるマーク(以下「先頭マーク」という。)、当該マークの列において当該先頭マークに一致しもしくは当該先頭マークよりも後に配置される第1マーク、当該マークの列において当該第1マークよりも後に配置される第2マークに対して、
    (a)当該第1マークが当該先頭マークに一致し、かつ、当該第1マークから当該第2マークへの射影文脈が0であり、かつ、当該第2マークが名前を表すマークである場合、当該第1マークから当該第2マークへの射影が可能であり、
    (b)当該第1マークが当該先頭マークよりも後に配置され、かつ、当該先頭マークから可能な射影を繰り返して第1マークに至ることができ、かつ、当該先頭マークから可能な射影を繰り返して第1マークに至るまでに通過するマークの列の列文脈が0であり、かつ、当該第2マークが名前を表すマークである場合、当該第1マークから当該第2マークへの射影が可能であり、
    (c)当該第1マークが当該先頭マークよりも後に配置され、かつ、当該先頭マークから可能な射影を繰り返して第1マークに至ることができ、かつ、当該先頭マークから可能な射影を繰り返して第1マークに至るまでに通過するマークの列の列文脈が0でなく、かつ、当該第1マークから当該第2マークへの射影文脈が0である場合、当該第1マークから当該第2マークへの射影が可能であり、
    (d)上記(a)(b)(c)のいずれでもない場合、当該第1マークから当該第2マークへの射影は不可能であり、
    「マークの列が含むパターン」とは、「マークの列中のあるマーク(以下「最初のマーク」という。)から可能な射影を0回以上繰り返して他のマーク(以下「最後のマーク」という。)に至ることができるとき、当該最初のマークから可能な射影を0回以上繰り返して当該最後のマークに至るまでに通過するマークの列」であり、
    「系列表現が含むパターン」とは、「当該系列表現であるマークの列が含むパターンのうち、最初のマークが名前を表すマークであるパターン」であり、
    1つ以上の順序木の入力を受け付ける入力受付部、
    前記入力を受け付けられた順序木のそれぞれについて、当該順序木を、当該順序木に対する系列表現へ変換する変換部、
    前記変換された系列表現のそれぞれについて、当該系列表現が含むパターンのうち、所定の頻度以上で出現するパターンを抽出する抽出部
    を備えることを特徴とする抽出装置。
  2. 請求項1に記載の抽出装置であって、
    前記抽出部は、当該所定の頻度以上で出現するパターンのうち、当該パターンが当該順序木に対する系列表現と一致するパターンのみを抽出する
    ことを特徴とする抽出装置。
  3. 入力受付部と、変換部と、抽出部と、を備える情報処理装置において実行される抽出方法であって、
    「順序木に対する系列表現」とは、「当該順序木を深さ優先探索して、枝を進む際に通過する節はその名前を表すマークを、枝を戻る際はバックトラックマークを、それぞれ並べることによりできるマークの列」であり、
    「マークの列の列文脈」とは、「当該マークの列の先頭以外のマークのうち、名前を表すマークの数からバックトラックマークの数を減じた値」であり、
    「マークの列中のあるマークからこれよりも後に配置されるマークへの射影文脈」とは、「当該あるマークと、当該後に配置されるマークと、に囲まれるマークの列を先頭から順に走査したときに、走査を開始したマークから走査の現在のマークまでで、名前を表すマークの数からバックトラックマークの数を減じた値が負となることがあれば負の値、負となることがなければ、走査を開始したマークから走査の最後のマークまでで名前を表すマークの数からバックトラックマークの数を減じた値」であり、
    マークの列中のあるマーク(以下「先頭マーク」という。)、当該マークの列において当該先頭マークに一致しもしくは当該先頭マークよりも後に配置される第1マーク、当該マークの列において当該第1マークよりも後に配置される第2マークに対して、
    (a)当該第1マークが当該先頭マークに一致し、かつ、当該第1マークから当該第2マークへの射影文脈が0であり、かつ、当該第2マークが名前を表すマークである場合、当該第1マークから当該第2マークへの射影が可能であり、
    (b)当該第1マークが当該先頭マークよりも後に配置され、かつ、当該先頭マークから可能な射影を繰り返して第1マークに至ることができ、かつ、当該先頭マークから可能な射影を繰り返して第1マークに至るまでに通過するマークの列の列文脈が0であり、かつ、当該第2マークが名前を表すマークである場合、当該第1マークから当該第2マークへの射影が可能であり、
    (c)当該第1マークが当該先頭マークよりも後に配置され、かつ、当該先頭マークから可能な射影を繰り返して第1マークに至ることができ、かつ、当該先頭マークから可能な射影を繰り返して第1マークに至るまでに通過するマークの列の列文脈が0でなく、かつ、当該第1マークから当該第2マークへの射影文脈が0である場合、当該第1マークから当該第2マークへの射影が可能であり、
    (d)上記(a)(b)(c)のいずれでもない場合、当該第1マークから当該第2マークへの射影は不可能であり、
    「マークの列が含むパターン」とは、「マークの列中のあるマーク(以下「最初のマーク」という。)から可能な射影を0回以上繰り返して他のマーク(以下「最後のマーク」という。)に至ることができるとき、当該最初のマークから可能な射影を0回以上繰り返して当該最後のマークに至るまでに通過するマークの列」であり、
    「系列表現が含むパターン」とは、「当該系列表現であるマークの列が含むパターンのうち、最初のマークが名前を表すマークであるパターン」であり、
    前記入力受付部が、1つ以上の順序木の入力を受け付ける入力受付工程、
    前記変換部が、前記入力を受け付けられた順序木のそれぞれについて、当該順序木を、当該順序木に対する系列表現へ変換する変換工程、
    前記抽出部が、前記変換された系列表現のそれぞれについて、当該系列表現が含むパターンのうち、所定の頻度以上で出現するパターンを抽出する抽出工程
    を備えることを特徴とする抽出方法。
  4. コンピュータに順序木から所定のパターンを抽出させるプログラムであって、
    「順序木に対する系列表現」とは、「当該順序木を深さ優先探索して、枝を進む際に通過する節はその名前を表すマークを、枝を戻る際はバックトラックマークを、それぞれ並べることによりできるマークの列」であり、
    「マークの列の列文脈」とは、「当該マークの列の先頭以外のマークのうち、名前を表すマークの数からバックトラックマークの数を減じた値」であり、
    「マークの列中のあるマークからこれよりも後に配置されるマークへの射影文脈」とは、「当該あるマークと、当該後に配置されるマークと、に囲まれるマークの列を先頭から順に走査したときに、走査を開始したマークから走査の現在のマークまでで、名前を表すマークの数からバックトラックマークの数を減じた値が負となることがあれば負の値、負となることがなければ、走査を開始したマークから走査の最後のマークまでで名前を表すマークの数からバックトラックマークの数を減じた値」であり、
    マークの列中のあるマーク(以下「先頭マーク」という。)、当該マークの列において当該先頭マークに一致しもしくは当該先頭マークよりも後に配置される第1マーク、当該マークの列において当該第1マークよりも後に配置される第2マークに対して、
    (a)当該第1マークが当該先頭マークに一致し、かつ、当該第1マークから当該第2マークへの射影文脈が0であり、かつ、当該第2マークが名前を表すマークである場合、当該第1マークから当該第2マークへの射影が可能であり、
    (b)当該第1マークが当該先頭マークよりも後に配置され、かつ、当該先頭マークから可能な射影を繰り返して第1マークに至ることができ、かつ、当該先頭マークから可能な射影を繰り返して第1マークに至るまでに通過するマークの列の列文脈が0であり、かつ、当該第2マークが名前を表すマークである場合、当該第1マークから当該第2マークへの射影が可能であり、
    (c)当該第1マークが当該先頭マークよりも後に配置され、かつ、当該先頭マークから可能な射影を繰り返して第1マークに至ることができ、かつ、当該先頭マークから可能な射影を繰り返して第1マークに至るまでに通過するマークの列の列文脈が0でなく、かつ、当該第1マークから当該第2マークへの射影文脈が0である場合、当該第1マークから当該第2マークへの射影が可能であり、
    (d)上記(a)(b)(c)のいずれでもない場合、当該第1マークから当該第2マークへの射影は不可能であり、
    「マークの列が含むパターン」とは、「マークの列中のあるマーク(以下「最初のマーク」という。)から可能な射影を0回以上繰り返して他のマーク(以下「最後のマーク」という。)に至ることができるとき、当該最初のマークから可能な射影を0回以上繰り返して当該最後のマークに至るまでに通過するマークの列」であり、
    「系列表現が含むパターン」とは、「当該系列表現であるマークの列が含むパターンのうち、最初のマークが名前を表すマークであるパターン」であり、
    当該プログラムは、当該コンピュータを、
    1つ以上の順序木の入力を受け付ける入力受付部、
    前記入力を受け付けられた順序木のそれぞれについて、当該順序木を、当該順序木に対する系列表現へ変換する変換部、
    前記変換された系列表現のそれぞれについて、当該系列表現が含むパターンのうち、所定の頻度以上で出現するパターンを抽出する抽出部
    として機能させることを特徴とするプログラム。
JP2003154127A 2003-05-30 2003-05-30 抽出装置、抽出方法、ならびに、プログラム Expired - Lifetime JP3853305B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2003154127A JP3853305B2 (ja) 2003-05-30 2003-05-30 抽出装置、抽出方法、ならびに、プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2003154127A JP3853305B2 (ja) 2003-05-30 2003-05-30 抽出装置、抽出方法、ならびに、プログラム

Publications (2)

Publication Number Publication Date
JP2004355457A JP2004355457A (ja) 2004-12-16
JP3853305B2 true JP3853305B2 (ja) 2006-12-06

Family

ID=34048874

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003154127A Expired - Lifetime JP3853305B2 (ja) 2003-05-30 2003-05-30 抽出装置、抽出方法、ならびに、プログラム

Country Status (1)

Country Link
JP (1) JP3853305B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4957656B2 (ja) * 2008-06-11 2012-06-20 富士ゼロックス株式会社 情報処理装置及び情報処理プログラム
JP5325131B2 (ja) * 2010-01-26 2013-10-23 日本電信電話株式会社 パターン抽出装置、パターン抽出方法及びプログラム

Also Published As

Publication number Publication date
JP2004355457A (ja) 2004-12-16

Similar Documents

Publication Publication Date Title
JP4657432B2 (ja) 階層構造の構造化文書を変換する装置
JP3714479B2 (ja) ネットワーク構造によるファイル管理方法、操作対象表示制限プログラムおよび記録媒体
US6353817B1 (en) Multi-user system for creating and maintaining a medical-decision-making knowledge base
US7287215B2 (en) System and method for facilitating the design of a website
US8805861B2 (en) Methods and systems to train models to extract and integrate information from data sources
JP2004295674A (ja) Xml文書解析方法、xml文書検索方法、xml文書解析プログラム、xml文書検索プログラムおよびxml文書検索装置
JP2000181917A (ja) 構造化文書管理方法及びその実施装置並びにその処理プログラムを記録した媒体
JPH06176081A (ja) 階層構造ブラウジング方法およびその装置
US20050086050A1 (en) Automated generation of text analysis systems
JAUSLIN Graphical presentation of information and services: A user-oriented interface
CN110532019A (zh) 一种软件代码片段历史追溯的方法
US20100005058A1 (en) Computer product, information retrieving apparatus, and information retrieving method
JP4247108B2 (ja) 構造化文書検索方法、構造化文書検索装置、及びプログラム
Li et al. Visual segmentation-based data record extraction from web documents
JP3853305B2 (ja) 抽出装置、抽出方法、ならびに、プログラム
JP4439497B2 (ja) 検索処理装置及びプログラム
JP3597940B2 (ja) Html文書本型整形方法及びその装置
JP3139658B2 (ja) 文書表示方式
JPH09245052A (ja) 構造化文書処理装置
JP2004110609A (ja) ファイル管理システム、ファイル管理プログラム、及び記録媒体
JPH09171510A (ja) 構造化データ処理装置
JP4319827B2 (ja) 文書検索プログラム
JP3511724B2 (ja) 文書検索方法
JP4134824B2 (ja) 情報処理装置及びプログラム
JP2002024233A (ja) 辞書データ構造を記録した記録媒体、辞書引き方法、語句取得方法、辞書引き装置、語句取得装置、プログラムを記録した記録媒体

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060516

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060718

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20060905

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

Year of fee payment: 6