狠狠撸

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

More Related Content

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

Editor's Notes