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

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

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. 6

  2. 7

  3. 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
  4. 最近非常によく言われる 13 ・今のところ Amazonの中の人ではないです ・今のところ AWS Loft Tokyoに常駐している AlexaのAsk an

    Expertではないです ・本件の権利類はSmartHacks社から僕のモノ になりました #alexaday2019
  5. 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
  6. 22

  7. 2 件 っ て な ん だ よ ! ©

    タイトル:ブラックジャックによろしく 著作者名: 佐藤秀峰 34
  8. 2 件 っ て な ん だ っ た ん

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

  10. コンセプト 50 ・API化 ・インテントの使用状況 ・★いくつ ・フリーコメント ・時間 ・カテゴリ ・作成ツール データ収集

    ・SQLで検索 ・BIツールでグラフ化 ・Webページに反映 分析・可視化 ・VUIでユーザが違和感 を持たない応答速度 ・プラットフォームに 依存しない設計 こだわり部分 #alexaday2019
  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 55 ※動いた段階の構成。現在は一部異なります。 #alexaday2019
  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 58 ※動いた段階の構成。現在は一部異なります。 #alexaday2019
  13. 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
  14. 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
  15. 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
  16. 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
  17. 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
  18. 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
  19. 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
  20. 案3 87 ・読み取るファイル数が増えれば増えるほど遅くなる → 新しい分析用データが来たら1ファイルに追記していく? → そのタイミングで運悪くデータ読み取りとファイル編集が 重なったら悲惨な予感がする ・たしかにデータストアそのものが不要 →

    とはいえ検索すればするほどコストが不安定にかかる ファイルのフォーマット(Parquet形式)や圧縮形式を ちゃんとすれば、維持費は最安値になる可能性がある #alexaday2019
  21. 案3 88 Amazon Kinesis Firehose S3 bucket AWS Lambda Parquet形式変換

    Amazon Athena ここに お金がかかる 検索 #alexaday2019
  22. 案4 はじめからRedShift 91 ・ Amazon Redshift ・データ分析をBIツールでやるなら、やはりRedShift ・列指向 → レビュー、フィードバックコメント、

    人気度(AlexaのsessionId)を それぞれ独立列で管理できる ・きちんと設計すれば速い → ショートクエリ判断、リザルトキャッシュ etc #alexaday2019
  23. 結果、素直に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
  24. 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
  25. が、それぞれ使いたくない 97 Amazon EC2 AWS Elastic Beanstalk Metabase Re:dash ダッシュボードのためにEC2が必要

    Kibana Elasticsearch Logstash 基本的にこの3点セットになる Pentaho 過去にトラウマ #alexaday2019