(57)【要約】      （修正有）【課題】テキストを検索する検索装置において、質問文の文字入力に応じて適時文意に沿った検索結果を提供する。【解決手段】検索装置は、複数の検索対象文に含まれる文節中の名詞について、名詞と名詞の深層格と名詞を含む検索対象文とを対応付けて格納する格納部と、質問文の一又は複数の文字が入力される度に、入力された一又は複数の文字からなる文字列から文節の抽出を試みる第一の抽出部と、格納部から、抽出された文節中の名詞と名詞の深層格とに一致する一又は複数の検索対象文を抽出する第二の抽出部と、抽出された一又は複数の検索対象文を出力する出力部とを有する。【選択図】図１６
2013206130.tif 000002
【特許請求の範囲】
【請求項１】
複数の検索対象文に含まれる文節中の名詞について、当該名詞と当該名詞の深層格と当該名詞を含む検索対象文とを対応付けて格納する格納部と、
質問文の一又は複数の文字が入力される度に、入力された前記一又は複数の文字からなる文字列から文節の抽出を試みる第一の抽出部と、
前記格納部から、抽出された前記文節中の名詞と当該名詞の深層格とに一致する一又は複数の検索対象文を抽出する第二の抽出部と、
抽出された前記一又は複数の検索対象文を出力する出力部と、
を有する検索装置。
【請求項２】
前記第二の抽出部は、前記第一の抽出部により複数の文節が抽出された場合に、抽出された前記複数の文節のうち各文節中の名詞と当該名詞の深層格とに一致する前記一又は複数の検索対象文を抽出する
請求項１記載の検索装置。
【請求項３】
前記第二の抽出部は、抽出された前記文節中の前記名詞と助詞に基づいて、前記名詞の前記深層格を判定する
請求項１又は２記載の検索装置。
【請求項４】
前記第二の抽出部は、抽出された前記文節中の前記名詞について体言の属性を判定し、判定した前記体言の属性と抽出された前記文節中の前記助詞との組み合わせに基づいて、前記名詞の前記深層格を判定する
請求項３記載の検索装置。
【請求項５】
前記第二の抽出部は、抽出された前記文節中に疑問詞が含まれる場合に、前記格納部から、任意の名詞と当該疑問詞の深層格とを対応付ける一又は複数の検索対象文を抽出する
１乃至４のいずれか１つ記載の検索装置。
【請求項６】
前記第二の抽出部は、抽出された前記文節中の前記疑問詞と助詞との組み合わせに基づいて、前記疑問詞の前記深層格を判定する
請求項５記載の検索装置。
【請求項７】
前記出力部は、抽出された前記検索対象文の文字列において、一致した前記名詞を含む文節の文字を、他の文字と区別して出力する
請求項１乃至６のいずれか１つ記載の検索装置。
【請求項８】
前記出力部は、抽出された前記検索対象文の文字列において、一致した前記名詞を含む文節の文字及び前記疑問詞の前記深層格と対応付けられている前記任意の名詞を含む文節の文字を、他の文字と区別して出力する
請求項５又は６記載の検索装置。
【請求項９】
前記検索装置は、更に、
抽出された前記複数の検索対象文の文字列において、一致した前記名詞を含む文節の文字数が、抽出された前記複数の検索対象文の全体の文字数に対して占める割合に応じて、抽出された前記複数の検索対象文を順位付けするソート部を有し、
前記出力部は、前記順位付けに従って、抽出された前記複数の検索対象文を出力する
請求項１乃至８のいずれか１つ記載の検索装置。
【請求項１０】
前記検索装置は、更に、
前記第二の抽出部による抽出の頻度に応じて、抽出された前記複数の検索対象文を順位付けするソート部を有し、
前記出力部は、前記順位付けに従って、抽出された前記複数の検索対象文を出力する
請求項１乃至８のいずれか１つ記載の検索装置。
【請求項１１】
前記検索装置は、複数の検索端末と接続可能であり、
前記複数の検索端末からの操作により、前記第二の抽出部による前記抽出の頻度が更新される
請求項１０記載の検索装置。
【請求項１２】
質問文の一又は複数の文字が入力される度に、入力された前記一又は複数の文字からなる文字列から文節の抽出を試みる第一の抽出処理と、
複数の検索対象文に含まれる文節中の名詞について、当該名詞と当該名詞の深層格と当該名詞を含む検索対象文とを対応付けて格納する格納部から、抽出された前記文節中の名詞と当該名詞の深層格とに一致する一又は複数の検索対象文を抽出する第二の抽出処理と、
抽出された前記一又は複数の検索対象文を出力する出力処理
をコンピュータが実行する検索方法。
【請求項１３】
質問文の一又は複数の文字が入力される度に、入力された前記一又は複数の文字からなる文字列から文節の抽出を試みる第一の抽出処理と、
複数の検索対象文に含まれる文節中の名詞について、当該名詞と当該名詞の深層格と当該名詞を含む検索対象文とを対応付けて格納する格納部から、抽出された前記文節中の名詞と当該名詞の深層格とに一致する一又は複数の検索対象文を抽出する第二の抽出処理と、
抽出された前記一又は複数の検索対象文を出力する出力処理
をコンピュータに実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本技術は、テキストの検索に関する。
【背景技術】
【０００２】
論文やニュース記事などが格納されたテキストデータベースを検索する場合に、複数の関連語をＡＮＤ条件又はＯＲ条件で組み合わせた検索条件によって検索するブーリアン検索という方法が知られている。ブーリアン検索は、多くの場合に、自立語のみを対象としたインデックスを用いて検索するため、助詞の情報を検索条件に反映しにくいという欠点がある。ブーリアン検索は、異なる助詞を含む文節の違いを判別できないという面がある。例えば、「ＰＣでマウスを買う」という文を探そうとして、「ＰＣ」と「マウス」とを関連語に設定した場合には、本来意図しない「ＰＣのマウスを買う」という文が検索結果に含まれることになる。ブーリアン検索は、このように十分に文を絞り込めないことがある。
【０００３】
他に、文全体の一致を判定するフルテキスト検索も知られている。フルテキスト検索の場合は、条件文の中に助詞に含めることができるが、助詞ゆれに対応できないという問題がある。
【０００４】
日本語では、同じ意味あるいは近似する意味の助詞が多数ある。そのため、条件文で用いた助詞と同じ意味の他の助詞を用いた文がテキストデータベースに格納されていることもあり得る。しかし、フルテキスト検索は表記の一致により検索するので、意味が同じでも表記が違うと検索されないことになる。例えば、「ＰＣでマウスを買う」という条件文を設定した場合には、「ＰＣによってマウスを買う」という文は検索されない。また、「ＰＣのマウスを買う」と条件文を設定した場合にも、「ＰＣ用マウスを買う」という文は検索されない。
【０００５】
フルテキスト検索には、更に、文節位置の違いに対応できないという問題もある。日本語では、同じ文節を有する文同士は、例え文節の順番が違っても同じ意味となることが多い。従って、条件文と文節の順番のみが違う文も、検索されることが望ましい。しかし、フルテキスト検索では、文節位置が違う文は、表記が異なると判定されるために検索されない。例えば、「ＰＣでマウスを買う」と条件文を設定した場合には、同じ意味である「マウスをＰＣで買う」という文は検索されない。
【０００６】
このように、フルテキスト検索は、意図した文を抽出しにくいという問題を含んでいる。そのため、ユーザは、頻繁に条件文を変更して、試行を繰り返さなければならないという煩雑さを感じることが多い。
【０００７】
上述のブーリアン検索とフルテキスト検索は、条件を設定した後に検索を行うクエリ検索に類するものである。クエリ検索の他に、インクリメンタル検索も知られている。インクリメンタル検索は、文字を入力する度に検索を行う方法であり、辞書やアドレス帳のように単語の検索に用いられることが多い。状況に応じて、検索結果を絞りこむことができ、インクリメンタル検索は、小規模のデータベースにおける検索に向いていると言える。但し、助詞を含む文を条件として検索する場合には、インクリメンタル検索も、フルテキスト検索と同様に、助詞のゆれに対応できないという問題と、文節位置の違いに対応できないという問題を有している。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特開平０７−０８５０５１号公報
【特許文献２】特開２００９−１７６１６９号公報
【特許文献３】特開２００３−２６３４２８号公報
【特許文献４】特開平０１−２４３１１６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００９】
従って、本技術の目的は、一側面では、質問文の文字入力に応じて適時文意に沿った検索結果を提供することである。
【課題を解決するための手段】
【００１０】
本技術の一側面に係る検索装置は、（Ａ）複数の検索対象文に含まれる文節中の名詞について、当該名詞と当該名詞の深層格と当該名詞を含む検索対象文とを対応付けて格納する格納部と、（Ｂ）質問文の一又は複数の文字が入力される度に、入力された一又は複数の文字からなる文字列から文節の抽出を試みる第一の抽出部と、（Ｃ）格納部から、抽出された文節中の名詞と当該名詞の深層格とに一致する一又は複数の検索対象文を抽出する第二の抽出部と、（Ｄ）抽出された一又は複数の検索対象文を出力する出力部とを有する。
【発明の効果】
【００１１】
テキストを検索する検索装置において、質問文の文字入力に応じて適時文意に沿った検索結果を提供することができる。
【図面の簡単な説明】
【００１２】
【図１】図１は、検索システムのネットワーク構成の例を示す図である。
【図２】図２は、質問文と検索結果の第１例を示す図である。
【図３】図３は、質問文と検索結果の第１例を示す図である。
【図４】図４は、質問文と検索結果の第１例を示す図である。
【図５】図５は、質問文と検索結果の第２例を示す図である。
【図６】図６は、質問文と検索結果の第２例を示す図である。
【図７】図７は、質問文と検索結果の第３例を示す図である。
【図８】図８は、質問文と検索結果の第３例を示す図である。
【図９】図９は、質問文と検索結果の第３例を示す図である。
【図１０】図１０は、質問文と検索結果の第３例を示す図である。
【図１１】図１１は、検索サーバのうち解析に係る構成例を示す図である。
【図１２】図１２は、文データベースの例を示す図である。
【図１３】図１３は、ラベル付き有効グラフの例を示す図である。
【図１４】図１４は、第１の実施の形態に係る用言テーブルの例を示す図である。
【図１５】図１５は、第１の実施の形態に係る体言テーブルの例を示す図である。
【図１６】図１６は、検索サーバのうち文検索に係る構成例を示す図である。
【図１７】図１７は、深層格規則記憶部の例を示す図である。
【図１８】図１８は、深層格規則記憶部の例を示す図である。
【図１９】図１９は、検索サーバの文検索の全体処理フローの例を示す図である。
【図２０】図２０は、検索処理フローの例を示す図である。
【図２１】図２１は、新たな文節について検索する処理フローの例を示す図である。
【図２２】図２２は、新たな文節について検索する処理フローの例を示す図である。
【図２３】図２３は、新たな文節について検索する処理フローの例を示す図である。
【図２４】図２４は、新たな文節について検索する処理フローの例を示す図である。
【図２５】図２５は、全体の検索結果を更新する処理フローの例を示す図である。
【図２６】図２６は、ソート処理フローの例を示す図である。
【図２７Ａ】図２７Ａは、第２の実施の形態に係る用言テーブルの例を示す図である。
【図２７Ｂ】図２７Ｂは、第２の実施の形態に係る用言テーブルの例を示す図である。
【図２８】図２８は、第２の実施の形態に係る新たな文節について検索する処理フローの例を示す図である。
【図２９】図２９は、第２の実施の形態に係る新たな文節について検索する処理フローの例を示す図である。
【図３０】図３０は、第３の実施の形態に係る用言テーブルの例を示す図である。
【図３１】図３１は、第４の実施の形態に係る全体の検索結果を更新する処理フローの例を示す図である。
【図３２】図３２は、第５の実施の形態に係る文検索の全体処理フローの例を示す図である。
【図３３】図３３は、コンピュータの機能ブロック図である。
【発明を実施するための形態】
【００１３】
［実施の形態１］
図１は、検索システムのネットワーク構成の例を示す図である。検索サーバ１と検索端末３は、ネットワークを介して接続されている。ネットワークは、例えば、インターネットあるいはＬＡＮ（Local Area Network）などである。検索サーバ１は、テキスト検索のサービスを提供するサーバであり、検索端末３は、検索サーバ１を利用するユーザが使用する端末である。
【００１４】
検索端末３から検索サーバ１にアクセスすると、検索サーバ１は、検索端末３に検索画面の情報（例えば、ＨＴＭＬ（Hyper Text Markup Language）文書）を送信する。検索端末３は、受信した検索画面の情報に従って検索画面を表示する。検索端末３は、例えば、ブラウザにより検索画面を表示させる。
【００１５】
検索画面は、検索端末３のユーザへ質問文の入力を促すメッセージと、検索端末３から質問文を一文字又は複数文字を受け付け、受け付けた文字からなる文字列を表示する領域を有する。検索画面で受け付けた一文字又は複数文字は、検索端末３から検索サーバ１へ転送される。検索画面は、更に一文字又は複数文字の受け付けに応答して、検索結果を表示し得る領域を有する。検索結果は、検索サーバ１から検索端末３へ転送されたものである。
【００１６】
以下で、本実施の形態の検索サーバ１の検索サービスで受け付ける質問文とそれに応答する検索結果の例について説明する。
【００１７】
第１例では、助詞の付いた動作主格の疑問詞を含む文節が質問文に含まれる場合について説明する。図２は、「図書館」の文字列の受け付けに続いて「で」の文字を受け付けた場合の検索画面の例を示している。
【００１８】
検索サーバ１は、質問文から名詞「図書館」と助詞「で」からなる文節を抽出し、名詞「図書館」の体言の属性を「施設」と判定し、体言の属性「施設」と助詞「で」の組み合わせから深層格は場所格であると判定する。検索サーバ１は、更に、場所格の名詞「図書館」を有する検索対象文を抽出して、検索結果として表示させる。
【００１９】
この例の検索結果では、場所格の名詞「図書館」を含む文節が該当範囲であり、その該当範囲に下線が付されている。図中第１文では、「図書館で太郎が自転車を盗まれた。」のうち「図書館で」が該当範囲であり、第２文では、「図書館で人気のある本は韓国の本である。」のうち「図書館で」が該当範囲であり、第３文では、「１日の午後に図書館でコンサートがある。」のうち「図書館で」が該当範囲であり、第４文では、「花子の娘は学校の図書館で弁当を食べる。」のうち「図書館で」が該当範囲であり、第５文では、「墨田の図書館で受付の仕事を募集している。」のうち「図書館で」が該当範囲であり、第６文では、「佐藤さんが金曜日に図書館でお茶を飲んだ。」のうち「図書館で」が該当範囲である。
【００２０】
図３は、図２の続きとして、「誰」の文字の受け付けに続いて「が」の文字を受け付けた場合の検索画面の例を示している。
【００２１】
検索サーバ１は、質問文から疑問詞「誰」と助詞「が」からなる文節を抽出し、疑問詞「誰」と助詞「が」の組み合わせから深層格は動作主格であると判定する。検索サーバ１は、更に、動作主格の任意の名詞を有する検索対象文を抽出して、抽出した検索対象文と図２の検索結果の検索対象文とにおいて重複する検索対象文を、新たな検索結果として表示させる。
【００２２】
この例の検索結果では、場所格の名詞「図書館」を含む文節に加えて、動作主格の任意の名詞を含む文節が該当範囲であり、その該当範囲に下線が付されている。図中第１文では、「花子の娘は学校の図書館で弁当を食べる。」のうち「花子の娘は」と「図書館で」が該当範囲である。第２文では、「佐藤さんが金曜日に図書館でお茶を飲んだ。」のうち「佐藤さんが」と「図書館で」が該当範囲であり、第３文では、「図書館で太郎が自転車を盗まれた。」のうち「図書館で」と「太郎が」が該当範囲である。
【００２３】
尚、この例の第１文では、疑問詞「誰」に対応する任意の名詞「娘」について、体言修飾格の文節「花子の」も該当範囲に含めている。
【００２４】
図４は、図３の続きとして、「弁当」の文字列の受け付けに続いて「を」の文字を受け付けた場合の検索画面の例を示している。
【００２５】
検索サーバ１は、質問文から名詞「弁当」と助詞「を」からなる文節を抽出し、名詞「弁当」の体言の属性を「食物」と判定し、体言の属性「食物」と助詞「を」の組み合わせから深層格は対象格であると判定する。検索サーバ１は、更に、対象格の名詞「弁当」を有する検索対象文を抽出して、抽出した検索対象文と図３の検索結果の検索対象文とにおいて重複する検索対象文を、新たな検索結果として表示させる。
【００２６】
この例の検索結果では、場所格の名詞「図書館」を含む文節と動作主格の任意の名詞を含む文節に加えて、対象格の名詞「弁当」を含む文節が該当範囲であり、その該当範囲に下線が付されている。図中、第１文では、「花子の娘は学校の図書館で弁当を食べる。」のうち「花子の娘は」と「図書館で」と「弁当を」が該当範囲である。
【００２７】
第２例では、助詞が付かない時間格の疑問詞を含む文節が質問文に含まれる場合について説明する。図５は、「東京タワー」の文字列の受け付けに続いて、「は」の文字を受け付けた場合の検索画面の例を示している。
【００２８】
検索サーバ１は、質問文から名詞「東京タワー」と助詞「は」からなる文節を抽出し、名詞「東京タワー」の体言の属性を「施設」と判定し、体言の属性「施設」と助詞「は」の組み合わせから深層格は動作主格、対象格、あるいは場所格であると判定する。検索サーバ１は、更に、動作主格、対象格、あるいは場所格のいずれかの名詞「東京タワー」を有する検索対象文を抽出して、検索結果として表示させる。
【００２９】
この例の検索結果では、動作主格、対象格、あるいは場所格の名詞「東京タワー」を含む文節が該当範囲であり、その該当範囲に下線が付されている。図中第１文では、「東京タワーが私の故郷だ。」のうち「東京タワーが」が該当範囲であり、第２文では、「東京タワーは東京の名所だ。」のうち「東京タワーは」が該当範囲であり、第３文では、「父は東京タワーを設計した人の一人だ。」のうち「東京タワーを」が該当範囲であり、第４文では、「１９５８年に東京タワーが建設された。」のうち「東京タワーが」が該当範囲であり、第５文では、「東京タワーは昭和３３年に建てられました。」のうち「東京タワーは」が該当範囲である。
【００３０】
図６は、図５の続きとして、「いつ」の文字列を受け付けた場合の検索画面の例を示している。検索サーバ１は、質問文から助詞のない疑問詞「いつ」からなる文節を抽出し、疑問詞「いつ」と助詞無しの組み合わせから深層格は時間格であると判定する。検索サーバ１は、更に、時間格の任意の名詞を有する検索対象文を抽出して、抽出した検索対象文と図５の検索結果の検索対象文とにおいて重複する検索対象文を、新たな検索結果として表示させる。
【００３１】
この例の検索結果では、動作主格、対象格、あるいは場所格の名詞「東京タワー」を含む文節に加えて、時間格の任意の名詞を含む文節が該当範囲であり、その該当範囲に下線が付されている。図中第１文では、「１９５８年に東京タワーが建設された。」のうち「１９５８年に」と「東京タワーが」が該当範囲であり、第２文では、「東京タワーは昭和３３年に建てられました。」のうち「東京タワーは」と「昭和３３年に」が該当範囲である。
【００３２】
第３例では、体言修飾格の疑問詞を含む文節が質問文に含まれる場合について説明する。図７は、「弁当」の文字列の受け付けに続いて、「を」の文字を受け付けた場合の検索画面の例を示している。
【００３３】
検索サーバ１は、質問文から名詞「弁当」と助詞「を」からなる文節を抽出し、名詞「弁当」の体言の属性を「食物」と判定し、体言の属性「食物」と助詞「を」の組み合わせから深層格は対象格であると判定する。検索サーバ１は、更に、対象格の名詞「弁当」を有する検索対象文を抽出して、検索結果として表示させる。
【００３４】
この例の検索結果では、対象格の名詞「弁当」を含む文節が該当範囲であり、その該当範囲に下線が付されている。図中第１文では、「花子が弁当を買った。」のうち「弁当を」が該当範囲であり、第２文では、「太郎は弁当を自分で作る。」のうち「弁当を」が該当範囲であり、第３文では、「太郎は弁当を図書館で食べる。」のうち「弁当を」が該当範囲であり、第４文では、「宏はお母さんの作った弁当を持ってくる。」のうち「弁当を」が該当範囲であり、第５文では、「花子の娘は学校の図書館で弁当を食べる。」のうち「弁当を」が該当範囲である。
【００３５】
図８は、図７の続きとして、「図書館」の文字列の受け付けに続いて「で」の文字を受け付けた場合の検索画面の例を示している。
【００３６】
検索サーバ１は、質問文から名詞「図書館」と助詞「で」からなる文節を抽出し、名詞「図書館」の体言の属性を「施設」と判定し、体言の属性「施設」と助詞「で」の組み合わせから深層格は場所格であると判定する。検索サーバ１は、更に、場所格の名詞「図書館」を有する検索対象文を抽出して、抽出した検索対象文と図７の検索結果の検索対象文とにおいて重複する検索対象文を、新たな検索結果として表示させる。
【００３７】
この例の検索結果では、対象格の名詞「弁当」を含む文節に加えて、場所格の名詞「図書館」を含む文節が該当範囲であり、その該当範囲に下線が付されている。図中第１文では、「太郎は弁当を図書館で食べる。」のうち「弁当を」と「図書館で」が該当範囲であり、第２文では、「花子の娘は学校の図書館で弁当を食べる。」のうち「図書館で」と「弁当を」が該当範囲である。
【００３８】
図９は、図８の続きとして、「食べるの」の文字列の受け付けに続いて、「は」の文字を受け付けた場合の検索画面の例を示している。
【００３９】
検索サーバ１は、質問文から述語「食べる」を含む文節を抽出し、述語「食べる」を有する検索対象文を抽出して、抽出した検索対象文と図８の検索結果の検索対象文とにおいて重複する検索対象文を、新たな検索結果として表示させる。
【００４０】
この例の検索結果では、対象格の名詞「弁当」を含む文節と場所格の名詞「図書館」を含む文節に加えて、述語「食べる」を含む文節が該当範囲であり、その該当範囲に下線が付されている。図中第１文では、「太郎は弁当を図書館で食べる。」のうち「弁当を」と「図書館で」と「食べる」が該当範囲であり、第２文では、「花子の娘は学校の図書館で弁当を食べる。」のうち「図書館で」と「弁当を」と「食べる」が該当範囲である。
【００４１】
図１０は、図９の続きとして、「誰」の文字の受け付けに続いて「の」の文字を受け付けた場合の検索画面の例を示している。
【００４２】
検索サーバ１は、質問文から疑問詞「誰」と助詞「の」からなる文節を抽出し、疑問詞「誰」と助詞「の」の組み合わせから深層格は体言修飾格であると判定する。検索サーバ１は、更に、体言修飾格の任意の名詞を有する検索対象文を抽出して、抽出した検索対象文と図９の検索結果の検索対象文とにおいて重複する検索対象文を、新たな検索結果として表示させる。
【００４３】
この例の検索結果では、対象格の名詞「弁当」を含む文節と場所格の名詞「図書館」を含む文節と述語「食べる」を含む文節とに加えて、体言修飾格の任意の名詞を含む文節が該当範囲であり、その該当範囲に下線が付されている。図中の文では、「花子の娘は学校の図書館で弁当を食べる。」のうち「花子の」と「図書館で」と「弁当を」と「食べる」が該当範囲である。
【００４４】
以上で、質問文と検索結果の例の説明を終える。続いて、検索サーバ１の動作について説明する。まず、事前の処理である解析について述べる。検索サーバ１のうち解析に係る構成例を図１１に示す。検索サーバ１は、文データベース１１と、解析部１３と、文構造格納部１５とを有している。
【００４５】
文データベース１１は、検索対象となる文を格納するデータベースである。文データベース１１は、例えば、ハードディスク装置などの記憶領域に設けられる。この例では、文データベース１１は、検索サーバ１内に設けられているが、検索サーバ１の外に設けてもよい。文データベース１１を検索サーバ１の外に設ける場合には、文データベース１１は、例えばインターネットあるいはＬＡＮなどのネットワークを介して検索サーバ１に接続してもよい。
【００４６】
図１２に、文データベース１１に格納されるデータの例を示す。文データベース１１は、検索対象文毎にレコードを設け、文ＩＤと原文と文長とを対応付けて記憶する。この例で、文長は句点を含む文字数であるが、句点を除く文字数であってもかまわない。
【００４７】
図１１に戻って、解析部１３は、文データベース１１に含まれる各検索対象の原文（以下、検索対象文という。）を解析し、解析結果である文構造の情報を文構造格納部１５に格納するように動作する。
【００４８】
検索対象文の解析は、形態素解析のステップ、文節合成のステップ、係り受け解析のステップ、意味解析のステップ、データ格納のステップの手順で行われる。以下、図１２の文ＩＤがＤ１０２である原文「花子の娘は学校の図書館で弁当を食べる。」を例に説明する。
【００４９】
解析部１３は、最初の形態素解析のステップで、辞書を参照して文を単語単位に分割する。その結果、例えば「/花子(N)/の(P)/娘(N)/は(P)/学校(N)/の(P)/図書館(N)/で(P)/弁当(N)/を(P)/食べる(V)/」のデータ列が得られる。この例で、「/」は単語の区切りを示し、(N)と(P)と(V)は品詞の種類を表し、特に(N)は名詞を示し、(P)は助詞を示し、(V)は動詞を示している。
【００５０】
解析部１３は、次の文節合成のステップで、原則的に名詞と助詞をつないで、前述のデータ列を文節単位のデータ列に変換する。この例では、「/花子の/娘は/学校の/図書館で/弁当を/食べる/」の文節単位のデータ列が得られる。
【００５１】
解析部１３は、次の係り受け解析のステップで、文節相互の係り受けの関係を、規則に従って解析する。この例では、「/花子の/」の文節は「/娘は/」の文節に係り、「/娘は/」の文節は「/食べる/」の文節に係り、「/学校の/」の文節は「/図書館で/」の文節に係り、「/図書館で/」の文節は「/食べる/」の文節に係り、更に「/弁当を/」の文節は「/食べる/」の文節に係る関係が解析される
【００５２】
解析部１３は、次の意味解析のステップで、修飾語と被修飾語の関係を、規則に従って特定する。この例では、図１３に示すラベル付き有効グラフが得られる。
【００５３】
このラベル付き有効グラフの例では、名詞と動詞がノードとなり、ノード間の修飾関係を矢印とラベルで示している。図中、先ノード「娘」は、元ノード「食べる」に対する動作主格であり、先ノード「花子」は、元ノード「娘」に対する体言修飾格であり、先ノード「弁当」は、元ノード「食べる」に対する対象格であり、先ノード「図書館」は、元ノード「食べる」に対する場所格であり、先ノード「学校」は、元ノード「図書館」に対する体言修飾格の修飾関係であることを示している。
【００５４】
このような文構造は、用言テーブルと体言テーブルの形式に置き換えることができる。解析部１３は、最後のデータ格納のステップで、ラベル付き有効グラフを用言テーブルと体言テーブルに変換して、図１１に示した文構造格納部１５に格納する。
【００５５】
この例で、文構造格納部１５は、述語単位のレコードからなる用言テーブルと、名詞単位のレコードからなる体言テーブルとを有している。用言テーブルと体言テーブルは、ラベル付き有効グラフと同等の情報を含み、更に文節毎の検索を処理しやすくするという利点を有する。
【００５６】
まず、用言テーブルについて説明する。図１４は、第１の実施の形態に係る用言テーブルの例を示す図である。
【００５７】
用言テーブルは、文データベース１１に格納されている検索対象文の中に含まれている用言毎にレコードを設け、用言ＩＤと、述語と、動作主格と、対象格と、時間格と、場所格と、方法格と、理由格と、目標格と、定義格と、文節範囲と、参照元と、深層格と、文ＩＤと、頻度との項目を対応付けて記憶する。動作主格と、対象格と、時間格と、場所格と、方法格と、理由格と、目標格と、定義格とは、修飾における深層格の種類である。
【００５８】
用言ＩＤは、述語として検索対象文に含まれる用言を識別する情報であって、用言テーブルのレコードへのポインタとしても用いられる。述語の項目は、検索対象文に含まれる述語を示している。
【００５９】
動作主格の項目は、この述語を動作主格で修飾する文節に含まれる名詞を特定するポインタを格納する。動作主格の項目は、具体的には体言テーブルの体言ＩＤを格納する。但し、この述語を動作主格で修飾する文節が検索対象文の中に存在しない場合には、動作主格の項目は、ポインタを格納しない。この例では、動作主格で修飾する文節が存在しない場合に、図中「＜無し＞」と表記している。「＜無し＞」の項目は、この述語を動作主格で修飾する文節が検索対象文の中に存在しない旨を示すための特定のコードを格納していることを意味している。
【００６０】
同様に、対象格の項目は、この述語を対象格で修飾する文節に含まれる名詞を特定するポインタを格納する。時間格の項目は、この述語を時間格で修飾する文節に含まれる名詞を特定するポインタを格納する。場所格の項目は、この述語を場所格で修飾する文節に含まれる名詞を特定するポインタを格納する。方法格の項目は、この述語を方法格で修飾する文節に含まれる名詞を特定するポインタを格納する。理由格の項目は、この述語を理由格で修飾する文節に含まれる名詞を特定するポインタを格納する。目標格の項目は、この述語を目標格で修飾する文節に含まれる名詞を特定するポインタを格納する。定義格の項目は、この述語を定義格で修飾する文節に含まれる名詞を特定するポインタを格納する。いずれのポインタも、動作主格の項目の場合と同様に、具体的には体言テーブルの体言ＩＤである。また、この述語をそれぞれの深層格で修飾する文節が検索対象文の中に存在しない場合には、動作主格の項目の場合と同様に、これらの項目はポインタを格納せずに、その旨を示すための特定のコードを格納する。
【００６１】
文節範囲の項目は、この述語を含む文節の検索対象文中における範囲を格納する。参照元の項目は、この述語を含む文節が、他の述語を含む文節を修飾する場合に、他の述語を特定するポインタを格納する。参照元の項目は、具体的には、用言テーブルの用言ＩＤを格納する。深層格の項目は、この述語を含む文節が、他の述語を含む文節を修飾する場合に、修飾における深層格の種類を格納する。例えば、図中Ａ２０５で特定される述語「溶かす」を含む文節は、Ａ２０４で特定される述語「作る」を含む文節を方法格として修飾していることを示している。文ＩＤの項目は、この述語を含む文節を含む文のＩＤを格納する。頻度の項目は、この文ＩＤで特定される文が検索された頻度を格納する。
【００６２】
次に、体言テーブルについて説明する。図１５は、第１の実施の形態に係る体言テーブルの例を示す図である。体言テーブルは、文データベース１１に格納されている検索対象文の中に含まれている体言毎にレコードを設け、体言ＩＤと、名詞と、文節範囲と、参照元と、深層格と、体言修飾格の項目を対応付けて記憶する。
【００６３】
体言ＩＤは、述語として検索対象文に含まれる体言を識別する情報であって、体言テーブルのレコードへのポインタとしても用いられる。名詞の項目は、検索対象文に含まれる名詞を示している。
【００６４】
文節範囲の項目は、この名詞を含む文節の検索対象文中における範囲を格納する。参照元の項目は、この名詞を含む文節が、述語又は他の名詞を含む文節を修飾する場合に、述語又は他の名詞を特定するポインタを格納する。参照元の項目は、具体的には、用言テーブルの用言ＩＤ又は体言テーブルの体言ＩＤを格納する。深層格の項目は、この名詞を含む文節が、述語を含む文節又は他の名詞を含む文節を修飾する場合に、修飾における深層格の種類を格納する。例えば、図中Ｂ３０１で特定される名詞「娘」を含む文節は、Ａ２０１で特定される述語「勉強する」を含む文節を動作主格として修飾していることを示している。Ｂ３０２で特定される名詞「太郎」を含む文節は、Ｂ３０１で特定される名詞「娘」を含む文節を体言修飾格として修飾していることを示している。
【００６５】
検索サーバ１は、文の検索に先立って、文構造格納部１５に予め検索対象文について用言テーブルと体言テーブルを準備しておく。
【００６６】
続いて、文を検索する段階における動作について説明する。図１６は、検索サーバ１のうち文検索に係る構成を示す図である。検索サーバ１は、前述の文データベース１１と文構造格納部１５の他に、入力部２１と、抽出部２３と、検索部２５と、辞書部２７と、深層格規則記憶部２９と、文節検索結果格納部３１と、全体検索結果格納部３３と、ソート部３５と、出力部３７と、更新部３９とを有している。
【００６７】
入力部２１は、検索画面で受け付けた質問文を一又は複数の文字毎に受信するように動作する。入力部２１は、更に、検索結果中の文を選択する指示も受信するように動作する。抽出部２３は、受信した質問文から文節を抽出するように動作する。検索部２５は、抽出した文節に基づいて、検索対象文を検索するように動作する。但し、検索部２５は、文構造格納部１５を用いて間接的に検索対象文を検索する。辞書部２７は、名詞に対する体言の属性の定義を記憶している。
【００６８】
深層格規則記憶部２９は、体言の属性と助詞との組み合わせに対して、その組み合わせで生じうる深層格を記憶し、更に疑問詞と助詞との組み合わせに対して、その組み合わせで生じうる深層格を記憶している。
【００６９】
図１７に、体言の属性と助詞との組み合わせに対する深層格の種類を定めたテーブルの例を示す。このテーブルは、体言の属性と助詞との組み合わせごとにレコードを設け、体言の属性と助詞と深層格とを対応付けて記憶している。図中「を用いて」と「によって」は、助詞相当語の例である。助詞相当語を、助詞と同様に扱うようにしてもよい。
【００７０】
助詞が複数設定されている場合には、それぞれが体言の属性と組み合わされる場合に、同様の深層格が生じうることを意味している。つまり、各助詞が、独立して体言の属性と深層格とに対応付けられていることを示している。
【００７１】
深層格の種類が複数設定されている場合には、いずれの深層格も生じうることを意味している。つまり、その場合に、検索部２５はそれぞれの深層格をＯＲ条件で検索することを示している。
【００７２】
図１８に、疑問詞と助詞との組み合わせに対する深層格の種類を定めたテーブルの例を示す。このテーブルは、疑問詞と助詞との組み合わせごとにレコードを設け、疑問詞と助詞と深層格とを対応付けて記憶している。
【００７３】
助詞が複数設定されている場合には、それぞれが疑問詞と組み合わされる場合に、同様の深層格が生じうることを意味している。つまり、各助詞が、独立して疑問詞と深層格とに対応付けられていることを示している。助詞を伴わない疑問詞による文節については、助詞の項目で、「（助詞無し）」と設定している。例えば、「いつ」の文字列は、助詞を伴わずに時間格の文節となりうる。
【００７４】
深層格の種類が複数設定されている場合には、いずれの深層格も生じうることを意味している。つまり、その場合には、検索部２５はそれぞれの深層格をＯＲ条件で検索することを意味している。以上で、深層格規則記憶部２９の説明を終える。
【００７５】
図１６に戻って、文節検索結果格納部３１は、新たに抽出した文節に基づいて検索した結果を格納する。検索した結果は、文の情報であって、文ＩＤと該当範囲を含んでいる。全体検索結果格納部３３は、過去に抽出した文節に基づいて検索した結果を反映して、質問文全体としての検索結果を格納する。この検索結果も、文の情報であって、文ＩＤと該当範囲を含んでいる。この該当範囲は、複数となることがある。検索した文についての文ＩＤと該当範囲を対応付けて格納する。つまり、全体検索結果格納部３３は、新たに抽出した文節に基づいて検索された結果を反映して、絞り込んだ全体の検索結果を格納する。
【００７６】
ソート部３５は、全体検索結果格納部３３に格納されている検索結果である文の情報を順位付けするように動作する。出力部３７は、全体検索結果格納部３３に格納されている文の情報に基づいて、検索結果を出力するように動作する。
【００７７】
入力部２１が、質問文の文字の受け付けの代わりに、検索結果に含まれる文のうちのいずれかの文を選択する指示を検索端末３から受け付けた場合に、更新部３９は、選択された文の頻度を更新するように動作する。尚、更新部３９については、第５の実施の形態で説明する。以上で、検索サーバ１の文の検索に係る構成についての説明を終える。
【００７８】
続いて、検索サーバ１による文検索の処理について説明する。図１９に、検索サーバの文検索の全体処理フローの例を示す。
【００７９】
入力処理で、入力部２１は、質問文を一又は複数の文字毎に受け付ける（Ｓ１０１）。入力部２１は、原則として質問文を一文字毎に受け付けるが、仮名漢字変換の結果を受け付ける場合には、複数の文字を受け付けることもある。
【００８０】
Ｓ１０１で、入力部２１が一又は複数の文字を受け付けると、入力部２１は、それまでに受け付けた質問文を抽出部２３へ出す。抽出部２３は、入力部２１による一又は複数の文字の受け付けの都度、その時点での質問文を受け、受けた質問文から文節を抽出する抽出処理を行う（Ｓ１０３）。
【００８１】
抽出部２３は、新たな文節を抽出したか否かを判定する （Ｓ１０５）。抽出部２３が、新たな文節を抽出しないと判定した場合には、入力部２１による入力処理（Ｓ１０１）へ戻り、同様の処理を繰り返す。
【００８２】
一方、抽出部２３が、新たな文節を抽出したと判定した場合には、検索サーバ１は、検索部２５による検索処理に移行する（Ｓ１０７）。
【００８３】
以下、検索部２５による検索処理（Ｓ１０７）について説明する。図２０に、検索処理フローの例を示す。この例で、検索部２５は、検索処理（Ｓ１０７）で２つのサブルーチン処理を行う。
【００８４】
検索部２５は、まず、新たな文節について検索する（Ｓ２０１）。この処理では、新たな文節に基づき、適合する検索対象文を検索する。この検索の結果には、それまでに抽出した文節に関する検索の結果は反映されていない。
【００８５】
新たな文節について検索結果を受けて、検索部２５は、全体の検索結果を更新する（Ｓ２０３）。検索部２５は、全体の検索結果に含まれる文のうち、新たな文節についての検索結果に含まれる文のみを残すように処理する。
【００８６】
それぞれのサブルーチン処理について詳述する。まず、新たな文節について検索する（Ｓ２０１）について説明する。図２１に、新たな文節について検索する処理フローの例を示す。
【００８７】
検索部２５は、抽出部２３で抽出された新たな文節を受けると（Ｓ３０１）、新たな文節に含まれる品詞を判定する（Ｓ３０３）。そして、検索部２５は、新たな文節に含まれる品詞によって処理を分岐する。新たな文節が名詞と助詞である場合には、端子Ａを介して、図２２のＳ４０１の処理に移行する。新たな文節が、疑問詞と助詞である場合には、端子Ｂを介して、図２３のＳ５０１の処理に移行する。新たな文節が、述語である場合には、端子Ｃを介して、図２４のＳ６０１の処理に移行する。
【００８８】
続いて、新たな文節が名詞と助詞である場合の図２２の処理と、新たな文節が疑問詞と助詞である場合の図２３の処理と、新たな文節が述語である場合の図２４の処理とについて順に説明する。
【００８９】
図２２は、新たな文節が名詞と助詞である場合に、新たな文節について検索する処理フローの例を示す図である。検索部２５は、新たな文節に含まれる名詞に対応する体言の属性を辞書部２７から読み取ることにより、体言の属性を特定する（Ｓ４０１）。
【００９０】
検索部２５は、次に、特定した体言の属性と新たな文節に含まれる助詞の組み合わせに対応する深層格を深層格規則記憶部２９から読み取ることにより、深層格を特定する（Ｓ４０３）。そして、検索部２５は、新たな文節に含まれる名詞と特定した深層格の組み合わせを検索の条件に設定する（Ｓ４０５）。対応する深層格が複数ある場合には、検索部２５は、複数の深層格のうちのいずれかに該当することを条件として判定する。つまり、検索部２５は、複数の深層格をＯＲ条件で扱う。
【００９１】
検索の条件が設定されると、検索部２５は、体言テーブルの体言レコード毎に以下の処理を繰り返す（Ｓ４０７）。検索部２５は、体言レコードが条件に合致するか否かを判定する（Ｓ４０９）。具体的には、検索部２５は、体言レコードに含まれる名詞が、検索の条件である名詞と一致し、更に体言レコードに含まれる深層格が、検索の条件である深層格のいずれかと一致する場合に、条件に合致すると判定する。条件に合致しないと判定した場合には、検索部２５は、Ｓ４１９に処理を移す。
【００９２】
一方、Ｓ４０９で条件に合致すると判定した場合には、検索部２５は、体言レコードから文節範囲を読み取り、この条件における該当範囲として用いる。これにより、検索部２５は、該当範囲を特定する（Ｓ４１１）。更に、検索部２５は、体言レコードから参照元を読み取る。参照元に用言ＩＤが格納されている場合には、検索部２５は、その用言ＩＤによって用言レコードを特定する（Ｓ４１３）。参照元に体言ＩＤが格納されている場合には、参照元に格納されている体言ＩＤの体言レコードから改めて参照元を読み取る。その参照元に格納されている用言ＩＤによって用言レコードを特定する。更に、検索部２５は、特定した用言レコードから文ＩＤを読み取り、文ＩＤを特定する（Ｓ４１５）。そして、検索部２５は、検索した文の情報として、文ＩＤと該当範囲を文節検索結果格納部３１に格納する（Ｓ４１７）。
【００９３】
検索部２５は、すべてのレコードについて処理したか否かを判定する（Ｓ４１９）。検索部２５は、まだすべてのレコードについて処理していないと判定した場合には、Ｓ４０７〜Ｓ４１９までの処理を繰り返す。すべてのレコードについて処理したと判定した場合には、検索部２５は、このサブルーチンの処理を終了し、図２０のＳ２０３の処理へ移る。
【００９４】
続いて、新たな文節が疑問詞と助詞である場合の処理について説明する。図２３に、新たな文節が疑問詞と助詞である場合に、新たな文節について検索する処理フローの例を示す。
【００９５】
検索部２５は、新たな文節に含まれる疑問詞と助詞との組み合わせに対応する深層格を深層格規則記憶部２９から読み取り、深層格を特定する（Ｓ５０１）。そして、検索部２５は、任意の名詞と特定した深層格の組み合わせを条件に設定する（Ｓ５０３）。深層格が複数ある場合には、検索部２５は、前述と同様にそれぞれの深層格のいずれかに該当することを条件とする。
【００９６】
検索の条件が設定されると、検索部２５は、体言テーブルの体言レコード毎に以下の処理を繰り返す（Ｓ５０５）。検索部２５は、体言レコードが条件に合致するか否かを判定する（Ｓ５０７）。具体的には、検索部２５は、体言レコードに名詞が設定されていて、更に体言レコードに含まれる深層格が、検索の条件である深層格のいずれかと一致する場合に、条件に合致すると判定する。このとき、検索部２５は、設定されている名詞の内容を問わない。図１５の例では、すべてのレコードが、任意の名詞に関する条件を満たすことになる。条件に合致しないと判定した場合には、検索部２５は、Ｓ５１７に処理を移す。
【００９７】
一方、Ｓ５０７で条件に合致すると判定した場合には、検索部２５は、体言レコードから文節範囲を読み取り、この条件における該当範囲として用いる。これにより、検索部２５は、該当範囲を特定する（Ｓ５０９）。この例では、体言レコードの名詞が修飾されている場合には、修飾する文節も該当範囲に含めるようにしている。そのため、体言テーブルの体言修飾格の項目に、体言ＩＤが設定されている場合には、その体言ＩＤにより体言レコードを特定し、特定した体言レコードの文節範囲も該当範囲に加える。例えば、図３の第１文の「娘」を修飾する「花子の」の箇所が、加えた文節範囲に相当する。尚、修飾する文節を該当範囲に含めないようにしてもよい。
【００９８】
更に、検索部２５は、体言レコードから参照元を読み取る。参照元に用言ＩＤが格納されている場合には、検索部２５は、その用言ＩＤによって用言レコードを特定する（Ｓ５１１）。参照元に体言ＩＤが格納されている場合には、体言ＩＤの体言レコードから改めて参照元を読み取る。その参照元に格納されている用言ＩＤによって用言レコードを特定する。例えば、図１５に示した名詞「花子」の体言レコード（図１５の第５レコード）の場合には、参照元「Ｂ３０４」の名詞「娘」の体言レコード（図１５の第４レコード）の参照元「Ａ２０２」の用言レコードを特定する。
【００９９】
更に、検索部２５は、特定した用言レコードから文ＩＤを読み取り、文ＩＤを特定する（Ｓ５１３）。そして、検索部２５は、検索した文の情報として、文ＩＤと該当範囲を文節検索結果格納部３１に格納する（Ｓ５１５）。
【０１００】
検索部２５は、すべてのレコードについて処理したか否かを判定する（Ｓ５１７）。検索部２５は、まだすべてのレコードについて処理していないと判定した場合には、Ｓ５０５〜Ｓ５１７までの処理を繰り返す。すべてのレコードについて処理したと判定した場合には、検索部２５は、このサブルーチンの処理を終了し、図２０のＳ２０３の処理へ移る。
【０１０１】
続いて、新たな文節が述語である場合の処理について説明する。図２４に、新たな文節が述語である場合に、新たな文節について検索する処理フローの例を示す。
【０１０２】
検索部２５は、新たな文節に含まれる述語を条件に設定し（Ｓ６０１）、用言テーブルの用言レコード毎に以下の処理を繰り返す（Ｓ６０３）。検索部２５は、用言レコードが条件に合致するか否かを判定する（Ｓ６０５）。具体的には、検索部２５は、用言レコードに含まれる述語が、検索の条件である述語と一致する場合に、条件に合致すると判定する。条件に合致しないと判定した場合には、検索部２５は、Ｓ６１３に処理を移す。
【０１０３】
一方、Ｓ６０５で条件に合致すると判定した場合には、検索部２５は、用言レコードから文節範囲を読み取り、この条件における該当範囲として用いる。これにより、検索部２５は、該当範囲を特定する（Ｓ６０７）。検索部２５は、特定した用言レコードから文ＩＤを読み取り、文ＩＤを特定する（Ｓ６０９）。そして、検索部２５は、検索した文の情報として、文ＩＤと該当範囲を文節検索結果格納部３１に格納する（Ｓ６１１）。
【０１０４】
検索部２５は、すべてのレコードについて処理したか否かを判定する（Ｓ６１３）。検索部２５は、まだすべてのレコードについて処理していないと判定した場合には、Ｓ６０３〜Ｓ６１３までの処理を繰り返す。検索部２５は、すべてのレコードについて処理したと判定した場合には、このサブルーチンの処理を終了し、図２０のＳ２０３の処理へ移る。
【０１０５】
図２０に戻って、新たな文節について検索する処理に続いて、検索部２５は、全体の検索結果を更新する処理（Ｓ２０３）を行う。
【０１０６】
図２５に、全体の検索結果を更新する処理フローの例を示す。検索部２５は、全体検索結果格納部３３に含まれる文の情報毎に以下の処理を繰り返す（Ｓ７０１）。検索部２５は、文節検索結果格納部３１に同じ文ＩＤを含む文の情報があるか否かを判定する（Ｓ７０３）。検索部２５は、文節検索結果格納部３１に同じ文ＩＤを含む文の情報があると判定した場合には、全体検索結果格納部３３のその文ＩＤに対応する該当範囲に、文節検索結果格納部３１のその文ＩＤに対応する該当範囲を加える（Ｓ７０５）。一方、検索部２５は、文節検索結果格納部３１に同じ文ＩＤを含む文の情報がないと判定した場合には、全体検索結果格納部３３のその文の情報（文ＩＤと該当範囲）を削除する（Ｓ７０７）。
【０１０７】
検索部２５は、すべてのレコードについて処理したか否かを判定する（Ｓ７０９）。検索部２５は、まだすべてのレコードについて処理していないと判定した場合には、Ｓ７０１〜Ｓ７０９までの処理を繰り返す。すべてのレコードについて処理したと判定すると、検索部２５は処理を終える。
【０１０８】
尚、Ｓ２０３の処理が初めての場合（一つ目の文節の抽出による処理の場合）には、検索部２５は、Ｓ２０３の処理として、文節検索結果格納部３１の内容をすべて全体検索結果格納部３３に移して処理を終える。初回は、文節検索結果格納部３１の検索結果がすべて有効だからである。
【０１０９】
図１９に戻って、検索サーバ１はこのようにして検索処理（Ｓ１０７）を終えると、続いてソート部３５が、ソート処理（Ｓ１０９）を行う。
【０１１０】
図２６に、ソート処理フローの例を示す。ソート部３５は、全体検索結果格納部３３の文の情報毎に以下の処理を繰り返す（Ｓ８０１）。ソート部３５は、文データベース１１から文ＩＤに対応する文長を読み取り、文長を特定する（Ｓ８０３）。ソート部３５は、全体検索結果格納部３３に格納している文の情報に含まれるすべての該当範囲の長さを合計して、該当範囲全体の長さを求める（Ｓ８０５）。ソート部３５は、該当範囲全体の長さを文長で割って、該当範囲の占有率を求める（Ｓ８０７）。ソート部３５は、まだすべての文の情報について処理していないと判定した場合には、Ｓ８０１〜Ｓ８０９までの処理を繰り返す。すべてのレコードについて処理したと判定すると、ソート部３５は、該当範囲の占有率をキーとして、文の情報をソートする（Ｓ８１１）。
【０１１１】
図１９に戻って、検索サーバ１はこのようにしてソート処理（Ｓ１０９）を終えると、出力部３７は、ソート処理の順位付けに従って、全体検索結果格納部３３に格納されている文を出力する処理を行う（Ｓ１１１）。出力部３７は  文の情報に含まれる文ＩＤに対応する原文を文データベース１１から読み取り、検索結果の表示領域に展開する。出力部３７は、文の情報に含まれる該当範囲の文字に下線を付す。該当範囲の文字をその他の文字と区別する方法として、出力部３７が下線を付す例を示したが、太字や斜体など文字の形態を変える方法や、文字を拡大する方法、文字の背景色を変える方法などを用いるようにしてもよい。
【０１１２】
検索サーバ１は、入力部２１で検索端末３からのイベントを受信し、入力部２１は、ユーザが文を選択をしたか否かを判定する（Ｓ１１３）。受信したイベントが、検索結果に含まれるいずれかの文を選択する指示である場合に、入力部２１は、ユーザが文を選択をしたと判定し、検索の処理を終了する。一方、受け付けたイベントが質問文の続きの文字である場合には、入力部２１は、ユーザが文を選択していないと判定し、Ｓ１０１に戻り上述の処理を繰り返す。以上で、第１の実施の形態に係る動作の説明を終える。
【０１１３】
第１の実施の形態によれば、検索サーバ１は、抽出された文節に従って、深層格により特定される助詞の文意を含めて検索することにより、ブーリアン検索で抽出されがちな文意の異なる的外れな文を検索結果から排除することができる。
【０１１４】
検索サーバ１は、更に、深層格規則記憶部２９を用いることによって、フルテキスト検索で対応できない助詞のゆれにも対応することができる。
【０１１５】
検索サーバ１は、加えて、文節検索結果格納部３１に格納する結果を、全体検索結果格納部３３に格納する結果の絞込みに用いることによって、フルテキスト検索で対応できない文節位置の違いにも対応することができる。この方法は、文節による条件を順序を問わずにＡＮＤ条件で扱うことに等しいからである。
【０１１６】
検索サーバ１は、疑問詞を含む文節も深層格を判断し、任意の名詞を検索するので、所望の情報の文意おける位置づけを指定することができ、情報の絞込みがしやすくなる。
【０１１７】
特に、第１の実施の形態は、体言テーブルを有するので、名詞を含む文節に基づく検索の処理が速いという利点がある。以上で、第１の実施の形態の説明を終える。
【０１１８】
[実施の形態２]
本実施の形態では、用言テーブル内に体言の情報を含める例について説明する。図２７Ａと図２７Ｂは、第２の実施の形態に係る用言テーブルの例を示す図である。
【０１１９】
第２の実施の形態に係る用言テーブルは、第１の実施の形態に係る用言テーブル（図１４）と同様に、用言毎にレコードを設け、項目を対応付けている。
【０１２０】
図２７Ａの用言ＩＤと述語の項目は、図１４の用言ＩＤと述語の項目と同様である。また、図２７Ｂの参照元と深層格と文ＩＤと頻度の項目は、図１４の参照元と深層格と文ＩＤと頻度の項目と同様である。また、図２７Ａの第３項目の文節範囲の項目には、第２項目の述語が含まれる文節の原文における範囲を設定する。つまり、図２７Ａの第３項目の文節範囲の項目は、図１４の文節範囲の項目と同様である。
【０１２１】
続いて、第１の実施の形態に係る用言テーブル（図１４）との相違点について説明する。第２の実施の形態に係る用言テーブル（図２７Ａと図２７Ｂ）では、動作主格と対象格と時間格と場所格と方法格と理由格と目標格と定義格の各深層格の項目には、直接その名詞を格納する。
【０１２２】
また、第２の実施の形態に係る用言テーブルは、各名詞の文節範囲、つまりその名詞が含まれる文節の原文における範囲の項目も設けている。第２の実施の形態に係る用言テーブルは、図２７Ａと図２７Ｂに示す通り、各深層格（動作主格、対象格、時間格、場所格、方法格、理由格、目標格、定義格）の項目の次に、その深層格に対応する文節範囲の項目を設けている。
【０１２３】
更に、第２の実施の形態に係る用言テーブルは、各深層格（動作主格、対象格、時間格、場所格、方法格、理由格、目標格、定義格）の名詞を修飾する体言修飾格の項目も設けている。第２の実施の形態に係る用言テーブルは、図２７Ａと図２７Ｂに示す通り、各深層格の項目の２つ後に、その深層格に対応する体言修飾格の項目を設けている。また、その次に、体言修飾格の文節範囲の項目も有している。体言修飾格の文節範囲は、体言修飾格の名詞を含む文節の原文における範囲である。
【０１２４】
加えて、第２の実施の形態に係る用言テーブルは、述語を修飾する用言修飾格の項目とその文節範囲も、第４項目と第５項目に設けている。用言修飾格の文節範囲は、用言修飾格の品詞を含む文節の原文における範囲である。
【０１２５】
以上のように、第２の実施の形態では、第１の実施の形態における体言テーブルの情報を、用言テーブルに取り込んでいるので、１つのテーブルで足りる。
【０１２６】
続いて、第２の実施の形態における処理について説明する。具体的には、第１の実施の形態における、新たな文節が名詞と助詞を含む場合の処理（図２２）と新たな文節が疑問詞と助詞を含む場合の処理（図２３）の処理とが、第２の実施の形態では異なる。
【０１２７】
図２８に、第２の実施の形態における、新たな文節が名詞と助詞である場合に、新たな文節について検索する処理フローの例を示す。 図２２の処理に代えて、図２８の処理を行う。つまり、図２１のＳ３０３で、新たな文節が名詞と助詞であると判定された場合に、端子Ａを介して、図２８のＳ４０１に移行する。
【０１２８】
検索部２５が、名詞から体言の属性を特定し（Ｓ４０１）、体言の属性と助詞から深層格を特定し（Ｓ４０３）、名詞と深層格を条件に設定する（Ｓ４０５）処理は、図２２と同様である。
【０１２９】
第２の実施の形態では、検索部２５は、体言テーブルの体言レコード毎に処理するのではなく、用言テーブルの用言レコード毎に以下の処理を繰り返す（Ｓ４２１）。検索部２５は、用言レコードが条件に合致するか否かを判定する（Ｓ４２３）。具体的には、検索部２５は、条件である深層格の項目から格納されている名詞を読み取る。そして、検索部２５は、読み取った名詞が条件の名詞と一致する場合に、条件に合致すると判定する。
【０１３０】
検索部２５は、条件に合致しないと判定した場合には、Ｓ４３１に移る。一方、検索部２５は、条件に合致すると判定した場合には、該当範囲を特定する（Ｓ４２５）。検索部２５は、条件である深層格の項目の次の項目である文節範囲を読み取り、それを該当範囲に用いる。更に、検索部２５は、用言レコードから、文ＩＤを特定する（Ｓ４２７）。そして、検索部２５は、文ＩＤと該当範囲を、文の情報として文節検索結果格納部３１に格納する（Ｓ４２９）。検索部２５は、すべてのレコードについて処理したか否かを判定する（Ｓ４３１）。検索部２５は、まだすべてのレコードについて処理していないと判定した場合には、Ｓ４２１〜Ｓ４３１の処理を繰り返す。検索部２５は、すべてのレコードについて処理したと判定した場合には、このサブルーチンの処理を終了し、図２０のＳ２０３の処理へ移る。
【０１３１】
図２９に、第２の実施の形態における、新たな文節が疑問詞と助詞である場合に、新たな文節について検索する処理フローの例を示す。 図２３の処理に代えて、図２９の処理を行う。つまり、図２１のＳ３０３で、新たな文節が疑問詞と助詞であると判定された場合に、端子Ｂを介して、図２９のＳ５０１に移行する。
【０１３２】
検索部２５が、疑問詞と助詞から深層格を特定し（Ｓ５０１）、任意の名詞と深層格を条件に設定する（Ｓ５０３）処理は、図２３と同様である。
【０１３３】
第２の実施の形態では、検索部２５は、体言テーブルの体言レコード毎に処理するのではなく、用言テーブルの用言レコード毎に以下の処理を繰り返す（Ｓ５２１）。検索部２５は、用言レコードが条件に合致するか否かを判定する（Ｓ５２３）。具体的には、検索部２５は、条件である深層格の項目から格納されている名詞を読み取る。そして、検索部２５は、内容を問わず名詞が格納されている場合には、条件に合致すると判定する。つまり、検索部２５は、条件である深層格の項目に名詞が格納されていない場合（図中、「＜無し＞」）を除き、条件に合致すると判定する。
【０１３４】
検索部２５は、条件に合致しないと判定した場合には、Ｓ５３１に移る。一方、検索部２５は、条件に合致すると判定した場合には、該当範囲を特定する（Ｓ５２５）。検索部２５は、条件である深層格の項目の次の項目である文節範囲を読み取り、それを該当範囲に用いる。この例では、この名詞が修飾されている場合には、修飾する文節も該当範囲に含めるようにしている。そのため、動作主格、対象格などの項目の２つ後の体言修飾格の項目に、名詞が設定されている場合には、その次の文節範囲も該当範囲に加える。尚、修飾する文節を該当範囲に含めないようにしてもよい。
【０１３５】
更に、検索部２５は、用言レコードから、文ＩＤを特定する（Ｓ５２７）。そして、検索部２５は、文ＩＤと該当範囲を、文の情報として文節検索結果格納部３１に格納する（Ｓ５２９）。検索部２５は、すべてのレコードについて処理したか否かを判定する（Ｓ５３１）。検索部２５は、まだすべてのレコードについて処理していないと判定した場合には、Ｓ５２１〜Ｓ５３１の処理を繰り返す。検索部２５は、すべてのレコードについて処理したと判定した場合には、このサブルーチンの処理を終了し、図２０のＳ２０３の処理へ移る。以上で、第２の実施の形態における動作の説明を終える。
【０１３６】
第２の実施の形態では、体言テーブルを用いずに、用言テーブルのみで検索する例を示した。この例では、テーブルが１つであるので、テーブルの管理が容易である。
【０１３７】
[実施の形態３]
第３の実施の形態では、深層格マーカ付き文による用言テーブルの例について説明する。第３の実施の形態では、第２の実施の形態と同様に、用言テーブルのみを用い、体言テーブルは用いない。
【０１３８】
図３０は、第３の実施の形態に係る用言テーブルの例を示す図である。第３の実施の形態に係る用言テーブルは、第１の実施の形態に係る用言テーブル（図１４）と同様に、用言毎にレコードを設け、項目を対応付けている。
【０１３９】
図３０の用言ＩＤと参照元と深層格と文ＩＤと頻度との項目は、図１４の用言ＩＤと参照元と深層格と文ＩＤと頻度との項目と同様である。
【０１４０】
第３の実施の形態の用言テーブルでは、第１の実施の形態あるいは第２の実施の形態の用言テーブルで用いた述語と深層格などの項目に代えて、深層格マーカ付き文を用いる。
【０１４１】
深層格マーカ付き文においては、文中に出現する順に文節のコード情報を連ねる。文節のコード情報には、まず、文節に含まれる名詞あるいは述語が、波括弧付きで記述される。次に、文節のコード情報には、名詞の深層格あるいは述語の識別コードを示すタグ形式のマーカが記述される。次に、文節のコード情報には、文節の原文における範囲を示すタグ形式の文節範囲が記述される。
【０１４２】
図３０の第１文の深層格マーカ付き文「{太郎の娘}＜agent＞＜1-5＞{図書館}＜loc＞＜6-9＞{勉強する}＜pred＞＜10-13＞。」では、「{太郎の娘}＜agent＞＜1-5＞」と「{図書館}＜loc＞＜6-9＞」と「{勉強する}＜pred＞＜10-13＞」との３つの文節の情報が連なっている。第１の文節の情報には、名詞「{太郎の娘}」とマーカ「＜agent＞」と文節範囲「＜1-5＞」とが記述されている。「agent」は、動作主格の識別コードである。第２の文節の情報には、名詞「{図書館}」とマーカ「＜loc＞」と文節範囲「＜6-9＞」とが記述されている。「loc」は、場所格の識別コードである。第３の文節の情報には、述語「{勉強する}」とマーカ「＜pred＞」と文節範囲「＜10-13＞」とが記述されている。「pred」は、述語の識別コードである。
【０１４３】
図３０の第２文の深層格マーカ付き文「{花子の娘}＜agent＞＜1-5＞{学校の図書館}＜loc＞＜6-12＞{弁当}＜obj＞＜13-15＞{食べる}＜pred＞＜16-18＞。」では、「{花子の娘}＜agent＞＜1-5＞」と「{学校の図書館}＜loc＞＜6-12＞」と「{弁当}＜obj＞＜13-15＞」と「{食べる}＜pred＞＜16-18＞」との４つの文節の情報が連なっている。第１の文節の情報には、名詞「{花子の娘}」とマーカ「＜agent＞」と文節範囲「＜1-5＞」とが記述されている。第２の文節の情報には、名詞「{学校の図書館}」とマーカ「＜loc＞」と文節範囲「＜6-12＞」とが記述されている。第３の文節の情報には、名詞「{弁当}」とマーカ「＜obj＞」と文節範囲「＜13-15＞」とが記述されている。「obj」は、対象格の識別コードである。第４の文節の情報には、述語「{食べる}」とマーカ「＜pred＞」と文節範囲「＜16-18＞」とが記述されている。この例で、第１の文節の情報と第２の文節の情報のように、名詞とともに名詞を修飾する語を含んでいる。但し、名詞は名詞を修飾する語を伴わず、名詞を修飾する文節の情報を別に記述するようにしてもよい。
【０１４４】
図３０の第３文の深層格マーカ付き文「{陽子の娘}＜obj＞＜1-5＞{パーティ}＜goal＞＜6-10＞{招待する}＜pred＞＜11-15＞。」では、「{陽子の娘}＜obj＞＜1-5＞」と「{パーティ}＜goal＞＜6-10＞」と「{招待する}＜pred＞＜11-15＞」との３つの文節の情報が連なっている。第１の文節の情報には、名詞「{陽子の娘}」とマーカ「＜obj＞」と文節範囲「＜1-5＞」とが記述されている。第２の文節の情報には、名詞「{パーティ}」とマーカ「＜goal＞」と文節範囲「＜6-10＞」とが記述されている。「goal」は、目標格の識別コードである。第３の文節の情報には、述語「{招待する}」とマーカ「＜pred＞」と文節範囲「＜11-15＞」とが記述されている。
【０１４５】
続いて、第３の実施の形態における処理について説明する。具体的には、第１の実施の形態における、新たな文節が名詞と助詞を含む場合の処理（図２２）と、新たな文節が疑問詞と助詞を含む場合の処理（図２３）の処理と、新たな文節が述語を含む場合の処理（図２４）とが、第３の実施の形態では異なる。
【０１４６】
まず、新たな文節が名詞と助詞を含む場合の処理について、第２の実施の形態の説明で用いた図２８を用いて説明する。
【０１４７】
検索部２５が、名詞から体言の属性を特定し（Ｓ４０１）、体言の属性と助詞から深層格を特定し（Ｓ４０３）、名詞と深層格を条件に設定する（Ｓ４０５）処理は、図２２と同様である。
【０１４８】
第３の実施の形態では、第２の実施の形態と同様に、用言テーブルの用言レコード毎に以下の処理を繰り返す（Ｓ４２１）。検索部２５は、用言レコードが条件に合致するか否かを判定する（Ｓ４２３）。具体的には、検索部２５は、条件である深層格の識別コードと一致するマーカを特定する。深層格の識別コードと一致するマーカがない場合は、検索部２５は、条件に合致しないと判定する。深層格の識別コードと一致するマーカがある場合は、検索部２５は、そのマーカの前の名詞を特定する。条件である名詞を特定した名詞と後方から比較し、条件である名詞がすべて一致する場合には、検索部２５は、条件に合致すると判定する。条件である名詞が、特定した名詞の後方と一致しない場合には、検索部２５は、条件に合致しないと判定する。
【０１４９】
検索部２５は、条件に合致しないと判定した場合には、Ｓ４３１に移る。一方、検索部２５は、条件に合致すると判定した場合には、該当範囲を特定する（Ｓ４２５）。検索部２５は、条件である深層格の識別コードと一致するマーカの次の文節範囲を読み取り、それを該当範囲に用いる。更に、検索部２５は、用言レコードから、文ＩＤを特定する（Ｓ４２７）。そして、検索部２５は、文ＩＤと該当範囲を、文の情報として文節検索結果格納部３１に格納する（Ｓ４２９）。検索部２５は、すべてのレコードについて処理したか否かを判定する（Ｓ４３１）。検索部２５は、まだすべてのレコードについて処理していないと判定した場合には、Ｓ４２１〜Ｓ４３１の処理を繰り返す。検索部２５は、すべてのレコードについて処理したと判定した場合には、このサブルーチンの処理を終了し、図２０のＳ２０３の処理へ移る。
【０１５０】
次に、新たな文節が疑問詞と助詞を含む場合の処理について、第２の実施の形態の説明で用いた図２９を用いて説明する。
【０１５１】
検索部２５が、疑問詞と助詞から深層格を特定し（Ｓ５０１）、任意の名詞と深層格を条件に設定する（Ｓ５０３）処理は、図２３と同様である。
【０１５２】
第３の実施の形態では、第２の実施の形態と同様に、用言テーブルの用言レコード毎に以下の処理を繰り返す（Ｓ５２１）。検索部２５は、用言レコードが条件に合致するか否かを判定する（Ｓ５２３）。具体的には、検索部２５は、条件である深層格の識別コードと一致するマーカを特定する。深層格の識別コードと一致するマーカがない場合は、検索部２５は、条件に合致しないと判定する。深層格の識別コードと一致するマーカがある場合は、検索部２５は、条件に合致すると判定する。
【０１５３】
検索部２５は、条件に合致しないと判定した場合には、Ｓ５３１に移る。一方、検索部２５は、条件に合致すると判定した場合には、該当範囲を特定する（Ｓ５２５）。検索部２５は、条件である深層格の識別コードと一致するマーカの次の文節範囲を読み取り、それを該当範囲に用いる。更に、検索部２５は、用言レコードから、文ＩＤを特定する（Ｓ５２７）。そして、検索部２５は、文ＩＤと該当範囲を、文の情報として文節検索結果格納部３１に格納する（Ｓ５２９）。検索部２５は、すべてのレコードについて処理したか否かを判定する（Ｓ５３１）。検索部２５は、まだすべてのレコードについて処理していないと判定した場合には、Ｓ５２１〜Ｓ５３１の処理を繰り返す。検索部２５は、すべてのレコードについて処理したと判定した場合には、このサブルーチンの処理を終了し、図２０のＳ２０３の処理へ移る。
【０１５４】
次に、新たな文節が述語を含む場合の処理の処理について、第１の実施の形態の説明で用いた図２４を用いて説明する。
【０１５５】
検索部２５が、述語を条件に設定する（Ｓ６０１）処理は、第１の実施の形態と同様である。
【０１５６】
検索部２５は、用言テーブルの用言レコード毎に以下の処理を繰り返す（Ｓ６０３）。検索部２５は、用言レコードが条件に合致するか否かを判定する（Ｓ６０５）。具体的には、検索部２５は、述語の識別コードと一致するマーカを特定する。そして、検索部２５は、そのマーカの前の述語を特定する。特定した述語が検索の条件である述語と一致する場合に、条件に合致すると判定する。特定した述語が検索の条件である述語と一致しない場合には、検索部２５は、条件に合致しないと判定する。
【０１５７】
検索部２５は、条件に合致しないと判定した場合には、Ｓ６１３に移る。一方、検索部２５は、条件に合致すると判定した場合には、該当範囲を特定する（Ｓ６０７）。検索部２５は、一致した述語を含む文節情報に含まれる文節範囲を読み取り、それを該当範囲に用いる。更に、検索部２５は、用言レコードから、文ＩＤを特定する（Ｓ６０９）。そして、検索部２５は、文ＩＤと該当範囲を、文の情報として文節検索結果格納部３１に格納する（Ｓ６１１）。検索部２５は、すべてのレコードについて処理したか否かを判定する（Ｓ６１３）。検索部２５は、まだすべてのレコードについて処理していないと判定した場合には、Ｓ６０３〜Ｓ６１３の処理を繰り返す。検索部２５は、すべてのレコードについて処理したと判定した場合には、このサブルーチンの処理を終了し、図２０のＳ２０３の処理へ移る。以上で、第３の実施の形態における動作の説明を終える。
【０１５８】
第３の実施の形態では、第２の実施の形態と同様に、体言テーブルを用いずに、用言テーブルのみで検索する例を示した。テーブルが１つであるので、テーブルの管理が容易である。
【０１５９】
[実施の形態４]
第４の実施の形態では、検索結果に含まれる文が絞り込みによって所定数以下になった場合に文が検索された頻度を更新し、頻度を更新した文がその後に再度検索された場合にその頻度をキーとして文をソートして出力する。所定数は、有意義に検索結果が絞り込まれたことを判定するための基準として予め設定される。例えば、検索結果の文が１０件以下になれば、検索対象として重要な情報を含んでいる期待が高いと想定する場合には、所定数として１０を用いる。
【０１６０】
第４の実施の形態では、第１の実施の形態で説明した図２０の全体の検索結果を更新する（Ｓ２０３）のサブルーチンで、文が検索された頻度を更新する処理を行う。そのため、第１の実施の形態で説明した図２５の処理に代えて、図３１の処理を行う。
【０１６１】
図３１に、第４の実施の形態に係る全体の検索結果を更新する処理フローの例を示す。Ｓ７０１〜Ｓ７０９の処理は、図２５を用いて説明した第１の実施の形態と同様である。
【０１６２】
検索部２５は、Ｓ７０１から始まる更新処理が行われる前に、全体検索結果格納部３３に格納している文の情報の数、つまり全体の検索結果に含まれる文の数を保持しておく。検索部２５は、この更新前の文数が、所定数より大きいか否かを判定する（Ｓ７２１）。検索部２５は、この文数が所定数より大きくないと判定した場合には、処理を終了する。この場合には、すでに所定数内に検索結果の文が絞り込まれ、頻度の更新が済んでいるので、この段階では更新しないからである。
【０１６３】
検索部２５は、次に、Ｓ７０１〜Ｓ７０９の処理により全体の検索結果が更新された後に全体検索結果格納部３３に格納している文の情報の数、つまり全体の検索結果に含まれる文の数を計数し、この更新後の文数が、所定数以下であるか否かを判定する（Ｓ７２３）。検索部２５は、この文数が所定数以下ではないと判定した場合には、処理を終了する。この場合には、まだ十分に検索結果の文が絞り込まれていないからである。
【０１６４】
検索部２５は、この文数が所定数以下であると判定した場合には、検索結果に含まれる文の頻度を更新する（Ｓ７２５）。具体的には、検索部２５は、全体検索結果格納部３３に含まれる文の情報ごとに、その情報に含まれる文ＩＤを特定し、文構造格納部１５の用言テーブルで、この文ＩＤと一致する用言レコードを特定する。そして、検索部２５は、特定した用言レコードの頻度をインクリメントする。
【０１６５】
そして、図１９のＳ１０９のソート処理において、ソート部３５は、図２６の処理に代えて、頻度をキーとするソートを行う。具体的には、ソート部３５は、全体検索結果格納部３３に含まれる文の情報に含まれる文ＩＤに対応する用言レコードを特定し、その用言レコードに含まれる頻度を読み取る。そして、ソート部３５は、頻度の多い順に、全体検索結果格納部３３に含まれる文の情報を並び替える。以上で、第４の実施の形態における動作の説明を終える。
【０１６６】
所定数以下の検索結果として絞り込まれた文は、ユーザの意図に近いと文であると推測されるので、その後の検索においても有意義であると期待される。このように目的に合う期待が高い文を優先して表示することによって、意図した情報を発見しやすくなる。
【０１６７】
[実施の形態５]
第４の実施の形態では、所定数以内まで検索結果の文が絞り込まれた段階で、これらの文の頻度を更新する例を示したが、第５の実施の形態では、最終の検索結果に残った文について、その頻度を更新する例について説明する。
【０１６８】
図３２に、第５の実施の形態に係る文検索の全体処理フローの例を示す。Ｓ１０１からＳ１１３までの処理は、第１の実施の形態と同様である。
【０１６９】
検索サーバ１は、入力部２１で検索端末３からのイベントを受け付け、入力部２１は、ユーザが文を選択をしたか否かを判定する（Ｓ１１３）。受け付けたイベントが、検索結果に含まれるいずれかの文を選択する指示である場合に、入力部２１は、ユーザが文を選択をしたと判定する。図１６に示した更新部３９は、これを受けて検索結果の文の頻度を更新する（Ｓ１２１）。
【０１７０】
具体的には、更新部３９は、全体検索結果格納部３３に含まれる文の情報ごとに、その情報に含まれる文ＩＤを特定し、文構造格納部１５の用言テーブルで、この文ＩＤと一致する用言レコードを特定する。そして、更新部３９は、特定した用言レコードの頻度をインクリメントする。
【０１７１】
検索サーバ１は、頻度の更新を終えると、文の検索の処理を終了する。
【０１７２】
第５の実施の形態でも、第４の実施の形態と同様に、図１９のＳ１０９のソート処理において、ソート部３５は、図２６の処理に代えて、頻度をキーとするソートを行う。具体的には、ソート部３５は、全体検索結果格納部３３に含まれる文の情報に含まれる文ＩＤに対応する用言レコードを文構造格納部１５で特定し、その用言レコードに含まれる頻度を読み取る。そして、ソート部３５は、頻度の多い順に、全体検索結果格納部３３に含まれる文の情報を並び替える。以上で、第５の実施の形態における動作の説明を終える。
【０１７３】
最終の検索結果として絞り込まれた文は、ユーザの意図に近いと文であると推測されるので、その後の検索においても、有意義であると期待される。このように目的に合う期待が高い文を優先して表示することによって、意図した情報を発見しやすくなる。
【０１７４】
以上本技術の一実施の形態を説明したが、本技術はこれに限定されるものではない。例えば、上述の機能ブロック構成は必ずしも実際のプログラムモジュール構成に対応するものではない。
【０１７５】
また、上で説明した各記憶領域の構成は一例であって、必ずしも上記のような構成でなければならないわけではない。さらに、処理フローにおいても、処理結果が変わらなければ処理の順番を入れ替えることも可能である。さらに、並列に実行させるようにしても良い。
【０１７６】
また、検索サーバ１の機能は、１台のコンピュータではなく複数台のコンピュータで実現するようにしてもよい。
【０１７７】
なお、上で述べた検索サーバ１は、コンピュータ装置であって、図３３に示すように、メモリ２５０１とＣＰＵ（Central Processing Unit）２５０３とハードディスク・ドライブ（ＨＤＤ：Hard Disk Drive）２５０５と表示装置２５０９に接続される表示制御部２５０７とリムーバブル・ディスク２５１１用のドライブ装置２５１３と入力装置２５２５とネットワークに接続するための通信制御部２５１７とがバス２５１９で接続されている。オペレーティング・システム（ＯＳ：Operating System）及び本実施例における処理を実施するためのアプリケーション・プログラムは、ＨＤＤ２５０５に格納されており、ＣＰＵ２５０３により実行される際にはＨＤＤ２５０５からメモリ２５０１に読み出される。ＣＰＵ２５０３は、アプリケーション・プログラムの処理内容に応じて表示制御部２５０７、通信制御部２５１７、ドライブ装置２５１３を制御して、所定の動作を行わせる。また、処理途中のデータについては、主としてメモリ２５０１に格納されるが、ＨＤＤ２５０５に格納されるようにしてもよい。本技術の実施例では、上で述べた処理を実施するためのアプリケーション・プログラムはコンピュータ読み取り可能なリムーバブル・ディスク２５１１に格納されて頒布され、ドライブ装置２５１３からＨＤＤ２５０５にインストールされる。インターネットなどのネットワーク及び通信制御部２５１７を経由して、ＨＤＤ２５０５にインストールされる場合もある。このようなコンピュータ装置は、上で述べたＣＰＵ２５０３、メモリ２５０１などのハードウエアとＯＳ及びアプリケーション・プログラムなどのプログラムとが有機的に協働することにより、上で述べたような各種機能を実現する。
【０１７８】
以上述べた本技術の実施の形態をまとめると、以下のようになる。
【０１７９】
本実施の形態の第１の態様に係る検索装置は、（Ａ）複数の検索対象文に含まれる文節中の名詞について、当該名詞と当該名詞の深層格と当該名詞を含む検索対象文とを対応付けて格納する格納部と、（Ｂ）質問文の一又は複数の文字が入力される度に、入力された一又は複数の文字からなる文字列から文節の抽出を試みる第一の抽出部と、（Ｃ）格納部から、抽出された文節中の名詞と当該名詞の深層格とに一致する一又は複数の検索対象文を抽出する第二の抽出部と、（Ｄ）抽出された一又は複数の検索対象文を出力する出力部とを有する。
【０１８０】
本検索装置は、抽出された文節に従って、深層格により特定される助詞の文意を含めて検索することにより、ブーリアン検索で抽出されがちな文意の異なる的外れな文を検索結果から排除することができる。
【０１８１】
第二の抽出部は、（ｃ１）第一の抽出部により複数の文節が抽出された場合に、抽出された複数の文節のうち各文節中の名詞と当該名詞の深層格とに一致する一又は複数の検索対象文を抽出するようにしてもよい。
【０１８２】
これにより、フルテキスト検索で対応できない文節位置の違いにも対応することができるようになる。
【０１８３】
第二の抽出部は、（ｃ２）抽出された文節中の名詞と助詞に基づいて、名詞の深層格を判定するようにしてもよい。
【０１８４】
これにより、フルテキスト検索で対応できない助詞のゆれにも対応することができるようになる。
【０１８５】
第二の抽出部は、（ｃ３）抽出された文節中の名詞について体言の属性を判定し、判定した体言の属性と抽出された文節中の助詞との組み合わせに基づいて、名詞の深層格を判定するようにしてもよい。
【０１８６】
これにより、フルテキスト検索で対応できない助詞のゆれにも対応することができるようになる。
【０１８７】
第二の抽出部は、（ｃ４）抽出された文節中に疑問詞が含まれる場合に、格納部から、任意の名詞と当該疑問詞の深層格とを対応付ける一又は複数の検索対象文を抽出するようにしてもよい。
【０１８８】
このように、疑問詞を、ワイルドカードのように存在のみを求めるフリーな条件として検索することにより、未知の情報を探索する場合に、文意におけるその情報の位置づけを指定することができるようになる。
【０１８９】
第二の抽出部は、（ｃ５）抽出された文節中の疑問詞と助詞との組み合わせに基づいて、疑問詞の深層格を判定するようにしてもよい。
【０１９０】
これにより、疑問詞についても、助詞のゆれに対応できるようになる。
【０１９１】
出力部は、（ｄ１）抽出された検索対象文の文字列において、一致した名詞を含む文節の文字を、他の文字と区別して出力するようにしてもよい。
【０１９２】
これにより、助詞のゆれや文節位置の違いについてどのように対応しているかを、わかりやすく提示できるようになる。また、その対応が適当であるかの確認を促す効果もある。
【０１９３】
出力部は、（ｄ２）抽出された検索対象文の文字列において、一致した名詞を含む文節の文字及び疑問詞の深層格と対応付けられている任意の名詞を含む文節の文字を、他の文字と区別して出力するようにしてもよい。
【０１９４】
これにより、所望の情報である可能性が高い文字列を区別するので、解答候補の印象が強められるという効果がある。
【０１９５】
出力部は、（ｄ３）任意の名詞を修飾する文節の文字を、任意の名詞を含む文節の文字と同様に出力するようにしてもよい。
【０１９６】
これにより、所望の情報が、修飾する文字列に含まれている場合にも、解答候補の印象を強めることができる。
【０１９７】
検索装置は、更に、（Ｅ）抽出された複数の検索対象文の文字列において、一致した名詞を含む文節の文字数が、抽出された複数の検索対象文の全体の文字数に対して占める割合に応じて、抽出された複数の検索対象文を順位付けするソート部を有するようにしてもよい。また、出力部は、順位付けに従って、抽出された複数の検索対象文を出力するようにしてもよい。
【０１９８】
これにより、質問文との関連が強いと想定される文を優先して出力することができるようになる。
【０１９９】
検索装置は、更に、（ｅ１）抽出された複数の検索対象文の文字列において、一致した名詞を含む文節の文字数及び疑問詞の深層格と対応付けられている任意の名詞を含む文節の文字数の合計が、抽出された複数の検索対象文の全体の文字数に対して占める割合に応じて、抽出された複数の検索対象文を順位付けするソート部を有するようにしてもよい。また、出力部は、順位付けに従って、抽出された複数の検索対象文を出力するようにしてもよい。
【０２００】
これにより、質問文との関連が強いと想定され、かつ所望の情報を含んでいる期待値が高い文を優先して出力することができるようになる。
【０２０１】
ソート部は、（ｅ２）任意の名詞を修飾する文節の文字数を、合計に加えるようにしてもよい。
【０２０２】
これにより、所望の情報が修飾する文字列に含まれている場合にも、その文字列を含む文を優先して出力することができるようになる。
【０２０３】
本実施の形態の第４の態様に係る検索装置は、更に、（Ｆ）第二の抽出部による抽出の頻度に応じて、抽出された複数の検索対象文を順位付けするソート部を有し、出力部は、順位付けに従って、抽出された複数の検索対象文を出力する。
【０２０４】
これにより、検索実績を反映して、過去に有効であったと想定される文を優先して提示することができる。
【０２０５】
第二の抽出部は、（ｃ６）抽出された一又は複数の検索対象文の数が所定数以下となった場合に、抽出された一又は複数の検索対象文について第二の抽出部による抽出の頻度を更新するようにしてもよい。
【０２０６】
これにより、過去に絞り込みの過程で所定数以下まで残った実績を、文の評価に反映することができる。
【０２０７】
本実施の形態の第５の態様に係る検索装置は、更に、（Ｇ）抽出された複数の検索対象文のうち、いずれかを選択する操作がされた場合に、抽出された複数の検索対象文について第二の抽出部による抽出の頻度を更新する更新部を有する。
【０２０８】
これにより、過去に絞り込みの過程で最後まで残った実績を、文の評価に反映することができる。
【０２０９】
検索装置は、複数の検索端末と接続可能であってもよい。また、検索装置は、複数の検索端末からの操作により、第二の抽出部による抽出の頻度が更新されるようにしてもよい。
【０２１０】
これにより、過去の絞込みの実績を多数のユーザで共有し、集合知を構築し、それを利用することができるようになる。
【０２１１】
なお、上記方法による処理をコンピュータに行わせるためのプログラムを作成することができ、当該プログラムは、例えばフレキシブルディスク、ＣＤ−ＲＯＭ、光磁気ディスク、半導体メモリ、ハードディスク等のコンピュータ読み取り可能な記憶媒体又は記憶装置に格納される。尚、中間的な処理結果はメインメモリ等の記憶装置に一時保管される
【０２１２】
以上の実施例を含む実施形態に関し、さらに以下の付記を開示する。
【０２１３】
（付記１）
複数の検索対象文に含まれる文節中の名詞について、当該名詞と当該名詞の深層格と当該名詞を含む検索対象文とを対応付けて格納する格納部と、
質問文の一又は複数の文字が入力される度に、入力された前記一又は複数の文字からなる文字列から文節の抽出を試みる第一の抽出部と、
前記格納部から、抽出された前記文節中の名詞と当該名詞の深層格とに一致する一又は複数の検索対象文を抽出する第二の抽出部と、
抽出された前記一又は複数の検索対象文を出力する出力部と、
を有する検索装置。
【０２１４】
（付記２）
前記第二の抽出部は、前記第一の抽出部により複数の文節が抽出された場合に、抽出された前記複数の文節のうち各文節中の名詞と当該名詞の深層格とに一致する前記一又は複数の検索対象文を抽出する
付記１記載の検索装置。
【０２１５】
（付記３）
前記第二の抽出部は、抽出された前記文節中の前記名詞と助詞に基づいて、前記名詞の前記深層格を判定する
付記１又は２記載の検索装置。
【０２１６】
（付記４）
前記第二の抽出部は、抽出された前記文節中の前記名詞について体言の属性を判定し、判定した前記体言の属性と抽出された前記文節中の前記助詞との組み合わせに基づいて、前記名詞の前記深層格を判定する
付記３記載の検索装置。
【０２１７】
（付記５）
前記第二の抽出部は、抽出された前記文節中に疑問詞が含まれる場合に、前記格納部から、任意の名詞と当該疑問詞の深層格とを対応付ける一又は複数の検索対象文を抽出する
１乃至４のいずれか１つ記載の検索装置。
【０２１８】
（付記６）
前記第二の抽出部は、抽出された前記文節中の前記疑問詞と助詞との組み合わせに基づいて、前記疑問詞の前記深層格を判定する
付記５記載の検索装置。
【０２１９】
（付記７）
前記出力部は、抽出された前記検索対象文の文字列において、一致した前記名詞を含む文節の文字を、他の文字と区別して出力する
請求項１乃至６のいずれか１つ記載の検索装置。
【０２２０】
（付記８）
前記出力部は、抽出された前記検索対象文の文字列において、一致した前記名詞を含む文節の文字及び前記疑問詞の前記深層格と対応付けられている前記任意の名詞を含む文節の文字を、他の文字と区別して出力する
付記５又は６記載の検索装置。
【０２２１】
（付記９）
前記出力部は、前記任意の名詞を修飾する文節の文字を、前記任意の名詞を含む前記文節の前記文字と同様に出力する
付記８記載の検索装置。
【０２２２】
（付記１０）
前記検索装置は、更に、
抽出された前記複数の検索対象文の文字列において、一致した前記名詞を含む文節の文字数が、抽出された前記複数の検索対象文の全体の文字数に対して占める割合に応じて、抽出された前記複数の検索対象文を順位付けするソート部を有し、
前記出力部は、前記順位付けに従って、抽出された前記複数の検索対象文を出力する
付記１乃至９のいずれか１つ記載の検索装置。
【０２２３】
（付記１１）
前記検索装置は、更に、
抽出された前記複数の検索対象文の文字列において、一致した前記名詞を含む文節の文字数及び前記疑問詞の前記深層格と対応付けられている前記任意の名詞を含む文節の文字数の合計が、抽出された前記複数の検索対象文の全体の文字数に対して占める割合に応じて、抽出された前記複数の検索対象文を順位付けするソート部を有し、
前記出力部は、前記順位付けに従って、抽出された前記複数の検索対象文を出力する
付記５又は６記載の検索装置。
【０２２４】
（付記１２）
前記ソート部は、前記任意の名詞を修飾する文節の文字数を、前記合計に加える
付記１１記載の検索装置。
【０２２５】
（付記１３）
前記検索装置は、更に、
前記第二の抽出部による抽出の頻度に応じて、抽出された前記複数の検索対象文を順位付けするソート部を有し、
前記出力部は、前記順位付けに従って、抽出された前記複数の検索対象文を出力する
請求項１乃至９のいずれか１つ記載の検索装置。
【０２２６】
（付記１４）
前記第二の抽出部は、抽出された前記一又は複数の検索対象文の数が所定数以下となった場合に、抽出された前記一又は複数の検索対象文について前記第二の抽出部による前記抽出の頻度を更新する
付記１３記載の検索装置。
【０２２７】
（付記１５）
前記検索装置は、更に、
抽出された前記複数の検索対象文のうち、いずれかを選択する操作がされた場合に、抽出された前記複数の検索対象文について前記第二の抽出部による前記抽出の頻度を更新する更新部
を有する付記１３記載の検索装置。
【０２２８】
（付記１６）
前記検索装置は、複数の検索端末と接続可能であり、
前記複数の検索端末からの操作により、前記第二の抽出部による前記抽出の頻度が更新される
付記１３乃至１５のいずれか１つ記載の検索装置。
【０２２９】
（付記１７）
質問文の一又は複数の文字が入力される度に、入力された前記一又は複数の文字からなる文字列から文節の抽出を試みる第一の抽出処理と、
複数の検索対象文に含まれる文節中の名詞について、当該名詞と当該名詞の深層格と当該名詞を含む検索対象文とを対応付けて格納する格納部から、抽出された前記文節中の名詞と当該名詞の深層格とに一致する一又は複数の検索対象文を抽出する第二の抽出処理と、
抽出された前記一又は複数の検索対象文を出力する出力処理
をコンピュータが実行する検索方法。
【０２３０】
（付記１８）
質問文の一又は複数の文字が入力される度に、入力された前記一又は複数の文字からなる文字列から文節の抽出を試みる第一の抽出処理と、
複数の検索対象文に含まれる文節中の名詞について、当該名詞と当該名詞の深層格と当該名詞を含む検索対象文とを対応付けて格納する格納部から、抽出された前記文節中の名詞と当該名詞の深層格とに一致する一又は複数の検索対象文を抽出する第二の抽出処理と、
抽出された前記一又は複数の検索対象文を出力する出力処理
をコンピュータに実行させるためのプログラム。
【符号の説明】
【０２３１】
１  検索サーバ  ３  検索端末
１１  文データベース  １３  解析部  
１５  文構造格納部  ２１  入力部
２３  抽出部  ２５  検索部
２７  辞書部  ２９  深層格規則記憶部
３１  文節検索結果格納部  ３３  全体検索結果格納部
３５  ソート部  ３７  出力部
３９  更新部
２５０１  メモリ
２５０３  ＣＰＵ（Central Processing Unit）
２５０５  ハードディスク・ドライブ（ＨＤＤ：Hard Disk Drive）
２５０７  表示制御部
２５０９  表示装置
２５１１  リムーバブル・ディスク
２５１３  ドライブ装置
２５１５  入力装置
２５１７  通信制御部
２５１９  バス
【図１】
2013206130.tif 000003
【図２】
2013206130.tif 000004
【図３】
2013206130.tif 000005
【図４】
2013206130.tif 000006
【図５】
2013206130.tif 000007
【図６】
2013206130.tif 000008
【図７】
2013206130.tif 000009
【図８】
2013206130.tif 000010
【図９】
2013206130.tif 000011
【図１０】
2013206130.tif 000012
【図１１】
2013206130.tif 000013
【図１２】
2013206130.tif 000014
【図１３】
2013206130.tif 000015
【図１４】
2013206130.tif 000016
【図１５】
2013206130.tif 000017
【図１６】
2013206130.tif 000018
【図１７】
2013206130.tif 000019
【図１８】
2013206130.tif 000020
【図１９】
2013206130.tif 000021
【図２０】
2013206130.tif 000022
【図２１】
2013206130.tif 000023
【図２２】
2013206130.tif 000024
【図２３】
2013206130.tif 000025
【図２４】
2013206130.tif 000026
【図２５】
2013206130.tif 000027
【図２６】
2013206130.tif 000028
【図２７Ａ】
2013206130.tif 000029
【図２７Ｂ】
2013206130.tif 000030
【図２８】
2013206130.tif 000031
【図２９】
2013206130.tif 000032
【図３０】
2013206130.tif 000033
【図３１】
2013206130.tif 000034
【図３２】
2013206130.tif 000035
【図３３】
2013206130.tif 000036