(57)【特許請求の範囲】
【請求項１】
命題を集積した知識ベースを構築して、該知識ベースを利用可能に記憶するエキスパート装置であって、
前記命題に関する入力者の入力を受け付ける入力受付手段と、
該入力者の入力から前記命題を取り出す命題抽出手段と、
該受け付けた入力に備わった特徴を解析する特徴解析手段と、
該解析した特徴に基づいて、予め該特徴と確信度とを関連づけて記憶したデータを参照し、前記命題に関する確信度を数値として抽出する確信度抽出手段と、
前記取り出した命題と前記抽出した確信度を表わす数値とを関連づけて知識ベースとして記憶した記憶手段と
を備えたエキスパート装置。
【請求項２】
請求項１記載のエキスパート装置であって、
前記入力受付手段は、前記命題に関する入力として、自然言語からなる文を入力する手段であり、
前記特徴解析手段は、該受け付けた文を構成する単語を取り出す手段であり、
前記確信度抽出手段は、所定の複数の単語の各々について確信度を推定する数値を予め記憶しており、前記取り出された単語が前記所定の複数の単語に含まれるとき、該取り出された単語について記憶された前記数値を読み出し、該単語が含まれる前記命題の確信度を、該数値を用いて計算する確信度演算手段を備えた
エキスパート装置。
【請求項３】
請求項２記載のエキスパート装置であって、
前記確信度演算手段は、
確信度を表わす数値と演算方法とを、前記所定の複数の単語毎に記憶し、
前記確信度の計算において、前記記憶された数値と演算方法とを用いて前記文を構成しかつ該単語が含まれる命題が表現している確信度を演算する手段である
エキスパート装置。
【請求項４】
請求項１記載のエキスパート装置であって、
前記入力受付手段は、前記命題に関する入力として、入力者の音声を入力する手段であり、
前記特徴解析手段は、該受け付けた音声に備わっている特徴を取り出す手段であり、
前記確信度抽出手段は、前記取り出した音声の特徴と確信度とを予め関連づけて記憶したデータを参照することにより、確信度を計算する手段である
エキスパート装置。
【請求項５】
請求項４記載のエキスパート装置であって、
前記特徴解析手段は、音声の特徴として、音声の強さ、長さ、基本周波数、アクセントのうち少なくとも一つを解析する手段を備えたエキスパート装置。
【請求項６】
命題を集積した知識ベースを参照して推論を行なう方法であって、
前記命題に関する入力者の入力をキーボードまたは音声認識装置を介して受け付け、
該受け付けた入力からコンピュータが命題を取り出し、
該受け付けた入力に備わった特徴をコンピュータが解析し、
該解析した特徴に基づいて、予め該特徴と確信度とを関連づけて記憶したデータを参照して、前記命題に関する確信度を数値として抽出し、
前記取り出した命題と前記抽出した確信度を表わす数値とを関連づけて知識ベースとして記憶装置に記憶し、
外部からの問い合わせに対して、前記知識ベースを参照し、前記記憶した命題と確信度を表わす数値とを用いてコンピュータが推論を行なう
推論方法。
【請求項７】
複数の命題を、該命題に対する入力者の確信度と共に蓄積して、エキスパートシステムをコンピュータが構築する方法であって、
前記命題に関する入力者の入力をキーボードまたは音声認識装置を介して受け付け、
該受け付けた入力から命題をコンピュータが取り出し、
該受け付けた入力に備わった特徴をコンピュータが解析し、
該解析した特徴に基づいて、予め該特徴と確信度とを関連づけて記憶したデータを参照して、前記命題に関する確信度を数値として抽出し、
前記取り出した命題と前記抽出した確信度を表わす数値とを関連づけてデータベースとして記憶装置に記憶し、
該データベースに記憶された各命題に構造を与えて知識ベースとすることにより
エキスパートシステムを構築するエキスパートシステムの構築方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、命題に対する入力者の確信度を入力する技術とこの確信度の入力を用いてエキスパートシステムを構築する技術に関する。
【０００２】
【従来の技術】
従来から、専門家の知識などをデータベース化して、誰でもこれを利用できるようにしようとするエキスパートシステムの構築が試みられてきた。当初こうしたエキスパートシステムは、回答が「ＹＥＳ」か「ＮＯ」になるような単純なルールの組合わせとして表現されていたが、人間の知識とこれに伴う判断には、曖昧さが伴うことが理解されるに従い、これをコンピュータ上でも表現できるようにしようとする取り組みがなされてきた。つまり、「××ならば、○○である」という単純な命題に対して、「××ならば、多分○○である」というような曖昧さを許容したルールによるエキスパートシステムの構築が試みられてきたのである。
【０００３】
こうしたシステムでは、命題の確からしさを表わすのに、確信度を数値化してルールに添付したり、数値表現される条件（例：「今日は２８度Ｃ」）に対して、判断（例：「今日は暑い」）をメンバーシップ関数として定義する、という対応がとられていた。前者にあっては、確からしさ（以下、確信度という）は、「０〜１．０」あるいは「−１．０〜１．０」といった数値で表現される。例えば、「今日は天気が良い」という命題に対して、確信度＝［０．６］というように数値を入力して、各命題の確信度を定義するのである。
【０００４】
後者、即ちメンバーシップ関数を用いた方法は、ファジィ理論において取られた手法であり、変数ｘに対して、命題が成り立つ可能性ｙを、図１１に示すような関数により与えるものである。例えば、気温Ｔが２８度Ｃであれば、図１１に示したメンバーシップ関数を用いることにより、確信度０．８が得られることになる。
【０００５】
【発明が解決しようとする課題】
しかしながら、こうした確信度の数値化やメンバーシップ関数の設定は、人間の知識を用いたエキスパートシステムにおいては必ずしもうまく機能しない、という問題があった。一つには、膨大な数のルール（命題）を入力する際、その確信度をいちいち数値で入れる手間が大変であり、大部分のルールは確信度０．５に設定しておき、特定の命題だけ、評価して数値を与えるといった対応がされやす、という問題があった。この場合には、当然システムの精度、信頼性は低下してしまう。もとより、全ての命題に確信度を数値入力することも可能ではあるが、確信度を数値化する入力者の性格などから、全体的に確信度を高く設定してしまう人や、低く設定してしまう人があり、システムの全体として見たとき、判断のばらつきか大きくなって、信頼性は必ずしも高くならないという問題があった。
【０００６】
また、メンバーシップ関数は、条件を数値化しやすい場合（例えば、「体温が○○度なら」など）にはある程度役に立つが、数値化できない条件（例えば、「体がだるかったら」など）は、メンバーシップ関数を定義することができず、これらの条件を組み合わせて、有意な判断を上手く取り出すことができない。しかも、人間の生活全般を考えると、むしろ数値化できない多数の条件を組み合わせて判断していることが多く、これを数値化することは困難であった。この点でも、従来のエキスパートシステムの実用化には、大きな課題が存在した。
【０００７】
本発明は、こうした問題を解決し、確信度の入力を容易にし、これを用いたエキスパートシステムの構築を実用的なレベルにすると共に、システムの判断の信頼性を高めることを目的とする。
【０００８】
【課題を解決するための手段およびその作用・効果】
上記課題の少なくとも一部を解決する本発明のエキスパート装置は、
命題を集積した知識ベースを構築して、該知識ベースを利用可能に記憶するエキスパート装置であって、
前記命題に関する入力者の入力を受け付ける入力受付手段と、
該入力者の入力から前記命題を取り出す命題抽出手段と、
該受け付けた入力に備わった特徴を解析する特徴解析手段と、
該解析した特徴に基づいて、予め該特徴と確信度とを関連づけて記憶したデータを参照し、前記命題に関する確信度を数値として抽出する確信度抽出手段と、
前記取り出した命題と前記抽出した確信度を表わす数値とを関連づけて知識ベースとして記憶した記憶手段と
を備えたことを要旨としている。
【０００９】
かかるエキスパート装置に対応した推論方法の発明は、
命題を集積した知識ベースを参照して推論を行なう方法であって、
前記命題に関する入力者の入力をキーボードまたは音声認識装置を介して受け付け、
該受け付けた入力からコンピュータが命題を取り出し、
該受け付けた入力に備わった特徴をコンピュータが解析し、
該解析した特徴に基づいて、予め該特徴と確信度とを関連づけて記憶したデータを参照して、前記命題に関する確信度を数値として抽出し、
前記取り出した命題と前記抽出した確信度を表わす数値とを関連づけて知識ベースとして記憶装置に記憶し、
外部からの問い合わせに対して、前記知識ベースを参照し、前記記憶した命題と確信度を表わす数値とを用いてコンピュータが推論を行なうこと
を要旨としている。
【００１０】
かかる確信度の入力を伴うエキスパート装置および推論方法に関する発明によれば、命題に関する入力（命題自身もしくは命題に対する答えなど）を受け付ける際、この入力に備わった特徴を解析して、予め記憶したデータに基づいて、入力した命題に関する確信度を数値として抽出する。従って、入力者に、確信度を数値で入力したり、メンバーシップ関数を定義するといった対応を求めることがなく、確信度を、個人差なく入力することができる。しかも、確信度の入力に余分な手間を要しない。
【００１１】
ここで、命題に関する入力には、様々な手法が考えられるが、例えば、自然言語からなる文を入力するものとしても良い。自然言語からなる文を受け付けた場合には、この文を構成する単語を、例えば形態素解析などにより取り出し、この文に含まれる所定の単語を利用して確信度を計算することができる。単語に基づく確信度の計算は、例えば確信度を表わす単語について、確信度を推定する数値を予め記憶しておき、取り出された単語に関して、この数値を読み出し、これにより確信度を計算するようにすることができる。確信度を表わす単語とは、例えば「多分」「おおよそ」「きっと」「すごく」などの程度を表わす副詞や連用詞のみならず、「良い」「悪い」「すばらしい」「やる気のない」といった形容詞や連体詞など、更には「だろう」「と思う」「かな。」などの助詞、助動詞、述語動詞、などを想定することができる。これらを、総称して、命題を表わす叙述表現に対する関係表現とか枠組み表現と呼ぶことができる。
【００１２】
こうした関係表現は、どのような言語にも存在するが、例えば日本語を例に採ると、通常の日本語文法の枠組みでは、伝聞、推量といった簡略な分類しか与えられていない。これらの表現は、文法という規範による扱いにはなじまず、むしろ網羅的な分類により取り扱うほかと言える。日本語を例にとれば、こうした網羅的な収集、分類は、既に首藤等によって、「日本語文構造のわく組を与える表現」（首藤公昭、楢原斗志子、福岡大学総合研究所報第６３号、昭和５８年３月）などに、集成されている。そこで、こうした網羅的な分類に基づいて、各表現に確信度を与えたデータベース、例えば辞書を用意しておけば、形態素解析などを利用して自然語からなる文から単語を抽出し、この単語により辞書を参照して、確信度を求めることは容易である。なお、英語など、単語が文において独立している言語では、形態素解析などを行なわなくても、簡単なフィルタ処理により単語を取り出すことができる。また、日本語でも、分かち書きされた文であれば、単語を取り出すことは容易である。
【００１３】
こうして単語毎に予め記憶した確信度を用いて、命題全体に対する確信度を計算するには、確信度を表わす数値と演算方法とを、単語毎に記憶し、確信度の計算において、記憶された数値と演算方法とを用いて前記文が表現している確信度を演算すればよい。もとより、数値を記憶する単語を予め特定の単語（例えば確信度を一般に高める単語や、確信度を一般に下げる単語、など）に限っておけば、演算方法を一つに限定することも可能である。
【００１４】
単語毎に付与された確信度を表わす数値として、値０ないし１の範囲の数値とし、演算方法として、少なくともＣｏｍｂ法、乗算法、平均値法のうちの一つを含むものとすることができる。特に、数値を記憶した単語の範囲を広げ、単語毎に演算方法も併せて指定すれば、確信度の計算に柔軟性を持たせ、自然言語を用いて表現された命題の確信度の演算を、精度良く行なうことができる。
【００１５】
なお、通常確信度を付与される単語は上記の関係表現に関する単語なので、命題を示す文が、確信度を記憶していない単語のみから構成されている場合も当然あり得る。こうした場合、即ち、文に、確信度を表わす数値を記憶した単語が含まれていない場合には、文の確信度を、予め定めた所定値に設定することも、確信度の入力を容易にする点で有用である。
【００１６】
演算方法におけるＣｏｍｂ法とは、例えば二つの単語に確信度ａ，ｂ（０≦ａ，ｂ≦１）が与えられているとき、この二つがそのまま現われる文の確信度Ｃは、
Ｃ＝ａ＋ｂ−ａ＊ｂ
として求める方法である。
乗算法とは、例えば二つの単語に確信度ａ，ｂが与えられているとき、この二つがそのまま現われる文の確信度Ｃは、
Ｃ＝ａ＊ｂ
として求める方法である。
平均値法とは、例えば二つの単語に確信度ａ，ｂが与えられているとき、この二つがそのまま現われる文の確信度Ｃを、
Ｃ＝（ａ＋ｂ）／２
として求める方法（いわゆる「相加的平均」）である。
もとより演算方法は、これらの方法に限られる訳ではなく、単語における確信度の表現に着目し、例えば相加的平均以外に相乗的平均（Ｃ＝√（ａ＊ｂ））を求める方法や、修飾−被修飾の関係にある単語間では、重み付け計数を考慮して平均値を求める方法なども採用可能である。
【００１７】
この他、命題に関する入力として、入力者の音声を入力するものとし、この音声に備わっている特徴に基づいて、確信度を計算することも考えられる。確信を持っている事項と確信の持てない事項とを話すとき、その音声には、一定の違いが見られることが知られているからである。音声の特徴としては、音声の強さ、長さ、基本周波数、アクセントなどを考えることができる。このうち少なくとも一つについて解析するものとすればよい。もとより、複合的に解析しても良い。通常、人間は、確信を持っている事項については、強く、長く、明確なアクセントで発音することが知られている。これは、多数の入力者の音声を処理すれば、明らかになる、いわばヒューリスティクな法則である。従って、一人の入力者について処理する場合には、確信度が分かっている命題についての音声入力を予め行なって、その音声上との特徴と確信度との関係を較正しておくことが、より望ましい。音声の基本周波数は、発言者が嘘を付いたり、確信のもてないことを無理に確信があるように発言する場合、緊張から、音声の基本周波数が上昇することが知られている。そこで、入力作業を通して、入力者の音声の基本周波数を解析し、これにより確信度を抽出するものとすることもできる。もとより、これらの情報は、音声認識により取り出した単語について記憶された確信度を補正するのに用いるといったことも可能である。
【００１８】
音声に基づく確信度の抽出は、具体的には、音声の強さ、長さ、基本周波数、アクセントが、音声が強いほど、音声が長く継続するほど、周波数が低いほど、アクセントが強調されるほど、確信度が高いものとして行なうことができる。
【００１９】
本発明は、上記の確信度入力の手法を適用したエキスパートシステムの構築方法として捉えることができる。即ち、本発明のエキスパートシステム構築方法は、
複数の命題を、該命題に対する入力者の確信度と共に蓄積して、エキスパートシステムをコンピュータが構築する方法であって、
前記命題に関する入力者の入力をキーボードまたは音声認識装置を介して受け付け、
該受け付けた入力から命題をコンピュータが取り出し、
該受け付けた入力に備わった特徴をコンピュータが解析し、
該解析した特徴に基づいて、予め該特徴と確信度とを関連づけて記憶したデータを参照して、前記命題に関する確信度を数値として抽出し、
前記取り出した命題と前記抽出した確信度を表わす数値とを関連づけてデータベースとして記憶装置に記憶し、
該データベースに記憶された各命題に構造を与えて知識ベースとすることにより
エキスパートシステムを構築することを要旨としている。
【００２０】
かかるエキスパートステムの構築方法によれば、命題に関する入力を行なうだけで、その命題に関する確信度を抽出し、命題とその確信度とをデータベースにとして記憶し、更にこのデータベースに記憶した各命題に構造を与えて、エキスパートシステムとして構築することができる。従って、信頼性の高いエキスパートシステムの構築を容易に行なうことができる。
【００２１】
なお、これらの発明は、いずれもコンピュータ上で実行されて上記の機能を実現するプログラムの発明、こうしたプログラムを記録した記録媒体としての発明として、それぞれ把握することができる。また確信度入力装置やエキスパートシステムは、コンピュータ上でプログラムが実行されることで、上記の入力の受け付け、特徴の解析、確信度の抽出などを実現するものであっても良いし、ディスクリートな回路構成より実現するものであっても良い。また、プログラムは、Ｃ言語やパスカル、フォートラン、コボル、ＢＡＳＩＣ、等の周知のプログラム言語が採用可能であり、オブジェクト指向のプログラム言語、あるいはＪａｖａＳｃｒｉｐｔ等の言語などを利用することも可能である。記録媒体としては、フレキシブルディスク，ＣＤ−ＲＯＭ，ＤＶＤ−ＲＯＭ，半導体メモリ（ＲＯＭ，ＰＲＯＭ，ＥＥＰＲＯＭ，フラッシュメモリ等）など、種々の記録媒体を用いることができる。もとより、インターネットなどのネットワーク上に置かれたサーバにこれらのプログラムを記憶しておき、クライアントのコンピュータにダウンロードして利用することも可能である。
【００２２】
【発明の実施の形態】
以下、本発明の実施の形態とその実施例とについて説明する。
（１）第１の実施の形態：
図１は、本発明の実施の形態を示すブロック図である。この実施の形態では、命題は、キーボードなどの文入力部Ｍ１を介して入力される。入力された文は、いわゆる自然言語による文であり、これを形態素解析部Ｍ２により、文を構成する単語ｔ１，ｔ２・・・を取り出す処理を行なう。なお、キーボードなど文入力部Ｍ１が、仮名漢字変換を伴って文を入力するものである場合には、文入力部Ｍ１と形態素解析部Ｍ２とを一体に構成し、仮名漢字変化を伴う入力時に、単語の抽出を行なってしまうようにすることが簡便である。形態素解析により取り出された単語は、字句解析部Ｍ３に送られ、ここで確信度の解析が行なわれる。字句解析部Ｍ３は、予め単語毎の確信度を用意したデータベース（以下、確信度辞書という）ＤＤＢを参照し、文を構成していた単語の確信度ｄ（ｔ）および確信度集計方法（以下、単に演算方法という）を取り出す処理を行なう。こうして取り出された単語毎の確信度および演算方法は、確信度集計部Ｍ４に出力され、ここで各単語毎に与えられた演算方法に基づく確信度の演算を行なう。
【００２３】
確信度の計算は、次のように行なう。ここでは、「天気はちょっと崩れるらしい」という文を例として説明する。この文から、「天気」「ちょっと」「崩れる」「らしい」という４つの単語が取り出されたとき、確信度辞書ＤＤＢを参照すると、「天気」「崩れる」については、確信度が与えられておらず、「ちょっと」については確信度０．４、「らしい」については、確信度０．５が与えられていたとする。また、「ちょっと」についての演算方法として平均値法が、らしいについては乗算法が、与えられているとする。この場合、「天気は崩れる」という命題についての確信度ｘ２は、文中で後ろに置かれた単語の演算方法を用いるものとし、
ｘ２＝０．４＊０．５＝０．２
となる。
【００２４】
なお、入力した文が「天気は崩れるらしい」のように、確信度を有する単語が一つの場合は、除算法においてはｂ＝１として、その単語の確信度が、命題全体の確信度ｘ１として計算される。また、「天気はちょっと崩れるらしいと聞いた」のように、確信度が与えられた単語が３つ以上見つかった場合には、これを順番に計算すればよい。上記の文で「聞いた」が確信度０．５、演算方法が乗算法であれば、
0003770099.tif 000002
となる。こうして計算した全体の確信度は、データベース構築部Ｍ５により集められ、命題データベースＳＤＢに、命題自身と共に記憶される。こうして、エキスパートシステムの基礎となる命題データベースＳＤＢが用意される。
【００２５】
（２）第２の実施の形態：
本発明の第２の実施の形態は、図２に示すように、第１の実施の形態の構成要素との比較により説明すると、文入力部Ｍ１に代えて音声入力部Ｍ１１が、形態素解析部Ｍ２に代えて音声分析部Ｍ１２が、字句解析部Ｍ３に代えて音声解析部Ｍ１３が、それぞれ設けられている。その余の構成は、第１の実施の形態とほぼ同一である。ここで、音声入力部Ｍ１１は、音声の認識までは行なっておらず、音の強さと長さを取り込むマイクやアンプからなる回路である。また音声分析部Ｍ２は、音声の強さを５段階に、長さを３段階に分けて認識する回路である。音声解析部Ｍ１３は、認識した音声の強さＶと長さＬとから、確信度辞書ＤＤＢを参照して、命題に関する入力者の確信度を求める回路である。このとき、単語は音声認識により入力しても良いし、第１の実施の形態と同様、キーボード等から入力するものとしても良い。単語毎に、音声の強さＶや長さＬから確信度ｘが得られたなら、これを集計してデータベースとして蓄積する点は、第１の実施の形態と同様である。
【００２６】
かかる構成によっても、命題についての入力者の入力に基づいて、そこに存在する特徴（この実施の形態では、音声の強さと長さ）により確信度を抽出することができ、データベースにこれを蓄積していくとができる。
【００２７】
上述した両実施の形態ともデータベースへの確信度と命題の記憶までしか含んでいないが、一旦これらの情報がデータベースとして蓄積されれば、このデータベースに蓄積された各命題に構造を与えることにより、これをエキスパートシステムとして構築することは容易である。
【００２８】
以上説明した本発明の実施の形態を一層明らかにするために、以下実施例について詳しく説明する。
（３）実施例における装置構成：
次に、本発明の実施例について説明する。図３は、本発明の第１実施例である確信度入力を行なう。図３に示した例では、本発明の確信度入力を具現化するプログラムが、インターネットのようなネットワーク１０に接続されたデータベースサーバ２０にインストールされている例を示している。データベースサーバ２０は、それ自身スタンドアロンのコンピュータとして使用可能であるが、以下で説明するように、サーバとして他のクライアントから利用することが可能である。すなわち、ネットワーク１０に接続された多数のコンピュータ３０，４０の利用者が、各人の知識をルール（命題）として取り出し、これをネットワーク１０を介してデータベースサーバ２０に入力することで、短期間に大規模なエキスパートシステムを、データベースサーバ２０に構築しようとするものである。入力部分については、データベースサーバ２０，コンピュータ３０，４０共に同じなので、以下、データベースサーバ２０を例として説明を行なう。なお、エキスパートシステムができあがれば、コンピュータ３０，４０からの問い合わせをネットワーク１０を介して受けたデータベースサーバ２０が、内部に構築されたエキスパートシステムを用いて推論を行ない、その推論果を、ネットワーク１０を介して、クライアントであるコンピュータ３０などに返すといった形態で利用される。エキスパートシステムとしては、どのようなものでも適用可能であるが、以下の説明では、病気の診断用エキスパートシステムを例として説明する。
【００２９】
データベースサーバ２０の内部構成を図３に基づいて説明する。データベースサーバ２０は、モデムやルータ１８を介してネットワーク１０とのデータのやり取りを制御するネットワークインタフェース（ＮＴ−Ｉ／Ｆ）２１、処理を行なうＣＰＵ２２、処理プログラムや固定的なデータを記憶するＲＯＭ２３、ワークエリアとしてのＲＡＭ２４、時間を管理するタイマ２５、モニタ２９への表示を司る表示回路２６、テキストデータをデータベースとして蓄積しているハードディスク（ＨＤ）２７、キーボード１１，マウス１２，マイク１３とのインタフェースを司る入力インタフェース（Ｉ／Ｆ）２８等を備える。なお、ハードディスク２７は、固定式のものとして記載したが、着脱式のものでも良いし、着脱式の記憶装置（例えばＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＣＤ−ＲＷ、ＤＶＤ−ＲＯＭ、ＤＶＤ−ＲＡＭ、フレキシブルディスクなど）を併用することも可能である。また、この実施例では、データベースサーバ２０の処理プログラムは、ＲＯＭ２３内に記憶されているものとしたが、ハードディスク２７に記憶しておき、起動時にＲＡＭ２４上に展開して実行するものとしても良い。あるいは、上述した着脱式の記録媒体から読み込むものとしても良い。更には、ネットワーク１０を介して、他のサーバから読み込んで実行するものとしても良い。
【００３０】
ハードディスク２７には、仮名漢字変換辞書ＤＩＣが記憶されている。この仮名漢字変換辞書は、キーボード１１から入力されたかな文字列を解析して、仮名漢字文字列に変換する際に参照されるものである。この辞書ＤＩＣには、単語の読み、表記、文法情報の他に、図４に例示するように、単語の一部については、確信度のデータＣＮＦおよび確信度の集計方法を示す演算方法が記憶されている。もとよりこれらのデータは、全ての単語について付与されている訳ではなく、確信度に影響を与える可能性のある単語についてのみ付与されている。
【００３１】
図３に示したデータベースサーバ２０では、ハードディスク２７にデータベースが構築される。このデータベースＤＢは、基本的にはテキストデータからなる命題の集合として構築される。この命題は、キーボード１１から入力した文として入力される。なお、このデータベースＤＢを構築する際、キーボードから入力された文をそのまま登録しても良いが、一定の標準化を行なって登録しても良い。標準化を行なうことにより、文の作成者が異なる場合などに生じやすい用語のばらつきや表記のばらつきなどを統一することができ、データベースＤＢを用いてエキスパートシステムを検索する際のルール（構造）を簡略化することができる。
【００３２】
この文の標準化について簡略に説明する。データベースサーバ２０は、後述する文をハードディスク２７に登録する際、図５に示すように、まず文を形態素解析し、文が、文法情報を備えた単語から成り立つものとして把握する。その後、これらの単語から構成された文に対して、次の４つのレベルの標準化を行なう。（Ａ）文字の標準化処理（予め定めた文字に置き換える文字の標準化）、
文字レベルの表記のゆれであり、カタカナ語尾の長音の有無、カタカナ全角／半角といった全く概念に変化のない表記のゆれを統一するのである。
（Ｂ）表記の統一処理（表記のゆれを予め定めた表記に統一する処理）、
単語レベルの表記のゆれであり、ほとんど意味の異ならない複数漢字表記などを統一するのである。
（Ｃ）自立語処理（自立語を、予め定めた置き換えの基準に従って、他の自立語に置き換える処理）、
自立語の表記のゆれであり、わずかに意味の異なることがある単語間の入れ替えを行なって、使用する自立語を統一するのである。
【００３３】
なお、これらの標準化の他に、（Ｄ）付属語処理（文節レベルの表記のゆれの処理）も考えられるが、付属語処理の標準語は、文末表現の統一など、確信度の影響を与える要素を調整することがある。そこで、本実施例では、付属語の標準化処理は行なっていない。
【００３４】
上記の標準化の処理は、通常は、ハードディスク２７内に備えられた標準化辞書を参照することにより行なわれる。標準化辞書には、上記の標準化処理に対応した辞書が含まれており、形態素解析を行なった後、各単語について辞書を参照し、各単語について複数の表記、複数の単語が登録されていれば、これを予め定めた一つの表記、一つの単語に置き換えるのである。
【００３５】
次に、本実施例において、確信度の入力を行なう際の処理について説明する。図６は、確信度の入力を行なう際の処理プログラムを示すフローチャートである。図示するように、このプログラムは、命題（文）の入力の際に実施されるものである。この処理が起動されると、まずキーボード１１から文を入力する処理を行なう（ステップＳ１００、１０５）。入力は文単位で、即ち句点が入力されるまでを単位として行なわれる。文が入力されると、文の標準化処理を行なう（ステップＳ１１０）。標準化処理は上述したか、用語を統一するための処理である。例えば、「熱がある」「ねつがある」「ネツがある」などを一つの標準的な表記「熱がある」に統一するといった処理である。この後、入力した文が命題としふさわしいか否かのチェックを行なう（ステップＳ１２０）。
【００３６】
ここで入力している文は、最終的にエキスパートシステムを構築し、病名の診断などに用いられる。従って、こうした目的から見て命題として無意味な文（例えば、「病気はやだな。」「病い時は病気だ」）や、命題として矛盾した文（例えば、「熱が高くて平熱だ」）などは、この段階で排除される。
【００３７】
入力した文が、命題として適切であると判断した場合には（ステップＳ１２０）、次に、入力文を形態素解析する処理を行なう（ステップＳ１３０）。形態素解析を用いれば、文を構成する単語を容易に切り出すことができる。こうした形態素解析は、例えば最小コスト法といった仮名漢字変換の技術として確立した技術を用いることができる。図７は、入力した文ｎが「結核だとだいたい微熱が出たりする。」である場合を示す。この文ｎを形態素解析すると、図示するように、「結核」「だと」「だいたい」「微熱」「が」「出」「たりする」といった単語を取り出すことができる。
【００３８】
次に、これらの単語について、辞書ＤＩＣを参照して、確信度のデータＣＮＦと演算方法を読み出す処理を行なう（ステップＳ１４０）。なお、本実施例では、確信度のデータは、仮名漢字変換用の辞書ＤＩＣに記憶したが、確信度ＣＮＦと演算方法だけを与えるように別の辞書として用意しても良い。図４に示した例では、「だいたい」について確信度「０．６」、演算方法としてＣｏｍｂ法が、「たりする」について確信度「０．８」、演算方法として乗算法が、それぞれ見い出された。こうした確信度の数値は、例えば「わずかに」「やや」「より」「だいたい」「普通」「多分」「かなり」「非常に」「極めて」といった程度を表わす語について、それぞれ「わずかに（０．１）」「やや（０．２）」「より（０．３）」「だいたい（０．４）」「普通（０．５）」「多分（０．６）」「かなり（０．７）」「非常に（０．８）」「極めて（０．９）」のように、何段階かに分けて登録されている。なお、この例では、０．１刻みにしたが、０．１５など、１／２０刻みや１／１００刻みで値を与えても良い。また、単語毎に使用する演算方法として、最適のものが指定されている。一般に確信度を上げる種類の単語（例えば「一層」「非常に」など）についてはＣｏｍｂ法が、確信度を著しく下げる種類の単語（例えば「聞いた」「らしい」など）については乗算法が、また確信度に対して他の語との関連が小さい種類の単語（例えば「平均的には」「通常は」など）については平均値法が、それぞれ指定される傾向にある。
【００３９】
次に、得られた確信度を用いて、文ｎの全体の確信度を演算する処理を行なう（ステップＳ１５０）。この実施例では、確信度の計算は、単語「たりする」について指定された演算方法、つまり乗算法を用いることになる。この手法の詳細は、既に説明したので繰り返さないが、この例では、文ｎの全体の確信度ｘｎは、
ｘｎ＝０．６＊０．８＝０．４８
となった。なお、文中に現われた単語がいずれも確信度を持っていないようはな場合には、その文の確信度は０．５に設定される。例えば「天気は崩れる。」といった命題文の場合には、確信度を調整するような単語は存在しないので、文全体の確信度は、値０．５とされるのである。次に、この文全体の確信度ｘｎを文ｎと組にして、ハードディスク２７に記憶する処理を行なう（ステップＳ１６０）。以上で、本実施例における確信度の入力処理を完了する。
【００４０】
確信度の演算方法について、補足する。辞書ＤＩＣに、次のように単語毎の確信度と演算方法が登録されているものとする。
0003770099.tif 000003
【００４１】
この場合、次の各文の確信度は、以下のように演算される。
例文１：「天気は崩れる。」
確信度  ０．５（文中に、確信度を有する単語がないからである）。
例文２：「天気はちょっと崩れるらしい。」
確信度ｘ２＝０．４＊０．５＝０．２
例文３：「天気はちょっと崩れるらしいと聞いた。」
確信度ｘ３＝（０．４＊０．５）＊０．５＝０．１
例文４：「天気はかなり激しく崩れる。」
確信度ｘ２′＝０．８＋０．９−０．８＊０．９＝０．９８
例文５：「天気はかなり激しく崩れるらしい。」
確信度ｘ３′＝０．９８＊０．５＝０．４９５
【００４２】
以上説明した本実施例の確信度入力方法によれば、キーボード１１から入力した文に含まれる単語について予め辞書ＤＩＣに用意した確信度と演算方法とを求め、これに基づいて文全体の確信度を与えることができる。従って、入力者は、命題（文）毎にいちいち確信度を数値入力したり、メンバーシップ関数を定義するといった煩わしい処理を行なう必要がない。また、文の確信度を、通常使用している自然な日本語文を介して設定できるので、数値を入力に伴う個人差などが生じにくいという利点も得られる。更に、確信度を単語毎に与えるだけでなく、確信度を集計する演算方法も単語毎に与えているので、確信度の決定をきめ細かく行なうことができる。また、本実施例では、入力文について標準化の処理を行なっているので、入力者により命題である文が微妙に異なると言うことがない。
【００４３】
（４）エキスパートシステムの構築：
以上説明した手法により、命題と確信度とが、ハードディスク２７内にデータベースとして蓄積された。そこで、次に、これをエキスパートシステムとして構成する手法について説明する。図８は、実現しようとするエキスパートシステムの概略構成図ある。図示するように、このエキスパートシステムは、知識ベースＡＢ、推論機構ＡＮ、知識獲得支援モジュールＡＳ、推論過程説明モジュールＡＥ、ユーザインタフェースＵＩなどから構成されている。上述した第１の実施例において命題と確信度を入力した処理は、知識獲得支援モジュールＡＳに相当し、その結果、得られた命題と確信度が、知識ベースＡＢに格納される。本実施例では、基本的にプロダクションシステムを用いており、知識ベースＡＢは、「鼻水が出ていれば風邪かも知れない。」「咳と微熱が続けば、結核の疑いがある。」といった「○○ならば、××である」というタイプの知識として、知識ベースＡＢは構成されている。
【００４４】
推論機構ＡＮは、こうして蓄積された知識ベースを用いて推論を行なうものである。推論は、ユーザインターフェースＵＩを介して入力された条件を用いて、前向きまたは後ろ向きの推論を適宜使い分けしつつ、行なわれる。ユーザインタフェースは、後述する第２実施例において説明するように、推論機構ＡＮから出した質問に、ユーザが回答するものを受け付け、これを推論機構ＡＮに渡す。例えば、「質問：どんな症状ですか？」「答え：鼻水が出て熱があります。」「質問：鼻水が出ているのですか？」「答え：はい。」「質問：熱があるのですね？」「答え：すごーく高いのです。」といったやり取りを介して、ユーザインタフェースＵＩは、推論機構ＡＮに、推論の基礎となる命題「鼻水か出ている」「熱がある」とそれぞれについてのユーザの確信度を渡す。
【００４５】
推論機構ＡＮは、これらの命題および確信度を用いて推論を行ない、結論を推論過程説明モジュールＡＥに出力する。推論過程説明モジュールＡＥは、推論の結果を、ユーザインタフェースＵＩを介して、使用者に提示する。例えば、上記の質問と回答から、熱が高いという命題の確信度は高いと判断し、「あなたは、風邪症状ですが、インフルエンザの可能性があります。」といった推論結果と、「鼻水が出ていて、熱がかなりあるからです」といった推論過程の説明を、例えばディスプレイ上に表示するのである。
【００４６】
（４）第２実施例：
次に、本発明の第２実施例について説明する。第２実施例は、第１実施例の処理により蓄積されたデータベースを、上述した手法でエキスパートシステムにおける知識ベースＡＢとして構築したケースにおいて、ユーザインタフェースＵＩが、ユーザの回答を推論機構ＡＮに渡す部分に適用されたものである。即ち、第２実施例の確信度入力は、上述した第１実施例と基本的には同じハードウェア構成を用い、推論機構ＡＮが、「質問：熱はありますか？」に対して、ユーザが答えた回答の確信度を入力するものである。第２実施例では、ユーザの音声を用いて、確信度の入力を行なう。
【００４７】
図９は、第２実施例における処理の概要を示すフローチャートである。この処理ルーチンは、エキスパートシステムが既にできあがっており、ユーザが、エキスパートシステムを利用する際に起動される。このルーチンが起動されると、まずモニタ２９に「症状を入力して下さい」という表示を行なう（ステップＳ２００）。ユーザは、この表示を見て、キーボード１１を用いて「熱があります」といった症状を入力する（ステップＳ２１０）。ユーザの入力を受け取ると、この文を解析し、推論機構ＡＮは、推論の条件が十分なものになるまで（ステップＳ２２０）、質問を繰り返す（ステップＳ２３０）。例えば、「どのくらい熱いのですか？」という質問を出力する。これに対してユーザは、キーボード１１から「すごく熱い」というように答えても良いが、本実施例では、マイク１３を用いて、回答を入力するように促される（ステップＳ２４０）。そこで、ユーザがマイク１３に向かって、「あつい」とか「あつーい」と返事をすると、これを入力し（ステップＳ２５０）、ユーザの発音に備わった特徴について解析する（ステップＳ２６０）。
【００４８】
ここで、音声の解析は、次の２点について行なわれる。一つは音声の強さであり、もう一つは音声の長さである。音声の強さは、簡便には、マイク１３から入力した音声の絶対値により認識することができるが、音声の絶対値はマイクと話者との距離や角度により変化しやすい。そこで、本実施例では、子音の部分と母音の部分との音声の強弱比を検出して音声の強さを判定している。いわゆる語気の強い言葉は、母音の部分に対する子音の部分の音が強いからである。母音の部分の検出は、音声に含まれるフォルマント構造を認識することにより検出することができる。音声に含まれるフォルマント構造を認識するためには、音声をフーリエ変換し、特定の周波数領域にピークが存在するかどうかを判定すればよい。こうして特定された母音部分の音の強さ（波高値の絶対値）と、この前後に存在する子音の部分（通常フーリエ変換により、含まれる周波数帯域が高い領域として認識できる）の音の強さとの比を採ることにより、子音の部分の強調を認識することができる。
【００４９】
一方、音声の長さは、次のように検出している。例えば「あつい」と「あつーい」を比べると、「つ」の継続期間が長いほど、話し手が確信を持っている、あるいは強調したいと考えていることが分かる。そこで、こうした音節が所定時間を超えて継続している部分があるかないかを検出するのである。一般に日本語の場合、継続できるのは母音の部分に限られるので、マイク１３から入力した音声をフーリエ変換し、フォルマント構造を見い出して母音の区間を特定し、この区間が通常の話し手の話のピッチから見て、２倍以上に及ぶ部分があれば、これを強調とみなすのである。
【００５０】
次に、解析した音声の特徴に基づいて、確信度を与える処理を行なう（ステップＳ２７０）。この場合、音声の強さと強調されている母音の長さを入力とするテーブルやマップを用意し、これを用いて、確信度を与えればよい。図１０に、音声の強さと特定の母音の長さに基づいて、確信度を与えるテーブルの一例を示す。ユーザインタフェースＵＩは、与えられた確信度ｘを、推論機構ＡＮに渡す。推論機構ＡＮは、入力された命題（「熱があります」）と、これについての確信度ｘとを組にして受け取り、知識ベースＡＢを参照して、推論を進める。推論が結論を導くことができる程度に進むまで、上記処理を繰り返す。
【００５１】
推論機構ＡＮが推論を完了したと判断すると（ステップＳ２２０）、この推論を結果をモニタ２９に表示し（ステップＳ２８０）、必要に応じて、推論の過程の説明を加え（ステップＳ２９０，Ｓ２９５）、本ルーチンを終了する。
【００５２】
以上説明した第２実施例によれば、使用者は、入力した命題に対する確信度をいちいち数値で入力する必要がなく、質問に対して、口頭でかつ普通の日本語で答えるだけで、確信度を入力することができる。従って、確信度の入力に煩瑣な作業を要求されることもなく、かつ数値入力における個人差や数値で入力するためについつい高い確信度を入れてしまう、といった弊害を生じることがない。エキスパートシステムは、「熱があります」といった単純な命題だけでなく、この命題に対する入力者の確信度も併せて入力することができるので、推論機構ＡＮを精密に運用して、精度の高い判断結果を示すことができる。
【００５３】
なお、上記実施例では、命題は、キーボード１１からの文の入力を基本としたが、音声認識を利用して命題を入力するようにしても差し支えない。更に、モニタ２９上にいくつかの選択肢を表示し、マウス１２を用いて選択することで入力するようにしても良い。例えば「熱があります」という入力に対して、「熱が高い」を異なる大きさの文字でいくつかボタン状に表示し、いずれかを入力者に選択させることで、確信度を受け付けるようにしても良い。あるいは文字の色を変えて、赤い文字を選択した場合には、確信度が高いといった関連づけを行なうことも可能である。いずれの手法にせよ、入力者の行なった入力に備わった特徴を解析して確信度を抽出することに変わりはない。上記の第２実施例において、確信度の判断を、音声の強弱や長短に代えて、あるいはこれらと共に、アクセントの強弱、基本周波数の高低などにより判断するものとしても良い。
【００５４】
以上、本発明の実施例といくつかの変形例について説明したが、本発明は上記実施例や変形例に何ら限定されるものではなく、その要旨を逸脱しない範囲内において、種々の態様により具現化されることは勿論である。例えば、上記実施例ではデータベースを構築してエキスパートシステムを作るものとしたが、単に確信度を入力し、コンピュータと人間の対話に味付けをするという利用にとどめても良い。人間との会話ができるコンピュータやロボットにおいて、対話相手である人間の発言を理解することは極めて重要な事項であり、意味論的な解析に加えて、話者の確信度を評価して応答を変えることは、自然なマンマシンインタフェースを実現する上で、極めて効果的である。また、電話の自動応答システムなどに適用し、お客様サービスなどの電話番号に電話してくるユーザの声から、クレームの緊急度を判断して、オペレータに接続する構成、１１０番などの緊急電話番号に掛けてきた人の要件の緊急性などの判断に用いた構成（結果的にいたずら電話などは自動応答で対処できる）、など種々なる態様で実施することができる。
【図面の簡単な説明】
【図１】本発明の第１の実施の態様を示すブロック図である。
【図２】本発明の第２の実施の態様を示すブロック図である。
【図３】本発明の実施例のハードウェア構成を示す説明図である。
【図４】仮名漢字変換辞書ＤＩＣの登録内容を説明する説明図である。
【図５】標準化の処理の概要を示す説明図である。
【図６】第１実施例における確信度入力処理ルーチンを示すフローチャートである。
【図７】確信度入力の一例を示す説明図である。
【図８】実施例におけるエキスパートシステムの概略構成を示す説明図である。
【図９】第２実施例における確信度入力処理ルーチンを示すフローチャートである。
【図１０】音声の特徴と確信度との関係を例示する説明図である。
【図１１】メンバーシップ関数の一例を示す説明図である。
【符号の説明】
１０…ネットワーク
１１…キーボード
１２…マウス
１３…マイク
１８…ルータ
２０…データベースサーバ
２２…ＣＰＵ
２３…ＲＯＭ
２４…ＲＡＭ
２５…タイマ
２６…表示回路
２７…ハードディスク
２９…モニタ
３０，４０…コンピュータ
ＡＢ…知識ベース
ＡＥ…推論過程説明モジュール
ＡＮ…推論機構
ＡＳ…知識獲得支援モジュール
【図１】
0003770099.tif 000004
【図２】
0003770099.tif 000005
【図３】
0003770099.tif 000006
【図４】
0003770099.tif 000007
【図５】
0003770099.tif 000008
【図６】
0003770099.tif 000009
【図７】
0003770099.tif 000010
【図８】
0003770099.tif 000011
【図９】
0003770099.tif 000012
【図１０】
0003770099.tif 000013
【図１１】
0003770099.tif 000014