(57)【要約】      （修正有）【課題】処理が軽くコンピュータに高い性能を必要とせず、処理内容の設定が容易で実用性の高い自然言語処理装置を提供する。【解決手段】自然言語の文を処理する自然言語処理装置１００であって、処理対象の文中に含まれる場合に当該文を分割する語句である分割語句の一覧を示す分割語句テーブル８０と、処理対象の文を各分割語句の先頭及び末尾の個所で分割する分割部２０と、分割文の類型を示す類型データ毎に実行する処理内容を示す処理内容データを対応させて記録した応答テーブル８５と、応答テーブル８５から分割部２０が生成した分割文の類型に該当する類型データを検索する類型検索部３１と、応答テーブル８５から検索に該当した類型データに対応して記録された処理内容データを抽出する抽出処理部３９と、抽出処理部３９が抽出した処理内容データが示す処理内容を実行する応答部４０を備える。【選択図】図１
2005316830.tif 000002
【特許請求の範囲】
【請求項１】
自然言語の文を処理する自然言語処理装置であって、
自然言語のテキストデータである処理対象の文を、文の分割方法を規定した分割規則に基いて１つ又は複数の部分文字列に分割した分割文を生成する分割手段と、
前記分割文の類型を示す類型データ毎に、実行する処理内容を示す処理内容データを対応させて記録した応答テーブルと、
前記応答テーブルから、前記分割手段が生成した前記分割文の類型に該当する前記類型データを検索する類型検索手段と、
前記応答テーブルから、前記検索に該当した前記類型データに対応して記録された前記処理内容データを抽出する抽出処理手段と、
前記抽出処理手段が抽出した前記処理内容データが示す処理内容を実行する応答手段を備えることを特徴とする自然言語処理装置。
【請求項２】
前記処理対象の文中に含まれる場合に当該文を分割する語句である分割語句の一覧を示す分割語句テーブルを備え、
前記分割手段は、
前記処理対象の文に前記分割語句が含まれる場合に、前記処理対象の文を各前記分割語句の先頭及び末尾の個所で分割する手段を備えることを特徴とする請求項１に記載の自然言語処理装置。
【請求項３】
分割を禁止する２字以上の文字列である連結語句の一覧を示す連結語句テーブルを備え、
前記分割手段は、
前記処理対象の文を、前記文中に含まれる各前記分割語句の先頭及び末尾の個所のそれぞれにおいて、当該個所が前記連結語句の内部に該当しない場合に限り分割することにより前記分割文を生成することを特徴とする請求項１又は請求項２に記載の自然言語処理装置。
【請求項４】
前記分割手段は、
前記処理対象の文を分割した前記部分文字列の先頭の文字が、予め指定された先頭禁則文字の１つに該当する場合に、当該部分文字列とその１つ前の位置の前記部分文字列との間の前記分割を解除して連結させる手段と、前記部分文字列の末尾の文字が、予め指定された末尾禁則文字の１つに該当する場合に、当該部分文字列とその１つ後の位置の前記部分文字列との間の前記分割を解除して連結させる手段を備えることを特徴とする請求項１から請求項３のいずれか一つに記載の自然言語処理装置。
【請求項５】
前記処理対象の文から削除する語句である削除語句の一覧を示す削除語句テーブルを備え、
前記分割手段は、
前記処理対象の文から、各前記削除語句を全て削除した上で、前記分割規則に基いて１つ又は複数の前記部分文字列に分割することにより前記分割文を生成する手段を備えることを特徴とする請求項１から請求項４のいずれか一つに記載の自然言語処理装置。
【請求項６】
前記分割手段は、
前記処理対象の文から、句読点・スペース・タブ・改行を全て削除した上で、前記分割規則に基いて１つ又は複数の前記部分文字列に分割することにより前記分割文を生成する手段を備えることを特徴とする請求項１から請求項５のいずれか一つに記載の自然言語処理装置。
【請求項７】
書換対象の語句である書換元語句のそれぞれに、前記書換元語句を書換える書換後語句を対応させて記録した書換語句テーブルを備えることを特徴とする請求項１から請求項６のいずれか一つに記載の自然言語処理装置。
【請求項８】
前記分割手段は、
前記処理対象の文を、当該文中に含まれる全ての前記書換元語句を前記書換語句テーブルにおいて対応する前記書換後語句に置換した上で、前記分割規則に基いて１つ又は複数の前記部分文字列に分割することにより前記分割文を生成する手段を備えることを特徴とする請求項７に記載の自然言語処理装置。
【請求項９】
前記分割手段は、
前記処理対象の文を、前記分割規則に基いて１つ又は複数の前記部分文字列に分割した上で、各前記部分文字列の内でいずれかの前記書換元語句と一致するものを全て、前記書換語句テーブルにおいて対応する前記書換後語句に置換することで前記分割文を生成することを特徴とする請求項７に記載の自然言語処理装置。
【請求項１０】
前記類型データは、
前記分割文を構成する個々の前記部分文字列がそれぞれに満たすべき条件を指定することにより、前記分割文の類型を示すことを特徴とする請求項１から請求項９のいずれか一つに記載の自然言語処理装置。
【請求項１１】
前記類型データは、
前記分割文を構成する各位置の前記部分文字列のそれぞれに対して、当該部分文字列が満たすべき条件を示す文字列条件データを備え、
前記類型検索手段は、
前記分割手段により生成された前記分割文に対し、前記応答テーブル中の前記類型データであって、前記文字列条件データの個数が当該分割文を構成する前記部分文字列の個数と等しく、かつ、全ての前記部分文字列が対応する位置の前記文字列条件データの条件を満たすものを、当該分割文の類型に該当する前記類型データであるとして検索する手段を備えることを特徴とする請求項１０に記載の自然言語処理装置。
【請求項１２】
前記応答テーブルは、
対応する位置の前記部分文字列が予め指定された文字列に一致するという条件である前記文字列条件データを含むことを特徴とする請求項１１に記載の自然言語処理装置。
【請求項１３】
語句を各グループ毎にまとめて記録した語句分類テーブルを備え、
前記応答テーブルは、
対応する位置の前記部分文字列が前記語句分類テーブル内の予め指定された前記グループ中の前記語句の１つと一致するという条件である前記文字列条件データを含むことを特徴とする請求項１２に記載の自然言語処理装置。
【請求項１４】
前記応答テーブルは、
対応する位置の前記部分文字列が、前記語句分類テーブル内の予め指定された前記グループ中の前記語句の１つと一致するか、又は、前記語句分類テーブル内の全ての語句と一致しないという条件である、前記文字列条件データを含むことを特徴とする請求項１２又は請求項１３に記載の自然言語処理装置。
【請求項１５】
前記応答テーブルは、
任意の前記部分文字列が条件を満たすものであり、対応する位置の前記部分文字列を制限しない旨を示す前記文字列条件データを含むことを特徴とする請求項１１から請求項１４のいずれか一つに記載の自然言語処理装置。
【請求項１６】
データを記録する１つ又は複数の知識テーブルを備え、
前記応答手段は、
前記処理内容データに基き、指定された前記知識テーブル内を参照する手段と、
前記処理内容データに基き、指定された前記知識テーブル内に指定されたデータを追加する手段と、
前記処理内容データに基き、指定された前記知識テーブル内から指定されたデータを削除する手段を備えることを特徴とする請求項１から請求項１５のいずれか一つに記載の自然言語処理装置。
【請求項１７】
前記抽出処理手段は、
前記類型検索手段による検索に該当した前記類型データに対応して前記応答テーブルに記録された前記処理内容データを抽出する手段と、
抽出された前記処理内容データに、前記類型検索手段が検索に用いた前記分割文の１つ又は複数の指定された位置の前記部分文字列のデータを付加した上で前記応答手段に送る手段を備え、
前記応答手段は、
前記処理内容データが示す処理内容を、当該処理内容データに付加された１つ又は複数の前記部分文字列のデータを用いて実行する手段を備えることを特徴とする請求項１から請求項１６のいずれか一つに記載の自然言語処理装置。
【請求項１８】
電気通信ネットワークを介して外部のサーバと通信する通信手段を備え、
前記応答手段は、
前記処理内容データに基き、当該処理内容データに付加された１つ又は複数の前記部分文字列を検索キーワードに用いて、前記外部のサーバに対し情報を問合せて取得する手段を備えることを特徴とする請求項１７に記載の自然言語処理装置。
【請求項１９】
前記応答手段は、
前記処理内容データに基き、指定された新たな前記類型データ及び対応する前記処理内容データを、前記応答テーブルに追加する追加手段と、
前記処理内容データに基き、前記応答テーブルから、指定された前記類型データ及び対応する前記処理内容データを削除する削除手段を備えることを特徴とする請求項１から請求項１８のいずれか一つに記載の自然言語処理装置。
【請求項２０】
前記応答テーブルを複数種類備え、
前記類型検索手段は、
各前記応答テーブルを予め指定された順番に従い順次検索対象として、前記分割文の類型に該当する前記類型データを検索する手段を備えることを特徴とする請求項１から請求項１９のいずれか一つに記載の自然言語処理装置。
【請求項２１】
前記応答テーブルを複数種類備え、
各前記応答テーブルは、
各前記応答テーブルのいずれを前記類型検索手段が検索に使用するのかを指定する応答テーブル設定命令である前記処理内容データを含み、
前記応答手段は、
前記処理内容データに示される前記応答テーブル設定命令に基いて、前記類型検索手段が検索に使用する前記応答テーブルを設定する手段を備えることを特徴とする請求項１から請求項２０のいずれか一つに記載の自然言語処理装置。
【請求項２２】
前記応答テーブルを複数種類備え、
各前記応答テーブルは、
各前記応答テーブルのいずれを前記類型検索手段が検索に使用するのかを指定し、かつ、複数の前記応答テーブルを検索に使用する場合においては各前記応答テーブルの検索順序を指定する応答テーブル設定命令である前記処理内容データを含み、
前記応答手段は、
前記処理内容データに示される前記応答テーブル設定命令に基いて、前記類型検索手段が検索に使用する前記応答テーブル、及び、複数の前記応答テーブルを検索に使用する場合におけるその検索順序を設定する手段を備えることを特徴とする請求項１から請求項１９のいずれか一つに記載の自然言語処理装置。
【請求項２３】
前記分割手段は、
前記処理対象の文中における予め指定された語句の有無に基いて、前記類型検索手段が検索に使用する前記応答テーブルを設定する手段を備え、
前記類型検索手段は、
前記分割手段が設定した前記応答テーブルを検索対象として、前記分割手段が生成した前記分割文の類型に該当する前記類型データを検索する手段を備えることを特徴とすることを特徴とする請求項２０から請求項２２のいずれか一つに記載の自然言語処理装置。
【請求項２４】
前記分割規則を複数種類備え、
前記分割手段は、
前記処理対象の文中における予め指定された言葉の有無に基いて、当該文の分割に用いる前記分割規則を設定する分割規則設定手段と、
前記分割規則設定手段が設定した前記分割規則に基いて、前記処理対象の文を１つ又は複数の前記部分文字列に分割することにより前記分割文を生成する手段を備えることを特徴とする請求項１から請求項２３のいずれか一つに記載の自然言語処理装置。
【請求項２５】
自然言語の文の入力を受付け、入力された前記文をテキストデータの形式に変換し前記処理対象の文として前記分割手段に渡す入力手段を備えることを特徴とする請求項１から請求項２４のいずれか一つに記載の自然言語処理装置。
【請求項２６】
前記入力手段は、
音声をテキストデータに変換する音声認識手段と、
前記自然言語の文の音声による入力を受付けて前記音声認識手段によりテキストデータに変換し、前記処理対象の文として前記分割手段に渡す手段を備えることを特徴とする請求項２５に記載の自然言語処理装置。
【請求項２７】
前記入力手段は、
通信ネットワークを介して前記自然言語の文の入力を受付ける手段を備えることを特徴とする請求項２５又は請求項２６に記載の自然言語処理装置。
【請求項２８】
自然言語の文を処理する自然言語処理装置の自然言語処理方法であって、
自然言語のテキストデータである処理対象の文を、文の分割方法を規定した分割規則に基いて１つ又は複数の部分文字列に分割した分割文を生成する分割ステップと、
前記分割文の類型を示す類型データ毎に、実行する処理内容を示す処理内容データを対応させて記録した応答テーブルを参照し、前記分割ステップにおいて生成した前記分割文の類型に該当する前記類型データを検索する類型検索ステップと、
前記応答テーブルから、前記検索に該当した前記類型データに対応して記録された前記処理内容データを抽出する抽出処理ステップと、
前記抽出処理ステップにおいて抽出した前記処理内容データが示す処理内容を実行する応答ステップを備えることを特徴とする自然言語処理装置の自然言語処理方法。
【請求項２９】
前記分割ステップは、
前記処理対象の文中に含まれる場合に当該文を分割する語句である分割語句の一覧を示す分割語句テーブルを参照するステップと、
前記処理対象の文に前記分割語句が含まれる場合に、前記処理対象の文を各前記分割語句の先頭及び末尾の個所で分割するステップを備えることを特徴とする請求項２８に記載の自然言語処理装置の自然言語処理方法。
【請求項３０】
前記分割ステップは、
分割を禁止する２字以上の文字列である連結語句の一覧を示す連結語句テーブルを参照するステップを備えることを特徴とする請求項２９に記載の自然言語処理装置の自然言語処理方法。
【請求項３１】
前記分割ステップは、
前記処理対象の文を分割した複数の前記部分文字列に対して、連続する位置の２つ以上の前記部分文字列を連結した場合に前記連結語句と等しくなるものがあるかどうかをチェックする分割検出ステップと、
前記チェックに該当した前記部分文字列の組を連結して新たな前記部分文字列とする連結ステップと、
前記分割検出ステップに該当する前記部分文字列が無くなるまで、前記分割検出ステップと前記連結ステップとを繰返し実行することにより、分割された前記連結語句の無い前記分割文を生成するステップを備えることを特徴とする請求項３０に記載の自然言語処理装置の自然言語処理方法。
【請求項３２】
前記分割ステップは、
前記処理対象の文に対して、文字列比較を行う始りの文字の位置を示す比較起点位置に先頭の文字を示す“１”を設定するステップと、
前記比較起点位置が、前記処理対象の文の文字数を越える場合には、前記分割ステップの処理を終了させ、前記処理対象の文の文字数を越えない場合には、各前記分割語句に対して、前記処理対象の文の前記比較起点位置から始る当該分割語句の文字数分の文字列と当該文字列とが一致するかどうかをチェックする判定ステップと、
前記判定ステップにおいて一致する前記分割語句が無い場合には、前記比較起点位置を“１”増加させた上で、前記検出ステップに戻り以降の処理を再び実行させるステップと、
前記判定ステップにおいて一致する前記分割語句が有る場合には、前記処理対象の文において当該分割語句を一部分として含む前記連結語句が存在するかどうかをチェックする連結語句検出ステップと、
前記連結語句検出ステップにおいて、当該分割語句を一部分として含む前記連結語句が見つからなかった場合には、前記処理対象の文を当該分割語句の先頭及び末尾の個所で分割し、前記比較起点位置を当該分割語句の文字数分増加させた上で、前記検出ステップに戻り以降の処理を再び実行させるステップと、
前記連結語句検出ステップにおいて、当該分割語句を一部分として含む前記連結語句が見つかった場合には、前記処理対象の文を、当該連結語句の先頭及び末尾の個所で分割し、かつ当該連結語句の部分を構成する前記部分文字列が複数個である場合には、その全てを連結して１個の前記部分文字列とし、前記比較起点位置を増加させて文字列比較を行う始りの文字の位置を当該連結語句の末尾の文字より１つ先の文字に設定した上で、前記検出ステップに戻り以降の処理を再び実行させるステップを備えることを特徴とする請求項３０に記載の自然言語処理装置の自然言語処理方法。
【請求項３３】
前記類型検索ステップは、
前記類型データにおいて示される、前記分割文を構成する各位置の前記部分文字列のそれぞれに対して当該部分文字列が満たすべき条件を示す文字列条件データを参照するステップと、
前記分割ステップにより生成された前記分割文に対し、前記応答テーブル中の前記類型データであって、前記文字列条件データの個数が当該分割文を構成する前記部分文字列の個数と等しく、かつ、全ての前記部分文字列が対応する位置の前記文字列条件データの条件を満たすものを、当該分割文の類型に該当する前記類型データであるとして検索するステップを備えることを特徴とする請求項２８から請求項３２のいずれか一つに記載の自然言語処理装置の自然言語処理方法。
【請求項３４】
前記類型検索ステップは、
語句を各グループ毎にまとめて記録した語句分類テーブルを参照するステップと、
前記文字列条件データに基いて、前記分割文における当該文字列条件データに対応する位置の前記部分文字列が、前記語句分類テーブル内の当該文字列条件データにより指定された前記グループ中の前記語句の１つと一致するか否かを判定するステップを備えることを特徴とする請求項３３に記載の自然言語処理装置の自然言語処理方法。
【請求項３５】
前記応答ステップは、
データを記録する１つ又は複数の知識テーブルを参照するステップと、
前記処理内容データに基き、指定された前記知識テーブル内を参照するステップと、
前記処理内容データに基き、指定された前記知識テーブル内に指定されたデータを追加するステップと、
前記処理内容データに基き、指定された前記知識テーブル内から指定されたデータを削除するステップを備えることを特徴とする請求項２８から請求項３４のいずれか一つに記載の自然言語処理装置の自然言語処理方法。
【請求項３６】
前記抽出処理ステップは、
前記類型検索ステップによる検索に該当した前記類型データに対応して前記応答テーブルに記録された前記処理内容データを抽出するステップと、
抽出された前記処理内容データに、前記類型検索ステップにおいて検索に用いた前記分割文の１つ又は複数の指定された位置の前記部分文字列のデータを付加した上で前記応答ステップに送るステップを備え、
前記応答ステップは、
電気通信ネットワークを介して外部のサーバと通信する通信ステップと、
前記処理内容データに基き、当該処理内容データに付加された１つ又は複数の前記部分文字列を検索キーワードに用いて、前記外部のサーバに対し情報を問合せて取得するステップを備えることを特徴とする請求項２８から請求項３５のいずれか一つに記載の自然言語処理装置の自然言語処理方法。
【請求項３７】
前記応答ステップは、
前記処理内容データに基き、指定された新たな前記類型データ及び対応する前記処理内容データを、前記応答テーブルに追加する追加ステップと、
前記処理内容データに基き、前記応答テーブルから、指定された前記類型データ及び対応する前記処理内容データを削除する削除ステップを備えることを特徴とする請求項２８から請求項３６のいずれか一つに記載の自然言語処理装置の自然言語処理方法。
【請求項３８】
前記応答ステップは、
前記処理内容データにおいて示される、複数種類備える各前記応答テーブルのいずれを前記類型検索ステップにおいて検索に使用するのかを指定し、かつ、複数の前記応答テーブルを検索に使用する場合には各前記応答テーブルの検索順序を指定する応答テーブル設定命令を参照するステップと、
前記処理内容データに示される前記応答テーブル設定命令に基いて、前記類型検索ステップにおいて検索に使用する前記応答テーブル、及び、複数の前記応答テーブルを検索に使用する場合におけるその検索順序を設定するステップを備えることを特徴とする請求項２８から請求項３７のいずれか一つに記載の自然言語処理装置の自然言語処理方法。
【請求項３９】
前記分割ステップは、
前記処理対象の文中における予め指定された語句の有無に基いて、前記類型検索ステップにおいて検索に使用する前記応答テーブルを設定するステップを備え、
前記類型検索ステップは、
前記分割ステップにおいて設定した前記応答テーブルを検索対象として、前記分割ステップにおいて生成した前記分割文の類型に該当する前記類型データを検索するステップを備えることを特徴とすることを特徴とする請求項３８に記載の自然言語処理装置の自然言語処理方法。
【請求項４０】
前記分割ステップは、
前記処理対象の文中における予め指定された言葉の有無に基いて、複数種類備える前記分割規則のいずれを当該文の分割に用いるのかを設定する分割規則設定ステップと、
前記分割規則設定ステップにおいて設定した前記分割規則に基いて、前記処理対象の文を１つ又は複数の前記部分文字列に分割することにより前記分割文を生成するステップを備えることを特徴とする請求項２８から請求項３９のいずれか一つに記載の自然言語処理装置の自然言語処理方法。
【請求項４１】
コンピュータを制御することにより、自然言語の文を処理する自然言語処理プログラムであって、
自然言語のテキストデータである処理対象の文を、文の分割方法を規定した分割規則に基いて１つ又は複数の部分文字列に分割した分割文を生成する分割ステップと、
前記分割文の類型を示す類型データ毎に、実行する処理内容を示す処理内容データを対応させて記録した応答テーブルを参照し、前記分割ステップにおいて生成した前記分割文の類型に該当する前記類型データを検索する類型検索ステップと、
前記応答テーブルから、前記検索に該当した前記類型データに対応して記録された前記処理内容データを抽出する抽出ステップと、
前記抽出ステップにおいて抽出した前記処理内容データが示す処理内容を実行する応答ステップを前記コンピュータに実行させることを特徴とする自然言語処理プログラム。
【請求項４２】
前記分割ステップにおいて、
前記処理対象の文中に含まれる場合に当該文を分割する語句である分割語句の一覧を示す分割語句テーブルを参照するステップと、
前記処理対象の文に前記分割語句が含まれる場合に、前記処理対象の文を各前記分割語句の先頭及び末尾の個所で分割するステップを前記コンピュータに実行させることを特徴とする請求項４１に記載の自然言語処理プログラム。
【請求項４３】
前記分割ステップにおいて、
分割を禁止する２字以上の文字列である連結語句の一覧を示す連結語句テーブルを参照するステップと、
前記処理対象の文に対し、前記連結語句の内部以外の場所に限り前記分割を行うことで前記分割文を生成するステップを前記コンピュータに実行させることを特徴とする請求項４１又は請求項４２に記載の自然言語処理プログラム。
【請求項４４】
前記類型検索ステップにおいて、
前記類型データにおいて示される、前記分割文を構成する各位置の前記部分文字列のそれぞれに対して当該部分文字列が満たすべき条件を示す文字列条件データを参照するステップと、
前記分割ステップにより生成された前記分割文に対し、前記応答テーブル中の前記類型データであって、前記文字列条件データの個数が当該分割文を構成する前記部分文字列の個数と等しく、かつ、全ての前記部分文字列が対応する位置の前記文字列条件データの条件を満たすものを、当該分割文の類型に該当する前記類型データであるとして検索するステップを前記コンピュータに実行させることを特徴とする請求項４１から請求項４３のいずれか一つに記載の自然言語処理プログラム。
【請求項４５】
前記類型検索ステップにおいて、
語句を各グループ毎にまとめて記録した語句分類テーブルを参照するステップと、
前記文字列条件データに基いて、前記分割文における当該文字列条件データに対応する位置の前記部分文字列が、前記語句分類テーブル内の当該文字列条件データにより指定された前記グループ中の前記語句の１つと一致するか否かを判定するステップを前記コンピュータに実行させることを特徴とする請求項４４に記載の自然言語処理プログラム。
【請求項４６】
前記抽出ステップは、
前記類型検索ステップによる検索に該当した前記類型データに対応して前記応答テーブルに記録された前記処理内容データを抽出するステップと、
抽出された前記処理内容データに、前記類型検索ステップにおいて検索に用いた前記分割文の１つ又は複数の指定された位置の前記部分文字列のデータを付加した上で前記応答ステップに送るステップを前記コンピュータに実行させ、
前記応答ステップは、
電気通信ネットワークを介して外部のサーバと通信する通信ステップと、
前記処理内容データに基き、当該処理内容データに付加された１つ又は複数の前記部分文字列を検索キーワードに用いて、前記外部のサーバに対し情報を問合せて取得するステップを前記コンピュータに実行させることを特徴とする請求項４１から請求項４５のいずれか一つに記載の自然言語処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、自然言語の認識処理に関し、特に、自然言語の文章の意味内容に対応して処理を実行する自然言語処理装置とその自然言語処理方法、及び自然言語処理プログラムに関する。
【背景技術】
【０００２】
従来より、人が利用する言葉である自然言語の意味内容をコンピュータに認識させる自然言語処理の技術が研究されている。コンピュータに自然言語を認識させることにより、自然言語を用いてコンピュータに命令を与え操作したり、自然言語の文章を翻訳させたり、コンピュータとの対話等が可能となる。
【０００３】
従来の自然言語処理では、認識対象の自然言語の文章に対して、文章から個々の形態素を抽出する形態素解析、文章構造を明らかにする構文解析、文章の意味内容を理解する意味解析を実行することによりその意味内容を認識しており、また文脈を理解する文脈解析や、入力された文章に対する適切な応答の文章を生成する応答処理等を行うものもある。
【０００４】
また、これらの各処理においては、形態素辞書、構文辞書、意味解析用辞書等の辞書データを予め備えて、これを参照することが必要となる。
【０００５】
こうした自然言語処理の従来技術としては、例えば、特開平７−１０５２１３号公報や特開２０００−１１２９３８号公報に開示された従来技術がある。
【特許文献１】特開平７−１０５２１３号  公報
【特許文献２】特開２０００−１１２９３８号  公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
上述したように従来の自然言語処理では、以下に述べるような問題点があった。
【０００７】
第１に、従来の技術では、膨大な種類の言葉を記録した各種の辞書を備えることが必要であるという問題点があった。
【０００８】
必要となる辞書を予め準備するための、辞書データの収集・整理の作業には多くのコストが必要となり、自然言語処理システムの開発を困難にしていた。また、コンピュータ装置は、入力された文章の各字句を辞書の膨大な種類の言葉と照らし合わせて一致する言葉を検索するため、その処理が重く時間も掛かることになり、またこのため、利用するコンピュータ装置には高い処理性能が必要となった。
【０００９】
第２に、従来の技術では、入力される自然言語の文章の意味内容に対応させて実行させる処理を設定する手続きが面倒だという問題点があった。
【００１０】
従来では、こうした設定のためにはその自然言語処理装置内の各部で実行される処理についての知識が必要であり、また新たに設定するためにプログラム自体の書き直しとなる場合もあり面倒であった。更に、システムの開発者ではない利用者自身が設定を変更することはとても難しかった。また、設定が面倒であることから、文脈に応じた細かい応答内容を設定することができなかった。
【００１１】
第３に、従来では、システムが予め備えている辞書にない、未知の言葉が入力された場合に対応することが困難であるという問題点があった。
【００１２】
このため、自然言語を用いた人工知能システムを構築する際において、知識データの更新処理を（Ａ・Ｂを任意の言葉として）『ＡはＢです』等の自然言語の文章で命令する方式を採用しようとしても、Ａ・Ｂの各言葉が予め辞書に登録されていなくてはシステムがこれに対応することができず、自由に新しい言葉を追加することができなかった。
【００１３】
本発明の目的は、上記従来技術の欠点を解決し、大容量の辞書を必要とすることなく、処理が軽くコンピュータに高い性能を必要とせず、処理内容の設定が容易で実用性に富む自然言語処理装置とその自然言語処理方法、及び自然言語処理プログラムを提供することにある。
【課題を解決するための手段】
【００１４】
上記目的を達成するため本発明の自然言語処理装置は、自然言語の文を処理する自然言語処理装置であって、自然言語のテキストデータである処理対象の文を、文の分割方法を規定した分割規則に基いて１つ又は複数の部分文字列に分割した分割文を生成する分割手段と、前記分割文の類型を示す類型データ毎に、実行する処理内容を示す処理内容データを対応させて記録した応答テーブルと、前記応答テーブルから、前記分割手段が生成した前記分割文の類型に該当する前記類型データを検索する類型検索手段と、前記応答テーブルから、前記検索に該当した前記類型データに対応して記録された前記処理内容データを抽出する抽出処理手段と、前記抽出処理手段が抽出した前記処理内容データが示す処理内容を実行する応答手段を備えることを特徴とする。
【００１５】
請求項２の本発明の自然言語処理装置は、前記処理対象の文中に含まれる場合に当該文を分割する語句である分割語句の一覧を示す分割語句テーブルを備え、前記分割手段は、前記処理対象の文に前記分割語句が含まれる場合に、前記処理対象の文を各前記分割語句の先頭及び末尾の個所で分割する手段を備えることを特徴とする。
【００１６】
請求項３の本発明の自然言語処理装置は、分割を禁止する２字以上の文字列である連結語句の一覧を示す連結語句テーブルを備え、前記分割手段は、前記処理対象の文を、前記文中に含まれる各前記分割語句の先頭及び末尾の個所のそれぞれにおいて、当該個所が前記連結語句の内部に該当しない場合に限り分割することにより前記分割文を生成することを特徴とする。
【００１７】
請求項４の本発明の自然言語処理装置は、前記分割手段は、前記処理対象の文を分割した前記部分文字列の先頭の文字が、予め指定された先頭禁則文字の１つに該当する場合に、当該部分文字列とその１つ前の位置の前記部分文字列との間の前記分割を解除して連結させる手段と、前記部分文字列の末尾の文字が、予め指定された末尾禁則文字の１つに該当する場合に、当該部分文字列とその１つ後の位置の前記部分文字列との間の前記分割を解除して連結させる手段を備えることを特徴とする。
【００１８】
請求項５の本発明の自然言語処理装置は、前記処理対象の文から削除する語句である削除語句の一覧を示す削除語句テーブルを備え、前記分割手段は、前記処理対象の文から、各前記削除語句を全て削除した上で、前記分割規則に基いて１つ又は複数の前記部分文字列に分割することにより前記分割文を生成する手段を備えることを特徴とする。
【００１９】
請求項６の本発明の自然言語処理装置は、前記分割手段は、前記処理対象の文から、句読点・スペース・タブ・改行を全て削除した上で、前記分割規則に基いて１つ又は複数の前記部分文字列に分割することにより前記分割文を生成する手段を備えることを特徴とする。
【００２０】
請求項７の本発明の自然言語処理装置は、書換対象の語句である書換元語句のそれぞれに、前記書換元語句を書換える書換後語句を対応させて記録した書換語句テーブルを備えることを特徴とする。
【００２１】
請求項８の本発明の自然言語処理装置は、前記分割手段は、前記処理対象の文を、当該文中に含まれる全ての前記書換元語句を前記書換語句テーブルにおいて対応する前記書換後語句に置換した上で、前記分割規則に基いて１つ又は複数の前記部分文字列に分割することにより前記分割文を生成する手段を備えることを特徴とする。
【００２２】
請求項９の本発明の自然言語処理装置は、前記分割手段は、前記処理対象の文を、前記分割規則に基いて１つ又は複数の前記部分文字列に分割した上で、各前記部分文字列の内でいずれかの前記書換元語句と一致するものを全て、前記書換語句テーブルにおいて対応する前記書換後語句に置換することで前記分割文を生成することを特徴とする。
【００２３】
請求項１０の本発明の自然言語処理装置は、前記類型データは、前記分割文を構成する個々の前記部分文字列がそれぞれに満たすべき条件を指定することにより、前記分割文の類型を示すことを特徴とする。
【００２４】
請求項１１の本発明の自然言語処理装置は、前記類型データは、前記分割文を構成する各位置の前記部分文字列のそれぞれに対して、当該部分文字列が満たすべき条件を示す文字列条件データを備え、前記類型検索手段は、前記分割手段により生成された前記分割文に対し、前記応答テーブル中の前記類型データであって、前記文字列条件データの個数が当該分割文を構成する前記部分文字列の個数と等しく、かつ、全ての前記部分文字列が対応する位置の前記文字列条件データの条件を満たすものを、当該分割文の類型に該当する前記類型データであるとして検索する手段を備えることを特徴とする。
【００２５】
請求項１２の本発明の自然言語処理装置は、前記応答テーブルは、対応する位置の前記部分文字列が予め指定された文字列に一致するという条件である前記文字列条件データを含むことを特徴とする。
【００２６】
請求項１３の本発明の自然言語処理装置は、語句を各グループ毎にまとめて記録した語句分類テーブルを備え、前記応答テーブルは、対応する位置の前記部分文字列が前記語句分類テーブル内の予め指定された前記グループ中の前記語句の１つと一致するという条件である前記文字列条件データを含むことを特徴とする。
【００２７】
請求項１４の本発明の自然言語処理装置は、前記応答テーブルは、対応する位置の前記部分文字列が、前記語句分類テーブル内の予め指定された前記グループ中の前記語句の１つと一致するか、又は、前記語句分類テーブル内の全ての語句と一致しないという条件である、前記文字列条件データを含むことを特徴とする。
【００２８】
請求項１５の本発明の自然言語処理装置は、前記応答テーブルは、任意の前記部分文字列が条件を満たすものであり、対応する位置の前記部分文字列を制限しない旨を示す前記文字列条件データを含むことを特徴とする。
【００２９】
請求項１６の本発明の自然言語処理装置は、データを記録する１つ又は複数の知識テーブルを備え、前記応答手段は、前記処理内容データに基き、指定された前記知識テーブル内を参照する手段と、前記処理内容データに基き、指定された前記知識テーブル内に指定されたデータを追加する手段と、前記処理内容データに基き、指定された前記知識テーブル内から指定されたデータを削除する手段を備えることを特徴とする。
【００３０】
請求項１７の本発明の自然言語処理装置は、前記抽出処理手段は、前記類型検索手段による検索に該当した前記類型データに対応して前記応答テーブルに記録された前記処理内容データを抽出する手段と、抽出された前記処理内容データに、前記類型検索手段が検索に用いた前記分割文の１つ又は複数の指定された位置の前記部分文字列のデータを付加した上で前記応答手段に送る手段を備え、前記応答手段は、前記処理内容データが示す処理内容を、当該処理内容データに付加された１つ又は複数の前記部分文字列のデータを用いて実行する手段を備えることを特徴とする。
【００３１】
請求項１８の本発明の自然言語処理装置は、電気通信ネットワークを介して外部のサーバと通信する通信手段を備え、前記応答手段は、前記処理内容データに基き、当該処理内容データに付加された１つ又は複数の前記部分文字列を検索キーワードに用いて、前記外部のサーバに対し情報を問合せて取得する手段を備えることを特徴とする。
【００３２】
請求項１９の本発明の自然言語処理装置は、前記応答手段は、前記処理内容データに基き、指定された新たな前記類型データ及び対応する前記処理内容データを、前記応答テーブルに追加する追加手段と、前記処理内容データに基き、前記応答テーブルから、指定された前記類型データ及び対応する前記処理内容データを削除する削除手段を備えることを特徴とする。
【００３３】
請求項２０の本発明の自然言語処理装置は、前記応答テーブルを複数種類備え、前記類型検索手段は、各前記応答テーブルを予め指定された順番に従い順次検索対象として、前記分割文の類型に該当する前記類型データを検索する手段を備えることを特徴とする。
【００３４】
請求項２１の本発明の自然言語処理装置は、前記応答テーブルを複数種類備え、各前記応答テーブルは、各前記応答テーブルのいずれを前記類型検索手段が検索に使用するのかを指定する応答テーブル設定命令である前記処理内容データを含み、前記応答手段は、前記処理内容データに示される前記応答テーブル設定命令に基いて、前記類型検索手段が検索に使用する前記応答テーブルを設定する手段を備えることを特徴とする。
【００３５】
請求項２２の本発明の自然言語処理装置は、前記応答テーブルを複数種類備え、各前記応答テーブルは、各前記応答テーブルのいずれを前記類型検索手段が検索に使用するのかを指定し、かつ、複数の前記応答テーブルを検索に使用する場合においては各前記応答テーブルの検索順序を指定する応答テーブル設定命令である前記処理内容データを含み、前記応答手段は、前記処理内容データに示される前記応答テーブル設定命令に基いて、前記類型検索手段が検索に使用する前記応答テーブル、及び、複数の前記応答テーブルを検索に使用する場合におけるその検索順序を設定する手段を備えることを特徴とする。
【００３６】
請求項２３の本発明の自然言語処理装置は、前記分割手段は、前記処理対象の文中における予め指定された語句の有無に基いて、前記類型検索手段が検索に使用する前記応答テーブルを設定する手段を備え、前記類型検索手段は、前記分割手段が設定した前記応答テーブルを検索対象として、前記分割手段が生成した前記分割文の類型に該当する前記類型データを検索する手段を備えることを特徴とする。
【００３７】
請求項２４の本発明の自然言語処理装置は、前記分割規則を複数種類備え、前記分割手段は、前記処理対象の文中における予め指定された言葉の有無に基いて、当該文の分割に用いる前記分割規則を設定する分割規則設定手段と、前記分割規則設定手段が設定した前記分割規則に基いて、前記処理対象の文を１つ又は複数の前記部分文字列に分割することにより前記分割文を生成する手段を備えることを特徴とする。
【００３８】
請求項２５の本発明の自然言語処理装置は、自然言語の文の入力を受付け、入力された前記文をテキストデータの形式に変換し前記処理対象の文として前記分割手段に渡す入力手段を備えることを特徴とする。
【００３９】
請求項２６の本発明の自然言語処理装置は、前記入力手段は、音声をテキストデータに変換する音声認識手段と、前記自然言語の文の音声による入力を受付けて前記音声認識手段によりテキストデータに変換し、前記処理対象の文として前記分割手段に渡す手段を備えることを特徴とする。
【００４０】
請求項２７の本発明の自然言語処理装置は、前記入力手段は、通信ネットワークを介して前記自然言語の文の入力を受付ける手段を備えることを特徴とする。
【００４１】
請求項２８の本発明の自然言語処理装置の自然言語処理方法は、自然言語の文を処理する自然言語処理装置の自然言語処理方法であって、自然言語のテキストデータである処理対象の文を、文の分割方法を規定した分割規則に基いて１つ又は複数の部分文字列に分割した分割文を生成する分割ステップと、前記分割文の類型を示す類型データ毎に、実行する処理内容を示す処理内容データを対応させて記録した応答テーブルを参照し、前記分割ステップにおいて生成した前記分割文の類型に該当する前記類型データを検索する類型検索ステップと、前記応答テーブルから、前記検索に該当した前記類型データに対応して記録された前記処理内容データを抽出する抽出処理ステップと、前記抽出処理ステップにおいて抽出した前記処理内容データが示す処理内容を実行する応答ステップを備えることを特徴とする。
【００４２】
請求項２９の本発明の自然言語処理装置の自然言語処理方法は、前記分割ステップは、前記処理対象の文中に含まれる場合に当該文を分割する語句である分割語句の一覧を示す分割語句テーブルを参照するステップと、前記処理対象の文に前記分割語句が含まれる場合に、前記処理対象の文を各前記分割語句の先頭及び末尾の個所で分割するステップを備えることを特徴とする。
【００４３】
請求項３０の本発明の自然言語処理装置の自然言語処理方法は、前記分割ステップは、分割を禁止する２字以上の文字列である連結語句の一覧を示す連結語句テーブルを参照するステップを備えることを特徴とする。
【００４４】
請求項３１の本発明の自然言語処理装置の自然言語処理方法は、前記分割ステップは、前記処理対象の文を分割した複数の前記部分文字列に対して、連続する位置の２つ以上の前記部分文字列を連結した場合に前記連結語句と等しくなるものがあるかどうかをチェックする分割検出ステップと、前記チェックに該当した前記部分文字列の組を連結して新たな前記部分文字列とする連結ステップと、前記分割検出ステップに該当する前記部分文字列が無くなるまで、前記分割検出ステップと前記連結ステップとを繰返し実行することにより、分割された前記連結語句の無い前記分割文を生成するステップを備えることを特徴とする。
【００４５】
請求項３２の本発明の自然言語処理装置の自然言語処理方法は、前記分割ステップは、前記処理対象の文に対して、文字列比較を行う始りの文字の位置を示す比較起点位置に先頭の文字を示す“１”を設定するステップと、前記比較起点位置が、前記処理対象の文の文字数を越える場合には、前記分割ステップの処理を終了させ、前記処理対象の文の文字数を越えない場合には、各前記分割語句に対して、前記処理対象の文の前記比較起点位置から始る当該分割語句の文字数分の文字列と当該文字列とが一致するかどうかをチェックする判定ステップと、前記判定ステップにおいて一致する前記分割語句が無い場合には、前記比較起点位置を“１”増加させた上で、前記検出ステップに戻り以降の処理を再び実行させるステップと、前記判定ステップにおいて一致する前記分割語句が有る場合には、前記処理対象の文において当該分割語句を一部分として含む前記連結語句が存在するかどうかをチェックする連結語句検出ステップと、前記連結語句検出ステップにおいて、当該分割語句を一部分として含む前記連結語句が見つからなかった場合には、前記処理対象の文を当該分割語句の先頭及び末尾の個所で分割し、前記比較起点位置を当該分割語句の文字数分増加させた上で、前記検出ステップに戻り以降の処理を再び実行させるステップと、前記連結語句検出ステップにおいて、当該分割語句を一部分として含む前記連結語句が見つかった場合には、前記処理対象の文を、当該連結語句の先頭及び末尾の個所で分割し、かつ当該連結語句の部分を構成する前記部分文字列が複数個である場合には、その全てを連結して１個の前記部分文字列とし、前記比較起点位置を増加させて文字列比較を行う始りの文字の位置を当該連結語句の末尾の文字より１つ先の文字に設定した上で、前記検出ステップに戻り以降の処理を再び実行させるステップを備えることを特徴とする。
【００４６】
請求項３３の本発明の自然言語処理装置の自然言語処理方法は、前記類型検索ステップは、前記類型データにおいて示される、前記分割文を構成する各位置の前記部分文字列のそれぞれに対して当該部分文字列が満たすべき条件を示す文字列条件データを参照するステップと、前記分割ステップにより生成された前記分割文に対し、前記応答テーブル中の前記類型データであって、前記文字列条件データの個数が当該分割文を構成する前記部分文字列の個数と等しく、かつ、全ての前記部分文字列が対応する位置の前記文字列条件データの条件を満たすものを、当該分割文の類型に該当する前記類型データであるとして検索するステップを備えることを特徴とする。
【００４７】
請求項３４の本発明の自然言語処理装置の自然言語処理方法は、前記類型検索ステップは、語句を各グループ毎にまとめて記録した語句分類テーブルを参照するステップと、前記文字列条件データに基いて、前記分割文における当該文字列条件データに対応する位置の前記部分文字列が、前記語句分類テーブル内の当該文字列条件データにより指定された前記グループ中の前記語句の１つと一致するか否かを判定するステップを備えることを特徴とする。
【００４８】
請求項３５の本発明の自然言語処理装置の自然言語処理方法は、前記応答ステップは、データを記録する１つ又は複数の知識テーブルを参照するステップと、前記処理内容データに基き、指定された前記知識テーブル内を参照するステップと、前記処理内容データに基き、指定された前記知識テーブル内に指定されたデータを追加するステップと、前記処理内容データに基き、指定された前記知識テーブル内から指定されたデータを削除するステップを備えることを特徴とする。
【００４９】
請求項３６の本発明の自然言語処理装置の自然言語処理方法は、前記抽出処理ステップは、前記類型検索ステップによる検索に該当した前記類型データに対応して前記応答テーブルに記録された前記処理内容データを抽出するステップと、抽出された前記処理内容データに、前記類型検索ステップにおいて検索に用いた前記分割文の１つ又は複数の指定された位置の前記部分文字列のデータを付加した上で前記応答ステップに送るステップを備え、前記応答ステップは、電気通信ネットワークを介して外部のサーバと通信する通信ステップと、前記処理内容データに基き、当該処理内容データに付加された１つ又は複数の前記部分文字列を検索キーワードに用いて、前記外部のサーバに対し情報を問合せて取得するステップを備えることを特徴とする。
【００５０】
請求項３７の本発明の自然言語処理装置の自然言語処理方法は、前記応答ステップは、前記処理内容データに基き、指定された新たな前記類型データ及び対応する前記処理内容データを、前記応答テーブルに追加する追加ステップと、前記処理内容データに基き、前記応答テーブルから、指定された前記類型データ及び対応する前記処理内容データを削除する削除ステップを備えることを特徴とする。
【００５１】
請求項３８の本発明の自然言語処理装置の自然言語処理方法は、前記応答ステップは、前記処理内容データにおいて示される、複数種類備える各前記応答テーブルのいずれを前記類型検索ステップにおいて検索に使用するのかを指定し、かつ、複数の前記応答テーブルを検索に使用する場合には各前記応答テーブルの検索順序を指定する応答テーブル設定命令を参照するステップと、前記処理内容データに示される前記応答テーブル設定命令に基いて、前記類型検索ステップにおいて検索に使用する前記応答テーブル、及び、複数の前記応答テーブルを検索に使用する場合におけるその検索順序を設定するステップを備えることを特徴とする。
【００５２】
請求項３９の本発明の自然言語処理装置の自然言語処理方法は、前記分割ステップは、前記処理対象の文中における予め指定された語句の有無に基いて、前記類型検索ステップにおいて検索に使用する前記応答テーブルを設定するステップを備え、前記類型検索ステップは、前記分割ステップにおいて設定した前記応答テーブルを検索対象として、前記分割ステップにおいて生成した前記分割文の類型に該当する前記類型データを検索するステップを備えることを特徴とする。
【００５３】
請求項４０の本発明の自然言語処理装置の自然言語処理方法は、前記分割ステップは、前記処理対象の文中における予め指定された言葉の有無に基いて、複数種類備える前記分割規則のいずれを当該文の分割に用いるのかを設定する分割規則設定ステップと、前記分割規則設定ステップにおいて設定した前記分割規則に基いて、前記処理対象の文を１つ又は複数の前記部分文字列に分割することにより前記分割文を生成するステップを備えることを特徴とする。
【００５４】
請求項４１の本発明の自然言語処理プログラムは、コンピュータを制御することにより、自然言語の文を処理する自然言語処理プログラムであって、自然言語のテキストデータである処理対象の文を、文の分割方法を規定した分割規則に基いて１つ又は複数の部分文字列に分割した分割文を生成する分割ステップと、前記分割文の類型を示す類型データ毎に、実行する処理内容を示す処理内容データを対応させて記録した応答テーブルを参照し、前記分割ステップにおいて生成した前記分割文の類型に該当する前記類型データを検索する類型検索ステップと、前記応答テーブルから、前記検索に該当した前記類型データに対応して記録された前記処理内容データを抽出する抽出ステップと、前記抽出ステップにおいて抽出した前記処理内容データが示す処理内容を実行する応答ステップを前記コンピュータに実行させることを特徴とする。
【００５５】
請求項４２の本発明の自然言語処理プログラムは、前記分割ステップにおいて、前記処理対象の文中に含まれる場合に当該文を分割する語句である分割語句の一覧を示す分割語句テーブルを参照するステップと、前記処理対象の文に前記分割語句が含まれる場合に、前記処理対象の文を各前記分割語句の先頭及び末尾の個所で分割するステップを前記コンピュータに実行させることを特徴とする。
【００５６】
請求項４３の本発明の自然言語処理プログラムは、前記分割ステップにおいて、分割を禁止する２字以上の文字列である連結語句の一覧を示す連結語句テーブルを参照するステップと、前記処理対象の文に対し、前記連結語句の内部以外の場所に限り前記分割を行うことで前記分割文を生成するステップを前記コンピュータに実行させることを特徴とする。
【００５７】
請求項４４の本発明の自然言語処理プログラムは、前記類型検索ステップにおいて、前記類型データにおいて示される、前記分割文を構成する各位置の前記部分文字列のそれぞれに対して当該部分文字列が満たすべき条件を示す文字列条件データを参照するステップと、前記分割ステップにより生成された前記分割文に対し、前記応答テーブル中の前記類型データであって、前記文字列条件データの個数が当該分割文を構成する前記部分文字列の個数と等しく、かつ、全ての前記部分文字列が対応する位置の前記文字列条件データの条件を満たすものを、当該分割文の類型に該当する前記類型データであるとして検索するステップを前記コンピュータに実行させることを特徴とする。
【００５８】
請求項４５の本発明の自然言語処理プログラムは、前記類型検索ステップにおいて、語句を各グループ毎にまとめて記録した語句分類テーブルを参照するステップと、前記文字列条件データに基いて、前記分割文における当該文字列条件データに対応する位置の前記部分文字列が、前記語句分類テーブル内の当該文字列条件データにより指定された前記グループ中の前記語句の１つと一致するか否かを判定するステップを前記コンピュータに実行させることを特徴とする。
【００５９】
請求項４６の本発明の自然言語処理プログラムは、前記抽出ステップは、前記類型検索ステップによる検索に該当した前記類型データに対応して前記応答テーブルに記録された前記処理内容データを抽出するステップと、抽出された前記処理内容データに、前記類型検索ステップにおいて検索に用いた前記分割文の１つ又は複数の指定された位置の前記部分文字列のデータを付加した上で前記応答ステップに送るステップを前記コンピュータに実行させ、前記応答ステップは、電気通信ネットワークを介して外部のサーバと通信する通信ステップと、前記処理内容データに基き、当該処理内容データに付加された１つ又は複数の前記部分文字列を検索キーワードに用いて、前記外部のサーバに対し情報を問合せて取得するステップを前記コンピュータに実行させることを特徴とする。
【発明の効果】
【００６０】
以上説明したように本発明の自然言語処理装置とその自然言語処理方法、及び自然言語処理プログラムによれば、次に述べるような効果が得られる。
【００６１】
本発明の第１の効果は、直ちに文章構造から意味内容の認識をする方式のため、処理対象の文章中の全ての語句がシステム内の辞書に予め登録されている必要がないことである。そして、認識した構文構造を基に、その意味内容を認識し適切な応答を返すことができる。従来では膨大な労力と費用を必要とした単語辞書の作成・更新のコストが解消され、効率のよい自然言語認識のシステムの開発が可能となる。
【００６２】
本発明の第２の効果は、従来のように大容量の単語辞書を用いて文中の語句を照合する方式ではないため、記憶容量が少なく、処理性能の低い装置でも自然言語認識を行うことができることである。このため、パソコン環境に限らず、ＰＤＡ、携帯通信端末、カーナビ、その他家庭電化製品等の各種環境においても自然言語認識のシステムを構築することが可能である。
【００６３】
本発明の第３の効果は、本発明の自然言語認識装置を用いることにより、例えば、検索語句を“パソコン”とする場合に「パソコンの意味は何」等の話し言葉を用いて問い合わせることができることである。これは、入力された「〜の意味は何」に対してその文章構造を基に情報検索の問合せの言葉であることを認識することができるからである。検索に用いる“〜”の部分は任意の語句に対し対応することができ、新語や専門用語などの予め単語辞書に登録しておくことが困難な言葉についても検索することができる。
【００６４】
また例えば、明日の東京の天気を検索する場合に、現在の検索システムにおける“今日”“東京”“天気”の３つの条件を個別に指定する方式ではなく、自然言語認識により「明日の東京の天気を調べて」という話し言葉により一回で検索させることができる。これは、本発明の自然言語認識装置では、「明日の東京の天気を調べて」の文の文章構造を認識して、“今日”“東京”“天気”の検索条件を示す語句を正しく抽出することができるからである。
【００６５】
本発明の第４の効果は、本発明の自然言語認識装置を用いることにより、例えば、「〜は〜です」「〜は〜ではない」「〜は〜ですか」「〜の〜は〜です」「〜は〜の〜です」「〜の〜は何」等の話し言葉の形で自由に知識データを追加・削除・更新することができる。
【００６６】
例えば、日本の首都が東京である旨の知識データを登録する際に、“日本”“首都”“東京”の３つの条件を個別に指定する方式ではなく、自然言語認識により「日本の首都は東京です」という話し言葉により一回で登録させることができる。これは、本発明の自然言語認識装置では、「日本の首都は東京です」の文の文章構造を認識して、“日本”“首都”“東京”の各語句を抽出し、かつこの各語句の相互関係を認識できるからである。
【００６７】
本発明の第５の効果は、応答ファイル等の内容を書き換えることで、利用者が自然言語認識の詳細な処理を自由に設定することができることである。また、文脈に応じた細かい応答内容を設定することも可能であり、例えば、ホテルの予約処理や地理案内の提供等をコンピュータと人との間で対話的に行うなど、実用的な応答処理を設定することができる。
【発明を実施するための最良の形態】
【００６８】
次に、本発明の実施の形態について図面を参照して詳細に説明する。図１は、本発明の自然言語処理装置１００の構成の一例を示すブロック図である。
【００６９】
図１を参照すると、本実施の形態の自然言語処理装置１００は、分割部２０と、応答抽出部３０と、応答部４０と、分割語句テーブル８０と、応答テーブル８５を備えている。また分割部２０は、分割語句検索部２１と分割処理部２９を備え、応答抽出部３０は、類型検索部３１と、抽出処理部３９を備えている。
【００７０】
分割部２０は、自然言語のテキストデータである処理対象の文を、文の分割方法を規定した分割規則に基いて１つ又は複数の部分文字列に分割した分割文を生成する。
【００７１】
分割規則は、分割部２０による文の分割方法を定めたものであり、ここで図１の実施の形態の分割部２０においては、処理対象の文中に含まれる場合に文を分割する語句である分割語句の一覧を示す分割語句テーブル８０を用いて以下に説明する方法で分割を行う。
【００７２】
これは、本実施の形態の分割部２０は、分割語句検索部２１と分割処理部２９を備えて、分割語句検索部２１が、処理対象の文中に含まれる分割語句を検索し、もし分割語句が含まれる場合には分割処理部２９が、処理対象の文をその分割語句の先頭及び末尾の個所で分割するのである。
【００７３】
応答抽出部３０は、分割部２０が生成した分割文を基に、分割文の類型を示す類型データ毎に実行する処理内容を示す処理内容データを対応させて記録した応答テーブル８５を検索することにより、実行すべき処理内容を示す処理内容データを抽出する。
【００７４】
これは、応答抽出部３０は、類型検索部３１と抽出処理部３９を備えて、類型検索部３１は、分割部２０が生成した分割文の類型に該当する類型データを応答テーブル８５から検索し、そして抽出処理部３９は、この検索に該当した類型データに対応して応答テーブル８５に記録された処理内容データを抽出するのである。
【００７５】
そして、応答部４０は、抽出処理部３９が抽出した処理内容データが示す処理内容を実行する。
【００７６】
ここで、応答部４０に処理を実行させるためには、処理対象の文中の語句が必要となる場合もある。このため必要に応じて、抽出処理部３９は、応答テーブル８５から抽出した処理内容データに、類型検索部３１が検索に用いた分割文の１つ又は複数の指定された位置の部分文字列のデータを付加した上で応答部４０に送る機能を備えるものとする。この処理内容データに付加する部分文字列の位置は、処理内容データにより指定することができる。
【００７７】
次に、図面を参照して本実施の形態による自然言語処理装置１００の動作について詳細に説明する。
【００７８】
図２は、本実施の形態の自然言語処理装置１００の動作を示したフローチャートであり、図２を参照すると本実施の形態の自然言語処理装置１００は、まず分割部２０が処理対象の文を分割して分割文を生成する（ステップ１００１）。
【００７９】
図３は、本実施例の分割部２０による分割文の生成処理を詳細に示したフローチャートである。図３を参照すると、まず分割部２０の分割語句検索部２１が処理対象の文の先頭から、文中に分割語句が含まれているかどうかを検索する（ステップ１００１−１）。
【００８０】
図４は、本実施の形態の分割語句テーブル８０の一例を示す図であり、ここでは“が”“に”“を”“は”の４種類の語句を分割語句としている。このように、助詞を分割語句に用いることで、文章を個々の意味のまとまり毎に分割することができる。
【００８１】
そして、文中にこれらの分割語句がある場合には（ステップ１００１−２）、検出されたその分割語句の前後で、分割処理部２９が文を分割する（ステップ１００１−３）。例えば、処理対象の文が「今日の天気」である場合には、分割語句である“の”が含まれているため、この文章を分割語句“の”の前後で区切り「今日，の，天気」と３つの部分文字列に分割するのである。なお、分割部２０の分割処理により分割された個々の部分を部分文字列と呼ぶこととする（上述の例では“今日”“の”“天気”の３つが部分文字列）。
【００８２】
次に、ステップ１００１−３において分割を行ったこの分割語句の後に続く場所から、再び文中に分割語句が含まれているかどうかを検索する（ステップ１００１−４）。もし、分割語句が含まれていないのならばこれで分割文の生成は完了とし、また分割語句が含まれている場合には、再びステップ１００１−３に戻りその分割語句の前後で文章を区切り、ステップ１００１−４において分割語句が検出されなくなるまで、ステップ１００１−３とステップ１００１−４を交互に実行する（ステップ１００１−２）。
【００８３】
例えば、処理対象の文が「今日の天気」である場合には、先のステップ１００１−３において「今日，の，天気」と３つの部分文字列に分割されて、分割語句“の”の後に続く“天気”以下においてはもう分割語句が無いため、これで分割処理は完了し「今日，の，天気」が分割文となる。
【００８４】
また別の例として、処理対象の文が「今日の東京の天気」である場合には、１回目のステップ１００１−３においては１つ目の分割語句“の”により「今日，の，東京の天気」と分割される。ここで分割をした分割語句“の”の後“東京の天気”にも再び分割語句“の”が現れるため、再びステップ１００１−３に戻り、２回目のステップ１００１−３においては「今日，の，東京，の，天気」と分割される。２つ目の分割語句“の”の後に続く“天気”以下においてはもう分割語句が無いため、これで分割処理は完了し「今日，の，東京，の，天気」が分割文となる。
【００８５】
ここで、分割部２０による分割処理においては、必ずしも複数個の部分文字列に分割される必要は無く、分割が無い場合には処理対象の文章と同じ部分文字列１個により構成される分割文が生成されることとする。例えば、処理対象の文が「何時」である場合には、分割語句テーブル８０内の分割語句が含まれていないため分割されず、そのまま「何時」が分割文となる。
【００８６】
再び、図２のフローチャートの説明に戻る。分割部２０により分割文が生成されると、応答抽出部３０の類型検索部３１が、この分割文に該当する類型データを応答テーブル８５から検索する（ステップ１００２）。
【００８７】
図５は、本実施の形態による応答テーブル８５の一例を示す図である。図５の応答テーブル８５の例においては、各行毎に類型データと処理内容データとが対応する１つの項目が示されており、各行のコロン“：”の左側が類型データであり、その右側が処理内容データである。
【００８８】
図５の例における類型データでは、前述の分割文とほぼ同じ形式であり、「日本,の,首都,は」や「一日,は,何時間」のように分割文を構成する各部分文字列のデータを指定している。また、「<＊>,を,表示」のように“<＊>”を用いている場合には、任意の部分文字列が条件を満たすこととし、対応する位置の部分文字列を制限しない旨を示す。例えば、「ＡＢＣ,を,表示」「いろは,を,表示」「０１２３,を,表示」等の分割文に対して、「<＊>,を,表示」の類型データが該当することになる。
【００８９】
ここで、類型データ中の個々の区切られたデータを文字列条件データと呼ぶこととする。例えば、「<＊>,を,表示」の類型データの場合は“<＊>”“を”“表示”の３個の文字列条件データがある。
【００９０】
つまり、類型データは、分割文を構成する各位置の部分文字列のそれぞれに対して、当該部分文字列が満たすべき条件を示す文字列条件データ順番に示すことにより、分割文の類型を示す。例えば、「<＊>,を,表示」の類型データの場合には、３個の部分文字列から成る分割文であって、かつ１番目の部分文字列は任意であり、２番目と３番目の部分文字列がそれぞれ“を”“表示”に一致するものが条件を満たすのである。
【００９１】
図６は、本実施の形態による自然言語処理装置１００の類型検索部３１による検索処理を詳細に示したフローチャートである。
【００９２】
図６を参照すると、まず応答テーブル８５内の類型データであって、文字列条件データの個数が、分割文の部分文字列の個数と等しいものを全て取出し、これを以下の処理のチェック対象とする（ステップ１００２−１）。
【００９３】
そして、未チェックの類型データが残っている場合には（ステップ１００２−２）、未チェックである類型データの１つを取り、その１つ目の文字列条件データと、分割文の１つ目の部分文字列とを、判定対象に定める（ステップ１００２−３）。
【００９４】
そして、この判定対象の文字列条件データの条件を部分文字列が満たすかどうかをチェックし（ステップ１００２−４）、もし条件を満たしていない場合にはステップ１００２−２に戻り、また条件を満たしている場合には、判定対象の文字列条件データと部分文字列をそれぞれ１つ先に進めて同様のチェックを行いこれを全ての部分文字列のチェックが完了するまで繰り返す（ステップ１００２−４〜１００２−６）。
【００９５】
ここで未判定の部分文字列がなくなった場合、つまり全ての部分文字列が対応する位置の文字列条件データの条件を満たす場合には、この判定対象の類型データが検索に該当することが判明したのであり、検索処理を終了する（ステップ１００２−７）。
【００９６】
また、ステップ１００２−２において、もう未チェックの類型データが残っていない場合には、検索に該当する類型データが無いことが判明したのであり検索処理を終了する（ステップ１００２−８）。
【００９７】
再び、図２のフローチャートの説明に戻る。ステップ１００２の類型検索部３１による検索に該当する類型データがある場合には、この類型データに対応する処理内容データを抽出処理部３９が抽出し（ステップ１００３）、この処理内容データに示される処理内容を応答部４０が実行する（ステップ１００４）。
【００９８】
また、ステップ１００２の類型検索部３１による検索に該当する類型データがない場合には、定められたエラー処理を実行処理を実行することとする。このエラー処理としては例えば、文章を認識できなかった旨を通知するエラーメッセージを表示する方式や、無応答にして当該文章を無視する方式等が考えられる。
【００９９】
図５の応答テーブルにおいては、処理内容データに、ハイフン“-”に続いて関数名“応答文出力”又は“応答文生成”を記載している。“応答文出力”の関数は、これに続く括弧の中の文章を応答文として出力させる旨の命令である。“応答文生成”の関数は、“応答文生成（時刻）”の場合には現在時刻を応答文として出力させる旨の命令であり、“応答文生成（日付）”の場合には現在の日付を応答文として出力させる旨の命令である。なお、応答部４０に対してこのように処理内容データのテキストに記載した命令を実行させる技術は公知であり、本発明に特に関係しない部分であるため説明を省略する。
【０１００】
例えば、「日本の首都は」という文章が処理対象である場合には、分割部２０により分割文「日本,の,首都,は」が生成され（ステップ１００１）、これに該当する類型データを類型検索部３１が応答テーブル８５から検索し（ステップ１００２）、検索に該当した類型データに対応する処理内容データ「-応答文出力（東京都です）」を抽出処理部３９が抽出し（ステップ１００３）、応答部４０がこの処理内容データに基いて応答文「東京都です」を出力する（ステップ１００４）。
【０１０１】
また例えば、「一日は何時間」という文章が処理対象である場合には、分割部２０により分割文「一日,は,何時間」が生成され（ステップ１００１）、これに該当する類型データを類型検索部３１が応答テーブル８５から検索し（ステップ１００２）、検索に該当した類型データに対応する処理内容データ「-応答文出力（２４時間です）」を抽出処理部３９が抽出し（ステップ１００３）、応答部４０がこの処理内容データに基いて応答文「２４時間です」を出力する（ステップ１００４）。
【０１０２】
また、類型データに“<＊>”の任意指定を用いる場合等においては、その任意の部分文字列のデータにも基いて処理を実行させたい。このため、抽出処理部３９には、抽出した処理内容データに、類型検索部が検索に用いた分割文の指定された位置の部分文字列のデータを付加した上で応答部４０に送る機能を備え、応答部４０には、処理内容データが示す処理内容を、当該処理内容データに付加された部分文字列のデータを用いて実行する機能を備えるものとする。また、処理内容データに付加する部分文字列の個数は複数でもよい。
【０１０３】
これに対応するため、図５の応答テーブル８５においては、処理内容データに「-応答文出力（<１>）」のように部分文字列の番号を不等号の括弧“<”“>”で囲んで指定し、抽出処理部３９は、こうした処理内容データを抽出した場合において、不等号の括弧“<”“>”で囲まれた部分を指定された部分文字列で置換えることで、処理内容データに指定された部分文字列を付加することができる。
【０１０４】
例えば、「ＡＢＣを表示」という文章が処理対象である場合には、分割部２０により分割文「ＡＢＣ,を,表示」が生成され（ステップ１００１）、これに該当する類型データを類型検索部３１が応答テーブル８５から検索し（ステップ１００２）、検索に該当した類型データ「<＊>,を,表示」に対応する処理内容データ「-応答文出力（<１>）」を抽出処理部３９が抽出し、“<１>”の部分を１番目の部分文字列“ＡＢＣ”に置換えた処理内容データ「-応答文出力（ＡＢＣ）」を応答部４０に送り（ステップ１００３）、応答部４０がこの処理内容データに基いて応答文「ＡＢＣ」を出力する（ステップ１００４）。
【０１０５】
例えば、「１丁目の２番地を表示」という文章が処理対象である場合には、分割部２０により分割文「１丁目,の,２番地,を,表示」が生成され（ステップ１００１）、これに該当する類型データを類型検索部３１が応答テーブル８５から検索し（ステップ１００２）、検索に該当した類型データ「<＊>,の,<＊>,を,表示」に対応する処理内容データ「-応答文出力（<１>の<３>）」を抽出処理部３９が抽出し、“<１>”と“<３>”の部分をそれぞれ１番目と３番目の部分文字列“１丁目”“２番地”に置換えた処理内容データ「-応答文出力（１丁目の２番地）」を応答部４０に送り（ステップ１００３）、応答部４０がこの処理内容データに基いて応答文「１丁目の２番地」を出力する（ステップ１００４）。
【０１０６】
図７は、本発明の図１の実施の形態による自然言語処理装置１００の一連の処理を、上述の様々な処理を含めて示したフローチャートである。
【０１０７】
図７を参照すると、本実施の形態の自然言語処理装置１００は、まず分割部２０により処理対象の文を分割し分割文を生成する（ステップ１０５１）。この分割処理の方法については図３のフローチャートに例が示されている。
【０１０８】
次に、応答検索部３０の類型検索部３１により、応答テーブル８５内の類型データであって、文字列条件データの個数が分割文の部分文字列の個数と等しく、かつ全ての文字列条件データの条件をそれぞれに対応する位置の部分文字列が満たしているものを検索する（ステップ１０５２）。この検索処理の方法については図６のフローチャートに例が示されている。
【０１０９】
次に、応答検索部３０の抽出処理部３９により、類型データに対応する処理内容データを抽出し、分割文を構成する部分文字列の内で処理内容データにおいて指定されるものを、処理内容データに付加して応答部４０に送る（ステップ１０５３）。そして、応答部４０が、処理内容データに付加された部分文字列を用いて、その処理内容データが示す処理内容を実行する（ステップ１０５４）。
【０１１０】
ここで、この図１の実施の形態による自然言語処理装置１００の分割部２０による分割文の生成処理について、他の好ましい実施例を説明する。
【０１１１】
分割部２０は、処理対象の文を個々の意味のまとまり毎に分割できることが好ましいが、前述の図３のフローチャートに示される“が”“に”“を”“は”等の分割語句を用いて分割する方式のみでは、１つの単語が複数の部分文字列に不適切に分割されてしまう危険があり、これを回避できるようにしたい。
【０１１２】
ここで、単語等の意味のまとまりをもつ文字列においては、その先頭に来ない文字や、その末尾に来ない文字がある。例えば、先頭に来ない文字としては「っゃゅょぁぃぅぇぉッャュョァィゥェォ」等の促音・促音等、長音符「ー」、「ん」、閉じる括弧等があり、末尾に来ない文字としては開く括弧等がある。
【０１１３】
このため、この先頭に来ない文字を先頭禁則文字、末尾に来ない文字を末尾禁則文字としてそれぞれ定め、分割部２０による分割後にこれらの禁則文字が該当する部分文字列に対しては、前後の部分文字列と連結させることにより、先頭禁則文字が先頭になったり、末尾禁則文字が末尾となることを回避することができる。
【０１１４】
図８は、本実施の形態による自然言語処理装置１００の分割部２０による分割文の生成処理の、上述の他の一例を説明するフローチャートである。図８を参照すると、ステップ１００１−１〜１００１−４までは、図３の前述の処理と同じであるが、ステップ１００１−４に続いて、禁則文字を回避する処理を行っている。
【０１１５】
つまり、先頭の文字が先頭禁則文字である部分文字列がある場合には、その部分文字列とその１つ前の部分文字列とを、双方の間の分割を解除して１つの部分文字列にし（ステップ１００１−５）、続いて、末尾の文字が末尾禁則文字である部分文字列がある場合には、その部分文字列とその１つ後の部分文字列とを、双方の間の分割を解除して１つの部分文字列にする（ステップ１００１−６）。
【０１１６】
例えば、「にんじん」、「にんぎょ」、「にんにく」、「はんてん」、「はんぺん」等の各単語は、分割語句による分割で「に,んじん」、「に,んぎょ」、「に,ん,に,く」、「は,んてん」、「は,んぺん」として複数の部分文字列に分割されてしまう。そこで、上述の禁則文字を回避する処理を行うことにより、これらの単語を１つの部分文字列として正しく分割させることができる。
【０１１７】
以上説明したように本実施の形態の自然言語処理装置１００によれば、第１に従来のように予め膨大な量の単語を登録した単語辞書を備える必要が無くなる。これは、文章を“が”“に”“を”“は”等の助詞の位置を基に文章構造から認識するとができ、また類型データにおいて任意の文字列を示す“<＊>”等のワイルドカードを含めることで、システム中に登録されていない未知の単語の入力を受けつけることができるからである。。
【０１１８】
第２に、入力される自然言語の文章の意味内容に対応させて実行させる処理をとても容易に設定することができる。これは、図５の応答テーブル８５の例に示されるように、処理対象の文章の類型と、それに対する応答とを分り易く簡単に応答テーブル８５で指定することができるからである。
【０１１９】
第３に、システムが予め備えている辞書にない、未知の言葉が入力された場合にも適切に対応することができる。これは、類型データに任意の文字列を示す“<＊>”等を含めた場合においても、単に任意の文字列の入力を受けつけるのみではなく、この“<＊>”が対応する位置の部分文字列のデータを参照して応答処理に用いることができ、適切な応答処理を実行させることができるからである。
【実施例１】
【０１２０】
次に、本発明の実施例１について図面を参照して詳細に説明する。図９は、本発明の実施例１による自然言語処理装置１００ａの構成を示すブロック図である。
【０１２１】
図９を参照すると、本実施例の自然言語処理装置１００ａは、図１の自然言語処理装置１００と比較して、分割を禁止する２字以上の文字列である連結語句の一覧を示す連結語句テーブル８１を新たに備え、分割部２０ａにおいて、処理対象の文中に含まれる連結語句を検索する連結語句検索部２２を新たに備える。本実施例の自然言語処理装置１００ａは、分割部２０ａにより、処理対象の文を連結語句の内部に該当しない個所に限り分割したものを分割文として生成することを特徴とする。
【０１２２】
図１０は、本実施例による連結語句テーブル８１の一例を示す図である。図１０の例を参照すると、本実施例の連結語句テーブル８１は、“きのこ”“菜の花”“竹の子”“おはよう”の各語句が連結語句として記録されている。
【０１２３】
次に、図面を参照して本実施例による自然言語処理装置１００ａの動作について詳細に説明する。
【０１２４】
図１１、図１２は、本実施例の自然言語処理装置１００ａの分割部１０ａによる分割文の生成処理を示すフローチャートであって、それぞれが異なる方式に基くものであり、本実施例においてはこの２種類の方式の処理を説明する。
【０１２５】
図１１では、処理対象の文を部分文字列に分割した後に、分割されている連結語句を検出して連結させる方式である。図１２では、処理対象の文を部分文字列に分割する際に、連結語句を分割することになるのかをチェックすることにより連結語句の分割を回避する方式である。
【０１２６】
まず、図１１の方式の動作を説明する。図１１を参照すると、まず分割部１０ａは、処理対象の文を、文中に含まれる分割語句の先頭及び末尾で分割することにより部分文字列に分ける（ステップ１１０１）。この処理内容は、図３や図８の分割文生成処理と同様である。
【０１２７】
次に、連結語句が連続する位置の複数個の部分文字列に分割されている場合には、その各部分文字列の間の分割を解除して１つの部分文字列にする処理を行う。まず、先頭の部分文字列を、連結語句の分割チェックの起点に定める（ステップ１１０２）。
【０１２８】
そして、起点の部分文字列を含めて、未チェックの部分文字列が２個以上ある場合には（ステップ１１０３）、連結語句検索部２２が、連結語句が分割されているかどうかを起点の部分文字列からチェックする（ステップ１１０４）。ただし、ここで未チェックの部分文字列が２個以上ないのであれば、もう連結する部分文字列が無いので、分割文の生成処理を終了とする（ステップ１１０３）。
【０１２９】
ここで連結語句が分割されている場合には、分割処理部２９ａが、この連結語句の内部の分割を解除して１つの部分文字列にする。そして、連結語句の分割チェックの起点を、この連結した連結語句の次の部分文字列に進めて、ステップ１１０３以降の分割をチェックする処理に戻る（ステップ１１０７）。また、ステップ１１０５において連結語句が分割されていない場合には、連結語句の分割チェックの起点を次の部分文字列に進めて、ステップ１１０３以降の分割をチェックする処理に戻る（ステップ１１０８）。
【０１３０】
以上のようにして、分割されている連結文字列のない分割文を生成することができる。
【０１３１】
例えば、処理対象の文が「菜の花の写真」である場合には、先のステップ１１０１において「菜,の,花,の,写真」と分割されてしまうが、ここでこの先頭の部分文字列“菜”を起点に連結語句を探すと（ステップ１１０４）、連結語句“菜の花”が検出されてこれが３つに分割されていることが分るため、この“菜,の,花”の内側の２箇所の分割を解除して１つの部分文字列“菜の花”とする（ステップ１１０６）。すると「菜の花,の,写真」が得られ、分割チェックの起点を“菜の花”の次の部分文字列“の”に定めて（ステップ１１０７）、２回目の分割チェックを行う。
【０１３２】
２回目の分割チェックでは連結語句が見つからないので、次の部分文字列“写真”を、連結語句の分割チェックの起点に定めて（ステップ１１０８）、３回目の分割チェックを行う。すると、残る部分文字列が１つのみでもう連結処理はできないので（ステップ１１０３）、分割文の生成処理を終了する。このようにして「菜の花の写真」の文は各単語毎に「菜の花,の,写真」と適切に分割することができる。
【０１３３】
次に、図１２の方式の動作を説明する。図１２参照すると、まず分割部１０ａは、文字列比較を行う始りの文字の位置を示す比較起点位置に、文の先頭を示す“１”を設定する（ステップ１１５１）。
【０１３４】
そして、比較起点位置が、処理対象の文の文字数を越えない場合には（ステップ１１５２）、分割語句検索部２１が、個々の分割語句に対して、処理対象の文の比較起点位置から始るその分割語句の文字数分の文字列と、その分割語句とが一致するかをチェックする（ステップ１１５３）。また、比較起点位置が、処理対象の文の文字数を越える場合にはこの分割処理を終了する（ステップ１１５２）。
【０１３５】
そして、一致する分割語句がない場合には、比較起点位置を“１”増加させることにより１文字先に進めて、ステップ１１５２以降の分割語句と一致するかをチェックする処理に戻る（ステップ１１５４、１１５５）。
【０１３６】
また、一致する分割語句がある場合には、連結語句検索部２２が、処理対象の文中においてこの分割語句が他の連結語句の一部分として含まれるかどうかをチェックする（ステップ１１５６）。ここで、この分割語句が連結語句に含まれない場合には、分割処理部２９ａが、この分割語句の前後で文を分割し（ステップ１１５７）、この分割語句の文字数を比較起点位置に加算して（ステップ１１５８）、ステップ１１５２以降の分割語句と一致するかをチェックする処理に戻り、この分割語句の次の文字からチェックを再開する。
【０１３７】
また、この分割語句が連結語句に含まれる場合には、分割処理部２９ａが、この連続語句の前後で文を分割する（ステップ１１５９）。そして、この連続語句が複数の部分文字列に分割されている場合には、分割処理部２９ａが、その各部分文字列の間の分割を解除して１つの部分文字列にする（ステップ１１６０）。そして、比較起点位置を増加させて文字列比較を行う始りの文字の位置をこの連結語句の末尾の文字より１つ先の文字（つまり連結語句の次の文字）に設定した上で、ステップ１１５２以降の分割語句と一致するかをチェックする処理に戻る（ステップ１１６１）。
【０１３８】
以上のようにして、分割されている連結文字列のない分割文を生成することができる。
【０１３９】
例えば、処理対象の文が「菜の花の写真」である場合を考える。まず１回目の分割語句のチェックにおいては１文字目からチェックされ（ステップ１１５１〜１１５３）、図４の例に示されるいずれの分割語句にも該当しないので、比較起点位置を“１”増加させてステップ１１５２に戻る（ステップ１１５４、１１５５）。
【０１４０】
２回目の分割語句のチェックにおいては２文字目“の”からチェックされ、これが分割語句に該当するため、処理対象の文中においてこの分割語句が他の連結語句の一部分として含まれるかどうかをチェックする（ステップ１１５６）。すると、この２文字目の“の”は連結語句“菜の花”の一部分として処理対象の文に含まれるので、この連結語句“菜の花”の前後で文を分割し「菜の花,の写真」が得られる（ステップ１１５９）。ここで、分割処理においては、文の先頭の前の個所、及び文の末尾の後ろの個所の分割は無視する。
【０１４１】
そして、この連続語句“菜の花”は分割されていない１つの分割文字列なのでそのままにして（ステップ１１６０）、この連結語句“菜の花”の次の文字“の”を比較起点位置に設定して、ステップ１１５２に戻る（ステップ１１６１）。
【０１４２】
３回目の分割語句のチェックにおいては、“の”が分割語句に該当し（ステップ１１５４）かつ分割語句の一部に含まれていないため（ステップ１１５６）、この分割語句“の”の前後で文を分割し「菜の花,の,写真」が得られる（ステップ１１５７）。ここで分割処理においては、既に分割済の個所への分割は無視することとする。
【０１４３】
そして、この分割語句“の”の次の文字“写”を比較起点位置に設定して、ステップ１１５２に戻る（ステップ１１６１）。
【０１４４】
４回目の分割語句のチェックにおいては、いずれの分割語句にも該当しないので、比較起点位置を“１”増加させて“５”としステップ１１５２に戻る（ステップ１１５４、１１５５）。５回目の分割語句のチェックにおいても同様に、“真”はいずれの分割語句にも該当しないので、比較起点位置を“１”増加させて“６”としステップ１１５２に戻る（ステップ１１５４、１１５５）。すると、比較起点位置が“７”となり、処理対象の文の文字数“６”を超えるため、これで分割文の生成処理が終了する。このようにして「菜の花の写真」の文は各単語毎に「菜の花,の,写真」と適切に分割することができる。
【０１４５】
以上説明したように本実施例の自然言語処理装置１００ａによれば、図１の実施の形態の効果に加えて、分割を回避する語句を予め設定することにより、文章を単語毎・意味毎に適切に分割することができ、自然言語の高い認識性能を実現できる。
【実施例２】
【０１４６】
次に、本発明の実施例２について図面を参照して詳細に説明する。図１３は、本発明の実施例２の自然言語処理装置１００ｂの構成の一例を示すブロック図である。
【０１４７】
図１３を参照すると、本実施例の自然言語処理装置１００ｂは、図１の自然言語処理装置１００と比較して、処理対象の文から削除する語句である削除語句の一覧を示す削除語句テーブル８２を新たに備え、また分割部２０ｂには、処理対象の文に含まれる削除語句を検索する削除語句検索部２３を新たに備える。
【０１４８】
本実施例の自然言語処理装置１００ｂは、分割部２０ｂが、処理対象の文を分割して分割文を生成する前に、各削除語句を全て削除することを特徴とする。また、処理対象の文から、句読点・スペース・タブ・改行等の削除も行う。
【０１４９】
図１４は、本実施例による自然言語処理装置１００ｂの削除語句テーブル８２の一例を示す図であり、“えーと”“あのー”の２つの語句が削除語句として登録されている。このような語句は、例えば音声認識による文章等において発生しやすい。
【０１５０】
このような、意味を持たない冗長な語句は削除しても文章の意味を解釈する上では特に問題はなく、またこうした不要な語句が削除されることで文章が短くすっきりとし、自然言語認識処理の精度が向上することにもなる。また、処理対象の文章には句読点・スペース・タブ・改行等が含まれることがあり、これらを削除することも同様にして自然言語処理の精度が向上することになる。
【０１５１】
次に、図１５を参照して本実施例による自然言語処理装置１００ｂの動作について詳細に説明する。図１５は、本実施例の自然言語処理装置１００ｂの分割部２０ｂによる分割文の生成処理の動作を示したフローチャートである。
【０１５２】
図１５を参照すると、まず分割部２０ｂは、分割処理部２９ｂ等により、処理対象の文に含まれる句読点・スペース・タブ・改行を全て削除する（ステップ１２０１）。そして、削除語句検索部２３が検出する処理対象の文に含まれる削除語句を、分割処理部２９ｂ等により全て削除する（ステップ１２０２）。そして、図１の実施の形態等の方法によりこの文を分割し分割文を生成する（ステップ１２０３）。
【０１５３】
例えば、「えーとあのー今の時刻は」の文章に対して、図１の実施の形態等の方法では「えーとあ,のー今,の,時刻,は」と各単語がバラバラに分割されてしまう。そこで、本実施例の方法では、削除語句検索部２３により削除語句“えーと”“あのー”が含まれることを検出し、これを削除して「今の時刻は」となり（ステップ１２０２）、更に分割語句に基いて分割処理を行い「今,の,時刻,は」と各単語毎に適切に分割することができる（ステップ１２０３）。
【０１５４】
また本実施例においては、図１４のステップ１２０１とステップ１２０２はその実行の順序を逆にしてもよく、またステップ１２０１とステップ１２０２の一方のみを実行する方式を採用しても文中から不要な語句が削除されることにより同様の効果が実現される。
【０１５５】
以上説明したように本実施例の自然言語処理装置１００ｂによれば、図１の実施の形態の効果に加えて、文中から不要な語句を削除することで、より精度の高い自然言語の認識処理を実現することができる。
【実施例３】
【０１５６】
次に、本発明の実施例３について図面を参照して詳細に説明する。図１６は、本発明の実施例３の自然言語処理装置１００ｃの構成の一例を示すブロック図である。
【０１５７】
図１６を参照すると、本実施例の自然言語処理装置１００ｃは、図１の自然言語処理装置１００と比較して、書換対象の語句である書換元語句のそれぞれに書換元語句を書換える書換後語句を対応させて記録した書換テーブル８３を新たに備え、また分割部２０ｃには、処理対象の文に含まれる書換語句を検索する書換語句検索部２４を新たに備える。
【０１５８】
本実施例の自然言語処理装置１００ｃは、分割部２０ｃが、処理対象の文に含まれる書換元語句を書換後語句に書換えて分割文を生成することを特徴とする。
【０１５９】
図１７は、本実施例の書換語句テーブル８３の一例を示す図である。図１７の例においては、各行においてコロン“：”の右側が書換元語句であり、その左側が対応する書換後語句である。つまり、“きょう”は“今日”に書き換え、“あす”“あした”“みょうにち”はそれぞれ“明日”に書き換え、“スケジュール”は“予定”に書き換える旨の内容である。
【０１６０】
次に、図面を参照して本実施例による自然言語処理装置１００ｃの動作について詳細に説明する。
【０１６１】
図１８、図１９は、本実施例の自然言語処理装置１００ｃの分割部２０ｃによる分割文の生成処理の動作を示したフローチャートであって、それぞれが異なる方式に基くものであり、本実施例においてはこの２種類の方式の処理を説明する。
【０１６２】
図１８では、処理対象の文中に含まれる全ての書換元語句を対応する書換後語句に置換した上で、分割を行い分割文を生成する方式である。図１９では、処理対象の文を分割した上で、各部分文字列の内でいずれかの書換元語句と一致するものを全て対応する書換後語句に置換することで分割文を生成する方式である。
【０１６３】
まず、図１８の方式の動作を説明する。図１８を参照すると、まず分割部２０ｃは、書換語句検索部２４により処理対象の文に含まれる書換元語句を検索して、文に含まれる書換元語句を全て対応するそれぞれの書換先語句に分割処理部２９ｃ等により変換する（ステップ１３０１）。そして、前述の実施例や実施の形態の方法によりこの文を分割し分割文を生成する（ステップ１３０２）。
【０１６４】
このようにして、同じ意味を示すいくつもの同義語を、代表する１つの語句に変換して処理することができるので、同義語の内の代表する１つの語句を用いて応答テーブル８５に類型データとして設定することができる。
【０１６５】
例えば、「今日の予定」「きょうの予定」「今日のスケジュール」「きょうのスケジュール」の各文は、ステップ１３０１により全て同じ「今日の予定」と変換され、ステップ１３０２において「今日,の,予定」と分割される。このため、「今日,の,予定」のみを類型データとして応答ファイルに登録するのみで、「今日の予定」「きょうの予定」「今日のスケジュール」「きょうのスケジュール」のそれぞれの文に対し共通の処理を実行させることができる。
【０１６６】
次に、図１９の方式の動作を説明する。図１９を参照すると、まず分割部２０ｃは、前述の実施例や実施の形態の方法によりこの文を分割する（ステップ１３５１）。そして、書換語句検索部２４により、各部分文字列の内でいずれかの書換元語句と一致するものを検索して、書換元語句に一致する部分文字列を全て対応するそれぞれの書換先語句に分割処理部２９ｃ等により変換する（ステップ１３５２）。
【０１６７】
例えば、「今日の予定」「きょうの予定」「今日のスケジュール」「きょうのスケジュール」の各文は、ステップ１３５１において「今日,の,予定」「きょう,の,予定」「今日,の,スケジュール」「きょう,の,スケジュール」と分割され、ステップ１３５２において書換元語句を書換後語句に変換することにより全て「今日,の,予定」と変換される。このため、図１８の場合と同様の処理結果を得ることができる。
【０１６８】
以上説明したように本実施例の自然言語処理装置１００ｃによれば、図１の実施の形態の効果に加えて、応答テーブル８５中の項目を増やすことなく、様々な同義語の使用に対応することができる。
【実施例４】
【０１６９】
次に、本発明の実施例４について図面を参照して詳細に説明する。図２０は、本発明の実施例４の自然言語処理装置１００ｄの構成の一例を示すブロック図である。
【０１７０】
図２０を参照すると、本実施例の自然言語処理装置１００ｄは、図１の自然言語処理装置１００と比較して、
【０１７１】
語句を各グループ毎にまとめて記録した語句分類テーブル８６と、各種のデータを記録する登録データテーブル８８を新たに備え、また応答抽出部３０ｄには、語句が語句分類テーブル８６中の各グループ中に登録されているかどうか検索する分類検索部３２を新たに備える。
【０１７２】
本実施例の自然言語処理装置１００ｄは、応答テーブル８５ｄにおいて、類型データの文字列条件データとして、語句分類テーブル内の予め指定されたグループ中の語句の１つと一致するという条件を指定できるようにしたことを特徴とする。更に、応答部４０ｄにおいて、各種のデータを記録した登録データテーブル８８内のデータを参照・追加・削除する機能を備え、その内容に用いて処理を実行させることができるようにした。
【０１７３】
図２１は、本実施例による語句分類テーブル８６の一例を示す図である。図２１の例においては、各行のコロン“：”の左側が分類されたグループの名前であり、コロン“：”の右側がそのグループに含まれる語句である。つまり、“プログラム名”と“画像名”の２つのグループがあり、“プログラム名”のグループには“メモ帳”“電卓”“ブラウザ”の各語句が含まれ、“画像名”のグループには“地図”“設計図”“写真”の各語が含まれる旨の内容である。
【０１７４】
図２２は、本実施例による登録データテーブル８８の一例を示す図である。図２２の例においては、コロン“：”の左側がプログラム名や画像名であり、コロン“：”の右側がそれに対応するファイル名である。つまりプログラム名が“メモ帳”“電卓”“ブラウザ”である各プログラムのファイル名と、画像名が“地図”“設計図”“写真”である各画像のファイル名が登録されている。
【０１７５】
図２３は、本実施例による応答テーブル８５ｄの一例を示す図であり、「<プログラム名>,を,出して」と「<画像ファイル名>,を,出して」との２種類の類型データがあり、コロン“：”以下の中括弧“{”“}”に囲まれた内部がそれぞれに対応する処理内容データである。この各処理内容データにおいては、中括弧“{”“}”に囲まれた内部の２行の命令を順次実行する。
【０１７６】
また、類型データの文字列条件データにおいては、“<プログラム名>”や“<画像ファイル名>”のように語句分類テーブル８６のグループ名を不等号の括弧“<”“>”で囲むことにより、この文字列条件データに対応する位置の部分文字列がこの指定したグループ中の語句の１つに一致するという条件を示すこととする。
【０１７７】
つまり、「<プログラム名>,を,出して」の類型データには、「メモ帳,を,出して」「電卓,を,出して」等の分割文が該当し、「<画像ファイル名>,を,出して」の類型データには、「地図,を,出して」「設計図,を,出して」等の分割文が該当するのである。
【０１７８】
図２３の応答テーブルにおいては、処理内容データに、ハイフン“-”に続いて関数名“応答文出力”と“プログラム実行”“登録実行”“登録削除”のいずれかとが記載されている。
【０１７９】
“応答文出力”の関数は、前述の実施の形態と同じく、これに続く括弧の中の文章を応答文として出力させる旨の命令である。“プログラム実行”の関数は、任意の文字列を“〜”で表すこととして、“プログラム実行（登録プログラム,〜）”の場合は、“〜”の部分に示されるプログラム名の登録データテーブル８８に登録された対応するファイル名のプログラムを実行する旨の命令である。“プログラム実行（画像表示,〜）”の場合は、“〜”の部分に示される画像名の登録データテーブル８８に登録された対応するファイル名の画像ファイルを表示する旨の命令である。“登録実行”と“登録削除”の命令については後に説明する。
【０１８０】
次に、図面を参照して本実施例による自然言語処理装置１００ｄの動作について詳細に説明する。本実施例の自然言語処理装置１００ｄの全体的な動作は図１の実施の形態等と同様であるが、応答抽出部３０ｄの処理において語句分類テーブル８６のグループを指定する文字列条件データに対応することと、応答部４０ｄの処理において登録データテーブル８８のデータに基いて処理を実行できることとが新たに追加される。
【０１８１】
図７のフローチャートを参照・比較して、本実施例の処理を説明する。本実施例の自然言語処理装置１００ｄの動作は、まず、ステップ１０５１と同じく、分割部２０が処理対象の文を分割する。
【０１８２】
そして、ステップ１０５２と同様にして、応答抽出部３０ｄの類型検索部３１ｄが、応答テーブル内の類型データであって、文字列条件データの個数が分割文の部分文字列の個数と等しく、かつ全ての文字列条件データの条件をそれぞれに対応する位置の部分文字列が満たしているものを検索する。
【０１８３】
ただし、文字列条件データに“<プログラム名>”や“<画像ファイル名>”のように、語句分類テーブル８６のグループ名が指定されている場合には、文字列条件データの成立チェック（図６のステップ１００２−４）において、分類検索部３２が語句分類テーブル８６を参照して、この文字列条件データに対応する位置の部分文字列がこの指定したグループ中の語句の１つに一致するかどうかチェックすることで、条件の成否を判定する。
【０１８４】
そして、ステップ１０５３と同様にして、応答抽出部３０ｄの抽出処理部３９ｄが、類型データに対応する処理内容データを抽出し分割文を構成する部分文字列の内で処理内容データにおいて指定されるものを、処理内容データに付加して応答部４０ｄに送る。
【０１８５】
そして、ステップ１０５４と同様にして、応答部４０ｄが、処理内容データに付加された部分文字列を用いて、その処理内容データが示す処理内容を実行する。
【０１８６】
ただし、処理内容データに“プログラム実行”等の登録データテーブル８８のデータに基いて実行する命令については、応答部４０ｄは、登録データテーブル８８を参照して必要なデータを取得し指定された処理を実行する。
【０１８７】
図２４は、本実施例の応答部４０ｄのこうした登録データテーブル８８のデータに基いて実行する命令に対する動作の例を示したフローチャートである。ここでは、登録プログラムの実行命令を例に取る。
【０１８８】
図２４を参照すると、本実施例の応答部４０ｄは、まず処理内容データ（ここでは登録プログラムの実行命令）を受付る（ステップ１４０１）。そして、処理内容データに付加された部分文字列である“プログラム名”のデータを取得する（ステップ１４０２）。
【０１８９】
そして、登録プログラムテーブル８８を参照して、“プログラム名”に対応して登録された“ファイル名”のデータを取得する（ステップ１４０３）。そして、“ファイル名”に示されるプログラムファイルを起動させる（ステップ１４０４）。
【０１９０】
例えば、“プログラム実行（登録プログラム,メモ帳）”の命令を受けつけた場合には（ステップ１４０１）、処理内容データに付加された部分文字列である“プログラム名”のデータである“メモ帳”を取得し（ステップ１４０２）、登録プログラムテーブル８８を参照して、この“メモ帳”に対応して登録された“ファイル名”である“memo.exe”のデータを取得し（ステップ１４０３）、この“memo.exe”のプログラムファイルを起動させる（ステップ１４０４）。
【０１９１】
このようにして、本実施例の自然言語処理装置１００ｄは、ファイルランチャーとして、指定した名前のプログラムを実行したり、指定した名前の画像ファイルを表示することができる。
【０１９２】
本実施例の応答部４０ｄは、登録プログラムテーブル８８等のデータを記録した知識テーブルを参照するのみではなく、新たにデータを追加したり、登録済みのデータを削除する機能も備える。
【０１９３】
図２３の本実施例の応答テーブル８５ｄは、処理内容データにおいて、データを追加する“登録実行”とデータを削除する“登録削除”の関数を含んでいる。ここで説明のため、任意の文字列を“Ａ”“Ｂ”“Ｃ”と表し、それぞれがグループ名、そのグループの語句、その語句に対応するファイル名を示すこととする。
【０１９４】
“登録実行”の関数は、“登録実行（Ａ,Ｂ,Ｃ）”の形式で示され、語句分類テーブル８６にグループ名“Ａ”の語句“Ｂ”を新規に登録し（つまり“Ａ：Ｂ”の行を追加する）、登録プログラムテーブル８８に語句“Ｂ”に対応させてファイル名“Ｃ”を新規に登録する（つまり“Ｂ：Ｃ”の行を追加する）。
【０１９５】
“登録削除”の関数は、“登録削除（Ａ,Ｂ）”の形式で示され、語句分類テーブル８６からグループ名“Ａ”の語句“Ｂ”を削除し（つまり“Ａ：Ｂ”の行を削除する）、登録プログラムテーブル８８から語句“Ｂ”の登録を削除する（つまり“：”の左側が“Ｂ”である行を削除する）。
【０１９６】
これらの関数の命令に対しても、応答部４０ｄは図２４のフローチャートと同様にして処理を実行することができる。
【０１９７】
また、もし登録プログラムテーブル８８等の知識テーブルや語句分類テーブル等の自然言語装置内のテーブルに対して、データを参照するのみで追加・削除を行わないのであれば、追加削除の機能は備えずにデータを参照する機能のみを備えることとしてもよい。
【０１９８】
また、本実施例の登録プログラムテーブル８８は、１つのテーブルにプログラムのファイル名と画像のファイル名の２種類を登録しているが、登録するデータの種類に応じてテーブルの数は複数にしてもよい。
【０１９９】
等の知識テーブルや語句分類テーブル等の自然言語装置内のテーブルに対して、データを参照するのみで追加・削除を行わないのであれば、追加削除の機能は備えずにデータを参照する機能のみを備えることとしてもよい。
【０２００】
また、文字列条件データに語句分類テーブル８６のグループ名が指定されている場合の文字列条件データの成立チェック（図６のステップ１００２−４）においては、上述のこの文字列条件データに対応する位置の部分文字列がこの指定したグループ中の語句の１つに一致するかどうかをチェックして判定する方式以外にも、次のような判定方法もある。つまり、グループ名が指定されている文字列条件データに対して、対応する位置の部分文字列が、語句分類テーブル内の予め指定されたグループ中の語句の１つと一致するか、又は、語句分類テーブル内の全ての語句と一致しない場合には条件成立とする判定方法である。
【０２０１】
以上説明したように、本実施例の自然言語処理装置１００ｄによれば、図１の実施の形態の効果に加えて、文字列条件データとして語句のグループを指定することができるため、予め定めた特定の語句のみに対応させて所定の処理を実行させることができる。更に、応答部４０ｄにおいて、データを記録した語句分類テーブル８６等を参照する機能を備えたことにより、本実施例において説明したファイルランチャーに用いる等の、こうしたテーブルを利用したより複雑な命令を実行させることができる。更に、こうしたテーブルのデータを追加や削除する機能を備えたことにより、自然言語の文を用いて登録されている知識データを自由に追加・削除でき、人工知能システムや知識の登録ツールとして利用することができる。
【実施例５】
【０２０２】
次に、本発明の実施例５について図面を参照して詳細に説明する。図２５は、本発明の実施例５の自然言語処理装置１００ｅの構成の一例を示すブロック図である。
【０２０３】
図２５を参照すると、本実施例の自然言語処理装置１００ｅは、図２０の実施例４と比較して、通信ネットワーク２００を介して外部のサーバ３００−１〜３００−ｎと接続する通信部６０を新たに備え、登録データテーブル８８の代りにウェブサイト名とそのウェブサイトのＵＲＬアドレスとを対応させて記録したＵＲＬテーブル８８ｅを備える。
【０２０４】
本実施例の自然言語処理装置１００ｅは、「東京の天気を調べて」等の自然言語の文章による問合せに応じて、通信ネットワーク２００を介して外部のサーバ３００−１〜３００−ｎに対し情報を問合せて取得する機能を備える。
【０２０５】
通信ネットワーク２００は、例えば、インターネット、パソコン通信、ＬＡＮ、ＶＰＮ等の情報通信回線である。サーバ３００−１〜３００−ｎは、通信ネットワーク２００を介して、情報検索の問合せを受付けてその検索結果を返信する機能を備えるコンピュータ装置である。
【０２０６】
図２６、図２７、図２８は、それぞれ本実施例による自然言語処理装置１００ｅの語句分類テーブル８６ｅ、ＵＲＬテーブル８８ｅ、応答テーブル８５ｅである。
【０２０７】
図２６の本実施例の語句分類テーブル８６ｅにおいては、都道府県名と駅名の各グループのそれぞれに、いくつかの都道府県名や駅名が登録されている。また、データの件数が多いので、図中においては“・・・”によりデータの一部を省略していることを示している。
【０２０８】
図２６の本実施例のＵＲＬテーブル８８ｅにおいては、“辞書”“天気”“時刻表”のそれぞれのウェブサイト名に対応して、ウェブサイトのＵＲＬアドレスが登録されている。この各ＵＲＬアドレスは、サーバ３００−１〜３００−ｎの内のいずれかのＵＲＬアドレスを示すものである。
【０２０９】
図２７の本実施例の応答テーブル８５ｅにおいては、処理内容データにおいて、通信ネットワーク２００を介して情報を取得する“ネット検索”の関数を含んでいる。ここで説明のため、任意の文字列を“Ａ”“Ｂ”と表し、それぞれがウェブサイト名と検索キーワードを示すこととする。
【０２１０】
“ネット検索”の関数は、“ネット検索（Ａ,Ｂ）”の形式で示され、ＵＲＬテーブル８８ｅにウェブサイト名“Ａ”に対応して登録されたＵＲＬアドレスのウェブサイトに対して、検索キーワード“Ｂ”により情報検索の問合せを行い、その検索結果を受信して表示する。
【０２１１】
次に、図面を参照して本実施例による自然言語処理装置１００ｅの動作について詳細に説明する。
【０２１２】
本実施例の自然言語処理装置１００ｅは、分割部２０と応答抽出部３０ｅの動作については、前の実施例４と同様である。例えば、「インターネットの意味を調べて」「東京の天気を調べて」「名古屋駅の時刻表を調べて」のそれぞれの文は、分割部２０により「インターネット,の,意味,を,調べて」「東京,の,天気,を,調べて」「名古屋駅,の,時刻表,を,調べて」の各分割文に分割され、応答抽出部３０ｅにより各処理内容データが抽出されて指定された部分文字列が付加されて「ネット検索（辞書,インターネット）」「ネット検索（天気,東京）」「ネット検索（時刻表,名古屋駅）」のそれぞれが得られる。
【０２１３】
図２９は、本実施例による応答部４０ｅの処理の一例を示すフローチャートである。図２９を参照すると、まず、応答部４０ｅが処理内容データ（ここでは情報検索命令）を受付けて（ステップ１５０１）、処理内容データに付加された部分文字列である“ウェブサイト名”と“検索キーワード”の各データを取得し（ステップ１５０２）、ＵＲＬテーブル８８ｅを参照して、“ウェブサイト名”に対応して登録された“ＵＲＬアドレス”のデータを取得する（ステップ１５０３）。
【０２１４】
そして、通信部６０により通信ネットワーク２００を介して“ＵＲＬアドレス”に示されるウェブサイトに接続し、“検索キーワード”を用いて情報検索の問合せを行う（ステップ１５０４）。そして、通信部６０によりこの問合せに対するウェブサイトからの検索結果を受信し、応答部４０ｅがその検索結果を表示する（ステップ１５０５）。
【０２１５】
例えば「ネット検索（辞書,インターネット）」の処理内容データを受付けた場合には（ステップ１５０１）、ウェブサイト名“辞書”と検索キーワード“インターネット”を取得し（ステップ１５０２）、ＵＲＬテーブル８８ｅを参照して、ウェブサイト名“辞書”に対応して登録されたＵＲＬアドレス“www.Dictionary.co.jp”のデータを取得する（ステップ１５０３）。そして、通信部６０により、通信ネットワーク２００を介してこのウェブサイト（http://www.Dictionary.co.jp）に接続し、検索キーワード“インターネット”により情報検索の問合せを行う（ステップ１５０４）。そして、通信部６０によりこの問合せに対するウェブサイトからの検索結果を受信し、応答部４０ｅがその検索結果を表示する（ステップ１５０５）。
【０２１６】
「ネット検索（天気,東京）」「ネット検索（時刻表,名古屋駅）」の処理内容データを受付けた場合にも同様である。
【０２１７】
以上説明したように、本実施例の自然言語処理装置１００ｅによれば、前の実施例４の効果に加えて、通信ネットワーク２００を介して外部のサーバ３００−１〜３００−ｎに情報を問合せて取得する処理を、自然言語による命令を用いて実行させることができる。
【実施例６】
【０２１８】
次に、本発明の実施例６について図面を参照して詳細に説明する。図３０は、本発明の実施例６の自然言語処理装置１００ｆの構成の一例を示すブロック図である。
【０２１９】
本実施例の自然言語処理装置１００ｆは、応答部４０ｆが、処理内容データに基いて応答テーブル８５ｆの内容を書換える機能を備える。
【０２２０】
図３１は、本実施例の自然言語処理装置１００ｆの動作を示したフローチャートである。図３１を参照すると、本実施例の自然言語処理装置１００ｆは、まず分割部２０が、処理対象の文を分割して分割文を生成し（ステップ１６０１）、応答抽出部３０の類型検索部３１が、設定されている応答テーブル８５ｆを用いて分割文に該当する類型データを検索し（ステップ１６０２）、応答抽出部３０の抽出処理部３９が、この類型データに対応する処理内容データを抽出する（ステップ１６０３）。
【０２２１】
そして、応答部４０ｆが、処理内容データに示される処理を実行し、もし処理内容データに指定されている場合には応答抽出部３０が参照する応答テーブル８５ｆに対し新規項目の追加や、既存項目の削除も行う（ステップ１６０４）。
【０２２２】
図３２は、本実施例による応答テーブル８５ｆの一例を示す図である。図３２の応答テーブル８５ｆには“応答テーブル追加”の関数が含れており、“応答テーブル追加”の関数は、この関数名に続く括弧内の類型テーブルと処理内容データとの組（例えば「<＊>：-応答文出力（<１>）」）を応答テーブル８５ｆに追加する。
【０２２３】
例えば、「<＊>,を,表示」の類型データに該当する文を入力すると、「応答文出力（<１>）」の処理内容データにより“<＊>”の部分に係る文章が表示され、また「応答テーブル追加（<＊>：-応答文出力（<１>））」の処理内容データにより、応答テーブル８５ｆに１行新たに「<＊>：-応答文出力（<１>）」が追加される。
【０２２４】
これにより、例えば「ＡＢＣを表示」を入力すると、“ＡＢＣ”が表示されると共に、応答テーブル８５ｆに「<＊>：-応答文出力（<１>）」が追加される。このため、次の入力で“あいうえお”を表示させたい場合には、「あいうえおを表示」と入力する以外にも、単に「あいうえお」と入力するのみでこれを表示させることができる。
【０２２５】
また、“応答テーブル追加”の関数は、この関数名に続く括弧内のデータを、応答テーブル８５ｆに追加したままにするのではなく、その追加されたデータに含まれる類型データと、この追加処理を命じた基の類型データのいずれかに分割文が該当する限りにおいて追加したデータを保持することにすると便利である。
【０２２６】
例えば、「ＡＢＣを表示」の文の入力後において、入力される文が「あいうえおを表示」や「あいうえお」のように分割文が「<＊>,を,表示」と「<＊>」のいずれかに該当する場合には、応答テーブル８５ｆに追加した「<＊>：-応答文出力（<１>）」を保持し、そうでない文が入力された場合には、保持されたこの「<＊>：-応答文出力（<１>）」を消去するのである。
【０２２７】
このように、応答テーブル８５ｆに追加したデータを、命令の種類が変った段階で消去することで、誤認識を防止することができる。
【０２２８】
例えば、「ＡＢＣを表示」の文の入力後においては、部分文字列が１つのみの文が入力されると追加された「<＊>：-応答文出力（<１>）」に該当してその文が表示される。この後に「今は何時」の文を入力すると、先に追加されている「<＊>：-応答文出力（<１>）」が消去され、新たに「何時：-応答文生成（時刻）」が応答テーブル８５ｆに追加される。このため、ここで「何時」と入力した場合には、誤って「何時」の文が表示されるのではなく、正しく現在の時刻が表示される。
【０２２９】
図３３は、本実施例の応答テーブル８５ｆ’の図３２以外の他の一例を示す図である。この図３３の応答テーブル８５ｆ’の例は、実施例５の通信ネットワーク２００を介して外部のサーバ３００−１〜３００−ｎに情報検索の問合せを行う形態等において適用することができる。
【０２３０】
例えば、「北海道の天気を調べて」等の文で都道府県の天気を問合せた後は、以後「東京は」「大阪は」等の短い文で天気を問合せることができる。また、「東京駅の時刻表を調べて」等の文で駅の時刻表を問合せた後は、「静岡駅は」「名古屋駅は」等の短い文で駅の時刻表を問合せることができる。
【０２３１】
以上説明したように、本実施例の自然言語処理装置１００ｆによれば、図１の実施の形態等の効果に加えて、文の意味内容に対応して自然言語処理装置１００ｆが実行する処理を、簡単により詳細に設定することができる。
【実施例７】
【０２３２】
次に、本発明の実施例７について図面を参照して詳細に説明する。図３４は、本発明の実施例７の自然言語処理装置１００ｇの構成の一例を示すブロック図である。
【０２３３】
図３４を参照すると、本実施例の自然言語処理装置１００ｇは、図１の実施の形態と比較して、複数個の応答テーブル８５ｇ−１〜８５ｇ−ｎを新たに備えている。
【０２３４】
本実施例の自然言語処理装置１００ｇは、応答部４０ｇが処理内容データに基いて、応答抽出部３０ｇがどの応答テーブル８５ｇ−１〜８５ｇ−ｎを検索に用いるのかを設定する機能を備えることを特徴とする。
【０２３５】
これは、本実施例の自然言語処理装置１００ｇが、検索に使用する応答テーブル８５ｇ−１〜８５ｇ−ｎとして様々な使用目的に特化したものをそれぞれに揃えて、それを自由に切替えて使用でききるようにするためである。
【０２３６】
図３５は、本実施例の自然言語処理装置１００ｇの動作を示したフローチャートである。図３５を参照すると、本実施例の自然言語処理装置１００ｇは、まず分割部２０が、処理対象の文を分割して分割文を生成し（ステップ１７０１）、応答抽出部３０ｇの類型検索部３１が、検索に使用する応答テーブルとして設定されている応答テーブル８５ｇ−１〜８５ｇ−ｎを用いて分割文に該当する類型データを検索し（ステップ１７０２）、応答抽出部３０の抽出処理部３９が、この類型データに対応する処理内容データを抽出する（ステップ１７０３）。
【０２３７】
そして、応答部４０ｇが、処理内容データに示される処理を実行し、もし処理内容データに指定されている場合には、処理内容データに基いて各応答テーブル８５ｇ−１〜８５ｇ−ｎのいずれを応答抽出部３０ｇが検索に使用するのかを設定する（ステップ１７０４）。
【０２３８】
また、テップ１７０４において、複数個の応答テーブル８５ｇ−１〜８５ｇ−ｎを応答抽出部３０ｇが検索に使用するよう設定する際には、その検索の順序も設定できるようにしてもよい。
【０２３９】
図３６と図３７は、それぞれ本実施例の応答テーブル８５ｇ−１、８５ｇ−ｎの一例を示すものである。
【０２４０】
図３６の応答テーブル８５ｇ−１は通常時において使用するテーブルであり、図３７の応答テーブル８５ｇ−２はこの自然言語処理装置１００ｇを用いてクイズを行う目的のために特化したテーブルである。ただし、検索に使用する応答テーブルを設定する命令である“応答テーブル設定”の関数を含む項目以外は、各応答テーブル８５ｇ−１、８５ｇ−ｎ共に図面中においては記載を省略している。
【０２４１】
“応答テーブル設定”の関数は、“応答テーブル設定（クイズ）”の場合には、応答抽出部３０ｇが検索に使用するテーブルとして、クイズを行う目的に特化した応答テーブル８５ｇ−２を設定する旨の命令である。また“応答テーブル設定（通常）”の場合には、応答抽出部３０ｇが検索に使用するテーブルとして、通常時に使用するテーブルである応答テーブル８５ｇ−１を設定する旨の命令である。
【０２４２】
この場合においては、通常時の応答テーブル８５ｇ−１が使用されている時に「クイズを開始」の文が入力されると、その分割文がこの応答テーブル８５ｇ−１の「クイズ,を,開始」の類型データに該当し、まず「応答文出力（クイズを開始します）」の処理内容データにより「クイズを開始します」の文が表示され、次の行の「応答テーブル設定（クイズ）」の処理内容データにより、検索に使用するテーブルとしてクイズを行う目的に特化した応答テーブル８５ｇ−２が設定される。
【０２４３】
また、クイズを行う目的に特化した応答テーブル８５ｇ−２が使用されている時に「クイズを終了」の文が入力されると、その分割文がこの応答テーブル８５ｇ−１の「クイズ,を,終了」の類型データに該当し、まず「応答文出力（クイズを終了します）」の処理内容データにより「クイズを終了します」の文が表示され、次の行の「応答テーブル設定（通常）」の処理内容データにより、通常時に使用する応答テーブル８５ｇ−１が検索に使用するテーブルとして設定される。
【０２４４】
また、応答抽出部３０ｇは、同時に複数個の応答テーブル８５ｇ−１〜８５ｇ−ｎを予め定められた順番で検索に使用できるものとしてもよい。この場合、応答部４０ｇが応答抽出部３０ｇにおいて使用する応答テーブル８５ｇ−１〜８５ｇ−ｎを設定する際に、複数個の応答テーブル８５ｇ−１〜８５ｇ−ｎを使用するように設定する場合には、その検索順序も設定するできるようにしてもよい。
【０２４５】
例えば、通常時は応答テーブル８５ｇ−１のみを検索に用いて、クイズを行うときには応答テーブル８５ｇ−２と応答テーブル８５ｇ−１の両方のテーブルを検索に用いる方式を実施することができる。また、このクイズのために両方のテーブルを使用する場合においては、クイズ目的に特化した応答テーブル８５ｇ−２の方を優先して検索に用いる方式実施することができる。
【０２４６】
また、複数の応答テーブル８５ｇ−１〜８５ｇ−ｎを検索する場合においても、必ずしもそれぞれのテーブルの検索順序を設定する必要があるのではなく、同時に使用する各応答テーブル８５ｇ−１〜８５ｇ−ｎの各項目を全く任意の順序で検索する方式や、各項目の検索に該当した頻度や、最後に検索に該当した日時等を基に検索順序を設定する方式が可能である。
【０２４７】
また、各応答テーブル８５ｇ−１〜８５ｇ−ｎは、予め全て自然言語処理装置１００ｇ内に備える必要は無く、例えば、実施例５に示されるようなインターネット等の通信ネットワーク２００を介して外部のサーバ３００−１〜３００−ｎに接続している形態においては、自然言語処理装置１００ｇ内に無い応答テーブル８５ｇ−１〜８５ｇ−ｎが必要となった時に、そのテーブルを備えるサーバ３００−１〜３００−ｎからダウンロードして使用する等の方式も実施することができる。
【０２４８】
以上説明したように、本実施例の自然言語処理装置１００ｇによれば、図１の実施の形態等の効果に加えて、検索に使用する応答テーブル８５ｇ−１〜８５ｇ−ｎとして様々な使用目的に特化したものをそれぞれに揃えて、それを自由に切替えて使用することができる。これにより様々な専門的な用途に特化した自然言語の認識処理を、必要に応じて切替えて使用することができ、高い実用性を実現することができる。
【実施例８】
【０２４９】
次に、本発明の実施例８について図面を参照して詳細に説明する。図３８は、本発明の実施例８の自然言語処理装置１００ｈの構成の一例を示すブロック図である。
【０２５０】
図３８を参照すると、本実施例の自然言語処理装置１００ｈは、図１の実施の形態と比較して、複数の分割語句テーブル８０ｈ−１〜８０ｈ−ｎと、複数の応答テーブル８５ｈ−１〜８５ｈ−ｎを新たに備え、分割部２０ｈには、テーブル設定部２５を新たに備える。
【０２５１】
分割部２０ｈのテーブル設定部２５は、処理対象の文中における予め指定された語句の有無に基いて、分割部２０ｈが分割処理に使用する分割語句テーブル８０ｈ−１〜８０ｈ−ｎを設定し、また、類型検索部３１ｈが検索に使用する応答テーブル８５ｈ−１〜８５ｈ−ｎを設定する機能を備える。
【０２５２】
処理対象の文章において、１つの部分文字列として分割される部分は、１つの文字列条件データ“<＊>”により受付けることができ、その部分を１にまとめて応答抽出部３０ｈから応答部４０に送ることができるため、応答部４０において各種の処理に用いることが容易である。
【０２５３】
しかし、“が”“に”“を”“は”の分割語句が含まれるような長い部分は、分割部２０ｈによる分割処理で複数の部分文字列に分割されてしまうため、うまく１つにまとめて応答部４０に処理させることができない。
【０２５４】
そこで本実施例においては、利用する分割語句テーブル８０ｈ−１〜８０ｈ−ｎを、処理対象の文に対応して使い分けることにより、長い部分を一括して処理させたい文に対しては、特別に“が”“に”“を”“は”を含まない分割テーブルを利用することにより当該部分を分割させないようにする。
【０２５５】
次に、図４３を参照して本実施例による自然言語処理装置１００ｇの動作について詳細に説明する。図４３は、本発明の実施例８による自然言語処理装置１００ｇの処理を説明するフローチャートである。
【０２５６】
図４３を参照すると、まず、テーブル設定部２５が、予め定められた語句が処理対象の文の中に含まれるか否かに基いて、使用する分割語句テーブル８０ｈ−１〜８０ｈ−ｎ、応答テーブル８５ｈ−１〜８５ｈ−ｎがどれであるのかを設定する（ステップ１８０１）。
【０２５７】
そして、分割部２０ｈが、設定された分割語句テーブル８０ｈ−１〜８０ｈ−ｎを使用して文を分割し分割文を生成し（ステップ１８０２）、応答抽出部３０ｈの類型検索部３１ｈが、設定された応答テーブル８５ｈ−１〜８５ｈ−ｎから分割文に該当する類型データを検索し（ステップ１８０３）、応答抽出部３０ｈの抽出処理部３９ｈが、その応答テーブル８５ｈ−１〜８５ｈ−ｎから、類型データに対応する処理内容データを抽出し（ステップ１８０４）、応答部４０がその処理内容データに示される処理を実行する（ステップ１８０５）。
【０２５８】
ここで、応答部４０に文の長い部分を一括して処理させたい場合とは、例えば、図２３に示される知識データの登録処理における登録する知識データや、図５の「<＊>,を,表示：-応答文出力（<１>）」や図２８の「<＊>,の,意味,を,調べて：-ネット検索（辞書,<１>）」における“<＊>”の部分等がある。ここで本実施例においては、図５の「<＊>,を,表示：-応答文出力（<１>）」を例に説明する。
【０２５９】
図３９、図４０は、それぞれ本実施例の分割語句テーブル８０ｈ−１、８０ｈ−２の一例を示す図である。図４１、図４２は、それぞれ本実施例の応答テーブル８５ｈ−１、８５ｈ−２の一例を示す図である。
【０２６０】
図３９の分割語句テーブル８０ｈ−１は、図４の例と同じであり“が”“に”“を”“は”により構成されている。また、図４０の分割語句テーブル８０ｈ−２は“を表示”のみである。
【０２６１】
ここで、分割部２０ｈのテーブル設定部２５は、処理対象の文に“を表示”の語が含まれる場合には分割語句テーブル８０ｈ−２と応答テーブル８５ｈ−２を用いるように設定し、含まれない場合には分割語句テーブル８０ｈ−１と応答テーブル８５ｈ−１を用いるように設定することとする。
【０２６２】
図４１の応答テーブル８５ｈ−１は、図５の例の「<＊>,を,表示：-応答文出力（<１>）」と「<＊>,の,<＊>,を,表示：-応答文出力（<１>の<３>）」の２つの項目を含まないものである。これは「〜を表示」の形式の文は、応答テーブル８５ｈ−２の方で処理されるのであって、応答テーブル８５ｈ−１の側は検索されないため含めていない。また、図４２の応答テーブル８５ｈ−２は「<＊>,を表示：-応答文出力（<１>）」の項目のみを備えている。
【０２６３】
ここで、“を表示”を含まない処理対象の文に対する処理を考える。まず、テーブル設定部２５が、分割語句テーブル８０ｈ−１と応答語句テーブル８５ｈ−１とを使用するテーブルとして設定する（ステップ１８０１）。すると、“を表示”を含まない文に対しては、この分割語句テーブル８０ｈ−１と応答語句テーブル８５ｈ−１による処理は前述の図４と図５の分割語句テーブル８０と応答語句テーブル８５にそれぞれ等しいため、前述の実施の形態と同じ処理が実行されることになる（ステップ１８０２〜１８０５）。
【０２６４】
次に、“を表示”を含む処理対象の文に対する処理を考える。この“を表示”を含む文の例としては、前述のように、“〜”を任意の文字列として「〜を表示」の形式の文がある。
【０２６５】
まず、テーブル設定部２５が、分割語句テーブル８０ｈ−２と応答語句テーブル８５ｈ−２とを使用するテーブルとして設定する（ステップ１８０１）。
【０２６６】
そして、分割部２０ｈが、この分割語句テーブル８０ｈ−２に基いて処理対象の文を分割し分割文を生成する（ステップ１８０２）。分割語句“を表示”により、通常の場合は、「〜,を表示」の２つの部分文字列から成る分割文が生成される。
【０２６７】
そして、応答処理部３０ｈの類型検索部３１ｈが、応答テーブル８５ｈ−２から分割文「〜,を表示」に該当する類型テーブルを検索する（ステップ１８０３）。すると、応答テーブル８５ｈ−２の「<＊>,を表示：-応答文出力（<１>）」の項目の類型テーブルが検索に該当し、この処理内容データ「応答文出力（<１>）」の“<１>”が１番目の部分文字列で置き返られて、応答部４０ｈに「応答文出力（〜）」として送られ、この“〜”の部分が表示される。
【０２６８】
このように本実施例においては「〜を表示」の形式の文を、分割語句テーブル８０ｈ−２を基に分割するため、この“〜”の中に“が”“に”“を”“は”が含まれていても１つの部分文字列とすることができるので、適切に“〜”の部分を用いて応答部４０に処理させることができる。
【０２６９】
また、上述の説明においてはテーブル設定部２０は、文中に予め指定された語句が含まれるかどうかにより使用するテーブルを決定しているが、他の方式として、この予め指定された語句が更に予め指定した位置にあるかどうかに基いて使用するテーブルを決定する方式も同様にして可能である。
【０２７０】
例えば、テーブル設定部２５が、処理対象の文の末尾が“を表示”である場合に分割語句テーブル８０ｈ−２及び応答テーブル８５ｈ−２を用いることとし、それ以外の場合には、分割語句テーブル８０ｈ−１及び応答テーブル８５ｈ−１を用いることができる。
【０２７１】
こうした方式を採用することにより、使用するテーブルを決定するためのキーワード“を表示”が、文末ではなく文中にある場合においても応答テーブル８５ｈ−２でなく通常時の応答テーブル８５ｈ−１を用いて適切に処理させることができる。
【０２７２】
また、テーブル設定部２５が、このようにして使用するテーブルを決定するためのキーワード“を表示”を、文末で検出した場合には、分割語句テーブル８０ｈ−１を用いて分割するのではなく、このキーワード“を表示”の前の１個所のみで分割することとする方式も同様にして実施することができる。
【０２７３】
こうした方式を採用することにより、使用するテーブルを決定するためのキーワード“を表示”が文中に複数ある場合においても、「〜,を表示」の形式の２個の部分文字列からなる分割文に適切に分割することができる。
【０２７４】
また、使用するテーブルを決定するためのキーワードに“の意味を調べて”を用いることで、同様にして図２８の「<＊>,の,意味,を,調べて：-ネット検索（辞書,<１>）」の処理に適応することができる。
【０２７５】
また、使用するテーブルを決定するためのキーワードの数は１つに限らず、同時に複数個用いてもよい。例えば、処理対象の文に“の意味を調べて”を含む場合には意味検索に対応するテーブルを用いることとし、“を表示”を含む場合には文章表示に対応するテーブルを用いるように制御するのである。
【０２７６】
以上説明したように、本実施例の自然言語処理装置１００ｈによれば、図１の実施の形態等の効果に加えて、文章中の長い語句を途中で分割せずに１つの部分文字列として適切に処理することが可能となる。
【実施例９】
【０２７７】
次に、本発明の実施例９について図面を参照して詳細に説明する。図４４は、本発明の実施例９の自然言語処理装置１００ｋの構成の一例を示すブロック図である。
【０２７８】
図４４を参照すると、本実施例の自然言語処理装置１００ｋは、図１の実施の形態と比較して、外部から入力を受付けて分割部２０にテキストデータの形で渡す入力部である音声認識部１０と、応答部４０が生成した応答のテキストを外部に出力する出力部である音声合成部５０を新たに備える。
【０２７９】
図４５は、本実施例の自然言語処理装置１００ｋの動作を示したフローチャートである。図４５を参照すると、まず音声認識部１０が、自然言語の文章の音声による入力を受付けて（ステップ１９０１）、この音声を解析して、その音声が表す言葉を文字により表現するテキストデータに変換して分割部２０へ送る（ステップ１９０２）。
【０２８０】
これに続くステップ１９０３〜１９０６の処理は、前述の実施の形態や実施例と同様であり、まず分割部２０が、音声認識部１０から送られたテキストデータの文章を分割して分割文を生成し（ステップ１９０３）、類型検索部３１が、この分割文に該当する類型データを検索し（ステップ１９０４）、抽出処理部３９が、この類型データに対応する処理内容データを抽出し（ステップ１９０５）、応答部４０が、この処理内容データに基き応答文を生成する（ステップ１９０６）。
【０２８１】
そして、音声合成部５０が、この応答文のテキストデータを音声合成により音声データに変換し（ステップ１９０７）、この応答文の音声データを再生して出力する（ステップ１９０８）。
【０２８２】
こうして、本実施例の自然言語処理装置１００ｋは、予めテキストデータの形で処理対象の文が渡される必要が無く、音声により入力される言葉に対しても、音声認識部１０が音声認識によりテキストデータに変換するこにより、前述の実施の形態や実施例と同様にしてその文章の意味内容に対応して設定されている処理を応答部５０に実行させることができる。また、応答部５０が生成した応答の文章を音声合成部６０により音声データに変換して出力することができる。
【０２８３】
これにより、自然言語処理装置１００ｋと利用者とが、人間同士のように音声により会話をすることができる。
【０２８４】
また、外部からの自然言語の入力手段としては、音声認識部１０以外にも様々な方式が可能であり、例えば、紙等に記載されている文字による文章の画像データを認識してその文章のテキストデータを生成するＯＣＲの機能を用いる方式も同様に実施することができる。
【０２８５】
また、本実施例の自然言語処理装置１００ｋへの音声の入力方法としては、装置にマイク等により直接入力する以外にも様々な方式が可能であり、例えば、図４６の自然言語処理装置１００ｍに示されるように、通信ネットワーク２００を介して外部の通信端末４００−１〜４００−ｎからの、音声による入力を受付けることも同様にして可能である。
【０２８６】
図４６を参照すると、自然言語処理装置１００ｍは、図４４の自然言語処理装置１００ｋと比較して、通信ネットワーク２００を介して外部の通信端末４００−１〜４００−ｎと通信する通信部６０ｍを新たに備えている。
【０２８７】
また図面中には示されていないが、分割部２０及び応答抽出部３０の各部においては、図４４の自然言語処理装置１００ｋと同様の各処理部を内部に備えているものとする。
【０２８８】
図４７は、自然言語処理装置１００ｍの動作を示したフローチャートである。図４７を参照すると、まず通信部６０ｍが、通信ネットワーク２００を介して、外部の通信端末４００−１〜４００−ｎから音声による入力を受信する（ステップ１９５１）。
【０２８９】
そして、続くステップ１９５２〜１９５７は、図４５のフローチャートのステップ１９０２〜１９０７と同様であり、この音声による入力に対する応答文の音声データが生成され（ステップ１９５２〜１９５７）、これを通信部６０ｍが、通信ネットワーク２００を介して外部の通信端末４００−１〜４００−ｎに送信する（ステップ１９５８）。
【０２９０】
以上説明したように、本実施例の自然言語処理装置１００ｋ、１００ｍによれば、図１の実施の形態等の効果に加えて、音声等による自然言語の入力を受付けて処理することができ、また利用者との間で人間同士のように音声により会話をすることができる。
【０２９１】
なお、上記各実施例及び実施の形態の本発明の自然言語処理装置１００、１００ａ、１００ｂ、１００ｃ、１００ｄ、１００ｅ、１００ｆ、１００ｇ、１００ｈ、１００ｋ、１００ｍは、音声認識部１０、分割部２０、２０ａ、２０ｂ、２０ｃ、２０ｈ、応答処理部３０、３０ｄ、３０ｅ、３０ｇ、３０ｈ、応答部４０、４０ｅ、４０ｆ、４０ｇ、音声合成部５０、通信部６０の機能や、その他の機能をハードウェア的に実現することは勿論として、各機能を備えるコンピュータプログラムである自然言語処理プログラム９０、９０ａ、９０ｂ、９０ｃ、９０ｄ、９０ｅ、９０ｆ、９０ｇ、９０ｈ、９０ｋ、９０ｍを、コンピュータ処理装置のメモリにロードされることで実現することができる。この自然言語処理プログラム９０、９０ａ、９０ｂ、９０ｃ、９０ｄ、９０ｅ、９０ｆ、９０ｇ、９０ｈ、９０ｋ、９０ｍは、磁気ディスク、半導体メモリその他の記録媒体に格納される。そして、その記録媒体からコンピュータ処理装置にロードされ、コンピュータ処理装置の動作を制御することにより、上述した各機能を実現する。
【０２９２】
以上好ましい実施の形態及び実施例をあげて本発明を説明したが、本発明は必ずしも上記実施の形態及び実施例に限定されるものではなく、その技術的思想の範囲内において様々に変形して実施することができる。例えば、応答テーブル８５等の各種テーブルの形式は、上述の各実施例における具体例に限定されるものではなく、例えば市販の表計算ソフトやデータベースソフトにおいて利用されているデータ形式を採用する方式も同様にして実施することができる。また、応答テーブル８５の処理内容データにおいて用いた関数や命令も、上述の各実施例における具体例に限定されるものではなく、公知の技術により実施可能なさまざまな命令を応答テーブル８５に記載して応答部５０に実行させることが可能であり、このような形態も同様にして実施することができる。
【産業上の利用可能性】
【０２９３】
以上説明したように、本発明の自然言語処理装置とその自然言語処理方法、及び自然言語処理プログラムは、インターネット等を利用した情報検索や、知識データの登録システムや人工知能システム、またその他ファイルランチャー等に利用することができる。
【図面の簡単な説明】
【０２９４】
【図１】本発明の自然言語処理装置の構成の一実施の形態を示すブロック図である。
【図２】本発明の図１の実施の形態による自然言語処理装置の処理を説明するフローチャートである。
【図３】本発明の図１の実施の形態による自然言語処理装置の分割部による分割文の生成処理を説明するフローチャートである。
【図４】本発明の図１の実施の形態による自然言語処理装置の分割語句テーブルの一例を示す図である。
【図５】本発明の図１の実施の形態による自然言語処理装置の応答テーブルの一例を示す図である。
【図６】本発明の図１の実施の形態による自然言語処理装置の類型検索部による検索処理を説明するフローチャートである。
【図７】本発明の図１の実施の形態による自然言語処理装置の処理をより詳細に説明するフローチャートである。
【図８】本発明の図１の実施の形態による自然言語処理装置の分割部による分割文の生成処理の他の一例を説明するフローチャートである。
【図９】本発明の実施例１による自然言語処理装置の構成を示すブロック図である。
【図１０】本発明の実施例１による自然言語処理装置の連結語句テーブルの一例を示す図である。
【図１１】本発明の実施例１による自然言語処理装置の分割部による分割文の生成処理を説明するフローチャートである。
【図１２】本発明の実施例１による自然言語処理装置の分割部による分割文の生成処理の他の一例を説明するフローチャートである。
【図１３】本発明の実施例２による自然言語処理装置の構成を示すブロック図である。
【図１４】本発明の実施例２による自然言語処理装置の削除語句テーブルの一例を示す図である。
【図１５】本発明の実施例２による自然言語処理装置の分割部による分割文の生成処理を説明するフローチャートである。
【図１６】本発明の実施例３による自然言語処理装置の構成を示すブロック図である。
【図１７】本発明の実施例３による自然言語処理装置の書換語句テーブルの一例を示す図である。
【図１８】本発明の実施例３による自然言語処理装置の分割部による分割文の生成処理を説明するフローチャートである。
【図１９】本発明の実施例３による自然言語処理装置の分割部による分割文の生成処理の他の一例を説明するフローチャートである。
【図２０】本発明の実施例４による自然言語処理装置の構成を示すブロック図である。
【図２１】本発明の実施例４による自然言語処理装置の語句分類テーブルの一例を示す図である。
【図２２】本発明の実施例４による自然言語処理装置の登録データテーブルの一例を示す図である。
【図２３】本発明の実施例４による自然言語処理装置の応答テーブルの一例を示す図である。
【図２４】本発明の実施例４による自然言語処理装置の応答部による処理を説明するフローチャートである。
【図２５】本発明の実施例５による自然言語処理装置の構成を示すブロック図である。
【図２６】本発明の実施例５による自然言語処理装置の語句分類テーブルの一例を示す図である。
【図２７】本発明の実施例５による自然言語処理装置のＵＲＬテーブルの一例を示す図である。
【図２８】本発明の実施例５による自然言語処理装置の応答テーブルの一例を示す図である。
【図２９】本発明の実施例５による自然言語処理装置の応答部による処理を説明するフローチャートである。
【図３０】本発明の実施例６による自然言語処理装置の構成を示すブロック図である。
【図３１】本発明の実施例６による自然言語処理装置の処理を説明するフローチャートである。
【図３２】本発明の実施例６による自然言語処理装置の応答テーブルの一例を示す図である。
【図３３】本発明の実施例６による自然言語処理装置の応答テーブルの他の一例を示す図である。
【図３４】本発明の実施例７による自然言語処理装置の構成を示すブロック図である。
【図３５】本発明の実施例７による自然言語処理装置の処理を説明するフローチャートである。
【図３６】本発明の実施例７による自然言語処理装置の応答テーブルの一例を示す図である。
【図３７】本発明の実施例７による自然言語処理装置の応答テーブルの一例を示す図である。
【図３８】本発明の実施例８による自然言語処理装置の構成を示すブロック図である。
【図３９】本発明の実施例８による自然言語処理装置の分割語句テーブルの一例を示す図である。
【図４０】本発明の実施例８による自然言語処理装置の分割語句テーブルの一例を示す図である。
【図４１】本発明の実施例８による自然言語処理装置の応答テーブルの一例を示す図である。
【図４２】本発明の実施例８による自然言語処理装置の応答テーブルの一例を示す図である。
【図４３】本発明の実施例８による自然言語処理装置の処理を説明するフローチャートである。
【図４４】本発明の実施例９による自然言語処理装置の構成を示すブロック図である。
【図４５】本発明の実施例９による自然言語処理装置の処理を説明するフローチャートである。
【図４６】本発明の実施例９による自然言語処理装置のその他の構成を示すブロック図である。
【図４７】本発明の実施例９のその他の構成による自然言語処理装置の処理を説明するフローチャートである。
【符号の説明】
【０２９５】
１００、１００ａ、１００ｂ、１００ｃ、１００ｄ、１００ｅ、１００ｆ、１００ｇ、１００ｈ、１００ｋ、１００ｍ  自然言語処理装置
１０音声認識部
２０、２０ａ、２０ｂ、２０ｃ、２０ｈ  分割部
２１、２１ｈ  分割語句検索部
２２  連結語句検索部
２３  削除語句検索部
２４  書換語句検索部
２５  テーブル指定部
２９、２９ａ、２９ｂ、２９ｃ、２１ｈ  分割処理部
３０、３０ｄ、３０ｅ、３０ｇ、３０ｈ  応答処理部
３１、３１ｅ、３１ｈ  類型検索部
３２  分類検索部
３９、３９ｄ、３９ｅ、３９ｈ  抽出処理部
４０、４０ｅ、４０ｆ、４０ｇ  応答部
５０  音声合成部
６０、６０ｍ  通信部
８０、８０ｈ−１〜８０ｈ−ｎ  分割語句テーブル
８１  連結語句テーブル
８２  削除語句テーブル
８３  書換語句テーブル
８５、８５ｄ、８５ｅ、８５ｆ、８５ｇ−１、８５ｇ−２〜８５ｇ−ｎ、８５ｈ−１〜８５ｈ−ｎ  応答テーブル
８６、８６ｅ  語句分類テーブル
８８  登録データテーブル
８８ｅ  ＵＲＬテーブル
９０、９０ａ、９０ｂ、９０ｃ、９０ｄ、９０ｅ、９０ｆ、９０ｇ、９０ｈ、９０ｋ、９０ｍ  自然言語処理プログラム
２００  通信ネットワーク
３００−１〜３００−ｎ  サーバ
４００−１〜４００−ｎ  通信端末
【図１】
2005316830.tif 000003
【図２】
2005316830.tif 000004
【図３】
2005316830.tif 000005
【図４】
2005316830.tif 000006
【図５】
2005316830.tif 000007
【図６】
2005316830.tif 000008
【図７】
2005316830.tif 000009
【図８】
2005316830.tif 000010
【図９】
2005316830.tif 000011
【図１０】
2005316830.tif 000012
【図１１】
2005316830.tif 000013
【図１２】
2005316830.tif 000014
【図１３】
2005316830.tif 000015
【図１４】
2005316830.tif 000016
【図１５】
2005316830.tif 000017
【図１６】
2005316830.tif 000018
【図１７】
2005316830.tif 000019
【図１８】
2005316830.tif 000020
【図１９】
2005316830.tif 000021
【図２０】
2005316830.tif 000022
【図２１】
2005316830.tif 000023
【図２２】
2005316830.tif 000024
【図２３】
2005316830.tif 000025
【図２４】
2005316830.tif 000026
【図２５】
2005316830.tif 000027
【図２６】
2005316830.tif 000028
【図２７】
2005316830.tif 000029
【図２８】
2005316830.tif 000030
【図２９】
2005316830.tif 000031
【図３０】
2005316830.tif 000032
【図３１】
2005316830.tif 000033
【図３２】
2005316830.tif 000034
【図３３】
2005316830.tif 000035
【図３４】
2005316830.tif 000036
【図３５】
2005316830.tif 000037
【図３６】
2005316830.tif 000038
【図３７】
2005316830.tif 000039
【図３８】
2005316830.tif 000040
【図３９】
2005316830.tif 000041
【図４０】
2005316830.tif 000042
【図４１】
2005316830.tif 000043
【図４２】
2005316830.tif 000044
【図４３】
2005316830.tif 000045
【図４４】
2005316830.tif 000046
【図４５】
2005316830.tif 000047
【図４６】
2005316830.tif 000048
【図４７】
2005316830.tif 000049
【手続補正書】
【提出日】平成16年5月11日(2004.5.11)
【手続補正１】
【補正対象書類名】明細書
【補正対象項目名】０１０８
【補正方法】変更
【補正の内容】
【０１０８】
次に、応答抽出部３０の類型検索部３１により、応答テーブル８５内の類型データであって、文字列条件データの個数が分割文の部分文字列の個数と等しく、かつ全ての文字列条件データの条件をそれぞれに対応する位置の部分文字列が満たしているものを検索する（ステップ１０５２）。この検索処理の方法については図６のフローチャートに例が示されている。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】０１０９
【補正方法】変更
【補正の内容】
【０１０９】
次に、応答抽出部３０の抽出処理部３９により、類型データに対応する処理内容データを抽出し、分割文を構成する部分文字列の内で処理内容データにおいて指定されるものを、処理内容データに付加して応答部４０に送る（ステップ１０５３）。そして、応答部４０が、処理内容データに付加された部分文字列を用いて、その処理内容データが示す処理内容を実行する（ステップ１０５４）。
【手続補正３】
【補正対象書類名】明細書
【補正対象項目名】０１５７
【補正方法】変更
【補正の内容】
【０１５７】
図１６を参照すると、本実施例の自然言語処理装置１００ｃは、図１の自然言語処理装置１００と比較して、書換対象の語句である書換元語句のそれぞれに書換元語句を書換える書換後語句を対応させて記録した書換語句テーブル８３を新たに備え、また分割部２０ｃには、処理対象の文に含まれる書換語句を検索する書換語句検索部２４を新たに備える。
【手続補正４】
【補正対象書類名】明細書
【補正対象項目名】０１８９
【補正方法】変更
【補正の内容】
【０１８９】
そして、登録データテーブル８８を参照して、“プログラム名”に対応して登録された“ファイル名”のデータを取得する（ステップ１４０３）。そして、“ファイル名”に示されるプログラムファイルを起動させる（ステップ１４０４）。
【手続補正５】
【補正対象書類名】明細書
【補正対象項目名】０１９０
【補正方法】変更
【補正の内容】
【０１９０】
例えば、“プログラム実行（登録プログラム,メモ帳）”の命令を受けつけた場合には（ステップ１４０１）、処理内容データに付加された部分文字列である“プログラム名”のデータである“メモ帳”を取得し（ステップ１４０２）、登録データテーブル８８を参照して、この“メモ帳”に対応して登録された“ファイル名”である“memo.exe”のデータを取得し（ステップ１４０３）、この“memo.exe”のプログラムファイルを起動させる（ステップ１４０４）。
【手続補正６】
【補正対象書類名】明細書
【補正対象項目名】０１９２
【補正方法】変更
【補正の内容】
【０１９２】
本実施例の応答部４０ｄは、登録データテーブル８８等のデータを記録した知識テーブルを参照するのみではなく、新たにデータを追加したり、登録済みのデータを削除する機能も備える。
【手続補正７】
【補正対象書類名】明細書
【補正対象項目名】０１９４
【補正方法】変更
【補正の内容】
【０１９４】
“登録実行”の関数は、“登録実行（Ａ,Ｂ,Ｃ）”の形式で示され、語句分類テーブル８６にグループ名“Ａ”の語句“Ｂ”を新規に登録し（つまり“Ａ：Ｂ”の行を追加する）、登録データテーブル８８に語句“Ｂ”に対応させてファイル名“Ｃ”を新規に登録する（つまり“Ｂ：Ｃ”の行を追加する）。
【手続補正８】
【補正対象書類名】明細書
【補正対象項目名】０１９５
【補正方法】変更
【補正の内容】
【０１９５】
“登録削除”の関数は、“登録削除（Ａ,Ｂ）”の形式で示され、語句分類テーブル８６からグループ名“Ａ”の語句“Ｂ”を削除し（つまり“Ａ：Ｂ”の行を削除する）、登録データテーブル８８から語句“Ｂ”の登録を削除する（つまり“：”の左側が“Ｂ”である行を削除する）。
【手続補正９】
【補正対象書類名】明細書
【補正対象項目名】０１９７
【補正方法】変更
【補正の内容】
【０１９７】
また、もし登録データテーブル８８等の知識テーブルや語句分類テーブル等の自然言語装置内のテーブルに対して、データを参照するのみで追加・削除を行わないのであれば、追加削除の機能は備えずにデータを参照する機能のみを備えることとしてもよい。
【手続補正１０】
【補正対象書類名】明細書
【補正対象項目名】０１９８
【補正方法】変更
【補正の内容】
【０１９８】
また、本実施例の登録データテーブル８８は、１つのテーブルにプログラムのファイル名と画像のファイル名の２種類を登録しているが、登録するデータの種類に応じてテーブルの数は複数にしてもよい。
【手続補正１１】
【補正対象書類名】明細書
【補正対象項目名】０２６３
【補正方法】変更
【補正の内容】
【０２６３】
ここで、“を表示”を含まない処理対象の文に対する処理を考える。まず、テーブル設定部２５が、分割語句テーブル８０ｈ−１と応答テーブル８５ｈ−１とを使用するテーブルとして設定する（ステップ１８０１）。すると、“を表示”を含まない文に対しては、この分割語句テーブル８０ｈ−１と応答テーブル８５ｈ−１による処理は前述の図４と図５の分割語句テーブル８０と応答テーブル８５にそれぞれ等しいため、前述の実施の形態と同じ処理が実行されることになる（ステップ１８０２〜１８０５）。
【手続補正１２】
【補正対象書類名】明細書
【補正対象項目名】０２６５
【補正方法】変更
【補正の内容】
【０２６５】
まず、テーブル設定部２５が、分割語句テーブル８０ｈ−２と応答テーブル８５ｈ−２とを使用するテーブルとして設定する（ステップ１８０１）。
【手続補正１３】
【補正対象書類名】明細書
【補正対象項目名】０２６７
【補正方法】変更
【補正の内容】
【０２６７】
そして、応答抽出部３０ｈの類型検索部３１ｈが、応答テーブル８５ｈ−２から分割文「〜,を表示」に該当する類型テーブルを検索する（ステップ１８０３）。すると、応答テーブル８５ｈ−２の「<＊>,を表示：-応答文出力（<１>）」の項目の類型テーブルが検索に該当し、この処理内容データ「応答文出力（<１>）」の“<１>”が１番目の部分文字列で置き返られて、応答部４０ｈに「応答文出力（〜）」として送られ、この“〜”の部分が表示される。
【手続補正１４】
【補正対象書類名】明細書
【補正対象項目名】０２６９
【補正方法】変更
【補正の内容】
【０２６９】
また、上述の説明においてはテーブル設定部２５は、文中に予め指定された語句が含まれるかどうかにより使用するテーブルを決定しているが、他の方式として、この予め指定された語句が更に予め指定した位置にあるかどうかに基いて使用するテーブルを決定する方式も同様にして可能である。
【手続補正１５】
【補正対象書類名】明細書
【補正対象項目名】０２８２
【補正方法】変更
【補正の内容】
【０２８２】
こうして、本実施例の自然言語処理装置１００ｋは、予めテキストデータの形で処理対象の文が渡される必要が無く、音声により入力される言葉に対しても、音声認識部１０が音声認識によりテキストデータに変換するこにより、前述の実施の形態や実施例と同様にしてその文章の意味内容に対応して設定されている処理を応答部４０に実行させることができる。また、応答部４０が生成した応答の文章を音声合成部５０により音声データに変換して出力することができる。
【手続補正１６】
【補正対象書類名】明細書
【補正対象項目名】０２９１
【補正方法】変更
【補正の内容】
【０２９１】
なお、上記各実施例及び実施の形態の本発明の自然言語処理装置１００、１００ａ、１００ｂ、１００ｃ、１００ｄ、１００ｅ、１００ｆ、１００ｇ、１００ｈ、１００ｋ、１００ｍは、音声認識部１０、分割部２０、２０ａ、２０ｂ、２０ｃ、２０ｈ、応答抽出部３０、３０ｄ、３０ｅ、３０ｇ、３０ｈ、応答部４０、４０ｅ、４０ｆ、４０ｇ、音声合成部５０、通信部６０の機能や、その他の機能をハードウェア的に実現することは勿論として、各機能を備えるコンピュータプログラムである自然言語処理プログラム９０、９０ａ、９０ｂ、９０ｃ、９０ｄ、９０ｅ、９０ｆ、９０ｇ、９０ｈ、９０ｋ、９０ｍを、コンピュータ処理装置のメモリにロードされることで実現することができる。この自然言語処理プログラム９０、９０ａ、９０ｂ、９０ｃ、９０ｄ、９０ｅ、９０ｆ、９０ｇ、９０ｈ、９０ｋ、９０ｍは、磁気ディスク、半導体メモリその他の記録媒体に格納される。そして、その記録媒体からコンピュータ処理装置にロードされ、コンピュータ処理装置の動作を制御することにより、上述した各機能を実現する。
【手続補正１７】
【補正対象書類名】明細書
【補正対象項目名】０２９２
【補正方法】変更
【補正の内容】
【０２９２】
以上好ましい実施の形態及び実施例をあげて本発明を説明したが、本発明は必ずしも上記実施の形態及び実施例に限定されるものではなく、その技術的思想の範囲内において様々に変形して実施することができる。例えば、応答テーブル８５等の各種テーブルの形式は、上述の各実施例における具体例に限定されるものではなく、例えば市販の表計算ソフトやデータベースソフトにおいて利用されているデータ形式を採用する方式も同様にして実施することができる。また、応答テーブル８５の処理内容データにおいて用いた関数や命令も、上述の各実施例における具体例に限定されるものではなく、公知の技術により実施可能なさまざまな命令を応答テーブル８５に記載して応答部４０に実行させることが可能であり、このような形態も同様にして実施することができる。
【手続補正１８】
【補正対象書類名】明細書
【補正対象項目名】０２９５
【補正方法】変更
【補正の内容】
【０２９５】
１００、１００ａ、１００ｂ、１００ｃ、１００ｄ、１００ｅ、１００ｆ、１００ｇ、１００ｈ、１００ｋ、１００ｍ  自然言語処理装置
１０音声認識部
２０、２０ａ、２０ｂ、２０ｃ、２０ｈ  分割部
２１、２１ｈ  分割語句検索部
２２  連結語句検索部
２３  削除語句検索部
２４  書換語句検索部
２５  テーブル指定部
２９、２９ａ、２９ｂ、２９ｃ、２１ｈ  分割処理部
３０、３０ｄ、３０ｅ、３０ｇ、３０ｈ  応答抽出部
３１、３１ｅ、３１ｈ  類型検索部
３２  分類検索部
３９、３９ｄ、３９ｅ、３９ｈ  抽出処理部
４０、４０ｅ、４０ｆ、４０ｇ  応答部
５０  音声合成部
６０、６０ｍ  通信部
８０、８０ｈ−１〜８０ｈ−ｎ  分割語句テーブル
８１  連結語句テーブル
８２  削除語句テーブル
８３  書換語句テーブル
８５、８５ｄ、８５ｅ、８５ｆ、８５ｇ−１、８５ｇ−２〜８５ｇ−ｎ、８５ｈ−１〜８５ｈ−ｎ  応答テーブル
８６、８６ｅ  語句分類テーブル
８８  登録データテーブル
８８ｅ  ＵＲＬテーブル
９０、９０ａ、９０ｂ、９０ｃ、９０ｄ、９０ｅ、９０ｆ、９０ｇ、９０ｈ、９０ｋ、９０ｍ  自然言語処理プログラム
２００  通信ネットワーク
３００−１〜３００−ｎ  サーバ
４００−１〜４００−ｎ  通信端末
【手続補正１９】
【補正対象書類名】図面
【補正対象項目名】全図
【補正方法】変更
【補正の内容】
【図１】
2005316830.tif 000050
【図２】
2005316830.tif 000051
【図３】
2005316830.tif 000052
【図４】
2005316830.tif 000053
【図５】
2005316830.tif 000054
【図６】
2005316830.tif 000055
【図７】
2005316830.tif 000056
【図８】
2005316830.tif 000057
【図９】
2005316830.tif 000058
【図１０】
2005316830.tif 000059
【図１１】
2005316830.tif 000060
【図１２】
2005316830.tif 000061
【図１３】
2005316830.tif 000062
【図１４】
2005316830.tif 000063
【図１５】
2005316830.tif 000064
【図１６】
2005316830.tif 000065
【図１７】
2005316830.tif 000066
【図１８】
2005316830.tif 000067
【図１９】
2005316830.tif 000068
【図２０】
2005316830.tif 000069
【図２１】
2005316830.tif 000070
【図２２】
2005316830.tif 000071
【図２３】
2005316830.tif 000072
【図２４】
2005316830.tif 000073
【図２５】
2005316830.tif 000074
【図２６】
2005316830.tif 000075
【図２７】
2005316830.tif 000076
【図２８】
2005316830.tif 000077
【図２９】
2005316830.tif 000078
【図３０】
2005316830.tif 000079
【図３１】
2005316830.tif 000080
【図３２】
2005316830.tif 000081
【図３３】
2005316830.tif 000082
【図３４】
2005316830.tif 000083
【図３５】
2005316830.tif 000084
【図３６】
2005316830.tif 000085
【図３７】
2005316830.tif 000086
【図３８】
2005316830.tif 000087
【図３９】
2005316830.tif 000088
【図４０】
2005316830.tif 000089
【図４１】
2005316830.tif 000090
【図４２】
2005316830.tif 000091
【図４３】
2005316830.tif 000092
【図４４】
2005316830.tif 000093
【図４５】
2005316830.tif 000094
【図４６】
2005316830.tif 000095
【図４７】
2005316830.tif 000096
【手続補正書】
【提出日】平成17年4月15日(2005.4.15)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
自然言語の文を処理する自然言語処理装置であって、
自然言語のテキストデータである処理対象の文を、文の分割方法を規定した分割規則に基いて１つ又は複数の部分文字列に分割した分割文を生成する分割手段と、
前記分割文を構成する各前記部分文字列に対する条件を規定することにより前記分割文の類型を示す類型データと、前記処理対象の文から前記分割手段が生成した前記分割文が当該類型データが規定する条件に該当する場合において実行する処理内容を示す処理内容データとを対応させて記録した応答テーブルと、
前記処理対象の文から前記分割手段が生成した前記分割文に対して、当該分割文の類型に該当する前記類型データとして、前記応答テーブルに記録されている前記類型データの内から、前記類型データが規定する各前記部分文字列に対する条件を当該分割文を構成する各前記部分文字列が満たしているものを検索する類型検索手段と、
前記応答テーブルから、前記類型検索手段による前記検索に該当した前記類型データに対応して記録されている前記処理内容データを抽出する抽出処理手段と、
前記抽出処理手段が抽出した前記処理内容データが示す処理内容を実行する応答手段を備えることを特徴とする自然言語処理装置。
【請求項２】
前記処理対象の文中に含まれる場合に当該文を分割する語句である分割語句の一覧を示す分割語句テーブルを備え、
前記分割手段は、
前記処理対象の文に前記分割語句が含まれる場合に、前記処理対象の文を各前記分割語句の先頭及び末尾の個所で分割する手段を備えることを特徴とする請求項１に記載の自然言語処理装置。
【請求項３】
分割を禁止する２字以上の文字列である連結語句の一覧を示す連結語句テーブルを備え、
前記分割手段は、
前記処理対象の文を、前記文中に含まれる各前記分割語句の先頭及び末尾の個所のそれぞれにおいて、当該個所が前記連結語句の内部に該当しない場合に限り分割することにより前記分割文を生成することを特徴とする請求項２に記載の自然言語処理装置。
【請求項４】
前記分割手段は、
前記処理対象の文を分割した前記部分文字列の先頭の文字が、予め指定された先頭禁則文字の１つに該当する場合に、当該部分文字列とその１つ前の位置の前記部分文字列との間の前記分割を解除して連結させる手段と、前記部分文字列の末尾の文字が、予め指定された末尾禁則文字の１つに該当する場合に、当該部分文字列とその１つ後の位置の前記部分文字列との間の前記分割を解除して連結させる手段を備えることを特徴とする請求項１から請求項３のいずれか一つに記載の自然言語処理装置。
【請求項５】
前記処理対象の文から削除する語句である削除語句の一覧を示す削除語句テーブルを備え、
前記分割手段は、
前記処理対象の文から、各前記削除語句を全て削除した上で、前記分割規則に基いて１つ又は複数の前記部分文字列に分割することにより前記分割文を生成する手段を備えることを特徴とする請求項１から請求項４のいずれか一つに記載の自然言語処理装置。
【請求項６】
前記分割手段は、
前記処理対象の文から、句読点・スペース・タブ・改行を全て削除した上で、前記分割規則に基いて１つ又は複数の前記部分文字列に分割することにより前記分割文を生成する手段を備えることを特徴とする請求項１から請求項５のいずれか一つに記載の自然言語処理装置。
【請求項７】
書換対象の語句である書換元語句のそれぞれに、前記書換元語句を書換える書換後語句を対応させて記録した書換語句テーブルを備えることを特徴とする請求項１から請求項６のいずれか一つに記載の自然言語処理装置。
【請求項８】
前記分割手段は、
前記処理対象の文を、当該文中に含まれる全ての前記書換元語句を前記書換語句テーブルにおいて対応する前記書換後語句に置換した上で、前記分割規則に基いて１つ又は複数の前記部分文字列に分割することにより前記分割文を生成する手段を備えることを特徴とする請求項７に記載の自然言語処理装置。
【請求項９】
前記分割手段は、
前記処理対象の文を、前記分割規則に基いて１つ又は複数の前記部分文字列に分割した上で、各前記部分文字列の内でいずれかの前記書換元語句と一致するものを全て、前記書換語句テーブルにおいて対応する前記書換後語句に置換することで前記分割文を生成することを特徴とする請求項７に記載の自然言語処理装置。
【請求項１０】
前記類型データは、
前記分割文を構成する個々の前記部分文字列がそれぞれに満たすべき条件を指定することにより、前記分割文の類型を示すことを特徴とする請求項１から請求項９のいずれか一つに記載の自然言語処理装置。
【請求項１１】
前記類型データは、
前記分割文を構成する各位置の前記部分文字列のそれぞれに対して、当該部分文字列が満たすべき条件を示す文字列条件データを備え、
前記類型検索手段は、
前記分割手段により生成された前記分割文に対し、前記応答テーブル中の前記類型データであって、前記文字列条件データの個数が当該分割文を構成する前記部分文字列の個数と等しく、かつ、全ての前記部分文字列が対応する位置の前記文字列条件データの条件を満たすものを、当該分割文の類型に該当する前記類型データであるとして検索する手段を備えることを特徴とする請求項１０に記載の自然言語処理装置。
【請求項１２】
前記応答テーブルは、
対応する位置の前記部分文字列が予め指定された文字列に一致するという条件である前記文字列条件データを含むことを特徴とする請求項１１に記載の自然言語処理装置。
【請求項１３】
語句を各グループ毎にまとめて記録した語句分類テーブルを備え、
前記応答テーブルは、
対応する位置の前記部分文字列が前記語句分類テーブル内の予め指定された前記グループ中の前記語句の１つと一致するという条件である前記文字列条件データを含むことを特徴とする請求項１２に記載の自然言語処理装置。
【請求項１４】
語句を各グループ毎にまとめて記録した語句分類テーブルを備え、
前記応答テーブルは、
対応する位置の前記部分文字列が、前記語句分類テーブル内の予め指定された前記グループ中の前記語句の１つと一致するか、又は、前記語句分類テーブル内の全ての語句と一致しないという条件である、前記文字列条件データを含むことを特徴とする請求項１２に記載の自然言語処理装置。
【請求項１５】
前記応答テーブルは、
任意の前記部分文字列が条件を満たすという内容の前記文字列条件データを含むことを特徴とする請求項１１から請求項１４のいずれか一つに記載の自然言語処理装置。
【請求項１６】
データを記録する１つ又は複数の知識テーブルを備え、
前記応答手段は、
前記処理内容データに基き、指定された前記知識テーブル内を参照する手段と、
前記処理内容データに基き、指定された前記知識テーブル内に指定されたデータを追加する手段と、
前記処理内容データに基き、指定された前記知識テーブル内から指定されたデータを削除する手段を備えることを特徴とする請求項１から請求項１５のいずれか一つに記載の自然言語処理装置。
【請求項１７】
前記抽出処理手段は、
前記類型検索手段による検索に該当した前記類型データに対応して前記応答テーブルに記録された前記処理内容データを抽出する手段と、
抽出された前記処理内容データに、前記類型検索手段が検索に用いた前記分割文の１つ又は複数の指定された位置の前記部分文字列のデータを付加した上で前記応答手段に送る手段を備え、
前記応答手段は、
前記処理内容データが示す処理内容を、当該処理内容データに付加された１つ又は複数の前記部分文字列のデータを用いて実行する手段を備えることを特徴とする請求項１から請求項１６のいずれか一つに記載の自然言語処理装置。
【請求項１８】
電気通信ネットワークを介して外部のサーバと通信する通信手段を備え、
前記応答手段は、
前記処理内容データに基き、当該処理内容データに付加された１つ又は複数の前記部分文字列を検索キーワードに用いて、前記外部のサーバに対し情報を問合せて取得する手段を備えることを特徴とする請求項１７に記載の自然言語処理装置。
【請求項１９】
前記応答手段は、
前記処理内容データに基き、指定された新たな前記類型データ及び対応する前記処理内容データを、前記応答テーブルに追加する追加手段と、
前記処理内容データに基き、前記応答テーブルから、指定された前記類型データ及び対応する前記処理内容データを削除する削除手段を備えることを特徴とする請求項１から請求項１８のいずれか一つに記載の自然言語処理装置。
【請求項２０】
前記応答テーブルを複数種類備え、
前記類型検索手段は、
各前記応答テーブルを予め指定された順番に従い順次検索対象として、前記分割文の類型に該当する前記類型データを検索する手段を備えることを特徴とする請求項１から請求項１９のいずれか一つに記載の自然言語処理装置。
【請求項２１】
前記応答テーブルを複数種類備え、
各前記応答テーブルは、
各前記応答テーブルのいずれを前記類型検索手段が検索に使用するのかを指定する応答テーブル設定命令である前記処理内容データを含み、
前記分割手段は、
前記処理内容データに示される前記応答テーブル設定命令に基いて、前記類型検索手段が検索に使用する前記応答テーブルを設定する手段を備えることを特徴とする請求項１から請求項２０のいずれか一つに記載の自然言語処理装置。
【請求項２２】
前記応答テーブルを複数種類備え、
各前記応答テーブルは、
各前記応答テーブルのいずれを前記類型検索手段が検索に使用するのかを指定し、かつ、複数の前記応答テーブルを検索に使用する場合においては各前記応答テーブルの検索順序を指定する応答テーブル設定命令である前記処理内容データを含み、
前記分割手段は、
前記処理内容データに示される前記応答テーブル設定命令に基いて、前記類型検索手段が検索に使用する前記応答テーブル、及び、複数の前記応答テーブルを検索に使用する場合におけるその検索順序を設定する手段を備えることを特徴とする請求項１から請求項１９のいずれか一つに記載の自然言語処理装置。
【請求項２３】
前記分割手段は、
前記処理対象の文中における予め指定された語句の有無に基いて、前記類型検索手段が検索に使用する前記応答テーブルを設定する手段を備え、
前記類型検索手段は、
前記分割手段が設定した前記応答テーブルを検索対象として、前記分割手段が生成した前記分割文の類型に該当する前記類型データを検索する手段を備えることを特徴とする請求項２０から請求項２２のいずれか一つに記載の自然言語処理装置。
【請求項２４】
前記分割規則を複数種類備え、
前記分割手段は、
前記処理対象の文中における予め指定された言葉の有無に基いて、当該文の分割に用いる前記分割規則を設定する分割規則設定手段と、
前記分割規則設定手段が設定した前記分割規則に基いて、前記処理対象の文を１つ又は複数の前記部分文字列に分割することにより前記分割文を生成する手段を備えることを特徴とする請求項１から請求項２３のいずれか一つに記載の自然言語処理装置。
【請求項２５】
自然言語の文の入力を受付け、入力された前記文をテキストデータの形式に変換し前記処理対象の文として前記分割手段に渡す入力手段を備えることを特徴とする請求項１から請求項２４のいずれか一つに記載の自然言語処理装置。
【請求項２６】
前記入力手段は、
音声をテキストデータに変換する音声認識手段と、
前記自然言語の文の音声による入力を受付けて前記音声認識手段によりテキストデータに変換し、前記処理対象の文として前記分割手段に渡す手段を備えることを特徴とする請求項２５に記載の自然言語処理装置。
【請求項２７】
前記入力手段は、
通信ネットワークを介して前記自然言語の文の入力を受付ける手段を備えることを特徴とする請求項２５又は請求項２６に記載の自然言語処理装置。
【請求項２８】
自然言語の文を処理する自然言語処理装置の自然言語処理方法であって、
自然言語のテキストデータである処理対象の文を、文の分割方法を規定した分割規則に基いて１つ又は複数の部分文字列に分割した分割文を生成する分割ステップと、
前記分割文を構成する各前記部分文字列に対する条件を規定することにより前記分割文の類型を示す類型データと、前記処理対象の文から前記分割手段が生成した前記分割文が当該類型データが規定する条件に該当する場合において実行する処理内容を示す処理内容データとを対応させて記録した応答テーブルを参照し、前記処理対象の文から前記分割手段が生成した前記分割文に対して、当該分割文の類型に該当する前記類型データとして、前記応答テーブルに記録されている前記類型データの内から、前記類型データが規定する各前記部分文字列に対する条件を当該分割文を構成する各前記部分文字列が満たしているものを検索する類型検索ステップと、
前記応答テーブルから、前記類型検索手段による前記検索に該当した前記類型データに対応して記録されている前記処理内容データを抽出する抽出処理ステップと、
前記抽出処理ステップにおいて抽出した前記処理内容データが示す処理内容を実行する応答ステップを備えることを特徴とする自然言語処理装置の自然言語処理方法。
【請求項２９】
前記分割ステップは、
前記処理対象の文中に含まれる場合に当該文を分割する語句である分割語句の一覧を示す分割語句テーブルを参照するステップと、
前記処理対象の文に前記分割語句が含まれる場合に、前記処理対象の文を各前記分割語句の先頭及び末尾の個所で分割するステップを備えることを特徴とする請求項２８に記載の自然言語処理装置の自然言語処理方法。
【請求項３０】
前記分割ステップは、
分割を禁止する２字以上の文字列である連結語句の一覧を示す連結語句テーブルを参照するステップを備えることを特徴とする請求項２９に記載の自然言語処理装置の自然言語処理方法。
【請求項３１】
前記分割ステップは、
前記処理対象の文を分割した複数の前記部分文字列に対して、連続する位置の２つ以上の前記部分文字列を連結した場合に前記連結語句と等しくなるものがあるかどうかをチェックする分割検出ステップと、
前記チェックに該当した前記部分文字列の組を連結して新たな前記部分文字列とする連結ステップと、
前記分割検出ステップに該当する前記部分文字列が無くなるまで、前記分割検出ステップと前記連結ステップとを繰返し実行することにより、分割された前記連結語句の無い前記分割文を生成するステップを備えることを特徴とする請求項３０に記載の自然言語処理装置の自然言語処理方法。
【請求項３２】
前記分割ステップは、
前記処理対象の文に対して、文字列比較を行う始りの文字の位置を示す比較起点位置に先頭の文字を示す"１"を設定するステップと、
前記比較起点位置が、前記処理対象の文の文字数を越える場合には、前記分割ステップの処理を終了させ、前記処理対象の文の文字数を越えない場合には、各前記分割語句に対して、前記処理対象の文の前記比較起点位置から始る当該分割語句の文字数分の文字列と当該文字列とが一致するかどうかをチェックする判定ステップと、
前記判定ステップにおいて一致する前記分割語句が無い場合には、前記比較起点位置を"１"増加させた上で、前記検出ステップに戻り以降の処理を再び実行させるステップと、
前記判定ステップにおいて一致する前記分割語句が有る場合には、前記処理対象の文において当該分割語句を一部分として含む前記連結語句が存在するかどうかをチェックする連結語句検出ステップと、
前記連結語句検出ステップにおいて、当該分割語句を一部分として含む前記連結語句が見つからなかった場合には、前記処理対象の文を当該分割語句の先頭及び末尾の個所で分割し、前記比較起点位置を当該分割語句の文字数分増加させた上で、前記検出ステップに戻り以降の処理を再び実行させるステップと、
前記連結語句検出ステップにおいて、当該分割語句を一部分として含む前記連結語句が見つかった場合には、前記処理対象の文を、当該連結語句の先頭及び末尾の個所で分割し、かつ当該連結語句の部分を構成する前記部分文字列が複数個である場合には、その全てを連結して１個の前記部分文字列とし、前記比較起点位置を増加させて文字列比較を行う始りの文字の位置を当該連結語句の末尾の文字より１つ先の文字に設定した上で、前記検出ステップに戻り以降の処理を再び実行させるステップを備えることを特徴とする請求項３０に記載の自然言語処理装置の自然言語処理方法。
【請求項３３】
前記類型検索ステップは、
前記類型データにおいて示される、前記分割文を構成する各位置の前記部分文字列のそれぞれに対して当該部分文字列が満たすべき条件を示す文字列条件データを参照するステップと、
前記分割ステップにより生成された前記分割文に対し、前記応答テーブル中の前記類型データであって、前記文字列条件データの個数が当該分割文を構成する前記部分文字列の個数と等しく、かつ、全ての前記部分文字列が対応する位置の前記文字列条件データの条件を満たすものを、当該分割文の類型に該当する前記類型データであるとして検索するステップを備えることを特徴とする請求項２８から請求項３２のいずれか一つに記載の自然言語処理装置の自然言語処理方法。
【請求項３４】
前記類型検索ステップは、
語句を各グループ毎にまとめて記録した語句分類テーブルを参照するステップと、
前記文字列条件データに基いて、前記分割文における当該文字列条件データに対応する位置の前記部分文字列が、前記語句分類テーブル内の当該文字列条件データにより指定された前記グループ中の前記語句の１つと一致するか否かを判定するステップを備えることを特徴とする請求項３３に記載の自然言語処理装置の自然言語処理方法。
【請求項３５】
前記応答ステップは、
データを記録する１つ又は複数の知識テーブルを参照するステップと、
前記処理内容データに基き、指定された前記知識テーブル内を参照するステップと、
前記処理内容データに基き、指定された前記知識テーブル内に指定されたデータを追加するステップと、
前記処理内容データに基き、指定された前記知識テーブル内から指定されたデータを削除するステップを備えることを特徴とする請求項２８から請求項３４のいずれか一つに記載の自然言語処理装置の自然言語処理方法。
【請求項３６】
前記抽出処理ステップは、
前記類型検索ステップによる検索に該当した前記類型データに対応して前記応答テーブルに記録された前記処理内容データを抽出するステップと、
抽出された前記処理内容データに、前記類型検索ステップにおいて検索に用いた前記分割文の１つ又は複数の指定された位置の前記部分文字列のデータを付加した上で前記応答ステップに送るステップを備え、
前記応答ステップは、
電気通信ネットワークを介して外部のサーバと通信する通信ステップと、
前記処理内容データに基き、当該処理内容データに付加された１つ又は複数の前記部分文字列を検索キーワードに用いて、前記外部のサーバに対し情報を問合せて取得するステップを備えることを特徴とする請求項２８から請求項３５のいずれか一つに記載の自然言語処理装置の自然言語処理方法。
【請求項３７】
前記応答ステップは、
前記処理内容データに基き、指定された新たな前記類型データ及び対応する前記処理内容データを、前記応答テーブルに追加する追加ステップと、
前記処理内容データに基き、前記応答テーブルから、指定された前記類型データ及び対応する前記処理内容データを削除する削除ステップを備えることを特徴とする請求項２８から請求項３６のいずれか一つに記載の自然言語処理装置の自然言語処理方法。
【請求項３８】
前記分割ステップは、
前記処理内容データにおいて示される、複数種類備える各前記応答テーブルのいずれを前記類型検索ステップにおいて検索に使用するのかを指定し、かつ、複数の前記応答テーブルを検索に使用する場合には各前記応答テーブルの検索順序を指定する応答テーブル設定命令を参照するステップと、
前記処理内容データに示される前記応答テーブル設定命令に基いて、前記類型検索ステップにおいて検索に使用する前記応答テーブル、及び、複数の前記応答テーブルを検索に使用する場合におけるその検索順序を設定するステップを備えることを特徴とする請求項２８から請求項３７のいずれか一つに記載の自然言語処理装置の自然言語処理方法。
【請求項３９】
前記分割ステップは、
前記処理対象の文中における予め指定された語句の有無に基いて、前記類型検索ステップにおいて検索に使用する前記応答テーブルを設定するステップを備え、
前記類型検索ステップは、
前記分割ステップにおいて設定した前記応答テーブルを検索対象として、前記分割ステップにおいて生成した前記分割文の類型に該当する前記類型データを検索するステップを備えることを特徴とする請求項３８に記載の自然言語処理装置の自然言語処理方法。
【請求項４０】
前記分割ステップは、
前記処理対象の文中における予め指定された言葉の有無に基いて、複数種類備える前記分割規則のいずれを当該文の分割に用いるのかを設定する分割規則設定ステップと、
前記分割規則設定ステップにおいて設定した前記分割規則に基いて、前記処理対象の文を１つ又は複数の前記部分文字列に分割することにより前記分割文を生成するステップを備えることを特徴とする請求項２８から請求項３９のいずれか一つに記載の自然言語処理装置の自然言語処理方法。
【請求項４１】
コンピュータを制御することにより、自然言語の文を処理する自然言語処理プログラムであって、
自然言語のテキストデータである処理対象の文を、文の分割方法を規定した分割規則に基いて１つ又は複数の部分文字列に分割した分割文を生成する分割ステップと、
前記分割文を構成する各前記部分文字列に対する条件を規定することにより前記分割文の類型を示す類型データと、前記処理対象の文から前記分割手段が生成した前記分割文が当該類型データが規定する条件に該当する場合において実行する処理内容を示す処理内容データとを対応させて記録した応答テーブルを参照し、前記処理対象の文から前記分割手段が生成した前記分割文に対して、当該分割文の類型に該当する前記類型データとして、前記応答テーブルに記録されている前記類型データの内から、前記類型データが規定する各前記部分文字列に対する条件を当該分割文を構成する各前記部分文字列が満たしているものを検索する類型検索ステップと、
前記応答テーブルから、前記類型検索手段による前記検索に該当した前記類型データに対応して記録されている前記処理内容データを抽出する抽出処理ステップと、
前記抽出ステップにおいて抽出した前記処理内容データが示す処理内容を実行する応答ステップを前記コンピュータに実行させることを特徴とする自然言語処理プログラム。
【請求項４２】
前記分割ステップにおいて、
前記処理対象の文中に含まれる場合に当該文を分割する語句である分割語句の一覧を示す分割語句テーブルを参照するステップと、
前記処理対象の文に前記分割語句が含まれる場合に、前記処理対象の文を各前記分割語句の先頭及び末尾の個所で分割するステップを前記コンピュータに実行させることを特徴とする請求項４１に記載の自然言語処理プログラム。
【請求項４３】
前記分割ステップにおいて、
分割を禁止する２字以上の文字列である連結語句の一覧を示す連結語句テーブルを参照するステップと、
前記処理対象の文に対し、前記連結語句の内部以外の場所に限り前記分割を行うことで前記分割文を生成するステップを前記コンピュータに実行させることを特徴とする請求項４１又は請求項４２に記載の自然言語処理プログラム。
【請求項４４】
前記類型検索ステップにおいて、
前記類型データにおいて示される、前記分割文を構成する各位置の前記部分文字列のそれぞれに対して当該部分文字列が満たすべき条件を示す文字列条件データを参照するステップと、
前記分割ステップにより生成された前記分割文に対し、前記応答テーブル中の前記類型データであって、前記文字列条件データの個数が当該分割文を構成する前記部分文字列の個数と等しく、かつ、全ての前記部分文字列が対応する位置の前記文字列条件データの条件を満たすものを、当該分割文の類型に該当する前記類型データであるとして検索するステップを前記コンピュータに実行させることを特徴とする請求項４１から請求項４３のいずれか一つに記載の自然言語処理プログラム。
【請求項４５】
前記類型検索ステップにおいて、
語句を各グループ毎にまとめて記録した語句分類テーブルを参照するステップと、
前記文字列条件データに基いて、前記分割文における当該文字列条件データに対応する位置の前記部分文字列が、前記語句分類テーブル内の当該文字列条件データにより指定された前記グループ中の前記語句の１つと一致するか否かを判定するステップを前記コンピュータに実行させることを特徴とする請求項４４に記載の自然言語処理プログラム。
【請求項４６】
前記抽出ステップは、
前記類型検索ステップによる検索に該当した前記類型データに対応して前記応答テーブルに記録された前記処理内容データを抽出するステップと、
抽出された前記処理内容データに、前記類型検索ステップにおいて検索に用いた前記分割文の１つ又は複数の指定された位置の前記部分文字列のデータを付加した上で前記応答ステップに送るステップを前記コンピュータに実行させ、
前記応答ステップは、
電気通信ネットワークを介して外部のサーバと通信する通信ステップと、
前記処理内容データに基き、当該処理内容データに付加された１つ又は複数の前記部分文字列を検索キーワードに用いて、前記外部のサーバに対し情報を問合せて取得するステップを前記コンピュータに実行させることを特徴とする請求項４１から請求項４５のいずれか一つに記載の自然言語処理プログラム。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】００１４
【補正方法】変更
【補正の内容】
【００１４】
請求項１の本発明の自然言語処理装置は、自然言語の文を処理する自然言語処理装置であって、自然言語のテキストデータである処理対象の文を、文の分割方法を規定した分割規則に基いて１つ又は複数の部分文字列に分割した分割文を生成する分割手段と、前記分割文を構成する各前記部分文字列に対する条件を規定することにより前記分割文の類型を示す類型データと、前記処理対象の文から前記分割手段が生成した前記分割文が当該類型データが規定する条件に該当する場合において実行する処理内容を示す処理内容データとを対応させて記録した応答テーブルと、前記処理対象の文から前記分割手段が生成した前記分割文に対して、当該分割文の類型に該当する前記類型データとして、前記応答テーブルに記録されている前記類型データの内から、前記類型データが規定する各前記部分文字列に対する条件を当該分割文を構成する各前記部分文字列が満たしているものを検索する類型検索手段と、前記応答テーブルから、前記類型検索手段による前記検索に該当した前記類型データに対応して記録されている前記処理内容データを抽出する抽出処理手段と、前記抽出処理手段が抽出した前記処理内容データが示す処理内容を実行する応答手段を備えることを特徴とする。
【手続補正３】
【補正対象書類名】明細書
【補正対象項目名】００２７
【補正方法】変更
【補正の内容】
【００２７】
請求項１４の本発明の自然言語処理装置は、語句を各グループ毎にまとめて記録した語句分類テーブルを備え、前記応答テーブルは、対応する位置の前記部分文字列が、前記語句分類テーブル内の予め指定された前記グループ中の前記語句の１つと一致するか、又は、前記語句分類テーブル内の全ての語句と一致しないという条件である、前記文字列条件データを含むことを特徴とする。
【手続補正４】
【補正対象書類名】明細書
【補正対象項目名】００２８
【補正方法】変更
【補正の内容】
【００２８】
請求項１５の本発明の自然言語処理装置は、前記応答テーブルは、任意の前記部分文字列が条件を満たすという内容の前記文字列条件データを含むことを特徴とする。
【手続補正５】
【補正対象書類名】明細書
【補正対象項目名】００３４
【補正方法】変更
【補正の内容】
【００３４】
請求項２１の本発明の自然言語処理装置は、前記応答テーブルを複数種類備え、各前記応答テーブルは、各前記応答テーブルのいずれを前記類型検索手段が検索に使用するのかを指定する応答テーブル設定命令である前記処理内容データを含み、前記分割手段は、前記処理内容データに示される前記応答テーブル設定命令に基いて、前記類型検索手段が検索に使用する前記応答テーブルを設定する手段を備えることを特徴とする。
【手続補正６】
【補正対象書類名】明細書
【補正対象項目名】００３５
【補正方法】変更
【補正の内容】
【００３５】
請求項２２の本発明の自然言語処理装置は、前記応答テーブルを複数種類備え、各前記応答テーブルは、各前記応答テーブルのいずれを前記類型検索手段が検索に使用するのかを指定し、かつ、複数の前記応答テーブルを検索に使用する場合においては各前記応答テーブルの検索順序を指定する応答テーブル設定命令である前記処理内容データを含み、前記分割手段は、前記処理内容データに示される前記応答テーブル設定命令に基いて、前記類型検索手段が検索に使用する前記応答テーブル、及び、複数の前記応答テーブルを検索に使用する場合におけるその検索順序を設定する手段を備えることを特徴とする。
【手続補正７】
【補正対象書類名】明細書
【補正対象項目名】００４１
【補正方法】変更
【補正の内容】
【００４１】
請求項２８の本発明の自然言語処理装置の自然言語処理方法は、自然言語の文を処理する自然言語処理装置の自然言語処理方法であって、自然言語のテキストデータである処理対象の文を、文の分割方法を規定した分割規則に基いて１つ又は複数の部分文字列に分割した分割文を生成する分割ステップと、前記分割文を構成する各前記部分文字列に対する条件を規定することにより前記分割文の類型を示す類型データと、前記処理対象の文から前記分割手段が生成した前記分割文が当該類型データが規定する条件に該当する場合において実行する処理内容を示す処理内容データとを対応させて記録した応答テーブルを参照し、前記処理対象の文から前記分割手段が生成した前記分割文に対して、当該分割文の類型に該当する前記類型データとして、前記応答テーブルに記録されている前記類型データの内から、前記類型データが規定する各前記部分文字列に対する条件を当該分割文を構成する各前記部分文字列が満たしているものを検索する類型検索ステップと、前記応答テーブルから、前記類型検索手段による前記検索に該当した前記類型データに対応して記録されている前記処理内容データを抽出する抽出処理ステップと、前記抽出処理ステップにおいて抽出した前記処理内容データが示す処理内容を実行する応答ステップを備えることを特徴とする。
【手続補正８】
【補正対象書類名】明細書
【補正対象項目名】００５１
【補正方法】変更
【補正の内容】
【００５１】
請求項３８の本発明の自然言語処理装置の自然言語処理方法は、前記分割ステップは、前記処理内容データにおいて示される、複数種類備える各前記応答テーブルのいずれを前記類型検索ステップにおいて検索に使用するのかを指定し、かつ、複数の前記応答テーブルを検索に使用する場合には各前記応答テーブルの検索順序を指定する応答テーブル設定命令を参照するステップと、前記処理内容データに示される前記応答テーブル設定命令に基いて、前記類型検索ステップにおいて検索に使用する前記応答テーブル、及び、複数の前記応答テーブルを検索に使用する場合におけるその検索順序を設定するステップを備えることを特徴とする。
【手続補正９】
【補正対象書類名】明細書
【補正対象項目名】００５４
【補正方法】変更
【補正の内容】
【００５４】
請求項４１の本発明の自然言語処理プログラムは、コンピュータを制御することにより、自然言語の文を処理する自然言語処理プログラムであって、自然言語のテキストデータである処理対象の文を、文の分割方法を規定した分割規則に基いて１つ又は複数の部分文字列に分割した分割文を生成する分割ステップと、前記分割文を構成する各前記部分文字列に対する条件を規定することにより前記分割文の類型を示す類型データと、前記処理対象の文から前記分割手段が生成した前記分割文が当該類型データが規定する条件に該当する場合において実行する処理内容を示す処理内容データとを対応させて記録した応答テーブルを参照し、前記処理対象の文から前記分割手段が生成した前記分割文に対して、当該分割文の類型に該当する前記類型データとして、前記応答テーブルに記録されている前記類型データの内から、前記類型データが規定する各前記部分文字列に対する条件を当該分割文を構成する各前記部分文字列が満たしているものを検索する類型検索ステップと、前記応答テーブルから、前記類型検索手段による前記検索に該当した前記類型データに対応して記録されている前記処理内容データを抽出する抽出処理ステップと、前記抽出ステップにおいて抽出した前記処理内容データが示す処理内容を実行する応答ステップを前記コンピュータに実行させることを特徴とする。