Skip to content

青春コンプレックス

Posted on:February 14, 2023 at 03:30 PM

青春コンプレックス

今日はバレンタインですね。
誰からもチョコをもらえないというのも、青春のコンプレックスだという方もいらっしゃると思います。

そこで(?)今回は、大人気アニメ「ぼっち・ざ・ろっく!」のOP曲である「青春コンプレックス」をマルコフ連鎖により青春コンプレックスっぽい曲を生成してみました。

ぼざろの推しは虹夏です。

マルコフ連鎖とは?

マルコフ連鎖とは、確率過程の一種であるマルコフ過程のうち、とりうる状態が離散的なものをいう。(Wikipedia)

詳細はラムダ技術部さんの動画をご覧ください。

機械学習ではないので、低負荷かつ高速に「それっぽい」文章が作成できます。

使用技術

*意味があるのかわかりませんが、モデルを二つ生成して、結合してからセンテンスを生成しています。

Markovifyで簡単にマルコフ連鎖により文字列を生成できるのですが、日本語で行うには一工夫必要です。
下記の問題を解決する必要があります。

  1. 単語ごとにスペースを入れる必要がある(解決策:MeCabでごにょごにょする)
  2. 文ごとに改行する必要がある(解決策:コードでゴリ押し)

Markovify.Textを使ってモデルを生成しようとすると、「.」が文末として認識されるので日本語を処理する場合は、markovify.NewlineTextを使ってください。
また、Markovifyには文字列にカッコが含まれるとエラーになるとどこかの記事に書いてあったので、含まれている場合は、削除するなり処理を飛ばすなりしたほうが良いと思います。

ソースコード全体は非常に単純なコードなので載せていませんが、気が向いたら載せようと思います。

ハマった点

Windows環境だけなのかもしれませんが、追加でunidic-liteというライブラリ(辞書?)が必要です。(Ubuntu Server環境ではエラー吐かなかった)

「青春コンプレックス - Python作詞版」

マルコフ連鎖により、歌詞に使えそうなフレーズを生成し、ある程度リズムに合うように適当に並び変えました。

歌詞の最後に生成されたフレーズを載せておきますが、マルコフ連鎖の性質上、重複しているものがあります。

歌詞 (ワンコーラスだけ)

優しい気持ちになれるのが好きだった
嵐に怯えてるフードの中
誰にも月があったが
歪な線が闇夜を走った

優しい歌ほど好きだった
顔が似合うから
深く被るフリをして
空が割れるのは怖かった

嵐に怯えてみろ!
嘆きのファズで 雷鳴を轟かせたいんだ

打ち鳴らせ
明るい場所を求めていたんだ 目はどうしよう!
歪な線が闇夜を走った

生成されたフレーズ

どうしようもなく愛を欲して空が割れるから
どうしようもなく愛を欲して空が割れるのは怖かったが歪な線が闇夜を走った
海の底にも月があったが歪な線が闇夜を走った
優しい気持ちになれるのは怖かった
深く被るフリをして空が割れるのが好きだった
誰にも月があった顔が似合うから
悲しい気持ちになりたいから
嵐に怯えてみろ!
雨に濡れるのは怖かった
かき鳴らせ雷鳴を轟かせたいから
嵐に怯えてみたいんだ
かき鳴らせ雷鳴を轟かせたいんだ
悲しい気持ちになりたいんだ
だけど触れるから
深く被るフリをして空が割れるのが好きだったが歪な線が闇夜を走った
雨に濡れるから
それでいい猫背のまま虎になれるのが好きだった
深く被るフリをして空が割れるのが好きだった
かき鳴らせ雷鳴を轟かせたいんだ
雨に濡れるのが好きだった顔が似合うから
雨に濡れるのが好きだったが歪な線が闇夜を走った
光のフォルテット
それでいい猫背のまま虎になれるのを待っていた
優しい気持ちになれるのが好きだった
雨に濡れるから
深く潜るのを待っていた
暗く狭いのが好きだった顔が似合うから
だけど触れるのが好きだった顔が似合うから
暗く狭いのが好きだったが歪な線が闇夜を走った
打ち鳴らせ雷鳴を轟かせたいんだ目はどうしよう?
光のフォルテット
だけど触れるのが好きだった
深く潜るのが好きだった顔が似合うから
嵐に怯えてみろ!
深く潜るのを待っていた
かき鳴らせ雷鳴を轟かせたいんだ
優しい気持ちになれるのが好きだった
かき鳴らせ雷鳴を轟かせたいんだ
嵐に怯えてみろ!
嵐に怯えてるフードの中
嵐に怯えてみたいんだ
かき鳴らせ雷鳴を轟かせたいから
光のフォルテット
だけど触れるのは怖かった顔が似合うから
打ち鳴らせ雷鳴を
優しい気持ちになれるのが好きだった
暗く狭いのが好きだったが歪な線が闇夜を走ったが歪な線が闇夜を走った
それでいい猫背のまま虎になれるのが好きだった
かき鳴らせ雷鳴を轟かせたいんだ
雨に濡れるのは怖かった
だけど触れるのを待っていた
だけど触れるから
悲しい気持ちになりたいから
嵐に怯えてみたいんだ
だけど触れるから
だけど触れるのが好きだった顔が似合うから
それでいい猫背のまま虎になれるのが好きだった
深く潜るのは怖かった
優しい気持ちになれるのが好きだった
嵐に怯えてみろ!
深く潜るのは怖かった
雨に濡れるから
誰にも言わない筈だった顔が似合うから
暗く狭いのが好きだったが歪な線が闇夜を走った
打ち鳴らせ雷鳴を轟かせたいから
悲しい気持ちになれるのは怖かった
優しい気持ちになりたいんだ
誰にも月があったが歪な線が闇夜を走った
だけど触れるから
雨に濡れるのを待っていたんだ目はどうしよう!
だけど触れるのが好きだった
嵐に怯えてるフードの中
嵐に怯えてるフードの中
悲しい気持ちになれるのは怖かったが歪な線が闇夜を走った顔が似合うから
それでいい猫背のまま虎になれるのが好きだった
悲しい歌ほど好きだった顔が似合うから
嵐に怯えてるフードの中
誰にも言わない筈だった顔が似合うから
優しい気持ちになれるのを待っていたんだ
かき鳴らせ雷鳴を轟かせたいんだ
明るい場所を求めていたんだ目はどうしよう?
深く被るフリをしてた
どうしようもなく愛を欲して空が割れるのが好きだった顔が似合うから
嵐に怯えてるフードの中
悲しい気持ちになりたいんだ
光のフォルテット

現場からは以上です。