Link
Embed
Share
Beginning
This slide
Copy link URL
Copy link URL
Copy iframe embed code
Copy iframe embed code
Copy javascript embed code
Copy javascript embed code
Share
Tweet
Share
Tweet
Slide 1
Slide 1 text
弊社マスコットのマザーゆっくりと、 チャットボットのこれから OSC Hokkaido 2016 InfininteLoop - Masaru Yamagishi
Slide 2
Slide 2 text
自己紹介 名前 : 山岸 大(マサル) 年齢 : 0x19 趣味 : 言語 : 所属 : 2
Slide 3
Slide 3 text
https://www.infiniteloop.co.jp/blog/2016/04/laravel-5-1- lts-feature/ https://www.infiniteloop.co.jp/blog/2016/04/php7-0-all-rfc/ 3
Slide 4
Slide 4 text
4
Slide 5
Slide 5 text
所在地 : サッポロファクトリー1条館3階 設立 : 2007年6月(満9歳) 人員 : 140名前後(絶賛募集中!) 業務 : ソーシャルゲーム開発, Webアプリケーション開発 5
Slide 6
Slide 6 text
祝・仙台支社開設! https://www.infiniteloop.co.jp/blog/2016/05/sendai-office/ 6
Slide 7
Slide 7 text
7
Slide 8
Slide 8 text
仕事中の細かい連絡、 どうしてますか? 8
Slide 9
Slide 9 text
予定変更します 確認のお願い 雑談 日報 技術相談 リンク共有 レビューよろしく 帰りたい 議事録書いた 昼何食べる? アンケートお願い 会議の時間です 外出します 今日の予定は? デプロイします 9
Slide 10
Slide 10 text
めんどい 10
Slide 11
Slide 11 text
めんどい 11
Slide 12
Slide 12 text
見ない 12
Slide 13
Slide 13 text
チャット 13
Slide 14
Slide 14 text
これだ Thanks to . 14
Slide 15
Slide 15 text
チャットのいい所 1. 発言履歴 -> 後から見返せる 2. 場所を選ばない -> リモートワーク, 支社間交流, 外出時交流 3. 非同期 -> 都合の良い時に返信 4. 当人以外にも共有 -> 「秘密の仕様」が生まれない 15
Slide 16
Slide 16 text
チャットのいい所 1. 発言履歴 -> 後から見返せる 2. 場所を選ばない -> リモートワーク, 支社間交流, 外出時交流 3. 非同期 -> 都合の良い時に返信 4. 当人以外にも共有 -> 「秘密の仕様」が生まれない 16
Slide 17
Slide 17 text
逆に 17
Slide 18
Slide 18 text
チャットの苦手な所 1. 情報量が少ない -> 誤解が生まれる 2. 相手の心の内が読めない -> 誤解が生まれる 3. 時間を吸収される -> チャットは悪魔 18
Slide 19
Slide 19 text
チャットの苦手な所 1. 情報量が少ない -> 絵文字や画像を使って表現を増やそう 2. 相手の心の内が読めない -> 気にしない 3. 時間を吸収される -> 気をつける 19
Slide 20
Slide 20 text
チャットの長短を 理解すべし 20
Slide 21
Slide 21 text
21
Slide 22
Slide 22 text
× 22
Slide 23
Slide 23 text
23
Slide 24
Slide 24 text
- 報告・連絡・相談 - 雑談 - 技術共有 24
Slide 25
Slide 25 text
× 25
Slide 26
Slide 26 text
? 26
Slide 27
Slide 27 text
× 27 http://www.jp.playstation.com/software/title/pljm80054.html
Slide 28
Slide 28 text
「マザーゆっくり支配計画」 「マザーゆっくり支配計画」 28
Slide 29
Slide 29 text
「マザーゆっくり支配計画」 今はまだチャットボット...。 × 29
Slide 30
Slide 30 text
30
Slide 31
Slide 31 text
31
Slide 32
Slide 32 text
※1 : https://github.com/fujimoto/php-skype ※2 : https://github.com/gree/php-dbus PHPマザーゆっくり構成図 32
Slide 33
Slide 33 text
PHPマザーゆっくり構成図 ※1 : https://github.com/fujimoto/php-skype ※2 : https://github.com/gree/php-dbus 33
Slide 34
Slide 34 text
▶ hubot 34
Slide 35
Slide 35 text
hubotマザーゆっくり構成図 35
Slide 36
Slide 36 text
マザーゆっくり機能 36
Slide 37
Slide 37 text
マザーゆっくりの使われ方 基本的に全社共通で利用する機能を搭載 = プロジェクト単位の機能は別のBOTを併用 37
Slide 38
Slide 38 text
Webスクレイピング 38
Slide 39
Slide 39 text
Webスクレイピング Webページに見に行くのめんどい ↓ チャットは常に画面に出てるからそこに出ればいい ↓ BOT機能化 39
Slide 40
Slide 40 text
:tenki 40
Slide 41
Slide 41 text
:jr 41
Slide 42
Slide 42 text
:eiga 42
Slide 43
Slide 43 text
発声 43
Slide 44
Slide 44 text
ゆっくりはしゃべる 44
Slide 45
Slide 45 text
ゆっくりはしゃべる AquesTalk を利用して発声 - アラートの通知 - 予定の通知 - 朝の一言 - その他なんでもチャットを介して 45
Slide 46
Slide 46 text
https://www.infiniteloop.co.jp/blog/2013/02/yukkuritalk/ 46
Slide 47
Slide 47 text
ゆっくりがしゃべるまで 47
Slide 48
Slide 48 text
Google Apps 連携 48
Slide 49
Slide 49 text
Google Apps 連携 Google Apps 使ってる ↓ APIもあるし連携出来るだろう ↓ BOT機能化 49
Slide 50
Slide 50 text
:schedule その日一日の Google Calendar 内の予定を通知 朝9:30に社内連絡用の部屋に発言される 50
Slide 51
Slide 51 text
:lunch 51
Slide 52
Slide 52 text
:lunch 52
Slide 53
Slide 53 text
リマインダー 定時に発言して欲しい ↓ Google Spreadsheet に書いたら自動でゆっくりが発言してくれる機能をGASで 53
Slide 54
Slide 54 text
API化 54
Slide 55
Slide 55 text
チームBOT作るの面倒 チーム用の発言BOT作りたいけど、アカウントの用意とか面倒 ↓ マザーゆっくりが発言を代替してくれればいい ↓ 特定のHTTPエンドポイントにPOSTすると、それに合わせた窓・内容を発言してくれる 55
Slide 56
Slide 56 text
ゆっくりのAPI化 56
Slide 57
Slide 57 text
57
Slide 58
Slide 58 text
チームBOT 58
Slide 59
Slide 59 text
ChatOps (バズワード) 59
Slide 60
Slide 60 text
ChatOps? 開発・運用における共有されるべき操作(マージ・ビルド・デプロイ・通知・etc) をチャット上で完結させられるように、 BOTやインテグレーションを実装する開発・運用手法の1つ 60
Slide 61
Slide 61 text
ChatOpsの利点 - 操作のログが残る - 関係者全員に共有される - 共通インターフェースで操作出来る - 連携効果が生まれる 61
Slide 62
Slide 62 text
チームで使う外部サービス - バージョン管理(github, gitlab, subversion, …) - 資料作成(Google Spreadsheet, …) - 継続的インテグレーション(Jenkins, TravisCI, …) - デプロイ(Ansible, Docker, …) - アラート通知(Munin, NewRelic, …) 62
Slide 63
Slide 63 text
にBOTを 63
Slide 64
Slide 64 text
Integrate!! 64
Slide 65
Slide 65 text
連携効果 65
Slide 66
Slide 66 text
連携効果 - チーム共通インターフェース - 属人性の排除 => 全員見れて、全員操作出来る - 統一されたインターフェース - 一箇所での入力 => 全ての外部サービス - 全ての外部サービスの出力 => 一箇所のチャット 66
Slide 67
Slide 67 text
実例 67
Slide 68
Slide 68 text
68
Slide 69
Slide 69 text
BOTのつくりかた 69
Slide 70
Slide 70 text
1 2 3 70
Slide 71
Slide 71 text
hubot 71
Slide 72
Slide 72 text
https://github.com/github/hubot/ 72
Slide 73
Slide 73 text
hubotの構造 73
Slide 74
Slide 74 text
74
Slide 75
Slide 75 text
yo hubot 75
Slide 76
Slide 76 text
bin/hubot --adapter shell scripts/example.coffee を試しに利用する 76
Slide 77
Slide 77 text
アダプタの設定 hubotを利用したいチャットサービスのアダプタを探す(大体ある) - hubot-slack - hubot-chatwork - hubot-gitter2 - skype(後述) - ... 77
Slide 78
Slide 78 text
hubot-slack 78
Slide 79
Slide 79 text
SlackにBOTを登録 79
Slide 80
Slide 80 text
SlackにBOTを登録 80
Slide 81
Slide 81 text
SlackにBOTを登録 81
Slide 82
Slide 82 text
SlackにBOTを登録 82
Slide 83
Slide 83 text
Slack BOTを起動 83
Slide 84
Slide 84 text
@mybot ship it 84
Slide 85
Slide 85 text
スクリプトの追加 `scripts/example.coffee` を参考にやりたいことを scripts に追加していくだけ - HTTPサーバ化 - cron定期実行 - アダプタ以外のAPIを叩く - Webスクレイピング - etc node.jsで出来ることは何でも出来る 85
Slide 86
Slide 86 text
公式スクリプト 公式のスクリプトが100以上 https://github.com/hubot-scripts - trello - redif - auth - youtube - google-translate - github-repo-event-notifier - hearthstone - ... 86
Slide 87
Slide 87 text
非公式スクリプト 87
Slide 88
Slide 88 text
forever - hubot はフロントエンドプロセスで動く - デーモン化が必要 - `npm install --global forever` - `forever start bin/hubot --adapter shell` - バックエンドで動く・プロセス死亡時自動リスタート 88
Slide 89
Slide 89 text
heroku Platform as a Service(PaaS) である heroku にデプロイでも楽 89
Slide 90
Slide 90 text
90
Slide 91
Slide 91 text
チャット周辺環境の 変化 91
Slide 92
Slide 92 text
チャットサービス 高機能化 92
Slide 93
Slide 93 text
93
Slide 94
Slide 94 text
94
Slide 95
Slide 95 text
95
Slide 96
Slide 96 text
チャットサービス API 96
Slide 97
Slide 97 text
あれ... 97
Slide 98
Slide 98 text
API…? 98
Slide 99
Slide 99 text
99
Slide 100
Slide 100 text
100
Slide 101
Slide 101 text
ビジネス向けBOT 101
Slide 102
Slide 102 text
LINE BOT https://business.line.me/ja/products/4/introduction 102
Slide 103
Slide 103 text
Messenger platform https://developers.facebook.com/docs/messenger-platform 103
Slide 104
Slide 104 text
Microsoft Bot Framework https://dev.botframework.com/ 104
Slide 105
Slide 105 text
BOT for business 自然言語処理・機械学習との連携が注目されている - 会話感覚で注文出来るようになる - 個人に最適化したサジェスト 105
Slide 106
Slide 106 text
BOTのこれから 106
Slide 107
Slide 107 text
SNS BOT 107
Slide 108
Slide 108 text
SNS BOT - Twitter - Facebook - LINE - Instagram - … どこにでもBOTがいて、人間のアカウントと変わらずタイムラインに人格を持って住む 108
Slide 109
Slide 109 text
Business BOT 109
Slide 110
Slide 110 text
Business BOT - ChatOps - 業務効率化用自動作業 BOT - チャットルームの雰囲気作り - 一人の人間のように振る舞う - 通販購入のサポート - 「こういうのが欲しい」と BOTに言うと、サジェストしてくれる - リアルタイムサポートデスク - 質問を認識し答えてくれる 110
Slide 111
Slide 111 text
Personal BOT 111
Slide 112
Slide 112 text
Personal BOT 自分の端末に、自分の行動をサポートしてくれるヘルパーAI もういる(Siri, Cortana, OK Google) 他にIoS連携してみたり 112
Slide 113
Slide 113 text
113
Slide 114
Slide 114 text
まとめ - InfiniteLoop にはマザーゆっくりBOTがいて色々してくれる - BOT 利用シーンが急増している - LINE, Microsoft, Facebook も始めた - BOT は生活必需品 - 個人でも会社でも - 一人の「人間」のように振る舞う - 愛着が湧いてくる - 利用する人間によって特徴も変わっていく? - 元々「ROBOT」なので、ROBOTと共に進歩していく 114
Slide 115
Slide 115 text
社員募集中 現在インフィニットループでは、エンジニアを募集しています
Slide 116
Slide 116 text
社員募集中 現在インフィニットループでは、エンジニアを募集しています - PHPを用いたWebアプリケーション開発 - iPhone, Androidアプリケーション開発 - JavaScriptを用いたアプリケーション開発 - Linuxサーバ構築、保守 - ゲーム企画
Slide 117
Slide 117 text
exit(0);