(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024139467
(43)【公開日】2024-10-09
(54)【発明の名称】アシスタントシステム、アシスタント方法、アシスタントプログラム
(51)【国際特許分類】
G06Q 30/0601 20230101AFI20241002BHJP
【FI】
G06Q30/0601 330
【審査請求】有
【請求項の数】10
【出願形態】OL
(21)【出願番号】P 2023050420
(22)【出願日】2023-03-27
(71)【出願人】
【識別番号】521042770
【氏名又は名称】ウーブン・バイ・トヨタ株式会社
(74)【代理人】
【識別番号】110003199
【氏名又は名称】弁理士法人高田・高橋国際特許事務所
(72)【発明者】
【氏名】鈴木 貴博
【テーマコード(参考)】
5L030
5L049
【Fターム(参考)】
5L030BB08
5L030BB26
5L049BB08
5L049BB26
(57)【要約】
【課題】ユーザのリクエストに応じてコンテンツを用いたサービスを提供するアシスタントシステムに関して、ユーザの嗜好をより的確に分析することが可能なアシスタントシステムを提供する。
【解決手段】本開示に係るアシスタントシステムは、複数のコンテンツデータと特定のサービスに関するユーザの嗜好を表す嗜好モデルとを格納する1又は複数の記憶装置と、1又は複数のプロセッサと、を備える。複数のコンテンツデータの各々は、特定のサービスに関する嗜好情報が紐づけられている。1又は複数のプロセッサは、複数のコンテンツデータから通知コンテンツデータを選択し、通知コンテンツデータに対するユーザの評価を取得し、通知コンテンツデータに対するユーザの評価と通知コンテンツデータに紐づけられた嗜好情報とに基づいて嗜好モデルを更新することを含む処理を実行するように構成されている。
【選択図】
図4
【特許請求の範囲】
【請求項1】
ユーザのリクエストに応じて特定のサービスを提供するアシスタントシステムであって、
複数のコンテンツデータと前記特定のサービスに関する前記ユーザの嗜好を表す嗜好モデルとを格納する1又は複数の記憶装置と、
1又は複数のプロセッサと、
を備え、
前記複数のコンテンツデータの各々は、前記特定のサービスに関する嗜好情報が紐づけられており、
前記1又は複数のプロセッサは、
前記複数のコンテンツデータから通知コンテンツデータを選択し、
前記通知コンテンツデータに対する前記ユーザの評価を取得し、
前記通知コンテンツデータに対する前記ユーザの評価と前記通知コンテンツデータに紐づけられた前記嗜好情報とに基づいて前記嗜好モデルを更新する
ことを含む第1処理と、
前記嗜好モデルに基づいて前記複数のコンテンツデータのうち前記ユーザの嗜好と一致度が高い1又は複数の抽出コンテンツデータを抽出し、
前記1又は複数の抽出コンテンツデータを用いて前記特定のサービスを提供する
ことを含む第2処理と、を実行するように構成されている
ことを特徴とするアシスタントシステム。
【請求項2】
請求項1に記載のアシスタントシステムであて、
前記通知コンテンツデータを選択することは、
前記嗜好モデルに基づいて前記ユーザの嗜好の偏り度合いを取得することと、
前記複数のコンテンツデータからランダムに前記通知コンテンツデータを選択する通常選択、又は前記複数のコンテンツデータのうち前記ユーザの嗜好と一致度が低いコンテンツデータから前記通知コンテンツデータを選択する例外選択を行うことと、
を含み、
前記例外選択を行う頻度は、前記偏り度合いが大きいほど高い
ことを特徴とするアシスタントシステム。
【請求項3】
請求項1に記載のアシスタントシステムであって、
前記1又は複数のプロセッサは、
前記嗜好モデルの習熟レベルを評価する処理と、
前記習熟レベルを前記ユーザに通知する処理と、
をさらに実行するように構成されている
ことを特徴とするアシスタントシステム。
【請求項4】
請求項1に記載のアシスタントシステムであって、
前記1又は複数のプロセッサは、
前記第2処理の実行により提供された前記特定のサービスに対する前記ユーザの評価を受け付ける処理と、
前記特定のサービスに対する前記ユーザの評価と前記1又は複数の抽出コンテンツデータに紐づけられた前記嗜好情報とに基づいて前記嗜好モデルを更新する処理と、
をさらに実行するように構成されている
ことを特徴とするアシスタントシステム。
【請求項5】
請求項1に記載のアシスタントシステムであって、
前記第2処理において、前記ユーザが複数のユーザを含むユーザグループであるとき、前記1又は複数の抽出コンテンツデータを抽出することは、
前記ユーザグループに含まれる各ユーザの優先度を取得することと、
前記各ユーザの前記優先度と前記各ユーザの前記嗜好モデルとに基づいて前記ユーザグループの嗜好モデルを算出することと、
前記複数のコンテンツデータのうち前記ユーザグループの嗜好モデルと一致度が高い前記1又は複数の抽出コンテンツデータを抽出することと、
を含む
ことを特徴とするアシスタントシステム。
【請求項6】
請求項1乃至請求項5のいずれか1項に記載のアシスタントシステムであって、
前記特定のサービスは、前記ユーザのリクエストに応じて1又は複数の目的地を含むスケジュールを前記ユーザに提案することであり、
前記複数のコンテンツデータの各々は、前記1又は複数の目的地の候補となる特定のスポットについてのデータであり、
前記第2処理において、前記1又は複数の抽出コンテンツデータを用いて前記特定のサービスを提供することは、前記1又は複数の抽出コンテンツデータと対応する1又は複数のスポットから前記1又は複数の目的地を選択することを含む
ことを特徴とするアシスタントシステム。
【請求項7】
コンピュータが実行する処理によりユーザのリクエストに応じて特定のサービスを提供するアシスタント方法であって、
前記コンピュータは、複数のコンテンツデータと前記特定のサービスに関する前記ユーザの嗜好を表す嗜好モデルとを格納する1又は複数の記憶装置を備え、
前記複数のコンテンツデータの各々は、前記特定のサービスに関する嗜好情報が紐づけられており、
前記アシスタント方法は、
前記複数のコンテンツデータから通知コンテンツデータを選択し、
前記通知コンテンツデータに対する前記ユーザの評価を取得し、
前記通知コンテンツデータに対する前記ユーザの評価と前記通知コンテンツデータに紐づけられた前記嗜好情報とに基づいて前記嗜好モデルを更新する
ことを含む第1処理と、
前記嗜好モデルに基づいて前記複数のコンテンツデータのうち前記ユーザの嗜好と一致度が高い1又は複数の抽出コンテンツデータを抽出し、
前記1又は複数の抽出コンテンツデータを用いて前記特定のサービスを提供する
ことを含む第2処理と、をそれぞれ前記コンピュータにより実行する
ことを特徴とするアシスタント方法。
【請求項8】
請求項7に記載のアシスタント方法であって、
前記特定のサービスは、前記ユーザのリクエストに応じて1又は複数の目的地を含むスケジュールを前記ユーザに提案することであり、
前記複数のコンテンツデータの各々は、前記1又は複数の目的地の候補となる特定のスポットについてのデータであり、
前記第2処理において、前記1又は複数の抽出コンテンツデータを用いて前記特定のサービスを提供することは、前記1又は複数の抽出コンテンツデータと対応する1又は複数のスポットから前記1又は複数の目的地を選択することを含む
ことを特徴とするアシスタント方法。
【請求項9】
ユーザのリクエストに応じて特定のサービスを提供する処理をコンピュータに実行させるアシスタントプログラムであって、
前記コンピュータは、複数のコンテンツデータと前記特定のサービスに関する前記ユーザの嗜好を表す嗜好モデルとを格納する1又は複数の記憶装置を備え、
前記複数のコンテンツデータの各々は、前記特定のサービスに関する嗜好情報が紐づけられており、
前記アシスタントプログラムは、
前記複数のコンテンツデータから通知コンテンツデータを選択し、
前記通知コンテンツデータに対する前記ユーザの評価を取得し、
前記通知コンテンツデータに対する前記ユーザの評価と前記通知コンテンツデータに紐づけられた前記嗜好情報とに基づいて前記嗜好モデルを更新する
ことを含む第1処理と、
前記嗜好モデルに基づいて前記複数のコンテンツデータのうち前記ユーザの嗜好と一致度が高い1又は複数の抽出コンテンツデータを抽出し、
前記1又は複数の抽出コンテンツデータを用いて前記特定のサービスを提供する
ことを含む第2処理と、をそれぞれ前記コンピュータに実行させるように構成されている
ことを特徴とするアシスタントプログラム。
【請求項10】
請求項9に記載のアシスタントプログラムであって、
前記特定のサービスは、前記ユーザのリクエストに応じて1又は複数の目的地を含むスケジュールを前記ユーザに提案することであり、
前記複数のコンテンツデータの各々は、前記1又は複数の目的地の候補となる特定のスポットについてのデータであり、
前記第2処理において、前記1又は複数の抽出コンテンツデータを用いて前記特定のサービスを提供することは、前記1又は複数の抽出コンテンツデータと対応する1又は複数のスポットから前記1又は複数の目的地を選択することを含む
ことを特徴とするアシスタントプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、ユーザからのリクエストに応じてユーザに特定のサービスを提供するアシスタント機能に係る技術に関する。
【背景技術】
【0002】
近年、ユーザの嗜好を分析し、ユーザの嗜好に応じた機能を提供する技術が考えられている。
【0003】
例えば特許文献1には、コンテンツの評価に係る情報とユーザの識別情報とを対応づけた嗜好判別情報を蓄積して記憶する記憶部と、コンテンツの特徴を表すデータをコンテンツの識別情報に対応づけたコンテンツ特徴情報を記憶する記憶部と、嗜好判別情報とコンテンツ特徴情報に基づいて各ユーザの嗜好情報を作成する処理部と、コンテンツ特徴情報に基づいて嗜好情報との特徴の類似度を評価することにより抽出した推薦コンテンツのリストを送信する処理部と、を備えたコンテンツ推薦システムが開示されている。
【0004】
その他、本技術分野の技術レベルを示す文献として以下の特許文献2乃至特許文献3がある。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】特開2011-253462号公報
【特許文献2】特開2010-237916号公報
【特許文献3】特開2015-201719号公報
【特許文献4】特開2019-215679号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
本開示に係る発明者は、コンテンツを用いたサービスを提供するアシスタント機能を考えている。このようなアシスタント機能において、ユーザの満足度を向上させるためには、サービスに対するユーザの嗜好をより的確に分析することが求められる。
【0007】
特許文献1には、ユーザの入力操作によって選択されたコンテンツの評価を取得することが開示されている。しかしながら、このように選択されたコンテンツは、ユーザの入力操作の傾向に影響されることとなる。このため偏って選択されたコンテンツの評価を取得し続けることにより、広範なコンテンツに対するユーザの嗜好を分析できない虞がある。また特許文献1に開示される技術によれば、コンテンツの特徴に対するユーザの嗜好を管理する。しかしながら、コンテンツを用いたサービスの提供を考える場合、コンテンツの特徴は、提供されるサービスに対するユーザの嗜好と関連しない場合が想定される。
【0008】
本開示の1つの目的は、上記の課題を鑑みてなされたものであり、ユーザのリクエストに応じてコンテンツを用いたサービスを提供するアシスタント機能に関して、ユーザの嗜好をより的確に分析することが可能な技術を提供することを目的とする。
【課題を解決するための手段】
【0009】
本開示の第1の観点は、ユーザのリクエストに応じて特定のサービスを提供するアシスタントシステムに関する。
【0010】
第1の観点に係るアシスタントシステムは、1又は複数の記憶装置と、1又は複数のプロセッサと、を備える。1又は複数の記憶装置は、特定のサービスに用いられる複数のコンテンツデータと、特定のサービスに関するユーザの嗜好を表す嗜好モデルと、を格納する。複数のコンテンツデータの各々は、特定のサービスに関する嗜好を表す嗜好情報が紐づけられている。1又は複数のプロセッサは、複数のコンテンツデータから通知コンテンツデータを選択し、通知コンテンツデータに対するユーザの評価を取得し、通知コンテンツデータに対するユーザの評価と通知コンテンツデータに紐づけられた嗜好情報とに基づいて嗜好モデルを更新することを含む第1処理と、嗜好モデルに基づいて複数のコンテンツデータのうちユーザの嗜好と一致度が高い1又は複数の抽出コンテンツデータを抽出し、1又は複数の抽出コンテンツデータを用いてユーザに特定のサービスを提供することを含む第2処理と、をそれぞれ実行するように構成されている。
【0011】
本開示の第2の観点は、コンピュータが実行する処理によりユーザのリクエストに応じて特定のサービスを提供するアシスタント方法に関する。ここでコンピュータは、特定のサービスに用いられる複数のコンテンツデータと、特定のサービスに関するユーザの嗜好を表す嗜好モデルと、を格納する1又は複数の記憶装置を備え、複数のコンテンツデータの各々は、特定のサービスに関する嗜好を表す嗜好情報が紐づけられている。
【0012】
第2の観点に係るアシスタント方法は、ユーザのリクエストに応じて、複数のコンテンツデータから通知コンテンツデータを選択し、通知コンテンツデータに対するユーザの評価を取得し、通知コンテンツデータに対するユーザの評価と通知コンテンツデータに紐づけられた嗜好情報とに基づいて嗜好モデルを更新することを含む第1処理と、嗜好モデルに基づいて複数のコンテンツデータのうちユーザの嗜好と一致度が高い1又は複数の抽出コンテンツデータを抽出し、1又は複数の抽出コンテンツデータを用いてユーザに特定のサービスを提供することを含む第2処理と、をそれぞれコンピュータにより実行することを含む。
【0013】
本開示の第3の観点は、ユーザのリクエストに応じて特定のサービスを提供する処理をコンピュータに実行させるアシスタントプログラムに関する。ここでコンピュータは、特定のサービスに用いられる複数のコンテンツデータと、特定のサービスに関するユーザの嗜好を表す嗜好モデルと、を格納する1又は複数の記憶装置を備え、複数のコンテンツデータの各々は、特定のサービスに関する嗜好を表す嗜好情報が紐づけられている。
【0014】
第3の観点に係るアシスタントプログラムは、ユーザのリクエストに応じて、複数のコンテンツデータから通知コンテンツデータを選択し、通知コンテンツデータに対するユーザの評価を取得し、通知コンテンツデータに対するユーザの評価と通知コンテンツデータに紐づけられた嗜好情報とに基づいて嗜好モデルを更新することを含む第1処理と、嗜好モデルに基づいて複数のコンテンツデータのうちユーザの嗜好と一致度が高い1又は複数の抽出コンテンツデータを抽出し、1又は複数の抽出コンテンツデータを用いてユーザに特定のサービスを提供することを含む第2処理と、をそれぞれコンピュータに実行させるように構成されている。
【発明の効果】
【0015】
本開示によれば、通知コンテンツデータに対するユーザの評価と通知コンテンツデータに紐づけられた嗜好情報とに基づいて嗜好モデルが学習される。ここで通知コンテンツデータは、複数のコンテンツデータから選択されたコンテンツデータである。これにより、ユーザの操作の傾向に影響されることなく、多様なコンテンツデータに対するユーザの評価を取得することができる。延いては、ユーザの嗜好を的確に分析することができる。
【0016】
またコンテンツデータに紐づけられた嗜好情報は、特定のサービスに関する嗜好を表すように与えられる。これにより、通知コンテンツデータに対するユーザの評価を取得することにより、特定のサービスに対するユーザの嗜好を学習することができる。
【図面の簡単な説明】
【0017】
【
図1】本実施形態に係るアシスタントシステムの構成の一例を示す図である。
【
図3】コンテンツデータに紐づけられる嗜好情報の一例を示す図である。
【
図5】第1処理によるユーザ端末の動作の一例を示す図である。
【
図6】第1処理において処理部が実行する処理の一例を示す図である。
【
図7】通知コンテンツデータを選択する処理において処理部が実行する処理の一例を示す図である。
【
図9】第2処理によるユーザ端末の動作の一例を示す図である。
【
図10】第2処理において処理部が実行する処理の一例を示す図である。
【
図11】抽出コンテンツデータを抽出する処理において処理部が実行する処理の一例を示す図である。
【
図13】第3処理によるユーザ端末の動作の一例を示す図である。
【
図14】第3処理において処理部が実行する処理の一例を示す図である。
【発明を実施するための形態】
【0018】
以下、図面を参照して、実施形態について説明する。
【0019】
1.アシスタントシステム
本実施形態に係るアシスタントシステムは、ユーザのリクエストに応じて1又は複数の目的地を含むスケジュールをユーザに提案するサービス(以下、単に「スケジューリングサービス」と呼ぶ。)を提供する。
【0020】
図1は、本実施形態に係るアシスタントシステム10の構成の一例を示す図である。アシスタントシステム10の機能は、処理部100が実行する処理により実現される。またアシスタントシステム10は、ユーザ1が操作するユーザ端末200により利用可能に構成されている。
【0021】
例えば、処理部100は、インターネットに接続されたサーバにより実現され、ユーザ端末200は、インターネットを介してサーバと通信することでアシスタントシステム10を利用する。あるいは処理部100は、ユーザ端末200の一部として実現されていても良い。ユーザ端末200は、例えば、スマートフォン、タブレットコンピュータ、パーソナルコンピュータ、等のユーザ1に対するHMI機能を備えた装置である。典型的には、ユーザ端末200は、所定のアプリケーション上においてアシスタントシステム10を利用することができるように構成される。ただし、ユーザ端末200は、アシスタントシステム10を利用するための専用端末であっても良い。
【0022】
ユーザ1は、ユーザ端末200を操作してアシスタントシステム10にリクエストを送信する。処理部100は、ユーザ端末200からリクエストを受信して、リクエストに応じた処理を実行する。そして、処理部100は、処理結果をユーザ端末200に送信し、ユーザ端末200は、処理結果をユーザ1に通知する。例えば、ユーザ端末200は、ディスプレイを備え、処理結果をディスプレイに表示する。このようにして、ユーザ1は、アシスタントシステム10の機能を利用する。
【0023】
アシスタントシステム10は、所定の記憶装置に格納されたコンテンツデータベースD100を含んでいる。処理部100は、コンテンツデータベースD100にアクセス可能に構成されている。例えば、コンテンツデータベースD100は、データベースサーバの記憶装置に格納され、処理部100は、インターネットを介してデータベースサーバにアクセスする。
【0024】
コンテンツデータベースD100は、複数のコンテンツデータD110を管理する。本実施形態において、複数のコンテンツデータD110の各々は、目的地の候補となる特定のスポットについてのデータである。特定のスポットは、観光地、景勝地、飲食店、ショップ、等の様々な種類のスポットを含んでいて良い。
【0025】
図2の(A)は、コンテンツデータD110の一例を示すブロック図である。コンテンツデータD110は、位置情報D111と、属性情報D112と、解説情報D113と、を含んでいる。
【0026】
位置情報D111は、特定のスポットの地図上の位置を示す情報である。例えば、位置情報D111は、緯度と経度により特定のスポットの地図上の位置を特定する。属性情報D112は、特定のスポットの属性を示す情報である。
図2の(B)に、各コンテンツデータD110の属性情報D112の一例を示す。
図2の(B)では、各コンテンツデータD110の「名称」、「分類」、「地域」、「費用」、及び「所要時間」が属性情報D112として示されている。属性情報D112が管理する属性は、本実施形態を適用する環境に応じて好適に定められて良い。解説情報D113は、特定のスポットを説明する情報である。
図2の(C)に、解説情報D113の一例を示す。
図2の(C)では、特定のスポットを映す画像データD10と特定のスポットについての記事データD20が解説情報D113として示されている。画像データD10や記事データD20は、好適なデータ形式で管理されていて良い。
【0027】
本実施形態においてコンテンツデータベースD100は、さらに複数のコンテンツデータD110の各々をスケジューリングサービスに関する嗜好を表す嗜好情報と紐づけて管理するように構成されている。嗜好情報は、例えば、スケジューリングサービスに関する嗜好を表す複数のラベルで構成することができる。
【0028】
図3の(A)及び(B)は、複数のコンテンツデータD110の各々と嗜好情報D120の紐づけの一例を示す概念図である。
図3の(A)は、複数のコンテンツデータD110の各々と嗜好情報D120の紐づけをテーブルで管理する場合の例を示す。この例では、あらかじめ定められたラベルごとに複数のコンテンツデータD110の各々との紐づけを与えることができる。
図3の(B)は、コンテンツデータD110ごとに嗜好情報D120の紐づけを管理する場合の例である。この例では、コンテンツデータD110ごとにラベル付けを与えることができる。この場合、各コンテンツデータD110に紐づけられたラベルは、固有のものであっても良い。
【0029】
再度
図1を参照する。本実施形態に係る処理部100は、1又は複数のプロセッサ110(以下、単に「プロセッサ110」と呼ぶ。)と、1又は複数の記憶装置120(以下、単に「記憶装置120」と呼ぶ。)と、通信インターフェース130とを含んでいる。
【0030】
プロセッサ110は、各種処理を実行する。プロセッサ110は、例えば、演算装置やレジスタ等を含むCPU(Central Processing Unit)で構成することができる。記憶装置120は、プロセッサ110と接続し、プロセッサ110の処理の実行に必要な各種情報を格納する。記憶装置120は、例えば、ROM(Read Only Memory)、RAM(Random Access Memory)、HDD(Hard Disk Drive)、SSD(Solid State Drive)、等の記録媒体で構成することができる。通信インターフェース130は、プロセッサ110及び記憶装置120と接続し、処理部100の外部の装置と通信して情報を送受信するために設けられる。通信インターフェース130は、例えば、インターネットに接続して通信する装置である。処理部100は、通信インターフェース130を介して、ユーザ端末200と通信し、またコンテンツデータベースD100にアクセスする。
【0031】
記憶装置120には、コンピュータプログラム121と、ユーザデータベース122と、が格納される。
【0032】
コンピュータプログラム121は、コンピュータ読み取り可能な記録媒体に格納される。コンピュータプログラム121は、プロセッサ110に処理を実行させるための複数のインストラクションにより構成される。プロセッサ110が複数のインストラクションに従って動作することにより、プロセッサ110による各種処理の実行が実現される。
【0033】
ユーザデータベース122は、アシスタントシステム10を利用する各ユーザの情報をユーザごとに管理する。例えば、ユーザデータベース122は、各ユーザの情報をユーザごとに与えられた識別情報と紐づけて管理するように構成される。この場合、プロセッサ110は、対象のユーザ1の識別情報を用いてユーザデータベース122を参照することで、対象のユーザ1の情報を取得することができる。
【0034】
本実施形態においてユーザデータベース122が管理する各ユーザの情報は、少なくともスケジューリングサービスに関する各ユーザの嗜好を表す嗜好モデル123を含んでいる。嗜好モデル123は、複数のコンテンツデータD110に紐づけられた嗜好情報D120によって特徴づけられるように構成される。
【0035】
例えば、
図3に示されるように嗜好情報D120が嗜好を表す複数のラベルで構成されている場合、嗜好モデル123は、各ラベルに対する嗜好の度合いを表すように構成することができる。この場合に各ラベルに対する嗜好の度合いは、例えば、「嫌い」の度合いを負の値、「好き」の度合いを正の値として-100から+100の範囲で数値化したものである。あるいは、さらに各ラベルが所定の空間上の特徴ベクトルで表される場合、嗜好モデルは、当該空間上の各位置に嗜好の度合いを対応させた嗜好の度合いの分布を表すように構成することができる。
【0036】
2.処理
本実施形態に係るアシスタントシステム10は、処理部100が実行する処理により、ユーザ1が利用可能ないくつかの機能が実現される。以下、アシスタントシステム10が実現する機能ごとに、処理部100が実行する処理について説明する。
【0037】
1-1.第1処理
処理部100が実行する処理の1つは、アシスタントシステム10が提供するサービス(スケジューリングサービス)に関するユーザ1の嗜好を学習する機能を実現する処理(以下、「第1処理」と呼ぶ。)である。第1処理において、処理部100は、ユーザ1の嗜好モデルを更新することによりユーザ1の嗜好を学習する。
【0038】
図4は、第1処理の構成の一例を示す図である。第1処理は、コンテンツデータ選択処理部P100と、ユーザ評価取得処理部P110と、嗜好モデル更新処理部P120と、で構成される。これらは、例えば、コンピュータプログラム121の一部のインストラクションに従って動作するプロセッサ110により実現される。
【0039】
コンテンツデータ選択処理部P100は、コンテンツデータベースD100にアクセスして、複数のコンテンツデータD110からユーザ1に通知するコンテンツデータ(以下、「通知コンテンツデータ」と呼ぶ。)を選択する。選択された通知コンテンツデータは、紐づけられた嗜好情報D120とともに、ユーザ評価取得処理部P110及び嗜好モデル更新処理部P120に伝達される。
【0040】
ユーザ評価取得処理部P110は、コンテンツデータ選択処理部P100において選択された通知コンテンツデータをユーザ1に通知して、通知コンテンツデータに対するユーザ1の評価を取得する。例えば、ユーザ評価取得処理部P110は、通知コンテンツデータをユーザ端末200に送信して、通知コンテンツデータの情報をユーザ端末200に表示させる。この場合に表示させる情報は、例えば、通知コンテンツデータの位置情報D111、属性情報D112、及び解説情報D113を統合した情報である。
【0041】
また通知コンテンツデータに対するユーザ1の評価は、例えば、通知コンテンツデータに対して肯定的であるか否定的であるかの評価である。ただし、ユーザ1の評価は、他のパターンを含んでいても良い。例えば、ユーザ1の評価は、「どちらでもない」、「お気に入りに保存する」、「あとで確認する」、等を含んでいても良い。
【0042】
ユーザ1は、ユーザ端末200を操作して通知コンテンツデータに対する評価を入力する。ユーザ評価取得処理部P110は、ユーザ端末200と通信することで、入力されたユーザ1の評価を受信する。
【0043】
図5は、ユーザ評価取得処理部P110によるユーザ端末200の動作の例を示す概念図である。
図5では、ユーザ端末200が通知コンテンツデータの情報201をディスプレイに表示する例と、ユーザ端末200が通知コンテンツデータに対して肯定的(GOOD)であるか否定的(BAD)であるかの評価を受け付ける例と、が示されている。ユーザ1は、ディスプレイの表示を確認することで通知された通知コンテンツデータの内容を把握することができる。
【0044】
ユーザ1の評価を受け付ける形式は、本実施形態を適用する環境に応じて好適に定められて良い。ただし、ユーザ1の評価を受け付ける形式は、シンプルで簡単な形式であることが望ましい。例えば、フリック入力を受け付け、左へのフリック入力を肯定的である評価、右へのフリック入力を否定的である評価、上へのフリック入力をその他の評価(例えば、「お気に入りに保存する」)、に対応させる形式が挙げられる。また例えば、それぞれが各評価に対応した複数のボタンをディスプレイに表示させ、ボタンの押下を受け付ける形式が挙げられる。このようにシンプルで簡単な形式を適用することで、ユーザ1は、ストレス無く通知コンテンツデータに対する評価を入力し、嗜好モデル123の学習を進めることができる。
【0045】
再度
図4を参照する。嗜好モデル更新処理部P120は、ユーザ評価取得処理部P110において取得されたユーザ1の評価と通知コンテンツデータに紐づけられた嗜好情報D120とに基づいてユーザ1の嗜好モデル123を更新する。
【0046】
例えばいま
図3の(A)に示すように複数のコンテンツデータD110の各々に嗜好情報D120が紐づけられており、コンテンツデータ#2が通知コンテンツデータであるとする。またユーザ1は、通知コンテンツデータに対して肯定的な評価を入力したとする。このとき嗜好モデル更新処理部P120は、コンテンツデータ#2に紐づけられた「自然的」と「写真映え」のラベルに対してユーザ1が肯定的な評価を示したと判断して、ユーザ1の嗜好モデル123を更新する。
【0047】
より具体的には、例えば嗜好モデル123が各ラベルに対する嗜好の度合いを表すように構成されている場合、嗜好モデル更新処理部P120は、「自然的」及び「写真映え」のラベルに対するユーザ1の「好き」の度合いを増加させる。また例えば嗜好モデル123が嗜好の度合いの分布を表すように構成されている場合、嗜好モデル更新処理部P120は、「自然的」及び「写真映え」の特徴ベクトルの位置の「好き」の度合いを増加させる。あるいは嗜好モデルの更新は、各ラベルの特徴ベクトルを入力とする機械学習モデルにより生成されるように構成されていても良い。
【0048】
以上説明したように第1処理が構成される。
図6は、第1処理において処理部100が実行する処理の一例を示すフローチャートである。
図6に示すフローチャートは、ユーザ1から第1処理の実行のリクエストを受けたときに開始する。
【0049】
ステップS100で、処理部100は、コンテンツデータベースD100にアクセスして通知コンテンツデータを選択する。次にステップS110で、処理部100は、通知コンテンツデータをユーザ1に通知する。
【0050】
次にステップS120で、処理部100は、通知コンテンツデータに対するユーザ1の評価を取得する。
【0051】
次にステップS130で、処理部100は、取得したユーザ1の評価と通知コンテンツデータに紐づけられた嗜好情報D120とに基づいてユーザ1の嗜好モデル123を更新する。ステップS130の後、第1処理は終了する。
【0052】
なお処理部100はユーザ1のリクエストに応じて第1処理を繰り返し実行するように構成されていても良い。この場合、ユーザ1は、アシスタントシステム10から次々と通知される通知コンテンツデータに対して評価を入力することとなる。そして、処理部100は、ユーザ端末200からユーザ1の評価を受信する都度、ユーザ1の嗜好モデル123を更新する。このように第1処理を繰り返し実行することで、ユーザ1の嗜好の学習が進められる。
【0053】
以上説明したように第1処理によれば、通知コンテンツデータに対するユーザ1の評価と、通知コンテンツデータに紐づけられた嗜好情報D120と、に基づいてユーザ1の嗜好を学習する。ここで通知コンテンツデータは、複数のコンテンツデータD110から処理部100によって選択される。これにより、ユーザ1の操作の傾向に影響されることなく、多様なコンテンツデータD110に対するユーザ1の評価を取得することができる。延いては、第1処理が繰り返し実行されることで、ユーザ1の嗜好を的確に分析することができる。
【0054】
また第1処理によれば、通知コンテンツデータに対するユーザ1の評価を、通知コンテンツデータに紐づけられた嗜好情報D120に対する評価であるとしてユーザ1の嗜好を学習することができる。嗜好情報D120はアシスタントシステム10が提供するサービスに関する嗜好を表すため、これにより、アシスタントシステム10が提供するサービスに対するユーザ1の嗜好を的確に学習することができる。
【0055】
本実施形態では、さらにユーザ1の嗜好を的確に分析する為に、コンテンツデータ選択処理部P100は以下の構成を適用することができる。
【0056】
コンテンツデータ選択処理部P100は、複数のコンテンツデータD110からランダムに通知コンテンツデータを選択する通常選択、又は複数のコンテンツデータD110のうちユーザ1の嗜好と一致度が低いコンテンツデータD110から通知コンテンツデータを選択する例外選択を行うように構成されていて良い。さらにコンテンツデータ選択処理部P100は、ユーザ1の嗜好の偏り度合いが大きいほど例外選択を行う頻度を高くするように構成されていて良い。
【0057】
嗜好の偏り度合いは、嗜好モデル123から取得することができる。例えば、嗜好モデル123が各ラベルに対する嗜好の度合いを表す場合、嗜好の偏り度合いは、ラベル間の嗜好の度合いの偏りである。また例えば、嗜好モデル123が嗜好の度合いの分布を表す場合、嗜好の偏り度合いは、分布の分散の程度である。
【0058】
一致度は、嗜好の度合いが所定値以上のラベルを指標とすることができる。この場合、一致度が低いコンテンツデータD110は、例えば、嗜好の度合いが所定値以上のラベルが紐づけられていないコンテンツデータD110である。
【0059】
例外選択を行うことで、ユーザ1の嗜好が分析できていない分野のコンテンツデータD110を通知コンテンツデータとして選択することができる。このように選択された通知コンテンツデータに対するユーザ1の評価に基づいてユーザ1の嗜好を学習することで、ユーザ1の嗜好が偏って学習されることを抑制することができる。延いては、ユーザ1の嗜好をより的確に分析することができる。
【0060】
またユーザ1の嗜好の偏り度合いが大きいほど例外選択を行う頻度を高くすることで、ユーザ1の嗜好の学習が十分に進んでいないときに例外選択が行われてユーザ1の嗜好の学習効率が低下することを抑制することができる。
【0061】
図7は、コンテンツデータ選択処理部P100が上記の構成を適用する場合に、通知コンテンツデータを選択する処理(
図6のステップS100)において処理部100が実行する処理の一例を示すフローチャートである。
【0062】
ステップS101で、処理部100は、ユーザ1の嗜好モデル123に基づいてユーザ1の嗜好の偏り度合いを取得する。
【0063】
次にステップS102で、処理部100は、例外選択を行うか否かを判断する。ここで、処理部100は、ステップS101において取得した偏り度合いに応じた確率で例外選択を行うか否かを判断するように構成されていて良い。特に例外選択を行う確率は、偏り度合いが大きいほど高くなるように与えられて良い。これにより、嗜好の偏り度合いが大きいほど例外選択を行う頻度を高くすることができる。
【0064】
例外選択を行わないと判断する場合(ステップS102;No)、処理部100は、通常選択を行う(ステップS103)。一方で例外選択を行うと判断する場合(ステップS102;Yes)、処理部100は、例外選択を行う(ステップS104)。
【0065】
2-2.第2処理
処理部100が実行する処理の他の1つは、ユーザ1にスケジューリングサービスを提供する機能を実現する処理(以下、「第2処理」と呼ぶ。)である。
【0066】
スケジューリングサービスによって提案されるスケジュールは、例えば、出発場所から到着場所までの間で1又は複数の目的地を辿る旅行のスケジュールである。ただし、提案されるスケジュールは、本実施形態を適用する環境やユーザ1のリクエストの内容に応じて様々な形式を採用することが可能である。例えば、提案されるスケジュールとして、特定のエリア内で1又は複数の目的地を巡る観光のスケジュール、現在地の近くで行くことができる飲食店やショップを目的地として含む食事や買い物のスケジュール、等が挙げられる。
【0067】
スケジューリングサービスに関するユーザ1のリクエストは、例えば、出発場所、出発日時、到着場所、到着日時、エリア、予算、所要時間、等を指定する情報である。また例えば、ユーザ1のリクエストは、「**に旅行に行きたい」、「近場で遊びたい」、「おいしいものを食べに行きたい」、「暇をつぶすために外出したい」、等のより抽象的なリクエスト(例えば、音声入力や文字入力によるリクエスト)であっても良い。この場合、処理部100は、自然言語処理等によりユーザ1のリクエストを具体的に認識するように構成されていて良い。
【0068】
図8は、第2処理の構成の一例を示す図である。第2処理は、コンテンツデータ抽出処理部P200と、サービス提供処理部P210と、で構成される。これらは、例えば、コンピュータプログラム121の一部のインストラクションに従って動作するプロセッサ110により実現される。
【0069】
コンテンツデータ抽出処理部P200は、ユーザ1の嗜好モデル123を取得し、取得した嗜好モデル123に基づいて複数のコンテンツデータD110からユーザ1の嗜好と一致度が高い1又は複数のコンテンツデータ(以下、「抽出コンテンツデータ」と呼ぶ。)を抽出する。ここで取得されるユーザ1の嗜好モデル123は、第1処理の実行により一定程度の学習が行われていることが望ましい。
【0070】
例えば、コンテンツデータ抽出処理部P200は、嗜好の度合いが所定値以上のラベルが多く紐づけられたコンテンツデータD110を抽出コンテンツデータとする。
【0071】
サービス提供処理部P210は、コンテンツデータ抽出処理部P200において抽出された抽出コンテンツデータを用いてスケジューリングサービスを提供する。より具体的には、サービス提供処理部P210は、抽出コンテンツデータと対応するスポットから目的地を選択してスケジュールを生成し、生成したスケジュールをユーザ1に通知する。例えば、サービス提供処理部P210は、生成したスケジュールをユーザ端末200に送信して、生成したスケジュールの情報をユーザ端末200に表示させる。
【0072】
ここで目的地の選択は、ユーザ1のリクエストを満足するように行われる。例えば、生成するスケジュールが出発場所から到着場所までの間で1又は複数の目的地を辿るスケジュールであって、ユーザ1のリクエストが出発場所、出発日時、到着場所、及び到着日時を指定する場合、サービス提供処理部P210は、抽出コンテンツデータと対応するスポットのうち出発場所から到着場所までの間で経由可能なスポットであって出発日時及び到着日時を満足するスポットを目的地として選択する。
【0073】
抽出コンテンツデータは嗜好モデルが表すユーザ1の嗜好と一致度が高いコンテンツデータD110であるため、このように生成されたスケジュールはユーザ1の嗜好とマッチしていることが期待できる。
【0074】
図9は、第2処理の実行によるユーザ端末200の動作の例を示す概念図である。
図9では、ユーザ端末200がユーザ1のリクエストを受け付ける例とユーザ端末200が生成されたスケジュールをユーザ1に通知する例とが示されている。特に
図9は、出発場所から到着場所まで1又は複数の目的地を辿るスケジュールを提案する場合の例である。
【0075】
ユーザ1のリクエストを受け付ける例では、ユーザ端末200が出発場所、出発日時、到着場所、及び到着日時をリクエストとして受け付ける例が示されている。この例では、ユーザ1は、出発場所、出発日時、到着場所、及び到着日時を入力して「作成」ボタンを押下することでリクエストを行う。
【0076】
スケジュールをユーザ1に通知する例では、ユーザ端末200がスケジュールの情報をディスプレイに表示する例が示されている。この例では、3つの目的地を辿るスケジュールが生成されている。ユーザ1は、ディスプレイの表示を確認することで生成されたスケジュールの内容を把握することができる。特にユーザ端末200は、3つの目的地の各々のスポット情報202を表示している。スポット情報202は、例えば、スポットの名称、スポットの説明、所要時間、等の情報である。スポット情報202は、コンテンツデータD110の属性情報D112や解説情報D113から生成することができる。ユーザ1は、スポット情報202を確認することで目的地の内容を把握することができる。
【0077】
以上説明したように第2処理が構成される。
図10は、第2処理において処理部100が実行する処理の一例を示すフローチャートである。
図10に示すフローチャートは、ユーザ1から第2処理の実行のリクエストを受けたときに開始する。
【0078】
ステップS200で、処理部100は、ユーザデータベース122を参照して、ユーザ1の嗜好モデル123を取得する。
【0079】
次にステップS210で、処理部100は、ステップS200において取得した嗜好モデル123に基づいて複数のコンテンツデータD110からユーザ1の嗜好と一致度が高い抽出コンテンツデータを抽出する。
【0080】
次にステップS220で、処理部100は、抽出コンテンツデータと対応するスポットからユーザ1のリクエストを満足する目的地を選択してスケジュールを生成する。
【0081】
次にステップS230で、処理部100は、ステップS220において生成したスケジュールをユーザ1に通知する。ステップS230の後、第2処理は終了する。
【0082】
本実施形態において、サービス提供処理部P210は、さらにスケジュールに含まれる各目的地の変更を受け付けるように構成されていても良い。各目的地を変更する操作は、好適な形式を適用して良い。例えば
図9に示すようにユーザ端末200がスケジュールを表示する場合、ユーザ1は、変更したい目的地のスポット情報202をフリック操作することで目的地を変更する。
【0083】
ユーザ1が目的地を変更する操作を行ったとき、サービス提供処理部P210は、抽出コンテンツデータから別の目的地を選択し、変更を受け付けた目的地を別の目的地に置き換えたスケジュールをユーザ1に通知する。
【0084】
またサービス提供処理部P210は、通知したスケジュールをユーザ1が承認したことを受けて、さらに通知したスケジュールに基づくナビゲーションサービスを提供するように構成されていても良い。例えばサービス提供処理部P210は、ユーザ端末200を介してスケジュールに含まれる目的地を辿るルートをナビゲーションする機能を提供する。なおナビゲーションの方法は、好適な公知の技術を適用して良い。
【0085】
第2処理において、サービスが提供されるユーザ1は、複数のユーザを含むユーザグループである場合が想定される。例えば、複数の同行者を含むユーザグループに1又は複数の目的地を辿る旅行のスケジュールの提案を行う場合等である。
【0086】
そこでユーザ1が複数のユーザを含むユーザグループであるとき、コンテンツデータ抽出処理部P200は、ユーザグループの嗜好モデルを算出するように構成されていても良い。そしてコンテンツデータ抽出処理部P200は、複数のコンテンツデータD110のうちユーザグループの嗜好と一致度が高いコンテンツデータを抽出コンテンツデータとして抽出するように構成されていて良い。
【0087】
ユーザグループの嗜好モデルは、ユーザグループに含まれる各ユーザの優先度と各ユーザの嗜好モデル123とに基づいて算出することができる。例えば、ユーザグループの嗜好モデルは、各ユーザの優先度を重みとした各ユーザの嗜好モデルの加重平均により算出することができる。
【0088】
各ユーザの優先度は、各ユーザによって設定することができるように構成されていて良い。例えば、各ユーザは、ユーザ端末200を操作することで優先度を入力する。このとき各ユーザのリクエストは、ユーザ1のリクエストに含まれていても良い。そして処理部100は、ユーザ端末200から各ユーザの優先度を取得する。
【0089】
このようにコンテンツデータ抽出処理部P200を構成することで、ユーザグループの嗜好を的確に反映したサービスを提供することができる。
【0090】
図11は、コンテンツデータ抽出処理部P200が上記の構成を適用する場合に、抽出コンテンツデータを抽出する処理(
図10のステップS210)において処理部100が実行する処理の一例を示すフローチャートである。
【0091】
ステップS211で、処理部100は、ユーザグループに含まれる各ユーザの優先度を取得する。
【0092】
次にステップS212で、処理部100は、ステップS211において取得した各ユーザの優先度と
図10のステップS200において取得した各ユーザの嗜好モデル123とに基づいて、ユーザグループの嗜好モデルを算出する。
【0093】
次にステップS213で、処理部100は、ステップS212において算出したユーザグループの嗜好モデルに基づいて、複数のコンテンツデータD110のうちユーザグループの嗜好と一致度が高いコンテンツデータを抽出コンテンツデータとして抽出する。
【0094】
第2処理において、処理部100は、提供されたスケジューリングサービスに対するユーザ1の評価を受け付ける処理をさらに実行するように構成されていても良い。そして、処理部100は、スケジューリングサービスに対するユーザ1の評価と抽出コンテンツデータに紐づけられた嗜好情報D120とに基づいてユーザ1の嗜好モデル123を更新するように構成されていて良い。
【0095】
例えば、処理部100は、通知したスケジュールについてユーザ1の評価(例えば、肯定的であるか否定的であるかの評価)を取得する。このとき、処理部100は、通知したスケジュールに含まれるスポットと対応するコンテンツデータD110に紐づけられた嗜好情報D120に基づいて、ユーザ1の嗜好モデル123を更新する。
【0096】
このようにユーザ1の嗜好モデルを更新することで、提供されたスケジューリングサービスの結果に対するユーザ1の評価を嗜好モデルに反映することができる。延いては、ユーザ1の嗜好をより的確に分析することができる。
【0097】
2-3.第3処理
処理部100が実行する処理の他の1つは、嗜好モデル123の習熟レベルをユーザ1に通知する機能を実現する処理(以下、「第3処理」と呼ぶ。)である。
【0098】
図12は、第3処理の構成の一例を示す図である。第3処理は、習熟レベル評価処理部P300と、習熟レベル通知処理部P310と、で構成される。これらは、例えば、コンピュータプログラム121の一部のインストラクションに従って動作するプロセッサ110により実現される。
【0099】
習熟レベル評価処理部P300は、ユーザデータベース122を参照してユーザ1の嗜好モデル123を取得し、取得した嗜好モデル123の習熟レベルを評価する。
【0100】
習熟レベルは、例えば、嗜好モデル123がユーザ1の嗜好をどの程度まで的確に分析することができているかを0-100%の数値で表すように与えられる。この場合習熟レベルが100%に近づくほど、嗜好モデル123がユーザ1の嗜好を的確に分析していることを表す。
【0101】
習熟レベルの評価は、種々の情報を指標として行うことができる。指標の1つは、第1処理の実行による嗜好モデル123の更新が行われた回数である。この場合、第1処理の実行による嗜好モデル123の更新が行われた回数が多いほど習熟レベルは高くなると考えられる。他の指標の1つは、第1処理の実行による嗜好モデル123の更新が最後に行われた時点からの経過時間である。この場合、経過時間が長くなるほど習熟レベルは下がると考えられる。他の指標の1つは、第1処理の実行による嗜好モデル123の更新が習慣的に行われているか(例えば、平日の朝の通勤時間帯にいつも第1処理が実行されている等)否かである。この場合、嗜好モデル123の更新が習慣的であるほど習熟レベルが高くなると考えられる。他の指標の1つは、嗜好モデル123が機械学習モデルにより生成される場合に、嗜好モデル123に対する確信度を指標とすることである。この場合、嗜好モデル123に対する確信度が高いほど習熟レベルは高くなると考えられる。
【0102】
なおこれらの指標を組み合わせて習熟レベルを評価しても良い。また習熟レベルは、複数の観点で評価しても良い。例えば、目的地のタイプ(観光、食事、ショッピング、等)ごとに習熟レベルを評価しても良い。またこれら指標となる情報は、ユーザごとにユーザデータベース122で管理されていて良い。
【0103】
習熟レベル通知処理部P310は、習熟レベル評価処理部P300において評価された習熟レベルをユーザ1に通知する。例えば、習熟レベル通知処理部P310は、評価された習熟レベルをユーザ端末200に送信して、習熟レベルの情報をユーザ端末200に表示させる。
【0104】
図13は、習熟レベル通知処理部P310による通知の例を示す概念図である。
図13では、ユーザ端末200が習熟レベルの数値情報203とグラフ情報204を表示する例が示されている。ここでグラフ情報204は、複数の観点での習熟レベルの評価を視覚的に表示している。グラフ情報204によれば、「ランチ」と「エンターテイメント」に係る習熟レベルは高いが「ショッピング」に係る習熟レベルは低いことがわかる。
【0105】
以上説明したように第3処理が構成される。
図14は、第3処理において処理部100が実行する処理の一例を示すフローチャートである。
図14に示すフローチャートは、ユーザ1から第3処理の実行のリクエストを受けたときに開始する。
【0106】
ステップS300で、処理部100は、ユーザデータベース122を参照してユーザ1の嗜好モデル123を取得する。
【0107】
次にステップS310で、処理部100は、ステップS300において取得した嗜好モデル123の習熟レベルを評価する。
【0108】
次にステップS320で、処理部100は、ステップS310において評価した習熟レベルをユーザ1に通知する。ステップS320の後、第3処理は終了する。
【0109】
第3処理の実行により習熟レベルがユーザ1に通知されることで、ユーザ1は、アシスタントシステム10が自身の嗜好をどの程度まで分析できているのかを確認することができる。さらには、習熟レベルに応じて第1処理の実行による嗜好モデル123の学習を行うことをユーザ1に促すことができる。例えば、ユーザ1は、習熟レベルが低いことを確認したときは、第1処理を実行して習熟レベルを上げようとすることが想定される。これにより、ユーザ1の嗜好の学習をより進めることができる。延いては、ユーザ1の嗜好をより的確に分析することができる。
【0110】
以上説明したように、処理部100が実行する処理によりアシスタントシステム10の種々の機能が実現される。またこのように処理部100が処理を実行することにより、本実施形態に係るアシスタント方法が実現される。さらにこのように処理部100に処理を実行させるコンピュータプログラム121が構成されることにより、本実施形態に係るアシスタントプログラムが実現される。
【0111】
3.他の実施形態
本実施形態に係るアシスタントシステム10は、上述した構成や処理により実現可能な他のサービスを提供するアシスタントシステムに同様に適用することが可能である。
【0112】
例えば、他のサービスとして、一日の食事のメニューを提案するサービスが挙げられる。この場合、コンテンツデータベースD100が管理する複数のコンテンツデータD110の各々は、例えば、メニューの候補となる料理についてのデータである。また嗜好情報D120は、例えば、料理の種類(魚料理、肉料理、等)や味の傾向(甘い、辛い、等)を示すラベルで構成される。
【0113】
他にもトレーニングメニューを提案するサービスやライフスタイルを提案するサービス等の種々のサービスを提供するアシスタントシステムに適用することが考えられる。
【符号の説明】
【0114】
1 ユーザ
10 アシスタントシステム
100 処理部
110 プロセッサ
120 記憶装置
121 コンピュータプログラム
123 嗜好モデル
200 ユーザ端末
D100 コンテンツデータベース
D110 コンテンツデータ
D120 嗜好情報