ヴァル研究所さんの見学会に行ってきた
会社全体でカンバンを運用しているヴァル研究所さんの見学会に行ってきました。ちなみに前日の2/22は駅すぱあと30周年だったそうです。おめでとうございます!
ヴァル研究所さんのカンバンの取り組みは元々アジャイル界隈では有名な話ではありますが、昨年 アジャイルJapan 2017 大阪サテライト で新井さんのセッションを聞いて感銘を受け、なんとか一度見学に行ってみたいと強く思うようになっていましたがこのたび運良く参加させてもらうことができました。興奮が冷めないうちに見学してきた事をまとめておきます。
総務
- 昨年の7月からからスクラムを勉強してスクラム方式を本格導入
- 総務部のかたも認定スクラムマスター取得
- 1週間単位のスプリントでスクラムっぽく業務を回している
- 金曜にその週のふりかえりを行って翌週の計画を立てる
- タスクにかかる時間をポイント化してベロシティを測っている
- 完了条件の定義やスプリントレビューはしていない(開発と違い総務の業務はアウトプットがある程度明確だからと想像)
- 予定していない割り込み業務が多く発生するため1週間の予定値より実績値が多くなり、その差を分析してKPT方式で改善している
- 1年単位の会社行事もあるため長期的なTryが出た場合は別枠で管理
- ニコニコカレンダー
- 出社時と退社時のバロメーターをシールの色で表現
- マイナスの色が続いたり退社時のほうがマイナスだった場合はそのメンバーに声がけ
コンテンツ部門
バスの時刻表をデータ化する業務を行っている部門
- チームが担当するバス会社をバックログとして管理
- 日本地図
- 対応完了したバス会社の地域に付箋を貼って可視化
- チームごとに色分けしてあるため陣取り合戦のようになる(旧国名の地図だった)
- スキルマップ
- バス会社によってデータ化の手順が違う
- バス会社ごとにメンバーの対応可否と手順を教えられるかどうかをスキルマップ化
営業
- うんこボード
- 残業したら1時間ごとにマークを書く
- 早上がりしたらお金マーク
- メンバーの業務負荷状況を可視化
- 1週間でうんこマークのほうが多くならないように周りでフォロー
- おっぱいボード
- 贅肉⇒業務の課題や無駄を見つけて付箋化
- 胸⇒完了した付箋を胸の位置に集める
- 贅肉を取って胸をふくよかにする
- カレンダー
- アプリの施策などの業務を付箋化してカレンダーに貼る
- 終わったら付箋にスタンプを押す
- 月単位で写真を撮って残す
- 去年の同じ時期に何をやったかなどをふりかえる
- ペアワークマッチングボード
- 属人化を防ぐためにペアワークを募集する
- 募集は付箋に貼り出す
- ぼっち(ペアワークの応募がない人)同士をマッチングさせるシステムを作っている
- 属人化を防ぐためにペアワークを募集する
- 1週間の定例会議の中でお悩み相談の枠を設けている
開発部
- リリーストレイン
- 半期の目標をチームごとに落とし込んで半年のリリーストレインで表現
- 月に1回リーダーが集まってチェックする
- ○件実施などのKPIはシールを貼って数える
- 月単位のバックログ管理
- その月のチームの取り組みを付箋化してステータスを管理
APIテクノロジー部
- 1週間スプリント
- 1人1タスクを割り当て(かけもち不可)
- 8ポイントの残機
- 1週間のうち1日は問い合わせやサポート対応用のバッファ
- 週のはじめに1人8ポイントの印をつけておき1時間消費するごとに1ポイントずつ消していく
- メンバーの負荷状況を可視化
- チーム内のリリーストレイン
- チームの目標をメンバー単位に落とし込んだリリーストレイン
- 開運べいだー神社
- サービスダウンするとべいだー様の「コォー」という声が発声されるXFD
- ライトセイバーも光るらしい(障害発生時は余裕がないので光っているところは未確認らしい)
さいごに
対応頂いた @maruyamahiakru さんに色々お話を伺いつつ、感想を書いて帰宅。
これだけ全社にカンバンが浸透していることはすごいことですが、さらに言えばそれだけカイゼン風土が根付いているということでもあると思います。ヴァル研究所の社員の方々は以前からDevLove関西で RODEMの開発の現場の話 を聞かせて頂いたり、 しがないラジオにもゲスト出演 されていたりなどでよく知っていましたが、外向けにも積極的に活動されているのもこのようなカイゼンの文化から生み出されているのだろうと思いました。
【勉強会メモ】関西Javaエンジニアの会(関ジャバ) '18 2月度
- 日時:2018/02/19(月) 19:30 〜 21:00
- 場所:株式会社ロックオン大阪本社
今年最初の関ジャバは何かと話題のJavaの新しいリリースサイクルの話題からでした。色々話題になっているので断片的には情報は得ていたものの、改めて情報を整理できたのは良かったです。まだ流動的な部分もある状況ですが一度おさらいする意味でちょうど良い機会でした。Java10以降の状況についてもScalaやKotlinのようなモダンな言語の良いとろこを吸収していく動きは感じていましたが、改めてコードを交えて解説されると説得力があります。初めてJavaを書いた時からすると、これがJavaなのかというくらい変わってきた印象はあります。
後半はWeb+DB Pressで連載している「Javaの新定石」の執筆者ご自身によるお話でした。毎号読ませて頂いていますが、現場特化型とのコンセプトの通り業務での活用をイメージしやすい内容で参考にさせてもらっていました。特にSelenideの記事がちょうど仕事で使っていてタイムリーな内容だったことを覚えています。次号で最終回とのことで少し寂しさはありますが2年間お疲れ様でした。今後はJavaのリリースサイクルに合わせて半年サイクルで連載を…いえ、本当にお疲れ様でした。
Java 10以降のJavaリリース
@jyukutyo さん
- Java9 2017/9/21リリース
- Java10 2018/3/20(あと1ヶ月後)
Javaのリリースサイクル
- 半年ごとに必ずリリース
- 3ヶ月ごとにメンテナンス/セキュリティリリース
- サポートは基本的に半年(次のリリースまで)
- 無償版のOracle JDKはなくなる
- OpenJDKビルドが代わりになる
- ライセンスはGPL(クラスパス例外付きGPLv2)
Oracle JDKとOpen JDK
- 機能的な差はない
- 商用機能はOpenJDKに統合される
統合される機能
AppCDSはJava10に統合済み、残りは11以降
サポートについて
半年ごとにバージョンアップしないといけないか? ⇒No
OpenJDKにもLTSがある
- Devoxx
- Jfokus
Java8の公式アップデートは2019年1月まで
⇒LTS(Java11)がでてから4ヶ月
時期を考えると
8⇒11
というのが良さそう
新しいリリースモデルへのよくある誤解
LTSではないリリースは実験的リリース?
- 本物のリリース
各リリースは過去の各リリースのように破壊的?
- イテレーティブになっただけ
古い機能は予告から3年後に削除?
- 半年後に消える可能性もある
更新が頻繁でないシステムならLTSでないリリースは無視して良い?
- 3年単位だとメジャーバージョンを6回はさむのでそれなりに大変
LTSでないリリースはアップデートが2回しかない?
- 「最低」2回
LTSリリースは3年以上サポートされない?
- 「最低」3年
今後のJavaについて
Java10に入る機能
Java11以降
Amberについて
お作法を少なく
var
- データクラス
- recordと書くだけ
- Kotlinの
data
、Scalaのcase
に近い感じ
- 式としてのswitch
- sealed型
- パターンマッチ
※メモ
このあたりが参考になりそう
Javaの新定石
@irof さん
- Java+DB Pressで連載12回
- 次号で最終回
- ちょうど2年
コンセプト
- 現場特化
- 自分たちが実際にやっていることを書く
対象読者
- ある程度の経験
- モダンなことに興味ある
Java6⇒8のマイグレーションの話
- Project Coin
- NIO.2
- Project Lambda
マルチスレッドGCとの付き合い方
- わかったうえで安易に近づくな
- 今同じことをSpring Bootで書いても多分大差ない
※JavaEE の新名称に投票しよう
AssertJ
Java8の日付時刻操作
- Local系
- 現場で悩む「変換」
Gradleビルド環境
Optional/Stream
- 「最高」ではなく「やめとけ」と「注意しろ」
- 適材適所
Selenide
- システムテスト自動化標準ガイドにも触れている
Thymeleaf
- ナチュラルテンプレートを意識しよう
外部接続
Mockito
- 最新号を参照
- 作者: 西村宗晃,杉山俊春,monii,まつもとゆきひろ,村田賢太,柴田博志,国分崇志,遠藤侑介,常松伸哉,?石諒,高谷雄貴,穴井宏幸,神野真彦,近藤宇智朗,牧大輔,桑原仁雄,中西豪,水音ぴね,のざきひろふみ,うらがみ,ひげぽん,池田拓司,はまちや2,竹原,WEB+DB PRESS編集部
- 出版社/メーカー: 技術評論社
- 発売日: 2018/02/24
- メディア: 単行本
- この商品を含むブログを見る
海外カンファレンスJfokusの紹介と感想
@jyukutyo さん
Jfokus
VM Tech Summit
カンファレンス本体
- DDD/Kotlin/Springなど
- カンファレンスチケット:10万
- 税率25%
- 朝昼、パーティー1回込
- 航空券13万円
- 日本から直行便ない
- 宿泊費:1泊2万(3つ星)×4泊
よい運営、よいカンファレンス
寒い、物価高い、デザートが超甘い、服の色はモノトーン
JavaOneは唯一無二(5日間、参加者数千人)だが
- 自腹で行くならDevoxx/Jfokusなどに何回も行く方がよいかも
- 1回だけ行くのは費用対効果が低い
【勉強会メモ】総関西サイバーセキュリティLT大会(第7回)
- 日時:2018/02/14(水) 19:00 〜 21:00
- 場所:エムオーテックス株式会社大阪本社
2ヶ月に1回開催されている関西のセキュリティ系勉強会。今回はなんと1周年とのことでした。私個人は専門分野というわけではないので、過去に何度か恐る恐る参加させてもらったというレベルですが、毎回とても勉強になっています。
今回も行動分析によるセキュリティの話やDevSecOpsなどのキーワードは個人的に新しいインプットでした。そのほかLINEやNISCの取り組みをはじめ、年々高まっているセキュリティリスクに対する各所での取り組み事例も参考になります。
ところで、2/1〜3/18まではサイバーセキュリティ月間とのことです。今季のTVアニメ「BEATLESS」とのタイアップ企画も実施されているようです。希望者はポスターがいただけるとのことでじゃんけんして見事ゲットしました!会社の掲示スペースに貼っておこうと思います。
人の行動に視点をおいたセキュリティリスク対策について
富士通株式会社セキュリティサービス事業部シニアマネージャー 渡辺訓広さま
人の行動に視点をおいたセキュリティ
- 活用するのも破棄するのも人
- 人は信頼できない存在でもある
人の行動に視点をおく
UEBA(User Entity Behavior Analytics)
※参考
セキュリティ対策の次の一歩は「UEBA」(前) - セキュリティ対策の次の一歩は「UEBA」:Computerworld
行動分析が注目される市場背景
セキュリティ境界の膨張
- 業務委託や外部サービス利用が増えてセキュリティの境界が膨張
ガバナンスの欠如
- 成長しないセキュリティマネジメント
守るべき対象の拡散
- 働き方改革
- オフラインの端末が増えている
- アクセス回線の多様化
リスクを冒す人を防ぐ原則
- 手段、動機、機会を揃えさせない
行動分析の事例
- 単独の業務ではリスクは見つからない
例)
行動分析のポイント
- 対象部門の選定
- 事業課題・リスクの把握
- 基本方針・ポリシー・プロシージャの見直しおよび策定
LINEのセキュリティ及びプライバシー保護に関わる取り組み
LINE株式会社セキュリティ室マネージャー市原尚久さま
アプリケーションセキュリティチーム
- 設計…セキュリティデザイン
- 開発…コードチェック
- QA…リスク分析
LINE Security Bug Bounty Program
支払った報奨金
- 140,000 USD
- 69 ISSUES
- 14 Countries
- 227 Hackers
- Blocking Flow 2
- Rule-baseのフィルタリング⇒MLベースのフィルタリング導入
Elasticsearch+Kibana利用
Account Abusing(アカウント乗っ取り)
LINEサイバー防災訓練を昨年実施
認証連携の複雑化
- モバイル版…プライマリー
- PC版…セカンダリー
- LINE Family Services
- 3rdParty App
- IoT関係(Clover)
fido alliance活動
セキュリティ室(App Sec. Team)の活動
サイバーセキュリティ月間連携講演
内閣サイバーセキュリティセンター(NISC)杉尾憲さま
サイバーセキュリティ基本法
- サイバーセキュリティ基本法|情報セキュリティ関連の法律・ガイドライン|基礎知識|国民のための情報セキュリティサイト
- 改正サイバーセキュリティ基本法のポイント解説、なぜNISCの監査範囲が拡大されたのか |ビジネス+IT
サイバーセキュリティ戦略
- 国民が安全で安心して暮らせる社会の実現
普及啓発活動
サイバーセキュリティ月間⇒2/1〜3/18(サイバーの日)
3/4 BEATLESSタイアップイベント
情報セキュリティハンドブック作成
- @cas_nisc
- @nisc_forecast
日替わりコラム
サイバーセキュリティの底上げ
- 攻撃者⇒組織だっている
- 衛るがわ⇒まだまだ組織だっていない
- 情報共有、連携、自助、共助、公助
LT大会
2018年!彼女が喜ぶ神戸デート1選
1選⇒Kobe Digital Labo
わくわくどきどき脆弱性診断ハンズオンの開催
- セキュリティ診断
- Webアプリケーション
- 診断ツール
- 診断作業(ハンズオン)
使ったツール:OWASP ZAP
どういうところでつまずいたか(参加者アンケートより)
- 機能が多い
- スキャンモード
- プロテクトモード(推奨)
- スキャンスレッド
- Global Exclude URL
- Scan Progress Dialog
検証方法の体験
- アラートタブで実際に確認
- XSS
- SQLi
ツールの機能を正確に使いこなそう
CSIRT体験記 初めての長期休暇編
CSIRT専任者
リフレッシュ休暇中にインシデント発生
- 対応完了まで2週間
インシデント対応プロセス
- インシデントかどうか判断する情報収集プロセスがCSIRT担当者でボトルネック発生
圧倒的準備不足
- 作業の属人化による対応遅延
- CSIRTメンバーが誰か対応できるように対策
準備不足2
- インシデントの対応スピードを決めていなかった
- インシデントレベルと対応目標を定める
- 対応目標時間や休日対応の条件など
インシデントレスポンスは準備が超重要
NISTインシデント対応ライフサイクル
※参考
https://www.ipa.go.jp/files/000025341.pdf
先人の知恵を借りて準備
⇒インシデントは検知してからが本番ですが、やってみないとわからないこともたくさんある
- 準備できることはしておく
- 先人の知恵を借りる
- インシデント対応訓練
詳細は情シスCafe in Kobeで公開
シンガポールでセキュリティのイベントやった話
シンガポールで自社製品のPRイベント
ちゃんとお客さんが来てくれるか?⇒来てくれた
- 朝早く⇒家族大事な文化、夜は早く変えるのが当たり前
- ランチは余った
- お土産⇒一定の効果あり高額でなくてもいけそう
時空魔法で過去に戻れたら
設計時からDevSecOpsしたかった
DevSecOpsについて
2018年のトレンドらしい
DevOpsとSecのマリアージュ
⇒オンプレ環境におけるDevOpsは難しいと個人的に実感
- Dev⇒作って壊してが容易ではない
- Ops⇒バックアップから簡単につくれない
DevSecとOpsで考えると腹落ちしやすい
- 脆弱性スキャナの導入
- SAST
- DAST
ツール導入することがゴールではない
- Jenkinsでオーケストレーション
- 各種ツールを導入
DevSecOps
- デイリー自動診断と修正後に手動診断
リリースレビューの中で診断結果レポートを添付
コードを書きながらSAST
- デプロイしながらDAST
設計時からのDevSecOpsしたかった
DevSecOpsやるならお早めに
不正アクセスを受けるとどうなるか?
不正アクセスを受けて気づくまで
- メールのToにたくさんの顧客情報
- SQLインジェクションを受ける
- 休日は警察は助けてくれない
- 手足が冷える
- 胃がいたくなる
- 眠れなくなる
対策
- 攻撃者へメール
- ログ解析
- 顧客情報の重要性
- 優しくなる
【勉強会メモ】Alexa Day 2018
- 日時:2018-02-11(日)09:30 - 18:00
- 場所:スペースアルファ三宮
神戸で1日まるごとのAlexa Dayが開催されました。Alexaを冠する日本最大のイベントが開催されるとのことで張り切って行ってきました(少し遅刻して開始には間に合いませんでしたが)。
会場は大きな会議室を2つ使って同時並行でセッションが進みました。立ち見が出るセッションもあるほどで、この分野の盛り上がりを感じることができました。
セッションの中でも話題にあがっていたように音声認識や応答の技術が浸透すれば、既存のIT技術の活用には格差のある子供やお年寄りでも手軽にIT技術を活用する機会が増える可能性があります。一方でVUIという新しいユーザーインターフェースの設計や実装はまだまだ発展途上なので、今回のイベントのように実際に開発に携わった人たちが中心となってユーザーグループ主導でノウハウを共有して盛り上げていくことは今後のためにとても重要な機会だと改めて感じました。
日本ではまだ少し先になりそうですが既にアメリカではtoB向けのAlexa for Businessも始まっており、今後は家庭からオフィスまであらゆる場面にVUIが浸透し対話によるIT技術の利用がますます加速すると思われます。サーバサイド視点で考えると、モバイルの浸透の時と同様でまた1つ新たなインターフェースに対応していかなければならないとも言えるので、レガシーでモノリスなシステムはますますツラみが増すだろうなと感じずにはいられない動向でもあります。
金融機関向けAmazon Echo/Alexaへの取り組み事例紹介
※途中から参加したため後半だけのメモです。
開発について
- 通常アプリとの開発の違いはあまりない
- ローカル環境でテストドライバを使ってLambdaの確認
- ホワイトボックステスト中心
- Node.jsならテストしやすい
- 基本的に手動テスト
- 自動化はほとんどできず今後の課題
- イントネーションや発話の長さをテスト
金融機関向けと一般向けスキルの違い
セキュリティ面が中心
専用PINの発行
- 残高を聞かれる⇒PINコードを要求
- 一度PINコード認証されると数分間はOKのような仕組みも必要
OAuth2.0
- Authentication を使用
- 既存のOAuth基盤を変えずに実現
その他Tips
- アルファベットは極力カタカナで表記すると想定外の発話が返されることはない
- Intentが正しくてもSlotが正しいとは限らない
- キャンドル(カナダドル)をキャンセルと学習してしまう
- Slotのバリデーション
- エラーハンドリングの迷子
- 例)さんの…みや支店⇒Alexa:みや支店?
- ユーザーが次に何をすべきかを明確に応答する
- 8秒でタイムアウト
- ロングランの処理はさせない
今後の取組み
- Push通知(現在日本は未対応)
- どこでユーザーが離脱するかわからない⇒分析
Alexa Skills Kitでプロダクトの可能性を広げる
USでのスキル公開数
- 2016/10⇒4,500
- 2018/02⇒32,000
フラッシュブリーフィング
スマートホームスキル
- 呼び出し名が不要で自然な発話でスマートホームの操作が可能
カスタム対話モデル
開始フレーズ:「○○を開いて」で対話を開始する
- 呼び出し名
- スロット
- サンプル発話
3つの組み合わせ
呼び出し名
- どのSkillを使うかが決まる
- ウエイクワードやつなぎ語を含んではならない
スロット
- ビルトインタイプ
- 主要都市
- 名前
- カスタムタイプ
- 自分で作る
対話モデル
- サンプル発話
- 想像できる発話を登録しておいてインテントに紐付ける
- サンプル発話に定義した発話の構造を定義
プロダクトのSkill 開発
ゼクシィキッチンの事例を中心に
VUIの設計
- アプリのキャラ設定…サービスによっては考える
- SSMLを使ってより自然な発話を目指す
- 既存コンテンツを利用する場合は変換するのは難しい
ユーザーストーリー
- オススメの料理を見つけられる
台本の作成
- どういった使い方をするかを考えてみる
- はじめは使い方を教える
- いろんなパターンで聞いてくるのを想定する
- 前回のセッションをチェックする
- Alexaは一定時間応答がないと切れる
- 次来た時に再開を考える
- 慣れてくるとピンポイントで指定される
スキル構築の準備
開発
- AWS Lambda Functionを使う
- サーバ不要
- SSL証明書不要
- 自分でホストする
- SSL/TSL対応必須
- 既存サービスがある場合
- Node.jsやPythonはSDKあり
- Alexa Skills Kit CLIを使う
- Jenkinsなどで自動化に利用できる
- 日本語化がまだイマイチ
開発環境
- 複数用意(一般ユーザと開発者要)
- デベロッパーコンソール
- サービスシュミレーター
- Alexa Skill Testing Tool - Echosim.io
- ブラウザ上からEchoを試せる
運用
利用状況をチェック
“アレクサ、パルコ をひらいて” 〜ショッピングセンターのAlexa活用のねらい〜
ショッピングセンターでAlexaを活用する。
PARCOスキル
- 池袋PARCOのショップ、レストランの情報、周辺施設の情報を音声で検索可能
- インフォメーションセンターで日々集計している問い合わせ記録の中でよくある質問600種類の質問に応答可能
- PARCOの店頭にEchoを設置する前提で開発
- 最新テクノロジーで接客を拡張する
BtoC(対顧客)
- コミュニケーション手段が変化している
BtoB(テナント)
- 人手不足、業務効率化の必要性
スマートフォンの普及でいつでもどこでも気軽に使える要求の高まり
24時間PARCO
- いつでもどこでもショップスタッフとお客様がコミュニケーション可能
- オムニチャンネルプラットフォーム
PARCOの接客拡張の取り組み
- 2015年〜Pepper導入、多言語化など
- 自走式ナビ…NAViiくん
ロボットは人よりも接客が得意?
1日あたり
- インフォメーションセンター接客⇒134件
- ロボット接客⇒403件
入り口前のインフォメーションセンターで顧客が質問するのはハードルが高かったという気づき⇒接客ロス
ロボット、機械のちからが必要
- お客様から何を聞かれたのかの全データを記録できる
- 今まではスタッフが手作業で集計・管理
ロボットで接客ロスを解消したいがコストの壁
- 2017年AWS Summit Tokyoで相談
- 不特定多数の場所でAlexaを使って何かするのは事例が少ない
↓検討中
- Echoとタブレットを連携させたい
- 店舗の複数箇所に設置する想定
今後やりたいこと
- ロボットとの連携
- 入店時の研修のオンライン化を進めているが、Alexaがマニュアルの指示を出したり質問に答えるようにできないか
課題
- 店舗名をうまく発話してくれない
- Voiceシュミレーターでテスト⇒テキストで修正
- 音声ファイルに録音して修正指示
- 別の言い回し(ゆらぎ)
- 家庭ではなく公共空間への設置を前提とした設計が必要
- 盗難防止策
- 立っている高さに合う台
- 雑音の中で正常に動作するか
- 展示会会場では正常に動作した
- 実際に設置する予定の場所でテスト予定
- 他のスキルを起動されてしまう恐れ
- ⇒Amazon Echoでは制御できない
- 別のハード開発が必要⇒いったん対応保留
- 設置場所によって案内の内容が異なる
- 例)トイレの場所⇒一番近い場所を応答したい
- Echoの端末設定で住所を分けて設置場所に応じた案内をする
- ショップが入れ替わった際のメンテナンス
- Webサイトで持っているショップデータを流用して自動更新を目指す
- インテントの追加ではなくカスタムスロットのデータを更新できるように
- 審査なくメンテナンスしたい
- Amazonから店頭設置のGOはまだ出ていない
メモ
- スロットの定義の数は1,200〜1,300ぐらい
Alexa and Machine Learning on AWS
www.slideshare.net
2つの重要なフレームワーク
- ASK
- AVS
日本で公開されたもの450以上のSkill
- Voice Interfaceは新しい標準
- 全ての検索トラフィックの10%
- 2020年までには毎月2000億回の音声検索が行われる見込み
Alexa for business
- ビジネス環境でも家庭と同じことを
- Voiceで職場を変革
- 受付、会議室など
管理者のコントロール
- 共有デバイスのプロビジョニングと管理
- ビデオ会議室システムの制御
- ユーザー管理
- 個人アカウントを会社管理に紐付け
- スキル管理
- プライベートスキル
- パブリックに公開されない企業内の業務用スキル
- プライベートスキル
Resolve Room
- どのデバイスがどの会議室に置かれているか
- ラスベガスのホテル⇒全ての部屋にEcho Dotが設置されている
Skill Parameters
- スキルに他システムへのインデックスを提供
制限
- 英語のみ
- Roomの住所はアメリカのみ対応
- デバイスの登録がexe⇒Win必須
AI系のAWSサービスについて
Service
Amazon Rekognition
- 画像認識
- ビデオも追加された
- 監視カメラの問題行動検知
- 動画データの検索
Polly
- テキストを音声に変換
- いろいろな声、話し方、スピードなどを調整
Lex
- 8kHzの電話音声に対応
- Webアプリケーションやモバイル・アプリケーションに埋め込み
- コールセンターアプリケーションへの対応
Comprehend
- 自然言語理解
- 文章を分析して重要な部分を抜き出し
- 言語認識、センチメント分析
- ナレッジマネジメント・検索
- ドキュメントの検索、ヘルプデスクなど
Translate
- 多言語間翻訳
Transcribe
- Speech-to-Text
- 通常音声と電話音声の両方をサポート
- 句読点の補完
ML Platform
Kinesis Video Streams
- 動画に対してリアルタイムでアップロード
- リアルタイムで処理しながらS3に保存
- 街の監視カメラの動画をRekognitionと連携
- 工場の自動化
SageMaker
- 機械学習モデルを生み出すのにコストがかかる
- ノートブック(Jupyter Notebook)、学習、推論
- 3つを個別に利用することも可能
- 様々なMLライブラリが入ったDockerイメージを提供
EL Engine
- Deep Learning AMI
- 必要なライブラリ・フレームワークが全てインストールされたAMI
- 東京リージョンでも利用可能
ML Infra
- P3インスタンス…P2の14倍の速度
Amazon ML Solutions Lab
- 機械学習エキスパートのサポート
- シアトルで合宿形式
パルコ様事例にみるAlexaとデジタルサイネージを連携する方法
クラスメソッドとAlexa
- Developers.IO
- 140万PV
- Alexa記事100本以上
- Alexa事業部化
- 北米スキル17本
- 日本向けスキル10本
PARCO様向けSkill
- b池袋PARCOの店舗案内
開発中の課題と解決法
- 店舗名の複雑さ…300店舗ある
- アルファベット・記号が多い
- 略語・通称での発話
⇒Tokenizarに優しいスロットを作る
発話⇒ASR⇒テキスト
の部分に注目
- ノイズの除去
- エコーキャンセル
- 特徴点の抽出
- 音響モデルの作成
- 発音認識
- 言語モデルとのマッチング*
- 単語認識*
- 後処理
*の部分に注目しTokenizarに優しいスロットを作るためには単語モデルに合ったスロットを作る
- 英単語は全てカタカナにする
- ⇒日本語の単語モデルだから
- 単語の区切りにスペースを入れる
- 略語も登録
- Lambdaでマッチングロジックを作る
- トリム処理も必要(ATM⇒A T Mでスロットに入ってくることもある)
インタラクションモデルを使うかダイアログモデルを使うか
- VUI設計時点から意識する
イントネーションが悪い
- SSML職人化
<prosody pitch="xx%">
を駆使
レスポンステキストをより人間っぽく
- 実際の受付係の方に覆面調査を実施
どうしようもできない事
- 音声だけではたどり着けない(フロアが広い)
- 案内図が必要
- 複数ある施設が使いにくい(トイレなど)
- 一番近い場所
タブレット連携要件
- Alexaのレスポンスと同時に画面が切り替わる
- Echoとタブレットは直接接続できない
- 複数セットで配置するがペアで管理はしない
AWS IoT
- MQTT over webSocketを使ってリアルタイム通信
- Cognitoで認証
- Things/Shadowsを使ってデバイスを個別認識
所在地分岐の方法
- Echoデバイスの配置場所によってトイレの場所のメッセージが違う
- Echoは別店舗に移動する可能性、廃棄する可能性(deviceIDはNG)
⇒デバイスの所在地を使う
- 住所3は自由記入
- device address APIで住所を抜き出して住所3で分岐させる
- consent token
- ユーザーの住所情報に対する許可をtokenの形で受け渡し
よくある要望と現在のチャレンジ
- 会議室予約
- 発注を音声で
- 社内システムの検索や参照
⇒alexa for business
- 電話を使いたい
- 音声を聞き取って案内したい
⇒LexとAmazon Connect
- Wake Word以外の呼び出し方
- ノイズが大きい場所
- 住所や社員コードを音声で言うのは面倒
- スマホの機能(Touch IDなど)と連携したい
⇒Alexa Voice Service
Alexaの未来
- ヒューマンインタフェース
- 5年後10年後には音声対話が当たり前になる
- IT技術は世代間の違いが大きい
- 音声のほうが原始的な操作なのでITサービスを受けられやすい
How do we connect VUI to the real services using serverless
VUIデザインの話
音声デザインガイド
Amazon Alexa Voice Design Guide
われわれが作りたいのはIVRではない
- 言葉ではなく意味・文脈を理解するアシスタント
Skill Builderの活用
- インテントの作成
- 対話のパターンを登録
- カスタムスロットの作成
- 別名をたくさんつけてゆれを吸収
⇒VUXデザイナーが必要になる
AWS Lambda
- パラダイムシフト
- コンピューティングリソース調達のリードタイムなど
- FaaSの台頭
- サーバレスエコシステム
- ペインポイントも多い
- サーバレス
- 開発の高速化
- 運用の省力化
サーバレスの分類パターン
- Webアプリケーション
- 運用
- アプリケーション連携
- Alexa Skill Set
事例
エコちっち
- 音声コマンドで妖精を育てる
- Node.jsでalexa-sdkを使う
状態確認してから実行する方式と直接実行する方式
- 対話の流れの制御にはステート管理が重要
- Lambdaのステート⇒Dynamoで永続化
HRアプリ
- 例)
鈴木さん
の給与
を教えて佐藤さん
の人事評価
を教えて- ↑同じ形式
- スロットの内容によってコマンドの分岐が発生する
- 設定したシノニムが全て呼ばれるので全て実装する必要がある
ソースの規模
- 感覚的には150行ぐらい⇒816行
ステートを制するものが対話モデルを制す
Alexa Skill Contest
Nanchen Jiang : 家族全員で楽しめる新感覚クイズタイム
- 1人から5人まで参加
- 1人あたり6問
- だんだん難しくなる
- 採点は奥さんの評価
- 点数を累積
- レベルアップという機能を追加
Ippei Sumida : CoderDojo Hirakata
イベントお知らせスキル
Alexa Skillを作りたかった
- APIの仕様がわからない
- Try&Errorで作成
審査
- リジェクト4回
- 子供向けスキルと誤解
- 子供向けのイベントであるがSkillは子供向けではない
- 保護者向けアピール
Tomoharu Ito : Push and go!
- ビーチフラッグスのようにエコーボタンを使う
Sayaka Ito : リマインダーAPIをハックして、Alexaを積極的なキャラにする
Notificationのデベロッパープレビューに申し込み
⇒まだ来ていない
Alexaに自発的に喋らせる
⇒リマインダー機能を使った
Hidetaka Okamoto : クラウドクイズゲーム
カルタの問題
- 読み手はゲームに参加できない
- カルタは自分で作らないといけない
- クイズモードも作成
- 3択方式
- サポート言語⇒日本語だけでなく英語も
Tomoyuki Tochihira : HELP ME
少子高齢化社会
緊急時には声で
- Alexaで助けを呼ぶ
SMSで通知
- 位置情報が送信される
alexa⇒twilioに連携
Yusuke Morishita : necco Lunch
- 会社で昼食当番制
- WordPressで作った昼食を登録
- あとで経費精算
Alexa Echoで過去のメニューを確認する
- 学校の給食などに応用を想定
Jumpei Nakada : 赤ちゃん体重ロガー
体重1kgあたり160g/日のミルクを飲まなければならない
- 授乳前と後に体重を言うと体重とその時間を登録
- どれくらい飲んだか、次回の授乳予定時刻を応答する
Koichiro Nishijima : うちなーぐちスキル
沖縄のコンビニ⇒ATMが方言を喋る
Alexaに方言をしゃべらせる
投票結果発表
- 3位…Push and go!
- 2位…HELP ME
- 1位…赤ちゃん体重ロガー
【勉強会メモ】Mobile Act OSAKA #3
- 日時:2018/02/05(月) 18:45 〜 21:20
- 場所:Osaka Innovation Hub (大阪イノベーションハブ)
iOS/Androidアプリ開発を中心に幅広いテーマを扱う勉強会で、今回もReact NativeからGoogle Home/Amazon EchoやAndroid TVなど幅広い内容で充実した勉強会でした。React Nativeは Web+DB Press vol.102 でも特集されていてじわじわ来ている感があります。アクセシビリティも最近よく話題に上がるテーマと感じています。懇親会も様々な話題の情報交換ができて充実した時間でした。次回はまた2ヶ月後に開催とのことです。
ちなみに余談ですが、先日私も Google Assistantアプリを公開しました が、今のところTシャツはもらえてません…
iOSデバイスを特定アプリ専用端末化する2つの方法
遅刻したため後半少ししか聞けませんでした。 アプリをシングルアプリモードにして完全に専用アプリ化するという話だと思います。
一度設定すると設定したMac端末からでしか解除ができない。万が一、設定したMacを買い替える場合などは以下のサポートサイトの手順で移行できるとのこと。
Apple Configurator 2 のデータを保存または移行する - Apple サポート
DroidKaigiアプリにコントリビュートしてみた
DroidKaigとは
- 日本のAndroidカンファレンス
- 2/8 新宿で開催
DroidKaigiアプリ
コントリビュートした内容
- デザイン修正
- 簡単なデザイン調整
- バグ修正
- セッション終了時間のバグ
- 表記ミス
- Typo修正
- Android StudioのAnalyzeで見つける
- Lintエラー修正
- これもAndroid Studioで見つけられる
簡単な修正でも喜ばれるので気軽にプルリクを送る
メモ
Q:どのくらいの期間でマージされるか
- 早ければ3分くらい
- 遅くても1日以内
Spellは辞書登録できる
Androidで用意されている端末との近距離通信のあれこれ
Android Beam
良い点
- AndroidOSの機能なので受信側が同じアプリを入れなくても良い
- ネット接続不要
- 比較的大きいデータも早く送受信
悪い点
- 近くないと通信できない
- Android Bean設定はデフォルトでONになっていない事が多い
評価
- ○:近距離の端末にメッセージを送る
- ○:オフライン対応
- △:1対多通信
Nearby Messages API
良い点
- 近距離の知らない人とも通信
- OSに依存しない
悪い点
- オフラインでは利用できない
- 耳に聞こえない音が聞こえる可能性もあるらしい
- 100KBまで
評価
- ◎:近距離の端末にメッセージを送る
- ×:オフライン対応
- ○:1対多通信
Nearby Connections API
- Google I/O 2017で発表
- バージョンアップ
- 完全オフライン対応
- WiFi, Bluetooth などを使用
良い点
- オフラインで利用可能
悪い点
GooglePlayServiceに依存
○:近距離の端末にメッセージを送る
- ○:オフライン対応
- ○:1対多通信
まとめ
メモ
事例:Googleフォトに実装されているらしい
Decodable.CodingKeys のキー名を動的っぽくする
Swift4のDecodableについて。あまり詳しくないため詳細はメモできず。以下のような話だったと思います。すみません。
init(from:)
のデフォルト実装を使いたい- Decodableの実装のテストまで必要になりそう
- 実装はシンプルにしたい
スマートスピーカーをリリースした知見
Amazon EchoとGoogle Homeについて
- スキル(アクション)を開発しリリースできる
- Actions on Google
- Dialogflow
アプリをリリースするには審査に合格しないといけない
リジェクト事例
応答後にマイクオープンしっぱなしはNG
- 「他に知りたいことはありますか?」で会話を継続させる
- 便利なメソッド
- ask会話を続ける
- tell会話を終了する
Amazonの場合の問題
- ヘルプやストップに反応させる必要あり
- ちゃんと応答しないとリジェクト
- 「終了して」にハマる
- SessionEndRequestにとぶ
アプリの申請
- Google Home 3営業日ぐらい
- Amazon Echo 1営業日ぐらい
承認の連絡
- Google Homeは絵文字付きで祝ってくれる
- Amazon Echoはそっけない
プライバシーポリシーについて
- Google Homeはプライバシーポリシー必須
- プライバシーポリシーの使い回しはリジェクトされる
- AmazonEchoは特に必要ないのに書くとリジェクトされる
メモ
- Q:ユーザーが何を言ったかわかる?
- Echoはわからない
- GoogleHomeはDialogflowに履歴が表示される
- 開発登録費用は不要
- Google Homeアプリを公開するとTシャツがもらえる
ReactNativeの開発環境を5分で作る
ReactNativeとは
- JavaScriptとReactを使って書いたらどこでも動く
- Facebook製ライブラリ
メリット
デメリット
- ノウハウ事例が少ない(英語の資料)
- 今後続いていく保証はない(Facebookしだい)
- Reactの学習は必要
- WebViewベースのハイブリットアプリよりは早いがネイティブよりは遅い
開発環境を5分で作る
必要なもの
開発のしかた
create-react-native-app
を使う- webpackの設定など全部入り
react-native-cli
を使う- 自分で作るがちゃんと開発するならこちら
開発の流れ
実行
react-native run-ios
react-native run-android
こういう時はReact Native
- ネイテイブ開発者がいなくてWeb開発者ばかりだがネイティブアプリを使いたい
- Reactに知見がある
- スピード重視
- iOS/Androidで共通コンポーネントで作り、保守性を上げたい
- Facebookが出す技術が好き
メモ
- Q:パフォーマンスは?
- ネイティブより遅いと言われているが実際は体感できるほどでは明確に遅い事例は把握していない
モバイルアプリのアクセシビリティ
アクセシビリティ
- 利便性
- 障害の有無にかかわらず利用できる
例えば音声フィードバック
VoiceOverについては過去のスライド参照
Andoridの音声フィードバック
- android:textをそのまま読む
- layoutを1つのグループとして扱う
など
要素を設定してタップするとその範囲を読み上げてくれる
読み上げの例
2月1日(木)
2月5日(月)
Googleのユーザー補助検証ツール
- コントラスト指摘
- タッチターゲット指摘
メモ
Android TV
- インターネットサービスの使えるTV
- Voiceで検索できる
Netflixの事例
- 最初はスマホやPCの加入者が多いが半年経つと圧倒的にTVが多い
いつも家にある
- 家のサービスゲートウェイ
- SmartHome化
映像
- Google Homeだとずっと聴くだけ⇒意外としんどい
- 映像があるほうが良い
Googleの事業戦略
- スマホ⇒TV⇒自動車
まとめ
- 黎明期でまだブルーオーシャン
- 黎明期のおもしろさ
- モバイルアプリの経験が活かせる