複数ロボット自然会話システム(3)
複数ロボット自然会話システム(1)
複数ロボット自然会話システム(2)
複数ロボット自然会話システム(3)
複数ロボット自然会話システム(4)
複数ロボット自然会話システム
インターネットで繋がった複数の自然会話ロボットがロボット同士でお互いに自然会話を行うシステムです。
各ロボットは、音声認識、自然会話、音声合成の機能を有し、3種の会話モードで会話しまします。
3つのモード:
- 対談モード(2人で会話する)
- 鼎談(ていだん)モード(3人で会話する)
- 会談モード(4人以上の複数のロボットがお互いに会話する)
システムは、システムを管理するサーバーと複数のロボットから構成される。
サーバーのMySQLデータベースサーバーに会話内容とログ情報を保存する。
会話内容は、ある特定の話題について会話を行うことができ、その話題の「キーワード」でインターネットから情報検索してその内容を会話の材料にして、会話内容を膨らませていきます。
-
- システム構成図:
- サーバーには、ホームページ、WebサービスAPI、MySQLデータベースを設置。サーバーでの開発言語は、PHPを利用。
- ロボットAには、サーバープログラムとクライアントプログラムを設置。サーバープログラムは、サーバーのWebサービスAPIと連携してシステム全体を管理する。クライアントプログラムは、ロボット同士の会話処理を行う。
- ロボットA以外のロボットには、クライアントプログラムのみを設置。
- サーバーと各ロボットは、インターネットで繋ぐ。
- ロボットは、複数台繋ぐことができる。
- ロボットは、インターネット上の各種(AI)クラウドWebサービスなどを利用する。
- 各ロボットは、WebサービスAPIで、サーバーと交信する。
- サーバーは、NTTのレンタルサーバー、ロボットのハードウェアは、RaspberryPiのマイクロコンピュータ。ロボットのプログラミング言語は、python。
- システム構成図:
- サーバー・ソフトウェア構成
- ホームページ、サーバーは、OCNホスティングのBizメール&ウェブビジネスを利用。
- WebサービスAPI(複数ロボット管理プログラム、ログ情報管理プログラム)
- 開発プログラミング言語は、PHPバージョン5.6
- MySQLデータベースのバージョン5.1.73(会話情報、ログ情報、制御情報など)
- クライアント・ソフトウェア構成
- OSは、RaspberryPiに特化したLinuxのRaspbian
- ロボットには、音声入力、音声認識、自然会話、音声合成処理のソフトウェアパッケージを利用。
1) 音声入力:SOX(Sound eXchange)ライブラリ
2) 音声認識:Google Speech API
3) 自然会話:docomo雑談会話API 4) 音声合成:Open JTalk - ロボットのプログラム
1) 会話処理プログラム
2) サーボ制御プログラム(ロボットの頭、手の動きを実現)
3) LED制御プログラム(ロボットの目の点滅など)
4) WebサービスAPIプログラム(サーバーとの交信含む)
5) ログ情報収集プログラム