JPH08305576A - コンピュータ・ユーザとの対話を行うためのエキスパート・システム及びその方法 - Google Patents

コンピュータ・ユーザとの対話を行うためのエキスパート・システム及びその方法

Info

Publication number
JPH08305576A
JPH08305576A JP31934195A JP31934195A JPH08305576A JP H08305576 A JPH08305576 A JP H08305576A JP 31934195 A JP31934195 A JP 31934195A JP 31934195 A JP31934195 A JP 31934195A JP H08305576 A JPH08305576 A JP H08305576A
Authority
JP
Japan
Prior art keywords
cell
assertion
cells
value
interaction
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP31934195A
Other languages
English (en)
Inventor
Corella Francisco
フランシスコ・コレッラ
Yankun Kim Michel
ミシェル・ヤンクン・キム
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of JPH08305576A publication Critical patent/JPH08305576A/ja
Pending legal-status Critical Current

Links

Abstract

(57)【要約】 【課題】 コンピュータ・ユーザとの対話を行うエキス
パート・システム用の知識ベース及びその組立てのため
のオーサリングシステムを提供する。 【解決手段】 エキスパート・システムは、ユーザとの
対話を行う実行時間プログラムを有し、一方、オーサリ
ングシステムはオーサが対話的に知識ベースを作ること
を可能とするオーサリングプログラムを有する。知識ベ
ースは、外部データ記憶用のコミュニケーション・セル
と、対話によってユーザから求められたデータの記憶用
のアサーション・セルと、ユーザとの対話を特定し、実
行時間プログラムにより呼び出されると実行される対話
セルとを有する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明はエキスパート・シス
テムの分野に関する。より詳細には、エキスパート・シ
ステムおよび、コンピュータ・ユーザとの対話を行う関
連の方法に関する。
【0002】
【従来の技術】エキスパート・システムは、あるアプリ
ケーション・ドメイン内で専門的な技術を実施する知識
ベースを有し、コンピュータ・ユーザから情報を得るた
めにそのユーザと対話を行い、できればユーザに情報を
戻すコンピュータ・プログラムである。このシステム内
で実施される専門技術は、対話の際にユーザからの直接
関連の質問をこのシステムが求め、この質問に応じてユ
ーザから得た情報に基づきユーザに情報を提供すること
を可能とする。
【0003】専門技術の概念は、複雑なものがほとんど
含まれない、広い意味に理解される。情報の概念も広い
意味に理解される。特に、ユーザに提供される情報があ
れば、それは、アドバイス、ある手続きをどのように実
行するかという指示、説明、例、あるいは他の種類の情
報などを含むことができる。
【0004】従来のエキスパート・システムが有してい
る難点は、エキスパート・システムの組立はプログラミ
ングのかなり高度な専門技術、あるいはこのシステム内
で実施するアプリケーション・ドメイン内の専門技術に
加えて、いわゆる知識エンジニアリングを必要とするこ
とである。プログラマあるいは知識エンジニアは、ドメ
イン・エキスパートからドメイン知識を得て、その知識
ベース内でその知識を、通常、LISPあるいはPROLOGのよ
うな人工知能プログラミング言語で書かれるプログラム
・コードとして、あるいは推論法則のどちらかとしてエ
ンコードしなければならない。これは高額の開発費用が
かかり、知識エンジニアとドメイン・エキスパート間の
意思伝達間違いによっておこる様々な誤りを生み出す可
能性がある。本発明は従来のエキスパート・システムの
こうした欠点にたいする解決を提供する。
【0005】
【発明が解決しようとする課題】本発明の目的は、コン
ピュータ・ユーザとの対話を行うエキスパート・システ
ム用の知識ベースを改良することである。また、本発明
の別の目的は、コンピュータ・ユーザとの対話を行うた
めの改良されたエキスパート・システムおよび、それに
関連した方法を提供することである。
【0006】
【課題を解決するための手段】本発明は上記課題を解決
するために、コンピュータ・ユーザとの対話を行うエキ
スパート・システム用の知識ベースの新規な種類、オー
サリング時間にこの知識ベースを組み立てるためのオー
サリング・システムおよび関連のオーサリング方法、そ
して、その知識ベースにより特定される際に実行時間で
ユーザとの対話を行うためのエキスパート・システムお
よび関連の方法を提供する。本発明によるエキスパート
・システムは、ユーザとの対話を行う実行時間プログラ
ムを有し、一方、オーサリング・システムはオーサリン
グ者が対話的に知識ベースを作ることを可能とするオー
サリングプログラムを有する。本発明は、新規な知識ベ
ースであり、また実行時間にコンピュータ・ユーザとの
対話を行うエキスパート・システムおよびその方法であ
る。
【0007】知識ベースは、外部データ記憶用のコミュ
ニケーション・セルと、対話によってユーザから求めら
れたデータの記憶用のアサーション・セルと、ユーザと
の対話を特定し、実行時間プログラムにより呼び出され
ると実行される対話セルとを有する。各対話セルは、呼
び出し可能となる前に満たさなければならない使用可能
条件を持っている。
【0008】知識ベースは、また、上記使用可能条件の
詳細にたいして有用な中間結果を定義する演算セルを有
する。演算セルの値は、アサーション・セル、コミュニ
ケーション・セル、および演算セルの値を、複数の演算
セル間の参照の循環鎖を有さず、参照する式により与え
られる。
【0009】ユーザとの対話は、繰り返し対話セルを呼
び出すことにより行われる。各対話セルを呼び出すと、
ユーザから受けた情報がアサーション・セルに記録され
る。各呼び出しの後、まだ呼び出されていない対話セル
の使用可能条件が評価され、そして条件が満たされるこ
とが分かったセルは次の呼び出しの候補となる。その候
補の一つが、対話に焦点を合わせ続ける効果がある発見
的基準によって選択される。演算セルの値は、使用可能
条件を評価するプロセスで必要とされる際に演算され
る。コミュニケーション・セルの値は、情報を外部ソー
スより受ける際に対話と非同期的に更新される。
【0010】オーサリング時間に、知識ベースがプログ
ラマや知識技術者である必要がないエキスパート・シス
テムオーサリング者によって作成される。オーサリング
者は広げた紙(以後、スプレッド・シートと称する)に
似た矩形グリッド上に知識ベース・セルを配置する。演
算セルの式の評価や、アサーション・セルやコミュニケ
ーション・セルの値の変化後の対話セルの使用可能条件
の評価は、スプレッド・シートの再計算に類似してお
り、そのグリッド上で見ることができる。オーサリング
者は、アサーション・セルおよびコミュニケーション・
セルの値を設定することにより種々のWhat-if(「…な
らどうだろう」という)シナリオを試みることが可能で
ある。知識ベースの作成は、このWhat-ifシナリオ用の
エキスパート・システムの実行時間の行動のシミュレー
ションでインターリーブさせることができる。このグリ
ッドは唯一のオーサリングツールであり、通常不可視で
あるか、実行時間に存在する。
【0011】
【発明の実施の形態】本発明は2相のアクティビティ、
すなわちエキスパート・システムオーサリング者による
知識ベースの構築(以後、オーサと称する)とエキスパ
ート・システム・ユーザとの対話を行うための知識ベー
スの使用(以後、ユーザと称する)に関する。その構築
相はオーサリング時間と称され、一方、使用相は実行時
間と称される。オーサリング時間に、オーサは、エキス
パート・システムの実行時間行動をシミュレートするこ
とにより知識ベースが構築されたものなのか試験するこ
とが可能である。
【0012】図1はオーサリング時間の本発明による望
ましい実施例を示している。これはオーサ102がエキ
スパート・システムの知識ベース104を構築できるオ
ーサリングシステムを示している。このオーサリングシ
ステムはマルチメディア対応のコンピュータ106を有
している。望ましい一実施例では、コンピュータ106
は、IBMパーソナル・システム/2(PS/2)モデ
ル8595マイクロチャンネル・フロア設置型486シ
ステム105(システム・ユニットと共に供給されるク
イック・リファレンスに記載)であり、IBM PS/
2 アクション媒体IIディスプレイ・アダプタ110(ア
クション媒体IIテクニカル・リファレンスに記載)を装
備しており、IBMオペレーティング・システム/2
(OS/2)2.0(OS/2 2.0クイック・リフ
ァレンスに記載)およびIBMマルチメディア・プレゼ
ンテーション・マネージャ/2(IBMマルチメディア
・プレゼンテーション・マネージャ/2 アクション・
メディア(R)II メディア・コントロール・インター
フェース・プログラミング・ガイドおよびリファレンス
に記載)で実行。
【0013】コンピュータ106はデータおよびプログ
ラム記憶用の記憶システム108とプログラム実行用の
1以上のプロセッサ110を有する。この記憶システム
は構築される知識ベース104とオーサリングプログラ
ム112を含んでいる。このオーサリングプログラムは
オーサリング時間に実行され、オーサによって指示され
た知識ベースを構築する。オーサは、様々な入出力装
置、たとえばコンピュータ・ディスプレイ114(でき
れば接触感応型、つまりタッチ・センサー機能付)、キ
ーボード116、マウス118、マイク120、ビデオ
カメラ122、スピーカ124等のマルチメディア・イ
ンターフェースを介してコンピュータとコミュニケーシ
ョンを行う。もちろんこれらの装置は一例にすぎない。
使用すべき入出力装置群はエキスパート・システム・ア
プリケーションにより適宜選択する。いくつかのアプリ
ケーション用には、従来の入出力装置、例えばディスプ
レイ、キーボード、マウスで充分である。従って、マル
チメディア対応機能は、オーサリング時間の望ましい実
施例の一部だが、必須要件ではない。
【0014】別の実施例では、コンピュータ106はロ
ーカル・エリア・ネットワークを介して接続したサーバ
・コンピュータおよびクライアント・コンピュータを含
んだ分散システムに代えることも可能である。その場
合、入出力装置はクライアントに接続し、一方、記憶シ
ステムおよびプロセッサはサーバおよびクライアント・
コンピュータに分散させる。
【0015】図2は実行時間での本発明の望ましい実施
例を示している。これは、図1のオーサリングシステム
によってオーサリング時間に構築された知識ベース10
4を使用するユーザ202と対話を行うエキスパート・
システムを示している。このエキスパート・システムは
マルチメディア対応機能を有するコンピュータ206を
有する。望ましい一実施例では、コンピュータ206
は、IBMパーソナル・システム/2(PS/2)モデ
ル8595マイクロチャンネル・フロア設置型486シ
ステム105(システム・ユニットと共に供給されるク
イック・リファレンスに記載)であり、IBM PS/
2 アクション媒体IIディスプレイ・アダプタ110(ア
クション媒体IIテクニカル・リファレンスに記載)を装
備しており、IBMオペレーティング・システム/2
(OS/2)2.0(OS/2 2.0クイック・リフ
ァレンスに記載)およびIBMマルチメディア・プレゼ
ンテーション・マネージャ/2(IBMマルチメディア
・プレゼンテーション・マネージャ/2 アクション・
メディア(R)II メディア・コントロール・インター
フェース・プログラミング・ガイドおよびリファレンス
に記載)で実行。
【0016】コンピュータ206はデータおよびプログ
ラム記憶用の記憶システム208とプログラム実行用の
1以上のプロセッサ210を有する。この記憶システム
は図1のオーサリングシステムを使用して構築された知
識ベース104と、実行時間プログラム212を含んで
いる。この実行時間プログラムは実行時間に実行され、
知識ベースによって特定されたようにユーザとの対話を
行う。ユーザは、様々な入出力装置、たとえばコンピュ
ータ・ディスプレイ214(できればタッチ・センサー
機能付)、キーボード216、マウス218、マイク2
20、スピーカ222等のマルチメディア・インターフ
ェースを介してコンピュータとコミュニケーションを行
う。もちろんこれらの装置は一例にすぎない。使用すべ
き入出力装置群はエキスパート・システムのアプリケー
ションに応じて適宜選択する。いくつかのアプリケーシ
ョン用には、従来の入出力装置、例えばディスプレイ、
キーボード、マウスで充分である。従って、マルチメデ
ィア対応機能は、オーサリング時間の望ましい実施例の
一部だが、必須要件ではない。
【0017】別の実施例では、コンピュータ206はロ
ーカル・エリア・ネットワークを介して接続したサーバ
・コンピュータおよびクライアント・コンピュータを含
んだ分散システムに代えることも可能である。その場
合、入出力装置はクライアントに接続し、一方、記憶シ
ステムおよびプロセッサはサーバおよびクライアント・
コンピュータに分散させる。
【0018】オーサリング時間に使用するコンピュータ
106と実行時間に使用するコンピュータ206は同じ
であっても、異なってもよい。通常、1台のコンピュー
タがオーサリング時間にエキスパート・システムを構築
するためオーサにより使用され、そのエキスパート・シ
ステムの複数のコピーが複数のコンピュータにインスト
ールされ、複数のユーザにより実行時間に使用される。
実行時間で必要とされる入出力装置は、オーサリング時
間で必要とされる入出力装置より少ない。例えば、ビデ
オ・オーディオ・クリップが実行時間にユーザに対して
提示すべき情報の一部であると仮定すると、そのクリッ
プがマルチメディア・ライブラリ内で既に有効でないな
らば、そのクリップを記録するためにカメラおよびマイ
クがオーサリング時間に必要となる。ビデオを表示可能
なコンピュータ・ディスプレイとスピーカもオーサリン
グ時間に必要となり、それによりオーサが記録したクリ
ップの適、不適をチェックすることが可能である。実行
時間には、ビデオ・ディスプレイとスピーカのみが必要
である。カメラとマイクはビデオ・オーディオ・クリッ
プに関しては必要がない。しかし、マイクは会話入力用
に必要とされる場合もある。
【0019】図3は知識ベースの全体を示しており、実
行時間における情報の流れを説明するためのものであ
る。
【0020】知識ベース104は4組の知識ベース・セ
ル、つまり、アサーション・セル302、コミュニケー
ション・セル304、演算セル306、対話セル308
を有する。このコミュニケーション・セル304と演算
セル306はオプションである。
【0021】対話セル308は実行時間にユーザと行う
対話を特定する。より正確には、各対話セルは1以上の
対話、例えば、ユーザからの質問、ユーザに与えられる
アドバイスなどを特定する。対話セルにより特定された
対話を実施する時の対話セルをコンピュータ・プログラ
ムが「呼び出す」と称する。実行時間プログラム212
は、後述する方法で一連の対話セルを順番に呼び出すこ
とによりユーザとの対話を行う。オーサリングプログラ
ム112もエキスパート・システムの実行時間行動をシ
ミュレートするために対話セルを呼び出すことができ
る。
【0022】図3の矢印は実行時間における情報の流れ
を表している。ユーザ310は、対話セル308が実行
時間プログラムによって呼び出されると知識ベース10
4に情報を与え312かつ情報を受ける314。ユーザ
から得た情報312はアサーション・セル302に記憶
させる(316)。コミュニケーション・セル304
は、電話回線あるいはコンピュータ・ネットワークを通
じて図2のエキスパート・システム・コンピュータ20
6に接続した第二コンピュータのような外部ソース32
0からの情報318を受ける。外部ソースは、実行時間
プログラムと同じコンピュータ206で実行し、その実
行時間プログラムとコミュニケーションを取るプログラ
ムとすることも可能である。演算セル306は、アサー
ション・セルの値を参照(322)、コミュニケーショ
ン・セルの値を参照(323)、演算セルの値を参照
(324)する式により与えられる値を有する。対話セ
ルの使用可能条件326は、アサーション・セルの値を
参照(328)、コミュニケーション・セルの値を参照
(330)、演算セルの値を参照(332)する式であ
る。より正確には、各対話セルは後述の方法で使用可能
かどうか決定する値を有する一つの使用可能条件を持っ
ている。対話セルは使用可能であれば実行時間にのみ一
つの対話セルを呼び出すことができる。
【0023】知識ベース・セルは、構成要素の様々な集
まりから成るデータ構造物である。各種セルの構成要素
は後述する。オーサは、オーサリングシステムの記憶シ
ステム108においてオーサリング時間に知識ベース・
セルを作成する。知識ベース104がオーサリングシス
テムから実行時間システムに転送されると、オーサによ
り作成された知識ベース・セルは実行時間システムの記
憶システム208内のデータ構造物となる。
【0024】望ましい一実施例では、知識ベース・セル
は、オーサリング時間にスプレッド・シートに似た矩形
のグリッド(オーサリンググリッドと称する)のセルと
関連させる。図4はオーサリンググリッド402を表示
するオーサリングシステムのコンピュータ・ディスプレ
イ114を示す。スクリーンの下部は制御エリア404
で、その内容は図28に関して後述する。
【0025】グリッドの一部分のみディスプレイ上に表
示してあり、このグリッドは従来公知の手段によりスク
ロールすることができる。図4の例では、縦行1から1
1および横行AからEが表示されないように、グリッド
がスクロールされた状態を示している。
【0026】知識ベース・セルを作成するため、オーサ
はフリーのグリッド・セル、つまり知識ベース・セルに
未だ関連させられていないグリッド・セルを選ぶ。コン
ピュータ・マウス118のような位置決め装置により制
御されるポインタ406が、選ばれたグリッド・セルを
位置決めするために使用される。図4の例では、選ばれ
たグリッド・セルはグリッド座標H13を有するセルで
ある。そして、マウスの左ボタンをクリックすることに
よりポップアップ・メニュ408を表示する。オーサは
このメニュを使用して作成する知識ベース・セルの型を
指示する。別のポップアップ・メニュあるいは対話の他
のメニュにより、オーサが選択したセルの種類に適した
データ構造物の構成要素を特定することができる。知識
ベース・セルが記憶システム108のデータ構造物とし
て作成され、グリッド・セルに関連させる。
【0027】知識ベース・セルとグリッド・セル間の連
関は、関連させた知識ベース・セルを参照するためにグ
リッド・セルをオーサが示すことを可能とし、かつ、知
識ベース・セルに対する参照としてそのグリッド・セル
の座標を使用することを可能とする。グリッド・セル
は、知識ベース・セルがアサーション・セル、コミュニ
ケーション・セル、あるいは演算セルである時に関連さ
せた知識ベース・セルをさらに表示するために使用さ
れ、知識ベース・セルが未だ呼び出されていない対話セ
ルである時に、関連させたグリッド・セルは対話セルの
使用可能条件の値を表示する。グリッド・セルに表示さ
れた値は、実行時間値をシミュレートするオーサリング
時間値なのでシミュレーション値と称される。
【0028】スプレッド・シートの形として、一つ以上
のグリッドが使用可能である。その場合では、グリッド
・セルは3つの座標を有することになり、その1つはセ
ルを含むグリッドを示し、他の2つはセルの横行と縦行
を特定する。
【0029】オーサリンググリッドは、オーサだけが見
るオーサリングツールである。それはユーザからは見ら
れず、また実行時間システムの一部でもない。
【0030】オーサリンググリッドを使用しない別の実
施例もある。グリッド・セル以外の手段を使用してコン
ピュータ・ディスプレイ上に知識ベース・セルを表示
し、また、そのシミュレーション値を表示する。さら
に、知識ベースは対話的に構築する必要がない。別の実
施例では、オーサは知識ベース・セルの集まりを形式言
語で書かれた構造テキストを使用して記述する。知識ベ
ース・コンパイラを使用して、構造テキストにより特定
されたように知識ベース・セルを作成し、またオーサが
その知識ベースをテストするために実行時間システムと
同一のテスト・システムを使用する。こうした実施例で
は、オーサリングシステムは知識ベース・コンパイラお
よびテスト・システムから構成される。
【0031】オーサリンググリッドを使用する望ましい
実施例では、混乱する危険がない時は知識ベース・セル
をそれと関連させたグリッド・セルと同一と見なす。こ
の条件下では、5種類のグリッド・セルがある。すなわ
ち、アサーション・セル、コミュニケーション・セル、
演算セル、対話セルおよびフリー・セルであり、はじめ
の4種は知識ベース・セルである。グリッド・セルは、
知識ベース・セルに関連づけるようになると、知識ベー
ス・セルとして割り当てられる。
【0032】図5は、いくつかのグリッド・セルが知識
ベース・セルとして割り当てられたオーサリンググリッ
ドの例を示しており、グリッドの一部のみ図示されてい
る。この知識ベースは、実行例として以後使用する家庭
健康管理アプリケーションのものである。このアプリケ
ーションでは、実行時間にエキスパート・システムが患
者の家庭にインストールされ、健康管理提供者である看
護婦や患者の関係者がその患者についての情報を提供す
るために、このエキスパート・システムと対話し、そし
て患者の健康管理についてのアドバイスや指示を受け
る。
【0033】オーサリンググリッドを使用する本発明の
望ましい実施例の一つでは、各知識ベース・セルは名称
を持ち、知識ベース・セルを表すために割り当てたグリ
ッド・セルの直ぐ上のグリッド・セルに表示される。例
えば、図5では、ANCが座標B1を有するグリッド・
セルにより示された知識ベース・セルの名称である。一
方、グリッド・セルB1は知識ベース・セルのシミュレ
ーション値950を示しており、その知識ベースの名称
はB1の直ぐ上のセルA1内に示されている。名称を表
示するグリッド・セルがフリーのグリッド・セルでなけ
れば、名称は表示されない。名称が一つのグリッド・セ
ルに入り切らなければ、右側のグリッド・セルにはみ出
すか、フリーのグリッド・セルがなければ名称を切り詰
める。
【0034】知識ベース・セルの名称、およびそのグリ
ッド座標(つまり、関連づけたグリッド・セルのグリッ
ド上の座標)の両方を知識ベース・セルの参照として使
用可能である。知識ベース・セルを参照する2つの手段
を持つことは、もちろん冗長である。別の実施例では、
1つの手段のみ、つまり位置か名称が使用され、オーサ
リンググリッドが使用されない実施例ではこの手段は名
称である。
【0035】図5のさらに詳細な説明は後述する本発明
の特徴に関する説明のなかでおこなう。図5のグリッド
はオーサリンググリッドであり、図5に示された全ての
値はオーサリング時間シミュレーション値であり、それ
にもかかわらず、実行時間例の値と一致させるべく選択
されたという事を留意しなければならない。
【0036】オーサリンググリッドを使用する本発明の
望ましい実施例の一つでは、対話セルは位置フィール
ド、名称フィールド、使用可能条件フィールド、状態フ
ィールド、およびそれ自体組み合わせデータ構造物であ
る1以上の対話フォーマット等を有する。位置フィール
ドは対話セルのグリッド座標を含み、一方名称フィール
ドは名称を含む。図6は、以下に示す構成要素を含む対
話セル600の一例を示す。
【0037】1.POSのラベルをつけたN1座標を含む
位置フィールド602。
【0038】2.NAMEのラベルをつけた「COUGH_FREQ」
という名称を含む名称フィールド604。このセルの目
的はユーザからの情報、つまり家庭健康管理者から患者
の咳の回数情報を得ることである。
【0039】3.EN_CONDのラベルをつけた使用可能条
件K4を含む使用可能条件フィールド606。一般的
に、使用可能条件はアサーション・セル、コミュニケー
ション・セル、演算セルの値に対する参照を含んでいる
式であり、対話セルが使用可能かどうか決定する。望ま
しい一実施例では、その式がNIL以外の値を取る時に使
用可能条件が満たされ、対話セルが使用可能となる。こ
の例では、使用可能条件は座標K4のセルに対する単一
の参照から成る式であり、従って対話セルはセルK4の
値がNIL以外の時に使用可能となる。
【0040】4.STATUSのラベルをつけたDONEというキ
ーワードを含む状態フィールド608。望ましい一実施
例では、どの対話セルの状態フィールドもREADYあるい
はDONEというキーワードを含んでいる。エキスパート・
システムの実行時間使用の開始で状態はREADYとなり、
一旦セルが呼び出されるとDONEとなる。状態がREADYの
間に、セルが使用可能となると、それが実行時間プログ
ラムによる呼び出しの候補となる。この例では、状態は
DONEである。
【0041】5.質問フォーマットである対話フォーマ
ット610。質問フォーマットは、ユーザに問いただす
質問のテキストを含むQUESTION(質問)フィールドと、
1以上のANSWER(回答)フィールドから成り、ANSWERの
各々はアサーション・セルに対する参照(名称あるいは
座標による)を含んだLINKフィールドに接続されてい
る。ANSWERフィールドは、ユーザに表示される回答のメ
ニュを有し、それからユーザは多くの選択をゼロとする
ことができる。一つのANSWERを選択することは、接続し
たアサーション・セル、すなわち、ANSWERフィールドに
接続したLINKフィールドにより特定したアサーション・
セルに、TRUE値を記憶させることにより記録されるアサ
ーションを作ることである。この例では、QUESTIONフィ
ールド612は「HOW OFTEN DOES THE PATIENT COUGH?
(患者の咳はどのくらいの頻度ですか?)」という質問
を含み、LINKフィールド620、622、624により
アサーション・セルN4、N6、N8に連係した、可能
性のある回答「OCCASIONALLY(時折)」、「OFTEN(し
ばしば)」、「ALL THE TIME(いつも)」を含んでいる
3つのANSWERフィールド614、616、618があ
る。ユーザが「OFTEN(しばしば)」を選択すると、患
者はしばしば咳をするというアサーションを作ることに
なる。このアサーションは連係させたアサーション・セ
ルN6に記録される。
【0042】図7は、図6の対話セルが実行時間プログ
ラムによって呼び出される時の実行時間コンピュータ・
ディスプレイ214の望ましい外観を示している。この
ディスプレイはタッチ・センサー機能付であり、ユーザ
は回答の左側にあるタッチ・ボックス(あるいは単にボ
タンと称する)を触ることにより選択をおこない、ボッ
クス内にチェックした印を表示する。この図は、ユーザ
がボックス702を触り、OFTENという回答を選択した
ことを示している。ディスプレイの下部にある制御エリ
ア706にあるDONEというラベルのボタン704をユー
ザが触ることにより対話を終了させる。ボタン704は
対話セルの呼び出しを終わらせ、対話セルの状態をREAD
YからDONEに変える。
【0043】図8乃至図10は、それぞれリンク62
0、622、624で対話セル600に連係させたアサ
ーション・セル802、804、806を示す。オーサ
リンググリッドを使用する望ましい一実施例では、各ア
サーション・セルは、オーサリンググリッド上のセルの
座標、名称フィールド、値フィールドを含んだ位置フィ
ールドを有する。たとえば、アサーション・セル802
は、セル座標N4を持ちPOSというラベルをつけた位置
フィールド808、セルの名称COUCH_OCCを有するNAME
フィールド810、セルの値NILを持つVALUEフィールド
812を含む。3つのセルの座標N4、N6、N8は、
それぞれリンク620、622、624により対話セル
600に連係させたアサーション・セルであることを示
す。セル804は、図7に示したOFTENという回答をユ
ーザが選択したことに起因する、患者はしばしば咳をす
るというアサーションを記録する値TRUEを含んだVALUE
フィールド814を有することを示している。
【0044】アサーション・セルは複数の対話セルに連
係させることも可能である。その対話セルのどれかが呼
び出されると、値を受け取ることになる。
【0045】図6の対話セルが呼び出される時、アサー
ション・セル802、804、806のどれかが既に値
TRUEを有しているなら、図7に示したコンピュータ・デ
ィスプレイの対応するタッチ・ボックスは対話の開始の
時点でチェック印を持っている。こうして各ボックスは
対応するアサーション・セルの値を反映させる。チェッ
ク印はTRUEを意味し、チェック印が無しはNILを意味す
る。この2つの値TRUEあるいはNILだけを取るアサーシ
ョン・セルは論理アサーション・セルと呼ばれる。TRUE
というキーワードは真の論理値であり、NILというキー
ワードは偽の論理値である。(他の実施例では、論理値
はTRUEとNILに代わって、TRUEとFALSE、あるいは1と0
とすることも可能である。)論理値以外の値を取る可能
性のあるアサーションはデータ・アサーション・セルと
呼ばれる。
【0046】図7に戻り、制御エリア706は、さらに
HELPというラベルのボタン708、REVIEWというラベル
のボタン710、QUITというラベルのボタン712を有
する。HELPボタン708を触ると実行時間のエキスパー
ト・システムの使用方法についての情報が与えられる。
REVIEWボタン710を触ると、前の対話を再度行うこと
ができ、また前に入れた回答やデータを修正できるモー
ドにエキスパート・システムを入れる。QUITボタン71
2を触るとユーザとの対話を終了する。
【0047】図5のオーサリンググリッドと図6の対話
セルに戻り説明を続ける。オーサは座標N1のグリッド
・セルを対話セル600に割り当ててある。セルのCOUC
H_FREQという名称がN1セルの上のM1セルとM2セル
にはみ出して表示してある。グリッド・セルN1そのも
のはDONEというキーワードを表示している。これは、対
話セルがシミュレーションの途中で既に呼び出されてい
ることを示しているシミュレーション状態である。シミ
ュレーション状態がREADYなら、代わってN1セルは使
用可能条件式K4のシミュレーション値を表示すること
になる。対話セルのシミュレーション状態がDONEの時、
使用可能条件のシミュレーション値は不適切であり、表
示する必要がない。使用可能条件式はオーサリンググリ
ッド上に示されていないが、図38に関して後に説明す
るように、オーサはセルを編集することによって見たり
変更したりすることができる。
【0048】対話セル600に連係させた図8から図1
0のアサーション・セルも図5内で見ることができる。
座標N4、N6、N8を有するグリッド・セルは、それ
ぞれアサーション・セル802、804、806として
割り当ててあり、図7乃至図10の例の実行時間値と一
致するNIL、TRUE、NILのシミュレーション値を示してい
る。アサーション・セル802の名称「COUGH_OCC」は
グリッド・セルN4の上とその右のM4とM5の位置に
示されている。同様に、アサーション・セルN6の名称
「COUGH_OFTEN」はM6とM7の位置、アサーション・
セルN8の名称「COUGH_ALWAYS」はM8とM9の位置に
示されている。
【0049】図11は2つの対話フォーマットを有する
対話セル900を示している。そのセルの座標902は
K1で、名称904はMAIN_SYMPTOMS、使用可能条件9
06は一定式TRUEで、これはセルが常に使用可能である
ことを意味し、その状態フィールド908は値DONEを有
していることを示している。
【0050】第一対話フォーマットはセル600の質問
フォーマット610に類似した質問フォーマット910
である。可能性のある回答(ANSWER)のCOUGH(咳)、P
AIN(痛み)、VOMITING(嘔吐)、DIARRHEA(下痢)、D
IZZINESS(めまい)、OTHER(その他)は、それぞれグ
リッド座標K4、K6、K8、K10、K12、K14
を有するアサーション・セルに連係させる。
【0051】第二対話フォーマット912は、数値を入
れるために接触感応タイプのコンピュータ・ディスプレ
イの利用を説明する数値キーパッド・フォーマットであ
る。このフォーマットは、ENTER THE PATIENT'S TEMPER
ATURE(患者の体温を入れて下さい)というテキストを
含んだPROMPTフィールド914、およびグリッド座標E
1を有するアサーション・セルを参照するLINKフィール
ド916のみ持っている。アサーション・セルK4、K
6、K8、K10、K12、K14と同様にアサーショ
ン・セルE1は対話セル900に連関させるものであ
る。
【0052】図12は、対話セル900を実行時間に呼
び出した時、あるいはオーサリング時間のシミュレーシ
ョンの間のディスプレイの外観を示している。このディ
スプレイは3つのエリア1010、1020、1030
に分けられている。
【0053】第一のエリア1010は、図7に示したよ
うに質問フォーマットの質問と可能性のある回答のメニ
ューを表示している。チェック印はCOUGHという回答の
隣のボックス1012とPAINという回答の隣のボックス
1014に見られる。これは連係させたアサーション・
セルK4とK6の現在値がTRUEであり、一方他の連係ア
サーション・セルの現在値はNILであることを示してい
る。K4はCOUGH_FREQ対話セル600の使用可能条件で
あることは既に説明したが、ユーザが主な症状としてCO
UGH(咳)を選択すると、アサーション・セルK4はTRU
E値を取り、そしてHOW OFTEN DOES THE PATIENT COUGH
(患者の咳の回数はどれくらいですか)という質問を行
う対話セルが使用可能となる。
【0054】第二のエリア1020はENTER THE PATIEN
T'S TEMPERATURE(患者の体温を入れて下さい)という
プロンプトを表示しており、温度は数字キー1024を
触ることによりウィンドウ1022内に入れることがで
きる。
【0055】図7のように、制御エリア1030は触る
と対話を終了させるDONEというラベルをつけたボタン1
032を含む。
【0056】図13はLINKフィールド916によって特
定された座標E1を有する連係させたアサーション・セ
ル1100を示している。POSフィールド1102は座
標E1を含み、NAMEフィールド1104はTEMPという名
称を含み、VALUEフィールド1106はウィンドウ10
22に入れた図12に示した値100.5を含む。
【0057】論理値TRUEまたはNILを記憶するために使
用した図8乃至図10の論理アサーション・セルとは逆
に、アサーション・セル1100はデータのアサーショ
ン・セルである。特に、患者の体温を示す数値、あるい
は、ユーザが患者の体温をまだ入れてなければ値NILを
記憶する数的アサーション・セルである。こうしてキー
ワードNILは間違った論理値として、また、どの型の表
示でも空白値(従来、情報の不在)として使用される。
この2種の使用法は、論理アサーション・セルの2つの
可能性のある値が「アサーションは真理」対「アサーシ
ョンは誤り」というより「アサーションは既存」対「ア
サーションは未だ作成されず」という意味として使われ
るなら両立する。
【0058】対話セル900が呼び出される時にアサー
ション・セル1100に記憶した値がNILなら、ウィン
ドウ1022は対話の開始時点では空白である。アサー
ション・セル1100がNIL以外の値を含んでいるな
ら、この値が対話の開始時点にウィンドウ1022に表
示される。従って、空白値NILは空白ウィンドウによっ
て反映させるという決まりで、ウィンドウ1022は常
に連係させたアサーション・セルの値を反映する。
【0059】対話セル900に連係したアサーション・
セルのいくつかと同じように対話セル900に関連させ
たグリッド・セルK1は、図5に示されている。連係さ
せたアサーション・セル1100を表示するために割り
当てたグリッド・セルE1は、図12乃至図13の例の
実行時間値と一致するシミュレーション値100.5を
示している。TEMPというセルの名称は、割り当てたグリ
ッド・セルの上のフリーなグリッド・セルD1上に示さ
れている。COUGH(咳)およびPAIN(痛み)という回答
に連係したセルK4およびK6はシミュレーション値TR
UEを表示し、一方、VOMITING(嘔吐)およびDIARRHEA
(下痢)に連係させたK8およびK10はシミュレーシ
ョン値NILを示す。
【0060】図14はユーザからの情報を得るためより
も、ユーザに情報を提供することを目的とする対話セル
1200を示している。この対話セルは、他の対話セル
同様、座標H1を有する位置フィールド1202、CALL
_DRという名称を有する名称フィールド1204、式「H
4 OR N8 OR…」(つまり、初めの2つの選言肢がH4とN8
である選言)を有する使用可能条件フィールド、READY
というキーワードを有する状態フィールド1208等を
含む。演算セルの説明が終わった後に使用可能条件につ
いて詳細に説明を行う。
【0061】対話セル1200は対話フォーマット12
10であるメッセージ・フォーマットを有している。メ
ッセージ・フォーマットはメッセージのテキストを特定
するTEXTフィールド1212のみ有する。対話フォーマ
ット1210はLINKフィールドを含まないことに留意す
る必要がある。従って、対話セル1200に連係させた
アサーション・セルは存在しない。
【0062】図15は、実行時間に対話セル1200が
呼び出される時のコンピュータ・ディスプレイ214の
外観を示すものである。メッセージ1302はメッセー
ジ・フォーマットに対して割り当てたエリア1304内
に表示され、ユーザが制御エリア1308内に設けたDO
NEボタン1306を触るまで、そのディスプレイ上に表
示され続ける。
【0063】対話セル1200は図5のグリッド上にも
示されている。割り当てたグリッド・セルH1は使用可
能条件のシミュレーション値をTRUEとして示してあり、
一方、セルG1はNAMEフィールドの内容を表示する。
【0064】図16はユーザとの対話を容易にするため
にマルチメディアを使用した例を示している。これは、
座標T1を有する位置フィールド1402、PAIN_LOCAT
IONという名称を有するNAMEフィールド1404、式K
6を有する使用可能条件フィールド、キーワードDONEを
有する状態フィールド1408等を含む対話セル140
0である。K6は、図11の質問フォーマット910の
回答「PAIN(痛み)」に連係したアサーション・セルな
ので、ユーザが主な症状としてPAINを選択すると対話セ
ル1400は使用可能となる。
【0065】この対話セル1400は対話フォーマット
1410を一つ有しており、これはマルチメディア・フ
ォーマットである。さらに詳しく説明すると、対話フォ
ーマット1410はAUDIO-AND-CHART FORMAT(オーディ
オおよびチャートのフォーマット)と呼ばれている。こ
れはオーディオ・クリップを含むAUDIOフィールド14
12と、接触感応エリアを有する人体図を含むCHARTフ
ィールド1414を有している。AUDIOフィールド14
12は、オーディオ・クリップそのものより、マルチメ
ディア・ライブラリに記憶させたオーディオ・クリップ
に対するポインタを含むことが可能であった。同様に、
CHARTフィールド1414もチャート・クリップそのも
のより、マルチメディア・ライブラリに記憶させたチャ
ート・クリップに対するポインタを含むことが可能であ
った。
【0066】さらに、対話フォーマット1400はこの
チャート内の各接触感応エリアを1つのアサーション・
セルに関連づける表1416を有する。このアサーショ
ン・セルは表のLINKフィールドで特定され、対話セル1
400に連係させられる。
【0067】図17は、実行時間に対話セル1400が
呼び出される時のユーザと行う対話を示している。コン
ピュータ・ディスプレイ214はCHARTフィールド14
14により特定された人体図1502を表示している。
スピーカ222はAUDIOフィールド1412により特定
されたオーディオ・クリップを発する。それは「患者が
痛がる部分を全て押して下さい」という指示をユーザに
出すものである。1つのエリアを押すことにより、その
エリアが光り、一方、光っているエリアを押すことによ
りその部分は通常の光っていない状態に戻る。いつで
も、ユーザはDONEボタン1506を触ることによりこの
対話を終了させる。
【0068】人体図1502は対話セル1400に連係
したアサーション・セルの値を反映している。あるエリ
アが光ると、そのエリアに連係したアサーション・セル
が値TRUEを有する。あるエリアが光っていない場合は、
そのエリアに連係したアサーション・セルが値NILを有
する。例えば、胸のエリア1504が光ると、図17に
示すように患者が胸の痛みを訴えていることを意味す
る。表1416は胸のエリア「AREA 3」を特定し、それ
が座標T8を有するアサーション・セルに連係してい
る。そのセルの値はTRUEで、一方、他の連係アサーショ
ン・セルの値はNILである。図20は、値TRUEを有する
胸の痛みを記録するために使用されるアサーション・セ
ル1610を示し、図18および図19は値NILを有す
る頭と首の痛みをそれぞれ記録するために使用されるア
サーション・セル1650、1660を示している。こ
の対話セル1400、および連係させたアサーション・
セル1650、1660、1610をそれぞれ表示する
ために割り当てたグリッド・セルT1、T4、T6、T
8 は図5のオーサリング時間グリッド上に見いだすこ
とができる。
【0069】あるアサーションはある限定された状況下
でのみ意味をなす。例えば、患者のおしめに血液が見ら
れたというアサーションは、患者が4歳未満のみに意味
をなす。別の実施例では、いくつかのアサーション・セ
ルは、そのセルにたいする使用可能条件を含む追加のフ
ィールドを有する。アサーション・セルの使用可能条件
は、対話セルの使用可能条件と同様に、式である。アサ
ーション・セルが使用可能条件を有する時にアサーショ
ン・セルは無効とされ、使用可能条件の現在値はNILで
ある。アサーション・セルが無効にされるとアサーショ
ン・セルの値はNILとされる。アサーション・セルの使
用可能条件はアサーション使用可能条件と呼ばれる。
【0070】例えば、図21は、おしめに血液が見られ
るというアサーションを記録するアサーション・セル1
700を示している。これは、AGE_YEARS<4という式を
含む使用可能条件フィールド1702を有しており、AG
E_YEARSは患者の年齢を含むアサーション・セルの名称
である。患者の年齢が入れられており、かつ4歳未満で
あれば、この式の値はTRUEであり、他の場合はNILであ
る。使用可能条件の値がNILならNIL以外の値をVALUEフ
ィールド1704に入れることはできない。望ましい一
実施例では、各質問フォーマット、あるいは、別な方法
によりユーザが一つの回答を入れるのを可能にする他の
対話フォーマットにおけるアサーション・セル1700
に連係させた各回答を除去するか、不活性にすることに
よりこれを強化する。さらに、アサーション・セル17
00の値がTRUEの時に使用可能条件がNILになるなら、
そのアサーション・セルの値はNILに変わる。
【0071】オーサリンググリッドを用いる望ましい一
実施例では、セルの値の代わりに現在のアサーション・
セルを表示するために割り当てたグリッド・セルにDISA
BLEDというキーワードが表示される。
【0072】コミュニケーション・セルは外部ソースか
ら発した情報項目を記録する。その外部ソースは、実行
時間に実行時間コンピュータ206に接続した別のコン
ピュータ、あるいは実行時間プログラム212と同じコ
ンピュータ206上で実行し、かつ実行時間プログラム
とコミュニケーションを行うプログラムが可能である。
例えば、外部ソースは病院、診療所、研究所、あるいは
医師の執務室にあるコンピュータが考えられる。実行時
間プログラムがユーザと共に行う対話と非同期して、情
報項目が外部ソースから入るとコミュニケーション値と
してコミュニケーション・セルに記憶される。望ましい
一実施例では、ポップアップ・ウィンドウに表示される
メッセージにより対話が中断され、ユーザは情報項目の
到着の知らせを受ける。ユーザがメッセージを了解した
後に対話が再開する。新たなコミュニケーション値が使
用可能条件の値を影響することにより再開した対話に影
響を与える。
【0073】オーサリング時間にオーサリンググリッド
を使用する望ましい一実施例では、コミュニケーション
・セルは、そのセルの座標を有する位置フィールド、名
称フィールド、値フィールド、そして新たな値を受け取
り、セルの値フィールドに記憶させる時にユーザに表示
する告示のテキストを含む告示フィールドを有する。図
22はこうしたコミュニケーション・セル1800を示
している。位置フィールド1802(POSというラベル
が付けられている)は座標B1を含む。名称フィールド
1804は、ANCという名称を有し、値フィールド18
06は値950を含み、NOTIFというラベルの付いた告
知フィールド1808は「A BLOOD TESTRESULT HAS ARR
IVED. THE ABSOLUTE NEUTROPHIL COUNT (ANC) IS @AN
C.(血液検査の結果が到着しています。絶対好中球数
(ANC)は@ANCです。)」というメッセージを含んでい
る。このメッセージ中で、@ANCはANCセルの値にたいす
るパラメータ、つまり、コミュニケーション・セルその
ものの値である。この告知がユーザに提示される時に値
フィールドの現在の内容と交換される。
【0074】NOTIFフィールド1808の@ANCのような
パラメータは、メッセージ・フォーマットのTEXTフィー
ルドや質問フォーマットのQUESTIONフィールドのような
文字列を含んだ他のフィールドにも使用可能である。
【0075】図23は、図12の例で示した対話を行っ
ている際にANCの新たな値を受け取る時の実行時間ディ
スプレイ214の望ましい外観を示している。対話が、
新たな値のユーザを告知するポップアップ・ウィンドウ
1902により中断される。ポップアップ・ウィンドウ
が消え、ユーザがOKボタン1904を押すと対話が再
開する。
【0076】コミュニケーション・セル1800は図5
のオーサリンググリッドに示すことができる。割り当て
たグリッド・セルB1はセルのシミュレーション値が9
50に等しいことを示しており、これは図22乃至図2
3の例の実行時間値に一致しており、一方、セルの名称
がB1の直ぐ上のフリーなグリッド・セルA1上に示さ
れている。
【0077】複雑な使用可能条件の詳細を単純化する概
念を定義するため、オーサにより演算セルを使用するこ
とができる。実行時間に、演算セルの値は使用可能条件
の評価における中間結果として役立つ。定義によれば、
演算セルの値はその式の現在値となる。式を評価するた
めの(つまり、その値を演算するための)アルゴリズム
を以下に説明する。
【0078】望ましい一実施例では、演算セルの値は使
用可能条件を評価する必要がある時のみ演算する。値を
演算すると、同じ値を繰り返し演算しないようにその演
算値を演算セルの値フィールド内に保存する。セルの現
在値が知らされておらず、式が評価を必要としているこ
とを示すために特別なトークン「-」を値フィールドに
記憶させる。定義によれば、演算セルの値フィールドを
クリアするためには、そのフィールドに「-」を記憶さ
せる。
【0079】各演算セルの式は、他の演算セルの値と同
様にアサーション・セルの値およびコミュニケーション
・セルの値を参照することができる。しかし、複数の演
算セル間の参照の環状鎖は存在しないと考えられる。
【0080】望ましい実施例では、演算セルで使用可能
な式の類と、対話セルまたはアサーション・セルの使用
可能条件として使用可能な式の類とでは違いがない。
【0081】望ましい実施例では、各式は、オーサリン
グ時間に決定することが可能な型を有する。有効な型の
式は、論理式(a.k.a.ブール式)、数式、日付の式、ス
トリングの式、等である。どの型の式も空白値として値
NILを取ることができる。論理式は値TRUEまたはNILのみ
取ることが可能である。論理式以外のどの型の式もデー
タ式と言える。式は次のものが可能である。
【0082】1.有効な型の一つの定数。この定数の値
はそれ自体定数である。
【0083】2.アサーション・セルまたはコミュニケ
ーション・セルに対する参照、これはセルの名称あるい
は座標が可能である。この式の値は参照したセルの現在
値であり、そのセルの値フィールドに記憶させる。この
参照の型はセルに記憶させることができる値の型であ
る。アサーション・セルが対話フォーマットに対する連
係を1以上持っているなら、全ての連係はユーザから得
る値、およびアサーション・セルに記憶させる値の同じ
型を特定しなくてはならない、それ以外、間違いはオー
サリング時間に検出する。例えば、論理値を受け取る質
問フォーマットの回答への連係も有することは、図11
の数値キーパッド・フォーマット912に対する連係を
介して数値を受ける図13のアサーション・セル110
0にとって間違いとなる。
【0084】3.演算セルに対する参照。これはそのセ
ルの名称あるいは座標が考えられる。参照の型は演算セ
ルの式の型である。参照の値は演算セルの現在値であ
り、これは式を評価することにより得ることができる。
【0085】4.1以上のデータ・オペランドに適用し
たデータ演算子を有するデータ演算子の式。これはそれ
自体がデータ式(例えば、Z1+2で、Z1は数的アサ
ーション・セルへの参照である。)このオペランドの型
は演算子により予期されるものでなければならない、他
の場合はオーサリング時間に検出する。オペランドのど
れかが値NILをとるなら、データ演算子式を行う。
【0086】5.データ式(例えばZ1>2)である1
以上(通常2)のデータ・オペランドに適用した関係演
算子を有する関係演算子式。オペランドの型は演算子に
より予期されるものでなくてはならない。関係演算子式
は論理式であり、オペランドのどれかが値NILを取る
か、オペランドが演算子により特定された関係にないな
ら値NILを取り、他の場合は値TRUEを取る。
【0087】6.1以上のオペランドに適用した、NO
T、AND、OR、XOR等の論理演算子を有する論理演算子式
で、それ自体が式である。オペランドはどの型でもよ
い。慣習的に、論理演算子はNILを虚偽として扱い、NIL
(TRUEではない)以外の値は真理として扱い、その真理
表により最終的に論理値NILまたはTRUEを生成する。
【0088】7.角形括弧式で、角形括弧でくくられた
いかなる型の式。角形括弧式の値は、括弧でくくられた
式がNILなら0で、他の場合は1。したがって、角形括
弧は型転換演算子である。
【0089】角形括弧を型転換演算子として使用してい
るが、丸括弧等も通常の方法で組分けに使用する事が可
能である。
【0090】定数は上記定義の1.による式であること
に注意が必要である。したがって、演算セルはこの式に
より与えられた定数値を持つ可能性がある。
【0091】オーサリンググリッドをオーサリング時間
に使用する望ましい一実施例では、演算セルはそのセル
のグリッド座標を有する位置フィールド、名称フィール
ド、式フィールド、値フィールド等を含む。例えば、図
24、図25は、ANCに関連した2つの概念、つまりANC
の低い範囲と通常範囲のそれぞれを定義する2つの演算
セル2000と2050を示している。セル2000は
座標B3を有する位置フィールド2002、名称LOW_AN
Cを有する名称フィールド2004、式ANC<1000を
有する式フィールド2006、値TRUEを有する値フィー
ルド2008等を含む。その式では、ANCはコミュニケ
ーション・セル1800に対する名称による参照であ
り、そのセルの座標B1をANCの代わりに使用すること
が可能である。値TRUEは図22の例におけるコミュニケ
ーション・セル1800の値950と矛盾しない。
【0092】同様に、セル2050は、座標B5を有す
る位置フィールド2052、NORM_ANCという名称を有す
る名称フィールド2054、式 ANC>=1000を有する
式フィールド2056、セルの現在値が知らされておら
ず、かつ、式が評価を必要としていることを示す特別な
トークン「-」を有する値フィールド2058等を含
む。
【0093】演算セル2000および2050は図5の
オーサリンググリッド上に見いだすことができる。演算
セルの名称LOW_ANCは、この演算セルを表すために割り
当てられたグリッド・セルB3の直ぐ上のフリーなグリ
ッド・セルA3内に見られる。演算セル2050の名称
NORM_ANCは、割り当てられたグリッド・セルB5の上の
フリーなグリッド・セルA5−A6内に見られる。その
割り当てられたグリッド・セルに見られるセルのシミュ
レーション値であるTRUEと「-」は、図24、図25の
値フィールドの内容と一致するように選択されている。
このセルの式は示されてないが、オーサは後述する図3
8に関する説明のようにセルを編集することにより見る
ことが可能である。
【0094】図26乃至図29は、患者の体温に関する
4つの概念、つまり低い、普通、高い、非常に高い、を
定義する4つの演算セル2100、2120、214
0、2160を示している。これら演算セルも図5のオ
ーサリンググリッド上に見いだすことができる。
【0095】図30は、患者の看護を監督する医師の迅
速な対応を必要とする感染の危険を示す演算セル220
0を示している。感染は体温が平熱から高熱となったこ
とによって示される。ANCが低い場合、どの感染も危険
である。従って、体温が非常に高い時、あるいはANCが
低くて体温が高い時は迅速な対応が必要となる。この条
件は演算セル2200の式フィールド2202の式によ
ってエンコードされる。セル2200もオーサリンググ
リッド上に見いだすことができ、その座標はH4であ
る。
【0096】前述したように、呼び出された状態にある
図14の対話セル1200は、ユーザに対して医師を直
ぐに呼ぶように指示した。この対話セルの使用可能条件
1206は択一的な式「H4 OR N8 OR…」である。演算
セルH4が値TRUEを取ると、使用可能条件は値TRUEを取
り、対話セル1200は使用可能となる。したがって、
演算セル2200は対話セル1200の使用可能条件の
詳細を単純化する概念を定義する。また、この概念は演
算セル2000、2140、2160により導かれる概
念によって定義される。これら演算セルなしでは、対話
セル1200の使用可能条件は非常に複雑となる。
【0097】図31は、実行時間にユーザと対話を行う
ための実行時間プログラムにより使用されるアルゴリズ
ムのフローチャートを示す。
【0098】第一ステップ2302では知識ベースを再
演算する。アサーション・セルが使用可能条件を持って
いない本発明の実施例では、知識ベースを再演算するこ
とは、まだ呼び出されていない、つまり、その状態フィ
ールドがREADYというキーワードを含む対話セルの使用
可能条件を評価することを意味する。これらの使用可能
条件は、アサーション・セル、コミュニケーション・セ
ル、演算セルを参照する一組の式を有する。望ましい一
実施例では、この一組の式は図32に示すアルゴリズム
を用いて評価する。
【0099】「知識ベース再演算」という用語は「スプ
レッド・シートの再演算」を用いた類推によって使用さ
れるが、類推は一部分だけである。
【0100】図32はアサーション・セル、コミュニケ
ーション・セル、演算セルを参照するS組の式を評価す
るための望ましいアルゴリズムのフローチャートを示
す。S組の式を評価するプロセスにおいて、ある演算セ
ルの式も評価される。第一ステップ2402はその演算
セルの値フィールドをクリアにする。次のステップ24
04はS組が空白かどうかチェックする。空白なら、そ
のアルゴリズムは停止する。他の場合、次のステップ2
406はS組から式Fを取り除き、S組のどの式もFの
役割を果たせる。このステップ2406は図33のアル
ゴリズムを用いてFを評価する。そして、このプロセス
はステップ2404から繰り返す。
【0101】図33は、ステップ2406を実施する、
つまり、評価中のS組に属する式Fを評価するためのア
ルゴリズムのフローチャートを示す。
【0102】第一ステップ2502は、式Fが定数Cの
単独発生から成るものかチェックする。答えがYESな
ら、ステップ2504で定数CはFの値として戻す。
【0103】他の場合は、次のステップ2506に進
み、式Fが1以上のオペランドに適用した1つの演算子
から成るかチェックする。例えば、式Fは、「G+H」
のとき、演算子は+であり、オペランドは2つの数式
G、Hであり、「G AND H]のとき、演算子はANDであ
り、オペランドは2つの式GとHであり、「NOT G]の
とき、演算子はNOTであり、オペランドは1つのGのみ
で、これはどの型の式でもあり、また「mG”」のと
き、演算子は型転換演算子m”であり、1つのオペラン
ドGである。Fがこうした式なら、ステップ2508で
各オペランドは同じアルゴリズムにより反復的に評価さ
れる。次に、ステップ2510で、この演算子により特
定された演算をそのオペランドの値について実施し、そ
の結果はFの値として戻される。
【0104】それ以外は、次のステップ2512で、式
Fがアサーション・セルあるいはコミュニケーション・
セルに対する1つの参照を有するかどうかチェックす
る。YESであれば、ステップ2514で参照したセルの
値フィールドの内容をFの値として戻す。
【0105】他の場合は、上記の式の概念の定義によ
り、式Fは演算セルに対する参照を1つ有するのみと考
えられる。(明確にするため、この意見は点線内251
6に示し、このアルゴリズム内のステップとして表さな
い。)次のステップ2518は、参照した演算セルの値
フィールドがトークン「-」あるいは他の値を含むかど
うかチェックする。「-」以外の値を含むなら、ステッ
プ2520でこの値を式Fの値として戻す。「-」を含
むなら、ステップ2522で参照した演算セルの式を同
じアルゴリズムにより反復的に評価し、その結果を値フ
ィールドに保存する。そして、ステップ2520で、値
フィールドに記憶した値、つまり、反復評価の結果、を
式Fの値として戻す。
【0106】図32と図33のアルゴリズムをまとめる
と、S組の式は任意の順で評価され、演算セルにたいす
る参照が出会ったら、その評価は中断し、参照した演算
セルの式を反復的に評価し、その結果を演算セルの値フ
ィールドに保存し、その演算セルの式はそのセルに対す
る第二の参照が出会った時に再び評価する必要がないよ
うにする。
【0107】演算セルの式は、それ自体、他の演算セル
を参照する可能性がある。しかし、この反復は、複数の
演算式間の参照の循環鎖がないので底に達するという保
証がある。すでに、あるセルは評価する必要がないこと
を説明した。たとえば、式Fが「G AND H」(オペラ
ンドG、Hはそれ自体が2つの式)という形で、Gの値
がTRUE(あるいはNIL以外のもの)に変わったら、Fの
値はHを評価することなくTRUEと分かる。Hによっての
み参照した演算セルの式は評価されない。
【0108】式のS組を評価する別の方法は、スプレッ
ド・シートを再計算する方法から導かれる。演算セルの
式およびS組の式は連続して、かつ演算セルの式が評価
される前に演算セルに対する参照が出会わないような順
番で評価される。一連の式を評価する前の演算セルの値
フィールドをクリアする必要はない。演算セルの各式が
評価されるにつれ、その評価の結果はそのセルの値フィ
ールドに記憶される可能性がある値に上書きし、演算セ
ルに対する参照が出会ったら、新しい値は既に値フィー
ルドに記憶され使用可能となる。上記条件を満たす評価
の順序は、演算セル間に参照の循環鎖がないので見つけ
ることが可能である。S組の式はその順序の最後に置く
ことが可能で、演算セルの式は、演算セルの式の間のセ
ル参照の部分順位、つまり、Fに対する参照をF’が有
するならFはF’より先であるという部分順位、と矛盾
しない全体順位により、順序の初めに置くことが可能で
ある。部分順位と矛盾しない全体順位を見つけるための
アルゴリズムは公知である。スプレッド・シートの分野
では、セル参照の部分順位と矛盾しない再計算は「再計
算の自然順位」と呼ぶ。
【0109】式のS組を評価するための別の方法は、本
明細書にその全体が引例としてあげてある米国特許5,27
6,607に記載の、スプレッド・シートの「最適な再計算
の方法」を公知の方法で適用することにより導き出すこ
とができ、前のスプレッド・シート再計算から値が変化
していない式の評価を避けることが可能となる。
【0110】図31に戻り、この再計算ステップ230
2の後、次のステップ2304は、実行時間プログラム
により呼び出す候補の対話セルがあるかチェックする。
対話セルは使用可能かつ作動可能状態にある、つまりそ
の使用可能条件の値がステップ2302で演算されNIL
以外で、そのSTATUS(状態)がキーワードREADYを含む
なら、その対話セルは候補である。候補がなければ、ユ
ーザとの対話は終了する。対話が終了すると、対話中に
交換した情報を含んだ報告を作成することができる。
【0111】候補があれば、次のステップ2306で次
に呼び出す対話セルがどの候補であるか決定する。望ま
しい一実施例では、選択した候補は一番初めに使用可能
になるものである。さらに詳しく説明すると、実行時間
プログラムは再計算の回数を保存し、まだ呼び出されて
おらず、セルが連続的に使用可能となった最も早い再計
算の再計算数を有し現在使用可能である対話セルに標識
を付ける。(各新たな再計算で、新たに使用可能となる
セルが新たな再計算数で標識をつけられ、同時に前に使
用可能となったセルが前の標識を保存する。)選択した
候補は最も新しい標識を有するものである。最も新しい
標識を有する候補は2個以上の可能性がある。もしそう
であるなら、2次元のオーサリンググリッドをオーサリ
ング時間に使用する望ましい実施例では、グリッド上の
候補の位置を考察することによりどちらかを選ぶ。つま
り、選択した候補はグリッドの原点に近い横行にあり、
もしそれでも複数の候補が残るなら、原点に最も近い縦
行のものを選択する。
【0112】次のステップ2308では、その選択した
候補を実行時間プログラムにより呼び出す。これは実行
すべき選択した対話セルの対話フォーマットにより特定
された対話を引き起こし、ユーザにより作られたアサー
ションをいくつかのアサーション・セルに記録させるこ
とになる。さらに、ユーザは前に回答を変更することを
許可される。図7の例に示したように、ディスプレイの
制御エリア706はREVIEWというラベルが付いたボタン
710を有する。この部分を押すことによりユーザは前
に呼び出した対話セルにより特定された対話を再生する
ことが可能となる。再生時、これらの対話は連係したア
サーション・セルの現在値を反映し、それは対話の結果
として変更可能となる。
【0113】ステップ2308の後、このプロセスは初
めから繰り返される。
【0114】ステップ2302に戻って、アサーション
・セルが使用可能条件を有する可能性がある実施例で
は、知識ベースを再計算することはそのアサーション・
セルの使用可能条件を評価すること、また、使用不可能
なアサーション・セルの値をNILにすることを必要とす
る。上記のように、「知識ベース再計算」という用語は
「スプレッド・シート再計算」と類似して使用されてい
るが、その類似は部分的なものである。
【0115】図34は、アサーション・セルが使用可能
条件を有する可能性がある実施例における知識ベースを
再計算するためのアルゴリズムのフローチャートを示
す。
【0116】第一ステップ2602では、そのアサーシ
ョン・セルの使用可能条件を評価する。これら使用可能
条件は、アサーション・セル、コミュニケーション・セ
ル、演算セルを参照する式の組を作る。望ましい一実施
例では、この式の組は図32のアルゴリズムを使用して
評価される。あるいは、上記したスプレッド・シート再
計算方法から導いた方法を図32のアルゴリズムの代わ
りに使用可能である。ステップ2602は複数回行わな
くてはならないので、1つの「知識ベース再計算」はこ
の場合では複数の「スプレッド・シート再計算」に対応
する。
【0117】次のステップ2604は使用不可能なアサ
ーション・セルの値をNILにする。前記したように、使
用不可能アサーション・セルはステップ2602で評価
された使用可能条件がNIL値を有するものである。セル
の値フィールドがNIL以外の値を有するなら、その値フ
ィールドの内容はNILに変更される。
【0118】ステップ2606はテストである。ステッ
プ2604でなんらかの値が実際にNILにされたなら、
ステップ2602、2604、2606を繰り返す。
(これら3ステップの連続的な反復回数は限られてお
り、NIL以外の値を有しているアサーション・セルの初
期番号により制限される。)それ以外の場合は、次のス
テップ2608で、作動可能である対話セルの使用可能
条件を評価する。これらの使用可能条件はアサーション
・セル、コミュニケーション・セル、演算セルを参照す
る式の組を有する。望ましい一実施例では、この式の組
は図32のアルゴリズムを使用して評価される。あるい
は、上記したスプレッド・シート再計算方法から導いた
方法を図32のアルゴリズムの代わりに使用可能であ
る。
【0119】このオーサリングシステムは形式言語で書
かれた知識ベースの記述を読み取ることのできる知識ベ
ース・コンパイラと同様に簡潔であることは既に説明し
た。しかし、オーサが知識ベースを作成し易くするため
のツールを提供することが望ましい。こうした2種のツ
ールは上記したように説明したが、1つはオーサリング
グリッドであり、それにより知識ベースは2次元表面
上、あるいは2次元表面の3次元コレクション上にマッ
プさせる。他はシミュレーション機能であり、知識ベー
スが作られる際にオーサが実行時間対話をシミュレート
することが可能となる。この詳細な説明の残りは2次元
オーサリンググリッドとシミュレーション機能がオーサ
リング時間にオーサに対して有効となる望ましい実施例
に関するものである。
【0120】これから説明する望ましい実施例におい
て、アサーション・セルはオプショナルな使用可能条件
を有し、各コミュニケーション・セルは告知フィールド
を有する。
【0121】望ましい実施例では、オーサリングシステ
ムのコンピュータ・ディスプレイ114は以下に説明す
るスクリーンとして2つの異なった外見を示す。
【0122】1.シミュレーション・スクリーンはシミ
ュレーションの中で使用される。シミュレーション・ス
クリーンの一例を図35に示す。シミュレーション・ス
クリーンは2つのエリアに分けられ、一方は対話エリア
2702で対話セルにより特定される対話を実行するた
めに使用され、もう一方は制御エリア2704である。
図35の例では、対話エリア2702は対話セル600
の質問フォーマット610により特定された質問および
回答のメニュを表示している。制御エリア2704はHE
LPというラベルをつけたボタン2706、REVIEWという
ラベルのボタン2708、DONEというラベルのボタン2
710、GRIDというラベルのボタン2712を有してい
る。このシミュレーション・スクリーンは図7、図1
0、図15、図17に示した例における実行ディスプレ
イ214の外観と類似しており、この実行時間ディスプ
レイの外観は「実行時間スクリーン」と称する。特に、
図35のシミュレーション・スクリーンは、図7のQUIT
ボタン712が図35のGRIDボタン2712に代わった
ことだけが異なり、他は図7の実行時間スクリーンと類
似している。シミュレーション・スクリーンにおいて、
HELPボタンは2つの機能を有する。つまり、このオーサ
リングシステムを使用する際にオーサに助けを与えるこ
とと、同じ環境下での実行時間にこのエキスパート・シ
ステムのユーザに何が有効かをオーサに示すことであ
る。あるいは、2つの異なったボタンがこの2つの機能
を提供することが可能である。
【0123】2.オーサリングスクリーンはシミュレー
ションよりもタスクをオーサリングすることに使用され
る。オーサリングスクリーンの一例が図36に示されて
いる。このオーサリングスクリーンはグリッド・エリア
2802と制御エリア2804の2つのエリアに分かれ
ている。グリッド・エリアは2次元グリッドを表示す
る。図36の例では、8つの横行と6つの縦行のみグリ
ッド・エリアにでており、このグリッドは横行AからE
が表示されないように、グリッドがスクロール・アップ
されている。グリッドの内容は図5の例に準ずる。制御
エリア2804はHELPボタン2806、RECALCULATEボ
タン2808、SIMULATE NEXTボタン2810、RESTART
ボタン2812、QUITボタン2814を有する。オーサ
リングスクリーンでは、HELPボタンがオーサリングシス
テムを使用しているオーサに助けを提供する。制御エリ
アは、NAMEサブフィールド2816とPOSITIONサブフィ
ールド2818の2つのサブフィールドを含むNEXTフィ
ールドも有する。このNEXTフィールド2816、281
8は、NEXTレジスタと呼ばれているオーサリングプログ
ラムの変項に記録した、対話セルの名称と座標を示して
いる。NEXTレジスタは、各知識ベース再計算の後に、図
31のステップ2306に関して説明したルールにより
次に呼び出すべき対話セル、および実行時間プログラム
によるよりもオーサリングプログラムにより本目的にた
いして保存するこれらのルールで述べた再計算数を記録
するため使用される。対話セルが呼び出すための候補で
ないなら、つまりどれも使用可能かつ作動可能状態にな
いなら、再計算の後にNEXTレジスタがクリアされる。制
御エリアはMODIFICATIONSフィールド2820も有す
る。そこでは、グリッド上に表示された値またはNEXTフ
ィールドの内容が現行のものでない最後の再計算以来の
知識ベースの修正があればチェック・マークが表示され
る。MODIFICATIONSフィールド2820はMODIFICATIONS
フラッグと呼ばれるオーサリングプログラムの変項の状
態(セットあるいはクリア済み)を反映する。MODIFICA
TIONSフラッグは、値を変更、式を変更、あるいは式を
作成する各オーサリングステップの後、このオーサリン
グシステムによりセットされ、各再計算の後にクリアさ
れる。
【0124】(別の実施例では、シミュレーション・ス
クリーンおよびオーサリングスクリーンは、ディスプレ
イ114全体を占める各々のスクリーンよりも、オーサ
リングシステムのコンピュータ・ディスプレイ114上
に同時に存在する2つのウィンドウとすることができ
る。)
【0125】図37は、望ましい実施例におけるエキス
パート・システム(オーサリング方法)の知識ベースを
作成する方法のフローチャートを示している。知識ベー
スを作成するプロセスは対話的で、オーサが実行すべき
一連のステップを選択する。オーサによる選択の可能性
をフローチャートの矢印で枝分かれさせて示してある。
したがって、図37のフローチャートは、オーサが矩形
の囲み2902、2904、2906、2908で示し
た4種のステップを自由にインターリーブすることが可
能である。
【0126】ステップ2902は知識ベース・セルを作
成、編集、移動あるいは削除するためのものである。グ
リッド・セルを割り当てて知識ベース・セルを作成する
プロセスは、図4に関して既に説明したとおりである。
【0127】ステップ2904は、このエキスパート・
システムのユーザとの実行時間対話をシミュレートする
ためのものである。シミュレーションでは、このオーサ
リングシステムが実行時間システムの役割を演じる時に
オーサはユーザの役割を演じ、作成中の知識ベースの現
在の状態により特定される対話を行う。
【0128】ステップ2906はアサーション・セルあ
るいはコミュニケーション・セルの値を変更するための
ものである。実行時間に、対話セルにより特定されたユ
ーザとの対話の結果としてのみアサーション・セルの値
が変更され、コミュニケーション・セルの値は情報を外
部ソースから受け取る時にのみ変更される。しかし、オ
ーサリング時間には、別のWHAT-IF(「…ならどうだろ
う」という)シナリオを迅速に試みるため、オーサはこ
の値を随意に変更可能である。
【0129】ステップ2908は知識ベースを再計算す
るためのものである。値が変わる際にその変化がオーサ
リンググリッドに示される場合を除き、実行時間につれ
再計算が進行する。
【0130】図38は図37のオーサリング方法のより
詳細なフローチャートである。これは、オーサリングス
クリーンおよびシミュレーション・スクリーンにより提
供されるコマンドを使用して、図24、図25のオーサ
リングステップをオーサがどのように実行するか示して
いる。また、オーサリング作業をより便利にする別のオ
ーサリングステップについても示している。
【0131】図36のオーサリングスクリーンで示され
た時に、オーサは図38のステップ3002、300
4、3006、3008、3010、3012、301
4、3016のどれかを実行することが可能であり、あ
るいはオーサリングスクリーンの制御エリアのQUITボタ
ン2814を押すことにより中止することができる。
【0132】オーサは、マウス118でフリーのグリッ
ド・セルを示し、マウスの左ボタンをクリックすること
によりステップ3002を実行する。図4に関して説明
したように、これはポップアップ・メニュ408を表示
させる。このメニュはオーサがどの種類の知識ベース・
セルでも作れるようにする。例えば、オーサがメニュ4
08から第一項目のASSERTION(アサーション)を選択
することにより、ステップ3018の「アサーション・
セルを作成」を実行する。そして、このオーサリングシ
ステムは作成するアサーション・セルの名称およびオプ
ショナルな使用可能条件を指定するように催促し、そし
て、アサーション・セルを作成する。そのアサーション
・セルは一つのアサーション・セルとして割り当てられ
たグリッド・セルと関連させられる。
【0133】オーサは、マウス118でアサーション・
セルあるいはコミュニケーション・セルのどちらかであ
り、知識ベースとして割り当てたグリッド・セルを位置
決めし、マウスの左ボタンをクリックすることによりス
テップ3004を実行する。これは図39のポップアッ
プ・メニュ3102を表示させる。このメニュを用い
て、オーサがステップ3020、3022、3024、
3026のどれかを次のステップとして選択する。
【0134】オーサはメニュからCHANGE VALUE(値を変
更する)項目3104を選択することにより「値を変更
する」ステップ3020を実行する。そして、オーサは
知識ベース・セル用に新たな値を供給するように催促さ
れる。その新たな値は知識ベース・セルの値フィールド
の現在値と入れ替わり、割り当てられたグリッド・セル
に表示される。
【0135】オーサはメニュからEDIT(編集)項目31
06を選択することにより「編集」ステップ3022を
実行する。ステップ3004で示した知識ベース・セル
が使用可能条件を有するアサーション・セルなら、その
アサーション・セルの名称と使用可能条件がポップアッ
プ・ウィンドウに表示され、編集可能となり、オプショ
ナルな使用可能条件は削除可能となる。そのアサーショ
ン・セルが使用可能条件を持たないなら、そのセルの名
称が編集可能となり、使用可能条件を加えることができ
る。ステップ3004で指示された知識ベース・セルが
コミュニケーション・セルなら、そのコミュニケーショ
ン・セルの名称と告知フィールドに含まれたメッセージ
が表示され、編集可能となる。
【0136】オーサはメニュからMOVE(移動)項目31
08を選択することにより「移動」ステップ3024を
実行する。知識ベース・セルを移動させることは異なっ
たグリッド・セルとこの知識ベース・セルを組み合わせ
ることを意味し、従って、現在この知識ベース・セルと
組み合わされているグリッド・セルをフリーのグリッド
・セルとする。オーサリングはこの新たなグリッド・セ
ルにたいして催促され、グリッド上のセルを示し、その
座標をタイプすることによりその催促に答えることがで
きる。このオーサリングプログラムは、その参照を新た
なグリッド・セルの座標と交換することにより知識ベー
ス・セルに対する座標を更新する。
【0137】オーサはメニュからDELETE(削除)項目3
110を選択することにより「削除」ステップ3026
を実行する。知識ベース・セルを削除することは、知識
ベースからそのセルを削除することを意味し、その知識
ベース・セルに現在関連したグリッド・セルをフリーの
グリッド・セルとする。
【0138】同様に、オーサは演算セルとして割り当て
たグリッド・セルを位置決めし、マウスの左ボタンをク
リックすることによりステップ3006を実行する。こ
れは図40のポップアップ・メニュ3202を表示させ
る。このメニュを用いて、オーサがステップ3028、
3030、3032のどれかを次のステップとして選択
する。
【0139】オーサはメニュからEDIT(編集)項目32
04を選択することにより「編集」ステップ3028を
実行する。演算セルの名称と式がポップアップ・ウィン
ドウに表示され、編集が可能となる。
【0140】オーサはメニュからMOVE(移動)項目32
06、あるいはDELETE(削除)項目3208をそれぞれ
選択することにより「移動」ステップ3030あるいは
「削除」ステップ3032を上記のアサーション・セル
およびコミュニケーション・セルの場合と同じ効果をも
って実行する。
【0141】メニュ3202は演算セルの値を変更する
オプションを提供しないことは留意する必要がある。望
ましい実施例では、演算フィールドの値フィールドの内
容は再計算プロセスによって、あるいは後述するような
RESTART(再始動)コマンドによってのみ変更される。
【0142】図38のフローチャートを続けると、オー
サは対話セルとして割り当てたグリッド・セルを位置決
めし、マウスの左ボタンをクリックすることによりステ
ップ3008を実行する。これは図41のポップアップ
・メニュ3302を表示させる。このメニュを用いて、
オーサがステップ3034、3036、3038、30
40のどれかを次のステップとして選択する。
【0143】オーサはメニュ3302からSIMULATE(シ
ミュレートする)項目3304を選択することによりス
テップ3034を実行する。このオーサリングプログラ
ムはシミュレーション・スクリーンを出し、ステップ3
008で指示した対話セルを呼び出すことによりシミュ
レーションを開始する。このオーサリングプログラムは
図42のアルゴリズムを使用してシミュレーションを行
う。
【0144】図42は、説明した望ましい実施例におい
て、特定した対話セルの呼び出しで始動するシミュレー
ションを行うためオーサリングプログラムにより使用さ
れたアルゴリズムのフローチャートである。このアルゴ
リズムは、ユーザとの対話を行うための実行時間プログ
ラムによって使用された図31のアルゴリズムに類似し
ている。図31のアルゴリズムは実行時間アルゴリズム
と称する。(この2つのアルゴリズム間の主な相違は図
42の初期ステップ3402であり、これは図31には
存在しない。)
【0145】図42のアルゴリズムの第一ステップ34
02は特定の対話セルを呼び出すためのものである。こ
のオーサリングプログラムは、実行時間プログラムによ
って実行時間に実施される際に、そのセルにより特定さ
れた対話を実行する。実行時間ユーザの役割を演じるオ
ーサによって作られたどのアサーションも、その対話セ
ルに連係させたアサーション・セルに記録させる。ステ
ップ3402は、図35の例で示したシミュレーション
・スクリーンの制御エリアにあるDONEボタン2710あ
るいはGRIDボタン2712をオーサが押すと終了する。
【0146】GRIDボタン2712を押すと、シミュレー
ションは終了し、シミュレーション・スクリーンはオー
サリングスクリーンにかわる。
【0147】DONEボタン2710を押すと、次のステッ
プ3404で知識ベースを再計算する。オーサリングプ
ログラムは図34に示した実行時間プログラムによって
使用されたものと同じ再計算アルゴリズムを使用する。
再計算の後、MODIFICATIONフラッグはクリアされる。
【0148】この再計算ステップの後、次のステップ3
406では呼び出しの候補である対話セルがあるかどう
かチェックする。対話セルが使用可能かつ作動可能であ
ればその対話セルは候補となる。候補がなければ(N
O)、NEXTレジスタはクリアされ、このシミュレーショ
ンは終了し、シミュレーション・スクリーンはオーサリ
ングスクリーンにかわる。
【0149】候補があれば(YES)、次のステップ34
08では次に呼び出す対話セルはどれか決定する。これ
は実行時間アルゴリズムのステップ2306にて行われ
たように実施される。決定が行われると、次に呼び出す
べき対話セルはNEXTレジスタに記録される。
【0150】次のステップ3410では、ステップ34
08で決定した次の対話セルを呼び出す。ステップ34
10は、シミュレーション・スクリーンの制御エリアに
あるDONEボタン2710あるいはGRIDボタン2712を
オーサが押すと終了する。
【0151】GRIDボタン2712を押すと、シミュレー
ションは終了し、シミュレーション・スクリーンはオー
サリングスクリーンにかわる。
【0152】DONEボタン2710を押すと、このアルゴ
リズムはステップ3404に戻る。
【0153】このシミュレーション(ステップ3402
あるいは3410)の途中で対話セルが呼び出されてい
る間に、オーサはシミュレーション・スクリーンの制御
エリアのREVIEWボタン2708を押すことにより過去の
対話を見直すことが可能となる。
【0154】このシミュレーションの終わりにオーサリ
ングスクリーンが再度表示され、このシミュレーション
の間に知識ベースにたいしてなされた全ての変更を反映
する。これらの変更は、NEXTレジスタおよびMODIFICATI
ON フラッグの変更同様に、アサーション・セルおよび
コミュニケーション・セルの値の変更、対話セルの状態
の変更を含む。
【0155】図38に戻り、ステップ3008に続くス
テップを説明する。オーサはメニュ3302からEDIT
(編集)項目3306を選択することにより「編集」ス
テップ3036を実行する。これはオーサがステップ3
008で指示した対話セルの名称、使用可能条件式、お
よび対話フォーマットを見て編集することが可能とな
る。また、オーサは状態フィールドの現在の内容をREAD
YからDONE、あるいはDONEからREADYへとトグル可能であ
る。
【0156】マルチメディア対話フォーマットを編集す
ることは、新しいマルチメディア・オブジェクト、例え
ば、新しいビデオ・クリップを記録することを作成する
ことを含むことが可能である。あるいは、マルチメディ
ア対話フォーマットで使用したマルチメディア・オブジ
ェクトは、マルチメディアオーサリングツールを使用し
て別々に作成し、マルチメディア・ライブラリに記憶さ
せる。そして、対話フォーマットのマルチメディア成分
を変更することは、マルチメディア・ライブラリに記憶
させたオブジェクトにたいする参照と、マルチメディア
・ライブラリに記憶させた異なったオブジェクトに対す
る参照とで入れ替えることにより、単純に完成させるこ
とが可能である。
【0157】ステップ3008の後、オーサはメニュ3
302からMOVE(移動)項目3308、あるいはDELETE
(削除)項目3310をそれぞれ選択することにより
「移動」ステップ3038あるいは「削除」ステップ3
040を上記の知識ベース・セルの他の場合と同じ効果
をもって実行する。
【0158】図38を続けると、移動あるいは共に削除
するセルの矩形状の範囲に印をつけることによりステッ
プ3010を行う。セルの範囲はマウス118の右ボタ
ンを使用して印をつける。そして、マウスの左ボタンを
押すことによりポップアップ・メニュから「MOVE RANGE
(移動範囲)」あるいは「DELETE RANGE(削除範囲)」
を選択することができる。「MOVE RANGE」が選択される
と、移動する矩形範囲の位置の上方左角に対するオーサ
への催促があり、移動範囲は位置を示すこと、あるいは
その座標をタイプすることにより指示することが可能で
ある。そして、個々のセルの移動にたいするステップ3
024に関して説明したようにセルは移動させられ、座
標参照は更新される。これにより「MOVE RANGE(移動範
囲)」ステップ3042は完了する。「DELETE RANGE
(削除範囲)」が選択されると、個々のセルの削除にた
いするステップ3026に関して説明したようにセルは
削除させられ、「DELETE RANGE(削除範囲)」ステップ
3044は完了する。
【0159】図38の右端では、図36の例で示したオ
ーサリングスクリーンの制御エリアのRECALCULATEボタ
ン2808をオーサが押すことによりステップ3012
を行う。これはオーサリングプログラムが知識ベースの
再計算を行い、NEXTレジスタを更新し、MODIFICATIONS
フラッグをクリアする。
【0160】このアルゴリズム・プログラムは図34で
示した実行時間プログラムによって使用されたものと同
じ再計算アルゴリズムを使用し、それ自体は図32の式
の組を評価するためのアルゴリズムと図33の個々の式
を評価するためのアルゴリズムを使用する。しかし、実
行時間再計算との相違は、値変化は再計算が進むにつれ
オーサリンググリッドに反映することである。演算セル
の値がクリアされると(図32のステップ2402での
ように)、演算セルの新たな値「-」がグリッド上に示
される。そして、各使用可能条件が評価されると(図3
2のステップ2408と比較)、新たな値がグリッドに
示される。これは作動可能の対話セルの各使用可能条件
に対して1度生じ、アサーション・セルの各使用可能条
件に対して1度以上生じる可能性がある。
【0161】知識ベースが再計算された後、オーサリン
グプログラムはNEXTレジスタを更新する。どの対話セル
も使用可能ではなく、しかも作動可能でないなら、NEXT
レジスタはクリアされ、図36の例で示したオーサリン
グスクリーンの制御エリアのNEXTフィールド2816/
2818も同様である。使用可能かつ作動可能な対話セ
ルがあれば、その次に呼び出されるものが図31の実行
時間アルゴリズムのステップ2306で使用されたもの
と同じルールにより決められる。この対話セルはNEXTレ
ジスタに記録され、その名称と座標がNEXTフィールドの
NAMEサブフィールド2816とPOSITIONサブフィールド
2818に示される。
【0162】最後に、オーサリングプログラムはMODIFI
CATIONフラッグをクリアし、MODIFICATIONフィールド2
820にチェック印があれば除去する。
【0163】図38の右端を続けると、オーサは図36
に示したオーサリングスクリーンの制御エリアの「SIMU
LATE NEXT」ボタン2810を押すことによりステップ
3014を行う。オーサリングプログラムは図43のア
ルゴリズムを実施することにより、このコマンドに答え
る。
【0164】図43は、対話セルが第一番目に呼び出す
ものとして特定されない時のシミュレーションを実行す
るためのオーサリングプログラムにより使用されるアル
ゴリズムのフローチャートである。図42のアルゴリズ
ムと同様、このアルゴリズムは、ユーザとの対話を行う
ための実行時間プログラムにより使用された図33の実
行時間アルゴリズムに類似している。
【0165】初めのステップ3502では、NEXTレジス
タの現在の内容を無効にしている可能性がある知識ベー
スの修正があるかチェックする。これはMODIFICATIONフ
ラッグをチェックすることにより行う。このフラッグが
現在セットされていれば、修正があり、知識ベースは再
計算される必要がある。
【0166】次のステップは3504であるが、フラッ
グがセットされていないと、NEXT(次の)レジスタが現
在のものとされ、ステップ3506でその内容をチェッ
クする。レジスタが空なら、シミュレーションは行われ
ず、メッセージがポップアップ・ウィンドウに表示さ
れ、オーサに対話セルが使用可能でも作動可能でもない
ことを知らせる。レジスタが対話セルに対する参照を含
んでいたら、次はステップ3512である。
【0167】ステップ3504では知識ベースを再計算
する。図38のステップ3012に関して説明したよう
に、このオーサリングプログラムは実行時間プログラム
により使用されたものと同じ再計算アルゴリズムを使用
し、再計算がすすむにつれグリッドに値の変化を示す。
再計算の後、MODIFICATIONフラグはクリアされる。
【0168】ステップ3504の後、次のステップ35
08では呼び出しの候補があるかチェックする、つま
り、現在使用可能で作動可能の対話セルがあるかどうか
チェックする。
【0169】候補がないなら、シミュレーションは行わ
れない。NEXTレジスタはクリアされ、NEXTフィールド2
816-2818がクリアされNEXTレジスタの変更を反
映させる。メッセージがポップアップ・ウィンドウに表
示され、オーサに対話セルが使用可能でも作動可能でも
ないことを知らせる。
【0170】候補があるなら、次のステップ3510で
は次に呼び出しの対話セルがあるか決める。実行時間ア
ルゴリズムのステップ2306と同じように行われる。
一度決定されると、次に呼び出す対話セルをNEXTレジス
タに記録し、NEXTフィールド2816-2818が更新
され、NEXTレジスタの新たな内容を反映させる。
【0171】ステップ3512はステップ3506ある
いは3510に続き、NEXTレジスタに記録された対話セ
ルを呼び出す。シミュレーション・スクリーンがその目
的のために表示され、オーサリングスクリーンと入れ替
わる。図35に示したシミュレーション・スクリーンの
制御エリアにあるDONEボタン2710あるいはGRIDボタ
ン2712をオーサが押すと、この呼び出しは終了す
る。GRIDボタン2712を押すと、シミュレーションは
終了し、ディスプレイ114はオーサリングスクリーン
に戻る。DONEボタン2710を押すと、このアルゴリズ
ムはステップ3504に戻る。
【0172】ステップ3512で対話セルが呼び出され
ている間に、オーサは図35の例に示したシミュレーシ
ョン・スクリーンの制御エリアのREVIEWボタン2708
を押すことにより過去の対話を見直すことが可能とな
る。
【0173】このアルゴリズムがステップ3504に戻
ると、シミュレーション・スクリーンが表示される。そ
して、ステップ3504、3508、3510、351
2が多少異なった方法で繰り返される。
【0174】繰り返しの再計算ステップ3504では、
値の変化はグリッドが示されていないのでグリッド上に
反映されない。
【0175】繰り返しのステップ3508の後、呼び出
し候補がなければ、このシミュレーションは終了し、オ
ーサリングスクリーンがシミュレーション・スクリーン
と入れ替わる。初めに実行したステップ3508とは逆
に、ポップアップ・ウィンドウにメッセージは表示され
ない。
【0176】繰り返しのステップ3510では、次に呼
び出す対話セルをNEXTレジスタに記録するが、NEXTフィ
ールドは変更可能なので直ぐには更新されない。
【0177】最後に、繰り返しステップ3512では、
シミュレーション・スクリーンが既に表示されているの
でスクリーンの変更は不要である。
【0178】図43のアルゴリズムでは、シミュレーシ
ョンを行うなら、ディスプレイ114がオーサリングス
クリーンに戻る際に、そのシミュレーションの間に知識
ベースについて行った全ての変更を反映する。これらの
変更はNEXTレジスタおよびMODIFICATIONフラッグの変更
同様に、アサーション・セル、演算セルの値の変更、対
話セルの状態の変更等を含む。
【0179】図38に戻り、右端を続ける。オーサは図
36のオーサリングスクリーンの制御エリアにあるREST
ARTボタン2812を押すことによりステップ3016
を行う。これは、アサーション・セルおよびコミュニケ
ーション・セルの値がNILとなり、全ての対話セルの状
態がREADY(作動可能)にセットされる効果を有する。
これらの変更はグリッド上に反映される。さらに、再計
算後の次に呼び出される対話セルを決めるために使用さ
れた対話セルの再計算数および再計算タッグを0にセッ
トし、再検討プロセスに使用された対話セルのリストで
ある過去の対話履歴を空にする。
【0180】オーサがQUITボタン2814を押すと、こ
のオーサリングプロセスは停止する。オーサは後に知識
ベースの作成を続けることが可能であり、または知識ベ
ースを現状態にある1以上の実行時間システムに乗せる
ことも可能である。通常、オーサは知識ベースを乗せる
前にRESTARTボタン2812を押すことになる。そし
て、全てのアサーション・セルは各実行時間システムが
開始する時にNIL値を有し、どのアサーションもユーザ
によって未だ作成されてない事を反映する。しかし、い
くつかのアサーション・セルがNIL以外の値を持つ異な
った状態では、オーサは知識ベースを乗せることを選ぶ
ことができる。
【0181】まとめとして、本発明の構成に関して以下
の事項を開示する。
【0182】(1)A.データおよびプログラムを記憶
するための記憶システムを有するコンピュータと、 B.実行時間に上記コンピュータ上で実行する実行時間
プログラムと、 C.上記記憶システムに記憶した知識ベースとを含み、
上記C.の知識ベースは、 イ)ユーザとの対話によりユーザにより作られたアサー
ションを記録するアサーション値を記録可能な1以上の
アサーション・セルと、 ロ)ユーザと行う対話の詳細である対話フォーマットを
1以上、およびアサーション値にたいする参照をゼロ以
上含む式である使用可能条件を有し、この使用可能条件
が満たされる時に使用可能となる1以上の対話セルとを
含み、これにより、実行時間プログラムは一連の対話セ
ルを呼び出すことによりユーザとの対話を行い、各対話
セルは使用可能の場合のみ呼び出され、各対話セルの呼
び出しは対話セルの対話フォーマットにより特定された
対話を実施し、実施した対話の間にユーザにより作成さ
れたアサーションがアサーション・セル内で更新したア
サーション値として記録されることを特徴とする、ユー
ザとの対話を行うシステム。 (2)上記各アサーション・セルは、情報が不在である
ことを示す空白のアサーション値を記憶可能であること
を特徴とする、上記(1)に記載のシステム。 (3)上記1以上のアサーション・セルは論理アサーシ
ョン・セルであり、各論理アサーション・セルは論理ア
サーション値を記憶可能であることを特徴とする、上記
(1)に記載のシステム。 (4)上記1以上のアサーション・セルはデータのアサ
ーション・セルであり、各データ・アサーション・セル
は論理アサーション値以外の型のアサーション値を記憶
可能であることを特徴とする、上記(1)に記載のシス
テム。 (5)上記1以上のデータ・アサーション・セルは数的
アサーション・セルであり、各数的アサーション・セル
は数的アサーション値を記憶可能であることを特徴とす
る、上記(4)に記載のシステム。 (6)1以上の対話フォーマットは質問フォーマットで
あり、各質問フォーマットはユーザに提出する質問およ
びユーザが1以上の選択をする回答メニュを特定し、ユ
ーザによって行われる各選択は上記論理アサーション・
セルの真の論理値により記録されたアサーションである
ことを特徴とする、上記(3)に記載のシステム。 (7)1以上の対話フォーマットはメッセージ・フォー
マットであり、メッセージ・フォーマットはユーザに提
示する情報を特定することを特徴とする、上記(1)に
記載のシステム。 (8)上記コンピュータはマルチメディア対応能力があ
り、1以上の対話フォーマットはマルチメディア用のフ
ォーマットであることを特徴とする、上記(1)に記載
のシステム。 (9)さらに、1以上のコミュニケーション・セルを含
み、各コミュニケーション・セルは外部ソースから本シ
ステムに送られた情報項目を記録するコミュニケーショ
ン値を記憶可能であり、また、上記1以上の使用可能条
件は1以上のコミュニケーション値にたいする参照をさ
らに有し、よって1以上の対話セルの使用可能は1以上
のコミュニケーション値に依存することを特徴とする、
上記(1)に記載のシステム。 (10)1以上のコミュニケーション・セルは、外部ソ
ースからの情報項目を受け、コミュニケーション値とし
て記憶させる時にユーザに告知するメッセージを特定す
ることを特徴とする、上記(9)に記載のシステム。 (11)さらに、1以上の演算セルを含み、各演算セル
は演算値を決定する演算式を有し、各演算式はアサーシ
ョン値および演算値にたいする0以上の参照を有し、ま
た、上記1以上の使用可能条件は演算値にたいする1以
上の参照をさらに含み、よって1以上の対話セルの使用
可能は1以上の演算値に依存することを特徴とする、上
記(1)に記載のシステム。 (12)上記1以上のアサーション・セルはアサーショ
ン使用可能条件を有し、使用可能条件はアサーション値
にたいする0以上の参照を含む式であり、使用可能条件
を有するアサーション・セルは、そのアサーション使用
可能条件が満たされない時は使用不可能であり、使用不
可能のアサーション・セルは空白値を記憶することを特
徴とする、上記(2)に記載のシステム。 (13)知識ベースを含む記憶システムを有するコンピ
ュータと実行時間に上記コンピュータ上で実行する実行
時間プログラムを使用する、ユーザとの対話を行う方法
において、上記対話は以下に示す; A.上記知識ベースに含まれる1以上の対話セルのう
ち、各対話セルが1以上の対話フォーマットおよび使用
可能条件を有し、各対話フォーマットがユーザと行う対
話の詳細であり、各対話セルが使用可能条件が満たされ
る時に使用可能であり、どの対話セルが使用可能か決定
するステップ、 B.1以上の対話セルが使用可能であるなら、以下の
イ)およびロ)のステップを実施するステップ、 イ)使用可能な対話セルを選択するステップ、 ロ)選択した対話セルを呼び出し、対話セルの呼び出し
は呼び出された対話セルの対話フォーマットにより特定
した対話を実施させ、対話を実施した時ユーザにより成
されたアサーションを知識ベースに含まれる1以上のア
サーション・セルにアサーション値として記憶させ、そ
のアサーション値は対話セルの使用可能条件により参照
させるステップ、 C.使用可能である呼び出していない対話セルが上記ス
テップAにおいて見つからなくなるまで、呼び出してい
ない対話セルにたいして上記ステップAおよびBを繰り
返すステップ、を有することを特徴とするユーザとの対
話を行う方法。 (14)上記ステップ(B.イ)で選択した対話セルは
最近使用可能となったものであることを特徴とする上記
(13)に記載の方法。 (15)上記使用可能条件は1以上のコミュニケーショ
ン値を参照し、各コミュニケーション値は外部ソースか
ら送られ、またコミュニケーション・セルに記憶させる
ことを特徴とする上記(13)に記載の方法。 (16)情報項目を外部ソースから受け、コミュニケー
ション・セルに記憶する時、対話は中断されユーザは告
知されることを特徴とする上記(15)に記載の方法。 (17)上記使用可能条件は1以上の演算値を参照し、
演算値は演算セルに含まれた演算式から決定され、各演
算式はアサーション値および演算値にたいする0以上の
参照を有することを特徴とする上記(13)に記載の方
法。 (18)A.データおよびプログラムを記憶するための
記憶システムを有するコンピュータと、 B.実行時間に上記コンピュータ上で実行する実行時間
プログラムと、 C.上記記憶システムに記憶した知識ベースとを含み、 上記C.の知識ベースは、 イ)健康管理提供者との対話により患者の医学的状態に
ついて健康管理提供者により作られたアサーションを記
録するアサーション値を記録可能な1以上のアサーショ
ン・セルと、 ロ)健康管理提供者と行う対話の詳細である対話フォー
マットを1以上、およびアサーション値にたいする参照
をゼロ以上含む式である使用可能条件を有し、この使用
可能条件が満たされる時に使用可能となる1以上の対話
セルとを含み、これにより、実行時間プログラムは一連
の対話セルを呼び出すことにより健康管理提供者との対
話を行い、各対話セルは使用可能の場合のみ呼び出さ
れ、各対話セルの呼び出しは対話セルの対話フォーマッ
トにより特定された対話を実施し、実施した対話の間に
健康管理提供者により作成されたアサーションがアサー
ション・セル内で更新したアサーション値として記録さ
れることを特徴とする、健康管理提供者との対話を行う
システム。 (19)上記各アサーション・セルは、患者の状態につ
いての情報が不在であることを示す空白のアサーション
値を記憶可能であることを特徴とする、上記(18)に
記載のシステム。 (20)上記1以上のアサーション・セルは論理アサー
ション・セルであり、各論理アサーション・セルは患者
の状態についての論理アサーション値を記憶可能である
ことを特徴とする、上記(18)に記載のシステム。 (21)上記1以上のアサーション・セルはデータのア
サーション・セルであり、各データ・アサーション・セ
ルは論理アサーション値以外の型のアサーション値を記
憶可能であることを特徴とする、上記(18)に記載の
システム。 (22)上記1以上のデータ・アサーション・セルは数
的アサーション・セルであり、各数的アサーション・セ
ルは数的アサーション値を記憶可能であることを特徴と
する、上記(21)に記載のシステム。 (23)1以上の対話フォーマットは質問フォーマット
であり、各質問フォーマットは健康管理提供者に提出す
る質問および健康管理提供者が1以上の選択をする回答
メニュを特定し、健康管理提供者によって行われる各選
択は上記論理アサーション・セルの真の論理値により記
録されたアサーションであることを特徴とする、上記
(20)に記載のシステム。 (24)1以上の対話フォーマットはメッセージ・フォ
ーマットであり、メッセージ・フォーマットは健康管理
提供者に提示する患者にたいする医療サービスについて
のアドバイスを特定することを特徴とする、上記(1
8)に記載のシステム。 (25)上記コンピュータはマルチメディア対応能力が
あり、1以上の対話フォーマットはマルチメディア用の
フォーマットであることを特徴とする、上記(18)に
記載のシステム。 (26)さらに、1以上のコミュニケーション・セルを
含み、各コミュニケーション・セルは外部ソースから本
システムに送られた情報項目を記録するコミュニケーシ
ョン値を記憶可能であり、また、上記1以上の使用可能
条件は1以上のコミュニケーション値にたいする参照を
さらに有し、よって1以上の対話セルの使用可能は1以
上のコミュニケーション値に依存することを特徴とす
る、上記(18)に記載のシステム。 (27)上記外部ソースは、病院、診療所、研究所、医
師の執務室のいずれか一つであることを特徴とする、上
記(26)に記載のシステム。 (28)1以上のコミュニケーション・セルは、外部ソ
ースからの情報項目を受け、コミュニケーション値とし
て記憶させる時に健康管理提供者に告知するメッセージ
を特定することを特徴とする、上記(26)に記載のシ
ステム。 (29)さらに、1以上の演算セルを含み、各演算セル
は演算値を決定する演算式を有し、各演算式はアサーシ
ョン値および演算値にたいする0以上の参照を有し、ま
た、上記1以上の使用可能条件は演算値にたいする1以
上の参照をさらに含み、よって1以上の対話セルの使用
可能は1以上の演算値に依存することを特徴とする、上
記(18)に記載のシステム。 (30)上記1以上のアサーション・セルはアサーショ
ン使用可能条件を有し、使用可能条件はアサーション値
にたいする0以上の参照を含む式であり、使用可能条件
を有するアサーション・セルは、そのアサーション使用
可能条件が満たされない時は使用不可能であり、使用不
可能のアサーション・セルは空白値を記憶することを特
徴とする、上記(19)に記載のシステム。
【0183】
【発明の効果】本発明により、コンピュータ・ユーザと
の対話を行うエキスパート・システム用の知識ベースの
改良によって、知識エンジニアとドメイン・エキスパー
ト間の意思伝達間違いによっておこる様々な誤り克服
し、また、コンピュータ・ユーザとの対話を行うための
改良されたエキスパート・システムおよび、それに関連
した方法を提供することにより、特殊なプログラミング
言語を必要とせず開発費用の高騰をふせぐことができ
る。
【図面の簡単な説明】
【図1】本発明によるオーサリングシステムの望ましい
実施例を示すブロック図。
【図2】本発明による実行時システムの望ましい実施例
を示すブロック図。
【図3】実行時の情報の流れを説明する知識ベースの全
体構造を示すブロック図。
【図4】オーサがスプレッド・シートに似た矩形グリッ
ド上に知識ベース・セルを割り当てるためのプロセスを
示す概略図。
【図5】家庭健康管理アプリケーションの知識ベース用
にセルを割り当てたオーサリンググリッドの一例を示す
図。
【図6】対話セルの一例を示す図。
【図7】図6の対話セルを実行時に呼び出す時のコンピ
ュータ・ディスプレイの望ましい表示を示す概略図。
【図8】図6の対話セルに連係させた論理アサーション
・セルの一例を示す図。
【図9】図6の対話セルに連係させた論理アサーション
・セルの別の例を示す図。
【図10】図6の対話セルに連係させた論理アサーショ
ン・セルの他の例を示す図。
【図11】二つの対話フォーマットを含んだ対話セルの
一例を示す図。
【図12】図11の対話セルを実行時に呼び出す時のコ
ンピュータ・ディスプレイの望ましい表示を示す概略
図。
【図13】数値を含み、図11の対話セルの第2対話フ
ォーマットに連係させたデータ・アサーション・セルの
一例を示す図。
【図14】メッセージ・フォーマットを含む対話セルの
一例を示す図。
【図15】図14の対話セルを実行時に呼び出す時のコ
ンピュータ・ディスプレイの望ましい表示を示す概略
図。
【図16】マルチメディア・フォーマットを含む対話セ
ルの一例を示す図。
【図17】図16のセルを実行時に呼び出す時に起こる
対話を示す概略図。
【図18】図17の対話セルに連係させた論理アサーシ
ョン・セルの一例を示す図。
【図19】図17の対話セルに連係させた論理アサーシ
ョン・セルの別の例を示す図。
【図20】図17の対話セルに連係させた論理アサーシ
ョン・セルの他の例を示す図。
【図21】使用可能条件を有するアサーション・セルの
一例を示す図。
【図22】コミュニケーション・セルの一例を示す図。
【図23】図22のコミュニケーション・セルの値の変
化を実行時にユーザに告知する時のコンピュータ・ディ
スプレイの望ましい表示を示す概略図。
【図24】図22のコミュニケーション・セルの値に関
連した概念を定義する演算セルを示す図。
【図25】図22のコミュニケーション・セルの値に関
連した概念を定義する演算セルを示す別の図。
【図26】図13のデータ・アサーション・セルの値に
関連した概念を定義する演算セルを示す図。
【図27】図13のデータ・アサーション・セルの値に
関連した概念を定義する演算セルを示す別の図。
【図28】図13のデータ・アサーション・セルの値に
関連した概念を定義する演算セルを示す他の図。
【図29】図13のデータ・アサーション・セルの値に
関連した概念を定義する演算セルを示す他の図。
【図30】図14の対話セルの使用可能条件を特定する
ために有用な概念を定義する演算セルを示す図。
【図31】ユーザとの対話を行うための実行時プログラ
ムにより使用されたアルゴリズムのフローチャート。
【図32】一組の式を評価するための望ましいアルゴリ
ズムのフローチャート。
【図33】個々の式を評価するための望ましいアルゴリ
ズムのフローチャート。
【図34】使用可能条件を有するアサーション・セルの
存在において、知識ベースを再計算するためのアルゴリ
ズムのフローチャート。
【図35】シミュレーション・スクリーンの一例を示す
概略斜視図。
【図36】オーサリングスクリーンの一例を示す概略斜
視図。
【図37】望ましいオーサリング方法のフローチャー
ト。
【図38】望ましいオーサリング方法のより詳細なフロ
ーチャート。
【図39】アサーション・セルまたはコミュニケーショ
ン・セル上でオーサが行える動作のポップ・アップ・メ
ニュを示す斜視図。
【図40】演算セル上でオーサが行える動作のポップ・
アップ・メニュを示す斜視図。
【図41】対話セル上でオーサが行える動作のポップ・
アップ・メニュを示す斜視図。
【図42】特定した対話セルの呼び出しでスタートする
シミュレーションを行うためのオーサリングプログラム
によって用いられた望ましいアルゴリズムのフローチャ
ート。
【図43】対話セルが第一番目に呼び出すものとして特
定されない時のシミュレーションを行うためのオーサリ
ングプログラムによって用いられた望ましいアルゴリズ
ムのフローチャート。
【符号の説明】
102 オーサ 104 知識ベース 106 マルチメディア対応コンピュータ 108 記憶システム 110 プロセッサ 112 オーサリングプログラム 114 コンピュータ・ディスプレイ 116 キーボード 118 マウス 120 マイク 122 ビデオカメラ 124 スピーカ 202 オーサ 206 マルチメディア対応コンピュータ 208 記憶システム 210 プロセッサ 212 実行時間プログラム 214 コンピュータ・ディスプレイ 216 キーボード 218 マウス 220 マイク 222 スピーカ 302 アサーション・セル 304 コミュニケーション・セル 306 演算セル 308 対話セル 310 ユーザ 312 ユーザからの情報 314 ユーザへの情報 316 アサーション・セルへ記憶する情報 318 外部ソースからの情報 320 外部ソース 322 アサーション・セルの値を参照 323 コミュニケーション・セルの値を参照 324 演算セルの値を参照 326 使用可能条件
───────────────────────────────────────────────────── フロントページの続き (72)発明者 ミシェル・ヤンクン・キム アメリカ合衆国10583、ニューヨーク州、 スカースデイル、フィーザント・ラン 23

Claims (30)

    【特許請求の範囲】
  1. 【請求項1】A.データおよびプログラムを記憶するた
    めの記憶システムを有するコンピュータと、 B.実行時間に上記コンピュータ上で実行する実行時間
    プログラムと、 C.上記記憶システムに記憶した知識ベースとを含み、 上記C.の知識ベースは、 イ)ユーザとの対話によりユーザにより作られたアサー
    ションを記録するアサーション値を記録可能な1以上の
    アサーション・セルと、 ロ)ユーザと行う対話の詳細である対話フォーマットを
    1以上、およびアサーション値にたいする参照をゼロ以
    上含む式である使用可能条件を有し、この使用可能条件
    が満たされる時に使用可能となる1以上の対話セルとを
    含み、 これにより、実行時間プログラムは一連の対話セルを呼
    び出すことによりユーザとの対話を行い、各対話セルは
    使用可能の場合のみ呼び出され、各対話セルの呼び出し
    は対話セルの対話フォーマットにより特定された対話を
    実施し、実施した対話の間にユーザにより作成されたア
    サーションがアサーション・セル内で更新したアサーシ
    ョン値として記録されることを特徴とする、ユーザとの
    対話を行うシステム。
  2. 【請求項2】上記各アサーション・セルは、情報が不在
    であることを示す空白のアサーション値を記憶可能であ
    ることを特徴とする、請求項1に記載のシステム。
  3. 【請求項3】上記1以上のアサーション・セルは論理ア
    サーション・セルであり、各論理アサーション・セルは
    論理アサーション値を記憶可能であることを特徴とす
    る、請求項1に記載のシステム。
  4. 【請求項4】上記1以上のアサーション・セルはデータ
    のアサーション・セルであり、各データ・アサーション
    ・セルは論理アサーション値以外の型のアサーション値
    を記憶可能であることを特徴とする、請求項1に記載の
    システム。
  5. 【請求項5】上記1以上のデータ・アサーション・セル
    は数的アサーション・セルであり、各数的アサーション
    ・セルは数的アサーション値を記憶可能であることを特
    徴とする、請求項4に記載のシステム。
  6. 【請求項6】1以上の対話フォーマットは質問フォーマ
    ットであり、各質問フォーマットはユーザに提出する質
    問およびユーザが1以上の選択をする回答メニュを特定
    し、ユーザによって行われる各選択は上記論理アサーシ
    ョン・セルの真の論理値により記録されたアサーション
    であることを特徴とする、請求項3に記載のシステム。
  7. 【請求項7】1以上の対話フォーマットはメッセージ・
    フォーマットであり、メッセージ・フォーマットはユー
    ザに提示する情報を特定することを特徴とする、請求項
    1に記載のシステム。
  8. 【請求項8】上記コンピュータはマルチメディア対応能
    力があり、1以上の対話フォーマットはマルチメディア
    用のフォーマットであることを特徴とする、請求項1に
    記載のシステム。
  9. 【請求項9】さらに、1以上のコミュニケーション・セ
    ルを含み、各コミュニケーション・セルは外部ソースか
    ら本システムに送られた情報項目を記録するコミュニケ
    ーション値を記憶可能であり、また、さらに、上記1以
    上の使用可能条件は1以上のコミュニケーション値にた
    いする参照を有し、よって1以上の対話セルの使用可能
    は1以上のコミュニケーション値に依存することを特徴
    とする、請求項1に記載のシステム。
  10. 【請求項10】1以上のコミュニケーション・セルは、
    外部ソースからの情報項目を受け、コミュニケーション
    値として記憶させる時にユーザに告知するメッセージを
    特定することを特徴とする、請求項9に記載のシステ
    ム。
  11. 【請求項11】さらに、1以上の演算セルを含み、各演
    算セルは演算値を決定する演算式を有し、各演算式はア
    サーション値および演算値にたいする0以上の参照を有
    し、また、さらに、上記1以上の使用可能条件は演算値
    にたいする1以上の参照を含み、よって1以上の対話セ
    ルの使用可能は1以上の演算値に依存することを特徴と
    する、請求項1に記載のシステム。
  12. 【請求項12】上記1以上のアサーション・セルはアサ
    ーション使用可能条件を有し、使用可能条件はアサーシ
    ョン値にたいする0以上の参照を含む式であり、使用可
    能条件を有するアサーション・セルは、そのアサーショ
    ン使用可能条件が満たされない時は使用不可能であり、
    使用不可能のアサーション・セルは空白値を記憶するこ
    とを特徴とする、請求項2に記載のシステム。
  13. 【請求項13】知識ベースを含む記憶システムを有する
    コンピュータと実行時間に上記コンピュータ上で実行す
    る実行時間プログラムを使用する、ユーザとの対話を行
    う方法において、上記対話は以下に示す; A.上記知識ベースに含まれる1以上の対話セルのう
    ち、各対話セルが1以上の対話フォーマットおよび使用
    可能条件を有し、各対話フォーマットがユーザと行う対
    話の詳細であり、各対話セルが使用可能条件が満たされ
    る時に使用可能であり、どの対話セルが使用可能か決定
    するステップ、 B.1以上の対話セルが使用可能であるなら、以下の
    イ)およびロ)のステップを実施するステップ、 イ)使用可能な対話セルを選択するステップ、 ロ)選択した対話セルを呼び出し、対話セルの呼び出し
    は呼び出された対話セルの対話フォーマットにより特定
    した対話を実施させ、対話を実施した時ユーザにより成
    されたアサーションを知識ベースに含まれる1以上のア
    サーション・セルにアサーション値として記憶させ、そ
    のアサーション値は対話セルの使用可能条件により参照
    させるステップ、 C.使用可能である呼び出していない対話セルが上記ス
    テップAにおいて見つからなくなるまで、呼び出してい
    ない対話セルにたいして上記ステップAおよびBを繰り
    返すステップ、を有することを特徴とするユーザとの対
    話を行う方法。
  14. 【請求項14】上記ステップ(B.イ)で選択した対話
    セルは最近使用可能となったものであることを特徴とす
    る請求項13に記載の方法。
  15. 【請求項15】上記使用可能条件は1以上のコミュニケ
    ーション値を参照し、各コミュニケーション値は外部ソ
    ースから送られ、またコミュニケーション・セルに記憶
    させることを特徴とする請求項13に記載の方法。
  16. 【請求項16】情報項目を外部ソースから受け、コミュ
    ニケーション・セルに記憶する時、対話は中断されユー
    ザは告知されることを特徴とする請求項15に記載の方
    法。
  17. 【請求項17】上記使用可能条件は1以上の演算値を参
    照し、演算値は演算セルに含まれた演算式から決定さ
    れ、各演算式はアサーション値および演算値にたいする
    0以上の参照を有することを特徴とする請求項13に記
    載の方法。
  18. 【請求項18】A.データおよびプログラムを記憶する
    ための記憶システムを有するコンピュータと、 B.実行時間に上記コンピュータ上で実行する実行時間
    プログラムと、 C.上記記憶システムに記憶した知識ベースとを含み、 上記C.の知識ベースは、 イ)健康管理提供者との対話により患者の医学的状態に
    ついて健康管理提供者により作られたアサーションを記
    録するアサーション値を記録可能な1以上のアサーショ
    ン・セルと、 ロ)健康管理提供者と行う対話の詳細である対話フォー
    マットを1以上、およびアサーション値にたいする参照
    をゼロ以上含む式である使用可能条件を有し、この使用
    可能条件が満たされる時に使用可能となる1以上の対話
    セルとを含み、 これにより、実行時間プログラムは一連の対話セルを呼
    び出すことにより健康管理提供者との対話を行い、各対
    話セルは使用可能の場合のみ呼び出され、各対話セルの
    呼び出しは対話セルの対話フォーマットにより特定され
    た対話を実施し、実施した対話の間に健康管理提供者に
    より作成されたアサーションがアサーション・セル内で
    更新したアサーション値として記録されることを特徴と
    する、健康管理提供者との対話を行うシステム。
  19. 【請求項19】上記各アサーション・セルは、患者の状
    態についての情報が不在であることを示す空白のアサー
    ション値を記憶可能であることを特徴とする、請求項1
    8に記載のシステム。
  20. 【請求項20】上記1以上のアサーション・セルは論理
    アサーション・セルであり、各論理アサーション・セル
    は患者の状態についての論理アサーション値を記憶可能
    であることを特徴とする、請求項18に記載のシステ
    ム。
  21. 【請求項21】上記1以上のアサーション・セルはデー
    タのアサーション・セルであり、各データ・アサーショ
    ン・セルは論理アサーション値以外の型のアサーション
    値を記憶可能であることを特徴とする、請求項18に記
    載のシステム。
  22. 【請求項22】上記1以上のデータ・アサーション・セ
    ルは数的アサーション・セルであり、各数的アサーショ
    ン・セルは数的アサーション値を記憶可能であることを
    特徴とする、請求項21に記載のシステム。
  23. 【請求項23】1以上の対話フォーマットは質問フォー
    マットであり、各質問フォーマットは健康管理提供者に
    提出する質問および健康管理提供者が1以上の選択をす
    る回答メニュを特定し、健康管理提供者によって行われ
    る各選択は上記論理アサーション・セルの真の論理値に
    より記録されたアサーションであることを特徴とする、
    請求項20に記載のシステム。
  24. 【請求項24】1以上の対話フォーマットはメッセージ
    ・フォーマットであり、メッセージ・フォーマットは健
    康管理提供者に提示する患者にたいする医療サービスに
    ついてのアドバイスを特定することを特徴とする、請求
    項18に記載のシステム。
  25. 【請求項25】上記コンピュータはマルチメディア対応
    能力があり、1以上の対話フォーマットはマルチメディ
    ア用のフォーマットであることを特徴とする、請求項1
    8に記載のシステム。
  26. 【請求項26】さらに、1以上のコミュニケーション・
    セルを含み、各コミュニケーション・セルは外部ソース
    から本システムに送られた情報項目を記録するコミュニ
    ケーション値を記憶可能であり、また、上記1以上の使
    用可能条件は1以上のコミュニケーション値にたいする
    参照をさらに有し、よって1以上の対話セルの使用可能
    は1以上のコミュニケーション値に依存することを特徴
    とする、請求項18に記載のシステム。
  27. 【請求項27】上記外部ソースは、病院、診療所、研究
    所、医師の執務室のいずれか一つであることを特徴とす
    る、請求項26に記載のシステム。
  28. 【請求項28】1以上のコミュニケーション・セルは、
    外部ソースからの情報項目を受け、コミュニケーション
    値として記憶させる時に健康管理提供者に告知するメッ
    セージを特定することを特徴とする、請求項26に記載
    のシステム。
  29. 【請求項29】さらに、1以上の演算セルを含み、各演
    算セルは演算値を決定する演算式を有し、各演算式はア
    サーション値および演算値にたいする0以上の参照を有
    し、また、上記1以上の使用可能条件は演算値にたいす
    る1以上の参照をさらに含み、よって1以上の対話セル
    の使用可能は1以上の演算値に依存することを特徴とす
    る、請求項18に記載のシステム。
  30. 【請求項30】上記1以上のアサーション・セルはアサ
    ーション使用可能条件を有し、使用可能条件はアサーシ
    ョン値にたいする0以上の参照を含む式であり、使用可
    能条件を有するアサーション・セルは、そのアサーショ
    ン使用可能条件が満たされない時は使用不可能であり、
    使用不可能のアサーション・セルは空白値を記憶するこ
    とを特徴とする、請求項19に記載のシステム。
JP31934195A 1995-01-12 1995-12-07 コンピュータ・ユーザとの対話を行うためのエキスパート・システム及びその方法 Pending JPH08305576A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US37163095A 1995-01-12 1995-01-12
US371630 1995-01-12

Publications (1)

Publication Number Publication Date
JPH08305576A true JPH08305576A (ja) 1996-11-22

Family

ID=23464763

Family Applications (1)

Application Number Title Priority Date Filing Date
JP31934195A Pending JPH08305576A (ja) 1995-01-12 1995-12-07 コンピュータ・ユーザとの対話を行うためのエキスパート・システム及びその方法

Country Status (1)

Country Link
JP (1) JPH08305576A (ja)

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2001043003A1 (fr) * 1999-12-10 2001-06-14 Health Wave Japan Inc. Procede et systeme de communication d'avis medicaux
JP2001229294A (ja) * 1999-12-10 2001-08-24 Health Wave Japan:Kk 健康アドバイス方法および健康アドバイスシステム
JP2011086309A (ja) * 2000-07-28 2011-04-28 Ab Initio Technology Llc 条件成分を有するパラメータ化図形
US8875145B2 (en) 2010-06-15 2014-10-28 Ab Initio Technology Llc Dynamically loading graph-based computations
US9158797B2 (en) 2005-06-27 2015-10-13 Ab Initio Technology Llc Managing metadata for graph-based computations
US9274926B2 (en) 2013-01-03 2016-03-01 Ab Initio Technology Llc Configurable testing of computer programs
US9507682B2 (en) 2012-11-16 2016-11-29 Ab Initio Technology Llc Dynamic graph performance monitoring
US9886319B2 (en) 2009-02-13 2018-02-06 Ab Initio Technology Llc Task managing application for performing tasks based on messages received from a data processing application initiated by the task managing application
US9886241B2 (en) 2013-12-05 2018-02-06 Ab Initio Technology Llc Managing interfaces for sub-graphs
US10108521B2 (en) 2012-11-16 2018-10-23 Ab Initio Technology Llc Dynamic component performance monitoring
US10657134B2 (en) 2015-08-05 2020-05-19 Ab Initio Technology Llc Selecting queries for execution on a stream of real-time data
US10671669B2 (en) 2015-12-21 2020-06-02 Ab Initio Technology Llc Sub-graph interface generation

Cited By (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001229294A (ja) * 1999-12-10 2001-08-24 Health Wave Japan:Kk 健康アドバイス方法および健康アドバイスシステム
WO2001043003A1 (fr) * 1999-12-10 2001-06-14 Health Wave Japan Inc. Procede et systeme de communication d'avis medicaux
JP2011086309A (ja) * 2000-07-28 2011-04-28 Ab Initio Technology Llc 条件成分を有するパラメータ化図形
US9158797B2 (en) 2005-06-27 2015-10-13 Ab Initio Technology Llc Managing metadata for graph-based computations
US9886319B2 (en) 2009-02-13 2018-02-06 Ab Initio Technology Llc Task managing application for performing tasks based on messages received from a data processing application initiated by the task managing application
US10528395B2 (en) 2009-02-13 2020-01-07 Ab Initio Technology Llc Task managing application for performing tasks based on messages received from a data processing application initiated by the task managing application
US9753751B2 (en) 2010-06-15 2017-09-05 Ab Initio Technology Llc Dynamically loading graph-based computations
US8875145B2 (en) 2010-06-15 2014-10-28 Ab Initio Technology Llc Dynamically loading graph-based computations
US9507682B2 (en) 2012-11-16 2016-11-29 Ab Initio Technology Llc Dynamic graph performance monitoring
US10108521B2 (en) 2012-11-16 2018-10-23 Ab Initio Technology Llc Dynamic component performance monitoring
US9274926B2 (en) 2013-01-03 2016-03-01 Ab Initio Technology Llc Configurable testing of computer programs
US9886241B2 (en) 2013-12-05 2018-02-06 Ab Initio Technology Llc Managing interfaces for sub-graphs
US10180821B2 (en) 2013-12-05 2019-01-15 Ab Initio Technology Llc Managing interfaces for sub-graphs
US10318252B2 (en) 2013-12-05 2019-06-11 Ab Initio Technology Llc Managing interfaces for sub-graphs
US10901702B2 (en) 2013-12-05 2021-01-26 Ab Initio Technology Llc Managing interfaces for sub-graphs
US10657134B2 (en) 2015-08-05 2020-05-19 Ab Initio Technology Llc Selecting queries for execution on a stream of real-time data
US10671669B2 (en) 2015-12-21 2020-06-02 Ab Initio Technology Llc Sub-graph interface generation

Similar Documents

Publication Publication Date Title
US5835683A (en) System and method for authoring an expert system
Fox et al. An R companion to applied regression
Halbert Programming by example
Hill Supporting concurrency, communication, and synchronization in human-computer interaction—the Sassafras UIMS
US6519601B1 (en) Relational database compiled/stored on a memory structure providing improved access through use of redundant representation of data
Mozannar et al. Reading between the lines: Modeling user behavior and costs in AI-assisted programming
Olsen et al. A context for user interface management
US20200319856A1 (en) Visual virtual programming machine for real-time interactive creation, playback, execution, inspection and manipulation of programming elements
JPH08512152A (ja) インクリメンタル生成システム
JPH08305576A (ja) コンピュータ・ユーザとの対話を行うためのエキスパート・システム及びその方法
JP2022177793A (ja) ディープラーニングフレームワークのオペレータ登録方法、装置、デバイス及び記憶媒体
Wenskovitch et al. Albireo: An interactive tool for visually summarizing computational notebook structure
Stefik et al. Empirical studies on programming language stimuli
Jakubovic et al. Technical Dimensions of Programming Systems
EP0898753B1 (en) Relational database compiled/stored on a memory structure
Goldstein et al. An experimental description-based programming environment: Four reports
Dasgupta The second age of computer science: from ALGOL genes to neural nets
Castelo-Branco et al. Inside the matrix: immersive live coding for architectural design
Paynter Automating iterative tasks with programming by demonstration
Coetzee Combining reverse debugging and live programming towards visual thinking in computer programming
Perry Industrial Strength Software Development Environments.
Jones Incremental simulation on a time-shared computer
Bianchi et al. Issues in design and implementation of multimedia software systems
Holcomb et al. An amalgamated model of software usability
Toleman et al. The design of the user interface for software development tools