2月12日 歌詞の可視化をするmastodonボットが案外簡単に実装できた日

3年生最後の授業日だった。

 

本当は先週までだったんだけど先生の都合で振替になって春休みに最後の実験授業をすることになった。

 

・実験Ⅳ講義最終回

・「自然言語処理」最終課題(歌詞の可視化を行うMastodon自動返信botの作成)

 

どっちも研究室の先生の課題で、やっぱりその先生のやってるところがあってるので楽しく課題してた。

 

実験Ⅳは差分進化っていう最適化の手法の一つを使ってマツダの複数車種同時設計問題を解いた。

 

いや、解いたのは2日前でその結果を見せた。

 

でも一つ誤解していて、評価回数=世代数だと勝手に思っていたけど評価回数=個体数×世代数だった。

 

世代数は全部1000で回しちゃってて、個体数10個でやったのは足りなかったし、300個でやったのは多すぎた。

 

多い分にはログを見ればいいだけだったのでまだ助かった。

 

一回回すのに数時間を要しててコード書くより回してるほうが時間かかるよなあと思ってたけど評価回数3万回っていうのをちゃんと守ってたら1時間くらいだった。

 

それでも1時間はかかるけど。

 

問題がちゃんとわかったところでさらにパラメータ調整をしてどこがいい値なんだ~と途中からはもゲームしてる感覚で友達と分割して回してた。

 

ちなみにその一緒にしてた友達と私はすでにある程度終わって結果を見せられたけど他の同学年は実装終わってなくて授業中に頑張ってた。

 

Pythonやってなかった人もいるからそこからみたいだったけどCやってればそんな変わんないと思うし、とりあえず課題ちゃんと終わってよかった。

 

それ回しながら自然言語処理の課題をした。

 

MastodonっていうTwitterみたいなサービスで自動返信ボットを作れっていう最終課題だった。

 

何か文字を受け取ってそれに対して自然言語処理をしてまた返すっていうボット。

 

授業で習った形態素解析とか情報検索とか情報分類とか使えばなんでもよかったんだけど、ちょうど私が授業とは別に趣味でやってた歌詞の可視化が使えるんではないかと組み込むことにした。

 

詳しくは鹿児島.mkのLT大会で話したので資料だけおいとこう。

 

 
アーティスト名を受け取ってアーティスト検索をして全曲スクレイピング、それを形態素解析して多い単語を可視化という感じ。
 
いつも課題は1日じゃ終わらないし今日も徹夜コースかなと思ってたら3時間くらいで実装できてにこにこ。
 
徹夜コースのはずが夜7時8時くらいには終わってなんか不思議な気持ちになってしまった。
 
なかなか面白いものができたのでは?と自分では思ってるんだけど先生的にはどうだったんだろうか、わざわざフィードバッグくださいって書いて提出した。
 
ちょっとずうずうしかったかななんて思いながら、課題にもレポートにも何にもフィードバッグがないのまじで評定だけのために出してる勉強意味あるんだろうかと本当に最近強く思うので。
 
期末テストはまだ授業ないからわからんでもないけど中間テストでさえ点数も返ってこないとか鹿児島大学ざらなので。
 
レポートに点数もコメントも返ってこないのも当たり前で授業の評価としか返ってこないので。
 
なんかそれ当たり前になってたけど短大とか高校とか思い返してもそれ当たり前じゃないよなって。
 
勉強するため成績あげるため自分の実力を確かめるためのテストじゃないんだよなあ。
 
完全に先生が評定をつけるためだけのテストでしかなくて評定でたら終わりなので生徒はほったらかしなのが鹿児島大学の現状なんじゃないだろうかとか思ったりして。
 
まあ、事実なので。
 
だから自分が頑張ったものとか時間かけたものに関してはフィードバッグくれってこっちからいうことにした。
 
2,3行でいいんだけどなあ。まあみんなにやると2,3行も積もれば山なのでね。
 
それをもらってもスルーの生徒もいるだろうから需要と供給がうまくいかないよなあ。
 
とりあえず完成はして提出はした。
 
その授業用に立ち上げたサーバーが画像ツイート対応していないとかいう問題もありつつもingurっていうやつで画像アップロードするコードまで書いてそのURLをリプすることでなんとか解決した。
 
やりたいと思ったことがスムーズに実装できるようになったのがちょっと嬉しくてなんだかちょっと成長した気がした1日だった。