人工知能学会研究会資料 SIG-SLUD-B506-15 ROS Development of Spoken Dialogue System which Integrates and Shares Information based on ROS Architecture 1 2 3 1 1 Graduate School of Science and Technology, Keio University 2 2 Department of Computer and Information Science, Graduate School of Science and Technology, Seikei University 3 3 Department of Computer and Information Science, Faculty of Science and Technology, Seikei University Abstract: In recent years, research on spoken dialogue systems has been actively studied on systems using multimodal information such as images and interactive robot control information as well as spoken language information. At that time, it is necessary to integrate and process information obtained from various sensors and processing modules, however the integration will not be successful, if the format of each input / output data, communication method, etc. are disjointed. Therefore, in order to smoothly integrate various types of information, we introduced ROS (Robot Operating System) architecture for management and communication of each module of spoken dialogue system. We also introduced an information management module (IS : Information State) that centrally manages the information exchanged by each module. This module closely shares information with the main modules (speech recognition, language understanding, dialogue management, response generation, speech synthesis) of the spoken dialogue system, and can refer to information in the spoken dialogue system from other modules. In addition, information on other modules can be obtained from the spoken dialogue system, and a spoken dialogue system utilizing information obtained from modalities can be realized. 1 E-mail: nishimura@ae.keio.ac.jp ROS Robot Operating System PRINTEPS (PRactical INTElligent applications)[ 15, 16] 1 PRINTEPS 1 http://printeps.org/ - 79 -
1: Information State PRINTEPS PRINTEPS IS Information State 1 IS MMDAgent[Lee 13] 2 MMDAgent 3D MMDAgent DLL MMDAgent OpenDial[Lison 16] 3 Java MMDAgent dialogue state 2 http://www.mmdagent.jp/ 3 http://www.opendial-toolkit.net/ ROS rospeex[sugiura 15] 4 NICT ROS ROS Information State 2 ROS ROS(Robot Operating System)[Quigley 09] 5 6 ROS BSD ROS 3 PRINTEPS PRINTEPS PRINTEPS 4 http://rospeex.org/ 5 http://www.ros.org/ 6 http://www.osrfoundation.org/ - 80 -
8ch 8 4.2 2: PRINTEPS 3: PRINTEPS GUI 2 PRINTEPS Google Google Cloud Speech API 9 100ms 4.3 3 Num, 3 TFIDF 4 5 Information State ( 3) 4.1 PRINTEPS PRINTEPS Aldebaran SoftBank Pepper 7 7 http://www.softbank.jp/robot/ 4.4 Information State 4.5 8 http://www.sifi.co.jp/system/modules/pico/index. php?content_id=39 9 https://cloud.google.com/speech/ - 81 -
ConfOrder 4.6 PRINT- EPS Pepper Pepper 5 Information State Information State (IS) IS ROS IS IS IS IS IS IS MongoDB[Chodorow 10] 10 MongoDB RDBMS NoSQL JSON PRINTEPS PRINTEPS IS IS 10 https://www.mongodb.com/ { 4: ROS "_id": ObjectId("58a2d1a2c36a9409e0b7fcb6"), "id": 1, "position": 1, "num_of_customers": 3, "has_seats": [ { "id": 1, "position": 1, "has_customer": { 5: IS Table.msg IS 5.1 ROS Message Message.msg 4 Message int8 string Seat Customer IS mongodb Message JSON 5 5.2 IS 6-82 -
6 モジュール連携 PRINTEPS のような多様な知能を持つプラットフ ォーム上に Information State を導入し 音声対話シス テムが ROS の通信を使って他のモジュールとやり取り することで新たに実現可能となる例を以下に示す 6.1 図 6: IS 上でのモジュール間連携 図 7: 知識モジュールとの IS 連携 らの各モジュールから得られた情報を用いて 知識処 理によってオススメのメニューを推論し 提案するこ とが可能になる 5.3 ROS 上でのデータ授受 IS を介した連携を行う際には データの受け渡しや 他モジュールへのタスクの依頼は 図 7 のようにして 行われる 実線矢印は ROS の Service 同期通信 返 り値あり 破線矢印は ROS の Topic 非同期通信 返 り値なし を示す (1) にて音声対話で得られた情報を IS に格納する その返り値として id データ識別子 を得る IS は データの履歴を保持しているため 同 じデータ名であっても複数のデータが存在する そこ で 特定のデータを表すためにデータ識別子が用意さ れている (2) にて id を送信することで データの在 り処を伝える (3) にて知識処理モジュールが id を用 いてデータを読み出す そして 知識推論を行い 結 果をデータに追加する (4) にて推論結果を含んだデー タを IS に格納し 返り値として id を取得 (5) にて知 識処理モジュールから音声対話モジュールへ id を送信 し (6) にて音声対話モジュールが id を用いてデータ を取得する このようにして (1) (6) の流れで 知識 処理結果を受け取ることができる このように IS へのデータの書き込みを行った段階 で他モジュールに ID を知らせる手法を採ったのは 他 モジュールが IS を常時監視する負荷をなくすためで ある 知識処理モジュールとの連携 知識処理モジュールとの連携では IS に対しては 特定のメッセージの特定のフィールドに 他モジュー ルにて得られた情報を書き込むと 知識処理モジュー ルでは そのデータを元に必要とされる情報を知識推 論エンジンや RDF ストアから引き出すが その際に 必要となるクエリ文は知識処理モジュールによって自 動生成されている このことから 知識処理モジュー ル外のモジュールは IS を介することで 分野外の者 には馴染みのないクエリ文を考慮することなく 高度 な知識処理 推論処理を利用することができる PRINTEPS プロジェクトにて進められている喫茶店 実践においては 音声対話モジュールとの連携として メニューのカロリー提示 アレルギーのある方への対 応メニュー推薦などが行われている 画像処理モジュー ルとの連携は 来店検知 来客人数推定などで行われ ている 6.2 画像処理モジュールとの連携 画像処理モジュールからは 画像処理モジュールに よって画像が処理された結果が逐次 IS に書き込まれる 物理信号情報である画像が 記号情報 年齢や性別な どといったもの に変換されて共有されるため 記号 処理である知識処理や対話処理などとの相性がよくな る また 外部モジュールからは直接画像処理やそれ に必要なライブラリなどを利用せずに 高度な画像処 理を利用することができる 喫茶店実践において 6.1 節で紹介した来客人数推定 については 画像処理モジュール単体ではフレームご とに推定結果が揺れており 誤りのフレームも複数含 まれているが 知識処理モジュールとの連携 ストリー ム推論の利用 により 安定した人数検出が可能にな る また 席についたユーザの行動推定 飲食中 発 話中の推定 と音声対話モジュールを連携させること で より頑健に発話者を推定することが可能になる 6.3 ロボット動作 環境情報処理との連携 ロボット動作モジュールは 他のモジュールが IS に 書き込んだ情報を元に ロボットの制御を行う 喫茶店 83
IS 6.4 IS 6.5 6 6.1 IS IS 7 ROS 5 Information State ROS Information State (JST) (CREST) PRINTEPS [Chodorow 10] Chodorow, K. and Dirolf, M.: MongoDB: The Definitive Guide, O Reilly Media, Inc., 1st edition (2010) [Lee 13] Lee, A., Oura, K., and Tokuda, K.: MMDAgent - A fully open-source toolkit for voice interaction systems., in ICASSP, pp. 8382 8385, IEEE (2013) [Lison 16] Lison, P. and Kennington, C.: OpenDial: A Toolkit for Developing Spoken Dialogue Systems with Probabilistic Rules, in Proceedings of the 54th Annual Meeting of the Association for Computational Linguistics (Demonstrations), pp. 67 72, Berlin, Germany (2016), Association for Computational Linguistics [Quigley 09] Quigley, M., Conley, K., Gerkey, B. P., Faust, J., Foote, T., Leibs, J., Wheeler, R., and Ng, A. Y.: ROS: an open-source Robot Operating System, in ICRA Workshop on Open Source Software, pp. 1 6 (2009) [Sugiura 15] Sugiura, K. and Zettsu, K.: Rospeex: A cloud robotics platform for human-robot spoken dialogues, 2015 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS), pp. 6155 6160 (2015) [ 15],,,,,, PRINTEPS, 29, 1I4-2 (2015) [ 16],, ROS PRINTEPS, 30, 4C4-1 (2016) - 84 -