(57)【特許請求の範囲】
【請求項１】
ネットワークで接続されたサーバと複数のユーザのクライアント端末が共有する仮想世界におけるユーザの分身であるアバタ間のコミュニケーション支援方法であって、
前記サーバが、１以上のアバタが発信したメッセージの構成要素と前記構成要素に適合するアバタの動作の組み合わせ、および前記組み合わせの使用度合を統計情報として蓄積するステップと、
前記サーバが、第一のアバタのメッセージの発信に応答して、前記メッセージの構成要素からキーワード群を作成するステップと、
前記サーバが、前記キーワード群を用いて前記統計情報を検索し、前記キーワード群に基づいて前記アバタの動作および前記使用度合を抽出するステップと、
前記サーバが、前記第一のアバタが発信した前記メッセージに対する前記第一のアバタの動作候補として、前記使用度合が所定の条件を満たす前記アバタの動作を取得するステップと、
前記サーバが、前記取得された１以上のアバタの動作をアバタ動作候補として前記第一のアバタのユーザのクライアント端末に提示するステップと、
前記サーバが、前記第一のアバタの動作候補を提示した後に、前記第一のアバタのユーザがそのクライアント端末で前記メッセージを追加した場合に、前記追加したメッセージも含めた新たな前記キーワード群を用いて前記統計情報から前記アバタの動作および前記使用度合を検索するステップと
を行うコミュニケーション支援方法。
【請求項２】
前記サーバが、前記キーワード群の各キーワードと、前記各キーワードに適合しかつ前記ユーザのクライアント端末にて選択された前記第一のアバタの動作に基づいて、前記統計情報を更新するステップを行う請求項１に記載の方法。
【請求項３】
前記統計情報が更新された記録である更新履歴を、前記統計情報が有する請求項１に記載の方法。
【請求項４】
前記サーバが、前記更新履歴に基づいて、前記統計情報を編集するステップを行う請求項３に記載の方法。
【請求項５】
前記使用度合は、前記動作が使用された使用回数および前記構成要素の前記動作への影響度から算出される請求項１に記載の方法。
【請求項６】
前記構成要素を少なくとも１以上組み合わせて構成要素グループとして用いる請求項１に記載の方法。
【請求項７】
前記メッセージがチャットのテキスト文章である請求項１に記載の方法。
【請求項８】
請求項１乃至７までのいずれか一項に記載の方法の各ステップをコンピュータに実行させるための、コンピュータ・プログラム。
【請求項９】
ネットワークで接続されたサーバと複数のユーザのクライアント端末が共有する仮想世界におけるユーザの分身であるアバタ間のコミュニケーション支援システムであって、
１以上のアバタが発信したメッセージの構成要素と前記構成要素に適合するアバタの動作の組み合わせ、および前記組み合わせの使用度合を記憶する統計情報記憶部と、
第一のアバタのメッセージの発信に応答して、前記メッセージの構成要素からキーワード群を作成するキーワード作成部と、
前記キーワード群を用いて前記統計情報記憶部を検索し、前記キーワード群に基づいて前記アバタの動作および前記使用度合を抽出する動作抽出部と、
前記第一のアバタが発信した前記メッセージに対する前記第一のアバタの動作候補として、前記使用度合が所定の条件を満たす前記アバタの動作を取得する動作候補決定処理部と、
前記取得された１以上のアバタの動作をアバタ動作候補として前記第一のアバタのユーザのクライアント端末に提示する動作提示部と、
前記第一のアバタの動作候補を提示した後に、前記第一のアバタのユーザがそのクライアント端末で前記メッセージを追加した場合に、前記追加したメッセージも含めた新たな前記キーワード群を用いて前記統計情報記憶部から前記アバタの動作および前記使用度合を検索する動作検索部と
を含むコミュニケーション支援システム。
【請求項１０】
前記キーワード群の各キーワードと、前記各キーワードに適合しかつ前記ユーザにて選択された前記第一のアバタの動作に基づいて、前記統計情報記憶部を更新する統計情報更新部を含む請求項９に記載のシステム。
【請求項１１】
前記統計情報記憶部が更新された記録である更新履歴を、前記統計情報記憶部が有する請求項９に記載のシステム。
【請求項１２】
統計情報編集部が前記更新履歴に基づいて、前記統計情報記憶部を編集する請求項１１に記載のシステム。
【請求項１３】
ネットワークで接続されたサーバと複数のユーザのクライアント端末が共有する仮想世界におけるコミュニケーション支援サーバ装置であって、
前記ユーザのクライアント端末からメッセージの入力を受けて前記メッセージ、または前記メッセージのキーワード群を受信する受信部と、
１以上のアバタが発信したメッセージの構成要素と前記構成要素に適合するアバタの動作の組み合わせ、および前記組み合わせの使用度合を記憶する統計情報記憶部と、
受信した前記メッセージまたは前記キーワード群に応じて、前記統計情報記憶部を検索し、前記アバタの動作および前記使用度合を抽出する動作抽出部と、
前記アバタが発信したメッセージに対する前記アバタの動作候補として、前記使用度合が所定の条件を満たす前記アバタの動作を取得する動作候補決定処理部と、
前記取得された１以上のアバタの動作をアバタ動作候補として発信元のクライアント端末へ送信する送信部と、
前記アバタの動作候補を送信した後に、前記アバタのユーザがそのクライアント端末で前記メッセージを追加した場合に、前記追加したメッセージも含めた新たな前記キーワード群を用いて前記統計情報記憶部から前記アバタの動作および前記使用度合を検索する動作検索部と
を備えるコミュニケーション支援サーバ装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、仮想世界におけるコミュニケーションを支援する技術に関する。
【背景技術】
【０００２】
ネットワーク上のサーバが作り出す仮想世界（仮想空間ともいう）においては、ユーザの分身であるキャラクター（以降アバタとする）は、その世界を自由に動き回ることができ、買い物をしたり、他のユーザのアバタとコミュニケーションを取ったりすることで、仮想世界を現実世界の延長のように楽しむことができる。この仮想世界において、アバタが他のユーザのアバタとコミュニケーションをとる上で、アバタに何らかの動作をさせることは重要である。一方、仮想世界におけるコミュニケーション手段としては、チャットと呼ばれる、キーボード等から入力したメッセージのやりとりが主流である。
【０００３】
従来より、チャットにおいてアバタに何らかの動作させる１つの方法としては、／ｗａｖｅ／のような特別な書き方で指定されるコマンドが用意されているものが多くある。ここで、スラッシュではさまれた「ｗａｖｅ」は、アバタが手を振るという動作を意味するコマンドである。また、別の方法として、特許文献１や特許文献２では、チャットの文章中に現れた予約語に対応してアバタが自動的に動作を起こす方法が開示されている。さらに、特許文献３では、決まった種類の感情からユーザが明示的に選ぶことにより、アバタにその感情に対応した動作させる方法が開示されている。
【０００４】
【特許文献１】特開２０００−０７６１６７号公報
【特許文献２】特開２００１−１６００２１号公報
【特許文献３】特開２００２−１９００３４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、コマンドによりアバタに動作させる方法は、自由にアバタの動作を定義できる環境においては、膨大な数の動作定義に対応したコマンドを用意しなければならないという問題がある。また、膨大な数のコマンドを用意できても、それらをユーザが使いこなすことは困難である。また、コマンドの入力に失敗するとコマンドがアバタの発言として扱われ、意味のない発言を相手のアバタにしてしまうという問題もある。また、特許文献１や特許文献２に記載されている方法では、誰かが予約語に適切な動作を割り当てる作業を行わなければならないため、自由にアバタの動作を定義できる環境では、動作の割り当てに膨大な作業量を必要とする。さらに、予約語に対し動作が一意に決まってしまうためユーザの意図している動作と異なる動作をアバタがする場合がある。
【０００６】
一方、特許文献３に記載されている方法では、動作はユーザが選ぶため、ユーザの意図している動作と異なる動作をアバタがすることはほとんどない。しかし、膨大な種類の動作が存在する場合に、ユーザがそれら中から意図する動作を迅速に選ぶことは困難である。なぜならば、例えば、アイコンを多く画面に配置すると画面の多くの面積をアイコンが占有してしまい、また、スクロールバー等を設けると意図する動作を選ぶための操作の手間が増えるからである。
【０００７】
そこで、本発明は上記課題に鑑み、膨大な種類のアバタの動作が存在する場合において直感的にかつ効率よくアバタの動作を入力させるためのコミュニケーション支援方法とそのシステムを提供することを目的とする。
【課題を解決するための手段】
【０００８】
本発明の１つの態様によると、ネットワークで接続されたサーバと複数のユーザのクライアント端末が共有する仮想世界におけるコミュニケーション支援方法を提供する。コミュニケーション支援方法は、仮想世界内に存在する１以上のアバタが発信したメッセージの構成要素と前記構成要素に適合するアバタの動作の組み合わせ、および前記組み合わせの使用度合を統計情報として蓄積する。第一のアバタのメッセージの発信に応答して、前記メッセージの構成要素から検索用のキーワード群を作成し、前記キーワード群を用いて前記統計情報を検索し、前記キーワード群に関連する前記アバタの動作および前記使用度合を抽出する。前記抽出された結果から、前記第一のアバタが発信した前記メッセージに対する前記第一のアバタの動作候補として、前記使用度合が所定の条件を満たす前記アバタの動作を取得し、前記取得された１以上のアバタの動作をアバタ動作候補として前記第一のアバタのユーザに提示する。
【０００９】
「構成要素」とは文章を構成するに当たって必要不可欠なものであり、例えば、単語である。この場合、「構成要素グループ」は複数の単語の集合である。また、「アバタの動作」とは、アバタの体の動きや表情等の外面に表れたアバタのふるまいを意味する、例えば、手を振る動きや怒った顔である。「使用度合」とは、前記構成要素に対する前記アバタの動作の使用の程度や状態を意味し、例えば、使用頻度や、一定時間の使用頻度や、使用頻度に重み付けした値等である。「履歴」とは統計情報の過去の情報を意味し、例えば、更新回数、最終更新日時等である。
【００１０】
本発明の形態によれば、膨大な数の表現の中からコミュニケーション・メッセージの内容に適合するいくつかのアバタの動作をユーザに提示することができる。また、限られた数のアバタの動作が提示されること、および提示された１以上のアバタの動作の中から選択できることから、ユーザは直感的にかつ効率的にアバタに表現を行わせることができる。
【００１１】
本発明の別の態様によれば、アバタが発信したメッセージの構成要素から得られるキーワード群の各キーワードと、前記各キーワードそれぞれに適合しかつ前記ユーザにて選択された前記第一のアバタの動作に基づいて、前記統計情報は更新される。前記統計情報が更新された記録は、更新履歴として前記統計情報に蓄積される。その履歴に基づいて、統計情報を編集する。編集とは、統計情報を整理することを意味し、例えば不要な情報の削除や別の場所への移動である。統計情報を更新の履歴に基づいて編集することにより、つまり、使用度合が低いものや長い間使用していないものを整理することにより統計情報を最良の状態に保つことができる。
【００１２】
また、本発明はさらに別の態様として、コンピュータにおいて実行されるコンピュータ・プログラムあるいは、そのコンピュータ・プログラムをインストールしたコミュニケーション支援システムとしても提供できる。
【発明の効果】
【００１３】
本発明によれば、コミュニケーション・メッセージに適合したアバタの動作候補を自動で選定しユーザに提供することで、アバタの動作の選択および動作の入力を簡単にするコミュニケーション支援方法、コミュニケーション支援システム、およびサーバ装置を提供することができる。
【発明を実施するための最良の形態】
【００１４】
以下、本発明の実施形態について図面を参照しながら説明する。図１は、本発明を適用したコミュニケーション支援システム１の一実施態様の構成を示す図である。端末２００−１、２００−２・・・２００―ｎ（以下、端末２００−１から２００―ｎを区別する必要がない場合は、単にクライアント端末とする）は、ユーザ側のクライアント端末であり、インターネットやイントラネットに代表されるネットワーク３００と接続され、サーバ１００（以下、サーバとする）と送受信が行えるようになっている。ユーザはクライアント端末にて操作を行い、ネットワーク３００を介して、サーバにて処理を行うことができる。また、サーバがデータを格納している場合には、クライアント端末はそのデータの取得、更新等を行うこともできる。なお、本構成におけるサーバは必ずしも１台とは限らず、複数台で構成されてもよい。
【００１５】
図２は、一実施形態におけるコミュニケーション支援システム１のクライアント端末とサーバの基本システム構成図を示す図である。サーバは、通信部１０３、動作検索部１０７、更新部１０８、および統計情報データベース１１０（以下、簡略化のためデータベースをＤＢとする）を有する。統計情報ＤＢ１１０は動作索引テーブル１１１、統計情報テーブル１１２、および度数テーブル１１３を有する。また、クライアント端末は、入力部２０１、文章解析部２０２、通信部２０３、重要度処理部２０４、レンダリング部２０５、出力部２０６、および動作ＤＢ２１０を有する。なお、文章解析部２０２、重要度処理部２０４をサーバに、動作検索部１０７、更新部１０８をクライアント端末に設けてもよい。また、動作ＤＢ２１０はサーバに設けてもよく、動作ＤＢ２１０をサーバに設ける場合には、上記の述べたように１つのＤＢとして独立することもできるし、テーブルとして統計情報ＤＢ１１０内に含めることもできる。
【００１６】
通信部１０３，２０３は、入力部２０１にて入力された会話文等のデータのサーバとクライアント端末間の送受信を行う。文章解析部２０２はユーザが入力した会話文から統計情報テーブル１１２の検索条件の作成を行う。動作検索部１０７は文章解析部２０２にて作成された検索条件にて統計情報テーブル１１２を検索し、動作候補の情報を取得する。
また、ユーザが仮想世界における動作に振られているユニークな動作ＩＤ（以降、動作ＩＤとする）等にてアバタの動作を指定した場合には、動作ＩＤに対応する動作の情報を動作索引テーブル１１１から取得する。重要度処理部２０４は、動作候補の情報に基づいてユーザに提示する動作候補の選定を行う。レンダリング部２０５は、動作候補の情報または動作の情報に基づいて、動作ＤＢ２１０から動作を記述したスクリプトのデータ（以下、簡略化のため動作データとする）を取得する。さらに、取得した動作データを画像化し、出力部２０６にて結果を出力する。更新部１０８は、ユーザにて使用された動作の履歴を統計情報テーブル１１２、および度数テーブル１１３へ反映する。
【００１７】
文章解析部２０２はキーワード作成部の一例であり、統計情報テーブル１１２は統計情報記憶部の一例であり、動作検索部１０７は動作抽出部の一例であり、重要度処理部２０４は動作候補決定処理部および動作提示部の一例であり、更新部１０８は統計情報更新部および統計情報編集部の一例であり、通信部１０３は受信部および送信部の一例である。なお、各記憶部はハード・ディスク上のＤＢに限らず、メモリ、磁気テープやフレキシブル・ディスク等の外部記憶装置でもよい。サーバとクライアント端末のハードウェア構成については後述する。
【００１８】
次に、統計情報ＤＢ１１０を構成する動作索引テーブル１１１、統計情報テーブル１１２および度数テーブル１１３と動作ＤＢ２１０について説明する。以下に説明するデータ構成は代表的な項目である。図３は、動作索引テーブル１１１のデータ構成を示す図である。動作索引テーブル１１１は、グローバルなコマンドおよび動作ＩＤに対する動作データを紐付けるために必要なデータを保持する。動作索引テーブル１１１は、動作ＩＤ領域、コマンド領域、および動作データインデックス領域を有する。動作ＩＤ領域には、動作ＩＤが記憶され、コマンド領域には、仮想世界の動作のグローバルなコマンドが記憶されている。また、動作データインデックス領域は、動作ＤＢ２１０の動作データのアドレスを記憶している。
【００１９】
また、ユーザは動作ＩＤに対応したユーザ固有のコマンドを定義し、これらを記憶したユーザコマンドＤＢまたはテーブルをクライアント端末に設けることができる。ユーザ固有のコマンドを使用することで、ユーザがアバタの動作指定を簡単にすることができる。さらに、ユーザではなくユーザグループ固有のコマンドを定義する場合には、ユーザコマンドＤＢまたはテーブルをサーバに設け、グループにて共有してもよい。ユーザコマンドＤＢまたはテーブルは、ユーザがユーザ固有のコマンドを入力した場合に動作ＩＤに変換する。なお、動作ＩＤでなく、グローバルなコマンドとしてもよい。
【００２０】
ユーザは、上記に述べた動作ＩＤ、グローバルなコマンド、ユーザ定義のコマンドのいずれかを用いて、会話文中にアバタの動作を入力することができる。会話文中にユーザ固有のコマンドを入力した場合には、ユーザコマンドＤＢ用いて動作ＩＤに展開された後、処理が行われる。以下においてユーザ固有のコマンドを含む会話文を変換する例を示す。１）はユーザにて入力された会話文であり、２）は動作ＩＤに変換された後の会話文である。ここで、ユーザコマンドＤＢにおいて、ユーザ固有コマンド「ｗｖ」の動作ＩＤが「１０００３０２５」と登録されているとする。
１）ｈｉ，／ｗｖ／ｄｏ  ｙｏｕ  ｗａｎｎａ  ｃｏｍｅ  ｗｉｔｈ  ｍｅ？／１０００５２０１／
２）ｈｉ，／１０００３０２５／ｄｏ  ｙｏｕ  ｗａｎｎａ  ｃｏｍｅ  ｗｉｔｈ  ｍｅ？／１０００５２０１／
上記１）のように会話文が入力された場合、「ｗｖ」がユーザ固有コマンドであると、ユーザコマンドＤＢを用いて上記２）のように動作ＩＤ「１０００３０２５」に展開される。
【００２１】
図４は、統計情報テーブル１１２の構成を示す図である。本発明の一実施形態は、会話文から単語と動作の組み合わせのＮ−ｇｒａｍのような統計を作成し、それを用いて、会話文に当てはまる動作を選定する。Ｎ−ｇｒａｍのような統計とは、対象となるテキストの中におけるＮ個の表記単位（ｇｒａｍ）の組み合わせの出現頻度を求めることであり、テキスト中の任意の長さの（共起）表現の出現頻度パターン等を知ることができる。上記本発明の一実施形態を言い換えると、Ｎ個の単語（以下、単語グループと呼ぶ）と動作の組み合わせの出現頻度を求めることであり、その情報を統計情報テーブル１１２として保持する。
【００２２】
統計情報テーブル１１２は、単語グループ領域、動作ＩＤ領域、使用度合領域、使用度数領域、最終使用日時領域を有する。本テーブルの情報は、単語グループおよび動作ＩＤにより一意に決定される。単語グループとは、会話文の単語の組み合わせを意味し、単語グループ領域に記憶される。使用度合領域には、単語グループと動作ＩＤの組み合わせの使用度合が記憶される。また、使用度数領域には、単語グループと動作ＩＤの組み合わせが使用された度数が記憶され、最終使用日時領域には、単語グループと動作ＩＤの組み合わせが使用された最終の日時が記憶される。
【００２３】
図５は、度数テーブル１１３の構成を示した図である。度数テーブル１１３は、単語グループ領域と使用度数領域を有する。度数テーブル１１３は、使用度合を計算するために、単語グループが使用された度数を記録している。本実施形態において、これらテーブルを有する統計情報ＤＢ１１０をサーバに置いているが、パフォーマンス向上のために、クライアント端末にコピーを置き、随時サーバ側と同期を取って更新するようにしてもよい。
【００２４】
図６は動作ＤＢ２１０の構成を示す図である。動作ＤＢ２１０は、動作データ領域を有する。統計情報テーブル１１２の動作データインデックス領域に動作ＤＢ２１０の動作データのアドレスを有することにより、検索を早くすることができる。
【００２５】
図７は、チャット会話文の入力による動作候補の表示および統計情報の更新の処理フローを示す図である。ユーザがキーボード等の入力部２０１より会話文の入力を開始すると、処理が開始する。ユーザが単語の入力を終了すると（ステップＳ１０）、文章解析部２０２へ入力された単語が渡され、それまで入力された会話文から単語グループを作成する（ステップＳ１１）。単語入力後であるため、会話文は未完成であってもよい。単語の入力終了の判断は、例えば、一定時間入力がないことや空白が入力されたこと等によって行われる。会話文から単語グループを作成するためには、まず会話文を単語に分割しなければならない。ここで、単語に分割する方法について説明する。
【００２６】
英語やフランス語等の欧米言語には、単語と単語の間に空白をいれる「分かち書き」という習慣があり、一般に空白で区切られた単位が単語であるという暗黙の合意がされている。そのため、文章を空白にて区切ることで容易に単語に分割することができる。一方、日本語のような「分かち書き」の習慣がない言語については、単語が空白等にて区切られていない。そのため単語に分割することが困難である。そこで、日本語のような分かち書きを行わない言語の文章を単語に分割するには、形態素解析を用いるのが有効である。
【００２７】
形態素とは、これ以上に細かくすると意味がなくなってしまう最小の文字列をいい、形態素解析とは、自然言語の文中の単語を識別し、その語形変化を解析し、品詞を同定する方法である。この技術を用いることで、日本語のような分かち書きを行わない言語の文章を単語に分割することができる。ただし、辞書による単語の分割を行うため、形態素解析のための辞書が必要となる。なお、英語やフランス語等の欧米言語についても使用することができる。
【００２８】
上記手法等により会話文を単語に分割し、それらを組み合わせて統計情報テーブル１１２の検索条件であるキーワード群、つまり単語グループを作成する。対象とする会話文は入力されている全てとしてもよいし、一部分、例えば、チャット入力画面の入力カーソルの直前Ｎ文字や、直前の文書の頭と尾からそれぞれＮ文字としてもよい。また、形態素解析を行った場合には単語の分割と同時にその単語の品詞が得られるので、単語グループを構成する単語を特定の品詞等に対象を絞ってもよい。また、単語グループを構成する単語の個数については、いくつでもよい。また、会話文全てを対象とする場合等は、単語グループを構成する単語の数が２つというように少なくてもよい。組み合わせる単語の数が少なくても、会話文全体の単語の組み合わせを網羅しているため、動作候補選定の精度に大きな違いは生じないからである。
【００２９】
図７に戻って、ステップＳ１１にて会話文から単語グループが作成されると、クライアント端末の通信部２０３からサーバの通信部１０３へ単語グループが送信される（ステップＳ１２）。なお、動作ＩＤ等が入力されている場合については、ステップＳ１２にて動作ＩＤ等も併せてサーバへ送信される。続いて、ユーザにて動作ＩＤ等が入力されているか否かが判断される（ステップＳ１３）。動作ＩＤ等が入力されていない場合には、会話文の内容に適合すると推測される動作の候補を提示するための動作候補選定処理を行う（ステップＳ１５）。一方、動作ＩＤ等が入力されている場合については、動作ＩＤ等を検索条件に動作索引テーブル１１１から動作データインデックスを取得する（ステップＳ１４）。以下に、動作候補選定処理を説明する。
【００３０】
図８は、動作候補選定処理フローを示す図である。本処理は、サーバの動作検索部１０７およびクライアント端末の重要度処理部２０４にて行われる。ステップＳ１３にて会話文に動作ＩＤ等が入力されていないと判断されると処理が開始する。会話文から作成された単語グループを検索条件として、統計情報テーブル１１２の検索を行う（ステップＳ２１）。検索結果として、単語グループ、単語グループに対応する動作ＩＤ、単語グループと動作ＩＤの組み合わせの使用度合が取得される。ここで、使用度合が所定の条件を満たすものを取得すればよい。所定の条件は、使用度合が閾値以上であるといった条件や、使用度合の上位５つといった使用度合の高いものを抽出する条件等である。なぜならば、使用度合が低いものは会話文に適合している可能性が低いため、ユーザが必要としている可能性も低いと考えられるからである。なお、結果は複数取得したほうがよい。結果が１つでは、それがユーザの意図としている動作とは異なることがあるからである。
【００３１】
続いて、ステップＳ２１にて得られた検索結果をクライアント端末へ送信し（ステップＳ２２）、重要度処理部２０４にて検索結果から動作候補の重要度計算を行う（ステップＳ２３）。重要度は、ステップＳ２１の検索結果である単語グループと動作ＩＤの組み合わせの使用度合、または使用度合に対して重み付けをして算出した値を動作ＩＤごとに計算し直した値である。重み付けとは、動作の決定において単語グループがどれだけ影響するかを基準として、影響度を単語グループに付与することである。すなわち、会話文の単語グループの中でも、動作の決定への影響が異なるという仮定に基づき、各単語グループをその会話文に対するアバタの動作決定の影響度によって差別化することである。重み付けの例としては、ユーザによって入力された順番により影響度の比重を決定する手法、感情的な言葉により影響度の比重を決定する手法、および使用度合により影響度の比重を決定する手法等が挙げられる。
【００３２】
ユーザによって入力された順番に従って重み付けを行う手法について説明する。例えば、以下のような会話文が入力された場合において、直近に入力された単語ほど影響度の比重を強くする。
Ｗｏｗ  ｎｉｃｅ  ｓｗｏｒｄ，ｇｉｖｅ  ｍｅ  ｔｈａｔ
影響度は、現在入力されている単語数ｎと、単語の入力された順番ｉ、単語グループを構成する単語数ｍを用いて次の式で決定する。つまり、ｉ／ｎの平均値を影響度とする。
【数１】
0004985974.tif 000002
上記（１）式にて単語グループごとに計算を行い、影響度を算出する。図９は、単語グループに対応する影響度の値を示す図である。ただし、統計情報テーブルから単語グループと動作ＩＤの組み合わせを取得した際に、取得条件を使用度合の大きい順に７つとしている。上記（１）式を用いることにより。直近に入力された単語の組み合わせほど影響度を大きくすることができることがわかる。続いて、本例を用いて重要度評価について説明する。
【００３３】
図１０に、上記例における統計情報テーブル１１２を検索して得られた結果を示す。統計情報テーブル１１２を検索して得られた結果は動作候補リストとして、クライアント端末に一時記憶する。重要度評価は重要度を基に行われ、本例において重要度は使用度合および図９に示される重みから算出する。ここで、検索条件の単語グループをｋｅｙとし、動作ＩＤに対する使用度合を、Ｐ（ｋｅｙ，ｉｄ）と表すことにすると、単語グループに対応する重みｗ（ｋｅｙ）を用いて、動作ＩＤの重要度Ｖ（ｉｄ）は次の式で与えられる。
【数２】
0004985974.tif 000003
【００３４】
上式（２）に、図９および図１０の値を代入した計算式を以下に示す。
【数３】
0004985974.tif 000004
【００３５】
図８に戻って、ステップＳ２２にて得られた重要度を基に重要度評価を行う（ステップＳ２４）。重要度評価とは、動作ＩＤに優先度の高い順に優先順位をつけることや閾値以上の動作ＩＤのみを動作候補とすること等を意味する。本例において重要度の高い順に優先順位をつけて動作候補を提示すると、ＩＤ「００５３２２」，ＩＤ「２００７８４」，ＩＤ「６６３１５４」，ＩＤ「１１０３３３」，ＩＤ「９８２３５１」の順にユーザに提示される。このようにして、会話文を構成する単語から、会話文に適合した動作の候補を提示することができる。また、候補には優先順位を付加することもできる。動作候補の提示手法については、後述する実施例にて説明する。
【００３６】
図７に戻って、ステップＳ１５にて動作候補が決定されると、クライアント端末にて動作候補が出力される（ステップＳ１６）。動作候補出力後、ユーザにて動作候補の中から動作が選択されたかが判断される（ステップＳ１７）。動作が選択された場合および、ステップＳ１３にてユーザにて動作ＩＤ等が入力されていると判断された場合には、ユーザにて指定された動作に対応する動作データインデックスを検索条件として動作ＤＢ２１０から動作データを取得し、その動作を行うアバタを描画する。その結果を、出力部２０６、例えば画面を通じて出力する（ステップＳ１８）。その後、統計情報テーブル１１２および度数テーブル１１３の更新処理を行う（ステップＳ１９）。
【００３７】
図１１は、更新処理フローを示す図である。動作データインデックスがクライアント端末に送信された後に処理が開始する。ステップＳ１２で作成された単語グループと使用された動作ＩＤを条件として統計情報テーブル１１２を、同単語グループを条件として度数テーブル１１３を検索する（ステップＳ２５）。図１２には、前述する例において動作ＩＤ「００５３２２」が使用された場合に、統計情報テーブル１１２を検索して得られた結果を示す。これらの結果の単語グループと動作ＩＤの組み合わせについて、統計情報テーブル１１２の使用された度数Ｎと度数テーブル１１３の使用された度数Ｍそれぞれに今回使用された度数を加算する（ステップＳ２６）。加算される度数は、１であれば使用された回数を表し、この場合使用度合は使用頻度を意味する。また、重み付けに用いた影響度を加味した数値としてもよい。使用度合は、Ｎ／Ｍで計算される。このとき、上記にて検索された対象において、統計情報テーブル１１２の使用度合、使用度数、および最終更新使用日時の領域を、度数テーブル１１３の使用度数領域を更新する（ステップＳ２７）。
【００３８】
検索できなかった組み合わせについては、新規に統計情報テーブル１１２、度数テーブル１１３に登録する。全てを登録せずに、例えば、影響度のある程度大きいもののみを登録してもよい。このとき、単語グループのみが登録されているものであれば、度数テーブル１１３の使用度数を更新する。
【００３９】
図７に戻って、ステップＳ１９の更新処理終了後に単語が続けて入力されているか判断する（ステップＳ２０）。動作候補の提示および更新処理は単語の入力のたびに、インクリメンタルに行われる。この場合、新たに入力された単語だけでなく、その前に入力された会話文の単語も対象とし、これらを組み合わせて新たな単語グループを作成する。新たな単語グループにて統計情報テーブル１１２を検索する。詳細には、新たに検索された動作候補と、クライアント端末に一時記憶されている動作候補リストから重要度計算および重要度評価を行う。その結果、得られた新たな動作候補をユーザへ提示する。これにより、単語の入力ごとに動作候補が動的にユーザに提示される。
【００４０】
ここで、相手へ会話文を送信するには、まずサーバへ会話文が送信される。サーバへ会話文を送信する方法には、所定の条件の場合に送信する方法がある。所定の条件とは、ユーザがボタンを押すといった条件により任意に送信される場合や、一定時間入力されなかったといった条件により自動で行われる場合等がある。単語の入力ごとに動作候補が提示されることにより、会話文を送信する時に、アバタの動作を決定していることができる。なお、会話文は途中でもよい。それにより、会話文の送信と同時にアバタに動作を行わせることができる。また、すでに検索されたものはそのまま使用するため、検索数を減らすことができ検索スピードをアップさせることができる。なお、新たに入力した会話文のみでアバタの動作候補をユーザに提示することもできる。その方法としては、会話文を改行する、チャットウィンドウから以前に入力した会話文をユーザが削除する等が挙げられる。
【００４１】
上述において、図７を用いて、文章解析部２０２をクライアント端末に設けた場合のチャット会話文の入力による動作候補の表示について説明した。一方、文章解析部２０２をサーバに設けることもできる。この場合、単語グループの作成はサーバにて行われるため、入力された会話文がサーバへ送られ、サーバにて単語グループを作成する。
【００４２】
ユーザによって動作が指定される、またはユーザによって動作が使用されるごとに統計情報ＤＢ１１０の統計情報テーブル１１２および度数テーブル１１３は更新される。更新には２つのパターンがあり、１つは度数等の数値データの変更、もう一つは情報の追加である。情報の追加とは、統計情報ＤＢ１１０の統計情報テーブル１１２と度数テーブル１１３は、単語グループまたは単語グループと動作の新しい組み合わせが作成されると情報が追加される。このように、統計情報テーブル１１２と度数テーブル１１３に情報を追加していくと、膨大な量の単語グループと動作ＩＤの組み合わせまたは単語グループが統計情報テーブル１１２と度数テーブル１１３に蓄積されてしまう。一方、単語グループと動作ＩＤの組み合わせの中には、ほとんど使用されないものがある。これらを統計情報テーブル１１２と度数テーブル１１３に記憶しておくと、使用しないデータが蓄積され、データ量が膨大になり検索に時間がかかる。そこで、その解消方法としてある所定の時間間隔でテーブルの編集を行う。
【００４３】
所定の時間間隔とは、統計情報ＤＢ１１０の管理者等が自由に設定することができる。例えば、１日に一回や一ヶ月に一回等である。編集には、統計情報テーブル１１２の最終使用日時と、使用度数および使用度合を利用する。例えば、使用度数や使用度合がある閾値以下の単語の組み合わせと動作の対応のうち、数日間使用されないものを削除することで編集を行う。これにより、テーブルを最適な状態に保つことができ、会話文に適合する動作候補を的確にユーザへ提示することができる。
【００４４】
本発明を適用した場合における、ユーザへの動作候補の提示について実施例を用いて説明する。
【実施例１】
【００４５】
実施例として、ポップアップウィンドウ形式で表示される動作候補を選択する方法について説明する。仮想世界において、アバタ同士が英語でチャットを行っているとする。画面上のチャットウィンドウにユーザが入力した会話文が表示される。単語の入力が終了したと判断されるとそこまでに入力された会話文に適合する動作候補が送られる。図１３は、チャット入力とポップアップウィンドウ形式で動作候補を提示しているコンピュータ画面を示す図である。選定された動作候補の一覧は図に示すようにポップアップウィンドウとして表示され、ポップアップウィンドウは判断元の会話文がわかるように結び付けられる。動作候補は視覚的にわかりやすいように簡単に動作を表現した絵とする。
【００４６】
図１４は、ユーザによる候補の選択と、続けて単語を入力した場合の動作候補を提示しているコンピュータ画面を示す。図１３で提示された動作候補から動作を選択すると、チャットウィンドウの上に選択した動作が小さく表示される。また、この時アバタは選択された動作を行う。続けて単語が入力され、その入力が終了すると再度、動作候補が提示される。この時、動作候補は新たに入力されたものだけなく前文も考慮したうえで提示される。本例において、先に選択されたのも、後から選択されたものもアバタの動きであるため、後の動きが選択された時点で先の動きは終了する。なお、前回に選択されたのがアバタの動きであって、今回選択されたのがアバタの表情の変化というような、感情と動きの組み合わせの場合は２つを合わせてアバタに実行させることができる。これらにより、ユーザは会話文に対応する動作が明確にわかり、また動作を絵で表現することにより選択しやすい。また、続けて入力された場合に以前に選択した動作が表示されていることで以前の動作との組み合わせを考えることができる。
【実施例２】
【００４７】
また、別の実施例として、漢字変換形式で表示される動作候補を選択する方法について説明する。ここでは、仮想世界において、アバタ同士が日本語でチャットを行っているとする。図１５は、漢字変換形式の動作候補提示と動作選択の流れを示す図である。（ａ）は、会話文の入力後に漢字変換をしている場合のコンピュータ画面の図である。（ｂ）は、（ａ）にて漢字変換を行った後、動作候補の提示がされたときのコンピュータ画面の図である。漢字変換の際の変換対象の文章に対して下線が引かれるのと同様、動作候補の対象の文章に対して下線が引かれる。（ｃ）は、「嫌だよ」の漢字変換およびアバタの動作決定後に、次に続く文章「いきたくない」が漢字変換および動作候補の対象の文章となることを示している。これにより、漢字変換の操作と同様の操作にて動作を選択することができる。
【実施例３】
【００４８】
さらに別の実施例として、動作候補をカテゴリーにより絞込んで選択する方法について説明する。図１６は、カテゴリーによる絞込みを示す図である。（ａ）に示すように入力された会話文に対応する動作候補を履歴、行動、感情等のカテゴリーに分け、該当するカテゴリーを選択できるよう表示する。また、動作候補が分類されるカテゴリーのみならず、会話中で使用する必殺技といった関係のないカテゴリーも合わせて表示することができる。ここで、「感情」のカテゴリーを選択すると、（ｂ）に示すように細分化されたカテゴリーに分かれる。さらに、「喜」のカテゴリーを選択すると、（ｃ）に示すように「喜」に該当する動作候補が表示される。このように、動作候補をそのまま表示するのではなく、カテゴリー分けしカテゴリーによりユーザにてさらに動作候補を絞ることができる。多数の動作候補をユーザに提示したい場合に有効である。
【００４９】
［サーバとクライアント端末の典型的なハードウェア構成例］
図１７は、図１および図２で説明したサーバとクライアント端末の典型的なハードウェア構成例として情報処理装置４００を示した図である。以下、この情報処理装置４００のハードウェア構成の１例を示す。情報処理装置４００は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）１０１０、バスライン１００５、通信Ｉ／Ｆ１０４０、メインメモリ１０５０、ＢＩＯＳ（Ｂａｓｉｃ  Ｉｎｐｕｔ  Ｏｕｔｐｕｔ  Ｓｙｓｔｅｍ）１０６０、パラレルポート１０８０、ＵＳＢポート１０９０、グラフィック・コントローラ１０２０、ＶＲＡＭ１０２４、音声プロセッサ１０３０、Ｉ／Ｏコントローラ１０７０、並びにキーボードおよびマウス・アダプタ等１１００の入力手段を備える。Ｉ／Ｏコントローラ１０７０には、フレキシブル・ディスク（ＦＤ）ドライブ１０７２、ハード・ディスク１０７４、光ディスクドライブ１０７６、半導体メモリ１０７８等の記憶手段を接続することができる。
【００５０】
音声プロセッサ１０３０には、増幅回路１０３２、スピーカ１０３４、およびマイク１０３５が接続される。また、グラフィック・コントローラ１０２０には、表示装置１０２２が接続されている。
【００５１】
ＢＩＯＳ１０６０は、情報処理装置４００の起動時にＣＰＵ１０１０が実行するブートプログラムや、情報処理装置４００のハードウェアに依存するプログラム等を格納する。ＦＤ（フレキシブル・ディスク）ドライブ１０７２は、フレキシブル・ディスク１０７１からプログラムまたはデータを読み取り、Ｉ／Ｏコントローラ１０７０を介してメインメモリ１０５０またはハード・ディスク１０７４に提供する。
【００５２】
光ディスクドライブ１０７６としては、例えば、ＤＶＤ−ＲＯＭドライブ、ＣＤ−ＲＯＭドライブ、ＤＶＤ−ＲＡＭドライブ、ＣＤ−ＲＡＭドライブを使用することができる。この際は各ドライブに対応した光ディスク１０７７を使用する必要がある。光ディスクドライブ１０７６は光ディスク１０７７からプログラムまたはデータを読み取り、Ｉ／Ｏコントローラ１０７０を介してメインメモリ１０５０またはハード・ディスク１０７４に提供することもできる。
【００５３】
情報処理装置４００に提供されるコンピュータ・プログラムは、フレキシブル・ディスク１０７１、光ディスク１０７７、またはメモリーカード等の記録媒体に格納されて利用者によって提供される。このコンピュータ・プログラムは、Ｉ／Ｏコントローラ１０７０を介して、記録媒体から読み出され、または通信Ｉ／Ｆ１０４０を介してダウンロードされることによって、情報処理装置４００にインストールされ実行される。コンピュータ・プログラムが情報処理装置に働きかけて行わせる動作は、既に説明した装置における動作と同一であるので省略する。
【００５４】
前述のコンピュータ・プログラムは、外部の記憶媒体に格納されてもよい。記憶媒体としてはフレキシブル・ディスク１０７１、光ディスク１０７７、またはメモリーカードの他に、ＭＤ等の光磁気記録媒体、テープ媒体を用いることができる。また、専用通信回線やインターネットに接続されたサーバシステムに設けたハード・ディスクまたは光ディスク・ライブラリ等の記憶装置を記録媒体として使用し、通信回線を介してコンピュータ・プログラムを情報処理装置４００に提供してもよい。
【００５５】
以上の例は、情報処理装置４００について主に説明したが、コンピュータに、情報処理装置で説明した機能を有するプログラムをインストールして、そのコンピュータを情報処理装置として動作させることにより上記で説明した情報処理装置と同様な機能を実現することができる。従って、本発明において一つの実施形態として説明した情報処理装置は、方法およびそのコンピュータ・プログラムによっても実現可能である。
【００５６】
本発明の装置は、ハードウェア、ソフトウェア、またはハードウェアおよびソフトウェアの組み合わせとして実現可能である。ハードウェアとソフトウェアの組み合わせによる実施では、所定のプログラムを有するコンピュータ・システムでの実施が典型的な例として挙げられる。かかる場合、該所定のプログラムが該コンピュータ・システムにロードされ実行されることにより、該プログラムは、コンピュータ・システムに本発明にかかる処理を実行させる。このプログラムは、任意の言語、コード、または表記によって表現可能な命令群から構成される。そのような命令群は、システムが特定の機能を直接実行すること、または（１）他の言語、コード、もしくは表記への変換、（２）他の媒体への複製、のいずれか一方もしくは双方が行われた後に、実行することを可能にするものである。もちろん、本発明は、そのようなプログラム自体のみならず、プログラムを記録した媒体を含むプログラム製品もその範囲に含むものである。本発明の機能を実行するためのプログラムは、フレキシブル・ディスク、ＭＯ、ＣＤ−ＲＯＭ、ＤＶＤ、ハード・ディスク装置、ＲＯＭ、ＭＲＡＭ、ＲＡＭ等の任意のコンピュータ可読媒体に格納することができる。かかるプログラムは、コンピュータ可読媒体への格納のために、通信回線で接続する他のコンピュータ・システムからダウンロードしたり、他の媒体から複製したりすることができる。また、かかるプログラムは、圧縮し、または複数に分割して、単一または複数の記録媒体に格納することもできる。
【００５７】
以上、本発明を実施形態に則して説明したが、本発明は上述した実施形態に限るものではない。また、本発明の実施形態に記載された効果は、本発明から生じる最も好適な効果を列挙したに過ぎず、本発明による効果は、本発明の実施形態または実施例に記載されたものに限定されるものではない。
【図面の簡単な説明】
【００５８】
【図１】本発明を適用したコミュニケーション支援システムの一実施態様の構成を示す図である。
【図２】コミュニケーション支援システムのクライアント端末とサーバの基本システム構成図を示す図である。
【図３】動作索引テーブルの構成を示す図である。
【図４】統計情報テーブルの構成を示す図である。
【図５】度数テーブルの構成を示す図である。
【図６】動作ＤＢの構成を示す図である
【図７】会話文の入力による動作候補の表示および統計情報の更新の処理フローを示す図である。
【図８】動作候補処理選定処理フローを示す図である。
【図９】単語グループに対応する影響度のデータを示す図である。
【図１０】統計情報テーブルを検索して得られた結果を示す図である。
【図１１】更新処理フローを示す図である。
【図１２】統計情報テーブルを検索して得られた結果を示す図である。
【図１３】会話文入力と動作候補を提示しているコンピュータ画面を示す図である。
【図１４】ユーザによる候補の選択と、会話文を続けて入力した場合の動作候補を提示しているコンピュータ画面を示す図である。
【図１５】漢字変換形式の動作候補提示と動作選択の流れを示す図である。
【図１６】カテゴリーによる絞込みを示す図である。
【図１７】サーバとクライアント端末の典型的なハードウェア構成例を示す図である。
【符号の説明】
【００５９】
１  コミュニケーション支援システム
１００  サーバ
１０３  通信部
１０７  動作検索部
１０８  更新部
１１０  統計情報ＤＢ
１１１  動作索引テーブル
１１２  統計情報テーブル
１１３  度数テーブル
２００  クライアント端末
２０１  入力部
２０２  文章解析部
２０３  通信部
２０４  重要度処理部
２０５  レンダリング部
２０６  出力部
２１０  動作ＤＢ
３００  ネットワーク
【図１】
0004985974.tif 000005
【図２】
0004985974.tif 000006
【図３】
0004985974.tif 000007
【図４】
0004985974.tif 000008
【図５】
0004985974.tif 000009
【図６】
0004985974.tif 000010
【図７】
0004985974.tif 000011
【図８】
0004985974.tif 000012
【図９】
0004985974.tif 000013
【図１０】
0004985974.tif 000014
【図１１】
0004985974.tif 000015
【図１２】
0004985974.tif 000016
【図１３】
0004985974.tif 000017
【図１４】
0004985974.tif 000018
【図１５】
0004985974.tif 000019
【図１６】
0004985974.tif 000020
【図１７】
0004985974.tif 000021