Submit Search
Upload
TensorFlowで訓練したLINE BotをAWS Lambdaで動かしてみた
•
5 likes
•
4,911 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
Dialogflow
Dialogflow
Luca Maiano
ユーザーストーリー:ファースト・ジェネレーション
ユーザーストーリー:ファースト・ジェネレーション
Masanori Kado
情報 プレゼン原稿
情報 プレゼン原稿
maruri0423
Lessons learned from building practical deep learning systems
Lessons learned from building practical deep learning systems
Xavier Amatriain
第1回ITIL勉強会資料
第1回ITIL勉強会資料
takeshisuzuki32
KaoNet: Face Recognition and Generation App using Deep Learning
KaoNet: Face Recognition and Generation App using Deep Learning
Van Huy
KaoNet v2 - Face Translation using CycleGAN
KaoNet v2 - Face Translation using CycleGAN
Van Huy
Recommended
TensorFlowで会話AIを作ってみた。
TensorFlowで会話AIを作ってみた。
tak9029
Dialogflow
Dialogflow
Luca Maiano
ユーザーストーリー:ファースト・ジェネレーション
ユーザーストーリー:ファースト・ジェネレーション
Masanori Kado
情報 プレゼン原稿
情報 プレゼン原稿
maruri0423
Lessons learned from building practical deep learning systems
Lessons learned from building practical deep learning systems
Xavier Amatriain
第1回ITIL勉強会資料
第1回ITIL勉強会資料
takeshisuzuki32
KaoNet: Face Recognition and Generation App using Deep Learning
KaoNet: Face Recognition and Generation App using Deep Learning
Van Huy
KaoNet v2 - Face Translation using CycleGAN
KaoNet v2 - Face Translation using CycleGAN
Van Huy
アプリ開発の境界問題を支えるツール
アプリ開発の境界問題を支えるツール
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
More Related Content
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