# モーラを考慮した Fine-tuning によるロ語短歌生成

浦川通 1 新妻巧朗 1 田口雄哉 ${ }^{1}$ 田森秀明 1 岡崎直観 ${ }^{2}$ 乾健太郎 3,4
1 株式会社朝日新聞社 2 東京工業大学 3 東北大学 4 理化学研究所
\{urakawa-t,niitsuma-t,taguchi-y2, tamori-h\}@asahi.com,
okazaki@c.titech.ac.jp, inui@tohoku.ac.jp

## 概要

短歌は日本語における詩の形態の一つで，短い文字列をモーラの定型に従わせることで，日本語話者 の間に広く伝えられる性質を持つ. 短歌の自動生成，特に現代語で表現された口語短歌に焦点を当て た場合，データセットの数が少なく, 従来手法を適用することが難しい. そこで本研究では教師データ の少ない口語短歌の自動生成を行うため，モーラ情報を考慮した事前学習済み言語モデルの Fine-tuning 手法を提案する. 具体的には，GPT-2 にモーラ情報 を埋め込み表現として与え，残りモーラ数を考慮し ながら生成することで，指定モーラ数を満たす系列生成が可能なことを実験により確認した.

## 1 はじめに

短歌は日本語における定型詩の一つで, $5 \cdot 7 \cdot 5 \cdot$ $7 \cdot 7$ の計 31 モーラをもつ 5 句から構成される短詩 である。短い文字列の中で自然から社会生活，また 個人的な日常まで幅広く表現することができ，かつ 定型によって読み方が共有されていることから，他者と創造的にコミュニケーションする手段となりう る. 本研究では，広告や見出しなどの他分野に短歌 の特徴を応用をすることを目的として，自動生成の タスクに取り組む. 利用者の性質から，読み手に文語への理解を要求しない口語短歌に対象を絞った上 で，日本語として破綻のない 31 モーラの定型に従 う系列生成問題として扱う.

モーラは，それぞれの言語における時間的な長さ をもった音の分節単位で, 日本語では音節と区別さ れる（表 1). 日本語話者が音を数える際にはこの モーラを単位として数えることが多く, 和歌 [1] や 俳句 [2], また歌唱旋律 [3] や歌詞 [4] の自動生成に おいて，このモーラをモデル訓練時の素性に取り入 れ生成を行う手法の提案が行われてきた。一方で，現代語により表現される口語短歌は和歌と同じ 31表 1 日本語における音節とモーラ

モーラの定型をもちながらも整備されたデータセッ トが存在せず，これまでに提案されている手法をそ のまま適用するのは難しいと考える。

近年では事前学習済み言語モデルに対して，タス クに合わせた少量の教師データによる Fine-tuning を 行う方法が多く見られる [5]. そこで本研究では,学習データとして現代語の文書から抽出された少量 の疑似短歌データを，実際の口語短歌データの代替 として用い，GPT-2 [6] に対するモーラ数制約を考慮した口語短歌生成タスクの Fine-tuning 手法を提案 する.

実験の結果，提案手法により短歌のもつモーラ数制約を満たす系列が生成できることを，ビーム探索 とサンプリング生成におけるモーラの正答率により 確認した. また，短歌のモーラ数制約を満たす生成系列の流暢度を人手評価により評価した。

## 2 提案手法

## 2.1 口語短歌生成タスク

本研究で取り組む口語短歌生成タスクを以下で 定義する。「口語」とは話し言葉・書き言葉に依ら ず，現代で一般的に扱われる言葉を指す。「口語短歌」とは，この口語によって書かれた全 31 モーラ をもった系列とする．このモーラ数を超える，また 未満となる，短歌において「破調」と呼ばれる系列 については，今回のモーラ数制御の評価対象には含 めない. 口語短歌には一般的に知られたデータセッ トが存在しないため, 本研究では既存の文書から疑似短歌を抽出するという形で教師データを作成し, また少量の教師データでも訓練が可能なモーラ数制

図 1 提案手法の概要

約を考慮した Fine-tuning 手法を検討する。

## 2.2 モデル

モデルの概要を図 1 に示す. GPT-2 にモーラ情報 を取り入れるモーラ埋め込み層を用意し，入力系列 の各トークンに対応する残りモーラ数を埋め込み として計算する.この埋め込みは, GPT-2を生成夕 スクで Fine-tuning するための層（本稿では LMHead と呼ぶ）と，新たに追加した MoraHead に直接与え られ, LMHead ではデコーダーの出力と結合した 形でこれを受け，次トークンの尤度を計算する。 MoraHead ではモーラ埋め込みから，入力で与えら れているモーラ残数を推測する。これにより，モデ ルが残りモーラ数を考慮しながら生成を行うことが 期待される.

訓練時の損失関数 $\mathscr{L}$ は以下のように定式化 する。なお，入力系列 $\mathrm{S}$ に属するトークン集合 を $W=\left.\{w_{1}, w_{2}, \cdots . w_{n} \mid w \in S\right.\}$ とし, 入力系列中の 各トークン位置に対する残りモーラ数集合を $M=\left.\{m_{1}, m_{2}, \cdots . m_{n}\right.\}$ とする.

$
\mathscr{L}=(1-\lambda) \mathrm{CE}_{\text {token }}(W)+\lambda \mathrm{CE}_{\text {mora }}(M)
$

ここで, $\mathrm{CE}_{\text {token }}, \mathrm{CE}_{\text {mora }}$ はそれぞれ LMHead と MoraHeadのクロスエントロピー誤差を表し，

たものをモデル全体の損失とする。 モデルに与えら れる各トークンのモーラは，入力系列をモデルの トークナイザーによって分解した上で，各トークン の読みがなを $\mathrm{MeCab}^{1)} \mathrm{IPA}$ 辞書により取得して計算


表 2 疑似短歌データ 粘液の [SEP] 入った管が [SEP] あったりと [SEP] その状態は [SEP] さまざまである 偏光を [SEP]かけて重ねて [SEP] 投影し- [SEP] これを偏光 [SEP] フィルタの付いた

する.なお，アルファベットおよび特殊トークンと いった読み方の一意に定まらないトークンに関して は，すべてモーラ数を 0 とする.

## 2.3 疑似短歌データによる学習

口語短歌に関して，広く一般に知られた公開デー タは存在しない。そこで本研究では，短歌の定型を 満たす文字列を既存の文書から抽出し，これを疑似短歌データとしてモデルの訓練に利用する．疑似短歌データは， 口語短歌と同様に現代語によって書か れた，全 31 モーラからなる文字列集合とする。ま た実世界における応用を見据え，オープンデータか らの作成を行う. 今回は文字列から偶然に短歌の定型を満たす系列を抽出する偶然短歌プロジェクト2) の公開するスクリプト3を用いて，Wikipedia の日本語ダンプデータから 11,344 件の教師データを作成 した。なお，教師データでは各句の間に特殊トーク ンを挿入することで，句切れを明示した（表 2).

## 3 実験

2) http://inaniwa3.github.io/guuzen-tanka/

3) https://github.com/inaniwa3/guuzen-tanka
表 3 モーラ正答率 (\%)

表 4 生成結果に対する人手評価（\%）

## 3.1 実験設定

データセット 上記の Wikipedia から作成した疑似短歌コーパスを，10,000 件の学習データ，672 件 の開発データ, 672 件の評価データとして分割し データセットを作成した。

モデル設定 GPT-2の事前学習済みモデルには， HuggingFace $^{4)}$ 上で公開されているモデルを使用し た $^{5)}$. トークナイザーは日本語 Wikipedia を学習し た Sentencepiece[7] で, 語彙数は 32,000 である. ベー スラインとして，GPT-2を提案手法と同じ学習デー タでそのまま Fine-tuning したものを用意した.

評価 本実験では，評価データから短歌の第一句 に相当する 5 モーラ分のトークンを入力し，得られ る生成結果に対して評価を行う. モーラ数制約に対 する性能評価として，評価データ全体のうちで 31 モーラの系列が出力候補中に含まれる割合 (モーラ 正答率）を計算する. ビーム幅を 10 としたビーム 探索の出力から top-1,3,5,10 の正答率を得るほか, サ ンプリングによる生成でも出力数 $\mathrm{n}=1,3,5,10$ で評価 する. サンプリング手法としては, top-p サンプリン グ [8] $(p=0.6)$ を採用し, 3 回生成した上での平均値 を取る。加えて，モーラ数制約によって結果の流暢 さが損なわれないかを確認するため，生成結果が意味の通る内容となっているか否かを 3 人のアノテー ターで人手評価する. アノテーション対象となる系列は，ビーム幅を 10 としたビーム探索の出力から モーラ数制約を満たすものを 50 文サンプリングし，各件で 2 人以上が選択した結果を採用として，その 割合を計算する.


## 3.2 実験結果

表 3 にモーラ制御の正答率を示す. ベースライン ではビーム探索にて最大でも $30 \%$ 程度，サンプリン グでは $60 \%$ 程度にとどまる一方で，提案手法ではす べてのモデルで最大 $90 \%$ を超える正答率となり，提案するモーラ情報の埋め込みが実際にモーラ数制約 へ寄与していることが確かめられた，

表 4 に生成結果に対する人手評価の結果を示す.提案手法とべースラインとで大きな開きはなく, モーラ数制約を与える Fine-tuning が生成系列の流暢度を著しく下げるような影響は与えないことが確か められた，一方で，教師データの中にはすべて名詞 だけで構成される例なども存在し（「芝離宮 [SEP]恩賜庭園 [SEP] 浜離宮 [SEP] 恩賜庭園 [SEP] 世界貿易」など)，これらをノイズとして取り除くことで より良い結果が得られることが期待できる.

また，より少量データでの提案手法の効果をみる ために，学習データを $1,000 \sim 5,000$ 件と絞った上で モデルを訓練し $(\lambda=0.6)$, モーラの正答率を計算し た (表 5). 結果から, 少量データでの訓練において もモーラ数制約を満たすモデルを学習できることが 確認できた. これは，例えばある特定の歌人の歌な ど，ごく少量の教師データからモデルを訓練できる ことを示唆する結果であると考える。

最後に，実際の生成例を表 6 に示す. 人手により 第一句のみ入力し，モーラ数制約を満たすものを正例として記載した. 正例では， 31 モーラという制約を満たしつつ, 句切れも学習データにあるような $5 \cdot 7 \cdot 5 \cdot 7 \cdot 7$ となる系列がある程度出力できてい
表 6 提案手法による生成例. $\lambda=0.6$, top_p $=0.6$

摇れだした [SEP] 雲の間から [SEP] 太陽が昇るのを見た [SEP] 群衆はただ

さっきまで [SEP] 人間だった [SEP] 人形が [SEP] 喋ってみせる [SEP] 世界であった

正例 画面では [SEP] 表示されない [SEP] バーコード [SEP] セグメントを非 [SEP] 表示にできる

まぶしくて [SEP] 見ていてつらい [SEP] 夕焼けの [SEP] 空にまにまに [SEP] オレンジの花

光ってる [SEP] 森の中を [SEP] 移動して [SEP] 見えるのは今 [SEP] ここだというの

摇れだした [SEP] 人々の間で [SEP] 共有の [SEP] 感情が生まれ [SEP] 伝播していく

さっきまで [SEP] 平和だったのに [SEP] 今度会ったら [SEP] 違う人になってるかも

負例 画面では [SEP] 表示されない [SEP] メッセージ [SEP] ウィンドウが出る [SEP] 場合や [SEP] 何らかの まぶしくて [SEP] 見ていて気分が [SEP] わるいや [SEP] うれしくないや [SEP] わかってるや [SEP] でも 光ってる [SEP] 波か? 光ってる [SEP] 波か? 光ってる [SEP] 波か? 光って

ることがわかる。また同様に学習データ中に存在す る句またがり（「セグメントを非 [SEP] 表示にでき る」というように，句切れと語の区切りが一致しな いもの）が確認され，句切れを表すトークンにより 教師データ中の短歌の句構造を捉えながら生成し ていることがうかがえる。これは，モーラ数制約を 句ごとに行うことでより改善されると考える。一方負例では，指定モーラ数を超えるものが多く見られ た.これは文脈によりもっともらしい系列を生成す る中で，指定モーラに収まらないトークンを選択し てしまう結果によるものと考えられる。また正例中 にある「光ってる...」の例では，モデルの計算上で は系列全体のモーラ数が 31 となっているが，実際 の読みからモーラを数えると 30 とる。これは，初句に与えた「光ってる（5 モーラ）」が，トークナイ ザーにより「光 (ひかり・3),って (2), る (1)」と分解 される中で計 6 モーラとして数えられてしまってい ることが原因である。この，トークンにおけるモー ラ数と実際の系列中のモーラ数の蓞齬を埋める形で の生成が，より精度の高いモーラ数制御には必要で あることがわかった。これは例えば，サブワードを 用いない事前学習済み言語モデルを利用することな どで解消されるだろうと考える。

## 4 関連研究

和歌や俳句，また歌詞といった詩の自動生成にお いて，モーラ数制約の考慮や実世界での応用を視野 に入れた研究として以下が挙げられる。

土佐ら [9] は，ユーザーの入力に応じたフレーズ をデータベースから抽出し，ルールに基づき俳句を 生成するモデルを提案している。ニューラルネッ トワークモデルを用いた生成では，小西 [10] らが GANを用いて俳人による現代俳句と一般の投稿俳句を分けて学習する，幅広い層へむけた俳句生成手法を提案している。 太田ら [2] は LSTM ベースの seq2seq モデルを用いて，拍数また季節の素性をモ デルに与えることで，俳句の制約を満たす系列生成 と内容の制御を行なっている。

和歌の生成では，RNNを用いた自動生成として Masada ら [11] がある. Masada らは，LDAを用い て同一トピックを扱う語の多い歌にスコアを付与 し，歌全体での内容の一貫性を保ちながらの生成 を試みている。また Yang ら [12] は，入力されるテ キストから感情情報を抽出し, 遺伝的アルゴリズ ムを用いた和歌生成を提案している. 近年の例と しては，Takeishi ら [1]が挙げられる. Takeishi らは Transformer+VAE を用い，尤度に対するマスクやア テンション機構を用いて，モーラ数制約や和歌の構造を考慮したモデルを構築している。

歌詞の生成では, Watanabe ら [13] は旋律によって 条件付けられた歌詞の生成を，音節をモデル内部に 取り入れることで実現する手法を提案している.

## 5 おわりに

本研究では，口語短歌の自動生成を行うために事前学習済み言語モデルに対するモーラ情報を考慮し た Fine-tuning 手法を提案した. GPT-2 にモーラ情報 を埋め込み，残りモーラ数を考慮しながら次にくる トークンを予測させることで，指定モーラ数を満た す系列生成が可能であることを確認した。

今回，疑似短歌を教師データとして生成を試みた が，今後より実際の短歌に近い生成モデルを学習す るためのデータセットや評価手法の検討を行うとと もに，指定語を含む短歌生成など，より創造性の高 いアプリケーションとして扱うためのモデルの拡張 に取り組みたい。

## 参考文献

[1] Yuka Takeishi, Mingxuan Niu, Jing Luo, Zhong Jin, and Xinyu Yang. Wakavt: A sequential variational transformer for waka generation. Neural Processing Letters, 2021.

[2] 太田瑶子, 進藤裕之, 松本裕治ほか. 深層学習を用い た俳句の自動生成. 研究報告自然言語処理 (NL), Vol. 2018, No. 1, pp. 1-8, 2018.

[3] 深山覚, 中妻啓, 酒向慎司, 西本卓也, 小野順貴, 嵯峨山茂樹ほか. 音楽要素の分解再構成に基づく日本語歌詞からの旋律自動作曲. 情報処理学会論文誌, Vol. 54, No. 5, pp. 1709-1720, 2013.

[4] 渡邊研斗, 松林優一郎, 乾健太郎, 後藤真孝. 大局的な 構造を考慮した歌詞自動生成システムの提案. 言語処理学会第 20 回年次大会発表論文集, pp. 694-697, 2014.

[5] Jacob Devlin, Ming-Wei Chang, Kenton Lee, and Kristina Toutanova. BERT: Pre-training of deep bidirectional transformers for language understanding. In Proceedings of the 2019 Conference of the North American Chapter of the Association for Computational Linguistics: Human Language Technologies, Volume 1 (Long and Short Papers), pp. 4171-4186, Minneapolis, Minnesota, June 2019. Association for Computational Linguistics.

[6] Alec Radford, Jeffrey Wu, Rewon Child, David Luan, Dario Amodei, Ilya Sutskever, et al. Language models are unsupervised multitask learners. Technical Report, 2019.

[7] Taku Kudo and John Richardson. SentencePiece: A simple and language independent subword tokenizer and detokenizer for neural text processing. In Proceedings of the 2018 Conference on Empirical Methods in Natural Language Processing: System Demonstrations, pp. 66-71, Brussels, Belgium, November 2018. Association for Computational Linguistics.

[8] Ari Holtzman, Jan Buys, Li Du, Maxwell Forbes, and Yejin Choi. The curious case of neural text degeneration. In 8th International Conference on Learning Representations, ICLR 2020, Addis Ababa, Ethiopia, April 26-30, 2020. OpenReview.net, 2020.

[9] 土佐尚子, 尾原秀登, 美濃導彦, 松岡正剛. Hitch haiku コンピュータによる俳句創作支援システム． 映像情報メディア学会誌, Vol. 62, No. 2, pp. 247-255, 2008.

[10] 小西文昂, 廣田敦士, 松尾星吾, 家原瞭, 小原宗一郎,加賀ゆうた, 鶴田穣士, 脇上幸洋, 金尻良介, 深田智ほ か. Seqgan を用いた一般人に好まれやすい俳句の生成. 2017 年度情報処理学会関西支部 支部大会 講演論文集, Vol. 2017, , 2017.

[11] Tomonari Masada and Atsuhiro Takasu. Lda-based scoring of sequences generated by rnn for automatic tanka composition. In International Conference on Computational Science, pp. 395-402. Springer, 2018.

[12] Ming Yang and Masafumi Hagiwara. A text-based automatic waka generation system using kansei. International Journal of Affective Engineering, Vol. 15, No. 2, pp. 125-134, 2016.

[13] Kento Watanabe, Yuichiroh Matsubayashi, Satoru Fukayama, Masataka Goto, Kentaro Inui, and Tomoyasu
Nakano. A melody-conditioned lyrics language model. In Proceedings of the 2018 Conference of the North American Chapter of the Association for Computational Linguistics: Human Language Technologies, Volume 1 (Long Papers), pp. 163-172, New Orleans, Louisiana, June 2018. Association for Computational Linguistics.
 浦川通 1 新妻巧朗 1 田口雄哉 ${ }^{1}$ 田森秀明 1 岡崎直観 ${ }^{2}$ 乾健太郎 3,4 1 株式会社朝日新聞社 2 東京工業大学 3 東北大学 4 理化学研究所 \{urakawa-t,niitsuma-t,taguchi-y2, tamori-h\}@asahi.com, okazaki@c.titech.ac.jp, inui@tohoku.ac.jp  