こんにちは@kurimoni367 です!
自分の通っている高校でAWSを活用してシステムを構築・運用したことについて投稿します。今回は体育祭編です!!
目次
1.構築したシステム一覧
2.競技エントリー管理システム
3.運用してみて
4.まとめ
お願い
この記事の記載事項やサービスについて、弊学及び当局へのお問い合わせはおやめください。
またこの記事の記載事項について、誤りの無い様細心の注意を払っていますが正確性を保証することはできません。
予めご了承下さい。
1.構築したシステム一覧
体育祭では
1. 競技エントリー管理システム
2. NYGstreaming(ライブ配信)
を構築・運用しました。
2のNYGstreamingは前回の文化祭・NYGstreaming編で詳しく書かせていただいたので、ぜひそちらをご覧ください!この頃は、ver1.1からver1.2へ移行したぐらいの頃でした。また、競技ルール説明のライブ配信では、アーカイブ配信で何度も見れるようにする必要がありました。そのため、S3に録画されたものをダウンロードし、編集した後、Google Driveで共有しました。
2.競技エントリー管理システム
このシステムでは各競技に出場する生徒の情報を管理します。エントリールールに反する場合があればそれを検出し、招集係の生徒が確認したり自分の出場種目を確認したりするために、それぞれに最適なフォーマットで書き出すことを目的としたシステムです。
これは文化祭で構築した各サービスと異なり処理のみを目的としたので、WebUIのようなものでなく、あくまでシステムとして運用しました。
構成
フローチャート図のようなものは上のようになります。
それでは詳しく見ていきます。
Amazon Textractとは
今年度のシステムが例年と異なる所は
- 回収した生データを手打ちしない
- データの再配列をスプレッドシート関数でなく Google Colaboratory を用いた
という点にあります。
以前はすべてのデータを一度手打ちしており、入力ミスを防ぐためにできる工夫は「如何に簡単に入力できるようなID構成にするか」といったことくらいでした。そういった工夫ではやはり限界はあります。そこで今回は、AIに読み取らせてしまえ!!となったわけです。
そして採用されたAmazon Textractですが、これにはある大きな特徴があります。それは表を認識して表データのみを抽出し書き出せるという特徴です。
このデモのようにきちんと表部分が認識されています。このデータはzipで文章として読み取ったデータとともにダウンロードできます。
他にもたくさん機能があるので気になる方は公式サイトを確認してみてください。
エラー検知システム
このシステムではそれほど凝ったことはしていません。「ある競技に出場すれば前後3競技には出場できない」というルールがあるのですが、そういったエントリー上のルールに反するものを、生徒個々人に振ったIDに基づきスプレッドシートの関数で処理させました。
扱うデータ量が10万を優に超えていたので、それをきれいに表示させるという点で苦労しました。
3.運用してみて
まず、Amazon Textractに関してですが正直な所まずまずといった感じでした。表が認識されないということはなかったのですが、文字列として認識される・1がl(小文字のL)と誤認識される 、などのミスが頻発しました。文字列を数字列に変換する際は関数を噛ますだけでいいのですが、数字が似たアルファベットに誤認される問題に関しては人間が確認して修正しないといけないので、結果的に作業量が劇的に減少とまでは行きませんでした。
また、運用当時は日本語が未対応で、書き込み用シートが全て英語になりました。
4.まとめ
結果として利点も欠点もかなり多く見つかったエントリー管理システムとなりましたが、結果として作業日数は減らせたと思います。
さて、2回に渡って投稿させていただきました、高校でのAWS開発・運用日記 ですが、これでいったん終了とさせていただきます。
いままで読んでくださった皆さんありがとうございました!!
前作はこちらからご覧ください!