ラノベのタイトルはどんどん長く、複雑になっています。
近年では、主題と副題に分かれているのは当たり前になってきました。
並び替えゲーム
最近、なろう小説のタイトル並び替えゲームが流行っていましたね。
普段は Duolingo で英語の並び替えをしていますが、なろう小説での並び替えは新鮮で面白かったです。
なろう小説タイトル並び替えゲーム
— zii (@zii_fave) 2025年1月31日
を作りました。正しい順に並べ替えよう!
ランダムに10問出題されます。https://t.co/X2z9ltf1lE pic.twitter.com/2mhDvJDqbs
自作するには
これを自作しようとすると、まず日本語を分割する仕組みが必要になってきます。
ある程度の難易度を維持しつつ正解を推測しやすい分割にできるのが理想だと思います。
手動でやるのは大変ですし、かといって1文字ずつに分割されても難しすぎるでしょう...
一般的な手法
一般的には形態素解析でのアプローチが主流になると思います。
まずは、JavaScript で簡単に使えるアプローチをいくつか試してみました。
最終的にランダム順に並んだこれらの単語を並び替えることを考えると、異世界 や 量子コンピュータ で一つの選択肢になっていて欲しいです。
特にどんどん造語や使い方が増えていく日本語では辞書ベースの分割には限界がありそうですね。
また、長すぎるラノベのタイトルだと選択肢が多すぎて難しくなる心配があります。 その場合は、分割しすぎずにある程度の文脈を保持した長さの粒度になっていて欲しいかもしれません。
LLM を用いた分割
そこで LLM を用いた柔軟な分割を検討してみます。
早速、分割ルールを定めたプロンプトを用意しました。
ひとまずは与えられたタイトルを1次元配列の文字列に分割するようにします。 実際のアプリに組み込む場合は、主題と副題を分けるような出力を指定すると扱いやすそうですね。
結果
カクヨムにある小説をお借りして、それっぽいタイトルをでっち上げたので LLM に通してみました。
それでは結果をいくつかみていきましょう。
異世界クラウドサーバー~魔法があれば量子コンピュータ開発なんて楽勝じゃない?~ 異世界|クラウドサーバー|~|魔法|が|あれば|量子コンピュータ|開発|なんて|楽勝|じゃ|ない|?|~
並び替えクイズに使うことを考えると、「異世界」と「クラウドサーバー」が分かれていて「量子コンピュータ」が一単語なのは都合がよさそうです。
劣等OSの建国録〜コンパイラとデバッガは、魔法と剣術を凌駕し得るか?〜 劣等OS|の|建国録|〜|コンパイラ|と|デバッガ|は|、|魔法|と|剣術|を|凌駕|し|得る|か|?|〜
この場合は「劣等OS」が造語となりそうですが、一単語として分割できていて分かりやすいですね。
【書籍化決定】CTOの息子はリストラされる~才能がないので全部捨ててプログラマーになります~ 【書籍化決定】|CTO|の|息子|は|リストラ|される|~|才能|が|ない|ので|全部|捨てて|プログラマー|に|なります|~
最近のWeb小説には 「【書籍化決定】」や「(Web版)」といったタイトルと関係ない部分もあるので、これを切り分けられているのも助かりそうです。
おわり
いかがでしたか?
意外と並び替えやすい粒度にまとまっていたで、そのままゲームに組み込んでも違和感がなさそうですね。
また、プロンプトを変えることで分割粒度がコントロールできるので、自動で複数の難易度を生成することができそうです。