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

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

▶ 株式会社日立製作所の特許一覧

特許7526620計算機システム及び目的行動の習慣化支援方法
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-07-24
(45)【発行日】2024-08-01
(54)【発明の名称】計算機システム及び目的行動の習慣化支援方法
(51)【国際特許分類】
   G06Q 50/10 20120101AFI20240725BHJP
【FI】
G06Q50/10
【請求項の数】 10
(21)【出願番号】P 2020150546
(22)【出願日】2020-09-08
(65)【公開番号】P2022045060
(43)【公開日】2022-03-18
【審査請求日】2023-02-14
(73)【特許権者】
【識別番号】000005108
【氏名又は名称】株式会社日立製作所
(74)【代理人】
【識別番号】110001678
【氏名又は名称】藤央弁理士法人
(72)【発明者】
【氏名】牧 秀行
(72)【発明者】
【氏名】上垣 映理子
(72)【発明者】
【氏名】賀 暁琳
(72)【発明者】
【氏名】堀 聡美
(72)【発明者】
【氏名】佐々木 真美
(72)【発明者】
【氏名】伊藤 英太郎
【審査官】加内 慎也
(56)【参考文献】
【文献】国際公開第2019/176214(WO,A1)
【文献】特開2020-140596(JP,A)
【文献】特開2006-350519(JP,A)
【文献】国際公開第2020/049839(WO,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G06Q 10/00-99/00
(57)【特許請求の範囲】
【請求項1】
目的行動の習慣化を支援する計算機システムであって、
演算装置、前記演算装置に接続される記憶装置、及び前記演算装置に接続される接続インタフェースを有する少なくとも一つの計算機を備え、
前記目的行動、ユーザが定常的に行っているルーチン行動であって、前記目的行動の実行を前記ユーザに促すためのコンテンツを含むメッセージの送信制御の開始契機として設定されたトリガ行動、前記コンテンツを生成するためのテンプレート、及び送信タイミングを含む制御条件データを格納する制御条件管理情報を管理し、
前記少なくとも一つの計算機は、
前記ユーザの行動に関する行動データを受信した場合、受信した前記行動データを分析して前記ユーザの行動を特定し、
前記制御条件管理情報を参照して、前記特定された行動が前記トリガ行動として設定される前記制御条件データを検索し、
検索された前記制御条件データに含まれる前記テンプレートに基づいて、前記コンテンツを生成し、
検索された前記制御条件データに含まれる前記送信タイミングに基づいて、前記ユーザに、生成された前記コンテンツを含む前記メッセージを送信することを特徴とする計算機システム。
【請求項2】
請求項1に記載の計算機システムであって、
前記少なくとも一つの計算機は、
前記制御条件データを設定するためのインタフェースを提供し、
前記インタフェースを介して、前記制御条件データを登録するための入力を受け付け、
前記インタフェースには、前記トリガ行動として設定可能な前記ルーチン行動として、前記目的行動と関連する前記ルーチン行動が提示されることを特徴とする計算機システム。
【請求項3】
請求項2に記載の計算機システムであって、
前記行動データを格納する行動履歴データベースを管理し、
前記少なくとも一つの計算機は、
前記行動履歴データベースを参照して、前記目的行動に対応する前記行動データの実行時刻を基準に設定される探索時間範囲に含まれ、かつ、前記ルーチン行動に対応する前記行動データを検索し、
検索された前記行動データを分析することによって、前記目的行動と関連する前記ルーチン行動を特定し、
前記インタフェースを介して、前記目的行動と関連する前記ルーチン行動を提示することを特徴とする計算機システム。
【請求項4】
請求項1に記載の計算機システムであって、
前記行動データを格納する行動履歴データベースと、送信された前記メッセージの履歴を格納する送信履歴管理情報と、を管理し、
前記少なくとも一つの計算機は、
受信した前記行動データを前記行動履歴データベースに格納し、
前記メッセージの送信後、当該メッセージの前記履歴を前記送信履歴管理情報に格納し、
前記行動履歴データベースに格納される前記目的行動の前記行動データを分析することによって、前記送信履歴管理情報に格納される前記履歴に対応する前記メッセージに対する前記目的行動の実行の実績に関するスコアを算出し、
前記スコアに基づいて前記目的行動の実行の実績が低いと判定された場合、前記トリガ行動となる前記ルーチン行動、及び、前記送信タイミングの少なくともいずれかを変更することを特徴とする計算機システム。
【請求項5】
請求項1に記載の計算機システムであって、
前記行動データを格納する行動履歴データベースを管理し、
前記少なくとも一つの計算機は、
前記行動履歴データベースを参照して、複数の前記行動の各々の一定期間内の実行回数を算出し、
前記一定期間内の実行回数が閾値より大きい行動を前記ルーチン行動として抽出することを特徴とする計算機システム。
【請求項6】
計算機システムが実行する目的行動の習慣化支援方法であって、
前記計算機システムは、
演算装置、前記演算装置に接続される記憶装置、及び前記演算装置に接続される接続インタフェースを有する少なくとも一つの計算機を含み、
前記目的行動、ユーザが定常的に行っているルーチン行動であって、前記目的行動の実行を前記ユーザに促すためのコンテンツを含むメッセージの送信制御の開始契機として設定されたトリガ行動、前記コンテンツを生成するためのテンプレート、及び送信タイミングを含む制御条件データを格納する制御条件管理情報を管理し、
前記目的行動の習慣化支援方法は、
前記少なくとも一つの計算機が、前記ユーザの行動に関する行動データを受信した場合、受信した前記行動データを分析して前記ユーザの行動を特定するステップと、
前記少なくとも一つの計算機が、前記制御条件管理情報を参照して、前記特定された行動が前記トリガ行動として設定される前記制御条件データを検索するステップと、
前記少なくとも一つの計算機が、検索された前記制御条件データに含まれる前記テンプレートに基づいて、前記コンテンツを生成するステップと、
前記少なくとも一つの計算機が、検索された前記制御条件データに含まれる前記送信タイミングに基づいて、前記ユーザに、生成された前記コンテンツを含む前記メッセージを送信するステップと、を含むことを特徴とする目的行動の習慣化支援方法。
【請求項7】
請求項6に記載の目的行動の習慣化支援方法であって、
前記少なくとも一つの計算機が、前記制御条件データを設定するためのインタフェースを提供する第1のステップと、
前記少なくとも一つの計算機が、前記インタフェースを介して、前記制御条件データを登録するための入力を受け付ける第2のステップと、を含み、
前記インタフェースには、前記トリガ行動として設定可能な前記ルーチン行動として、前記目的行動と関連する前記ルーチン行動が提示されることを特徴とする目的行動の習慣化支援方法。
【請求項8】
請求項7に記載の目的行動の習慣化支援方法であって、
前記計算機システムは、前記行動データを格納する行動履歴データベースを管理し、
前記第1のステップは、
前記少なくとも一つの計算機が、前記行動履歴データベースを参照して、前記目的行動に対応する前記行動データの実行時刻を基準に設定される探索時間範囲に含まれ、かつ、前記ルーチン行動に対応する前記行動データを検索するステップと、
前記少なくとも一つの計算機が、検索された前記行動データを分析することによって、前記目的行動と関連する前記ルーチン行動を特定するステップと、
前記少なくとも一つの計算機が、前記インタフェースを介して、前記目的行動と関連する前記ルーチン行動を提示するステップと、を含むことを特徴とする目的行動の習慣化支援方法。
【請求項9】
請求項6に記載の目的行動の習慣化支援方法であって、
前記計算機システムは、前記行動データを格納する行動履歴データベースと、送信された前記メッセージの履歴を格納する送信履歴管理情報と、を管理し、
前記目的行動の習慣化支援方法は、
前記少なくとも一つの計算機が、受信した前記行動データを前記行動履歴データベースに格納するステップと、
前記少なくとも一つの計算機が、前記メッセージの送信後、当該メッセージの前記履歴を前記送信履歴管理情報に格納するステップと、
前記少なくとも一つの計算機が、前記行動履歴データベースに格納される前記目的行動の前記行動データを分析することによって、前記送信履歴管理情報に格納される前記履歴に対応する前記メッセージに対する前記目的行動の実行の実績に関するスコアを算出するステップと、
前記少なくとも一つの計算機が、前記スコアに基づいて前記目的行動の実行の実績が低いと判定された場合、前記トリガ行動となる前記ルーチン行動、及び、前記送信タイミングの少なくともいずれかを変更するステップと、を含むことを特徴とする目的行動の習慣化支援方法。
【請求項10】
請求項6に記載の目的行動の習慣化支援方法であって、
前記計算機システムは、前記行動データを格納する行動履歴データベースを管理し、
前記目的行動の習慣化支援方法は、
前記少なくとも一つの計算機が、前記行動履歴データベースを参照して、複数の前記行動の各々の一定期間内の実行回数を算出するステップと、
前記少なくとも一つの計算機が、前記一定期間内の実行回数が閾値より大きい行動を前記ルーチン行動として抽出するステップと、を含むことを特徴とする目的行動の習慣化支援方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、行動の習慣化を支援するシステムに関する。
【背景技術】
【0002】
人は、仕事、家庭、及び趣味の場において、様々な行動を行っている。そのため、人は実行すべき行動を忘れ又は後回しにしてしまう場合がある。
【0003】
行動の習慣化を支援する技術として特許文献1に記載の技術が記載されている。特許文献1には、「問い情報DB60には、問い管理部51の管理のもと、所定のグループGKに属するメンバー夫々に対する問いが予め格納されている。問い送信制御部52は、メンバー端末3-K1乃至3-KPに対して問いを送信する。回答分析部53は、メンバー端末3-K1乃至3-KPから送信される回答の情報を分析して、加工する。メンバー用情報送信制御部54は、分析されて加工された情報を複数のメンバー端末3-K1乃至3-KPへ送信する。」ことが記載されている。
【先行技術文献】
【特許文献】
【0004】
【文献】特開2018-120353号公報
【文献】国際公開第2017/056825号
【発明の概要】
【発明が解決しようとする課題】
【0005】
特許文献1では、人がサーバによって送信された問いに回答する必要がある。しかし、人が行動中のため回答できない場合、又は回答を後回しにする場合が考えられる。したがって、人に問い等のメッセージを適切なタイミングで送信する必要がある。
【0006】
メッセージの送信タイミングを最適化する技術として特許文献2に記載の技術が知られている。特許文献2には、「実行期間判定部(43)は、入力音声に含まれる時制ワードに基づいて、該予定の実行期間を判定し、通知タイミング決定部(44)は、上記実行期間に基づいて、通知のタイミングを決定する。」ことが記載されている。
【0007】
特許文献2に記載の技術では、時制ワードを含む音声又はテキストを入力する必要がある。また、時間に依存しないような行動(予定)又は時間が定まっていない行動に対しては適用が難しい。
【0008】
本発明は、人に行動の実行を促すメッセージを適切なタイミングで送信することによって、ある行動の習慣化を支援するシステム及びその方法を提供することを目的とする。
【課題を解決するための手段】
【0009】
本願において開示される発明の代表的な一例を示せば以下の通りである。すなわち、目的行動の習慣化を支援する計算機システムであって、演算装置、前記演算装置に接続される記憶装置、及び前記演算装置に接続される接続インタフェースを有する少なくとも一つの計算機を備え、前記目的行動、ユーザが定常的に行っているルーチン行動であって、前記目的行動の実行を前記ユーザに促すためのコンテンツを含むメッセージの送信制御の開始契機として設定されたトリガ行動、前記コンテンツを生成するためのテンプレート、及び送信タイミングを含む制御条件データを格納する制御条件管理情報を管理し、前記少なくとも一つの計算機は、前記ユーザの行動に関する行動データを受信した場合、受信した前記行動データを分析して前記ユーザの行動を特定し、前記制御条件管理情報を参照して、前記特定された行動が前記トリガ行動として設定される前記制御条件データを検索し、検索された前記制御条件データに含まれる前記テンプレートに基づいて、前記コンテンツを生成し、検索された前記制御条件データに含まれる前記送信タイミングに基づいて、前記ユーザに、生成された前記コンテンツを含む前記メッセージを送信する
【発明の効果】
【0010】
本発明によれば、人に目的行動の実行を促すメッセージを適切なタイミングで送信することによって、目的行動の習慣化を支援できる。上記した以外の課題、構成及び効果は、以下の実施例の説明により明らかにされる。
【図面の簡単な説明】
【0011】
図1】本発明の概要を説明するブロック図である。
図2】実施例1の計算機システムのハードウェア構成の一例を示す図である。
図3】実施例1の行動履歴データベースに格納される情報の一例を示す図である。
図4】実施例1の行動定義管理情報の一例を示す図である。
図5】実施例1のコンテンツテンプレート管理情報の一例を示す図である。
図6A】実施例1の計算機システムが管理するコンテンツのテンプレートの一例を示す図である。
図6B】実施例1の計算機システムが管理するコンテンツのテンプレートの一例を示す図である。
図7】実施例1のルーチン行動管理情報の一例を示す図である。
図8】実施例1の制御条件管理情報の一例を示す図である。
図9】実施例1の送信履歴管理情報の一例を示す図である。
図10】実施例1の計算機システムが実行するルーチン行動抽出処理の一例を説明するフローチャートである。
図11】実施例1の計算機システムによって提示される目的行動設定画面の一例を示す図である。
図12】実施例1の計算機システムによって提示される条件設定画面の一例を示す図である。
図13】実施例1の計算機システムが実行する関連ルーチン行動表示処理の一例を説明するフローチャートである。
図14】実施例1の計算機システムが実行する制御要否判定処理の一例を説明するフローチャートである。
図15】実施例1の計算機システムが実行するメッセージ送信制御処理の一例を説明するフローチャートである。
図16A】実施例1の計算機システムによって提示されるコンテンツの一例を示す図である。
図16B】実施例1の計算機システムによって提示されるコンテンツの一例を示す図である。
図17A】実施例1の計算機システムが実行する制御条件更新処理の一例を説明するフローチャートである。
図17B】実施例1の計算機システムが実行する制御条件更新処理の一例を説明するフローチャートである。
【発明を実施するための形態】
【0012】
以下、本発明の実施例を、図面を用いて説明する。ただし、本発明は以下に示す実施例の記載内容に限定して解釈されるものではない。本発明の思想ないし趣旨から逸脱しない範囲で、その具体的構成を変更し得ることは当業者であれば容易に理解される。以下に説明する発明の構成において、同一又は類似する構成又は機能には同一の符号を付し、重複する説明は省略する。本明細書等における「第1」、「第2」、「第3」等の表記は、構成要素を識別するために付するものであり、必ずしも、数又は順序を限定するものではない。図面等において示す各構成の位置、大きさ、形状、及び範囲等は、発明の理解を容易にするため、実際の位置、大きさ、形状、及び範囲等を表していない場合がある。したがって、本発明では、図面等に開示された位置、大きさ、形状、及び範囲等に限定されない。
【0013】
まず、本発明の概要について説明する。図1は、本発明の概要を説明するブロック図である。
【0014】
計算機システム100は、ユーザ101が利用する端末(図示省略)、ユーザ101が着用するウェアラブルデバイス(図示省略)、ユーザ101の行動を管理するシステム103、及び施設に設置されたセンサ104等と接続し、ユーザ101の行動データ105を取得する。なお、行動データ105は、ユーザ101が手動で入力してもよい。
【0015】
計算機システム100と、端末、ウェアラブルデバイス、システム103、及びセンサ104との間は、LAN(Local Area Network)及びWAN(Wide Area Network)等のネットワークを介して接続される。ネットワークの接続方式は有線及び無線のいずれでもよい。
【0016】
行動データ105は、ユーザ101の行動に関するデータである。例えば、ログイン情報、アクセス情報、位置情報、及び施設の利用情報である。施設は、例えば、売店、エレベータ、及び会議室等である。
【0017】
計算機システム100は、ユーザ101のある行動を検知した場合、目的行動の実行を促すためのコンテンツを含むメッセージ106を任意のタイミングで送信する。
【0018】
計算機システム100は、管理者102が利用する端末(図示省略)と接続する。計算機システム100と端末との間はネットワークを介して接続される。計算機システム100は、管理者102に各種設定を行うためのインタフェースを提供し、また、各種情報を提示する。
【0019】
計算機システム100は、ルーチン行動抽出部110、制御条件設定部111、制御要否判定部112、及びメッセージ送信制御部113を備える。また、計算機システム100は、行動履歴データベース120、行動定義管理情報121、コンテンツテンプレート管理情報122、ルーチン行動管理情報123、制御条件管理情報124、及び送信履歴管理情報125を保持する。
【0020】
行動履歴データベース120は、計算機システム100が受信した行動データ105を格納する。行動履歴データベース120には、種別毎に行動データ105を管理する情報が格納される。
【0021】
行動定義管理情報121は、ユーザ101の行動を定義する行動定義データを格納する。
【0022】
コンテンツテンプレート管理情報122は、メッセージ106に含めるコンテンツを生成するためのテンプレートを格納する。
【0023】
ルーチン行動管理情報123は、ユーザ101が定常的に行っている行動であるルーチン行動を定義するルーチン行動定義データを格納する。
【0024】
制御条件管理情報124は、メッセージ106の送信制御を開始する制御条件を定義する制御条件データを格納する。
【0025】
送信履歴管理情報125は、メッセージ106の送信に関する履歴(送信履歴)を格納する。
【0026】
ルーチン行動抽出部110は、行動履歴データベース120及び行動定義管理情報121に基づいて、ユーザ101の行動の中からルーチン行動を抽出し、抽出したルーチン行動のルーチン行動定義データをルーチン行動管理情報123に格納する。
【0027】
制御条件設定部111は、行動履歴データベース120、コンテンツテンプレート管理情報122、ルーチン行動管理情報123、及び管理者102からの入力に基づいて、あるユーザ101のある目的行動に対する制御条件を決定し、決定した制御条件を制御条件データとして制御条件管理情報124に格納する。
【0028】
制御要否判定部112は、行動データ105を受信し、行動データ105を行動履歴データベース120に格納する。また、制御要否判定部112は、行動データ105の分析結果及び制御条件管理情報124に基づいて、メッセージ106の送信制御の実行要否を判定する。メッセージ106の送信制御の実行が必要であると判定した場合、制御要否判定部112は、制御条件データとともに、メッセージ送信制御部113にメッセージ106の送信制御の実行を指示する。
【0029】
メッセージ送信制御部113は、制御要否判定部112からの指示を受け付けた場合、コンテンツテンプレート管理情報122に基づいて、制御条件データにて指定されたテンプレートを用いてコンテンツを生成し、当該コンテンツを含むメッセージ106をユーザ101に送信する。このとき、メッセージ送信制御部113は、送信履歴管理情報125に送信履歴を格納する。
【0030】
なお、計算機システム100が有する各機能部については、複数の機能部を一つの機能部にまとめてもよいし、一つの機能部を機能毎に複数の機能部に分けてもよい。例えば、メッセージ送信制御部113に制御要否判定部112を含めてもよい。
【0031】
計算機システム100は、ユーザ101のルーチン行動の実行を契機にメッセージ106の送信制御を開始する。これによって、ユーザの行動スケジュール及び音声等を用いることなく、ユーザ101にメッセージ106を送信できる。ルーチン行動と紐付けて目的行動の実行を促すメッセージを送信することによって、効率的かつ効果的に、目的行動の習慣化が期待できる。
【0032】
以下、具体的なユースケースを用いて本発明の実施例について説明する。
【実施例1】
【0033】
図2は、実施例1の計算機システム100のハードウェア構成の一例を示す図である。
【0034】
計算機システム100は、例えば、一つの計算機200から構成される。計算機200は、プロセッサ201、ネットワークインタフェース202、主記憶装置203、及び副記憶装置204を有する。下記ハードウェアはバスを介して互いに接続される。
【0035】
プロセッサ201は、主記憶装置203に格納されるプログラムを実行する。プロセッサ201がプログラムにしたがって処理を実行することによって、特定の機能を実現する機能部(モジュール)として動作する。以下の説明では、機能部を主語に処理を説明する場合、プロセッサ201が当該機能部を実現するプログラムを実行していることを示す。
【0036】
ネットワークインタフェース202は、ネットワークを介して外部装置及び外部システムと通信するためのインタフェースである。
【0037】
主記憶装置203は、DRAM(Dynamic Random Access Memory)等であり、プロセッサ201が実行するプログラム及びプログラムが使用する情報を格納する。実施例1の主記憶装置203は、ルーチン行動抽出部110、制御条件設定部111、制御要否判定部112、及びメッセージ送信制御部113を実現するプログラムを格納する。また、主記憶装置203は、プログラムが一時的に使用するワークエリアとしても用いられる。
【0038】
副記憶装置204は、HDD(Hard Disk Drive)及びSSD(Solid State Drive)等で有り、情報を永続的に格納する。実施例1の副記憶装置204は、行動履歴データベース120、行動定義管理情報121、コンテンツテンプレート管理情報122、ルーチン行動管理情報123、制御条件管理情報124、及び送信履歴管理情報125を格納する。
【0039】
なお、主記憶装置203に格納されるプログラムは副記憶装置204に格納されてもよい。この場合、プロセッサ201は、副記憶装置204からプログラムを読み出し、主記憶装置203にロードし、主記憶装置203にロードされたプログラムを実行する。また、副記憶装置204に格納される一部又は全ての情報は主記憶装置203に格納されてもよい。
【0040】
なお、計算機システム100は、複数の計算機200から構成されてもよい。この場合、各計算機200の機能構成は同一にしてもよいし、各計算機200に機能部を分散配置してもよい。また、計算機システム100は、処理を実行する計算機200と、情報を格納するストレージシステムとから構成されてもよい。
【0041】
図3は、実施例1の行動履歴データベース120に格納される情報の一例を示す図である。
【0042】
行動履歴データベース120は、種別毎に行動データ105を格納する複数の情報(テーブル)を格納する。図3の行動履歴データベース120は、業務報告情報300、施設利用情報310、及び勤怠情報320を格納する。
【0043】
業務報告情報300は、業務報告を管理するシステム103等から取得した業務報告に関する行動データ105を格納する。業務報告情報300には、一日ごとの業務報告の有無を示す行動データ105が格納される。行動データ105は、ユーザID301、日付302、実行フラグ303、及び時刻304を含む。
【0044】
ユーザID301は、ユーザ101の識別情報を格納するフィールドである。日付302は、日付を格納するフィールドである。実行フラグ303は、ユーザ101が業務報告を行ったか否かを示す実行フラグを格納するフィールドである。実行フラグ303には、業務報告が行われたことを示す「1」及び業務報告が行われなかったことを示す「0」のいずれかが格納される。時刻304は、業務報告が行われた時刻を格納するフィールドである。なお、業務報告が行われなかった日の時刻304は空欄となる。
【0045】
施設利用情報310は、施設に設置されたセンサ104等から取得した施設の利用に関する行動データ105を格納する。行動データ105は、タイムスタンプ311、ユーザID312、及びセンサID313を含む。
【0046】
タイムスタンプ311は、ユーザ101が施設を利用した時刻(センサ104がユーザ101を検知した時刻)を格納するフィールドである。ユーザID312は、施設を利用したユーザ101の識別情報を格納するフィールドである。センサID313は、施設の利用を検知したセンサ104の識別情報を格納するフィールドである。
【0047】
勤怠情報320は、勤怠を管理するシステム103等から取得した勤怠に関する行動データ105を格納する。行動データ105は、ユーザID321、日付322、出社時刻323、及び退社時刻324を含む。
【0048】
ユーザID321は、ユーザ101の識別情報を格納するフィールドである。日付322は、日付を格納するフィールドである。出社時刻323は、ユーザ101の出社時刻を格納するフィールドである。退社時刻324は、ユーザ101の退社時刻を格納するフィールドである。
【0049】
なお、行動履歴データベース120に格納される情報は一例であって図3で示した情報に限定されない。行動履歴データベース120に格納される情報のデータ形式はテーブルに限定されず、CSV及びXML等でもよい。また、行動履歴データベース120は、種別が異なる行動データ105を、データ構造に依存しないデータレイクとして管理してもよい。
【0050】
図4は、実施例1の行動定義管理情報121の一例を示す図である。
【0051】
行動定義管理情報121は、行動ID401、行動名402、及びデータ定義403を含むエントリを格納する。一つのエントリが一つの行動定義データに対応する。
【0052】
行動ID401は、行動定義管理情報121のエントリの識別情報を格納するフィールドである。
【0053】
行動名402は、行動の名称を格納するフィールドである。
【0054】
データ定義403は、行動を特定するためのデータ内容を格納するフィールドである。データ定義403には、行動履歴データベース120に格納される情報の名称と、データ項目の名称及び値の組合せとが格納される。
【0055】
行動ID401が「RA0001」のエントリは、「施設Aの利用」を定義する行動定義データである。施設利用情報310のセンサID313が「3」である行動データ105は、行動「施設Aの利用」として特定される。
【0056】
行動ID401が「RA0002」のエントリは、「エレベータAの利用」を定義する行動定義データである。施設利用情報310のセンサID313が「6」である行動データ105は、行動「エレベータAの利用」として特定される。
【0057】
行動ID401が「RA0003」のエントリは、「出社」を定義する行動定義データである。勤怠情報320のエントリが存在する場合、行動「出社」として特定される。
【0058】
行動定義管理情報121は、計算機システム100に予め設定されているものとする。ただし、管理者102等によって適宜更新することができる。
【0059】
図5は、実施例1のコンテンツテンプレート管理情報122の一例を示す図である。図6A及び図6Bは、実施例1の計算機システム100が管理するコンテンツのテンプレートの一例を示す図である。
【0060】
コンテンツテンプレート管理情報122は、コンテンツID501、目的行動種別502、及びコンテンツテンプレート503を含むエントリを格納する。一つのエントリが一つのコンテンツのテンプレートに対応する。
【0061】
コンテンツID501は、コンテンツテンプレート管理情報122のエントリの識別情報を格納するフィールドである。
【0062】
目的行動種別502は、目的行動の種別を格納するフィールドである。
【0063】
コンテンツテンプレート503は、メッセージ106に含めるコンテンツのテンプレートを格納するフィールドである。ここで、コンテンツは目的行動の実行を促す文字、図、及び表等を含む画像である。
【0064】
コンテンツテンプレート503には、例えば、図6A及び図6Bに示すようなテンプレート600が格納される。テンプレート600は、表示領域601及び応答領域602を含む。表示領域601は目的行動の実行を促す文字等を表示する領域である。応答領域602はメッセージ106に対するユーザ101の応答の入力を受け付ける領域である。
【0065】
図6Aの応答領域602の「あとで」ボタンの横の欄は、目的行動の実行を先延ばしする時間又は時刻を入力する欄である。例えば、「10分後」、「10:00」等が格納される。図6Bの表示領域601の「[日数]」はメッセージ106の送信時における目的行動の実行の実績から算出される値を表示する表示部分を示す。
【0066】
コンテンツテンプレート管理情報122は、計算機システム100に予め設定されているものとする。ただし、管理者102等によって適宜更新することができる。
【0067】
図7は、実施例1のルーチン行動管理情報123の一例を示す図である。
【0068】
ルーチン行動管理情報123は、行動ID701、ユーザID702、行動名703、時間特徴704、及び登録日705を含むエントリを格納する。一つのエントリが一人のユーザ101の一つのルーチン行動定義データに対応する。
【0069】
行動ID701は、ルーチン行動管理情報123のエントリの識別情報を格納するフィールドである。
【0070】
ユーザID702は、ユーザ101の識別情報を格納するフィールドである。
【0071】
行動名703は、行動の名称を格納するフィールドである。行動名703には、行動定義管理情報121の行動名402の値が設定される。計算機システム100は、行動名703に基づいて行動定義管理情報121を参照することによって、ルーチン行動を特定するためのデータ内容を把握できる。
【0072】
時間特徴704は、ルーチン行動の時間的な特徴に関する情報を格納するフィールドである。
【0073】
登録日705は、エントリの登録日又は更新日を格納するフィールドである。
【0074】
図8は、実施例1の制御条件管理情報124の一例を示す図である。
【0075】
制御条件管理情報124は、条件ID801、ユーザID802、目的行動名803、参照情報804、トリガ行動805、コンテンツID806、送信タイミング807、送信間隔808、評価指標809、及びスコア810を含むエントリを格納する。一つのエントリが一つの制御条件データに対応する。なお、図面の書式の関係上、一つのエントリを二段に分割して記載している。
【0076】
条件ID801は、制御条件管理情報124のエントリの識別情報を格納するフィールドである。
【0077】
ユーザID802は、ユーザ101の識別情報を格納するフィールドである。
【0078】
目的行動名803は、目的行動の名称を格納するフィールドである。
【0079】
参照情報804は、目的行動の行動データ105を格納する情報の名称等を格納するフィールドである。
【0080】
トリガ行動805は、メッセージ106の送信制御を開始する契機となるトリガ行動の名称を格納するフィールドである。
【0081】
コンテンツID806は、メッセージ106に含めるコンテンツを生成するために使用するテンプレートの識別情報を格納するフィールドである。コンテンツID806には、コンテンツID501の値が格納される。なお、テンプレートの識別情報ではなく、テンプレートそのものを格納するフィールドでもよい。
【0082】
送信タイミング807は、メッセージ106の送信タイミングを格納する。送信タイミング807には、トリガ行動の検知時からメッセージ106を送信するまでの時間が格納される。
【0083】
送信間隔808は、メッセージ106の送信間隔を格納するフィールドである。送信間隔808に「一日」が格納される場合、一日に一回、メッセージ106が送信される。
【0084】
評価指標809は、メッセージ106の送信による目的行動の実行の実績を評価するスコアの算出方法を格納するフィールドである。
【0085】
スコア810は、評価指標809に格納されるスコアの算出方法に基づいて算出されたスコアを格納するフィールドである。
【0086】
図9は、実施例1の送信履歴管理情報125情報の一例を示す図である。
【0087】
送信履歴管理情報125は、履歴ID901、ユーザID902、目的行動名903、参照情報904、トリガ行動905、コンテンツ906、送信時刻907、及びユーザ応答908を含むエントリを格納する。一つのエントリが一つの送信履歴に対応する。
【0088】
履歴ID901は、送信履歴管理情報125のエントリの識別情報を格納するフィールドである。
【0089】
ユーザID902、目的行動名903、参照情報904、及びトリガ行動905は、ユーザID802、目的行動名803、参照情報804、及びトリガ行動805と同一のフィールドである。
【0090】
コンテンツ906は、送信したメッセージ106に含まれていたコンテンツを格納するフィールドである。
【0091】
送信時刻907は、メッセージ106が送信された時刻を格納するフィールドである。
【0092】
ユーザ応答908は、メッセージ106を送信したユーザ101の応答に関する情報を格納するフィールド群である。ユーザ応答908は、応答種別911及び応答時刻912を含む。
【0093】
応答種別911は、ユーザ101の応答の種別を格納するフィールドである。実施例1のコンテンツには、目的行動を実行するタイミングを入力する応答領域602が含まれる。ユーザ101の応答が得られなかった場合、応答種別911は空欄となる。
【0094】
応答時刻912は、ユーザ101の応答時刻を格納するフィールドである。ユーザ101の応答が得られなかった場合、応答時刻912は空欄となる。
【0095】
図10は、実施例1の計算機システム100が実行するルーチン行動抽出処理の一例を説明するフローチャートである。
【0096】
計算機システム100は、管理者102から実行指示を受け付けた場合、行動データ105が一定数以上蓄積された場合、又は、周期的に、ルーチン行動抽出処理を実行する。ここでは、計算機システム100は、管理者102から実行指示を受け付けたものとする。実行指示には処理対象のユーザ101の識別情報を格納するユーザリストが含まれる。
【0097】
ルーチン行動抽出部110はユーザ101のループ処理を開始する(ステップS101)。
【0098】
具体的には、ルーチン行動抽出部110は、ユーザリストから一人のユーザ101を選択する。以下の説明では、選択されたユーザ101をターゲットユーザ101と記載する。
【0099】
次に、ルーチン行動抽出部110は、行動のループ処理を開始する(ステップS102)。
【0100】
具体的には、ルーチン行動抽出部110は、行動定義管理情報121のエントリを一つ選択する。以下の説明では、選択されたエントリに対応する行動をターゲット行動と記載する。
【0101】
次に、ルーチン行動抽出部110は、行動履歴データベース120からターゲットユーザ101のターゲット行動に対応する行動データ105を検索する(ステップS103)。
【0102】
具体的には、ルーチン行動抽出部110は、ターゲット行動に対応するエントリのデータ定義403と、ターゲットユーザ101の識別情報とに基づいて、行動履歴データベース120に格納される所定の情報からターゲットユーザ101のターゲット行動に対応する行動データ105を検索する。
【0103】
次に、ルーチン行動抽出部110は、検索された行動データ105を用いて、ターゲット行動の頻度を評価する評価値を算出する(ステップS104)。
【0104】
例えば、ルーチン行動抽出部110は検索されたエントリの数を評価値として算出する。また、ルーチン行動抽出部110は、日単位でエントリの数を集計し、一日のエントリの数の平均値を評価値として算出する。
【0105】
評価値の算出方法は予め設定されている。なお、行動毎に異なる算出方法が設定されてもよい。
【0106】
次に、ルーチン行動抽出部110は、評価値に基づいてターゲット行動がルーチン行動であるか否かを判定する(ステップS105)。
【0107】
例えば、ルーチン行動抽出部110は、評価値が閾値より大きい場合、ターゲット行動がルーチン行動であると判定する。
【0108】
ターゲット行動がルーチン行動でないと判定された場合、ルーチン行動抽出部110はステップS107に進む。
【0109】
ターゲット行動がルーチン行動であると判定された場合、ルーチン行動抽出部110は、ルーチン行動管理情報123に、ターゲットユーザ101のルーチン行動としてターゲット行動を登録し(ステップS106)、その後、ステップS107に進む。具体的には、以下のような処理が実行される。
【0110】
(S106-1)ルーチン行動抽出部110は、ルーチン行動管理情報123に、ユーザID702にターゲットユーザ101の識別情報が格納され、かつ、行動名703にターゲット行動の名称(行動名402の値)が格納されるエントリが存在するか否かを判定する。
【0111】
(S106-2)ルーチン行動管理情報123に前述の条件を満たすエントリが存在する場合、ルーチン行動抽出部110は、当該エントリの登録日705に現在の日時を格納する。
【0112】
(S106-3)ルーチン行動管理情報123に前述の条件を満たすエントリが存在しない場合、ルーチン行動抽出部110は、ルーチン行動管理情報123にエントリを追加し、追加されたエントリの登録日705に現在の日時を格納する。ルーチン行動抽出部110は、エントリの識別情報を生成し、追加されたエントリの行動ID701に当該識別情報を格納する。ルーチン行動抽出部110は、追加されたエントリのユーザID702にターゲットユーザ101の識別情報を格納し、行動名703に、ターゲット行動の名称を格納する。さらに、ルーチン行動抽出部110は、検索された行動データ105を分析した結果、ルーチン行動の時間的な特徴が存在した場合、追加されたエントリの時間特徴704にルーチン行動の時間的な特徴に関する情報を格納する。以上がステップS106の処理の説明である。
【0113】
ステップS107では、ルーチン行動抽出部110は、ターゲットユーザ101の全ての行動について処理が完了したか否かを判定する(ステップS107)。
【0114】
ターゲットユーザ101の全ての行動について処理が完了していないと判定された場合、ルーチン行動抽出部110は、ステップS102に戻り、同様の処理を実行する。
【0115】
ターゲットユーザ101の全ての行動について処理が完了したと判定された場合、ルーチン行動抽出部110は、ルーチン行動管理情報123からターゲットユーザ101の古いエントリを削除する(ステップS108)。
【0116】
具体的には、ルーチン行動抽出部110は、ルーチン行動管理情報123のユーザID702にターゲットユーザ101の識別情報が格納されるエントリを検索する。ルーチン行動抽出部110は、検索されたエントリのうち、登録日705に格納される日時が、現在の日時から一定期間以上古いエントリを削除する。
【0117】
次に、ルーチン行動抽出部110は、ユーザリストに登録されている全てのユーザ101について処理が完了したか否かを判定する(ステップS109)。
【0118】
ユーザリストに登録されている全てのユーザ101について処理が完了していないと判定された場合、ルーチン行動抽出部110は、ステップS101に戻り、同様の処理を実行する。
【0119】
ユーザリストに登録されている全てのユーザ101について処理が完了したと判定された場合、ルーチン行動抽出部110はルーチン行動抽出処理を終了する。
【0120】
なお、行動データ105が一定数以上蓄積された場合、又は周期的にルーチン行動抽出処理を実行する場合、ルーチン行動抽出部110は、行動履歴データベース120又はルーチン行動管理情報123を参照して、ユーザ101のユーザリストを生成する。その後、ルーチン行動抽出部110はステップS101以降の処理を実行する。
【0121】
図11は、実施例1の計算機システム100によって提示される目的行動設定画面の一例を示す図である。図12は、実施例1の計算機システム100によって提示される条件設定画面の一例を示す図である。
【0122】
制御条件設定部111は、管理者102からの要求に応じて、目的行動設定画面1100及び条件設定画面1200を提示する。
【0123】
目的行動設定画面1100は、目的行動欄1101、参照情報欄1102、評価指標欄1103、及び完了ボタン1104を含む。
【0124】
目的行動欄1101は、目的行動の名称を設定する欄である。参照情報欄1102は、目的行動の行動データ105が格納される情報の名称を格納する欄である。参照情報欄1102には、プルダウン形式で情報の名称が表示される。評価指標欄1103は、スコアの算出方法を設定する欄である。評価指標欄1103には、スコアの算出方法を選択するためのラジオボタンが表示される。完了ボタン1104は、目的行動設定画面1100への入力を完了するための操作ボタンである。
【0125】
完了ボタン1104が操作された場合、各欄の値を含む目的行動登録要求が計算機システム100に送信される。計算機システム100は各欄の値を一時的に保持する。
【0126】
条件設定画面1200は、ユーザ設定領域1201、トリガ行動設定領域1202、コンテンツテンプレート設定領域1203、及び完了ボタン1204を含む。
【0127】
ユーザ設定領域1201は、ユーザを指定するための領域であり、ユーザ101の識別情報を設定する欄であるユーザID欄1211を含む。
【0128】
トリガ行動設定領域1202は、メッセージ106の送信制御の開始契機として監視するトリガ行動に関する設定を行うための領域である。トリガ行動設定領域1202は、トリガ行動として設定するルーチン行動を選択するためのテーブル1220を含む。テーブル1220は、選択1221、行動名1222、送信タイミング1223、送信間隔1224から構成されるエントリを格納する。
【0129】
選択1221は、エントリに対応するルーチン行動を採用するためのチェックボックスである。行動名1222は、ルーチン行動の名称を表示する。送信タイミング1223は、トリガ行動の検知時からメッセージ106を送信するまでの遅延時間を表示する。送信間隔1224は、メッセージの送信間隔を表示する。
【0130】
なお、エントリの送信タイミング1223及び送信間隔1224は、ユーザが任意の値を設定できるように制御されてもよい。
【0131】
コンテンツテンプレート設定領域1203は、メッセージ106に含めるコンテンツを生成するためのテンプレートに関する設定を行うための領域である。コンテンツテンプレート設定領域1203は、コンテンツテンプレートを選択するためのテーブル1230を含む。テーブル1230は、選択1231及びコンテンツテンプレート1232から構成されるエントリを格納する。
【0132】
選択1231は、エントリに対応するテンプレートを採用するためのチェックボックスである。コンテンツテンプレート1232は、テンプレートの識別情報及び表示ボタンを表示する。表示ボタンが操作された場合、制御条件設定部111は、コンテンツテンプレート管理情報122からテンプレートを取得し、条件設定画面1200を介してテンプレートを提示する。なお、テンプレートは、条件設定画面1200に重畳するように表示されてもよいし、条件設定画面1200とは異なる画面に表示されてもよい。
【0133】
完了ボタン1204は、条件設定画面1200への入力を完了するための操作ボタンである。
【0134】
完了ボタン1204が操作された場合、各欄の値を含む条件登録要求が計算機システム100に送信される。計算機システム100は、各欄の値を一時的に保持する。
【0135】
完了ボタン1104、1204が操作された後、制御条件設定部111は、制御条件管理情報124にエントリを追加し、エントリの識別情報を生成し、追加されたエントリの条件ID801に格納する。制御条件設定部111は、追加されたエントリの目的行動名803及び参照情報804に、目的行動欄1101及び参照情報欄1102の値を格納する。制御条件設定部111は、追加されたエントリの評価指標809に、評価指標欄1103にて選択されたスコアの算出方法を格納する。制御条件設定部111は、追加されたエントリのユーザID802に、ユーザID欄1211の値を格納する。制御条件設定部111は、追加されたエントリのトリガ行動805、送信タイミング807、及び送信間隔808に、テーブル1220から選択されたエントリの値を格納する。また、制御条件設定部111は、追加されたエントリのコンテンツID806に、テーブル1230から選択されたテンプレートの識別情報を格納する。
【0136】
トリガ行動設定領域1202のテーブル1220には、選択可能なすべてのルーチン行動が表示されてもよいし、目的行動と関連性があるルーチン行動のみが表示されてもよい。目的行動と関連性があるルーチン行動を表示する方法としては以下のような方法が考えられる。
【0137】
図13は、実施例1の計算機システム100が実行する関連ルーチン行動表示処理の一例を説明するフローチャートである。
【0138】
制御条件設定部111は、ユーザID欄1211に設定された識別情報に基づいてルーチン行動管理情報123を参照し、ユーザ101のルーチン行動を特定する(ステップS201)。
【0139】
このとき、制御条件設定部111は、各ルーチン行動のカウンタを設定する。カウンタには初期値「0」が設定される。また、制御条件設定部111は、ルーチン行動の名称(行動名703)に基づいて行動定義管理情報121を参照し、各ルーチン行動に対応するエントリを検索する。
【0140】
次に、制御条件設定部111は、参照情報欄1102に設定された名称に対応する情報から、一定期間の行動データ105を取得する(ステップS202)。
【0141】
次に、制御条件設定部111は、行動データのループ処理を開始する(ステップS203)。
【0142】
具体的には、制御条件設定部111は、取得した行動データ105の中から一つの行動データ105を選択する。以下の説明では、選択された行動データ105に対応する目的行動をターゲット目的行動と記載する。
【0143】
次に、制御条件設定部111は、ターゲット目的行動が実行された時刻を基準とする探索時間範囲を設定する(ステップS204)。例えば、ターゲット目的行動の実行時刻の前後10分の範囲が探索時間範囲に設定される。なお、探索時間範囲の設定方法は予め設定されている。
【0144】
次に、制御条件設定部111は、各ルーチン行動の行動データ105を格納する情報を参照し、探索時間範囲に実行されたルーチン行動の行動データ105を検索する(ステップS205)。ルーチン行動の行動データ105の検索は、ステップS201において検索されたエントリのデータ定義403を用いて実行される。
【0145】
次に、制御条件設定部111は、各ルーチン行動の行動データ105の数を、各ルーチン行動のカウンタに加算する(ステップS206)。
【0146】
制御条件設定部111は、取得した全ての行動データ105について処理が完了したか否かを判定する(ステップS207)。
【0147】
取得した全ての行動データ105について処理が完了していないと判定された場合、制御条件設定部111は、ステップS203に戻り、同様の処理を実行する。
【0148】
取得した全ての行動データ105について処理が完了したと判定された場合、制御条件設定部111は、カウンタの値が閾値より大きいルーチン行動を、目的行動と関連性があるルーチン行動として特定する(ステップS208)。すなわち、実行時間帯が目的行動と共通し、かつ、頻繁に実行されるルーチン行動が特定される。
【0149】
目的行動と関連性があるルーチン行動を提示することによって、管理者102の操作負担を低減できる。また、目的行動と関連性があるルーチン行動がトリガ行動として選択されることによって、効果的かつ効率的な目的行動の習慣化が期待できる。
【0150】
図14は、実施例1の計算機システム100が実行する制御要否判定処理の一例を説明するフローチャートである。
【0151】
計算機システム100は、行動データ105を受信した場合、制御要否判定処理を開始する。
【0152】
制御要否判定部112は、行動データ105を分析し(ステップS301)、分析結果に基づいて行動データ105を行動履歴データベース120に格納する(ステップS302)。
【0153】
具体的には、制御要否判定部112は、行動データ105に含まれる項目の名称、項目の値、及びデータ形式等を分析する。制御要否判定部112は、分析結果に基づいて行動データ105を格納する情報を特定し、特定された情報に行動データ105を格納する。また、制御要否判定部112は、行動データ105及び特定した情報に基づいて、行動定義管理情報121を参照することによって、行動データ105に対応する行動を特定する。
【0154】
なお、行動データ105の送信先等に基づいて情報が特定されてもよい。
【0155】
次に、制御要否判定部112は、分析結果に基づいて制御条件管理情報124を参照し該当する制御条件が存在するか否かを判定する(ステップS303)。
【0156】
具体的には、制御要否判定部112は、ユーザID802に、受信した行動データ105に含まれるユーザの識別情報が格納され、かつ、トリガ行動805に、特定された行動の名称が格納されるエントリが存在するか否かを判定する。前述の条件を満たすエントリが存在する場合、制御要否判定部112は、該当する制御条件が存在すると判定する。
【0157】
該当する制御条件が存在しないと判定された場合、制御要否判定部112は制御要否判定処理を終了する。
【0158】
該当する制御条件が存在すると判定された場合、制御要否判定部112は、前回のメッセージ送信から送信間隔以上の期間が経過しているか否かを判定する(ステップS304)。具体的には、以下のような処理を実行する。
【0159】
(S304-1)制御要否判定部112は、制御条件管理情報124から検索されたエントリのユーザID802及び目的行動名803の値を取得する。
【0160】
(S304-2)制御要否判定部112は、送信履歴管理情報125を参照し、ユーザID902及び目的行動名903に、ユーザID802及び目的行動名803の値が格納され、かつ、送信時刻907が最新のエントリを検索する。
【0161】
(S304-3)制御要否判定部112は、現在の時刻と、検索されたエントリの送信時刻907に格納される時刻との間の期間が、送信間隔808の値以上であるか否かを判定する。以上がステップS304の処理の説明である。
【0162】
前回のメッセージ送信から送信間隔以上の期間が経過していないと判定された場合、制御要否判定部112は制御要否判定処理を終了する。
【0163】
前回のメッセージ送信から送信間隔以上の期間が経過していると判定された場合、制御要否判定部112は、メッセージ送信制御部113に制御指示を出力し(ステップS305)、その後、制御要否判定処理を終了する。制御指示には、制御条件管理情報124から検索されたエントリ(制御条件データ)が含まれる。
【0164】
図15は、実施例1の計算機システム100が実行するメッセージ送信制御処理の一例を説明するフローチャートである。図16A及び図16Bは、実施例1の計算機システム100によって提示されるコンテンツの一例を示す図である。
【0165】
計算機システム100は、制御指示が出力された場合、メッセージ送信制御処理を開始する。
【0166】
メッセージ送信制御部113は、制御指示に含まれる制御条件データに基づいて、メッセージを即時送信する必要があるか否かを判定する(ステップS401)。
【0167】
具体的には、メッセージ送信制御部113は、制御条件データの送信タイミング807が「0sec」であるか否かを判定する。送信タイミング807が「0sec」であると判定された場合、メッセージ送信制御部113は、メッセージを即時送信すると判定する。
【0168】
メッセージを即時送信する必要があると判定された場合、メッセージ送信制御部113はステップS404に進む。
【0169】
メッセージを即時送信する必要がないと判定された場合、メッセージ送信制御部113はタイマを設定する(ステップS402)。メッセージ送信制御部113は、一定時間経過した後、ステップS403に進む。
【0170】
メッセージ送信制御部113は、タイマに基づいて、メッセージの送信タイミングを経過したか否かを判定する(ステップS403)。
【0171】
具体的には、メッセージ送信制御部113は、タイマの値が制御条件データの送信タイミング807の値より大きいか否かを判定する。タイマの値が制御条件データの送信タイミング807の値より大きい場合、メッセージ送信制御部113は、メッセージの送信タイミングを経過したと判定する。
【0172】
メッセージの送信タイミングを経過していないと判定された場合、メッセージ送信制御部113は、一定時間経過した後、ステップS403に戻り、同様の処理を実行する。
【0173】
メッセージの送信タイミングを経過したと判定された場合、メッセージ送信制御部113はステップS404に進む。
【0174】
ステップS404では、メッセージ送信制御部113は、制御条件データにて指定されたテンプレートを用いてコンテンツを生成する(ステップS404)。
【0175】
具体的には、メッセージ送信制御部113は、コンテンツテンプレート管理情報122を参照し、コンテンツID501に送信制御データのコンテンツID806の値が格納されるエントリを検索する。メッセージ送信制御部113は、検索されたエントリのコンテンツテンプレート503からコンテンツテンプレートを取得し、当該コンテンツテンプレートを用いてコンテンツを生成する。
【0176】
例えば、図16A及び図16Bに示すようなコンテンツ1600が生成される。コンテンツ1600は、表示領域1601及び応答領域1602を含む。表示領域1601は目的行動の実行を促す文字等を表示する領域である。応答領域1602はメッセージ106に対するユーザ101の応答の入力を受け付ける領域である。
【0177】
図16Aのコンテンツ1600は図6Aのテンプレート600から生成されコンテンツであり、図16Bのコンテンツ1600は図6Bのテンプレート600から生成されたコンテンツである。なお、図6Bのテンプレート600の「[日数]」には、行動履歴データベース120の参照情報804に対応する情報を用いて算出される日数が設定される。
【0178】
次に、メッセージ送信制御部113は、コンテンツを含むメッセージ106を、制御条件データのユーザID802に対応するユーザ101に送信する(ステップS405)。このとき、メッセージ送信制御部113は待ち時間の計測を開始する。
【0179】
メッセージ106は端末等に送信される。ユーザ101は、端末等を介してコンテンツ1600を参照し、応答領域1602を操作する。なお、コンテンツ1600の参照又は応答領域1602の操作が行われない場合がある。
【0180】
ユーザ101の目的行動の実行の傾向及び実績等に基づいて、送信タイミングを調整することによって、より効果的活効率的に目的行動の習慣化が期待できる。
【0181】
次に、メッセージ送信制御部113は、送信履歴管理情報125に履歴を追加し(ステップS406)、その後、待ち状態に移行してユーザ101からの応答を待つ。メッセージ送信制御部113は、一定時間経過した後、ステップS407に進む。
【0182】
具体的には、メッセージ送信制御部113は、送信履歴管理情報125にエントリを追加し、エントリの識別情報を生成し、追加されたエントリの履歴ID901に当該識別情報を格納する。メッセージ送信制御部113は、追加されたエントリのユーザID902、目的行動名903、参照情報904、及びトリガ行動905に、制御条件データのユーザID802、目的行動名803、参照情報804、及びトリガ行動805の値を格納する。メッセージ送信制御部113は、追加されたエントリのコンテンツ906に、ステップS404において生成されたコンテンツを格納する。また、メッセージ送信制御部113は、追加されたエントリの送信時刻907にメッセージの送信時刻を格納する。
【0183】
次に、メッセージ送信制御部113は、ユーザ101からの応答を受信したか否かを判定する(ステップS407)。
【0184】
ユーザ101からの応答を受信したと判定された場合、メッセージ送信制御部113は、送信履歴管理情報125に追加されたエントリを更新し(ステップS408)、メッセージ送信制御処理を終了する。
【0185】
具体的には、メッセージ送信制御部113は、受信した応答に基づいて、追加されたエントリのユーザ応答908に値を設定する。
【0186】
ユーザ101からの応答を受信していないと判定された場合、メッセージ送信制御部113は、待ち時間が判定期間を経過したか否かを判定する(ステップS409)。判定期間は予め設定されているものとする。
【0187】
待ち時間が判定期間を経過していないと判定された場合、メッセージ送信制御部113は、待ち状態に移行する。メッセージ送信制御部113は、一定時間経過した後、ステップS407に戻り、同様の処理を実行する。
【0188】
待ち時間が判定期間を経過したと判定された場合、メッセージ送信制御部113はメッセージ送信制御処理を終了する。
【0189】
図17A及び図17Bは、実施例1の計算機システム100が実行する制御条件更新処理の一例を説明するフローチャートである。
【0190】
計算機システム100は、管理者102から実行指示を受け付けた場合、又は、周期的に、制御条件更新処理を実行する。
【0191】
制御条件設定部111は、制御条件のループ処理を開始する(ステップS501)。
【0192】
具体的には、制御条件設定部111は、制御条件管理情報124に格納されるエントリ(制御条件データ)の中から一つのエントリを選択する。以下の説明では、選択されたエントリをターゲット制御条件データと記載する。
【0193】
次に、制御条件設定部111は、送信履歴管理情報125を参照して、ターゲット制御条件に関連する送信履歴のリストを生成する(ステップS502)。
【0194】
具体的には、制御条件設定部111は、ユーザID902及び目的行動名903の値の組合せが、ターゲット制御条件データのユーザID802及び目的行動名803の値の組合せと一致する送信履歴を検索する。制御条件設定部111は、検索された送信履歴から構成されるリストを生成する。
【0195】
なお、制御条件設定部111は、送信時刻907に基づいて、任意の期間の送信履歴から構成されるリストを生成してもよい。
【0196】
次に、制御条件設定部111は、送信履歴のループ処理を開始する(ステップS503)。
【0197】
具体的には、制御条件設定部111は、リストから一つの送信履歴を選択する。以下の説明では、選択された送信履歴をターゲット送信履歴と記載する。
【0198】
次に、制御条件設定部111は、行動履歴データベース120を参照して、ターゲット送信履歴に対応するメッセージ106の送信後の目的行動の実行履歴を検索する(ステップS504)。具体的には、以下のような処理が実行される。
【0199】
(S504-1)制御条件設定部111は、ターゲット送信履歴の送信時刻907に基づいて探索時間範囲を設定する。例えば、送信時刻907に格納される時刻から1週間前の範囲が探索時間範囲として設定される。時間の幅は予め設定されてもよいし、制御条件設定部111が評価指標809に基づいて時間の幅を決定してもよい。
【0200】
(S504-2)制御条件設定部111は、行動履歴データベース120に格納され、ターゲット送信履歴の参照情報804に対応する情報を参照し、探索時間範囲における目的行動の実行を示す行動データ105を検索する。制御条件設定部111は、検索結果を一時的に格納する。以上がステップS504の処理の説明である。
【0201】
次に、制御条件設定部111は、ターゲット送信履歴に対応するメッセージ106の送信後の目的行動の実行履歴が存在するか否かを判定する(ステップS505)。検索結果に少なくとも一つの行動データ105の履歴が含まれる場合、制御条件設定部111は、ターゲット送信履歴に対応するメッセージ106の送信後の目的行動の実行履歴が存在すると判定する。
【0202】
ターゲット送信履歴に対応するメッセージ106の送信後の目的行動の実行履歴が存在すると判定された場合、制御条件設定部111は、ターゲット送信履歴に行動データ105を関連付ける(ステップS506)。
【0203】
具体的には、制御条件設定部111は、送信履歴のリストのターゲット送信履歴に、検索された行動データ105の識別情報を関連付ける。
【0204】
次に、制御条件設定部111は、送信履歴のリストに登録された全ての送信履歴の処理が完了したか否かを判定する(ステップS507)。
【0205】
送信履歴のリストに登録された全ての送信履歴の処理が完了していないと判定された場合、制御条件設定部111は、ステップS503に戻り、同様の処理を実行する。
【0206】
送信履歴のリストに登録された全ての送信履歴の処理が完了したと判定された場合、制御条件設定部111は、目的行動の実行の実績と、ターゲット制御条件データの評価指標809とに基づいて、スコアを算出する(ステップS508)。
【0207】
例えば、制御条件設定部111は、式(1)を用いて、一ヶ月の実行比率を算出し、実行比率の平均値をスコアとして算出する。
【0208】
【数1】
【0209】
ここで、目的行動の実行回数は行動データ105の数であり、メッセージの送信回数は送信履歴の数である。
【0210】
なお、送信履歴のユーザ応答908に基づいて実行回数を補正してもよい。例えば、応答種別911が「今すぐ」の場合、実行回数に比率1.3を乗算する。
【0211】
なお、前述したスコアの算出方法は一例であってこれに限定されない。メッセージの送信に対する目的行動の実行の実績を評価できるスコアであればよい。
【0212】
次に、制御条件設定部111は、算出されたスコアを管理者102に提示する(ステップS509)。なお、ステップS509の処理は省略してもよい。
【0213】
次に、制御条件設定部111は、スコアに基づいて、トリガ行動を変更する必要があるか否かを判定する(ステップS510)。例えば、以下のような判定方法が考えられる。
【0214】
(判定方法1)制御条件設定部111は、スコアが第1閾値より小さいか否かを判定する。スコアが第1閾値より小さい場合、制御条件設定部111は、トリガ行動を変更する必要があると判定する。なお、第1閾値は予め設定されているものとする。
【0215】
(判定方法2)制御条件設定部111は、ターゲット制御条件データのスコア810の値と、算出されたスコアとを用いてスコアの変化率を算出し、当該変化率が第1閾値より小さいか否かを判定する。変化率が第1閾値より小さい場合、制御条件設定部111は、トリガ行動を変更する必要があると判定する。なお、第1閾値は予め設定されているものとする。
【0216】
なお、前述した判定方法は一例であってこれに限定されない。
【0217】
トリガ行動を変更する必要があると判定された場合、制御条件設定部111は、目的行動と関連性があるルーチン行動を特定する(ステップS511)。ステップS511の処理は図13の処理と同一である。
【0218】
次に、制御条件設定部111は、特定されたルーチン行動の中から、現在のトリガ行動以外のルーチン行動を、新たなトリガ行動として選択する(ステップS512)。その後、制御条件設定部111はステップS515に進む。
【0219】
例えば、制御条件設定部111は、ステップS511において使用されたカウンタの値の最も大きいルーチン行動を新たなトリガ行動として選択する。このとき、制御条件設定部111は、ターゲット制御条件データのトリガ行動805に、選択されたルーチン行動の名称を格納する。
【0220】
ステップS510において、トリガ行動を変更する必要がないと判定された場合、制御条件設定部111は、スコアに基づいて、送信タイミングを変更する必要があるか否かを判定する(ステップS513)。例えば、以下のような判定方法が考えられる。
【0221】
(判定方法3)制御条件設定部111は、スコアが第2閾値より小さいか否かを判定する。スコアが第2閾値より小さい場合、制御条件設定部111は、トリガ行動を変更する必要があると判定する。なお、第2閾値は予め設定されているものとする。ただし、第2閾値は第1閾値より大きい値である。
【0222】
(判定方法4)制御条件設定部111は、ターゲット制御条件のスコア810の値と、算出されたスコアとを用いてスコアの変化率を算出し、当該変化率が第2閾値より小さいか否かを判定する。変化率が第2閾値より小さい場合、制御条件設定部111は、トリガ行動を変更する必要があると判定する。なお、第2閾値は予め設定されているものとする。ただし、第2閾値は第1閾値より大きい値である。
【0223】
なお、前述した判定方法は一例であってこれに限定されない。
【0224】
送信タイミングを変更する必要がないと判定された場合、制御条件設定部111はステップS515に進む。
【0225】
送信タイミングを変更する必要があると判定された場合、制御条件設定部111は送信タイミングを変更する(ステップS514)。その後、制御条件設定部111はステップS515に進む。
【0226】
例えば、制御条件設定部111は、予め設定されている変化量に基づいて送信タイミングを変更する。また、制御条件設定部111は、ターゲット制御条件データのスコア810の値と、算出されたスコアとを用いてスコアの変化率を算出し、当該変化率に基づいて送信タイミングを変更してもよい。
【0227】
ステップS515では、制御条件設定部111は、制御条件管理情報124に格納される全てのエントリについて処理が完了したか否かを判定する(ステップS515)。
【0228】
制御条件管理情報124に格納される全てのエントリについて処理が完了してないと判定された場合、制御条件設定部111は、ステップS501に戻り、同様の処理を実行する。
【0229】
制御条件管理情報124に格納される全てのエントリについて処理が完了したと判定された場合、制御条件設定部111は制御条件更新処理を終了する。
【0230】
制御条件設定部111は、メッセージ送信に対する目的行動の実行の実績が低い場合、トリガ行動及び送信タイミングを変更する。これによって、ユーザ101の行動に応じて、目的行動の実績を高める制御条件を自動的に設定できる。
【0231】
以上で説明したように、計算機システム100は、トリガ行動として設定されたルーチン行動の実行を検知した場合、目的行動の実行を促すメッセージを任意の送信タイミングでユーザ101に送信する。これによって、効率的かつ効果的に目的行動の習慣化が期待される。また、計算機システム100は、メッセージの送信による目的行動の実行の実績を分析し、実績に応じて監視するルーチン行動及び送信タイミングを更新する。これによって、メッセージをより適切なタイミングで送信することができる。
【0232】
(変形例)
実施例1では、ユーザ単位で処理を行っていたがこれに限定されない。計算機システム100は、ユーザ101の属性に基づいてユーザ101をグルーピングし、グループ単位でメッセージ106の送信制御を実行してもよい。この場合、制御条件管理情報124(図8)や、条件設定画面1200(図12)におけるユーザIDはグループIDに置き換えられ、計算機システム100は、個々のユーザが、どのグループに含まれるかを判定し、当該のグループに対する制御条件管理情報を参照し、ユーザに対する送信制御を実行する。
【0233】
実施例1では、一つの制御条件に対して一つのテンプレートを設定していたがこれに限定されない。一つの制御条件に対して複数のテンプレートを設定してもよい。この場合、計算機システム100は、スコアに基づいて送信するコンテンツを切り替える。
【0234】
なお、本発明は上記した実施例に限定されるものではなく、様々な変形例が含まれる。また、例えば、上記した実施例は本発明を分かりやすく説明するために構成を詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また、各実施例の構成の一部について、他の構成に追加、削除、置換することが可能である。
【0235】
また、上記の各構成、機能、処理部、処理手段等は、それらの一部又は全部を、例えば集積回路で設計する等によりハードウェアで実現してもよい。また、本発明は、実施例の機能を実現するソフトウェアのプログラムコードによっても実現できる。この場合、プログラムコードを記録した記憶媒体をコンピュータに提供し、そのコンピュータが備えるプロセッサが記憶媒体に格納されたプログラムコードを読み出す。この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施例の機能を実現することになり、そのプログラムコード自体、及びそれを記憶した記憶媒体は本発明を構成することになる。このようなプログラムコードを供給するための記憶媒体としては、例えば、フレキシブルディスク、CD-ROM、DVD-ROM、ハードディスク、SSD(Solid State Drive)、光ディスク、光磁気ディスク、CD-R、磁気テープ、不揮発性のメモリカード、ROMなどが用いられる。
【0236】
また、本実施例に記載の機能を実現するプログラムコードは、例えば、アセンブラ、C/C++、perl、Shell、PHP、Python、Java(登録商標)等の広範囲のプログラム又はスクリプト言語で実装できる。
【0237】
さらに、実施例の機能を実現するソフトウェアのプログラムコードを、ネットワークを介して配信することによって、それをコンピュータのハードディスクやメモリ等の記憶手段又はCD-RW、CD-R等の記憶媒体に格納し、コンピュータが備えるプロセッサが当該記憶手段や当該記憶媒体に格納されたプログラムコードを読み出して実行するようにしてもよい。
【0238】
上述の実施例において、制御線や情報線は、説明上必要と考えられるものを示しており、製品上必ずしも全ての制御線や情報線を示しているとは限らない。全ての構成が相互に接続されていてもよい。
【符号の説明】
【0239】
100 計算機システム
101 ユーザ
102 管理者
103 システム
104 センサ
105 行動データ
106 メッセージ
110 ルーチン行動抽出部
111 制御条件設定部
112 制御要否判定部
113 メッセージ送信制御部
120 行動履歴データベース
121 行動定義管理情報
122 コンテンツテンプレート管理情報
123 ルーチン行動管理情報
124 制御条件管理情報
125 送信履歴管理情報
200 計算機
201 プロセッサ
202 ネットワークインタフェース
203 主記憶装置
204 副記憶装置
1100 目的行動設定画面
1200 条件設定画面
図1
図2
図3
図4
図5
図6A
図6B
図7
図8
図9
図10
図11
図12
図13
図14
図15
図16A
図16B
図17A
図17B