(57)【特許請求の範囲】
【請求項１】
コンピュータを、
複数の応答内容及び複数の応答内容のそれぞれに対応付けられた複数の語句が登録された応答内容テーブルを参照する応答内容テーブル参照部、
複数の語句及び前記複数の語句のそれぞれに対応付けられたスコアが登録された語句スコアテーブルを参照する語句スコアテーブル参照部、
ユーザが入力したクエリを受け付けるクエリ受付部、
前記クエリ受付部が受け付けた前記クエリから複数の語句を抽出する語句抽出部、
第１検索アルゴリズムを用いて、前記応答内容テーブルに登録された前記複数の応答内容のそれぞれについて、前記語句抽出部により抽出された複数の語句のうち、応答内容に含まれる複数の語句のスコアを、前記語句スコアテーブルから取得して乗算又は加算することにより、前記応答内容の前記クエリに対する第１スコアを算出する第１スコア算出部、
前記第１検索アルゴリズムを用いて検索された複数の応答内容のそれぞれについて、前記第１スコア算出部により算出された前記第１スコアを取得する第１スコア取得部、
前記第１検索アルゴリズムとは異なる第２検索アルゴリズムを用いて、前記応答内容テーブルに登録された前記複数の応答内容のそれぞれについて、前記語句抽出部により抽出された複数の語句のうち、応答内容及び当該応答内容に対応付けられた複数の語句に含まれる複数の語句のスコアを、ＴＦ（Ｔｅｒｍ  Ｆｒｅｑｕｅｎｃｙ）法及びＩＤＦ法の少なくともいずれかによって算出して加算することにより、前記応答内容の前記クエリに対する第２スコアを算出する第２スコア算出部であって、前記語句抽出部により抽出された複数の語句のうち応答内容及び当該応答内容に対応付けられた複数の語句に含まれる語句の種類の数に対する重み付けにさらに基づいて前記第２スコアを算出する第２スコア算出部、
前記第２検索アルゴリズムを用いて検索された複数の応答内容のそれぞれについて、前記第２スコア算出部により算出された前記第２スコアを取得する第２スコア取得部、
前記第１スコア取得部が取得した複数の前記第１スコア及び前記第２スコア取得部が取得した複数の前記第２スコアに基づいて、前記クエリに対する応答内容を決定する応答内容決定部、及び
前記応答内容決定部が決定した前記応答内容を出力する応答内容出力部
として機能させるためのプログラム。
【請求項２】
前記第１スコア算出部は、前記応答内容テーブルに登録された前記複数の応答内容のそれぞれについて、前記語句抽出部により抽出された複数の語句のうち、応答内容及び当該応答内容に対応付けられた複数の語句に含まれる複数の語句のスコアを、前記語句スコアテーブルから取得して乗算又は加算することにより、前記応答内容の前記第１スコアを算出する、請求項１に記載のプログラム。
【請求項３】
前記第１スコア算出部は、ＩＤＦ（Ｉｎｖｅｒｓｅ  Ｄｏｃｕｍｅｎｔ  Ｆｒｅｑｕｅｎｃｙ）法をさらに用いて前記第１スコアを算出する、請求項１又は２に記載のプログラム。
【請求項４】
前記応答内容決定部は、
前記第１検索アルゴリズムを用いて検索された前記複数の応答内容のそれぞれの第１スコアを加算した第１加算値によって、前記複数の応答内容のそれぞれの第１スコアを正規化し、
前記第２検索アルゴリズムを用いて検索された前記複数の応答内容のそれぞれの第２スコアを加算した第２加算値によって、前記複数の応答内容のそれぞれの第２スコアを正規化する、請求項１から３のいずれか一項に記載のプログラム。
【請求項５】
前記応答内容決定部は、
前記複数の第１スコアに対して、前記第１検索アルゴリズムを用いて検索された前記複数の応答内容の数を適用し、
前記複数の第２スコアに対して、前記第２検索アルゴリズムを用いて検索された前記複数の応答内容の数を適用する、請求項１から４のいずれか一項に記載のプログラム。
【請求項６】
コンピュータを、
ユーザが入力したクエリを受け付けるクエリ受付部、
第１検索アルゴリズムを用いて検索された複数の応答内容のそれぞれについて、前記クエリに対する第１スコアを取得する第１スコア取得部、
前記第１検索アルゴリズムとは異なる第２検索アルゴリズムを用いて検索された複数の応答内容のそれぞれについて、前記クエリに対する第２スコアを取得する第２スコア取得部、
前記第１スコア取得部が取得した複数の前記第１スコア及び前記第２スコア取得部が取得した複数の前記第２スコアに基づいて、前記クエリに対する応答内容を決定する応答内容決定部であって、前記第１検索アルゴリズムを用いて検索された前記複数の応答内容のそれぞれの第１スコアを加算した第１加算値によって、前記複数の応答内容のそれぞれの第１スコアを正規化し、正規化した複数の第１スコアに対して、前記第１検索アルゴリズムを用いて検索された前記複数の応答内容の数を乗算し、前記第２検索アルゴリズムを用いて検索された前記複数の応答内容のそれぞれの第２スコアを加算した第２加算値によって、前記複数の応答内容のそれぞれの第２スコアを正規化し、正規化した複数の第２スコアに対して、前記第２検索アルゴリズムを用いて検索された前記複数の応答内容の数を乗算する、応答内容決定部、及び
前記応答内容決定部が決定した前記応答内容を出力する応答内容出力部
として機能させるためのプログラム。
【請求項７】
複数の応答内容及び前記複数の応答内容のそれぞれに対応付けられた複数の語句が登録された応答内容テーブルを参照する応答内容テーブル参照部と、
複数の語句及び前記複数の語句のそれぞれに対応付けられたスコアが登録された語句スコアテーブルを参照する語句スコアテーブル参照部と、
ユーザが入力したクエリを受け付けるクエリ受付部と、
前記クエリ受付部が受け付けた前記クエリから複数の語句を抽出する語句抽出部と、
第１検索アルゴリズムを用いて、前記応答内容テーブルに登録された前記複数の応答内容のそれぞれについて、前記語句抽出部により抽出された複数の語句のうち、応答内容に含まれる複数の語句のスコアを、前記語句スコアテーブルから取得して乗算又は加算することにより、前記応答内容の前記クエリに対する第１スコアを算出する第１スコア算出部と、
前記第１検索アルゴリズムを用いて検索された複数の応答内容のそれぞれについて、前記第１スコア算出部により算出された前記第１スコアを取得する第１スコア取得部と、
前記第１検索アルゴリズムとは異なる第２検索アルゴリズムを用いて、前記応答内容テーブルに登録された前記複数の応答内容のそれぞれについて、前記語句抽出部により抽出された複数の語句のうち、応答内容及び当該応答内容に対応付けられた複数の語句に含まれる複数の語句のスコアを、ＴＦ（Ｔｅｒｍ  Ｆｒｅｑｕｅｎｃｙ）法及びＩＤＦ法の少なくともいずれかによって算出して加算することにより、前記応答内容の前記クエリに対する第２スコアを算出する第２スコア算出部であって、前記語句抽出部により抽出された複数の語句が、前記応答内容に含まれるか当該応答内容に対応付けられた複数の語句に含まれるかに依存する重み付け及び前記語句抽出部により抽出された複数の語句のうち応答内容及び当該応答内容に対応付けられた複数の語句に含まれる語句の種類の数に対する重み付けにさらに基づいて前記第２スコアを算出する第２スコア算出部と、
前記第２検索アルゴリズムを用いて検索された複数の応答内容のそれぞれについて、前記第２スコア算出部により算出された前記第２スコアを取得する第２スコア取得部と、
前記第１スコア取得部が取得した複数の前記第１スコア及び前記第２スコア取得部が取得した複数の前記第２スコアに基づいて、前記クエリに対する応答内容を決定する応答内容決定部であって、前記第１検索アルゴリズムを用いて検索された前記複数の応答内容のそれぞれの第１スコアを加算した第１加算値によって、前記複数の応答内容のそれぞれの第１スコアを正規化し、正規化した複数の第１スコアに対して、前記第１検索アルゴリズムを用いて検索された前記複数の応答内容の数を乗算し、前記第２検索アルゴリズムを用いて検索された前記複数の応答内容のそれぞれの第２スコアを加算した第２加算値によって、前記複数の応答内容のそれぞれの第２スコアを正規化し、正規化した複数の第２スコアに対して、前記第２検索アルゴリズムを用いて検索された前記複数の応答内容の数を乗算し、前記第１検索アルゴリズムに対して予め設定された信頼度を適用した複数の第１スコアと、前記第２検索アルゴリズムに対して予め設定された信頼度を適用した複数の第２スコアとに基づいて、前記クエリに対する応答内容を決定する、応答内容決定部と、
前記応答内容決定部が決定した前記応答内容を出力する応答内容出力部と
を備える情報検索装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報検索装置及びプログラムに関する。
【背景技術】
【０００２】
従来、ユーザからの質問に対して、予め登録された複数の回答内容から検索した回答内容を出力する回答装置が知られていた。（例えば、特許文献１参照）。
［先行技術文献］
［特許文献］
［特許文献１］特開２０１１−０６０２１８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００３】
ユーザから受け付けたクエリに合致する応答をする可能性を向上させる技術が望まれている。
【課題を解決するための手段】
【０００４】
本発明の第１の態様においては、コンピュータを、ユーザが入力したクエリを受け付けるクエリ受付部、第１検索アルゴリズムを用いて検索された複数の応答内容のそれぞれについて、クエリに対する第１スコアを取得する第１スコア取得部、第１検索アルゴリズムとは異なる第２検索アルゴリズムを用いて検索された複数の応答内容のそれぞれについて、クエリに対する第２スコアを取得する第２スコア取得部、第１スコア取得部が取得した複数の第１スコア及び第２スコア取得部が取得した複数の第２スコアに基づいて、クエリに対する応答内容を決定する応答内容決定部、及び応答内容決定部が決定した応答内容を出力する応答内容出力部として機能させるためのプログラムが提供される。
【０００５】
上記プログラムは、上記コンピュータを、複数の応答内容が登録された応答内容テーブルを参照する応答内容テーブル参照部、複数の語句及び複数の語句のそれぞれに対応付けられたスコアが登録された語句スコアテーブルを参照する語句スコアテーブル参照部、クエリ受付部が受け付けたクエリから複数の語句を抽出する語句抽出部、及び応答内容テーブルに登録された複数の応答内容のそれぞれについて、語句抽出部により抽出された複数の語句のうち、応答内容に含まれる複数の語句のスコアを、語句スコアテーブルから取得して乗算又は加算することにより、応答内容の第１スコアを算出する第１スコア算出部としてさらに機能させてよく、第１スコア取得部は、第１スコア算出部により算出された第１スコアを取得してよい。
【０００６】
上記応答内容テーブルには、複数の応答内容及び複数の応答内容のそれぞれに対応付けられた複数の語句が登録されていてよく、第１スコア算出部は、応答内容テーブルに登録された複数の応答内容のそれぞれについて、語句抽出部により抽出された複数の語句のうち、応答内容及び対応付けられた複数の語句に含まれる複数の語句のスコアを、語句スコアテーブルから取得して乗算又は加算することにより、応答内容の第１スコアを算出してよい。また、上記プログラムにおいて、第１スコア算出部は、ＩＤＦ（Ｉｎｖｅｒｓｅ  Ｄｏｃｕｍｅｎｔ  Ｆｒｅｑｕｅｎｃｙ）法をさらに用いて第１スコアを算出してよい。
【０００７】
上記コンピュータを、応答内容テーブルに登録された複数の応答内容のそれぞれについて、語句抽出部により抽出された複数の語句のうち、応答内容に含まれる複数の語句のスコアを、ＴＦ（Ｔｅｒｍ  Ｆｒｅｑｕｅｎｃｙ）法及びＩＤＦ法の少なくともいずれかによって算出して加算することにより、応答内容の第２スコアを算出する第２スコア算出部としてさらに機能させてよく、第２スコア取得部は、第２スコア算出部により算出された第２スコアを取得してよい。上記プログラムにおいて、第２スコア算出部は、応答内容テーブルに登録された複数の応答内容のそれぞれについて、語句抽出部により抽出された複数の語句のうち、応答内容及び対応付けられた複数の語句に含まれる複数の語句のスコアを、ＴＦ法及びＩＤＦ法の少なくともいずれかによって算出して加算することにより、応答内容の第２スコアを算出してよい。上記プログラムにおいて、第２スコア算出部は、語句抽出部により抽出された複数の語句に対する重み付けと、語句が応答内容に含まれるか当該応答内容に対応付けられた複数の語句に含まれるかに依存する重み付けと、応答内容の長さに対する重み付けと、語句抽出部により抽出された複数の語句のうち応答内容及び対応する複数の語句に含まれる語句の種類の数に対する重み付けと、の少なくともいずれかにさらに基づいて、第２スコアを算出してよい。
【０００８】
上記プログラムにおいて、応答内容決定部は、第１検索アルゴリズムを用いて検索された複数の応答内容のそれぞれの第１スコアを加算した第１加算値によって、複数の応答内容のそれぞれの第１スコアを正規化してよく、第２検索アルゴリズムを用いて検索された複数の応答内容のそれぞれの第２スコアを加算した第２加算値によって、複数の応答内容のそれぞれの第２スコアを正規化してよい。上記プログラムにおいて、応答内容決定部は、第１検索アルゴリズムの信頼度を適用した複数の第１スコアと、第２検索アルゴリズムの信頼度を適用した複数の第２スコアとに基づいて、クエリに対する応答内容を決定してよい。上記プログラムにおいて、応答内容決定部は、複数の第１スコアに対して、第１検索アルゴリズムを用いて検索された複数の応答内容の数を適用してよく、複数の第２スコアに対して、第２検索アルゴリズムを用いて検索された複数の応答内容の数を適用してよい。上記プログラムにおいて、応答内容決定部は、第１検索アルゴリズムを用いて検索された複数の応答内容の数が多いほど、複数の第１スコアを高くしてよく、第２検索アルゴリズムを用いて検索された複数の応答内容の数が多いほど、複数の第２スコアを高くしてよい。
【０００９】
本発明の第２の態様においては、ユーザが入力したクエリを受け付けるクエリ受付部と、第１検索アルゴリズムを用いて検索された複数の応答内容のそれぞれについて、クエリに対する第１スコアを取得する第１スコア取得部と、第１検索アルゴリズムとは異なる第２検索アルゴリズムを用いて検索された複数の応答内容のそれぞれについて、クエリに対する第２スコアを取得する第２スコア取得部と、第１スコア取得部が取得した複数の第１スコア及び第２スコア取得部が取得した複数の第２スコアに基づいて、クエリに対する応答内容を決定する応答内容決定部と、応答内容決定部が決定した応答内容を出力する応答内容出力部とを備える情報検索装置が提供される。
【００１０】
なお、上記の発明の概要は、本発明の必要な特徴の全てを列挙したものではない。また、これらの特徴群のサブコンビネーションもまた、発明となりうる。
【図面の簡単な説明】
【００１１】
【図１】情報検索システムの通信環境の一例を概略的に示す。
【図２】情報検索システムの機能構成を概略的に示す。
【図３】コンテンツテーブルの一例を概略的に示す。
【図４】語句スコアテーブルの一例を概略的に示す。
【図５】検索結果スコアの一例を概略的に示す。
【図６】評価結果スコアの一例を概略的に示す。
【発明を実施するための形態】
【００１２】
以下、発明の実施の形態を通じて本発明を説明するが、以下の実施形態は特許請求の範囲にかかる発明を限定するものではない。また、実施形態の中で説明されている特徴の組み合わせの全てが発明の解決手段に必須であるとは限らない。
【００１３】
図１は、情報検索システム１００の通信環境の一例を概略的に示す。情報検索システム１００は、本実施形態に係るプログラムによって各種処理を実行するコンピュータの一例であってよい。本実施形態において、情報検索システム１００は、ユーザ１０から受け付けたクエリに対する応答内容を検索して、ユーザ１０に対して出力する。
【００１４】
図１は、情報検索システム１００が、通信端末３０を介してクエリの受付及び応答内容の出力をする例を示す。情報検索システム１００によるクエリの受付及び応答内容の出力はこれにかぎらず、ユーザ１０から直接クエリを受け付けて、応答内容を出力してもよい。また、通信端末３０が、情報検索システム１００として機能してもよい。
【００１５】
ユーザ１０は、例えば、通信端末３０に対してクエリをテキスト入力又は音声入力する。テキスト入力されたクエリは、通信端末３０によって情報検索システム１００に送信される。音声入力されたクエリは、音声認識技術によってテキストに変換され、情報検索システム１００に送信される。音声認識処理は、通信端末３０、ネットワーク２０に接続された音声処理サーバ４０、及び情報検索システム１００の少なくともいずれかによって実行されてよい。
【００１６】
情報検索システム１００は、受け付けたクエリに対する応答内容を検索する。そして、情報検索システム１００は、特定した応答内容をユーザ１０に対して出力する。例えば、情報検索システム１００は、応答内容を通信端末３０に表示出力又は音声出力させる。また、情報検索システム１００は、ユーザ１０に対して直接表示出力又は音声出力してもよい。応答内容は、音声合成技術によって音声データに変換される。音声合成処理は、情報検索システム１００、音声処理サーバ４０、及び通信端末３０の少なくともいずれかによって実行されてよい。
【００１７】
上述した処理の流れによって、情報検索システム１００は、クエリに対する応答内容を出力する。本実施形態における情報検索システム１００は、クエリに対する応答内容を検索するにあたり、クエリに合致しない応答をしてしまう割合を減少させるべく、複数種類の検索アルゴリズムを用いてそれぞれ検索した結果に基づいて、応答内容を特定する処理を実行する。
【００１８】
図２は、情報検索システム１００の機能構成を概略的に示す。ここでは、情報検索システム１００が、単語条件検索と全文検索の２種類の検索アルゴリズムによる検索結果に基づいて、応答内容を特定する場合を例に挙げて説明する。なお、情報検索システム１００が用いる検索アルゴリズムはこれに限らず、他の検索アルゴリズムを用いて検索を行ってもよい。また、３種類以上の検索アルゴリズムによる検索結果に基づいて、応答内容を特定してもよい。
【００１９】
情報検索システム１００は、シナリオ実行エンジン２００、単語条件検索エンジン３００、全文検索エンジン４００、及び評価エンジン５００を備える。シナリオ実行エンジン２００は、クエリ受付部２０２、形態素解析部２０４、形態素辞書２０５、ＮＧワードフィルタ２０６、ＮＧワード辞書２０７、類義語展開部２０８、類義語辞書２０９、スコア取得部２１０、応答内容決定部２１６、及び応答内容出力部２１８を有する。単語条件検索エンジン３００は、単語条件検索部３０２及び語句スコアテーブル３１０を有する。全文検索エンジン４００は、全文検索部４０２を有する。評価エンジン５００は、評価部５０２を有する。
【００２０】
クエリ受付部２０２は、ユーザが入力したクエリを受け付ける。クエリ受付部２０２は、例えば、通信端末３０及び音声処理サーバ４０等から、テキスト又は音声のクエリを受信する。クエリ受付部２０２は、音声のクエリを受け付けた場合には、音声認識処理を実行することによってテキストに変換してよい。なお、クエリ受付部２０２は、マイク及びキーボードなどの入力機器を介して、直接クエリを受け付けてもよい。
【００２１】
形態素解析部２０４は、形態素辞書２０５を用いてクエリを形態素解析して、複数の語句を抽出する。語句とは、単語及びフレーズの少なくともいずれかであってよい。形態素辞書２０５は周知の形態素データを含んでよく、また、情報検索システム１００の管理者等によって登録された語句を含んでよい。形態素辞書２０５は、情報検索システム１００の管理者等によって編集可能であってよい。形態素解析部２０４は、形態素辞書２０５に登録された語句に最長一致する単位で語句を抽出してよい。
【００２２】
ＮＧワードフィルタ２０６は、形態素解析部２０４によって抽出された複数の語句から、ＮＧワード辞書２０７に登録されたＮＧワードを除去する。ＮＧワード辞書２０７は、情報検索システム１００の管理者等によって登録されたＮＧワードを含んでよい。ＮＧワードとしては、例えば、応答内容の識別に貢献しない使用頻度の高いワードが登録される。ＮＧワード辞書２０７は、情報検索システム１００の管理者等によって編集可能であってよい。
【００２３】
類義語展開部２０８は、形態素解析部２０４によって抽出され、ＮＧワードフィルタ２０６によって除去されなかった語句の類義語を、類義語辞書２０９を用いて展開する。類義語辞書２０９は、周知の類義語データを含んでよく、また、情報検索システム１００の管理者等によって登録された類義語を含んでよい。類義語辞書２０９は、情報検索システム１００の管理者等によって編集可能であってよい。
【００２４】
スコア取得部２１０は、第１スコア取得部２１２及び第２スコア取得部２１４を有する。第１スコア取得部２１２は、単語条件検索エンジン３００によって検索された複数の応答内容のそれぞれについて、クエリに対するスコア（第１スコアと称する場合がある。）を取得する。第１スコア取得部２１２は、類義語展開部２０８から受信した複数の語句を、単語条件検索部３０２に送信し、単語条件検索部３０２から、検索された複数の応答内容のそれぞれの第１スコアを受信してよい。
【００２５】
単語条件検索部３０２は、コンテンツテーブル２８０及び語句スコアテーブル３１０を参照することにより、クエリに対する応答内容を検索する。コンテンツテーブル２８０には、複数の応答内容が登録される。複数の応答内容は、情報検索システム１００の管理者等によって予め登録されてよい。コンテンツテーブル２８０は、応答内容テーブルの一例であってよい。
【００２６】
語句スコアテーブル３１０には、複数の語句及び複数の語句のそれぞれに対応付けられたスコアが登録される。複数の語句及びそれぞれのスコアは、情報検索システム１００の管理者等によって予め登録されてよい。
【００２７】
単語条件検索部３０２は、コンテンツテーブル２８０に登録された複数の応答内容のそれぞれについて、第１スコア取得部２１２から受信した複数の語句のうち、応答内容に含まれる複数の語句のスコアを、語句スコアテーブル３１０から取得して乗算又は加算することにより、応答内容の第１スコアを算出してよい。そして、単語条件検索部３０２は、算出した第１スコアが予め定められた閾値より大きい応答内容を検索結果として採用してよい。
【００２８】
予め定められた閾値は、０であってよく、また、情報検索システム１００の管理者等によって任意に定められた値であってもよい。単語条件検索部３０２が用いる検索アルゴリズムは、第１検索アルゴリズムの一例であってよい。
【００２９】
第２スコア取得部２１４は、全文検索エンジン４００によって検索された複数の応答内容のそれぞれについて、クエリに対するスコア（第２スコアと称する場合がある。）を取得する。第２スコア取得部２１４は、類義語展開部２０８から受信した複数の語句を、全文検索部４０２に送信し、全文検索部４０２から、検索された複数の応答内容のそれぞれの第２スコアを受信してよい。
【００３０】
全文検索部４０２は、コンテンツテーブル２８０を参照することにより、クエリに対する応答内容を検索する。なお、ここでは、単語条件検索エンジン３００及び全文検索エンジン４００が同一のコンテンツテーブル２８０を参照する場合を例に挙げて説明するが、単語条件検索エンジン３００及び全文検索エンジン４００のそれぞれが、複製されたコンテンツテーブル２８０を有してもよい。なお、全文検索エンジン４００として、Ａｐａｃｈｅプロジェクトが管理する全文検索エンジンであるＬＵＣＥＮＥを採用してもよい。
【００３１】
全文検索部４０２は、コンテンツテーブル２８０に登録された複数の応答内容のそれぞれについて、第２スコア取得部２１４から取得した複数の語句のうち、応答内容に含まれる複数の語句を、ＴＦ法及びＩＤＦ法の少なくともいずれかによって算出して加算することにより、応答内容の第２スコアを算出してよい。
【００３２】
そして、全文検索部４０２は、算出した第２スコアが予め定められた閾値より大きい応答内容を検索結果として採用してよい。予め定められた閾値は、０であってよく、また、情報検索システム１００の管理者等によって任意に定められた値であってもよい。全文検索部４０２が用いる検索アルゴリズムは、第２検索アルゴリズムの一例であってよい。
【００３３】
応答内容決定部２１６は、第１スコア取得部２１２が取得した複数の第１スコア及び第２スコア取得部２１４が取得した複数の第２スコアに基づいて、クエリに対する応答内容を決定する。応答内容決定部２１６は、単語条件検索部３０２によって検索された複数の応答内容及びそれぞれの第１スコアと、全文検索部４０２によって検索された複数の応答内容及びそれぞれの第２スコアとを、評価部５０２に評価させてよい。ここで、評価部５０２による評価とは、第１スコア及び第２スコアに基づいて、複数の応答内容の最終的なスコアを算出することであってよい。
【００３４】
評価部５０２は、複数の第１スコア及び複数の第２スコアに基づいて、クエリに対する複数の応答内容のそれぞれのスコアを算出する。評価部５０２は、複数の応答内容のうちの一の応答内容が、単語条件検索部３０２による検索結果及び全文検索部４０２による検索結果の一方のみに含まれる場合には、その一方のスコアを採用する。また、評価部５０２は、複数の応答内容のうちの一の応答内容が、単語条件検索部３０２による検索結果と、全文検索部４０２による検索結果の両方に含まれる場合には、対応する第１スコア及び第２スコアを重み付け加算してよい。
【００３５】
例えば、評価部５０２は、第１スコアに第１検索アルゴリズムの信頼度を適用し、第２スコアに第２検索アルゴリズムの信頼度を適用して、加算する。信頼度の適用とは、例えば、信頼度を乗算することである。これによって、より信頼性の高い検索アルゴリズムによる検索結果を重視しつつ、より信頼性の低い検索アルゴリズムによる検索結果をも考慮に加えた検索結果を提供できる。
【００３６】
なお、信頼度の適用とは、信頼度が大きいほどスコアが高くなる計算であってよく、例えば、信頼度の大きさに応じた大きさを有する係数を乗算することであってもよい。第１検索アルゴリズムの信頼度及び第２検索アルゴリズムの信頼度は、情報検索システム１００の管理者等によって予め設定されてよい。例えば、全文検索部４０２が用いる第２検索アルゴリズムの信頼度が、単語条件検索部３０２が用いる第１検索アルゴリズムの信頼度よりも高くなるように設定されてよい。第１検索アルゴリズムの信頼度と第２検索アルゴリズムの信頼度とは、合計が１．０になるように設定されてよい。
【００３７】
また、評価部５０２は、第１スコア及び第２スコアを、検索結果の順位によって正規化してよい。例えば、評価部５０２は、単語条件検索部３０２によって検索された複数の応答内容のそれぞれの第１スコアを加算した第１加算値によって、複数の応答内容のそれぞれの第１スコアを正規化する。また、例えば、評価部５０２は、全文検索部４０２によって検索された複数の応答内容のそれぞれの第２スコアを加算した第２加算値によって、複数の応答内容のそれぞれの第２スコアを正規化する。これにより、第１検索アルゴリズムと第２検索アルゴリズムとのスコアの尺度の違いを吸収できる。
【００３８】
また、評価部５０２は、単語条件検索部３０２により検索された複数の応答内容の数を第１スコアに適用してよく、全文検索部４０２により検索された複数の応答内容の数を第２スコアに適用してよい。検索された応答内容の数を適用するとは、例えば、検索された応答内容の数をスコアに乗算することである。これにより、例えば、スコアを正規化した場合における検索結果数が多いことによるスコアの値の低下を、補てんすることができる。なお、検索された応答内容の数を適用するとは、検索された応答内容の数が多いほどスコアが高くなる計算であってよく、例えば、検索された応答内容の数の多さに対応する大きさを有する係数を乗算することであってもよい。
【００３９】
評価部５０２は、スコアを算出した複数の応答内容のうち、最も高いスコアを有する応答内容を検索結果として応答内容決定部２１６に送信してよい。また、評価部５０２は、複数の応答内容のうち、スコアの高い順に任意の数の応答内容を応答内容決定部２１６に送信してもよい。また、評価部５０２は、スコアを算出したすべての応答内容を応答内容決定部２１６に送信してもよい。
【００４０】
応答内容出力部２１８は、応答内容決定部２１６が決定した、クエリに対する応答内容を出力する。応答内容出力部２１８は、複数の応答内容のうち最も高いスコアを有する応答内容のみを検索結果として出力してよい。また、応答内容出力部２１８は、スコアの高い順に任意の数の応答内容を出力してもよい。
【００４１】
上述したように、本実施形態に係る情報検索システム１００は、コンテンツテーブル２８０に対して、複数の検索アルゴリズムを用いることによって複数の検索結果を取得し、複数の検索結果に基づいて、応答内容を特定する。これにより、複数のアルゴリズムの長所を活かし、短所を補うような検索結果を提供することができる。特に、第１検索アルゴリズム及び第２検索アルゴリズムの信頼度を編集可能に構成したことによって、第１検索アルゴリズムが有利な検索対象、第２検索アルゴリズムが有利な検索対象など、場面に応じたチューニングを容易に行わせることができる。
【００４２】
図３は、コンテンツテーブル２８０の一例を概略的に示す。コンテンツテーブル２８０は、複数のＩＤ毎に、ｔｉｔｌｅ、ｂｏｄｙ、及び登録語句を含んでよい。ｔｉｔｌｅ及びｂｏｄｙは、応答内容の一例であってよい。例えば、応答内容出力部２１８がＩＤ：０００１の応答内容を出力する場合、「パケットし放題対象になるサービスは、国内でご利用いただいたメール・ウェブのご利用料金（通信料）が「パケットし放題」の対象です」と出力する。登録語句は、情報検索システム１００の管理者等によって、ＩＤ毎に登録される語句であってよい。情報検索システム１００の管理者等は、例えば、ＩＤ毎の応答内容に関連する語句を登録する。
【００４３】
図４は、語句スコアテーブル３１０の一例を概略的に示す。語句スコアテーブル３１０には、複数の語句と、複数の語句のそれぞれのスコアとが登録される。複数の語句及びそれぞれのスコアは、情報検索システム１００の管理者等によって登録されてよい。
【００４４】
語句スコアテーブル３１０に登録された語句は、形態素辞書２０５に登録されてよい。これにより、例えば、クエリに「パケットし放題」が含まれる場合に、形態素解析部２０４は「パケット」と「放題」に分解することなく、「パケットし放題」を切り出すことができる。なお、形態素解析部２０４は、クエリに「パケットし放題」が含まれる場合、「パケットし放題」、「パケット」、「放題」を抽出してもよい。なお、語句スコアテーブル３１０は、さらに、複数の語句のそれぞれの類義語を含んでもよい。例えば、図４の例において、「お金」という語句に対して「請求額」、「金額」が類義語として登録される。
【００４５】
上述したように、単語条件検索部３０２は、コンテンツテーブル２８０及び語句スコアテーブル３１０を参照することにより、クエリに対する、複数の応答内容の第１スコアを算出する。ここで、「定額で使えるパケットし放題のサービスができる対象は」というクエリを受け付けた場合のＩＤ：０００１の応答内容の第１スコア算出について、具体例を挙げて説明する。なお、単語条件検索部３０２は、第１スコア算出にあたり、コンテンツテーブル２８０の登録語句を用いても用いなくてもよいが、ここでは、登録語句を用いる場合について説明する。
【００４６】
まず、クエリ「定額で使えるパケットし放題のサービスができる対象は」から、形態素解析部２０４、ＮＧワードフィルタ２０６、及び類義語展開部２０８によって、例えば「定額」、「パケットし放題」、「サービス」、及び「対象」が抽出されたとする。単語条件検索部３０２は、抽出された語句のうち、ＩＤ：０００１の応答内容及び登録語句に含まれる語句を特定する。ここでは、「定額」、「パケットし放題」、「サービス」、及び「対象」が特定される。そして単語条件検索部３０２は、それぞれの語句に対応するスコアを語句スコアテーブル３１０から取得して乗算又は加算する。これにより、３．０、１０．０、３．０、２．０を乗算した１８０．０又は加算した１５．０が算出される。このように、単語条件検索部３０２は、コンテンツテーブル２８０及び語句スコアテーブル３１０を参照することによって、第１スコアを算出する。
【００４７】
なお、単語条件検索部３０２は、ＩＤＦ法をさらに用いて第１スコアを算出してよい。すなわち、単語条件検索部３０２は、コンテンツテーブル２８０に登録された全応答内容のうち、対象とする語句を含む応答内容の数を考慮して第１スコアを算出してよい。例えば、全応答内容の数が１０００個であり、「定額」を含む応答内容の数が９個である場合に、ｌｏｇ（全応答内容数／「定額」を含む応答内容数＋１）＝ｌｏｇ（１０００／（９＋１））＝２を、「定額」のスコア３．０に乗算してよい。
【００４８】
全文検索部４０２は、ＴＦ法及びＩＤＦ法の少なくともいずれかによって、第２スコアを算出してよい。例えば、ＴＦ法のみを用いる場合には、ＩＤ：０００１の応答内容における「定額」、「パケットし放題」、「サービス」、及び「対象」のそれぞれの出現頻度を算出して加算することにより、第２スコアを算出してよい。
【００４９】
なお、全文検索部４０２は、さらに、各種重み付けを適用することによって、第２スコアを算出してよい。例えば、全文検索部４０２は、クエリから抽出された複数の語句に対する重み付けを採用する。例えば、クエリから複数の語句を抽出した後で、複数の語句をユーザに提示して、複数の語句に対する重み付けの入力を受け付けることにより、クエリから抽出された複数の語句に重み付けをしてよい。これにより、ユーザがより重要と考える語句を重視した検索結果を提供することができる。全文検索エンジン４００としてＬＵＣＥＮＥを採用した場合、ＧｅｔＢｏｏｓｔ関数によって当該重み付けを実現してもよい。
【００５０】
また、全文検索部４０２は、検索フィールドに対する重み付けを採用してよい。例えば、全文検索部４０２は、語句が、コンテンツテーブル２８０の応答内容に含まれる場合と、登録語句に含まれる場合とで異なる重み付けをしてスコアを算出してよい。全文検索部４０２は、応答内容に含まれる場合よりも登録語句に含まれる場合の方により重い重み付けをして、スコアを算出してよい。全文検索エンジン４００としてＬＵＣＥＮＥを採用した場合、ＧｅｔＢｏｏｓｔ関数によって当該重み付けを実現してもよい。
【００５１】
また、全文検索部４０２は、応答内容の長さに対する重み付けを採用してよい。例えば、全文検索部４０２は、応答内容の長さが短いほど、語句が含まれた場合のスコアが高くなるように、第２スコアを算出する。全文検索エンジン４００としてＬＵＣＥＮＥを採用した場合、ＬｅｎｇｔｈＮｏｒｍ関数によって当該重み付けを実現してもよい。
【００５２】
また、全文検索部４０２は、形態素解析部２０４によってクエリから抽出された複数の語句のうち、応答内容及び登録語句に含まれる語句の種類の数に対応する重み付けを採用してよい。例えば、全文検索部４０２は、より多くの種類の語句が含まれる方が、第２スコアが高くなるべく、第２スコアを算出する。全文検索エンジン４００としてＬＵＣＥＮＥを採用した場合、ｃｏｏｒｄ関数によって当該重み付けを実現してもよい。
【００５３】
図５は、検索結果スコア及び正規化後の検索結果スコアの一例を概略的に示す。図５における単語条件検索結果スコア３５０は、４つの応答内容とそれぞれのスコアとを含む。ＩＤ：０００１のスコアが２４．０、ＩＤ：０００２のスコアが１０．０、ＩＤ：０００３のスコアが４．０、ＩＤ：０００４のスコアが２．０であり、合計スコアが４０．０である。
【００５４】
評価部５０２は、合計スコア４０．０によって各スコアを正規化することにより、単語条件正規化後スコア３５２を算出する。ＩＤ：０００１については、２４．０／４０．０×１００＝６０．０が算出され、ＩＤ：０００２、ＩＤ：０００３、ＩＤ：０００４についても同様に、それぞれ、２５．０、１０．０、５．０が算出される。
【００５５】
全文検索結果スコア４５０は、６つの応答内容とそれぞれのスコアとを含む。ＩＤ：０００３のスコアが１２．０、ＩＤ：０００５のスコアが１０．０、ＩＤ：０００６のスコアが９．０、ＩＤ：０００４のスコアが６．０、ＩＤ：０００７のスコアが２．０、ＩＤ：０００８のスコアが１．０であり、合計スコアが４０．０である。
【００５６】
評価部５０２は、合計スコア４０．０によって各スコアを正規化することにより、全文検索正規化後スコア４５２を算出する。ＩＤ：０００３については、１２．０／４０．０×１００＝３０．０が算出され、ＩＤ：０００５、ＩＤ：０００６、ＩＤ：０００４、ＩＤ：０００７、ＩＤ：０００８についても同様に、それぞれ、２５．０、２２．５、１５．０、５．０、２．５が算出される。
【００５７】
図６は、評価結果スコアの一例を概略的に示す。図６は、図５に示す検索結果スコアに基づいて、評価部５０２によって生成された評価結果スコア５５０の例を示す。評価結果スコア５５０は、応答内容のＩＤ毎にスコアを含む。図６に示す例では説明のため、スコアの算出式を示している。ＩＤ：０００３は、単語条件正規化後スコア３５２及び全文検索正規化後スコア４５２の両方に含まれることから、評価部５０２は、単語条件正規化後スコア３５２におけるスコアと、全文検索正規化後スコア４５２におけるスコアとの両方からＩＤ：０００３のスコアを算出する。
【００５８】
ここでは、評価部５０２が、正規化されたスコアに対して、検索アルゴリズムの信頼度と、検索結果数を乗じてスコアを算出する場合を例示している。本例では、単語条件検索エンジン３００による検索の信頼度を０．３とし、全文検索エンジン４００による検索の信頼度を０．７としている。
【００５９】
ＩＤ：０００３について、評価部５０２は、単語条件正規化後スコア３５２におけるスコア１０．０に対して、検索アルゴリズムの信頼度０．３及び検索結果数４を乗じることにより、１２．０というスコアを算出する。また、評価部５０２は、全文検索正規化後スコア４５２におけるスコア３０．０に対して、検索アルゴリズムの信頼度０．７及び検索結果数６を乗じることにより、１２６．０というスコアを算出する。そして、評価部５０２は、１２．０と１２６．０とを加算することにより、ＩＤ：０００３のスコアを１３８．０と算出する。
【００６０】
ＩＤ：０００５については、全文検索正規化後スコア４５２にしか含まれないことから、評価部５０２は、全文検索正規化後スコア４５２におけるスコア２５．０に対して、検索アルゴリズムの信頼度０．７及び検索結果数６を乗じることにより、１０５．０というスコアを算出する。他の応答内容についても同様に、ＩＤ：０００６については９４．５、ＩＤ：０００１については７２．０、ＩＤ：０００４について６９．０、ＩＤ：０００２については３０．０、ＩＤ：０００７については２１．０、ＩＤ：０００８については１０．５が算出される。
【００６１】
このように、単語条件検索部３０２による検索と、全文検索部４０２による検索との両方に基づいて、クエリに対する応答内容のスコアを算出することにより、単語条件検索部３０２による検索及び全文検索部４０２による検索の長所を活かし、短所を補うような結果を提供することができる。
【００６２】
以上の説明において、情報検索システム１００の各部は、ハードウエアにより実現されてもよく、ソフトウエアにより実現されてもよい。また、ハードウエアとソフトウエアとの組み合わせにより実現されてもよい。例えば、シナリオ実行エンジン２００、単語条件検索エンジン３００、全文検索エンジン４００、及び評価エンジン５００は、それぞれ異なるハードウエア、ソフトウエアによって実現されてもよい。
【００６３】
例えば、情報検索システム１００上でプログラムが実行されることにより、コンピュータが、情報検索システム１００の一部として機能してもよい。プログラムは、コンピュータ読み取り可能な媒体に記憶されていてもよく、ネットワークに接続された記憶装置に記憶されていてもよい。ＣＰＵ、ＲＯＭ、ＲＡＭ、通信インターフェース等を有するデータ処理装置と、入力装置と、出力装置と、記憶装置とを備えた一般的な構成の情報処理装置において、情報検索システム１００の各部の動作を規定したソフトウエア又はプログラムを起動することにより、情報検索システム１００が実現されてよい。
【００６４】
コンピュータにインストールされ、コンピュータを本実施形態に係る情報検索システム１００の一部として機能させるプログラムは、情報検索システム１００の各部の動作を規定したモジュールを備える。これらのプログラム又はモジュールは、ＣＰＵ等に働きかけて、コンピュータを、情報検索システム１００の各部としてそれぞれ機能させる。これらのプログラムに記述された情報処理は、コンピュータに読込まれることにより、ソフトウエアと上述した各種のハードウエア資源とが協働した具体的手段として機能する。そして、これらの具体的手段によって、本実施形態におけるコンピュータの使用目的に応じた情報の演算又は加工を実現することにより、使用目的に応じた特有の測定装置を構築することができる。情報検索システム１００は、情報処理装置の一例であってよい。
【００６５】
以上、本発明を実施の形態を用いて説明したが、本発明の技術的範囲は上記実施の形態に記載の範囲には限定されない。上記実施の形態に、多様な変更または改良を加えることが可能であることが当業者に明らかである。その様な変更または改良を加えた形態も本発明の技術的範囲に含まれ得ることが、特許請求の範囲の記載から明らかである。
【００６６】
特許請求の範囲、明細書、および図面中において示した装置、システム、プログラム、および方法における動作、手順、ステップ、および段階などの各処理の実行順序は、特段「より前に」、「先立って」などと明示しておらず、また、前の処理の出力を後の処理で用いるのでない限り、任意の順序で実現しうることに留意すべきである。特許請求の範囲、明細書、および図面中の動作フローに関して、便宜上「まず、」、「次に、」などを用いて説明したとしても、この順で実施することが必須であることを意味するものではない。
【符号の説明】
【００６７】
１０  ユーザ、２０  ネットワーク、３０  通信端末、４０  音声処理サーバ、１００  情報検索システム、２００  シナリオ実行エンジン、２０２  クエリ受付部、２０４  形態素解析部、２０５  形態素辞書、２０６  ＮＧワードフィルタ、２０７  ＮＧワード辞書、２０８  類義語展開部、２０９  類義語辞書、２１０  スコア取得部、２１２  第１スコア取得部、２１４  第２スコア取得部、２１６  応答内容決定部、２１８  応答内容出力部、２８０  コンテンツテーブル、３００  単語条件検索エンジン、３０２  単語条件検索部、３１０  語句スコアテーブル、３５０  単語条件検索結果スコア、３５２  単語条件正規化後スコア、４００  全文検索エンジン、４０２  全文検索部、４５０  全文検索結果スコア、４５２  全文検索正規化後スコア、５００  評価エンジン、５０２  評価部
【要約】
【課題】情報検索システムが、質問に合致しない応答をしてしまう割合を減少させる技術が望まれている。
【解決手段】コンピュータを、ユーザが入力したクエリを受け付けるクエリ受付部、第１検索アルゴリズムを用いて検索された複数の応答内容のそれぞれについて、クエリに対する第１スコアを取得する第１スコア取得部、第１検索アルゴリズムとは異なる第２検索アルゴリズムを用いて検索された複数の応答内容のそれぞれについて、クエリに対する第２スコアを取得する第２スコア取得部、第１スコア取得部が取得した複数の第１スコア及び第２スコア取得部が取得した複数の第２スコアに基づいて、クエリに対する応答内容を決定する応答内容決定部、及び応答内容決定部が決定した応答内容を出力する応答内容出力部として機能させるためのプログラムを提供する。
【選択図】図２【図１】
0005559911.tif 000002
【図２】
0005559911.tif 000003
【図３】
0005559911.tif 000004
【図４】
0005559911.tif 000005
【図５】
0005559911.tif 000006
【図６】
0005559911.tif 000007