(57)【要約】      （修正有）【課題】ユーザーに関する事前情報と提供サービスに関する具体的な細部情報を有していなくても、ユーザーとの相互作用を通して学習可能な強化学習をすることによって、ユーザーのサービス使用パターンを学習し、多様なサービスを能動的に適切に提供できる、ネットワーク基盤のロボットのためのサービス推薦方法を提供する。【解決手段】ユーザー３０からのサービス要請がある場合、ネットワーク基盤のロボット１０が、状況情報およびユーザー３０が要請したサービスの行動に基づいてテーブルを学習し、サービス推薦要請のある場合に、テーブルの内容に基づいてユーザー３０にサービスを推薦し、推薦されたサービスに対するユーザー３０の反応により、状況情報および推薦されたサービスの行動に基づいて前記テーブルを更新する。【選択図】図１
2009076027.tif 000002
【特許請求の範囲】
【請求項１】
ネットワーク基盤のロボットのためのサービス推薦方法であって、
ネットワーク基盤のロボットのユーザーからサービス要請のある場合、状況情報およびユーザーが要請したサービスの行動に基づいてテーブルを学習させるテーブル学習ステップ；
サービス推薦要請のある場合、前記テーブルの内容に基づいてユーザーにサービスを推薦するサービス推薦ステップ；および
前記サービス推薦ステップで推薦されたサービスに対するユーザーの反応により、状況情報および推薦されたサービスの行動に基づいて前記テーブルを更新するテーブル更新ステップを含み、
前記テーブルは、前記テーブル学習ステップおよび前記テーブル更新ステップでユーザーのサービス使用パターンを学習し、
前記サービス推薦ステップでは、前記テーブル学習ステップおよび前記テーブル更新ステップで学習させたテーブルの内容に基づいてユーザーにサービスを推薦する、サービス推薦方法。
【請求項２】
前記テーブルは、因子として状態および行動を含むＱ−学習情報テーブルを備え、
前記状況情報は、状態情報を含むことを特徴とする請求項１に記載のサービス推薦方法。
【請求項３】
前記テーブルは、因子として曜日、時間帯、および行動を含む時間別サービス使用頻度テーブルをさらに備え、
前記状況情報は、曜日および時間帯情報をさらに含むことを特徴とする請求項２に記載のサービス推薦方法。
【請求項４】
前記テーブルは、因子として場所および行動を含む場所別サービス使用頻度テーブルをさらに備え、
前記状況情報は、場所情報をさらに含むことを特徴とする請求項２に記載のサービス推薦方法。
【請求項５】
前記テーブルは、ネットワーク基盤のロボットの複数のユーザーに対してユーザーとテーブルとを関連付けるユーザー情報テーブルをさらに含むことを特徴とする請求項１に記載のサービス推薦方法。
【請求項６】
前記テーブル学習ステップでは、補償値ＲSによってテーブルを学習させ、
前記テーブル更新ステップでは、推薦されたサービスに対するユーザーの反応が肯定的な場合には補償値ＲPによってテーブルを更新し、推薦されたサービスに対するユーザーの反応が否定的な場合には補償値ＲNによってテーブルを更新することを特徴とする請求項１に記載のサービス推薦方法。
【請求項７】
前記サービス推薦ステップでは、各行動に関し、複数のテーブルの値を正規化して合算することによって推薦するサービスを選定することを特徴とする請求項１に記載のサービス推薦方法。
【請求項８】
状況認識サーバーとネットワークを介して接続されたサービス推薦装置であって、
ユーザーからサービス要請のある場合、前記状況認識サーバーから提供されていた状況情報およびユーザーが要請したサービスの行動に基づいてテーブルを学習させるテーブル学習手段；
サービス推薦要請が入力された場合、前記テーブルの内容に基づいてユーザーにサービスを推薦するサービス推薦手段；および
前記サービス推薦手段が推薦したサービスに対するユーザーの反応により、前記状況認識サーバーから提供されていた状況情報および推薦されたサービスの行動に基づいて前記テーブルを更新するテーブル更新手段を含み、
前記テーブルは、前記テーブル学習手段および前記テーブル更新手段によってユーザーのサービス使用パターンを学習し、
前記サービス推薦手段では、前記テーブル学習手段および前記テーブル更新手段が学習させたテーブルの内容に基づいてユーザーにサービスを推薦する、サービス推薦装置。
【請求項９】
前記テーブルは、因子として状態および行動を含むＱ−学習情報テーブルを備え、
前記状況情報は、状態情報を含むことを特徴とする請求項８に記載のサービス推薦装置。
【請求項１０】
前記テーブルは、因子として曜日、時間帯、および行動を含む時間別サービス使用頻度テーブルをさらに備え、
前記状況情報は、曜日および時間帯情報をさらに含むことを特徴とする請求項９に記載のサービス推薦装置。
【請求項１１】
前記テーブルは、因子として場所および行動を含む場所別サービス使用頻度テーブルをさらに備え、
前記状況情報は、場所情報をさらに含むことを特徴とする請求項９に記載のサービス推薦装置。
【請求項１２】
前記テーブルは、複数のユーザーに対してユーザーとテーブルとを関連付けるユーザー情報テーブルをさらに含むことを特徴とする請求項８に記載のサービス推薦装置。
【請求項１３】
前記テーブル学習手段は、補償値ＲSによってテーブルを学習させ、
前記テーブル更新手段は、推薦されたサービスに対するユーザーの反応が肯定的な場合には補償値ＲPによってテーブルを更新し、推薦されたサービスに対するユーザーの反応が否定的な場合には補償値ＲNによってテーブルを更新することを特徴とする請求項８に記載のサービス推薦装置。
【請求項１４】
前記サービス推薦手段は、各行動に関し、複数のテーブルの値を正規化して合算することによって推薦するサービスを選定することを特徴とする請求項８に記載のサービス推薦装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ネットワーク基盤のロボットのためのサービス推薦方法およびサービス推薦装置に関し、より詳しくは、ネットワーク基盤のロボットが強化学習を通してユーザーのサービス使用パターンを学習し、多様なサービスを能動的に、ユーザーごとに適切に提供するサービス推薦方法およびサービス推薦装置に関するものである。
【０００２】
本発明は、情報通信部のＩＴ新成長動力核心技術開発事業の一環として行った研究から導き出されたものである［課題管理番号：２００６−Ｓ−０２６−０２、課題名：能動型サービスのためのＵＲＣサーバーフレームワーク開発］。
【背景技術】
【０００３】
近来、産業用ロボット市場が飽和してしまって、新しい市場の創出のためにネットワーク基盤のロボットに関する研究が活発に行われている。ネットワーク基盤のロボットは、既存のロボットにネットワークおよび情報技術を加えた知能型サービスロボットの新しい概念であって、いつでもどこでもユーザーと一緒にいて、ユーザーに必要な適切なサービスを提供する。
【０００４】
ロボットは、一般的に外部環境を検知し、この検知した環境に基づいて状況を判断し、この判断により適切に行動するという３種類の機能性要素を有する。ネットワーク基盤のロボットが窮極的に追求しようとすることは、ロボットそのもので処理していた、この３種類の機能をネットワークにて分散して処理することで、さらに外部の検知機能とプロセシング機能を、ネットワークを介して十分に活用しようとすることである。
【０００５】
すなわち、ネットワーク基盤のロボットは、ロボットにハードウェアを追加して検知機能を強化することよりは、外部に設けられたセンサの検知機能を活用することができる。また、ネットワーク基盤のロボットは、自体のプロセシング性能を高めることよりは、ネットワークに接続された遠隔地の高機能サーバーのプロセシング性能を活用することができ、遠隔地のコンテンツサーバーを介して多様なコンテンツサービスを提供することができるため、ユーザーに一層多様な機能とサービスを提供することができる。
【０００６】
ユビキタスコンピュータ環境が到来するにつれて、ネットワーク基盤のロボットにおいて、ユーザーの明らかな要求により提供されるサービスは勿論、多様な状況情報を活用して能動的にサービスを提供できる個人化された推薦関連の技術が必要になった。既存のロボットにネットワーク機能が結合されたネットワーク基盤のロボットにおいて、ユーザーに多様なサービスを提供できるようになって、ユーザーの要求に単純に答えるサービスより、ユーザーの状況を認知してユーザーの関心度によりサービスを推薦できる技術が必要になったのである。
【０００７】
現在、多く用いられている推薦技法には、内容基盤推薦（Ｃｏｎｔｅｎｔ−ｂａｓｅｄ  Ｒｅｃｏｍｍｅｎｄａｔｉｏｎ）と協調推薦（Ｃｏｌｌａｂｏｒａｔｉｖｅ  Ｒｅｃｏｍｍｅｎｄａｔｉｏｎ）がある。内容基盤推薦は、情報検索（Ｉｎｆｏｒｍａｔｉｏｎ  Ｒｅｔｒｉｅｖａｌ）分野をベースにして、ユーザーのプロファイルと推薦の対象になるアイテムの構成要素とを比較し、類似度の高いものなどを推薦する技法であって、例えば特許文献１がある。そして、協調推薦は、推薦の対象になる目標ユーザーに類似したプロファイルを有する他のユーザーを探し、この他のユーザーが高い評価を付与したアイテムを目標ユーザーに推薦する技法であって、例えば特許文献２がある。以外にも、ユーザーの性別、年齢、職業などの人口統計学的な情報を活用して推薦する人口統計学的な推薦技法と、上記内容基盤推薦と協調推薦とを結合したハイブリッド推薦技法などがある。
【０００８】
しかし、既に研究された大部分の推薦技法では、ユーザーに関する事前情報または推薦アイテムに関する具体的な細部情報が必要である。ところで、ネットワーク基盤のロボットが提供するサービスに関する具体的な構成要素という定義が不充分で、保安やプライバシー保護などのためにユーザーに関する事前情報収集が難しいため、多くの情報を予め保有していなければならない既存の推薦技法を適用し難い場合が多く、このような情報を体系的に収集して適用するということも容易ではない。
【０００９】
【特許文献１】大韓民国公開特許公報第２００６−００６９１４３号
【特許文献２】大韓民国公開特許公報第２００６−０１１２７２３号
【発明の開示】
【発明が解決しようとする課題】
【００１０】
本発明は、上記の問題点を解決するためのものであって、ユーザーに関する事前情報と提供サービスに関する具体的な細部情報を有していなくても、ユーザーとの相互作用を通して学習可能な強化学習をすることによって、ネットワーク基盤のロボットがユーザーのサービス使用パターンを学習し、多様なサービスを能動的に適切に提供することができる、ネットワーク基盤のロボットのためのサービス推薦方法およびサービス推薦装置を提供することを目的とする。
【００１１】
ここで、強化学習ということは、与えられた環境に関して予め設定されたモデルなしで補償値（ｒｅｗａｒｄ）と行動（ａｃｔｉｏｎ）との相互作用を通して学習が行われる機械学習法である。他の機械学習法と比較して、強化学習は、学習過程の学習者が予め如何なる行動を決めておらず、外部環境との交流による学習の試行錯誤過程を通した探索（Ｔｒｉａｌ  ａｎｄ  Ｅｒｒｏｒ  Ｓｅａｒｃｈ）過程を有する。
【００１２】
したがって、本発明に係るサービス推薦方法およびサービス推薦装置は、ユーザーに関する事前情報がなくても、ユーザーとの相互作用過程を通してユーザーのサービス使用パターンを学習することによって、ユーザーに適する個人化された推薦サービスを提供することができる。また、時間および場所に伴うユーザーのサービス使用回数を記録して推薦に反映することによって、状況情報に一層適合したサービスを推薦することができる。
【課題を解決するための手段】
【００１３】
上記の目的を達成するため、本発明によるネットワーク基盤のロボットのためのサービス推薦方法は、ネットワーク基盤のロボットのユーザーからサービス要請のある場合に、状況情報およびユーザーが要請したサービスの行動に基づいてテーブルを学習させるテーブル学習ステップ；サービス推薦要請のある場合に、テーブルの内容に基づいてユーザーにサービスを推薦するサービス推薦ステップ；およびサービス推薦ステップで推薦されたサービスに対するユーザーの反応により、状況情報および推薦されたサービスの行動に基づいてテーブルを更新するテーブル更新ステップを含み、テーブルはテーブル学習ステップおよび前記テーブル更新ステップでユーザーのサービス使用パターンを学習し、サービス推薦ステップではテーブル学習ステップおよびテーブル更新ステップで学習させたテーブルの内容に基づいてユーザーにサービスを推薦する。
【００１４】
テーブルは、因子として状態および行動を含むＱ−学習情報テーブルを備え、状況情報は状態情報を含み、好ましくは、テーブルは、因子として曜日、時間帯、および行動を含む時間別サービス使用頻度テーブルをさらに備え、状況情報は曜日および時間帯情報をさらに含む。
【００１５】
また、テーブルは、因子として場所および行動を含む場所別サービス使用頻度テーブルをさらに備え、状況情報は場所情報をさらに含む。
【００１６】
また、テーブルは、ネットワーク基盤のロボットの複数のユーザーに対してユーザーとテーブルとを関連付けるユーザー情報テーブルをさらに含むことができる。
【００１７】
また、テーブル学習ステップでは、補償値ＲSによってテーブルを学習させ、テーブル更新ステップでは、推薦されたサービスに対するユーザーの反応が肯定的な場合には補償値ＲPによってテーブルを更新し、推薦されたサービスに対するユーザーの反応が否定的な場合には補償値ＲNによってテーブルを更新することが好ましい。
【００１８】
また、サービス推薦ステップでは、各行動に関し、複数のテーブルの値を正規化して合算することによって推薦するサービスを選定することが好ましい。
【発明の効果】
【００１９】
本発明は、次のような効果を得ることができる。
ネットワーク基盤のロボットは、ネットワークを介して多様なサービスを提供することができ、ユーザーのサービス使用パターンを学習して、多様なサービスの中でユーザーに適するサービスを推薦することで、サービス選択のオーバーヘッドを低減させられる。
【００２０】
特に、提供するサービスに関する具体的な細部情報およびユーザーに関する事前情報の収集が行われていなかったとしても、ユーザーとの相互作用による学習によってユーザーのサービス使用パターンを学習し、多様なサービスを能動的に適切に提供することができる。
【００２１】
そして、多様なユーザーのサービス使用パターンをユーザーごとに個別的に学習することができるため、家族のように数人が１つのネットワーク基盤のロボットを用いる場合にも個人化された連携型のサービスを提供することができる。
【００２２】
また、状況認識サーバーから提供される状況情報を活用して、多くの情報に基づいてユーザーのサービス使用パターンを学習することができ、適切なサービスの推薦可能性が向上する。
【００２３】
そして、ネットワーク認識のロボットが場所を認識することができる場合や、状況認識サーバーが場所に関する情報を提供することができる場合には、特定場所に適するサービスの推薦が可能である。
【００２４】
また、曜日および時間帯別にユーザーのサービス使用パターンを学習し、これをサービス推薦に適用することによって効率的なサービスの推薦が可能である。
【発明を実施するための最良の形態】
【００２５】
以下、本発明の理解を助けるために、添付する図面を参照して好ましい実施例を提供する。下記の実施例は、本発明をより容易に理解するために提供することであり、本実施例によって本発明が限定されることはない。
【００２６】
図１は、本発明に係る全体システムの構成図である。本発明に係る全体システムは、ネットワーク基盤のロボット１０、状況認識サーバー２０、およびコンテンツサーバー４０から構成されており、ネットワーク基盤のロボット１０にサービスを要請してネットワーク基盤のロボット１０からサービスを提供されるユーザー３０がある。
【００２７】
ネットワーク基盤のロボット１０は、状況認識サーバー２０およびコンテンツサーバー４０とネットワークを介して接続されており、具体的に図示しなかったが、ユーザー３０に映画、ニュース、天気ガイドなどのサービスを提供するためのディスプレイ、音楽・音声などのサービスを提供するためのスピーカ、音声認識のためのマイク、移動するための駆動モータ、状況認識サーバー２０およびコンテンツサーバー４０と通信するための通信装置、ユーザーからの入力を受けるための入力インターフェースなどの多様な機器が取り付けられている。
【００２８】
状況認識サーバー２０は、ネットワーク基盤のロボット１０にネットワークを介して接続されており、具体的に図示しなかったが、照度センサ、音声センサ、温度センサを含む多様なセンサからの情報およびその他の入力情報を通して、現在の状況情報を認識してこれを格納している。
【００２９】
コンテンツサーバー４０は、ネットワーク基盤のロボット１０がユーザー３０に提供するための、映画、ニュース、天気ガイド、音楽、音声などのコンテンツを格納している。コンテンツサーバー４０は、図示したように、遠隔地に設けられ、ネットワーク基盤のロボット１０にネットワークを介して接続することもでき、状況認識サーバー２０に統合されて提供することもできる。また、コンテンツの一部がネットワーク基盤のロボット１０の内部に格納されていて、ユーザー３０に直接提供することもできる。
【００３０】
図１を参照として本発明に係る全体システムの動作の流れを説明すれば、次の通りである。
先ず、ユーザー３０がネットワーク基盤のロボット１０の入力インターフェースまたは音声認識を用いてサービスを要請すれば（３０−１）、ネットワーク基盤のロボット１０はコンテンツサーバー４０に対してユーザー３０が要請したサービスに対応するコンテンツを要請する（１０−１）。ユーザー３０が要請するサービスの種類は、例えば、映画、ニュース、天気ガイド、音楽、音声、教育、料理、ゲームである。コンテンツサーバー４０は、ネットワーク基盤のロボット１０に要請されたコンテンツを提供し（４０−１）、ネットワーク基盤のロボット１０は、ユーザー３０にサービス（コンテンツ）を提供する（１０−２）。これはユーザー３０が明らかに特定サービスを要請した場合に行われるサービス提供プロセスである。
【００３１】
一方、現在の状況情報を認識する状況認識サーバー２０は、ユーザーが朝起床する場合のように認識される状況情報に変更がある場合、またはネットワーク基盤のロボット１０が一定時間以上サービスを提供せずにいる場合のように、状況の認識が必要だと判断される場合に、ネットワーク基盤のロボット１０に対してユーザー３０にサービスを推薦することを要請するサービス推薦要請（２０−２）を行うことができる。または、ユーザー３０がネットワーク基盤のロボット１０に対して現在状況に適するサービスを推薦することを直接要請することもできる。
【００３２】
ここで、状況認識サーバー２０は、多様なセンサからの情報およびその他の入力情報を介して現在の状況情報を認識して格納するため、上記のサービス推薦要請（２０−２）と同時に、またはサービス推薦要請（２０−２）と関係なく、ネットワーク基盤のロボット１０に対して状況情報を提供する（２０−１）。この状況情報は、例えば現在の曜日および時間情報、ユーザー３０の識別子および位置、現在の温度、照度などの多様な情報を含むことができる。
【００３３】
ネットワーク基盤のロボット１０は、サービス推薦要請のある場合、状況認識サーバー２０から提供された状況情報（２０−１）および自ら格納している状態情報に基づいて、ユーザーに適するサービスを推薦する（１０−３）。ユーザー３０が推薦されたサービスに対して肯定的な反応のフィードバック（３０−２）を与えた場合には、推薦されたサービスに対応するコンテンツをコンテンツサーバー４０に要請して提供された後、ユーザー３０にサービスを提供する（１０−２）。
【００３４】
本発明の一特徴は、上記のように、ユーザーがサービスを要請する（３０−１）場合にテーブル学習を行い、またサービス推薦（１０−３）に対してユーザーがフィードバックした（３０−２）場合にテーブルを更新することによって、収集された学習情報に応じてユーザーに現在の状態に適するサービスを推薦することである。テーブル学習、テーブル更新、サービス推薦に関しては、図２〜図４を参照して以下で詳細に説明する。
【００３５】
図２は、本発明に係るサービス推薦のための資料構造を図示したものである。左側のコラムは資料構造の内容５０であり、右側のコラムは各内容に対応する具体的な資料構造６０である。この資料構造のデータは、ネットワーク基盤のロボット１０に格納されているのが好ましいが、状況認識サーバー２０にだけ格納されていたり、または状況認識サーバー２０とネットワーク基盤のロボット１０が同期化によって共有していたり、分散格納したりしてもかまわない。
【００３６】
本発明のサービス推薦方法による資料構造は、Ｑ−学習情報テーブル（Ｑ−ＴＢＬ［ｓ］［ａ］）、時間別サービス使用頻度テーブル（Ｆ−ＴＢＬ［ｄ］［ｔ］［ａ］）、場所別サービス使用頻度テーブル（Ｐ−ＴＢＬ［ｐ］［ａ］）、ユーザー情報テーブル（Ｕ−ＴＢＬ［ｕ］）、および補償値（ＲS、ＲP、ＲN）を含む。ネットワーク基盤のロボット１０は、Ｑ−学習情報テーブル、時間別サービス使用頻度テーブル、および場所別サービス使用頻度テーブルのデータを参照して、サービスをユーザー３０に推薦する。各資料構造に対して詳細に説明すれば、次の通りである。
【００３７】
先ず、Ｑ−学習情報テーブル（Ｑ−ＴＢＬ［ｓ］［ａ］）は、学習を用いてユーザーが用いたサービスを記録するためのものであって、少なくとも状態（ｓ）と行動（ａ）の２次元因子を有する。
【００３８】
ここで、状態（ｓ）は、ユーザー３０および／またはネットワーク基盤のロボット１０の状態情報を意味し、例えば、ユーザーが朝起きたとすれば「起床状態」、ユーザーが家に帰ったとすれば「帰宅状態」、ネットワーク基盤のロボット１０がニュースサービスを提供しているところであれば「ニュース状態」となる。このような状態情報は、状況認識サーバー２０から提供された状況情報および自ら格納している状態情報に基づいて決定される。そして、状態（ｓ）は、ネットワーク基盤のロボットが提供するサービス提供状態（例えば、ニュース状態）とユーザーの状態（例えば、起床状態）を含み、これらが単独でまたは組み合わせて構成される。
【００３９】
また、行動（ａ）は、ネットワーク基盤のロボット１０が提供するサービスを意味する。これはサービス推薦の対象になり、映画、ニュース、天気ガイド、音楽、音声、教育、料理、ゲームなどを例に挙げることができる。
【００４０】
Ｑ−学習情報テーブルのＱ−ＴＢＬ［ｓ］［ａ］に格納された値は、該当状態（ｓ）において行動（ａ）の選好度を示し、該当状態（ｓ）において行動（ａ）の選好度のＱ−ＴＢＬ［ｓ］［ａ］の値が大きいほど、ユーザー３０がよく用いた行動（サービス）であるか、推薦時に肯定的な反応を見せた行動であるということを意味する。
【００４１】
次に、時間別サービス使用頻度テーブル（Ｆ−ＴＢＬ［ｄ］［ｔ］［ａ］）は、曜日／時間帯別に該当サービスを用いた回数を格納している頻度テーブルであって、少なくとも曜日（ｄ）と時間帯（ｔ）と行動（ａ）の３次元因子を有する。ここで、曜日（ｄ）は、月、火、水、木、金、土、日で区分することができ、または平日、週末で区分することもできる。また、時間帯（ｔ）は、毎時間別に区分することができ、または午前、午後、夕方、夜で区分することもできる。一方、行動（ａ）は、前記Ｑ−学習情報テーブルと同様である。
【００４２】
ネットワーク基盤のロボット１０のユーザー３０ごとに曜日別、時間帯別に用いるサービスの選好度が相異することもあり、特に週末に用いるサービスが大きく相異する傾向がある。したがって、時間別サービス使用頻度テーブルは、これを反映して学習することによって、特定ユーザーの曜日別、時間帯別にサービス使用選好度を記録するためのものである。ユーザーが用いた行動（サービス）および推薦時に肯定的な反応を見せた行動を曜日別、時間帯別に学習して記録することによって、サービス推薦時の曜日／時間帯により該当ユーザーの選好度の高い適切なサービスをユーザーに推薦することができる。
【００４３】
次に、場所別サービス使用頻度テーブル（Ｐ−ＴＢＬ［ｐ］［ａ］）は、場所別に該当サービスを用いた回数を格納している頻度テーブルであって、少なくとも場所（ｐ）と行動（ａ）の２次元因子を有する。ここで、場所（ｐ）は、例えば、寝室、厨房、子供部屋、居間で区分することができる。場所（ｐ）は、ネットワーク基盤のロボット１０が場所を認識可能な場合に区分することができ、または状況認識サーバー２０がユーザー３０および／またはネットワーク基盤のロボット１０の場所を認識して区分することもできる。一方、行動（ａ）は、前記Ｑ−学習情報テーブルと同様である。
【００４４】
場所別に該当ユーザー３０が用いるサービスの選好度が相異することもあるため、場所別サービス使用頻度テーブルは、これを反映して学習することによって、特定ユーザーの場所別サービス使用選好度を記録するためのものである。ユーザーが用いた行動（サービス）および推薦時に肯定的な反応を見せた行動を場所別に学習して記録することによって、サービス推薦時の場所により該当ユーザーの選好度の高い適切なサービスをユーザーに推薦することができる。
【００４５】
次に、ユーザー情報テーブル（Ｕ−ＴＢＬ［ｕ］）は、ユーザー別に該当するＱ−学習情報テーブル、時間別サービス使用頻度テーブル、場所別サービス使用頻度テーブルをマッチさせる情報を有する。ネットワーク基盤のロボットを複数のユーザーが用いる場合、各ユーザー別にテーブルを区分して管理することができるようにすることで、各ユーザーの特性を反映したサービスを推薦することができる。
【００４６】
次に、補償値は、上述した各テーブルの値を更新する時に用いる値であって、ネットワーク基盤のロボット１０が現在の状態で如何なる行動を取るようになった時、ユーザー３０から受ける補償または罰の値を意味する。本実施例における補償値は、ＲS、ＲP、ＲNの三つの値を定義し、各補償値は設計により適切な値を有する。
【００４７】
第１に、ＲSはユーザーが明らかに該当行動（サービス）を選択した時の補償値である。第２に、ＲPはネットワーク基盤のロボットによって推薦されたサービス（行動）に対してユーザーが肯定的な反応を見せた場合の補償値であり、第３に、ＲNはネットワーク基盤のロボットによって推薦されたサービス（行動）に対してユーザーが否定的な反応を見せた場合の補償値であり、罰の値に該当する。ここで、ＲS、ＲPは、選好度を増加しなければならないため正の値を有し、ＲNは選好度を減少しなければならないため負の値を有する。一方、ＲSとＲPは、設計によりその大小が決定される。ユーザーが明らかに選択した場合を重要視すればＲSがＲPより大きい値になるように定義し、推薦されたサービスに対してユーザーが肯定的な反応を見せた場合を重要視すればＲSがＲPより小さい値になるように定義し、２つの値を同一値に設定することもできる。
【００４８】
本発明により、図１の全体システムの構成図および図２の資料構造を用いて実施するサービス推薦方法の細部的な手続を図３および図４を参照して説明する。
【００４９】
図３は、本発明に係るネットワーク基盤のロボットのためのサービス推薦方法の概略的なフローチャートである。このサービス推薦方法は、大きく分けて、学習情報初期化ステップＳ２０、テーブル学習ステップＳ４０、サービス推薦ステップＳ６０、テーブル更新ステップＳ７０から構成される。概略的に説明すれば、ネットワーク基盤のロボットは、ステップＳ２０で学習情報を初期化し、ステップＳ３０でユーザーからサービス要請のある場合にステップＳ４０でテーブルを学習させ、ステップＳ５０でサービス推薦要請のある場合にステップＳ６０でサービスを推薦し、ユーザーの反応によりステップＳ７０でテーブルを更新する。このような過程を繰り返して学習させたテーブルによって、該当ユーザーに適するサービスを推薦することができる。
【００５０】
先ず、ネットワーク基盤のロボットは、最初に駆動されてシステムが開始（Ｓ１０）すれば、学習情報初期化ステップＳ２０で各テーブルの学習情報を初期化する。学習情報初期化ステップＳ２０は、ネットワーク基盤のロボットの新しいユーザーが追加された場合に、該当ユーザーに対応するテーブルの学習情報を初期化する時も行われる。
【００５１】
そして、ネットワーク基盤のロボットは、ユーザーからサービス要請があるかを判断する（Ｓ３０）。ユーザーから明らかなサービス要請のある場合（Ｓ３０のＹ）には、テーブル学習ステップＳ４０に進行して、ユーザーが要請したサービスに該当するテーブル値を更新することによって各テーブルに対する学習を行う。テーブル学習ステップＳ４０が完了すればステップＳ３０に戻る。
【００５２】
一方、ステップＳ３０でユーザーからサービス要請がないと判断された場合（Ｓ３０のＮ）には、ステップＳ５０に進行して、状況認識サーバーからサービス推薦要請があるかを判断する。勿論、ユーザーから直接サービス推薦要請があることもあり、この時はユーザーからサービス推薦要請があるかを判断する。
【００５３】
ステップＳ５０でサービス推薦要請があると判断した場合（Ｓ５０のＹ）には、サービス推薦ステップＳ６０に進行して、現在までのテーブルの学習内容に基づいてユーザーにサービスを推薦する。推薦されたサービスに対してユーザーが肯定または不正の反応を見せた場合にテーブル更新ステップＳ７０に進行して、推薦されたサービスに該当するテーブル値を更新し、次のサービス推薦時に活用することができるようにする。テーブル更新ステップＳ７０が完了すればステップＳ３０に戻る。一方、ステップＳ５０でサービス推薦要請がないと判断された場合（Ｓ５０のＮ）にもステップＳ３０に戻る。
【００５４】
本発明に係るネットワーク基盤のロボットのためのサービス推薦方法は、図３に示したような流れによりユーザーのサービス選好度を学習し、この学習の結果をサービス推薦時に反映することによって、ユーザーに適するサービスを推薦することができるようになる。図３に概略的に示したサービス推薦方法の具体的な内容を、図４を参照して説明する。
【００５５】
図４は、本発明に係るネットワーク基盤のロボットのためのサービス推薦方法の具体的なフローチャートである。図３のサービス推薦方法と同一のステップには同一の図面符号を付した。
【００５６】
先ず、学習情報初期化ステップＳ２０では、Ｑ−学習情報テーブル（Ｑ−ＴＢＬ）、時間別サービス使用頻度テーブル（Ｆ−ＴＢＬ）、場所別サービス使用頻度テーブル（Ｐ−ＴＢＬ）の学習情報を「０」に初期化する。そして、補償値ＲS、ＲP、ＲNに対しても特定値に初期化し、現在の状態（ｓ）を状況認識サーバー２０から提供された状況情報に基づいて初期化する。例えば、現在の状態（ｓ）を「起床状態」に初期化する。
【００５７】
そして、ネットワーク基盤のロボットは、ユーザーからサービス要請があるかを判断する（Ｓ３０）。ユーザーから明らかなサービス要請のある場合（Ｓ３０のＹ）には、テーブル学習ステップＳ４０に進行する。テーブル学習ステップＳ４０は、ユーザーのサービス要請内容によりＱ−ＴＢＬ、Ｆ−ＴＢＬ、Ｐ−ＴＢＬを学習するステップである。
【００５８】
テーブル学習ステップＳ４０では、先ず、ユーザーが選択したサービスの行動（ａ）を識別する（ステップＳ４１）。そして、ユーザーが明らかにサービスを要請した場合であるため、テーブルを更新するための補償値としてＲSを選定する（ステップＳ４２）。そして、ステップＳ４３でユーザーが要請したサービスの行動（ａ）と補償値（ＲS）とを用いてテーブル学習を行う。
【００５９】
ステップＳ４３において、週末午前にユーザーが居間でニュースを聴取している中で「天気ガイド」サービスを要請した場合を例にして、テーブル学習について具体的に説明する。先ず、現在の状態（ｓ）とユーザーが要請した行動（ａ）とを用いてＱ−ＴＢＬ学習を行う。ここで、現在の状態（ｓ）は「ニュース」であり、ユーザーが要請した行動（ａ）は「天気ガイド」である。したがって、Ｑ−ＴＢＬ［ｓ］［ａ］において、Ｑ−ＴＢＬ［ニュース］［天気ガイド］に該当する値が補償値（ＲS）によって更新される。更新に用いられる式は、例えばＱ−ＴＢＬ［ｓ］［ａ］＝Ｑ−ＴＢＬ［ｓ］［ａ］＋λqＲSであり、ここでλqは補償値ＲSの反映比率を調整するための調整値であり、設計により決められ、１の値を有することもできる。Ｑ−ＴＢＬ［ニュース］［天気ガイド］は、補償値ＲSによる学習によってその値が増加し、該当ユーザーがニュースを聴取している中で天気ガイドサービスを要請する選好度が増加する結果となる。
【００６０】
そして、現在の曜日（ｄ）と時間帯（ｔ）と行動（ａ）を用いてＦ−ＴＢＬ学習を行う。ここで、現在の曜日（ｄ）は「週末」であり、現在の時間帯は「午前」であり、ユーザーが要請した行動（ａ）は「天気ガイド」である。したがって、Ｆ−ＴＢＬ［ｄ］［ｔ］［ａ］において、Ｆ−ＴＢＬ［週末］［午前］［天気ガイド］に該当する値が補償値（ＲS）によって更新される。更新に用いられる式は、例えばＦ−ＴＢＬ［ｄ］［ｔ］［ａ］＝Ｆ−ＴＢＬ［ｄ］［ｔ］［ａ］＋λfＲSであり、ここでλfは補償値ＲSの反映比率を調整するための調整値であり、設計により決められ、Ｑ−ＴＢＬでのλq値と同一であり得る。Ｆ−ＴＢＬ［週末］［午前］［天気ガイド］は、補償値ＲSによる学習によってその値が増加し、該当ユーザーが週末午前に天気ガイドサービスを要請する選好度が増加する結果となる。
【００６１】
そして、現在の場所（ｐ）と行動（ａ）を用いてＰ−ＴＢＬ学習を行う。ここで、現在の場所（ｐ）は「居間」であり、ユーザーが要請した行動（ａ）は「天気ガイド」である。したがって、Ｐ−ＴＢＬ［ｐ］［ａ］において、Ｐ−ＴＢＬ［居間］［天気ガイド］に該当する値が補償値（ＲS）によって更新される。更新に用いられる式は、例えばＰ−ＴＢＬ［ｐ］［ａ］＝Ｐ−ＴＢＬ［ｐ］［ａ］＋λpＲSであり、ここでλpは補償値ＲSの反映比率を調整するための調整値であり、設計により決められ、Ｑ−ＴＢＬでのλq値と同一であり得る。Ｐ−ＴＢＬ［居間］［天気ガイド］は、補償値ＲSによる学習によってその値が増加し、該当ユーザーが居間で天気ガイドサービスを要請する選好度が増加する結果となる。
【００６２】
このように、ユーザーが要請したサービスに該当するテーブル値を更新することによって、各テーブルに対する学習を行い、テーブル学習ステップＳ４０が完了すればステップＳ３０に戻る。
【００６３】
一方、ステップＳ３０でユーザーからサービス要請がないと判断された場合（Ｓ３０のＮ）には、ステップＳ５０に進行し、状況認識サーバーからサービス推薦要請があるかを判断する。
【００６４】
ステップＳ５０でサービス推薦要請があると判断した場合（Ｓ５０のＹ）には、サービス推薦ステップＳ６０に進行して、現在までのＱ−ＴＢＬ、Ｆ−ＴＢＬ、Ｐ−ＴＢＬの学習内容に基づいてユーザーの選好度を把握してユーザーにサービスを推薦する。サービス推薦ステップＳ６０では、選好度計算ステップＳ６１と行動推薦ステップＳ６２との２つのステップを有する。
【００６５】
選好度計算ステップＳ６１では、学習内容に基づいて該当ユーザーの選好度を把握する。選好度計算に関する実施例を説明するために、ユーザーが週中の夕方に寝室で音楽を聴取している場合を仮定する。
【００６６】
本実施例においては、Ｑ−ＴＢＬ、Ｆ−ＴＢＬ、Ｐ−ＴＢＬを用いた場合を例に挙げたが、実施によってはＱ−ＴＢＬだけ、またはＱ−ＴＢＬとＦ−ＴＢＬだけある場合もあり、他のテーブルを有する場合もある。この時は、以下の実施例を参照して十分に変形して適用可能である。
【００６７】
先ず、Ｑ−ＴＢＬ、Ｆ−ＴＢＬ、Ｐ−ＴＢＬの比重を調節するために正規化を行う。以下に説明する正規化は、Ｑ−ＴＢＬ、Ｆ−ＴＢＬ、Ｐ−ＴＢＬが０と１との間の値を有するように正規化した。式（１）のＷqはＱ−ＴＢＬを正規化したもので、式（２）のＷfはＦ−ＴＢＬを正規化したもので、式（３）のＷpはＰ−ＴＢＬを正規化したものである。この例で、状態（ｓ）は「音楽」で、曜日（ｄ）は「週中」で、時間帯（ｔ）は「夕方」で、場所（ｐ）は「寝室」である。
【００６８】
【数１】
2009076027.tif 000003
【００６９】
【数２】
2009076027.tif 000004
【００７０】
【数３】
2009076027.tif 000005
【００７１】
例えば、Ｗqは現在の状態（ｓ）に対して推薦の対象になるサービスの各行動（ａ）の選好度をＱ−ＴＢＬを用いて正規化して計算した結果である。Ｗq、Ｗf、Ｗpは、該当ユーザーに関して現在の状態（ｓ）に対して学習された行動（ａ）の種類の数だけ得られる。式（１）〜式（３）によって得られた正規化されたＷq、Ｗf、Ｗpの値を用いて推薦の対象になるサービスの各行動（ａ）に対して選好度を計算する。
【００７２】
以下の式（４）は、各行動（ａ）に対する該当ユーザー（ｕ）の選好度である
【００７３】
【数４】
2009076027.tif 000006
【００７４】
を計算するためのものである。ここで、
【００７５】
【数５】
2009076027.tif 000007
【００７６】
は、該当ユーザー（ｕ）に関するテーブルの正規化値である。そして、α、β、γは、各テーブルの正規化値の反映比率を規定するための常数であって、１／３の同一値を有することもでき、各テーブルの重要度によって他の値を有することもできる。
【００７７】
【数６】
2009076027.tif 000008
【００７８】
式（４）によって計算された各行動（ａ）に対する選好度を参照して、現在の状況、すなわちユーザーが週中の夕方に寝室で音楽を聴取している状況で、該当ユーザーの選好度が最も高い行動（ａ）を選択することによって、サービス推薦の対象が決定される。ステップＳ６２では、決定されたサービスの行動（ａ）をネットワーク基盤のロボットがユーザー（ｕ）に推薦する。ここでは、ステップＳ６２で「映画」サービスをネットワーク基盤のロボットがユーザーに推薦したと仮定する。
【００７９】
次に、テーブル更新ステップでは、ステップＳ６２で推薦されたサービスの行動（ａ）に対してユーザーが見せた反応により補償値を決定し、テーブルを更新する。具体的には、ステップＳ７１でユーザーの反応が肯定的な場合にはステップＳ７２に進行して補償値ＲとしてＲPを選定し、ステップＳ７１でユーザーの反応が否定的な場合、またはユーザーが一定時間内に反応を見せていない場合にはステップＳ７３に進行して補償値ＲとしてＲNを選定する。ここで、ＲPは正の値であり、ＲNは負の値である。そして、ステップＳ７４では、推薦されたサービスに関するユーザーの反応によりＱ−ＴＢＬ、Ｆ−ＴＢＬ、Ｐ−ＴＢＬを更新するステップである。
【００８０】
先ず、現在の状態（ｓ）と推薦されたサービスの行動（ａ）とを用いてＱ−ＴＢＬ更新を行う。ここで、現在の状態（ｓ）は「音楽」であり、推薦されたサービスの行動（ａ）は「映画」である。したがって、Ｑ−ＴＢＬ［ｓ］［ａ］において、Ｑ−ＴＢＬ［音楽］［映画］に該当する値が補償値Ｒ（ＲPまたはＲN）によって更新される。更新に用いられる式は、例えばＱ−ＴＢＬ［ｓ］［ａ］＝Ｑ−ＴＢＬ［ｓ］［ａ］＋λqＲであり、ここでλqは補償値Ｒの反映比率を調整するための調整値であり、設計により決められ、１の値を有することもできる。また、ステップＳ７４でのλqは、ステップＳ４３でのλqと同じこともあり、相異することもある。Ｑ−ＴＢＬ［音楽］［映画］は、補償値Ｒによる学習によってその値が増加または減少し、該当ユーザーが音楽を聴取して映画を見たがる選好度が増加または減少する結果となる。
【００８１】
同様に、Ｆ−ＴＢＬ［週中］［夕方］［映画］およびＰ−ＴＢＬ［寝室］［映画］に対してもＱ−ＴＢＬのようにテーブル更新を行う。詳細な内容は、ステップＳ４３に対する説明と、Ｑ−ＴＢＬのテーブル更新を参照して容易に把握することができるので、省略するようにする。
【００８２】
このようにステップＳ７０で、推薦されたサービスに対するユーザーの反応によりテーブル値を更新することによって、次のサービス推薦時に活用することができる。テーブル更新ステップＳ７０が完了すればステップＳ３０に戻る。一方、ステップＳ５０でサービス推薦要請がないと判断された場合（Ｓ５０のＮ）にもステップＳ３０に戻る。
【産業上の利用可能性】
【００８３】
本発明に係るネットワーク基盤のロボットのためのサービス推薦方法およびサービス推薦装置は、強化学習を通してユーザーごとに個人化されたサービスを推薦することができるため、ユーザーフレンドリーかつ能動的なロボットを開発するのに大きい利用可能性があるといえる。
【図面の簡単な説明】
【００８４】
【図１】本発明に係る全体システムの構成図である。
【図２】本発明に係るサービス推薦のための資料構造である。
【図３】本発明に係るネットワーク基盤のロボットのためのサービス推薦方法の概略的なフローチャートである。
【図４】本発明に係るネットワーク基盤のロボットのためのサービス推薦方法の具体的なフローチャートである。
【符号の説明】
【００８５】
１０：ネットワーク基盤のロボット
２０：状況認識サーバー
３０：ユーザー
４０：コンテンツサーバー
【図１】
2009076027.tif 000009
【図２】
2009076027.tif 000010
【図３】
2009076027.tif 000011
【図４】
2009076027.tif 000012