最初に、本開示の例示的な実施形態の構成を列記して説明する。本開示の実施形態による、タッチパネルを備えるコンピュータに実行させるコンピュータ実装方法は、以下のような構成を備えてもよい。
〔形態1〕形態1によれば、トークルームを介したメッセージングのための方法が提供される。かかる方法は、第1ユーザを補助するためにコンピュータによって実装された仮想ユーザによる、トークルームにおけるメッセージングの履歴および第2ユーザの健康情報に基づいて、第1ユーザまたは第2ユーザ向けのメッセージを動的に生成するステップと、メッセージを、第1ユーザに関連付けてトークルームに供給するステップと、メッセージの供給に応じて、履歴を更新するステップと、トークルームに関連付けられる、第1ユーザに提示される第1画面および第2ユーザに提示される第2画面を生成するステップと、を含み、第1画面および第2画面のそれぞれにおいて、上記履歴が、メッセージングを行った第1ユーザおよび仮想ユーザによる第1組と第2ユーザによる第2組とに分類されて経時的に配置される。かかる構成により、第1ユーザを後方支援するように振る舞う、様々な機能を有する仮想ユーザを実装することができ、トークルーム内のメッセージングを促進することができる。仮想ユーザは、メッセージングの進行に応じて自律的に次の動作を判断することができる。また、仮想ユーザが第1ユーザを後方支援するユーザであることを、画面表示上、明確にすることができる。これにより、特に、指導者が生徒に対してアドバイスを行うような場面おいて両者間のコミュニケーションを効率的、且つ活発なものにすることができる。
〔形態2〕形態2によれば、形態1の方法において、メッセージを第2ユーザに提示するかについての第1指標が、メッセージに関連付けられ、第1画面および第2画面において、第1指標がメッセージを第2ユーザに提示することを示す場合に、メッセージが第1ユーザによるメッセージングとして配置される。かかる構成により、メッセージの第2ユーザへの提示を制御することができ、より柔軟なメッセージングを可能にする。
〔形態3〕形態3によれば、形態2の方法において、第2画面において、第1指標がメッセージを第2ユーザに提示しないことを示す場合に、メッセージは配置されない。かかる構成により、仮想ユーザと第1ユーザの間の内部的な対話を実現することができる。
〔形態4〕形態4によれば、形態2または3の方法において、第1指標がメッセージを第2ユーザに提示すべきではないことを示す場合に、メッセージを供給するステップが、メッセージを、第2画面に表示することの承認を含む選択肢と共に第1画面に配置するステップと、第1画面において、選択肢に対する第1ユーザによる入力を受けるステップと、入力が承認を示す場合に、第1指標がメッセージを第2ユーザに提示すべきことを示すように第1指標を更新するステップと、を含み、第2画面においてメッセージが配置される。かかる構成により、第1ユーザによる承認を得たメッセージのみを第2ユーザの第2画面に表示するよう制御することができる。
〔形態5〕形態5によれば、形態5の方法において、第1画面に表示されたメッセージが第1ユーザによって編集可能である。かかる構成により、第2ユーザ向けのメッセージをより適切なものに修正することができる。
〔形態6〕形態6によれば、形態1から5の何れか1つの方法において、第1画面および第2画面において、メッセージが仮想ユーザによって供給されたことを示す第2指標が表示される。かかる構成により、第2ユーザに対する仮想ユーザと第1ユーザのメッセージを画面表示上、区別することができる。
〔形態7〕形態7によれば、メッセージのフォーマットが、テキストおよび画像を含む。
〔形態8〕形態8によれば、トークルームを介した第1ユーザおよび第2ユーザ間のメッセージングにおける第1ユーザを補助するため方法が提供される。かかる方法は、コンピュータによる、トークルームにおけるメッセージングの履歴および第2ユーザの健康情報に基づいて、第2ユーザ向けのメッセージを動的に生成するステップと、メッセージを、第1ユーザに関連付けてトークルームに供給することにより、第1ユーザを代行するステップと、メッセージの供給に応じて、履歴を更新するステップと、トークルームに関連付けられる、第1ユーザに提示される第1画面および第2ユーザに提示される第2画面を生成するステップと、を含み、第1画面および第2画面のそれぞれにおいて、上記履歴が、メッセージングを行った第1ユーザおよびコンピュータによる第1組と第2ユーザによる第2組とに分類されて経時的に配置される。仮想ユーザは、メッセージングの進行に応じて自律的に次の動作を判断することができる。また、仮想ユーザが第1ユーザを後方支援するユーザであることを、画面表示上、明確にすることができるこれにより、特に、仮想ユーザが、第1ユーザを代行して、第2ユーザへのメッセージングを行うことにより、トークルーム内のメッセージングを促進することができる。指導者が生徒に対してアドバイスを行うような場面において両者間のコミュニケーションを効率的、且つ活発なものとすることができる。
〔形態9〕形態9によれば、形態8の方法において、第1ユーザを代行するステップが、メッセージを、第2画面に表示することの承認を含む選択肢と共に第1画面に配置するステップと、第1画面において、選択肢に対する第1ユーザによる入力を受けるステップと、を含み、入力が承認を示す場合に、第2画面においてメッセージが配置される。かかる構成により、第1ユーザによる承認を得たメッセージのみを第2ユーザの第2画面に表示するよう制御することができる。
〔形態10〕形態10によれば、形態9の方法において、第1画面に表示されたメッセージが第1ユーザによって編集可能である。かかる構成により、第2ユーザ向けのメッセージをより適切なものに修正することができる。
〔形態11〕形態12によれば、形態1から10の何れか1つの方法をコンピュータに実行させるプログラムが提供される。
〔形態12〕形態12によれば、トークルームを介したメッセージングのための情報処理装置が提供される。かかる情報処理装置は、サービスを提供する第1ユーザと、サービスを提供される第2ユーザとの関係を管理し、トークルームにおける第1ユーザおよび第2ユーザ間のメッセージングの履歴を管理する管理部と、第1ユーザの補助を行う仮想ユーザを実装する仮想ユーザ部であって、履歴を分析する分析部と、該分析および第2ユーザの健康情報に応じて、メッセージを動的に生成するメッセージ生成部と、メッセージを第1ユーザに関連付けてトークルームに供給する供給部と、供給されたメッセージに関し、履歴を更新する更新部と、を備える仮想ユーザ部と、更新された履歴に基づいて、トークルームに関連付けられる、第1ユーザに提示される第1画面と第2ユーザに提示される第2画面とを生成する画面生成部と、を備え、第1画面および第2画面において、上記履歴が、メッセージングを行った第1ユーザおよび仮想ユーザによる第1組と第2ユーザによる第2組とに分類されて経時的に配置される。かかる構成により、第1ユーザを後方支援するように振る舞う、様々な機能を有する仮想ユーザを実装することができ、トークルーム内のメッセージングを促進することができる。また、仮想ユーザが第1ユーザを後方支援するユーザであることを、画面表示上、明確にすることができる。仮想ユーザは、メッセージングの進行に応じて自律的に次の動作を判断することができる。これにより、特に、指導者が生徒に対してアドバイスを行うような場面おいて両者間のコミュニケーションを効率的、且つ活発なものにすることができる。
以下に、本開示に係る方法、プログラム、および情報処理装置の実施形態を添付図面とともに説明する。添付図面において、同一または類似の要素には同一または類似の参照符号が付され、各実施形態の説明において同一または類似の要素に関する重複する説明は省略することがある。また、各実施形態で示される特徴は、互いに矛盾しない限り他の実施形態にも適用可能である。
図1は、情報処理システムの全体概要図である。図1に示すように、情報処理システムは、サーバ100と、複数のユーザ端末200,300と、を備える。サーバ100は、ネットワーク400を介してユーザ端末200,300に接続される。図1において、説明を簡単にするために、ユーザ端末は2台だけ示しているが、これに限定されず、3台以上としてもよい。また、ユーザ端末200,300の具体的な機器は、図示したパーソナルコンピュータおよびスマートフォンに限定されず、これ以外にも、例えば、フィーチャーフォン、PDA(Personal Digital Assistant)、またはタブレット端末等の電子機器としてもよい。
以下の実施形態の説明では、インスタント・メッセージング(IM)・アプリケーション上で健康管理サービスが提供されることを想定する。具体的には、健康管理サービスにおいて、栄養士等の指導者と健康管理対象者との間のメッセージング(メッセージ送受信)を通じて、健康管理対象者は、指導者から健康管理上のアドバイスを受けることができる。図1では、例えば、ユーザ端末200は、指導者が保有するユーザ端末を示すものとし、また、ユーザ端末300は、健康管理対象者が保有するユーザ端末を示すものとする。
一例のシナリオでは、健康管理対象者がユーザ端末300に搭載されたカメラで撮影した食事の画像をユーザ端末300から健康管理サーバ100に送信する。サーバ100は受信した画像をユーザ端末200に表示するための画面を生成する。画面が供給された指導者は、ユーザ端末200に表示された健康管理対象者の食事の画像を閲覧し、サーバ100を介して、健康管理対象者向けのメッセージを、ユーザ端末300に送り返す。
なお、ユーザ端末200,300で各ユーザが利用するアプリケーションは、IMアプリケーションに限定されず、例えばSNS(Social Networking Service)またはブログ(Blog)等としてもよい。即ち、一実施形態によれば、健康管理サービスを利用する複数のユーザのアカウント間をリンクさせて、アカウント間でメッセージング(メッセージ等のデータの送受信)を行うことができる任意のアプリケーションを採用可能である。
図2および図3を参照して、サーバ100およびユーザ端末200,300のハードウェア構成について説明する。
図2は、サーバ100のハードウェア構成図である。サーバ100は、IMアプリケーションを通じてサービスを提供するための情報処理装置であり、例えばワークステーションやパーソナルコンピュータのような汎用コンピュータとしてもよいし、或いはクラウド・コンピューティングによって論理的に実現されてもよい。サーバ100は、プロセッサ10、メモリ11、ストレージ12、通信インタフェース(IF)13、および入出力部14等を備え、これらはバスを通じて相互に電気的に接続される。
プロセッサ10は、サーバ100全体の動作を制御し、各要素間におけるデータの送受信の制御、およびアプリケーションの実行に必要な情報処理等を行う演算装置である。例えばプロセッサ10はCPU(Central Processing Unit)であり、ストレージ12に格納されメモリ11に展開されたプログラム等を実行して各情報処理を実施する。
メモリ11は、DRAM(Dynamic Random Access Memory)等の揮発性記憶装置で構成される主記憶と、フラッシュメモリやHDD(Hard Disc Drive)等の不揮発性記憶装置で構成される補助記憶と、を含む。メモリ11は、プロセッサ10のワークエリア等として使用され、また、サーバ100の起動時に実行されるBIOS(Basic Input / Output System)、および各種設定情報等を格納する。ストレージ12は、アプリケーション・プログラム、およびユーザの認証プログラム等の各種プログラムを格納する。IMアプリケーションの各処理に用いられるデータを格納したデータベースがストレージ12に構築されていてもよい。
通信インタフェース13は、サーバ100をネットワーク400に接続し、ユーザ端末200,300との通信を行う。入出力部14は、マウスやキーボード等の情報入力機器、およびディスプレイ等の出力機器である。バス15は、上記各要素に共通に接続され、例えば、アドレス信号、データ信号および各種制御信号を伝達する。
図3は、ユーザ端末200,300のハードウェア構成図である。図3の例は、主に、タッチパネルを有するスマートフォン(300)を想定している。ユーザ端末200,300は、プロセッサ20、メモリ21、ストレージ22、通信インタフェース23、撮像部24、およびタッチパネル25等を備え、バス26を介して相互に電気的に接続される。
プロセッサ20は、ユーザ端末200,300動作を制御し、各要素間におけるデータの送受信の制御、およびプリケーションの実行に必要な処理等を行う演算装置である。例えばプロセッサ20はCPUおよび/またはGPU(Graphical Processing Unit)等であり、ストレージ22に格納されメモリ21に展開されたプログラム等を実行することによって、必要な各情報処理を実施する。
メモリ21は、RAMなどの揮発性記憶装置で構成される主記憶と、フラッシュメモリやHDD等の不揮発性記憶装置で構成される補助記憶と、を含む。メモリ21はプロセッサ20のワークエリア等として使用され、また、サーバ100の起動時に実行されるBIOS、および各種設定情報等が格納される。ストレージ22には、アプリケーション・プログラム等が格納される。
通信インタフェース13は、ユーザ端末200,300をネットワーク400に接続し、サーバ100と通信を行う。また、通信インタフェース13には、Bluetooth(登録商標)およびBLE(Bluetooth Low Energy)の近距離通信インタフェースも含まれる。撮像部24は、カメラ機能を有し、ユーザによって撮像された画像をストレージ22に格納する。タッチパネル25は、入力部251および表示部252を構成する。バス26は、上記の各要素に共通に接続され、例えば、アドレス信号、データ信号、および各種制御信号を伝達する。
タッチパネルの入力部251は、ユーザによるタッチパネル25への操作があったことを検知する。入力部251は、圧力検出方式、抵抗膜方式、静電容量方式、または電磁誘導方式等を採用することができる。そして、タッチパネル上の任意の位置で操作(タッチパネルに対する、タッチ操作、スライド動作、スワイプ操作、及びタップ操作等の物理的接触操作)による入力を受けると、その位置における押圧、電気抵抗、電気容量、または弾性波のエネルギー等の変化量が検知され、対応する接触位置座標が特定される。タッチパネルの表示部252は液晶ディスプレイ等で構成される。
図4を参照して情報処理システムの機能構成について説明する。図4は、サーバ100およびユーザ端末200,300にそれぞれ実装される機能を示した例示のブロック図である。サーバ100は、通信部110、IMサービス提供部120、トークルーム管理部130、仮想ユーザ部150、画面生成部160、および記憶部190を含み、相互に作用する。仮想ユーザ部150は、更に、初期サーベイ実施部151、タスク決定部152、分析部153、ユーザ関連情報更新部154、メッセージ生成部156、メッセージ供給部158、およびメッセージ履歴更新部159を含む。記憶部190は、更に、アカウント情報191、アカウント関連付け情報192、サービス・プログラム情報193、メッセージ設定情報195、ユーザ関連情報196、およびメッセージ履歴情報198を管理する。
他方、ユーザ端末200,300は、通信部210、記憶部220、IMサービス実施部230、入力編集部240、および出力部250を含み、相互に作用する。ユーザ端末300の機能構成も同様である(以下、特に注記する場合を除き、ユーザ端末200,300のことを「ユーザ端末200」と総称する。)。
サーバ100の通信部110は、サーバ100をネットワーク400に接続し、ユーザ端末200との通信によりデータの送受信を行う。IMサービス提供部120は、IMアプリケーションを用いた複数のユーザによるメッセージングを実現するための基本機能を提供する。トークルーム管理部130はアカウント関連付け情報192を管理する。特に、健康管理サービス・プログラムを提供する指導者と、健康管理サービス・プログラムを提供される健康管理対象者(生徒)との関係を管理する。トークルーム管理部130は、また、メッセージ履歴情報198を管理する。仮想ユーザ部150は、指導者を補助するための仮想ユーザ機能を実装する。画面生成部160は、メッセージ履歴情報198に基づいて、トークルームに関連づけられるユーザ画面を生成する。ユーザ画面は、ユーザ端末200,300毎に生成される。
仮想ユーザ部150の初期サーベイ実施部151は、健康管理対象者が健康管理サービス・プログラムを開始する際に初期サーベイを実施して、健康管理対象者の初期のユーザ関連情報196(特に健康情報)を取得する。タスク決定部152は、健康管理サービス・プログラム情報193およびユーザ関連情報196に関連した、仮想ユーザのアクションに関するタスクを決定する。分析部153は、メッセージ履歴情報198を分析する。
ユーザ関連情報更新部154は、メッセージ履歴情報198の分析に応じて、健康管理対象者および/または指導者に関するユーザ関連情報196を更新する。メッセージ生成部156は、メッセージ履歴情報198の分析に応じて、また、更新したメッセージ設定情報195に基づいて、タスクに関連付けられる、指導者および/または健康管理対象者向けのメッセージを動的に生成する。メッセージ供給部158は、生成したメッセージを、指導者に関連付けてトークルームに供給する。メッセージ履歴更新部159は、メッセージのトークルームへの供給に応じて、メッセージ履歴情報198を更新する。
記憶部190は、IMアプリケーションに関する各種データおよびプログラムを格納する。具体的には、アカウント情報191は、指導者および健康管理対象者に関するユーザID,ユーザ名、ユーザ種別、属性情報およびユーザ認証用パスワード等を含む。アカウント関連付け情報192は、トークルームに参加する複数のアカウント間の関連付けに関する情報、例えば、健康管理サービス・プログラムを提供する指導者と、健康管理サービス・プログラムを提供される健康管理対象者との関係等を含む。サービス・プログラム情報193は、健康管理サービス・プログラムに関する情報、例えば、サービス期間、およびその間に指導者および/または健康管理対象者が行うべきアクションに関するタスク情報等を含む。
メッセージ設定情報195は、タスクに関連して仮想ユーザが生成するメッセージの基本情報、例えば、メッセージ・テンプレート、メッセージ分類、メッセージ種別、および画面の表示指標等の設定情報等を含む。ユーザ関連情報196は、健康管理サービス・プログラムに関するユーザの健康に関する基本情報、例えば、健康管理対象者の日常生活の行動情報、および趣味や行動に関する嗜好情報等を含む。メッセージングの進行に応じて、ユーザ関連情報196は更新される。メッセージ履歴情報198は、トークルームに参加する複数のユーザ間のメッセージングの履歴に関する情報、例えば、メッセージ供給者、メッセージ内容、および供給日時等を含む。
ユーザ端末200の通信部210は、ユーザ端末200をネットワーク400に接続し、サーバ100との通信によりデータの送受信を行う。記憶部220は、IMサービスを利用するのに必要なIMアプリケーションに関する各種データおよびプログラムを格納する。IMサービス実施部230は、IMアプリケーションを実行し、ユーザによるメッセージングを可能にする。入力編集部240は、メッセージングに際し、入力部251を通じてメッセージの入力および/または編集を可能にする。出力部250は、サーバ100の画面生成部160で生成されたユーザ画面を表示部252に出力する。
図2および図3に示した上記のサーバ100およびユーザ端末200,300の各ハードウェア構成における各要素、並びに図4に示した各機能ブロックは一例に過ぎず、これらに限定されない。また、図4に示した各機能ブロックは、ハードウェアの一部として実装されても、および/またはソフトウェアの一部として実装されてもよい。更に、図4に示したサーバ100の各機能ブロック110〜190の少なくとも一部は、ユーザ端末200が有するように構成してもよい。逆に、ユーザ端末200の各機能の少なくとも一部210〜250も、サーバ100が有するように構成してもよい。つまり、一実施形態による方法およびプログラムは、サーバ100およびユーザ端末200から任意に選択された装置が実行することができる。
図5および図6を参照して、IMアプリケーションで実現される健康管理サービスの概要について説明する。図5は、IMアプリケーションに登録し、トークルームに参加した複数ユーザのアカウント関連付けに関する例示の概略図である。図6は、健康管理サービスに関し、複数ユーザがIMアプリケーション上でのメッセージングを行っている例示の画面イメージである。
図5に示すように、トークルームAには、ユーザ端末200を操作する実際のユーザ(実戦で囲まれたユーザ)として、「成島成美」と「田中麻里」の2人が参加している。つまり、IMアプリケーションを使用するユーザのアカウントとして、「成島成美」(アカウントID:1001234)、「田中麻里」(アカウントID:1234777)が存在する。「成島成美」のユーザ種別は「指導者ユーザ」(即ち、健康指導者)であり、「田中麻里」のユーザ種別は「生徒ユーザ」(即ち、健康管理対象者)である。ユーザ名、アカウントIDおよびユーザ種別等のユーザ基本情報は、アカウント情報192に含まれるのがよい。
また、「指導者ユーザ」である「成島成美」と、「生徒ユーザ」である「田中麻里」との間には、健康管理サービス・プログラムの提供者と被提供者という関係が存在する。このような関係は、アカウント関連付け情報192に含まれるのがよい。なお、「指導者ユーザ」に対し、2人以上の「生徒ユーザ」が関連付けられてもよいし、1人の「生徒ユーザ」に対し、2人以上の「指導者ユーザ」が関連付けられてもよい。
また、ユーザ端末200を操作する実際のユーザとは別に、仮想ユーザ部150によって実装される「アシスタントUI」(アカウントID:9001234/ユーザ種別:仮想ユーザ)が存在する(点線で囲まれたユーザ)。「アシスタントUI」は、トークルームAにおいて「指導者ユーザ」である「成島成美」を補助する役割を有する。「成島成美」がトークルームAに参加することで、自動的に「アシスタントAI」もトークルームAに参加することになる。
「アシスタントAI」は、例えば、「成島成美」に対し、トークルームAのメッセージングの進行に応じて、「田中麻里」へのメッセージングを催促するメッセージを投稿したり、「成島成美」を代行して「田中麻里」に対し、実際のメッセージを供給したりする。「アシスタントAI」は、トークルームAのメッセージングの進行に応じて自律的に次のアクションを判断し、該アクションを実施するというエージェントであり、人工知能(AI:Artificial Intelligence)エンジンを搭載した仮想ユーザである。「アシスタントAI」の存在により、トークルームAでの「成島成美」と「田中麻里」のコミュニケーションを円滑なものとすることができる。
図6は、トークルームAに関連付けられる、「田中麻里」のユーザ端末300に表示された例示の画面30a,30bである。画面30a,30bでは、トークルームAでメッセージングを行った相手(「成島成美」。仮想ユーザである「アシスタントAI」も含む。)および自分(「田中麻里」)の各組にメッセージ履歴情報198が分類される。そして、メッセージ履歴が、分類された組ごとに経時的に配置される。メッセージの進行と共に、画面30aから30bへと遷移する。画面30a,30bでは、画面の左側に沿って相手(「成島成美」)のメッセージ履歴の組が配置される。また、画面の右側に沿って自分(「田中麻里」)のメッセージ履歴の組が配置される。
メッセージ履歴に含まれる各メッセージは、アイコン画像およびユーザ名、並びにメッセージ投稿時刻と共に表示されてもよい。仮想ユーザ部150を通じて「アシスタントAI」によって供給されるメッセージは自分の指導者である「成島成美」によるものとして同じ組に分類される。即ち、「アシスタントAI」によるメッセージ履歴は、左側に配置される。「アシスタントAI」によって供給されたメッセージは、「アシスタントAI」のアイコン画像およびユーザ名と共に配置してもよい。或いは、(「アシスタントAI」ではない)「成島成美」のアイコン画像およびユーザ名と共に配置してもよい。なお、「成島成美」のユーザ端末200には画面30a,30bに対応して、相手と自分が入れ替わった(即ち、相手(「田中麻里」)および自分(「成島成美」))画面が表示されることになる。
図6に示すように、各メッセージ40a〜40eは、画面上部から下部への時系列に沿って吹き出し形式で表示される。各メッセージは、テキストおよび/または画像のフォーマットによるものとするのがよいがこれに限定されない。テキストおよび/または画像のフォーマットの他にも音声のフォーマット等としてもよい。画面30aにおいて、メッセージ40aは、「アシスタントAI」によって動的に生成されたものであり、食事アイコンおよびテキスト「朝食を投稿しましょう」を含んで構成される。例えば、「田中麻里」のユーザ関連情報196に、朝食の時刻が7:00である情報が含まれる場合に、「アシスタントAI」は7:00に当該メッセージを動的に作成して供給する。このように、「アシスタントAI」が「成島成美」を代行するようにメッセージを送信することにより、トークルーム内のメッセージングを効率化し、また、コミュニケーションを活性化することができる。
メッセージ40aに応じて、自分(「田中麻里」)が供給した朝食の画像を含むメッセージ40bが表示される。具体的には、メッセージ40bは、朝食画像、画像タイトルおよび時刻(「朝食」「2016/09/30 10:10」)を含んで構成される。時刻は、朝食画像に関連付けられるタイムスタンプ情報を利用するのがよい。メッセージ40bに併せて、メッセージ40cが表示される。メッセージ40cは、テキスト「今朝はサラダだけにしました、たんぱく質は取らないようにしようかなと思いました」を含んで構成される。なお、メッセージ40aおよび40bは、同時の投稿となるよう、ユーザによる1つの送信動作で実施されるのがよい。
画面30bに遷移し、今度は相手(「成島成美」)によって供給されたメッセージ40dが表示される。メッセージ40dは、自分(「田中麻里」)が供給した朝食の画像、およびそれに対する整数値の評価(3つ星)を含んで構成される。メッセージ40dに併せて、相手(「成島成美」)によって供給されたメッセージ40eが表示される。メッセージ40dは、キャラクタ画像(所謂、スタンプ画像)を含んで構成される。
「田中麻里」が送信するメッセージは、画面下部に設けたフィールドから入力される。具体的には、フィールドは、写真またはスタンプ画像を選択入力するための画像入力フィールド50aと、ソフトウェア・キーボード等によるテキスト入力を可能にするテキスト入力フィールド50bと、メッセージの送信のための「送信」ボタン50cと、が含まれる。
これより、図7〜図14を参照して、一実施形態によるトークルームを介したメッセージングのための方法について説明する。図7および図13は、一実施形態による方法において実装される、指導者を補助する仮想ユーザによる例示のフロー図である。図8は、仮想ユーザがメッセージングを行うアクションに関するタスク一覧の概要図である。図9〜図14は、一実施形態による方法を通じて生成される、指導者および/または健康管理対象者のユーザ端末に表示される例示の画面イメージである。図10は、メッセージ設定情報195に含まれるメッセージ分類、メッセージ種別、および表示指標の関係に関する例示の概略図である。図11は、メッセージ履歴情報198に関する例示のテーブル構成図である。
図7は、仮想ユーザ部150によって実施されるメッセージングの基本処理フローS100を示すフロー図である。処理フローS100は、S110で開始される。例えば、図5および図6に示した健康管理サービス・プログラムに関連して、仮想ユーザがメッセージングを行うアクションに関するタスクに関連付けられたトリガに従って開始される。タスクは、図8に例示するサービス・プログラム情報193において定義され、タスク決定部152で決定される。一例のタスクは、「プログラム開始時」「プログラム実施中」「プログラム終了時/終了後」毎に定義される。また、「プログラム実施中」のタスクには「食事」「体重測定」「睡眠」「レポート」が定義され、更に、「食事」には「朝食」「昼食」「夕食」が、「睡眠」には「就寝」「起床」が定義されて、各タスクに各種トリガ(例えば、所定の時刻、期間およびユーザ動作等)が関連付けられる。
処理フローS100がS110で開始されると、まず、生徒ユーザのユーザ関連情報が既に設定されているか否かで処理が分岐する(S120)。ユーザ関連情報が未だ設定されていない場合(S120がNo)は、タスクが「プログラム開始時」であり、初期サーベイ実施部151による初期サーベイを実施する(S130)。これにより、初期のユーザ関連情報を取得することになる。
ユーザ関連情報が既に設定されている場合(S120がYes)は、タスクが「プログラム実施中」または「プログラム終了時/終了後」であり、メッセージングの処理(S140〜S180)に進む。具体的には、分析部153が、トークルームのメッセージ履歴を分析して、メッセージ分類、メッセージ種別、および表示指標を決定する(S140)。メッセージ生成部156が、メッセージ履歴情報198に基づいて決定したメッセージ分類およびメッセージ種別に基づいて、タスクに関連付けられるメッセージを動的に生成する(S150)。メッセージ供給部158が、生成したメッセージを指導者ユーザに関連付けてトークルームに供給する(S160)。メッセージ履歴更新部159が、メッセージの供給に応じて、メッセージ履歴情報198を更新する(S170)。そして、画面生成部160が、トークルームに関連付けられる、指導者ユーザに提示される画面と、生徒ユーザに提示される画面とをそれぞれ生成する(S180)。
S130の初期サーベイにおいて、初期サーベイ実施部151は、「プログラム開始時」のタスクにおいて予め決められた質問メッセージをトークルームに供給する。質問メッセージに対して生徒ユーザが回答メッセージを供給することで初期サーベイが進行される。これにより、生徒ユーザの初期のユーザ関連情報196が自動的に取得およびセットされる。図9は、トークルームAにおいて初期サーベイの進行例を示す画面である。ここでは、図5と同様、指導者ユーザ「成島成美」と生徒ユーザ「田中麻里」がトークルームAに参加し、「田中麻里」は「ダイエット家庭教師30日」コースのサービス・プログラムに申し込んでいるとする。当該サービス・プログラムの開始日に初期サーベイが実施される。
図9のトークルームAに関連付けられる「田中麻里」の画面31では、「成島成美」に代わって、「アシスタントAI」によって供給されたメッセージ41a〜41eが表示される。メッセージ41a〜41eは、サービス・プログラム情報193に含まれる情報に基づいて生成される。メッセージ41aおよび41bでは、「ダイエット家庭教師30日」コースのサービス・プログラムの開始のアナウンス、および生徒ユーザ「田中麻里」のユーザ関連情報の登録を催促するメッセージが表示される。ユーザ関連情報196は、例えば、生徒ユーザ「田中麻里」の体重、食事の時間および運動頻度等のライフスタイルおよび嗜好、並びにセルフィー(自分の画像)等を含む。
メッセージ41cでは、生徒ユーザ「田中麻里」の体重の入力を催促し、メッセージ41dでは、セルフィーの入力を催促する。これに応じて、生徒ユーザ「田中麻里」が体重およびセルフィーを入力することにより、初期のユーザ関連情報196が登録される。なお、ユーザ関連情報196は、サービス・プログラムの進行と共にパーソナライズされるのがよい。即ち、ユーザ関連情報更新部154は、生徒ユーザ「田中麻里」からその後に供給されるメッセージの履歴に応じてユーザ関連情報196を随時更新する。メッセージ41eでは、サービス・プログラム情報193に含まれる今後のタスクに関するアナウンスが表示される。ここではタスク「朝食」に関するアナウンスが表示される。仮想ユーザによるメッセージ41a〜41e、および「田中麻里」による回答のメッセージはメッセージ履歴情報198に登録される。このように、指導者ユーザに代わって仮想ユーザが初期サーベイを実施ことにより、トークルーム内のコミュニケーションを効率化することができる。
S140において、分析部153は、メッセージ履歴情報198を分析し、送信されることになるタスクに応じたメッセージについて、メッセージ設定情報195に含まれるメッセージ分類、メッセージ種別、および表示指標を決定する。分析は、メッセージ履歴情報198の構文解析、自然言語処理、および画像解析等の人工知能に関する情報処理技術が広く適用される。図10は、メッセージ分類、メッセージ種別、および表示指標の例示の関係を示す。図10に示すように、メッセージ分類は、「生徒ユーザ向け」および「指導者ユーザ向け」を含み、どのユーザに向けられるメッセージを決定する。メッセージ種別は、「リマインダ/フォロー」、「レスポンス」、および「アドバイス」を含む。例えば、「リマインダ/フォロー」では、タスクに関し、仮想ユーザが所定の時刻に生徒ユーザに催促する、または前回の投稿から所定の期間経過した場合にフォローを行う。「レスポンス」では、生徒ユーザまたは指導者ユーザが供給したメッセージに対して即座に応答する。「アドバイス」では、所定の時刻または期間で、生徒ユーザまたは指導者ユーザに助言する。仮想ユーザが生成するメッセージは、メッセージ分類およびメッセージ種別の組み合わせでそのパターンが決定する。この例では6パターンとなる。
メッセージのパターンは更に、表示指標が関連付けられてセットされる。表示指標は、生成されるメッセージを生徒ユーザに対して提示するか、即ち、生徒ユーザの画面に表示させるかについての指標であり、「表示」または「非表示」を含む。指導者ユーザに対しては、当該表示指標に拘わらず常に提示してよい。例えば、図6に示した、メッセージ分類「生徒ユーザ向け」かつメッセージ種別「リマインダ/フォロー」であるメッセージ40aは、表示指標が「表示」にセットされ、生徒ユーザの画面に表示される。他方、メッセージ分類「生徒ユーザ向け」、かつメッセージ種別「アドバイス」のメッセージは、指導者ユーザによって編集または承認されるまでは生徒ユーザの画面に表示させず、最初の表示指標は「非表示」にセットされる。この場合、指導者ユーザによって編集または承認されると表示指標が「表示」に更新される(後述)。なお、このようなメッセージ分類、メッセージ種別、および表示指標は上記に限定されない。例えば、メッセージ種別「リマインダ/フォロー」は、「リマインダ」「フォロー」と別個に設定されてもよい。
S150において、メッセージ生成部156は、メッセージ分類およびメッセージ種別に基づいて、メッセージ設定情報195に含まれる、タスクに応じたメッセージ・テンプレートを用いてメッセージを生成する。例えば、前述のメッセージ40aは、「朝食」タスクに関し、メッセージ分類「生徒ユーザ向け」かつメッセージ種別「リマインダ/フォロー」のメッセージとして、メッセージ・テンプレート「朝食を投稿しましょう」がそのままメッセージに適用される。アカウント情報191および/またはユーザ関連情報196に含まれる情報に基づいて、メッセージ・テンプレートがカスタマイズおよび/またはパーソナライズされてもよい。
S160において、メッセージ供給部158は、生成したメッセージを指導者ユーザに関連付けて所定のタイミングでトークルームに供給する。例えば、メッセージ40aの「朝食を投稿しましょう」のように、メッセージ分類「生徒ユーザ向け」の場合には、指導者ユーザとしてメッセージを供給する。また、上記メッセージ40aのようにメッセージ種別「リマインダ」の場合のメッセージ供給のタイミングは、ユーザ関連情報196に基づいて決定される。例えば、初期サーベイを通じて生徒ユーザから取得した朝食の時刻、またはその後の実際の朝食の時刻によってパーソナライズされた時刻に基づいて動的に決定されるタイミングとするのがよい。
S170において、メッセージ履歴更新部159は、S160で供給したメッセージの履歴をメッセージ履歴情報198に追加する。図11は、例示のメッセージ履歴テーブルT10および仮想ユーザ・メッセージ履歴テーブルT20を示す。メッセージ履歴情報198は、レコード毎の各データを含んで構成される。メッセージ履歴テーブルT10は、メッセージID、メッセージ供給日時、送信ユーザ(生徒ユーザ、指導者ユーザ、または仮想ユーザ)、メッセージ内容(テキストまたは画像フォーマットのコンテンツ)、および供給先既読指標(既読または未読)等をその項目に含む。また、仮想ユーザ・メッセージ履歴テーブルT20は、メッセージID、メッセージ分類(生徒ユーザ向けまたは指導者ユーザ向け、メッセージ種別(リマインダ、フォロー、レスポンス、アドバイス)、表示指標(表示または非表示)、および承認/編集可能指標(可または不可)等を項目に含む。メッセージ履歴テーブルT10および仮想ユーザ・メッセージ履歴テーブルT20は、メッセージIDをキーにして相互に関連付けられる。
S180において、画面生成部160は、S170で更新したメッセージ履歴情報198を用いて、トークルームに関連付けられる、指導者ユーザに提示される指導者ユーザ画面、および生徒ユーザに提示される生徒ユーザ画面をそれぞれ生成する。指導者ユーザ画面および生徒ユーザ画面の各画面では、メッセージングを行った指導者ユーザおよび生徒ユーザごとにメッセージ履歴情報198のメッセージ内容が分類されて経時的に配置される。また、仮想ユーザが供給したメッセージについても、仮想ユーザ・メッセージ履歴テーブルT20の表示指標が「表示」のメッセージ(即ち、生徒ユーザに提示するメッセージ)の場合は、当該メッセージは指導者ユーザによるメッセージングとして指導者ユーザと同じ組に分類され、メッセージ履歴が配置される。表示指標が「非表示」のメッセージである場合は、生徒ユーザ画面において当該メッセージは配置されない。つまり、指導者ユーザ画面において、仮想ユーザが指導者ユーザのみにメッセージを供給したように表示される。S180の後、メッセージに関するメッセージ分類が「生徒ユーザ向け」かつメッセージ種別が「アドバイス」である場合は、引き続き図13の処理フローS200に進む。それ以外の場合は、S140〜S180の処理を順次繰り返すことになる。
図6に示した画面30a,30bの例のように、生徒ユーザ画面において、指導者ユーザによるメッセージングを提示する左側の列では、「アシスタントAI」と「成島成美」によるメッセージが混在することになる。このように、メッセージが「アシスタントAI」によって供給されたことを示す指標(例えば、アイコンおよびユーザ)が表示されてもよいし、その代替として「成島成美」によるメッセージとしてアイコンおよびユーザIDを統一してもよい。
図12aおよび図12bを参照して、図7の処理フローS100が有する一連の情報処理S140〜S180が繰り返し実行された場合に生成される例示の画面イメージについて説明する。図12aは、トークルームAにおける生徒ユーザ画面32−1であり、図12bは、これに対応する指導者ユーザ画面32−2である。ここでは、「朝食」タスクにおいて、生徒ユーザ「田中麻里」が朝食の画像メッセージをトークルームAに供給した際に、指導者ユーザ「成島成美」が朝食の評価を行うまで、仮想ユーザ「アシスタントAI」が指導者ユーザ「成島成美」をフォローするシナリオを想定する。
まず、「アシスタントAI」は、「田中麻里」による朝食の画像メッセージの履歴を分析する。そして、「朝食」タスクに関する次のメッセージングとして、メッセージ分類が「生徒ユーザ向け」かつメッセージ種別が「レスポンス」のものを行うべきと判断する(S140)。次いで、これら情報に基づいて、「朝食の投稿ありがとうございました!」のメッセージを動的に生成して(S150)、トークルームAに供給する(S160)。また、メッセージ履歴を更新する(S170)。当該メッセージの表示指標は「表示」にセットされているので(図10)、「田中麻里」の生徒ユーザ画面32−1および「成島成美」の指導者ユーザ画面32−2に、当該メッセージ42a−1および42a−2が表示される(S180)。
S140に戻り、「アシスタントAI」は、今度は上記「朝食の投稿ありがとうございました!」のメッセージ履歴を分析して、「成島成美」への催促を行うべきと判断する。即ち、「アシスタントAI」は、メッセージ分類が「指導者ユーザ向け」かつメッセージ種別が「リマインダ」のメッセージングが必要であると判断する(S140)。次いで、これらの情報に基づいて、「成島成美さん、田中麻里さんより朝食の投稿がありました。急いで評価を行うようにしてください。」のメッセージを動的に作成して(S150)、トークルームAに供給し(S160)、そして、メッセージ履歴を更新する(S170)。当該メッセージの表示指標は「非表示」にセットされているので(図10)、当該メッセージ42bは、「田中麻里」の生徒ユーザ画面32−1には表示されず、「成島成美」の指導者ユーザ画面32−2のみが表示される(S180)。
再びS140に戻り、「アシスタントAI」は、今度は上記「成島成美さん、田中麻里さんより朝食の投稿がありました。急いで評価を行うようにしてください。」のメッセージ履歴を分析する。そして、所定の時間経過しても指導者ユーザ「成島成美」が未だ評価を実施していない場合に、「田中麻里」へのフォローを行うべきと判断する。即ち、「アシスタントAI」は、メッセージ分類が「生徒ユーザ向け」かつメッセージ種別が「フォロー」のメッセージングが必要であると判断する(S140)。次いで、これらの情報に基づいて、「成島成美は今忙しいようです。もう少しお待ちください。」のメッセージを動的に作成して(S150)、トークルームAに供給する(S160)。また、メッセージ履歴を更新する(S170)。当該メッセージの表示指標は「表示」にセットされているので(図10)、「田中麻里」の生徒ユーザ画面と「成島成美」の指導者ユーザ画面に、当該メッセージ42c−1および42c−2が表示される(S180)。
図12aおよび図12bを参照して分かるように、生徒ユーザ画面32−1と指導者ユーザ画面32−2は相互に対応する一方で、表示指標での制御に因り、各画面に表示されるメッセージは必ずしも対応しないことがある。具体的には、図12bに表示されるメッセージ42bは指導者ユーザ画面32−2に表示されるが、生徒ユーザ画面32−1には表示されない。このように、仮想ユーザは、生徒ユーザ向けメッセージを代行するのみならず、指導者ユーザのみに表示するメッセージも供給することにより、トークルーム内のメッセージングを催促し、コミュニケーションを活性化することができる。
指導者ユーザのみに表示するメッセージを供給する態様として、これより図13の処理フローS200について図14の画面33と共に説明する。図13の処理フローS200は、図7の処理フローS100から引き継がれる。具体的には、図7のS150で生成されたメッセージ43aの例が「田中麻里さん、今週もお疲れさまでした!1週間の食生活を振り返ると、糖分の摂取が目立ちますので、取り過ぎないよう注意しましょう。また、タンパク質をもっと多く摂取するように心がけましょう。」であるとする。メッセージ43aは、これまでの指導者ユーザと生徒ユーザ間のメッセージングの履歴情報および更新された生徒ユーザの健康情報に基づいて生成されたものである。また、メッセージ43aはメッセージ分類「生徒ユーザ向け」、メッセージ種別「アドバイス」であり、その表示指標は「非表示」にセットされている(図10)。つまり、S180ではメッセージ43aは、生徒ユーザ画面には表示されておらず、指導者ユーザ画面33のみに表示されている(図14)。
図13の処理フローS200では、最初に、メッセージ供給部158は、対象メッセージのメッセージ分類が「生徒ユーザ向け」であり、かつメッセージ種別が「アドバイス」であるかを判断する(S210)。S210がYesの場合、画面生成部160は、指導者ユーザ画面において、当該メッセージの表示に、更に選択肢を付加して表示する(S220)。図14の例では、指導者ユーザ画面33において、メッセージ43aに加え、選択肢として、「承認」55a、「編集」55b、および「非承認」55cの各ボタンが付加されている。指導者ユーザは、タッチパネルへの操作を通じてこれらボタン55a〜55cを選択することができる。
次いで、指導者ユーザ画面において、入力部251は、上記選択肢に対する入力を受ける(S230)。当該入力が「編集」を選択するものである場合(S240)は、指導者ユーザ画面に表示されたメッセージが指導者ユーザによって編集可能となる。即ち、メッセージの編集のために、入力部251は入力を受ける(S250)。図14の例では、指導者ユーザは「編集」55bを選択することで、仮想ユーザが生成したメッセージ43aを、生徒ユーザの実態に合わせてより適切なものに自由に修正することができる。
S250でメッセージの編集がされた後、更に、入力部251は、指導者ユーザからメッセージの承認に関する入力を受ける。S240がNoの場合は、S250のメッセージを経ずにいきなりメッセージの承認に関する入力を受けてもよい。承認の入力を受けることで、メッセージ供給部158は、対象メッセージの表示指標を「非表示」から「表示」に更新する(S260)。画面生成部160は、表示指標の更新に応じて、生徒ユーザ画面において対象メッセージを新たに配置する。即ち、対象メッセージを生徒ユーザ画面に表示させる(S270)。
なお、指導者ユーザが「非承認」55cを選択した場合は、対象メッセージの表示指標は「非表示」のまま維持され、対象メッセージが生徒ユーザ画面に配置されることはない。このように、図13および図14の態様では、メッセージ分類「生徒ユーザ向け」、かつメッセージ種別「アドバイス」であるメッセージの場合に、最初に当該メッセージを指導者ユーザ画面に表示させ、指導者ユーザに編集および/または承認させた後に、はじめて生徒ユーザ画面に表示させる。これにより、生徒ユーザに対し、より適切なメッセージングを行うことができる。
前述した実施形態によれば、指導者ユーザを後方支援する、様々な機能を有する仮想ユーザを実装することができる。仮想ユーザは、メッセージングの進行に応じて自律的に次の動作を判断することができる。これにより、特に、仮想ユーザが、指導者ユーザを代行して、生徒ユーザへのメッセージングを行うことにより、トークルーム内のメッセージングを促進することができる。指導者ユーザと生徒ユーザの間のコミュニケーションを効率的、且つ活発なものとすることができる。また、仮想ユーザが生成したメッセージを編集可能とすることにより、メッセージングをより適切なものとすることができる。
上述した実施形態は、本発明の理解を容易にするための例示に過ぎず、本発明を限定して解釈するためのものではない。本発明は、その趣旨を逸脱することなく、変更、改良することができると共に、本発明にはその均等物が含まれることは言うまでもない。