(57)【特許請求の範囲】
【請求項１】
アプリケーションの操作を行うユーザに対する操作支援サーバ装置であって、
前記アプリケーションに対する操作と、前記操作を特定する操作ＩＤとが予め定義された操作表を記憶する操作表記憶部と、
前記操作表に基づいて、前記ユーザの操作を対応付けられた前記操作ＩＤに変換することにより、１以上の前記ユーザの操作により構成される前記ユーザの操作履歴から前記操作ＩＤで構成される操作列を作成する操作列作成部と、
前記操作列作成部にて作成された操作列を記憶する操作記録記憶部と、
前記操作記録記憶部に記憶された操作列を構成する部分操作列のうち、所定の値以上の頻度で出現する出現操作列を抽出する出現操作列抽出部と、
前記出現操作列抽出部にて抽出された出現操作列を記憶する出現操作列記憶部と、
を備える操作支援サーバ装置。
【請求項２】
前記ユーザが操作を行った際に、前記操作列作成部にて作成された操作列と先頭一致する前記出現操作列を前記出現操作列記憶部から抽出し、抽出された前記出現操作列のうち前記操作列作成部にて作成された前記操作ＩＤで構成される操作列と一致した次の前記操作ＩＤと前記操作ＩＤに対応するユーザへの操作支援手段を有する前記操作表記憶部とに基づいて、前記操作支援手段を前記ユーザに推薦する操作として出力する操作支援手段出力部と、
を更に備える、請求項１に記載の操作支援サーバ装置。
【請求項３】
前記出現操作列抽出部にて抽出される出現操作列は、前記操作記録記憶部に記憶された全操作列に対する前記出現操作列の割合を支持度として、前記支持度が所定の値以上であるものとして抽出される、請求項１に記載の操作支援サーバ装置。
【請求項４】
前記出現操作列記憶部は、前記支持度を前記出現操作列抽出部にて抽出された出現操作列に対応付けて記憶し、
前記出現操作列記憶部に記憶されている支持度は、前記出現操作列記憶部に記憶された出現操作列を抽出する際の優先順位として用いられる、請求項３に記載の操作支援サーバ装置。
【請求項５】
前記ユーザの前記アプリケーションに対する評価値を取得する評価取得部を更に備え、
前記操作列作成部は、前記評価取得部にて取得された評価値に基づいて、前記操作列作成部が前記操作列を作成する操作履歴を決定する、請求項１に記載の操作支援サーバ装置。
【請求項６】
前記操作列作成部は、前記評価取得部にて取得された評価値が所定の値より高い前記操作履歴から操作列を作成する、請求項５に記載の操作支援サーバ装置。
【請求項７】
前記アプリケーションの操作を行う前記ユーザは、仮想世界における前記ユーザの分身であるアバタの操作を行うユーザである、請求項１に記載の操作支援サーバ装置。
【請求項８】
請求項１に記載の操作支援サーバ装置が実行する操作支援方法であって、
前記操作列作成部が、前記アプリケーションに対する操作と、前記操作を特定する操作ＩＤとが予め定義された操作表に基づいて、前記操作を対応付けられた前記操作ＩＤに変換することにより、１以上の前記ユーザの操作により構成される前記ユーザの操作履歴から前記操作ＩＤで構成される操作列を作成するステップと、
前記操作記録記憶部が、前記作成された操作列を操作記録として記憶するステップと、
前記出現操作列抽出部が、前記操作記録として記憶された操作列を構成する部分操作列のうち、所定の値以上の頻度で出現する出現操作列を抽出するステップと、
前記出現操作列記憶部が、前記抽出された出現操作列を記憶するステップと、
を含む操作支援方法。
【請求項９】
請求項２に記載の操作支援サーバ装置が実行する操作支援方法であって、
前記操作列作成部が、前記アプリケーションに対する操作と、前記操作を特定する操作ＩＤとが予め定義された操作表に基づいて、前記操作を対応付けられた前記操作ＩＤに変換することにより、１以上の前記ユーザの操作により構成される前記ユーザの操作履歴から前記操作ＩＤで構成される操作列を作成するステップと、
前記操作記録記憶部が、前記作成された操作列を操作記録として記憶するステップと、
前記出現操作列抽出部が、前記操作記録として記憶された操作列を構成する部分操作列のうち、所定の値以上の頻度で出現する出現操作列を抽出するステップと、
前記出現操作列記憶部が、前記抽出された出現操作列を記憶するステップと、
前記操作支援手段出力部が、前記ユーザが操作を行った際に、前記ユーザの操作履歴から作成された操作列と先頭一致する出現操作列を抽出するステップと、
前記操作支援手段出力部が、前記抽出された出現操作列のうち前記ユーザの操作履歴から作成された操作列と一致した次の前記操作ＩＤと前記操作ＩＤに対応するユーザへの操作支援手段を有する前記操作表とに基づいて、前記操作支援手段を前記ユーザに推薦する操作として出力するステップと、
を含む、操作支援方法。
【請求項１０】
前記所定の値以上の頻度で出現する出現操作列は、前記操作記録に記憶された全操作列に対する前記出現操作列の割合を支持度として、前記支持度が所定の値以上である、請求項８に記載の操作支援方法。
【請求項１１】
前記支持度は、前記抽出された出現操作列と対応付けて記憶され、前記支持度は、前記出現操作列を抽出する際の優先順位として用いられる、請求項１０に記載の操作支援方法。
【請求項１２】
請求項５に記載の操作支援サーバ装置が実行する操作支援方法であって、
前記操作列作成部が、前記アプリケーションに対する操作と、前記操作を特定する操作ＩＤとが予め定義された操作表に基づいて、前記操作を対応付けられた前記操作ＩＤに変換することにより、１以上の前記ユーザの操作により構成される前記ユーザの操作履歴から前記操作ＩＤで構成される操作列を作成するステップと、
前記操作記録記憶部が、前記作成された操作列を操作記録として記憶するステップと、
前記出現操作列抽出部が、前記操作記録として記憶された操作列を構成する部分操作列のうち、所定の値以上の頻度で出現する出現操作列を抽出するステップと、
前記出現操作列記憶部が、前記抽出された出現操作列を記憶するステップと、
前記評価取得部が、前記ユーザの前記アプリケーションに対する評価値を求めるステップと、
前記操作列作成部が、前記評価値を求めるステップにて取得された評価値に基づいて前記操作列を作成する操作履歴を決定するステップと、
を含む、操作支援方法。
【請求項１３】
前記操作履歴を決定するステップは、前記操作列作成部が、前記評価値を求めるステップにて取得された評価値が所定の値より高い前記操作履歴の操作列を作成する、
請求項１２に記載の操作支援方法。
【請求項１４】
前記アプリケーションの操作を行う前記ユーザは、仮想世界における前記ユーザの分身であるアバタの操作を行うユーザである、請求項８に記載の操作支援方法。
【請求項１５】
コンピュータに、請求項８に記載の操作支援方法の各ステップを行わせるプログラム。
【請求項１６】
コンピュータに、請求項９に記載の操作支援方法の各ステップを行わせるプログラム。
【請求項１７】
前記所定の値以上の頻度で出現する出現操作列は、前記操作記録に記憶された全操作列に対する前記出現操作列の割合を支持度として、前記支持度が所定の値以上である、請求項１５に記載のプログラム。
【請求項１８】
前記支持度は、前記抽出された出現操作列と対応付けて記憶され、前記支持度は、前記出現操作列を抽出する際の優先順位として用いられる、請求項１７に記載のプログラム。
【請求項１９】
コンピュータに、請求項１２に記載の操作支援方法の各ステップを行わせるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、アプリケーションの操作を行うユーザに対して、適切な操作を支援するための操作支援サーバ装置、操作支援方法、およびコンピュータ・プログラムに関する。
【背景技術】
【０００２】
ネットワーク上のサーバが作り出す仮想世界（仮想空間ともいう）においては、従来のゲームのように決まったシナリオはなく、参加者は皆、ユーザの分身であるキャラクタ（以下、アバタという）を活用して自己表現を行い、買い物や他のユーザのアバタとコミュニケーションを行ったりすることで、自由に仮想世界を楽しむことができる。
【０００３】
この仮想世界に、続々と企業が進出している。仮想世界に進出した企業の多くが目的とすることは、商品やサービスの販売のためのプロモーション、ブランドイメージ向上のためのプロモーション等に仮想世界を利用することである。更には、広告や仮想コマース、顧客サービスやコラボレーション等を行う際にも仮想世界を利用することである。
【０００４】
仮想世界に進出した企業は、仮想世界内の自社サイトにて様々なサービスを提供している。サービスとしては、例えば、バーチャル店舗にて自社商品を販売することや、クイズ大会のようなイベントを開催することが挙げられる。一方、仮想世界に進出した企業の中には、アバタに商品を購入させる等の明確なゴールを持たず、自社サイト内で比較的自由にアバタに楽しんでもらうことでブランドイメージの向上につなげようとするものが増えている。このようなサイトを初めて訪れたアバタの中にはサイトにおいてどのように行動すれば楽しめるのか分からない者もおり、そのアバタに過去にサイトを訪れた多くのアバタが共通して行った行動を教えることは有益である。
【０００５】
過去にサイトを訪れたアバタの共通した行動を抽出する方法として、特許文献１のようなものがある。この特許文献１では、多くのアバタの行動を記録し、それらのアバタに共通する特徴的な行動パターンを抽出する方法が提案されている。特許文献１に記載の方法は、大量の移動体の行動履歴から、移動体が訪問する訪問場所と訪問順序と、各訪問場所における滞在時間とで表された、多くの移動体に共通する行動パターンを容易に抽出する。
【特許文献１】特開２００５−０５６０２２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかしながら、特許文献１に記載の方法は、多くのアバタの行動を記憶し、その中から特徴的な行動パターンを抽出するものであるが、「訪問」という行動のみを扱うものである。一方、アバタの行動には「訪問」以外にも様々あるため、特許文献１に記載の方法では、「訪問」以外のアバタの行動を取得することができないという問題がある。また、特許文献１には、抽出された行動パターンを他のアバタに提示する方法が記載されていない。更に、特許文献１で扱われていない問題として、仮想世界と同様にソフトウェアにおいても、ユーザが操作方法をわからず、ソフトウェアに対し悪い印象を持ってしまうという問題がある。
【０００７】
そこで、本発明は上記課題に鑑み、過去にユーザが行った様々なアプリケーション操作の中から最適な操作を抽出し、ユーザに提示することで、ユーザの操作を支援する操作支援サーバ装置を提供することを目的とする。
【課題を解決するための手段】
【０００８】
本発明の１つの態様によると、アプリケーションの操作を行うユーザに対する操作支援サーバ装置を提供する。操作支援サーバ装置は、操作表記憶部、操作列作成部、操作記録記憶部、出現操作列抽出部、および出現操作列記憶部を備える。操作表記憶部は、アプリケーションに対するユーザの操作と、その操作を特定する操作ＩＤとが予め定義された操作表を記憶する。また、操作列作成部は、操作表に基づいて、ユーザの操作を対応付けられた前記操作ＩＤに変換することにより、１以上の前記ユーザの操作により構成される前記ユーザの操作履歴から前記操作ＩＤで構成される操作列を作成し、操作記録記憶部が作成された操作列を記憶する。更に、出現操作列抽出部は、前記操作記録記憶部に記憶された操作列を構成する部分操作列のうち、所定の値以上の頻度で出現する出現操作列を抽出し、出現操作列記憶部が、抽出された出現操作列を記憶する。
【０００９】
「アプリケーション」とは、コンピュータにインストールされている文書の作成、数値計算等のソフトウェアや、サーバー・クライアント形態をとりクライアントが多数同時参加する仮想世界をいう。本態様によれば、アプリケーションにおけるユーザの操作履歴と前記アプリケーションに対する操作を定義した操作表とを用いて出現操作列を作成することにより、前記アプリケーションに対する出現操作列が作成される。また、操作ＩＤが定義されている操作表を用いて、ユーザの操作履歴を操作ＩＤであらわすことにより、操作履歴をシーケンス化することができる。
【００１０】
また、本態様は、操作支援サーバ装置は、操作支援手段出力部を更に備えることができる。操作支援手段出力部は、ユーザが操作を行った際に、前記操作列作成部にて前記ユーザの操作履歴から作成された操作列と先頭一致する前記出現操作列を前記出現操作列記憶部から抽出する。続いて、操作支援手段出力部は、抽出された前記出現操作列のうち前記ユーザの操作履歴から作成された操作列と一致した次の前記操作ＩＤと前記操作ＩＤに対応するユーザへの操作支援手段を有する前記操作表記憶部とに基づいて、前記操作支援手段を前記ユーザに推薦する操作として出力する。
【００１１】
本態様によると、他のユーザが行った操作記録から作成された出現操作列に基づいて、ユーザが次に行う操作が推薦されることにより、アプリケーションのユーザが、次に行うべき操作がわからないためにアプリケーションに対して悪印象を持つことを防ぐことができる。
【００１２】
また、本態様は、操作支援サーバ装置は、前記ユーザの前記アプリケーションに対する評価値を取得する評価取得部を更に備え、前記操作列作成部は、前記評価取得部にて取得された評価値に基づいて、前記操作列作成部は前記操作列を作成する操作履歴を決定することができる。
【００１３】
評価取得部を更に備えることにより、前記操作記録記憶部は所定の評価値の操作記録を記憶するため、全操作記録という膨大なデータを記憶せずにすむ。ここで、所定の評価値とは、アプリケーションに対する任意の満足度等をいう。また、所定の評価値を有する操作記録から出現操作列が作成されることにより、例えば、良い評価が得られる出現操作列や悪い評価になってしまう出現操作列というように、出現操作列を評価で分類することができる。
【発明の効果】
【００１４】
本発明によれば、過去にユーザが行った様々なアプリケーション操作の中から最適な操作を抽出し、ユーザに提示することで、ユーザの操作を支援する操作支援サーバ装置を提供することができる。
【発明を実施するための最良の形態】
【００１５】
以下、本発明の実施形態について図面を参照しながら説明する。図１は、本実施例の操作支援サーバ装置１００の態様を示した図である。図示されているように、本実施例の操作支援サーバ装置１００は、インターネットやイントラネットに代表されるネットワーク３００等の通信回線を介して、ユーザ側のクライアント端末２００−１、２００−２・・・２００―ｎ（以下、クライアント端末２００−１から２００―ｎを区別する必要がない場合は、単にクライアント端末２００という）は、ユーザ側のクライアント端末２００とデータをやり取り可能に接続されている。ここで、クライアント端末２００とは、ネットワーク３００を介して、あるいは互いに直接、データのやり取り可能な機器であればよく、例えば、パーソナル・コンピュータが挙げられる。なお、本構成における操作支援サーバ装置は必ずしも１台とは限らず、複数台で構成されてもよい。
【００１６】
本発明を仮想世界に適用した実施形態について説明する。以降、ユーザによる操作はアバタの行動として記述する。図２は、本発明を仮想世界に適用した実施形態における操作支援サーバ装置１００とクライアント端末２００のそれぞれの構成を示す図である。操作支援サーバ装置１００は、通信部１０２、行動記録制御部１１０、行動モデル制御部１２０、および行動推薦制御部１３０を備える。行動記録制御部１１０として、行動ログ記録部１１１、ユーザ評価取得部１１２、および行動ログデータベース１１３（以下、簡略化のためデータベースをＤＢとする）を有する。行動モデル制御部１２０として、行動モデル生成部１２１、および行動モデルＤＢ１２３を有する。行動推薦制御部１３０として、行動推薦部１３１、および行動テーブルＤＢ１３３を有する。一方、クライアント端末２００は、操作支援サーバ装置１００とデータの送受信を行う通信部１０２、クライアント端末２００のユーザにてアバタの行動等が入力される入力部１０１、および仮想世界の画像やアバタの音声を出力する出力部１０３を備える。
【００１７】
以下に操作支援サーバ装置１００の各機能部について説明する。ユーザ評価取得部１１２は、あるサイトを訪問したアバタのそのサイトに対する評価値を取得する。行動ログ記録部１１１は、ユーザ評価取得部１１２にて取得したサイトの評価値に基づいてアバタの行動ログを選別する。行動ログＤＢ１１３は、行動ログ記録部１１１にて選別されたアバタの行動ログを記憶する。行動モデル生成部１２１は、行動ログＤＢ１１３に記憶されている行動ログから得られる所定の頻度で出現する頻出行動列（出現操作列）を行動モデルとして抽出する。行動モデルＤＢ１２３は、行動モデル生成部１２１にて抽出された行動モデルを記憶する。行動推薦部１３１は、アバタの行動に基づいて推薦すべき行動を行動モデルＤＢ１２３から取得する。行動テーブルＤＢ１３３は、あるサイトにおけるアバタの重要な行動が定義され、主に、アバタの行動、ＩＤ、行動の推薦方法が定義されている。
【００１８】
行動ログ記録部１１１は操作列作成部の一例であり、ユーザ評価取得部１１２は評価取得部の一例であり、行動ログＤＢ１１３は操作記録記憶部の一例であり、行動モデル生成部１２１は、出現操作列抽出部の一例であり、行動モデルＤＢ１２３は出現操作列記憶部の一例であり、行動推薦部１３１は、操作支援手段出力部の一例であり、行動テーブルＤＢ１３３は、操作表記憶部の一例である。なお、各記憶部はハード・ディスク上のＤＢに限らず、メモリ、磁気テープやフレキシブル・ディスク等の外部記憶装置でもよい。操作支援サーバ装置１００のハードウェア構成については後述する。
【００１９】
次に、操作支援サーバ装置１００におけるアバタの行動モデル作成処理について説明する。図３は、行動モデル作成処理のフローチャートである。まず、ステップＳ１において、行動記録制御部１１０は、アバタの行動ログ（操作履歴）から、行動列を作成し、行動ログＤＢ１１３に記憶する。ステップＳ１の行動ログ記録処理について、図４を用いて、詳細に説明する。図４は、行動ログ記録処理のフローチャートである。ある地点（以下、Ａ地点という）に到達したアバタが行動を始めると、行動記録制御部１１０は処理を開始する。Ａ地点とは、仮想世界内のサイト自体や仮想世界内のサイトの一地点、例えば、サイト内にある噴水の前をいう。処理が開始されると、行動ログ記録部１１１は、アバタの行動ログを一時的に記憶する（ステップＳ１０）。行動ログの記憶終了時は、サイト管理者が任意で決めることができ、サイトを離れた時やアバタが行動しなくなってから所定の時間が経過した時とすることができる。
【００２０】
次に、行動ログの記憶終了時に、ユーザ評価取得部１１２はＡ地点に対する評価値を取得する（ステップＳ１１）。評価値および評価値の取得方法については、サイト管理者が任意で決めることができる。評価値には、例えば、サイトに対する満足度や印象を３段階、５段階等のいくつかの段階で表したものを用いることができる。以降の説明において、サイトの評価値に、「満足」、「普通」、「不満足」の３段階を用いる。
【００２１】
また、評価値の取得方法については、例えば、評価を入力するためのポップアップ画面を表示し、アバタのユーザにサイトの評価値を入力してもらう方法や、アバタのサイト滞在時間から自動的にサイトの評価値を取得する方法が挙げられる。ユーザにサイトの評価値を入力してもらう場合において、ユーザが評価を入力しなかった時は、サイトの評価値を「不満足」としてもよいし、評価値が取得できなかったとして処理を終了してもよい。また、アバタのサイト滞在時間から自動的にサイトの評価を行う場合おいては、評価値を決定するために基準となる滞在時間を設定しておく必要がある。
【００２２】
ステップＳ１２において、行動ログ記録部１１１は、ステップＳ１１において取得したＡ地点に対する評価値が所定の評価値か否かを判断する。所定の評価値とは、サイト管理者が決めた評価値をいい、ここでは、「満足」、「普通」、「不満足」のいずれかの評価値である。ここで、評価値を「満足」とすると、行動モデルＤＢ１２３にはユーザが満足した行動モデル（以下、成功モデルという）が記憶され、一方、評価値を「不満足」とすると、行動モデルＤＢ１２３にはユーザが不満足だった行動モデル（以下、失敗モデルという）が記憶される。ステップＳ１３では、行動ログ記録部１１１は、行動テーブルＤＢ１３３を用いて、所定の評価値であるＡ地点における行動ログをシーケンス化し、行動列を作成する。
【００２３】
図５は、行動テーブルＤＢ１３３に記憶されている行動テーブルのデータ構成を示す図である。行動テーブルは、ＩＤ領域、アバタ行動領域、意味領域、推薦方法領域、パラメータ領域を有する。ＩＤ領域は、アバタの行動を特定するＩＤが記憶され、アバタ行動領域には、アバタの行動をシステム言語で記述したスクリプトが記憶されている。また、意味領域には、アバタ行動領域に記憶されているスクリプトの意味がサイト管理者にわかる言語で記憶され、推薦方法領域には、アバタに行動を推薦するためにコンピュータが行う処理のスクリプトが記憶され、パラメータ領域には、アバタ行動領域および推薦方法領域のスクリプトに使用されているパラメータの定義が記憶されている。
【００２４】
行動テーブルは、アバタの行動をシステム言語で記述したスクリプトとその意味を対応付けること、およびスクリプトのパラメータの設定を行うことができ、サイト管理者により予め定義される。これにより、サイトにおいて重要であるアバタの行動を、サイト管理者が予め定義することができる。なお、行動テーブルは、サイト毎に設ける必要がある。なぜならば、サイトによって重要である行動が異なるからである。例えば、サイト内（ｘ，ｙ）地点にモニュメントを置いているサイトにとって、（ｘ，ｙ）地点の周辺に到着するというイベントは意味のあるものであり注視すべきであるが、それ以外のサイトにとっては何の意味も持たないからである。
【００２５】
図４のステップＳ１３に戻って、所定の評価値を有するＡ地点における行動ログをシーケンス化し、行動列を作成する方法について説明する。図６は、あるサイトにおけるアバタＡ，Ｂの行動ログを示す図である。アバタＡは、あるサイトに入場した後、サイト内のＡ地点に移動し、到着する（Ａ１）。その後、ボタンを押す行動（Ａ２）を３回繰り返し、サイトを退場する。アバタＢは、サイトに入場した後、上を向いてから（Ａ５）、サイト内のＡ地点に移動し、到着する（Ａ１）。その後、ボタンを押す行動（Ａ２）を２回繰り返し、左に曲がり（Ａ６）、サイトを退場する。図５に示した行動テーブルを用いて、アバタＡ，Ｂそれぞれの行動ログをシーケンス化し、行動列を作成する。具体的には、行動ログの行動をそれぞれ行動テーブルに定義されているＩＤに変換することでシーケンス化を行い、行動列を作成する。ただし、行動テーブルに定義されていない行動は、行動列には含めない。行動テーブルに定義されていないということは、サイトにおいて重要な行動ではないからである。
【００２６】
図６に示すアバタＡの行動、Ａ地点に到着する（Ａ１）は図５の行動テーブルにてＩＤ＝１と定義されているので、「１」と変換される。同様に、ボタンを押す（Ａ２）は「３」と変換される。よって、アバタＡの行動ログから、「２−３−３−３」という行動列が作成される。同様にアバタＢの行動ログから、「４−２−３−３−１」という行動列が作成される。
【００２７】
図４に戻って、ステップＳ１３にて行動ログ記録部１１１は、作成された行動列を行動ログＤＢ１１３に記憶し（ステップＳ１４）、処理は終了する。
【００２８】
図３に戻って、ステップＳ２において、行動モデル制御部１２０は、行動ログＤＢ１１３に記憶された行動列から行動モデルを作成し、行動モデルＤＢ１２３に記憶する。以下に、ステップＳ２について、図７を用いて詳細に説明する。行動モデルを抽出するには、ＧＳＰ（Ｇｅｎｅｒａｌｉｚｅｄ  Ｓｅｑｕｅｎｔｉａｌ  Ｐａｔｔｅｒｎｓ）等、頻出配列パターンを抽出するアルゴリズムを利用することができる。（非特許文献：Ｒ．Ｓｒｉｋａｎｔ  ａｎｄ  Ｒ．Ａｇｒａｗｒａｌ．Ｍｉｎｉｎｇ  ｓｅｑｕｅｎｔｉａｌ  ｐａｔｔｅｒｎｓ：Ｇｅｎｅｒａｌｉｚａｔｉｏｎｓ  ａｎｄ  ｐｅｒｆｏｒｍａｎｃｅ  ｉｍｐｒｏｖｅｍｅｎｔｓ．Ｉｎ  ＥＤＢＴ’９６，ｐｐ３−１７．１９９６）ＧＳＰとは、任意の系列の頻度はその全ての部分系列の頻度以下になるというアプリオリ性に基づき，頻出の部分系列を順次成長させていく手法である。ここでは、例として、ＧＳＰを利用した行動モデル作成処理について説明する。
【００２９】
図７は、ＧＳＰを利用した行動モデル作成処理のフローチャートである。まず、ステップＳ２０において、行動モデル生成部１２１は、行動テーブルに定義されている行動から作成される要素が１の頻出行動列のうち支持度が最低支持度を上回るものを抽出し、１次頻出配列セットとする。要素が１の頻出行動列とは、例えば「１」や「２」といった１つの行動しか有さない行動列であり、行動テーブルに提示されている行動の数だけ作成される。また、支持度は、以下の式で与えられ、最低支持度はサイトの管理者が任意に設定した値である。最低支持度が１に近づくほど、抽出される行動モデルは少なくなる。
【数１】
0005366173.tif 000002
【００３０】
次に、行動モデル生成部１２１は、要素２の頻出行動列のうち、支持度が最低支持度を上回るものを抽出し、２次頻出配列セットとする。要素２の頻出行動列は、例えば、「１−２」や「２−３」であり、行動テーブルにｍ種類の行動が定義されているとすると、ｍ×（ｍ−１）個作成される。行動モデル生成部１２１は、この処理をｎ次頻出部分行動列セットが作成されるまで繰り返す（ステップＳ２１）。ただし、ｎは行動ログＤＢ１１３に記憶されている行動列の最高要素数である。行動モデル生成部１２１は、ステップＳ２０およびステップＳ２１で作成された１〜ｎ次頻出部分行動列セット中の要素をマージし、ｎ＋１次頻出部分動作列候補を作成する（ステップＳ２２）。
【００３１】
図８は、ステップＳ２２で行われるマージ方法および抽出された行動モデルを示した図である。図８の（ａ）に１〜ｎ次頻出部分行動列セットの一部を示し、本例を用いてステップＳ２２について具体的に説明する。行動モデル生成部１２１は、１〜ｎ次頻出部分行動列セットから、図８の（ａ）に示すように、最低長以上であり複数の行動列に含まれている部分行動列をマージし、マージされた部分行動列にてｎ＋１次頻出部分動作列候補を作成する。最低長は、サイト管理者が任意で決めることができる。しかし、最低長が短すぎるとサイトにとって重要でない行動モデルも作成されてしまう可能性が生じ、最低長が長すぎると後述するアバタに動作を推薦する際に、行動モデルを取得することができなくなってしまう。そのため、最低長は３程度にするのが望ましい。
【００３２】
図７に戻って、行動モデル生成部１２１は、ステップＳ２２にて作成されたｎ＋１次頻出部分動作列候補の部分行動列それぞれの支持度を算出し、その支持度が最低支持度より小さいものを除外する（ステップＳ２３）。最低支持度は、ステップＳ２０にて用いた最低支持度と同じである。ステップＳ２３において、行動モデル生成部１２１は、最低支持度よりも支持度が大きいものをｎ＋１次頻出部分動作列とする。ステップＳ２２にて作成されたｎ＋１次頻出部分動作列候補全てについてステップＳ２３または、ステップＳ２３およびステップＳ２４の処理が終了すると、行動モデル生成部１２１は、ステップＳ２４にて作成されたｎ＋１次頻出部分動作列（以下、頻出行動列という）を行動モデルとして、行動モデルＤＢ１２３に記憶する（ステップＳ２５）。
【００３３】
図８の（ｂ）に最低長を３、最低支持度を０．２５とした場合に、抽出された行動モデルの一部を示す。行動モデルＤＢ１２３は、図８の（ｂ）のように構成され、行動モデル領域と、支持度領域を持つ。行動モデル領域には、行動モデル、つまり、行動モデル生成部１２１にて抽出された頻出行動列が記憶される。図８の（ｂ）に「４−２−３」と「４−２−３−１」という、先頭の３つの要素が同じである行動モデルがあるが、これらは異なるものとして扱われる。一連の行動列、つまり行動ログが意味を持つからである。また、「４−２−３」と「２−３−４」とのように同要素であるが並び順が異なる行動モデルも異なるものとして扱われる。行動列の順番も意味をもち、並び順が異なるものは異なる意味を持つ行動ログであるからである。支持度領域には、式（１）にて求められた各出現行動列の支持度が記憶されている。これは、後述するアバタに行動を推薦する際に、行動に優先順位付けするため等に用いられる。
【００３４】
上述したように行動モデルには、サイトに対して満足な評価を持ったユーザのアバタ行動から作成された成功モデルやサイトに対して不満足な評価を持ったユーザのアバタ行動から作成された失敗モデル等がある。成功モデルは、主にアバタに行動を推薦するために用いられる。一方、失敗モデルは、サイト管理者がサイト改善に役立てるためや、ユーザの行動モデルから新たな知見を得るために用いられる。操作支援サーバ装置１００が備える行動モデルＤＢ１２３は必ずしも１つとは限らず、成功モデルと失敗モデルの２つのテーブルを行動モデルＤＢ１２３内に有してもよいし、成功モデルＤＢと失敗モデルＤＢの２つのＤＢにわけて備えてもよい。この場合、図４に示した、行動ログ記録処理において、ステップＳ１３の評価値判断処理は行われず、行動列と合わせて評価値を行動ログＤＢ１１３に記憶する。図７の行動モデル作成処理にて抽出された行動モデルを記憶する際に、行動ログＤＢ１１３に記憶された評価値を用いて成功モデルまたは失敗モデルのいずれに区別されて記録される
【００３５】
次に、行動モデルＤＢ１２３に記憶された行動モデルを用いてアバタに行動を推薦する方法について説明する。ここで、行動モデルは成功モデルであるとする。図９は、行動推薦処理のフローチャートである。図１０は、あるサイトを訪れたアバタに行動を推薦する具体例を示す図である。図１０の具体例を用いつつ、図９に示す行動推薦処理を説明する。なお、図１０の説明には、図５に示す行動テーブル、図８（ｂ）に示す行動モデルＤＢ１２３を用いる。
【００３６】
まず、ステップＳ３０において、行動推薦部１３１は、Ａ地点におけるアバタの行動を取得する。取得するタイミングとしては、アバタが１つの行動を行う度に逐次行ってもよいし、所定の時間アバタが行動を行わなかった時としてもよい。ここでは、所定の時間アバタが行動を行わなかった時、アバタの行動が取得されるとする。なお、所定の時間はサイト管理者が任意に設定することができる。図１０（ａ）は、Ａ地点で行動が止まっているアバタを示す図である。図１０においては、あるサイトを訪れたアバタが、上を向き、ゲーム機のあるＡ地点に移動・到着した後、所定の時間、図１０（ａ）に示すようにゲーム機の操作がわからずにアバタが止まっているとする。そうすると、アバタが止まる前に行った、（１）上を向く、（２）Ａ地点に着く、の２つの行動が取得される。
【００３７】
次に、行動推薦部１３１は、行動テーブルＤＢ１３３を用いて、取得された行動をＩＤに変換し行動列を作成する（ステップＳ３１）。図１０において、行動テーブルＤＢ１３３を用いて、ステップＳ３０で取得された、（１）上を向くはＩＤ「４」、（２）Ａ地点に着くはＩＤ「２」に変換され、「４−２」という行動列が作成される。行動推薦部１３１は、作成された行動列を条件として行動モデルＤＢ１２３を検索する（ステップＳ３２）。検索は、作成された行動列と行動モデルの先頭一致にて行われる。もし、部分一致で検索が行われるとすると、不完全な行動に対して誤った推薦を行う可能性が高くなるからである。なぜならば、行動モデルは先頭から順番に行われて意味があるものであるので、行動モデルの途中から始まる行動ログには意味がないからである。
【００３８】
ステップＳ３２にて行動モデルＤＢ１２３が検索された結果、行動推薦部１３１は、取得された行動モデルの数がいくつか判断する（ステップＳ３３）。行動モデルが取得されなかった場合には、処理は終了し、アバタに行動は推薦されない。一方、行動モデルが複数取得された場合には、行動推薦部１３１は、支持度の高い行動モデルを取得する（ステップＳ３４）。図１０の例において、「４−２」を条件として行動モデルＤＢ１２３を検索すると、「４−２−３」と「４−２−３−１」の２つの行動モデルが得られる。「４−２−３」の支持度は０．８、「４−２−３−１」の支持度は０．３であるので、「４−２−３」が推薦行動モデルとして取得される。なお、条件に一致する行動モデルが１つしかない場合には、それが推薦行動モデルとなる。
【００３９】
行動推薦部１３１は、推薦行動モデルが取得されると、推薦行動モデルのうちステップＳ３１にて作成された行動列と一致する部分の次の行動を推薦行動として取得する（ステップＳ３５）。図１０において、行動列「４−２」を条件として「４−２−３」が取得されたので、「４−２」の次の動作「３」が推薦する行動として取得される。行動モデルは行動のＩＤから構成されているため、推薦行動はＩＤで取得される。
【００４０】
続いて、行動推薦部１３１は、ステップＳ３５にて取得された推薦行動を条件に行動テーブルＤＢ１３３を検索し、推薦方法を取得し（ステップＳ３６）、その内容に従ってクライアント端末の出力部１０３を用いて行動の推薦を行う（ステップＳ３７）。図１０において、「ボタンを押す」とのメッセージを表示する方法が、行動「３」を推薦する方法として取得され、クライアント端末２００のディスプレイに「ボタンを押す」というメッセージが表示される。図１０（ｂ）は、アバタに行動を推薦している画面を示す図である。図１０（ｃ）は、アバタが推薦された行動を行っている画面を示す図である。行動が推薦されることで、ゲーム機の操作方法をアバタが知ることができ、次に行うべき操作を行うことができる。
【００４１】
このように、アバタが次に行う行動をアバタのユーザに推薦することで、次に行うべき操作がわからないためにサイトに対して悪印象を持つことを防ぐことができ、また、サイトを十分に楽しむための行動をすることができる。もし、アバタが図１０（ｂ）にて推薦された行動とは別の行動である「上を向く」を行った場合には、再度行動推薦処理が行われる。このとき、ステップＳ３０にて取得される行動は、（１）上を向く、（２）Ａ地点に着く、（３）上を向く、の３つの行動が取得され、ステップ３１以降の処理が行われる。ただし、アバタが行動テーブルに定義されてない行動を行った場合には、再度推薦処理は行われず、そのまま「ボタンを押す」のメッセージが表示され続ける。
【００４２】
以下に、本発明の一実施形態である成功モデルを用いた実施例を説明する。
【実施例１】
【００４３】
車に乗って場所を回ることができるサイトを一例として説明する。このサイトでは、予め、そのサイトの対する重要な行動についての行動テーブルが作成されており、また、そのサイトに対して満足な評価をした他のアバタ等が行った行動が、成功モデルとして行動モデルＤＢ１２３に記憶されているとする。図１１は、車に乗ってサイト内を回ることができるサイトを訪れたアバタに行動を推薦する仕組みを示した図である。アバタがサイトに入場した後、チケット売り場にて乗車券を購入し（ＩＤ＝２とする）、車の乗り場へ到着する（ＩＤ＝３とする）。
【００４４】
そうすると、アバタの行動列「２−３」を条件として、行動推薦部１３１は、行動モデルＤＢ１２３を検索し、「２−３−４」の成功モデルが抽出される。アバタにＩＤ＝４の「車に乗る」という行動を推薦するための方法は、ＩＤ＝４を条件として行動テーブルの推薦方法を取得することで得られる。推薦方法には、「Ｍｓｇ（“車に乗ってください！”）」と「Ｏｐｅｎ  Ｏｂｊｅｃｔβ」の２つが設定されている。これは、「車に乗ってください！」というメッセージを表示すること、車の左後部ドアを開けることをそれぞれ意味している。行動推薦部１３１は、これらの推薦方法をアバタのユーザが使用しているクライアント端末２００のディスプレイに表示する。本例では、推薦方法には２つ設定されているが、推薦方法は２つに限らず複数設定することができる。それにより、アバタが次に行う行動を複数の方法にて推薦することができる。
【実施例２】
【００４５】
森の中に世界の名所が点在し、アバタが歩いて名所観光をするサイトを一例として説明する。このサイトでは、予め、そのサイトの対する重要な行動についての行動テーブルが作成されており、また、そのサイトに対して満足な評価をした他のアバタ等が行った行動が、成功モデルに記憶されているとする。図１２は、森の中の名所を観光するサイトを訪れたアバタに行動を推薦する仕組みを示した図である。アバタがサイトに入場した後、観光案内所を訪れ（ＩＤ＝１とする）、ローマを観光した（ＩＤ＝１０とする）後、分かれ道に到着する（ＩＤ＝２とする）。
【００４６】
そうすると、アバタの行動列「１−１０−２」を条件として、行動推薦部１３１は、行動モデルＤＢ１２３を検索し、「１−１０−２−３」の成功モデルが抽出される。アバタにＩＤ＝３の「右に進む」という行動を推薦するための方法は、ＩＤ＝３を条件として行動テーブルの推薦方法を取得することで得られる。推薦方法には、「Ｍｓｇ（“右に進んでください”）」と「Ｄｉｓｐ（ＲＩＧＨＴＡＲＲＯＷ，（ｘ，ｙ））」の２つが設定されている。これは、「右に進んでください」というメッセージを表示すること、道に右に進むように矢印を表示することをそれぞれ意味している。行動推薦部１３１は、これらの推薦方法をアバタのユーザが使用しているクライアント端末２００のディスプレイに表示する。
【００４７】
その後、アバタが右へ進むと、今度はアバタの行動列「１−１０−２−３」を条件として、行動推薦部１３１は、行動モデルＤＢ１２３を検索する。その結果、「１−１０−２−３−１４」の成功モデルが抽出され、行動推薦部１３１は、今度はＩＤ＝１４を条件として行動テーブルを検索し、「ようこそ、パリへ」のメッセージと下向き矢印を表示する２つの行動推薦方法を取得し、アバタのユーザが使用しているクライアント端末２００のディスプレイにこれらの推薦方法を表示する。このように、アバタが行動する度に、それまでに行った行動ログに基づいて成功モデルが抽出され直される。それにより、変化するアバタの行動ログに対して、逐次適切な行動をアバタに推薦することができる。
【実施例３】
【００４８】
画像の編集を行うためのソフトウェアと一例として説明する。このソフトウェアでは、予め、そのソフトウェアの対する重要な操作についての操作テーブルが作成されており、また、そのソフトウェアに対して満足な評価をした他のユーザ等が行った操作が、成功モデルに記憶されているとする。図１３は、画像の編集を行うためのソフトウェアを操作するユーザに操作を推薦する仕組みを示した図である。ユーザはソフトウェアを起動した後、写真の画像を開き（ＩＤ＝１とする）、写真の明るさ／コントラストを変更した（ＩＤ＝２とする）。
【００４９】
そうすると、ユーザの操作列「１−２」を条件として、行動推薦部１３１は、行動モデルＤＢ１２３を検索し、「１−２−３」の成功モデルが抽出される。ユーザにＩＤ＝３の「色合い変更」という操作を推薦するための方法は、ＩＤ＝３を条件として行動テーブルの推薦方法を取得することで得られる。推薦方法には、「Ｍｏｖｅ  ｔｈｅ  ｃｕｒｓｏｒ  ｏｎｔｏ  ｔｈｅ  ｂｕｔｔｏｎ  β」が設定されている。これは、カーソルが自動で色合い変更ボタンへ移動することを意味している。行動推薦部１３１は、これらの推薦方法をユーザが使用しているクライアント端末２００のディスプレイに表示する。このように、仮想世界のアバタのユーザに行動を推薦するだけでなく、コンピュータにインストールされたソフトウェアのユーザに対してソフトウェア操作を推薦することができる。
【００５０】
図１４は、図２で説明した操作支援サーバ装置１００の典型的なハードウェア構成例として情報処理装置４００を示した図である。以下、この情報処理装置４００のハードウェア構成の一例を示す。情報処理装置４００は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）１０１０、バスライン１００５、通信Ｉ／Ｆ１０４０、メインメモリ１０５０、ＢＩＯＳ（Ｂａｓｉｃ  Ｉｎｐｕｔ  Ｏｕｔｐｕｔ  Ｓｙｓｔｅｍ）１０６０、パラレルポート１０８０、ＵＳＢポート１０９０、グラフィック・コントローラ１０２０、ＶＲＡＭ１０２４、音声プロセッサ１０３０、Ｉ／Ｏコントローラ１０７０、ならびにキーボードおよびマウス・アダプタ等１１００の入力手段を備える。Ｉ／Ｏコントローラ１０７０には、フレキシブル・ディスク（ＦＤ）ドライブ１０７２、ハード・ディスク１０７４、光ディスクドライブ１０７６、半導体メモリ１０７８等の記憶手段を接続することができる。
【００５１】
音声プロセッサ１０３０には、増幅回路１０３２、およびスピーカ１０３４が接続される。また、グラフィック・コントローラ１０２０には、表示装置１０２２が接続されている。
【００５２】
ＢＩＯＳ１０６０は、情報処理装置４００の起動時にＣＰＵ１０１０が実行するブートプログラムや、情報処理装置４００のハードウェアに依存するプログラム等を格納する。ＦＤ（フレキシブル・ディスク）ドライブ１０７２は、フレキシブル・ディスク１０７１からプログラムまたはデータを読み取り、Ｉ／Ｏコントローラ１０７０を介してメインメモリ１０５０またはハード・ディスク１０７４に提供する。
【００５３】
光ディスクドライブ１０７６としては、例えば、ＤＶＤ−ＲＯＭドライブ、ＣＤ−ＲＯＭドライブ、ＤＶＤ−ＲＡＭドライブ、ＣＤ−ＲＡＭドライブを使用することができる。この際は各ドライブに対応した光ディスク１０７７を使用する必要がある。光ディスクドライブ１０７６は光ディスク１０７７からプログラムまたはデータを読み取り、Ｉ／Ｏコントローラ１０７０を介してメインメモリ１０５０またはハード・ディスク１０７４に提供することもできる。
【００５４】
情報処理装置４００に提供されるコンピュータ・プログラムは、フレキシブル・ディスク１０７１、光ディスク１０７７、またはメモリカード等の記録媒体に格納されて利用者によって提供される。このコンピュータ・プログラムは、Ｉ／Ｏコントローラ１０７０を介して、記録媒体から読み出され、または通信Ｉ／Ｆ１０４０を介してダウンロードされることによって、情報処理装置４００にインストールされ実行される。コンピュータ・プログラムが情報処理装置に働きかけて行わせる動作は、既に説明した装置における動作と同一であるので省略する。
【００５５】
前述のコンピュータ・プログラムは、外部の記憶媒体に格納されてもよい。記憶媒体としてはフレキシブル・ディスク１０７１、光ディスク１０７７、またはメモリカードの他に、ＭＤ等の光磁気記録媒体、テープ媒体を用いることができる。また、専用通信回線やインターネットに接続されたサーバシステムに設けたハード・ディスクまたは光ディスク・ライブラリ等の記憶装置を記録媒体として使用し、通信回線を介してコンピュータ・プログラムを情報処理装置４００に提供してもよい。
【００５６】
以上の例は、情報処理装置４００について主に説明したが、コンピュータに、情報処理装置で説明した機能を有するプログラムをインストールして、そのコンピュータを情報処理装置として動作させることにより上記で説明した情報処理装置と同様な機能を実現することができる。従って、本発明において１つの実施形態として説明した情報処理装置は、方法およびそのコンピュータ・プログラムによっても実現可能である。
【００５７】
本発明の装置は、ハードウェア、ソフトウェア、またはハードウェアおよびソフトウェアの組み合わせとして実現可能である。ハードウェアとソフトウェアの組み合わせによる実施では、所定のプログラムを有するコンピュータ・システムでの実施が典型的な例として挙げられる。かかる場合、該所定のプログラムが該コンピュータ・システムにロードされ実行されることにより、該プログラムは、コンピュータ・システムに本発明にかかる処理を実行させる。このプログラムは、任意の言語、コード、または表記によって表現可能な命令群から構成される。そのような命令群は、システムが特定の機能を直接実行すること、または（１）他の言語、コード、もしくは表記への変換、（２）他の媒体への複製、のいずれか一方もしくは双方が行われた後に、実行することを可能にするものである。もちろん、本発明は、そのようなプログラム自体のみならず、プログラムを記録した媒体を含むプログラム製品もその範囲に含むものである。本発明の機能を実行するためのプログラムは、フレキシブル・ディスク、ＭＯ、ＣＤ−ＲＯＭ、ＤＶＤ、ハード・ディスク装置、ＲＯＭ、ＭＲＡＭ、ＲＡＭ等の任意のコンピュータ可読媒体に格納することができる。かかるプログラムは、コンピュータ可読媒体への格納のために、通信回線で接続する他のコンピュータ・システムからダウンロードしたり、他の媒体から複製したりすることができる。また、かかるプログラムは、圧縮し、または複数に分割して、単一または複数の記録媒体に格納することもできる。
【００５８】
以上、本発明を実施形態に則して説明したが、本発明は上述した実施形態に限るものではない。また、本発明の実施形態に記載された効果は、本発明から生じる最も好適な効果を列挙したに過ぎず、本発明による効果は、本発明の実施形態または実施例に記載されたものに限定されるものではない。
【図面の簡単な説明】
【００５９】
【図１】本実施例の操作支援サーバ装置の態様を示した図である。
【図２】本発明を仮想世界に適用した実施形態における操作支援サーバ装置とクライアント端末のそれぞれの構成を示す図である。
【図３】行動モデル作成処理のフローチャートである。
【図４】行動ログ記録処理のフローチャートである。
【図５】行動テーブルＤＢに記憶されている行動テーブルのデータ構成を示す図である。
【図６】あるサイトにおけるアバタＡ，Ｂの行動ログを示す図である。
【図７】ＧＳＰを利用した行動モデル作成処理のフローチャートである。
【図８】ステップＳ２２で行われるマージ方法および抽出された行動モデルを示した図である。
【図９】行動推薦処理のフローチャートである。
【図１０】あるサイトを訪れたアバタに行動を推薦する具体例を示す図である。
【図１１】車に乗ってサイト内を回ることができるサイトを訪れたアバタに行動を推薦する仕組みを示した図である。
【図１２】森の中の名所を観光するサイトを訪れたアバタに行動を推薦する仕組みを示した図である。
【図１３】画像の編集を行うためのソフトウェアを操作するユーザに操作を推薦する仕組みを示した図である。
【図１４】操作支援サーバ装置の典型的なハードウェア構成例として情報処理装置を示した図である。
【符号の説明】
【００６０】
１００  操作支援サーバ装置
１０２  通信部
１１０  行動記録制御部
１１１  行動ログ記録部
１１２  ユーザ評価取得部
１１３  行動ログＤＢ
１２０  行動モデル制御部
１２１  行動モデル生成部
１２３  行動モデルＤＢ
１３０  行動推薦制御部
１３１  行動推薦部
１３３  行動テーブルＤＢ
【図１】
0005366173.tif 000003
【図２】
0005366173.tif 000004
【図３】
0005366173.tif 000005
【図４】
0005366173.tif 000006
【図５】
0005366173.tif 000007
【図６】
0005366173.tif 000008
【図７】
0005366173.tif 000009
【図８】
0005366173.tif 000010
【図９】
0005366173.tif 000011
【図１０】
0005366173.tif 000012
【図１１】
0005366173.tif 000013
【図１２】
0005366173.tif 000014
【図１３】
0005366173.tif 000015
【図１４】
0005366173.tif 000016