えぇ(良ぇ)日記_立山3015

https://github.com/Blue-Mountain-Toyama/reptiles

Django

Redis

Azure

Docker

JavaScript

絵日記をAIで自動生成するアプリ!宿題をため込んでも問題なし!!

立山3015

推しアイデア

 ユーモアのある文章にするために機械学習を用いて入力された単語から文章を自動生成させました。  絵日記の心臓部である’絵’には、ボタン一つで文章に関連する画像を抽出できるスクレイピングを用いました。また一度で1~30日分の絵日記を作成でき、どんなピンチの人でも利用可です!

作った背景

 ついつい書き忘れる絵日記の宿題。最終日に無理やり書こうとしても夏休みにしたことなんて全部覚えているわけない!もうこのまま嘘を書いて提出しようかな。。。自分で嘘は書けない、そんな優等生のキミのために作りました!  未来ある小中学生の手を汚させはしないよーん!

推し技術

文章自動生成に用いるファインチューニング。絵日記の画像を自動ダウンロードするスクレイピング。一気に30日分まとめて絵日記を作成する機能。大容量の機能をデプロイするために用いたAzureなどなどです!

プロジェクト詳細

<アプリ名> えぇ(良ぇ)日記

<概要> 夏休み最終日、貯めに貯めた絵日記の課題を一気に消化できます。

<アプリ説明>

  1. ログイン画面でアカウント作成
  2. 夏休みの思い出に残るキーワードを入力(複数日分作る場合、キーワードは入力せず全て自動で生成されます
  3. 作成ボタンをクリック後、自動生成中画面が表示
  4. 絵日記が完成

<フロントエンド>

‣使用した言語や技術 ・HTML ・CSS ・JavaScript

‣工夫した点 ・ページめくりのアニメーションはTurn.jsを使いました。 ・Bootstrapを用いてさくさく整えました。

<バックエンド>

‣使用した言語や技術 ・Python ・MySQL(データベース) ・Django(フレームワーク)

‣工夫した点 ・DjangoのCeleryでタスクを管理し、非同期で処理を実行しました。  

‣難関ポイント ・RADIUSサーバーで処理が重い文章生成をバックエンド側で非同期実行し、処理が完了次第、フロントに結果を表示させるようにしました。

<インフラ>

‣AWSで作成していたが、ライブラリがうまくインストールできなかったのでAzureに変更した。難しかった(><)

<機能ごとの技術>

‣文章自動生成  日本語向けに事前学習された「GPT-2」のモデルに、自分たちで用意したデータを追加し全体のデータを再学習させました。GPUが必要なため、google colaboratoryで学習させました。このファインチューニングにより夏休みに関連する文章を生成しやすくしました。  1日分のみを‘濃く’作りたい方は、キーワードを入力すれば関連した文章を生成します。2日分以上を一気に‘浅く広く’作りたい方は、キーワードを入力せずに全ての文章を生成します。(完全にランダムで最初の一文を作成するプログラムを回し、その文章を機械学習の入力とします。その後、指定された日数分ループを回し、文章を作成します)この2機能を使い分けてもらえると嬉しいです。

‣画像自動ダウンロード  入力されたキーワードから「いらすとや」の画像を自動ダウンロードして絵として貼り付けました。いらすとやのWebページを取得し、プログラムで指定したキーワードを検索し抽出します。その後、得たデータを整形し保存、表示しています。このスクレイピングにより、文章と合致した画像を生成することができ、いかにも小中学生っぽい絵日記に近づけました。  これも上と同様に、2日以上を一気に作りたい方は、キーワードを入力せずに絵を生成します。

立山3015

@jcv48dcqqdx23hz7