Upgrade to Pro — share decks privately, control downloads, hide ads and more …

AWSを駆使して特許出願に至ったVUIの 「音声レビュー・ログデータ収集・分析システム」の話/Patent application system materials

show
April 06, 2019

AWSを駆使して特許出願に至ったVUIの 「音声レビュー・ログデータ収集・分析システム」の話/Patent application system materials

2019年4月7日 AlexaDay2019にて登壇した資料を編集して公開

https://alexaday2019.aajug.jp/

show

April 06, 2019
Tweet

More Decks by show

Other Decks in Technology

Transcript

  1. 2019/04/06 Alexa Day 2019 @スペースアルファ三宮
    AWSを駆使して特許出願に至ったVUIの
    「音声レビュー・ログデータ収集・分析システム」
    の話
    1

    View Slide

  2. 発表の前に
    2
    ・この資料は後日公開予定です
    ・メモるよりは #alexaday2019 でツイート!
    ・セッション内容のシステムは今後変更される
    可能性があります。
    むしろリクエスト、ディスカッションください。

    View Slide

  3. 高度に抽象化された図
    3

    View Slide

  4. @surumegohan smartmacchiato.life/
    [email protected]
    surumegohan.hatenablog.com/
    Twitter Blog Gmail Web
    4
    フリーランス
    VUIプロデューサー/エンジニア
    宮崎 翔平

    View Slide

  5. @surumegohan smartmacchiato.life/
    [email protected]
    surumegohan.hatenablog.com/
    Twitter Blog Gmail Web
    5
    フリーランス
    VUIプロデューサー/エンジニア

    View Slide

  6. 6

    View Slide

  7. 7

    View Slide

  8. AWS 長崎社長から名指しを受けました
    8

    View Slide

  9. 先ほど、吉田様からハードルをあげられました
    9

    View Slide

  10. 10
    本日は技術的な話を中心にします

    View Slide

  11. 11
    ・VUIに対する悩み、課題
    ・課題へのソリューション
    ・システム構成
    ・Amazon QuickSightの機械学習対応
    本日は技術的な話を中心にします

    View Slide

  12. Alexa skill AWS
    Lambda
    システムユーザの
    アレクサのスキル
    Clova
    AWS
    Lambda
    Amazon Kinesis
    Firehose
    S3 bucket
    Amazon
    DynamoDB
    Amazon
    Redshift
    Webページに音声レビュー結果を表示
    Amazon CloudWatch
    Amazon API
    Gateway
    ERRORだけ抜き取る
    エラー通知が飛ぶ。
    AWS Lambda
    まず認証だけやる
    AWS cloud
    3 4
    5
    6
    9
    10
    11-2 12 13 14
    15
    ERRORや障害時のみ
    通知するための動作
    ・認証情報
    Webページから認証情報発行
    1
    2
    7 8
    Amazon
    QuickSight
    AWS Lambda
    10
    12
    invoke
    Amazon Kinesis
    Firehose
    S3 bucket
    11-1
    12
    データをCSV形式
    に変換して流す
    想定される格納デー
    タの生データのまま
    生データ保管用
    Amazon CloudWatch
    API Gatewayを突破
    したらすべて
    CloudWatchにログ
    をためておく
    システム構成概要
    Amazon API
    Gateway
    AWS Lambda
    12
    ※動いた段階の構成。現在は一部異なります。
    #alexaday2019

    View Slide

  13. 最近非常によく言われる
    13
    ・今のところ Amazonの中の人ではないです
    ・今のところ AWS Loft Tokyoに常駐している
    AlexaのAsk an Expertではないです
    ・本件の権利類はSmartHacks社から僕のモノ
    になりました
    #alexaday2019

    View Slide

  14. 経歴
    14
    DBA QA・SET DevOps推進
    #alexaday2019

    View Slide

  15. そんな時に
    15
    Google Home と Amazon Echo が日本上陸
    #alexaday2019

    View Slide

  16. 16
    目覚めた心は走り出した、未来を描くため
    #alexaday2019

    View Slide

  17. 17
    目覚めた心は走り出した、未来を描くため
    2018年4月末 VUIやりたくてサクッと無職になる
    #alexaday2019

    View Slide

  18. 経歴
    18
    元DBA・QAエンジニア・DevOps推進
    → 2018年4月にVUI(スマートスピーカー)に
    専念したくサクッと無職
    → フリーランス
    → 某社CTO内定、大人の事情で白紙
    #alexaday2019

    View Slide

  19. 3つのコミュニティを運営中
    19
    ・Amazon Alexa Japan User Group (AAJUG) 関東支部
    ・2019年から関東支部発足・主催
    https://aajug.connpass.com/
    ・3か月に1回開催、2019年3月で1周年
    ・300人以上が集まる回もある
    https://kotodama.connpass.com/
    ・2019年4月で8回目の開催
    ・150人以上が集まる回もある
    https://iotlt.connpass.com/
    #alexaday2019

    View Slide

  20. 今まで作成したAlexaスキルの一部 ※公開済みのみ
    20
    #alexaday2019

    View Slide

  21. 時には でduelした
    21
    https://www.youtube.com/watch?v=BYkLmGYGCdk
    #alexaday2019

    View Slide

  22. 22

    View Slide

  23. VUIに関してこんなお悩みありませんか?
    23

    View Slide

  24. こんな悩みありませんか?
    24
    ・VUIやスマートスピーカーに興味あるんだけど、
    どういう音声サービスを見習って作ればいいのかわからない
    ・音声サービス(スキル)作成を誰かに依頼したいけど、
    人気サービスをリリースしている人・企業がわからない
    ・既に音声サービスを公開したけど、ユーザーの満足度が
    わからない
    ・自分の音声サービスが、他者のサービスと比較できなくて
    改善できない
    #alexaday2019

    View Slide

  25. そのような方々への
    セッションです!
    25

    View Slide

  26. 2018年11月7日にリリース
    26
    #alexaday2019

    View Slide

  27. Alexaスキル「VUIあるある」
    ・VUI業界でアクティブな方々に
    VUIに関する「あるある話」をヒアリング
    ・開発目線、ユーザ目線、子育て目線、プラットフォーム縛りも
    なく募集した結果 約40件のVUIのあるある話を収録
    あるある話を提供してくれた方々
    本当にありがとうございます!
    27
    #alexaday2019

    View Slide

  28. 28
    #alexaday2019 動画中はツイートチャンス!
    https://www.youtube.com/watch?v=8I4eQMEBeaA

    View Slide

  29. VUIの
    悲しい現実を
    ご紹介
    29
    #alexaday2019

    View Slide

  30. 本気で個人で作成したスキル:「ヒロインの告白」
    リリース後約2週間のUU数:
    226
    参考:
    Echo Dotがもらえる条件が1か月で100UU
    30
    ※2018年8月リリース
    #alexaday2019

    View Slide

  31. ところが
    31

    View Slide

  32. Amazonのスキルストア
    レビュー数 ?
    32
    #alexaday2019

    View Slide

  33. Amazonのスキルストア
    レビュー数 2
    33
    #alexaday2019

    View Slide

  34. 2








    © タイトル:ブラックジャックによろしく 著作者名: 佐藤秀峰
    34

    View Slide

  35. ユーザーからのフィードバックが欲しい!
    それは、たとえネガティブでも良い
    35
    何かのサービス、アプリを公開したら
    #alexaday2019

    View Slide

  36. ユーザーからのフィードバックが欲しい!
    それは、たとえネガティブでも良い
    36
    何かのサービス、アプリを公開したら
    無反応が一番
    嫌だ・困る・怖い
    #alexaday2019

    View Slide

  37. このスキルでは
    結城琴葉ちゃんから美少女ボイスで
    音声でのレビューとコメントを求められる
    37
    だが策はある

    View Slide

  38. 38
    #alexaday2019 動画中はツイートチャンス!
    https://www.youtube.com/watch?v=AcWaEMqAyZ4

    View Slide

  39. 39
    APLで学校を背景に告白されてみた ※未公開

    View Slide

  40. 音声によるレビューの結果
    118件
    ※重複ユーザーも存在
    ※公開約2週間後
    ※βテストやAmazon社の審査時の数字も含まれる
    40
    #alexaday2019

    View Slide

  41. 2












    © タイトル:ブラックジャックによろしく 著作者名: 佐藤秀峰
    41
    #alexaday2019

    View Slide

  42. 音声によるフリーコメントの一部
    ・とってもいいスキルでした
    ・星7つ
    ・魂スキルでしたとっても良かったです ※楽しい?
    ・大好きです
    ・かわいらしいキャラクターで素晴らしいと思います
    ・天海丸matlock 欲しい ※展開がまどろっこしい?
    42
    まさにお客様の「声」
    #alexaday2019

    View Slide

  43. もちろん美少女でなくともフィードバックはもらえる
    43
    「ストップ」と話しかけると
    「いいね」
    「いまいち」
    「ストップ」
    を求められる仕組み
    ※2018年6月リリース
    #alexaday2019

    View Slide

  44. 44
    公開から約2か月後の集計結果 合計186件
    リリース後しばらくは「いいね」が多かったがいつのまにか「いまいち」に逆転
    #alexaday2019

    View Slide

  45. つまり・・
    スキル(音声サービス)に対する
    レビューとコメントを、そのまま声でやれば
    まさしく
    「お客様の声」
    が個人情報なしで拾える可能性が高まる
    45
    #alexaday2019

    View Slide

  46. つまり・・
    いちいち
    スマホ・PC
    を開かない
    46
    #alexaday2019

    View Slide

  47. なのに・・
    Google社、Amazon社、LINE社
    どこも日本で
    やってないな?
    47
    #alexaday2019

    View Slide

  48. 僕のモットー
    ないなら創ればいい
    48
    #alexaday2019

    View Slide

  49. 49

    View Slide

  50. コンセプト
    50
    ・API化
    ・インテントの使用状況
    ・★いくつ
    ・フリーコメント
    ・時間
    ・カテゴリ
    ・作成ツール
    データ収集
    ・SQLで検索
    ・BIツールでグラフ化
    ・Webページに反映
    分析・可視化
    ・VUIでユーザが違和感
    を持たない応答速度
    ・プラットフォームに
    依存しない設計
    こだわり部分
    #alexaday2019

    View Slide

  51. 調査&Try-Errorを繰り返す
    51
    ・データレイク
    ・データウェアハウス
    #alexaday2019

    View Slide

  52. 52
    https://aws.amazon.com/jp/start-ups/loft/tokyo/
    スタートアップとデベロッパーのための場
    AWS Loft Tokyoにてエキスパートの方々に相談しながら・・・
    Twitterハッシュタグ #AWSLoft #alexaday2019

    View Slide

  53. 53
    https://aws.amazon.com/jp/start-ups/loft/tokyo/events/
    スタートアップとデベロッパーのための場
    様々なイベントも実施されております。
    Twitterハッシュタグ #AWSLoft
    #alexaday2019

    View Slide

  54. 54
    データ処理等のイベントは重宝 #alexaday2019

    View Slide

  55. Alexa skill AWS
    Lambda
    システムユーザの
    アレクサのスキル
    Clova
    AWS
    Lambda
    Amazon Kinesis
    Firehose
    S3 bucket
    Amazon
    DynamoDB
    Amazon
    Redshift
    Webページに音声レビュー結果を表示
    Amazon CloudWatch
    Amazon API
    Gateway
    ERRORだけ抜き取る
    エラー通知が飛ぶ。
    AWS Lambda
    まず認証だけやる
    AWS cloud
    3 4
    5
    6
    9
    10
    11-2 12 13 14
    15
    ERRORや障害時のみ
    通知するための動作
    ・認証情報
    Webページから認証情報発行
    1
    2
    7 8
    Amazon
    QuickSight
    AWS Lambda
    10
    12
    invoke
    Amazon Kinesis
    Firehose
    S3 bucket
    11-1
    12
    データをCSV形式
    に変換して流す
    想定される格納デー
    タの生データのまま
    生データ保管用
    Amazon CloudWatch
    API Gatewayを突破
    したらすべて
    CloudWatchにログ
    をためておく
    システム構成概要
    Amazon API
    Gateway
    AWS Lambda
    55
    ※動いた段階の構成。現在は一部異なります。
    #alexaday2019

    View Slide

  56. 特許出願できた
    56
    弁理士さんとのやりとりとか、書類とか大変でした
    ないモノを比較・可視化まで創ってしまったので

    1つのスキル(音声サービス)単体で音声のレビュー&コメントを実装するのはご自由に。
    ただ、このシステムを利用すると可視化まで既に仕組みができているので便利です。
    #alexaday2019

    View Slide

  57. 57
    ここから、技術的な話をします

    View Slide

  58. Alexa skill AWS
    Lambda
    システムユーザの
    アレクサのスキル
    Clova
    AWS
    Lambda
    Amazon Kinesis
    Firehose
    S3 bucket
    Amazon
    DynamoDB
    Amazon
    Redshift
    Webページに音声レビュー結果を表示
    Amazon CloudWatch
    Amazon API
    Gateway
    ERRORだけ抜き取る
    エラー通知が飛ぶ。
    AWS Lambda
    まず認証だけやる
    AWS cloud
    3 4
    5
    6
    9
    10
    11-2 12 13 14
    15
    ERRORや障害時のみ
    通知するための動作
    ・認証情報
    Webページから認証情報発行
    1
    2
    7 8
    Amazon
    QuickSight
    AWS Lambda
    10
    12
    invoke
    Amazon Kinesis
    Firehose
    S3 bucket
    11-1
    12
    データをCSV形式
    に変換して流す
    想定される格納デー
    タの生データのまま
    生データ保管用
    Amazon CloudWatch
    API Gatewayを突破
    したらすべて
    CloudWatchにログ
    をためておく
    システム構成概要
    Amazon API
    Gateway
    AWS Lambda
    58
    ※動いた段階の構成。現在は一部異なります。
    #alexaday2019

    View Slide

  59. Alexa skill AWS
    Lambda
    システムユーザの
    アレクサのスキル
    Clova
    Amazon Kinesis
    Firehose
    S3 bucket
    Amazon
    DynamoDB
    Amazon
    Redshift
    Webページに音声レビュー結果を表示
    Amazon API
    Gateway AWS Lambda
    まず認証だけやる
    AWS cloud
    3 4
    5
    6
    9
    10
    11-2 12 13 14
    15
    ・認証情報
    Webページから
    認証情報発行
    1
    2
    7 8
    Amazon
    QuickSight
    AWS Lambda
    10
    12
    invoke
    Amazon Kinesis
    Firehose
    S3 bucket
    11-1
    12
    データをCSV形式
    に変換して流す
    想定される格納デー
    タの生データのまま
    生データ保管用
    アラート系は本質ではないので別として
    Amazon API
    Gateway
    AWS Lambda
    59
    アラート系
    #alexaday2019

    View Slide

  60. Alexa skill AWS
    Lambda
    システムユーザの
    アレクサのスキル
    Clova
    Amazon Kinesis
    Firehose
    S3 bucket
    Amazon
    DynamoDB
    Amazon
    Redshift
    Webページに音声レビュー結果を表示
    Amazon API
    Gateway AWS Lambda
    まず認証だけやる
    AWS cloud
    3 4
    5
    6
    9
    10
    11-2 12 13 14
    15
    ・認証情報
    Webページから
    認証情報発行
    1
    2
    7 8
    Amazon
    QuickSight
    AWS Lambda
    10
    12
    invoke
    Amazon Kinesis
    Firehose
    S3 bucket
    11-1
    12
    データをCSV形式
    に変換して流す
    想定される格納デー
    タの生データのまま
    生データ保管用
    まずは登録部分
    Amazon API
    Gateway
    AWS Lambda
    60
    アラート系
    #alexaday2019

    View Slide

  61. 必要情報をいれるとSHAのIDを付与
    61
    Alexaスキル申請の情報入力を強く推奨
    ・音声サービス名称(スキル名、アプリ名)
    例:VUIあるある
    ・開発者名
    例:surumegohan
    ・SHAユーザのメールアドレス1アカウント
    例:[email protected]
    ・スキル開発に使用しているツール
    例:Alexa Console+Lambda、ASK CLI ..
    #alexaday2019

    View Slide

  62. Alexa skill AWS
    Lambda
    システムユーザの
    アレクサのスキル
    Clova
    Amazon Kinesis
    Firehose
    S3 bucket
    Amazon
    DynamoDB
    Amazon
    Redshift
    Webページに音声レビュー結果を表示
    Amazon API
    Gateway AWS Lambda
    まず認証だけやる
    AWS cloud
    3 4
    5
    6
    9
    10
    11-2 12 13 14
    15
    ・認証情報
    Webページから
    認証情報発行
    1
    2
    7 8
    Amazon
    QuickSight
    AWS Lambda
    10
    12
    invoke
    Amazon Kinesis
    Firehose
    S3 bucket
    11-1
    12
    データをCSV形式
    に変換して流す
    想定される格納デー
    タの生データのまま
    生データ保管用
    スキル作成時
    Amazon API
    Gateway
    AWS Lambda
    62
    アラート系
    #alexaday2019

    View Slide

  63. スキルに組み込むやり方
    63
    今から話す箇所は導入ガイドに
    「VUIあるある」のソースコードと共に書い
    てあります
    ※VUIのあるある話も併せて確認できてお得
    #alexaday2019

    View Slide

  64. 音声のレビューを使うなら
    64
    1から5の整数値の範囲のみ受け付けるように実装を実施してください
    ・インテント名
    SHAVoiceReviewIntent
    ・インテントスロット
    名前:SHAVoiceReviewNumber
    スロットタイプ:AMAZON.NUMBER
    #alexaday2019

    View Slide

  65. 音声のフリーコメントを使うなら
    65
    音声によるフリーコメント機能を導入する場合、以下の条件で実装を実施してください
    ・インテント名
    SHAVoiceFreeCommentIntent
    ・インテントスロット
    名前:SHAVoiceFreeComment
    スロットタイプ:AMAZON.SearchQuery
    #alexaday2019

    View Slide

  66. Alexa skill AWS
    Lambda
    システムユーザの
    アレクサのスキル
    Clova
    Amazon Kinesis
    Firehose
    S3 bucket
    Amazon
    DynamoDB
    Amazon
    Redshift
    Webページに音声レビュー結果を表示
    Amazon API
    Gateway AWS Lambda
    まず認証だけやる
    AWS cloud
    3 4
    5
    6
    9
    10
    11-2 12 13 14
    15
    ・認証情報
    Webページから
    認証情報発行
    1
    2
    7 8
    Amazon
    QuickSight
    AWS Lambda
    10
    12
    invoke
    Amazon Kinesis
    Firehose
    S3 bucket
    11-1
    12
    データをCSV形式
    に変換して流す
    想定される格納デー
    タの生データのまま
    生データ保管用
    API Gatewayの呼び出し
    Amazon API
    Gateway
    AWS Lambda
    66
    アラート系
    #alexaday2019

    View Slide

  67. 67
    API GatewayにhandlerInputをPOST
    SHAIDとメールアドレス
    を含める
    問題なければ
    200が返ってくる
    それ以外はそれなりの
    エラーが返ってくる
    #alexaday2019

    View Slide

  68. 68
    各インテントの発話タイミング前等に含める
    スキルの特性により
    レビューやコメントの
    実装は義務ではないですが
    ・LaunchRequest
    ・各種Intent
    ・STOP、CANCEL、HELP
    に入れてもらうと、呼び出された時間
    や利用状況のログを公平に比較できる
    逆にインチキしてそうなスキルは報告
    してくれればSHAから外すなどの対
    応をする予定
    #alexaday2019

    View Slide

  69. なんでそんな認証方式?
    69

    View Slide

  70. Alexa skill AWS
    Lambda
    システムユーザの
    アレクサのスキル
    Amazon Kinesis
    Firehose
    S3 bucket
    Amazon
    DynamoDB
    Amazon
    Redshift
    Webページに音声レビュー結果を表示
    Amazon API
    Gateway AWS Lambda
    まず認証だけやる
    AWS cloud
    3 4 6
    9
    10
    11-2 12 13 14
    15
    ・認証情報
    Webページから
    認証情報発行
    1
    2
    7 8
    Amazon
    QuickSight
    AWS Lambda
    10
    12
    invoke
    Amazon Kinesis
    Firehose
    S3 bucket
    11-1
    12
    データをCSV形式
    に変換して流す
    想定される格納デー
    タの生データのまま
    生データ保管用
    Cognitoなりアカウントリンクなりも検討した
    Amazon API
    Gateway
    AWS Lambda
    70
    Amazon
    Cognito
    #alexaday2019

    View Slide

  71. 以下の理由でやめた
    71
    ・SHA利用の全音声サービスが、
    認証方式に対応するのは非現実的
    ・個人情報等はとりたくない
    ・何よりVUIとして、各種ログ取得のために
    スキルのユーザーへの遅延は論外
    #alexaday2019

    View Slide

  72. 情熱、思想、理念、頭脳、気品、優雅さ、勤勉さ
    72
    速さが足りない!!
    そして何よりも ----
    #alexaday2019

    View Slide

  73. Alexa skill AWS
    Lambda
    システムユーザの
    アレクサのスキル
    Clova
    Amazon Kinesis
    Firehose
    S3 bucket
    Amazon
    DynamoDB
    Amazon
    Redshift
    Webページに音声レビュー結果を表示
    Amazon API
    Gateway AWS Lambda
    まず認証だけやる
    AWS cloud
    3 4
    5
    6
    9
    10
    11-2 12 13 14
    15
    ・認証情報
    Webページから
    認証情報発行
    1
    2
    7 8
    Amazon
    QuickSight
    AWS Lambda
    10
    12
    invoke
    Amazon Kinesis
    Firehose
    S3 bucket
    11-1
    12
    データをCSV形式
    に変換して流す
    想定される格納デー
    タの生データのまま
    生データ保管用
    なのでレスポンスとデータ格納を分割する
    Amazon API
    Gateway
    AWS Lambda
    73
    アラート系
    #alexaday2019

    View Slide

  74. Alexa skill AWS
    Lambda
    システムユーザの
    アレクサのスキル
    Clova
    Amazon Kinesis
    Firehose
    S3 bucket
    Amazon
    DynamoDB
    Amazon
    Redshift
    Webページに音声レビュー結果を表示
    Amazon API
    Gateway AWS Lambda
    まず認証だけやる
    AWS cloud
    3 4
    5
    6
    9
    10
    11-2 12 13 14
    15
    ・認証情報
    Webページから
    認証情報発行
    1
    2
    7 8
    Amazon
    QuickSight
    AWS Lambda
    10
    12
    invoke
    Amazon Kinesis
    Firehose
    S3 bucket
    11-1
    12
    データをCSV形式
    に変換して流す
    想定される格納デー
    タの生データのまま
    生データ保管用
    データ格納箇所
    Amazon API
    Gateway
    AWS Lambda
    74
    アラート系
    #alexaday2019

    View Slide

  75. データ格納は・・・
    75
    検討・苦労した箇所
    #alexaday2019

    View Slide

  76. 1データごとに格納していられないので
    76
    Kinesisシリーズで一旦溜めて、まとめてS3へ
    Amazon Kinesis
    Firehose
    S3 bucket
    AWS
    Lambda
    #alexaday2019

    View Slide

  77. 一番はじめ
    77
    RDS(PostgreSQL)
    に入れたい
    ※オンプレ脳
    #alexaday2019

    View Slide

  78. なぜPostgreSQLか
    78
    ・今までOracleと同等以上に扱って使ってきた
    #alexaday2019

    View Slide

  79. なぜPostgreSQLか
    79
    ・今までOracleと同等以上に扱って使ってきた
    ・将来的にビッグデータとしてRedShiftを考慮
    するとPostgreSQLの方が相性がいい
    #alexaday2019

    View Slide

  80. しかし
    80
    Lambdaで直接RDSに格納する
    のは相性悪すぎる
    #alexaday2019

    View Slide

  81. 案1 オンプレDBA経験
    81
    PostgreSQLならpgpool-IIで
    コネクションプールを使えば
    いけるか!?
    #alexaday2019

    View Slide

  82. 案1 やめた
    82
    ・事例がなさすぎる
    ・下手したらEC2 on PostgreSQLになる
    ・サチる ※飽和状態になる
    #alexaday2019

    View Slide

  83. 案2
    83
    ※公式ページの説明文
    AWS Glue は抽出、変換、ロード (ETL) を行う完全マネージド型のサービスで、
    お客様の分析用データの準備とロードを簡単にします。
    AWS Glue
    Glueをかませればいけるか!?
    #alexaday2019

    View Slide

  84. 案2
    84
    罠を踏んだ
    ・対象データが1件(CSV1行)のみの場合に動かない
    → 1件は極めて稀だが運用中の可能性がゼロではない
    ・PySparkの生成がエラーになることがある
    ※PySpark:要するに大量データの高速処理するやつ 今日は深くは語らないです
    Python+Apache Spark
    #alexaday2019

    View Slide

  85. 案2
    85
    SHAでデータ格納のためにGlueを用いるには
    ・運用が高額すぎる
    ・使いこなせる人が身近にあんまりいない
    #alexaday2019

    View Slide

  86. 案3
    86
    DBを持たないで素直にAthenaでSQL検索すればいいじゃない
    サーバレス万歳
    S3 bucket Amazon
    Athena
    #alexaday2019

    View Slide

  87. 案3
    87
    ・読み取るファイル数が増えれば増えるほど遅くなる
    → 新しい分析用データが来たら1ファイルに追記していく?
    → そのタイミングで運悪くデータ読み取りとファイル編集が
    重なったら悲惨な予感がする
    ・たしかにデータストアそのものが不要
    → とはいえ検索すればするほどコストが不安定にかかる
    ファイルのフォーマット(Parquet形式)や圧縮形式を
    ちゃんとすれば、維持費は最安値になる可能性がある
    #alexaday2019

    View Slide

  88. 案3
    88
    Amazon Kinesis
    Firehose
    S3 bucket
    AWS
    Lambda
    Parquet形式変換
    Amazon
    Athena
    ここに
    お金がかかる
    検索
    #alexaday2019

    View Slide

  89. 89
    Athenaは構わないが、どのような角度で
    データ分析が必要になるのか想像がつかない
    パーティション化の基準が不透明
    #alexaday2019
    案3

    View Slide

  90. 案3 ここで長期的に考える
    90
    長期的に見て、後からRedShiftを使用することになると
    VUIのデータが流れてる状態でマイグレーションする可能性がある
    フリーランスの僕が抜けた後に苦労しそう
    #alexaday2019

    View Slide

  91. 案4 はじめからRedShift
    91

    Amazon
    Redshift
    ・データ分析をBIツールでやるなら、やはりRedShift
    ・列指向
    → レビュー、フィードバックコメント、
    人気度(AlexaのsessionId)を
    それぞれ独立列で管理できる
    ・きちんと設計すれば速い
    → ショートクエリ判断、リザルトキャッシュ etc
    #alexaday2019

    View Slide

  92. AWSの中の人でも意見がわかれる
    92
    スタートアップの新システムでいきなり
    RedShiftの必要性は薄いだろう
    分析するという用途がはじめからきまっている
    のだからRedShiftを使ってもよいだろう
    #alexaday2019

    View Slide

  93. RedShiftは本当にお高いのか
    93
    ・新規2か月無料
    ・小さく始めて、SHAがバズったら
    リザーブドインスタンスに切り替える
    #alexaday2019

    View Slide

  94. 結果、素直にFirehoseからRedShift
    94
    Alexa skill AWS
    Lambda
    システムユーザの
    アレクサのスキル
    Clova
    Amazon Kinesis
    Firehose
    S3 bucket
    Amazon
    DynamoDB
    Amazon
    Redshift
    Webページに音声レビュー結果を表示
    Amazon API
    Gateway AWS Lambda
    まず認証だけやる
    AWS cloud
    3 4
    5
    6
    9
    10
    11-2 12 13 14
    15
    ・認証情報
    Webページから
    認証情報発行
    1
    2
    7 8
    Amazon
    QuickSight
    AWS Lambda
    10
    12
    invoke
    Amazon Kinesis
    Firehose
    S3 bucket
    11-1
    12
    データをCSV形式
    に変換して流す
    想定される格納デー
    タの生データのまま
    生データ保管用
    Amazon API
    Gateway
    AWS Lambda
    94
    アラート系
    #alexaday2019

    View Slide

  95. Alexa skill AWS
    Lambda
    システムユーザの
    アレクサのスキル
    Clova
    Amazon Kinesis
    Firehose
    S3 bucket
    Amazon
    DynamoDB
    Amazon
    Redshift
    Webページに音声レビュー結果を表示
    Amazon API
    Gateway AWS Lambda
    まず認証だけやる
    AWS cloud
    3 4
    5
    6
    9
    10
    11-2 12 13 14
    15
    ・認証情報
    Webページから
    認証情報発行
    1
    2
    7 8
    Amazon
    QuickSight
    AWS Lambda
    10
    12
    invoke
    Amazon Kinesis
    Firehose
    S3 bucket
    11-1
    12
    データをCSV形式
    に変換して流す
    想定される格納デー
    タの生データのまま
    生データ保管用
    分析画面箇所
    Amazon API
    Gateway
    AWS Lambda
    95
    アラート系
    #alexaday2019

    View Slide

  96. ダッシュボードのツールといえば
    96
    ・Re:dash
    ・Metabase
    ・Kibana
    ・Pentaho
    #alexaday2019

    View Slide

  97. が、それぞれ使いたくない
    97
    Amazon EC2 AWS
    Elastic Beanstalk
    Metabase
    Re:dash
    ダッシュボードのためにEC2が必要
    Kibana
    Elasticsearch
    Logstash
    基本的にこの3点セットになる
    Pentaho
    過去にトラウマ
    #alexaday2019

    View Slide

  98. 救世主を見つけた
    98
    Amazon QuickSight
    #alexaday2019

    View Slide

  99. ダッシュボード
    99
    #alexaday2019

    View Slide

  100. ダッシュボード
    100
    #alexaday2019

    View Slide

  101. 101
    Amazon QuickSightの機械学習

    View Slide

  102. 例1:人気が高すぎる場合の異常値検知
    102
    #alexaday2019

    View Slide

  103. 103
    #alexaday2019

    View Slide

  104. 104
    異常(異常値)が発見されると
    タイムリーにEメールでアラートを
    送信
    #alexaday2019

    View Slide

  105. 105
    誤った情報だった
    by Amazon サポート
    #alexaday2019

    View Slide

  106. やるとしたら・・
    106
    Amazon
    Redshift
    Amazon
    CloudWatch
    event
    (time-based)
    AWS Lambda
    email notification
    Amazon
    SNS
    #alexaday2019

    View Slide

  107. 例2:スキルの伸びしろ予測
    107
    #alexaday2019

    View Slide

  108. 欠点
    108
    ・QuickSightの仕様上、
    1グラフごとにしか機械学習の予測ができない
    現状だとスキル毎にRedShiftのViewと
    QuickSightのダッシュボードを作る・・?
    #alexaday2019

    View Slide

  109. 欠点
    109
    ・QuickSightの仕様上、
    1グラフごとにしか機械学習の予測ができない
    現状だとスキル毎にRedShiftのViewと
    QuickSightのダッシュボードを作る・・?
    4月10日までに回答します
    by Amazon サポート
    #alexaday2019

    View Slide

  110. 2018年11月7日リリース
    もちろん情報収集する旨をAmazonに伝えた上での審査一発通過
    110
    そんなシステムを使ったサンプル #alexaday2019

    View Slide

  111. 111
    Webページで音声によるレビュー&コメント結果を表示
    #alexaday2019

    View Slide

  112. 112
    #alexaday2019

    View Slide

  113. このシステムのメリット
    1.スキルの利用頻度や、音声でのレビューやコメントが公平に可視化される
    仕組みが用意してあるのでスクラッチしなくていい
    2.自分の音声サービスが、ユーザがどのように対話をしているか(インテン
    トを呼び出しているか)認識できる ※グラフの作り方次第
    3.自分以外の音声サービスの利用状況と比較できる
    → 自分・自社のKPIの指標にするもよし
    人気サービスのリリース者を探して開発依頼をするもよし
    ※既に様々な企業・団体・個人がβ版利用宣言済
    4.同じロジックのスキルを作成し、GoogleでもAmazonでもLINEでも
    プラットフォームをまたがった比較ができる ※作成中
    113
    #alexaday2019

    View Slide

  114. このシステムのメリット
    1.スキルの利用頻度や、音声でのレビューやコメントが公平に可視化される
    仕組みが用意してあるのでスクラッチしなくていい
    2.自分の音声サービスが、ユーザがどのように対話をしているか(インテン
    トを呼び出しているか)認識できる ※グラフの作り方次第
    3.自分以外の音声サービスの利用状況と比較できる
    → 自分・自社のKPIの指標にするもよし
    人気サービスのリリース者を探して開発依頼をするもよし
    ※既に様々な企業・団体・個人がβ版利用宣言済
    4.同じロジックのスキルを作成し、GoogleでもAmazonでもLINEでも
    プラットフォームをまたがった比較ができる ※作成中
    114
    #alexaday2019

    View Slide

  115. このシステムのメリット
    1.スキルの利用頻度や、音声でのレビューやコメントが公平に可視化される
    仕組みが用意してあるのでスクラッチしなくていい
    2.自分の音声サービスが、ユーザがどのように対話をしているか(インテン
    トを呼び出しているか)認識できる ※グラフの作り方次第
    3.自分以外の音声サービスの利用状況と比較できる
    → 自分・自社のKPIの指標にするもよし
    人気サービスのリリース者を探して開発依頼をするもよし
    ※既に様々な企業・団体・個人がβ版利用中
    4.同じロジックのスキルを作成し、GoogleでもAmazonでもLINEでも
    プラットフォームをまたがった比較ができる ※作成中
    115
    #alexaday2019

    View Slide

  116. このシステムのメリット
    1.スキルの利用頻度や、音声でのレビューやコメントが公平に可視化される
    仕組みが用意してあるのでスクラッチしなくていい
    2.自分の音声サービスが、ユーザがどのように対話をしているか(インテン
    トを呼び出しているか)認識できる ※グラフの作り方次第
    3.自分以外の音声サービスの利用状況と比較できる
    → 自分・自社のKPIの指標にするもよし
    人気サービスのリリース者を探して開発依頼をするもよし
    ※既に様々な企業・団体・個人がβ版利用中
    4.同じロジックのスキルを作成し、GoogleでもAmazonでもLINEでも
    プラットフォームをまたがった比較ができる ※作成中
    116
    #alexaday2019

    View Slide

  117. 今後の展望
    1.LINE Clova対応
    2.Actions on Google対応
    3.先週と今週の利用頻度を比較して通知
    117
    #alexaday2019

    View Slide

  118. そして何より
    みんなで切磋琢磨するようになるので、
    VUI業界のスキル(音声サービス)の
    品質が向上される未来が描ける!!
    by VUIプロデューサー
    118
    #alexaday2019

    View Slide

  119. 直近のVUIイベント情報
    119
    #alexaday2019

    View Slide

  120. 技術書典6で本を頒布
    120
    ・2019年4月14日@池袋サンシャイン
    ・通販、電子版検討中
    #alexaday2019

    View Slide

  121. まとめ
    121
    【可視化】
    ・スキル(音声サービス)のログ
    ・音声でのレビュー&感想
    ご関心ある方はお声がけを
    #alexaday2019

    View Slide

  122. 「VUIあるある」の
    ソースコードと利用ドキュメント
    公開予定
    ご関心がある方は懇親会で!
    ※もちろんメールやTwitter等で連絡をいただいても構わないです
    122
    #alexaday2019

    View Slide