Submit Search
Upload
TensorFlowで訓練したLINE BotをAWS Lambdaで動かしてみた
•
5 likes
•
4,913 views
Van Huy
Follow
【AWS×BOT】TechTalk #3 で発表した資料です! http://lig.connpass.com/event/41826/
Read less
Read more
Engineering
Report
Share
Report
Share
1 of 41
Download now
Download to read offline
Recommended
TensorFlowで会話AIを作ってみた。
TensorFlowで会話AIを作ってみた。
tak9029
PyAutoGUI等Pythonライブラリによる自動化支援
PyAutoGUI等Pythonライブラリによる自動化支援
H Iseri
UXとCS(カスタマーサクセス)
UXとCS(カスタマーサクセス)
Yukinori SAEKI
ウェブ/アプリのUX改善 データ分析と定性分析の絶妙なバランスは?
ウェブ/アプリのUX改善 データ分析と定性分析の絶妙なバランスは?
Yoshiki Hayama
データからインサイト そして、アイデアの発想へ(CJM/POV/HMW)
データからインサイト そして、アイデアの発想へ(CJM/POV/HMW)
Masanori Kado
Alfredとdashで超高速リファレンス
Alfredとdashで超高速リファレンス
Takuma Morikawa
サービスブループリント導入ガイド A Guide to Service Blueprinting Japanese Edition
サービスブループリント導入ガイド A Guide to Service Blueprinting Japanese Edition
Graat(グラーツ)
解説!30分で分かるLEAN ANALYTICS
解説!30分で分かるLEAN ANALYTICS
しくみ製作所
Recommended
TensorFlowで会話AIを作ってみた。
TensorFlowで会話AIを作ってみた。
tak9029
PyAutoGUI等Pythonライブラリによる自動化支援
PyAutoGUI等Pythonライブラリによる自動化支援
H Iseri
UXとCS(カスタマーサクセス)
UXとCS(カスタマーサクセス)
Yukinori SAEKI
ウェブ/アプリのUX改善 データ分析と定性分析の絶妙なバランスは?
ウェブ/アプリのUX改善 データ分析と定性分析の絶妙なバランスは?
Yoshiki Hayama
データからインサイト そして、アイデアの発想へ(CJM/POV/HMW)
データからインサイト そして、アイデアの発想へ(CJM/POV/HMW)
Masanori Kado
Alfredとdashで超高速リファレンス
Alfredとdashで超高速リファレンス
Takuma Morikawa
サービスブループリント導入ガイド A Guide to Service Blueprinting Japanese Edition
サービスブループリント導入ガイド A Guide to Service Blueprinting Japanese Edition
Graat(グラーツ)
解説!30分で分かるLEAN ANALYTICS
解説!30分で分かるLEAN ANALYTICS
しくみ製作所
なぜなに?ユーザエクスペリエンスマップ(概要編)
なぜなに?ユーザエクスペリエンスマップ(概要編)
Naoki Hashimoto
スクラム開発チームの立ち上げでアンチパターンを踏みまくった話 #GWD_Nulab
スクラム開発チームの立ち上げでアンチパターンを踏みまくった話 #GWD_Nulab
@yuzutas0 Yokoyama
Bots & Customer Service
Bots & Customer Service
Tech Talks Central
経営のアジリティを支えるDevOpsと組織
経営のアジリティを支えるDevOpsと組織
Recruit Technologies
UXデザイン・UXリサーチってだいぶ広まったよね?
UXデザイン・UXリサーチってだいぶ広まったよね?
Yoshiki Hayama
UXデザインのはじめの一歩を体験しよう! 〜ユーザーインタビュー、ユーザー心理分析の基本〜
UXデザインのはじめの一歩を体験しよう! 〜ユーザーインタビュー、ユーザー心理分析の基本〜
Yoshiki Hayama
NTTみたいなトラディショナルな企業でアジャイルな取り組みを実現するたった一つの必要なもの! #RSGT2019
NTTみたいなトラディショナルな企業でアジャイルな取り組みを実現するたった一つの必要なもの! #RSGT2019
Satoru KawaBuchi
品質を加速させるために、テスターを増やす前から考えるべきQMファンネルの話(3D版)
品質を加速させるために、テスターを増やす前から考えるべきQMファンネルの話(3D版)
Yasuharu Nishi
RPA Developer Career Path
RPA Developer Career Path
Intellipaat
『モビリティ・インテリジェンス』の社会実装 [DeNA TechCon 2019]
『モビリティ・インテリジェンス』の社会実装 [DeNA TechCon 2019]
DeNA
新規事業が対峙する現実からエンジニアリングを俯瞰する #devsumiB #devsumi
新規事業が対峙する現実からエンジニアリングを俯瞰する #devsumiB #devsumi
Itsuki Kuroda
「ユーザーを理解するって言うほどカンタンじゃないよね」 UXデザイン・UXリサーチをもう一度ちゃんと理解しよう!
「ユーザーを理解するって言うほどカンタンじゃないよね」 UXデザイン・UXリサーチをもう一度ちゃんと理解しよう!
Yoshiki Hayama
Agile and Business
Agile and Business
Kenji Hiranabe
フロー効率性とリソース効率性、再入門 #devlove #devkan
フロー効率性とリソース効率性、再入門 #devlove #devkan
Itsuki Kuroda
営業向け ABテストの統計学 データアーティスト
営業向け ABテストの統計学 データアーティスト
Satoru Yamamoto
30分でわかるマイクロサービスアーキテクチャ 第2版
30分でわかるマイクロサービスアーキテクチャ 第2版
Naoki (Neo) SATO
事業成長にコミットするエンジニア組織への道のり
事業成長にコミットするエンジニア組織への道のり
Recruit Lifestyle Co., Ltd.
実録 ペルソナが死ぬとき 〜ペルソナの上手な使いかた〜
実録 ペルソナが死ぬとき 〜ペルソナの上手な使いかた〜
Yoshiki Hayama
ウェブパフォーマンスの基礎とこれから
ウェブパフォーマンスの基礎とこれから
Hiroshi Kawada
UXのためのUIデザイン
UXのためのUIデザイン
Hironobu Aoki
アプリ開発の境界問題を支えるツール
アプリ開発の境界問題を支えるツール
Keishi Hosoba
初めてのRxSwift
初めてのRxSwift
Ivan Luque
More Related Content
What's hot
なぜなに?ユーザエクスペリエンスマップ(概要編)
なぜなに?ユーザエクスペリエンスマップ(概要編)
Naoki Hashimoto
スクラム開発チームの立ち上げでアンチパターンを踏みまくった話 #GWD_Nulab
スクラム開発チームの立ち上げでアンチパターンを踏みまくった話 #GWD_Nulab
@yuzutas0 Yokoyama
Bots & Customer Service
Bots & Customer Service
Tech Talks Central
経営のアジリティを支えるDevOpsと組織
経営のアジリティを支えるDevOpsと組織
Recruit Technologies
UXデザイン・UXリサーチってだいぶ広まったよね?
UXデザイン・UXリサーチってだいぶ広まったよね?
Yoshiki Hayama
UXデザインのはじめの一歩を体験しよう! 〜ユーザーインタビュー、ユーザー心理分析の基本〜
UXデザインのはじめの一歩を体験しよう! 〜ユーザーインタビュー、ユーザー心理分析の基本〜
Yoshiki Hayama
NTTみたいなトラディショナルな企業でアジャイルな取り組みを実現するたった一つの必要なもの! #RSGT2019
NTTみたいなトラディショナルな企業でアジャイルな取り組みを実現するたった一つの必要なもの! #RSGT2019
Satoru KawaBuchi
品質を加速させるために、テスターを増やす前から考えるべきQMファンネルの話(3D版)
品質を加速させるために、テスターを増やす前から考えるべきQMファンネルの話(3D版)
Yasuharu Nishi
RPA Developer Career Path
RPA Developer Career Path
Intellipaat
『モビリティ・インテリジェンス』の社会実装 [DeNA TechCon 2019]
『モビリティ・インテリジェンス』の社会実装 [DeNA TechCon 2019]
DeNA
新規事業が対峙する現実からエンジニアリングを俯瞰する #devsumiB #devsumi
新規事業が対峙する現実からエンジニアリングを俯瞰する #devsumiB #devsumi
Itsuki Kuroda
「ユーザーを理解するって言うほどカンタンじゃないよね」 UXデザイン・UXリサーチをもう一度ちゃんと理解しよう!
「ユーザーを理解するって言うほどカンタンじゃないよね」 UXデザイン・UXリサーチをもう一度ちゃんと理解しよう!
Yoshiki Hayama
Agile and Business
Agile and Business
Kenji Hiranabe
フロー効率性とリソース効率性、再入門 #devlove #devkan
フロー効率性とリソース効率性、再入門 #devlove #devkan
Itsuki Kuroda
営業向け ABテストの統計学 データアーティスト
営業向け ABテストの統計学 データアーティスト
Satoru Yamamoto
30分でわかるマイクロサービスアーキテクチャ 第2版
30分でわかるマイクロサービスアーキテクチャ 第2版
Naoki (Neo) SATO
事業成長にコミットするエンジニア組織への道のり
事業成長にコミットするエンジニア組織への道のり
Recruit Lifestyle Co., Ltd.
実録 ペルソナが死ぬとき 〜ペルソナの上手な使いかた〜
実録 ペルソナが死ぬとき 〜ペルソナの上手な使いかた〜
Yoshiki Hayama
ウェブパフォーマンスの基礎とこれから
ウェブパフォーマンスの基礎とこれから
Hiroshi Kawada
UXのためのUIデザイン
UXのためのUIデザイン
Hironobu Aoki
What's hot
(20)
なぜなに?ユーザエクスペリエンスマップ(概要編)
なぜなに?ユーザエクスペリエンスマップ(概要編)
スクラム開発チームの立ち上げでアンチパターンを踏みまくった話 #GWD_Nulab
スクラム開発チームの立ち上げでアンチパターンを踏みまくった話 #GWD_Nulab
Bots & Customer Service
Bots & Customer Service
経営のアジリティを支えるDevOpsと組織
経営のアジリティを支えるDevOpsと組織
UXデザイン・UXリサーチってだいぶ広まったよね?
UXデザイン・UXリサーチってだいぶ広まったよね?
UXデザインのはじめの一歩を体験しよう! 〜ユーザーインタビュー、ユーザー心理分析の基本〜
UXデザインのはじめの一歩を体験しよう! 〜ユーザーインタビュー、ユーザー心理分析の基本〜
NTTみたいなトラディショナルな企業でアジャイルな取り組みを実現するたった一つの必要なもの! #RSGT2019
NTTみたいなトラディショナルな企業でアジャイルな取り組みを実現するたった一つの必要なもの! #RSGT2019
品質を加速させるために、テスターを増やす前から考えるべきQMファンネルの話(3D版)
品質を加速させるために、テスターを増やす前から考えるべきQMファンネルの話(3D版)
RPA Developer Career Path
RPA Developer Career Path
『モビリティ・インテリジェンス』の社会実装 [DeNA TechCon 2019]
『モビリティ・インテリジェンス』の社会実装 [DeNA TechCon 2019]
新規事業が対峙する現実からエンジニアリングを俯瞰する #devsumiB #devsumi
新規事業が対峙する現実からエンジニアリングを俯瞰する #devsumiB #devsumi
「ユーザーを理解するって言うほどカンタンじゃないよね」 UXデザイン・UXリサーチをもう一度ちゃんと理解しよう!
「ユーザーを理解するって言うほどカンタンじゃないよね」 UXデザイン・UXリサーチをもう一度ちゃんと理解しよう!
Agile and Business
Agile and Business
フロー効率性とリソース効率性、再入門 #devlove #devkan
フロー効率性とリソース効率性、再入門 #devlove #devkan
営業向け ABテストの統計学 データアーティスト
営業向け ABテストの統計学 データアーティスト
30分でわかるマイクロサービスアーキテクチャ 第2版
30分でわかるマイクロサービスアーキテクチャ 第2版
事業成長にコミットするエンジニア組織への道のり
事業成長にコミットするエンジニア組織への道のり
実録 ペルソナが死ぬとき 〜ペルソナの上手な使いかた〜
実録 ペルソナが死ぬとき 〜ペルソナの上手な使いかた〜
ウェブパフォーマンスの基礎とこれから
ウェブパフォーマンスの基礎とこれから
UXのためのUIデザイン
UXのためのUIデザイン
Similar to TensorFlowで訓練したLINE BotをAWS Lambdaで動かしてみた
アプリ開発の境界問題を支えるツール
アプリ開発の境界問題を支えるツール
Keishi Hosoba
初めてのRxSwift
初めてのRxSwift
Ivan Luque
190731 chalice
190731 chalice
Takuya Nishimoto
Example using LattePanda
Example using LattePanda
Hirokazu Egashira
はじめてのiOSアプリ開発 Swift対応版
はじめてのiOSアプリ開発 Swift対応版
Tomoki Hasegawa
リモートデバッグツール Weinerをつかってみた
リモートデバッグツール Weinerをつかってみた
Masakazu Muraoka
今時のオンプレなgithubクローン環境構築
今時のオンプレなgithubクローン環境構築
You&I
AWSによるサーバーレスアーキテクチャ
AWSによるサーバーレスアーキテクチャ
真吾 吉田
HTML5時代のwebクリエイターに必要なこと
HTML5時代のwebクリエイターに必要なこと
Masakazu Muraoka
PHPからgoへの移行で分かったこと
PHPからgoへの移行で分かったこと
gree_tech
IoT ChatOps #IoTLT
IoT ChatOps #IoTLT
Keita Moromizato
Fluxflex meetup 2011 in Tokyo
Fluxflex meetup 2011 in Tokyo
Kyosuke Inoue
Platform.html5
Platform.html5
Masakazu Muraoka
コミュニケーションソフトウェアを創るということ
コミュニケーションソフトウェアを創るということ
Kazuho Oku
スタートアップツールチラ見せ
スタートアップツールチラ見せ
Hisatoshi Kikumoto
TensorFlowで音声認識
TensorFlowで音声認識
祐太 上岡
fluxflex meetup in Tokyo
fluxflex meetup in Tokyo
Kyosuke Inoue
Slack,Teams,LINE botの作り方の違いとか
Slack,Teams,LINE botの作り方の違いとか
Mitsuhiro Yamashita
Slack,Teams,LINE botの作り方の違いとか
Slack,Teams,LINE botの作り方の違いとか
Mitsuhiro Yamashita
Livlisのcakephp事例
Livlisのcakephp事例
Masahiro Saito
Similar to TensorFlowで訓練したLINE BotをAWS Lambdaで動かしてみた
(20)
アプリ開発の境界問題を支えるツール
アプリ開発の境界問題を支えるツール
初めてのRxSwift
初めてのRxSwift
190731 chalice
190731 chalice
Example using LattePanda
Example using LattePanda
はじめてのiOSアプリ開発 Swift対応版
はじめてのiOSアプリ開発 Swift対応版
リモートデバッグツール Weinerをつかってみた
リモートデバッグツール Weinerをつかってみた
今時のオンプレなgithubクローン環境構築
今時のオンプレなgithubクローン環境構築
AWSによるサーバーレスアーキテクチャ
AWSによるサーバーレスアーキテクチャ
HTML5時代のwebクリエイターに必要なこと
HTML5時代のwebクリエイターに必要なこと
PHPからgoへの移行で分かったこと
PHPからgoへの移行で分かったこと
IoT ChatOps #IoTLT
IoT ChatOps #IoTLT
Fluxflex meetup 2011 in Tokyo
Fluxflex meetup 2011 in Tokyo
Platform.html5
Platform.html5
コミュニケーションソフトウェアを創るということ
コミュニケーションソフトウェアを創るということ
スタートアップツールチラ見せ
スタートアップツールチラ見せ
TensorFlowで音声認識
TensorFlowで音声認識
fluxflex meetup in Tokyo
fluxflex meetup in Tokyo
Slack,Teams,LINE botの作り方の違いとか
Slack,Teams,LINE botの作り方の違いとか
Slack,Teams,LINE botの作り方の違いとか
Slack,Teams,LINE botの作り方の違いとか
Livlisのcakephp事例
Livlisのcakephp事例
TensorFlowで訓練したLINE BotをAWS Lambdaで動かしてみた
1.
TensorFlowで訓練した LINE BotをAWS Lambdaで動 かしてみた 2016/11/08
Van Huy 株式会社ガラパゴス
2.
About me ● Van
Huy (バン フイ) ● @vanhuyz ● ベトナム出身 ● 東京大学電子情報工学科卒 ● サーバーエンジニア ● 最近はTensorFlow, Elixirに興味がある
3.
ガラパゴスって? ● スマートフォンアプリの受託開発の会社です! ● https://www.glpgs.com ●
技術: ○ 言語:Swift, Java, Ruby, Python, Elixir... ○ ツール: Slack, GitLab, GitLab-CI, Docker, Jenkins, Fastlane, Terraform, Ansible, Vagrant... ○ その他:ディープラーニング, IoT ○ 技術ブログ: http://gtech.hatenablog.com/
4.
自社アプリ Start fit うごく猫 運動習慣支援アプリ iPhone,
AppleWatch 猫好きホイホイアプリ iPhone ひっそり30万DL ニャー
5.
LINEスタンプも作ってます ダイエット 作画崩壊 ゆるゆる
取り急ぎJK
6.
デモ
7.
まずはデモしましょう! LINEで友達を追加!
8.
9.
Botについて
10.
このbotを作るには ● 人工無能 ○ 単語レベルのパターンマッチ
11.
このbotを作るには ● 人工無能 ● 少し知能を育てたい
12.
このbotを作るには ● 人工無能 ● 少し知能を育てたい 訓練します!
13.
Botを訓練するデータ ● おやすみ ● おめでとう
14.
課題 ● いい感じのbotを作るには大量のデータが必要 ○ LINEのチャットデータは持っていない ○
メッセージ1個ずつスタンプラベルをつけるのが 超大変
15.
これを見かけた 絵文字
16.
絵文字からスタンプに変換(手動)
17.
ツイートから訓練データが作れる! ● おやすみ ● おめでとう
18.
Twitterには無限に訓練データがあ る!
19.
現状のデータ ● 3日間でツイートを収集 ● ~23万のツイートを分割・整理して~28万文ができた ○
訓練用:25万文 ○ テスト用:3万文 ● ラベルスタンプ数:46
20.
ある文に適切なスタンプを推定 テキスト分類問題
21.
テキスト分類 ● 応用 ○ スパムフィルタ:スパム/スパムでないメールを分類する ○
新聞をカテゴリに分類する ○ 感情分析 ● 機械学習の古典な手法 ○ ナイーブベイズ ○ サポートベクトルマシン(SVM)
22.
ディープラーニングの登場 ● 機械学習の一部 ● 自然言語処理においてRNN(Recurrent
Neural Network - 再帰 型ニューラルネットワーク)が強い ○ 機械翻訳 ○ 文章自動生成 ○ 音声認識 ○ 画像キャプション生成
23.
流れ ● テキスト前処理 ○ ツイートの固有単語を排除(RT,
URLなど) ○ MeCabで分かち書き ● 単語をRNNに入れる ● RNNの出力からスタンプを推定
24.
誕生日 おめでとう ござい
ます 単語の列 RNNモデル スタンプID 誕生日おめでとうございます 分かち書き
25.
訓練環境 ● GPU GeForce
GTX 1080 8GB ● TensorFlow v0.11 ● Docker経由 ● 訓練時間:8時間程度
26.
訓練結果の可視化 ・近いほど意味が近いという ・「スタンプの意味空間」
27.
問題点と今後の方針 ● 未知の単語に対してはまだ弱い ○ 訓練データを増やす ●
絵文字からスタンプにマッピングは主観的 ● 本物の訓練データ収集機能を実装したい ○ スタンプが間違ったらユーザー指摘できるように
28.
AWS構成
29.
大変お世話になった記事 http://qiita.com/hiyuzawa/items/10e7bf2f6ad5d1c7fc9c
30.
31.
32.
33.
34.
35.
感想 ● AWS Lambdaの実行コードのサイズ制限は厳しい ○
MeCabの良い辞書が使えない ○ TensorFlowのモデルの表現能力 (capacity) が上げられない ● Python3系まだ対応していない ● Lambdaの起動タイムラグがある ○ 長い間使わないと自動的停止してしまう ○ 2つのLambdaで合計5秒ぐらいのタイムラグがある ● 料金に関して ○ ほとんど無料枠に収まる ○ VPC NAT Gatewayだけは料金がちょっと高い
36.
最後に ● ガラパゴスではエンジニアを募集中 ○ 最先端の技術に興味がある ○
ものづくりが好きだ ○ 難しい課題に取り組みたい ○ フレックスで自由に働きたい ○ 自動化が好きだ ○ etc ... ● 一つでも当てはまる方!是非一緒に働きましょう!!
37.
ご清聴ありがとうございました!
38.
参考:LINE Botの作り方について ● LINE
Messenging APIを利用 ● LINE Business Centerを登録して、Channel (bot)を管理画面で 作る ● Channel SecretとChannel Access Tokenがもらえる ● Line SDK (Python)を利用する ● サーバーのURLをBotのWebhook URLに登録する (httpsが必 要)
39.
参考:TensorFlowで単純なRNNの実装例 # LSTMを使う cell =
tf.nn.rnn_cell.BasicLSTMCell(LSTM_SIZE, state_is_tuple=True) # RNNの定義 outputs, state = tf.nn.dynamic_rnn(cell, embed_inputs, # 単語ベクトル dtype=tf.float32, sequence_length=sequence_length # 文の長さ )
40.
参考:パラメータチューニング前:overfitting loss test train steps
41.
参考:dropoutを入れた結果:underfitting? loss test train データを増やすべき? steps
Download now