nidの技術メモ

IT系の技術メモを中心につらつら書いています。文章力がなく、読みづらいかもしれません。

AWS Dev Day Challengeに参加してきた

チーム「羽根つき餃子」で開発コンテストにチャレンジしてきました。

3分のピッチだと話しきれなかったので、ここに熱い想いを残しておくw

テーマ

以下の4つからの選択制(5つ目の選択肢として自由もあったけど)

  • チャット
  • 動画投稿サイト
  • SNS
  • チャットボット

自分たちは「チャット」を選択

作ったもの

「強制ニコニコチャット」

  • ログイン画面(スマイル認証 笑顔じゃないと使えませんw) f:id:nidstyle3:20181103003407p:plain

  • チャット画面(ネガティブワードを「ピーー」に自動変換) f:id:nidstyle3:20181103003420p:plain

目指したアーキテクト図

f:id:nidstyle3:20181103003724p:plain

  • Cloudfrontで公開
  • API Gateway + Lambda + Rekognition + Cognitoでスマイル認証
  • AWS IoTでメッセージのやり取り
  • Lambda + Comprehendでネガティブワード変換

実際のアーキテクト図

f:id:nidstyle3:20181103003807p:plain

できなかったこと

docs.aws.amazon.com

S3の画像ではRekognitionの動作が確認できてたので、ここは要調査。Lambdaでbase64形式で受け取れてたかも。詳しい人教えてください。。

  • Cognitoでの認証

    今回はIAM認証情報を固定で返すように設定

  • 感情認識

Comprehendの日本語対応をお願いします!

Mecabと単語感情極性対応表PN Tableを使って頑張ろうとしたけど、力尽きた。

ピッチの時に「translateで日本語→英語変換を行った後Comprehendに渡す」というのを聞いて、後で試してみたらなんとなく動いた。
でも、精度を上げるのは難しそう。

f:id:nidstyle3:20181103005621p:plain

f:id:nidstyle3:20181103005634p:plain

できたこと

  • SPA + API のサーバーレス構成(フロントはjQuery
  • AWS IoTでチャットメッセージのやり取り
  • Serverless Frameworkを使ったLambdaへのデプロイ
  • Cloudfrontで公開

やらなかったこと

  • CI/CD
  • ロギング
  • モニタリング

ハッカソンなので継続的にデプロイする必要もないし、安定運用する必要もないので切り捨てた。
でも、本当はここが一番やりたかったかも。

感想

ComprehendやRekognitionなど、今まであまりさわれてなかったサービスに触れることができて面白かった。
またこういう機会があれば参加したい!