2023年4月
            1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30            

カテゴリー

ブログパーツ

無料ブログはココログ

ABCは知ってても

人間と"対話"出来るロボットを作るには

2014年3月 3日 (月)

ことばでロボットを動かすこと

ABCは知ってても:

プラクティカルな他のカテゴリと違い、考えを積み重ねるこのカテゴリは、なかなかブログにまとめる体にはなりません。
最初は、ある程度まとまったらブログに落とそうと思っていましたが、そうは簡単にまとまるものではないですね。論文でいえば、いまだに参考文献の読み込みをしながら、ぼんやりとしたイメージをノートに書き散らしているような段階です。

とはいえ、備忘録として書いているブログですから、この辺で「ロボットを言葉で動かす」ことについて、考えたことをまとめておきます。

最もシンプルなモノは、80年代のロボットおもちゃ「キクゾー」のように、単語と動作を結びつけるものでしょう。
Dscn0654_2

これは、モーターひとつで、前後左右に動いたり、小さなものを持ち上げたりするという、傑作おもちゃです。これまた興味深いシンプルな音声認識で、「前進」などの単語を認識出来ます。
命令をアクションに割り当てる方式です。リモコンのボタンに単語が割り当ててあると考えられます。そのため、「前進」で登録したのを忘れてしまい、「前へすすめ」なんて言うと、当然、動きません。

これでは融通が効きません。もう少し良さそうなのはSTT(Speech To Text)で音声を文書化し、形態素分析とロジックで命令の意味を解析する方式です。ネットタンサーではこの方式で、音声認識センサーを実現していました。

しかし、これで問題が解決する訳ではありません。話し言葉では「ああ」とか「えっと」などの意味の無い言葉が入りがちですし、「えっと前進。前へ4メートル‥‥いや3メートル」のように、きちんとした文法にならないことが多いようです。これを理解するソフトは結構大変なのではないでしょうか。

大学入試に挑戦する人工知能というのが話題になっていますが、文脈の理解という点では、理解されることを目的とした入試問題文と、何気なく発せられた話し言葉では、後者の方がずっと難しいのではないかと思います。

例えば先ほどの例では、ロボットが「3メートルですね?」と確認を求めるのが良さそうです。
これが、話し言葉を理解するには、一方通行の「音声認識」ではなく、人間との対話で情報を確定する、「対話による認識」が必要になると考える所以です。


2013年6月22日 (土)

対話型知能ロボットを考える

ABCは知ってても

今回は対話ロボットについて考えてみます。今回のロボットも自律型ですから、構成は前回のものと良く似た形になります。

Photo

前回の図の「外部環境」のところに、カワイイ女の子のイラストがあります。これが「対話対象」です。ロボットはこの子と対話する訳です。

対話ロボットにも、もちろんのことミッションがあります。現在は、チケットを予約するとか道案内をするとかの情報型のミッションが多いのですが、対話で教示する作業ロボットのようなものも、これからの研究テーマになってくるものと思います。

前回同様、ロボットは相手を「観察」し、「人間の応答モデル」を使って、相手に適切な情報を「情報発信」します。このモデルは、例えば「おはようと挨拶をしたら、どのような反応が観察され、それぞれの反応はどういう意味か」のようなデータを集積したものです。これは、相手がどんなロジックで応答してくるかを記述したものといえるでしょう。もちろん、ロボットの観察の能力には制限がありますし、そもそも人間の思考ロジックの解明は出来ていない訳ですから、このモデルはかなり制約のあるものになると思います。

単純な物理現象を相手にする、作業ロボットと異なるのは、ロボットが対峙する人間もまた、ロボットの応答モデルを持っていて、これを使って反応してくるということです。
人間は「このロボットにこんなふうに話しかけたら、こういう反応をするのではないか」という予見をもってロボットに接し、ロボットが想定内の反応を示すことを期待するという傾向があるようです。そのとおりになると、コミュニケーションが成立していると感じ、トンチンカンな反応には不快感を感じます。さらに、トンチンカンな反応の比率が高いと、対話することにストレスを感じるようになります。

これに関して、もう一つ重要なことがあります。図を見ると、「観察」と「情報発信」の矢印が、人間側で太くなっています。これは、人間のその能力がロボットに比べて高いことを示しています。例えば、人間はロボットの姿形から相手の機能を推し量ることが出来ます。この図のような人間型ロボットなら、人間のように応答することを期待し、イヌ型のロボットなら、イヌのような応答を期待します。また、対話プロセスでも、テキスト情報のみに頼るのではなく、声の調子やテンポ、あるいは表情なども相手の発信ステータスとして活用するのは、誰しも心当たりのあることだと思います。

現在のところ、発表されているさまざまな対話ロボットを見ても、対話相手の「観察」能力は十分では無いように思います。まして、僕のようなアマチュアが製作するロボットではなおさらです。そのような制限のもと、対話ロボットが成功するかどうかは、このような人間側の特性を、理解し、上手に利用することが重要なのかもしれません。ロボット製作者はまさに「相手の立場に立って」ロボットをデザインする必要がある訳です。


2013年6月 6日 (木)

知能ロボットを考える

ABCは知ってても

何かを始める前に、「知能ロボット」についておさらいしておきましょう。知能ロボットだけではイメージがはっきりしないので、ここでは自律的に何らかの作業をする「自律作業ロボット」について考えてみます。

シェーキーの製作を通して、自律作業ロボットについて色々検討した事柄を、キーワードの相関図としてまとめたのがこれです。
1

左上の女の子がロボットのユーザーで、ロボットに「ミッション」を与えます。「ミッション」とはロボットが行う作業で、平文による音声指令のような高度なものから生のプログラムまで、様々な形で与えられます。「ミッション」の内容も、ロボットの性能によって、”ネコを探して連れてくる”といった難しいものから、”x=100,y=200の位置まで移動する”という単純なものまで、こちらも様々なものが考えられます。

右下が「ロボット」(これはアルデバランのNAO)です。ロボットは、この図のような生活空間とか、あるいは未知の惑星のどこかとかの「外部環境」の中に居て、「外部環境」を「操作」することが出来ます。
この「操作」というのは、外部環境の別の場所に移動したり、他の物体を移動させたりすることで、「外部環境」の状態を変えることを意味します。

同時にロボットは、センサで環境の状態を「観察」します。例えばシェーキーでは、ロボットの周囲を見渡せる測距センサで、周囲の物体までの距離を計測しています。これなどはかなり単純な例で、観察というより測定というべきでしょうが、実際のロボットでは、複数のセンサの読み出し値から総合的に環境の情報を引き出したりするコトも多いので、ここではあえて「観察」という言葉を使っています。

さて、いよいよ「人工知能」の周りを見ていきましょう。
人工知能は、簡単に言えば、ミッションを実行するためのコンピュータプログラムと考えることが出来ます。これはどのような作り方をしてもよい訳ですが、多くの人工知能に共通する仕様があります。それは「環境モデル」を利用するということです。

「環境モデル」とは、ロボットの周囲の環境の「観察」結果を、人工知能が利用可能な形に数値化したものです。シェーキーのマップは、極めて単純な環境モデルです。シェーキーはこのマップを元に移動計画を立てています。
このように環境モデルとは、現実世界を抽象化、記号化し、プログラムで扱いやすくしたものです。環境モデルの構築方法には、宇宙ロボットのように、ロボットが一から環境モデルを構築する場合と、あらかじめ用意されたモデルを、ロボットが手直しして使用する場合があるようです。

環境モデルと関連したキーワードとして、ロボットの「知識」があります。これは人工知能が環境モデルを評価するために必要です。例えば、マップから最短の移動パスを見つけるには、どこが通れてどこが通れないのかという判断をする必要があります。この判断のベースになるのが「知識」です。
「知識」というと、問題解決の情報を集めたデータベースみたいなものを思い浮かべますが、もっと素朴な知識も必要とされます。例えばシェーキーの知能は「障害物のあるところは通れない」という知識をベースにしていますが、これは、プログラムを作る際に、アルゴリズムの形で、プログラムに埋め込まれてしまっています。
先の例はあまりに素朴なので、プログラムに埋め込む形で実装することができました。しかし、実際の環境はそれほど単純ではなく、ドアのような「通れる障害物」だってある訳で、数多くの知識を持つ必要があります。そうなるとプログラムに埋め込むのはかなり困難で、何らかの形で、人工知能本体とは切り離す仕組みが必要になるのではないでしょうか。

ざっとですが、知能ロボットについて考えてみました。次回はこれをもとに、人間と対話する知能ロボットについて考えてみます。

2013年3月23日 (土)

新しいカテゴリーです

ABCは知ってても:プロローグ

新しいカテゴリーを始めます。このカテゴリーでは、「言葉」を使って人間とコミュニケーションをとるロボットについて投稿していきます。

ロボット作ろう」のカテゴリーでは、知能ロボット"Shakey"の模型を作りながら、移動ロボットの原理をおさらいしてきました。当初の目標は完全には達成できていませんが、移動ロボットの基礎である、オドメトリやマップの作成といったところはモノになったと思います。あくまでも「模型」レベルではありますが。
ROSに手を出したことでもありますし、シェーキーはこれからもぼつぼつ進めていくつもりです。

シェーキーの人工知能のプランの中に「チャットウィンドウでの対話」というのがありますが、コレから生まれたのがこのカテゴリー「ABCは知ってても」です。

シェーキーの計画では「窓側に行って猫を探せ」というような命令を文章で入力すると、人工知能がそれをロボットの行動計画に翻訳し実行するようにしたいと思っていました。相当な難題です。シェーキーの作業の進行状況では、いつまでたっても取っ掛かれなさそうにないので、独立したプロジェクト(大げさですが)にしてしまおうという訳です。

このプロジェクトでは機械と人間が言語を使ってコミュニケートする技術を扱います。これはなかなかの難題であり、コンピュータ黎明期から連綿と続く研究テーマの一つです。1959年刊行のソ連の科学啓蒙書「電子頭脳の時代」にも、翻訳機や文章の自動作成、はては電子計算機による作詩の試みまでが、かなりのページをさいて紹介されています。
Dscn2547


頂点に「チューリングテスト」を掲げるこの難しいテーマに、アマチュアレベルで挑戦しようという訳ですから、どんな展開になりますことやら。
もちろんこのカテゴリーのタイトルは、トモエのそろばんではなくてアレからいただいてます。