(57)【特許請求の範囲】
【請求項１】
検索文から、前記検索文における単語又は意味記号の出現頻度を表す検索文脈情報を生成し、
複数の文書に含まれる複数の文に対する意味解析を行って、前記複数の文各々に含まれる複数の意味記号の間の関係種別に基づき、３個以上の意味記号と前記３個以上の意味記号の間の関係種別とを含む意味構造を複数個生成し、前記複数の文書のうち前記複数個の意味構造それぞれにマッチする文書群における単語又は意味記号の出現頻度を表す複数の文脈情報を生成し、前記複数個の意味構造を前記複数の文脈情報にそれぞれ対応付けることで生成される、前記複数個の意味構造と前記複数の文脈情報との対応関係を参照し、
前記複数の文脈情報と前記検索文脈情報とに基づいて、前記複数個の意味構造のうち１個の意味構造を特定し、
特定した前記意味構造を用いて、前記複数の文書の中から前記検索文に類似する類似文書を検索し、
前記類似文書を示す検索結果を出力する、
処理をコンピュータに実行させる類似文書検索プログラム。
【請求項２】
前記コンピュータは、前記検索文に含まれる複数の意味記号から３個以上の意味記号の組を生成し、前記複数の文脈情報のうち、前記検索文から生成した前記３個以上の意味記号の組を含む複数個の意味構造にそれぞれ対応付けられた複数の文脈情報各々と、前記検索文脈情報との類似度を求め、最も大きな類似度を有する文脈情報に対応付けられた意味構造を、前記１個の意味構造として特定することを特徴とする請求項１記載の類似文書検索プログラム。
【請求項３】
前記コンピュータは、前記検索文から生成した前記３個以上の意味記号の組の前記複数の文書における出現頻度が第１所定値よりも大きい場合、前記検索文から前記検索文脈情報を生成し、前記類似度を求め、前記１個の意味構造を特定することを特徴とする請求項２記載の類似文書検索プログラム。
【請求項４】
前記コンピュータは、前記検索文から生成した前記３個以上の意味記号の組を含む複数の意味構造の間における意味の差異を示す差異度が、第２所定値よりも大きい場合、前記検索文から前記検索文脈情報を生成し、前記類似度を求め、前記１個の意味構造を特定することを特徴とする請求項２又は３記載の類似文書検索プログラム。
【請求項５】
複数の文書に含まれる複数の文に対する意味解析を行って、前記複数の文各々に含まれる複数の意味記号の間の関係種別に基づき、３個以上の意味記号と前記３個以上の意味記号の間の関係種別とを含む意味構造を複数個生成し、前記複数の文書のうち前記複数個の意味構造それぞれにマッチする文書群における単語又は意味記号の出現頻度を表す複数の文脈情報を生成し、前記複数個の意味構造を前記複数の文脈情報にそれぞれ対応付けることで生成される、前記複数個の意味構造と前記複数の文脈情報との対応関係を記憶する記憶部と、
検索文から、前記検索文における単語又は意味記号の出現頻度を表す検索文脈情報を生成し、前記複数の文脈情報と前記検索文脈情報とに基づいて、前記複数個の意味構造のうち１個の意味構造を特定する特定部と、
前記特定部が特定した前記意味構造を用いて、前記複数の文書の中から前記検索文に類似する類似文書を検索する検索部と、
前記類似文書を示す検索結果を出力する出力部と、
を備えることを特徴とする類似文書検索装置。
【請求項６】
コンピュータが、
検索文から、前記検索文における単語又は意味記号の出現頻度を表す検索文脈情報を生成し、
複数の文書に含まれる複数の文に対する意味解析を行って、前記複数の文各々に含まれる複数の意味記号の間の関係種別に基づき、３個以上の意味記号と前記３個以上の意味記号の間の関係種別とを含む意味構造を複数個生成し、前記複数の文書のうち前記複数個の意味構造それぞれにマッチする文書群における単語又は意味記号の出現頻度を表す複数の文脈情報を生成し、前記複数個の意味構造を前記複数の文脈情報にそれぞれ対応付けることで生成される、前記複数個の意味構造と前記複数の文脈情報との対応関係を参照し、
前記複数の文脈情報と前記検索文脈情報とに基づいて、前記複数個の意味構造のうち１個の意味構造を特定し、
特定した前記意味構造を用いて、前記複数の文書の中から前記検索文に類似する類似文書を検索し、
前記類似文書を示す検索結果を出力する、
ことを特徴とする類似文書検索方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、類似文書検索プログラム、類似文書検索装置、及び類似文書検索方法に関する。
【背景技術】
【０００２】
近年、インターネット上の情報が爆発的に増大しており、ビッグデータを使用するビジネスが増加している。ビッグデータが増加する中で高速な検索技術が望まれており、特に、テキスト文書における意味構造の検索が重要になってきている。
【０００３】
テキスト検索で用いられる自然文の解析には、形態素解析、意味解析等が利用されている。形態素解析は、文字列を形態素に分割し、各形態素に対して品詞、属性等の情報を付与する処理である。形態素解析により得られる形態素は、単語として扱われることもある。
【０００４】
意味解析は、自然文の形態素解析結果を用いて、その自然文の意味構造を求める処理である。意味解析結果である意味構造を用いることで、自然文が何を意味するかを、コンピュータが扱うデータとして表現することができる。
【０００５】
意味構造は、形態素解析結果に含まれる複数の単語の意味をそれぞれ表す複数の意味記号と、２つの意味記号の間の関係種別を表す情報とを含む。１つの意味記号が複数の単語に対応する場合もある。意味構造は、例えば、複数の意味記号を表す複数のノードと、２つのノード間の関係種別を表すアークとからなる、有向グラフにより表すことができる。意味構造の最小の部分構造は、意味最小単位と呼ばれ、２つのノードとそれらのノードの間のアークとからなる。
【０００６】
複数の文書に含まれるテキストデータに対して形態素解析及び意味解析を行うことで、自然文の検索要求である検索文の意味構造を用いて、検索文と意味が類似する複数の文書を検索する、類似文書検索が実現される。
【０００７】
類似文書検索において、検索キーとマッチした文書の数に基づいて、ノイズとなる検索キーを判定し、その検索キーに対応する文書の評価値を再計算する技術も知られている（例えば、特許文献１を参照）。検索ワードと検索対象文書との間における特徴ベクトルの類似度又は語彙の関連度に基づいて、類似する文書を検索する技術も知られている（例えば、特許文献２及び特許文献３を参照）。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特開２０１５−１３８３５１号公報
【特許文献２】特開２０１４−１５３７４４号公報
【特許文献３】特開２０１２−３６０３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００９】
類似文書検索において、意味最小単位の代わりに、検索文に含まれる３個の意味記号の組を検索キーとして用いる場合、検索キーの意味構造によって検索結果が異なると考えられる。
【００１０】
なお、かかる問題は、３個の意味記号の組を検索キーとして用いる場合に限らず、４個以上の意味記号の組を検索キーとして用いる場合においても生ずるものである。
【００１１】
１つの側面において、本発明は、３個以上の意味記号を含む適切な意味構造を用いて類似文書検索を行うことを目的とする。
【課題を解決するための手段】
【００１２】
１つの案では、類似文書検索プログラムは、以下の処理をコンピュータに実行させる。
（１）コンピュータは、検索文から、検索文における単語又は意味記号の出現頻度を表す検索文脈情報を生成する。
（２）コンピュータは、複数個の意味構造と複数の文脈情報との対応関係を参照する。複数の文書に含まれる複数の文に対する意味解析を行うことで、各文に含まれる複数の意味記号の間の関係種別に基づいて、複数個の意味構造が生成され、各意味構造は、３個以上の意味記号と、それらの意味記号の間の関係種別とを含む。また、複数の文書のうち複数個の意味構造それぞれにマッチする文書群における単語又は意味記号の出現頻度を表す複数の文脈情報が生成され、複数個の意味構造を複数の文脈情報にそれぞれ対応付けることで、対応関係が生成される。
（３）コンピュータは、複数の文脈情報と検索文脈情報とに基づいて、複数個の意味構造のうち１個の意味構造を特定する。
（４）コンピュータは、特定した意味構造を用いて、複数の文書の中から検索文に類似する類似文書を検索する。
（５）コンピュータは、類似文書を示す検索結果を出力する。
【発明の効果】
【００１３】
１つの実施形態によれば、３個以上の意味記号を含む適切な意味構造を用いて類似文書検索を行うことができる。
【図面の簡単な説明】
【００１４】
【図１】３つ組を含む意味構造を示す図である。
【図２】類似文書検索装置の機能的構成図である。
【図３】類似文書検索処理のフローチャートである。
【図４】類似文書検索装置の具体例を示す機能的構成図である。
【図５】対応関係生成処理を示す図である。
【図６】対応関係を示す図である。
【図７】検索インデックスを示す図である。
【図８】３つ組に対する意味構造のバリエーションを示す図である。
【図９】データベース生成処理のフローチャートである。
【図１０】類似文書検索処理の具体例を示すフローチャートである。
【図１１】差異度を用いる類似文書検索装置の機能的構成図である。
【図１２】アークの向きのバリエーションを示す図である。
【図１３】差異度が小さな３つ組を示す図である。
【図１４】差異度を用いる類似文書検索処理のフローチャートである。
【図１５】差異度を用いるデータベース生成処理のフローチャートである。
【図１６】情報処理装置の構成図である。
【発明を実施するための形態】
【００１５】
以下、図面を参照しながら、実施形態を詳細に説明する。
意味構造を用いた類似文書検索では、事前に検索対象文書に含まれる各文の意味構造が意味最小単位に分解され、生成された意味最小単位がデータベースに格納される。そして、自然文の検索要求である検索文を入力として、検索文の意味構造から意味最小単位が計算され、それぞれの意味最小単位を検索キーとしてデータベースが検索される。このとき、意味最小単位毎にスコアが設定され、各文書のスコアは、マッチした意味最小単位のスコアの総計に基づいて計算される。
【００１６】
特許文献１の情報検索装置では、意味最小単位の代わりに、検索文に含まれる２個の意味記号を任意に組み合わせて、意味記号の間の関係種別を指定しない検索キーが生成される。そして、検索キーとマッチした文書の数に基づいて、ノイズとなる検索キーが判定され、その検索キーの重みを低くして文書のスコアが計算される。これにより、所望の文書を見落としてしまう検索もれを防止することができる。
【００１７】
しかし、２個の意味記号の組は意味最小単位よりも多くの文書にマッチするため、所望の文書以外のノイズとなる文書が検索結果に多く含まれる。また、検索キー数が大幅に増加するため、計算量が多くなる。
【００１８】
そこで、２個の意味記号の組（２つ組）の代わりに、３個の意味記号の組（３つ組）を検索キーとして用いる場合について考察する。
【００１９】
例えば、１つの意味記号当たりの検索対象文書の絞り込み効果を１／１０とすると、２つ組の検索キーでは、（１／１０）＊（１／１０）＝１／１００の絞り込み効果が期待できる。一方、３つ組の検索キーでは、（１／１０）＊（１／１０）＊（１／１０）＝１／１０００の絞り込み効果が期待できる。したがって、検索対象文書の絞り込み効果は、３つ組の方が２つ組よりも１０倍程度高くなると考えられる。
【００２０】
検索文から検索キーを生成する際、単純に３個の意味記号の組を生成すると、膨大な数の組み合わせになる。しかし、「意味構造を検索するための３つ組」という制約があるため、単純に生成した３つ組のうちかなりの割合は、データベースにマッチしないと考えられる。したがって、検索キーとして実際に用いられる３つ組の個数は、それほど増大しない。
【００２１】
例えば、名詞と副詞はつながらないため、「速く、装置、画像」、「速く、装置、処理」等の３個の単語に対応する３つ組は、検索キーから除外することができる。また、形容詞と動詞はつながらないため、「速い、動く、止まる」等に対応する３つ組も、検索キーから除外することができる。実際に約１万個の自然文を対象に解析したところ、以下のような結果が得られた。
意味記号数：３５４４２
２つ組の種類の数：１２３８９６
３つ組の種類の数：６３０５９
【００２２】
また、文書中に高頻度で出現する２つ組及び３つ組の出現頻度を計算したところ、平均して、３つ組の方が２つ組よりも絞り込み効果が１０倍以上高いことが分かった。このように、３つ組の種類の数は、２つ組と比較して増大することはなく、３つ組の方が２つ組よりも絞り込み効果が高いため、３つ組を検索キーとして用いることで、計算量を抑えて検索を高速化できると考えられる。
【００２３】
一方、検索結果に含まれるノイズ文書に関しては、必ずしも削減できるとは限らない。２つ組の場合は、マッチする文書が少ない検索キーのみで検索しても、検索結果に所望の文書がすべて含まれるが、３つ組の場合は、マッチする文書が少ない検索キーで検索すると、所望の文書を見落としてしまう。
【００２４】
例えば、「日本と比べると米国や中国の制度が違ったりするが、国による違いの具体例は？」という検索文Ｑ１から、「０ｘＫ０，０ｘＫＵ，０ｘＳ８」のような３つ組が生成された場合について検討する。ここで、“０ｘＫ０”、“０ｘＫＵ”、及び“０ｘＳ８”は、「違う」、「国」、及び「制度」にそれぞれ対応する意味記号を表す。
【００２５】
図１は、３つ組「０ｘＫ０，０ｘＫＵ，０ｘＳ８」を含む意味構造の例を示している。ＳＳ１は、「国により制度が異なる」という意味を表す意味構造であり、“０ｘＫ０”、“０ｘＫＵ”、及び“０ｘＳ８”に対応する３個のノードを含む。アーク１０１は「対象」を表し、アーク１０２は「応じて」を表す。一方、ＳＳ２は、「異なる国の制度」という意味を表す意味構造であり、“０ｘＫ０”、“０ｘＫＵ”、及び“０ｘＳ８”に対応する３個のノードを含む。アーク１０３は「場所」を表し、アーク１０４は「対象」を表す。
【００２６】
この場合、意味構造ＳＳ１の方が検索文Ｑ１の意味に近いため、クエリの意図に即した検索キーであると言える。したがって、検索文Ｑ１と意味が類似する文書を検索する類似文書検索では、ＳＳ１を含む文書が所望の文書となる。しかし、ＳＳ１にマッチする文書は多く、ＳＳ２にマッチする文書は少ない。このため、特許文献１と同様に、文書中における意味構造の出現頻度のみに基づいて検索キーのノイズ判定を行うと、ＳＳ１はノイズと判定されてしまい、文書のスコアにおけるＳＳ１の重みが低下する。
【００２７】
このように、３つ組の場合は、２つ組とは異なり、意味記号の間の関係種別に応じた意味構造のバリエーションがあるため、２つ組のノイズ判定方法をそのまま適用すると、所望の文書の検索もれが発生する可能性がある。
【００２８】
また、３つ組の場合は、意味記号の同じ組み合わせであっても、どの意味構造が所望の文書の意味構造と相性がよいかは、クエリによって異なり、この相性問題が２つ組よりも明確に現れる。特に、文書中に高頻度で出現する３つ組において、検索結果に対する意味構造の影響が大きい。
【００２９】
図２は、実施形態の類似文書検索装置の機能的構成例を示している。類似文書検索装置２０１は、記憶部２１１、特定部２１２、検索部２１３、及び出力部２１４を含む。記憶部２１１は、複数個の意味構造と複数の文脈情報との対応関係２２１を記憶する。複数の文書に含まれる複数の文に対する意味解析を行うことで、各文に含まれる複数の意味記号の間の関係種別に基づいて、複数個の意味構造が生成され、各意味構造は、３個以上の意味記号と、それらの意味記号の間の関係種別とを含む。また、複数の文書のうち複数個の意味構造それぞれにマッチする文書群における単語又は意味記号の出現頻度を表す複数の文脈情報が生成され、複数個の意味構造を複数の文脈情報にそれぞれ対応付けることで、対応関係２２１が生成される。
【００３０】
特定部２１２は、記憶部２１１が記憶する対応関係２２１を参照して、検索文に対応する意味構造を特定し、検索部２１３は、特定部２１２が特定した意味構造を用いて類似文書を検索し、出力部２１４は、検索結果を出力する。
【００３１】
図３は、図２の類似文書検索装置２０１が行う類似文書検索処理の例を示すフローチャートである。まず、特定部２１２は、検索文から、検索文における単語又は意味記号の出現頻度を表す検索文脈情報を生成する（ステップ３０１）。次に、特定部２１２は、生成した検索文脈情報と、対応関係２２１に含まれる複数の文脈情報とに基づいて、対応関係２２１に含まれる複数個の意味構造のうち１個の意味構造を特定する（ステップ３０２）。次に、検索部２１３は、特定部２１２が特定した意味構造を用いて、複数の文書の中から検索文に類似する類似文書を検索する（ステップ３０３）。そして、出力部２１４は、検索部２１３が検索した類似文書を示す検索結果を出力する（ステップ３０４）。
【００３２】
図１の類似文書検索装置２０１によれば、３個以上の意味記号を含む適切な意味構造を用いて類似文書検索を行うことができる。
【００３３】
図４は、図２の類似文書検索装置２０１の具体例を示している。図４の類似文書検索装置２０１は、記憶部２１１、特定部２１２、検索部２１３、出力部２１４、対応関係生成部４０１、及びインデックス生成部４０２を含み、特定部２１２は、記号決定部４１１、文脈生成部４１２、及び構造決定部４１３を含む。
【００３４】
対応関係生成部４０１は、検索対象の複数の文書から対応関係２２１を生成して、記憶部２１１に格納する。インデックス生成部４０２は、それらの文書に対する検索インデックス４２１を生成して、記憶部２１１に格納する。対応関係２２１及び検索インデックス４２１は、類似文書検索処理のためのデータベースとして用いられる。
【００３５】
記号決定部４１１は、検索文に含まれる複数の意味記号から意味記号の３つ組を生成し、文脈生成部４１２は、３つ組が所定の条件を満たす場合に、検索文から検索文脈情報を生成する。構造決定部４１３は、文脈生成部４１２が生成した検索文脈情報と、対応関係２２１に含まれる複数の文脈情報とに基づいて、対応関係２２１に含まれる複数個の意味構造のうち１個の意味構造を特定する。そして、構造決定部４１３は、特定した意味構造を、検索キー４２２として記憶部２１１に格納する。
【００３６】
検索部２１３は、検索キー４２２を用いて検索インデックス４２１を参照することで、類似文書を検索し、検索結果４２３を記憶部２１１に格納し、出力部２１４は、検索結果４２３を出力する。
【００３７】
図５は、対応関係生成部４０１が行う対応関係生成処理の例を示している。対応関係生成部４０１は、類似文書検索処理が行われる前に、文書に含まれる３つ組の意味構造毎に、複数の文書における単語、意味記号、意味最小単位等の出現頻度を表す文脈情報を生成する。出現頻度としては、例えば、出現回数又は出現文書数が用いられる。例えば、単語の出現回数は、全文書中にその単語が出現する回数を表し、単語の出現文書数は、その単語が出現する文書の数を表す。
【００３８】
対応関係生成部４０１は、検索対象の複数の文書に含まれる複数の文に対する意味解析を行うことで、３つ組「０ｘＫ０，０ｘＫＵ，０ｘＳ８」に対するＮ通り（Ｎは１以上の整数）の意味構造であるＳＳ１〜ＳＳＮを生成する。
【００３９】
次に、対応関係生成部４０１は、それらの文書の中から、ＳＳｉ（ｉ＝１〜Ｎ）にマッチする文を含む文書を検索し、検索した文書の集合である文書群５０１−ｉを求める。そして、対応関係生成部４０１は、文書群５０１−ｉからＳＳｉに対応する文脈情報５０２−ｉを生成し、ＳＳ１〜ＳＳＮを文脈情報５０２−１〜文脈情報５０２−Ｎにそれぞれ対応付けることで、対応関係２２１を生成する。
【００４０】
図６は、ＳＳ１〜ＳＳＮに対する対応関係２２１の例を示している。図６の文脈情報５０２−１〜文脈情報５０２−Ｎは、ＳＳ１〜ＳＳＮにそれぞれ対応する単語の出現回数を、ベクトル形式で表している。例えば、ＳＳ１に対応する文脈情報５０２−１は、ＳＳ１にマッチする文書群５０１−１に、「異」が７５０２３回出現し、「制度」が７２００２回出現することを表す。文脈情報５０２−１は、さらに、文書群５０１−１に「日本」が１８３７４回出現し、「米国」が１８９０１回出現し、「中国」が８０２３回出現することを表す。
【００４１】
このように、同じ３つ組であっても、意味構造が異なるとマッチする文書群も異なるため、文脈情報も変化する。したがって、意味構造毎に、対応する文脈情報を生成することができる。
【００４２】
図７は、インデックス生成部４０２が生成する検索インデックス４２１の例を示している。図７の検索インデックス４２１の各エントリは、３つ組及び文書ＩＤのリストを含む。３つ組は、類似文書検索処理で用いられる各検索キーに含まれる３個の意味記号の組を表し、高頻度の３つ組の場合は、さらに意味構造の識別情報を含む。例えば、「０ｘＫ０，０ｘＫＵ，０ｘＳ８−１」の“−１”は、図６のＳＳ１に対応し、「０ｘＫ０，０ｘＫＵ，０ｘＳ８−２」の“−２”は、ＳＳ２に対応する。文書ＩＤのリストは、３つ組が表す検索キーにマッチする複数の文書の文書ＩＤを表す。
【００４３】
図８は、３つ組「Ａ，Ｂ，Ｃ」に対する意味構造のバリエーションの例を示している。この例では、Ａ、Ｂ、及びＣの各意味記号を文字列コードに基づいてソートした結果が、Ａ、Ｂ、及びＣの順序であるものと仮定している。各意味構造の番号“１”〜“１２”は、検索インデックス４２１における意味構造の識別情報として用いられる。例えば、番号“７”の意味構造は、「Ａ，Ｂ，Ｃ−７」のように表記される。
【００４４】
類似文書検索処理において、記号決定部４１１は、クエリとして入力された検索文から３つ組を生成する。検索文としては、文脈情報が生成できる十分な長さの文が用いられる。例えば、上述した「日本と比べると米国や中国の制度が違ったりするが、国による違いの具体例は？」という検索文Ｑ１が入力された場合、記号決定部４１１は、３つ組「０ｘＫ０，０ｘＫＵ，０ｘＳ８」を生成することができる。
【００４５】
次に、文脈生成部４１２は、検索文Ｑ１における単語、意味記号、意味最小単位等の出現頻度を表す検索文脈情報を生成する。出現頻度としては、例えば、出現回数が用いられる。例えば、検索文Ｑ１における単語の出現回数を表す検索文脈情報は、「違う：１，制度：１，日本：１，米国：１，中国：１，比べ：１，国：１，違い：１，具体例：１」のように表される。
【００４６】
次に、構造決定部４１３は、対応関係２２１に含まれる複数の文脈情報のうち、検索文から生成した３つ組を含む複数個の意味構造にそれぞれ対応付けられた複数の文脈情報各々と、検索文脈情報との類似度を求める。そして、構造決定部４１３は、最も大きな類似度を有する文脈情報に対応付けられた意味構造を選択し、検索キー４２２として記憶部２１１に格納する。
【００４７】
このような類似文書検索装置２０１によれば、データベースを生成する際に、同じ３つ組に対してそれぞれ異なる意味構造に対応する文脈情報が生成され、各意味構造の出現頻度が学習される。そして、類似文書検索処理を行う際に、検索文の文脈情報をデータベースの各文脈情報と比較することで、検索文に含まれる３つ組の適切な意味構造を推定することができる。
【００４８】
図９は、対応関係生成部４０１及びインデックス生成部４０２が行うデータベース生成処理の例を示すフローチャートである。まず、対応関係生成部４０１は、検索対象の各文書について、文書に含まれる各文に対する形態素解析を行って形態素解析結果を生成し（ステップ９０１）、各文に対する意味解析を行って意味解析結果を生成する（ステップ９０２）。各文書を対象としてステップ９０１及びステップ９０２の処理を繰り返すことで、全文書の形態素解析結果及び意味解析結果が生成される。
【００４９】
次に、対応関係生成部４０１は、全文書の意味解析結果に含まれる意味記号のリストを生成し、全文書における３つ組の出現頻度を計算する（ステップ９０３）。出現頻度としては、例えば、出現回数又は出現文書数が用いられる。
【００５０】
例えば、「０ｘＫ０，０ｘＫＵ，０ｘＳ８，０ｘＫＲ，０ｘＮ３，０ｘＡＭ，０ｘＣ１，０ｘＰ７，０ｘＫＳ，０ｘＨＡ，．．．」のような意味記号のリストから、任意の３個の意味記号を抽出することで、以下のような３つ組が生成される。
「０ｘＫ０，０ｘＫＵ，０ｘＳ８」
「０ｘＫ０，０ｘＫＵ，０ｘＫＲ」
「０ｘＫ０，０ｘＫＵ，０ｘＮ３」
「０ｘＫ０，０ｘＫＵ，０ｘＡＭ」
「０ｘＫ０，０ｘＫＵ，０ｘＣ１」
「０ｘＫ０，０ｘＳ８，０ｘＫＲ」
「０ｘＫ０，０ｘＳ８，０ｘＮ３」
「０ｘＨＡ，０ｘＫＳ，０ｘＰ７」
・・・
【００５１】
各意味記号が表す単語は、以下の通りである。
０ｘＫ０：「異なる」、「違う」
０ｘＫＵ：「国」
０ｘＳ８：「制度」
０ｘＫＲ：「比べ」
０ｘＮ３：「日本」
０ｘＡＭ：「米国」、「アメリカ」
０ｘＣ１：「中国」
０ｘＰ７：「社長」
０ｘＫＳ：「決算」
０ｘＨＡ：「発表」
【００５２】
生成された各々の３つ組の出現文書数の例は、以下のようになる。
【００５３】
「０ｘＫ０，０ｘＫＵ，０ｘＳ８」：６００００
「０ｘＫ０，０ｘＫＵ，０ｘＫＲ」：３９８１
「０ｘＫ０，０ｘＫＵ，０ｘＮ３」：２３５９
「０ｘＫ０，０ｘＫＵ，０ｘＡＭ」：１０９０
「０ｘＫ０，０ｘＫＵ，０ｘＣ１」：２７３３
「０ｘＨＡ，０ｘＫＳ，０ｘＰ７」：７８３７０
・・・
【００５４】
次に、対応関係生成部４０１は、生成された３つ組のうち高頻度の３つ組を対象として、ステップ９０４〜ステップ９０６の処理を行う。高頻度の３つ組は、出現頻度が所定値以上である３つ組を表す。例えば、文書総数Ｍに対する出現文書数の割合がＫ以上である３つ組を高頻度の３つ組として扱う場合、所定値はＭ＊Ｋとなる。Ｍ＝１０００００、Ｋ＝０．６の場合、Ｍ＊Ｋ＝６００００となり、出現文書数が６００００以上である「０ｘＫ０，０ｘＫＵ，０ｘＳ８」と「０ｘＨＡ，０ｘＫＳ，０ｘＰ７」が高頻度の３つ組に該当する。
【００５５】
対応関係生成部４０１は、各々の高頻度の３つ組に対して、３個の意味記号の間の関係種別がそれぞれ異なる複数の意味構造を生成する（ステップ９０４）。そして、対応関係生成部４０１は、全文書の中から、各意味構造にマッチする文を含む文書を検索し、検索した文書の集合である文書群を求める。次に、対応関係生成部４０１は、求めた文書群から文脈情報を生成し（ステップ９０５）、意味構造を文脈情報に対応付けて、記憶部２１１内の対応関係２２１に格納する（ステップ９０６）。
【００５６】
各意味構造を対象としてステップ９０４〜ステップ９０６の処理を繰り返すことで、１個の高頻度の３つ組に対する対応関係２２１が生成される。また、各々の高頻度の３つ組を対象として同様の処理を繰り返すことで、すべての高頻度の３つ組に対する対応関係２２１が生成される。
【００５７】
次に、インデックス生成部４０２は、ステップ９０３で生成された各々の３つ組に対して、その３つ組にマッチする文書の文書ＩＤを対応付けて、検索インデックス４２１を生成し、記憶部２１１に格納する（ステップ９０７）。このとき、インデックス生成部４０２は、高頻度の３つ組については、意味構造毎に区別して、マッチする文書の文書ＩＤを対応付け、それ以外の３つ組については、意味構造を区別せずに、マッチする文書の文書ＩＤを対応付ける。
【００５８】
図１０は、特定部２１２、検索部２１３、及び出力部２１４が行う類似文書検索処理の例を示すフローチャートである。まず、記号決定部４１１は、検索文に対する形態素解析を行って形態素解析結果を生成し（ステップ１００１）、検索文に対する意味解析を行って意味解析結果を生成する（ステップ１００２）。次に、記号決定部４１１は、検索文の意味解析結果から３個の意味記号を抽出することで、３つ組を生成する（ステップ１００３）。
【００５９】
次に、文脈生成部４１２は、対応関係２２１を参照して、検索文から生成された３つ組が高頻度の３つ組であるか否かをチェックする（ステップ１００４）。検索文から生成された３つ組を含む意味構造が対応関係２２１に含まれている場合、その３つ組は高頻度の３つ組であると判定される。
【００６０】
例えば、上述した検索文Ｑ１から３つ組「０ｘＮ３，０ｘＫＲ，０ｘＡＭ」が生成され、「０ｘＮ３，０ｘＫＲ，０ｘＡＭ」を含む意味構造が対応関係２２１に含まれていない場合、この３つ組は高頻度の３つ組ではないと判定される。
【００６１】
また、検索文Ｑ１から３つ組「０ｘＮ３，０ｘＫＲ，０ｘＣ１」が生成され、「０ｘＮ３，０ｘＫＲ，０ｘＣ１」を含む意味構造が対応関係２２１に含まれていない場合、この３つ組は高頻度の３つ組ではないと判定される。
【００６２】
一方、検索文Ｑ１から３つ組「０ｘＫＵ，０ｘＳ８，０ｘＫ０」が生成され、「０ｘＫＵ，０ｘＳ８，０ｘＫ０」を含む意味構造が対応関係２２１に含まれている場合、この３つ組は高頻度の３つ組であると判定される。
【００６３】
検索文から生成された３つ組が高頻度の３つ組である場合（ステップ１００４，ＹＥＳ）、文脈生成部４１２は、検索文から検索文脈情報を生成する（ステップ１００５）。そして、構造決定部４１３は、検索文脈情報に基づいて、対応関係２２１から意味構造を選択し、検索キー４２２として記憶部２１１に格納する（ステップ１００６）。
【００６４】
このとき、構造決定部４１３は、対応関係２２１において、検索文から生成された高頻度の３つ組を含む各意味構造に対応付けられた文脈情報と、検索文脈情報との類似度を計算する。例えば、検索文Ｑ１から３つ組「０ｘＫＵ，０ｘＳ８，０ｘＫ０」が生成された場合、図６に示した文脈情報５０２−１〜文脈情報５０２−Ｎの各々と、検索文Ｑ１の検索文脈情報との類似度が計算される。
【００６５】
類似度としては、例えば、ベクトル空間モデルの類似度を用いることができる。ベクトル空間モデルにおいて、ある文書Ｄにおける単語Ｗの重要度Ｖａｌ（Ｗ，Ｄ）は、次式により計算される。
【００６６】
Ｖａｌ（Ｗ，Ｄ）＝ｔｆ（Ｗ，Ｄ）＊ｉｄｆ（Ｗ）      （１）
ｉｄｆ（Ｗ）＝ｌｏｇ（Ｌ／ｄｆｒｅｑ（Ｗ））＋１      （２）
【００６７】
式（１）のｔｆ（Ｗ，Ｄ）は、文書Ｄにおける単語Ｗの出現回数を表し、式（２）のＬは、文書の総数を表し、ｄｆｒｅｑ（Ｗ）は、単語Ｗを含む文書の数を表す。このとき、単語Ｗ１〜単語Ｗｎを含む文書Ｄは、次式のベクトルｄを用いて表すことができる。
【００６８】
ｄ＝（Ｖａｌ（Ｗ１，Ｄ），Ｖａｌ（Ｗ２，Ｄ），．．．，
Ｖａｌ（Ｗｎ，Ｄ））                              （３）
【００６９】
ベクトルｄ１で表される文書Ｄ１とベクトルｄ２で表される文書Ｄ２との類似度Ｓ（Ｄ１，Ｄ２）は、ベクトルｄ１とベクトルｄ２とが成す角の余弦値によって表され、次式により計算される。
【００７０】
Ｓ（Ｄ１，Ｄ２）＝（ｄ１・ｄ２）／（｜ｄ１｜＊｜ｄ２｜）      （４）
【００７１】
式（４）の｜ｄｊ｜（ｊ＝１，２）は、ベクトルｄｊの大きさを表し、ｄ１・ｄ２は、ベクトルｄ１とベクトルｄ２の内積を表す。Ｓ（Ｄ１，Ｄ２）は、０以上１以下の実数であり、Ｓ（Ｄ１，Ｄ２）が大きいほど２つの文書の類似度が高いと言える。
【００７２】
式（１）〜式（４）における文書を文脈情報に置き換え、ｔｆ（Ｗ，Ｄ）として各文脈情報に含まれる単語の出現回数を用いることで、文脈情報５０２−ｉと検索文脈情報との類似度を計算することができる。
【００７３】
そして、構造決定部４１３は、最も大きな類似度を有する文脈情報に対応付けられた意味構造を、検索キー４２２として選択する。例えば、文脈情報５０２−１と検索文脈情報との類似度が０．４６であり、他の文脈情報５０２−ｉと検索文脈情報との類似度が０．４６よりも小さい場合、文脈情報５０２−１に対応付けられたＳＳ１が検索キー４２２として選択される。
【００７４】
次に、検索部２１３は、検索インデックス４２１から検索キー４２２の意味構造に対応する文書ＩＤのリストを検索し、その文書ＩＤのリストを、検索結果４２３として記憶部２１１に格納する（ステップ１００７）。そして、出力部２１４は、検索結果４２３を出力する。
【００７５】
一方、検索文から生成された３つ組が高頻度の３つ組ではない場合（ステップ１００４，ＮＯ）、構造決定部４１３は、その３つ組を検索キー４２２として記憶部２１１に格納する（ステップ１００８）。
【００７６】
そして、検索部２１３は、検索インデックス４２１から検索キー４２２の３つ組に対応する文書ＩＤのリストを検索し、その文書ＩＤのリストを、検索結果４２３として記憶部２１１に格納する（ステップ１００７）。この場合、３つ組の意味構造を区別せずに検索が行われるため、すべての意味構造のバリエーションに対応する検索結果４２３が得られる。
【００７７】
このような類似文書検索処理によれば、検索結果に対する影響が大きい高頻度の３つ組を検索キー４２２として用いる場合、クエリの意図に即した適切な意味構造を選択することができる。したがって、類似文書を効果的に絞り込みながら、所望の文書の検索もれを防止することができる。
【００７８】
ところで、高頻度の３つ組であっても、意味構造によってあまり意味が異ならない場合は、意味構造の検索結果に対する影響が小さいため、意味構造を特定して検索キー４２２を生成する必要性が小さいと考えられる。そこで、高頻度の３つ組を含む複数の意味構造の間における意味の差異を示す差異度を計算し、差異度に基づいて、その３つ組の意味構造を特定するか否かを選択することも可能である。
【００７９】
図１１は、差異度を用いる類似文書検索装置２０１の機能的構成例を示している。図１１の類似文書検索装置２０１は、図４の類似文書検索装置２０１に差異度計算部１１０１を追加した構成を有する。差異度計算部１１０１は、各々の高頻度の３つ組に対する差異度を計算し、構造決定部４１３は、差異度が大きい場合に、その３つ組の意味構造を特定して検索キー４２２を生成する。
【００８０】
図１２は、３つ組の意味構造に含まれるアークの向きのバリエーションの例を示している。３つ組の意味構造は、２本のアークの向きによって３種類に分類される。図１２（ａ）は、２本のアークがともに同じ向きを指す並列型の意味構造を表す。図１２（ｂ）は、２本のアークが両端のノードから中央のノードへ向かう集中型の意味構造を表す。図１２（ｃ）は、２本のアークが中央のノードから両端のノードへ向かう拡散型の意味構造を表す。
【００８１】
図８の番号“１”、“４”、“５”、“８”、“９”、及び“１２”の意味構造は、並列型の意味構造である。また、番号“２”、“６”、及び“１０”の意味構造は、拡散型の意味構造であり、番号“３”、“７”、及び“１１”の意味構造は、集中型の意味構造である。
【００８２】
差異度計算部１１０１は、３つ組の意味構造のバリエーションから、２個の意味構造の組み合わせをすべて抽出し、各組み合わせに対して、２個の意味構造の間における意味の差異を示す差異スコアＰを計算する。そして、差異度計算部１１０１は、得られた差異スコアＰのうち最も大きな値を、３つ組の差異度に決定する。構造決定部４１３は、３つ組の差異度が所定値以上である場合、差異度が大きいと判定し、差異度が所定値よりも小さい場合、差異度が小さいと判定する。
【００８３】
例えば、所定値が１．５である場合、差異度計算部１１０１は、各意味構造の中央のノードを基点ノードとして用いて、以下の手順で２個の意味構造の差異スコアＰを計算する。
１．差異度計算部１１０１は、Ｐを０に設定する。
２．２個の意味構造の間で基点ノードの意味記号が異なる場合、差異度計算部１１０１は、Ｐに１．５を加算する。この場合、Ｐ＝１．５となり、Ｐが所定値に達したため、他の組み合わせに対する差異スコアＰをさらに計算しても、差異度の判定結果は変化しない。そこで、差異度計算部１１０１は、差異スコアＰの計算を終了して、３つ組の差異度を１．５に決定する。
３．２個の意味構造の間で基点ノードの意味記号が同じである場合、差異度計算部１１０１は、各意味構造を２つ組の意味構造に分解し、同じ２つ組を含む意味構造同士を比較して、Ｐに値を加算する。
【００８４】
２つ組の意味構造は、（アークの起点ノード，アークの到達ノード，アークの種類）のように表される。差異度計算部１１０１は、２つの意味構造の間で起点ノード及び到達ノードの順序が異なる場合、Ｐに１．０を加算し、アークの種類が異なる場合、Ｐに０．７５を加算する。
【００８５】
例えば、図１の３つ組「０ｘＫ０，０ｘＫＵ，０ｘＳ８」の差異度を計算する場合、まず、差異度計算部１１０１は、ＳＳ１とＳＳ２の差異スコアＰを計算する。ＳＳ１の基点ノードは“０ｘＫ０”であり、ＳＳ２の基点ノードは“０ｘＳ８”であるため、基点ノードの意味記号が異なっている。したがって、Ｐに１．５が加算される。この時点でＰが１．５に達したため、差異度計算部１１０１は、他の組み合わせに対する差異スコアＰを計算することなく、「０ｘＫ０，０ｘＫＵ，０ｘＳ８」の差異度を１．５に決定する。
【００８６】
図１３は、差異度が小さな３つ組の例を示している。上述したように、図１３の３つ組「０ｘＨＡ，０ｘＫＳ，０ｘＰ７」の出現文書数は７８３７０であり、６００００以上であるため、この３つ組は、高頻度の３つ組に該当する。「０ｘＨＡ，０ｘＫＳ，０ｘＰ７」の意味構造のバリエーションが図１３のＳＳ１とＳＳ２の２個である場合、差異度計算部１１０１は、ＳＳ１とＳＳ２の差異スコアＰを計算する。
【００８７】
ＳＳ１とＳＳ２の基点ノードはともに“０ｘＨＡ”であるため、差異度計算部１１０１は、ＳＳ１とＳＳ２を、それぞれ、次のような２つ組の意味構造（部分構造）に分解する。
ＳＳ１：（０ｘＨＡ，０ｘＰ７，動作主）、（０ｘＨＡ，０ｘＫＳ，対象）
ＳＳ２：（０ｘＨＡ，０ｘＰ７，動作主）、（０ｘＨＡ，０ｘＫＳ，関する）
【００８８】
２つ組「０ｘＨＡ，０ｘＰ７」を含むＳＳ１の部分構造（０ｘＨＡ，０ｘＰ７，動作主）と、ＳＳ２の部分構造（０ｘＨＡ，０ｘＰ７，動作主）を比較すると、起点ノード及び到達ノードの順序が同じであり、アークの種類も同じである。したがって、この比較によってＰは増加しない。
【００８９】
一方、２つ組「０ｘＨＡ，０ｘＫＳ」を含むＳＳ１の部分構造（０ｘＨＡ，０ｘＫＳ，対象）と、ＳＳ２の部分構造（０ｘＨＡ，０ｘＫＳ，関する）を比較すると、起点ノード及び到達ノードの順序は同じであるが、アークの種類が異なっている。したがって、この比較によって、Ｐに０．７５が加算される。２個の意味構造の組み合わせは他に存在しないため、差異度計算部１１０１は、「０ｘＨＡ，０ｘＫＳ，０ｘＰ７」の差異度を０．７５に決定する。
【００９０】
図１４は、差異度を用いる類似文書検索処理の例を示すフローチャートである。図１４のステップ１４０１〜ステップ１４０４及びステップ１４０７〜ステップ１４１０の処理は、図１０のステップ１００１〜ステップ１００８の処理と同様である。
【００９１】
検索文から生成された３つ組が高頻度の３つ組である場合（ステップ１４０４，ＹＥＳ）、差異度計算部１１０１は、その３つ組の差異度を計算し（ステップ１４０５）、構造決定部４１３は、差異度を所定値と比較する（ステップ１４０６）。類似文書検索装置２０１は、差異度が所定値以上である場合（ステップ１４０６，ＹＥＳ）、ステップ１４０７以降の処理を行い、差異度が所定値よりも小さい場合（ステップ１４０６，ＮＯ）、ステップ１４１０以降の処理を行う。
【００９２】
例えば、所定値が１．５である場合、図１の「０ｘＫ０，０ｘＫＵ，０ｘＳ８」の差異度は１．５であるため、差異度が所定値以上であると判定される。一方、図１３の「０ｘＨＡ，０ｘＫＳ，０ｘＰ７」の差異度は０．７５であるため、差異度が所定値よりも小さいと判定される。
【００９３】
このような類似文書検索処理によれば、高頻度の３つ組の意味構造によって意味が大きく異なる場合のみ、検索文脈情報に基づいて特定の意味構造が選択され、選択された意味構造に対応する検索結果４２３が得られる。一方、意味構造によってあまり意味が異ならない場合は、すべての意味構造のバリエーションに対応する検索結果４２３が得られる。この場合、検索文から検索文脈情報を生成する処理を省略することができる。
【００９４】
図１１の類似文書検索装置２０１は、データベース生成時に高頻度の３つ組の差異度を計算し、差異度に基づいて、その３つ組に対する対応関係２２１を生成するか否かを選択することも可能である。
【００９５】
図１５は、差異度を用いるデータベース生成処理の例を示すフローチャートである。図１５のステップ１５０１〜ステップ１５０３及びステップ１５０６〜ステップ１５０９の処理は、図９のステップ９０１〜ステップ９０７の処理と同様である。
【００９６】
差異度計算部１１０１は、ステップ１５０３で生成された３つ組のうち、高頻度の３つ組の差異度を計算し（ステップ１５０４）、対応関係生成部４０１は、差異度を所定値と比較する（ステップ１５０５）。類似文書検索装置２０１は、差異度が所定値以上である場合（ステップ１５０５，ＹＥＳ）、ステップ１５０６以降の処理を行い、差異度が所定値よりも小さい場合（ステップ１５０５，ＮＯ）、次の高頻度の３つ組についてステップ１５０４以降の処理を行う。
【００９７】
このようなデータベース生成処理によれば、高頻度の３つ組の意味構造によって意味が大きく異なる場合のみ、その３つ組に対する対応関係２２１が生成される。一方、意味構造によってあまり意味が異ならない場合は、対応関係２２１が生成されないため、対応関係生成処理を省略することができる。
【００９８】
図１５のデータベース生成処理によって生成された対応関係２２１を用いて、図１０の類似文書検索処理を行う場合、ステップ１００４において、対応関係２２１に含まれていない３つ組は高頻度の３つ組ではないと判定される。したがって、３つ組の意味構造を区別せずに検索が行われ、すべての意味構造のバリエーションに対応する検索結果４２３が得られる。
【００９９】
例えば、図１３の「０ｘＨＡ，０ｘＫＳ，０ｘＰ７」の差異度は０．７５であるため、差異度が所定値よりも小さいと判定され、この３つ組に対する対応関係２２１は生成されない。したがって、類似文書検索処理において、「０ｘＨＡ，０ｘＫＳ，０ｘＰ７」は高頻度の３つ組ではないと判定され、意味構造を区別せずに検索が行われる。
【０１００】
なお、ステップ１５０５において差異度が所定値よりも小さい場合、対応関係生成部４０１は、その３つ組を低頻度の３つ組とみなす情報を記憶部２１１に格納してもよい。この場合、ステップ１００４において、記憶部２１１に格納された情報に基づき、その３つ組は高頻度の３つ組ではないと判定される。
【０１０１】
図２、図４、及び図１１の類似文書検索装置２０１の構成は一例に過ぎず、類似文書検索装置２０１の用途又は条件に応じて、一部の構成要素を省略又は変更してもよい。例えば、データベース生成処理が外部の装置で行われる場合は、図４及び図１１の対応関係生成部４０１及びインデックス生成部４０２を省略することができる。
【０１０２】
図３、図９、図１０、図１４、及び図１５のフローチャートは一例に過ぎず、類似文書検索装置２０１の構成又は条件に応じて一部の処理を省略又は変更してもよい。例えば、図９及び図１５のデータベース生成処理において、文書に対する形態素解析及び意味解析が外部の装置で行われる場合は、ステップ９０１、ステップ９０２、ステップ１５０１、及びステップ１５０２の処理を省略することができる。検索インデックス４２１が外部の装置で生成される場合は、ステップ９０７及びステップ１５０９の処理を省略することができる。
【０１０３】
図９のデータベース生成処理において、高頻度の３つ組であるか否かに関わらず、対応関係２２１を生成する場合は、ステップ９０３において、３つ組の出現頻度の計算を省略することができる。この場合、ステップ９０４〜ステップ９０６の処理は、意味記号のリストから生成されたすべての３つ組に対して行われる。
【０１０４】
図１５のデータベース生成処理において、高頻度の３つ組であるか否かに関わらず、３つ組の差異度のみに基づいて、対応関係２２１を生成する場合は、ステップ１５０３において、３つ組の出現頻度の計算を省略することができる。この場合、ステップ１５０４〜ステップ１５０８の処理は、意味記号のリストから生成されたすべての３つ組に対して行われる。
【０１０５】
図１０及び図１４の類似文書検索処理において、検索文に対する形態素解析及び意味解析が外部の装置で行われる場合は、ステップ１００１、ステップ１００２、ステップ１４０１、及びステップ１４０２の処理を省略することができる。
【０１０６】
図１０の類似文書検索処理において、高頻度の３つ組であるか否かに関わらず、意味構造を特定して検索を行う場合は、ステップ１００４及びステップ１００８の処理を省略することができる。
【０１０７】
図１４の類似文書検索処理において、高頻度の３つ組であるか否かに関わらず、３つ組の差異度のみに基づいて、意味構造を特定して検索を行う場合は、ステップ１４０４の処理を省略することができる。
【０１０８】
図１、図５、図６、図８、図１２、及び図１３の意味構造は一例に過ぎず、類似文書検索装置２０１の構成又は条件に応じて、別の意味構造を用いてもよい。例えば、３つ組の意味構造の代わりに、４個以上の意味記号を含む意味構造を用いても構わない。図７の検索インデックスは一例に過ぎず、類似文書検索装置２０１の構成又は条件に応じて、別のデータ構造の検索インデックスを用いてもよい。
【０１０９】
式（１）〜式（４）は一例に過ぎず、別の計算式により、対応関係２２１に含まれる文脈情報と検索文脈情報との類似度を計算してもよい。
【０１１０】
図２、図４、及び図１１の類似文書検索装置２０１は、例えば、図１６に示すような情報処理装置（コンピュータ）を用いて実現可能である。図１６の情報処理装置は、Central Processing Unit（ＣＰＵ）１６０１、メモリ１６０２、入力装置１６０３、出力装置１６０４、補助記憶装置１６０５、媒体駆動装置１６０６、及びネットワーク接続装置１６０７を備える。これらの構成要素はバス１６０８により互いに接続されている。
【０１１１】
メモリ１６０２は、例えば、Read Only Memory（ＲＯＭ）、Random Access Memory（ＲＡＭ）、フラッシュメモリ等の半導体メモリであり、処理に用いられるプログラム及びデータを格納する。メモリ１６０２は、図２、図４、及び図１１の記憶部２１１として用いることができる。
【０１１２】
ＣＰＵ１６０１（プロセッサ）は、例えば、メモリ１６０２を利用してプログラムを実行することにより、図２、図４、及び図１１の特定部２１２、検索部２１３、対応関係生成部４０１、インデックス生成部４０２、及び差異度計算部１１０１として動作する。ＣＰＵ１６０１は、プログラムを実行することにより、記号決定部４１１、文脈生成部４１２、及び構造決定部４１３としても動作する。
【０１１３】
入力装置１６０３は、例えば、キーボード、ポインティングデバイス等であり、オペレータ又はユーザからの指示や情報の入力に用いられる。オペレータ又はユーザからの指示は、検索文を含むクエリであってもよい。
【０１１４】
出力装置１６０４は、例えば、表示装置、プリンタ、スピーカ等であり、オペレータ又はユーザへの問い合わせ又は指示、及び処理結果の出力に用いられる。出力装置１６０４は、図２、図４、及び図１１の出力部２１４として用いることができる。処理結果は、検索結果４２３であってもよい。
【０１１５】
補助記憶装置１６０５は、例えば、磁気ディスク装置、光ディスク装置、光磁気ディスク装置、テープ装置等である。補助記憶装置１６０５は、ハードディスクドライブ又はフラッシュメモリであってもよい。情報処理装置は、補助記憶装置１６０５にプログラム及びデータを格納しておき、それらをメモリ１６０２にロードして使用することができる。補助記憶装置１６０５は、図２、図４、及び図１１の記憶部２１１として用いることができる。
【０１１６】
媒体駆動装置１６０６は、可搬型記録媒体１６０９を駆動し、その記録内容にアクセスする。可搬型記録媒体１６０９は、メモリデバイス、フレキシブルディスク、光ディスク、光磁気ディスク等である。可搬型記録媒体１６０９は、Compact Disk Read Only Memory（ＣＤ−ＲＯＭ）、Digital Versatile Disk（ＤＶＤ）、Universal Serial Bus（ＵＳＢ）メモリ等であってもよい。オペレータ又はユーザは、この可搬型記録媒体１６０９にプログラム及びデータを格納しておき、それらをメモリ１６０２にロードして使用することができる。
【０１１７】
このように、処理に用いられるプログラム及びデータを格納するコンピュータ読み取り可能な記録媒体は、メモリ１６０２、補助記憶装置１６０５、又は可搬型記録媒体１６０９のような、物理的な（非一時的な）記録媒体である。
【０１１８】
ネットワーク接続装置１６０７は、Local Area Network、Wide Area Network等の通信ネットワークに接続され、通信に伴うデータ変換を行う通信インタフェースである。情報処理装置は、プログラム及びデータを外部の装置からネットワーク接続装置１６０７を介して受け取り、それらをメモリ１６０２にロードして使用することができる。
【０１１９】
情報処理装置は、ネットワーク接続装置１６０７を介して、ユーザ端末からクエリを受信し、検索結果４２３をユーザ端末へ送信することができる。この場合、ネットワーク接続装置１６０７は、図２、図４、及び図１１の出力部２１４として用いられる。
【０１２０】
なお、情報処理装置が図１６のすべての構成要素を含む必要はなく、用途又は条件に応じて一部の構成要素を省略することも可能である。例えば、情報処理装置がユーザ端末から通信ネットワーク経由でクエリを受信する場合は、入力装置１６０３及び出力装置１６０４を省略してもよい。また、可搬型記録媒体１６０９又は通信ネットワークを利用しない場合は、媒体駆動装置１６０６又はネットワーク接続装置１６０７を省略してもよい。
【０１２１】
情報処理装置がスマートフォンのような通話機能を有する携帯端末である場合、マイク及びスピーカのような通話用の装置を含んでいてもよく、カメラのような撮像装置を含んでいてもよい。
【０１２２】
開示の実施形態とその利点について詳しく説明したが、当業者は、特許請求の範囲に明確に記載した本発明の範囲から逸脱することなく、様々な変更、追加、省略をすることができるであろう。
【０１２３】
図１乃至図１６を参照しながら説明した実施形態に関し、さらに以下の付記を開示する。
（付記１）
検索文から、前記検索文における単語又は意味記号の出現頻度を表す検索文脈情報を生成し、
複数の文書に含まれる複数の文に対する意味解析を行って、前記複数の文各々に含まれる複数の意味記号の間の関係種別に基づき、３個以上の意味記号と前記３個以上の意味記号の間の関係種別とを含む意味構造を複数個生成し、前記複数の文書のうち前記複数個の意味構造それぞれにマッチする文書群における単語又は意味記号の出現頻度を表す複数の文脈情報を生成し、前記複数個の意味構造を前記複数の文脈情報にそれぞれ対応付けることで生成される、前記複数個の意味構造と前記複数の文脈情報との対応関係を参照し、
前記複数の文脈情報と前記検索文脈情報とに基づいて、前記複数個の意味構造のうち１個の意味構造を特定し、
特定した前記意味構造を用いて、前記複数の文書の中から前記検索文に類似する類似文書を検索し、
前記類似文書を示す検索結果を出力する、
処理をコンピュータに実行させる類似文書検索プログラム。
（付記２）
前記コンピュータは、前記検索文に含まれる複数の意味記号から３個以上の意味記号の組を生成し、前記複数の文脈情報のうち、前記検索文から生成した前記３個以上の意味記号の組を含む複数個の意味構造にそれぞれ対応付けられた複数の文脈情報各々と、前記検索文脈情報との類似度を求め、最も大きな類似度を有する文脈情報に対応付けられた意味構造を、前記１個の意味構造として特定することを特徴とする付記１記載の類似文書検索プログラム。
（付記３）
前記コンピュータは、前記検索文から生成した前記３個以上の意味記号の組の前記複数の文書における出現頻度が第１所定値よりも大きい場合、前記検索文から前記検索文脈情報を生成し、前記類似度を求め、前記１個の意味構造を特定することを特徴とする付記２記載の類似文書検索プログラム。
（付記４）
前記コンピュータは、前記検索文から生成した前記３個以上の意味記号の組を含む複数の意味構造の間における意味の差異を示す差異度が、第２所定値よりも大きい場合、前記検索文から前記検索文脈情報を生成し、前記類似度を求め、前記１個の意味構造を特定することを特徴とする付記２又は３記載の類似文書検索プログラム。
（付記５）
前記類似文書検索プログラムは、
前記複数の文に対する前記意味解析を行って、前記複数個の意味構造を生成し、
前記複数個の意味構造それぞれに対する前記複数の文脈情報を生成し、
前記複数個の意味構造と前記複数の文脈情報との前記対応関係を生成する、
処理をさらに前記コンピュータに実行させる付記１乃至４のいずれか１項に記載の類似文書検索プログラム。
（付記６）
複数の文書に含まれる複数の文に対する意味解析を行って、前記複数の文各々に含まれる複数の意味記号の間の関係種別に基づき、３個以上の意味記号と前記３個以上の意味記号の間の関係種別とを含む意味構造を複数個生成し、前記複数の文書のうち前記複数個の意味構造それぞれにマッチする文書群における単語又は意味記号の出現頻度を表す複数の文脈情報を生成し、前記複数個の意味構造を前記複数の文脈情報にそれぞれ対応付けることで生成される、前記複数個の意味構造と前記複数の文脈情報との対応関係を記憶する記憶部と、
検索文から、前記検索文における単語又は意味記号の出現頻度を表す検索文脈情報を生成し、前記複数の文脈情報と前記検索文脈情報とに基づいて、前記複数個の意味構造のうち１個の意味構造を特定する特定部と、
前記特定部が特定した前記意味構造を用いて、前記複数の文書の中から前記検索文に類似する類似文書を検索する検索部と、
前記類似文書を示す検索結果を出力する出力部と、
を備えることを特徴とする類似文書検索装置。
（付記７）
前記特定部は、前記検索文に含まれる複数の意味記号から３個以上の意味記号の組を生成し、前記複数の文脈情報のうち、前記検索文から生成した前記３個以上の意味記号の組を含む複数個の意味構造にそれぞれ対応付けられた複数の文脈情報各々と、前記検索文脈情報との類似度を求め、最も大きな類似度を有する文脈情報に対応付けられた意味構造を、前記１個の意味構造として特定することを特徴とする付記６記載の類似文書検索装置。
（付記８）
前記特定部は、前記検索文から生成した前記３個以上の意味記号の組の前記複数の文書における出現頻度が第１所定値よりも大きい場合、前記検索文から前記検索文脈情報を生成し、前記類似度を求め、前記１個の意味構造を特定することを特徴とする付記７記載の類似文書検索装置。
（付記９）
前記特定部は、前記検索文から生成した前記３個以上の意味記号の組を含む複数の意味構造の間における意味の差異を示す差異度が、第２所定値よりも大きい場合、前記検索文から前記検索文脈情報を生成し、前記類似度を求め、前記１個の意味構造を特定することを特徴とする付記７又は８記載の類似文書検索装置。
（付記１０）
前記複数の文に対する前記意味解析を行って、前記複数個の意味構造を生成し、前記複数個の意味構造それぞれに対する前記複数の文脈情報を生成し、前記複数個の意味構造と前記複数の文脈情報との前記対応関係を生成する対応関係生成部をさらに備えることを特徴とする付記６乃至９のいずれか１項に記載の類似文書検索装置。
（付記１１）
コンピュータが、
検索文から、前記検索文における単語又は意味記号の出現頻度を表す検索文脈情報を生成し、
複数の文書に含まれる複数の文に対する意味解析を行って、前記複数の文各々に含まれる複数の意味記号の間の関係種別に基づき、３個以上の意味記号と前記３個以上の意味記号の間の関係種別とを含む意味構造を複数個生成し、前記複数の文書のうち前記複数個の意味構造それぞれにマッチする文書群における単語又は意味記号の出現頻度を表す複数の文脈情報を生成し、前記複数個の意味構造を前記複数の文脈情報にそれぞれ対応付けることで生成される、前記複数個の意味構造と前記複数の文脈情報との対応関係を参照し、
前記複数の文脈情報と前記検索文脈情報とに基づいて、前記複数個の意味構造のうち１個の意味構造を特定し、
特定した前記意味構造を用いて、前記複数の文書の中から前記検索文に類似する類似文書を検索し、
前記類似文書を示す検索結果を出力する、
ことを特徴とする類似文書検索方法。
（付記１２）
前記コンピュータは、前記検索文に含まれる複数の意味記号から３個以上の意味記号の組を生成し、前記複数の文脈情報のうち、前記検索文から生成した前記３個以上の意味記号の組を含む複数個の意味構造にそれぞれ対応付けられた複数の文脈情報各々と、前記検索文脈情報との類似度を求め、最も大きな類似度を有する文脈情報に対応付けられた意味構造を、前記１個の意味構造として特定することを特徴とする付記１１記載の類似文書検索方法。
（付記１３）
前記コンピュータは、前記検索文から生成した前記３個以上の意味記号の組の前記複数の文書における出現頻度が第１所定値よりも大きい場合、前記検索文から前記検索文脈情報を生成し、前記類似度を求め、前記１個の意味構造を特定することを特徴とする付記１２記載の類似文書検索方法。
（付記１４）
前記コンピュータは、前記検索文から生成した前記３個以上の意味記号の組を含む複数の意味構造の間における意味の差異を示す差異度が、第２所定値よりも大きい場合、前記検索文から前記検索文脈情報を生成し、前記類似度を求め、前記１個の意味構造を特定することを特徴とする付記１２又は１３記載の類似文書検索方法。
（付記１５）
前記コンピュータは、
前記複数の文に対する前記意味解析を行って、前記複数個の意味構造を生成し、
前記複数個の意味構造それぞれに対する前記複数の文脈情報を生成し、
前記複数個の意味構造と前記複数の文脈情報との前記対応関係を生成する、
ことを特徴とする付記１１乃至１４のいずれか１項に記載の類似文書検索方法。
【符号の説明】
【０１２４】
１０１〜１０４  アーク
２０１  類似文書検索装置
２１１  記憶部
２１２  特定部
２１３  検索部
２１４  出力部
２２１  対応関係
４０１  対応関係生成部
４０２  インデックス生成部
４１１  記号決定部
４１２  文脈生成部
４１３  構造決定部
４２１  検索インデックス
４２２  検索キー
４２３  検索結果
５０１−１〜５０１−Ｎ  文書群
５０２−１〜５０２−Ｎ  文脈情報
１１０１  差異度計算部
１６０１  ＣＰＵ
１６０２  メモリ
１６０３  入力装置
１６０４  出力装置
１６０５  補助記憶装置
１６０６  媒体駆動装置
１６０７  ネットワーク接続装置
１６０８  バス
１６０９  可搬型記録媒体
【図１】
0006638480.tif 000002
【図２】
0006638480.tif 000003
【図３】
0006638480.tif 000004
【図４】
0006638480.tif 000005
【図５】
0006638480.tif 000006
【図６】
0006638480.tif 000007
【図７】
0006638480.tif 000008
【図８】
0006638480.tif 000009
【図９】
0006638480.tif 000010
【図１０】
0006638480.tif 000011
【図１１】
0006638480.tif 000012
【図１２】
0006638480.tif 000013
【図１３】
0006638480.tif 000014
【図１４】
0006638480.tif 000015
【図１５】
0006638480.tif 000016
【図１６】
0006638480.tif 000017