トップ :: G 物理学 :: G06 計算;計数




【発明の名称】 自然言語応答装置及び方法並びに自然言語応答プログラムを記録した記録媒体
【発明者】 【氏名】韮塚 昇

【要約】 【課題】語句及び文章の意味を解析することで言葉による知識データを効率良く蓄積し、蓄積した文章による情報をもとにコンピュータとの対話によって必要な情報を取得する。

【解決手段】入力された自然言語の中で使用されている状態での定義語の使用方法、抽出方法、動作方法、回答方法を記述言語により記述した定義語記憶手段と、定義語記憶手段に記憶した意味決定情報を用いて上記入力手段に入力された自然言語を構成する定義語の組合せによる各定義語の意味推定手段と、意味推定手段により推定された定義語の抽出方法により入力された自然言語に含まれる情報を抽出する情報抽出手段と、情報抽出手段により抽出された情報を蓄積する知識データ蓄積手段と、知識データ蓄積手段により蓄積した知識データ情報に対して自然言語による質問を入力し、定義語の動作方法、回答方法の手続きと知識データ情報を使用し質問に対応する回答を生成する回答生成手段を備える。
【特許請求の範囲】
【請求項1】意味を特定することのできる漢字、ひらがな、カタカナ、英字、数字、記号及びその組合せにより構成される文字列を定義語と呼び、自然言語を入力する入力手段と、入力された自然言語を正規化された標準文字列へ変換する変換手段と、入力された自然言語の中で使用されている状態での定義語の使用方法、抽出方法、動作方法、回答方法を記述言語により記述した手続きと定義語の複数の属性とにより意味決定情報を記憶した定義語記憶手段と、上記定義語記憶手段に記憶した意味決定情報を用いて上記入力手段に入力された自然言語を構成する定義語の組合せによる各定義語の意味推定手段と、上記意味推定手段により推定された定義語の抽出方法により入力された自然言語に含まれる情報を抽出する情報抽出手段と、上記情報抽出手段により抽出された情報を蓄積する知識データ蓄積手段と、上記知識データ蓄積手段により蓄積した知識データ情報に対して自然言語による質問を入力し、定義語の動作方法、回答方法の手続きと知識データ情報を使用して質問に対応する回答を生成する回答生成手段とを備えることを特徴とする自然言語応答装置。
【請求項2】上記定義語記憶手段に記憶された意味決定情報は、入力された自然言語を構成する定義語が、その関係により互いに影響する状態を、定義語の使用方法へ記述言語によって記述した処理手続きを記憶し、記憶した処理手続きを使用して自然言語解析を行うことを特徴とする請求項1の自然言語応答装置。
【請求項3】上記定義語記憶手段に記憶された意味決定情報は、入力された自然言語を構成する定義語が、その関係により互いに影響する状態を、定義語の抽出方法へ記述言語によって記述した処理手続きを記憶し、記憶した処理手続きを使用して、入力された自然言語に含まれる情報を定義語の組合せによって表現される文字列で情報抽出することを特徴とする請求項1の自然言語応答装置。
【請求項4】上記定義語記憶手段に記憶された意味決定情報は、入力された自然言語を構成する定義語が、その関係により互いに影響する状態を、定義語の動作方法へ記述言語によって記述した処理手続きを記憶し、記憶した処理手続きを使用して、入力された自然言語に含まれる動作要求に対応する動作処理を行うことを特徴とする請求項1の自然言語応答装置。
【請求項5】上記定義語記憶手段に記憶された意味決定情報は、入力された自然言語を構成する定義語が、その関係により互いに影響する状態を、定義語の回答方法へ記述言語によって記述した処理手続きを記憶し、記憶した処理手続きを使用して、入力された自然言語に含まれる情報取得要求に対応する回答生成処理を行うことを特徴とする請求項1の自然言語応答装置。
【請求項6】文字変換、語彙の意味決定、文の意味決定、文に含まれる情報抽出、語彙を核とした語彙構成変更及び構文構成変更、回答文の生成を変換行列を使用して行うことを特徴とする請求項1の自然言語応答装置。
【請求項7】自然言語を入力し、入力された自然言語を正規化された標準文字列へ変換し、入力された自然言語の中で使用されている状態での定義語の使用方法、抽出方法、動作方法、回答方法を記述言語により記述した手続きと定義語の複数の属性とを記憶した意味決定情報と、上記意味決定情報を用いて入力された自然言語を構成する定義語の組合せによる各定義語の意味推定を行い、推定された定義語の抽出方法により入力された自然言語に含まれる情報を抽出し、抽出した情報を知識データとして蓄積し、蓄積した知識データ情報に対して自然言語による質問を入力し、定義語の動作方法、回答方法の手続きと知識データ情報を使用して質問に対応する回答を生成することを特徴とする自然言語応答方法。
【請求項8】自然言語を入力し、入力された自然言語を正規化された標準文字列へ変換し、入力された自然言語の中で使用されている状態での定義語の使用方法、抽出方法、動作方法、回答方法を記述言語により記述した手続きと定義語の複数の属性とを記憶した意味決定情報と、上記意味決定情報を用いて入力された自然言語を構成する定義語の組合せによる各定義語の意味推定を行い、推定された定義語の抽出方法により入力された自然言語に含まれる情報を抽出し、抽出した情報を知識データとして蓄積し、蓄積した知識データ情報に対して自然言語による質問を入力し、定義語の動作方法、回答方法の手続きと知識データ情報を使用して質問に対応する回答を生成することを特徴とする自然言語応答プログラムを記録した記録媒体。
【請求項9】自然言語を入力する入力手段と、入力された自然言語を正規化された標準文字列へ変換する変換手段と、入力された自然言語の中で使用されている状態での定義語の使用方法、抽出方法を記述言語により記述した手続きと定義語の複数の属性とにより意味決定情報を記憶した定義語記憶手段と、上記定義語記憶手段に記憶した意味決定情報を用いて上記入力手段に入力された自然言語を構成する定義語の組合せによる各定義語の意味推定手段と、上記意味推定手段により推定された定義語の抽出方法により入力された自然言語に含まれる情報を抽出する情報抽出手段と、上記意味推定手段と情報抽出手段の解析結果を用いて、定義語の組合せにより文を構成することにより、入力された自然言語を正規化された標準文字列へ変換する手段とを備えることを特徴とする標準文字列自動変換装置。
【請求項10】上記定義語記憶手段に記憶された意味決定情報は、入力された自然言語の中で使用されている状態で、入力された自然言語を構成する定義語が、その関係により互いに影響する状態を定義語の使用方法、抽出方法に区分して記述言語により記述した処理手続きを使用して、入力された自然言語を正規化された標準文字列へ変換することを特徴とする請求項9の標準文字列自動変換装置。
【請求項11】上記定義語記憶手段に記憶された意味決定情報は、入力された自然言語を構成する定義語が、その関係により互いに影響する状態を、定義語の使用方法へ記述言語によって記述した処理手続きを記憶し、記憶した処理手続きを使用して自然言語解析を行うことを特徴とする請求項9の標準文字列自動変換装置。
【請求項12】上記定義語記憶手段に記憶された意味決定情報は、入力された自然言語を構成する定義語が、その関係により互いに影響する状態を、定義語の抽出方法へ記述言語によって記述した処理手続きを記憶し、記憶した処理手続きを使用して、入力された自然言語に含まれる情報を定義語の組合せによって表現される文字列で情報抽出することを特徴とする請求項9の標準文字列自動変換装置。
【請求項13】文字変換、語彙の意味決定、文の意味決定、文に含まれる情報抽出、語彙を核とした語彙構成変更及び構文構成変更を定義語変換行列を使用して行うことを特徴とする請求項9の標準文字列自動変換装置。
【請求項14】自然言語を入力し、入力された自然言語を正規化された標準文字列へ変換し、入力された自然言語の中で使用されている状態での定義語の使用方法、抽出方法を記述言語により記述した手続きと、定義語の複数の属性とを記憶した意味決定情報と、上記意味決定情報を用いて入力された自然言語を構成する定義語の組合せによる各定義語の意味推定を行い、推定された定義語の抽出方法により入力された自然言語に含まれる情報の抽出を行い、上記解析結果を用いて、定義語の組合せにより文を構成することにより、入力された自然言語を正規化された標準文字列へ変換する手段とを備えることを特徴とする標準文字列自動変換方法。
【請求項15】自然言語を入力し、入力された自然言語を正規化された標準文字列へ変換し、入力された自然言語の中で使用されている状態での定義語の使用方法、抽出方法を記述言語により記述した手続きと、定義語の複数の属性とを記憶した意味決定情報と、上記意味決定情報を用いて入力された自然言語を構成する定義語の組合せによる各定義語の意味推定を行い、推定された定義語の抽出方法により入力された自然言語に含まれる情報の抽出を行い、上記解析結果を用いて、定義語の組合せにより文を構成することにより、入力された自然言語を正規化された標準文字列へ変換する手段とを備えることを特徴とする標準文字列自動変換プログラムを記録した記録媒体。
【請求項16】意味を特定することのできる漢字、ひらがな、カタカナ、英字、数字、記号及びその組合せにより構成される文字列を定義語データとして記録した記録媒体であって、請求項8、15のプログラムを記録した記録媒体において、定義語に対する定義語の読みを記述した1以上の文字列と、定義語の品詞と、定義語の品詞による活用と、定義語の正規化された標準文字列の表記方法を記述した属性と、定義語の使用方法、抽出方法、動作方法、回答方法へ、定義語が使用された文章の其々の方法を記述言語により記述した手続きと、定義語に対し、必要に応じて想像することのできる1以上の他の定義語と、定義語と同じ意味を表す1以上の他の定義語とを必要に応じて記憶した定義語データを格納する領域とを備えていることを特徴とする定義語データを記録した記録媒体。
【発明の詳細な説明】【0001】
【発明が属する技術分野】本発明は、自然言語で表現された文字列に含まれる情報を文字列により抽出して蓄積した知識データに対して、自然言語による質問を行い、蓄積した情報を取得する自然言語応答装置及び方法に関する。
【0002】
【従来の技術】従来の形態素解析において、語彙の意味を確率、使用頻度、集合論、木構造を使用して予め定義し、語彙の組合せによる論理値や集合論による領域によって文章の意味を判断している。また、言葉によるコンピュータ操作は、特定の単語を記憶し、単語に対応した動作、単語、文章を登録しておき、論理回路による組合せにより動作を実行している。
【0003】文章の文脈解析において、文法解析手法が適用されている。これは、文法を定型パターンに分類し、このパターンに合致した語彙の意味接合条件により意味を確定する方法が取られている。
【0004】しかし、文章を構成する語彙の意味は、語彙の互いの関係により決定され、その結果として文法が構成される必要があり、語彙の意味や文法を固定的に定義しておくことは、これらの関係を限定することになる。語彙や文法による文章の解析は、固定パターンを増大させてしまい、また、限定したパターンによる文章の解析は、パターン認識による近似が行われることになり、正確な情報を把握することが難しい。
【0005】上述したような意味解析は、特開平4−191338号広報「質問回答方法および装置」、特開平5−230701号広報「情報抽出装置」、特開平7−078355号広報「自然言語の意味解析処理装置」、特開平10−304583号広報「自然言語処理装置及び方法」などがある。
【0006】
【発明が解決しようとする課題】自然言語で表される文章の意味は、文章を構成する語彙の組合せにより、一方の語彙が他方の語彙との関係により、互いに影響した結果として文章を構成する1つ1つの語彙の意味が決定され、文章全体が指し示す意味が決定される必要がある。また、文章は、文章全体が指し示す意味を含んでいるので、文章を構成する語彙が表現するイメージを決定し、文章を構成する個々の語彙の意味を確定する方法を用いる必要がある。
【0007】そこで本発明は、構文解析のための文法パターンを必要としない形態素解析を実現するために、文章を構成する語彙が他の語彙による影響を自立して判断し、文章を構成する語彙の組合せを語彙が変更すること(以下、このことを他の語彙に対する影響と定義する)により文章を構成する要素となる語彙を確定し、語彙の組合せによる意味を推定し、文章全体の概要となる意味を推定し、文章に含まれる情報を抽出し、抽出した情報を自然言語により蓄積することで、自然言語により蓄積した情報を自然言語により取得することを目的とする。
【0008】
【課題を解決するための手段】上記目的を解決するために本発明に係る自然言語応答装置及び方法は、文を構成する最小単位を定義語とし、定義語は、意味を特定することのできる漢字、ひらがな、カタカナ、英字、数字、記号及びその組合せによる文字列に対して定義される。自然言語による文章を入力し、文章の構成要素と成り得る全ての定義語が他の定義語へ与える影響を記述言語により記述した処理手続きを定義語の使用方法、抽出方法、動作方法、回答方法へ必要に応じて定義しておく。従来、意味や使用方法による違いを人間が一般常識として判断し、選択していた語句を、記述言語で記述した手続きを定義語のデータの一部として定義することにより、文章を構成する定義語によって作られた組合せを、個々の定義語へ定義された手続きを実行することで、自己または、他の定義語への影響を定義語自身が判断し、文章を構成する定義語の組合せ構造を変化させ、文章を構成する最適な定義語の連結状態を作り出し、【0009】文章に含まれる情報を抽出する場合や質問に対する回答を行う場合についても語句の組合せによって生じる条件を定義語の動作方法、回答方法へ定義されている記述言語による手続きを実行し、蓄積情報の検索条件を作り出すことで、質問に対して、個々の状況に応じた回答を的確に作り出すことができる。
【0010】上記定義語と定義語に対する上記方法を記述した手続きと定義語の言語学上の属性を定義したデータを定義語情報とした場合、文は定義語の連結状態として定義することができ、個々の定義語情報が小さなプログラムとして動作することのできるデータを記憶していて、文を構成する定義語情報の組合せにより形態素解析処理の手続きを決定することができる。このことは、組立て工場などの生産ラインにロボットを配置して1つの製品を生産することができるが、ロボットの機能や構成を変更することで他の製品を生産することができる。これは、個々のロボットは限定された機能を使用しているだけであるが、全体としての生産ラインでは、個々のロボットの構成やバランスをとることで、あらゆる製品を生産することができる。定義語情報に記述された上記手続きがこのロボットに相当し、上記手続きは限定的な動作定義がなされ、定義語情報の接続によって構成される文は生産ラインに相当する。ロボットである定義語情報の動作により生産物として、文の構文を解析し、文に含まれる情報を取得することができる。
【0011】このことは、文章全体の文法を解釈する必要が無く、定義語が他の定義語に与える影響を定義語にデータとして記述することで、定義語の組合せによるあらゆる文章表現に対応できることを特徴としている。
【0012】上記操作を行い、文章に含まれる情報を個別の文として取り出すことで、文章や語彙を数学モデルや数値に変換する必要が無いため、解析で必要とする情報量や記憶するデータ量を少なくすることができ、解析時間を短縮することで自然なスピードで対話を行うことができる。また、文章に含まれる情報を定義語の組合せによる文字列によって情報を知識データとして蓄積することで、数値化することが難しい言葉の表現自体に含まれる情報や意味を少ないデータで蓄積することができることを特徴としている。
【0013】
【発明の実施の形態】上記課題を解決するために本発明の実施の形態について、事例をあげて、詳細に説明する。本例では、簡単な言葉のやりとりとして、情報1「公園へ行き弁当を食べた。」
質問1「何を食べましたか。」
質問2「何処で弁当を食べましたか。」
質問3「公園で何を食べましたか。」
質問4「弁当を食べましたか。」
質問5「公園で弁当を食べましたか。」
質問6「弁当を公園で食べましたか。」
質問7「公園でリンゴを食べましたか。」
を想定し、上記情報1に対して質問1から7による会話を想定した場合、人間は簡単に回答することができるが、情報1をコンピュータに蓄積しておき、上記質問を人間が入力することで、コンピュータが質問に対する回答を行うことは、従来の技術では、簡単に得られていない。このことは、従来の方法が、限定した言葉や文法などによってコンピュータとの対話を実現しようとしているためである。本発明では、情報1などの情報を蓄積することで、上記質問1から7などの多様に表現された質問に対して的確に回答する方法を詳細に記述して、自然言語応答装置の説明を行う。
【0014】本発明は、例えば図1に示すような自然言語応答装置1に適用される。この自然言語応答装置1は、操作者が情報や文字列を入力することで自然言語応答装置1を操作するための入力部2を備える。入力部2は、例えばキーボードやマウス等のポインティングデバイスから成り、操作者により操作されることで入力処理の対象となって、入力部で変換された自然言語を示す文字列として文字変換部3へ出力される。
【0015】また、上述した入力部2は、キーボード等に限らず、例えば、マイクロホンから入力した音声信号を音声認識を行うことで自然言語を文字列へ変換するものであっても良い。また、データファイルへ書き込んだ外部テキストデータを入力するものであっても良く、自然言語を入力できる手段であれば広く適用することができる。
【0016】上記、情報1の文を自然言語により入力部2で入力した場合、文字変換部3へ出力される文字列が、例えば、平仮名であるとすると、上記文字変換部3は、入力部2によって変換された情報1の文字列として、「こうえんへいきべんとうをたべた。」を入力し、定義語記憶部4に格納された定義語情報を用いて正規化された標準文字列へ変換する処理を行う。定義語情報20は、図2に示すような領域R1からR14を持ち、従来の形態素解析において辞書と呼ばれるものに相当するが、単に、語彙や品詞などの固定情報を記憶させたものではなく、形態素解析処理の一部を定義語情報20のデータとして定義されている。このことは、文を構成する語彙の接続情報や構文を判定している従来の主プログラムから、解析処理を取り除き、標準解析処理のみを主プログラムに設定しておく。主プログラムの標準解析処理で行えない文の解析処理については、定義語情報のデータとして解析処理を記述言語による手続きとして定義する。従って、自然言語応答装置1の解析処理は、文を構成している定義語情報20に記述された上記手続きの組合せにより決定される。
【0017】図2に、定義語情報20のデータ構造を示す。定義語情報20は、漢字、ひらがな、カタカナ、英字、数字、記号及びその組合せにより意味を特定できる文字列を定義語として記録している。定義語は、意味を特定できる文字列であれば、ファイル名や画像データなどを文字列で表現したものでも良く、言葉である必要はない。定義語R1には属性として、識別番号R2、読みR3、送り仮名R4、品詞R5、特殊活用R6、活用R7、表記方法R8を記憶し、定義語R1の意味を電子化するために意味として、標準選択手順を変更するための手続きを記述した使用方法R9、動作手続きを記述した動作方法R10、標準の文章意味抽出手順を変更するための手続きを記述した文章意味抽出方法R11、標準回答生成手順を変更するための手続きを記述した回答生成方法R12、定義語から想像することのできる他の定義語を必要に応じて1以上記述した関連定義語R13、同じ意味を持つ他の定義語を必要に応じて1以上記述した同意定義語R14を記憶している。
【0018】識別番号R2は、定義語R1へ割り当てられた一意の番号で、同音異義語や読み方の違いにより意味が異なる場合に定義語R1を特定するために使用される。”金(きん)”と”金(かね)”では表記”金”は同一であるが読み方の違いによって使用方法や意味が異なる。このような語彙を区別するために識別番号R2によって定義語R1の区別を行っている。
【0019】読みR3は、定義語R1の発音を定義語R1の1文字ごとに分割した平仮名を使用して定義する。定義語R1として”構造”を定義した場合、読みR3では”こう□ぞう”(□は空白文字を表す)と分割文字として空白文字で区切って定義する。このことにより、”構ぞう”、”こう造”、”こうぞう”を”構造”として検索することが可能となる。送り仮名R4は、慣用句などの活用で送り仮名を必要とする場合に1以上の送り仮名を定義する。動詞、形容詞などの送り仮名は、定義語R1、特殊活用R6、活用R7によって定義する。また、送り仮名省略検索を行うために、”行う”や”行なう”などの表記について、R3へ”おこな”と登録し、定義語R1の表記方法R8の属性の一部として、送り仮名省略検索を行う属性を定義する。この送り仮名省略検索属性を持つ定義語R1は読みR3の最後の文字と送り仮名が同一である場合、R3の最後の1字を省略して検索対象とすることで、”行う”や”行なう”を標準文字列”行う”として検索することができる。
【0020】品詞R5は、言語学で使用する文法上の品詞を定義する。また、人名に対する姓名の区別や単位を拡張品詞としてR5へ定義する。
【0021】特殊活用R6は、サ変動詞活用、形容動詞活用、連体形の活用、副詞の活用、ク活用、シク活用、タリ活用、ナリ活用などの特殊な活用について定義する。定義語として”定義”を定義した場合、特殊活用R6へサ変動詞活用であることを定義する。これにより、”定義する”、”定義した”、”定義しない”などの助詞、終助詞、格助詞などを含んだ活用変化を定義しておき、この活用変化の種別によって、文法上の現在形、過去形、進行形、肯定、否定、疑問などの文章の形態や論理値を認識することができる。
【0022】活用R7は、特殊活用R6以外の動詞活用で、五段活用、上一段活用、下一段活用、上二段活用、下二段活用、カ行変格活用、サ行変格活用、ナ行変格活用、ラ行変格活用などの文法上の動詞活用を定義する。これにより、特殊活用R6と同じように、文法上の現在形、過去形、進行形、肯定、否定、疑問などの文章の形態や論理値を認識することができる。
【0023】表記方法R8は、標準化した表記形式を定義する。”キロメートル”を”Km”として表記することや”林檎”を”リンゴ”と表記することを標準文字列として定義する。また、”行う”や”行なう”などの送り仮名の送りについて”行う”と表記することを正規化された標準文字列として定義する。
【0024】使用方法R9、動作方法R10、文章意味抽出方法R11、回答生成方法R12は、自然言語解析処理手順を変更するためのプログラム記述言語で記述された手続きであり、文章中の定義語R1の関連性を条件に、定義語の組合せを変更する手続きを定義する。
【0025】関連定義語R13は、定義語R1から想像することのできる他の定義語R1を必要に応じて1以上定義する。定義語R1として”リンゴ”を定義した場合、”食物”、”果物”、”木”、”赤”、”美味い”などの定義語R1を関連定義語R13として定義することができる。これにより、定義語R1の組合せにより生じる統一された意味をこの関連定義語R13を使用して推定することができる。同意定義語R14は、同じ意味で表現方法が異なる定義語を必要に応じて1以上定義する。”ゴールド”と”金(きん)”は表記が異なるが同じ”貴金属の金”を指している。文章中に”ゴールド”と表記された場合、”金(きん)”として認識することができる。
【0026】図1の文字変換部3は、上記文字列「こうえんへいきべんとうをたべた。」に対して定義語記憶部4から定義語情報20を取得し、上記文字列を構成することのできる組合せを作成する。この組合せは、定義語R1が上記文字列の位置情報をもとに、同一位置から始まる定義語情報20を1つの行とし、複数の行を1つの列にまとめ、各列の位置順に接続する。この組合せの状態を定義語変換行列と呼び、図3に示す。図3の定義語変換行列は、第1列に入力文字列の第1文字である”こ”から始まる語彙を列にまとめ、第2列は、入力文字列の第2文字”う”から始まる語彙を列にまとめている。この定義語変換行列M1は、上記入力文字列に対する初期状態を示している。定義語変換行列M1で定義語を矩形で囲んだ表現は、図2に示す定義語情報20のR1からR14により構成されていることを表し、矩形内の語彙は定義語R1を表している。
【0027】上記定義語変換行列M1を構成する列は、入力文字列に対応する変換候補を入力文字列の開始位置によりまとめているので、定義語R1の選択によって使用しない列が存在する。図3は、第1列の第1行に入力文字列”こうえん”に対する変換候補として”後援”が選択されていることを示している。この場合、入力文字列の一部である”こうえん”を第1列の変換領域と呼ぶ。第1列の変換領域が”こうえん”であると仮定すると、第2列及び第3列の変換領域は第1列の変換領域と重なり第1列に対して接続できない。図3の第2列、第3列が1段下がって表示されているのは、接続できない状態を示している。第1列へ接続できるのは、第1列の変換領域が接する第4列であり、変換領域”へいき”に対して”併記”が変換候補となっている。第4列に接続できるのは、第7列の変換領域”べんとう”に対して変換候補”弁当”である。この場合、3つの変換候補は全て名詞であることは明白であるが、名詞結合を行って新しい名詞と判断するためには、定義語情報20の関連定義語R13による意味の統一性が必要条件となる。
【0028】上記定義語情報20の関連定義語R13は、定義語R1から想像することのできる他の定義語により定義する。このことは、定義語R1の文字列や言葉から想像できるイメージを他の言葉によって定義することで、定義語R1が属するグループを概念的にとらえることができ、固定化したグループを形成する必要がない。関連定義語R13へ複数の言葉を定義することにより、複数の異なる概念グループを定義したり、同じような概念グループを定義することで、より狭域的な概念グループなどを同時に形成することができる。例えば、名詞の”犬”について、”動物”、”生物”などの言葉により広域的意味を定義し、同時に、”秋田犬”、”シェパード”、”ブルドッグ”などの犬種を定義することで、犬自体のグループを構成することができ、登録語の相互関係や依存関係を意識する必要がない。
【0029】上記変換候補は、関連定義語R13を使用して意味の統一性を判断することで名詞結合した場合に意味を創出できるかを判定することができる。関連定義語R13は、定義語R1から創造することのできる他の定義語であれば何でも定義することができ、上記3つの名詞に対して関連定義語R13を想定すると、上記3つの名詞について、”後援”に対して、”人”、”会場”、”会”、”講堂”などのR13、”併記”に対して、”記述”、”説明”、”並べる”などのR13、”弁当”に対して、”食物”、”食事”、”愛妻”、”家庭”などのR13を定義する。上位3つの名詞のR13から意味の統一性を判定する共通した言葉がない。さらに、R13に定義されている言葉(例えば、”人”や”記述”など)の定義語情報20を取得し、関連定義語R13を比較しても、2次の関連定義語R13による共通した言葉を見出すことはできない。従って、上位3つの名詞に対する意味の統一性が無いことが判定でき、3つの名詞を結合することができない。また、上位2つの名詞”後援”と”併記”の結合についても結合できないと判定することができる。以上のことから、2番目の変換候補である”併記”が変換候補とならないことが確定できる。図3の変換行列M1の第4列について、変換領域”へいき”の他の変換候補について上記操作を行うと、”兵器”、”平気”についても名詞結合による意味の統一性が無いことが判定できる。この結果から、第1列の変換領域を”こうえん”と仮定した場合、第1列の変換領域へ接続する変換領域を”へいき”としたことが誤りであると判定できる。第4列の変換領域を”へいき”に対する変換候補を第4列の最下位行へ移動すると、変換領域は”へ”となる。
【0030】第4列の変換領域を”へ”と仮定した場合、第4列の変換候補は格助詞”へ”となる。格助詞”へ”の定義語情報20の使用方法R9に対して、”へ”の使用方法を記述言語により記述しておく。図4は、格助詞”へ”の使用方法R9へ登録されている記述言語で記述された使用方法の例を示したものである。この使用方法R9へ記述されている内容は、格助詞”へ”の接続条件として、”名詞+へ+動詞”、”名詞+へ+形容詞”、”名詞+へ+副詞”または、”名詞+へ”の優先順位を持つ接続条件を定義し、格助詞”へ”の後ろへ接続される品詞を属する列の先頭へ移動することを指定している。但し、移動できるのは、”へ”の前にある名詞と移動する品詞の意味の統一性が必要条件となる。第4列の変換領域へ接続するのは第5列となり、第1列の変換領域”こうえん”に対する名詞属性を持つ変換候補と第5列の変換領域”いき”に対する変換候補の組合せを、上記意味の統一性の判定処理を行うと、接続条件の内、”名詞+へ+動詞”について、第1列第2行の”公園”と第5列第1行の”行き”によって、”公園+へ+行き”が成り立つことが判定できる。これは、名詞の”公園”に対して、”場所”、”遊び”などのR13、動詞の”行く”に対して、”場所”、”建物”などのR13を定義することができ、関連定義語”場所”によって意味の統一性があると判定することができる。従って、”こうえんへいき”は”公園へ行き”と確定することができる。残りの”べんとうをたべた”についても、同様な処理を行うことができる。接続詞”を”の使用方法R9へ接続条件として、”名詞+を+動詞”、”名詞+を+形容詞”、”名詞+を+副詞”、”名詞+を”などを定義することで、”を”の前にある名詞と”を”の後ろにある品詞の意味の統一性を考慮することで、”弁当を食べた”が成り立つことが判定できる。従って、図3に示す変換行列M1は最終的に、図5に示す変換行列M1の構造となる。図5の接続している列の先頭行にある定義語を使用することで、入力文字列に対する変換結果とすることができる。
【0031】図1の情報抽出部5は、上記文字変換部3で作成された図5に示す定義語変換行列M1を使用して入力文字列に含まれる情報を抽出する。情報の抽出は、文を構成する最小単位に分割することで行う。通常、文の分割は”名詞+動詞”の形態を1つの単位として行うが、定義語情報20の文章意味抽出方法R11に抽出方法が記述されている場合は、記述されている手続きを実行することによって行う。図5の変換結果”公園へ行き弁当を食べた”について、”名詞+動詞”の単位に分割すると、”公園へ行き”と”弁当を食べた”の2つに分割することができる。2つに分割した上記文が入力文字列に対応する文字列”こうえんへいき”と”べんとうをたべた”を取得して、図6に示す分割した文の其々の定義語変換行列M2、M3を上記変換方法を使用して作成する。
【0032】上記定義語変換行列M2、M3は、M1の構成要素である定義語を文を構成することのできる最小単位に分割した結果であり、定義語情報20の使用方法R9や関連定義語R13の影響を最小に抑えた結果となっている。このため、M2、M3は直接的な語彙の関係により変換されている。もし、M1とM2、M3の結果が異なる場合は、M2、M3の変換結果の方が信頼度が高い。このような場合、M2、M3の結果をM1へ反映させることで、より信頼性を高めることができる。これは、一般的に、M1の変換結果が正しいかどうかをM2、M3、…Mn(nは入力文字列に含まれる情報数を示す)により判定でき、もしM1の変換結果が誤っている場合は、M2、M3、…Mnを使用してM1を自動修正することができる。
【0033】上記入力文字列に対する定義語変換行列M1は、定義語による標準文字列変換結果であり、定義語変換行列M2、M3は、入力文字列に含まれる情報である。図1の情報蓄積部6は、上記定義語変換行列M1、M2、M3を図7に示す構造で文単位に作成し、図1の知識データ記憶部7へ記憶する。図7の構造は、上記入力文字列について言えば、M2として”公園へ行った事実”、M3として”弁当を食べた事実”、M2とM3連結により、”公園へ行ってから弁当を食べたという時間経過及び条件”を示している。
【0034】図1の知識データ記憶部7へ蓄積される情報は、図7に示すデータ単位を図8に示す階層構造を使用して蓄積される。図8の階層構造は、必要に応じて作成されるが、例えば、情報を蓄積するための文章をファイルへ記述し、記述内容について章番号や節番号を章や節のタイトルへ付すことにより、階層構造を作り出す。階層構造は、定義語変換行列M2、M3…Mnが連結されたM1に、他のレコードを連結するためのアドレスポインターPV(P2)、NX(P3)を設ける。タイトル文章については、アドレスポインターBP(P1)、PV(P2)、NX(P3)を設ける。階層構造を作るタイトル文章については、階層終了データP4を設け、階層開始位置のP1にP4のレコードの先頭アドレスを、P4にP1のレコードの先頭アドレスを記憶する。タイトル1(M1)の文章にM2、M3を連結し、M1にP1、P2、P3を設けた全体をレコード1(R1)とし、R1からR6までの接続関係を示している。 R1は階層構造を持ち、R1の終了レコードとしてR6を定義し、R1のP1へR6の先頭アドレスを記憶し、R6のP1へR1の先頭アドレスを記憶する。P2に1つ前のレコードの先頭アドレスを記憶し、P3は1つ先のレコードの先頭アドレスを記憶する。R1及びR6は、特異レコードとし、R1のP2へR6の先頭アドレスを記憶し、R6のP3へR1の先頭アドレスを記憶する。R1からR6のP1、P2、P3に対して上記レコードの先頭アドレスを記憶することにより、文章で記憶した情報の階層構造を作り出し、1行ごとに管理された文章全体の位置関係を構築し、各行のレコードを双方向型循環サーチチェインをP1、P2、P3により構築することにより、必要な情報の範囲を推定し、高速検索を可能とすることができる。
【0035】入力文字列に含まれる情報が不足している場合、文字変換部3及び情報抽出部5において、上記知識データ記憶部7へ蓄積された知識データを検索することにより、不足情報の推定を行う。例えば、”ろがつかえるようになった”を変換する場合、”ろ”を変換するための情報が不足し、”炉”又は”櫓”と変換して良いか判断できない。このような場合、知識データ記憶部7に、”舟に乗った”と変換されている情報がある場合、”櫓”の図2に示す関連定義語R13へ”舟”を定義しておくことにより”舟”の影響によって”櫓”と変換すると判断して”櫓が使えるようになった”と変換できる。知識データ記憶部7に、”皿を作った”と変換されている場合、”皿”の関連定義語R13へ”陶器”、”陶芸”、”ガラス”、”瀬戸物”と定義し、”炉”のR13に”焼く”、”陶芸”、”溶かす”などを定義しておくことにより、”炉”と変換すると判断して”炉が使えるようになった”と変換できる。知識データ記憶部7に、対応する知識データが存在しない場合は、”炉”や”櫓”の関連定義語R13を使用して何に使う”ろ”なのかを質問することで、変換候補を確定することができる。
【0036】図9は、上記操作による変換結果及び情報抽出結果を画面へ表示した一例を示したものであって、キーボードから入力文字列”こうえんへいきべんとうをたべた”(a1)を読み込み、定義語記憶部4を検索し、定義語変換行列M1、M2、M3を作成し、定義語データの意味を考慮して、定義語変換行列M1、M2、M3の解析結果を表示し、抽出した情報を知識データ記憶部7へ蓄積した内容を示している。a2の表示は、入力した文字列を示す。a3は、定義語変換行列M1、M2、M3を用いて変換し、定義語単位に空白文字で区切って、図2の定義語情報20の表記方法R8に従って表示している。a4の表示は、変換結果を品詞ごとに空白文字で区切って表示している。a5の表示は、a3の変換結果と、定義語R1の読みR3を用いて、定義語ごとに空白文字で区切って読みR3を表示している。a6、a7の表示は、a2の文章に定義されている情報を抽出し、抽出情報ごとに表示している。
【0037】上記情報蓄積方法により知識データ記憶部7へ蓄積された知識データについて自然言語により質問を受け付ける。情報の蓄積と質問は、マウスなどのポインティングデバイスにより動作切り替えを行う。また、文の解析結果である定義語変換行列から、動詞の定義語情報20の特殊活用R6、活用R7から疑問文であると判断することで動作切り替えを行う。上記情報1の入力文字列を情報として蓄積し、上記質問1を入力した場合の回答方法について記述する。上記変換及び情報抽出方法により、図1の入力部1で入力された質問1”なにをたべましたか”を文字変換部3へ出力し、変換した結果を情報抽出部5が入力して、図10に示す定義語変換行列が作成される。質問1に含まれる情報はM2のみ存在し、M1とM2の結果は同じとなり、変換結果は、”何を食べましたか”となる。
【0038】図1の回答生成部8は、上記定義語変換行列M1、M2を入力し、質問1に対する回答を生成する。回答は、回答の鍵となる定義語に対して、定義語情報20の回答生成方法R12へ記述言語を使用して回答方法を定義することにより生成することができる。上記質問1の場合、代名詞”何”の定義語情報20の回答生成方法R12へ回答方法を記述しておく。図11は、代名詞”何”のR12への記述例を示している。図11に示した回答生成方法は、”何+接続詞+動詞”、”何+格助詞+動詞”の質問形態に対して、動詞の”食べた”の関連定義語R13を使用して、知識データ記憶部7に蓄積された知識データのM2、M3、…Mnから一致する動詞に接続する名詞と質問1を検索した接続詞及び動詞を回答文とすることを示している。従って、上記手続きは、図6のM3から名詞である”弁当”と質問1の”を”と情報1の動詞である”食べた”を連結し、図2の活用R7を使用して、動詞”食べた”の回答形として”食べました”を取得することにより、回答文”弁当を食べました”を生成することができる。
【0039】図1の回答表示部9は、上記回答文を出力装置へ出力することにより、情報1に対する質問1の回答として、”弁当を食べました”を、例えば、ディスプレイや音声出力によって出力することで、自然言語による応答を実現する。
【0040】上記質問2「何処で弁当を食べましたか。」を入力した場合、格助詞”で”の文章意味抽出方法R11へ”名詞+で”、”代名詞+で”を抽出単位とし、残りの文を”名詞+動詞”で抽出する手続きを記述しておく。この場合、R11の抽出結果として”何処で”と”弁当を食べました”を定義語変換行列M2、M3とすることができる。質問文において、代名詞を含まない抽出情報は、知識データを検索する条件となる。情報1はこの条件を満足するので、回答対象文と判断することができる。代名詞”何処”の回答生成方法R12に、知識データから、関連定義語R13に”場所”を示す名詞を検索して回答条件とする手続きを記述しておく。これにより”公園で”の回答条件を作り出すことができ、回答として”公園で食べました”を出力することができる。上記質問3は、逆に、”公園で”が検索条件となり、上記処理と同様に行うことで、”弁当をたべました”を出力できる。上記質問4は、質問1の代名詞”何”が名詞”弁当”となっているため、質問4自体が検索条件となる。この場合、”はい”または”いいえ”が回答となり、質問4の条件に一致する知識データが存在するので、回答として、”はい+動詞”の形態で、”はい食べました”を出力することができる。上記質問5は、”公園で”と”弁当を食べた”の2つの条件が存在し、質問4と条件数が異なるだけで、同じ処理で同じ結果となる。上記質問6は、情報抽出条件が質問2で、検索条件は質問5と同じであり、回答は、質問5と同じ結果となる。上記質問7は質問5と同じ処理であるが、知識データに”公園で”の検索条件を満足する文に”リンゴを食べた”を満足する文が存在しないので、回答として”いいえ”を出力することができる。
【0041】以上のように、具体的な事実や情報を含んだ文章を知識データとして文の構成をそのまま蓄積することで、文の構成要素を検索条件として使用して目的の情報を自然言語による質問を行って得ることができる。また、自然言語解析において解析パターンや文法パターンでは表現することができない語彙特有の使用方法や回答方法を鍵となる語彙に記述することで、多くの言葉の表現について意味を推定することができる。
【0042】
【実施例】上記本発明の実施の形態を使用した具体的な実施例について図を参照しながら説明する。
【0043】図12は、本発明による標準文字列自動変換装置10の実施例を示したものである。標準文字列自動変換装置10は、上記実施形態で説明した図1の自然言語応答装置1と同じ、入力部2、文字変換部3、定義語記憶部4、情報抽出部5を備えている。また、変換結果を一時記憶する変換結果一時記憶部11と変換結果を表示装置へ表示するための文字出力部12を備えている。入力部2は、キーボード等に限らず、例えば、マイクロホンから入力した音声信号を音声認識を行うことで自然言語を文字列へ変換するものであっても良い。また、データファイルへ書き込んだ外部テキストデータを入力するものであっても良く、自然言語を入力できる手段であれば広く適用することができる。
【0044】上記入力部2で入力された文字列は、上記実施形態の方法を使用して、入力文字列に対応する定義語記憶部4に記憶された定義語情報20を取得し、文字変換部3で図3に示す定義語変換行列M1を作成する。
【0045】情報抽出部5は、上記定義語変換行列M1を使用して、入力文字列に含まれる情報を上記実施形態で説明した情報抽出方法により抽出し、図5及び図6に示す定義語変換行列M1、M2、…Mnを作成し、この定義語変換行列を変換結果一時記憶部11へ保存する。文字出力部12は、上記変換文字列を表示するための出力バッファーへ出力する。
【0046】上記のような処理により、これまで、語彙の使用頻度や同音異義語のメニュー選択などによって行っていた方法を、文の意味を把握することにより、語彙の選択を自動的に行うことができる。また、情報不足によって自動変換できない場合、操作者に対して質問を行うことで不足情報を補う方法により、操作者は変換に必要な操作方法を覚える必要がない。
【0047】また、この標準文字列自動変換装置10は、「ひらがな」を漢字へ変換するだけではなく、漢字、ひらがな、カタカナ、英字、数字、記号及びその組合せにより表現された文字列を、上記実施形態で説明したように、定義語情報20の定義語R1、読みR3、送り仮名R4、表記方法R8を使用して正規化された標準文字列へ変換することができる。
【0048】図14に示す実施例は、自然言語によるデータベース検索方法であって、通信回線で接続されている外部データベースや同一コンピュータに構築されている外部データベースに対し、自然言語によってデータベースのデータを検索する処理の流れ図を示したものである。上記実施形態で説明した方法により、外部データベースに登録されているデータの概要説明文を外部ファイルとして作成し、外部ファイルを読み込み、外部データベース30に関する知識データを知識データ記憶部7へ作成しておく。
【0049】例えば、外部データベース30のテーブルA、カラムBについて外部ファイルへ”テーブルAのカラムBは社員の生年月日である。”と記述した場合、この文の変換行列M1、M2、…Mnの抽出情報は、”テーブルAのカラムBは社員の生年月日”となり、この結果を知識データ記憶部7へ蓄積する。定義語”生年月日”の関連定義語R13へ”誕生日”を登録し、定義語”誕生日”のR13へ”日付”を登録しておく。
【0050】ステップ1(S1)で、入力装置から外部データベース30を検索するための条件を自然言語で入力する。文字列を入力する装置は、キーボードや、マイクロホンから入力した音声を音声認識システムによる文字列入力、或いは、外部ファイルへ格納した文書など、自然言語を入力できるものであれば広く適用できる。
【0051】ステップ2(S2)で、処理を終了する操作が行われた場合、処理を終了する。入力した文字列が存在する場合、本発明の実施形態で説明した方法を使用して処理を行う。ステップ3(S3)は図1の文字変換部3に相当し、ステップ4(S4)は情報抽出部5に相当する。入力された文字列は、S3で図3に示すような定義語変換行列M1を作成し、S4で図5及び図6に示される定義語変換行列M1、M2、…Mnを作成する。ステップ5(S5)で、定義語変換行列M1、M2、…Mnを使用して、図7及び、図8に示す構造で情報を抽出して一時記憶装置へ記憶する。
【0052】ステップ6(S6)で、S5で蓄積した情報を使用して、外部データベース30に関する知識データ記憶部7に蓄積された情報を検索し、入力文字列に含まれるデータ表現(テーブル名、カラム名、データ値など)について、蓄積した情報があるか検索し、蓄積情報がない場合、操作者に対して不足情報を出力し、条件の再入力を促す。
【0053】ステップ7(S7)で、S4で抽出した条件を使用して、外部データベース30を検索するための条件を生成する。検索条件は、蓄積情報を構成する定義語情報20の品詞R5、同意定義語R14を使用して生成される。名詞はテーブル名、カラム名、データ値として判断し、形容詞、副詞はデータの範囲条件となる。また、動詞や助詞、格助詞、接続詞は条件を構成する演算要素として判定し、演算要素は同意定義語R14を用いて作成することができ、また、文法を伴う条件は回答生成方法R12へ記述言語を用いて生成手順を記述しておく。
【0054】例えば、検索条件として、”1970年生まれの社員”と入力した場合、この文の定義語変換行列M1、M2、…Mnの抽出情報は、”1970年生まれの社員”となり、1970年は日付、社員は人称代名詞として判断することができる。この場合、関連定義語R13へ”誕生日”が登録された名詞属性を持つ定義語”生まれ”の使用方法R9が”日付+生まれ+人称名詞”の場合、この名詞を含む定義語変換行列の列の先頭行へ移動する手続きを記述しておく。”1970年生まれ”は、”名詞+名詞”となり、名詞結合状態を示す。この場合、”1970年”のR13は”日付”、”生まれ”のR13は”誕生日”を持つが、”日付”と”誕生日”は一致しない。この場合、定義語”日付”と”誕生日”のR13を参照すると、”誕生日”のR13に”日付”が存在する。従って、”1970年生まれ”の結合名詞に関して推定したR13は、”日付”または”誕生日”となる。従って、上記例で、知識データ記憶部7へ蓄積した知識データに対し、”日付”と”社員”、”誕生日”と”社員”の条件で検索すると、”テーブルAのカラムBは社員の生年月日”を取得することができる。この文は格助詞により接続された名詞を含んでいるが、格助詞”の”による接続は、無条件で単一名詞として解釈することができるので”A1はA2”となる文章形態を構成すると判断でき、”誕生日”と”社員”を含むのはA2であることも判断できる。従って、接続詞”は”を示す定義語の回答生成方法R12に、知識データ記憶部7の知識データを検索した結果からテーブル名やカラム名を、入力した検索条件から範囲条件を抽出する手続きを記述しておく。
【0055】上記自然言語による検索条件を、SQL文により記述するデータベース検索に適応した場合、知識データ記憶部7を検索した結果からテーブル名、カラム名を抽出するとテーブル名=”テーブルA”、カラム名=”カラムB”となり、入力した検索条件から範囲条件を抽出すると”1970”となる。従って、検索条件を含むSQL文は”SELECT * FROM テーブルA WHERE カラムB=1970;”となる。アクセスする外部データベース名はシステムにより既知であるが、データベース名を文書ファイルへ記述し、知識データとして蓄積することにより、データベースのオープンを行うことができる。また、複数の外部データベースが存在するような場合、文書ファイルへ外部データベースごとにテーブル、カラム情報を記述することで、外部データベースの検索条件から外部データベースを選択することができる。上記検索条件をステップ7(S7)で検索条件として蓄積しておく。
【0056】ステップ8(S8)で上記検索条件で外部データベース60を検索するか操作者に対して質問を行い、検索しない場合、次の条件を入力する。次の検索条件として、”または、1960年生まれの社員”と入力した場合、上記検索条件に、入力条件を付加することで、複合条件を作り出す。この場合、接続詞”または”を示す定義語の同意定義語R14へ”OR”を登録しておく。上記例と同様に条件解析を行うと、SQL文の条件項目は”OR カラムB=1960”となる。従って、2つの条件を結合したSQL文は、”SELECT * FROM テーブルA WHERE カラムB=1970OR カラムB=1960;”とすることができる。
【0057】上記例において、表示条件を同様に設定することができる。テーブルAにカラムC、Dが存在する場合、表示条件として”カラムC、カラムDを表示”と入力した場合、表示カラムとしてカラムC、Dを上記検索条件に結合させるとSQL文は、”SELECT カラムC カラムD FROM テーブルA WHEREカラムB=1970 OR カラムB=1960;”とすることができる。
【0058】S8で外部データベースへ上記検索条件で外部データベース30を検索する指示を行った場合、ステップ9(S9)で上記検索条件により外部データベース30をアクセスし、検索したデータを取得し、表示装置へ検索結果を表示することができる。
【0059】
【発明の効果】以上説明したように本発明の自然言語応答装置及び方法は、人間とコンピュータ、コンピュータとコンピュータが自然言語による対話を行うことが容易にできる。このことは、音声入力や文字列入力による対話が可能となる。
【0060】また、本発明に係る自然言語応答装置及び方法は、文法パターンを必要としない解析方法を用い、語彙の処理方法を語彙のデータとして取り扱うことにより、言葉の持つ多くの処理形態を単純化した特定処理とすることが可能となる。
【0061】漢字変換装置において、文章や語句の意味を本発明の方法を用いることで、複数行にわたる漢字、ひらがな、英字、数字、記号およびその組み合わせによる文字列を従来行われている漢字変換ではなく、正規化された標準文字列へ変換することが容易に可能となる。
【0062】本発明の方法により、対話によって操作方法を導出しながら、コンピュータに蓄積した情報を取り出すことが可能なため、コンピュータの知識や蓄積データに関する知識を必要としない操作が可能である。
【出願人】 【識別番号】300066449
【氏名又は名称】株式会社システムイグゼ
【出願日】 平成12年10月30日(2000.10.30)
【代理人】
【公開番号】 特開2002−132766(P2002−132766A)
【公開日】 平成14年5月10日(2002.5.10)
【出願番号】 特願2000−330450(P2000−330450)