# RAG における小説データベースの Chunk Size と Overlap Size と Embedding モデルの効果

阿部 晃弥 ${ }^{1}$ 新納 浩幸 2
1 茨城大学工学部情報工学科 2 茨城大学大学院理工学研究科情報科学領域
20t4001l@vc.ibaraki.ac.jp hiroyuki.shinnou.0828@vc.ibaraki.ac.jp

## 概要

大規模言語モデルにおいて，追加学習せずに外部知識を扱う手法として，RAG(Retrieval-Augmented Generation) が用いられる.これは，文書をべクトル化して保存しておき，正確な回答に必要な文書を prompt に組み込んで生成する手法である。本論文では，日本語の小説をデータベースとした RAGにおいて，ベクトル・インデックスの作成の際, Chunk Size，Overlap Size 及び Embedding モデルを変更した場合の Retrieval の結果，回答への影響を検証した。実験の結果，Chunk Size には規則性が見られないが， Overlap Size は大きいほど概ね良い結果が確認できた.また, Chunk Size や Overlap Size の値とは無関係に，Embedding モデル間の性能差が確認された。

## 1 はじめに

近年，自然言語処理の分野では，ChatGPT を始めとする大規模言語モデル (Larage Language Model，以下 LLM と略す) が高い性能を示しており，多くの評価指標で従来のスコアを大きく上回る結果を残している。しかし，ある特定の分野の詳しい知識や比較的新しい知識といった学習データに含まれていない情報を扱うことが難しいという問題がある。 LLM はその特性上，追加学習が困難であるという性質をもっており，その欠点を補うために，外部知識を様々な形で LLM に組み込むといった研究もおこなわれている。その一つがRAG(Retrieval-Augmented Generation)[1] である. RAG は，外部知識をべクトル・インデックスという形で保存し，入力文をクエリとしてインデックスに問い合わせ，関連する知識を入力文と合わせて LLM に与えることで，外部知識に基づいた生成を行わせることを目的とした手法である。一般的に，外部知識をテキストとして与える場合，テキストを Chunk Size ごとに切り分け，
Embedding モデルを用いてベクトル化し，インデックスに格納する形式が用いられる。

本実験では，日本語の小説の内容を外部知識として与えた際，Chunk Size，Chunk 間の重複を認める Overlap Size が Retrieval の結果，回答へ与える影響について調査を行う。また， Chunk のベクトル化の際には，3種類の Embedding モデルを利用する．それぞれのモデルで同様の条件で実験を行った場合の結果を比較し, その特徴や生成結果に関して考察を行った.

## 2 関連研究

RAG の基本的な考え方は LLM から得られない知識をデータベースから検索して得る形である。このため RAG の研究は主に検索手法を扱ったものが多い. HyDE[2] はクエリから関連文書を検索するのではなく，クエリの回答に役立つ関連文書を LLM から生成させ，その関連文書と類似の文書をデータベースから検索する。またクエリを小型の LLMを利用することで，RAG に有効な形に書き換える研究もある [3]. ただしRAGの様々な設定はクエリ依存の部分が多く，これらの手法が汎用的に有効であるとは言いがたい。本論文はこのような拡張した手法を提案するものではなく，基本的な RAG の検索部分の設定パラメータを調整することで，性能にどの程度の差異が生じるかを調べている。この点から本論文と最も関連が深いのは論文 [4] である。 そこでは LLM の検索部の影響を系統的に調査している.

また RAG の検索部以外の改良としては SelfRAG[5] がある. RAGでは外部知識を併用することで逆に LLM の性能が悪化する場合もある。そこで Self-RAG では Reflection Token を導入し，検索された文書の関連のある/なし，支持の度合い，有益度などを判断することで，徐々に回答の生成文を作成してゆく，本論文ではクエリが（マイナーな）小説の
内容に関するものであり，LLM 内に回答の知識がないことを前提としている.

## 3 実験

QA タスク用の RAGを実装し，Chunk の作成時のパラメータ， Retrieval に用いる Embedding モデルを変更することによる Retrieval の結果，回答の生成に与える影響について調査する実験を行った。

## 3.1 実験用データセット

## 3.1.1 実験用データベース

青空文庫 ${ }^{1)}$ に公開されている太宰治の小説「女生徒」，「千代女」本文を，句点で分割してデータベー スを作成した。なお，作品名と作者名を識別するため，一文毎に文頭に「小説名（作者名）」を付与した.

## 3.1.2 実験用テストデータ

RAG の評価を行うために，質問，対応する本文，正答からなる評価用のデータセットを作成した.この質問は，太宰治の小説「女生徒」の内容に関するものであり，正答は，質問の正解となる．また，対応する本文は，それぞれの質問に正確に回答するために必要となる本文の文章となる。この質問，対応する本文，正答の組を 15 組用意し，実験のテスト，評価に用いた. 本テストデータは付録 $\mathrm{A}$ に記した.

## 3.2 RAG の設定

本実験の RAG は LangChainを用いて実装した。実験の詳細な設定に関して，以下に示す。

## 3.2.1 Chunk の作成

Chunk の作成には，3.1.1 章の実験用データベー スを用いた. Chunk Size は実験ごとに変更し，100 トークンから 1000 トークンまで 100 トークンずつの 10 種類である. Overlap Size も実験ごとに変更し, Chunk Size の 0\%，25\%，50\%の 3 種類である. よって，作成する Chunk は 30 種類となる。また， Chunk の最小単位は小説の本文一文とする。

## 3.2.2 Index の作成

3.2.1 章で作成した Chunkを埋め込みモデルに与えてIndexを作成した。埋め込みモデル


には，HuggingFace で提供されている paraphrasemultilingual-mpnet-base-v2 ${ }^{2)}$, intfloat $の$ multilingual-e5large ${ }^{3)}$, OpenAI 社から提供されている API から text-embedding-ada- $002^{4)}$ の 3 種類を用いる.

## 3.2.3 Retrieval

3.2.2 章で作成した Index を用いて Retrievalを行う。具体的には，質問に関連する Chunkを Index から取得し, 回答の生成の際に prompt に埋め込んで使用する．今回の実験では，Index から取得する Chunk 数を，質問とのコサイン類似度上位 4 つとした。

## 3.2.4 Generation

回答の生成には，LINE 社が公開しているモデル japanese-large-lm-3.6b-instruction-sft ${ }^{5}$ を使用した.

## 3.3 実験結果

実験用データセットで作成したデータベースを実装したRAG に与え，評価用データの 15 個の質問に回答させた。それぞれの質問には，4つの Chunk が Retrieval され，回答生成に用いられた。そして， Retrieval された Chunk に実際に質問に関連する文章が含まれているか，また，回答が正確であるかを評価した。この実験を，各 Chunk Size，各 Overlap Size，各 Embedding モデルに応じて行った.

Retrieval 成功数，回答の成功数に関して， paraphrase-multilingual-mpnet-base-v2 の結果を表 1, intfloat/multilingual-e5-large $の$ 結果を表 2, textembedding-ada-002 の結果を表 3 に示す. ${ }^{6)}$ 各モデルの Overlap Size ごとの Retrieval 成功数及び回答の成功数の平均値に注目すると，どのモデルに関しても Overlap Size が大きくなるほど，ほとんどの数値が増加している．よって，日本語の小説をデータベー スとしたRAG の場合，Overlap Size が大きくなるほど，より良い Retrieval，生成結果が得られる可能性があると考えられる。

表 1

paraphrase-multilingual-mpnet-base-v2 の実験結果

表 2 intfloat/multilingual-e5-large の実験結果

また, Retrieval 成功数に関して, Overlap Size ごとの比較をグラフで表した. Overlap Size 0\%を図 1 ， Overlap Size 25\%を図 2, Overlap Size 50\%を図 3 に示す.それぞれのグラフでは，Chunk Size の大きさという観点では規則性は見られず，多くの Chunk Size で緑色の Multilingual-e5-large が良い性能を示しており，赤色の paraphrase-multilingual-mpnet-base-v2 が劣った性能を示している.ここで，今回の実験は限定的な状況のため，一概に Multilingual-e5-large が優秀なモデルであり, paraphrase-multilingual-mpnetbase-v2 が劣ったモデルであるとはいえない. しかしながら，一つのタスクに限定すると，Chunk Size表 3 text-embedding-ada-002 の実験結果

や Overlap Size とは無関係に Embedding モデルの性能差があらわれることがわかった.

$\rightarrow$ paraphrase-multilingual-mpnet-base-v2 $\rightarrow$ multilingual-e5-large $\rightarrow$ text-embedding-ada-002

図 1 Overlap Size 0\%の場合の各モデルの比較

$\rightarrow$ paraphrase-multilingual-mpnet-base-v2 $\rightarrow$ multilingual-e5-large $\rightarrow$ text-embedding-ada-002

図 2 Overlap Size 25\%の場合の各モデルの比較

## 4 考察

事前学習で得られなかった知識に関して，LLM が正確な回答を生成するには，正しい Retrieval が必要であると考えられる。つまり，RAGにおいては Retrieval の成功数と質問に対する回答の正答数に

図 3 Overlap Size 50\%の場合の各モデルの比較

は，相関関係があると考えられる．そこで，3.3 章で得られた実験結果について, Chunk Size, Overlap Size の組ごとの Retrieval の成功数と回答の正答数について，相関係数を調査し，さらに濃度分布図に表した. 作成した濃度分布図を図 4 に示す. 調査した結果，相関係数は 0.645 であり, Retrieval の成功数と回答の正答数について相関が示された。また，図 4 から，視覚的にも相関関係があることがうかがえる。

図 4 Retrieval 成功数と正答数の関係

次に，テストデータの質問ごとに各モデルの Retrieval 成功数を表にあらわした。 その結果を表 4 に示す.7この表から，それぞれの質問についての傾向が読み取れる。

質問 $1 ， 2$ に関しては，いずれのモデルであってもほとんど Retrieval できていない. その原因の一つとして，Retrieval したい情報の前後が全く異なる文脈であるため，情報が埋もれてしまっていることが考えられる。また，その他の原因として，似通った意味の情報が本文中に多く存在し，上位 4 つに Retrieval できていないということが考えられる. そして，一部のモデルでは Retrieval が可能だが，


表 4 各質問の Retrieval 成功回数

一部のモデルではほとんど Retrieval できないというようにモデルによる得手不得手な質問が存在している. 例えば，質問 5 は paraphrase-multilingual-mpnetbase-v2 では Retrieval できているが，他の 2 つのモデルでは Retrieval できていない。一方で質問 12 は, intfloat/multilingual-e5-large では Retrieval できているが，他の 2 つのモデルでは Retrieval できていない.

さらに, 各Chunk Size, 各Overlap Size, 各Embedding モデルでそれぞれの質問が Retrieval できたかどうかを図に示した。その一例として，質問 7 の Retrieval の結果を図 5 に示す.この図の赤く囲んだ部分に注目すると，Overlap Size 25\%の場合，Chunk Size 600 から 900 にかけて不自然に Retrieval に失敗していることがわかる．よって，クエリに応じて情報が埋めにくい Chunk Size，Overlap Size が存在すると考えることができる.

図 5 質問 7 の Retrieval の結果

## 5 おわりに

本研究では，LangChain から作成したRAG を用いて，日本語の小説として太宰治の作品をデータベー スとして Chunk Size，Overlap Size，Embedding モデルをそれぞれ変更した際の影響について調査を行った. そして，Retrieval の成功数，小説の内容に関した質問に対する回答の正答数という観点から評価を行った。その結果，Chunk Size に決まった規則性は見られないこと，Overlap Size が大きいほど RAG の性能が向上すること，Embedding モデル間の性能の差は Overlap を変更しても変わらないことがわかった。

## 謝辞

本研究は国立国語研究所の共同研究プロジェクト 「テキスト読み上げのための読みの曖昧性の分類と読み推定タスクのデータセットの構築」及び JSPS 科研費 23K11212 の助成を受けています.

## 参考文献

[1] Patrick Lewis, Ethan Perez, Aleksandra Piktus, Fabio Petroni, Vladimir Karpukhin, Naman Goyal, Heinrich Küttler, Mike Lewis, Wen tau Yih, Tim Rocktäschel, Sebastian Riedel, and Douwe Kiela. Retrieval-augmented generation for knowledge-intensive nlp tasks, 2021.

[2] Luyu Gao, Xueguang Ma, Jimmy Lin, and Jamie Callan. Precise zero-shot dense retrieval without relevance labels, 2022.

[3] Xinbei Ma, Yeyun Gong, Pengcheng He, Hai Zhao, and Nan Duan. Query rewriting in retrieval-augmented large language models. In Houda Bouamor, Juan Pino, and Kalika Bali, editors, Proceedings of the 2023 Conference on Empirical Methods in Natural Language Processing, pp. 5303-5315, Singapore, December 2023. Association for Computational Linguistics.

[4] Jiawei Chen, Hongyu Lin, Xianpei Han, and Le Sun. Benchmarking large language models in retrieval-augmented generation, 2023 .

[5] Akari Asai, Zeqiu Wu, Yizhong Wang, Avirup Sil, and Hannaneh Hajishirzi. Self-rag: Learning to retrieve, generate, and critique through self-reflection, 2023.

## A 実験用テストデータ

3.1.2 章で述べた RAG の実験に用いた評価用のテストデータを以下の表 5 に示す.

表 5 テスト用の質問と対応する本文と正答

 & 一通は、私へ、いとこの順二さんから。 & 順二 \\