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

【ショート版】 AWSを駆使して特許出願に至ったVUIの 「音声レビュー・ログデータ収集・分析システム」の話

show
May 10, 2019

【ショート版】 AWSを駆使して特許出願に至ったVUIの 「音声レビュー・ログデータ収集・分析システム」の話

AAJUG関東Vol.3で使用したスライドです。
AlexaDay2019のショート版+QuickSightの情報を追記しています。

show

May 10, 2019
Tweet

More Decks by show

Other Decks in Technology

Transcript

  1. 2019/05/09 AAJUG 関東支部 Vol.3 - re:cap Alexa Day 2019@スペースアルファ三宮
    【ショート版】
    AWSを駆使して特許出願に至ったVUIの
    「音声レビュー・ログデータ収集・分析システム」
    の話
    1

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

  5. 経歴
    5
    DBA QA・SET DevOps推進
    #AAJUG

    View Slide

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

    View Slide

  7. 3つのコミュニティを運営中
    7
    ・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/
    #AAJUG

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

  11. 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
    11
    ※動いた段階の構成。現在は一部異なります。
    #AAJUG

    View Slide

  12. ダッシュボード
    12
    #AAJUG

    View Slide

  13. 13

    View Slide

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

    View Slide

  15. こんな悩みありませんか?
    15
    ・VUIやスマートスピーカーに興味あるんだけど、
    どういう音声サービスを見習って作ればいいのかわからない
    #AAJUG

    View Slide

  16. こんな悩みありませんか?
    16
    ・VUIやスマートスピーカーに興味あるんだけど、
    どういう音声サービスを見習って作ればいいのかわからない
    ・音声サービス(スキル)作成を誰かに依頼したいけど、
    人気サービスをリリースしている人・企業がわからない
    #AAJUG

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

  20. 2018年11月7日にリリース
    20
    #AAJUG

    View Slide

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

    View Slide

  22. VUIの
    悲しい現実を
    ご紹介
    22
    #AAJUG

    View Slide

  23. Amazonのスキルストア
    レビュー数 ?
    23
    UUがリリース2週間で
    数百人
    #VOT

    View Slide

  24. Amazonのスキルストア
    レビュー数 2
    24
    #VOT
    UUが
    数百人の一方で・・

    View Slide

  25. 2








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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

  30. 2












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

    View Slide

  31. 音声によるフリーコメントの一部
    ・とってもいいスキルでした
    31
    #AAJUG

    View Slide

  32. 音声によるフリーコメントの一部
    ・とってもいいスキルでした
    ・星7つ
    32
    #AAJUG

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

  36. つまり・・
    スキル(音声サービス)に対する
    レビューとコメントを、そのまま声でやれば
    36
    #AAJUG

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

  40. 僕のモットー
    ないなら創ればいい
    40
    #AAJUG

    View Slide

  41. 41

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

  46. 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
    46
    ※動いた段階の構成。現在は一部異なります。
    #AAJUG

    View Slide

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

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

    View Slide

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

    View Slide

  49. 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
    49
    ※動いた段階の構成。現在は一部異なります。
    #AAJUG

    View Slide

  50. 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
    50
    アラート系
    #AAJUG

    View Slide

  51. 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
    51
    アラート系
    #AAJUG

    View Slide

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

    View Slide

  53. 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
    53
    アラート系
    #AAJUG

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

  57. 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
    57
    アラート系
    #AAJUG

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

  61. 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
    61
    Amazon
    Cognito
    #AAJUG

    View Slide

  62. 以下の理由でやめた
    62
    ・SHA利用の全音声サービスが、
    認証方式に対応するのは非現実的
    #AAJUG

    View Slide

  63. 以下の理由でやめた
    63
    ・SHA利用の全音声サービスが、
    認証方式に対応するのは非現実的
    ・個人情報等はとりたくない
    #AAJUG

    View Slide

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

    View Slide

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

    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形式
    に変換して流す
    想定される格納デー
    タの生データのまま
    生データ保管用
    なのでレスポンスとデータ格納を分割する
    Amazon API
    Gateway
    AWS Lambda
    66
    アラート系
    #AAJUG

    View Slide

  67. 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
    67
    アラート系
    #AAJUG

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

  77. 案2
    77
    罠を踏んだ
    #AAJUG

    View Slide

  78. 案2
    78
    罠を踏んだ
    ・対象データが1件(CSV1行)のみの場合に動かない
    → 1件は極めて稀だが運用中の可能性がゼロではない
    #AAJUG

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

  82. 82
    Athenaは構わないが、どのような角度で
    データ分析が必要になるのか想像がつかない
    #AAJUG
    案3

    View Slide

  83. Athena案 維持費は最安値の可能性
    83
    Amazon
    Kinesis Firehose
    S3 bucket
    AWS
    Lambda
    Parquet形式変換
    Amazon
    Athena
    検索
    Amazon
    QuickSight
    #AAJUG

    View Slide

  84. Athena案 けども・・
    84
    Amazon
    Kinesis Firehose
    S3 bucket
    AWS
    Lambda
    Parquet形式変換
    Amazon
    Athena
    ここに
    お金がかかる
    検索
    Amazon
    QuickSight
    #AAJUG

    View Slide

  85. Athena案 けども・・
    85
    Amazon
    Kinesis Firehose
    S3 bucket
    AWS
    Lambda
    Parquet形式変換
    Amazon
    Athena
    ここに
    お金がかかる
    検索
    どのように分析されるか未知数
    であるためパーティション化が難しい
    Amazon
    QuickSight
    #AAJUG

    View Slide

  86. 案3 ここで長期的に考える
    86
    長期的に見て、後からRedShiftを使用することになると
    VUIのデータが流れてる状態でマイグレーションする可能性がある
    #AAJUG

    View Slide

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

    View Slide

  88. 案4 はじめからRedShift
    88

    Amazon
    Redshift
    ・データ分析をBIツールでやるなら、やはりRedShift
    #AAJUG

    View Slide

  89. 案4 はじめからRedShift
    89

    Amazon
    Redshift
    ・データ分析をBIツールでやるなら、やはりRedShift
    ・列指向
    #AAJUG

    View Slide

  90. 案4 はじめからRedShift
    90

    Amazon
    Redshift
    ・データ分析をBIツールでやるなら、やはりRedShift
    ・列指向
    → レビュー、フィードバックコメント、
    人気度(AlexaのsessionId)を
    それぞれ独立列で管理できる
    #AAJUG

    View Slide

  91. 案4 はじめからRedShift
    91

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

    View Slide

  92. 結果、素直にFirehoseからRedShift
    92
    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
    92
    アラート系
    #AAJUG

    View Slide

  93. 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
    93
    アラート系
    #AAJUG

    View Slide

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

    View Slide

  95. サーバレスで運用不要のBIサービス
    95
    Amazon QuickSight
    #AAJUG

    View Slide

  96. ダッシュボード
    96
    #AAJUG

    View Slide

  97. ダッシュボード
    97
    #AAJUG

    View Slide

  98. 98
    Amazon QuickSightの機械学習

    View Slide

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

    View Slide

  100. 100
    #AAJUG

    View Slide

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

    View Slide

  102. 102
    誤った情報だった
    by Amazon サポート
    #AAJUG

    View Slide

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

    View Slide

  104. 例2:スキルの伸びしろ予測
    104
    #AAJUG

    View Slide

  105. 欠点
    105
    ・QuickSightの仕様上、
    1グラフごとにしか機械学習の予測ができない
    #AAJUG

    View Slide

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

    View Slide

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

    View Slide

  108. https://smartmacchiato.life/vuiaruaru.html 108
    Webページで音声によるレビュー&コメント結果を表示
    #AAJUG

    View Slide

  109. 109
    #AAJUG

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

  114. 今後の展望
    1.LINE Clova対応
    114
    #AAJUG

    View Slide

  115. 今後の展望
    1.LINE Clova対応
    2.Actions on Google対応
    115
    #AAJUG

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

  120. 宣伝
    120
    #AAJUG
    アイリッジ社の会議室利用可

    View Slide