NLP2022告知 「モーラを考慮したFine-tuningによる口語短歌生成」
今回のテックブログは、昨日の記事に続き、言語処理学会第28回年次大会にて発表予定の論文解説です。発表はオンラインで3月16日(水)、詳細情報は記事末尾にあります。NLP2022にご参加のみなさんは、こちらもぜひ聞きにいらしてください!
はじめに
こんにちは。メディア研究開発センターの浦川です。
今日は、言語処理学会第28回年次大会にて発表予定の論文「モーラを考慮したFine-tuningによる口語短歌生成」の簡単な解説/もとい/ご紹介をいたします。
短歌の定型を生成する
そもそもなぜ、短歌を「生成」するのでしょう。
短歌とは「日本語における定型詩の一つで、5/7/5/7/7 の計 31 音をもつ 5 句から構成される短詩」などと言われます。
またこの「31音」は「拍=モーラ」をその単位として数えられることが多いです。みなさんこの「モーラ」には聞き覚えがあまりないと思われるかもしれませんが、「ふだん私たちが無意識に数えている日本語の音の単位」としてじつは馴染み深い単位です。たとえば新聞でしたら「シ/ン/ブ/ン(4モーラ)」、切手では「キ/ッ/テ(3モーラ)」とそれぞれ数えます。チョコレートは「チョ/コ/レ/ー/ト(5モーラ)」ですね。
このモーラ制約と適度な短さから、たとえば以下のことが言えそうです。
社会の中で広く読み方が共有されている
短い系列中に多様な内容を込めることができる
だれしもが読み方のリズムを知っていて、またそこに自然や社会的な事件、はたまた恋愛など多様な内容を盛り込むことのできる短い文字列、それが短歌、としてみます。
このように考えたとき、たとえば以下のような応用が考えられます。
だれかにいま、漠然と持っている感覚や気持ちを伝えたい。一方で、それを短歌の文字列として表現することは、普段から作歌になじみのない人にとっては難しい問題と言えるでしょう。特に「定型にはめる=モーラ制約を満たす」部分がテキストメッセージやツイートなどとは違う、慣れない部分かもしれません。
そこで、モーラ制約を持つ文字列を機械の力を借りながら生成する。そんなモチベーションから、今回短歌のためのモーラ制御を行う生成モデルを提案しています。
提案手法
口語短歌生成タスク
提案手法では、まず「口語短歌生成タスク」というものを以下のように定義します。
今回はこのように定義し、あくまで31モーラを定型とする制限に従った生成を行うことに焦点を当てたタスク設定とします。
疑似短歌データ
次に、教師データです。今回手法では、実際の応用を見据え「オープンデータからの疑似短歌抽出」を行ないます。
実際の教師データでは各句の間に特殊トークンを追加し、句切れを明示します。
モデル
最後にモデルです。GPT-2に残りモーラ埋め込み層を追加し、生成では残りモーラ出力層とモーラ情報をconcatした入力を受ける次トークン出力層によって定型に沿った生成を学習していきます。
残りモーラ出力層では入力されたモーラを、次トークン出力層では次なるトークンをそれぞれ予測させながらの学習を行います。
生成文
最後に、実際に生成した例をいくつかご紹介します (>は句切れ)。
おわりに
いかがでしたでしょうか。提案手法により、実際にモーラを制御しながらの文字列生成を確認できたかとおもいます。
一方で、タスクの設定や教師データは、より実際の作歌の現場に近いものが考えられるでしょう。また冒頭に上げた応用を見据えたモデルの拡張(たとえば、指定した語を含む文字列を生成するなど、内容のコントロール手法の提案)について今後も取り組んでいきたいと考えています。
今回ご紹介の論文は、以下の日程で発表予定です。ご興味のある方はぜひご覧ください。
(メディア研究開発センター・浦川通)