特許第5960483号(P5960483)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ ヴイアールアイ株式会社の特許一覧

<>
  • 特許5960483-行動支援システム及びプログラム 図000002
  • 特許5960483-行動支援システム及びプログラム 図000003
  • 特許5960483-行動支援システム及びプログラム 図000004
  • 特許5960483-行動支援システム及びプログラム 図000005
  • 特許5960483-行動支援システム及びプログラム 図000006
  • 特許5960483-行動支援システム及びプログラム 図000007
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】5960483
(24)【登録日】2016年7月1日
(45)【発行日】2016年8月2日
(54)【発明の名称】行動支援システム及びプログラム
(51)【国際特許分類】
   G06Q 50/10 20120101AFI20160719BHJP
   G01C 21/34 20060101ALI20160719BHJP
【FI】
   G06Q50/10
   G01C21/34
【請求項の数】4
【全頁数】12
(21)【出願番号】特願2012-93423(P2012-93423)
(22)【出願日】2012年4月16日
(65)【公開番号】特開2013-222306(P2013-222306A)
(43)【公開日】2013年10月28日
【審査請求日】2015年4月16日
(73)【特許権者】
【識別番号】510189662
【氏名又は名称】ヴイアールアイ株式会社
(74)【代理人】
【識別番号】100110652
【弁理士】
【氏名又は名称】塩野谷 英城
(72)【発明者】
【氏名】藤田 岳史
【審査官】 山内 裕史
(56)【参考文献】
【文献】 特開2004−053358(JP,A)
【文献】 特開2007−263855(JP,A)
【文献】 特開2001−174280(JP,A)
【文献】 特開2009−250869(JP,A)
【文献】 特開2005−147708(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06Q 10/00 − 99/00
G01C 21/34
(57)【特許請求の範囲】
【請求項1】
複数の選択肢ノードを条件付きリンクにより接続するフローチャートモジュールを複数記憶する第1記憶部と、現在の状況を表す状況変数を記憶する第2記憶部と、前記状況変数を検索キーとして前記第1記憶部から検索したフローチャートモジュールを記憶する第3記憶部と、ユーザインターフェースと、処理装置とを備え、
前記第1記憶部は、前記条件付きリンクごとにリンク強度を関連付けて記憶し、
前記処理装置は、
前記第3記憶部に記憶されたフローチャートモジュールの前記条件付きリンクの当該条件と前記第2記憶部に記憶された状況変数とを比較し、状況変数が条件を満たす条件付きリンクを辿って前記複数の選択肢ノードから現在地ノードを探す処理と、
当該現在地ノード以降の経路を前記第3記憶部に記憶されたフローチャートモジュールから読み出し前記ユーザインターフェースを介してユーザに提示する処理と、
前記現在地ノード以降の経路について前記条件付きリンクの当該条件と状況変数との適合度および前記リンク強度に基づいて各経路の選択すべき優先順位を決定し、当該経路の優先順位を前記ユーザインターフェースを介してユーザに提示する処理とを実行する、行動支援システム。
【請求項2】
前記処理装置は、前記ユーザに提示した経路の選択を前記ユーザインターフェースを介して受け付け、当該ユーザによる経路選択の履歴を前記第3記憶部のフローチャートモジュールに記述し、かつ、選択された経路のリンク強度を強化するように当該フローチャートモジュールの記述を書き換え、この第3記憶部のフローチャートモジュールを前記第1記憶部に保存させる、請求項1に記載の行動支援システム。
【請求項3】
前記第1記憶部に記憶するフローチャートモジュールをコンピュータネットワークを介して配布するサーバを備えた、請求項1又は2に記載の行動支援システム。
【請求項4】
複数の選択肢ノードを条件付きリンクにより接続するフローチャートモジュールを複数記憶する第1記憶部と、現在の状況を表す状況変数を記憶する第2記憶部と、前記状況変数を検索キーとして前記第1記憶部から検索したフローチャートモジュールを記憶する第3記憶部と、ユーザインターフェースと、処理装置とを備え、前記第1記憶部が、前記条件付きリンクごとにリンク強度を関連付けて記憶する行動支援システム用のプログラムであって
前記処理装置に、
前記第3記憶部に記憶されたフローチャートモジュールの前記条件付きリンクの当該条件と前記第2記憶部に記憶された状況変数とを比較し、状況変数が条件を満たす条件付きリンクを辿って前記複数の選択肢ノードから現在地ノードを探す処理と、
当該現在地ノード以降の経路を前記第3記憶部に記憶されたフローチャートモジュールから読み出し前記ユーザインターフェースを介してユーザに提示する処理と、
前記現在地ノード以降の経路について前記条件付きリンクの当該条件と状況変数との適合度および前記リンク強度に基づいて各経路の選択すべき優先順位を決定し、当該経路の優先順位を前記ユーザインターフェースを介してユーザに提示する処理とを実行させる、行動支援プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ユーザの行動を支援する行動支援システムに関する。
【背景技術】
【0002】
ユーザの行動を支援するシステムとしてナビゲーションシステムが広く知られている(例えば、特許文献1)。ナビゲーションシステムでは、ユーザが特定の目的地を設定すると、ユーザを現在地から目的地まで案内するための経路が自動的に探索されユーザに提案される。経路を移動中に状況が変化すると、その状況に応じて経路が最適経路に自動的に変更される。
【0003】
一方、ユーザの行動の選択肢をフローチャートに表す場合、ナビゲーションシステムのように目的地(結果)は1つではなく、状況に応じた分岐判断とユーザの意思による決定に応じて様々な経路を辿り、様々な結果となる。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2011−169860号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
本発明は、ユーザの行動の選択肢をフローチャートに表すとき、ユーザが状況に応じて取り得る複数の経路をユーザに提示するとともに、状況に応じた各経路の優先順位をユーザに提示する行動支援システムを提供する。
【課題を解決するための手段】
【0006】
上記課題を解決するため、本願発明は次の構成を採用する。
複数の選択肢ノードを条件付きリンクにより接続するフローチャートモジュールを複数記憶する第1記憶部と、現在の状況を表す状況変数を記憶する第2記憶部と、前記状況変数を検索キーとして前記第1記憶部から検索したフローチャートモジュールを記憶する第3記憶部と、ユーザインターフェースと、処理装置とを備え、
前記第1記憶部は、前記条件付きリンクごとにリンク強度を関連付けて記憶し、
前記処理装置は、
前記第3記憶部に記憶されたフローチャートモジュールの前記条件付きリンクの当該条件と前記第2記憶部に記憶された状況変数とを比較し、状況変数が条件を満たす条件付きリンクを辿って前記複数の選択肢ノードから現在地ノードを探す処理と、
当該現在地ノード以降の経路を前記第3記憶部に記憶されたフローチャートモジュールから読み出し前記ユーザインターフェースを介してユーザに提示する処理と、
前記現在地ノード以降の経路について前記条件付きリンクの当該条件と状況変数との適合度および前記リンク強度に基づいて各経路の選択すべき優先順位を決定し、当該経路の優先順位を前記ユーザインターフェースを介してユーザに提示する処理とを実行する、行動支援システム。
【発明の効果】
【0007】
本発明によれば、ユーザの行動の選択肢をフローチャートに表すとき、ユーザが状況に応じて取り得る複数の経路をユーザに提示することができると共に、状況に応じた各経路の優先順位をユーザに提示することができる。
【図面の簡単な説明】
【0008】
図1】本発明の実施形態を示すブロック構成図。
図2図1に示すモジュールの構造図。
図3図2に示すノードおよびリンクの構造図。
図4】モジュールの追加を示す説明図。
図5】モジュールの追加を示す説明図。
図6】モジュールの追加を示す説明図。
【発明を実施するための形態】
【0009】
[本願発明の実施形態の構成]
以下に本発明の実施形態を示す。図1は、本発明の実施形態であるコンピュータシステムの構成図である。本システムは、コンピュータネットワークに接続され相互にデータ通信を行うサーバコンピュータ10とクライアントコンピュータ20とにより構成されている。図1では、サーバコンピュータ10およびクライアントコンピュータ20をそれぞれ1つだけ図示しているが、実際には、複数のサーバコンピュータ10および複数のクライアントコンピュータ20が存在し、各クライアントコンピュータ20は、複数のサーバコンピュータ10にアクセスすることが可能となっている。
【0010】
サーバコンピュータ10およびクライアントコンピュータ20は、それぞれ、処理装置、通信装置および記憶装置を備えている。処理装置は、プロセッサを備え、プログラムを実行することにより種々の機能を提供する。通信装置は、サーバコンピュータ10とクライアントコンピュータ20との間のデータ通信機能を提供する。記憶装置は、処理装置が処理に使用する種々のデータを記憶する。また、クライアントコンピュータ20は、入力装置から情報を受け付ける入力インターフェース(入力I/F)と、出力装置へ情報を出力する出力インターフェース(出力I/F)とを備えている。ユーザからの情報の入力とユーザへの情報の出力は、ユーザインターフェース(UI)21を介して行われる。
【0011】
サーバコンピュータ10は、記憶装置に複数のフローチャートモジュール11を記憶している。また、サーバコンピュータ10は、クライアントコンピュータ20に要求されたフローチャートモジュールを記憶装置から読み出し、通信装置を介してクライアントコンピュータ20に送信するサーバ機能12を備えている。フローチャートモジュールの詳細は後述する。また、サーバコンピュータ10は、クライアントコンピュータ20から受信したフローチャートモジュールを記憶装置に保存するモジュール保存機能13を備えている。
【0012】
クライアントコンピュータ20は、ユーザインターフェース(UI)21、調査・解析機能22、検索機能23、モジュールダウンロード機能24、条件整理機能25、フローチャート組込機能26およびヒストリフィードバック機能27を提供する。各機能は、処理装置がプログラムを実行することにより提供される。
【0013】
UI21は、規定に従って、ユーザからの情報の入力の受け付けと、ユーザへの情報の出力とを行う。
【0014】
調査・解析機能22は、入力I/Fを介して入力装置から入力された信号を調査および解析する。例えば、音声入力装置およびUI21を介してユーザから入力された音声信号を解析してテキスト化し、当該テキストに含まれるキーワードを取得する。また、センサ装置から入力された信号に基づいて当該センサの検出値を数値化し、当該数値に対応するキーワードを取得する。また、テキスト入力装置およびUI21を介してユーザから入力されたテキストを解析し、当該テキストに含まれるキーワードを取得する。調査・解析機能22は、各キーワードを、状況変数として記憶装置に格納する。
【0015】
上記において、音声やテキストからのキーワードの取得は、形態素解析等の自然言語処理や音声認識処理により実現される。また、センサの検出値とキーワードとの対応関係は、予め記憶手段に記憶されている。
【0016】
状況変数は、任意の状況を表す値を取ることが可能であるが、例えば、タイマから取得した日時、GPS(Global Positioning System)から取得した場所、状況を示す上記各キーワードおよび過去に辿ったフローチャートの経路を含む。「状況」には、現在、過去および未来の状況が含まれる。
【0017】
また、調査・解析機能22は、状況変数を記憶装置から読み出し、状況変数を検索キーとするフローチャートモジュールの検索を検索機能23に指示する。また、調査・解析機能22は、状況変数を記憶装置から読み出し、状況変数を条件整理機能25に与える。
【0018】
検索機能23は、調査・解析機能22から渡された状況変数を含む検索クエリをサーバコンピュータ10に送信し、サーバコンピュータ10に対しフローチャートモジュール11の検索を要求する。検索の要求先は1つのサーバコンピュータ10に限らず、複数のサーバコンピュータに検索を要求してもよい。
【0019】
サーバコンピュータ10の処理装置は、クライアントコンピュータ20から送信された状況変数を含む検索クエリに対応するフローチャートモジュールを記憶装置から検索し、検索の結果抽出した1乃至複数のフローチャートモジュールをサーバ機能12によってクライアントコンピュータ20に送信する。
【0020】
上記において、各フローチャートモジュールには、そのフローチャートの内容に応じた様々なテキストの記述が含まれている。また、クライアントコンピュータ20から送られた状況変数も、テキストで表現されている。サーバコンピュータ10の処理装置は、形態素解析、N−グラムや曖昧検索等の処理により、状況変数のテキストにマッチするテキストを含むフローチャートモジュールを抽出する。1つの検索クエリにマッチするフローチャートモジュールを複数発見した場合、当該複数のフローチャートモジュールを抽出する。
【0021】
モジュールダウンロード機能24は、サーバコンピュータ10から送られたフローチャートモジュールを取得し記憶装置に格納する。検索機能23が、共通の検索クエリをもって複数のサーバコンピュータ10に検索を要求した場合、モジュールダウンロード機能24は、検索結果として抽出された複数のフローチャートモジュールを各サーバコンピュータ10から取得する場合がある。また上記のように、1つの検索クエリによって、1台のサーバコンピュータ10から複数のフローチャートモジュールが抽出され送信される場合、複数のフローチャートモジュールを1台のサーバコンピュータ10から取得する。
【0022】
条件整理機能25は、モジュールダウンロード機能24によって記憶装置に格納されたフローチャートモジュールに対し、調査・解析機能22から渡された状況変数を引数として入力し、当該フローチャートモジュールによって構成されるフローチャート内の現在地を判定する。フローチャートは、複数の選択肢(ノード)と各ノード間の接続(リンク)とを有し、各リンクに設定された条件と状況変数とを比較することにより、一のノードからどのリンクに進むかを判定できるようになっている。条件整理機能25は、フローチャートの始まりのノードから順に状況変数がリンクの条件を満たしているか否かを判定し、条件の真偽を判定できる限り、条件が真となるリンクを辿ってゆく。そして、現状の状況変数だけでは真偽を判定できないリンクに辿りついたとき、そのリンクの手前のノードを現在地に設定する。モジュールダウンロード機能24が複数のフローチャートモジュールをダウンロードした場合、各フローチャートモジュールに対し、上記の処理を行う。
【0023】
フローチャート組込機能26は、モジュールダウンロード機能24が格納したフローチャートモジュールを記憶装置から読み出し、条件整理機能25によって設定された現在地以降の選択可能な複数の経路から経路ごとに数段階のノードおよびリンクを抽出する。モジュールダウンロード機能24が複数のフローチャートモジュールをダウンロードした場合、各フローチャートモジュールに対し、上記の処理を行う。
【0024】
次いで、フローチャート組込機能26は、当該抽出した現在地以降の各リンクについて、リンクに設定された条件と状況変数との適合を判定し、この判定結果に基づいて経路ごとに状況変数との適合度を算出する。適合度の算出方法としては、例えば、条件を満たすリンクに点数を与え、経路ごとに含まれるリンクの点数を加算して経路ごとに適合度の指数を算出する。
【0025】
そして、フローチャート組込機能26は、上記の選択可能な複数の経路をUI21を通じてユーザに提示すると共に、上記の適合度が高い経路ほど優先順位が高い経路であるとしてUI21を通じてユーザに経路の優先順位を提示する。
【0026】
ユーザは、提示された経路からUI21を通じて所望の経路を選択する。ヒストリフィードバック機能27は、ユーザが選択した経路をフローチャートモジュールのファイルに記録する。
【0027】
ここで、上記のとおりフローチャートモジュールは複数のノードとノード間のリンクとで構成されている。1つのノードには分岐先となる複数のリンクが関連付けられ、ノード間の各リンクにはノード間の結び付きの強さを表す強度が関連付けられている。本実施形態では、1つのフローチャートモジュールの構造を1つのデータファイルに記述する。フローチャートモジュールは、例えば、XML(Extensible Markup Language)ファイル、スクリプトファイルやテキストデータファイルに記述される。当該ファイルには、フローチャートモジュールに含まれる各ノード(選択肢)の記述と、各ノードがどのノードと結び付くかというリンクの記述と、各リンクを進むための条件の記述とが含まれる。また、ノード間の結び付きの強さを表す強度がリンクごとに関連付けられて記述される。また、フローチャートモジュールのファイルには、過去にそのフローチャートをユーザが辿った経路の履歴が記録される。また、フローチャートモジュールのファイルには、過去にリンクの条件を判断する際に用いた状況変数の値が、そのリンクの条件に関連付けられて記録される。また、フローチャートモジュールのファイルには、各ノード(選択肢)の有効または無効の設定が記録される。
【0028】
ヒストリフィードバック機能27は、ユーザが選択した経路のリンクの強度を強化する。即ち、フローチャートモジュールのファイルに記述された該当するリンクの強度を書き換える。
【0029】
前述のとおり、フローチャート組込機能26は、ユーザが選択し得る経路の適合度を算出するが、この適合度を算出する際にリンクの強度の指数も算入し、リンクの強度が強いほど適合度が増すように演算を行う。
【0030】
また、ヒストリフィードバック機能27は、ユーザが選択した経路に従い、フローチャートモジュールのファイルにユーザが辿った経路の履歴を記録する。また、ヒストリフィードバック機能27は、ユーザが経路を選択した際に、その選択の前提となった複数の選択肢と、ユーザによる選択結果と、その際に記憶装置に記憶されている現在の状況変数とを関連付けてフローチャートモジュールのファイルに記録する。
【0031】
また、ヒストリフィードバック機能27は、ファイルに変更を加えられたフローチャートモジュールを記憶装置から読み出し、通信装置を介してサーバコンピュータ10に送信する。サーバコンピュータ10のモジュール保存機能13は、クライアントコンピュータ20から受信したフローチャートモジュールを記憶装置に保存する。記憶装置に保存されたフローチャートモジュール11は、他のクライアントコンピュータ(他のユーザ)によってダウンロードされ利用される場合がある。
【0032】
[フローチャートモジュールの構造]
図2にフローチャートモジュール11の構造の一例を示す。フローチャートモジュール11は、丸印で示す複数のノード(選択肢)と、直線で示すノード間のつながり(リンク)とで構成されている。いま最上部のノードをユーザの現在地とするが、このユーザの現在地は、上記のとおり、条件整理機能25によって判定される。フローチャート組込機能26は、現在地以降のユーザが選択可能な複数の経路をUI21を介してユーザに提示する。図2の場合、ユーザは選択肢1,2,3のいずれかを選択可能である。この例で、現在地はフローチャートの開始点となっているが、条件整理機能25の判定に応じてフローチャートの途中のノードが現在地に設定される場合もある。その場合、フローチャートの経路のユーザへの提示は、フローチャートの途中から行われる。
【0033】
[ノードとリンクの構造]
図3に示すフローチャートモジュールUにおいて、ノードAを現在地とすると、ノードBおよびCが次の選択肢になり得る。ノード間の矢印の無い実線は、相互リンクを表す。点線は時間的な条件が付加されたリンクとする。矢印は、リンクの方向性を表す。ノードAとBおよびノードEとFとの間は相互リンクなので、両方向に進むことが可能である。点線で示すノードAからCへの一方向リンクおよびノードCからDへの一方向リンクには、時間的な条件が関連付けられているものとする。また、ノードCからDへ向かう一方向リンクには時間的な条件に加え、例えば「雨が降っていない場合」という条件が付加されているものとする。
【0034】
ノードCからBおよびノードBからEは一方向リンクであり、ノードCからBを選択できるが、ノードBからCを選択することはできない。しかし、ノードBからAを経由し、ノードAからCの間に設定されたリンクの時間的条件を満たせば、ノードBからCへ進むことは可能である。同様に、ノードBからEを選択できるが、ノードEからBを選択することはできない。フローチャートモジュールのファイルには、このようなリンクの方向性も記述されている。
【0035】
ユーザの現在地がノードAにあるとき、時間と状況の条件を満たせばノードCおよびDを経由してノードGまたはHに辿りつくことが可能である。また、状況変数にノードDを選択しない旨が記述されている場合、フローチャート組込機能26は、ノードDを通る経路をユーザに提示せず、ノードB、Eを経由してノードFまたはGを選択する経路のみをユーザに提示することが可能である。ただし、この場合は必ずノードEを選択する必要がある。また、状況変数にノードGを選択する旨が記述されている場合、リンクの優先順位にもよるが、時間的条件がなく条件を満たしやすいノードEを通る経路を優先順位の高い経路としてユーザに提示することが可能である。このように、同じ結果に至るまでの経路が複数存在する場合は、経由するノードの数とリンクに設定された条件の数とに基づいて、より目標のノードに到達しやすい経路をユーザに提示してもよい。
【0036】
フローチャート組込機能26は、ユーザに経路を提示する際、UI21を通じて例えば図3に示すようにノードとリンクの接続をグラフィカルな表示で提示する。ヒストリフィードバック機能27は、このグラフィカルな表示に対するフローチャートモジュールの変更操作をUI21を介して受け付ける。ヒストリフィードバック機能27は、UI21を介して選択された特定のリンクに対し条件の加除変更が入力されると、その特定のリンクに対し入力された条件の加除変更をフローチャートモジュールのファイルの記述に反映する。また、ヒストリフィードバック機能27は、UI21を介して選択された特定のリンクに対しリンク方向(相互リンクまたは一方向リンク)の変更を入力されると、その特定のリンクに対し入力されたリンク方向の変更をフローチャートモジュールのファイルの記述に反映する。また、ヒストリフィードバック機能27は、UI21を介して選択された特定のリンクに対しリンク強度の変更を入力されると、その特定のリンクに対し入力されたリンク強度の変更をフローチャートモジュールのファイルの記述に反映する。
【0037】
[モジュールの追加(1)]
図4は、フローチャートモジュールMに別のフローチャートモジュールNを連結する処理を示している。フローチャート組込機能26は、フローチャートモジュールMに含まれるリンクの条件と現在の状況変数との組み合わせと同等の組み合わせを、記憶装置に格納されている過去のフローチャートモジュールNのファイルの記述に発見した場合、フローチャートモジュールNの当該同等なリンクを、フローチャートモジュールMの同等なリンクと並列になるように、フローチャートモジュールMのノードに連結する。
【0038】
また、フローチャート組込機能26は、フローチャートモジュールMに含まれるリンクの条件と現在の状況変数との組み合わせと同等の組み合わせを、記憶装置に格納されているフローチャートMと同時にダウンロードされたフローチャートモジュールNのファイルの記述に発見した場合、フローチャートモジュールNの当該同等なリンクを、フローチャートモジュールMの同等なリンクと並列になるように、フローチャートモジュールMのノードに連結する。
【0039】
また、フローチャート組込機能26は、フローチャートモジュールMに含まれるリンクの条件と現在の状況変数との組み合わせと同等の組み合わせを、記憶装置に格納されているフローチャートMの処理中にダウンロードされたフローチャートモジュールNのファイルの記述に発見した場合、フローチャートモジュールNの当該同等なリンクを、フローチャートモジュールMの同等なリンクと並列になるように、フローチャートモジュールMのノードに連結する。
【0040】
フローチャートモジュールMの処理中にフローチャートNをダウンロードする場合、クライアントコンピュータ20の処理装置は、フローチャートモジュールMのノードやリンクの値に応じてフローチャートモジュールNをダウンロードする。
【0041】
図4の例では、フローチャートモジュールMに含まれるリンクAの条件と現在の状況変数との組み合わせが、フローチャートモジュールNに含まれるリンクBの条件と当該リンクBの条件を判断したときに用いた過去の状況変数との組み合わせが同等であるとし、リンクAの始点にあるステップ1のノードに、リンクB以降のフローチャートモジュールNの経路を連結している。リンクAの始点にあるステップ1のノードから見ると、次の選択肢が2択から3択に変化する。フローチャート組込機能26は、接続されたフローチャートの全体構造をフローチャートモジュールMのファイルに記述してもよいし、フローチャートモジュールNのノードへのリンクをフローチャートモジュールMのファイルに記述してもよいし、フローチャートモジュールMのファイルとフローチャートモジュールNのファイルとの両方に、他方のノードへのリンクを記述してもよい。
【0042】
[モジュールの追加(2)]
図5も、モジュールMに別のモジュールNを連結する処理を示しているが、連結するノードが図4の例とは異なっている。この図5の例では、フローチャートモジュールMに含まれるリンクCの条件と現在の状況変数との組み合わせが、フローチャートモジュールNに含まれるリンクDの条件と当該リンクDの条件を判断したときに用いた過去の状況変数との組み合わせが同等であるとし、リンクCの始点にあるステップ1のノードに、リンクD以降のフローチャートモジュールNの経路を連結している。この際、フローチャート組込機能26は、連結したモジュールNの経路以外の経路を無効に設定することが可能である。図5に点線で描いた部分は無効に設定されたノード(選択肢)およびリンクを示している。
【0043】
[モジュールの追加(3)]
図6は、リンクに設定された条件を満たすか否かに応じて当該リンクにモジュールが連結される例を示している。いま、黒丸で示すノードの中から、太線の矢印で示す経路を辿って中央の現在地の選択肢を選択したものとする。現在地のノード以降のリンクには「14:00に現在地の選択肢を選択していることを条件としてモジュールBおよびモジュールCを連結する」という条件が記述されているものとする。この場合、14:00に現在地の選択肢を選択している場合に限り、現在地のノードにモジュールBおよびCが連結される。フローチャート組込機能26は、リンクに設定された条件と状況変数として取得した現在の時刻とを比較し、リンクに設定されている条件が満たされているか否かを判定し、満たされている場合にモジュールBおよびCを連結する。
【0044】
この場合、モジュールB,Cは、その連結が必要となったときに、サーバコンピュータ10からダウンロードしてもよい。
【0045】
また、リンクには複合的な条件を設定することもできる。例えば、現在地のノード以降のリンクに「雪が降っている場合、時刻が18:00以降であることを条件としてモジュールBを連結する」という条件が設定されている場合、フローチャート組込機能26は、現在時刻を示す状況変数と、現在の天気を表す状況変数とを取得し、これらの状況変数とリンクに設定された条件とを比較する。そして、現在の天気が雪であり、かつ現在地の選択肢が18:00以降に選択された場合に限り、フローチャート組込機能26は、モジュールBを連結する。ここで、モジュールCのノードCとDとの間には相互リンクが設定されており、この相互リンクには、例えば「ノードCからノードDを選択した後、Dの選択が不適切であった場合はCに戻る」という可逆性の条件を設定することも可能である。
【0046】
[本実施形態の動作]
次に、本実施形態の動作を図1を参照して説明する。調査・解析機能22が、センサ装置、音声入力装置、テキスト入力装置等の入力装置からの入力に基づいて現在の状況を表す状況変数を取得すると、この現在の状況変数を記憶装置に格納し、また、当該状況変数を検索キーとするフローチャートモジュールの検索を検索機能23に指示する。検索機能23は、検索キーとして状況変数をサーバコンピュータ10に送りフローチャートモジュール11の検索を要求する。サーバコンピュータ10は、クライアントコンピュータ20から送られた状況変数に適合するフローチャートモジュール11を記憶装置から読み出し、サーバ機能12によりクライアントコンピュータ20に送信する。モジュールダウンロード機能24は、サーバコンピュータ10から受信したフローチャートモジュールを記憶装置に格納する。条件整理機能25は、記憶装置から現在の状況変数を読み出し、ダウンロードされたフローチャートモジュールに引数として入力することにより、状況変数がリンクの条件を満たす経路を自動的に辿る。そして、条件を満たすか否か判断できないリンクを見つけると、その手前のノードを現在地に設定する。フローチャート組込機能26は、ダウンロードされたフローチャートモジュールから現在地以降の経路を抽出し、必要に応じて他のフローチャートモジュールを連結する。そして、フローチャート組込機能26は、抽出および連結したフローチャートモジュールの経路をUI21を通じてユーザにグラフィカルに提示する。その際、フローチャート組込機能26は、経路ごとに優先順位を算出し、経路ごとの優先順位もUI21を通じてユーザに提示する。提示された経路からユーザが所望の経路を選択すると、ヒストリフィードバック機能27は、ユーザが選択した経路と、その選択の際に取り得た他の選択肢と、その選択の際の現在の状況変数とをフローチャートモジュールのファイルに記録する。また、ヒストリフィードバック機能27は、UI21を通じたユーザからのフローチャートモジュールの編集要求に応じてフローチャートモジュールのファイルの記述を書き換える。ヒストリフィードバック機能27は、記述に変更を加えたフローチャートモジュールのファイルをサーバコンピュータ10にアップロードする。サーバコンピュータ10のモジュール保存機能13は、クライアントコンピュータ20からアップロードされたフローチャートモジュールを記憶装置に保存する。サーバ機能12は、記憶装置に保存されているフローチャートモジュール11を、任意のクライアントコンピュータに対し、検索の結果に応じて配布する。以上の動作が繰り返される。
【0047】
[本実施形態の効果]
以上に説明した実施形態によれば、現在の状況を表す状況変数に応じてフローチャートモジュールを選択し、選択したフローチャートモジュールの中から今後ユーザが取り得る選択経路を優先順位とともにユーザに提示するので、ユーザの適切な経路選択(行動選択)を支援することができる。また、ユーザが選択した経路や現在の状況変数に応じてフローチャートモジュールを動的に構成するので、より適切な経路選択を支援することができる。さらに、フローチャートモジュールをサーバに保存することにより他のユーザにも配布することができ、ユーザが選択した経路や現在の状況変数に応じて動的に構成されたフローチャートモジュールを共有することができる。
【0048】
[オブジェクト指向プログラミングによる実施例]
フローチャートモジュールの雛型をモジュールクラスに定義し、フローチャートモジュールを構成するノードの雛型をノードクラスに定義する。リンクの属性(条件、方向性、強度)は、ノードクラスのプロパティまたはメソッドに記述し、他のノードクラスへの定義の継承や他のノードクラスにおけるメソッドの再定義を可能とする。ユーザに選択可能な経路を提示する際は、ノードのインスタンスを生成し、UI21を通じてユーザに提示する。
【0049】
[変形例]
上述の実施形態では、図1に示すようにサーバコンピュータ10とクライアントコンピュータ20とを分けてシステムを構成したが、これに限らず、サーバとクライアントが1台のコンピュータに搭載されていてもよい。
【符号の説明】
【0050】
10 サーバコンピュータ
11 フローチャートモジュール
12 サーバ機能
13 モジュール保存機能
20 クライアントコンピュータ
21 ユーザインターフェース(UI)
22 調査・解析機能
23 検索機能
24 モジュールダウンロード機能
25 条件整理機能
26 フローチャート組込機能
27 ヒストリフィードバック機能
図1
図2
図3
図4
図5
図6