(57)【要約】アニメーション作成についての特別な知識を持たないユーザーが作成したテキスト文からでも、ユーザーが所望する表現の豊かなアニメーションを生成するためのシナリオを自動的に生成することができるシナリオ生成装置。本装置において、シナリオ生成部（１１１ａ）は、ユーザー入力文からシナリオを生成し、シナリオ編集部（１１１ｂ）は、外界情報取得部（１１３）で取得された外界情報を用いて、生成されたシナリオの用語から想起される情報でシナリオを編集する。すなわち、シナリオ生成装置（１００）は、ユーザーが作成したテキスト文に追加すべき情報を認識し、ユーザーが所持する機器や通信可能範囲に存在する機器から取得した外界情報を用いてシナリオに情報を追加する。これにより、ユーザーに特別な知識がなくても、ユーザーが意図する形に近い表現のアニメーションを実現するためのシナリオを生成することが可能になる。【特許請求の範囲】
【請求項１】
入力文からアニメーション用のシナリオを自動的に生成するシナリオ生成装置であって、
入力文に記述された単語の意味および前記単語がどのカテゴリーに該当するかを解析する入力文解析部と、
前記入力文解析部の解析結果を用いてシナリオを生成するシナリオ生成部と、
前記シナリオ生成部によって生成されたシナリオを、当該シナリオの用語から想起される情報で編集するシナリオ編集部と、
を具備するシナリオ生成装置。
【請求項２】
前記想起される情報は、前記シナリオの用語から、前記用語と前記用語から想起される情報とを関連づけた外界情報を用いて取得される、
請求項１記載のシナリオ生成装置。
【請求項３】
外界情報の種類と、外界情報の取得先に関する取得先情報と、の組によって構成される外界情報取得知識を格納した外界情報取得知識格納部、をさらに具備し、
前記外界情報は、前記外界情報取得知識格納部に格納された外界情報取得知識を用いて取得される、
請求項２記載のシナリオ生成装置。
【請求項４】
前記外界情報は、内部に具備した外界情報蓄積部および／または外部に配置された外界情報蓄積装置に蓄積され、
前記外界情報は、前記外界情報蓄積部および／または前記外界情報蓄積装置から取得される、
請求項２記載のシナリオ生成装置。
【請求項５】
前記外界情報は、入力文作成者の経験に基づく情報、日時情報、または環境情報の少なくとも１つである、
請求項２記載のシナリオ生成装置。
【請求項６】
取得された外界情報から編集リソース情報を生成する編集リソース生成部、をさらに具備し、
前記シナリオ編集部は、
取得された外界情報および／または前記編集リソース生成部によって生成された編集リソース情報を用いて、前記シナリオ生成部によって生成されたシナリオを編集する、
請求項２記載のシナリオ生成装置。
【請求項７】
シナリオの用語から想起される情報を特定するための知識適応条件と、前記知識適応条件に対応して取得すべき外界情報と、取得した外界情報を用いてどのようにシナリオを編集するかを示す編集規則と、の組によって構成されるシナリオ編集知識を格納したシナリオ編集知識格納部、をさらに具備し、
前記シナリオ編集部は、
前記シナリオ編集知識格納部に格納されたシナリオ編集知識を参照して、前記知識適応条件により、前記シナリオ生成部によって生成されたシナリオの用語から想起される情報を特定し、前記知識適応条件に対応して取得された外界情報を用いて、前記編集規則に従って、前記シナリオ生成部によって生成されたシナリオを編集する、
請求項２記載のシナリオ生成装置。
【請求項８】
シナリオの用語から想起される情報を特定するための知識適応条件と、前記知識適応条件に対応して取得すべき外界情報および／または編集リソース情報と、取得した外界情報および／または編集リソース情報を用いてどのようにシナリオを編集するかを示す編集規則と、の組によって構成されるシナリオ編集知識を格納したシナリオ編集知識格納部、をさらに具備し、
前記シナリオ編集部は、
前記シナリオ編集知識格納部に格納されたシナリオ編集知識を参照して、前記知識適応条件により、前記シナリオ生成部によって生成されたシナリオの用語から想起される情報を特定し、前記知識適応条件に対応して取得された外界情報および／または編集リソース情報を用いて、前記編集規則に従って、前記シナリオ生成部によって生成されたシナリオを編集する、
請求項６記載のシナリオ生成装置。
【請求項９】
編集リソース情報の種類と、編集リソース情報を生成するために用いられる外界情報と、外界情報を用いて編集リソース情報を生成するための生成規則と、の組によって構成される編集リソース生成知識を格納した編集リソース生成知識格納部、をさらに具備し、
前記編集リソース生成部は、
前記編集リソース生成知識格納部に格納された編集リソース生成知識を参照して、前記シナリオ編集部から要求された編集リソース情報を生成し、前記シナリオ編集部に出力する、
請求項６記載のシナリオ生成装置。
【請求項１０】
請求項１記載のシナリオ生成装置と、
前記シナリオ生成装置によって生成されたシナリオを用いて、コンピュータ・グラフィックス・アニメーションを生成するグラフィックス生成装置と、
を具備するアニメーション作成システム。
【請求項１１】
入力文からアニメーション用のシナリオを自動的に生成するシナリオ生成方法であって、
入力文に記述された単語の意味および前記単語がどのカテゴリーに該当するかを解析するステップと、
入力文の解析結果を用いてシナリオを生成するステップと、
生成されたシナリオを、当該シナリオの用語から想起される情報で編集するステップと、
を具備するシナリオ生成方法。
【請求項１２】
入力文からアニメーション用のシナリオを自動的に生成するためのシナリオ生成プログラムであって、
入力文に記述された単語の意味および前記単語がどのカテゴリーに該当するかを解析するステップと、
入力文の解析結果を用いてシナリオを生成するステップと、
外界情報を取得するステップと、
取得された外界情報を用いて、生成されたシナリオを、当該シナリオの用語から想起される情報で編集するステップと、
をコンピュータに実行させるためのシナリオ生成プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】  本発明は、ユーザーによって入力された文章からコンピュータ・グラフィックス・アニメーション（以下単に「アニメーション」という）を作成するためのシナリオを自動的に生成するシナリオ生成装置、シナリオ生成方法、およびシナリオ生成プログラムに関する。
【背景技術】
【０００２】  従来より、ユーザーによって入力されたテキスト文からアニメーションを作成する装置の開発が盛んである（例えば、特許文献１参照）。【０００３】  この装置は、ユーザーにアニメーションの内容を記述したシナリオを入力させることによって、アニメーションを作成する。このような装置を用いることにより、ユーザーは、特別なアニメーション作成技術を持たずとも、手軽にアニメーションを作成することができる。
【特許文献１】特開平８−１２３９７６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】  しかしながら、入力したシナリオから、より充実したアニメーションを作成するためには、登場キャラクターの外観や動作、背景のセット、小物の情報など、より多くの情報の記述が必要である。【０００５】  まず、登場キャラクターに行わせるアニメーション動作は、プログラムで使用可能な動作に対応する表現を用いて記述する必要がある。このため、シナリオの作成に慣れないユーザーがシナリオを記述する際には、困難が生じる。したがって、例えば、「謝る」とラベル付けされたアニメーション動作を、登場キャラクターに行わせようとする場合には、「花子が太郎に謝る」という直接的な表現以外に、「花子が太郎にごめんなさいをした」、「花子が太郎に謝罪した」などの他の表現が許容されるべきである。【０００６】  また、登場キャラクターの選択は、動作主として「花子が歩く」のように明示されることで自動的に行われるとしても、例えば、どのような服装なのか、何を所持しているのかといったことを記述するのには困難を伴う。【０００７】  さらに、例えば、レストランのシーンであれば、テーブルや椅子、料理のＣＧ（Ｃｏｍｐｕｔｅｒ  Ｇｒａｐｈｉｃｓ）素材を背景に置き、時刻に応じて照明の明るさなども指示できることが望ましい。ところが、「レストランで食事した」という一文だけでは、その他の情報がまったく記述されていないため、アニメーションシナリオとしては不適格である。【０００８】  このように、シナリオ記述の経験が無いユーザーやその経験が浅いユーザーは、所望するアニメーションを作成するために、どのような情報をシナリオに記述すればよいかがわからない。すなわち、アニメーション作成についての特別な知識を持たないユーザーにとって、意図するアニメーションを作成するためのシナリオを作成することは困難であるという問題がある。【０００９】  本発明の目的は、アニメーション作成についての特別な知識を持たないユーザーが作成したテキスト文からでも、ユーザーが所望する表現の豊かなアニメーションを生成するためのシナリオを自動的に生成することができるシナリオ生成装置、シナリオ生成方法、およびシナリオ生成プログラムを提供することである。
【課題を解決するための手段】
【００１０】  本発明のシナリオ生成装置は、入力文からアニメーション用のシナリオを自動的に生成するシナリオ生成装置であって、入力文に記述された単語の意味および前記単語がどのカテゴリーに該当するかを解析する入力文解析部と、前記入力文解析部の解析結果を用いてシナリオを生成するシナリオ生成部と、前記シナリオ生成部によって生成されたシナリオを、当該シナリオの用語から想起される情報で編集するシナリオ編集部と、を有する構成を採る。【００１１】  本発明のシナリオ生成方法は、入力文からアニメーション用のシナリオを自動的に生成するシナリオ生成方法であって、入力文に記述された単語の意味および前記単語がどのカテゴリーに該当するかを解析するステップと、入力文の解析結果を用いてシナリオを生成するステップと、生成されたシナリオを、当該シナリオの用語から想起される情報で編集するステップと、を有するようにした。【００１２】  本発明のシナリオ生成プログラムは、入力文からアニメーション用のシナリオを自動的に生成するためのシナリオ生成プログラムであって、入力文に記述された単語の意味および前記単語がどのカテゴリーに該当するかを解析するステップと、入力文の解析結果を用いてシナリオを生成するステップと、生成されたシナリオを、当該シナリオの用語から想起される情報で編集するステップと、をコンピュータに実行させるものである。
【発明の効果】
【００１３】  本発明によれば、アニメーション作成についての特別な知識を持たないユーザーが作成したテキスト文からでも、たとえば、アニメーションの作成に必要な情報が記述されていない入力文からでも、このユーザーが所望する表現の豊かなアニメーションを生成するためのシナリオを自動的に生成することができる。
【図面の簡単な説明】
【００１４】
【図１】本発明の実施の形態１に係るシナリオ生成装置を含むアニメーション作成システムの構成を示すブロック図
【図２】実施の形態１における入力文解析辞書の一例を示す図
【図３】実施の形態１における中間シナリオの一例を示す図
【図４】実施の形態１におけるシナリオ編集知識の一例を示す図
【図５】実施の形態１における外界情報取得知識の一例を示す図
【図６】実施の形態１における外界情報の一例を示す図
【図７】実施の形態１に係るシナリオ生成装置から出力される最終シナリオの一例を示す図
【図８】実施の形態１に係るシナリオ生成装置の動作を示すフローチャート
【図９】実施の形態１におけるグラフィックス生成装置の動作を示すフローチャート
【図１０】本発明の実施の形態２に係るシナリオ生成装置を含むコンピュータ・グラフィックス・アニメーション作成システムの構成を示すブロック図
【図１１】実施の形態２におけるシナリオ編集知識の一例を示す図
【図１２】実施の形態２における編集リソース生成知識の一例を示す図
【図１３】実施の形態２に係るシナリオ生成装置から出力される最終シナリオの一例を示す図
【図１４】実施の形態２に係るシナリオ生成装置の動作を示すフローチャート
【発明を実施するための最良の形態】
【００１５】  以下、本発明の実施の形態について、添付図面を参照しながら説明する。【００１６】  （実施の形態１）
まず、本発明の実施の形態１に係るコンピュータ・グラフィックス・アニメーション作成システムについて、図１を用いて説明する。図１は、実施の形態１に係るシナリオ生成装置を含むコンピュータ・グラフィックス・アニメーション作成システムの構成を示すブロック図である。【００１７】  図１において、コンピュータ・グラフィックス・アニメーション作成システム（以下単に「アニメーション作成システム」という）１００は、シナリオ生成装置１０１、グラフィックス生成装置１０２、表示装置１０３、および外界情報蓄積装置１０４から主に構成されている。シナリオ生成装置１０１は、ユーザーが入力したユーザー入力文１０７を取得し、アニメーションを生成するために必要な情報をシナリオとして出力する。グラフィックス生成装置１０２は、シナリオ生成装置１０１から出力されたシナリオに基づいて、アニメーションを生成する。表示装置１０３は、グラフィックス生成装置１０２によって生成されたアニメーションを表示する。外界情報蓄積装置１０４は、シナリオ生成装置１０１がシナリオに不足している情報を補ったり、シナリオに新たな情報を追加するために用いる外界情報１０５を蓄積する。これらの各部は、インターネット、携帯通信網、ＬＡＮなどの一般的なネットワーク１０６を介して繋がっている。【００１８】  なお、シナリオ生成装置１０１と、グラフィックス生成装置１０２と、表示装置１０３と、外界情報蓄積装置１０４は、同一の装置に備えられている形態であっても良い。【００１９】  シナリオ生成装置１０１には、ユーザー入力文１０７を入力するための入力部１０８が設けられている。入力部１０８は、入力したユーザー入力文１０７を入力文解析部１０９に送る。【００２０】  入力文解析部１０９は、入力文解析辞書データベース（ＤＢ）１１０を用いて、ユーザー入力文１０７の形態素解析を行い、ユーザー入力文１０７を形態素に分割し、シナリオ生成部１１１ａに出力する。なお、形態素に分割する方法は公知の技術であるので、その説明を省略する。【００２１】  入力文解析辞書データベース１１０は、形態素解析によってユーザー入力文１０７から得られた単語を、シナリオを構成する情報のカテゴリーに分類し、意味付けするための入力文解析辞書を格納している。具体的には、入力文解析辞書データベース１１０は、図２に示すような、単語２０１と、単語２０１に対する事象である表現２０２と、各単語２０１が表す事象がシナリオを構成する情報のカテゴリーのいずれに該当するかを示す情報である分類２０３と、の組によって構成される入力文解析辞書１１０ａを格納している。なお、図２に示す“＄”は、値がその引数クラスに相当するオブジェクトであることを示す。【００２２】  例えば、“昨日”という単語２０１に対しては、“＄（昨日）”という表現２０２が対応付けられており、さらに“日時”という分類２０３が対応付けられている。また、“昼”という単語２０１は、“＄（１２：００頃）”という表現２０２“日時”という分類２０３が対応付けられている。これは、ユーザー入力文１０７に記述された“昼”が１２：００頃を示す日時であることを示す。【００２３】  また“私”という単語２０１には、“＄（ＵＳ���Ｒ）”という表現２０２と、“登場人物”という分類２０３が対応付けられている。これは、ユーザー入力文１０７に“私”という記述がある場合には、その記述は登場人物としてユーザー入力文１０７を記述した人物（ＵＳＥＲ）を表現しているということを示す。【００２４】  また“食事する”という単語２０１は、“＄（食べる）”という表現２０２と、“動作”という分類２０３が対応付けられている。これはシナリオに記述された動作“食事する”が食べるという動作であることを示す。【００２５】  入力文解析部１０９は、このような入力文解析辞書１１０ａを用いることで、形態素解析した単語２０１の、シナリオとしての意味、および単語２０１がシナリオを構成する情報のカテゴリーのいずれに該当するかを解析する。そして、入力文解析部１０９は、解析結果として、単語２０１の意味を示す表現２０２と、単語２０１がシナリオを構成する情報のカテゴリーのいずれに該当するかを示す分類２０３を入力文解析結果としてシナリオ生成部１１１ａへ出力する。【００２６】  シナリオ生成部１１１ａは、入力文解析部１０９から送られてきた入力文解析結果（表現２０２および分類２０３）を取得し、取得した入力文解析結果に付与された表現２０２および分類２０３を、場面情報、登場人物情報、動作情報などに分類した中間シナリオを記述する。【００２７】  図３に、実施の形態１における中間シナリオの一例を示す。図３は、ユーザー入力文１０７を解析することで作成された中間シナリオの一例を示した図であり、「昨日のお昼、私は外で食事しました。」というユーザー入力１０７の場合の中間シナリオを示している。【００２８】  図３に示すように、中間シナリオ３００は、シナリオ情報名３０１と、シナリオ情報名３０１の分類を表す情報分類３０２と、情報分類３０２の内容を示す内容３０３と、の組によって構成される。なお、シナリオ情報名３０１、情報分類３０２および内容３０３を、適宜「用語」と総称するものとする。【００２９】  シナリオ情報名３０１は、シーン番号、場面情報、登場人物情報、動作情報などで構成される。シーン番号は、中間シナリオ３００のシリアルナンバーである。場面情報は、場所、日時、環境という情報分類３０２を持つ。登場人物情報は、名前で示される人物と、属性と属性値で示される人物という情報分類３０２を持つ。また、動作情報は、動作主、動作／状態、動作対象という情報分類３０２を持つ。【００３０】  情報分類３０２は、入力文解析辞書１１０ａの分類２０３に対応するものである。内容３０３には、入力文解析部１０９から送られてきた表現２０２が記述される。【００３１】  例えば、入力文解析部１０９から送られてきた“＄（昨日）”や、“＄（１２：００頃）”という表現２０２は、分類２０３が“日時”となっている。したがって、シナリオ生成部１１１ａは、“＄（昨日）”や“＄（１２：００頃）”という表現２０２を、情報分類３０２が“日時”のカテゴリーに対応する内容３０３に記述する。【００３２】  また、入力文解析部１０９から送られてきた“＄（ＵＳＥＲ）”という表現２０２は、分類２０３が“登場人物”となっている。したがって、シナリオ生成部１１１ａは、“＄（ＵＳＥＲ）”���いう表現２０２を、情報分類３０２が“人物１：名前”“動作主”のカテゴリーに対応する内容３０３に記述する。【００３３】  また、入力文解析部１０９から送られてきた“＄（食べる）”という表現２０２は、分類２０３が“動作”となっている。したがって、シナリオ生成部１１１ａは、“＄（食べる）”という表現２０２を、情報分類３０２が“動作・状態”のカテゴリーに対応する内容３０３に記述する。【００３４】  このように、シナリオ生成部１１１ａは、形態素解析された形態素の意味を示す内容を分類し、シナリオ内の所定の箇所に記述する。そして、シナリオ生成部１１１ａは、生成した中間シナリオ３００を、シナリオ編集部１１１ｂへ出力する。【００３５】  シナリオ編集部１１１ｂは、シナリオ編集知識データベース（ＤＢ）１１２に格納されたシナリオ編集知識を用いて、シナリオ生成部１１１ａから入力された中間シナリオ３００に記述されている場面情報、登場人物情報、動作情報で、内容３０３として不足している情報を特定し、中間シナリオ３００に補足する。すなわち、シナリオ編集部１１１ｂは、シナリオを構成する情報として必要であるにもかかわらず不足している情報を特定し、中間シナリオ３００に補足する。換言すると、シナリオ編集部１１１ｂは、中間シナリオ３００の用語（シナリオ情報名３０１、情報分類３０２、内容３０３）から想起される情報を特定し、特定した情報で中間シナリオ３００を編集する。これにより、シナリオ編集部１１１ｂは、中間シナリオ３００を十分に記述した最終シナリオを生成する。そして、シナリオ編集部１１１ｂは、生成した最終シナリオを、通信部１１７を介して、グラフィックス生成装置１０２に送る。【００３６】  図４に、実施の形態１におけるシナリオ編集知識データベース１１２に格納されたシナリオ編集知識の構成の一例を示す。図４は、シナリオ編集知識の一例を示す図である。シナリオ編集知識１１２ａは、中間シナリオ３００を明確にするために中間シナリオ３００に補足（追加）すべき情報と、その情報を補足（追加）するために取得すべき外界情報と、取得した外界情報をどのように編集して中間シナリオ３００に追加するかの編集規則と、を表したものである。【００３７】  具体的には、図４に示すように、シナリオ編集知識データベース１１２は、知識ＩＤ４０１と、知識適応条件４０２と、外界情報４０３と、シナリオ編集規則４０４と、の組によって構成されるシナリオ編集知識１１２ａを格納している。【００３８】  知識ＩＤ４０１は、上述した組の識別番号である。知識適応条件４０２は、中間シナリオ３００に記述されているどのような場面情報、登場人物情報、動作情報に対してシナリオ編集知識１１２ａを用いるかを定める適応条件である。言い換えると、知識適応条件４０２は、中間シナリオ３００に不足している情報などの中間シナリオ３００に補足（追加）すべき情報、つまり、中間シナリオ３００の用語から想起される情報を特定するための情報である。【００３９】  外界情報４０３は、知識適応条件４０２に一致した場合に取得すべき外界情報である。言い換えると、外界情報４０３は、中間シナリオ３００を補足（編集）するために使用する外界情報であり、中間シナ��オ３００の用語と、用語から想起される情報とを関連付けた情報である。【００４０】  シナリオ編集規則４０４は、外界情報４０３をどのように変換し、中間シナリオ３００に追加するかを定める編集規則である。すなわち、シナリオ編集規則４０４は、どのように外界情報４０３を用いて中間シナリオ３００に不足している情報を補うかを定める規則である。換言すると、シナリオ編集規則４０４は、どのように外界情報４０３を用いて、中間シナリオ３００の用語から想起される情報で中間シナリオ３００を編集するかを示す情報である。【００４１】  例えば、中間シナリオ３００において、“場面情報の場所”が未定義であったときは、知識ＩＤ４０１が“０００”の知識適応条件４０２“場面情報の場所が未定義”に該当する。このため、シナリオ編集部１１１ｂは、日時をパラメータとした場所を示す“ＬＯＣＡＴＩＯＮ｛＄（日時）｝”という外界情報４０３を外界情報取得部１１３から取得する。次に、シナリオ編集部１１１ｂは、シナリオ編集規則４０４に従い、取得した“ＬＯＣＡＴＩＯＮ｛＄（日時）｝”という外界情報４０３を用いて、シナリオの“場面情報の場所”に“＄ＬＯＣＡＴＩＯＮ｛＄（日時）｝”を記述する。このように、シナリオ編集部１１１ｂは、外界情報４０３として“ＬＯＣＡＴＩＯＮ｛＄（日時）｝”を用いることで、中間シナリオ３００の“場面情報の場所”に、適切な場所情報を記述する。【００４２】  また、中間シナリオ３００において、“場面情報の日時”が“＄（今日）”であったときは、知識ＩＤ４０１が“０１０”の知識適応条件４０２“場面情報の日時が＄（今日）”に該当する。このため、シナリオ編集部１１１ｂは、日時を示す“ＤＡＴＥ”という外界情報４０３を外界情報取得部１１３から取得する。次に、シナリオ編集部１１１ｂは、シナリオ編集規則４０４に従い、取得した“ＤＡＴＥ”という外界情報４０３を用いて、シナリオの“場面情報の日時”の“＄（今日）”を消去して“＄（ＤＡＴＥ）”を記述する。このように、シナリオ編集部１１１ｂは、外界情報４０３として“ＤＡＴＥ”を用いることで、中間シナリオ３００の“場面情報の日時”に適切な日時情報を記述する。【００４３】  また、中間シナリオ３００において、“場面情報の日時”が“＄（昨日）”であったときは、知識ＩＤ４０１が“０１１”の知識適応条件４０２“場面情報の日時が＄（昨日）”に該当する。このため、シナリオ編集部１１１ｂは、日時を示す“ＤＡＴＥ”という外界情報４０３を外界情報取得部１１３から取得する。次に、シナリオ編集部１１１ｂは、シナリオ編集規則４０４に従い、取得した”ＤＡＴＥ”という外界情報４０３を用いて、シナリオの“場面情報の日時”の“＄（昨日）”を消去して“＄（ＤＡＴＥ）−１”を記述する。このように、シナリオ編集部１１１ｂは、外界情報４０３として“ＤＡＴＥ”を用いることで、中間シナリオ３００の“場面情報の日時”に適切な日時情報を記述する。【００４４】  また、中間シナリオ３００において、“場面情報の環境”が未定義であったときは、知識ＩＤ４０１が“０２０”の知識適応条件４０２“場面情報の日時が未定義”に該当する。このため、シナリオ編集部１１１ｂは、日時と場所���パラメータとした環境を示す“ＷＥＡＴＨＥＲ｛＄（日時、場所）｝”という外界情報４０３を外界情報取得部１１３から取得する。次に、シナリオ編集部１１１ｂは、シナリオ編集規則４０４に従い、取得した“ＷＥＡＴＨＥＲ｛＄（日時、場所）｝”という外界情報４０３を用いて、シナリオの“場面情報の環境”に“＄ＷＥＡＴＨＥＲ｛＄（日時、場所）｝”を記述する。このように、シナリオ編集部１１１ｂは、外界情報４０３として“＄ＷＥＡＴＨＥＲ｛＄（日時、場所）｝”を用いることで、中間シナリオ３００の“場面情報の環境”に適切な環境情報を記述する。【００４５】  また、中間シナリオ３００において、“登場人物情報の人物１：名前”（以下、適宜“登場人物の名前”と記述する）が“＄（ＵＳＥＲ）”であったときは、知識ＩＤ４０１が“０３０”の知識適応条件４０２“登場人物情報の名前が＄（ＵＳＥＲ）”に該当する。このため、シナリオ編集部１１１ｂは、ユーザーの名前を示す“ＵＳＥＲＮＡＭＥ”という外界情報４０３を外界情報取得部１１３から取得する。次に、シナリオ編集部１１１ｂは、シナリオ編集規則４０４に従い、取得した“ＵＳＥＲＮＡＭＥ”という外界情報４０３を用いて、シナリオの“登場人物の名前”の“＄（ＵＳＥＲ）”を消去して“＄（ＵＳＥＲＮＡＭＥ）”を記述する。このように、シナリオ編集部１１１ｂは、外界情報４０３として“ＵＳＥＲＮＡＭＥ”を用いることで、中間シナリオ３００の“登場人物の名前”に適切な名前情報を記述する。【００４６】  また、中間シナリオ３００において、“登場人物情報の人物１：（属性、属性値）”（以下、適宜“登場人物の属性”と記述する）が未定義であったときは、知識ＩＤ４０１が“０４０”の知識適応条件４０２“登場人物情報の属性が未定義”に該当する。このため、シナリオ編集部１１１ｂは、名前をパラメータとした登場人物の属性を示す“ＰＲＯＦＩＬＥ｛＄（名前）｝”という外界情報４０３を外界情報取得部１１３から取得する。次に、シナリオ編集部１１１ｂは、シナリオ編集規則４０４に従い、取得した“ＰＲＯＦＩＬＥ｛＄（名前）｝”という外界情報４０３を用いて、“登場人物の属性”に“＄（ＰＲＯＦＩＬＥ｛＄（名前）｝）”を記述する。このように、シナリオ編集部１１１ｂは、外界情報４０３として“ＰＲＯＦＩＬＥ｛＄（名前）｝”を用いることで、中間シナリオ３００の“登場人物の属性”に適切な登場人物属性情報を記述する。【００４７】  また、中間シナリオ３００において、“動作情報の動作対象”が未定義であったときは、知識ＩＤ４０１が“０５０”の知識適応条件４０２“動作情報の動作＄（食べる）の対象が未定義”に該当する。このため、シナリオ編集部１１１ｂは、日時と場所をパラメータとした、購入履歴を示す外界情報“（ＲＥＣＥＩＰＴ｛＄（日時、場所）｝）＆＆（＠食物）”という外界情報４０３を外界情報取得部１１３から取得する。次に、シナリオ編集部１１１ｂは、シナリオ編集規則４０４に従い、取得した“（ＲＥＣＥＩＰＴ｛＄（日時、場所）｝）＆＆（＠食物）”という外界情報４０３を用いて、“動作情報の動作対象”に“（ＲＥＣＥＩＰＴ｛＄（日時、場所）｝）＆＆（＠食物）”を記述する。このように、シ���リオ編集部１１１ｂは、外界情報４０３として“（ＲＥＣＥＩＰＴ｛＄（日時、場所）｝）＆＆（＠食物）”を用いることで、中間シナリオ３００の“動作情報の動作対象”に適切な動作対象情報を記述する。なお、“＆＆”は「かつ」、“＠”は型（クラス）を示す。【００４８】  また、知識ＩＤ４０１が“０３１”の知識適応条件４０２“＊”は、いかなる場合も適応することを表しているので、シナリオ編集部１１１ｂは、いかなる場合でも外界情報取得部１１３に、日時に行動を共にしていた人物を表す外界情報４０３“ＥＮＣＯＵＮＴＥＲ｛＄（日時）｝”を要求する。次に、シナリオ編集部１１１ｂは、シナリオ編集規則４０４に従い、取得した“ＥＮＣＯＵＮＴＥＲ｛＄（日時）｝”という外界情報４０３を用いて、登場人物の名前に“＄（ＥＮＣＯＵＮＴＥＲ｛＄（日時）｝）”を記述する。このように、シナリオ編集部１１１ｂは、外界情報４０３として“ＥＮＣＯＵＮＴＥＲ｛＄（日時）｝”を用いることで、中間シナリオ３００に新たな登場人物を記述する。【００４９】  このように、シナリオ編集部１１１ｂは、外界情報を用いて、中間シナリオ３００に不足している情報、つまり必要な情報を補い、中間シナリオ３００の内容を適切に編集した最終シナリオを生成する。すなわち、シナリオ編集部１１１ｂは、外界情報を用いて中間シナリオ３００に新たな情報を追加し、最終シナリオを生成する。また、シナリオ編集部１１１ｂは、シナリオ編集知識１１２ａを用いて中間シナリオ３００に不足する情報を補う（新たな情報を追加する）形態で最終シナリオの生成処理を行うので、シナリオ編集知識１１２ａを更新するだけで、シナリオ編集部１１１ｂの処理を更新することが可能になる。【００５０】  次に、外界情報取得部１１３について説明する。【００５１】  外界情報取得部１１３は、シナリオ編集部１１１ｂから要求された外界情報の取得方法を外界情報取得知識データベース（ＤＢ）１１４から得て、外界情報蓄積部１１５から、または通信部１１７を用いてネットワーク１０６を介して外界情報蓄積装置１０４から、外界情報を取得する。外界情報取得部１１３は、外界情報取得知識データベース１１４に格納された外界情報取得知識を用いて取得した外界情報を、要求元であるシナリオ編集部１１１ｂに提供する。【００５２】  実施の形態１における外界情報取得知識データベース１１４に格納された外界情報取得知識について、図５を用いて説明する。図５は、外界情報の取得先を示した外界情報取得知識の一例を示す図である。【００５３】  図５に示すように、外界情報取得知識１１４ａは、外界情報の種類を表す外界情報種類５０１と、外界情報の取得手段を表す取得先機器５０２と、取得先機器５０２から取得する情報名５０３と、の組によって構成される。外界情報取得知識１１４ａ記述される取得先機器５０２には、例えば、図１に示す外界情報蓄積装置１０４が設けられている。【００５４】  例えば、場所情報を表す外界情報種類５０１である“ＬＯＣＡＴＩＯＮ”の取得先機器５０２は、ＧＰＳ（Ｇｌｏｂａｌ  Ｐｏｓｉｔｉｏｎｉｎｇ  Ｓｙｓｔｅｍ）機器、携帯電話、ＲＦＩＤ（Ｒａｄｉｏ  Ｆｒｅｑｕｅｎｃｙ  Ｉｄｅｎｔｉｆｉｃａｔｉｏｎ）通信機器、またはＰＤＡ（Ｐｅｒｓｏｎａｌ  Ｄｉｇｉｔａｌ  Ａｓｓｉｓｔａｎｔ）である。そして、その取得先機器５０２から取得する情報名５０３は、ＧＰＳ機器の場合は“ＬＯＣＡＴＩＯＮ．ＬＯＧ”、携帯電話の場合は“ＢＡＳＥＳＴＡＴＩＯＮＡＲＥＡ．ＬＯＧ”、ＲＦＩＤ通信機器の場合は“ＧＡＴＥＮＡＭＥ．ＬＯＧ”、ＰＤＡの場合は“予定表アプリケーション＄（日時）．場所”となる。また、場所情報を表す外界情報種類５０１“ＬＯＣＡＴＩＯＮ”の取得先機器５０２は、図中でより上位に記述されている方の優先度がより高く設定されている。【００５５】  また、日付情報を表す外界情報種類５０１である“ＤＡＴＥ”の取得先機器５０２は、“＊”と記述されている。これは、情報名５０３“ＣＬＯＣＫ．ＤＡＴＥ”を問い合わせることが可能であれば、どのような機器でも良いことを表している。【００５６】  なお、外界情報取得部１１３により取得先機器５０２から外界情報種類５０１を取得しようとする際に、当該機器と一時的に通信が不能であったり、当該機器が所望の外界情報を一時的に取得できないといった事態が発生する可能性がある。このような事態でも外界情報取得部１１３が外界情報を取得できるように、外界情報蓄積部１１５は、定期的に、通信部１１７を介して、外界情報取得知識１１４ａで指定される各情報を収集し、収集した情報を蓄積する。外界情報取得部１１３は、取得先機器５０２から直接に情報を取得できない場合には、外界情報蓄積部１１５に対し、情報名５０３を指定して所望の外界情報１１６を取得する。または、外界情報取得部１１３は、常に外界情報蓄積部１１５から外界情報１１６を取得するようにしてもよい。これにより、より確実に必要な外界情報１０５、１１６を取得することができるとともに、外界情報蓄積部１１５から外界情報１１６を取得する場合には処理の高速化を図ることができる。【００５７】  次に、取得先機器５０２から取得する情報の具体例について、図６を用いて説明する。図６は、ＲＦＩＤ通信機器から取得される情報名５０３“ＧＡＴＥＮＡＭＥ．ＬＯＧ”の外界情報の一例を示す図である。【００５８】  図６に示すように、取得先機器５０２“ＲＦＩＤ通信機器”から取得される情報名５０３“ＧＡＴＥＮＡＭＥ．ＬＯＧ”の外界情報を示す内容６０１には、日付と、場所の組が複数記述されている。【００５９】  また、図１に示す通信部１１７は、ネットワーク１０６に接続して通信する通信手段である。【００６０】  このように、シナリオ生成装置１０１は、シナリオ編集部１１１ｂにおいて、シナリオ編集知識１１２ａの指示内容に従い、外界情報取得部１１３を用いて外界情報を取得し、取得した外界情報を用いて中間シナリオを編集する。これにより、シナリオ生成装置１０１は、中間シナリオの内容を不足なく十分に記述した最終シナリオ、つまり、中間シナリオに内容を追加した最終シナリオを生成する。そして、シナリオ編集部１１１ｂは、通信部１１７を介して、生成した最終シナリオをグラフィックス生成装置１０２に送る。【００６１】  ここで、実施の形態１における最終シナリオについて、図７を用いて説明する。図７は、最終シナリオの一例を示す図である。【００６２】  図７に示す最���シナリオ７００は、図３に示す中間シナリオに対して、シナリオ編集部１１１ｂがシナリオ編集知識１１２ａを用いて編集したものである。【００６３】  図７に示すように、最終シナリオ７００には、外界情報取得部１１３から取得した情報が記述される。ここでは、“場面情報の場所”に“＄（横浜、Ａ中華料理店）”、“場面情報の環境”に“＄（雨）、＄（１０℃）”、“登場人物情報の人物１：（属性、属性値）”に“＄（性別、男性）、＄（年齢、２５歳）”、追加された登場人物として、“登場人物情報の人物２：名前”に“＄（花子）”、“登場人物情報の人物２：（属性、属性値）”に“＄（性別、女性）”、“動作情報の動作対象”に“＄（Ｂセット）”がそれぞれ記述される。【００６４】  このように、最終シナリオ７００は、外界情報を用いて中間シナリオ３００を編集したものになっている。【００６５】  次に、グラフィックス生成装置１０２について、説明する。【００６６】  グラフィックス生成装置１０２は、シナリオ生成装置１０１から出力された最終シナリオ７００から、場面情報、登場人物情報、動作情報を入力する。そして、グラフィックス生成装置１０２は、入力した場面情報に対するシーンデータと、登場人物情報に対するキャラクターデータと、動作情報に対する動作データとを生成し、それらを用いてアニメーションを生成する。さらに、グラフィックス生成装置１０２は、生成したアニメーションを表示装置１０３に送る。表示装置１０３は、送られてきたアニメーションを表示する。【００６７】  以上のように、アニメーション作成システム１００は構成されている。【００６８】  次に、アニメーション作成システム１００の動作について説明する。【００６９】  まず、シナリオ生成装置１０１の動作について図８を用いて説明する。図８は、シナリオ生成装置１０１の動作を示すフローチャートである。【００７０】  まず、シナリオ生成装置１０１は、入力部１０８において、ユーザーの入力文であるユーザー入力文１０７、例えば「昨日のお昼、私は外で食事しました。」を入力する（ＳＴ７０１）。入力部１０８は、入力したユーザー入力文１０７を、入力文解析部１０９に送る。【００７１】  次に、入力文解析部１０９は、送られてきたユーザー入力文１０７を形態素解析し、入力文解析辞書１１０ａの指示内容に従いユーザー入力文１０７を解析し、その結果をシナリオ生成部１１１ａへ出力する（ＳＴ７０２）。例えば、「昨日のお昼、私は外で食事しました。」というユーザー入力文１０７の場合、入力文解析部１０９は、“場面情報の日時”として“＄（昨日）”と“＄（１２：００頃）”を抽出し、“登場人物情報の名前”および“動作情報の動作主”として“＄（ＵＳＥＲ）”を抽出し、また、“動作情報の動作”として“＄（食べる）”を抽出する。そして、入力文解析部１０９は、抽出結果をシナリオ生成部１１１ａへ出力する。【００７２】  なお、入力文解析部１０９が用いる自然言語解析の手法や語彙辞書の内容については、一般的に行われているものを流用すればよいため、説明は省略する。【００７３】  次に、シナリオ生成部１１１ａは、ＳＴ７０２の処理で得られた入力文解析結果を中間シナリオ３００として記述する（ＳＴ７０３）。【００７４】  例えば、入力文解析部１０９が出力する“＄（昨日）”と“＄（１２：００頃）”という情報には、この情報が“場面情報の日時”であることを表す情報が付与されている。したがって、シナリオ生成部１１１ａは、この付与情報を基に、中間シナリオ３００の“場面情報の日時”として、“＄（昨日）”と“＄（１２：００頃）”を記述する。また、“＄（ＵＳＥＲ）”という情報には、この情報が“登場人物情報”を表すことを意味する情報が付与されている。したがって、シナリオ生成部１１１ａは、この付与情報を基に、シナリオの“登場人物情報の名前”として、“＄（ＵＳＥＲ）”を記述する。また、“＄（食べる）”という情報には、この情報が“動作情報”を表すことを意味する情報が付与されている。したがって、シナリオ生成部１１１ａは、この付与情報を基に、シナリオの“動作情報の動作／状態”として“＄（食べる）”を記述する。シナリオ生成部１１１ａは、このようにして生成した中間シナリオ３００を、シナリオ編集部１１１ｂへ出力する。【００７５】  次に、シナリオ編集部１１１ｂは、シナリオ編集知識１１２ａを参照し（ＳＴ７０４）、シナリオ生成部１１１ａから入力された中間シナリオ３００に対応する知識適応条件４０２があるかどうかを判定する（ＳＴ７０５）。ＳＴ７０５において、中間シナリオ３００に対応する知識適応条件４０２が無い場合（ＳＴ７０５：ＮＯ）、シナリオ編集部１１１ｂは、中間シナリオ３００を、シナリオ生成装置１０１が出力する最終シナリオ７００として出力する（ＳＴ７０６）。【００７６】  一方、ＳＴ７０５において、中間シナリオ３００に対応する知識適応条件４０２がある場合（ＳＴ７０５：ＹＥＳ）、シナリオ編集部１１１ｂは、シナリオ編集知識１１２ａに記述された取得すべき外界情報４０３を、外界情報取得部１１３に要求する。【００７７】  例えば、中間シナリオ３００においては、“場面情報の場所”および“場面情報の環境”、“登場人物情報の人物１：（属性、属性値）”、および“動作情報の動作対象”が未定義である。すなわち、中間シナリオ３００は、シナリオ編集知識１１２ａの知識ＩＤ“０００”、“０２０”、“０４０”、“０５０”に該当する。このため、シナリオ編集部１１１ｂは、外界情報取得部１１３に、外界情報４０３で指定された外界情報である、“ＬＯＣＡＴＩＯＮ｛＄（日時）｝”、“ＷＥＡＴＨＥＲ｛＄（日時、場所）｝”、“ＰＲＯＦＩＬＥ｛＄（名前）｝”、および“（ＲＥＣＥＩＰＴ｛＄（日時、場所）｝）＆＆（＠食物）”を要求する。【００７８】  これに対して、外界情報取得部１１３は、外界情報取得知識１１４ａを参照し（ＳＴ７０７）、要求された外界情報に対応する取得先機器５０２および情報名５０３を取得する。そして、外界情報取得部１１３は、取得した取得先機器５０２と情報名５０３で示された情報を、外界情報蓄積部１１５から、または通信部１１７を用いてネットワーク１０６を介して外界情報蓄積装置１０４から取得し、シナリオ編集部１１１ｂに送る（ＳＴ７０８）。【００７９】  具体的には、外界情報取得部１１３は、“ＬＯＣＡＴＩＯＮ｛＄（日時）｝”を、ＧＰＳ機器の“ＬＯＣＡＴＩＯＮ．ＬＯＧ”、携帯電話の“ＢＡＳＥＳＴＡＴＩＯＮＡＲＥＡ．ＬＯＧ”、ＲＦＩＤ通信機器の“ＧＡＴＥＮＡＭＥ．ＬＯＧ”、またはＰＤＡの“予定表アプリケーション＄（日時）．場所”から取得する。また、外界情報取得部１１３は、“ＷＥＡＴＨＥＲ｛＄（日時、場所）｝”を、通信機器の“ＵＲＩ：Ｗｅａｔｈｅｒ．ｃｏｍ／＄（ＬＯＣＡＴＩＯＮ）／＄（日時）”から、“ＰＲＯＦＩＬＥ｛＄（名前）｝”をメール機器の“ＡＤＲＤＥＳＳ．ＰＲＯＦＩＬＥ．＄（名前）”から、“（ＲＥＣＥＩＰＴ｛＄（日時、場所）｝）＆＆（＠食物）”を電子マネー機器搭載機器の“ＲＥＣＥＩＰＴ．ＬＯＧ”から取得する。【００８０】  次に、シナリオ編集部１１１ｂは、ＳＴ７０８で取得した外界情報をシナリオ編集知識１１２ａのシナリオ編集規則４０４に当てはめて、中間シナリオ３００に記述する（ＳＴ７０９）。【００８１】  そして、シナリオ編集部１１１ｂは、再度ＳＴ７０４へ戻ってＳＴ７０５の判定を行い、ＳＴ７０９で生成したシナリオに対応するシナリオ編集知識１１２ａの知識適応条件４０２が無くなるまで、ＳＴ７０４、ＳＴ７０５、ＳＴ７０７〜ＳＴ７０９を繰り返す。そして、ＳＴ７０９で生成したシナリオに対応するシナリオ編集知識１１２ａの知識適応条件４０２が無くなった場合（ＳＴ７０５：ＮＯ）、シナリオ編集部１１１ｂは、前述のようにＳＴ７０６の処理により最終シナリオ７００を出力する。【００８２】  以上のように、シナリオ生成装置１０１は、ユーザー入力文１０７と、外界情報蓄積装置１０４から、または外界情報蓄積部１１５から得た外界情報１１６、を基に、アニメーションを作成するためのシナリオを生成し、グラフィックス生成装置１０２に出力する。【００８３】  次に、グラフィックス生成装置１０２の動作について、図９を用いて説明する。図９はグラフィックス生成装置１０２の動作を示すフローチャートである。【００８４】  まず、グラフィックス生成装置１０２は、シナリオ生成装置１０１が生成した最終シナリオ７００を取得する（ＳＴ８０１）。【００８５】  次に、グラフィックス生成装置１０２は、最終シナリオ７００に記述された場面情報を基に、場面データを作成する（ＳＴ８０２）。例えば、最終シナリオ７００において、“場面情報の場所”として“＄（横浜．Ａ中華料理店）”が記述され、“場所情報の環境”として“＄（雨）”が記述されている。したがって、グラフィックス生成装置１０２は、中華料理店の場面データと雨模様の背景を表す場面データを生成する。【００８６】  次に、グラフィックス生成装置１０２は、最終シナリオ７００に記述された登場人物情報を基に、キャラクターデータを生成する（ＳＴ８０３）。例えば、最終シナリオ７００において、“登場人物情報の人物１：（属性、属性値）”として“＄（性別、男性）、＄（年齢、２５歳）”が記述されているので、グラフィックス生成装置１０２は、男性で２０歳代のキャラクターを生成する。【００８７】  次に、グラフィックス生成装置１０２は、最終シナリオ７００に記述された動作情報を基に、動作データを生成する（ＳＴ８０４）。例えば、最終シナリオ７００において、“動作情報の動作／状態”として“＄（食べる）”が記述されているので、グラフィ��クス生成装置１０２は、ＳＴ８０３で生成したキャラクターデータが食べる動作を表すような動作データを生成する。【００８８】  次に、グラフィックス生成装置１０２は、ＳＴ８０２〜ＳＴ８０４において生成した、場面データ、キャラクターデータ、動作データを用いてアニメーションを生成し（ＳＴ８０５）、表示装置１０３に出力する（ＳＴ８０６）。【００８９】  以上のように、グラフィックス生成装置１０２は、シナリオ生成装置１０１で生成された最終シナリオ７００を基に、アニメーションを生成する。【００９０】  以上説明したように、実施の形態１によれば、ユーザー入力文１０７から作成される中間シナリオ３００に、中間シナリオ３００の用語から想起される情報を追加する形で、最終シナリオ７００を生成する。したがって、たとえば、中間シナリオ３００からコンピュータ・グラフィックスを生成する上で必要な情報が取得できなくても、つまり中間シナリオ３００に情報の不足があっても、外界情報１０５、１１６を用いて、必要な情報を編集することで補うことができる。この結果、中間シナリオ３００から、表現力が向上したアニメーションを生成できる。【００９１】  また、実施の形態１によれば、外界情報１０５、１１６は、シナリオのテキスト文の入力者の経験に基づく情報、日時情報、または環境情報のいずれか（少なくとも１つ）であるので、外界情報１０５、１１６を用いて中間シナリオ３００を補うことで、中間シナリオ３００を、テキスト文入力者が意図する形で、特に経験に基づく内容に近い表現で、補うことができる。すなわち、外界情報１０５、１１６を用いて中間シナリオ３００に情報を追加することで、テキスト文入力者の意図に沿った、より表現豊かなアニメーションを実現するための最終シナリオ７００を生成することができる。【００９２】  なお、シナリオ生成装置１０１の行う処理をプログラムにし、汎用のコンピュータに実行させる形態でも良い。【００９３】  （実施の形態２）
次に、本発明の実施の形態２に係るアニメーション作成システムについて説明する。実施の形態２に係るアニメーション作成システムは、ユーザー入力文からアニメーションを生成する上で必要な情報を外界情報から取得できなくても、外界情報からアニメーションを生成する上で必要な情報を生成するようにしたものである。【００９４】  まず、実施の形態２に係るアニメーション作成システムについて図１０を用いて説明する。図１０は、実施の形態２に係るシナリオ生成装置を含むアニメーション作成システムの構成を示すブロック図である。なお、図１０において、図１と同じ構成要素については同じ符号を用い、その詳細な説明を省略する。【００９５】  実施の形態２に係るアニメーション作成システム１０００のシナリオ生成装置１００１の構成は、実施の形態１に係るアニメーション作成システム１００のシナリオ生成装置１０１の構成と異なる。具体的には、アニメーション作成システム１０００のシナリオ生成装置１００１が、シナリオ編集部１００２、シナリオ編集知識データベース（ＤＢ）１００３、編集リソース生成部１００４、および編集リソース生成知識データベース（ＤＢ）１００５を備えた点が特徴である。【００９６】  シナリオ編集部１００２は、シナリオ生成部１１１ａで生成された中間シナリオ３００に対し、シナリオ編集知識データベース１００３に格納されたシナリオ編集知識を用いて、補足が必要な、場面情報、登場人物情報、動作情報を特定し、これらの情報を補足することで、中間シナリオ３００を編集する。換言すると、シナリオ編集部１００２は、中間シナリオ３００に追加すべき、場面情報、登場人物情報、動作情報を特定し、これらの情報を中間シナリオ３００に追加することで、中間シナリオ３００を編集する。シナリオ編集部１００２は、場面情報、登場人物情報、動作情報を編集する際に、シナリオ編集知識の記述に従い、編集リソース情報を編集リソース生成部１００４に、外界情報を外界情報取得部１１３に要求する。編集リソース情報とは、アニメーションを生成する上で必要な情報として、外界情報１０５、１１６を基にして生成される情報である。そして、シナリオ編集部１００２は、得られた編集リソース情報または外界情報に基づいて、場面情報、登場人物情報、動作情報を編集し、最終シナリオを生成し、グラフィックス生成装置１０２に出力する。【００９７】  編集リソース情報は、外界情報を用いて生成される情報である。シナリオ編集部１００２は、シナリオ編集知識データベース１００３を参照し、外界情報を取得するか、編集リソース情報を取得するかを判断する。【００９８】  編集リソース生成部１００４は、シナリオ編集部１００２に要求された編集リソース情報を生成する。具体的には、編集リソース生成部１００４は、編集リソース生成知識データベース１００５を参照し、必要な外界情報を外界情報取得部１１３から取得し、取得した外界情報を用いて編集リソース情報を生成する。【００９９】  次に、シナリオ編集知識データベース１００３に格納されたシナリオ編集知識について、図１１を用いて説明する。図１１は、実施の形態２におけるシナリオ編集知識の一例を示す図である。シナリオ編集知識１００３ａは、どのような外界情報または編集リソース情報を取得すべきか、および取得した外界情報または編集リソース情報でシナリオをどのように編集すべきか、を表す。【０１００】  図１１に示すように、シナリオ編集知識１００３ａは、知識ＩＤ１１０１、知識適応条件１１０２、外界情報１１０３、リソース情報１１０４、シナリオ編集規則１１０５、の組によって構成される。知識ＩＤ１１０１は、識別番号である。知識適応条件１１０２は、不足する情報に関する適応条件、つまり、中間シナリオ３００の用語から想起される情報を特定するための適応条件を記述する。外界情報１１０３は、条件に一致した場合に取得すべき外界情報を記述する。リソース情報１１０４は、知識適応条件１１０２に一致した場合に取得すべき編集リソース情報を記述する。シナリオ編集規則１１０５は、取得した外界情報１１０３または編集リソース情報１１０４を用いてどのようにシナリオを編集するかを示す。【０１０１】  なお、本実施の形態のシナリオ編集知識１００３ａの知識ＩＤ１１０１と、実施の形態１のシナリオ編集知識１１２ａの知識ＩＤ４０１は対応し、同一の知識ＩＤは同一の内容を示す。【０１０２】  例えば、知識１Ｄ１１０１が“１００”の場合は、“場面情報が＄（店）である”という知識適応条件１１０２を持つ。そして、シナリオがこの知識適応条件１１０２に適応する場合には、シナリオ編集部１００２は、動作主が店を訪問した頻度を表す“訪問頻度｛＄（店）｝”という編集リソース情報１１０４を取得する。そして、シナリオ編集部１００２は、“訪問頻度｛＄（店）｝”をシナリオ編集規則１１０５に用いることで、シナリオを編集する。この場合には、シナリオ編集規則１１０５に従い、シナリオ編集部１００２は、“訪問頻度｛＄（店）｝”が“ＨＩＧＨ”の場合に“＄（店員）”をシナリオの“登場人物情報”に追加する。さらに、“訪問頻度｛＄（店）｝”が“ＨＩＧＨ”の場合には、シナリオ編集部１００２は、“動作主：＄（店員）”、“動作：＄（言う「毎度！」）”、および“動作対象：＄（＄（ＵＳＥＲ））”を、シナリオに追加する。また、さらに、シナリオ編集部１００２は、“動作主：＄（店員）”、“動作：＄（右手を上げる）”、および“動作対象：＄（＄（ＵＳＥＲ））”を、シナリオに追加する。【０１０３】  また、知識１Ｄ１１０１が“１０１”の場合は、“登場人物が複数である”という知識適応条件１１０２を持つ。そして、シナリオがこの知識適応条件１１０２に適応する場合には、シナリオ編集部１００２は、登場人物同士の親密度を示す“親密度｛＄（人物ａ）、＄（人物ｂ）｝”という編集リソース情報１１０４を取得する。そして、シナリオ編集部１００２は、“親密度｛＄（人物ａ）、＄（人物ｂ）｝”をシナリオ編集規則１１０５に用いることで、シナリオを編集する。この場合には、シナリオ編集規則１１０５に従い、シナリオ編集部１００２は、“親密度｛＄（人物ａ）、＄（人物ｂ）｝”が“ＨＩＧＨ”の場合に、“＄動作主：＄（人物ａ）”、“動作：＄（親しさを表現する動作）”、および“動作対象：＄（人物ｂ）”を、シナリオに追加する。【０１０４】  また、知識１Ｄ１１０１が“１０２”の場合は、“動作対象が動��主以外の人物である”という知識適応条件１１０２を持つ。そして、シナリオがこの知識適応条件１１０２に適応する場合には、シナリオ編集部１００２は、動作主と、動作対象人物との親密度を示す“親密度｛＄（動作主）、＄（動作対象人物）｝”という編集リソース情報１１０４を取得する。そして、シナリオ編集部１００２は、“親密度｛＄（動作主）、＄（動作対象人物）｝”をシナリオ編集規則１１０５に用いることで、シナリオを編集する。この場合には、シナリオ編集規則１１０５に従い、シナリオ編集部１００２は、“動作：＄（謝る）”で、かつ親密度が“ＨＩＧＨ”であれば動作を“＄（土下座する）”に変換し、“動作：＄（謝る）”で、かつ親密度が“ＬＯＷ”であれば動作を“＄（お辞儀する）”に変換する。【０１０５】  また、知識１Ｄ１１０１が“１０３”の場合は、“動作対象が動作主以外の人物である”という知識適応条件１１０２を持つ。そして、シナリオがこの知識適応条件１１０２に適応する場合には、シナリオ編集部１００２は、動作主が動作対象に対する動作の頻度を示す“動作頻度｛＄（動作主）、＄（動作）、＄（動作対象）｝”という編集リソース情報１１０４を取得する。そして、シナリオ編集部１００２は、“動作頻度｛＄（動作主）、＄（動作）、＄（動作対象）｝”をシナリオ編集規則１１０５に用いることで、シナリオを編集する。この場合には、シナリオ編集規則１１０５に従い、シナリオ編集部１００２は、“動作：＄（怒る）”で、かつ頻度が“ＨＩＧＨ”であれば動作を“＄（激怒する）”に変換し、“動作：＄（怒る）”で、かつ親密度が“ＬＯＷ”であれば動作を“＄（注意する）”に変換する。【０１０６】  また、知識１Ｄ１１０１が“１０４”の場合は、動作情報の動作が“＄（移動する）“であるという知識適応条件１１０２を持つ。そして、シナリオがこの知識適応条件１１０２に適応する場合には、シナリオ編集部１００２は、移動速度を示す“移動速度｛＄（日時）｝”という編集リソース情報１１０４を取得する。そして、シナリオ編集部１００２は、“移動速度｛＄（日時）｝”をシナリオ編集規則１１０５に用いることで、シナリオを編集する。この場合には、シナリオ編集規則１１０５に従い、シナリオ編集部１００２は、速度が“ＨＩＧＨ”であれば動作を“＄（走る）”に変換し、速度が“ＬＯＷ”であれば動作を“＄（歩く）”に変換する。【０１０７】  このように、シナリオ編集部１００２は、シナリオ編集知識１００３ａと、編集リソース情報とを用いて、シナリオの編集をする。また、シナリオ編集知識１００３ａを更新するだけで、シナリオ編集部１００２の処理を更新することが可能になる。【０１０８】  次に、編集リソース生成知識データベース１００５に格納された編集リソース生成知識について、図１２を用いて説明する。図１２は、実施の形態２における、要求された編集リソース情報を外界情報から生成するための編集リソース生成知識１００５ａの一例を示した図である。【０１０９】  図１２に示すように、編集リソース生成知識１００５ａは、編集リソース情報の種類を表す編集リソース種類１２０１と、生成する元情報となる他の外界情報を表す取得外界情報１２０３と、取得外界情報���２０３から要求された編集リソースを生成するための規則を表す生成規則１２０２と、の組によって構成される。【０１１０】  また、編集リソース生成知識１００５ａの外界情報種類１２０１における“親密度”に対して、対応する取得外界情報１２０３と生成規則１２０２が２種類存在する。これは、編集リソース生成部１００４がいずれの知識を選択しても良いことを表している。【０１１１】  例えば、シナリオ生成者と他の人物との“親密度”の編集リソース情報が要求された場合には、編集リソース生成部１００４は、編集リソース生成知識１００５ａに従い、外界情報取得部１１３に対し、取得外界情報１２０３である“ＧＲＯＵＰ｛＄（人物）｝”を要求する。“ＧＲＯＵＰ｛＄（人物）｝”という外界情報は、“＄（人物）”が、シナリオ生成者の交流関係の中でどのようなグループに分類されているかを表している。編集リソース生成部１００４は、生成規則１２０２に従い、外界情報取得部１１３に要求した外界情報“ＧＲＯＵＰ｛＄（人物）｝”が“ＰＲＩＶＡＴＥ”を表していた場合には、編集リソース情報“親密度”に対応して、“ＨＩＧＨ”という値を、シナリオ編集部１００２に返す。また、外界情報取得部１１３に要求した外界情報“ＧＲＯＵＰ｛＄（人物）｝”が“ＰＵＢＬＩＣ”を表していた場合には、編集リソース生成部１００４は、編集リソース情報“親密度”に対応して、“ＬＯＷ”という値を、シナリオ編集部１００２に返す。【０１１２】  また、シナリオ生成者と他の人物との“親密度”の編集リソース情報が要求された場合には、編集リソース生成部１００４は、編集リソース生成知識１００５ａに従い、外界情報取得部１１３に対し、取得外界情報１２０３である“ＲＥＣＥＩＶＥＤＭＡＩＬ｛＄（日時）、＄（日時）−１月｝”を要求するようにしてもよい。これは、“＄（日時）”までの一ヶ月間の“＄（人物）”からシナリオ生成者へのメール数を表している。編集リソース生成部１００４は、生成規則１２０２に従い、外界情報取得部１１３に要求した外界情報“ＲＥＣＥＩＶＥＤＭＡＩＬ｛＄（日時）、＄（日時）−１月｝”に“＄（人物）”が“１００件以上”のメールを送っていることが表されている場合には、編集リソース情報“親密度”が“ＨＩＧＨ”であるという値を、シナリオ編集部１００２に返す。また、外界情報取得部１１３に要求した外界情報“ＲＥＣＥＩＶＥＤＭＡＩＬ｛＄（日時）、＄（日時）−１月｝”に“＄（人物）”が“１００件未満”のメールを送っていることが表されている場合には、編集リソース生成部１００４は、編集リソース情報“親密度”が“ＬＯＷ”であるという値を、シナリオ編集部１００２に返す。【０１１３】  また、シナリオ生成者の“訪問頻度”の編集リソース情報が要求された場合には、編集リソース生成部１００４は、編集リソース生成知識１００５ａに従い、外界情報取得部１１３に対し、取得外界情報１２０３である“ＬＯＣＡＴＩＯＮ．ＬＯＧ｛＄（日時）、＄（日時）−１月｝”を要求する。これは、“＄（日時）”までの一ヶ月間の訪問回数を表している。編集リソース生成部１００４は、生成規則１２０２に従い、外界情報取得部１１３に要求した外界情報“ＬＯＣＡＴＩＯＮ．ＬＯＧ｛��（日時）、＄（日時）−１月｝”が“４回以上”の場合には、編集リソース情報“訪問頻度”が“ＨＩＧＨ”であるという値を、シナリオ編集部１００２に返す。また、外界情報取得部１１３に要求した外界情報“ＬＯＣＡＴＩＯＮ．ＬＯＧ｛＄（日時）、＄（日時）−１月｝”が“４回未満”の場合には、編集リソース生成部１００４は、編集リソース情報“訪問頻度”が“ＬＯＷ”であるという値を、シナリオ編集部１００２に返す。【０１１４】  また、シナリオ生成者の他の人物に対する“動作頻度”の編集リソース情報が要求された場合には、編集リソース生成部１００４は、編集リソース生成知識１００５ａに従い、外界情報取得部１１３に対し、取得外界情報１２０３である“ＳＥＮＤＭＡＩＬ｛｛＄（日時）、＄（日時）−１月｝｝”を要求する。これは、“＄（日時）”までの一ヶ月間の送信メール数を表している。編集リソース生成部１００４は、生成規則１２０２に従い、外界情報取得部１１３に要求した外界情報“ＳＥＮＤＭＡＩＬ｛｛＄（日時）、＄（日時）−１月｝｝”に“｛＄（動作主）、＄（動作）、＄（動作対象）｝”の記述が“４回以上”の場合には、“動作頻度”は“ＨＩＧＨ”であるという値を、シナリオ編集部１００２に返す。また、外界情報取得部１１３に要求した外界情報“ＳＥＮＤＭＡＩＬ｛｛＄（日時）、＄（日時）−１月｝｝”に“｛＄（動作主）、＄（動作）、＄（動作対象）｝”の記述が“４回未満”の場合には、編集リソース生成部１００４は、“動作頻度”は“ＬＯＷ”であるという値を、シナリオ編集部１００２に返す。【０１１５】  また、シナリオ生成者の“移動速度”の編集リソース情報が要求された場合には、編集リソース生成部１００４は、編集リソース生成知識１００５ａに従い、外界情報取得部１１３に対し、取得外界情報１２０３である“ＬＯＣＡＴＩＯＮ．ＬＯＧ｛＄（日時）、＄（日時）−１分｝”を要求する。これは、“＄（日時）”の位置と“＄（日時）”から１分前の位置によって、１分間に移動した距離を表している。編集リソース生成部１００４は、生成規則１２０２に従い、外界情報取得部１１３に要求した外界情報“ＬＯＣＡＴＩＯＮ．ＬＯＧ｛＄（日時）、＄（日時）−１分｝”が“２００ｍ以上”の場合には、“移動速度”は“ＨＩＧＨ”であるという値を、シナリオ編集部１００２に返す。また、外界情報取得部１１３に要求した外界情報“ＬＯＣＡＴＩＯＮ．ＬＯＧ｛＄（日時）、＄（日時）−１分｝”が“２００ｍ未満”の記述が“２００ｍ以上”の場合には、編集リソース生成部１００４は、“移動速度”は“ＨＩＧＨ”であるという値を、シナリオ編集部１００２に返す。【０１１６】  以上のように、実施の形態２に係るシナリオ生成装置１００１は構成されている。ここで、シナリオ生成装置１００１が、実施の形態１の図３に示す中間シナリオ３００に対して編集を行った場合に生成する最終シナリオの一例を図１３に示す。図１３に示す最終シナリオ１３００には、“場面情報の場所”として“＄（横浜、Ａ中華料理店）”が、“場面情報の環境”として“＄（雨）、＄（１０℃）”が、“登場人物情報の人物１：（属性、属性値）”として“＄（性別、男性）、＄（年齢、２５歳）”が、追加された“��場人物の名前”として“＄（花子）”が、追加された“登場人物の属性”として“＄（性別、女性）”、“動作情報の動作対象”として“＄（Ｂセット）”が記述される。これらは、外界情報取得部１１３から取得した情報であり、中間シナリオ３００に記述されていない情報である。また、最終シナリオ１３００には、外界情報そのものでなく、外界情報を用いて生成された編集リソース情報に基づいて、“＄（店員）”という名前の登場人物、動作情報として、動作主“＄（店員）”、動作対象“＄（一郎）”、動作／状態“＄（言う「毎度！」）”という記述がなされている。さらに、最終シナリオ１３００には、編集リソース情報に基づき、動作情報として、動作主“＄（花子）”、動作対象“＄（一郎）”、動作／状態“＄（微笑む）”という記述がなされている。【０１１７】  このように、シナリオ生成装置１００１は、入力されたユーザー入力文に不足な情報を外界情報や編集リソースで補い、ユーザーの所望するアニメーションを作成するために十分なシナリオを生成する。換言すると、シナリオ生成装置１００１は、ユーザー入力文によって生成される中間シナリオ３００の用語から想起される情報を、外界情報や編集リソースを用いて中間シナリオ３００に追加し、シナリオを編集する。【０１１８】  次に、シナリオ生成装置１００１の動作について説明する。図１４は、実施の形態２に係るシナリオ生成装置１００１の動作を示すフローチャートである。【０１１９】  まず、シナリオ生成装置１００１は、入力部１０８において、ユーザーの入力文であるユーザー入力文１０７を入力する（ＳＴ１４０１）。入力部１０８は、入力したユーザー入力文１０７を、入力文解析部１０９に送る。【０１２０】  次に、入力文解析部１０９は、送られてきたユーザー入力文１０７を形態素解析し、入力文解析辞書１１０ａに従い入力文を解析し、その結果をシナリオ編集部１００２に出力する（ＳＴ１４０２）。次に、シナリオ編集部１００２は、ＳＴ１４０２の処理で得られた入力文解析結果を中間シナリオ３００として記述する（ＳＴ１４０３）。【０１２１】  次に、シナリオ編集部１００２は、シナリオ編集知識１００３ａを参照し（ＳＴ１４０４）、ＳＴ１４０３で生成された中間シナリオ３００に対応する知識適応条件１１０２があるかどうかを判定する（ＳＴ１４０５）。ＳＴ１４０３で生成した中間シナリオ３００に対応する知識適応条件１１０２が無いと判定した場合には（ＳＴ１４０５：ＮＯ）、シナリオ編集部１００２は、中間シナリオ３００を、シナリオ生成装置１００１が出力する最終シナリオとして出力する（ＳＴ１４０６）。【０１２２】  一方、ＳＴ１４０３で生成した中間シナリオ３００に対応する知識適応条件１１０２があると判定した場合には（ＳＴ１４０５：ＹＥＳ）、シナリオ編集部１００２は、判定した知識適応条件１１０２に対応する情報が、外界情報１１０３か編集リソース情報１１０４かを判断する（ＳＴ１４０７）。【０１２３】  ＳＴ１４０７において対応する情報が外界情報１１０３であると判断した場合には（ＳＴ１４０７：外界情報）、シナリオ編集知識１００２ａに記述された取得すべき外界情報１１０３を、外界情報取得部１１３に要求する。【０１２４】  これに対して、外界情報取得部１１３は、外界情報取得知識１１４ａを参照し（ＳＴ１４０８）、要求された外界情報に対応する取得先機器５０２および情報名５０３を取得する。そして、外界情報取得部１１３は、取得した取得先機器５０２と情報名５０３で示された情報を、外界情報蓄積部１１５から、または通信部１１７を用いてネットワーク１０６を介して外界情報蓄積装置１０４から取得し、シナリオ編集部１００２に送る（ＳＴ１４０９）。【０１２５】  次に、シナリオ編集部１００２は、ＳＴ１４０９で取得した外界情報をシナリオ編集知識１００３ａのシナリオ編集規則１１０５に当てはめて、最終シナリオ１３００に記述する（ＳＴ１４１０）。【０１２６】  そして、シナリオ編集部１００２は、再度ＳＴ１４０４へ戻ってＳＴ１４０５の判定を行う。【０１２７】  一方、ＳＴ１４０７において対応する情報が編集リソース情報１１０４であると判断した場合には（ＳＴ１４０７：編集リソース情報）、シナリオ編集知識１００３ａに記述された取得すべき編集リソース情報１１０４を、編集リソース生成部１００４に要求する。【０１２８】  これに対して、編集リソース生成部１００４は、編集リソース生成知識１００５ａを参照し（ＳＴ１４１１）、要求された編集リソース情報に対応する取得外界情報１２０３を認識する（ＳＴ１４１２）。次に、編集リソース生成部１００４は、認識した取得外界情報を外界情報取得部１１３に要求する。【０１２９】  これに対して、外界情報取得部１１３は、外界情報取得知識１１４ａを参照し（ＳＴ１４１３）、要求された外界情報に対応する取得先機器５０２および情報名５０３を取得する。そして、外界情報取得部１１３は、取得した取得先機器５０２情報名５０３で示された外界情報を、外界情報蓄積部１１５から、または通信部１１７を用いてネットワーク１０６を介して外界情報蓄積装置１０４から取得し、編集リソース生成部１００４に送る（ＳＴ１４１４）。【０１３０】  次に、編集リソース生成部１００４は、シナリオ編集部１００２に要求された編集リソース情報１１０４に対応する生成規則１２０２を取得し、取得した生成規則１２０２にＳＴ１４１４で取得した外界情報を適用することにより、編集リソース情報を生成し、シナリオ編集部１００２に送る（ＳＴ１４１５）。【０１３１】  シナリオ編集部１００２は、ＳＴ１４１５で取得した編集リソース情報をシナリオ編集知識１００３ａのシナリオ編集規則１１０５に当てはめて、最終シナリオ１３００に記述する（ＳＴ１４１６）。【０１３２】  そして、シナリオ編集部１００２は、再度ＳＴ１４０４へ戻ってＳＴ１４０５の判定を行う。このようにして、ＳＴ１４１０で生成したシナリオに対応するシナリオ編集知識１００３ａの知識適応条件１１０２が無くなるまで、ＳＴ１４０４、ＳＴ１４０５、ＳＴ１４０７〜ＳＴ１４１６を繰り返す。【０１３３】  このように、シナリオ編集部１００２は、中間シナリオ３００に不足する情報など、中間シナリオ３００の用語から想起される情報を、中間シナリオ３００に追加すべき情報として認識し、外界情報あるいは編集リソース情報を用いて、中間シナリオ３００に対し情報を追加する編集を行う。【０１３���】  例えば、シナリオ編集部１００２が、ＳＴ１４０７〜ＳＴ１４１６において、図３に示す中間シナリオ３００を編集する場合について考える。まず、シナリオ編集部１００２は、ＳＴ１４０８〜ＳＴ１４１０において、中間シナリオ３００から最終シナリオ１３００を生成する。この処理は、実施の形態１におけるシナリオ編集部１１１ｂの処理と同じであるため、その詳細な説明を省略する。【０１３５】  次に、シナリオ編集部１００２は、最終シナリオ１３００の“場面情報の場所”が“＄（横浜、Ａ中華料理店）”と“店”であることを表している為（ＳＴ１４０５）、シナリオ編集知識１００３ａの知識ＩＤ１１０１“１００”の知識適応条件１１０２に該当すると判別する（ＳＴ１４０７）。そのため、シナリオ編集部１００２は、シナリオ編集知識１００３ａの編集リソース情報１１０４を参照し、“訪問頻度｛＄（Ａ中華料理店））｝”が必要と判断し、編集リソース生成部１００４に要求する。“訪問頻度｛＄（Ａ中華料理店））｝”は、”Ａ中華料理店”に訪問した頻度を表している。【０１３６】  これに対して、編集リソース生成部１００４は、編集リソース生成知識１００５ａを参照し（ＳＴ１４１１）、“訪問頻度｛＄（Ａ中華料理店））｝”に対応する取得外界情報１２０３である“ＬＯＣＡＴＩＯＮ．ＬＯＧ｛＄（日時）、＄（日時）−１月｝”を認識する（ＳＴ１４１２）。次に、編集リソース生成部１００４は、外界情報取得部１１３に、“ＬＯＣＡＴＩＯＮ．ＬＯＧ｛＄（日時）、＄（日時）−１月｝”の要求をする。【０１３７】  これに対して、外界情報取得部１１３は、外界情報取得知識１１４ａを参照し（ＳＴ１４１３）、“ＬＯＣＡＴＩＯＮ．ＬＯＧ｛＄（日時）、＄（日時）−１月｝”に対応する取得先機器５０２であるＧＰＳ機器を認識し、ＧＰＳ機器から“ＬＯＣＡＴＩＯＮ．ＬＯＧ｛＄（日時）、＄（日時）−１月｝”を取得し、編集リソース生成部１００４に送る（ＳＴ１４１４）。【０１３８】  これに対して編集リソース生成部１００４は、取得した外界情報を編集リソース生成知識１００５ａの生成規則１２０２に適用し、編集リソース情報、この場合には、“訪問頻度：ＨＩＧＨ”を生成する（ＳＴ１４１５）。【０１３９】  そして、シナリオ編集部１００２は、編集リソース生成部１００４から取得した編集リソース情報（“訪問頻度：ＨＩＧＨ”）をシナリオ編集規則１１０５ａに照らしあわせ、記述に従ったシナリオ編集を行う（ＳＴ１４１６）。この例の場合、シナリオ編集規則１１０５ａは、“訪問頻度｛＄（Ａ中華料理店））｝”が“ＨＩＧＨ”のときのみシナリオを編集することを表しているので、シナリオ編集部１００２は、シナリオの“登場人物情報”に“＄（店員）”を記述する。また、シナリオ編集規則１１０５ａは、シナリオの動作情報において、“動作主”に“＄（店員）”、“動作”に“＄（言う「毎度！」）”、“動作対象”に“＄（＄（ＵＳＥＲ））”を記述する。さらに、シナリオ編集規則１１０５ａは、シナリオの動作情報において、“動作主”に“＄（店員）”、“動作”に“＄（右手を上げる）”、“動作対象”に“＄（＄（ＵＳＥＲ））”を記述する。【０１４０】  このように、シナリオ編集部１００２は、��ナリオを外界情報だけで十分に補えない場合には、外界情報から編集リソースを生成し、編集リソースを用いてシナリオを補う。すなわち、シナリオ編集部１００２は、外界情報だけではシナリオに情報を追加できない場合には、外界情報から編集リソースを生成し、編集リソースを用いてシナリオを編集する。これにより、ユーザーが、外界情報を取得するために所有する外界情報蓄積部１１５や、通信可能範囲に存在する外界情報蓄積装置１０４が、外界情報を少ししか持っていなくても、出力されるシナリオの情報量を増やすことができる。【０１４１】  また、上記したように、シナリオに複数の登場人物が記述される場合には、シナリオ編集部１００２は、シナリオ編集知識１００３ａの知識ＩＤ１１０１“１０１”の知識適応条件１１０２に該当すると判別する（ＳＴ１４０７）。そのため、シナリオ編集部１００２は、シナリオ編集知識１００３ａの編集リソース情報１１０４を参照し、“親密度｛＄（人物ａ）、＄（人物ｂ）｝”が必要と判断し、編集リソース生成部１００４に要求する。“親密度｛＄（人物ａ）、＄（人物ｂ）｝”は、登場人物間の親密度を表している。【０１４２】  これに対して、編集リソース生成部１００４は、編集リソース生成知識１００５ａを参照し（ＳＴ１４１１）、“親密度｛＄（人物ａ）、＄（人物ｂ）｝”に対応する取得外界情報１２０３である“ＧＲＯＵＰ｛＄（人物）｝”と、“ＲＥＣＥＩＶＥＤＭＡＩＬ｛＄（日時）、＄（日時）−１月｝”を認識する（ＳＴ１４１２）。編集リソース生成部１００４は、上位に記述された“ＧＲＯＵＰ｛＄（人物）｝”を採用し、外界情報取得部１１３に、“ＧＲＯＵＰ｛＄（人物）｝”を要求する。【０１４３】  これに対して、外界情報取得部１１３は、外界情報取得知識１１４ａを参照し（ＳＴ１４１３）、“ＧＲＯＵＰ｛＄（人物）｝”に対応する取得先機器５０２であるメール機器を認識し、メール機器の“ＡＤＤＲＥＳＳ．ＧＲＯＵＰ．＄（名前）”を取得する。そして、外界情報取得部１１３は、取得した“ＡＤＤＲＥＳＳ．ＧＲＯＵＰ．＄（名前）”を、“ＧＲＯＵＰ｛＄（人物）｝”として、編集リソース生成部１００４に送る（ＳＴ１４１４）。【０１４４】  これに対して編集リソース生成部１００４は、取得した外界情報を編集リソース生成知識１００５ａの生成規則１２０２に適用し、編集リソース情報、この場合には、“親密度：ＨＩＧＨ”を生成する（ＳＴ１４１５）。【０１４５】  そして、シナリオ編集部１００２は、編集リソース生成部１００４から取得した編集リソース情報をシナリオ編集規則１１０５に照らしあわせ、記述に従ったシナリオ編集を行う（ＳＴ１４１６）。この例の場合、“親密度｛＄（人物ａ）、＄（人物ｂ）｝”が“ＨＩＧＨ”の場合なので、シナリオ編集部１００２は、“動作主：＄（人物ａ）”として“花子”、“動作：Ｓ（親しさを表現する動作）”として“微笑む”、“動作対象：＄（人物ｂ）”として“一郎”を、シナリオに追加し、最終シナリオ１３００を編集する。【０１４６】  このように、シナリオ編集部１００２は、アニメーションを生成する上で必要な情報を外界情報１０５、１１６から取得できなくても、外界情報１０５、１１６から編集リソー��を生成し、編集リソース情報を用いて、ユーザーが意図する形に近い表現にシナリオを編集することができる。この結果、アニメーションの表現力を向上させることができる。【０１４７】  以上説明したように、実施の形態２によれば、ユーザー入力文１０７からアニメーションを生成する上で必要な情報を取得できなくても、外界情報を解釈して、ユーザーが意図する形に近い表現にシナリオを編集することができる。【０１４８】  さらに、実施の形態２によれば、アニメーションを生成する上で必要な情報が外界情報１０５、１１６から取得できなくても、外界情報１０５、１１６から編集リソースを生成し、編集リソース情報を用いて、ユーザーが意図する形に近い表現にすることができる。この結果、アニメーションの表現力を向上させることができる。【０１４９】  また、実施の形態２によれば、シナリオを外界情報１０５、１１６だけで十分に補えない場合には、外界情報１０５、１１６から編集リソースを生成し、編集リソースを用いてシナリオを補える。すなわち、外界情報１０５、１１６だけではシナリオに情報を追加できない場合には、外界情報１０５、１１６から編集リソースを生成し、編集リソースを用いてシナリオに情報を追加することができる。これにより、ユーザーが外界情報を取得するために所有する外界情報蓄積部１１５や、通信可能範囲に存在する外界情報蓄積装置１０４が、外界情報を少ししか保持していなくても、出力されるシナリオの情報量を増やすことができる。つまり、予め蓄積する外界情報１０５、１１６の数が少なくて済むので、外界情報蓄積部１１５や通信可能範囲に存在する外界情報蓄積装置１０４の数を削減できる。【０１５０】  なお、シナリオ生成装置１００１の動作をプログラムにし、汎用のコンピュータに行わせる形態であっても良い。【０１５１】  以上説明したように、本発明に係るシナリオ生成装置は、ユーザーが作成したテキスト文に不足している情報を認識し、ユーザーが所持する機器や通信可能範囲に存在する機器から外界情報を取得し、取得した外界情報を用いて不足している情報を補い、シナリオを編集するようにした。具体的には、ユーザーが作成したテキスト文からシナリオを生成し、生成したシナリオの用語から想起される情報を、シナリオに追加すべき情報として認識し、ユーザーが所持する機器や通信可能範囲に存在する機器から外界情報を取得し、取得した外界情報を用いてシナリオに情報を追加し、シナリオを編集するようにした。【０１５２】  したがって、本発明に係るシナリオ生成装置によれば、コンピュータ・グラフィックスを作成する上で必要な情報が入力文に記述されていなくても、入力文中に含まれる単語の意味表現を用い、外界情報を解釈して、ユーザーが入力した文に相応するコンピュータ・グラフィックス表現を生成するために必要な情報を補う（追加する）ことができる。また、生成されたシナリオに記述されている場面や動作に関する修飾を、外界情報から得られた値に基づいて最適化することが可能となる。このように生成されたシナリオからは、ユーザーが入力した文に対して、より高い表現力を持つコンピュータ・グラフィックスを生み出すことが可能となる。すなわち、本発明に係るシナリ��生成装置は、コンピュータ・グラフィックスを作成するのに必要な技術も情報も無いユーザーであっても、容易に、高い表現力のコンピュータ・グラフィックスを作成することを可能とする。【０１５３】  要するに、本発明の第１の態様に係るシナリオ生成装置は、入力文章に記述された単語の意味を示す表現および分類を解析結果として出力する解析部と、外界情報を蓄積する外界情報蓄積部と、前記解析結果と前記外界情報蓄積部から取得した前記外界情報とを用いてシナリオを編集するシナリオ編集部と、を具備した構成を採る。【０１５４】  これにより、コンピュータ・グラフィックスを生成する上で必要な情報が入力文章に含まれていなくても、つまり入力文章だけからはシナリオが生成できなくても、外界情報を用いて、必要な情報を補いながらシナリオを生成することができる。この結果、情報が補われたシナリオを基に表現力が向上したグラフィックスを生成できる。【０１５５】  本発明の第２の態様は、第１の態様に係るシナリオ生成装置において、前記外界情報は、入力文章作成者の経験に基づく情報、日時情報、もしくは環境情報のいずれかである。【０１５６】  これにより、シナリオを入力文章作成者が意図する形、特に入力文章作成者の経験に基づく内容に近い表現で補うことができる。【０１５７】  本発明の第３の態様は、第１の態様または第２の態様に係るシナリオ生成装置において、前記外界情報から編集リソース情報を生成する編集リソース生成部を具備し、前記シナリオ編集部は、さらに、前記編集リソース情報を用いてシナリオを編集する。【０１５８】  これにより、外界情報からシナリオを補足するための編集リソース情報を生成することができる。この結果、例えば、シナリオを補足するための外界情報が取得できなくても、取得可能な他の外界情報から編集リソース情報を生成し、これを用いてシナリオを補足することが可能となる。また、このように、シナリオを補足するための編集リソース情報を生成するので、外界情報蓄積部にて予め蓄積しておく外界情報の量を削減できると共に、少ない外界情報から多くの編集リソース情報を得てシナリオを補足することが可能となる。【０１５９】  本発明の第４の態様は、第１の態様から第３の態様のいずれかに係るシナリオ生成装置において、前記シナリオに与えるべき情報を特定するための知識適応条件と、前記与えるべき情報を得るために使用する前記外界情報と、前記使用する外界情報をどのように前記シナリオに追加するかを示す編集規則と、の組を複数格納したシナリオ編集知識を具備し、前記シナリオ編集部は、前記知識適応条件を用いて前記与えるべき情報を特定し、前記編集規則を用いて前記使用する外界情報を前記シナリオに追加する。【０１６０】  これにより、シナリオ編集部はシナリオ編集知識と外界情報とを用いてシナリオを編集することができる。また、シナリオ編集知識を更新するだけで、シナリオ編集部の処理を更新することが可能になる。【０１６１】  本発明の第５の態様は、第３の態様に係るシナリオ生成装置において、前記シナリオに与えるべき情報を特定するための知識適応条件と、前記与えるべき情報を得るために使用する前記編集リソース情報と、前記使用する編集リソース��報に基づいた情報をどのように生成し前記シナリオに追加するかの編集規則と、の組を複数格納したシナリオ編集知識を具備し、前記シナリオ編集部は、前記知識適応条件を用いて前記与えるべき情報を特定し、前記編集規則を用いて前記使用する編集リソース情報に基づく情報を生成し前記シナリオに追加する。【０１６２】  これにより、シナリオ編集部はシナリオ編集知識と編集リソース情報とを用いてシナリオを編集することができる。また、シナリオ編集知識を更新するだけで、シナリオ編集部の処理を更新することが可能になる。【０１６３】  本発明の第６の態様は、第３の態様または第５の態様に係るシナリオ生成装置において、前記編集リソース情報を生成するために使用する外界情報と、当該外界情報を用いて前記リソース情報を生成するための生成規則と、の組を複数格納した編集リソース生成知識と、前記シナリオ編集部から要求された前記編集リソース情報を前記編集リソース生成知識を用いて生成し、前記シナリオ編集部に送る編集リソース生成部と、を具備した構成を採る。【０１６４】  これにより、シナリオを補足するための外界情報が取得できなくても、取得可能な他の外界情報から編集リソース情報を生成し、これを用いてシナリオを補足することが可能となる。【０１６５】  本発明の第７の態様に係るコンピュータ・グラフィックス生成システムは、第１の態様から第６の態様のいずれかに記載のシナリオ生成装置と、前記シナリオ生成装置が出力したシナリオを用いてコンピュータ・グラフィックスを生成するグラフィックス生成装置と、を具備した構成を採る。【０１６６】  これにより、シナリオ生成装置が生成したシナリオを用いたコンピュータ・グラフィックスを生成することができる。【０１６７】  本発明の第８の態様は、入力文章に記述された単語の意味を示す表現および分類を解析結果として出力するステップと、外界情報を蓄積するステップと、前記解析結果を用いてシナリオを編集するステップと、前記外界情報を取得するステップと、前記外界情報を用いて前記シナリオを編集するステップと、を具備したことを特徴とするシナリオ生成方法である。【０１６８】  本発明の第９の態様は、コンピュータに、入力文章に記述された単語の意味を示す表現および分類を解析結果として出力するステップと、外界情報を蓄積するステップと、前記解析結果を用いてシナリオを編集するステップと、前記外界情報を取得するステップと、前記外界情報を用いて前記シナリオを編集するステップと、を行わせることを特徴とするプログラムである。【０１６９】  本明細書は、２００５年６月１０日出願の特願２００５−１７１４９２に基づく。この内容はすべてここに含めておく。
【産業上の利用可能性】
【０１７０】  以上説明したように、本発明によれば、アニメーション作成についての特別な知識を持たないユーザーが生成したシナリオから、このユーザーが所望する表現の豊かなコンピュータ・グラフィックスを生成するためのシナリオを生成することができる。本発明は、アニメーション作成の専用装置だけでなく、携帯電話や電子メールなどに適用することで、アニメーションを用いた情報伝達を行うことができる。
【図１】
2006132332.tif 000002
【図２】
2006132332.tif 000003
【図３】
2006132332.tif 000004
【図４】
2006132332.tif 000005
【図５】
2006132332.tif 000006
【図６】
2006132332.tif 000007
【図７】
2006132332.tif 000008
【図８】
2006132332.tif 000009
【図９】
2006132332.tif 000010
【図１０】
2006132332.tif 000011
【図１１】
2006132332.tif 000012
【図１２】
2006132332.tif 000013
【図１３】
2006132332.tif 000014
【図１４】
2006132332.tif 000015
【手続補正書】
【提出日】平成19年3月20日(2007.3.20)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
入力文からアニメーション用のシナリオを自動的に生成するシナリオ生成装置であって、
入力文に記述された単語の意味および前記単語がどのカテゴリーに該当するかを解析する入力文解析部と、
前記入力文解析部の解析結果を用いてシナリオを生成するシナリオ生成部と、
前記シナリオ生成部によって生成されたシナリオを、当該シナリオの用語から想起される情報で編集するシナリオ編集部と、
を具備するシナリオ生成装置。
【請求項２】
前記想起される情報は、前記シナリオの用語から、前記用語と前記用語から想起される情報とを関連づけた外界情報を用いて取得される、
請求項１記載のシナリオ生成装置。
【請求項３】
外界情報の種類と、外界情報の取得先に関する取得先情報と、の組によって構成される外界情報取得知識を格納した外界情報取得知識格納部、をさらに具備し、
前記外界情報は、前記外界情報取得知識格納部に格納された外界情報取得知識を用いて取得される、
請求項２記載のシナリオ生成装置。
【請求項４】
前記外界情報は、内部に具備した外界情報蓄積部および／または外部に配置された外界情報蓄積装置に蓄積され、
前記外界情報は、前記外界情報蓄積部および／または前記外界情報蓄積装置から取得される、
請求項２記載のシナリオ生成装置。
【請求項５】
前記外界情報は、入力文作成者の経験に基づく情報、日時情報、または環境情報の少なくとも１つである、
請求項２記載のシナリオ生成装置。
【請求項６】
取得された外界情報から編集リソース情報を生成する編集リソース生成部、をさらに具備し、
前記シナリオ編集部は、
取得された外界情報および／または前記編集リソース生成部によって生成された編集リソース情報を用いて、前記シナリオ生成部によって生成されたシナリオを編集する、
請求項２記載のシナリオ生成装置。
【請求項７】
シナリオの用語から想起される情報を特定するための知識適応条件と、前記知識適応条件に対応して取得すべき外界情報と、取得した外界情報を用いてどのようにシナリオを編集するかを示す編集規則と、の組によって構成されるシナリオ編集知識を格納したシナリオ編集知識格納部、をさらに具備し、
前記シナリオ編集部は、
前記シナリオ編集知識格納部に格納されたシナリオ編集知識を参照して、前記知識適応条件により、前記シナリオ生成部によって生成されたシナリオの用語から想起される情報を特定し、前記知識適応条件に対応して取得された外界情報を用いて、前記編集規則に従って、前記シナリオ生成部によって生成されたシナリオを編集する、
請求項２記載のシナリオ生成装置。
【請求項８】
シナリオの用語から想起される情報を特定するための知識適応条件と、前記知識適応条
件に対応して取得すべき外界情報および／または編集リソース情報と、取得した外界情報および／または編集リソース情報を用いてどのようにシナリオを編集するかを示す編集規則と、の組によって構成されるシナリオ編集知識を格納したシナリオ編集知識格納部、をさらに具備し、
前記シナリオ編集部は、
前記シナリオ編集知識格納部に格納されたシナリオ編集知識を参照して、前記知識適応条件により、前記シナリオ生成部によって生成されたシナリオの用語から想起される情報を特定し、前記知識適応条件に対応して取得された外界情報および／または編集リソース情報を用いて、前記編集規則に従って、前記シナリオ生成部によって生成されたシナリオを編集する、
請求項６記載のシナリオ生成装置。
【請求項９】
編集リソース情報の種類と、編集リソース情報を生成するために用いられる外界情報と、外界情報を用いて編集リソース情報を生成するための生成規則と、の組によって構成される編集リソース生成知識を格納した編集リソース生成知識格納部、をさらに具備し、
前記編集リソース生成部は、
前記編集リソース生成知識格納部に格納された編集リソース生成知識を参照して、前記シナリオ編集部から要求された編集リソース情報を生成し、前記シナリオ編集部に出力する、
請求項６記載のシナリオ生成装置。
【請求項１０】
請求項１記載のシナリオ生成装置と、
前記シナリオ生成装置によって生成されたシナリオを用いて、コンピュータ・グラフィックス・アニメーションを生成するグラフィックス生成装置と、
を具備するアニメーション作成システム。
【請求項１１】
入力文からアニメーション用のシナリオを自動的に生成するシナリオ生成方法であって、
入力文に記述された単語の意味および前記単語がどのカテゴリーに該当するかを解析するステップと、
入力文の解析結果を用いてシナリオを生成するステップと、
生成されたシナリオを、当該シナリオの用語から想起される情報で編集するステップと、
を具備するシナリオ生成方法。
【請求項１２】
入力文からアニメーション用のシナリオを自動的に生成するためのシナリオ生成プログラムであって、
入力文に記述された単語の意味および前記単語がどのカテゴリーに該当するかを解析するステップと、
入力文の解析結果を用いてシナリオを生成するステップと、
外界情報を取得するステップと、
取得された外界情報を用いて、生成されたシナリオを、当該シナリオの用語から想起される情報で編集するステップと、
をコンピュータに実行させるためのシナリオ生成プログラム。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ユーザーによって入力された文章からコンピュータ・グラフィックス・アニメーション（以下単に「アニメーション」という）を作成するためのシナリオを自動的に生成するシナリオ生成装置、シナリオ生成方法、およびシナリオ生成プログラムに関する。
【背景技術】
【０００２】
従来より、ユーザーによって入力されたテキスト文からアニメーションを作成する装置の開発が盛んである（例えば、特許文献１参照）。
【０００３】
この装置は、ユーザーにアニメーションの内容を記述したシナリオを入力させることによって、アニメーションを作成する。このような装置を用いることにより、ユーザーは、特別なアニメーション作成技術を持たずとも、手軽にアニメーションを作成することができる。
【特許文献１】特開平８−１２３９７６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、入力したシナリオから、より充実したアニメーションを作成するためには、登場キャラクターの外観や動作、背景のセット、小物の情報など、より多くの情報の記述が必要である。
【０００５】
まず、登場キャラクターに行わせるアニメーション動作は、プログラムで使用可能な動作に対応する表現を用いて記述する必要がある。このため、シナリオの作成に慣れないユーザーがシナリオを記述する際には、困難が生じる。したがって、例えば、「謝る」とラベル付けされたアニメーション動作を、登場キャラクターに行わせようとする場合には、「花子が太郎に謝る」という直接的な表現以外に、「花子が太郎にごめんなさいをした」、「花子が太郎に謝罪した」などの他の表現が許容されるべきである。
【０００６】
また、登場キャラクターの選択は、動作主として「花子が歩く」のように明示されることで自動的に行われるとしても、例えば、どのような服装なのか、何を所持しているのかといったことを記述するのには困難を伴う。
【０００７】
さらに、例えば、レストランのシーンであれば、テーブルや椅子、料理のＣＧ（Computer Graphics）素材を背景に置き、時刻に応じて照明の明るさなども指示できることが望ましい。ところが、「レストランで食事した」という一文だけでは、その他の情報がまったく記述されていないため、アニメーションシナリオとしては不適格である。
【０００８】
このように、シナリオ記述の経験が無いユーザーやその経験が浅いユーザーは、所望するアニメーションを作成するために、どのような情報をシナリオに記述すればよいかがわからない。すなわち、アニメーション作成についての特別な知識を持たないユーザーにとって、意図するアニメーションを作成するためのシナリオを作成することは困難であるという問題がある。
【０００９】
本発明の目的は、アニメーション作成についての特別な知識を持たないユーザーが作成したテキスト文からでも、ユーザーが所望する表現の豊かなアニメーションを生成するためのシナリオを自動的に生成することができるシナリオ生成装置、シナリオ生成方法、お
よびシナリオ生成プログラムを提供することである。
【課題を解決するための手段】
【００１０】
本発明のシナリオ生成装置は、入力文からアニメーション用のシナリオを自動的に生成するシナリオ生成装置であって、入力文に記述された単語の意味および前記単語がどのカテゴリーに該当するかを解析する入力文解析部と、前記入力文解析部の解析結果を用いてシナリオを生成するシナリオ生成部と、前記シナリオ生成部によって生成されたシナリオを、当該シナリオの用語から想起される情報で編集するシナリオ編集部と、を有する構成を採る。
【００１１】
本発明のシナリオ生成方法は、入力文からアニメーション用のシナリオを自動的に生成するシナリオ生成方法であって、入力文に記述された単語の意味および前記単語がどのカテゴリーに該当するかを解析するステップと、入力文の解析結果を用いてシナリオを生成するステップと、生成されたシナリオを、当該シナリオの用語から想起される情報で編集するステップと、を有するようにした。
【００１２】
本発明のシナリオ生成プログラムは、入力文からアニメーション用のシナリオを自動的に生成するためのシナリオ生成プログラムであって、入力文に記述された単語の意味および前記単語がどのカテゴリーに該当するかを解析するステップと、入力文の解析結果を用いてシナリオを生成するステップと、生成されたシナリオを、当該シナリオの用語から想起される情報で編集するステップと、をコンピュータに実行させるものである。
【発明の効果】
【００１３】
本発明によれば、アニメーション作成についての特別な知識を持たないユーザーが作成したテキスト文からでも、たとえば、アニメーションの作成に必要な情報が記述されていない入力文からでも、このユーザーが所望する表現の豊かなアニメーションを生成するためのシナリオを自動的に生成することができる。
【発明を実施するための最良の形態】
【００１４】
以下、本発明の実施の形態について、添付図面を参照しながら説明する。
【００１５】
（実施の形態１）
まず、本発明の実施の形態１に係るコンピュータ・グラフィックス・アニメーション作成システムについて、図１を用いて説明する。図１は、実施の形態１に係るシナリオ生成装置を含むコンピュータ・グラフィックス・アニメーション作成システムの構成を示すブロック図である。
【００１６】
図１において、コンピュータ・グラフィックス・アニメーション作成システム（以下単に「アニメーション作成システム」という）１００は、シナリオ生成装置１０１、グラフィックス生成装置１０２、表示装置１０３、および外界情報蓄積装置１０４から主に構成されている。シナリオ生成装置１０１は、ユーザーが入力したユーザー入力文１０７を取得し、アニメーションを生成するために必要な情報をシナリオとして出力する。グラフィックス生成装置１０２は、シナリオ生成装置１０１から出力されたシナリオに基づいて、アニメーションを生成する。表示装置１０３は、グラフィックス生成装置１０２によって生成されたアニメーションを表示する。外界情報蓄積装置１０４は、シナリオ生成装置１０１がシナリオに不足している情報を補ったり、シナリオに新たな情報を追加するために用いる外界情報１０５を蓄積する。これらの各部は、インターネット、携帯通信網、ＬＡＮなどの一般的なネットワーク１０６を介して繋がっている。
【００１７】
なお、シナリオ生成装置１０１と、グラフィックス生成装置１０２と、表示装置１０３と、外界情報蓄積装置１０４は、同一の装置に備えられている形態であっても良い。
【００１８】
シナリオ生成装置１０１には、ユーザー入力文１０７を入力するための入力部１０８が設けられている。入力部１０８は、入力したユーザー入力文１０７を入力文解析部１０９に送る。
【００１９】
入力文解析部１０９は、入力文解析辞書データベース（ＤＢ）１１０を用いて、ユーザー入力文１０７の形態素解析を行い、ユーザー入力文１０７を形態素に分割し、シナリオ生成部１１１ａに出力する。なお、形態素に分割する方法は公知の技術であるので、その説明を省略する。
【００２０】
入力文解析辞書データベース１１０は、形態素解析によってユーザー入力文１０７から得られた単語を、シナリオを構成する情報のカテゴリーに分類し、意味付けするための入力文解析辞書を格納している。具体的には、入力文解析辞書データベース１１０は、図２に示すような、単語２０１と、単語２０１に対する事象である表現２０２と、各単語２０１が表す事象がシナリオを構成する情報のカテゴリーのいずれに該当するかを示す情報である分類２０３と、の組によって構成される入力文解析辞書１１０ａを格納している。なお、図２に示す“＄”は、値がその引数クラスに相当するオブジェクトであることを示す
。
【００２１】
例えば、“昨日”という単語２０１に対しては、“＄（昨日）”という表現２０２が対応付けられており、さらに“日時”という分類２０３が対応付けられている。また、“昼”という単語２０１は、“＄（１２：００頃）”という表現２０２と“日時”という分類２０３が対応付けられている。これは、ユーザー入力文１０７に記述された“昼”が１２：００頃を示す日時であることを示す。
【００２２】
また“私”という単語２０１には、“＄（ＵＳＥＲ）”という表現２０２と、“登場人物”という分類２０３が対応付けられている。これは、ユーザー入力文１０７に“私”という記述がある場合には、その記述は登場人物としてユーザー入力文１０７を記述した人物（ＵＳＥＲ）を表現しているということを示す。
【００２３】
また“食事する”という単語２０１は、“＄（食べる）”という表現２０２と、“動作”という分類２０３が対応付けられている。これはシナリオに記述された動作“食事する”が食べるという動作であることを示す。
【００２４】
入力文解析部１０９は、このような入力文解析辞書１１０ａを用いることで、形態素解析した単語２０１の、シナリオとしての意味、および単語２０１がシナリオを構成する情報のカテゴリーのいずれに該当するかを解析する。そして、入力文解析部１０９は、解析結果として、単語２０１の意味を示す表現２０２と、単語２０１がシナリオを構成する情報のカテゴリーのいずれに該当するかを示す分類２０３を入力文解析結果としてシナリオ生成部１１１ａへ出力する。
【００２５】
シナリオ生成部１１１ａは、入力文解析部１０９から送られてきた入力文解析結果（表現２０２および分類２０３）を取得し、取得した入力文解析結果に付与された表現２０２および分類２０３を、場面情報、登場人物情報、動作情報などに分類した中間シナリオを記述する。
【００２６】
図３に、実施の形態１における中間シナリオの一例を示す。図３は、ユーザー入力文１０７を解析することで作成された中間シナリオの一例を示した図であり、「昨日のお昼、私は外で食事しました。」というユーザー入力１０７の場合の中間シナリオを示している。
【００２７】
図３に示すように、中間シナリオ３００は、シナリオ情報名３０１と、シナリオ情報名３０１の分類を表す情報分類３０２と、情報分類３０２の内容を示す内容３０３と、の組によって構成される。なお、シナリオ情報名３０１、情報分類３０２および内容３０３を、適宜「用語」と総称するものとする。
【００２８】
シナリオ情報名３０１は、シーン番号、場面情報、登場人物情報、動作情報などで構成される。シーン番号は、中間シナリオ３００のシリアルナンバーである。場面情報は、場所、日時、環境という情報分類３０２を持つ。登場人物情報は、名前で示される人物と、属性と属性値で示される人物という情報分類３０２を持つ。また、動作情報は、動作主、動作／状態、動作対象という情報分類３０２を持つ。
【００２９】
情報分類３０２は、入力文解析辞書１１０ａの分類２０３に対応するものである。内容３０３には、入力文解析部１０９から送られてきた表現２０２が記述される。
【００３０】
例えば、入力文解析部１０９から送られてきた“＄（昨日）”や、“＄（１２：００頃）”という表現２０２は、分類２０３が“日時”となっている。したがって、シナリオ生
成部１１１ａは、“＄（昨日）”や“＄（１２：００頃）”という表現２０２を、情報分類３０２が“日時”のカテゴリーに対応する内容３０３に記述する。
【００３１】
また、入力文解析部１０９から送られてきた“＄（ＵＳＥＲ）”という表現２０２は、分類２０３が“登場人物”となっている。したがって、シナリオ生成部１１１ａは、“＄（ＵＳＥＲ）”という表現２０２を、情報分類３０２が“人物１：名前”“動作主”のカテゴリーに対応する内容３０３に記述する。
【００３２】
また、入力文解析部１０９から送られてきた“＄（食べる）”という表現２０２は、分類２０３が“動作”となっている。したがって、シナリオ生成部１１１ａは、“＄（食べる）”という表現２０２を、情報分類３０２が“動作・状態”のカテゴリーに対応する内容３０３に記述する。
【００３３】
このように、シナリオ生成部１１１ａは、形態素解析された形態素の意味を示す内容を分類し、シナリオ内の所定の箇所に記述する。そして、シナリオ生成部１１１ａは、生成した中間シナリオ３００を、シナリオ編集部１１１ｂへ出力する。
【００３４】
シナリオ編集部１１１ｂは、シナリオ編集知識データベース（ＤＢ）１１２に格納されたシナリオ編集知識を用いて、シナリオ生成部１１１ａから入力された中間シナリオ３００に記述されている場面情報、登場人物情報、動作情報で、内容３０３として不足している情報を特定し、中間シナリオ３００に補足する。すなわち、シナリオ編集部１１１ｂは、シナリオを構成する情報として必要であるにもかかわらず不足している情報を特定し、中間シナリオ３００に補足する。換言すると、シナリオ編集部１１１ｂは、中間シナリオ３００の用語（シナリオ情報名３０１、情報分類３０２、内容３０３）から想起される情報を特定し、特定した情報で中間シナリオ３００を編集する。これにより、シナリオ編集部１１１ｂは、中間シナリオ３００を十分に記述した最終シナリオを生成する。そして、シナリオ編集部１１１ｂは、生成した最終シナリオを、通信部１１７を介して、グラフィックス生成装置１０２に送る。
【００３５】
図４に、実施の形態１におけるシナリオ編集知識データベース１１２に格納されたシナリオ編集知識の構成の一例を示す。図４は、シナリオ編集知識の一例を示す図である。シナリオ編集知識１１２ａは、中間シナリオ３００を明確にするために中間シナリオ３００に補足（追加）すべき情報と、その情報を補足（追加）するために取得すべき外界情報と、取得した外界情報をどのように編集して中間シナリオ３００に追加するかの編集規則と、を表したものである。
【００３６】
具体的には、図４に示すように、シナリオ編集知識データベース１１２は、知識ＩＤ４０１と、知識適応条件４０２と、外界情報４０３と、シナリオ編集規則４０４と、の組によって構成されるシナリオ編集知識１１２ａを格納している。
【００３７】
知識ＩＤ４０１は、上述した組の識別番号である。知識適応条件４０２は、中間シナリオ３００に記述されているどのような場面情報、登場人物情報、動作情報に対してシナリオ編集知識１１２ａを用いるかを定める適応条件である。言い換えると、知識適応条件４０２は、中間シナリオ３００に不足している情報などの中間シナリオ３００に補足（追加）すべき情報、つまり、中間シナリオ３００の用語から想起される情報を特定するための情報である。
【００３８】
外界情報４０３は、知識適応条件４０２に一致した場合に取得すべき外界情報である。言い換えると、外界情報４０３は、中間シナリオ３００を補足（編集）するために使用する外界情報であり、中間シナリオ３００の用語と、用語から想起される情報とを関連付け
た情報である。
【００３９】
シナリオ編集規則４０４は、外界情報４０３をどのように変換し、中間シナリオ３００に追加するかを定める編集規則である。すなわち、シナリオ編集規則４０４は、どのように外界情報４０３を用いて中間シナリオ３００に不足している情報を補うかを定める規則である。換言すると、シナリオ編集規則４０４は、どのように外界情報４０３を用いて、中間シナリオ３００の用語から想起される情報で中間シナリオ３００を編集するかを示す情報である。
【００４０】
例えば、中間シナリオ３００において、“場面情報の場所”が未定義であったときは、知識ＩＤ４０１が“０００”の知識適応条件４０２“場面情報の場所が未定義”に該当する。このため、シナリオ編集部１１１ｂは、日時をパラメータとした場所を示す“ＬＯＣＡＴＩＯＮ｛＄（日時）｝”という外界情報４０３を外界情報取得部１１３から取得する。次に、シナリオ編集部１１１ｂは、シナリオ編集規則４０４に従い、取得した“ＬＯＣＡＴＩＯＮ｛＄（日時）｝”という外界情報４０３を用いて、シナリオの“場面情報の場所”に“＄ＬＯＣＡＴＩＯＮ｛＄（日時）｝”を記述する。このように、シナリオ編集部１１１ｂは、外界情報４０３として“ＬＯＣＡＴＩＯＮ｛＄（日時）｝”を用いることで、中間シナリオ３００の“場面情報の場所”に、適切な場所情報を記述する。
【００４１】
また、中間シナリオ３００において、“場面情報の日時”が“＄（今日）”であったときは、知識ＩＤ４０１が“０１０”の知識適応条件４０２“場面情報の日時が＄（今日）”に該当する。このため、シナリオ編集部１１１ｂは、日時を示す“ＤＡＴＥ”という外界情報４０３を外界情報取得部１１３から取得する。次に、シナリオ編集部１１１ｂは、シナリオ編集規則４０４に従い、取得した“ＤＡＴＥ”という外界情報４０３を用いて、シナリオの“場面情報の日時”の“＄（今日）”を消去して“＄（ＤＡＴＥ）”を記述する。このように、シナリオ編集部１１１ｂは、外界情報４０３として“ＤＡＴＥ”を用いることで、中間シナリオ３００の“場面情報の日時”に適切な日時情報を記述する。
【００４２】
また、中間シナリオ３００において、“場面情報の日時”が“＄（昨日）”であったときは、知識ＩＤ４０１が“０１１”の知識適応条件４０２“場面情報の日時が＄（昨日）”に該当する。このため、シナリオ編集部１１１ｂは、日時を示す“ＤＡＴＥ”という外界情報４０３を外界情報取得部１１３から取得する。次に、シナリオ編集部１１１ｂは、シナリオ編集規則４０４に従い、取得した”ＤＡＴＥ”という外界情報４０３を用いて、シナリオの“場面情報の日時”の“＄（昨日）”を消去して“＄（ＤＡＴＥ）−１”を記述する。このように、シナリオ編集部１１１ｂは、外界情報４０３として“ＤＡＴＥ”を用いることで、中間シナリオ３００の“場面情報の日時”に適切な日時情報を記述する。
【００４３】
また、中間シナリオ３００において、“場面情報の環境”が未定義であったときは、知識ＩＤ４０１が“０２０”の知識適応条件４０２“場面情報の日時が未定義”に該当する。このため、シナリオ編集部１１１ｂは、日時と場所をパラメータとした環境を示す“ＷＥＡＴＨＥＲ｛＄（日時、場所）｝”という外界情報４０３を外界情報取得部１１３から取得する。次に、シナリオ編集部１１１ｂは、シナリオ編集規則４０４に従い、取得した“ＷＥＡＴＨＥＲ｛＄（日時、場所）｝”という外界情報４０３を用いて、シナリオの“場面情報の環境”に“＄ＷＥＡＴＨＥＲ｛＄（日時、場所）｝”を記述する。このように、シナリオ編集部１１１ｂは、外界情報４０３として“＄ＷＥＡＴＨＥＲ｛＄（日時、場所）｝”を用いることで、中間シナリオ３００の“場面情報の環境”に適切な環境情報を記述する。
【００４４】
また、中間シナリオ３００において、“登場人物情報の人物１：名前”（以下、適宜“登場人物の名前”と記述する）が“＄（ＵＳＥＲ）”であったときは、知識ＩＤ４０１が
“０３０”の知識適応条件４０２“登場人物情報の名前が＄（ＵＳＥＲ）”に該当する。このため、シナリオ編集部１１１ｂは、ユーザーの名前を示す“ＵＳＥＲＮＡＭＥ”という外界情報４０３を外界情報取得部１１３から取得する。次に、シナリオ編集部１１１ｂは、シナリオ編集規則４０４に従い、取得した“ＵＳＥＲＮＡＭＥ”という外界情報４０３を用いて、シナリオの“登場人物の名前”の“＄（ＵＳＥＲ）”を消去して“＄（ＵＳＥＲＮＡＭＥ）”を記述する。このように、シナリオ編集部１１１ｂは、外界情報４０３として“ＵＳＥＲＮＡＭＥ”を用いることで、中間シナリオ３００の“登場人物の名前”に適切な名前情報を記述する。
【００４５】
また、中間シナリオ３００において、“登場人物情報の人物１：（属性、属性値）”（以下、適宜“登場人物の属性”と記述する）が未定義であったときは、知識ＩＤ４０１が“０４０”の知識適応条件４０２“登場人物情報の属性が未定義”に該当する。このため、シナリオ編集部１１１ｂは、名前をパラメータとした登場人物の属性を示す“ＰＲＯＦＩＬＥ｛＄（名前）｝”という外界情報４０３を外界情報取得部１１３から取得する。次に、シナリオ編集部１１１ｂは、シナリオ編集規則４０４に従い、取得した“ＰＲＯＦＩＬＥ｛＄（名前）｝”という外界情報４０３を用いて、“登場人物の属性”に“＄（ＰＲＯＦＩＬＥ｛＄（名前）｝）”を記述する。このように、シナリオ編集部１１１ｂは、外界情報４０３として“ＰＲＯＦＩＬＥ｛＄（名前）｝”を用いることで、中間シナリオ３００の“登場人物の属性”に適切な登場人物属性情報を記述する。
【００４６】
また、中間シナリオ３００において、“動作情報の動作対象”が未定義であったときは、知識ＩＤ４０１が“０５０”の知識適応条件４０２“動作情報の動作＄（食べる）の対象が未定義”に該当する。このため、シナリオ編集部１１１ｂは、日時と場所をパラメータとした、購入履歴を示す外界情報“（ＲＥＣＥＩＰＴ｛＄（日時、場所）｝）＆＆（＠食物）”という外界情報４０３を外界情報取得部１１３から取得する。次に、シナリオ編集部１１１ｂは、シナリオ編集規則４０４に従い、取得した“（ＲＥＣＥＩＰＴ｛＄（日時、場所）｝）＆＆（＠食物）”という外界情報４０３を用いて、“動作情報の動作対象”に“（ＲＥＣＥＩＰＴ｛＄（日時、場所）｝）＆＆（＠食物）”を記述する。このように、シナリオ編集部１１１ｂは、外界情報４０３として“（ＲＥＣＥＩＰＴ｛＄（日時、場所）｝）＆＆（＠食物）”を用いることで、中間シナリオ３００の“動作情報の動作対象”に適切な動作対象情報を記述する。なお、“＆＆”は「かつ」、“＠”は型（クラス）を示す。
【００４７】
また、知識ＩＤ４０１が“０３１”の知識適応条件４０２“＊”は、いかなる場合も適応することを表しているので、シナリオ編集部１１１ｂは、いかなる場合でも外界情報取得部１１３に、日時に行動を共にしていた人物を表す外界情報４０３“ＥＮＣＯＵＮＴＥＲ｛＄（日時）｝”を要求する。次に、シナリオ編集部１１１ｂは、シナリオ編集規則４０４に従い、取得した“ＥＮＣＯＵＮＴＥＲ｛＄（日時）｝”という外界情報４０３を用いて、登場人物の名前に“＄（ＥＮＣＯＵＮＴＥＲ｛＄（日時）｝）”を記述する。このように、シナリオ編集部１１１ｂは、外界情報４０３として“ＥＮＣＯＵＮＴＥＲ｛＄（日時）｝”を用いることで、中間シナリオ３００に新たな登場人物を記述する。
【００４８】
このように、シナリオ編集部１１１ｂは、外界情報を用いて、中間シナリオ３００に不足している情報、つまり必要な情報を補い、中間シナリオ３００の内容を適切に編集した最終シナリオを生成する。すなわち、シナリオ編集部１１１ｂは、外界情報を用いて中間シナリオ３００に新たな情報を追加し、最終シナリオを生成する。また、シナリオ編集部１１１ｂは、シナリオ編集知識１１２ａを用いて中間シナリオ３００に不足する情報を補う（新たな情報を追加する）形態で最終シナリオの生成処理を行うので、シナリオ編集知識１１２ａを更新するだけで、シナリオ編集部１１１ｂの処理を更新することが可能になる。
【００４９】
次に、外界情報取得部１１３について説明する。
【００５０】
外界情報取得部１１３は、シナリオ編集部１１１ｂから要求された外界情報の取得方法を外界情報取得知識データベース（ＤＢ）１１４から得て、外界情報蓄積部１１５から、または通信部１１７を用いてネットワーク１０６を介して外界情報蓄積装置１０４から、外界情報を取得する。外界情報取得部１１３は、外界情報取得知識データベース１１４に格納された外界情報取得知識を用いて取得した外界情報を、要求元であるシナリオ編集部１１１ｂに提供する。
【００５１】
実施の形態１における外界情報取得知識データベース１１４に格納された外界情報取得知識について、図５を用いて説明する。図５は、外界情報の取得先を示した外界情報取得知識の一例を示す図である。
【００５２】
図５に示すように、外界情報取得知識１１４ａは、外界情報の種類を表す外界情報種類５０１と、外界情報の取得手段を表す取得先機器５０２と、取得先機器５０２から取得する情報名５０３と、の組によって構成される。外界情報取得知識１１４ａ記述される取得先機器５０２には、例えば、図１に示す外界情報蓄積装置１０４が設けられている。
【００５３】
例えば、場所情報を表す外界情報種類５０１である“ＬＯＣＡＴＩＯＮ”の取得先機器５０２は、ＧＰＳ（Global Positioning System）機器、携帯電話、ＲＦＩＤ（Radio Frequency Identification）通信機器、またはＰＤＡ（Personal Digital Assistant）である。そして、その取得先機器５０２から取得する情報名５０３は、ＧＰＳ機器の場合は“ＬＯＣＡＴＩＯＮ．ＬＯＧ”、携帯電話の場合は“ＢＡＳＥＳＴＡＴＩＯＮＡＲＥＡ．ＬＯＧ”、ＲＦＩＤ通信機器の場合は“ＧＡＴＥＮＡＭＥ．ＬＯＧ”、ＰＤＡの場合は“予定表アプリケーション＄（日時）．場所”となる。また、場所情報を表す外界情報種類５０１“ＬＯＣＡＴＩＯＮ”の取得先機器５０２は、図中でより上位に記述されている方の優先度がより高く設定されている。
【００５４】
また、日付情報を表す外界情報種類５０１である“ＤＡＴＥ”の取得先機器５０２は、“＊”と記述されている。これは、情報名５０３“ＣＬＯＣＫ．ＤＡＴＥ”を問い合わせることが可能であれば、どのような機器でも良いことを表している。
【００５５】
なお、外界情報取得部１１３により取得先機器５０２から外界情報種類５０１を取得しようとする際に、当該機器と一時的に通信が不能であったり、当該機器が所望の外界情報を一時的に取得できないといった事態が発生する可能性がある。このような事態でも外界情報取得部１１３が外界情報を取得できるように、外界情報蓄積部１１５は、定期的に、通信部１１７を介して、外界情報取得知識１１４aで指定される各情報を収集し、収集した情報を蓄積する。外界情報取得部１１３は、取得先機器５０２から直接に情報を取得できない場合には、外界情報蓄積部１１５に対し、情報名５０３を指定して所望の外界情報１１６を取得する。または、外界情報取得部１１３は、常に外界情報蓄積部１１５から外界情報１１６を取得するようにしてもよい。これにより、より確実に必要な外界情報１０５、１１６を取得することができるとともに、外界情報蓄積部１１５から外界情報１１６を取得する場合には処理の高速化を図ることができる。
【００５６】
次に、取得先機器５０２から取得する情報の具体例について、図６を用いて説明する。図６は、ＲＦＩＤ通信機器から取得される情報名５０３“ＧＡＴＥＮＡＭＥ．ＬＯＧ”の外界情報の一例を示す図である。
【００５７】
図６に示すように、取得先機器５０２“ＲＦＩＤ通信機器”から取得される情報名５０
３“ＧＡＴＥＮＡＭＥ．ＬＯＧ”の外界情報を示す内容６０１には、日付と、場所の組が複数記述されている。
【００５８】
また、図１に示す通信部１１７は、ネットワーク１０６に接続して通信する通信手段である。
【００５９】
このように、シナリオ生成装置１０１は、シナリオ編集部１１１ｂにおいて、シナリオ編集知識１１２ａの指示内容に従い、外界情報取得部１１３を用いて外界情報を取得し、取得した外界情報を用いて中間シナリオを編集する。これにより、シナリオ生成装置１０１は、中間シナリオの内容を不足なく十分に記述した最終シナリオ、つまり、中間シナリオに内容を追加した最終シナリオを生成する。そして、シナリオ編集部１１１ｂは、通信部１１７を介して、生成した最終シナリオをグラフィックス生成装置１０２に送る。
【００６０】
ここで、実施の形態１における最終シナリオについて、図７を用いて説明する。図７は、最終シナリオの一例を示す図である。
【００６１】
図７に示す最終シナリオ７００は、図３に示す中間シナリオに対して、シナリオ編集部１１１ｂがシナリオ編集知識１１２ａを用いて編集したものである。
【００６２】
図７に示すように、最終シナリオ７００には、外界情報取得部１１３から取得した情報が記述される。ここでは、“場面情報の場所”に“＄（横浜、Ａ中華料理店）”、“場面情報の環境”に“＄（雨）、＄（１０℃）”、“登場人物情報の人物１：（属性、属性値）”に“＄（性別、男性）、＄（年齢、２５歳）”、追加された登場人物として、“登場人物情報の人物２：名前”に“＄（花子）”、“登場人物情報の人物２：（属性、属性値）”に“＄（性別、女性）”、“動作情報の動作対象”に“＄（Ｂセット）”がそれぞれ記述される。
【００６３】
このように、最終シナリオ７００は、外界情報を用いて中間シナリオ３００を編集したものになっている。
【００６４】
次に、グラフィックス生成装置１０２について、説明する。
【００６５】
グラフィックス生成装置１０２は、シナリオ生成装置１０１から出力された最終シナリオ７００から、場面情報、登場人物情報、動作情報を入力する。そして、グラフィックス生成装置１０２は、入力した場面情報に対するシーンデータと、登場人物情報に対するキャラクターデータと、動作情報に対する動作データとを生成し、それらを用いてアニメーションを生成する。さらに、グラフィックス生成装置１０２は、生成したアニメーションを表示装置１０３に送る。表示装置１０３は、送られてきたアニメーションを表示する。
【００６６】
以上のように、アニメーション作成システム１００は構成されている。
【００６７】
次に、アニメーション作成システム１００の動作について説明する。
【００６８】
まず、シナリオ生成装置１０１の動作について図８を用いて説明する。図８は、シナリオ生成装置１０１の動作を示すフローチャートである。
【００６９】
まず、シナリオ生成装置１０１は、入力部１０８において、ユーザーの入力文であるユーザー入力文１０７、例えば「昨日のお昼、私は外で食事しました。」を入力する（ＳＴ７０１）。入力部１０８は、入力したユーザー入力文１０７を、入力文解析部１０９に送る。
【００７０】
次に、入力文解析部１０９は、送られてきたユーザー入力文１０７を形態素解析し、入力文解析辞書１１０ａの指示内容に従いユーザー入力文１０７を解析し、その結果をシナリオ生成部１１１ａへ出力する（ＳＴ７０２）。例えば、「昨日のお昼、私は外で食事しました。」というユーザー入力文１０７の場合、入力文解析部１０９は、“場面情報の日時”として“＄（昨日）”と“＄（１２：００頃）”を抽出し、“登場人物情報の名前”および“動作情報の動作主”として“＄（ＵＳＥＲ）”を抽出し、また、“動作情報の動作”として“＄（食べる）”を抽出する。そして、入力文解析部１０９は、抽出結果をシナリオ生成部１１１ａへ出力する。
【００７１】
なお、入力文解析部１０９が用いる自然言語解析の手法や語彙辞書の内容については、一般的に行われているものを流用すればよいため、説明は省略する。
【００７２】
次に、シナリオ生成部１１１ａは、ＳＴ７０２の処理で得られた入力文解析結果を中間シナリオ３００として記述する（ＳＴ７０３）。
【００７３】
例えば、入力文解析部１０９が出力する“＄（昨日）”と“＄（１２：００頃）”という情報には、この情報が“場面情報の日時”であることを表す情報が付与されている。したがって、シナリオ生成部１１１ａは、この付与情報を基に、中間シナリオ３００の“場面情報の日時”として、“＄（昨日）”と“＄（１２：００頃）”を記述する。また、“＄（ＵＳＥＲ）”という情報には、この情報が“登場人物情報”を表すことを意味する情報が付与されている。したがって、シナリオ生成部１１１ａは、この付与情報を基に、シナリオの“登場人物情報の名前”として、“＄（ＵＳＥＲ）”を記述する。また、“＄（食べる）”という情報には、この情報が“動作情報”を表すことを意味する情報が付与されている。したがって、シナリオ生成部１１１ａは、この付与情報を基に、シナリオの“動作情報の動作／状態”として“＄（食べる）”を記述する。シナリオ生成部１１１ａは、このようにして生成した中間シナリオ３００を、シナリオ編集部１１１ｂへ出力する。
【００７４】
次に、シナリオ編集部１１１ｂは、シナリオ編集知識１１２ａを参照し（ＳＴ７０４）、シナリオ生成部１１１ａから入力された中間シナリオ３００に対応する知識適応条件４０２があるかどうかを判定する（ＳＴ７０５）。ＳＴ７０５において、中間シナリオ３００に対応する知識適応条件４０２が無い場合（ＳＴ７０５：ＮＯ）、シナリオ編集部１１１ｂは、中間シナリオ３００を、シナリオ生成装置１０１が出力する最終シナリオ７００として出力する（ＳＴ７０６）。
【００７５】
一方、ＳＴ７０５において、中間シナリオ３００に対応する知識適応条件４０２がある場合（ＳＴ７０５：ＹＥＳ）、シナリオ編集部１１１ｂは、シナリオ編集知識１１２ａに記述された取得すべき外界情報４０３を、外界情報取得部１１３に要求する。
【００７６】
例えば、中間シナリオ３００においては、“場面情報の場所”および“場面情報の環境”、“登場人物情報の人物１：（属性、属性値）”、および“動作情報の動作対象”が未定義である。すなわち、中間シナリオ３００は、シナリオ編集知識１１２ａの知識ＩＤ“０００”、“０２０”、“０４０”、“０５０”に該当する。このため、シナリオ編集部１１１ｂは、外界情報取得部１１３に、外界情報４０３で指定された外界情報である、“ＬＯＣＡＴＩＯＮ｛＄（日時）｝”、“ＷＥＡＴＨＥＲ｛＄（日時、場所）｝”、“ＰＲＯＦＩＬＥ｛＄（名前）｝”、および“（ＲＥＣＥＩＰＴ｛＄（日時、場所）｝）＆＆（＠食物）”を要求する。
【００７７】
これに対して、外界情報取得部１１３は、外界情報取得知識１１４ａを参照し（ＳＴ７０７）、要求された外界情報に対応する取得先機器５０２および情報名５０３を取得する
。そして、外界情報取得部１１３は、取得した取得先機器５０２と情報名５０３で示された情報を、外界情報蓄積部１１５から、または通信部１１７を用いてネットワーク１０６を介して外界情報蓄積装置１０４から取得し、シナリオ編集部１１１ｂに送る（ＳＴ７０８）。
【００７８】
具体的には、外界情報取得部１１３は、“ＬＯＣＡＴＩＯＮ｛＄（日時）｝”を、ＧＰＳ機器の“ＬＯＣＡＴＩＯＮ．ＬＯＧ”、携帯電話の“ＢＡＳＥＳＴＡＴＩＯＮＡＲＥＡ．ＬＯＧ”、ＲＦＩＤ通信機器の“ＧＡＴＥＮＡＭＥ．ＬＯＧ”、またはＰＤＡの“予定表アプリケーション＄（日時）．場所”から取得する。また、外界情報取得部１１３は、“ＷＥＡＴＨＥＲ｛＄（日時、場所）｝”を、通信機器の“ＵＲＩ：Ｗｅａｔｈｅｒ．ｃｏｍ／＄（ＬＯＣＡＴＩＯＮ）／＄（日時）”から、“ＰＲＯＦＩＬＥ｛＄（名前）｝”をメール機器の“ＡＤＲＤＥＳＳ．ＰＲＯＦＩＬＥ．＄（名前）”から、“（ＲＥＣＥＩＰＴ｛＄（日時、場所）｝）＆＆（＠食物）”を電子マネー機器搭載機器の“ＲＥＣＥＩＰＴ．ＬＯＧ”から取得する。
【００７９】
次に、シナリオ編集部１１１ｂは、ＳＴ７０８で取得した外界情報をシナリオ編集知識１１２ａのシナリオ編集規則４０４に当てはめて、中間シナリオ３００に記述する（ＳＴ７０９）。
【００８０】
そして、シナリオ編集部１１１ｂは、再度ＳＴ７０４へ戻ってＳＴ７０５の判定を行い、ＳＴ７０９で生成したシナリオに対応するシナリオ編集知識１１２ａの知識適応条件４０２が無くなるまで、ＳＴ７０４、ＳＴ７０５、ＳＴ７０７〜ＳＴ７０９を繰り返す。そして、ＳＴ７０９で生成したシナリオに対応するシナリオ編集知識１１２ａの知識適応条件４０２が無くなった場合（ＳＴ７０５：ＮＯ）、シナリオ編集部１１１ｂは、前述のようにＳＴ７０６の処理により最終シナリオ７００を出力する。
【００８１】
以上のように、シナリオ生成装置１０１は、ユーザー入力文１０７と、外界情報蓄積装置１０４から、または外界情報蓄積部１１５から得た外界情報１１６、を基に、アニメーションを作成するためのシナリオを生成し、グラフィックス生成装置１０２に出力する。
【００８２】
次に、グラフィックス生成装置１０２の動作について、図９を用いて説明する。図９はグラフィックス生成装置１０２の動作を示すフローチャートである。
【００８３】
まず、グラフィックス生成装置１０２は、シナリオ生成装置１０１が生成した最終シナリオ７００を取得する（ＳＴ８０１）。
【００８４】
次に、グラフィックス生成装置１０２は、最終シナリオ７００に記述された場面情報を基に、場面データを作成する（ＳＴ８０２）。例えば、最終シナリオ７００において、“場面情報の場所”として“＄（横浜.Ａ中華料理店）”が記述され、“場所情報の環境”として“＄（雨）”が記述されている。したがって、グラフィックス生成装置１０２は、中華料理店の場面データと雨模様の背景を表す場面データを生成する。
【００８５】
次に、グラフィックス生成装置１０２は、最終シナリオ７００に記述された登場人物情報を基に、キャラクターデータを生成する（ＳＴ８０３）。例えば、最終シナリオ７００において、“登場人物情報の人物１：（属性、属性値）”として“＄（性別、男性）、＄（年齢、２５歳）”が記述されているので、グラフィックス生成装置１０２は、男性で２０歳代のキャラクターを生成する。
【００８６】
次に、グラフィックス生成装置１０２は、最終シナリオ７００に記述された動作情報を基に、動作データを生成する（ＳＴ８０４）。例えば、最終シナリオ７００において、“
動作情報の動作／状態”として“＄（食べる）”が記述されているので、グラフィックス生成装置１０２は、ＳＴ８０３で生成したキャラクターデータが食べる動作を表すような動作データを生成する。
【００８７】
次に、グラフィックス生成装置１０２は、ＳＴ８０２〜ＳＴ８０４において生成した、場面データ、キャラクターデータ、動作データを用いてアニメーションを生成し（ＳＴ８０５）、表示装置１０３に出力する（ＳＴ８０６）。
【００８８】
以上のように、グラフィックス生成装置１０２は、シナリオ生成装置１０１で生成された最終シナリオ７００を基に、アニメーションを生成する。
【００８９】
以上説明したように、実施の形態１によれば、ユーザー入力文１０７から作成される中間シナリオ３００に、中間シナリオ３００の用語から想起される情報を追加する形で、最終シナリオ７００を生成する。したがって、たとえば、中間シナリオ３００からコンピュータ・グラフィックスを生成する上で必要な情報が取得できなくても、つまり中間シナリオ３００に情報の不足があっても、外界情報１０５、１１６を用いて、必要な情報を編集することで補うことができる。この結果、中間シナリオ３００から、表現力が向上したアニメーションを生成できる。
【００９０】
また、実施の形態１によれば、外界情報１０５、１１６は、シナリオのテキスト文の入力者の経験に基づく情報、日時情報、または環境情報のいずれか（少なくとも１つ）であるので、外界情報１０５、１１６を用いて中間シナリオ３００を補うことで、中間シナリオ３００を、テキスト文入力者が意図する形で、特に経験に基づく内容に近い表現で、補うことができる。すなわち、外界情報１０５、１１６を用いて中間シナリオ３００に情報を追加することで、テキスト文入力者の意図に沿った、より表現豊かなアニメーションを実現するための最終シナリオ７００を生成することができる。
【００９１】
なお、シナリオ生成装置１０１の行う処理をプログラムにし、汎用のコンピュータに実行させる形態でも良い。
【００９２】
（実施の形態２）
次に、本発明の実施の形態２に係るアニメーション作成システムについて説明する。実施の形態２に係るアニメーション作成システムは、ユーザー入力文からアニメーションを生成する上で必要な情報を外界情報から取得できなくても、外界情報からアニメーションを生成する上で必要な情報を生成するようにしたものである。
【００９３】
まず、実施の形態２に係るアニメーション作成システムについて図１０を用いて説明する。図１０は、実施の形態２に係るシナリオ生成装置を含むアニメーション作成システムの構成を示すブロック図である。なお、図１０において、図１と同じ構成要素については同じ符号を用い、その詳細な説明を省略する。
【００９４】
実施の形態２に係るアニメーション作成システム１０００のシナリオ生成装置１００１の構成は、実施の形態１に係るアニメーション作成システム１００のシナリオ生成装置１０１の構成と異なる。具体的には、アニメーション作成システム１０００のシナリオ生成装置１００１が、シナリオ編集部１００２、シナリオ編集知識データベース（ＤＢ）１００３、編集リソース生成部１００４、および編集リソース生成知識データベース（ＤＢ）１００５を備えた点が特徴である。
【００９５】
シナリオ編集部１００２は、シナリオ生成部１１１ａで生成された中間シナリオ３００に対し、シナリオ編集知識データベース１００３に格納されたシナリオ編集知識を用いて
、補足が必要な、場面情報、登場人物情報、動作情報を特定し、これらの情報を補足することで、中間シナリオ３００を編集する。換言すると、シナリオ編集部１００２は、中間シナリオ３００に追加すべき、場面情報、登場人物情報、動作情報を特定し、これらの情報を中間シナリオ３００に追加することで、中間シナリオ３００を編集する。シナリオ編集部１００２は、場面情報、登場人物情報、動作情報を編集する際に、シナリオ編集知識の記述に従い、編集リソース情報を編集リソース生成部１００４に、外界情報を外界情報取得部１１３に要求する。編集リソース情報とは、アニメーションを生成する上で必要な情報として、外界情報１０５、１１６を基にして生成される情報である。そして、シナリオ編集部１００２は、得られた編集リソース情報または外界情報に基づいて、場面情報、登場人物情報、動作情報を編集し、最終シナリオを生成し、グラフィックス生成装置１０２に出力する。
【００９６】
編集リソース情報は、外界情報を用いて生成される情報である。シナリオ編集部１００２は、シナリオ編集知識データベース１００３を参照し、外界情報を取得するか、編集リソース情報を取得するかを判断する。
【００９７】
編集リソース生成部１００４は、シナリオ編集部１００２に要求された編集リソース情報を生成する。具体的には、編集リソース生成部１００４は、編集リソース生成知識データベース１００５を参照し、必要な外界情報を外界情報取得部１１３から取得し、取得した外界情報を用いて編集リソース情報を生成する。
【００９８】
次に、シナリオ編集知識データベース１００３に格納されたシナリオ編集知識について、図１１を用いて説明する。図１１は、実施の形態２におけるシナリオ編集知識の一例を示す図である。シナリオ編集知識１００３ａは、どのような外界情報または編集リソース情報を取得すべきか、および取得した外界情報または編集リソース情報でシナリオをどのように編集すべきか、を表す。
【００９９】
図１１に示すように、シナリオ編集知識１００３ａは、知識ＩＤ１１０１、知識適応条件１１０２、外界情報１１０３、リソース情報１１０４、シナリオ編集規則１１０５、の組によって構成される。知識ＩＤ１１０１は、識別番号である。知識適応条件１１０２は、不足する情報に関する適応条件、つまり、中間シナリオ３００の用語から想起される情報を特定するための適応条件を記述する。外界情報１１０３は、条件に一致した場合に取得すべき外界情報を記述する。リソース情報１１０４は、知識適応条件１１０２に一致した場合に取得すべき編集リソース情報を記述する。シナリオ編集規則１１０５は、取得した外界情報１１０３または編集リソース情報１１０４を用いてどのようにシナリオを編集するかを示す。
【０１００】
なお、本実施の形態のシナリオ編集知識１００３ａの知識ＩＤ１１０１と、実施の形態１のシナリオ編集知識１１２ａの知識ＩＤ４０１は対応し、同一の知識ＩＤは同一の内容を示す。
【０１０１】
例えば、知識１Ｄ１１０１が“１００”の場合は、“場面情報が＄（店）である”という知識適応条件１１０２を持つ。そして、シナリオがこの知識適応条件１１０２に適応する場合には、シナリオ編集部１００２は、動作主が店を訪問した頻度を表す“訪問頻度｛＄（店）｝”という編集リソース情報１１０４を取得する。そして、シナリオ編集部１００２は、“訪問頻度｛＄（店）｝”をシナリオ編集規則１１０５に用いることで、シナリオを編集する。この場合には、シナリオ編集規則１１０５に従い、シナリオ編集部１００２は、“訪問頻度｛＄（店）｝”が“ＨＩＧＨ”の場合に“＄（店員）”をシナリオの“登場人物情報”に追加する。さらに、“訪問頻度｛＄（店）｝”が“ＨＩＧＨ”の場合には、シナリオ編集部１００２は、“動作主：＄（店員）”、“動作：＄（言う「毎度！」
）”、および“動作対象：＄（＄（ＵＳＥＲ））”を、シナリオに追加する。また、さらに、シナリオ編集部１００２は、“動作主：＄（店員）”、“動作：＄（右手を上げる）”、および“動作対象：＄（＄（ＵＳＥＲ））”を、シナリオに追加する。
【０１０２】
また、知識１Ｄ１１０１が“１０１”の場合は、“登場人物が複数である”という知識適応条件１１０２を持つ。そして、シナリオがこの知識適応条件１１０２に適応する場合には、シナリオ編集部１００２は、登場人物同士の親密度を示す“親密度｛＄（人物ａ）、＄（人物ｂ）｝”という編集リソース情報１１０４を取得する。そして、シナリオ編集部１００２は、“親密度｛＄（人物ａ）、＄（人物ｂ）｝”をシナリオ編集規則１１０５に用いることで、シナリオを編集する。この場合には、シナリオ編集規則１１０５に従い、シナリオ編集部１００２は、“親密度｛＄（人物ａ）、＄（人物ｂ）｝”が“ＨＩＧＨ”の場合に、“＄動作主：＄（人物ａ）”、“動作：＄（親しさを表現する動作）”、および“動作対象：＄（人物ｂ）”を、シナリオに追加する。
【０１０３】
また、知識１Ｄ１１０１が“１０２”の場合は、“動作対象が動作主以外の人物である”という知識適応条件１１０２を持つ。そして、シナリオがこの知識適応条件１１０２に適応する場合には、シナリオ編集部１００２は、動作主と、動作対象人物との親密度を示す“親密度｛＄（動作主）、＄（動作対象人物）｝”という編集リソース情報１１０４を取得する。そして、シナリオ編集部１００２は、“親密度｛＄（動作主）、＄（動作対象人物）｝”をシナリオ編集規則１１０５に用いることで、シナリオを編集する。この場合には、シナリオ編集規則１１０５に従い、シナリオ編集部１００２は、“動作：＄（謝る）”で、かつ親密度が“ＨＩＧＨ”であれば動作を“＄（土下座する）”に変換し、“動作：＄（謝る）”で、かつ親密度が“ＬＯＷ”であれば動作を“＄（お辞儀する）”に変換する。
【０１０４】
また、知識１Ｄ１１０１が“１０３”の場合は、“動作対象が動作主以外の人物である”という知識適応条件１１０２を持つ。そして、シナリオがこの知識適応条件１１０２に適応する場合には、シナリオ編集部１００２は、動作主が動作対象に対する動作の頻度を示す“動作頻度｛＄（動作主）、＄（動作）、＄（動作対象）｝”という編集リソース情報１１０４を取得する。そして、シナリオ編集部１００２は、“動作頻度｛＄（動作主）、＄（動作）、＄（動作対象）｝”をシナリオ編集規則１１０５に用いることで、シナリオを編集する。この場合には、シナリオ編集規則１１０５に従い、シナリオ編集部１００２は、“動作：＄（怒る）”で、かつ頻度が“ＨＩＧＨ”であれば動作を“＄（激怒する）”に変換し、“動作：＄（怒る）”で、かつ親密度が“ＬＯＷ”であれば動作を“＄（注意する）”に変換する。
【０１０５】
また、知識１Ｄ１１０１が“１０４”の場合は、動作情報の動作が“＄（移動する）“であるという知識適応条件１１０２を持つ。そして、シナリオがこの知識適応条件１１０２に適応する場合には、シナリオ編集部１００２は、移動速度を示す“移動速度｛＄（日時）｝”という編集リソース情報１１０４を取得する。そして、シナリオ編集部１００２は、“移動速度｛＄（日時）｝”をシナリオ編集規則１１０５に用いることで、シナリオを編集する。この場合には、シナリオ編集規則１１０５に従い、シナリオ編集部１００２は、速度が“ＨＩＧＨ”であれば動作を“＄（走る）”に変換し、速度が“ＬＯＷ”であれば動作を“＄（歩く）”に変換する。
【０１０６】
このように、シナリオ編集部１００２は、シナリオ編集知識１００３ａと、編集リソース情報とを用いて、シナリオの編集をする。また、シナリオ編集知識１００３ａを更新するだけで、シナリオ編集部１００２の処理を更新することが可能になる。
【０１０７】
次に、編集リソース生成知識データベース１００５に格納された編集リソース生成知識
について、図１２を用いて説明する。図１２は、実施の形態２における、要求された編集リソース情報を外界情報から生成するための編集リソース生成知識１００５ａの一例を示した図である。
【０１０８】
図１２に示すように、編集リソース生成知識１００５ａは、編集リソース情報の種類を表す編集リソース種類１２０１と、生成する元情報となる他の外界情報を表す取得外界情報１２０３と、取得外界情報１２０３から要求された編集リソースを生成するための規則を表す生成規則１２０２と、の組によって構成される。
【０１０９】
また、編集リソース生成知識１００５ａの外界情報種類１２０１における“親密度”に対して、対応する取得外界情報１２０３と生成規則１２０２が２種類存在する。これは、編集リソース生成部１００４がいずれの知識を選択しても良いことを表している。
【０１１０】
例えば、シナリオ生成者と他の人物との“親密度”の編集リソース情報が要求された場合には、編集リソース生成部１００４は、編集リソース生成知識１００５ａに従い、外界情報取得部１１３に対し、取得外界情報１２０３である“ＧＲＯＵＰ｛＄（人物）｝”を要求する。“ＧＲＯＵＰ｛＄（人物）｝”という外界情報は、“＄（人物）”が、シナリオ生成者の交流関係の中でどのようなグループに分類されているかを表している。編集リソース生成部１００４は、生成規則１２０２に従い、外界情報取得部１１３に要求した外界情報“ＧＲＯＵＰ｛＄（人物）｝”が“ＰＲＩＶＡＴＥ”を表していた場合には、編集リソース情報“親密度”に対応して、“ＨＩＧＨ”という値を、シナリオ編集部１００２に返す。また、外界情報取得部１１３に要求した外界情報“ＧＲＯＵＰ｛＄（人物）｝”が“ＰＵＢＬＩＣ”を表していた場合には、編集リソース生成部１００４は、編集リソース情報“親密度”に対応して、“ＬＯＷ”という値を、シナリオ編集部１００２に返す。
【０１１１】
また、シナリオ生成者と他の人物との“親密度”の編集リソース情報が要求された場合には、編集リソース生成部１００４は、編集リソース生成知識１００５ａに従い、外界情報取得部１１３に対し、取得外界情報１２０３である“ＲＥＣＥＩＶＥＤＭＡＩＬ｛＄（日時）、＄（日時）−１月｝”を要求するようにしてもよい。これは、“＄（日時）”までの一ヶ月間の“＄（人物）”からシナリオ生成者へのメール数を表している。編集リソース生成部１００４は、生成規則１２０２に従い、外界情報取得部１１３に要求した外界情報“ＲＥＣＥＩＶＥＤＭＡＩＬ｛＄（日時）、＄（日時）−１月｝”に“＄（人物）”が“１００件以上”のメールを送っていることが表されている場合には、編集リソース情報“親密度”が“ＨＩＧＨ”であるという値を、シナリオ編集部１００２に返す。また、外界情報取得部１１３に要求した外界情報“ＲＥＣＥＩＶＥＤＭＡＩＬ｛＄（日時）、＄（日時）−１月｝”に“＄（人物）”が“１００件未満”のメールを送っていることが表されている場合には、編集リソース生成部１００４は、編集リソース情報“親密度”が“ＬＯＷ”であるという値を、シナリオ編集部１００２に返す。
【０１１２】
また、シナリオ生成者の“訪問頻度”の編集リソース情報が要求された場合には、編集リソース生成部１００４は、編集リソース生成知識１００５ａに従い、外界情報取得部１１３に対し、取得外界情報１２０３である“ＬＯＣＡＴＩＯＮ．ＬＯＧ｛＄（日時）、＄（日時）−１月｝”を要求する。これは、“＄（日時）”までの一ヶ月間の訪問回数を表している。編集リソース生成部１００４は、生成規則１２０２に従い、外界情報取得部１１３に要求した外界情報“ＬＯＣＡＴＩＯＮ．ＬＯＧ｛＄（日時）、＄（日時）−１月｝”が“４回以上”の場合には、編集リソース情報“訪問頻度”が“ＨＩＧＨ”であるという値を、シナリオ編集部１００２に返す。また、外界情報取得部１１３に要求した外界情報“ＬＯＣＡＴＩＯＮ．ＬＯＧ｛＄（日時）、＄（日時）−１月｝”が“４回未満”の場合には、編集リソース生成部１００４は、編集リソース情報“訪問頻度”が“ＬＯＷ”であるという値を、シナリオ編集部１００２に返す。
【０１１３】
また、シナリオ生成者の他の人物に対する“動作頻度”の編集リソース情報が要求された場合には、編集リソース生成部１００４は、編集リソース生成知識１００５ａに従い、外界情報取得部１１３に対し、取得外界情報１２０３である“ＳＥＮＤＭＡＩＬ｛｛＄（日時）、＄（日時）−１月｝｝”を要求する。これは、“＄（日時）”までの一ヶ月間の送信メール数を表している。編集リソース生成部１００４は、生成規則１２０２に従い、外界情報取得部１１３に要求した外界情報“ＳＥＮＤＭＡＩＬ｛｛＄（日時）、＄（日時）−１月｝｝”に“｛＄（動作主）、＄（動作）、＄（動作対象）｝”の記述が“４回以上”の場合には、“動作頻度”は“ＨＩＧＨ”であるという値を、シナリオ編集部１００２に返す。また、外界情報取得部１１３に要求した外界情報“ＳＥＮＤＭＡＩＬ｛｛＄（日時）、＄（日時）−１月｝｝”に“｛＄（動作主）、＄（動作）、＄（動作対象）｝”の記述が“４回未満”の場合には、編集リソース生成部１００４は、“動作頻度”は“ＬＯＷ”であるという値を、シナリオ編集部１００２に返す。
【０１１４】
また、シナリオ生成者の“移動速度”の編集リソース情報が要求された場合には、編集リソース生成部１００４は、編集リソース生成知識１００５ａに従い、外界情報取得部１１３に対し、取得外界情報１２０３である“ＬＯＣＡＴＩＯＮ．ＬＯＧ｛＄（日時）、＄（日時）−１分｝”を要求する。これは、“＄（日時）”の位置と“＄（日時）”から１分前の位置によって、１分間に移動した距離を表している。編集リソース生成部１００４は、生成規則１２０２に従い、外界情報取得部１１３に要求した外界情報“ＬＯＣＡＴＩＯＮ．ＬＯＧ｛＄（日時）、＄（日時）−１分｝”が“２００ｍ以上”の場合には、“移動速度”は“ＨＩＧＨ”であるという値を、シナリオ編集部１００２に返す。また、外界情報取得部１１３に要求した外界情報“ＬＯＣＡＴＩＯＮ．ＬＯＧ｛＄（日時）、＄（日時）−１分｝”が“２００ｍ未満”の記述が“２００ｍ以上”の場合には、編集リソース生成部１００４は、“移動速度”は“ＨＩＧＨ”であるという値を、シナリオ編集部１００２に返す。
【０１１５】
以上のように、実施の形態２に係るシナリオ生成装置１００１は構成されている。ここで、シナリオ生成装置１００１が、実施の形態１の図３に示す中間シナリオ３００に対して編集を行った場合に生成する最終シナリオの一例を図１３に示す。図１３に示す最終シナリオ１３００には、“場面情報の場所”として“＄（横浜、Ａ中華料理店）”が、“場面情報の環境”として“＄（雨）、＄（１０℃）”が、“登場人物情報の人物１：（属性、属性値）”として“＄（性別、男性）、＄（年齢、２５歳）”が、追加された“登場人物の名前”として“＄（花子）”が、追加された“登場人物の属性”として“＄（性別、女性）”、“動作情報の動作対象”として“＄（Ｂセット）”が記述される。これらは、外界情報取得部１１３から取得した情報であり、中間シナリオ３００に記述されていない情報である。また、最終シナリオ１３００には、外界情報そのものでなく、外界情報を用いて生成された編集リソース情報に基づいて、“＄（店員）”という名前の登場人物、動作情報として、動作主“＄（店員）”、動作対象“＄（一郎）”、動作／状態“＄（言う「毎度！」）”という記述がなされている。さらに、最終シナリオ１３００には、編集リソース情報に基づき、動作情報として、動作主“＄（花子）”、動作対象“＄（一郎）”、動作／状態“＄（微笑む）”という記述がなされている。
【０１１６】
このように、シナリオ生成装置１００１は、入力されたユーザー入力文に不足な情報を外界情報や編集リソースで補い、ユーザーの所望するアニメーションを作成するために十分なシナリオを生成する。換言すると、シナリオ生成装置１００１は、ユーザー入力文によって生成される中間シナリオ３００の用語から想起される情報を、外界情報や編集リソースを用いて中間シナリオ３００に追加し、シナリオを編集する。
【０１１７】
次に、シナリオ生成装置１００１の動作について説明する。図１４は、実施の形態２に
係るシナリオ生成装置１００１の動作を示すフローチャートである。
【０１１８】
まず、シナリオ生成装置１００１は、入力部１０８において、ユーザーの入力文であるユーザー入力文１０７を入力する（ＳＴ１４０１）。入力部１０８は、入力したユーザー入力文１０７を、入力文解析部１０９に送る。
【０１１９】
次に、入力文解析部１０９は、送られてきたユーザー入力文１０７を形態素解析し、入力文解析辞書１１０ａに従い入力文を解析し、その結果をシナリオ編集部１００２に出力する（ＳＴ１４０２）。次に、シナリオ編集部１００２は、ＳＴ１４０２の処理で得られた入力文解析結果を中間シナリオ３００として記述する（ＳＴ１４０３）。
【０１２０】
次に、シナリオ編集部１００２は、シナリオ編集知識１００３ａを参照し（ＳＴ１４０４）、ＳＴ１４０３で生成された中間シナリオ３００に対応する知識適応条件１１０２があるかどうかを判定する（ＳＴ１４０５）。ＳＴ１４０３で生成した中間シナリオ３００に対応する知識適応条件１１０２が無いと判定した場合には（ＳＴ１４０５：ＮＯ）、シナリオ編集部１００２は、中間シナリオ３００を、シナリオ生成装置１００１が出力する最終シナリオとして出力する（ＳＴ１４０６）。
【０１２１】
一方、ＳＴ１４０３で生成した中間シナリオ３００に対応する知識適応条件１１０２があると判定した場合には（ＳＴ１４０５：ＹＥＳ）、シナリオ編集部１００２は、判定した知識適応条件１１０２に対応する情報が、外界情報１１０３か編集リソース情報１１０４かを判断する（ＳＴ１４０７）。
【０１２２】
ＳＴ１４０７において対応する情報が外界情報１１０３であると判断した場合には（ＳＴ１４０７：外界情報）、シナリオ編集知識１００２ａに記述された取得すべき外界情報１１０３を、外界情報取得部１１３に要求する。
【０１２３】
これに対して、外界情報取得部１１３は、外界情報取得知識１１４ａを参照し（ＳＴ１４０８）、要求された外界情報に対応する取得先機器５０２および情報名５０３を取得する。そして、外界情報取得部１１３は、取得した取得先機器５０２と情報名５０３で示された情報を、外界情報蓄積部１１５から、または通信部１１７を用いてネットワーク１０６を介して外界情報蓄積装置１０４から取得し、シナリオ編集部１００２に送る（ＳＴ１４０９）。
【０１２４】
次に、シナリオ編集部１００２は、ＳＴ１４０９で取得した外界情報をシナリオ編集知識１００３ａのシナリオ編集規則１１０５に当てはめて、最終シナリオ１３００に記述する（ＳＴ１４１０）。
【０１２５】
そして、シナリオ編集部１００２は、再度ＳＴ１４０４へ戻ってＳＴ１４０５の判定を行う。
【０１２６】
一方、ＳＴ１４０７において対応する情報が編集リソース情報１１０４であると判断した場合には（ＳＴ１４０７：編集リソース情報）、シナリオ編集知識１００３ａに記述された取得すべき編集リソース情報１１０４を、編集リソース生成部１００４に要求する。
【０１２７】
これに対して、編集リソース生成部１００４は、編集リソース生成知識１００５ａを参照し（ＳＴ１４１１）、要求された編集リソース情報に対応する取得外界情報１２０３を認識する（ＳＴ１４１２）。次に、編集リソース生成部１００４は、認識した取得外界情報を外界情報取得部１１３に要求する。
【０１２８】
これに対して、外界情報取得部１１３は、外界情報取得知識１１４ａを参照し（ＳＴ１４１３）、要求された外界情報に対応する取得先機器５０２および情報名５０３を取得する。そして、外界情報取得部１１３は、取得した取得先機器５０２情報名５０３で示された外界情報を、外界情報蓄積部１１５から、または通信部１１７を用いてネットワーク１０６を介して外界情報蓄積装置１０４から取得し、編集リソース生成部１００４に送る（ＳＴ１４１４）。
【０１２９】
次に、編集リソース生成部１００４は、シナリオ編集部１００２に要求された編集リソース情報１１０４に対応する生成規則１２０２を取得し、取得した生成規則１２０２にＳＴ１４１４で取得した外界情報を適用することにより、編集リソース情報を生成し、シナリオ編集部１００２に送る（ＳＴ１４１５）。
【０１３０】
シナリオ編集部１００２は、ＳＴ１４１５で取得した編集リソース情報をシナリオ編集知識１００３ａのシナリオ編集規則１１０５に当てはめて、最終シナリオ１３００に記述する（ＳＴ１４１６）。
【０１３１】
そして、シナリオ編集部１００２は、再度ＳＴ１４０４へ戻ってＳＴ１４０５の判定を行う。このようにして、ＳＴ１４１０で生成したシナリオに対応するシナリオ編集知識１００３ａの知識適応条件１１０２が無くなるまで、ＳＴ１４０４、ＳＴ１４０５、ＳＴ１４０７〜ＳＴ１４１６を繰り返す。
【０１３２】
このように、シナリオ編集部１００２は、中間シナリオ３００に不足する情報など、中間シナリオ３００の用語から想起される情報を、中間シナリオ３００に追加すべき情報として認識し、外界情報あるいは編集リソース情報を用いて、中間シナリオ３００に対し情報を追加する編集を行う。
【０１３３】
例えば、シナリオ編集部１００２が、ＳＴ１４０７〜ＳＴ１４１６において、図３に示す中間シナリオ３００を編集する場合について考える。まず、シナリオ編集部１００２は、ＳＴ１４０８〜ＳＴ１４１０において、中間シナリオ３００から最終シナリオ１３００を生成する。この処理は、実施の形態１におけるシナリオ編集部１１１ｂの処理と同じであるため、その詳細な説明を省略する。
【０１３４】
次に、シナリオ編集部１００２は、最終シナリオ１３００の“場面情報の場所”が“＄（横浜、Ａ中華料理店）”と“店”であることを表している為（ＳＴ１４０５）、シナリオ編集知識１００３ａの知識ＩＤ１１０１“１００”の知識適応条件１１０２に該当すると判別する（ＳＴ１４０７）。そのため、シナリオ編集部１００２は、シナリオ編集知識１００３ａの編集リソース情報１１０４を参照し、“訪問頻度｛＄（Ａ中華料理店））｝”が必要と判断し、編集リソース生成部１００４に要求する。“訪問頻度｛＄（Ａ中華料理店））｝”は、“Ａ中華料理店”に訪問した頻度を表している。
【０１３５】
これに対して、編集リソース生成部１００４は、編集リソース生成知識１００５ａを参照し（ＳＴ１４１１）、“訪問頻度｛＄（Ａ中華料理店））｝”に対応する取得外界情報１２０３である“ＬＯＣＡＴＩＯＮ．ＬＯＧ｛＄（日時）、＄（日時）−１月｝”を認識する（ＳＴ１４１２）。次に、編集リソース生成部１００４は、外界情報取得部１１３に、“ＬＯＣＡＴＩＯＮ．ＬＯＧ｛＄（日時）、＄（日時）−１月｝”の要求をする。
【０１３６】
これに対して、外界情報取得部１１３は、外界情報取得知識１１４ａを参照し（ＳＴ１４１３）、“ＬＯＣＡＴＩＯＮ．ＬＯＧ｛＄（日時）、＄（日時）−１月｝”に対応する取得先機器５０２であるＧＰＳ機器を認識し、ＧＰＳ機器から“ＬＯＣＡＴＩＯＮ．ＬＯＧ｛＄（日時）、＄（日時）−１月｝”を取得し、編集リソース生成部１００４に送る（
ＳＴ１４１４）。
【０１３７】
これに対して編集リソース生成部１００４は、取得した外界情報を編集リソース生成知識１００５ａの生成規則１２０２に適用し、編集リソース情報、この場合には、“訪問頻度：ＨＩＧＨ”を生成する（ＳＴ１４１５）。
【０１３８】
そして、シナリオ編集部１００２は、編集リソース生成部１００４から取得した編集リソース情報（“訪問頻度：ＨＩＧＨ”）をシナリオ編集規則１１０５ａに照らしあわせ、記述に従ったシナリオ編集を行う（ＳＴ１４１６）。この例の場合、シナリオ編集規則１１０５ａは、“訪問頻度｛＄（Ａ中華料理店））｝”が“ＨＩＧＨ”のときのみシナリオを編集することを表しているので、シナリオ編集部１００２は、シナリオの“登場人物情報”に“＄（店員）”を記述する。また、シナリオ編集規則１１０５ａは、シナリオの動作情報において、“動作主”に“＄（店員）”、“動作”に“＄（言う「毎度！」）”、“動作対象”に“＄（＄（ＵＳＥＲ））”を記述する。さらに、シナリオ編集規則１１０５ａは、シナリオの動作情報において、“動作主”に“＄（店員）”、“動作”に“＄（右手を上げる）”、“動作対象”に“＄（＄（ＵＳＥＲ））”を記述する。
【０１３９】
このように、シナリオ編集部１００２は、シナリオを外界情報だけで十分に補えない場合には、外界情報から編集リソースを生成し、編集リソースを用いてシナリオを補う。すなわち、シナリオ編集部１００２は、外界情報だけではシナリオに情報を追加できない場合には、外界情報から編集リソースを生成し、編集リソースを用いてシナリオを編集する。これにより、ユーザーが、外界情報を取得するために所有する外界情報蓄積部１１５や、通信可能範囲に存在する外界情報蓄積装置１０４が、外界情報を少ししか持っていなくても、出力されるシナリオの情報量を増やすことができる。
【０１４０】
また、上記したように、シナリオに複数の登場人物が記述される場合には、シナリオ編集部１００２は、シナリオ編集知識１００３ａの知識ＩＤ１１０１“１０１”の知識適応条件１１０２に該当すると判別する（ＳＴ１４０７）。そのため、シナリオ編集部１００２は、シナリオ編集知識１００３ａの編集リソース情報１１０４を参照し、“親密度｛＄（人物ａ）、＄（人物ｂ）｝”が必要と判断し、編集リソース生成部１００４に要求する。“親密度｛＄（人物ａ）、＄（人物ｂ）｝”は、登場人物間の親密度を表している。
【０１４１】
これに対して、編集リソース生成部１００４は、編集リソース生成知識１００５ａを参照し（ＳＴ１４１１）、“親密度｛＄（人物ａ）、＄（人物ｂ）｝”に対応する取得外界情報１２０３である“ＧＲＯＵＰ｛＄（人物）｝”と、“ＲＥＣＥＩＶＥＤＭＡＩＬ｛＄（日時）、＄（日時）−１月｝”を認識する（ＳＴ１４１２）。編集リソース生成部１００４は、上位に記述された“ＧＲＯＵＰ｛＄（人物）｝”を採用し、外界情報取得部１１３に、“ＧＲＯＵＰ｛＄（人物）｝”を要求する。
【０１４２】
これに対して、外界情報取得部１１３は、外界情報取得知識１１４ａを参照し（ＳＴ１４１３）、“ＧＲＯＵＰ｛＄（人物）｝”に対応する取得先機器５０２であるメール機器を認識し、メール機器の“ＡＤＤＲＥＳＳ．ＧＲＯＵＰ．＄（名前）”を取得する。そして、外界情報取得部１１３は、取得した“ＡＤＤＲＥＳＳ．ＧＲＯＵＰ．＄（名前）”を、“ＧＲＯＵＰ｛＄（人物）｝”として、編集リソース生成部１００４に送る（ＳＴ１４１４）。
【０１４３】
これに対して編集リソース生成部１００４は、取得した外界情報を編集リソース生成知識１００５ａの生成規則１２０２に適用し、編集リソース情報、この場合には、“親密度：ＨＩＧＨ”を生成する（ＳＴ１４１５）。
【０１４４】
そして、シナリオ編集部１００２は、編集リソース生成部１００４から取得した編集リソース情報をシナリオ編集規則１１０５に照らしあわせ、記述に従ったシナリオ編集を行う（ＳＴ１４１６）。この例の場合、“親密度｛＄（人物ａ）、＄（人物ｂ）｝”が“ＨＩＧＨ”の場合なので、シナリオ編集部１００２は、“動作主：＄（人物ａ）”として“花子”、“動作：Ｓ（親しさを表現する動作）”として“微笑む”、“動作対象：＄（人物ｂ）”として“一郎”を、シナリオに追加し、最終シナリオ１３００を編集する。
【０１４５】
このように、シナリオ編集部１００２は、アニメーションを生成する上で必要な情報を外界情報１０５、１１６から取得できなくても、外界情報１０５、１１６から編集リソースを生成し、編集リソース情報を用いて、ユーザーが意図する形に近い表現にシナリオを編集することができる。この結果、アニメーションの表現力を向上させることができる。
【０１４６】
以上説明したように、実施の形態２によれば、ユーザー入力文１０７からアニメーションを生成する上で必要な情報を取得できなくても、外界情報を解釈して、ユーザーが意図する形に近い表現にシナリオを編集することができる。
【０１４７】
さらに、実施の形態２によれば、アニメーションを生成する上で必要な情報が外界情報１０５、１１６から取得できなくても、外界情報１０５、１１６から編集リソースを生成し、編集リソース情報を用いて、ユーザーが意図する形に近い表現にすることができる。この結果、アニメーションの表現力を向上させることができる。
【０１４８】
また、実施の形態２によれば、シナリオを外界情報１０５、１１６だけで十分に補えない場合には、外界情報１０５、１１６から編集リソースを生成し、編集リソースを用いてシナリオを補える。すなわち、外界情報１０５、１１６だけではシナリオに情報を追加できない場合には、外界情報１０５、１１６から編集リソースを生成し、編集リソースを用いてシナリオに情報を追加することができる。これにより、ユーザーが外界情報を取得するために所有する外界情報蓄積部１１５や、通信可能範囲に存在する外界情報蓄積装置１０４が、外界情報を少ししか保持していなくても、出力されるシナリオの情報量を増やすことができる。つまり、予め蓄積する外界情報１０５、１１６の数が少なくて済むので、外界情報蓄積部１１５や通信可能範囲に存在する外界情報蓄積装置１０４の数を削減できる。
【０１４９】
なお、シナリオ生成装置１００１の動作をプログラムにし、汎用のコンピュータに行わせる形態であっても良い。
【０１５０】
以上説明したように、本発明に係るシナリオ生成装置は、ユーザーが作成したテキスト文に不足している情報を認識し、ユーザーが所持する機器や通信可能範囲に存在する機器から外界情報を取得し、取得した外界情報を用いて不足している情報を補い、シナリオを編集するようにした。具体的には、ユーザーが作成したテキスト文からシナリオを生成し、生成したシナリオの用語から想起される情報を、シナリオに追加すべき情報として認識し、ユーザーが所持する機器や通信可能範囲に存在する機器から外界情報を取得し、取得した外界情報を用いてシナリオに情報を追加し、シナリオを編集するようにした。
【０１５１】
したがって、本発明に係るシナリオ生成装置によれば、コンピュータ・グラフィックスを作成する上で必要な情報が入力文に記述されていなくても、入力文中に含まれる単語の意味表現を用い、外界情報を解釈して、ユーザーが入力した文に相応するコンピュータ・グラフィックス表現を生成するために必要な情報を補う（追加する）ことができる。また、生成されたシナリオに記述されている場面や動作に関する修飾を、外界情報から得られた値に基づいて最適化することが可能となる。このように生成されたシナリオからは、ユーザーが入力した文に対して、より高い表現力を持つコンピュータ・グラフィックスを生
み出すことが可能となる。すなわち、本発明に係るシナリオ生成装置は、コンピュータ・グラフィックスを作成するのに必要な技術も情報も無いユーザーであっても、容易に、高い表現力のコンピュータ・グラフィックスを作成することを可能とする。
【０１５２】
要するに、本発明の第１の態様に係るシナリオ生成装置は、入力文章に記述された単語の意味を示す表現および分類を解析結果として出力する解析部と、外界情報を蓄積する外界情報蓄積部と、前記解析結果と前記外界情報蓄積部から取得した前記外界情報とを用いてシナリオを編集するシナリオ編集部と、を具備した構成を採る。
【０１５３】
これにより、コンピュータ・グラフィックスを生成する上で必要な情報が入力文章に含まれていなくても、つまり入力文章だけからはシナリオが生成できなくても、外界情報を用いて、必要な情報を補いながらシナリオを生成することができる。この結果、情報が補われたシナリオを基に表現力が向上したグラフィックスを生成できる。
【０１５４】
本発明の第２の態様は、第１の態様に係るシナリオ生成装置において、前記外界情報は、入力文章作成者の経験に基づく情報、日時情報、もしくは環境情報のいずれかである。
【０１５５】
これにより、シナリオを入力文章作成者が意図する形、特に入力文章作成者の経験に基づく内容に近い表現で補うことができる。
【０１５６】
本発明の第３の態様は、第１の態様または第２の態様に係るシナリオ生成装置において、前記外界情報から編集リソース情報を生成する編集リソース生成部を具備し、前記シナリオ編集部は、さらに、前記編集リソース情報を用いてシナリオを編集する。
【０１５７】
これにより、外界情報からシナリオを補足するための編集リソース情報を生成することができる。この結果、例えば、シナリオを補足するための外界情報が取得できなくても、取得可能な他の外界情報から編集リソース情報を生成し、これを用いてシナリオを補足することが可能となる。また、このように、シナリオを補足するための編集リソース情報を生成するので、外界情報蓄積部にて予め蓄積しておく外界情報の量を削減できると共に、少ない外界情報から多くの編集リソース情報を得てシナリオを補足することが可能となる。
【０１５８】
本発明の第４の態様は、第１の態様から第３の態様のいずれかに係るシナリオ生成装置において、前記シナリオに与えるべき情報を特定するための知識適応条件と、前記与えるべき情報を得るために使用する前記外界情報と、前記使用する外界情報をどのように前記シナリオに追加するかを示す編集規則と、の組を複数格納したシナリオ編集知識を具備し、前記シナリオ編集部は、前記知識適応条件を用いて前記与えるべき情報を特定し、前記編集規則を用いて前記使用する外界情報を前記シナリオに追加する。
【０１５９】
これにより、シナリオ編集部はシナリオ編集知識と外界情報とを用いてシナリオを編集することができる。また、シナリオ編集知識を更新するだけで、シナリオ編集部の処理を更新することが可能になる。
【０１６０】
本発明の第５の態様は、第３の態様に係るシナリオ生成装置において、前記シナリオに与えるべき情報を特定するための知識適応条件と、前記与えるべき情報を得るために使用する前記編集リソース情報と、前記使用する編集リソース情報に基づいた情報をどのように生成し前記シナリオに追加するかの編集規則と、の組を複数格納したシナリオ編集知識を具備し、前記シナリオ編集部は、前記知識適応条件を用いて前記与えるべき情報を特定し、前記編集規則を用いて前記使用する編集リソース情報に基づく情報を生成し前記シナリオに追加する。
【０１６１】
これにより、シナリオ編集部はシナリオ編集知識と編集リソース情報とを用いてシナリオを編集することができる。また、シナリオ編集知識を更新するだけで、シナリオ編集部の処理を更新することが可能になる。
【０１６２】
本発明の第６の態様は、第３の態様または第５の態様に係るシナリオ生成装置において、前記編集リソース情報を生成するために使用する外界情報と、当該外界情報を用いて前記リソース情報を生成するための生成規則と、の組を複数格納した編集リソース生成知識と、前記シナリオ編集部から要求された前記編集リソース情報を前記編集リソース生成知識を用いて生成し、前記シナリオ編集部に送る編集リソース生成部と、を具備した構成を採る。
【０１６３】
これにより、シナリオを補足するための外界情報が取得できなくても、取得可能な他の外界情報から編集リソース情報を生成し、これを用いてシナリオを補足することが可能となる。
【０１６４】
本発明の第７の態様に係るコンピュータ・グラフィックス生成システムは、第１の態様から第６の態様のいずれかに記載のシナリオ生成装置と、前記シナリオ生成装置が出力したシナリオを用いてコンピュータ・グラフィックスを生成するグラフィックス生成装置と、を具備した構成を採る。
【０１６５】
これにより、シナリオ生成装置が生成したシナリオを用いたコンピュータ・グラフィックスを生成することができる。
【０１６６】
本発明の第８の態様は、入力文章に記述された単語の意味を示す表現および分類を解析結果として出力するステップと、外界情報を蓄積するステップと、前記解析結果を用いてシナリオを編集するステップと、前記外界情報を取得するステップと、前記外界情報を用いて前記シナリオを編集するステップと、を具備したことを特徴とするシナリオ生成方法である。
【０１６７】
本発明の第９の態様は、コンピュータに、入力文章に記述された単語の意味を示す表現および分類を解析結果として出力するステップと、外界情報を蓄積するステップと、前記解析結果を用いてシナリオを編集するステップと、前記外界情報を取得するステップと、前記外界情報を用いて前記シナリオを編集するステップと、を行わせることを特徴とするプログラムである。
【０１６８】
本明細書は、２００５年６月１０日出願の特願２００５−１７１４９２に基づく。この内容はすべてここに含めておく。
【産業上の利用可能性】
【０１６９】
以上説明したように、本発明によれば、アニメーション作成についての特別な知識を持たないユーザーが生成したシナリオから、このユーザーが所望する表現の豊かなコンピュータ・グラフィックスを生成するためのシナリオを生成することができる。本発明は、アニメーション作成の専用装置だけでなく、携帯電話や電子メールなどに適用することで、アニメーションを用いた情報伝達を行うことができる。
【図面の簡単な説明】
【０１７０】
【図１】本発明の実施の形態１に係るシナリオ生成装置を含むアニメーション作成システムの構成を示すブロック図
【図２】実施の形態１における入力文解析辞書の一例を示す図
【図３】実施の形態１における中間シナリオの一例を示す図
【図４】実施の形態１におけるシナリオ編集知識の一例を示す図
【図５】実施の形態１における外界情報取得知識の一例を示す図
【図６】実施の形態１における外界情報の一例を示す図
【図７】実施の形態１に係るシナリオ生成装置から出力される最終シナリオの一例を示す図
【図８】実施の形態１に係るシナリオ生成装置の動作を示すフローチャート
【図９】実施の形態１におけるグラフィックス生成装置の動作を示すフローチャート
【図１０】本発明の実施の形態２に係るシナリオ生成装置を含むコンピュータ・グラフィックス・アニメーション作成システムの構成を示すブロック図
【図１１】実施の形態２におけるシナリオ編集知識の一例を示す図
【図１２】実施の形態２における編集リソース生成知識の一例を示す図
【図１３】実施の形態２に係るシナリオ生成装置から出力される最終シナリオの一例を示す図
【図１４】実施の形態２に係るシナリオ生成装置の動作を示すフローチャート
【手続補正３】
【補正対象書類名】図面
【補正対象項目名】全図
【補正方法】変更
【補正の内容】
【図１】
2006132332.tif 000016
【図２】
2006132332.tif 000017
【図３】
2006132332.tif 000018
【図４】
2006132332.tif 000019
【図５】
2006132332.tif 000020
【図６】
2006132332.tif 000021
【図７】
2006132332.tif 000022
【図８】
2006132332.tif 000023
【図９】
2006132332.tif 000024
【図１０】
2006132332.tif 000025
【図１１】
2006132332.tif 000026
【図１２】
2006132332.tif 000027
【図１３】
2006132332.tif 000028
【図１４】
2006132332.tif 000029
【国際調査報告】
2006132332.tif 000030
2006132332.tif 000031