# 検出器の判断に基づく大規模言語モデルの生成テキストの特徵分析

三浦東子 ${ }^{1}$ 谷口 雅弥 ${ }^{2}$ 坂口慶祐 ${ }^{1,2}$ 乾 健太郎 $1,2,3$
1 東北大学 2 理化学研究所 ${ }^{3}$ Mohamed bin Zayed University of Artificial Intelligence
miura.toko.r8@dc.tohoku.ac.jp, masaya.taniguchi@riken.jp
\{keisuke.sakaguchi, kentaro.inui\}@tohoku.ac.jp

## 概要

本研究では，大規模言語モデル (LLM) が生成するテキスト (LLM-text) の特徴をヒトが書いたテキスト (human-text) との比較から明らかにする. エッセイを対象に 2 つの実験を行った. 1 つ目は human-text と LLM-text から LLM-text を分類する実験，2つ目は， LLM-text に改変を加えることで LLM-text の検出を妨害する実験である．1つ目の実験から LLM-text に固有の特徴があることを示した. さらに 2 つ目の実験から，その特㣲が「単語の連なりの滑らかさ」であることを示した。 そして，この他の特徴を LLM-text が備え得ることや，LLM-text の特徴の軽減と human-text の特徵の付加について今後の課題として議論する。

## 1 はじめに

近年の大規模言語モデル（LLM）の性能が向上したことで，日常の多くの場面で LLM が利用されるようになった。一方で LLM を制限すべき状況での LLM の利用や，ユーザーが生成テキストに対して感じる違和感の解消が課題となっている.

教育現場は LLMを制限すべき状況の一つである。試験問題や課題に対する正確な回答や流暢なエッセイ，および正常に動作するコードを簡単に生成できるため，回答にかかる時間を大幅に削減することが可能になった. しかしこの利点が学生の学習過程の簡略化に繋がり, 得られる経験や知識が減少することが懸念された.この例をはじめとした LLM 乱用を抑制するために, 生成テキスト検出器の開発が進められた。一方，攻撃に対する検出器の脆弱性も確認されており，今後の攻撃手法や LLM の発展に合わせて検出器の頑健性向上に努める必要がある.

LLM は対話モデルとしても利用される．企業の自動応答やロボットの発話内容をより自然なものに
するためには，生成テキストから LLM らしさを除去する必要がある。

以上で挙げた，検出器の頑健性向上および生成テキストの違和感の軽減は，互いに対立する課題である。なぜなら，検出器はLLM らしさを捉えることで生成テキストを検出するため，生成テキストから LLM らしさを除去することは検出器に対する攻撃となるからである。 ヒトが書くテキスト (human-text) と LLM が生成するテキスト (LLM-text) の違いを明らかにすることは，この対立する $2 \supset の$課題の両者への貢献となる。

したがって本研究では human-text と LLM-text の違いの解明を最終的な目的とし，この達成のために, human-text と比較して得られる LLM の特徴の解明に取り組む。

## 2 関連研究

現在，LLM-text と human-text の区別は人にとって難しいタスクであることが報告されている [1].人の感覚に頼らずに LLM-textを判別することの必要性から，様々な検出手法が研究・開発された. 代表的な検出手法として，LLM の出力に埋め込んだ透かし (Watermark)を検出する Watermarking Technology [2], LLM の統計的特徴をもとに検出する Zero-shot Detectors [3]，human-text と LLM-text を学習する Fine-tuned LM Detectors [4], human-text, LLM-text，および検出器の評価をもとに Attacker が生成したテキストを学習する Adversarial Learning methods [5]，誘導するためのプロンプトを使い， LLM を検出器として利用する LLMs as Detectors，人と機械のそれぞれによる分類結果を統合して検出する Human-assisted methods [6] が挙げられる.

また LLM-text と human-text の統計的な特徴の違いについての研究も行われた. その結果，特定の品詞を含む割合の違いや，LLM-text と比べた human-text

の語彙の豊富さ，単語同士の依存関係の距離が長さの違い，などの知見が集まった [7][8]. このようなコーパスおよび長文を対象とした分析が進む一方で，比較的短い文章に現れる特徵の分析は未だ不十分である. 語彙や品詞の統計的な特徴の計算には大量の文書が必要となるため, 検出器が検出時に利用することが難しい. したがって, 本研究では比較的短い文章から得られる特徴を対象に研究を行う。

## 3 実験

## 3.1 仮説: 単語の連なりの滑らかさ

LLM-text の特徴の候補として，「単語の連なりの滑らかさ」を挙げる.この特徴を挙げる理由は 2 つある. 1 つは, DetectGPT [3] の提案手法が有効なことである. DetectGPT は生成テキストを検出する手法の一つであり，human-textを書き換えた場合，元の文に比べて対数確率が増加することも減少することもあるが，ほとんどの LLM-text では，書き換えによって対数確率の低下のみが起こるという現象を利用している。つまり，LLM-text が対数確率が最も高くなるような単語の連なりであることを利用した手法であると言える. DetectGPT は高精度で LLM-text を検出できることから，連続する単語の並び方の滑らかさが LLM-text の特徵となっていることが示唆される.

もう 1 つは，単語レベルの言い換えに対する検出器の脆弱性である. ここで，単語レベルの言い換え (word-level paraphrase) は文中の一部の単語を同義語で置換することを，文レベルの言い換え (sentence-level paraphrase) は文章中の一部の文を意味の似た文で置換することを指す。検出器は word-level paraphrase に対して脆弱であることが確認されている [9].これは，単語が置換された部分で，単語の滑らかな連なりが切断されたことが原因で検出が困難になったものと考えられる．

以上の推測を元に，「単語の連なりの滑らかさ」が LLM-text の特徴の 1 つであるという仮説を立てた.

## 3.2 実験方針: LLM-text の特徵の同定

「単語の連なりの滑らかさ」が LLM-text の特徵の 1 つであるという仮説を確かめる。

はじめに，実験 1 において非敵対的テキストに対して高精度な検出が可能なモデルを構築する.その後, 実験 2 において, 実験 1 で構築したモデルに対
して下記の検証を行う。

・word-level paraphrase に対する脆弱性を調べ，同義語置換により単語の滑らかな連なりを崩すことが検出の妨げになることを示す.

・文脈内学習により生成した敵対的テキストに対する頑健性を調べる. 攻撃による精度低下が見られない場合，LLM は不自然な単語の連なりを生成できないことが言える.
- sentence-level paraphrase に対する脆弱性を調べ，複数の LLM が生成した文が混ざった文章が検出器に与える影響を明らかにする。検出精度が低下しない場合，検出器は文の連続の滑らかさ，および意味的な滑らかさを考慮しないことが言える.

## 3.3 実験対象: エッセイコーパス

イギリスの大学生 (学士課程及び修士課程) が書いた 4 分野 (AH: 人文科学, LS: 生命科学, PS: 物理科学, SS: 社会科学）のエッセイを集めたコー パス: BAWE (British Academic Written English Corpus [10])を用いる. 検出器は与えられたエッセイを，人が書いたもの (human) か LLM が生成したもの (LLM) かの 2 值に分類した. 以降，LLM に分類した場合を 「検出した」と言う．学習したドメイン (In-domain) と未知のドメイン (OoD: Out-of domain) を比較するため，学習には $\mathrm{AH}$ を使い，その他の分野 (LS，PS， SS) を OoD として検出器のテストに用いる. データの分割は，学習: 検証: テスト $=8: 1: 1$ とし, さらに，文脈内学習のため，AH のテストデータから 10 エッセイ (human:5, LLM:5)を除く. したがってデータの構成は表 1 となる.

表 1 データセットの構成

LLM-text の生成には GPT-3 (gpt-3.5-turbo1106 [11], temperature=0.7) を利用し，以下の手法で生成する。

まず，BAWE 内のエッセイの冒頭 250 単語を元に題目を生成する（プロンプトは付録 A.1). その後,生成した題目を元にエッセイを生成する。これにより, BAWE 内の 1 エッセイ (human-essay) に対して 1 つの生成エッセイ (LLM-essay) が存在することにな

る（プロンプトは付録 A.2）.

## 3.4 実験設計: LLM-text の検出と攻撃

検出器として BERT (bert-base-uncased) [12] 利用し，以下の実験を行う.

実験 1 では，検出器をIn-domain $(\mathrm{AH})$ で訓練し， $\mathrm{OoD}(\mathrm{LS}, \mathrm{PS} ＼textrm{S S}$ ) でテストを行う (ハイパーパラメータは付録 B).

実験 2 では, 訓練した検出器に対して各種攻撃を行い，攻撃による検出精度の変化を観察する. 攻撃手法は，(1) Parrot [13] による LLM-text の sentence-level paraphrase，(2) NLTK [14] による LLMtext $の$ word-level paraphrase，(3) GPT-3 による文脈内学習，の 3 パターンである. Parrot は T5 ベースのモデルであるため，(1) は文章に異なる LLM が生成した文を混ぜること同義である．言い換えによる攻撃は，各エッセイに対し，(1) は語彙の $40 \% を ，(2)$ は文の $50 \%$ を対象に行った。(3)では，非敵対的生成時に利用した題目と, 検出器が human と予測したエッセイを利用する（プロンプトは付録 A.3）.

## 4 結果・考察

## 4.1 実験 1: LLM-text の検出

結果を表 2に示す。正解率 (accuracy) は In-domain, OoD ともに 90\%を超え，OoDでは In-domain に比べて 0.0518 point 低い値となった. 予測の誤りは全て偽陽性 (FP) であり，偽陰性 (FN) は 0 であったことから, 検出器は人が書いたエッセイを誤検出する傾向があること，そして OoDではこの傾向が顕著になることが予想される.

## 4.2 実験 2: LLM-text 検出器への攻撃

結果を表 3に示す. word-level paraphrase は偽陰性の数を大きく増加させたのに対し, sentence-level paraphrase の検出精度への影響は僅かであった.これは，同義語置換により単語の滑らかな連なりを崩すことが検出の妨げになること, そして検出器は文の連続の滑らかさ，および文同士の意味的な繋がりをあまり考慮しないことを意味する。文脈内学習による検出性能の低下は見られなかった.この結果から，LLM は敵対的なテキストを生成するように誘導するプロンプトを用いた場合であっても不自然な単語の並びを生成することはできないということが言える. つまり単語の並びの滑らかさは，現状における LLM が自ら変えることのできない特徴であることが考えられる. さらに，生成モデルが認識する「LLM らしさ」と, 本研究において BERT が学習した「LLM らしさ」の間に違いが存在することも示唆された. ここで用いた手法は $L L M s$ as Detectors の 1 例の OUTFOX [15] を参考にしたものであり, OUTFOX は攻撃者と検出器の両者をプロンプトにより実現する．論文中ではこの攻撃が， プロンプトベースの検出器に対して十分な効果を発揮したことから，プロンプトベースの検出器とファインチューニングによる検出器の間で LLM-text の特徴の認識に違いがあると捉えることができる.

## 5 分析

## 5.1 語彙の影響と文章の構成の影響

実験により, OoD では検出精度が In-domain に比べて低いことがわかった. OoDでの性能低下には，分野特有の語彙や，特定の単語の並び・文の構成が影響した可能性がある.この影響について論じるために，エッセイ中の単語・文をランダムに並べ替えた場合の検出精度を調べた。

表 4より，単語を並べ替えた場合には，全てのサンプルが LLM ではないテキストであると予測された. In-domain と OoD で共に正しい検出が不可能になったことから, 検出器は特定の単語ではなく単語の並びを手がかりに判断していると考えられる.

文を並べ替えた場合には FP (誤検出) が減少したが，FN (見逃し) の数に変化はなかった. 並び替えが検出精度を下げることは無かったものの，精度への影響自体は存在したことから，OoDにおける検出精度低下には LLM-text における分野特有の文の構成が存在することが考えられる. しかし単語の場合に比べて誤検出・見逃しの大きな増減が無かったことから，文の並びの滑らかさが与える検出への影響は比較的小さいことがわかった.

また両結果における誤検出の減少と見逃しの増加から，単語や文の並びが不自然になった文章を， LLM が生成したものでは無いものと判断する傾向にあることが考えられる．特定の単語の並びについ
表 3 攻撃に対する検出精度

ては今後調査する。

表 4 word/sentence level のシャッフルに対する検出精度

## 5.2 入力単語数と検出精度

図 1 に入力単語数と正解率の関係を示す. 正解率は 1～20 単語にかけて急激に上昇したが，20 単語以降は伸びが緩やかになった. In-domain と OoD において共に 90\%を超えるためには 120 単語の入力を必要とした.

図 1 入力単語数と検出精度の関係

## 5.3 単語レベルの言い換えの影響

単語レベルの言い換えの影響について調べた. 同義語置換する語彙の割合と検出精度の関係を図 2 に示す. In-domain，OoD 共に $20 \%$ までは影響が小さいが，30\%を超えると精度が徐々に低下した。

## 5.4 議論

実験を通じて，滑らかに連続する単語の並びを崩すことが，生成テキストから LLM らしさを除去す

図 2 単語レベルの言い換えの割合と検出精度の関係

るための方法の一つであることを示した. しかしこの方法の中には，文章中の単語をただランダムに並べ替えるなど，同時に人らしさをも失う崩し方が含まれる。また並びを崩すということは文章の完成度・正確性を下げることであり，LLM の進歩に逆行する．LLM らしい特徴の解明は，検出器が生成テキストを見逃す可能性を減らすことや，生成テキストの不気味さの軽減に寄与する。一方で人らしさについては調べられていない。本研究の長期的な目標は，ヒトが書いたテキストと LLM が生成するテキストの違いの明確化を通じて，検出器の頑健性の向上や，生成テキストの違和感の軽減に貢献することであった. 人が書いたテキストの誤検出を抑制し，生成テキストに対する人らしさの導入のためには，人らしさに関する知見を得ることも必要である. したがって今後は，人らしさを残した崩し方や，単語の並び以外に注目して LLM らしさの除去または人らしさを増す方法を明らかにする。

本研究では human-text と比較して得られる LLM の特徴を調べた. 実験の結果，「単語の連なりの滑らかさ」が，現在の生成モデルが生成するテキストの持つ特徴の一つであるという知見が得られた. 今後の課題として，単語の並び以外に着目した LLM らしさや，人らしさの解明が残されている.

## 謝辞

本研究は理化学研究所の基礎科学特別研究員制度，JSPS 科研費 JP21K21343 の支援を受けています。

## 参考文献

[1] Elizabeth Clark, Tal August, Sofia Serrano, Nikita Haduong, Suchin Gururangan, and Noah A. Smith. All that's 'human' is not gold: Evaluating human evaluation of generated text. In Chengqing Zong, Fei Xia, Wenjie Li, and Roberto Navigli, editors, Proceedings of the 59th Annual Meeting of the Association for Computational Linguistics and the 11th International Joint Conference on Natural Language Processing (Volume 1: Long Papers), pp. 7282-7296, Online, August 2021. Association for Computational Linguistics.

[2] Evan Lucas and Timothy Havens. GPTs don't keep secrets: Searching for backdoor watermark triggers in autoregressive language models. In Anaelia Ovalle, Kai-Wei Chang, Ninareh Mehrabi, Yada Pruksachatkun, Aram Galystan, Jwala Dhamala, Apurv Verma, Trista Cao, Anoop Kumar, and Rahul Gupta, editors, Proceedings of the 3rd Workshop on Trustworthy Natural Language Processing (TrustNLP 2023), pp. 242-248, Toronto, Canada, July 2023. Association for Computational Linguistics.

[3] Eric Mitchell, Yoonho Lee, Alexander Khazatsky, Christopher D. Manning, and Chelsea Finn. Detectgpt: Zero-shot machine-generated text detection using probability curvature. In Proceedings of the 40th International Conference on Machine Learning, ICML'23. JMLR.org, 2023.

[4] Yafu Li, Qintong Li, Leyang Cui, Wei Bi, Longyue Wang, Linyi Yang, Shuming Shi, and Yue Zhang. Deepfake text detection in the wild, 2023 .

[5] Xiaomeng Hu, Pin-Yu Chen, and Tsung-Yi Ho. Radar: Robust ai-text detection via adversarial learning, 2023.

[6] Luoxuan Weng, Minfeng Zhu, Kam Kwai Wong, Shi Liu, Jiashun Sun, Hang Zhu, Dongming Han, and Wei Chen. Towards an understanding and explanation for mixedinitiative artificial scientific text detection, 2023.

[7] Wenxiong Liao, Zhengliang Liu, Haixing Dai, Shaochen $\mathrm{Xu}$, Zihao Wu, Yiyang Zhang, Xiaoke Huang, Dajiang Zhu, Hongmin Cai, Quanzheng Li, Tianming Liu, and Xiang Li. Differentiating chatgpt-generated and humanwritten medical texts: Quantitative study. JMIR Med Educ, Vol. 9, p. e48904, Dec 2023.

[8] Biyang Guo, Xin Zhang, Ziyuan Wang, Minqi Jiang, Jinran Nie, Yuxuan Ding, Jianwei Yue, and Yupeng Wu. How close is chatgpt to human experts? comparison corpus, evaluation, and detection, 2023.

[9] Vinu Sankar Sadasivan, Aounon Kumar, Sriram Balasubramanian, Wenxiao Wang, and Soheil Feizi. Can aigenerated text be reliably detected?, 2023 .

[10] Sian Alsop and Hilary Nesi. Issues in the development of the british academic written english (BAWE) corpus. Corpora, Vol. 4, No. 1, pp. 71-83, August 2009. Correspondence to: Hilary Nesi, email: h.nesi@ coventry.ac.uk.

[11] OpenAI. gpt-3.5-turbo-1106. url:https://platform.openai.com/, accessed: 2023-1231.

[12] Jacob Devlin, Ming-Wei Chang, Kenton Lee, and Kristina Toutanova. BERT: Pre-training of deep bidirectional transformers for language understanding. In Jill Burstein, Christy Doran, and Thamar Solorio, editors, 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.

[13] Prithiviraj Damodaran. Parrot: Paraphrase generation for nlu., 2021

[14] Steven Bird, Ewan Klein, and Edward Loper. Natural language processing with Python: analyzing text with the natural language toolkit. " O'Reilly Media, Inc.", 2009.

[15] Ryuto Koike, Masahiro Kaneko, and Naoaki Okazaki. Outfox: Llm-generated essay detection through in-context learning with adversarially generated examples. In Proceedings of the 38th AAAI Conference on Artificial Intelligence, Vancouver, Canada, February 2024.

## A 生成プロンプト

## A. 1 エッセイ題目の生成

エッセイの冒頭 250 単語 [essay] を元にした題目の生成には以下のプロンプトを用いた.

Please write the most appropriate problem statement for an essay assignment that would have you write the following essay.

Essay: [essey]

Problem Statement:

## A. 2 非敵対的 LLM-essay の生成

生成した題目 [problem statement] を元にした LLM-essay の生成には以下のプロンプトを用いた.

Given the following problem statement, please write an essay expressing a clear opinion with a minimum of 250 words.

Problem statement: [problem statement]

Essay:

## A. 3 敵対的 LLM-essay の生成

文脈内学習による敵対的テキスト生成には以下のプロンプトを用いた。但し [human problem statement] は検出器が human と予測したエッセイの題目を, [human pred essay] はそのエッセイの冒頭 250 単語を，[target problem statement] は敵対的エッセイ生成対象の題目を指す.

Here are the results of detecting whether each essay from each problem statement is generated by a Human or a Language Model(LM).

Problem statement: [human problem statement]

Answer: Human

Essay: [human pred essay]

Problem statement: [human problem statement]

Answer: Human

Essay: [human pred essay]

..

Problem statement: [target problem statement]

Answer: Human

Essay:

## B 実験設定詳細

## B. 1 ハイパーパラメータ


# おもしろい川柳の生成

太田聖三郎 ${ }^{1}$ 河原大輔 1 野村理朗 $2^{2}$
1 早稲田大学 2 京都大学
\{ota-seizaburo@akane., dkw@\}waseda.jp nomura.michio.8u@kyoto-u.ac.jp

## 概要

本研究では，深層学習による川柳生成モデルの構築を通じて，自然言語処理技術の創造性の向上に焦点を当てる。川柳生成において，音数やお題に沿った内容，おもしろさの学習を組み合わせ，end-to-end での生成を可能にする. 人手評価や自動評価により，提案手法はベースラインに比べて音数制御の精度, 川柳のとしての適否，おもしろさの面で優れていることを示した. 今後は，人間の川柳との相違点を埋めつつ，モデルの更なる洗練を目指す.

## 1 はじめに

近年，人工知能による創作活動はめざましい発展を遂げている。自然言語を入力するだけで，その内容に沿った精巧な画像を生成するモデル [1] も登場している。このように，創作モデルの精度が年々向上している中，モデルが人間に取って代わることを危惧する意見も存在する. しかし，これらのモデルは人間の代わりとしてだけではなく，人間の補助としても在り得る。つまり，これからは人間とモデルが共創していく時代である。人間とモデルがうまく協力することでより良い作品の創出が可能となる.

本研究では川柳という文芸に注目し，川柳を生成するモデルを構築する。川柳は俳句などと同様に 5-7-5 の音数を持ち，お題に対して作るものである. また，皮肉や風刺的な内容を含むことが特徴である. 川柳の生成に関する研究は無く, GPT-4 などの基盤モデルも依然としておもしろい川柳の生成をすることはできない. 本研究では，おもしろい川柳の生成を以下の 3 つのステップにより達成する。

・音数・トピックの学習
- 川柳の内容の学習

・川柳のおもしろさの学習

これらの学習によりモデルに川柳を end-to-end で生成させられることを示した.

## 2 関連研究

## 2.1 俳句の生成

川村ら [2] は，LSTM を用いて俳句を生成する手法を提案している. しかし，この手法はモデルが end-to-end で俳句を生成することはできず，俳句生成後にフィルタリングを行っている。また， Transformer [3] 登場以降に俳句や川柳の生成を行った研究は存在していない. 本研究では, end-to-end で川柳を生成できるモデルの構築を目標とする。

## 2.2 PoeLM

Ormazabal ら [4] は教師無し学習による韻律や音韻を学習する手法，Structure-aware training を適用した形式詩生成モデル PoeLM を提案している。この手法では，詩データを必要とせずに学習を行うことができる。川柳は通常の学習コーパスと比べデータ （トークン）数が圧倒的に少ないため，安定した学習を行うことは難しい。しかし，この手法を適用することで川柳以外のデータも使用することができるため，学習の安定化が期待できる.

## 2.3 LLM における強化学習

昨今の自然言語処理における学習は大規模言語モデル (LLM) に関する学習が主となっている．RLHF (Reinforcement learning from human feedback) [5,6] はその中でもよく用いられる技術の一つであり，強化学習の報酬モデリングに人間の嗜好を反映させた学習データを用いることで，より人間が好ましいと感じる応答を生成させることを可能にしている。 Llama2 [7] では報酬モデリング時に “margin” というペア間の芜好の差を導入することで報酬モデルの精度を向上させている. 本研究では，川柳のおもしろさを人間に評価してもらうことで，モデルがよりおもしろい川柳を生成できるようになることを試みる。

図 1 Structure-aware training

## 3 提案手法

本節では，言語モデルに良い川柳を end-to-end で生成させるための学習手法を述べる. 本研究では 3 つのステップに分けて川柳の特徵を学習する。学習のベースモデルには日本語 GPT-21)を使用する。

## 3.1 音数・トピックの学習

通常，言語モデルは音数を明示的に学習することはないが，正確に 5-7-5 の音数で川柳を生成させるためには音数の情報を学習させる必要がある. また，川柳はあるお題に対して作られるものであり， そのお題に沿った内容である必要がある. このお題に対して生成するという構図を明示的に学習することで，川柳を一貫して生成するモデルを構築する。学習に使用可能な川柳のトークン数は，一般的な言語モデルの学習に使用されるコーパスのトークン数に比べて圧倒的に少ない. そこで 2 節で述べた structure-aware training を用いて，川柳データを使わずに川柳の形式を学習する. PoeLMでは形式詩の形式を韻律や音韻数の情報を付加することで学習させている. 本研究では, 川柳の特徴的な要素のうち「5-7-5 の音数を守った生成」，「お題に沿った生成」を目的に学習を進める. 図 1 は本研究における structure-aware training の概要図である.

データセット学習には日本語の Wikipedia デー タセット2)を使用する。このデータセットには記事のタイトル，セクション名，テキストが段落ごとに格納されている. 本研究では，セクション名を川柳のお題，テキストを句に見立て，音数の制約やお題に則った生成を行うための学習用に整形を行う.

2) singletongue/wikipedia-utils川柳における 5-7-5 のようにテキストをある長さで区切り，区切りごとの音数を付与する。また，セクション名を，対応するテキストのトピックとする.本研究では区切りの目安を文節とし, 文節の取得には構文解析器 KNPを，音数の取得には形態素解析器 Juman++から得られる単語の読みを用いる。最終的なデータセットはあるテキストに対するトピック，文節のリスト，文節ごとの音数のリストから成る. データの前処理の詳細は付録 $\mathrm{A}$ に示す. 最終的なデータ数は $2,282,186$ 件となる.

モデルの入力は “<PREF><TOPIC: \{\}$>(<L E N$ : \{\}$>) * n</$ PREF> $(\{\}<$ BRK>)*n" とし, <PREF>, </PREF>, <BRK>, TOPIC, LEN は特殊トークンとしてトークナイザの語彙に追加する．TOPIC の後には入力文のセクション名，LENの後には各文節の音数を入力する. $\mathrm{n}$ は入力文の文節数である。学習のタスクは CLM (Causal Language Model) で，次のトークンを予測する学習手法である。推論時には<PREF> </PREF>を入力し，川柳の部分を生成する. 学習したモデルを “Poelm-ja”と呼ぶ. 学習に使用したハイパーパラメータを付録 Dに示す。

## 3.2 川柳の内容の学習

Poelm-jaを川柳生成用に調整する．前節では川柳の形式を学習させたに過ぎないため，川柳を学習データに用いて川柳の内容を学習する．前節では文節を区切りとしていたが，ここでは川柳の 5-7-5を区切りとすることで，川柳の音数に合わせたファインチューニングを行う．具体的には， 3.1 節で適用した stracture-aware training を川柳データで行う.

ファインチューニング川柳投稿サイト「まるせ几」より提供された利用可能な川柳データ約 58 万句の内，5-7-5 に分割されていない川柳を 5-7-5 に分割し，全ての川柳を学習に使用できるように前処理を行う．詳細については付録 B に示す．5-7-5 に分割された川柳データを用いて，前節で学習したモデルをファインチューニングする。入力の形式は前節の学習と同様であり, “TOPIC” の後には川柳のお題, “LEN” の後には 5-7-5を順番に入力する。学習の夕スクは CLMである．学習したモデルを “SenryuGPT” と呼ぶ.

## 3.3 川柳のおもしろさの学習

前節までのステップにより川柳の音数やお題に沿った生成を学習し, さらに, 生成する内容を川柳

に整えた。本節では，人間の嗜好をとらえた報酬モデルを使用した強化学習を適用し，よりおもしろい川柳を生成するモデルを構築する。

川柳嗜好データセット Yahoo!クラウドソーシング3)を用いて，強化学習時の報酬モデリング用に川柳の良し悪しを比較した川柳嗜好データセットを構築する. あるお題に対する 2 つの川柳をクラウドワーカに提示し, 良い（おもしろい）と感じる川柳を選択してもらう。川柳は 400 個のお題に対し 5 句ずつ用意し，1つのお題に対して，2 句ずつ選んだ総当たりで 10 ペアを作成する．お題は「まるせん」 で開催されるコンテストのお題と ChatGPT により生成したものを使用する。お題ごとに用意する 5 句の川柳の内，「まるせん」のコンテストの入選作があるお題は 1 句を入選作とし, 4 句を SenryuGPT で生成したものとする. 入選作がない場合は 5 句すべてを SenryuGPT で生成する. 各ぺアに対して 10 人で評価し, 得票数の多かった川柳をお題に対する “chosen”，少なかった川柳を “rejected” と呼ぶ. 得票数が等しい場合は, クラウドワーカに先に提示された句を chosen とする. また得票数の差に応じて “margin”を設定する. margin の設定の詳細は付録 Cに示す.

報酬モデルの構築川柳嗜好データセットを使用して，お題に対する川柳の良し悪しを回帰により評価する報酬モデルを構築する. ベースモデルには SenryUBERT [8] を採用する. 報酬モデルは，好まれる川柳と好まれない川柳のギャップを最大化するように学習する．損失関数は次式で定式化する。

$
L=-\log \left(\sigma\left(R_{\text {chosen }}-R_{\text {rejected }}\right)-M\right)
$

ここで， $\sigma$ はシグモイド関数， $R_{\text {chosen }}$ と $R_{\text {rejected }}$ はそれぞれ“chosen”，“rejected”の報酬を示す。 $M$ は“margin”である.

強化学習強化学習には Proximal Policy Optimization (PPO) [9]を使用する。構築した報酬モデルを使用し, SenryuGPT に強化学習を適用する. 学習時は, SenryuGPT の入力形式に則って, お題と音数を入力し，川柳部分をモデルに生成させる. それらを元に報酬を最大化するように学習する。学習に使用するお題は「まるせん」のコンテストのお題や， ChatGPT の生成により 1,000 個収集した. 学習に使用したハイパーパラメータを付録 Dに示す. 学習したモデルを“SenryuGPT-ppo”と呼ぶ.

3) https://crowdsourcing.yahoo.co.jp/

## 4 実験

## 4.1 実験設定

3 節で構築したモデルや既存のモデルによって生成した川柳を評価する。本実験では 3 つの項目についての評価を行う.
- Structure-aware training による音数制御の精度

-川柳としての適否

・おもしろさの評価

すべての項目においてクラウドソーシングによる人手評価を行い，音数の精度とおもしろさの評価に関しては自動評価も行う。

ベースライン CLM により川柳でファインチューニングした GPT-2 (“Fine-tuned GPT-2”と呼ぶ）をべースラインとする。学習時の入力は“次のお題に対する川柳を生成してください. お題: \{\} ,川柳: \{\} ”とする. \{\} 内にはお題や川柳が入る.

モデル 3 節で述べた手法の, ステップごとに構築したモデルについて評価を行う．具体的には次のモデルについて実験を行う。

(a) Poelm-ja (Structure-aware training)

(b) SenryuGPT（ファインチューニング）

(c) SenryuGPT-ppo（強化学習）

(d) Fine-tuned GPT-2 (ベースライン)

以降，モデルは (a)，(b)，(c)，(d) で表す.

実験の詳細 3.2 節と 3.3 節の学習時に使用したお題（seen）のうち 50 個と, 使用していないお題 (unseen) 50 個の合計 100 個のお題について 10 句ずつ生成し，それぞれのモデルに対して 1,000 句を自動評価の対象とする。(a)，(b)，(c) の生成時は入力を“<PREF><TOPIC：\{お題 \}><LEN: 5><LEN: 7><LEN: 5></PREF>”とする. サンプリングにより生成する際の top_p の值は 0.9 とする. 人手評価では, seen と unseen から 25 個ずつお題を選び，その中から 2 句ずつ選択して合計 100 句を評価対象とする。

音数の自動評価では各テキストを KWJA [10] による分かち書きを行った後に，各単語の読みから音数を取得する。おもしろさの自動評価では 3.3 節で使用した報酬モデルを評価モデルとして使用する．川柳としての適否の自動評価は行わない. 音数の測定, 川柳としての適否の人手評価は 1 句あたり 5 人, おもしろさの評価では 1 句あたり 10 人の評価者により評価をする．音数は音数の入力による回答，お

図 2 クラウドソーシングによる音数の評価

表 1 クラウドソーシングによる川柳としての適否の評価

もしろさは 4 段階による評価を行う.

## 4.2 結果

音数の評価図 2 にクラウドソーシングによる音数の人手評価結果を示す. KWJAを用いた自動評価結果は人手評価と大きな差異がなかったため, 付録 Eに示す. (a) は音数の制御を学習しているが，サンプリングにより音数の乱れた生成が多くあることがわかった。一方，川柳を使用して学習した後のモデルはある程度の制御ができており，(d) では 17 音となっている生成が最も多くなった. ベースラインは 15 音あたりの生成が多くなり，音数の学習はできていない。また，強化学習が音数の制御に及ぼす影響は見られなかった。

川柳としての適否の評価表 1 に，川柳としての適否の人手評価結果を示す. 5 人の評価者のうち 3 人以上が「川柳である」と回答したものを川柳とした. (a) は川柳の体裁のみを学習しているため，川柳であるとされた生成は少ないが，川柳で学習したモデルがベースラインと比べ圧倒的に川柳と認められることがわかった.

おもしろさの評価表 2 に川柳のおもしろさの人手評価結果を示す. 10 人の最頻値をその句のスコアとしている。表 3 に 3.3 節で使用した報酬モデルによる自動評価結果を示す. (c) の学習時の目的はこの報酬モデルの報酬の最大化であるため，(c) のスコアが突出しているが，強化学習前のモデル (b) もベースラインよりおもしろい川柳を生成できてい表 2 クラウドソーシングによる川柳のおもしろさの評価

モデルスコア (最頻値)

表 3 報酬モデルによる川柳の評価

ることがわかる．また，人手評価の結果から，強化学習により生成川柳がおもしろくなっていることが確認できた。学習で使用したお題については，使用していないお題に比べ，いずれもスコアが高い結果となった。

生成例以下に各モデルの生成例を示し，講評を行う。“【”内はトピックやお題を表す.

1.【イベント】その他にはミニマラソンが開かれる (a)

2.【わくわく】うなぎの塔私も挑戦したが $(\mathrm{d})$

3.【スポーツ】故障したオレはアイススケートで良い (b)

4.【スポーツ】義母からの口撃はいつもブレーキ無し (c)

5.【マイペース】スマホゲームに没頭し過ぎて飛び起きた (c)

1，2 は音数の 17 音を守っているが川柳と認められなかった例である. (d) は内容が支離滅裂になってしまう場合が多く見られた. 3 と 4 の比較では強化学習によるおもしろさの向上が確認できた。ただし， 5 のように最終的なモデルでも川柳と呼べない生成があることも判明した。

## 5 おわりに

本研究では, end-to-end で川柳を生成するモデルを構築した．学習を 3 つのステップに分け，段階を踏んで川柳の特徴を学習していくことで，おもしろい川柳の生成を可能とした. 実験の結果，提案手法は音数，川柳としての適否，川柳としておもしろさの 3 つの項目すべてにおいて，ベースラインを上回る結果となった。ただし，人間の作品とは依然として大きな乘離があり，さらなる研究の余地がある.

## 謝辞

川柳データを提供いただいた川柳投稿サイト 「まるせん」に感謝する. 本研究は JSPS 科研費 JP22H01103, JP21H04901 の助成を受けて実施した.

## 参考文献

[1] Robin Rombach, Andreas Blattmann, Dominik Lorenz, Patrick Esser, and Björn Ommer. High-resolution image synthesis with latent diffusion models, 2021.

[2] 川村秀憲, 山下倫央, 横山想一郎. 人工知能が俳句を詠む $\mathrm{AI}$ 一茶くんの挑戦. オーム社, 2021.

[3] Ashish Vaswani, Noam Shazeer, Niki Parmar, Jakob Uszkoreit, Llion Jones, Aidan N Gomez, L ukasz Kaiser, and Illia Polosukhin. Attention is all you need. In I. Guyon, U. Von Luxburg, S. Bengio, H. Wallach, R. Fergus, S. Vishwanathan, and R. Garnett, editors, Advances in Neural Information Processing Systems, Vol. 30. Curran Associates, Inc., 2017.

[4] Aitor Ormazabal, Mikel Artetxe, Manex Agirrezabal, Aitor Soroa, and Eneko Agirre. PoeLM: A meter- and rhyme-controllable language model for unsupervised poetry generation. In Yoav Goldberg, Zornitsa Kozareva, and Yue Zhang, editors, Findings of the Association for Computational Linguistics: EMNLP 2022, pp. 36553670, Abu Dhabi, United Arab Emirates, December 2022. Association for Computational Linguistics.

[5] Paul F Christiano, Jan Leike, Tom Brown, Miljan Martic, Shane Legg, and Dario Amodei. Deep reinforcement learning from human preferences. In I. Guyon, U. Von Luxburg, S. Bengio, H. Wallach, R. Fergus, S. Vishwanathan, and R. Garnett, editors, Advances in Neural Information Processing Systems, Vol. 30. Curran Associates, Inc., 2017.

[6] Nisan Stiennon, Long Ouyang, Jeffrey Wu, Daniel Ziegler, Ryan Lowe, Chelsea Voss, Alec Radford, Dario Amodei, and Paul F Christiano. Learning to summarize with human feedback. In H. Larochelle, M. Ranzato, R. Hadsell, M.F. Balcan, and H. Lin, editors, Advances in Neural Information Processing Systems, Vol. 33, pp. 3008-3021. Curran Associates, Inc., 2020.

[7] Hugo Touvron, Louis Martin, Kevin Stone, Peter Albert, Amjad Almahairi, Yasmine Babaei, Nikolay Bashlykov, Soumya Batra, Prajjwal Bhargava, Shruti Bhosale, Dan Bikel, Lukas Blecher, Cristian Canton Ferrer, Moya Chen, Guillem Cucurull, David Esiobu, Jude Fernandes, Jeremy Fu, Wenyin Fu, Brian Fuller, Cynthia Gao, Vedanuj Goswami, Naman Goyal, Anthony Hartshorn, Saghar Hosseini, Rui Hou, Hakan Inan, Marcin Kardas, Viktor Kerkez, Madian Khabsa, Isabel Kloumann, Artem Korenev, Punit Singh Koura, Marie-Anne Lachaux, Thibaut Lavril, Jenya Lee, Diana Liskovich, Yinghai Lu, Yuning Mao, Xavier Martinet, Todor Mihaylov, Pushkar Mishra, Igor Molybog, Yixin Nie, Andrew Poulton, Jeremy Reizenstein, Rashi Rungta, Kalyan Saladi, Alan Schelten, Ruan Silva, Eric Michael Smith, Ranjan Subramanian, Xiaoqing Ellen Tan, Binh Tang, Ross Taylor,
Adina Williams, Jian Xiang Kuan, Puxin Xu, Zheng Yan, Iliyan Zarov, Yuchen Zhang, Angela Fan, Melanie Kambadur, Sharan Narang, Aurelien Rodriguez, Robert Stojnic, Sergey Edunov, and Thomas Scialom. Llama 2: Open foundation and fine-tuned chat models, 2023.

[8] 太田聖三郎, 河原大輔, 野村理朗. 機械学習を用いた川柳の面白さの予測. 言語処理学会第 29 回年次大会発表論文集, 2023.

[9] John Schulman, Filip Wolski, Prafulla Dhariwal, Alec Radford, and Oleg Klimov. Proximal policy optimization algorithms, 2017.

[10] 植田暢大, 大村和正, 児玉貴志, 清丸寛一, 村脇有吾,河原大輔, 黒橋禎夫. Kwja：汎用言語モデルに基づく日本語解析器. 第 253 回自然言語処理研究会, 京都, 2022.

## A Wikipedia データセットの処理

Stracture-aware training 用データセットの構築は Wikipedia データセットを基に行う.テキストは段落の一文目を使用し，丸括弧で囲まれている部分を削除する．また，Juman++では英数字の音数が正確に取得できないため英数字を含む文を除外する．そして，長（短）すぎる文は除外する。

## B 川柳データの前処理

3.2 節で使用する川柳データの前処理について述べる.「まるせん」より提供された利用可能な川柳データ約 58 万句の内，約 65\%は 5-7-5 に分かたれていない.これらの川柳は structure-aware training では適用することができないため，ファインチューニングに使用することができない. この問題を解消するため，あらかじめ 5-7-5 に分かたれている川柳を用いて，川柳 5-7-5 に分割するモデルを構築する. 5-7-5 の間の空白を削除した川柳をモデルの入力とし，5-7-5 の間に空白を含んだ川柳を正解として学習を行う．学習に使用したモデルを次に示す。
- rinna/japanese-GPT-2-medium
- rinna/japanese-gpt-neox-3.6b
- megagonlabs/t5-base-japanese-web

GPT 系のモデルでは学習時の入力を“分かたれていない川柳く $\backslash \mathrm{s}>$ 分かたれた川柳” とし, T5 では分かたれていない川柳の入力に対し，分かたれた川柳をラベルとして学習を行った. 3 つのモデルの推論結果から多数決を取り, 多数派の分割を 5-7-5 の正解と仮定して学習データとする。

## C川柳嗜好データセットの詳細

3.3 節のデータセット構築時に設定した “margin” の設定の詳細を表 4 に示す. 得票数の差に応じて設定している.

表 4 得票数の差による margin のアノテーション

## D ハイパーパラメータ

表 5，6，7 亿，3 節の学習で使用したハイパーパラメータを示す. 表内の英字は次のモデルに対応している.

(a) Poelm-ja

(b) SenryuGPT

(c) SenryuGPT-ppo

(d) Fine-tuned GPT-2

(e) 報酬モデル（強化学習時）

表 5 CLM 学習に使用したハイパーパラメータ

表 6 PPO 学習に使用したハイパーパラメータ

表 7 報酬モデルの学習に使用したハイパーパラメータ

## E KWJA による音数自動評価

図3に，KWJAによる音数の自動評価結果を示す.人手評価と類似した結果が得られた。

図 3 KWJA による音数の評価

(C) The Association for Natural Language Processing, (Licensed under CC BY 4.0）https://creativecommons.org/licenses/by/4.0/


# 創造的な文生成タスクに対する LLM プロンプトの自動生成

鈴木就斗 ${ }^{1}$ 狩野 芳伸 ${ }^{2}$
1 株式会社エイチームライフデザイン 2 静岡大学
suzuki.shuto@a-tm.co.jp kano@kanolab.net

## 概要

大規模言語モデル（LLM）の性能を引き出すには，与えるプロンプトの良し悪しが重要である. プロンプト自動生成の研究もあるが，多くは自動評価しやすい唯一解のあるタスクが対象である. 我々は，唯一解の無い創造的な文生成タスクに対してプロンプトの自動生成を試みた。そのための自動評価指標には埋め込み表現を用いて，期待される正解への近さと，創造性すなわち入力からの距離とを総合した指標により両者が反映されるようにした. インターネット記事作成における読者ニーズおよび記事見出しの生成を題材に，プロンプトを生成しない Few-shot Prompting と比較し, 主観評価により提案手法がより有用な結果を生成できることを示した.

## 1 はじめに

近年，大規模言語モデル（LLM）の発展により，様々なタスクが高い精度で解けるようになった. しかし LLM の性能は，与えるプロンプトの品質に大きく左右される. よいプロンプトを作成するためには，解きたいタスクに対する知識や経験を多く求められることが多い.

LLM に与えるプロンプトの作成の負担を軽減するために, Auto Prompt Engineer（APE）[1]のようなプロンプト自体を LLM で自動生成する手法も提案されている。それらの手法の多く [2] は，自動評価しやすい唯一解のあるタスクを対象にしている。

一方で創造的な文生成タスク，たとえばインター ネット上のメディアに掲載するための記事コンテンツ（以下，単に記事とする）の作成においては「記事の読者のニーズが何かを考える」「読者の目を引くような見出しを作成する」といった，唯一解の無い創造的なタスクが多い.こうした記事を作成するには多くの人的コストがかかるため, 記事の作成のために言語モデルを利用した自動化技術による負担軽減や品質の一律化が期待されている. しかしこの
ようなタスクは正解データが与えられていたとしても生成結果を自動評価することは難しく，従来の方法でプロンプトを自動生成するには工夫が必要となる。

我々は埋め込み表現を用いることで，こうした唯一解の無い創造的な文生成タスクの自動評価ができるのではないかと考えた。埋め込み表現のべクトルは文章の意味の類似度を測る手段として用いられることが多い. 予め与えられた正解データに対して,埋め込み表現間の類似度を計算することで，生成結果がどれくらい正解に近いかを自動評価できる。また与えた入力と生成結果との類似度を計算することで，生成結果がどれくらい入力から離れているかも計算できる。これによって，入力から直接連想しづらい創造的な結果が得られたかを自動評価できると考えた。

我々は，先行研究として PromptAgent[3] の手法を参考に，タスクに対して少数の入力と出力のペアを用いてプロンプトを最適化した. 最適化されたプロンプトを用いて新たに生成された出力を，埋め込み表現によって評価した。これにより，唯一解の無い創造的な文生成タスクにおいてプロンプトの自動最適化を実現した。

## 2 関連研究

## 2.1 プロンプトの自動生成

プロンプトの自動生成，すなわち Auto Prompt Engineer（APE）[1] は，少数の入力と出力のペアからプロンプトを自動生成する手法である。この研究では OpenAI GPT-3[4]を用いて複数のプロンプト候補を生成し，答えが出力される対数確率を用いて生成結果を自動評価し，評価結果の高いプロンプトを採択するサイクルを複数回続けることでプロンプトを最適化している。APE で用いられた GPT-3 では日本語における性能が不十分であり，同様の手法で日本語のタスクに対して高品質な出力を得ることは
難しい。また対数確率が取得できない API ベースのクローズドなモデルに対して，APE と同様の手法を適用することは難しいという問題がある.

GPT-4[5] を利用したプロンプト自動生成の手法として PromptAgent[3] がある. PromptAgent は, 入力と出力のペアと初期の単純なプロンプトを用意して, 初期のプロンプトによる生成結果を LLM でエラーフィードバックすることによってプロンプトを改善する手法である．改善されたプロンプトを自動評価するために， 150 件の入力と出力のペアを用意して報酬関数を計算している。その自動評価されたスコアに基づき，モンテカルロ木探索を用いて最適なプロンプトを探索している.

## 2.2 自動評価

唯一解の無い創造的な文生成タスクの自動評価としては，埋め込み表現を用いる方法が考えられる。 たとえば Multilingual E5[6] などを用いて出力結果の文埋め込み表現を獲得し, 正解データとの類似度を測ることで自動評価ができる。

また，ChatGPTを用いた自動評価の手法 [7] が提案されている. 文章の要約や物語の生成といった創造的なタスクの評価に ChatGPTを用い，人間による手動評価との相関性が高いと報告されている.

図 1 提案手法の流れ

## 3 提案手法

関連研究に挙げた PromptAgent では唯一解のあるタスクが対象であるが，唯一解のある大規模データセットではなく, 少数の入力と出力のぺアによってプロンプトを自動で最適化を行う手法を提案する。

具体的には，プロンプトと入力文字列から出力を生成するべース LLM と, 出力と期待する正解を比較して新しいプロンプトを生成する最適化用 LLM を用いて，プロンプトを自動で最適化する. 最適化の指標として, 生成結果と期待する正解との近さを表す指標 A と，より創造的すなわち入力との遠さを表す指標 Bを定義し，それらを総合した仕様により創造的かつ正解といえる出力を得ることを目指す.

## 3.1 プロンプトの生成

準備として，入力とそれに対して期待される正解となる出力のペアを 2 組1) と，簡易な初期プロンプトを用意する。まず入力と初期プロンプトを用い $\tau$, ベース LLM で出力を得る. 次に出力と期待される正解との違いを, 最適化用 LLM によって説明させる. 得られた出力と正解との差異の情報をもとに最適化された新しいプロンプトを複数生成するよう，最適化用 LLM に指示を与えることでプロンプ卜を再度生成する（図 1).

ベースLLM に与える，入力から生成結果を得るプロンプトは付録 A. 1 に示す.

最適化用 LLM に与えるための，ベース LLM による生成結果と期待する出力の違いを説明する出力比較用プロンプトは次のようになる.

出力比較用プロンプト

以下はあるプログラム A と B に同じ入力を与えた時の出力です。

A と B の中身を推測し、A と比べて B にはどのような特徴があるかを出力してください。

\#\# 入力 1

\{input\}

\#\#\# A

\{output\}

\#\#\# B

\{answer\}

\#\# 入力 2

1） 2 組とした理由は、できるだけ少ない数のぺアを用いたいと考えたが、1 組ではタスクを抽象化できず出力を直接指示するようなプロンプトが生成され意図した結果とならなかったため、必要最低限の数として 2 組が必要と判断した。
\{input \}

\#\#\# A

\{output\}

\#\#\# B

\{answer\}

B の特徵:

input，answerには，予め用意した 2 組の入力と期待する出力を記述する. output には， ベース LLM で生成した結果を記述する。

最適化用 LLM に与えるための，新しいプロンプトを複数生成する最適化用プロンプトは次のようになる。

最適化用プロンプト

言語モデルのプロンプトを作成しています。正解が得られるよう現在のプロンプトを改善してください。

\#\# 現在のプロンプト

\{prompt \}

\#\# 現在のプロンプトの問題点

現在のプロンプトによる出力を A とします。

得たい正解となる出力を B とします。

\{feedback_output \}

A と B の違いを踏まえ、B が出力されるように現在のプロンプトを改善した、\{generate_number $\}$個の新しいプロンプトを出力してください

プロンプトには決して入力と出力を含めないでください。

新しいプロンプトは <START> と <END> で曲んでください。

新しいプロンプト:

feedback_output には, 先ほどの出力比較用プロンプトの出力を記述する. generate_numberには，新しいプロンプトを生成する個数を記述する.

以上によって得られた結果から <START>と<END> で囲まれた部分を抽出したものを，改善された新しいプロンプトとする. 改善された新しいプロンプトをべース LLM に与えることで，新しい生成結果を得る。

## 3.2 自動評価のための指標

自動評価により生成された複数の結果のうちひとつを採用するために，埋め込み表現を用いた. 入力を $i$, 期待する出力を $a$, 出発点となる簡易的なプロ
ンプトによる出力を $o_{0}$, 最適化後の新しいプロンプ卜による出力を $o_{1}$ とする。それぞれの文章から文ベクトルを得て，ふたつのべクトルのコサイン類似度をとったものを $s(*, *)$ とする。

改善後の出力がどれだけ正解に近づいたかを示す指標として， $s\left(a, o_{1}\right)-s\left(a, o_{0}\right)$ を評価指標 A とする. また改善後の出力が，どれだけ入力から離れたかを示す指標として,$s\left(i, o_{0}\right)-s\left(i, o_{1}\right)$ を評価指標 $\mathrm{B}$ とする. 総合評価を $A+B$ として，この値が最も高いプロンプトを生成結果として採用した. ${ }^{2)}$

## 4 実験

## 4.1 セットアップ

先行研究である PromptAgent の手法にならい, ベース LLM には OpenAI GPT 3.5 Turbo Nov 6 version としたが，GPT-4 などの他のモデルに置き換えも可能と考えられる. 最適化用 LLM には高い推論能力が求められるため, PromptAgent 同様に OpenAI GPT-4 Turbo Nov 6 versionを用いた.

実験用データとして，インターネット記事作成を題材に，その読者ニーズ生成と目次見出し生成（付録 B）を想定したタスクを合計 30 件用意した. 内訳は，キーワードを入力とし，潜在ニーズを生成するタスク 10 件，文を入力とし，見出しを生成するタスク 10 件，キーワードを入力とし，見出しを生成するタスク 10 件となっている。

評価にあたって必要になる埋め込み表現は， OpenAI text-embedding-ada-002を用いて生成した.

1 回の最適化において 3 個の新しいプロンプトを生成するよう指示した. なおタスクによっては 3 個生成するよう指示しても期待通りに 3 個生成されない事があるが，生成された分だけ評価をした．生成されたプロンプトから改善された出力を得て，評価指標 A と B を計算し，評価指標 A と B の和が最も高くなるプロンプトを採用した。

## 4.2 ベースライン

提案手法に対するベースラインとして Few-shot Learning あるいは Few-shot Prompting と呼ばれる手法と比較した. Few-shot Prompting は，少数の入力と出力のペアを用いる必要がある点で提案手法と共通しているが，プロンプトの自動生成は行わず入出

2）厳密には演算前に A と B を互いの分布を合わせる補正が必要と考えられるが、本研究においては A と B の分布がほとんど同じであったため取得した値をそのまま使った。
表 1 実験結果

力の例を用いて新しい出力を直接得る手法である. Few-shot Prompting として，以下のプロンプトを用いた.

ベースラインとして用いたプロンプト

input: \{input_1\}

output: \{output_1\}

input: \{input_2\}

output:

## 5 評価結果

## 5.1 自動評価

自動評価として，評価指標 $\mathrm{A}$ と $\mathrm{B}$ ，および $\mathrm{A}+\mathrm{B}$ の値の平均値を算出した（表 1). 評価指標 $\mathrm{A}+\mathrm{B}$ において，提案手法がベースラインよりも高い值を得ていることが分かる.

## 5.2 主観評価

人手での主観評価として，生成結果の文章を読んだ上で，どちらの出力が有用かを 1 名に選択させたところ，約 $62 \%$ のタスクで提案手法の方が有用であると判断した。

次に，提案手法で最適化する際に自動評価として評価指標 $\mathrm{A}$ のみを用いる場合と， $\mathrm{A}+\mathrm{B}$ を用いた場合についての変化を確認した. Aのみを用いた場合と $\mathrm{A}+\mathrm{B}$ を用いた場合の出力は一致する事があるが，異なる出力をしたケースについてどちらの出力が有用かを 1 名に選択させたところ，約 $64 \%$ のタスクで $\mathrm{A}+\mathrm{B}$ を用いた場合の方が有用であると判断した。

## 6 議論と分析

まず，評価指標について議論する。期待する正解への近さを表す評価指標 A はベースラインの方が高くなった. Few-shot Prompting は与えられた正解を直接用いて新しい生成結果を得る手法のため，より与えられた正解に忠実な出力を得られやすい傾向があると考えられる。一方で，入力からの距離を表す評価指標 B は提案手法の方が高くなった. 提案手法の方が入力から連想しづらい出力を得やすくなるた
め，唯一の正解が無い創造的なタスクに向いているのではないかと考える.

次に，実際の生成結果を分析する。「プログラミング講座」という入力に対して, 記事読者のニーズを出力させた結果を次に示す. なお期待する正解は 「プログラミングに興味はないが，キャリアアップしたい」とした. もう一組の例として与える入出力のペアは大力「30 代転職」に対して「転職するつもりは無いが，給料を上げたい」とした。

ベースライン手法による生成結果

プログラミングの講座を受けてスキルを向上させたい.

提案手法による生成結果

読者はプログラミング講座を受講することで， プログラミングスキルを向上させたいという表面的な要求の背後に, 将来のキャリアアップや新しい仕事の機会を得るための深層のニーズや目的があると考えられます.

いずれの手法も「プログラミング講座」という入力から「スキルを向上させたい」という意味の出力を得ている. 提案手法においてはさらにキャリアアップや新しい仕事の機会といった，入力から直接連想しづらい創造的な出力を得た。

提案手法において改善されたプロンプトは次のようになった。

提案手法により改善されたプロンプト

提示されたキーワードから読者の表面的な要求を超えた深層のニーズや目的を探り、それらを明らかにする分析を行ってください。

このように入力と出力のペアから求められる情報を抽象化し，より有用な出力が得られるようプロンプトを最適化できた。

## 7 おわりに

唯一解の無い創造的な文生成タスクのためにプロンプトを自動生成する手法を提案し，より有用性の高い結果が得られることを示した. 今後はプロンプトの最適化を繰り返し実行することで，さらに有用な出力を得ることを目指したい．その場合，LLM による評価と生成を繰り返し実行する必要があるため，より軽量なモデルで実行したいと考えている。

## 参考文献

[1] Yongchao Zhou, Andrei Ioan Muresanu, Ziwen Han, Keiran Paster, Silviu Pitis, Harris Chan, and Jimmy Ba. Large language models are human-level prompt engineers. In Proceedings of the Eleventh International Conference on Learning Representations (ICLR), 2022.

[2] Reid Pryzant, Dan Iter, Jerry Li, Yin Tat Lee, Chenguang Zhu, and Michael Zeng. Automatic prompt optimization with "gradient descent" and beam search. In Proceedings of the 2023 Conference on Empirical Methods in Natural Language Processing (EMNLP), 2023.

[3] Xinyuan Wang, Chenxi Li, Zhen Wang, Fan Bai, Haotian Luo, Jiayou Zhang, Nebojsa Jojic, Eric P Xing, and Zhiting Hu. Promptagent: Strategic planning with language models enables expert-level prompt optimization, October 2023. arXiv:2310.16427.

[4] Tom Brown, Benjamin Mann, Nick Ryder, Melanie Subbiah, Jared D Kaplan, Prafulla Dhariwal, Arvind Neelakantan, Pranav Shyam, Girish Sastry, Amanda Askell, Sandhini Agarwal, Ariel Herbert-Voss, Gretchen Krueger, Tom Henighan, Rewon Child, Aditya Ramesh, Daniel Ziegler, Jeffrey Wu, Clemens Winter, Chris Hesse, Mark Chen, Eric Sigler, Mateusz Litwin, Scott Gray, Benjamin Chess, Jack Clark, Christopher Berner, Sam McCandlish, Alec Radford, Ilya Sutskever, and Dario Amodei. Language models are few-shot learners. In H. Larochelle, M. Ranzato, R. Hadsell, M.F. Balcan, and H. Lin, editors, Proceedings of the Advances in Neural Information Processing Systems (NeurIPS), Vol. 33, pp. 1877-1901. Curran Associates, Inc., 2020.

[5] Josh Achiam et al. Gpt-4 technical report, 2023. arXiv:2303.08774.

[6] Liang Wang, Nan Yang, Xiaolong Huang, Binxing Jiao, Linjun Yang, Daxin Jiang, Rangan Majumder, and Furu Wei. Text embeddings by weakly-supervised contrastive pre-training, December 2022. arXiv:2212.03533.

[7] Jiaan Wang, Yunlong Liang, Fandong Meng, Zengkui Sun, Haoxiang Shi, Zhixu Li, Jinan Xu, Jianfeng Qu, and Jie Zhou. Is chatgpt a good nlg evaluator? a preliminary study. In Yue Dong, Wen Xiao, Lu Wang, Fei Liu, and Giuseppe Carenini, editors, Proceedings of the 4th New Frontiers in Summarization Workshop, pp. 1-11, Hybrid, December 2023. Association for Computational Linguistics.

## A プロンプトテンプレート

## A. 1 入力から出力を得るプロンプト

ベース LLM で出力を得るプロンプトは以下．

入力から出力を得る

\{prompt \}

\#\# 入力

\{input_text $\}$

\#\# 出力の形式

\{answer_format \}

出力:

prompt には，最適化対象となる初期プロンプトを記述する. input_textには入力を記述する. answer_format には「答えを一文で出力して」といった出力の形式を簡単に記述する。

## B 実際の生成例

## B. 1 読者のニーズを考える例

入力 $「 30$ 代転職」に対して，期待する正解を「転職するつもりは無いが，給料を上げたい」とした例を次に示す。

初期のプロンプトによる生成結果

30 代の読者が転職に関する情報を求めている。

LLM により改善された新しいプロンプト

読者が提供したキーワードを超えて、その背後にある潜在的な動機や欲求を分析し、それに基づいた情報やアドバイスを提供してください。

新しいプロンプトによる生成結果

転職を考える 30 代の方は、自己成長やキャリアアップの欲求が強い可能性があります。新しい環境での挑戦やスキルの磨き直しを通じて、自分自身を成長させることを意識してみてください。
また, ベースラインとした Few-shot Prompting による生成結果を次に示す.

Few-shot Prompting による生成結果

転職を考えているが、年齢的に不安がある

改善されたプロンプトにより，「自己成長」や「挑戦」といった要素が得られた。

## B. 2 記事の見出しを作成する例

入力「初心者プログラミング始める」に対して，期待する正解を「初心者でもプログラミングは始められる？」とした例を次に示す。

初期のプロンプト

入力について、記事の目次の一項目となる見出しを作成して

初期のプロンプトによる生成結果

プログラミングの初心者が始めるための入力方法

LLM により改善された新しいプロンプト

記事の目次に含めるため、入力されたキーワー ドを使って疑問形で読者の興味を引く見出しを生成してください。

新しいプロンプトによる生成結果

初心者でもプログラミングを始めるべき？

また, ベースラインとした Few-shot Prompting による生成結果を次に示す.

Few-shot Prompting による生成結果

初心者でもプログラミングを始めることはできますか?

この例においては，提案手法とべースラインとで大きな違いは見られなかった.


# Retrieval-augmented generation に基づく カスタマーサポートにおける返信メール自動生成の検討

小島淳嗣 1
1 株式会社マネーフォワード
kojima.atsushi@moneyforward.co.jp

## 概要

企業のカスタマーサポートにおけるカスタマー への返信メール作成業務を支援するため、返信メー ルを自動で生成するシステムを検討する。システムは retriever model とプロダクトについて学習させた large language model (LLM) によって構成され、 retrieval augmented generation (RAG) に基づいて返信メールを生成する。メールの生成において、 retriever model は問い合わせメールの回答に該当する情報を含む topN のチャンクをサポートサイトのページと返信メールテンプレートから抽出する。次に LLM は retriever model によって選択されたチャンクとカスタマーのメール文を入力として返信メールを生成する。LLM は事前に汎用ドメインで事前学習を行った後、サポートサイトのテキストを用いて継続事前学習を行う。さらに、カスタマーの問い合わせメールと実際の返信メールをそれぞれ prompt と completionとみなして supervised fine-tuning を行った。実験では、継続事前学習や RAG の有効性、及びエラー分析の結果について報告する。

## 1 はじめに

large language model (LLM) の高いテキストの生成能力が着目されており、医療、金融、法律など様々な領域において活用が広がっている $[1,2,3]$ 。このような専門知識を要するタスクでは、LLM に正確な出力をさせるため、retrieval-augmented generation (RAG) [4] に基づく推論や LLM $の$ fine-tuning が実施される。

本稿では、カスタマーサポートにおけるカスタマーへの返信メール作成業務を支援するため、返信メールを自動で生成するシステムを検討する。システムは retriever model とプロダクトについて学習させた LLM によって構成され、RAGに基づきカスタ
マーへの返信メールを生成する。なお、問い合わせメールには、しばしば confidential な情報が含まれるため、OSS の事前学習モデルをべースに独自で fine-tuning を実施した。

LLM のドメイン適応は、継続事前学習 [5] と supervised fine-tuning (sft)の 2 段階で行う。継続事前学習では、汎用ドメインのテキストで事前学習されたモデルに対して、サポートサイトや問い合わせ履歴を用いて学習を行う。sftでは、継続事前学習で学習されたモデルに対して、メールの問い合わせと回答の履歴をそれぞれ prompt と completion とみなすことで学習を行う。

実験では、マネーフォワードのカスタマーサポー トのデータを用いてシステムを実装し、継続事前学習やRAG の有効性等について評価する。また、実際のベテランのカスタマーサポート 1 名によるエラー分析の結果についても報告する。

## 2 返信メール生成システム

図 1 に返信メール生成システムの概要を示す。 システムは、retriever model とプロダクトについて学習させた LLM によって構成され、RAG 基づきカスタマーへの返信メールを生成する。 retriever model は、問い合わせメールの回答に該当する topN のチャンクをサポートサイトと返信メールテンプレートから選択する。次に、LLM は retriever model によって選択されたチャンクとカスタマーのメー ル文を入力として返信メールを生成する。

## 3 LLM の学習

LLM のドメイン適応は、継続事前学習と $\mathrm{sft}$ の 2 段階で行う。継続事前学習では、あらかじめ汎用ドメインのテキストで事前学習されたモデルに対して、サポートサイトや問い合わせ履歴を用いて学習を行う。sftでは、メールの問い合わせと回答の履歴

図 1 返信メール生成システムの概要

をそれぞれ prompt と completion とみなすことで学習を行う。

## 3.1 継続事前学習

継続事前学習ではチャット、メール、電話などのプラットフォームからのカスタマーの問い合わせ、 カスタマーサポートによる実際の回答、サポートサイトのテキスト ${ }^{1)}$ 、返信テンプレートテキストを用いて学習を行った。表 1 にデータセットの内訳を示す。

表 1 継続事前学習のデータセット

## $3.2 \mathrm{sft$}

stt はメールの問い合わせと回答をそれぞれ prompt と completion とみなして実施する。図 2 に sft におけるモデルの入力フォーマットを示す。prompt と completion の境界を区別するために特殊な文字列として「\#\# 返信メール:」を使用した。prompt はカスタマーからの問い合わせメールの内容と、問い合わせメールの回答を含むチャンクで構成される。 チャンクは、学習時には ground truth を利用し、推論時には retriever model によってサポートサイトからチャンクとして選択される。学習では、カスタマー サポートによって、返信メールにおいて参考リンクとして記載されたぺージのテキストから効率的に ground truth のチャンクを作成した。sft では prompt

1) https://biz.moneyforward.com/support
を構成するトークンの loss を 0 にして、completion を構成するトークンの loss のみ最小化することでモデルを学習した。

\#\#\# 指示: あなたは株式会社マネーフォワードのカスタマーサポートです.
ソースを考慮して, カスタマのメールのの丁寧な返信文を生成してください.
\#\#\# カスタマからの問い合わせメール : <メール文>
\#\#\#ソース1: <チャンク1>
\#\#\#ソース2: <チャンク2>
$\vdots$
\#\#\#ソースN: <チャンクN>
\#\#\# 返信メール:

$\mathrm{sft}$ のデータの品質を担保するため、学習データのフィルタリングと整形を行った。具体的にはスパムメールや空メールは学習から覗き、署名などの情報は削除した。これらの処理を行い、カスタマー対応履歴から 8055 件の sft データを作成した。

## 4 実験

## 4.1 実験条件

全ての実験は、マネーフォワードのカスタマーサポートにおける実際のカスタマーからの問い合わせとその返信メールを用いて行った。評価データには、継続事前学習と $\mathrm{stt}$ の学習データに含まれていない問い合わせデータ 100 件を用いる。評価尺度には ROUGE-2 を採用し、実際にカスタマーサポー トが返信したメールのテキストとシステムによって生成された返信メールのテキストを用いて計算した。

LLM は、C-4 や wikipedia、C-00 などの汎用ドメインのテキストで事前学習されたモデル2)を用いて継続事前学習と sft を実施した。retriever model には Bidirectional Encoder Representations from Transformers (BERT) [6] に基づく埋め込みモデル ${ }^{3 ）}$ と BM25を採用し、性能を比較した。チャンクはサポートサイトのテキストからチャンクサイズ 128、オーバラップ比率 $25 \%$ で切り出すことで作成し、271122 のチャンクを得た。推論時には、チャンクの中から最もスコアが高いものを prompt に入力するチャンクとした。ただし、スコアには間値を設け、この値を上回るチャンクのみ選択し、該当するチャンクが存在しない場合には、prompt にチャンクを入力しないこととした。また、LLM のコンテキスト長を超えないように最大で選択するチャンク数は 4 つとした。

表 2 に LLM の fine-tuning の条件を示す. Adam

表 2 LLM の学習条件

optimizer [7]のハイパーパラメータは $\beta_{1}=0.9$, $\beta_{2}=0.98, \epsilon=10$ とした.

## 4.2 結果

表 3 に結果を示す。表において no retriever は、 prompt にチャンクを入力しない時の結果を示す。 ground truth は ground truth のチャンクを prompt に入力した時の結果を示す。 retriever model を用いない推論結果 (C0) に比べると、BM25 (D0) と BERT (E2) に基づく retriever model を用いて推論を行うことで、 ROUGE-2 のスコアが高くなった。また、BM25 (D0) と BERT (E2) を比較すると、BERT が高い性能を示した。また、ground truth のチャンクを prompt に入力した結果 (A0) に比べ、BERT に基づく retriever model によってチャンクを選択した結果 (E2) は、 retriever model のエラーによってわずかに精度が低下した。

2) rinna/japanese-gpt-1b

3) intfloat/multilingual-e5-base表 3 effect of retriever model

表 4 に継続事前学習の効果の比較を示す。継続事前学習を行わずに学習された $\mathrm{sft}$ モデル (F0) の結果に比べ、継続事前学習を行った sft モデル (E2) は、 ROUGE-2 のスコアが高くなった。また、事前学習モデルの結果 (B0)を比べると、継続事前学習の有無にかかわらず、sftを行うことで、ROUGE-2 のスコアが向上することがわかった (F0, E2)。

表 4 Effect of training process

表 5 に BERT に基づく retriever model におけるチャンクサイズの影響を示す。チャンクサイズを変えることで ROUGE-2 のスコアが最大 8 ポイント変化しており、チャンクサイズのチューニングが生成において重要であることがわかる。

表 5 BERT に基づく retriever model におけるコンテキスト長の影響

図 3 に実際にシステムの出力例を示す。システムの出力には、ユーザが LLM によって生成された内容が事実かどうかを効率的に確認できるように、 retriever model によって選択されたチャンクが作成された元のページの URL とともに表示することとした。この例では、retriever modelによって問い合わせに対する回答が記載されているサポートサイトから適切なチャンクが選択され、返信メールが LLM によって生成できている。

カスタマーからの問い合わせ

インボイス制度に対応した新形式テンプレートでは「空付き封筒対応」のご用意がありません。対応予定を教えてください。

## 生成結果

お問い合わせいただいた件について、ご案内いたします。

誠に恐れ入りますが、インボイス制度に対応した新形式テンプレートでは、「空付き封筒対応」のご用意がござ

いません。

ご要望にお応えできず申し訳ございませんが、今後の開発をお待ちいただけますと幸いです。

今後ともマネーフォワードをご愛顧くださいますようお願いいたします。

Reference

マネーフォワードクラウド請求書 API スタートアップガイド( v3ご利用者さま向け) | マネーフォワードクラウド請求書サポート

https://biz.moneyforward.com/support/invoice/guide/api-guide/a04.html

請求書の「郵送依頼」機能をリリースしました | マネーフォワードクラウド請求書Plusサポート

https://biz.moneyforward.com/support/receivable/news/new-feature/n014.html

「空付き封筒」にあったテンプレートは、ありますか？ | マネーフォワードクラウド請求書サポート https://biz.moneyforward.com/support/invoice/faq/document/d11.html

システムの出力例

## 4.3 エラー分析

システムのさらなる改善のためカスタマーサポー トに所属するベテランの社員一名によるシステムの出力分析を行った。その結果、2つの問題によって不正確な返信文や hallucination が起きることがわかった。

1つめの問題としては、retriever model がアクセスできないリソースの情報を必要とする問い合わせに対して、hallucination が起きうることがわかった。具体的には、カスタマーの契約状況やリアルタイムの情報 (障害状況) に関する問い合わせは、サポートサイトに情報が記載されていないため、生成されたテキストに hallucination が含まれることがある。例えば、ログインができないといった問い合わせに対してシステムは、理由がシステム障害であっても、 パスワードとの入力ミスを確認するように返信することがある。この問題を解決するため、今後は、sft のデータセットを作成する際には、カスタマーの契約状況やリアルタイムの情報を必要とする関する問い合わせ対しては、completionを「回答できない」にして学習することで、この問題の解決を検討する。 2 つめの問題点として、異なるプロダクトの類似した機能に関する問い合わせに対して、retriever model が問い合わせ対象とは異なるプロダクトのサポートサイトからチャンクを抽出してきてしまうことで、LLM が誤った回答を生成してしまうことがあった。今後は、チャンクにメタ情報として、プロダクトの種類を付与し、チャンクを選択する際に、問い合わせ対象のプロダクトに該当するサポー トサイトから切り出されたチャンクに制限することで、この問題の解決を検討する。

## 5 おわりに

企業のカスタマーサポートにおけるカスタマーへの返信メール作成業務を支援するため、問い合わせメールへの返信を生成するシステムを検討した。システムは retriever model とプロダクトについて学習させた LLM によって構成され、RAG に基づいて返信メールを生成する。LLM は事前に汎用ドメインで事前学習を行った後、サポートサイトのテキストを用いて継続事前学習を行う。さらに、カスタマー の問い合わせメールと実際の返信メールをそれぞれ prompt と completionとみなして sft を行った。今後は、エラーの分析の結果に基づき、システムの改善に取り組む。

## 参考文献

[1] Quzhe Huang, Mingxu Tao, Zhenwei An, Chen Zhang, Cong Jiang, Zhibin Chen, Zirui Wu, and Yansong Feng. 2023. Lawyer llama technical report. CoRR, arXiv preprint arXiv:2305.15062.

[2] Yunxiang Li, Zihan Li, Kai Zhang, Ruilong Dan, Steve Jiang, You Zhang. 2023. ChatDoctor: A medical chat model fine-tuned on a large language model Meta-AI (LLaMA) using medical domain knowledge. CoRR, arXiv preprint arXiv:2303.14070.

[3] Shijie Wu, Ozan Irsoy, Steven Lu, Vadim Dabravolski, Mark Dredze, Sebastian Gehrmann, Prabhanjan Kambadur, David Rosenberg, Gideon Mann. 2023. BloombergGPT: A large language model for finance. CoRR, arXiv preprint arXiv:2303.17564.

[4] Patrick S. H. Lewis, Ethan Perez, Aleksandra Piktus, Fabio Petroni, Vladimir Karpukhin, Naman Goyal, Heinrich Küttler, Mike Lewis, Wen-tau Yih, Tim Rocktäschel, Sebastian Riedel, Douwe Kiela. 2020. Retrieval-augmented generation for knowledge-intensive NLP tasks. In Proceedings of the 34st International Conference on Neural Information Processing Systems, page 9459-9474.

[5] Suchin Gururangan, Ana Marasovic, Swabha Swayamdipta, Kyle Lo, Iz Beltagy, Doug Downey, Noah A. Smith. 2020. Don't stop pretraining: Adapt language models to domains and tasks. In Proceedings of the 58th Annual Meeting of the Association for Computational Linguistics, pages 8342-8360.

[6] Jacob Devlin, Ming-Wei Chang, Kenton Lee, and Kristina Toutanova. 2019. 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), pages 4171-4186.

[7] Diederik P. Kingma and Jimmy Ba. 2015. Adam: A method for stochastic optimization. CoRR, arXiv preprint arXiv:1412.6980.


# 大規模言語モデルを用いた関連研究セクション生成

葉原龍生 ${ }^{1}$ 杉山弘晃 ${ }^{2}$ 堂坂浩二 ${ }^{3}$ 田中陸斗 ${ }^{3}$ 平博順 ${ }^{1}$
${ }^{1}$ 大阪工業大学大学院 ${ }^{2} \mathrm{NTT}$ コミュニケーション科学基礎研究所 ${ }^{3}$ 秋田県立大
\{m23a10, hiroto. shitaira\}@oit.ac.jp h. sugi@ieee.org
\{dohsaka, m24p010\}@akita-pu. ac. jp

## 概要

科学論文が増加している中，論文執筆支援に注目が集まっている．論文執筆支援における部分タスクとして, 関連研究セクションの文章生成がある. 関連研究セクションの文章生成に関する研究は, 言語モデルの入力トークン数の制限から，そのほとんどが単一の引用文生成に焦点を当てていた. 本研究では, 入力トークン数の上限が上がった最新の大規模言語モデルを用いて, 関連研究セクション全体の文章生成を試みた。また, 人手による文章品質の評価と相関が高いと言われている G-EVAL と呼ばれる評価手法により, 文章生成結果についての品質評価および分析を行った.

## 1 はじめに

科学論文は年々増加傾向にあり, 自分の研究に関連する論文をすべて網羅して研究を遂行したり, 論文執筆を行ったりすることが困難になりつつある.

自然言語処理技術などの情報処理技術を利用した研究遂行支援や論文執筆支援への期待は以前よりも高まっている.

論文執筆支援に関しては Narimatsu ら[1]がいくつかの部分タスクに分け, 各部分タスクの定義をおこなっている. 本研究では, その 1 タスクである「関連研究セクション自動生成タスク」について取り上げる. このタスクは, 引用予定の参考文献情報を入力として, 執筆予定の論文における「関連研究 (Related works)セクション」の文章を自動作成する夕スクである．関連研究セクションの自動作成手法としては，大規模言語モデル（LLM）を用いた手法がある[2,3]. しかし，これまで LLM に入力可能なト一クン数には大きさの制限があり，与えられた 1 つの参考文献の引用を含んだ文（引用文）を生成する研究が多く, 関連研究セクション全体を生成させ, セクション全体として生成された文章に対して結束性などの文章品質の評価を行ったものはほとんどな
かった. 自然言語生成の研究における生成文章の評価については, 人手評価によるコストを避けるため, ROUGE やBLEU といった参照正解文との単語 n-gram を基本とした自動評価指標が広く用いられている [4]. 一方, これらの単語 n-gram を基本とした自動評価指標については，その限界も指摘されている. Reiter と Belz [5]は， ROUGE や BLEU などの自動評価指標が，必ずしも文章全体の品質を評価したものにはなっていないことを明らかにしている. また, Stent ら[6]もこれらの自動評価指標では, 文章の流暢性を正しく評価できないと主張している。

一方，Liu ら[7] は，大規模言語モデルの一つである GPT を利用して文章品質を評価する G-EVAL と呼ばれる評価手法を提案している．G-EVAL を用いて，要約タスクや対話生成タスクにおける文章生成結果を評価したところ，結束性，一貫性，流暢性，関連性などの様々な観点による評価に関して， ROUGE や BLEU といった既存の自動評価指標と比較して，人手評価との相関が高いことを示されている.

そこで本研究では，入力トークン数の上限が上がった最新の LLMを用いて, 関連研究セクション全体の文章を自動生成するとともに，G-EVAL による生成文章の評価を行い，関連研究セクション文章生成タスクにおける LLM 利用の有効性について，評価・分析を行う.

## 2 関連研究

## 2.1 自動生成された文に関する評価

論文中の関連研究セクション文章を自動生成する研究については，生成型要約モデルを用いて，与えられた 1 つの参考文献から引用文を生成する研究がある. AbuRa’ed ら[2]は, Pointer-Generator Network と Coverage Mechanismを組み合わせた引用文の生成手法を提案している. Pointer-Generator Network は, エンコードされる前のテキスト中の単語を参照して
生成テキストに含めることができるため，未知語を含む文に対しても高品質な文生成が可能になっている.また，単語の繰り返しにペナルティを与える Coverage Mechanism により, 同じ単語が何度も繰り返されるような文の生成を抑制している。さらに Xing ら[3] は, 引用文前後の文脈も考慮可能な PTGEN-Cross と呼ばれる手法を提案している.これらの手法はいずれも, 与えられた 1 の参考文献に対する引用文を生成する手法である.

一方, 実際の関連研究セクション文章に近い文章生成を行う研究として, Chen ら[8] の研究がある. Chen らは, グラフエンコーダを用いてターゲット論文と参考文献の関係をモデル化する手法を提案している.この研究では複数の引用を含む文生成も行っている. しかし, 使用しているデータでは, 参考文献の引用マーカーが一律に同一記号（\&）で置き換えられているため, 評価の際, 生成された文が, どの参考文献についての引用文であるか分からないという課題があった。

## 2.2 生成文章に対する自動評価手法

先に述べたように, 生成文章に対する評価手法としては ROUGE や BLEUが使われることが多いが，人手評価との相関は高くないと言われている. 最近では, 要約タスクなどのタスクで, BERTScore[9]のような, ニューラルネットワークによる，トークンの意味的類似度を利用したスコアも使用されるようになってきた. こうした正例と生成文との類似度に基づく評価手法は, 正例の空間が狭い問題に対しては有用である。一方, 関連研究セクション生成タスクのように, 正例の空間が広いタスクに対しては,適切に評価することは, 難しいと考えられる. そこで最近では, LLMを利用して, 正解の生成結果を用意しなくても生成文章を評価する手法が提案されている. Chiang ら[10]は, 物語生成タスクと敵対的攻撃生成タスクの結果に対して評価を行い, 専門家による評価と評価結果に相関が高いことを示している. また, Liu ら[5] は, 要約タスクおよび対話生成タスクにおける文章生成結果に対し, LLM の一つである GPT を使って正解生成文章なしに評価を行う

G-EVAL と呼ばれる評価手法を提案し, G-EVAL がその他のほとんどの自動評価手法より, 人手評価との相関が高いことを示している。

## 3 関連研究セクション生成

## 3.1 文章生成モデル

ベースラインモデル（Merged-Abs）：Related Work セクションで引用された全ての参考文献の Abstract を単純に連結して出力する. ただし, "We" といった引用文中で使用すると不適当になってしまう単語については, 正規表現による置き換えを行っている.

Llama2: 大規模言語モデルの一つである Llama2 [11] を使用した. 7 億から 70 億のパラメータまでの規模のモデルのうち, 最も Instruction の理解性能が高い Llama2-Chat 70B をべースとして使用した.このモデルに対し, LongLoRA[12]を利用して長文に対応したファインチューニングを行ったモデルを最終的に使用した。

GPT-3.5 Turbo, GPT-4 Turbo : 高いパフォーマンスを達成しているクローズドな大規模言語モデルとして GPT を使用した。具体的には, GPT-3.5 Turbo (gpt-35-turbo-16k-0613) と GPT-4 Turbo (gpt-4-1106-Preview) を使用して実験を行った.

## 3.2 文章生成の流れ

ターゲット論文と参考文献の内容を LLM に入力し, 関連研究セクションを生成する. 各論文の内容として, 本研究では各論文の Abstract を用いる. 文章生成モデルとしては, 上記の 4 つのモデルのいずれかを使用した. Llama2, GPT-3.5 Turbo, GPT-4 Turbo を使用した際には，適切であると考えられる Instruction をプロンプトとして与えた (付録 $\mathrm{A}$ 参照).

## 4 評価実験

## 4.1 評価用データ

評価実験に使用したデータは，プレプリントサー バ arXivに登録されている自然言語処理に関連し, Related Work セクションが存在する文献から任意に選択して独自に作成した. 各文献 (ターゲット文献) について, a) 文献の Abstract, b) Related Work セクションまたは Related Work セクションの下のサブセクションの文章, c) b)の文章に含まれる参考文献すべてについての Abstract の文章, を収集して作成した. 収集したターゲット文献の数は 30 である.

## 4.2 評価手法

生成文章に対する評価手法として，ROUGE および G-EVAL を使用した. G-EVAL については GPT-4 Turbo を用いて, 関連研究セクションに適応させたものを用い，以下の 3 つの項目それぞれで， 5 が最も高く, 1 が最も低いとする 5 段階評価を行った。文法 (Grammar) : 生成文章に対する文法的な正しさに対する評価.

事実性 (Factuality) : 生成文章が, ターゲット文献の Abstract や参考文献の Abstract の内容に反する事実が書かれていないか，不確実な内容，誤解を与える内容が書かれていないかについての評価. 入力には評価対象の生成文章とともに，ターゲット文献の Abstract，および参考文献の Abstractを与えた.

一貫性 (Coherence) : 生成文章が，ターゲット論文の主張内容を正しくサポートしつつ, 論理的に適切な順序で参考文献を引用する文章になっているかについての評価. 入力には評価対象の生成文章とともに，ターゲット論文の Abstract を与えた.

## 4.3 実験結果

表 1 に，4つのモデルそれぞれで生成した，関連研究セクション文章に対する, G-EVAL による評価スコアと ROUGE スコアの値を示す。一般的には， GPT-3.5 Turbo よりの GPT-4 Turbo の方が文章生成品質は高いとされているが，ROUGE スコアで見ると，ROUGE-1, 2, L のすべてで，逆の評価になっている。一方，G-EVAL による評価では， Grammar， Coherence $の$ 項目で, GPT-3.5 Turbo より GPT-4 Turbo による生成結果の方が高い評価となっており， G-EVAL により GPT-3.5 Turbo と GPT-4 Turbo の性能の優劣を正しく評価できていることが推察できる. また, Marged-Abs モデルによる生成文章に対しては, Factuality スコアが高く, Coherence スコアは低く評価されている. Marged-Abs モデルは, 参考文献間の関連性について説明した文を生成しておらず，ター ゲット論文の内容をそのまま用いている。誤った内容は含まれないため，適切な評価がされているといえる. Marged-Abs モデルの生成文章に対する Grammar スコアは,他のモデルより低くなっている. これは, Marged-Abs モデルにおいて参考文献の Abstract を連結する際，一部の参考文献について， OCR の文字認識誤りによって Abstract の読み取りに失敗した文字列が含まれていたためと考えられる。

図 1 に関連研究セクション文章生成結果の一つを示す.この結果は，文献[5]をターゲット論文としたときの Related Work セクション中の Ngram-based Metrics のサブセクションの文章を Llama2, GPT-3.5 Turbo, GPT-4 Turbo モデルで生成したときの結果である. 生成時に, Instruction ととも与えた参考文献の Abstract の順番は, Papineni et al., 2002, Stent et al., 2005, Reiter and Belz, 2009, Kasai et al., 2021, Lin,2004 の並びである.

Llama2 の生成例を見ると, 参考文献の出版年が欠けていることが分かる。これはほとんどの生成例にみられ，表 1 における Grammar スコアや Factuality スコアを低下させる原因の一つになっていると考えられる. また, “Papineni et al. (202) which proposes” は三人称複数形であるのに対して三人称単数形の proposes が使用され誤っている.これらは, G-EVAL で正しく指摘されている。 さらに，事実性の観点では，参考文献中で使用されているデータセットに関する統計情報, 達成した精度など具体的な数值が間違っている場合や，ターゲット論文の内容が，参考文献の内容と混同されているような記述がある例も確認された. その結果, Llama2 の生成文章に対する Factuality スコアが GPT-3.5 Turbo, GPT-4 Turbo と比べて低くなっていることが考えられる。また，一貫性の観点では，参考文献を紹介しているが，ターゲット論文とどのように関連しているかを示さず，参考文献を，与えた順番通りに説明しているため，一貫性のスコアが低いと考えられる。次に，GPT-3.5 Turbo モデルによる生成文章を確認すると，文法的には問題がなくまた流暢な文章であることが分かった. また，与えた参考文献に関する記述にも誤りが

表 1 実験結果

## Llama2:

The proposed G-EVAL framework is related to the work by Papineni et al. (202) which proposes a method of automatic machine translation evaluation that is quick, inexpensive, and language-independent, that correlates highly with human evaluation and that has little marginal cost per run. Stent et al. (05) compare the performance of several automatic evaluation metrics using a corpus of automatically generated paraphrases and show that these metrics can at least partially measure adequacy (similarity in meaning) but are not good measures of fluency (syntactic correctness). Reiter and Belz (09) review previous work on NLG evaluation and on validation of automatic metrics in NLP and then present the results of two studies of how well some metrics which are popular in other areas of NLP (notably BLEU and ROUGE) correlate with human judgments in the domain of computer-generated weather forecasts. Their results suggest that, at least in this domain, metrics may provide a useful measure of quality, although the evidence for this is not as strong as they would ideally like to see; however, they do not provide a useful measure of content quality. Lin (04) introduces ROUGE, a package for evaluating summarization systems that includes measures to automatically determine the quality of a summary by comparing it to other (ideal) summaries created by humans.

## GPT-3.5 Turbo

Papineni et al. (2002) propose an automatic machine translation evaluation method that is quick, inexpensive, and correlates highly with human evaluation. Stent et al. (2005) compare the performance of automatic evaluation metrics for generation systems that produce syntactic variation. Reiter and Belz (2009) review previous work on NLG evaluation and the validation of automatic metrics, specifically in the domain of computer-generated weather forecasts. Kasai et al. (2021) argue for a generalization of leaderboards, called BILLBOARDs, that track progress in language generation models and metrics for evaluation. They propose an ensemble metric that selects and combines multiple metrics based on a global analysis across generators. Lin (2004) introduces the ROUGE measures for summarization evaluation, which compare computer-generated summaries to ideal summaries created by humans.

## GPT-4 Turbo

Papineni et al. (2002) introduced BLEU, an automatic, quick, and inexpensive metric for machine translation evaluation that correlates with human evaluations. Similarly, Lin (2004) proposed ROUGE, a set of metrics for evaluating the quality of summaries by comparing them to human-generated reference summaries. Both BLEU and ROUGE have been widely adopted in the field, but they primarily rely on n-gram overlap, which may not fully capture the quality of generated text, especially in tasks requiring creativity and diversity. Stent et al. (2005) and Reiter and Belz (2009) have both highlighted the limitations of automatic metrics like BLEU and ROUGE. particularly in their ability to measure fluency and content quality, respectively. Stent et al. (2005) focused on the challenge of evaluating syntactic variation in generated text, while Reiter and Belz (2009) examined the correlation of these metrics with human judgments in the domain of computer-generated weather forecasts, finding that they may not provide a useful measure of content quality. Kasai et al. (2021) addressed the limitations of evaluation methodologies by proposing bidimensional leaderboards (BILLBOARDs) that track progress in both language generation models and evaluation metrics. Their approach involves creating an ensemble metric that combines various metrics based on their correlation with human judgments, acknowledging the need for metrics to evolve as generation models improve.

ないことを確認した. しかし, Llama2 モデルによる生成文章と同様，与えられた参考文献の Abstract の順番通りに引用が行われた上，ターゲット論文との差異についての文は含まれておらず，ターゲット論文の主張をサポートした文章となっていない. 最後に GPT-4 Turbo の生成例を見ると, GPT-3.5 Turbo 同様，文法には問題がなく, 事実性に関しても誤りがないことが確認された。一貫性に関しては, Llama2, GPT-3.5 Turbo による生成文章とは異なり, 参考文献を与えられた順番通りに引用するのではなく, BLEU, ROUGE について紹介した後, BLEU, ROUGE の評価手法の制限を引用し, Kasai らの複数メトリックスを使用した手法について順序立てて引用していることが分かった.このような例は他にも見られ， GPT-4 Turbo による生成文章の方が，Llama2, GPT-3.5 Turbo による生成文章よりも，ターゲット論文の主張をサポートするように文章が構成されていることが分かった.

## 5 おわりに

Llama2, GPT-3.5 Turbo, GPT-4 Turbo などの大規模言語モデルにおいて，関連研究セクション全体の文章生成を行い，引用文献の内容をカバーする一定レベルの生成は行えることを確認した. また, GPT-4 Turbo が，特に一貫性の観点で他のモデルより優れていることが分かった。さらに，G-EVALを用いた生成文章の品質評価を行い，生成結果と評価結果を比較したところ, GPT-3.5 Turbo と GPT-4 Turbo の優位性を妥当に評価し，G-EVAL が関連研究セクション生成のタスクにおいても有用である可能性が高いことが分かった。今後はこれらの評価手法をべースに，より良い関連研究セクション生成手法について提案を行っていく予定である。

## 参考文献

[1] Hiromi Narimatu, Kohei Koyama, Kohji Dohsaka, Ryuichiro Higashinaka, Yasuhiro Minami, and Hirotoshi Taira. Task Definition and integration for scientific document writing support. In Proceedings of the Second Workshop on Scholarly Document Processing, pp.18-26, Online, June 2021. Association for Computational Linguistics.

[2] Ahmed AbuRa'ed, Horacio Saggion, Alexander Shvets, and Alex Bravo. Automatic related work section generation: experiments in scientific document abstracting. Scientometrics 125, 3, pp. 3159-3185. 2020.

[3] Xinyu Xing, Xiaosheng Fan, and Xiaojun Wan. Automatic generation of citation texts in scholarly papers: A pilot study. In Proceedings of the 58th Annual Meeting of the Association for Computational Linguistics. pp. 6181-6190. 2020.

[4] Jungo Kasai, Keisuke Sakaguchi, Ronan Le Bras, Lavinia Dunagan, Jacob Morrison, Alexander R Fabbri, Yejin Choi, and Noah A Smith. Bidimensional leaderboards: Generate and evaluate language hand in hand. arXiv preprint arXiv:2112.04139, 2021

[5] Ehud Reiter and Anja Belz. An investigation into the validity of some metrics for automatically evaluating natural language generation systems. Computational Linguistics, pp. 529-558. 2009.

[6] Amanda Stent, Matthew Marge, and Mohit Singhai. Evaluating evaluation methods for generation in the presence of variation. In Proceedings of the 6th international conference on Computational Linguistics and Intelligent Text Processing, pp. 341-351. 2005

[7] Yang Liu, Dan Iter, Yichong Xu, Shuohang Wang, Ruochen Xu, and Chenguang Zhu. G-Eval: NLG Evaluation using Gpt-4 with Better Human Alignment. In Proceedings of the 2023 Conference on Empirical Methods in Natural Language Processing, pp. 2511-2522, 2023. Singapore. Association for Computational Linguistics.
[8] Chen, Xiuying, Hind Alamro, Mingzhe Li, Shen Gao, Rui Yan, Xin Gao, Xiangliang Zhang. Target-aware Abstractive Related Work Generation with Contrastive Learning. Proceedings of the 45th International ACM SIGIR Conference on Research and Development in Information Retrieval. pp. 373-383. 2022.

[9] Tianyi Zhang and Varsha Kishore and Felix Wu and Kilian Q. Weinberger and Yoav Artzi.

BERTScore: Evaluating Text Generation with

BERT, arXiv preprint arXiv: 1904.09675v3, 2020.

[10] Cheng-Han Chiang and Hung-yi Lee. Can Large Language Models Be an Alternative to Human Evaluations?. In Proceedings of the 61st Annual Meeting of the Association for Computational Linguistics (Volume 1: Long Papers), pp. 15607-15631, Toronto, Canada. Association for Computational Linguistics. 2023.

[11] Touvron et al. Llama 2: Open Foundation and Fine-Tuned Chat Models, arXiv preprint arXiv: 2307.09288, 2023.

[12] Yukang Chen, Shengju Qian, Haotian Tang, Xin Lai, Zhijian Liu, Song Han, Jiaya Jia. LongLoRA: Efficient Fine-tuning of Long-Context Large Language Models, arXiv preprint arXiv:2309.12307, 2023

## 付録 A 生成プロンプト例

Generate a related work section based on the provided summaries of the reference papers and the target paper. The references include $\{[$ ここに論文のリストを入力 $]\}$. In the related work section, compare these papers with the target paper and succinctly describe the positioning of the target paper in one paragraph. Group together references with similar content if applicable.

Provide a concise response.

The abstract of target paper: [ここにターゲット論文のAbstractを入力]

The abstract of $\{[$ ここに参考文献にの引用を入力] $\}$ ： [ここに参考文献のAbstractを入力]

The abstract of $\{[$ ここに参考文献にの引用を入力] $\}$ ：［ここに参考文献のAbstractを入力]

..

related work:

## 付録 B Llama2による生成文章に対する G-EVAL 評価の出力例

Grammar

Specific instances of grammar errors:

1. The citation format is inconsistent (e.g., "Papineni et al. (202)" should likely be "Papineni et al. (2002)" and "Stent et al. (05)" should likely be "Stent et al. (2005)"). However, this is more of a formatting issue than a grammar error.

2. The phrase "the authors also propose analysis on the behavior" would be more grammatically correct as "the authors also propose an analysis of the behavior."

... (略)

Score for Grammar: 4

The paragraph is well-written with only minor grammatical issues that do not significantly impede comprehension. The errors noted are relatively minor and do not detract from the overall quality of the writing.

## Factuality

Specific instances of factuality errors:

1. The citation for Papineni et al. is incorrect in the paragraph. It should be Papineni et al. (2002) instead of Papineni et al. (202).

2. The citation for Stent et al. is incorrect in the paragraph. It should be Stent et al. (2005) instead of Stent et al. (05). (略)

Score for Factuality: 3

The paragraph is generally accurate in describing the context and findings of the target paper and related work, but there are several citation errors.

## Coherence

Specific instances of coherence errors:

1. The paragraph introduces the work of Papineni et al. (202), Stent et al. (05), Reiter and Belz (09), and Lin

(04) without clearly connecting how these works relate to the proposed G-EVAL framework, which can confuse the reader about the progression of ideas.

2. The transition between discussing the limitations of existing metrics and the introduction of previous studies is abrupt, lacking a smooth narrative that guides the reader through the evolution of the field.

(略)

Score for Coherence: 3

The paragraph generally integrates references coherently, but there are instances where the connection between the target paper's claims and the cited works could be improved. The abrupt introduction of related works without clear connections to the proposed framework detract from the overall coherence.


# コード生成のための大規模言語モデルを用いた検索手法

中原康宏 宮下大輔出口淳
キオクシア株式会社
yasuhiro1.nakahara@kioxia.com

## 概要

Large Language Model によるプログラムコード生成は有用であるが，LLM が持つ情報の更新には膨大なコストが必要である。この課題に対応するために，関連する情報を検索し LLMへの入力に追加する手法が提唱されており，コード生成の分野では BM25 などのべクトル検索を用いた手法が成果を挙げている。しかし， GitHubのような Web サイトをデータベースとする場合，全データを手元に置く必要のあるべクトル検索はデータ収集に膨大なコストを必要とし，常に情報を最新に保つことは困難である. よって, 本論文では GitHub API がサポートしている既存の Web 検索と LLM を用いた検索手法を提案する。これにより, 提案する手法は低コストで常に最新の情報にアクセスすることができる. 本手法は Web 検索と LLM を組み合わせる際に生じるいくつかの典型的な課題にも対応している. 提案手法を評価した結果, 有用なリポジトリを見つけ出すことができたことを確認した.

## 1 はじめに

近年，Large Language Model (LLM) によるプログラムコード生成が大きな注目を集めている [1]. そのため，コード生成に向けた LLM が多数リリースされている $[2,3,4]$. しかし, これらのコード生成用 LLM は情報更新のために高いコストを必要とする点が課題である. プログラミングの世界では日々新規ライブラリの提案やライブラリの更新がなされている。コード生成用 LLM がこれらの更新を取り入れるためには，一般的には学習と呼ばれる時間的，電力的に高コストな処理が必要である [5]. よって,最新のライブラリに対応するために頻繁に LLM を更新することは難しい.

この課題を解決するために，LLM と検索を組み合わせた Retrieval Augmented Generation (RAG)[6] という手法が提唱されている. RAG は LLM の処理に関連する情報を検索し，その検索結果を LLMへの入力に含めることで LLM に追加の情報を与える手法である.これにより，LLM は学習することなく最新の情報を反映したコードを生成することができる. 先行研究 $[7,8,9]$ では検索に BM25[10] や Dense Passage Retrieval (DPR)[11] などのべクトル検索を用いた RAGによってコード生成の性能向上を達成している。しかし，これらの手法では Web サイトをデータベースにすることは難しい。なぜなら，DPR やBM25を実行するためにはデータベースの全情報を参照する必要があるためである．そのため，Web サイトをデータベースとする場合は検索のために全ての情報を一度ダウンロードしなければならない。 これは多大な時間的コストを必要とし，情報を最新に保つために頻繁に行うことは現実的ではない。また，本行為は Web サイトの利用規約により禁止されている場合もある. GitHub や StackOverflow などプログラマにとって有用な情報源となる Web サイトは多くあるため，これは重要な課題である。

これを回避するための手法の一つとして, Web サイト側が提供している検索機能を利用する手法が挙げられる。，例えば，GitHub は「LLM chat」などとキーワードを用いて検索するキーワード検索を Application Programming Interface (API) で提供している.キーワード検索を活用することで，最新の情報を低コストで取得できる.だが，キーワード検索にも大きく2つの課題が存在する. 1 つは検索結果からデータを更に絞り込む必要がある点である. べクトル検索では最も類似度の高いデータを選択すればよいが，キーワード検索では複数の検索結果から 1 つを選ぶ必要がある。この際，正しく有用な情報を選べなければ，生成コードの品質を向上させることはできない [12]. 本論文ではこの課題に対して LLM を用いて有用なデータの絞り込みを行うことで対応する。この際に生じる 2 つ目の課題が，LLM に入力可能な文字数が限られている点である.この課題に対しては，絞り込みの際に以下の 3 つの工夫

図 1 提案手法の処理の流れ

点をツールに組み込み，LLM に一度に入力する文字列の長さを削減することで対応する.

・絞り込みを 2 段階に分割

・LLM で README.md を要約してから比較

・コードをプロンプトに含めずに絞り込む

RAG の有効性は先行研究 $[7,8]$ によって既に明らかにされているため, 本稿では検索手法に注目して議論を行う．データベースとする Web サイトは最新のライブラリやコード例が多数投稿されている GitHub とする. LLM で生成した 10 個の要望対して本手法を用いて検索を行った結果，8 個の要望について有用なリポジトリを選択でき，6個の要望について有用なコードを選択することができた。

## 2 提案手法

## 2.1 概要

本手法は GitHub APIを用いて Web 検索を行った後に検索結果を絞り込み，コード生成に有用ないくつかの pythonファイルを提案する手法である. Web 検索で使用するキーワードの生成や検索結果の絞り込みにはLLM を用いる. python ファイルの提案までの工程は全自動で実行され，ユーザは要望を入力するだけで良い.

LLM に入力できるトークンの数には限りがあるため, 本手法では絞り込みの際に以下に示す 3 点を考慮して絞り込みのアルゴリズムを構築している。 1 点目は絞り込みを 2 段階に分けている点である.全ての情報を加味して一度に必要なデータを判断することが，判断の正確性という点では良い手法であると考えられる。しかし，トークン数の制限を考慮すると LLM に一度に与えるデータは少ないほうが良い.そのため, 本手法ではリポジトリの絞り込みとファイルの絞り込みの 2 段階に分割して絞り込みを行う。

2 点目は LLM でリポジトリの絞り込みを行う際に，README.md 本体でなくその要約を入力に使用する点である.リポジトリの内容を理解するために README.md は有用であるが，その大きさはリポジトリごとに大きく異なる。よって，比較のために複数の README.mdを読み込んだ場合，リポジトリによってはトークン数の制限を超えてしまう可能性がある.したがって，LLMを用いて README.md を短く要約することで，トークン数を削減している。

3 点目はプログラムコードを LLM に読み込ませないという点である. プログラムの規模はリポジトリによって大きく異なるため，大規模なリポジトリのコードを LLM に読み込ませるとトークン数の制限を超えてしまう可能性がある. よって，本手法ではコード本体ではなく README.md やファイル名などを絞り込みのための指標としている。

## 2.2 処理の流れ

本節では，提案手法の処理の流れを具体例を用いて述べる。例で用いるユーザの要望は「OpenCALM を用いたチャットボット」とする。要望の詳細は付録 A に示す. 提案手法の処理の流れを図 1 に表す.

まず，提案ツールはLLMを用いて要望からシンプルな 3 つの検索キーワードを作成する. チャットボットの例では “chatbot”, “OpenCALM”, “log”の3つのキーワードが生成された. その後, GitHub API を用いてこれらのキーワードを組み合わせた 6 パターンの検索を行う.チャットボットの例では "chatbot”, "OpenCALM", "log", "chatbot

OpenCALM", "chatbot log", “OpenCALM log”を検索に用いる.キーワードを組み合わせるのは “app”, “list”，“log”など単体では意味をなさないキーワー ドを生成する場合があるためである. これらのキー ワードで検索した結果からそれぞれ指定した件数のリポジトリを手元にダウンロードする。検索の際, リポジトリは python を使用言語としているものを指定して検索している.

次に，検索結果から有用なりポジトリを絞り込む. 最初に各リポジトリの README.md を 200 単語程度にLLMを用いて要約する. 要約の際に README.md が LLM に入力可能なトークン数の上限を超える場合，トークン数が収まるように文末から文字列を削ることで対応する．その後，LLM を用いて有用なリポジトリを絞り込む．この際，LLM に入力する情報はリポジトリのタイトル及び要約のリストである．チャットボットの例では 3 つのリポジトリ $[13,14,15]$ に絞り込まれた.これらのリポジトリはいずれも OpenCALM をダウンロードして推論までを実行するコードを含むリポジトリであるため，コード生成に有用である。コード生成は絞り込んだリポジトリそれぞれに対して行い，その中から最も要望に近い物を採用する。

最後に，それぞれのリポジトリについて有用なファイルを絞り込む。はじめに，各リポジトリから pythonファイルを抽出し，それらの名称をリストアップする.リストアップの際は, [src/xxx/aaa.py, examples/bbb.ipynb] のようにリスト形式でファイルのパスを列挙する. その後, リポジトリ名, README.mdファイル，リストアップしたファイル名をLLM に入力し, 最良のファイルを選択する.以上の手順により絞り込んだファイルを要望とともに LLM に入力することで，リポジトリの情報を加味したコード生成を行うことができる.

## 3 評価

## 3.1 評価条件

まず，先に述べたトークン数を削減するための 3 つの工夫点について, それらの有効性について評価する. 評価のためのユーザの要望は LLM を用いて作成した. この時，恣意的な評価とならないよう要望の具体的な内容は指定しない. 要望の詳細は付録 B に示す.この要望について検索までを行い，絞り込みの対象となったリポジトリの README.md や python コード，リポジトリ内に存在する python ファイルのリストについてのトークン数を評価する.

次に，提案ツールがどの程度要望から適切なコー ドを検索できるのかについて評価を行う．コード生成に対する RAG の有効性は既に示されているため $[7,8]$, 本評価では検索にのみ注目して評価を行う. トークン数の評価で使用した 10 個の要望に対して,有用なリポジトリをいくつ検索できたかを評価する. 提案システムが選択したリポジトリ，ファイルについてそれらが要望を達成するために有用であるかを人間1) が有用，一部有用，使用不可の 3 段階で評価する. 少しのコード修正で要望を達成可能なものを有用，要望達成のためにある程度機能の追加が必要なものを一部有用，要望の達成に使用できないものを使用不可とする. リポジトリとファイルの絞り込みにおいて，それぞれ最小 1 つ，最大 3 つのものを提案するようにLLM に指示する。提案システムが一つの要望に対して複数のリポジトリやファイルを提案した場合, 最も良い結果を最終結果とする. LLM は GPT-3.5 turbo（ver. 0613）を使用する.

## 3.2 評価結果と考察

リポジトリがもつデータ量についての評価結果を表 1 に表す. 表 1 より, pythonファイルのトー クン数の中央値は 10,045 であった. 今回使用する GPT-3.5 turbo が扱えるトークン数は 4,096であるため, 半数以上のリポジトリでコードを扱うことができない. 詳細を確認した結果，入力トークン数が 4,096 以下のリポジトリは約 $34 \%$ であった. 出力トークン数も加味すると, python ファイルを処理可能なリポジトリの割合は更に減少すると考えられる.よって，絞り込みのために python コードを LLMに入力することは難しいと言える.

また，README.md のトークン数は中央值で 583 であった. 仮に中央值である 25 個のリポジトリ間での比較を行った場合，トークン数は 14,575 となり上限を大きく超える. 対して要約のトークン数は中央値で 100 と大きく削減されており, 同様の比較を行った場合トークン数は 2,500 と処理可能な範囲内に収まる。このように，README.mdを要約する手法はトークン数削減に有効であることが分かる.

次に，ファイルリストのトークン数に注目すると, 中央値が 72 と少ない. しかし, リポジトリの絞り込みとファイルの絞り込みを一度に行おうとする

表 1 リポジトリがもつデータ量についての評価結果

 & $0(0)^{\mathrm{b}}$ & $205,736(826,109)$ & $8,069,997(33,260,608)$ & $11,045(40,469)$ \\

${ }^{a}$ README.md が無い場合，要約でその旨を記述するため文字数が 0 ではない.

$\mathrm{b}$ 検索結果に python ファイルを持たないリポジトリが存在したため.

${ }^{c}$ python ファイルが存在しない場合，ファイルリストは [] と記述するため.

表 2 検索結果の有用性についての評価結果

と（README.md 要約＋ファイルリスト）×（リポジトリ数）のデータが必要となるため中央值で計算してもトークン数の上限に達してしまう. 対して絞り込みを分けた場合，要約の代わりに README.md 本体を使用したとしてもトークン数に十分な余裕が生まれる. 加えて, README.md にはファイルの絞り込みに有用なデータが含まれていることも多くあり，README.md 本体を使用することによる精度向上も見込める。そのため，絞り込みを 2 段階にすることはツールの安定実行に貢献すると考えられる.

本稿で提案した検索の有用性についての評価結

6/10 の割合でコード生成に有用な情報を取得することができた. 一方で，一部の要望については有用な情報を取得することができなかった.これは， GitHub 上に求めるリポジトリが少ないことが原因の一つだと考えられる. 例えば買い物リストアプリの場合，生成された検索キーワードは “shopping”, “list”, “application”と妥当なものであるが，検索結果はショッピングサイト向けのカートの実装が殆どであり求めるリポジトリは存在しない. 交通状況アプリについても同様であった.

また，コード選択で誤ったものを選択しているケースもあった. 本ケースでは example.py など使用例を示したコードを選択せず，func.py などプログラムの一部を指定した. このようなファイルは有用である場合もあるが使用例などよりは有用度は低い.

また，有用な情報を取得できないケースとして，大規模なリポジトリを選択したというケースもあった. プログラムが大規模である場合，一部のファイルを参考にしてもその活用に別のファイルの情報を必要とする場合が多い。よって，どのファイルを選択してもコード生成の参考にはならない.

これらの絞り込みに失敗したケースについては，要望と合致するリポジトリが検索結果に存在しないケースを除き，検索する範囲，LLM に与える情報， LLM 入力するプロンプトの文言などを調整することで対応可能であると考えられる.

以上より，提案手法は 3 つの工夫点により LLM のトークン数制限を回避しながら情報の絞り込みができる事が分かった．また，本手法は要望に合致するリポジトリが多く存在する場合には，有用な情報にアクセスできると言える。

## 4 おわりに

本稿では RAG のための新たな検索手法を提案した. 本手法は Web 検索と LLM を組み合わせた検索手法であり, 先行研究の課題である情報を最新に保つことが困難であるという点を解決している. また，提案手法は Web 検索導入に伴ういくつかの課題に対応している. LLM を用いて生成した 10 種の問題に対して本手法を適用した結果，8/10で適切なリポジトリを，6/10で適切な python ファイルを選択することができた. よって，本手法は要望と合致したリポジトリが多く存在する場合において有望であると言える。また，今後取り組むべき課題として絞り込みが失敗するケースにいくつかのパターンがあることが確認できた.

## 参考文献

[1] Bei Chen, Daoguang Zan, Fengji Zhang, Dianjie Lu, Bingchao Wu, Bei Guan, Yongji Wang, and Jian-Guang Lou. Large language models meet nl2code: A survey. In ACL 2023, June 2023.

[2] Yue Wang, Hung Le, Akhilesh Deepak Gotmare, Nghi D.Q. Bui, Junnan Li, and Steven C. H. Hoi. Codet5+: Open code large language models for code understanding and generation. arXiv preprint, 2023.

[3] Ziyang Luo, Can Xu, Pu Zhao, Qingfeng Sun, Xiubo Geng, Wenxiang Hu, Chongyang Tao, Jing Ma, Qingwei Lin, and Daxin Jiang. Wizardcoder: Empowering code large language models with evol-instruct. arXiv preprint arXiv:2306.08568, 2023

[4] Baptiste Rozière, Jonas Gehring, Fabian Gloeckle, Sten Sootla, Itai Gat, Xiaoqing Ellen Tan, Yossi Adi, Jingyu Liu, Tal Remez, Jérémy Rapin, Artyom Kozhevnikov, Ivan Evtimov, Joanna Bitton, Manish Bhatt, Cristian Canton Ferrer, Aaron Grattafiori, Wenhan Xiong, Alexandre Défossez, Jade Copet, Faisal Azhar, Hugo Touvron, Louis Martin, Nicolas Usunier, Thomas Scialom, and Gabriel Synnaeve. Code llama: Open foundation models for code, 2023.

[5] Or Sharir, Barak Peleg, and Yoav Shoham. The cost of training nlp models: A concise overview, 2020.

[6] Linmei Hu, Zeyi Liu, Ziwang Zhao, Lei Hou, Liqiang Nie, and Juanzi Li. A survey of knowledge enhanced pre-trained language models. IEEE Transactions on Knowledge and Data Engineering, pp. 1-19, 2023.

[7] Md Rizwan Parvez, Wasi Uddin Ahmad, Saikat Chakraborty, Baishakhi Ray, and Kai-Wei Chang. Retrieval augmented code generation and summarization. In Findings of the Association for Computational Linguistics: EMNLP 2021, pp. 2719-2734, 2021.

[8] Shuyan Zhou, Uri Alon, Frank F. Xu, Zhiruo Wang, Zhengbao Jiang, and Graham Neubig. Docprompting: Generating code by retrieving the docs. In International Conference on Learning Representations (ICLR), Kigali, Rwanda, May 2023.

[9] Shuai Lu, Nan Duan, Hojae Han, Daya Guo, Seung won Hwang, and Alexey Svyatkovskiy. Reacc: A retrievalaugmented code completion framework, 2022.

[10] Stephen Robertson and Hugo Zaragoza. The probabilistic relevance framework: Bm 25 and beyond. Found. Trends Inf. Retr., Vol. 3, No. 4, p. 333-389, apr 2009.

[11] Vladimir Karpukhin, Barlas Oğuz, Sewon Min, Patrick Lewis, Ledell Wu, Sergey Edunov, Danqi Chen, and Wen tau Yih. Dense passage retrieval for open-domain question answering, 2020.

[12] Shangwen Wang, Mingyang Geng, Bo Lin, Zhensu Sun, Ming Wen, Yepang Liu, Li Li, Tegawendé F. Bissyandé, and Xiaoguang Mao. Natural language to code: How far are we? In Proceedings of the 31st ACM Joint European Software Engineering Conference and Symposium on the Foundations of Software Engineering, ESEC/FSE 2023, p. 375-387, New York, NY, USA, 2023. Association for Computing Machinery.
[13] Github: naltoma/open-calm-finetuning, (202312 閲覧）. https://github.com/naltoma/ open-calm-finetuning.

[14] Github: miyakei1225/OpenCALM-7B-SandBox, (202312 閲覧）. https://github.com/miyakei1225/ OpenCALM-7B-SandBox.

[15] Github: hirok-to-i/CALM_CA_LLM_CPU_API, (202312 閲覧）. https://github.com/hirok-to-i/CALM_ CA_LLM_CPU_API.

## A 処理の流れで用いた要望

## 2.2 節で例として使用した要望を以下に示す.

Create a chatbot using OpenCALM.

OpenCALM is a large language model.

The program flow is as follows

1. wait for input from the user.

2. input the user input to OpenCALM and print the OpenCALM's answer.

3. return to 1 .

Add the previous conversation to the input from the user before entering it into OpenCALM so that OpenCALM can remember the previous conversation. Save the conversation in log.txt.

## B 評価に用いた要望

評価で用いた 10 個の要望は GPT-3.5 turbo（ver. 0613）に以下のプロンプトを与えて作成した. “生徒にプログラムを作成させる問題を作りたい。ユーザがこういうプログラムを作りたいと要望している風の問題をいくつか作ってほしい。解かせるためだけのプログラムではなく実用的なプログラムが良い。”

作成した 10 個の要望を表 3 に示す. 生成された要望は日本語であったが，トークン数削減のため英語に翻訳している.

表 3 LLMを用いて生成したユーザの要望

 \\


# RLHF を用いた「面白い」短歌の自動生成の試み

羽根田賢和 ${ }^{1}$ 浦川通 ${ }^{2}$ 田口雄哉 ${ }^{2}$ 田森秀明 ${ }^{2}$ 坂口慶祐 ${ }^{1,3}$
1 東北大学 2 株式会社朝日新聞社 3 理化学研究所
haneda.kento.t6@dc.tohoku.ac.jp keisuke.sakaguchi@tohoku.ac.jp
\{urakawa-t, taguchi-y2, tamori-h\}@asahi .com

## 概要

自然言語処理技術の発展は小説などの文学作品の自動生成を現実的なものとしている。一方で短歌におけるモーラ数のような制約を満たしつつ，高い芸術性を有する文学作品を生成することは，既存の言語モデルでは容易ではない。本研究ではこの課題に対する解決策として RLHF による学習を用いた短歌の自動生成モデルを提案する。人間の短歌に対する評価を反映した報酬モデルの学習とこれを用いた生成モデルの強化学習により，短歌らしい系列長を有し，かつ人間に「面白い」と判断されやすいような短歌の自動生成が可能となった.

## 1 はじめに

自然言語処理技術の発展に伴い，大規模言語モデルは対話生成をはじめとした多種多様なテキストの生成が可能となっている. ChatGPTに代表されるこれらの生成モデルの利用法として, 小説や詩といった文学作品の自動生成が挙げられる. Belouadi ら [1] は，ByGPT5 というモデルを用いて，韻や拍子といった特有の制約を満たす高品質な四行詩の自動生成を達成している. また, Takeishi ら [2] の研究では日本の文学作品の自動生成への取り組みとして, Transformerを用いた和歌の自動生成が試みられている.このような文学作品の生成モデルは創作活動の手助けや鑑賞の多様化に寄与すると期待される.

日本における文学作品の主要な形態の一種として短歌が挙げられる. 短歌は 5-7-5-7-7 の 5 句 31 音からなる定型詩であり，古来より広く親しまれている。一方で短歌は定型詩である関係上，成立にはモーラ数という制約を満たす必要があり，この性質が短歌の自動生成における課題 [3] となっている. ChatGPT をはじめとした大規模言語モデルは文字数のカウントといったタスクを苦手とすることが報告されており [4,5], 定型詩としての制約を満たす短

図1学習の経過と生成された短歌の例. カッコ内の数値は学習済み報酬モデルによるスコア。

歌を生成させることは容易ではない.

また「面白い」短歌を生成することが困難であることも大きな課題 [6] である。一般に文学作品は良し悪しの定量的な評価が難しい. 俳句における季語のように，内容への制約が存在しない短歌では評価の自由度が高く，この問題が顕著である. 文学作品として生成された短歌には，独創性や写実性など鑑賞対象として豊かな表現が求められる. しかし既存の言語モデルの多くには雑談のような自然な会話を目指す学習がなされており，モーラ数の制約を満たしたとしても，芸術的な短歌は生成されにくい.

本研究では，これらの課題に対する解決策として "Reinforcement Learning from Human Feedback" （RLHF，人間からのフィードバックを用いた強化学習）を用いた短歌生成モデルを提案する。一連の学習を通じて短歌らしい系列長をモデルに学習させるとともに，人間の好みを反映させることにより，定量的に判定することが難しい短歌の「良し悪し」を人間の好みに沿うか否かという軸で表現することが
可能となる.この手法により, 使用者に「良い」と感じさせやすい，言い換えれば「面白い」短歌が生成されることが期待できる。またこのようなモデルの学習を通じて，短歌鑑賞の多様化や作歌の補助への貢献を目指すのみならず，人の心を動かす短歌の本質的な要素の探求を試みる.

## 2 RLHF

RLHF は人間の価值基準を報酬として利用する強化学習の一手法である $[7,8]$. モデルの生成物に対して人間の価值基準におけるスコア付けを行い，それをモデルにフィードバックすることで，より高いスコアがつく生成を行うようモデルを学習させる. これにより言語モデルが人間にとって好ましい生成を学び，生成物の質が向上することが期待できる. RLHF は, 報酬モデルの学習, 枠組み学習, 強化学習という3つのステップに分けられる.

報酬モデルの学習 RLHFの学習では, 生成物に対し人間の基準により報酬を与えモデルにフィードバックするという過程が必要となる。一方で学習過程での生成全てに対し，直接人間が一貫した基準でスコアを付けることは現実的ではないため，自動的にスコア付けを行う報酬モデルを作成する。テキストとそれに対する人間の評価をモデルに与えて学習を行い，入力文に対して相対的なスコアを付けることを可能とする. この報酬モデルを擬似的なアノテータとして用いることで後述の強化学習を行う.

枠組み学習短歌のように満たすべき制約を持つ場合は, 事前学習のみが行われたベースモデルでの直接の生成が難しい. 一例として図 1 に学習前のベースモデルでの生成を示す. 生成された文には英語が含まれており，短歌としての枠組みを全く満たしていないことが確認できる。このような場合，生成の目的に合わせたモデルの教師あり学習により,後に行う強化学習の効率を高める必要がある. 本研究ではこれを「枠組み学習」と呼称する。

強化学習強化学習ではまず枠組み学習を行ったモデルにより生成を行い，生成文を報酬モデルに入力として与える. この出力として得られた報酬スコアを生成モデルにフィードバックし，スコアを最大化するような生成を目指す学習を PPO アルゴリズム [9]をもとに行う．PPO は方策べースの強化学習手法であり，大幅な方策の更新を妨げること （clipping）で安定した学習を可能とする.

図 2 Utakata の各短歌へのいいね数と短歌の数.

以上が RLHF の具体的なプロセスである. 本研究ではこの RLHFを短歌の生成に適用し，その有効性を検証する。具体的には (1) 学習済み報酬モデルによる短歌に対しての自動スコア付けの可能性 (2) 学習済み報酬モデルと枠組み学習済み生成モデルを用いた強化学習による短歌の自動生成の質の向上，の二点に関し実験と評価を行う.

## 3 実験

本研究では短歌の自動生成に RLHF を適用し，その有効性の検証を行った. また一連の実験に先立ち学習用のデータセットの作成を行った.

## 3.1 データセット

本研究では各モデルの学習に際し, 多数の短歌のデータが必要となる．特に報酬モデルの学習には人手により評価されたデータが求められる.

そこで我々はこの条件を満たすデータセットとして，短歌専用の投稿サイトである Utakata ${ }^{1)}$ を利用した. Utakata には 2023 年 12 月時点で 7 万首以上の短歌が投稿されており，十分なデータが確保できると判断した. 特筆すべき点として Utakata には「いいね」機能が付いている点が挙げられる。「いいね」 の数は不特定多数の鑑賞者による評価の結果であるため，これを各短歌への一般的な評価とみなし，モデルの学習に利用した. 学習データとして計 68,996 首の短歌をクローリングした。

図 2 に示す通り，Utakataにおいて各短歌の「いいね」の数には大きく偏りがある. ほとんどの短歌は 「いいね」数が 0 ないしは一桁の値であり， 10 人以上から評価を得た短歌は数千首に留まる。「いいね」数がさらに多い短歌となると該当する短歌の数は指数関数的に減少していく。一方で我々は十分に優れていると判断されうる短歌を学習に用いる必要があり，これはつまり多くの短歌は学習データとして適していないことを意味している.したがって今回

1) https://utakatanka.jp
表 1 報酬モデルによる reward スコア. スコアは絶対的な値ではなく相対的な值である。

は，報酬モデルの学習では計 4,980 首を，枠組み学習と強化学習では報酬モデルの学習に使用したものを含む 11,299 首を利用した. 使用した短歌の条件は各実験の項で述べる.

## 3.2 報酬モデルの学習

報酬モデルの学習にはベースのモデルとして，日本語で事前学習されており分類問題に強い rinna 社 RoBER $^{2}{ }^{2}$ を用いた ${ }^{3)}$. 学習時には多くの人に評価された短歌 $\operatorname{tanka} \mathrm{a}_{\uparrow}$ とそうでない短歌 tanka のぺアをモデルに与え，式 (1)に則り loss の計算を行った。 reward $_{\uparrow}$, reward r $^{2}$ はそれそれ tanka $\uparrow$, tanka に対してモデルが出力したスコアを意味する.

$
\operatorname{loss}=-\log \left(\frac{1}{1+e^{-\left(\text {reward }_{\uparrow}-\text { reward }_{\downarrow}\right)}}\right)
$

学習データに関し tanka^としてUtakata 上で「いいね」数が 10 以上の短歌を，tanka として「いいね」数が 1 の短歌を用いた。「いいね」がついていない短歌に関しては学習時にノイズとなりうることを考慮し, 本研究では用いないこととした. 最終的に tanka としての 2,490 首, tanka としての 2,490 首をぺアとして報酬モデルの学習を行った。

## 3.3 生成モデルの枠組み学習と強化学習

生成モデルの学習にはべースとするモデルとして, LINE が公開している japanese-large-lminstruction-sft の 3.6B ${ }^{4)}$ を使用し, Utakata 上で「いい丞」数が 5 以上であるような短歌，計 11,299 首を学習に用いた. モデルは「短歌を詠んでください」といった指示を入力として与えられた際に，出力として短歌を生成するように枠組み学習がなされた。

学習データの量をさらに多く確保し，また実際に利用する際に多様な入力を受け付けるために，学習データとした短歌をもとに指示文の自動生成を行った. 具体的にはキーワード抽出ライブラリである

2) https://huggingface.co/rinna/japanese-roberta-base

3）モデルの有効性の検証のため東北大 BERT，早稲田大 RoBERTaでの実験も行った。詳細は付録 A に記す.

4) https://huggingface.co/line-corporation/ japanese-large-lm-3.6b-instruction-sft

図 3 短歌へのスコア付けの例. 上から順に歌人である俵万智の短歌 [11], 本論文著者である羽根田の短歌, Wikipedia より抽出した短歌の形式を満たす文字列.

YAKE! [10] を用い元々の短歌のテーマに関する生成を行わせる指示文や，下の句のみを与え上の句を生成させる指示文を作成した. 詳細は付録 B 記す。各短歌に対してそれぞれ 8 種類の指示文の作成を試み，計 76,233 件のデータを学習に利用した。

以上のように訓練された報酬モデルと生成モデルを用いて強化学習を行った。学習データは枠組み学習で利用したものと同じものを利用した. 強化学習には Hugging face の提供するライブラリである TRL ${ }^{5}$ を使用し，PPOによる学習を行った。

## 4 結果

## 4.1 報酬モデル

$t a n k a \uparrow, t a n k a_{\downarrow}$ 各 100 首ずつのテストデータを用いたスコアの測定結果は表 1 のようになった. tanka に対するスコアの平均値や中央値が tanka に対するものを大きく上回っており，報酬モデルのスコアが人間による評価と同様の傾向を示していることが確認できる。また， tanka と tanka のペアそれぞれに対して， reward が reward を上回った割合は $77 \%$ であり，期待値が $50 \%$ であることを考慮すると，短歌の質の差をある程度判別できていると考えられる。

実際に短歌にスコアをつけた例が図 3 である。一つ目の例のように，社会的に評価されている短歌には高いスコアをつけている。一方で短歌であることを意図して詠まれているものの一般からの評価を受けていない短歌や，短歌の形式を偶然満たした文章へのスコアは低くなっていることが確認できる.

一方で明らかに短歌の形式を満たしていない文字列を入力した際，スコアが想定されるほど低くない場合があることが確認されている。例えば「今夜のメニューは焼肉」といった短文の入力に対しては，-0.0223というスコアを出力し，これは $\operatorname{tanka} a_{\downarrow} へ$

表 2 枠組み学習による生成の変化. モーラ数は短歌の定型である 31 に近づく方が好ましい.

モーラ数スコア

平均値中央值平均値中央値

表 3 強化学習による生成の変化

のスコアの平均値や中央値よりも高い値である.このことは，入力の長さがこの報酬モデルでのスコアに与える影響が小さいことを示唆している.

## 4.2 枠組み学習

枠組み学習による生成の変化は表 2 のようにまとめられる．学習により向上した点として，生成文の長さが挙げられる。学習前の生成では 100 モーラを超える長文が目立っていた一方，学習後ではその平均値は 30.7 と短歌としての制約である 31 モーラに迫っている。また学習前の生成ではアルファベットや記号が含まれた生成 ${ }^{6}$ が多く見られたが，学習後にはこれらはほとんど見られず，系列長と合わせ， より短歌らしい生成をするように変化していた。

一方で，枠組み学習後のモデルが生成した短歌を報酬モデルにより評価したところ，学習の前後でスコアは向上しないことが確認された. この結果の要因として，枠組み学習時には報酬モデルの学習時よりも Utakata 上での評価が低い短歌を多く利用したことが考えられる．また指示文に沿った生成が行えていない例も見られ，上の句を生成させる指示のような満たすことの難しい指示が全体としてのスコアの向上を妨げた可能性がある.

これらの結果は報酬モデルが系列長に対して敏感ではないという上述の結論の裏付けとなり，また，単純なファインチューニングでは短歌としての質を向上させることが困難であることを示唆している.

## 4.3 強化学習

報酬モデルと枠組み学習済みモデルを用いて強化学習を行った結果が表 3 のようになる. テストデー

タでの平均スコアは 0.724 となっており, 強化学習前よりもスコアが向上している. これは表 1 に示した Utakata での評価が高い tanka へのスコアを超えるような値であり，人間から評価を得やすいような短歌が生成されていることを意味している.

また生成テキストのモーラ数からも短歌らしい生成がなされていることが確認できる. 生成物の平均モーラ数は 31.3 となっており, 強化学習が生成系列長に対して悪影響を与えていないことがわかる.

モデルにより生成された短歌とそれぞれへのスコアの例を図 1 に示す. 強化学習前は系列長は短歌らしい一方で，意味の取れない文章や情景描写に欠ける文章が多く生成されていた. しかし強化学習を経ることによりほとんどの生成物で意味が通るようになり，さらに豊かな情景描写や擬音語・体言止めなどの表現技法も見られた. 句切れのような意味や調子の切れ目も散見されるようになり，全体としてより短歌らしい生成がなされるようになった.

一方で短歌らしいリズムを持った生成は強化学習後においても多くは見られなかった。枠組み学習により全体のモーラ数では短歌に近い生成が可能になったもの，ほとんどの場合で 5-7-5-7-7 という短歌のリズムは満たされておらず，これは強化学習後においても同様の傾向として確認された。

## 5 おわりに

本研究では人間の価値基準を用いた強化学習の手法である RLHFを用いて，短歌の自動生成における質の向上を目指した. 短歌投稿サイト上の短歌と各短歌への評価をもとに，擬似的な評価者としての報酬モデルの学習を行った. 学習により短歌の良し悪しの判断が可能となった報酬モデルと，枠組み学習を行った生成モデルを用いた強化学習では，短歌らしい系列長を持ち，かつ報酬モデルでのスコアが高い短歌の生成が可能であることが確認された.

一方で報酬モデルによるスコアと人手での評価との一致度は調査する必要がある．また短歌内のどういった要素がスコアに影響を与えているかへの検証も今後の課題である．短歌のリズムを満たすといった要素をはじめ，より質の高い生成のために，報酬モデルや強化学習のさらなる検討も必要である. これらの調査を通じて自動生成された短歌の質の向上を目指すとともに，人間の心を動かす本質的な短歌の要素を探求したいと考えている.

## 謝辞

本研究は JSPS 科研費 JP21K21343，JP22H00524 の助成を受けたものです. 本研究の進行にあたり,多くのご助言，ご協力を賜りました Tohoku NLP グループの皆様に感謝を申し上げます. また, 研究活動に際し，有益なコメントを含む多くのサポートをいただいた東北大学坂口・乾・徳久研究室の松墒孝介氏，吉田遥音氏に深く感謝申し上げます。

## 参考文献

[1] Jonas Belouadi and Steffen Eger. ByGPT5: End-to-End Style-conditioned Poetry Generation with Token-free Language Models. In Anna Rogers, Jordan Boyd-Graber, and Naoaki Okazaki, editors, Proceedings of the 61st Annual Meeting of the Association for Computational Linguistics (Volume 1: Long Papers), pp. 7364-7381, Toronto, Canada, July 2023. Association for Computational Linguistics.

[2] Yuka Takeishi, Mingxuan Niu, Jing Luo, ZhongYi Jin, and Xinyu Yang. WakaVT: A Sequential Variational Transformer for Waka Generation. Neural Processing Letters, Vol. 54, pp. $731-750,2021$.

[3] 浦川通, 新妻巧朗, 田口雄哉, 田森秀明, 岡崎直観, 乾健太郎. モーラを考慮した fine-tuning による口語短歌生成. 言語処理学会第 28 回年次大会, 2022.

[4] R. Thomas McCoy, Shunyu Yao, Dan Friedman, Matthew Hardy, and Thomas L. Griffiths. Embers of Autoregression: Understanding Large Language Models Through the Problem They are Trained to Solve. ArXiv, Vol. abs/2309.13638, , 2023.

[5] Hong Wang, Xuan Luo, Weizhi Wang, and Xifeng Yan. Bot or Human? Detecting ChatGPT Imposters with A Single Question. ArXiv, Vol. abs/2305.06424, , 2023.

[6] 浦川通, 新妻巧朗, 田口雄哉, 田森秀明, 岡崎直観, 乾健太郎. 短歌における言語モデルの実応用-歌人の視点を通した生成と作歌支援の実践から一. 言語処理学会第 29 回年次大会, 2023.

[7] Paul F. Christiano, Jan Leike, Tom B. Brown, Miljan Martic, Shane Legg, and Dario Amodei. Deep Reinforcement Learning from Human Preferences. In Proceedings of the 31st International Conference on Neural Information Processing Systems, NIPS'17, p. 4302-4310, Red Hook, NY, USA, 2017. Curran Associates Inc.

[8] Long Ouyang, Jeff Wu, Xu Jiang, Diogo Almeida, Carroll L. Wainwright, Pamela Mishkin, Chong Zhang, Sandhini Agarwal, Katarina Slama, Alex Ray, John Schulman, Jacob Hilton, Fraser Kelton, Luke Miller, Maddie Simens, Amanda Askell, Peter Welinder, Paul Christiano, Jan Leike, and Ryan Lowe. Training language models to follow instructions with human feedback, 2022.

[9] John Schulman, Filip Wolski, Prafulla Dhariwal, Alec Radford, and Oleg Klimov. Proximal Policy Optimization Algorithms, 2017.

[10] Ricardo Campos, Vítor Mangaravite, Arian Pasquali,
Alípio Jorge, Célia Nunes, and Adam Jatowt. YAKE! Keyword extraction from single documents using multiple local features. Information Sciences, Vol. 509, pp. 257-289, 2020.

[11] 俵万智. サラダ記念日 : 俵万智歌集. 河出書房新社, 1987.

## Ａ報酬モデルの選定

報酬モデルの選定・学習に際して, rinna 社 RoBERTa の他に, 東北大 BERT $^{7)}$, 早稲田大 $\mathrm{RoBERTa}^{8}{ }^{8}$ での実験を行った. 図 4 はハイパーパラメータチューニングの様子を一部示したものである.

## 東北大BERT

早稲田大RoBERTa

rinna社RoBERTa

図4 報酬モデルのハイパーパラメータチューニングの様子.

ハイパーパラメータチューニングでは，学習率やスケジューラー，エポック数などを変更して，各モデルで調整を行った。また直接 Utakata 上の短歌どうしを tanka $\uparrow, t a n k a_{\downarrow}$ として与えるのではなく， Wikipedia から抽出した，短歌の形式を偶然満たした文字列を $t a n k a$ として与える学習を行ったのちに， tanka としてUtakata 上の短歌を与える二段階

7) https://huggingface.co/cl-tohoku/

bert-base-japanese-v2

8) https://huggingface.co/nlp-waseda/ roberta-base-japanese の学習（p2）なども試行した. 最終的に検証データでの loss が下がったモデルをいくつか選択し，テストデータでの loss や accuracy なども測定した上で総合的に判断し，本研究では以降 rinna 社 RoBERTa を用いることとした. なお，本研究で用いたのは最大学習率 1e-4 で線形スケジューラーを用いて 10 エポック学習を行ったものであり，二段階の学習をしていない（p1）rinna社 RoBERTa である.

## B 指示文の自動生成

生成モデルの学習において指示文のバリエーション確保のため，各短歌につきそれぞれ 8 種類の指示文を自動生成した。これらの指示文とべースとなった短歌をぺアとして学習に用いた。指示文のパター ンと具体例を以下に示す. 各具体例は「青バケツ摇らぐ水面に蘇る線香花火と縁側の祖母」という短歌をべースとした場合である。

(1) ベーシックな指示文

例：「短歌を詠んでください」

(2) Yake!によるキーワード抽出を用いた指示文

例：「『バケツ』を含む短歌を詠んでください」

(3) 先頭のワードのみを提示した指示文

例：「『青』から始まる短歌を詠んでください」

(4) 先頭の 5 モーラを隠し，埋めさせる指示文

例：「『摇らぐ水面に蘇る線香花火と縁側の祖母』の先頭に 5 文字を加えて短歌を完成させてください」

(5) 末尾の 7 モーラを隠し，埋めさせる指示文

例：「『青バケツ摇らぐ水面に蘇る線香花火と』 に続けて7文字を加えて短歌を完成させてください」

（6）下の句を与え上の句を生成させる指示文

例：『『線香花火と縁側の祖母』に上の句を加えて短歌を完成させてください」

(7) 上の句を与え下の句を生成させる指示文

例：「『青バケツ摇らぐ水面に蘇る』に下の句を続けて短歌を完成させてください」

(8) 短歌の一部をランダムに隠し埋めさせる指示文例：『『青バケツ摇らぐ？？？？？線香花火と縁側の祖母』の？を埋めて短歌を完成させてください」

なお一部の短歌に関して，上の句と下の句の分離が難しいなどの理由から，すべての指示が作成できていない場合がある.