Advertisement
Advertisement

More Related Content

Similar to 【博多TECH塾】自分ごのみのチャットボットをつくるハンズオン(20)

Advertisement

【博多TECH塾】自分ごのみのチャットボットをつくるハンズオン

  1. 自分好みのチャットボットを作るハンズオン 株式会社パソナテッ ク 寺岡幸二 © Pasona Tech,inc.All Rights Reserved.2017/6/17 1
  2. 自己紹介 2017/6/17 © Pasona Tech,inc.All Rights Reserved. 2 寺岡 幸二 株式会社パソナテック マーケティング戦略部 マネージャー
  3. LINEボットはじめました 2017/6/17 © Pasona Tech,inc.All Rights Reserved. 3
  4. 本日の流れ 1. LINEボットをノンプログラミングで 作ってみる。 2. チャットボットの仕組みから機械学習につい て学ぶ。 2017/6/17 © Pasona Tech,inc.All Rights Reserved. 4
  5. LINEボットを ノンプログラミングで作ってみる。 © Pasona Tech,inc.All Rights Reserved. SESSION 1 2017/6/17 5
  6. 本日使うもの 2017/6/17 © Pasona Tech,inc.All Rights Reserved. 6 LINE LINEボットと対話できる LINE@アカウントを作成 LINE Business Center LINEボットを構築するための 開発ツール api.ai チャットボットの対話エンジン となるツール
  7. 1. 下準備 2017/6/17 © Pasona Tech,inc.All Rights Reserved. 7 1. LINEアカウントの設定 • 「 設定」 →「 アカ ウント」 →「メールアドレス変更」 で 、メールアドレス とパスワードを設定しておく。 2. Googleアカウントの取得 • LINE アカ ウントのメールアドレス で、 Google ア カ ウントを取得して お くとラクです。 ※ 別でも全 然 OK 。 3. メールを受信できるように • LINE Bu sin e ss Ce n te r / a pi.a i のアカ ウン ト開設時、認証メールが飛びま す。
  8. 2. LINE Business Center にログイン 2017/6/17 © Pasona Tech,inc.All Rights Reserved. 8 https://business.line.me/ja/ ※初回ログイン時、認証作業が入ります。
  9. 3. LINE@アカウントを作成 1. 「LINE Messaging API」を選択。 2. アカウント名と業種を自由に設定したら、確認 ボタン→申し込む。 3. LINE@ Managerへ移動。 4. Bot設定を聞かれるので、「APIを利用する」 を押す。(確認を承諾) 5. アカウント設定→Bot設定で、webhookを利 用するに設定して保存。 2017/6/17 © Pasona Tech,inc.All Rights Reserved. 9
  10. 4. LINE Developersでチャットボット設定 2017/6/17 © Pasona Tech,inc.All Rights Reserved. 10 1. LINE Developersに移動。 2. 初回アクセス時、認証作業が入ります。 3. 「ISSUE」ボタンを押すと、ボット固有の 鍵”Access Token”が発行されます。
  11. 5. api.aiにアカウント登録 2017/6/17 © Pasona Tech,inc.All Rights Reserved. 11 https://api.ai/ ※アカウント登録時、認証作業が入ります。
  12. api.aiでエージェントを作成 1. Googleアカウントでapi.aiアカウントを作成し、 諸々同意。 2. 「CREATE AGANT」を押す。 3. エージェント名 / DESCRIPTION は適当で いいですが…後述 4. LANGUAGEで「日本語」を選択。 5. 「SAVE」するとエージェントが使えます。 6. ただし、既に使われているエージェント名だと エラーが出ます。 2017/6/17 © Pasona Tech,inc.All Rights Reserved. 12
  13. LINE Developers と api.ai をつなぐ 1. api.aiで、左メニューから「Integration」を選 択。 2. Integrationするサービスから「LINE」を選択。 3. 開いたダイアログに、LINE Developersの 「Channel ID」と「Channel Secret」と 「Channel Access Token」を記入して、 「START」。 4. api.aiのWebhookURLを、LINE Developers 側に記入。 ※VerifyでSuccessになればOK。 2017/6/17 © Pasona Tech,inc.All Rights Reserved. 13
  14. 対話できるパターンを増やす • api.aiの「Intents」を開く。 • 「CREATE INTENT」でIntentsの作成画面に。 • 「User says」が、ユーザーの発言内容です。 • 「Response」に、発言に応じた応答を入れま す。 複数個入れると、どれかがランダムで返ります。 2017/6/17 © Pasona Tech,inc.All Rights Reserved. 14
  15. チャットボットの仕組みから 機械学習について知る。 © Pasona Tech,inc.All Rights Reserved. SESSION 2 2017/6/17 15
  16. 今作ったLINEボットの構成 2017/6/17 © Pasona Tech,inc.All Rights Reserved. 16 海賊王に〜? 1. ユーザーが投稿 2. webhookする 3. 投稿内容をJSON形式で 受け取る なんて言ったら? なんて返す? 4. 事前に用意した応答ルールから 投稿に対する返答分を探す。 5. 返答を返す 俺はなる!
  17. 2017/6/17 © Pasona Tech,inc.All Rights Reserved. 17 なんと 言ったら なんと 返す → ルールベース 機械学習ベース
  18. 今作ったapi.aiの弱点 2017/6/17 © Pasona Tech,inc.All Rights Reserved. 18 1文字でも違うと、 ルールが適用されない。 ↓ 日本語版の弱点
  19. 日本語と英語の大きな違い 2017/6/17 © Pasona Tech,inc.All Rights Reserved. 19 単語ごとにスペースが入る。 ↓ 日本語版を単語ごとに分ける =分かち書き 海賊王に〜? → 海賊_王_に_〜_?
  20. それぞれの良いところ悪いところ 2017/6/17 © Pasona Tech,inc.All Rights Reserved. 20 ルールベースは、 ルールさえあれば即利用可。 でも表現のゆらぎに弱い。 機械学習は、 大量の学習データが必要だが、 人のゆらぎを受け入れる。
  21. 企業のFAQシステムの構図 2017/6/17 © Pasona Tech,inc.All Rights Reserved. 21 なんと 言ったら なんと 返す ↓ ほぼ固定 ↓ この認識率 との戦い
  22. Watson Natural Language Classifier 2017/6/17 © Pasona Tech,inc.All Rights Reserved. 22 質問に対して、 任意の分類名を付与して学習させる →アノテーション
  23. アノテーション 2017/6/17 © Pasona Tech,inc.All Rights Reserved. 23 アノテーション あるデータに対して 関連する情報(メタ データ)を注釈とし て付与すること。 これを文章に当て 込んで学習させる。 今日_は_いい_天気_だ_ね_。 DATE TODAY Good Nice WEATHER (Xa,Ya),(Xb,Yb) [人][子ども][笑 顔] (Xm,Ym),(Xn,Yn) [猫][きょとん]
  24. りんなとかに見る雑談システムの構図 2017/6/17 © Pasona Tech,inc.All Rights Reserved. 24 なんと 言ったら なんと 返す ↓ 生成精度 との戦い ↓ この認識率 との戦い
  25. 文章生成ロジックの例:マルコフ連鎖 2017/6/17 © Pasona Tech,inc.All Rights Reserved. 25 マルコフ連鎖 「現在の状態のみ で未来の状態が決 定する」ようなモデ ルのこと。 これを文章に当て 込んで学習させる。 私 これ は 寺岡 犬 です 朝起きる ゲームをする 寝る お腹が空く ご飯を食べる
  26. りんなとかに見る雑談システムの構図 2017/6/17 © Pasona Tech,inc.All Rights Reserved. 26 なんと 言ったら なんと 返す ↓ 生成精度 との戦い = Outputの 機械学習 ↓ この認識率 との戦い = Input の機械学習
  27. 「汎用人工知能」と「特化型人工知能」 2017/6/17 © Pasona Tech,inc.All Rights Reserved. 27 • 2010年頃までは、機械自体が学習するまでに至らず。 • ニューラルネットワーク構築からのディープラーニングが成功 したことで、機械学習ブームが加速。 • でも今は、人間のようにあらゆる知識をもった「汎用人工知能 (強いAI)」までに至らず。ある分野に特化した「特化型人工知 能(弱いAI)」が主流。 • シンギュラリティが起こるのは、汎用人工知能が当たり前に なった未来?
  28. 自分ごのみ = 単一学習特化型から 2017/6/17 © Pasona Tech,inc.All Rights Reserved. 28
  29. 専門分野以外はツンデレ 2017/6/17 © Pasona Tech,inc.All Rights Reserved. 29
  30. ルールベースと機械学習のハイブリッド 2017/6/17 © Pasona Tech,inc.All Rights Reserved. 30 ルールベースでボットを構築 ↓ とりあえずルールベース推論で テスト運用 ↓ 結果からトレーニング ↓ 適用して再度テスト ↓ データが貯まったら 機械学習推論に切り替える
  31. まとめ • api.aiのようなツールで、プログラミングしなく てもボット開発は可能な時代。 • きちんと応答をさせるなら、形態素解析などを 用いて単語自体を認識させる仕組みを入れる。 • 自然対話処理には、Inputの学習とOutputの 学習がある。 • 話しかけやすいのは単一学習特化型。 自分好みのチャットボットを作ってみてください。 2017/6/17 © Pasona Tech,inc.All Rights Reserved. 31

Editor's Notes

  1. 13:20
  2. 13:20
Advertisement