(57)【要約】  構造化文書ファイルのタグ構造に基づいて、類似関係にある構造化文書ファイルを特定する。  ノードペア検出部１４２は、構造化文書ファイルから、所定の位置関係にあるタグのペアをノードペアとして検出する。属性値取得部１４４は、構造化文書ファイルにおけるノードペアの出現態様を属性値として指標化する。インデックス情報生成部１４６は、ノードペアとその属性値を対応づけたインデックス情報を生成する。共通ペア検出部１５２は、構造化文書ファイルであるクエリ文書と比較対象の構造化文書ファイルである被検査文書に共通するノードペアを共通ペアとして検出する。ノード類似値算出部１５４は、クエリ文書のインデックス情報と被検査文書のインデックス情報を参照して、クエリ文書における共通ペアの属性値と被検査文書における共通ペアの属性値の類似度をノード類似値として指標化する。
2007119567.tif 000002
【特許請求の範囲】
【請求項１】
所定のタグセットで記述された構造化文書ファイルから、所定の位置関係にあるタグのペアをノードペアとして検出するノードペア検出部と、
構造化文書ファイルにおけるノードペアの出現態様を所定の規則により属性値として指標化する属性値取得部と、
ノードペアとその属性値を対応づけたインデックス情報を生成するインデックス生成部と、
第１の構造化文書ファイルから検出されたノードペア群と第２の構造化文書ファイルから検出されたノードペア群に共通するノードペアを共通ペアとして検出する共通ペア検出部と、
第１の構造化文書ファイルのインデックス情報と第２の構造化文書ファイルのインデックス情報を参照して、第１の構造化文書ファイルにおける共通ペアの属性値と第２の構造化文書ファイルにおける共通ペアの属性値の類似度をノード類似値として指標化するノード類似値算出部と、
を備えることを特徴とする文書処理装置。
【請求項２】
前記属性値取得部は、ノードペアに含まれる２つのタグの相対的な位置関係、ノードペアに含まれるタグの構造化文書ファイル中における位置、または、構造化文書ファイル中におけるノードペアの出現回数を属性値として指標化することを特徴とする請求項１に記載の文書処理装置。
【請求項３】
第１の構造化文書ファイルと第２の構造化文書ファイルに関する共通ペアについて算出されたノード類似値から、第１の構造化文書ファイルと第２の構造化文書ファイルの文書構造としての類似度を文書類似値として算出する文書類似値算出部を更に備えることを特徴とする請求項１に記載の文書処理装置。
【請求項４】
比較対象となる第１の構造化文書ファイルに対して、複数の第２の構造化文書ファイルについての文書類似値がそれぞれ算出されたとき、文書類似値が高い順に第２の構造化文書ファイルのタイトルを一覧表示させるランキング表示部を更に備えることを特徴とする請求項３に記載の文書処理装置。
【請求項５】
前記共通ペア検出部は、第１の構造化文書ファイルから検出されたノードペアに含まれるタグ名を示す文字列と第２の構造化文書ファイルから検出されたノードペアのタグ名を示す文字列が類似関係にあるかを所定の評価規則により判定し、類似関係にあるときにはそれらのノードペアも共通ペアとしての検出対象とすることを特徴とする請求項１に記載の文書処理装置。
【請求項６】
複数の構造化文書ファイルを対象として検査対象となるノードペアの発生頻度を計数することにより、前記複数の構造化文書ファイルにおいてそのノードペアが出現する稀少さを稀少値として算出する稀少値算出部と、
稀少値が高い共通ペアのノード類似値が高くなるように、稀少値に応じてノード類似値を補正する稀少補正部と、
を更に備えることを特徴とすることを特徴とする請求項１に記載の文書処理装置。
【請求項７】
複数の構造化文書ファイルを対象として検査対象となるノードペアの属性値の統計的な分布範囲を特定し、第１の構造化文書ファイルにおける共通ペアの属性値の前記分布範囲中における位置と第２の構造化文書ファイルにおける共通ペアの属性値の前記分布範囲中における位置の近さを分布近似値として算出する分布近似値算出部と、
前記分布範囲における位置が近い共通ペアのノード類似値が高くなるように、分布近似値に応じてノード類似値を補正する分布補正部と、
を更に備えることを特徴とする請求項１に記載の文書処理装置。
【請求項８】
第１の構造化文書ファイルから検出されたノードペアに対応する複数の表示領域を画面上に配置し、第２の構造化文書ファイルとの関係で検出された共通ペアについてのノード類似値に応じて、共通ペアに対応する表示領域の表示態様を変化させるノード類似値表示部を更に備えることを特徴とする請求項１に記載の文書処理装置。
【請求項９】
所定のタグセットで記述された構造化文書ファイルから、所定の位置関係にあるタグのペアをノードペアとして検出するステップと、
構造化文書ファイルにおけるノードペアの出現態様を所定の規則により属性値として指標化するステップと、
ノードペアとその属性値を対応づけたインデックス情報を生成するステップと、
第１の構造化文書ファイルから検出されたノードペア群と第２の構造化文書ファイルから検出されたノードペア群に共通するノードペアを共通ペアとして検出するステップと、
第１の構造化文書ファイルのインデックス情報と第２の構造化文書ファイルのインデックス情報を参照して、第１の構造化文書ファイルにおける共通ペアの属性値と第２の構造化文書ファイルにおける共通ペアの属性値の類似度をノード類似値として指標化するステップと、
を備えることを特徴とする文書処理方法。
【請求項１０】
所定のタグセットで記述された構造化文書ファイルから、所定の位置関係にあるタグのペアをノードペアとして検出する機能と、
構造化文書ファイルにおけるノードペアの出現態様を所定の規則により属性値として指標化する機能と、
ノードペアとその属性値を対応づけたインデックス情報を生成する機能と、
第１の構造化文書ファイルから検出されたノードペア群と第２の構造化文書ファイルから検出されたノードペア群に共通するノードペアを共通ペアとして検出する機能と、
第１の構造化文書ファイルのインデックス情報と第２の構造化文書ファイルのインデックス情報を参照して、第１の構造化文書ファイルにおける共通ペアの属性値と第２の構造化文書ファイルにおける共通ペアの属性値の類似度をノード類似値として指標化する機能と、
をコンピュータに発揮させることを特徴とする文書処理プログラム。  
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、文書ファイルの検索技術に関する。【０００２】
コンピュータの普及とネットワーク技術の進展にともない、ネットワークを介した電子情報の交換が盛んになっている。これにより、従来においては紙ベースで行われていた事務処理の多くが、ネットワークベースの処理に置き換えられつつある。デジタル化とネットワーク技術の進展は、情報取得コストを急激に低下させている。このような状況において、大量の文書ファイルの中から所望の文書ファイルを検索する技術の重要性が高まっている。
【特許文献１】特開２００６−０４８５３６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
ところで、近年では、多くの文書ファイルが、ＨＴＭＬ（Hyper Text Markup Language）やＸＭＬ（eXtensible Markup Language）とよばれる構造化文書ファイルとして作成されるようになってきている。特に、ＸＭＬは、ネットワークを介して他者とデータを共有するのに適した形式として注目されている。文書作成者は、ＸＭＬ文書のタグ構造を自由に設計できるが、タグ構造は文書内容に応じてある程度パターン化されることが多い。たとえば、営業文書同士では、使用されるタグセット（ボキャブラリ）やそのタグ構造に共通する部分が多いが、営業文書と法律文書では使用されるタグセットやそのタグ構造の類似性は小さい。【０００４】
本発明は、本発明者の上記着目に基づいてなされた発明であり、その主たる目的は、構造化文書ファイルのタグ構造に基づいて、関連性の高い構造化文書ファイルを選定するための技術、を提供することある。
【課題を解決するための手段】
【０００５】
本発明のある態様は、文書処理装置である。
この装置は、所定のタグセットで記述された構造化文書ファイルから、所定の位置関係にあるタグのペアをノードペアとして検出し、構造化文書ファイルにおけるノードペアの出現態様を所定の規則により属性値として指標化し、ノードペアとその属性値を対応づけたインデックス情報を生成する。
そして、第１の構造化文書ファイルから検出されたノードペア群と第２の構造化文書ファイルから検出されたノードペア群に共通するノードペアを共通ペアとして検出し、第１の構造化文書ファイルのインデックス情報と第２の構造化文書ファイルのインデックス情報を参照して、第１の構造化文書ファイルにおける共通ペアの属性値と第２の構造化文書ファイルにおける共通ペアの属性値の類似度をノード類似値として指標化する。【０００６】
なお、以上の構成要素の任意の組み合わせ、本発明の表現を方法、装置、システム、記録媒体、コンピュータプログラムなどの間で変換したものもまた、本発明の態様として有効である。
【発明の効果】
【０００７】
本発明によれば、構造化文書ファイルのタグ構造に基づいて、関連性の高い構造化文書ファイルを選定することができる。
【図面の簡単な説明】
【０００８】
【図１】タグ構造に基づく類似文書検索の原理を説明するための模式図である。
【図２】親子関係を説明するための模式図である。
【図３】繰り返し関係を説明するための模式図である。
【図４】兄弟関係を説明するための模式図である。
【図５】文書処理装置の機能ブロック図である。
【図６】ノード類似値を表示する画面図である。
【図７】ある薬品情報データベースを対象としてノードペアを調査した結果を示す図である。
【図８】分布近似値を求めるための表である。
【符号の説明】
【０００９】
１００  文書処理装置、  １１０  ユーザインタフェース処理部、  １２０  データ処理部、  １３０  データ保持部、  １３２  入力部、  １３４  文書取得部、  １３６  表示部、  １４０  インデックス処理部、  １４２  ノードペア検出部、  １４４  属性値取得部、  １４６  インデックス情報生成部、  １５０  類似判定部、  １５２  共通ペア検出部、  １５４  ノード類似値算出部、  １５６  補正部、  １５８  稀少値算出部、  １６０  分布近似値取得部、  １６２  文書類似値算出部、  １７０  文書保持部、  １７２  インデックス情報保持部。
【発明を実施するための最良の形態】
【００１０】
図１は、タグ構造に基づく類似文書検索の原理を説明するための模式図である。
同図は、構造化文書５０に対して、構造化文書５２と構造化文書５４のどちらがより類似性が高い文書ファイルであるかを判定する場合を示す。以下、構造化文書５０のように、調査対象となる構造化文書ファイルのことを「クエリ文書」とよび、構造化文書５２や構造化文書５４のように、クエリ文書と類似するか比較対象となる構造化文書ファイルのことを「被検査文書」とよぶことにする。【００１１】
クエリ文書である構造化文書５０においては、＜レポート＞タグと＜問題＞タグ、＜レポート＞タグと＜対策＞タグがそれぞれ上位・下位の関係になっている。
被検査文書である構造化文書５２でも、＜レポート＞タグと＜問題＞タグが上位・下位の関係になっている。また、＜問題＞タグと＜対策＞タグも上位・下位の関係にあるため、＜レポート＞タグと＜対策＞タグも、間接的ながら上位・下位の関係にあるといえる。
もうひとつの被検査文書である構造化文書５４では、＜レポート＞タグと＜数学＞タグ、＜レポート＞タグと＜理科＞タグが上位・下位の関係になっている。また、＜数学＞タグと＜問題＞タグが上位・下位の関係になっているので、＜レポート＞タグと＜問題＞タグも間接的ながら上位・下位の関係にある。【００１２】
構造化文書５０と構造化文書５２を比較した場合、＜レポート＞タグと＜問題＞タグが直接的に上位・下位の関係にあるという点で共通している。一方、構造化文書５４においても＜レポート＞タグと＜問題＞タグは上位・下位の関係にあるが、＜数学＞タグが間にあるため、構造化文書５０や構造化文書５２のように、直接的な上位・下位関係ではない。
構造化文書５０では、＜レポート＞タグと＜対策＞タグが上位・下位の関係にあるが、構造化文書５２では、＜問題＞タグを挟んだ上ではあるが、＜レポート＞タグと＜対策＞タグは、一応上位・下位の関係にある。一方、構造化文書５４では、＜対策＞タグそのものが存在していない。
このような観点から構造化文書５０、構造化文書５２、構造化文書５４のタグ構造を比較してみると、構造化文書５２よりも構造化文書５４の方が、構造化文書５０に構造上、類似しているといえる。【００１３】
クエリ文書と類似関係にある被検査文書を検索する場合、一般的には、クエリ文書に含まれる単語群と被検査文書に含まれる単語群を比較し、多くの単語が共通するほどその被検査文書はクエリ文書に類似すると判定する方法が考えられる。これに対して、本実施例では、図１に示したように構造化文書ファイルのタグ構造の共通性に基づいて、クエリ文書と被検査文書の類似度を定量化する方法を提案する。以下、このようなタグ構造に基づく類似文書検索のことを「構造類似検索」とよび、文書に含まれる単語群に基づく類似文書検索である「内容類似検索」と区別する。たとえば、大量の被検査文書の中から構造類似検索によって候補を絞り込んだ上で内容類似検索を実行することにより、クエリ文書と類似する被検査文書を選定してもよい。【００１４】
本実施例における文書処理装置１００は、構造化文書ファイルに含まれるタグのペアを検出し、そのペア（以下、「ノードペア」とよぶ）を基本単位として構造類似検索を実行する。ノードペアとして検出されるタグのペアは、構造化文書ファイル中において所定の位置関係にあることが条件である。以下、ノードペアとして検出対象となる位置関係として「親子」、「繰り返し」、「兄弟」という３つの関係について説明する。【００１５】
図２は、親子関係を説明するための模式図である。
親子関係とは、２つのタグが構造化文書ファイル中において上位・下位の関係にあることである。同図の場合、Ａタグ１０の下位にＢタグ１２がある。このような場合、Ａタグ１０とＢタグ１２は親子関係にある。親子関係は、直接的な上位・下位の関係であってもよいし、Ａタグ１０との間にいくつかのタグ階層を挟んでＢタグ１２に至る関係であってもよい。【００１６】
構造化文書ファイル中におけるノードペアの出現態様は属性値として指標化される。属性値とは、「深さ」、「距離」、「頻度」の３つの項目についての指標値である。以下、属性値とは、この３つの指標値の集合を指すものとする。親子関係にあるノードペアについての「深さ」とは、親にあたるタグがルートタグから何階層目にあるかを示す。同図の場合、Ａタグ１０はルートタグから２階層下にあるので深さは「２」である。親子関係にあるノードペアについての「距離」とは、親タグから子タグまでの階層数である。同図の場合、Ａタグ１０とＢタグ１２は３階層離れているので、距離は「３」である。また、親子関係にあるノードペアのうち、このような深さ「２」、距離「３」のＡタグとＢタグの組み合わせが、構造化文書ファイル中に出現する回数が「頻度」である。以下、親子関係にあるノードペアのことを「親子ペア」とよぶ。【００１７】
図３は、繰り返し関係を説明するための模式図である。
繰り返し関係とは、親タグを共通とし、同じ内容の子タグが複数回出現する関係である。親子関係の特殊形といえる。同図の場合、Ａタグ１０とＢタグ１２だけではなく、Ａタグ１０とＢタグ１４、Ａタグ１０とＢタグ１６は、深さ「２」、距離「３」の親子関係にある。このような場合、１つ目のＡタグ１０とＢタグ１２は親子関係、２つ目以降のＡタグ１０とＢタグ１４、Ａタグ１０とＢタグ１６は繰り返し関係にあるとされる。Ａタグ１０、Ｂタグ１４、Ｂタグ１６は頻度「２」の繰り返し関係であり、繰り返し関係における頻度は必ず２以上となる。繰り返し関係における深さや距離は、親子関係と同様に求められる。以下、繰り返し関係にあるノードペアのことを「繰り返しペア」とよぶ。【００１８】
図４は、兄弟関係を説明するための模式図である。
兄弟関係とは、親タグを共通とし、別の内容の子タグが複数回出現する関係である。同図の場合、Ａタグ１０に対しては、Ａタグ１０とＢタグ１２、Ａタグ１０とＣタグ１８、Ａタグ１０とＤタグ２０の３種類の親子関係が成立している。また、Ａタグ１０と、Ｂタグ１４、Ｂタグ１６について頻度「２」の繰り返し関係が成立している。このとき、Ｂタグ１６とＣタグ１８、Ｂタグ１６とＤタグ２０、Ｃタグ１８とＤタグ２０の関係が兄弟関係である。兄弟関係にあるノードペア（以下、「兄弟ペア」とよぶ）の距離は、一方のタグと他方のタグの同一階層間における距離として求められる。同図の場合、Ｂタグ１６とＣタグ１８の距離は「１」、Ｂタグ１６とＤタグ２０の距離は「２」、Ｃタグ１８とＤタグ２０の距離は「１」となる。Ｂタグは３つあるが、兄弟ペアの距離を求めるにあたっては、便宜的にもっとも距離が小さくなるＢタグ１６が選択される。このほかにも、同図の場合であれば、兄弟ペアの一方にＢタグを含む場合、Ｂタグ１２、Ｂタグ１４、Ｂタグ１６とのそれぞれの距離の平均値を、Ｂタグを相手としたときの兄弟ペアの距離として求めてもよい。たとえば、Ｃタグ１８であれば、（１＋２＋３）÷３＝２により、Ｃタグ１８とＢタグの兄弟ペアの距離を「２」として求めてもよい。兄弟ペアにおける「深さ」は、ルートタグからの階層数を示す。同図の場合、兄弟ペアの深さはいずれも「５」である。【００１９】
構造化文書からは、親子ペア、繰り返しペア、兄弟ペアのいずれかに該当するタグのペアがノードペアとして検出対象となる。ただし、図２から図４に示した各関係は、構造化文書ファイルのタグ構造を特徴づけるノードペアの定義例であり、どのような位置関係にあるタグのペアをノードペアと定義するかは、文書処理装置１００のユーザが任意に決定すればよい。本実施例では、これらのうち、もっともシンプルな親子関係を中心として説明する。【００２０】
図５は、文書処理装置１００の機能ブロック図である。
ここに示す各ブロックは、ハードウェア的には、コンピュータのＣＰＵをはじめとする素子や機械装置で実現でき、ソフトウェア的にはコンピュータプログラム等によって実現されるが、ここでは、それらの連携によって実現される機能ブロックを描いている。したがって、これらの機能ブロックはハードウェア、ソフトウェアの組み合わせによっていろいろなかたちで実現できることは、当業者には理解されるところである。【００２１】
文書処理装置１００は、ユーザインタフェース処理部１１０、データ処理部１２０およびデータ保持部１３０を含む。
ユーザインタフェース処理部１１０は、ユーザからの入力処理やユーザに対する情報表示のようなユーザインタフェース全般に関する処理を担当する。本実施例においては、ユーザインタフェース処理部１１０により文書処理装置１００のユーザインタフェースサービスが提供されるものとして説明する。別例として、ユーザはインターネットを介して文書処理装置１００を操作してもよい。この場合、図示しない通信部が、ユーザ端末からの操作指示情報を受信し、またその操作指示に基づいて実行された処理結果情報をユーザ端末に送信することになる。【００２２】
データ処理部１２０は、ユーザインタフェース処理部１１０から取得されたデータを元にして各種のデータ処理を実行する。データ処理部１２０は、ユーザインタフェース処理部１１０とデータ保持部１３０の間のインタフェースの役割も果たす。データ保持部１３０は、あらかじめ用意された設定データや、データ処理部１２０から受け取ったデータなど、さまざまなデータを格納する。【００２３】
ユーザインタフェース処理部１１０は、入力部１３２と表示部１３６を含む。入力部１３２は、ユーザからの入力操作を受け付ける。表示部１３６は、ユーザに対して各種情報を表示する。入力部１３２は、構造化文書ファイルを外部から取得するための文書取得部１３４を含む。【００２４】
データ保持部１３０は、文書保持部１７０とインデックス情報保持部１７２を含む。
文書保持部１７０は、文書取得部１３４により取得された構造化文書ファイルを保持する。インデックス情報保持部１７２は、後述するインデックス情報生成部１４６が生成するインデックス情報を保持する。【００２５】
データ処理部１２０は、インデックス処理部１４０と類似判定部１５０を含む。
インデックス処理部１４０は、構造化文書ファイルごとに、ノードペアとその属性値を対応づけたインデックス情報を生成する。インデックス処理部１４０は、ノードペア検出部１４２、属性値取得部１４４およびインデックス情報生成部１４６を含む。文書取得部１３４が構造化文書ファイルを取得すると、ノードペア検出部１４２はその構造化文書ファイルからノードペアを検出する。属性値取得部１４４は、検出された各ノードペアについて、深さ、距離、頻度のそれぞれについての属性値を算出する。インデックス情報生成部１４６は、構造化文書ファイルを特定するための文書ＩＤ、ノードペアおよびその属性値を対応づけたインデックス情報を生成し、インデックス情報保持部１７２に記録する。【００２６】
類似判定部１５０は、クエリ文書のインデックス情報と被検査文書のインデックス情報を比較することにより、構造類似検索を実行する。類似判定部１５０は、共通ペア検出部１５２、ノード類似値算出部１５４、補正部１５６、稀少値算出部１５８、分布近似値取得部１６０、文書類似値算出部１６２を含む。【００２７】
共通ペア検出部１５２は、クエリ文書に含まれるノードペア群と被検査文書に含まれるノードペア群の両方に含まれるノードペアを検出する。以下、このようなノードペアのことを「共通ペア」とよぶ。たとえば、クエリ文書にタグ＜Ａ＞とタグ＜Ｂ＞による親子ペアが存在し、被検査文書にもタグ＜Ａ＞とタグ＜Ｂ＞による親子ペアが存在すれば、それぞれの属性値が異なっていても、タグ＜Ａ＞とタグ＜Ｂ＞は、クエリ文書と被検査文書の共通ペアとして検出される。【００２８】
なお、タグ名自体は必ずしも完全に一致しなくてもよい。たとえば、クエリ文書においては＜report＞タグと＜date＞タグが親子ペアとなっており、被検査文書においては＜rep＞タグと＜date＞タグが親子関係になっているとする。＜report＞という名前のタグと＜rep＞という名前のタグは、「rep」という３文字については共通するので、名称についてある程度の類似性がある。このとき、＜report＞タグと＜date＞タグを含むノードペアは共通ペアとして扱われる。このように、比較対象となる２つのタグ名が所定文字数以上重複するときや、一方のタグ名が他方のタグ名を包含するときに類似関係にあると判定してもよい。あるいは、あらかじめ単語間の類似関係を定義した類語辞書データを用意しておき、共通ペア検出部１５２は比較対象となる２つのタグ名が類似関係にあるかを判定してもよい。
ＸＭＬにおいては、文書作成者はタグ名を任意に設定できる。そのため、クエリ文書のタグ名と被検査文書のタグ名は完全に一致しないが類似した名称となることも多い。タグ名の類似関係を考慮した上で共通ペアを検出すれば、ＸＭＬ文書のような構造化文書ファイルについて、より実際的な構造類似検索が可能となる。【００２９】
ノード類似値算出部１５４は、クエリ文書における共通ペアの属性値と被検査文書における共通ペアの属性値の類似度をノード類似値として算出する。算出のための計算式は後述する。クエリ文書のノードペア群のうち、共通ペアのすべてについてノード類似値が算出される。【００３０】
稀少値算出部１５８は、共通ペアごとに稀少値を算出する。稀少値とは、文書保持部１７０に含まれる構造化文書ファイル群（以下、単に「コーパス」とよぶ）のうち、調査対象となっている共通ペアの出現頻度を示す数値である。コーパスにおいて出現回数が少ないノードペアほど、稀少値は大きくなる。【００３１】
分布近似値取得部１６０は共通ペアごとに分布近似値を算出する。共通ペアとなるノードペアの属性値は、コーパスにおいてはばらつきを生じる。たとえば、ある親子ペアは、ある構造化文書では距離「３」として現れ、別の構造化文書では距離「８」として現れるかもしれない。一方、別の親子ペアの距離は、コーパスにおいて「３〜５」の範囲でばらつくかもしれない。分布近似値は、このような共通ペアの属性値のばらつきを考慮した上で、ノード類似値を補正するための指標値である。分布近似値については、図７や図８に関連して詳述する。補正部１５６は、ノード類似値を稀少値や分布近似値に基づいて補正する。具体的な補正方法についても後述する。【００３２】
文書類似値算出部１６２は、クエリ文書と被検査文書との関係で検出された各共通ペアのノード類似値から、クエリ文書と被検査文書のタグ構造の類似度を文書類似値として算出する。たとえば、クエリ文書と被検査文書に複数個の共通ペアが含まれるときには、それらの共通ペアについてのノード類似値の合計値や平均値を文書類似値として算出してもよい。本実施例においては、ノード類似値の合計値を文書類似値として算出する。共通ペアが多いほど、また、ノード類似値が大きいほど、文書類似値が大きくなる。文書類似値は、クエリ文書と被検査文書のタグ構造の類似性を指標化した数値である。
分布近似値については、図７以降に関連して説明するものとして、まず、稀少値による補正も含めてノード類似値の計算式を示す。【００３３】
【数１】
2007119567.tif 000003
【００３４】
式（１）から式（３）は、あるクエリ文書Ａと被検査文書Ｂにおいて親子ペアかつ共通ペアとなるノードペアＣを対象としてノード類似値を計算するための式である。
式（１）は、ノードペアＣの稀少値を算出するための式である。式（１）において、documentCountとあるのは、文書保持部１７０に保持されている構造化文書ファイルの数である。すなわち、コーパスに含まれる文書数である。なお、文書保持部１７０ではなく、所定の外部データベースに含まれる文書群を対象として稀少値を計算してもよい。式（１）において、distributionはコーパスにおいてノードペアＣの総出現回数を示す。コーパスにおいて文書数の割に出現回数が少ないほど、稀少値が大きくなる。稀少値算出部１５８は、式（１）に示す計算式にて稀少値を算出する。【００３５】
式（２）は、クエリ文書におけるノードペアＣの属性値と被検査文書におけるノードペアＣの属性値との差異をDifferece値として指標化するための計算式である。たとえば、クエリ文書におけるノードペアＣの距離が３、被検査文書におけるノードペアＣの距離が１０であれば、ノードペアＣは共通ペアとはいえ、その出現態様は２つの文書間で大きく異なるといえる。このような場合、Difference値は大きくなる。
式（２）のqDistanceは、クエリ文書におけるノードペアＣの距離に関する属性値である。dDistanceは被検査文書におけるノードペアＣの距離に関する属性値である。被検査文書中にノードペアＣが複数個ある場合には、それらの平均距離を示す。maxDistanceは、コーパスにおけるノードペアＣの最大距離を示す。最大距離が所定値、たとえば「１０」を超えるときには一律に「１０」とする。
同様に、qFrequencyはクエリ文書におけるノードペアＣの「頻度」、dFrequencyは被検査文書におけるノードペアＣの「頻度」、maxFrequencyはコーパスにおけるノードペアの最大頻度を示す。最大頻度の上限も所定値として「１０」に設定される。qDepthはクエリ文書におけるノードペアＣの「深さ」、dDepthは被検査文書におけるノードペアＣの「深さ」、maxDepthはコーパスにおけるノードペアＣの最大深さを示す。最大深さの上限も所定値として「１０」に設定される。【００３６】
式（２）の平方根中における第１項は、クエリ文書と被検査文書におけるノードペアＣの距離の差異を指標化する項である。同様に、第２項は頻度の差異、第３項は深さの差異を指標化する項である。第１項から第３項にて計算される距離、頻度、深さの３要素の差異が小さいほど、Diffrence値が小さくなる。【００３７】
α、β、γは、それぞれ、距離、頻度、深さの各要素についての重み付け係数である。親子ペアにおける距離の違いは、頻度の違いや深さの違いよりもタグ構造としての差異が大きいと考えられる。また、深さの違いは、距離の違いや頻度の違いよりもタグ構造としての差異が小さいと考えられる。そこで、本実施例においては、α＞β≧γとなるようにαを０．７、βを０．２、γを０．１に設定する。α、β、γの和が１となるという前提のもと、コーパスに応じた実験によってα、β、γの好適値を求めればよい。ノード類似値算出部１５４は、式（２）によりDiffrence値を求め、ノード類似値を
ノード類似値＝（1.0−Diffrence値）
として算出する。【００３８】
式（３）は、式（１）から求められた稀少値により、式（２）から求められたノード類似値を補正するための計算式である。補正部１５６は、稀少値とノード類似値を乗算することにより、ノード類似値を補正する。この補正後のノード類似値が、クエリ文書におけるノードペアＣの出現態様と被検査文書におけるノードペアＣの出現態様の類似度を示す。比較対象となる２つの文書において、稀少なノードペアが共通ペアとして現れるとき、ノード類似値は大きな値となる。このようなノードペアはクエリ文書と被検査文書のタグ構造の類似性を示す重要なノードペアであるといえる。これは、ＴＦ（Term Frequency）・ＩＤＦ（Inverse Document Frequency）法の考え方を応用している。一方、コーパスにおいてよく出現するノードペアは、比較対象となる２つの文書の類似性を特に示唆するものではないため、ノード類似値は小さな値に補正される。【００３９】
図６は、ノード類似値を表示する画面図である。
クエリ文書と被検査文書が指定されると、表示部１３６はクエリ文書の親子ペアに対応して複数個の表示領域（以下、「ペアボックス」とよぶ）をマトリックス状に配置し、各ペアボックスにノード類似値を表示させる。同図は、
＜progress＞
＜header＞
＜reporter＞＜/reporter＞
＜summary＞＜/summary＞
＜/header＞
＜body＞
＜schedule＞
＜term＞＜/term＞
＜/schedule＞
＜this-week＞
＜project＞＜/project＞
＜task＞＜/task＞
＜output＞＜/output＞
＜/this-week＞
＜/body＞
＜/project＞
というクエリ文書のタグ構造に対応した表示画面である。文書取得部１３４がクエリ文書を取得すると、ノードペア検出部１４２はクエリ文書のタグ構造を走査して、計２２個の親子ペアを検出する。属性値取得部１４４は、各親子ペアについて距離、頻度、深さについての属性値を検出する。インデックス情報生成部１４６はインデックス情報を生成し、インデックス情報保持部１７２に記録する。クエリ文書は、文書保持部１７０に保持される。【００４０】
共通ペア検出部１５２は、文書保持部１７０から順次、被検査文書を選択する。あるいは、ユーザは入力部１３２を介して比較対象となる被検査文書を明示的に指定してもよい。共通ペア検出部１５２は、クエリ文書のインデックス情報と被検査文書のインデックス情報を参照して、共通ペアを検出する。＜body＞と＜output＞、＜this-week＞と＜output＞の親子ペアは、被検査文書からは検出されていないが、それ以外の親子ペアは検出されている。すなわち、クエリ文書の２２個の親子ペアのうち、これら２つ以外の２０個の親子ペアは共通ペアとなる。ノード類似値算出部１５４はこれら２０個の共通ペアについてノード類似値を算出し、補正部１５６は各ノード類似値を稀少値によって補正する。表示部１３６は、クエリ文書の各親子ペアについてペアボックス内にノード類似値を表示させる。【００４１】
２０個の共通ペアの中でも、＜schedule＞タグと＜term＞タグによる共通ペアのノード類似値は、最高の５．３３である。クエリ文書と被検査文書を比較したとき、特にこの共通ペアの出現態様が類似していることがわかる。表示部１３６は、ノード類似値が所定値、たとえば、５．００以上となる共通ペアのペアボックスを他の共通ペアのペアボックスとは異なる色彩にて表示する。たとえば、ペアボックスを濃赤色で表示する。【００４２】
また、＜progress＞タグと＜term＞タグによる共通ペアのノード類似値は４．３２、＜body＞タグと＜term＞タグの共通ペアのノード類似値は４．３８である。これらの共通ペアは、＜schedule＞タグと＜term＞タグによる共通ペアほどではないものの、出現態様が類似するノードペアである。表示部１３６は、ノード類似値が４．００以上となるペアボックスを淡赤色で表示する。また、ノード類似値が４．００未満のペアボックスは白色表示される。このような表示方法によれば、クエリ文書と被検査文書を比較したときに、出現態様が特に類似するノードペアを視覚的に特定しやすくなる。【００４３】
文書類似値算出部１６２は、各ノード類似値の合計値を文書類似値として算出する。類似判定部１５０は、クエリ文書に対する被検査文書の文書類似値を計算することにより構造類似検索を実行する。たとえば、文書類似値が大きい順から所定数の被検査文書をクエリ文書に類似する構造化文書として選定する。表示部１３６は更に、図示しないランキング表示部を備えてもよい。ランキング表示部は、あるクエリ文書について計算された文書類似値が高い順に、所定数、たとえば、２０個の被検査文書を選択し、そのタイトルを一覧表形式にてランキング表示する。あるいは、文書類似値が、所定値、たとえば、８０点以上となる被検査文書を文書類似値が高い順にランキング表示する。このような表示方法によれば、クエリ文書にタグ構造が似ている被検査文書を網羅的に認識しやすくなる。【００４４】
また、このような構造類似検索の考え方によれば、Ｘｐａｔｈ式による曖昧検索が可能となる。たとえば、「/body/note/chapter/para」というＸｐａｔｈ式を検索式として、被検査文書から該当位置を探す場合、通常のＸｐａｔｈ検索であれば「/body/a/note/chapter/para」という位置のタグはヒットしない。「a」という条件にあわないタグが含まれているためである。しかし、ノードペア「body/note」や「note/chapter」などについてノード類似値を検索することにより、検索式と完全に一致しなくともそれに近いＸｐａｔｈ検索が可能となる。【００４５】
図７は、ある薬品情報データベースを対象としてノードペアを調査した結果を示す図である。
調査対象になった構造化文書はＸＭＬ文書であり、文書数１１６８２、総サイズは約４００メガバイトである。このデータベースからは、２０２０種類の親子ペア、１５４８種類の繰り返しペア、１０４４種類の兄弟ペアが検出された。２０２０種類の親子ペアのうち、最高頻度で出現した親子ペアは１３７４９回出現している。また、１つの親子ペアが文書群において出現する平均回数は２３３５回であった。２０２０種類の親子ペアのうち、最大距離は１０、平均距離は２．７２である。ただし、親子ペアの距離の上限は１０として設定されている。同様に、親子ペアのうちの最大頻度は８３．７５、平均頻度は１．３１、最大深さは９．００、平均深さは２．４３であった。【００４６】
親子ペアについて、距離のばらつきを示す最大の標準偏差は１．５５、平均的な標準偏差は０．２０であった。すなわち、ある親子ペアの距離は、標準偏差１．５５程度にばらつくが、親子ペアの距離の平均的なばらつきは、標準偏差０．２０程度であり、親子ペアの距離はそれほどばらつかないことがわかる。頻度のばらつきは、最大の標準偏差４６．４０、平均的な標準偏差０．４０であり、大きくばらつくことがわかる。また、深さのばらつきは、最大の標準偏差は１．６５、平均的な標準偏差は０．１０である。繰り返しペアや兄弟ペアについても同図に示すような結果が得られた。【００４７】
このように親子ペアや兄弟ペアのようなノードペアの種類ごとに、ひいては、ノードペアごとに、属性値のばらつき方はさまざまである。そこで、分布近似値取得部１６０は、ノードペアの属性値のばらつきを考慮してノード類似値を補正するための変数として、分布近似値を算出している。あるノードペアＡの属性値のばらつき方が正規分布となる場合、属性値の平均値μ±標準偏差σの範囲に、コーパスから検出されたノードペアＡのうちの約６８％が収まることになる。また、μ±２σの範囲に約９５％が収まることになる。【００４８】
たとえば、クエリ文書Ａと被検査文書Ｂとの間で検出された共通ペアＣについて、クエリ文書Ａにおける共通ペアＣの距離は、μ−２．５σの大きさにあたるとする。一方、被検査文書Ｂにおける共通ペアＣの距離は、μ＋１．８σの大きさにあたるとする。共通ペアＣは、クエリ文書Ａにも被検査文書Ｂにも現れているが、その統計的な位置は大きく隔たっている。このような場合、分布近似値は小さくなり、ノード類似値が小さくなるように補正される。【００４９】
図８は、分布近似値を求めるための表である。
たとえば、あるノードペアＡの距離がμ以上μ＋σ未満であり、被検査文書におけるノードペアＡの距離もμ以上μ＋σ未満であればノードペアＡの距離についての分布近似値は１．０となる。このように、クエリ文書における共通ペアの属性値と被検査文書における共通ペアの属性値が統計的に近い関係にあるときに分布近似値は１．０となる。一方、クエリ文書における共通ペアの属性値の位置と被検査文書における共通ペアの属性値の位置の差がσ以上２σ未満であれば分布近似値は０．５となる。同様に、２σ以上３σ未満であれば０．３、３σ以上４σ未満であれば０．２、４σ以上であれば０．１となる。【００５０】
補正部１５６は、式（３）に分布近似値を乗算することにより、ノード類似値を補正する。たとえば、距離、頻度、深さのそれぞれについての分布近似値を式（３）の補正後のノード類似値に乗算することにより、標準偏差を考慮したかたちで最終的なノード類似値を求めてもよい。このような処理方法によれば、クエリ文書と被検査文書の共通ペアの属性値について、統計的に遠い関係にある場合には、ノード類似値が大きく抑制されることになる。【００５１】
あるいは、式（３）の（qDistance-dDistance）の部分を、距離の分布近似値で除算することにより、qDistance-dDistance/（距離についての分布近似値）に変更してもよい。頻度や深さについても同様である。このような処理方法によれば、統計的に遠い関係にある属性値が存在するときには、Diffrence値が大きくなり、したがって、ノード類似値が小さくなる。
なお、いうまでもなく、図８に示した分布近似値の設定は一例にすぎず、コーパスに応じて分布近似値の好適な設定値を求めればよい。【００５２】
以上、実施例に基づいて本発明を説明した。
文書処理装置１００は、クエリ文書のタグ構造と被検査文書のタグ構造を比較し、ノードペアを単位として構造上の類似性をノード類似値や文書類似値として数値化できる。構造類似検索はシンプルなアルゴリズムで実現できるため、高速な検索が可能である。【００５３】
ノードペアの属性値として、距離、頻度、深さというシンプルな要素を設定することにより、属性値取得のための処理が単純化されている。また、コーパスにおいて特徴的なノードペアは、ノード類似値が高くなるように稀少値によって補正される。そのため、クエリ文書と被検査文書の類似性を判定する上で有用なノードペアとそうでないノードペアを考慮した検索が可能となる。また、ノードペアごと、また、その属性値ごとのばらつきを考慮した上で、ノード類似値が補正される。そのため、共通ペアとして検出されても、統計的に遠い関係にある属性値を含む場合には、ノード類似値が小さくなるため、構造類似検索の精度をいっそう高めることができる。また、タグ名の類似性を考慮することにより、より実際的な構造類似検索が可能となる。【００５４】
以上、本発明を実施の形態をもとに説明した。この実施の形態は例示であり、それらの各構成要素や各処理プロセスの組み合わせにいろいろな変形例が可能なこと、またそうした変形例も本発明の範囲にあることは当業者に理解されるところである。【００５５】
請求項に記載の稀少補正部の機能は、本実施例においてはノード類似値算出部１５４と補正部１５６によって実現される。また、請求項に記載の分布補正部の機能は、本実施例においてはノード類似値算出部１５４と補正部１５６によって実現される。請求項に記載のノード類似値表示部の機能は、本実施例においては表示部１３６によって実現される。
これら請求項に記載の各構成要件が果たすべき機能は、本実施例において示された各機能ブロックの単体もしくはそれらの連係によって実現されることも当業者には理解されるところである。
【産業上の利用可能性】
【００５６】
本発明は、構造化文書ファイルを対象とした検索装置において利用可能である。
【図１】
2007119567.tif 000004
【図２】
2007119567.tif 000005
【図３】
2007119567.tif 000006
【図４】
2007119567.tif 000007
【図５】
2007119567.tif 000008
【図６】
2007119567.tif 000009
【図７】
2007119567.tif 000010
【図８】
2007119567.tif 000011
【国際調査報告】
2007119567.tif 000012
2007119567.tif 000013
2007119567.tif 000014
2007119567.tif 000015