複数ロボット自然会話システム(4)

LINEで送る
Pocket

複数ロボット自然会話システムシステム(4)

複数ロボット自然会話システムシステム(1)
複数ロボット自然会話システムシステム(2)
複数ロボット自然会話システムシステム(3)
複数ロボット自然会話システムシステム(4)

ソフトウェア方式設計:

  1.  対談モード:
    1. 辞書
      AA-u/d BA-u/d CA-u/d
      AB-u/d BB-u/d CB-u/d
      AC-u/d BC-u/d CC-u/d

      辞書フォーマット:
      taidan={‘taidan’:{‘AA’:,u/d,message,’AB’:u/d,message,以下同様}}
      AAは、パターンで辞書のキー、u/dは、アップ/ダウンモードで、uモードまたはdモードの二者択一とする。Messageは、会話文。

    1. ていだんモード:
      1. 辞書(参加ロボットが3人の場合)
        ABC-A-u/d ACD-A-u/d BCD-B-u/d BAD-B-u/d
        ABC-B-u/d ACD-C-u/d BCD-C-u/d BAD-A-u/d
        ABC-C-u/d ACD-D-u/d BCD-D-u/d BAD-D-u/d

        辞書フォーマット:
        teidan={‘teidan’:{‘ABC-A’:u/d,message,’ABC-B’:u/d,message,以下同様}}

        ABC-Aは、パターンで辞書のキー、u/dは、アップ/ダウンモードで、uモードまたはdモードの二者択一とする。Messageは、会話文。

    1. 会談モード:
      1. (1) 辞書(参加ロボットが4人の場合)

        ABCD-A-u/d
        ABCD-B-u/d
        ABCD-C-u/d
        ABCD-D-u/d

        辞書フォーマット:
        kaidan={‘kaidan’:{‘ABCD-A’:u/d,message,’ABCD-B’:u/d,message,以下同様}}
        ABCD-Aは、パターンで辞書のキー、u/dは、アップ/ダウンモードで、uモードまたはdモードの二者択一とする。Messageは、会話文。

    2. サーバープログラムは、サーバーのMySQLデータベースからパラメータ情報をダウンロードして、辞書ファイルを初期化してサーバーへアップロードする。
    3. クライアントプログラムは、自分が所属するパターンのみサーバーからローカルにダウンロードして辞書を管理する。
    4. クライアントプログラムは、各パターンを参照して、u/dのアップロードモードのuモードがあれば、その会話文に対する応答文を生成して、関連するロボットへアップロードする。
    5. クライアントプログラムは、スレッドを立てて定期的にサーバーから辞書データをダウンロードして、投げ掛けられて会話文があるかチェックして、あればレスポンダーから応答文を得てサーバーに応答文をアップロードする。
    6. クライアントプログラムからアップロードされた会話文はMySQLデータベースに保存される。
    7. ていだんモードと会談モードは、同一処理となる。
    8. ていだんモードと会談モードは、会話文をアップしたロボットのu/dモードは、dモードに設定して、他のロボットのu/dモードは、uモードに設定する。

群馬プログラミングカレッジでは、種々のロボットを開発しています。

複数ロボット自然会話システム

このシステムに接続すると、ロボット同士の自然会話を行うことができます。
会話希望の方はご連絡ください。

WebサービスAPIのインターフェースを提供します。

 

LINEで送る
Pocket

複数ロボット自然会話システム(3)

LINEで送る
Pocket

複数ロボット自然会話システム(3)

複数ロボット自然会話システム(1)
複数ロボット自然会話システム(2)
複数ロボット自然会話システム(3)
複数ロボット自然会話システム(4)

複数ロボット自然会話システム

インターネットで繋がった複数の自然会話ロボットがロボット同士でお互いに自然会話を行うシステムです。
各ロボットは、音声認識、自然会話、音声合成の機能を有し、3種の会話モードで会話しまします。

3つのモード:

  • 対談モード(2人で会話する)
  • 鼎談(ていだん)モード(3人で会話する)
  • 会談モード(4人以上の複数のロボットがお互いに会話する)

 システムは、システムを管理するサーバーと複数のロボットから構成される。
サーバーのMySQLデータベースサーバーに会話内容とログ情報を保存する。
会話内容は、ある特定の話題について会話を行うことができ、その話題の「キーワード」でインターネットから情報検索してその内容を会話の材料にして、会話内容を膨らませていきます。

    1. システム構成図:
      1. サーバーには、ホームページ、WebサービスAPI、MySQLデータベースを設置。サーバーでの開発言語は、PHPを利用。
      2.  ロボットAには、サーバープログラムとクライアントプログラムを設置。サーバープログラムは、サーバーのWebサービスAPIと連携してシステム全体を管理する。クライアントプログラムは、ロボット同士の会話処理を行う。
      3.  ロボットA以外のロボットには、クライアントプログラムのみを設置。
      4.  サーバーと各ロボットは、インターネットで繋ぐ。
      5.  ロボットは、複数台繋ぐことができる。
      6.  ロボットは、インターネット上の各種(AI)クラウドWebサービスなどを利用する。
      7.  各ロボットは、WebサービスAPIで、サーバーと交信する。
      8.  サーバーは、NTTのレンタルサーバー、ロボットのハードウェアは、RaspberryPiのマイクロコンピュータ。ロボットのプログラミング言語は、python。

  1. サーバー・ソフトウェア構成
    1. ホームページ、サーバーは、OCNホスティングのBizメール&ウェブビジネスを利用。
    2.  WebサービスAPI(複数ロボット管理プログラム、ログ情報管理プログラム)
    3.  開発プログラミング言語は、PHPバージョン5.6
    4.  MySQLデータベースのバージョン5.1.73(会話情報、ログ情報、制御情報など)

 

  1. クライアント・ソフトウェア構成 
    1. OSは、RaspberryPiに特化したLinuxのRaspbian
    2. ロボットには、音声入力、音声認識、自然会話、音声合成処理のソフトウェアパッケージを利用。
      1) 音声入力:SOX(Sound eXchange)ライブラリ
      2) 音声認識:Google Speech API
      3) 自然会話:docomo雑談会話API 4) 音声合成:Open JTalk
    3. ロボットのプログラム
      1) 会話処理プログラム
      2) サーボ制御プログラム(ロボットの頭、手の動きを実現)
      3) LED制御プログラム(ロボットの目の点滅など)
      4) WebサービスAPIプログラム(サーバーとの交信含む)
      5) ログ情報収集プログラム

 

 

LINEで送る
Pocket