(57)【特許請求の範囲】
【請求項１】
検索対象の文書集合からキーワード候補を抽出する抽出部と、
抽出された２つのキーワード候補の組み合わせについて、一のキーワード候補が他のキーワード候補とともに前記文書集合内の同一文書に出現する確率である共起確率を算出する算出部と、
前記共起確率が第１条件を満たす２つのキーワード候補の組み合わせである共起キーワード組を検出する第１検出部と、
前記共起キーワード組の一方のキーワード候補を見出し語、他方のキーワード候補を共起語とする辞書要素の集合である共起辞書を生成する第１生成部と、
入力文字列を補完して前記共起キーワード組に含まれるキーワード候補を得るための規則である文字列補完規則を生成する第２生成部と、
前記文字列補完規則に従って入力文字列を補完することで得られるキーワード候補を入力キーワードと認識する第１認識部と、
前記共起辞書を参照し、前記入力キーワードを見出し語とする辞書要素の共起語を取得し、取得した共起語を見出し語とする辞書要素の共起語を取得する処理を繰り返す共起伝播部と、
前記共起確率がゼロとなる２つのキーワード候補の組み合わせであるゼロ共起キーワード組を検出する第２検出部と、
前記ゼロ共起キーワード組の一方のキーワード候補を見出し語、他方のキーワード候補をゼロ共起語とする辞書要素の集合であるゼロ共起辞書を生成する第３生成部と、
前記ゼロ共起辞書を参照し、前記入力キーワードと前記共起伝播部による処理により取得される共起語とを繋げたワード列の中に、前記ゼロ共起キーワード組を構成する２つのキーワード候補を同時に含むワード列が存在する場合は、該ワード列を除外し、残りのワード列のうち、第２条件を満たすワード列を提案ワード列と認識する第２認識部と、
前記提案ワード列を提示する提示部と、
提示した前記提案ワード列が選択された場合に、該提案ワード列に基づいて検索式を生成して前記文書集合に対する検索を行う検索部と、を備えることを特徴とする検索支援装置。
【請求項２】
前記共起伝播部は、前記入力キーワードを見出し語とする辞書要素の共起語を１段共起語とし、Ｌ−１段共起語（Ｌは２以上の自然数）を見出し語とする辞書要素の共起語をＬ段共起語としたときに、Ｌを１ずつ増加させながら前記Ｌ段共起語を取得する処理を繰り返し、前記入力キーワードと前記１段共起語との間の共起確率に対して、前記Ｌ−１段共起語と前記Ｌ段共起語との間の共起確率を順次積算した値である積算共起確率が第１閾値以下になると前記処理を停止することを特徴とする請求項１に記載の検索支援装置。
【請求項３】
前記第２認識部は、前記入力キーワードと前記共起伝播部が前記処理を継続している間に取得された共起語とを繋げたワード列のうち、前記積算共起確率が大きい順に上位Ｎ件（Ｎは予め定めた自然数）のワード列を前記提案ワード列と認識することを特徴とする請求項２に記載の検索支援装置。
【請求項４】
前記共起伝播部は、前記入力キーワードを見出し語とする辞書要素の共起語を１段共起語とし、Ｌ−１段共起語（Ｌは２以上の自然数）を見出し語とする辞書要素の共起語をＬ段共起語としたときに、Ｌを１ずつ増加させながら前記Ｌ段共起語を取得する処理を繰り返し、Ｌが予め定めた所定値になると前記処理を停止することを特徴とする請求項１に記載の検索支援装置。
【請求項５】
前記第１検出部は、前記共起確率が第２閾値よりも大きい２つのキーワード候補の組み合わせの個数を求め、得られた個数が第３閾値未満であれば前記第２閾値を所定量減じて、所定量減じた前記第２閾値よりも前記共起確率が大きい２つのキーワード候補の組み合わせの個数を求める処理を繰り返し、得られた個数が前記第３閾値以上になったときの２つのキーワード候補の組み合わせを前記共起キーワード組として検出することを特徴とする請求項１に記載の検索支援装置。
【請求項６】
検索支援装置において実行される検索支援方法であって、
前記検索支援装置の抽出部が、検索対象の文書集合からキーワード候補を抽出するステップと、
前記検索支援装置の算出部が、抽出された２つのキーワード候補の組み合わせについて、一のキーワード候補が他のキーワード候補とともに前記文書集合内の同一文書に出現する確率である共起確率を算出するステップと、
前記検索支援装置の第１検出部が、前記共起確率が第１条件を満たす２つのキーワード候補の組み合わせである共起キーワード組を検出するステップと、
前記検索支援装置の第１生成部が、前記共起キーワード組の一方のキーワード候補を見出し語、他方のキーワード候補を共起語とする辞書要素の集合である共起辞書を生成するステップと、
前記検索支援装置の第２生成部が、入力文字列を補完して前記共起キーワード組に含まれるキーワード候補を得るための規則である文字列補完規則を生成するステップと、
前記検索支援装置の第１認識部が、前記文字列補完規則に従って入力文字列を補完することで得られるキーワード候補を入力キーワードと認識するステップと、
前記検索支援装置の共起伝播部が、前記共起辞書を参照し、前記入力キーワードを見出し語とする辞書要素の共起語を取得し、取得した共起語を見出し語とする辞書要素の共起語を取得する処理を繰り返すステップと、
前記検索支援装置の第２検出部が、共起確率がゼロとなる２つのキーワード候補の組み合わせであるゼロ共起キーワード組を検出するステップと、
前記検索支援装置の第３生成部が、前記ゼロ共起キーワード組の一方のキーワード候補を見出し語、他方のキーワード候補をゼロ共起語とする辞書要素の集合であるゼロ共起辞書を生成するステップと、
前記検索支援装置の第２認識部が、前記ゼロ共起辞書を参照し、前記入力キーワードと前記共起伝播部による処理により取得される共起語とを繋げたワード列の中に、前記ゼロ共起キーワード組を構成する２つのキーワード候補を同時に含むワード列が存在する場合は、該ワード列を除外し、残りのワード列のうち、第２条件を満たすワード列を提案ワード列と認識するステップと、
前記検索支援装置の提示部が、前記提案ワード列を提示するステップと、
前記検索支援装置の検索部が、提示した前記提案ワード列が選択された場合に、該提案ワード列に基づいて検索式を生成して前記文書集合に対する検索を行うステップと、を含むことを特徴とする検索支援方法。
【請求項７】
コンピュータに、
検索対象の文書集合からキーワード候補を抽出する抽出部の機能と、
抽出された２つのキーワード候補の組み合わせについて、一のキーワード候補が他のキーワード候補とともに前記文書集合内の同一文書に出現する確率である共起確率を算出する算出部の機能と、
前記共起確率が第１条件を満たす２つのキーワード候補の組み合わせである共起キーワード組を検出する第１検出部の機能と、
前記共起キーワード組の一方のキーワード候補を見出し語、他方のキーワード候補を共起語とする辞書要素の集合である共起辞書を生成する第１生成部の機能と、
入力文字列を補完して前記共起キーワード組に含まれるキーワード候補を得るための規則である文字列補完規則を生成する第２生成部の機能と、
前記文字列補完規則に従って入力文字列を補完することで得られるキーワード候補を入力キーワードと認識する第１認識部の機能と、
前記共起辞書を参照し、前記入力キーワードを見出し語とする辞書要素の共起語を取得し、取得した共起語を見出し語とする辞書要素の共起語を取得する処理を繰り返す共起伝播部の機能と、
前記共起確率がゼロとなる２つのキーワード候補の組み合わせであるゼロ共起キーワード組を検出する第２検出部の機能と、
前記ゼロ共起キーワード組の一方のキーワード候補を見出し語、他方のキーワード候補をゼロ共起語とする辞書要素の集合であるゼロ共起辞書を生成する第３生成部の機能と、
前記ゼロ共起辞書を参照し、前記入力キーワードと前記共起伝播部による処理により取得される共起語とを繋げたワード列の中に、前記ゼロ共起キーワード組を構成する２つのキーワード候補を同時に含むワード列が存在する場合は、該ワード列を除外し、残りのワード列のうち、第２条件を満たすワード列を提案ワード列と認識する第２認識部の機能と、
前記提案ワード列を提示する提示部の機能と、
提示した前記提案ワード列が選択された場合に、該提案ワード列に基づいて検索式を生成して前記文書集合に対する検索を行う検索部の機能と、を実現させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、検索支援装置、検索支援方法およびプログラムに関する。
【背景技術】
【０００２】
文書検索は、検索対象となる文書集合から、ユーザが指定した検索キーワードを含む文書を検索する技術である。ここで文書とは、電子化された文書そのものだけでなく、テキストデータを持つ各種のコンテンツを含む。文書検索におけるユーザの操作負担を軽減するため、従来、様々な検索支援方法が提案されている。
【０００３】
例えば、過去の検索式の履歴に基づいて、検索キーワードの候補をユーザに提示する方法が知られている。この方法では、ユーザの入力操作によって例えば「拡散強調像」という検索キーワードが入力されると、それに続く検索キーワードの候補として、「遅延相」、「脂肪」、「高信号」、「軸位」など、過去の検索式の履歴の中で頻繁に共起する単語を提案する。この方法によれば、複数の検索キーワードを含む検索式の生成を容易にし、ユーザの操作負担を軽減することができる。しかし、この方法では、適切な検索キーワードの候補を提案するためには多くの履歴が必要であり、履歴が偏っていたり、不足している場合には提案の質が低下し、目的の文書を検索することができない懸念がある。
【０００４】
また、共起関係にある２つの単語の組み合わせを定義した共起辞書を用いて、検索キーワードの候補をユーザに提案する方法が知られている。この方法では、ユーザの入力操作によってある単語が検索キーワードとして入力されると、それに続く検索キーワードの候補として、入力された検索キーワードに対する共起確率が高い単語として共起辞書に登録されている単語を提案する。この方法によれば、複数の検索キーワードを含む検索式の生成を容易にし、ユーザの操作負担を軽減することができる。しかし、この方法では、事前に単語同士の共起関係を定義した共起辞書を準備する必要があり、また、事前に準備した共起辞書が検索対象となる文書集合に適合しない場合、提案の質が低下し、目的の文書を検索することができない懸念がある。
【０００５】
以上のように、複数の検索キーワードを含む検索式の生成を容易にする従来技術では、提案の質が低下して目的の文書を検索できない場合があり、改良が求められる。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特許第２８５０９５２号公報
【特許文献２】特開２００６−４８２８６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
本発明が解決しようとする課題は、ユーザに事前の煩雑な操作を要求することなく、検索対象の文書集合に適合した検索キーワードの候補を提案し、文書の検索を適切に支援することができる検索支援装置、検索支援方法およびプログラムを提供することである。
【課題を解決するための手段】
【０００８】
実施形態の検索支援装置は、抽出部と、算出部と、第１検出部と、第１生成部と、第２生成部と、第１認識部と、共起伝播部と、第２検出部と、第３生成部と、第２認識部と、提示部と、検索部と、を備える。抽出部は、検索対象の文書集合からキーワード候補を抽出する。算出部は、抽出された２つのキーワード候補の組み合わせについて、一のキーワード候補が他のキーワード候補とともに前記文書集合内の同一文書に出現する確率である共起確率を算出する。第１検出部は、前記共起確率が第１条件を満たす２つのキーワード候補の組み合わせである共起キーワード組を検出する。第１生成部は、前記共起キーワード組の一方のキーワード候補を見出し語、他方のキーワード候補を共起語とする辞書要素の集合である共起辞書を生成する。第２生成部は、入力文字列を補完して前記共起キーワード組に含まれるキーワード候補を得るための規則である文字列補完規則を生成する。第１認識部は、前記文字列補完規則に従って入力文字列を補完することで得られるキーワード候補を入力キーワードと認識する。共起伝播部は、前記共起辞書を参照し、前記入力キーワードを見出し語とする辞書要素の共起語を取得し、取得した共起語を見出し語とする辞書要素の共起語を取得する処理を繰り返す。第２検出部は、前記共起確率がゼロとなる２つのキーワード候補の組み合わせであるゼロ共起キーワード組を検出する。第３生成部は、前記ゼロ共起キーワード組の一方のキーワード候補を見出し語、他方のキーワード候補をゼロ共起語とする辞書要素の集合であるゼロ共起辞書を生成する。第２認識部は、前記ゼロ共起辞書を参照し、前記入力キーワードと前記共起伝播部による処理により取得される共起語とを繋げたワード列の中に、前記ゼロ共起キーワード組を構成する２つのキーワード候補を同時に含むワード列が存在する場合は、該ワード列を除外し、残りのワード列のうち、第２条件を満たすワード列を提案ワード列と認識する。提示部は、前記提案ワード列を提示する。検索部は、提示した前記提案ワード列が選択された場合に、該提案ワード列に基づいて検索式を生成して前記文書集合に対する検索を行う。
【図面の簡単な説明】
【０００９】
【図１】図１は、第１実施形態の検索支援装置の機能的な構成を示すブロック図である。
【図２】図２は、検索対象の文書集合の一例を示す図である。
【図３】図３は、検索対象の文書集合から抽出されたキーワード候補の一例を示す図である。
【図４】図４は、抽出されたキーワード候補と出現頻度との関係の一例を示す図である。
【図５】図５は、２つのキーワード候補の組み合わせの出現頻度の一例を示す図である。
【図６】図６は、２つのキーワード候補間の共起確率の一例を示す図である。
【図７】図７は、共起ネットワークの一例を示す図である。
【図８】図８は、共起キーワード組検出部による処理の一例を示すフローチャートである。
【図９】図９は、共起辞書を構成する辞書要素のデータ構造の一例を示す図である。
【図１０】図１０は、共起辞書の一例を示す図である。
【図１１】図１１は、パトリシア木の一例を示す図である。
【図１２】図１２は、ワード列のデータ構造の一例を示す図である。
【図１３】図１３は、入力キーワード認識部、共起伝播部および提案ワード列認識部による処理の一例を示すフローチャートである。
【図１４】図１４は、第２実施形態の検索支援装置の機能的な構成を示すブロック図である。
【図１５】図１５は、共起確率が０である２つのキーワード候補の組み合わせを示す図である。
【図１６】図１６は、０共起辞書を構成する辞書要素のデータ構造の一例を示す図である。
【図１７】図１７は、０共起辞書の一例を示す図である。
【図１８】図１８は、入力キーワード認識部、共起伝播部および提案ワード列認識部による処理の一例を示すフローチャートである。
【発明を実施するための形態】
【００１０】
以下、実施形態の検索支援装置および検索支援方法について、図面を参照しながら詳細に説明する。
【００１１】
（第１実施形態）
図１は、第１実施形態の検索支援装置１００の機能的な構成を示すブロック図である。本実施形態の検索支援装置１００は、図１に示すように、キーワード候補抽出部（抽出部）１０１と、インデックス生成部１０２と、共起確率算出部（算出部）１０３と、共起キーワード組検出部（第１検出部）１０４と、共起辞書生成部（第１生成部）１０５と、パトリシア木生成部（第２生成部）１０６と、入力受付部１０７と、入力キーワード認識部（第１認識部）１０８と、共起伝播部１０９と、提案ワード列認識部（第２認識部）１１０と、表示部（提示部）１１１と、検索部１１２と、を備える。
【００１２】
キーワード候補抽出部１０１は、検索対象の文書集合３００から、検索キーワードの候補となるキーワード候補を抽出する。検索対象の文書集合３００からキーワード候補を抽出する方法は特に限定されるものではなく、様々な方法を用いることができる。例えば、検索キーワードとして用いることができる多数の単語が登録された語彙辞書を参照し、検索対象の文書集合３００に含まれる各文書から、語彙辞書に登録された単語をキーワード候補として抽出することができる。
【００１３】
ここで、検索対象の文書集合３００は、本実施形態の検索支援装置１００を使用するユーザが任意に指定することができる。つまり、本実施形形態の検索支援装置１００では、ユーザが検索対象の文書集合３００を指定すると、キーワード候補抽出部１０１が、ユーザにより指定された文書集合３００からキーワード候補を抽出する処理を実行する。以下では、検索対象の文書集合３００の具体例として、図２に示すような書籍情報の集合を例示する。図２の例では、５つの書籍情報がそれぞれ文書１〜文書５として示されており、文書１〜文書５は、それぞれ「書籍名」、「著者名」、「訳者名」、「出版社」、「ＩＳＢＮ」、および「概要」の項目ごとに、対応する書籍の情報が例えばテキストデータで記述されている。キーワード候補抽出部１０１は、これら各文書の項目ごとに記述されたテキストデータからキーワード候補を抽出する。なお、検索対象の文書集合３００は一般的に多数の文書の集合となるが、ここでは説明を簡単にするために５つの文書のみを例示している。
【００１４】
図３は、図２に例示した文書集合３００からキーワード候補抽出部１０１によって抽出されたキーワード候補の一例を示している。また、図４は、抽出されたキーワード候補と出現頻度との関係の一例を示している。キーワード候補の出現頻度は、文書集合３００内の文書のうち、同一のキーワード候補が出現する文書数を表す。例えば、図２に例示した文書集合３００において、キーワード候補の１つである「花子」は、文書１〜文書５からそれぞれ抽出されるため、キーワード候補「花子」の出現頻度は５である。
【００１５】
キーワード候補抽出部１０１は、文書集合３００からキーワード候補を抽出すると、抽出したキーワード候補を該キーワード候補が出現する文書を指し示す文書ポインタ情報とともにインデックス生成部１０２に対して出力する。また、キーワード候補抽出部１０１は、抽出した２つのキーワード候補の組み合わせを、共起確率算出部１０３に対して出力する。また、キーワード候補抽出部１０１は、抽出したキーワード候補と出現頻度との関係を示す図４のような情報を、図示しない記憶手段を用いて保持しておくことが望ましい。
【００１６】
インデックス生成部１０２は、キーワード候補抽出部１０１から入力したキーワード候補および文書ポインタ情報に基づいて、検索対象の文書集合３００に対するインデックス３０１を生成する。インデックス３０１は、ある検索キーワードが入力された場合に、その検索キーワードが出現する文書を指し示す文書ポインタ情報を保持する。
【００１７】
共起確率算出部１０３は、キーワード候補抽出部１０１から入力した２つのキーワード候補の組み合わせのそれぞれについて、一のキーワード候補が他のキーワード候補とともに文書集合３００内の同一文書に出現する確率である共起確率を算出する。
【００１８】
図５は、２つのキーワード候補の組み合わせの出現頻度の一例を示す図である。また、図６は、図５の出現頻度と文書集合３００の文書総数とから算出される２つのキーワード候補間の共起確率の一例を示す図である。また、図７は、図６の共起確率に基づいて生成される共起ネットワークの一例を示す図である。２つのキーワード候補の組み合わせの出現頻度は、文書集合３００内の文書のうち、２つのキーワード候補が同時に出現する文書数を表す。例えば、図２に例示した文書集合３００において、キーワード候補である「花子」と「府中」は、文書１、文書２、および文書５において同時に出現するため、「花子」と「府中」の組み合わせの出現頻度は３である。
【００１９】
共起確率算出部１０３は、キーワード候補抽出部１０１から入力した２つのキーワード候補の組み合わせのそれぞれについて、まず、各組み合わせの出現頻度を求める。そして、共起確率算出部１０３は、求めた組み合わせの出現頻度を文書集合３００に含まれる文書総数で除算することで、２つのキーワード候補間の共起確率を求める。そして、共起確率算出部１０３は、求めた共起確率を保持する図７に示すような共起ネットワークを生成し、生成した共起ネットワークを共起キーワード組検出部１０４に対して出力する。共起ネットワークは、図７に示すように、キーワード候補をノードとし、共起関係にあるノード同士をリンクで結び、リンクに共起確率を対応付けたものである。
【００２０】
共起キーワード組検出部１０４は、共起確率算出部１０３から入力した共起ネットワークに基づいて、共起確率が第１条件を満たす２つのキーワード候補の組み合わせである共起キーワード組を検出し、共起辞書生成部１０５およびパトリシア木生成部１０６に対して出力する。ここで、第１条件としては、例えば、最終的に得られる共起キーワード組の個数が閾値β以上になるように設定される閾値αに対して、共起確率が閾値αよりも大きいという条件を用いることができる。なお、第１条件はこの例に限らず、予め定めた様々な条件を用いることができる。
【００２１】
図８は、共起確率が閾値αよりも大きい共起キーワード組を検出する場合の共起キーワード組検出部１０４による処理の一例を示すフローチャートである。
【００２２】
共起キーワード組検出部１０４は、まず、閾値αを予め定めた初期値に設定し、共起確率算出部１０３で算出された共起確率が閾値αよりも大きいキーワード候補の組み合わせを抽出する（ステップＳ１０１）。具体的には、共起キーワード組検出部１０４は、例えば、共起確率算出部１０３から入力した共起ネットワークの１つのノードを取り出して、そのノードに対して閾値αよりも大きい共起確率に対応するリンクで結ばれたノードを特定し、これら２つのノードが示す２つのキーワード候補の組み合わせを抽出する。そして、共起キーワード組検出部１０４は、共起ネットワークのすべてのノードに対して上記の処理を繰り返し、共起確率が閾値αよりも大きいキーワード候補の組み合わせをすべて抽出する。
【００２３】
次に、共起キーワード組検出部１０４は、ステップＳ１０１で抽出したキーワード候補の組み合わせの個数をカウントし、抽出したキーワード候補の組み合わせの個数が閾値β以上か否かを判定する（ステップＳ１０２）。この判定の結果、抽出したキーワード候補の組み合わせの個数が閾値β未満であれば（ステップＳ１０２：Ｎｏ）、共起キーワード組検出部１０４は、閾値αを所定量減少させ（ステップＳ１０３）、ステップＳ１０１に戻って上記の処理を繰り返す。一方、抽出したキーワード候補の組み合わせの個数が閾値β以上であれば（ステップＳ１０２：Ｙｅｓ）、抽出したキーワード候補の組み合わせを共起キーワード組として、共起辞書生成部１０５およびパトリシア木生成部１０６に対して出力する（ステップＳ１０４）。
【００２４】
共起辞書生成部１０５は、共起キーワード組検出部１０４から入力した共起キーワード組に基づいて、共起辞書３０２を生成する。共起辞書３０２は、図９に示すように、（見出し語、共起語、共起確率）の３つの要素を１組としたデータ構造を持つ辞書要素の集合であり、見出し語が指定されたときに、その見出し語を持つ辞書要素を検索して共起語および共起確率を取得することができる。共起辞書生成部１０５は、共起キーワード組検出部１０４から入力したすべての共起キーワード組について、各共起キーワード組の一方のキーワード候補を見出し語、他方のキーワード候補を共起語とし、これらキーワード候補間の共起確率を記述した辞書要素を生成し、これら辞書要素の集合である共起辞書３０２を生成する。共起辞書生成部１０５により生成された共起辞書３０２の一例を図１０に示す。なお、共起辞書３０２の全体は大きくなるため、図１０では、便宜上一部のみを示している。
【００２５】
パトリシア木生成部１０６は、共起キーワード組検出部１０４から入力した共起キーワード組に基づいて、入力文字列を補完して共起キーワード組に含まれるキーワード候補を得るためのパトリシア木３０３（文字列補完規則）を生成する。パトリシア木生成部１０６により生成されたパトリシア木３０３の一例を図１１に示す。なお、パトリシア木３０３の全体は大きくなるため、図１１では、便宜上一部のみを示している。
【００２６】
パトリシア木３０３は、図１１に示すように、各ノードが部分文字列を持つ木構造として表される。ルートから末端側へと順次ノードを辿り、各ノードが持つ各部分文字列を順次結合し、末端ノードであるリーフに到達した時点で得られた文字列が出力文字列として求められる。パトリシア木生成部１０６は、共起キーワード組検出部１０４から入力した共起キーワード組に含まれるキーワード候補をそれぞれ部分文字列に分割し、共通する部分文字列をマージすることによって、共起キーワード組に含まれるキーワード候補が出力文字列となるパトリシア木３０３を生成する。図１１に示すパトリシア木３０３の範囲では、「おりおん」、「おりんぴっく」、「おりんぽす」、「とうよう」、「とうきょう」、「はるこ」、「はなこ」が、それぞれ出力文字列となる。
【００２７】
入力受付部１０７は、ユーザからの操作入力を受け付ける。例えば、ユーザがキーボードなどの入力デバイスを用いて文字列を入力する操作を行った場合、入力受付部１０７はユーザによる文字列の入力を受け付けて、入力された文字列（入力文字列）を入力キーワード認識部１０８に対して出力する。ここで、入力文字列は１つの単語を構成しない部分文字列を含む。また、ここでは１文字のみの入力であっても入力文字列として扱う。入力受付部１０７は、入力文字列が変化するたびに、変化語の新たな入力文字列を入力キーワード認識部１０８に対して出力する。また、ユーザが例えば改行キーの押下など、入力文字列を確定する所定の操作を行った場合には、入力受付部１０７は、確定された入力文字列を検索キーワードとして検索部１１２に対して出力する。さらに、入力受付部１０７は、ユーザによって後述する表示部１１１に表示された提案ワード列のうちのいずれかを選択する操作が行われた場合には、その操作を受け付けて、選択された提案キーワード列に含まれる各キーワード候補を検索キーワードとして検索部１１２に対して出力する。
【００２８】
入力キーワード認識部１０８は、パトリシア木生成部１０６により生成されたパトリシア木３０３に従って、入力受付部１０７が受け付けた入力文字列を補完することで得られるキーワード候補を入力キーワードと認識し、認識した入力キーワードを共起伝播部１０９に対して出力する。すなわち、入力キーワード認識部１０８は、ユーザがこれまでに入力した入力文字列を入力受付部１０７から受け取り、パトリシア木３０３を検索することによって、後続で入力される可能性のある文字列を推定して、入力文字列を先頭とし、共起キーワード組に含まれるキーワード候補と一致する文字列を求める。このとき、得られる文字列は、共起キーワード組に含まれるキーワード候補のうち、入力文字列と前方一致するものすべてとなる。ここで得られるすべての文字列を入力キーワードとすると後段の処理負荷が著しく増加することが懸念されるので、入力キーワード認識部１０８は、得られた文字列のうち、入力キーワードと認識する文字列を絞り込むことが望ましい。絞り込みの方法としては、例えば、上述したように、キーワード候補抽出部１０１により抽出されたキーワード候補と出現頻度との関係を示す図４のような情報が保持されている場合、この情報を参照し、出現頻度が大きい順に上位Ｍ０件（Ｍ０は予め定めた自然数）を入力キーワードと認識するといった方法を用いることができる。
【００２９】
また、入力キーワード認識部１０８は、ユーザから新たに入力された文字に対して、これまでの入力で得られたパトリシア木３０３のノードを基点として、新たに入力された文字に対応する次のノードを探索して、新たに入力された文字を加えた入力文字列と前方一致するキーワード候補を取得する。そして、そのうちの上位Ｍ０件を入力キーワードと認識し、共起伝播部１０９に対して出力する。入力キーワード認識部１０８は、ユーザによって新たな文字の入力が行われるたびに上記処理を繰り返す。
【００３０】
共起伝播部１０９は、共起辞書生成部１０５により生成された共起辞書３０２を参照し、入力キーワード認識部１０８から入力した入力キーワードを見出し語とする辞書要素の共起語を取得し、さらに、取得した共起語を見出し語とする辞書要素の共起語を取得する処理を繰り返す。具体的には、共起伝播部１０９は、入力キーワード認識部１０８から入力したＭ０件の入力キーワードそれぞれについて、共起辞書３０２を検索して入力キーワードに対する共起語を求め、複数求められた共起語のうち、入力キーワードとの間の共起確率が大きい順に上位Ｍ１件（Ｍ１は予め定めた自然数）の共起語を１段共起語として一時的に記憶する。そして、共起伝播部１０９は、Ｍ１件の１段共起語のそれぞれについて、共起辞書３０２を検索して１段共起語に対する共起語を求め、複数求められた共起語のうち、１段共起語との間の共起確率が大きい順に上位Ｍ２件（Ｍ２は予め定めた自然数）の共起語を２段共起語として一時的に記憶する。このとき、共起伝播部１０９は、入力キーワードと１段共起語との間の共起確率に対して、１段共起語と２段共起語との間の共起確率を積算した値である積算共起確率を求め、一時的に記憶する。さらに、共起伝播部１０９は、求めた積算共起確率が閾値γよりも大きければ、２段共起語から３段共起語、３段共起語から４段共起語といったように、入力キーワードから共起関係が伝播するキーワード候補を順次求める処理を繰り返し、共起関係にあるキーワード候補間の共起確率を順次積算した値である積算共起確率を求めていく。そして、共起伝播部１０９は、求めた積算共起確率が閾値γ以下になると処理を停止する。
【００３１】
すなわち、共起伝播部１０９は、入力キーワードを見出し語とする辞書要素の共起語を１段共起語とし、Ｌ−１段共起語（Ｌは２以上の自然数）を見出し語とする辞書要素の共起語をＬ段共起語としたときに、Ｌを１ずつ増加させながらＬ段共起語を取得する処理を繰り返し、入力キーワードと１段共起語との間の共起確率に対して、Ｌ−１段共起語とＬ段共起語との間の共起確率を順次積算した値である積算共起確率が閾値γ以下になると、処理を停止する。そして、共起伝播部１０９は、処理を停止した段階で得られた入力キーワードからＬ段共起語までを繋げたワード列、あるいは、入力キーワードからＬ−１段共起語までを繋げたワード列を、各ワード列の積算共起確率とともに、提案ワード列認識部１１０に対して出力する。なお、共起確率の高いキーワード同士で伝播が繰り返すことを避けるために、同じキーワード候補が重複するワード列は処理の対象から除外する。共起伝播部１０９は、入力キーワード認識部１０８から新たな入力キーワードを入力するたびに、上記の処理を実施する。
【００３２】
図１２は、共起伝播部１０９から提案ワード列認識部１１０に対して出力されるワード列のデータ構造の一例を示す図である。共起伝播部１０９から提案ワード列認識部１１０に対しては、例えば図１２に示すように、入力キーワード、１段共起語、・・・、Ｌ段共起語を繋げたワード列と、そのワード列の積算共起確率とを組み合わせたデータが出力される。また、入力キーワードからＬ−１段共起語までを繋げてワード列とする場合は、入力キーワード，・・・，Ｌ−１段共起語を繋げたワード列と、そのワード列の積算共起確率とを組み合わせたデータが、共起伝播部１０９から提案ワード列認識部１１０に対して出力される。
【００３３】
なお、上記の例では、積算共起確率が閾値γ以下になると共起伝播部１０９がＬ段共起語を取得する処理を停止するものとして説明したが、共起伝播部１０９が処理を停止する条件はこの例に限定されるものではなく、例えば、得られたワード列の数が上限に達すると共起伝播部１０９の処理を停止する、あるいは、１段共起語に繋がる共起語の数が上限に達すると共起伝播部１０９の処理を停止するといった条件を用いるようにしてもよい。また、上記の例では、１段共起語からＬ段共起語を取得する処理を行う際に、得られる共起語の共起確率が大きい順に上位Ｍ１件、上位ＭＬ件を絞り込むようにしているが、共起語を取得する条件となる共起確率を予め定めておき、この予め定めた共起確率以上のものを１段共起語からＬ段共起語として順次取得するようにしてもよい。
【００３４】
提案ワード列認識部１１０は、共起伝播部１０９から入力したワード列のうち、第２条件を満たすワード列を提案ワード列と認識し、認識した提案ワード列を表示部１１１に対して出力する。ここで、第２条件としては、例えば、積算共起確率が大きい順に上位Ｎ件（Ｎは予め定めた自然数）という条件を用いることができる。なお、第２条件はこの例に限らず、予め定めた様々な条件を用いることができる。
【００３５】
図１３は、入力キーワード認識部１０８、共起伝播部１０９および提案ワード列認識部１１０による処理の一例を示すフローチャートである。
【００３６】
入力キーワード認識部１０８は、入力受付部１０７から入力文字列を入力すると、パトリシア木３０３に基づいて、入力文字列を補完して得られるキーワード候補を取得し、取得したキーワード候補のうち、出現頻度が大きい順に上位Ｍ０件のキーワード候補を入力キーワードと認識する（ステップＳ２０１）。そして、入力キーワード認識部１０８は、認識した入力キーワードを、共起伝播部１０９に対して出力する。
【００３７】
次に、共起伝播部１０９は、入力キーワード認識部１０８からＭ０件の入力キーワードを入力すると、共起辞書３０２を参照して、Ｍ０件の入力キーワードの共起語をそれぞれ求め、これら共起語のうち、入力キーワードとの間の共起確率が大きい順に上位Ｍ１件のキーワード候補を１段共起語として取得する（ステップＳ２０２）。また、共起伝播部１０９は、共起辞書３０２を参照して、Ｌ−１段共起語（Ｌは２以上の自然数）の共起語をそれぞれ求め、これら共起語のうち、Ｌ−１段共起語との間の共起確率が大きい順に上位ＭＬ件のキーワード候補をＬ段共起語として取得する（ステップＳ２０３）。そして、共起伝播部１０９は、入力キーワードと１段共起語との間の共起確率に対して、Ｌ−１段共起語とＬ段共起語との間の共起確率を順次積算した値である積算共起確率が閾値γ以下であるか否かを判定する（ステップＳ２０４）。この判定の結果、積算共起確率が閾値γよりも大きければ（ステップＳ２０４：Ｎｏ）、共起伝播部１０９は、Ｌの値をインクリメント（＋１）して（ステップＳ２０５）ステップＳ２０３に戻り、Ｌ段共起語を取得する処理を繰り返す。一方、積算共起確率が閾値γ以下であれば（ステップＳ２０４：Ｙｅｓ）、共起伝播部１０９は、入力キーワードと取得した共起語とを繋げたワード列を、各ワード列の積算共起確率とともに、提案ワード列認識部１１０に対して出力する。
【００３８】
次に、提案ワード列認識部１１０は、共起伝播部１０９からワード列を入力すると、入力したワード列のうち、積算共起確率が大きい順に上位Ｎ件のワード列を提案ワード列として認識する（ステップＳ２０６）。そして、提案ワード列認識部１１０は、認識した提案ワード列を表示部１１１に対して出力する（ステップＳ２０７）。
【００３９】
表示部１１１は、提案ワード列認識部１１０から入力した提案ワード列を表示して、ユーザに提示する。表示部１１１が表示する提案ワード列は、ユーザがマウスやキーボードなどの入力デバイスを用いて、そのいずれかを選択することができる。表示部１１１が表示する提案ワード列のいずれかをユーザが選択した場合、その操作が入力受付部１０７により受け付けられ、選択された提案ワード列に含まれる各キーワード候補がそれぞれ検索キーワードとして検索部１１２に出力される。また、表示部１１１は、後述の検索部１１２から検索結果を入力した場合は、検索結果を表示する。
【００４０】
検索部１１２は、表示部１１１が表示する提案ワード列のうちのいずれかがユーザにより選択された場合に、選択された提案ワード列に含まれる各キーワード候補を受け取り、これらキーワード候補のすべてを検索キーワードとして含む検索式を生成して、文書集合３００に対する検索を行う。具体的には、検索部１１２は、インデックス生成部１０２が生成したインデックス３０１を参照して、検索式に含まれる検索キーワードを含む文書ポインタ情報を順次検索し、検索式に含まれるすべての検索キーワードを含む文書への文書ポインタ情報を求める。次に、検索部１１２は、検索対象の文書集合３００から、得られた文書ポインタ情報が指し示す文書を求め、必要な情報を検索結果として表示部１１１に対して出力する。
【００４１】
本実施形態の検索支援装置１００は、ハードウェア構成として、例えば、ＣＰＵなどの制御装置、ＲＯＭやＲＡＭなどの内部記憶装置、キーボードやマウスなどの入力デバイス、液晶パネルなどの表示装置、ハードディスク、ＣＤ、ＤＶＤ、フラッシュメモリなどの外部記憶装置を備えた、通常のコンピュータを利用したハードウェア構成を採用することができる。この場合、コンピュータがプログラムを実行することによって、本実施形態の検索支援装置１００における上記の機能的な構成を実現することができる。また、インデックス３０１、共起辞書３０２、およびパトリシア木３０３は、例えば、ハードディスクやフラッシュメモリなどの外部記憶装置に格納しておくことができる。
【００４２】
次に、図２に例示した文書集合３００を検索対象として検索を行う場合を例に挙げて、本実施形態の検索支援装置１００による処理の具体例について説明する。以下では、図２に示した文書集合３００から図１０に例示した共起辞書３０２および図１１に例示したパトリシア木３０３が生成されているものとする。
【００４３】
まず、ユーザがキーボードなどの入力デバイスを用いて文字列「お」を入力すると、入力受付部１０７がこの文字列の入力を受け付けて、入力文字列「お」を入力キーワード認識部１０８に対して出力する。入力キーワード認識部１０８は、入力受付部１０７から入力文字列「お」を受け取り、図１１に例示したパトリシア木３０３を検索して、入力キーワードを認識する処理を行う。入力キーワード認識部１０８は、まず、入力文字列「お」に該当するノードを求めるために、図１１に例示したパトリシア木３０３をルートから順に探索し、「お」に該当するノードとして「おり」のノードを取得する。次に、入力キーワード認識部１０８は、その「おり」のノードからたどれるリーフ群を特定し、そのリーフが示す文字列を「おり」に後続する文字列として求め、入力文字列「お」を補完したキーワード候補を求める。この場合は「オリンピック」、「オリオン」および「オリンポス」が得られる。入力キーワード認識部１０８は、得られたキーワード候補のうち、出現頻度が大きい順に上位Ｍ０件を入力キーワードと認識する。ここでは、Ｍ０＝３と定められているものとする。この場合、入力キーワード認識部１０８は、「オリンピック」、「オリオン」および「オリンポス」を入力キーワードと認識し、これらの入力キーワードを共起伝播部１０９に対して出力する。
【００４４】
共起伝播部１０９は、入力キーワード「オリンピック」、「オリオン」および「オリンポス」を入力キーワード認識部１０８から受け取り、図１０に例示した共起辞書３０２を参照して、これら入力キーワードを見出し語とする辞書要素を求める。ここでは、以下に示すような辞書要素が求められる。
（オリオン、花子、０．７５）
（オリオン、小向、０．５）
（オリオン、磯子、０．５）
（オリオン、次郎、０．５）
（オリオン、ワールドカップ、０．５）
（オリオン、出版、０．４）
（オリオン、鎌倉、０．３３）
（オリオン、杉田、０．３３）
（オリオン、東洋、０．２５）
（オリオン、府中、０．２５）
（オリンピック、東洋、０．６７）
（オリンピック、堀川、０．５）
（オリンピック、芝浦、０．５）
（オリンピック、川崎、０．５）
（オリンピック、春子、０．５）
（オリンピック、次郎、０．５）
（オリンピック、世界、０．５）
（オリンピック、陸上、０．５）
（オリンピック、太郎、０．５）
（オリンピック、出版、０．４）
（オリンピック、花子、０．４）
（オリンピック、府中、０．２５）
（オリンポス、鎌倉、０．５）
（オリンポス、東京、０．５）
（オリンポス、府中、０．３３）
（オリンポス、出版、０．２）
（オリンポス、花子、０．２）
【００４５】
次に、共起伝播部１０９は、得られた辞書要素の共起語の中から、見出し語（入力キーワード）との間の共起確率が大きい順に上位Ｍ１件の共起語を１段共起語として取得する。ここでは、Ｍ１＝３に設定されているものとする。なお、見出し語との間の共起確率が同じ共起語については、例えば、見出し語の出現頻度が大きい順、共起語の出現頻度が大きい順などを基準として、取得する共起語を決定することができる。この場合、入力キーワード「オリオン」との間の共起確率が０．７５の「花子」、入力キーワード「オリンピック」との間の共起確率が０．６７の「東洋」、入力キーワード「オリオン」との間の共起確率が０．５の「小向」がそれぞれ１段共起語として取得される。
【００４６】
さらに、共起伝播部１０９は、１段共起語と共起関係にある２段共起語を求めるため、再度共起辞書３０２を参照して、１段共起語を見出し語とする辞書要素を求める。ここでは、以下に示すような辞書要素が求められる。
（花子、オリオン、０．７５）
（花子、府中、０．６）
（花子、鎌倉、０．４）
（花子、杉田、０．４）
（花子、オリンピック、０．４）
（東洋、オリンピック、０．６７）
（東洋、出版、０．６）
（東洋、小向、０．３３）
（東洋、太郎、０．３３）
（東洋、堀川、０．３３）
（東洋、芝浦、０．３３）
（小向、杉田、０．５）
（小向、東京、０．５）
（小向、オリオン、０．５）
【００４７】
次に、共起伝播部１０９は、得られた辞書要素の共起語の中から、積算共起確率が閾値γよりも大きくなる共起語を、１段共起語に繋がる２段共起語として取得する。ここでは、閾値γ＝０．３７に設定されているものとする。この場合、１段共起語「花子」に対しては、入力キーワードである「オリオン」との間の共起確率が０．７５であるので、積算共起確率が０．３７よりも大きくなるには共起確率が０．４９以上の２段共起語を取得する必要があり、この条件を満たす「オリオン」および「府中」が、それぞれ２段共起語として取得される。ただし、「オリオン」は入力キーワードと重複するため、処理の対象から除外される。また、１段共起語「東洋」に対しては、入力キーワードである「オリンピック」との間の共起確率が０．６７であるので、積算共起確率が０．３７よりも大きくなるには共起確率が０．５５以上の２段共起語を取得する必要があり、この条件を満たす「オリンピック」および「出版」が、それぞれ２段共起語として取得される。ただし、「オリンピック」は入力キーワードと重複するため、処理の対象から除外される。また、１段共起語「小向」に対しては、入力キーワードである「オリオン」との間の共起確率が０．５であるので、積算共起確率が０．３７よりも大きくなるには共起確率が０．８以上の２段共起語を取得する必要があるが、この条件を満たす共起語は存在しないため、２段共起語は得られない。
【００４８】
以上の処理の結果、入力キーワードと１段共起語と２段共起語とを繋げたワード列として、（オリオン、花子、府中、０．４５）および（オリンピック、東洋、出版、０．４）が得られる。
【００４９】
その後、共起伝播部１０９は、２段共起語と共起関係にある３段共起語を求めるため、再度共起辞書３０２を参照して、２段共起語を見出し語とする辞書要素を求める。ここでは、以下に示すような辞書要素が求められる。
（府中、鎌倉、０．６７）
（府中、出版、０．６）
（府中、花子、０．６）
（出版、東洋、０．６）
（出版、府中、０．６）
（出版、オリオン、０．４）
【００５０】
次に、共起伝播部１０９は、得られた辞書要素の共起語の中から、積算共起確率が閾値γ＝０．３７よりも大きくなる共起語を、２段共起語に繋がる３段共起語として取得する処理を行う。この場合、２段共起語「府中」に対しては、それまでの積算共起確率が０．４５であるので、積算共起確率が０．３７よりも大きくなるには共起確率が０．８２以上の３段共起語を取得する必要があるが、この条件を満たす共起語は存在しないため、３段共起語は得られない。また、２段共起語「出版」に対しては、それまでの積算共起確率が０．４であるので、積算共起確率が０．３７よりも大きくなるには共起確率が０．９９以上の３段共起語を取得する必要があるが、この条件を満たす共起語は存在しないため、３段共起語は得られない。このため、共起伝播部１０９は共起語を伝播させる処理を停止して、それまでの処理で得られたワード列である（オリオン、花子、府中、０．４５）および（オリンピック、東洋、出版、０．４）を、提案ワード列認識部１１０に対して出力する。
【００５１】
提案ワード列認識部１１０は、共起伝播部１０９からワード列である（オリオン、花子、府中、０．４５）および（オリンピック、東洋、出版、０．４）を受け取り、これらワード列のうち、積算共起確率が大きい順に上位Ｎ件を提案ワード列と認識する。ここでは、Ｎ＝２と定められているものとする。なお、積算共起確率が同じワード列については、例えば、入力キーワードの出現頻度が大きい順、１段共起語の出現頻度が大きい順、２段共起語の出現頻度が大きい順などを基準として、Ｎ件の提案ワード列を決定することができる。この場合、提案ワード列認識部１１０は、（オリオン、花子、府中）および（オリンピック、東洋、出版）をそれぞれ提案ワード列と認識し、これらの提案ワード列を表示部１１１に対して出力する。
【００５２】
表示部１１１は、提案ワード列認識部１１０から提案ワード列（オリオン、花子、府中）および（オリンピック、東洋、出版）を受け取ると、これら提案ワード列を表示してユーザに提示する。そして、ユーザがマウスなどの入力デバイスを用いて、表示部１１１に表示された提案ワード列のうち、例えば（オリオン、花子、府中）を選択する操作を行うと、この選択操作が入力受付部１０７によって受け付けられ、提案ワード列に含まれる「オリオン」、「花子」、および「府中」の各キーワード候補がそれぞれ検索部１１２に出力される。なお、提案ワード列が表示部１１１に表示された状態で、ユーザがいずれかの提案ワード列を選択せずに文字列の入力を続け、例えば「おりん」という文字列を入力した場合は、入力キーワード認識部１０８が「オリンピック」および「オリンポス」を入力キーワードとして認識し、以降、同様の処理が行われる。
【００５３】
検索部１１２は、入力受付部１０７から「オリオン」、「花子」、および「府中」を受け取ると、これらのキーワード候補のすべてを検索キーワードとして含む検索式を生成して、文書集合３００に対する検索を行う。その結果、図２に例示した文書集合３００の中から［文書２］が得られ、［文書２］についての情報が検索結果として表示部１１１に表示される。
【００５４】
以上、具体的な例を挙げながら詳細に説明したように、本実施形態の検索支援装置１００によれば、ユーザは検索対象の文書集合３００を指定するだけで、その文書集合３００に含まれるキーワード候補のうち、共起確率が大きいキーワード候補の組み合わせである共起キーワード組が検出され、共起キーワード組に基づいた共起辞書３０２が生成されるとともに、入力文字列を補完して共起キーワード組を構成するキーワード候補を入力キーワードとして得るための文字列補完規則であるパトリシア木３０３が生成される。そして、ユーザが文字列を入力すると、その入力文字列に対応した入力キーワードと、入力キーワードから共起関係が伝播する共起語とを繋げた提案ワード列がユーザに提示され、提示された提案ワード列をユーザが選択すると、検索対象の文書集合３００から提案ワード列に含まれるキーワード候補をすべて含んだ文書の検索が行われる。したがって、本実施形態の検索支援装置１００によれば、ユーザに事前の煩雑な操作を要求することなく、検索対象の文書集合３００に適合した検索キーワードの候補を提案し、文書の検索を適切に支援することができる。
【００５５】
また、本実施形態の検索支援装置１００によれば、共起伝播部１０９が、共起辞書３０２を参照し、入力キーワードを見出し語とする辞書要素の共起語を１段共起語とし、Ｌ−１段共起語を見出し語とする辞書要素の共起語をＬ段共起語としたときに、Ｌを１ずつ増加させながらＬ段共起語を取得する処理を繰り返し、積算共起確率が閾値γ以下になると処理を停止するようにしているので、ユーザに提示する提案ワード列の積算共起確率を閾値γに近い値に揃えることができる。このことは、ユーザに対して無駄な提案をせずに、文書集合３００に含まれる複数のキーワード候補を検索キーワードとして効果的に提案することに繋がる。つまり、積算共起確率が過大となるワード列は、一般的に関係性の高い単語の羅列である場合が多いが、本実施形態の検索支援装置１００では、積算共起確率が閾値γに近い値の提案ワード列をユーザに提示するため、一般的に関係性の高い単語の羅列を提案することなく、ユーザにとって好ましいと考えられる提案を行うことができる。
【００５６】
（第２実施形態）
次に、第２実施形態について説明する。第２実施形態は、共起確率がゼロとなる２つのキーワード候補の組み合わせであるゼロ共起キーワード組を予め検出して、ゼロ共起辞書を生成しておき、入力キーワードと共起ごとを繋げたワード列の中にゼロ共起キーワード組を構成する２つのキーワード候補を同時に含むワード列が存在する場合は、該ワード列を提案ワード列の対象から除外する。すなわち、入力キーワードから共起関係を伝播させていくことで入力キーワードに後続するキーワード候補を順次取得する場合、入力キーワードと１段共起語、１段共起語と２段共起語との間といったように、連続するキーワード候補間では共起関係が保証されるが、例えば、入力キーワードと２段共起語との間のように、離れたキーワード候補間では必ずしも共起関係があるとは限らない。このため、例えば、入力キーワードと２段共起語との間に共起関係がない（つまり、入力キーワードと２段共起語とが同時に出現する文書が検索対象の文書集合内に存在しない）場合、このようなワード列を提案ワード列としてユーザに提示し、ユーザがこの提案ワード列を選択して文書集合に対する検索を行うと、検索結果が得られない（つまり、ヒット件数がゼロになる）といった問題が生じる。そこで、本実施形態では、共起確率がゼロとなる２つのキーワード候補を同時に含むワード列を提案ワード列の対象から除外することで、提案ワード列に基づいて文書集合を検索すれば必ず検索結果が得られるようにしている。なお、以下では、本実施形態の特徴部分についてのみ説明し、第１実施形態と共通する構成要素については同一の符号を付して重複した説明を省略する。
【００５７】
図１４は、第２実施形態の検索支援装置２００の機能的な構成を示すブロック図である。本実施形態の検索支援装置２００は、図１４に示すように、第１実施形態の検索支援装置１００の構成に加え、ゼロ共起キーワード組検出部（第２検出部）２０１、ゼロ共起辞書生成部（第３生成部）２０２を備える。また、本実施形態の検索支援装置２００は、第１実施形態の検索支援装置１００が備える共起伝播部１０９および提案ワード列認識部１１０に代えて、共起伝播部２０９および提案ワード列認識部２１０を備える。
【００５８】
ゼロ共起キーワード組検出部２０１は、共起確率算出部１０３から図７に例示したような共起ネットワークを入力し、この共起ネットワークに基づいて、共起確率がゼロとなる２つのキーワード候補の組み合わせであるゼロ共起キーワード組を検出し、ゼロ共起辞書生成部２０２に対して出力する。具体的には、ゼロ共起キーワード組検出部２０１は、例えば、キーワード候補抽出部１０１が抽出したキーワード候補のうち、出現頻度が所定値を超えるキーワード候補を選出し、選出したこれらキーワード候補のそれぞれについて、共起確率がゼロとなるキーワード候補との組み合わせを求めて、ゼロ共起キーワード組とする。ここで、出現頻度が所定値を超えるキーワード候補を対象とするのは、出現頻度が著しく小さいキーワード候補はそもそも共起キーワード組を構成するキーワード候補となっていないと想定されるためである。
【００５９】
図１５は、共起確率が０である２つのキーワード候補の組み合わせを示す図であり、図６に例示した２つのキーワード候補間の共起確率のうち、共起確率がゼロとなるものを抽出したものである。図１５の例では、出現頻度が２以上のキーワード候補のそれぞれについて、共起確率がゼロとなる他のキーワード候補との組み合わせを表している。
【００６０】
ゼロ共起辞書生成部２０２は、ゼロ共起キーワード組検出部２０１から入力したゼロ共起キーワード組に基づいて、ゼロ共起辞書３０４を生成する。ゼロ共起辞書３０４は、図１６に示すように、（見出し語、ゼロ共起語）の２つの要素を１組としたデータ構造を持つ辞書要素の集合であり、見出し語が指定されたときに、その見出し語を持つ辞書要素を検索してゼロ共起語を取得することができる。ゼロ共起辞書生成部２０２は、ゼロ共起キーワード組検出部２０１から入力したすべてのゼロ共起キーワード組について、出現頻度で絞り込んだ一方のキーワード候補を見出し語、他方のキーワード候補をゼロ共起語として辞書要素を生成し、これら辞書要素の集合であるゼロ共起辞書３０４を生成する。ゼロ共起辞書生成部２０２により生成されたゼロ共起辞書３０４の一例を図１７に示す。なお、ゼロ共起辞書３０４の全体は大きくなるため、図１７では、便宜上一部のみを示している。
【００６１】
共起伝播部２０９は、入力キーワード認識部１０８から入力したＭ０件の入力キーワードそれぞれについて、共起辞書３０２を検索して入力キーワードに対する共起語を求め、複数求められた共起語のうち、入力キーワードとの間の共起確率が大きい順に上位Ｍ１件（Ｍ１は予め定めた自然数）の共起語を１段共起語として一時的に記憶する。そして、共起伝播部１０９は、Ｍ１件の１段共起語のそれぞれについて、共起辞書３０２を検索して１段共起語に対する共起語を求め、複数求められた共起語のうち、１段共起語との間の共起確率が閾値δ以上となる共起語を２段共起語として一時的に記憶する。さらに、共起伝播部２０９は、１段共起語に繋がる共起語の個数が予め定めた所定値Ａに達するまで、２段共起語から３段共起語、３段共起語から４段共起語といったように、１段共起語に繋がる共起語を順次求める処理を繰り返し、１段共起語に繋がる共起語の個数が所定値Ａに達すると処理を停止する。
【００６２】
すなわち、共起伝播部２０９は、入力キーワードを見出し語とする辞書要素の共起語を１段共起語とし、Ｌ−１段共起語（Ｌは２以上の自然数）を見出し語とする辞書要素の共起語をＬ段共起語としたときに、Ｌを１ずつ増加させながらＬ段共起語を取得する処理を繰り返し、Ｌが所定値Ａになると、入力キーワードからＬ段共起語までの積算共起確率を求めて、処理を停止する。そして、共起伝播部２０９は、処理を停止した段階で得られた入力キーワードからＬ段共起語までを繋げたワード列を、各ワード列の積算共起確率とともに、提案ワード列認識部２１０に対して出力する。なお、第１実施形態と同様に、共起確率の高いキーワード同士で伝播が繰り返されることを避けるために、同じキーワード候補が重複するワード列は処理の対象から除外する。共起伝播部２０９は、入力キーワード認識部１０８から新たな入力キーワードを入力するたびに、上記の処理を実施する。
【００６３】
なお、上記の例では、１段共起語に繋がる共起語の数が所定値Ａに達すると共起伝播部２０９の処理を停止するものとして説明したが、共起伝播部２０９が処理を停止する条件はこの例に限定されるものではなく、例えば、第１実施形態と同様に、積算共起確率が閾値γ以下になると共起伝播部２０９が処理を停止する、あるいは、得られたワード列の数が上限に達すると共起伝播部２０９の処理を停止するといった条件を用いるようにしてもよい。
【００６４】
提案ワード列認識部２１０は、第１実施形態の提案ワード列認識部１１０と同様に、共起伝播部２０９から入力したワード列のうち、第２条件を満たすワード列を提案ワード列と認識し、認識した提案ワード列を表示部１１１に対して出力する。ただし、提案ワード列認識部２１０は、まずゼロ共起辞書３０４を参照し、共起伝播部２１０から入力したワード列の中にゼロ共起キーワード組を構成する２つのキーワード候補を同時に含むワード列が存在するか否かを判定し、そのようなワード列が存在する場合には、該ワード列を除外して、残りのワード列のうち、第２条件を満たすワード列を提案ワード列として表示部１１１に対して出力する。なお、第２条件としては、第１実施形態と同様に、例えば、積算共起確率が大きい順に上位Ｎ件（Ｎは予め定めた自然数）という条件を用いることができる。
【００６５】
図１８は、本実施形態の検索支援装置２００の入力キーワード認識部１０８、共起伝播部２０９および提案ワード列認識部２１０による処理の一例を示すフローチャートである。
【００６６】
入力キーワード認識部１０８は、入力受付部１０７から入力文字列を入力すると、パトリシア木３０３に基づいて、入力文字列を補完して得られるキーワード候補を取得し、取得したキーワード候補のうち、出現頻度が大きい順に上位Ｍ０件のキーワード候補を入力キーワードと認識する（ステップＳ３０１）。そして、入力キーワード認識部１０８は、認識した入力キーワードを、共起伝播部２０９に対して出力する。
【００６７】
次に、共起伝播部２０９は、入力キーワード認識部１０８からＭ０件の入力キーワードを入力すると、共起辞書３０２を参照して、Ｍ０件の入力キーワードの共起語をそれぞれ求め、これら共起語のうち、共起確率が大きい順に上位Ｍ１件のキーワード候補を１段共起語として取得する（ステップＳ３０２）。また、共起伝播部２０９は、共起辞書３０２を参照して、Ｌ−１段共起語（Ｌは２以上の自然数）の共起語をそれぞれ求め、これら共起語のうち、Ｌ−１段共起語との間の共起確率が閾値δ以上となるキーワード候補をＬ段共起語として取得する（ステップＳ３０３）。そして、共起伝播部２０９は、Ｌの値が予め定めた所定値Ａに達したか否かを判定する（ステップＳ３０４）。この判定の結果、Ｌの値が所定値Ａ未満であれば（ステップＳ３０４：Ｎｏ）、共起伝播部２０９は、Ｌの値をインクリメント（＋１）して（ステップＳ３０５）ステップＳ３０３に戻り、Ｌ段共起語を取得する処理を繰り返す。一方、Ｌの値が所定値Ａに達していれば（ステップＳ３０４：Ｙｅｓ）、共起伝播部２０９は、入力キーワードと取得した共起語とを繋げたワード列を、各ワード列の積算共起確率とともに、提案ワード列認識部２１０に対して出力する。
【００６８】
次に、提案ワード列認識部２１０は、共起伝播部２０９からワード列を入力すると、ゼロ共起辞書３０４を参照して、入力したワード列の中にゼロ共起キーワード組を構成する２つのキーワード候補を同時に含むワード列が存在するか否かを判定する（ステップＳ３０６）。そして、提案ワード列認識部２１０は、ゼロ共起キーワード組を構成する２つのキーワード候補を同時に含むワード列が存在する場合は（ステップＳ３０６：Ｙｅｓ）、当該ワード列を削除する（ステップＳ３０７）。一方、入力したワード列の中にゼロ共起キーワード組を構成する２つのキーワード候補を同時に含むワード列が存在しない場合は（ステップＳ３０６：Ｎｏ）、ステップＳ３０７の処理をスキップする。次に、提案ワード列認識部２１０は、ステップＳ３０７で削除したワード列を除く残りのワード列のうち、積算共起確率が大きい順に上位Ｎ件のワード列を提案ワード列として認識する（ステップＳ３０８）。そして、提案ワード列認識部２１０は、認識した提案ワード列を表示部１１１に対して出力する（ステップＳ３０９）。
【００６９】
本実施形態の検索支援装置２００は、第１実施形態の検索支援装置１００と同様に、ハードウェア構成として、例えば、ＣＰＵなどの制御装置、ＲＯＭやＲＡＭなどの内部記憶装置、キーボードやマウスなどの入力デバイス、液晶パネルなどの表示装置、ハードディスク、ＣＤ、ＤＶＤ、フラッシュメモリなどの外部記憶装置を備えた、通常のコンピュータを利用したハードウェア構成を採用することができる。この場合、コンピュータがプログラムを実行することによって、本実施形態の検索支援装置２００における上記の機能的な構成を実現することができる。また、インデックス３０１、共起辞書３０２、およびパトリシア木３０３、ゼロ共起辞書３０４は、例えば、ハードディスクやフラッシュメモリなどの外部記憶装置に格納しておくことができる。
【００７０】
次に、図２に例示した文書集合３００を検索対象として検索を行う場合を例に挙げて、本実施形態の検索支援装置２００による処理の具体例について説明する。以下では、図２に示した文書集合３００から図１０に例示した共起辞書３０２、図１１に例示したパトリシア木３０３、および図１７に例示したゼロ共起辞書３０４が生成されているものとする。
【００７１】
まず、ユーザがキーボードなどの入力デバイスを用いて文字列「お」を入力すると、入力受付部１０７がこの文字列の入力を受け付けて、入力文字列「お」を入力キーワード認識部１０８に対して出力する。入力キーワード認識部１０８は、入力受付部１０７から入力文字列「お」を受け取り、図１１に例示したパトリシア木３０３を検索して、入力キーワードを認識する処理を行う。入力キーワード認識部１０８は、まず、入力文字列「お」に該当するノードを求めるために、図１１に例示したパトリシア木３０３をルートから順に探索し、「お」に該当するノードとして「おり」のノードを取得する。次に、入力キーワード認識部１０８は、その「おり」のノードからたどれるリーフ群を特定し、そのリーフが示す文字列を「おり」に後続する文字列として求め、入力文字列「お」を補完したキーワード候補を求める。この場合は「オリンピック」、「オリオン」および「オリンポス」が得られる。入力キーワード認識部１０８は、得られたキーワード候補のうち、出現頻度が大きい順に上位Ｍ０件を入力キーワードと認識する。ここでは、Ｍ０＝３と定められているものとする。この場合、入力キーワード認識部１０８は、「オリンピック」、「オリオン」および「オリンポス」を入力キーワードと認識し、これらの入力キーワードを共起伝播部２０９に対して出力する。
【００７２】
共起伝播部２０９は、入力キーワード「オリンピック」、「オリオン」および「オリンポス」を入力キーワード認識部１０８から受け取り、図１０に例示した共起辞書３０２を参照して、これら入力キーワードを見出し語とする辞書要素を求める。ここでは、以下に示すような辞書要素が求められる。
（オリオン、花子、０．７５）
（オリオン、小向、０．５）
（オリオン、磯子、０．５）
（オリオン、次郎、０．５）
（オリオン、ワールドカップ、０．５）
（オリオン、出版、０．４）
（オリオン、鎌倉、０．３３）
（オリオン、杉田、０．３３）
（オリオン、東洋、０．２５）
（オリオン、府中、０．２５）
（オリンピック、東洋、０．６７）
（オリンピック、堀川、０．５）
（オリンピック、芝浦、０．５）
（オリンピック、川崎、０．５）
（オリンピック、春子、０．５）
（オリンピック、次郎、０．５）
（オリンピック、世界、０．５）
（オリンピック、陸上、０．５）
（オリンピック、太郎、０．５）
（オリンピック、出版、０．４）
（オリンピック、花子、０．４）
（オリンピック、府中、０．２５）
（オリンポス、鎌倉、０．５）
（オリンポス、東京、０．５）
（オリンポス、府中、０．３３）
（オリンポス、出版、０．２）
（オリンポス、花子、０．２）
【００７３】
次に、共起伝播部２０９は、得られた辞書要素の共起語の中から、見出し語（入力キーワード）との間の共起確率が大きい順に上位Ｍ１件の共起語を１段共起語として取得する。ここでは、Ｍ１＝３に設定されているものとする。なお、見出し語との間の共起確率が同じ共起語については、例えば、見出し語の出現頻度が大きい順、共起語の出現頻度が大きい順などを基準として、取得する共起語を決定することができる。この場合、入力キーワード「オリオン」との間の共起確率が０．７５の「花子」、入力キーワード「オリンピック」との間の共起確率が０．６７の「東洋」、入力キーワード「オリオン」との間の共起確率が０．５の「小向」がそれぞれ１段共起語として取得される。
【００７４】
さらに、共起伝播部２０９は、１段共起語と共起関係にある２段共起語を求めるため、再度共起辞書３０２を参照して、１段共起語を見出し語とする辞書要素を求める。ここでは、以下に示すような辞書要素が求められる。
（花子、オリオン、０．７５）
（花子、府中、０．６）
（花子、鎌倉、０．４）
（花子、杉田、０．４）
（花子、オリンピック、０．４）
（東洋、オリンピック、０．６７）
（東洋、出版、０．６）
（東洋、太郎、０．３３）
（東洋、堀川、０．３３）
（東洋、芝浦、０．３３）
（小向、杉田、０．５）
（小向、東京、０．５）
（小向、オリオン、０．５）
【００７５】
次に、共起伝播部２０９は、得られた辞書要素の共起語の中から、見出し語（１段共起語）との間の共起確率が閾値δ以上となるキーワード候補を２段共起語として取得する。ここでは、閾値δ＝０．４に設定されているものとする。この場合、１段共起語「花子」に対しては、共起確率が０．４以上である「オリオン」、「府中」、「鎌倉」、「杉田」が、それぞれ２段共起語として取得される。ただし、「オリオン」は入力キーワードと重複するため、処理の対象から除外される。また、１段共起語「東洋」に対しては、共起確率が０．４以上である「オリンピック」および「出版」が、それぞれ２段共起語として取得される。ただし、「オリンピック」は入力キーワードと重複するため、処理の対象から除外される。また、１段共起語「小向」に対しては、共起確率が０．４以上である「杉田」、「東京」、「オリオン」が、それぞれ２段共起語として取得される。ただし、「オリオン」は入力キーワードと重複するため、処理の対象から除外される。
【００７６】
以上の処理の結果、入力キーワードと１段共起語と２段共起語とを繋げたワード列として、（オリオン、花子、府中）、（オリオン、花子、鎌倉）、（オリオン、花子、杉田）、（オリンピック、東洋、出版）、（オリオン、小向、杉田）、（オリオン、小向、東京）が得られる。
【００７７】
次に、共起伝播部２０９は、１段共起語に繋がる共起語の個数が予め定めた所定値Ａに達したか否かを確認する。ここでは、簡単のために所定値Ａ＝１に設定されているものとする。この場合、共起伝播部２０９は、２段共起語が取得された段階で処理を停止し、それまでの処理で得られたワード列についてそれぞれ積算共起確率を求めて、（オリオン、花子、府中、０．４５）、（オリオン、花子、鎌倉、０．４５）、（オリオン、花子、杉田、０．３）、（オリンピック、東洋、出版、０．４）、（オリオン、小向、杉田、０．２５）、（オリオン、小向、東京、０．２５）を提案ワード列認識部２１０に対して出力する。
【００７８】
提案ワード列認識部２１０は、共起伝播部２０９からワード列である（オリオン、花子、府中、０．４５）、（オリオン、花子、鎌倉、０．４５）、（オリオン、花子、杉田、０．３）、（オリンピック、東洋、出版、０．４）、（オリオン、小向、杉田、０．２５）、（オリオン、小向、東京、０．２５）を受け取ると、まず、ゼロ共起辞書３０４を参照し、これらのワード列の中に、ゼロ共起キーワード組を構成する２つのキーワード候補を同時に含むワード列が存在する場合は、当該ワード列を削除する。図１７に例示したゼロ共起辞書３０４には、「オリオン」を見出し語とし、「東京」をゼロ共起語とする辞書要素が存在し、上記ワード列のうち（オリオン、小向、東京、０．２５）は「オリオン」と「東京」とを同時に含むため、（オリオン、小向、東京、０．２５）が削除される。
【００７９】
次に、提案ワード列認識部２１０は、削除されずに残ったワード列（オリオン、花子、府中、０．４５）、（オリオン、花子、鎌倉、０．４５）、（オリオン、花子、杉田、０．３）、（オリンピック、東洋、出版、０．４）、（オリオン、小向、杉田、０．２５）のうち、積算共起確率が大きい順に上位Ｎ件を提案ワード列と認識する。ここでは、Ｎ＝４と定められているものとする。なお、積算共起確率が同じワード列については、例えば、入力キーワードの出現頻度が大きい順、１段共起語の出現頻度が大きい順、２段共起語の出現頻度が大きい順などを基準として、Ｎ件の提案ワード列を決定することができる。この場合、提案ワード列認識部２１０は、（オリオン、花子、府中）、（オリオン、花子、鎌倉）、（オリオン、花子、杉田）、（オリンピック、東洋、出版）をそれぞれ提案ワード列と認識し、これらの提案ワード列を表示部１１１に対して出力する。
【００８０】
提案ワード列認識部２１０が表示部１１１に出力する提案ワード列は、いずれもユーザが選択したときに確実に検索結果が得られる（つまり、ヒット件数がゼロにならない）ワード列である。例えば（オリオン、花子、府中）が選択されれば、図２に例示した文書集合３００の中で［文書２］が得られ、（オリオン、花子、鎌倉）が選択されれば、図２に例示した文書集合３００の中で［文書２］が得られ、（オリオン、花子、杉田）が選択されれば、図２に例示した文書集合３００の中で［文書３］が得られ、（オリンピック、東洋、出版）が選択されれば、図２に例示した文書集合３００の中で［文書１］が得られる。
【００８１】
表示部１１１は、提案ワード列認識部２１０から提案ワード列（オリオン、花子、府中）、（オリオン、花子、鎌倉）、（オリオン、花子、杉田）、（オリンピック、東洋、出版）を受け取ると、これら提案ワード列を表示してユーザに提示する。そして、ユーザがマウスなどの入力デバイスを用いて、表示部１１１に表示された提案ワード列のうち、例えば（オリンピック、東洋、出版）を選択する操作を行うと、この選択操作が入力受付部１０７によって受け付けられ、提案ワード列に含まれる「オリンピック」、「東洋」、および「出版」の各キーワード候補がそれぞれ検索部１１２に出力される。なお、提案ワード列が表示部１１１に表示された状態で、ユーザがいずれかの提案ワード列を選択せずに文字列の入力を続け、例えば「おりお」という文字列を入力した場合は、入力キーワード認識部１０８が「オリオン」を入力キーワードとして認識し、以降、同様の処理が行われる。
【００８２】
検索部１１２は、入力受付部１０７から「オリンピック」、「東洋」、および「府中」を受け取ると、これらのキーワード候補のすべてを検索キーワードとして含む検索式を生成して、文書集合３００に対する検索を行う。その結果、図２に例示した文書集合３００の中から［文書１］が得られ、［文書１］についての情報が検索結果として表示部１１１に表示される。
【００８３】
以上、具体的な例を挙げながら詳細に説明したように、本実施形態の検索支援装置２００によれば、第１実施形態の検索支援装置１００と同様に、ユーザは検索対象の文書集合３００を指定するだけで、その文書集合３００に含まれるキーワード候補のうち、共起確率が大きいキーワード候補の組み合わせである共起キーワード組が検出され、共起キーワード組に基づいた共起辞書３０２が生成されるとともに、入力文字列を補完して共起キーワード組を構成するキーワード候補を入力キーワードとして得るための文字列補完規則であるパトリシア木３０３が生成される。そして、ユーザが文字列を入力すると、その入力文字列に対応した入力キーワードと、入力キーワードから共起関係が伝播する共起語とを繋げた提案ワード列がユーザに提示され、提示された提案ワード列をユーザが選択すると、検索対象の文書集合３００から提案ワード列に含まれるキーワード候補をすべて含んだ文書の検索が行われる。したがって、本実施形態の検索支援装置２００によれば、ユーザに事前の煩雑な操作を要求することなく、検索対象の文書集合３００に適合した検索キーワードの候補を提案し、文書の検索を適切に支援することができる。
【００８４】
また、本実施形態の検索支援装置２００によれば、共起関係がゼロとなる２つのキーワード候補の組み合わせであるゼロ共起キーワード組が検出され、ゼロ共起辞書３０４が生成される。そして、提案ワード列認識部２１０は、ゼロ共起辞書３０４を参照し、ゼロ共起キーワード組を構成する２つのキーワード候補を同時に含むワード列を除いたワード列を、提案ワード列として表示部１１１に出力する。したがって、本実施形態の検索支援装置２００によれば、確実に検索結果が得られる提案ワード列のみをユーザに提示して、ユーザが無駄な検索を行うことがないように、適切に検索を支援することができる。
【００８５】
以上説明した第１および第２実施形態の検索装置１００，２００における各機能構成は、例えば、検索支援装置１００，２００のハードウェア構成としてコンピュータを用いる場合、このコンピュータで所定のプログラムを実行することにより実現できる。検索支援装置１００，２００として用いるコンピュータで実行されるプログラムは、インストール可能な形式又は実行可能な形式のファイルでＣＤ−ＲＯＭ（Compact  Disk  Read  Only  Memory）、フレキシブルディスク（ＦＤ）、ＣＤ−Ｒ（Compact  Disk  Recordable）、ＤＶＤ（Digital  Versatile  Disc）等のコンピュータで読み取り可能な記録媒体に記録されてコンピュータプログラムプロダクトとして提供される。
【００８６】
また、検索支援装置１００，２００として用いるコンピュータで実行されるプログラムを、インターネット等のネットワークに接続された他のコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するように構成してもよい。また、検索支援装置１００，２００として用いるコンピュータで実行されるプログラムをインターネット等のネットワーク経由で提供または配布するように構成してもよい。また、検索支援装置１００，２００として用いるコンピュータで実行されるプログラムを、コンピュータ内部のＲＯＭ等に予め組み込んで提供するように構成してもよい。
【００８７】
検索支援装置１００，２００として用いるコンピュータで実行されるプログラムは、検索支援装置１００，２００の主要な構成要素（キーワード候補抽出部１０１、共起確率算出部１０３、共起キーワード組検出部１０４、ゼロ共起キーワード組検出部２０１、共起辞書生成部１０５、パトリシア木生成部１０６、ゼロ共起辞書生成部２０２、入力キーワード認識部１０８、共起伝播部１０９，２０９、提案ワード列認識部１１０，２１０、表示部１１１、検索部１１２）を含むモジュール構成となっており、実際のハードウェアとしては、例えば、ＣＰＵ（プロセッサ）が記憶媒体からプログラムを読み出して実行することにより、上記の各構成要素が主記憶装置上にロードされ、上記の各構成要素が主記憶装置上に生成されるようになっている。なお、実施形態の検索支援装置１００，２００の主要な構成要素は、その一部または全部を、ＡＳＩＣ（Application  Specific  Integrated  Circuit）やＦＰＧＡ（Field-Programmable  Gate  Array）などの専用のハードウェアを用いて実現することも可能である。
【００８８】
以上述べた少なくとも一つの実施形態の検索支援装置によれば、上記の主要な構成要素を備えることにより、ユーザに事前の煩雑な操作を要求することなく、検索対象の文書集合に適合した検索キーワードの候補を提案し、文書の検索を適切に支援することができる。
【００８９】
以上、本発明のいくつかの実施形態を説明したが、これら実施形態は例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【００９０】
１００  検索支援装置
１０１  キーワード候補抽出部
１０３  共起確率算出部
１０４  共起キーワード組検出部
１０５  共起辞書生成部
１０６  パトリシア木生成部
１０８  入力キーワード認識部
１０９  共起伝播部
１１０  提案ワード列認識部
１１１  表示部
１１２  検索部
２００  検索支援装置
２０１  ゼロ共起キーワード組検出部
２０２  ゼロ共起辞書生成部
２０９  共起伝播部
２１０  提案ワード列認識部
【図１】
0005426710.tif 000002
【図２】
0005426710.tif 000003
【図３】
0005426710.tif 000004
【図４】
0005426710.tif 000005
【図５】
0005426710.tif 000006
【図６】
0005426710.tif 000007
【図７】
0005426710.tif 000008
【図８】
0005426710.tif 000009
【図９】
0005426710.tif 000010
【図１０】
0005426710.tif 000011
【図１１】
0005426710.tif 000012
【図１２】
0005426710.tif 000013
【図１３】
0005426710.tif 000014
【図１４】
0005426710.tif 000015
【図１５】
0005426710.tif 000016
【図１６】
0005426710.tif 000017
【図１７】
0005426710.tif 000018
【図１８】
0005426710.tif 000019