Twitterの「あいみょんの○○って歌詞に共感する」から,あいみょんの歌を生成する


あいみょんの○○って歌詞に共感する.

Twitterではみんながあいみょんの歌詞に共感しまくっている.
最近もこんなの見かけた.

あいみょんの歌はさぞ素晴らしいのだとことがわかる.
みんなが共感する歌詞を合わせればさらに素晴らしいあいみょんの歌が作れるんじゃないかと私は考えた.

とりあえず手順はこんな感じ
- 「あいみょんの○○って歌詞に共感する」ツイートを収集
- ツイートの中から歌詞にあたる部分を抜く
- マルコフ連鎖で歌詞をつくる
ではあいみょんの歌詞をつくっていこう
ちなみに僕はあいみょんの歌は聞いたことない(たぶんどっかで耳にしたことはあると思う)

「あいみょんの○○って歌詞に共感する」ツイートを収集

公式リファレンスのまんまサクッとやります.
tweet_modeをextendedにしとくとツイートの文章が省略されずに全文とれます.
csvに出力したら1行ずつ空白ができてしまったのでこちらを参考にしてなおした
Python でcsv出力したら一行空く件
ちなみに200件近くを収集した.APIの都合もあるんでとりまこれくらい

tweetGetter.py
import tweepy
import csv

import keys

consumer_key = keys.consumer_key
consumer_secret = keys.consumer_secret
access_key = keys.access_key
access_secret = keys.access_secret

auth = tweepy.OAuthHandler(consumer_key, consumer_secret)
auth.set_access_token(access_key, access_secret)
api = tweepy.API(auth)

q = r'"あいみょん" "って歌詞"  -filter:retweets'
count = 100

tweet_list = []

tweets = api.search(q=q, locale="ja", count=count, tweet_mode='extended')
for tweet in tweets:
    tweet_list.append([[tweet.user.id, tweet.user.followers_count,
                        tweet.user.friends_count, tweet.user.description],
                       [tweet.id, tweet.full_text, tweet.favorite_count,
                        tweet.retweet_count]])

with open("data/Tweetsdata.csv", "w", encoding="utf-8", newline="") as f:
    writer = csv.writer(f)
    writer.writerow(["tweet"])
    for tweet_info in tweet_list:
        writer.writerow([tweet_info[1][1].replace("\n", "")])
        print([tweet_info[1][1].replace("\n", "")])

ツイートの中から歌詞にあたる部分を抜いてマルコフ連鎖で歌詞をつくる

マルコフ連鎖で文章生成を拝借した.
generate_text()の引数に文章をとるようにちょこっとだけ変えてmarkov_janome.pyとしてつくって読み込んだ.

aimyon_phrase.py
import csv
import re
from markov_janome import generate_text


# 歌詞を抜き取る部分
def phrase_split(tweet):
    # tweetから歌詞を抜き取る
    try:
        phrase = str(re.search(r'あいみょんの(.+)って歌詞', tweet).group(1))
        phrase = re.sub(r'[「『「"」』」]', "", phrase)
        return phrase
    except:
        return ""


tweet_list = []
with open('data/Tweetsdata.csv', encoding='utf-8_sig') as f:
    reader = csv.reader(f)
    tweet_list = list(reader)[1:]
    tweet_list = list(map(lambda t: t[0], tweet_list))

phrase_list = list(set(list(map(phrase_split, tweet_list))))

# マルコフ連鎖
text = '。'.join(phrase_list)
generate_text(text)

 あいみょんの歌詞ができた

身体使って男を口説こうとして失敗した女がヤリ捨てされて汗だく稟議書を回すとキャンパス内を走り回る冬の入試の警備案内係なんて鼻水で水分補給してそう。
哲学は驚きから始まる。
重いのだけはもう嫌なの。
自称酒カス女子は酒に酔ってるだけでお前のこと無能だって判断するぞ。
アイドルはお前のことは微塵も好きじゃない。
ネット恋愛のくせにイキってデカいSUV乗るなカス。
ハレノヒ聞くと泣きそうになる奴どういう教育受けてきたのに撃ち合いに参加するな、無駄に削られるな、セルをねだるな。
さすがあいみょんだけあって含蓄があるものばかりですね.

本当のあいみょんの歌詞もやろう

ツイッターだけでは問題なので本当のあいみょんの歌詞もやっていきます.
歌詞はどこの歌詞のサイトも,歌詞が画像になっているので手打ちなりしていきます.
とりあえず50曲いれました.
先ほどと同様にマルコフ連鎖します.

あいみょんの歌詞を生成する

コードは省略.上の見てうまくやってください.

本物の歌詞からあいみょんの歌詞ができた

私は嘘の私はこのまま。
泡の中で今日もよそよそしい。
いいですね.それっぽいです.
じゃあ長めにして1曲行ってみましょう.
これはいい歌声で聞きたいですね.ところどころ本物のフレーズがそのまんま入っているのでそれっぽさありますね.

女は別れが近づくほど可愛くなって結局味のキスをした奴らが会いたい人になろうでも言葉で伝わる何かがあるなら「もう一度」だなんてそんな我信言わないで溶かして燃やして潤してあげたい次のステップは優しく教えるよ君との恋じゃなくとも今は貴方を見つけたことでしょう君と二人だけの時間聞いたよ..さらに言えば私はどんな子?私がチョロいの思われてみたいだけのあなたに抱かれるいつまでたってもいいから出来損ない出来そうもない包み込んで涙が出ないまま行くんだろうか「そんなことも知ってるそれなら辞めてしまいたいけれど切り捨てた何かに期待してみせるわそんなことできたらきっと助けが来るシステムにしてしまって海へダイブ嘘を見破ってよどうでもそうやってまた明日傷つけて気づかないでいいいつか花束になって結局味のキス全然好きになれなかったんだよ会いに来た時からもう泣いてるんだって思ってない満たされたい愛されたい満たしてみたい乱されたい愛されたい愛されたい満たしてみなさいこの街は毎日エブリタイム誘惑ばっかさこの星はいつもナウいを求めています身体冷やして待っていたのは大好きな五つの音風の強さと僕の守り方をようやく知ったよ言葉に身体が走り出してく今夜の夜風に乗ってるそんなことできたらなぁ」真夏の夜の匂いがする偉そうに脱む魔物がいる有耶無耶な地図で惑わされる迷子の迷子の迷子の子猫になる」少女の頃の夢を次から次へと沈んでく溺れてく今夜の夜の匂いがする絵の具のソレと同じ香りさまざまな色恋も踊り出す今夜は私もその一人?真夏の夜の匂いがする絵の具のソレと同じ香りさまざまな色恋も踊り出す今夜は私の身体「いらっしゃい」ほらまた聞こえた真夏の夜の匂いがする私にくらいあるでしょ?ねえ?どうしてそばに来た時その時考えりゃいい「今日は嫁のご機嫌が斜めでチョベリバ許してちょんまげ悪かったごめんごメンゴして抱かれていくいとおかし天才か?真逆か?真逆か?分からない分からない分からないただ想いを今、私伝えに行くから裸の心抱えて「大好きだよ優しい笑顔の裏側に知りたくもなかった

真夏の夜の匂いがする絵の具のソレと同じ香りさまざまな色恋も踊り出す今夜も帰路にて頭を撫でられ食べてやるよ悲しくなるからいつもいつもいつもいつもいつも最初に言って裏切れなかったんだ現実は悲しいの?揺れる揺れる箱の中始まった時から悔やんでる始まった時から悔やんでる始まった時その時考えりゃいい今の自分がどうかしてんのにうずくまってる真っ暗な布団の中で甘いようなこの泡にくぐらせる想いがカ加速するばかりなんだ止められない放たれてみたい愛されてスパンコールのようにキスはしない金があれば何でもどうでもいいよもう分かってよどうでもいいよもうどうでもいいよもうどうでもいいよもうどうでもいいよもうどうでもいいの?赤く染まった空から溢れ出すシャワーに打たれてみたい愛されたい愛されてみたい愛されてスパンコールのような物語変な傷跡なんかもなくここにあるはずフラつく脚が不思議とお菓子な家へ快楽へと捨てて下さい愛されてみたい傷うけて気づかないで..忘れないぞあの日の恋はないでも不思議なくらいに絶望は見えないそうかいまだ隠れている届け苦いようで甘い夢を次から次へとご苦楽へと沈んでく溺れてく地獄にふと吸い込まれて愛している裸の心震わせてこの頼りない翼広げて迎えに来たんだよそれは自覚している届け苦いようで狭いようなこの場所はとっておくぜこの街は毎日エブリタイム誘惑ばっかさこの星はいつも運まかせそんな風に生きているから君を雲のように全てを解決しない金があれば何でもいいのに広いようで甘いような気がしない金があればいいのに広いようで狭いような優しさでそっとぎゅっと抱きしめて離さないああアイラブユーの言葉じゃ足りない俺ってついてくる意味あるの?さみしいの?赤く染まって抱きしめて離さないいつまでも心に苦い種を撤き続けるのは嫌わかってないけど選ばなかったほら、あの呼び方漫画の主人公みたいで全然好きになれなかった道の運命も悪くなかった結局忘れられなかったんだ可も不可もなくここにあるはずよね逃さないよエロも今はいらないからハマっていく今日鈍くなった心の壁も穴だらけで制御不能結構不幸?自暴自棄です。

ほら、あの呼び方漫画の主人公みたいで全然好きじゃなかった香りの中でほんのりほどけた甘い甘い甘い甘いぬるくなった気分だなんとでも言って抱きしめて離さない本当の気持ち全部吐き出せるほど強くはないと分かったなら私がチョロいと思われて当然、ああザギンで見かけたアベックの女だって思っている空虚な心の落とし穴暗すぎているから今日も待っていますこれが本当の気持ち全部吐き出せるほど強くはないそうかいまだ隠れている空虚な心の弱点を知らずに空に投げた巨大な力で潰されそうな目で見つめる君を雲のように現れてほしいあああなたを愛してみたい愛されてく腸されて完結、ああ最低なフライデーすり抜けてなんとか過ごしてるああ私こんなはずじゃなかったんだよ会いに行くのも知ったの尽くしすぎた部屋強がりはやっぱり損ね傷つくこと知っているのにな切り捨てた何かに期待して泳いで潜り込んでまた帰ってきたのは好きとしか書いて飛び出したあの日の恋じゃなくとも今はまだ飛べない鳥だけど最低でもないから鼻すすりながらかーちゃんにメールしたんだよそれはとても居心地が悪いだけだからこうして涙を作っている?イエスオアノー私の身体「いらっしゃい」ほらまた聞こえた真夏の夜の匂いが誘った私でしかないよだから今日も帰ってきたそして君のいないどうしようもない今日も愛されたい満たしてみたい乱されたい愛されたい満たしてみたい愛されてく煙とその苦笑いに手を繋いでるのを待っちゃってますなれないなれないあなたのものにはなれないいらないいらないそんなヤケクソなんてああジーザスこんな結末に望み一欠片もないからとキスしてあるよ幾千年も前からこうして誰かの腕の中を巡る明日が少し苦手なんだ確かに回り出す襲いかかる悪魔の顔をしたから明日が来るシステムにしていたのはもう前を歩く君じゃなきゃダメだから今ここで赤く染まった空から溢れ出す今夜は私もその一人?今夜は私もその一人?

wordCloud

wordCloudもつくっときました.
面白いのはTwitterだと「自分」という単語の出現頻度が高いのに,本物では「あなた」という正反対な単語の頻度が高いところですね.

Twitterあいみょん


あいみょんは歌詞が多様性に富んでるなあ.

本物あいみょん


言うてTwitterと変わんなくね

おわりに

今度はマックのJKでやってみたりしても面白いかもしれない

追記

あいみょんの歌を聞きました