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

LINEで送る
Pocket

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

 

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

複数ロボット自然会話システムの「要件定義」

システム概要:

インターネットで繋がった複数の自然会話ロボットがロボット同士でお互いに自然会話を行うシステムです。

各ロボットは、音声認識、自然会話、音声合成の機能を有し、3種の会話モードで会話する。

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

システムは、システムを管理するサーバーと複数のロボットから構成される。
サーバーのMySQLデータベースサーバーに会話内容とログ情報を保存する。

会話内容は、ある特定の話題について会話を行うことができ、その話題の「キーワード」でインターネットから情報検索してその内容を会話の材料にして、会話内容を膨らませていきます。

要件定義:

      1. サーバープログラムで参加ロボットを管理(参加ロボット、スタンバイ状態など)
      2.  会話開始の合図(全ロボットがスタンバイ状態になる)と会話終了の合図(会話回数)をサーバープログラムが行う。
      3. 最初、全てのロボットに、会話開始時刻に合わせて、「こんにちは」または「こんばんは」の挨拶を設定する。
      4. 各ロボットは、会話開始の合図でサーバーから「会話文」をWebサービスAPI機能で、受信(JSON形式)する。
      5. 各ロボットは、「会話文」を受信したら、その「会話文」をレスポンダー(AIクラウド含む)に渡し、「応答文」を受けとる。
      6. 各ロボットは、その「応答文」をサーバーに、WebサービスAPI機能で送信する。
      7. 参加ロボットの会話形式は、次の3モードを選択できる。モード設定は会話開始時にサーバープログラムが行う。
        (1)対談モード(2人で話す。対話)、(2)鼎談(ていだん)モード(3人で向かい合って話すこと。)、(3)会談モード(4人以上で会話する。懇談、座談)
      8. 対談モードは、順列(重複あり)Permutations with repetitionで、管理する。
        「順列(重複あり)」にした理由は、各ロボットが独り言の会話ができるようにしたためである。
        nΠr=nr 仮に、3ロボットが対談する場合は、3Π2=3²=9通りのパターンで管理する。(構成図参照)
      9. 鼎談モードは、組合せ Combinations で、管理する。
        nCr=n!/r!×(n-r)! 仮に4ロボットが鼎談する場合は、n=4、r=3で、4C3=4!/3!×(4-3)!=4通りのパターンで管理する。
        A、B、C、Dのロボットが参加した場合は、鼎談のパターンは、ABC、ACD、BCD、BADの4通りのパターンができる。
      10. 会談モードは、組合せ Combinations で、管理する。
        nCr=n!/r!×(n-r)! 仮に4ロボットが会談する場合は、n=4、r=4で、4C4=4!/4!×(4-4)!=1通りのパターンで管理する。
        A、B、C、Dのロボットが参加した場合は、会談のパターンは、ABCDの1通りのパターンができる。Aは、B、C、Dに同じ話を投げかける。同様にB、C、Dも自分以外の参加ロボットに同じ話を投げかける。
      11. 各ロボットは、自分自身と会話することができる。AA、BBなど、ただし、自分自身との会話をしないモードも設定可能。
        「こんにちは」をAが受け取ると「こんにちは」をレスポンダー(応答文を作る機能)へ投げかけるとレスポンダーは、「元気ですか」という応答文を返してきたらその応答文をAに投げかける。
        こんにちは→A→こんにちは→レスポンダー→元気ですか→A→元気ですか→A
      12. 各ロボット同士の会話内容はサーバーのMySQLデータベースに保存する。
      13. 各ロボットには、英字1文字のIDとそれに対応する名前をつける。
        M:摩耶姫、S:しまっぽ、K:くらっぽ
      14.  WebサービスAPIで特定のキーワードについて情報検索して、その内容を会話する。
      15. 構成図(3Π2=3²=9通りのパターン)
        AA、AB、AC、BA、BB、BC、CA、CB、CCの9通りのパターンを管理
        AAu→は、Aロボットが自分Aに会話を投げかける(u→)、AAd←は、AがAから会話を受けとる(d←)意味。uはサーバーにアップロードの略、dはサーバーからダウンロードの略を示す。

        A、B、C の3つのロボットとサーバーがインターネットで繋がっているケース。
        サーバーには、MySQLデータベースサーバーがある。
        サーバーには、WebサービスAPIのプログラム(PHP)があり、ロボットを管理する。

      16. 各ロボットは、発話する時は、相手の名前を言って発話する。
      17. 各ロボットは、全てのロボットとランダムに会話するモードと特定のロボット間でのみ会話するモードを持つ。
      18. 全てのロボットがスタンバイ状態になってから会話を開始する。
      19. 各ロボットは、スタンバイ状態をサーバーに知らせる。

 

LINEで送る
Pocket

たかポンロボットが今日、明日、明後日の天気を教えてくれる!

LINEで送る
Pocket

たかポンロボットが今日、明日、明後日の天気を教えてくれる!

たかポンは自然会話ロボットです。
 
自然会話中にあなたが急に、気になった天気予報が知りたければ、
たかポンに「天気予報教えて!」と言うと、たかポンはその時点の最新の天気予報をすぐに教えてくれます。
 
そしてまた会話を始めます。
 
また、トピックニュースが知りたければ、「ニュース教えて!」と言うと、
たかポンは、最新のトピックニュースを教えてくれます。
 
これは、たかポンがインターネットに繋がっているからです。
 
たかポンは、インターネットから情報を得てあなたに伝えているのです。
 
そして、たかポンは機械学習機能を有していますので、インターネットから情報を収集して、
自ら学習しておりこうさんになっていきます。
 
あなたが知りたい情報のキーワードをたかポンロボットに伝えると、
たかポンは自らキーワードに関連する情報をインターネットから収集して、
 
分析してあなたの知りたい情報を提供してくれます。
 
あなたが、たかポンと会話すればあなたの好みをたかポンは学んでいきます。
 
こんなに小さなたかポンロボットでも機械学習能力を有してあなたのお手伝いをすることができます。
 
あなたも、プログラミングを学んで自分オリジナルのロボットを開発してみませんか?
 
たかポンは、Pythonというプログラミング言語で開発しています。
 
たかポン開発には、
 
  1. プログラミング言語
  2. 開発環境構築
  3. 人工知能(AI)
  4. 音声入力
  5. 音声認識
  6. 音声合成
  7. AI自然会話
  8. IoT(サーボモータ、LEDなどのモノの制御、インターネット接続など)技術
  9. ネットワーク接続
  10. クラウド利用技術
  11. Webサービス
 
などの知識と技術を同時に学ぶことができます。
 
このようにロボット開発を行うことは、実践的なプログラミング、システム構築を
行うことになりますので、
これからプログラミングを学びたい小学生、中学生、高校生、大学生、大人などの全ての方にとって、とても効果的なプログラミング学習法です。
 
高崎の群馬プログラミングカレッジでは、
このようなロボット開発を通してプログラミングを学ぶこともできます。
 
高崎教室では、「人工知能ロボット教室」を開講しております。
 
小学生は、Scratchというビジュアルプログラミング言語から始めて、
プログラミング基礎を学び、ロボットの開発に向けて、
さらにプログラミング知識・技術・ノウハウを高めていくことができます。
 
さー、あなたもたかポンロボット開発の仲間になりませんか?


たかポンロボット

LINEで送る
Pocket