JPH05324713A - 自然語処理方法および自然語処理システム - Google Patents

自然語処理方法および自然語処理システム

Info

Publication number
JPH05324713A
JPH05324713A JP4152946A JP15294692A JPH05324713A JP H05324713 A JPH05324713 A JP H05324713A JP 4152946 A JP4152946 A JP 4152946A JP 15294692 A JP15294692 A JP 15294692A JP H05324713 A JPH05324713 A JP H05324713A
Authority
JP
Japan
Prior art keywords
natural language
knowledge
node
concept
language processing
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
JP4152946A
Other languages
English (en)
Inventor
Yasuharu Nanba
康晴 難波
Hiroyuki Kinukawa
博之 絹川
Hiroshi Tsuji
洋 辻
Satoru Wakayama
哲 和歌山
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.)
Hitachi Ltd
Original Assignee
Hitachi Ltd
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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP4152946A priority Critical patent/JPH05324713A/ja
Priority to US08/062,951 priority patent/US5555169A/en
Publication of JPH05324713A publication Critical patent/JPH05324713A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/253Grammatical analysis; Style critique

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Machine Translation (AREA)

Abstract

(57)【要約】 【目的】 入力文字列が部分的に操作指示言語に変換で
きなくとも、入力文字列の意味に関連する別の自然語の
文字列を追加または置換して意味解析することにより、
最終的に実行すべき処理の操作指示言語へ変換する。 【構成】 自然語による文字列からなる自然語文を入力
装置から入力し(ステップ1)、該自然語文に対して自
然語解析処理を行なう(ステップ2)。自然語文を辞書
10を用いて構文解析し(ステップ3)、その構文解析
結果に対して知識11を用いて意味解析を行ない(ステ
ップ4)、その意味解析結果に対して意味構造変換を施
し(ステップ5)、その結果、操作指示言語を得た場合
はそれを実行し、実行結果を出力装置に出力し(ステッ
プ6、7)、自然語の文字列を得た場合にはさらに再帰
的にその文字列の意味解析をする(ステップ8、9)。
ステップ9はステップ2と同じでも良い。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、計算機と人間とのイン
タフェースを自然語により司る自然語インタフェースに
おける自然語処理方法およびそのシステムに関する。
【0002】
【従来の技術】本発明に関連する技術は、特開昭62−
75731「情報処理装置の指令装置」として記載され
ている。
【0003】この明細書では、自然言語にて入力データ
を入力し、該入力データを言語解析し、言語解析された
入力データに含まれる語に基づいて該語に対応する指令
概念を推定し、該推定された指令の実行を指示する、と
いうことが記されている。
【0004】
【発明が解決しようとする課題】上記従来技術では、ユ
ーザが入力する自然語には、直接的に計算機が動作する
ための指令概念と対応する語が必要であり、ユーザが入
力する目的(ゴール)の表現や概要的(マクロ)な表現
など、会話文に近い自然語文ついての解析は、上記従来
技術では困難であった。
【0005】本発明の目的は、自然語文による入力を受
付け、その入力に対応して計算機を動作させることが可
能な自然語処理方法およびそのシステムを提供すること
にある。特に、入力された文字列が部分的に操作指示言
語に変換できなくとも、入力された文字列の意味に関連
する別の自然語の文字列を追加または置換して意味解析
することにより、最終的に実行すべき処理の操作指示言
語へ変換することが可能な自然語処理方法およびそのシ
ステムを提供することにある。本発明の他の目的は、計
算機を用いた種々のアプリケーションシステムに統一的
な自然語インタフェースを具備させるための自然語処理
方法および自然語処理システムを提供することにある。
本発明のさらに他の目的は、当業者によって、本願明細
書および添付する図面から理解されるだろう。
【0006】
【課題を解決するための手段】上記目的は以下のように
して達成される。自然語による文字列を入力装置から入
力し、知識(複数の機能連鎖構造で記述した知識および
複数の意味構造変換規則からなる)を選択的に用いて、
入力された文字列の意味を解析する。その解析の結果に
応じて、入力された文字列の意味に関連する別の自然語
の文字列に変換するか、または、入力された文字列の意
味に関連する操作指示言語などを生成する。自然語の文
字列を得た場合にはさらに再帰的にその文字列の意味を
解析する。操作指示言語を得た場合はそれを実行し、そ
の実行結果を出力装置に出力することによって上記目的
は達成される。これを実行する計算機システムは、自然
語に関する辞書と自然語による意味の定義の情報(知
識)とを格納する記憶装置、自然語による文字列を入力
するための入力装置および出力装置とから構成される。
【0007】より詳しくは、入力された文字列から文字
列を構成する自然語要素が有する概念を抽出し、これら
の概念に基づいて、分野、システム、操作指示言語、お
よび、談話に依存する知識を参照して、概念間の関係を
表す機能連鎖構造を生成する。機能連鎖構造の生成の際
に参照した知識に付随する知識に基づいて、自然語によ
る別の文字列、操作指示言語などを生成する。生成され
た操作指示言語を実行する。また、得られた自然語によ
る別の文字列については再び意味解析し、操作指示言語
が生成されたときはこれを実行し、さらに自然語による
別の文字列が生成されれば、その意味解析をしてゆく。
これにより、上記目的は達成される。なお、上述では計
算機と人間とのインタフェースとして一般的な双方向性
を考慮に入れているので、実行結果を出力装置に出力す
るようにしているが、実行結果は必ずしも出力装置に出
力されなくともよい。
【0008】
【作用】計算機システムは、入力された文字列が部分的
に操作指示言語に変換できなくとも、入力された文字列
の意味に関連する別の自然語の文字列を追加または置換
して意味解析することにより、最終的に実行すべき処理
の操作指示言語へ変換することができる。ユーザが入力
する自然語には、直接的に計算機の動作するための目的
(ゴール)の表現や概要的(マクロ)な表現など、従来
技術では解析困難な表現が多く含まれるが、本発明によ
ればこれらの表現を意味解析し、動作のための手段や方
法の表現に変換(すなわち、言い替えや説明)すること
ができるので、入力される自然語は会話文のような表現
でも許される。また、変換前の表現と変換後の表現と
は、日常的に使用している自然語であるので、変換前後
の対応関係の定義やその定義の修正は容易である。さら
に、計算機が動作するための操作指示言語と自然語との
関係の知識に関しては最も基礎的な(プリミティブな)
知識だけを予め用意するだけで、より高次な操作指示を
表現する自然語文の解釈が可能となる。本発明による自
然語処理方法またはシステムを利用するユーザは、日常
的に使用している自然語(英語、日本語など)を用いて
計算機を動作させることができる。
【0009】以上のように本発明によれば、計算機に対
して従来与えていたような形式言語(計算機向けに決め
られた特別な言語、コマンド)や操作指示言語(計算機
向けに決められた所定の形式のコマンド)を用いずに、
通常の日本語や英語などの自然語(一般に文であるが、
場合によっては単語でも良い。)による入力を与えるこ
とで、計算機に所望の動作をさせることができる。
【0010】
【実施例】以下、本発明の実施例を図面を用いて詳細に
説明する。
【0011】本実施例は、本発明を意思決定支援システ
ムに適用した場合のものである。意思決定支援システム
とは、たとえば意思決定のために、データベース検索機
能とそのデータベース検索機能の動作に伴う結果をグラ
フや一覧表にしたり、さらにその結果を表示、消去、編
集するような機能の実行を、ユーザが指示できるシステ
ムである。このような意思決定支援システムの具体例と
してEXCEED2(日立製作所製)がある。本発明を
適用しない場合には、このような意思決定支援システム
を動作させるためには、用意された言語やコマンドをユ
ーザは入力しなければならない。用意された言語やコマ
ンドを本明細書中の説明では操作指示言語と呼ぶ。本実
施例において、ユーザから計算機に入力される自然語文
は、主として操作を指示する文(計算機の動作を指示す
る文)である。たとえば、ユーザの観点からの計算機に
対する問い合わせなども、この操作指示に含まれる。
【0012】図1は、本発明の実施例における処理の概
要を示す。最初に、入力装置から自然語文を入力する
(ステップ1)。例えば、「売上を集計せよ。」とユー
ザが入力する。次に、入力文を基に、自然語文の意味を
解析し、操作指示言語、あるいは、自然語による新たな
文字列を生成し、操作指示言語ならば実行し、自然語に
よる新たな文字列ならば自然語解析する(ステップ
2)。ステップ2は、次のいくつかのステップを含む。
【0013】最初に、入力文に基づいて、辞書10を用
いて、形態素解析をし、多義解消をし、構文解析をする
(ステップ3)。この結果、例えば、自然語要素の概念
として「売上(を)」、および、「集計(せよ)。」を
得る。次に、抽出された自然語要素の概念を基に、知識
データベースを構成する知識(複数の機能連鎖構造で記
述した知識および複数の意味構造変換規則)11を用い
て、意味解析し、新たに機能連鎖構造を生成する(ステ
ップ4)。知識11の具体例は後述するが、分野、シス
テム、操作指示言語、談話に依存する知識を機能連鎖構
造でそれぞれ記述したものである。機能連鎖構造につい
ても後述する。ステップ4の詳細は、さらに、図9及び
図10を用いて後述する。次に、新たに機能連鎖構造を
生成する際に必要であった知識における情報(特に、機
能連鎖構造から操作指示言語への意味構造変換規則に関
する知識)に基づいて、操作指示言語、あるいは、新た
な自然語による文字列を生成する(ステップ5)。ステ
ップ5の詳細は、さらに、図11を用いて後述する。
【0014】ステップ5で操作指示言語が生成されたか
否かを判定し(ステップ6)、生成された場合は、その
操作指示言語を実行する(ステップ7)。操作指示言語
が生成されてない(あるいは、ステップ7によりなくな
った)場合は、ステップ8に分岐する。自然語による新
たな文字列がステップ5において生成されているか否か
を判定し(ステップ8)、生成されている場合は、自然
語解析処理を実行する(ステップ9)。この自然語解析
処理9は、自然語解析処理2と同一の処理で構わない。
この場合には、再帰的に呼び出した自然語解析処理9内
の(自然語解析処理2のステップ3に相当する)ステッ
プに分岐する。ただし、再帰的に自然語解析処理を呼び
出す場合、その時点より前に行なわれた処理上の情報
(変数の値など)は、この呼び出される処理が終わって
呼び出した処理に返ってきた際に、必要に応じて復帰で
きるように記憶しておく必要がある。再帰呼び出しの機
構(例えば、スタックを利用して変数の値を一時的に退
避し管理する仕組み、など)に関しては、周知の技術を
利用すれば実現できるので、説明を省略する。ステップ
5で処理すべき自然語による新たな文字列がない(ある
いは、ステップ9によりなくなった)場合は、自然語解
析処理2を終了する。あるいは、この自然語処理2が再
帰的に呼ばれている場合は、呼び出し元の自然語解析処
理内のステップ6に処理が移る。ユーザからの自然語文
の入力が繰り返されるならば、それらの入力に対応し
て、以上の一連の処理を繰り返す。
【0015】辞書10は、各形態素あるいはそれに準ず
る自然語の構成要素ごとに、すくなくとも、形態論的属
性に関する情報(表記、活用など)、構文論的属性に関
する情報(修飾機能、格支配機能など)、および、意味
論的属性に関する情報(機能的属性の強弱、操作対象的
属性の強弱、条件的属性の強弱、属性名的属性の強弱、
属性値的属性の強弱、機能ラベル、意味ラベルなど)を
具備するテーブルである。辞書については、本発明の主
題ではないので、その詳細な説明は省略する。
【0016】なお、辞書に関する具体的説明は、先に出
願した特願平2ー228126号の明細書に述べられて
いる。
【0017】知識11は、自然語文の意味を解析してコ
マンドを生成するための知識を格納するテーブルであ
る。以下では、説明の都合上、テーブルに格納された知
識と一対一対応の機能連鎖構造で表現する。知識11に
は、少なくとも、以下の知識を格納する。 すなわち、(1)分野に依存する知識、例えば、小売
業、医療、教育、人事、金融など分野に固有な知識に依
存する知識。この知識は、当該分野で利用されているデ
ータベースの構造なども含まれる。この場合、表階層モ
デルなど、(多少の変更を行って)従来技術に基づい
て、当該分野固有の知識の記述を計算機上にモデル化す
ることができる。 (2)システムに関する知識。すなわち、システム内で
使われる概念の上位下位関係に関する知識など。 (3)アプリケーションに関する知識。自然語文の操作
指示内容とコマンドの書式との対応関係などの知識。 (4)談話に依存する知識。すなわち、画面情報や履歴
情報などの知識である。これらの知識の具体的な機能連
鎖構造による表現は後述する。
【0018】図2は、機能連鎖構造の基本構造を説明す
る図である。機能連鎖構造とは、一つの概念を一つのノ
ード、概念間の関係をリンク(ブランチ)として、表現
したネットワーク構造である。従って、機能連鎖構造
は、一般に基本構造をいくつか含む。もちろん、ひとつ
の場合もある。概念の単位は、概ね自然語要素の意味的
な纏まり(辞書における見出しや、小見出しなど)に相
当する。
【0019】図2に示す機能連鎖構造の基本構造は、機
能を示すノード100の子ノード101がその機能10
0への入力データや条件に関するノード(入力1から
n)であり、機能を示すノード100の親ノード102
がその機能からの出力のデータや条件に関するノード
(出力1からm)である。図中、ノードは四角形(入力
データや条件に関するノード)、または、六角形(機能
を示すノード)で囲んで表現し、ノードの関係を子ノー
ドから親ノードに向かう有向リンクでつないで表現して
いる。以下では、機能を示すノードの一種で、特に操作
指示の機能を示すノードを操作指示ノードということが
ある。ある機能Aの出力結果が他の機能Bの入力データ
または入力条件となるということを表現するとき、その
機能Aの出力結果のノードを機能Bの入力データまたは
入力条件のノードとすることで表現する。
【0020】機能連鎖構造を表現するために、木構造や
意味ネットワーク構造なとのグラフ構造を用いても良
い。なお、処理の都合上、実際の機能連鎖構造の中に、
ルートノード(根ノード)を設けたり、あるノードを修
飾限定するノードを設けたりすることがある。
【0021】各ノードは、次のような情報を持ってい
る。それは、(1)ノード識別するためのノードID
(識別子)、(2)他のノードのリンク関係に関する情
報、および、(3)そのノード自体の用途を示すアトリ
ビュート(属性)等である。さらに、次のような情報を
持つ場合がある。(4)自然語表現に関する情報、
(5)付属語に関する情報、(6)機能ラベルに関する
情報、または、これらの情報(データ)が意味する意味
ラベルに関する情報、(7)与えられた自然語文の表記
上の位置に関する情報、(8)これらの情報(データ)
に付随する範囲に関する情報、(9)これらの情報(デ
ータ)の、対応するの自然語文中における格関係に関す
る情報、等である。さらに、ノードが知識11の機能連
鎖構造の構成要素である場合には、さらに、次のような
情報を持つ場合がある。(10)ノードの元々属する機
能連鎖構造のID、(11)(10)の機能連鎖構造の
タイプ(「意味構造変換規則」、「具体化用データ」な
ど)、(12)ノードのリンク関係の重要性(意味構造
変換規則を兼用して定義すべき総量を減らすために、
「任意」か「必須」かの別を定義しておくものであり、
本質的に必要な情報ではない)などがある。なお、計算
機上では、例えば、各ノードに1から12のメモリ領域
が割り当てられ、ノードの持つ各情報は対応するメモリ
領域に夫々格納される。これらの情報に関しては、下記
の具体例の中で必要に応じて、説明する。
【0022】上記(3)の用途を示すアトリビュートに
よって、ノードは、以下のような種類に分類される。第
1はシステム用ノードである。これは、機能連鎖構造を
処理(管理、変形など)するために用いるノードであ
る。例えば、木構造で表現する場合において、ルート
(根)を表すためのノード(アトリビュートとして「ル
ート」を付与する)がある。第2は、機能を示すノード
である。これには、アトリビュートとして「機能」を付
与する。また、機能を示すノードは、さらに操作指示ノ
ードと操作指示ノード以外のノードに細分される。操作
指示ノードは、アプリケーションを操作指示する機能を
表現するためのノードである。実際にあるアプリケーシ
ョンを操作指示する方法(コマンドなど)は、この操作
指示ノードに対応して定義される意味構造変換規則の帰
結部に記述する。機能を示すノードの内、操作指示ノー
ド以外のノードは、後述のデータや出力に関するノード
間の意味的な関係を表現するためのノードである。例え
ば、上位下位概念の意味関係を表現するためのノード
(機能ラベルとして「isa」を付与する)や、対象と
その属性との関係を表現するためのノード(機能ラベル
として「hap」を付与する)や、同値の意味関係を表
現するためのノード(機能ラベルとして「equ」を付
与する)などがある。第3は、操作対象・条件ノードで
ある。これは、機能を示すノードに対して操作対象や条
件となる入力データまたは出力結果を表現するためのノ
ードである。例えば、操作対象を表現するためのノード
(アトリビュートとして「操作対象」を付与する)や、
条件そのものを表現するためのノード(アトリビュート
として「条件」を付与する)や、条件の構成要素である
属性名を表現するためのノード(アトリビュートとして
「属性名」を付与する)や、条件の構成要素である属性
値を表現するためのノード(アトリビュートとして「属
性値」を付与する)などがある。
【0023】図3は、操作対象や条件を表現した機能連
鎖構造を説明する図である。自然語表現が「SがVであ
る(S is a V)」という条件を機能連鎖構造で
表現するためには、「isa」(これは「is a」に
由来するものであるが、厳密には同じ概念のものとはい
えないので「isa」と表記する)を機能を示すノード
106とし、ノード106の子ノードとして「属性名
S」ノード107と「属性値V」ノード108とを結合
し、ノード106の親ノードとして「条件C」ノード1
05を結合する。「条件C」ノードは、上記の例の場
合、SがVであるということそのものを表すノードであ
る。例えば、自然語表現が「グラフタイプが棒グラフで
ある」という条件の場合、機能連鎖構造は、機能を示す
ノード106「isa」と、属性名を示すノード107
「グラフタイプ」と、属性値を示すノード108が「棒
グラフ」と、条件を示すノード105とを、それぞれ上
記説明のように結合した構造である。なお、自然語表現
が「Vである」というように属性名Sを省略した表現を
機能連鎖構造で表現する場合、属性名Sを示すノード1
07をダミーとして結合するか、または、ノード107
を省略しても構わない。このような場合の具体的な自然
語表現の例として、「棒グラフである」や「赤い」など
がある。
【0024】機能連鎖構造で、操作対象を表現する場
合、その操作対象の属性を表す条件の組み合わせでこの
操作対象を表現する。すなわち、操作対象を機能連鎖構
造で表現するためには、「hap」(これは「have
a property」に由来するものであるが、厳
密には同じ概念のものとはいえないので「hap」と表
記する)をノード104とし、ノード105の子ノード
として「条件C」ノード105を結合し、ノード105
の親ノードとして「操作対象T」ノード103を結合す
る。例えば、自然語表現が「グラフタイプが棒グラフで
ある」という操作対象を考える。つまり、操作対象とし
て、グラフタイプが棒グラフであるものを機能連鎖構造
で表現する。これは、上の例で説明したノード105〜
108からなる機能連鎖構造に加えて、機能を示すノー
ド「hap」と、操作対象を示すノード103とを上記
説明のように結合した構造である。なお、一般に、操作
対象は複数の条件(属性)を持つが、このことを、機能
連鎖構造で表現する場合、機能を示すノード104の子
ノードとしてそれぞれの条件を示すノード105を接続
する。このような場合の具体的な自然語表現の例とし
て、「グラフタイプが棒グラフで、かつ、Y軸が売上高
である」がある。ただし、この例文によって一つの操作
対象が示されているとする。この場合、機能連鎖構造
は、機能を示すノード「isa」と、属性名を示すノー
ド「グラフタイプ」と、属性値を示すノード「棒グラ
フ」と、条件を示すノードとを結合し、同様に、機能を
示すノード「isa」と、属性名を示すノード「Y軸」
と、属性値を示すノード「売上高」と、条件を示すノー
ドとを結合し、さらにこれら2つの条件を示すノード
と、機能を示すノード「hap」と、操作対象を示すノ
ード「操作対象」とを結合する。
【0025】このようにして、操作対象と条件は機能連
鎖構造という同じ形式で表現することによって、上記の
ように、操作対象の機能連鎖構造は、条件の機能連鎖構
造を含んで記述することができるので、自然語による条
件の表現が、その条件を含む操作対象の照応表現として
解釈することは、その表現上、可能である。例えば、条
件「赤い」が、その条件を含む操作対象(例えば、赤で
表示された6月の売上棒グラフ)の照応表現であると解
釈することが、表現上、可能である。以上のように、上
記説明に基づく機能連鎖構造は、ある操作対象を照応し
ている条件表現の照応の解釈に有効な意味表現である。
【0026】図4は、本実施例におけるハードウェア構
成図である。プロセッサ14と、それに接続する記憶装
置15、入力装置12及び出力装置13から構成され
る。記憶装置15には、自然語解析プログラム16、操
作指示言語実行プログラム17、ワークエリア18、辞
書10、知識11が格納される。図4及び以上の簡単な
説明から分かるように、本発明を実施するためのハード
ウェアは計算機システムであれば良い。大型の計算機に
限らず、ワークステーションやパーソナルコンピュータ
と呼ばれるようなものであっても良い。プロセッサ14
は、自然語解析プログラム16、及び、操作指示言語実
行プログラム17を実行できれば良く、これらのプログ
ラムと共に構文解析手段、意味解析手段、意味構造変換
手段として動作する。また、記憶手段15は、辞書1
0、知識11等を記憶できればよく、また、ワークエリ
ア18を確保できれば良い。その実行や記憶のための計
算機がそれぞれ別にあって、それらの計算機が接続され
ている分散システムの計算機構成であっても良い。計算
機間の接続は、記憶媒体を介して機能的に接続したもの
であっても良いが、本発明の性質上、好ましくはない。
【0027】ここで、自然語解析プログラム16は、図
1に示すステップ1から始まる一連の処理を実行するプ
ログラムである。また、ステップ1、3、4、5、7、
及び、8の処理を実行するプログラムとステップ2の処
理を実行するプログラムとは別のプログラムとして計算
機内に格納しても構わないが、これらのプログラムが兼
用され、再帰的に呼びだされることが、本発明の性質
上、好ましい。また、ステップ7は、操作指示言語に対
応した処理を実行しても良いが、プログラム構成上(開
発効率や実行効率の観点で)、実際に実行するプロセス
(タスクまたはプログラム)に実行の契機を与える(起
動する)処理を実行しても良い。なお、自然語解析プロ
グラム16におけるステップ7の意味は、その実行の開
始を意味し、その終了を必ずしも意味している訳ではな
い。
【0028】操作指示言語実行プログラム17は、実際
の操作指示言語を実行する、または、実行し続ける(ス
テップ7)ためのプログラムである。マルチプロセス
(マルチタスキング)を用いて、複数の操作指示言語に
対応する、それぞれの処理を各プロセスで実行するソフ
トウェア構造としてもよい。
【0029】図5〜図8は、本実施例における知識11
の具体例である。自然語文の意味を解析してコマンドを
生成するためには、次の知識が必要である。すなわち、 (1)語彙や文法に関する知識(例えば、辞書など) (2)分野に依存する知識(例えば、小売業や医療など
の知識であり、本実施例では、この知識を表現するデー
タベース構造に基づく知識) (3)システムに関する知識(システム内の上位下位関
係の知識など) (4)アプリケーションに関する知識(自然語文の操作
指示内容とコマンドの書式との対応関係の知識(以下で
は、特に、意味構造変換規則と呼ぶことがある)など) (5)談話に依存する知識(画面情報や入出力履歴、動
作履歴など) である。
【0030】(2)〜(5)の知識を前述の機能連鎖構
造で表現した具体例を説明する。なお、(1)の語彙や
文法に関する知識に関しても、機能連鎖構造を用いて表
現し、(2)〜(5)までの知識と同等の表現形式とし
て知識11に組み込み、形態素解析3から意味解析4ま
での一連の解析を統合し、知識の複合による自然語解析
精度の向上をさらに高めても構わない。しかしながら、
この場合、辞書を単純な表として検索する従来技術方式
と比較して、処理速度が遅くなるため、実用上好ましく
はない。
【0031】図5は、本実施例における(2)の分野に
依存する知識、特に、データベース構造に関する知識の
具体例である。データベース中のレコードファイルであ
る売上マスタの第1フィールドが売上である、という知
識は、このレコードファイルを操作対象とし機能連鎖構
造で表現することができる。すなわち、この操作対象
は、属性名「第1フィールド」114が属性値「売上」
115であるという条件112と、属性名「自分自身の
名前(self)」118が属性値「売上マスタ」11
9であるという条件116とを兼ね備えるという操作対
象「レコードファイル」110である、と表現する。こ
こで、属性名「第1フィールド」114と属性値「売
上」115と条件112との関係は機能「isa」11
3で表現し、属性名「自分自身の名前(self)」1
18と属性値「売上マスタ」119と条件116との関
係は機能「isa」117で表現し、条件112と条件
116と操作対象「レコードファイル」110との関係
は機能「hap」で表現する。このようにして、データ
ベース構造に関する知識を機能連鎖構造で表現すること
ができる。
【0032】図6は、本実施例における(3)のシステ
ムに関する知識、特に、システム内の上位下位関係の知
識の具体例である。第1フィールドは、レコードファイ
ルの構成要素であるフィールドの一種であるという上位
下位の関係の知識は、条件の一種であるとして機能連鎖
構造で表現することができる。すなわち、この条件は、
属性名「フィールド」121が属性値「第1フィール
ド」122である、と表現する。ここで、属性名「フィ
ールド」121と属性値「第1フィールド」122との
関係は機能「isa」で表現する。このようにして、シ
ステムにおける上位下位の関係に関する知識を機能連鎖
構造で表現することができる。なお、(1)における語
彙のシソーラスに関する知識も、この機能連鎖構造と同
様にして表現することができる。本方式によれば、ある
一つの上位下位関係ごとに機能連鎖構造として知識表現
できるので、語彙のシソーラスが体系立っていなくと
も、そのシソーラスの部分的な上位下位関係を知識11
に組込み、自然語解析2に役立てることができる。
【0033】図7は、本実施例における(4)のアプリ
ケーションに関する知識、特に、意味構造変換規則の具
体例である。指定のカラムをX軸としてグラフ化する
と、DSSテーブルが生成する、という意思決定支援シ
ステム固有の知識は、知識の前半の「グラフ化」である
意味構造変換規則の条件部と、知識の後半の「生成」で
ある意味構造変換規則の帰結部とをそれぞれ機能連鎖構
造で表現する。すなわち、条件部は、属性名「X軸」1
26が属性値「カラム」127であるという条件124
を入力とする機能(操作指示)「グラフ化」123であ
る、と表現する。ここで、属性名「X軸」126と属性
値「カラム」127と条件124との関係は機能「is
a」で表現する。
【0034】この意味構造変換規則の帰結部は、属性名
「X軸」132が属性値「カラム」133であるという
条件130と、属性名「自分自身の名前(self)」
136が属性値「NewName()」137であると
いう条件134とを兼ね備える操作対象「DSSテーブ
ル」として表現する。ここで、属性名「X軸」132と
属性値「カラム」133と条件130との関係は機能
「isa」で表現し、属性名「自分自身の名前(sel
f)」136と属性値「NewName()」137と
条件134との関係は機能「isa」で表現し、条件1
30と条件134と操作対象「DSSテーブル」との関
係を機能「hap」で表現する。ただし、条件部の属性
値「カラム」127と帰結部の属性値「カラム」133
とが同一のものであるという知識もこの意味構造変換規
則に用意しておく。簡単には、同一ノードとするか、ま
たは、属性値133の内容の参照先として属性値127
を間接的に参照するようにしておくことで実現する。ま
た、「NewName()」は、アプリケーションシス
テム内に存在していない識別子を生成し返す関数であ
り、このノードが参照されたときに新たに一つの識別子
がこのノード137に与えられ、その識別子で置き換わ
る。また、意味解析処理(ステップ4)のネットワーク
探索の際に、条件部と帰結部とを連結するためのノード
を処理の都合上用意しても構わない。
【0035】また、以上の他に、意味構造変換規則の帰
結部には、新たな別の自然語による文字列、アプリケー
ションシステムのコマンド(または、コマンドテンプレ
ート)、及び、知識11を更新するためのコマンド(ま
たは、コマンドテンプレート)などを記述する。これら
の自然語による文字列やコマンドは、処理すべき順に対
応して記述する。従って、混在して記述することがあ
る。このときの処理の詳細は後述する。意味構造変換規
則の帰結部に記述すべき自然語による文字列やコマンド
としては、例えば、ガイダンスメッセージやヘルプメッ
セージを出力するための自然語文「「棒グラフでグラフ
化します。」と表示せよ。」138、アプリケーション
システム(この場合、意思決定支援システム)を操作す
るためのコマンドテンプレート「Graphize
(ノード137の値) with 棒グラフ」139、
および、さらに追加して実行すべき機能を説明するため
の自然語文「画面中央に表示する。」140などを記述
しておく。このようにして、意味構造変換規則を機能連
鎖構造で表現することができる。ここで、「(ノード1
37の値)」とは、コマンドテンプレートから実行コマ
ンドを生成する処理5の中で、属性値ノード137の値
を代入することを示すスロットのことである。
【0036】図8は、本実施例における(5)の談話に
依存する知識、特に、画面情報や履歴情報などのように
実際に存在する(あるいは、存在した)操作対象とその
属性に関する知識(以下では、特に具体化用データと呼
ぶことがある)の具体例である。意思決定支援システム
が使用しているDSSテーブルであるワークテーブル1
の第1カラムが売上である、という知識は、このDSS
テーブルを操作対象として機能連鎖構造で表現すること
が可能である。すなわち、この操作対象は、属性名「第
1カラム」145が属性値「売上」146であるという
条件143と、属性名「自分自身の名前(self)」
149が属性値「ワークテーブル1」150であるとい
う条件147とを兼ね備える操作対象「DSSテーブ
ル」141であると表現する。ここで、属性名「第1カ
ラム」145と属性値「売上」146と条件143との
関係を機能「isa」144で表現し、属性名「自分自
身の名前(self)」149と属性値「ワークテーブ
ル1」150と条件147との関係を機能「isa」で
表現し、条件143と条件147と操作対象「DSSテ
ーブル」141との関係を機能「hap」142で表現
する。このようにして、具体化用データを機能連鎖構造
で表現することができる。
【0037】以上のように、(2)〜(5)の知識に関
して、同一の表現形式である機能連鎖構造で表現するこ
とにより、二種以上にまたがる知識を適切に連携する意
味解析が容易になる。また、従来技術のように使用する
知識の表現形式(例えば、辞書)と中間意味表現とが異
なる場合と比べて、本実施例のように機能連鎖構造を自
然語文の意味表現として兼用することは、意味解析処理
のアルゴリズムや記憶領域の使用の点で効率的である。
さらに、各種知識表現が同一の表現形式であるというこ
とは、知識エディタを一本化することができるので、全
体のメモリ消費量を縮小することができる。また、複数
の異なる知識エディタを提供したときに比べて、操作方
法が統一されるので保守工数や開発工数が低減する。
【0038】図9は、本実施例における意味解析(ステ
ップ4)の処理手順の詳細フローチャートである。すで
に説明した分野やシステムやアプリケーションや談話に
関する知識は、一種の意味ネットワークである機能連鎖
構造で表現している。本実施例における意味解析は、こ
の機能連鎖構造による各種知識上を探索し、その探索経
路となった意味ネットワークがただちに、与えられた自
然語による文字列の中間意味表現となる処理方式であ
る。すなわち、このネットワーク探索のためのアルゴリ
ズムは、操作対象や条件を起点とし、機能を終点とする
機能連鎖構造を、各種知識である機能連鎖構造を探索す
ることによって見つけ、それらの機能連鎖構造を組み合
わせることによって構成される機能連鎖構造を中間意味
表現とするアルゴリズムである。以下は、この処理手順
の詳細である。なお、実施例では、操作対象や条件を起
点とし、機能を終点としているが、起点と終点を前記と
は逆にしても良く、また、起点と終点の組合せを前記以
外のものとしてもよい。
【0039】まず、自然語による文字列を意味解析して
意味の第1候補を得るのか、あるいは、意味の第2候補
以降を得るのかを選択する(ステップ400)。意味の
第n候補を得るために、第(n−1)候補までの解析処
理の中間結果(足跡リスト(後述)など)を保存してお
く。意味の第1候補を得る場合は、解析処理の中間結果
(足跡リストなど)を初期化し、ステップ401に分岐
する。第2候補以降を得る場合は、ステップ403に分
岐する。この処理方法によれば、入力文を入力したユー
ザが意図しない解析をシステムが行なった場合や、シス
テムが複数の解析候補を一括してユーザに提示したい場
合のために、意味の第2候補以降を得る処理を効率的に
実現することが可能である。
【0040】次に、図1のステップ3までの処理で自然
語要素(概ね、文節に相当する)毎に割り当てたノード
の中で、操作指示ノードとこの操作指示ノードに構文
的、または、表記上の位置的に関係している(一般に
は、複数個の)操作対象・条件ノードとで組を見つける
(ステップ401)。この組の内、まだ、以下のステッ
プ402からステップ406で解析されていない組があ
れば、ステップ402へ分岐する。そうでなければ、図
1に示す意味解析(ステップ4)を終了する。なお、ス
テップ402以降の処理では、ステップ401で得た一
組の内、操作指示ノードに対し「探索を終了するノー
ド」、操作対象・条件ノードに対し「探索を開始するノ
ード」と呼ぶことがある。適切なノードの組合せが決定
できないときに、所定のデフォルト(またはダミー)の
操作対象・条件ノードを「探索を開始するノード」とし
たり、所定のデフォルト(またはダミー)の操作指示ノ
ードを「探索を終了するノード」として補って、以下の
解析を行ってもかまわない。
【0041】次に、足跡リストを空(NULL)にし、
各「探索を開始するノード」ごとに用意した足跡を足跡
リストに加える(ステップ402)。「足跡」は、探索
経路を記憶しておくデータの構造であり、各足跡はネッ
トワーク探索における一歩を記憶することに相当する。
また、「足跡リスト」とは、足跡の集合である。
【0042】各足跡は、以下の情報を持つ。すなわち、 (足跡情報a)一歩前の足跡(ただし、2つ以上の足跡
が合流する場合は、それに応じて、複数の「一歩前の足
跡」を記憶する。 (足跡情報b)現在探索中のノード。 (足跡情報c)探索経路の距離。この距離は、探索開始
ノードから(足跡情報b)のノードまでの距離である。 距離の計算方法は、通過した(あるいは、合流した)ノ
ード(または、リンク)に応じて適当に重み付けされた
値を累積する。例えば、ノードやリンクの利用頻度や重
要性に基づいて重み付けを与えることにより、探索経路
の短い順に探索を一歩ずつ進めていくアルゴリズムにお
いて、適切な探索経路を優先して発見することが可能と
なる。後述する具体例では、簡単のため、距離の計算方
法として、通過したノードの総数とし、合流した場合は
各支流の距離を総和した値を用いて説明する。 (足跡情報d)評価得点。これは、一歩前の足跡の評価
得点に、探索を開始するノードに対するこの足跡の適合
している度合いを累計した値である。 (足跡情報e)次の一歩に探索可能な機能連鎖構造の集
合。すなわち、利用可能な知識の集合である。この機能
連鎖構造の集合が、談話に応じて増減することによって
主題のフォーカシングを行ない、談話のトラッキングを
容易にすることができる。
【0043】このようにして定義される足跡を用いてネ
ットワーク探索する主たる目的は、メモリ効率の良い探
索を行うことにある。例えば、ネットワーク探索に際
し、探索経路に応じて利用可能な知識が非決定的に生成
または消滅する。このため、それぞれの探索経路ごとに
知識を複製しておく必要がある。一般に探索経路は分岐
や合流を繰り返すので、各知識の複製のためのメモリ使
用量は膨大なものとなる。そこで、本発明のようにネッ
トワーク探索を一歩ずつ「足跡」として記憶すれば、探
索経路の分岐の際に発生するそれまでの共通の探索経路
は複製のためのメモリを使用しないですむので、効率が
良い。
【0044】次に、足跡リストの中に処理すべき「足
跡」があれば、処理をステップ404に分岐し、そうで
なければ処理をステップ401に分岐する(ステップ4
03)。例えば、足跡リストの内、探索経路の距離(足
跡情報c)の最小のものから順に取り出す。次に、ステ
ップ403で得た足跡の探索中のノード(足跡情報b)
を起点として、ネットワーク探索を行ない、一歩先のノ
ードの見つけ、そのノードの足跡を足跡リストに加える
(ステップ404)。ステップ404は、図10にて、
さらに詳しく説明する。次に、探索の終了条件を満たす
かどうか判定し、満たせば処理をステップ406に分岐
し、満たさなければ処理をステップ403に分岐する
(ステップ405)。
【0045】探索の終了条件には、以下のものがある。 (a)探索経路の距離(足跡情報c)がある一定値に達
した場合。 (b)自然語の解析によって得られた操作指示ノードと
適合するノードの足跡がある場合。 (c)十分に高得点な評価得点(足跡情報d)を持つ足
跡がある場合。 これらの単独、または、組合せて探索の終了を判定す
る。
【0046】例えば、探索経路の距離を予め設定した値
に達するまで探索し、その中で自然語文から得られた操
作指示ノードと適合するノードの足跡の内、最も評価得
点の高い足跡が見つかれば、探索を終了する。この足跡
を意味の第1候補とする。意味の第2候補以下の場合
は、評価得点のより低い足跡を意味の候補とする。ま
た、意味の第2候補以下を得るために足跡の候補数を増
やす必要がある場合、探索の終了条件(a)の探索経路
の距離を動的に延長しても良い。
【0047】次に、探索の終了条件を満たした場合、ユ
ーザに探索結果が入力文の意味として適切かどうか対話
的(インタラクティブ)に確認する。入力文の意味とし
て適切でなければ、再解析指定モードにセットして、ス
テップ400に分岐する。入力文の意味として適切であ
れば、ステップ4を終了する。確認に際し、機能連鎖構
造の表示、スタック上の内容の表示、及び、機能連鎖構
造に基づいてさらに確認を目的とする自然語文を生成し
これの表示、等を行ってもよい。このユーザに確認する
ステップ406は、操作指示言語の実行処理7の直前に
設けてもよい。この場合も、入力文の意味として適切で
なければ、再解析指定モードにセットして、ステップ4
00に分岐する。入力文の意味として適切であれば、ス
テップ7を開始する。なお、このステップ406は使用
しなくてもよい。この場合、ユーザが処理を中断するこ
となく、一連の解析および実行を行うことができるの
で、バッチ処理に向いている。
【0048】図10は、本実施例におけるネットワーク
探索(ステップ404)の処理手順の詳細フローチャー
トである。まず、ステップ403で得た足跡の(足跡情
報b)がもともと属する機能連鎖構造とは異なる機能連
鎖構造へのネットワーク探索を行なう(ステップ404
0)。ステップ4040は以下のステップ4041〜4
042からなる。すなわち、ステップ403で得た足跡
の(足跡情報b)のノードが操作対象・条件ノードであ
る場合、(足跡情報e)の機能連鎖構造の集合の中の構
成要素である或るノード、または、足跡リストの中です
でに処理の終わった足跡の(足跡情報b)のノードと、
ステップ403で得た足跡の(足跡情報b)のノードと
が適合するかどうか判定(ステップ4041)し、適合
するノードがある場合、そのノードに基づいて新たな足
跡を作成し、足跡リストに加える(ステップ404
2)。この際、適合元のノードと適合先のノードを結ぶ
ことを構造的に明示するために、機能ラベルが「eq
u」のノードを中間にはさんでも良い。ステップ404
1で適合するノードがない場合、ステップ4043に分
岐する。
【0049】次に、ステップ403で得た足跡の(足跡
情報b)がもともと属する機能連鎖構造の内部でのネッ
トワーク探索を行なう(ステップ4043)。ステップ
4043は以下のステップ4044〜4047からな
る。(探索情報b)のアトリビュートや機能ラベルに応
じて処理が異なる。すなわち、機能ラベルが「equ」
のノード、または、アトリビュートが「属性名」のノー
ドの場合(ステップ4044)は、ただちにステップ4
05へ進む。
【0050】次に、ステップ4045の処理において、
操作指示ノードの場合、処理をステップ4046に分岐
する。次に、ステップ4046の処理において、意味構
造変換規則の帰結部の機能連鎖構造を、(足跡情報e)
へ追加または削除する。追加の場合、帰結部の機能連鎖
構造を構成するノードのうち、探索を続けるノードとし
て予め定義したノードについてのみ新たな足跡として、
足跡リストに加える。本実施例では、特に、機能連鎖構
造が含む属性値ノードのみを新たな足跡として、足跡リ
ストに加えることにする。また、操作指示ノードと探索
が続けられるノードの間に、この探索を続けるというこ
とを構造的に明確にするためのノードを挟んでも構わな
い。この後、ステップ405へ進む。
【0051】ステップ4045の処理において、操作指
示ノード以外のノードの場合、処理をステップ4047
に分岐する。次に、ステップ4047の処理において、
リンクの接続する向きに一歩進んだ方向のノードを新た
な足跡として、足跡リストに加える。ただし、逆戻りす
る探索経路を持つ足跡は、処理の効率上好ましくないの
で、足跡リストに追加しないでおく。この後、ステップ
405へ進む。
【0052】リンクの接続する向きとは、次の方向であ
る。すなわち、「hap」のノードから、操作対象ノー
ドへの方向。「isa」のノードから条件のノードへ、
または、属性名のノードへの方向。属性名のノードか
ら、または、属性値のノードから、「isa」のノード
へ、または、「equ」のノードへの方向。条件のノー
ドから、「hap」のノードへ、または、操作指示ノー
ドへの方向。操作対象のノードから、操作指示ノードへ
の方向。
【0053】ステップ4042、ステップ4046、ま
たは、ステップ4047において、新たな足跡を作る場
合、(足跡情報a)は前の足跡のポインタで、(足跡情
報c)は適切な正の値の累計(簡単には「1」の加算)
で、(足跡情報d)はこのノードと開始ノードとの適合
している度合いを得点化してその得点と前の足跡の評価
得点との累計で、それぞれそれぞれの足跡情報を算出
し、新たな足跡とする。ただし、適合している度合い
は、2つのノードの持つ情報の一致、類似、及び、不一
致に基づいて算出する。例えば、2つのノードの持つ情
報の内、自然語表記、アトリビュート、及び、付加して
いる付属語が、それぞれ一致の場合「1」を加算し、不
一致の場合「0」を加算し、この累計を適合している度
合いとする。
【0054】なお、探索を開始するノードが複数あると
き、または、探索の途中で分岐が発生したときは、ネッ
トワーク探索の途中で合流する探索経路に相当する足跡
もある。合流するのに必要な条件を2つの支流が満たす
場合に、合流する探索経路を足跡として足跡リストに追
加する。この条件は、簡単には、それまでにネットワー
ク探索された2つ以上の足跡が、その足跡を含む機能連
鎖構造の同一ノードの子ノードとして適合している(上
の例では、正の値を持つ場合)とき、合流の条件を満た
すとする。
【0055】図11は、本実施例における図1の意味構
造変換(ステップ5)の処理手順の詳細フローチャート
である。まず、図1の意味解析(ステップ4)によって
得られる足跡に着目する(ステップ500)。次に、ス
テップ500で着目した足跡の(足跡情報b)がもとも
と意味構造変換規則の条件部の機能連鎖構造に含まれる
操作指示ノードであれば、ステップ502に分岐し、そ
うでなければステップ505に分岐する(ステップ50
1)。次に、ステップ501から間接的に得られた意味
構造変換規則の帰結部にアプリケーションシステムの操
作を行なうためのコマンドテンプレートがあれば、その
個所を実行コマンドに変換するためにステップ503に
分岐する(ステップ502)。意味構造変換規則の帰結
部に記述されたコマンドテンプレート以外の情報(実行
コマンドや、新たな別の自然語による文字列、など)は
そのままにする。次に、ステップ502で得られたコマ
ンドテンプレートのスロットに適切な具体的な値を代入
し、アプリケーションソフトウェアが実行可能な実行コ
マンド変換する。具体的な値を得るために、探索経路上
の足跡を含む知識11内の機能連鎖構造を参照して、適
当な値に加工してから代入することは構わない。このコ
マンドテンプレートから実行コマンドへの変換を、ステ
ップ503において処理する代わりに、このコマンドテ
ンプレートをコマンドと同様にスタックにそのまま積ん
でおき、操作指示言語実行処理(ステップ7)の直前に
おいて変換処理を行なっても構わない。なお、この変換
は知識11内の意味構造変換規則を直接書き換えるので
はなく、当該意味構造変換規則の帰結部のみをワークエ
リアに複写して着目したコマンドテンプレートを加工す
る方が、知識11の再利用の観点から望ましい。次に、
これまでのステップで得られた実行コマンド、及び、新
たな別の自然語による文字列を処理すべき順にスタック
に積む(ステップ504)。通常は、予め意味構造変換
規則の帰結部に処理すべき順に定義しておくことで、ス
テップ504では、単に出現順にスタックに積む。次
に、着目した足跡の一歩前の足跡(足跡情報a)を参照
し、その足跡を新たに着目する足跡としてステップ50
1に分岐する(ステップ505)。このようにして、順
に一歩前の足跡の(足跡情報a)を参照することを繰り
返すことにより、結局、探索を終了したノードから、探
索を開始したノードまでの探索経路上にあるすべてのノ
ードについて以上のステップ501〜ステップ505を
実行する。もし、着目するノードがなくなったらステッ
プ5を終了する。
【0056】以下では、図1、図5〜図17を用いて、
本実施例をさらに具体的なデータに基づいて、処理の内
容を詳細に説明する。本実施例におけるアプリケーショ
ン、すなわち、意思決定支援システムは、ユーザの指示
に基づいて、データベース検索機能と、グラフの作成、
加工、表示、消去機能、データの集計、印刷機能、画面
表示物に関する情報提供機能などを実行するシステムで
ある。本実施例では「意思決定」を「意志決定」と同義
語として扱う。初めに、入力装置12により、自然語文
「売上を集計し、印刷せよ。」220と入力する(ステ
ップ1(図1))。次に、ステップ1によって入力した
自然語文を自然語解析する(ステップ2)。ステップ2
は、以下のように処理する。すなわち、まず、入力自然
語文を辞書10を用いて形態素解析(形態素または処理
上形態素と同等に扱える自然語要素に分割すること)
し、多義解消(主従関係や修飾被修飾関係などの構文の
特徴や、共起的語法の特徴や、表記上の位置、慣用用法
などの特徴を利用して意味の範囲を限定すること)する
(ステップ3)。今の例の場合、「売上を」、「集計
し、」、「印刷せよ。」という文節を認識をし、それぞ
れ、図14に示すように、ノード221、ノード22
2、ノード223を割り当てておく。ちなみに、辞書の
情報により、「売上を」は操作対象・条件ノード、「集
計し、」と「印刷せよ。」とは操作指示ノードであるこ
とがわかる。後の説明から明らかになるが、このステッ
プ3は必ずしも文尾までいっぺんに解析する必要はな
い。すなわち、入力文から「印刷せよ。」の部分を除い
た文の断片(フラグメント)「売上を集計し、」を解析
するだけでも、以下の処理を続けることができる。この
ことは、すなわち、入力文に未知なる単語が含まれてい
る場合や、文法的に非文である場合であっても、本発明
が使用できることを意味している。
【0057】次に、知識11を用いて、図1に示す意味
解析をする(ステップ4)。意味解析は、自然語文の意
味を構造的に解明することであり、意味表現を概念的に
構成することに相当する。従って、顕現的あるいは記述
可能な意味表現である必要はないし、もちろん、この意
味表現は実際に出力される必要はない。後で詳しく述べ
るが、今の例の場合、説明を簡単にするために、この意
味表現を機能連鎖構造であらわすものとする。特に、知
識11の表現である機能連鎖構造を組み合わせた構造で
ある。使用する知識の表現と、構成される意味表現とが
同じ形式であるため、意味表現の表現方式を考慮しなく
て済むので、意味解析処理を高速に実行することができ
る。
【0058】意味解析処理(ステップ4)をもう少し詳
しく説明する。図12は、予め、知識11に定義してお
く意味構造変換規則の具体例である。すなわち、この意
味構造変換規則の条件部では、「売上を集計する。」と
いう意味に相当する機能連鎖構造を定義している。すな
わち、属性名「集計対象」203が属性値「売上」20
4であるという条件201を入力とする機能(操作指
示)「集計」200である、と表現する。ここで、属性
名「集計対象」203と属性値「売上」204と条件2
01との関係は機能「isa」で表現する。また、この
意味構造変換規則の帰結部には、新たな別の自然語によ
る文字列が3つ定義している。すなわち、「売上を検索
する。」205と「各月毎に合計する。」206と「こ
れをグラフ化する。」207とである。
【0059】まず、図9に示すステップ400の処理に
おいて、自然語による文字列の最初の解析であるので、
足跡リストを空にして、ステップ401に分岐する。次
に、ステップ401の処理において、ステップ3までで
得られた3つのノード(すなわち、「売上を」、「集計
し、」、および、「印刷せよ。」)に基づいて、処理す
べき操作指示ノードと操作対象・条件ノードとの組合せ
を決定する。構文的な関係から操作対象・条件ノード
「売上を」と操作指示ノード「集計し、」との組合せを
見つける。以下の処理では、「売上を」が探索を開始す
るノードとし、「集計し、」を探索を終了するノードと
して扱う。また、「印刷せよ。」は未使用であるため、
文の前半の解析が終わるまで、スタックに積んで(プッ
シュ)とっておく。
【0060】次に、ステップ402の処理において、探
索を開始するノード「売上を」に対して、足跡を構成す
る。この足跡の一歩前の足跡(足跡情報a)は存在しな
いので、空(NULL)とする。現在探索中のノード
(足跡情報b)はノード「売上を」221とする。実際
の処理上は、(足跡情報b)には、ノード「売上を」2
21のノードID、または、記憶領域のポインタを記憶
すればよい。探索経路の距離(足跡情報c)と評価得点
(足跡情報d)とに、「0」を与える。次の一歩に探索
可能な機能連鎖構造の集合には、知識11のうち現時点
で利用可能な知識に相当する機能連鎖構造を与える。今
の説明では、少なくとも、図12に示される意味構造変
換規則の条件部の機能連鎖構造が与えるものとする。こ
のようにして得た足跡を足跡リストに加える。以上の説
明からわかる通り、ノードや足跡や足跡リストは処理
上、表(配列)形式で扱っても構わない。これらのデー
タ形式を対応させることについては、当業者においては
周知の技術であるので、詳細な説明は要しないであろ
う。
【0061】次に、ステップ403の処理において、足
跡リストの中に未処理の足跡を処理するために、ステッ
プ404に分岐する。次のステップ404はさらに詳細
に説明する。まず、図1のステップ4041の処理にお
いて、(足跡情報e)に含まれるノード(すなわち、ノ
ード200〜204)でノード221と適合するノード
を見つける。今の場合ノード「売上」204はノード
「売上を」221の自立語部分と自然語表記が一致す
る。この時点で、ステップ4042で構成することにな
る新たな足跡の評価得点に「1」を加算することを、ワ
ークエリアに記憶しておく。次に、ステップ4042の
処理において、ステップ4041で得られた適合したと
判断したノード204に基づく足跡を構成する。実際に
は、2つのノードを結合するために、機能「equ」ノ
ード224をノード224とノード204との間に挟
む。まず、機能「equ」ノード224に対する足跡を
構成する。この足跡は、(足跡情報a)がノード22
1、(足跡情報b)がノード224、(足跡情報c)が
「1」(これは、ノード221の(足跡情報c)に
「1」を加算した値である)、(足跡情報d)が
「0」、(足跡情報e)はノード221の(足跡情報
e)と同一のデータ、とし、これを足跡リストに加え
る。次に、ノード「売上」204に対する足跡を構成す
る。この足跡は、(足跡情報a)がノード224、(足
跡情報b)がノード204、(足跡情報c)が「2」
(これは、ノード224の(足跡情報c)に「1」を加
算した値である)、(足跡情報d)が「1」(これは、
ステップ4041で得た値である)、(足跡情報e)
は、ノード224と同一のデータとし、これを足跡リス
トに加える。次に、ステップ4044の処理において、
ノード221がもともと知識11内の機能連鎖構造では
ないことから、ステップ404の処理を終了する。
【0062】次に、ステップ405の処理において、現
在の足跡リストの状態が探索の終了条件を満たすかどう
かを判定する。今の例では、簡単のため、足跡リストの
ある足跡の(足跡情報b)に探索を終了するノード(ま
たは、当該ノードと適合するノード)が存在するという
条件を、探索の終了条件とする。従って、現時点での足
跡リストは探索の終了条件を満たしていないので、処理
をステップ403に分岐する。
【0063】次に、ステップ403の処理において、処
理すべき足跡は、足跡リストの中の未処理の足跡のう
ち、探索距離の最小のものに決定する。すなわち、ノー
ド224に対応する足跡である。この足跡に対して、ス
テップ404を行うが、ステップ4041で「NO」と
なり、ステップ4044で「YES」となり、ステップ
4が終わる。足跡リストの更新はなく、ステップ405
では、再び、探索の終了条件を満たさず、ステップ40
3に分岐する。次にステップ403の処理において、処
理すべき足跡はノード204に対応する足跡である。ス
テップ4041では、(図12の意味構造変換規則の条
件部の機能連鎖構造のみを考慮している場合は)他に適
合するノードがないので、ステップ4044に分岐す
る。ステップ4044では、ノード204がもともと属
していた機能連鎖構造の中で探索可能であること、及
び、ノード204が「equ」ノードまたは属性名のノ
ードではないことから、「NO」が選択され、ステップ
4045に分岐する。ステップ4045では、ノード2
04が操作指示ノードではないことから、「NO」が選
択され、ステップ4047に分岐する。ステップ404
7では、リンクの接続する向きに一歩進んだ方向の足跡
を足跡リストに加える。今の場合、次の一つの足跡のみ
が加えられる。すなわち、(足跡情報a)がノード20
4、(足跡情報b)がノード「isa」202、(足跡
情報c)が「3」、(足跡情報d)が「1」(これは、
ノード204の(足跡情報d)の値のコピーである)、
(足跡情報e)はノード204の(足跡情報eと同一の
データである。
【0064】このように、ステップ403からステップ
405のループを繰り返すと、ノード202に対応する
足跡に基づいて、ノード203に対応する足跡(探索距
離「4」)と、ノード201に対応する足跡(探索距離
「4」)とが加えられ、さらに、ノード201に対応す
る足跡に基づいて、ノード200に対応する足跡(探索
距離「5」)が、足跡リストに加えられる。ノード「集
計」200に対応する足跡が足跡リストに加えられる
と、ステップ405において、このノードが探索を終了
するノード222と適合するために、探索の終了条件が
満たされる。図15は、以上のようなネットワーク探索
を行った結果えられた探索経路に基づく機能連鎖構造を
示している。図15は、与えられた入力文220の前半
の意味表現に相当している。
【0065】次に、ステップ406において、再解析す
る必要があるかどうかユーザに確認するが、ユーザは、
再解析する必要がない旨を入力すると仮定し、ステップ
4の処理を終了する。次に、ステップ4のネットワーク
探索で使用した意味構造変換規則の帰結部に含まれる実
行コマンドやコマンドテンプレートや新たな自然語によ
る文字列などをステップ6からステップ9で使用するた
めにスタックに積む(ステップ5)。この際、コマンド
テンプレートのスロットの値に具体的な値を代入し、実
行可能なコマンドに変換する。なお、すでにスタック上
には「印刷せよ。」があるが、新たな自然語による文字
列は先に取り出されるように積む(プッシュ)。
【0066】意味構造変換処理(ステップ5)をもう少
し詳しく説明する。ステップ500の処理において、ス
テップ4で得られたノード200に対応する足跡に基づ
いて、以下のステップ501からステップ505までの
処理を始めることを決定する。ステップ500で決定し
た足跡の(足跡情報b)であるノード200は、意味構
造変換規則の条件部の操作指示ノードであるのでステッ
プ502に分岐する(ステップ501)。この意味構造
変換規則の帰結部には、新たな自然語による文字列20
5〜207が定義されている。コマンドテンプレートは
定義されていないので、処理はステップ504に分岐す
る。ステップ504では、この新たな自然語による文字
列205〜207がこの順に取り出される(ポップ)よ
うにスタック上に格納する(プッシュ)。このスタック
の仕組みに関しては、周知の技術で実現できるため、詳
細を述べる必要ないであろう。
【0067】次に、ステップ505の処理では、他に処
理すべき足跡があるかどうかを見つける。通常は、ノー
ド200に対応する足跡を起点として、(足跡情報a)
に基づいて探索経路を引返し、その途上で見つかる操作
指示ノードに対応する足跡をステップ505における処
理すべき足跡とみなすが、今の例では、該当する足跡は
存在しないので、ステップ5を終了する。次に、ステッ
プ5によって得られたスタックの中に実行コマンドがな
いので、処理をステップ8に分岐する(ステップ6)。
次に、ステップ5によって得られたスタックの中に自然
語による文字列205〜207、(及び、「印刷せ
よ。」)があるので、まず、文字列205を取りだし
(ポップ)、処理をステップ9に分岐する。ステップ9
は、ステップ2と同じアルゴリズムであるので、計算機
上では自然語解析処理2を実装し、この自然語解析処理
を再帰的に呼び出せることで自然語解析処理9を行う。
再帰的に呼び出す仕組みは、周知の技術であるので、詳
しく説明する必要はないであろう。
【0068】次に、「売上を検索する。」205を入力
自然語文とする自然語解析を行う(ステップ2)。ステ
ップ3の処理において、この自然語文205を辞書10
を用いて形態素解析し、多義解消する。今度の場合、
「売上を」、「検索する。」という文節を認識をし、そ
れぞれ、図16に示すように、ノード225、ノード2
26を割り当てておく。ちなみに、辞書の情報により、
「売上を」は操作対象・条件ノード、「検索する。」は
操作指示ノードであることがわかる。
【0069】次に、知識11を用いて、意味解析する
(ステップ4)処理を詳しく説明する。図13は、予
め、知識11に定義しておく意味構造変換規則の具体例
である。すなわち、この意味構造変換規則の条件部で
は、「(何かを)検索する。」という意味に相当する機
能連鎖構造を定義している。すなわち、属性名「フィー
ルド」211が属性値「(値X)」212であるという
条件209を入力とする機能(操作指示)「検索」20
8である、と表現する。ここで、属性名「フィールド」
211と属性値「(値X)」212と条件209との関
係は機能「isa」で表現する。また、(値X)は、ノ
ード212とノード218とで同じ値を持つ変数とす
る。(値X)の値は、同一の機能連鎖構造上のノード
(すなわち、ノード208からノード212)の内少な
くとも一つ以上のノードを(足跡情報a)とする足跡に
基づいて、その足跡を得るまでの探索経路上を逆向きに
引返したときに(通常は初めて)見つかった属性値ノー
ドの値とする。特に、具体化用データ内の属性値ノード
の値が好ましい。また、属性名としても使われている値
は望ましくない。または、(値X)は、探索経路上のノ
ードに関連する機能連鎖構造から引出せる値とする。こ
の意味構造変換規則の帰結部は、条件部がネットワーク
探索に使用された場合に、その足跡の(足跡情報e)に
追加すべき機能連鎖構造である。実際には、メモリ効率
の観点からこのノード213からノード218までの一
連の機能連鎖構造を間接的に指示するポインタのみを
(足跡情報e)に追加して構わない。また、意味構造変
換規則の帰結部には、コマンドテンプレート「Sele
ct (値X)」も定義している。これは、意思決定支
援システムを操作するための操作指示言語のテンプレー
トである。(値X)には、ノード212と同じ値が入
る。
【0070】図5は、予め、知識11に定義しておくデ
ータベースの構造に関する知識の具体例である。また、
図6は、予め、知識11に定義しておくシステムの上位
下位関係の知識の具体例である。まず、ステップ400
の処理において、自然語による文字列の意味の第1解析
候補を求めるための解析であるので、足跡リストを空に
して、ステップ401に分岐する。次に、ステップ40
1の処理において、ステップ3までで得られた2つのノ
ード(すなわち、「売上を」、「検索する。」)に基づ
いて、処理すべき操作指示ノードと操作対象・条件ノー
ドとの組合せを決定する。構文的な関係から操作対象・
条件ノード「売上を」と操作指示ノード「検索する。」
との組合せを見つける。以下の処理では、「売上を」が
探索を開始するノードとし、「検索する。」を探索を終
了するノードとして扱う。
【0071】次に、前述のように、ステップ402の処
理において、探索を開始するノード「売上を」に対し
て、足跡を構成する。ただし、次の一歩に探索可能な機
能連鎖構造の集合には、知識11のうち現時点で利用可
能な知識に相当する機能連鎖構造を与える。今の説明で
は、少なくとも、図5、図6の機能連鎖構造と、図13
に示される意味構造変換規則の条件部の機能連鎖構造と
を与えるものとする。このようにして得た足跡を足跡リ
ストに加える。
【0072】次に、ステップ403の処理において、足
跡リストの中の未処理の足跡を処理するために、ステッ
プ404に分岐する。次のステップ404はさらに詳細
に説明する。まず、ステップ4041の処理において、
(足跡情報e)に含まれるノード(すなわち、ノード1
10〜122、及び、ノード208〜212)からノー
ド225と適合するノードを見つける。今の場合ノード
「売上」115はノード「売上を」225の自立語部分
と自然語表記が一致する。前述と同様にして、ステップ
403からステップ405のループを繰り返すと、順に
以下のノードに対応する足跡が足跡リストに加えられて
いく。、機能ノード「equ」(このノードまでの探索
距離「1」(以下括弧内同様)、属性値ノード「売上」
(「2」)、機能ノード「isa」(「3」)、属性名
ノード「第1フィールド」(「4」)、条件ノード
(「4」)、機能ノード「equ」(「5」)、機能ノ
ード「hap」(「5」)、属性値ノード「第1フィー
ルド」(「6」)、操作対象ノード「レコードファイ
ル」(「6」)、機能ノード「isa」(「7」)、属
性名ノード「フィールド」(「8」)、機能ノード「e
qu」(「9」)、属性名ノード「フィールド」(「1
0」)、機能ノード「isa」(「11」)、条件ノー
ド(「12」)、操作指示ノード「検索」(「1
3」)。ノード「検索」208に対応する足跡が足跡リ
ストに加えられると、ステップ405において、このノ
ードが探索を終了するノード226と適合するために、
探索の終了条件が満たされる。図17は、以上のような
ネットワーク探索を行った結果えられる探索経路に基づ
く機能連鎖構造を示している。図17は、与えられた入
力文205の意味表現に相当している。ステップ406
において、再解析の必要がない旨が入力されたとし、ス
テップ4を終了する。
【0073】次に、ステップ500の処理において、ス
テップ4で得られたノード208に対応する足跡に基づ
いて、以下のステップ501からステップ505までの
処理を始めることを決定する。ステップ500で決定し
た足跡の(足跡情報b)であるノード208は、意味構
造変換規則の条件部の操作指示ノードであるのでステッ
プ502に分岐する(ステップ501)。この意味構造
変換規則の帰結部には、コマンドテンプレート「Sel
ect(値X)」219が定義されているので、処理は
ステップ503に分岐する。
【0074】次に、ステップ503の処理において、コ
マンドテンプレートのスロット(値X)に対して、適切
な値を代入する。すなわち、ノード208からノード2
12のいづれかのノードを(足跡情報a)とする足跡
(例えば、ノード211に対応する足跡)を逆向きに引
返したときに見つかる属性値ノードの値とする。今の場
合、「売上」を見つけることができる。そこで、実行コ
マンドとして「Select 売上」を得ることができ
る。また、必要があれば、当該「売上」がデータベース
においては、「売上マスタ」で管理されていること、及
び、その「売上マスタ」の「第1フィールド」であるこ
となどは、この足跡に基づくと簡易に得ることができる
(図17)。
【0075】次に、ステップ504の処理において、ス
テップ503で得た実行コマンドをスタック上に格納す
る(プッシュ)。なお、このスタックは、自然語解析処
理9が再帰的に呼ばれたときに、古いスタックが退避さ
れ、新しいスタックが用意されているとする。次に、ス
テップ505の処理において、他に処理すべき足跡が存
在しないことから、ステップ5を終了する。次に、ステ
ップ5によって得られたスタックの中に実行コマンドが
あるので、これを取りだし(ポップ)し、処理をステッ
プ7に分岐する(ステップ6)。次に、ステップ7の処
理において、実行コマンドを実行する。この実行は意思
決定支援システムの実行の開始を意味し、必ずしもコマ
ンドの終了を意味しない。 次に、処理がステップ6に
移るが、スタック上には実行コマンドがないことから、
処理がステップ8に分岐する。次に、ステップ8の処理
において、スタック上には新たな自然語による文字列が
ないことから、再帰呼びしたこの自然語解析処理9が終
了する。
【0076】さて、大もとの自然語解析処理2に処理が
もどる。すなわち、一旦退避してあったスタックなどの
データを用いて、ステップ6から処理を続ける。現在、
スタック上には、自然語文206と207と「印刷せ
よ。」がある。このスタック上に、操作指示言語がない
ことから、処理がステップ8に分岐する。次に、ステッ
プ8において、自然語文「各月ごとに合計する。」20
6が取り出される(ポップ)。以下同様にして、この自
然語文206に対応する実行コマンドが生成され、意思
決定支援システムが実行する。このことを繰返し、「こ
れをグラフ化する。」207と「印刷せよ。」が順に処
理される。当業者によれば、以上の3つの文(または、
文の断片)の処理は、これまで述べてきた詳細な説明か
ら、同様の処理を行えば良いということが容易に理解さ
れるであろう。このようにして、入力文「売上を集計
し、印刷せよ。」をすべて解釈し、スタック上にも新た
に展開された自然語による文字列がなくなると、ステッ
プ8において、この自然語解析処理2を終了すべく分岐
する。
【0077】なお、以上の例において、知識11として
図5と図6と図12と図13が与えられていた場合、ノ
ード「売上を」からは、2つの適合先、すなわち115
と204、がある。このため、足跡は分岐して、それぞ
れの支流がネットワーク探索を行う。以上の説明に依れ
ば、探索は探索距離に基づいて一歩一歩漸進的に行われ
るので、各支流は、あたかも幅優先探索のように探索さ
れる。結果的に、探索終了条件を満たす(あるいは、先
に満たす)支流が見つかるので、図5、図6、図12、
及び、図13の知識が同時に探索可能な機能連鎖構造の
集合に与えられていても正しく意味解析することは可能
である。
【0078】以上のようにして、入力自然語文を意味解
析し、意味解析の結果に基づいて、それを説明する(ま
たは、換言する)自然語に展開することができる。従っ
て、基本的な言葉と操作指示言語との関係の知識を与え
ておくことにより、ユーザはそれらの基本的な言葉を別
の自然語で表現したり、複合したりするだけで、より複
雑な業務や知識を簡易に定義できる。特に、この方法に
よれば、熟練者が予め基本的な言葉と操作指示言語の関
係の知識を提供しておくことで、エンドユーザはアプリ
ケーションシステムに依存した操作指示言語を全く知ら
なくても、(自然語である)基本的な言葉のみ使い方が
分かればそのアプリケーションシステムを操作すること
が可能となる。また、アプリケーション毎に異なる複雑
な操作指示言語体系や操作体系やデータ構造体系を詳し
く知ることなくして、エンドユーザは自然語を通じて的
確にアプリケーションを操作することが可能となる。従
って、本発明によれば、自然語を一種のプログラミング
言語として使用することも可能である。
【0079】すなわち、ユーザが入力する自然語文がア
プリケーションシステムにとっては概要的な(マクロ
な)表現であっても、予め定義された知識に基づいて、
その表現を説明する自然語文に展開することで、適切に
アプリケーションを操作することが可能となる。今の例
のように、「売上を集計する。」という処理を1つの実
行可能な操作指示言語としてもたないアプリケーション
に対して、この表現を説明する3つの文(「売上を検索
する。」、「各月ごとに合計する。」、および、「これ
をグラフ化する。」)に展開し、各自然語文を解析し、
実行することで、間接的にアプリケーションを操作する
ことが可能である。このように、基本となる自然語を用
いて他の複雑な自然語を定義していくことで、国語辞典
のように知識を構築していくことが容易である。また、
ユーザが入力する自然語文が目的(ゴール)を指定する
表現(例えば、「売上の集計結果が欲しい。」)であっ
ても、意味解析の結果に基づいて、その意味を説明する
自然語へ展開するので、会話文に近い表現による入力で
も適切にアプリケーションを操作することが可能とな
る。例えば、目的(ゴール)を指定する表現「売上の集
計結果が欲しい。」は、「売上を集計せよ。」と意味的
に等価であるため、本実施例と同様にして処理すること
ができる。
【0080】本実施例によれば、分野に依存する知識、
システムに関する知識、アプリケーションに関する知
識、談話に依存する知識など、各種の知識を同一の表現
形式(機能連鎖構造)で記述するので、処理手順の都合
によらず適宜、複数の知識を利用することが可能であ
り、また、それらの知識の複合により、新たな意味表現
(図17)を簡易に構成することが可能となる。また、
各種知識が同一の表現形式であることから、これらの知
識を保守するエディタや関数の共通使用が可能であるた
め、それらのエディタや関数の開発工数が低減する。ま
た、エディタの使用方法が統一されるので、ユーザの知
識保守に関する使い勝手が向上する。
【0081】本実施例によれば、意味解析の結果である
意味表現が予め与えられた知識の単純な結合によって得
られるので、別の意味表現形式を出力する処理方法に比
べ意味解析のアルゴリズムが効率的である。また、計算
機のメモリ上同一のもの(または、単純なコピー)を利
用することで、メモリ消費量が低減し、処理の高速にな
る。また、意味表現もまた機能連鎖構造であるので、こ
の意味表現を履歴知識として蓄えることで、他の機能連
鎖構造で表現された知識と同様に意味解析処理で参照す
ることも可能である。
【0082】本実施例によれば、文の前方を解析してい
る間、文の後方は一旦スタック上に退避しておく。この
ことによって、前半の解析の意味を解析し、その意味に
対応する操作指示言語を生成し、実行し、その結果を利
用して、先程退避しておいた後方の文を意味解析するこ
とが可能となる。従って、文の後方が非決定的で、文の
前方の実行結果に依存している場合にも本発明は有効で
ある。意味解析の結果、新たな自然語による文字列や操
作指示言語を生成する他に、知識を更新する知識を生成
する(すなわち、後方の文の解析や展開後の文を解析す
るために必要な知識を同期して出力する)ことによっ
て、より精度の高い意味解析が可能となる。
【0083】本実施例におけるアプリケーションは、単
一の意思決定支援システムを例に挙げたが、他のデータ
ベース検索システムや、エキスパートシステムや、オペ
レーティングシステムのように操作指示言語で動作する
システムに対する操作指示言語を生成することは、意味
構造変換規則の帰結部をそのシステムのコマンドテンプ
レートで書き換えるだけで済むので容易である。しか
も、これらのシステムのように一般に操作指示言語の体
系が異なる複数のシステムであっても、知識11におい
てこれらのシステムのデータ形式(フォーマットなど)
の特徴やデータ形式の変換手順などを記述しておくこと
ができるので、複数システムの連携した操作を実現する
ことが可能である。例えば、「予測する」の意味に対
し、データベース検索システムにて必要なデータを検索
して集計し、エキスパートシステムで推論して表示す
る、と定義する場合、意味構造変換規則の帰結部にこれ
らのシステムの該当するコマンドテンプレートを混在さ
せて記述することができる。従って、複数のアプリケー
ションソフトウェアに対して、同期した操作が可能であ
る。また、知識が共通の表現形式(機能連鎖構造)であ
るので、複数の(操作指示言語体系の)システムを同期
して操作することができる。例えば、データの引渡しな
どを通じて、共通の談話に関する知識を複数のアプリケ
ーションソフトウェアが共有して利用することができ
る。
【0084】前述の実施例の変形例として、意味解析の
結果、ユーザが再解析を指定し、第2候補以降の意味も
解析する場合の意味解析4の具体例について説明する。
図18は、予め、知識11に定義しておく意味構造変換
規則の条件部の具体例である。すなわち、この意味構造
変換規則の条件部では、「DSSテーブルを表示す
る。」という意味に相当する機能連鎖構造を定義してい
る。すなわち、操作対象「DSSテーブル」228を入
力とする機能(操作指示)「表示」227である、と表
現する。図19に示す、入力文「売上を表示せよ。」2
29は、ステップ3までの処理により、「売上を」23
0は操作対象・条件ノード、「表示せよ。」231は操
作指示ノードであることがわかる。まず、自然語による
文字列の意味の第1解析候補を求めるための解析である
ので、足跡リストを空にして(ステップ400)、「売
上を」230が探索を開始するノードとし、「表示せ
よ。」231を探索を終了するノードとする(ステップ
401)。次に、前述のように、ステップ402の処理
において、探索を開始するノード「売上を」230に対
して、足跡を構成する。ただし、次の一歩に探索可能な
機能連鎖構造の集合には、知識11のうち現時点で利用
可能な知識に相当する機能連鎖構造を与える。今の説明
では、少なくとも、図5、図6、図8の機能連鎖構造
と、図13、図18に示される意味構造変換規則の条件
部の機能連鎖構造とを与えるものとする。このようにし
て得た足跡を足跡リストに加える。
【0085】これまでの説明のようにして、ネットワー
ク探索を行うと、探索距離が「9」の時点で、具体化用
データ(図8)と意味構造変換規則の条件部(図18)
を利用した探索経路(図20の左側の経路)が探索の終
了条件を満たす(ステップ405)ので、これを意味の
第1候補とする。ちなみに、この探索経路は、「売上を
第1カラムとするワークテーブル1という名のDSSテ
ーブルを表示する。」という意味を表現している。ユー
ザに対してこの意味で良いかどうか確認した際に(ステ
ップ406)、ユーザが再解析の指定を要求すると仮定
する。この場合、処理がステップ400に分岐する。ス
テップ400の処理においては、再解析が指定されてい
ることから、ただちに、ステップ403に分岐する。
【0086】次に、ステップ403の処理においては、
探索距離が「9」の時点での変数の状態が記憶されてい
る状態で再び解析する。従って、足跡リストの中の探索
距離が「10」以降の足跡に関して、ネットワーク探索
を続けることになる。探索距離が「14」の時点で、操
作指示ノード「検索」208(図13)に対応する足跡
を起点とする探索が行われる(ステップ404)。この
とき、この足跡の(足跡情報e)に、この操作指示ノー
ドの属する意味構造変換規則の帰結部の機能連鎖構造を
加え(ステップ4046)、その機能連鎖構造が含む属
性値のノード(すなわち、ノード218(図13))を
新たな足跡として、足跡リストに加える(ステップ40
47)。このように、意味構造変換規則の帰結部によっ
て、(足跡情報e)の内容を書き替えることによって、
談話に応じて参照可能な知識を拡げたり、狭めたりする
ことができる。このことは、談話における一種のフォー
カストラッキングの役割を果たしていることに相当す
る。
【0087】さらに、ネットワーク探索を続けると、探
索距離が「21」の時点で、データベースに関する知識
(図5)とシステム内の上位下位関係の知識(図6)と
意味構造変換規則(図13)と意味構造変換規則の条件
部(図18)とを利用した探索経路(図20の右側の経
路)が探索の終了条件を満たす(ステップ405)の
で、これを意味の第2候補とする。ちなみに、この探索
経路は、「売上を第1フィールドとする売上マスタを検
索し、その結果である年月をカラムに持つDSSテーブ
ルを表示する。」という意味を表現している。ユーザが
この意味で実行して良い旨を入力すると(ステップ40
6)、処理がステップ5へ進む。ステップ5以降の処
理、及び、ステップ406においてユーザがさらに別の
解釈を要求した場合の処理については、これ以上説明し
なくとも、今までの詳細な説明から同様の処理を行えば
よいということが理解されるであろう。
【0088】このように、知識が多くなると探索経路も
複数存在する。従って、始めの解析結果(意味の第1候
補)をユーザが満足しない場合、以上で述べた本実施例
のように探索経路の距離を延ばしていくことで、それま
でに得られていた解析情報を有効に再利用しつつ、別の
意味の候補を見つけていくことができる。本発明によれ
ば、これを繰り返すことによって、ユーザが満足するま
で意味の解析候補を次々に提示することが可能となる。
一般にユーザが入力する自然語文は、数多くの省略を含
んでいるので、実用上自然語解析処理はある程度の省略
を補填しなければならない。本発明によれば、探索経路
の距離を探索条件のパラメータとすることにより、省略
表現に対する補填の度合いを調節することが可能とな
る。また、本発明によれば、計算時間やメモリ消費量の
増加に応じて、より多くの省略を補った解析結果を出力
することが可能である。なお、バッチ処理で自然語解析
を行う場合、自然語解析および操作指示言語の実行結果
によって得られる知識を意図的に利用しないようにして
も差し支えない。この方法のように、自然語解析処理の
途中で発生する知識を無視すれば、入力データである自
然語文を含む自然語解析処理としてコンパイルし、処理
を高速にすることも可能である。
【0089】前述の実施例のさらなる変形例として、操
作指示に応じて、操作対象と条件とを区別する例を説明
する。意味解析4以外のステップは、これまで説明と同
様であるので、その詳細な説明は省く。図21は、予
め、知識11に定義しておく意味構造変換規則の条件部
の具体例である。すなわち、この意味構造変換規則の条
件部では、「棒グラフで表示する。」という意味に相当
する機能連鎖構造を定義している。すなわち、属性名
「グラフタイプ」235が属性値「棒グラフ」236で
あるという条件233を入力とする機能(操作指示)
「表示」232である、と表現する。ここで、属性名
「グラフタイプ」235と属性値「棒グラフ」236と
条件233との関係は機能「isa」で表現する。
【0090】図22は、予め、知識11に定義しておく
意味構造変換規則の条件部の具体例である。すなわち、
この意味構造変換規則の条件部では、「棒グラフである
操作対象を消去する。」という意味に相当する機能連鎖
構造を定義している。すなわち、属性名「グラフタイ
プ」242が属性値「棒グラフ」243であるという条
件240を備える操作対象238を入力とする機能(操
作指示)「消去」237である、と表現する。ここで、
属性名「グラフタイプ」242と属性値「棒グラフ」2
43と条件240との関係は機能「isa」で表現す
る。また、条件240と操作対象238との関係は機能
「hap」で表現する。
【0091】探索可能な機能連鎖構造の集合には、知識
11のうち、少なくとも図21と図22とに示される意
味構造変換規則の条件部の機能連鎖構造を与える。図2
3に示すように、自然語文「棒グラフを表示せよ。」2
44は、ステップ3までの処理により、「棒グラフを」
245は操作対象・条件ノード、「表示せよ。」246
は、操作指示ノードであることがわかる。上記知識(図
21と図22)のもとでは、探索を開始するノード「棒
グラフを」245から探索を開始し、探索を終了するノ
ード「表示せよ。」246で探索を終了する場合、意味
解析の結果、図25における左の探索経路のみが探索の
終了条件を満たす。この探索経路によれば、操作指示
「表示」は自然語表記「棒グラフ」を条件として扱う、
ということを意味していることになる。
【0092】また、同じ知識のもとで、図24に示すよ
うに、自然語文「棒グラフを消去せよ。」247を考え
ると、ステップ3までの処理により、「棒グラフを」2
48は操作対象・条件ノード、「消去せよ。」249
は、操作指示ノードであることがわかる。上記知識(図
21と図22)のもとでは、探索を開始するノード「棒
グラフを」248から探索を開始し、探索を終了するノ
ード「消去せよ。」249で探索を終了する場合、意味
解析の結果、図25における右の探索経路のみが探索の
終了条件を満たす。この探索経路によれば、操作指示
「消去」は自然語表記「棒グラフ」を操作対象として扱
う、ということを意味していることになる。このように
して、本発明による意味解析によれば、操作指示の内容
に依存して扱い(今の例では、操作対象と条件)が異な
る自然語表現(今の例では、「棒グラフ(を)」)の違
いを意味解析することが可能となる。
【0093】以上説明したいくつかの実施例、変形例に
よれば、次のような効果が得られる。自然語文の意味を
解析して操作指示言語を簡易に(直接的に)生成困難な
場合に、自然語文の意味を新たな別の自然語による文字
列で置き換えることにより、適切な操作指示言語を生成
することができる。また、アプリケーションのコマンド
体系の知識、システムに関する知識、自然語の意味を説
明する(あるいは、換言する)別の自然語文(いわゆる
国語辞典でもよい)、などの知識の表現形式が統一され
ていること、および、その知識を利用する意味解析が提
供されていることから、それぞれ異なるユーザによって
提供されてもそれらの知識を融合することにより、操作
指示言語及びその内容をより適切に決定することができ
る。上記と同じ理由により、アプリケーション毎に異な
り、複雑である操作指示言語の体系、操作の体系(操作
の順序や代替操作など)やデータ構造の体系を詳しく知
ることなくして、エンドユーザはアプリケーション(デ
ータベース検索、ジョブの実行などの一般的な計算機ア
プリケーション、プラントや航空機などの計算機による
制御など)を操作することができる。また、エンドユー
ザは、それらの一連の操作を意味する自然語を新たな別
の自然語で定義することにより、簡易に所望の操作を実
行することができる。このことは、本発明が自然語によ
るプログラミング機能も提供可能であることを示してい
る。また、最も基本的な言葉に、対応する操作指示言語
の知識を与えておくことにより、ユーザはそれらの基本
的な言葉を複合するだけで、より複雑な業務を定義でき
るので、エンドユーザは、アプリケーションソフトウェ
アに依存した操作指示言語を全く知らなくても、(自然
語である)基本的な言葉のみ使い方が分かれば操作する
ことができる。さらに、自然語文の意味を解析する場合
において、各種知識を複雑に組み合わせる必要がある意
味解析を行うことができる。例えば、自然語文中の「売
上」という単語が、データベースのレコードファイル上
のある特定のフィールドを指しているのか、あるいは、
意思決定支援システムの扱っているDSSテーブル上の
ある特定のカラムを指しているのかを区別して意味解析
することができる。さらに、広範囲なアプリケーション
に適用できるインタフェースとして使用できる。また、
知識の表現形式の統一によって知識を保守する処理の共
通使用が可能であり、この保守の処理の統一による操作
性も向上する。したがって、上記自然語処理を共通に利
用することで、アプリケーションに自然語インタフェー
スを適用させる際の工数を減らすことができる。
【0094】
【発明の効果】本発明によれば、計算機に従来与えてい
たような形式言語(計算機向けに決められた特別な言
語、コマンド)や本実施例でいう操作指示言語(計算機
向けに決められた所定の形式のコマンド)を用いずに、
通常の日本語や英語などの自然語(一般に文であるが、
場合によっては単語でもよい。)による入力を与えるこ
とで、計算機に所望の動作をさせることができるという
顕著な効果を得ることができる。特に、計算機システム
は、入力された文字列が部分的に操作指示言語に変換で
きなくとも、入力された文字列の意味に関連する別の自
然語の文字列を追加または置換して意味解析することが
可能となるため、最終的に実行すべき処理の操作指示言
語へ変換することができる。すなわち、計算機が動作す
るための操作指示言語と自然語との関係の知識に関して
は最も基礎的な(プリミティブな)知識だけを予め用意
するだけで、より高次な操作指示を表現する自然語文の
解釈が可能となる。
【図面の簡単な説明】
【図1】本発明の実施例における処理の概要を表す図で
ある。
【図2】機能連鎖構造の基本構造の説明図である。
【図3】操作対象や条件を表現した機能連鎖構造の説明
図である。
【図4】本実施例におけるハードウェア構成図である。
【図5】本実施例におけるデータベース構造に関する知
識の具体例を示す図である。
【図6】本実施例におけるシステム内の上位下位関係の
知識の具体例を示す図である。
【図7】本実施例における意味構造変換規則の具体例を
示す図である。
【図8】本実施例における操作対象とその属性に関する
知識の具体例を示す図である。
【図9】本実施例における意味解析(ステップ4)の処
理の詳細フローチャートである。
【図10】本実施例におけるネットワーク探索(ステッ
プ404)の処理の詳細フローチャートである。
【図11】本実施例における意味構造変換(ステップ
5)の処理の詳細フローチャートである。
【図12】「売上を集計する。」を定義した意味構造変
換規則の具体例を示す図である。
【図13】「(何かを)検索する。」を定義した意味構
造変換規則の具体例を示す図である。
【図14】自然語文「売上を集計し、印刷せよ。」を文
節単位のノードに分割した例を示す図である。
【図15】自然語文「売上を集計し、」を意味解析した
結果得られる機能連鎖構造の具体例を示す図である。
【図16】自然語文「売上を検索する。」を文節分割し
た例を示す図である。
【図17】自然語文「売上を検索する。」を意味解析し
た結果得られる機能連鎖構造の具体例を示す図である。
【図18】「DSSテーブルを表示する。」を定義した
意味構造変換規則の条件部の具体例を示す図である。
【図19】自然語文「売上を表示せよ。」を文節分割し
た例を示す図である。
【図20】自然語文「売上を表示せよ。」を意味解析し
た結果得られる機能連鎖構造の具体例を示す図である。
【図21】「棒グラフで表示する。」を定義した意味構
造変換規則の条件部の具体例を示す図である。
【図22】「棒グラフである操作対象を消去する。」を
定義した意味構造変換規則の条件部の具体例を示す図で
ある。
【図23】自然語文「棒グラフで表示せよ。」を文節分
割した例を示す図である。
【図24】自然語文「棒グラフを消去せよ。」を文節分
割した例を示す図である。
【図25】自然語文「棒グラフで表示せよ。」および
「棒グラフを消去せよ。」を意味解析した結果得られる
機能連鎖構造の具体例を示す図である。
【符号の説明】
10 辞書 11 知識 12 入力装置 13 出力装置 14 プロセッサ 15 記憶装置 16 自然語解析プログラム 17 操作指示言語実行プログラム 18 ワークエリア
───────────────────────────────────────────────────── フロントページの続き (72)発明者 和歌山 哲 神奈川県横浜市戸塚区戸塚町5030番地 株 式会社日立製作所ソフトウェア開発本部内

Claims (22)

    【特許請求の範囲】
  1. 【請求項1】 辞書と、自然語要素の概念間の関係を表
    す複数の機能連鎖構造で記述した知識および複数の意味
    構造変換規則からなる知識データベースを備える計算機
    システムにおける自然語処理方法であって、自然語によ
    る文字列を入力して構文解析し、構文解析結果における
    操作対象もしくは条件を表す概念、または操作指示を表
    す概念に基づいて前記知識データベースの機能連鎖構造
    で記述した知識を探索することにより意味解析を行ない
    1以上の知識の機能連鎖構造からなる機能連鎖構造の組
    合せで表現される中間意味表現を生成し、該生成された
    中間意味表現を前記知識データベースの意味構造変換規
    則および知識の機能連鎖構造を参照して変換し、新たな
    自然語による文字列、操作指示言語を得るための中間表
    現または操作指示言語の内の少なくとも一つを生成する
    ことを特徴とする自然語処理方法。
  2. 【請求項2】 請求項1記載の自然語処理方法におい
    て、新たな自然語による文字列を生成したとき、さらに
    該文字列に対して、構文解析、意味解析による中間意味
    表現の生成、意味構造変換規則および知識の機能連鎖構
    造を参照した変換を行ない、該文字列に対する、新たな
    自然語による文字列、操作指示言語を得るための中間表
    現または操作指示言語の内の少なくとも一つを生成する
    ことを特徴とする自然語処理方法。
  3. 【請求項3】 請求項1記載の自然語処理方法におい
    て、前記新たな自然語による文字列は、前記入力した文
    字列の一部の意味を換言する文字列、または、詳細に説
    明する文字列であることを特徴とする自然語処理方法。
  4. 【請求項4】 請求項1記載の自然語処理方法におい
    て、前記意味解析は、前記文字列を構成する操作対象あ
    るいは条件を表す概念および操作指示を表す概念と適合
    する概念を含む前記知識データベースの機能連鎖構造で
    記述した知識を参照し、参照した知識の機能連鎖構造に
    含まれる前記適合した概念とは異なる他の概念と適合す
    るさらに別の概念を含むさらに別の知識の機能連鎖構造
    を参照し、これを再帰的に繰返し、参照して最終結果と
    して得られた知識の機能連鎖構造の組合せによる表現を
    中間意味表現とすることを特徴とする自然語処理方法。
  5. 【請求項5】 請求項1記載の自然語処理方法におい
    て、前記中間意味表現は、前記知識の機能連鎖構造の一
    部をそのまま利用する表現であることを特徴とする自然
    語処理方法。
  6. 【請求項6】 請求項1記載の自然語処理方法におい
    て、前記知識データベース内の機能連鎖構造で記述され
    た知識は、分野に関する知識、システムに関する知識、
    談話に依存する知識、意味構造変換規則であり、前記意
    味構造変換規則は、前記計算機システムが実行しうる言
    語である操作指示言語に関する知識であることを特徴と
    する自然語処理方法。
  7. 【請求項7】 請求項4記載の自然語処理方法におい
    て、前記適合する概念とは、参照される概念に対して、
    表記が同一または類似する概念、構文上の役割が同一ま
    たは類似する概念、あるいは、意味上の上位または等位
    または下位にある概念であることを特徴とする自然語処
    理方法。
  8. 【請求項8】 請求項4記載の自然語処理方法におい
    て、ある一つの概念と適合する概念を含む知識の機能連
    鎖構造が複数存在する場合に、これらの知識の機能連鎖
    構造をそれまでに得られている知識の機能連鎖構造の組
    合せへ夫々別々に加えて、別々の組合せを生成し、以後
    生成された夫々の組合せが独立した一つの組合せである
    として意味解析することを特徴とする自然語処理方法。
  9. 【請求項9】 請求項4記載の自然語処理方法におい
    て、前記知識の機能連鎖構造を参照した順序と、2つの
    知識の機能連鎖構造を介した前記概念と、前記適合する
    概念の適合の度合いと、前記起点となる概念と前記適合
    する概念を終点としたときの概念間での経路上の距離と
    を、前記組合せに応じて出力することを特徴とする自然
    語処理方法。
  10. 【請求項10】 請求項9記載の自然語処理方法におい
    て、前記知識の機能連鎖構造の組合せが複数存在すると
    きに、前記度合い、または、前記経路上の距離に基づい
    て、処理すべき前記知識の機能連鎖構造の組合せの優先
    順位を決定することを特徴とする自然語処理方法。
  11. 【請求項11】 請求項9記載の自然語処理方法におい
    て、前記経路上の距離が予め指定された値になった時点
    で、前記意味解析を終了することを特徴とする自然語処
    理方法。
  12. 【請求項12】 辞書と、自然語要素の概念間の関係を
    表す複数の機能連鎖構造で記述した知識および複数の意
    味構造変換規則からなる知識データベースを備える計算
    機システムにおける自然語処理システムであって、自然
    語による文字列を入力して構文解析する構文解析手段
    と、構文解析結果における操作対象もしくは条件を表す
    概念、または操作指示を表す概念に基づいて前記知識デ
    ータベースの機能連鎖構造で記述した知識を探索するこ
    とにより意味解析を行ない1以上の知識の機能連鎖構造
    からなる機能連鎖構造の組合せでで表現される中間意味
    表現を生成する意味解析手段と、該生成された中間意味
    表現を前記知識データベースの意味構造変換規則および
    知識の機能連鎖構造を参照して変換し、新たな自然語に
    よる文字列、操作指示言語を得るための中間表現または
    操作指示言語の内の少なくとも一つを生成する意味構造
    変換手段を備えることを特徴とする自然語処理システ
    ム。
  13. 【請求項13】 請求項12記載の自然語処理システム
    において、新たな自然語による文字列を生成したとき、
    さらに該文字列に対して、前記構文解析手段により構文
    解析を行ない、前記意味解析手段により中間意味表現の
    生成を行ない、前記意味構造変換手段により該生成され
    た中間意味表現を前記知識データベースの意味構造変換
    規則および知識の機能連鎖構造を参照した変換を行な
    い、該文字列に対する、新たな自然語による文字列、操
    作指示言語を得るための中間表現または操作指示言語の
    内の少なくとも一つを生成することを特徴とする自然語
    処理システム。
  14. 【請求項14】 請求項12記載の自然語処理システム
    において、前記新たな自然語による文字列は、前記入力
    した文字列の一部の意味を換言する文字列、または、詳
    細に説明する文字列であることを特徴とする自然語処理
    システム。
  15. 【請求項15】 請求項12記載の自然語処理システム
    において、前記意味解析手段は、前記文字列を構成する
    操作対象あるいは条件を表す概念および操作指示を表す
    概念と適合する概念を含む前記知識データベースの機能
    連鎖構造で記述した知識を参照し、参照した知識の機能
    連鎖構造に含まれる前記適合した概念とは異なる他の概
    念と適合するさらに別の概念を含むさらに別の知識の機
    能連鎖構造を参照し、これを再帰的に繰返し、参照して
    最終結果として得られた知識の機能連鎖構造の組合せに
    よる表現を中間意味表現として出力することを特徴とす
    る自然語処理システム。
  16. 【請求項16】 請求項12記載の自然語処理システム
    において、前記中間意味表現は、前記知識の機能連鎖構
    造の一部をそのまま利用する表現であることを特徴とす
    る自然語処理システム。
  17. 【請求項17】 請求項12記載の自然語処理システム
    において、前記知識データベース内の機能連鎖構造で記
    述された知識は、分野に関する知識、システムに関する
    知識、談話に依存する知識、意味構造変換規則であり、
    前記意味構造変換規則は、前記計算機システムが実行し
    うる言語である操作指示言語に関する知識からなること
    を特徴とする自然語処理システム。
  18. 【請求項18】 請求項15記載の自然語処理システム
    において、前記適合する概念とは、参照される概念に対
    して、表記が同一または類似する概念、構文上の役割が
    同一または類似する概念、あるいは、意味上の上位また
    は等位または下位にある概念であることを特徴とする自
    然語処理システム。
  19. 【請求項19】 請求項15記載の自然語処理システム
    において、前記意味解析手段は、ある一つの概念と適合
    する概念を含む知識の機能連鎖構造が複数存在する場合
    に、これらの知識の機能連鎖構造をそれまでに得られて
    いる知識の機能連鎖構造の組合せへ夫々別々に加えて、
    別々の組合せを生成し、以後生成された夫々の組合せが
    独立した一つの組合せであるとして意味解析することを
    特徴とする自然語処理システム。
  20. 【請求項20】 請求項15記載の自然語処理システム
    において、前記意味解析手段は、前記知識の機能連鎖構
    造を参照した順序と、2つの知識の機能連鎖構造を介し
    た前記概念と、前記適合する概念の適合の度合いと、前
    記起点となる概念と前記適合する概念を終点としたとき
    の概念間での経路上の距離とを、前記組合せに応じて出
    力することを特徴とする自然語処理システム。
  21. 【請求項21】 請求項20記載の自然語処理システム
    において、前記意味解析手段は、前記知識の機能連鎖構
    造の組合せが複数存在するときに、前記度合い、また
    は、前記経路上の距離に基づいて、処理すべき前記知識
    の機能連鎖構造の組合せの優先順位を決定することを特
    徴とする自然語処理システム。
  22. 【請求項22】 請求項20記載の自然語処理システム
    において、前記意味解析手段は、前記経路上の距離が予
    め指定された値になった時点で、前記意味解析を終了す
    ることを特徴とする自然語処理システム。
JP4152946A 1992-05-20 1992-05-20 自然語処理方法および自然語処理システム Pending JPH05324713A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP4152946A JPH05324713A (ja) 1992-05-20 1992-05-20 自然語処理方法および自然語処理システム
US08/062,951 US5555169A (en) 1992-05-20 1993-05-14 Computer system and method for converting a conversational statement to computer command language

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP4152946A JPH05324713A (ja) 1992-05-20 1992-05-20 自然語処理方法および自然語処理システム

Publications (1)

Publication Number Publication Date
JPH05324713A true JPH05324713A (ja) 1993-12-07

Family

ID=15551622

Family Applications (1)

Application Number Title Priority Date Filing Date
JP4152946A Pending JPH05324713A (ja) 1992-05-20 1992-05-20 自然語処理方法および自然語処理システム

Country Status (2)

Country Link
US (1) US5555169A (ja)
JP (1) JPH05324713A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0702353A3 (de) * 1994-09-14 1997-11-19 Philips Patentverwaltung GmbH System und Verfahren zum Ausgeben von Sprachinformation in Reaktion auf eingegebene Sprachsignale
JP2016028324A (ja) * 2010-06-22 2016-02-25 プライマル フュージョン インコーポレイテッド 複雑な知識表現を分析および合成するシステムおよび方法

Families Citing this family (74)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5935060A (en) 1996-07-12 1999-08-10 First Opinion Corporation Computerized medical diagnostic and treatment advice system including list based processing
USRE43433E1 (en) 1993-12-29 2012-05-29 Clinical Decision Support, Llc Computerized medical diagnostic and treatment advice system
US5660176A (en) * 1993-12-29 1997-08-26 First Opinion Corporation Computerized medical diagnostic and treatment advice system
US6206829B1 (en) 1996-07-12 2001-03-27 First Opinion Corporation Computerized medical diagnostic and treatment advice system including network access
US5752052A (en) * 1994-06-24 1998-05-12 Microsoft Corporation Method and system for bootstrapping statistical processing into a rule-based natural language parser
JPH08167006A (ja) * 1994-12-13 1996-06-25 Canon Inc 自然言語処理装置及びその方法
US5887120A (en) 1995-05-31 1999-03-23 Oracle Corporation Method and apparatus for determining theme for discourse
US5694523A (en) * 1995-05-31 1997-12-02 Oracle Corporation Content processing system for discourse
US5729659A (en) * 1995-06-06 1998-03-17 Potter; Jerry L. Method and apparatus for controlling a digital computer using oral input
US5852715A (en) * 1996-03-19 1998-12-22 Emc Corporation System for currently updating database by one host and reading the database by different host for the purpose of implementing decision support functions
AU723274B2 (en) * 1996-08-29 2000-08-24 Bcl Computers, Inc. Natural-language speech control
US5924089A (en) * 1996-09-03 1999-07-13 International Business Machines Corporation Natural language translation of an SQL query
US5956711A (en) * 1997-01-16 1999-09-21 Walter J. Sullivan, III Database system with restricted keyword list and bi-directional keyword translation
CA2284168A1 (en) 1997-03-13 1998-09-17 First Opinion Corporation Disease management system
JPH11120185A (ja) * 1997-10-09 1999-04-30 Canon Inc 情報処理装置及びその方法
US6370498B1 (en) 1998-06-15 2002-04-09 Maria Ruth Angelica Flores Apparatus and methods for multi-lingual user access
US6236959B1 (en) * 1998-06-23 2001-05-22 Microsoft Corporation System and method for parsing a natural language input span using a candidate list to generate alternative nodes
JP2002523828A (ja) * 1998-08-24 2002-07-30 ビーシーエル コンピューターズ, インコーポレイテッド 適応型自然言語インターフェース
US6173441B1 (en) 1998-10-16 2001-01-09 Peter A. Klein Method and system for compiling source code containing natural language instructions
US8121891B2 (en) 1998-11-12 2012-02-21 Accenture Global Services Gmbh Personalized product report
US6195651B1 (en) 1998-11-19 2001-02-27 Andersen Consulting Properties Bv System, method and article of manufacture for a tuned user application experience
JP2000194559A (ja) * 1998-12-24 2000-07-14 Canon Inc 情報処理装置及びその方法、及びそのプログラムを格納した記憶媒体
US6430531B1 (en) 1999-02-04 2002-08-06 Soliloquy, Inc. Bilateral speech system
US6446064B1 (en) * 1999-06-08 2002-09-03 Albert Holding Sa System and method for enhancing e-commerce using natural language interface for searching database
US6594657B1 (en) * 1999-06-08 2003-07-15 Albert-Inc. Sa System and method for enhancing online support services using natural language interface for searching database
US6377913B1 (en) * 1999-08-13 2002-04-23 International Business Machines Corporation Method and system for multi-client access to a dialog system
US6311150B1 (en) * 1999-09-03 2001-10-30 International Business Machines Corporation Method and system for hierarchical natural language understanding
JP2001125897A (ja) * 1999-10-28 2001-05-11 Sony Corp 言語学習装置およびその方法
US6684231B1 (en) * 1999-11-29 2004-01-27 Microsoft Corporation Migration of friendly volumes
US6553387B1 (en) * 1999-11-29 2003-04-22 Microsoft Corporation Logical volume configuration data management determines whether to expose the logical volume on-line, off-line request based on comparison of volume epoch numbers on each extents of the volume identifiers
CA2398823A1 (en) 2000-02-14 2001-08-23 First Opinion Corporation Automated diagnostic system and method
US6523029B1 (en) * 2000-03-24 2003-02-18 Bitmobile Technologies System and method for embedded information retrieval in a distributed free-text application environment
US20020062476A1 (en) * 2000-07-14 2002-05-23 Saxe James Benjamin Case-reduced verification condition generation system and method by use of dynamic single assumption and assigning labels to variables at control join points
US7085708B2 (en) * 2000-09-23 2006-08-01 Ravenflow, Inc. Computer system with natural language to machine language translator
US6961694B2 (en) * 2001-01-22 2005-11-01 Microsoft Corporation Method and apparatus for reducing latency in speech-based applications
US6662190B2 (en) * 2001-03-20 2003-12-09 Ispheres Corporation Learning automatic data extraction system
US20030125929A1 (en) * 2001-12-10 2003-07-03 Thomas Bergstraesser Services for context-sensitive flagging of information in natural language text and central management of metadata relating that information over a computer network
US7231343B1 (en) * 2001-12-20 2007-06-12 Ianywhere Solutions, Inc. Synonyms mechanism for natural language systems
WO2003060660A2 (en) * 2002-01-10 2003-07-24 Exobrain, Inc. Meaning processor
CA2387452A1 (en) * 2002-05-24 2003-11-24 Petr Hejl Developing and running selected applications in communications
JP2004199478A (ja) * 2002-12-19 2004-07-15 Fuji Xerox Co Ltd 自然語入力装置及び自然語入力プログラム
US20040122641A1 (en) * 2002-12-20 2004-06-24 Lab2Plant, Inc. (An Indiana Corporation) System and method for chemical process scale-up and preliminary design and analysis
US7606714B2 (en) * 2003-02-11 2009-10-20 Microsoft Corporation Natural language classification within an automated response system
US20040162724A1 (en) * 2003-02-11 2004-08-19 Jeffrey Hill Management of conversations
US7480619B1 (en) * 2003-03-04 2009-01-20 The Board Of Trustees Of The Leland Stanford Junior University Integration manager and natural interaction processor
US7780595B2 (en) 2003-05-15 2010-08-24 Clinical Decision Support, Llc Panel diagnostic method and system
US20090164215A1 (en) * 2004-02-09 2009-06-25 Delta Electronics, Inc. Device with voice-assisted system
US7613719B2 (en) * 2004-03-18 2009-11-03 Microsoft Corporation Rendering tables with natural language commands
US9081879B2 (en) 2004-10-22 2015-07-14 Clinical Decision Support, Llc Matrix interface for medical diagnostic and treatment advice system and method
US7761843B2 (en) * 2005-07-01 2010-07-20 Ronald Ortscheid Computer source code generator
US20070055491A1 (en) * 2005-08-24 2007-03-08 Keith Manson Method for apparatus for construction and use of an operational lexicon in process models and managing their synchronized representations
SG142196A1 (en) * 2006-11-02 2008-05-28 Crimsonlogic Pte Ltd System and method for processing language independent natural language statements
JP4451435B2 (ja) * 2006-12-06 2010-04-14 本田技研工業株式会社 言語理解装置、言語理解方法、及び、コンピュータプログラム
US20090119095A1 (en) * 2007-11-05 2009-05-07 Enhanced Medical Decisions. Inc. Machine Learning Systems and Methods for Improved Natural Language Processing
US8700385B2 (en) * 2008-04-04 2014-04-15 Microsoft Corporation Providing a task description name space map for the information worker
US8689175B2 (en) * 2010-03-03 2014-04-01 Ebay Inc. Business rules management system
US9348808B2 (en) * 2011-12-12 2016-05-24 Empire Technology Development Llc Content-based automatic input protocol selection
US9152385B2 (en) * 2012-02-22 2015-10-06 GM Global Technology Operations LLC Systems and methods for generating high-quality formal executable software feature requirements
US10073827B2 (en) * 2012-06-07 2018-09-11 Robert Kevin Houston Method and system to generate a process flow diagram
US20130338995A1 (en) * 2012-06-12 2013-12-19 Grant Street Group, Inc. Practical natural-language human-machine interfaces
CN106407196A (zh) * 2015-07-29 2017-02-15 成都诺铱科技有限公司 应用于物流管理软件的语义分析智能指令机器人
US10162817B2 (en) * 2016-06-14 2018-12-25 Microsoft Technology Licensing, Llc Computer messaging bot creation
US10360906B2 (en) 2016-06-14 2019-07-23 Microsoft Technology Licensing, Llc Computer proxy messaging bot
US11222266B2 (en) 2016-07-15 2022-01-11 Intuit Inc. System and method for automatic learning of functions
US10579721B2 (en) 2016-07-15 2020-03-03 Intuit Inc. Lean parsing: a natural language processing system and method for parsing domain-specific languages
US11049190B2 (en) 2016-07-15 2021-06-29 Intuit Inc. System and method for automatically generating calculations for fields in compliance forms
US10332628B2 (en) 2016-09-30 2019-06-25 Sap Se Method and system for control of an electromechanical medical device
EP3301598B1 (en) * 2016-09-30 2020-06-17 Sap Se Method and system for control of an electromechanical medical device
US9959868B1 (en) * 2017-03-09 2018-05-01 Wisconsin Alumni Research Foundation Conversational programming interface
US10460044B2 (en) 2017-05-26 2019-10-29 General Electric Company Methods and systems for translating natural language requirements to a semantic modeling language statement
EP3685284A4 (en) * 2017-09-22 2021-06-16 Intuit Inc. LIGHTENED ANALYSIS: NATURAL LANGUAGE PROCESSING SYSTEM AND DOMAIN-SPECIFIC LANGUAGE ANALYSIS METHOD
US11163956B1 (en) 2019-05-23 2021-11-02 Intuit Inc. System and method for recognizing domain specific named entities using domain specific word embeddings
JP2021068065A (ja) * 2019-10-18 2021-04-30 富士ゼロックス株式会社 クエリ生成システム、検索システム及びプログラム
US11783128B2 (en) 2020-02-19 2023-10-10 Intuit Inc. Financial document text conversion to computer readable operations

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4736296A (en) * 1983-12-26 1988-04-05 Hitachi, Ltd. Method and apparatus of intelligent guidance in natural language
US5083268A (en) * 1986-10-15 1992-01-21 Texas Instruments Incorporated System and method for parsing natural language by unifying lexical features of words
JPS6410300A (en) * 1987-07-03 1989-01-13 Hitachi Ltd User's interface system for searching
US4974191A (en) * 1987-07-31 1990-11-27 Syntellect Software Inc. Adaptive natural language computer interface system
JP2664915B2 (ja) * 1988-01-12 1997-10-22 株式会社日立製作所 情報検索システム
US4914590A (en) * 1988-05-18 1990-04-03 Emhart Industries, Inc. Natural language understanding system
US5282265A (en) * 1988-10-04 1994-01-25 Canon Kabushiki Kaisha Knowledge information processing system
US5197005A (en) * 1989-05-01 1993-03-23 Intelligent Business Systems Database retrieval system having a natural language interface
US5255386A (en) * 1990-02-08 1993-10-19 International Business Machines Corporation Method and apparatus for intelligent help that matches the semantic similarity of the inferred intent of query or command to a best-fit predefined command intent
EP0473864A1 (en) * 1990-09-04 1992-03-11 International Business Machines Corporation Method and apparatus for paraphrasing information contained in logical forms
JP3009215B2 (ja) * 1990-11-30 2000-02-14 株式会社日立製作所 自然語処理方法および自然語処理システム

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0702353A3 (de) * 1994-09-14 1997-11-19 Philips Patentverwaltung GmbH System und Verfahren zum Ausgeben von Sprachinformation in Reaktion auf eingegebene Sprachsignale
JP2016028324A (ja) * 2010-06-22 2016-02-25 プライマル フュージョン インコーポレイテッド 複雑な知識表現を分析および合成するシステムおよび方法

Also Published As

Publication number Publication date
US5555169A (en) 1996-09-10

Similar Documents

Publication Publication Date Title
JPH05324713A (ja) 自然語処理方法および自然語処理システム
JP3009215B2 (ja) 自然語処理方法および自然語処理システム
US6182062B1 (en) Knowledge based information retrieval system
US5555408A (en) Knowledge based information retrieval system
EP0907923B1 (en) Method and system for computing semantic logical forms from syntax trees
US20040205605A1 (en) Method and system for stylesheet rule creation, combination, and removal
JP2005507525A (ja) 機械翻訳
US8762131B1 (en) Systems and methods for managing a complex lexicon comprising multiword expressions and multiword inflection templates
JPH09198237A (ja) オンザフライ活字印刷ディスプレイを有する構造的表現型コンピュータ・プログラムのテキスト編集用システム及び方法
KR20080086456A (ko) 찾기 및 교체 입력의 파생어를 레버리징하는 찾기 및 교체기능을 갖춘 텍스트 편집 방법 및 시스템
JP4311772B2 (ja) 言語ストリング解析方法および言語ストリング解析システム
Robinson et al. Logic programming in LISP
McKeeman Compiler construction
Harper et al. Implementation issues in the development of the PARSEC parser
Cyre Toward synthesis from English descriptions
JPS62221775A (ja) 自然言語処理方式
Mishchenko et al. New functionalities of the system for processing natural language specifications and its operating environment
Erbach A flexible parser for a linguistic development environment
Pelizzoni et al. Flexibility, configurability and optimality in UNL deconversion via multiparadigm programming
JPH06214776A (ja) ソフトウェア自動生成システム
Jain et al. A Parsing Tool for Short Linguistic Constructions: A Case Study for Indian Languages
JPH06231165A (ja) 自然言語解析装置
WO2024102449A1 (en) Systems and methods for enhanced machine learning techniques for knowledge map generation and user interface presentation
Graham Languages and interactive software development
Raymond Evolutions in typesetting systems.