(57)【特許請求の範囲】
【請求項１】
指定された文書を示す問合せ文書の近似対象となる文書を示す登録文書に含まれる文章を分解することにより得られる部分文字列と、前記登録文書における当該部分文字列の位置と、を記憶する記憶手段を備え、指定される前記問合せ文書に近似する前記登録文書を決定する情報処理装置であって、
前記問合せ文書を分解することにより得られる部分文字列と同じ部分文字列であって、前記記憶手段に記憶された登録文書に含まれる部分文字列を取得する部分文字列取得手段と、
前記問合せ文書に対する前記部分文字列の位置及び前記部分文字列取得手段によって取得した登録文書に対する部分文字列の位置から求まる、前記問合せ文書に対する部分文字列と前記登録文書に対する部分文字列と、の同じ位置関係を有するその部分文字列の数を用いて、前記登録文書と前記問合せ文書との近似度合を算出する算出手段と、
前記問合せ文書の部分文字列を対象に、前記記憶手段に記憶されている登録文書の該部分文字列の出現頻度から求まる出現確率に従って得られる当該部分文字列の情報量を算出する情報量算出手段と、
前記問合せ文書の部分文字列を対象に、前記記憶手段に記憶されている登録文書に含まれる前記問合せ文書の部分文字列の先頭文字に対する出現頻度に従って得られる当該登録文書の情報エントロピーを算出する情報エントロピー算出手段と、
前記算出手段による算出結果に従って、問合せ文書に近似する登録文書を決定する決定手段と、
を備え、
前記算出手段は、前記情報量算出手段によって算出した部分文字列の情報量の大きい順に、前記問合せ文書に対する部分文字列と前記登録文書に対する部分文字列と、の位置関係を求める度に積算された前記情報量が、前記算出した情報エントロピーを超えるまで、前記部分文字列取得手段、前記算出手段、及び前記決定手段を実行することを特徴とする情報処理装置。
【請求項２】
前記算出手段は、前記登録文書に対する部分文字列の位置関係と、前記問合せ文書に対する部分文字列の位置関係と、のずれが許容範囲の位置関係を前記同じ位置関係として、前記算出を行うことを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記算出手段は、前記位置関係が一致した数を前記その部分文字列の数として用いることを特徴とする請求項１または２に記載の情報処理装置。
【請求項４】
前記記憶手段に記憶されている登録文書の部分文字列の位置を、前記問合せ文書の部分文字列の位置に従って補正する補正手段を更に備え、
前記算出手段は、前記補正手段で補正されることにより得られる前記登録文書の補正位置が同じ位置である場合、前記同じ位置関係を有する数として用いることを特徴とする請求項１乃至３の何れか１項に記載の情報処理装置。
【請求項５】
前記算出手段は、前記同じ位置関係を有すると判定した部分文字列の数が所定値以上の前記補正位置における前記同じ位置関係を有する部分文字列の数を前記その部分文字列の数として用いることを特徴とする請求項４に記載の情報処理装置。
【請求項６】
前記決定手段は、前記算出手段により算出された近似度合が所定値以上の登録文書を、前記問合せ文書に近似する登録文書として決定することを特徴とする請求項１乃至５の何れか１項に記載の情報処理装置。
【請求項７】
前記算出手段は、前記問合せ文書に対する部分文字列と前記登録文書に対する部分文字列と、の位置関係が、所定位置の範囲内で同じ位置関係を有する場合に一致する数を前記その部分文字列の数として用いることを特徴とする請求項１乃至６の何れか１項に記載の情報処理装置。
【請求項８】
前記算出手段は、前記問合せ文書に対する部分文字列を対象に、前記補正手段で補正されることにより得られる前記登録文書の補正位置の差が、許容値以内である場合、前記同じ位置関係を有する数として、算出を行うことを特徴とする請求項４乃至７の何れか１項に記載の情報処理装置。
【請求項９】
前記算出手段は、前記同じ位置関係を有する数及び補正位置の差に従って、前記登録文書と前記問合せ文書との近似度合を算出することを特徴とする請求項８に記載の情報処理装置。
【請求項１０】
前記算出手段は、前記問合せ文書に含まれる同じ位置の部分文字列を対象に、前記補正手段で補正されることにより得られる前記登録文書の補正位置が異なる場合、同じ位置関係を有する部分文字列の多い数を前記その部分文字列の数として用いることを特徴とする請求項４乃至９の何れか１項に記載の情報処理装置。
【請求項１１】
指定された文書を示す問合せ文書の近似対象となる文書を示す登録文書に含まれる文章を分解することにより得られる部分文字列と、前記登録文書における当該部分文字列の位置と、を記憶する記憶手段を備え、指定される前記問合せ文書に近似する前記登録文書を決定する情報処理装置の制御方法であって、
前記情報処理装置の部分文字列取得手段が、前記問合せ文書を分解することにより得られる部分文字列と同じ部分文字列であって、前記記憶手段に記憶された登録文書に含まれる部分文字列を取得する部分文字列取得工程と、
前記情報処理装置の算出手段が、前記問合せ文書に対する前記部分文字列の位置及び前記部分文字列取得工程によって取得した登録文書に対する部分文字列の位置から求まる、前記問合せ文書に対する部分文字列と前記登録文書に対する部分文字列と、の同じ位置関係を有するその部分文字列の数を用いて、前記登録文書と前記問合せ文書との近似度合を算出する算出工程と、
前記情報処理装置の情報量算出手段が、前記問合せ文書の部分文字列を対象に、前記記憶手段に記憶されている登録文書の該部分文字列の出現頻度から求まる出現確率に従って得られる当該部分文字列の情報量を算出する情報量算出工程と、
前記情報処理装置の前記情報エントロピー算出手段が、前記問合せ文書の部分文字列を対象に、前記記憶手段に記憶されている登録文書に含まれる前記問合せ文書の部分文字列の先頭文字に対する出現頻度に従って得られる当該登録文書の情報エントロピーを算出する情報エントロピー算出工程と、
前記情報処理装置の決定手段が、前記算出工程による算出結果に従って、問合せ文書に近似する登録文書を決定する決定工程と、
を実行し、
前記算出工程は、前記情報量算出工程によって算出した部分文字列の情報量の大きい順に、前記問合せ文書に対する部分文字列と前記登録文書に対する部分文字列と、の位置関係を求める度に積算された前記情報量が、前記算出した情報エントロピーを超えるまで、前記部分文字列取得工程、前記算出工程、及び前記決定工程を実行することを特徴とする情報処理装置の制御方法。
【請求項１２】
指定された文書を示す問合せ文書の近似対象となる文書を示す登録文書に含まれる文章を分解することにより得られる部分文字列と、前記登録文書における当該部分文字列の位置と、を記憶する記憶手段を備え、指定される前記問合せ文書に近似する前記登録文書を決定する情報処理装置で読み取り実行可能なプログラムあって、
前記情報処理装置を、
前記問合せ文書を分解することにより得られる部分文字列と同じ部分文字列であって、前記記憶手段に記憶された登録文書に含まれる部分文字列を取得する部分文字列取得手段と、
前記問合せ文書に対する前記部分文字列の位置及び前記部分文字列取得手段によって取得した登録文書に対する部分文字列の位置から求まる、前記問合せ文書に対する部分文字列と前記登録文書に対する部分文字列と、の同じ位置関係を有するその部分文字列の数を用いて、前記登録文書と前記問合せ文書との近似度合を算出する算出手段と、
前記問合せ文書の部分文字列を対象に、前記記憶手段に記憶されている登録文書の該部分文字列の出現頻度から求まる出現確率に従って得られる当該部分文字列の情報量を算出する情報量算出手段と、
前記問合せ文書の部分文字列を対象に、前記記憶手段に記憶されている登録文書に含まれる前記問合せ文書の部分文字列の先頭文字に対する出現頻度に従って得られる当該登録文書の情報エントロピーを算出する情報エントロピー算出手段と、
前記算出手段による算出結果に従って、問合せ文書に近似する登録文書を決定する決定手段と、
して機能させ、
前記算出手段は、前記情報量算出手段によって算出した部分文字列の情報量の大きい順に、前記問合せ文書に対する部分文字列と前記登録文書に対する部分文字列と、の位置関係を求める度に積算された前記情報量が、前記算出した情報エントロピーを超えるまで、前記部分文字列取得手段、前記算出手段、及び前記決定手段を実行として機能することを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、及びその制御方法、プログラムに関し、特に、登録された電子文書の中から、入力された電子文書内の文字列と近似する文字列を含む電子文書を検出する技術に関する。
【背景技術】
【０００２】
コンピュータおよびインターネットの普及により、電子文書を取り扱う機会は日々増加している。しかし電子文書は複製が容易なため、電子的な情報漏洩や著作権侵害など様々な問題が多く発生している。
【０００３】
情報漏洩に関しては、近年ＤＬＰ（Ｄａｔａ  Ｌｅａｋ  Ｐｒｅｖｅｎｔｉｏｎ）といった製品が注目されている。ＤＬＰはネットワーク上やクライアントＰＣ上に設置される情報漏洩対策の製品であり、予め設定された機密文書を特徴付ける条件に基づき、機密文書の外部への送信を制御することができる。
【０００４】
従前より、送受信者や本文中のキーワードなどにより条件を設定しており煩雑な作業が必要であったが、最近は機密文書そのものを登録し、登録した機密文書またはその派生文書が送信されるのを制御する機能を持った製品が現れている。また、大学などでのレポート作成において、インターネット上の文書から部分的に複製を取得し、組み合わせることによりレポートを作成することが問題となっており、これらを検出する製品も登場している。
【０００５】
このような製品の実現には、特定の文書に対して、まったく同一の内容を持つ文書だけでなく、部分的な複製や、小規模な編集などにより派生した問合せ文書に近似する文書を見つけ出す技術が必要とされる。
【０００６】
従来より指定された文書に似た文書を検索する技術としては、文書の構成要素の一致度合により類似度を算出する類似文検索や、２つの文書を構成する文字列の直接比較することで文書の近似を判定できるＤＰマッチングなどがある。
【０００７】
特許文献１および特開文献２において、連接文字の出現位置に対する転置インデックスを用いて、検索語との一致度合に応じて検索を行う方法が開示されている。
【０００８】
また、特許文献３においては、文書の構成要素をハッシュ値に変換して縮約した文字列（フィンガープリント）で表現し、フィンガープリントの比較により問合せ文書との一致度合の高い文書を検索する方法が開示されている。
【先行技術文献】
【特許文献】
【０００９】
【特許文献１】特開平０８−２３５２１２号公報
【特許文献２】特開平０９−２５９１４０号公報
【特許文献３】特表２００８−５４１２７２号公報
【発明の概要】
【発明が解決しようとする課題】
【００１０】
しかし、従来の類似文検索では、基本的に文書の構成要素の一致度合により類似度を算出しており、構成要素の順序や位置関係は考慮されておらず、同じような構成要素含めば、記述が大きく異なる文書であっても検出してしまうという問題がある。
【００１１】
またＤＰマッチングなどを用いると、２つの文書を構成する文字列の直接比較により文書の近似度合を求めることができるが、検出の対象となる文書が多くなると、文書数に比例して比較回数が増え、処理時間が増大するという問題がある。
【００１２】
さらに特許文献１及び特許文献２で開示されている方法は短い検索語を対象としたもので、検索語を構成する全ての連接文字列について評価を行うため、検索語が長くなると処理量が増大し、検索処理の時間が長くなるという問題がある。
【００１３】
特許文献３においては、フィンガープリントの生成の際、特徴的な構成要素のみを対象とし、比較箇所を削減することで高速化を図っているが、比較箇所の選択基準がそれぞれの文書ごとの統計値に基づいており、登録文書と問合せ文書（検索語となる文字列を含む文書）で基準が異なっているため、異なる構成要素について比較してしまう可能性がある。特に検索対象となる文書の一部しか含まない文書を問合せ文書とする場合については問題が顕著となる。
【００１４】
本発明は上記の課題を解決するためになされたものであり、問合せ文書を構成する部分文字列と、同じ位置関係を有する、登録文書内の部分文字列の数に従って、登録文書と問合せ文書との近似度合を算出することで、精度良く近似する登録文書を決定する仕組みを提供することを目的とする。
【課題を解決するための手段】
【００１５】
本発明は、指定された文書を示す問合せ文書の近似対象となる文書を示す登録文書に含まれる文章を分解することにより得られる部分文字列と、前記登録文書における当該部分文字列の位置と、を記憶する記憶手段を備え、指定される前記問合せ文書に近似する前記登録文書を決定する情報処理装置であって、前記問合せ文書を分解することにより得られる部分文字列と同じ部分文字列であって、前記記憶手段に記憶された登録文書に含まれる部分文字列を取得する部分文字列取得手段と、前記問合せ文書に対する前記部分文字列の位置及び前記部分文字列取得手段によって取得した登録文書に対する部分文字列の位置から求まる、前記問合せ文書に対する部分文字列と前記登録文書に対する部分文字列と、の同じ位置関係を有するその部分文字列の数を用いて、前記登録文書と前記問合せ文書との近似度合を算出する算出手段と、前記算出手段による算出結果に従って、問合せ文書に近似する登録文書を決定する決定手段と、を備えることを特徴とする。
【００１６】
また、本発明は、指定された文書を示す問合せ文書の近似対象となる文書を示す登録文書に含まれる文章を分解することにより得られる部分文字列と、前記登録文書における当該部分文字列の位置と、を記憶する記憶手段を備え、指定される前記問合せ文書に近似する前記登録文書を決定する情報処理装置の制御方法であって、前記情報処理装置の部分文字列取得手段が、前記問合せ文書を分解することにより得られる部分文字列と同じ部分文字列であって、前記記憶手段に記憶された登録文書に含まれる部分文字列を取得する部分文字列取得工程と、前記情報処理装置の算出手段が、前記問合せ文書に対する前記部分文字列の位置及び前記部分文字列取得工程によって取得した登録文書に対する部分文字列の位置から求まる、前記問合せ文書に対する部分文字列と前記登録文書に対する部分文字列と、の同じ位置関係を有するその部分文字列の数を用いて、前記登録文書と前記問合せ文書との近似度合を算出する算出工程と、前記情報処理装置の決定手段が、前記算出工程による算出結果に従って、問合せ文書に近似する登録文書を決定する決定工程と、を備えることを特徴とする。
【００１７】
また、本発明は、指定された文書を示す問合せ文書の近似対象となる文書を示す登録文書に含まれる文章を分解することにより得られる部分文字列と、前記登録文書における当該部分文字列の位置と、を記憶する記憶手段を備え、指定される前記問合せ文書に近似する前記登録文書を決定する情報処理装置で読み取り実行可能なプログラムあって、前記情報処理装置を、前記問合せ文書を分解することにより得られる部分文字列と同じ部分文字列であって、前記記憶手段に記憶された登録文書に含まれる部分文字列を取得する部分文字列取得手段と、前記問合せ文書に対する前記部分文字列の位置及び前記部分文字列取得手段によって取得した登録文書に対する部分文字列の位置から求まる、前記問合せ文書に対する部分文字列と前記登録文書に対する部分文字列と、の同じ位置関係を有するその部分文字列の数を用いて、前記登録文書と前記問合せ文書との近似度合を算出する算出手段と、前記算出手段による算出結果に従って、問合せ文書に近似する登録文書を決定する決定手段として機能させることを特徴とする。
【発明の効果】
【００１８】
本発明によれば、近似する文書の検索を高速に実現することができる近似文書検索装置及びその制御方法、プログラムを提供できる。特に、登録文書集合全体における統計値に基づき登録文書の弁別に有効な構成要素を問合せ文書の構成要素から選択するので、問合せ文書が登録文書の一部分しか含まないような場合の検索についても効果を奏する。
【図面の簡単な説明】
【００１９】
【図１】本発明の実施形態における近似文書検索装置の構成を示す図である。
【図２】本発明の実施形態における各種端末のハードウェア構成を示す図である。
【図３】本発明の実施形態における近似文書検索装置における文書登録部の基本的な処理フローを示す図である。
【図４】本発明の実施形態における登録文書保存領域の構成を示す図である。
【図５】本発明の実施形態における書誌情報テーブルの一例を示す図である。
【図６】本発明の実施形態における転置インデックスの一例を示す図である。
【図７】本発明の実施形態における文書登録処理の一例を示す図である。
【図８】本発明の実施形態における近似検索処理部の基本的な処理フローを示す図である。
【図９】本発明の実施形態における近似検索処理部の統計情報取得処理の基本的な処理フローを示す図である。
【図１０】本発明の実施形態における連接文字列の登録文書集合に対する出現確率を求める式の一例を示す図である。
【図１１】本発明の実施形態における連接文字列の登録文書集合に対する情報量を求める式の一例を示す図である。
【図１２】本発明の実施形態における特定文字の登録文書集合に対する情報エントロピーを求める式の一例を示す図である。
【図１３】本発明の実施形態における転置インデックスに含まれる情報から統計値を求める一例を示す図である。
【図１４】本発明の実施形態における近似検索処理部の評価連接文字列選択処理の基本的な処理フローを示す図である。
【図１５】本発明の実施形態における評価連接文字列選択処理の一例を示す図である。
【図１６】本発明の実施形態における評価連接文字列選択処理における位置情報の補正および補正出現位置での集約の一例を示す図である。
【図１７】本発明の実施形態における近似検索処理部の近似度算出処理の基本的な処理フローを示す図である。
【図１８】本発明の実施形態における近似度を求める式の一例を示す図である。
【図１９】本発明の実施形態における近似度算出処理の一例を示す図である。
【図２０】本発明の第２の実施形態における近似検索処理部の近似度算出処理の基本的な処理フローを示す図である。
【図２１】本発明の第２実施形態における近似度を求める式の一例を示す図である。
【図２２】本発明の第２の実施形態における近似度算出処理の一例を示す図である。
【図２３】本発明の第２の実施形態における許容区間を特定する処理のフローを示す図である。
【図２４】本発明の第３の実施形態における近似検索処理部の近似度算出処理の基本的な処理フローを示す図である。
【図２５】本発明の第３の実施形態における近似度算出処理の一例を示す図である。
【発明を実施するための形態】
【００２０】
以下、図面を参照して、本発明の実施形態を詳細に説明する。
図１は本発明の実施形態の近似文書検索装置の構成を示す図である。
尚、図１の近似文書検索装置の構成は一例であり、用途や目的に応じて様々な構成例があることは言うまでもない。
１００は近似文書検索装置である。近似文書検索装置１００は、文書登録部１０１、登録文書情報保存領域１０２、近似文書検索部１０３から構成される。
【００２１】
文書登録部１０１は、近似文書検索装置１００に入力された登録文書１１０を構成する文字列を部分文字列に分解し、全ての部分文字列と出現位置を、登録文書の書誌情報とともに、登録文書情報保存領域１０２に追加する。すなわち、部分文字列は、登録文書に含まれる文章を分解することにより得られる。
【００２２】
近似文書検索部１０３は、近似文書検索装置１００に入力された問合せ文書１１１を構成する文字列を部分文字列に分解し、登録文書情報保存領域１０２を参照して、全ての部分文字列に対する登録文書における統計情報（後述する情報量や情報エントロピーを含む）や登録文書集合における出現位置情報（出現位置）を取得し、取得した統計情報と出現位置情報に基づき、問合せ文書１１１に近似する文書を登録文書情報保存領域１０２に登録された文書集合から探し出し、近似する文書のリストを近似の度合に応じて近似検索結果１１２として出力する。
【００２３】
次に、図１の近似文書検索装置１００のハードウェア構成について、図２を用いて説明する。
【００２４】
図２は、本発明の実施形態における各種端末のハードウェア構成を示す図である。
【００２５】
ＣＰＵ２０１は、システムバス２０４に接続される各デバイスやコントローラを統括的に制御する。
【００２６】
また、ＲＯＭ２０２あるいは外部メモリ２１１には、ＣＰＵ２０１の制御プログラムであるＢＩＯＳ（Ｂａｓｉｃ  Ｉｎｐｕｔ  ／  Ｏｕｔｐｕｔ  Ｓｙｓｔｅｍ）やオペレーティングシステムプログラム（以下、ＯＳ）や、各サーバ或いは各ＰＣの実行する機能を実現するために必要な後述する各種プログラム等が記憶されている。ＲＡＭ２０３は、ＣＰＵ２０１の主メモリ、ワークエリア等として機能する。
【００２７】
ＣＰＵ２０１は、処理の実行に際して必要なプログラム等をＲＡＭ２０３にロードして、プログラムを実行することで各種動作を実現するものである。
【００２８】
また、入力コントローラ（入力Ｃ）２０５は、キーボード２０９や不図示のマウス等のポインティングデバイスからの入力を制御する。
【００２９】
ビデオコントローラ（ＶＣ）２０６は、ＣＲＴディスプレイ（ＣＲＴ）２１０等の表示器への表示を制御する。表示器はＣＲＴだけでなく、液晶ディスプレイでも構わない。これらは必要に応じて管理者が使用するものである。本発明には直接関係があるものではない。
【００３０】
メモリコントローラ（ＭＣ）２０７は、ブートプログラム、ブラウザソフトウエア、各種のアプリケーション、フォントデータ、ユーザファイル、編集ファイル、各種データ等を記憶するハードディスク（ＨＤ）やフロッピーディスク（登録商標  ＦＤ）或いはＰＣＭＣＩＡカードスロットにアダプタを介して接続されるコンパクトフラッシュメモリ等の外部メモリ２１１へのアクセスを制御する。
【００３１】
通信Ｉ／Ｆコントローラ（通信Ｉ／ＦＣ）２０８は、ネットワークを介して、外部機器と接続・通信するものであり、ネットワークでの通信制御処理を実行する。例えば、ＴＣＰ／ＩＰを用いたインターネット通信等が可能である。
【００３２】
なお、ＣＰＵ２０１は、例えばＲＡＭ２０３内の表示情報用領域へアウトラインフォントの展開（ラスタライズ）処理を実行することにより、ＣＲＴ２１０上での表示を可能としている。また、ＣＰＵ２０１は、ＣＲＴ２１０上の不図示のマウスカーソル等でのユーザ指示を可能とする。
【００３３】
本発明を実現するための近似文書検索プログラムは外部メモリ２１１に記録されており、必要に応じてＲＡＭ２０３にロードされることによりＣＰＵ２０１によって実行されるものである。さらに、本発明に係わるプログラムが用いる定義ファイル２１３及び各種情報テーブル２１４は外部メモリ２１１に格納されており、これらについての詳細な説明は後述する。
【００３４】
（文書登録処理）
次に、近似文書検索装置１００における文書登録部１０１の基本的な処理フローについて、図３を用いて説明する。
【００３５】
図３は文書登録部の文書登録処理における処理フローを示す図である。
【００３６】
ステップＳ３０１において、文書登録部１０１は、書誌情報テーブル４０１に登録する文書の書誌情報を登録する。このとき登録文書を一意に識別するための識別子として文書ＩＤを取得する。
【００３７】
ステップＳ３０２において、文書登録部１０１は、登録文書を構成する文字列を２連接文字列に分割し、２連接文字列に対し文書の識別子である文書ＩＤと２連接文字列の出現位置を合成した位置情報を生成する。
ステップＳ３０３において、文書登録部１０１は、ステップＳ３０２で取得した２連接文字列に対して繰り返し処理を開始する。
【００３８】
ステップＳ３０４において、文書登録部１０１は、２連接文字列と位置情報を転置インデックス４０２に追加する。登録と同時に転置インデックス４０２に格納されている２連接文字列の出現頻度を１だけ加算する。
【００３９】
図４は、登録文書情報保存領域１０２の概念図である。登録文書情報保存領域１０２には、書誌情報テーブル４０１と転置インデックス４０２を備えている。
【００４０】
ステップＳ３０５において、文書登録部１０１は、処理すべき２連接文字列がまだあれば、処理をステップＳ３０３に戻し、処理すべき２連接文字列がなければ処理を終了する。
【００４１】
（ここでの処理の具体例）
次に「本日は晴天なれど大阪湾の波高し。」という一文からなる文書「大阪の天気７月１０日．ｄｏｃ」を登録した場合について具体的に説明する。
【００４２】
ステップＳ３０１において、文書登録部１０１は、図５に示すような書誌情報テーブル４０１に登録する文書の書誌情報として「大阪の天気７月１０日．ｄｏｃ」を登録する。このとき登録文書を一意に識別するための識別子として付与された文書ＩＤ「１５」を取得する。
【００４３】
ステップＳ３０２において、文書登録部１０１は、登録文書を構成する文字列「本日は晴天なれど大阪湾の波高し。」を２連接文字列に分割し、２連接文字列に対し文書の識別子である文書ＩＤと２連接文字列の出現位置を合成した位置情報を生成する。例えば最初の２連接文字列「本日」に対しては、文書ＩＤである「１５」と出現位置「１」から位置情報「１５：１」を生成し、次の２連接文字列「日は」に対していは文書ＩＤである「１５」と出現位置「２」から位置情報「１５：２」を生成する。
【００４４】
ステップＳ３０３において、文書登録部１０１は、最初の２連接文字列「本日」から繰り返し処理を開始する。
【００４５】
ステップＳ３０４において、文書登録部１０１は、２連接文字列「本日」と位置情報「１５：１」を図６に示すような転置インデックス４０２に追加する。転置インデックス４０２において、２連接文字列「本日」に対しては、出現頻度として「１７」、位置情報「…１３：１４  １４：３２」が登録されているので、位置情報「１５：１」を追加して「…１３：１４  １４：３２  １５：１」とし、出現頻度を１だけ加算して「１８」とする。
【００４６】
ステップＳ３０５において、文書登録部１０１は、次の２連接文字列「日は」があるので処理をステップＳ３０３に戻す。
【００４７】
以下同様に全ての２連接文字列に対して処理を繰り返すと、図７に示すように、「大阪の天気７月１０日．ｄｏｃ」に出現した任意の２連接文字列に対し、転置インデックス４０２から出現位置を取得することが可能となる。
【００４８】
（近似文書検索処理）
次に、近似文書検索装置１００における近似文書検索部１０３の基本的な処理フローについて、図８を用いて説明する。
【００４９】
図８は近似文書検索部１０３の近似文書検索処理における概略フローを示す図である。
【００５０】
ステップＳ８０１において、近似文書検索部１０３は、問合せ文書を構成する２連接文字列および問合せ文書の登録文書集合における統計値を取得する。
【００５１】
ステップＳ８０２において、近似文書検索部１０３は、Ｓ８０１で取得した２連接文字列および問合せ文書全体の統計情報と予め定められた選択基準に基づき、２連接文字列の文書弁別の寄与度合を判定し、文書弁別の寄与度合の高いものを評価連接文字列として選択する。評価連接文字列に対しては転置インデックス４０２から位置情報を取得し、評価連接文字列の問合せ文書における出現位置で補正する。ここで補正された出現位置を補正位置情報という。
【００５２】
ステップＳ８０３において、近似文書検索部１０３は、Ｓ８０２で取得した評価連接文字列の補正位置情報ごとに集約し、補正位置情報を含む文書ごとに近似度合を算出し、算出した近似度合に基づき、近似する文書を特定する。
【００５３】
本実施の形態においては、文書弁別の寄与度合として、連接文字列の情報量を用いる。また、選択基準として、問合せ文書を構成する文字集合の登録文書集合における乱雑さ度合を示す情報エントロピーを用いる。評価する連接文字列に対する情報量を大きい順に積算し、情報量の積算値が選択基準となる情報エントロピー（乱雑さ度合）を超えたときに判断に必要な情報が得られたと考える。
このように登録文書集合から文書の弁別に寄与する度合が小さい連接文字列の評価を行わないことで弁別効果の低い構成要素に対する処理を削減できる。
ステップＳ８０１〜ステップＳ８０３の詳細については後述する。
（統計情報取得処理）
次に、実施例の近似文書検索処理におけるステップＳ８０１の詳細なフローについて図９を用いて説明する。
図９は近似文書検索処理における統計情報取得処理の詳細なフローを示す図である。
ステップＳ９０１において、近似文書検索部１０３は、問合せ文書を構成する文字列を２連接文字列に分解する。
【００５４】
ステップＳ９０２において、近似文書検索部１０３は、一時領域に保存する問合せ文書の統計情報の基準値を０にセットする。
【００５５】
ステップＳ９０３において、近似文書検索部１０３は、ステップＳ９０１で分割した２連接文字列について繰り返し処理を開始する。
【００５６】
ステップＳ９０４において、近似文書検索部１０３は、登録されている全ての連接文字列の総数と、処理中の２連接文字列に対する出現頻度を転置インデックス４０２から取得して、図１０に示す式を用いて２連接文字列の登録文書集合における出現確率Ｐ（Ｗ）を算出し、さらに図１１に示す式を用いて情報量Ｉ（Ｗ）を算出する。また、２連接文字列の先頭文字に対し、図１２に示す式を用いて情報エントロピーＥ（Ｃ）を算出し、２連接文字列が末尾である場合、全ての文字に対して情報エントロピーを算出する。
【００５７】
ステップＳ９０５において、近似文書検索部１０３は、ステップＳ９０４で取得した情報エントロピーを一時領域にある基準値に加算する。
【００５８】
ステップＳ９０６において、近似文書検索部１０３は、まだ処理すべき２連接文字列があれば、処理をステップＳ９０３に戻す。処理すべき２連接文字列がなければ処理を終了する。
【００５９】
（評価連接文字列選択処理）
次に、実施例の近似文書検索処理におけるステップＳ８０２の処理の詳細なフローについて図１４を用いて説明する。
【００６０】
図１４は近似文書検索処理における評価連接文字列選択処理の詳細なフローを示す図である。
【００６１】
ステップＳ１４０１において、近似文書検索部１０３は、出現位置バッファを格納する領域をメモリー上に確保して初期化する。
【００６２】
ステップＳ１４０２において、近似文書検索部１０３は、ステップＳ８０１で取得した、問合せ文書を構成する連接文字列と統計情報の集合を、文書弁別の寄与度合（連接文字列の情報量）の大きい順に並べ替える。
【００６３】
ステップＳ１４０３において、近似文書検索部１０３は、並べ替えた連接文字列について繰り返し処理を開始する。
【００６４】
ステップＳ１４０４において、近似文書検索部１０３は、転置インデックス４０２から連接文字列の登録文書集合における出現位置を取得する。
【００６５】
ステップＳ１４０５において、近似文書検索部１０３は、取得した全ての出現位置から連接文字列が問合せ文書に出現した位置を引いた値を補正出現位置として求める。
【００６６】
補正出現位置は、登録文書において問合せ文書が出現したと仮定した場合の問合せ文書の登録文書上での先頭位置を求めることに等しく、同じ補正出現位置をもつ連接文字列は、登録文書上で同じ問合せ文書を構成している可能性があることを示しており、同じ補正出現位置を持つ連接文字列が多いほど問合せ文書を構成している可能性が高くなる。
【００６７】
ステップＳ１４０６において、近似文書検索部１０３は、ステップＳ１４０５で取得した補正出現位置を出現位置バッファに追加する。出現位置バッファに同じ補正出現位置を持つ出現位置情報が登録されていない場合、一致数を１として問合せ文書における出現位置とともに出現位置情報として登録する。出現位置バッファに同一の補正出現位置を持つ出現位置情報が既に登録されている場合、登録されている出現位置情報の一致数を１加算し、連接文字列の問合せ文書における出現位置が、登録済みの問合せ文書における出現位置より小さければ、登録済みの出現位置情報の問合せ文書における出現位置を処理中の連接文字列の問合せ文書における出現位置で更新する。
【００６８】
ステップＳ１４０７において、近似文書検索部１０３は、処理済みの連接文字列の情報量の積算値がステップＳ８０１で取得した選択基準となる情報エントロピーを超えているか否かを判定する。情報量の積算値が情報エントロピーを超えていない場合は処理をステップＳ１４０８に移す。情報量の積算値が情報エントロピーを超えている場合は処理を終了する。
【００６９】
ステップＳ１４０８において、近似文書検索部１０３は、まだ処理すべき連接文字列があれば、処理をステップＳ１４０３に戻す。処理すべき連接文字列がなければ処理を終了する。
【００７０】
（近似度算出処理）
次に、実施例の近似文書検索処理におけるステップＳ８０３の処理の詳細なフローについて図１７を用いて説明する。
【００７１】
図１７は近似文書検索処理における近似度算出処理の詳細なフローを示す図である。
【００７２】
ステップＳ１７０１において、近似文書検索部１０３は、結果バッファの領域をメモリー上に確保して初期化する。
【００７３】
ステップＳ１７０２において、近似文書検索部１０３は、文書情報バッファの領域をメモリー上に確保して初期化する。
【００７４】
ステップＳ１７０３において、近似文書検索部１０３は、ステップＳ８０２において出現位置バッファに格納された出現位置情報について繰り返し処理を開始する。
【００７５】
ステップＳ１７０４において、近似文書検索部１０３は、出現位置情報の補正出現位置の一致数が規定値以上であるか否かを判定する。一致数が規定値以上である場合は処理をステップＳ１７０５に移す。一致数が規定値未満である場合は処理をステップＳ１７０６に移す。
【００７６】
ステップＳ１７０５において、近似文書検索部１０３は、出現位置情報を文書情報バッファに追加する。
【００７７】
ステップＳ１７０６において、近似文書検索部１０３は、文書情報バッファが空であれば処理をステップＳ１７１２に移す。文書情報バッファが空でなければ処理をステップＳ１７０７に移す。
【００７８】
ステップＳ１７０７において、近似文書検索部１０３は、現在処理中の出現位置情報が処理順における末尾であるか、または次の出現位置情報と現在処理中の出現位置情報が異なる文書ＩＤを持つか否かを判定する。
【００７９】
現在処理中の出現位置情報が末尾、または現在処理中の出現位置情報次の出現位置情報が異なる文書ＩＤを持つ場合、処理をステップＳ１７０８に移す。現在処理中の出現位置情報が末尾でなく、次の出現位置情報が同じ文書ＩＤを持つ場合は、処理をステップＳ１７１２に移す。
【００８０】
ステップＳ１７０８において、近似文書検索部１０３は、文書情報バッファに登録された出現位置情報から図１８に示す式を用いて近似度を算出する。近似度の算出方法については一例であり他の算出方法を用いてもよい。
【００８１】
ステップＳ１７０９において、近似文書検索部１０３は、求めた近似度が規定値以上であるか否かを判定する。近似度が規定値以上である場合、処理をステップＳ１７１０に移す。近似度が規定値未満である場合、処理をステップＳ１７１１に移す。
【００８２】
ステップＳ１７１０において、近似文書検索部１０３は、文書ＩＤと近似度（算出結果）を紐づけて結果バッファに登録する。
【００８３】
ステップＳ１７１１において、近似文書検索部１０３は、文書情報バッファを初期化する。
【００８４】
ステップＳ１７１２において、近似文書検索部１０３は、まだ処理すべき出現位置情報があれば、処理をステップＳ１７０３に戻す。処理すべき出現位置情報がなければ処理をステップＳ１７１３に移す。
【００８５】
ステップＳ１７１３において、近似文書検索部１０３は、結果バッファを近似度の高い順に並び変える。
【００８６】
ステップＳ１７１４において、近似文書検索部１０３は、結果バッファの内容を近似検索結果１１２に格納して処理を終了する。
【００８７】
（ここでの処理の具体例）
次に「本日晴天なれど大阪湾の波高し。」という問合せ文書により近似文検索が行われた場合について具体的に説明する。
【００８８】
近似文書検索部１０３は、問合せ文書「本日晴天なれど大阪湾の波高し。」が入力されると、問合せ文書に対して、図９に示す統計情報取得処理を開始する。
【００８９】
ステップＳ９０１において、近似文書検索部１０３は、問合せ文書「本日晴天なれど大阪湾の波高し。」が入力されると、問合せ文書を構成する文字列を分解し、「本日」、「日晴」、「晴天」、「天な」、…、「し。」などの２連接文字列を取得する。
【００９０】
ステップＳ９０２において、近似文書検索部１０３は、一時領域に確保した問合せ文書の統計情報の基準値を０にセットする。
【００９１】
ステップＳ９０３において、近似文書検索部１０３は、ステップＳ９０１で分割した最初の２連接文字列「本日」について処理を開始する。このとき転置インデックス４０２が図１３に示すような内容を格納しており、登録されている連接文字列の総数が「５０００」であったとする。
【００９２】
ステップＳ９０４において、近似文書検索部１０３は、２連接文字列「本日」に対し、転置インデックス４０２から出現頻度「１８」を得る。連接文字列の総数は「５０００」であるので、図１０に示す式を用いて２連接文字列の全登録文書における「本日」の出現確率を求めるとＰ（本日）＝１８／５０００＝０．００３６を得る。さらに図１１に示す式を用いて２連接文字列「本日」が持つ情報量Ｉ（本日）＝８．１１７８を得る。
【００９３】
また、図１３の転置インデックス４０２において「本」から始まる２連接文字列の出現頻度の総和は２８４であり、近似文書検索部１０３は図１２に示す式を用いて連接文字列の先頭文字「本」に対する情報エントロピーＥ（本）  ＝  ２．６２９２１７を取得する。
【００９４】
ステップＳ９０５において、近似文書検索部１０３は、ステップＳ９０４で取得した「本」の情報エントロピーＥ（本）  ＝  ２．６２９２１７を一時領域に保存した選択の基準値に加算する。
【００９５】
ステップＳ９０６において、近似文書検索部１０３は、次に処理すべき２連接文字列「日晴」があるので、処理をステップＳ９０３に戻す。
【００９６】
近似文書検索部１０３は、同様に処理を進め、末尾の２連接文字列「し。」まで処理を繰り返すと、問合せ文書を構成する全ての２連接文字列に対して、図１５に示す出現頻度、出現確率、情報量の一覧を取得する。また選択の基準値として、文字の情報エントロピーの合計値である４２．３３７１を得て、図９の統計情報取得処理を終了する。
【００９７】
次に、近似文書検索部１０３は、統計情報取得処理で取得した図１５に示す出現頻度、出現確率、情報量の一覧と選択基準値４２．３３７１に対して、図１４に示す評価連接文字列選択処理を実施する。
【００９８】
ステップＳ１４０１において、近似文書検索部１０３は、出現位置バッファをメモリー上に確保して空にする。
【００９９】
ステップＳ１４０２において、近似文書検索部１０３は、図１５に示す出現頻度、出現確率、情報量の一覧を情報量の大きい順に並べ替える。
【０１００】
ステップＳ１４０３において、近似文書検索部１０３は、並べ替えた結果、先頭となった連接文字列「阪湾」に対する処理を開始する。
【０１０１】
ステップＳ１４０４において、近似文書検索部１０３は、転置インデックス４０２から連接文字列「阪湾」の登録文書集合における出現位置として「…１３：２３  １４：４３  １５：１０」を取得する。
【０１０２】
ステップＳ１４０５において、近似文書検索部１０３は、図１６に示すように、取得した出現位置「…１３：２３  １４：４３  １５：１０」から連接文字列が問合せ文書に出現した位置「９」を引いて補正出現位置として「…１３：１４  １４：３４  １５：１」を取得する。
【０１０３】
ステップＳ１４０６において、近似文書検索部１０３は、ステップＳ１４０５で取得した補正出現位置「…１３：１４  １４：３４  １５：１」を出現位置バッファに追加する。出現位置「１３：１４」については、問合せ文書出現位置「９」，  一致数「１」とともに出現位置情報として出現位置バッファに登録する。同様に出現位置「１４：３４」および「１５：１」に対しても問合せ文書出現位置「９」，  一致数「１」とともに出現位置情報を登録する。
【０１０４】
ステップＳ１４０７において、近似文書検索部１０３は、処理済みの連接文字列の情報量の積算値は９．９６５８となり選択基準となる情報エントロピー「４２．３３７１」を超えないので処理をステップＳ１４０８に移す。
【０１０５】
ステップＳ１４０８において、近似文書検索部１０３は、次に処理すべき連接文字列「ど大」があるので処理をステップＳ１４０３に戻す。
【０１０６】
ステップＳ１４０３において、近似文書検索部１０３は、連接文字列「ど大」に対する処理を開始する。
【０１０７】
ステップＳ１４０４において、近似文書検索部１０３は、転置インデックス４０２から連接文字列「ど大」の登録文書集合における出現位置として「…１２：３３  １４：２５  １５：８」を取得する。
【０１０８】
ステップＳ１４０５において、近似文書検索部１０３は、取得した出現位置「…１２：３３  １４：２５  １５：８」から連接文字列が問合せ文書に出現した位置「７」を引いて補正出現位置として「…１２：２６  １４：１８  １５：１」を取得する。
【０１０９】
ステップＳ１４０６において、近似文書検索部１０３は、ステップＳ１４０５で取得した補正出現位置「…１２：２６  １４：１８  １５：１」を出現位置バッファに追加する。出現位置「１２：２６」および「１４：１８」については、問合せ文書出現位置「７」，  一致数「１」とともに出現位置情報を出現位置バッファに登録する。出現位置「１５：１」に対しては、出現位置情報が既に登録されているので、登録済みの出現位置情報に対し、問合せ文書出現位置「９」をより小さい問合せ文書出現位置「７」に置き換え、  一致数「１」に１を加算して「２」とする。
【０１１０】
ステップＳ１４０７において、近似文書検索部１０３は、処理済みの連接文字列の情報量の積算値は９．９６５８＋９．１１７８＝１９．０８３６となり、選択基準となる情報エントロピー「４２．３３７１」を超えないので処理をステップＳ１４０８に移す。
【０１１１】
近似文書検索部１０３は、以下同様に連接文字列「波高」、「晴天」と処理し、「本日」まで処理すると処理済みの連接文字列の情報量の積算値は９．９６５８＋９．１１７８＋８．８２８３＋８．４８０４＋８．１１７８＝４４．５１００となり、選択基準となる情報エントロピー「４２．３３７１」を超えるので繰り返し処理を終了し、図１９に示す状態の出現位置バッファを取得し、図１４に示す評価連接文字列選択処理を終了する。
【０１１２】
次に、近似文書検索部１０３は、図１９に示す状態の出現位置バッファに対し、図１７に示す近似度算出処理を実施する。
【０１１３】
ステップＳ１７０１において、近似文書検索部１０３は、結果バッファの領域をメモリー上に確保して空にする。
【０１１４】
ステップＳ１７０２において、近似文書検索部１０３は、文書情報バッファの領域をメモリー上に確保して空にする。
【０１１５】
ステップＳ１７０３において、近似文書検索部１０３は、出現位置バッファに格納されている先頭の出現位置情報「３：２５」について処理を開始する。
【０１１６】
ステップＳ１７０４において、近似文書検索部１０３は、出現位置情報の補正出現位置「３：２５」の一致数「１」が規定値（所定値）「３」未満であるので処理をステップＳ１７０６に移す。
【０１１７】
ステップＳ１７０６において、近似文書検索部１０３は、文書情報バッファが空なので処理をステップＳ１７１２に移す。
【０１１８】
ステップＳ１７１２において、近似文書検索部１０３は、次の出現位置情報「１２：２６」があるので処理をステップＳ１７０３に戻す。
【０１１９】
近似文書検索部１０３は、出現位置情報「１２：２６」「１３：１４」「１４：１８」「１４：３４」「１５：０」に対しては同様の処理を繰り返す。
【０１２０】
ステップＳ１７０３において、近似文書検索部１０３は、出現位置バッファに格納されている先頭の出現位置情報「１５：１」について処理を開始する。
【０１２１】
ステップＳ１７０４において、近似文書検索部１０３は、出現位置情報の補正出現位置「１５：１」の一致数「４」が規定値「３」以上であるので処理をステップＳ１７０５に移す。
【０１２２】
ステップＳ１７０５において、近似文書検索部１０３は、出現位置情報「１５：１」を文書情報バッファに追加する。
【０１２３】
ステップＳ１７０６において、近似文書検索部１０３は、文書情報バッファに出現位置情報「１５：１」が登録されており、空ではないので処理をステップＳ１７０７に移す。
【０１２４】
ステップＳ１７０７において、近似文書検索部１０３は、現在処理中の出現位置情報「１５：１」の文書ＩＤは「１５」であり、次の出現位置情報「１６：５」の文書ＩＤは「１６」であり文書ＩＤが異なるので、ステップＳ１７０８に処理を移す。
【０１２５】
ステップＳ１７０８において、近似文書検索部１０３は、文書情報バッファに登録された出現位置情報から図１８に示す式を用いて近似度を算出し、近似度０．７５を得る。
【０１２６】
ステップＳ１７０９において、近似文書検索部１０３は、求めた近似度０．７５が近似度の規定値０．５以上であるので、処理をステップＳ１７１０に移す。
【０１２７】
ステップＳ１７１０において、近似文書検索部１０３は、文書ＩＤ「１５」と近似度０．７５を紐づけて結果バッファに登録する。
【０１２８】
ステップＳ１７１１において、近似文書検索部１０３は、文書情報バッファを空にする。
【０１２９】
ステップＳ１７１２において、近似文書検索部１０３は、次の出現位置情報「１６：５」があるので処理をステップＳ１７０３に戻す。
【０１３０】
ステップＳ１７０３において、近似文書検索部１０３は、出現位置バッファに格納されている先頭の出現位置情報「１６：５」について処理を開始する。
【０１３１】
ステップＳ１７０４において、近似文書検索部１０３は、出現位置情報の補正出現位置「１６：５」の一致数「３」が規定値「３」以上であるので処理をステップＳ１７０５に移す。
【０１３２】
ステップＳ１７０５において、近似文書検索部１０３は、出現位置情報「１６：５」を文書情報バッファに追加する。
【０１３３】
ステップＳ１７０６において、近似文書検索部１０３は、文書情報バッファに出現位置情報「１６：５」が登録されており、空ではないので処理をステップＳ１７０７に移す。
【０１３４】
ステップＳ１７０７において、近似文書検索部１０３は、現在処理中の出現位置情報「１６：５」の文書ＩＤは１６であり、次の出現位置情報「１９：３２」の文書ＩＤは１９であり文書ＩＤが異なるので、ステップＳ１７０８に処理を移す。
【０１３５】
ステップＳ１７０８において、近似文書検索部１０３は、文書情報バッファに登録された出現位置情報から図１８に示す式を用いて近似度を算出し、近似度０．５を得る。
【０１３６】
ステップＳ１７０９において、近似文書検索部１０３は、求めた近似度０．５が近似度の規定値０．５以上であるので、処理をステップＳ１７１０に移す。
【０１３７】
ステップＳ１７１０において、近似文書検索部１０３は、文書ＩＤ「１６」と近似度０．５を紐づけて結果バッファに登録する。
【０１３８】
ステップＳ１７１１において、近似文書検索部１０３は、文書情報バッファを空にする。
【０１３９】
ステップＳ１７１２において、近似文書検索部１０３は、次の出現位置情報「１９：３２」があるので処理をステップＳ１７０３に戻す。
【０１４０】
近似文書検索部１０３は、出現位置情報「１９：３２」以降も処理を繰り返し、全ての出現位置情報を処理して、ステップＳ１７１３に処理を移す。
【０１４１】
ステップＳ１７１３において、近似文書検索部１０３は、結果バッファに登録された文書ＩＤ「１５」（近似度０．７５）と文書ＩＤ「１６」（近似度０．５）を近似度の高い順に並び変える。
【０１４２】
ステップＳ１７１４において、近似文書検索部１０３は、結果バッファの内容を検索結果として文書ＩＤ「１５」（近似度０．７５）と文書ＩＤ「１６」（近似度０．５）を近似検索結果１１２に格納して処理を終了する。
【０１４３】
（第２の実施形態）
（位置関係のずれを許容した近似度算出処理）
【０１４４】
次に、実施例として、問合せ文書において選択された連接文字列の位置関係と、対応する登録文書における連接文字列の位置関係のずれが許容値以内である場合についても一致区間と判定する近似文書検索装置について図２０を用いて説明する。
【０１４５】
本実施の形態は、第１の実施の形態と近似度算出処理のみが異なる。
【０１４６】
図２０は問合せ文書において選択された連接文字列の位置関係と、対応する登録文書における連接文字列の位置関係のずれが許容値以内である場合も一致したと判定する近似度算出の処理フローを示す図である。
【０１４７】
図２０は第２の実施の形態における、近似文書検索処理の近似度算出処理の詳細なフローを示す図である。
【０１４８】
ステップＳ１７０１からステップＳ１７０３までの処理は、第１の実施の形態における近似度算出処理（図１７）と同様である。
【０１４９】
ステップＳ２００１において、近似文書検索部１０３は、現在の出現位置情報を起点として許容区間を特定する。許容区間は予め規定された許容値以内のずれ（補正位置情報の差）で連続する出現位置情報の集合として取得される。具体的には許容区間と判断した先頭と末尾の位置情報として取得される。このとき同時に許容区間に含まれる出現位置情報の一致数の総和も同時に求める。許容区間特定処理の詳細は後述する。
【０１５０】
ステップＳ２００２において、近似文書検索部１０３は、ステップＳ２００１で求めた許容区間に含まれる出現位置情報の一致数の総和が規定値以上であるか判定する。一致数が規定値以上である場合は処理をステップＳ２００３に移す。一致数が規定値未満である場合は処理をステップＳ２００４に移す。
【０１５１】
ステップＳ２００３において、近似文書検索部１０３は、許容区間に含まれる全ての出現位置情報を文書情報バッファに追加する。
【０１５２】
ステップＳ２００４において、近似文書検索部１０３は、許容区間末尾の出現位置情報を現在処理中の出現位置情報としてセットする。
【０１５３】
ステップＳ１７０６からステップＳ１７０７までの処理は、第１の実施の形態における近似度算出処理（図１７）と同様である。
【０１５４】
ステップＳ１７０８において、近似文書検索部１０３は、文書情報バッファに登録された出現位置情報から図２１に示す式を用いて近似度を算出する。近似度の算出式は一例であり、ずれの量に応じて重み付けを行うように構成してもよい。
【０１５５】
ステップＳ１７０９からステップＳ１７１４までの処理は、第１の実施の形態における近似度算出処理（図１７）と同様である。
【０１５６】
（許容区間特定処理）
次に、ステップＳ２００１における許容区間特定処理の詳細について図２３を用いて説明する。
【０１５７】
図２３はステップＳ２００１における許容区間特定の処理フローを示す図である。
【０１５８】
ステップＳ２３０１において、近似文書検索部１０３は、許容区間全体の一致数の総和を０にセットする。
【０１５９】
ステップＳ２３０２において、近似文書検索部１０３は、起点として与えられた出現位置情報を許容区間の先頭としてセットする。
【０１６０】
ステップＳ２３０３において、近似文書検索部１０３は、起点として与えられた出現位置情報から繰り返し処理を開始する。
【０１６１】
ステップＳ２３０４において、近似文書検索部１０３は、処理中の出現位置情報の一致数を許容区間全体の一致数の総和に加算する。
【０１６２】
ステップＳ２３０５において、近似文書検索部１０３は、処理中の出現位置情報を許容区間の末尾としてセットする。
【０１６３】
ステップＳ２３０６において、近似文書検索部１０３は、処理中の出現位置情報と次の出現位置情報の補正出現位置の差を位置のずれとして求める。補正出現位置が属する文書が異なる場合は、計算機において表現可能な最大値など許容値を超える値を位置のずれの値とする。
【０１６４】
ステップＳ２３０７において、近似文書検索部１０３は、位置ずれの値が許容値以内であるか否かを判定する。許容値以内である場合、ステップＳ２３０８に処理を移す。許容値を超える場合、繰り返し処理を中断し、許容区間特定処理を終了する。
【０１６５】
ステップＳ２３０８において、近似文書検索部１０３は、出現位置情報のずれの数に１をセットする。ずれの数ではなく、ずれの量を保持し、ずれの量に応じた重み付けにより近似度を求めるように構成してもよい。
【０１６６】
ステップＳ２３０９において、近似文書検索部１０３は、まだ処理すべき出現位置情報があれば、処理をステップＳ２３０３に戻す。処理すべき出現位置情報がなければ処理を終了する。
【０１６７】
（ここでの処理の具体例）
次に第１の実施の形態における具体例と同じ「本日晴天なれど大阪湾の波高し。」という問合せ文書により近似文検索が行われた場合について説明する。
【０１６８】
第１の実施の形態と同様に近似文書検索部１０３は、ステップＳ８０１およびステップＳ８０２を処理した結果、図２２に示すような出現位置バッファを取得する。
【０１６９】
近似文書検索部１０３は、図２２に示す状態の出現位置バッファに対し、図２０に示す近似度算出処理を実施する。
【０１７０】
ステップＳ１７０１において、近似文書検索部１０３は、結果バッファの領域をメモリー上に確保して空にする。
【０１７１】
ステップＳ１７０２において、近似文書検索部１０３は、文書情報バッファの領域をメモリー上に確保して空にする。
【０１７２】
ステップＳ１７０３において、近似文書検索部１０３は、出現位置バッファに格納されている先頭の出現位置情報「３：２５」について処理を開始する。
【０１７３】
近似文書検索部１０３は、出現位置情報（補正出現位置）「３：２５」「１２：２６」「１３：１４」「１４：１８」「１４：３４」に対しては同様の処理を繰り返す。
【０１７４】
ステップＳ１７０３において、近似文書検索部１０３は、出現位置バッファに格納されている先頭の出現位置情報「１５：０」について処理を開始する。
【０１７５】
ステップＳ２００１において、近似文書検索部１０３は、出現位置情報「１５：０」を起点に許容区間と許容区間の一致数の総和を図２３に示す許容区間特定処理により求め、許容区間の先頭として「１５：０」を、許容区間（所定位置の範囲）の末尾として「１５：１」を、許容区間の一致数の総和として「５」を得る。
【０１７６】
ステップＳ２００２において、近似文書検索部１０３は、出現位置情報「１５：０」を起点とする許容区間の一致数の総和「５」が規定値「３」以上であるので、ステップＳ２００３に処理を移す。
【０１７７】
ステップＳ２００３において、近似文書検索部１０３は、許容区間に含まれる出現位置情報「１５：０」と出現位置情報「１５：１」を文書情報バッファに追加する。
【０１７８】
ステップＳ２００４において、近似文書検索部１０３は、許容区間の末尾である出現位置情報「１５：１」を処理中の出現位置情報としてセットする。
【０１７９】
ステップＳ１７０６において、近似文書検索部１０３は、文書情報バッファに出現位置情報「１５：０」および出現位置情報「１５：１」が登録されており、空ではないので処理をステップＳ１７０７に移す。
【０１８０】
ステップＳ１７０７において、近似文書検索部１０３は、現在処理中の出現位置情報「１５：１」の文書ＩＤは「１５」であり、次の出現位置情報「１６：５」の文書ＩＤは「１６」であり文書ＩＤが異なるので、ステップＳ１７０８に処理を移す。
【０１８１】
ステップＳ１７０８において、近似文書検索部１０３は、文書情報バッファに登録された出現位置情報から図２１に示す式を用いて近似度を算出し、近似度０．９７５を得る。
【０１８２】
ステップＳ１７０９において、近似文書検索部１０３は、求めた近似度０．９７５が近似度の規定値０．５以上であるので、処理をステップＳ１７１０に移す。
【０１８３】
ステップＳ１７１０において、近似文書検索部１０３は、文書ＩＤ「１５」と近似度０．９７５を紐づけて結果バッファに登録する。
【０１８４】
ステップＳ１７１０において、近似文書検索部１０３は、文書情報バッファを空にする。
【０１８５】
以下同様な処理を行い、近似文書検索部１０３は、問合せ文書に近似する文書として、文書ＩＤ「１５」（近似度０．９７５）と文書ＩＤ「１６」（近似度０．５）と文書ＩＤ「２２」（近似度０．７２５）を近似検索結果１１２に格納して処理を終了する。
【０１８６】
文書ＩＤ「１６」より記述としては問合せ文書に近いと考えられる文書ＩＤ「２２」が第１の実施の形態では検出できなかったが、本実施の形態によれば、文書ＩＤ「１６」よりも高い近似度で検出できるようになり、人間の感覚に近い結果が得られる。
【０１８７】
（第３の実施形態）
（重複区間除外）
次に、問合せ文書において選択された連接文字列の位置関係と一致する連接文字列の位置関係が１つの登録文書に複数存在する場合に、一致箇所をいずれか一つだけに限定する近似文書検索装置について図２４を用いて説明する。
【０１８８】
図２４は第３の実施の形態における、近似文書検索処理の近似度算出処理の詳細なフローを示す図である。
【０１８９】
本実施の形態は、第１の実施の形態と近似度算出処理のみが異なる。
【０１９０】
図２４は問合せ文書において選択された連接文字列の位置関係と一致する連接文字列の位置関係が１つの登録文書に複数存在する場合に、一致箇所をいずれか一つだけに限定する近似度算出の処理フローを示す図である。
【０１９１】
ステップＳ１７０１からステップＳ１７０３までの処理は、第１の実施の形態における近似度算出処理（図１７）と同様である。
【０１９２】
ステップＳ２４０１において、近似文書検索部１０３は、現在処理中の出現位置情報の問合せ文書出現位置を持つ出現位置情報が文書情報バッファに登録されているか否かを判定する。登録されている場合、ステップＳ２４０２に処理を移す。登録されていない場合、ステップＳ１７０５に処理を移す。
【０１９３】
ステップＳ２４０２において、近似文書検索部１０３は、現在処理中の出現位置情報の一致数が、現在処理中の出現位置情報と同一の問合せ文書出現位置を持つ出現位置情報の一致数より大きいか否かを判定する。現在処理中の出現位置情報の一致数のほうが大きい場合、ステップＳ２４０３に処理を移す。文書バッファに登録されている出現位置情報の一致数のほうが大きい場合、ステップＳ１７０６に処理を移す。
【０１９４】
ステップＳ２４０３において、近似文書検索部１０３は、現在処理中の出現位置情報の問合せ文書出現位置を持つ出現位置情報を文書情報バッファから削除し、現在処理中の出現位置情報を文書情報バッファに登録する。
【０１９５】
ステップＳ１７０５からステップＳ１７１４までの処理は、第１の実施の形態における近似度算出処理（図１７）と同様である。
【０１９６】
（ここでの処理の具体例）
次に第１の実施の形態における具体例と同じ「本日晴天なれど大阪湾の波高し。」という問合せ文書により近似文検索が行われた場合について説明する。
【０１９７】
第１の実施の形態と同様に近似文書検索部１０３は、ステップＳ８０１およびステップＳ８０２を処理した結果、図２５に示すような出現位置バッファを取得する。
【０１９８】
ステップＳ１７０１において、近似文書検索部１０３は、結果バッファの領域をメモリー上に確保して空にする。
【０１９９】
ステップＳ１７０２において、近似文書検索部１０３は、文書情報バッファの領域をメモリー上に確保して空にする。
【０２００】
ステップＳ１７０３において、近似文書検索部１０３は、出現位置バッファに格納されている先頭の出現位置情報「３：２５」について処理を開始する。
【０２０１】
近似文書検索部１０３は、出現位置情報「３：２５」〜「２５：５」までは、第１の実施の形態と同様の処理を繰り返す。
【０２０２】
ステップＳ１７０３において、近似文書検索部１０３は、出現位置バッファに格納されている先頭の出現位置情報「３９：２９」について処理を開始する。
【０２０３】
ステップＳ１７０４において、近似文書検索部１０３は、出現位置情報の補正出現位置「３９：２９」の一致数「３」が規定値「３」以上であるので処理をステップＳ２４０１に移す。
【０２０４】
ステップＳ２４０１において、近似文書検索部１０３は、出現位置情報の補正出現位置「３９：２９」の問合せ文書出現位置「１７」を持つ出現位置情報が文書情報バッファにあるか否かを判定する。
【０２０５】
問合せ文書出現位置「１７」を持つ出現位置情報が文書情報バッファにはないので、ステップＳ１７０５に処理を移す。
【０２０６】
ステップＳ１７０５において、近似文書検索部１０３は、出現位置情報「３９：２９」を問合せ文書出現位置「１７」とともに文書情報バッファに追加する。
【０２０７】
ステップＳ１７０６において、近似文書検索部１０３は、文書情報バッファに出現位置情報「３９：２９」が登録されており、空ではないので処理をステップＳ１７０７に移す。
【０２０８】
ステップＳ１７０７において、近似文書検索部１０３は、現在処理中の出現位置情報「３９：２９」の文書ＩＤは「３９」であり、次の出現位置情報「３９：４９」の文書ＩＤは「３９」であり文書ＩＤが等しいので、ステップＳ１７１２に処理を移す。
【０２０９】
ステップＳ１７１２において、近似文書検索部１０３は、次の出現位置情報「３９：４９」があるので処理をステップＳ１７０３に戻す。
【０２１０】
ステップＳ１７０３において、近似文書検索部１０３は、出現位置バッファに格納されている先頭の出現位置情報「３９：４９」について処理を開始する。
【０２１１】
ステップＳ１７０４において、近似文書検索部１０３は、出現位置情報の補正出現位置「３９：４９」の一致数「３」が規定値「３」以上であるので処理をステップＳ２４０１に移す。
【０２１２】
ステップＳ２４０１において、近似文書検索部１０３は、出現位置情報の補正出現位置「３９：４９」の問合せ文書出現位置「１７」を持つ出現位置情報が文書情報バッファにあるか否かを判定する。
【０２１３】
問合せ文書出現位置「１７」を持つ出現位置情報「３９：２９」が文書情報バッファにあるので、ステップＳ２４０２に処理を移す。
【０２１４】
ステップＳ２４０２において、近似文書検索部１０３は、処理中の出現位置情報「３９：４９」の一致数「３」と文書情報バッファに登録されている出現位置情報「３９：２９」の一致数「３」を比較し、処理中の出現位置情報「３９：４９」が大きくはないので、ステップＳ１７０６に処理を移す。
【０２１５】
以降、第１の実施の形態と同様の処理を行うと、文書ＩＤ「３９」の文書に対して近似度０．５が得られる。
【０２１６】
文書ＩＤ「３９」は問合せ文書に対し、記述として合致する箇所がそれほど多くないにも関わらず、第１の実施の形態に示した近似文書検索の結果において、文書ＩＤ「３９」は問合せ文書と完全に合致する場合と同じ近似度１．０となってしまう。これは問合せ文書に合致する箇所に対し、登録文書において複数回出現しているためである。本実施の形態においては複数回出現した場合に一度しか評価しないので、文書ＩＤ「３９」に対しても近似度０．５となり、人間の感覚に近い結果が得ることができる。
【０２１７】
以上、本実施の形態によれば、問合せ文書を構成する部分文字列と、同じ位置関係を有する、登録文書内の部分文字列の数に従って、登録文書と問合せ文書との近似度合を算出することで、精度良く近似する登録文書を決定することができる。  
【０２１８】
また、問合せ文書に出現する構成要素に対する登録文書集合全体における統計値に基づき、登録文書の弁別に有効な構成要素を選択することで、高精度で高速な近似文書の検索を実現する仕組みを提供することをできる。  
【０２１９】
以上、本発明の実施形態を詳述したが、本発明は、例えば、システム、装置、方法、中継処理装置で読み取り実行可能なプログラムもしくは記憶媒体等としての実施態様をとることが可能であり、具体的には、複数の機器から構成されるシステムに適用しても良いし、また、一つの機器からなる装置に適用しても良い。  
【０２２０】
また、本発明の目的は、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体を、システム或いは装置に供給し、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ）が記憶媒体に格納されたプログラムコードを読み出し実行することによっても、達成されることは言うまでもない。  
【０２２１】
この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、プログラムコード自体及びそのプログラムコードを記憶した記憶媒体は本発明を構成することになる。  
【０２２２】
プログラムコードを供給するための記憶媒体としては、例えば、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、磁気テープ、不揮発性のメモリカード、ＲＯＭ等を用いることができる。  
【０２２３】
また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼動しているＯＳ（基本システム或いはオペレーティングシステム）などが実際の処理の一部又は全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。  
【０２２４】
さらに、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵ等が実際の処理の一部又は全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【符号の説明】
【０２２５】
１００  近似文書検索装置
１０１  文書登録部
１０２  登録文書情報保存領域
１０３  近似文書検索部
１１０  登録文書
１１１  問合せ文書
１１２  近似検索結果
【図１】
0005488424.tif 000002
【図２】
0005488424.tif 000003
【図３】
0005488424.tif 000004
【図４】
0005488424.tif 000005
【図５】
0005488424.tif 000006
【図６】
0005488424.tif 000007
【図７】
0005488424.tif 000008
【図８】
0005488424.tif 000009
【図９】
0005488424.tif 000010
【図１０】
0005488424.tif 000011
【図１１】
0005488424.tif 000012
【図１２】
0005488424.tif 000013
【図１３】
0005488424.tif 000014
【図１４】
0005488424.tif 000015
【図１５】
0005488424.tif 000016
【図１６】
0005488424.tif 000017
【図１７】
0005488424.tif 000018
【図１８】
0005488424.tif 000019
【図１９】
0005488424.tif 000020
【図２０】
0005488424.tif 000021
【図２１】
0005488424.tif 000022
【図２２】
0005488424.tif 000023
【図２３】
0005488424.tif 000024
【図２４】
0005488424.tif 000025
【図２５】
0005488424.tif 000026