説明

操作支援サーバ装置、操作支援方法およびコンピュータ・プログラム

【課題】過去にユーザが行った様々なアプリケーション操作の中から、多くのユーザが共通して行った操作を抽出しユーザに提示することで、ユーザの操作を支援する操作支援サーバ装置を提供すること。
【解決手段】操作支援サーバ装置は、操作表記憶部、操作列作成部、操作記録記憶部、出現操作列抽出部、および出現操作列記憶部を備える。操作表記憶部は、アプリケーションに対するユーザ操作と、その操作を特定する操作IDとが予め定義された操作表を記憶する。操作列作成部は、操作表に基づいてユーザ操作を対応付けられた操作IDに変換することにより、ユーザ操作により構成される操作履歴より操作IDで構成される操作列を作成し、操作記録記憶部が操作列を記憶する。更に、出現操作列抽出部は、操作記録記憶部が記憶する操作列を構成する部分操作列のうち、所定の値以上の頻度で出現する出現操作列を抽出し、出現操作列記憶部が出現操作列を記憶する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、アプリケーションの操作を行うユーザに対して、適切な操作を支援するための操作支援サーバ装置、操作支援方法、およびコンピュータ・プログラムに関する。
【背景技術】
【0002】
ネットワーク上のサーバが作り出す仮想世界(仮想空間ともいう)においては、従来のゲームのように決まったシナリオはなく、参加者は皆、ユーザの分身であるキャラクタ(以下、アバタという)を活用して自己表現を行い、買い物や他のユーザのアバタとコミュニケーションを行ったりすることで、自由に仮想世界を楽しむことができる。
【0003】
この仮想世界に、続々と企業が進出している。仮想世界に進出した企業の多くが目的とすることは、商品やサービスの販売のためのプロモーション、ブランドイメージ向上のためのプロモーション等に仮想世界を利用することである。更には、広告や仮想コマース、顧客サービスやコラボレーション等を行う際にも仮想世界を利用することである。
【0004】
仮想世界に進出した企業は、仮想世界内の自社サイトにて様々なサービスを提供している。サービスとしては、例えば、バーチャル店舗にて自社商品を販売することや、クイズ大会のようなイベントを開催することが挙げられる。一方、仮想世界に進出した企業の中には、アバタに商品を購入させる等の明確なゴールを持たず、自社サイト内で比較的自由にアバタに楽しんでもらうことでブランドイメージの向上につなげようとするものが増えている。このようなサイトを初めて訪れたアバタの中にはサイトにおいてどのように行動すれば楽しめるのか分からない者もおり、そのアバタに過去にサイトを訪れた多くのアバタが共通して行った行動を教えることは有益である。
【0005】
過去にサイトを訪れたアバタの共通した行動を抽出する方法として、特許文献1のようなものがある。この特許文献1では、多くのアバタの行動を記録し、それらのアバタに共通する特徴的な行動パターンを抽出する方法が提案されている。特許文献1に記載の方法は、大量の移動体の行動履歴から、移動体が訪問する訪問場所と訪問順序と、各訪問場所における滞在時間とで表された、多くの移動体に共通する行動パターンを容易に抽出する。
【特許文献1】特開2005−056022号公報
【発明の開示】
【発明が解決しようとする課題】
【0006】
しかしながら、特許文献1に記載の方法は、多くのアバタの行動を記憶し、その中から特徴的な行動パターンを抽出するものであるが、「訪問」という行動のみを扱うものである。一方、アバタの行動には「訪問」以外にも様々あるため、特許文献1に記載の方法では、「訪問」以外のアバタの行動を取得することができないという問題がある。また、特許文献1には、抽出された行動パターンを他のアバタに提示する方法が記載されていない。更に、特許文献1で扱われていない問題として、仮想世界と同様にソフトウェアにおいても、ユーザが操作方法をわからず、ソフトウェアに対し悪い印象を持ってしまうという問題がある。
【0007】
そこで、本発明は上記課題に鑑み、過去にユーザが行った様々なアプリケーション操作の中から最適な操作を抽出し、ユーザに提示することで、ユーザの操作を支援する操作支援サーバ装置を提供することを目的とする。
【課題を解決するための手段】
【0008】
本発明の1つの態様によると、アプリケーションの操作を行うユーザに対する操作支援サーバ装置を提供する。操作支援サーバ装置は、操作表記憶部、操作列作成部、操作記録記憶部、出現操作列抽出部、および出現操作列記憶部を備える。操作表記憶部は、アプリケーションに対するユーザの操作と、その操作を特定する操作IDとが予め定義された操作表を記憶する。また、操作列作成部は、操作表に基づいて、ユーザの操作を対応付けられた前記操作IDに変換することにより、1以上の前記ユーザの操作により構成される前記ユーザの操作履歴から前記操作IDで構成される操作列を作成し、操作記録記憶部が作成された操作列を記憶する。更に、出現操作列抽出部は、前記操作記録記憶部に記憶された操作列を構成する部分操作列のうち、所定の値以上の頻度で出現する出現操作列を抽出し、出現操作列記憶部が、抽出された出現操作列を記憶する。
【0009】
「アプリケーション」とは、コンピュータにインストールされている文書の作成、数値計算等のソフトウェアや、サーバー・クライアント形態をとりクライアントが多数同時参加する仮想世界をいう。本態様によれば、アプリケーションにおけるユーザの操作履歴と前記アプリケーションに対する操作を定義した操作表とを用いて出現操作列を作成することにより、前記アプリケーションに対する出現操作列が作成される。また、操作IDが定義されている操作表を用いて、ユーザの操作履歴を操作IDであらわすことにより、操作履歴をシーケンス化することができる。
【0010】
また、本態様は、操作支援サーバ装置は、操作支援手段出力部を更に備えることができる。操作支援手段出力部は、ユーザが操作を行った際に、前記操作列作成部にて前記ユーザの操作履歴から作成された操作列と先頭一致する前記出現操作列を前記出現操作列記憶部から抽出する。続いて、操作支援手段出力部は、抽出された前記出現操作列のうち前記ユーザの操作履歴から作成された操作列と一致した次の前記操作IDと前記操作IDに対応するユーザへの操作支援手段を有する前記操作表記憶部とに基づいて、前記操作支援手段を前記ユーザに推薦する操作として出力する。
【0011】
本態様によると、他のユーザが行った操作記録から作成された出現操作列に基づいて、ユーザが次に行う操作が推薦されることにより、アプリケーションのユーザが、次に行うべき操作がわからないためにアプリケーションに対して悪印象を持つことを防ぐことができる。
【0012】
また、本態様は、操作支援サーバ装置は、前記ユーザの前記アプリケーションに対する評価値を取得する評価取得部を更に備え、前記操作列作成部は、前記評価取得部にて取得された評価値に基づいて、前記操作列作成部は前記操作列を作成する操作履歴を決定することができる。
【0013】
評価取得部を更に備えることにより、前記操作記録記憶部は所定の評価値の操作記録を記憶するため、全操作記録という膨大なデータを記憶せずにすむ。ここで、所定の評価値とは、アプリケーションに対する任意の満足度等をいう。また、所定の評価値を有する操作記録から出現操作列が作成されることにより、例えば、良い評価が得られる出現操作列や悪い評価になってしまう出現操作列というように、出現操作列を評価で分類することができる。
【発明の効果】
【0014】
本発明によれば、過去にユーザが行った様々なアプリケーション操作の中から最適な操作を抽出し、ユーザに提示することで、ユーザの操作を支援する操作支援サーバ装置を提供することができる。
【発明を実施するための最良の形態】
【0015】
以下、本発明の実施形態について図面を参照しながら説明する。図1は、本実施例の操作支援サーバ装置100の態様を示した図である。図示されているように、本実施例の操作支援サーバ装置100は、インターネットやイントラネットに代表されるネットワーク300等の通信回線を介して、ユーザ側のクライアント端末200−1、200−2・・・200―n(以下、クライアント端末200−1から200―nを区別する必要がない場合は、単にクライアント端末200という)は、ユーザ側のクライアント端末200とデータをやり取り可能に接続されている。ここで、クライアント端末200とは、ネットワーク300を介して、あるいは互いに直接、データのやり取り可能な機器であればよく、例えば、パーソナル・コンピュータが挙げられる。なお、本構成における操作支援サーバ装置は必ずしも1台とは限らず、複数台で構成されてもよい。
【0016】
本発明を仮想世界に適用した実施形態について説明する。以降、ユーザによる操作はアバタの行動として記述する。図2は、本発明を仮想世界に適用した実施形態における操作支援サーバ装置100とクライアント端末200のそれぞれの構成を示す図である。操作支援サーバ装置100は、通信部102、行動記録制御部110、行動モデル制御部120、および行動推薦制御部130を備える。行動記録制御部110として、行動ログ記録部111、ユーザ評価取得部112、および行動ログデータベース113(以下、簡略化のためデータベースをDBとする)を有する。行動モデル制御部120として、行動モデル生成部121、および行動モデルDB123を有する。行動推薦制御部130として、行動推薦部131、および行動テーブルDB133を有する。一方、クライアント端末200は、操作支援サーバ装置100とデータの送受信を行う通信部102、クライアント端末200のユーザにてアバタの行動等が入力される入力部101、および仮想世界の画像やアバタの音声を出力する出力部103を備える。
【0017】
以下に操作支援サーバ装置100の各機能部について説明する。ユーザ評価取得部112は、あるサイトを訪問したアバタのそのサイトに対する評価値を取得する。行動ログ記録部111は、ユーザ評価取得部112にて取得したサイトの評価値に基づいてアバタの行動ログを選別する。行動ログDB113は、行動ログ記録部111にて選別されたアバタの行動ログを記憶する。行動モデル生成部121は、行動ログDB113に記憶されている行動ログから得られる所定の頻度で出現する頻出行動列(出現操作列)を行動モデルとして抽出する。行動モデルDB123は、行動モデル生成部121にて抽出された行動モデルを記憶する。行動推薦部131は、アバタの行動に基づいて推薦すべき行動を行動モデルDB123から取得する。行動テーブルDB133は、あるサイトにおけるアバタの重要な行動が定義され、主に、アバタの行動、ID、行動の推薦方法が定義されている。
【0018】
行動ログ記録部111は操作列作成部の一例であり、ユーザ評価取得部112は評価取得部の一例であり、行動ログDB113は操作記録記憶部の一例であり、行動モデル生成部121は、出現操作列抽出部の一例であり、行動モデルDB123は出現操作列記憶部の一例であり、行動推薦部131は、操作支援手段出力部の一例であり、行動テーブルDB133は、操作表記憶部の一例である。なお、各記憶部はハード・ディスク上のDBに限らず、メモリ、磁気テープやフレキシブル・ディスク等の外部記憶装置でもよい。操作支援サーバ装置100のハードウェア構成については後述する。
【0019】
次に、操作支援サーバ装置100におけるアバタの行動モデル作成処理について説明する。図3は、行動モデル作成処理のフローチャートである。まず、ステップS1において、行動記録制御部110は、アバタの行動ログ(操作履歴)から、行動列を作成し、行動ログDB113に記憶する。ステップS1の行動ログ記録処理について、図4を用いて、詳細に説明する。図4は、行動ログ記録処理のフローチャートである。ある地点(以下、A地点という)に到達したアバタが行動を始めると、行動記録制御部110は処理を開始する。A地点とは、仮想世界内のサイト自体や仮想世界内のサイトの一地点、例えば、サイト内にある噴水の前をいう。処理が開始されると、行動ログ記録部111は、アバタの行動ログを一時的に記憶する(ステップS10)。行動ログの記憶終了時は、サイト管理者が任意で決めることができ、サイトを離れた時やアバタが行動しなくなってから所定の時間が経過した時とすることができる。
【0020】
次に、行動ログの記憶終了時に、ユーザ評価取得部112はA地点に対する評価値を取得する(ステップS11)。評価値および評価値の取得方法については、サイト管理者が任意で決めることができる。評価値には、例えば、サイトに対する満足度や印象を3段階、5段階等のいくつかの段階で表したものを用いることができる。以降の説明において、サイトの評価値に、「満足」、「普通」、「不満足」の3段階を用いる。
【0021】
また、評価値の取得方法については、例えば、評価を入力するためのポップアップ画面を表示し、アバタのユーザにサイトの評価値を入力してもらう方法や、アバタのサイト滞在時間から自動的にサイトの評価値を取得する方法が挙げられる。ユーザにサイトの評価値を入力してもらう場合において、ユーザが評価を入力しなかった時は、サイトの評価値を「不満足」としてもよいし、評価値が取得できなかったとして処理を終了してもよい。また、アバタのサイト滞在時間から自動的にサイトの評価を行う場合おいては、評価値を決定するために基準となる滞在時間を設定しておく必要がある。
【0022】
ステップS12において、行動ログ記録部111は、ステップS11において取得したA地点に対する評価値が所定の評価値か否かを判断する。所定の評価値とは、サイト管理者が決めた評価値をいい、ここでは、「満足」、「普通」、「不満足」のいずれかの評価値である。ここで、評価値を「満足」とすると、行動モデルDB123にはユーザが満足した行動モデル(以下、成功モデルという)が記憶され、一方、評価値を「不満足」とすると、行動モデルDB123にはユーザが不満足だった行動モデル(以下、失敗モデルという)が記憶される。ステップS13では、行動ログ記録部111は、行動テーブルDB133を用いて、所定の評価値であるA地点における行動ログをシーケンス化し、行動列を作成する。
【0023】
図5は、行動テーブルDB133に記憶されている行動テーブルのデータ構成を示す図である。行動テーブルは、ID領域、アバタ行動領域、意味領域、推薦方法領域、パラメータ領域を有する。ID領域は、アバタの行動を特定するIDが記憶され、アバタ行動領域には、アバタの行動をシステム言語で記述したスクリプトが記憶されている。また、意味領域には、アバタ行動領域に記憶されているスクリプトの意味がサイト管理者にわかる言語で記憶され、推薦方法領域には、アバタに行動を推薦するためにコンピュータが行う処理のスクリプトが記憶され、パラメータ領域には、アバタ行動領域および推薦方法領域のスクリプトに使用されているパラメータの定義が記憶されている。
【0024】
行動テーブルは、アバタの行動をシステム言語で記述したスクリプトとその意味を対応付けること、およびスクリプトのパラメータの設定を行うことができ、サイト管理者により予め定義される。これにより、サイトにおいて重要であるアバタの行動を、サイト管理者が予め定義することができる。なお、行動テーブルは、サイト毎に設ける必要がある。なぜならば、サイトによって重要である行動が異なるからである。例えば、サイト内(x,y)地点にモニュメントを置いているサイトにとって、(x,y)地点の周辺に到着するというイベントは意味のあるものであり注視すべきであるが、それ以外のサイトにとっては何の意味も持たないからである。
【0025】
図4のステップS13に戻って、所定の評価値を有するA地点における行動ログをシーケンス化し、行動列を作成する方法について説明する。図6は、あるサイトにおけるアバタA,Bの行動ログを示す図である。アバタAは、あるサイトに入場した後、サイト内のA地点に移動し、到着する(A1)。その後、ボタンを押す行動(A2)を3回繰り返し、サイトを退場する。アバタBは、サイトに入場した後、上を向いてから(A5)、サイト内のA地点に移動し、到着する(A1)。その後、ボタンを押す行動(A2)を2回繰り返し、左に曲がり(A6)、サイトを退場する。図5に示した行動テーブルを用いて、アバタA,Bそれぞれの行動ログをシーケンス化し、行動列を作成する。具体的には、行動ログの行動をそれぞれ行動テーブルに定義されているIDに変換することでシーケンス化を行い、行動列を作成する。ただし、行動テーブルに定義されていない行動は、行動列には含めない。行動テーブルに定義されていないということは、サイトにおいて重要な行動ではないからである。
【0026】
図6に示すアバタAの行動、A地点に到着する(A1)は図5の行動テーブルにてID=1と定義されているので、「1」と変換される。同様に、ボタンを押す(A2)は「3」と変換される。よって、アバタAの行動ログから、「2−3−3−3」という行動列が作成される。同様にアバタBの行動ログから、「4−2−3−3−1」という行動列が作成される。
【0027】
図4に戻って、ステップS13にて行動ログ記録部111は、作成された行動列を行動ログDB113に記憶し(ステップS14)、処理は終了する。
【0028】
図3に戻って、ステップS2において、行動モデル制御部120は、行動ログDB113に記憶された行動列から行動モデルを作成し、行動モデルDB123に記憶する。以下に、ステップS2について、図7を用いて詳細に説明する。行動モデルを抽出するには、GSP(Generalized Sequential Patterns)等、頻出配列パターンを抽出するアルゴリズムを利用することができる。(非特許文献:R.Srikant and R.Agrawral.Mining sequential patterns:Generalizations and performance improvements.In EDBT’96,pp3−17.1996)GSPとは、任意の系列の頻度はその全ての部分系列の頻度以下になるというアプリオリ性に基づき,頻出の部分系列を順次成長させていく手法である。ここでは、例として、GSPを利用した行動モデル作成処理について説明する。
【0029】
図7は、GSPを利用した行動モデル作成処理のフローチャートである。まず、ステップS20において、行動モデル生成部121は、行動テーブルに定義されている行動から作成される要素が1の頻出行動列のうち支持度が最低支持度を上回るものを抽出し、1次頻出配列セットとする。要素が1の頻出行動列とは、例えば「1」や「2」といった1つの行動しか有さない行動列であり、行動テーブルに提示されている行動の数だけ作成される。また、支持度は、以下の式で与えられ、最低支持度はサイトの管理者が任意に設定した値である。最低支持度が1に近づくほど、抽出される行動モデルは少なくなる。
【数1】

【0030】
次に、行動モデル生成部121は、要素2の頻出行動列のうち、支持度が最低支持度を上回るものを抽出し、2次頻出配列セットとする。要素2の頻出行動列は、例えば、「1−2」や「2−3」であり、行動テーブルにm種類の行動が定義されているとすると、m×(m−1)個作成される。行動モデル生成部121は、この処理をn次頻出部分行動列セットが作成されるまで繰り返す(ステップS21)。ただし、nは行動ログDB113に記憶されている行動列の最高要素数である。行動モデル生成部121は、ステップS20およびステップS21で作成された1〜n次頻出部分行動列セット中の要素をマージし、n+1次頻出部分動作列候補を作成する(ステップS22)。
【0031】
図8は、ステップS22で行われるマージ方法および抽出された行動モデルを示した図である。図8の(a)に1〜n次頻出部分行動列セットの一部を示し、本例を用いてステップS22について具体的に説明する。行動モデル生成部121は、1〜n次頻出部分行動列セットから、図8の(a)に示すように、最低長以上であり複数の行動列に含まれている部分行動列をマージし、マージされた部分行動列にてn+1次頻出部分動作列候補を作成する。最低長は、サイト管理者が任意で決めることができる。しかし、最低長が短すぎるとサイトにとって重要でない行動モデルも作成されてしまう可能性が生じ、最低長が長すぎると後述するアバタに動作を推薦する際に、行動モデルを取得することができなくなってしまう。そのため、最低長は3程度にするのが望ましい。
【0032】
図7に戻って、行動モデル生成部121は、ステップS22にて作成されたn+1次頻出部分動作列候補の部分行動列それぞれの支持度を算出し、その支持度が最低支持度より小さいものを除外する(ステップS23)。最低支持度は、ステップS20にて用いた最低支持度と同じである。ステップS23において、行動モデル生成部121は、最低支持度よりも支持度が大きいものをn+1次頻出部分動作列とする。ステップS22にて作成されたn+1次頻出部分動作列候補全てについてステップS23または、ステップS23およびステップS24の処理が終了すると、行動モデル生成部121は、ステップS24にて作成されたn+1次頻出部分動作列(以下、頻出行動列という)を行動モデルとして、行動モデルDB123に記憶する(ステップS25)。
【0033】
図8の(b)に最低長を3、最低支持度を0.25とした場合に、抽出された行動モデルの一部を示す。行動モデルDB123は、図8の(b)のように構成され、行動モデル領域と、支持度領域を持つ。行動モデル領域には、行動モデル、つまり、行動モデル生成部121にて抽出された頻出行動列が記憶される。図8の(b)に「4−2−3」と「4−2−3−1」という、先頭の3つの要素が同じである行動モデルがあるが、これらは異なるものとして扱われる。一連の行動列、つまり行動ログが意味を持つからである。また、「4−2−3」と「2−3−4」とのように同要素であるが並び順が異なる行動モデルも異なるものとして扱われる。行動列の順番も意味をもち、並び順が異なるものは異なる意味を持つ行動ログであるからである。支持度領域には、式(1)にて求められた各出現行動列の支持度が記憶されている。これは、後述するアバタに行動を推薦する際に、行動に優先順位付けするため等に用いられる。
【0034】
上述したように行動モデルには、サイトに対して満足な評価を持ったユーザのアバタ行動から作成された成功モデルやサイトに対して不満足な評価を持ったユーザのアバタ行動から作成された失敗モデル等がある。成功モデルは、主にアバタに行動を推薦するために用いられる。一方、失敗モデルは、サイト管理者がサイト改善に役立てるためや、ユーザの行動モデルから新たな知見を得るために用いられる。操作支援サーバ装置100が備える行動モデルDB123は必ずしも1つとは限らず、成功モデルと失敗モデルの2つのテーブルを行動モデルDB123内に有してもよいし、成功モデルDBと失敗モデルDBの2つのDBにわけて備えてもよい。この場合、図4に示した、行動ログ記録処理において、ステップS13の評価値判断処理は行われず、行動列と合わせて評価値を行動ログDB113に記憶する。図7の行動モデル作成処理にて抽出された行動モデルを記憶する際に、行動ログDB113に記憶された評価値を用いて成功モデルまたは失敗モデルのいずれに区別されて記録される
【0035】
次に、行動モデルDB123に記憶された行動モデルを用いてアバタに行動を推薦する方法について説明する。ここで、行動モデルは成功モデルであるとする。図9は、行動推薦処理のフローチャートである。図10は、あるサイトを訪れたアバタに行動を推薦する具体例を示す図である。図10の具体例を用いつつ、図9に示す行動推薦処理を説明する。なお、図10の説明には、図5に示す行動テーブル、図8(b)に示す行動モデルDB123を用いる。
【0036】
まず、ステップS30において、行動推薦部131は、A地点におけるアバタの行動を取得する。取得するタイミングとしては、アバタが1つの行動を行う度に逐次行ってもよいし、所定の時間アバタが行動を行わなかった時としてもよい。ここでは、所定の時間アバタが行動を行わなかった時、アバタの行動が取得されるとする。なお、所定の時間はサイト管理者が任意に設定することができる。図10(a)は、A地点で行動が止まっているアバタを示す図である。図10においては、あるサイトを訪れたアバタが、上を向き、ゲーム機のあるA地点に移動・到着した後、所定の時間、図10(a)に示すようにゲーム機の操作がわからずにアバタが止まっているとする。そうすると、アバタが止まる前に行った、(1)上を向く、(2)A地点に着く、の2つの行動が取得される。
【0037】
次に、行動推薦部131は、行動テーブルDB133を用いて、取得された行動をIDに変換し行動列を作成する(ステップS31)。図10において、行動テーブルDB133を用いて、ステップS30で取得された、(1)上を向くはID「4」、(2)A地点に着くはID「2」に変換され、「4−2」という行動列が作成される。行動推薦部131は、作成された行動列を条件として行動モデルDB123を検索する(ステップS32)。検索は、作成された行動列と行動モデルの先頭一致にて行われる。もし、部分一致で検索が行われるとすると、不完全な行動に対して誤った推薦を行う可能性が高くなるからである。なぜならば、行動モデルは先頭から順番に行われて意味があるものであるので、行動モデルの途中から始まる行動ログには意味がないからである。
【0038】
ステップS32にて行動モデルDB123が検索された結果、行動推薦部131は、取得された行動モデルの数がいくつか判断する(ステップS33)。行動モデルが取得されなかった場合には、処理は終了し、アバタに行動は推薦されない。一方、行動モデルが複数取得された場合には、行動推薦部131は、支持度の高い行動モデルを取得する(ステップS34)。図10の例において、「4−2」を条件として行動モデルDB123を検索すると、「4−2−3」と「4−2−3−1」の2つの行動モデルが得られる。「4−2−3」の支持度は0.8、「4−2−3−1」の支持度は0.3であるので、「4−2−3」が推薦行動モデルとして取得される。なお、条件に一致する行動モデルが1つしかない場合には、それが推薦行動モデルとなる。
【0039】
行動推薦部131は、推薦行動モデルが取得されると、推薦行動モデルのうちステップS31にて作成された行動列と一致する部分の次の行動を推薦行動として取得する(ステップS35)。図10において、行動列「4−2」を条件として「4−2−3」が取得されたので、「4−2」の次の動作「3」が推薦する行動として取得される。行動モデルは行動のIDから構成されているため、推薦行動はIDで取得される。
【0040】
続いて、行動推薦部131は、ステップS35にて取得された推薦行動を条件に行動テーブルDB133を検索し、推薦方法を取得し(ステップS36)、その内容に従ってクライアント端末の出力部103を用いて行動の推薦を行う(ステップS37)。図10において、「ボタンを押す」とのメッセージを表示する方法が、行動「3」を推薦する方法として取得され、クライアント端末200のディスプレイに「ボタンを押す」というメッセージが表示される。図10(b)は、アバタに行動を推薦している画面を示す図である。図10(c)は、アバタが推薦された行動を行っている画面を示す図である。行動が推薦されることで、ゲーム機の操作方法をアバタが知ることができ、次に行うべき操作を行うことができる。
【0041】
このように、アバタが次に行う行動をアバタのユーザに推薦することで、次に行うべき操作がわからないためにサイトに対して悪印象を持つことを防ぐことができ、また、サイトを十分に楽しむための行動をすることができる。もし、アバタが図10(b)にて推薦された行動とは別の行動である「上を向く」を行った場合には、再度行動推薦処理が行われる。このとき、ステップS30にて取得される行動は、(1)上を向く、(2)A地点に着く、(3)上を向く、の3つの行動が取得され、ステップ31以降の処理が行われる。ただし、アバタが行動テーブルに定義されてない行動を行った場合には、再度推薦処理は行われず、そのまま「ボタンを押す」のメッセージが表示され続ける。
【0042】
以下に、本発明の一実施形態である成功モデルを用いた実施例を説明する。
【実施例1】
【0043】
車に乗って場所を回ることができるサイトを一例として説明する。このサイトでは、予め、そのサイトの対する重要な行動についての行動テーブルが作成されており、また、そのサイトに対して満足な評価をした他のアバタ等が行った行動が、成功モデルとして行動モデルDB123に記憶されているとする。図11は、車に乗ってサイト内を回ることができるサイトを訪れたアバタに行動を推薦する仕組みを示した図である。アバタがサイトに入場した後、チケット売り場にて乗車券を購入し(ID=2とする)、車の乗り場へ到着する(ID=3とする)。
【0044】
そうすると、アバタの行動列「2−3」を条件として、行動推薦部131は、行動モデルDB123を検索し、「2−3−4」の成功モデルが抽出される。アバタにID=4の「車に乗る」という行動を推薦するための方法は、ID=4を条件として行動テーブルの推薦方法を取得することで得られる。推薦方法には、「Msg(“車に乗ってください!”)」と「Open Objectβ」の2つが設定されている。これは、「車に乗ってください!」というメッセージを表示すること、車の左後部ドアを開けることをそれぞれ意味している。行動推薦部131は、これらの推薦方法をアバタのユーザが使用しているクライアント端末200のディスプレイに表示する。本例では、推薦方法には2つ設定されているが、推薦方法は2つに限らず複数設定することができる。それにより、アバタが次に行う行動を複数の方法にて推薦することができる。
【実施例2】
【0045】
森の中に世界の名所が点在し、アバタが歩いて名所観光をするサイトを一例として説明する。このサイトでは、予め、そのサイトの対する重要な行動についての行動テーブルが作成されており、また、そのサイトに対して満足な評価をした他のアバタ等が行った行動が、成功モデルに記憶されているとする。図12は、森の中の名所を観光するサイトを訪れたアバタに行動を推薦する仕組みを示した図である。アバタがサイトに入場した後、観光案内所を訪れ(ID=1とする)、ローマを観光した(ID=10とする)後、分かれ道に到着する(ID=2とする)。
【0046】
そうすると、アバタの行動列「1−10−2」を条件として、行動推薦部131は、行動モデルDB123を検索し、「1−10−2−3」の成功モデルが抽出される。アバタにID=3の「右に進む」という行動を推薦するための方法は、ID=3を条件として行動テーブルの推薦方法を取得することで得られる。推薦方法には、「Msg(“右に進んでください”)」と「Disp(RIGHTARROW,(x,y))」の2つが設定されている。これは、「右に進んでください」というメッセージを表示すること、道に右に進むように矢印を表示することをそれぞれ意味している。行動推薦部131は、これらの推薦方法をアバタのユーザが使用しているクライアント端末200のディスプレイに表示する。
【0047】
その後、アバタが右へ進むと、今度はアバタの行動列「1−10−2−3」を条件として、行動推薦部131は、行動モデルDB123を検索する。その結果、「1−10−2−3−14」の成功モデルが抽出され、行動推薦部131は、今度はID=14を条件として行動テーブルを検索し、「ようこそ、パリへ」のメッセージと下向き矢印を表示する2つの行動推薦方法を取得し、アバタのユーザが使用しているクライアント端末200のディスプレイにこれらの推薦方法を表示する。このように、アバタが行動する度に、それまでに行った行動ログに基づいて成功モデルが抽出され直される。それにより、変化するアバタの行動ログに対して、逐次適切な行動をアバタに推薦することができる。
【実施例3】
【0048】
画像の編集を行うためのソフトウェアと一例として説明する。このソフトウェアでは、予め、そのソフトウェアの対する重要な操作についての操作テーブルが作成されており、また、そのソフトウェアに対して満足な評価をした他のユーザ等が行った操作が、成功モデルに記憶されているとする。図13は、画像の編集を行うためのソフトウェアを操作するユーザに操作を推薦する仕組みを示した図である。ユーザはソフトウェアを起動した後、写真の画像を開き(ID=1とする)、写真の明るさ/コントラストを変更した(ID=2とする)。
【0049】
そうすると、ユーザの操作列「1−2」を条件として、行動推薦部131は、行動モデルDB123を検索し、「1−2−3」の成功モデルが抽出される。ユーザにID=3の「色合い変更」という操作を推薦するための方法は、ID=3を条件として行動テーブルの推薦方法を取得することで得られる。推薦方法には、「Move the cursor onto the button β」が設定されている。これは、カーソルが自動で色合い変更ボタンへ移動することを意味している。行動推薦部131は、これらの推薦方法をユーザが使用しているクライアント端末200のディスプレイに表示する。このように、仮想世界のアバタのユーザに行動を推薦するだけでなく、コンピュータにインストールされたソフトウェアのユーザに対してソフトウェア操作を推薦することができる。
【0050】
図14は、図2で説明した操作支援サーバ装置100の典型的なハードウェア構成例として情報処理装置400を示した図である。以下、この情報処理装置400のハードウェア構成の一例を示す。情報処理装置400は、CPU(Central Processing Unit)1010、バスライン1005、通信I/F1040、メインメモリ1050、BIOS(Basic Input Output System)1060、パラレルポート1080、USBポート1090、グラフィック・コントローラ1020、VRAM1024、音声プロセッサ1030、I/Oコントローラ1070、ならびにキーボードおよびマウス・アダプタ等1100の入力手段を備える。I/Oコントローラ1070には、フレキシブル・ディスク(FD)ドライブ1072、ハード・ディスク1074、光ディスクドライブ1076、半導体メモリ1078等の記憶手段を接続することができる。
【0051】
音声プロセッサ1030には、増幅回路1032、およびスピーカ1034が接続される。また、グラフィック・コントローラ1020には、表示装置1022が接続されている。
【0052】
BIOS1060は、情報処理装置400の起動時にCPU1010が実行するブートプログラムや、情報処理装置400のハードウェアに依存するプログラム等を格納する。FD(フレキシブル・ディスク)ドライブ1072は、フレキシブル・ディスク1071からプログラムまたはデータを読み取り、I/Oコントローラ1070を介してメインメモリ1050またはハード・ディスク1074に提供する。
【0053】
光ディスクドライブ1076としては、例えば、DVD−ROMドライブ、CD−ROMドライブ、DVD−RAMドライブ、CD−RAMドライブを使用することができる。この際は各ドライブに対応した光ディスク1077を使用する必要がある。光ディスクドライブ1076は光ディスク1077からプログラムまたはデータを読み取り、I/Oコントローラ1070を介してメインメモリ1050またはハード・ディスク1074に提供することもできる。
【0054】
情報処理装置400に提供されるコンピュータ・プログラムは、フレキシブル・ディスク1071、光ディスク1077、またはメモリカード等の記録媒体に格納されて利用者によって提供される。このコンピュータ・プログラムは、I/Oコントローラ1070を介して、記録媒体から読み出され、または通信I/F1040を介してダウンロードされることによって、情報処理装置400にインストールされ実行される。コンピュータ・プログラムが情報処理装置に働きかけて行わせる動作は、既に説明した装置における動作と同一であるので省略する。
【0055】
前述のコンピュータ・プログラムは、外部の記憶媒体に格納されてもよい。記憶媒体としてはフレキシブル・ディスク1071、光ディスク1077、またはメモリカードの他に、MD等の光磁気記録媒体、テープ媒体を用いることができる。また、専用通信回線やインターネットに接続されたサーバシステムに設けたハード・ディスクまたは光ディスク・ライブラリ等の記憶装置を記録媒体として使用し、通信回線を介してコンピュータ・プログラムを情報処理装置400に提供してもよい。
【0056】
以上の例は、情報処理装置400について主に説明したが、コンピュータに、情報処理装置で説明した機能を有するプログラムをインストールして、そのコンピュータを情報処理装置として動作させることにより上記で説明した情報処理装置と同様な機能を実現することができる。従って、本発明において1つの実施形態として説明した情報処理装置は、方法およびそのコンピュータ・プログラムによっても実現可能である。
【0057】
本発明の装置は、ハードウェア、ソフトウェア、またはハードウェアおよびソフトウェアの組み合わせとして実現可能である。ハードウェアとソフトウェアの組み合わせによる実施では、所定のプログラムを有するコンピュータ・システムでの実施が典型的な例として挙げられる。かかる場合、該所定のプログラムが該コンピュータ・システムにロードされ実行されることにより、該プログラムは、コンピュータ・システムに本発明にかかる処理を実行させる。このプログラムは、任意の言語、コード、または表記によって表現可能な命令群から構成される。そのような命令群は、システムが特定の機能を直接実行すること、または(1)他の言語、コード、もしくは表記への変換、(2)他の媒体への複製、のいずれか一方もしくは双方が行われた後に、実行することを可能にするものである。もちろん、本発明は、そのようなプログラム自体のみならず、プログラムを記録した媒体を含むプログラム製品もその範囲に含むものである。本発明の機能を実行するためのプログラムは、フレキシブル・ディスク、MO、CD−ROM、DVD、ハード・ディスク装置、ROM、MRAM、RAM等の任意のコンピュータ可読媒体に格納することができる。かかるプログラムは、コンピュータ可読媒体への格納のために、通信回線で接続する他のコンピュータ・システムからダウンロードしたり、他の媒体から複製したりすることができる。また、かかるプログラムは、圧縮し、または複数に分割して、単一または複数の記録媒体に格納することもできる。
【0058】
以上、本発明を実施形態に則して説明したが、本発明は上述した実施形態に限るものではない。また、本発明の実施形態に記載された効果は、本発明から生じる最も好適な効果を列挙したに過ぎず、本発明による効果は、本発明の実施形態または実施例に記載されたものに限定されるものではない。
【図面の簡単な説明】
【0059】
【図1】本実施例の操作支援サーバ装置の態様を示した図である。
【図2】本発明を仮想世界に適用した実施形態における操作支援サーバ装置とクライアント端末のそれぞれの構成を示す図である。
【図3】行動モデル作成処理のフローチャートである。
【図4】行動ログ記録処理のフローチャートである。
【図5】行動テーブルDBに記憶されている行動テーブルのデータ構成を示す図である。
【図6】あるサイトにおけるアバタA,Bの行動ログを示す図である。
【図7】GSPを利用した行動モデル作成処理のフローチャートである。
【図8】ステップS22で行われるマージ方法および抽出された行動モデルを示した図である。
【図9】行動推薦処理のフローチャートである。
【図10】あるサイトを訪れたアバタに行動を推薦する具体例を示す図である。
【図11】車に乗ってサイト内を回ることができるサイトを訪れたアバタに行動を推薦する仕組みを示した図である。
【図12】森の中の名所を観光するサイトを訪れたアバタに行動を推薦する仕組みを示した図である。
【図13】画像の編集を行うためのソフトウェアを操作するユーザに操作を推薦する仕組みを示した図である。
【図14】操作支援サーバ装置の典型的なハードウェア構成例として情報処理装置を示した図である。
【符号の説明】
【0060】
100 操作支援サーバ装置
102 通信部
110 行動記録制御部
111 行動ログ記録部
112 ユーザ評価取得部
113 行動ログDB
120 行動モデル制御部
121 行動モデル生成部
123 行動モデルDB
130 行動推薦制御部
131 行動推薦部
133 行動テーブルDB

【特許請求の範囲】
【請求項1】
アプリケーションの操作を行うユーザに対する操作支援サーバ装置であって、
前記アプリケーションに対する操作と、前記操作を特定する操作IDとが予め定義された操作表を記憶する操作表記憶部と、
前記操作表に基づいて、前記ユーザの操作を対応付けられた前記操作IDに変換することにより、1以上の前記ユーザの操作により構成される前記ユーザの操作履歴から前記操作IDで構成される操作列を作成する操作列作成部と、
前記操作列作成部にて作成された操作列を記憶する操作記録記憶部と、
前記操作記録記憶部に記憶された操作列を構成する部分操作列のうち、所定の値以上の頻度で出現する出現操作列を抽出する出現操作列抽出部と、
前記出現操作列抽出部にて抽出された出現操作列を記憶する出現操作列記憶部と、
を備える操作支援サーバ装置。
【請求項2】
前記ユーザが操作を行った際に、前記操作列作成部にて作成された操作列と先頭一致する前記出現操作列を前記出現操作列記憶部から抽出し、抽出された前記出現操作列のうち前記操作列作成部にて作成された前記操作IDで構成される操作列と一致した次の前記操作IDと前記操作IDに対応するユーザへの操作支援手段を有する前記操作表記憶部とに基づいて、前記操作支援手段を前記ユーザに推薦する操作として出力する操作支援手段出力部と、
を更に備える、請求項1に記載の操作支援サーバ装置。
【請求項3】
前記出現操作列抽出部にて抽出される出現操作列は、前記操作記録記憶部に記憶された全操作列に対する前記出現操作列の割合を支持度として、前記支持度が所定の値以上であるものとして抽出される、請求項1に記載の操作支援サーバ装置。
【請求項4】
前記出現操作列記憶部は、前記支持度を前記出現操作列抽出部にて抽出された出現操作列に対応付けて記憶し、
前記出現操作列記憶部に記憶されている支持度は、前記出現操作列記憶部に記憶された出現操作列を抽出する際の優先順位として用いられる、請求項3に記載の操作支援サーバ装置。
【請求項5】
前記ユーザの前記アプリケーションに対する評価値を取得する評価取得部を更に備え、
前記操作列作成部は、前記評価取得部にて取得された評価値に基づいて、前記操作列作成部が前記操作列を作成する操作履歴を決定する、請求項1に記載の操作支援サーバ装置。
【請求項6】
前記操作列作成部は、前記評価取得部にて取得された評価値が所定の値より高い前記操作履歴から操作列を作成する、請求項5に記載の操作支援サーバ装置。
【請求項7】
前記アプリケーションの操作を行う前記ユーザは、仮想世界における前記ユーザの分身であるアバタの操作を行うユーザである、請求項1に記載の操作支援サーバ装置。
【請求項8】
アプリケーションの操作を行うユーザに対する操作支援方法であって、
前記アプリケーションに対する操作と、前記操作を特定する操作IDとが予め定義された操作表に基づいて、前記操作を対応付けられた前記操作IDに変換することにより、1以上の前記ユーザの操作により構成される前記ユーザの操作履歴から前記操作IDで構成される操作列を作成するステップと、
前記作成された操作列を操作記録として記憶するステップと、
前記操作記録として記憶された操作列を構成する部分操作列のうち、所定の値以上の頻度で出現する出現操作列を抽出するステップと、
前記抽出された出現操作列を記憶するステップと、
を含む操作支援方法。
【請求項9】
前記ユーザが操作を行った際に、前記ユーザの操作履歴から作成された操作列と先頭一致する出現操作列を抽出するステップと、
前記抽出された出現操作列のうち前記ユーザの操作履歴から作成された操作列と一致した次の前記操作IDと前記操作IDに対応するユーザへの操作支援手段を有する前記操作表とに基づいて、前記操作支援手段を前記ユーザに推薦する操作として出力するステップと、
を更に含む、請求項8に記載の操作支援方法。
【請求項10】
前記所定の値以上の頻度で出現する出現操作列は、前記操作記録に記憶された全操作列に対する前記出現操作列の割合を支持度として、前記支持度が所定の値以上である、請求項8に記載の操作支援方法。
【請求項11】
前記支持度は、前記抽出された出現操作列と対応付けて記憶され、前記支持度は、前記出現操作列を抽出する際の優先順位として用いられる、請求項10に記載の操作支援方法。
【請求項12】
前記ユーザの前記アプリケーションに対する評価値を求めるステップと、
前記ユーザによる前記アプリケーションの評価値に基づいて前記操作列を作成する操作履歴を決定するステップと、
を更に含む、請求項8に記載の操作支援方法。
【請求項13】
前記アプリケーションの評価値が所定の値より高い前記操作履歴の操作列を作成する、請求項12に記載の操作支援方法。
【請求項14】
前記アプリケーションの操作を行う前記ユーザは、仮想世界における前記ユーザの分身であるアバタの操作を行うユーザである、請求項8に記載の操作支援方法。
【請求項15】
コンピュータにより、アプリケーションの操作を行うユーザに対する操作支援を行わせるプログラムであって、前記コンピュータをして、
前記アプリケーションに対する操作と、前記操作を特定する操作IDとが予め定義された操作表に基づいて、前記操作を対応付けられた前記操作IDに変換することにより、1以上の前記ユーザの操作により構成される前記ユーザの操作履歴から前記操作IDで構成される操作列を作成するステップと、
前記作成された操作列を操作記録として記憶するステップと、
前記操作記録として記憶された操作列を構成する部分操作列のうち、所定の値以上の頻度で出現する出現操作列を抽出するステップと、
前記抽出された出現操作列を記憶するステップと、
を実行させる、プログラム。
【請求項16】
前記ユーザが操作を行った際に、前記ユーザの操作履歴から作成された操作列と先頭一致する出現操作列を抽出するステップと、
前記抽出された出現操作列のうち前記ユーザの操作履歴から作成された操作列と一致した次の前記操作IDと前記操作IDに対応するユーザへの操作支援手段を有する前記操作表とに基づいて、前記操作支援手段を前記ユーザに推薦する操作として出力するステップと、
を更に含む、請求項15に記載のプログラム。
【請求項17】
前記所定の値以上の頻度で出現する出現操作列は、前記操作記録に記憶された全操作列に対する前記出現操作列の割合を支持度として、前記支持度が所定の値以上である、請求項15に記載のプログラム。
【請求項18】
前記支持度は、前記抽出された出現操作列と対応付けて記憶され、前記支持度は、前記出現操作列を抽出する際の優先順位として用いられる、請求項17に記載のプログラム。
【請求項19】
前記ユーザの前記アプリケーションに対する評価値を求めるステップと、
前記ユーザによる前記アプリケーションの評価値に基づいて前記操作列を作成する操作履歴を決定するステップと、
を更に含む、請求項15に記載のプログラム。

【図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

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate


【公開番号】特開2009−201809(P2009−201809A)
【公開日】平成21年9月10日(2009.9.10)
【国際特許分類】
【出願番号】特願2008−48343(P2008−48343)
【出願日】平成20年2月28日(2008.2.28)
【出願人】(390009531)インターナショナル・ビジネス・マシーンズ・コーポレーション (4,084)
【氏名又は名称原語表記】INTERNATIONAL BUSINESS MASCHINES CORPORATION
【復代理人】
【識別番号】100106002
【弁理士】
【氏名又は名称】正林 真之
【Fターム(参考)】