JP2008084192A - 構造化文書検索装置、構造化文書検索方法および構造化文書検索プログラム - Google Patents

構造化文書検索装置、構造化文書検索方法および構造化文書検索プログラム Download PDF

Info

Publication number
JP2008084192A
JP2008084192A JP2006265769A JP2006265769A JP2008084192A JP 2008084192 A JP2008084192 A JP 2008084192A JP 2006265769 A JP2006265769 A JP 2006265769A JP 2006265769 A JP2006265769 A JP 2006265769A JP 2008084192 A JP2008084192 A JP 2008084192A
Authority
JP
Japan
Prior art keywords
document
structured
structured document
search
partial
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.)
Abandoned
Application number
JP2006265769A
Other languages
English (en)
Inventor
Akiko Murai
昭子 村井
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.)
Toshiba Corp
Original Assignee
Toshiba 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 Toshiba Corp filed Critical Toshiba Corp
Priority to JP2006265769A priority Critical patent/JP2008084192A/ja
Publication of JP2008084192A publication Critical patent/JP2008084192A/ja
Abandoned legal-status Critical Current

Links

Images

Landscapes

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

Abstract

【課題】適切に検索結果を取得して出力する構造化文書検索装置を提供すること。
【解決手段】検索キーワードの入力を受付ける受付部101と、受付けた検索キーワードを含む構造化文書を文書管理装置から検索する検索部102と、検索された構造化文書に含まれる論理構造の単位である構造要素の出現に関する統計情報を算出する算出部106と、算出した統計情報に基づいて特徴ベクトルを生成する生成部113と、特徴ベクトルに基づいて構造化文書を特徴づける構造要素を選択し、選択した構造要素から、検索された構造化文書間で類似する構造要素である類似部分構造を抽出する構造抽出部107と、抽出した類似部分構造に対応する構造化文書内の部分文書を抽出する文書抽出部108と、抽出した部分文書を構造要素ごとに出力する出力部111と、を備えた。
【選択図】 図1

Description

この発明は、異なる階層構造を有する複数の構造化文書から検索キーワードに適合する構造化文書を検索する構造化文書検索装置、構造化文書検索方法および構造化文書検索プログラムに関するものである。
近年、コンピュータでの文書データの管理や処理を容易にするために、構造化文書が広く用いられている。例えば、文書の題名を「タイトル」というタグで囲み、さらに文書全体を「ドキュメント」というタグで囲むといったように、階層的に構造化した構造化文書を定義することができる。
このような構造化文書を記述するための規約として、例えば、SGML(Standard Generalized Mark-up Language)やXML(eXtensible Markup Language)などの構造化文書規約の標準化が進められ、広く用いられている。
構造化文書の検索では、キーワードと共に構造を検索範囲として指定する検索が可能である。例えば、検索キーワード「XML」が「見出し」というタグに含まれる文書を検索するという検索条件を指定することができる。このため、「見出し」というタグ以外の文字列のみに検索キーワード「XML」が含まれている構造化文書を検索対象から除くことができる。
すなわち、従来のプレインテキスト文書のキーワード検索ではキーワードを含むすべての文書を検出するが、構造化文書のキーワード検索では指定要素範囲にキーワードが含まれる文書のみを検出するため、より目的に近い検索が可能である。
一方、文書の検索結果を構造化文書として出力する技術も提案されている。例えば、特許文献1では、指定した検索キーワードが含まれている構造化文書内の要素を検出し、検出した要素のみを検索結果として列挙する技術が提案されている。特許文献1の方法によれば、検索結果にはキーワードを含む要素のみが出力され、キーワードを含まない要素は省略することが可能となる。また、特許文献1の方法では、検索結果である1つの構造化文書内で関連する要素を抽出し、抽出した要素を1つの要素として整形して出力することができる。
特開2005−267344号公報
しかしながら、特許文献1の方法では、文書単位で文書の整形をしているため、複数の文書について出力された検索結果を確認するときに比較することが容易でない場合があるという問題があった。これは、検索結果である複数の文書間の要素の関連性を考慮していないことに起因する問題である。
なお、複数の文書間の要素の関連性を考慮する場合は、XMLのように任意のタグ名や構造を取りうる構造化文書が存在することに注意する必要がある。例えば、XMLでは、同一の要素を含むが要素間の階層関係が異なる文書や、同じ意味内容の要素を表すが要素名が異なる文書などが存在しうる。このような場合であっても、各構造化文書間で関連性のある要素を検索し、比較可能に整形して出力することが望ましい。
本発明は、上記に鑑みてなされたものであって、XMLのように構造が不定の構造化文書に対しても適切に検索結果を取得して出力することができる構造化文書検索装置、構造化文書検索方法および構造化文書検索プログラムを提供することを目的とする。
上述した課題を解決し、目的を達成するために、本発明は、階層化された論理構造を有する構造化文書を格納する文書管理装置とネットワークを介して接続された構造化文書検索装置であって、検索キーワードの入力を受付ける受付手段と、受付けた前記検索キーワードを含む複数の前記構造化文書を前記文書管理装置から検索する検索手段と、検索された複数の前記構造化文書に含まれる前記論理構造の単位である構造要素の出現に関する統計情報を算出する算出手段と、算出された前記統計情報に基づいて、検索された複数の前記構造化文書の特徴ベクトルを生成する生成手段と、生成された前記特徴ベクトルに基づいて、検索された複数の前記構造化文書を特徴づける前記構造要素を選択し、選択した前記構造要素から、検索された前記構造化文書間で類似する前記構造要素である類似部分構造を抽出する構造抽出手段と、抽出した前記類似部分構造に対応する前記構造化文書内の部分文書を抽出する文書抽出手段と、抽出した前記部分文書を前記構造要素ごとに出力する出力手段と、を備えたことを特徴とする。
また、本発明は、上記装置を実行することができる構造化文書検索方法および構造化文書検索プログラムである。
本発明によれば、統計情報に基づいて複数の文書間で類似する構造要素を抽出し、抽出した構造要素に対応する部分文書を検索して出力することができる。このため、XMLのように構造が不定の構造化文書に対しても適切に検索結果を取得して出力することができるという効果を奏する。
以下に添付図面を参照して、この発明にかかる構造化文書検索装置、構造化文書検索方法および構造化文書検索プログラムの最良な実施の形態を詳細に説明する。
(第1の実施の形態)
第1の実施の形態にかかる構造化文書検索装置は、検索された構造化文書の構造要素の統計情報を算出し、算出した統計情報に基づいて複数の構造化文書間で類似する構造要素を抽出し、抽出した構造要素に対応する部分文書を取得して一覧形式で出力するものである。
図1は、第1の実施の形態にかかる構造化文書検索装置100の構成を示すブロック図である。なお、構造化文書検索装置100は、ネットワーク300を介して構造化文書を管理する文書管理装置200と接続されている。
ネットワーク300は、文書管理装置200と構造化文書検索装置100とを接続するもので、例えば、インターネット、有線LAN(Local Area Network)、無線LANなどのあらゆるネットワーク構成を適用することができる。
文書管理装置200は、検索対象となる構造化文書を格納する構造化文書記憶部221を備えている。なお、文書管理装置200は、1つに限られるものではなく、複数の文書管理装置200に格納された構造化文書を対象として検索を実行できる。
構造化文書記憶部221は、複数の構造化文書を記憶している。構造化文書記憶部221は、HDD(Hard Disk Drive)、光ディスク、メモリカード、RAM(Random Access Memory)などの一般的に利用されているあらゆる記憶媒体により構成することができる。
ここで、構造化文書について説明する。図2は、構造化文書の一例を示す説明図である。同図は、XMLを構造化文書規約として記述された構造化文書の例を示している。なお、構造化文書は、XMLを構造化文書規約とするものに限定されるものではなく、例えば、SGMLやHTMLなどの他の構造化文書であってもよい。
同図に示すように、XMLでは、文書の実情報を表す文字列に対して「タグ」が付加されている。同図に示す例では、「<新譜>」、「</新譜>」、「<アーティスト>」および「<タイトル>」などがタグを表す。このタグにより、文書データを階層化した論理構造で表すことができる。XMLでは、タグは、タグの内容を表す名称を記号「<」と記号「>」とで囲むことによって表現される。
なお、記号「<」と記号「>」とで囲まれるタグを開始タグといい、記号「</」と記号「>」とで囲まれるタグは終了タグという。また、文字列を開始タグと終了タグで囲んだ単位を、論理構造を構成する1単位である構造要素(以下、単に要素という。)という。またタグの内容を表す名称を要素名と呼ぶ。要素をさらにタグで囲むことにより、文書を階層的に構造化することができる。また文字列を挟む最も内側の開始タグと終了タグに対応する要素をテキスト要素と称する。
同図に示す例では、「<アーティスト>」と「</アーティスト>」とで、「Limited Time」という文字列が囲まれている。これにより、この文字列に対して「アーティスト」という要素名が付与されている。さらにアーティスト要素は、「<新譜>」と「</新譜>」タグによって囲まれており、新譜要素内に含まれる要素として構造化されている。また、アーティスト要素は文字列「Limited Time」の最も内側のタグであるため、アーティスト要素はテキスト要素である。
図3は、図2と構造が異なる別の構造化文書の一例を示す説明図である。構造化文書記憶部221には、図2および図3に示すような構造化文書の他、要素名、構造、構造の深さ、または要素の数が異なる構造化文書を同時に記憶することができる。なお、構造化文書記憶部221は、検索部102で検索可能な形式であればあらゆる保存形式で構造化文書を記憶できる。
以下に、本実施の形態における構造化文書の保存形式の概要について説明する。図4および図5は、それぞれ図2および図3に示した構造化文書の論理構造を示した説明図である。
図4および図5に示すように、各要素は木構造の階層構造として表現されている。各要素は円形で示され、テキスト要素に含まれる文字列(テキストデータ)は四角形で示されている。また、円形の中の文字列は要素名を表している。
例えば図4の「アーティスト」は要素であるため円形で表現されており、要素名(アーティスト)が表示されている。また、「Limited Time」は、テキスト要素であるアーティスト要素内のテキストデータであるため、四角形で表現されている。「Limited Time」はアーティスト要素に含まれるテキストデータであるため、上下関係の線で連結表現されている。
それぞれの要素、テキスト要素の右肩には、後述する各処理で利用するIDが表示されている。IDの値は、左から順に要素IDと要素名IDとを表している。要素IDとは、その文書内で要素を一意に識別する識別子を意味する。要素名IDとは、すべての構造化文書で要素名を一意に識別する識別子を意味する。
図4のアーティスト要素は要素IDが2、要素名IDが2である。図5のアーティスト要素は、要素IDが4であるため図4と異なっているが、要素名IDは図4のアーティスト要素と同じ要素名であるため、同一の値(2)である。
テキストデータの右肩の小さい円形の値は、その文書内でテキストデータを一意に識別するテキストデータIDである。図4では、例えば、「Limited Time」のテキストデータのテキストデータIDは1である。
このように、構造化文書記憶部221では、構造化文書の木構造の各要素に対して、各要素を識別するためのIDを付与して構造化文書を保存している。
図1に戻り、構造化文書検索装置100は、統計情報記憶部122と、受付部101と、検索部102と、第1判断部103と、決定部104と、変更部105と、算出部106と、生成部113と、構造抽出部107と、文書抽出部108と、第2判断部109と、追加部110と、出力部111と、を備えている。
統計情報記憶部122は、構造化文書に含まれる各要素に関する統計情報を格納するものである。具体的には、統計情報記憶部122は、統計情報として、文書管理装置200内に格納されている構造化文書における、当該構造化文書に含まれる各要素の出現頻度を格納する。
図6は、統計情報記憶部122に記憶される統計情報のデータ構造の一例を示す説明図である。同図に示すように、統計情報は、各要素の要素名IDと、文書管理装置200内に格納されている構造化文書内での出現頻度とを対応づけて格納している。
統計情報記憶部122に記憶された統計情報は、後述する算出部106が、検索された構造化文書の各要素の統計情報を算出するときに参照される。
受付部101は、ユーザーにより入力された検索キーワードを受付けるものである。受付部101は、キーボードなどの入力装置から入力された検索キーワードを受付けるように構成してもよいし、ネットワーク300を介して外部装置で入力された検索キーワードを受付けるように構成してもよい。
検索部102は、受付部101により受付けられた検索キーワードを検索条件として、文書管理装置200内の構造化文書記憶部221から検索キーワードを含む構造化文書を検索するものである。検索部102は、検索キーワードがテキスト要素のテキストデータに含まれている場合のみならず、要素名にキーワードが含まれている場合を検出することができる。
なお、検索部102は、テキストデータのみを検索対象とするように構成してもよい。また、検索部102は、図示しない同義語辞書等を参照して、検索キーワードの意味を拡張したキーワードを含む構造化文書を検索するように構成してもよい。例えば、検索時のユーザーの設定、または事前の設定により、検索キーワードの意味を拡張して検索することを指定可能とすることにより実現できる。
図7は、検索部102による検索結果の一例を示した説明図である。同図は、検索キーワードとして「Limited Time」および「CD」が入力されたときの検索結果の例を表している。
例えば、図2の構造化文書には第1のキーワード「Limited Time」がアーティスト要素に、第2のキーワード「CD」がメディア要素に含まれている。すべての検索キーワードが含まれている文書であるため、図2の文書は、検索キーワードに適合する適合文書として検索される。
図3の構造化文書には第1のキーワードがアーティスト要素に、第2のキーワードはジャンル要素に含まれる要素名として複数回含まれている。すべての検索キーワードが含まれている文書であるため、図3の文書も適合文書として検索される。
図7では、検索キーワードごとに、適合する構造化文書を一意に識別する文書IDと、テキスト要素であるか否かを表すテキスト要素フラグと、要素IDと、要素名IDとを対応づけた検索結果の例が示されている。なお、テキスト要素フラグは、検索キーワードを含む要素がテキスト要素である場合にT(True)を、それ以外の場合にF(False)を設定する。同図は、図2の構造化文書の文書IDを1、図3の構造化文書の文書IDを2とした場合の例が示されている。
このように、検索部102は、すべてのキーワードを検出した文書について、その文書と、検出した要素と、その要素名とを特定する情報を作成し検索結果として次の処理に渡す。このとき、テキスト要素が検出された場合は検出したテキスト要素に含まれるテキストデータのテキストデータIDを渡すように構成してもよい。
図7では、第1のキーワード「Limited Time」を検出したテキスト要素の情報がぞれぞれの文書で1件ずつ列挙されており、それぞれテキスト要素フラグは「T」となっている。また、第2のキーワード「CD」を検出した要素は、文書IDが1の場合はテキスト要素でありテキスト要素フラグには同様に「T」が設定される。文書IDが2の場合、要素IDが3と8の要素が検出されるため、2件列挙される。また、要素ID=3および8の要素はテキスト要素ではないため、テキスト要素フラグは双方「F」が設定される。
図1に戻り、第1判断部103は、検索された構造化文書に含まれる各要素について、構造化文書間で同義語の関係にある要素名が存在するか否かを判断するものである。具体的には、第1判断部103は、図示しない同義語辞書を参照して、各構造化文書内に同義語関係にある要素名が存在するか判断する。なお、同義語と判断された要素名は、後述する変更部105により、いずれかの要素名に統一するように変更される。
決定部104は、検索キーワードをテキストデータ内に含むテキスト要素から、検索キーワードと一致する度合いを表す適合度が最大の要素の要素名である代表要素名を決定するものである。具体的には、決定部104は、以下の条件を満たす要素の要素名を代表要素名として決定する。
条件1:データ長/キーワード長(=N)が最小(N>=1)
条件2:検索キーワードの出現頻度が最大
このように決定された代表要素名は、後述する変更部105により、検索キーワードを要素名内に含む要素の要素名を、当該代表要素名に変更するときに参照される。
変更部105は、第1判断部103が同義語の関係にあると判断した要素名について、類似の要素名を統一する要素名の正規化処理を実行するものである。具体的には、変更部105は、一方の要素名を同義語の関係にある他方の要素名に変更する。
また、変更部105は、検索キーワードを要素名内に含む要素の要素名を変更する適合要素名変更処理を行う。具体的には、変更部105は、まず、検索キーワードを要素名内に含む要素の要素名を、当該検索キーワードに対して決定部104が決定した代表要素名に変更する。そして、変更部105は、変更前の要素名を代表要素名に対応するテキストデータとして付加し、当該代表要素名の要素をテキスト要素に変更する。
算出部106は、検索された構造化文書の各要素の統計情報を算出するものである。具体的には、算出部106は、検索された構造化文書内の各要素について、対応する出現頻度を統計情報記憶部122から取得して統計情報とする。また、正規化処理を行った場合は、算出部106は、要素名を変更した要素の出現頻度を変更先の要素名の出現頻度に加算して統計情報を算出する。さらに、算出部106は、変更部105が適合要素名変更処理を実行した場合は、要素名を代表要素名に変更した要素の出現頻度を、代表要素名の出現頻度に加算して統計情報を算出する。
生成部113は、算出部106により算出された統計情報を参照し、さらに検索キーワードを検出した要素を加味して、文書ごとに特徴ベクトルを生成するものである。特徴ベクトルとは、構造化文書を特徴づける要素を表す情報である。本実施の形態では、生成部113は、出現頻度が所定の閾値(出現頻度に関する閾値)より高い要素を抽出し、さらに検索キーワードが検出された要素を追加することにより特徴ベクトルを生成する。特徴ベクトルの詳細については後述する。
構造抽出部107は、生成された特徴ベクトルから、検索された構造化文書間で類似する要素(類似部分構造)を抽出するものである。すなわち、構造抽出部107は、検索された複数の構造化文書の特徴ベクトル間の類似度を、ベクトル空間法などを用いて算出する。具体的には、2つの特徴ベクトルをそれぞれA、Bとすると、構造抽出部107はA×B/|A||B|により類似度を算出する。A×Bは、ベクトルAとベクトルBとの内積を表す。なお、類似度の算出方法はこれに限られるものではなく、2つの構造化文書の構造の類似度を算出するものであれば、あらゆる方法を適用できる。
そして、構造抽出部107は、算出した類似度が所定の閾値(類似度に関する閾値)より大きい構造化文書に含まれる各要素を類似部分構造として抽出する。
文書抽出部108は、類似部分構造ごとに、検索結果である構造化文書から適合する部分文書を抽出し分類する処理を行うものである。具体的には、文書抽出部108は、抽出した類似部分構造を含む構造化文書を取得し、取得した構造化文書に対して、検索キーワードが適合した要素から構造を辿り、類似部分構造に含まれる要素を部分文書として検出する。
第2判断部109は、抽出した部分文書に含まれない検索キーワードが存在するか否かを判断するものである。具体的には、第2判断部109は、検索キーワードが適合した要素のうち、文書抽出部108により抽出された部分文書に含まれない要素が存在するかを判断する。
追加部110は、類似部分構造ごとに抽出されることで分類されている部分文書について、検索結果要素を過不足なく統合するとともに、部分文書のサイズを調整する処理を行うものである。具体的には、追加部110は、検索キーワードが適合した要素であって部分文書に含まれない要素が存在すると第2判断部109により判断された場合に、当該要素に対応する部分文書を追加する。また、抽出された部分文書のサイズが所定の閾値(部分文書サイズに関する閾値)より大きい場合に、検索キーワードを含まない要素などを削除することにより、部分文書のサイズを縮小する。
出力部111は、統合され、サイズ調整された部分文書を、類似部分構造による分類ごとに最適な形式で出力するものである。具体的には、出力部111は、類似部分構造に相当する要素のテキストデータを、表形式で出力する。
次に、このように構成された第1の実施の形態にかかる構造化文書検索装置100による構造化文書検索処理について説明する。図8は、第1の実施の形態における構造化文書検索処理の全体の流れを示すフローチャートである。
まず、受付部101が、ユーザーにより入力された検索キーワードを受付ける(ステップS801)。次に、検索部102が、受付けた検索キーワードで検索処理を実行する(ステップS802)。具体的には、検索部102は、受付けた検索キーワードを含む構造化文書を、文書管理装置200の構造化文書記憶部221から検索する。
次に、検索した構造化文書のそれぞれについて各要素の統計情報を算出する構造統計情報算出処理を実行する(ステップS803)。構造統計情報算出処理の詳細については後述する。
次に、構造抽出部107が、検索された構造化文書から類似部分構造を抽出する類似部分構造抽出処理を実行する(ステップS804)。類似部分構造抽出処理の詳細については後述する。
次に、文書抽出部108が、類似部分構造に対応する部分文書を抽出する部分文書抽出処理を実行する(ステップS805)。部分文書抽出処理の詳細については後述する。
次に、必要な部分文書の統合およびサイズの調整を行う部分文書統合処理を実行する(ステップS806)。部分文書統合処理の詳細については後述する。
最後に、出力部111が、統合された部分文書を表示して(ステップS807)、構造化文書検索処理を終了する。
次に、ステップS803の構造統計情報算出処理の詳細について説明する。図9は、第1の実施の形態における構造統計情報算出処理の全体の流れを示すフローチャートである。
まず、第1判断部103が、検索キーワードと適合した要素を含む構造化文書を取得する(ステップS901)。次に、要素名の正規化処理が実行される。正規化処理では、まず、第1判断部103が、取得した複数の構造化文書間で、同義語関係となる要素が存在するか否かを判断する(ステップS902)。この際、第1判断部103は、同義語辞書(図示せず)等を参照することにより、ある要素名と同義語または類義語の関係にある他の要素名を検出する。
例えば、第1判断部103は、図2の構造化文書の「タイトル」要素の要素名と、図3の構造化文書の「題名」要素の要素名とが同義語の関係にあると判断する。
同義語関係となる要素が存在する場合は(ステップS902:YES)、変更部105は、一方の要素名を他方の要素名に変更する正規化を行う(ステップS903)。上述の例では、変更部105は、例えば「題名」要素の要素名「題名」を、「タイトル」に変更する。同時に変更部105は「題名」要素の要素名IDを11から3に変更する。すなわち、図5では「題名」要素の要素ID=6、要素名ID=11であったが、変更後は、要素ID=6、要素名ID=3となる。
なお、統一する要素名は、例えば、出現頻度の多い要素名に変更する方法などのあらゆる方法により決定できる。また、要素名の正規化処理は省略するように構成してもよい。
同義語関係となる要素が存在しない場合(ステップS902:NO)、または正規化処理実行後(ステップS903)、適合要素名変更処理が実行される。適合要素名変更処理の前段階として、決定部104による代表要素名決定処理が実行される。代表要素名決定処理では、まず、決定部104が、検索キーワードが要素名として検索されたか否かを判断する(ステップS904)。
検索された場合は(ステップS904:YES)、決定部104は、検索キーワードのそれぞれについて、代表要素名を決定する(ステップS905)。具体的には、決定部104は、上述の条件1、条件2に最も適合する条件を有する要素の要素名を代表要素名とする。
例えば、検索キーワード「Limited Time」が入力された場合、図2の構造化文書(文書ID=1)については、テキストデータが検索キーワードと完全に一致するため、データ長/キーワード長=1であり、最小となる。また、文書ID=1の文書のように、「アーティスト」要素に「Limited Time」が出現する頻度が最も高ければ、代表要素名は「アーティスト」であると決定される。
同様に、検索キーワード「CD」が入力された場合も、文書ID=1の文書では、データ長/キーワード長=1であるため、「メディア」要素に「CD」が出現する頻度が最も高ければ、「メディア」が代表要素名として決定される。
次に、変更部105が、適合要素名変更処理を実行する。具体的には、変更部105は、要素名が検索キーワードと適合した要素のそれぞれについて、要素名を、当該検索キーワードについて決定された代表要素名に変更する。また、当該要素に、検索キーワードと適合した要素名をテキストデータとして付加する(ステップS906)。
例えば、検索キーワード「CD」が入力された場合、図3の構造化文書では、「CD」要素の要素名内に検索キーワードが含まれているため、当該要素が適合要素として検索される。図10は、この例について適合要素名変更処理を実行した結果の一例を示す説明図である。同図に示すように、図5では、ジャンルの子要素であった2つの「CD」要素はそれぞれ「メディア」要素となり、要素名IDも5に変更される。さらに、変更した「メディア」要素それぞれの子要素として文字列「CD」を含むテキストデータが付加されている。同図に示すように、付加したテキストデータは、変更前の要素名「CD」である。
なお、キーワード検索を要素名に対して行わない場合などでは、適合要素名変更処理を省略するように構成してもよい。
図9に戻り、ステップS904で検索キーワードが要素名として検索されていないと判断された場合(ステップS904:NO)、または、ステップS906で適合要素名変更処理実行後、算出部106は、要素名ごとの出現頻度の統計を算出する(ステップS907)。
具体的には、算出部106は、統計情報記憶部122から検索キーワードに適合した文書に含まれる要素名IDの出現頻度を取得し、正規化処理または適合要素名変更処理を行った要素については変更前の要素の出現頻度を変更後の要素の出現頻度に加算することにより、出現頻度の統計を算出する。
図11は、算出した統計情報の一例を示す説明図である。同図に示すように、算出部106は、算出した頻度を表形式で表した要素名ID頻度表を出力する。同図は、図6に示した統計情報記憶部122から取得した頻度を基にして算出した例を示している。また、例えば、図5に示した構造化文書の「題名」要素(要素名ID=11)は、正規化処理により要素名ID=3に変更されているため、要素名ID=11の頻度(10)が、要素名ID=3の頻度(39)に加算された値(49)が、要素名ID頻度表に設定されている。同時に、要素名ID頻度表からは要素名ID=11の要素が削除されている。
同様に、図5に示した構造化文書の「CD」要素(要素名ID=10)は、適合要素名変更処理により要素名ID=5に変更されているため、要素名ID=10の頻度(12)が、要素名ID=5の頻度(33)に加算された値(45)が、要素名ID頻度表に設定されている。同時に、要素名ID頻度表からは要素名ID=10の要素が削除されている。
なお、検索に適合した他の文書に他の要素名IDが存在する場合は、それらも列挙され出現頻度が算出される。また、高頻度欄には、頻度数が上位の要素名IDに対してその順位が設定される。さらに、キーワードヒット欄には、検索キーワードと適合した要素の要素名IDに対して1が設定され、それ以外の要素名IDには0が設定される。算出部106は、このようにして作成された要素名ID頻度表を次の処理に渡す。
次に、ステップS804の類似部分構造抽出処理の詳細について説明する。図12は、第1の実施の形態における類似部分構造抽出処理の全体の流れを示すフローチャートである。
まず、構造抽出部107は、検索キーワードの適合要素を含む構造化文書を取得する(ステップS1201)。次に、生成部113は、取得した構造化文書ごとに、出現頻度の高い要素の特徴ベクトルを生成する(ステップS1202)。
図13は、生成した特徴ベクトルの一例を示す説明図である。同図では、構造化文書を構成する要素の要素名を列挙し、文書ごとにそれら要素の有無を1(要素あり)および0(要素なし)で表現した特徴ベクトルの例を示している。また、特徴ベクトルには、算出部106から渡された要素名ID頻度表から所定数の高頻度の要素と、検索キーワードと適合した要素とが含まれる。
図13の例では、図11に示したような要素名ID頻度表から、高頻度の要素として要素名ID=2の「アーティスト」要素、要素名ID=3の「タイトル」要素、要素名ID=4の「日付」要素の3つの要素を選出し、さらにキーワードが適合した要素として「メディア」要素を選出している。検索キーワードが適合した要素の追加は省略可能だが、追加した方がより適切な検索結果を取得して出力することが可能となる。
文書ID=1の列は、図11から選出した要素名IDに対応する要素の有無を図4の文書の構造について抽出した特徴ベクトルを表す。他の文書も同様にそれぞれの文書の構造について特徴ベクトルを抽出する(図13の文書ID=2、3、・・・)
図12に戻り、次に構造抽出部107は、特徴ベクトルから構造化文書間の類似度を算出する(ステップS1203)。具体的には、上述のように、2つの構造化文書のそれぞれに対する特徴ベクトルをそれぞれA、Bとすると、構造抽出部107は、A×B/|A||B|により類似度を算出する。
図13の表の下部には、特徴ベクトルから算出した各文書間の類似度を算出した結果が示されている。なお、ここでは、要素ありの場合を1、要素なしの場合を−1とした特徴ベクトルを用いて類似度を算出している。
類似度が高い構造化文書が相互に類似すると判定することができる。同図の例では、文書ID=1、2、3が相互に類似すると判定される。
次に、構造抽出部107は、類似度の高い構造化文書に含まれる要素の和を類似部分構造として抽出する(ステップS1204)。図13の例では、文書ID=1、2、3の要素の和として、同図に示されている全要素が類似部分構造として選択される。
図14は、抽出された類似部分構造の一例を示す説明図である。同図は、図13の文書ID=1、2、3から抽出された類似部分構造を表している。同図では、要素名ID=0の要素を親要素として、要素名ID=2〜5の要素(「アーティスト」要素、「タイトル」要素、「日付」要素、「メディア」要素)が子要素として含まれる構造が、類似部分構造として抽出された例が示されている。
このとき、類似部分構造には検索キーワードが検出された要素が含まれていることが望ましい。図13の例では、文書ID=1で「アーティスト」要素および「メディア」要素で検索キーワードが検出されているため、類似部分構造に検索キーワードが検出された要素が含まれている。
もし検索キーワードが検出された要素が含まれていない場合は、検索キーワードが検出された要素を1つ以上含める。例えば、類似度が次に高い構造化文書を調べ、検索キーワードが検出された要素が含まれている場合に、その要素を類似部分構造に追加する。また、追加した要素を含む構造化文書に含まれる要素と、当該構造化文書と最も類似度が高い構造化文書に含まれる要素との和を取り、その中にさらにキーワードが検出された場合にその要素を追加するという方式など、あらゆる方法により検索キーワードを含む要素を追加することができる。
なお、特徴ベクトルから類似部分構造を抽出し、当該類似部分構造に該当する文書を判定した後、当該類似部分構造に該当しない他の文書に関して、さらに類似部分構造を抽出できる場合がある。図15は、生成した特徴ベクトルの別の例を示す説明図である。図15に示すような特徴ベクトルが生成された場合、文書ID=1、2、3間の類似度が高いことがわかるため、これらの構造化文書の要素の和を類似部分構造とする。残りの構造化文書である文書ID=4、5についても相互に類似すると判定できるため、文書ID=4、5の要素の和をもう一つの類似部分構造として抽出することができる。
次に、ステップS805の部分文書抽出処理の詳細について説明する。図16は、部分文書抽出処理の全体の流れを示すフローチャートである。
まず、文書抽出部108は、類似部分構造に適合する文書を取得する(ステップS1601)。例えば、図14に示すような類似部分構造が抽出された場合、抽出の基になった文書ID=1、2、3の構造化文書が取得される。
次に、文書抽出部108は、検索キーワードが検出された要素(以下、ヒット要素という。)を基点として、取得した構造化文書の階層構造を辿り、類似部分構造に対応する要素を検出して部分文書として抽出する(ステップS1602)。
部分文書は、検索キーワードが検出された要素に近い領域から抽出する。例えば、検索キーワードが検出された要素がテキスト要素である場合は、その親要素に近い要素、すなわち、その兄弟要素を確認する。検索キーワードが要素名内で検出された場合は、その要素以下の構造を先に調べ、その後必要があれば親、兄弟、先祖の要素へと拡張して部分文書を抽出する。なお、類似部分構造に含まれるすべての要素が部分文書に含まれない場合もありうるが、その場合は含まれない要素は無視して同様の処理を行う。
以下に、部分文書抽出の具体例について説明する。例えば、図4の構造化文書の場合、類似部分構造には、検索キーワードが検出されたテキスト要素が2つとも含まれている。それらを基点とし、近くに存在する要素として、まず、検索キーワードが検出された要素の兄弟要素が調査される。次に親要素、親要素の兄弟要素以下の構造、先祖要素というように、必要に応じて調査範囲は拡張される。この例の場合は、検索キーワードが検出されたテキスト要素の兄弟要素に類似部分構造に含まれる要素が検出される。文書抽出部108は、検出した要素の親要素以下を、類似部分構造に適合する部分文書として抽出する。
また、図5の構造化文書の場合、類似部分構造には、テキストデータから検索キーワード「Limited Time」が検出されたテキスト要素が1つと、要素名からキーワード「CD」が検出されたテキスト要素が1つ含まれる。テキストデータから検索キーワードが検出されたテキスト要素の兄弟要素には類似部分構造に含まれる要素が検出される。さらにその要素の親要素は別の検索キーワード(「CD」)が要素名内で検出された要素そのもの(「CD」要素)であるため、文書抽出部108は、「CD」要素以下を部分文書として抽出する。
また、複数の検索キーワードで検索を実施した際に、類似部分構造に検索キーワードが検出された構造がすべて含まれない場合、例えば1つしか含まれない場合も生じる。図17は、このような場合が生じうる構造化文書の論理構造の別の例を示した説明図である。
例えば、図17のような論理構造を有する構造化文書の場合、類似部分構造から部分文書を抽出すると、要素ID=5の要素以下の部分文書が抽出される。これは類似部分構造に含まれる検索キーワード「CD」が検出された要素である「media」要素を基点として抽出された結果である。
なお、この構造化文書の場合、もう1つの検索キーワード「Limited Time」が要素ID=2の「title」要素に含まれているが、当該要素を含む構造を抽出すると、要素ID=1の「doc」要素以下のすべての要素が含まれることになる。したがって、このような場合はすべての検索キーワードを含む部分文書ではなく、少なくとも1つの検索キーワードを含む部分文書である、要素ID=5の要素以下の部分文書を抽出する。
また、図17のような論理構造を有する構造化文書の場合、類似部分構造に含まれる「media」要素は、検索キーワードに適合する要素であり、さらに同一の構造化文書内で複数回検出されうる要素である。このような場合は、それぞれの検出された要素を基点として、部分文書を抽出する処理を行う。すなわち、要素ID=13の要素を基点として抽出した要素ID=10の「music」要素も部分文書として抽出される。
図16に戻り、文書抽出部108は、抽出した部分文書のサイズが予め定められた閾値(部分文書サイズに関する閾値)より小さいか否かを判断する(ステップS1603)。閾値より大きい場合は(ステップS1603:NO)、後述する部分文書統合処理内で、部分文書のサイズを縮小する処理を行うため、部分文書抽出処理を終了する。
閾値より小さい場合は(ステップS1603:YES)、文書抽出部108は、複数の部分文書が抽出されたか否かを判断する(ステップS1604)。上述のように、類似部分構造に対応する部分文書が複数抽出される場合があるため、いずれの部分文書を採用するかを以下の処理で決定する必要があるからである。
複数の部分文書が抽出された場合は(ステップS1604:YES)、文書抽出部108は、部分文書ごとに検索キーワードに適合する要素数を算出する(ステップS1605)。そして、適合する要素数が最も多い部分文書を選択する(ステップS1606)。複数の部分文書が抽出されない場合は(ステップS1604:NO)、部分文書抽出処理を終了する。
なお、部分文書の選択処理では、要素数だけでなく、部分文書のサイズを考慮して選択するように構成してもよい。すなわち、以下のような基準により部分文書に優先順位を付加し、優先順位の最も高い部分文書を選択する。
最も優先順位が高い部分文書は、すべての検索キーワードが含まれるテキスト要素を含む部分文書の中で、類似部分構造に含まれる要素を最も多く含み、部分文書の階層の深さが最も小さいものである。この段階で同等の部分文書が複数存在する場合は、それらすべてを抽出する。またこの段階で部分文書が抽出できた場合は、当該構造化文書の当該類似部分構造についてのほかの部分文書候補は抽出しない。
次に優先順位が高い部分文書は、複数の検索キーワードがそれぞれ異なるテキスト要素または要素名で適合し、当該テキスト要素が類似部分構造に含まれている場合の当該テキスト要素を含む部分文書である。
次に優先順位が高い部分文書は、複数の検索キーワードがそれぞれ異なるテキスト要素または要素名で適合し、類似部分構造に適合した要素がより多く含まれており、さらにより多くの適合した要素を含む部分文書である。
さらに、この段階までで部分文書が抽出されない場合は、類似部分構造と検索キーワードが含まれる要素とをすべてまとめて部分文書として抽出する。
すべての類似部分構造について、その類似部分構造に近い構造を持つ検索に適合した構造化文書から部分文書を抽出した後、1つの部分文書も抽出していない適合文書が存在する場合は、当該適合文書から、検索キーワードに適合した要素のみを含む部分文書を抽出する。
図18は、構造化文書の論理構造の別の例を示した説明図である。同図は、これまで述べた類似する論理構造を有する構造化文書(図4、図5、図17)とはまったく異なる論理構造を有する構造化文書の論理構造の例を示している。
図18のような構造化文書の場合、類似部分構造に対応する部分文書が抽出できないため、文書抽出部108は、検索キーワードに適合した要素である「内容」要素を部分文書として抽出する。
次に、ステップS806の部分文書統合処理の詳細について説明する。図19は、部分文書統合処理の全体の流れを示すフローチャートである。
まず、第2判断部109は、抽出した部分文書のそれぞれについて、検索キーワードのうち部分文書に含まれない検索キーワード(以下、不足キーワードという。)が存在するか否かを判断する(ステップS1901)。このような状況は、複数の検索キーワードが指定された場合に発生しうる。
不足キーワードが存在する場合(ステップS1901:YES)、追加部110は、不足キーワードを含む要素を検出する(ステップS1902)。次に、追加部110は、検出した要素を部分文書に統合する(ステップS1903)。
例えば、図17のような構造化文書の場合、部分文書として抽出された要素ID=5の要素以下の文書には、検索キーワード「Limited Time」が含まれていない。このような場合に、検索キーワード「Limited Time」を含む要素である「title」要素を、抽出済みの部分文書と組み合わせる。なお、図17の例では、要素ID=10の要素以下の部分文書も抽出される。この部分文書に対しても、不足キーワードが存在する場合は、不足キーワードを含む要素を追加する処理を行う。
また、不足キーワードを含む要素が複数存在する場合は、すべて選択して追加するように構成してもよい。追加する要素数が多い場合は、抽出済みの部分文書に対する位置の近さ、文字列長などを用いて優先順位をつけ、優先順位の高い要素を追加するように構成してもよい。
不足キーワードが存在しない場合(ステップS1901:NO)、または要素を統合した後(ステップS1903)、第2判断部109は、部分文書サイズが予め定められた閾値(部分文書サイズに関する閾値)より大きいか否かを判断する(ステップS1904)。
閾値より大きい場合は(ステップS1904:YES)、追加部110は、部分文書のサイズを縮小する(ステップS1905)。文書サイズを縮小する手法としては、抽出した部分文書からさらに不要な要素を削除していく方法をとる。
例えば、図4のような構造化文書に対し、「新譜」要素以下が部分文書として抽出された場合を考える。この部分文書が所定の閾値以上のサイズを有する場合は、類似部分構造に含まれる要素ではない要素を省略することによりサイズを縮小する。例えば、「価格」要素や、「レーベル」要素を削除することにより、部分文書サイズを縮小する。また、テキスト要素のテキストデータのサイズが大きい場合は、検索キーワードが多く含まれている一定サイズの部分文字列をテキストデータから抽出し、それ以外は省略するという方法によりサイズを縮小するように構成してもよい。
以下に、上述のようにして抽出された部分文書の出力方法について説明する。図20は、出力部111により出力される部分文書の出力形式の一例を示した説明図である。この例では、「アーティスト」、「メディア」、「タイトル」、および「日付」要素を含む部分文書を表形式で表示している。また、類似部分構造に適合しなかった図18に示すような適合文書に対しては、当該表の下に列挙形式で表示している。
また、表形式で結果を表示する例では、部分文書に含まれている要素のうち、類似部分構造に含まれている要素以外の要素をその他欄(EX欄)に表示している。表示形式は、列挙型、表形式以外に限られるものではなく、定義型、XML形式など他のあらゆる表示形式を利用できる。
このように、第1の実施の形態にかかる構造化文書検索装置では、検索された構造化文書の要素について算出した統計情報に基づいて複数の構造化文書間で類似する要素を抽出し、抽出した要素に対応する部分文書を取得して一覧形式で出力することができる。このため、XMLのように構造が不定の構造化文書に対しても適切に検索結果を取得して出力することができる。この結果、ユーザーによる検索結果の確認コストを軽減することができる。
また、従来から、大量文書の管理方式の提案の一環として、大量の文書から自動的に類似の文書を抽出する技術や、複数の文書の内容に応じて自動的に分類するためのクラスタリング手法など、様々な技術が提案されている。しかし、これらの技術では、単語の頻度やそれらの共起の頻度、文書属性やユーザーによる判定などによって、文書を意味的に分類するものであり、文書の構造的特徴による分類や、結果出力を考慮した最適な部分文書の抽出を実現できない。
これに対し、本実施の形態によれば、構造が特定できない構造化文書に対する検索結果であっても、文書構造の特徴にしたがって適切な部分文書を抽出して、分類して出力することができる。
さらに、ユーザーが構造化文書の論理構造に関する知識を有さず、構造に関する条件を指定した検索を実行しない場合であっても、文書の構造を活用した検索結果を取得することができる。
(第2の実施の形態)
第2の実施の形態にかかる構造化文書検索装置は、事前に検索対象となる構造化文書を自装置内に登録し、登録した構造化文書に対して検索処理を実行するものである。また、その際に、検索処理前に実行可能な処理を事前に実行することにより、検索処理の負荷を軽減し、検索の高速化を図るものである。
図21は、第2の実施の形態にかかる構造化文書検索装置2100の構成を示すブロック図である。同図に示すように、構造化文書検索装置2100は、統計情報記憶部122と、構造化文書記憶部2121と、受付部101と、検索部2102と、第1判断部2103と、決定部104と、変更部2105と、算出部106と、生成部113と、構造抽出部107と、文書抽出部108と、第2判断部109と、追加部110と、出力部111と、登録部2112と、を備えている。
第2の実施の形態では、構造化文書記憶部2121と登録部2112とを追加したことが第1の実施の形態と異なっている。また、検索部2102、第1判断部2103、および変更部2105の機能が第1の実施の形態と異なっている。その他の構成および機能は、第1の実施の形態にかかる構造化文書検索装置100の構成を表すブロック図である図1と同様であるので、同一符号を付し、ここでの説明は省略する。
構造化文書記憶部2121は、構造化文書記憶部221と同様に、検索対象となる構造化文書を記憶するものである。
検索部2102は、構造化文書記憶部2121を対象として構造化文書を検索する点が、第1の実施の形態の検索部102と異なっている。
第1判断部2103は、構造化文書記憶部2121に記憶する、または記憶された構造化文書に含まれる各要素について、構造化文書間で同義語の関係にある要素名が存在するか否かを判断するものである。
変更部2105は、第1判断部2103が同義語の関係にあると判断した要素名について、類似の要素名を統一する要素名の正規化処理を実行し、変更した要素名を構造化文書記憶部2121に記憶するものである。
登録部2112は、検索前に、文書管理装置200の構造化文書記憶部221から構造化文書を取得し、構造化文書検索装置2100内の構造化文書記憶部2121に登録するものである。
このように、第2の実施の形態では、構造化文書を自装置内に記憶し、正規化処理を事前に実行できるため、検索処理内で正規化処理を実行する必要がなくなり、検索処理の高速化を実現可能となる。
次に、このように構成された第2の実施の形態にかかる構造化文書検索装置2100による構造化文書登録処理について説明する。図22は、第2の実施の形態における構造化文書登録処理の全体の流れを示すフローチャートである。
まず、登録部2112は、文書管理装置200から構造化文書を取得する(ステップS2201)。次に、第1判断部2103は、取得した複数の構造化文書間、または、取得した構造化文書と既に記憶している構造化文書との間で同義語関係となる要素が存在するか否かを判断する(ステップS2202)。
同義語関係となる要素が存在する場合は(ステップS2202:YES)、変更部2105は、要素名の正規化処理を実行する(ステップS2203)。正規化処理は、第1の実施の形態におけるステップS903と同様の処理である。
同義語関係となる要素が存在しない場合(ステップS2202:NO)、または、正規化処理実行後、登録部2112は、構造化文書を構造化文書記憶部2121に保存する(ステップS2204)。
次に、登録部2112は、構造化文書の統計情報を更新する(ステップS2205)。具体的には、登録部2112は、保存した構造化文書に含まれる各要素の頻度を算出し、統計情報記憶部122の頻度情報を更新する。
このように、第2の実施の形態では、正規化処理を構造化文書の登録時に実行する。なお、登録時に実行可能な処理は正規化処理に限られず、特徴ベクトルの生成処理なども対象とすることができる。
次に、このように構成された第2の実施の形態にかかる構造化文書検索装置2100による構造化文書検索処理について説明する。第2の実施の形態における構造化文書検索処理の全体の流れは、第1の実施の形態の図8と同様である。ただし、ステップS803の構造統計情報算出処理の詳細が異なる。
以下に、第2の実施の形態における構造統計情報算出処理の詳細について説明する。図23は、第2の実施の形態における構造統計情報算出処理の全体の流れを示すフローチャートである。
同図は、第1の実施の形態における構造統計情報算出処理の全体の流れを示す図9から、ステップS902およびステップS903の正規化処理を削除した処理になっている。すなわち、第2の実施の形態では、登録時に正規化処理を実行するため、検索時に正規化処理を実行する必要がない。
その他の処理であるステップS2301、ステップS2302からステップS2305は、それぞれステップS901、ステップS904からステップS907と同様の処理なので、その説明を省略する。
このように、第2の実施の形態にかかる構造化文書検索装置では、事前に自装置内に登録した構造化文書に対して検索処理を実行するとともに、検索処理前に実行可能な処理を事前に実行することにより、検索処理の負荷を軽減し、検索の高速化を図ることができる。
(第3の実施の形態)
大量の構造化文書は、作成される際にその構造のフォーマットが決められていることが多い。例えば、ルート要素「プロジェクト」の子要素として「メンバー」という要素が存在し、その子要素として必ず1つ以上の「メンバー名」という要素が存在するような構造のフォーマットを決めることができる。
この場合、プロジェクトに応じて「メンバー名」要素が2つ存在する構造化文書が作成されることもあれば、5つ存在する構造化文書が作成されることもある。このように、構造のフォーマットの自由度は高いため、類似の目的で作成された構造であっても、別の場所で作成された構造とフォーマットが異なる場合がある。例えば、市役所における同じ目的で利用される書類でも、書類を作成した市が異なる場合にはそのフォーマットが異なる場合がある。
一方、第1の実施の形態における類似部分構造抽出処理では、検索に適合したそれぞれの構造化文書に対して実行していた。しかし、検索対象の構造化文書が、それぞれの構造フォーマットに則った複数の構造化文書セットである場合、類似部分構造の調査処理は、検索に適合したそれぞれの構造化文書の構造フォーマット間で行えば処理コストを低減できると考えられる。各構造化文書で共通する構造フォーマットを検証対象とすれば、構造化文書ごとに調査する場合に比較して検証対象が限定されるからである。
第3の実施の形態にかかる構造化文書検索装置は、事前に登録された構造化文書の構造のフォーマットに関する構造情報を参照して類似部分構造抽出処理を簡略化するものである。
図24は、第3の実施の形態にかかる構造化文書検索装置2400の構成を示すブロック図である。同図に示すように、構造化文書検索装置2400は、統計情報記憶部122と、構造情報記憶部2413と、受付部101と、検索部102と、第1判断部103と、決定部104と、変更部105と、算出部106と、生成部113と、構造抽出部2407と、文書抽出部108と、第2判断部109と、追加部110と、出力部111と、を備えている。
第3の実施の形態では、構造情報記憶部2413を追加したこと、および構造抽出部2407の機能が第1の実施の形態と異なっている。その他の構成および機能は、第1の実施の形態にかかる構造化文書検索装置100の構成を表すブロック図である図1と同様であるので、同一符号を付し、ここでの説明は省略する。
構造情報記憶部2413は、構造化文書から抽出した論理構造に関する構造情報を記憶するものである。図25は、構造情報記憶部2413に記憶された構造情報のデータ構造の一例を示す説明図である。同図に示すように、構造情報は、要素名IDと、要素名と、子要素と、兄弟要素とを対応づけて格納している。なお、同図は、図2に示した構造化文書から抽出した構造情報を記憶した例を表している。また、構造情報記憶部2413には、このような構造情報が、フォーマットの異なる構造ごとに記憶されている。
次に、このように構成された第3の実施の形態にかかる構造化文書検索装置2400による構造化文書検索処理について説明する。第3の実施の形態における構造化文書検索処理の全体の流れは、第1の実施の形態の図8と同様である。ただし、ステップS804の類似部分構造抽出処理の詳細が異なる。
以下に、第3の実施の形態における類似部分構造抽出処理の詳細について説明する。図26は、第3の実施の形態における類似部分構造抽出処理の全体の流れを示すフローチャートである。
まず、構造抽出部2407は、検索キーワードの適合要素を含む構造化文書を取得する(ステップS2601)。次に、構造抽出部2407は、取得した構造化文書に対応する構造情報を、構造情報記憶部2413から取得する(ステップS2602)。
次に、生成部113は、取得した構造情報ごとに、出現頻度の高い要素の特徴ベクトルを生成する(ステップS2603)。特徴ベクトルの生成は図12のステップS1202と同様である。
次に、構造抽出部2407は、特徴ベクトルから構造情報間の類似度を算出する(ステップS2604)。類似度の算出方法は、図12のステップS1203と同様である。次に、構造抽出部2407は、類似度の高い構造情報に含まれる要素の和を類似部分構造として抽出する(ステップS2605)。
このようにしてある構造情報間の類似部分構造の抽出が実行されれば、他の検索結果である構造化文書が同一の構造情報を有する場合、類似部分構造の抽出処理を省略することができる。これにより、検索処理の高速化が実現可能となる。
なお、事前に構造情報を入手して構造情報記憶部2413に保存できない場合であっても、第2の実施の形態のように自装置内に構造化文書を登録する構成であれば、文書を登録する際にその構造情報を解析してフォーマットを抽出し、構造情報記憶部2413に保存することができる。フォーマットの抽出処理では、例えば、構造に含まれる要素名セットが共通しており、要素名と要素名の親子関係が同一である場合は同一のフォーマットとするなどの方法を適用できる。このように構成すれば、事前に構造情報を入手できない場合であっても上述と同様の効果を得られる。
このように、第3の実施の形態にかかる構造化文書検索装置では、事前に登録された構造化文書の構造のフォーマットに関する構造情報を参照し、構造情報間で類似部分構造を抽出することにより、全構造化文書間で類似部分構造抽出処理を実行する場合に比較して処理を簡略化し、結果として検索処理を高速化することができる。
図27は、第1〜第3の実施の形態にかかる構造化文書検索装置のハードウェア構成を示す説明図である。
第1〜第3の実施の形態にかかる構造化文書検索装置は、CPU(Central Processing Unit)51などの制御装置と、ROM(Read Only Memory)52やRAM53などの記憶装置と、ネットワークに接続して通信を行う通信I/F54と、HDD、CD(Compact Disc)ドライブ装置などの外部記憶装置と、ディスプレイ装置などの表示装置と、キーボードやマウスなどの入力装置と、各部を接続するバス61を備えており、通常のコンピュータを利用したハードウェア構成となっている。
第1〜第3の実施の形態にかかる構造化文書検索装置で実行される構造化文書検索プログラムは、インストール可能な形式又は実行可能な形式のファイルでCD−ROM(Compact Disk Read Only Memory)、フレキシブルディスク(FD)、CD−R(Compact Disk Recordable)、DVD(Digital Versatile Disk)等のコンピュータで読み取り可能な記録媒体に記録されて提供される。
また、第1〜第3の実施の形態にかかる構造化文書検索装置で実行される構造化文書検索プログラムを、インターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するように構成してもよい。また、第1〜第3の実施の形態にかかる構造化文書検索装置で実行される構造化文書検索プログラムをインターネット等のネットワーク経由で提供または配布するように構成してもよい。
また、第1〜第3の実施の形態の構造化文書検索プログラムを、ROM等に予め組み込んで提供するように構成してもよい。
第1〜第3の実施の形態にかかる構造化文書検索装置で実行される構造化文書検索プログラムは、上述した各部(受付部、検索部、第1判断部、決定部、変更部、算出部、構造抽出部、文書抽出部、第2判断部、追加部、出力部、登録部)を含むモジュール構成となっており、実際のハードウェアとしてはCPU51(プロセッサ)が上記記憶媒体から構造化文書検索プログラムを読み出して実行することにより上記各部が主記憶装置上にロードされ、上述した各部が主記憶装置上に生成されるようになっている。
以上のように、本発明にかかる構造化文書検索装置、構造化文書検索方法および構造化文書検索プログラムは、XMLのように構造を自由に定義可能な構造化文書を検索対象とする検索装置、検索方法、および検索プログラムに適している。
第1の実施の形態にかかる構造化文書検索装置の構成を示すブロック図である。 構造化文書の一例を示す説明図である。 構造化文書の一例を示す説明図である。 構造化文書の論理構造を示した説明図である。 構造化文書の論理構造を示した説明図である。 統計情報記憶部に記憶される統計情報のデータ構造の一例を示す説明図である。 検索部による検索結果の一例を示した説明図である。 第1の実施の形態における構造化文書検索処理の全体の流れを示すフローチャートである。 第1の実施の形態における構造統計情報算出処理の全体の流れを示すフローチャートである。 適合要素名変更処理を実行した結果の一例を示す説明図である。 算出した統計情報の一例を示す説明図である。 第1の実施の形態における類似部分構造抽出処理の全体の流れを示すフローチャートである。 生成した特徴ベクトルの一例を示す説明図である。 抽出された類似部分構造の一例を示す説明図である。 生成した特徴ベクトルの別の例を示す説明図である。 部分文書抽出処理の全体の流れを示すフローチャートである。 構造化文書の論理構造の別の例を示した説明図である。 構造化文書の論理構造の別の例を示した説明図である。 部分文書統合処理の全体の流れを示すフローチャートである。 出力される部分文書の出力形式の一例を示した説明図である。 第2の実施の形態にかかる構造化文書検索装置の構成を示すブロック図である。 第2の実施の形態における構造化文書登録処理の全体の流れを示すフローチャートである。 第2の実施の形態における構造統計情報算出処理の全体の流れを示すフローチャートである。 第3の実施の形態にかかる構造化文書検索装置の構成を示すブロック図である。 構造情報記憶部に記憶された構造情報のデータ構造の一例を示す説明図である。 第3の実施の形態における類似部分構造抽出処理の全体の流れを示すフローチャートである。 構造化文書検索装置のハードウェア構成を示す説明図である。
符号の説明
51 CPU
52 ROM
53 RAM
54 通信I/F
61 バス
100 構造化文書検索装置
101 受付部
102 検索部
103 第1判断部
104 決定部
105 変更部
106 算出部
107 構造抽出部
108 文書抽出部
109 第2判断部
110 追加部
111 出力部
113 生成部
122 統計情報記憶部
200 文書管理装置
221 構造化文書記憶部
300 ネットワーク
2100 構造化文書検索装置
2102 検索部
2103 第1判断部
2105 変更部
2112 登録部
2121 構造化文書記憶部
2400 構造化文書検索装置
2407 構造抽出部
2413 構造情報記憶部

Claims (14)

  1. 階層化された論理構造を有する構造化文書を格納する文書管理装置とネットワークを介して接続された構造化文書検索装置であって、
    検索キーワードの入力を受付ける受付手段と、
    受付けた前記検索キーワードを含む複数の前記構造化文書を前記文書管理装置から検索する検索手段と、
    検索された複数の前記構造化文書に含まれる前記論理構造の単位である構造要素の出現に関する統計情報を算出する算出手段と、
    算出された前記統計情報に基づいて、検索された複数の前記構造化文書の特徴ベクトルを生成する生成手段と、
    生成された前記特徴ベクトルに基づいて、検索された複数の前記構造化文書を特徴づける前記構造要素を選択し、選択した前記構造要素から、検索された前記構造化文書間で類似する前記構造要素である類似部分構造を抽出する構造抽出手段と、
    抽出した前記類似部分構造に対応する前記構造化文書内の部分文書を抽出する文書抽出手段と、
    抽出した前記部分文書を前記構造要素ごとに出力する出力手段と、
    を備えたことを特徴とする構造化文書検索装置。
  2. 前記構造抽出手段は、検索された複数の前記構造化文書のそれぞれで選択した前記構造要素間の類似度を算出し、検索された複数の前記構造化文書から、算出した前記類似度が予め定められた第1閾値より大きい前記構造化文書を取得し、取得した前記構造化文書に含まれる前記構造要素を、前記類似部分構造として抽出すること、
    を特徴とする請求項1に記載の構造化文書検索装置。
  3. 前記構造抽出手段は、検索された前記構造化文書に含まれる前記構造要素のうち、前記検索キーワードを含む前記構造要素を、前記類似部分構造としてさらに抽出すること、
    を特徴とする請求項1に記載の構造化文書検索装置。
  4. 前記算出手段は、検索された前記構造化文書に含まれる前記構造要素が、前記文書管理装置に格納された前記構造化文書内に出現する頻度を前記統計情報として算出し、
    前記構造抽出手段は、前記頻度が予め定められた第2閾値より大きい前記構造要素を、前記構造化文書を特徴づける前記構造要素として選択すること、
    を特徴とする請求項1に記載の構造化文書検索装置。
  5. 前記構造要素の要素名が、検索された複数の前記構造化文書間で互いに同義語の関係にあるか否かを判断する第1判断手段と、
    互いに同義語の関係にある一方の要素名を他方の要素名に変更する変更手段と、をさらに備え、
    前記算出手段は、変更元の要素名に対応する前記構造要素の前記頻度を、変更先の要素名に対応する前記構造要素の前記頻度に加算して前記統計情報として算出すること、
    を特徴とする請求項4に記載の構造化文書検索装置。
  6. 前記検索キーワードのそれぞれについて、検索された前記構造化文書に含まれる前記構造要素のうち、前記構造要素の実情報と前記検索キーワードとが一致する度合いを表す適合度が最大の前記構造要素の要素名である代表要素名を決定する決定手段と、
    検索された前記構造化文書に含まれる前記構造要素のうち、要素名に前記検索キーワードを含む前記構造要素の要素名を前記代表要素名に変更し、変更した前記構造要素の実情報として前記検索キーワードを含む要素名を対応づける変更手段と、をさらに備え、
    前記算出手段は、要素名を前記代表要素名に変更した前記構造要素の前記頻度を、前記代表要素名に対応する前記構造要素の前記頻度に加算して前記統計情報として算出すること、
    を特徴とする請求項4に記載の構造化文書検索装置。
  7. 抽出した前記部分文書に含まれない前記検索キーワードが存在するか否かを判断する第2判断手段と、
    抽出した前記部分文書に含まれない前記検索キーワードが存在する場合に、前記検索キーワードを含む前記部分文書を、前記構造化文書から抽出して前記部分文書に追加する追加手段と、をさらに備えたこと、
    を特徴とする請求項1に記載の構造化文書検索装置。
  8. 前記文書抽出手段は、前記類似部分構造に含まれる前記構造要素を最も多く含む前記部分文書を抽出すること、
    を特徴とする請求項1に記載の構造化文書検索装置。
  9. 前記文書抽出手段は、前記論理構造の階層数が最も少ない前記部分文書を抽出すること、
    を特徴とする請求項1に記載の構造化文書検索装置。
  10. 前記構造化文書を記憶する構造化文書記憶手段をさらに備え、
    前記検索手段は、受付けた前記検索キーワードを含む前記構造化文書を前記構造化文書記憶手段から検索すること、
    を特徴とする請求項1に記載の構造化文書検索装置。
  11. 前記構造化文書記憶手段に記憶された前記構造化文書の前記構造要素の要素名が、複数の前記構造化文書間で互いに同義語の関係にあるか否かを判断する第1判断手段と、
    互いに同義語の関係にある一方の要素名を他方の要素名に変更し、変更した前記第1構造化文書を前記構造化文書記憶手段に保存する変更手段と、をさらに備えたこと、
    を特徴とする請求項10に記載の構造化文書検索装置。
  12. 複数の前記構造化文書から抽出した前記論理構造を記憶する構造情報記憶手段をさらに備え、
    前記構造抽出手段は、検索された前記構造化文書に対応する前記論理構造を前記構造情報記憶手段から取得し、生成された前記特徴ベクトルに基づいて、取得した前記論理構造を特徴づける前記構造要素を選択し、選択した前記構造要素から前記類似部分構造を抽出すること、
    を特徴とする請求項1に記載の構造化文書検索装置。
  13. 階層化された論理構造を有する構造化文書を格納する文書管理装置とネットワークを介して接続された構造化文書検索装置における構造化文書検索方法であって、
    受付手段によって、検索キーワードの入力を受付ける受付ステップと、
    検索手段によって、受付けた前記検索キーワードを含む複数の前記構造化文書を前記文書管理装置から検索する検索ステップと、
    算出手段によって、検索された複数の前記構造化文書に含まれる前記論理構造の単位である構造要素の出現に関する統計情報を算出する算出ステップと、
    構造抽出手段によって、算出された前記統計情報に基づいて、検索された複数の前記構造化文書の特徴ベクトルを生成する生成ステップと、
    生成された前記特徴ベクトルに基づいて、検索された複数の前記構造化文書を特徴づける前記構造要素を選択し、選択した前記構造要素から、検索された前記構造化文書間で類似する前記構造要素である類似部分構造を抽出する構造抽出ステップと、
    文書抽出手段によって、抽出した前記類似部分構造に対応する前記構造化文書内の部分文書を抽出する文書抽出ステップと、
    出力手段によって、抽出した前記部分文書を前記構造要素ごとに出力する出力ステップと、
    を備えたことを特徴とする構造化文書検索方法。
  14. 階層化された論理構造を有する構造化文書を格納する文書管理装置とネットワークを介して接続された構造化文書検索装置における構造化文書検索プログラムであって、
    検索キーワードの入力を受付ける受付手順と、
    受付けた前記検索キーワードを含む複数の前記構造化文書を前記文書管理装置から検索する検索手順と、
    検索された複数の前記構造化文書に含まれる前記論理構造の単位である構造要素の出現に関する統計情報を算出する算出手順と、
    算出された前記統計情報に基づいて、検索された複数の前記構造化文書の特徴ベクトルを生成する生成手順と、
    生成された前記特徴ベクトルに基づいて、検索された複数の前記構造化文書を特徴づける前記構造要素を選択し、選択した前記構造要素から、検索された前記構造化文書間で類似する前記構造要素である類似部分構造を抽出する構造抽出手順と、
    抽出した前記類似部分構造に対応する前記構造化文書内の部分文書を抽出する文書抽出手順と、
    抽出した前記部分文書を前記構造要素ごとに出力する出力手順と、
    をコンピュータに実行させる構造化文書検索プログラム。
JP2006265769A 2006-09-28 2006-09-28 構造化文書検索装置、構造化文書検索方法および構造化文書検索プログラム Abandoned JP2008084192A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006265769A JP2008084192A (ja) 2006-09-28 2006-09-28 構造化文書検索装置、構造化文書検索方法および構造化文書検索プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006265769A JP2008084192A (ja) 2006-09-28 2006-09-28 構造化文書検索装置、構造化文書検索方法および構造化文書検索プログラム

Publications (1)

Publication Number Publication Date
JP2008084192A true JP2008084192A (ja) 2008-04-10

Family

ID=39354974

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006265769A Abandoned JP2008084192A (ja) 2006-09-28 2006-09-28 構造化文書検索装置、構造化文書検索方法および構造化文書検索プログラム

Country Status (1)

Country Link
JP (1) JP2008084192A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012226740A (ja) * 2011-04-19 2012-11-15 Fujitsu Ltd タググループ分類方法、装置及びデータマッシュアップ方法、装置
JP2014049088A (ja) * 2012-09-04 2014-03-17 Nippon Telegr & Teleph Corp <Ntt> 文書構造解析装置及びプログラム

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012226740A (ja) * 2011-04-19 2012-11-15 Fujitsu Ltd タググループ分類方法、装置及びデータマッシュアップ方法、装置
JP2014049088A (ja) * 2012-09-04 2014-03-17 Nippon Telegr & Teleph Corp <Ntt> 文書構造解析装置及びプログラム

Similar Documents

Publication Publication Date Title
US9720944B2 (en) Method for facet searching and search suggestions
US11126647B2 (en) System and method for hierarchically organizing documents based on document portions
US8200667B2 (en) Method and apparatus for constructing user profile using content tag, and method for content recommendation using the constructed user profile
JP2012027845A (ja) 情報処理装置、関連文提供方法、及びプログラム
JP4825544B2 (ja) 文書検索装置、文書検索方法、文書検索プログラム及び記録媒体
KR101607468B1 (ko) 콘텐츠에 대한 키워드 태깅 방법 및 시스템
US20120233214A1 (en) Named entity database or mining rule database update apparatus and method using named entity database and mining rule merged ontology schema
JP2006215717A (ja) 情報検索装置、情報検索方法および情報検索プログラム
US7698271B2 (en) Conceptual network generating system, conceptual network generating method, and program product therefor
JP2006072744A (ja) 文書処理装置、その制御方法、プログラム、及び記憶媒体
JP2020129377A (ja) コンテンツ検索方法、装置、機器、および記憶媒体
JP3178421B2 (ja) テキスト検索装置及びテキスト検索プログラムを記録したコンピュータ読み取り可能な記録媒体
JP2006227823A (ja) 情報処理装置及びその制御方法
WO2010119794A1 (en) Information processing apparatus and information processing method
JP2008084192A (ja) 構造化文書検索装置、構造化文書検索方法および構造化文書検索プログラム
JP2008077252A (ja) 文書ランキング方法、文書検索方法、文書ランキング装置、文書検索装置、及び記録媒体
JP2007011973A (ja) 情報検索装置及び情報検索プログラム
JP6145064B2 (ja) 文書集合分析装置、文書集合分析方法、文書集合分析プログラム
JP2007279978A (ja) 文書検索装置及び文書検索方法
JP2007183927A (ja) 情報処理装置および方法、並びにプログラム
JP2008165572A (ja) データ分類装置、データ分類プログラム
JP5903171B2 (ja) データ加工システムおよびデータ加工方法
JP2009140113A (ja) 辞書編集装置、および辞書編集方法、並びにコンピュータ・プログラム
JP2008090396A (ja) 電子文書検索方法、電子文書検索装置及びプログラム
JP2008269106A (ja) スキーマ抽出方法、情報処理装置、コンピュータプログラム及び記録媒体

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090326

A762 Written abandonment of application

Free format text: JAPANESE INTERMEDIATE CODE: A762

Effective date: 20100202