P1-07

ChatGPT による日本語ラップ歌詞生成
Japanese rap lyrics generation by ChatGPT小林 秀平*1, 藤堂 健世*1,2,高橋 聡*1
Shuhei KOBAYASHI*1,Kense TODO*1,2,Satoshi TAKAHASHI*1*1 関東学院大学
理工学部*1College of Science and Engineering, Kanto Gakuin University*2 東京工業大学 情報理工学院*2School of Computing, Tokyo Institute of Technology
Email:f20k6041@kanto-gakuin.ac.jp
あらまし：HIP HOP ミュージックが世界的社会現象となっている今日、HIP HOP ミュージックは消費するだけのものではなく趣味として、友人との遊びとして制作側に回ることも珍しくない。日本で HIP HOPに魅了された若年層の中でも趣味として楽曲制作する人間が増えている。だが、韻を踏んで歌詞を作成するのは思いのほか難しく、初心者の最初の壁となっている。そこで本研究では ChatGPT を用いて、より多く任意の韻を踏ませた歌詞を生成することで、歌詞制作を支援するシステムを開発する。
キーワード：HIP HOP、ラップ、ChatGPT、韻1.

はじめに

日本では現在、SNS などの発達により大きな HIP
HOP ブームが巻き起こっている。若年層の中では趣味でスケートボード、ブレイクダンス、グラフティなどを楽しむ人が増えており、特に「HIP HOP ブーム」の火付け役となった「HIP HOP ミュージック」に魅了された人間の中には趣味として楽曲制作を楽しむ人も少なくない。
若年層の中で流行している HIP HOP ミュージックであるが、楽曲制作初心者は初めに「歌詞が思いつかない」といった問題を抱えることになる。そこで 本研 究 で は 、 自分 で 歌 詞 を考 え る の で はな く
ChatGPT を用いて歌詞を生成することにより歌詞制作の支援をするシステムを開発することを目的とする。
しかしながら、ChatGPT は日本語の文章構成能力はあるものの、日本語の「韻」や「母音」、「子音」の理解が不十分であるため、「ラップの歌詞を作ってください」という指示ではそれほど多くの韻を含んだ歌詞は生成されない。そこで、歌詞の中でより多くの任意の韻を含ませた文章を生成する手法を提案する。
また、本研究では ChatGPT が韻等を学習してしまう可能性を考慮し、OpenAI の API 経由で GPT を使用する Chatbot UI を使用した(1,2)。てから、その単語を使用し歌詞を生成するというものである。
まず、“「あい」に似た語感の単語を 20 個教えて”という命令文を与え，韻を踏んだ単語を生成させる。

図1

提案手法で挙げさせた単語の候補

2. 提案手法
本研究で目標とする歌詞の長さは、初心者がラップをすることを想定し、１バース（16 小節、64 拍）分である 200 文字程度とする。また、本研究では韻の定義を二文字以上の子音が同じ単語同士が歌詞中にある時、その単語を韻と呼ぶ。なお、わかりやすさのため、以下では「愛（あい）」をテーマとした場合の提案手法の流れについて述べる。
本研究で提案する手法は先に韻の候補を上げさせこの時、任意の韻をひらがなで指示することで「愛」という漢字が持つ意味に候補が影響されることなく候補の単語を挙げることができる。また、「韻」や「母音」、「子音」といった言葉を使わず「語感」という言葉を使うことで、ChatGPT の苦手な日本語の母音、子音の判別を避けている。
次に、図 2 のように上記の方法で挙げた単語を用いて歌詞を生成させる。

― 51 ―

教育システム情報学会 JSiSE2023
第48回全国大会 2023/8/29-8/31

うに「愛（あい）」の韻の単語が生成されている。
この時、「愛（あい）」の韻は 326 文字中、35 個で単位文字数当たりの韻の数は 0.107 となった。この時、35 個の韻の内、「愛」という単語は 3 個、その他の韻は 29 個、存在しない日本語が 3 つ含まれていた。
それぞれの歌詞から 5 回ずつ韻の数と歌詞の文字数を数え、単位文字数当たりの韻の数を算出し、それを平均した結果を表 1 に示す。なお、韻の数は任意の韻のみを数え、歌詞中の韻を踏んでいる単語を一単語一つとして数える。

図2

提案手法で生成した歌詞複数の条件を一文にまとめて指示を出した時、条件の一部が反映されずに歌詞が生成されることがある。そのため、重要な条件である「なるべく文章を短く」のみ箇条書きで指示している。一つの文章を短くすることで候補の単語を組み合わせる難易度を下げ、かつ生成した歌詞をラップする時リズムを取り易くしている。

3.

表 1 単位文字数当たりの韻の数
条件のみの指示提案手法
0.107
1 回目 0.077
0.214
2 回目 0.069
0.147
3 回目 0.1180.192
4 回目 0.089
0.083
0.186
5 回目
0.088
0.169
平均

実施結果

提案手法の有効性を評価するために、ChatGPT に使用言語、歌詞の長さ、歌詞生成時に指定する任意の韻だけを指定した場合と、本提案手法を利用した場合の生成結果を比較する。
初めに、ChatGPT に使用言語、歌詞の長さ、歌詞生成時に指定する任意の韻だけを指定した場合、図3 の歌詞が生成された。

提案手法では条件（使用言語、歌詞の長さ、歌詞生成時に指定する任意の韻）を指示し生成した歌詞に比べて単位文字数当たりの韻の数が約二倍の結果となった。よって歌詞の中により多くの任意の韻を含んだ歌詞を生成できたといえる。また、韻の種類についても、ChatGPT に使用言語、歌詞の長さ、歌詞生成時に指定する任意の韻だけを指定した場合に比べて、任意の韻をひらがなで指示し、歌詞生成前に使用する韻の候補を挙げさせることで「愛」という漢字が持つ意味に候補が影響されることなく、様々な意味の韻の候補の単語を挙げることができた。
それにより、歌詞中の韻の単語の多様化につなげることができた。

4.

図3

条件のみの指示での歌詞生成結果

図 3 では、「痛い（it-ai）」や、「世界（se-k-ai）」のように「愛（あい）」の韻の単語が生成されている。
この時、「愛（あい）」の韻は 220 文字中、17 個で、単位文字数当たりの韻の数は 0.077 個であった。また、歌詞中の韻は 17 個中 8 個が「愛」という単語をただ羅列して繰り返し使うことで構成されていた。
次に提案手法では図 2 の歌詞が生成された。図 2
では，「諦め（aki-rame）」や「最高（s-ai-kou）」のよまとめ本 研 究 で は 楽 曲 制 作 初 心 者 が 韻 を 含 ん だ HIP
HOP ミュージックの歌詞制作 を学習するために
ChatGPT を用いて歌詞を生成した。
本研究では「愛」という一般的、且つ韻の種類が多くある単語を用いたが、そうでない単語、もしくは文字数の多い単語を用いた時、正確な韻の候補が生成されない場合がある。また、存在しない日本語の韻の候補が生成される場合もある。今後はそういった単語をどう回避しつつ、指示すれば正確な歌詞が生成されるのか考えていく。
参考文献
(1)

OpenAI: “Introducing ChatGPT” ,https://openai.com/blog/chatgpt （参照 2023.5.8）(2) mckaywrigley: “chatbot-ui” ,https://github.com/mckaywrigley/chatbot-ui(参照 2023.5.8)― 52 ―