プロジェクト(金岡グループ)
第 1 回
2017年4月7日 金岡 晃
プロジェクトの全体像
シラバスより
実践的なテーマに基づく、情報システム開発の演習を通して、目標設定、計 画、実行、評価の基本的な流れを習得する。
情報システム開発の演習を通して、ネットワーク、データベース、
JavaScript、PHPなどのWebサービス開発用の言語についての基礎を習得す る。
自ら目標設定し、開発工程を管理し、グループメンバと協力して一つの目標 を達成する経験を通して、プロジェクトの推進方法を理解し、メンバーと協 力してプロジェクトに参画できるようになる。
授業の目的と学習成果
2017/4/7 プロジェクト
1
金岡プロジェクトテーマ
配布資料より
テーマC 独自チャットボット作成
コミュニケーションツールSlack上で動き回るチャットボットシステムを 作成する。シェルスクリプトやJavaScriptなどのスクリプト言語と、外 部APIやデータセットの活用により、チームごとに特色のあるチャット ボットの実現を試みる。
Slack?
チャットボット?
外部API?データセット?
このあたりを今日解説します
2017/4/7 プロジェクト
2
金岡プロジェクトテーマ
配布資料より
テーマC 独自チャットボット作成
コミュニケーションツールSlack上で動き回るチャットボットシステムを 作成する。シェルスクリプトやJavaScriptなどのスクリプト言語と、外 部APIやデータセットの活用により、チームごとに特色のあるチャット ボットの実現を試みる。
技術要素
なんらかの言語を使ったプログラミング 外部リソースの活用
HTTPによるアクセス
2017/4/7 プロジェクト
3
スケジュール
内容
第1回(4月7日) プロジェクトの概要説明、基礎知識の学習(1)
第2回(4月14日) 基礎知識の学習(2)、Botデザイン 第3回(4月21日) Botデザインまとめ、発表
第4回(4月28日) 開発(1)
第5回(5月12日) 開発(2)
第6回(5月19日) 開発(3)
第7回(5月26日) 成果発表会
2017/4/7 プロジェクト
4
チーム編成
• 人数構成
• 3年生グループ2:14名
• 2年生グループ3:18名
• 4名チーム(3年生2名、2年生2名)が3チーム、5名チーム(3年生2 名、2年生3名)が4チーム
• 編成はランダムに決めます
2017/4/7 プロジェクト
5
成果報告の形式、提出物
成果報告の形式
• プレゼンテーション
• 狙い、利用した技術、工夫した点や改善した点、残課題
• ライブデモ
2017/4/7 プロジェクト
6
• 出席状況<プロジェクト参加状況>
• レポート(個人ごと)<授業態度、実験成果>
• プレゼンテーション(チーム)<授業態度、実験成果>
• 成果物(チーム)<実験成果>
評価
シラバスより
原則として、プロジェクト参加状況50%、授業態度25%、実験成果25%
として評価する。プロジェクトの進め方、成果・作品等は改善点などを 講評する。
金岡プロジェクトでの評価
独自性 面白さ ソースコードの質
2017/4/7 プロジェクト
7
ティーチングアシスタント(
TA)の紹介
•
緑川達也(
M1)
•
今井宏謙(
B4)
2017/4/7 プロジェクト
8
チーム編成
2017/4/7 プロジェクト
9
チーム編成(学番順)
学番 氏名 グループID
5515025笠原 康平 5
5515026柏木 伸夫 3
5515027加瀬 貴士 4
5515028片岡 敬済 7
5515035北爪 みづほ 6
5515036工藤 慶明 7
5515037國上 寛規 1
5515038倉本 奈々 2
5515041桑名 健史 3
5515044古山 貴大 5
5515045古山 祐輝 2
5515051坂井 大騎 1
5515054佐藤 弘毅 6
5515055佐藤 誠人 4
学番 氏名 グループID
5516032角田 朱 1
5516034輕部 響子 4
5516035河合 惇丞 5
5516036川﨑 大輝 7
5516037仇 嘉琦 3
5516040倉持 涼 4
5516041阮 怡亮 7
5516043小林 慶大 5
5516044齊藤 岬 5
5516046佐藤 健太郎 6
5516048佐藤 大河 4
5516049佐藤 希美 2
5516051塩崎 航成 6
5516052清水 瑛功冴 7
5516053下村 遥 2
5516055杉野 友亮 3
5516057鈴木 和輝 1
5516058平良 大輝 6
2017/4/7 プロジェクト
10
チーム編成(グループごと)
学番 氏名
5515037 國上 寛規 5515051 坂井 大騎 5516032 角田 朱 5516057 鈴木 和輝
学番 氏名
5515038 倉本 奈々 5515045 古山 祐輝 5516049 佐藤 希美 5516053 下村 遥
学番 氏名
5515026 柏木 伸夫 5515041 桑名 健史 5516037 仇 嘉琦 5516055 杉野 友亮
学番 氏名
5515027 加瀬 貴士 5515055 佐藤 誠人 5516034 輕部 響子 5516040 倉持 涼 5516048 佐藤 大河
学番 氏名
5515025 笠原 康平 5515044 古山 貴大 5516035 河合 惇丞 5516043 小林 慶大 5516044 齊藤 岬
学番 氏名
5515035 北爪 みづほ 5515054 佐藤 弘毅 5516046 佐藤 健太郎 5516051 塩崎 航成 5516058 平良 大輝
学番 氏名
5515028 片岡 敬済 5515036 工藤 慶明 5516036 川﨑 大輝 5516041 阮 怡亮 5516052 清水 瑛功冴 グループ1 グループ3 グループ5 グループ7
グループ2 グループ4
グループ6
2017/4/7 プロジェクト
11
金岡プロジェクトテーマ
配布資料より
テーマC 独自チャットボット作成
コミュニケーションツールSlack上で動き回るチャットボットシステムを 作成する。シェルスクリプトやJavaScriptなどのスクリプト言語と、外 部APIやデータセットの活用により、チームごとに特色のあるチャット ボットの実現を試みる。
Slack?
チャットボット?
外部API?データセット?
このあたりを今日解説します
2017/4/7 プロジェクト
12
SLACK とは
2017/4/7 プロジェクト
13
Slack とは
Slack(スラック)
コミュニケーションツール。グループでのチャットを中心として、ユー ザ間のダイレクトメッセージやトピックごとのチャットなどが可能な Webサービス
https://slack.com/
類似・近いサービス?
2017/4/7 プロジェクト
14
ブラウザから Slackにログイン したところ
2017/4/7 プロジェクト
15
Slack のポイント(1)
チームごとに作成
• チームごとにSlackの場所を作成可能
• チームには複数のユーザが参加可能(ユーザ数無制限)
• チームごとに独自URLが与えられる
• たとえば金岡研Slackの場合は https://toho-klab.slack.com/
• 上記の”toho-klab”がチーム名
• チームのドメインに使われる名称は重複してはいけない
2017/4/7 プロジェクト
16
Slack のポイント(2)
チャット
• チーム全体
• ユーザ同士(ダイレクトメッセージ)
• チャンネル
• チームのうち特定のユーザが参加した チャットルーム
• 他のチームユーザへ公開するものと、
非公開にするもの(プライベートチャ ンネル)がある
• チャンネル名のあたまには「#」が付 く
• 厳密にはチーム全体のチャットも
#general というチャンネルになる
2017/4/7 プロジェクト
17
Slack のポイント(3)
ファイル共有
• ドラックアンド ドロップで簡単 に可能
2017/4/7 プロジェクト
18
Slack のポイント(4)
リンクの貼り付け
• URLを貼り付け ると、そのタイ トルや要約、サ ムネイル画像な どが出る
2017/4/7 プロジェクト
19
Slack のポイント(5)
スニペット
• 「切れ端」とい う意味
• ソースコードの 一部などを貼り 付けて共有可能
2017/4/7 プロジェクト
20
Slack のポイント(6)
対応プラットフォームの充実
• ブラウザから利用可能
• 専用アプリケーション
• デスクトップアプリ:Windows OS, Mac OS X, Linux (Ubuntu, Fedora)
• モバイルアプリ:iOS (iPhone, iPad), Android OS, Windows Mobile
2017/4/7 プロジェクト
21
Slack のポイント(7)
連動アプリケーション
• 連動するアプリ ケーションが非 常に多い
2017/4/7 プロジェクト
22
連動アプリ: Google Hangout
2017/4/7 プロジェクト
23
連動アプリ: Google カレンダー
2017/4/7 プロジェクト
24
コマンド:リマインド
2017/4/7 プロジェクト
25
コマンド:リマインド
2017/4/7 プロジェクト
26
Slack チームを作ろう
2017/4/7 プロジェクト
27
まずSlackのページにブラウザでアクセス https://slack.com/
チームの 代表者1人が 作業しよう
Slack チームを作ろう
2017/4/7 プロジェクト
28
まずSlackのページにブラウザでアクセス https://slack.com/
ここにメールアド レスを入力して
「Get Started」ボタ ンを押す
Slack チームを作ろう
2017/4/7 プロジェクト
29
Slack チームを作ろう
2017/4/7 プロジェクト
30
ページの下に移動する
「Create a new
team」を押す
Slack チームを作ろう
2017/4/7 プロジェクト
31
Slack チームを作ろう
2017/4/7 プロジェクト
32
さきほど入力したメールアドレスに
6桁のコードが含まれたメールが届いている のでそれを入力
2017/4/7 プロジェクト 33
Slack チームを作ろう
2017/4/7 プロジェクト
34
名前(氏名)とユーザア カウント名を入れて、
「Continue to Password」 を押す
Slack チームを作ろう
2017/4/7 プロジェクト
35
パスワードを入力 して「Continue to Team Info」を押す
Slack チームを作ろう
2017/4/7 プロジェクト
36
こんな感じで入力 してください
Slack チームを作ろう
2017/4/7 プロジェクト
37
グループ名を入力
※ここは好きな名前を付 けられます
Slack チームを作ろう
2017/4/7 プロジェクト
38
グループ名を入力
※ここは好きな名前を付 けられます
Slack チームを作ろう
2017/4/7 プロジェクト
39
グループ名に従ったURL の決定
※ここの名称はすでに誰 かに使われてたらダメ
このURL、メモしてお きましょう。
Slack チームを作ろう
2017/4/7 プロジェクト
40
Slack チームを作ろう
2017/4/7 プロジェクト
41
同意しますか?と聞か れているので同意する なら「I Agree」を押す
Slack チームを作ろう
2017/4/7 プロジェクト
42
ここで自分以外のユー ザを招待(Invite)でき るので、他のメンバを 招待しましょう。
入力されたメールアド レスにメールが届きま すので確認しましょう
Slack チームを作ろう
2017/4/7 プロジェクト
43
いろいろと SLACK をいじってみよう
2017/4/7 プロジェクト
44
いろいろいじってみよう
2017/4/7 プロジェクト
45
まずはみんなでチャットしよう
#general で入力すると、みんなにメッセージが届きます 個人同士でメッセージをやりとりしてみよう
DIRECT MESSAGESでユーザ名を選んで、そこで入力すると、そのユーザ にメッセージが届きます。
これは他ユーザには見えません。
いろいろいじってみよう
2017/4/7 プロジェクト
46
プロフィール画像の変更
このマークをクリック
いろいろいじってみよう
2017/4/7 プロジェクト
47
“Profile & account”をクリック プロフィール画像の変更
いろいろいじってみよう
2017/4/7 プロジェクト
48
プロフィール画像の変更
“Edit Profile”をクリック
いろいろいじってみよう
2017/4/7 プロジェクト
49
プロフィール画像の変更
アイコン画像の上に
マウスカーソルを持ってくる
いろいろいじってみよう
2017/4/7 プロジェクト
50
プロフィール画像の変更
クリックすると
ファイルを選択する画面になる ので画像ファイルを選択
いろいろいじってみよう
2017/4/7 プロジェクト
51
プロフィール画像の変更
“Save Profile Photo”で保存
いろいろいじってみよう
2017/4/7 プロジェクト
52
見た目を変えてみよう
いろいろな ところの色 を変更可能
いろいろいじってみよう
2017/4/7 プロジェクト
53
見た目を変えてみよう
このマークをクリック
いろいろいじってみよう
2017/4/7 プロジェクト
54
“Preferences”をクリック 見た目を変えてみよう
いろいろいじってみよう
2017/4/7 プロジェクト
55
“Sidebar Theme”をクリック 見た目を変えてみよう
いろいろいじってみよう
2017/4/7 プロジェクト
56
見た目を変えてみよう
いくつかのパター ンが選択できる
いろいろいじってみよう
2017/4/7 プロジェクト
57
見た目を変えてみよう
細かく色を指定し たい場合はここを クリック
いろいろいじってみよう
2017/4/7 プロジェクト
58
絵文字を登録してみよう
いろいろいじってみよう
2017/4/7 プロジェクト
59
絵文字を登録してみよう
“Customize Slack”を クリック
いろいろいじってみよう
2017/4/7 プロジェクト
60
絵文字を登録してみよう
その絵文字を 出すときに入 力する文字列 を入力
出力される画 像ファイルを 選択
いろいろいじってみよう
2017/4/7 プロジェクト
61
絵文字を登録してみよう
画像ファイルは
128ピクセルx128ピクセル までなので注意
いろいろいじってみよう
2017/4/7 プロジェクト
62
絵文字を登録してみよう
その他の Tips
2017/4/7 プロジェクト
63
引用
入力の最初を”> “で始めると引用の表記になる
装飾系
https://seleck.cc/416
その他の Tips
2017/4/7 プロジェクト
64
Pin
「お気に入り」のように使える
Post
スニペットのようなものを、複数ユーザで共同編集できる
チャットボット
2017/4/7 プロジェクト
65
チャットボット
2017/4/7 プロジェクト
66
ボット
チャット上でユーザとして参加してくるボット(プ ログラム)を作ることができる
プログラムのこと。特に人間に代わって作業を行うものを指すことが 多い。マルウェアの用語としての一面も持つ。
SiriやContanaもボットの一種
さまざまなプラットフォームで利用
2017/4/7 プロジェクト
67
LINE
自動的に投稿がされる
LINE NEWSや、その他企業や芸能人アカウン トなど
• https://matome.naver.jp/odai/2135855964060612201
• http://www.appgaku.com/iphone-
pickup/2013/08/20130806006767.html その他
Skype
、
Facebook Messengerなど
どんなボットがあるか
•
計算してくれる
•
ランダムに画像投稿
• StackOverflow
•
猫ボット
•
電車の遅延連絡
2017/4/7 プロジェクト
68
代表的な事例 •
天気
•
ニュース
•
スケジュール
•
タスク管理
•
レストラン・ホテル予約
変わり種
Slack ボット:天気
2017/4/7 プロジェクト
69
Weather App
“/weather
都市名
”で天気を表示してくれる
Slack ボット:ニュース
2017/4/7 プロジェクト
70
RSS
各サイトの
RSSをチェックして、新着があったらつぶやく
Slack ボット:スケジュール
2017/4/7 プロジェクト
71
Googleカレンダー
カレンダーと同期して、予定が入力されたときや、週初め
でのアナウンス、予定直前でのアナウンスなどがされる
Slack ボット:変わり種
2017/4/7 プロジェクト
72
mathbot
http://plus.appgiga.jp/masatolan/2015/07/02/56363/
Slack ボット:変わり種
2017/4/7 プロジェクト
73
猫ボット
http://www.e-agency.co.jp/column/slackbot_ai.html
簡単なボットならすぐできる
2017/4/7 プロジェクト
74
簡単なボットならすぐできる
2017/4/7 プロジェクト
75
Slackbotへの登録
“Customize Slack”を クリック
簡単なボットならすぐできる
2017/4/7 プロジェクト
76
Slackbotへの登録
“Slackbot”タ ブをクリック
簡単なボットならすぐできる
2017/4/7 プロジェクト
77
Slackbotへの登録
Botが反応す るキーワード を入力
反応するコメ ントを入力
簡単なボットならすぐできる
2017/4/7 プロジェクト
78
Slackbotへの登録
簡単なボットならすぐできる
2017/4/7 プロジェクト
79
来週は
•
より本格的な
Slackbotを作るには
•
このプロジェクトで
Slackbotを作るための環境説明
•
どんどん先に進みたい人は、以下のキーワードで調べ物をしておく といいかも
– “Node.js”
と“
Slackボット
”• JavaScript
での
Slackボット開発
–“
Hubot”と“
Slackボット”
• Python
での
Slackボット開発
2017/4/7 プロジェクト
80