SlideShare una empresa de Scribd logo
1 de 82
Descargar para leer sin conexión
Source: Lorem ipsum dolor sit amet, consectetur adipiscing elit. Duis non erat sem
Dialogflow tips
fish(@canoefishing)
サーバーサイドのエンジニアをしています。
GDG, GCPUG, FJUGといった開発グループのスタッフをしています。
フットワーク軽めなので気軽に話しかけてください♪
好きなもの: Android, Dialogflow, Actions on Google, GCP, iOS
コミュニティ: GDG, GCPUG, FJUGfish
twitter: @canoefishing
Qiita: flatfisher
Source: Lorem ipsum dolor sit amet, consectetur adipiscing elit. Duis non erat sem
https://discuss.api.ai
DialogflowのForum(Q&A)で信頼レベル2までいきました
Source: Lorem ipsum dolor sit amet, consectetur adipiscing elit. Duis non erat sem
https://productforums.google.com/forum/#!forum/dialogflow
現在はGoogleプロダクトフォーラムに移動しました
Source: Lorem ipsum dolor sit amet, consectetur adipiscing elit. Duis non erat sem
Google I/O でスタッフに話しかけたり
Source: Lorem ipsum dolor sit amet, consectetur adipiscing elit. Duis non erat semhttps://www.youtube.com/watch?v=K4v_QnngRdg
一番前でセッションを聞きました
Source: Lorem ipsum dolor sit amet, consectetur adipiscing elit. Duis non erat sem
2017年8月のコンテストに挑戦、しかし。。。
Source: Lorem ipsum dolor sit amet, consectetur adipiscing elit. Duis non erat sem
4度リジェクトをくらい、挫折しました
Source: Lorem ipsum dolor sit amet, consectetur adipiscing elit. Duis non erat sem
その後...Qiitaで記事を書き書き...
Source: Lorem ipsum dolor sit amet, consectetur adipiscing elit. Duis non erat sem
だいぶ経ってからお魚検索をリリース
Source: Lorem ipsum dolor sit amet, consectetur adipiscing elit. Duis non erat sem
世界トリビアゲーム
Source: Lorem ipsum dolor sit amet, consectetur adipiscing elit. Duis non erat sem
Dialogflowのライブラリにコミット
本日のおはなし
● Dialogflowとは?
● Dialogflowの使い方
● Dialogflow tips
本日のおはなし
● Dialogflowとは?
● Dialogflowの使い方
● Dialogflow tips
本日のおはなし
● Dialogflowとは?
● Dialogflowの使い方
● Dialogflow tips
Dialogflowとは?
Dialogflow
● 自然言語処理を提供しているサービス
● Google Assistant はじめ多くのサービスの連携をサポート
Dialogflowのすごいところ
● コードを書かずに自然言語処理の実装ができる
● 対応言語が豊富
● あらゆるチャットボットサービスに対応
● SDKが豊富
● アナリティクス機能(設定不要)
できること&できないこと(BMIを計算するBOTの例)
● ユーザーの発言から特定の文字を取得する
○ 身長や体重を取得したい
● ユーザーが身長と体重を答えるまで聞き返す
● 取得した身長と体重からBMIを計算する
できること&できないこと(BMIを計算するBOTの例)
● ユーザーの発言から特定の文字を取得する
○ 身長や体重を取得したい
できる
● ユーザーが身長と体重を答えるまで聞き返す
できる
● 取得した身長と体重からBMIを計算する
できない
Dialogflowは必要な値を取得するところまで、計算処理はサーバーで!
BMIを知りたい
身長は?
182cmです
体重は?
79kgです
身長と体重を送信
BMIは23です
BMIは23です
できること&できないこと まとめ
● 会話の分析や静的な処理ができる
○ 発言からユーザーが何をしたいのかを分析
■ ユーザーは挨拶をしたいのか
■ ユーザーは航空券を検索したいのか
■ ユーザーは音楽を聞きたいのか
○ ユーザーの発言にどんなパラメータが入っているか分析
■ メールアドレス、身長、体重、日時、通貨...
○ BOTに必須パラメータがあれば発言するまで聞き返す
■ BMIを計算するBOTの場合、身長と体重を言うまで聞き返す
○ 答えが決まっている会話
■ 「こんにちは」と言われたら「こんにちは」と返す
● 動的な処理ができない
○ BMIの計算
○ 航空券の検索や予約
Dialogflowの使い方
Dialogflowを使う流れ
● Google アカウントでログイン
● Agentの作成
● 3つの基本機能をおさえる
○ Intent
○ Entity
○ Fulfillment
● 作成したAgentを連携させる
○ Google Assistant
○ Facebook
○ Slack
○ LINE
Googleアカウントでログイン!
https://console.dialogflow.com
Agentの作成
おさえたい3つの機能
● Intent
● Entity
● Fulfillment
Intent - 会話の設計
● 会話を開始する文(トリガー)を決める
○ 「こんにちは!」
○ 「BMIを知りたい」
○ 「肉とじゃがいもで作れる料理は?」
● 会話を成立させるための条件を決める
○ 身長と体重を必須にする
● レスポンス
○ 答えが既に決まっている場合
■ 「こんにちは」と返す
○ 答えが決まっていない場合
■ BMIの計算やレシピ取得はサーバーにお願いする
1つの目的につき、1つのIntentを作成
● 挨拶をするIntent
● BMIを計算するIntent
● レシピを検索するIntent
挨拶 BMI レシピ
発言に応じて適切なIntentに案内してくれる
挨拶 BMI レシピ
BMIを知りたい
身長と体重は?
Intentを作成してみる
おはようIntentを作成してみる
Intentの動作確認
Dialogflowは学習する!
謎のIntentが2つある
Default Welcome Intent
Default Fallback Intent
Entity - パラメータ
● 文章から特定の単語を取り出すための辞書
○ メールアドレス
● 標準的なものは既に用意されている
○ 時間,通貨,メールアドレスなど
● ユニークなワードも自分で作成可能
■ お店のメニュー
■ 商品名
Fulfillment - サーバー情報の入力
● サーバーの情報を登録する場所
● HTTPS POST 通信
● 登録できる情報
○ URL
○ BASIC 認証
○ HEADER
○ DOMAINS
Dialogflow Tips
同じようなIntentを作らない
ちゃんとEntityを作ろう
ちゃんとEntityを作ろう
EntityのKeyはプログラムでそのまま使えるものにすると便利!
会話を終了するIntentを作っておこう
Dialogflowは一番前で使おう
ユーザー バックエンド
汎用性がある
ユーザー バックエンド
こうするとあとから大変
ユーザー バックエンド
こまめにExport zip してバックアップをとろう
Databaseには画面有り無しの文言を用意しておくと良いかも
Google Assistant のアプリを作る時は一番最初にテストしよう
これができればOK
プロジェクトの上限数にハマらないために
● 上限があるのはGCPプロジェクト
○ デフォルトだと最大20こくらい?
● Actions on GoogleのアプリはGCPプロジェクトと同一
○ 既に存在するGCPプロジェクトをインポート
○ または新規作成 ← 要注意
○ Actions on Google のアプリ削除
(GCPプロジェクトの削除)
● Dialogflowのプロジェクト(Agent)
○ 既に存在するGCPプロジェクトをインポート
○ または新規作成 ← 要注意
○ アプリの削除
(GCPプロジェクトは削除されない)
なるべくimport しよう
プロジェクトの上限数にハマらないために
● 練習用のGCPプロジェクトを1つ用意しよう
○ (命名例: FlatfishTest)
● Dialogflowプロジェクトを作る時
○ 練習用プロジェクトをインポート
● Dialogflowプロジェクトを削除する時
○ プロジェクトのエクスポート → Git管理
○ プロジェクトを削除
● 練習用のGCPプロジェクトは消えずにDialogflowのプロジェク
トだけが消える
「削除しても作成できるプロジェクト数が増えないよー」
● 削除は30日間保留されます
いろいろ説明しましたが。。。
上限リクエスト(課金)すれば上限数が増えるので。。。
早めにお金で解決しよう!
(課金したお金はGCPクーポンとして引き継がれます、損なし!)
Dialogflow に 料金プランはあるの?
● Dialogflow Standard Edition
○ 無料
○ APIリクエスト数に制限がある
○ APIリクエストが少ない小規模なプロジェクトやDialogflowを試したい人向け
○ コミュニティと電子メールによるサポート
● Dialogflow Enterprise Edition
○ 従量課金制
○ APIリクエスト数に制限が無い
○ 大規模なプロジェクト向け
○ コミュニティ、電子メール、Google Cloudサポートによるサポート
教材やQ&Aは?
● 公式リファレンス
○ https://dialogflow.com/docs/getting-started/basics
● Qiita
○ https://qiita.com/tags/dialogflow
● 公式Q&Aフォーラム
○ https://productforums.google.com/forum/#!forum/dialogflow
● Stack Overflow
○ https://stackoverflow.com/questions/tagged/dialogflow
● GCPUG Slack
○ dialogflow_ja
○ assistant_ja
○ 招待フォーム
■ https://goo.gl/TFxUNC
● GDG Ishinomaki Slack
○ 招待フォーム
■ https://goo.gl/PRCiHw
Google+ Dialogflow コミュニティ
Actions on Google もくもく会!
Twitterで参加者を募る!
お会いした方はほとんどが初対面!
このイベントの名前を思い出してください
Google homeを遊びたおす会
オリジナルのアプリで遊ぶ方法を知りたかった
OK Googleしたかった
持ち込んだGoogle home (mini) どないすんねん
Google homeで遊んでないじゃん!
一番簡単なGoogle Assistant アプリの作り方
まずはGoogle Assistantの連携確認
水の音を聞くIntentを作成
テスト
この時点で、お使いのAssistantアプリまたはGoogle homeで試せます
音声ファイルを使う
● 音声ファイルを準備
● 音声ファイルをGoogle Cloud Storageにアップロード
● 公開URLを取得
公開URLをIntentのResponseにセット!
水の音がながれました
Thank you

Más contenido relacionado

Similar a Dialogflow tips

ゲームを用いたデータの収集/Tumblrのススメ
ゲームを用いたデータの収集/Tumblrのススメゲームを用いたデータの収集/Tumblrのススメ
ゲームを用いたデータの収集/TumblrのススメTakahiro Yano
 
技術書執筆のススメ 〜Only1なエンジニアになるためのセルフブランディング〜の発表資料
技術書執筆のススメ 〜Only1なエンジニアになるためのセルフブランディング〜の発表資料技術書執筆のススメ 〜Only1なエンジニアになるためのセルフブランディング〜の発表資料
技術書執筆のススメ 〜Only1なエンジニアになるためのセルフブランディング〜の発表資料Yoshiki Shibukawa
 
the 15th gathering
the 15th gatheringthe 15th gathering
the 15th gatheringPenguin49
 
ガイドラインからみたアプリUI〜iPhone用とAndroid用〜
ガイドラインからみたアプリUI〜iPhone用とAndroid用〜ガイドラインからみたアプリUI〜iPhone用とAndroid用〜
ガイドラインからみたアプリUI〜iPhone用とAndroid用〜Chihiro Tomita
 
グリーで行われている勉強会とその特徴 ✕ 勉強会を主催してみた話
グリーで行われている勉強会とその特徴 ✕ 勉強会を主催してみた話グリーで行われている勉強会とその特徴 ✕ 勉強会を主催してみた話
グリーで行われている勉強会とその特徴 ✕ 勉強会を主催してみた話gree_tech
 
ここがスゴい(変だ)よ!Git lab!
ここがスゴい(変だ)よ!Git lab!ここがスゴい(変だ)よ!Git lab!
ここがスゴい(変だ)よ!Git lab!Naoharu Sasaki
 
LT document _ Iwakenlab_20230408
LT document _ Iwakenlab_20230408LT document _ Iwakenlab_20230408
LT document _ Iwakenlab_20230408Hiroki Ichikura
 
サンタクロースを支えるIT技術 @M_Ishikawa #yapcasia
サンタクロースを支えるIT技術 @M_Ishikawa #yapcasiaサンタクロースを支えるIT技術 @M_Ishikawa #yapcasia
サンタクロースを支えるIT技術 @M_Ishikawa #yapcasiaMasayuki Ishikawa
 
Google I/O 報告 (Google Assistant)
Google I/O 報告 (Google Assistant)Google I/O 報告 (Google Assistant)
Google I/O 報告 (Google Assistant)Masatoshi Itoh
 
[2023-11-01] GitHub Copilot 使ってみた.pptx
[2023-11-01] GitHub Copilot 使ってみた.pptx[2023-11-01] GitHub Copilot 使ってみた.pptx
[2023-11-01] GitHub Copilot 使ってみた.pptxmananakamura2
 
プラスサムを創り出すプロジェクトマネジメント
プラスサムを創り出すプロジェクトマネジメントプラスサムを創り出すプロジェクトマネジメント
プラスサムを創り出すプロジェクトマネジメントHideo Teramura(寺村英雄)
 
LT38テーマ3-2
LT38テーマ3-2LT38テーマ3-2
LT38テーマ3-2GIG inc.
 

Similar a Dialogflow tips (16)

ゲームを用いたデータの収集/Tumblrのススメ
ゲームを用いたデータの収集/Tumblrのススメゲームを用いたデータの収集/Tumblrのススメ
ゲームを用いたデータの収集/Tumblrのススメ
 
Studentgo1
Studentgo1Studentgo1
Studentgo1
 
技術書執筆のススメ 〜Only1なエンジニアになるためのセルフブランディング〜の発表資料
技術書執筆のススメ 〜Only1なエンジニアになるためのセルフブランディング〜の発表資料技術書執筆のススメ 〜Only1なエンジニアになるためのセルフブランディング〜の発表資料
技術書執筆のススメ 〜Only1なエンジニアになるためのセルフブランディング〜の発表資料
 
the 15th gathering
the 15th gatheringthe 15th gathering
the 15th gathering
 
拡張検索機能
拡張検索機能拡張検索機能
拡張検索機能
 
ガイドラインからみたアプリUI〜iPhone用とAndroid用〜
ガイドラインからみたアプリUI〜iPhone用とAndroid用〜ガイドラインからみたアプリUI〜iPhone用とAndroid用〜
ガイドラインからみたアプリUI〜iPhone用とAndroid用〜
 
グリーで行われている勉強会とその特徴 ✕ 勉強会を主催してみた話
グリーで行われている勉強会とその特徴 ✕ 勉強会を主催してみた話グリーで行われている勉強会とその特徴 ✕ 勉強会を主催してみた話
グリーで行われている勉強会とその特徴 ✕ 勉強会を主催してみた話
 
ここがスゴい(変だ)よ!Git lab!
ここがスゴい(変だ)よ!Git lab!ここがスゴい(変だ)よ!Git lab!
ここがスゴい(変だ)よ!Git lab!
 
拡張検索機能
拡張検索機能拡張検索機能
拡張検索機能
 
LT document _ Iwakenlab_20230408
LT document _ Iwakenlab_20230408LT document _ Iwakenlab_20230408
LT document _ Iwakenlab_20230408
 
サンタクロースを支えるIT技術 @M_Ishikawa #yapcasia
サンタクロースを支えるIT技術 @M_Ishikawa #yapcasiaサンタクロースを支えるIT技術 @M_Ishikawa #yapcasia
サンタクロースを支えるIT技術 @M_Ishikawa #yapcasia
 
Google I/O 報告 (Google Assistant)
Google I/O 報告 (Google Assistant)Google I/O 報告 (Google Assistant)
Google I/O 報告 (Google Assistant)
 
[2023-11-01] GitHub Copilot 使ってみた.pptx
[2023-11-01] GitHub Copilot 使ってみた.pptx[2023-11-01] GitHub Copilot 使ってみた.pptx
[2023-11-01] GitHub Copilot 使ってみた.pptx
 
プラスサムを創り出すプロジェクトマネジメント
プラスサムを創り出すプロジェクトマネジメントプラスサムを創り出すプロジェクトマネジメント
プラスサムを創り出すプロジェクトマネジメント
 
LT38テーマ3-2
LT38テーマ3-2LT38テーマ3-2
LT38テーマ3-2
 
SnapDishの事例
SnapDishの事例SnapDishの事例
SnapDishの事例
 

Dialogflow tips