(57)【特許請求の範囲】
【請求項１】
ユーザが所望する所望情報を検索する情報検索装置であって、
前記所望情報を検索するための検索語を取得する検索語取得手段と、
前記検索語取得手段により取得された前記検索語から、前記所望情報に関連する関連ワードと、前記所望情報の属性を示す属性情報とを検出する検出手段と、
前記関連ワードの候補である関連ワード候補情報と、前記属性情報の候補である属性候補情報と、当該関連ワード候補情報及び当該属性候補情報から特定される所望情報とを、
対応付けて記憶する候補記憶手段から、前記検出手段により検出された前記関連ワードと完全一致する当該関連ワード候補情報に対応付けられているとともに、前記検出手段により検出された前記属性情報に対応付けられている、前記所望情報を検索する第一の検索処理を行う検索手段と、
を備え、
前記検索手段は、前記第一の検索処理の検索結果がゼロ件の場合、且つ、予め定められた所定の文字数よりも前記関連ワードの文字数の方が大きい場合に、前記候補記憶手段から、前記検出手段により検出された前記関連ワードと部分一致する当該関連ワード候補情報に対応付けられている、前記所望情報を検索する第二の検索処理を行う、情報検索装置。
【請求項２】
前記検出手段により検出される前記属性情報と、前記所望情報に関連する前記関連ワードのカテゴリを示すカテゴリ情報とを、対応付けて記憶するカテゴリ記憶手段と、
前記カテゴリ情報と、前記予め定められた所定の文字数とを、対応付けて記憶する文字数記憶手段と、
を更に備え、
前記検索手段は、前記検出手段により検出された前記属性情報と対応付けて記憶される前記カテゴリ情報を前記カテゴリ記憶手段から取得し、当該カテゴリ情報と対応付けて記憶される前記予め定められた所定の文字数を前記文字数記憶手段から取得する、
請求項１に記載の情報検索装置。
【請求項３】
前記関連ワード候補情報と、当該関連ワード候補情報から派生した派生語とを、対応付けて記憶する派生語記憶手段を更に備え、
前記検索手段は、前記検出手段により検出された前記関連ワードから派生した文字列と完全一致する前記派生語に対応付けて記憶される前記関連ワード候補情報に対応付けられている前記所望情報を前記候補記憶手段から検索する処理を前記第一の検索処理として行い、前記第一の検索処理の検索結果がゼロ件の場合に、前記検出手段により検出された前記関連ワードから派生した文字列と部分一致する前記派生語に対応付けて記憶される前記関連ワード候補情報に対応付けられている前記所望情報を前記候補記憶手段から検索する処理を前記第二の検索処理として行う、
請求項１又は２に記載の情報検索装置。
【請求項４】
前記検出手段は、前記検索語取得手段により取得された前記検索語から、前記関連ワードと前記属性情報との組を複数検出し、
前記検索手段は、前記検出された前記関連ワードと前記属性情報との組を複数用いて前記第一の検索処理を行って検索結果が一件以上となった時点で当該検索結果を出力するとともに、前記第一の検索処理の検索結果がゼロ件の場合に、前記検出された前記関連ワードと前記属性情報との組を複数用いて前記第二の検索処理を行って検索結果が一件以上となった時点で当該検索結果を出力する、請求項１〜３のいずれか１項に記載の情報検索装置。
【請求項５】
ユーザが所望する所望情報を検索する情報検索装置と、当該情報検索装置と通信可能な通信端末とを備える情報検索システムであって、
前記情報検索装置は、
前記所望情報を検索するための検索語を前記通信端末から取得する検索語取得手段と、
前記検索語取得手段により取得された前記検索語から、前記所望情報に関連する関連ワードと、前記所望情報の属性を示す属性情報とを検出する検出手段と、
前記関連ワードの候補である関連ワード候補情報と、前記属性情報の候補である属性候補情報と、当該関連ワード候補情報及び当該属性候補情報から特定される所望情報とを、対応付けて記憶する候補記憶手段から、前記検出手段により検出された前記関連ワードと完全一致する当該関連ワード候補情報に対応付けられているとともに、前記検出手段により検出された前記属性情報に対応付けられている、前記所望情報を検索する第一の検索処理を行う検索手段と、
を有し、
前記検索手段は、前記第一の検索処理の検索結果がゼロ件の場合、且つ、予め定められた所定の文字数よりも前記関連ワードの文字数の方が大きい場合に、前記候補記憶手段から、前記検出手段により検出された前記関連ワードと部分一致する当該関連ワード候補情報に対応付けられている、前記所望情報を検索する第二の検索処理を行い、
前記通信端末は、
前記検索語を前記情報検索装置に送信する送信手段と、
前記検索手段による前記第一の検索処理又は前記第二の検索処理の検索結果を前記情報検索装置から取得する結果取得手段と、
を有する、情報検索システム。
【請求項６】
ユーザが所望する所望情報を検索する情報検索装置が行う情報検索方法であって、
前記所望情報を検索するための検索語を前記情報検索装置が取得する検索語取得ステップと、
前記検索語取得ステップにより取得された前記検索語から、前記所望情報に関連する関連ワードと、前記所望情報の属性を示す属性情報とを前記情報検索装置が検出する検出ステップと、
前記関連ワードの候補である関連ワード候補情報と、前記属性情報の候補である属性候補情報と、当該関連ワード候補情報及び当該属性候補情報から特定される所望情報とを、対応付けて記憶する候補記憶手段から、前記検出ステップにより検出された前記関連ワードと完全一致する当該関連ワード候補情報に対応付けられているとともに、前記検出ステップにより検出された前記属性情報に対応付けられている、前記所望情報を検索する第一の検索処理を前記情報検索装置が行う検索ステップと、
を有し、
前記検索ステップでは、前記第一の検索処理の検索結果がゼロ件の場合、且つ、予め定められた所定の文字数よりも前記関連ワードの文字数の方が大きい場合に、前記候補記憶手段から、前記検出ステップにより検出された前記関連ワードと部分一致する当該関連ワード候補情報に対応付けられている、前記所望情報を検索する第二の検索処理を前記情報検索装置が行う、情報検索方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ユーザが所望する所望情報を検索する情報検索装置、当該情報検索装置を備える情報検索システム、及び当該情報検索装置が行う情報検索方法に関する。
【背景技術】
【０００２】
従来、音声認識技術やタッチパネルを活用したユーザインタフェースの進化、無線通信技術の進化により、ユーザからの特定の分野に限定されない様々な分野に関する質問に回答するマルチドメイン型の質問応答システムが普及しつつある。
【０００３】
マルチドメイン型の質問応答システムでは、ユーザの日常生活に関するあらゆる質問が想定されており、映画といったエンターテイメントに関する情報、地理歴史といった一般常識の情報等についての問い合わせに対して回答する。これらの情報は、システム内部のデータベース管理システム又はシステムと通信接続可能な外部サービス実施サーバ等から取得される。
【０００４】
情報を検索するにあたって、ユーザが問い合わせた対象物（エンティティ）が格納されているデータベースから如何にして適切にエンティティを取り出すかが重要である。データベースに格納された情報をユーザが全て把握しているとは限らないため、ユーザが入力した検索フレーズ（検索ワード）をそのまま用いて検索しても、検索結果が適切に出力されるとは限らない。例えば、ユーザが、「テリーポッターと秘密の部屋」という作品名を取り出すことを意図して、「テリーポッター」という検索ワードを指定しても、「テリーポッターと秘密の部屋」のみが検索結果として出力される可能性は低いことからユーザにとっての利便性が低くなることがある。
【０００５】
このような問題に対処する場合、前方一致検索の実施が検討されることが一般的である。前方一致検索は、検索ワードの文字列の表現を先頭（前方）から全て含む文字列を、データベースの中から検索して検索結果として出力する方法である。前方一致検索を行うことにより、上記の例を用いれば、「テリーポッターと秘密の部屋」、「テリーポッターと不死鳥の騎士団」といった、先頭から「テリーポッター」を含む作品名を全て検索結果として出力することができる。これにより、シリーズを構成する作品群の作品名を、作品名のサブタイトルに関係なく取り出すこと等が可能なため、ユーザが意図した作品名を列挙して出力できる可能性がある。
【０００６】
しかしながら、前方一致検索を実施すると、様々に表現された作品名が検索対象となるため、ユーザが意図していないものも検索結果として出力されてしまう可能性もある。例えば、「テリー」という作品名の作品が存在している状況で、ユーザが、「テリーポッターと秘密の部屋」を検索結果として得ようとするために、「テリー」を検索ワードとして指定したとする。この場合、「テリーポッターと秘密の部屋」及び「テリーポッターと不死鳥の騎士団」だけでなく、ユーザが意図していない「テリー」も検索結果として含まれて出力されてしまう。
【０００７】
例えば、特許文献１に記載のナビゲーション装置では、ユーザにより入力された文字に対して部分一致するキーワードを絞り込み、選択可能なキーワードとして表示する。ユーザは、該当するキーワードを選択することにより、入力操作を省略することができる。例えば、最短一文字の入力操作と選択操作の計二つの操作により、三文字以上のキーワードを選択することで、操作を短縮することが可能になる。
【０００８】
しかしながら、ユーザによる音声検索等の一回のインタラクション（検索のための音声等の入力から、出力された検索結果の確認までの一連の操作）による、ユーザの心理面への負担（コスト）及びユーザを待たせることの負担を考慮すると、適切な検索結果を出力するまでに何度もユーザに検索操作をさせることは望ましくない。このため、ユーザによる一度の検索ワードの指定で、より適切な検索結果を出力することが求められる。
【先行技術文献】
【特許文献】
【０００９】
【特許文献１】特開２００９−１４７０３号公報
【発明の概要】
【発明が解決しようとする課題】
【００１０】
そこで本発明は、ユーザによる一度の検索ワードの指定で、より適切な検索結果を出力することが可能な情報検索装置、情報検索システム、及び情報検索方法を提供することを目的とする。
【課題を解決するための手段】
【００１１】
本発明の一形態に係る情報検索装置は、ユーザが所望する所望情報を検索する情報検索装置であって、所望情報を検索するための検索語を取得する検索語取得手段と、検索語取得手段により取得された検索語から、所望情報に関連する関連ワードと、所望情報の属性を示す属性情報とを検出する検出手段と、関連ワードの候補である関連ワード候補情報と、属性情報の候補である属性候補情報と、当該関連ワード候補情報及び当該属性候補情報から特定される所望情報とを、対応付けて記憶する候補記憶手段から、検出手段により検出された関連ワードと完全一致する当該関連ワード候補情報に対応付けられているとともに、検出手段により検出された属性情報に対応付けられている、所望情報を検索する第一の検索処理を行う検索手段と、を備え、検索手段は、第一の検索処理の検索結果がゼロ件の場合、且つ、予め定められた所定の文字数よりも関連ワードの文字数の方が大きい場合に、候補記憶手段から、検出手段により検出された関連ワードと部分一致する当該関連ワード候補情報に対応付けられている、所望情報を検索する第二の検索処理を行う、ことを特徴とする。
【００１２】
本発明の一形態に係る情報検索装置によれば、検索語が取得され、取得された検索語から上記の関連ワードと属性情報とが検出される。そして、検出された関連ワードと完全一致する当該関連ワード候補情報に対応付けられているとともに属性情報に対応付けられている所望情報を検索する第一の検索処理が行われる。ここで、第一の検索処理の検索結果がゼロ件の場合に、検出された関連ワードと部分一致する当該関連ワード候補情報に対応付けられている所望情報を検索する第二の検索処理が行われる。このように、上記の第一の検索処理（例として完全一致検索）の検索結果がゼロ件の場合に、検出された関連ワードと部分一致する当該関連ワード候補情報に対応付けられている所望情報を検索する第二の検索処理（例として前方一致検索、後方一致検索等の部分一致検索）が行われるため、ユーザによる一度の検索語の指定で、より適切な検索結果を出力することが可能になる。
【００１４】
この形態では、第一の検索処理の検索結果がゼロ件の場合、且つ、予め定められた所定の文字数よりも関連ワードの文字数の方が大きい場合に、第二の検索処理が行われる。関連ワードの文字数の方が大きくなればなるほど、上記の第一の検索処理（例として完全一致検索）の検索結果がゼロ件になる可能性も高くなる。このため、所定の文字数よりも関連ワードの文字数の方が大きいため第二の検索処理を行う方がより適切な状態である場合に、第二の検索処理を行うことが可能になる。
【００１５】
別の形態に係る情報検索装置では、検出手段により検出される属性情報と、所望情報に関連する関連ワードのカテゴリを示すカテゴリ情報とを、対応付けて記憶するカテゴリ記憶手段と、カテゴリ情報と、予め定められた所定の文字数とを、対応付けて記憶する文字数記憶手段と、を更に備え、検索手段は、検出手段により検出された属性情報と対応付けて記憶されるカテゴリ情報をカテゴリ記憶手段から取得し、当該カテゴリ情報と対応付けて記憶される予め定められた所定の文字数を文字数記憶手段から取得してもよい。
【００１６】
この形態では、検出された属性情報と対応付けて記憶されるカテゴリ情報が取得され、当該カテゴリ情報と対応付けて記憶される所定の文字数が取得される。検出された属性情報に適した所定の文字数が取得され、所定の文字数よりも関連ワードの文字数の方が大きいために第二の検索処理を行うのが、より適切な状態である場合に、第二の検索処理を行うことが可能になる。
【００１７】
別の形態に係る情報検索装置では、関連ワード候補情報と、当該関連ワード候補情報から派生した派生語とを、対応付けて記憶する派生語記憶手段を更に備え、検索手段は、検出手段により検出された関連ワードから派生した文字列と完全一致する派生語に対応付けて記憶される関連ワード候補情報に対応付けられている所望情報を候補記憶手段から検索する処理を第一の検索処理として行い、第一の検索処理の検索結果がゼロ件の場合に、検出手段により検出された関連ワードから派生した文字列と部分一致する派生語に対応付けて記憶される関連ワード候補情報に対応付けられている所望情報を候補記憶手段から検索する処理を第二の検索処理として行ってもよい。
【００１８】
この形態では、検出された関連ワードから派生した文字列と完全一致する派生語に対応付けて記憶される関連ワード候補情報に対応付けられている所望情報を候補記憶手段から検索する処理が第一の検索処理として行われ、第一の検索処理の検索結果がゼロ件の場合に、検出手段により検出された関連ワードから派生した文字列と部分一致する派生語に対応付けて記憶される関連ワード候補情報に対応付けられている所望情報を候補記憶手段から検索する処理が第二の検索処理として行われる。これにより、検出された関連ワードが、関連ワードとして適切なものから派生したものであっても、適切な関連ワードの取得及び検出が可能になる。
【００１９】
別の形態に係る情報検索装置では、検出手段は、検索語取得手段により取得された検索語から、関連ワードと属性情報との組を複数検出し、検索手段は、検出された関連ワードと属性情報との組を複数用いて第一の検索処理を行って検索結果が一件以上となった時点で当該検索結果を出力するとともに、第一の検索処理の検索結果がゼロ件の場合に、検出された関連ワードと属性情報との組を複数用いて第二の検索処理を行って検索結果が一件以上となった時点で当該検索結果を出力してもよい。
【００２０】
この形態では、検索語から、関連ワードと属性情報との組が複数検出され、検出された関連ワードと属性情報との組を複数用いて第一の検索処理を行って検索結果が一件以上となった時点で当該検索結果が出力されるとともに、第一の検索処理の検索結果がゼロ件の場合に、検出された関連ワードと属性情報との組を複数用いて第二の検索処理を行って検索結果が一件以上となった時点で当該検索結果が出力される。このように、検出された関連ワードと属性情報との組を複数用いて検索結果が一件以上となった時点で当該検索結果が出力されるため、検索処理に必要な時間を短縮することが可能になる。
【００２１】
本発明の一形態に係る情報検索システムは、ユーザが所望する所望情報を検索する情報検索装置と、当該情報検索装置と通信可能な通信端末とを備える情報検索システムであって、情報検索装置は、所望情報を検索するための検索語を前記通信端末から取得する検索語取得手段と、検索語取得手段により取得された前記検索語から、所望情報に関連する関連ワードと、前記所望情報の属性を示す属性情報とを検出する検出手段と、関連ワードの候補である関連ワード候補情報と、属性情報の候補である属性候補情報と、当該関連ワード候補情報及び当該属性候補情報から特定される所望情報とを、対応付けて記憶する候補記憶手段から、検出手段により検出された関連ワードと完全一致する当該関連ワード候補情報に対応付けられているとともに、検出手段により検出された属性情報に対応付けられている、所望情報を検索する第一の検索処理を行う検索手段と、を有し、検索手段は、第一の検索処理の検索結果がゼロ件の場合、且つ、予め定められた所定の文字数よりも関連ワードの文字数の方が大きい場合に、候補記憶手段から、検出手段により検出された関連ワードと部分一致する当該関連ワード候補情報に対応付けられている、所望情報を検索する第二の検索処理を行い、通信端末は、検索語を情報検索装置に送信する送信手段と、検索手段による第一の検索処理又は第二の検索処理の検索結果を情報検索装置から取得する結果取得手段と、を有する、ことを特徴とする。
【００２２】
本発明の一形態に係る情報検索システムによれば、検索語が取得され、取得された検索語から上記の関連ワードと属性情報とが検出される。そして、検出された関連ワードと完全一致する当該関連ワード候補情報に対応付けられているとともに属性情報に対応付けられている所望情報を検索する第一の検索処理が行われる。ここで、第一の検索処理の検索結果がゼロ件の場合に、検出された関連ワードと部分一致する当該関連ワード候補情報に対応付けられている所望情報を検索する第二の検索処理が行われる。このように、上記の第一の検索処理（例として完全一致検索）の検索結果がゼロ件の場合に、検出された関連ワードと部分一致する当該関連ワード候補情報に対応付けられている所望情報を検索する第二の検索処理（例として前方一致検索、後方一致検索等の部分一致検索）が行われるため、ユーザによる一度の検索語の指定で、より適切な検索結果を出力することが可能になる。
【００２３】
本発明の一形態に係る情報検索方法は、ユーザが所望する所望情報を検索する情報検索装置が行う情報検索方法であって、所望情報を検索するための検索語を情報検索装置が取得する検索語取得ステップと、検索語取得ステップにより取得された検索語から、所望情報に関連する関連ワードと、所望情報の属性を示す属性情報とを情報検索装置が検出する検出ステップと、関連ワードの候補である関連ワード候補情報と、属性情報の候補である属性候補情報と、当該関連ワード候補情報及び当該属性候補情報から特定される所望情報とを、対応付けて記憶する候補記憶手段から、検出ステップにより検出された関連ワードと完全一致する当該関連ワード候補情報に対応付けられているとともに、検出ステップにより検出された属性情報に対応付けられている、所望情報を検索する第一の検索処理を情報検索装置が行う検索ステップと、を有し、検索ステップでは、第一の検索処理の検索結果がゼロ件の場合、且つ、予め定められた所定の文字数よりも関連ワードの文字数の方が大きい場合に、候補記憶手段から、検出ステップにより検出された関連ワードと部分一致する当該関連ワード候補情報に対応付けられている、所望情報を検索する第二の検索処理を情報検索装置が行う、ことを特徴とする。
【００２４】
本発明の一形態に係る情報検索方法によれば、検索語が取得され、取得された検索語から上記の関連ワードと属性情報とが検出される。そして、検出された関連ワードと完全一致する当該関連ワード候補情報に対応付けられているとともに属性情報に対応付けられている所望情報を検索する第一の検索処理が行われる。ここで、第一の検索処理の検索結果がゼロ件の場合に、検出された関連ワードと部分一致する当該関連ワード候補情報に対応付けられている所望情報を検索する第二の検索処理が行われる。このように、上記の第一の検索処理（例として完全一致検索）の検索結果がゼロ件の場合に、検出された関連ワードと部分一致する当該関連ワード候補情報に対応付けられている所望情報を検索する第二の検索処理（例として前方一致検索、後方一致検索等の部分一致検索）が行われるため、ユーザによる一度の検索語の指定で、より適切な検索結果を出力することが可能になる。
【発明の効果】
【００２５】
本発明によれば、ユーザによる一度の検索ワードの指定で、より適切な検索結果を出力することが可能な情報検索装置、情報検索システム、及び情報検索方法を提供することができる。
【図面の簡単な説明】
【００２６】
【図１】本実施形態に係る情報検索システムの主な機能構成の概略を説明するための機能ブロック図である。
【図２】本実施形態に係るデータベース検索装置の主な物理構成の概略を説明するための物理構成図である。
【図３】エンティティ属性データベースのテーブル構成の一例を示すテーブル構成図である。
【図４】マッチング情報データベースのテーブル構成の一例を示すテーブル構成図である。
【図５】属性エンティティカテゴリデータベースのテーブル構成の一例を示すテーブル構成図である。
【図６】前方一致最低文字数データベースのテーブル構成の一例を示すテーブル構成図である。
【図７】属性エンティティカテゴリデータベースと前方一致最低文字数データベースとを統合したデータベースのテーブル構成の一例を示すテーブル構成図である。
【図８】データベース検索装置における検索処理の流れを説明するためのフローチャートである。
【発明を実施するための形態】
【００２７】
以下、添付図面を参照しながら本発明の好適な実施形態を説明する。なお、図面の説明において同一要素には同一符号を付し、重複する説明を省略する。
【００２８】
（１）情報検索システムの構成
まず、本実施形態に係る情報検索システム全体の構成について、図１及び図２を用いて説明する。本実施形態に係る情報検索システム１は、本実施形態に係る情報検索装置であるデータベース検索装置１０と、データベース検索装置１０との通信ネットワークＮＷを介した通信が可能なユーザ端末２０（通信端末）とを備えている。図１は、情報検索システム１の主な機能構成の概略を説明するための機能ブロック図であり、図２は、データベース検索装置１０の主な物理構成の概略を説明するための物理構成図である。通信ネットワークＮＷは、インターネットなどの公衆通信網、専用線、同一物理装置内の通信バス等の組み合わせであってもよく、これらの物理的な配置は限定されない。
【００２９】
データベース検索装置１０は、ユーザ端末２０のユーザが所望する情報である所望情報を検索するサーバ装置である。また、ユーザ端末２０は、携帯電話端末、スマートフォン、パーソナルコンピュータ等の端末装置である。ユーザ端末２０は、タッチパネルディスプレイ等のディスプレイ、ＣＰＵ（Central Processing Unit）、記憶装置、通信モジュール、キーボード等の入力モジュール、録音モジュール、音声認識処理モジュール等の一般的な構成要素を有しており、これら構成要素の組合せにより、ユーザによる質問（検索語）の入力を受け付けてデータベース検索装置１０に出力し、この出力に対するデータベース検索装置１０からの回答の出力を受信することが可能である。
【００３０】
データベース検索装置１０は、図２に示されるように、主な物理的な構成要素としてＣＰＵ１１、主記憶装置であるＲＡＭ１２（Random Access Memory）及びＲＯＭ１３（Read Only Memory）、通信を行うための通信モジュール１４、並びにハードディスク等の補助記憶装置１５等のハードウェアを備えるコンピュータとして構成される。なお、主記憶装置は、ＲＡＭ、ＲＯＭといったものに限定されず、例えばフラッシュメモリといった主記憶装置の役割を果たすものに置き換えてもよい。データベース検索装置１０は、上記の記憶装置に記憶されたプログラムにおける命令によって、これらの構成要素が動作することにより、各種処理を実行する機能が発揮される。
【００３１】
データベース検索装置１０は、図１に示されるように、主な機能的な構成要素として、入出力制御部１０１（検索語取得手段）、キー候補検出部１０２（検出手段）、完全一致制御部１０３（検索手段）、完全一致検索部１０４（検索手段）、エンティティ属性データベース１０５（候補記憶手段）、マッチング情報データベース１０６（派生語記憶手段）、前方一致制御部１０７（検索手段）、前方一致検索部１０８（検索手段）、エンティティカテゴリ判定部１０９（情報記憶手段）、属性エンティティカテゴリデータベース１１０（カテゴリ記憶手段）、前方一致文字数判定部１１１（判定手段）、及び前方一致最低文字数データベース１１２（文字数記憶手段）を有している。なお、データベース検索装置１０における各機能は、単一のサーバ装置内に配置されていなくてもよく、物理的な構成は限定されない。各機能が、ＬＡＮ（Local Area Network）やインターネットで接続された別個のサーバ装置内に配置されていてもよい。
【００３２】
入出力制御部１０１は、ユーザ端末２０との通信を行う通信処理部分である。例えば、入出力制御部１０１は、上記の所望情報を検索するための検索語を含む検索情報をユーザ端末２０から受信して、受信した検索情報から検索語を取得する処理を行うことが可能である。入出力制御部１０１は、ユーザ端末２０においてユーザにより入力された検索フレーズ（検索情報）を受信すると、この検索フレーズから検索語を取得する。そして、入出力制御部１０１は、この検索語をキー候補検出部１０２に渡す。
【００３３】
また、入出力制御部１０１は、完全一致制御部１０３又は前方一致制御部１０７により得られた後述の検索結果を受け取って、ユーザ端末２０に出力して送信することが可能である。検索フレーズは、ユーザ端末２０において入力された音声に対して音声認識処理が行われて得られた文字等の情報であってもよく、ユーザ端末２０のキーボードやタッチパネルを用いて入力されたものであってもよい。検索フレーズは、例えば、ある映画の監督を問い合わせるものから、歴史的な事実を尋ねるものまで、様々な分野について質問する型式で入力される。検索フレーズの一例として、「テリーポッター」という題名の映画が存在すると仮定した場合に、「テリーポッターの監督は誰」といった自然文の検索フレーズ、「テリーポッター  監督」といった複数の検索キーワードの組合せである検索フレーズ等がある。
【００３４】
キー候補検出部１０２は、入出力制御部１０１により取得された検索語から、所望情報に関連するエンティティ検索キー（関連ワード）と、所望情報の属性を示す属性検索キー（属性情報）とを決定して検出する演算処理部分である。エンティティ検索キーは、所望情報に関連する情報を表現するキーワードであり、属性検索キーは、所望情報の側面を示す属性を表現するキーワードである。キー候補検出部１０２は、入出力制御部１０１により取得された検索語によっては、この検索語から、エンティティ検索キーと属性検索キーとのペア（組）を複数決定して検出する場合がある。キー候補検出部１０２は、検出したエンティティ検索キー及び属性検索キー（場合によってはエンティティ検索キー及び属性検索キーの複数のペア）を完全一致制御部１０３に渡す。キー候補検出部１０２によるエンティティ検索キー及び属性検索キーの抽出方法には、後述する種々の方法が考えられる。
【００３５】
例えば、入出力制御部１０１により取得された検索語が二つの検索キーワードの組合せである場合、キー候補検出部１０２は、一つ目の検索キーワードがエンティティ検索キーであると判断してエンティティ検索キーを検出し、二つ目の検索キーワードが属性検索キーであると判断して属性検索キーを検出する。より詳しくは、例えば、入出力制御部１０１により取得された検索語が「テリーポッター  監督」である場合、一つ目の検索キーワードである「テリーポッター」がエンティティ検索キーであるとして検出され、二つ目の検索キーワードである「監督」が属性検索キーであるとして検出される。
【００３６】
また、エンティティ検索キー及び属性検索キーのペア（組み合わせ）は、複数であってもよい。例えば、入出力制御部１０１により取得された検索語が「テリーポッター  監督」である場合、「テリーポッター」がエンティティ検索キーであるとして検出されて且つ「監督」という文字列を含む「映画監督」が属性検索キーであるとして検出される組み合わせだけでなく、更に、「テリーポッター」がエンティティ検索キーであるとして検出されて且つ「監督」という文字列を含む「サッカーチーム監督」が属性検索キーであるとして検出される組み合わせが存在してもよい。すなわち、キー候補検出部１０２は、二つ目の検索キーワードを含む文字列を候補として予め複数記憶しておき、二つ目の検索キーワードの文字列を含むこれら複数の文字列が属性検索キーであるとして検出してもよい。この場合、エンティティ検索キー及び属性検索キーの一つ目のペアは「テリーポッター」及び「映画監督」となり、二つ目のペアは「テリーポッター」及び「サッカーチーム監督」となる。
【００３７】
また、キー候補検出部１０２は、入出力制御部１０１により取得される検索語の候補である雛形（すなわち、自然文形態の質問パターン）と、当該検索語の候補に対応する属性検索キーとを対応付けて記憶することが可能である。例えば、入出力制御部１０１により取得される検索語の候補である雛形としての「〜の監督は誰」（〜の部分は任意の文字列であり、エンティティ検索キーとして判断される文字列）と、この候補に対応する属性検索キーとしての「監督」とが、対応付けて記憶される。そして、入出力制御部１０１により取得された検索語が「テリーポッターの監督は誰」である場合、キー候補検出部１０２が上記のパターンに当てはまったと判定することにより、「テリーポッター」がエンティティ検索キーであるとして検出され、「監督」が属性検索キーであるとして検出される。
【００３８】
エンティティ属性データベース１０５は、エンティティ検索キーの候補である「エンティティ」（関連ワード候補情報）と、属性検索キーの候補である「属性」（属性候補情報）と、当該エンティティ検索キー及び当該属性検索キーの組み合わせから特定される「値」（所望情報及びその候補）とを、対応付けて記憶するデータベースである。エンティティ属性データベース１０５のテーブル構成図の一例が、図３に示されている。ここでは、「エンティティ」としての「テリーポッターと秘密の部屋」と、「属性」としての「映画監督」と、「値」としての「ＡＡＡＡＡＡ」（すなわち、「テリーポッターと秘密の部屋」の映画監督の名前）とが、対応付けて記憶されている。エンティティ属性データベース１０５は、MySQL（登録商標）、PostgreSQL（登録商標）等のデータベース管理システムを用いて構成され、ＳＱＬ等の問い合わせ言語を受け付けるシステムであってもよいし、データベース検索装置１０の内部メモリに記憶されたハッシュ等のデータであってもよい。
【００３９】
マッチング情報データベース１０６は、エンティティ検索キーの候補である「エンティティ」（関連ワード候補情報）と、この「エンティティ」から派生した派生語とを、対応付けて記憶するデータベースである。マッチング情報データベース１０６の「エンティティ」における内容と、エンティティ属性データベース１０５の「エンティティ」における内容とは、通常、一致している。マッチング情報データベース１０６のテーブル構成図の一例が、図４に示されている。ここでは、「エンティティ」としての「テリーポッターと秘密の部屋」と、「エンティティマッチング文字列」としての「テリポタ１作目」とが、対応付けて記憶されている。上記の派生語は、上記の「エンティティ」の文字列に対して後述する正規化処理が行われて得られた文字列であり、例えば、上記の「エンティティ」の文字列の一部、「ー」（長音符）、「〜」（長音符）等の長音、「ッ」等の促音が除去処理された文字列、この除去処理された文字列の一部、この除去処理された文字列の一部に「エンティティ」の特徴、説明等を示す修飾ワードが付加された文字列、この除去処理された文字列の一部に「揺らぎ」（ユーザによって異なる可能性のある表記の違い）が加えられた文字列等である。マッチング情報データベース１０６は、MySQL（登録商標）、PostgreSQL（登録商標）等のデータベース管理システムを用いて構成され、ＳＱＬ等の問い合わせ言語を受け付けるシステムであってもよいし、データベース検索装置１０の内部メモリに記憶されたハッシュ等のデータであってもよい。
【００４０】
完全一致制御部１０３は、完全一致検索部１０４による完全一致検索処理（第一の検索処理）を制御する制御部分である。例えば、完全一致制御部１０３は、キー候補検出部１０２から受けたエンティティ検索キー及び属性検索キーを、完全一致検索部１０４に渡して、完全一致検索処理を実行させるよう指示する。また、完全一致制御部１０３は、完全一致検索部１０４から受信した検索結果が一件以上であると判定した場合に、当該検索結果を入出力制御部１０１に渡す。これにより、当該検索結果がユーザ端末２０に出力される。なお、完全一致制御部１０３は、完全一致検索部１０４から受信した検索結果がゼロ件であると判定した場合に、キー候補検出部１０２から受けたエンティティ検索キー及び属性検索キーを、前方一致制御部１０７に渡す。
【００４１】
完全一致検索部１０４は、完全一致制御部１０３から受けたエンティティ検索キーと完全一致する上記の「エンティティ」に対応付けられているとともに、キー候補検出部１０２により検出された属性検索キーに対応付けられている（完全に一致）、所望情報を検索する完全一致検索処理実行部分である。完全一致検索部１０４は、エンティティ属性データベース１０５にアクセスして、エンティティ検索キーと完全一致する上記の「エンティティ」に対応付けられている「値」の候補を抽出し（「エンティティ」一つに対する「値」の候補が複数の場合もある）、この「値」の候補から、属性検索キーに対応付けられている「値」を抽出することにより、完全一致検索処理を行う。完全一致検索部１０４は、検索結果を完全一致制御部１０３に渡す。また、完全一致検索部１０４は、完全一致制御部１０３から受けたエンティティ検索キー及び属性検索キーの組み合わせが複数存在する場合、各組み合わせについて順次、完全一致検索処理を行う。完全一致検索処理の検索結果が一件以上となった時点で当該検索結果を完全一致制御部１０３に出力する。
【００４２】
なお、完全一致検索部１０４は、完全一致制御部１０３から受けたエンティティ検索キーを正規化処理することによって、エンティティ検索キーから派生した文字列である派生文字列を取得することが可能である。エンティティ検索キーの正規化処理とは、所定のルールに従ってエンティティ検索キーを変換することにより、検索語の入力時において検索語に加えられた「揺らぎ」（ユーザによって異なる可能性のある表記の違い）を排除する処理のことである。上記の正規化処理は、例えば、エンティティ検索キーにおける、「ー」（長音符）、「〜」（長音符）等の長音、「ッ」等の促音を除去する処理、全角及び半角のカナを何れか一方（例えば、全角）に変換して揃える処理等である。例えば、完全一致検索部１０４は、完全一致制御部１０３から受けたエンティティ検索キーが「テリーポッター」である場合、このエンティティ検索キーを正規化処理することによって、派生文字列「テリポタ」を取得することが可能である。
【００４３】
そして、完全一致検索部１０４は、取得した派生文字列と完全一致する「エンティティマッチング文字列」を、マッチング情報データベース１０６にアクセスして取得する。また、完全一致検索部１０４は、取得した「エンティティマッチング文字列」に対応付けて記憶される「エンティティ」を、マッチング情報データベース１０６にアクセスして取得する。更に、完全一致検索部１０４は、取得した「エンティティ」に対応付けられており且つ属性検索キーに対応付けられている「値」を、エンティティ属性データベース１０５にアクセスして抽出する。完全一致検索部１０４は、この抽出処理を上記の完全一致検索処理として行う。ここで、完全一致検索部１０４が、マッチング情報データベース１０６から取得した「エンティティ」と同一の「エンティティ」がエンティティ属性データベース１０５に存在しないことを検出することがあったとする。この場合、完全一致検索部１０４は、マッチング情報データベース１０６から取得した「エンティティ」と部分一致する「エンティティ」を、エンティティ属性データベース１０５から取得してもよい。そして、完全一致検索部１０４は、検索結果を完全一致制御部１０３に渡す。例えば、取得した派生文字列が「テリポタ」である場合、この「テリポタ」と完全一致する文字列が「エンティティマッチング文字列」としてマッチング情報データベース１０６から取得される。
【００４４】
そして、取得された「エンティティマッチング文字列」と対応付けて記憶される「エンティティ」がマッチング情報データベース１０６から取得される。そして、完全一致検索部１０４は、取得した「エンティティ」に対応付けられており且つ属性検索キーに対応付けられている「値」を、エンティティ属性データベース１０５にアクセスして抽出する。完全一致検索部１０４は、この抽出処理を上記の完全一致検索処理として行う。
【００４５】
前方一致制御部１０７は、前方一致検索部１０８による部分一致検索処理（第二の検索処理）を制御する制御部分である。以下では、部分一致検索処理の一例として前方一致検索処理が制御される構成について説明するが、部分一致検索処理であれば特に限定されず、前方一致検索処理の代わりが例えば後方一致検索処理であってもよい。前方一致制御部１０７は、完全一致制御部１０３から受けたエンティティ検索キー及び属性検索キーを、前方一致検索部１０８に渡して、前方一致検索処理を実行させるよう指示する。また、前方一致制御部１０７は、前方一致検索部１０８から受信した検索結果を入出力制御部１０１に渡す。なお、前方一致制御部１０７は、前方一致検索部１０８から受信した検索結果が一件以上となった時点で、当該検索結果を入出力制御部１０１に渡す。これにより、当該検索結果がユーザ端末２０に出力される。
【００４６】
前方一致検索部１０８は、前方一致制御部１０７から受けたエンティティ検索キーと前方一致する上記の「エンティティ」に対応付けられている、所望情報を検索する前方一致検索処理実行部分である。なお、前方一致検索部１０８は、後述する予め定められた所定の文字数よりも、エンティティ検索キーの文字数の方が大きい場合に、前方一致検索処理を行う。前方一致検索部１０８は、エンティティ属性データベース１０５にアクセスして、エンティティ検索キーと前方一致する上記の「エンティティ」に対応付けられている「値」の候補を抽出し（「エンティティ」一つに対する「値」の候補が複数の場合もある）、この「値」の候補から、属性検索キーに対応付けられている「値」を抽出することにより、前方一致検索処理を行う。前方一致検索部１０８は、検索結果を入出力制御部１０１に渡す。なお、後述する予め定められた所定の文字数が、エンティティ検索キーの文字数以上である場合に、前方一致検索部１０８は、検索結果がゼロ件である旨を示す情報を入出力制御部１０１に渡す。また、前方一致検索部１０８は、前方一致制御部１０７から受けたエンティティ検索キー及び属性検索キーの組み合わせが複数存在する場合、各組み合わせについて順次、前方一致検索処理を行う。前方一致検索処理の検索結果が一件以上となった時点で当該検索結果を前方一致制御部１０７に出力する。
【００４７】
なお、前方一致検索部１０８は、前方一致制御部１０７から受けたエンティティ検索キーを正規化処理することによって、エンティティ検索キーから派生した文字列である派生文字列を取得することが可能である。エンティティ検索キーの正規化処理の詳細については既に述べたのでここでは割愛する。例えば、前方一致検索部１０８は、前方一致制御部１０７から受けたエンティティ検索キーが「テリーポッター」である場合、このエンティティ検索キーを正規化処理することによって、派生文字列「テリポタ」を取得することが可能である。
【００４８】
そして、前方一致検索部１０８は、取得した派生文字列を先頭（前方）から全て含む（前方一致する）「エンティティマッチング文字列」を、マッチング情報データベース１０６にアクセスして取得する。また、前方一致検索部１０８は、取得した「エンティティマッチング文字列」に対応付けて記憶される「エンティティ」を、マッチング情報データベース１０６にアクセスして取得する。更に、前方一致検索部１０８は、取得した「エンティティ」に対応付けられており且つ属性検索キーに対応付けられている「値」を、エンティティ属性データベース１０５にアクセスして抽出する。前方一致検索部１０８は、この抽出処理を上記の前方一致検索処理として行う。ここで、前方一致検索部１０８が、マッチング情報データベース１０６から取得した「エンティティ」と同一の「エンティティ」がエンティティ属性データベース１０５に存在しないことを検出することがあったとする。この場合、前方一致検索部１０８は、マッチング情報データベース１０６から取得した「エンティティ」と部分一致する「エンティティ」を、エンティティ属性データベース１０５から取得してもよい。そして、前方一致検索部１０８は、検索結果を前方一致制御部１０７に渡す。例えば、取得した派生文字列が「テリポタ」である場合、この「テリポタ」を先頭（前方）から全て含む文字列である「テリポタ１作目」及び「テリポタ２作目」（他にも、「テリポタ」で始まるエンティティマッチング文字列の全て）が「エンティティマッチング文字列」としてマッチング情報データベース１０６から取得される。
【００４９】
そして、「テリポタ１作目」と対応付けて記憶される「テリーポッターと秘密の部屋」及び「テリポタ２作目」と対応付けて記憶される「テリーポッターとアズガバンの囚人」が「エンティティ」としてマッチング情報データベース１０６から取得される。次に、前方一致検索部１０８は、取得した「テリーポッターと秘密の部屋」に対応付けられており且つ属性検索キーに対応付けられている「値」を抽出する。前方一致検索部１０８は、この抽出処理を上記の前方一致検索処理として行い、更に、「テリーポッターとアズガバンの囚人」に対応付けられており且つ属性検索キーに対応付けられている「値」を抽出する。前方一致検索部１０８は、この抽出処理を上記の前方一致検索処理として行う。ここで、属性検索キーが「映画監督」である場合、図３に示されるように、「値」としての「ＡＡＡＡＡＡ」（すなわち、「テリーポッターと秘密の部屋」の映画監督の名前）及び「ＢＢＢＢＢＢＢ」（すなわち、「テリーポッターとアズガバンの囚人」の映画監督の名前）が抽出される。
【００５０】
なお、前方一致検索部１０８は、予め定められた所定の文字数を取得するために、まず、エンティティカテゴリ判定部１０９にアクセスして、前方一致制御部１０７から受けた属性検索キーと対応付けて記憶されるカテゴリ情報を属性エンティティカテゴリデータベース１１０から取得する。カテゴリ情報は、属性検索キーによって示される属性が何れのカテゴリ（分野）に分類されるかを示す情報である。そして、前方一致検索部１０８は、前方一致文字数判定部１１１にアクセスして、属性エンティティカテゴリデータベース１１０から取得したカテゴリ情報と対応付けて記憶される、後述する予め定められた所定の文字数を、前方一致最低文字数データベース１１２から取得する。
【００５１】
属性エンティティカテゴリデータベース１１０は、属性検索キーに対応する「属性」と、所望情報に関連するエンティティ検索キーのカテゴリ（分野）を示すカテゴリ情報に対応する「エンティティカテゴリ」とを、対応付けて記憶するデータベースである。属性エンティティカテゴリデータベース１１０のテーブル構成図の一例が、図５に示されている。ここでは、「属性」としての「映画監督」と、「エンティティカテゴリ」としての「映画作品」とが、対応付けて記憶されている。属性エンティティカテゴリデータベース１１０は、MySQL（登録商標）、PostgreSQL（登録商標）等のデータベース管理システムを用いて構成され、ＳＱＬ等の問い合わせ言語を受け付けるシステムであってもよいし、データベース検索装置１０の内部メモリに記憶されたハッシュ等のデータであってもよい。
【００５２】
前方一致最低文字数データベース１１２は、所望情報に関連するエンティティ検索キーのカテゴリ（分野）を示すカテゴリ情報に対応する「エンティティカテゴリ」と、後述する予め定められた所定の文字数に対応する「前方一致実施最低文字数」とを、対応付けて記憶するデータベースである。前方一致最低文字数データベース１１２のテーブル構成図の一例が、図６に示されている。ここでは、「エンティティカテゴリ」としての「映画作品」と、「前方一致実施最低文字数」としての「４」とが、対応付けて記憶されている。前方一致最低文字数データベース１１２は、MySQL（登録商標）、PostgreSQL（登録商標）等のデータベース管理システムを用いて構成され、ＳＱＬ等の問い合わせ言語を受け付けるシステムであってもよいし、データベース検索装置１０の内部メモリに記憶されたハッシュ等のデータであってもよい。なお、属性エンティティカテゴリデータベース１１０及び前方一致最低文字数データベース１１２は、図７に示されるように、「属性」をキーにして統合されてもよい。
【００５３】
例えば、前方一致検索部１０８は、前方一致制御部１０７を介してエンティティカテゴリ判定部１０９にアクセスして、前方一致制御部１０７から受けた属性検索キー「映画監督」と対応付けて記憶されるカテゴリ情報「映画作品」を、属性エンティティカテゴリデータベース１１０から取得する。そして、前方一致検索部１０８は、前方一致制御部１０７を介して前方一致文字数判定部１１１にアクセスして、属性エンティティカテゴリデータベース１１０から取得したカテゴリ情報「映画作品」と対応付けて記憶される、予め定められた所定の文字数「４」を、前方一致最低文字数データベース１１２から取得する。
【００５４】
また、前方一致検索部１０８は、前方一致制御部１０７から受けたエンティティ検索キー及び属性検索キーの組み合わせが複数存在する場合、各組み合わせについて順次、前方一致検索処理を行う。前方一致検索処理の検索結果が一件以上となった時点で当該検索結果を前方一致制御部１０７に出力する。例えば、エンティティ検索キー及び属性検索キーの組み合わせが二つだけ存在し、一つ目の組み合わせのエンティティ検索キーが「テリーポッター」であって属性検索キーが「映画監督」であり、二つ目の組み合わせのエンティティ検索キーが「テリーポッター」であって属性検索キーが「サッカーチーム監督」であるとする。この場合、前方一致検索部１０８は、まず、上記のように、属性検索キー「映画監督」と対応付けて記憶されるカテゴリ情報「映画作品」を属性エンティティカテゴリデータベース１１０から取得し、カテゴリ情報「映画作品」と対応付けて記憶される予め定められた所定の文字数「４」を取得する。所定の文字数「４」よりも、エンティティ検索キー「テリーポッター」の文字数「７」の方が大きいため、前方一致検索処理が行われる。
【００５５】
この前方一致検索処理の検索結果がゼロ件であった場合、二つ目の組み合わせについても同様に、前方一致検索処理の実行可否を判定する処理が行われる。すなわち、前方一致検索部１０８は、上記のように、属性検索キー「サッカーチーム監督」と対応付けて記憶されるカテゴリ情報「スポーツ関連人物」を属性エンティティカテゴリデータベース１１０から取得し、カテゴリ情報「スポーツ関連人物」と対応付けて記憶される予め定められた所定の文字数「２」を取得する。所定の文字数「２」よりも、エンティティ検索キー「テリーポッター」の文字数「７」の方が大きいため、前方一致検索処理が行われる。この前方一致検索処理の検索結果がゼロ件であった場合、エンティティ検索キーと属性検索キーのペア（組み合わせ）全てについて前方一致検索処理が完了したと判定されて、前方一致検索部１０８が、検索結果がゼロ件である旨を示す情報を入出力制御部１０１に渡す。なお、前方一致検索部１０８は、前方一致検索処理を行う際に、上記の正規化処理によって得られた派生文字列に対しても、この派生文字列と所定の文字数との比較結果に基づく前方一致検索処理の実施判定を行ってもよい。
【００５６】
エンティティカテゴリ判定部１０９は、前方一致制御部１０７から属性検索キーを受けると、属性エンティティカテゴリデータベース１１０から、属性検索キーと対応付けて記憶されるカテゴリ情報を取得して、前方一致制御部１０７を介して前方一致検索部１０８に渡す判定処理部分である。
【００５７】
前方一致文字数判定部１１１は、前方一致制御部１０７からカテゴリ情報を受けると、前方一致最低文字数データベース１１２から、カテゴリ情報と対応付けて記憶される予め定められた所定の文字数を取得して、前方一致制御部１０７を介して前方一致検索部１０８に渡す判定処理部分である。
【００５８】
ユーザ端末２０は、図１に示されるように、主な機能的な構成要素として、送信部２０１（送信手段）及び取得部２０２（結果取得手段）を有している。
【００５９】
送信部２０１は、データベース検索装置１０との通信を行う通信処理部分である。例えば、送信部２０１は、上記の所望情報を検索するための検索語を含む検索情報を、データベース検索装置１０に送信することが可能である。例えば、送信部２０１は、ユーザ端末２０においてユーザにより入力された検索フレーズ（検索情報）を、データベース検索装置１０に送信することが可能である。検索フレーズは、ユーザ端末２０において入力された音声に対して音声認識処理が行われて得られた文字等の情報であってもよく、ユーザ端末２０のキーボードやタッチパネルを用いて入力されたものであってもよい。
【００６０】
取得部２０２は、データベース検索装置１０との通信を行う通信処理部分である。例えば、取得部２０２は、データベース検索装置１０における完全一致検索処理及び前方一致検索処理の検索結果を、データベース検索装置１０から受信して取得することが可能である。取得部２０２が取得した検索結果は、ユーザ端末２０のディスプレイ等に表示される。
【００６１】
（２）データベース検索装置における検索処理の流れ
引き続き、データベース検索装置１０における検索処理の流れ（情報検索方法）について、図８を用いて説明する。図８は、データベース検索装置１０における検索処理の流れを説明するためのフローチャートである。図８のフローチャートに示される処理は、データベース検索装置１０に検索フレーズ（検索ワード）が入力される度に実行開始され、入力された検索フレーズのそれぞれに関する後述する一連の処理の完了まで実行される。
【００６２】
まず、入出力制御部１０１が、上記の所望情報を検索するための検索語を含む検索情報を、ユーザ端末２０から受信して、受信した検索情報から検索語を取得する（ステップＳ０１、検索語取得ステップ）。これにより、検索語の入力が受け付けられる。そして、入出力制御部１０１は、この検索語をキー候補検出部１０２に渡す。検索フレーズは、ユーザ端末２０において入力された音声に対して音声認識処理が行われて得られた文字等の情報であってもよく、キーボードやタッチパネルを用いて入力されたものであってもよい。検索フレーズは、例えば、ある映画の監督を問い合わせるものから、歴史的な事実を尋ねるものまで、様々な分野について質問する型式で入力される。検索フレーズの一例として、「テリーポッター」という題名の映画が存在すると仮定した場合に、「テリーポッターの監督は誰」といった自然文の検索フレーズ、「テリーポッター  監督」といった二つの検索キーワードの組合せである検索フレーズ等がある。
【００６３】
次に、キー候補検出部１０２が、入出力制御部１０１により取得された検索語から、所望情報に関連するエンティティ検索キーと、所望情報の属性を示す属性検索キーとを抽出して検出する（ステップＳ０２、検出ステップ）。キー候補検出部１０２は、検出したエンティティ検索キー及び属性検索キーを完全一致制御部１０３に渡す。例えば、入出力制御部１０１により取得された検索語が二つの検索キーワードの組合せである場合、キー候補検出部１０２は、一つ目の検索キーワードがエンティティ検索キーであると判断してエンティティ検索キーを検出し、二つ目の検索キーワードが属性検索キーであると判断して属性検索キーを検出する。より詳しくは、例えば、入出力制御部１０１により取得された検索語が「テリーポッター  監督」である場合、一つ目の検索キーワードである「テリーポッター」がエンティティ検索キーであるとして検出され、二つ目の検索キーワードである「監督」が属性検索キーであるとして検出される。
【００６４】
また、エンティティ検索キー及び属性検索キーの組み合わせは、複数であってもよい。例えば、入出力制御部１０１により取得された検索語が「テリーポッター  監督」である場合、「テリーポッター」がエンティティ検索キーであるとして検出され、「映画監督」が属性検索キーであるとして検出される組み合わせだけでなく、更に、「テリーポッター」がエンティティ検索キーであるとして検出され、「サッカーチーム監督」が属性検索キーであるとして検出される組み合わせが存在してもよい。また、入出力制御部１０１により取得された検索語が「テリーポッターの監督は誰」である場合、キー候補検出部１０２が上記のパターンに当てはまったと判定することにより、「テリーポッター」がエンティティ検索キーであるとして検出され、「監督」が属性検索キーであるとして検出される。
【００６５】
次に、完全一致制御部１０３が、キー候補検出部１０２から受けたエンティティ検索キー及び属性検索キーを、完全一致検索部１０４に渡して、上記の完全一致検索処理を実行させるよう指示する（ステップＳ０３、検索ステップ）。完全一致検索部１０４は、エンティティ属性データベース１０５にアクセスして、エンティティ検索キーと完全一致する上記の「エンティティ」に対応付けられている「値」の候補を抽出し（「エンティティ」一つに対する「値」の候補が複数の場合もある）、この「値」の候補から、属性検索キーに対応付けられている「値」を抽出することにより、完全一致検索処理を行う。
【００６６】
次に、完全一致制御部１０３が、完全一致検索部１０４から受信した検索結果が一件以上であるか否かを判定する（ステップＳ０４）。完全一致検索部１０４から受信した検索結果が一件以上であると判定された場合、後述のステップＳ０５に移行する。一方、完全一致検索部１０４から受信した検索結果がゼロ件であると判定された場合、後述のステップＳ０６に移行する。
【００６７】
ステップＳ０５では、完全一致制御部１０３又は前方一致制御部１０７が、完全一致検索部１０４又は前方一致検索部１０８から受信した検索結果を入出力制御部１０１に渡す。これにより、当該検索結果がユーザ端末２０に出力される。そして、一連の処理は完了する。
【００６８】
ステップＳ０６では、完全一致制御部１０３が、エンティティ検索キーと属性検索キーのペア（組み合わせ）全てについて完全一致検索処理が完了したか否かを判定する。エンティティ検索キーと属性検索キーのペア全てについて完全一致検索処理が完了していないと判定された場合、完全一致制御部１０３が、完全一致検索処理が完了していないエンティティ検索キー及び属性検索キーの組み合わせを、完全一致検索部１０４に渡して、前述のステップＳ０３に移行する。一方、エンティティ検索キーと属性検索キーのペア（組み合わせ）全てについて完全一致検索処理が完了したと判定された場合、完全一致制御部１０３が、キー候補検出部１０２から受けたエンティティ検索キー及び属性検索キーを、前方一致制御部１０７に渡す。前方一致制御部１０７は、完全一致制御部１０３から受けたエンティティ検索キー及び属性検索キーを、前方一致検索部１０８に渡して、前方一致検索処理を実行させるよう指示する。
【００６９】
そして、前方一致検索部１０８が、エンティティカテゴリ判定部１０９にアクセスして、前方一致制御部１０７から受けた属性検索キーと対応付けて記憶されるカテゴリ情報を属性エンティティカテゴリデータベース１１０から取得する（ステップＳ０７）。
【００７０】
そして、前方一致検索部１０８が、前方一致文字数判定部１１１にアクセスして、属性エンティティカテゴリデータベース１１０から取得したカテゴリ情報と対応付けて記憶される、上記の予め定められた所定の文字数（前方一致実施最低文字数）を、前方一致最低文字数データベース１１２から取得する（ステップＳ０８）。例えば、前方一致検索部１０８は、前方一致文字数判定部１１１にアクセスして、属性エンティティカテゴリデータベース１１０から取得したカテゴリ情報「映画作品」と対応付けて記憶される、予め定められた所定の文字数「４」を、前方一致最低文字数データベース１１２から取得する。
【００７１】
そして、前方一致検索部１０８が、上記の予め定められた所定の文字数よりも、前方一致制御部１０７から受けたエンティティ検索キーの文字数の方が、大きいか否かを判定する（ステップＳ０９）。上記の予め定められた所定の文字数よりも、前方一致制御部１０７から受けたエンティティ検索キーの文字数の方が、大きいと判定された場合、後述のステップＳ１０に移行する。一方、前方一致制御部１０７から受けたエンティティ検索キーの文字数が、上記の予め定められた所定の文字数以下であると判定された場合、後述のステップＳ１２に移行する。
【００７２】
ステップＳ１０では、前方一致検索部１０８が、エンティティ属性データベース１０５にアクセスして、エンティティ検索キーと前方一致する上記の「エンティティ」に対応付けられている所望情報の候補を抽出し（「エンティティ」一つに対する「値」の候補が複数の場合もある）、この所望情報の候補から、属性検索キーに対応付けられている所望情報を抽出することにより、前方一致検索処理を行う（検索ステップ）。前方一致検索部１０８は、検索結果を入出力制御部１０１に渡す。そして、ステップＳ１１に移行する。
【００７３】
より詳しくは、前方一致検索部１０８は、例えば、エンティティ検索キーが「テリーポッター」である場合、このエンティティ検索キーを正規化処理することによって、派生文字列「テリポタ」を取得する。そして、前方一致検索部１０８は、派生文字列「テリポタ」を先頭（前方）から全て含む「エンティティマッチング文字列」である「テリポタ１作目」及び「テリポタ２作目」を、マッチング情報データベース１０６にアクセスして取得する。そして、前方一致検索部１０８は、取得した「エンティティマッチング文字列」である「テリポタ１作目」に対応付けられて記憶されている「テリーポッターと秘密の部屋」を「エンティティ」として取得し、取得した「テリーポッターと秘密の部屋」に対応付けられており且つ属性検索キーに対応付けられている「値」をエンティティ属性データベース１０５から抽出することにより、上記の前方一致検索処理を行う。ここで、属性検索キーが「映画監督」である場合、図３に示されるように、「値」としての「ＡＡＡＡＡＡ」（すなわち、「テリーポッターと秘密の部屋」の映画監督の名前）が抽出される。更に、前方一致検索部１０８は、取得した「エンティティマッチング文字列」である「テリポタ２作目」に対応付けられて記憶されている「テリーポッターとアズガバンの囚人」を「エンティティとして取得し、取得した「テリーポッターとアズガバンの囚人」に対応付けられており且つ属性検索キーに対応付けられている「値」をエンティティ属性データベース１０５から抽出することにより、上記の前方一致検索処理を行う。ここで、属性検索キーが「映画監督」である場合、図３に示されるように、「値」としての「ＢＢＢＢＢＢＢ」（すなわち、「テリーポッターとアズガバンの囚人」の映画監督の名前）が抽出される。
【００７４】
ステップＳ１１では、前方一致制御部１０７が、前方一致検索部１０８から受信した検索結果が一件以上であるか否かを判定する。前方一致検索部１０８から受信した検索結果が一件以上であると判定された場合、前述のステップＳ０５に移行する。一方、前方一致検索部１０８から受信した検索結果がゼロ件であると判定された場合、後述のステップＳ１２に移行する。
【００７５】
ステップＳ１２では、前方一致制御部１０７が、エンティティ検索キーと属性検索キーのペア（組み合わせ）全てについて前方一致検索処理が完了したか否かを判定する。エンティティ検索キーと属性検索キーのペア全てについて前方一致検索処理が完了していないと判定された場合、前方一致制御部１０７が、前方一致検索処理が完了していないエンティティ検索キー及び属性検索キーの組み合わせを、前方一致検索部１０８に渡して、前述のステップＳ０７に移行する。一方、エンティティ検索キーと属性検索キーのペア（組み合わせ）全てについて前方一致検索処理が完了したと判定された場合、前方一致検索部１０８が、検索結果がゼロ件である旨を示す情報を入出力制御部１０１に渡す（ステップＳ１３）。そして、前述のステップＳ０５に移行する。
【００７６】
（３）本発明による作用及び効果
データベース検索装置１０によれば、検索語が取得され、取得された検索語から上記のエンティティ検索キー及び属性検索キーが検出される。そして、検出されたエンティティ検索キーと完全一致する「エンティティ」に対応付けられているとともに属性検索キーに対応付けられている所望情報を検索する完全一致検索処理が行われる。ここで、完全一致検索処理の検索結果がゼロ件の場合に、検出されたエンティティ検索キーと前方一致する「エンティティ」に対応付けられている所望情報を検索する前方一致検索処理が行われる。このように、上記の完全一致検索処理の検索結果がゼロ件の場合に、検出されたエンティティ検索キーと前方一致する「エンティティ」に対応付けられている所望情報を検索する前方一致検索処理が行われるため、ユーザによる一度の検索語の指定で、より適切な検索結果を出力することが可能になる。
【００７７】
また、データベース検索装置１０によれば、完全一致検索処理の検索結果がゼロ件の場合、且つ、予め定められた所定の文字数よりもエンティティ検索キーの文字数の方が大きい場合に、前方一致検索処理が行われる。エンティティ検索キーの文字数の方が大きくなればなるほど、上記の完全一致検索処理の検索結果がゼロ件になる可能性も高くなる。このため、所定の文字数よりもエンティティ検索キーの文字数の方が大きいため前方一致検索処理を行う方がより適切な状態である場合に、前方一致検索処理を行うことが可能になる。また、完全一致検索処理と前方一致検索処理が組み合わせられているため、ユーザ端末２０のユーザが適切な検索情報を入力することにより、入力された検索情報の文字数が前方一致検索処理の実行に繋がる文字数であるか否かに関わらず、検索結果の出力が担保される。
【００７８】
また、データベース検索装置１０によれば、検出された属性検索キーと対応付けて記憶されるカテゴリ情報が取得され、当該カテゴリ情報と対応付けて記憶される所定の文字数が取得される。検出された属性検索キーに適した所定の文字数が取得され、所定の文字数よりも関連ワードの文字数の方が大きいため前方一致検索処理を行う方がより適切な状態である場合に、前方一致検索処理を行うことが可能になる。また、カテゴリ情報が異なれば所定の文字数も異なるように変更設定が可能である。このため、短い文字数の文字列長で前方一致検索処理を行うことが適切な分野では、このような短い文字数の文字列長で検索することが可能になる。その結果、ユーザ端末２０のユーザの期待する結果を表示しないようにする処理を必要以上に行わないようにすることができる。
【００７９】
また、データベース検索装置１０によれば、検出されたエンティティ検索キーから派生した文字列と完全一致する派生語に対応付けて記憶される「エンティティ」に対応付けられている「値」をエンティティ属性データベース１０５から検索する処理が完全一致検索処理として行われ、完全一致検索処理の検索結果がゼロ件の場合に、検出されたエンティティ検索キーから派生した文字列と部分一致する派生語に対応付けて記憶される「エンティティ」に対応付けられている「値」をエンティティ属性データベース１０５から検索する処理が前方一致検索処理として行われる。これにより、検出されたエンティティ検索キーが、エンティティ検索キーとして適切なものから派生したもの（例えば、揺らぎを有するもの）であっても、適切なエンティティ検索キーの取得及び検出が可能になる。
【００８０】
また、データベース検索装置１０によれば、検索語から、エンティティ検索キーと属性検索キーとの組が複数検出され、検出されたエンティティ検索キーと属性検索キーとの組を複数用いて完全一致検索処理を行って検索結果が一件以上となった時点で当該検索結果が出力されるとともに、完全一致検索処理の検索結果がゼロ件の場合に、検出されたエンティティ検索キーと属性検索キーとの組を複数用いて前方一致検索処理を行って検索結果が一件以上となった時点で当該検索結果が出力される。このように、検出されたエンティティ検索キーと属性検索キーとの組を複数用いて検索結果が一件以上となった時点で当該検索結果が出力されるため、検索処理に必要な時間を短縮することが可能になる。
【００８１】
（４）変形例
上記の実施例では、図８に示されるように、完全一致制御部１０３が、完全一致検索部１０４から受信した検索結果が一件以上であるか否かを判定し（ステップＳ０４）、完全一致検索部１０４から受信した検索結果が一件以上であると判定された場合、完全一致制御部１０３が、完全一致検索部１０４から受信した検索結果を入出力制御部１０１に渡す（ステップＳ０５）。これにより、当該検索結果がユーザ端末２０に出力される。
【００８２】
ここで、ステップＳ０２において、エンティティ検索キー及び属性検索キーの組み合わせの候補が複数検出された場合（例えば、エンティティ検索キー及び属性検索キーの組み合わせの候補Ｃ１，Ｃ２，Ｃ３が検出された場合）、ステップＳ０４において、複数の候補のそれぞれについての検索結果の合計件数（候補Ｃ１の検索結果の件数と、候補Ｃ２の検索結果の件数と、候補Ｃ３の検索結果の件数の合計件数）が一件以上であるか否かを判定する構成としてもよい。
【００８３】
この構成を採用する場合、ステップＳ０５では、複数の候補のそれぞれについての検索結果の合計件数が一件以上であると判定された場合、完全一致制御部１０３は、この合計件数を示す検索結果を入出力制御部１０１に渡す。これにより、この合計件数を示す検索結果がユーザ端末２０に出力されるようになる。
【００８４】
このため、エンティティ検索キー及び属性検索キーの検出精度が低い場合でも、上記のようにエンティティ検索キー及び属性検索キーの組み合わせの複数の候補を利用して各候補についての検索結果を得ることにより、より適切な検索結果を得ることができる場面を増やすことが可能になる。
【００８５】
なお、上述したように、上記の実施例では部分一致検索処理の一例として前方一致検索処理が制御される構成について説明したが、部分一致検索処理であれば特に限定されず、例えば後方一致検索処理であってもよい。
【産業上の利用可能性】
【００８６】
本発明によれば、ユーザによる一度の検索ワードの指定で、より適切な検索結果を出力することが可能な情報検索装置、情報検索システム、及び情報検索方法を提供することができる。
【符号の説明】
【００８７】
１…情報検索システム、１０…データベース検索装置、２０…ユーザ端末、１０１…入出力制御部、１０２…キー候補検出部、１０３…完全一致制御部、１０４…完全一致検索部、１０５…エンティティ属性データベース、１０６…マッチング情報データベース、１０７…前方一致制御部、１０８…前方一致検索部、１０９…エンティティカテゴリ判定部、１１０…属性エンティティカテゴリデータベース、１１１…前方一致文字数判定部、１１２…前方一致最低文字数データベース、２０１…送信部、２０２…取得部、ＮＷ…通信ネットワーク。
【図１】
0005544003.tif 000002
【図２】
0005544003.tif 000003
【図３】
0005544003.tif 000004
【図４】
0005544003.tif 000005
【図５】
0005544003.tif 000006
【図６】
0005544003.tif 000007
【図７】
0005544003.tif 000008
【図８】
0005544003.tif 000009