行動履歴を用いた個人行動支援に関する研究
概要
日常生活において、過去のさまざまな行動の記録を統計的に分析して現在および将来の行動に反映させることで、経験に基づいた行動計画の立案が可能となり、個人の生活を効率的でよりよいものにすることができる。
本研究では、過去の行動履歴の中から行動の内容や時間の使い方などが特に上手く、同様の行動を行う上で参考になる行動を取り出して参考にすることにより、過去の優れた経験に基づいた最適な計画を自動的に生成することを目指す。具体的には、個人の行動とその状況および結果の評価を記録して、行動計画の生成と実行の補助・支援を行うシステムAcTrecを試作した。
試作システムは、「行動の記録・蓄積」、「行動履歴の検索・特徴抽出」、「計画の自動生成」という3つのフェーズで構成される。行動内容、場所、時間といった文脈情報は個人用にカスタマイズされた携帯情報端末を用いて入力され、任意のタイミングでデータ管理サーバーに送られ管理される。次に、蓄積された行動履歴に対して検索を行い、これから達成すべき目標に関連するもので評価の高い一連の行動データを模範行動として取り出し、統計処理により行動の特徴を抽出する。そして、模範行動から抽出した特徴データとユーザーの現状を考慮して計画の自動生成を行う。
また、蓄積した行動データを複数ユーザー間で共有することにより、他者の経験であっても自分の経験と同様に利用できる仕組みも開発した。
1 はじめに
1.1 計画を立てることの意義
人は誰でも質の高い素晴らしい生活を送りたいと考えるだろう。そのような生活を実現するためには、毎日をなにげなく過ごすのではなく、やるべきことを見極めて目標として定め、それを達成するための指針を設定する必要がある。そして、その指針に基づいて計画を立て、管理し、その計画が予定通りに行われたかどうかについてもチェックする必要がある。
個人の予定を管理をする仕組みには様々なものがある。身近なものとしては、手帳によるスケジュール管理が挙げられる。これは予定を自分自身で記入して、それを読み直すことにより予定を確認するという非常に単純なものであるが、古くから利用されてきた最も一般的な行動管理システムである。入力や閲覧を機械的に補助する電子手帳も機能としてはほぼ同じである。最近ではサイボウスのように、自分だけでなく同じ作業を行うグループ全員の予定を管理してくれるシステムも普及してきている。
研究の分野では、電子メールや電子ニュース内の文書から自分に関係のあるイベントを抜き出し、自動的にスケジュールとして管理するものや、複数のスケジュールが存在してそれらが両立しないような場合に、エージェントを用いてスケジュール間の調整を行うというものなどが実現されている。これらの成果を利用することで、自分自身の予定を比較的容易に管理することが可能である。
しかし、そのような予定を管理する仕組みを利用する場合でも、実際に予定の作成や計画の立案をするのはあくまで自分自身である。目標を達成するために最適な計画を立ててくれる仕組みについては実用的なものは存在せず、研究も未だ十分にはなされていない。
1.2 優れた計画の立案方法
日常生活において最適な計画の立案は決して容易な作業ではない。行動の指針となる計画が時間的、状況的に無理なものであったり、自身の生活のリズムに合っていなければ、計画そのものは優れていても実行されずに終わってしまう可能性が高い。それではせっかく計画を立てても、自分自身の生活の質を向上させることはできない。
では、どうすれば自分の生活スタイルに合った無理のない計画を立案することができるだろうか。日常生活の中で行われる活動の多くは、過去に経験したことのある行動の繰り返しである。予定や計画の作成が上手な人は、過去のさまざまな経験の中から、これから行う活動と同様の経験を見つけ出し、その過去の経験で得た知識、たとえばその活動を行うにはどのくらいの時間を要したのか、あるいはどの時間帯やタイミングでそれを行ったときによい成果を得ることができたのかなど、を考慮した上で計画を立案する。このようにして立てられた行動の計画は、過去の経験に裏づけされたものであり、無理や無駄が少ないと考えられる。
過去に取り組んだことのある行動を再び行うとき、その過去の経験を想起することで、その行動にはどの程度時間を費やす必要があり、どのような情報があれば円滑に作業を進めることができるかを知ることができる。
そして過去の行動履歴の中で行動の内容や時間の使い方などが特に上手く、同様の行動を行う上で手本となる行動(本研究ではこれを模範行動と呼ぶ)を、現在および将来の行動に関連付けることができれば、経験から得られた知識や反省に基づいた最適な行動計画の立案が可能となるはずである。そのようにして作成した計画を管理して実行することにより、個人の生活を効率的でより良いものにすることができる。
1.3 知識・経験の共有
しかし、ひとりの人間が経験できることには限度があるため、これから取り組むことが必ずしも過去に経験したことがあるとは限らない。そのような初めての経験に対しては自分自身の過去の行動を参考にすることができないため、過去の経験に裏付けられた、時間的、状況的に優れた計画を作成するのは困難である。
ここで、多くの人間の経験を集めてみれば、大抵の行動は誰かが経験している可能性が高い。その他者の経験をあたかも自分が経験したことのように扱うことができれば、未知の行動についても比較的困難なく対処することができるはずである。あるいは自分自身が日常的に繰り返している行動であっても、他人の方がより優れた方法で遂行している場合、その方法やそれに関するノウハウなどを自分のものとすることができれば、今まで以上の成果をあげることができるかもしれない。
このように、個人の経験を個人のみで再利用するのではなく、広く複数人の間で共有することができれば、人間は非常に多くの物事に対して経験を踏まえて取り組むことができるようになる。
他者の優れた経験を参考にして計画を立て、その計画に基づいて行われた活動がよい結果につながれば、今度はその経験を模範行動として利用することで、より優れた計画の立案へとつながっていく。最初は他者の経験を利用するため、少なからず自分とは異なる生活リズムやスタイルに基づいた計画を利用することになるが、ひとたびそれを自分の経験として取り込んでしまえば、以降は自分の生活スタイルも考慮された計画の立案が可能となる。この繰り返しにより、個人の生活の質をいっそう向上させることができる。
1.4 過去の経験の活用方法
では自分あるいは他者の過去の経験の中から、優れた行動や知識を取り出し実際に計画に反映させるためにはどうすればよいだろうか。
どれほど重要で有益な経験をしたことがあっても、それを忘れたり曖昧な状態で記憶していては利用価値が低い。つまり過去の経験を振り返り見直すことができなければならない。そのためには、日常生活における様々な行動や体験を記録しておく必要がある。
ここで問題になるのは、どのようにして日常生活での行動や体験などを記録するかである。一言で行動といっても、一日の生活の中だけでも、人は、起きる・食事をする・移動する・働く・遊ぶ・寝る、というように多岐にわたる行動をしている。これらの様々な行動をどのような形式で、どのようなまとまりで、どのように記録・蓄積するか、ということについて検討する必要がある。
また、経験をただ記録しただけでは、使えないデータが大量に蓄積されるだけである。その中から必要な情報を適切な形で取り出せなければ計画を作成する上で参考にすることはできない。したがって、記録された行動情報に対して適切な検索を行うことで必要な情報を取り出すことができなければならない。そして、検索の結果得られた一連の経験や行動について、平均的な行動のパターンやその行動が起こりうる状況といった行動の特徴を取り出すことで、意味のある情報へと変換してやる必要もある。
これらに加えて、現在の自分のおかれた状況やこれまでの成果や達成度を考慮することも大切な要素である。遠い将来の行動計画はともかくとして、当日行う行動について計画を立てた際、予定通りには進まないことも十分に考えられる。そのような現在から比較的近い計画を作成するためには、現在の行動や時間、場所など本人を取り巻く様々な要素を考慮する必要がある。
これらを考慮して計画を作成・管理することにより、これから取り組む行動を経験に基づいた最適なものとすることができ、日常生活を効率的で質の高い素晴らしいものにすることができる。
本研究では以上のことを踏まえた上で、自分の生活スタイルに合った優れた計画を自動的に生成する仕組みを提案する。
1.5 論文の構成
本論文では、まず2章で行動支援システムAcTrecの概要について述べる。3章において行動を記録するためのアプリケーションについて、4章では蓄積された行動履歴に対する検索と、その結果からの特徴抽出について記述する。また行動履歴の複数ユーザー間での共有についても述べる。5章で模範行動を用いた予定の自動生成について述べる。6章では本研究に関連する研究について述べる。そして7章で本論文のまとめ、8章で今後の課題を述べる。
2 行動支援システムAcTrec
本研究では個人の日常生活を効率的で質の高いものとするために、これから取り組む行動に対する目標の設定と、その目標を達成するための最適な計画の立案を支援することを目的とする。
そのために日常的に自身の行動の記録を行い、蓄積された自分あるいは他者の過去の行動履歴の中から模範となるような行動を選択し、それを参考にして自分のスタイルに合った優れた計画を自動的に生成する仕組みを考案する。そして、その仕組みを実装した行動支援システムAcTrecを紹介する。
2.1 AcTrecのシステム概要
AcTrecの利用形態は大きく分けて「行動の記録・蓄積」、「行動履歴の検索・特徴抽出」、「計画の自動生成」の3つのフェーズに分けられる。
「行動の記録・蓄積」では、日常生活における自分自身の行動を記録し、データベースに蓄積する。次の「行動履歴の検索・特徴抽出」では、蓄積された行動履歴に対して検索を行い計画立案の参考となるような模範行動を取り出し、その模範行動から特徴を抽出する。そして最後の「計画の自動生成」では、取り出した模範行動の特徴を利用して最適な計画を自動的に生成する。
行動支援システムAcTrecは表に示すモジュールにより構成されている。
名称 |
機能 |
---|---|
行動記録モジュール |
日常生活における自分自身の行動を記録する |
行動データ管理モジュール |
記録した行動をデータベースにより管理する |
行動履歴検索モジュール |
蓄積した行動履歴に対して検索を行う |
特徴抽出モジュール |
検索結果から特徴を抽出する |
Webサーバーモジュール |
Webブラウザを通じてユーザーとのインタラクションを行う |
計画自動生成モジュール |
最適な計画を自動生成する |
行動記録モジュールは専用アプリケーションとして携帯端末に実装される。このアプリケーションを行動記録アプリケーションと呼ぶ。それ以外のモジュールはひとつにまとめられてサーバーとして利用される。このサーバーをAcTrecサーバーと呼ぶ。
2.2 最適な計画の自動生成の流れ
行動の記録は携帯端末上で動作する行動記録アプリケーションを用いて行われる。記録された行動データは任意のタイミングでAcTrecサーバーへ送られ、データベースで管理される。
AcTrecサーバーはWebサーバーも兼ねており、模範行動を選択するための行動履歴の検索はWebブラウザを用いて行う。検索要求を受け取ったAcTrecサーバーはデータベースから該当する一連の行動データを取り出し、その行動履歴に対して様々な統計処理を行う。そして、模範行動を決定する際に有効な行動の特徴を抽出して、検索結果と一緒にユーザーに返す。
返された行動履歴と行動の特徴を参考にしてユーザーが模範とする行動を選択すると、AcTrecサーバーはその模範行動およびユーザーの現状を考慮した最適な計画を自動生成し、ユーザーに提示する。
ユーザーがシステムにより示された計画に基づき行動を実行することで、再び行動が記録される。
図はAcTrecの概念図である。この図が示すようにAcTrecは、「行動の記録・蓄積」、「検索・特徴抽出」、「計画の自動生成」、という3つのフェーズがAcTrecサーバーを中心として成り立っている。
AcTrecは、この3つのフェーズを繰り返すことで、個人の行動を次第に良いものへと変化させる。このうちのどれかひとつが欠けても、行動支援のためのシステムとしては不完全なものとなってしまう。したがって本研究では、この「行動の記録・蓄積」、「検索・特徴抽出」、「計画の自動生成」という3つすべてについて研究を進める。
行動記録アプリケーションによる「行動の記録・蓄積」については3章で、記録・蓄積された行動履歴からの「検索・特徴抽出」については4章で述べる。選択した模範行動とユーザーの現状を考慮した「計画の自動生成」の手法については5章で詳しく述べる。
3 個人行動の記録
3.1 行動の記録についての概要
本研究では個人行動を支援するために過去の行動履歴を利用する。そのためには日常における個人の行動を記録する必要がある。
個人の活動を自動的に認識して記録するシステムについては既にいくつかの研究がなされている。しかし、たとえばで提案されているシステムは行動の認識を行うために、室内に床振動センサーや超音波センサーを埋め込むなど環境設置型の大規模なシステム構築を必要とするため、限られた空間や条件でしか利用できない。またセンサーにより得られる認識結果はあくまで推測であり、必ずしも正確な情報とはいえない。
そこで本研究では、個人の活動を自動的に認識・記録するのではなく、ユーザーが行動を開始、あるいは終了する際に自分自身で明示的に行動を記録する方法を採用する。これはユーザーに多少の負担を強いることになるが、日常生活に存在する非常に多様な行動の中から、ユーザーが必要だと感じる情報を確実に記録することができる。また、人手により意味的に正確な情報を記録するため、前述の手法から得られる行動記録に比べて信頼性および利用価値が高い。
行動は、システムにとって理解可能で、利用しやすい形で記録してやる必要がある。本研究ではひとつひとつの行動を次の8つの要素により表現して記録する。
-
行動のカテゴリー
-
行動の種類
-
行動の内容
-
行動を実行した日付・曜日
-
行動の開始・終了時刻
-
行動を実行した場所
-
行動に対する評価
-
行動に対する感想・メモ
1から3の行動のカテゴリー・種類・内容は、どれも行動がどのような行為であるかを表す要素であるが、行動のカテゴリー、行動の種類、行動の内容の順に情報の粒度が高くなる。ひとつの行動の行為を3段階の粒度で表すことにより、記録した行動に対して検索や特徴抽出といった処理を行う際の柔軟性と利便性を高める。
行動のカテゴリーは、(1)仕事、(2)趣味、(3)食事、(4)移動、(5)その他、の5つの中から選択する。行動の種類はカテゴリーごとにユーザーが各自で設定した項目の中から選択する。たとえば、仕事というカテゴリー内には、研究、講義、ゼミなどが、食事というカテゴリーであれば朝食、昼食、夕食などが設定される。行動の内容は、行動の種類ごとのより詳細な行為の内容を記述する。図は、仕事というカテゴリーを例として、行動のカテゴリー・種類・内容の包含関係を表したものである。
7、8の行動に対する評価と感想・メモについては、これらを記録することにより、行動の動作が同様の場合でも、その行動の意味の違いや質の良し悪しを区別することができるようになる。
これら8つをまとめたものを行動データと呼び、情報としての行動の最小単位とする。また、行動データの集合を行動履歴と呼ぶ。
行動の記録には、個人が持つ携帯端末を用いる。携帯端末は常に持ち歩くことに違和感がなく、日常生活における行動を記録するのに最適である。また近年は携帯端末の高性能化・高機能化が進み、簡単な処理計算を行う程度ならば十分な性能を持つ。
以上のことを踏まえて、本研究では個人の持つ携帯端末上で動作する行動記録アプリケーションを試作した。次節で、そのアプリケーションについて詳しく述べる。
3.2 行動記録アプリケーション
3.2.1 概要
今回試作した行動記録アプリケーションは個人の日常における様々な行動を記録するためのアプリケーションであり、行動データをできる限り手軽に記録できるよう設計・実装を行った。Windows CE 3.0を搭載したPDA(Personal Digital Assistant)上で動作し、AcTrecサーバーと通信できる必要がある。
また、本アプリケーションは大きく分けてメイン画面、行動開始記録画面、行動終了記録画面、行動履歴表示画面、行動予定表示画面、行動データ追加・変更画面により構成される。
メイン画面(図)は本アプリケーションの基本となる画面で、起動するとまず最初に現れる。この画面から、行動開始の記録、行動終了の記録、行動履歴の閲覧、行動予定の閲覧、行動履歴の送信を開始する。また、現在実行されている行動が画面中央のリストボックスに表示される。画面下段の予定・アドバイスと書かれたリストボックスには、本日の予定が表示される。
行動開始記録画面(図)と行動終了記録画面(図)は、行動の開始および終了を記録する際に呼び出される。行動開始記録画面で行動の種類を記録し、行動終了記録画面では行動の内容、場所、感想・メモ、評価を記録する。
行動履歴表示画面(図)では、それまでに記録した過去の行動履歴を閲覧することができる。またこの画面から、行動データの変更・追加・削除を行うことができる。
行動予定表示画面(図)では、本日以降の行動予定を閲覧することができる。予定行動の設定もこの画面から行う。
行動データ追加・変更画面(図)は、行動データや行動予定を新たに追加する場合と、既に記録された行動データの変更を行う場合に利用される。
本アプリケーションは以下の機能を備える。
-
行動開始の記録
-
行動終了の記録
-
行動履歴の閲覧
-
行動履歴の変更
-
行動予定の設定・閲覧
これから、本アプリケーションの5つの機能について具体的に述べていく。
3.2.2 行動開始の記録
ユーザーは以下の手順により行動の開始を記録する。
-
画面が行動開始記録画面に切り替わる。この画面には、ユーザーがあらかじめ設定した、カテゴリーに含まれる行動の種類がリストアップされている。その中から行動の種類を選択して(図の3)、決定ボタンを押す(図の4)。
日常生活の中には様々な行動が存在するが、行動のカテゴリー、行動の種類の順に段階的に選択させることで、ユーザーはスムーズに行動のインデックスを作成することができる。
一連の操作が完了した時刻を行動の開始時刻として自動的に記録する。これにより、行動データのうちの「行動のカテゴリー」、「行動の種類」、「行動の開始時刻」の3つが記録される。行動データのその他の要素については、行動を開始する時点ではまだ不確定であるため、行動を終了する際に記録する。
行動の開始が記録されると日付、開始時刻、行動のカテゴリーおよび行動の種類が、実行中の行動としてメイン画面中央に表示される。
3.2.3 行動終了の記録
行動を終了する際に、ユーザーは「行動の内容」と「行動を実行した場所」、「行動に対する評価」、そして「行動に対する感想・メモ」を選択・入力する。手順は次の通りである。
一連の操作が完了した時刻を、行動の終了時刻として自動的に記録する。
行動を終了する際に、毎回行動の内容や場所を文字入力するのは非常に煩わしいため、行動の内容および場所の記録にはプルダウン方式を採用した。過去に入力されたデータが記憶されており、最近選択されたものから順に並べられる。一度入力すれば次回からは選択するだけでよいため、ユーザーの手間を省くことができる。
行動に対する評価はユーザーの主観により5段階で記録する。実行した行動が自分にとって非常に意味があったと思える場合は5を、ほぼ意味がなかったと感じた場合は1を選択し、特にいつもどおりであれば平均の3を選択する。4と2はそれぞれの中間である。評価の値は、計画の自動生成を行う際にその行動が有意義であるかどうかの判断材料として使われる。
3.2.4 行動履歴の閲覧
ユーザーは、過去の行動データの集合である行動履歴を閲覧することができる。行動データが1日ごとに開始時刻の順にまとめられて、行動履歴としてツリー構造で表示される。行動履歴の閲覧の手順は次の通りである。
-
ツリーの枝として行動データの開始時刻と行動のカテゴリーおよび種類が表示されているので、更に詳細な情報を見たい場合には、その枝をダブルクリックすることにより、行動終了時刻、行動の内容、場所、評価、感想・メモを見ることができる(図の3)。
3.2.5 行動履歴の変更
ユーザーは過去の行動履歴に対して、(1)行動データの変更、(2)行動データの追加、(3)行動データの削除を行うことができる。
3.2.5.1 行動データの変更
行動の開始・終了時に記録した情報に入力や選択の誤りがあった場合、以下の手順で変更することができる。
3.2.5.2 行動データの追加
行動履歴に記録し忘れた行動がある場合、以下の手順で行動データを追加することができる。
3.2.5.3 行動データの削除
誤って不要な行動データを記録してしまった場合、以下の手順で削除することができる。
3.2.6 行動予定の設定・閲覧
いつ取り掛かるかあらかじめわかっている行動については予定として設定することで、ユーザーの記録の手間を省く。設定した予定の開始時刻になるとアプリケーションが行動の実行を促す。ユーザーがそれを了解すると、予定として設定しておいた行動データは自動的に履歴に追加される。ユーザーは本日以降の予定について設定、閲覧することができる。
3.2.6.4 行動予定の設定
予定している行動について、カテゴリー、種類、内容、場所、開始・終了時刻を入力して予定を設定する。以下に手順を述べる。
3.2.6.5 行動予定の閲覧
行動予定表示画面において、ユーザーが設定した予定の一覧を閲覧することができる。表示方法については2.2.4で述べた行動履歴の閲覧と同様で、予定行動が1日ごとにまとめられてツリー構造で表示される(図の1)。特に当日の予定については、メイン画面下段の予定・アドバイスというリストボックスにも表示される(図の2)。
3.3 行動履歴の蓄積
行動記録アプリケーションを用いて記録した行動データは携帯端末のメモリに記憶される。それらを閲覧するだけならばアプリケーションの閲覧機能で十分であるが、蓄積された行動データから検索により必要な情報を取り出す、あるいは検索の結果得られた行動履歴から行動の特徴を抽出する場合、携帯端末の処理能力では不十分である。また、複数のユーザーにより行動データを共有することを考えた場合、やはり行動データが携帯端末の中にあるのは不都合である。したがって、本システムでは記録した行動データはサーバー側のデータベースで一元管理する。
以下で、まず行動データの保存形式について述べ、その後に行動データを携帯端末からAcTrecサーバーのデータベースへと転送する方法について説明する。
3.3.1 行動データの保存形式
行動データは携帯端末の内部ではテキストファイルに書き込まれて保持される。したがって携帯端末内での保存形式をテキスト形式と呼ぶ。テキスト形式では、以下のように行動データの要素が1行につき1つずつ書かれている。
ID 行動のカテゴリー 行動の種類 行動の開始時刻 行動の終了時刻 行動の内容 行動を実行した場所 行動に対する評価 行動に対する感想・メモ
携帯端末では検索などの複雑な処理は行わないため、データベースによる管理ではなく、アプリケーションの都合上扱いやすいテキストでの管理を採用した。テキスト形式では行動データは1日ごとにまとめられ、YYYYMMDD.txtのように日付をファイル名として保存される。
一方、AcTrecサーバーでは行動データに対して様々な処理を行うため、データベースを用いた厳密な管理が必要となる。本システムではサーバー側での保存形式としてXMLを採用する。XMLはJavaなどのプログラミング言語で容易に解析することができ、検索や統計処理など後々の処理を容易に行うことができるというメリットがある。この保存形式をXML形式と呼ぶ。XML形式は次のように記述される。
<action> <id>ID</id> <date>行動を実行した日付</date> <dow>行動を実行した曜日</dow> <start>行動の開始時刻</start> <end>行動の終了時刻</end> <group>行動のカテゴリー</group> <description item="行動の種類">行動の内容</description> <place>行動を実行した場所</place> <evaluation>行動に対する評価</evaluation> <note>行動に対する感想・メモ</note> </action>
XML形式では、記述する項目に「行動を実行した日付」と「行動を実行した曜日」が追加されている。行動データが携帯端末からAcTrecサーバーへと転送される際に、テキスト形式からXML形式に変換されるが、その際テキスト形式のファイル名を参考にして日付と曜日がシステムにより自動的に付けられる。これにより、行動データを表す要素がすべてそろいデータベースに保存される。XML形式においても行動データは1日ごとにまとめられて保存される。XMLを管理するデータベースには、XMLデータベースのひとつであるXindiceを利用する。
Xindiceでは、XMLをファイルシステムに似たモデルで管理する。ディレクトリに対応するものを「コレクション」、ファイルに対応するものを「ドキュメント」と呼ぶ。 本システムでは、ユーザーごとにユーザー名を名前として持つコレクションを作成し、1日ごとにまとめられた行動データは、日付を名前として持つドキュメントとして各ユーザーのコレクションの中に保存される(図)。このような階層で管理することで、検索のコストを削減することができる。
参考までに、付録Aにテキスト形式およびXML形式で記述された1日分の行動履歴を載せる。
3.3.2 行動データの転送方法
行動データの転送はソケット通信により行われる。AcTrecサーバー側で行動データ受信のためのアプリケーションが待機しており、携帯端末からテキスト形式の行動データが送られてくると、それを受け取りXML形式に変換してXMLデータベースに登録する。
行動データを転送するタイミングに関して、携帯端末がAcTrecサーバーに接続できない環境では行動データの転送を行うことができないため、システムが自動的にデータ転送を行う仕組みでは不具合が起こる可能性がある。したがって、本システムでは携帯端末がAcTrecサーバーに接続できる状態にあるときにユーザーが意識的に行動データの転送を行う仕組みを採用している。本システムにおけるデータ転送の手順を以下に示す。
4 行動履歴の検索と特徴抽出
4.1 行動履歴の検索
模範行動に基づいた行動計画の自動生成を行うために、これから取り組む行動の参考となる行動を過去の行動履歴の中から取り出す必要がある。
過去の行動履歴を一度にすべて見せられても、本当に必要な情報が、それ以外の必要のない情報にまぎれ混んでしまうため、どれが自分にとって有益な情報なのか判別することは困難である。そこで本システムでは、行動履歴に対する検索の仕組みを実装して、必要な行動データだけを取り出して閲覧できるようにする。
また、検索により必要でない情報を削ることで、人間だけでなくシステムにとっても解釈が容易になるため、一連の行動データが持つ特徴を取り出すための前処理としても利用する。
本システムでは、行動データが蓄積されたXMLデータベースに対して検索を行う。以下で検索のシステム構成と利用方法について詳しく述べる。
4.1.1 システム構成
本システムはWebブラウザから検索を行う。WebサーバーにはJava Servletを使用する。ブラウザからの検索要求を受け取ったWebサーバーは、行動データが蓄積されているXMLデータベースにアクセスして検索を行い、該当する行動データを取り出し、結果の一覧を生成して、それをブラウザに表示する。XMLデータベースに対する検索要求はXMLの検索言語であるXPathにより表現される。図にシステム構成を示す。
検索にWebブラウザを用いる方法は、ユーザー側で専用アプリケーションをインストールする必要がなく、サーバー側のシステム構築も容易である。また、インターネットにつながる環境であればどこからでも行動履歴の検索が可能であり、PC、PDA、携帯電話など端末の種類に関わらず同じ方法で検索を行えるということも大きな利点である。
4.1.2 検索方法
データベースに蓄積された過去の行動履歴の中から必要な行動データだけを取り出すためには、その取り出したい行動データに共通する要素を指定してやればよい。本システムでは、以下の項目についてキーワードで指定することにより検索を行う。
-
行動を実行した日付・曜日
-
行動の開始・終了時刻
-
行動のカテゴリー
-
行動の種類
-
行動の内容
-
行動を実行した場所
-
行動に対するメモ
-
行動に対する評価
複数の項目を指定した場合は、AND検索が実行される。また、それぞれの検索項目について、NOT検索も可能である。日付、曜日、時間については、○○以降、○○以前、○○から○○の間、という3通りの指定が可能である。
それらを組み合わせることで、「仕事というカテゴリーに属する行動」という単純な検索から、「2003/10/01から2003/10/31までの月曜から金曜日に行われた12時から13時の時間帯を除いた行動のうち、仕事というカテゴリーに属して、評価が5である行動」、といった複雑な検索まで、ユーザーの様々な要求に対応することができる。
検索はWebを通じて行う。まずユーザーはPC(あるいはPDAや携帯電話など)のWebブラウザから本システムのWebページにアクセスする。その際、ユーザー名とパスワードによるベーシック認証を行う。それにより、登録されたユーザー以外の人間が行動履歴の閲覧や検索を行うことを防ぎ、ユーザーのプライバシーを保護する。また認証の際に入力されたユーザー名を記憶しておき、データベース内のユーザー名が付けられたコレクションから行動データを取り出す。
認証を通過した後に、トップページのメニューから検索を選択して図のような行動履歴検索画面にアクセスする。行動履歴検索画面には検索項目を指定するテキストボックスが並んでいるので、必要に応じてキーワードを入力して検索ボタンを押すことで検索が実行される。
4.1.3 検索結果
検索の結果、指定したキーワードを含む行動データがひとつにまとめられてXMLで返される。そのXMLはXSLTによりHTMLに変換され、Webブラウザに表示される。図は、「2003/12/01から2003/12/31の期間に行われた、種類がAcTrecである行動データのうち、評価が5であるもの」という検索を行った際に得られた結果である。
4.2 統計処理による特徴の抽出
次に、本システムでは検索の結果得られる行動履歴に対して統計的な処理を行う。それにより、検索対象の行動が起こる頻度や時間帯、あるいは行動同士のつながりなど、行動履歴の持つ特徴を抽出して、模範行動を選択する際の参考あるいは目安となる情報としてユーザーに提示する。本システムは行動履歴に対して統計処理を行い、次の3つの特徴データを得る。
-
時間帯ごとの行動の出現割合
-
期間内の行動の時間分布および合計・平均時間
-
行動の遷移とその頻度
「時間帯ごとの行動の出現割合」は、検索対象の行動が1日24時間の中の各時間帯においてどのくらいの頻度で出現するかを表す特徴データである。「期間内の行動の時間分布および合計・平均時間」は、検索の際に指定した期間中に、検索対象の行動に対して一日あたりに費やした時間と、その合計および平均時間を表す特徴データである。また「行動の遷移とその頻度」は、検索対象の行動の直前と直後に現れる行動の種類と、その行動間の遷移の頻度を表す。
本システムではそれぞれの特徴データをグラフ化してユーザーに提示する。それにより、ユーザーは行動履歴が持つ特徴を視覚的に理解することができる。特徴データのグラフはSVGを用いてWebブラウザ上に描写する。
それぞれの特徴データの取得方法と、それらから得られる情報や利点について、以降で詳しく述べていく。
4.2.1 時間帯ごとの行動の出現割合
時間帯ごとの行動の出現割合は、検索対象の行動が1日の中のどの時間帯に行われたかを1分間隔で調べ、各時間帯の行動が行われた回数を集計して、その結果を検索の際に指定した期間のうち実際に行動に取り組んだ日数で正規化することにより算出される。検索により得られた個の行動データのうちの番目の行動データを、行動に取り組んだ日数をとすると、時間帯における出現割合は次式により求められる。
\[\begin{array}{l}p_{t} = \frac{\sum_{k=1}^{n} f(a_{k},t)}{days} \\f(a_{k},t) = \left\{\begin{array}{rl}1 & \mbox{ (が時間帯に行動を実行中のとき)} \\0 & \mbox{ (上記以外のとき)}\end{array} \right.\end{array}\]
検索対象が複数の種類の行動にまたがる場合、同じ行動のカテゴリーに属するものは同一の行動とみなした上でカテゴリーごとに前述の統計処理を行い、それぞれの特徴を抽出する。
抽出した特徴データは、横軸に時間帯、縦軸に行動の出現割合をとって棒グラフで表す。図は、「2003/05/01から2003/11/30の期間に行われた、種類がAcTrecである行動」という検索の結果から得られた特徴グラフである。この例のように、検索対象の行動がすべて同一カテゴリーに含まれる場合は、その特徴データを見ることで検索対象の行動がどの時間帯に頻繁に現れるか知ることができる。
検索対象の行動に複数の行動カテゴリーが現れる場合は、カテゴリーごとに色分けをして順に積み重ねることにより、同一のグラフで各カテゴリーの出現割合を表現する。図は、「2003/05/01から2003/11/30の期間に行われた全行動」という検索の結果から得られた特徴グラフである。異なるカテゴリーに含まれる行動が検索対象となる場合は、時間帯ごとのカテゴリー同士の出現割合を比較することができる。
この特徴データから、検索対象の行動が一日の中のどの時間帯に高い割合で行われているかを知ることができる。行動計画を自動生成する際、行動が行われている割合が高い時間帯に優先的に行動を割り当ててやることで、高い確率で適切な計画を生成することができる。
また、図は、2003/01/01から2003/12/31の平日と週末の行動についてグラフ化したものであるが、このように検索の際に指定した期間が異なる特徴データのグラフを比較することで、期間による行動パターンの違いや変化を視覚的に認識することができる。
それ以外にも、模範となるような特徴データのグラフと自分のグラフを比較した場合には、行動に取り組む時間帯について改善すべき点を探し出すことができるかもしれない。
4.2.2 期間内の行動の時間分布および合計・平均時間
期間内の行動の時間分布は、検索の際に指定した期間中に検索対象の行動に対して費やした時間を、1日ごとに集計することにより得られる。期間内の日数を、検索により得られた個の行動データのうちの番目の行動データとその実行時間をとすると、期間中日目に検索対象の行動に対して費やした時間の合計は次式により求められる。
\[\begin{array}{l}h_{i} = \sum_{j=1}^{n} g(a_{j},i) \\g(a_{j},i) = \left\{\begin{array}{rl}t_{j} & \mbox{ (が日目の行動のとき)} \\0 & \mbox{ (上記以外のとき)}\end{array} \right.\end{array}\]
検索対象が複数の種類の行動にまたがる場合、同じ行動のカテゴリーに属するものは同一の行動とみなした上で、カテゴリーごとに前述の統計処理を行いそれぞれの特徴を抽出する。
得られたから期間内の行動の合計時間と、平均時間を取得する。平均時間については、単純な期間日数あたりの平均である経過日数平均と、実際に行動が行われた日数あたりの平均である行動日数平均の二つを算出する。
\[\begin{array}{l}total = \sum_{i=1}^{days} h_{i} \\mean_{1} = \frac{total}{days_{1}} \\mean_{2} = \frac{total}{days_{2}}\end{array}\]
期間内の行動の時間分布は、横軸に検索で指定した期間、縦軸に一日あたりの合計時間をとり棒グラフで表す。図は、「2003/09/01から2003/10/31の期間に行われた、仕事というカテゴリーに属する行動」という検索の結果から得られた特徴データのグラフである。グラフと一緒に、も提示される。
行動の結果得られる成果は、その行動に対してどの程度真剣に取り組んだかに依存する。そして、行動に対する取り組み具合を計る上で、一定期間の間に費やした時間は重要な要素であり、少なからず成果と関連があると考えられる。行動の質が低ければいくら時間を費やしても成果が得られない可能性はあるが、大抵の場合は一定期間の間に重点的に時間を費やせばそれ相応の成果が得られるはずである。
ここで、期間内の行動の時間分布を利用することで、検索対象の行動に対してどの程度時間を費やしたかを中・長期的な視点から見ることができる。一日あたりの合計時間の多少を比較することができるため、主にどのあたりでその行動に取り組んだかを視覚的に認識することができる。時間分布の密度が高いところは、その行動に対して重点的に取り組んだ期間であり、計画の立案を行うにあたり、模範行動として参考にするならばそのようなところを選択するのが効果的である。
また、期間内の総合計時間および1日あたりの平均時間も一緒に表示される。行動の1日あたりの平均時間を知ることにより、同様の行動を行う上で毎日どの程度その行動に取り組めばよいかを決定するための目安となり、この値と前節で述べた1日の中での時間帯による行動の出現分布を利用することで、1日の中のどの時間帯に何時間だけ行動を割り当てる、という行動計画の立案が可能となる。
4.2.3 行動の遷移とその頻度
前述した「時間帯ごとの行動の出現割合」と「期間内の行動の時間分布および合計・平均時間」が、検索対象の行動と時間の関係を表していたのに対して、「行動の遷移とその頻度」は検索対象の行動とそれ以外の行動の関係を表している。この特徴データは以下の手順により抽出される。
-
検索対象の行動について直前と直後に出現する行動を取り出し、自身も含めて行動の種類により分別する。
-
1により得られた個の行動の種類について、各行動の種類ごとに出現回数を数える。
-
からへと遷移している回数を調べる。
-
とから遷移頻度を得る。
\[p_{ij} = \frac{trans_{ij}}{c_{i}}\]
抽出した特徴データはグラフ化される。各行動の種類を円で表して2次元平面に配置した後に、とについてが0でなければ有向線で結ぶ。それにより行動の遷移を表現する。このとき、出現回数に応じて円の大きさを変化させる。
行動間の遷移頻度は、との2次元距離によって表現する。本研究ではEadesのスプリングモデルを拡張したアルゴリズムにより円同士の距離を決定する。スプリングモデルとはデータ間の接続関係を利用してグラフ構造を視覚化するグラフ自動描画アルゴリズムである。そのなかで最も単純なモデルであるEadesのスプリングモデルは、接続関係があるデータ間の距離はどの接続においても一定に保たれて2次元平面状に配置されるが、本研究では遷移頻度により重みをかけて距離を変化させる。
の2次元平面状での座標を、との2次元平面状での距離をと表すとき、は以下の式を十分に繰り返すことで得られる。
\[\begin{array}{l}x_{i}^{(\xi +1)}=x_{i}^{(\xi)}-h[\sum_{j\in S_{j}}fa_{ij}(x_{i}^{(\xi)}-x_{j}^{(\xi)})-\sum_{j\notin S_{j}}fr_{ij}(x_{i}^{(\xi)}-x_{j}^{(\xi)})] \\y_{i}^{(\xi +1)}=y_{i}^{(\xi)}-h[\sum_{j\in S_{j}}fa_{ij}(y_{i}^{(\xi)}-y_{j}^{(\xi)})-\sum_{j\notin S_{j}}fr_{ij}(y_{i}^{(\xi)}-y_{j}^{(\xi)})] \\\end{array}\]
は、との間に作用する引力と斥力である。
\[\begin{array}{l}fa_{ij}=p_{ij}\times C_{a}\log{\frac{d_{ij}}{\hat{d}}} \\fr_{ij}=C_{r}\log{\frac{1}{d_{ij}^{2}}}\end{array}\]
はデータ間の理想長、およびは引力、斥力を調整するパラメーターである。は遷移頻度に比例するため、の値が大きいほどとの距離は短くなる。それに伴い、遷移頻度が高い行動同士はお互いに引き合って中心に集まるため、グラフの中心部分を見ればこの特徴データにおいて主要な行動は何かを理解することができる。
図は2003/11/01から2003/11/30までの全行動データを取り出して、特徴データを抽出した結果をグラフ化したものである。このグラフから、この期間における主要な行動は「AcTrec」、「昼食」、「夕食」、「就寝」、「バイク(移動)」、「その他(食事)」などであるということを知ることができる。
またグラフ中の行動を表す円をひとつ選んでクリックすることにより、その行動と前後の遷移関係がある行動のみを表示することができる。図は図のグラフにおいてAcTrecという円を選択した場合である。半透明の円はAcTrecという行動の遷移元、通常の円はAcTrecという行動の遷移先を表している。遷移先の円には、その遷移確率が表示される。円と円の距離は先ほどと同様に行動の遷移の頻度を表している。このグラフから、「AcTrecという行動は主にATという行動の後に発生して、AcTrecという行動を終了した後には夕食をとることが多い」、ということを知ることができる。
このように、この特徴データから、検索対象の行動がどのような行動の後に頻繁に出現して、次にどのような行動へと移る可能性が高いのかを知ることができる。行動同士のつながりとその確率の高さを知ることで、次に起こりうる行動の予測が可能となる。次に起こる行動を予測できれば、その行動を実行する際に有意義な情報を予め用意して自動的にユーザーに提示することができる。
4.3 複数ユーザーによる行動履歴の共有
4.3.1 行動履歴の共有とその利点
計画を自動的に生成するためには、その計画の基となる模範行動が必要である。ここで模範とする行動を選ぶ際に、自分自身の行動履歴だけでなく他者の行動履歴についても閲覧・検索することができれば、自分が初めて取り組む行動であっても他者の行動履歴の中から模範行動とする行動を見つけることができるかもしれない。あるいは自分が経験したことがある行動であっても、他者が自分よりも優れた方法で行動を行っている場合に、そちらを参考にすることができる。
本研究では、蓄積した行動データを複数ユーザー間で共有することにより、他者の経験であっても自分の経験と同様に利用できるようにする。そのために、本章1,2節で述べた検索や特徴抽出の対象を複数ユーザーの行動履歴へと拡張する。
4.3.2 情報の提示方法
単独のユーザーの行動履歴に対して検索を行う際には、検索システムへのログイン時にベーシック認証によりユーザーを特定して、そのユーザーのコレクション内にあるドキュメントに対してのみ検索を行った。複数ユーザーの場合は、AcTrecシステムを利用している全ユーザーのコレクションに対してそれぞれ同様の検索を行う。そして、得られた検索結果に対してユーザーごとに特徴抽出を行う。
ここで、抽出した複数人の特徴データを効率よくユーザーに提示する方法について考える必要がある。行動履歴を共有する利点のひとつとして、ある行動に対して他者が自分よりも優れた方法で行動を行っている場合に、そちらを参考にすることができる、ということを挙げた。この利点を活かすためには、複数ユーザーの行動の特徴を一斉に閲覧できて、その特徴の違いを比較できなければならない。
そこで、本システムでは検索結果の提示方法として図のように、各ユーザーの「時間帯ごとの行動の出現割合」と「期間内の行動の時間分布」を横に並べ、それをユーザーごとに縦に並べて提示する方法を採用した。この方法は、各ユーザーの同じ時期の時間分布が縦方向に並ぶため、ある特定の期間中に最も時間を費やしているのは誰か、あるいは集中して行動に取り組んでいるのは誰か、などを容易に認識・比較することができ、複数ユーザーの行動履歴の中から模範行動として採用するのに最も適していると思われるものを選択する際に有効である。
ここで、複数のグラフを一度に表示するため、グラフの一部が他のグラフと重なってしまうことがあるが、本システムではJavaScriptを利用してグラフを左右方向にスライドさせられるようになっており、すべての特徴データを閲覧することが可能である。
4.3.3 プライバシー保護
個人の行動履歴には本人以外には見せたくない情報も含まれる。したがって、複数ユーザー間で行動履歴を共有するためにはプライバシーに配慮する必要がある。本システムでは、蓄積した行動履歴について、どの行動は見せて、どの行動は見せない、という公開のポリシーをユーザーが設定することで、個人のプライバシーを保護する。公開のポリシーは行動のカテゴリーごとに、(a)公開、(b)非公開、(c)部分的に公開、の中から選択する。
(a)を選んだ場合は、そのカテゴリーに属する行動データはすべて他のユーザーから閲覧可能となる。(b)の非公開を選択した場合、(a)とは逆で、自分以外のすべてのユーザーはそのカテゴリーに含まれる行動データを閲覧することができなくなる。
(c)を選択した場合は、行動の種類、行動の内容、場所、行動に付随する感想・メモについてそれぞれ公開・非公開を設定することができる。行動のカテゴリーと開始・終了時刻については強制的に公開される。これは、行動のカテゴリーと時刻が行動データにとって必要不可欠な要素であり、最低限この2つを公開しなければ、模範行動を選択する際の参考にならなくなってしまうためである。この2つは個人に特化した情報ではなく、すべての人にとって共通する概念であるため、他の項目に比べて強制的に公開することによる影響は少ない。
公開ポリシーはXMLデータベースに保存する。登録ユーザーごとに個人プロファイルXMLが用意されており、公開ポリシーはその中に以下のような形式で記録される。
<policy> <work type="disclosure" /> <interest type="nondisclosure" /> <feed type="part"> <description>disclosure</description> <detail>disclosure</detail> <place>nondisclosure</place> <note>nondisclosure</note> </feed> <move type="disclosure" /> <other type="nondisclosure" /> </policy>
policyタグ以下のwork,interest,feed,move,otherという各カテゴリーを表すタグがtypeという属性をもち、そこにdisclosure(公開)、nondisclosure(非公開)、part(部分的に公開)が属性値として記述される。typeがpartの場合は、更にそのタグ以下にdescription,detail,place,noteというタグを持ち、そこにdisclosureかnondisclosureがテキストで保持される。
公開のポリシーの設定はWebブラウザーから行う。本システムのトップページのメニューから「ポリシー設定」を選択すると図のような公開ポリシー設定画面にアクセスできる。ここで仕事・趣味・食事・移動・その他の各カテゴリーについて公開・非公開・部分的に公開の中からひとつを選択して、設定ボタンを押すことにより、公開ポリシーがデータベースに登録される。一度設定を行うと、次回以降は前回の設定内容が予めフォームに設定された状態で画面が開かれるため、現在のポリシーがどのようになっているかを知ることができる。
公開ポリシーは検索を行う際に適用される。まず、データベースに対する検索要求を生成する段階で非公開のカテゴリーについては検索対象からはずされる。部分的に公開するものについては、検索の後に、返されたドキュメントから公開しない項目についてのノードが削除される。これらの過程を経て、検索結果が画面に表示される。図は「2003/10/21の全行動」という検索に図で示したポリシーを適用した際の結果である。IDが1,3,5の行動データはその他のカテゴリーに属するため、自動的に検索対象からはずされている。また、IDが2,7,8,11の行動データは食事というカテゴリーに属しており、公開ポリシーが「部分的に公開」で、行動の種類のみ見せるように設定されているため、詳細、場所、感想・メモについては見えなくなっている。
5 模範行動を用いた計画の自動生成
5.1 計画の自動生成の概要
行動を行う上で目標を持ち、それを達成するためにしっかりと計画を立てて取り組むことにより、日常の生活を規則正しく効率のよいものにすることができる。ここで、行動の道標となる計画が優れていればスムーズに行動に取り掛かることができ、その結果はよいものとなる。本研究では、ユーザーの目的を達成するための参考、または模範となるような一連の行動を過去の行動履歴の中から取り出し、それらを基にして優れた計画を自動的に生成する。
計画の自動生成は以下の手順で行われる。
-
ユーザーに支援を必要とする行動の種類と、模範行動、そしてそれを利用する期間を選択・決定させてデータベースに登録する。
-
模範行動と利用期間から、期間内に目的を達成するために行動に対して費やすべき合計時間と時間帯による行動の割合を算出してデータベースに登録する。
-
行動に対して費やすべき合計時間を期間内に達成できるように一日あたりの割り当て時間を計算して、データベースに登録された情報と共に携帯端末へ転送する。時間帯による行動の割合は、ユーザーの実際の行動の状況を加味して、現状を反映させたものを送る。
-
携帯端末において、一日あたりの割り当て時間、時間帯による行動の割合、既に実行された行動時間などを考慮して、行動を割り当てる時間帯を決定する。生成した計画は携帯端末の画面上に表示して、予定の時刻になると行動を促す。
-
以降、3と4を繰り返す。
次節で、計画の自動生成の各段階について詳細な説明を行う。
5.2 計画の自動生成の手法
5.2.1 模範行動と利用期間の決定
最適な計画を自動生成する上で、ユーザーは自分自身あるいは他者の行動履歴の中から模範行動を選択する。このとき、模範行動を選ぶ基準が必要となる。本研究では、行動を記録する際にユーザーが付与した行動に対する評価を、模範行動選択の基準のひとつとして利用する。
ある一定期間において、検索対象の行動の評価の値が全体的に高い場合、その行動が順調に進んだと考えることができる。逆に、評価の値が低ければ、その期間の行動は得られたものが少ないと考えられる。このように、評価の値を見ればその期間の行動が有効かどうか、ある程度判断することができる。このことから、評価の値を模範行動を選択する上での基準として採用した。
しかし、ユーザーの評価は主観的なデータであり人ごとに基準が異なる。したがって、自分自身の行動を参考にする場合はともかくとして、他者の行動履歴を利用する場合、必ずしも参考になるとは限らない。
そこで模範行動を選択する際のもうひとつの基準として、プロジェクトにおける達成度や試験の得点のような、ある一定期間行動を行った後に得られる客観的な成果に着目する。得られた成果が大きいということは、その行動の過程に優れた何か、たとえば時間の使い方や行動に取り組む状況、あるいは行動の内容など、を内在していると考えられる。そのような行動を参考・模範として行動に取り組めば、同様の成果を得ることができる可能性が高くなるはずである。これらのことから、本研究では行動の結果得られる成果をもうひとつの模範行動選択の基準として利用する。
本システムでは、行動の結果得られた成果をXMLを用いて以下のように記述する。これを成果XMLと呼ぶ。
<result name="ユーザー名"> <title>成果の内容</title> <span> <from>開始日</from> <to>終了日</to> </span> <object> <item type="対象項目の種類">対象項目名</object> </object> <score unit="単位">成果</score> <basis> <top>成果の上限</top> <bottom>成果の下限</bottom> </basis> </result>
spanタグの下のfromタグとtoタグは、その成果を得るために行動に取り組んだ期間の最初と最後の日付を保持する。objectタグは成果の対象を保持する。またobjectタグは属性として、成果の対象が行動のカテゴリー、種類、内容のどれであるかを示す値を持つ。
成果XMLはユーザーごとに管理され、検索対象の行動の種類および期間に応じて取り出されて利用される。
本システムでは、検索対象の行動に付けられた評価を一日ごとに平均して折れ線グラフで表し、行動履歴から得られる期間内の行動の時間分布に重ねてユーザーに提示する。それと同時に、行動の成果を取り込み、平均評価のグラフと一緒に重ね合わせて提示する。
本研究ではAcTrecのデータを収集するために、複数人の被験者にTOEICのための勉強をしてもらい、それをAcTrecで記録してもらった。また、その間に数回のTOEIC試験を実施した。図は、TOEICのための勉強に費やした時間と評価に、試験の得点の上昇率を成果として重ね合わせて表示したものである。
この例では、成果XMLは以下のように記述される。
<result name="yamane"> <title>TOEIC得点上昇率</title> <span> <from>20031031</from> <to>20031121</to> </span> <object> <item type="detail">TOEIC</object> </object> <score unit="%">15.5</score> <basis> <top>50</top> <bottom>-50</bottom> </basis> </result>
図中の青と赤の長方形が成果を表している。成果XML中のscoreタグに成果が保持されているが、その成果が下限から上限の範囲で5割より上であれば成果を青色で表現し、逆に5割を下回る場合は赤色で表現する。
このようなグラフから、ユーザーは参考にする価値があると思える一連の行動データを選択して模範行動を決定する。模範行動の決定は模範行動登録画面(図)で行う。この画面は検索結果の画面とは別に開くため、グラフを確認しながら模範行動を決定することができる。
画面には「参考対象」と「模範行動」について情報を入力する箇所がある。参考対象については、グラフ中のどのユーザーの、いつからいつまでの行動を参考にするか、という情報を入力する。
もう一方の模範行動については、自分が支援を必要とする行動に関する情報と、模範行動を利用する期間を入力する。この模範行動を利用する期間とは、たとえば支援を必要とする行動が試験勉強であれば今日から試験の前日までというような、支援を必要とし、尚且つその期間内に模範となる行動と同じだけ時間を費やす必要がある期間のことである。図は、行動の内容がTOEICである行動について2004/02/01から2004/02/20まで支援を必要とする場合の記入例である。
必要な情報をすべて入力した後に画面下の登録ボタンを押すことで、これらの情報はAcTrecサーバー内のXMLデータベースに保存される。保存の形式については次で述べる。
5.2.2 模範行動からの情報の取得
日常生活において目標を達成するためには、その目標の種類や目指すレベルに応じてそれ相応の時間を費やす必要がある。その費やすべき時間がどの程度なのかがわかれば、期間内および一日あたりにどの程度行動を促せばよいかを決定することができる。また、一日の中で行動が行われている割合が高い時間帯を知ることで、どの時間帯に優先的に行動を割り当てるのが適切かがわかる。したがって、計画の自動生成を行うためには次の3つの情報が必要となる。
-
期間内に行動に対して費やす合計時間
-
一日あたりに割り当てる平均時間
-
時間帯による行動の割合
これらの情報は、前節の方法で決定した模範行動とその利用期間から取得する。1つめの行動に費やす合計時間は、模範行動として選択した一連の行動データの総合計時間をそれに割り当てる。そして、その総合計時間を利用期間の日数で割った時間を2つめの一日あたりに割り当てる平均時間とする。3つめの時間帯による行動の割合は、模範とする行動からの特徴抽出により得られる時間帯ごとの行動の出現割合を採用する。
これらの情報のうち、一日あたりに割り当てる平均時間を除く2つは、模範行動とその利用期間が決定されると自動的に計算されて、模範行動とその利用期間と一緒にAcTrecサーバー内のXMLデータベースに保存される。その形式を以下に示す。このXMLを模範行動XMLと呼ぶ。
<model name="ユーザー名"> <span> <from>開始日</from> <to>終了日</to> </span> <object> <item type="対象項目の種類">対象項目名</object> </object> <time>期間内に行動に対して費やす合計時間</time> <distribution>時間帯による行動の割合</distribution> </model>
spanタグの下のfromタグとtoタグは、模範として利用する期間の最初と最後の日付を保持する。objectタグは支援を必要とする行動の名前を保持する。
5.2.3 登録情報の携帯端末への転送
計画の生成に必要な情報がすべてデータベースに登録された後、それらの情報と、一日あたりに割り当てる平均時間を携帯端末へ転送する。転送する情報は次の4つである。
-
支援する行動の種類
-
支援を必要とする期間
-
模範行動にユーザーの現状を加味した時間帯による行動の割合
-
一日あたりに割り当てる平均時間
一日あたりの割り当て時間は、目標時間を一定期間内に達成できるように、ユーザーが実際に行動した時間を考慮して決定される。
また、時間帯による行動の割合については、模範行動から取り出したものをそのまま送るのではなく、模範行動を参考にしたうえでユーザーが実際に行動に取り組んだときの行動の割合も加味したものを転送する。これは、模範行動の時間帯による割合のみを参考にして行動を割り当てる時間帯を決定した場合、ユーザーの行動パターンが著しく模範行動と合わないようなときに、行動を割り当てても実行されないということが起こりうるからである。
ただし、ユーザーの行動ばかりを優先してしまうと模範行動に基づいて計画を生成しても、最終的にはユーザーの行動パターンのみが計画に反映されるという状態になってしまう可能性がある。したがって、模範行動をベースにしながらユーザーの行動も絶妙に反映される状況が望ましい。本システムではユーザーが行動を終了する際に付与する評価を利用する。付与された評価が高い場合はその時間帯に行動に取り組むことは有意義であると考え、評価の値に比例して、模範行動から得られる時間帯による行動の割合に影響を与える。
情報を転送するタイミングに関して、理想としては携帯端末側で新たに行動が記録される度にその情報をサーバーに渡して現在ユーザーが置かれた状況を更新した後に再び携帯端末に必要な情報を転送するのが望ましい。しかしこのシステムを実際に使うにあたり、必ずしもユーザーがネットワークにつながる環境にいるとは限らないため、頻繁にサーバーとの通信を行うという仕組みは現実的ではない。そこで本システムでは、ユーザーが任意のタイミングで携帯端末内に蓄積された行動履歴データをAcTrecサーバーに転送する際に、同時に計画の生成に必要な情報を携帯端末に転送する。
5.2.4 計画の自動生成
携帯端末はAcTrecサーバーから計画の自動生成のために必要な情報を受け取り、本日の行動計画について生成処理を行う。その手順を以下に示す。
-
支援する行動について、一日あたりに割り当てる時間から本日既に実行された時間を引き、値が高い配列から順に時間分だけ選択する(図 (d))。
-
断続的な時間帯は必要に応じてつなげる、あるいは削るなどして細切れになっている部分を補完した後、連続する時間帯を行動に割り当てる時間とする。決定した行動計画は携帯端末の画面上に表示する(図)。
-
定期的に1から5を繰り返して再計算を行い、適切な行動計画を生成する。
一連の処理はすべて携帯端末内で行われ、外部からの情報を必要としない。したがって、AcTrecサーバーに接続できない環境においても計画の自動生成を行うことが可能である。
6 関連研究
6.1 人間モデリングのための生活行動ディジタルコンテンツ構築ソフトウェア
家庭やオフィスのような日常的な環境における人間の自然な生活行動を、長期間にわたって時空間的にシームレスに記録し、行動をキーとして体系的に検索するためのソフトウェアとして、生活行動のディジタルコンテンツ構築ソフトウェアが研究されている。これは生活行動をデジタルコンテンツ化するために、以下のものを実現している。
-
室内に配置した床振動センサー、超音波センサ等から人間の位置や環境の情報を計測し、どのような活動を行っているのかを認識する室内センサ情報に基づいた人間行動認識ソフトウェア
-
身体に取り付けた加速度センサー等によって人間の動作情報を集め、行動を認識する身体センサー情報に基づいた人間行動認識ソフトウェア
-
種類や性能の異なる様々な室内センサーと身体センサーより得られる人間・環境情報を、生データ、イベント以上の各レイヤに関連づけ蓄積する人間行動情報蓄積ソフトウェア
-
人間・環境イベント、時刻などの行動を特徴づけるものをキーとして、必要な行動情報を検索し、ユーザーが把握しやすいように表示する人間行動検索表示ソフトウェア
これらを利用することにより、日常行動より任意の区間、任意の種類のデータを切り出して蓄積し利用することが可能となる。この研究では人間の行動を認識するために環境設置型のセンサーの利用に加え、ユーザー自身にもセンサーを取り付ける。また、ユーザー側のセンサーが出すデータを受け取るための装置も設置する必要があるため、システムは大規模なものとなる。したがって構築の手間が大きく、日常生活のあらゆる場面で利用するというのは現実的に困難である。
それに対して本論文で提案するAcTrecシステムでは、ユーザー自身が意識的に記録をとる仕組みを採用している。これはユーザーに多少の負担を強いるが、システム構築の手間を最小限に抑えることができる。また、ユーザーが必要だと感じる情報を確実に記録できるという利点もある。
6.2 MyLifeBits
MyLifeBitsはMicrosoftが進めているプロジェクトで、撮った写真やホームビデオ、閲覧したWebページ、書き送った電子メール、かけた電話、支払った請求書など人々が見る・読む・聞く・書く情報をすべて収集し、検索可能なデータベースに収めることを目指している。
ブラウザで閲覧したページやアプリケーション画面などをすべてキャプチャすることにより電子的に手元に届くあらゆる情報を保存したり、 、ボイスレコーダにより日常の会話や電話での会話をキャプチャするなど、日常の中に散在するあらゆるデータソースから容易に情報を収集する方法の開発に取り組んでいる。しかし、収集したデータをどのように利用するのかについては具体的なアイデアは示されていない。
身の回りのあらゆる情報を収集しても、それらの情報に対する有効な利用方法が見出せなければ意味がない。したがって本研究では、すべての情報を収集するのではなく、個人の生活を支援するという目的のために本当に必要な情報だけを、使える形で収集する。
6.3 時系列イベントデータからの行動パターン発見
行動履歴からの特徴抽出について、時系列イベントデータからの行動パターンの発見に関する研究がなされている。
この研究は、歩数計から得た運動状況と行動履歴から得た活動状況の関係性を明らかにすることを目的としている。その中で行動データを時系列イベントデータとして蓄積する方法と、行動記録モデルを用いた行動パターン発見のためのデータ前処理手法、そして行動記録から個人行動グラフを生成する方法についての提案を行っている。
行動の記録は本研究と同様にPDAを用いている。PDAを用いる理由についても本研究と同様で、センサーによる行動のモニタリングはセンサーが有効な範囲でしか適用できない、またセンサーのみでは行動の意味までは推測することができない、という考えに基づいている。
またこの研究では、行動履歴中からの行動パターンの発見のために、時系列に並ぶ行動データの中から、(1)基本型、(2)回帰型、(3)ディジーチェイン型、(4)寄道型、(5)梯子型、という5つの独特の構造を見つけ出し、それを行動記録モデルとしている。そして、そのモデルを利用して行動パターンの発見を行っている。
行動記録モデルを作成して行動パターンを発見するというアプローチは、模範行動選択のために特徴抽出を行う際の手法のひとつとして本研究でも導入を検討していきたいと考えている。
7 まとめ
本研究は、個人の日常生活を効率的で質の高いものとするために、これから取り組む行動に対する目標の設定と、その目標を達成するための最適な計画の立案を支援することを目的としている。そして本論文では、その目的を実現するための仕組みである、模範行動と現在の状況を考慮した行動計画の自動生成を行う行動支援システムAcTrecを紹介した。
本研究では個人の過去の行動履歴を利用することで個人行動を支援する。AcTrecでは、ユーザーが持つ携帯端末上で動作する行動記録アプリケーションにより場所、時間、動作内容などの行動の状況、及びその行動に対する感想や評価、といった行動の文脈情報を記録する。
携帯端末で記録された文脈情報は任意のタイミングでAcTrecサーバーに送られてXMLデータベースに蓄積される。蓄積された行動履歴に対して、Webブラウザから検索を行うことができる。
検索結果に含まれる行動履歴に対し統計的な処理を行うことで、ユーザーにとって有益な情報を抽出する。本システムでは、(1)時間帯ごとの行動の出現割合、(2)期間内の行動の時間分布および合計・平均時間、(3)行動の遷移とその頻度、を取り出してグラフ化する。それにより行動履歴が持つ特徴を直感的に理解することができる。
時間帯ごとの行動の出現割合は、検索により得られた行動履歴について、それぞれの行動が1日の中のどの時間帯に行われたかを1分間隔で調べて、行動のカテゴリーごとに集計し、その結果を日数で正規化することで得られる。この特徴データから、検索対象の行動がどの時間帯に頻繁に現れるか知ることができる。
期間内の行動の時間分布は、その期間内に検索対象の行動に対して費やした時間を1日ごとに集計することにより得られる。この特徴データから、その行動に対してどの程度時間を費やしたかを中・長期的な視点から見ることができる。また、期間内の総合計時間および1日あたりの平均時間も一緒に表示する。これらは同様の行動をする際の具体的な目安になる。
行動の遷移とその頻度は、検索により得られた行動履歴について、それぞれの行動及び、その直前と直後の行動を取り出し、行動の種類ごとの出現回数と、ある行動から別の行動への遷移回数を集計して、行動を種類別に円で表し、行動間で遷移があるものを矢印で結ぶことにより得られる。遷移回数に比例して円同士の距離を短くすることにより、行動間の連続関係と同時にそのつながりの強さを表現する。
本研究では、個人が蓄積した行動履歴を本人のみに限らず、複数ユーザー間での共有・利用が可能なように拡張する。それにより、未知の経験や他者の優れた行動を模範行動として利用することが可能となる。
行動支援を行う上で、ユーザーは自分自身あるいは他者の行動履歴の中から模範行動を選択する必要がある。その際、ユーザーが行動に対して付与した評価の値と、ある一定期間行動を行った後に得られる成果を模範行動選択の指標として利用する。
ユーザーが模範行動とそれを利用する期間を決定すると、システムはユーザーが選択した模範行動から、期間内の合計時間、平均時間、および時間帯による行動の割合を取得する。そして計画を立てる際に行動を割り当てる時間帯を、行動の割合が高い時間帯から順に平均時間に達するまで選び出す。AcTrecではユーザーの時間帯による行動の割合も考慮して、行動計画を割り当てる時間帯を決定する。それにより最適な行動計画の自動生成を行う。
8 今後の課題
最後に、本研究の今後の課題と将来の展望について述べる。
8.1 行動の記録
行動の記録について、現段階では行動に取り掛かる際にユーザーが意図的に行動の開始を記録する仕組みを採用している。日常の様々な行動のうち、ユーザー自身が情報の選別を行い必要だと感じるものだけを記録するため、後の検索や特徴抽出を行う際の精度を高められるという利点がある。
しかしながら、日々の行動をすべて手作業で記録するのはユーザーにとって負担が大きく、AcTrecを普及させる際のネックとなる部分でもある。したがって、ユーザーの負担を軽減するための機能拡張を行っていく必要がある。
現在の機能の拡張で実現できることとしては、行動の遷移を利用して次に行われるであろう行動を予測して、いくつかの候補をユーザーに提示する、あるいは変更がなければ記録してしまうという方法が考えられる。これにより、行動記録の手間を省略することができる。
今後は、自動的に認識して記録できる情報については積極的に自動化していく。最近では、GPSやタグなどによる場所や状況の認識に関する研究(たとえば、, , など)が盛んに行われており、それらの研究成果を応用して利用することも検討している。このように、人間行動の自動認識の分野の様々な研究を統合することで、AcTrecを拡張することができる。
また、行動の種類ごとに個別の認識・記録の仕組みを取り入れることも検討していく。たとえば移動に関しては、情報的に強化された乗り物の研究が進んでいる。それから得られる情報をAcTrecに利用することも可能であろう。
ただし自動的に記録する場合でも、取れる情報はすべてとるのではなく、行動を支援する上で本当に必要な情報で、なおかつ記録したものが整理可能で確実に利用できる情報であることを見極めることが大切である。その上で、徐々に記録する情報を追加して広げていくことが望ましい。また、システムの拡張性やユーザーの機動性を制限するような自動化の手法は避ける必要がある。
8.2 行動履歴の検索と特徴抽出
本システムでは、検索により過去の行動履歴の中から情報を取り出すことが可能である。しかし、現在は個々の行動データを対象とした検索しか行えないため、1週間ごとの行動の集合を取り出したい、というように行動データの集合に対する検索は行うことができない。
そこでアノテーション技術を利用することを考える。アノテーションとはデジタルコンテンツに対してメタ的な情報を関連付けることである。本研究における行動データの集合をコンテンツと捉えて、アノテーションすることにより、行動データの集合をひとつの単位とした、より複雑な検索が行えるようになるかもしれない。ただし、アノテーションによる拡張に対応させるためには、検索結果や特徴グラフの見せ方も現在の枠組みでは不十分であるため、そのあたりも含めて拡張の方法を考えていきたい。
行動履歴からの特徴抽出に関しては、今後さらに取り出す特徴データを増加させていく予定である。たとえば、時間帯ごとの行動の出現割合について、行動の立ち上がりを別に記録することで、行動が実行される時間帯を知ることができる。その特徴データと行動の遷移頻度を組み合わせることで、行動の記録を自動化するにあたり行動を促すタイミングの精度を高めることができる。他にも滞在時間を考慮した行動パターンの抽出や、時系列データからの知識の発見など、既存の研究についても参考にしていきたい。
また将来的には、検索・特徴抽出を行うことで、行動の推移や時間の使い方といった表層的な特徴だけでなく、行動の本質を見つけ出してモデル化したいと考えている。
もしそれが実現できれば、得られた行動のモデルをアノテーションにより再び行動データに関連付けることで、ストリングマッチ検索を超える、高度で柔軟な検索ができるようになるかもしれない。そのために、データマイニングの分野で適用可能な手法について調査していく必要がある。
8.3 行動履歴の共有
行動データの共有を行う際、現在の仕組みではAcTrecに登録されているすべてのユーザーに対して検索を行っている。しかし、これは登録ユーザー数に比例してコストが増加するため、賢い方法とは言えない。そのため、登録ユーザーをグループ化し、検索対象とするユーザーを限定することを検討している。これはコストの問題と同時に、見ず知らずの人から自分の行動を検索される、という問題も解決できる。
プライバシーの問題に関して、現在は公開のポリシーをカテゴリー単位でしか設定することができないが、これでは柔軟性にかける。したがって、公開・非公開の設定を行動の種類や場所ごと、あるいはグループや個人ごとに細かく決められるように変更する必要がある。
また行動データの表現方法はユーザーによってばらつきがあるため、他者の行動履歴から自分が必要とする情報を検索により取り出そうとしても上手に探し出せない可能性がある。したがって、行動データの粒度を適切に変化させるなどの工夫をして、他者の行動履歴に対しても柔軟に検索を行えるような仕組みを導入する必要がある。
8.4 模範行動の選択
模範行動選択の手がかりとなる成果について、現在はプロジェクトの達成度や試験の得点など、行動の結果得られる成果を時間分布のグラフに重ねて表示しているが、今後は本章の2節でも述べたアノテーションを利用することも考えている。
一連の行動データに対して、その行動が模範行動として有効かどうかをアノテーションしてやることで、模範行動を選択する際の手がかりとすることができる。
また、同じく2節で述べた行動のモデル化が実現できれば、より柔軟に模範行動を選択できるようになるかもしれない。
また現在は手作業で成果XMLを作成しているが、将来的には、様々な形式で記述された成果に関するデータを、本システムで適用できる形式に変換する仕組みを実装する予定である。
8.5 計画の自動生成
現段階では、計画を自動的に生成するにあたり、模範行動から抽出した特徴データのうち、「時間帯ごとの行動の出現頻度」と「期間内の行動の時間分布および合計・平均時間」の2つしか利用していない。
ここで「行動の遷移とその頻度」から、ユーザーが支援を必要とする行動が行われるであろう状況を知ることができる。支援を必要とする行動をAとするとき、ある行動Bが行われた後には、高い確率でAが行われる、ということがわかっていれば、本来なら行動を割り当てる時間帯ではなくても、計画を変更して優先的に行動を促すということができる。
このことを利用すれば、時間帯だけでなく、状況的にも最適な行動計画の立案が可能となる。
また、生成した計画について、実際にそれに従って行動が行われたかどうかを調査して今後の計画の生成にフィードバックする方法についても考えるべきである。計画に従って行動が行われた場合と、そうでない場合の両方について、その時間帯や前後の行動の遷移状態、あるいは場所情報などを記録して、その関連性を分析してやることで、行動の本質が見出せるかもしれない。
現在はネットワーク環境の都合上、計画の自動生成は携帯端末側で処理を行っているため、あまり大規模な計算を必要とするような処理は行えない。しかし、最近では街中でもホットスポットといったネットワークに接続できる空間が現れている。将来的に、サーバーと常に通信が確立できる環境が整えば、より高度なアドバイスが実現可能となるだろう。
8.6 個人行動支援のその他の方法
本研究では個人行動支援のひとつとして、過去の行動履歴を用いた行動計画の自動生成に取り組んだ。ここで、個人の行動履歴を利用することにより、他にも様々な行動支援の方法が考えられる。
その一例として、記憶の想起が考えられる。記憶の想起については様々な研究がなされており、Webページからの記憶の想起や、実空間中の物体からの記憶の想起などがある。ここで本研究の行動記録、検索及び特徴抽出の技術を拡張して利用することで、個人の日常生活の行動からの記憶の想起が行えるかもしれない。行動を記録する際、その行動が行われた状況を記録すると同時に、その行動を再利用する上で有益な情報を付加する。そしてユーザーが同様な状況に遭遇したときに、以前に付加された情報を提示することで記憶を想起して、ユーザーの行動を支援する。
また知識共有の仕組みの拡張による、グループウェアのような複数人を対象とした行動支援も考えられる。研究プロジェクトのような、ひとつの目的に対して複数人で取り組む共同作業では、自分以外のメンバーの進捗や現在の状況を知ることが大切である。それを知った上で自分の作業を進めたり、協力して作業を行うことで、自分自身の作業効率、そしてプロジェクト全体の効率を高めることができる。本研究では行動を記録することによりシステムが個人の置かれた状況を理解する。その情報をプロジェクトのメンバー間で共有することにより、他者の行動や状況を考慮した最適な行動計画の立案や、行動の催促が可能となるだろう。
その他にも、人間の行動に関する多岐にわたる研究分野で、AcTrecの応用が考えられる。
謝辞
本研究を行うにあたり日頃御指導を賜わった、 長尾確 教授、大平茂輝 助手には研究の基礎的な考え方から論文指導など様々な面でお世話になりました。御礼申し上げます。
長尾研究室秘書の兼松英代さんには学生生活ならびに研究活動のための様々なサポートをいただきました。また、長尾研究室の皆様には本研究を進めるにあたり有益な議論と様々な励ましを頂きました。この場を借りて御礼申し上げます。