概要

1　はじめに
近年、クイズがエンターテインメントのみならず、ビジネスや医療などへ応用されている。クイズを解くという行為には、思考力・判断力の向上や、記憶力・判断力の維持というメリットもあり、この観点から高齢者の認知機能維持のためにクイズが応用される例りもある。しかし、クイズ問題の作問は、少量であれば人手でも負担が少ないものの、大量となると高コストになってしまう。また、クイズを解くという行為は、自然言語処理においては質問応答タスクに該当する。しかし日本語の質問応答データセットは、英語のものと比べて量が少ないため、データの自動生成による拡張が有効な手法であると期待される。本研究では、クイズ問題を自動で生成するシステムの構築に取り組む。クイズは問題と解答のペアで成立するが、同じ解答を導くための根拠となる知識は複数存在するため、問題で言及される内容は多様性を有すると考えられる。本研究では、多様な問題の生成を目指し、問題生成時の入出力形式を複数パターン提案し、比較検証する。通常は、根拠となる文書と想定解答を入力し、問題を出力する。しかし、入力または出力として指定する要素が少ない場合、より制限のない問題生成が可能になり、多様性に富んだ問題が出力されることが期待される。本研究では、想定解答を入力しない場合と、解答と問題を同時に出力する形式での生成を試みる。また、問題が訓練データに過適応しないよう、２つの文章の類似度をスコアリングするBERTScore [ 1 ]を用いて、学習時の損失関数を制御する工夫を取り入れる。本研究は低コスト化を念頭に置き、大規模言語モデルを使用しない前提で実験を行った。入出力形式を変化させて問題生成を行った結果、文書のみから問題を生成する形式で多様性が高くなった一方で、文書と解答から問題を生成することで、より矛盾のない適切な問題を生成できることが分かった。また、損失制御によって、学習時のみならず推論時にも、元から存在する問題と異なる問題を生成できることを確認した。さらに、最新のWikipedia記事を入力することで、学習で使用されなかった文書であっても適切な問題を生成できることを確認した。
2　関連研究
英語における質問応答データセットでは、関連文書を与えて質問に答える形式のものが多く、SQuAD [ 2 ]、TriviaQA [ 3 ]、Natural Questions [ 4 ]などがある。日本語における質問応答タスク用のデータセットには、JGLUE [5]に含まれているJSQuAD、クイズ形式の質問文で、日本語Wikipediaを関連文書とするJAQKET [6]などがある。SQuADとTriviaQAでは訓練用の質問が100,000件前後、 Natural Questionsでは300,000件以上用意されている。一方でJSQuADは訓練用データで64,000件弱、 JAQKETでは評価用を合わせても24,000件弱と、英英語データセットに対して一桁少ない。問題の生成については、Duら[7]がDNNによる質問生成を行い、精度を改善させたことから、特にテキスト生成が可能な言語モデルによる質問生成が行われてきた。Murakhovs’kaら[8]は、1つの比較的図1    N=3における問題生成の流れ長い文書を入力とし、異なる解答を持つ複数の質問を生成できるMixQGを提案している。既存モデルから10%以上の精度向上を達成しているが、入力が1文書であり、複数の文書を参照した質問にはなっていない。日本語においても、折原ら[9]により、日本語T5モデルを用いて、ニュース記事からクイズを生成する試みが行われた。既存のクイズサービスに掲載されている質問を例に、生成されたクイズが単に正答を問うだけではなく、面白みのあるクイズになっているかについて考察している。しかし、ここでも入力する記事は1つだけであり、また使用された訓練データ数も220件と少ない。また、著者ら[10]は、複数の文書を入力とした質問生成を行い、質問応答データセットの拡張によって、質問応答システムの精度を向上させている。
3　提案手法
3.1 入出力形式の変更
本研究の目標は、多様なクイズ問題の生成である。これを実現するためには、1つの文書だけでなく複数の文書を生成時に用いることが重要であると考えられる。著者ら[10]に従い、この要素を満たすFiDを本研究での問題生成で用いるモデルとする。 FiD [11]はもともと、テキスト生成モデルの1つであるT5 [12]を用いて、Izacardら[11]が提案した質問応答モデルで、解答生成の際に複数の文書から情報を得られるという特徴がある。本研究で使用するモデルはFiDと同一の構造であり、入出力の形式が異なるのみである。質問応答タスクでは、FiDの入力は、問題文と、読解すべき文書のタイトルおよび内容を入力するが、本研究では、問題文の代わりに解答と、解答を含む関連文書N個を入力する。 N=3の場合の問題生成の流れを図1に示す。
3.2 学習時の損失制御
この入力形式では問題のみを生成することになるが、他の形式による生成も考えられる。具体的には、関連文書のみを入力し、問題を生成することで、解答に制限されずに問題を生成できる。また、関連文書のみを入力し、問題とともに解答を同時に出力することも可能である。これらの条件では、入力時の解答に縛られない問題生成が可能であり、問題の多様性につながると期待される。モデルの学習は、教師データを用いた教師あり学習により実施する。ただし、通常の学習を実施すると、教師データに類似した問題を生成してしまい、多様性を失う。そこで、学習時の損失関数を制御し、教師データを模倣しすぎない学習方法を提案する。具体的には、BERTScore [ ]を用いて、学習時に生成された問題と、教師データの問題の類似度を計算し、損失の大きさを制御する。BERTScoreは、2つの文章の意味的類似度を算出する指標で、値が大きいほど類似している²)。FiDの学習では、各トークンで損失を計算し、それらの総和を最終的な損失とする。本研究では、損失を逆伝播する前に、BERTScoreの算出で得られた値を用いて、高い類似度のときに損失を低減する処理を行う。具体的には、生成された問題Q 、教師データの問題Qr、言語モデルの損失Llm、BERTScoreのしきい値Btargetを用いて、以下のように損失Lを定義する。 L = L L M * { Btarget - BERTScore(Q g, Qt)}これにより過学習を防ぎ、類似した問題の生成を防ぐことが期待される。
4
実験
4.1 実験設定
2020年から質問応答タスクのコンペティション「AI王」のデータセットとしてJAQKETデータセットが利用されている。本研究では、同コンペティションの第2回大会³》で提供されている、JAQKETをベースとしたクイズ形式のデータセット、および日本語Wikipedia記事の文書集合4)を用いた実験を行う。各問題には前処理として、Elasticsearch 51を用い、各問題の解答を含む関連文書6)が抽出されている。本研究ではこのデータのうち、学習用と評価用のデータセットを用いて、関連文書が3つ以上存在するデータを抽出し、データセットを構築した。 FiDで用いる日本語T5モデルは、Hugging Face Hubに存在するものを用いた?）。問題生成で使用する文書数は、関連文書のうち３つとした。 Bıargeıは0.9に設定し、生成時は各入力に対し、beam searchにより生起確率の高い出力7つを取得した。前半の実験では、入出力の形式を変更すること(3節)で、生成される問題に変化があるか調査した。実験では入出力形式として、「文書と解答を入力し、問題を生成」、「文書のみを入力し、問題を生成」、 「文書を入力し、問題と解答を生成」の３パターンを実験し、テストデータでの出力を問題の多様性と、生成結果の適切性から評価した。問題の多様性については、対話システムの評価指標で用いられているDistinct [13]により評価する。この指標は、生成結果に含まれるすべてのn-gramのうち、ユニークなものがどれだけ存在するかという割合を計算するもので、Distinct-nとも呼ばれる。本研究では、1-gramと2-gramを基準とし、テストデータでの出力を用いて、以下の設定におけるDistinct-1、2を計算した。 1.各入力に対し、最も生成確率が高い問題を抽出し、 Distinctを計算2.各入力から生成された7つの問題でDistinctを計算し、このスコアをテストデータ全体で集計し平均を算出また、多様性の確保には、1つの文章だけでなく、複数の文章を用いることが重要であると考えられる。そこで無作為に抽出した50問を評価対象として、問題がいくつの文書を参照して生成されているかを人手評価し、問題が複数の視点を有するものになっているかについても評価した。生成結果の適切性については、生成確率の最も高い生成結果と、テストデータに存在する問題との
表2　生成した問題7つにおけるDistinctの、テストセットでの平均
BERTScoreを計算し評価する。後半の実験では、BERTScoreによる損失関数の制御の効果を検証する。モデルは損失関数の制御を行うものと、行わないものの2種類で学習した。効果の検証は、以下の3つの手法により行った。 1.学習中のBERTScoreの変化を、2,000ステップずつ平均したものの推移を調査2. 1入力から生成された7つの問題でDistinctを計算し、最終的な平均を算出3.テストデータを入力した際の、全生成結果におけるBERTScoreの平均を算出
4.2 実験結果と議論
4.2.1　入出力形式と問題の多様性
Distinct及びBERTScoreによる評価結果を表1と表2に、人手による評価結果を表3に示す。問題の多様性については、表1ではいずれも低い値になり、差があまり見られなかった。生成時に用いる文書は異なっていたが、問題の形式とするために「誰でしょう?」「何でしょう?」という文末を多く生成した。この影響で、ユニークなn-gramが少なくなり、スコアが低くなったと考えられる。表2では、文書のみから問題を生成する形式がDistinct-1、 2の双方で最高のスコアとなった。解答による制限がなくなったことで、問題生成時の条件が減り、多様な問題の生成につながったと考えられる。表3の人手評価でも、文書と解答により問題を生成するパターンが、複数の文書を参考にした問題を最も多く生成した。加えて、参考文書がない問題の生成数も最も少なかった。解答を指定した問題生成であったため、他２つのパターンと比べ、複数の文
書であっても注目すべき部分が明確になったことにより、多様性につながったと考えられる。表1のBERTScoreによる適切性の評価では、文書と解答により問題を生成するパターンで最も高いスコアとなり、文書のみから問題を生成するパターンのスコアが最も低くなった。生成時に入力・出力する情報を多くすることで、生成結果がより適切なものになると考えられる。
4.2.2　損失制御の効果
学習中のBERTScoreの変化を図2に、DistinctとBERTScoreの算出結果を表4に示す。図2から、制御を行ったモデルでは、学習時のBERTScoreの上昇が、制御を行わなかったものと比較して緩やかになっている。学習終了時点で、制御を行ったモデルと行わなかったモデルを比較すると、BERTScoreの平均値は0.008異なっていた。また、表４を見ると、BERTScoreやDistinct-1では大きな差がなかったものの、Distinct-2では、損失制御を行ったモデルが高いスコアになっており、多様な言葉を生成していることが確認できる。従って、損失制御を行った方が、既存の問題と異なる、多様な問題を生成できる傾向にあると確認できた。
5　新規Wikipedia記事から問題生成
AI王のデータセットはJAQKETをベースとしているが、JAQKETは全てのデータが2019年時点の日本語Wikipediaデータに基づくものである。 Wikipediaに掲載される記事は日々増加するため、新規に制作された記事での生成も重要である。そこで、本実験では、2023年6月に初版を発行した2つの記事「スリーポインテッド・スター」と「マルス信州蒸溜所」を用いて、問題生成を検証した。4.1節の条件と同様に、各記事から３つの文書を人手で抽出した後、人手で作成した想定解答とともにFiDへ入力し、7つの問題を生成した。生成された問題の例を以下に示す。 1.「スリーポインテッド・スター」から生成した例おなじみのスリーポインテッドスターが特徴的な、ダイムラーとベンツが合併して誕生した自動車メーカーは何でしょう? (想定解答:メルセデス・ベンツ) 2.「マルス信州蒸溜所」から生成した例長野県上伊那郡宮田村にある、日本初の本格焼酎の蒸留所は何でしょう? (想定解答:マルス信州蒸留所)これらの問題は、いずれも入力された文書の内容との矛盾が見られず、適切な問題となっている。以上から、Wikipediaの記事を用いることで、最新の情報に関する問題を生成できることが確認できた。
おわりに
6
本研究では、多様なクイズ問題の生成を試みた。これを実現するため、入出力形式の検証や、 BERTScoreを用いた損失関数の制御を行った。入出力形式を変化させた場合、文書のみから問題を生成する形式で多様性が高くなった一方で、文書と解答から問題を生成することで、より複数の視点を踏まえた問題を生成できていることが分かった。また、損失制御によって、学習時のみならず推論時にも、元から存在する問題と異なる問題を生成できることを確認した。さらに、最新のWikipedia記事を入力することで、新たな知識であっても適切な問題を生成できることを確認した。今後の研究では、クイズの面白さを定量化、評価する手法や、面白いクイズを生成できる文書を選択する手法について追及したい。本研究はキオクシア株式会社の委託研究において寒施した。 [1]  Tianyi Zhang*, Varsha Kishore*, Felix Wu*, Kilian Q. Weinberger, and Yoav Artzi.  Bertscore:  Evaluating text generation with bert.  In International Conference on Learning Representations , 2020. Pranav Rajpurkar, Jian Zhang, Konstantin Lopyrev, and [2] Percy Liang.  SQuAD: 100,000+ questions for machine comprehension of text. In Proceedings of the 2016 Con- ference on Empirical Methods in Natural Language Processing , pp. 2383–2392, Austin, Texas, November 2016. Association for Computational Linguistics. Mandar Joshi, Eunsol Choi, Daniel Weld, and Luke Zettle- [3] moyer. TriviaQA: A large scale distantly supervised chal- lenge dataset for reading comprehension.  In Proceed- ings of the 55th Annual Meeting of the Association for Computational Linguistics (Volume 1: Long Pa- pers), pp. 1601–1611, Vancouver, Canada, July 2017. As- sociation for Computational Linguistics. Tom Kwiatkowski, Jennimaria Palomaki, Olivia Redfield, [4] Michael Collins, Ankur Parikh, Chris Alberti, Danielle Epstein, Illia Polosukhin, Jacob Devlin, Kenton Lee, Kristina Toutanova, Llion Jones, Matthew Kelcey, Ming- Wei Chang, Andrew M. Dai, Jakob Uszkoreit, Quoc Le, and Slav Petrov.  Natural questions:  A benchmark for question answering research.  Transactions of the As- sociation for Computational Linguistics , Vol. 7, pp. 452–466, March 2019. Kentaro Kurihara, Daisuke Kawahara, and Tomohide Shi- [5] bata.  JGLUE: Japanese general language understanding In Proceedings of the Thirteenth Lan- evaluation. guage Resources and Evaluation Conference , pp. 2957–2966, Marseille, France, June 2022. European Lan- guage Resources Association.鈴木正敏,鈴木潤,松田耕史,西田京介,井之上直也. [6] JAQKET:クイズを題材にした日本語QAデータセットの構築.言語処理学会第26回年次大会(NLP2020)発表論文集, pp. 237–240, Online, March 2020.言語処理学会. Xinya Du, Junru Shao, and Claire Cardie. Learning to ask: [7] Neural question generation for reading comprehension. In Proceedings of the 55th Annual Meeting of the As- sociation for Computational Linguistics (Volume 1: Long Papers) , pp. 1342–1352, Vancouver, Canada, July 2017. Association for Computational Linguistics. [8] Lidiya Murakhovs'ka, Chien-Sheng Wu, Philippe Laban, Tong Niu, Wenhao Liu, and Caiming Xiong.  MixQG: Neural question generation with mixed answer types.  In Findings of the Association for Computational Lin- guistics: NAACL 2022 , pp. 1486–1497, Seattle, United States, July 2022. Association for Computational Linguis- tics.折原良平,鶴崎修功,森岡第太,島田克行,狭間智恵, [9]市川尚志.クイズビジネスにおける作問作業支援.言語処理学会第28回年次大会(NLP2022)発表論文集, pp. 1401–1405, Online, March 2022.言語処理学会.小林俊介,河原大輔.複数文書の読解を要する質問[10]の自動生成と質問応答システムへの応用.言語処理学会第29回年次大会(NLP2023)発表論文集, pp. 2616–2621.言語処理学会, March 2023. [11] Gautier Izacard and Edouard Grave.  Leveraging passage retrieval with generative models for open domain ques- tion answering.  In Proceedings of the 16th Confer- ence of the European Chapter of the Association for Computational Linguistics: Main Volume, pp. 874- 880, Online, April 2021. Association for Computational Linguistics. Colin Raffel, Noam Shazeer, Adam Roberts, Katherine [12] Lee, Sharan Narang, Michael Matena, Yanqi Zhou, Wei Li, and Peter J. Liu. Exploring the limits of transfer learn- ing with a unified text-to-text transformer. Journal of Ma- chine Learning Research , Vol. 21, No. 140, pp. 1–67, 2020. Jiwei Li, Michel Galley, Chris Brockett, Jianfeng Gao, [13] and Bill Dolan.  A diversity-promoting objective function for neural conversation models.  In Proceedings of the 2016 Conference of the North American Chapter of the Association for Computational Linguistics:  Hu- man Language Technologies , pp. 110–119, San Diego, California, June 2016. Association for Computational Lin- guistics. 5節で行った新規Wikipedia記事からの問題生成において、例として示した問題の生成時に入力として用いた文書を以下に示す。なお、以下の記事はいずれもクリエイティプ・コモンズ　表示・継承ライセンスの下で公表された、スリーポインテッド・スター及びマルス信州蒸溜所の各記事の文章をそのまま引用している。 1.スリーポインテッド・スター (a)スリーポインテッド・スターとは、メルセデス・ベンツの自動車などに使用される標章である。 (b) 1926年6月28日にダイムラー社はベンツ社と合併してダイムラー・ベンツとなり、車両の名は「メルセデス・ベンツ」が用いられ始めた。合併に際して両社の標章を融合させる形でメルセデス・ベンツ車の標章としてのスリーポインテッド・スターが完成した。 (c)合併後、車両のプランド名はダイムラー社の「メルセデス」とベンツ社の「ベンツ」を合わせて「メルセデス・ベンツ」となり、新たなスリーポインテッド・スターがエンブレムやフードマスコットとして用いられるようになった。 2.マルス信州蒸溜所(a) マルス信州蒸溜所（マルスしんしゅうじょうりゅうじょ、Mars Shinshu Distillery）は、長野県上伊那郡宮田村にあるジャパニーズ・ウイスキーの蒸留所。 (b)マルス信州蒸溜所は1985年に本坊酒造によって設立された。本坊酒造は1872年創業の会社で、 1909年からは鹿児島県の津貫で本格焼酎の製造を手がけていた。 (c) マルス信州蒸溜所には熟成庫が4つある。そのうち第4熟成庫は2020年の大改修で新設されたものである。