(57)【特許請求の範囲】
【請求項１】
センサから得られたデータを処理するセンサデータ処理装置が実行するセンサデータ処理方法であって，
１または複数のセンサから入力されたセンサデータから，あらかじめ指定された特徴量に従って，センサデータの特徴量を抽出する特徴抽出過程と，
用語付きデータベースに自然言語の用語付きで登録されたデータ群の各特徴量と前記センサデータから抽出した特徴量とを比較し，前記用語付きデータベースに登録された特徴量のいずれかと前記センサデータから抽出した特徴量とが，ある基準に従って一致するとみなされた場合，前記センサデータを，一致するとみなされた特徴量のデータを含むデータ群に付与された用語に対応付け，前記センサデータに対する判断を含む処理を前記対応付けた用語を用いて行わせ，前記センサデータから抽出した特徴量が前記用語付きデータベースに登録された特徴量のいずれとも一致しないとみなされた場合，前記センサデータから抽出した特徴量を所定の分類基準に従って分類し，当該センサデータを，特徴量によって分類されたデータ群を記憶する用語未決定データベースに登録する特徴比較・分類過程と，
前記用語未決定データベースに登録された特徴量によって分類されたデータ群について，ユーザに用語の入力を促し，ユーザインタフェースを介して入力された用語を前記データ群に付与し，前記用語付きデータベースに前記データ群を用語付きで登録する用語付与過程とを有する
ことを特徴とする用語付きデータを扱うデータ処理方法。
【請求項２】
センサから得られたデータを処理するセンサデータ処理装置であって，
１または複数のセンサから入力されたセンサデータから，あらかじめ指定された特徴量に従って，センサデータの特徴量を抽出する特徴抽出手段と，
用語付きデータベースに自然言語の用語付きで登録されたデータ群の各特徴量と前記センサデータから抽出した特徴量とを比較し，前記用語付きデータベースに登録された特徴量のいずれかと前記センサデータから抽出した特徴量とが，ある基準に従って一致するとみなされた場合，前記センサデータを，一致するとみなされた特徴量のデータを含むデータ群に付与された用語に対応付け，前記センサデータに対する判断を含む処理を前記対応付けた用語を用いて行わせ，前記センサデータから抽出した特徴量が前記用語付きデータベースに登録された特徴量のいずれとも一致しないとみなされた場合，前記センサデータから抽出した特徴量を所定の分類基準に従って分類し，当該センサデータを，特徴量によって分類されたデータ群を記憶する用語未決定データベースに登録する特徴比較・分類手段と，
前記用語未決定データベースに登録された特徴量によって分類されたデータ群について，その分類基準とデータ内容とをユーザインタフェースを用いてユーザに提示し，ユーザに用語の入力を促し，ユーザインタフェースを介して入力された用語を前記データ群に付与し，前記用語付きデータベースに前記データ群を用語付きで登録する用語付与手段とを有する
ことを特徴とする用語付きデータを扱うデータ処理装置。
【請求項３】
請求項２に記載する用語付きデータを扱うデータ処理装置において，
前記用語付与手段は，前記用語未決定データベースに登録された特徴量によって分類されたデータ群の構成データ数が一定量を超えたデータ群に対して，前記ユーザに対する用語の入力を促す処理を実行する
ことを特徴とする用語付きデータを扱うデータ処理装置。
【請求項４】
請求項２または請求項３に記載する用語付きデータを扱うデータ処理装置において，
前記用語付与手段は，ユーザに用語の入力を促す際に，用語付与対象のデータ群が時系列ではない静的な特徴量に基づいて分類されたデータである場合に，名詞の用語付与をユーザに指示し，用語付与対象のデータ群が時系列の特徴量に基づいて分類されたデータである場合に，動詞の用語付与をユーザに指示する手段を有する
ことを特徴とする用語付きデータを扱うデータ処理装置。
【請求項５】
センサから得られたデータを処理するセンサデータ処理装置のコンピュータに実行させるためのプログラムを記憶したコンピュータ読み取り可能な記憶媒体であって，
前記コンピュータを，
１または複数のセンサから入力されたセンサデータから，あらかじめ指定された特徴量に従って，センサデータの特徴量を抽出する特徴抽出手段と，
用語付きデータベースに自然言語の用語付きで登録されたデータ群の各特徴量と前記センサデータから抽出した特徴量とを比較し，前記用語付きデータベースに登録された特徴量のいずれかと前記センサデータから抽出した特徴量とが，ある基準に従って一致するとみなされた場合，前記センサデータを，一致するとみなされた特徴量のデータを含むデータ群に付与された用語に対応付け，前記センサデータに対する判断を含む処理を前記対応付けた用語を用いて行わせ，前記センサデータから抽出した特徴量が前記用語付きデータベースに登録された特徴量のいずれとも一致しないとみなされた場合，前記センサデータから抽出した特徴量を所定の分類基準に従って分類し，当該センサデータを，特徴量によって分類されたデータ群を記憶する用語未決定データベースに登録する特徴比較・分類手段と，
前記用語未決定データベースに登録された特徴量によって分類されたデータ群について，その分類基準とデータ内容とをユーザインタフェースを用いてユーザに提示し，ユーザに用語の入力を促し，ユーザインタフェースを介して入力された用語を前記データ群に付与し，前記用語付きデータベースに前記データ群を用語付きで登録する用語付与手段として，
機能させるためのプログラムを記憶した
ことを特徴とする用語付きデータを扱うデータ処理装置のプログラム記憶媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は，例えばロボット等に用いられているセンサからのデータの処理技術および人間がロボットや機器等に命令を与える場合の言語処理インターフェースの構築技術に係り，特にセンサデータから状況判断を容易にするセンサデータの分類法と記憶法および記憶したデータの利用法を提供し，また，例えば人間が用いる言葉をロボットの行動あるいは操作に結合させる手段とその記憶方法，および記憶したデータの利用法を提供する用語付きデータを扱う方法と装置に関するものである。
【０００２】
【従来の技術】
一般的なセンサデータの処理方法では，センサデータにある数値的な加工を行って何らかの特徴を抽出し，その特徴に応じて，次の処理方法を決定あるいは変更するという手順が取られている。この際，センサデータから得られる特徴量から何らかの状況判断を行い，次の処理方法を決定するのであるが，次の処理で期待される特徴量とその値や分類はあらかじめ決まっているので，決められた手順以外では状況判断をすることはできなかった。
【０００３】
また，ロボット等に用いられているセンサは，ある種の状態や状態の変化を測定するための機器であり，得られたセンサデータからは，その場の状況や状態が正しく判断できることが望ましい。しかし，一般にセンサデータは膨大であるし，ノイズ等の影響で誤差を多く含んでいる場合がほとんどであり，センサデータの数値の羅列から簡単に状況判断を行うことは非常に困難であった。
【０００４】
一方，ロボット等の機器を操作する際に与える命令は，一般に，速度を１m/s に設定するとか，１rad/s で回転するとか，位置（100, 200）に移動するとかのように，ある速度や位置を直接数値で指定する場合がほとんどである。また，エアコン等の家電製品では，温度を20度に設定するとか，決められた設定値になるような「ドライモード」や「お休みモード」などの設定方法しかなかった。
【０００５】
しかし，人間が人間に何らかの命令を与える場合，このような命令を与えることはしない。人間が人間に与える命令は，単に「歩け」とか「もっと早く歩け」とかいった具体的な速度や足の角度などを指定しない抽象的な命令が一般的である。また，エアコン等の家電製品では，「もっと温度を高く」とか，「涼しく」などの命令を与えられたほうが，20度とかの数値で温度を指定するよりも，人間に違和感を与えずに機械に命令できる。
【０００６】
もし，ロボットや家電等の機器にもこのような表現で命令を与えることができれば，人と機械との自然なインターフェースが可能になると期待できる。
加えて，このような自然言語を利用して機器に命令を与える際に問題となるのは，温度を上げることなどに対する命令が人によってさまざまに変ることである。例えば，ある人は「もっと温度を高く」と命令するが，ある人は，「温度を上げろ」と命令するかもしれない。また，「暖かく」でも，同じ効果になるようにして欲しい人もいるかもしれない。
【０００７】
この問題に対処するために，従来例では，さまざまな命令形態をあらかじめ想定して，それを列挙し記憶していたので，こういう命令を理解するシステムを作ることは大変な手間と膨大な記憶容量が必要になり実際的ではなかった。
【０００８】
つまり，従来技術では「暖かく」とか「歩く」という意味が具体的にどうすることなのかという対応関係を学習し記憶する手段を持たないため，このような命令に柔軟に対応できるシステムが実現できなかった。
【０００９】
【発明が解決しようとする課題】
以上のように，センサデータはある種の状態量や状態の変化を測定できるものでありながら，人間がセンサデータを見てもそれは適当に分類されていないので，それを見ただけではどのような状況なのか判断することは難しかった。また，センサデータから得られる特徴量には系統的な名称を付与することはなく，仮に名称を付与することがあったとしてもそれは機械的な意味の無い名称であるため，人間がその名称からすぐにセンサデータが表す状態を連想することができないという欠点があった。
【００１０】
また，人間がロボットや機器に命令する場合，機器が人間の言葉と自身の行動パターン，または変化させるべき値の対応関係を学習する手段を持たないため，人間と機器のインターフェースは，直接的な値を設定するような命令形態しかとれないという欠点があった。
【００１１】
本発明は，上記問題点の解決を図り，人間がロボット等の機器を利用するときに，自然言語に基づいて，そのロボット等の機器のセンサデータの表す状態を容易に把握でき，また，人間にとって自然な命令語で機器の操作ができるようにすることを目的とする。
【００１２】
すなわち，本発明は，センサデータの新しい分類手段を提供し，膨大なデータを効率よく簡略化して記憶し，状況判断が必要になったときに取り出して比較することにより，容易に状況判断を行い，状況に応じた処理を実行できるようにすることを目的とし，また，人間の命令と機器の動作との対応関係を学習記憶し，人間があいまいに与えた命令でもそれに対応する命令を学習し，正しい動作を記憶するための言語処理および機器操作手段を堤供することを目的とする。
【００１３】
【課題を解決するための手段】
上記課題を解決するため，本発明は，例えば図１ないし図３に示すような構成をとる。
【００１４】
図１は，本発明に係るセンサデータ処理装置の構成例を示す。
特徴抽出手段２は，センサ等の情報入力装置１から得られるセンサデータから特徴を抽出する。特徴比較・分類手段３は，特徴抽出手段２により抽出した特徴Ｔと用語付きデータベース６に用語付きで登録されたデータ群とを比較し，類似するデータ群があればその用語を状況判断手段４に通知し，類似するデータ群がなければ，その特徴Ｔを用語未決定データベース７に分類されているデータ群の一つに分類するか，または新しい分類を作成して，用語未決定データベース７に保存する。
【００１５】
状況判断手段４は，特徴Ｔが一致するデータ群の用語に基づいて，その状況を判断する。用語Ｂを持つデータ群８は，特徴Ｔが一致するとみなされたデータ群である。
【００１６】
用語付与手段５は，用語未決定データベース７のデータ群に，人間が理解できる用語を付与し，用語付きデータベース６に登録する。データ群削除手段１０は，一定期間が経過しても用語が付与されなかった不要と考えられるデータ群を用語未決定データベース７から削除する。
【００１７】
用語未決定データベース７は，用語付きデータベース６に登録されている用語付きのデータ群と一致しなかった特徴Ｔを用語が付与されるまで，または所定の期間が経過するまで保存するデータベースである。生データ保存用データベース９は，情報入力装置１から入力したデータをそのまま記憶し保存しておくデータベースである。なお，生データ保存用データベース９に特徴抽出手段２が抽出した特徴量を，生データとともに記憶するようにしてもよい。
【００１８】
情報入力装置１は，１種類であっても複数種類であってもよく，また，これらから入力され特徴量抽出の対象となるデータは，ある１時点におけるデータでも，時系列のデータの並びであってもよい。
【００１９】
用語付与手段５は，ユーザからの指示により起動されるか，または所定の契機で自動的に起動され，用語未決定データベース７に保存されている用語が付与されていないセンサデータのデータ群に用語を付与するために，ユーザに適当な用語を提示するように質問し，ユーザからの入力によってデータ群に用語を付与する。用語が付与されるまでは，用語未決定データベース７に保存するデータ群に仮の名称となる符号を付与し，ユーザからの入力によって先に付与した符号を入力された用語に変更する。
【００２０】
また，用語付与手段５は，ユーザに適当な用語を提示するように質問する際に，そのデータ群が静的な特徴量に関するものである場合には，名詞を付与することを示唆する情報を表示し，そのデータ群が例えば時系列データであって，動的な特徴量または状態変化を表す特徴量に関するものである場合には，動詞を付与することを示唆する情報を表示する。さらに，何らかの状態を表すセンサデータの特徴量に対しては，例えば形容詞の用語を付与することをユーザに勧めるようにしてもよい。
【００２１】
以上の各処理手段を計算機によって実現するためのプログラムは，計算機が読み取り可能な可搬媒体メモリ，半導体メモリ，ハードディスクなどの適当な記憶媒体に格納することができる。
【００２２】
特徴抽出手段２は，一般的な計算機とソフトウェアプログラムによって構成することもできるが，これらの一部または全部を，入力と出力が同一の値をとる多段の階層型ニューラルネットを用いて構成することもできる。このとき，特徴量の抽出のため，センサデータをその階層型ニューラルネットに入力し，その入力と出力層以外の中間層からの出力パターンによってセンサデータを分類する。
【００２３】
図１に示す装置の作用は，以下のとおりである。
センサ等の情報入力装置１から得られるセンサデータは，特徴抽出手段２においてセンサデータの持つ種々の特徴（例えば，形状や色など）が抽出される。抽出した特徴Ｔは，用語付きデータベース６に登録されたデータ群と特徴比較・分類手段３において比較される。用語付きデータベース６のデータ群には，適当な用語（用語Ａ）が付与されている。
【００２４】
仮に，特徴Ｔと用語付きデータベース６に登録されているいずれかのデータ群とがある基準に従って一致するとみなされる場合，一致ありのほうに分岐して，そのセンサが示す状態あるいは状況を状況判断手段４を用いて判断する。図１では，用語Ｂで示されるデータ群８と一致したものとされている。
【００２５】
特徴比較・分類手段３で特徴Ｔが用語付きデータベース６のどのデータ群にも一致しないとみなされた場合には，特徴Ｔは用語未決定データベース７に登録される。このとき，用語未決定データベース７中に特徴Ｔと一致するものがあればそのデータ群に追加され，もし一致するものがなければ新たなデータ群として登録される。
【００２６】
用語未決定データベース７中のデータ群は，ある一定の基準で用語付与手段５によって適当な用語が付与される。用語付与手段５は，ユーザ（オペレータ）に質問をしたりすることにより，用語未決定のデータ群に対して，その特徴を最もよく表すような適当な用語を付与する。用語を付与されたデータ群は，用語付きデータベース６に登録される。
【００２７】
付与する用語の決定に際しては，データ群の特徴に応じて用語が付与される。データ群が静的な特徴量（時間変化しない状態など）を持つデータの集合である場合には，名詞的な用語を提示するようにユーザに指示する。データ群が状態変化を伴うような動的な特徴量を持つデータの集合（移動する物体の位置変化など）である場合には，動詞的な用語を提示するようにユーザに指示する。また物体の状態を表すような特徴量を持つデータの集合（色や重さなど）である場合には，形容詞的な用語を提示するようにユーザに指示する。
【００２８】
上記の処理を通じて，本装置は，情報入力装置１から得られたセンサデータを，人間にとって意味のある名称（用語）で分類することにより，センサデータからの状況判断を容易にすることが可能となる。具体的には，この用語によって実行すべき命令を決定するためのプログラミングを容易に行うことができ，また音声その他により状況を知らせるというようなことも可能になり，センサデータに基づいて何らかの動作を決定することが容易に行えるようになる。
【００２９】
図２および図３は，本発明に係る言語処理インターフェースを有する機器操作装置の構成例を示す。図２および図３において，同一の機能を持つ手段には同一の番号を付して表している。図３は，図２に示す構成例に，センサ５０，判定基準データベース５１，判定基準作成手段５４を付加したものを示している。
【００３０】
入出力装置４０は，例えばマイクロフォン，キーボード，スピーカ，ディスプレイというような入出力機器である。
入力処理手段４１は，人間等から発せられる音声等やキーボード等から入力される記号などの言葉Ｗを，入出力装置４０から入力すると，計算機で処理できるような記号列に置き換え，これを言葉データＷｄとし，さらに，元の言葉Ｗと言葉データＷｄを言語データベース４２へ保存し，比較手段４３を起動する。
【００３１】
比較手段４３は，言葉データＷｄを用語付き行動データベース４９に格納された用語付き行動データの言葉データＷｄ′と比較し，一致する場合には，行動実行手段４６を起動して用語付き行動データの行動パターンを実行させ，一致しない場合には，行動選択手段４４を起動する。
【００３２】
行動選択手段４４は，複数の可能な行動パターンＡを蓄積した行動データベース４５から，ある基準に従って一つの行動パターンＡを選択し，選択した行動パターンを実行するよう行動実行手段４６を起動する。
【００３３】
また，選択した行動パターンを行動実行手段４６で実行し，実行結果を判定手段４７で判定する。その結果，実行した行動パターンがある基準に適合しないと判定された場合には，先に実行した行動パターンＡと異なる行動パターンＢをある基準で選択し，選択した行動パターンを実行するよう行動実行手段４６を起動する。選択する行動がない場合には終了する。また，ある所定回数の行動パターンを実行しても，ある基準に適合する判定結果が得られなかった場合には行動の実行を中断するか，人間等に質問を発する質問手段５２を起動する。あるいは，選択可能な行動パターンすべてを実行し，そのうち，最もよいと思われる行動パターンＡｍを人間が選択してもよい。
【００３４】
行動実行手段４６は，行動選択手段４４で選択された行動パターンＡを実行し，判定手段４７を起動する。比較手段４３から行動パターンＡが与えられた場合には，それを実行し，終了する。
【００３５】
判定手段４７は，言葉データＷｄと行動パターンＡについて，人間から指示される判定入力手段５３からの指示によって判定し，ＯＫ（適合する）と判定される場合には用語付与手段４８を起動し，ＮＧ（適合しない）と判定される場合には行動選択手段４４を起動する。
【００３６】
用語付与手段４８は，判定手段４７である基準に適合した行動パターンＡに言葉データＷｄを付与し，用語付き行動データベース４９に行動パターンＡと言葉データＷｄを保存する。
【００３７】
用語付き行動データベース４９は，行動パターンＡと，その行動パターンＡに付与した言葉データＷｄの組を，ある形式で記憶しておくデータベースである。あるいは，行動パターンＡと，行動パターンＡを実行中にセンサ５０により取得したセンサデータと，それらのデータに付与した言葉データＷｄとを組にして，それらをある形式で記憶しておくデータベースである。
【００３８】
図３のセンサ５０は，行動実行手段４６がある行動パターンＡを実行中に，その実行状況を測定するためのセンサである。
質問手段５２は，数回の行動パターン実行の結果，与えられた言葉Ｗにうまく適合する行動が選択できなかった場合に，適切な行動は何かを人間に質問するものである。質問は，スピーカやディスプレイ等の入出力装置４０を用いて，音声やメニュー等によって行われる。
【００３９】
判定入力手段５３は，与えられた言葉Ｗに対して，選択された行動パターンが適切な行動であるかどうかを判定する基準が，判定基準データベース５１にない場合に，人間が直接その判定（ＯＫ／ＮＧ）を入力するものである。
【００４０】
判定基準作成手段５４は，人間から与えられた判定基準を判定基準データベース５１に保存するものである。あるいは，人間から直接判定が行われるときに，適当な判定基準を作るために，センサデータから何らかの特徴を抽出し，それを判定基準として保存する。
【００４１】
以上の各処理手段を計算機によって実現するためのプログラムは，計算機が読み取り可能な可搬媒体メモリ，半導体メモリ，ハードディスクなどの適当な記憶媒体に格納することができる。
【００４２】
図２または図３に示す装置の作用は，以下のとおりである。
人間等から与えられる言葉Ｗ（命令）は，入力処理手段４１によって処理され，計算機が理解できる言葉データＷｄ（命令データ）に変換される。言葉Ｗ（命令）は，例えば，もっと速度を上げろとか右に回転しろなどの言葉による命令であり，実際の値で示される必要はない。言葉Ｗと首葉データＷｄは，それらの対応がわかるような形式で，言語データベース４２に格納される。言葉Ｗが例えば音声信号であれば，入力処理手段４１は，マイクロフォン等の音声収集装置から入力した音声信号を蓄積し，またはその特徴を抽出し，抽出されたデータを言葉データＷｄとするものである。
【００４３】
通常，言葉Ｗは自然言語であるが，言葉データＷｄは言葉Ｗに対応する単なる計算機の内部コードであり，自然言語としての意味を持たない。言葉Ｗの意味について，計算機は事前に知識を持つ必要はない。入力処理手段４１中に音声認識機能を設け，音声入力をキーボード等からの文字入力と同様に扱うことも可能である。また，例えば類義語辞書等を用意し，入力した言葉Ｗを同じ意味を持つ他の言葉Ｗ′に変換し，その言葉Ｗ′に対する言葉データを以後の処理で用いるようにしてもよい。
【００４４】
入力処理手段４１によって処理された後の言葉データＷｄは，用語付き行動データベース４９に格納されたデータと比較手段４３において比較される。もし，用語付き行動データベース４９になんのデータもなければ比較は行われず，直ちに行動選択手段４４が起動される。
【００４５】
用語付き行動データベース４９に用語付き行動データがあり，かつ言葉データＷｄと用語付き行動データのどれかが一致する場合には，その行動パターンが行動実行手段４６によって実行され，実行終了後に，その命令は終了する。
【００４６】
一方，言葉データＷｄが用語付き行動データのどれとも一致しない場合には，行動選択手段４４が起動される。行動選択手段４４は，行動データベース４５にあらかじめ蓄えられた，その装置が可能な行動パターン（例えば，速度を一定量増やすとか方向を一定量変えるとか，温度を一定量変えるとか，従来の命令形態で実現できる命令方式全般）の中から，適当なものを選択し，その行動パターンの実行を行動実行手段４６に依頼する。行動実行手段４６は，依頼された行動パターンを実行する。
【００４７】
行動結果は，原則として人間が判定する。判定は機器の選択した行動が自分の与えた命令にあっていればＯＫ，間違っていればＮＧの指示を判定入力手段５３を介して入力する。判定入力手段５３は，実行結果が良い，悪い程度の簡単な入力とし，キーボードやスイッチ等の入出力装置４０から入力する。なお，行動終了後，一定時間待って人間から入力処理手段４１を通じて良いとか悪いという言葉を入力してもらい，行動の良し悪しを決定してもよい。この場合の行動データは先の行動を良いと判定せよなどにすればよい。
【００４８】
この判定方法では，人間が常時機器の行動状態を監視していなければならないので面倒である。そこで，判定基準を人間があらかじめ作成して，それに適合したなら判定ＯＫとする方法があると便利である。そのため，質問手段５２から人間に判定基準を質問する。得られた判定基準は，判定基準データベース５１に蓄積される。判定手段４７は，与えられた判定基準に合うような状態になったとき，ＯＫと判定することになる。この場合には，判定はセンサデータを比較することによって判定する。したがって，判定基準もセンサデータから得られるようなものとなる。例えば，速度Ｖを上げろという命令が与えられた場合なら，センサ５０の出力から検出した加速度α＞０が判定基準となる。
【００４９】
判定基準は，行動データベース４５に格納された行動パターンがどうなれば良いかを基準に設定できる。例えば，速度Ｖを変えるという行動パターンがあると，その判定基準は加速度αが正または負になれば良いので，判定基準は，「加速度α＞０」または「加速度α＜０」のいずれかである。
【００５０】
人間等が判定基準を用いずに直接判定を行った場合，その判定基準があいまいである。そこで，ＯＫとなった行動実行時に得られたセンサデータから適当な特徴量，例えば，平均速度，加速度などを計算し，それを判定基準として判定基準データベース５１に保存しておく。
【００５１】
判定の結果ＯＫと判断された場合には用語付与手段４８が起動され，とった行動と与えられた言葉による命令の言葉データＷｄとを結合して，用語付き行動データとして用語付き行動データベース４９に蓄える。すなわち，「命令：速度を上げろ→行動：加速度α＞０」のようなデータを格納する。
【００５２】
一方，ＮＧと判定された場合には次の行動を選択実行すべく，行動選択手段４４が起動される。このとき，行動選択手段４４は先に実行したもの以外の行動を選択実行する。
【００５３】
さらに，用語が付与された行動データをＯＫと判定した判定基準に対し，その用語との対応がとれるよう判定基準データベース５１にも保存する。こうすると，ある命令がきたときにどの判定基準を用いるかが逐次学習できるので，人間に常に質問することなく判定基準が自動的に利用できるようになる。
【００５４】
図４は，本発明に係るセンサデータ処理装置を実現するためのハードウェア構成例を示す。
図１に示す情報入力装置１として例えばセンサ１１１があり，センサ信号は，計算機１１２で取得する。取得したデータおよび特徴量，用語付きデータベース６，用語未決定データベース７などは，ハードディスク等の記憶装置１１３に蓄えられる。特徴抽出，特徴分類，状況判断等の処理は，計算機１１２内で行う。状況判断結果は，ディスプレイ装置１１４や音声合成装置１１５等で人間に提示される。状況判断結果によってアクチュエータ１１６を制御する場合には，状況判断結果によって選択された制御情報により，例えば前進，後退，回転等の何らかの作業が行われる。
【００５５】
また，ディスプレイ装置１１４や音声合成装置１１５等は，用語付与時に人間に質問する際にも利用される。人間が用語を入力するときには，キーボードやマウス，音声認識装置等から入力することが考えられるが，これは，一種のセンサといえるので，これら計算機１１２への入力デバイスは，すべてセンサ１１１として示している。
【００５６】
計算機１１２は，１または複数のプロセッサ（ＣＰＵ）とプログラムや制御用のデータが格納されたメモリとから構成される。計算機１１２内に，階層型ニューラルネット等のニューロコンピュータを含んでいてもよい。
【００５７】
図５は，本発明に係る言語処理インターフェースを有する機器操作装置を実現するためのハードウェア構成例を示す。
入力装置１２１は，マイクロフォンやキーボード等の人間の命令の入力機器，さらにスイッチ等の判定の入力機器である。入力データは，計算機１２３に送られる。センサ１２２は，行動実行中の状況を測定するためのセンサであり，データは計算機１２３により取得される。
【００５８】
計算機１２３は，本発明のプログラムの実行，および入力された音声信号の処理やセンサ信号の処理を行ったり，処理結果を記憶装置１２４に記憶させたりするものである。
【００５９】
記憶装置１２４は，各種データベースおよび本発明のプログラムを格納しておくもので，ハードディスクや半導体メモリ等で構成されている。音声合成装置１２５は，行動パターンとして，音声を発するような命令がある場合に音声を発したり，人間に対して質問する場合に音声を合成し発するものである。
【００６０】
ディスプレイ１２６も同様な用途に用いたり，各種の処理を実行する途中の処理状態を表示したりするものである。機器１２７は，例えば，ロボットやアクチュエータ，エアコン等の機器であり，人間が与える命令は，これを操作するためのものである。入力装置１２１からディスプレイ装置１２６までを，機器１２７と別に設けるのではなく，人間が命令を与える機器の中にこれらのすべてを組み込むようなハードウェア構成例とすることもできる。
【００６１】
【発明の実施の形態】
以下，本発明の実施の形態を，移動ロボットに適用した例について図面を用いて説明する。
【００６２】
１．センサデータ処理装置
はじめに，本発明に係るセンサデータ処理装置について説明する。
図６は，超音波センサを持つ移動ロボットがある環境に置かれている図を示している。ここでは，超音波センサデータのみを考えるが，本発明におけるセンサデータは，同一種類のものに限る必要はない。例えば，ロボット３０の位置（Ｘ，Ｙ）やその方向θを含んだセンサデータでも構わない。この移動ロボット３０は，図１の情報入力装置１として超音波センサ３１を備えていることになる。超音波センサ３１は外周に例えば８個付いており，センサ位置からある物体までの距離を測定することが可能である。
【００６３】
この例でのロボット３０が置かれている環境は，壁３２で挟まれた廊下３３があり，廊下３３の端部に右コーナ３４，Ｔ字路３５，左コーナ３６，行き止まり３７等がある。
【００６４】
８個の超音波センサ３１を用いて，ある位置で測定したセンサの値をＵとする。Ｕは８個の距離データからなるベクトルである。ロボット３０を移動させて，あるサンプリング時間間隔で超音波センサ３１の値を測定する。
【００６５】
超音波センサ３１から得られる距離データは，廊下のような場所では左右の距離が短く，前後の距離が長いので，超音波センサ３１の出力もそのような状態になるはずである。廊下を通る間，ロボット３０は同じような状態の超音波センサデータをたくさん取得することになる。
【００６６】
図７は，超音波センサデータの一例を表している。
１から８までの各方向の物体までの距離を計測する超音波センサが８個あり，各々が１０メートルまでの距離を測定できるものと想定する。例えば，図７（ａ）に示した幅２メートル，前後２０メートルの長方形空間では，図のＡ，Ｂ，Ｃの位置に対応する超音波センサデータは，図７（ｂ）のようになる。この場合において，ロボットの半径は０．４メートルとし，超音波センサはロボットの表面に設置されているものとした。
【００６７】
次に，本発明を構成する各処理機構の具体例を詳しく説明する。
〔１〕情報入力装置
情報入力装置１（この実施の形態では，超音波センサ３１）からデータ入力があると，データは，特徴抽出手段２に送られる。特徴抽出手段２内に，もし，あらかじめ決められた特徴抽出手法が指定されているならば，それに沿った特徴抽出が行われる。特徴を抽出する前の生データは捨てられるか，または生データ保存用データベース９に保存される。時系列データから特徴を抽出するような場合もあるので，保存しておいた方が望ましく，基本的には生データ保存用データベース９に入力データを保存する。
【００６８】
〔２〕特徴抽出手段
特徴抽出手段２には，あらかじめ指定された特徴抽出手法が用意されている。この特徴抽出手段２のフローチャートを図８に示す。特徴抽出手法は二つ以上あってもよい。その場合，抽出される特徴量はべクトル量となる。Ｔ0 からＴn-1 までのｎ個の特徴量を抽出するものとすると，まずセンサデータを入力し（図８のＳ１），ｉを０に初期化する（Ｓ２）。その後，特徴量Ｔi を抽出し（Ｓ４），ｉをインクリメントしながら（Ｓ５），特徴量の抽出を繰り返して，ｉがｎになったら終了する（Ｓ３）。
【００６９】
この際，何ら特徴を抽出せず，入力されたデータそのものを特徴抽出結果とすることも考えられる。この場合には，センサデータそのものが特徴となる。ただし，保存するデータ容量が大きくなるので効率的でない。したがって，ここでは，前後の距離が長くて，左右が短いといったセンサの特徴を抽出するものとする。これには，図７における超音波センサデータの前後の距離と左右の距離の比を特徴量として用いる。この特徴量Ｔは，例えば，次式のようなものを用いる。
【００７０】
Ｔ＝（Ｕ１＋Ｕ５）／（Ｕ３＋Ｕ７）
Ｕｎは，ｎ番目の超音波センサのデータを示す。図７（ｂ）のデータを代入すると，Ａの位置における特徴量ＴA は１２．２，Ｂの位置における特徴量ＴB は１６．０，またＣの位置における特徴量ＴC は１２．２となる。十字路や広い部屋の真ん中にいるときには，前後，左右の距離がほぼ等しく，特徴量Ｔはほぼ１に近い値となる。したがって，例えばＴ＞１０というような基準で元の超音波センサデータを分類すると，ロボットが廊下にいるのかそうでないかを判断する基準となる特徴量Ｔが得られる。ここで，得られた特徴量Ｔは，特徴比較・分類手段３に送られる。
【００７１】
次に，また新たなセンサ入力が得られると，先と同じ方法で，特徴抽出が行われ，抽出された特徴量Ｔは，特徴比較・分類手段３に送られる。一方，生データは，生データ保存用データベース９に保存される。なお，特徴量についても，生データとともに生データ保存用データベース９に保存してもよい。
【００７２】
特徴抽出手段２で抽出する特徴量は，対象とするデータから得られる何らかの特性を抽出したものなら何でもよく，もし，適当な特徴量が得られない場合には，データそのものを特徴量とすればよい。
【００７３】
センサデータには，時間に依存しない静的なデータと，時間に依存して変化する時系列データがある。
時間に依存して変化しない静的なデータでは，そのデータ単一での特徴を扱う。一般にデータの特徴量は，画像などでは，画像全体に占めるＲＧＢの比率や，２値化したときの面積，画像中のエッジの数などさまざまなものが考えられる。また，前後左右の４方向にある超音波センサに対しては，先に述べたように，各々の方向での距離の比率，例えば，前後方向が左右方向に比べて長いとか，前方向のみ距離が長く，その他は距離が短いなどの前後方向対左右方向の距離比率などが特徴量として挙げられる。以上が静的データの特徴抽出方法の例である。
【００７４】
時系列データの場合には，得られたデータの時間変化を特徴量として抽出する。これには，時々刻々に得られるセンサデータの時間差分を用いる。例えば，時刻ｔとｔ＋Δｔに得られた画像間の画像全体に占めるＲＧＢの比率の差分や，２値化したときの面積の差分，画像中のエッジの数の差分などである。超音波センサからの入力についても，状態変化に着目するときには，時刻ｔとｔ＋Δｔに得られたセンサデータの差分を取る。あるいは，ロボットが移動する際の速度や加速度など（これらはすでに時間要素を含んでいる）を特徴量として用いる。
【００７５】
〔３〕特徴比較・分類手段
特徴比較・分類手段３は，大きく分けて用語付きデータベース６に登録されている用語付きのデータ群と比較する特徴比較部と，用語付きのデータ群に一致するものがない場合に用語未決定データベース７に登録するために分類する特徴分類部とからなる。
【００７６】
〔３−１〕特徴比較部
特徴比較部は，特徴抽出された特徴量Ｔi （ｉ＝０，…，ｎ−１），または特別な特徴抽出をしない場合には，超音波センサデータそのものを受け取って，それが用語付きデータベース６中のｋ個のデータ群と一致するかどうかの比較を行う部分である。ｋ個のデータ群は，それぞれｍg 個の要素を持つ。なお，ｍg は必ずしも一定の数でなくてもよい。図９は，この処理の流れを示したフローチャートである。
【００７７】
特徴の比較では，まず特徴量Ｔi を入力する（図９のＳ１１）。次に，用語付きデータベース６中のデータ群の個数ｋをカウントするループ変数ｇを０に初期化設定する（Ｓ１２）。その後，変数ｇがｋ以上になるまで（Ｓ１３），ｇを１ずつインクリメントしながら（Ｓ２１），ｉが０から（ｎ−１）までの特徴量Ｔi と，ｊが０から（ｍg −１）までの特徴量Ｔj との類似性を比較する（Ｓ１４〜Ｓ２０）。ここで，Ｔj は用語付きデータベース６中のｇ番目のデータ群にあるｊ番目の特徴量である。
【００７８】
初期化時には，用語付きデータベース６には何らデータが蓄積されていないので（ｋ＝０），比較対象がなく，比較結果は「一致なし」として，特徴量Ｔは，特徴分類部にそのまま送られる。用語付きデータベース６に何らかのデータがある場合には，特徴量同士の類似性を計算し，一致判定を行う。特徴量Ｔの類似性は，例えばその値間の距離Ｌを用いて計算する。
【００７９】
Ｌ＝（Ｔi −Ｔj ）2   （ｉ≠ｊ）
特徴量がベクトルで表されている場合には，その各々の成分ごとの距離の総和を距離Ｌとする。距離Ｌがある閾値εよりも小さければ，それらのセンサデータは「一致あり」とみなされる。「一致あり」と判定された特徴量Ｔi は，用語付きデータベース６の該当するデータ群に蓄積されるとともに状況判断手段４に送られる。「一致なし」と判定された特徴量は特徴分類部に送られる。
【００８０】
生データを用いる場合の具体的な類似性判定方法については，超音波センサのデータを例にとって説明する。超音波センサデータは８つの成分からなるベクトル量とする。まず，入力された超音波センサデータをＤ１とする。Ｄ１と類似したデータを検索するため，検索対象となるデータを一つ選択する。それをＤｔとする。Ｄ１とＤｔの類似度は，例えば，次式のような距離計算によって算出する。
【００８１】
Ｌ＝（Ｄ１−Ｄｔ）2 
距離Ｌが小さいほどそれらは類似したデータであると推定できる。超音波でないセンサデータについても同様に処理をすることができる。各種センサについても，各成分の並びを同一にすれば，同じ方法で類似性の判定が可能である。
【００８２】
［特徴量Ｔ＞α  （αは定数）］というような基準で分類されたデータ群との比較では，Ｔ＞αであるかどうかをそのまま判定すればよい。
〔３−２〕特徴分類部
特徴比較・分類手段３の特徴分類部では，ある分類基準に従って，用語未決定データベース７から特徴量Ｔに類似するものがないか検索する。特徴分類部の処理手順は，図９で示したフローチャートとまったく同じであるが，比較する特徴量Ｔj は用語未決定データベース７から選ぶこととなる。用語未決定データベース７には，何らかの特徴量によって分類されたデータ群が存在する。各データ群を構成する任意のデータについて類似性判定を行う。ここで，すべてのデータについて比較しても構わない。類似性の判定には，例えば，その値間の距離Ｌを用いる。
【００８３】
Ｌ＝（Ｔi −Ｔj ）2 （ｉ≠ｊ）
距離Ｌがある閾値εよりも小さければ，それらの特徴量は類似しているとみなされる。あるデータ群に属する任意のデータに対し，「類似している」という判定であれば，新しいデータをそのデータ群に登録する。もし，「類似していない」という判定がされると新しいデータは新たなデータ群として登録される。
【００８４】
特徴抽出をしていない生データの分類についても，特徴比較部で用いたセンサの各成分毎の距離計算によって類似性の判定が可能である。
別の分類法では，特徴量Ｔがどのような値の範囲にあるかを基準として分類する。例えば［特徴量Ｔ＞α  （αは定数）］というような基準で分類することもできる。これは，例えば速度が正なら前進，負なら後退，ゼロなら停止などと分類する際に用いる分類基準である。
【００８５】
〔４〕用語付与手段
用語付与手段５は，一定データ量に達した用語未決定データベース７内のデータ群に対し，用語を付与する手段を提供する。図１０は，用語付与手段５のフローチャートである。用語未決定データベース７内のあるデータ群は，センサデータが入力されるに従い，徐々にその構成データ数が増える。データ数がある一定量βを超えた場合，該データには適当な用語が付けられる。用語を付与するには，例えば，人間にセンサデータを示して，このようなセンサデータが示す状態（ロボットの例ではロボットのいる場所）があるが，これをどう名付けるかを聞くことにする。
【００８６】
すなわち，用語付与手段５は，図１０（ａ）に示すように，用語未決定データベース７内の１番目からｋ番目までのデータ群の要素の個数ｍg がある一定量βより大きいかどうかを調べ（Ｓ３１〜Ｓ３４），大きいものがあった場合には，図１０（ｂ）に示す質問ルーチンを起動する（Ｓ３５）。
【００８７】
質問ルーチンでは，人間が側にいるかどうかを判断し（Ｓ４１），人間が側にいない場合には処理を終了する。人間が側にいる場合には，質問を提示し（Ｓ４２），用語を入力してもらう（Ｓ４３）。入力した用語をデータ群に付与し（Ｓ４４），それを用語付きデータベース６へ登録する（Ｓ４５）。Ｓ４２の質問の提示では，例えば図１１に示すようなユーザインターフェースを用いてデータ内容を表示し，用語の入力を行う。
【００８８】
この用語の付与についてさらに詳しく説明する。用語を付与する際は，できるだけ人間が使っている言葉で用語を付けることが望ましいが，データにそのような名前を自動的に付与するには，あらかじめ装置側がそのような知識を持っていなければ困難である。そこで，図１１に示すようなユーザインターフェースを用いて装置側が適宜人間に質問を行うことで，そのデータ群に用語を付与する。
【００８９】
装置は，あらかじめ分類しておいたデータ群について，その分類基準とデータ内容を提示し，人間に用語の付与を依頼する。分類基準は，例えば，ロボットの回転スピードという特徴量Δθ／Δｔに対し，Δθ／Δｔ＞０という基準で選んだ特徴である場合，Δθ／Δｔ＞０といったものが分類基準となる。さらに，これは時系列的な特徴であることから，「これには動詞を付与するのが適当と思われます」等のアドバイスをユーザインターフェースに付与する。
【００９０】
人間は，この分類基準から，このデータに「回転する」という用語を与える。ここでは，Δθ／Δｔ＞０に対しては，より適切には「左に回転する」であるが，このとき一般に，人間には「左に」を付けた方がより適切であるとは思い付かない。この後，Δθ／Δｔ＜０という分類基準が提示されたときには，「回転する」という用語を再び付けようとする。しかし，この「回転する」という用語はすでに別のデータに付与されているので，装置は，これはすでにΔθ／Δｔ＞０という特徴を持つデータに付いていますというアドバイスを提示することによって，人間にΔθ／Δｔ＞０とΔθ／Δｔ＜０という２種類のデータ群があることを示唆することができる。この時点でΔθ／Δｔ＞０に対しては，「左に曲がる」，Δθ／Δｔ＜０に対しては，「右に曲がる」のようにより厳密な用語を付与することができる。
【００９１】
さらに，装置は，これら二つの用語に人間が同一の用語を付与しようとしたことが分かるので，これらの間に何か関係がありそうだと推論できる。そこで，装置は，さらにこれらのデータ群をまとめる用語を付与するかどうかを質問することが可能である。しかもこのとき，人間は，最初二つの異なるデータ群に対し「回転する」という用語を付与しようとしたので，これがこれらのデータ群に対する共通の用語だと推論できることとなる。そこで，装置は，「これらに『回転する』という用語を付与しますか？」と質問することができる。人間がこれらの質問にＯＫを答えれば，これら二つの用語に「回転する」という用語が付与される。ＯＫしないなら，別の用語付与を求める。
【００９２】
以降，この二つのデータ群を特定するための分類基準は，Δθ／Δｔ＞０とΔθ／Δｔ＜０となる。
人間に聞けない場合には，まず適当な符号を付与しておいて，あとで必要に応じて人間に尋ね，あとから改名する。側に人間がいない場合，適当な用語を装置が勝手に付与しておく。もちろんこの場合，何の用語も付与しないというのでも構わない。側に人間がいるかどうかは，質問を発してからの経過時間で判断したり，赤外線等のセンサを利用して人間の存在を確認することができる。
【００９３】
次に，人間が側にいることがわかった場合には，前に質問できなかったデータ群に対する用語付与の質問を起動し，人間に用語を付与してもらう。
用語を付与されたデータ群は，用語未決定データベース７から用語付きデータベース６に移動し，保存される。また，生データ保存用データベース９に保存されている生データに対しては，それがどのデータ群に属しているかがわかるような符号が付けられる。
【００９４】
以上のようにして，取得された特徴量は，用語を付与されたデータベースに逐次分類，登録されることとなる。
用語を付与する際に，適当なユーザインターフェース等を用いて，用語を付与するが，そのときデータの特徴に応じて「名詞」，「動詞」，「形容詞」等を付ける。以下はその際の基準を示す。
【００９５】
（１）名詞の付与
物の名前はあるものの静的な状態を表すものであるので，名詞は，静的な特徴量に基づいて分類されたデータ，すなわち時系列でないデータに付けられる。
【００９６】
（２）動詞の付与
動詞は，時間的に変化するものや動作を表すものであるので，時系列の特徴量に基づいて分類されたデータに付けられる。
【００９７】
（３）形容詞の付与
形容詞は，ある特徴に対して，その量や性質を述べたものである。すなわち，動作が速いとか，量が多いなどである。したがって，ある特徴量があってその性質の違いを記述する場合には形容詞を用いる。ここで，ロボットが移動する場合を考えてみる。このとき，ΔＤｉｒ／Δｔが並進の特徴量を表すことにする。ある一つのセンサ信号系列から得られるΔＤｉｒ／Δｔが別のセンサ信号系列から得られるΔＤｉｒ／Δｔよりも大きい場合，前者は後者よりも速度が「速い」と名付ける。逆に後者は，前者よりも「遅い」と名付ける。また，ある一定の閾値を設け，この値よりもΔＤｉｒ／Δｔが大きいときには「速い」とし，遅いときには「遅い」と用語を与えてもよい。
【００９８】
さらに，ファジィ理論を用いて用語を付与することもできる。この場合，「速い」，「普通」，「遅い」に対応するメンバシップ関数を定義し，その度合いによって付与する用語を決める。このとき，特徴量はΔＤｉｒ／Δｔだけでなく，メンバシップ関数の定義も特徴量として加える。
【００９９】
〔５〕状況判断手段
状況判断手段４は，判定中の特徴量とそれが一致する用語付きデータベース６のデータ群に付けられた用語を参照し，その内容によって現在の状況を判断する。例えば，「廊下」の用語を持つデータ群を参照し，現在の特徴量が「廊下」に一致すると判断した場合，状況を「廊下」にいると判断する。すなわち，入力データの判断を，用語付きデータベース６にあるデータと比較することによって行い，さらにその用語データに付けられた名前を用いて入力データの状況を判断する。
【０１００】
図１２は，状況判断手段のフローチャートを示したものである。
用語付きデータベース６から一致した特徴量リストのデータ名（用語）を取得する（Ｓ５１）。取得したデータ名で現在の状況を表し（Ｓ５２），状況を表示する（Ｓ５３）。必要に応じて状況に応じた処理を行う（Ｓ５４）。例えばロボットの超音波センサから得たデータの特徴量が「左コーナ」であれば，「左へ９０度回転した後，前進。」というような制御を行う。
【０１０１】
〔６〕データ群削除手段
ある期間経過後，用語未決定データベース７に蓄えられたデータのうち，一定期間を経過しても所定のデータ数に達しないデータは，何らかの原因，おそらくノイズ等によって大きな誤差を含んだデータである可能性が高い。そのようなデータは，用語を付与するほどの信頼性を持ったデータとは言い難いので，削除する。これをデータ群削除手段１０が行う。あるいは，何らかの特異な性質をもつデータかもしれないので，このような際には，データは削除しなくてもよい。
【０１０２】
〔７〕生データ保存用データベース
図１３は，生データ保存用データベースが保存するデータ形式の例を示す。
生データ保存用データベース９は，情報入力装置１から得たデータをそのまま保存しておくためのデータベースで，例えば図１３に示すように，システムが自動的に付与するデータの識別番号，データの取得時刻，センサの種類，データの内容が格納される。また，この例では，特徴量の種類と特徴量も生データ保存用データベース９に格納されるようになっている。センサデータが時系列の場合にも，同様にデータの識別番号，データの取得時刻，センサの種類，データ内容が格納される。また，特徴量の種類，特徴量についても同様に保存しておくことができる。
【０１０３】
〔８〕用語未決定データベース，用語付きデータベース
図１４（ａ）は，用語未決定データベースのデータ形式の例を示す。
用語未決定データベース７には，分類されたデータ群（グループ）の識別番号，グループに属するデータ数，グループに付けられた仮の用語，用語の仮の品詞，分類基準となる特徴量の種類，分類基準およびこのグループに属するデータの識別番号が格納される。グループに付けられる仮の用語およびその用語の仮の品詞は，装置がセンサまたはデータの状況によって自動的に付与する。
【０１０４】
図１４（ｂ）は，用語付きデータベースのデータ形式の例を示す。
用語付きデータベース６には，用語未決定データベース７のデータのグループに対して用語付与手段５が用語を付与したものが登録される。データ形式は，用語未決定データベース７と同様であるが，仮の用語，仮の品詞ではなく，用語付与手段５によって付与された用語，品詞の情報を持つ。
【０１０５】
〔９〕階層型ニューラルネットを用いた実現例
次に，階層型ニューラルネットを用いて特徴抽出を行う例について説明する。特徴抽出手段２は，汎用のプロセッサを用いて実現することもできるが，以下のように階層型ニューラルネットのニューロコンピュータを用いて実現することもできる。
【０１０６】
図１５は，５層のニューラルネットを用いて，特徴抽出する方法を示したものである。
この階層型ニューラルネットには，入力と出力が同じ値になるように教師データを与えて学習させる。すなわち，恒等写像を学習させる。図６に示した８個の超音波センサからなるロボット３０では，超音波センサからの８個の値をニューラルネットへの入力とし，この入力とまったく同じ８個の超音波センサの値を教師データとして，入力と出力の値が常に同じになるように学習させる。このとき，ニューラルネットのある中間層の出力をそのデータの特徴量とする。
【０１０７】
ニューラルネットの各ユニットの出力値は，±１の範囲になるように調節してある。ここでは，３層目の出力を用いることとする。中間層は複数ある場合が一般的なので，特徴量としては，それらの出力のベクトルとなる。図１５の例では，３層目の出力ユニットは，二つにしてあり，この各々のユニット（ｕｎｉｔ０，ｕｎｉｔ１）の出力を特徴量とする。特徴量の類似性は，前述した距離Ｌで求める。
【０１０８】
図１６は，図６における移動ロボットがさまざまな廊下（１２種類：（Ａ）〜（Ｍ））に置かれた場合の状態を示している。また，図１７は，ロボットに搭載された８個の超音波センサの値を示している。
【０１０９】
図１７に示す１２種類のデータを，図１５のニューラルネットに学習させ，第３層の中間層の出力値を，ｕｎｉｔ０を横軸，ｕｎｉｔ１を縦軸にとってプロットしたものが図１８である。図１８を見ると，１２種類のセンサデータが適当な位置に分散していることがわかる。したがって，各点からの距離を，例えば０．２としてその範囲内にあるデータを分類することができる。そのときの各ユニットの出力値は，図１９に示した通りである。
【０１１０】
図２０は，ロボットを，図６に示した廊下の範囲内で適当に移動させ，その時の超音波センサデータを取得して，すでに学習済みのニューラルネットに入力したときの第３層の出力を図１８と同様にプロットしたものである。学習データに対応する出力は黒丸（●）で，新たに分類したデータは菱形（◇）で示してある。この結果，分類対象のデータは，一部のデータを除いて，０．２という距離内にあることがわかる。したがって，学習したデータに付けられた名前，例えば，（Ａ）なら「十字路」，（Ｂ）なら「廊下」といった名前による状況判断ができる。
【０１１１】
この実施の形態の場合には，用語付きデータベース６に入るべきデータ（最初の１２種類のデータに相当）をあらかじめ人間が指定し，その用語にも名前を付けてあるので，効率的な用語設定と状況判断が可能である。
【０１１２】
〔１０〕時系列データを特徴量として用いる場合の例
次に，時系列データを特徴量として用いる場合の実施の形態を，移動ロボットの移動時における例に基づいて説明する。移動ロボットは通常，前進後退と回転（操舵）の２種類のモータを有することが多い。この２種類のモータにその回転を検出できるセンサ，例えばエンコーダを備えているものとする。このとき，ロボットに移動命令を与えて移動させ，その移動中にロボットの位置を逐次測定する。
【０１１３】
前進後退用のモータが回転するとエンコーダの値も変化するので，この変化する状態を検出する。すなわち，特徴抽出手段２で，エンコーダの変化の状態を特徴量として抽出する。この特徴量は，前進後退の方向によって，前進がプラス，後退がマイナスとなるようにすることができる。また，その変化の割合，すなわち速度も特徴量として検出できる。つまり，ここで検出した特徴量は，速度とその符号である。
【０１１４】
これらを特徴比較・分類手段３に送る。用語付きデータベース６を参照して速度に関するデータ群との比較を行い，符号がプラスかマイナスかによって前進，後退という用語が選択できるように用語を付与しておく。こうすれば，状況判断時に前進するとか後退するといった状況判断が可能である。
【０１１５】
具体的に説明する。ロボットの位置データは，ロボットが移動するにつれて変化するので，時系列的に得られる。得られたデータ群をＳ１，... Ｓｎとすると，これらは，ある時間間隔Δｔにおいて得られた時系列データである。このとき，各データ間の差分ΔＳを考える。
【０１１６】
ΔＳi ＝（Ｓi −Ｓi-1 ）／Δｔ    ｉ＝１，... , ｎ
ΔＳi は，ロボットがΔｔの間に位置がどれだけ変化したかを表す。これを特徴量として，先のデータ分類法に従ってデータを分類する。位置データにロボットの姿勢も考慮し，Ｓの成分をｘ，ｙ，θとする。ｘ，ｙは２次元平面内の移動量を表し，θはロボットの回転量を表す。ΔＳは，θだけが変化するような場合には，回転している状態を意味し，ｘ，ｙだけが変化するような場合には，並進運動をしていることを意味する。すなわち，類似データをΔθ＞０というような基準で選択すると，これは，左回転中と判断でき，そのデータ集合に対して用語を例えば「左に曲がる」と命名する。Δθ＜０なら「右に曲がる」とする。
【０１１７】
次に，Δθ＝０の場合を考える。このとき，ロボットの進行方向は，Ｄｉｒ＝ＡＴＡＮ（ｙ／ｘ）で表され，ΔＤｉｒ＞０なら，ロボットは「前に進む」状態にあり，ΔＤｉｒ＜０なら，ロボットは「後ろに進む」状態にあると判断できる。Δθ＝０，Δｘ＝０，Δｙ＝０なら，ロボットは停止中，両方ともある値を持つならロボットは並進しながら，回転しているという状態，つまり，カーブを曲がっていることになる。
【０１１８】
以上のような方法で，データ間の類似度を計算し，類似性があると認められる場合には，それぞれのデータにある種のフラグを付ける。このフラグは後から検索したときに，それらのデータが同じグループに属することがわかるような形で付けておく。類似性が認められない場合には，最初に得られた特徴量とは別のフラグを付ける。
【０１１９】
このようにして，センサ入力がある度に特徴抽出を行って，その特徴を分類し保存する。
以上，主として本発明を移動ロボットに適用した例について説明したが，もちろん，本発明は移動ロボットに限らず，センサからの入力によって何らかの処理または判断を行うシステムに，同様に適用することができる。
【０１２０】
２．言語処理インターフェースを有する機器操作装置
続いて，本発明に係る言語処理インターフェースを有する機器操作装置について，図２１を用いて説明する。
【０１２１】
ここでは，移動ロボットに「速度を上げろ」という命令を人間が言葉で与える場合の処理を例にとって説明する。
人間が発した言葉は，マイクロフォン等の入出力装置４０で音声データが収集され，計算機に送られる。計算機では，入力処理手段４１がそのデータを処理する。音声データの場合は，その音声の特徴，例えば音声の帯域別パワースペクトルや声紋などを言語データベース４２に記録する。この記憶したデータ名をＷｄとする。Ｗｄは，用語付き行動データベース４９に蓄えられた行動データと比較される。
【０１２２】
比較は，声紋であればその声紋の類似度を声紋間の距離などを用いて行う。比較の結果，一致するものがないかまたは用語付き行動データベース４９内にデータがない場合には，行動選択手段４４が起動される。一致するものがあれば，用語付き行動データベース４９から用語を選択し，結合された行動を実行する。
【０１２３】
例えば，「速度を上げろ」という命令に一致する行動が加速度α＝１［メートル毎秒毎秒］だとするとこの行動が選択され，実行され，速度が徐々に増大する。比較の結果，一致するものがなかった場合，行動選択手段４４が起動され，行動データベース４5 に蓄えられた行動データ，例えば加速度α＝−１［メートル毎秒毎秒］，加速度α＝０［メートル毎秒毎秒］，加速度α＝１［メートル毎秒毎秒］などから適当な行動が選択される。
【０１２４】
選択方法は，行動データベース４５中の行動データを最初から順に選んでもいいし，ランダムに選んでもよい。ここでは，記述された行動データの最初から順に選ぶものとする。まず，加速度α＝−１［メートル毎秒毎秒］が選択される。この行動を実行すると，移動ロボットは，速度が遅くなるか後ろ向きに進んでしまう。これは，人間が与えた命令「速度を上げろ」に反するので，人間の判定は，ＮＧを入力する。ＮＧが入力されたので，行動は中止され，新しい行動開始前の状態に戻すか，動作を停止する。さらに，行動選択手段４４では，先の行動とは異なる命令，加速度α＝０［メートル毎秒毎秒］を選択し，実行する。これは速度が一定となり，人間が与えた命令「速度を上げろ」に反するので，人間の判定では，ＮＧを入力する。ＮＧが入力されたので，次の行動が再度選択される。加速度α＝１［メートル毎秒毎秒］が選択され，実行されると速度は徐々に上がるので，今度は，人間の判定がＯＫとなる。
【０１２５】
ＯＫとなった行動，加速度α＝１［メートル毎秒毎秒］と与えられた命令「速度を上げろ」は，用語付与手段４８によって結合され，「命令：速度を上げろ→行動：加速度α＝１［メートル毎秒毎秒］」のようなデータ，あるいはデータ名Ｗｄを使って，「命令：Ｗｄ→行動：加速度α＝１［メートル毎秒毎秒］」として，用語付き行動データベース４９に保存される。
【０１２６】
以上の手順で，命令「速度を上げろ」と正しい行動「加速度α＝１［メートル毎秒毎秒］」が結合できる。
「速度を上げろ」という命令に類似しているが，言葉が異なる命令，例えば，「もっと速く」が命令された場合の処理を説明する。現在，用語付き行動データベース４９には，「命令：速度を上げろ→行動：加速度α＝１［メートル毎秒毎秒］」というデータが格納されているものとする。「もっと速く」という命令が与えられるとデータ比較が行われるが，一致するデータはないので，行動選択が行われる。この時，α＝−１から始まって，順に判定が行われ，結局，α＝１でＯＫの判定が得られるはずなので，命令「もっと速く」もα＝１に結合され，用語付き行動データベース４９には，「命令：もっと速く→行動：加速度α＝１［メートル毎秒毎秒］」が格納される。これで，用語付き行動データベース４９は，２つの命令を記憶したことになる。
【０１２７】
一方，「回転せよ」といった命令を与えた場には，行動データベース４５に回転に関する行動パターンがない場合には，すべての行動を試しても，良い判定は得られない。この場合は，加速度をいろいろ変えたあと，結局，うまく行かないので，質問手段５２を介して人間に質問を発する。例えば，「適当な行動がありません。適切な行動を指示してください」といった質問を発する。
【０１２８】
このとき，人間は，回転速度＝１rad/s というような行動パターンを行動データベース４５に追加することによって，この質問に対処できる。
また，行動実行時の速度データをセンサ５０によって取得しておき，その変化パターンを行動と一緒に，またはセンサデータのパターンのみを命令と一緒に用語付き行動データベース４９に保存してもよい。この場合，ある命令を与えた場合に，命令に一致する行動のセンサデータのパターンを人間に提示することによって，どのように機器の状態が変化するかわかるので，人間が安心して命令を与えられる効果がある。
【０１２９】
以下，このようにして，順次命令を与えていくと，速度の増減に関するさまざまな用語と行動の関係が構築でき，人間が発するさまざまなパターンの命令に対処できるようになる。
【０１３０】
各手段は，次のように処理を行う。
図２２は，比較手段４３のフローチャートである。
比較手段４３は，用語付き行動データベース４９中に，入力した用語と未照合の用語付きデータがない場合，すなわち以下のステップＳ６３，Ｓ６４で照合した結果，入力した用語と一致する用語付きデータが得られなかった場合（Ｓ６１），行動選択手段４４を起動して行動選択処理を依頼する（Ｓ６２）。用語付きデータベース４９中に未照合の用語付きデータがある場合には，用語付き行動データベース４９から未照合の用語（命令）を選択し（Ｓ６３），入力した用語と一致するかどうかを調べる（Ｓ６４）。用語が一致するならば，行動実行手段４６を起動して行動実行処理を依頼する（Ｓ６５）。用語が一致しないならば，ステップＳ６１へ戻り，照合を繰り返す。
【０１３１】
図２３は，行動選択手段４４のフローチャートである。
行動選択手段４４は，これまでの行動の選択回数が，あらかじめ定められた指定回数になったかどうかを調べ（Ｓ７１），指定回数になったならば，ステップＳ７３へ進む。まだ，指定回数になっていなければ，行動データベース４５に未実行行動データがあるかどうかを調べ（Ｓ７２），ない場合にはステップＳ７３へ進む。ある場合には，ステップＳ７６へ進む。
【０１３２】
選択回数が指定回数になるか，行動データベース４５中の行動をすべて実行した場合には，質問を発行するかどうかを判断し（Ｓ７３），質問を発行するならば質問手段５２を起動して質問処理を行い（Ｓ７４），質問を発行しないならば終了する（Ｓ７５）。
【０１３３】
一方，選択回数がまだ指定回数にならず，行動データベース４５中に未実行行動データがあれば，未実行の行動を選択して（Ｓ７６），その行動の実行済みフラグをＯＮにする（Ｓ７７）。次に，選択回数をプラス１して（Ｓ７８），行動実行手段４６を起動し，選択した行動の実行を依頼する（Ｓ７９）。
【０１３４】
図２４は，判定手段４７のフローチャートである。
判定手段４７は，判定基準データベース５１中に判定基準があるかどうかを調べ（Ｓ８１），判定基準があれば，判定基準データベース５１から判定基準を抽出し，その判定基準と照合する（Ｓ８２）。判定基準がなければ，判定入力手段５３からの判定入力を待つ（Ｓ８３）。
【０１３５】
判定基準の照合または判定入力の結果，判定がＯＫならば（Ｓ８４），用語付与手段４８を起動して用語付与処理を依頼する（Ｓ８５）。判定がＯＫでなければ，行動選択手段４４を起動して行動選択処理を依頼する（Ｓ８６）。
【０１３６】
【発明の効果】
以上説明したように，本発明によれば，センサデータの処理について，センサからの入力データを分類し保存する機構と，これらの分類されたデータ群に適当な用語を与える機構を有することで，得られたセンサデータからその場の状況や状態を正しく判断することが可能となる。また，膨大なデータを効率よく簡略化して記憶し，状況判断が必要になったときに取り出して比較できることから，よりよいデータの利用技術を提供することが可能となる。
【０１３７】
また，本発明によれば，人間が与える言葉による命令について，それにふさわしい行動パターンを選択実行する機構とそれらを結合記憶する機構を有することで，人間のさまざまに変化する命令を吸収でき，しかも，人間にとって，わかりやすいインターフェースを堤供できることから，よりよい言語処理インターフェースを有する機器操作装置を構築することが可能となる。
【図面の簡単な説明】
【図１】本発明に係るセンサデータ処理装置の構成例を示す図である。
【図２】本発明に係る言語処理インターフェースを有する機器操作装置の構成例を示す図である。
【図３】本発明に係る言語処理インターフェースを有する機器操作装置の構成例を示す図である。
【図４】本発明に係るセンサデータ処理装置を実現するためのハードウェア構成例を示す図である。
【図５】本発明に係る言語処理インターフェースを有する機器操作装置を実現するためのハードウェア構成例を示す図である。
【図６】超音波センサをもつ移動ロボットがある環境に置かれている例を示す図である。
【図７】センサデータの一例を示す図である。
【図８】特徴抽出手段のフローチャートである。
【図９】特徴比較・分類手段のフローチャートである。
【図１０】用語付与手段のフローチャートである。
【図１１】用語付与手段のユーザインターフェースを示す図である。
【図１２】状況判断手段のフローチャートである。
【図１３】データベースのデータ形式例を示す図である。
【図１４】データベースのデータ形式例を示す図である。
【図１５】ニューラルネットを用いた実施例を示す図である。
【図１６】センサデータの特徴分類例を示す図である。
【図１７】センサデータ例を示す図である。
【図１８】ニューラルネットによる学習例を示す図である。
【図１９】用例データ例を示す図である。
【図２０】ニューラルネットによる分類結果を示す図である。
【図２１】本発明に係る言語処理インターフェースを有する機器操作装置の実施の形態を説明する図である。
【図２２】比較手段のフローチャートである。
【図２３】行動選択手段のフローチャートである。
【図２４】判定手段のフローチャートである。
【符号の説明】
１  情報入力装置
２  特徴抽出手段
３  特徴比較・分類手段
４  状況判断手段
５  用語付与手段
６  用語付きデータベース
７  用語未決定データベース
８  データ群
９  生データ保存用データベース
１０  データ群削除手段
４０  入出力装置
４１  入力処理手段
４２  言語データベース
４３  比較手段
４４  行動選択手段
４５  行動データベース
４６  行動実行手段
４７  判定手段
４８  用語付与手段
４９  用語付き行動データベース
５０  センサ
５１  判定基準データベース
５２  質問手段
５３  判定入力手段
５４  判定基準作成手段
【図１】
0003884160.tif 000002
【図２】
0003884160.tif 000003
【図３】
0003884160.tif 000004
【図４】
0003884160.tif 000005
【図５】
0003884160.tif 000006
【図６】
0003884160.tif 000007
【図７】
0003884160.tif 000008
【図８】
0003884160.tif 000009
【図９】
0003884160.tif 000010
【図１０】
0003884160.tif 000011
【図１１】
0003884160.tif 000012
【図１２】
0003884160.tif 000013
【図１３】
0003884160.tif 000014
【図１４】
0003884160.tif 000015
【図１５】
0003884160.tif 000016
【図１６】
0003884160.tif 000017
【図１７】
0003884160.tif 000018
【図１８】
0003884160.tif 000019
【図１９】
0003884160.tif 000020
【図２０】
0003884160.tif 000021
【図２１】
0003884160.tif 000022
【図２２】
0003884160.tif 000023
【図２３】
0003884160.tif 000024
【図２４】
0003884160.tif 000025