(57)【要約】【課題】入力文の類似文を高い精度で特定する。【解決手段】入力文の入力を受け付ける入力部と、検索対象文と当該検索対象文における自立語を木構造のノードとした自立語間の係り受け構造を保持する構文木とを対応付けて記憶する検索対象文記憶部と、入力文から構文木を生成する構文解析部と、複数の自立語間の係り受け構造を示す対象パタンと、対象パタンよりノード数が少ない置換パタンと、対象パタンを置換パタンに置換する置換条件と、を対応付けて記憶する置換ルール記憶部と、検索対象文の部分構文木が置換条件に一致するか否か判断する判断部と、一致すると判断した場合に、当該置換条件に対応付けられた対象パタンと一致する検索対象文の部分構文木を、置換パタンで置き換える置換部と、入力文の構文木と、置換後の検索対象文の構文木との類似度を判定する類似度判定部と、判定結果と共に置換前の検索対象文を表示する表示処理部と、を備える。【選択図】        図１
2008250388.tif 000002
【特許請求の範囲】
【請求項１】
入力文の入力を受け付ける入力手段と、
前記入力文による検索の対象となる検索対象文と、当該検索対象文における、文節毎の自立語と、前記自立語を木構造のノードとした自立語間の係り受け構造を保持する構文木と、を対応付けて記憶する文記憶手段と、
前記入力文を構文解析して、当該入力文の自立語間の係り受け構造を保持する構文木を生成する構文木生成手段と、
複数の自立語間の係り受け構造を示す第１の部分構文木パタンと、前記第１の部分構文木の言い換えとなる自立語間の係り受け構造を示す部分構文木パタンであって前記第１の部分構文木より前記ノードの数が少ない第２の部分構文木パタンと、前記第１の部分構文木パタンを前記第２の構文木パタンに置換する置換条件と、を対応付けて記憶する構文木パタン記憶手段と、
前記文記憶手段に記憶されている前記検索対象文に含まれる部分構文木が、前記構文木パタン記憶手段が記憶する前記置換条件に一致するか否か判断する判断手段と、
前記置換条件に一致すると判断した場合に、当該置換条件に対応付けられた前記第１の部分構文木パタンと一致する前記検索対象文に含まれている前記部分構文木を、当該置換条件と対応付けられた前記第２の部分構文木パタンで置き換える置換手段と、
前記構文木生成手段により生成された前記入力文の前記構文木と、前記置換手段により置き換えられた前記検索対象文の構文木との類似度を判定する類似度判定手段と、
判定された前記類似度が所定の条件を満たす場合、前記置換手段により置換される前の前記検索対象文を、検索結果として出力する出力手段と、
を備えることを特徴とする情報検索装置。
【請求項２】
前記構文木パタン記憶手段は、文の区切りとなる所定のまとまり毎に、前記第１の部分構文木パタンと、前記第２の部分構文木パタンと、前記置換条件と、を対応付けて記憶し、
前記判断手段は、前記所定のまとまり毎に、前記文記憶手段に記憶されている前記検索対象文に含まれる部分構文木が、前記構文木パタン記憶手段が記憶する前記置換条件に一致するか否か判断すること、
を特徴とする請求項１に記載の情報検索装置。
【請求項３】
前記所定のまとまり毎に前記判断手段により判断を行う順序を記憶する順序記憶手段と、をさらに備え、
前記判断手段は、前記順序記憶手段に記憶された順序で前記所定のまとまり毎に、前記文記憶手段に記憶されている前記検索対象文に含まれる部分構文木が、前記構文木パタン記憶手段が記憶する前記置換条件に一致するか否か判断すること、
を特徴とする請求項２に記載の情報検索装置。
【請求項４】
前記構文木パタン記憶手段は、前記所定のまとまり毎に、前記置換条件について複雑な係り受け構造を満たした場合に一致すると判断される複雑条件から、単純な係り受け構造を満たした場合に一致すると判断される単純条件まで複数個記憶し、
前記判断手段は、さらに、前記置換条件について前記複雑条件から前記単純条件の順に一致するか否か判断すること、
を特徴とする請求項１乃至３のいずれか一つに記載の情報検索装置。
【請求項５】
前記出力手段は、さらに、前記置換手段により前記所定のまとまり毎に、前記置換手段により前記構文木を置き換えられた前記検索対象文を出力すること、
を特徴とする請求項１乃至４のいずれか一つに記載の情報検索装置。
【請求項６】
前記構文木パタン記憶手段は、前記置換条件として、前記第１の部分構文木パタンと構造が一致する前記検索対象文の前記部分構文木に含まれるノードにおいて前記入力文が有する前記自立語を含むノードの位置の条件、及び前記部分構文木のノード間の接続関係の条件のうちいずれか一つ以上設定されていること、
を特徴とする請求項１乃至５のいずれか一つに記載の情報検索装置。
【請求項７】
入力文の入力を受け付ける入力ステップと、
前記入力文による検索の対象となる検索対象文と、当該検索対象文における、文節毎の自立語と、前記自立語を木構造のノードとした自立語間の係り受け構造を保持する構文木と、を対応付けて記憶部に記憶する文記憶ステップと、
前記入力文を構文解析して、当該入力文の自立語間の係り受け構造を保持する構文木を生成する構文木生成ステップと、
前記記憶手段に記憶されている前記検索対象文に含まれる部分構文木が、前記第１の部分構文木パタンを前記第２の構文木パタンに置換する置換条件に一致するか否か判断する判断ステップと、
前記置換条件に一致すると判断した場合に、複数の自立語間の係り受け構造を示す部分構文木であって前記置換条件と対応付けられている第１の部分構文木パタンと一致する、前記検索対象文に含まれている前記部分構文木を、当該第１の部分構文木パタンと対応付けられていると共に前記第１の部分構文木の言い換えとなる自立語間の係り受け構造を示す部分構文木パタンであって前記第１の部分構文木より前記ノードの数が少ない第２の部分構文木パタンで置き換える置換ステップと、
前記構文木生成ステップにより生成された前記入力文の前記構文木と、前記置換ステップにより置き換えられた前記検索対象文の構文木との類似度を判定する類似度判定ステップと、
判定された前記類似度が所定の基準値以上の場合、前記置換ステップにより置換される前の前記検索対象文を、検索結果として出力する出力ステップと、
を有することを特徴とする情報検索方法。
【請求項８】
入力文の入力を受け付ける入力ステップと、
前記入力文による検索の対象となる検索対象文と、当該検索対象文における、文節毎の自立語と、前記自立語を木構造のノードとした自立語間の係り受け構造を保持する構文木と、を対応付けて記憶部に記憶する文記憶ステップと、
前記入力文を構文解析して、当該入力文の自立語間の係り受け構造を保持する構文木を生成する構文木生成ステップと、
前記記憶手段に記憶されている前記検索対象文に含まれる部分構文木が、前記第１の部分構文木パタンを前記第２の構文木パタンに置換する置換条件に一致するか否か判断する判断ステップと、
前記置換条件に一致すると判断した場合に、複数の自立語間の係り受け構造を示す部分構文木であって前記置換条件と対応付けられている第１の部分構文木パタンと一致する、前記検索対象文に含まれている前記部分構文木を、当該第１の部分構文木パタンと対応付けられていると共に前記第１の部分構文木の言い換えとなる自立語間の係り受け構造を示す部分構文木パタンであって前記第１の部分構文木より前記ノードの数が少ない第２の部分構文木パタンで置き換える置換ステップと、
前記構文木生成ステップにより生成された前記入力文の前記構文木と、前記置換ステップにより置き換えられた前記検索対象文の構文木との類似度を判定する類似度判定ステップと、
判定された前記類似度が所定の条件を満たす場合、前記置換ステップにより置換される前の前記検索対象文を、検索結果として出力する出力ステップと、
をコンピュータに実行させる情報検索プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、入力された文と類似する文を出力する情報検索装置、情報検索方法及び情報検索プログラムに関するものである。
【背景技術】
【０００２】
従来から、データを検索するために様々な検索技術が提供され、広く普及している。例えば、インターネットの検索エンジンでは、利用者の検索条件に適合する文書を検索し、検索した文書を類似度に応じてランキングしている。
【０００３】
この文書検索では、利用者により入力されたキーワード、又は入力文から切り出されたキーワードに基づいて、文書を検索している。しかしながら、自然言語では、これらキーワードと同じ意味を別の言葉で表現することが可能である。
【０００４】
例えば、利用者から「読みを送信する」という検索要求文を含む文書の検索要求が行った場合、この「読みを送信する」という検索要求文を言い換えた「読みを付与し送信を実行する」（以下、文Ａとする）という文を含む文書については検出されないことになる。このため、利用者は、「読みを送信する」という検索要求文のうち、「読み」と「送信」を検索キーワードとして文書を検索することもあり得る。この場合、確かに「読みを付与し送信を実行する」（文Ａ）という文を含む文書については検出されるが、「読みを文字列から生成し、音声の送信を実行する」（以下、文Ｂとする）という「読みを送信する」と全く意味が異なる文を含む文書についても検出されることになる。この場合、利用者が意図しない文書も検出されることになるため、利用者が所望する文書を特定することが困難になる。このように、キーワードによる検索では、文Ａと文Ｂとを区別することが難しいという問題がある。
【０００５】
以下、上述した「読みを送信する」を、「読みを文字列に付与し送信を実行する」のような同じ意味内容であって異なる表現にする変換を、「パラフレーズ」と呼ぶ。
【０００６】
そして、ある表現から、同じ意味内容であって別の表現（＝パラフレーズ表現）の候補を生成することをパラフレーズ表現の生成手法と呼ぶ。このパラフレーズ表現の生成手法としては、予め保持している置換ルールに基づいて、ある表現を部分的に置換して別の表現を生成する手法がある。例えば、特許文献１に記載された技術では、複数の置換ルールを適用して置換候補を生成するという手法が提案されている。これにより、複雑なパラフレーズを実現することができる。そして、このパラフレーズ表現の生成手法を検索に応用することも考えられる。つまり、パラフレーズ表現の生成手法を用いて、検索要求文から検索対象文を生成して、当該検索対象文が検索要求文と類似していると判断した場合に、当該検索対象文を用いて検索を行うという手法が考えられる。
【０００７】
【特許文献１】特開２００３−７６６８７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００８】
しかしながら、特許文献１に記載されている技術は、書き換えルールにより、文言の変更を行っているが、自立語の数が変わるような複雑なパラフレーズを行ってはいない。このため、「読みを送信する」と「読みを文字列に付与し送信を実行する」との間のパラフレーズを行うことはできないという問題がある。
【０００９】
本発明は、上記に鑑みてなされたものであって、適切にパラフレーズ（置換）された文を取得可能な情報検索装置、情報検索方法及び情報検索プログラムを提供することを目的とする。
【課題を解決するための手段】
【００１０】
上述した課題を解決し、目的を達成するために、本発明の情報検索装置は、入力文の入力を受け付ける入力手段と、前記入力文による検索の対象となる検索対象文と、当該検索対象文における、文節毎の自立語と、前記自立語を木構造のノードとした自立語間の係り受け構造を保持する構文木と、を対応付けて記憶する文記憶手段と、前記入力文を構文解析して、当該入力文の自立語間の係り受け構造を保持する構文木を生成する構文木生成手段と、複数の自立語間の係り受け構造を示す第１の部分構文木パタンと、前記第１の部分構文木の言い換えとなる自立語間の係り受け構造を示す部分構文木パタンであって前記第１の部分構文木より前記ノードの数が少ない第２の部分構文木パタンと、前記第１の部分構文木パタンを前記第２の構文木パタンに置換する置換条件と、を対応付けて記憶する構文木パタン記憶手段と、前記文記憶手段に記憶されている前記検索対象文に含まれる部分構文木が、前記構文木パタン記憶手段が記憶する前記置換条件に一致するか否か判断する判断手段と、前記置換条件に一致すると判断した場合に、当該置換条件に対応付けられた前記第１の部分構文木パタンと一致する前記検索対象文に含まれている前記部分構文木を、当該置換条件と対応付けられた前記第２の部分構文木パタンで置き換える置換手段と、前記構文木生成手段により生成された前記入力文の前記構文木と、前記置換手段により置き換えられた前記検索対象文の構文木との類似度を判定する類似度判定手段と、判定された前記類似度が所定の条件を満たす場合、前記置換手段により置換される前の前記検索対象文を、検索結果として出力する出力手段と、を備えることを特徴とする。
【００１１】
また、本発明の情報検索方法は、入力文の入力を受け付ける入力ステップと、前記入力文による検索の対象となる検索対象文と、当該検索対象文における、文節毎の自立語と、前記自立語を木構造のノードとした自立語間の係り受け構造を保持する構文木と、を対応付けて記憶部に記憶する文記憶ステップと、前記入力文を構文解析して、当該入力文の自立語間の係り受け構造を保持する構文木を生成する構文木生成ステップと、前記記憶手段に記憶されている前記検索対象文に含まれる部分構文木が、前記第１の部分構文木パタンを前記第２の構文木パタンに置換する置換条件に一致するか否か判断する判断ステップと、前記置換条件に一致すると判断した場合に、複数の自立語間の係り受け構造を示す部分構文木であって前記置換条件と対応付けられている第１の部分構文木パタンと一致する、前記検索対象文に含まれている前記部分構文木を、当該第１の部分構文木パタンと対応付けられていると共に前記第１の部分構文木の言い換えとなる自立語間の係り受け構造を示す部分構文木パタンであって前記第１の部分構文木より前記ノードの数が少ない第２の部分構文木パタンで置き換える置換ステップと、前記構文木生成ステップにより生成された前記入力文の前記構文木と、前記置換ステップにより置き換えられた前記検索対象文の構文木との類似度を判定する類似度判定ステップと、判定された前記類似度が所定の基準値以上の場合、前記置換ステップにより置換される前の前記検索対象文を、検索結果として出力する出力ステップと、を有することを特徴とする。
【００１２】
また、本発明の情報検索プログラムは、入力文の入力を受け付ける入力ステップと、前記入力文による検索の対象となる検索対象文と、当該検索対象文における、文節毎の自立語と、前記自立語を木構造のノードとした自立語間の係り受け構造を保持する構文木と、を対応付けて記憶部に記憶する文記憶ステップと、前記入力文を構文解析して、当該入力文の自立語間の係り受け構造を保持する構文木を生成する構文木生成ステップと、前記記憶手段に記憶されている前記検索対象文に含まれる部分構文木が、前記第１の部分構文木パタンを前記第２の構文木パタンに置換する置換条件に一致するか否か判断する判断ステップと、前記置換条件に一致すると判断した場合に、複数の自立語間の係り受け構造を示す部分構文木であって前記置換条件と対応付けられている第１の部分構文木パタンと一致する、前記検索対象文に含まれている前記部分構文木を、当該第１の部分構文木パタンと対応付けられていると共に前記第１の部分構文木の言い換えとなる自立語間の係り受け構造を示す部分構文木パタンであって前記第１の部分構文木より前記ノードの数が少ない第２の部分構文木パタンで置き換える置換ステップと、前記構文木生成ステップにより生成された前記入力文の前記構文木と、前記置換ステップにより置き換えられた前記検索対象文の構文木との類似度を判定する類似度判定ステップと、判定された前記類似度が所定の条件を満たす場合、前記置換ステップにより置換される前の前記検索対象文を、検索結果として出力する出力ステップと、をコンピュータに実行させる。
【発明の効果】
【００１３】
本発明によれば、入力された文と類似する検索対象文を高い精度で特定できるという効果を奏する。
【発明を実施するための最良の形態】
【００１４】
以下に添付図面を参照して、この発明にかかる情報検索装置、情報検索方法及び情報検索プログラムを情報検索装置に適用した最良な実施の形態を詳細に説明する。
【００１５】
（第１の実施の形態）
図１に示すように、情報検索装置１００は、検索対象文記憶部１０１と、置換ルール記憶部１０２と、置換順序記憶部１０３と、置換履歴格納部１０４と、入力部１０５と、構文解析部１０６と、文節特定部１１１と、判断部１０７と、置換部１０８と、類似度判定部１０９と、表示処理部１１０と、検索要求文一致文節記憶部１１２とを備える。
【００１６】
検索対象文記憶部１０１は、利用者により入力された検索要求文による検索の対象となる検索対象文についての構文解析結果を予め記憶している。図２に示すように、検索対象文管理テーブルでは、文ＩＤと、検索対象文と、文節ＩＤと、文節の自立語と、当該自立語の品詞と、親ＩＤと、次の文節との関係と、一致文節ＩＤとを対応付けて保持している。
【００１７】
文ＩＤは、検索対象文毎に割り当てられたＩＤとする。文節ＩＤは、検索対象文の文節毎に割り当てられたＩＤとする。関係は、次の文節との関係が格納されており、例えば、「の」、「を」、「並列」、「隣」等とする。なお、一致文節ＩＤは初期状態では空欄としておき、後述する処理を行う際に利用される。親ＩＤは、親の文節を示す文節ＩＤを格納する。つまり、検索対象文管理テーブルでは、この親ＩＤにより、検索対象文の構文解析結果となる構文木の構造を格納している。次に符号２０１で示される文ＩＤ“１”の構文木の構造について示す。
【００１８】
図３に示す文ＩＤ“１”の構文木は、文ＩＤ“１”についての構文木であり、図２に示された検索対象文管理テーブルのフィールド情報である親ＩＤに基づいて構文木構造を実現している。図３に示すように、「実行（文節ＩＤ“４”）」の下に、「付与（文節ＩＤ“２”）」と、「送信（文節ＩＤ“３”）」と、が関連付けされている。さらに、「付与（文節ＩＤ“２”）」の下に「読み（文節ＩＤ“１”）」が関連付けされている。後述する処理では、このような構文木構造を用いてパラフレーズ処理を行うものとしている。
【００１９】
置換ルール記憶部１０２は、後述する置換部１０８が行うパラフレーズに用いる置換ルールを格納している。当該置換ルールに従って、検索対象文のパラフレーズが行われる。図４に示すように、置換ルール管理テーブルは、分類ＩＤと、ルールＩＤと、対象パタンと、置換パタンと、係り受け条件と、品詞条件と、一致条件とを対応付けて保持している。なお、分類とは、文の区切りとなる所定のまとまりをいう。本実施の形態では分類として、名詞句、動詞句、格共有等とする。
【００２０】
分類ＩＤは、上述した分類毎に割り当てられたＩＤとする。ルールＩＤは、分類毎に設定された各置換ルールに割り当てられたＩＤとする。そして、ルールＩＤの数が小さい方については、係り受け構造等が複雑な置換ルールが設定されており、ルールＩＤの数が大きい方については、係り受け構造等が簡単な置換ルールが設定されているものする。つまり、検索対象文において複雑な置換ルールに一致すれば当該置換ルールと対応付けられた置換を行い、複雑な置換ルールに一致しなかった場合には単純な置換ルールと一致するか否か判断を行い、当該単純な置換ルールと一致した場合に当該置換ルールと対応付けられた置換を行うことになる。このように複雑な置換ルールから順に一致するか否か判断することで、構文木を置換する精度を向上させることができる。
【００２１】
対象パタンは、検索対象文に対して適用する自立語間の係り受け構造を示す構文木のパタンとする。置換パタンは、検索対象文に含まれている部分構文木が対象パタンと一致するとともに後述する置換条件を満足した場合に実行する置換処理後の構文木のパタンとする。対象パタン及び置換パタンの「−」は２つの単語間に係り受け関係が存在していることを示している。図４に示すように対象パタンより置換パタンの方がノード数を少なく設定されている。なお、対象パタンの構文木と置換パタンの構文木は、ノード数こそ異なるが意味的には言い換えとなるものである。これにより、当該複数のパタンを用いて検索対象文を置換しても言い換え関係が成立することになる。
【００２２】
図５に示す例は、図４のレコード４０１の対象パタンの構文木と、置換パタンの構文木とを示した例であり、所定の条件を満たした場合に、対象文に含まれている対象パタンの構文木が、置換パタンの構文木に置換される。
【００２３】
図４に戻り、置換ルール管理テーブルの係り受け条件、品詞条件、一致条件は、検索対象文において、検索要求文が有する自立語を残すと共に対象パタンを置換パタンに置換するための置換条件として設定されている。これら全ての置換条件を満たした場合、検索対象文に対して置換処理が行われることになる。係り受け条件は、文節間の係り受け（関係）についての条件が示されている。例えばレコード４０１を用いた場合、後述する判断部１０７は、文節Ｂ―Ａ間の係り受けが「の」又は「隣」の場合に条件を満たしていると判断する。品詞条件は、各文節の自立語の品詞の条件が示されている。一致条件は、検索対象文の各文節の自立語が、検索要求文の文節の自立語と一致しているか否かを条件として設定されている。「不一致」は検索要求文の文節の自立語と一致していないことを示し、「一致」は検索要求文の文節の自立語と一致していることを示している。
【００２４】
つまり、レコード４０１の分類ＩＤ＝２、ルールＩＤ＝１の置換ルールは、名詞Ｂが名詞Ａに係り、名詞Ａが単語(品詞は任意のものとする)Ｃに係るパタンを検索対象文に含まれている場合に、後述する判断部１０７は、これら文節間において名詞Ｂと名詞Ａの関係が「の」又は「隣」であり、名詞Ｂは検索要求文の文節と一致し、名詞Ａは検索要求文の文節と不一致したのであれば、置換条件を満たしていると判断する。そして、後述する置換部１０８は、検索対象文の名詞Ｂが名詞Ａに係り、名詞Ａが単語Ｃに係るパタンを、名詞Ｂが単語Ｃに係るパタンに置換する。
【００２５】
置換順序記憶部１０３は、上述した置換ルールが設定されている分類の呼び出し順序を保持する置換順序管理テーブルを格納している。図６に示すように、置換順序管理テーブルは、分類ＩＤと、ルール分類とを対応付けて保持している。そして、本実施の形態にかかる情報検索装置１００では、当該置換順序管理テーブルの上のレコードから順に、置換処理を行うこととする。つまり、最初に動詞句の置換ルールで処理を行い、次に名詞句の置換ルールで処理を行い、最後に格共有の置換ルールで処理を行うことになる。
【００２６】
入力部１０５は、利用者から検索要求文の入力を受け付け、入力された検索要求文の入力処理を行う。
【００２７】
構文解析部１０６は、入力部１０５が入力処理した検索要求文に対して構文解析を行い、当該検索要求文の文節毎の自立語間の係り受け構造を示した構文木を生成する。また、各文節の自立語の品詞の判定処理も行う。次に、入力部１０５が「読みを送信する」という検索要求文を入力処理した場合に、構文解析部１０６が行った構文解析結果について説明する。
【００２８】
図７に示すように構文解析部１０６は、検索要求文が２つの文節を含み、これら文節である名詞「読み」と、動詞「送信する」との間に係り受け関係が存在していると解析する。構文解析部１０６は、さらに当該係り受けの関係を「を」と解析する。
【００２９】
文節特定部１１１は、検索対象文と検索要求文との間で一致（または類義にあたる単語として別途登録されている単語と一致）する自立語を含む文節を特定する。そして、文節特定部１１１は、一致する自立語を含む文節を特定した場合に、一致した自立語を含む検索要求文の文節を示す文節ＩＤを、一致文節ＩＤとして検索対象文記憶部１０１の検索対象文管理テーブルに格納する。なお、詳細な処理手順については後述する。
【００３０】
また、文節特定部１１１は、一致する自立語を含む文節を特定した場合に、一致した自立語を含む検索対象文の文節を示す文節ＩＤを、検索要求文の一致文節ＩＤとして検索要求文一致文節記憶部１１２の検索要求文一致文節管理テーブルに格納する。
【００３１】
検索要求文一致文節記憶部１１２は、検索要求文一致文節管理テーブルを記憶する。検索要求文一致文節管理テーブルは、検索要求文の文節毎に、検索対象文の一致した文節を対応付けて保持する。なお、検索要求文一致文節管理テーブルのテーブル構造については後述する。
【００３２】
判断部１０７は、置換順序記憶部１０３に格納されている分類順に、文節特定部１１１に自立語が一致すると特定された文節、及び置換ルール記憶部１０２に記憶された当該分類の置換ルールを用いて、対象パタンを置換パタンに置換する置換条件を満たしているか否か判断する。なお、詳細な処理手順については後述する。
【００３３】
置換部１０８は、判断部１０７により置換条件を満たしていると判断された場合に、検索対象文に含まれている部分構文木のうち、置換ルール記憶部１０２に格納されている対象パタンに一致する部分構文木を、置換パタンとして示されている部分構文木に置換する処理を行う。そして、置換部１０８は、置換処理したあとの検索対象文を後述する置換履歴格納部１０４に格納する。なお、詳細な処理手順については後述する。
【００３４】
また、本実施の形態では、判断部１０７及び置換部１０８は、検索対象文記憶部１０１に格納されている全ての検索対象文に対して処理を行うが、このような処理に制限するものではない。例えば、検索要求文に類似しそうな検索対象文を予め抽出してから、判断部１０７及び置換部１０８による処理を行ってもよい。
【００３５】
置換履歴格納部１０４は、置換部１０８により行われた置換処理後の検索対象文を処理ステップ毎に格納している。なお、格納された後のデータ等については後述する。
【００３６】
類似度判定部１０９は、置換履歴格納部１０４に格納された置換処理後の検索対象文と、利用者により入力された検索要求文との間の類似度を判定する。詳細な類似度判定手法については後述する。
【００３７】
表示処理部１１０は、検索対象文を、類似度判定部１０９による判定結果と共に、検索対象文を表示処理、つまり後述する表示部に出力する処理を行う。また、表示処理部１１０は、検索対象文を表示処理する際、置換履歴格納部１０４に格納された分類毎の置換結果を表示処理する。
【００３８】
次に、図１に示す情報検索装置１００が行う全体の処理手順について、図８を用いて説明する。
【００３９】
まず、入力部１０５は、検索要求文の入力処理を行う（ステップＳ８０１）。次に、構文解析部１０６は、入力処理された検索対象文に対して構文解析を行い、検索対象文の構文木を生成する（ステップＳ８０２）。
【００４０】
そして、文節特定部１１１は、検索対象文と検索要求文との間で一致する自立語を含む文節を特定する（ステップＳ８０３）。そして、文節特定部１１１は、一致する自立語を含む文節を特定した場合に、一致した自立語を含む検索要求文の文節を示す文節ＩＤを、一致文節ＩＤとして検索対象文記憶部１０１の検索対象文管理テーブルに格納する。
【００４１】
次に、判断部１０７及び置換部１０８は、検索対象文に含まれる部分構文木の置換処理を行う（ステップＳ８０４）。
【００４２】
そして、類似度判定部１０９は、ステップＳ８０４で置換された検索対象文と、検索要求文との間で類似度を判定する（ステップＳ８０５）。
【００４３】
そして、表示処理部１１０は、類似度判定部１０９による判定結果に基づいて、検索対象文の表示処理を行う（ステップＳ８０６）。
【００４４】
次に、図８のステップＳ８０３に示した文節特定部１１１における検索対象文と検索要求文との間で一致する自立語を含む文節を特定する処理手順について、図９を用いて説明する。
【００４５】
まず、文節特定部１１１は、変数ｉ及び変数ｊに初期値として‘１’を設定する（ステップＳ９０１）。
【００４６】
次に、文節特定部１１１は、検索要求文の文節ＩＤ“ｉ”の自立語と、現在処理対象である検索対象文の文節ＩＤ“ｊ”の自立語とが一致するか否か判断する（ステップＳ９０２）。また、文節特定部１１１は、一致しないと判断した場合（ステップＳ９０２：Ｎｏ）、これら文節ＩＤ間について特に設定処理を行わない。
【００４７】
そして、文節特定部１１１は、各自立語が一致すると判断した場合（ステップＳ９０２：Ｙｅｓ）、検索要求文の文節ＩＤ“ｉ”の一致文節ＩＤとして“ｊ”を設定する（ステップＳ９０３）。そして、文節特定部１１１は、当該一致文節ＩＤを、検索要求文一致文節管理テーブルに登録する。
【００４８】
図１０に示すように、検索要求文一致文節管理テーブルは、検索要求文の各文節ＩＤに対して、検索対象文の文ＩＤ毎に一致した文節ＩＤである一致文節ＩＤを格納している。
【００４９】
図９に戻り、文節特定部１１１は、検索対象文の文節ＩＤ“ｊ”の一致文節ＩＤとして“ｉ”を設定する（ステップＳ９０４）。そして、文節特定部１１１は、当該一致文節ＩＤを、検索対象文管理テーブルに登録する。
【００５０】
図１１に示すように、各検索対象文の文節ＩＤと対応付けられた一致文節ＩＤに、一致した検索要求文の文節ＩＤを登録している。
【００５１】
図９に戻り、文節特定部１１１は、検索対象文に処理を行っていない文節があるか否か判断する（ステップＳ９０５）。あると判断した場合（ステップＳ９０５：Ｙｅｓ）、変数ｊに“１”追加し（ステップＳ９０６）、再びステップＳ９０２から処理を行う。
【００５２】
そして、文節特定部１１１は検索対象文の全ての文節に対して処理を行ったと判断した場合（ステップＳ９０５：Ｎｏ）、検索要求文に処理を行っていない文節があるか否か判断する（ステップＳ９０７）。あると判断した場合（ステップＳ９０７：Ｙｅｓ）、検索対象文の処理対象の文節ＩＤを示す変数ｊに初期値‘１’を設定すると共に、変数ｉに“１”追加し（ステップＳ９０８）、再びステップＳ９０２から処理を行う。
【００５３】
次に、文節特定部１１１は、検索要求文の全ての文節に対して処理を行ったと判断した場合（ステップＳ９０７：Ｎｏ）、処理を行っていない検索対象文があるか否か判断する（ステップＳ９０９）。あると判断した場合（ステップＳ９０９：Ｙｅｓ）、文節特定部１１１は、処理を行っていない検索対象文を、処理対象に設定し（ステップＳ９１０）、再びステップＳ９０１から処理を行うこととする。
【００５４】
そして、文節特定部１１１は、全ての検索対象文に対して処理を行ったと判断した場合（ステップＳ９０９：Ｎｏ）、処理を終了する。
【００５５】
上述した処理手順により、検索対象文の文節と、検索要求文の文節とについて、同じ自立語を含む文節間で対応付けられたことになる。
【００５６】
次に、図８のステップＳ８０４に示した判断部１０７及び置換部１０８による検索対象文に含まれる部分構文木の置換処理手順について、図１２を用いて説明する。
【００５７】
まず、判断部１０７は、検索対象文記憶部１０１の最初（文ＩＤ＝１）の検索対象文の第１の文節（文節ＩＤ＝１）を処理対象として設定する（ステップＳ１２０１）。なお、判断部１０７は、置換順序記憶部１０３に記憶された順序に従って分類ＩＤ“１”から順に処理を行うこととする。
【００５８】
次に、判断部１０７は、処理対象の文節を含む構文木において、当該分類の所定の置換ルール（最初はルールＩＤ‘１’の置換ルール）の条件と一致するか否か判断する（ステップＳ１２０２）。図４に示した置換ルール管理テーブルでは、処理対象として着目されている文節を対象パタンのＡの相当しているものとする。そして、判断部１０７は、対象パタンの係り受け構造が成り立つと共に、当該対象パタンと対応付けられている係り受け条件、品詞条件、及び一致条件を満足している場合に置換ルールの条件と一致していると判断する。
【００５９】
そして、判断部１０７が置換ルールの条件と一致していないと判断した場合（ステップＳ１２０２：Ｎｏ）、当該分類において他の置換ルールがあるか否か判断する（ステップＳ１２０３）。そして、判断部１０７は、他の置換ルールがあると判断した場合（ステップＳ１２０３：Ｙｅｓ）、当該他の置換ルールを次に用いる置換ルールとして設定する（ステップＳ１２０４）。図４に示した置換ルールでは、例えば分類ＩＤ‘１’においては２つの置換ルールが存在するため、ルールＩＤ‘１’の条件に一致しなかった場合に、ルールＩＤ‘２’の条件に一致するか否かの判断が行われることになる。このように小さい数のルールＩＤから順に一致するか否かを判断していくことになる。
【００６０】
そして、置換ルール管理テーブルでは、数が小さいルールＩＤほど、置換条件が複雑なものであり、ルールＩＤの数が大きくなるほど置換条件が単純になるように設定している（例えば分類ＩＤ＝３の置換ルール参照）。これにより、複雑な置換条件に一致した場合に当該複雑な置換条件と対応付けられた置換処理が適用され、単純な置換条件と対応付けられた置換処理は適用されないことになる。このように置換ルールに優先順位を設定したことで、本実施の形態にかかる情報検索装置１００では、検索対象文の構文木に対して、より適切な置換（パラフレーズ）が可能となる。
【００６１】
また、判断部１０７は、置換ルールで設定されている置換条件と一致していると判断した場合（ステップＳ１２０２：Ｙｅｓ）、置換部１０８は、検索対象文において、当該所定の置換ルールと対応付けられた対象パタンと一致する部分構文木を、当該所定の置換ルールと対応付けられた置換パタンに一致する構文木に置換する処理を行う（ステップＳ１２０５）。
【００６２】
そして、置換部１０８は、置換履歴格納部１０４に対して、当該置換履歴格納部１０４に格納されていない文節のうち、置換された構文木までの文節を格納する（ステップＳ１２０６）。
【００６３】
判断部１０７が当該分類において他の置換ルールがないと判断した場合（ステップＳ１２０３：Ｎｏ）又はステップＳ１２０６の処理が終了した後、判断部１０７は、処理対象の検索対象文中に処理を行っていない文節があるか否かを判断する（ステップＳ１２０７）。処理を行っていない文節があると判断した場合(ステップＳ１２０７：Ｙｅｓ)、処理対象であった文節の次の文節を、処理対象として設定する（ステップＳ１２０８）。そして、再びステップＳ１２０２から処理を行う。
【００６４】
そして、判断部１０７が全ての文節について処理が終了したと判断した場合(ステップＳ１２０７：Ｎｏ)、置換されなかったため当該置換履歴格納部１０４に格納されていない文節を、置換履歴格納部１０４に格納する（ステップＳ１２０９）。
【００６５】
次に、判断部１０７は、当該検索対象文に対して、処理を行っていない分類があるか否か判断する（ステップＳ１２１０）。そして、判断部１０７は処理を行っていない分類があると判断した場合（ステップＳ１２１０：Ｙｅｓ）、置換順序記憶部１０３に記憶された分類の順序に従って、次の分類を処理対象として設定する（ステップＳ１２１１）。
【００６６】
また、判断部１０７は全ての分類において処理を行ったと判断した場合（ステップＳ１２１０：Ｎｏ）、処理を行っていない検索対象文があるか否か判断する（ステップＳ１２１２）。そして、処理を行っていない検索対象文があると判断した場合（ステップＳ１２１２：Ｙｅｓ）、処理を行っていない検索対象文を次の処理対象として設定する（ステップＳ１２１３）。さらに、判断部１０７は、置換順序記憶部１０３で設定された最初の分類の最初の置換ルールを用いてステップＳ１２０２から処理を再開する。
【００６７】
そして、判断部１０７は、処理を行っていない検索対象文がないと判断した場合（ステップＳ１２１２：Ｙｅｓ）、処理を終了する。
【００６８】
図１３−１〜図１３−４に示すように、検索対象文毎に、置換順序記憶部１０３に記憶された分類順に置換された後の検索対象文の構文木が格納されている。このように処理ステップ（分類）毎に置換された履歴が格納されているので、分類毎にどのような置換が行われたのか特定することができる。
【００６９】
次に、図８のステップＳ８０５に示した類似度判定部１０９による置換された検索対象文と、検索要求文との間で類似度を判定処理手順について、図１４を用いて説明する。なお、図１４の示す処理手順は、検索対象文毎に行われるものとする。
【００７０】
まず、類似度判定部１０９は、変数ｉに初期値として‘１’を設定する（ステップＳ１４０１）。次に、類似度判定部１０９は、リンク一致数に初期値として‘０’を設定する（ステップＳ１４０２）。また、リンク一致数とは、置換処理後の検索対象文と検索要求文との間で文節に含まれる自立語と、当該文節の親の文節に含まれる自立語とが一致した数を示したものである。当該リンク一致数が所定の基準値以上の場合に、検索対象文と検索要求文とが類似しているものと判断する。
【００７１】
そして、類似度判定部１０９は、検索要求文一致文節管理テーブルを参照して、検索要求文の文節ＩＤ“ｉ”で一致文節ＩＤがあるか否かを判断する（ステップＳ１４０３）。この際、類似度判定部１０９は一致文節ＩＤがあると判断した場合（ステップＳ１４０３：Ｙｅｓ）、当該一致文節ＩＤを変数“ｊ”に設定する（ステップＳ１４０４）。
【００７２】
次に、類似度判定部１０９は、検索要求文の文節ＩＤ“ｉ”の親文節ＩＤの一致文節ＩＤが、置換部１０８により置換された後の検索対象文の文節ＩＤ“ｊ”の親文節ＩＤと一致するか否か判断する（ステップＳ１４０５）。一致しないと判断した場合（ステップＳ１４０５：Ｎｏ）、特に処理を行わない。
【００７３】
そして、類似度判定部１０９は、一致すると判断した場合（ステップＳ１４０５：Ｙｅｓ）、リンク一致数に１追加する（ステップＳ１４０６）。
【００７４】
次に、類似度判定部１０９は、検索要求文に上述した処理を行っていない文節があるか否か判断する（ステップＳ１４０７）。そして、文節があると判断した場合（ステップＳ１４０７：Ｙｅｓ）、変数ｉに‘１’追加して（ステップＳ１４０８）、ステップＳ１４０３から処理を再開する。
【００７５】
また、類似度判定部１０９は、全ての文節に対して上述した処理を行ったと判断した場合（ステップＳ１２０７：Ｎｏ）、現在のリンク一致数を類似度判定結果として設定した後（ステップＳ１４０９）、処理を終了する。
【００７６】
上述した処理を行うことで、検索対象文毎に、算出されたリンク一致数を類似度判定結果として取得したことになる。そして、表示処理部１１０は、当該類似度検索結果が所定の基準値以上の場合に類似していると判断し、類似していることを視認できるように表示処理する。
【００７７】
本実施の形態では、所定の基準値を‘１’とする。そして、図１３―１〜図１３−４に示した置換された後の検索対象文に対して、図１４に示した処理を行うと、文ＩＤ＝１、３及び４の類似度判定結果が‘１’以上となるが、文ＩＤ＝２の類似度判定結果は‘０’となる。
【００７８】
そこで、表示処理部１１０は、文ＩＤ＝１、３及び４の検索対象文については類似する旨を表示し、文ＩＤ＝２の検索対象文については非類似である旨を表示する。
【００７９】
図１５に示すように、表示処理部１１０は、類似している文ＩＤ＝１、３及び４に対しては類似している旨を示す‘○’を表示し、文ＩＤ＝２に対しては非類似である旨を示す‘×’を表示する。さらに表示処理部１１０は、置換履歴格納部１０４を参照して、分類毎の置換過程を表示する。
【００８０】
図１５の例に示すように、表示処理部１１０は、文ＩＤ‘１’の文に対して、「読みを付与し、送信を実行する」から、「読みを付与し、送信する」を経由して「読みを送信する」までの置換過程の表示を行う。
【００８１】
また、表示処理部１１０は、文ＩＤ‘２’の文に対して、「読みを生成し、音声の送信を実行する」から「読みを生成し、音声を送信する」までの置換過程の表示を行う。
【００８２】
また、表示処理部１１０は、文ＩＤ‘３’の文に対して、「漢字の読み情報を付与し、送信する」から、「読みを付与し、送信する」を経由して「読みを送信する」までの置換過程の表示を行う。
【００８３】
また、表示処理部１１０は、文ＩＤ‘４’の文に対して、「漢字の読み情報を付与し、送信を実行する」から、「漢字の読み情報を付与し、送信する」を経由して、「読みを付与し、送信する。」までの置換過程の表示を行う。
【００８４】
本実施の形態では、置換順序記憶部１０３に格納された分類順（動詞句、名詞句、格共有）に置換を行うこととした。これは、最初に動詞句について置換を行うことで、不要な自立語を含む文節を削除した後で、名詞句、格共有の順にパラフレーズを行うことを目的としたものである。
【００８５】
ここで仮に、置換順序記憶部１０３において、分類の呼出順序で、動詞句と格共有との呼出順序を反対にした場合、格共有の処理が先に行われることになる。その場合、文ＩＤ‘１’の文において、不要な文節が削除されていないため、格共有処理を行うための条件を満たさなくなる。このため、文ＩＤ‘１’の検索対象文「読みを付与し、送信を実行する」は、格共有の分類による置換が行われることなく処理が終了する。
【００８６】
上述した実施の形態にかかる情報検索装置１００では、高い精度で検索要求文に類似する検索対象文を特定することが可能となる。これにより、例えば、利用者により入力された検索要求文を言い換えた検索対象文を含む文書を検索することが可能となる。
【００８７】
また、本実施の形態にかかる情報検索装置１００では、置換順序記憶部１０３において、分類の呼出順序を置換するために適切な順序で設定しているため、より高い精度で置換することを可能としている。
【００８８】
また、本実施の形態にかかる情報検索装置１００では、分類毎の置換過程をひとまとめにして表示処理している。これに対して、置換過程をひとまとめに表示しない場合、文ＩＤ‘４’の文では、検索対象文「漢字の読み情報を付与し、送信を実行する」から、置換過程として、「漢字の読み情報を付与し、送信する」、「読み情報を付与し、送信する。」、「読みを付与し、送信する。」が表示された後、置換結果として「読みを送信する」を表示することになる。この場合、表示が煩雑になるので、処理の過程を利用者が容易に認識することが困難となる。これに対して本実施の形態にかかる情報検索装置１００では、分類語との置換過程をひとまとめで表示しているので、置換過程の表示が煩雑になることを防止し、置換過程を利用者が容易に認識することが可能となる。
【００８９】
このように、本実施の形態にかかる情報検索装置１００では、置換ルール記憶部１０２に置換ルールを分類毎に記憶し、置換処理についても分類毎に行うこととした。このため、置換ルールの適用順序の制御を可能とすると共に、置換ルールを用いた置換過程を適切な粒度毎にまとめて表示することを可能としている。
【００９０】
これにより、検索要求文を言い換えた多様なパラフレーズ表現の検索と、当該検索結果の妥当性を容易に確認することができる。
【００９１】
なお、本実施の形態にかかる情報検索装置１００では、検索対象文をすべて表示しているが、このような表示形式に限らず、例えば上述した処理により類似すると判定された検索対象文のみを表示してもよい。さらに、本発明はその趣旨を逸脱しない範囲内で種々の応用が可能である。
【００９２】
図１６に示すように、情報検索装置１００は、ハードウェア構成として、上述した処理を行う情報出力プログラムなどが格納されているＲＯＭ１６０２と、ＲＯＭ１６０２内のプログラムに従って当該装置の各部を制御するＣＰＵ１６０１と、当該装置の制御に必要な種々のデータを記憶するＲＡＭ（Random Access Memory）１６０３と、上述した処理結果等を表示する表示部１６０５と、ネットワークに接続する通信Ｉ／Ｆ１６０４と、ハードディスクなどの外部記憶装置１６０６と、利用者が入力する際に用いる入力デバイス１６０７と、各部を接続するバス１６０８と、を備えている。また、情報検索装置１００は、上述した構成を備えた一般的なコンピュータに適用することができる。
【００９３】
上述した実施の形態にかかる情報検索装置１００で実行される情報出力プログラムは、インストール可能な形式又は実行可能な形式のファイルでＣＤ−ＲＯＭ、フレキシブルディスク（ＦＤ）、ＣＤ−Ｒ、ＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｋ）等のコンピュータで読み取り可能な記録媒体に記録されて提供される。
【００９４】
この場合には、情報出力プログラムは、情報検索装置１００の各装置において上記記録媒体から読み出して実行することにより主記憶装置上にロードされ、上記ソフトウェア構成で説明した各部が主記憶装置上に生成されるようになっている。
【００９５】
また、上述した実施の形態にかかる情報検索装置１００で実行される情報出力プログラムを、インターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するように構成しても良い。また、上述した実施の形態にかかる情報検索装置１００で実行される情報出力プログラムをインターネット等のネットワーク経由で提供または配布するように構成しても良い。
【００９６】
また、本実施形態の情報出力プログラムを、ＲＯＭ等に予め組み込んで提供するように構成してもよい。
【図面の簡単な説明】
【００９７】
【図１】第１の実施の形態にかかる情報検索装置の構成を示すブロック図である。
【図２】検索対象文記憶部が記憶する検索対象文管理テーブルのテーブル構造を示した図である。
【図３】検索対象文管理テーブルに格納された文ＩＤ“１”の構文木のツリー構造を示した図である。
【図４】置換ルール記憶部が保持する置換ルール管理テーブルのテーブル構造を示した図である。
【図５】置換前に部分構文木に対応する対象パタンの構文木と、置換後の部分構文木に対応する置換パタンの構文木とを示した説明図である。
【図６】置換順序管理テーブルのテーブル構造を示した図である。
【図７】構文解析部による検索要求文「読みを送信する」の構文解析結果を示した図である。
【図８】情報検索装置が行う全体の処理手順を示すフローチャートである。
【図９】文節特定部における検索対象文と検索要求文との間で一致する自立語を含む文節を特定する処理手順を示すフローチャートである。
【図１０】検索要求文一致文節管理テーブルのテーブル構造を示した図である。
【図１１】一致文節ＩＤを追加した後の検索対象文管理テーブルを示した図である。
【図１２】判断部及び置換部による検索対象文に含まれる部分構文木の置換処理手順を示すフローチャートである。
【図１３−１】分類毎に置換された文ＩＤ“１”の検索対象文を、置換履歴格納部に格納したテーブル構造の例を示した図である。
【図１３−２】分類毎に置換された文ＩＤ“２”の検索対象文を、置換履歴格納部に格納したテーブル構造の例を示した図である。
【図１３−３】分類毎に置換された文ＩＤ“３”の検索対象文を、置換履歴格納部に格納したテーブル構造の例を示した図である。
【図１３−４】分類毎に置換された文ＩＤ“４”の検索対象文を、置換履歴格納部に格納したテーブル構造の例を示した図である。
【図１４】類似度判定部による置換された検索対象文と、検索要求文との間で類似度の判定処理手順を示すフローチャートである。
【図１５】表示処理部が表示する検索結果の例を示す図である。
【図１６】情報検索装置のハードウェア構成を示す図である。
【符号の説明】
【００９８】
１００  情報検索装置
１０１  検索対象文記憶部
１０２  置換ルール記憶部
１０３  置換順序記憶部
１０４  置換履歴格納部
１０５  入力部
１０６  構文解析部
１０７  判断部
１０８  置換部
１０９  類似度判定部
１１０  表示処理部
１１１  文節特定部
１１２  検索要求文一致文節記憶部
１６０１  ＣＰＵ
１６０２  ＲＯＭ
１６０３  ＲＡＭ
１６０４  通信Ｉ／Ｆ
１６０５  表示部
１６０６  外部記憶装置
１６０７  入力デバイス
１６０８  バス
【図１】
2008250388.tif 000003
【図２】
2008250388.tif 000004
【図３】
2008250388.tif 000005
【図４】
2008250388.tif 000006
【図５】
2008250388.tif 000007
【図６】
2008250388.tif 000008
【図７】
2008250388.tif 000009
【図８】
2008250388.tif 000010
【図９】
2008250388.tif 000011
【図１０】
2008250388.tif 000012
【図１１】
2008250388.tif 000013
【図１２】
2008250388.tif 000014
【図１３−１】
2008250388.tif 000015
【図１３−２】
2008250388.tif 000016
【図１３−３】
2008250388.tif 000017
【図１３−４】
2008250388.tif 000018
【図１４】
2008250388.tif 000019
【図１５】
2008250388.tif 000020
【図１６】
2008250388.tif 000021