(57)【要約】【課題】  人が会話の中で自然に使用する複文や倒置表現など多様な形態を持つ日本語などの自然言語に対する応答を行うことを可能とする。【解決手段】  入力手段１−１で入力された自然言語において文章の一部を分類種別とし、第１の分類手段１−２で前記入力を少なくとも一つの分類種別に分類し、前記少なくとも一つの分類種別における所定の分類種別がアクション記憶手段１−４に登録されていれば、応答取得手段１−３は１−４から所定の処理を取得し前記所定の処理を行い応答情報を取得する。１−４に登録されていなければ応答なしに対応する応答情報を取得する。前記取得した応答情報を出力手段１−５で出力する。【選択図】図１
2008135020.tif 000002
【特許請求の範囲】
【請求項１】
自然言語を入力する入力手段と、
文章を構成する文章の一部を分類種別とし、入力を少なくとも一つの分類種別に分類する第１の分類手段と、
所定の処理を行うための情報を記憶させるアクション記憶手段と、
前記入力の少なくとも一部を比較情報とするか、前記分類種別において所定の分類種別の少なくとも一部を比較情報とし、前記比較情報に基づいて所定の処理を行うか、前記比較情報に基づいて前記アクション記憶手段から所定の処理を取得し、前記所定の処理を行い応答を取得する応答取得手段と、
前記取得した応答を出力する出力手段を備えることを特徴とした自然言語処理装置。
【請求項２】
前記入力手段と、
入力を少なくとも一つの前記分類種別に分類し、前記少なくとも一つに分類した分類種別において、
所定の分類種別の少なくとも一部を処理対象とし、前記処理対象を前記応答取得手段に入力し、前記処理対象に基づいて前記応答取得手段から応答を取得する処理を所定の条件に合致するまで繰り返し、
前記所定の条件に合致した場合はそれまでに取得した応答の少なくとも一部を最終的な応答とする第２の分類手段と、
前記アクション記憶手段と、
前記入力の少なくとも一部を比較情報とするか、前記処理対象の少なくとも一部を比較情報とする前記応答取得手段と、
前記出力手段を備えることを特徴とした自然言語処理装置
【請求項３】
コンピュータに前記入力手段、前記第１の分類手段、前記アクション記憶手段、前記応答取得手段、及び前記出力手段として機能させるための自然言語処理プログラム。
【請求項４】
コンピュータに前記入力手段、前記第２の分類手段、前記アクション記憶手段、前記応答取得手段、及び前記出力手段として機能させるための自然言語処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複文や倒置表現など多様な形態を持つ日本語などの自然言語を、コンピュータなどの機械で処理可能とするもので、入力された自然言語に対する応答文または文章などを作成する技術およびその応用システムに関するものである。
【背景技術】
【０００２】
日本語などの言語処理技術としては、形態素解析器、係り受け解析器などが既に発明され、コンピュータ上で実行可能なプログラムとしても公開されている。これら技術を利用すれば特徴のある形態素や熟語などを抽出し、前記抽出した形態素や熟語に応答するシステムが開発可能となる。
また、自然言語をコンピュータなどで処理しやすくするために、自然言語を解析して文字列自体に差異があっても意味が同じならば、同じ文として集約するため標準的な文を忠実に生成するという方法も公開されている。
【特許文献１】特開平９−７３４５２号公報
【特許文献２】特開２００５−２８４７２３号公報
【非特許文献１】工藤拓著  フリーソフトウェア  形態素解析器  ＭｅＣａｂ
【非特許文献２】工藤拓著  フリーソフトウェア  日本語係り受け解析器  ＣａｂｏＣｈａ
【発明の開示】
【発明が解決しようとする課題】
【０００３】
しかし従来技術における、特徴のある形態素や熟語を抽出する方式では、形態素や熟語だけで構成された述語のみの文か、断片的に特定の形態素や熟語だけに対する応答は行えても、人が会話の中で自然に使用する、複文や倒置表現など多様な形態を持つ日本語など自然言語の文全体の意味を把握して応答する事はできなかった。
【０００４】
標準的な文を忠実に再現する方式も、標準的な文を生成できれば、それに対応した応答文または文章を取得することは可能であるが、この場合、基本的には標準的な文を最後まで生成しないと、応答文または文章を取得できないという問題がある。短文であれば問題なくても長文になればなるほど、標準的な文の生成に時間がかかってしまう。
【０００５】
また本来、微妙なニュアンスなどについては対話をしながら理解を深めることが重要である。しかし標準的な文を忠実に再現する方式では、ニュアンスを無視して標準的な文を生成するか、ニュアンスを識別するためにさらに忠実に文を再現する必要がある。
【０００６】
ニュアンスを無視して応答文または文章を生成すれば標準的な文を忠実に再現するという概念に反し、さらに忠実に文を再現しようとすればするほど標準的な文のパターンが増加し、標準的な文を生成するための処理に労力を費やす必要があった。
【０００７】
本発明の目的は標準的な文を生成しなくても、人が自然に使用する前記多様な形態を持つ日本語など自然言語の文や文章に対して自然な応答を行うことであり、さらにその応用システムを明確にすることにある。
【課題を解決するための手段】
【０００８】
日本語の入力文を例にすると述語または述部など文を陳述している文章の構成単位を例えば第１の分類種別と分類し、第１の分類種別に対応した応答情報を得られれば応答情報を出力し処理を終了する。
【０００９】
第１の分類種別に対応した応答情報が得られない場合に、第１の分類種別以外の分類種別がない場合は応答情報なしと出力し処理を終了する。
【００１０】
第１の分類種別に対応した応答情報が得られない場合に、第１の分類種別以外がある場合は、第１の分類種別以外を入力文として段落０００８の処理を行う。
【００１１】
応答情報を得られるまで、段落０００８〜００１０の処理を繰り返すことを最も主要な特徴とする。
【発明の効果】
【００１２】
本発明は、文を陳述する文章の構成単位である述語または述部などの陳述部の重要性に着目して標準的な文を生成しなくても陳述部から順に文の構造を解析していくことにより、人が会話の中で自然に使用する複文や倒置表現など多様な形態を持つ自然言語の中でも特に日本語の文に対する応答を行う事を基本とし、陳述部ではない文章の構成単位で例えば主語または主部などから順に文の構造を解析して日本語を含めた自然言語の文に対する応答を行う事もできる柔軟性を備えている。
【００１３】
会話を行う当事者間で共有する知識は省略することができるという言語処理における基本的な特性に従って、処理済みの文章の構成単位を共通の知識として考え、前記共通の知識を前提に残りの文章の構成単位を処理することができるので、文の全てを完全に理解するまで処理を進めた上で応答文または文章を取得することも、途中まで進めた処理で得た応答文または文章を取得することもデータベースなどとして構築可能なアクション記憶手段の登録内容を変更することで自由に決めることができるという利点がある。
【００１４】
特に日本語の文において陳述部から文の構造を解析していく方法では、日本語における重要な語を文末に配置するという基本的な特性に従って、陳述部である文末から文頭に向かって処理を進めて行くので、文頭まで完全に意味を理解するまで処理を進めた上で応答文または文章を取得することも、途中まで進めた処理で得た応答文または文章を取得することもデータベースなどとして構築可能なアクション記憶手段の登録内容を変更することで自由に決めることができるという利点がある。
【００１５】
また前記共通の知識を前提に残りの文章の構成単位を処理することができるので、前提となる知識と現在の処理対象の文章の構成単位の関係から誤字や脱字などを検出することも可能となる。
【００１６】
さらに長文の場合などで完全に意味を理解しないで応答を行う際に、応答文または文章などとして質問を投げ返すことにより、単なる応答システムではなく対話を促進する対話促進型の応答システムを、本発明を利用することにより構築することが可能となる。
【実施例１】
【００１７】
まずは実施例１で使用する基本的な用語について説明する。
【００１８】
文章の構成単位とは、形態素などを文章の構成要素とし、一つまたは複数の文章の構成要素を文章の構成単位とし、一つまたは複数の文章の構成単位に一つまたは複数の文章の構成単位を組み合わせたものも文章の構成単位とするツリー構造を文章の構成単位とする。
なお文章の構成要素は形態素を基本とするが、形態素に限定するものではなく、形態素よりも小さな単位で形態素に含まれる文字や文字列や文字コードなどであっても良いし、文節などの形態素よりも大きな単位を構成要素としても良い。
【００１９】
データとは、文、文の一部、文章、文字、文字列、数値、コードまたは空（つまりデータなし）か、前記要素の一部組み合わせか全部組み合わせなどの事である。
【００２０】
入力データは、前記データであり、文か文の一部か文章を基本とするが、文や文の一部や文章を含めた前記データであって、前記文か文の一部か文章か前記データを所定の規則で変化させたデータであっても良く、前記データで構成される所定の処理やスクリプトなどであっても良い。
なお一つまたは複数の入力データを入力情報とする。
【００２１】
応答データは、前記データであり、入力データと同様、文か文の一部か文章を基本とするが、文や文の一部や文章を含めた前記データであって、前記文か文の一部か文章か前記データを所定の規則で変化させたデータであっても良く、前記データで構成される所定の処理やスクリプトなどであっても良い。
特に数値やコードなどは、処理の状態や結果を伝えるリザルトコードなどとして使用しても良く、前記リザルトコードなどを含めて応答データとする。
なお一つまたは複数の応答データを応答情報とする。
【００２２】
各手段への入力情報、出力情報は共に先に説明した通り複数のデータを含むことができるので、入力情報と出力情報の表現方法について説明する。各手段への入力情報は「ＩＮ」の後にブロック図で使用している記号を追加したものをベース名とする。例えば図１の入力手段１−１の場合は、「ＩＮ１−１」を入力情報のベース名とする。
【００２３】
ベース名である「ＩＮ１−１」に含まれる個々のデータは、前記個々のデータの順番を示す数字を括弧で囲んだものを前記ベース名に接尾として追加して、例えば「ＩＮ１−１」における１番目のデータは「ＩＮ１−１（１）」、２番目のデータは「ＩＮ１−１（２）」と表現するものとする。
【００２４】
各手段からの出力情報は「ＯＵＴ］の後にブロック図で使用している記号を追加したものをベース名とする。例えば図１の入力手段１−１の場合は、「ＯＵＴ１−１」を出力情報のベース名とする。
【００２５】
ベース名である「ＯＵＴ１−１」に含まれる個々のデータは、前記個々のデータの順番を示す数字を括弧で囲んだものを前記ベース名に接尾として追加して、例えば「ＯＵＴ１−１」における１番目のデータは「ＯＵＴ１−１（１）」、２番目のデータは「ＯＵＴ１−１（２）」と表現するものとする。
【００２６】
１．基本構成
図１のブロック図に示す基本構成を用いた処理方法について説明をする。
【００２７】
図１は、本発明装置の代表的な一実施例を論理的に表現したブロック図であり、１−１は入力手段、１−２は第１の分類手段、１−３は応答取得手段、１−４はアクション記憶手段、１−５は出力手段である。
【００２８】
図１は、本発明装置の機能を論理的にブロック図で表現したものであり、必ずしも図１に記述の手段にブロック化する必要はなく、例えば第１の分類手段と応答取得手段を組み合わせ新たな手段としても良いし、逆に例えば第１の分類手段の機能の一部を独立した手段としても良いし、前記独立した手段を他の手段と組み合わせるなどしても良い。
【００２９】
図１は１−１〜１−５の各手段を一つづつ備えたブロック図であるが、一部または全部の手段を複数備えても良く、例えば１−１〜１−５を２つづつ備えて、２つの入力を同時に処理しても良いし、１−１と１−５は１つづつで、他を２つづつ備え、後述の再帰処理を行うルートを変更したりするなどしても良い。
【００３０】
なお関連する手段間の接続方法は直接接続しても無線で接続しても良いし、有線または無線のネットワークを介して接続しても良い。子手段を備える親手段において、子手段と親手段との接続方法に関しても同様である。
これは図１以外のブロック図においても共通する規則である。
【００３１】
図１の入力手段１−１とは、例えばキーボードやマウスなどであり、操作者に操作されることで処理の対象となる自然言語に変換し、前記自然言語を第１の分類手段１−２などに出力する。
またキーボードやマウス以外にも、例えばタッチパネルから入力した位置信号を対応する自然言語に変換するものであっても良いし、ボタンから入力したボタンの状態信号を対応する自然言語に変換するものであっても良いし、リレーの接点信号を対応する自然言語に変換するものであっても良いし、マイクから入力した音声信号を音声認識を行うことで自然言語に変換するものであっても良いし、カメラから入力した画像信号を画像認識を行い手話の動作を認識し自然言語に変換するものであっても良いし、カメラやスキャナから入力した画像信号を文字認識を行い自然言語に変換するものでも良いし、
有線か無線などの通信網や電話網を介して受信した電気信号を自然言語に変換するものであっても良いし、ファイルなどのデータを入力するものであっても良く、自然言語を直接もしくは自然言語に変換して入力できる手段であれば幅広く適用できる。
【００３２】
入力手段１−１は、図２の２−１である「天気は晴れると聞いた。」という自然言語が例えばキーボードからＩＮ１−１（１）として入力されると、１−１はＩＮ１−１（１）である「天気は晴れると聞いた。」をＯＵＴ１−１（１）とし、ＯＵＴ１−１（１）からなるＯＵＴ１−１を所定の条件に従い出力する。ここでは第１の分類手段１−２に出力することとする。なおＩＮ１−１（１）を入力手段１−１でバッファなどに蓄積して所定のデータ数となってから、ＯＵＴ１−１として出力する事とし、前記データ数などを所定の条件として設定しも良いが、ここではＯＵＴ１−１（１）をＯＵＴ１−１として出力することとし説明を続ける。
またＯＵＴ１−１を所定の規則で変化させてから出力するものとし、その条件を所定の条件として設定しても良い。
【００３３】
第１の分類手段１−２はＯＵＴ１−１をＩＮ１−２とする。
必ずしもＩＮ１−２（１）のデータを係り受け解析器や形態素解析器で解析する必要はないが、必要に応じてＩＮ１−２（１）を形態素解析器や係り受け解析器などで解析し新たなＩＮ１−２（１）とする。
ここでは２−１であるＩＮ１−２（１）を係り受け解析器で２−２に解析したデータを新たなＩＮ１−２（１）としたものとして説明を続ける。
なお形態素解析器や係り受け解析器で解析したデータをＩＮ１−１として入力しても良い。
【００３４】
ＩＮ１−２（１）などのデータをバッファなどに蓄積して所定のデータ数となってから第１の分類手段１−２の処理を行っても良いが、まずはＩＮ１−２が一つのデータである場合の処理について説明し、後にＩＮ１−２が複数のデータである場合の処理についても説明する。
【００３５】
図２の２−２は２−１を係り受け解析器で解析した後の日本語の文であり、２−２１は第一文節、２−２２は第二文節、２−２３は第三文節である。図２に示した通り係り受け解析を行うと文を形態素単位で分かち書きを行うと共に、形態素の品詞と形態素をグループ化する文節の位置及び、文節間の係り受け情報である係り先に関する情報を取得することができる。
なお形態素解析の場合、文節の位置と係り先が分からない他は、ほぼ係り受け解析と同一の内容を得ることができる。
【００３６】
ここからは、係り受け解析器で解析した日本語の文２−２を処理する場合を中心に説明する。
【００３７】
なお本発明装置の入力情報としては日本語以外で、例えば英語など他の言語であっても良く、また自然言語でなく人工言語などであっても良い。
【００３８】
ＩＮ１−２（１）が複数の文からなる文章の場合においては、ＩＮ１−２（１）を所定の文章の構成単位に分割する手段を分割手段とし、前記分割手段を備え、所定の文章の構成単位を例えば文とし文章を文に分割してから処理しても良い。
例えばＩＮ１−２（１）が２つの文からなる文章である場合、元のＩＮ１−２（１）を新たなＩＮ１−２（１）とＩＮ１−２（２）に分けてから処理しても良い。
本発明装置ではＩＮ１−２（１）が複数の文からなる文章の場合においても、文章のまま処理できる仕組みとしているので前記分割手段を備えることは必要条件はない。
なお前記分割手段を備える場合には、独立した手段として備えても良いし、他の手段などと組み合わせて備えても良い。
前記分割手段などの子手段を備える第１の分類手段１−２などの親手段において、子手段を独立した手段としても良いし、他の手段と組み合わせても良いという規則は、１−２以外の手段も含めて共通する規則である。
【００３９】
前記分割手段で文章を文に分割するのとは逆に、ＩＮ１−２が複数のデータである場合においては、データ間の区切りが分かるように一つのデータに連結しても良い。
例えばＩＮ１−２が２つのデータであるものとすると、ＩＮ１−２（１）とＩＮ１−２（２）を「。」で区切って連結したものを新たなＩＮ１−２（１）としても良い。このように連結することにより複数の文からなる文章として処理することもできる。
【００４０】
係り受け解析器で解析した後の日本語の文２−２であるＩＮ１−２（１）を、第１の分類手段１−２で少なくとも一つの分類種別に分類する処理方法を第１の分類方法とし以下に説明する。
【００４１】
ＩＮ１−２（１）である日本語の文２−２において、文章の構成単位を文節とし、例えば最後の文節を第１の分類種別とする事とし、最後の文節以外を第２の分類種別に分類する事を所定の条件とし、２−２３を第１の分類種別、２−２１と２−２２を第２の分類種別に分類する。この結果第１の分類種別を「聞いた。」、第２の分類種別を「天気は晴れると」に分類する。
前記第１と２の分類種別を分類データとし、前記分類データをＯＵＴ１−２の第１のデータであるＯＵＴ１−２（１）とする。
所定の条件を変えてＩＮ１−２（１）を第１、２と３の３つの分類種別に分類しても良く、その場合は、前記３つの分類種別がＯＵＴ１−２（１）となり、逆に第１の分類種別の１つに分類した場合は、前記第１の分類種別がＯＵＴ１−２（１）となるので補足しておく。
【００４２】
なお、第１の分類手段１−２で分類した分類データにおいて、必ずしも全ての分類種別をＯＵＴ１−２（１）とする必要はなく、第１、２、３の分類種別に分類した場合、第１、２の分類種別のみをＯＵＴ１−２（１）としても良い。
例えば２−２の場合、文末の記号を第３の分類種別に分類し、残りの文を第１と２に分類する場合に、ＯＵＴ１−２（１）に第１と２の分類種別のみを設定しても良い。この場合前記第３の分類種別は以降の処理で使用されることなく結局無視する事となる。
この処理は、後述の２−１を所定の規則で変化させた文を処理する際に再度説明する。
【００４３】
文を陳述する述語や述部を陳述部とすると、日本語において重要な役割を担っている前記陳述部は文末に配置されることが多いので、応答取得手段１−３などの以降の処理で第１の分類種別を処理の主体とすると、最後の文節を第１の分類種別とすることは、前記陳述部から処理を進めて行くこととなる。
なお前記陳述部を第１の分類種別以外で例えば第２の分類種別に分類しても、応答取得手段１−３などで処理の主体を第２の分類種別にすることは可能なので、必ずしも第１の分類種別に分類する必要はないが、説明を簡略化するため、ここでは応答取得手段１−３などにおける処理の主体を第１の分類種別にするという前提で説明を続ける。
【００４４】
前記最後の文節を第１の分類種別に分類する分類方法以外にも、係り受け解析器の解析結果をＩＮ１−２（１）とする場合には、文節間の係り受け情報を取得することができるので、係り受け情報から最終的な係り先の文節を第１の分類種別、それ以外を第２の分類種別と分類しても良い。２−２の場合は最終的な係り先は２−２３であるので、この方法においても第１の分類種別を「聞いた。」、第２の分類種別を「天気は晴れると」に分類することができる。
【００４５】
係り受け情報を基に分類することにより、ＩＮ１−２（１）が倒置表現である場合も文本来の陳述部を第１の分類種別として正しく分類することができる。一方で係り受け情報を基に分類する方法は、係り受け解析器の精度に依存する事となり、係り受け解析器の精度によっては正しく分類できない可能性もある。
このため本発明装置では、係り受け情報を基に分類せずに文本来の陳述部を第１の分類種別として分類しなくてもＩＮ１−２（１）を解析し応答情報を取得できる仕組みとしているので、係り受け情報を基に分類することは必要条件ではない。
【００４６】
ここまでは文章の構成単位を文節とし、最後もしくは最終的な係り先の文節のみを第１の分類種別として分類する方法を示したが、第１の分類種別における文章の構成単位は一つの文節に限定するものではない。複数の文節でも良く例えば２−２２と２−２３である「晴れると聞いた。」を第１の分類種別とし、２−２１の「天気は」を第２の分類種別と分類しても良いし、第１の分類種別として分類する文章の構成単位は文節である必要はなく一つまたは複数の文節に一つまたは複数の形態素を組み合わせて、例えば２−２２の「と」と２−２３を組み合わせた「と聞いた。」を第１の分類種別とし「天気は晴れ」を第２の分類種別と分類しても良いし、一つまたは複数の形態素で、例えば末尾の記号である２−２３の「。」を第１の分類種別とし、「天気は晴れると聞いた」を第２の分類種別と分類しても良いし、これ以外の条件で分類しても良い。
本発明装置ではどのように分類しても後述のアクションレコード情報の内容などを調整することにより入力情報を処理できる仕組みとしている。このためトータルとして処理しやすい単位で分類すれば良い。
【００４７】
また第１と第２の分類種別に分類する例を示したが、分類種別は３つ以上であっても良い。例えば記号である２−２３の「。」を第３の分類種別に分類するものとし、２−２から「。」を除いたものをこれまでに説明した方法で分類し、例えば第１の分類種別を「聞いた」、第２の分類種別を「天気は晴れると」、第３の分類種別を「。」に分類するなどしても良い。４つ以上に分類する場合も同様に所定の条件を決め、前記所定の条件に従い分類することができる。
【００４８】
これまで２−２を例に、日本語の文における陳述部を第１の分類種別に分類する方法について説明したが、前記のように文章の構成単位の記述順序を基に分類する場合、例えば２−２１を第１の分類種別とし２−２２と２−２３を第２の分類種別と分類し、第１の分類種別を「天気は」、第２の分類種別を「晴れると聞いた。」と分類しても良いし、例えば２−２２を第１の分類種別とし２−２１と２−２３を第２の分類種別と分類し第１の分類種別を「晴れると」、第２の分類種別を「天気は聞いた。」と分類しても良い。
陳述部以外を第１の分類種別とした場合の処理方法については後に５（１）項で詳しく説明する。
【００４９】
記述順序や係り受け順序以外にも、１−２の入力情報などから得られる情報として例えば所定の文章の構成単位を文節とし、前記文節に所定のデータが含まれているかなどの条件などで第１と２の分類種別などに分類しても良いし、必要に応じて記述順序や係り受け順序や入力情報などから得られる情報などの条件を組み合わせた条件で、第１と２の分類種別などに分類しても良いし、またランダムに第１と２の分類種別などに分類しても良い。
【００５０】
なお１−２の入力情報から得られる情報としては、形態素解析器や係り受け解析器などで解析したデータをＩＮ１−２（１）とする場合には、少なくとも形態素や品詞や係り先など形態素解析器や係り受け解析器で解析した結果得られる情報のことであり、入力情報を基に例えばナレッジデータべースのような手段から取得可能な情報などであっても良い。
【００５１】
第１や第２の分類種別など分類種別を番号で区別する方法で説明してきたが、第１の分類種別を別の名称にしても良く、例えば第１の分類種別をその目的に応じた名称で陳述部としても良いし、第２の分類種別も同様に例えば陳述部以外という名称の分類種別にしても良い。
この場合も以降の手段における処理の主体を、例えば陳述部などとすることで処理する事ができる。
【００５２】
第１や２の分類種別などの分類種別は必ずしも一つのデータとして分類する必要はなく、例えば第１の分類種別を「聞いた。」と分類した場合に、所定の条件で第１の分類種別をさらに細分化し、例えば形態素単位でさらに細分化するものとし、第１の分類種別における第１のデータを「聞い」とし、第１の分類種別における第２のデータを「た」とし、第１の分類種別における第３のデータを「。」と細分化しても良い。第２の分類種別などの分類種別においても同様である。これを単位分割手段とする。
なお前記細分化した前記３つのデータを全て第１の分類種別とする必要はなく、例えば第３のデータを無視して、第１と２のデータのみを第１の分類種別としても良い。
【００５３】
前記単位分割手段は、必ずしも形態素単位で分割する必要はなく、一つまたは複数の形態素で分割しても良いし、形態素を所定の条件で文字や文字列や文字コードに分割しても良いし、一つまたは複数の文節などで分割するなどしても良いし、前記の一部組み合わせか全部組み合わせで分割しても良い。
また、文章の構成単位の持つ役割で分割しても良い。例えば「聞いた。」の場合に、語幹と語尾と末尾の記号に分割することとし、語幹である「聞い」を第１のデータ、語尾である「た」を第２のデータ、末尾の記号「。」を第３のデータなどと分割しても良い。
なお語幹と語尾と末尾の記号に分割する方法については後に５（３）項で詳しく説明する。
【００５４】
前記単位分割手段は、必ずしも第１の分類手段１−２内に備える必要はなく、独立した手段として備えても良いし、他の手段と組み合わせるなど第１の分類手段１−２以外に備えても良い。
前記単位分割手段などの子手段を備える前記第１の分類手段などの親手段において、子手段を独立した手段としても良いし、他の手段と組み合わせても良いという規則は、全ての子手段を持つ親手段に共通する規則である。
【００５５】
これまで応答取得手段１−３などの以降の手段で処理する主体を第１の分類種別とし、それ以外を第２の分類種別などとして分類する方法を説明したが、必ずしも前記処理する主体を第１の分類種別にする必要はなく、２つの分類種別に分類する場合に例えば第１と２を逆にしても良く、前記処理する主体を第２の分類種別として分類し、第２の分類種別以外を第１の分類種別などに分類しても良い。
この規則は３つ以上の分類種別に分類する場合においても同様である。
なお「以降の手段で処理する主体」という意味は、後述の応答取得手段１−３の中で説明する。
【００５６】
なおここまで一つの文からなる文章を入力とした場合について説明したが、複数の文からなる文章を処理する方法について補足をする。
【００５７】
文章は３つ以上の文からなるものでも良いが、説明を簡略化するためここでは２つの文からなる文章が入力された場合を中心について説明をする。
ＩＮ１−２（１）において、データの途中に例えば「。」など所定の文の区切りがあることを認識したした場合には、「。」を基準にデータを文単位で分割し、所定の条件に合致する文を少なくとも１つの分類種別に分類し、所定の条件に合致しない文は例えば１つの分類種別に分類するものとする。
この場合、例えば１番目の文を第１と２の２つの分類種別に分類するとし、２番目の文を第３の分類種別に分類することにより、複数の文からなる文章も文や文の一部などと同様に少なくとも１つの分類種別に分類することができる。
【００５８】
ここでは２番目の文を第３の分類種別に分類する例を説明したが、２番目の文も一つ以上の分類種別に分類しても良いし、２番目の文を第１と２の分類種別に分類し１番目の文を第３の分類種別に分類するなどしても良い。
【００５９】
ここではＩＮ１−２（１）をＯＵＴ１−２（１）の第１、２、３の分類種別に分類する方法を説明したが、ＩＮ１−２（１）をＯＵＴ１−２（１）の第１と２の分類種別に分類し、前記ＯＵＴ１−２（１）の第３の分類種別に分類したものをＯＵＴ１−２（２）の第１の分類種別に分類しても良い。
【００６０】
他の方法としてはデータの途中にある「。」など所定の文の区切りがあっても無視し、複数の文からなる文章を一つの文の如く分類しても良い。
なおこれらの分類データから応答情報を取得する方法については、後に５（２）項で詳しく説明する。
【００６１】
また文を一つの分類種別に分類することを所定の条件とし、例えば２つの文がある場合には１番目の文を第１の分類種別、２番目の文を第２の分類種別に分類したものをＯＵＴ１−２（１）として、応答取得手段１−３などに後の処理を委ねても良い。
応答取得手段１−３はＯＵＴ１−１を処理することも可能な仕組みとしているので、分類種別を文とした場合にも処理することができる。
【００６２】
ＩＮ１−２（１）としては、文か文の一部か文章や前記データを所定の規則で変化させたデータでも良く、例えば２−２の「天気は晴れると聞いた。」という文に、所定の番号や記号などのデータや情報を所定の規則で追加し、例えばジョブ番号などを先頭に挿入したものを本発明装置の入力とするものとし、「１天気は晴れると聞いた。」というものであっても良いし、完全にコード化したようなものであっても良い。
【００６３】
前記文か文の一部か文章や前記データを所定の規則で変化させたデータをＩＮ１−２（１）として処理する場合には、所定の規則で文などに戻したものを新たなＩＮ１−２（１）としてから処理を行っても良いし、前記「１天気は晴れると聞いた。」のような内容であれば、そのままＩＮ１−２（１）として使用して、例えば第１の分類種別を「聞いた。」、第２の分類種別を「天気は晴れると」、第３の分類種別を「１」と分類しジョブ番号の対処を以降の処理に委ねても良いし、ＯＵＴ１−２（１）にデータを設定する際に、前記第３の分類種別には設定せずに、第１の分類種別を「聞いた。」、第２の分類種別を「天気は晴れると」をＯＵＴ１−２（１）として、第１の分類手段１−２の処理の過程でジョブ番号を削除しても良い。
【００６４】
なおスクリプトなどがＩＮ１−２（１）である場合には、スクリプトの内容に従って処理を行い取得した文などの入力情報をＩＮ１−２（１）などとして新たに設定してから処理を行うなどしても良いし、スクリプトであるＩＮ１−２（１）をそのまま自然言語として処理しても良い。
【００６５】
図３は、入力となる英文の一例である「Ｉ ｈｅａｒ ｔｈａｔ ｉｔ ｉｓ  ａ  ｆｉｎｅ  ｄａｙ．」に関して、３−１はチャンクアノテーターと呼ばれる日本語の場合における係り受け解析器に相当する解析器で処理する前の英文で、３−２はチャンクアノテーターで解析後の英文であり、３−２１は第１チャンク、３−２２は第２チャンクと以降３−２７の第７チャンクまでの７つのチャンクがある。図３に示した通りチャンクアノテーターで解析を行うと、形態素の品詞と形態素をグループ化するチャンクの位置に関する情報を取得することができる。
【００６６】
チャンクアノテーターで解析した後の英文３−２をＩＮ１−２（１）とし前記第１の分類方法を以下に補足する。
【００６７】
ここでは、所定の文章の構成単位をチャンクとし、文の先頭のチャンクを第１の分類種別として分類し、それ以外を第２の分類種別に分類することを所定の条件とし、第１の分類種別を「Ｉ」、第２の分類種別を「ｈｅａｒ ｔｈａｔ ｉｔ ｉｓ  ａ  ｆｉｎｅ  ｄａｙ．」に分類する。
【００６８】
英文の場合も所定の文章の構成単位や分類するための条件を変更することにより、第１の分類種別を「Ｉ」、第２の分類種別を「ｈｅａｒ  ｔｈａｔ  ｉｔ  ｉｓ  ａ  ｆｉｎｅ  ｄａｙ．」に分類する以外にも多彩な分類をすることができるが、日本語の場合と同じため説明は省略する。
【００６９】
ここまではＩＮ１−２（１）が文節やチャンクという文章の構成単位が分かる場合における分類方法を第１の分類方法として説明したが、文節やチャンクという文章の構成単位が分からない、単に形態素単位で分かち書きしてある文や分かち書きしていない通常の文字列を分類する方法を第２の分類方法として以下に説明する。
なお文節やチャンクが分かる場合も、第２の分類方法で分類しても良い。
【００７０】
図４は第２の分類方法で分類するために使用する係り方レコード情報の登録事例である。
なお係り方レコード情報の基本的なデータ構造についてまずは説明する。
係り方に関する属性のデータを属性データとし、前記属性データに対応付けるデータをキーデータとし、一つまたは複数の属性データを属性情報とし、一つまたは複数のキーデータをキー情報とし、キー情報か、キー情報と属性情報を対応づけたものをレコードとし、一つまたは複数のレコードをレコード情報とし、一つまたは複数のレコード情報を係り方レコード情報とする。
なお、前記係り方レコード情報を記憶しておく手段を係り方記憶手段とする。
【００７１】
係り方レコード情報は、前記のデータ構造に限定するものではなく他の情報などを追加したり不要な情報を削除したものであっても良いが、前記のデータ構造を説明する際に定義した用語を使って第２の分類方法についての説明を続ける。
【００７２】
図４は２つのキーデータをキー情報とし、１つの属性データを属性情報とし、キー情報に属性情報を対応付けたレコードからなる係り方レコード情報の登録事例である。
【００７３】
また図４では静的なデータのみを登録しているが、例えば第２の属性データとして処理を行うためのスクリプトなどを設定しておき、前記スクリプトを実行するなどしても良い。
【００７４】
図４は係り方レコード情報の登録事例を一つのテーブルとして論理的に表現したものであり、必ずしも全てのデータを一つのテーブルで管理する必要はなく、例えばレコードやデータ種別やデータ毎にテーブルを分けるなどしても良い。
【００７５】
図４では説明を簡略化するためデータの内容を直接登録しているが、データの内容を取得するための情報などの間接情報などを登録しておいても良い。
【００７６】
図４ではキーデータと属性データに条件など含めたデータとして登録していないが、条件などを含んだデータであっても良く、例えば４−１の第１のレコードの第１のキーデータならば「形態素が”は”ならば」や「形態素が”は”を含む」などとしても良く、第２のキーデータや第１の属性データなども同様である。
【００７７】
また図４ではキー情報として２つのキーデータを登録した事例を記述しているが、必ずしも２つに分ける必要はなく、条件などとして一つにまとめて、例えば第１のレコードならば「形態素が”は”か、品詞が”助詞−係助詞”ならば」や「形態素が”は”で、品詞が”助詞−係助詞”ならば」などと登録しても良い。
これらは図４以外の他の手段における各種レコード情報などにも共通する規則である。
【００７８】
図４の４−１では第１と２のレコードにおける第１のキーデータとして一つの形態素のデータを登録し、第３のレコードにおける第１のキーデータとして２つの形態素を組み合わせたデータを登録した事例であるが、３つ以上の形態素を組み合わせたものや熟語などを登録しても良い。
【００７９】
図４の４−２は、４−１の第１のキーデータを所定の規則で変化させたデータを登録した係り方記憶手段の一登録事例である。
【００８０】
図５は第１のキーデータと一つの形態素を比較し分類する場合の第１の分類手段１−２の処理フローの一実施例である。
【００８１】
日本語の文２−２が少なくとも形態素単位で分かち書きしてあるものとする。
図１〜５を使い係り方記憶手段を備えた第１の分類手段１−２で、係り方レコード情報として４−１を使った場合を中心に、前記２−２をＩＮ１−２（１）とし、ＩＮ１−２（１）を少なくとも一つの分類種別に分類する方法を以下に説明する。
【００８２】
なお前記係り方記憶手段を備える場合には、独立した手段として備えても良いし、他の手段などと組み合わせて備えても良いのは先に説明した通りである。
【００８３】
日本語の文２−２には形態素が７つ含まれているので形態素数ｍは７である。ｘにｍである７を設定するものとする。Ｓ５−１
【００８４】
ｘの値が１〜７で所定の回数以内かを確認する。ｘは７で、ここでの所定の回数は１０回とし説明する。１回目なのでＳ５−３に移行する。Ｓ５−２
【００８５】
Ｓ５−２の処理はＳ５−３で纏めて処理しても良いが、ここでは説明を簡略化するためＳ５−２として条件を確認することとし説明を続ける。
【００８６】
Ｓ５−２ではｘの値や回数を条件としているが所定の条件でも良い。例えば処理の開始時刻からの経過時間がある一定の時間内かや、逆に時間を超えているかや、所定の時間と一致しているかなどの条件であっても良いし、条件としては回数や時間に関するものでなくても良く、また無条件という条件としても良い。
【００８７】
Ｍ（ｘ）が比較条件に合致するか確認する。ここでの比較条件は「４−１の第１のキーデータとＭ（ｘ）が一致するか」であるものとし説明する。
【００８８】
Ｍ（７）＝「。」が前記比較条件に合致するか確認する。前記比較条件と合致しないのでＳ５−３１に移行する。Ｓ５−３
【００８９】
なおＳ５−３における比較条件は、特に断りのない限り「係り方レコード情報の第１のキーデータとＭ（ｘ）が一致するか」であるものとし、これをＳ５−３におけるデフォルトの比較条件とする。
ここでは一つの条件のみを前記比較条件としているが、「係り方レコード情報の第２のキーデータとＭ（ｘ）の品詞が一致するか」などの条件を追加した複数の条件を比較条件としても良い。
【００９０】
ｘにａを加算し新たなｘとする。ここではａを（−１）とし、７＋（−１）で新たなｘを６と設定する。Ｓ５−３１
【００９１】
ｘの値が１〜７で所定の回数以内かを確認する。ｘは６で、回数は２回目なのでＳ５−３に移行する。Ｓ５−２
【００９２】
Ｍ（６）＝「た」が前記比較条件に合致するか確認する。前記比較条件と合致しないのでＳ５−３１に移行する。Ｓ５−３
【００９３】
Ｓ５−２で偽となる条件に合致するか、Ｓ５−３で真となる条件に合致するまで、Ｓ５−２〜Ｓ５−３１を繰り返す。
【００９４】
４回目でｘ＝４、Ｍ（４）＝「と」となりＳ５−３が真となるのでＳ５−４に移行する。Ｓ５−３
【００９５】
係り方レコード情報が４−２のような場合など、所定の規則で変化させたデータを登録している場合は、Ｓ５−３の所定の条件を「４−１の第１のキーデータと、Ｍ（ｘ）の先頭にアンダースコアを付けたデータが一致するか」のように調整する。
【００９６】
Ｍ（ｘ）を基準に第１と２の分類種別に分類する。ここではＭ（ｘ）より後の形態素を第１の分類種別とし、Ｍ（ｘ）を含め前に記述してある形態素を第２の分類種別として分類するものとし、第１の分類種別を「聞いた。」、第２の分類種別を「天気は晴れると」に分類する。Ｓ５−４
【００９７】
Ｓ５−４の基準をＭ（ｘ）より後の形態素を第１の分類種別とし、Ｍ（ｘ）を含め前に記述してある形態素を第２の分類種別として分類する例を示したが、Ｍ（ｘ）を含め後の形態素を第１の分類種別とし、Ｍ（ｘ）の前に記述してある形態素を第２の分類種別として分類するなどしても良いし、Ｍ（ｘ）の一つ前の形態素であるＭ（ｘ−１）より後の形態素を第１の分類種別とし、Ｍ（ｘ−１）を含め前に記述してある形態素を第２の分類種別として分類するなどしても良い。
【００９８】
ここまでは第１と２の分類種別に分類する例を示したが、Ｓ５−３が真となった場合に条件に合致したレコードの属性情報から、第１と２の分類種別に代わる分類種別を取得しても良い。
【００９９】
例えば図４の４−１の場合、第２のレコードにおける第１のキーデータ「と」に対する第１の属性データである「修飾部」を第２の分類種別の代わりに使用して、第２の分類種別を修飾部という分類種別に分類するなどしても良いし、４−１には第１の属性データしか登録していないが、第１の分類種別に代わる属性情報を第２の属性データなどとして登録し、前記第２の属性データを第１の分類種別の代わりに使用しても良い。
【０１００】
図５を使いａの符号をマイナスとした場合について説明したがこれをバックサーチとする。ａの符号をプラスにしても良くこれをフォワードサーチとする。
【０１０１】
また、ａの値として１を設定した場合について説明したが、２でも良いし、その他の値であっても良く、例えば文節などが分かる場合には、文節に含まれる形態素の数に応じてａの値を変化させても良い。
【０１０２】
フォワードサーチの場合、Ｓ５−１で例えばｘ＝１とすることで１番目の形態素からＳ５−３の条件と合致する形態素を探すことができる。
【０１０３】
バックサーチ、フォワードサーチ共に、Ｓ５−１で例えばｘ＝６とすることで途中の形態素である６番目の形態素などからＳ５−３の条件と合致する形態素を探しても良い。
【０１０４】
文末の記号を除いて分類することとし、例えばバックサーチでＳ５−１でｘ＝６を設定し処理を開始する場合に、処理の対象とならない７番目の形態素を第３の分類種別として分類し、第１の分類種別を「聞いた」、第２の分類種別を「天気は晴れると」、第３の分類種別を「。」に分類するなどしても良い。
【０１０５】
また第１の分類方法で説明したとおり前記単位分割手段を備え、分類種別を所定の条件でさらに細分化し、例えば形態素や文字や文字列や文字コードや文節単位や文章の構成単位の持つ役割である語幹や語尾や末尾の記号などでさらに細分化するものとしても良いのは第１の分類方法と同様である。
【０１０６】
係り方レコード情報に同一の内容を複数登録しておいた場合の処理方法について補足する。
【０１０７】
図４の４−３は第２のキーデータにレコードを識別するための識別データとして、例えば優先順位や無効フラグなどのデータなどを登録した係り方記憶手段の一登録事例である。
【０１０８】
４−３は第１のキーデータとして同一の形態素を２つ登録し、第２のキーデータとして前記識別データを登録した一例である。
識別データ以外にも日時で選択するレコードを変えたい場合には日時情報を登録しても良いし、ユーザ毎に選択するレコードを変えたい場合にはユーザ情報などを登録しても良いし、ジョブ情報や各種フラグなどのデータを設定しても良い。
【０１０９】
２−２を図５に従い処理する場合において、４−３の第２のキーデータが「０」であるレコードを選択する際には、第１の比較条件を「４−３の第１のキーデータとＭ（ｘ）が一致するか」とし、第２の比較条件を「４−３の第２のキーデータと”０”が一致するか」とし、前記２つのＡＮＤ条件をＳ５−３の比較条件とする。
【０１１０】
ｘ＝１、Ｍ（ｘ）＝「は」の条件で、４−３における第１のレコードが前記比較条件に合致する。
【０１１１】
前記比較条件に合致したＭ（ｘ）を基準に少なくとも一つの分類種別に分類することができる。
【０１１２】
複数のレコードが所定の条件と合致する場合は、前記所定の条件に合致する複数のレコードの中からさらに所定の条件に合致するレコードを選択することとし、前記複数のレコードの中から例えば１番目のレコードを選択しても良いし、前記識別データの他に識別データを設定しておき前記他の識別データを基にさらにレコードを選択しても良いし、また複数のレコードを選択しても良い。
【０１１３】
図４では、複数のレコードが一致しても、属性情報により分類種別の名称が変わるだけなので、図４においては複数のレコードが比較条件に一致しても意味がないが、例えば属性情報の第２の属性データに分類基準を設定しておき、Ｓ５−４で前記第２の属性データの分類基準を基に分類するとした場合、複数のレコードが一致するという事は複数の分類データを得ることになる。
【０１１４】
複数のレコードから複数の分類データを得た場合、前記複数の分類データをＯＵＴ１−２として次の手段に出力し、より良い応答情報を最終的に出力するなどしても良い。
【０１１５】
英文３−２を処理する場合について補足する。
図４の４−５は、英文に対応したキー情報を登録した係り方記憶手段の一登録事例である。
【０１１６】
図５に従って係り方レコード情報が４−５であるものとし、また３−２を少なくとも形態素単位で分かち書きしてある文とし以下に説明する。
【０１１７】
フォワードサーチで、Ｓ５−１でｘ＝１を設定し処理を開始する。
【０１１８】
日本語の場合と同様にＳ５−３のデフォルトの比較条件に合致するまで、Ｓ５−２〜Ｓ５−３１を繰り返す。
【０１１９】
Ｓ５−３において、ｘ＝３、Ｍ（ｘ）＝「ｔｈａｔ」の時に、４−５における第１のレコードとＭ（ｘ）が一致し、Ｓ５−３におけるデフォルトの比較条件に合致する。
【０１２０】
前記比較条件に合致したＭ（ｘ）の形態素を基準に第１と第２の分類種別に分類し、例えば第１の分類種別を「Ｉ  ｈｅａｒ」とし、第２の分類種別を「ｔｈａｔ  ｉｔ  ｉｓ  ａ  ｆｉｎｅ  ｄａｙ．」と分類する。
【０１２１】
図５のｘやａなどのパラメータやサーチ方法を変更することにより、第１の分類種別を「Ｉ  ｈｅａｒ」、第２の分類種別を「ｔｈａｔ  ｉｔ  ｉｓ  ａ  ｆｉｎｅ  ｄａｙ．」と分類する以外にも多彩な分類をすることができるが、日本語の場合と同じため説明は省略する。
【０１２２】
図５を使い形態素単位で分かち書きしてある文を少なくとも一つの分類種別に分類する方法を説明したが、分かち書きしていない通常の文字列からなる文も図５を応用して少なくとも一つの分類種別に分類することができるので補足する。
【０１２３】
図５ではＭを形態素とし、ｍを形態素数としているが、Ｍを文字とし、ｍを文字数とすることで、分かち書きしていない通常の文字列を少なくとも一つの分類種別に分類することもできる。
具体的な処理方法については形態素を文字に置き換えるだけなので、ここでの説明は省略する。
【０１２４】
図６は第１のキーデータと一つまたは複数の形態素を比較し分類する場合の第１の分類手段の処理フローの一実施例である。
【０１２５】
日本語の文２−２が少なくとも形態素単位で分かち書きしてあるものとする。
図１〜６を使い係り方記憶手段を備えた第１の分類手段１−２で、係り方レコード情報として４−１を使った場合を中心に、前記２−２をＩＮ１−２（１）とし、ＩＮ１−２（１）を少なくとも一つの分類種別に分類する方法を以下に説明する。
【０１２６】
ｙにｍである７を設定するものとする。Ｓ６−１
【０１２７】
ｘにｙである７を設定する。Ｓ６−２
【０１２８】
ｘの値が１〜７で所定の回数以内かを確認する。ｘは７で、ここでの所定の回数は１０回とし説明する。１回目なのでＳ６−４移行する。Ｓ６−３
【０１２９】
Ｓ６−３の処理は、Ｓ６−４で纏めて条件を確認することもできるが、ここでは説明を簡略化するためＳ６−３として条件を確認することとし説明を続ける。
【０１３０】
Ｓ６−３ではｘの値や回数を条件としているが所定の条件でも良いのはＳ５−２と同様である。
【０１３１】
Ｍ（ｘ）〜Ｍ（ｙ）が比較条件に合致するか確認する。ここでの比較条件は「４−１の第１のキーデータとＭ（ｘ）〜Ｍ（ｙ）が一致するか」であるものとし説明する。
【０１３２】
Ｍ（７）〜Ｍ（７）＝「。」が前記比較条件に合致するか確認する。前記比較条件と合致しないのでＳ６−４１に移行する。Ｓ６−４
【０１３３】
なおＳ６−４における比較条件は、特に断りのない限り「係り方レコード情報の第１のキーデータとＭ（ｘ）〜Ｍ（ｙ）が一致するか」であるものとし、これをＳ６−４におけるデフォルトの比較条件とする。
【０１３４】
ｘにａを加算し新たなｘとする。ここではａを（−１）とし、７＋（−１）で新たなｘを６と設定する。Ｓ６−４１
【０１３５】
ｘの値が１〜７で所定の回数以内かを確認する。ｘは６で、回数は２回目なのでＳ６−４に移行する。Ｓ６−３
【０１３６】
Ｍ（６）〜Ｍ（７）＝「た。」が前記比較条件に合致するか確認する。前記比較条件と合致しないのでＳ６−４１に移行する。Ｓ６−４
【０１３７】
Ｓ６−３で偽となる条件に合致するか、Ｓ６−４で真となる条件に合致するまで、Ｓ６−３〜Ｓ６−４１を繰り返す。
【０１３８】
７回目でｘ＝０となりＳ６−３が偽となるのでＳ６−３１に移行する。Ｓ６−３
【０１３９】
ｙにｂを加算し新たなｙとする。ここではｂを（−１）とし、７＋（−１）で新たなｙを６と設定する。Ｓ６−３１
【０１４０】
ｙの値が１〜７で所定の回数以内かを確認する。ｙは７で、ここでの所定の回数は１０回とし説明する。１回目なのでＳ６−２に移行する。Ｓ６−３２
【０１４１】
Ｓ６−３２ではｙの値や回数を条件としているが所定の条件でも良いのはＳ６−３と同様である。
【０１４２】
ｘにｙである６を設定する。Ｓ６−２
【０１４３】
Ｓ６−３２で偽となる条件に合致するか、Ｓ６−４で真となる条件に合致するまで、Ｓ６−２〜Ｓ６−３２を繰り返す。
【０１４４】
４回目でｘ＝４、ｙ＝４、Ｍ（４）＝「と」となりＳ６−４が真となるのでＳ６−５に移行する。Ｓ６−４
【０１４５】
Ｍ（ｘ）〜Ｍ（ｙ）を基準に第１と２の分類種別に分類する。ここではＭ（ｘ）〜Ｍ（ｙ）より後の形態素を第１の分類種別とし、Ｍ（ｘ）〜Ｍ（ｙ）を含め前に記述してある形態素を第２の分類種別として分類するものとし、第１の分類種別を「聞いた。」、第２の分類種別を「天気は晴れると」に分類する。
【０１４６】
仮に４−１に第２のレコードが登録されていない場合、ｘ＝３、ｙ＝４、Ｍ（３）〜Ｍ（４）＝「晴れると」の時にＳ６−４が真となるので、複数の形態素からなるデータ「晴れると」を基準に第１と２の分類種別に分類する。
【０１４７】
ａとｂの符号をマイナスとした場合について説明したが、これをバック・バックサーチで略してＢＢサーチする。ＢＢサーチ以外にもａとｂの符号の組み合わせでａがマイナスでｂがプラスの場合はバック・フォワードサーチで略してＢＦサーチ、同様にＦＢサーチ、ＦＦサーチのサーチ方法があり、ＢＢサーチ以外の他のサーチ方法で処理しても良い。
【０１４８】
また、ａとｂの値として１を設定した場合について説明したが、２でも良いし、その他の値であっても良く、例えば文節などが分かる場合には、文節に含まれる形態素の数に応じてａとｂの値を変化させても良い。
【０１４９】
文末の記号を除いて分類することとし、例えばＢＢサーチでＳ６−１としてｙ＝６を設定し処理を開始する場合に、処理の対象とならない７番目の形態素を第３の分類種別として分類するものとし、第１の分類種別を「聞いた」、第２の分類種別を「天気は晴れると」、第３の分類種別を「。」に分類するなどしても良い。
【０１５０】
また第１の分類方法で説明したとおり前記単位分割手段を備え、分類種別を所定の条件でさらに細分化し、例えば形態素や文字や文字列や文字コードや文節単位や文章の構成単位の持つ役割などでさらに細分化するものとしても良いのは第１の分類方法と同様である。
【０１５１】
図４の４−４は、第１のキーデータとして「晴れる」を、第２のキーデータとして「と」を登録した係り方レコード情報の一登録事例である。
一つのキーデータに一つの形態素を登録した場合の処理方法について補足する。
【０１５２】
図６に従って係り方レコード情報が４−４であるものとして処理を行う場合、Ｓ６−４において「４−４の第１〜第（ｙ−ｘ＋１）のキーデータとＭ（ｘ）〜Ｍ（ｙ）が一致するか」をＳ６−４の比較条件とする。
【０１５３】
Ｓ６−４においてｘ＝３、ｙ＝４、Ｍ（３）〜Ｍ（４）＝「晴れると」の条件で、４−４における第１のレコードと前記比較条件が合致する。
【０１５４】
これによりＳ６−５でＭ（ｘ）〜Ｍ（ｙ）を基準に第１と２の分類種別に分類することができる。  
【０１５５】
複数の文章の構成単位に分割できる「晴れると」のようなデータを、４−１の第３のレコードのように一つのキーデータとして登録しても、４−４のように文章の構成単位で分けて登録してもＳ６−４の比較条件を調整することにより前記所定の条件に合致するレコードを見つけることができることを補足しておく。
【０１５６】
英文３−２については、日本語の場合と同様に処理できるのと、３−２をＩＮ１−２（１）とした場合の図５の処理に関する説明をしているので、３−２をＩＮ１−２（１）とした場合の図６の処理に関する説明は省略する。
【０１５７】
図６を使い形態素単位で分かち書きしてある文を少なくとも一つの分類種別に分類する方法を説明したが、分かち書きしていない通常の文字列からなる文も図６を応用して少なくとも一つの分類種別に分類することができるのは図５を使った場合と同様である。
【０１５８】
なおここまで一つの文からなる文章を入力とした場合について説明したが、複数の文からなる文章を処理する方法について補足をする。
【０１５９】
文章は８つ以上の形態素からなり、７番目の形態素Ｍ（７）に「。」が設定してあるものとし図５で処理する場合について説明をする。
【０１６０】
「。」を所定の文の区切り文字とし、データの途中に前記区切り文字を認識したした場合には、Ｓ５−１のｘに前記認識した区切り文字の値を設定するか、前記認識した区切り文字を基準に値を設定する。
【０１６１】
ここでは、Ｓ５−１でｘ＝７を設定したものとして説明を続ける。
【０１６２】
、例えばバックサーチで処理する場合に、バックサーチの処理の対象となったＭ（１）〜Ｍ（７）の形態素を第１と２の分類種別に分類した場合、処理の対象とならなかった残りの形態素Ｍ（８）以降の形態素を第３の分類種別に分類することにより複数の文からなる文章も文や文の一部などと同様に少なくとも一つの分類種別に分類できる。
【０１６３】
また前記第３の分類種別を再度分類処理するなどにより、前記第３の分類種別として分類した残りの形態素を一つまたは複数の分類種別に分類することもできる。
【０１６４】
ここまで第１と２の分類方法を説明してきたが、第１の分類手段１−２における分類方法は、第１と２の分類方法に限定するものではなく他の方法であっても良く、例えばランダムに分類しても良い。
【０１６５】
ここまで第１または２の分類方法で、少なくとも１つの分類種別に分類する方法について説明したが、次の処理を行う応答取得手段１−３などに入力する前に少なくとも１つに分類した分類種別のデータを所定の規則で変化させたものをＯＵＴ１−２（１）とし出力しても良い。
【０１６６】
第１と２の分類方法を一度だけ使い分類する分類方法を説明してきたが、第１の分類方法で分類した分類データの一部または全部を、再度第１の分類方法で分類しても良い。
【０１６７】
例えば２つの文からなら文章を分類する場合において、第１の分類方法で１つの文を第３の分類種別に分類した場合に、前記第３の分類種別を再度第１の分類方法で分類しても良い。
【０１６８】
第２の分類方法においても同様である。
【０１６９】
また第１（または第２）の分類方法で分類した分類データの一部または全部を、第２（または第１）の分類方法で再度分類するなど第１と２の分類方法を組み合わせても良い。
【０１７０】
ここまで第１と２の分類方法で、２つ以上の分類種別に分類する方法を中心に説明したが、ＩＮ１−２（１）を一つの分類種別に分類することを所定の条件とし、ＩＮ１−２（１）をそのまま第１の分類種別としても良い。
【０１７１】
文や文の一部や文章などを所定の規則で変化させたデータがＩＮ１−２（１）の場合は、ＩＮ１−２（１）そのものを第１の分類種別としても良いし、所定の規則で文や文の一部や文章などに戻したデータを第１の分類種別としても良い。
【０１７２】
またＯＵＴ１−１（１）を第１の分類手段１−２を経由せずに応答取得手段１−３に入力しても良い。
【０１７３】
ここまでは一つの入力データＩＮ１−２（１）からなるＩＮ１−２を処理する基本的な方法について説明したが、ここからは複数のデータからなるＩＮ１−２を処理する場合を含め全体の処理の流れについて説明する。
【０１７４】
なお一つの入力データからなるＩＮ１−２を処理する方法を基本分類処理として説明を続ける。
【０１７５】
ここではＩＮ１−２は３つの入力データＩＮ１−２（１）、ＩＮ１−２（２）、ＩＮ１−２（３）からなる入力情報であるものとして説明する。
【０１７６】
ＩＮ１−２の１番目のデータＩＮ１−２（１）を基本分類処理で分類データにし、前記分類データをＯＵＴ１−２（１）とする。次にＩＮ１−２（２）を基本分類処理で分類データにし、前記分類データをＯＵＴ１−２（２）とする。次にＩＮ１−２（３）を基本分類処理で分類データにし、前記分類データをＯＵＴ１−２（３）とする。ＯＵＴ１−２（１）〜ＯＵＴ１−２（３）からなるＯＵＴ１−２を所定の手段に出力する。
【０１７７】
ここまで説明した処理方法を基本処理とするが、複数の入力データを処理する方法は前記方法に限るものではない。
【０１７８】
前記基本処理のように入力データを順に一つづつ基本分類処理を行うことを同期処理とする。
【０１７９】
同期処理で処理する順序としては、前記基本処理で説明した通りＩＮ１−２（１）、ＩＮ１−２（２）、ＩＮ１−２（３）と処理をしても良いし、逆にＩＮ１−２（３）、ＩＮ１−２（２）、ＩＮ１−２（１）と逆に処理をしても良いし、ランダムな順序で処理をしても良く、所定の順序に従い処理をすれば良い。
【０１８０】
前記同期処理以外にも複数の入力データを同時に処理しても良く、例えば全ての入力データＩＮ１−２（１）〜ＩＮ１−２（３）を同時に処理しても良い。このように複数の入力データを同時に処理することを非同期処理とする。また同時に処理する入力データ数の上限を設け、例えば上限を２つにして、ＩＮ１−２（１）とＩＮ１−２（２）を同時に処理し、ＩＮ１−２（１）かＩＮ１−２（２）のどちらか一方が終了したら、ＩＮ１−２（３）の処理をしても良い。同時に処理する入力データ数の上限を設ける場合、必ずしもＩＮ１−２（１）から順に処理を行う必要はなく、順序は同期処理の場合と同じで所定の順序に従い処理をすれば良い。
また同期処理と非同期処理以外にも例えばパイプライン処理などで処理しても良い。
【０１８１】
ここまでは同期処理、非同期処理などの処理タイミングや処理順序について説明したが、出力情報ＯＵＴ１−２の出力タイミングと次の手段の処理も含めて説明する。
【０１８２】
前記基本処理ではＯＵＴ１−２（１）〜ＯＵＴ１−２（３）からなるＯＵＴ１−２を出力する方法を説明したが、出力タイミングも前記基本処理に限るものではない。
【０１８３】
一つの分類データに分類できた時点で一つの分類データからなるＯＵＴ１−２を所定の手段に出力しても良い。
【０１８４】
例えば同期処理で、ＩＮ１−２（１）から順に処理をしていく場合は、ＩＮ１−２（１）をＯＵＴ１−２（１）に分類した時点で、ＯＵＴ１−２（１）をＯＵＴ１−２とし所定の手段に出力する。次にＩＮ１−２（２）の処理を開始し、ＩＮ１−２（２）をＯＵＴ１−２（２）に分類した時点で、ＯＵＴ１−２（２）をＯＵＴ１−２とし所定の手段に出力する。次にＩＮ１−２（３）の処理を開始し、ＩＮ１−２（３）をＯＵＴ１−２（３）に分類した時点で、ＯＵＴ１−２（３）をＯＵＴ１−２とし所定の手段に出力しても良い。
【０１８５】
またＩＮ１−２（１）をＯＵＴ１−２（１）に分類した時点で、ＯＵＴ１−２（１）をＯＵＴ１−２とし所定の手段に出力し、前記所定の手段の処理が終了してからＩＮ１−２（２）の処理を開始する。ＩＮ１−２（２）をＯＵＴ１−２（２）に分類した時点で、ＯＵＴ１−２（２）をＯＵＴ１−２とし所定の手段に出力し、前記所定の手段の処理が終了してからＩＮ１−２（３）の処理を開始する。ＩＮ１−２（３）をＯＵＴ１−２（３）に分類した時点で、ＯＵＴ１−２（３）をＯＵＴ１−２とし所定の手段に出力しても良い。
【０１８６】
同期処理を例にＯＵＴ１−２の出力タイミングと次の手段の処理を含めた処理方法を説明したが、非同期処理やパイプライン処理などについても同期処理と同様であり、基本処理のように全ての入力データを出力データに分類してから次の手段に出力しても良いし、出力データができたものから次の手段に出力しても良い。
【０１８７】
なお１−２が出力する所定の手段とは、応答取得手段１−３が基本であるが他の手段であっても良い。例えば複数の第１の分類手段１−２や応答取得手段１−３などを備える場合には、前記所定の手段を設定しておき出力先を必要に応じて変更しても良い。
【０１８８】
また複数の文からなる文章を処理する際に、所定の文章の構成単位を文とし、例えば第３の分類種別に前記文を設定する方法を説明したが、このような場合に前記第３の分類種別を１−２に出力して再度分類するなどしても良い。
【０１８９】
第１の分類手段１−２は、ここまで説明した処理タイミングや処理順序や出力タイミングや出力先などを、所定の条件として設定しておくことにより、前記所定の条件で入力情報ＩＮ１−２を処理することができる。
【０１９０】
なお、例えば２−２のような一つの入力データＩＮ１−２（１）をＩＮ１−２とした場合に、前記基本分類処理で一つの分類データＯＵＴ１−２（１）に分類する方法はこれまで説明してきた通りであるが、複数の分類条件を用意しておき、ＩＮ１−２（１）を前記複数の分類条件で複数の分類データに分類しても良い。
一つの入力データをｎ個の分類データに分類することを１：ｎ分類法とすると、ｎの数やｎ通りに分類するための分類条件などを所定の条件として設定しておき前記所定の条件に従い処理を行っても良い。
また１：ｎ分類法で分類した分類データから取得した応答情報において、最終的に選択する応答情報の取得基準などを条件として設定しても良い。
【０１９１】
また第１の分類手段１−２で分類したＯＵＴ１−２を所定の規則で変化させてから出力するものとしその条件を所定の条件として設定しても良い。
【０１９２】
ここからは応答取得手段１−３について説明する。
【０１９３】
図８はアクション記憶手段１−４に登録するアクションレコード情報の登録事例である。
【０１９４】
なおアクションレコード情報の基本的なデータ構造についてまずは説明する。
条件のデータを条件データとし、応答内容のデータを応答データとし、動作内容のデータを動作データとし、
少なくとも条件データを含み、前記応答データと前記動作データを含める事ができるデータを拡張条件データとし、
少なくとも応答データを含み、前記条件データと前記動作データを含める事ができるデータを拡張応答データとし、
少なくとも動作データを含み、前記条件データと前記応答データを含める事ができるデータを拡張動作データとし、
前記３種類の拡張データに対応付けておくためのデータであるキーデータの４種類のデータを構成要素とし、
一つまたは複数の条件データを条件情報とし、一つまたは複数の拡張条件データを拡張条件情報とし、一つまたは複数の応答データを応答情報とし、一つまたは複数の拡張応答データを拡張応答情報とし、一つまたは複数の動作データを動作情報とし、一つまたは複数の拡張動作データを拡張動作情報とし、一つまたは複数のキーデータをキー情報とし、
拡張条件情報か、拡張応答情報か、拡張動作情報か、前記３つの拡張情報の一部組み合わせか、全部の組み合わせのいずれかをアクションとし、一つまたは複数のアクションをアクション情報とし、キー情報に前記アクション情報を対応付けたものをレコードとし、一つまたは複数のレコードをレコード情報とし、一つまたは複数のレコード情報をアクションレコード情報とする。
アクションレコード情報は、前記のデータ構造に限定するものではなく他の情報などを追加したり不要な情報を削除したものであっても良いが、前記のデータ構造を説明する際に定義した用語を使って応答取得手段１−３の説明を続ける。
【０１９５】
図７は、図８などのアクションレコード情報で入力手段１−１の出力情報ＯＵＴ１−１か、第１の分類手段１−２の出力情報ＯＵＴ１−２に対する応答情報を得る応答取得手段１−３の処理フローの一実施例である。
【０１９６】
図８の８−１は、一つの拡張条件データを拡張条件情報とし、一つの拡張応答データを拡張応答情報とし、一つの拡張動作データを拡張動作情報とし、拡張条件情報と拡張応答情報と拡張動作情報をアクションとし、一つのアクションをアクション情報とし、一つのキーデータをキー情報とし、前記アクション情報を前記キー情報に対応付けたレコードからなるアクションレコード情報の一登録事例である。
【０１９７】
拡張条件情報や拡張応答情報や拡張動作情報の拡張情報とは、例えば拡張条件情報を例にすると、条件情報の内容を少なくとも含み、条件情報以外の応答情報や動作情報の内容を含むことができるものであり、拡張条件情報として条件情報や応答情報や動作情報の内容を含めることによりスクリプトと同等の機能を持たせることができる。これは拡張条件情報以外の拡張情報も同様である。
なお図８では各種拡張情報に入力の自然言語を処理するための必要最小限の内容しか記述していないがスクリプトなどとして記述可能な処理を記述しても良い。例えば外部コマンドなどを記述して通信網を介して情報を取得しても良いし逆に情報を発信しても良い。また同様に外部コマンドなどを記述してモータやエンジンやリレーや電子デバイスなどを制御するなどしても良い。
【０１９８】
図８の８−１では分かりやすく説明するためにアクション情報のアクション内で拡張条件情報と拡張応答情報と拡張動作情報を明確に区別しているが、アクションの内容で拡張条件情報なのか拡張応答情報なのか拡張動作情報なのかを区別しても良いし、特に区別する必要もないので必ずしも明確に区別する必要はない。
【０１９９】
図８の８−１はアクションレコード情報の一登録事例を一つのテーブルとして論理的に表現したものであり、必ずしも全てのデータを一つのテーブルで管理する必要はなく、例えばレコードやデータ種別やデータ毎にテーブルを分けるなどしても良い。
【０２００】
図８の８−１では説明を簡略化するためデータの内容を直接登録しているが、データの内容を取得するための情報などの間接情報などを登録しておいても良い。
【０２０１】
図８の８−１ではキー情報などにおいて条件などを含めたデータとして記述していないが、条件などを含めて記述し、例えば８−１の第１のレコードのキー情報ならば「”聞いた。”ならば」や「”聞い”が含まれるならば」などと登録しても良い。
これらは図８を含め他の図におけるアクションレコード情報全てに共通する規則である。
【０２０２】
アクションとしては、拡張条件情報と拡張応答情報と拡張動作情報などを一体で記述できるスクリプトを用いても良いが、図８の８−１では本質的な処理を簡潔に説明するためアクションとして拡張条件情報と、拡張応答情報と、拡張動作情報を分離した表形式で記述している。
なおアクションとしてスクリプトを用いた例については別途補足する。
【０２０３】
図１〜８を使い応答取得手段１−３の入力情報ＩＮ１−３（１）における第１と２の分類種別から応答取得手段１−３で応答情報を取得する方法について以下に説明する。
【０２０４】
第１の分類手段１−２で、２−２であるＩＮ１−２（１）を第１の分類種別「聞いた。」、第２の分類種別「天気は晴れると」に分類した分類データをＯＵＴ１−２（１）とし、ＯＵＴ１−２（１）からなるＯＵＴ１−２を応答取得手段１−３に出力したものとする。
【０２０５】
応答取得手段１−３はＯＵＴ１−２をＩＮ１−３とする。
なお、ＩＮ１−３が一つのデータＩＮ１−３（１）である場合についての処理をまずは説明し、後にＩＮ１−３が複数のデータである場合など全体の処理について説明する。
【０２０６】
なお応答取得手段１−３は入力手段１−１の出力情報ＯＵＴ１−１を入力することもでき、その場合は必ずしも第１の分類手段１−２を経由する必要はない。
ＯＵＴ１−１をＩＮ１−３とした場合、必ずしもＩＮ１−３の入力データを係り受け解析器や形態素解析器で解析する必要はないが、必要に応じてＩＮ１−３の入力データを形態素解析器や係り受け解析器などで解析した場合は、前記解析したものを新たなＩＮ１−３とする。
【０２０７】
ＯＵＴ１−１をＩＮ１−３とする場合には、１−２を経由しないので、入力手段１−１で出力する際に、元のＯＵＴ１−１（１）を、新たなＯＵＴ１−１（１）における所定の分類種別で、例えば第１の分類種別として出力しても良いし、１−３でＯＵＴ１−１をＩＮ１−３とする際に、ＯＵＴ１−１（１）をＩＮ１−３（１）における所定の分類種別としても良い。
またＯＵＴ１−１とＯＵＴ１−２を併せてＩＮ１−３としても良い。
【０２０８】
Ｓ７−１ではＩＮ１−３（１）の分類種別やその他の処理状態などが所定の比較条件に合致するかを確認する。
【０２０９】
Ｓ７−１の比較条件は「第１の分類種別が８−１のキー情報と一致するか」であるものとし説明をする。
先にも述べた通りまずは一つのデータＩＮ１−３（１）に対する応答情報を取得する説明を行うので、「ＩＮ１−３（１）の第１の分類種別」と厳密には表現すべきであるが、「第１の分類種別」と省略して表現するものとする。なおＩＮ１−３（１）やＩＮ１−３（２）など各データを明確に区別しなければならない時には、その都度明確に区別するようにする。
【０２１０】
なおＳ７−１における比較条件は、特に断りのない限り「第１の分類種別がアクションレコード情報のキー情報と一致するか」であるものとし、これをＳ７−１におけるデフォルトの比較条件とする。
【０２１１】
ここでは説明を簡略化するため、Ｓ７−１の比較条件を一つの比較条件「第１の分類種別が８−１のキー情報と一致するか」として説明するが、複数の比較条件を設定しても良い。
例えば再帰処理回数やタイムアウト時間などを条件として追加しても良く、例えば「再帰処理回数が１０回以内か」を第２の比較条件とし、「処理時間がタイムアウト時間内か」を第３の比較条件とし、前記３つのＡＮＤ条件をＳ７−１の比較条件などとしても良い。
【０２１２】
Ｓ７−１のデフォルトの比較条件では、第１の分類種別とキー情報をそのまま比較しているが、「第１の分類種別の先頭の文字列がキー情報の文字列と一致するか」など比較条件を調整して一部のデータで比較しても良い。
例えば第１の分類種別が「天気は晴れると聞いた。」で、キー情報が「天気は」であるとした場合、前記比較条件で比較すると、第１の分類種別の先頭の文字列が「天気は」なのでキー情報と一致する。
逆に第１の分類種別が「天気は」で、キー情報が「天気は晴れると聞いた。」であるとした場合、「第１の分類種別がキー情報の先頭の文字列と一致するか」などとしても良い。
Ｓ７−１における比較条件は、第１の分類手段１−２における分類方法とアクションレコード情報の内容を踏まえて処理しやすい条件を設定すれば良い。
これは図７以外の処理フローにおいても共通する規則である。
【０２１３】
ここでは第１の分類種別をＳ７−１の比較条件として使用しているが、必要に応じて第１の分類種別以外を比較条件として使用しても良い。
なお第１の分類手段１−２の説明において、第１の分類種別を以降の手段の処理の主体とすると説明してきたが、その意味はＳ７−１の比較条件として第１の分類種別のデータを使用する事を意味している。
ここでのＳ７−１の比較条件は「第１の分類種別がアクションレコード情報のキー情報と一致するか」であるが、前記比較条件において「第１の分類種別」を「第２の分類種別」に変える事により、処理の主体を第２の分類種別に変えることができる。
また前記比較条件を調整することにより、複数の分類種別を処理の主体とし、例えば第１と第２の分類種別を処理の主体としても良い。
【０２１４】
第１の分類種別「聞いた。」が８−１における第１のレコードのキー情報と一致し、前記比較条件に合致するのでＳ７−２に移行する。Ｓ７−１
【０２１５】
ここでは説明を簡略化するため前記比較条件に合致するレコードを一つのレコードとしているが、前記比較条件に合致するレコードが複数であっても良い。複数のレコードが合致する場合は第１の分類手段１−２で複数のデータからなるＩＮ１−２を処理する方法で説明したように、各レコードを処理する処理順序や処理タイミングや応答情報の取得基準などの所定の処理条件を設定しておき、前記処理条件に基づいて処理をすれば良い。
なお所定の処理条件に従い処理をするのは一つのレコードが合致した場合も同様である。
【０２１６】
前記比較条件に合致しない場合は、Ｓ７−１１に移行し所定の処理を実施する。例えば応答情報なしという応答情報の取得処理をしても良いし、応答情報なしに対応する別の応答情報として、例えば「はい？」のような所定の応答情報を登録しておき、「応答情報なし」の代わりに「はい？」を取得するなどしても良い。
また前記比較条件に合致しなかった理由により応答情報を変えるなどしても良い。例えば先に説明したように複数の比較条件をＳ７−１の比較条件とした場合に、処理時間がタイムアウト時間を超過し「処理時間がタイムアウト時間内か」という比較条件に合致しなかった場合は、「応答情報なし」や「はい？」ではなく「もっと短く。」などを応答情報として取得するなどしても良い。
【０２１７】
またＳ７−１１では少なくとも本発明装置内の各手段において処理可能である所定の処理を登録しておき前記処理を行っても良い。本発明装置内の各手段において処理可能である所定の処理には前記アクションも含む。アクションはスクリプトとしての機能を有するので、スクリプトで処理可能な所定の処理を行っても良い。
【０２１８】
例えば複数の文からなら文章を前記第１の分類手段１−２で文単位で分類種別に分類した場合において、一つの文を第１の分類種別に分類した場合などに、前記比較条件に合致しないケースも考えられる。合致しないケースにおいても、例えば第１の分類種別の内容が文である事を検出したら、所定の処理として例えば前記第１の分類種別のデータである文をＯＵＴ１−３（１）とし、ＯＵＴ１−３（１）からなるＯＵＴ１−３を再帰情報として、第１の分類手段１−２に出力して再帰処理させるなどしても良いし、再帰処理以外の処理を行っても良い。
なお入力手段１−１の出力情報ＯＵＴ１−１をＩＮ１−３とした場合においては、ＩＮ１−３（１）は第１の分類手段１−２で分類されていないので、前記一つの文を第１の分類種別に分類した場合に当てはまる。この場合も比較条件が合致しない場合は、所定の処理として１−２で再帰処理を行うことで処理を継続することができる。
【０２１９】
なお、文が分類種別として分類されているかどうかの判定は、１−１や１−２で出力情報を出力する際に、例えば所定の規則で変化させ文であることを示すデータを付加する事とし、前記付加したデータによって判別しても良い。
またＩＮ１−１を分類種別と比較できるように所定の手段などに記憶させておき、前記記憶させたＩＮ１−１のデータに含まれる文と同一のデータが分類種別であった場合には文であると判定するなどしても良い。
【０２２０】
Ｓ７−１の比較条件に合致した前記第１のレコードにおけるアクション情報を取得し、アクション情報のアクションを処理する。８−１の場合、アクション情報は一つのアクションであるので、前記アクションを処理をする。
ここでは説明を簡略化するためアクション情報を一つのアクションとした例としているが、複数のアクションである場合は１−２で複数のデータからなるＩＮ１−２を処理する方法で説明したように、各アクションを処理する処理順序や処理タイミングや応答情報の取得基準などの所定の処理条件を設定しておき、前記処理条件に基づいて処理をすれば良い。
なお所定の処理条件に従い処理をするのは一つのアクションの場合も同様である。
【０２２１】
ここではアクションにおける第１の構成単位である拡張条件情報から、拡張条件情報の内容に従い処理するものとするが、必ずしも拡張条件情報から処理する必要はない。
【０２２２】
アクション情報における各アクションの処理方法と同様に、アクションの各構成単位を処理する処理順序や処理タイミングや応答情報の取得基準などの所定の処理条件を設定しておき、前記処理条件に基づいて処理すれば良い。
【０２２３】
なお８−１では特に断りのない限りアクションは拡張条件情報から、拡張条件情報の内容に従い処理するものとする。
【０２２４】
拡張条件情報なので、Ｓ７−２３に移行する。Ｓ７−２
【０２２５】
拡張条件情報の内容を確認し次の処理内容を決める。第２の分類種別「天気は晴れると」があるので拡張動作情報を処理する。
【０２２６】
拡張動作情報として第２の分類種別「天気は晴れると」を再帰処理するように記述があるので、「天気は晴れると」をＯＵＴ１−３（１）としＯＵＴ１−３（１）からなるＯＵＴ１−３を再帰情報とし第１の分類手段１−２に出力する。
第１の分類手段１−２はＯＵＴ１−３をＩＮ１−２とする。１−２ではＩＮ１−２（１）「天気は晴れると」を第１の分類種別「晴れると」、第２の分類種別「天気は」に分類したものとして説明を続ける。Ｓ７−２３
【０２２７】
ここではＯＵＴ１−３（１）として第２の分類種別のデータを設定しているが、拡張条件情報の内容を変えることにより、他のデータで、例えばＩＮ１−３に関係の無い文や文の一部や文章や空などをＯＵＴ１−３（１）として設定しても良いし、ＯＵＴ１−３に複数のデータを設定しても良い。
また前記ＯＵＴ１−３のデータとしたものを所定の規則で変化させたデータを最終的なＯＵＴ１−３のデータとして設定しても良く、例えば前記第２の分類種別「天気は晴れると」をＯＵＴ１−３（１）とする場合に再帰処理回数を示す識別データで例えば「Ｒ１」を先頭に付ける事を所定の規則とし「Ｒ１天気は晴れると」などとしても良い。
【０２２８】
８−１における拡張動作情報では、再帰処理先を第１の分類手段１−２としているが、他の手段であっても良く、例えば応答取得手段１−３などであっても良いし、また１−２と１−３など複数の再帰処理先であっても良い。
また拡張動作情報では再帰処理先を指定せずに所定の再帰処理先をあらかじめ設定しておき、前記あらかじめ設定しておいた再帰処理先にＯＵＴ１−３を出力しても良い。
【０２２９】
ＯＵＴ１−３（１）からなるＯＵＴ１−３を再帰情報とする場合に、例えばＯＵＴ１−３（１）が複数の文からなる文章の場合は、前記分割手段で前記文章を例えば文などに分割し、例えば２つの文に分割した場合に、元のＯＵＴ１−３（１）をＯＵＴ１−３（１）とＯＵＴ１−３（２）に分割し、ＯＵＴ１−３（１）とＯＵＴ１−３（２）からなる新たなＯＵＴ１−３を再帰情報として出力しても良い。
またＯＵＴ１−３が複数のデータである場合において、データ間の区切りが分かるように一つのデータに連結して、再帰処理先の手段に前記連結したデータを入力して処理しても良く、例えば２つのデータＯＵＴ１−３（１）とＯＵＴ１−３（２）があり、前記ＯＵＴ１−３（１）とＯＵＴ１−３（２）を「。」で区切って連結したものを新たなＯＵＴ１−３（１）とし、前記新たなＯＵＴ１−３（１）からなるＯＵＴ１−３を再帰情報として出力しても良い。これにより複数の文からなる文章として処理することもできる。
【０２３０】
ここでは説明を簡略化するため再帰情報であるＯＵＴ１−３は一つのデータからなるものを中心に説明してきたが、複数のデータの場合は各データを処理する処理順序や処理タイミングや応答情報の取得基準などの所定の処理条件をアクション内などに設定しておき、前記処理条件に基づいて処理を進めるのは、１−２で複数のデータからなるＩＮ１−２を処理する方法と同様である。
なお所定の処理条件に従い処理をするのは再帰情報が一つのデータの場合も同様である。
【０２３１】
第１の分類手段１−２で分類した第１の分類種別「晴れると」と、第２の分類種別「天気は」が、Ｓ７−１の比較条件に合致するか確認する。
第１の分類種別「晴れると」が８−１の第２のレコードのキー情報と一致するのでＳ７−２に移行する。Ｓ７−２３におけるＳ７−１
【０２３２】
拡張条件情報なので、Ｓ７−２３に移行する。Ｓ７−２３におけるＳ７−２
【０２３３】
拡張条件情報の内容を確認し次の処理内容を決める。
【０２３４】
前記拡張条件情報に記述の通り拡張動作情報を実行し、現在の天気が晴れならば拡張応答情報を応答情報として取得し、晴れ以外ならば拡張動作情報で取得した現在の天気に「です。」を追加したデータを応答情報として取得と記述があるので、拡張動作情報の内容を実行して拡張条件情報に従い応答情報を取得する。
【０２３５】
８−１の場合は拡張動作情報を実行した結果、「晴れ」ならば拡張応答情報の「良かった。」を応答情報として取得し、現在の天気が晴れではなく例えば雨ならば「雨です。」を応答情報として取得することとなる。
ここでは天気が晴れでも晴れ以外でも応答情報を取得することとなる。Ｓ７−２３におけるＳ７−２３
【０２３６】
なお、ここでは現在の天気を晴れと仮定し応答情報は「良かった。」であるものとして説明を続ける。
【０２３７】
前記応答情報「良かった。」を取得して再帰処理を終了する。Ｓ７−２３におけるＳ７−３
【０２３８】
再帰処理Ｓ７−２３が終了すると、Ｓ７−２３におけるＳ７−３で取得した「良かった。」を取得する。Ｓ７−２３
【０２３９】
Ｓ７−２３で取得した前記応答情報を取得して終了する。Ｓ７−３
【０２４０】
なお図８の８−１では説明を簡略化するため取得する応答情報が一つとなるような登録内容としているが、例えば８−１の第１のレコードのアクション情報における拡張条件情報を「拡張応答情報を応答情報として取得し拡張動作情報も実行する」ように設定しても良い。
前記拡張条件情報の内容に従い処理をすると、８−１の第１レコードを処理する時に「何を聞いたの？」という応答情報を取得し、再帰処理で８−１の第２のレコードを処理する時に「良かった。」という応答情報を取得し、２つのデータからなる応答情報を取得することとなる。
このような場合、所定の条件を満たす応答情報を取得することとして、一つ目の応答情報のみを取得しても良いし、２つ目の応答情報のみを取得しても良いし、２つとも取得しても良い。
一つのアクションで３つ以上の応答情報を取得した場合においても同様である。
【０２４１】
前記取得した応答情報「良かった。」をＯＵＴ１−３（１）とし、ＯＵＴ１−３（１）からなるＯＵＴ１−３を出力情報とし、応答取得手段１−３は前記出力情報を出力手段１−５に出力する。
【０２４２】
Ｓ７−１で複数のレコードが比較条件に合致した場合は、先にも説明した通り所定の処理条件で各レコードについてＳ７−２〜Ｓ７−３の処理し応答情報を取得する。全てのレコードの応答情報を取得した上で所定の条件を満たす応答情報を最終的な応答情報としても良いし、各レコードを処理中に所定の条件を満たす応答情報を検出した時点で前記応答情報を応答取得手段１−３の出力情報ＯＵＴ１−３として出力手段１−５などに出力しても良い。
アクション情報が複数のアクションによって構成されている場合やアクションが複数の拡張情報で構成されている場合も同様に、全ての応答情報を取得した上で所定の条件を満たす応答情報を最終的な応答情報としても良いし、処理中に所定の条件を満たす応答情報を検出した時点で前記応答情報を応答取得手段１−３の出力情報ＯＵＴ１−３として出力手段１−５などに出力しても良い。
【０２４３】
図８の８−２は、一つの拡張応答データを拡張応答情報とし、一つの拡張動作データを拡張動作情報とし、拡張応答情報か拡張動作情報をアクションとし、一つのアクションをアクション情報とし、一つのキーデータをキー情報とし、前記アクション情報を前記キー情報に対応付けたレコードからなるアクションレコード情報の一登録事例である。
【０２４４】
ＩＮ１−３（１）の第１の分類種別が「聞いた。」で、第２の分類種別「天気は晴れると」であるものとし、図７の処理フローを使いＩＮ１−３（１）を８−２のアクションレコード情報で処理する方法について補足する。
【０２４５】
なおここまでの処理で１−２と１−３の入力情報と出力情報の関係については一通りの説明を行ったので、ＩＮ１−２、ＯＵＴ１−２、ＩＮ１−３やＯＵＴ１−３などの入出力情報を表す記号を極力使用せずに説明をする。
【０２４６】
Ｓ７−１のデフォルトの比較条件と合致するか確認する。
第１の分類種別「聞いた。」が８−２における第１のレコードのキー情報と一致するのでＳ７−２に移行する。Ｓ７−１
【０２４７】
第１のレコードのアクション情報が拡張動作情報であり、第２の分類種別を再帰処理するよう設定されているので、第２の分類種別「天気は晴れると」を１−２に出力し、１−２で「天気は晴れると」を第１の分類種別「晴れると」と第２の分類種別「天気は」に分類したものとする。第１の分類種別「晴れると」が８−２における第２のレコードのキー情報と一致するのでＳ７−２に移行する。Ｓ７−２、Ｓ７−２２、Ｓ７−１
【０２４８】
第２のレコードのアクション情報が拡張動作情報であり、第２の分類種別を再帰処理するよう設定されているので、第２の分類種別「天気は」を１−２に出力し、１−２で「天気は」を第１の分類種別「天気は」と第２の分類種別を空（データなし）に分類したものとする。第１の分類種別「天気は」が８−２における第３のレコードのキー情報と一致するのでＳ７−２に移行する。Ｓ７−２、Ｓ７−２２、Ｓ７−１
【０２４９】
第３のレコードのアクション情報が拡張動作情報であり、第２の分類種別を再帰処理するよう設定されているので、第２の分類種別の空を１−２に出力し、１−２で空を第１の分類種別を空と第２の分類種別を空に分類したものとする。第１の分類種別である空が８−２における第４のレコードのキー情報と一致するのでＳ７−２に移行する。Ｓ７−２、Ｓ７−２２、Ｓ７−１
【０２５０】
第４のレコードのアクション情報が拡張応答情報として設定されているので、拡張応答情報「良かった。」を応答情報として取得する。Ｓ７−２、Ｓ７−２１、Ｓ７−３
この場合において、もし８−２にキー情報として空を登録していなかった場合は比較条件が合致せず、４回目のＳ７−１でＳ７−１１に移行し、例えば応答情報なしなどの応答情報を取得する。
【０２５１】
このように８−２のキー情報として空を登録することにより、アクションとして拡張条件情報などで条件を設定しない場合でも応答情報を取得することができる。
【０２５２】
再帰処理時に１−２に出力する再帰情報ＯＵＴ１−３とはこのように空も含めた一つまたは複数のデータであることを補足しておく。
【０２５３】
図９の９−１はキー情報として、「聞いた。」というデータの先頭にアンダースコアを付けるという規則で変化させたデータ「＿聞いた。」を登録したアクションレコード情報の一登録事例である。
【０２５４】
アクションレコード情報としては、アクションレコード情報の構成単位にどのようなデータを登録しても良く、その場合の処理方法について補足する。
これはアクションレコード情報以外の前記係り方レコード情報や各種レコード情報にも共通する規則であり、第１の分類手段１−２における第２の分類方法でも説明している内容であるが、アクション記憶手段１−４で使用する場合について改めて説明する。
【０２５５】
ＩＮ１−３（１）が第１の分類種別「聞いた。」で、第２の分類種別「天気は晴れると」であるものとする。
【０２５６】
Ｓ７−１において、「第１の分類種別が９−１のキー情報と一致するか」を第１の比較条件とし、「第１の分類種別の先頭にアンダースコアを付けたデータが９−１のキー情報と一致するか」を第２の比較条件とし、前記２つのＯＲ条件をＳ７−１の比較条件とする。
【０２５７】
Ｓ７−１で、前記比較条件において第２の比較条件が９−１の第１のレコードと一致するので、前記第１のレコードにおけるアクション情報を処理し応答情報を取得する。
【０２５８】
なお図９の９−１は「聞いた。」というデータを所定の規則で変化させたデータ「＿聞いた。」を登録した例であるが、「聞いた。」を完全にコード化した例えば「１」や「２ｂｃ４３０ａ」などのコードを登録しても良く、その場合も前記比較条件を調整することにより、「＿聞いた。」の場合と同様に処理をすることができる。
【０２５９】
ここでは、第１と２の比較条件のＯＲ条件をＳ７−１の比較条件としたが、比較条件は３つ以上でも良いし、複数の比較条件をＡＮＤやＯＲやＸＯＲなどの条件で組み合わせても良いし、Ｓ７−１の比較条件はアクションレコード情報に登録するキー情報などの内容に合わせて調整すれば良い。
【０２６０】
Ｓ７−１などで比較条件が合致するレコードのアクション情報を処理するのが基本であり、この基本に沿って説明しているが、前記比較条件に合致したレコードを基準に例えば所定の数だけずらしたレコードで、一つ前や後のレコードのアクション情報を処理する事としても良い。また前記比較条件と合致したレコードのアクション情報などに、実際に処理するレコードなどの間接情報を設定しておき、実際の処理は別のレコードで行っても良い。
【０２６１】
図９の９−２はキー情報として、「聞いた。」というデータを語幹と語尾と末尾の記号で分けて第１のキー情報に語幹である「聞い」を、第２のキー情報に語尾である「た」を、第３のキー情報に末尾の記号である「。」を登録したアクションレコード情報の一登録事例である。
【０２６２】
ＩＮ１−３（１）における第１の分類種別の第１のデータが「聞い」、第２のデータが「た」、第３のデータが「。」で、第２の分類種別「天気は晴れると」であるものとする。
【０２６３】
Ｓ７−１において、「第１の分類種別の第１のデータと９−２の第１のキーデータが一致するか」を第１の比較条件とし、「第１の分類種別の第２のデータと９−２の第２のキーデータが一致するか」を第２の比較条件とし、「第１の分類種別の第３のデータと９−２の第３のキーデータが一致するか」を第３の比較条件とし、前記３つのＡＮＤ条件をＳ７−１の比較条件とする。
【０２６４】
Ｓ７−１で、前記比較条件が９−２の第１のレコードと一致するので、前記第１のレコードにおけるアクション情報を処理し応答情報を取得する。
【０２６５】
この時に前記比較条件を調整し、例えば前記第１の比較条件「第１の分類種別の第１のデータと９−２の第１のキーデータが一致するか」のみにしたり、「第１の分類種別の第１、２と３のデータと、９−２の第１のキーデータのいずれかが一致するか」など調整しても良い。
【０２６６】
また、第１の分類手段１−２で分類する際に、９−２のキー情報に合わせて分類データの分類種別を分割する必要はなく、第１の分類種別を「聞いた。」と分類しても良いし、第１の分類種別の第１のデータを記号や助詞や助動詞などを除いた語幹とし「聞い」とし、語幹以外を第２のデータとして「た。」などと分類しても良い。
【０２６７】
この時も前記比較条件を調整することにより、前記比較条件に合致するレコードを見つけることができる。例えば第１の分類種別を「聞いた。」と分類した場合には、前記比較条件を「第１の分類種別に９−２の第１のキーデータが含まれるか」や「第１の分類種別における先頭のデータが９−２の第１のキーデータと一致するか」などと調整することで今まで説明してきた方法で処理することができる。
【０２６８】
図９の９−３はキー情報として、「ａ ｆｉｎｅ  ｄａｙ」というデータを形態素単位で分けて第１のキーデータとして「ａ」、第２のキーデータとして「ｆｉｎｅ」、第３のキーデータとして「ｄａｙ」を登録し、英文３−２を処理するためのアクション情報の一登録事例である。
【０２６９】
ＩＮ１−３（１）における第１の分類種別の第１のデータが「ａ」、第２のデータが「ｆｉｎｅ」、第３のデータが「ｄａｙ」で、第２の分類種別が「Ｉ  ｈｅａｒ  ｔｈａｔ  ｉt  ｉｓ」で、第３の分類種別が「．」であるものとする。
【０２７０】
Ｓ７−１において、「第１の分類種別の第１のデータと９−３の第１のキーデータが一致するか」を第１の比較条件とし、「第１の分類種別の第２のデータと９−３の第２のキーデータが一致するか」を第２の比較条件とし、「第１の分類種別の第３のデータと９−３の第３のキーデータが一致するか」を第３の比較条件とし、前記３つのＡＮＤ条件をＳ７−１の比較条件とする。
【０２７１】
Ｓ７−１で、前記比較条件が９−３の第１のレコードと一致するので、前記第１のレコードにおけるアクション情報を処理し応答情報を取得する。
【０２７２】
前記比較条件や第１の分類手段１−２で分類する分類データを変化させる事により多彩な条件で比較ができることは日本語の場合と同様である。
【０２７３】
図１０の１０−１は、一つの拡張条件データを拡張条件情報としたものか、一つの拡張応答データを拡張応答情報としたものか、一つの拡張動作データを拡張動作情報としたもののいずれか一つをアクションとし、前記一つのアクションをアクション情報とした場合のアクション情報の一登録事例である。
拡張情報をスクリプトとして使用する場合について説明をする。
【０２７４】
図１０の１０−１はアクションレコード情報の一登録事例を一つのテーブルとして論理的に表現したものであり、必ずしも全てのデータを一つのテーブルで管理する必要はなく、例えばレコードやデータ種別やデータ毎にテーブルを分けるなどしても良い。
【０２７５】
図１０の１０−１では説明を簡略化するためデータの内容を直接登録しているが、データの内容を取得するための情報などの間接情報などを登録しておいても良い。
【０２７６】
図１０の１０−１ではキー情報などにおいて条件などを含めたデータとして記述していないが、条件などを含めて記述しても良い。
【０２７７】
これらは図１０を含め他の図におけるアクションレコード情報全てに共通する規則である。
【０２７８】
図１０の１０−１は、図８の８−１のアクションレコード情報の内容をインタープリタ言語として広く普及しているＰＥＲＬを使ってスクリプトで記述した一記述例である。
【０２７９】
図１０ではアクション情報の内容を記述するスクリプトとしてＰＥＲＬを例に用いているが、スクリプトをＰＥＲＬに限定するものではない。
【０２８０】
図１０中のｉｆとｅｌｓｅは条件分岐をする制御文で真ならばｉｆ直後の｛  ｝内の処理を行い偽ならばｅｌｓｅ直後の｛  ｝内の処理を行う。ｅｑは左辺と右辺のデータを比較し左辺と右辺が同一であれば真、同一でなければ偽となる比較関数である。＄ｖａｒ２など＄付きの文字は変数で＄ｖａｒ２には第２の分類種別をデータとしてあらかじめ代入しており、＄ｗｈｅａｔｈｅｒにはスクリプトを実行する段階で現在の天気を代入している。
【０２８１】
ｐｒｉｎｔは出力関数でありｐｒｉｎｔすることにより応答情報を取得したものとする。ｒｅｃｕｒｓｉｖｅとｇｅｔｗｈｅａｔｈｅｒはＰＥＲＬ標準の関数ではなく独自の関数であり、ｒｅｃｕｒｓｉｖｅは第一引数として与えたデータを第１の分類手段１−２に入力情報として入力し再帰処理を行い、ｇｅｔｗｈｅａｔｈｅｒは現在の天気を取得できるものとする。
【０２８２】
ここではｒｅｃｕｒｓｉｖｅの再帰処理先を説明を簡略化するため第１の分類手段１−２に固定しているが、引数で再帰処理先を指定できるようにしても良いし、所定の条件により再帰処理先を変更できるようにしても良いのは、先に説明した通りである。
【０２８３】
ＩＮ１−３（１）における第１の分類種別を「聞いた。」、第２の分類種別を「天気は晴れると」であるものとし、図１０の１０−１をアクションレコード情報とし図７の処理フローを使い説明する。
【０２８４】
Ｓ７−１のデフォルトの比較条件に合致するか確認する。
第１の分類種別「聞いた。」が１０−１の第１のレコードのキー情報と一致するのでＳ７−２に移行する。Ｓ７−１
【０２８５】
第１のレコードのアクション情報であるスクリプトにおける変数＄ｖａｒ２には、第２の分類種別「天気は晴れると」が代入されていて空ではないのでｉｆ文は偽となる。ｉｆが偽となるのは拡張動作情報を選択したことと同義であるためＳ７−２２に移行する。Ｓ７−２
【０２８６】
ｉｆが偽なので第一引数として変数＄ｖａｒ２を設定しｒｅｃｕｒｓｉｖｅ関数を実行する。ｒｅｃｕｒｓｉｖｅを実行すると変数＄ｖａｒ２に代入してある「天気は晴れると」を第１の分類手段１−２に出力して再帰処理を行う。第１の分類手段１−２では「天気は晴れると」を第１の分類種別「晴れると」、第２の分類種別「天気は」に分類したものとする。Ｓ７−２２
【０２８７】
Ｓ７−１のデフォルトの比較条件に合致するか確認する。
１０−１の第２のレコードのキー情報と一致するのでＳ７−２に移行する。Ｓ７−２２におけるＳ７−１
【０２８８】
第２のレコードのアクション情報であるスクリプトにおける変数＄ｗｈｅａｔｈｅｒにはｇｅｔｗｈｅａｔｈｅｒ関数で取得した「晴れ」が代入されているものとするとｉｆ文が真となる。ｉｆが真となるのは拡張応答情報を選択したことと同義であるためＳ７−２１に移行する。Ｓ７−２２におけるＳ７−２
【０２８９】
ｐｒｉｎｔ関数で「良かった。」を出力し応答情報として取得する。Ｓ７−２２におけるＳ７−３
【０２９０】
前記応答情報「良かった。」を取得し終了する。Ｓ７−２２、Ｓ７−３
【０２９１】
これまで説明してきた方法でも１−３で取得した応答情報の中から所定の条件を満たす応答情報を取得することはできるが、所定の条件で判断できるのは応答情報の取得順序やその内容などに限られてしまう。
【０２９２】
ここからはアクションレコード情報の構成単位などを識別するデータを識別データとし、一つまたは複数の識別データを識別情報とし、前記識別情報をアクションレコード情報に追加することにより、前記識別情報に基づいて応答情報の中から所定の条件を満たす応答情報を取得する方法について補足する。
【０２９３】
図１１の１１−１は、一つの応答データと一つの識別データを拡張応答データとし、前記一つの拡張応答データを拡張応答情報とし、一つの動作データと一つの識別データを拡張動作データとし、前記一つの拡張動作データを拡張動作情報とし、拡張応答情報か、拡張応答情報と拡張動作情報をアクションとし、一つのアクションをアクション情報とし、一つのキーデータをキー情報とし、前記アクション情報を前記キー情報に対応付けたレコードからなるアクション情報の一登録事例である。
【０２９４】
１１−１は識別情報として数値を登録した場合の一登録事例であるが、入力データや応答データなどと同様、設定できるデータは数値には限らない。
【０２９５】
前記識別データや前記識別情報は、拡張応答データや拡張動作データだけでなく、他のアクションレコード情報における構成単位に対応付けて良く、アクションやアクション情報やキーデータやキー情報やレコードなどに対応付けても良い。
【０２９６】
図１１の１１−１では分かりやすく説明するためにアクション情報のアクション内で拡張応答情報と拡張動作情報をアクション種別として明確に区別しているが、アクションの内容で拡張応答情報なのか拡張動作情報なのかを区別しても良いし、特に区別する必要もないので必ずしも明確に区別する必要はない。
【０２９７】
図１１の１１−１はアクションレコード情報の一登録事例を一つのテーブルとして論理的に表現したものであり、必ずしも全てのデータを一つのテーブルで管理する必要はなく、例えばレコードやデータ種別やデータ毎にテーブルを分けるなどしても良い。
【０２９８】
図１１の１１−１では説明を簡略化するためデータの内容を直接登録しているが、データの内容を取得するための情報などの間接情報などを登録しておいても良い。
【０２９９】
図１１の１１−１ではキー情報などにおいて条件などを含めたデータとして記述していないが、条件などを含めて記述しても良い。
【０３００】
これらは図１１を含め他の図におけるアクションレコード情報全てに共通する規則である。
【０３０１】
図１２は、識別情報を追加したアクションレコード情報から応答情報や識別情報などを取得する応答取得手段１−３の処理フローの一実施例である。
【０３０２】
ＩＮ１−３（１）における第１の分類種別は「聞いた。」、第２の分類種別は「天気は晴れると」であるものとする。
「第１の分類種別と１１−１のキー情報が一致するか」をＳ１２−１の比較条件とする。
なおＳ１２−１における比較条件は、特に断りのない限り「第１の分類種別がアクションレコード情報のキー情報と一致するか」であるものとし、これをＳ１２−１におけるデフォルトの比較条件とする。
【０３０３】
図１〜１２を使い前記ＩＮ１−３（１）から応答取得手段１−３で識別情報を基に所定の条件を満たす応答情報を取得する方法について以下に説明する。
【０３０４】
第１の分類種別が「聞いた。」で、前記比較条件に合致するか確認する。
１１−１の第１のレコードと一致するので、Ｓ１２−２に移行する。Ｓ１２−１
【０３０５】
第１のレコードにおける最初のアクションを取得するためここではｘに１を設定しｘ＝１とする。Ｓ１２−２
【０３０６】
第１のレコードにおけるｘ番目のアクション種別を確認する。ここではｘ＝１なので１番目のアクション種別を確認する。拡張応答情報なのでＳ１２−４に移行する。Ｓ１２−３
【０３０７】
拡張応答情報である「何を聞いたの？」と応答情報として取得し、対応する識別情報「１」を取得する。Ｓ１２−４
【０３０８】
前記取得した識別情報「１」が所定の識別情報と一致するか確認する。
ここでは所定の識別情報を「０」とし、所定の識別情報「０」とは一致ないのでＳ１２−５１に移行する。Ｓ１２−５
【０３０９】
ｘがｎ未満か確認する。ここではｘ＝１、ｎ＝２なのでＳ１２−５２に移行する。Ｓ１２−５１
【０３１０】
ｘにａを加える。ここではａを（＋１）とし、１＋（＋１）でｘ＝２とする。Ｓ１２−５２
【０３１１】
第１のレコードにおけるｘ番目のアクション種別を確認する。ここではｘ＝２なので２番目のアクション種別を確認する。拡張動作情報なのでＳ１２−３１に移行する。Ｓ１２−３
【０３１２】
拡張動作情報として第２の分類種別「天気は晴れると」を再帰処理するよう記述があるので、第１の分類手段１−２で「天気は晴れると」を第１の分類種別「晴れると」、第２の分類種別「天気は」に分類したものとする。
前記分類した分類データを応答取得手段のＩＮ１−３（１）とする。Ｓ１２−３１
【０３１３】
第１の分類種別が「晴れると」で、１１−１の第２のレコードと一致するので、Ｓ１２−２に移行する。Ｓ１２−３１におけるＳ１２−１
【０３１４】
第２のレコードにおける最初のアクションを取得するためｘ＝１を設定する。Ｓ１２−３１におけるＳ１２−２
【０３１５】
第２のレコードにおけるｘ番目のアクション種別を確認する。ここではｘ＝１なので１番目のアクション種別を確認する。拡張応答情報なのでＳ１２−４に移行する。Ｓ１２−３１におけるＳ１２−３
【０３１６】
拡張応答情報である「良かった。」を応答情報として取得し、対応する識別情報「０」を取得する。Ｓ１２−３１におけるＳ１２−４
【０３１７】
前記取得した識別情報「０」が所定の識別情報「０」と一致するか確認する。識別情報が共に０で一致するので、応答情報として「良かった。」、識別情報として「０」を取得して再帰処理を終了する。Ｓ１２−３１におけるＳ１２−５
【０３１８】
再帰処理前Ｓ１２−３時点のｘ番目の識別情報を確認する。Ｓ１２−３時点でのｘはｘ＝２なので、２番目の識別情報を確認する。識別情報は＊なのでＳ１２−３３に移行する。Ｓ１２−３２
【０３１９】
再帰処理Ｓ１２−３１におけるＳ１２−４で取得した識別情報「０」を、１２−３２で取得した識別情報＊の代わりに取得する。Ｓ１２−３３
【０３２０】
再帰処理Ｓ１２−３１におけるＳ１２−４で取得した応答情報「良かった。」を取得する。Ｓ１２−３４
【０３２１】
前記取得した識別情報が所定の識別情報と一致するか確認する。識別情報が共に「０」で一致するので、Ｓ１２−３４で取得した応答情報「良かった。」を識別情報「０」として取得し応答取得手段の処理を終了する。Ｓ１２−５
【０３２２】
前記取得した応答情報か、前記取得した識別情報か、前記応答情報と前記識別情報をＯＵＴ１−３（１）とし、ＯＵＴ１−３（１）からならＯＵＴ１−３を応答取得手段１−３の出力情報として出力手段１−５に出力する。
なおここでは応答情報を取得する過程で取得した識別情報をＯＵＴ１−３として出力しているが、前記識別情報に限らず本発明装置における処理の過程で取得した情報で、例えば再帰処理の回数を管理している場合は前記再帰処理の回数や、どのような過程を経て応答情報を取得したのか分かる情報などをＯＵＴ１−３として出力しても良い。
またアクションレコード情報は識別情報以外のデータを登録しても良く、アクションレコード情報に各種フラグや説明などのデータを記憶させておき、前記データをＯＵＴ１−３として出力しても良い。なお前記識別情報など処理の過程で取得した情報も含め応答情報とする。
【０３２３】
図１２では本質的な処理を説明するため、所定の識別情報と一致する最初の応答情報を取得する単純化した例を取り上げたが、最初ではなく例えば２番目の応答情報を取得しても良いし、全てのアクションの構成単位である各種拡張情報を実行した上で、最良の識別情報に対応する応答情報を取得しても良いし、一致する識別情報の応答情報を複数取得しても良い。また所定の識別情報として範囲などを設定しておき、前記範囲内の識別情報を持つ応答情報を一つまたは複数取得しても良い。
【０３２４】
また図１２中のｘの値に従いアクションの第１の構成単位である拡張条件情報から順に処理する方法を説明したが、必ずしも第１の構成単位から処理をする必要はない。処理順序や処理タイミングや応答情報の取得基準などを所定の条件として設定しておき、前記所定の条件に従い処理をすれば良い。
【０３２５】
１１−１ではアクションの構成単位である拡張応答情報と拡張動作情報に識別情報を対応付けた例で説明をしたがさらに細分化して設定しても良い。例えば図１０のようなスクリプトをアクションとした場合、スクリプト内で例えば応答情報や動作情報などに対応させた識別情報を保持する変数などを定義しておき、前記変数などを基に所定の条件を満たす応答情報を取得する事もできる。
【０３２６】
図１１の１１−２は、アクションに識別情報を対応付けたアクションレコード情報の一登録事例である。
１１−２のようにアクションに識別情報を対応づけて、アクションの構成単位である拡張応答情報と拡張動作情報の識別情報を共に「１」として処理をしても良い。
また拡張応答情報は「１」とし、拡張動作情報は再帰処理で取得した識別情報で例えば「０」を取得した場合には前記「０」を識別情報としても良い。
またアクションの識別情報としては、前記拡張応答情報として「１」を、拡張動作情報として「０」の識別情報を取得した場合に、どちらかの識別情報を所定の条件により選択し取得しても良いし、両方を識別情報として取得しても良い。
前記取得した識別情報をＳ１２−５で判別することにより今まで説明した方法で同様に処理することができる。
【０３２７】
図１１の１１−３は、アクションの構成単位である個々の拡張応答情報と、アクション全体の両方に識別情報を対応付けたアクション情報の一登録事例である。
１１−３では、アクションに対応付けている識別情報を「＊」としており、ここでは「＊」をアクションの構成単位で取得した識別情報をそのまま取得するということとする。
拡張応答情報を応答情報として取得し、それぞれ対応する識別情報をそのまま取得し、例えばＳ１２−５で「１」の識別情報の応答情報を取得するものとすると、１１−３のアクションとしての応答情報は「何を聞いたの？」で識別情報「１」となる。
例えばＳ１２−５で識別情報に関係なく応答情報を取得するものとし、２つの応答情報を１１−３のアクションの応答情報として「何を聞いたの？」、「そう。」と、識別情報「１」と「１０」を取得しても良い。
またアクションに対応付けた識別情報「＊」を「０」に変更して、Ｓ１２−５で識別情報に関係なく応答情報を取得するものとし、個々の拡張応答情報で取得した識別情報「１」と「１０」を、アクションとしての応答情報を取得する段階で両方とも「０」に変更し、最終的なアクションの応答情報「何を聞いたの？」、「そう。」と、識別情報「０」と「０」を取得するなどしても良い。
【０３２８】
Ｓ１２−１における比較条件を「第１の分類種別とアクションレコード情報のキー情報が一致するか」とし、これまで説明してきたが、Ｓ１２−１の比較条件として識別情報を使用しても良い。
例えば「第１の分類種別とアクションレコード情報のキー情報が一致するか」を第１の比較条件とし、「アクションレコード情報の識別情報が”０”か”＊”か」を第２の比較条件とし、前記２つのＡＮＤ条件をＳ１２−１の比較条件とするなどしても良い。
【０３２９】
これによりアクション情報を処理する過程で応答情報を絞り込むのではなく、レコードを選択する際に応答情報を絞り込むこともできる。
【０３３０】
ここまでアクション記憶手段１−４のアクションレコード情報として一つのレコード情報を記憶させた場合について説明したが、複数のレコード情報を記憶させた場合について補足する。
【０３３１】
アクションレコード情報に複数のレコード情報を記憶させた例として、図９の９−１〜９−３の３つをレコード情報とし、前記３つのレコード情報をアクションレコード情報として記憶させたものとし、図７の処理フローを使い説明する。
【０３３２】
ＩＮ１−３（１）における第１の分類種別を「聞いた。」、第２の分類種別を「天気は晴れると」であるものとする。
「第１の分類種別の先頭にアンダースコアを付けたデータと９−１〜９−３のキー情報が一致するか」をＳ７−１の比較条件とする。
図７のＳ７−１において、９−１〜９−３のレコード情報の中で９−１の第１のレコードが前記比較条件に合致する。後はＳ７−２以降の処理を行うことにより今まで説明してきた方法で応答情報を取得できる。
【０３３３】
図７のＳ７−１において、９−１〜９−３における複数のレコードと前記比較条件が合致する設定した場合も、一つのレコード情報において複数のレコードが前記比較条件に合致した場合と同様の方法で処理ができる。
【０３３４】
なお第１の分類手段１−２において、文もしくは文の一部を所定の規則で変化させたデータの一例として、文の先頭にジョブ番号を追加した文「１天気は晴れると聞いた。」を第１の分類手段１−２で、第１の分類種別を「聞いた。」、第２の分類種別を「天気は晴れると」、第３の分類種別を「１」と分類し、ジョブ番号の対処を以降の処理に委ねても良いと説明したが、前記の処理方法について補足する。
前記第１、２と３の分類種別のデータをＩＮ１−３（１）として応答取得手段１−３で処理する場合において、第３の分類種別「１」をＳ７−１などの比較条件として使用せず、所定の処理を行う場合も第３の分類種別を使用しなければ最終的には無視したこととなり、ジョブ番号がない文と同様の処理ができる。
またアクションレコード情報のキー情報が「１」のレコードを登録しておき、Ｓ７−１などにおける比較条件を「第３の分類種別とアクション情報のキー情報が一致するか」とすることにより前記比較条件が真となり、第３の分類種別「１」に対応した処理を行うこともできる。なお前記第３の分類種別「１」に対応する処理などはアクションレコード情報とは別のテーブルに記憶させて管理しても良い。
【０３３５】
第３の分類種別に対応した処理としては、所定の応答情報を取得するなどの処理をしても良いし、特定のジョブ番号やユーザ情報などの場合は、所定の時間が経過してから応答情報を出力するなどの処理をしても良い。
【０３３６】
ここまでは一つの入力データＩＮ１−３（１）からなるＩＮ１−３を処理する基本的な方法について説明したが、ここからは複数のデータからなるＩＮ１−３を処理する場合を含め全体の処理の流れについて説明する。
なお一つの入力データからなるＩＮ１−３を処理する方法を基本応答取得処理として説明を続ける。
【０３３７】
ここではＩＮ１−３は３つの入力データＩＮ１−３（１）、ＩＮ１−３（２）、ＩＮ１−３（３）からなる入力情報であり、基本応答取得処理によって取得する応答情報は一つの応答データからなるものとし、応答情報を取得する過程で取得した識別情報などの情報はないものとして説明する。
ＩＮ１−３の１番目のデータＩＮ１−３（１）を基本応答取得処理を行い応答情報を取得し、前記応答情報をＯＵＴ１−３（１）とする。次にＩＮ１−３（２）を基本応答取得処理を行い応答情報を取得し、前記応答情報をＯＵＴ１−３（２）とする。次にＩＮ１−３（３）を基本応答取得処理を行い応答情報を取得し、前記応答情報をＯＵＴ１−３（３）とする。ＯＵＴ１−３（１）〜ＯＵＴ１−３（３）をＯＵＴ１−３とし、所定の手段に出力する。
ここまで説明した処理方法を基本処理とするが、複数の入力データを処理する方法は前記方法に限るものではない。
【０３３８】
第１の分類手段１−２の全体の処理でも説明した通り、処理タイミングや処理順序や出力タイミングや出力先などを所定の条件として設定しておくことにより、前記所定の条件で入力情報ＩＮ１−３を処理すれば良い。
【０３３９】
なお１−３が出力する所定の手段とは、出力手段１−５が基本であるが、複数の出力手段１−５などを備える場合には、前記所定の手段として特定の出力手段１−５を設定しておき出力先を必要に応じて変更しても良い。
【０３４０】
応答情報を取得した結果、内容が同一の応答データを複数取得した場合には、例えばＯＵＴ１−３に前記同一内容の応答データを一つだけ設定しても良いし、識別情報などから内容は違うが不明な応答など同じ種類の応答データを複数取得した事を検出した場合には、例えばＯＵＴ１−３に前記同じ種類の応答データを一つだけ設定するなどを行うための条件を設定しても良い。
【０３４１】
また応答取得手段１−３で取得した応答情報を所定の規則で変化させたものをＯＵＴ１−３として出力するものとしその条件を設定しても良い。
【０３４２】
ここからは応答取得手段１−３の出力情報ＯＵＴ１−３を出力する出力手段１−５の処理について説明する。
【０３４３】
出力手段１−５は１−３のＯＵＴ１−３をＩＮ１−５とする。
【０３４４】
出力手段１−５は、例えば表示装置などでＩＮ１−５に含まれる自然言語などのデータを画像データに変換して出力する。
【０３４５】
また表示装置以外にも、例えば自然言語などを印刷データに変換しプリンターで印刷するものであっても良いし、音声信号に変換しスピーカで出力するものであっても良いし、電気信号に変換し有線か無線の通信網や電話網を介して出力するものであっても良いし、制御データに変換しロボットアームや手話装置などで自然言語が意味する動作を行うものであっても良いし、制御データに変換しモータやエンジンで車輪やロボットなどの関節などを制御するものであっても良いし、制御データに変換しランプやＬＥＤなどの照明を点灯、点滅などさせても良いし、制御データに変換しリレー等の接点を制御するなどしても良いし、ファイルに格納しても良いし、自然言語などを直接もしくは変換して出力できる手段であれば幅広く適用できる。
【０３４６】
出力手段１−５が例えば表示装置である場合はＩＮ１−５の各データを画像データとして出力し、スピーカである場合にはＩＮ１−５の各データを音声信号として出力する。
【０３４７】
本実施例１においては、図１のブロック図に従い１−１〜１−５の各手段を一つづづ備えた一例を基に説明をしてきたが、前記各手段が備える子手段も含めた手段は、必ずしも１つである必要はない。
【０３４８】
例えば１−１〜１−５の各手段を２つづつ備え、２つの処理を同時に行えるようにしても良いし、図３０のように１−２と１−３を２つづと１−１と１−４と１−５を一つ備え、再帰処理する場合などに処理するルートを変えるなどしても良い。
【０３４９】
また入力手段１−１が複数のデータからならＯＵＴ１−１を出力する手段であった場合も同様に各データ毎に処理ルートを変えるなどしても良い。
【０３５０】
例えば１−４のみを複数備えて、前記複数の１−４におけるアクションレコード情報の内容を各１−４毎に変えておき、例えば入力を処理する毎などに応答取得手段１−３でアクセスするアクション記憶手段１−４を切り替えることにより取得する応答情報を変化させるなどしても良いし、応答取得手段１−３で複数のアクション記憶手段から複数の応答情報を取得して、より相応しい応答情報を取得するなどしても良い。
【０３５１】
また図３１のように１−２を２つ備え、複数の文からなる文章が入力情報として入力された場合に、１段目の第１の分類手段１−２で文を文章の構成単位として文を一つの分類データに分類し、例えば２つの文からなる文章の場合、１番目の文をＯＵＴ１−２（１）における第１の分類種別とし、２番目の文をＯＵＴ１−２（２）における第１の分類種別とした出力情報ＯＵＴ１−２を、２段目の第１の分類手段１−２で入力情報ＩＮ１−２とし、ＩＮ１−２（１）とＩＮ１−２（２）をさらに分類し、例えば２つの分類種別に分類することとし、ＩＮ１−２（１）とＩＮ１−２（２）をそれぞれ第１と２の分類種別に分類するなどしても良い。
【０３５２】
なおこの２つの第１の分類手段１−２を備え分類する方法は、一つの第１の分類手段１−２を備え、１−２で分類した分類情報を、１−２内で繰り返して処理しても良いし、１−２で再帰処理しても良いので、必ずしも図３１の構成にする必要はないことを補足しておく。
【０３５３】
２．状態記憶手段付きの構成
図１３は図１の基本構成に状態記憶手段１３−１を追加したブロック図である。状態記憶手段１３−１を追加した場合の処理方法について以下に説明をする。
【０３５４】
前記基本構成では、特定の文章を処理できる限定したアクションレコード情報を使って、文章の意味を解釈せずに２−１などの入力情報を処理する方法について説明してきたが、ここからは文章の意味を解釈した上で応答する方法について説明する。
【０３５５】
図１３は、本発明装置の機能を論理的にブロック図で表現したものであり、必ずしも図１３に記述の手段にブロック化する必要はなく、例えば応答取得手段と状態記憶手段を組み合わせ新たな手段とするなどしても良い。
また図１３は１３−１を一つ備えたブロック図であるが、他の手段と同様に複数備えても良い。
【０３５６】
図１４の１４−１は、一つの拡張応答データと一つの次状態データを拡張応答情報とし、一つの拡張動作データと一つの次状態データを拡張動作情報とし、拡張応答情報か拡張動作情報をアクションとし、一つのアクションをアクション情報とし、２つのキーデータをキー情報とし、前記アクション情報を前記キー情報に対応付けたレコードからなるアクションレコード情報の一登録事例である。
【０３５７】
１４−１の第１のキーデータは第１の分類手段１−２で分類した分類種別と比較するためのデータであり、第２のキーデータは状態記憶手段１３−１に記憶させている状態データと比較するためのデータである。
【０３５８】
なお状態とは処理を行う上での前提条件であり、状態のデータを状態データとし、一つまたは複数の状態データを状態情報とする。
【０３５９】
なお次状態とは次の処理を行う時に前記状態となるものであり、次状態のデータを次状態データとし、一つまたは複数の次状態データを次状態情報とする。
【０３６０】
図１４の１４−１はアクションレコード情報の一登録事例を一つのテーブルとして論理的に表現したものであり、必ずしも全てのデータを一つのテーブルで管理する必要はなく、例えばレコードやデータ種別やデータ毎にテーブルを分けるなどしても良い事などは先にも述べた通りである。
【０３６１】
図１５は、状態記憶手段１３−１と応答取得手段１−３を連携させて処理する処理フローの一実施例である。
【０３６２】
状態記憶手段１３−１を追加した場合に前記基本構成の場合と処理が異なるのは、応答取得手段１−３の処理であるため、１−３の処理を中心に説明をする。
【０３６３】
なお図１４、１５は、状態記憶手段１３−１と応答取得手段１−３に関する処理を分かりやすく説明するため前記識別情報などを追加していないが、前記識別情報などを追加しても良い。
【０３６４】
状態記憶手段１３−１には状態情報の初期値として空を設定（つまりクリア）しておく。Ｓ１５−１
初期値の設定方法としては、入力手段１−１で例えばキーボードなどで特定のコマンドを入力して初期値を設定しても良いし、音声などで指示をして設定しても良いし、タッチパネルやボタンなどを押すことにより設定しても良いし、本発明装置に入力情報を入力して処理を開始するＯＵＴ１−１を出力する際などに所定の条件に従って自動的に設定するなどしても良い。
【０３６５】
入力の日本語の文２−１を第１の分類手段１−２において、第１の分類種別「聞いた。」、第２の分類種別「天気は晴れると」に分類した分類データがＩＮ１−３（１）であるものとし、ＩＮ１−３（１）からなるＩＮ１−３を応答取得手段１−３の入力情報とする。
なおこれ以降はＩＮ１−３（１）を処理の対象とし、他のデータや入出力情報と明確に区別しなければならない場合を除いて、入出力情報を表す記号であるＩＮ１−３（１）などを極力使用せずに説明する。
【０３６６】
「第１の分類種別が１４−１の第１のキーデータと一致するか」を第１の比較条件とし、「１３−１が１４−１の第２のキーデータと一致するか」を第２の比較条件とし、前記２つのＡＮＤ条件をＳ１５−２における比較条件とする。
なお特に断りのない限り「第１の分類種別がアクションレコード情報の第１のキーデータと一致するか」を第１の比較条件とし、「１３−１がアクションレコード情報の第２のキーデータと一致するか」を第２の比較条件とし、前記２つのＡＮＤ条件をＳ１５−２における比較条件であるものとし、これをＳ１５−２におけるデフォルトの比較条件とする。
【０３６７】
前記比較条件に合致するか確認する。
１４−１の第１のキーデータが「聞いた。」で、第２のキーデータが空のレコードが登録されているか確認し、１４−１の第１のレコードとして登録されているのでＳ１５−３に移行する。Ｓ１５−２
【０３６８】
前記レコードの次状態情報「聞いた」を１４−１から取得し、状態情報として状態記憶手段１３−１に設定する。Ｓ１５−３
【０３６９】
前記レコードのアクション種別を１４−１から取得し確認する。拡張動作情報なのでＳ１５−４１に移行する。Ｓ１５−４
【０３７０】
第１の分類手段１−２で第２の分類種別「天気は晴れると」を再度分類する。Ｓ１５−４１
【０３７１】
前記分類の結果、「天気は晴れると」の第１の分類種別は「晴れると」で、第２の分類種別は「天気は」と分類したものとする。
１４−１の第１のキーデータが「晴れると」で、第２のキーデータが「聞いた」のレコードが１４−１に登録されているか確認し、１４−１の第２のレコードとして登録されているので、Ｓ１５−３に移行する。Ｓ１５−２
前記レコードの次状態情報「晴れ−聞いた」を１４−１から取得し、状態情報として状態記憶手段１３−１に設定する。Ｓ１５−３
前記レコードのアクション種別を１４−１から取得し確認する。拡張動作情報なのでＳ１５−４１に移行する。Ｓ１５−４
第１の分類手段１−２で第２の分類種別「天気は」を再度分類する。Ｓ１５−４１
【０３７２】
前記分類の結果、「天気は」の第１の分類種別は「天気は」で、第２の分類種別は空と分類したものとする。
１４−１の第１のキーデータが「天気は」で、１４−１の第２のキーデータが「晴れ−聞いた」のレコードが１４−１に登録されているか確認し、１４−１の第３のレコードとして登録されているので、Ｓ１５−３に移行する。Ｓ１５−２
前記レコードの次状態情報である空を１４−１から取得し、状態情報として状態記憶手段１３−１に設定する。Ｓ１５−３
前記レコードのアクション種別を１４−１から取得し確認する。拡張応答情報なのでＳ１５−５に移行する。Ｓ１５−４
【０３７３】
前記レコードの拡張応答情報「良かった。」を応答情報として取得し処理を終了する。Ｓ１５−５
前記応答情報を出力手段１−５で出力する。
【０３７４】
状態記憶手段付きの構成と、基本構成との違いは、１３−１の前記状態情報を変えておけば同一文字列の第１のキーデータを複数登録しても混同することなく別々に管理できる点にある。
例えば１４−１のように、「晴れると」という第１のキーデータを２つ登録した場合、基本構成であればその時々によりランダムに１番目と２番目の「晴れると」を選択する事や、１番目（または２番目）に記述されているものを固定的に選んだり、両方を選択する事などはできても、文本来の第１の分類種別が「聞いた。」ならば１番目の「晴れると」を選択し、「教えてもらった。」ならば２番目の「晴れると」を選択するというような事はできないという問題がある。
状態記憶手段付きの構成とする事により前記問題に対処できる。
【０３７５】
ここでは次状態情報には一つの次状態データを設定した場合の処理について説明したが、複数の次状態データを設定しておいても良い。
複数の次状態データを設定している場合には、Ｓ１５−３で複数の次状態データを状態記憶手段１３−１に状態情報として設定する。Ｓ１５−４１を経由してＳ１５−２に戻ってきた場合において、
「第１の分類種別が１４−１の第１のキーデータと一致するか」を第１の比較条件とし、「１３−１の第１の状態データが１４−１の第２のキーデータと一致するか」を第２の比較条件とし、前記２つのＡＮＤ条件をＳ１５−２における比較条件とする。
前記比較条件が一致しなければ、前記第２の比較条件を「１３−１の第２の状態データが１４−１の第２のキーデータと一致するか」とした前記比較条件で比較する。
前記比較条件が一致するか、１３−１の状態データがなくなるまで、第２の比較条件を入れ替えて繰り返し比較する事により、複数の状態データからなる状態情報も処理することができる。
なおここでは第２の比較条件を１３−１の状態データがなくなるまで繰り返す方法を例に説明したが処理方法は前記方法に限定するものではなく、１４−１のキー情報と次状態情報のデータ数などに合わせて処理方法を調整しても良い。
例えば１４−１のキー情報が第１のキーデータと第２のキーデータ、第３のキーデータから構成されており、次状態情報が第１の次状態データと第２の次状態データから構成されている場合においてＳ１５−３、Ｓ１５−４１を経由してＳ１５−２に戻ってきた際にＳ１５−２における比較条件を「第１の分類種別が１４−１の第１のキーデータと一致するか」を第１の比較条件とし、「１３−１の第１の状態データと１４−１の第２のキーデータと一致するか」を第２の比較条件とし、「１３−１の第２の状態データと１４−１の第３のキーデータと一致するか」を第３の比較条件とし、前記３つのＡＮＤ条件をＳ１５−２における比較条件とするなどしても良い。
【０３７６】
なおＳ１５−１で設定する初期値として複数の状態データからなる状態情報を設定しても良い。
【０３７７】
なお、Ｓ１５−２において状態記憶手段１３−１の第１の状態データから順に１４−１の第２のキーデータと比較する方法について説明したが、順序については必ずしも第１の状態データから順に処理する必要はなく、処理タイミングなどを含めて所定の条件を設定しておき、前記所定の条件に従って処理をすれば良い。これは１−２における複数のデータからなるＩＮ１−２を処理する場合などと同様である。
【０３７８】
図１０を使いアクションとしてスクリプトを登録した場合について先に説明したが、前記の場合アクションであるスクリプト内に、応答情報や動作情報などに対応させた次状態情報を保持する変数などを定義しておき、前記変数などの内容を状態情報として状態記憶手段１３−１に設定することにより同様の処理を実現する事もできる。
【０３７９】
状態記憶手段付きの構成で、２−１の文を一度に処理する方法について説明したが、２−１の文を部分的に処理する方法について補足する。
【０３８０】
ここでは２−１の各文節を「聞いた。」、「晴れると」、「天気は」という３つの文にして、前記３つの文を別々に前記の順番で入力して処理する方法について説明する。
【０３８１】
図１４の１４−２は、１４−１の一部内容を変更したアクションレコード情報の一登録事例である。
アクションレコード情報を１４−２とし、図１５の処理フローを使って、前記３つの文を処理する方法を以下に説明する。
【０３８２】
状態記憶手段１３−１には状態情報の初期値として空を設定（つまりクリア）しておく。Ｓ１５−１
【０３８３】
「聞いた。」を例えばキーボードなどの入力手段１−１で入力し、第１の分類手段１−２で最後の文節を第１の分類種別に分類し、その他を第２の分類種別に分類することとし、第１の分類種別を「聞いた。」、第２の分類種別を空に分類する。
【０３８４】
Ｓ１５−２のデフォルトの比較条件に合致するか確認する。
１４−２のキー情報の第１のキーデータが「聞いた。」で、第２のキーデータが空のレコードが登録されているか確認し、１４−２の第１のレコードとして登録されているのでＳ１５−３に移行する。Ｓ１５−２
【０３８５】
前記レコードの次状態情報「聞いた」を１４−２から取得し、状態情報として状態記憶手段１３−１に設定する。Ｓ１５−３
【０３８６】
前記レコードのアクション種別を１４−２から取得し確認する。拡張応答情報なのでＳ１５−５に移行する。Ｓ１５−４
【０３８７】
前記レコードの拡張応答情報「何を聞いたの？」を応答情報として取得し処理を終了する。Ｓ１５−５
前記応答情報を出力手段１−５で出力する。
【０３８８】
次に「晴れると」を例えばキーボードなどの入力手段１−１で入力し、Ｓ１５−１で初期値は設定せずに、第１の分類種別を「晴れると」、第２の分類種別を空に分類する。
Ｓ１５−２のデフォルトの比較条件に合致するか確認する。
１４−２のキー情報の第２のキーデータが「晴れると」で、第２のキーデータが「聞いた」のレコードが登録されているか確認し、１４−２の第２のレコードとして登録されているのでＳ１５−３に移行する。Ｓ１５−２
【０３８９】
Ｓ１５−２で１４−２の第２のレコードと一致するということは、「晴れると」という入力に対して「晴れると聞いた。」と解釈している事となる。
【０３９０】
前記レコードの次状態情報「晴れ−聞いた」を１４−２から取得し、状態情報として状態記憶手段１３−１に設定する。Ｓ１５−３
【０３９１】
前記レコードのアクション種別を１４−２から取得し確認する。拡張応答情報なのでＳ１５−５に移行する。Ｓ１５−４
【０３９２】
前記レコードの拡張応答情報「晴れるんだ。」を応答情報として取得し処理を終了する。Ｓ１５−５
前記応答情報を出力手段１−５で出力する。
【０３９３】
次に「天気は」を例えばキーボードなどの入力手段１−１で入力し、Ｓ１５−１で初期値は設定せずに、第１の分類種別を「天気は」、第２の分類種別を空に分類する。
Ｓ１５−２のデフォルトの比較条件に合致するか確認する。
１４−２のキー情報の第１のキーデータが「天気は」で、第２のキーデータが「晴れ−聞いた」のレコードが登録されているか確認し、１４−２の第３のレコードとして登録されているのでＳ１５−３に移行する。Ｓ１５−２
【０３９４】
Ｓ１５−２で１４−２の第３のレコードと一致するということは、「天気は」という入力に対して「天気は晴れると聞いた。」と解釈している事となる。
【０３９５】
前記レコードの次状態情報である空を１４−２から取得し、状態情報として状態記憶手段１３−１に設定する。Ｓ１５−３
【０３９６】
前記レコードのアクション種別を１４−２から取得し確認する。拡張応答情報なのでＳ１５−５に移行する。Ｓ１５−４
【０３９７】
前記レコードの拡張応答情報「良かった。」を応答情報として取得し処理を終了する。Ｓ１５−５
前記応答情報を出力手段１−５で出力する。
【０３９８】
このように「聞いた。」、「晴れると」、「天気は」が別々に入力されても、「何を聞いたの？」、「晴れるんだ。」、「良かった。」と前の応答を考慮して応答することができる。
【０３９９】
ここでは２−１を一度に文として処理する場合と、２−１を文節単位で文として処理する場合では、分かりやすく説明するために、別々のアクションレコード情報を使って説明したが、どちらにも対応できるアクションレコード情報とする事もできる。
【０４００】
この場合２−１を文節単位で区切った文を入力しても、２−１のように一つの文として入力しても、アクションレコード情報の内容を変えることなく、最終的には同様の応答を得ることができる。
文語としては２−１であるが、口語の場合は２−１を文節単位で区切った文のような形態となることも有り得る。本発明装置は同一のアクションレコード情報で文語にも口語にも対応できる仕組みとしている。
【０４０１】
本実施例１の１項で説明した基本構成においても、例えば２−１に対してだけ応答する８−１のような限定した内容のアクションレコード情報であれば同じように応答をさせることもできるが、実使用を考慮すると基本構成では過去の応答を考慮しない処理方法であるので、「聞いた。」に対する応答情報「何を聞いたの？」の次に「晴れると」を入力しても、過去の応答を考慮しないので「晴れると聞いた。」とは解釈できずに、単に「晴れると」という入力として処理することとなる。
【０４０２】
状態記憶手段付きの構成に当てはめると、入力「聞いた。」に対して「何を聞いたの？」と応答した後に、Ｓ１５−１で１３−１をクリアしてから、「晴れると」という入力を処理することとなる。
このため「晴れると聞いた。」とは解釈できず単に「晴れると」という入力として処理する事となる。この結果実使用を考慮したアクションレコード情報を想定すると「晴れるんだ。」というようには応答できずに、例えば「天気のこと？」などと応答せざるを得ない。
また、次に「天気は」と入力しても「天気は晴れると聞いた。」とは解釈できずに、単に「天気は」という入力として処理する事となる。この結果「良かった。」とは応答できずに、例えば「天気がどうしたの？」などと応答せざるを得ない。
【０４０３】
２−１である「天気は晴れると聞いた。」をそのまま入力した場合も、前記基本構成では過去に処理した文章の構成単位を考慮しないのでアクションレコード情報の内容が８−１のような限定したものでない限り同様の現象となる。
本実施例１の２項で説明した状態記憶手段付きの構成とする事で、前記基本構成の機能を補うことができる。
【０４０４】
ここでは状態記憶手段１３−１には、１３−１に設定した状態情報を保存するようにはしていないが、状態情報を保存しておいても良い。
保存してある状態情報の中から所定の条件と合致する状態情報を一つまたは複数選択し、前記選択した状態情報を元にＳ１５−２の比較条件を設定することにより、前回応答時だけでなく、前の応答時を含めた過去の応答時の前記状態を前提として応答情報を取得することができる。
また、状態情報を保存するときに、応答情報や識別情報や日時などの情報も併せて保存しておいて、前記所定の条件と合致する状態情報を選択する際などに、前記応答情報や識別情報や日時などの情報を考慮するなどしても良い。
【０４０５】
応答情報を出力手段１−５で出力する時に、前記基本構成の識別情報のように前記状態情報を出力するようにしても良い。
【０４０６】
また図３２のように１３−１を複数備えても良く、１３−１を複数備えて例えばユーザやユーザが属するグループ毎などに１３−１を分けて、本発明装置を使用する際にユーザやユーザが属するグループの認証を行い、前記認証結果に基づいて使用する１３−１を変えるなどしても良い。
これにより前記ユーザやグループ単位で、過去の応答を前提に対話することができる。
【０４０７】
なお、１３−１を複数備えなくても前記ユーザやグループを識別するユーザ識別情報とともに前記状態情報を保存することで一つの１３−１においても、前記ユーザやグループ単位で過去の応答を前提に対話させることはできるので、ユーザやグループ単位で前記状態情報を切り替えるために、複数の１３−１を備えることは必要条件ではない。
【０４０８】
図１６の１６−１〜１６−２２は、一つの拡張応答データと一つの次状態データを拡張応答情報とし、一つの拡張動作データと一つの次状態データを拡張動作情報とし、拡張応答情報か拡張動作情報をアクションとし、一つのアクションをアクション情報とし、一つのキーデータをキー情報とし、前記アクション情報を前記キー情報に対応付けたレコードからなるレコード情報であり、前記１６−１〜１６−２２の５つのレコード情報をアクションレコード情報として登録した一登録事例である。
図１４の１４−１などでは次状態情報に、Ｓ１５−２においてキー情報の第２のキーデータと比較するための情報を設定していたが、図１６の１６−１〜１６−２２では次状態情報にレコード情報を特定するための情報を設定している。
【０４０９】
入力の日本語の文２−１を第１の分類手段１−２において、第１の分類種別「聞いた。」、第２の分類種別「天気は晴れると」に分類した分類データが１−３の入力情報であるものとする。
１６−１〜１６−２２の５つのレコード情報をアクションレコード情報とし、図１５を使い前記１−３の入力情報を処理する方法について説明する。
【０４１０】
状態記憶手段１３−１には状態情報の初期値として空を設定（つまりクリア）しておく。Ｓ１５−１
なお１３−１の状態情報が空である場合はＳ１５−２の比較条件で比較するレコード情報を１６−１とする。
【０４１１】
「第１の分類種別と１３−１に記憶させているレコード情報におけるキー情報が一致するか」をＳ１５−２の比較条件とする。ここでは１３−１は空であるので、レコード情報は１６−１となる。
前記比較条件に合致するか確認する。
第１の分類種別「聞いた。」が１６−１の第１のレコードと一致するのでＳ１５−３に移行する。Ｓ１５−２
【０４１２】
前記レコードの次状態情報「１６−１１」を１６−１から取得し、状態情報として状態記憶手段１３−１に設定する。Ｓ１５−３
【０４１３】
前記レコードのアクション種別を１６−１から取得し確認する。拡張動作情報なのでＳ１５−４１に移行する。Ｓ１５−４
【０４１４】
第１の分類手段１−２で第２の分類種別「天気は晴れると」を再度分類する。Ｓ１５−４１
【０４１５】
前記分類の結果、「天気は晴れると」の第１の分類種別は「晴れると」で、第２の分類種別は「天気は」に分類したものとする。
１３−１の状態情報が１６−１１なので、キー情報が「晴れると」のレコードが１６−１１に登録されているか確認し、１６−１１の第１のレコードとして登録されているので、Ｓ１５−３に移行する。Ｓ１５−２
前記レコードの次状態情報「１６−１２」を１６−１１から取得し、状態情報として状態記憶手段１３−１に設定する。Ｓ１５−３
前記レコードのアクション種別を１６−１１から取得し確認する。拡張動作情報なのでＳ１５−４１に移行する。Ｓ１５−４
第１の分類手段１−２で第２の分類種別「天気は」を再度分類する。Ｓ１５−４１
【０４１６】
前記分類の結果、「天気は」の第１の分類種別は「天気は」で、第２の分類種別は空に分類したものとする。
１３−１の状態情報が１６−１２なので、キー情報が「天気は」のレコードが１６−１２に登録されているか確認し、１６−１２の第１のレコードとして登録されているので、Ｓ１５−３に移行する。Ｓ１５−２
前記レコードの次状態情報である空を１６−１２から取得し、状態情報として状態記憶手段１３−１に設定する。Ｓ１５−３
前記レコードのアクション種別を１６−１２から取得し確認する。拡張応答情報なのでＳ１５−５に移行する。Ｓ１５−４
【０４１７】
前記レコードの拡張応答情報「良かった。」を応答情報として取得し処理を終了する。Ｓ１５−５
前記応答情報を出力手段１−５で出力する。
【０４１８】
同じ状態記憶手段１３−１を備えた構成でも、図１４のように一つのレコード情報で全てのデータを管理しても良いし、図１６のように複数のレコード情報に分散してデータを管理しても良い。
【０４１９】
また図１４の１４−１を一つのレコード情報とし、前記レコード情報を複数記憶させても良い。
この場合は、レコード情報を特定するための次状態データを第１の次状態データとし、第２のキーデータと比較するための次状態データを第２の次状態データとし、２つの次状態データを組みにした次状態情報を設定しておき、  Ｓ１５−２のデフォルトの比較条件における第２の比較条件を「１３−１の第１の状態データで指定したレコード情報において、１３−１の第２の状態データが第２のキーデータと一致するか」に変更したＳ１５−２の比較条件に合致するレコードを見つけるようにしても良い。
【０４２０】
Ｓ１５−２の比較条件において、１３−１と比較する対象を、アクションレコード情報の第２のキーデータとした場合について説明したが、１３−１と比較する対象を前記識別情報としても良い。
例えば１４−１に１３−１と比較するための前記識別情報を追加したとして、「１４−１の識別情報が１３−１と一致するか」をＳ１５−２における比較条件の一つとするなどしても良い。
また、Ｓ１５−２でレコードを選択する際ではなく、アクション情報を処理する過程で、１３−１と一致する識別情報を持つ応答情報を所定の条件を満たす応答情報として取得するなどしても良い。
【０４２１】
図１０を使いアクションとしてスクリプトを登録した場合について先に説明したが、前記の場合アクションであるスクリプト内に、応答情報や動作情報などに対応させた次状態情報を保持する変数などを定義しておき、前記変数などの内容を状態記憶手段１３−１に設定することにより同様の処理を実現する事もできる。
【０４２２】
状態記憶手段付きの構成を用いると、過去に処理した文章の構成単位や、過去に応答した文や文章などの意味を解釈した上で、新たな文章の構成単位や、新たな文や文章を処理できるはこれまで説明してきた通りである。
この機能を利用することにより誤字や脱字の検出も可能となるので補足しておく。
【０４２３】
図１７の１７−１は、本来は入力手段１−１で「野球が上手い。」と入力すべきところを、「野球が美味い。」と入力した場合に、「野球が上手いの？」と応答するアクションレコード情報の一登録事例である。
１７−１をアクションレコード情報とし、図１５の処理フローを使い誤字や脱字に対処する方法について説明する。
【０４２４】
状態記憶手段１３−１には状態情報の初期値として空を設定しておく。Ｓ１５−１
第１の分類手段１−２で第１の分類種別を「美味い」、第２の分類種別を「野球が」に分類したものとする。
【０４２５】
Ｓ１５−２でデフォルトの比較条件に合致するか確認する。
１７−１のキー情報の第１のキーデータが「美味い」で、第２のキーデータが空のレコードが登録されているか確認し、１７−１の第４のレコードとして登録されているのでＳ１５−３に移行する。Ｓ１５−２
前記レコードの次状態情報である「美味い」を１７−１から取得し、状態情報として状態記憶手段１３−１に設定する。Ｓ１５−３
前記レコードのアクション種別を１７−１から取得し確認する。拡張動作情報なのでＳ１５−４１に移行する。Ｓ１５−４
第１の分類手段１−２で第２の分類種別「野球が」を再度分類する。Ｓ１５−４１
【０４２６】
前記分類の結果、「野球が」の第１の分類種別を「野球が」、第２の分類種別を空に分類したものとする。
Ｓ１５−２のデフォルトの比較条件と合致するか確認する。
１７−１のキー情報の第１のキーデータが「野球が」で、第２のキーデータが「美味い」のレコードが登録されているか確認し、１７−１の第２のレコードとして登録されているのでＳ１５−３に移行する。Ｓ１５−２
前記レコードの次状態情報「上手い」を１７−１から取得し、状態情報として状態記憶手段１３−１に設定する。Ｓ１５−３
前記レコードのアクション種別を１７−１から取得し確認する。拡張応答情報なのでＳ１５−５に移行する。Ｓ１５−４
前記レコードの拡張応答情報「野球が上手いの？」を応答情報として取得し処理を終了する。Ｓ１５−５
【０４２７】
音声認識装置で音声を自然言語に変換する場合、前記音声認識装置の変換精度によっては、前記例のように「野球が上手い」を「野球が美味い」などと変換してしまう可能性もある。
前記音声認識装置の変換精度の誤差を吸収できる仕組みとしているのも本発明装置の特徴である。
【０４２８】
図１７の１７−２は、次状態情報を所定の規則で変化させたデータを第２のキーデータとして設定したアクションレコード情報の一登録事例である。
次状態情報を所定の規則で変化させたデータを第２のキーデータとして設定した場合の処理方法について補足する。
【０４２９】
Ｓ１５−２の比較条件において、「第１の分類種別が１７−２の第１のキーデータと一致するか」を第１の比較条件とし、「１３−１の先頭にアンダースコアを追加したデータが、１７−２の第２のキーデータと一致するか」を第２の比較条件とし、前記２つのＡＮＤ条件をＳ１５−２における比較条件であるものとする。
【０４３０】
第１の分類種別が「りんごが」で、第２の分類種別が空で、１３−１の状態情報として「美味い」が設定されているものとする。
【０４３１】
Ｓ１５−２において前記比較条件と合致するか確認する。前記比較条件が１７−２の第１のレコードと一致するのでＳ１５−３に移行する。Ｓ１５−２
前記レコードの次状態情報「美味い」を１７−２から取得し、状態情報として状態記憶手段１３−１に設定する。Ｓ１５−３
前記レコードのアクション種別を１７−２から取得し確認する。拡張応答情報なのでＳ１５−５に移行する。Ｓ１５−４
前記レコードの拡張応答情報「私もりんごは好き。」を応答情報として取得し処理を終了する。Ｓ１５−５
【０４３２】
このように次状態情報と第２のキーデータが必ずしも同一でなくても、Ｓ１５−２の比較条件を調整することで、次状態情報と第２のキーデータが同一である場合と同じく処理をすることができる。
【０４３３】
なお、図１６においても同様で、必ずしも次状態情報とレコード情報が同一でなくても、Ｓ１５−２の比較条件を調整することで、次状態情報とレコード情報が同一である場合と同じく処理をすることができる。
【０４３４】
３．抽象化手段付きの構成
図１８は図１の基本構成に抽象化手段１８−１を追加したブロック図である。抽象化手段１８−１を追加した場合の処理方法について以下に説明をする。
なお、前記状態記憶手段付きの構成に抽象化手段１８−１を追加しても良いが、抽象化手段１８−１に関わる処理は前記基本構成と同一なので説明は省略する。
【０４３５】
図１８は、本発明装置の機能を論理的にブロック図で表現したものであり、必ずしも図１８に記述の手段にブロック化する必要はなく、例えばアクション記憶手段と抽象化手段を組み合わせ新たな手段とするなどしても良い。
また図１８は１８−１を一つ備えたブロック図であるが、他の手段と同様に複数備えても良い。
【０４３６】
図１９は、抽象化手段１８−１で管理する抽象化レコード情報の登録事例である。
なお抽象化レコード情報の基本的なデータ構造についてまずは説明する。
抽象化後のデータを属性データとし、一つまたは複数の属性データを属性情報とし、属性データに対応付けるデータをキーデータとし、一つまたは複数のキーデータをキー情報とし、前記キー情報に前記属性情報を対応付けたものをレコードとし、一つまたは複数のレコードをレコード情報とし、一つまたは複数のレコード情報を抽象化レコード情報とする。
抽象化レコード情報は、前記のデータ構造に限定するものではなく他の情報などを追加したり不要な情報を削除したものであっても良いが、前記のデータ構造を説明する際に定義した用語を使って説明を続ける。
【０４３７】
図１９の１９−１〜１９−３は一つのキーデータをキー情報とし、一つの属性データを属性情報とし、前記キー情報と前記属性情報を対応付けたレコードからなる抽象化レコード情報の登録事例である。
図１９の１９−１は抽象化レコード情報の一登録事例を一つのテーブルとして論理的に表現したものであり、必ずしも全てのデータを一つのテーブルで管理する必要はなく、例えばレコードやデータ種別やデータ毎にテーブルを分けるなどしても良い。
図１９の１９−１では説明を簡略化するためデータの内容を直接登録しているが、データの内容を取得するための情報などの間接情報などを登録しておいても良い。
図１９の１９−１ではキー情報などにおいて条件などを含めたデータとして記述していないが、条件などを含めて記述しても良い。
これらは図１９を含め他の図における抽象化レコード情報全てに共通する規則である。
【０４３８】
１９−１で属性情報を「（聞く、％動詞％）」と記述しているが、「聞く」は「％動詞％」というカテゴリに含まれるという意味合いを持たせている。「動詞」という文字を％％で囲んでいるのは、通常の文字や文字列とは違う変数文字列であることを示すためで、区別ができればどのようなフォーマットでも良い。前記属性情報は２つの項目をカンマで区切って登録しているが、１つの項目であっても良いし３つ以上でも良い。
【０４３９】
図２０の２０−１は語幹に関するデータをキー情報として登録したアクションレコード情報の一登録事例である。
本発明装置の入力情報として日本語の文２−１における第３文節である「聞いた。」を入力したものとし、抽象化手段付きの構成における処理方法を図７の処理フローを使い以下に説明する。
【０４４０】
第１の分類手段１−２では、入力情報「聞いた。」を２−２３に解析し、第１の分類種別における第１のデータを語幹である「聞い」、第２のデータを語尾である「た」、第３のデータを末尾の記号である「。」とし、第２の分類種別を空に分類したものとする。
【０４４１】
応答取得手段１−３では、前記第１の分類種別における第１のデータを抽象化手段１８−１で抽象化を行う。前記第１の分類種別における第２と３のデータも抽象化しても良いが、ここでは第１のデータのみ抽象化することとする。
抽象化する際には所定の文章の構成単位で抽象化するものとし、ここでは形態素単位で抽象化し、さらに前記形態素の原形を基に抽象化を行うものとする。
【０４４２】
第１の分類種別における第１のデータ「聞い」の原形は「聞く」となる。２−２では原形の情報を省略しているが形態素解析器や係り受け解析器で解析すると取得できる情報である。
この「聞く」が抽象化レコード情報１９−１のキー情報に登録されているか確認する。１９−１の第１のレコードとして登録されているので、「聞く」を前記レコードの属性情報「（聞く、％動詞％）」に変換する。
他に形態素があれば同様の処理を行い前記属性情報に連結したものを抽象化情報とするが、第１の分類種別における第１のデータに他の形態素がないので前記属性情報「（聞く、％動詞％）」を抽象化情報とする。
また１９−１では入力の文章で使われれていた表層形「聞い」を属性情報の要素に入れていないが、前記表層形「聞い」を属性情報の要素として追加して（％表層形％、聞く、％動詞％）などとしても良いし、属性情報を取得する際に「％表層形％」を「聞い」に変換して、（聞い、聞く、％動詞％）を抽象化情報としても良い。
【０４４３】
ここでは説明を簡略化するために、前記原形と１９−１のキー情報の比較条件を一致する場合としたが、前記原形と１９−１のキー情報を必ずしも一致させる必要はない。アクションレコード情報などと同じように比較条件を変えて、比較することによって原形を所定の規則で変化させたデータなどを１９−１に登録しても良い。
また１９−１では一つのキーデータをキー情報としているが、複数のキーデータをキー情報とし、複数のキーデータを加味した比較条件に合致するレコードを見つけて良いのもアクションレコード情報などと同様である。
【０４４４】
１−３は前記抽象化した抽象化情報「（聞く、％動詞％）」を新たな第１の分類種別の第１のデータとする。
なお抽象化情報の要素を左から順に第１の要素、第２の要素と呼ぶものとする。なお前記抽象化情報「（聞く、％動詞％）」においては、「聞く」が第１の要素で、「％動詞％」が第２の要素となる。
【０４４５】
「第１の分類種別の第１のデータにおける第１の要素が２０−１のキー情報と一致するか」をＳ７−１の比較条件とする。
前記比較条件が一致しなければ、前記比較条件を「第１の分類種別の第１のデータにおける第２の要素が２０−１のキー情報と一致するか」として比較する。
前記比較条件が一致するか、第１の分類種別の第１のデータにおける要素がなくなるまで、前記比較条件を入れ替えて繰り返し比較する事により抽象化情報を使用してＳ７−１における比較ができる。
なおここでは第１の分類種別の第１の要素がなくなるまで繰り返す方法を例に説明したが、各要素の処理方法や処理タイミングなどについては所定の条件を設定しておき前記所定の条件で処理すれば良い。
【０４４６】
なおここでは第１の要素から順にＳ７−１で比較しているが、必ずしも第１の要素から比較する必要はない。処理順序や処理タイミングや応答情報の取得基準なども含めて所定の処理条件を決めておき、前記処理条件に従い処理をすれば良いのもアクションレコード情報などと同様である。
【０４４７】
第１の分類種別の第１のデータにおける第１の要素「聞く」が、２０−１の第１のレコードと一致するので、第１のレコードのアクションを行い拡張応答情報「何を聞いたの？」を応答情報として取得する。Ｓ７−１、Ｓ７−２、Ｓ７−２１、Ｓ７−３
【０４４８】
仮に２０−１に「聞く」が登録されていない場合は、第１の分類種別の第１のデータにおける第２の要素「％動詞％」が、２０−１の第２のレコードと一致するので、第２のレコードのアクションを行い応答情報「何をしたの？」を応答情報として取得する。
【０４４９】
前記取得した応答情報を出力手段１−５に出力する。
【０４５０】
なお、ここでは「聞い」の原形「聞く」を基に抽象化をしたが、必ずしも原形を基に抽象化する必要はなく、表層形などを基に抽象化しても良い。
また品詞などを加味した条件で抽象化しても良い。
【０４５１】
ここまで第１の分類種別の第１のデータである語幹を抽象化した場合の例について説明したが、語尾である第１の分類種別の第２のデータと、末尾の記号である第１の分類種別の第３のデータを抽象化しても良く、第２と３のデータを抽象化する場合について補足する。
なお第１のデータの抽象化情報は「（聞く、％動詞％）」であるものとする。
【０４５２】
第１の分類種別の第２のデータである語尾と、第３のデータである記号を抽象化する際にも所定の文章の構成単位で抽象化するが、ここでは形態素単位で抽象化するものとし、さらに前記形態素の原形を基に抽象化を行うものとする。
【０４５３】
第１の分類種別における第２のデータ「た」の原形は「た」となる。２−２では原形の情報を省略しているが形態素解析器や係り受け解析器で解析すると取得できる情報であるのは第１のデータ「聞い」と同様である。
この「た」が抽象化レコード情報１９−２のキー情報として登録されているか確認する。１９−２の第１のレコードとして登録されているので「た」を前記レコードの属性情報「％過去形％」に変換する。他に形態素があれば同様の処理を行い前記属性情報に連結したものを抽象化情報とするが、他に形態素がないので前記属性情報「％過去形％」を抽象化情報とする。１−３は前記抽象化した抽象化情報「％過去形％」を新たな第１の分類種別の第２のデータとする。
【０４５４】
第１の分類種別における第３のデータ「。」の原形は「。」となる。この「。」を抽象化レコード情報１９−２を使用して前記「た」と同様に抽象化情報に変換する。前記「。」に対応するレコードがないので、ここでは「。」そのものを抽象化情報にするものとする。１−３は前記抽象化した抽象化情報「。」を新たな第１の分類種別の第３のデータとする。
なお第２と３のデータを１９−２で抽象化し、第１のデータを１９−１で抽象化した例で説明しているが、１９−１と１９−２を一つのレコード情報にして共通のレコード情報で抽象化も良いし、逆に１９−２の記号に関するレコードを他のレコード情報に分けるなどしても良い。
【０４５５】
「第１の分類種別の第１のデータにおける第１の要素が２０−２の第１のキーデータと一致するか」を第１の比較条件とし、「第１の分類種別の第２のデータが２０−２の第２のキーデータと一致するか」を第２の比較条件とし、「第１の分類種別の第３のデータが２０−２の第３のキーデータと一致するか」を第３の比較条件とし、前記３つのＡＮＤ条件をＳ７−１の比較条件とする。
前記比較条件が一致しなければ、前記第１の比較条件を「第１の分類種別の第１のデータにおける第２の要素が２０−２の第１のキーデータと一致するか」とした前記比較条件で比較する。
前記比較条件が一致するか、第１の分類種別の第１のデータにおける要素がなくなるまで、第１の比較条件を入れ替えて繰り返し比較する事により抽象化情報を使用してＳ７−１における比較ができる。
なおここでは第１の分類種別の第１の要素がなくなるまで繰り返す方法を例に説明したが、各要素の処理方法や処理タイミングなどについては所定の条件を設定しておき前記所定の条件で処理すれば良い。
【０４５６】
ここでは説明を簡略化するために、第１の分類種別の第２と第３のデータでは、抽象化情報に含まれる要素を１つとしたが、第１のデータと同様に複数の要素を含んでいても良い。
例えば第２と３のデータにそれぞれ２つの要素がある場合には、第１のデータの２つの要素と合わせて全部で２の３乗分（８つ）の比較条件がある。
前記８つの比較条件を使ってＳ７−１で比較することにより比較条件に合致するレコードを見つけることができる。
【０４５７】
２０−２の第１のレコードにおける第１のキーデータが「聞く」で、第２のキーデータが「％過去形％」で、第３のキーデータが「。」で前記比較条件と一致するので、第１のレコードのアクションを行い拡張応答情報「何を聞いたの？」を応答情報として取得する。Ｓ７−１、Ｓ７−２、Ｓ７−２１、Ｓ７−３
【０４５８】
仮に２０−２の第１のレコードが登録されていない場合は、第２のレコードの第１のキーデータが「％動詞％」で、第２のキーデータが「％過去形％」で、第３のキーデータが「。」で前記比較条件と一致するので、第２のレコードのアクションを行い拡張応答情報「何をしたの？」を応答情報として取得する。
【０４５９】
２０−２には第２のレコードの拡張応答情報を「何をしたの？」と記述しているが、抽象化情報の要素である「％動詞％」を、拡張応答情報の中に使用できるようにしておき、例えば「％動詞％の？」と記述しても良い。変数文字列「％動詞％」には、抽象化情報の原形である「聞く」が代入されており、「％動詞％の？」はつまり「聞くの？」という文字列に置き換えられる。
拡張応答情報としては、文字列を過去形に変換するＦという関数を用意して、「Ｆ（％動詞％）の？」のように拡張応答情報を記述しておき、「Ｆ（％動詞％）」で「聞いた」に変換し、前記「聞いた」に「の？」を付加して「聞いたの？」という文字列を取得できるようにしても良い。
【０４６０】
１９−１〜１９−３は、一つの属性データからなる属性情報の例であるが、複数の属性データからなる属性情報の場合について補足する。
例えば第１の属性データが「（聞く、％動詞％）」で、第２の属性データが「（聞く、％行動％）」のレコードがあったとする。
前記レコードで抽象化すると抽象化情報は第１の属性データと第２の属性データをカンマで区切って連結した「（（聞く、％動詞％）、（聞く、％行動％））」となる。
所定の条件で第１と２の属性データの順序を逆にすることとし「（（聞く、％行動％）、（聞く、％動詞％））」としても良いが、ここでは「（（聞く、％動詞％）、（聞く、％行動％））」を抽象化情報とする。
【０４６１】
「（（聞く、％動詞％）、（聞く、％行動％））」を最終的な抽象化情報としても良いが、第１と２の属性データ共に第１の要素として「聞く」が含まれているので、どちらか一方を所定の条件で削除することとし、ここでは第２の属性データの第１の要素を削除することとする。
第２の属性データの第１の要素を削除すると「（（聞く、％動詞％）、（％行動％））」となる。これを最終的な抽象化情報としても良いし、さらに第１と２の属性データを結合するものとし「（聞く、％動詞％、％行動％）」を最終的な抽象化情報とするなどしても良い。
【０４６２】
前記最終的な抽象化情報における各属性データの各要素とアクションレコード情報を、所定の比較条件に従いＳ７−１などで比較することにより、アクションレコード情報から前記所定の比較条件に合致するレコードを見つけることができる。
【０４６３】
属性データの登録内容について補足する。
１９−１では抽象化前のデータを、属性データに含めて抽象化できる事を強調するために属性情報を「（聞く、％動詞％）」と登録したが、単に「％動詞％」だけ登録するようにしても良い。この場合、抽象化する際の所定の条件として、最終的な抽象化情報にするときに、抽象化前のデータを含めるように設定しておけば良い。このようにする事によって、複数の属性データからなる属性情報を登録する場合に、例えば第１の属性データを「％動詞％」、第２の属性データを「％行動％」と登録する事ができる。
前記属性情報で抽象化すると抽象化情報は第１の属性データと第２の属性データをカンマで区切って連結した「（％動詞％、％行動％）」となる。これに抽象化前のデータを含めることとし、最終的な抽象化情報を「（聞く、％動詞％、％行動％）」とするなどしても良い。
なお属性データの登録内容も含めて、どのように抽象化するかについては、所定の条件として設定しておき前記所定の条件に従い抽象化すれば良い。
【０４６４】
抽象化を行う際に抽象化レコード情報の複数のレコードが一致した場合において、複数のレコードを選択する場合も、複数の属性データからなる属性情報で説明した方法で同様に処理することができる。
【０４６５】
１９−１〜１９−３は、一つのキーデータからなるキー情報の例であるが、複数のキーデータをキー情報とし、例えば４−１のように品詞を第２のキーデータとして追加しても良い。この場合、品詞も加味した条件でレコードを見つけ抽象化するなどしても良い。
【０４６６】
今までの説明では本質的な処理を簡潔に説明するため抽象化するデータに含まれる所定の文章の構成単位が一つのみの場合について説明したが、抽象化するデータに複数の所定の文章の構成単位が含まれる場合について補足する。
１９−３を抽象化レコード情報とし、２０−３をアクションレコード情報とし、図７の処理フローを使って、抽象化するデータに複数の文章の構成単位が含まれる場合の処理について説明する。
【０４６７】
前記所定の文章の構成単位を形態素とし、抽象化するデータに複数の形態素が含まれる場合には形態素単位で抽象化を行う。
まずは形態素の原形毎に１９−３のキー情報と一致するレコードが登録されているか確認する。登録されていれば属性情報を取得し、登録されていなければ形態素をそのまま取得もしくは「％未定義％」などのカテゴリ含めるようにし、前に取得したデータに連結する。
例えば「東京の天気」というデータの場合、「東京／の／天気」というように３つの形態素が含まれる。なおスラッシュは形態素の区切りを示している。１９−３を使って前記方法で処理を行うと最終的な抽象化情報は「（東京、％国内％）（の、％連体化％）（天気、％気象％）」となる。
前記最終的な抽象化情報には属性情報の要素の組み合わせである２の３乗分（８つ）のデータが含まれている。具体的には「東京の天気」、「東京の％気象％」、「東京％連体化％天気」、「東京％連体化％％気象％」、「％国内％の天気」、「％国内％の％気象％」、「％国内％％連体化％天気」、「％国内％％連体化％％気象％」の８つのデータがある。
「”東京の天気”が２０−３のキー情報と一致するか」をＳ７−１の比較条件する。
前記比較条件が一致しなければ、前記比較条件を「”東京の％気象％”が２０−３のキー情報と一致するか」とする。
前記比較条件が一致するか、前記８つのデータがなくなるまで比較条件を変えて繰り返し比較する事により、複数の形態素を含む抽象化情報を使用してＳ７−１における比較ができる。
なおここでは前記８つのデータがなくなるまで繰り返す方法を例に説明したが、各データの処理方法や処理タイミングなどについては所定の条件を設定しておき前記所定の条件で処理すれば良い。
【０４６８】
「”％国内％の％気象％”が２０−３のキー情報と一致するか」という比較条件が、２０−３の第１のレコードと一致するので、第１のレコードのアクションを行い拡張応答情報「％国内％は晴れ。」を取得し、「％国内％」を「東京」に変換した「東京は晴れ。」を応答情報として取得する。Ｓ７−１、Ｓ７−２、Ｓ７−２１、Ｓ７−３
【０４６９】
なお形態素が所定の条件に合致する場合には、前記形態素を抽象化しなくても良い。「東京／の／天気」の場合、「の」の品詞が助詞であり、例えば助詞は抽象化しないものとし、抽象化情報を「（東京、％国内％）の（天気、％気象％）」と抽象化しても良い。
【０４７０】
ここまでは抽象化レコード情報を使用した抽象化手段１８−１の処理方法について説明したが、抽象化レコード情報を使用せずに抽象化を行っても良く、入力情報などから得られる情報で抽象化しても良い。
例えば「た」ならば、２−２３で品詞が分かるので、その品詞を使って抽象化するものとし、「た」を例えば「（た、％助動詞％）」などと抽象化しても良い。
またナレッジデータベースを備えて、抽象化したいデータの意味や情報などを前記ナレッジデータベースから取得し、前記取得した意味や情報で抽象化をしても良く、例えば「東京」についてナレッジデータベースから「日本の首都」という意味に関する情報が取得できた場合、「東京」を「（東京、％日本の首都％）」などと抽象化しても良い。
【０４７１】
本発明装置の入力情報を係り受け解析器などで解析したデータをＩＮ１−３として処理する場合には、複数の形態素を繋げた熟語に関する情報を取得することができる。これまでの説明では所定の文章の構成単位を形態素としていたが、前記熟語を検出した場合には所定の文章の構成単位を熟語として抽象化を行っても良い。
また熟語の他に文節などを所定の文章の構成単位としても良い。
【０４７２】
４．応用システム
図２１〜図２６は、本発明装置の応用例を示したブロック図やシステム構成図である。前記図２１〜２６を使い応用システムについて説明をする。
【０４７３】
図２１は、状況認識手段２１−１を備えた応用システムの一例である。
【０４７４】
状況認識手段２１−１としては、画像センサー、温湿度センサー、赤外線センサー、ジャイロセンサー、圧力センサー、加速度センサー、紫外線センサー、放射能センサー、風力センサーやスペクトラムアナライザーや波浪観測装置などや、画像や音声などから各種情報を取得するセンシング技術などの事であり、直接本発明装置に接続しても良いし、ネットワークを介して接続し遠隔地にあっても良い。
状況認識手段２１−１で文や文章などを入力した人などの顔、顔の特徴、表情、格好、動作、所持品、性別、年齢、人種、人数、位置や、声の特徴、入力時の周囲の気象、波浪、立地条件などを認識し、前記情報に対応する前記状態情報を状態記憶手段１３−１に設定して前記状態を変えておくことによって、前記状態情報に応じた応答情報を取得することができる。
画像センサーの具体的実施例としては、特開２００５−２６６９８１公報にて年齢を識別する方法が、特開２００５−２６６９８１号公報にて人種を識別する方法が公開されており、人の顔や表情などを識別できるものが各社で商品化されていて、例えばオムロン株式会社のＯＫＡＯ Ｖｉｓｉｏｎなどがある。また人や物体の数や形を認識する画像センサーも同様に各社で商品化されていて、例えばオムロン株式会社のＳｉｈｏｕｅｔｔｅ  Ｖｉｓｉｏｎなどがある。
【０４７５】
状況認識手段２１−１では、１−１で入力した時点での状況を１３−１に前記状態として与えることを基本とするが、過去の状況を記憶しておき、所定の時間や期間を遡った時点での状況を１３−１に前記状態情報として与えても良い。
また所定の時間や期間ではなく、認識した状況の内容で遡っても良く、例えば急激な画面変化を捉えた場合には、前記画面変化を捉えた時点の状況を１３−１に与えても良い。
【０４７６】
図２２は電話網を介して電話機と通信を行う入力手段１−１と出力手段１−５を備えた応用システムの一例である。電話網は無線でも有線でも良い。
電話機から電話網を経由して着信があると入力手段１−１でオフフックし通話中とする。同時に１−５から受付ガイダンスを再生し音声やトーン信号の入力を促す。音声やトーン信号の入力があると音声の場合、１−１に備えた音声認識手段で自然言語に変換しその後の処理を行う。トーン信号の場合はトーン信号を数値に変換し前記数値を自然言語として入力するか、前記数値に対応した自然言語を入力する。以降はこれまで説明してきた処理を行い応答情報や識別情報などを取得する。
前記応答情報などを取得すると出力手段１−５は、前記応答情報を音声で出力するか、トーン信号などに変換してトーン信号を電話網に出力する。
１−１はビジートーン、もしくは所定のトーン信号を検出するか、所定の音声入力があるとオンフックし通話を終了する。
【０４７７】
図２３〜２６は通信網を介して所定のプロトコルにより各種サーバや端末と通信を行う入力手段１−１と出力手段１−５を備えた応用システムの例である。通信網は無線でも有線でも良い。
また通信網は論理的なネットワークであっても良く通信網を含めたサーバや端末が同一装置内で動作するものであっても良い。
図２３〜２６ではメール、チャット、電子掲示板またはＷＥＢのプロトコルで通信する例を記述しているが、所定のプロトコルを用いて通信を行うものであれば、前記メール、チャット、電子掲示板またはＷＥＢに限らず広く適用できる。
【０４７８】
図２３はメールサーバと通信を行う入力手段１−１と出力手段１−５を備えた応用システムの一例である。
メール端末からメールを入力し本発明装置宛のメールアドレスに前記メールを送るとメールサーバに格納される。前記メールサーバに格納したメールを入力手段１−１で受信する。同時に１−１でメールフォーマットの解析を行いメールに記述されている内容を取り出す。前記取り出したメールの内容を本発明装置に入力する。以降はこれまで説明してきた処理を行い応答情報などを取得する。
前記応答情報などを取得すると出力手段１−５で前記応答情報などをメールで送信可能なフォーマットに変換し送信元のメールアドレス宛にメールサーバに送信する。
メールサーバに送信したメールはメール端末で受信され例えば表示装置などに表示される。
【０４７９】
図２４はチャット端末かチャットサーバと通信を行う入力手段１−１と出力手段１−５を備えた応用システムの一例である。
チャット端末からチャットデータを入力し直接チャットのデータが届くか、チャットサーバを介してチャットのデータが届くと、入力手段１−１でチャットのデータを受信する。同時に１−１でデータフォーマットの解析を行い記述されていた内容を取り出す。前記取り出した内容を本発明装置に入力する。以降はこれまで説明してきた処理を行い応答情報などを取得する。
前記応答情報などを取得すると出力手段１−５で前記応答情報などをデータ送信可能なフォーマットに変換しチャット端末かチャットサーバに送信する。
チャット端末かチャットサーバに送信したデータはチャット端末で受信され例えば表示装置などに表示される。
【０４８０】
図２５は電子掲示板サーバと通信を行う入力手段１−１と出力手段１−５を備えた応用システムの一例である。
電子掲示板端末から電子掲示板サーバを介して掲示板のデータが届くと、入力手段１−１で掲示板のデータを受信する。同時に１−１でデータフォーマットの解析を行い記述されていた内容を取り出す。前記取り出した内容を本発明装置に入力する。以降はこれまで説明してきた処理を行い応答情報などを取得する。
前記応答情報などを取得すると出力手段１−５で前記応答情報などをデータ送信可能なフォーマットに変換し掲示板サーバに送信する。
電子掲示板サーバに送信したデータは電子掲示板端末で受信され例えば表示装置などに表示される。
【０４８１】
図２６はＷＥＢサーバと通信を行う入力手段１−１と出力手段１−５を備えた応用システムの一例である。
ＷＥＢ端末からＷＥＢサーバを介してＷＥＢのデータが届くと、入力手段１−１でＷＥＢのデータを受信する。同時に１−１でデータフォーマットの解析を行い記述されていた内容を取り出す。前記取り出した内容を本発明装置に入力する。以降はこれまで説明してきた処理を行い応答情報などを取得する。
前記応答情報などを取得すると出力手段１−５で前記応答情報などをデータ送信可能なフォーマットに変換しＷＥＢサーバに送信する。
ＷＥＢサーバに送信したデータはＷＥＢ端末で受信され例えば表示装置などに表示される。
【０４８２】
ここまで電話機から入力された自然言語に対する応答情報などは電話機に出力し、メールで入力された自然言語に対する応答情報などはメールで出力するなどの例を説明したが、入力された自然言語に対する応答情報などを別の機器に出力しても良い。
例えば電話機から入力された自然言語に対する応答情報などを所定のメールアドレス宛にメールとして出力しても良いし、メールで入力された自然言語に対する応答情報などを本発明装置の表示装置に出力するなどしても良い。
【０４８３】
例えば電子掲示板やＷＥＢサーバなどに、特定の内容の文章が書き込まれると、前記文章を検出して本発明装置の表示装置に表示したり、アラーム音を鳴らしたり、照明を点滅させたり、メールや電話で特定の内容の文章が書き込まれた事を通知するなどのシステムであっても良い。
【０４８４】
ここからは本発明装置の具体的な適用例について説明する。
例えば本発明装置はロボットであっても良く、音声で会話をしたり、音声などで指示された通りに動作したり、音声などで指示された情報を検索し調べたりするシステムであっても良い。
【０４８５】
例えば本発明装置はカーナビゲーションであっても良く、音声で目的地を入力したり、目的地を決める際に音声でカーナビゲーションと会話をして目的地を決めるなどしても良い。
また車であっても良く、音声でハンドル、アクセル、ブレーキやオーディオなどを含めた各種操作を行えるようにしたシステムであっても良いし、カメラで運転者の目元を撮影しておき、視点の動きやまぶたの動きを検出して眠気を感じている事を検出したら音声で定期的に話かけたり、車を停止させたり徐行させるなどのシステムであっても良い。
車以外にも電車や船舶や飛行機などの他の乗り物において同様なシステムを実現しても良い。
【０４８６】
例えば本発明装置は自動販売機であっても良く、音声で商品を購入できるようにしても良いし、赤外線センサーや画像センサーなどで人の接近を検知して、人が近づいた時に音声で声をかけ商品の説明などをし、会話をしながら商品を販売するなどのシステムであっても良い。また人の年齢や性別や服装などを判別して、説明する商品を変えるなどのシステムであっても良い。
さらに移動可能な仕組みを持つ自動販売機であっても良く、自動販売機が人に近づき商品の説明などをするものであっても良いし、チラシを配るシステムなどであっても良い。
【０４８７】
例えば本発明装置は家電であっても良く、音声で家電を操作できるようにし、例えばテレビと組み合わせた場合には、好みの番組を音声で伝えると、自動的に好みの番組にチャンネルに合わせるなどしても良いし、さらにレコーダなどと組み合わせて過去に録画した番組の中から好みの番組を検索して再生させるシステムであっても良い。
また冷蔵庫であれば、冷蔵庫内に保存してある材料を認識し、今作れる料理を会話しながらアドバイスするなどのシステムであっても良いし、不足している材料を通信網を介して自動的に注文するシステムであっても良い。
テレビ、オーディオ、エアコン、照明、電話、冷蔵庫、調理器具、ドアやドアの鍵などであっても良く、音声で前記家電に指示をすることにより指示通りに動作するシステムであっても良い。
また前記家電を制御できるホームサーバであっても良いく、ホームサーバに指示をすることでホームサーバ経由で家電などを制御するなどしても良い。
さらに携帯電話であっても良く、音声で携帯電話を操作したり、携帯電話を介して家電などを制御できるようにしても良いし、携帯電話とホームサーバを介して家電などを制御できるシステムであっても良い。
【０４８８】
例えば本発明装置を例えばコールセンターのオペレータの代わりとして使用し、人の代わりに相談などの応対をさせるシステムなどであっても良いし、テレマーケティングなどを自動的に行うものであっても良い。また一般の電話機の代わりとして使用し、人が電話に出られないときには、会話しながら用件を聞いておくなどのシステムであっても良い。
また会社などにおける受付けシステムなどであっても良い。
【０４８９】
ここまで説明してきた以外にも、現在ボタンやスイッチなどで意思を伝える仕組みの機器に、本発明装置の技術を適用することで、ボタンやスイッチなどでなく音声などで意思を伝えることが可能となる。
またこれまで人が対応していた業務に本発明装置の技術を適用することで、ロボットなどの機械に前記業務を行わせることが可能となる。
【０４９０】
５．補足
本発明装置では、第１の分類手段１−２の分類方法やアクションレコード情報の登録内容を変えることにより多様な方法で入力情報を処理できるのでその処理方法について補足する。
【０４９１】
（１）陳述部以外からの処理
実施例１では、第１の分類手段１−２で、２−２における陳述部である２−２３を第１の分類種別とし、２−２１と２−２２を第２の分類種別として分類した分類データから応答情報を取得することを中心に説明してきた。
ここでは２−２３以外を第１の分類種別として分類した分類データから応答情報を取得する方法について補足する。
【０４９２】
図３４の３４−１は、２−２「天気は晴れると聞いた。」を２−２３、２−２２、２−２１の順番で処理する事も、２−２１、２−２２、２−２３の順番で処理する事もできるように１４−１の内容を変更したアクションレコード情報の一登録事例である。
【０４９３】
図３４の３４−１をアクションレコード情報とし、図１５の処理フローを使って、２−２１、２−２２、２−２３の順で処理する方法を以下に説明する。
【０４９４】
Ｓ１５−１で状態記憶手段１３−１に空を設定する。
第１の分類手段１−２では１番目の文節を第１の分類種別とし、１番目以外の文節を第２の分類種別とするものとする。
ここでは第１の分類手段１−２で、２−２「天気は晴れると聞いた。」を、第１の分類種別を「天気は」とし、第２の分類種別を「晴れると聞いた。」とした分類データを応答取得手段１−３に出力したものとする。
【０４９５】
Ｓ１５−２におけるデフォルトの比較条件が合致するか確認する。
３４−１の第１のキーデータが「天気は」で、第２のキーデータが空のレコードが登録されているか確認し、３４−１の第６のレコードとして登録されているのでＳ１５−３に移行する。Ｓ１５−２
【０４９６】
前記レコードの次状態情報「天気」を３４−１から取得し、状態情報として状態記憶手段１３−１に設定する。Ｓ１５−３
【０４９７】
前記レコードのアクション種別を３４−１から取得し確認する。拡張動作情報なのでＳ１５−４１に移行する。Ｓ１５−４
【０４９８】
第１の分類手段１−２で第２の分類種別「晴れると聞いた。」を再度分類する。Ｓ１５−４１
【０４９９】
前記分類の結果、「晴れると聞いた。」の第１の分類種別は「晴れると」で、第２の分類種別は「聞いた。」に分類したものとする。
１４−１の第１のキーデータが「晴れると」で、第２のキーデータが「天気」のレコードが３４−１に登録されているか確認し、３４−１の第５のレコードとして登録されているので、Ｓ１５−３に移行する。Ｓ１５−２
前記レコードの次状態情報「晴れ−天気」を３４−１から取得し、状態情報として状態記憶手段１３−１に設定する。Ｓ１５−３
前記レコードのアクション種別を３４−１から取得し確認する。拡張動作情報なのでＳ１５−４１に移行する。Ｓ１５−４
第１の分類手段１−２で第２の分類種別「聞いた。」を再度分類する。Ｓ１５−４１
【０５００】
前記分類の結果、「聞いた。」の第１の分類種別は「聞いた。」で、第２の分類種別は空に分類したものとする。
３４−１の第１のキーデータが「聞いた。」で、３４−１の第２のキーデータが「晴れ−天気」のレコードが３４−１に登録されているか確認し、３４−１の第４のレコードとして登録されているので、Ｓ１５−３に移行する。Ｓ１５−２
前記レコードの次状態情報である空を３４−１から取得し、状態情報として状態記憶手段１３−１に設定する。Ｓ１５−３
前記レコードのアクション種別を３４−１から取得し確認する。拡張応答情報なのでＳ１５−５に移行する。Ｓ１５−４
【０５０１】
前記レコードの拡張応答情報「良かった。」を応答情報として取得し処理を終了する。Ｓ１５−５
前記応答情報を出力手段１−５で出力する。
【０５０２】
図３４の３４−２は、２−２の２番目の文節を第１の分類種別、２番目以外の文節を第２の分類種別とした分類データから応答情報を取得するためのアクションレコード情報の一登録事例である。
【０５０３】
３４−１と同様、図１５の処理フローを使い３４−１との違いに中心に説明する。
【０５０４】
Ｓ１５−１で状態記憶手段１３−１に空を設定する。
【０５０５】
第１の分類手段１−２では２番目の文節を第１の分類種別とし、２番目以外の文節を第２の分類種別に分類するものとする。
ここでは第１の分類手段１−２で、２−２「天気は晴れると聞いた。」を、第１の分類種別を「晴れると」とし、第２の分類種別を「天気は聞いた。」とした分類データを応答取得手段１−３に出力したものとする。
【０５０６】
Ｓ１５−２のデフォルトの比較条件に３４−２の第２のレコードが合致するのでＳ１５−３、Ｓ１５−４を処理し、Ｓ１５−４１で第１の分類手段１−２で第２の分類種別「天気は聞いた。」を再度分類する。
【０５０７】
ここでは２番目の文節を第１の分類種別とするので、前記分類の結果、「天気は聞いた。」の第１の分類種別は「聞いた。」で、第２の分類種別は「天気は」となる。
Ｓ１５−２で３４−２の第１のレコードと前記比較条件が一致するのでＳ１５−３、Ｓ１５−４を処理し、Ｓ１５−４１で第１の分類手段１−２で第２の分類種別「天気は」を再度分類する。
【０５０８】
ここでは２番目の文節がないので、１番目の文節を第１の分類種別に分類するものとし、前記分類の結果、「天気は」の第１の分類種別は「天気は」で、第２の分類種別は空となる。
Ｓ１５−２で３４−２の第３のレコードと前記比較条件が一致するのでＳ１５−３、Ｓ１５−４を処理し、Ｓ１５−５で応答情報「良かった。」を取得し終了する。
前記応答情報を出力手段１−５で出力する。
【０５０９】
本５（１）項でも説明したように、第１の分類手段１−２で、どの文節を第１の分類種別にしても、アクションレコード情報の内容を調整することにより、入力の言語を解析し、その応答を取得することができる。
実施例１では所定の文章の構成単位として、一つの文節を第１の分類種別に分類することを中心に説明してきたが、前記所定の文章の構成単位を文節としなくても、比較条件やアクションレコード情報の内容を調整することにより、入力の言語を解析しその応答を取得できるのが本発明装置の特徴である。
【０５１０】
例えば英語などにおいて、日本語のように文末から処理する事によるメリットを見出せなければ文頭のチャンクから処理をしても良いし、文頭でも文末でもない他のチャンクから処理をしても良い。このような柔軟性を持つことも本発明装置の特徴である。
【０５１１】
（２）複数の文からなら文章の処理
実施例１では、２−１のような一つの文からなる文章に対する応答情報を取得することを中心に説明してきた。
ここでは複数の文からなる文章に対する応答情報を取得する方法について補足する。
【０５１２】
本発明装置の入力は「天気は晴れると聞いた。もう聞いた？」であるとし、入力手段１−１から「天気は晴れると聞いた。もう聞いた？」がＩＮ１−２（１）として第１の分類手段１−２に入力されたものとする。
【０５１３】
まずは前記分割手段を備えて処理する方法について説明する。
【０５１４】
前記分割手段は所定の文章の構成単位に分割する手段であり、ここでは前記所定の文章の構成単位を文とする。
文単位で文章を分割するには、所定の区切りを例えば「。」とし、文章を先頭からチェックしていき、「。」を検出したら、「。」を含め「。」までのデータを一つの文とする。残りのデータの先頭からチェックしていき、「。」を検出したら、「。」を含め「。」までのデータを一つの文とするという処理を繰り返すことで文単位に分割できる。
なお所定の区切りは「。」だけに限らず「？」などであっても良く、「。」や「？」など複数のデータであっても良い。
ここでは所定の区切りを「。」と「？」とする。
【０５１５】
前記分割手段は、ＩＮ１−２（１）「天気は晴れると聞いた。もう聞いた？」において、前記所定の区切りを検出して、「天気は晴れると聞いた。」と「もう聞いた？」の２つの文に分割する。
【０５１６】
第１の分類手段１−２は、前記単位分割手段で分割した「天気は晴れると聞いた。」をＩＮ１−２（１）とし、「もう聞いた？」をＩＮ１−２（２）とする入力情報を新たなＩＮ１−２とする。
【０５１７】
前記ＩＮ１−２を１−２で分類する。ここでは前記同期処理により分類する事とする。
【０５１８】
ここではＩＮ１−２（１）を第１の分類種別を「聞いた。」、第２の分類種別を「天気は晴れると」に分類した分類データをＯＵＴ１−２（１）とし、ＩＮ１−２（２）を第１の分類種別を「聞いた？」、第２の分類種別を「もう」に分類した分類データをＯＵＴ１−２（２）とする。
【０５１９】
１−２はＯＵＴ１−２（１）とＯＵＴ１−２（２）からなるＯＵＴ１−２を応答取得手段１−３に出力する。
【０５２０】
応答取得手段１−３はＯＵＴ１−２をＩＮ１−３とし、ＩＮ１−３に対する応答情報を取得する。ここではＩＮ１−３を前記同期処理にて処理する事とする。
１−３ではＩＮ１−３（１）に対する応答情報で例えば「良かった。」を取得し前記「良かった。」をＯＵＴ１−３（１）とし、ＩＮ１−３（２）に対する応答情報で例えば「初めて聞いた。」を取得し前記「初めて聞いた。」をＯＵＴ１−３（２）とする。
１−３はＯＵＴ１−３（１）とＯＵＴ１−３（２）からなるＯＵＴ１−３を出力手段１−５に出力する。
【０５２１】
出力手段１−５はＯＵＴ１−３をＩＮ１−５とし、ＩＮ１−５を出力する。
例えばＩＮ１−５に含まれているデータ「良かった。」、「初めて聞いた。」を表示装置などに表示する。
【０５２２】
ここでは分かりやすく説明するために、１−２、１−３の処理はいずれも前記同期処理としたが、処理順序や処理タイミングや出力タイミングなどの所定の条件を変えることができるのはこれまで説明した通りである。
【０５２３】
次にＩＮ１−２（１）「天気は晴れると聞いた。もう聞いた？」において、ＩＮ１−２（１）の途中に所定の文の区切りがあることを認識したした場合には、所定の区切り以降を第３の分類種別に分類し応答情報などを取得する方法について説明する。
【０５２４】
ＩＮ１−２（１）を先頭からチェックし所定の区切りで例えば「。」を検出したら、「。」より後のデータを第３の分類種別とし、「。」を含め前のデータを、第１と第２の分類種別にする。
【０５２５】
ここではＩＮ１−２（１）は「天気は晴れると聞いた。もう聞いた？」であるとし、「。」より後のデータ「もう聞いた？」を第３の分類種別とし、「。」を含め前のデータ「天気は晴れると聞いた。」を第１の分類種別を「聞いた。」、第２の分類種別を「天気は晴れると」としたものとする。
【０５２６】
前記分類した第１、２および３の分類種別をＯＵＴ１−２（１）とし、ＯＵＴ１−２（１）からならＯＵＴ１−２を応答取得手段１−３に出力する。
【０５２７】
応答取得手段１−３では、例えば８−１をアクションレコード情報とし、図７の処理フローを使って処理する。
【０５２８】
Ｓ７−１のデフォルトの比較条件に合致するか確認する。
第１の分類種別「聞いた。」が８−１の第１のレコードと一致し、前記比較条件に合致するので、第１のレコードのアクションを行う。
【０５２９】
８−１の第１のレコードのアクションにおいては、拡張動作情報が「第１の分類手段で第２の分類種別を再帰処理」としているが、ここでは「第２の分類種別をＯＵＴ１−３（１）とし、第３の分類種別をＯＵＴ１−３（２）とし、ＯＵＴ１−３（１）とＯＵＴ１−３（２）からなるＯＵＴ１−３を第１の分類手段で再帰処理」であるものと仮定する。
応答取得手段１−３はＯＵＴ１−３（１）とＯＵＴ１−３（２）からなるＯＵＴ１−３を再帰情報として第１の分類手段１−２に出力する。
【０５３０】
第１の分類手段１−２は、ＯＵＴ１−３をＩＮ１−２とする。後はＩＮ１−２が複数のデータである場合と同様の処理で応答情報を取得することができる。
【０５３１】
なお、ここでは１−２において所定の区切りより後のデータをＯＵＴ１−２（１）の第３の分類種別としたが、別のデータとしＯＵＴ１−２（２）の第１の分類種別としても良い。
またＯＵＴ１−２（２）の第１の分類種別としたものを、１−２内で再度分類し新たなＯＵＴ１−２（２）としても良い。
【０５３２】
次にＩＮ１−２（１）において、ＩＮ１−２（１）の途中に所定の文の区切りがあることを認識した場合にも、所定の文の区切りを無視し、複数の文からなる文章を一つの文の如く分類し応答情報などを取得する方法について説明する。
【０５３３】
ＩＮ１−２（１）を先頭からチェックし所定の区切りで例えば「。」をＩＮ１−２（１）の途中で検出したら、ＩＮ１−２（１）の先頭の文節を第１の分類種別、先頭の文節以外を第２の分類種別に分類するものとする。
【０５３４】
ここではＩＮ１−２（１）は「天気は晴れると聞いた。もう聞いた？」であるものとし、第１の分類手段１−２は、第１の分類種別「天気は」、第２の分類種別「晴れると聞いた。もう聞いた？」に分類する。
【０５３５】
応答取得手段１−３では第１の分類種別「天気は」に対応するアクションが、第２の分類種別「晴れると聞いた。もう聞いた？」を１−２で再帰処理するものとし、第２の分類種別を１−２に出力する。
【０５３６】
１−２では「晴れると聞いた。もう聞いた？」を、第１の分類種別「晴れると」、第２の分類種別「聞いた。もう聞いた？」に分類する。
【０５３７】
１−３では第１の分類種別「晴れると」に対応するアクションが、第２の分類種別「聞いた。もう聞いた？」を１−２で再帰処理するものとし、第２の分類種別を１−２に出力する。
【０５３８】
１−２では「聞いた。もう聞いた？」を、第１の分類種別「聞いた。」、第２の分類種別「もう聞いた？」に分類する。
【０５３９】
１−３では第１の分類種別「聞いた。」に対応するアクションが、応答情報「良かった。」を取得し、第２の分類種別「もう聞いた？」を１−２で再帰処理するものとし、応答情報を取得すると共に第２の分類種別を１−２に出力する。
【０５４０】
１−２では「もう聞いた？」を、第１の分類種別「もう」、第２の分類種別「聞いた？」に分類する。
１−３では第１の分類種別「もう」に対応するアクションが、第２の分類種別「聞いた？」を１−２で再帰処理するものとし、第２の分類種別を１−２に出力する。
【０５４１】
１−２では「聞いた？」を、第１の分類種別「聞いた？」、第２の分類種別を空に分類する。
１−３では第１の分類種別「聞いた？」に対応するアクションが、応答情報「初めて聞いた。」を取得するものとし、応答情報を取得する。
【０５４２】
ここまでの処理で取得した応答情報「良かった。」と「初めて聞いた。」を出力手段１−５に出力する。
【０５４３】
なおここでは、１−２で「もう聞いた？」を分類する際に、第１の分類種別「もう」、第２の分類種別「聞いた？」と分類したが、「もう聞いた？」の途中に区切り文字はないので、第１の分類種別を「聞いた？」とし、第２の分類種別を「もう」と分類しても良い。
【０５４４】
（３）語幹と語尾と末尾の記号の分割方法
前記単位分割手段において、分類種別のデータを語幹と語尾と末尾の記号に分割する方法について補足する。
【０５４５】
２−２３である「聞いた。」を語幹と語尾と末尾の記号に分割する方法を例とし以下に説明する。
「聞いた。」の末尾から形態素の品詞を確認し、例えば記号でないデータを検出するまでバックサーチを行う。「聞いた。」では「た」が記号ではないので、「た」の一つ後ろの形態素〜データデンドまでの形態素を末尾の記号として分類する。この結果「。」を末尾の記号とする。
前記「た」をデータエンドに設定し、例えば助詞でも助動詞でもないデータを検出するまでバックサーチを行う。「聞いた。」では「聞い」が助詞でも助動詞でもないので、「聞い」の一つ後ろの形態素〜データデンド「た」までの形態素を語尾として分類する。この結果「た」を語尾とする。
前記「聞い」を含めて「聞い」より前のデータを語幹として分類する。この結果「聞い」を語幹とする。
【実施例２】
【０５４６】
図２７は、図１の第１の分類手段１−２を第２の分類手段に２７−１に変更した場合の一実施例を論理的に表現したブロック図である。
【０５４７】
本実施例２においては、実施例１の基本構成における第１の分類手段１−２を、第２の分類手段２７−１に置き換えたものとし説明を行うが、状態記憶手段付きの構成や、抽象化手段付きの構成において１−２を２７−１に置き換えても良い。
【０５４８】
なお、１−２を２７−１に置き換えた場合の処理は、基本構成も状態記憶手段付きの構成も、抽象化手段付きの構成も同様の処理となるため、状態記憶手段付きの構成と抽象化手段付きの構成において１−２を２７−１に置き換えた場合の説明は省略する。
【０５４９】
各手段への入力情報と出力情報の表現方法については実施例１で説明した通りであるが、実施例２では第２の分類手段２７−１の入力情報を以下の通り表現する。
入力手段１−１の出力情報ＯＵＴ１−１を入力情報とする場合のベース名は「ＩＮ２７−１」とし、応答取得手段１−３から応答情報などを出力する場合の出力情報ＯＵＴ１−３を入力情報とする場合のベース名は「ＭＩＮ２７−１」とする。なお、応答取得手段１−３の出力情報ＯＵＴ１−３であっても再帰情報の場合のベース名はこれまで通り「ＩＮ２７−１」とする。
【０５５０】
１．基本処理１
基本的な処理の一例を基本処理１として図２８の処理フローを使い以下に説明する。
【０５５１】
入力手段１−１は、図２の２−１である「天気は晴れると聞いた。」という自然言語が例えばキーボードからＩＮ１−１（１）として入力されると、１−１はＩＮ１−１（１）である「天気は晴れると聞いた。」をＯＵＴ１−１（１）とし、ＯＵＴ１−１（１）からなるＯＵＴ１−１を出力する。
【０５５２】
第２の分類手段２７−１はＯＵＴ１−１をＩＮ２７−１とする。
【０５５３】
ＩＮ２７−１のＩＮ２７−１（１）を必要に応じて係り受け解析器などで解析し、２−２を新たなＩＮ２７−１（１）とするところまでは実施例１で説明した通りである。
【０５５４】
第２の分類手段２７−１はＩＮ２７−１（１）である２−２を少なくとも一つの所定の構成単位に分類する。
【０５５５】
例えば所定の条件を文節単位で分類するものとし、２−２を「天気は」、「晴れると」、「聞いた。」の３つの所定の文章の構成単位である文節に分類する。Ｓ２８−１
なお前記３つの文節は未処理情報とする。
【０５５６】
前記分類した３つの文節の中で所定の条件を満たす文節を、第１の分類種別とした分類データをＯＵＴ２７−１（１）とし、ＯＵＴ２７−１（１）からなるＯＵＴ２７−１を所定の手段に出力する。
【０５５７】
ここでは所定の条件を満たす文節を最後の文節とし、未処理情報における最後の文節「聞いた。」を第１の分類種別とし、前記第１の分類種別をＯＵＴ２７−１（１）とし、ＯＵＴ２７−１（１）からなるＯＵＴ２７−１を応答取得手段１−３に出力する。Ｓ２８−２
【０５５８】
前記最後の文節を未処理情報から削除し、未処理情報を「天気は」、「晴れると」とする。Ｓ２８−３
【０５５９】
応答取得手段１−３はＯＵＴ２７−１をＩＮ１−３とする。
Ｓ２８−４における応答取得手段１−３の処理については、アクションレコード情報を８−１とし、図７の処理フローを使い説明する。
【０５６０】
Ｓ７−１のデフォルトの比較条件に合致するか確認する。
第１の分類種別「聞いた。」が８−１の第１のレコードのキー情報と一致するのでＳ７−２に移行する。Ｓ７−１
【０５６１】
実施例１でも述べた通り８−１のアクションは拡張条件情報から拡張条件情報の内容に従い処理するのでＳ７−２３に移行する。Ｓ７−２
【０５６２】
第２の分類種別はないので拡張応答情報「何を聞いたの？」を応答情報として取得する。Ｓ７−２３
【０５６３】
前記応答情報を取得し終了する。Ｓ７−３
【０５６４】
応答取得手段１−３は、所定の手段に前記取得した応答情報を出力する。
【０５６５】
ここでは第２の分類手段２７−１に出力するものとし、１−３は前記取得した応答情報をＯＵＴ１−３（１）とし、ＯＵＴ１−３（１）からなるＯＵＴ１−３を２７−１に出力する。
【０５６６】
第２の分類手段２７−１は、ＯＵＴ１−３をＭＩＮ２７−１とし、ＭＩＮ２７−１のＭＩＮ２７−１（１）をＯＵＴ２７−１（１）として追加する。Ｓ２８−４
【０５６７】
第２の分類手段２７−１は、前記取得したＭＩＮ２７−１（１）が所定の条件を満たす応答情報か確認する。
【０５６８】
ここではＭＩＮ２７−１（１）が所定の条件を満たさなかったものとしてＳ２８−５１に移行する。Ｓ２８−５
【０５６９】
ここでは識別情報を追加していないアクションレコード情報８−１を使って説明しているので、Ｓ２８−２においてはＭＩＮ２７−１（１）の内容などから所定の条件を満たすものか判断する。例えばＭＩＮ２７−１（１）「何を聞いたの？」の末尾に「？」があるので、所定の条件を満たさないと判断したものとする。
【０５７０】
なお、識別情報を追加したアクションレコード情報を使用した場合には、応答情報の内容だけではなく前記識別情報を基に所定の条件を満たすかどうか判断できる。
【０５７１】
未処理情報があるのでＳ２８−２に移行する。Ｓ２８−５１
なおＳ２８−５１では、所定の条件を設定しておき、前記所定の条件により処理を分岐させても良いが、ここでは説明を簡略化するためＳ２８−５１の所定の条件を「未処理情報があるか」に限定する。
【０５７２】
またＳ２８−５とＳ２８−５１を纏めて所定の条件に合致するか判定しても良いが、ここでは分かりやすく説明するため別々に処理するものとする。
【０５７３】
第２の分類手段２７−１は、未処理情報である残りの文節「天気は」と「晴れると」の中から、未処理情報における最後の文節「晴れると」を第１の分類種別とし、前記第１の分類種別をＯＵＴ２７−１（１）とし、ＯＵＴ２７−１（１）からなるＯＵＴ２７−１を応答取得手段１−３に出力する。Ｓ２８−２
【０５７４】
前記最後の文節を未処理情報から削除し、未処理情報を「天気は」とする。Ｓ２８−３
【０５７５】
応答取得手段１−３はＯＵＴ２７−１をＩＮ１−３とする。
【０５７６】
８−１の第２のレコードが前記比較条件と一致するのでＳ７−２に移行する。Ｓ７−１
【０５７７】
拡張条件情報なのでＳ７−２３に移行する。Ｓ７−２
【０５７８】
現在の天気が「晴れ」であるものとし、拡張応答情報「良かった。」を応答情報として取得する。Ｓ７−２３
【０５７９】
前記応答情報を取得し終了する。Ｓ７−３
【０５８０】
前記取得した応答情報をＯＵＴ１−３（１）とし、ＯＵＴ１−３（１）からなるＯＵＴ１−３を２７−１に出力する。
【０５８１】
第２の分類手段２７−１は、ＯＵＴ１−３をＭＩＮ２７−１とし、ＭＩＮ２７−１（１）をＯＵＴ２７−１（２）として追加する。Ｓ２８−５
【０５８２】
ＭＩＮ２７−１がその内容などから所定の条件を満たしたものとしＳ２８−６に移行する。Ｓ２８−５
【０５８３】
前記ＯＵＴ２７−１を所定の手段に出力する。ここでは出力手段１−５に出力する。Ｓ２８−６
【０５８４】
１−５はＯＵＴ２７−１をＩＮ１−５とし、ＩＮ１−５である「何を聞いたの？」、「良かった。」を例えば表示装置などに表示する。
【０５８５】
なおＳ２８−６ではＯＵＴ２７−１のデータを、そのまま出力手段１−５に出力しているが、Ｓ２８−５で所定の条件を満たした応答情報であるＯＵＴ２７−１（２）のみをＯＵＴ２７−１として出力し１−５で「良かった。」と表示するなどしても良い。
【０５８６】
またここではＭＩＮ２７−１をＯＵＴ２７−１に蓄積してから纏めて１−５に出力しているが、ＭＩＮ２７−１の入力があった時点でＯＵＴ２７−１として１−５に出力しても良い。
【０５８７】
Ｓ２８−５１について補足する。
Ｓ２８−５１で偽となった場合にはＳ２８−５２に移行し所定の処理を実施する。Ｓ２８−５２では、それまでに取得した応答情報の一部または全部を応答情報として出力手段１−５に出力しても良いし、それまでに取得した応答情報に所定の条件を満たす応答情報がなければ応答情報なしという応答情報を１−５に出力するなどしても良い。
【０５８８】
Ｓ２８−５１の分岐条件は、未処理情報の有無だけでなく、ループ回数やタイムアウト時間やジョブ番号など所定の条件を設定しておき、前記所定の条件に従い分岐させても良いのは実施例１でも説明した通りである。
【０５８９】
なおＳ２８−５で応答情報などの内容で所定の条件を満たすかどうかの判定をする方法について説明したが、Ｓ２８−５では無条件にＳ２８−５１に移行し、Ｓ２８−５１で未処理情報がなくなるまで処理を継続させ、Ｓ２８−５２でそれまでに取得した応答情報の中から所定の応答情報を出力するようにしても良い。
【０５９０】
Ｓ２８−１の分類処理について補足する。
Ｓ２８−１で例えば文節単位に分類する際に、係り受け解析器で解析したデータならば、文節の区切りが分かるので、前記文節の区切りに従って分類すれば良いが、単に形態素単位で分かち書きしてある場合において文節に区切る方法について補足する。
【０５９１】
単に分かち書きしてある場合には、実施例１で説明した係り方記憶手段を応用することによって文節単位に分類できる。
【０５９２】
２−２「天気は晴れると聞いた。」が単に形態素単位で分かち書きしてある場合に、例えば４−１の係り方レコード情報と図５の処理フローを用いてバックサーチで処理を行うと「と」が４−１のキー情報と一致するので、「と」より一つ後ろの形態素〜データエンドまでの「聞いた。」をまずは最後の文節として認識する。
【０５９３】
実施例１では、「聞いた。」以外を第２の分類種別としたが、ここではデータエンドを「と」の形態素としそのままバックサーチを継続する。バックサーチを継続すると「は」が４−１のキー情報と一致するので、「は」より一つ後ろの形態素〜データエンドまでの「晴れると」までを最後から２番目の文節として認識する。
【０５９４】
データエンドを「は」の形態素としそのままバックサーチを継続し、データの先頭まで４−１のキー情報と一致するデータがないので、データの先頭〜データエンドまでの「天気は」を最初の文節として認識する。
【０５９５】
なおフォワードサーチで文節単位に分類しても良いし、図６の処理フローを用いて分類しても良い。
【０５９６】
なお実施例１においては、図５および６のＭを文字、ｍを文字数と置き換えることによって、分かち書きしていない通常の文字列を少なくとも一つの分類種別に分類する方法について説明したが、ここでも同様に図５および６のＭを文字、ｍを文字数と置き換えたものを応用することにより通常の文字列を文節単位に分類することもできる。
【０５９７】
Ｓ２８−１の分類処理においては、分かりやすく説明するために所定の文章の構成単位を文節としたが、実施例１でも説明したように所定の文章の構成単位は文節には限らない。
【０５９８】
アクションレコード情報や比較条件を調整することにより文節以外を文章の構成単位とした場合にも処理できるのは実施例１と同様である。
【０５９９】
ここではＳ２８−１で分類した文章の構成単位を全て未処理情報としたが、必ずしも全てを未処理情報とする必要はない。
【０６００】
所定の条件に合致する文章の構成単位を未処理情報とは別の情報として分類しても良い。例えば２−２を「天気は」、「晴れると」、「聞いた。」の３つの所定の文章の構成単位である文節に分類した場合に、「天気は」を無視して処理するとするならば「天気は」を未処理情報としても良いが、必ずしも未処理情報とする必要はなく別の情報として管理しても良い。
【０６０１】
Ｓ２８−２では、分かりやすく説明するために未処理情報から所定の文章の構成単位を出力しているが、所定の条件に合致する場合は未処理情報から削除した文章の構成単位を出力しても良い。
【０６０２】
例えば状態記憶手段付きの構成や、基本構成においてもアクション記憶手段１−４を複数備えた構成の場合において、Ｓ２８−２で応答取得手段１−３に同じ出力情報を出力した場合にも、１３−１に設定する前記状態情報や使用する１−４を変えておく事で、Ｓ２８−４で違う応答情報を取得するようにできるのは実施例１でも説明した通りである。
【０６０３】
状態記憶手段付きの構成を例にすると、Ｓ２８−５を経由してＳ２８−２に処理が戻ってきた場合に、Ｓ２８−４で取得した応答情報などが所定の条件に合致する場合には、１３−１に所定の前記状態情報を設定してから、未処理情報から削除した文章の構成単位を再度１−３に出力し、前回Ｓ２８−４で取得した応答情報とは違う応答情報を取得するなどしても良い。
【０６０４】
またこの場合前回Ｓ２８−４で取得した応答情報と今回Ｓ２８−４で取得した応答情報を比較し、より相応しい応答情報を選択してＳ２８−２で出力した文章の構成単位に対する最終的な応答情報としても良いし、両方をＳ２８−２で出力した文章の構成単位に対する最終的な応答情報としても良い。
【０６０５】
２．応用処理１
基本処理１の応用例を応用処理１として以下に説明する。
【０６０６】
ここまでは、第２の分類手段２７−１で文節単位に分類し、所定の条件に合致する文節を第１の分類種別として１−３に出力する基本処理１を説明したが、さらに所定の条件に合致する文節を第２の分類種別に分類しても良い。
これまでの説明ではＳ２８−２では、未処理情報の最後の文節「聞いた。」を第１の分類種別としたが、これに加えて例えば最後から２番目の文節「晴れると」を第２の分類種別とし、第１及び２の分類種別をＯＵＴ２７−１（１）とし、ＯＵＴ２７−１（１）からなるＯＵＴ２７−１を応答取得手段１−３に出力しても良い。
【０６０７】
またＳ２８−２において、第３の文節「聞いた。」を第１の分類種別とし、第２の文節「晴れると」を第２の分類種別とし、第１の文節「天気は」を第３の分類種別とし、第１、２及び３の分類種別をＯＵＴ２７−１（１）とし、ＯＵＴ２７−１（１）からなるＯＵＴ２７−１を応答取得手段１−３に出力しても良い。
【０６０８】
またＳ２８−２において、実施例１のように第３の文節「聞いた。」を第１の分類種別とし、第１と２の文節「天気は晴れると」を第２の分類種別とし、第１及び２の分類種別をＯＵＴ２７−１（１）とし、ＯＵＴ２７−１（１）からなるＯＵＴ２７−１を応答取得手段１−３に出力しても良い。
【０６０９】
ここではＳ２８−２で、未処理情報の第３の文節「聞いた。」を第１の分類種別とし、第２の文節「晴れると」を第２の分類種別とし、第１及び２の分類種別をＯＵＴ２７−１（１）とし、ＯＵＴ２７−１（１）からなるＯＵＴ２７−１を応答取得手段１−３に出力した場合の処理方法を応用処理１の一例として説明する。
【０６１０】
Ｓ２８−１は基本処理１と同じである。
【０６１１】
前記第１の分類種別「聞いた。」及び、第２の分類種別「晴れると」をＯＵＴ２７−１（１）とし、ＯＵＴ２７−１（１）からなるＯＵＴ２７−１を応答取得手段１−３に出力する。Ｓ２８−２
【０６１２】
第３の文節と第２の文節を未処理情報から削除し、未処理情報を「天気は」とする。Ｓ２８−３
【０６１３】
応答取得手段１−３はＯＵＴ２７−１をＩＮ１−３とする。
Ｓ２８−４における応答取得手段１−３の処理については、アクションレコード情報を８−１とし、図７の処理フローを使い説明する。
【０６１４】
Ｓ７−１のデフォルトの比較条件に合致するか確認する。
第１の分類種別「聞いた。」が８−１の第１のレコード情報のキー情報と一致するのでＳ７−２に移行する。Ｓ７−１
【０６１５】
先にも述べた通り８−１のアクションは拡張条件情報から拡張条件情報の内容に従い処理するのでＳ７−２３に移行する。Ｓ７−２
【０６１６】
第２の分類種別「晴れると」があるので、前記第２の分類種別を第２の分類手段２７−１で再帰処理をする。第２の分類種別「晴れると」をＯＵＴ１−３（１）とし、ＯＵＴ１−３（１）からなるＯＵＴ１−３を第２の分類手段２７−１に出力する。
【０６１７】
２７−１はＯＵＴ１−３が再帰情報であるのでＩＮ２７−１とする。
【０６１８】
２７−１は文節単位でＩＮ２７−１（１）「晴れると」を分類する。「晴れると」は一つの文節なのでこれ以上細かくは分類せずに分類の結果は「晴れると」となる。前記「晴れると」を未処理情報とする。Ｓ７−２３におけるＳ２８−１
【０６１９】
未処理情報における最後の文節「晴れると」を第１の分類種別とし、前記第１の分類種別をＯＵＴ２７−１（１）とし、ＯＵＴ２７−１（１）からなるＯＵＴ２７−１を応答取得手段１−３に出力する。Ｓ７−２３におけるＳ２８−２
【０６２０】
未処理情報から「晴れると」を削除し、未処理情報を空とする。Ｓ７−２３におけるＳ２８−４
【０６２１】
応答取得手段１−３はＯＵＴ２７−１をＩＮ１−３とする。
【０６２２】
８−１の第２のレコードが前記比較条件と一致するのでＳ７−２に移行する。Ｓ７−２３におけるＳ７−１
【０６２３】
拡張条件情報なのでＳ７−２３に移行する。Ｓ７−２３におけるＳ７−２
【０６２４】
現在の天気が「晴れ」であるものとし、拡張応答情報「良かった。」を応答情報として取得する。Ｓ７−２３におけるＳ７−２３
【０６２５】
前記応答情報を取得し再帰処理を終了する。Ｓ７−２３におけるＳ７−３
【０６２６】
前記応答情報「良かった。」を取得し終了する。Ｓ７−２３、Ｓ７−３
【０６２７】
前記取得した応答情報をＯＵＴ１−３（１）からなるＯＵＴ１−３を２７−１に出力する。
【０６２８】
第２の分類手段２７−１は、応答情報なのでＯＵＴ１−３をＭＩＮ２７−１とし、ＭＩＮ２７−１（１）をＯＵＴ２７−１（１）として追加する。Ｓ２８−４
【０６２９】
ＭＩＮ２７−１が、その内容などから所定の条件を満たしたものとしＳ２８−６に移行する。Ｓ２８−５
【０６３０】
前記ＯＵＴ２７−１を出力手段１−５に出力する。Ｓ２８−６
【０６３１】
出力手段１−５はＯＵＴ２７−１をＩＮ１−５とし、ＩＮ１−５である「良かった。」を例えば表示装置などに表示する。
【０６３２】
なお応答取得手段１−３で再帰処理する際に第２の分類種別「晴れると」を第２の分類手段２７−１に出力したが、第１の分類手段１−２を備え、前記「晴れると」を第１の分類手段１−２に出力して処理をしても良い。
【０６３３】
なお第１の分類手段１−２の処理については実施例１で繰り返し説明しているので、ここでの説明は省略する。
【０６３４】
３．基本処理２
【０６３５】
これまでは、Ｓ２８−１で分類した文章の構成単位を、そのまま第１の分類種別などとして、１−３に出力する例を説明したが、Ｓ２８−１で分類した文章の構成単位の一部を第１の分類種別などとして１−３に出力する方法を基本処理２とし以下に説明する。
【０６３６】
なおここまでの説明で各手段の入力情報と出力情報の関係については一通り説明したので、入出力情報を表す記号であるＩＮ２７−１などを極力使用せずに説明する。入出力情報を明確に区別すべきところでは、その都度明確に入出力情報を表す記号を使い区別する。
【０６３７】
所定の文章の構成単位を文とし、２−２「天気は晴れると聞いた。」を１つの文章の構成単位とする。Ｓ２８−１
なお前記１つの文章の構成単位である文を未処理情報とする。
【０６３８】
所定の条件を満たす文章の構成単位を最後の文節とし、未処理情報である文における最後の文節「聞いた。」を第１の分類種別とし、前記第１の分類種別を応答取得手段１−３に出力する。Ｓ２８−２
【０６３９】
未処理情報である文から最後の文節を削除し、未処理情報を「天気は晴れると」とする。Ｓ２８−３
【０６４０】
応答取得手段１−３は第１の分類種別「聞いた。」を処理し「何を聞いたの？」を応答情報として取得したものとする。
【０６４１】
１−３は前記取得した応答情報を第２の分類手段２７−１に出力する。
【０６４２】
第２の分類手段２７−１は、前記応答情報をＯＵＴ２７−１（１）として追加する。Ｓ２８−４
【０６４３】
ここでは前記応答情報が、その内容などから所定の条件を満たさなかったものとしてＳ２８−５１に移行する。Ｓ２８−５
【０６４４】
未処理情報があるのでＳ２８−２に移行する。Ｓ２８−５１
【０６４５】
第２の分類手段２７−１は、未処理情報である残りの文「天気は晴れると」の中から、最後の文節「晴れると」を第１の分類種別とし、前記第１の分類種別を応答取得手段１−３に出力する。Ｓ２８−２
【０６４６】
未処理情報である残りの文から最後の文節を削除し、未処理情報を「天気は」とする。Ｓ２８−３
【０６４７】
応答取得手段１−３は第１の分類種別「晴れると」を処理し「良かった。」を応答情報として取得したものとする。
【０６４８】
１−３は前記取得した応答情報を第２の分類手段２７−１に出力する。
【０６４９】
第２の分類手段２７−１は、前記応答情報をＯＵＴ２７−１（２）として追加する。Ｓ２８−４
【０６５０】
前記応答情報が、その内容などから所定の条件を満たしたものとしＳ２８−６に移行する。Ｓ２８−５
【０６５１】
前記ＯＵＴ２７−１を出力手段１−５に出力する。Ｓ２８−６
【０６５２】
出力手段１−５はＯＵＴ２７−１に含まれる２つのデータ「何を聞いたの？」、「良かった。」を例えば表示装置などに表示する。
【０６５３】
ここでは、Ｓ２８−１で一つの文章の構成単位に分類する例で説明したが、複数に分類した文章の構成単位から、所定の文章の構成単位を抽出して１−３に出力しても良い。
【０６５４】
例えば２−２を２つの文章の構成単位「天気は」、「晴れると聞いた。」に分類したとする。
【０６５５】
Ｓ２８−２で、所定の条件を満たす文章の構成単位を最後の文章の構成単位における最後の文節とし、未処理情報の最後の文章の構成単位「晴れると聞いた。」における最後の文節「聞いた。」を第１の分類種別とし、前記第１の分類種別を応答取得手段１−３に出力する。
【０６５６】
なおこの場合における未処理情報は「天気は」、「晴れると」となる。
【０６５７】
Ｓ２８−５を経由してＳ２８−２に戻ってきた時に、未処理情報の最後の文章の構成単位「晴れると」における最後の文節「晴れると」を第１の分類種別とし、前記第１の分類種別を応答取得手段１−３に出力する。
【０６５８】
なおこの場合における未処理情報は「天気は」となる。
【０６５９】
今までの説明では、この後にＳ２８−５で所定の条件を満たしＳ２８−６に移行していたが、Ｓ２８−５で所定の条件を満たさないものと仮定すると、Ｓ２８−５を経由してＳ２８−２に戻ってきた時に、未処理情報の最後の文章の構成単位「天気は」における最後の文節「天気は」を第１の分類種別とし、前記第１の分類種別を応答取得手段１−３に出力する。
【０６６０】
なお、この場合における未処理情報は空となる。
【０６６１】
この後はＳ２８−５が真となりＳ２８−６に移行するか、Ｓ２８−５１で偽となりＳ２８−５２に移行して処理を終了する。
【０６６２】
４．応用処理２
基本処理１の応用例を応用処理１として説明したが、基本処理２においても同様に応用が可能なので応用処理２として以下に説明する。
【０６６３】
Ｓ２８−１で所定の文章の構成単位を文とし、２−２である「天気は晴れると聞いた。」を１つの文章の構成単位とする。なお前記１つの文章の構成単位である文を未処理情報とする。
【０６６４】
Ｓ２８−２で例えば、未処理情報である文における第３の文節「聞いた。」を第１の分類種別とし、第２の文節「晴れると」を第２の分類種別とし、前記第１と２の分類種別を応答取得手段１−３に出力するなどしても良い。あとは応用処理１と同様に応答取得手段１−３で応答情報を取得する。
【０６６５】
なお、Ｓ２８−１で複数の所定の文章の構成単位に分類して、複数に分類した文章の構成単位から、所定の文章の構成単位を抽出して１−３に出力しても良い。
【０６６６】
例えばＳ２８−１で２−２を２つの文章の構成単位「天気は」、「晴れると聞いた。」に分類し未処理情報とした場合に、Ｓ２８−２で例えば未処理情報の最後の文章の構成単位「晴れると聞いた。」における最後の文節「聞いた。」を第１の分類種別とし、最後の文章の構成単位における最後から２番目の文節「晴れると」を第２の分類種別とし、前記第１と２の分類種別を応答取得手段１−３に出力するなどしても良い。
【０６６７】
本実施例２では、第２の分類手段２７−１の入力情報ＩＮ２７−１がＩＮ２７−１（１）からなる場合について説明をしてきたが、第１の分類手段１−２と同様にＩＮ２７−１は複数のデータでも良い。
【０６６８】
複数のデータからなるＩＮ２７−１の処理方法など、全体の処理については、処理順序や処理タイミングや出力タイミングなどを所定の条件として決めておき、前記所定の条件に基づいて処理するという第１の分類手段１−２と同じであるためここでの説明は省略する。
【０６６９】
なお２７−１は出力情報を応答取得手段１−３に出力する基本であるが、前記所定の手段として出力先を変更できるのも１−２と同様である。
【０６７０】
また一つの入力データをｎ個の分類データに分類したり、２７−１で分類したＯＵＴ２７−１の各データを所定の規則で変化させてから出力するなどして良いのも１−２と同様である。
【０６７１】
第２の分類手段２７−１では、複数の文からなる文章を処理する場合も、実施例２で説明した方法で処理することもできるが、実施例１で説明したように前記分割手段を備え、文章を文に分割してから処理するなどしても良い。
【０６７２】
逆にＩＮ２７−１が複数のデータである場合は、所定の区切り文字で区切り連結して、複数の文からなる文章として処理しても良いのも実施例１と同様である。
【０６７３】
また２７−１は、前記単位分割手段を備え分類種別のデータをさらに分割しても良いのも１−２と同様である。
また実施例１の４項で説明した応用システムは、そのまま本実施例２にも適用できるので応用システムに関する説明も省略する。
【実施例３】
【０６７４】
実施例１の機能をコンピュータに実行させる言語処理プログラムについて説明する。
まずは実施例１における基本構成の処理方法について説明する。
【０６７５】
図２９は、本発明プログラムを実行させるコンピュータのブロック図である。
【０６７６】
入力装置が実施例１における入力手段１−１で、出力装置が出力手段１−５に対応し、また第１の分類手段１−２と応答取得手段１−３はメインメモリ内の制御プログラムとして読み込まれ、アクション記憶手段１−４は記憶装置に記憶されている事を前提とし説明する。
【０６７７】
なお本発明プログラムは、コンピュータの各装置やメインメモリに各手段１−１〜１−５を対応付けて実行させるが、対応付けについては前記前提に限るものではない。
【０６７８】
例えば前記前提では１−４を記憶装置に記憶させているが、メインメモリの容量などハードウェア資源が許す限り一部をメインメモリに読み込ませ、一部を記憶装置に記憶させても良い。また１−４全てをメインメモリに読み込ませて処理をしても良い。
【０６７９】
１−２、１−３についても同様で制御する部分とデータを管理する部分に分けて、制御する部分はメインメモリに読み込ませ、データを管理する部分は記憶装置に記憶させても良い。
【０６８０】
入力装置から入力があると、制御プログラムの指令に従って中央演算装置は、前記入力を制御プログラム内の第１の分類手段１−２の機能を使って少なくとも一つの分類種別に分類する。
【０６８１】
第１の分類手段１−２の機能の処理が終了すると中央演算装置は、前記１−２の機能の出力を、制御プログラム内の応答取得手段１−３の機能を使って応答情報や応答情報を取得する過程で得た情報などを取得する。
【０６８２】
応答取得手段１−３の機能の処理が終了すると中央演算装置は、前記１−３の機能の出力である応答情報などを出力装置に出力する。
【０６８３】
なお各手段１−１〜１−５の処理内容に関する詳細は、実施例１において説明しているので、ここでの説明は省略する。
【０６８４】
ここでは各手段の機能の出力先を固定的に説明しているが、所定の条件で出力先を切り替えることができるのは実施例１と同様である。
【０６８５】
出力先以外にも各種所定の条件を設定できるようになっているが、これらについては実施例１で説明しているので、本実施例３における説明は省略する。
【０６８６】
状態記憶手段付きの構成の場合、状態記憶手段１３−１はメインメモリに読み込ませても良いし、記憶装置に記憶させても良い。また一部をメインメモリに読み込ませて、一部を記憶装置に記憶させても良い。
なおコンピュータにおける処理手順に関しては基本構成と同一であるため説明を省略する。
【０６８７】
抽象化手段付きの構成の場合、抽象化手段１８−１はメインメモリに読み込ませても良いし、記憶装置に記憶させても良い。また一部をメインメモリに読み込ませて、一部を記憶装置に記憶させても良い。
なおコンピュータにおける処理手順に関しては基本構成と同一であるため説明を省略する。
【０６８８】
なお応用システムとして状況認識手段２１−１を備えた構成について補足する。
２１−１は一部はハードウェアで、一部がプログラムとなる事があるので、一部がハードウェアで一部がプログラムで構成されている状況認識手段２１−１の例としてカメラで画像を撮影し、前記撮影した画像を画像認識プログラムで処理する方法について説明する。
【０６８９】
カメラは入力装置、出力装置と同様で中央演算装置などに接続する。また画像認識プログラムは制御プログラムの一機能としてメインメモリに読み込ませる。
【０６９０】
なお画像認識プログラムも前記１−２や１−３と同様で、制御する部分とデータを管理する部分に分けて、制御する部分はメインメモリに読み込ませ、データを管理する部分は記憶装置に記憶させても良い。
【０６９１】
入力装置から入力があると、制御プログラムの指令に従って中央演算装置は、カメラで撮影した画像をメインメモリか記憶装置に格納する。
【０６９２】
前記格納した画像を中央演算装置は、制御プログラム内の画像認識プログラムの機能を使って画像に記録されている状況を抽出し前記状態情報に変換する。
【０６９３】
前記状態情報への変換が終了すると中央演算装置は、前記状態情報を状態記憶手段１３−１に設定する。
【０６９４】
後は基本構成で説明した処理手順を行い応答情報などを出力装置に出力する。
【０６９５】
なお、入力装置から入力があった場合に、カメラで撮影した画像を格納する方法について説明したが、入力装置からの入力とは無関係に画像を撮影しメインメモリか記憶装置に格納しておき、入力があった場合など必要に応じて、前記格納しておいた所定の画像から状況を抽出しても良い。
【実施例４】
【０６９６】
実施例２の機能をコンピュータに実行させる言語処理プログラムについて説明する。
まずは実施例２における基本構成の処理方法について説明する。
【０６９７】
図２９は、本発明プログラムを実行させるコンピュータのブロック図である。
入力装置が実施例２における入力手段１−１で、出力装置が出力手段１−５に対応し、また第２の分類手段２７−１と応答取得手段１−３はメインメモリ内の制御プログラムとして読み込まれ、アクション記憶手段１−４は記憶装置に記憶されている事を前提とし説明する。
【０６９８】
なお本発明プログラムは、コンピュータの各装置やメインメモリに各手段１−１、１−３、１−４、１−５、２７−１を対応付けて実行させるが、対応付けについては前記前提に限るものではないのは実施例３でも説明した通りである。
【０６９９】
例えば２７−１については、制御する部分とデータを管理する部分に分けて、制御する部分はメインメモリに読み込ませ、データを管理する部分は記憶装置に記憶させても良い。
【０７００】
入力装置から入力があると、制御プログラムの指令に従って中央演算装置は、前記入力を制御プログラム内の第２の分類手段２７−１の機能を使って少なくとも一つの分類種別に分類する。
【０７０１】
中央演算装置は、前記分類した少なくとも一つの分類種別を基に、制御プログラム内の応答取得手段１−３の機能を使って応答情報や応答情報を取得する過程で得た情報などを取得し第２の分類手段２７−１の機能に出力する。
【０７０２】
第２の分類手段２７−１で所定の条件を満たす応答情報などを取得し２７−１の機能の処理が終了すると中央演算装置は、前記２７−１の機能の出力である応答情報などを出力装置に出力する。
【０７０３】
なお各手段１−１、１−３、１−４、１−５、２７−１の処理内容に関する詳細は、実施例２において説明しているので、ここでの説明は省略する。
【０７０４】
ここでは各手段の機能の出力先を固定的に説明しているが、所定の条件で出力先を切り替えることができるのは実施例２と同様である。
【０７０５】
出力先以外にも各種所定の条件を設定できるようになっているが、これらについては実施例２で説明しているので、本実施例４における説明は省略する。
【０７０６】
状態記憶手段付きの構成と抽象化手段付きの構成については、実施例３と同一であるため説明を省略する。
【０７０７】
なお状況認識手段２１−１を備えた構成も、２１−１に関する処理は実施例３と同一であるため説明を省略する。
【産業上の利用可能性】
【０７０８】
人との対話が必要となる用途や、音声などで機械に動作を指示する分野に適用できる。
【図面の簡単な説明】
【０７０９】
【図１】言語処理装置のブロック図である。（実施例１）
【図２】入力となる日本語の文の例である。（実施例１）
【図３】入力となる英文の例である。（実施例１）
【図４】係り方レコード情報の登録内容である。（実施例１）
【図５】第１の分類手段の処理フロー図である。（実施例１）
【図６】第１の分類手段の処理フロー図である。（実施例１）
【図７】応答取得手段の処理フロー図である。（実施例１）
【図８】アクションレコード情報の登録内容である。（実施例１）
【図９】アクションレコード情報の登録内容である。（実施例１）
【図１０】アクションレコード情報の登録内容である。（実施例１）
【図１１】アクションレコード情報の登録内容である。（実施例１）
【図１２】応答取得手段の処理フロー図である。（実施例１）
【図１３】言語処理装置のブロック図である。（実施例１）
【図１４】アクションレコード情報の登録内容である。（実施例１）
【図１５】応答取得手段の処理フロー図である。（実施例１）
【図１６】アクションレコード情報の登録内容である。（実施例１）
【図１７】アクションレコード情報の登録内容である。（実施例１）
【図１８】言語処理装置のブロック図である。（実施例１）
【図１９】抽象化レコード情報の登録内容である。（実施例１）
【図２０】アクションレコード情報の登録内容である。（実施例１）
【図２１】言語処理装置のブロック図である。（実施例１）
【図２２】言語処理装置を利用したシステム構成図である。（実施例１）
【図２３】言語処理装置を利用したシステム構成図である。（実施例１）
【図２４】言語処理装置を利用したシステム構成図である。（実施例１）
【図２５】言語処理装置を利用したシステム構成図である。（実施例１）
【図２６】言語処理装置を利用したシステム構成図である。（実施例１）
【図２７】言語処理装置のブロック図である。（実施例２）
【図２８】第２の分類手段の処理フロー図である。（実施例２）
【図２９】言語処理装置のブロック図である。（実施例３、４）
【図３０】言語処理装置のブロック図である。（実施例１）
【図３１】言語処理装置のブロック図である。（実施例１）
【図３２】言語処理装置のブロック図である。（実施例１）
【図３３】言語処理装置のブロック図である。（実施例２）
【図３４】アクションレコード情報の登録内容である。（実施例１）
【符号の説明】
【０７１０】
１        言語処理装置
１−１    入力手段
１−２    第１の分類手段
１−３    応答取得手段
１−４    アクション記憶手段
１−５    出力手段
１３      言語処理装置
１３−１  状態記憶手段
１８      言語処理装置
１８−１  抽象化手段
２１      言語処理装置
２１−１  状態認識手段
２７      言語処理装置
２７−１  第２の分類手段
３０      言語処理装置
３１      言語処理装置
３２      言語処理装置
３３      言語処理装置
【図１】
2008135020.tif 000003
【図２】
2008135020.tif 000004
【図３】
2008135020.tif 000005
【図４】
2008135020.tif 000006
【図５】
2008135020.tif 000007
【図６】
2008135020.tif 000008
【図７】
2008135020.tif 000009
【図８】
2008135020.tif 000010
【図９】
2008135020.tif 000011
【図１０】
2008135020.tif 000012
【図１１】
2008135020.tif 000013
【図１２】
2008135020.tif 000014
【図１３】
2008135020.tif 000015
【図１４】
2008135020.tif 000016
【図１５】
2008135020.tif 000017
【図１６】
2008135020.tif 000018
【図１７】
2008135020.tif 000019
【図１８】
2008135020.tif 000020
【図１９】
2008135020.tif 000021
【図２０】
2008135020.tif 000022
【図２１】
2008135020.tif 000023
【図２２】
2008135020.tif 000024
【図２３】
2008135020.tif 000025
【図２４】
2008135020.tif 000026
【図２５】
2008135020.tif 000027
【図２６】
2008135020.tif 000028
【図２７】
2008135020.tif 000029
【図２８】
2008135020.tif 000030
【図２９】
2008135020.tif 000031
【図３０】
2008135020.tif 000032
【図３１】
2008135020.tif 000033
【図３２】
2008135020.tif 000034
【図３３】
2008135020.tif 000035
【図３４】
2008135020.tif 000036