複数対象への音声入力による行動指示 ~個別行動から共同行動への研究~ 情報理工学部 情報知能学科 H207012 植杉直也 H207039 鈴木聡史 H207047 竹内祥貴
研究背景 多くのアプリケーションが開発されているにも関わらず、なぜか音声入力によるものが少なく感じられた また、この研究を進めて行く中で、複数の対象に音声入力して指示することは出来ないだろうか、とも考えた
研究目的 音声認識によって、コンピュータへの指示効率を高めること コンピュータが作り出す仮想空間(ひいてはリアルな空間)に位置する複数の対象(エージェント)に対して行動指示を出せるようにすること 我々は、これらを実現する「音声認識による」「複数対象に行動指示を行える」システムを製作することにした
システムの説明 共同行動を達成するための前提として、エージェント単体に対する命令が正確に行えることを確認する必要があると考えた 個々のエージェントに対しても、共同行動させるべく複数のエージェントに対しても、行動指示できるようにした
システムの概要 音声入力 解析 画像描写
実行画面の説明
可能な行動 現在、以下の行動が可能である。 ・目的物の場所に移動する ・目的物を持つ(エージェントと共に移動可能にする) ・目的物を持って移動する ・目的物をエージェントがいる場所に置く(「持つ」状態の解除)
可能な命令 ・エージェントに特定の行動をさせる ─ 赤丸はAに行け ─ 青丸は右に3メートル進め ─ 赤丸はAを取って ・複数のエージェントに指示を出す ─ 赤丸と青丸はAへ行け ─ 赤丸と青丸はAとBに行って
実行画面動画
システムの構造
音声入力部 音声認識手段としてJulianを使用する システム起動と同時にJulianが起動し、Julianはバックグラウンドで常に音声を処理していて、エージェントが行動していない時にだけ、処理した発話を文字化してシステムに渡す
記述文法規則 単語辞書と文法規則を使い音声認識を行う。 ・単語辞書 認識できる単語の一つずつに対し、発音と属性を与える ・文法規則 どのような単語がどの順番で現れるかという文のパターンの規則
解析部 Julianは発話を認識して、認識された発話を 文字化した文が<s> と </s>で挟まれている その形でシステムが受け取る 最初に単語ごとに文を区切る 例)<s>赤丸はAへ行け</s> ↓ 変換後) [“<s>”,“赤丸”,”は”,”A”,”へ”,”行け”,”</s>”] 配列形式で単語を分ける
グループ化 単語に分けたのち目的語と主語の単語をグループ化する。 例) [”赤丸”,”と”,”青丸”,”は”,”A”,”と”,”B”,”へ”,”行け”] ↓ 変換後) [[”赤丸”,”と”,”青丸”],”は”,[”A”,”と”,”B”],”へ”,”行け”] 以上の様に一つの配列としてグループ化する。
不要な単語を取り除く 命令に対して必要のない単語を削除し、 画像表示するための表現形式に変換する。 例) [[”赤丸”,”と”,”青丸”],”は”,[”A”,”と”,”B”],”へ”,”行け”] ↓ 変換後) [“move”,[“赤丸”,”青丸”],[“A”,”B”]]
画像描写部 例 [“move”,[“赤丸”,”青丸”],[“A”,”B”]] 変換した命令文を用いて エージェントと目的語を引き数として 動詞に対応する関数を呼び出すことにより 画面に動きが表示される
動作検証 認識精度はどの程度なのか 語彙の量は十分なのか エラーなく動作するのか 以上の事を検証するため、実験を行った
実験の目的 システムが認識する単語の妥当性 システムが認識する文のパタンの妥当性 音声認識の精度 これまでシステムの概要についてお話してきましたが、実際にユーザーに動かしてもらってどうなるのか、というのも必要だと考え、評価実験を行いました。
実験方法 20代の男女5名による評価実験 各目標に対して3分間の制限時間を設ける ・実験① 認識可能な文の例文を与えずに実験 目標:「青丸に対して命令を行い、オブジェクトC を白枠の中に置いてください」 ・実験② 認識可能な文の例文を与えて実験 目標:「赤丸に対して命令を行い、オブジェクトB を黒枠の中に置いてください」
実験画面
実験②で与えた例文 赤丸はAへ行け 青丸はBを取れ 青丸はBを置け 赤丸と緑丸はCへ行け 緑丸は上へ6メートル進め
実験結果 ・目標の達成率 実験① 目標達成は困難であり 目標達成した被験者はいなかった 実験② 目標達成率は100%であった ・目標の達成率 実験① 目標達成は困難であり 目標達成した被験者はいなかった 実験② 目標達成率は100%であった 評価結果は以下のようになりました。これらより、マニュアルがない場合では、正しく動作させることが難しく、目標を達成できませんでした。しかし、マニュアルがある場合では、認識率も上がり、目標達成率が100%となったので、マニュアルがあれば、ほぼ問題なく動作させることが出来るという事が分かりました。
実験詳細 行動成功率 ― 被験者の意図とエージェントの行動結果が 合っているかの確率 発言認識率 ― 被験者の発言と、システムの認識結果が ― 被験者の意図とエージェントの行動結果が 合っているかの確率 発言認識率 ― 被験者の発言と、システムの認識結果が 実験① (例文なし) 行動成功率 35% 発言認識率 5% 実験② (例文あり) 行動成功率 72% 発言認識率 56%
実験データ表
問題点 ・ 何も情報を与えていない状態での目標達成 が困難であった ・ 認識可能な例文の情報を与える必要がある ・ 何も情報を与えていない状態での目標達成 が困難であった ・ 認識可能な例文の情報を与える必要がある これでは我々の目標としている共同行動が達成できない。つまり、同時に動いてこそ共同行動と成り得るのではないだろうか。
実験結果からの考察 実験①における目標達成の問題点 製作した単語辞書に入っていない単語を使用した 文法規則に設定されていない文の入力 実験②における目標達成における考察 文法、語彙を制限した状態での認識率は比較的高いと思われる
検証結果 認識精度はどの程度なのか → 認識精度は、まだ改善の余地があると思われる 語彙の量は十分なのか → 認識精度は、まだ改善の余地があると思われる 語彙の量は十分なのか → 実験中、単語として設定されてない語を発話することが多かった為、不十分と思われる エラーなく動作するのか → 特に問題なく動作していた
改善案 単語辞書の語彙を増やす 例)持って、移動しろ、戻れ 文法規則の構文を増やす 例)Aに赤丸は行って 例)持って、移動しろ、戻れ 文法規則の構文を増やす 例)Aに赤丸は行って 命令中に主語や目的語が省略された場合でも、文脈から省略語句を推測する
研究の考察 指示効率を高めるには、認識の精度をあげる事で出来るのではないか 複数の対象に指示をすることは可能となった
展望 語彙や文法規則を増やすことによって、認識率が上がってより正確に動くのではないか 単体や複数に対する個々への指示はある程度は出来ているので、さらに個々に動くのではなく同時に動けばより共同行動に近づくのではないだろうか
ありがとうございました
質問用
共同行動とは? 私たちの考える共同行動とは? 複数のエージェントが1つの目標に対して、同時に行動することを指すものとする。
主観的実験結果 アンケート結果において 良い 1 まあ良い 2 あまり良くない 3 良くない 4 とした時 例文を与えない場合 平均2.4 例文を与えた場合 平均1.8 以上より例文を与えた場合まあ良いから良いと 思われる。
processing Javaをベースにグラフィックスに特化したプログラミング言語である Java言語を初心者にも使いやすくした言語である
Processingである理由 世界を比較的容易に準備でき、さらに目に見える形でエージェントを動作させたかった Ruby-Processingという環境を使用し、ProcessingをクラスとしてRubyで呼び出せるようにした
julian 有限状態文法に基づく構造である 言語の判断方法として小規模な世界を作り、設定した法則にのみ文を対応付ける 記述文法方式
文法ファイル S : NS_B AGENT_S OBJECT_S ACTION_N NS_E ←文 S : NS_B AGENT_S OBJECT2_S MOVE_N NS_E S : NS_B AGENT_S TURN_N MOVE_N NS_E S : NS_B END NS_E LOOP_A : AGENT LOOP_A : LOOP_A AGENT LOOP_A : LOOP_A TO AGENT AGENT_S : LOOP_A GA AGENT_S : LOOP_A WA ←文を構成する一部
単語辞書ファイル % AGENT ← 属性 赤丸 a k a m a r u ← 単語 音素列 % NUM 1 i ch i 9 ky u: % NAGASA ㍍ m e: t o r u % OBJECT A e: B b i: