以下、図面を参照して実施形態の一例を詳細に説明する。本実施形態では、情報処理装置を、携帯端末に適用した例について説明する。また、条件及びアクションが対応付けられたルールとして詳細を後述するECA(イベント、条件、及びアクション)ルールを適用した例について説明する。
[第1実施形態]
図1は、本実施形態に係る携帯端末10の機能ブロック図である。携帯端末10の具体例としては、スマートフォンやタブレット等が挙げられる。
図1に示すように、本実施形態に係る携帯端末10は、条件判定部20、第1イベント発生部34、第2イベント発生部36、アクション実行管理部40、画面注視検出部42、及びユーザ操作検出部44を備える。
条件判定部20は、判定部22、優先度算出部24、及び優先度比較部26を含む。
判定部22は開示の技術の判定部の一例である。判定部22は、ルール30に基づいて、条件の判定を行うことにより、アクションの実行の可否を判定する。ルール30は、ECAルールである。ECAルールとは、事象(イベント)の発生であり判定の契機となるイベント(Event)、判定の条件(Condition)、及び条件を満たした場合の動作(Action)の三要素が対応付けられたルールである。ここでは、Eventを「イベント」といい、Conditionを「条件」といい、Actionを「アクション」という。ECAルールでは、イベント発生時に、条件を満たすか判定し、条件を満たした場合にアクションを実行する。
図2に、ルール30の具体例を示す。図2では、(1)〜(4)の4つのルール30について例示しているが、ルール30の数は、限定されない。また、本実施形態のルール30は、ECAにさらに開始優先度Psが対応付けられている。
(1)のルール30は、イベントとして場所イベント、条件として場所a、アクションとしてアプリケーションソフトウエア1の実行開始、及び開始優先度Psとして80が対応付けられている。なお、以下では、アプリケーションソフトウエアを、「アプリケーション」といい、さらに省略する場合は「アプリ」という。判定部22は、場所イベントが発生すると、現在地が場所aであるか判定し、場所aである場合は、アプリ1の実行開始が可であると判定する。(1)のルール30の具体例としては、展示会場において携帯端末10(利用するユーザ)が場所aに近付くと、展示内容を説明する表示を行うアプリ1の実行が開始される場合が挙げられる。
(2)のルール30は、イベントとして場所イベント、条件として場所b、アクションとしてアプリ2の実行開始、及び開始優先度Psとして60が対応付けられている。判定部22は、場所イベントが発生すると、現在地が場所bであるか判定し、場所bである場合は、アプリ2の実行開始が可であると判定する。(2)のルール30の具体例としては、予定されたデモンストレーションの時刻が近付いたら、デモンストレーションの説明と実施場所とを知らせる表示を行うアプリ2の実行が開始される場合が挙げられる。
(3)のルール30は、イベントとして時刻イベント、条件として時刻12:30、アクションとしてアプリ3の実行開始、及び開始優先度Psとして20が対応付けられている。判定部22は、時刻イベントが発生すると、時刻が12:30であるか判定し、12:30である場合は、アプリ3の実行開始が可であると判定する。
(4)のルール30は、イベントとして時刻イベント、条件として時刻15:30、アクションとしてアプリ3の実行開始、及び開始優先度Psとして20が対応付けられている。判定部22は、時刻イベントが発生すると、時刻が15:30であるか判定し、15:30である場合は、アプリ3の実行開始が可であると判定する。
判定部22は、アクションが実行可であると判定したルール30を実行待ちルールリスト32に書き込む。図3に、実行待ちルールリスト32の具体例を示す。図3では、具体例として、図2に示した(1)及び(4)のルール30のアクションが判定部22により実行可であると判定されて実行待ちルールリスト32に書き込まれた場合を示している。
優先度算出部24及び優先度比較部26は、開示の技術の比較部の一例である。本実施形態の優先度には、上述した開始優先度Psと、現優先度Ptとの2種類がある。なお、以下では、開始優先度Ps及び現優先度Ptを総称する場合は、「優先度」という。優先度は、0以上、100以下の範囲内の値である。
開始優先度Psは、対応付けられたアクションの実行の開始の優先度合を示す値である。開始優先度Psは、上述したように、予めルール30に定義されている。
一方、現優先度Ptは、実行中アクション41の実行継続の優先度合を示す値である。現優先度Ptは、アクションの状態、及び状態の開始からの経過時間t’に応じて動的に変化する値である。本実施形態においてアクションの状態とは、アクションに定義されたアプリに対するユーザの利用状態を示している。また、本実施形態では、アクションの状態毎に、状態値s(0.0≦s≦1.0)が予め定められている。状態値sが大きいほど、状態の継続中に実行中アクション41の切り替えが生じにくくなっている。
なお、本実施形態において「ユーザ」とは、携帯端末10を現在使用している者のことをいい、特定の個人のことをいうものではない。
以下では、アクションの状態の具体例として、「注視」及び「操作」について説明する。「注視」とは、携帯端末10の表示部(図4、表示部66参照)をユーザが注視していると推定される状態のことである。「注視」とは、例えば、アクションに応じて実行されたアプリにより行われた表示部における表示をユーザが見ている状態に対応する。本実施形態では、具体例として、「注視」には、状態値s=0.5が定義されている。
また、「操作」とは、携帯端末10をユーザが操作している状態を示している。「操作」とは、例えば、アクションに応じて実行されたアプリに対して何かしらの指示を操作部68によりユーザが行っている状態に対応する。本実施形態では、具体例として、「操作」には、状態値s=1.0が定義されている。
アクションの状態毎に現優先度Ptの最低値が予め優先度算出プロセス(図4、優先度算出プロセス74参照)に定義されている。本実施の形態では、s×Psを、アクションの状態毎に予め定められた最低値としている。また、本実施形態において現優先度Ptは、経過時間t’に応じて、開始優先度Psの所定割合λ(0<λ<1)に相当する値(λ×Ps)ずつ減衰するが、アクションの状態毎に定義された最低値よりも下がらない。
優先度算出部24は、優先度算出プロセス(図4、優先度算出プロセス74参照)に予め定義された算出式に基づいて現優先度Ptを算出する機能を有する。
優先度比較部26は、優先度算出部24により算出された現優先度Ptと、実行待ちルールリスト32に書き込まれたルール30の開始優先度Psとを比較する機能を有する。また、開始優先度Psが現優先度Ptを超えた場合に、優先度比較部26は、実行中アクション41から開始優先度Psに対応付けられたアクションに切り替えるよう、アクション実行管理部40に指示する。
第1イベント発生部34は、イベントのうち、場所イベントを発生させる機能を有する。場所イベントとは、例えば、指定場所への携帯端末10(利用するユーザ)の入退により発生するイベントである。第1イベント発生部34は、携帯端末10の場所(位置)を検出するセンシング機能を有する。このようなセンシング機能としては、例えば、GPS(Global Positioning System)やWiFi(Wireless Fidelity:登録商標)のアクセスポイントを利用する方法が挙げられる。第1イベント発生部34は、検出した携帯端末10の場所に基づいて、指定場所への入退に応じて場所イベントを発生させる。
第2イベント発生部36は、イベントのうち、時刻イベントを発生させる機能を有する。時刻イベントとは、例えば、指定時刻になったことにより発生するイベントである。第2イベント発生部36は、現在時刻を検出するセンシング機能を有する。このようなセンシング機能としては、携帯端末10内に設けられた図示を省略した時計機能を利用する方法が挙げられる。第2イベント発生部36は、検出した現在時刻に基づいて、指定時刻に応じて時刻イベントを発生させる。
なお、イベントの種類は、本実施形態で説明する場所イベント及び時刻イベントに限らない。イベントの種類としては、例えば、場所イベント及び時刻イベントのように、携帯端末10(利用するユーザ)の存在する実世界の情報に基づくイベントが挙げられる。このようなイベントとしては、場所イベント及び時刻イベントの他に例えば、携帯端末10(利用するユーザ)が乗り物に乗ったことに応じたイベント等が挙げられる。また、イベントの種類としては、例えば、携帯端末10のCPU(図4,CPU52参照)による各種プロセスの実行により実現される世界の情報に基づくイベントが挙げられる。このようなイベントとしては、例えば、メールの受信やスケジュールシステムへの変更及び登録等に応じたイベント等が挙げられる。なお、携帯端末10は、このような各種のイベントに対応する場合は、それぞれの種類に応じたイベント発生部及びそれぞれの種類に応じたセンサ機能を有する。
アクション実行管理部40は開示の技術の管理部の一例である。アクション実行管理部40は、実行中アクション41を管理する機能を有する。具体的には、アクション実行管理部40は、アクションを実行することにより、アクションに対応するアプリケーション38を実行する。また、アクション実行管理部40は、条件判定部20の指示に基づいて、実行中アクション41の実行の継続、及び他のルール30のアクションへの切り替えのいずれかを行う。
また、アクション実行管理部40は、実行中アクション41のアクションの状態を画面注視検出部42及びユーザ操作検出部44を用いて検出し、検出結果に応じた状態値sを条件判定部20に提供する機能を有する。
画面注視検出部42は、表示部(表示部66、図4参照)の画面をユーザが注視しているか否かを検出する機能を有する。画面注視検出部42は、具体例として、図示を省略したカメラを備え、画面に対向する領域を撮影し、撮影した画像から人物の顔の検出を行い、顔を検出した場合に、画面を注視していることを検出したとする。アクション実行管理部40は、画面注視検出部42により人物が画面を注視していることを検出することにより、アクションの状態が「注視」であることを検出する。
ユーザ操作検出部44は、携帯端末10に対してユーザ操作が行われているか否かを検出する機能を有する。ユーザ操作検出部44は、具体例として、操作部(操作部68、図4参照)に対するユーザの操作による入力の有無を検出する。アクション実行管理部40は、ユーザ操作検出部44によりユーザ操作が行われていることを検出することにより、アクションの状態が「操作」であることを検出する。
携帯端末10の条件判定部20は、例えば図4に示すコンピュータ50で実現することができる。コンピュータ50はCPU(Central Processing Unit)52、メモリ54、不揮発性の記憶部56、入出力インターフェース(I/F)60、及びネットワークI/F62を備える。CPU52、メモリ54、記憶部56、入出力I/F60、及びネットワークI/F62は、バス64を介して互いに接続されている。入出力I/F60は、携帯端末10に備えられた表示部66及び操作部68に接続されている。表示部66は、画面を有するものであればよく、具体例としては、ディスプレイ、液晶、及びタッチパネル等が挙げられる。また、操作部68の具体例としては、タッチパネルや各種キー等が挙げられる。
記憶部56はHDD(Hard Disk Drive)やフラッシュメモリ等によって実現できる。記憶媒体としての記憶部56には、コンピュータ50を携帯端末10の条件判定部20として機能させるための切替プログラム70が記憶されている。CPU52は、切替プログラム70を記憶部56から読み出してメモリ54に展開し、切替プログラム70が有する各プロセスを順次実行する。
切替プログラム70は、判定プロセス72、優先度算出プロセス74、及び優先度比較プロセス76を有する。CPU52は、判定プロセス72を実行することで、図1に示した判定部22として動作する。また、CPU52は、優先度算出プロセス74を実行することで、図1に示した優先度算出部24として動作する。また、CPU52は、優先度比較プロセス76を実行することで、図1に示した優先度比較部26として動作する。
また、記憶部56のアプリケーション記憶領域80は、図1に示したアプリケーション38が記憶される記憶領域として機能する。また、記憶部56のルール記憶領域82は、図1及び図2に示したルール30が記憶される記憶領域として機能する。また、記憶部56の実行待ちルールリスト記憶領域84は、図1及び図3に示した実行待ちルールリスト32が記憶される記憶領域として機能する。
これにより、切替プログラム70を実行したコンピュータ50が、携帯端末10の条件判定部20として機能する。
なお、携帯端末10の条件判定部20は、例えば半導体集積回路、より詳しくはASIC(Application Specific Integrated Circuit)等で実現することも可能である。
次に、本実施形態に係る携帯端末10の条件判定部20による作用について説明する。第1イベント発生部34または第2イベント発生部36によりイベントが発生すると、携帯端末10の条件判定部20が図5に示す切替処理を実行し、実行中アクション41の切替に関する指示を行う。
図5は、本実施形態の切替処理の一例を示すフローチャートである。
まず、切替処理のステップS100で、判定部22がルール30の条件の判定を行う。次に、ステップS102で、判定部22が、条件が満たされたルール30を実行待ちルールリスト32に書き込む。なお、以前の判定により実行待ちルールリスト32に書き込まれていたルール30が、上記ステップS100の判定により、条件が満たされていないと判定された場合は、実行待ちルールリスト32から削除される。このように一旦、実行待ちルールリスト32に書き込まれた後、削除されたルール30については、その旨をユーザに報知するようにしてもよい。この場合の報知の方法、及びタイミングは予め定めておけばよく、限定されるものではない。
次に、ステップS104で、優先度算出部24が、図6に示す実行中アクション41の優先度算出処理を実行する。図6は、本実施形態の優先度算出処理の一例を示すフローチャートである。図6に示す優先度算出処理のステップS150で、優先度算出部24は、アクション実行管理部40の検出結果に基づいて、実行中アクション41の状態が変化したか否かを判定する。
なお、実行中アクション41の状態が2種類以上ある場合は、状態値sが大きい方の状態について変化したか否かを判定する。例えば、ユーザが携帯端末10を注視しながら操作している場合、実行中アクション41の状態として、「注視」及び「操作」が検出される。この場合、「注視」よりも「操作」の方が状態値sが大きいため、「操作」状態が変化したか否かを判定する。より具体的には、「操作」中に、ユーザが一旦、画面から顔を背けたことにより「非注視」となった場合は、実行中アクション41の状態は「操作」のまま変化していないと判定する。この後、ユーザが再び画面に顔を向けたことにより「非注視」から「注視」となった場合も、実行中アクション41の状態は「操作」のまま変化していないと判定する。
実行中アクション41の状態が変化していない場合には、ステップS152へ移行し、変化している場合には、ステップS154へ移行する。
ステップS152では、優先度算出部24が、実行中アクション41の状態の開始からの経過時間t’を下記(1)式を算出することにより更新する。なお、下記(1)式においてΔtは、前回の優先度算出処理の実行からの経過時間である。本実施形態では、具体例として、Δtは、図示を省略したタイマ(ソフトウエアタイマを含む)等により検出した値を用いている。
t’=t’+Δt ・・・(1)式
一方、ステップS154では、優先度算出部24が、経過時間t’=0とし、経過時間t’=0時の実行中アクション41の現優先度Pt’0=現優先度Ptとする。なお、以下では、経過時間t’=0時の実行中アクション41の現優先度Pt’0を「状態開始時の現優先度Pt’0」という。
次のステップS156で、優先度算出部24は、アクション実行管理部40の検出結果に基づいて、実行中アクション41の状態の種類を判定する。実行中アクション41の状態が「操作」である場合は、ステップS158へ移行する。ステップS158では、状態値s=1.0を取得した後、ステップS164へ移行する。また、実行中アクション41の状態が「注視」である場合は、ステップS160へ移行する。ステップS160では、状態値s=0.5を取得した後、ステップS164へ移行する。また、実行中アクション41の状態が「その他」である場合は、ステップS162へ移行する。ステップS162では、状態値s=0.0を取得した後、ステップS164へ移行する。なお、「その他」とは、実行中アクション41の状態が「注視」及び「操作」のいずれでもない状態を表している。
ステップS164では、優先度算出部24は、下記(2)式を算出することにより、実行中アクション41の現優先度Ptを算出した後、ステップS106に移行する。なお、下記(2)式においてλは上述した所定割合であり、0<λ<1である。所定割合λは、優先度算出プロセス74に予め定義された固定値である。また、下記(2)式において、max((A)、(B))とは、A及びBのうち、値が大きい方を採用することを意味している。
Pt=max((Pt’0−λ×Ps×t’)、(s×Ps)) ・・・(2)
優先度算出部24は、実行中アクション41の状態の開始からの経過時間t’に応じた現優先度Ptは、上述したように状態開始時の現優先度Pt’0から経過時間t’に応じて、開始優先度Psの所定割合λに相当する値ずつ減衰する。そのため、実行中アクション41の状態の開始からの経過時間t’に応じた現優先度Ptは、Pt’0−λ×Ps×t’により算出する。なお、以下では、実行中アクション41の状態の開始からの経過時間t’に応じた現優先度Ptを「経過時間に応じた現優先度Pt」という。
また、優先度算出部24は、実行中アクション41の状態に基づく現優先度Ptを、s×Psにより算出する。ここで算出される実行中アクション41の状態に基づく現優先度Ptは、上述したようにアクションの状態毎に予め定められた最低値に対応している。なお、以下では、実行中アクション41の状態に基づく現優先度Ptを「状態に基づく現優先度Pt」という。
さらに、優先度算出部24は、算出した、経過時間に応じた現優先度Pt、及び状態に基づく現優先度Ptのうち、大きい方の値を実行中アクション41の現優先度Ptとして採用する。
ステップS106で、優先度比較部26は、実行待ちルールリスト32内に書き込まれたルール30の開始優先度Psのうち、値が最高のものと、ステップS104の処理により算出した現優先度Ptとを比較する。実行待ちルールリスト32内に書き込まれたルール30のアクションが実行される場合は、複数のルール30が書き込まれている場合であっても、このうちから開始優先度Psが最高値のルール30が実行されることになる。そのため、優先度比較部26は、最高の開始優先度Psと現優先度Ptとを比較する。
次に、ステップS108で、優先度比較部26は、最高の開始優先度Ps>現優先度Ptであるか否かを判定する。最高の開始優先度Ps>現優先度Ptではない場合(最高の開始優先度Ps≦現優先度Ptの場合)は、ステップS114へ移行する。また、最高の開始優先度Ps>現優先度Ptの場合は、ステップS110へ移行する。
ステップS110で、優先度比較部26は、アクション実行管理部40に、実行中アクション41を、最高の開始優先度Psが対応付けられたルール30のアクションに切り替えるよう指示する。優先度比較部26の指示により、アクション実行管理部40は、実行中アクション41を最高の開始優先度Psが対応付けられたルール30のアクションに切り替える。
次に、ステップS112では、優先度比較部26は、経過時間t’=0、状態開始時の現優先度Pt’0=開始優先度Psに設定する。なお、ここでは、状態開始時の現優先度Pt’0=開始優先度Psに設定しているが、その他の値に設定するようにしてもよい。状態開始時の現優先度Pt’0は、例えば、切り替え後、すぐに他のルール30のアクションに切り替わることを抑制するために、開始優先度Psよりも大きな値に設定するようにしてもよい。
次に、ステップS114で、判定部22は、第1イベント発生部34及び第2イベント発生部36によりイベントが発生したか否かを判定する。イベントが発生した場合は、ステップS100に戻り、上記処理を繰り返す。一方、イベントが発生していない場合は、ステップS116へ移行する。
ステップS116で、判定部22は、アクション実行管理部40の検出結果に基づいて、実行中アクション41の状態が変化したか否かを判定する。実行中アクション41の状態が変化した場合は、ステップS104に戻り、上記処理を繰り返す。一方、実行中アクション41の状態が変化していない場合は、ステップS118へ移行する。
ステップS118で、判定部22は、本切替処理を行うタイミングになったか否かを判定する。本実施形態の携帯端末10では、一例として、本切替処理が、定期的に行われるように予め設定されている。そのため、判定部22は、切替処理を行うタイミングになったか否かを判定する。切替処理を行うタイミングになった場合は、ステップS104に戻り、上記処理を繰り返す。一方、切替処理を行うタイミングになっていない場合は、ステップS120へ移行する。
ステップS120で、判定部22は、本切替処理を終了するか否か判定する。例えば、実行中アクション41が終了した場合や、携帯端末10の電源がオフ状態になった場合等、予め定められた終了条件を満たした場合は、判定部22が、本切替処理を終了すると判定し、本切替処理は終了する。一方、上記終了条件を満たしていない場合等は、判定部22は、本切替処理を終了しないと判定し、ステップS114に戻り、上記処理を繰り返す。
次に、本実施形態の切替処理による実行中アクション41の切り替えについて、具体例を挙げて説明する。図7に、以下の説明に用いるためのルール30の具体例について示す。ここでは、具体例として、図7に示すように、(5)及び(6)の2つのルール30が定義されている。また、(5)のルール30が実行中であり、ルール30のアクションが実行中アクション41に対応しているものとする。
図8に、実行中アクション41の現優先度Ptの変化の説明に用いる具体例について示す。(5)のルール30では、アクションの状態が「注視」の場合は、アクションの状態毎に予め定められた最低値は、s×Ps=0.5×80=40である。アクションの状態が「操作」の場合は、アクションの状態毎に予め定められた最低値は、s×Ps=1.0×80=80である。また、アクションの状態が「その他」の場合は、アクションの状態毎に予め定められた最低値は、s×Ps=0.0×80=0である。
図8に示すように、時間T0では、実行中アクション41の現優先度Pt=開始優先度Ps=80である。時間T0では、実行中アクション41の状態は「注視」であるが、現優先度Pt=80>40であるため、経過時間t’に応じて現優先度Ptは減衰してゆく。
判定部22は、上述したように切替処理においてルール30の条件の判定を繰り返し行っている。図8では、時間T1で(6)のルール30の条件が満たされ、実行待ちルールリスト32に書き込まれた場合を示している。(6)のルール30は開始優先度Ps=20であり、時間T1においては、実行中アクション41の現優先度Pt以下であるため、実行中アクション41の切り替えは起こらない。
時間T2で、実行中アクション41の状態が「操作」に変化すると、「操作」の最低値=80であるため、現優先度Ptが80まで一気に上昇し、「操作」状態の間は、現優先度Pt=80のまま一定となる。
時間T3で、実行中アクション41の状態が「注視」に変化すると、経過時間t’に応じて現優先度Ptは減衰してゆき、「注視」の最低値=40に到達すると、一定となる。
時間T4で、実行中アクション41の状態が「その他」に変化すると、経過時間t’に応じて現優先度Ptは減衰してゆく。時間T5において、現優先度Pt<(6)のルール30の開始優先度Psを満たすと、実行中アクション41が(6)のルール30のアクションに切り替えられる。
以上説明したように、本実施形態による携帯端末10によれば、ECAルールであるルール30毎に開始優先度Psが予め対応付けられている。条件判定部20の判定部22は、条件が満たされたルール30を実行待ちルールリスト32に書き込む。また、条件判定部20の優先度算出部24は、実行中アクション41の状態に応じた現優先度Ptを算出する。現優先度Ptは、アクションの状態毎に最低値が予め定められている。また、現優先度Ptは、経過時間t’に応じて減衰する。さらに、条件判定部20の優先度比較部26は、実行待ちルールリスト32のルール30のうち、最高の開始優先度Psと、優先度算出部24により算出された現優先度Ptとを比較する。さらに、優先度比較部26は、最高の開始優先度Ps>現優先度Ptを満たす場合は、実行中アクション41を最高の開始優先度Psが対応付けられたルール30のアクションに切り替える。すなわち、実行中アクション41の現優先度Ptがアクションの状態及び状態の開始からの経過時間t’に応じて変化するため、実行中アクション41の切り替えを抑制することができる。実行中アクション41の状態は、ユーザの利用状態に対応している。そのため、ユーザが実行中アクション41の切替を望まないと想定される状態ほどアクションの状態毎の最低値を大きな値とすることにより、利用中に実行中アクション41が切り替えられるのを抑制することができる。
また、携帯端末10では、ユーザの利用状態に係わらず実行中アクション41を切り替えたい場合は、切り替えたいアクションに大きな値(例えば、設定可能な値の最大値)の開始優先度Psを対応付けてルール30を定義すればよい。例えば、ユーザが会議室から退出した場合や、社外に出た場合等、社外秘の情報を携帯端末10の表示部66に表示させておくことが好ましくない場合がある。このような場合には、実行中アクション41の表示を行わない、または、社外秘ではない情報を表示するアクションに切り替えることができる。
また、本実施形態の携帯端末10では、ECAルールであるルール30に、開始優先度Psを対応付けておき、実行中アクション41の現優先度Ptは算出により得ているため、優先度の設定及び変更が容易に行える。例えば、アクションにより実行されるアプリ中に優先度を固定値として定義しておく必要がなくなる。
従来の携帯端末において、実行中アクションの切り替えを抑制しようとすると、他のECAルールのアクションを考慮してECAルールの条件を設定する必要が生じる場合がある。このような場合、従来の携帯端末では、新たなECAルールを設ける場合、他の既存のECAルールについても条件の見直しを行う必要が生じる。一方、本実施形態の携帯端末10では、現優先度Ptが動的に変化するため、他のルール30のアクションを考慮した条件を設定しなくても、実行中アクション41の切り替えを抑制できる。そのため、条件の設定が複雑化するのを抑制することができる。また、既存のルール30の見直しを行わなくてよいため、容易に新たなルール30を追加することができる。
なお、上記切替処理において、実行中アクション41が存在しない場合は、切替処理のステップS104〜S108の処理を省略するようにしてもよい。さらに、ステップS110で、優先度比較部26は、実行待ちルールリスト32のうち最高の開始優先度Psが対応付けられたルール30の実行をアクション実行管理部40に指示するようにすればよい。また、実行中アクション41が存在しない場合は、上記切替処理とは別途に、実行待ちルールリスト32のうち最高の開始優先度Psを実行する処理を行うようにしてもよい。
[第2実施形態]
次に、第2実施形態について説明する。なお、第1実施形態に係る携帯端末10と同様の部分については、同一符号を付して、詳細な説明を省略する。本実施形態では、ECAルールに、開始優先度Psに加えて、アクションの現優先度Ptの最大値Ptmax及び最小値Ptminが対応付けられている場合について説明する。
図9に、本実施形態のECAルールであるルール230の具体例について示す。図9に示すように、各ルール230毎に、現優先度Ptの最大値Ptmax及び最小値Ptminが対応付けられている。現優先度Ptは、最大値Ptmax以下、最小値Ptmin以上の範囲内で動的に変化する。
なお、図9に示した具体例では、開始優先度Ps<最大値Ptmaxの場合を示したが、開始優先度Ps≧最大値Ptmaxであってもよい。また、図9に示した具体例では、開始優先度Ps>最小値Ptminの場合を示したが、開始優先度Ps≦最小値Ptminであってもよい。
図1に示すように、第2実施形態に係る携帯端末210は、条件判定部220、第1イベント発生部34、第2イベント発生部36、アクション実行管理部40、画面注視検出部42、及びユーザ操作検出部44を備える。
条件判定部220は、判定部222、優先度算出部224、及び優先度比較部226を含む。
判定部222は、第1実施形態の判定部22と同様に、ルール230に基づいて、条件の判定を行うことにより、アクションの実行の可否を判定する。
優先度算出部224は、現優先度Ptを算出するが、現優先度Ptは、最大値Ptmax以下、最小値Ptmin以上の範囲内で動的に変化するため、算出方法が第1実施形態と異なる。
また、優先度比較部226は、第1実施形態の優先度比較部26と同様に、現優先度Ptと最高の開始優先度Psとの比較を行い、最高の開始優先度Psの方が値が大きい場合は、実行中アクション41を切り替えるよう指示する。なお、優先度比較部226は、切り替えられたアクションの開始時における状態開始時の現優先度Pt’0の設定の仕方について、第1実施形態の優先度比較部26と異なっている。
次に、本実施形態に係る携帯端末210の条件判定部220の作用について説明する。
図10は、本実施形態の切替処理の一例を示すフローチャートである。なお、第1実施形態に係る切替処理と同様の処理については、同一符号を付して、詳細な説明を省略する。
ステップS100及びS102で、判定部222が、ルール230の条件の判定を行い、条件が満たされたルール230を実行待ちルールリスト32に書き込む。
次に、ステップS204で、優先度算出部224が、図11に示す実行中アクション41の優先度算出処理を実行する。図11は、本実施形態の優先度算出処理の一例を示すフローチャートである。図11に示す優先度算出処理のステップS150〜S162で、優先度算出部224は、アクション実行管理部40の検出結果に基づいて、実行中アクション41の状態が変化したか否かを判定する。
そして、実行中アクション41の状態が変化していない場合は、第1実施形態で上記した(1)式を算出することにより、開始からの経過時間t’を更新する。また、変化した場合は、経過時間t’=0とし、状態開始時の現優先度Pt’0=現優先度Ptとする。
そして、優先度算出部224は、実行中アクション41の状態の種類を判定する。実行中アクション41の状態が「操作」である場合は、状態値s=1.0、状態が「注視」である場合は、状態値s=0.5、状態が「その他」である場合は、状態値s=0.0を取得する。
次に、ステップS264で、優先度算出部224は、下記(3)式を算出することにより、実行中アクション41の現優先度Ptを算出した後、ステップS106に移行する。なお、下記(3)式において、max((A)、(B))とは、A及びBのうち、値が大きい方を採用することを意味している。
Pt=max((Pt’0−λ×(Ptmax−Ptmin)×t’)、(Ptmin+s×(Ptmax−Ptmin))) ・・・(3)
優先度算出部24は、経過時間に応じた現優先度Ptは、状態開始時の現優先度Pt’0から経過時間t’に応じて減衰するため、Pt’0−λ×(Ptmax−Ptmin)×t’により算出する。
また、優先度算出部24は、状態に基づく現優先度Ptを、Ptmin+s×(Ptmax−Ptmin)により算出する。ここで算出される状態に基づく現優先度Ptは、アクションの状態毎に予め定められた最低値に対応している。
さらに、優先度算出部24は、算出した、経過時間に応じた現優先度Pt、及び状態に基づく現優先度Ptのうち、大きい方の値を実行中アクション41の現優先度Ptとして採用する。
ステップS106〜S110で、優先度比較部26は、実行待ちルールリスト32内に書き込まれたルール30の開始優先度Psのうち、値が最高のものと、ステップS104の処理により算出した現優先度Ptとを比較する。そして、優先度比較部26は、最高の開始優先度Ps>現優先度Ptであるか否かを判定する。最高の開始優先度Ps>現優先度Ptではない場合は、ステップS114へ移行する。また、最高の開始優先度Ps>現優先度Ptの場合は、アクション実行管理部40に、実行中アクション41を切り替えるよう指示する。
次に、ステップS212では、優先度比較部26は、経過時間t’=0、状態開始時の現優先度Pt’0=最大値Ptmaxに設定する。このように設定することにより、実行中アクション41の切り替え後、すぐに他のルール30のアクションに切り替わることを抑制することができる。
次に、ステップS114〜S120で、イベントの発生、実行中アクション41の状態の変化、切替処理を行うタイミング、及び終了条件を満たすか否かを条件判定部220が判定することにより、本切替処理を繰り返す、または、終了する。
次に、本実施形態の切替処理による実行中アクション41の切り替えについて、具体例を挙げて説明する。ここでは、具体例として、図9に示した(7)のルール230のアクションが実行中アクション41に対応しているものとする。
図12には、実行中アクション41の現優先度Ptの変化の説明に用いる具体例について示す。(7)のルール230では、アクションの状態が「注視」の場合は、アクションの状態毎に予め定められた最低値は、Ptmin+s×(Ptmax−Ptmin)=10+0.5×(80−10)=45である。アクションの状態が「操作」の場合は、アクションの状態毎に予め定められた最低値は、Ptmin+s×(Ptmax−Ptmin)=10+1.0×(80−10)=80である。また、アクションの状態が「その他」の場合は、アクションの状態毎に予め定められた最低値は、Ptmin+s×(Ptmax−Ptmin)=10+0.0×(80−10)=10である。
図12に示すように、時間T0では、実行中アクション41の現優先度Pt=最大値Ptmax=80である。時間T0では、実行中アクション41の状態は「注視」であるが、現優先度Pt=80>45であるため、経過時間t’に応じて現優先度Ptは減衰してゆく。
時間T1で、実行中アクション41の状態が「操作」に変化すると、「操作」の最低値=80であるため、現優先度Ptが80まで一気に上昇し、「操作」状態の間は、現優先度Pt=80のまま一定となる。
判定部222は、上述したように切替処理においてルール230の条件の判定を繰り返し行っている。図12では、時間T2で(8)のルール230の条件が満たされ、実行待ちルールリスト32に書き込まれた場合を示している。(8)のルール230は開始優先度Ps=30であり、時間T2においては、実行中アクション41の現優先度Pt以下であるため、実行中アクション41の切替は起こらない。
時間T3で、実行中アクション41の状態が「注視」に変化すると、経過時間t’に応じて現優先度Ptは減衰してゆき、「注視」の最低値=45に到達すると、一定となる。
時間T4で、実行中アクション41の状態が「その他」に変化すると、経過時間t’に応じて現優先度Ptは減衰してゆく。時間T5において、現優先度Pt<(8)のルール230の開始優先度Psを満たすと、実行中アクション41が(8)のルール230のアクションに切り替えられる。
以上説明したように、本実施形態に係る携帯端末210によれば、ECAルールであるルール230毎に開始優先度Ps、現優先度Ptの最大値Ptmax、及び最小値Ptminが予め対応付けられている。優先度算出部224は、最大値Ptmax以下、最小値Ptmin以上の範囲内で動的に変化する現優先度Ptを算出する。従って、第1実施形態と同様の効果が得られる。
また、本実施形態の条件判定部220によれば、他のルール230と比較して、最小値Ptminを大きな値とすることにより、実行中アクション41の状態に係わらず、切り替えられるのを抑制することができる。また、他のルール230と比較して、最大値Ptmax及び最小値Ptminを大きな値とすることにより、第1実施形態の携帯端末10よりさらに、実行中アクション41が切り替えられるのを抑制することができる。
[第3実施形態]
次に、第3実施形態について説明する。なお、上記各実施形態に係る携帯端末10、210と同様の部分については、同一符号を付して、詳細な説明を省略する。本実施形態では、開始優先度Psに、センシング機能やイベントの種類等に応じた条件の確からしさ尤度Lを反映させた場合について説明する。
図1に示すように、第3実施形態に係る携帯端末310は、条件判定部320、第1イベント発生部334、第2イベント発生部336、アクション実行管理部40、画面注視検出部42、及びユーザ操作検出部44を備える。
第1イベント発生部334及び第2イベント発生部336は、上述したように、様々なセンシング機能を有している。センシングの場合、0、1等により2値化されない確率値(尤度)が存在する。一般的に、このようなセンシング機能を用いる場合は、確率値が閾値を超えた場合にイベントを発生させることが行われている。
本実施形態の第1イベント発生部334及び第2イベント発生部336では、センシング機能に応じた尤度Lを開始優先度Psに反映させる。尤度Lは、0≦L≦1の値である。
第1イベント発生部334のように場所イベントの場合、尤度Lは、携帯端末310(利用するユーザ)が条件により指定された場所(以下、「指定場所」という)にいる確からしさを表している。場所イベントの場合の尤度Lは、イベント発生部334が有するセンシング機能の精度に応じて定められる。GPSを利用する場合は、GPSの有効半径、WiFiを利用する場合は、WiFiのアクセスポイント等に応じて位置の検出精度が変化する。そのため、場所イベントの場合の尤度Lは、例えば、電波強度(電波の受信強度)に応じて定められる。また、尤度Lは、携帯端末310(利用するユーザ)の移動に応じて変化する。
図13〜図15に、場所イベントに対する尤度Lの具体例を示す。図13は、携帯端末310(利用するユーザ)が指定場所に近付き、指定場所に到達後、また遠ざかる場合に示す尤度Lの具体例である。図14は、携帯端末310(利用するユーザ)が遠くから指定場所に近付いていく場合に示す尤度Lの具体例である。図15は、携帯端末310(利用するユーザ)が指定場所付近を移動している場合に示す尤度Lの具体例である。
また、第2イベント発生部336のように時刻イベントの場合、尤度Lは、条件により指定された時刻(以下、「指定時刻」という)からの時間のずれを表している。図16〜図19に、時刻イベントに対する尤度Lの具体例を示す。図16及び図17は、指定時刻からの経過時間に応じて減衰する場合に示す尤度Lの具体例である。図18は、例えば目覚ましのアラーム等のように、指定時刻からの経過時間に応じて増加する場合に示す尤度Lの具体例である。図19は、指定時刻に近付くのに応じて増加し、さらに指定時刻からの経過時間に応じて減衰する場合に示す尤度Lの具体例である。
なお、図13〜図19に示した尤度Lは、具体例であり、イベントの種類、第1イベント発生部334及び第2イベント発生部336が有するセンシング機能、及びアクションの種類等に応じて、どのような値をとるか予め定めておけばよい。
また、図1に示すように本実施形態に係る携帯端末310の条件判定部320は、判定部322、優先度算出部324、及び優先度比較部326を含む。
判定部322は、第2実施形態の判定部222と同様に、ルール330に基づいて、条件の判定を行うことにより、アクションの実行の可否を判定する。
優先度算出部324は、第2実施形態の優先度算出部224と同様に、現優先度Ptを算出する。さらに、優先度算出部324は、尤度L×開始優先度Psを算出することにより、尤度Lを開始優先度Psに反映させ、尤度Lが反映された開始優先度Psを実行待ちルールリスト32に上書きすることにより開始優先度Psを更新する。
優先度比較部326は、第2実施形態の優先度比較部226と同様に、現優先度Ptと最高の開始優先度Psとの比較を行い、最高の開始優先度Psの方が値が大きい場合は、実行中アクション41を切り替えるよう指示する。
次に、本実施形態に係る携帯端末310の条件判定部320の作用について説明する。
図20は、本実施形態の切替処理の一例を示すフローチャートである。なお、第2実施形態に係る切替処理と同様の処理については、同一符号を付して、詳細な説明を省略する。
ステップS100及びS102で、判定部322が、ルール330の条件の判定を行い、条件が満たされたルール330を実行待ちルールリスト32に書き込む。
次に、ステップS303で、優先度算出部324が、尤度L×開始優先度Psを算出し、算出した値により実行待ちルールリスト32の開始優先度Psを更新する。
次に、ステップS204で、優先度算出部324が、図11に示す実行中アクション41の優先度算出処理を実行する。優先度算出処理は、第2実施形態で説明した優先度算出処理と同様であるため、説明を省略する。
次に、ステップS106で、優先度比較部326は、実行待ちルールリスト32内に書き込まれたルール330の開始優先度Psのうち、値が最高のものと、ステップS104の処理により算出した現優先度Ptとを比較する。ここで、優先度比較部326は、上記各実施形態と同様に比較を行うが、ステップS303の処理により開始優先度Psが更新されているため、尤度Lが反映された開始優先度Psと現優先度Ptとを比較する。
次に、ステップS108及びS110で、優先度比較部326は、最高の開始優先度Ps>現優先度Ptであるか否かを判定する。最高の開始優先度Ps>現優先度Ptではない場合は、ステップS114へ移行する。また、最高の開始優先度Ps>現優先度Ptの場合は、アクション実行管理部40に、実行中アクション41を切り替えるよう指示する。
さらに、次のステップS212では、第2実施形態と同様に、優先度比較部326は、経過時間t’=0、状態開始時の現優先度Pt’0=最大値Ptmaxに設定する。
次に、ステップS114〜S120で、イベントの発生、実行中アクション41の状態の変化、切替処理を行うタイミング、及び終了条件を満たすか否かを条件判定部320が判定することにより、本切替処理を繰り返す、または、終了する。
次に、本実施形態の切替処理による実行中アクション41の切り替えについて、具体例を挙げて説明する。ここでは、具体例として、図21に示した(11)のルール330のアクションが実行中アクション41に対応しているものとする。
図22に、実行中アクション41の現優先度Ptの変化の説明に用いる具体例について示す。(11)のルール330では、アクションの状態が「注視」の場合は、アクションの状態毎に予め定められた最低値は、Ptmin+s×(Ptmax−Ptmin)=10+0.5×(80−10)=45である。アクションの状態が「操作」の場合は、アクションの状態毎に予め定められた最低値は、Ptmin+s×(Ptmax−Ptmin)=10+1.0×(80−10)=80である。また、アクションの状態が「その他」の場合は、アクションの状態毎に予め定められた最低値は、Ptmin+s×(Ptmax−Ptmin)=10+0.0×(80−10)=10である。
図22に示すように、時間T0では、実行中アクション41の現優先度Pt=最大値Ptmax=80である。時間T0では、実行中アクション41の状態は「注視」であるが、現優先度Pt=80>45であるため、経過時間t’に応じて現優先度Ptは減衰してゆく。
判定部322は、上述したように切替処理においてルール330の条件の判定を繰り返し行っている。図22では、時間T1で(10)のルール330の条件が満たされ、実行待ちルールリスト32に書き込まれた場合を示している。(10)のルール330の尤度Lが反映された開始優先度Psは、図16に示した尤度Lと同様に変化する。また、(10)のルール330は開始優先度Ps=55である。時間T1では、実行中アクション41の現優先度Pt以下であるため、実行中アクション41の切り替えは起こらない。
時間T2で、実行中アクション41の状態が「操作」に変化すると、「操作」の最低値=80であるため、現優先度Ptが80まで一気に上昇し、「操作」状態の間は、現優先度Pt=80のまま一定となる。
時間T3では、(9)のルール330の条件が満たされ、実行待ちルールリスト32に書き込まれる。(9)のルール330の尤度Lが反映された開始優先度Psは、図13に示した尤度Lと同様に変化する。時間T3では、実行中アクション41の現優先度Pt以下であるため、実行中アクション41の切り替えは起こらない。
時間T4で、実行中アクション41の状態が「注視」に変化すると、経過時間t’に応じて現優先度Ptは減衰してゆき、「注視」の最低値=45に到達すると、一定となる。
時間T5で、実行中アクション41の状態が「その他」に変化すると、経過時間t’に応じて現優先度Ptは減衰してゆく。時間T6において、現優先度Pt<(10)のルール330の尤度Lが反映された開始優先度Psを満たすと、実行中アクション41が(10)のルール330のアクションに切り替えられる。
以上説明したように、本実施形態に係る携帯端末310によれば、ECAルールであるルール330毎に開始優先度Ps、現優先度Ptの最大値Ptmax、及び最小値Ptminが予め対応付けられている。また、優先度比較部326は、尤度Lが反映された開始優先度Psと、動的に変化する現優先度Ptとの比較結果に基づいて、実行中アクション41を切り替える。従って、第1実施形態と同様の効果が得られる。
また、本実施形態では、尤度Lが反映された開始優先度Psと現優先度Ptとを比較しているため、実行中アクション41の切り替えを、より自然に行うことができる。
なお、本実施形態では、第2実施形態と同様のルール230の開始優先度Psに対して尤度Lを反映させたが、第1実施形態のルール30の開始優先度Psに対して尤度Lを反映させるようにしてもよい。
なお、本実施形態では、センシング機能やイベントの種類等に応じた条件の確からしさとして尤度Lを用いたが、これに限らず、その他の確率値であってもよい。
[第4実施形態]
次に、第4実施形態について説明する。本実施形態では、第2実施形態と現優先度Ptの算出方法が異なる場合について説明する。なお、第2実施形態に係る携帯端末210と同様の部分については、同一符号を付して、詳細な説明を省略する。
図1に示すように、第4実施形態に係る携帯端末410は、条件判定部420、第1イベント発生部34、第2イベント発生部36、アクション実行管理部40、画面注視検出部42、及びユーザ操作検出部44を備える。
条件判定部420は、判定部422、優先度算出部424、及び優先度比較部426を含む。
優先度算出部424は、現優先度Ptを算出するが、第2実施形態と現優先度Ptの算出方法が異なっている。第2実施形態では、実行中アクション41の状態が「その他」の場合は、現優先度Ptは、経過時間t’に応じて減衰する。一方、本実施形態では、実行中アクション41の状態が「その他」の場合は、現優先度Ptは最小値Ptminまで一気に減衰する。
また、優先度比較部426は、第2実施形態の優先度比較部226と同様に、現優先度Ptと最高の開始優先度Psとの比較を行い、最高の開始優先度Psの方が値が大きい場合は、実行中アクション41を切り替えるよう指示する。
次に、本実施形態に係る携帯端末410の条件判定部420の作用について説明する。なお、第2実施形態に係る携帯端末210の条件判定部220とは、優先度算出処理が異なるだけである。その他の切替処理の各ステップは、第2実施形態と同様であるため、説明を省略する。
図23に、本実施形態の優先度算出処理の一例を示すフローチャートを示す。図23に示す優先度算出処理のステップS150〜S162で、優先度算出部424は、アクション実行管理部40の検出結果に基づいて、実行中アクション41の状態が変化したか否かを判定する。
そして、実行中アクション41の状態が変化していない場合は、第1実施形態で上記した(1)式を算出することにより、開始からの経過時間t’を更新する。また、変化した場合は、経過時間t’=0とし、状態開始時の現優先度Pt’0=現優先度Ptとする。
そして、優先度算出部424は、実行中アクション41の状態の種類を判定する。実行中アクション41の状態が「操作」である場合は、状態値s=1.0、状態が「注視」である場合は、状態値s=0.5、状態が「その他」である場合は、状態値s=0.0を取得する。
次に、ステップS464で、優先度算出部424は、状態値s≠0の場合は、第2実施形態と同様に、上記した(3)式を算出することにより、実行中アクション41の現優先度Ptを算出する。一方、優先度算出部424は、状態値s=0.0の場合は、現優先度Pt=最小値Ptminとする。
次に、本実施形態の切替処理による実行中アクション41の切り替えについて、具体例を挙げて説明する。ここでは、具体例として、図9に示した(7)のルール430のアクションが実行中アクション41に対応しているものとする。
図24に、実行中アクション41の現優先度Ptの変化の説明に用いる具体例について示す。(7)のルール430では、アクションの状態毎に予め定められた最低値は、「注視」では、45であり、「操作」では、80であり、また、「その他」の場合は、10である。
図24に示すように、時間T4までは、第2実施形態と同様である。本実施形態では、時間T4で、実行中アクション41の状態が「その他」に変化すると、現優先度Ptは一気に最小値Ptmin=10に減衰する。時間T4において、現優先度Pt<(8)のルール430の開始優先度Psを満たすため、実行中アクション41が(8)のルール430のアクションに切り替えられる。
以上説明したように、本実施形態に係る携帯端末410によれば、ECAルールであるルール430毎に開始優先度Ps、現優先度Ptの最大値Ptmax、及び最小値Ptminが予め対応付けられている。また、優先度算出部424は、実行中アクション41の状態が「その他」の場合は、現優先度Pt=最小値Ptminとする。優先度比較部426は、実行待ちルールリスト32の開始優先度Psと、動的に変化する現優先度Ptとの比較結果に基づいて、実行中アクション41を切り替える。従って、第1実施形態と同様の効果が得られる。
また、本実施形態では、「その他」の場合は、現優先度Pt=最小値Ptminとしているため、より、素早く実行中アクション41の切り替えを行うことができる。
このように、ユーザが実行中アクション41を使用していない、または不要であると推測される状態に対して、現優先度Pt=最小値Ptminとすることにより、他のルール430のアクションに切り替わり易くなる。
なお、ユーザが、展示物や周囲に注意を向けるために、一時的に「操作」や「注視」を中断し、再度、実行中アクション41を使用すると推定される場合がある。このような場合は、第1〜第3実施形態の「その他」の場合のように、一定期間、現優先度Ptを徐々に減衰させた後、本実施形態のように一気に、現優先度Pt=最小値Ptminに減衰させてもよい。
なお、本実施形態では、第2実施形態の優先度算出処理において、実行中アクション41の状態が「その他」の場合に現優先度Pt=最小値Ptminとする場合について説明したが、第1及び第3実施形態において、同様にしてもよい。
[第5実施形態]
次に、第5実施形態について説明する。本実施形態では、上記第3実施形態に第4実施形態を組み合わせた携帯端末510の条件判定部520の作用について比較例を挙げて具体的に説明する。なお、携帯端末510及び条件判定部520の構成及び作用は、上記第3及び第4実施形態を組み合わせた場合に該当するため、説明を省略し、切替処理による実行中アクション41の切り替えの具体例についてのみ説明する。
図25に、本実施形態のルール530の具体例を示す。本実施形態の具体例として、図25に示した(14)のルール530のアクションが実行中アクション41に対応しているものとする。また、本実施形態では、具体例として、場所aと場所bとは、一部の領域が重複しており、携帯端末510(利用するユーザ)は、場所bから場所aへ移動しているものとする。
図26に、実行中アクション41の切り替えの説明に用いる具体例について示す。(14)のルール530では、アクションの状態が「注視」の場合は、アクションの状態毎に予め定められた最低値は、30+0.5×(80−30)=55である。アクションの状態が「操作」の場合は、アクションの状態毎に予め定められた最低値は、30+1.0×(80−30)=80である。また、アクションの状態が「その他」の場合は、アクションの状態毎に予め定められた最低値は、最小値Ptmin=30である。
図26に示すように、時間T0では、(14)のルール530の条件が満たされ、アプリ3である、場所bの紹介アプリの実行が開始される。時間T0では、実行中アクション41の現優先度Pt=最大値Ptmax=80である。時間T0では、実行中アクション41の状態は「注視」であるが、現優先度Pt=80>55であるため、経過時間t’に応じて現優先度Ptは減衰してゆく。
上述したように切替処理においてルール530の条件の判定が繰り返し行われているため、時間T1では、(13)のルール530の条件が満たされ、実行待ちルールリスト32に書き込まれる。(13)のルール530は、時刻イベントであり、図17に示した尤度Lと同様に変化する。また、(13)のルール530は開始優先度Ps=55である。時間T1では、実行中アクション41の現優先度Pt以下であるため、実行中アクション41の切り替えは起こらない。
時間T2で、実行中アクション41の状態が「操作」に変化すると、「操作」の最低値=80であるため、現優先度Ptが80まで一気に上昇し、「操作」状態の間は、現優先度Pt=80のまま一定となる。
時間T3では、(12)のルール530の条件が満たされ、実行待ちルールリスト32に書き込まれる。(12)のルール530は、場所イベントである。(12)のルール530の尤度Lが反映された開始優先度Psは、図14に示した尤度Lと同様に変化する。時間T3では、実行中アクション41の現優先度Pt以下であるため、実行中アクション41の切り替えは起こらない。
時間T4で、実行中アクション41の状態が「注視」に変化すると、経過時間t’に応じて現優先度Ptは減衰してゆく。
時間T5において、現優先度Pt<(12)のルール530の尤度Lを反映した開始優先度Psを満たすと、実行中アクション41が(12)のルール530のアクションに切り替えられる。そのため、場所bの紹介アプリが終了し、(12)のアプリ1である、場所aの紹介アプリの実行が開始される。(12)のルール530では、アクションの状態が「注視」の場合は、アクションの状態毎に予め定められた最低値は、20+0.5×(80−20)=50である。アクションの状態が「操作」の場合は、アクションの状態毎に予め定められた最低値は、20+1.0×(80−20)=80である。また、アクションの状態が「その他」の場合は、アクションの状態毎に予め定められた最低値は、最小値Ptmin=20である。
時間T5では、実行中アクション41が切り替えられると、実行中アクション41の現優先度Ptが最大値Ptmax=80に一気に上昇する。
時間T5では、実行中アクション41の状態は「注視」のままであるが、現優先度Pt=80>40であるため、経過時間t’に応じて現優先度Ptは減衰してゆく。
時間T6で、ユーザが注視をやめ、実行中アクション41の状態が「その他」に変化すると、現優先度Pt=最小値Ptminに一気に減衰する。
これにより、時間T6において、現優先度Pt<(13)のルール530の尤度Lが反映された開始優先度Psを満たすため、実行中アクション41が(13)のルール530のアクションに切り替えられる。そのため、場所aの紹介アプリが終了し、(13)のアプリ2である、タイムセールアプリの実行が開始される。(13)のルール530では、アクションの状態が「注視」の場合は、アクションの状態毎に予め定められた最低値は、0+0.5×(60−0)=30である。アクションの状態が「操作」の場合は、アクションの状態毎に予め定められた最低値は、0+1.0×(60−0)=60である。また、アクションの状態が「その他」の場合は、アクションの状態毎に予め定められた最低値は、最小値Ptmin=0である。
時間T6では、実行中アクション41が切り替えられると、実行中アクション41の現優先度Ptが最大値Ptmax=60に一気に上昇する。
時間T7では、新たなアプリ2の開始により、再び、ユーザが携帯端末510を注視するため、実行中アクション41の状態は「注視」になる。そのため、現優先度Ptは、実行中アクション41の状態が「注視」の場合の最低値に向かって、経過時間t’に応じて減衰してゆく。
一方、比較例として、ECAルールに開始優先度Psが対応付けられているが、現優先度Pt=開始優先度Psのまま変化せず、また、最大値Ptmax及び最小値Ptminが対応付けられていない場合について説明する。また、比較例では、現優先度Pt≦開始優先度Psの場合に、実行中アクションが切り替えられる。
図27に、比較例のECAルールの具体例を示す。図27に示したECAルールは、上記した本実施形態のルール530(図25参照)と、最大値Ptmax及び最小値Ptminが対応付けられていない点で異なっている。図27に示した(比較3)のECAルールのアクションが、実行中アクションに対応しているものとする。
図28に、実行中アクション41の切り替えの説明に用いる具体例について示す。
図28に示すように、時間T0では、(比較3)のECAルールの条件が満たされ、アプリ3である、場所bの紹介アプリの実行が開始される。時間T0における実行中アクションの現優先度Ptは、開始優先度Ps=60である。
比較例の携帯端末においても、図27に示したECAルールの条件の判定が繰り返し行われている。そのため、時間T1では、(比較2)のECAルールの条件が満たされるが、開始優先度Ps=55<現優先度Pt=60であるため、実行中アクションの切替は起こらない。このように(比較2)のECAルールは、開始優先度Psが、他の2つのECAルールの開始優先度Psよりも小さいため、他のECAルールの実行中は、実行されることがない。
また、時間T2で、実行中アクション41の状態が「操作」に変化しても、実行中アクションの現優先度Ptは変化しない。
時間T3では、(比較1)のECAルールの条件が満たされ、開始優先度Ps=60=現優先度Pt=60であるため、実行中アクションが切り替えられる。そのため、ユーザが操作中であるにもかかわらず、場所bの紹介アプリが終了し、(比較1)のアプリ1である、場所aの紹介アプリの実行が開始される。
以上説明したように、本実施形態の携帯端末510では、実行中アクション41の現優先度Ptがアクションの状態及び状態の開始からの経過時間t’に応じて変化するため、実行中アクション41の切り替えを抑制することができる。そのため、比較例の携帯端末に比べて、ユーザの利用中(操作中及び利用中)に実行中アクション41が切り替えられるのを抑制することができる。
また、本実施形態の携帯端末510では、イベントが連続して発生し、条件を満たすルール530があった場合でも、実行中アクション41の切り替えが連続するのを抑制することができる。そのため、ユーザが見る時間を与えることができる。
なお、上記各実施形態では、最高の開始優先度Ps>現優先度Ptの場合に、実行中アクション41を切り替える場合について説明したがこれに限らず、最高の開始優先度Ps≧現優先度Ptの場合に、切り替えるようにしてもよい。具体例として、図29に、第1実施形態の切替処理において、最高の開始優先度Ps≧現優先度Ptの場合に、実行中アクション41を切り替える場合の一例のフローチャートを示す。図29に示すように、第1実施形態の切替処理(図5参照)のステップS108に替えて、ステップS608の処理を行う他は、同様の処理を行えばよい。
また、上記各実施形態の切替処理において、実行中アクション41が切り替わった後、すぐに再び切り替えが行われるのをより抑制するために、一定期間、開始時の現優先度Ptを維持するようにしてもよい。特に、上記第4及び第5実施形態において、実行中アクション41が切り替わった後、アクションの状態が「その他」のままでもすぐに切り替えが行われないようにするために、一定期間、開始時の現優先度Ptを維持するようにしてもよい。また、上記第3及び第5実施形態において、同様の理由から、一定期間、上記(2)式により現優先度Ptを算出するようにしてもよい、
また、上記各実施形態では、情報処理装置の具体例として携帯端末に適用した場合について説明したが、これに限定されない。例えば、デスクトップ型のコンピュータ等に適用するようにしてもよい。また、情報処理装置は、画面を有さないものであってもよい。
また、上記各実施形態では、携帯電話の表示部66に表示を行う場合のアクションについて説明したが、アクションは、これに限らない。また、アクションの状態も上記各実施形態に限らない。例えば、アクションは、音声ガイドを提供するアクションであってもよい。
また、上記では、切替プログラム70が記憶部56に予め記憶(インストール)されている態様を説明したが、切替プログラム70を記憶媒体に記録された形態で提供することも可能である。記憶媒体としては、例えば、CD−ROM(Compact Disc Read Only Memory)、DVD−ROM(Digital Versatile Disk Read Only Memory)、及びUSB(Universal Serial Bus)等が挙げられる。
以上の上記各実施形態に関し、更に以下の付記を開示する。
(付記1)
条件、アクション、及び開始優先度が対応付けられたルールの前記条件に基づいて、アクションの実行の可否を判定する判定部と、
実行中のアクションの状態及び当該状態の開始からの経過時間に応じて変化する現優先度と、前記判定部によりアクションの実行が可と判定されたルールの開始優先度とを比較し、比較結果に基づいて、実行するアクションを当該開始優先度が対応付けられたルールのアクションに切り替える指示を、アクションの実行を管理する管理部に対して行う比較部と、
を備えた情報処理装置。
(付記2)
前記ルールの前記現優先度は最大値及び最小値が予め定められている、
付記1に記載の情報処理装置。
(付記3)
前記ルールには、イベントがさらに対応付けられており、
前記判定部は、イベントが発生した場合に、前記条件に基づいて、アクションの実行の可否を判定し、
前記比較部は、前記開始優先度に前記イベントの種類に応じて定められた確からしさを反映させた開始優先度と、前記現優先度とを比較する、
付記1または付記2に記載の情報処理装置。
(付記4)
前記アクションの状態毎に、前記現優先度の最低値が定められている、
付記1から付記3のいずれか1項に記載の情報処理装置。
(付記5)
前記現優先度は、実行中のアクションの状態の開始からの経過時間に応じて減衰する、
付記1から付記4のいずれか1項に記載の情報処理装置。
(付記6)
前記比較部は、比較結果が、前記開始優先度が前記現優先度よりも高い場合、または前記開始優先度が前記現優先度以上の場合に、比較結果に基づいて、実行するアクションを当該開始優先度が対応付けられたルールのアクションに切り替える指示を行う、
付記1から付記5のいずれか1項に記載の情報処理装置。
(付記7)
前記アクションの状態とは、前記アクションに対するユーザの利用状態である、
付記1から付記6のいずれか1項に記載の情報処理装置。
(付記8)
コンピュータに、
条件、アクション、及び開始優先度が対応付けられたルールの前記条件に基づいて、アクションの実行の可否を判定し、
実行中のアクションの状態及び当該状態の開始からの経過時間に応じて変化する現優先度と、アクションの実行が可と判定されたルールの開始優先度とを比較し、
比較結果に基づいて、実行するアクションを当該開始優先度が対応付けられたルールのアクションに切り替える指示を、アクションの実行を管理する管理部に対して行う、
ことを含む処理を実行させるアクション切替方法。
(付記9)
前記ルールの前記現優先度は最大値及び最小値が予め定められている、
付記8に記載のアクション切替方法。
(付記10)
前記ルールには、イベントがさらに対応付けられており、
イベントが発生した場合に、前記条件に基づいて、アクションの実行の可否を判定し、
前記開始優先度に前記イベントの種類に応じて定められた確からしさを反映させた開始優先度と、前記現優先度とを比較する、
付記8または付記9に記載のアクション切替方法。
(付記11)
前記アクションの状態毎に、前記現優先度の最低値が定められている、
付記8から付記10のいずれか1項に記載のアクション切替方法。
(付記12)
前記現優先度は、実行中のアクションの状態の開始からの経過時間に応じて減衰する、
付記8から付記11のいずれか1項に記載のアクション切替方法。
(付記13)
比較結果が、前記開始優先度が前記現優先度よりも高い場合、または前記開始優先度が前記現優先度以上の場合に、比較結果に基づいて、実行するアクションを当該開始優先度が対応付けられたルールのアクションに切り替える指示を行う、
付記8から付記12のいずれか1項に記載のアクション切替方法。
(付記14)
前記アクションの状態とは、前記アクションに対するユーザの利用状態である、
付記8から付記13のいずれか1項に記載のアクション切替方法。
(付記15)
コンピュータに、
条件、アクション、及び開始優先度が対応付けられたルールの前記条件に基づいて、アクションの実行の可否を判定し、
実行中のアクションの状態及び当該状態の開始からの経過時間に応じて変化する現優先度と、アクションの実行が可と判定されたルールの開始優先度とを比較し、
比較結果に基づいて、実行するアクションを当該開始優先度が対応付けられたルールのアクションに切り替える指示を、アクションの実行を管理する管理部に対して行う、
ことを含む処理を実行させるアクション切替プログラム。
(付記16)
前記ルールの前記現優先度は最大値及び最小値が予め定められている、
付記15に記載のアクション切替プログラム。
(付記17)
前記ルールには、イベントがさらに対応付けられており、
イベントが発生した場合に、前記条件に基づいて、アクションの実行の可否を判定し、
前記開始優先度に前記イベントの種類に応じて定められた確からしさを反映させた開始優先度と、前記現優先度とを比較する、
付記15または付記16に記載のアクション切替プログラム。
(付記18)
前記アクションの状態毎に、前記現優先度の最低値が定められている、
付記15から付記17のいずれか1項に記載のアクション切替プログラム。
(付記19)
前記現優先度は、実行中のアクションの状態の開始からの経過時間に応じて減衰する、
付記15から付記18のいずれか1項に記載のアクション切替プログラム。
(付記20)
比較結果が、前記開始優先度が前記現優先度よりも高い場合、または前記開始優先度が前記現優先度以上の場合に、比較結果に基づいて、実行するアクションを当該開始優先度が対応付けられたルールのアクションに切り替える指示を行う、
付記15から付記19のいずれか1項に記載のアクション切替プログラム。
(付記21)
前記アクションの状態とは、前記アクションに対するユーザの利用状態である、
付記15から付記20のいずれか1項に記載のアクション切替プログラム。