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

LINEで送る
Pocket

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

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

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

ソフトウェア要件定義:

  1. ホームページの仕様:
    ホームページにアクセスして、参加ロボットのID、名前、会話モード、独り言モード、鼎談モードのロボット指定などのパラメータをFormで設定し、サーバーに設定する。設定データは、MySQLデータベースに保存する。

    以下の機能もホームページで行う。

    1. 新規ロボットの追加
    2. ロボットの削除
    3.  登録情報の表示
  2. サーバーのWebサービスAPI仕様
    1. 複数ロボット自然会話システムの中枢でシステム全体をクライアント側のサーバープログラムと連携して管理する。
    2.  プログラミング言語はPHP。
    3.  セッションを立ち上げ、session変数で管理する。
    4.  会話情報やログ情報は、サーバーのMySQLデータベースで管理する。
  3. クライアント側のサーバープログラムの仕様
    1. サーバーから参加ロボット情報、会話モード、独り言モードなどのパラメータ情報をMySQLデータベースからダウンロードして、設定する。
    2. 会話モードに従って、パターンを設定して、サーバーのsession変数にアップロードする。
    3.  対談モード:

      1) 順序(重複あり)nΠr=nのr乗でパターンリスト生成。 n=3、r=2の場合、3Π2=3の2乗=9通りのパターン
      AA  BA  CA  
      AB  BB  CB  
      AC  BC  CC
      となる。
      独り言パターンは、AA、BB、CCの3通りとなる。

      2) 独り言モードに対応して、重複パターンの有無を設定する。

      3) 各パターンのアップロード・パターンに最初の挨拶文を時刻に応じて、「こんにちは」、「こんばんは」を設定してサーバーにアップロードする。

      4) AA-u/d、AB-u/dの形式でパターンを設定。
      AAは、独り言モードで、u/dは、アップロード済/ダウンロード済を表す。 AB-u/dは、AロボットからBロボットへの会話文が格納され、u/dは、アップロード済/ダウンロード済を表す。

    4. 鼎談(ていだん)モード:

      1) 組合せ、nCrで、rは3とし、鼎談パターンを生成。

      2) nが4の場合は、4!/3!×(4-3)!=4通りのパターンを生成。

      3) nが4の場合は、ABC、ACD、BCD、BADの4パターンとなる。
      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

      4) 各パターン毎に各ロボットの会話文格納場所を確保して、u/dの状態で、アップロード済、ダウンロード済を表す。

      5) 各パターンからランダムに1つのロボットを抽出して、残りのロボットへ最初の挨拶文を時刻に応じて、「こんにちは」、「こんばんは」を設定してサーバーにアップロードする。

    5. 会談モード:

      1) 組合せ、nCrで、n、rは4以上の人数とし、会談パターンを生成。

      2) 仕組みは鼎談モードと同一。

  4. クライアントプログラム仕様
    1. クライアントプログラムは、1つのロボットのプログラムで、各ロボットの数だけ存在する。
    2. 各ロボットは、IDと名前を持ち、サーバーを通して他のロボットと会話する。
    3. 電源投入すると、サーバーから参加ロボット情報、会話モードなどのパラメータ情報をダウンロードして、初期化を行いスタンバイ状態になったら、スタンバイ状態をサーバーに送信する。
    4. ロボットとサーバー間の通信は、WebサービスAPIで行う。
    5. サーバーの会話開始合図で、他のロボットと会話を始める。
    6. サーバーの会話終了の合図で会話を中止する。
    7. 各ロボットは、投げ掛けられた会話に対して、応答を順次行う。
    8. 応答文は、AIクラウドの自然会話サービスを利用したり、ローカルで機械学習で生成したもの、形態素解析で抽出した品詞で新たに会話文を生成、マルコフ連鎖で生成した応答文などを使用する。
    9.  ロボットは、ある特定の話題について会話を行うことができる。その話題のキーワードでインターネットから検索した情報をもとに応答文を生成して会話相手のロボットに応答文を返すこともできる。

 

LINEで送る
Pocket

チャットボット(AIとロボットの進化で劇的に変わる未来)

LINEで送る
Pocket

チャットボット(AIとロボットの進化で劇的に変わる未来)

チャットボット chatbot

チャットボット(chatbot)とは、「チャット」と「ボット」を組み合わせた言葉で、人工知能を利用し、人間との対話やメッセージのやりとりを行うコンピュータープログラムのことです。
「チャット」は、インターネットを利用したリアルタイムコミュニケーションのことで、主にテキストを双方向でやり取りする仕組みで、既に利用されている技術です。

「ボット」は、「ロボット」の略で、人間に代わって、処理を自動化するプログラムのことです。

人間同士が会話するチャットに対して、「チャットボット」は一方は人工知能を組み込んだコンピュータが人間に代わって対話するシステムです。

このような仕組みは以前から存在していたが、あらかじめ人間によってパターン化された対応しかできていませんでした。
従って、人工無脳と揶揄されていました。

「AlphaGo」が、2016年3月に囲碁の世界王者(イ・セドル九段)に勝利(5戦中4勝1敗)するなど、急速な人工知能の発展と自然言語処理技術が実用的なレベルになってきたこともあり、チャットボットが様々なWebサービスのユーザーインターフェイスやプラットフォームになるとまで期待されるようになっています。

 

すでに、LINEやFacebook、TwitterなどのSNSには、ボットが登場しており、今後は様々なサービスにチャットボットが搭載されるようになります。

例えば、
コールセンターでのチャットボット利用が拡大されれば、業務効率を大幅に改善できます。

教育分野などあらゆる分野でチャットボットが活躍する時代が急速に迫ってきています。

レストラン、ホテル、航空券などの予約などを秘書のようにチャットボットにお願いすれば実現してくれるでしょう。

ECサイトでのショッピングもチャットボットの質問や提案に応えると自分にピッタリの商品が見つかるようになるでしょう。

人工知能については、まだまだ発展の余地がありますが、従来の機械学習、ニューラルネットワークなどから、「ディープラーニング(深層学習)」という技術的ブレークスルーが起きてから、わずかここ数年の進化は非常に大きく、今後の加速度的な進化が期待できます。

そして、チャットボットの発展は、プラットフォームとしての覇権争いとなるため、大手企業を中心に参入企業向けに開発ツールやAPIなどが公開されはじめています。

IBMは「Watoson」の「Botkit Watson」というチャットボット向けの「 Watson Conversation 連携ミドルウェアプラグイン」を提供することを発表しています。
リリースによれば、まず、開発者に人気のビジネスチャット「Slack」向けに会話エンジンとして「 Watson Conversation」を提供し、さらに「Application Starter Kit」など、開発者向けにAPIやサンプルコード、チュートリアルなどのリソースを順次公開していくとのことです。

 

このように、今後数年間であらゆるWebサービスがチャットボットをユーザーインターフェイスとする劇的な変化を遂げるでしょう。

群馬プログラミングカレッジでは、ロボットがアンケートやクイズを会話形式でおこなうシステムを開発しました。

現在、サーバーを経由して、複数のロボットが会話するシステムを開発中です。

本屋の人工知能関連の書籍が多くなりました。

AI(人工知能)

 

棚の上段にあった「チャットボット」本です。

チャットボット(AIとロボットの進化が変革する未来)
本書では、現在のチャットボットブームを解説すると共に、チャットボットの普及によってこれから訪れるであろうWebの変化やビジネス展開などについて、事例を交えて詳しく動向を解説します。

 

 

LINEで送る
Pocket