(58)【調査した分野】(Int.Cl.,DB名)
前記サーバとの対応付けができないテキスト情報の属性を確定するための音声情報を獲得すると、前記音声情報をテキスト情報に変換し、前記データベースの中から前記テキスト情報から得られる属性に対応する情報を保有しているサーバを特定し、前記サーバの中から前記属性に対応する情報を検索することを特徴とする請求項1に記載の情報処理装置。
前記サーバとの対応付けができないテキスト情報が存在しないと判断されると、前記テキスト情報から得られる属性に対応する情報を保有しているサーバを特定し、前記サーバの中から前記属性に対応する情報を検索することを特徴とする請求項1又は2に記載の情報処理装置。
前記属性を得るためのテキスト情報のうち、互いに類似するテキスト情報を纏めた類義語辞書を予め保持しており、前記テキスト情報から得られる属性に対応する候補として前記類義語辞書の中から複数の候補が得られたとき、前記複数の候補の中から何れかの候補を選択するよう要求する手段をさらに含むことを特徴とする請求項1から3の何れか1項に記載の情報処理装置。
外部に設けられた複数のサーバの各々が、如何なる属性に対応する情報を保有しているかという情報を予め格納するデータベースを有する情報処理装置の制御方法であって、
入力される音声情報をテキスト情報に変換する工程と、
前記変換する工程により変換されたテキスト情報を分節する工程と、
前記データベースに格納された情報に基づいて、前記分節されたテキスト情報から得られる属性と、前記属性に対応する情報を保有しているサーバとをそれぞれを対応付ける工程と、
前記テキスト情報から得られる属性のうち、前記サーバとの対応付けができないテキスト情報の有無を判断する工程と、
前記サーバとの対応付けができないテキスト情報の属性を確定するための音声情報を要求する工程と、
前記音声情報、前記変換されたテキスト情報、前記文節されたテキスト情報、前記文節されたテキスト情報から得られる属性、及び前記テキスト情報の属性を確定するための音声情報を所定時間保持する工程と、
前記所定時間が経過すると待機状態へ移行し、前記入力される音声情報に所定のキーワードが含まれているか否かを判断する工程と、
前記入力される音声情報に前記所定のキーワードが含まれていると判断すると、前記待機状態から起動状態に移行する工程と、
を含むことを特徴とする制御方法。
【背景技術】
【0002】
近年、文字、音声、図形、映像等のマルチメディアを入力、出力、及び加工処理することで、人間とコンピュータとの対話を様々な形態で行うことが可能となっている。特に、最近になって、メモリ容量やパーソナルコンピュータ(以下、PCともいう。)の処理能力が飛躍的に向上したことで、マルチメディアを取り扱うことができるPCが開発され、種々のアプリケーションが開発されてきている。これらは何れも単に種々のマルチメディアを出し入れするだけのもので各種マルチメディアを有機的に融合するまでには至っていない。
【0003】
一方、従来からの数値データに代わり、文字を含む言語データが一般的になり、白黒のイメージデータはカラー化や図形、アニメーション、三次元グラフィックス、さらには動画が扱えるように拡張されてきている。また、音声やオーディオ信号についても、単なる音声信号レベルの入出力の他に、音声認識や音声合成の機能が研究開発されつつある。しかし、マンマシンインタフェースとして使用するには性能が不安定で、実用化は限定された分野に限られているのが現状である。
【0004】
このように、上述した文字、テキスト、音声、グラフィックデータ等については、従来の入出力処理(記録、再生)から各種メディアへの展開や生成機能へと発展が続いている。換言すれば、各メディアの表面的な処理からメディアの内容や構造、意味的内容を取り扱い、人間とPCとの間の対話をより自然に快適に行うことを目的として、音声やグラフィックス等のメディアの融合や生成を利用する対話システムの構築が検討されつつある。
【0005】
ここで、対話システムに用いられる音声検索とは、文字列ではなく、発話する声により話しかけることで検索できる技術やサービスのことを指す。近年では、Apple(登録商標)iOSに搭載されるSiri(登録商標)や、Google(登録商標)音声検索が知られている。また、最近では、音声操作できるカーナビ、一部のメーカーが発売する音声による操作や番組検索が可能なテレビ、話しかけるとそのまま指定した言語に翻訳してくれる携帯電話やスマートフォン等も出てきている。このように近年、音声解析技術を使ったサービスが登場してきている。
【0006】
ところで、音声検索は、キーボードやタッチパネルで文字列を打つ必要がないので、両手が塞がっている時でも情報にアクセスでき、発声という直感的なアプローチが可能である。そして、検索結果に該当するものをPCによる音声を用いた回答で得ることができれば、対話によりインターネットから欲しい情報を容易に取り出せるようになる、等の理由から、将来性が期待されている。
【0007】
しかしながら、現状、インターネットを用いた音声検索は、それ程普及が進んでいるとはいえない。音声検索の普及が進まない原因として考えられるのが、検索サービスにおける音声認識の難しさ、その汎用性にある。すなわち、テレビに搭載されている音声認識は、基本的にテレビ番組名や出演者名等、番組と人物に関連する物事や、テレビ操作に関連する物事が認識できれば足りるのである。同様にカーナビであれば、基本的に住所・施設名等、地図情報に関連する物事を認識できれば良いのである。
【0008】
例えば、カーナビで入力する住所は、東京都○○区△△町等のように定型化されているので、連続的な音声を認識した時に、○○、△△に入る文言を特定できれば良いので、結果的に精度は良くなる。このように、特定用途の機器であれば、認識すべき範囲や文脈はある程度絞り込むことができる、つまり候補を限定することができる。しかしながら、汎用的な検索サービスではそうはいかないのが現状である。
【0009】
このように、音声認識については、単一単語認識から連続単語認識、連続音声認識へと発展しており、実用化のために応用を限定した方向でも開発が進められている。このような応用場面では、音声対話システムとして、音声の文字面の認識よりも音声の発話内容の理解が重要であり、例えば、キーワードスポッティングをベースに応用分野の知識を利用した音声理解システムも研究されてきている。
【0010】
他方、音声等のメディアの理解と生成は、単なるデータの入出力とは異なり、メディアの変換の際に発生する情報の欠落やエラーが不可避である。すなわち、音声理解は情報量の多い音声パターンデータから音声の発話の内容や発話者の意図を抽出する処理であり、情報の圧縮を行う過程で音声認識エラーや曖昧性が生じる。したがって、音声対話システムとしては上述した認識エラーや曖昧性等の音声認識の不完全さに対処するため、PC側からユーザに対して適切な質問や確認を行い、対話制御によりスムーズに対話を進行する必要がある。
【0011】
このような状況下、特許文献1には、ユーザが検索対象となる音声を入力すると、音声認識処理の結果として、複数の候補を求め、当該複数の候補の中から、音声検索キーの同定に繋がる関連質問である検索キー確定関連質問をユーザに提示し、ユーザが当該検索キー確定関連質問に応答すると、音声検索キー候補を同定する対話型データベース検索装置が記載されている。
【発明の概要】
【発明が解決しようとする課題】
【0013】
上述したように、従来の音声認識、音声合成技術を利用した音声対話システムは、それぞれ別個に開発された音声認識、音声合成、画面表示の各技術を単に組み合わせただけのものであり、音声の対話という観点からの十分な考慮がなされていないという問題がある。すなわち、音声認識機能には、認識誤りや曖昧性があり、音声合成機能は人間の発声よりも明りょう度が悪く、イントネーションの制御も不十分であるため、意図や感情の伝達能力が不足しており、自然性に欠けるという根本的な問題がある。
【0014】
ところで、ユーザからPCに対して何らかの検索を実行させる場合、PC側では所望の検索結果を得るための条件が整うまで繰り返しユーザに対して質問を行い、所望の検索結果を得るための全ての条件が整って始めて検索結果を出力している。すなわち、妥当な検索結果を得るためには、全ての条件を漏れなく入力する必要があった。
【0015】
そして、特許文献1に記載された技術は、複数の候補の中から音声検索キー候補を同定するため、検索キー認識尤度なるパラメータを用いて検索キー確定関連質問をユーザに提示して音声検索キー候補の絞り込みを行っている。しかしながら、ユーザが検索キー確定関連質問に対して的確な回答を行わなければ検索キー認識尤度が収束しないため、音声検索キー候補の同定がされない可能性がある。
【0016】
そこで本発明は、上記従来の問題点に鑑みてなされたもので、自然な会話の流れでなされる抽象的な質問であっても、妥当であると推測される回答を検索すると共に、複数の検索結果が得られた場合であっても、絞り込みのための追加質問を行うことにより、自然な会話を用いた対話型検索を行うことが可能な情報処理装置、制御方法、及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【0017】
上記課題を解決するため、請求項1に記載の本発明における情報処理装置は、入力される音声情報をテキスト情報に変換する手段と、前記変換されたテキスト情報を分節する手段と、外部に設けられた複数のサーバの各々が、如何なる属性に対応する情報を保有しているかという情報を予め格納するデータベースと、前記データベースに格納された情報に基づいて、前記分節されたテキスト情報から得られる属性と、前記属性に対応する情報を保有しているサーバとをそれぞれを対応付ける手段と、前記テキスト情報から得られる属性のうち、前記サーバとの対応付けができないテキスト情報の有無を判断する手段と、前記サーバとの対応付けができないテキスト情報の属性を確定するための音声情報を要求する手段と、
前記音声情報、前記変換されたテキスト情報、前記文節されたテキスト情報、前記文節されたテキスト情報から得られる属性、及び前記テキスト情報の属性を確定するための音声情報を所定時間保持する手段と、前記所定時間が経過すると待機状態へ移行し、前記入力される音声情報に所定のキーワードが含まれているか否かを判断する手段と、前記入力される音声情報に前記所定のキーワードが含まれていると判断すると、前記待機状態から起動状態に移行する手段と、を含むことを特徴とする。
【0018】
また、本発明における情報処理装置は、請求項1に記載の情報処理装置において、前記サーバとの対応付けができないテキスト情報の属性を確定するための音声情報を獲得すると、前記音声情報をテキスト情報に変換し、前記データベースの中から前記テキスト情報から得られる属性に対応する情報を保有しているサーバを特定し、前記サーバの中から前記属性に対応する情報を検索することを特徴とする。
【0019】
さらに、本発明における情報処理装置は、請求項1又は2に記載の情報処理装置において、前記サーバとの対応付けができないテキスト情報が存在しないと判断されると、前記テキスト情報から得られる属性に対応する情報を保有しているサーバを特定し、前記サーバの中から前記属性に対応する情報を検索することを特徴とする。
【0020】
また、本発明における情報処理装置は、請求項1から3の何れか1項に記載の情報処理装置において、前記属性を得るためのテキスト情報のうち、互いに類似するテキスト情報を纏めた類義語辞書を予め保持しており、前記テキスト情報から得られる属性に対応する候補として前記類義語辞書の中から複数の候補が得られたとき、前記複数の候補の中から何れかの候補を選択するよう要求する手段をさらに含むことを特徴とする。
【0021】
そして、上記課題を解決するため、請求項5に記載の本発明における情報処理装置の制御方法は、外部に設けられた複数のサーバの各々が、如何なる属性に対応する情報を保有しているかという情報を予め格納するデータベースを有する情報処理装置の制御方法であって、入力される音声情報をテキスト情報に変換する工程と、前記変換する工程により変換されたテキスト情報を分節する工程と、前記データベースに格納された情報に基づいて、前記分節されたテキスト情報から得られる属性と、前記属性に対応する情報を保有しているサーバとをそれぞれを対応付ける工程と、前記テキスト情報から得られる属性のうち、前記サーバとの対応付けができないテキスト情報の有無を判断する工程と、前記サーバとの対応付けができないテキスト情報の属性を確定するための音声情報を要求する工程と、
前記音声情報、前記変換されたテキスト情報、前記文節されたテキスト情報、前記文節されたテキスト情報から得られる属性、及び前記テキスト情報の属性を確定するための音声情報を所定時間保持する工程と、前記所定時間が経過すると待機状態へ移行し、前記入力される音声情報に所定のキーワードが含まれているか否かを判断する工程と、前記入力される音声情報に前記所定のキーワードが含まれていると判断すると、前記待機状態から起動状態に移行する工程と、を含むことを特徴とする。
【0022】
また、上記課題を解決するた
め、請求項6に記載の本発明におけるプログラムは、外部に設けられた複数のサーバの各々が、如何なる属性に対応する情報を保有しているかという情報を予め格納するデータベースを有する情報処理装置のコンピュータに、入力される音声情報をテキスト情報に変換する処理と、前記変換する処理により変換されたテキスト情報を分節する処理と、前記データベースに格納された情報に基づいて、前記分節されたテキスト情報から得られる属性と、前記属性に対応する情報を保有しているサーバとをそれぞれを対応付ける処理と、前記テキスト情報から得られる属性のうち、前記サーバとの対応付けができないテキスト情報の有無を判断する処理と、前記サーバとの対応付けができないテキスト情報の属性を確定するための音声情報を要求する処理と、
前記音声情報、前記変換されたテキスト情報、前記文節されたテキスト情報、前記文節されたテキスト情報から得られる属性、及び前記テキスト情報の属性を確定するための音声情報を所定時間保持する処理と、前記所定時間が経過すると待機状態へ移行し、前記入力される音声情報に所定のキーワードが含まれているか否かを判断する処理と、前記入力される音声情報に前記所定のキーワードが含まれていると判断すると、前記待機状態から起動状態に移行する処理と、を実現させることを特徴とする。
【発明の効果】
【0023】
本発明によれば、自然な会話の流れでなされる抽象的な質問であっても、妥当であると推測される回答を検索すると共に、複数の検索結果が得られた場合であっても、絞り込みのための追加質問を行うことにより、自然な会話を用いた対話型検索を行うことが可能な情報処理装置、制御方法、及びプログラムが得られる。
【発明を実施するための形態】
【0025】
次に、本発明を実施するための形態について図面を参照して詳細に説明する。なお、各図中、同一又は相当する部分には同一の符号を付しており、その重複説明は適宜に簡略化乃至省略する。本発明の内容を簡潔に説明すると、入力される音声情報をテキスト情報に変換する手段と、変換されたテキスト情報を分節する手段と、外部に設けられた複数のサーバの各々が、如何なる属性に対応する情報を保有しているかという情報を予め格納するデータベースと、データベースに格納された情報に基づいて、分節されたテキスト情報から得られる属性と、属性に対応する情報を保有しているサーバとをそれぞれを対応付ける手段と、テキスト情報から得られる属性のうち、サーバとの対応付けができないテキスト情報の有無を判断する手段と、サーバとの対応付けができないテキスト情報の属性を確定するための音声情報を要求する手段と、を含むことにより、自然な会話を用いた対話型検索を行うことができるのである。
【0026】
まず、
図1を用いて本発明の実施形態における情報処理装置の構成について説明する。
図1は、本発明の実施形態における情報処理装置の構成について説明する概略ブロック図である。
図1を参照すると、本発明の実施形態における情報処理装置100は、電子情報端末、PDA、ノート型PC、タブレット型PC等を具体例とする情報処理装置である。
【0027】
図1において、本発明の実施形態における情報処理装置(以下、パーソナルコンピュータ(PC)ともいう。)100は、マイク101と、音声認識部102と、ROM(Read Only Memory)103と、RAM(Random Access Memory)104と、スピーカ105、音声合成部106と、CPU(Central Processing Unit)107と、表示部108と、入力部109と、電源部110と、ネットワーク接続部111と、HDD(Hard Disk Drive)112と、から構成される。
【0028】
マイク101は、ユーザの音声を音声データ(電気信号)に変換するものである。音声認識部102は、マイク101によって音声データに変換されたユーザの音声を認識するものである。ROM103は、PC100全体の動作を制御するプログラムを格納するものである。RAM104は、ROM103に格納されたプログラムが展開される記憶領域である。スピーカ105は、後述するPC100のコンシェルジュが出力する音声データを音声に変換するものである。音声合成部106は、PC100のコンシェルジュが出力する音声データを、所望の音声に変換されるよう合成するものである。CPU107は、PC100全体の動作を制御するものであり、ROM103に格納された制御プログラムをロードし、PC100の動作によって得られた様々なデータをRAM104に展開するものである。
【0029】
表示部108は、LCD(Liquid Crystal Display)等で構成される表示画面であり、PC100によって実行されたアプリケーションの結果や図示しないTVチューナによって受信されたテレビ番組を表示するものであり、PC100の出力装置を構成している。入力部109は、キーボード、マウス、タッチパネル等、ユーザがPC100に対して指示を与えるものであり、PC100の入力装置である。電源部110は、PC100に対してAC(Alternative Current:交流)又はDC(Direct Current:直流)電源を与えるものである。ネットワーク接続部111は、インターネットに代表される図示しないネットワーク網に接続され、ネットワーク網とのインタフェースを図るものである。HDD112は、PC100のアプリケーションソフトウェアを格納したり、図示しないTVチューナによって受信されたテレビ番組等のコンテンツを録画したりするものである。なお、表示部108と入力部109は、LCDとタッチパネルとが一体となったタッチパネルディスプレイであっても良い。この場合、キーボードやマウスといった入力装置に代えて、指や図示しないスタイラスペンをタッチパネルディスプレイに接触させて直接文字を書く動作等を行ってデータ入力やコマンド入力といった操作を行うことができる。
【0030】
次に、
図2を参照して、本発明に実施形態における情報処理装置の主要部の構成について説明する。
図2は、本発明の実施形態における情報処理装置の主要部の構成について説明する概略ブロック図である。
【0031】
図2において、本発明の実施形態におけるPC100は、マイク201から入力されたユーザの音声が音声データ(電気信号)に変換されて、当該音声データが音声信号解釈部202によって解釈され、その結果がクライアント型音声認識部203において認識される。クライアント型音声認識部203は、認識した音声データをクライアントアプリケーション部204に渡す。
【0032】
クライアントアプリケーション部204は、ユーザからの問い合わせに対する回答が、オフライン状態にあるローカルコンテンツ部208に格納されているか否かを確認し、ローカルコンテンツ部208に格納されている場合は、当該ユーザからの問い合わせに対する回答を、後述するテキスト読上部209、クライアント型音声合成部210を経由して、スピーカ211から音声出力する。
【0033】
ユーザからの問い合わせに対する回答が、ローカルコンテンツ部208に格納されていない場合は、PC100単独で回答を持ち合わせていないことになるので、インターネット等のネットワーク網207に接続されるネットワーク接続部206を介して、インターネット上の検索エンジン等を用いてユーザからの問い合わせに対する回答を検索し、得られた検索結果を、テキスト読上部209、クライアント型音声合成部210を経由して、スピーカ211から音声出力する。
【0034】
クライアントアプリケーション部204は、ローカルコンテンツ部208、又はネットワーク網207から得られた回答をテキスト(文字)データに変換し、テキスト読上部209に渡す。テキスト読上部209は、テキストデータを読み上げ、クライアント型音声合成部210に渡す。クライアント型音声合成部210は、音声データを人間が認識可能な音声データに合成しスピーカ211に渡す。スピーカ211は、音声データ(電気信号)を音声に変換する。また、スピーカ211から音声を発するのに合わせて、ディスプレイ部に当該音声に関連する詳細な情報を表示する。
【0035】
次に、本発明の実施形態における情報処理装置のソフトウェア機能について説明する。
図3は、本発明の実施形態における情報処理装置のソフトウェア機能について説明する機能ブロック図である。
【0036】
図3に示すように、本発明の実施形態におけるPC100は、ネットワーク313を介して外部に設けられた複数のサーバ701、702、・・・、70Nに接続されている。サーバ701、702、・・・、70Nは、それぞれ、後述する様々な属性に対応する情報を保有している。
【0037】
そして、PC100は、ユーザから発せられる音声を入力するマイク301と、マイク301から入力された音声入力を音声信号(音声情報)として取り扱い、増幅等を行う音声入力部302と、音声入力部302から入力される音声情報をテキスト情報に変換すると共に、変換されたテキスト情報を所定の音節毎に分節するテキスト解析部303と、分節されたテキスト情報が、如何なる属性に対応する情報であるかを判定し、当該分節されたテキスト情報から属性を取得する要素属性判定部304と、を有している。
【0038】
さらに、PC100は、サーバ701、702、・・・、70Nのうち、どのサーバが、如何なる属性に対応する情報を保有しているかという情報を予め格納しているサーバAPI(Application Programming Interface)データベース307と、分節されたテキスト情報から得られる属性が、様々な属性に対応する情報を保有しているサーバ701、702、・・・、70Nのうち、どのサーバが保有している属性に対応するものであるかを対応付けて特定するサーバ特定部305と、特定されたサーバにアクセスして、分節されたテキスト情報から得られる属性に対応するサーバから、当該属性に対応する情報を検索する検索部306と、を有している。
【0039】
そして、PC100は、検索部306によって検索された結果を文章(テキスト情報)として生成する文章生成部310と、文章生成部310によって生成されたテキスト情報(検索結果等)をディスプレイ部205(
図2)に表示する表示部309と、テキスト情報で得られた検索結果を、スピーカ312から出力するための音声信号(音声情報)に変換する音声出力部311と、音声出力部311によって変換された音声を出力するスピーカ312と、を有している。
【0040】
また、後述するように、1つの属性は、ある1つのテキスト情報だけでなく、互いに類似する複数のテキスト情報から得られる場合もある。したがって、分節されたテキスト情報が複数の互いに類似するテキスト情報であっても、同一の属性が得られるようにすることが求められる。そこで、PC100は、用語データベース308を有しており、この用語データベース308には、互いに類似するテキスト情報を纏めた類義語辞書が予め保持されている。
【0041】
次に、本発明の実施形態における情報処理装置の起動時の画面表示について説明する。
図4から
図6は、本発明の実施形態における情報処理装置の起動時の画面表示について説明する図である。
【0042】
本発明の実施形態に係るPC100のコンシェルジュ400、500、600は、起動時の時間帯や曜日に応じて、様々な挨拶を行うことができる。例えば、起動時が朝の時間帯であるときには、
図4に示すように、コンシェルジュ400が、「おはようございます!」と発声するのに合わせてディスプレイ部205(
図2)に関連情報を表示する。同様に、起動時が昼間の時間帯であれば、
図5に示すように、コンシェルジュ500は、「こんにちは!」と発声し、夜の時間帯であれば
図6に示すように、コンシェルジュ600は、「こんばんは!」と発声する。また、時間帯以外にも、平日と休日といった曜日に応じた発声も行うことができる。
【0043】
次に、本発明の実施形態における情報処理装置の具体的な動作について説明する。
図7は、本発明の実施形態における情報処理装置の具体的な動作について説明する図である。
【0044】
PC100が、
図4から
図6に示したように起動している状態で、ユーザが、知りたい情報、検索したい情報をPC100に対して質問すると、PC100は、その質問に対して回答する。例えば、
図7に示すように、ユーザ800が、「チャーリィ!女子会を渋谷で開きたい♪」とPC100に対して質問すると、PC100は、入力された音声情報を、「ジョシカイヲシブヤデヒラキタイ」というテキスト情報に変換すると共に、「ジョシカイ」、「シブヤ」、「ヒラキタイ」に分節し、この分節されたテキスト情報から得られる属性に対応する情報を保有しているサーバを、サーバAPIデータベース307(
図3)に基づいてテキスト情報毎に特定する。
【0045】
しかし、PC100は、テキスト情報「ジョシカイ」の属性に対応する情報を保有しているサーバを特定することができない(サーバAPIデータベース307に存在しない。)ので、テキスト情報「ジョシカイ」の属性を特定するため、「近いもの(パーティ・宴会、友達・同僚・家族と楽しむ)があったのですが、どれにしましょうか?」とユーザ800に対して追加質問を行っている。そして、ユーザ800は、PC100がテキスト情報「ジョシカイ」の属性を特定することができるように、「友達!」という音声情報を入力している。
【0046】
この質問と回答とのやり取りで重要なことは、PC100は、ユーザ800から発せられる音声情報である、「チャーリィ!女子会を渋谷で開きたい♪」のうち、「チャーリィ」という音声に反応し、この音声に続けて発せられる音声を認識し、ユーザ800との対話を開始しているのである。すなわち、PC100は、ユーザ800から発せられる音声情報に基づいて、これをテキスト情報に変換し、この変換されたテキスト情報の中に、所定のキーワード(本実施形態の場合は「チャーリィ」というキーワード)が含まれているか否かを判断し、キーワードが含まれていると判断すると、ユーザ800との対話を開始し、このキーワード以降、ユーザ800から発せられる音声情報(質問)を所定のテキスト情報に変換し、この変換された所定のテキスト情報に基づいて特定される、ユーザから要求されるコマンド(例えばユーザから発話される質問に対する回答等)を実行するのである。なお、このキーワードを何にするかは、ユーザが予め定めておくものとする。
【0047】
また、上記の例では、PC100は、ユーザ800から発せられるある特定の音声情報に反応し、この音声情報に続けて発せられる音声情報をテキスト情報として認識し、所定のコマンドを実行しているが、PC100が、音声認識部102(
図1)によりテキスト情報を認識し、所定のコマンドを実行する契機としては、ユーザ800から発せられる特定の音声情報に限定されることなく、音声認識部102によりテキスト情報を認識することができる音声情報であれば、如何なる音源を用いても良いことは勿論である。
【0048】
そして、PC100は、ユーザ800からの質問の内容である「女子会」、すなわちテキスト情報「ジョシカイ」から得られる属性に対応する情報を保有しているサーバを特定できないので、サーバを用いた検索を行うことができない。そこで、PC100は、テキスト情報「ジョシカイ」の属性を特定するため、「近いもの(パーティ・宴会、友達・同僚・家族と楽しむ)があったのですが、どれにしましょうか?」と追加質問を行い、テキスト情報「ジョシカイ」が如何なる属性のものであるかを特定するため、ユーザ800に対して聞き直しを行い、音声入力を要求しているのである。
【0049】
本実施形態におけるPC100には、音声対話システムのソフトウェアアプリケーションプログラムがインストールされているが、このソフトウェアアプリケーションプログラムを常駐モードにするか、非常駐モードにするかを予め選択することができる。そして、常駐モードを選択すると、次回起動時からはスタートアップ時から起動する。さらに、常駐モードでは、常時、音をモニタリングし、ノイズなのか音声なのかを即座に判断している。
【0050】
常駐モードにされていると、音声認識されたテキスト情報の中から「チャーリィ」といった所定のキーワードの有無だけを認識し、当該所定のキーワードが認識されると、音声認識されたテキストを、記憶して文脈解析するルーチンに引き渡す動作に移行する。
【0051】
本実施形態におけるPC100には、一通りの応答、及び結果が存続する時間、具体的には、現在の話題が天気に関するものである場合、その天気に対する一通りの応答、及び天気に関する検索結果が存続する時間として、所定の時間からなる待機時間という概念を用いている。この待機時間は、ユーザ800が、何らかのアクションを起こした場合、例えば、ユーザ800が、話題を天気に関するものから他の話題に変える質問を行った場合、又は、ユーザ800の求めに応じて返事を行った場合、例えば、ユーザ800から、天気に関する話題とは異なる質問がなされ、その質問に応じてPC100が返事を行った場合、の何れかのタイミングにおいてリセットされる。そして、この待機時間は、ユーザ800に対して何らかの検索結果を回答した直後から直ちにカウントされる。
【0052】
そして、この待機時間の間は、すべての情報、すなわち、ユーザ800との間で取り交わされたすべての情報、具体的には、待機時間が経過する前のキーワード、キーワードに基づいて行った検索、及び検索結果を履歴情報として保持し、活用している。そして、待機時間内に、ユーザ800から新たな質問、及び/又は命令が発せられた場合、この保持している履歴情報を活用することとしている。すなわち、保持している履歴情報に共通する事項を抽出し、当該新たな質問、及び/又は命令を特定する事項と共にキーワードとして検索を行うのである。そして、待機時間が経過すると、待機時間が経過する前に保持されていたキーワード、キーワードに基づいて行った検索、及び検索結果等の履歴を削除する。
【0053】
また、この待機時間が経過すると、PC100は、ネットワーク接続部206(
図2)を介して接続されるネットワーク網207上のサーバとのセッション(接続)を開放する。この時点で、PC100にそれまで保持されていたサーバから得た情報が破棄される。そして、ユーザ800によるPC100を用いた他の作業の邪魔にならないよう、さらに、待機時間が経過したこと(PC100のモードが変わったこと)を示すため、PC100の表示部108(
図1)のウィンドウモード(ユーザインタフェース)を、
図9に示すようなコンパクトなウィンドウモードに移行する。
図9は、本発明の実施形態における情報処理装置のユーザインタフェースが最小化された時の画面表示について説明する図である。
【0054】
そして、PC100は、ユーザ800から発せられる次のコマンドを待つ。この状態では、キーワード、キーワードに基づいて行った検索、及び検索結果の履歴情報を保持している待機時間を既に経過しているので、ユーザ800から発せられる音声情報に、所定のキーワード(本実施形態の場合は「チャーリィ」というキーワード)が含まれているか否かを判断し、キーワードが含まれていると判断すると、ユーザ800から入力される音声情報から認識されたテキスト情報に含まれる質問をキーワードとして検索を行い、検索結果を出力しているのである。
【0055】
なお、待機時間経過後、PC100を、ウェークアップさせる契機として、上記所定のキーワード(後述するウェークアップワード、本実施形態では、「チャーリィ」)の認識以外に、例えば、ディスプレイ部205(
図2)に表示された所定のボタンをマウスポインタでクリックする、PC100のハードウェアボタンを押下する、又は、ユーザ800が発する声により声紋を認識する等、如何なる方法を用いても良いことは勿論である。
【0056】
そして、ユーザ800から発せられる質問に対しローカルコンテンツ部208に格納されている情報で回答が済む場合は、ネットワーク網207に接続することなく回答を行い、ネットワーク網207に対するアクセスが必要な質問であれば、セッションを接続し、新たな状態、すなわち、履歴情報がない状態で質問に対する回答を検索する。
【0057】
このように、ユーザは、PC100を起動状態にさえしておけば、後は、今やっている普通の作業(読書等)を何ら中断することなく、すなわち、PC100とは無関係の作業を行っていたり、PC100を使って何か別の作業を行っていたりしても、PC100に触れることなく、PC100に対して自然な言い方で質問すれば、PC100が誘導し回答してくれるのである。よって、検索のためのキーワードを会話の最初からすべて入力することなく、自然な会話で、声だけで簡単に情報を入手することができるのである。
【0058】
そして、PC100は、上述したように、オフライン状態にあるローカルコンテンツ部208(
図2)を有しており、ユーザ800からなされた質問に対する回答が、このローカルコンテンツ部208に格納されているか否かを確認し、ローカルコンテンツ部208に格納されている場合は、ネットワーク接続部206(
図2)を介してネットワーク網207に接続することなく、ユーザに対してスピーカ211(
図2)から回答を行う。要するに、ネットワーク網207に対しては、必要に応じて接続し、検索を行い、ローカルコンテンツ部208に格納されている情報で回答が済む場合は、ネットワーク網207に接続しないのである。
【0059】
次に、ユーザ800からなされる質問が如何なる属性のものであるか特定するため、PC100が追加質問を行い、それに対し、PC100が、質問が如何なる属性のものであるかを特定できるよう、ユーザ800が再び回答するといった具体的な音声解析の中身について述べる。
【0060】
ユーザ800からの「チャーリィ!女子会を渋谷で開きたい♪」という質問に対して、PC100が、「近いもの(パーティ・宴会、友達・同僚・家族と楽しむ)があったのですが、どれにしましょうか?」と音声入力を要求した段階では、PC100は、テキスト情報「ジョシカイ」が如何なる属性であるかを特定していないので、ユーザ800からの検索要求に対して明確な結果を得ていない状態である。そして、PC100が、テキスト情報「ジョシカイ」が如何なる属性であるかを特定できるよう、ユーザ800が、「友達!」という音声(キーワード)を発した段階で、PC100は、テキスト情報「ジョシカイ」の属性、すなわち、テキスト情報「ジョシカイ」が「友達」と楽しむパーティの属性であることを特定可能な状態となるので、改めて「友達」と楽しむパーティの属性に対応する情報を保有しているサーバを特定し、検索を実行するのである。
【0061】
このように、ユーザ800から発せられた音声情報から変換、分節されたテキスト情報では、属性に対応する情報を保有しているサーバのうち、どのサーバを用いて検索を行えば良いかを特定できないため、追加質問を行う。例えば、レストラン検索関連では、「どんな料理がよろしいでしょうか?」という問い合わせに対して、「イタリアン」、「中華」、「焼肉」、「ベトナム料理」等といった回答、「ご予算はどれくらいですか?」という問い合わせに対して、「1000円以下」、「2000円以下」、「3000円以下」等といった回答、「座席タイプはどれにしますか?」という問い合わせに対して、「個室」、「座敷」、「禁煙席」等といった回答が挙げられる。また、地域情報検索関連では、「どのような業種ですか?」という問い合わせに対して、「行政」、「銀行」、「交通」、「病院」等といった回答、「どのような宿泊施設ですか?」という問い合わせに対して、「ホテル」、「旅館」、「ペンション」、「公共宿舎」等といった回答が挙げられる。
【0062】
そして、音声情報から変換、分節されたテキスト情報の属性を特定するために、PC100が行う追加質問は、以下のような仕組みによって行われている。すなわち、追加質問に対して得られる音声入力(キーワード)に対応し、各属性を特定するためのキーワードリストが予め用意されている。
【0063】
例えば、追加質問により対して得られる音声入力(キーワード)が「レストラン」であった場合、レストラン検索に移行する。追加質問により得られる音声入力(キーワード)が「イタリアン」であった場合、レストラン検索に移行し、料理カテゴリは「イタリアン」であると判断する。追加質問に対して得られる音声入力(キーワード)が「パーティ」であった場合、レストラン検索に移行し、レストランタイプは「パーティ」であると判断する。
【0064】
また、似通った音声入力(キーワード)であっても処理できるようにするため、類義語辞書も予め用意されており、これを随時更新することとしている。例えば、「イタリア料理」と「イタリアン」とは、似通った音声入力(キーワード)であるので、類義語辞書に予め纏めて用意されている。
【0065】
さらに、テキスト情報の属性を類義語辞書から得た結果として、類義語辞書に存在する複数の属性に対応する候補が得られた場合には、これ等複数の候補を表示し、ユーザ800に対し改めて聞き直すこととしている。例えば、ユーザ800からの、「神奈川県の海水浴場を教えて。」という質問に対して、横浜市と横須賀市とが、「カナガワケン」という同一の属性として類義語辞書に予め用意されている場合、複数の候補が存在することになるので、PC100は、「横浜市ですか?横須賀市ですか?」のように再度問い合わせることになる。
【0066】
次に、本発明の実施形態における情報処理装置の動作について説明する。
図8は、本発明の実施形態における情報処理装置の動作について説明するフローチャートである。
【0067】
図8において、ステップ(以下、「S」という。)801の処理では、まず、PC100のマイク301(
図3)から音声が入力される。入力された音声は、音声入力部302において音声信号(音声情報)として取り扱われ、増幅等が行われた後、S802の処理へ移行する。S802の処理では、テキスト解析部303において、音声情報がテキスト情報に変換されると共に、所定の音節毎に分節され解析される。そして、S803の処理では、要素属性判定部304において、分節されたテキスト情報が、如何なる属性に対応する情報であるかが判定され、S804の処理へ移行する。
【0068】
S804の処理では、サーバAPIデータベース307(
図3)を参照することにより、分節されたテキスト情報から得られる属性のうち、サーバ701、702、・・・、70Nが保有している属性に対応しない要素、すなわち、属性が確定しない要素(テキスト情報)があるか否かが判断される。属性が確定しない要素がある(S804:YES)と判断されると、S810の処理へ移行し、属性が確定しない要素がない(S804:NO)と判断されると、S805の処理へ移行する。
【0069】
S810の処理では、分節されたテキスト情報の属性を確定するための音声情報を要求する旨の質問がなされる。そして、要求された音声情報が入力されると、再びS801の処理を行う。属性の確定しない要素がないとき(S804:NO)、又は、S810の処理で要求された音声情報をテキスト情報に変換した結果、当該テキスト情報から属性を得ることができ、属性の確定しない要素がないとき(S804:NO)は、S805の処理において、テキスト情報から得られる属性に対応する情報を保有するサーバが、サーバ特定部305(
図3)によって特定される。
【0070】
S806の処理では、S805の処理で特定されたサーバを用いて検索を実行する際、分節されたテキスト情報が、検索を実行するための必須項目(必須要件)をすべて満たしているか(不足項目があるか)否かが判断される。不足項目がある(S806:YES)と判断されると、S811の処理へ移行し、不足項目がない(S806:NO)と判断されると、S807の処理へ移行する。
【0071】
S811の処理では、不足項目を補充するための質問、すなわち、音声情報の入力を要求する。そして、要求された音声情報が入力されると、再びS801の処理を行う。不足項目がない(S806:NO)と判断されたとき、又はS811の処理で要求された音声情報をテキスト情報に変換し、当該テキスト情報から得られる属性に基づいて行う検索の不足項目が補充され、不足項目がない(S806:NO)と判断されたときは、S807の処理において、S805の処理で特定されたサーバを用いた検索が開始される。
【0072】
S808の処理では、S807の処理で検索が実行された結果、検索結果(ある属性に対応する情報)の情報量が所定の閾値以上(検索結果の情報量が所定の閾値未満)であるか否かが判断される。所定の閾値以上(所定の閾値未満)である(S808:NO)と判断されると、S812の処理へ移行し、所定の閾値未満である(S808:YES)と判断されると、S809の処理へ移行する。なお、この所定の閾値は、検索対象となる属性に応じて、任意の値に設定することが可能である。
【0073】
S812の処理では、検索結果(ある属性に対応する情報)の情報量を所定の閾値未満に絞り込むための質問、すなわち、音声情報の入力を要求する。そして、要求された音声情報が入力されると、再びS801の処理を行う。検索結果の情報量が所定の閾値未満である(S808:YES)と判断されたとき、又はS812の処理で要求された音声情報をテキスト情報に変換し、当該テキスト情報から得られる属性に基づいて行う検索結果の情報量が所定の閾値未満である(S808:YES)と判断されたときは、S809の処理へ移行する。S809の処理では、検索結果がスピーカ211(
図2)から出力されると共に、ディスプレイ部205(
図2)に表示される。
【0074】
なお、
図8に示した本発明の実施形態における情報処理装置100を構成する各機能ブロックの各動作は、コンピュータ上のプログラムに実行させることもできる。すなわち、情報処理装置100のCPU107が、ROM103、RAM104等から構成される記憶部に格納されたプログラムをロードし、プログラムの各処理ステップが順次実行されることによって行われる。
【0075】
以上説明してきたように、本発明によれば、入力される音声情報をテキスト情報に変換する手段と、変換されたテキスト情報を分節する手段と、外部に設けられた複数のサーバの各々が、如何なる属性に対応する情報を保有しているかという情報を予め格納するデータベースと、データベースに格納された情報に基づいて、分節されたテキスト情報から得られる属性と、属性に対応する情報を保有しているサーバとをそれぞれを対応付ける手段と、テキスト情報から得られる属性のうち、サーバとの対応付けができないテキスト情報の有無を判断する手段と、サーバとの対応付けができないテキスト情報の属性を確定するための音声情報を要求する手段と、を含むことにより、自然な会話を用いた対話型検索を行うことができるのである。
【0076】
以上、本発明の好適な実施の形態により本発明を説明した。ここでは特定の具体例を示して本発明を説明したが、特許請求の範囲に定義された本発明の広範囲な趣旨及び範囲から逸脱することなく、これら具体例に様々な修正及び変更が可能である。