IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 京セラ株式会社の特許一覧

特開2022-84469サーバ、制御方法および制御プログラム
<>
  • 特開-サーバ、制御方法および制御プログラム 図1
  • 特開-サーバ、制御方法および制御プログラム 図2
  • 特開-サーバ、制御方法および制御プログラム 図3
  • 特開-サーバ、制御方法および制御プログラム 図4
  • 特開-サーバ、制御方法および制御プログラム 図5
  • 特開-サーバ、制御方法および制御プログラム 図6
  • 特開-サーバ、制御方法および制御プログラム 図7
  • 特開-サーバ、制御方法および制御プログラム 図8
  • 特開-サーバ、制御方法および制御プログラム 図9
  • 特開-サーバ、制御方法および制御プログラム 図10
  • 特開-サーバ、制御方法および制御プログラム 図11
  • 特開-サーバ、制御方法および制御プログラム 図12
  • 特開-サーバ、制御方法および制御プログラム 図13
  • 特開-サーバ、制御方法および制御プログラム 図14
  • 特開-サーバ、制御方法および制御プログラム 図15
  • 特開-サーバ、制御方法および制御プログラム 図16
  • 特開-サーバ、制御方法および制御プログラム 図17
  • 特開-サーバ、制御方法および制御プログラム 図18
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2022084469
(43)【公開日】2022-06-07
(54)【発明の名称】サーバ、制御方法および制御プログラム
(51)【国際特許分類】
   G06Q 50/10 20120101AFI20220531BHJP
   G10L 15/22 20060101ALI20220531BHJP
   G06F 13/00 20060101ALI20220531BHJP
【FI】
G06Q50/10
G10L15/22 300U
G06F13/00 540A
【審査請求】未請求
【請求項の数】11
【出願形態】OL
(21)【出願番号】P 2020196386
(22)【出願日】2020-11-26
(71)【出願人】
【識別番号】000006633
【氏名又は名称】京セラ株式会社
(74)【代理人】
【識別番号】110002147
【氏名又は名称】特許業務法人酒井国際特許事務所
(72)【発明者】
【氏名】伊東 裕樹
(72)【発明者】
【氏名】柴田 実咲
【テーマコード(参考)】
5B084
5L049
【Fターム(参考)】
5B084AA02
5B084AA16
5B084AB12
5B084BA08
5B084BB19
5B084DC02
5B084DC03
5L049CC12
(57)【要約】
【課題】ユーザの行動変容を対話によって支援することを改善する。
【解決手段】例えば、サーバ200は、ユーザから取得した質問に対する回答が、第1の種類の回答であるか、第2の種類の回答であるかを判別する判別部251と、判別部251による判別結果に基づいて、現在第1のフェーズにいるユーザのフェーズを、第1のフェーズに維持するか、第2のフェーズに移行するかを決定する決定部252と、を備える。
【選択図】図7
【特許請求の範囲】
【請求項1】
ユーザから取得した質問に対する回答が、第1の種類の回答であるか、第2の種類の回答であるかを判別する判別部と、
前記判別部による判別結果に基づいて、現在第1のフェーズにいるユーザのフェーズを、第1のフェーズに維持するか、第2のフェーズに移行するかを決定する決定部と、
を備えるサーバ。
【請求項2】
請求項1に記載のサーバにおいて、
前記第1の種類の回答は、チェンジトークであり、
前記第2の種類の回答は、維持トークであり、
前記決定部は、前記判別部の判別結果が前記第1の種類の回答である場合に、前記第2のフェーズに移行すると決定し、前記判別部の判別結果が前記第2の種類の回答である場合に、前記第1のフェーズを維持すると決定する、サーバ。
【請求項3】
請求項1または2に記載のサーバにおいて、
前記決定部は、所定期間における前記判別結果に基づいて、前記ユーザのフェーズを、前記第1のフェーズに維持するか、前記第2のフェーズに移行するかを決定する、サーバ。
【請求項4】
請求項1から3のいずれか1項に記載のサーバにおいて、
前記決定部は、前記ユーザから取得した前記回答における、前記第1の種類の回答の個数と、前記第2の種類の回答の個数との割合に基づいて、前記ユーザのフェーズを、前記第1のフェーズに維持するか、前記第2のフェーズに移行するかを決定する、サーバ。
【請求項5】
請求項1から4のいずれか1項に記載のサーバにおいて、
前記第1の種類の回答は、所定の動作を実行した旨を示す実行チェンジトークを含み、
前記決定部は、前記ユーザから取得した前記実行チェンジトークの数または割合に基づいて、前記ユーザのフェーズを、前記第1のフェーズに維持するか、前記第2のフェーズに移行するかを決定する、サーバ。
【請求項6】
請求項1から5のいずれか1項に記載のサーバにおいて、
前記ユーザに対して課題に関する質問を提示する質問部をさらに備え、
前記決定部は、前記質問の回答が前記第2の種類の回答であるか否かに基づいて、前記ユーザのフェーズを、前記第1のフェーズに維持するか、前記第2のフェーズに移行するかを決定する、サーバ。
【請求項7】
請求項6に記載のサーバにおいて、
前記決定部は、前記質問に対する肯定的な回答の個数が、前記フェーズにおける前記ユーザの行動変容が定着している個数である場合、前記ユーザのフェーズを前記第2のフェーズに移行する、サーバ。
【請求項8】
請求項1から7のいずれか1項に記載のサーバにおいて、
前記ユーザと確認会話が継続する回数を計数する計数部をさらに備え、
前記決定部は、前記計数部の計数結果が判定条件を満たす場合に、前記ユーザのフェーズを、前記第1のフェーズに維持するか、前記第2のフェーズに移行するかを決定する処理を実行する、サーバ。
【請求項9】
請求項1から8のいずれか1項に記載のサーバにおいて、
前記フェーズに対応する会話を出力するための会話情報を、前記ユーザが操作可能な電子機器に出力させる出力制御部を備える、サーバ。
【請求項10】
電子機器と通信可能なサーバによって実行される制御方法であって、
ユーザから取得した質問に対する回答が、第1の種類の回答であるか、第2の種類の回答であるかを判別すること、
前記回答が、前記第1の種類の回答であるか、前記第2の種類の回答であるかの判別結果に基づいて、現在第1のフェーズにいるユーザのフェーズを、前記第1のフェーズに維持するか、第2のフェーズに移行するかを決定すること、
を含む制御方法。
【請求項11】
コンピュータに、
ユーザから取得した質問に対する回答が、第1の種類の回答であるか、第2の種類の回答であるかを判別すること、
前記回答が、前記第1の種類の回答であるか、前記第2の種類の回答であるかの判別結果に基づいて、現在第1のフェーズにいるユーザのフェーズを、前記第1のフェーズに維持するか、第2のフェーズに移行するかを決定すること、
を実行させる制御プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本出願は、サーバ、制御方法および制御プログラムに関する。
【背景技術】
【0002】
ユーザとコンピュータとの対話によってユーザを指導することが知られている。例えば、特許文献1には、ユーザの現段階に対応したダイアログスクリプトを選択し、トリガー決定後に使用可能な項目をユーザに定期的に申し出ることを含む情報の対話型での収集及び配布のための方法が開示されている。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特表2003-523579号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
従来のユーザとコンピュータとの対話では、ユーザの行動変容を対話によって支援することに改善の余地があった。
【課題を解決するための手段】
【0005】
態様の1つに係るサーバは、ユーザから取得した質問に対する回答が、第1の種類の回答であるか、第2の種類の回答であるかを判別する判別部と、前記判別部による判別結果に基づいて、現在第1のフェーズにいるユーザのフェーズを、前記第1のフェーズに維持するか、第2のフェーズに移行するかを決定する決定部と、を備える。
【0006】
態様の1つに係る制御方法は、電子機器と通信可能なサーバによって実行される制御方法であって、ユーザから取得した質問に対する回答が、第1の種類の回答であるか、第2の種類の回答であるかを判別すること、前記判別結果に基づいて、現在第1のフェーズにいるユーザのフェーズを、前記第1のフェーズに維持するか、第2のフェーズに移行するかを決定すること、を含む。
【0007】
態様の1つに係る制御プログラムは、コンピュータに、ユーザから取得した質問に対する回答が、第1の種類の回答であるか、第2の種類の回答であるかを判別すること、前記判別結果に基づいて、現在第1のフェーズにいるユーザのフェーズを、前記第1のフェーズに維持するか、第2のフェーズに移行するかを決定すること、を実行させる。
【図面の簡単な説明】
【0008】
図1図1は、実施形態に係るサーバを備えるシステムの一例を示す図である。
図2図2は、図1に示すサーバが管理するフェーズの一例を示す図である。
図3図3は、図1に示すサーバが管理する第1会話情報及び第2会話情報の一例を示す図である。
図4図4は、実施形態に係るサーバのシナリオ会話とログとの関係の一例を説明するための図である。
図5図5は、実施形態に係るサーバが電子機器にメッセージを表示させる一例を示す図である。
図6図6は、実施形態に係る電子機器の構成の一例を示す図である。
図7図7は、実施形態に係るサーバの構成の一例を示す図である。
図8図8は、実施形態に係るチェンジトークと維持トークの一例を説明するための図である。
図9図9は、実施形態に係るサーバが実行する出力制御の一例を示すフローチャートである。
図10図10は、図9に示す朝の会話処理の一例を示すフローチャートである。
図11図11は、図9に示す昼の会話処理の一例を示すフローチャートである。
図12図12は、図9に示す夜の会話処理の一例を示すフローチャートである。
図13図13は、実施形態に係るサーバが実行するフェーズ1の移行制御の一例を示すフローチャートである。
図14図14は、実施形態に係るサーバが実行するフェーズ2の移行制御の一例を示すフローチャートである。
図15図15は、実施形態に係るサーバが実行するフェーズ3の移行制御の一例を示すフローチャートである。
図16図16は、実施形態に係るサーバが実行するフェーズ4の移行制御の一例を示すフローチャートである。
図17図17は、実施形態に係るサーバが実行するフェーズの移行動作を説明するための図である。
図18図18は、実施形態に係るサーバが実行するフェーズの他の移行動作を説明するための図である。
【発明を実施するための形態】
【0009】
本出願に係るサーバ等を実施するための複数の実施形態を、図面を参照しつつ詳細に説明する。なお、以下の説明により本発明が限定されるものではない。また、以下の説明における構成要素には、当業者が容易に想定できるもの、実質的に同一のもの、いわゆる均等の範囲のものが含まれる。以下の説明において、同様の構成要素について同一の符号を付すことがある。さらに、重複する説明は省略することがある。
【0010】
図1は、実施形態に係るサーバを備えるシステムの一例を示す図である。図2は、図1に示すサーバが管理するフェーズの一例を示す図である。図3は、図1に示すサーバが管理する第1会話情報及び第2会話情報の一例を示す図である。
【0011】
図1に示すシステム1は、ユーザUとの雑談と指向性会話とを交えることで、ユーザUが抱えている課題の解決を支援する機能を有する。システム1は、ユーザUが操作可能な電子機器100と、サーバ200と、を備える。電子機器100とサーバ200とは、ネットワーク400を介して、相互に通信可能なように構成されている。
【0012】
電子機器100は、例えば、スマートフォン、パーソナル・コンピュータ、ヘッドマウントディスプレイ、タブレット端末、テレビジョン受信機、ゲーム機等を含む。以下では、電子機器100は、スマートフォンである場合の一例について説明する。電子機器100は、ユーザUに各種情報を表示可能な表示部110を有する。電子機器100は、例えば、サーバ200が指示した情報を表示部110に表示する機能、ユーザUから取得した情報をサーバ200に送信する機能等を有する。
【0013】
サーバ200は、例えば、クラウドサーバである。サーバ200は、例えば、コンピュータがプログラムを実行することによって実現される。サーバ200は、電子機器100と連携して、ユーザUとの対話、ユーザUの課題を改善する支援等に関する機能を提供できる。サーバ200は、例えば、会話情報を示すメッセージと、ユーザUから取得した回答をメッセージと、を時系列順で電子機器100に表示させるチャット機能を提供できる。サーバ200は、ユーザUから取得した回答等に基づいてユーザUの行動変容を認識し、該行動変更に適した支援を行う機能等を提供できる。行動変容とは、例えば、ユーザUの行動面の変化を意味する。
【0014】
サーバ200は、ユーザUの行動変容が定着するまで、複数の段階に適した会話を実現する。サーバ200は、例えば、段階における会話を、1QAR方式とすることができる。1QAR方式は、Question(質問)とAnswer(回答)とResponse(応答)とを1つのセットとして会話する方式である。サーバ200は、ユーザUに対する会話シナリオを、複数のフェーズに分けて運用する。会話シナリオは、例えば、プログラムで会話のシナリオを定義してもよいし、会話の順序を示すシナリオ情報を用いてもよい。会話シナリオは、例えば、時間区分に応じた会話を行うシナリオになっている。時間区分は、例えば、5:00から10:59の朝、11:00から15:59の昼、16:00から4:59の夜の区分を含むが、これに限定されない。
【0015】
図2に示す一例では、サーバ200は、フェーズ1、フェーズ2、フェーズ3、フェーズ4及びフェーズ5の段階ごとに、ユーザUの行動変容を認識し、段階に適した会話を行う機能を提供できる。
【0016】
フェーズ1は、例えば、ユーザUに関わることを目的としたフェーズである。フェーズ1は、例えば、ユーザUに関わるという段階で、ユーザUを理解するという姿勢で会話することと、ユーザUが自身に関心を持ち、気付いてもらう会話を行うフェーズである。サーバ200は、例えば、確認会話に重点を置いた会話を電子機器100に出力させる。確認会話は、例えば、ユーザUとの会話が成り立つか否かを確認可能な会話を含む。
【0017】
フェーズ2は、例えば、改善したい気持ちをユーザUから引き出すことを目的としたフェーズである。フェーズ2は、例えば、改善したいという気持ちをユーザUから引き出す会話を行うフェーズである。サーバ200は、例えば、介入会話に重点を置きた会話を電子機器100に出力させる。介入会話は、例えば、改善したい気持ちをユーザUから引き出す会話を含む。
【0018】
フェーズ3は、例えば、ユーザUが行動に移させるようにきっかけを作ることを目的としたフェーズである。フェーズ3は、例えば、ユーザUの行動変容へのきっかけ作りをする会話を行うフェーズである。サーバ200は、例えば、介入会話に重点を置きた会話を電子機器100に出力させる。介入会話は、例えば、改善する行動に移るきっかけを作るための会話を含む。
【0019】
フェーズ4は、例えば、行動を変えられたという実感をユーザUに持たせることを目的としたフェーズである。フェーズ4は、例えば、ユーザUの行動変容の実行をサポートする会話を行うフェーズである。サーバ200は、例えば、介入会話及びリコメンドに重点を置きた会話を電子機器100に出力させる。介入会話は、例えば、行動を変えられたという実感を持たせるための会話を含む。リコメンドは、例えば、ユーザUに実感を持たせるために、行動、物品等を勧めるための会話を含む。
【0020】
フェーズ5は、例えば、新しい習慣がユーザUに定着するように見守ることを目的としたフェーズである。フェーズ5は、例えば、行動変容の定着を目指す会話を行うフェーズである。サーバ200は、例えば、リコメンド及びコンテンツ誘導に重点を置きた会話を電子機器100に出力させる。リコメンドは、例えば、行動変容を定着させるために、行動、物品等を勧めるための会話を含む。コンテンツ誘導は、例えば、行動変容を定着させるためのコンテンツに誘導する会話を含む。
【0021】
サーバ200は、ユーザUの行動変容が定着するまでに、複数のフェーズが段階的にあることをユーザUに通知する機能を提供できる。サーバ200は、フェーズ1、フェーズ2、フェーズ3、フェーズ4及びフェーズ5の順にフェーズを移行できる。サーバ200は、ユーザUとの会話に基づいて、現在のフェーズから次のフェーズへ自動で移行する機能を提供できる。なお、サーバ200は、複数のフェーズを1つのフェーズとして合体してもよい。サーバ200は、現在のフェーズから前のフェーズへ戻す機能を提供できる。
【0022】
図1に戻り、サーバ200は、例えば、第1会話情報310、第2会話情報320、回答情報500等を含むデータベースを管理している。サーバ200は、例えば、第1会話情報310及び第2会話情報320を、フェーズ1、フェーズ2、フェーズ3、フェーズ4及びフェーズ5ごとに関連付けて管理している。
【0023】
第1会話情報310は、例えば、指向性を有していない会話等を出力可能な情報を含む。指向性を有していない会話とは、例えば、ユーザUの課題の改善を目的としていない会話、雑談を行うための会話等を意味する。第2会話情報320は、例えば、指向性を有する会話等を出力可能な情報を含む。指向性を有する会話とは、例えば、ユーザUの課題の改善を目的とした会話を意味する。第2会話情報320は、例えば、生活習慣、生活環境、嗜好、ストレスチェック、職場診断、コンテンツ紹介等を目的とした会話を出力可能な情報を含む。第1会話情報310及び第2会話情報320は、例えば、時間帯、季節等ごとに、質問、回答及び応答の会話を示す情報を含んでいる。第1会話情報310は、例えば、挨拶、雑談、ニュース、天気、クイズ、遊び等の第1会話を含む。第1会話は、例えば、秒、時、日、月もしくは年のいずれかにより変化する会話を含む。秒、時、日、月もしくは年のいずれかにより変化する会話とは、例えば、会話の一部を、秒、時、日、月もしくは年のいずれかにより変化させる会話を意味する。例えば、第1会話は、対話する時間帯、日時、季節等に適した文字列を設定した会話とすることができる。
【0024】
図3に示すように、第1会話情報310及び第2会話情報320は、質問項目D1と、回答項目D2と、応答項目D3とを有する。質問項目D1は、ユーザUに対する質問内容を示す情報を含む。回答項目D2は、ユーザUにより選択される複数の回答を示す情報を含む。応答項目D3は、ユーザUが選択した回答に対する応答を示す情報を含む。応答項目D3は、回答項目D2の複数の回答のそれぞれに応じた応答を示す情報を含む。
【0025】
図3に示す一例では、第1会話情報310は、「おはよう!新しい朝だ!」の会話を示す情報が質問項目D1に設定されている。第1会話情報310は、「(a)おはよう!(b)ふーん!(c)ばいばい!」の3つの選択肢を示す情報が回答項目D2に設定されている。第1会話情報310は、「(a)来てくれてありがとう!(b)来てくれてありがとう!(c)またね!」の3つの応答を示す情報が応答項目D3に設定されている。
【0026】
第2会話情報320は、例えば、体重に課題を持つユーザUに対する会話情報となっている。第2会話情報320は、「昨日はお酒飲んだ?」の会話を示す情報が質問項目D1に設定されている。第2会話情報320は、「(a)はい(b)いいえ」の2つの選択肢を示す情報が回答項目D2に設定されている。第2会話情報320は、「(a)リフレッシュになったかな?(b)さすがだね!」の3つの応答を示す情報が応答項目D3に設定されている。サーバ200は、第2会話情報320に基づくユーザUとの会話を実現することにより、ユーザUの回答等に基づいてユーザUの行動変容に関する情報を収集することができる。
【0027】
図1に戻り、サーバ200は、第1会話情報310と第2会話情報320とを用いて、ユーザUの回答情報500を収集する機能を提供できる。回答情報500は、例えば、質問項目D1、回答項目D2、応答項目D3等の内容を識別可能な情報を含む。回答情報500は、例えば、質問に対する回答の有無を識別可能な情報を含む。回答情報500は、質問、回答、応答等の会話を行った日時を識別可能な情報を含む。
【0028】
図4は、実施形態に係るサーバ200のシナリオ会話とログとの関係の一例を説明するための図である。サーバ200は、例えば、図4に示すシナリオ情報300を用いてシナリオ会話を実現する。シナリオ情報300は、例えば、シナリオ番号、シナリオ会話、会話情報の種類等といった項目を有する。シナリオ情報300は、シナリオ番号がシナリオの順序を示している。シナリオ会話の項目は、挨拶・雑談、指向性会話(1)、指向性会話(2)、指向性会話(3)、挨拶等のシナリオ会話の種類を示す情報が設定される。会話情報の種類の項目は、会話で用いる第1会話情報310または第2会話情報320の種類が設定される。会話情報の種類の項目は、シナリオ会話で用いる第1会話情報310または第2会話情報320を識別可能な情報が設定される。
【0029】
図4に示す一例では、シナリオ情報300は、挨拶・雑談、指向性会話(1)、指向性会話(2)、指向性会話(3)、挨拶の順序で会話を行うシナリオを示している。シナリオ情報300は、挨拶・雑談及び挨拶のシナリオ会話において、第1会話情報310を用いることを示している。シナリオ情報300は、指向性会話(1)、指向性会話(2)及び指向性会話(3)のシナリオ会話において、フェーズに応じた第2会話情報320を用いることを示している。
【0030】
サーバ200は、シナリオ情報300に基づいて、挨拶・雑談、指向性会話(1)、指向性会話(2)、指向性会話(3)及び挨拶の順序でシナリオ会話を行うように、電子機器100の出力を制御する。サーバ200は、電子機器100でシナリオ会話を実行させたか否かのログを示すログ情報330を作成する機能を有する。ログ情報330は、例えば、シナリオ番号、ログ等の項目を有する。ログ情報330のシナリオ番号の項目には、例えば、対応するシナリオ情報300のシナリオ番号を示す情報が設定される。ログ情報330のシナリオのログの項目には、例えば、シナリオ番号に対応するシナリオ会話を実行したか否かを示す情報が設定される。ログ情報330のシナリオのログの項目は、例えば、会話を実行した日時等を示す情報を設定する構成としてもよい。
【0031】
図4に示す一例では、シナリオ情報300は、挨拶・雑談、指向性会話(1)、指向性会話(2)、指向性会話(3)、挨拶を示すシナリオとした場合について説明したが、これに限定されない。例えば、シナリオ情報300は、フェーズの種類に応じた、指向性会話の数を変更しもよい。
【0032】
以下では、サーバ200は、体重に課題を持つユーザUを支援対象として、課題の改善を支援する場合の一例について説明する。
【0033】
図5は、実施形態に係るサーバ200が電子機器100にメッセージを表示させる一例を示す図である。図5に示す一例では、電子機器100は、チャットボットのアプリケーションを実行している。チャットボットは、例えば、シナリオや設定された回答を選択して会話する機能を提供できる。チャットボットは、ユーザUに解決策を提示するのではなく、聞き役となり、共感や理解することで、ユーザU自らが成長や変容を促すカウンセリングを実現できる。電子機器100は、ユーザUによってアプリケーションが実行されると、サーバ200にログインし、ユーザUが電子機器100からサーバ200の使用を開始する。サーバ200は、ユーザU及びフェーズを認識し、メッセージ画面600を電子機器100の表示部110に表示させる。
【0034】
サーバ200は、ログインした時間区分に応じたシナリオ情報300を取得し、該シナリオ情報300に基づくユーザUとの会話を開始する。
【0035】
シナリオ番号SN1では、サーバ200は、アバター610と、挨拶に関する第1会話情報310が示す会話のメッセージ620とを関連付けてメッセージ画面600に表示するように、電子機器100を制御する。サーバ200は、例えば、ユーザUがサーバ200にログイン(アクセス)した時間区分の会話を示すメッセージ620を、電子機器100に表示させる。
【0036】
メッセージ620は、アバター610の吹き出しとして表示されている。サーバ200は、第1会話情報310の回答項目D2が示す複数の選択肢を示すメッセージ630を、メッセージ620に関連付けてメッセージ画面600に表示するように、電子機器100を制御する。これにより、電子機器100は、「佐藤さん、おはよう!新しい朝だ!」のメッセージ620と、「おはよう!」、「ふーん」及び「ばいばい!」の選択肢を示す3つのメッセージ630とをメッセージ画面600に表示する。
【0037】
ユーザUは、3つの選択肢のうち、「ふーん」のメッセージ630を電子機器100で選択している。電子機器100は、「ふーん」のメッセージ630が選択されたことを示す回答情報500をサーバ200に送信する。サーバ200は、回答情報500の「ふーん」の回答を示すメッセージ640を、ユーザUの回答としてメッセージ画面600に表示するように、電子機器100を制御する。これにより、電子機器100は、ユーザUの回答として「ふーん」のメッセージ640を、メッセージ画面600の右側から吹き出すように表示する。
【0038】
サーバ200は、シナリオ情報300に基づいて、「ふーん」に応じた応答を第1会話情報310から抽出し、該応答のメッセージ640をメッセージ画面600に表示するように、電子機器100を制御する。これにより、電子機器100は、アバター610の会話として、「来てくれてありがとう!」のメッセージ620を、メッセージ画面600に表示する。
【0039】
シナリオ情報300のシナリオ番号SN1では、挨拶に続く雑談の会話が示されている。このため、サーバ200は、アバター610と、第1会話情報310が示す雑談の会話を示すメッセージ620とを関連付けてメッセージ画面600に表示するように、電子機器100を制御する。サーバ200は、第1会話情報310が示す回答の選択肢を示すメッセージ630を、メッセージ620に関連付けてメッセージ画面600に表示するように、電子機器100を制御する。これにより、電子機器100は、「今日は豆腐の日です」のメッセージ620と、「知ってた」、「知らなかった」及び「ばいばい!」の選択肢を示す3つのメッセージ630とをメッセージ画面600に表示する。
【0040】
ユーザUは、3つの選択肢のうち、「知らなかった」のメッセージ630を選択している。電子機器100は、「知らなかった」のメッセージ630が選択されたことを示す回答情報500をサーバ200に送信する。サーバ200は、回答情報500の「知らなかった」の回答を示すメッセージ630を、ユーザUの回答としてメッセージ画面600に表示するように、電子機器100を制御する。これにより、電子機器100は、ユーザUの回答として「知らなかった」のメッセージ640を、メッセージ画面600の右側から吹き出すように表示する。
【0041】
サーバ200は、シナリオ情報300に基づいて、ユーザUが選択した「知らなかった」に応じた応答を第1会話情報310から抽出し、該応答のメッセージ620をメッセージ画面600に表示するように、電子機器100を制御する。これにより、電子機器100は、アバター610の会話として、「新しい発見だね!」のメッセージ620を、メッセージ画面600に表示する。
【0042】
シナリオ番号SN1の会話が終了すると、サーバ200は、シナリオ情報300に基づいて、シナリオ番号SN2の指向性会話(1)のシナリオ会話を制御する処理を開始する。
【0043】
シナリオ番号SN2では、サーバ200は、アバター610と、指向性会話(1)に関する会話のメッセージ620とを関連付けてメッセージ画面600に表示するように、電子機器100を制御する。サーバ200は、例えば、第2会話情報320の回答項目D2が示す回答の選択肢を示すメッセージ630を、メッセージ620に関連付けてメッセージ画面600に表示するように、電子機器100を制御する。これにより、電子機器100は、「昨日はお酒飲んだ?」のメッセージ620と、「いいえ」及び「はい」の選択肢を示す2つのメッセージ630とをメッセージ画面600に表示する。
【0044】
ユーザUは、表示された2つの選択肢のうち、「はい」のメッセージ630を選択している。電子機器100は、「はい」のメッセージ630が選択されたことを示す回答情報500をサーバ200に送信する。サーバ200は、シナリオ情報300に基づいて、ユーザUが選択した「はい」に応じた応答を第2会話情報320から抽出し、該応答のメッセージ620をメッセージ画面600に表示するように、電子機器100を制御する。これにより、電子機器100は、アバター610の会話として、「リフレッシュになったかな?」のメッセージ620を、メッセージ画面360に表示する。
【0045】
以降も同様に、サーバ200は、シナリオ情報300に基づいて、第1会話情報310と第2会話情報320との会話を組み合わせることで、ユーザUとのシナリオ会話を実現する。その結果、サーバ200は、ユーザUとの雑談及び指向性会話によって得られた回答情報500を、表示した会話に関連付けて収集することができる。また、図5に示す一例の場合、サーバ200は、シナリオ番号SN1、SN2の会話を実行し、それ以降のシナリオ会話を実行していないことを示すログ情報330を作成する。
【0046】
図6は、実施形態に係る電子機器100の構成の一例を示す図である。図6に示すように、電子機器100は、表示部110と、操作部120と、出力部130と、センサ部140と、通信部150と、記憶部160と、制御部170と、を備える。制御部170は、表示部110、操作部120、出力部130、センサ部140、通信部150、記憶部160等と電気的に接続されている。
【0047】
表示部110は、例えば、液晶ディスプレイ(Liquid Crystal Display)、有機ELディスプレイ(Organic Electro-Luminescence Display)等の表示パネルを有する。表示部110は、制御部170から入力される信号に応じて、文字、図形、画像等の情報を表示できる。表示部110が表示する情報には、上述した第1会話情報310、第2会話情報320、回答情報500等の各種情報が含まれる。
【0048】
操作部120は、ユーザの操作を受け付けるための1ないし複数のデバイスを有する。ユーザの操作を受け付けるためのデバイスは、例えば、キー、ボタン、タッチスクリーン等を含む。操作部120は、受け付けた操作に応じた信号を制御部170へ供給できる。
【0049】
出力部130は、制御部170から入力される音信号を音として出力できる。出力部130は、例えば、ステレオスピーカ、サラウンドスピーカ等を有する。出力部130は、制御部170から入力されたモノラル信号、ステレオ信号、サラウンド信号等を外部に出力できる。
【0050】
センサ部140は、ユーザUや周囲に係る音、画像等の種々の取得情報を取得できる。本実施形態に係るセンサ部140は、例えば、カメラ、マイクロフォン等を含む。センサ部140は、例えば、地磁気センサ、タッチセンサ、赤外線センサ、温度センサ、湿度センサなどの様々なセンサを含んでもよい。センサ部140は、取得した取得情報を制御部170に供給できる。センサ部140は、マイクロフォンによって取得したユーザUの音声等を示す取得情報を制御部170に供給できる。センサ部140は、カメラで取得したユーザUの画像、映像等を示す取得情報を制御部170に供給できる。
【0051】
通信部150は、例えば、サーバ200、他の電子機器100等と通信できる。通信部150は、各種通信規格をサポートできる。通信部150は、例えば、有線又は無線ネットワーク等を介して各種情報を送受信できる。通信部150は、受信した情報を制御部170に供給できる。通信部150は、制御部170が指示した送信先に情報を送信できる。
【0052】
記憶部160は、プログラム及びデータを記憶できる。記憶部160は、制御部170の処理結果を一時的に記憶する作業領域としても利用される。記憶部160は、半導体記憶媒体、及び磁気記憶媒体等の任意の非一過的(non-transitory)な記憶媒体を含んでよい。記憶部160は、複数の種類の記憶媒体を含んでよい。記憶部160は、メモリカード、光ディスク、又は光磁気ディスク等の可搬の記憶媒体と、記憶媒体の読み取り装置との組み合わせを含んでよい。記憶部160は、RAM(Random Access Memory)等の一時的な記憶領域として利用される記憶デバイスを含んでよい。
【0053】
記憶部160は、例えば、プログラム161、第1会話情報310、第2会話情報320、回答情報500等を記憶できる。プログラム161には、アプリケーションと、アプリケーションの動作を支援する制御プログラムとが含まれる。アプリケーションは、例えば、サーバ200と連携してユーザUとの会話を実現するための機能を提供できる。アプリケーションは、例えば、表示部110に画面を表示させ、操作部120のタッチスクリーンを介して検出されるジェスチャに応じた処理を制御部170に実行させる。制御プログラムは、例えば、OSである。アプリケーション及び制御プログラムは、通信部150による無線通信又は非一過的な記憶媒体を介して記憶部160にインストールされてもよい。
【0054】
第1会話情報310は、例えば、サーバ200から受信した雑談等の会話と該会話に対応する複数の選択肢とを示す情報を含む。第2会話情報320は、例えば、サーバ200から受信した指向性を有する会話と、該会話に対応した複数の選択肢とを示す情報を含む。回答情報500は、例えば、操作部120を介して取得したユーザUの回答を示す情報を含む。記憶部160は、第1会話情報310、第2会話情報320、回答情報500等を時系列順に記憶できる。
【0055】
制御部170は、演算処理装置である。演算処理装置は、例えば、CPU(Central Processing Unit)、SoC(System-on-a-Chip)、MCU(Micro Control Unit)、FPGA(Field-Programmable Gate Array)、及びコプロセッサを含むが、これらに限定されない。制御部170は、電子機器100の動作を統括的に制御して各種の機能を実現する。
【0056】
具体的には、制御部170は、記憶部160に記憶されている情報を必要に応じて参照しつつ、記憶部160に記憶されているプログラム161に含まれる命令を実行する。そして、制御部170は、データ及び命令に応じて機能部を制御し、それによって各種機能を実現する。機能部は、例えば、表示部110、操作部120、出力部130、センサ部140、及び通信部150を含むが、これらに限定されない。
【0057】
制御部170は、通信部150を介して、サーバ200から会話、選択肢等に関する情報の出力が指示されると、会話、選択肢等を示すメッセージを表示部110に表示させる。制御部170は、操作部120を介して、選択肢に対するユーザUの選択を検出すると、選択肢の選択結果を示す回答情報500をサーバ200に送信する制御を行う。
【0058】
以上、本実施形態に係る電子機器100の機能構成例について説明した。なお、図6を用いて説明した上記の構成はあくまで一例であり、本実施形態に係る電子機器100の機能構成は係る例に限定されない。本実施形態に係る電子機器100の機能構成は、仕様や運用に応じて柔軟に変形可能である。
【0059】
図7は、実施形態に係るサーバ200の構成の一例を示す図である。図7に示すように、サーバ200は、表示部210と、操作部220と、通信部230と、記憶部240と、制御部250と、を備える。制御部250は、表示部210、操作部220、通信部230、記憶部240等と電気的に接続されている。
【0060】
表示部210は、制御部250の制御によって各種情報を表示可能なように構成されている。表示部210は、例えば、液晶ディスプレイ、有機ELディスプレイ等の表示パネルを有する。表示部210は、制御部250から入力される信号に応じて、文字、図形、画像等の情報を表示する。
【0061】
操作部220は、ユーザの操作を受け付けるための1ないし複数のデバイスを有する。ユーザの操作を受け付けるためのデバイスは、例えば、キー、ボタン、タッチスクリーン等を含む。操作部220は、受け付けた操作に応じた信号を制御部250へ供給できる。
【0062】
通信部230は、例えば、電子機器100、他の通信機器等と通信できる。通信部230は、各種通信規格をサポートできる。通信部230は、例えば、有線又は無線ネットワーク等を介して各種情報を送受信できる。通信部230は、受信した情報を制御部250に供給できる。通信部230は、制御部250が指示した送信先に情報を送信できる。
【0063】
記憶部240は、プログラム及びデータを記憶できる。記憶部240は、制御部250の処理結果を一時的に記憶する作業領域としても利用される。記憶部240は、半導体記憶媒体、及び磁気記憶媒体等の任意の非一過的な記憶媒体を含んでよい。記憶部240は、複数の種類の記憶媒体を含んでよい。記憶部240は、メモリカード、光ディスク、又は光磁気ディスク等の可搬の記憶媒体と、記憶媒体の読み取り装置との組み合わせを含んでよい。記憶部240は、RAM等の一時的な記憶領域として利用される記憶デバイスを含んでよい。
【0064】
記憶部240は、例えば、プログラム241、シナリオ情報300、第1会話情報310、第2会話情報320、ログ情報330、回答情報500等を記憶できる。プログラム241は、電子機器100と連携してユーザUとの会話を実現するための各種制御に関する機能を制御部250に実行させる。シナリオ情報300は、上述したように、ユーザUとサーバ200との会話のシナリオ、ルール等を示す情報である。記憶部240は、複数の第1会話情報310及び第2会話情報320を記憶することでデータベースを実現してもよいし、データベースから取得した第1会話情報310及び第2会話情報320を記憶してもよい。ログ情報330は、例えば、会話、質問、回答、応答等のログを示す情報を含む。回答情報500は、例えば、通信部230を介して電子機器100から受信した情報である。回答情報500は、例えば、ユーザU、電子機器100等を識別可能な情報が関連付けられている。
【0065】
制御部250は、演算処理装置である。演算処理装置は、例えば、CPU、SoC、MCU、FPGA、及びコプロセッサを含むが、これらに限定されない。制御部250は、サーバ200の動作を統括的に制御して各種の機能を実現できる。
【0066】
具体的には、制御部250は、記憶部240に記憶されている情報を必要に応じて参照しつつ、記憶部240に記憶されているプログラム241に含まれる命令を実行できる。そして、制御部250は、データ及び命令に応じて機能部を制御し、それによって各種機能を実現できる。機能部は、例えば、表示部210及び通信部230を含むが、これらに限定されない。
【0067】
制御部250は、判別部251、決定部252、質問部253、計数部254、出力制御部255等の機能部を有する。制御部250は、プログラム241を実行することによって、判別部251、決定部252、質問部253、計数部254、出力制御部255等の機能を実現する。プログラム241は、サーバ200の制御部250を、判別部251、決定部252、質問部253、計数部254及び出力制御部255として機能させるためのプログラムである。
【0068】
判別部251は、ユーザUから取得した質問に対する回答が、第1の種類の回答であるか、第2の種類の回答であるかを判別する。判別部251は、例えば、電子機器100を介して取得したユーザUの回答情報に基づいて、回答が第1の種類の回答であるか、第2の種類の回答であるかを判別する。第1の種類の回答は、例えば、チェンジトークを含む。チェンジトークは、ユーザU自身が表明する変化に賛成する発言の全て含む。第2の種類の回答は、例えば、維持トークを含む。維持トークは、例えば、変化に反対する現状維持の発言の全てを含む。
【0069】
図8は、実施形態に係るチェンジトークと維持トークの一例を説明するための図である。図8に示すように、チェンジトークは、例えば、準備チェンジトークと、実行チェンジトークと、を含む。準備チェンジトークは、例えば、行動変容は起き難いが、実行チェンジトークの起因となるユーザUの発言を含む。実行チェンジトークは、例えば、実際に実行することのサインとなる発言を含む。
【0070】
準備チェンジトークは、例えば、願望、能力、理由、ニーズ等の分類を含む。願望は、例えば、痩せたい等のチェンジトークを含む。これに対し、願望のチェンジトークに対する維持トークは、例えば、運動したくない等の発言を含む。能力は、例えば、歩くことができる等のチェンジトークを含む。これに対し、能力のチェンジトークに対する維持トークは、例えば、運動しなくても健康です等の発言を含む。理由は、例えば、運動すれば痩せる等のチェンジトークを含む。これに対し、理由のチェンジトークに対する維持トークは、例えば、運動する時間はありません等の発言を含む。ニーズは、例えば、夏までには痩せるべき等のチェンジトークを含む。これに対し、ニーズのチェンジトークに対する維持トークは、例えば、運動よりも休養が必要です等の発言を含む。
【0071】
実行チェンジトークは、例えば、コミットメント、活性化、段階を踏む等の分類を含む。コミットメントは、例えば、明日から運動します等のチェンジトークを含む。コミットメントのチェンジトークに対する維持トークは、例えば、ダイエットをやめます等の発言を含む。活性化は、例えば、ダイエットする気がある等のチェンジトークを含む。活性化のチェンジトークに対する維持トークは、例えば、運動する気がありません等の発言を含む。段階を踏むは、例えば、運動するためのシューズを買いました等のチェンジトークを含む。段階を踏むのチェンジトークに対する維持トークは、例えば、運動を休んでいます等の発言を含む。
【0072】
チェンジトークと維持トークは、混在していることが普通である。チェンジトークの発言数は、維持トークの発言数を上回ることによって行動変容の確率が上がる。よって、本開示では、チェンジトークを強化することで、維持トークよりもチェンジトークの発言数を増加させる。本開示では、準備チェンジトークから実行チェンジトークが増加するようにさせることができる。例えば、指向性を有する第2会話情報320は、回答項目D2として、準備チェンジトーク、実行チェンジトーク及び維持トークのそれぞれに対応した回答を設定している。これにより、判別部251は、ユーザUから取得した質問に対する回答を詳細に判別すること可能となっている。
【0073】
図7に戻り、判別部251は、ユーザUの回答がチェンジトークであるか、維持トークであるかを判別する。判別部251は、例えば、チェンジトーク及び維持トークのデータベースを参照し、回答がチェンジトークであるか、維持トークであるかを判別する。判別部251は、例えば、チェンジトークの回答と維持トークの回答との教師データを機械学習した学習済みのプログラムを用いて、回答を判別する構成としてもよい。判別部251は、判別結果を記憶部240に記憶する。
【0074】
決定部252は、判別部251による判別結果に基づいて、現在第1のフェーズにいるユーザのフェーズを、第1のフェーズに維持するか、第2のフェーズに移行するかを決定する。第1のフェーズに維持するとは、例えば、現在のフェーズから他のフェーズに移行させないことを意味する。第2のフェーズに移行するとは、例えば、現在のフェーズから次または以前のフェーズに移行することを意味する。決定部252は、判別部251の判別結果が第1の種類の回答である場合に、第2のフェーズに移行すると決定し、判別部251の判別結果が第2の種類の回答である場合に、第1のフェーズを維持すると決定する。
【0075】
決定部252は、所定期間における判別部251の判別結果に基づいて、ユーザUのフェーズを、第1のフェーズに維持するか、第2のフェーズに移行するかを決定する。所定期間は、例えば、1週間、3日間等の任意の期間を含む。決定部252は、ユーザUから取得した回答における、第1の種類の回答の個数と、第2の種類の回答の個数との割合に基づいて、ユーザUのフェーズを、第1のフェーズに維持するか、第2のフェーズに移行するかを決定する。決定部252は、ユーザUとの会話の数が閾値を超えた場合に、回答における、第1の種類の回答の個数と、第2の種類の回答の個数との割合に基づいて、ユーザのフェーズUを、第1のフェーズに維持するか、第2のフェーズに移行するかを決定する。決定部252は、ユーザUから取得した実行チェンジトークの数または割合に基づいて、ユーザUのフェーズを、第1のフェーズに維持するか、第2のフェーズに移行するかを決定する。
【0076】
質問部253は、ユーザUに対して課題に関する質問を提示する。質問部253は、上述した質問項目D1に設定された質問の情報を電子機器100に送信し、電子機器100に出力させることで、質問を提示する。質問部253は、現在のフェーズに対応し、かつユーザUから回答を得るための質問を提示する。
【0077】
決定部252は、質問部253による質問の回答が第2の種類の回答であるか否かに基づいて、ユーザUのフェーズを、第1のフェーズに維持するか、第2のフェーズに移行するかを決定する。決定部252は、質問に対する肯定的な回答の個数に基づいて、ユーザのフェーズを、第1のフェーズに維持するか、第2のフェーズに移行するかを決定する。決定部252は、質問に対する肯定的な回答の個数が、フェーズにおけるユーザUの行動変容が定着している個数である場合、ユーザUのフェーズを第2のフェーズに移行する。フェーズにおけるユーザUの行動変容が定着している個数は、例えば、実験結果、任意の個数を設定することができる。
【0078】
計数部254は、ユーザUと確認会話が継続する回数を計数する。確認会話は、例えば、会話が成り立つユーザUであるか否かを判定するための会話を含む。計数部254は、例えば、フェーズ1における確認会話と該確認会話に対するユーザUの回答との回数を計数する。例えば、フェーズ1において、確認対話に対して所定回数の回答が得られる場合、サーバ200は、会話が成り立っていると判断することができる。所定回数は、例えば、5回、10回等の任意の回数を含む。計数部254は、計数した結果を記憶部240に記憶する。
【0079】
決定部252は、計数部254の計数結果が判定条件を満たす場合に、ユーザUのフェーズを、第1のフェーズに維持するか、第2のフェーズに移行するかを決定する処理を実行する。判定条件は、例えば、フェーズ1において10回答以上の条件等を含む。
【0080】
出力制御部255は、フェーズに対応する会話を出力するための会話情報を、ユーザUが操作可能な電子機器100に出力させる。ユーザUが操作可能な電子機器100とは、例えば、ユーザUが所有する電子機器100、ユーザUがログイン可能な電子機器100等を含む。出力制御部255は、通信部230を介して、会話情報の出力を電子機器100に指示することで、会話情報を電子機器100に出力させる。
【0081】
出力制御部255は、ユーザUの電子機器100に、第1会話情報310を出力させた後に、第2会話情報320を出力させる。出力制御部255は、ユーザUの電子機器100に、第1会話情報310を出力させた後に、第2会話情報320を出力させ、第2会話情報320を出力させた後に、異なる第1会話情報を出力させる。すなわち、出力制御部255は、雑談、指向性会話、雑談を1つのセットとしたシナリオ会話でユーザUとの対話を実現できる。
【0082】
出力制御部255は、ユーザUの前回のログインの際に第1会話情報310を出力させている場合、今回のログインの際には、ログ情報330に基づいて電子機器100に出力させていない第1会話情報310または第2会話情報320を、電子機器100に出力させる。例えば、ユーザUは、時間区分における会話が終了した後、同じ時間区分に再度ログインする可能性がある。この場合、出力制御部255は、同じ会話情報を出力することを回避できるので、ユーザUが会話に煩わしさを感じることを抑制することができる。
【0083】
出力制御部255は、現在の時刻の時間区分に基づいて第1会話情報310及び第2会話情報320を選択する。出力制御部255は、現在の時刻が時間区分の夜である場合、ユーザUから1日の感想を引き出す第1会話情報310を選択する。1日の感想を引き出す第1会話情報310は、例えば、1日の感想を質問する会話を含む会話情報である。出力制御部255は、ユーザUに対する第2会話(指向性会話)が予定数終了している場合、ユーザUに所定時間の待機を示す旨の第1会話を電子機器100に出力させる。予定数は、例えば、複数のフェーズごとに任意に設定できる。出力制御部255は、複数の第1会話情報310のうち、ユーザUの電子機器100で出力させていない第1会話情報310を、電子機器100に出力させる。出力制御部255は、ログ情報330に基づいて、出力させていない第1会話情報310を記憶部240から抽出し、該第1会話情報310を電子機器100に出力させる。
【0084】
以上、本実施形態に係るサーバ200の機能構成例について説明した。なお、図7を用いて説明した上記の構成はあくまで一例であり、本実施形態に係るサーバ200の機能構成は係る例に限定されない。本実施形態に係るサーバ200の機能構成は、仕様や運用に応じて柔軟に変形可能である。
【0085】
図9は、実施形態に係るサーバ200が実行する出力制御の一例を示すフローチャートである。図9に示す処理手順は、サーバ200の制御部250がプログラム241を実行することによって実現される。図9に示す処理手順は、ユーザUが電子機器100からサーバ200にログインしたタイミング等に実行される。
【0086】
図9に示すように、サーバ200の制御部250は、時間区分が朝であるか否かを判定する(ステップS100)。例えば、制御部250は、現在の時刻が朝の時間区分である場合、時間区分が朝であると判定する。制御部250は、時間区分が朝であると判定した場合(ステップS100でYes)、処理をステップS200に進める。
【0087】
制御部250は、時間区分が朝の会話処理を実行する(ステップS200)。時間区分が朝の会話処理は、例えば、時間区分が朝に適した第1会話情報310及び第2会話情報320を、シナリオ会話の順序で電子機器100に出力させる処理等を含む。
【0088】
図10は、図9に示す朝の会話処理の一例を示すフローチャートである。図10に示すように、制御部250は、第1会話情報310に基づいて、朝の挨拶の会話処理を実行する(ステップS201)。例えば、制御部250は、挨拶を示す複数の第1会話情報310の中から、現在の日時に適した第1会話情報310をランダムに抽出し、該第1会話情報310の出力を電子機器100に指示する処理を実行する。制御部250は、第1会話情報310の出力が終了すると、第1会話情報310と該第1会話情報310を出力した日時等を識別可能なログ情報330を作成する。制御部250は、ステップS201の処理が終了すると、処理をステップS202に進める。
【0089】
制御部250は、雑談が済みであるか否かを判定する(ステップS202)。例えば、制御部250は、同一の日付で朝の時間区分に、雑談の第1会話情報310を出力させていることをログ情報330が示している場合、雑談が済みであると判定する。制御部250は、雑談が済みではないと判定した場合(ステップS202でNo)、処理をステップS203に進める。
【0090】
制御部250は、第1会話情報310に基づいて、雑談の会話処理を実行する(ステップS203)。例えば、制御部250は、雑談を示す複数の第1会話情報310の中から、出力していない、あるいは、出力してから一定期間が経過した第1会話情報310を抽出し、該第1会話情報310の出力を電子機器100に指示する処理を実行する。制御部250は、第1会話情報310の出力が終了すると、第1会話情報310と該第1会話情報310を出力した日時等を識別可能なログ情報330を作成する。制御部250は、ステップS203の処理が終了すると、処理をステップS204に進める。
【0091】
制御部250は、第2会話情報320に基づいて、指向性会話(1)の会話処理を実行する(ステップS204)。例えば、制御部250は、ユーザUのフェーズに対応したシナリオ情報300に基づいて、指向性会話(1)に対応する第2会話情報320を取得し、該第2会話情報320の質問、回答及び応答の出力を電子機器100に指示する処理を実行する。制御部250は、第2会話情報320の出力が終了すると、指向性会話(1)を出力した日時等を識別可能なログ情報330を作成する。制御部250は、ステップS204の処理が終了すると、処理をステップS205に進める。
【0092】
制御部250は、第2会話情報320に基づいて、指向性会話(2)の会話処理を実行する(ステップS205)。例えば、制御部250は、シナリオ情報300に基づいて、指向性会話(1)の次の指向性会話(2)に対応する第2会話情報320を取得し、該第2会話情報320の質問、回答及び応答の出力を電子機器100に指示する処理を実行する。制御部250は、第2会話情報320の出力が終了すると、指向性会話(2)を出力した日時等を識別可能なログ情報330を作成する。制御部250は、ステップS205の処理が終了すると、処理をステップS206に進める。
【0093】
制御部250は、第2会話情報320に基づいて、指向性会話(3)の会話処理を実行する(ステップS206)。例えば、制御部250は、シナリオ情報300に基づいて、指向性会話(2)の次の指向性会話(3)に対応する第2会話情報320を取得し、該第2会話情報320の質問、回答及び応答の出力を電子機器100に指示する処理を実行する。制御部250は、第2会話情報320の出力が終了すると、指向性会話(3)を出力した日時等を識別可能なログ情報330を作成する。制御部250は、ステップS206の処理が終了すると、処理をステップS207に進める。
【0094】
制御部250は、第1会話情報310に基づいて、終わりの挨拶の会話処理を実行する(ステップS207)。例えば、制御部250は、終わりの挨拶を示す複数の第1会話情報310の中から、現在の日時に適した第1会話情報310をランダムに抽出し、該第1会話情報310の出力を電子機器100に指示する処理を実行する。制御部250は、第1会話情報310の出力が終了すると、第1会話情報310と該第1会話情報310を出力した日時等を識別可能なログ情報330を作成する。制御部250は、ステップS207の処理が終了すると、図10に示す処理手順を終了し、図9に示すステップS200の処理に復帰する。
【0095】
また、制御部250は、雑談が済みであると判定した場合(ステップS202でYes)、処理をステップS208に進める。制御部250は、指向性会話(1)が済んでいるか否かを判定する(ステップS208)。例えば、制御部250は、ユーザUのログ情報330が指向性会話(1)を出力したことを示している場合、指向性会話(1)が済んでいると判定する。
【0096】
制御部250は、指向性会話(1)が済んでいないと判定した場合(ステップS208でNo)、処理を既に説明したステップS204に進める。制御部250は、第2会話情報320に基づいて、指向性会話(1)の会話処理を実行する(ステップS204)。制御部250は、第2会話情報320に基づいて、指向性会話(2)の会話処理を実行する(ステップS205)。制御部250は、第2会話情報320に基づいて、指向性会話(3)の会話処理を実行する(ステップS206)。すなわち、制御部250は、実行済みのステップS203の雑談の会話処理を実行せずに、指向性会話(1)、指向性会話(2)及び指向性会話(3)の会話処理を順次実行する。制御部250は、第1会話情報310に基づいて、終わりの挨拶の会話処理を実行する(ステップS207)。制御部250は、ステップS207の処理が終了すると、図10に示す処理手順を終了し、図9に示すステップS200の処理に復帰する。
【0097】
また、制御部250は、指向性会話(1)が済んでいると判定した場合(ステップS208でYes)、処理をステップS209に進める。制御部250は、指向性会話(2)が済んでいるか否かを判定する(ステップS209)。例えば、制御部250は、ユーザUのログ情報330が指向性会話(2)を出力したことを示している場合、指向性会話(2)が済んでいると判定する。
【0098】
制御部250は、指向性会話(2)が済んでいないと判定した場合(ステップS209でNo)、処理を既に説明したステップS205に進める。制御部250は、第2会話情報320に基づいて、指向性会話(2)の会話処理を実行する(ステップS205)。制御部250は、シナリオ情報300が示す第2会話情報320に基づいて、指向性会話(3)の会話処理を実行する(ステップS206)。すなわち、制御部250は、実行済みのステップS203の雑談及びステップS204の指向性会話(1)の会話処理を実行せずに、指向性会話(2)及び指向性会話(3)の会話処理を順次実行する。制御部250は、第1会話情報310に基づいて、終わりの挨拶の会話処理を実行する(ステップS207)。制御部250は、ステップS207の処理が終了すると、図10に示す処理手順を終了し、図9に示すステップS200の処理に復帰する。
【0099】
また、制御部250は、指向性会話(2)が済んでいると判定した場合(ステップS209でYes)、処理をステップS210に進める。制御部250は、指向性会話(3)が済んでいるか否かを判定する(ステップS210)。例えば、制御部250は、ユーザUのログ情報330が指向性会話(3)を出力したことを示している場合、指向性会話(3)が済んでいると判定する。
【0100】
制御部250は、指向性会話(3)が済んでいないと判定した場合(ステップS210でNo)、処理を既に説明したステップS206に進める。制御部250は、シナリオ情報300が示す第2会話情報320に基づいて、指向性会話(3)の会話処理を実行する(ステップS206)。すなわち、制御部250は、実行済みのステップS203の雑談、ステップS204の指向性会話(1)及びステップS205の指向性会話(2)の会話処理を実行せずに、指向性会話(3)の会話処理のみを実行する。制御部250は、第1会話情報310に基づいて、終わりの挨拶の会話処理を実行する(ステップS207)。制御部250は、ステップS207の処理が終了すると、図10に示す処理手順を終了し、図9に示すステップS200の処理に復帰する。
【0101】
また、制御部250は、指向性会話(3)が済んでいると判定した場合(ステップS210でYes)、処理をステップS211に進める。制御部250は、ユーザUに待機を促す処理を実行する(ステップS211)。待機を促す処理は、例えば、指向性会話(1)から指向性会話(3)が終了しており、次のフェーズに移行するまで待機することを促すための情報を電子機器100に出力させる処理等を含む。制御部250は、ステップS211の処理が終了すると、図10に示す処理手順を終了し、図9に示すステップS200の処理に復帰する。
【0102】
図9に戻り、制御部250は、ステップS200の処理が終了すると、図9に示す処理手順を終了させる。
【0103】
また、制御部250は、時間区分が朝ではないと判定した場合(ステップS100でNo)、処理をステップS300に進める。制御部250は、時間区分が昼であるか否かを判定する(ステップS300)。例えば、制御部250は、現在の時刻が昼の時間区分である場合、時間区分が昼であると判定する。制御部250は、時間区分が昼であると判定した場合(ステップS300でYes)、処理をステップS400に進める。
【0104】
制御部250は、時間区分が昼の会話処理を実行する(ステップS400)。時間区分が昼の会話処理は、例えば、時間区分が昼に適した第1会話情報310及び第2会話情報320を、シナリオ会話の順序で電子機器100に出力させる処理等を含む。
【0105】
図11は、図9に示す昼の会話処理の一例を示すフローチャートである。図11に示すように、制御部250は、第1会話情報310に基づいて、昼の挨拶の会話処理を実行する(ステップS401)。例えば、制御部250は、挨拶を示す複数の第1会話情報310の中から、現在の日時に適した第1会話情報310をランダムに抽出し、該第1会話情報310の出力を電子機器100に指示する処理を実行する。制御部250は、第1会話情報310の出力が終了すると、第1会話情報310と該第1会話情報310を出力した日時等を識別可能なログ情報330を作成する。制御部250は、ステップS401の処理が終了すると、処理をステップS402に進める。
【0106】
制御部250は、ABテストの処理を実行する(ステップS402)。ABテストは、異なる2パターンのWebページを用意し、実際にユーザUに利用させて効果を比較するテストである。制御部250は、ABテストの処理を実行することで、ABテストをユーザUに利用させ、得られた効果を示す結果情報をユーザUに関連付けて記憶部240に記憶する。制御部250は、ステップS402の処理が終了すると、処理をステップS403に進める。
【0107】
制御部250は、指向性会話(1)が済んでいるか否かを判定する(ステップS403)。例えば、制御部250は、ユーザUのログ情報330が指向性会話(1)を出力したことを示している場合、指向性会話(1)が済んでいると判定する。制御部250は、指向性会話(1)が済んでいないと判定した場合(ステップS403でNo)、処理をステップS404に進める。
【0108】
制御部250は、第2会話情報320に基づいて、指向性会話(1)の会話処理を実行する(ステップS404)。指向性会話(1)の会話処理は、図10に示したステップS204の処理と同一であるので、説明を省略する。制御部250は、ステップS404の処理が終了すると、処理をステップS405に進める。
【0109】
制御部250は、第2会話情報320に基づいて、指向性会話(2)の会話処理を実行する(ステップS405)。指向性会話(2)の会話処理は、図10に示したステップS205の処理と同一であるので、説明を省略する。制御部250は、ステップS405の処理が終了すると、処理をステップS406に進める。
【0110】
制御部250は、第2会話情報320に基づいて、指向性会話(3)の会話処理を実行する(ステップS406)。指向性会話(3)の会話処理は、図10に示したステップS206の処理と同一であるので、説明を省略する。制御部250は、ステップS406の処理が終了すると、処理をステップS407に進める。
【0111】
制御部250は、第1会話情報310に基づいて、終わりの挨拶の会話処理を実行する(ステップS407)。終わりの挨拶の会話処理は、図10に示したステップS207の処理と同一であるので、説明を省略する。制御部250は、ステップS407の処理が終了すると、図11に示す処理手順を終了し、図9に示すステップS400の処理に復帰する。
【0112】
また、制御部250は、指向性会話(1)が済んでいると判定した場合(ステップS403でYes)、処理をステップS408に進める。制御部250は、指向性会話(2)が済んでいるか否かを判定する(ステップS408)。例えば、制御部250は、ユーザUのログ情報330が指向性会話(2)を出力したことを示している場合、指向性会話(2)が済んでいると判定する。
【0113】
制御部250は、指向性会話(2)が済んでいないと判定した場合(ステップS408でNo)、処理を既に説明したステップS405に進める。制御部250は、第2会話情報320に基づいて、指向性会話(2)の会話処理を実行する(ステップS405)。制御部250は、第2会話情報320に基づいて、指向性会話(3)の会話処理を実行する(ステップS406)。すなわち、制御部250は、実行済みのステップS404の指向性会話(1)の会話処理を実行せずに、指向性会話(2)及び指向性会話(3)の会話処理を順次実行する。制御部250は、第1会話情報310に基づいて、終わりの挨拶の会話処理を実行する(ステップS407)。制御部250は、ステップS407の処理が終了すると、図11に示す処理手順を終了し、図9に示すステップS400の処理に復帰する。
【0114】
また、制御部250は、指向性会話(2)が済んでいると判定した場合(ステップS408でYes)、処理をステップS409に進める。制御部250は、指向性会話(3)が済んでいるか否かを判定する(ステップS409)。例えば、制御部250は、ユーザUのログ情報330が指向性会話(3)を出力したことを示している場合、指向性会話(3)が済んでいると判定する。
【0115】
制御部250は、指向性会話(3)が済んでいないと判定した場合(ステップS409でNo)、処理を既に説明したステップS406に進める。制御部250は、第2会話情報320に基づいて、指向性会話(3)の会話処理を実行する(ステップS406)。すなわち、制御部250は、実行済みのステップS404の指向性会話(1)及びステップS405の指向性会話(2)の会話処理を実行せずに、指向性会話(3)の会話処理のみを実行する。制御部250は、第1会話情報310に基づいて、終わりの挨拶の会話処理を実行する(ステップS407)。制御部250は、ステップS407の処理が終了すると、図11に示す処理手順を終了し、図9に示すステップS400の処理に復帰する。
【0116】
また、制御部250は、指向性会話(3)が済んでいると判定した場合(ステップS409でYes)、処理をステップS410に進める。制御部250は、ユーザUに待機を促す処理を実行する(ステップS410)。制御部250は、ステップS410の処理が終了すると、図11に示す処理手順を終了し、図9に示すステップS400の処理に復帰する。
【0117】
図9に戻り、制御部250は、ステップS400の処理が終了すると、図9に示す処理手順を終了させる。
【0118】
また、制御部250は、時間区分が昼ではないと判定した場合(ステップS300でNo)、処理をステップS500に進める。制御部250は、時間区分が夜であるか否かを判定する(ステップS500)。例えば、制御部250は、現在の時刻が夜の時間区分である場合、時間区分が夜であると判定する。制御部250は、時間区分が夜であると判定した場合(ステップS500でYes)、処理をステップS600に進める。
【0119】
制御部250は、時間区分が夜の会話処理を実行する(ステップS600)。時間区分が夜の会話処理は、例えば、時間区分が夜に適した第1会話情報310及び第2会話情報320を、シナリオ会話の順序で電子機器100に出力させる処理等を含む。
【0120】
図12は、図9に示す夜の会話処理の一例を示すフローチャートである。図12に示すように、制御部250は、第1会話情報310に基づいて、夜の挨拶の会話処理を実行する(ステップS601)。例えば、制御部250は、夜の挨拶を示す複数の第1会話情報310の中から、現在の日時に適した第1会話情報310をランダムに抽出し、該第1会話情報310の出力を電子機器100に指示する処理を実行する。制御部250は、第1会話情報310の出力が終了すると、第1会話情報310と該第1会話情報310を出力した日時等を識別可能なログ情報330を作成する。制御部250は、ステップS601の処理が終了すると、処理をステップS602に進める。
【0121】
制御部250は、1日の感想が済みであるか否かを判定する(ステップS602)。例えば、制御部250は、同一の日付で1日の感想を引き出す処理を実行していることをログ情報330が示している場合、1日の感想が済みであると判定する。制御部250は、1日の感想が済みではないと判定した場合(ステップS602でNo)、処理をステップS603に進める。
【0122】
制御部250は、1日の感想を引き出す処理を実行する(ステップS603)。例えば、制御部250は、1日の感想を引き出す処理を実行することで、1日の感想をユーザUに問いかける会話情報等を電子機器100に出力させる。制御部250は、電子機器100を介してユーザUから取得した1日の感想を示す感想情報を記憶部240に記憶する。制御部250は、1日の感想を引き出す処理が終了すると、1日の感想を引き出す処理を実行したことを識別可能なログ情報330を作成する。制御部250は、ステップS603の処理が終了すると、処理をステップS604に進める。
【0123】
制御部250は、第2会話情報320に基づいて、指向性会話(1)の会話処理を実行する(ステップS604)。指向性会話(1)の会話処理は、図10に示したステップS204の処理と同一であるので、説明を省略する。制御部250は、ステップS604の処理が終了すると、処理をステップS605に進める。
【0124】
制御部250は、第2会話情報320に基づいて、指向性会話(2)の会話処理を実行する(ステップS605)。指向性会話(2)の会話処理は、図10に示したステップS205の処理と同一であるので、説明を省略する。制御部250は、ステップS605の処理が終了すると、処理をステップS606に進める。
【0125】
制御部250は、第2会話情報320に基づいて、指向性会話(3)の会話処理を実行する(ステップS606)。指向性会話(3)の会話処理は、図10に示したステップS206の処理と同一であるので、説明を省略する。制御部250は、ステップS606の処理が終了すると、処理をステップS607に進める。
【0126】
制御部250は、第1会話情報310に基づいて、終わりの挨拶の会話処理を実行する(ステップS607)。終わりの挨拶の会話処理は、図10に示したステップS207の処理と同一であるので、説明を省略する。制御部250は、ステップS607の処理が終了すると、図12に示す処理手順を終了し、図9に示すステップS600の処理に復帰する。
【0127】
また、制御部250は、1日の感想が済みであると判定した場合(ステップS602でYes)、処理をステップS608に進める。制御部250は、指向性会話(1)が済んでいるか否かを判定する(ステップS608)。例えば、制御部250は、ユーザUのログ情報330が指向性会話(1)を出力したことを示している場合、指向性会話(1)が済んでいると判定する。
【0128】
制御部250は、指向性会話(1)が済んでいないと判定した場合(ステップS608でNo)、処理を既に説明したステップS604に進める。制御部250は、第2会話情報320に基づいて、指向性会話(1)の会話処理を実行する(ステップS604)。制御部250は、第2会話情報320に基づいて、指向性会話(2)の会話処理を実行する(ステップS605)。制御部250は、第2会話情報320に基づいて、指向性会話(3)の会話処理を実行する(ステップS606)。すなわち、制御部250は、実行済みのステップS603の1日の感想を引き出す処理を実行せずに、指向性会話(1)、指向性会話(2)及び指向性会話(3)の会話処理を順次実行する。制御部250は、第1会話情報310に基づいて、終わりの挨拶の会話処理を実行する(ステップS607)。制御部250は、ステップS607の処理が終了すると、図12に示す処理手順を終了し、図9に示すステップS600の処理に復帰する。
【0129】
また、制御部250は、指向性会話(1)が済んでいると判定した場合(ステップS608でYes)、処理をステップS609に進める。制御部250は、指向性会話(2)が済んでいるか否かを判定する(ステップS609)。例えば、制御部250は、ユーザUのログ情報330が指向性会話(2)を出力したことを示している場合、指向性会話(2)が済んでいると判定する。
【0130】
制御部250は、指向性会話(2)が済んでいないと判定した場合(ステップS609でNo)、処理を既に説明したステップS605に進める。制御部250は、第2会話情報320に基づいて、指向性会話(2)の会話処理を実行する(ステップS605)。制御部250は、第2会話情報320に基づいて、指向性会話(3)の会話処理を実行する(ステップS606)。すなわち、制御部250は、実行済みのステップS603の1日の感想を引き出す処理及びステップS204の指向性会話(1)の会話処理を実行せずに、指向性会話(2)及び指向性会話(3)の会話処理を順次実行する。制御部250は、第1会話情報310に基づいて、終わりの挨拶の会話処理を実行する(ステップS607)。制御部250は、ステップS607の処理が終了すると、図12に示す処理手順を終了し、図9に示すステップS600の処理に復帰する。
【0131】
また、制御部250は、指向性会話(2)が済んでいると判定した場合(ステップS609でYes)、処理をステップS610に進める。制御部250は、指向性会話(3)が済んでいるか否かを判定する(ステップS610)。例えば、制御部250は、ユーザUのログ情報330が指向性会話(3)を出力したことを示している場合、指向性会話(3)が済んでいると判定する。
【0132】
制御部250は、指向性会話(3)が済んでいないと判定した場合(ステップS610でNo)、処理を既に説明したステップS606に進める。制御部250は、第2会話情報320に基づいて、指向性会話(3)の会話処理を実行する(ステップS606)。すなわち、制御部250は、実行済みのステップS603の1日の会話を引き出す処理、ステップS604の指向性会話(1)及びステップS605の指向性会話(2)の会話処理を実行せずに、指向性会話(3)の会話処理のみを実行する。制御部250は、第1会話情報310に基づいて、終わりの挨拶の会話処理を実行する(ステップS607)。制御部250は、ステップS607の処理が終了すると、図12に示す処理手順を終了し、図9に示すステップS600の処理に復帰する。
【0133】
また、制御部250は、指向性会話(3)が済んでいると判定した場合(ステップS610でYes)、処理をステップS611に進める。制御部250は、ユーザUに待機を促す処理を実行する(ステップS611)。制御部250は、ステップS611の処理が終了すると、図12に示す処理手順を終了し、図9に示すステップS600の処理に復帰する。
【0134】
図9に戻り、制御部250は、ステップS600の処理が終了すると、図9に示す処理手順を終了させる。
【0135】
また、制御部250は、時間区分が夜ではないと判定した場合(ステップS500でNo)、図9に示す処理手順を終了させる。
【0136】
以上により、上述したサーバ200は、少なくとも1以上の指向性を有していない第1会話を示す第1会話情報310と、少なくとも1以上の指向性を有する第2会話を示す第2会話情報320と、を記憶部240に記憶できる。サーバ200は、ユーザUの電子機器100に、第1会話情報310を出力させた後に、第2会話情報320を出力させることができる。その結果、サーバ200は、指向性を有していない会話と指向性を有している会話とを組み合わせてユーザUとの会話を実現できるので、ユーザUの個人的な情報を自然な会話で聞き出すことができる。
【0137】
サーバ200は、ユーザUの電子機器100に、第1会話情報310を出力させた後に、第2会話情報320を出力させ、第2会話情報320を出力させた後に、異なる第1会話情報310を出力させることができる。その結果、サーバ200は、指向性を有していない会話の間に、指向性を有している会話を挟むことで、警戒感を持たせることを緩和できるので、ユーザUの個人的な情報を自然な会話で聞き出すことができる。
【0138】
サーバ200は、ユーザUに対する質問内容を含む質問項目D1と、ユーザUにより選択される複数の回答を含む回答項目D2と、ユーザUが選択した回答に対する応答を含む応答項目D3と、を有する第1会話情報310及び第2会話情報320を電子機器100に出力させることができる。その結果、サーバ200は、ユーザUに回答を選択させることで、ユーザの情報を回答として聞き出すことができる。
【0139】
サーバ200は、電子機器100に出力させた第1会話情報310及び第2会話情報320の少なくとも一方を示すログ情報330を記憶部240に記憶することができる。サーバ200は、ユーザUの前回のログインの際に第1会話情報310を出力させている場合、今回のログインの際には、ログ情報330に基づいて、電子機器100に出力させていない第1会話情報310または第2会話情報320を、電子機器に出力させることができる。その結果、サーバ200は、同一の会話情報を電子機器100に出力させないことで、ユーザUがサーバ200との対話に飽きることを防止できるので、ユーザUの個人的な情報を自然な会話で聞き出す機会を得ることができる。
【0140】
サーバ200は、現在の時刻の時間区分に基づいて第1会話情報310及び第2会話情報320を選択することができる。その結果、サーバ200は、時間区分に応じた第1会話情報310及び第2会話情報320を電子機器100に出力させることで、ユーザUに親近感を持たせことが可能となり、ユーザUに関する情報を聞き出す可能性を向上させることができる。
【0141】
サーバ200は、現在の時刻が時間区分の夜である場合、ユーザUから1日の感想を引き出す第1会話情報310を選択することができる。その結果、サーバ200は、時間区分が夜になると、1日の感想を引き出す第1会話情報310を電子機器100に出力させることで、ユーザUの1日における情報を会話で聞き出すことができる。
【0142】
サーバ200は、ユーザUに対する第2会話が予定数終了している場合、ユーザUに所定時間の待機を示す旨の第1会話を前記電子機器に出力させることができる。その結果、サーバ200は、ユーザUとの会話が予定数に達した場合に、ユーザUとのつなぎの会話を電子機器100に出力させ、ユーザUの個人的な情報を無理に聞き出さないので、ユーザUとの関係性の低下を抑制することができる。
【0143】
サーバ200は、例えば、挨拶、ニュース、天気、クイズ及び遊びに関する会話のうちの少なくとも1つを含む第1会話情報310を、電子機器100に出力させることができる。その結果、サーバ200は、ユーザUとの雑談を実現することで、ユーザUに親近感を持たせることができるので、ユーザUに関する情報を聞き出す可能性を向上させることができる。
【0144】
サーバ200は、例えば、秒、時、日、月もしくは年のいずれかにより変化する会話を含む第1会話情報310を、電子機器100に出力させることができる。その結果、サーバ200は、日時や季節に適したユーザUとの会話を実現することで、ユーザUに親近感を持たせることができるので、ユーザUに関する情報を聞き出す可能性を向上させることができる。
【0145】
サーバ200は、複数の第1会話情報310のうち、ユーザUの電子機器100で出力させていない第1会話情報310を、電子機器に出力させることができる。その結果、サーバ200は、ユーザと様々な会話を実現することで、ユーザUに親近感を持たせることができるので、ユーザUに関する情報を聞き出す可能性を向上させることができる。
【0146】
図13は、実施形態に係るサーバ200が実行するフェーズ1の移行制御の一例を示すフローチャートである。図13に示す処理手順は、ユーザUのフェーズがフェーズ1である場合に、サーバ200の制御部250がプログラム241を実行することによって実現される。図13に示す処理手順は、例えば、ユーザUとの会話を開始してから所定期間が経過するごとに、制御部250によって実行される。
【0147】
図13に示すように、制御部250は、フェーズ1で発生した情報を収集する(ステップS1101)。例えば、制御部250は、フェーズ1において実施したユーザUへの質問、ユーザUの回答等を示す各種情報を、記憶部240に記憶しているログ情報330、回答情報500等から収集する。制御部250は、ステップS1101の処理が終了すると、処理をステップS1102に進める。
【0148】
制御部250は、フェーズ1における確認会話の回数を計数する(ステップS1102)。例えば、制御部250は、収集した質問と回答との組み合わせの数に基づいて、フェーズ1で確認会話が継続した回数を計数する。制御部250は、ステップS1102の処理が終了すると、処理をステップS1103に進める。
【0149】
制御部250は、確認会話が所定回数以上であるか否かを判定する(ステップS1103)。例えば、制御部250は、ステップS1102で計数した回数が、所定回数以上である場合に、確認会話が所定回数以上であると判定する。図13に示す一例では、所定回数は、10回である。制御部250は、確認会話が所定回数以上であると判定した場合(ステップS1103でYes)、ユーザUとの会話が成り立っているので、処理をステップS1104に進める。
【0150】
制御部250は、フェーズ1からフェーズ2に移行する(ステップS1104)。例えば、制御部250は、ユーザのフェーズをフェーズ1からフェーズ2に移行(変更)し、フェーズ2に移行したことをログ情報330に反映する。制御部250は、フェーズ2に移行したことをユーザUに通知する処理を行ってもよい。制御部250は、ステップS1104の処理が終了すると、図13に示す処理手順を終了させる。
【0151】
また、制御部250は、確認会話が所定回数以上ではないと判定した場合(ステップS1103でNo)、ユーザUとの会話が成り立っていないので、フェーズ2に移行せずに、図13に示す処理手順を終了させる。
【0152】
以上により、制御部250は、図13に示す処理手順を実行することで、ユーザに関わるフェーズ1から、改善したい気持ちをユーザUから引き出すフェーズ2へ、自動的に移行させることができる。
【0153】
図14は、実施形態に係るサーバ200が実行するフェーズ2の移行制御の一例を示すフローチャートである。図14に示す処理手順は、ユーザUのフェーズがフェーズ2である場合に、サーバ200の制御部250がプログラム241を実行することによって実現される。図14に示す処理手順は、例えば、ユーザUとの会話を開始してから所定期間が経過するごとに制御部250によって実行される。
【0154】
図14に示すように、制御部250は、フェーズ2で発生した情報を収集する(ステップS1201)。例えば、制御部250は、フェーズ2において実施したユーザUへの質問、ユーザUの回答等を示す各種情報を、記憶部240に記憶しているログ情報330、回答情報500等から収集する。制御部250は、ステップS1201の処理が終了すると、処理をステップS1202に進める。ここで、本開示では、ステップS1201の後、図13のステップS1102のように、会話回数の確認動作を追加してもよい。この場合、制御部250は、フェーズ2における、例えば指向性会話などの確認会話の回数を計数するとしてもよい。例えば、制御部250は、収集した質問と回答との組み合わせの数に基づいて、フェーズ2で確認会話が継続した回数を計数するとしてもよい。制御部250は、この処理が終了すると、処理をステップS1202に進めるとしてもよい。
【0155】
制御部250は、フェーズ2における回答を判別する(ステップS1202)。例えば、制御部250は、体重に課題をメインテーマとするユーザUの回答とデータベースのチェンジトーク及び維持トークとを比較し、比較結果に基づいて回答がチェンジトークであるか、維持トークであるかを判別する。例えば、制御部250は、チェンジトークの回答と維持トークの回答との教師データを機械学習した学習済みのプログラムを用いて、回答を判別してもよい。制御部250は、回答がチェンジトークであると判定した場合、回答が準備チェンジトークであるか実行チェンジトークであるかをさらに判別し、チェンジトークの分類を判別する。制御部250は、図8に示した準備チェンジトークと実行チェンジトークとのデータベースを用いて、チェンジトークの分類を判別する。制御部250は、回答の判別結果を、回答情報500に関連付けて記憶部240に記憶する。制御部250は、ステップS1202の処理が終了すると、処理をステップS1203に進める。
【0156】
制御部250は、ステップS1202の判別結果に基づいて、準備チェンジトークが維持トークよりも多いか否かを判定する(ステップS1203)。例えば、制御部250は、フェーズ2における準備チェンジトークの回数が維持トークの回数よりも多い場合に、準備チェンジトークが維持トークよりも多いと判定する。制御部250は、準備チェンジトークが維持トークよりも多いと判定した場合(ステップS1203でYes)、ユーザUの課題を引き出せている可能性が高いので、処理をステップS1204に進める。ここで、本開示では、制御部250がステップS1203でYesと判定した後、「課題を重要として考えているか?」などの、フェーズ移行に関わる重要な質問を問いかける処理を追加してもよい。この場合、制御部250は、課題を重要と思っている(Yes)との回答を得た場合は、処理をステップS1204に進め、課題を重要と思っていない(No)との回答を得た場合は、処理を終了させる、若しくは処理をステップS1201に進めるとしてもよい。またこの場合、制御部250は、処理を終了若しくは、ステップS1201に進める前の処理として、後述するステップS1206のように、ユーザに対する介入ポイントを変更する処理を行い、この変更処理の後、処理をステップS1201に進めるとしてもよい。この場合、本開示では、同じ介入テーマでフェーズ2が繰り返されることを防止できる。
【0157】
制御部250は、フェーズ2からフェーズ3に移行する(ステップS1204)。例えば、制御部250は、ユーザのフェーズをフェーズ2からフェーズ3に移行(変更)し、フェーズ3に移行したことをログ情報330に反映する。制御部250は、フェーズ3に移行したことをユーザUに通知する処理を行ってもよい。制御部250は、ステップS1204の処理が終了すると、図14に示す処理手順を終了させる。
【0158】
また、制御部250は、準備チェンジトークが維持トークよりも多くないと判定した場合(ステップS1203でNo)、ユーザUの課題を引き出せていない可能性が高いので、処理をステップS1205に進める。制御部250は、準備チェンジトークが維持トークよりも多くない状態が、判定期間連続しているか否かを判定する(ステップS1205)。判定期間は、例えば、3週間、1か月等の期間を任意に設定することができる。判定期間は、例えば、所定期間と同一でもよいし、所定期間よりも長い期間であってもよい。制御部250は、判定期間連続していないと判定した場合(ステップS1205でNo)、図14に示す処理手順を終了させる。なお、本開示では、図14に示す処理手順は、ステップS1205の処理を省略した動作でもよい。すなわち、処理手順は、ステップS1203の判定でNoの場合、ステップS1203からステップS1206へと移行するとしてもよい。
【0159】
また、制御部250は、判定期間連続していると判定した場合(ステップS1205でYes)、処理をステップS1206に進める。制御部250は、ユーザUに対する介入ポイントを変更する(ステップS1206)。例えば、制御部250は、ユーザUに対する介入ポイントを、メインテーマからサブテーマに変更し、サブテーマに基づいてフェーズ2を継続する。例えば、メインテーマが体重の課題である場合、制御部250は、運動の促進を示すサブテーマに変更する。制御部250は、ステップS1206の処理が終了すると、図14に示す処理手順を終了させる。
【0160】
以上により、制御部250は、図14に示す処理手順を実行することで、改善したい気持ちをユーザUから引き出すフェーズ2から、ユーザUが行動に移せるようにきっかけを示すフェーズ3へ、自動的に移行させることができる。
【0161】
図15は、実施形態に係るサーバ200が実行するフェーズ3の移行制御の一例を示すフローチャートである。図15に示す処理手順は、ユーザUのフェーズがフェーズ3である場合に、サーバ200の制御部250がプログラム241を実行することによって実現される。図15に示す処理手順は、例えば、ユーザUとの会話を開始してから所定期間が経過するごとに制御部250によって実行される。
【0162】
図15に示すように、制御部250は、フェーズ3で発生した情報を収集する(ステップS1301)。例えば、制御部250は、フェーズ3において実施したユーザUへの質問、ユーザUの回答等を示す各種情報を、記憶部240に記憶しているログ情報330、回答情報500等から収集する。制御部250は、ステップS1301の処理が終了すると、処理をステップS1302に進める。ここで、本開示では、ステップS1301の後、図13のステップS1102のように、会話回数の確認動作を追加してもよい。この場合、制御部250は、フェーズ3における、例えば指向性会話などの確認会話の回数を計数するとしてもよい。例えば、制御部250は、収集した質問と回答との組み合わせの数に基づいて、フェーズ3で確認会話が継続した回数を計数するとしてもよい。制御部250は、この処理が終了すると、処理をステップS1302に進めるとしてもよい。
【0163】
制御部250は、フェーズ3における回答を判別する(ステップS1302)。例えば、制御部250は、体重に課題をメインテーマとするユーザUの回答とデータベースのチェンジトーク及び維持トークとを比較し、比較結果に基づいて回答がチェンジトークであるか、維持トークであるかを判別する。例えば、制御部250は、チェンジトークの回答と維持トークの回答との教師データを機械学習した学習済みのプログラムを用いて、回答を判別してもよい。制御部250は、回答がチェンジトークであると判定した場合、回答が準備チェンジトークであるか実行チェンジトークであるかをさらに判別し、チェンジトークの分類を判別する。制御部250は、図8に示した準備チェンジトークと実行チェンジトークとのデータベースを用いて、チェンジトークの分類を判別する。制御部250は、回答の判別結果を、回答情報500に関連付けて記憶部240に記憶する。制御部250は、ステップS1302の処理が終了すると、処理をステップS1303に進める。
【0164】
制御部250は、ステップS1302の判別結果に基づいて、準備チェンジトークが維持トークよりも多いか否かを判定する(ステップS1303)。例えば、制御部250は、フェーズ3における準備チェンジトークの回数が維持トークの回数よりも多い場合に、準備チェンジトークが維持トークよりも多いと判定する。制御部250は、準備チェンジトークが維持トークよりも多いと判定した場合(ステップS1303でYes)、処理をステップS1304に進める。
【0165】
制御部250は、ステップS1302の判別結果に基づいて、コミットメントが維持トークよりも多いか否かを判定する(ステップS1304)。例えば、制御部250は、分類がコミットメントの実行チェンジトークの回数が維持トークの回数よりも多い場合に、コミットメントが維持トークよりも多いと判定する。制御部250は、コミットメントが維持トークよりも多いと判定した場合(ステップS1304でYes)、ユーザUから課題に対するコミットメントの意思を引き出せているので、処理をステップS1305に進める。ここで、本開示では、ステップS1304でYesと判定した後の処理として、「行動変容をやり遂げる自信があるか?」などの、フェーズ移行に関わる重要な質問を行う処理を追加するとしてもよい。この場合、制御部250は、自信がある(Yes)との回答を得た場合は、処理をステップS1305に進め、自信がない(No)との回答を得た場合は、処理を終了させる、若しくは、処理をステップS1301に進めるとしてもよい。
【0166】
制御部250は、フェーズ3からフェーズ4に移行する(ステップS1305)。例えば、制御部250は、ユーザのフェーズをフェーズ3からフェーズ4に移行(変更)し、フェーズ4に移行したことをログ情報330に反映する。制御部250は、フェーズ4に移行したことをユーザUに通知する処理を行ってもよい。制御部250は、ステップS1305の処理が終了すると、図15に示す処理手順を終了させる。
【0167】
また、制御部250は、コミットメントが維持トークよりも多くないと判定した場合(ステップS1304でNo)、ユーザUが行動に移せるきっかけになっていない可能性が高いので、フェーズ4に移行せずに、図15に示す処理手順を終了させる。
【0168】
また、制御部250は、準備チェンジトークが維持トークよりも多くないと判定した場合(ステップS1303でNo)、ユーザUが行動に移せるきっかけになっていない可能性が高いので、処理をステップS1306に進める。制御部250は、準備チェンジトークが維持トークよりも多くない状態が、判定期間連続しているか否かを判定する(ステップS1306)。制御部250は、判定期間連続していないと判定した場合(ステップS1306でNo)、図15に示す処理手順を終了させる。なお、本開示では、ステップS1306の処理を省略した動作でもよい。すなわち、処理手順は、ステップS1303の判定がNoの場合、ステップS1303からステップS1307へと移行するとしてもよい。
【0169】
また、制御部250は、判定期間連続していると判定した場合(ステップS1306でYes)、介入のタイミングではないと判断し、処理をステップS1307に進める。制御部250は、フェーズ3からフェーズ2に移行する(ステップS1307)。例えば、制御部250は、ユーザUのフェーズをフェーズ3からフェーズ2に移行(変更)し、フェーズ2に移行したことをログ情報330に反映する。制御部250は、フェーズ2に移行したことをユーザUに通知する処理を行ってもよい。制御部250は、ステップS1307の処理が終了すると、図15に示す処理手順を終了させる。
【0170】
以上により、制御部250は、図15に示す処理手順を実行することで、ユーザUが行動に移せるようにきっかけを示すフェーズ3から、行動を変えられたという実感をユーザUに持たせるフェーズ4へ、自動的に移行させることができる。また、制御部250は、フェーズ3におけるユーザUの回答に基づいて介入のタイミングでないと判断した場合、フェーズ3からフェーズ2へ自動で戻すことができる。
【0171】
図16は、実施形態に係るサーバ200が実行するフェーズ4の移行制御の一例を示すフローチャートである。図16に示す処理手順は、ユーザUのフェーズがフェーズ4である場合に、サーバ200の制御部250がプログラム241を実行することによって実現される。図16に示す処理手順は、例えば、ユーザUとの会話を開始してから所定期間が経過するごとに制御部250によって実行される。
【0172】
図16に示すように、制御部250は、フェーズ4で発生した情報を収集する(ステップS1401)。例えば、制御部250は、フェーズ4において実施したユーザUへの質問、ユーザUの回答等を示す各種情報を、記憶部240に記憶しているログ情報330、回答情報500等から収集する。制御部250は、ステップS1401の処理が終了すると、処理をステップS1402に進める。
【0173】
制御部250は、フェーズ4における回答を判別する(ステップS1402)。例えば、制御部250は、体重に課題をメインテーマとするユーザUの回答とデータベースのチェンジトーク及び維持トークとを比較し、比較結果に基づいて回答がチェンジトークであるか、維持トークであるかを判別する。例えば、制御部250は、チェンジトークの回答と維持トークの回答との教師データを機械学習した学習済みのプログラムを用いて、回答を判別してもよい。制御部250は、回答がチェンジトークであると判定した場合、回答が準備チェンジトークであるか実行チェンジトークであるかをさらに判別し、チェンジトークの分類を判別する。制御部250は、図8に示した準備チェンジトークと実行チェンジトークとのデータベースを用いて、チェンジトークの分類を判別する。制御部250は、回答の判別結果を、回答情報500に関連付けて記憶部240に記憶する。制御部250は、ステップS1402の処理が終了すると、処理をステップS1403に進める。
【0174】
制御部250は、ステップS1402の判別結果に基づいて、準備チェンジトークが維持トークよりも多いか否かを判定する(ステップS1403)。例えば、制御部250は、フェーズ3における準備チェンジトークの回数が維持トークの回数よりも多い場合に、準備チェンジトークが維持トークよりも多いと判定する。制御部250は、準備チェンジトークが維持トークよりも多いと判定した場合(ステップS1403でYes)、処理をステップS1404に進める。
【0175】
制御部250は、ステップS1402の判別結果に基づいて、段階を踏むが維持トークよりも多いか否かを判定する(ステップS1404)。例えば、制御部250は、分類が段階を踏むの実行チェンジトークの回数が維持トークの回数よりも多い場合に、段階を踏むが維持トークよりも多いと判定する。制御部250は、段階を踏むが維持トークよりも多くないと判定した場合(ステップS1404でNo)、フェーズ4から他のフェーズに移行せずに、図16に示す処理手順を終了させる。
【0176】
また、制御部250は、段階を踏むが維持トークよりも多いと判定した場合(ステップS1404でYes)、処理をステップS1405に進める。制御部250は、段階を踏むが維持トークよりも多い状態が、判定期間連続しているか否かを判定する(ステップS1405)。制御部250は、判定期間連続していないと判定した場合(ステップS1405でNo)、フェーズ4から他のフェーズに移行せずに、図16に示す処理手順を終了させる。また、制御部250は、判定期間連続していると判定した場合(ステップS1405でYes)、処理をステップS1406に進める。
【0177】
制御部250は、フェーズ4からフェーズ5に移行する(ステップS1406)。例えば、制御部250は、ユーザのフェーズをフェーズ4からフェーズ5に移行(変更)し、フェーズ5に移行したことをログ情報330に反映する。制御部250は、フェーズ5に移行したことをユーザUに通知する処理を行ってもよい。制御部250は、ステップS1406の処理が終了すると、処理をステップS1407に進める。
【0178】
制御部250は、行動変容の維持をサポートする処理を開始する(ステップS1407)。行動変容の維持をサポートする処理は、例えば、行動変容を維持するコンテンツにユーザUを誘導する処理、適切な物品やサービスをユーザUに推薦する処理等を含む。制御部250は、ステップS1407の処理が終了すると、図16に示す処理手順を終了させる。
【0179】
また、制御部250は、準備チェンジトークが維持トークよりも多くないと判定した場合(ステップS1403でNo)、ユーザUが行動を変えられたという実感がない可能性が高いので、処理をステップS1408に進める。制御部250は、準備チェンジトークが維持トークよりも多くない状態が、判定期間連続しているか否かを判定する(ステップS1408)。制御部250は、判定期間連続していないと判定した場合(ステップS1408でNo)、図16に示す処理手順を終了させる。なお、本開示では、ステップS1408の処理を省略した動作でもよい。すなわち、処理手順は、ステップS1403の判定がNoの場合、ステップS1403からステップS1409へと移行するとしてもよい。
【0180】
また、制御部250は、判定期間連続していると判定した場合(ステップS1408でYes)、行動変容のタイミングではないと判断し、処理をステップS1409に進める。制御部250は、フェーズ4からフェーズ3に移行する(ステップS1409)。例えば、制御部250は、ユーザUのフェーズをフェーズ4からフェーズ3に移行(変更)し、フェーズ3に移行したことをログ情報330に反映する。制御部250は、フェーズ2に移行したことをユーザUに通知する処理を行ってもよい。制御部250は、ステップS1409の処理が終了すると、図16に示す処理手順を終了させる。
【0181】
以上により、制御部250は、図16に示す処理手順を実行することで、行動を変えられたという実感をユーザUに持たせるフェーズ4から、新しい習慣がユーザUに定着するように見守るフェーズ5へ、自動的に移行させることができる。また、制御部250は、行動変容のタイミングではないと判断した場合、フェーズ4からフェーズ3へ自動で戻すことができる。
【0182】
図17は、実施形態に係るサーバ200が実行するフェーズの移行動作を説明するための図である。
【0183】
図17に示す一例では、サーバ200は、ユーザUの電子機器100と連携して、該ユーザUとの対話、ユーザUの課題を改善するフェーズの移行制御等を行う。サーバ200は、ユーザUのメインテーマ及びサブテーマを決定し、フェーズ1の処理を開始する。例えば、サーバ200は、ユーザUの生活改善を支援する場合、ユーザUの事前アンケートの結果に基づいて、メインテーマを飲酒頻度、サブテーマを間食及び体重計測と設定していることを前提とする。
【0184】
図17に示す1WEEKでは、サーバ200は、フェーズ1に対応したユーザUに関わる会話を実現する。サーバ200は、1WEEKにおける会話を示すログ情報330に基づいて、確認会話が所定回数以上あったことを判定すると、フェーズ1からフェーズ2に移行する。
【0185】
2WEEKでは、サーバ200は、フェーズ2に対応した会話を実現する。フェーズ2では、サーバ200は、改善した気持ちをユーザUから引き出すための会話を実施する。サーバ200は、第1会話情報310が示す雑談と第2会話情報320が示す指向性会話と組み合わせて、フェーズ2に対応したシナリオ会話を行う。サーバ200は、質問項目D1の質問を行い、該質問に対する回答情報500を得ると、ユーザU及びフェーズ2に関連付けて記憶部240に時系列順に記憶する。サーバ200は、2WEEKの期間において、準備チェンジトークの回数が維持トークの回数よりも多いと判定すると、フェーズ2からフェーズ3に移行する。
【0186】
3WEEKでは、サーバ200は、フェーズ3に対応した会話を実現する。フェーズ3では、サーバ200は、ユーザUが行動に移せるようにきっかけを示すための会話を実施する。サーバ200は、第1会話情報310が示す雑談と第2会話情報320が示す指向性会話と組み合わせて、フェーズ3に対応したシナリオ会話を行う。サーバ200は、質問項目D1の質問を行い、該質問に対する回答情報500を得ると、ユーザU及びフェーズ3に関連付けて記憶部240に時系列順に記憶する。サーバ200は、3WEEKの期間において、準備チェンジトークの回数が維持トークの回数よりも多く、かつコミットメントの回数が維持トークの回数よりも多いと判定すると、フェーズ3からフェーズ4に移行する。
【0187】
4WEEKでは、サーバ200は、フェーズ4に対応した会話を実現する。フェーズ4では、サーバ200は、行動を変えられたという実感をユーザUに持たせるための会話を実施する。サーバ200は、第1会話情報310が示す雑談と第2会話情報320が示す指向性会話と組み合わせて、フェーズ4に対応したシナリオ会話を行う。サーバ200は、質問項目D1の質問を行い、該質問に対する回答情報500を得ると、ユーザU及びフェーズ4に関連付けて記憶部240に時系列順に記憶する。サーバ200は、4WEEKの期間において、準備チェンジトークの回数が維持トークの回数よりも少ない、または、準備チェンジトークの回数が維持トークの回数よりも多いが、段階を踏む回数が維持トークの回数よりも少ないと判定すると、フェーズ4を維持する。サーバ200は、行動を変えられたという実感をユーザUに持たせることができていないと判断し、5WEEKもフェーズ4を継続する。
【0188】
5WEEKでは、サーバ200は、4WEEKと同様に、フェーズ4に対応した会話を実現する。フェーズ4では、サーバ200は、第1会話情報310が示す雑談と第2会話情報320が示す指向性会話と組み合わせて、フェーズ4に対応したシナリオ会話を行う。サーバ200は、質問項目D1の質問を行い、該質問に対する回答情報500を得ると、ユーザU及びフェーズ4に関連付けて記憶部240に時系列順に記憶する。サーバ200は、4WEEK及び5WEEKの期間において、準備チェンジトークの回数が維持トークの回数よりも多く、かつ段階を踏む回数が維持トークの回数よりも多いが、判定期間連続していないと判定すると、フェーズ4を維持する。サーバ200は、行動を変えられたという実感をユーザUに持たせることができていないと判断し、6WEEKもフェーズ4を継続する。
【0189】
6WEEKでは、サーバ200は、4WEEK及び5WEEKと同様に、フェーズ4に対応した会話を実現する。フェーズ4では、サーバ200は、第1会話情報310が示す雑談と第2会話情報320が示す指向性会話と組み合わせて、フェーズ4に対応したシナリオ会話を行う。サーバ200は、質問項目D1の質問を行い、該質問に対する回答情報500を得ると、ユーザU及びフェーズ4に関連付けて記憶部240に時系列順に記憶する。サーバ200は、4WEEKから6WEEKの期間において、準備チェンジトークの回数が維持トークの回数よりも多く、かつ段階を踏む回数が維持トークの回数よりも多く、かつ、判定期間連続していると判定すると、フェーズ4からフェーズ5に移行する。
【0190】
7WEEKでは、サーバ200は、フェーズ5に対応した会話を実現する。フェーズ5では、サーバ200は、新しい習慣がユーザUに定着するように見守るための会話を実施する。サーバ200は、第1会話情報310が示す雑談と第2会話情報320が示す指向性会話と組み合わせて、フェーズ5に対応したシナリオ会話を行う。サーバ200は、質問項目D1の質問を行い、該質問に対する回答情報500を得ると、ユーザU及びフェーズ5に関連付けて記憶部240に時系列順に記憶する。サーバ200は、新しい習慣が定着したことを確認すると、フェーズ5を終了する。
【0191】
図18は、実施形態に係るサーバ200が実行するフェーズの他の移行動作を説明するための図である。図18に示す1WEEKのフェーズ1及び2WEEKのフェーズ2は、図17に示すフェーズ1及びフェーズ2と同一であるため、説明を省略する。
【0192】
図18に示す3WEEKでは、サーバ200は、フェーズ3に対応した会話を実現する。サーバ200は、第1会話情報310が示す雑談と第2会話情報320が示す指向性会話と組み合わせて、フェーズ3に対応したシナリオ会話を行う。サーバ200は、質問項目D1の質問を行い、該質問に対する回答情報500を得ると、ユーザU及びフェーズ3に関連付けて記憶部240に時系列順に記憶する。サーバ200は、3WEEKの期間において、準備チェンジトークの回数が維持トークの回数よりも少なく、かつ判定期間連続していないと判定すると、フェーズ3を維持する。サーバ200は、ユーザUが行動を移せるようにきっかけを示せていないと判断し、4WEEKもフェーズ3を継続する。
【0193】
4WEEKでは、サーバ200は、3WEEKと同様に、フェーズ3に対応した会話を実現する。フェーズ3では、サーバ200は、第1会話情報310が示す雑談と第2会話情報320が示す指向性会話と組み合わせて、フェーズ3に対応したシナリオ会話を行う。サーバ200は、質問項目D1の質問を行い、該質問に対する回答情報500を得ると、ユーザU及びフェーズ4に関連付けて記憶部240に時系列順に記憶する。サーバ200は、3WEEK及び4WEEKの期間において、準備チェンジトークの回数が維持トークの回数よりも少なく、かつ判定期間連続していないと判定すると、フェーズ3を維持する。サーバ200は、ユーザUが行動を移せるようにきっかけを示せていないと判断し、5WEEKもフェーズ3を継続する。
【0194】
5WEEKでは、サーバ200は、3WEEK及び4WEEKと同様に、フェーズ3に対応した会話を実現する。フェーズ3では、サーバ200は、第1会話情報310が示す雑談と第2会話情報320が示す指向性会話と組み合わせて、フェーズ3に対応したシナリオ会話を行う。サーバ200は、質問項目D1の質問を行い、該質問に対する回答情報500を得ると、ユーザU及びフェーズ4に関連付けて記憶部240に時系列順に記憶する。サーバ200は、3WEEKから5WEEKの期間において、準備チェンジトークの回数が維持トークの回数よりも少なく、かつ判定期間連続していないと判定すると、フェーズ3からフェーズ2に移行する。すなわち、サーバ200は、介入のタイミングではないと判断し、6WEEKからフェーズ2に戻し、メインテーマからサブテーマへ介入ポイントを変更したことをログ情報330に反映する。
【0195】
6WEEKでは、サーバ200は、フェーズ2に対応した会話を実現する。フェーズ2では、サーバ200は、サブテーマに基づいて、改善した気持ちをユーザUから引き出すための会話を実施する。サーバ200は、第1会話情報310が示す雑談と第2会話情報320が示す指向性会話と組み合わせて、フェーズ2に対応したシナリオ会話を行う。サーバ200は、質問項目D1の質問を行い、該質問に対する回答情報500を得ると、ユーザU及びフェーズ2に関連付けて記憶部240に時系列順に記憶する。サーバ200は、2WEEKの期間において、準備チェンジトークの回数が維持トークの回数よりも多いと判定すると、フェーズ2からフェーズ3に移行する。
【0196】
7WEEKでは、サーバ200は、フェーズ3に対応した会話を実現する。フェーズ3では、サーバ200は、サブテーマに基づいて、ユーザUが行動に移せるようにきっかけを示すための会話を実施する。サーバ200は、第1会話情報310が示す雑談と第2会話情報320が示す指向性会話と組み合わせて、フェーズ3に対応したシナリオ会話を行う。サーバ200は、質問項目D1の質問を行い、該質問に対する回答情報500を得ると、ユーザU及びフェーズ3に関連付けて記憶部240に時系列順に記憶する。サーバ200は、3WEEKの期間において、準備チェンジトークの回数が維持トークの回数よりも多く、かつコミットメントの回数が維持トークの回数よりも多いと判定すると、フェーズ3からフェーズ4に移行する。サーバ200は、8WEEK以降、図17に示したフェーズ4及びフェーズ5に対応した会話を実現する。
【0197】
以上より、サーバ200は、ユーザUから取得することで得た質問に対する回答が第1の種類の回答か、第2の種類の回答かを判別し、判別結果に基づいて、現在のフェーズを維持するか次のフェーズに移行するかを決定することができる。これにより、サーバ200は、ユーザUの回答から行動変容を判別し、判別結果に適したフェーズを決定することができる。その結果、サーバ200は、フェーズに応じたユーザUとの会話により、ユーザUの行動変容を支援することができる。
【0198】
サーバ200は、ユーザUの回答が、第1の種類の回答(チェンジトーク)である場合に、次のフェーズに移行すると決定し、第2の種類の回答(維持トーク)である場合に、現在のフェーズを維持すると決定する。これにより、サーバ200は、ユーザUの回答をチェンジトークと維持トークに判別することで、フェーズにおけるユーザUの状態を正確に判別することができる。その結果、サーバ200は、ユーザUに適したフェーズとすることができるので、ユーザUの行動変容を効率的に支援することができる。
【0199】
サーバ200は、所定期間におけるフェーズの判別結果に基づいて、ユーザUのフェーズを、第1のフェーズに維持するか、第2のフェーズに移行するかを決定することができる。その結果、サーバ200は、所定期間におけるユーザUの回答に着目することで、ユーザUの行動変容を判断する精度を向上させることができる。
【0200】
サーバ200は、ユーザUから取得した回答における、第1の種類の回答の個数と、第2の種類の回答の個数との割合に基づいて、ユーザUのフェーズを、第1のフェーズに維持するか、第2のフェーズに移行するかを決定することができる。その結果、サーバ200は、所定期間におけるユーザUの回答の回数に着目することで、ユーザUの行動変容を判断する精度を向上させることができる。
【0201】
サーバ200は、ユーザUとの会話の数が閾値を超えた場合に、回答における、第1の種類の回答の個数と、第2の種類の回答の個数との割合に基づいて、ユーザUのフェーズを、第1のフェーズに維持するか、第2のフェーズに移行するかを決定することができる。その結果、サーバ200は、ユーザUとの会話が成り立つことを確認した場合に、所定期間におけるユーザUの回答の回数に着目することで、ユーザUの行動変容を判断する精度をより一層向上させることができる。
【0202】
サーバ200は、第1の種類の回答が実行チェンジトークを含む場合、ユーザUから取得した実行チェンジトークの数または割合に基づいて、ユーザUのフェーズを、第1のフェーズに維持するか、第2のフェーズに移行するかを決定することができる。その結果、サーバ200は、ユーザUが所定の動作を実行した場合に得られる実行チェンジトークに着目することで、ユーザUの行動変容を判断する精度をより一層向上させることができる。
【0203】
サーバ200は、ユーザUに対して課題に関する質問を提示し、該質問の回答が第2の種類の回答であるか否かに基づいて、ユーザUのフェーズを、第1のフェーズに維持するか、第2のフェーズに移行するかを決定することができる。その結果、サーバ200は、フェーズに適した質問を行うことで、回答からユーザUを正確に判断することができるので、ユーザUの行動変容を支援することができる。
【0204】
サーバ200は、質問に対する肯定的な回答の個数が、フェーズにおけるユーザの行動変容が定着している個数である場合、ユーザUのフェーズを第2のフェーズに移行することができる。その結果、サーバ200は、ユーザUの肯定的な回答に基づいてフェーズの移行、維持を判断することができるので、ユーザUに適したフェーズで行動変容を支援することができる。
【0205】
サーバ200は、ユーザUと確認会話が継続する回数を計数し、計数結果が判定条件を満たす場合に、ユーザUのフェーズを、前記第1のフェーズに維持するか、前記第2のフェーズに移行するかを決定する処理を実行することができる。その結果、サーバ200は、ユーザUとの会話が成り立つことを確認した場合に、所定期間におけるユーザUの回答の回数に着目することで、ユーザUの行動変容を判断する精度をより一層向上させることができる。
【0206】
上述した実施形態では、サーバ200は、チャットボットによってユーザUとの会話を実現する場合について説明したが、これに限定されない。例えば、サーバ200は、音声による会話によってユーザUの回答を得る構成としてもよい。この場合、サーバ200は、公知である自然言語理解、自然言語処理等を用いて、ユーザUの発話内容から質問の回答を認識すればよい。
【0207】
上述した実施形態では、システム1では、サーバ200をクラウドサーバとした場合について説明したが、これに限定されない。例えば、システム1は、サーバ200の機能をユーザUの電子機器100で実現してもよい。例えば、システム1は、サーバ200の機能を複数のコンピュータによって実現してもよい。
【0208】
添付の請求項に係る技術を完全かつ明瞭に開示するために特徴的な実施形態に関し記載してきた。しかし、添付の請求項は、上記実施形態に限定されるべきものでなく、本明細書に示した基礎的事項の範囲内で当該技術分野の当業者が創作しうるすべての変形例及び代替可能な構成を具現化するように構成されるべきである。
【符号の説明】
【0209】
1 システム
100 電子機器
110 表示部
120 操作部
130 出力部
140 センサ部
150 通信部
160 記憶部
161 プログラム
170 制御部
200 サーバ
210 表示部
220 操作部
230 通信部
240 記憶部
241 プログラム
251 判別部
252 決定部
253 質問部
254 計数部
255 出力制御部
300 シナリオ情報
310 第1会話情報
320 第2会話情報
330 ログ情報
500 回答情報
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15
図16
図17
図18