Kawaii Future Rock*1ユニットのNekoHackerのハッカソンイベント・ネコハッカソンに参加しました。
ミュージシャン主催のハッカソンイベントといえばMOSAIC.WAVのMOSAIC.Hackathonが思い出されますが、あれはミュージシャン側がメインで作るイベントでした。こういう形のイベントは私が知る限りでは始めてです。また、MOSAIC.Hackathonも私は行けなかったので、あの日のリベンジです。
当日の様子
ハッカソンにはいろいろ形態があると思いますが、当日の進行はこんな感じでした。
- 各参加者でアイデアを出す
- それぞれテーブルを回っていい企画に集まってチームを編成する
- チームごとに開発し、プレゼンする
普段の仕事で出会わないタイプのエンジニアが多かったです。あとベンチャー気質の参加者が多かったように思います。
実装した内容や反省点
私は @Capchii さんのアイデアを元にしたチームで、他にも @chanyou0311 さんや @sera1250 さんとともに「NekoHackerの曲をレコメンドするbot」の開発を行いました。
ざっくりというと、楽曲の歌詞とユーザーのツイートをMeCabとword2vecでベクトル化し、ユーザーのツイートと近い歌詞の曲をレコメンドするという仕組みです(他にもいろいろ工夫はありましたが)。当日は実装が簡単なTwitterのbotとして提供しました。
- botアカウントへのリプライを30秒おきにポーリングして取得(cronでの定期実行処理が
(スクリーンネーム, ツイートid)
をFlaskサーバーに送信) - リプライがあった場合はその人の直近200件のツイートを取得(FlaskのAPI)
- 歌詞との距離を計算(FlaskのAPI)
- おすすめの(距離の近い)楽曲と、それぞれの曲のスコアをグラフ化してリプライ(FlaskのAPI)
データサイエンス担当とバックエンド担当に分かれ、自分はバックエンド担当側でした。
あなたにおすすめの曲はくいしんぼハッカーです!
— ちゃんゆー / Gaiax (@chanyou0311) October 5, 2019
また「パフェ」「パへ」などの単語に反応するイースターエッグ的な機能も用意していました。単にレコメンドするだけだとプロモーションとして弱いので、もう少しレコメンド以外でも工夫できるんじゃないかと思います。
#パヘ食べたい https://t.co/kIW1zD5bgh
— ちゃんゆー / Gaiax (@chanyou0311) October 5, 2019
自分の反省点としては最後の時間少し手が空いてしまい、先にスライドを作っていたが、後から考えるとデータサイエンスチームから受け取るコード実行環境を整えるなど、もう少し良い動き方ができたかなと思います。
また、大きく分けて「①cronの定期実行処理」と「②レコメンドしてユーザーにリプライを返すためのAPI」があったのですが、②側は「[ツイート] -> 各楽曲のスコア
」の処理を担当するようにして、①側で「Twitterとのインターフェイスになる処理全般」を担当したほうが良かったように思います(通信内容が大きくなるデメリットはあるもののプロトタイプ程度なら問題ないと思います)。そのため②部分を担当した @chanyou0311 さんの負荷が大きくなってしまったように思います。
あと他のチームの人がやってたように事前準備はしておくべきでした。どうぜAWSかGCPを使ってシステムを組むのは目に見えているので、そこの負荷が減るだけでもアドバンテージになったはずなので。
他のチームもAR的なプロダクトや、プロモーションの企画もあったりしてとてもいい感じでした(内緒の内容が含まれるので紹介できないのですが…)。
とはいえ、これからも楽しいイベント企画があると思います。楽しみにしています。
#ネコハッカソン 本当に最高のイベントだった。。。
— セラ@NekoHacker (@sera1250) October 5, 2019
詳細はまだ少しの間言えないのですがとにかく楽しかった。。。
皆様ありがとうございました😭😭
またやりたい😭😭