(57)【要約】【課題】  適切なベイジアンネットのモデルを作成できるモデル作成装置を提供する。【解決手段】  モデル作成装置１０は、確率的推論に適用されるベイジアンネットのモデルを作成する装置であって、複数の変数を有する統計データから変数間の依存関係を表すモデルを作成するモデル作成部１４と、作成されたモデルを表示する表示部１８と、モデル内の一の変数と一の変数が依存する親変数の候補の変数とを含む部分モデルについて、依存関係の異なる部分モデルへの変更を受け付ける受付部２０とを備える。モデル作成部１４は、部分モデルを作成する部分モデル作成部１６を有し、作成された部分モデルを接続して全体のモデルを作成すると共に、変数が同じで依存関係の異なる部分モデルのデータをモデルデータ記憶部２２に記憶する。【選択図】図２
2008226268.tif 000002
【特許請求の範囲】
【請求項１】
確率的推論に適用されるベイジアンネットのモデルを作成する装置であって、
複数の変数間の条件付確率に基づく依存関係を表すモデルを出力するモデル出力手段と、
前記モデル内の一の変数と前記一の変数が依存する親変数の候補の変数とを含む部分モデルについて、依存関係の異なる部分モデルへの変更を受け付ける変更受付手段と、
を備えることを特徴とするモデル作成装置。
【請求項２】
前記変更受付手段は、前記部分モデルの尤度に関するスコアに基づいて、採用する部分モデルの指定を受け付けることを特徴とする請求項１に記載のモデル作成装置。
【請求項３】
前記変更受付手段により受け付けた部分モデルの尤度に関するスコアを出力するスコア出力手段をさらに備えることを特徴とする請求項１に記載のモデル作成装置。
【請求項４】
前記スコアを算出するための複数の算出基準のうちから一の算出基準の選択を受け付ける算出基準受付手段と、
前記算出基準受付手段により受け付けた算出基準を用いて前記スコアを算出するスコア算出手段と、
を備えることを特徴とする請求項２または３に記載のモデル作成装置。
【請求項５】
前記モデル出力手段により出力されるモデルを、複数の変数を有する統計データから作成するモデル作成手段を備え、
前記モデル作成手段は、
前記複数の変数のうちの一の変数を子変数としたときにその子変数が依存する親変数の候補の変数を選択する変数選択手段と、
前記子変数および前記親変数の候補の変数を含む部分モデルを作成する部分モデル作成手段と、
作成された複数の前記部分モデルを接続してベイジアンネットのモデルを作成する部分モデル接続手段と、
を有することを特徴とする請求項１に記載のモデル作成装置。
【請求項６】
前記部分モデル作成手段は、
尤度に関するスコアに基づいて前記子変数と前記親変数の候補の変数との依存関係を決定し、部分モデルを作成することを特徴とする請求項５に記載のモデル作成装置。
【請求項７】
前記部分モデル作成手段により作成された部分モデルと前記子変数および前記親変数の候補の変数が同じでその依存関係が異なる複数の部分モデルを記憶する部分モデル記憶手段を備えることを特徴とする請求項５に記載のモデル作成装置。
【請求項８】
前記部分モデル作成手段により作成された部分モデルに含まれる親変数と子変数との依存関係に関する情報を求める依存関係情報算出手段を備え、
前記モデル出力手段は、前記モデル内の変数間を接続するリンクに、前記依存関係情報算出手段により求めた前記変数間の依存関係に関する情報を含めて出力することを特徴とする請求項５に記載のモデル作成装置。
【請求項９】
前記部分モデル作成手段により作成された部分モデルの前記親変数の候補の変数がとるすべての状態のそれぞれに対し、その子変数がとるすべての状態のそれぞれが発生する確率値を求める確率値算出手段と、
前記確率値を記憶する確率値記憶手段と、
を備えることを特徴とする請求項５に記載のモデル作成装置。
【請求項１０】
確率的推論に適用されるベイジアンネットのモデルを作成する装置であって、
複数の変数間の条件付確率に基づく依存関係を表すベイジアンネットのモデルを出力するモデル出力手段と、
前記変数間の依存関係の変更を受け付ける変更受付手段と、
を備え、
前記モデル出力手段は、変更されたベイジアンネットのモデルを出力することを特徴とするモデル作成装置。
【請求項１１】
ベイジアンネットのモデルに基づいて確率的推論を行う情報分析装置であって、
一の変数と前記一の変数が依存する親変数の候補の変数とを含む部分モデルについて、依存関係の異なる部分モデルへの変更を受け付けることによって作成されたベイジアンネットのモデルを記憶するモデル記憶手段と、
記憶された前記モデルに基づいて、観測された変数の状態から未観測の変数の状態を推論する推論手段と、
を備えることを特徴とする情報分析装置。
【請求項１２】
ユーザにコンテンツを提供する装置であって、
一の変数と前記一の変数が依存する親変数の候補の変数とを含む部分モデルについて、依存関係の異なる部分モデルへの変更を受け付けることによって作成され、ユーザに提供するコンテンツに関する変数およびユーザの評価に関する変数を含むベイジアンネットのモデルを記憶するモデル記憶手段と、
記憶された前記モデルに基づいて、コンテンツに関する変数からユーザの評価に関する変数を推論する推論手段と、
前記推論手段による推論結果に基づいてユーザの評価が最大となるコンテンツを選択するコンテンツ選択手段と、
選択されたコンテンツを前記ユーザに提供するコンテンツ提供手段と、
を備えることを特徴とするコンテンツ提供装置。
【請求項１３】
前記モデルは、前記ユーザの属性に関する変数および前記ユーザの現在の状況に関する変数の少なくとも一方をさらに含み、
前記推論手段は、前記モデルに基づいて、前記ユーザの属性に関する変数および前記ユーザの現在の状況に関する変数の少なくとも一方と前記コンテンツに関する変数とから、前記ユーザの評価に関する変数を推論する、
ことを特徴とする請求項１２に記載のコンテンツ提供装置。
【請求項１４】
確率的推論に適用されるベイジアンネットのモデルを作成する方法であって、
複数の変数間の条件付確率に基づく依存関係を表すモデルを記憶したモデル記憶手段から読み出したモデルを出力するモデル出力ステップと、
前記モデル内の一の変数と前記一の変数が依存する親変数の候補の変数とを含む部分モデルについて、依存関係の異なる部分モデルへの変更を受け付け、受け付けた変更を前記モデル記憶手段に書き込む変更受付ステップと、
を備えることを特徴とするモデル作成方法。
【請求項１５】
前記変更受付ステップは、前記部分モデルの尤度に関するスコアに基づいて、採用する部分モデルの指定を受け付けることを特徴とする請求項１４に記載のモデル作成方法。
【請求項１６】
前記変更受付ステップにおいて受け付けた部分モデルの尤度に関するスコアを出力するスコア出力ステップをさらに備えることを特徴とする請求項１４に記載のモデル作成方法。
【請求項１７】
前記スコアを算出するための複数の算出基準のうちから一の算出基準の選択を受け付ける算出基準受付ステップと、
前記算出基準受付ステップにおいて受け付けた算出基準を用いて前記スコアを算出するスコア算出ステップと、
を備えることを特徴とする請求項１５または１６に記載のモデル作成方法。
【請求項１８】
前記モデル出力ステップにおいて出力するモデルを、統計データ記憶手段から取得した複数の変数を有する統計データから作成するモデル作成ステップを備え、
前記モデル作成ステップは、
前記複数の変数のうちの一の変数を子変数としたときにその子変数が依存する親変数の候補の変数を選択する変数選択ステップと、
前記統計データから取得した前記子変数および前記親変数に関するデータに基づいて、前記子変数および前記親変数の候補の変数を含む部分モデルを作成する部分モデル作成ステップと、
作成された複数の前記部分モデルを接続してベイジアンネットのモデルを作成し、作成したモデルを前記モデル記憶手段に記憶する部分モデル接続ステップと、
を有することを特徴とする請求項１４に記載のモデル作成方法。
【請求項１９】
前記部分モデル作成ステップは、
尤度に関するスコアに基づいて前記子変数と前記親変数の候補の変数との依存関係を決定し、部分モデルを作成することを特徴とする請求項１８に記載のモデル作成方法。
【請求項２０】
前記部分モデル作成ステップにおいて作成された部分モデルと前記子変数および前記親変数の候補の変数が同じでその依存関係が異なる複数の部分モデルを前記部分モデル記憶手段に記憶する部分モデル記憶ステップを備えることを特徴とする請求項１８に記載のモデル作成方法。
【請求項２１】
前記部分モデル作成ステップにおいて作成された部分モデルに含まれる親変数と子変数との依存関係に関する情報を求める依存関係情報算出ステップを備え、
前記モデル出力ステップでは、前記モデル内の変数間を接続するリンクに、前記依存関係情報算出ステップにおいて求めた前記変数間の依存関係に関する情報を含めて出力することを特徴とする請求項１８に記載のモデル作成方法。
【請求項２２】
前記部分モデル作成ステップにおいて作成された部分モデルの前記親変数の候補の変数がとるすべての状態のそれぞれに対し、その子変数がとるすべての状態のそれぞれが発生する確率値を求める確率値算出ステップと、
前記確率値を前記部分モデルと共に前記部分モデル記憶手段に記憶する確率値記憶ステップと、
を備えることを特徴とする請求項１８に記載のモデル作成方法。
【請求項２３】
確率的推論に適用されるベイジアンネットのモデルを作成する方法であって、
複数の変数間の条件付確率に基づく依存関係を表すモデルを記憶したモデル記憶手段から読み出したモデルを出力するモデル出力ステップと、
前記変数間の依存関係の変更を受け付け、受け付けた変更を前記モデル記憶手段に書き込む変更受付ステップと、
を備え、
前記モデル出力ステップは、変更されたベイジアンネットのモデルを出力することを特徴とするモデル作成方法。
【請求項２４】
ベイジアンネットのモデルに基づいて確率的推論を行う情報分析方法であって、
一の変数と前記一の変数が依存する親変数の候補の変数とを含む部分モデルについて、依存関係の異なる部分モデルへの変更を受け付けることによって作成されたベイジアンネットのモデルをモデル記憶手段に記憶するステップと、
前記モデル記憶手段に記憶されたモデルに基づいて、観測された変数の状態から未観測の変数の状態を推論する推論ステップを備えることを特徴とする情報分析方法。
【請求項２５】
ユーザにコンテンツを提供する方法であって、
一の変数と前記一の変数が依存する親変数の候補の変数とを含む部分モデルについて、依存関係の異なる部分モデルへの変更を受け付けることによって作成され、ユーザに提供するコンテンツに関する変数およびユーザの評価に関する変数を含むベイジアンネットのモデルをモデル記憶手段に記憶するステップと、
前記モデル記憶手段に記憶されたモデルに基づいて、コンテンツに関する変数からユーザの評価に関する変数を推論する推論ステップと、
前記推論ステップにおける推論結果に基づいてユーザの評価が最大となるコンテンツを選択するコンテンツ選択ステップと、
選択されたコンテンツを前記ユーザに提供する提供ステップと、
を備えることを特徴とするコンテンツ提供方法。
【請求項２６】
前記ベイジアンネットのモデルは、前記ユーザの属性に関する変数および前記ユーザの現在の状況に関する変数の少なくとも一方をさらに含み、
前記推論ステップは、前記モデルに基づいて、前記ユーザの属性に関する変数および前記ユーザの現在の状況に関する変数の少なくとも一方と前記コンテンツに関する変数とから、前記ユーザの評価に関する変数を推論する、
ことを特徴とする請求項２５に記載のコンテンツ提供方法。
【請求項２７】
コンピュータにより、確率的推論に適用されるベイジアンネットのモデルを作成させるためのプログラムであって、
複数の変数間の条件付確率に基づく依存関係を表すモデルを出力するモデル出力ステップと、
前記モデル内の一の変数と前記一の変数が依存する親変数の候補の変数とを含む部分モデルについて、依存関係の異なる部分モデルへの変更を受け付ける変更受付ステップと、
を前記コンピュータに実行させることを特徴とするプログラム。
【請求項２８】
前記変更受付ステップは、前記部分モデルの尤度に関するスコアに基づいて、採用する部分モデルの指定を受け付けることを特徴とする請求項２７に記載のプログラム。
【請求項２９】
前記変更受付ステップにおいて受け付けた部分モデルの尤度に関するスコアを出力するスコア出力ステップをさらにコンピュータに実行させることを特徴とする請求項２７に記載のプログラム。
【請求項３０】
コンピュータに、
前記スコアを算出するための複数の算出基準のうちから一の算出基準の選択を受け付ける算出基準受付ステップと、
前記算出基準受付ステップにおいて受け付けた算出基準を用いて前記スコアを算出するスコア算出ステップと、
を実行させることを特徴とする請求項２８または２９に記載のプログラム。
【請求項３１】
前記モデル出力ステップにおいて出力するモデルを、複数の変数を有する統計データから作成するモデル作成ステップをコンピュータに実行させ、
前記モデル作成ステップは、
前記複数の変数のうちの一の変数を子変数としたときにその子変数が依存する親変数の候補の変数を選択する変数選択ステップと、
前記子変数および前記親変数の候補の変数を含む部分モデルを作成する部分モデル作成ステップと、
作成された複数の前記部分モデルを接続してベイジアンネットのモデルを作成する部分モデル接続ステップと、
を有することを特徴とする請求項２７に記載のプログラム。
【請求項３２】
前記部分モデル作成ステップは、
尤度に関するスコアに基づいて前記子変数と前記親変数の候補の変数との依存関係を決定し、部分モデルを作成することを特徴とする請求項３１に記載のプログラム。
【請求項３３】
前記部分モデル作成ステップにおいて作成された部分モデルと前記子変数および前記親変数の候補の変数が同じでその依存関係が異なる複数の部分モデルを記憶する部分モデル記憶ステップを前記コンピュータに実行させることを特徴とする請求項３１に記載のプログラム。
【請求項３４】
前記部分モデル作成ステップにおいて作成された部分モデルに含まれる親変数と子変数との依存関係に関する情報を求める依存関係情報算出ステップをコンピュータに実行させ、
前記モデル出力ステップでは、前記モデル内の変数間を接続するリンクに、前記依存関係情報算出ステップにおいて求めた前記変数間の依存関係に関する情報を含めて出力することを特徴とする請求項３１に記載のプログラム。
【請求項３５】
前記部分モデル作成ステップにおいて作成された部分モデルの前記親変数の候補の変数がとるすべての状態のそれぞれに対し、その子変数がとるすべての状態のそれぞれが発生する確率値を求める確率値算出ステップと、
前記確率値を記憶する確率値記憶ステップと、
をコンピュータに実行させることを特徴とする請求項３１に記載のプログラム。
【請求項３６】
コンピュータにより、確率的推論に適用されるベイジアンネットのモデルを作成させるためのプログラムであって、
複数の変数間の条件付確率に基づく依存関係を表すベイジアンネットのモデルを出力するモデル出力ステップと、
前記変数間の依存関係の変更を受け付ける変更受付ステップと、
を前記コンピュータにより実行させ、
前記モデル出力ステップでは、変更されたベイジアンネットのモデルを出力することを特徴とするプログラム。
【請求項３７】
コンピュータにより、ベイジアンネットのモデルに基づいて確率的推論を行わせるプログラムであって、
一の変数と前記一の変数が依存する親変数の候補の変数とを含む部分モデルについて、依存関係の異なる部分モデルへの変更を受け付けることによって作成されたベイジアンネットのモデルを記憶するモデル記憶ステップと、
前記ベイジアンネットのモデルに基づいて、観測された変数の状態から未観測の変数の状態を推論する推論ステップと、
を前記コンピュータに実行させることを特徴とするプログラム。
【請求項３８】
コンピュータにより、ユーザにコンテンツを提供させるプログラムであって、
一の変数と前記一の変数が依存する親変数の候補の変数とを含む部分モデルについて、依存関係の異なる部分モデルへの変更を受け付けることによって作成されたベイジアンネットのモデルを記憶するモデル記憶ステップと、
ユーザに提供するコンテンツに関する変数およびユーザの評価に関する変数を含む前記ベイジアンネットのモデルに基づいて、コンテンツに関する変数からユーザの評価に関する変数を推論する推論ステップと、
前記推論ステップにおける推論結果に基づいてユーザの評価が最大となるコンテンツを選択するコンテンツ選択ステップと、
選択されたコンテンツを前記ユーザに提供するコンテンツ提供ステップと、
を前記コンピュータに実行させることを特徴とするプログラム。
【請求項３９】
前記推論ステップは、前記ユーザの属性に関する変数および前記ユーザの現在の状況に関する変数の少なくとも一方をさらに含む前記モデルに基づいて、前記ユーザの属性に関する変数および前記ユーザの現在の状況に関する変数の少なくとも一方と前記コンテンツに関する変数とから、前記ユーザの評価に関する変数を推論する、
ことを特徴とする請求項３８に記載のプログラム。
【請求項４０】
請求項２７〜３９のいずれかに記載のプログラムを記録した記録媒体。
【請求項４１】
確率的推論に適用されるベイジアンネットのモデルを記録した記録媒体であって、
複数の変数間の条件付確率に基づく依存関係を表すモデルであって、前記モデル内の一の変数と前記一の変数が依存する親変数の候補の変数とを含む部分モデルについて、依存関係の異なる部分モデルへの変更を受け付けることによって作成されたモデルを記録したことを特徴とする記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、確率的推論に適用されるベイジアンネットのモデルを作成する装置および方法と、作成されたモデルに基づいて情報を分析する装置および方法、ならびにプログラムに関する。
【背景技術】
【０００２】
情報処理技術の適用領域が拡大し、さまざまな状況や多様なユーザに適応して動作することができる情報処理メカニズムが重要になってきている。その場合に従来のプログラミングのように事前に規定したとおりに処理を進める方式だけでは対応できないことも多く、不確実な情報(たとえば、真か偽か断定できないような予測や不完全な観測情報)のもとでもできるだけ正しく状況を理解し、ユーザの意図を汲んで適切な処理を行う知的情報処理の仕組みが必要になってきている。
【０００３】
これまでの知的情報処理ではできるだけ情報を明示化した記号として扱うアプローチを中心に発達してきたとも言える。コンピュータに入力された情報は比較的早い段階で記号化され内部的には記号のまま推論などの処理を行う仕組みであり、これは限られた計算機能力を効率的に利用するための必然だったとも考えられる。このアプローチは論理プログラミング、知的工学、エキスパートシステムといった狭義の人工知能研究の流れに沿って発展してきた。しかし知識を記号的に記述するにあたって必要とされる記述量の増大と、完全な記述が実際問題としてかなり困難であるといった問題を抱えていた。
【０００４】
一方、あいまいで不確実な情報を確率論に基づいて取り扱い、内部的にもそのまま計算するアプローチがある。対象となる変数を、そのすべてのとり得る実現値に対する確信度すなわち確率分布として計算し、推論を行う確率的推論もその一つである。人工知能分野においては、１９７０年代にDempster-Shaffer理論、エキスパートシステムMYCINなどに先駆的な研究例をみることができる。
【０００５】
確率論的推論は事後確率を最大化するパターン識別器などではごく自然に用いられてきたものでもある。しかし、意思決定理論に基づいてシステムを制御したり、有用な知識で表現し、複雑な処理を行うためには、比較的複雑な構造を持った確率モデルが必要になる。このような構造をもつ確率モデルの一つが、変数間の依存関係や因果関係を有向グラフで表すベイジアンネットである（非特許文献１）。
【０００６】
ベイジアンネットは、不確実な事象の起こる確率の予測や期待効用を最大化する意思決定、障害診断などに利用することのできる確率モデルである。最近、リスク管理や予測などの不確実性を含む領域の拡大から多方面で注目されている。また、確率推論アルゴリズムの進歩やソフトウェアの普及も進みつつある。しかし、一方でベイジアンネットを導入する際の難しさもまだ残されている。ベイジアンネット自体は古くから知られ、確率推論を実行するソフトウェアも登場していたが、実際のモデルに適用するうえでは、適切なベイジアンネットモデルを構築することが容易ではないという問題があった。モデル構築の際には、変数、条件付確率、グラフ構造を適切に決定する必要があるが、これまでの実用化例の多くは、問題領域に精通したエキスパートの経験や知識を必要としている（非特許文献２）。
【０００７】
また、適切なベイジアンネットモデルの構築が容易ではないという問題を解決するため、最近では、統計データからモデルを学習するアルゴリズムが提案されている。これまでに提案されているベイジアンネットモデル構築のためのアルゴリズムは、あり得るモデルについて、そのモデルの尤度、情報量基準ＡＩＣ、ＭＤＬなどのスコアを計算し、スコアが最も高いモデルを結果として出力するものであった。あり得るモデルの中から最適なベイジアンネットモデルを選択するために、これまでにさまざまなスコアが提案されている。
【非特許文献１】本村陽一「ベイジアンネットによる確率的推論技術」、計測と制御、Vol.42 No.8 2003  社団法人計測自動制御学会、p649-654
【非特許文献２】本村陽一「ベイジアンネットソフトウェアBayoNet」、計測と制御、Vol.42 No.8 2003  社団法人計測自動制御学会、P693-694
【発明の開示】
【発明が解決しようとする課題】
【０００８】
しかしながら、スコアに基づいて最適なベイジアンネットモデルを選択する上記のアルゴリズムは次のような問題点があった。すなわち、スコアの導出の過程で様々な仮定がおかれているが、その仮定が満たされているかどうか分からない実際のデータにおいては、どのスコアが最も適切な基準であるかということは分からない。また、スコアが最も高いモデルが必ずしも最適であるとは限らない。このため、最もスコアが高いモデルを出力する従来のアルゴリズムでは、より最適なモデルが存在するにもかかわらず、それが見逃されてしまうことがあった。
【０００９】
そこで、本発明は上記課題を解決し、適切なベイジアンネットのモデルを作成できるモデル作成装置およびモデル作成方法と、作成されたモデルを用いて情報分析を行う情報分析装置および情報分析方法と、これらを実行するプログラムを提供することを目的とする。
【課題を解決するための手段】
【００１０】
本発明に係るモデル作成装置は、確率的推論に適用されるベイジアンネットのモデルを作成する装置であって、複数の変数間の条件付確率に基づく依存関係を表すモデルを出力するモデル出力手段と、前記モデル内の一の変数と前記一の変数が依存する親変数の候補の変数とを含む部分モデルについて、依存関係の異なる部分モデルへの変更を受け付ける変更受付手段とを備える。
【００１１】
このように変更受付手段によってベイジアンネットのモデルの変更を受け付けることにより、モデル作成者の判断を反映して適切なモデルへと変更することができる。ベイジアンネットのモデルは、変数どうしの依存関係を表すので、単に尤度が高いだけでなくデータの発生過程（因果構造）まで含めてモデルを決定することが適切なモデルを作成するうえで重要である。変更受付手段は、一の変数およびその親変数の候補の変数を含む部分モデルについて変更を受け付けるので、一の変数とその親変数との依存関係に基づいて、適切な部分モデルに変更することができる。なお、モデル出力手段は、モデルを表示する手段に限定されず、例えばモデルのデータを送信する手段も含む。また、変更受付手段は、変更の入力を受け付ける手段に限定されず、例えば変更に関するデータを受信する手段も含む。モデル出力手段の実現例の一つは、モデルデータが記憶されたモデル記憶手段から読み出したモデルデータに基づいてモデルを出力する。モデル記憶手段は、例えば、それぞれの変数に識別子を付与して記憶すると共に、それぞれの変数の親変数の識別子を記憶する。
【００１２】
前記変更受付手段は、前記部分モデルの尤度に関するスコアに基づいて、採用する部分モデルの指定を受け付けてもよい。
【００１３】
この構成により、ベイジアンネットのモデル内の部分モデルを、スコアに基づいて適切な部分モデルへと容易に変更することが可能となる。すなわち、複数の部分モデルの中から採用すべき部分モデルを手がかりなしに指定する場合と比較して、適切な部分モデルを速やかに探すことができる。スコアに基づいて採用する部分モデルの指定を受け付ける方法としては、例えば、何番目に高いスコアの部分モデルを採用するかを指定する方法がある。変更受付手段は、部分モデルを特定する識別子と共にその部分モデルのスコアを記憶した部分モデル記憶手段に基づいて、受け付けたスコアに対応する部分モデルを特定することにより実現してもよい。なお、部分モデルの尤度に関するスコアとしては、例えば、尤度そのものを用いることもできるし、また、ＡＩＣ（An Information Theoretical Criterion）やＭＤＬ（Minimum Description Length）などの情報量基準を用いることができる。これらの情報量基準は、部分モデルの尤度と部分モデルの複雑性とを考慮した基準である。
【００１４】
上記モデル作成装置は、前記変更受付手段により受け付けた部分モデルの尤度に関するスコアを出力するスコア出力手段をさらに備えてもよい。
【００１５】
この構成により、受け付けた部分モデルの尤度に関するスコアに基づいて、その部分モデルが適切な部分モデルか否かをモデル作成者が判断できる。スコア出力手段は、部分モデルを特定する識別子と共にその部分モデルのスコアを記憶した部分モデル記憶手段から、受け付けた部分モデルの識別子に対応するスコアを読み出して出力することにより実現してもよい。
【００１６】
上記モデル作成装置は、前記スコアを算出するための複数の算出基準のうちから一の算出基準の選択を受け付ける算出基準受付手段と、前記算出基準受付手段により受け付けた算出基準を用いて前記スコアを算出するスコア算出手段とを備えてもよい。
【００１７】
この構成により、様々な算出基準に基づいてスコアを算出できるので、モデルが対象とするデータに応じてスコアの算出基準を変えることが可能となる。スコアとしては、例えば、ＭＤＬ、ＡＩＣ、ＭＬなど情報量基準を用いることができる。算出基準を選択することにより、スコアとしてそれぞれの情報量基準を選択することが可能である。
【００１８】
上記モデル作成装置は、前記モデル出力手段により出力されるモデルを、複数の変数を有する統計データから作成するモデル作成手段を備え、前記モデル作成手段は、前記複数の変数のうちの一の変数を子変数としたときにその子変数が依存する親変数の候補の変数を選択する変数選択手段と、前記子変数および前記親変数の候補の変数を含む部分モデルを作成する部分モデル作成手段と、作成された複数の前記部分モデルを接続してベイジアンネットのモデルを作成する部分モデル接続手段とを有してもよい。
【００１９】
このように子変数およびその親変数の候補の変数を含む部分モデルによってベイジアンネットのモデルを構成することにより、変更を容易に行えるモデルを構成できる。すなわち、ベイジアンネットのモデルを変更する際には、ベイジアンネットのモデルを構成する部分モデルを変更すればよく、モデル全体の依存関係を再計算する必要がない。なお、変数選択手段は、例えば、尤度に関するスコアや子変数に対する依存関係の強さなどの基準に基づいて親変数の候補の変数を選択してもよいし、モデル作成者からの指定によって親変数の候補の変数を選択してもよい。部分モデル作成手段は、統計データを記憶する統計データ記憶手段から、変数選択手段により選択された変数に関するデータを読み出し、読み出したデータに基づいて部分モデルを作成することにより実現してもよい。部分モデル作成手段により作成された部分モデルのデータは、識別子を付与して部分モデル記憶手段に記憶してもよい。また、部分モデル接続手段は、それぞれの部分モデル中の親変数に関連付けて、その親変数が依存する変数の識別子を記憶することにより実現してもよい。これにより、複数の部分モデルを接続できる。
【００２０】
前記部分モデル作成手段は、尤度に関するスコアに基づいて前記子変数と前記親変数の候補の変数との依存関係を決定し、部分モデルを作成してもよい。
【００２１】
この構成により、子変数と親変数の候補の変数とにより作成可能な複数の部分モデルから、スコアの高い部分モデルを選択できる。尤度に関するスコアは、統計データを記憶した統計データ記憶手段から、部分モデルに含まれる変数に関するデータを読み出し、読み出した統計データに基づいて求めることができる。
【００２２】
上記モデル作成装置は、前記部分モデル作成手段により作成された部分モデルと前記子変数および前記親変数の候補の変数が同じでその依存関係が異なる複数の部分モデルを記憶する部分モデル記憶手段を備えてもよい。
【００２３】
このように依存関係の異なる複数の部分モデルを記憶しておくことにより、ベイジアンネットのモデルを構成する部分モデルを、記憶された依存関係の異なる部分モデルに交換することにより、容易にモデルを変更できる。
【００２４】
上記モデル作成装置は、前記部分モデル作成手段により作成された部分モデルに含まれる親変数と子変数との依存関係に関する情報を求める依存関係情報算出手段を備え、前記モデル出力手段は、前記モデル内の変数間を接続するリンクに、前記依存関係情報算出手段により求めた前記変数間の依存関係に関する情報を含めて出力してもよい。
【００２５】
この構成により、モデル作成者は、出力されたモデルにより変数間の依存関係の状態を知ることができる。例えば、どのリンクが依存関係の強いリンクであるかをモデル作成者に知らせ、部分モデルを依存関係の異なる部分モデルに変更する際の示唆を与えることができる。これにより、モデル作成者は、適切な部分モデルを速やかに探すことができる。ここで、リンクに依存関係に関する情報を含めて表示する方法としては、例えば、依存関係の強さに応じてリンクの太さまたは色を変更する方法、あるいは依存関係の強さをリンクの近傍に数値で表示する方法がある。また、依存関係に関する情報は、例えば、次の方法により求めることができる。まず、親変数の候補と子変数が同じで依存関係の異なる複数の部分モデルのそれぞれについて尤度に関するスコアを求める。そして、子変数と一の親変数との依存関係を求める場合には、子変数とその親変数との間に依存関係を有するすべての部分モデルのスコアを合計することにより、子変数とその親変数との依存関係に関するスコアを求めることができる。これにより求められるスコアは、子変数とその親変数とのリンクが部分モデルのスコアにどの程度寄与しているかを示す情報である。上記の手順は、部分モデルデータと共にスコアが記憶された部分モデル記憶手段から読み出したスコアのデータに基づいて、依存関係に関する情報を算出することにより実現してもよい。
【００２６】
上記モデル作成装置は、前記部分モデル作成手段により作成された部分モデルの前記親変数の候補の変数がとるすべての状態のそれぞれに対し、その子変数がとるすべての状態のそれぞれが発生する確率値を求める確率値算出手段と、前記確率値を記憶する確率値記憶手段とを備えてもよい。
【００２７】
この構成により、部分モデルの子変数がどの親変数の候補の変数と依存関係を有することになっても、記憶された確率値を用いて、親変数および子変数がとるすべての状態のそれぞれについて確率値を求めることができる。従って、部分モデルを変更する際に、モデルを作成するために用いた統計データにアクセスしないで確率値を計算でき、処理速度を向上できる。なお、確率値算出手段は、統計データを記憶した統計データ記憶手段から、部分モデルに含まれる変数に関するデータを読み出し、読み出した統計データに基づいて確率値を計算する。
【００２８】
本発明の別の態様に係るモデル作成装置は、確率的推論に適用されるベイジアンネットのモデルを作成する装置であって、複数の変数間の条件付確率に基づく依存関係を表すベイジアンネットのモデルを出力するモデル出力手段と、前記変数間の依存関係の変更を受け付ける変更受付手段とを備え、前記モデル出力手段は、変更されたベイジアンネットのモデルを出力する。
【００２９】
このように変更受付手段によってモデルの変更を受け付けることにより、モデル作成者の判断を反映して適切なモデルへと変更することができる。ベイジアンネットのモデルは、変数どうしの依存関係を表すので、単に尤度が高いだけでなくデータの発生過程（因果構造）まで含めてモデルを決定することが適切なモデルを作成するうえで重要であり、本発明の構成により適切なモデル作成を行える。また、変更されたモデルはモデル出力手段によって出力され、変更受付手段は出力されたモデルに対してさらに変更を受け付ける。これにより、ベイジアンネットのモデルを、より適切なモデルへとインタラクティブに変更していくことができる。なお、モデル出力手段は、モデルを表示する手段に限定されず、例えばモデルのデータを送信する手段も含む。また、変更受付手段は、変更の入力を受け付ける手段に限定されず、例えば変更に関するデータを受信する手段も含む。モデル出力手段の実現例の一つは、モデルデータが記憶されたモデル記憶手段から読み出したモデルデータに基づいてモデルを出力する。モデル記憶手段は、例えば、それぞれの変数に識別子を付与して記憶すると共に、それぞれの変数の親変数の識別子を記憶する。
【００３０】
本発明に係る情報分析装置は、ベイジアンネットのモデルに基づいて確率的推論を行う情報分析装置であって、一の変数と前記一の変数が依存する親変数の候補の変数とを含む部分モデルについて、依存関係の異なる部分モデルへの変更を受け付けることによって作成されたベイジアンネットのモデルを記憶するモデル記憶手段と、記憶された前記モデルに基づいて、観測された変数の状態から未観測の変数の状態を推論する推論手段とを備える。
【００３１】
この構成によれば、記憶されたベイジアンネットのモデルは、その部分モデルについて依存関係の異なる部分モデルへの変更を受け付けることにより作成された適切なモデルである。推論手段は、このように作成されたモデルに基づいて観測された変数の状態から未観測の変数の状態を推論するので、適切な推論を行うことができる。
【００３２】
本発明に係るコンテンツ提供装置は、ユーザにコンテンツを提供する装置であって、一の変数と前記一の変数が依存する親変数の候補の変数とを含む部分モデルについて、依存関係の異なる部分モデルへの変更を受け付けることによって作成され、ユーザに提供するコンテンツに関する変数およびユーザの評価に関する変数を含むベイジアンネットのモデルを記憶するモデル記憶手段と、記憶された前記モデルに基づいて、コンテンツに関する変数からユーザの評価に関する変数を推論する推論手段と、前記推論手段による推論結果に基づいてユーザの評価が最大となるコンテンツを選択するコンテンツ選択手段と、選択されたコンテンツを前記ユーザに提供するコンテンツ提供手段とを備える。
【００３３】
この構成によれば、記憶されたベイジアンネットのモデルは、その部分モデルについて依存関係の異なる部分モデルへの変更を受け付けることにより作成され、コンテンツとユーザの評価との関係を適切に表したモデルである。ユーザの評価とは、ユーザがコンテンツをどのように評価するかに関する変数であり、例えば、コンテンツに対するユーザの満足度や興味の強さである。推論手段は、このように作成されたモデルに基づいてコンテンツに関する変数からユーザの評価に関する変数の値を求めるので、コンテンツからユーザの評価を適切に求めることができ、ユーザの評価が高いコンテンツを提供可能となる。
【００３４】
上記コンテンツ提供装置において、前記モデルは、前記ユーザの属性に関する変数および前記ユーザの現在の状況に関する変数の少なくとも一方をさらに含み、前記推論手段は、前記モデルに基づいて、前記ユーザの属性に関する変数および前記ユーザの現在の状況に関する変数の少なくとも一方と前記コンテンツに関する変数とから、前記ユーザの評価に関する変数を推論してもよい。
【００３５】
ユーザの評価は、コンテンツのみならず、ユーザの属性や現在の状況によっても影響されるので、ユーザの属性に関する変数および現在の状況に関する変数の少なくとも一方をユーザの評価の推論に用いる変数として用いることにより、ユーザの評価を精度良く求めることができる。
【００３６】
本発明に係るモデル作成方法は、確率的推論に適用されるベイジアンネットのモデルを作成する方法であって、複数の変数間の条件付確率に基づく依存関係を表すモデルを記憶したモデル記憶手段から読み出したモデルを出力するモデル出力ステップと、前記モデル内の一の変数と前記一の変数が依存する親変数の候補の変数とを含む部分モデルについて、依存関係の異なる部分モデルへの変更を受け付け、受け付けた変更を前記モデル記憶手段に書き込む変更受付ステップとを備える。
【００３７】
これにより、本発明のモデル作成装置と同様に、モデル作成者の判断を反映して適切なモデルを作成できる。なお、また、本発明のモデル作成装置と同様の特徴を本発明のモデル作成方法に適用することも可能である。
【００３８】
本発明の別の態様に係るモデル作成方法は、確率的推論に適用されるベイジアンネットのモデルを作成する方法であって、複数の変数間の条件付確率に基づく依存関係を表すモデルを記憶したモデル記憶手段から読み出したモデルを出力するモデル出力ステップと、前記変数間の依存関係の変更を受け付け、受け付けた変更を前記モデル記憶手段に書き込む変更受付ステップとを備え、前記モデル出力ステップは、変更されたベイジアンネットのモデルを出力する。
【００３９】
これにより、本発明のモデル作成装置と同様に、モデル作成者の判断を反映してインタラクティブにモデルを変更でき、適切なモデルを作成できる。
【００４０】
本発明の情報分析方法は、ベイジアンネットのモデルに基づいて確率的推論を行う情報分析方法であって、一の変数と前記一の変数が依存する親変数の候補の変数とを含む部分モデルについて、依存関係の異なる部分モデルへの変更を受け付けることによって作成されたベイジアンネットのモデルをモデル記憶手段に記憶するステップと、前記モデル記憶手段に記憶されたモデルに基づいて、観測された変数の状態から未観測の変数の状態を推論する推論ステップを備える。
【００４１】
これにより、本発明の情報分析装置と同様に、部分モデルの変更を受け付けて作成されたモデルに基づいて適切な推論を行うことができる。
【００４２】
本発明のコンテンツ提供方法は、ユーザにコンテンツを提供する方法であって、一の変数と前記一の変数が依存する親変数の候補の変数とを含む部分モデルについて、依存関係の異なる部分モデルへの変更を受け付けることによって作成され、ユーザに提供するコンテンツに関する変数およびユーザの評価に関する変数を含むベイジアンネットのモデルをモデル記憶手段に記憶するステップと、前記モデル記憶手段に記憶されたモデルに基づいて、コンテンツに関する変数からユーザの評価に関する変数を推論する推論ステップと、前記推論ステップにおける推論結果に基づいてユーザの評価が最大となるコンテンツを選択するコンテンツ選択ステップと、選択されたコンテンツを前記ユーザに提供する提供ステップとを備える。
【００４３】
これにより、本発明のコンテンツ提供装置と同様に、部分モデルの変更を受け付けて作成されたモデルに基づいて推論することにより、評価の高いコンテンツを提供できる。また、ベイジアンネットのモデルに、ユーザの属性に関する変数およびユーザの現在の状況に関する状況を含むことにより、ユーザの評価を精度良く求めることができる。
【００４４】
本発明に係るプログラムは、コンピュータにより、確率的推論に適用されるベイジアンネットのモデルを作成させるためのプログラムであって、複数の変数間の条件付確率に基づく依存関係を表すモデルを出力するモデル出力ステップと、前記モデル内の一の変数と前記一の変数が依存する親変数の候補の変数とを含む部分モデルについて、依存関係の異なる部分モデルへの変更を受け付ける変更受付ステップとを前記コンピュータに実行させる。
【００４５】
このプログラムを実行することにより、本発明のモデル作成装置と同様に、モデル作成者の判断を反映して適切なモデルを作成できる。モデル出力ステップは、モデルデータが記憶されたモデル記憶手段から読み出したモデルデータに基づいてモデルを出力してもよい。ここで、モデル記憶手段は、例えば、それぞれの変数に識別子を付与して記憶すると共に、それぞれの変数の親変数の識別子を記憶する。また、本発明のモデル作成装置と同様の特徴を本発明のモデル作成方法に適用することも可能である。
【００４６】
本発明の別の態様に係るプログラムは、コンピュータにより、確率的推論に適用されるベイジアンネットのモデルを作成させるためのプログラムであって、複数の変数間の条件付確率に基づく依存関係を表すベイジアンネットのモデルを出力するモデル出力ステップと、前記変数間の依存関係の変更を受け付ける変更受付ステップとを前記コンピュータにより実行させ、前記モデル出力ステップでは、変更されたベイジアンネットのモデルを出力する。
【００４７】
このプログラムを実行することにより、本発明のモデル作成装置と同様に、モデル作成者の判断を反映してインタラクティブにモデルを変更でき、適切なモデルを作成できる。モデル出力ステップは、モデルデータが記憶されたモデル記憶手段から読み出したモデルデータに基づいてモデルを出力してもよい。ここで、モデル記憶手段は、例えば、それぞれの変数に識別子を付与して記憶すると共に、それぞれの変数の親変数の識別子を記憶する。
【００４８】
本発明の別の態様に係るプログラムは、コンピュータにより、ベイジアンネットのモデルに基づいて確率的推論を行わせるプログラムであって、一の変数と前記一の変数が依存する親変数の候補の変数とを含む部分モデルについて、依存関係の異なる部分モデルへの変更を受け付けることによって作成されたベイジアンネットのモデルを記憶するモデル記憶ステップと、前記ベイジアンネットのモデルに基づいて、観測された変数の状態から未観測の変数の状態を推論する推論ステップとを前記コンピュータに実行させる。
【００４９】
このプログラムを実行することにより、本発明の情報分析装置と同様に、部分モデルの変更を受け付けて作成されたモデルに基づいて適切な推論を行うことができる。
【００５０】
本発明の別の態様に係るプログラムは、コンピュータにより、ユーザにコンテンツを提供させるプログラムであって、一の変数と前記一の変数が依存する親変数の候補の変数とを含む部分モデルについて、依存関係の異なる部分モデルへの変更を受け付けることによって作成されたベイジアンネットのモデルを記憶するモデル記憶ステップと、ユーザに提供するコンテンツに関する変数およびユーザの評価に関する変数を含む前記ベイジアンネットのモデルに基づいて、コンテンツに関する変数からユーザの評価に関する変数を推論する推論ステップと、前記推論ステップにおける推論結果に基づいてユーザの評価が最大となるコンテンツを選択するコンテンツ選択ステップと、選択されたコンテンツを前記ユーザに提供するコンテンツ提供ステップとを前記コンピュータに実行させる。
【００５１】
このプログラムを実行することにより、本発明のコンテンツ提供装置と同様に、部分モデルの変更を受け付けて作成されたモデルに基づいて推論することにより、評価の高いコンテンツを提供できる。また、ベイジアンネットのモデルに、ユーザの属性に関する変数およびユーザの現在の状況に関する状況を含むことにより、ユーザの評価を精度良く求めることができる。
【００５２】
本発明に係る記録媒体は、上記のいずれかのプログラムを記録している。
【００５３】
上記したモデル作成のためのプログラムを記録した記録媒体は、コンピュータに読み取らせて実行することにより、コンピュータがベイジアンネットのモデルの変更を受け付け、モデル作成者の判断を反映して適切なモデルへと変更するので、適切なモデルを作成することが可能である。また、上記した情報分析のためのプログラムを記録した記録媒体は、コンピュータに読み取らせて実行することにより、コンピュータが適切に作成されたモデルを用いて情報分析を行うことが可能である。
【００５４】
本発明の別の態様に係る記録媒体は、確率的推論に適用されるベイジアンネットのモデルを記録した記録媒体であって、複数の変数間の条件付確率に基づく依存関係を表すモデルであって、前記モデル内の一の変数と前記一の変数が依存する親変数の候補の変数とを含む部分モデルについて、依存関係の異なる部分モデルへの変更を受け付けることによって作成されたモデルを記録している。
【００５５】
この記録媒体に記録されたベイジアンネットのモデルは、部分モデルについて依存関係の異なる部分モデルへの変更を受け付けることにより作成されているので、モデル作成者の判断を反映して作成された適切なモデルである。従って、この記録媒体をコンピュータに読み取らせることにより、適切なベイジアンネットのモデルをコンピュータに記憶させ、そのモデルに基づく適切な推論が可能となる。
【発明の効果】
【００５６】
本発明によれば、変更受付手段によってモデルへの変更を受け付けることにより、モデル作成者の判断を反映して適切なモデルへと変更することができる。また、一の変数およびその変数が依存する親変数の候補の変数を含む部分モデルについて変更を受け付けるので、一の変数とその親の変数との依存関係に基づいて適切な変更を行うことができる。
【発明を実施するための最良の形態】
【００５７】
以下、図面を参照しながら、本発明の実施形態に係るモデル作成装置、情報分析装置について説明する。以下の説明では、情報分析装置は、コンテンツを提供するコンテンツ提供装置を例として説明する。
【００５８】
図１は、実施形態に係るモデル作成装置１０およびコンテンツ提供装置３０を示す図である。モデル作成装置１０は、統計データに基づいてベイジアンネットのモデルを作成する機能を有する。コンテンツ提供装置３０は、モデル作成装置１０により作成されたモデルに基づいてコンテンツに対する満足度を推論し、満足度の高いコンテンツをユーザに提供する機能を有する。なお、本実施形態では、車に乗っているユーザに対し、音楽などのコンテンツを提供する例を取り上げるが、車に乗っているユーザはあくまでも例示であり、本発明のコンテンツ提供装置は、様々な場面に適用することが可能である。提供するコンテンツも音楽に限定されるものではない。
【００５９】
図２は、モデル作成装置１０の構成を示す図である。モデル作成装置１０は、統計データを記憶する統計データ記憶部１２と、統計データに基づいてベイジアンネットのモデルを作成するモデル作成部１４と、モデル作成部１４により作成されたモデルを表示する表示部１８と、モデルに対する変更を受け付ける受付部２０と、作成されたモデルデータを記憶するモデルデータ記憶部２２とを備える。
【００６０】
統計データ記憶部１２には、ベイジアンネットモデルを作成するための統計データが記憶されている。本実施形態においては、モデル作成装置１０が統計データを記憶することとしているが、モデル作成装置１０が必ずしも統計データ記憶部１２を有しなくてもよい。例えば、モデル作成装置１０をネットワークに接続し、モデル作成の際にネットワークを通じて必要な統計データを取得する構成とすることもできる。
【００６１】
図３は、統計データ記憶部１２に記憶されている統計データの例を示す図である。ここでは、車に乗っている際に提供するコンテンツに関するデータが記憶されている。図３に見られるように、統計データは、「ユーザＩＤ」「年齢」「職業」「性格」「場所」「コンテンツ」「レスポンス」の変数を有するデータである。ユーザＩＤはユーザを特定する識別子であり、年齢、職業、性格は、ユーザの属性に関する情報である。これらのユーザ属性に関する情報は、例えばアンケート調査等により取得することができる。場所は、コンテンツを提供した場所を示す状況に関する情報である。コンテンツは、提供したコンテンツに関する情報である。レスポンスは、ユーザがコンテンツを受け入れたか否かを示す情報である。「○」はコンテンツが受け入れられたことを示し、「×」はコンテンツが拒絶されたことを示す。以下の説明において、コンテンツが受け入れられたレスポンスを「ＯＫレスポンス」という。多くの人が受け入れたコンテンツ、すなわちＯＫレスポンスの確率が高いコンテンツは、ユーザの満足度が高いコンテンツであると分析できる。
【００６２】
モデル作成部１４は、統計データからモデルを作成する機能と、作成されたモデルを変更する機能を有する。モデル作成部１４は、統計データから部分モデルを作成する部分モデル作成部１６を有し、作成された部分モデルに基づいてベイジアンネットのモデルを作成する。
【００６３】
モデル作成部１４の詳しい説明に先立って、ベイジアンネットのモデルについて説明する。ベイジアンネットのモデルは複数の確率変数の間の定性的な依存関係をグラフ構造によって表し、個々の変数の間の定量的な関係を条件付確率で表した確率モデルである。変数間の依存関係は原因から結果となる変数の向きを有向リンクで図示する。例えば、変数Ｘが原因、変数Ｙが結果という関係は「変数Ｘ→変数Ｙ」と表し、変数Ｘと変数Ｙの依存関係を条件付確率で表す。このとき、リンクの元にある変数Ｘを親変数、リンクの先に来る変数Ｙを子変数という。
【００６４】
まず、部分モデル作成部１４の機能のうち、統計データからベイジアンネットのモデルを作成する機能について説明する。図４から図９は、モデル作成部１２によるベイジアンネットのモデルの作成手順を説明するための図であり、図４は統計データに含まれる複数の変数の存在を示す。例えば、図３に示す統計データには、年齢、職業などの変数が含まれ、図４はそれらの変数を概念的に示している。
【００６５】
部分モデル作成部１６は、子変数とその親変数の候補の変数を含む部分モデルを作成する機能を有する。部分モデル作成部１６は、まず、複数の変数のうちの一の変数に対する親変数を選択する。本実施形態では、部分モデル作成部１６は、モデル作成者からの指定に応じて親変数を選択する。
【００６６】
図５は、子変数とそれに対する親変数の候補が選択された例を示す図である。この例では、変数Ｃが子変数であり、変数Ｃに対する親変数の候補として変数Ａ、変数Ｂがモデル作成者により選択された。
【００６７】
次に、部分モデル作成部１６は、部分モデル内の子変数と親変数の候補との依存関係を決定し、部分モデルを作成する。部分モデル作成部１６は、あり得るすべての依存関係について情報量基準に基づくスコアを計算し、最もスコアの高い部分モデルを作成する。具体的には、統計データ記憶部１２から、部分モデルに含まれる変数に関するデータを読み出し、読み出したデータに基づいて、あり得る依存関係の部分モデルの尤度に関するスコアを計算する。なお、スコアを求めるために用いる情報量基準は、部分モデルの尤度と複雑性を考慮した基準であり、例えば、ＡＩＣ、ＭＤＬが知られている。本実施形態においては、モデル作成者の選択により、ＡＩＣ、ＭＤＬいずれの基準も適用可能とする。また、部分モデルの尤度そのものをスコアとして用いてもよい。さらに、モデル作成者が作成した基準を部分モデルの選択基準として用いることも可能である。以下に、最もスコアの高い部分モデルを作成する例を説明する。
【００６８】
図１０は、変数Ａ、変数Ｂ、変数Ｃを含む部分モデルとスコアとの関係を示す例である。図１０に示すように、変数Ａ、変数Ｂ、変数Ｃを含む部分モデルは全部で４通り存在する。部分モデル作成部１６は、依存関係の異なるすべての部分モデルについてスコアを算出し、部分モデルのデータおよびスコアのデータをモデルデータ記憶部２２に記憶する。また、部分モデル作成部１６は、４通りの依存関係のパターンから最もスコアの高い部分モデルを選択し、部分モデルを作成する。
【００６９】
以上の手順により図６に示すように、変数Ｃを子変数とする部分モデルＭを作成できる。部分モデル作成部１６は、以下同様の手順により、それぞれの変数を子変数としたときの部分モデルを作成する。
【００７０】
次に、モデル作成部１４は、作成された部分モデルを接続することにより、統計データの変数間の依存関係を表すベイジアンネットのモデルを作成する。モデル作成部１４は、一の変数を子変数として含む部分モデルと、その変数を親変数として含む部分モデルとを、その変数に対する依存関係に基づいて接続する。
【００７１】
図７及び図８は、部分モデルを接続する例を示す図である。図７は、変数Ｇを子変数としたときの部分モデルＮを示す図である。この部分モデルＮは、子変数である変数Ｇに対して親変数である変数Ｃと変数Ｅが接続されている。一方で、図６に示すように、変数Ｃは部分モデルＭにおいては子変数である。従って、変数Ｃに対する依存関係に基づいて、図６に示す部分モデルＭと図７に示す部分モデルＮとを接続し、図８に示すモデルを作成することができる。同様の方法により部分モデルを接続して、モデル作成部１４は、統計データから図９に示すベイジアンネットモデルを作成する。
【００７２】
次に、モデル作成部１４の機能のうち、ベイジアンネットのモデルを変更する機能について説明する。
【００７３】
図１１（ａ）及び図１１（ｂ）は、部分モデルの変更について説明する図である。図１１（ａ）では、変更すべき部分モデルとして変数Ａ、変数Ｂ、変数Ｃを含む部分モデルＭが指定された例を示す。モデル作成部１４は、図１１（ａ）に示す部分モデルＭに代えて採用する部分モデルの指定を受け付けると、例えば、図１１（ｂ）に示すように指定された部分モデルＭ１に変更する。なお、変更すべき部分モデルの指定と、採用する部分モデルの指定はいずれも、次に説明する受付部２０によって受け付け、モデル作成部１４は受付部２０からの指示に基づいて部分モデルを変更する。
【００７４】
受付部２０は、表示されたモデルに対する変更を受け付ける機能を有する。受付部２０は、変更すべき部分モデルの指定を受け付け、続いて、指定された部分モデルに代えて採用すべき部分モデルの指定を受け付ける機能を有する。採用する部分モデルは、部分モデルのスコアの高さによって指定される。この点について、図１１（ａ）に示す部分モデルＭを例として説明する。変数Ａ、変数Ｂおよび変数Ｃの依存関係が異なる部分モデルは、図１０に示されるように全部で４通り存在する。このうち、図１１（ａ）に示す部分モデルＭは、最もスコアの高い部分モデルである。受付部２０は、部分モデルＭに代えて採用する部分モデルを、スコアの順位によって受け付ける。例えば、２番目に高いスコアの部分モデルを指定すると、図１０から分かるように、スコアが７０の部分モデルが選択される。受付部２０は、受け付けた部分モデルの情報を部分モデル作成部１６に通知する機能を有する。
【００７５】
モデルデータ記憶部２２は、作成されたベイジアンネットのモデルを記憶すると共に、ベイジアンネットのモデルを構成するそれぞれの部分モデルのデータを記憶する。具体的には、既に述べたように、それぞれの部分モデルについて、含まれる親変数の候補および子変数が同じでその依存関係の異なる部分モデルとそのスコアのデータ（図１０参照）が記憶される。また、部分モデルにおいて、親変数の候補の変数がとるすべての状態のそれぞれに対し、子変数がとるすべての状態のそれぞれが発生する確率値が記憶される。
【００７６】
図１２は、変数Ａ、変数Ｂ、変数Ｃからなる部分モデルにおいて、変数Ａおよび変数Ｂがとる状態に対し、変数Ｃがとる状態が発生する確率を示す図である。このように、親変数がとるすべての状態のそれぞれに対して、子変数がとるすべての状態のそれぞれが発生する確率の値を定めた表は、条件付確率表（ＣＰＴ：Conditional Probability Table）と呼ばれる。図１２によれば、変数Ａ、変数Ｂ、変数Ｃはそれぞれ０、１、２の３つの状態をとる。図１２に示す表の１行目のデータカラムは、変数Ａが０、変数Ｂが０の状態をとるときに、変数Ｃが０をとる確率が０．１、変数Ｃが１をとる確率が０．１、変数Ｃが２をとる確率が０．８であることを示す。同様に、変数Ａおよび変数Ｂがとるすべての状態（９通り）のそれぞれに対し、変数Ｃがとるすべての状態（３通り）のそれぞれが発生する確率値を示す。このように、部分モデルに含まれるすべての変数のそれぞれの状態について確率値を求めて記憶しておくことにより、部分モデルを依存関係の異なる部分モデルに変更する場合に、依存関係を有する変数に着目してＣＰＴを再計算することができる。
【００７７】
図１３は、変数Ａと変数Ｃとの間に依存関係が設定され、変数Ｂと変数Ｃとの間の依存関係が設定されていない状態でのＣＰＴを示す図である。図１３に示すＣＰＴは、変数Ｂの状態に関係なく確率値が決まるので、図１２に示すＣＰＴにおいて変数Ａの状態ごとに確率値を再計算して求めることができる。すなわち、図１２の表において、変数Ａの状態が０の３行の確率値を足し、変数Ｃがとる状態のそれぞれの確率値の合計が１となるように正規化することによりＣＰＴを求めることができる。従って、統計データにアクセスせずに、部分モデル変更時のＣＰＴの更新処理を迅速に行える。
【００７８】
次に、コンテンツ提供装置３０について説明する。コンテンツ提供装置３０は、車に乗っているユーザに対してコンテンツを提供する装置であり、ユーザの属性および現在の状況に応じて、適切なコンテンツをユーザに提供する機能を有する。コンテンツ提供装置３０は、モデル作成装置１０によって作成されたベイジアンネットのモデルに基づいて、コンテンツからユーザのレスポンスを推論する。そして、ＯＫレスポンスの確率値が最大となるコンテンツ、すなわちユーザの満足度の最も高いコンテンツを提供する。
【００７９】
図１４は、コンテンツ提供装置３０の構成を示す図である。コンテンツ提供装置３０は、モデル作成装置１０により作成されたベイジアンネットのモデルを記憶したモデルデータ記憶部３２と、コンテンツデータを記憶したコンテンツデータ記憶部３４と、ユーザの属性を記憶したユーザ属性データ記憶部３６と、状況を検知する状況検知部３８と、モデルに基づいて提供すべきコンテンツを選択するコンテンツ選択部４０と、選択されたコンテンツを提供するコンテンツ提供部４４とを備える。
【００８０】
図１５は、モデルデータ記憶部３２に記憶されたベイジアンネットのモデルの例である。このモデルによれば、ユーザの満足度を表すレスポンスの変数は、コンテンツ、性格、場所のそれぞれの変数に依存している。そして、性格の変数は、職業と年齢の変数に依存している。
【００８１】
コンテンツデータ記憶部３４は、ユーザに提供するコンテンツデータ自体とその関連情報を記憶する。コンテンツは、例えば音楽である。関連情報には、クラシック、ジャズ、歌謡曲といったコンテンツの分類や、歌手または奏者などの情報がある。
【００８２】
ユーザ属性データ記憶部３６は、コンテンツの提供を受けるユーザの属性に関するデータを記憶する。ユーザの属性は、例えば、ユーザの年齢、職業などである。
【００８３】
状況検知部３８は、車が走行している場所などの現在の状況を検知する機能を有する。例えば、コンテンツ提供装置３０がカーナビゲーション装置に内蔵され、あるいは接続されることにより、状況検知部３８は現在の走行中の場所を検知することができる。
【００８４】
コンテンツ選択部４０は、コンテンツデータ記憶部３４に記憶されたコンテンツの中から、ユーザに提供すべきコンテンツを選択する機能を有する。コンテンツ選択部４０は推論部４２を有し、推論部４２によってコンテンツを提供したときのレスポンスの確率を推論する。コンテンツ選択部４０は、推論部４２による推論の結果に基づいて、受け入れられる確率が最も高いコンテンツを選択する。例えば、コンテンツの変数に、クラシック、ジャズ、歌謡曲という値を順次入れて、それぞれのＯＫレスポンスの確率を推論し、ＯＫレスポンスの確率の最も高い分野を選択する。
【００８５】
ここで、ベイジアンネットに基づいて推論を行う方法について説明する。ベイジアンネットによる確率的推論は、１）観測された変数の値ｅをノードにセットする、２）親ノードも観測値も持たないノードに部分確率を与える、３）知りたい対象の変数Ｘの事後確率Ｐ（Ｘ｜ｅ）を得る、という手順で行う。３）における事後確率を求めるために、観測された情報からの確率伝搬（変数間の局所計算）によって各変数の確率分布を更新していく確率伝搬法（belief propagation）と呼ばれる計算方法を用いる。
【００８６】
本実施形態においては、観測された変数は、コンテンツ、ユーザの年齢、ユーザの職業、現在の走行場所であり、未観測の変数はレスポンスである。ユーザの年齢、職業に基づいてユーザの性格を推論し、コンテンツおよび走行場所と推論された性格とに基づいてＯＫレスポンスの確率を推論する。
【００８７】
コンテンツ提供部４４は、コンテンツ選択部４０により選択されたコンテンツをユーザに提供する機能を有する。
【００８８】
次に、実施形態のモデル作成装置１０の動作について説明する。モデル作成装置１０によるモデル作成の動作を概説すると、まず、１）モデル作成部１４により統計データからベイジアンネットのモデルを作成する。以下の説明において、統計データから機械的に作成されるモデルを「最初のベイジアンネットのモデル」という。続いて、２）作成されたモデルを表示部１８に表示し、受付部２０によってモデルに対する変更を受け付け、受け付けた変更に基づいてモデルを変更する。そして、３）変更されたモデルを表示部１８により表示し、再び変更を受け付ける、という手順で作成される。なお、手順２）手順３）は、モデルが完成するまで繰り返される。
【００８９】
図１６は、モデル作成装置１０の動作を示すフローチャートである。次に、図１６を参照しながらモデル作成装置１０の動作を詳細に説明する。
【００９０】
まず、モデル作成装置１０は、親変数を持たない変数の指定を受け付ける（Ｓ１０）。ここで指定された変数は子変数とはならないので、指定された変数を子変数とする部分モデルを考慮する必要がなくなり、部分モデル作成の際の計算量を抑制できる。親変数を持たない変数の例としては、事前確率が与えられている変数または観測可能な変数がある。次に、モデル作成装置１０は、モデル作成部１４が有する部分モデル作成部１６によって、統計データから部分モデルを作成する（Ｓ１２）。以下、部分モデルの作成方法について、図１７を参照しながら説明する。
【００９１】
図１７は、部分モデル作成の動作を示すフローチャートである。部分モデル作成部１６は、統計データの一の変数について、その変数を子変数としたときに親変数となる候補の変数を選択する（Ｓ３０）。本実施形態では、部分モデル作成部１６は、統計データの一の変数を表示部１８により表示し、モデル作成者からの親変数の候補の変数の指定を受け付ける。部分モデル作成部１６は、モデル作成者からの指定に応じて親変数の候補の変数を選択する。
【００９２】
続いて、部分モデル作成部１６は、統計データに基づいて子変数と選択された親変数の候補とのＣＰＴを作成し、モデルデータ記憶部２２に記憶する（Ｓ３２）。また、部分モデル作成部１６は、子変数と親変数の候補の変数との依存関係のすべてのパターンについて部分モデルを作成し、それぞれの部分モデルについて情報量基準に基づくスコアを求める。そして、部分モデル作成部１６は、作成したすべての部分モデルおよびそのスコアをモデルデータ記憶部２２に記憶する（Ｓ３４）。ここで記憶されるデータの例としては、図１０に示す部分モデルのデータである。
【００９３】
次に、部分モデル作成部１６は、作成した部分モデルの中から、最初のベイジアンネットのモデルを作成するために用いる部分モデル（「最初の部分モデル」という）を決定する（Ｓ３６）。部分モデル作成部１６は、作成された部分モデルの中からスコアの最も高い部分モデルを最初の部分モデルとして決定する。
【００９４】
部分モデル作成部１６は、他に子変数となる変数があるか否かを判定する（Ｓ３８）。他にも子変数となる変数がある場合には、ステップＳ３０に遷移し、次の変数についてステップＳ３０からステップＳ３６までの処理を繰り返す。ステップＳ１０で指定された親変数を持たない変数を除くすべての変数について、それぞれの変数を子変数としたときの部分モデルを作成すると、部分モデル作成処理は終了する。
【００９５】
再び図１６を参照して説明する。部分モデル作成部１６により複数の部分モデルが作成されると、モデル作成装置１０は、モデル作成部１４によって部分モデルを接続してベイジアンネットのモデルを作成する（Ｓ１４）。なお、統計データの中に子変数となり得る変数が一つしかない場合には、作成された部分モデルがそのまま最初のベイジアンネットのモデルとなる。モデル作成装置１０は、作成したモデルを表示部１８によって表示する（Ｓ１６）。
【００９６】
図１８は、作成したモデルを表示部１８により表示した画面の例を示す図である。図１８に示すように、図１８に示す画面右側のモデル表示画面５０に作成されたベイジアンネットのモデルが表示される。画面左側の変更受付画面５２は、モデルの変更を受け付けるユーザインターフェースを提供している。
【００９７】
次に、モデル作成装置１０は、変更する部分モデルの指定を受け付ける（Ｓ１８）。ここでは、図１８に示すモデル表示画面５０に表示されたモデルにおいて、変更すべき部分モデルを指定する。すなわち、マウスなどの操作により一の変数を示すノードを選択すると、その変数を子変数として含む部分モデルが指定される。
【００９８】
続いて、モデル作成装置１０は、指定された部分モデルに代えて採用する部分モデルを受け付ける（Ｓ２０）。部分モデルの指定は、何番目のスコアを有するモデルであるかを指定することによって行う。図１８に示す変更受付画面５２の「Tree Selection Scale」ボックス５６のスクロールバー５８を移動することにより、部分モデルが切り替えられる。スクロールバーが最も左の「Best」の位置にあるときに最もスコアの高い部分モデルが表示され、右に移動するに従ってスコアの低い部分モデルに切り替えられ、部分モデルが切り替えられたモデルがモデル表示画面５０に表示される（Ｓ２２）。例えば、図１９に示すように、スクロールバー５８が右に移動されると、最初の部分モデルよりスコアが低い部分モデルがモデル表示画面５０に表示される。この構成により、スコアに基づいて適切な部分モデルを選択することが可能となる。また、変更受付画面５２は、「Tree Selector」ボックス５４を有する。この「Tree Selector」ボックス５４において情報量基準の種類を指定でき、部分モデルのスコアを算出する情報量基準を変更できる。図１８および図１９では、ＭＤＬに基づいて部分モデルのスコアが計算されている。
【００９９】
次に、他に変更する部分モデルがあるか否かを判定する（Ｓ２４）。モデル作成装置１０は、他に変更するモデルがあるか否かを、モデル作成者による入力に基いて判定する。すなわち、部分モデル変更後、モデル作成者が図１８に示す変更受付画面５２において、確定ボタン６０を選択した場合には、他に変更する部分モデルがないと判定する。モデル作成者が、図１８に示す変更受付画面５２において確定ボタン６０を選択しないで、モデル表示画面５０で次に変更する部分モデルを指定した場合には、他に変更する部分モデルがあると判定する。
【０１００】
他に変更する部分モデルがある場合には、モデル作成装置１０は、指定された部分モデルについて変更を受け付けるステップＳ２０に遷移し、上記と同様にステップＳ２０からステップＳ２４までの処理を繰り返す。他に変更する部分モデルがないと判定された場合には、モデル作成装置１０は、作成したベイジアンネットのモデルをモデルデータ記憶部２２に記憶し（Ｓ２６）、モデルの作成を終了する。
【０１０１】
次に、コンテンツ提供装置３０の動作について図２０を参照しながら説明する。図２０は、コンテンツ提供装置３０の動作を示すフローチャートである。
【０１０２】
コンテンツ提供装置３０のコンテンツ選択部４０は、まず、ユーザ属性データ記憶部３６からユーザ属性データを取得する（Ｓ４０）。ここでは、ユーザの年齢とユーザの職業の情報を取得する。続いて、コンテンツ選択部４０は、状況検知部３８によって検知された現在の走行場所に関する情報を取得する（Ｓ４２）。走行場所に関する情報とは、例えば、市街地、高速道路または海沿いなどの情報である。
【０１０３】
続いて、コンテンツ選択部４０は、提供可能なコンテンツの情報を取得する（Ｓ４４）。ここでは、クラシック、ジャズ、歌謡曲の３種類のコンテンツを提供可能であるとする。まず、クラシックを提供可能なコンテンツの情報として取得する。そして、コンテンツ選択部４０の推論部４２が、モデルデータ記憶部３２に記憶されたモデルに基づいて、取得した年齢、職業、現在場所、およびコンテンツの情報（クラシック）からレスポンスを推論する（Ｓ４６）。すなわち、ベイジアンネットのモデルに基づいてＯＫレスポンスの確率を計算する。
【０１０４】
次に、コンテンツ選択部４０は、他に提供可能なコンテンツがあるか否か判定する（Ｓ４８）。他にコンテンツがある場合には、コンテンツの情報を取得するステップＳ４４に遷移する。ここでは、クラシックのほかにジャズ、歌謡曲のコンテンツを提供可能なので、コンテンツの情報を取得するステップＳ４４に遷移する。そして、コンテンツ選択部４０の推論部４２が、モデルデータ記憶部３２に記憶されたモデルに基づいて、取得した年齢、職業、現在場所、およびコンテンツの情報からレスポンスを推論する。再び、他に提供可能なコンテンツがあるか判定し、他に提供可能なコンテンツの情報がなくなるまで、ステップＳ４４からステップＳ４８の処理が繰り返される。ここでは、クラシック、ジャズ、歌謡曲のそれぞれについて、レスポンスが推論される。
【０１０５】
すべての提供可能なコンテンツの情報について、レスポンスの推論が終了すると、コンテンツ選択部４０は推論結果に基づいて、受け入れのレスポンスの確率値が最大となるコンテンツを選択し、コンテンツ提供部４４によって提供する（Ｓ５０）。例えば、コンテンツがクラシックであるときのＯＫレスポンスの確率が０．８、ジャズであるときのＯＫレスポンスの確率が０．６、歌謡曲であるあるときのＯＫレスポンスの確率が０．５であるとすると、ＯＫレスポンスの確率が最も高いクラシックが提供するコンテンツとして選択される。
【０１０６】
以上、本発明の実施形態に係るモデル作成装置１０およびコンテンツ提供装置３０について説明した。
【０１０７】
実施形態に係るモデル作成装置１０は、受付部２０によってベイジアンネットのモデルの変更を受け付けることにより、モデル作成者の判断を反映して適切なモデルへと変更することができる。
【０１０８】
また、実施形態に係るモデル作成装置１０は、部分モデル作成部１６によって子変数およびその親変数の候補の変数を含む部分モデルを作成し、モデル作成部１４は部分モデルを接続してベイジアンネットのモデルを構成する。そして、部分モデル作成部１６によって作成された依存関係の異なる部分モデルを記憶しておくので、容易に変更可能なベイジアンネットのモデルを構成できる。すなわち、変更を受け付けた部分モデルを記憶された依存関係の異なる部分モデルに変更すれば、ベイジアンネットのモデルを容易に変更できる。
【０１０９】
さらに、モデルデータ記憶部２２には、それぞれの部分モデルについて依存関係の異なるパターンの部分モデルのデータを記憶することにより、変更容易なモデルを構成し、かつ記憶するデータ量の低減を図ることができる。すなわち、モデルの全体について、あり得るすべての依存関係のパターンを記憶しておくとすれば、膨大な量のデータを記憶しておく必要があるが、依存関係のあり得るパターンを部分モデルごとに記憶することにより、記憶するデータ量を減らすことができる。
【０１１０】
実施形態に係るコンテンツ提供装置３０は、モデル作成装置１０によって、部分モデルを依存関係の異なる部分モデルへの変更を受け付けて、適切に作成されたモデルを記憶している。そして、記憶されたベイジアンネットのモデルに基づいて、推論部４２がユーザのレスポンスを推論することにより、適切な推論結果を得ることができる。従って、コンテンツ提供装置３０は、ユーザの満足度の高いコンテンツを提供することが可能である。
【０１１１】
次に、本発明の実施形態に係るプログラムについて説明する。図２１は、実施形態に係るモデル作成用のプログラム７０の構成を示す図である。実施形態に係るモデル作成用のプログラム７０は、統計データ取得モジュール７２と、モデル作成モジュール７４と、モデルデータ記憶モジュール７８と、モデル表示モジュール８０と、変更受付モジュール８２とを有する。
【０１１２】
統計データ取得モジュール７２は、プログラム７０をコンピュータで実行することにより、コンピュータに統計データを取得させるモジュールである。統計データの取得元は、コンピュータに記憶された統計データでもよいし、コンピュータが接続されたネットワーク上に存在する統計データでもよい。
【０１１３】
モデル作成モジュール７４は、プログラム７０をコンピュータで実行することにより、コンピュータにモデルを作成させるモジュールである。モデル作成モジュール７４は、コンピュータに部分モデルを作成させる部分モデル作成モジュール７６を含んでいる。モデル作成モジュール７４をコンピュータで実行させることにより上記実施形態のモデル作成装置１０のモデル作成部１４を実現できる。
【０１１４】
モデルデータ記憶モジュール７８は、プログラム７０をコンピュータで実行することにより、作成されたモデルおよび部分モデルをコンピュータに記憶させる機能を有する。このモジュールにより、コンピュータに上記実施形態のモデル作成装置１０におけるモデルデータ記憶部２２を構成することができる。
【０１１５】
モデル表示モジュール８０は、プログラム７０をコンピュータで実行することにより、コンピュータにモデルを表示させるモジュールである。モデル表示モジュール８０をコンピュータで実行させることにより、上記実施形態のモデル作成装置１０の表示部１８を実現できる。
【０１１６】
変更受付モジュール８２は、プログラム７０をコンピュータで実行することにより、表示されたモデルについて、部分モデルごとに異なる依存関係の部分モデルへの変更をコンピュータに受け付けさせるモジュールである。変更受付モジュール８２をコンピュータで実行させることにより、上記実施形態のモデル作成装置１０の受付部２０を実現できる。
【０１１７】
実施形態に係るモデル作成用のプログラム７０は、コンピュータで実行することにより、実施形態のモデル作成装置１０を実現できる。すなわち、表示されたベイジアンネットのモデルの変更を受け付けることにより、モデル作成者の判断を反映して適切なモデルへと変更することができるというモデル作成装置１０と同じ効果が得られる。
【０１１８】
次に、実施形態に係るコンテンツ提供用のプログラムについて説明する。図２２は、コンテンツ提供用のプログラム９０の構成を示す図である。実施形態に係るコンテンツ提供用のプログラム９０は、モデルデータ記憶モジュール９２と、コンテンツ取得モジュール９４と、ユーザ属性取得モジュール９６と、現在状況取得モジュール９８と、コンテンツ選択モジュール１００と、コンテンツ提供モジュール１０４と、を有する。
【０１１９】
モデルデータ記憶モジュール９２は、プログラム９０をコンピュータで実行することにより、コンピュータにベイジアンネットのモデルのデータを記憶させるモジュールである。モデルデータ記憶モジュール９２によって記憶されるモデルは、ベイジアンネットのモジュールであって部分モデルの変更を受け付けて作成された適切なモデルである。このモジュールにより、コンピュータに上記実施形態のコンテンツ提供装置３０におけるモデルデータ記憶部３２を構成することができる。
【０１２０】
コンテンツ取得モジュール９４は、プログラム９０をコンピュータで実行することにより、記憶されたコンテンツデータをコンピュータに取得させるモジュールである。これにより、コンテンツデータ記憶部とのインターフェースを実現できる。
【０１２１】
ユーザ属性取得モジュール９６は、プログラム９０をコンピュータで実行することにより、記憶されたユーザ属性データをコンピュータに取得させるモジュールである。これにより、ユーザ属性データ記憶部とのインターフェースを実現できる。
【０１２２】
現在状況取得モジュール９８は、プログラム９０をコンピュータで実行することにより、コンピュータに現在の状況を取得させるモジュールである。現在状況取得モジュール９８をコンピュータで実行させることにより、上記実施形態のコンテンツ提供装置３０の状況検知部３８を実現できる。
【０１２３】
コンテンツ選択モジュール１００は、プログラム９０をコンピュータで実行することにより、ユーザに提供すべきコンテンツをコンュータに選択させるモジュールである。コンテンツ選択モジュール１００は推論モジュール１０２を含む。推論モジュール１０２は、プログラムをコンピュータで実行することにより、コンピュータに、コンテンツ、ユーザ属性および現在の状況から、コンテンツに対するユーザの満足度を推論させる。コンピュータは、推論されたユーザの満足度に基づいてコンテンツを選択する。コンテンツ選択モジュール１００をコンピュータで実行させることにより、上記実施形態のコンテンツ提供装置３０のコンテンツ選択部４０を実現できる。
【０１２４】
実施形態に係るコンテンツ提供用のプログラムは、コンピュータで実行することにより、実施形態のコンテンツ提供装置３０を実現できる。すなわち、記憶された適切なベイジアンネットのモデルに基づいて適切な推論を行うことができ、ユーザの満足度の高いコンテンツを提供可能となるというコンテンツ提供装置３０と同様の効果が得られる。
【０１２５】
以上、本発明の実施形態に係るモデル作成装置１０、コンテンツ提供装置３０、モデル作成方法およびコンテンツ提供方法と、プログラムについて、実施形態を挙げて説明したが、本発明は上記実施形態に限定されるものではない。
【０１２６】
上記実施形態においては、モデル作成装置１０とコンテンツ提供装置３０を別々に構成した例について説明したが、モデル作成装置１０とコンテンツ提供装置３０を同じ装置によって構成してもよい。図２３は、モデル作成とコンテンツ提供の両方の機能を有する情報処理装置１１０の構成を示す図である。構成要素のそれぞれが有する機能は、上記実施形態のモデル作成装置１０およびコンテンツ提供装置３０の対応する構成要素のそれぞれと同じ機能を有する。
【０１２７】
この情報処理装置１１０は、提供されたコンテンツを受け入れたか否かのレスポンス情報の入力を受け付ける受入状況入力部１１２を備えている。受入状況入力部１１２の具体的な構成例としては、例えば、音楽のストップボタンである。提供された音楽のコンテンツがストップボタンにより演奏停止された場合には、コンテンツが受け入れられなかったというレスポンス情報を取得し、音楽が最後まで演奏されたときにはコンテンツが受け入れられたというレスポンス情報を取得する。受入状況入力部１１２は、統計データ記憶部１２に接続され、入力されたレスポンス情報によって統計データを更新する。この構成により、入力されたレスポンス情報を統計データとして蓄積することができる。そして、モデル作成装置１０は新たに得られたユーザのレスポンス情報を加えた統計データに基づいてモデルを作成することが可能となる。なお、上記したコンテンツ提供装置３０においても、受入状況入力部を設け、ユーザのレスポンス情報を取得する構成としてもよい。例えばデータセンター等に、コンテンツ提供装置３０が取得したレスポンス情報を集め、集まったデータに基づいてモデル作成装置１０がベイジアンネットのモデルを作成することが可能となる。
【０１２８】
また、上記実施形態においては、モデル作成装置１０はユーザインターフェース部分である表示部１８および受付部２０と、モデル作成部１４とが一体に構成されていたが、ユーザインターフェースの部分とモデル作成部１４とは必ずしも一体である必要はなく、別々の装置によって構成してもよい。図２４は、モデル作成部１４を有するモデル作成装置１２０と、モデル作成の指示を行う操作装置１３４とが別々に構成されている。モデル作成装置１２０と操作装置１２４はそれぞれ通信部１２２、１２６を有し、通信可能とされている。このような構成を採用することにより、ネットワーク上に設けられたモデル作成装置１２０をリモートで操作して、モデルの作成を行える。また、一台のモデル作成装置１２０に対して複数台の操作装置１２４を接続することにより、モデル作成装置１２０を共有できる。
【０１２９】
また、上記実施形態においては、モデル表示画面５０に表示するモデルにおいては、どの変数間を接続するリンクも同じ太さで表示しているが、変数間の依存関係に関する情報に基づいて表示するリンクの太さを変えてもよい。
【０１３０】
図２５は、依存関係に関する情報に基づいてリンクの太さを変えてモデルを表示した例を示す図である。この図では、リンクの太さは、そのリンクが部分モデルのスコアに寄与する大きさを示している。例えば、図２５に示されるモデルにおいて、変数Ａ、変数Ｂ、変数Ｃを含む部分モデルにおいて、変数Ａと変数Ｃとの間のリンク１３０は、変数Ｂと変数Ｃとの間のリンク１３２より部分モデルのスコアに寄与する割合が大きいことを示している。
【０１３１】
この依存関係に関する情報の求め方の例について、図１０を参照しながら説明する。変数Ａ、変数Ｂ、変数Ｃを含む部分モデルの依存関係のパターンは全部で４通り存在し、それぞれの部分モデルについてスコアが求められている。ここで、変数Ａと変数Ｃとの間のリンクのスコアへの寄与度を求める場合には、変数Ａと変数Ｃとの間にリンクが張られている部分モデルのスコアを合計する。ここでは、１行目および２行目の依存関係の部分モデルのスコアが合計されて１５０となる。同様に変数Ｂと変数Ｃとの部分モデルのスコアへの寄与は９０である。従って、変数Ａ−Ｃ間、変数Ｂ−Ｃ間のリンクの太さの割合は、１５：９となる。
【０１３２】
このように変数間の依存関係が部分モデルのスコアに及ぼす寄与の大きさをリンクの太さとして表示することにより、モデル作成者にどの部分モデルを選択すべきかの示唆を与えることができる。すなわち、寄与度の大きいリンクを有する部分モデルを選択することにより、スコアの高い部分モデルを容易に探索することができる。
【０１３３】
また、上記したモデル作成装置１０では、図１８に示す変更受付画面５２でスクロールバーを移動させることによって何番目のスコアの部分モデルに変更するかを入力する構成であったが、採用する部分モデルの指定の仕方は上記方法に限られない。例えば、部分モデルに含まれる変数の間に何本のリンク（依存関係）を張るかをスクロールバーの移動によって選択し、選択された本数のリンクを有する部分モデルのうちで最もスコアの高い部分モデルを指定することとしてもよい。
【０１３４】
また、部分モデルの変更はスクロールバー以外の構成により受け付けることも可能である。例えば、モデル表示画面５０に表示されたベイジアンネットのモデルにおいて、リンク元の変数からリンク先の変数にドラッグアンドドロップする等のマウス操作によって部分モデルのリンクを変更することとしてもよい。この場合、変更後の部分モデルについてスコアを出力することにより、モデル作成者はスコアに基づいて、変更したモデルを採用すべきか否か判断することができる。
【０１３５】
上記実施形態では、部分モデルを作成する際に、一の子変数に対する親変数の候補の変数をユーザの指定によって選択することとしたが、部分モデル作成部１６があらかじめ定められた基準に基づいて親変数の選択を行う構成とすることも可能である。例えば、一の子変数に対して依存関係の強い変数を親変数として所定の個数だけ抽出してもよい。また、一の子変数と親変数となる候補の変数の組み合わせをすべて探索し、情報量基準に関するスコアが最も高い部分モデルに含まれる変数を親変数の候補として選択してもよい。なお、モデル作成装置１０により、親変数の候補を選択する場合には、一の変数が依存可能な親変数の数をあらかじめ設定しておくことによって計算量を抑制し、処理の高速化を図れる。
【産業上の利用可能性】
【０１３６】
以上説明したように、本発明によれば、変更受付手段によってモデルへの変更を受け付けることにより、モデル作成者の判断を反映して適切なモデルへと変更することができ、また、一の変数およびその変数が依存する親変数の候補の変数を含む部分モデルの変更を受け付けるので、一の変数とその親変数との依存関係を理解しやすく、適切な変更を行うことができ、ベイジアンネットによる確率的推論の分野等において有用である。
【図面の簡単な説明】
【０１３７】
【図１】実施形態に係るモデル作成装置およびコンテンツ提供装置を示す図である。
【図２】実施形態に係るモデル作成装置の構成を示す図である。
【図３】統計データ記憶部に記憶されたデータの例を示す図である。
【図４】モデルの作成手順を説明するための図である。
【図５】モデルの作成手順を説明するための図である。
【図６】モデルの作成手順を説明するための図である。
【図７】モデルの作成手順を説明するための図である。
【図８】モデルの作成手順を説明するための図である。
【図９】モデルの作成手順を説明するための図である。
【図１０】モデルデータ記憶部に記憶された部分モデルデータの例を示す図である。
【図１１】モデルの変更について説明するための図である。
【図１２】モデルデータ記憶部に記憶された部分モデルのＣＰＴの例を示す図である。
【図１３】記憶されたＣＰＴに基づく依存関係の異なる部分モデルのＣＰＴの計算例を示す図である。
【図１４】コンテンツ提供装置の構成を示す図である。
【図１５】コンテンツ提供装置のモデルデータ記憶部に記憶されたモデルを示す図である。
【図１６】モデル作成装置によるモデル作成の動作を示すフローチャートである。
【図１７】モデル作成装置による部分モデル作成の動作を示すフローチャートである。
【図１８】モデルの変更受付画面を示す図である。
【図１９】モデルの変更受付画面を示す図である。
【図２０】コンテンツ提供装置によるコンテンツ提供の動作を示すフローチャートである。
【図２１】実施形態に係るモデル作成プログラムを示す図である。
【図２２】実施形態に係るコンテンツ提供プログラムを示す図である。
【図２３】モデル作成とコンテンツ提供を行える情報装置の構成を示す図である。
【図２４】モデル作成装置の他の構成例を示す図である。
【図２５】モデル表示画面の他の例を示す図である。
【符号の説明】
【０１３８】
１０  モデル作成装置
１２  統計データ記憶部
１４  モデル作成部
１６  部分モデル作成部
１８  表示部
２０  受付部
２２  モデルデータ記憶部
３０  コンテンツ提供装置
３２  モデルデータ記憶部
３４  コンテンツデータ記憶部
３６  ユーザ属性データ記憶部
３８  状況検知部
４０  コンテンツ選択部
４２  推論部
４４  コンテンツ提供部
【図１】
2008226268.tif 000003
【図２】
2008226268.tif 000004
【図３】
2008226268.tif 000005
【図４】
2008226268.tif 000006
【図５】
2008226268.tif 000007
【図６】
2008226268.tif 000008
【図７】
2008226268.tif 000009
【図８】
2008226268.tif 000010
【図９】
2008226268.tif 000011
【図１０】
2008226268.tif 000012
【図１１】
2008226268.tif 000013
【図１２】
2008226268.tif 000014
【図１３】
2008226268.tif 000015
【図１４】
2008226268.tif 000016
【図１５】
2008226268.tif 000017
【図１６】
2008226268.tif 000018
【図１７】
2008226268.tif 000019
【図１８】
2008226268.tif 000020
【図１９】
2008226268.tif 000021
【図２０】
2008226268.tif 000022
【図２１】
2008226268.tif 000023
【図２２】
2008226268.tif 000024
【図２３】
2008226268.tif 000025
【図２４】
2008226268.tif 000026
【図２５】
2008226268.tif 000027
【手続補正書】
【提出日】平成20年6月6日(2008.6.6)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
確率的推論に適用されるベイジアンネットのモデルを作成する装置であって、
統計データに含まれる複数の変数から、ベイジアンネットのモデルを構成する候補となる変数を選択する手段であって、一の変数を子変数としたときにその子変数の親変数の候補となる変数を前記統計データから選択する変数選択手段と、
前記子変数がどの前記親変数の候補に依存しどの親変数の候補に依存していないかを規定する依存関係を、前記子変数と前記親変数の候補とのあり得るすべての依存関係について前記統計データを用いて尤度に関するスコアを求め、前記スコアに基づいてすべての依存関係の中から一の依存関係を選択することによって決定し、当該依存関係において前記子変数が依存している前記親変数の候補を親変数とし、前記親変数と前記子変数とからなる部分モデルを作成する部分モデル作成手段と、
一の変数を子変数として含む部分モデルと当該一の変数を親変数として含む部分モデルとを、当該一の変数に対する依存関係に基づいて接続する態様により、前記部分モデル作成手段にて作成された複数の前記部分モデルを接続してベイジアンネットのモデルを作成する部分モデル接続手段と、
前記部分モデル接続手段にて複数の部分モデルが接続されて作成されたベイジアンネットのモデルを表示するベイジアンネットモデル表示手段と、
前記ベイジアンネットモデル表示手段にて表示されたベイジアンネットのモデルの一の変数を指定することによって、その一の変数を子変数とする部分モデルの指定を受け付ける部分モデル指定手段と、
前記部分モデル指定手段にて指定された部分モデルに代えて採用すべき部分モデルを受け付ける部分モデル受付手段であって、前記スコアに関する情報をスクロールバーによって指定することにより、指定されたスコアに関する情報に対応した依存関係を有する部分モデルを採用すべき部分モデルの候補として表示し、前記表示された部分モデルを確定することにより、前記指定された部分モデルに代えて採用すべき部分モデルを受け付ける部分モデル受付手段と、
を備え、
前記ベイジアンネットモデル表示手段は、前記部分モデル指定手段にて指定された部分モデルを前記モデル受付手段にて受け付けた部分モデルに変更したベイジアンネットのモデルを表示するモデル作成装置。
【請求項２】
前記部分モデル受付手段は、前記スコアを算出するための情報量基準の選択を受け付ける情報量基準選択メニューを表示し、
前記情報量基準選択メニューにて受け付けた情報量基準を用いて前記スコアを算出し、算出したスコアに関する情報に対応した依存関係を有する部分モデルを採用すべき部分モデルの候補として表示することを特徴とする請求項１に記載のモデル作成装置。
【請求項３】
前記変数選択手段にて選択された前記子変数および前記親変数の候補の変数について、前記親変数の候補の変数がとるすべての状態のそれぞれに対し、その子変数がとるすべての状態のそれぞれが発生する確率値を求める確率値算出手段と、
前記確率値を記憶する確率値記憶手段と、
を備えることを特徴とする請求項１または２に記載のモデル作成装置。
【請求項４】
前記変数選択手段にて選択された前記子変数および前記親変数の候補の変数から生成された異なる部分モデルと、前記部分モデルにおいて前記部分モデルの尤度に関するスコアとを関連付けて記憶する部分モデル記憶手段を備えることを特徴とする請求項１〜３のいずれかに記載のモデル作成装置。
【請求項５】
前記部分モデル受付手段により受け付けた部分モデルの尤度に関するスコアを出力するスコア出力手段をさらに備えることを特徴とする請求項１〜４のいずれかに記載のモデル作成装置。
【請求項６】
前記部分モデル作成手段により作成された部分モデルに含まれる前記子変数と前記親変数との各リンクが前記スコアに寄与する割合を示す情報を求めるリンク情報算出手段を備え、
前記ベイジアンネットモデル表示手段は、前記リンク情報算出手段にて求めた各リンクが前記スコアに寄与する割合を示す情報に基づいて前記ベイジアンネットのモデル内のそれぞれの親変数と子変数とを接続するリンクの太さを変えて表示する請求項１〜５のいずれかに記載のモデル作成装置。
【請求項７】
ベイジアンネットのモデルに基づいて確率的推論を行う情報分析装置であって、
請求項１〜６のいずれかに記載されたモデル作成装置にて作成されたベイジアンネットのモデルを記憶するベイジアンネットモデル記憶手段と、
前記ベイジアンネットモデル記憶手段に記憶されたベイジアンネットのモデルを読み出し、読み出したベイジアンネットのモデルに基づいて、観測された変数の状態から未観測の変数の状態を推論する推論手段と、
を備えることを特徴とする情報分析装置。
【請求項８】
ユーザにコンテンツを提供する装置であって、
請求項１〜６のいずれかに記載されたモデル作成装置にて作成されたベイジアンネットのモデルであって、ユーザに提供するコンテンツの属性を示す変数とコンテンツを受け入れる確率を示すレスポンスの変数とを含むベイジアンネットのモデルを記憶するベイジアンネットモデル記憶手段と、
前記ベイジアンネットモデル記憶手段に記憶されたベイジアンネットのモデルを読み出し、読み出したベイジアンネットのモデルに基づいて、コンテンツの属性を示す変数からレスポンスを示す変数を推論する推論手段と、
前記推論手段による推論結果に基づいて、前記レスポンスの変数の値が最大となるコンテンツを選択するコンテンツ選択手段と、
選択されたコンテンツを前記ユーザに提供するコンテンツ提供手段と、
を備えることを特徴とするコンテンツ提供装置。
【請求項９】
確率的推論に適用されるベイジアンネットのモデルをモデル作成装置によって作成する方法であって、
前記モデル作成装置が、統計データに含まれる複数の変数から、ベイジアンネットのモデルを構成する候補となる変数を選択するステップであって、一の変数を子変数としたときにその子変数の親変数の候補となる変数を前記統計データから選択する変数選択ステップと、
前記モデル作成装置が、前記子変数がどの前記親変数の候補に依存しどの親変数の候補に依存していないかを規定する依存関係を、前記子変数と前記親変数の候補とのあり得るすべての依存関係について前記統計データを用いて尤度に関するスコアを求め、前記スコアに基づいてすべての依存関係の中から一の依存関係を選択することによって決定し、当該依存関係において前記子変数が依存している前記親変数の候補を親変数とし、前記親変数と前記子変数とからなる部分モデルを作成する部分モデル作成ステップと、
前記モデル作成装置が、一の変数を子変数として含む部分モデルと当該一の変数を親変数として含む部分モデルとを、当該一の変数に対する依存関係に基づいて接続する態様により、前記部分モデル作成ステップにて作成された複数の前記部分モデルを接続してベイジアンネットのモデルを作成する部分モデル接続ステップと、
前記モデル作成装置が、前記部分モデル接続ステップにて複数の部分モデルが接続されて作成されたベイジアンネットのモデルを表示するベイジアンネットモデル表示ステップと、
前記モデル作成装置が、前記ベイジアンネットモデル表示ステップにて表示されたベイジアンネットのモデルの一の変数を指定することによって、その一の変数を子変数とする部分モデルの指定を受け付ける部分モデル指定ステップと、
前記モデル作成装置が、前記部分モデル指定ステップにて指定された部分モデルに代えて採用すべき部分モデルを受け付ける部分モデル受付ステップであって、前記スコアに関する情報をスクロールバーによって指定することにより、指定されたスコアに関する情報に対応した依存関係を有する部分モデルを採用すべき部分モデルの候補として表示し、前記表示された部分モデルを確定することにより、前記指定された部分モデルに代えて採用すべき部分モデルを受け付ける部分モデル受付ステップと、
を備え、
前記ベイジアンネットモデル表示ステップでは、前記モデル作成装置が、前記部分モデル指定ステップにて指定された部分モデルを前記モデル受付ステップにて受け付けた部分モデルに変更したベイジアンネットのモデルを表示するモデル作成方法。
【請求項１０】
コンピュータにより、確率的推論に適用されるベイジアンネットのモデルを作成させるプログラムであって、前記コンピュータに、
統計データに含まれる複数の変数から、ベイジアンネットのモデルを構成する候補となる変数を選択するステップであって、一の変数を子変数としたときにその子変数の親変数の候補となる変数を前記統計データから選択する変数選択ステップと、
前記子変数がどの前記親変数の候補に依存しどの親変数の候補に依存していないかを規定する依存関係を、前記子変数と前記親変数の候補とのあり得るすべての依存関係について前記統計データを用いて尤度に関するスコアを求め、前記スコアに基づいてすべての依存関係の中から一の依存関係を選択することによって決定し、当該依存関係において前記子変数が依存している前記親変数の候補を親変数とし、前記親変数と前記子変数とからなる部分モデルを作成する部分モデル作成ステップと、
一の変数を子変数として含む部分モデルと当該一の変数を親変数として含む部分モデルとを、当該一の変数に対する依存関係に基づいて接続する態様により、前記部分モデル作成ステップにて作成された複数の前記部分モデルを接続してベイジアンネットのモデルを作成する部分モデル接続ステップと、
前記部分モデル接続ステップにて複数の部分モデルが接続されて作成されたベイジアンネットのモデルを表示するベイジアンネットモデル表示ステップと、
前記ベイジアンネットモデル表示ステップにて表示されたベイジアンネットのモデルの一の変数を指定することによって、その一の変数を子変数とする部分モデルの指定を受け付ける部分モデル指定ステップと、
前記部分モデル指定ステップにて指定された部分モデルに代えて採用すべき部分モデルを受け付ける部分モデル受付ステップであって、前記スコアに関する情報をスクロールバーによって指定することにより、指定されたスコアに関する情報に対応した依存関係を有する部分モデルを採用すべき部分モデルの候補として表示し、前記表示された部分モデルを確定することにより、前記指定された部分モデルに代えて採用すべき部分モデルを受け付ける部分モデル受付ステップと、
を実行させ、
前記ベイジアンネットモデル表示ステップは、前記部分モデル指定ステップにて指定された部分モデルを前記モデル受付ステップにて受け付けた部分モデルに変更したベイジアンネットのモデルを表示するプログラム。
【請求項１１】
前記部分モデル受付ステップは、前記スコアを算出するための情報量基準の選択を受け付ける情報量基準選択メニューを表示し、
前記情報量基準選択メニューにて受け付けた情報量基準を用いて前記スコアを算出し、算出したスコアに関する情報に対応した依存関係を有する部分モデルを採用すべき部分モデルの候補として表示することを特徴とする請求項１０に記載のプログラム。
【請求項１２】
前記変数選択ステップにて選択された前記子変数および前記親変数の候補の変数について、前記親変数の候補の変数がとるすべての状態のそれぞれに対し、その子変数がとるすべての状態のそれぞれが発生する確率値を求める確率値算出ステップと、
前記確率値を記憶する確率値記憶ステップと、
を備えることを特徴とする請求項１０または１１に記載のプログラム。
【請求項１３】
前記変数選択ステップにて選択された前記子変数および前記親変数の候補の変数から生成された異なる部分モデルと、前記部分モデルにおいて前記部分モデルの尤度に関するスコアとを関連付けて記憶する部分モデル記憶ステップを備えることを特徴とする請求項１０〜１２のいずれかに記載のプログラム。
【請求項１４】
前記部分モデル受付ステップにより受け付けた部分モデルの尤度に関するスコアを出力するスコア出力ステップをさらに備えることを特徴とする請求項１０〜１３のいずれかに記載のプログラム。
【請求項１５】
前記部分モデル作成ステップにより作成された部分モデルに含まれる前記子変数と前記親変数との各リンクが前記スコアに寄与する割合を示す情報を求めるリンク情報算出ステップを備え、
前記ベイジアンネットモデル表示ステップは、前記リンク情報算出ステップにて求めた各リンクが前記スコアに寄与する割合を示す情報に基づいて前記ベイジアンネットのモデル内のそれぞれの親変数と子変数とを接続するリンクの太さを変えて表示する請求項１０〜１４のいずれかに記載のプログラム。
【請求項１６】
前記コンピュータにより、ベイジアンネットのモデルに基づいて確率的推論を行うためのプログラムであって、前記コンピュータに、
請求項１０〜１５のいずれかに記載されたプログラムにて作成されたベイジアンネットのモデルをベイジアンネットモデル記憶手段に記憶するベイジアンネットモデル記憶ステップと、
前記ベイジアンネットモデル記憶手段に記憶されたベイジアンネットのモデルを読み出し、読み出したベイジアンネットのモデルに基づいて、観測された変数の状態から未観測の変数の状態を推論する推論ステップと、
を備えることを特徴とするプログラム。
【請求項１７】
コンピュータにより、ユーザにコンテンツを提供するためのプログラムであって、前記コンピュータに、
請求項１０〜１５のいずれかに記載されたプログラムにて作成されたベイジアンネットのモデルであって、ユーザに提供するコンテンツの属性を示す変数とコンテンツを受け入れる確率を示すレスポンスの変数とを含むベイジアンネットのモデルをベイジアンネットモデル記憶手段も記憶するベイジアンネットモデル記憶ステップと、
前記ベイジアンネットモデル記憶手段に記憶されたベイジアンネットのモデルを読み出し、読み出したベイジアンネットのモデルに基づいて、コンテンツの属性を示す変数からレスポンスを示す変数を推論する推論ステップと、
前記推論ステップによる推論結果に基づいて、前記レスポンスの変数の値が最大となるコンテンツを選択するコンテンツ選択ステップと、
選択されたコンテンツを前記ユーザに提供するコンテンツ提供ステップと、
を備えることを特徴とするプログラム。