ドメイン特化RAGの構築では、合成QAを用いた埋め込みモデルのファインチューニングが標準的である．しかし，企業の手続文書は類似した内容が複数箇所に記載されるため，QA生成に用いたチャンクのみを単一の正解とする従来の手法ではラベルノイズが生じやすい．そこで，本研究では，複数箇所に正解が存在する合成QAをフィルタリングする手法を提案する．具体的には，既存の埋め込みモデルを用いた検索結果に基づき，LLMを用いて他の正解箇所が存在するかを判定する．実務文書を用いた実験により，合成データを用いた評価において提案手法の有効性が示された．

企業内に蓄積された手続文書には業務遂行に必須な内容が含まれているが，その膨大な量の中から必要な情報を迅速に取得することは，特に業務経験の浅い社員にとっては困難である．加えて，条件や状況に応じた似て非なる手順が規定されている場合も多く，正確な情報収集は負荷の高い業務となる．そこで，RAG（Retrieval-AugmentedGeneration）[1,2]を用いて，大規模言語モデル（LLM;LargeLanguageModels）に外部知識として社内の手続文書を与えることで，社員からの質問に適切に応答し正確な業務知識に基づいた回答を生成する手法が着目されている[3,4,5]．これにより，膨大な文書群から人手による情報選別を行う時間的・精神的負担を軽減し，業務効率化への寄与が期待されている．RAGの性能はRetrieverに大きく依存しており，汎用的なRetrieverではドメイン固有の知識を十分に扱えないことが指摘されている[6,7]．一方で，ドメインに特化した学習データを人手で構築することは困難であるため，対象ドメインの文書から合成データを生成し埋め込みモデルをファインチューニングする手法が一般的となっている[8,9,10]．実運用では応答速度が重要であるため，再ランキングモデルを含む多段の検索構成は必ずしも適さない．そのため本研究では，埋め込みモデルによるベクトル検索のみを利用する構成に焦点をあて，手続文書に特化した埋め込みモデルの作成を目指す．手続文書では適用条件，例外や補足事項が分散して，繰り返し記載される構造が一般的であり，その結果，合成された単一のクエリに対して複数の正解箇所が存在する場合がある．多くの埋め込みモデルのファインチューニングでは，単一の正解文書を正例，それ以外を負例とする対照学習を前提としている[11,12]．その際，合成QA作成時に得られた正解箇所のみを正例として扱うと，本来正例であるチャンクが負例として扱われ，ノイズのあるラベルが付与される恐れがある．そこで本研究では，作成された合成QAのうち複数のチャンクが正解箇所として存在する可能性があるQAペアをフィルタリングしたうえで，既存の埋め込みモデルをファインチューニングする手法を提案する．実験には実際に企業で用いられている日本語の手続文書を用い，提案手法の有効性を評価した．本研究の貢献は次の通りである．•手続文書に特化した合成QAを作成し，既存の埋め込みモデルをファインチューニングすることで手続文書に特化した埋め込みモデルを作成する手法を提案した．•単一のクエリに対して複数の正解箇所が存在する場合を排除するフィルタリング手法を提案した．•実際に企業で用いられている社内手続文書を用いた実験により，提案手法の有効性を示した．Thisworkispublishedwithoutpeerreviewandislicensedbytheauthor(s)underCCBY4.0(https://creativecommons.org/licenses/by/4.0/).org/licenses/by/4.0/).クエリ類似したクエリ類似度審査会議の主宰者は誰ですか？審査会議の主宰者は誰ですか？1.000手数料比較シートにはどのようなデータが記載されていますか？手数料比較シートに記載されている数値はどのような形式ですか？0.980外国債券の注文伝票を手書きで作成する場合，どのような手順が必要ですか？外国債券の注文伝票を手書き作成する必要があるのはどのような場合ですか？0.970事後確認報告書の作成時に留意すべき事項について教えてください．事後確認報告書はどのような場合に作成されるのですか？0.960会計用時価提供システムにおいて，扱者変更画面で新しい扱者を検索する方法を教えてください．検索上位𝐿件消す導ける𝑞LLMを用いて正解を導けるか判定クエリー導けない正解チャンクは除く残すハイブリッド検索により，チャンク集合Sからあるクエリ𝑞に対する検索上位𝐿個のチャンクS𝑡𝑜𝑝𝑞={𝑠(𝑖′1,𝑗′1),𝑠(𝑖′2,𝑗′2),...,𝑠(𝑖′𝐿,𝑗′𝐿)}を取得する．ここで，図2に示すように，合成QA生成時に特定された正解箇所S∗(𝑖,𝑘)に含まれるチャンクを除いた集合S′𝑡𝑜𝑝𝑞=S𝑡𝑜𝑝𝑞\S∗(𝑖,𝑘)を作成する．次にS′𝑡𝑜𝑝𝑞内の各チャンクがクエリ𝑞に対する正解箇所であるかをLLMを用いて判定する．S′𝑡𝑜𝑝𝑞内に正解箇所が存在すると判定された場合，そのQAペア(𝑞(𝑖,𝑘),𝑎(𝑖,𝑘),S∗(𝑖,𝑘))を訓練，評価対象から除外する．4実験4.1データセット実験では，実際に企業で用いられている社内手続文書を用いた．手続文書はPDFで提供されており，OCR処理を行いテキスト化した上でページごとに分割した．さらに3.1節で述べたように，各ページの内容を320トークン単位でチャンク化した．社内文書全体のチャンク数は|S|=79274，1チャンクあたりの平均文字数は約395文字であった．合成QAの作成にはA.1節，フィルタリングには0.951会計用時価提供システムを使用して送付先の扱者を変更する際，扱者の情報を検索する手順は何ですか？A.2節で示すプロンプトを用い，どちらもOpenAIのGPT-4oを用いた．ページあたりの作成する質問数𝐾は⌈𝑁𝑖/3⌉，すなわちページ内のチャンク数の3分の1とし，フィルタリング時に取得する検索結果𝐿は5とした．4.2類似クエリの削除によるリーク防止合成QAを用いた評価では，訓練データとテストデータの分割する際にリークが発生する恐れがある．手続文書では似ているチャンクが複数存在する構造のため，類似したクエリが異なるチャンクから生成される場合がある．そこで，ruri-v3-310m[14]を用いて各クエリ𝑞に対して埋め込みベクトルを計算し，コサイン類似度が閾値0.97以上であるクエリのペアを類似クエリとみなし，両方のQAペアを削除した．閾値は，cos類似度が0.95以上のクエリのペアを人手で確認し，0.97未満ならば概ね同一質問とはみなされないことを確認したうえで設定した．表1に類似クエリのペアの事例を示す．結果として本実験では，21321件の合成QAが作成され，そのうち13984件が類似クエリの削除後に残った．4.3比較手法提案手法の効果を評価するために以下の4種（NoFiltering,Top1,Top5,Proposed）のフィルタリング手法を比較した．•NoFiltering:訓練データに対して，フィルタリングを行わず類似クエリの削除のみを行う．•Top𝑘:Daiら[6]の手法をもとにruri-v3-310mでベクトル検索を行い，上位𝑘チャンクに正解チャンクが含まれないQAペアを除外する（𝑘∈{1,5}）．•Proposed:提案手法．org/licenses/by/4.0/).フィルタリング手法訓練データテストデータNoFiltering97884196Top1[6]35701531Top565422806Proposed53782304手法Recall@1Recall@5Recall@10NoFine-tuning0.4240.6740.759NoFiltering0.4850.7340.813Top1[6]0.4730.7000.783Top50.4500.7200.796Proposed0.5060.7510.816NoFilteringの全てのQAペアを7:3の割合で訓練，テスト用データに分割した後に，各フィルタリング手法を用いてフィルタリングを行った．最終的なQAペアの数を表2に示す．なお，できるだけ正確な正解箇所が得られている合成QAを用いて評価を行うため，最終評価ではProposedでフィルタリングされたテストデータのみを使用した．4.4実験設定事前学習済みモデルruri-v3-310m[14]をもとに合成QAを用いたファインチューニングを行った．損失関数としてCachedMultipleNegativesRankingLoss[15,16]を使用し，バッチサイズを512，学習率を9.0×10−5，ステップ数を100，アーリーストッピングを10とした．アーリーストッピングの評価には，訓練用の合成QAのうち20%を検証用データとしたRecall@1の平均値を用いた．なお，Recall@kは各クエリについて，上位k件の検索結果に正解チャンクが含まれる割合を表す．最終的な評価は，LLMを用いてフィルタリングされた合成QAの内テスト用とした2304ケースを用いてRecall@k（𝑘=1,5,10）を算出した．5結果と考察5.1合成QAに対する評価すべての𝑘において最も高いRecallを達成した．手法ごとの差を評価するため，クエリ単位のブートストラップ（反復回数𝐵=10000）によりRecall@kの差分の95%信頼区間を推定した．その0.5recall@10.450.4NoFilteringNoFine-tuningTop1Top5ProposedMethod結果，ProposedはNoFine-tuningおよびTop1/Top5に対して，Recall@1,5,10で一貫して高い傾向が確認された．また，NoFilteringと比較しても，Recall@1およびRecall@5で改善が見られた．特に，Recall@1の差分分析の結果を図3に示す．とで全ての手法においてRecallが向上している．このことから，先行研究と同じく手続文書に特化した埋め込みモデルが学習できていることが分かる．また，Top1およびTop5手法では，NoFiltering手法と比較して全ての𝑘において一貫してRecallが低下した．これは，ファインチューニングしていないモデルで容易に解答できるクエリのみを用いてファインチューニングを行っても，検索性能の向上には十分ではないことを示唆している．一方で，Proposedでは，Top1およびTop5と比較して全ての𝑘において高いRecallを示した．提案手法では既存の埋め込みモデルでは容易に回答できないクエリも保持されており，より多様なクエリを用いてファインチューニングを行うことで，検索性能の向上に寄与していることを示唆している．6おわりに本研究では合成QAから複数の正解箇所を持つQAペアを削除することで，手続文書に特化した埋め込みモデルをファインチューニングする手法を提案した．実務で使用されている手続文書を用いた実験では，提案手法を用いることで他のフィルタリング手法と比較して最も高いRecallを達成し，手法の有効性を確認した．今後は，複数箇所に正解が存在する場合に削除するのではなく，複数の正解箇所をすべて見つけたうえでファインチューニングを行う手法の検討をすすめる．また，正解箇所が単一ではなく複数のチャンクが必須となる合成QAの作成手法についても検討を進めていきたい．org/licenses/by/4.0/).