(57)【要約】【課題】従来は、使用するサービスをユーザが選択して、選択したサービスに対して要求を送信する構成がとられていた。この場合、選択したサービスによっては、ユーザが期待する応答が提供されない場合があり、ユーザは複数のサービスを試す必要があった。【解決手段】ユーザ要求を取得する要求取得部と、ユーザ要求を送信する複数の送信先を決定する送信先決定部と、送信先決定部によって決定された複数の送信先にユーザ要求を送信する要求送信部と、複数の送信先のそれぞれから、ユーザ要求に対する応答を受信する応答受信部と、ユーザに関するユーザ関連情報に基づいて、複数の送信先から受信した複数の応答から少なくとも１つの応答を選択する応答選択部と、応答選択部によって選択された応答を出力させる出力制御部とを備える出力制御装置を提供する。【選択図】図１
2019087014.tif 000002
【特許請求の範囲】
【請求項１】
ユーザ要求を取得する要求取得部と、
前記ユーザ要求を送信する複数の送信先を決定する送信先決定部と、
前記送信先決定部によって決定された前記複数の送信先に前記ユーザ要求を送信する要求送信部と、
前記複数の送信先のそれぞれから、前記ユーザ要求に対する応答を受信する応答受信部と、
ユーザに関するユーザ関連情報に基づいて、前記複数の送信先から受信した複数の応答から少なくとも１つの応答を選択する応答選択部と、
前記応答選択部によって選択された応答を出力させる出力制御部と
を備える出力制御装置。
【請求項２】
前記送信先決定部は、前記ユーザに関するユーザ関連情報に基づいて、複数の送信先の候補から前記複数の送信先を決定する、請求項１に記載の出力制御装置。
【請求項３】
前記送信先決定部は、前記ユーザ要求の内容に基づいて、複数の送信先の候補から前記複数の送信先を決定する、請求項１に記載の出力制御装置。
【請求項４】
前記ユーザ関連情報は、前記ユーザによる前記複数の送信先のそれぞれの使用頻度を含む、請求項１から３のいずれか一項に記載の出力制御装置。
【請求項５】
前記ユーザ関連情報は、前記ユーザの年齢及び性別の少なくともいずれかを含む前記ユーザの属性情報を含む請求項１から４のいずれか一項に記載の出力制御装置。
【請求項６】
前記応答選択部は、複数のユーザによる前記複数の送信先のそれぞれの評価に基づいて、前記複数の送信先から取得した複数の応答から少なくとも１つの応答を選択する、請求項１から５のいずれか一項に記載の出力制御装置。
【請求項７】
前記応答選択部は、前記要求送信部が前記ユーザ要求を送信してから予め定められた時間が経過するまでの間に前記応答受信部が受信した前記複数の応答から、前記少なくとも１つの応答を選択する、請求項１から６のいずれか一項に記載の出力制御装置。
【請求項８】
前記応答選択部は、前記送信先決定部によって決定された前記複数の送信先に対応付けられた予め定められた時間が経過するまでの間に前記応答受信部が受信した前記複数の応答から、前記少なくとも１つの応答を選択する、請求項１から６のいずれか一項に記載の出力制御装置。
【請求項９】
前記要求取得部は、前記ユーザの入力を受け付けた通信端末から前記ユーザ要求を受信する、請求項１から８のいずれか一項に記載の出力制御装置。
【請求項１０】
前記出力制御部は、前記通信端末に、前記応答選択部によって選択された応答を出力させる、請求項９に記載の出力制御装置。
【請求項１１】
前記出力制御部は、前記通信端末とは異なる装置に、前記応答選択部によって選択された応答を出力させる、請求項９に記載の出力制御装置。
【請求項１２】
コンピュータを、請求項１から１１のいずれか一項に記載の出力制御装置として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、出力制御装置及びプログラムに関する。
【背景技術】
【０００２】
家庭等のユーザサイト内に配置され、マイクから入力されたユーザの音声をクラウドに送信して、クラウドによるサービスをユーザに提供するデバイスが知られていた（例えば、特許文献１参照）。
［先行技術文献］
［特許文献］
［特許文献１］特表２０１４−５０７０３０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００３】
従来は、使用するサービスをユーザが選択して、選択したサービスに対して要求を送信する構成がとられていた。この場合、選択したサービスによっては、ユーザが期待する応答が提供されない場合があり、ユーザは複数のサービスを試す必要があった。
【課題を解決するための手段】
【０００４】
本発明の第１の態様によれば、出力制御装置が提供される。出力制御装置は、ユーザ要求を取得する要求取得部を備えてよい。出力制御装置は、ユーザ要求を送信する複数の送信先を決定する送信先決定部を備えてよい。出力制御装置は、送信先決定部によって決定された複数の送信先にユーザ要求を送信する要求送信部を備えてよい。出力制御装置は、複数の送信先のそれぞれから、ユーザ要求に対する応答を受信する応答受信部を備えてよい。出力制御装置は、ユーザに関するユーザ関連情報に基づいて、複数の送信先から受信した複数の応答から少なくとも１つの応答を選択する応答選択部を備えてよい。出力制御装置は、応答選択部によって選択された応答を出力させる出力制御部を備えてよい。
【０００５】
上記送信先決定部は、ユーザに関するユーザ関連情報に基づいて、複数の送信先の候補から複数の送信先を決定してよい。上記送信先決定部は、上記ユーザ要求の内容に基づいて、複数の送信先の候補から上記複数の送信先を決定してよい。上記ユーザ関連情報は、上記ユーザによる上記複数の送信先のそれぞれの使用頻度を含んでよい。上記ユーザ関連情報は、上記ユーザの年齢及び性別の少なくともいずれかを含む上記ユーザの属性情報を含んでよい。
【０００６】
上記応答選択部は、複数のユーザによる上記複数の送信先のそれぞれの評価に基づいて、上記複数の送信先から取得した複数の応答から少なくとも１つの応答を選択してよい。上記応答選択部は、上記要求送信部が上記ユーザ要求を送信してから予め定められた時間が経過するまでの間に上記応答受信部が受信した上記複数の応答から、上記少なくとも１つの応答を選択してよい。上記応答選択部は、上記送信先決定部によって決定された上記複数の送信先に対応付けられた予め定められた時間が経過するまでの間に上記応答受信部が受信した上記複数の応答から、上記少なくとも１つの応答を選択してよい。
【０００７】
上記要求取得部は、上記ユーザの入力を受け付けた通信端末から上記ユーザ要求を受信してよい。上記出力制御部は、上記通信端末に、上記応答選択部によって選択された応答を出力させてよい。上記出力制御部は、上記通信端末とは異なる装置に、上記応答選択部によって選択された応答を出力させてよい。
【０００８】
本発明の第２の態様によれば、コンピュータを、上記出力制御装置として機能させるためのプログラムが提供される。
【０００９】
なお、上記の発明の概要は、本発明の必要な特徴の全てを列挙したものではない。また、これらの特徴群のサブコンビネーションもまた、発明となりうる。
【図面の簡単な説明】
【００１０】
【図１】システム１０の一例を概略的に示す。
【図２】要求テーブル５３０の一例を概略的に示す。
【図３】スコア４００の一例を概略的に示す。
【図４】アプリケーションＧＷ１００の機能構成の一例を概略的に示す。
【図５】アプリケーションＧＷ１００による処理の流れの一例を概略的に示す。
【図６】アプリケーションＧＷ１００として機能するコンピュータ１０００のハードウエア構成の一例を概略的に示す。
【発明を実施するための形態】
【００１１】
以下、発明の実施の形態を通じて本発明を説明するが、以下の実施形態は特許請求の範囲にかかる発明を限定するものではない。また、実施形態の中で説明されている特徴の組み合わせの全てが発明の解決手段に必須であるとは限らない。
【００１２】
図１は、システム１０の一例を概略的に示す。本実施形態に係るシステム１０は、アプリケーションＧＷ（アプリケーションＧａｔｅＷａｙ）１００及びユーザデバイス２００を有する。
【００１３】
本実施形態において、アプリケーションＧＷ１００は、例えば、ユーザデバイス２００を介してユーザ２０の要求を取得し、当該要求の送信先として複数のアプリケーション３１０を決定して送信し、複数のアプリケーション３１０から受信した応答から最適な応答を選択してユーザデバイス２００に出力する。このように、ユーザデバイス２００とアプリケーション群３００との間にアプリケーションＧＷ１００が介在することによって、ユーザ２０が自身で最適なアプリケーション３１０を選択することなく、ユーザ２０の要求に対する最適な応答をユーザ２０に提供することができる。
【００１４】
アプリケーションＧＷ１００は、出力制御装置の一例であってよい。アプリケーションＧＷ１００は、ネットワーク５０を介して、ユーザデバイス２００及びアプリケーション群３００と通信してよい。ネットワーク５０は任意のネットワークであってよく、例えば、インターネット及び電話網を含む。
【００１５】
ユーザデバイス２００は、ユーザ２０からの入力を受け付けて、当該入力を、アプリケーションＧＷ１００に送信することができれば、どのようなデバイスであってもよい。ユーザデバイス２００は、例えば、スマートフォン、タブレット端末、ＰＣ（Ｐｅｒｓｏｎａｌ  Ｃｏｍｐｕｔｅｒ）、及びカーナビゲーション等であってよく、ホームアシスタント、スマートスピーカ、及びＡＩスピーカ等と称されるデバイスであってもよい。
【００１６】
ユーザデバイス２００は、ヒューマンインタフェース及びネットワークインタフェースを備える。ヒューマンインタフェースは、ユーザ２０の要求を表すユーザ入力を受け付ける入力インタフェースを有する。入力インタフェースの例としては、マイク、カメラ、キーボード、マウス、及びタッチパネル等が挙げられる。また、ヒューマンインタフェースは、ユーザ２０に対する出力を行う出力インタフェースを有してよい。出力インタフェースの例としては、スピーカ及びディスプレイ等が挙げられる。
【００１７】
ユーザデバイス２００は、ヒューマンインタフェースによってユーザ入力を受け付け、ネットワークインタフェースによってユーザ入力をアプリケーションＧＷ１００に送信する。ユーザ入力は任意の形式であってよく、例えば、音声、テキスト、コマンド、静止画像、及び動画像等である。ユーザデバイス２００は、受け付けたユーザ入力をそのままアプリケーションＧＷ１００に送信してもよく、ユーザ入力を解析した解析結果をアプリケーションＧＷ１００に送信してもよい。例えば、ユーザデバイス２００は、ユーザ入力として音声を受け付けた場合、受け付けた音声をアプリケーションＧＷ１００に送信してもよく、入力された音声を音声認識した結果をアプリケーションＧＷ１００に送信してもよい。
【００１８】
アプリケーション３１０は、例えば、いわゆるクラウドサービスを実施するプラットフォームによって提供される。アプリケーション群３００は、複数のプラットフォームによって提供されるアプリケーション３１０を含んでよい。一のプラットフォームは、一のアプリケーション３１０のみを提供してもよく、複数のアプリケーション３１０を提供してもよい。
【００１９】
アプリケーションＧＷ１００がユーザデバイス２００から受信するユーザ入力は様々な種類であり得るが、アプリケーションＧＷ１００は、受信したユーザ入力を、ユーザ要求を表すための予め定められた形式に変換してよい。予め定められた形式に変換されたユーザ入力をユーザ要求と記載する場合がある。なお、ユーザデバイス２００が、ユーザ入力を当該予め定められた形式に変換して、アプリケーションＧＷ１００に送信してもよい。
【００２０】
アプリケーションＧＷ１００は、ユーザ要求の送信先を、アプリケーション群３００に含まれる複数のアプリケーション３１０から決定する。アプリケーションＧＷ１００は、任意の条件に従って、送信先を決定してよい。
【００２１】
例えば、アプリケーションＧＷ１００は、ユーザ要求の内容に基づいて、複数の送信先を決定する。具体例として、ユーザ要求がショッピングに関するものである場合、アプリケーションＧＷ１００は、複数のアプリケーション３１０のうち、ショッピングに関するアプリケーション３１０を送信先として決定する。また、ユーザ要求が天気に関するものである場合、アプリケーションＧＷ１００は、複数のアプリケーション３１０のうち、天気に関するアプリケーション３１０を送信先として決定する。
【００２２】
また、アプリケーションＧＷ１００は、ユーザ２０に関するユーザ関連情報に基づいて、複数の送信先を決定してもよい。例えば、アプリケーションＧＷ１００は、ユーザ２０による複数のアプリケーション３１０の使用履歴に基づいて、複数の送信先を決定する。具体例として、アプリケーションＧＷ１００は、複数のアプリケーション３１０のうち、使用頻度がより高いアプリケーション３１０を優先的に送信先として決定する。
【００２３】
アプリケーションＧＷ１００は、送信先として決定した複数のアプリケーション３１０にユーザ要求を送信する。アプリケーションＧＷ１００は、複数のアプリケーション３１０に対して、それぞれの入力形式に適合するユーザ要求を生成して送信してよい。ユーザ要求を受信したアプリケーション３１０は、ユーザ要求を解析して、ユーザ要求に対する応答を生成し、アプリケーションＧＷ１００に送信する。
【００２４】
アプリケーションＧＷ１００は、複数のアプリケーション３１０から受信した応答から、少なくとも１つの応答を選択する。例えば、アプリケーションＧＷ１００は、複数の応答のうち最適な１つの応答を選択する。
【００２５】
アプリケーションＧＷ１００は、任意の条件に従って応答を選択してよい。例えば、アプリケーションＧＷ１００は、ユーザ２０に関するユーザ関連情報に基づいて応答を選択する。
【００２６】
アプリケーションＧＷ１００は、入力を行ったユーザ２０による複数のアプリケーション３１０の使用履歴に基づいて、応答を選択してよい。具体例として、アプリケーションＧＷ１００は、入力を行ったユーザ２０による使用頻度がより高いアプリケーション３１０による応答を選択する。
【００２７】
また、例えば、アプリケーションＧＷ１００は、複数のユーザ２０による複数のアプリケーション３１０の使用履歴に基づいて、応答を選択する。具体例として、アプリケーションＧＷ１００は、複数のユーザ２０による使用頻度がより高いアプリケーション３１０による応答を選択する。
【００２８】
このとき、アプリケーションＧＷ１００は、ユーザ要求のカテゴリ別の使用履歴に基づいて応答を選択してもよい。例えば、ユーザ要求のカテゴリがショッピングである場合、ユーザ要求のカテゴリがショッピングである場合の複数のユーザ２０による複数のアプリケーション３１０の使用履歴に基づいて、応答を選択する。また、アプリケーションＧＷ１００は、入力を行ったユーザ２０と属性情報が一致する複数のユーザ２０による使用履歴に基づいて応答を選択してもよい。例えば、入力を行ったユーザ２０が３０代の男性である場合、３０代の男性による複数のアプリケーション３１０の使用履歴に基づいて、応答を選択する。
【００２９】
また、例えば、アプリケーションＧＷ１００は、入力を行ったユーザ２０による複数のアプリケーション３１０の過去の評価に基づいて、応答を選択する。具体例として、アプリケーションＧＷ１００は、入力を行ったユーザ２０による過去の評価がより高いアプリケーション３１０による応答を選択する。
【００３０】
また、例えば、アプリケーションＧＷ１００は、複数のユーザ２０による複数のアプリケーション３１０の過去の評価に基づいて、応答を選択する。具体例として、アプリケーションＧＷ１００は、複数のユーザ２０による過去の評価がより高いアプリケーション３１０による応答を選択する。
【００３１】
このとき、アプリケーションＧＷ１００は、ユーザ要求のカテゴリ別の評価に基づいてもよい。例えば、ユーザ要求のカテゴリがショッピングである場合、ユーザ要求のカテゴリがショッピングである場合の複数のユーザ２０による複数のアプリケーション３１０の評価に基づいて、応答を選択する。また、アプリケーションＧＷ１００は、入力を行ったユーザ２０と属性情報が一致する複数のユーザ２０による評価に基づいて応答を選択してもよい。例えば、入力を行ったユーザ２０が３０代の男性である場合、３０代の男性による複数のアプリケーション３１０の評価に基づいて、応答を選択する。
【００３２】
また、例えば、アプリケーションＧＷ１００は、ユーザ要求の内容に対する応答内容の適合度に基づいて、応答を選択する。具体例として、アプリケーションＧＷ１００は、ユーザ要求の内容に対する応答内容の適合度がより高い応答を選択する。ユーザ要求の内容に対する応答内容の適合度の導出は、例えば、機械学習によって実現される。例えば、ユーザ要求の内容と、応答内容と、それらの適合度との組み合わせを大量に収集して、これらを機械学習することによって、ユーザ要求の内容と応答内容とから、それらの適合度を導出する規則が生成される。
【００３３】
アプリケーションＧＷ１００は、上述の複数の条件に基づいて、応答を選択してもよい。例えば、アプリケーションＧＷ１００は、複数の条件のそれぞれについて、評点を導出し、その合計が最も高い応答を選択する。この場合、アプリケーションＧＷ１００は、複数の条件のそれぞれに対して係数を設定しておき、複数の条件のそれぞれの評点に、それぞれの係数を乗じて加算した合計が最も高い応答を選択してもよい。
【００３４】
アプリケーションＧＷ１００は、選択した応答をユーザデバイス２００に出力させてよい。アプリケーションＧＷ１００は、例えば、選択した応答をユーザデバイス２００に音声出力させたり、表示出力させたりしてよい。
【００３５】
出力形式は、アプリケーションＧＷ１００によって決定されてよい。例えば、アプリケーションＧＷ１００は、選択した応答の内容に基づいて出力形式を決定する。また、アプリケーションＧＷ１００は、選択した応答を送信したアプリケーション３１０に応じて出力形式を決定してもよい。また、アプリケーションＧＷ１００は、ユーザ要求の内容に基づいて出力形式を決定してもよい。
【００３６】
また、出力形式は、ユーザ２０によって決定されてもよい。例えば、ユーザ２０は、出力形式を、ユーザデバイス２００を介してアプリケーションＧＷ１００に指定する。アプリケーションＧＷ１００は、指定された出力形式で、選択した応答を出力させてよい。
【００３７】
アプリケーションＧＷ１００は、選択した応答を、ユーザデバイス２００以外のデバイスに出力させてもよい。例えば、アプリケーションＧＷ１００は、ユーザデバイス２００の外部に位置する外部デバイス２５０に、選択した応答を出力させる。
【００３８】
外部デバイス２５０は、ユーザ２０に対して応答を出力可能であればどのようなデバイスであってもよい。例えば、外部デバイス２５０は、テレビ及びオーディオプレイヤ等の家電であってよい。また、外部デバイス２５０は、スマートフォン、タブレット端末、ＰＣ（Ｐｅｒｓｏｎａｌ  Ｃｏｍｐｕｔｅｒ）、及びカーナビゲーション等であってもよく、ホームアシスタント、スマートスピーカ、及びＡＩスピーカ等と称されるデバイスであってもよい。
【００３９】
応答を出力させる外部デバイス２５０は、アプリケーションＧＷ１００によって決定されてよい。例えば、アプリケーションＧＷ１００は、選択した応答の内容に基づいて外部デバイス２５０を決定する。また、アプリケーションＧＷ１００は、選択した応答を送信したアプリケーション３１０に応じて外部デバイス２５０を決定してもよい。また、アプリケーションＧＷ１００は、ユーザ要求の内容に基づいて外部デバイス２５０を決定してもよい。
【００４０】
また、応答を出力させる外部デバイス２５０は、ユーザ２０によって決定されてもよい。例えば、ユーザ２０は、外部デバイス２５０を、ユーザデバイス２００を介してアプリケーションＧＷ１００に指定する。ユーザ２０は、ユーザ要求を表すユーザ入力とともに、外部デバイス２５０を指定してよく、ユーザ入力とは別に外部デバイス２５０を指定してもよい。アプリケーションＧＷ１００は、指定された外部デバイス２５０に、選択した応答を出力させてよい。
【００４１】
図２は、ユーザ要求を表すための予め定められた形式の一例である要求テーブル５３０を例示する。図２は、ユーザ２０によって入力された音声信号５１０から変換された要求テーブル５３０を示す。
【００４２】
本例において、アプリケーションＧＷ１００は、ユーザデバイス２００から受信した音声信号５１０に音声認識処理を施して「明日の東京の天気を教えて」というテキスト５２０を導出する。アプリケーションＧＷ１００は、図２に示す３０代／男性という情報を、ユーザデバイス２００から受信してもよく、また、音声信号５１０を解析することによって導出してもよい。
【００４３】
アプリケーションＧＷ１００は、テキスト５２０をテキスト解析して、要求テーブル５３０を生成してよい。図２に例示する要求テーブル５３０は、要求大分類５３１、要求小分類５３２、ユーザ属性５３３、入力データ形式５３６、検索キー５３７、検索キー５３８、及び検索キー５３９を含む。
【００４４】
要求大分類５３１に含まれる分類は任意に定められてよい。要求大分類５３１としては、検索、レコメンド、ショッピング、アプリ実行等が例示できる。図２では、要求大分類５３１が「検索」とされている。
【００４５】
要求小分類５３２に含まれる分類は任意に定められてよい。「検索」における要求小分類５３２としては、天気、交通、一般知識等が例示できる。図２では、要求小分類５３２が「天気」とされている。なお、図２では、要求大分類５３１及び要求小分類５３２の２段階の分類が例示されているが、これに限らず、複数段階でなくてもよく、また、３段階以上の分類であってもよい。
【００４６】
ユーザ属性５３３に含まれる属性は任意に定められてよい。ユーザ属性５３３としては、性別、年齢、趣味等が例示できる。図２では、ユーザ属性５３３が性別５３４及び年齢５３５を含み、それぞれ「男性」、「３０」とされている。
【００４７】
入力データ形式５３６には、入力データの形式が含まれる。入力データの形式としては、音声、テキスト、コマンド、静止画像、及び動画像等が例示できる。図２では、入力データ形式５３６が「音声」とされている。
【００４８】
検索キー５３７、検索キー５３８、及び検索キー５３９には、要求大分類５３１が「検索」である場合に必要な検索キーが含まれる。検索キーの数は入力によって異なり得る。要求大分類５３１が「検索」以外のものである場合、検索キーの項目はなくてもよく、また、他の項目であってもよい。
【００４９】
図３は、スコア４００の一例を概略的に示す。図３は、アプリケーションＧＷ１００が、３つのアプリケーション３１０から応答を受信して、３つの応答４２２、４２４、４２６のそれぞれについて導出した項目４１０毎のスコアを例示している。
【００５０】
図３では、項目４１０の例として、「取得元に対するユーザの使用頻度」、「当該要求のカテゴリに対する取得元の全ユーザの評価」、「当該要求のカテゴリに対する取得元の特定ユーザプロファイルの集団の評価」、及び「要求に対する応答内容の適合度」を例示している。「取得元に対するユーザの使用頻度」が１〜５の５段階評価、それ以外が０〜１０の連続値である場合を例示している。なお、これらは例示であり、項目４１０はこれらの全てを含まなくてもよく、これら以外を含んでもよい。
【００５１】
アプリケーションＧＷ１００は、例えば、３つの応答４２２、４２４、４２６のそれぞれについて、各項目４１０のスコアを加算して、合計が最も高い応答を選択する。図３に示す例では、応答４２２が選択される。なお、項目４１０毎に係数を設定し、各項目４１０のスコアに、その項目４１０の係数を乗じて加算した合計を比較してもよい。
【００５２】
図４は、アプリケーションＧＷ１００の機能構成の一例を概略的に示す。アプリケーションＧＷ１００は、ＤＢ１０２、重付制御エンジン１０４、ユーザ入力変換部１０６、要求取得部１０８、要求制御部１１０、要求生成部１１２、要求送信部１１４、応答受信部１１６、応答選択部１１８、出力制御部１２０、及びＦＢ取得部１２２を備える。なお、アプリケーションＧＷ１００がこれらのすべての構成を備えることは必須とは限らない。
【００５３】
ＤＢ１０２は、各種データを格納する。例えば、ＤＢ１０２は、アプリケーションＧＷ１００が接続可能なアプリケーション群３００の情報を格納する。また、例えば、ＤＢ１０２は、複数のアプリケーション３１０のそれぞれの入力形式に関するデータを格納する。また、例えば、ＤＢ１０２は、ユーザ要求の内容に対する応答内容の適合度を導出可能な学習規則を格納する。
【００５４】
ＤＢ１０２は、ユーザ２０のユーザ関連情報を格納してよい。ＤＢ１０２は、複数のユーザ２０のユーザ関連情報を格納してよい。ユーザ関連情報としては、ユーザ２０の属性情報、ユーザ２０による複数のアプリケーション３１０のそれぞれの使用履歴、ユーザ２０による複数のアプリケーション３１０の評価等が例示できる。
【００５５】
ＤＢ１０２は、これらの情報を任意のＷｅｂサービスと連携することによって取得してもよい。例えば、ＤＢ１０２は、任意のＷｅｂサービスにおけるユーザ２０のＷｅｂアカウントを登録しておき、これを用いてＷｅｂサービスから各種情報を取得する。
【００５６】
重付制御エンジン１０４は、ＤＢ１０２に格納されている各種情報に基づいて、ユーザ要求の送信先を決定することに寄与するデータを出力する。また、重付制御エンジン１０４は、ＤＢ１０２に格納されている各種情報に基づいて、複数の応答から少なくとも１つの応答を選択することに寄与するデータを出力する。
【００５７】
例えば、重付制御エンジン１０４は、ユーザ２０による複数のアプリケーション３１０の使用頻度に基づいて、複数のアプリケーション３１０のそれぞれに対してスコアを割り当てる。重付制御エンジン１０４は、ユーザ要求のカテゴリ別の使用頻度に基づいて、アプリケーション３１０のそれぞれに対してスコアを割り当ててもよい。また、重付制御エンジン１０４は、ユーザ２０の属性情報別の使用頻度に基づいて、アプリケーション３１０のそれぞれに対してスコアを割り当ててもよい。
【００５８】
また、例えば、重付制御エンジン１０４は、ユーザ２０による複数のアプリケーション３１０の評価に基づいて、複数のアプリケーション３１０のそれぞれに対してスコアを割り当てる。重付制御エンジン１０４は、ユーザ要求のカテゴリ別の評価に基づいて、アプリケーション３１０のそれぞれに対してスコアを割り当ててもよい。また、重付制御エンジン１０４は、ユーザ２０の属性情報別の評価に基づいて、アプリケーション３１０のそれぞれに対してスコアを割り当ててもよい。
【００５９】
ユーザ入力変換部１０６は、ユーザデバイス２００から受信したユーザ入力を、ユーザ要求を表すための予め定められた形式に変換する。
【００６０】
要求取得部１０８は、ユーザ入力変換部１０６によって変換されたユーザ要求を取得する。要求取得部１０８は、ユーザデバイス２００からユーザ要求を受信してもよい。
【００６１】
要求制御部１１０は、要求取得部１０８が取得したユーザ要求を制御する。要求制御部１１０は、要求取得部１０８が取得したユーザ要求を送信する複数の送信先を決定してよい。要求制御部１１０は、アプリケーション群３００から、ユーザ要求を送信する複数のアプリケーション３１０を決定してよい。
【００６２】
要求制御部１１０は、ＤＢ１０２に格納されている情報に基づいて、複数の送信先を決定してよい。要求制御部１１０は、例えば、ユーザ２０のユーザ関連情報に基づいて、送信先を決定する。また、例えば、要求制御部１１０は、要求取得部１０８が取得したユーザ要求の内容に基づいて、複数の送信先を決定する。また、要求制御部１１０は、重付制御エンジン１０４によって出力されたスコアを用いて、送信先を決定してもよい。要求制御部１１０は、送信先決定部の一例であってよい。要求制御部１１０及び重付制御エンジン１０４が送信先決定部の一例であってもよい。
【００６３】
要求生成部１１２は、要求制御部１１０によって送信先として決定された複数のアプリケーション３１０のそれぞれの入力形式に適合するユーザ要求を生成する。要求生成部１１２は、ＤＢ１０２に格納されている複数のアプリケーション３１０のそれぞれの入力形式に関するデータを用いて、複数のアプリケーション３１０のそれぞれの入力形式に適合するユーザ要求を生成してよい。
【００６４】
要求送信部１１４は、要求制御部１１０によって送信先として決定された複数のアプリケーション３１０のそれぞれに対して、要求生成部１１２によって生成されたユーザ要求を送信する。
【００６５】
応答受信部１１６は、要求送信部１１４がユーザ要求を送信した複数のアプリケーション３１０のそれぞれから、ユーザ要求に対する応答を受信する。
【００６６】
応答選択部１１８は、応答受信部１１６が受信した複数の応答から少なくとも１つの応答を選択する。応答選択部１１８は、ＤＢ１０２に格納されている情報に基づいて応答を選択してよい。また、応答選択部１１８は、重付制御エンジン１０４によって出力されたスコアを用いて、応答を選択してもよい。
【００６７】
例えば、応答選択部１１８は、ユーザ２０に関するユーザ関連情報に基づいて応答を選択する。応答選択部１１８は、入力を行ったユーザ２０による複数のアプリケーション３１０の使用履歴に基づいて、応答を選択してよい。また、応答選択部１１８は、複数のユーザ２０による複数のアプリケーション３１０の使用履歴に基づいて、応答を選択してよい。このとき、応答選択部１１８は、ユーザ要求のカテゴリ別の使用履歴に基づいて応答を選択してもよい。また、応答選択部１１８は、入力を行ったユーザ２０と属性情報が一致する複数のユーザ２０による使用履歴に基づいて応答を選択してもよい。
【００６８】
また、例えば、応答選択部１１８は、入力を行ったユーザ２０による複数のアプリケーション３１０の過去の評価に基づいて、応答を選択する。また、例えば、応答選択部１１８は、複数のユーザ２０による複数のアプリケーション３１０の過去の評価に基づいて、応答を選択する。このとき、応答選択部１１８は、ユーザ要求のカテゴリ別の評価に基づいてもよい。また、応答選択部１１８は、入力を行ったユーザ２０と属性情報が一致する複数のユーザ２０による評価に基づいて応答を選択してもよい。
【００６９】
また、例えば、応答選択部１１８は、ユーザ要求の内容に対する応答内容の適合度に基づいて、応答を選択する。
【００７０】
応答選択部１１８は、上述の複数の条件に基づいて、応答を選択してもよい。例えば、応答選択部１１８は、複数の条件のそれぞれについて、評点を導出し、その合計が最も高い応答を選択する。この場合、応答選択部１１８は、複数の条件のそれぞれに対応する係数を、複数の条件のそれぞれの評点に乗じて加算した合計が最も高い応答を選択してもよい。当該係数は、ＤＢ１０２に格納されていてよい。
【００７１】
当該係数は、ユーザ２０及びアプリケーションＧＷ１００の管理者等によって設定されてよい。また、当該係数は、重付制御エンジン１０４によって導出されてもよい。重付制御エンジン１０４は、ＤＢ１０２に格納されている情報に基づいて、当該係数を導出してよい。重付制御エンジン１０４は、例えば、ＤＢ１０２に格納されているユーザ関連情報に基づいて、当該係数を導出する。重付制御エンジン１０４は、導出した係数をＤＢ１０２に格納してよく、導出した係数によって、ＤＢ１０２に格納されている係数を更新してもよい。
【００７２】
ＤＢ１０２は、当該係数を導出する導出規則を格納してよく、重付制御エンジン１０４は、当該導出規則を用いて、当該係数を導出してよい。導出規則は、ユーザ２０及びアプリケーションＧＷ１００の管理者等によって設定されてよい。また、導出規則は、重付制御エンジン１０４によって決定されてもよい。重付制御エンジン１０４は、ＤＢ１０２に格納されている情報に基づいて導出規則を決定してよい。重付制御エンジン１０４は、例えば、ＤＢ１０２に格納されているユーザ関連情報に基づいて、導出規則を決定する。重付制御エンジン１０４は、決定した導出規則をＤＢ１０２に格納してよく、決定した導出規則によって、ＤＢ１０２に格納されている導出規則を更新してもよい。
【００７３】
応答選択部１１８は、選択結果をＤＢ１０２に格納してよい。例えば、応答選択部１１８は、ユーザ２０毎に、ユーザ要求に対して、いずれのアプリケーション３１０の応答を選択したかを履歴としてＤＢ１０２に格納する。
【００７４】
出力制御部１２０は、応答選択部１１８によって選択された応答を出力させる。出力制御部１２０は、例えば、応答選択部１１８によって選択された応答をユーザデバイス２００に出力させる。出力制御部１２０は、応答選択部１１８によって選択された応答を外部デバイス２５０に出力させてもよい。
【００７５】
ＦＢ取得部１２２は、出力制御部１２０による制御に従って出力された応答に対する、ユーザ２０によるフィードバックを取得する。ＦＢ取得部１２２は、例えば、ユーザデバイス２００又は外部デバイス２５０から、ユーザ２０によるフィードバックを受信する。ＦＢ取得部１２２は、取得したフィードバックをＤＢ１０２に格納してよい。ＤＢ１０２は、当該フィードバックを、ユーザ２０による使用履歴及びユーザ２０による評価等として格納してよい。
【００７６】
フィードバックは、例えば、応答に対するユーザ２０の評価である。ＦＢ取得部１２２は、出力制御部１２０による制御に従って出力された応答に対して、ユーザ２０がユーザデバイス２００を介して送信した当該応答に対する評価を、フィードバックとして取得する。また、フィードバックは、例えば、応答が出力された後に、ユーザ２０によって入力されたユーザ入力が表すユーザ要求である。例えば、ユーザ要求に対して応答が出力された後に、同様のユーザ要求が入力されたことは、応答に満足していないことを示すフィードバックであり得る。ＤＢ１０２は、ユーザ要求と、当該ユーザ要求に対して出力された応答と、当該応答に対するユーザ２０によるフィードバックとを対応付けて格納してよい。
【００７７】
重付制御エンジン１０４は、ＤＢ１０２に対応付けて格納された、ユーザ要求と、当該ユーザ要求に対して出力された応答と、当該応答に対するユーザ２０によるフィードバックとの複数の組み合わせを用いて、ユーザ要求の送信先を決定することに寄与するデータ、及び複数の応答から少なくとも１つの応答を選択することに寄与するデータを出力してよい。例えば、重付制御エンジン１０４は、複数の組み合わせを用いて、各種スコアを導出する。また、重付制御エンジン１０４は、複数の組み合わせを用いて、複数の条件のそれぞれに対応する係数を導出してもよい。また、重付制御エンジン１０４は、複数の組み合わせを用いて、係数を導出する導出規則を決定してもよい。
【００７８】
図５は、アプリケーションＧＷ１００による処理の流れの一例を概略的に示す。図５は、アプリケーションＧＷ１００がユーザ要求を取得してから、当該ユーザ要求に対する応答の出力を制御するまでの処理の流れを示す。図５に示す各処理は、アプリケーションＧＷ１００が備える制御部が主体となって実行される。
【００７９】
ステップ１０２（ステップをＳと省略して記載する場合がある。）では、要求取得部１０８がユーザ要求を取得する。要求取得部１０８は、ユーザ入力変換部１０６によって変換されたユーザ要求を取得してもよく、ユーザデバイス２００によって送信されたユーザ要求を取得してもよい。
【００８０】
Ｓ１０４では、要求制御部１１０が、Ｓ１０２において取得したユーザ要求の送信先として、複数のアプリケーション３１０を決定する。Ｓ１０６では、要求送信部１１４が、Ｓ１０４において決定された複数のアプリケーション３１０に対して、ユーザ要求を送信する。要求送信部１１４は、複数のアプリケーション３１０のそれぞれの入力形式に適合するように要求生成部１１２によって生成されたユーザ要求を、複数のアプリケーション３１０のそれぞれに対して送信してよい。
【００８１】
Ｓ１０８では、応答受信部１１６が、Ｓ１０６においてユーザ要求を送信したすべてのアプリケーション３１０から応答を受信したか否かを判定する。受信したと判定した場合、Ｓ１１２に進み、受信していないと判定した場合、Ｓ１１０に進む。
【００８２】
Ｓ１１０では、Ｓ１０６においてユーザ要求を送信してから、予め定められた時間が経過したか否かを判定する。経過していないと判定した場合、Ｓ１０８に戻り、経過したと判定した場合、Ｓ１１２に進む。
【００８３】
Ｓ１１２では、応答選択部１１８が、応答受信部１１６が受信した応答から少なくとも１つの応答を選択する。Ｓ１１４では、出力制御部１２０が、Ｓ１１２において選択された応答を、ユーザデバイス２００又は外部デバイス２５０に出力させる。そして、処理を終了する。
【００８４】
図５において示したように、応答選択部１１８は、要求送信部１１４がユーザ要求を送信してから予め定められた時間が経過するまでの間に応答受信部１１６が受信した複数の応答から、少なくとも１つの応答を選択してよい。これにより、例えば、ユーザ要求を送信した複数のアプリケーション３１０のうちの１つのアプリケーション３１０による応答が、アプリケーション３１０の処理量の増大や通信遅延等の理由によって遅延している場合に、そのことを理由として、ユーザ２０に対する応答が遅延してしまうことを防止できる。
【００８５】
なお、予め定められた時間は、アプリケーションＧＷ１００の製造時及び実装時等に設定されてよく、また、アプリケーションＧＷ１００の管理者及びユーザ２０等によって任意のタイミングで設定されてもよい。
【００８６】
また、複数のアプリケーション３１０のそれぞれに対して、予め定められた時間が設定されてもよい。例えば、ユーザ２０による使用頻度がより高いアプリケーション３１０に対してより長い時間が設定される。また、例えば、ユーザ２０による評価がより高いアプリケーション３１０に対してより長い時間が設定される。この場合、Ｓ１１０では、Ｓ１０６においてユーザ要求を送信してから、Ｓ１０４において決定された複数の送信先のそれぞれに対応付けられた時間のうち最も長い時間が経過したか否かを判定してよい。これにより、使用頻度が高かったり、評価が高かったりするアプリケーション３１０については、多少の遅延があっても待機することにより、当該アプリケーション３１０からの応答を受信する確率を高めることができる。
【００８７】
図６は、アプリケーションＧＷ１００として機能するコンピュータ１０００の一例を概略的に示す。本実施形態に係るコンピュータ１０００は、ホストコントローラ１０９２により相互に接続されるＣＰＵ１０１０、及びＲＡＭ１０３０を有するＣＰＵ周辺部と、入出力コントローラ１０９４によりホストコントローラ１０９２に接続されるＲＯＭ１０２０、通信Ｉ／Ｆ１０４０、ハードディスクドライブ１０５０、及び入出力チップ１０８０を有する入出力部を備える。
【００８８】
ＣＰＵ１０１０は、ＲＯＭ１０２０及びＲＡＭ１０３０に格納されたプログラムに基づいて動作し、各部の制御を行う。通信Ｉ／Ｆ１０４０は、有線又は無線によりネットワークを介して他の装置と通信する。また、通信Ｉ／Ｆ１０４０は、通信を行うハードウエアとして機能する。ハードディスクドライブ１０５０は、ＣＰＵ１０１０が使用するプログラム及びデータを格納する。
【００８９】
ＲＯＭ１０２０は、コンピュータ１０００が起動時に実行するブート・プログラム及びコンピュータ１０００のハードウエアに依存するプログラムなどを格納する。入出力チップ１０８０は、例えばパラレル・ポート、シリアル・ポート、キーボード・ポート、マウス・ポートなどを介して各種の入出力装置を入出力コントローラ１０９４へと接続する。
【００９０】
ＲＡＭ１０３０を介してハードディスクドライブ１０５０に提供されるプログラムは、ＩＣカードなどの記録媒体に格納されて利用者によって提供される。プログラムは、記録媒体から読み出され、ＲＡＭ１０３０を介してハードディスクドライブ１０５０にインストールされ、ＣＰＵ１０１０において実行される。
【００９１】
コンピュータ１０００にインストールされ、コンピュータ１０００をアプリケーションＧＷ１００として機能させるプログラムは、ＣＰＵ１０１０などに働きかけて、コンピュータ１０００を、アプリケーションＧＷ１００の各部としてそれぞれ機能させてよい。これらのプログラムに記述された情報処理は、コンピュータ１０００に読込まれることにより、ソフトウエアと上述した各種のハードウエア資源とが協働した具体的手段であるＤＢ１０２、重付制御エンジン１０４、ユーザ入力変換部１０６、要求取得部１０８、要求制御部１１０、要求生成部１１２、要求送信部１１４、応答受信部１１６、応答選択部１１８、出力制御部１２０、及びＦＢ取得部１２２として機能する。そして、これらの具体的手段によって、本実施形態におけるコンピュータ１０００の使用目的に応じた情報の演算又は加工を実現することにより、使用目的に応じた特有のアプリケーションＧＷ１００が構築される。
【００９２】
以上、本発明を実施の形態を用いて説明したが、本発明の技術的範囲は上記実施の形態に記載の範囲には限定されない。上記実施の形態に、多様な変更または改良を加えることが可能であることが当業者に明らかである。その様な変更または改良を加えた形態も本発明の技術的範囲に含まれ得ることが、特許請求の範囲の記載から明らかである。
【００９３】
特許請求の範囲、明細書、および図面中において示した装置、システム、プログラム、および方法における動作、手順、ステップ、および段階などの各処理の実行順序は、特段「より前に」、「先立って」などと明示しておらず、また、前の処理の出力を後の処理で用いるのでない限り、任意の順序で実現しうることに留意すべきである。特許請求の範囲、明細書、および図面中の動作フローに関して、便宜上「まず、」、「次に、」などを用いて説明したとしても、この順で実施することが必須であることを意味するものではない。
【符号の説明】
【００９４】
１０  システム、５０  ネットワーク、１００  アプリケーションＧＷ、１０２  ＤＢ、１０４  重付制御エンジン、１０６  ユーザ入力変換部、１０８  要求取得部、１１０  要求制御部、１１２  要求生成部、１１４  要求送信部、１１６  応答受信部、１１８  応答選択部、１２０  出力制御部、１２２  ＦＢ取得部、２００  ユーザデバイス、２５０  外部デバイス、３００  アプリケーション群、３１０  アプリケーション、４００  スコア、４１０  項目、４２２  応答、４２４  応答、４２６  応答、５１０  音声信号、５２０  テキスト、５３０  要求テーブル、５３１  要求大分類、５３２  要求小分類、５３３  ユーザ属性、５３４  性別、５３５  年齢、５３６  入力データ形式、５３７  検索キー、５３８  検索キー、５３９  検索キー、１０００  コンピュータ、１０１０  ＣＰＵ、１０２０  ＲＯＭ、１０３０  ＲＡＭ、１０４０  通信Ｉ／Ｆ、１０５０  ハードディスクドライブ、１０８０  入出力チップ、１０９２  ホストコントローラ、１０９４  入出力コントローラ
【図１】
2019087014.tif 000003
【図２】
2019087014.tif 000004
【図３】
2019087014.tif 000005
【図４】
2019087014.tif 000006
【図５】
2019087014.tif 000007
【図６】
2019087014.tif 000008
【手続補正書】
【提出日】平成31年2月15日(2019.2.15)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
ユーザ要求を取得する要求取得部と、
前記ユーザ要求を送信する複数の送信先を決定する送信先決定部と、
前記送信先決定部によって決定された前記複数の送信先に前記ユーザ要求を送信する要求送信部と、
前記複数の送信先のそれぞれから、前記ユーザ要求に対する応答を受信する応答受信部と、
ユーザに関するユーザ関連情報に基づいて、前記複数の送信先から受信した複数の応答から少なくとも１つの応答を選択する応答選択部と、
前記応答選択部によって選択された応答を出力させる出力制御部と
を備え、
前記応答選択部は、前記送信先決定部によって決定された前記複数の送信先に対応付けられた予め定められた時間が経過するまでの間に前記応答受信部が受信した前記複数の応答から、前記少なくとも１つの応答を選択する、出力制御装置。
【請求項２】
ユーザ要求を取得する要求取得部と、
前記ユーザ要求を送信する複数の送信先を決定する送信先決定部と、
前記送信先決定部によって決定された前記複数の送信先に前記ユーザ要求を送信する要求送信部と、
前記複数の送信先のそれぞれから、前記ユーザ要求に対する応答を受信する応答受信部と、
ユーザに関するユーザ関連情報に基づいて、前記複数の送信先から受信した複数の応答から少なくとも１つの応答を選択する応答選択部と、
前記応答選択部によって選択された応答を出力させる出力制御部と
を備え、
前記応答選択部は、前記ユーザによる前記複数の送信先のそれぞれの使用履歴、複数のユーザによる前記複数の送信先のそれぞれの評価、及び前記ユーザ要求の内容に対する応答内容の適合度のうちの２つ以上を含む複数の条件のそれぞれについて、前記複数の条件のそれぞれに対する係数を用いて評点を導出し、前記評点に基づいて、前記少なくとも１つの応答を選択する、出力制御装置。
【請求項３】
前記送信先決定部は、前記ユーザに関するユーザ関連情報に基づいて、複数の送信先の候補から前記複数の送信先を決定する、請求項１又は２に記載の出力制御装置。
【請求項４】
前記送信先決定部は、前記ユーザ要求の内容に基づいて、複数の送信先の候補から前記複数の送信先を決定する、請求項１又は２に記載の出力制御装置。
【請求項５】
前記ユーザ関連情報は、前記ユーザによる前記複数の送信先のそれぞれの使用頻度を含む、請求項１から４のいずれか一項に記載の出力制御装置。
【請求項６】
前記ユーザ関連情報は、前記ユーザの年齢及び性別の少なくともいずれかを含む前記ユーザの属性情報を含む請求項１から５のいずれか一項に記載の出力制御装置。
【請求項７】
前記要求取得部は、前記ユーザの入力を受け付けた通信端末から前記ユーザ要求を受信する、請求項１から６のいずれか一項に記載の出力制御装置。
【請求項８】
前記出力制御部は、前記通信端末に、前記応答選択部によって選択された応答を出力させる、請求項７に記載の出力制御装置。
【請求項９】
前記出力制御部は、前記通信端末とは異なる装置に、前記応答選択部によって選択された応答を出力させる、請求項７に記載の出力制御装置。
【請求項１０】
コンピュータを、請求項１から９のいずれか一項に記載の出力制御装置として機能させるためのプログラム。