説明

操作予測装置及び操作予測方法

【課題】 ユーザのソフトウェア(システム)の実際の操作履歴と、システム開発者が想定するシステムの使用例とのマッチングを行って、実操作履歴を最もよく表現しているユースケースを決定し、それを元にユーザのシステム利用目的を推定と、次にとる操作を決定する。
【解決手段】 ユーザの利用目的に応じて、アプリケーションの機能を満たすための操作履歴を、状態または遷移の情報を含むモデル要素及びその組み合わせであるユースケースのデータベースから複数のユースケース候補と、アプリケーションから次操作の予測の要求であるサービス要求に基づく依頼信号に基づいて、逐次入力されるユーザ操作から依頼時点での操作実績パスである依頼時実績パスと、を取得し、依頼時実績パスと複数のユースケース候補とから依頼時操作実績パスとの適合度を算出し、最も適合度の高いユースケース候補を予測結果として出力することとした。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ユーザのシステム利用目的を推定し、次操作を予測して、ユーザへのガイダンス表示等に利用する操作予測装置及び操作予測方法に関するものである。
【背景技術】
【0002】
近年のソフトウェア/システム開発では、上流設計において、そのシステムのターゲットとするユーザが、どのようにシステムを使用するのかについて検討する「ユースケース分析」フェーズがある。このフェーズでは、ユーザのシステムの使い方(ユースケース)を作成している。この分析結果はシステムの機能構成の設計に用いられている。つまり最終的に開発されるシステムは、この分析フェーズで挙げられたユースケースを実施するのに最適な機能構成となっているはずであり、各ユースケースは、実際に完成したシステムを利用する上で、最も効率的な利用手順を表していると考えることができる。従って、実際にユーザがシステムを利用している際に、ユーザがどのような目的で(何が行いたくて)操作をしているのかが判り、それを表したユースケースに従ってユーザを誘導すれば、そのシステムにとって最も効率の良い手順で、ユーザがシステムに望んでいる作業を実施させることが可能となる。
【0003】
以下、ユーザどのような目的で(何が行いたくて)操作をしているのかを推定する手法の従来例について示す。
【0004】
ネットショッピング等で広く利用されている商品レコメンダシステムは、不特定多数のユーザが利用するシステムである点を生かした技術である。レコメンダシステムでは、例えばあるユーザがネットショッピングサイトにていつかの商品の詳細を表示させると、「この商品を選択したユーザはこれらの商品も選択しています」というように、推薦商品を提示する。レコメンダシステムでは、操作予測を行いたい対象ユーザと同様な嗜好を持つ、他ユーザを過去のユーザ履歴データベースより抽出して、その同様な嗜好を持つ他ユーザの操作実績を元に、対象ユーザの操作・選択項目予測をして、操作や選択項目の提示を行っている。
【0005】
しかし、レコメンダシステムにおいては、ユーザの利用目的自体を推定するのではなく、他ユーザの過去の操作実績が格納された知識ベースによりユーザを嗜好別に分類し、その典型例を基準に推薦項目を決定している。このため、Webブラウジングやネットショッピングのように、根本的にユーザの思いのままに自由に操作や商品選択ができる場合には有用だが、ある目的を持ったシステムの場合、そのシステムの正しい使用手順がユーザに的確に伝わらないと、通常は使い勝手が低下する。このため、ある目的を持ち、システムがその目的を実現するための最良の方法が存在する場合(正解がある場合)は、レコメンダシステムのような、統計的な手法だけでは正確な答えを得られる保証はなく、あらかじめシステム設計者などが最良の方法をシステムに保持させておく必要がある。
【0006】
また、レコメンダシステムでは、既に他ユーザの操作実績が知識ベースとして保持されていないと、対象ユーザの推奨項目を提示できない。つまり、基本的に不特定多数のユーザが利用するシステムに限られてしまう点が問題点として挙げられる。このため、スタンドアローンシステムでの実装は難しいという問題もある。
【0007】
一方、一連の機能から成り、ある程度決まった操作手順が存在する作業を実行するシステムには、その複雑な操作手順を、ユーザにとって簡単に実行できるように支援する技術としてウィザード機能がある。ウィザード機能では、ユーザは最初に利用目的を明示的に選択し、システムはあらかじめ用意された利用目的別の作業順序に従って、ユーザに必要な内容を問い合わせながら、一連の機能を実行していく。ウィザード機能は、例えば、複数ファイルを圧縮して自動解凍実行可能ファイル形式で保存する作業や、ハードウェアのパラメータ設定ソフトウェアにおいて、ハードウェアと通信するための各種設定を行う際に用いられる。
【0008】
しかし、ウィザード機能は、ユーザにいくつかの選択肢は与えるものの、ほぼ決まった一連の操作にしか適用できないという問題がある。また通常はウィザード上の操作しかできなくなる(モーダルダイアログで実装される)ことが多いため、ウィザード機能実行中にユーザがウィザードを一時中断して他の作業を行うことはできず、ユーザ操作の自由度を狭めてしまうという問題もある。
【0009】
システムを利用するユーザの利用目的を推定し、次の推奨操作を提示することを目的とする先行技術として、表示機器等の設定メニューに対するユーザ操作実績からベイズ定理を用いてユーザの意図を推定し、ユーザの次の推奨操作を表示するものがある(例えば、特許文献1参照)。
【0010】
この文献によると、まずn個の操作目的Hr(r=1...n)を設定し、ユーザがある操作目的Hrで各機能項目Ds(s=1...m)を操作する確率を示す事前確率P(Hr)をあらかじめ決定してシステムに記憶させておく。また操作目的Hrごとに、その推奨操作もシステムに記憶させておく。実際のユーザが機能項目Dsを選択するごとに、ベイズ定理を用い、操作目的Hrのために各機能項目Dsが選択される条件付確率P(Ds|Hr)と事前確率P(Hr)に基づいて、事後確率P(Hr|Ds)を算出する。これを繰返し、事後確率P(Hr)があらかじめ決められた閾値を越えた場合に、Hrを推定操作目的として推定し、その操作目的から推奨操作をユーザに提示できるとしている。
【0011】
一方、階層構造を持つメニューの操作履歴から、ユーザが所望する具体的な機能を推定することを目的とする技術がある(例えば、特許文献2参照)。
【0012】
この文献によると、まずシステムの持つ各機能へ至るための、ユーザによるメニュー選択操作列を定義し、ユーザの実操作で得た誤操作例と、各ケースにおける正解操作列とを関連付けたものを、知識ベースとしてあらかじめシステムに格納しておくことにより、実使用時にユーザが誤操作しても、正解操作列から、ユーザに操作手順を提示できるとしている。
【先行技術文献】
【特許文献】
【0013】
【特許文献1】特開2006−313454号公報
【特許文献2】特開2008−146455号公報
【発明の概要】
【発明が解決しようとする課題】
【0014】
特許文献1では、ベイズ推定を用いるため、少なくとも各操作目的Hr(r=1...n)ごと、各機能項目Ds(s=1...m)ごと、つまりn×m個の事前確率P(Hr)をあらかじめ用意しておく必要がある。表示装置の設定メニューや家電製品などの場合は、システムが提供する機能mが比較的少ないため、事前確率決定が比較的容易だが、一般的な多機能なソフトウェアやシステムの場合は、この数の確率をあらかじめ用意しておくことは現実的でない。
【0015】
さらにベイズ定理を用いた推定の精度は、事前確率と条件付確率P(Ds|Hr)のみに依存するため、この事前確率がある程度正確でなければ、有用な推定が行えない。このため、システムの実運用の前に、試使用を繰返すなどして、あらかじめ適当な精度を持つ事前確率を確定しておく必要があり、準備工数がかかるという問題もある。
【0016】
また、推定操作目的を特定した後に推奨操作を提示するとしているが、一般的なソフトウェアの場合は、作業を行う際の操作の順序が複雑であることが多く、このユーザに的確な操作手順を提示することが重要となるため、この推奨操作の順序を明示的に定義できるような仕組みが必要である。
【0017】
特許文献2では、ユーザが、システムによって提供される特定の機能を意識して、これを探していることが前提となっており、ユーザの目的は単一の機能の実行である。このため、システムの提供する複数の機能間の関係について、ユーザの操作を予測することができないという問題がある。
【0018】
携帯電話のシステムを例とすると、特許文献2が提供できるのは、受信したメールを閲覧するために、ユーザがメニュー階層を試行錯誤している状況を感知して、その操作履歴から受信したメール閲覧がユーザの目的機能であると推定し、メール閲覧機能を実行するまでの操作をサポートすることである。システムはメール閲覧中に、やがてメール閲覧を終えたユーザが、そのメールに対して返信メールを編集することを予測することはできない。
【0019】
この発明は上記のような問題点を解決するためになされたものであり、ある時点までのユーザのソフトウェア(システム)の実際の操作履歴と、システム開発者が想定するシステムの使用例が表現されたユースケースとのマッチングを行って、実操作履歴を最もよく表現しているユースケースを決定するとともに、そのユースケースを元にユーザのシステム利用目的を推定し、推定されたユーザのシステム利用目的を元に、ユースケースに従って、ユーザが次にとる「べき」操作(同時にユーザが次にとる「であろう」操作)を決定することを目的とする。
【課題を解決するための手段】
【0020】
本発明は、アプリケーションに対するユーザの利用目的に応じて、前記アプリケーションの機能を満たすための操作履歴を、状態または遷移の情報を含むモデル要素及びその組み合わせであるユースケースとし、前記ユースケースを複数蓄積したデータベースであるユースケース知識ベースと、前記アプリケーションに対するユーザ操作であるUIリソースと、前記モデル要素との対応を示すデータベースであるUIリソース−モデル要素対応表と、逐次入力される前記ユーザ操作から前記UIリソース−モデル要素対応表を用いて前記モデル要素を取得し、前記モデル要素の時系列の履歴である操作実績パスを生成して出力する操作実績変換部と、前記操作実績変換部から入力された前記操作実績パスを格納する操作履歴ベースと、依頼信号に基づいて、依頼時点での前記操作実績パスである依頼時実績パスを前記操作履歴ベースから取得するとともに、前記依頼信号の内容である操作目的別に応じて、前記ユースケース知識ベースからユースケース候補を取得し、依頼時実績パスとすべてユースケース候補とから依頼時操作実績パスとの適合度を算出し、推定されるユーザのシステム利用目的と次操作の予測とを含む予測結果を出力するユースケース候補適合度算出部と、前記アプリケーションから次操作の予測の要求であるサービス要求を解釈して、前記サービス内容に従ってユースケース候補適合度算出部へ前記依頼信号を出力するとともに、前記予測結果から、前記UIリソース−モデル要素対応表を用いて前記アプリケーションのUIリソースに対する操作形式に変換し、アプリケーション形式予測結果として前記アプリケーションへ出力するインターフェースと、を備えたことを特徴とするものである。
【発明の効果】
【0021】
本発明によれば、アプリケーションに対するユーザの利用目的に応じて、前記アプリケーションの機能を満たすための操作履歴を、状態または遷移の情報を含むモデル要素及びその組み合わせであるユースケースとし、前記ユースケースを複数蓄積したデータベースであるユースケース知識ベースと、前記アプリケーションに対するユーザ操作であるUIリソースと、前記モデル要素との対応を示すデータベースであるUIリソース−モデル要素対応表と、逐次入力される前記ユーザ操作から前記UIリソース−モデル要素対応表を用いて前記モデル要素を取得し、前記モデル要素の時系列の履歴である操作実績パスを生成して出力する操作実績変換部と、前記操作実績変換部から入力された前記操作実績パスを格納する操作履歴ベースと、依頼信号に基づいて、依頼時点での前記操作実績パスである依頼時実績パスを前記操作履歴ベースから取得するとともに、前記依頼信号の内容である操作目的別に応じて、前記ユースケース知識ベースからユースケース候補を取得し、依頼時実績パスとすべてユースケース候補とから依頼時操作実績パスとの適合度を算出し、推定されるユーザのシステム利用目的と次操作の予測とを含む予測結果を出力するユースケース候補適合度算出部と、前記アプリケーションから次操作の予測の要求であるサービス要求を解釈して、前記サービス内容に従ってユースケース候補適合度算出部へ前記依頼信号を出力するとともに、前記予測結果から、前記UIリソース−モデル要素対応表を用いて前記アプリケーションのUIリソースに対する操作形式に変換し、アプリケーション形式予測結果として前記アプリケーションへ出力するインターフェースと、を備えたので、ユーザのソフトウェア(システム)の実際の操作履歴と、システム開発者が想定するシステムの使用例が表現されたユースケースとのマッチングを行って、実操作履歴を最もよく表現しているユースケースを決定するとともに、そのユースケースを元にユーザのシステム利用目的を推定し、推定されたユーザのシステム利用目的を元に、ユースケースに従って、ユーザが次にとる「べき」操作(同時にユーザが次にとる「であろう」操作)を決定することができる。
【図面の簡単な説明】
【0022】
【図1】実施の形態1における操作予測装置の構成図。
【図2】実施の形態1におけるUIリソース−モデル要素対応表103の例。
【図3】実施の形態1におけるユースケース知識ベース105に格納されるユースケース候補の例。
【図4】実施の形態1における図5の状態遷移図500のモデル要素である状態と遷移を表に列挙したモデル要素一覧表である。
【図5】実施の形態1におけるwindows上でテキストファイルの編集とファイルへのシリアライズが可能なアプリケーションの状態遷移グラフ空間500の例。
【図6】実施の形態1における図3におけるユースケース候補300「新規ドキュメント編集保存」のグラフ構造を簡略化した図。
【図7】実施の形態1における図3及び図4に基づいたユースケース候補「既存ファイル編集更新」のグラフ構造図。
【図8】実施の形態1における図3及び図4に基づいたユースケース候補「既存ファイル編集コピー保存」のグラフ構造図。
【図9】実施の形態1における図5における状態遷移図500の振舞いを持つアプリケーション101に対してユーザが行った操作履歴の例を示す図。
【図10】実施の形態1における図9の操作履歴から作成した状態遷移のグラフ構造図。
【図11】図10におけるグラフ構造図を基に、操作実績パス1000の最新からの道の長さとユースケース候補600,700,800ごとに計算した適合度を示す図。
【発明を実施するための形態】
【0023】
実施の形態1.
実施の形態1では、ユースケースを用いてユーザのシステム利用目的を推定し、次操作を予測して、ユーザへのガイダンス表示等に利用する操作予測装置について説明する。
【0024】
図1は、実施の形態1における操作予測装置の構成図である。
【0025】
まず、操作予測装置は、ユーザのシステム利用目的を推定し、次操作を予測する操作予測ユニット100と、例えばwindows上で動作するソフトウェアや、あるいは制御システムを制御するソフトウェアなどの、操作項目を推定する対象となるアプリケーション101とから構成されている。
【0026】
また、アプリケーション101は、ユーザインタフェース部108と連動しており、ユーザが、ユーザインタフェース部108を通じてアプリケーション101に対して操作を行う入力情報を操作予測ユニット100に送ると共に、入力情報の履歴から得られた操作予測ユニット100からのアプリケーション形式予測結果129をユーザインタフェース部108を通じて表示する。
【0027】
次操作を予測する操作予測ユニット100の構成について説明する。
操作予測ユニット100は、インタフェース部102、UIリソース−モデル要素対応表103、操作実績変換部104、ユースケース知識ベース105、ユースケース候補適合度算出部106、操作履歴ベース107から構成されている。
【0028】
操作実績変換部104は、アプリケーション101から、アプリケーション101そのものの操作開始を知らせる機能開始トリガ122を受けとった後、アプリケーション101を通じて、ユーザインタフェース部108に入力されるアプリケーション101に対するユーザ操作130の取得を開始する。
【0029】
また、操作実績変換部104は、ユーザインタフェース部108に逐次入力されるユーザ操作130を逐次受け取り、操作予測ユニット100で後に、解析に利用する操作実績パス126を作成するために、各ユーザ操作130に使用されたUIリソースを、UIリソース−モデル要素対応表103を用いて、各ユーザ操作130に使用されたUIリソースに対応する各モデル要素124を取得し、各モデル要素124の履歴に相当する操作実績パス126を生成してそれを格納するため、操作履歴ベース107へ送信する。
【0030】
UIリソース−モデル要素対応表103は、アプリケーション101のユーザインタフェース部108に入力されるユーザ操作130と、操作予測ユニット100がユースケース知識ベース105や操作履歴ベース107に用いる、システム全体の振舞いを表すグラフ空間を構成するモデル要素124(グラフ要素)との間の変換テーブルである。このテーブルは、操作実績変換部104が、アプリケーション101のユーザインタフェース部108に対して行われたユーザ操作130を、操作予測ユニット100で使用するモデル要素124へ変換する際に用いられる。また、操作予測ユニット100が導き出した、ユーザのシステム利用目的や次操作の予測結果を、アプリケーション101で解釈できるUIリソースに対応する操作形式123に逆変換する際にも用いられる。上記変換テーブルについては後述する。
【0031】
操作履歴ベース107は、操作実績変換部104から渡された、モデル要素124を時系列で連結した操作実績パス126を内部に格納しておく。この操作実績パス126はユースケース候補適合度算出部106によって、ユースケース候補を選出する際に利用される。
【0032】
インタフェース部102は、アプリケーション101から、次操作の予測の要求であるサービス要求121を解釈し、サービス要求121の内容に従ってユースケース適合度算出部106を制御するための依頼信号125をユースケース適合度算出部106に送信する。
【0033】
ユースケース候補適合度算出部106は、インタフェース部102からの依頼信号125を受けて、依頼時点での、操作履歴ベース107に格納されているモデル要素を時系列で連結した、依頼時操作実績パス128を取得する。一方で、あらかじめユースケース知識ベース105に格納されている、アプリケーション101の操作目的別に表現されたユースケース候補127を取得し、それぞれのユースケースについて、依頼時操作実績パス128との適合度を算出する。
【0034】
ユースケース知識ベース105は、ユースケース候補適合度算出部106によって操作履歴ベース107との適合度を算出するためのユースケース候補127が格納される知識ベースである。ユースケース知識ベース105は、アプリケーション101を開発する際の上流設計で行われるユースケース分析フェーズで挙げられたアプリケーション101のユーザの利用目的に応じて、アプリケーション101の機能を満たすための操作履歴(ユースケース)を格納している。
【0035】
その結果、依頼時操作実績パス128の操作履歴そのものを最もよく説明しているユースケース候補127を選出して、「推定されるユーザのシステム利用目的」として、予測結果131に含めてインタフェース部102へ返す。
【0036】
また、操作履歴ベース107から取得した依頼時操作実績パス128から、アプリケーション101の状態を把握して、依頼時操作実績パス128最もよく説明しているユースケース候補127を辿って、次に遷移する内容と遷移先の情報を「次操作の予測」として、予測結果131に含めてインタフェース部102へ返す。詳細については後述する。
【0037】
インタフェース部102はまた、ユースケース適合度算出部106によって導き出されたユーザのシステム利用目的や次操作に関する予測結果131を、アプリケーション101に理解できる形で返すため、UIリソース−モデル要素対応表103で、モデル要素124の表現形式である次操作をUIリソースに対する操作形式123の形に変換し、アプリケーション形式予測結果129としてアプリケーション101に返却する。
【0038】
次に、UIリソース−モデル要素対応表103の詳細について説明する。
図2は、UIリソース−モデル要素対応表103の例を示したものである。
【0039】
201,203,204列は、アプリケーション101のユーザインタフェース部108に入力されるUIリソースの情報を表している。このうち実装が必要なのは204列のIDのみで、他は便宜上記したものであって、表200内にはなくともよい。このIDは、例えばwindowsアプリケーションであれば、アプリケーション開発プロジェクトにリソースIDとして定義されているものや、キーボードからの入力コードなど、アプリケーションが持つ入力UIの種類を特定するIDである。
【0040】
一方の205列と206列は、UIリソースの情報に対応させた、操作履歴ベース107やユースケース知識ベース105に格納される部分グラフを構成するモデル要素124を示している。尚、これらは後述する図4のモデル要素一覧表400のうち、抽象レベルが1であるものである。
【0041】
207列は、各モデル要素の種別を示し、「状態」か「遷移」を表すものである。
【0042】
また、204列最下行の(編集操作キー入力)のように、UIリソースIDからモデル要素IDへの対応は一意である必要があるが、204列最下行の(編集操作キー入力)のように、モデル要素IDからUIリソースIDへの対応は一意である必要はない。実際にアプリケーションを操作する際には、204列に列挙したUIリソースID以外の操作も数多く行われる。例えば「開く」ダイアログ上で行われる実際のユーザ操作は「開く」ボタン押下以外にもあるが、それらは、ユースケース知識ベース105内に定義されているユースケース群の中で定義されていないため、UIリソース−モデル要素対応表103の対象とはならない。
【0043】
ユースケース知識ベース105に格納されるユースケース候補は、アプリケーション101の開発の上流設計で用意できる内容であるが、UIリソース−モデル要素対応表103は、アプリケーション101が完成し、そこで使用されるUIリソースIDが確定されてから作成する必要がある。
【0044】
以下に、状態遷移図で表現されるアプリケーション101に、本特許の操作予測ユニット100を適用する際、操作予測ユニット100を実現する上であらかじめ用意されている必要がある2つの静的データ、ユースケース知識ベース105、UIリソースモデル要素対応表103について説明する。
【0045】
図5は、windows上でテキストファイルの編集とファイルへのシリアライズが可能なアプリケーションの状態遷移グラフ空間500の例である。なお、この状態遷移グラフ空間500の全体図は、アプリケーション101が操作予測ユニット100のサービスを利用する際に、操作履歴ベース107に格納されていてもよいが、必ずしも用意されている必要はない。
【0046】
図4は、図5の状態遷移図500のモデル要素である状態と遷移を表に列挙したモデル要素一覧表400である。ユースケース知識ベース105にユースケースを格納する時は、同時に、ユースケースで使用しているモデル要素の一覧表を定義しておく必要がある。
【0047】
モデル要素一覧表400のパラメータについて説明する。モデル要素は、列401に示した「状態」411と「遷移」412に分けられる。状態は状態遷移グラフ空間500でいうノード、遷移はエッジにあたる。
【0048】
列402に示したモデル要素IDはUIリソース−モデル要素対応表103で参照されるIDである。このIDはモデル内で一意に定義される必要がある。403列の抽象レベルは、ユースケースが多重定義される際に意味を持つ値で、UIリソース−モデル要素対応表103で参照されるIDは全て抽象レベルが1、つまりユースケースで使用されるモデル要素の抽象度としては最低値とする。404列は便宜上付けた列で、実際に操作予測ユニット100を実現する際にはなくても良い。
【0049】
図3は、ユースケース知識ベース105に格納されるユースケース候補の例を示したものである。ユースケース300において、太線、太字、太枠にて示されているものは、図5の状態遷移図500に示したアプリケーション101における「新規ドキュメント編集保存」のユースケースの例である。前述したようにこのユースケースは、アプリケーション開発の上流設計過程において、開発者が想定ユーザの典型的な使用方法を記述したものである。このユースケースでは、ユーザの利用目的として「ドキュメントを新規作成して編集して名前を付けてファイルへ保存する」という一連の操作の流れを定義している。以降、順に説明する。
【0050】
図3において、まずアプリケーションが起動された状態では編集ウィンドウの編集なし・保存履歴なしの状態(A)301である。ここで「新規作成」操作を行うと、4アプリケーション側では新しいドキュメントが生成される323。しかしユーザ操作上の状態遷移は行われず、状態は編集ウィンドウの編集なし・保存履歴なしの状態301のままである。それから5ドキュメントに対する編集作業320を行うと、編集の結果、状態は、編集ウィンドウの編集なし・保存履歴なしの状態(A)301から、編集ウィンドウの編集あり・保存履歴なしの状態(C)303へ遷移する。その後に2ドキュメントをファイルへ保存するために「名前を付けて保存」操作315を行うと、「名前を付けて保存」ダイアログが表示され、状態も「名前を付けて保存」ダイアログ(G)307へ遷移する。最後に9「名前を付けて保存」ダイアログ内で「保存」ボタンが押下される314と、ダイアログを抜けて、編集ウィンドウの編集なし・保存履歴ありの状態(B)302へ遷移する。
【0051】
このようにして「新規ドキュメント編集保存」のユースケースは、A→4→A→5→C→2→G→9→Bと表すことができる。このため、ユースケース知識ベース105には、図3の太線、太字、太枠にて示されているグラフ構造が表現できる形でユースケース候補が格納されていれば良く、その一例としては、モデル要素一覧表400の種別401、モデル要素ID402及び記号405と具体的なユースケース候補を表現したシーケンス「A→4→A→5→C→2→G→9→B」などとなる。
【0052】
以下、動作について図1に基づいて説明する。
まず、アプリケーション101の起動後の任意のタイミングで、アプリケーション101は、機能開始トリガ122を操作実績変換部104へ送る。このタイミングは、アプリケーション起動直後でなくても良いが、アプリケーションがユーザのアプリケーション利用目的と次操作予測結果を必要とする時点よりも前に行う。操作実績変換部104はこのトリガによって、アプリケーション101内にあるユーザインタフェース108に入力されるユーザの操作から、そのリソースIDを含むユーザ操作130の情報を取得して、逐次、その操作実績をモデル要素124へ変換する。この際に、操作実績変換部104はリソースIDと対応するモデル要素124を得るために、UIリソース−モデル対応表103を参照する。
モデル要素124に変換された結果は、操作実績パス126として操作履歴ベース107へ格納される。
【0053】
操作実績変換部104が、アプリケーション101に対するユーザ操作130を、逐次、モデル要素124へ変換し、操作履歴ベース107へ格納していく。操作履歴ベース107では、操作実績変換部104から送られ、ユーザ操作130から変換された操作実績パス126の個々の断片を時系列で接続し、依頼時操作実績パス128を作成する。
【0054】
以上の状態が続いて、操作履歴ベース107内にある程度の長さの依頼時操作実績パス128ができあがった後に、アプリケーション101が、ユーザのアプリケーション操作目的を知りたいタイミングや、ユーザの次操作予測を行いたいタイミングで、インタフェース部102へサービス要求121を発信する。インタフェース部102は要求の内容を解釈して、ユースケース候補適合度算出部106へ機能の実行を指示する依頼信号125を送信する。
【0055】
これを受けて、ユースケース候補適合度算出部106は、まず、その時点での操作履歴ベース107に格納されている依頼時操作実績パス128を取り出す。そして、その依頼時操作実績パス128を基準として、ユースケース知識ベース105内にある全てのユースケース候補127を対象として、適合度を計算していく。
【0056】
次にユースケース適合度算出部106によって、ユースケース知識ベース105内のユースケース候補それぞれについて、操作履歴ベース107の実績パスとどの程度合致しているかを表す適合度が計算される。
【0057】
以下は、ユースケース適合度算出部106内で行う適合度の計算過程について説明する。
【0058】
まず操作履歴ベース107から取得した依頼時操作実績パス128を解釈し、最初のステップでは、依頼時操作実績パス128中の最新のモデル要素124から過去に遡って長さ1の道、すなわち「状態」−「遷移」−「状態」を含むモデル要素124の履歴について、全てのユースケース候補127との適合度を計算する。図3にて説明した状態遷移図の場合だと、「G→9→B」の部分に相当する。
【0059】
次にもう一つ遡って、実績パスの最新のモデル要素から長さ2の道について適合度を計算する。すなわち、「状態」−「遷移」−「状態」−「遷移」−「状態」を含むモデル要素124の履歴であり、図3の場合だと、「C→2→G→9→B」の部分に相当する。
【0060】
更に、と1つずつ「遷移」を過去に遡り、それぞれについて、ユースケース知識ベース105内のユースケース候補の適合度を算出しておく。
【0061】
いくつ前の履歴まで遡るかについては、予め定義された長さとしてもよいし、アプリケーション101から機能開始トリガ122が送られた時からとしてもよい。またアプリケーション101からインタフェースに送られるサービス要求時のパラメータとしてもよい。
【0062】
ユーザの操作実績とユーザの目的を考えると、現時点のユーザの目的は、一般的に過去の操作のうち、その時間軸的な距離が近いものに大きな影響を与えると考えられる。従って、先に計算しておいた、長さ1,2,3...の実績パスの部分グラフのそれぞれについて、長さが短い道に対する適合度については大きな重みをつけ、長さが長い道については小さな重みをつけて、全ての実績パスの部分グラフに関する適合度を合計して、総合適合度を計算する時間的局所性を考慮した適合度の計算方法をとる。
【0063】
この結果得られた最も適合度の高いユースケース候補127を、ユーザの目的を表しているユースケースであると推定する。
【0064】
図1に戻って説明する。
【0065】
ユースケース候補適合度算出部106は、この最適合ユースケースを含む予測結果131をインタフェース部102へ返す。
【0066】
また、この時に、操作履歴ベース107からアプリケーション101上の現時点の状態が判明する場合は、現時点の「状態」を表すモデル要素124のIDを予測結果131に含めてインタフェース部102へ渡す。
【0067】
最後にインタフェース部102がUIリソース−モデル要素対応表103を用いて、ユースケース候補適合度算出部106から取得した予測結果131に含まれる最適合ユースケースと、現時点のアプリケーション101上の「状態」を示すモデル要素124を、モデル要素からUIリソースのIDの形に逆変換する。この時、UIリソース−モデル要素対応表のUIリソースIDとモデル要素IDがn対1の関係であるため、変換後のIDが特定できないケースもある。その場合はモデル要素と1対1に関連づいた文字列リソースなどをあらかじめ定義しておき、モデル要素のIDのままでユーザへのガイダンス等が可能なように実装することもできる。そしてUIリソースのIDの形に逆変換された最適合のユースケースと、最適合ユースケースに基づいて現在の状態から次操作に関連づいたUIリソースIDとをアプリケーション形式予測結果129としてアプリケーション101へ提供する。
【0068】
以下、実例を元に動作を説明する。
図6は、実施の形態1における図3におけるユースケース候補300「新規ドキュメント編集保存」のグラフ構造を簡略化したものである。
【0069】
図7は、実施の形態1における図3及び図4に基づいたユースケース候補「既存ファイル編集更新」のグラフ構造図である。
【0070】
図7におけるユースケース候補「既存ファイル編集更新」状態遷移は、「A→3→E→6→B→5→D→1→B」のようになる。
【0071】
図8は、実施の形態1における図3及び図4に基づいたユースケース候補「既存ファイル編集コピー保存」のグラフ構造図である。
【0072】
図8におけるユースケース候補「既存ファイル編集コピー保存」状態遷移は、「A→3→E→6→B→5→D→2→G→9→B」のようになる。
【0073】
以降、ユースケース知識ベース105内には、この3つのユースケース候補127があらかじめ入っているものとして説明する。
【0074】
次に操作履歴ベース107の説明を行うため、アプリケーション101を使用するユーザの操作履歴を仮定する。
【0075】
図9は、図5における状態遷移図500の振舞いを持つアプリケーション101に対してユーザが行った操作履歴の例900を示している。901列の順序で、902列にある対象の操作が行われたとする。ユーザインタフェース部108では、UIリソースIDとして904列のIDが特定できる。このような操作入力が行われると、操作実績変換部104はUIリソース−モデル要素対応表103を参照して、各UIリソースIDに対応するモデル要素IDを取得する。その結果、905列のモデル要素IDが得られる。
【0076】
この時、順序3番目のUIリソースIDに対するモデル要素IDが存在せず、その前後の状態は同じであるため、3の操作は無視される。この結果、操作予測ユニット100として扱うユーザ操作130の履歴は、906列の記号でA→4→A→3→E→6→Bとなる。
図10は、図9の操作履歴から作成した状態遷移のグラフ構造図であり、図9のユーザの操作履歴900を、図6〜8と同様、グラフ構造に示したものである。
【0077】
次に、ユースケース候補適合度算出部106において算出される適合度の計算例に関して説明する。以上に記したように、ユースケース候補適合度算出部106にて行われる適合度計算は、図10における操作実績パス1000に対する適合度を、図6、図7、図8に示したユースケース候補600,700,800それぞれについて算出することに他ならない。ここでは操作実績パス1000の時間的局所性を考慮したユースケース候補の適合度計算方法について説明する。
【0078】
まず、操作実績パス1000を時系列にみて最新の状態Bとその直前の状態E、さらにその間を遷移する6のモデル要素から成る長さ1の道として考える。この道(E→6→B)に対する各ユースケース候補600,700,800の適合度を求める。さらにその次には、一つ過去に遡り、道(E→6→B)に対する適合度を求める。さらに一つ遡って、道(A→4→A→3→E→6→B)つまり実績パス全体についての適合度を求める。このようにして実績パスを複数に分割したものとユースケース候補を比較して、それぞれの適合度に対する重み付けを変更させることで、ユーザ目的の時間的局所性を考慮した比較が行える。
【0079】
実際の適合度計算方法は、一般的なグラフ理論で行われる2つのグラフのマッチングで行う場合や、2つの文字列間で定義されるレーベンシュタイン距離(編集距離)をグラフに適用し、適合度の計算する場合があげられる。
例えば、2つの文字列間で定義されるレーベンシュタイン距離(編集距離)をグラフに適用する場合では、操作実績パス1000の道の長さごとである(E→6→B)、(E→6→B)、(A→4→A→3→E→6→B)の各々に対し、各ユースケース候補600,700、800とのレーベンシュタイン距離(編集距離)を求め、それを負の相関とした適合度の値を求めることができる。また、エッジ(遷移)とノード(状態)の2つに分けて各々、各ユースケース候補600,700、800とのレーベンシュタイン距離(編集距離)を求め、その各々の距離に対して負の相関とした評価値(一致割合)を求めて、それぞれを加算することで適合値とすることもできる。
【0080】
以下では、一般的なグラフ理論で行われる2つのグラフのマッチングで行う場合であって、単純にエッジ(遷移)とノード(状態)の2つに分けて、適合度を計算する方法について説明する。
図11は、図10におけるグラフ構造図を基に、操作実績パス1000の最新からの道の長さごとにとユースケース候補600,700,800ごとに計算した適合度を示す図である。
【0081】
まず表1100の実績パス1101欄に示された、道の長さが1の実績パス(E→6→B)に対して、1102欄に示されたユース知識ベース105にあらかじめ記憶された各ユースケース候補600,700,800の適合度を求める。
【0082】
総数のエッジ1103欄、ノード1104欄は、各ユースケース候補600(新規ドキュメント編集保存),700(既存ファイル編集更新),800(既存ファイル編集コピー保存)が持つエッジ、ノード数をそれぞれ示している。
【0083】
一致エッジ数1105欄は、各ユースケース候補600(新規ドキュメント編集保存),700(既存ファイル編集更新),800(既存ファイル編集コピー保存)に対して、実績パス1101欄の実績パス(E→6→B)がもつエッジ(6のみ)が一致している個数を示し、一致エッジ率1106欄が、各ユースケース候補600(新規ドキュメント編集保存),700(既存ファイル編集更新),800(既存ファイル編集コピー保存)が各々もつエッジ数に対する、実績パス1101欄の実績パス(E→6→B)がもつエッジ(6のみ)の一致率を示している。
【0084】
ノードについても同様に、一致ノード数1107欄は、各ユースケース候補600(新規ドキュメント編集保存),700(既存ファイル編集更新),800(既存ファイル編集コピー保存)に対して、実績パス1101欄の実績パス(E→6→B)がもつノード(E,B)が一致している個数を示し、一致エッジ率1106欄が、各ユースケース候補600(新規ドキュメント編集保存),700(既存ファイル編集更新),800(既存ファイル編集コピー保存)が各々もつノード数に対する、実績パス1101欄の実績パス(E→6→B)がもつノード(E,B)の一致率を示している。
【0085】
重み1109欄は、道の長さごとに実績パスに対して重みが設定されている。
【0086】
適合度計算例1110欄は、各ユースケース候補の適合度を算出した結果を示したものである。ここでは一例として、エッジの一致数とエッジの一致率とノードの一致率を単純に加えて、それぞれ重みを乗じたものを適合度計算例としている。
【0087】
同様に、道の長さが2の操作実績パス(A→3→E→6→B)に対する適合度と、長さ3の操作実績パス(A→4→A→3→E→6→B)に対して適合度が各々計算されている。
【0088】
最後に3つの実績パスのケースを、ユースケース候補127ごとに全て加算して、ユースケース候補600「新規ドキュメント編集保存」が適合度6.5、ユースケース候補700「既存ファイル編集更新」が適合度26.75、ユースケース候補800「既存ファイル編集コピー保存」が適合度24.6となる。
【0089】
この結果、図7ユースケース候補700の「既存ファイル編集更新」が最適合ユースケースと判定される。また、現時点の「状態」を表すモデル要素124のID(図4における記号Bに相当するモデル要素のIDはM_ST_EDITWIN_Hであり、この二つの情報を含む予測結果131が図1におけるインタフェース部102へ返される。
最後に図1におけるインタフェース部102がUIリソース−モデル要素対応表103を用いて、ユースケース候補適合度算出部106から取得した予測結果131に含まれる最適合ユースケースと、現時点のアプリケーション101上の「状態」を示すモデル要素124を、モデル要素からUIリソースのIDの形に逆変換する。
【0090】
そしてUIリソースのIDの形に逆変換された最適合のユースケースと、最適合ユースケースに基づいて現在の状態から次操作に関連づいたUIリソースIDとをアプリケーション形式予測結果129としてアプリケーション101へ提供する。このようにすることで、アプリケーションは再適合のユースケース「既存ファイル編集更新」に基づいて、図7におけるモデル要素Bの次の「遷移」に相当する5、図4におけるモデル要素M_EDIDOCにあたる、UIリソースである図2の意味における「編集ウィンドウ 編集」をユーザに示すことができる。
【0091】
以下、ユースケースを利用した場合のメリットについて記載する。尚、一般的なグラフ理論で行われる2つのグラフのマッチングで適合度の計算する場合や、2つの文字列間で定義されるレーベンシュタイン距離(編集距離)をグラフに適用し、適合度の計算する場合の両方に適用できることである。
≪ユースケースの無順序表現≫
ユースケースでは順序が問われる手順と順序が問われない手順を表現できる。
【0092】
システムを使用してある作業を行う場合に、通常は作業を構成する操作の実施手順が一意に決まるが、作業全体や作業の一部分によっては、作業を構成する操作間の順序関係が問われないケースもある。例えば編集したファイルに名前を付けて保存する際に、保存ダイアログ上でユーザは、保存ファイル名を指定することと保存ファイルフォーマットを選択することの順序は問われない。保存ボタンを押下する時点で、両操作が既に実施されていれば問題ない。ユースケースでは、この無順序条件を表現することができる。例えば、上記実例においても、適合度を計算する際に、長さによる重みづけという係数とするだけで、順序については考慮がなされていない。
【0093】
グラフ空間の例として、各操作手順の関係がエッジで表現されているような状態遷移図を考えると、順序関係が問われる場合は有向エッジによって状態間の関係を表し、順序関係が問われない場合は、それらの状態間は無向エッジによって表す方法がある。またダイアログ内の選択項目など、単純なデータ構造に対する設定については、それぞれを状態として定義するのではなく、フラグや遷移チェック表を使用するなどの方法を取ることもできる。
【0094】
≪ユースケースの分岐遷移定義≫
ユースケースは分岐を含む部分グラフとして表現できる。
【0095】
システムでは似た目的の機能が存在しており、それらの操作手順は必ずしも一致しない。その似た機能を実行するユースケースを定義する場合、ユースケース内に分岐部分が発生する可能性がある。このため、一般的にユースケースを表す部分グラフは道ではなく、分岐を含む形となる。例えば「ファイルに上書き保存する」と「ファイルに名前を付けて保存する」という2つのユースケースを別々に定義する場合は良いが、これらをまとめて「ファイルに保存する」というユースケースを定義したい(その粒度でユーザの目的を推定したい)場合には、そのユースケースとして、前述の2つのユースケースを表す2つの部分グラフの和を取ったものを定義することで対応可能である。
その場合、定義の範囲が広いユースケースは、定義の範囲が狭いユースケースよりも評価値が低く算出されてしまう傾向はでるが、広く「ファイルに保存する」というユースケースを定義することでも、それなりの評価値を当該ユースケースに与えることができる。
≪ユースケースの個別抽象度表現≫
ユースケースを表す部分グラフの構成要素(ノード、エッジ)は、それぞれ個別の抽象度を持つことができる。
【0096】
例えば「ファイルに名前を付けて保存」というユースケースを状態遷移図で表す場合、ユーザ操作の粒度(抽象度が最も低い状態)での操作手順を、ユースケースとして定義することもできるが、名前を付けるために表示されるダイアログ上での各種設定や状態遷移は考慮せず、ダイアログが表示されたことだけに注目するユースケース定義を行いたい場合には、「名前を付けて保存ダイアログ表示」という状態のみを用意して、ダイアログ上での操作は抽象化(グラフ理論的には状態遷移エッジの縮約)を行って定義することもできる。
【0097】
なお後述するが、本発明で対象とするシステムでは、実績パス部分グラフの抽象度が最低である場合とした。なぜなら実績パス以下の抽象度(実績パス以上の詳細)ではユーザの操作を検出できないためである。
【0098】
≪時間的局所性を考慮したユースケース候補評価≫
実績パスの比較時点のノード(有向エッジを追っていった最後のノード)を基点として、実績パスのグラフ要素それぞれについて、時間的距離と不の相関を持つ重みを付けてグラフ構造による比較を行う。一般的にユーザの操作は判定時(現在)に時間的に近い操作の方が、判定時のユーザの利用目的に大きな影響を与えていると考えられるため、現時刻からの時間的距離と負の相関を持った重み付けを行って比較を行うことで、ユーザ目的の時間的局所性を考慮した比較が行える。
【0099】
≪ユースケースの多重定義≫
ユースケースはその定義において、他のユースケースを参照することができる。
【0100】
ユースケースの定義方法として、システムの利用開始から終了までの一連の操作を全て1つのユースケースに表現する方法もあるが、通常、複数のユースケースを定義する上では、冗長な部分が多く存在するため、多重なユースケース定義を可能とし、他ユースケースを参照して定義したものを新たなユースケースとして定義することができる。
【0101】
これにより、例えば、文書作成ソフトウェアにおいて、特定の箇所の文書をコピーして、他の箇所へ貼り付けしたい場合、「クリップボードへコピー」というユースケースによって、当該文書の選択とクリップボードへの貼り付けを行い、別の「クリップボードから貼り付け」というユースケースによって、目的位置への貼り付け作業を定義する。そして「文書コピー」というユースケースで、これら2つのユースケースを参照することもできる。つまり、各々の個別操作のユースケースを多重して長い操作のユースケースとして独自に登録しておくことで、別に独自のユースケース定義を作らなくても、すでにある複数のユースケース定義を多重した独自のユースケース定義を作ることで、参照して評価することが可能となる。したがって、図1におけるユースケース知識ベースのデータ量の圧縮化を図ることができる。
【0102】
≪グラフ構造によるユースケース候補評価≫
適合度算出の他のやり方として、ユースケース候補と実績パスの2つの部分グラフのトポロジについて、純粋にグラフ理論的な比較を行う。例えば、ユースケース候補と実績パスを、ノード集合とエッジ集合に分割して、それぞれマッチしている要素数、集合内の全要素数とマッチしている要素数との割合、等のパラメータで比較して、それらを総合して適合度を算出することもできる。又は2つの文字列間で定義されるレーベンシュタイン距離(編集距離)をグラフに適用し、適合度の計算に用いることもできる。
【0103】
≪異なる抽象度を考慮した評価≫
ユースケース候補を表現する部分グラフの各要素は、抽象度が一定でない可能性がある。一方で実績パス部分グラフの抽象度は常に最低である。このため、抽象度の異なる部分グラフ同士を比較する必要が生じる。この比較に関しては、ユースケース候補の各比較部分について、実績パスの抽象度との相対的な抽象度と不の相関を持つ重み付け比較を行う。
【0104】
一般的に、グラフ構造の比較を行った場合、抽象度の低いもの同士について厳密な比較を行うよりも、抽象度の低いものと高いものについて大まかな比較を行う方が、適合度が高くなるためである。(抽象度は相対的で離散的な値しかとれない)
以下例示にて説明する。
【0105】
例えば2つのユースケースA,Bがあり、両方とも以下のようにユースケースの途中に、ファイルに名前を付けて保存する部分を含んでいるとする。以下のn,m,pはユースケースの順序(ステップ)を表している。
1ユースケースA(抽象度低)の場合
n−1:...
n :メニューの「ファイルー名前を付けて保存」選択
(→「名前を付けて保存」ダイアログ表示状態に遷移)
n+1:表示された「名前を付けて保存」ダイアログ内で保存先フォルダ選択
(→「保存先フォルダ選択済み」状態に遷移)
n+2:同上のダイアログ内でファイル名入力
(→「ファイル名入力済み」状態に遷移)
n+3:同上のダイアログ内でファイルの種類選択
(→「ファイル種類選択済み」状態に遷移)
n+4:同上のダイアログ内で「保存」ボタン押下
n+5:...
【0106】
2ユースケースB(抽象度高)の場合
※ユースケースAにある「保存先フォルダ選択済み」「ファイル名入力済み」「ファイル種類選択済み」の各状態は「名前を付けて保存」ダイアログ表示に縮約されている
m−1:...
m :メニューの「ファイルー名前を付けて保存」選択
(→「名前を付けて保存」ダイアログ表示状態に遷移)
m+1:表示された「名前を付けて保存」ダイアログ内で「保存」ボタン押下
m+2:...
【0107】
ユースケースAでは、名前を付けて保存ダイアログ内の操作に関しても手順を明確に定義していますが、Bではダイアログ内については抽象化している。これらは、ユースケース定義者が「どこに重きを置いてユースケース定義をしているか?」により、いずれが間違いというわけではない。
つまり、ユースケースB(抽象度高)において、ユースケースAにある「保存先フォルダ選択済み」「ファイル名入力済み」「ファイル種類選択済み」の各状態は「名前を付けて保存」ダイアログ表示に縮約されている。
【0108】
ユーザの行った操作(実績パス)が、以下であったする。
3実績パス(抽象度最低)
p−1:...
p :メニューの「ファイルー名前を付けて保存」選択
p+1:表示された「名前を付けて保存」ダイアログ内でファイル名入力
p+2:同上のダイアログ内で「保存」ボタン押下
p+3:...
【0109】
そして、評価する過程において、抽象度の低い(操作を厳密に定義している)ユースケースAに注目すると、実績パスのステップpに相当するのはステップnである。しかしp+1に相当するのはn+2であり、またp+2に相当するのはn+4と、ステップn+1とn+3が抜けてしまっており、その分、評価値が低くなる。
一方、抽象度の高いユースケースBに注目すると、実績パスのステップpに相当するのはステップmである。そしてp+1に相当するものはないものの、P+1はユースケースBの「名前を付けて保存」ダイアログ表示状態において遷移を伴わない操作として無視される。そしてステップp+2に相当するのがステップm+1となり、抽象度の違いを別とすれば、ユースケースBのステップm〜m+1は、実績パスのp〜p+2までと完全に一致していると判断され、評価値が高くなる。
【0110】
したがって、このユースケースの抽象度の高低による評価値の傾向を打ち消すよう、実績パスの抽象度との相対的な抽象度と不の相関を持つ重み付け比較を行うことで、異なる抽象度であってもユースケースによる評価を行うことができる。
【0111】
≪ユースケース候補の無順序条件部分の評価≫
比較部分が無順序表現されている場合は、相対的に重みを軽くして比較する
ユースケース候補の特定箇所が無順序条件である場合、同じグラフ構造で順序条件があるユースケース候補とくらべると、上記抽象度の場合と同様に、操作順序という制約がない分、比較制約が甘いため実績パスと一致しやすい傾向が出て、評価値が高くなる傾向がある。このため、無順序条件が設定されている部分については、順序条件が設定されている場合と比較して、重みを低く設定して比較を行うことで、無順序条件であってもユースケースによる評価を行うことができる。
【0112】
したがって、本実施の形態では、アプリケーション101に対するユーザの利用目的に応じて、アプリケーション101の機能を満たすための操作履歴を、状態または遷移の情報を含むモデル要素124及びその組み合わせであるユースケースとし、ユースケースを複数蓄積したデータベースであるユースケース知識ベース105と、アプリケーション101に対するユーザ操作130であるUIリソースと、モデル要素124との対応を示すデータベースであるUIリソース−モデル要素対応表103と、逐次入力されるユーザ操作130からUIリソース−モデル要素対応表103を用いてモデル要素124を取得し、モデル要素124の時系列の履歴である操作実績パス126を生成して出力する操作実績変換部と104、操作実績変換部104から入力された操作実績パス126を格納する操作履歴ベース107と、依頼信号125に基づいて、依頼時点での操作実績パスである依頼時実績パス128を操作履歴ベース107から取得するとともに、依頼信号125の内容である操作目的別に応じて、ユースケース知識ベース105からユースケース候補127を取得し、依頼時実績パス128とすべてユースケース候補127とから依頼時操作実績パス128との適合度を算出し、推定されるユーザのシステム利用目的と次操作の予測とを含む予測結果131を出力するユースケース候補適合度算出部127と、アプリケーション101から次操作の予測の要求であるサービス要求121を解釈して、サービス内容に従ってユースケース候補適合度算出部106へ依頼信号125を出力するとともに、予測結果131から、UIリソース−モデル要素対応表103を用いてアプリケーションのUIリソースに対する操作形式に変換し、アプリケーション形式予測結果131としてアプリケーション101へ出力するインターフェース102とを備えたことにより、システム開発の上流設計に検討するユースケースをベースにユーザの実操作履歴との照合を行うことにより、実際にユーザがシステムを利用している際に、ユーザがどのような目的で(何が行いたくて)操作をしているのかが判り、それを表したユースケースに従ってユーザを誘導すれば、そのシステムにとって最も効率の良い手順で、ユーザがシステムに望んでいる作業を実施させることが可能となる。
【符号の説明】
【0113】
100 操作予測ユニット
101 アプリケーション
102 インターフェース部
103 UIリソースモデル要素対応表
104 操作実績変換部
105 ユースケース知識ベース
106 ユースケース候補適合度算出部
107 操作履歴ベース
108 ユーザインターフェース部
121 サービス要求
122 機能開始トリガ
123 UIリソースに対する操作形式
124 モデル要素
125 依頼信号
126 操作実績パス
127 ユースケース候補
128 依頼時操作実績パス
129 アプリケーション形式予測結果
130 ユーザ操作
131 予測結果

【特許請求の範囲】
【請求項1】
アプリケーションに対するユーザの利用目的に応じて、前記アプリケーションの機能を満たすための操作履歴を、状態または遷移の情報を含むモデル要素及びその組み合わせであるユースケースとし、前記ユースケースを複数蓄積したデータベースであるユースケース知識ベースと、
前記アプリケーションに対するユーザ操作であるUIリソースと、前記モデル要素との対応を示すデータベースであるUIリソース−モデル要素対応表と、
逐次入力される前記ユーザ操作から前記UIリソース−モデル要素対応表を用いて前記モデル要素を取得し、前記モデル要素の時系列の履歴である操作実績パスを生成して出力する操作実績変換部と、
前記操作実績変換部から入力された前記操作実績パスを格納する操作履歴ベースと、
依頼信号に基づいて、依頼時点での前記操作実績パスである依頼時実績パスを前記操作履歴ベースから取得するとともに、前記ユースケース知識ベースから複数のユースケース候補を取得し、依頼時実績パスと前記複数のユースケース候補とから依頼時操作実績パスとの適合度を算出し、最も適合度の高いユースケース候補を予測結果として出力するユースケース候補適合度算出部と、
前記アプリケーションから次操作の予測の要求であるサービス要求を解釈して、前記サービス内容に従ってユースケース候補適合度算出部へ前記依頼信号を出力するとともに、前記予測結果から、次に遷移する内容と遷移先の情報を示すモデル要素について前記UIリソース−モデル要素対応表を用いて前記アプリケーションのUIリソースに対する操作形式に変換し、アプリケーション形式予測結果として前記アプリケーションへ出力するインターフェースと、
を備えたことを特徴とする操作予測装置。
【請求項2】
前記ユースケース候補には、分岐を含むモデル要素列の情報を含むことを特徴とする請求項1に記載の操作予測装置。
【請求項3】
前記ユースケース候補には、前記アプリケーションの操作内容の具体性に応じた抽象度情報を含むことを特徴とする請求項1または2に記載の操作予測装置。
操作予測装置。
【請求項4】
前記ユースケース候補には、個別のユースケースを組み合わせた情報を含むことを特徴とする請求項1乃至3のいずれかに記載の操作予測装置。
【請求項5】
前記ユースケース候補適合度算出部の適合度算出において、依頼時実績パスとユースケース候補との適合度を算出するにあたり、依頼時実績パスとユースケース候補間の編集距離を用いて算出すること特徴とする請求項1乃至4のいずれかに記載の操作予測装置。
【請求項6】
前記ユースケース候補適合度算出部の適合度算出において、依頼時実績パスとユースケース候補との適合度を算出するにあたり、状態の情報を持つモデル要素の一致割合と、遷移の情報を持つモデル要素の一致割合とを用いて算出すること特徴とする請求項1乃至5のいずれかに記載の操作予測装置。
【請求項7】
前記ユースケース候補適合度算出部の適合度算出において、依頼時実績パスとユースケース候補との適合度を算出するにあたり、対応するモデル要素同士について時間的距離と不の相関をもつ重み付けを用いて算出すること特徴とする請求項1乃至6のいずれかに記載の操作予測装置。
【請求項8】
前記ユースケース候補適合度算出部の適合度算出において、依頼時実績パスとユースケース候補との適合度を算出するにあたり前記ユースケース候補がもつ各々のモデル要素がもつ抽象度について不の相関をもつ重み付けを用いて算出することを特徴とする請求項1乃至7のいずれかに記載の操作予測装置。
【請求項9】
前記ユースケース候補適合度算出部の適合度算出において、依頼時実績パスとユースケース候補との適合度を算出するにあたり前記ユースケース候補に無順序条件が設定されている場合は、無順序条件が設定されていない場合と比べて低い重み付けを用いて算出することを特徴とする請求項1乃至8のいずれかに記載の操作予測装置。
【請求項10】
アプリケーションに対するユーザの利用目的に応じて、前記アプリケーションの機能を満たすための操作履歴を、状態または遷移の情報を含むモデル要素及びその組み合わせであるユースケースとし、前記ユースケースを複数蓄積したデータベースであるユースケース知識ベースから抽出された複数のユースケース候補と、
アプリケーションから次操作の予測の要求であるサービス要求に基づく依頼信号に基づいて、逐次入力されるユーザ操作から依頼時点での操作実績パスである依頼時実績パスと、
を取得し、依頼時実績パスと前記複数のユースケース候補とから依頼時操作実績パスとの適合度を算出し、最も適合度の高いユースケース候補を予測結果として出力するユースケース候補適合度算出部と、
を備えたことを特徴とする操作予測装置。
【請求項11】
ユースケース候補適合度算出部が、アプリケーションから次操作の予測の要求であるサービス要求による依頼信号に基づいて、依頼時点での前記操作実績パスである依頼時実績パスと、前記アプリケーションに対するユーザの利用目的に応じて、前記アプリケーションの機能を満たすための操作履歴を、状態または遷移の情報を含むモデル要素及びその組み合わせであるユースケースを複数蓄積したデータベースであるユースケース知識ベースから複数のユースケース候補と、を取得するステップと、
前記ユースケース候補適合度算出部が、前記依頼時実績パスと前記複数のユースケース候補とから依頼時操作実績パスとの適合度を算出し、最も適合度の高いユースケース候補を予測結果として出力するステップと、
を含む操作予測方法。
【請求項12】
操作実績変換部が、逐次入力されるユーザ操作から、アプリケーションに対するユーザ操作であるUIリソースと前記モデル要素との対応を示すデータベースであるUIリソース−モデル要素対応表を用いて前記モデル要素を取得し、前記モデル要素の時系列の履歴である操作実績パスを生成して出力するステップと、
操作履歴ベースが、前記操作実績変換部から入力された前記操作実績パスを格納するステップと、
インターフェースが、前記アプリケーションから次操作の予測の要求であるサービス要求を解釈して、前記サービス内容に従ってユースケース候補適合度算出部へ依頼信号を出力するステップと、
ユースケース候補適合度算出部が、前記依頼信号に基づいて、依頼時点での前記操作実績パスである依頼時実績パスを前記操作履歴ベースから取得するステップと、
前記ユースケース候補適合度算出部が、前記依頼信号に基づいて、前記アプリケーションに対するユーザの利用目的に応じて、前記アプリケーションの機能を満たすための操作履歴を、状態または遷移の情報を含むモデル要素及びその組み合わせであるユースケースを複数蓄積したデータベースであるユースケース知識ベースから複数のユースケース候補を取得し、依頼時実績パスと前記複数のユースケース候補とから依頼時操作実績パスとの適合度を算出し、最も適合度の高いユースケース候補を予測結果として出力するステップと、
インターフェースが、前記予測結果から、次に遷移する内容と遷移先の情報を示すモデル要素について前記UIリソース−モデル要素対応表を用いて前記アプリケーションのUIリソースに対する操作形式に変換し、アプリケーション形式予測結果として前記アプリケーションへ出力するステップと、
を含む操作予測方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate


【公開番号】特開2011−170672(P2011−170672A)
【公開日】平成23年9月1日(2011.9.1)
【国際特許分類】
【出願番号】特願2010−34622(P2010−34622)
【出願日】平成22年2月19日(2010.2.19)
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.WINDOWS
【出願人】(000006013)三菱電機株式会社 (33,312)
【Fターム(参考)】