# 大規模言語モデルを用いた検索モデルの 中間学習のためのコーパス作成手法

柴田幸輝 1 加藤誠 2 百合草陽介 ${ }^{3}$
12 筑波大学 2 株式会社ミスミグループ本社
${ }^{1}$ s2221646@u.tsukuba.ac.jp ${ }^{2}$ mpkato@acm.org ${ }^{3}$ yosuke.gjdt.yurikusa@misumi.co.jp

## 概要

商品検索などのドメイン特化の検索タスクにおいては，言語モデルが事前学習するような一般的なコーパスには無い，ドメイン独自の意味を持つ語が存在し, 語彙の意味のギャップが存在することが懸念される.このようなドメイン間の語彙の意味のギャップを埋めるために，事前学習を用いた転移学習手法が提案されている。しかしながら，実務においては十分なサイズのコーパスを用意することが難しいような場合がある。その場合，事前学習を用いた転移学習手法の適用は難しい。そこで本研究では比較的小さな対象ドメインのコーパスが存在する場合に，言語モデルの MLM loss と二値分類モデルに基づいて汎用大規模コーパスから語彙の意味のギャップを埋めるようなコーパスを作成する手法を提案する。提案手法の性能を評価するため, 提案手法とベースライン手法を用いて複数のドメインを対象に大規模汎用コーパスからコーパスを作成し検索タスクにて実験を行った. 実験を行った結果，全てのドメインで提案手法が高い性能を示した.

## 1 はじめに

商品検索などのドメイン特化の検索タスクにおいては，言語モデルが事前学習するような一般的なコーパスには無い，ドメイン独自の意味を持つ語が存在し，語彙の意味のギャップが存在することが懸念される.このようなドメイン間の語彙の意味のギャップを埋めるために，事前学習を用いた転移学習手法が提案されている. 事前学習に基づいて言語モデルの転移を行う手法 $[1,2,3,4,5]$ とは転移対象のドメインのコーパスを用いて言語モデルによる継続的な事前学習を実施する手法である。代表的な手法として，AdaLM[1]が挙げられる.

しかしながら，実務においては十分なサイズの
コーパスを用意することが難しいような場合がある. その場合，事前学習を用いた転移学習手法の適用は難しい。この問題に対処するため，新たにドメイン固有のコーパスを作成する必要があると考えられる。コーパスの作成には，Web 文書や既存のコー パスを用いて，対象ドメインと類似している文書を取集する手法 [6] が提案されているが，収集した文書によっては，語彙が対象ドメインとは異なる意味で使われている文書を収集してしまうことも考えられ, 語彙のギャップが拡大する可能性も存在する.

本研究では比較的小さな対象ドメインのコーパスが存在する場合に，言語モデルに基づいて汎用大規模コーパスから語彙の意味のギャップを埋めるようなコーパスを作成する手法を提案する。

提案手法において，初めに転移対象ドメインのコーパスを用いて，対象ドメインのコーパスと言語モデルが事前学習時に使用したコーパスとのギャップのある単語を推定し，その単語をクエリとして汎用的な大規模コーパスの文書を検索して文書を収集する．汎用的な大規模コーパスにて検索し文書を収集した後，各文書に対して転移対象と予測されるスコアを計算しスコアが高い文書を対象コーパスに加えることで，新たにコーパスを作成する。

提案するコーパス作成手法を評価するため, 提案手法とベースライン手法を用いて複数のドメイン (生物医学, 科学, $\mathrm{E}$ コマース) を対象に $\mathrm{C} 4[7]$ データセットからコーパスを作成し実験を行った。実験ではそれぞれの手法を用いてコーパスを作成し，言語モデルに AdaLM を適用した後，検索タスクにおいて，ベースライン手法と提案手法を比較し，提案手法の有効性を検証した。実験を行った結果，全てのドメインで提案手法が高い性能を示した。

この論文における我々の貢献を次に示す:(1)MLM loss と二値分類モデルに基づいて汎用コーパスから語彙の意味のギャップを埋めるようなコーパスを作
成する手法を提案した. (2) 複数のドメインを対象に評価実験を行い，提案するコーパス作成手法の有効性を示した。

## 2 提案手法

本章では本研究が取り組む問題設定に関して説明し，本研究の問題に対してのアプローチを述べる.

本研究では転移対象のドメインのコーパスを対象コーパス $D_{t}$, コーパス作成時に文書を抽出するためのコーパスを参照コーパス $D_{s}$ とする. この時,転移対象のドメインのコーパス $D_{t}$ は数百から数千件の文書からなる小規模な文書集合であり，参照コーパス $D_{s}$ は数千万から数億万件の文書からなる非常に大きな文書集合とする. 本研究では入力として対象コーパス $D_{t}$, 参照コーパス $D_{s}$, 対象ドメインに偏っていない汎用的な言語モデル $m$ が与えられたとする。これらが与えられた時に参照コーパス $D_{s}$ から文書を抽出することによって，対象ドメインに関連する文書を豊富に含む，新たなコーパス $D^{\star}$ を作成することを目的とする。

提案手法の概要をアルゴリズム 1 に示す. 提案手法では汎用的な大規模コーパスから文書を検索することで文書を収集する. そのため，初めにコーパスから文書の検索時に, クエリとして用いるための単語の集合 $W$ を作成する. 単語集合 $W$ は，対象コー パス $D_{t}$ の文書に対して，言語モデル $m$ を用いて計算した各語彙の MLM loss が高い語彙に基づいて単語集合 $W$ を作成する (PrepareQueryWord $\left(D_{t}, m\right)$, アルゴリズム 1 行目). 単語集合 $W$ を作成した後, 単語集合 $W$ の各単語 $w$ をクエリとして参照コーパス $D_{s}$ から文書を検索することで，単語集合 $W$ 中の各単語 $w \in W$ に対応する文書集合 $D_{w}$ を取得する (SearchDocument $\left(W, D_{s}\right)$, アルゴリズム 3 行目).この際，各単語 $w$ で文書を検索することで取得した文書集合 $D_{w}$ に対して, 二值分類器 $g$ を用いて文書 $d \in D_{w}$ ごとに対象ドメインに当てはまると予測されるスコア $s_{d}$ を求める (PredictDomainScore $\left(g, d_{i}\right)$, アルゴリズム 5 行目). その後, 文書集合 $D_{w}$ の文書を対象ドメインに当てはまると予測されるスコア $s_{d}$ が高い順に並び替えた上で，対象ドメインに当てはまると予測されるスコア $s_{d}$ が高い上位 $n$ 件の文書から，新たに単語 $w$ に対応する $D_{w}^{\prime}$ を作成する (SortDocumentByScore $\left(D_{w}, S, n\right)$, アルゴリズム 8 行目). その後各単語の文書集合 $D_{w}^{\prime}$ からコーパス $D_{\text {new }}$ を作成する．最終的には新たに作成したコー
パス $D_{\text {new }}$ を対象コーパス $D_{t}$ に加えていくことで新たにコーパス $D^{\star を}$ 作成する。

## 2.1 検索に利用する語彙の選択

本節ではコーパスから文書の検索時に，クエリとして用いるための単語の集合 $W$ を作成する手法の詳細について述べる。

本研究の目的は, 語彙の意味のギャップを埋めるようなコーパスを作成することである．そのため， コーパスから文書の検索を行う際に，クエリとして用いる単語には意味のギャップがある単語であることが望ましい. 意味のギャップのある単語の傾向として対象コーパスにおいて一般的な使われ方とは異なるような単語が考えられる。そのため，言語モデルに基づいて対象コーパス $D_{t}$ から単語集合 $W$ を作成する際は，初めに対象コーパス $D_{t}$ にて言語モデル $m$ の語彙集合 $V_{m}$ 中の語彙 $v \in V_{m}$ に対する MLM loss を計算する. 対象コーパス $D_{t}$ にて言語モデルを用いて語彙 $v$ の MLM loss を計算する際は，対象コーパス $D_{t}$ から言語モデル $m$ 内の語彙 $v$ に対応する文書集合 $D_{v}$ を取得する。文書集合 $D_{v}$ は対象コーパス中の文書で，語彙 $v$ を含んでいる文書のうち，10 件ランダムで抽出した文書集合である. またこの際， $D_{t}$ の内，語彙 $v$ の登場する文書の数が 10 件に満たないような語彙は計算対象から除いた。

対象コーパス $D_{t}$ 中の，言語モデルの語彙 $v \in V_{m}$ の MLM Loss である $\operatorname{loss}_{\mathrm{mlm}}\left(D_{t}, v\right)$ は，文書集合 $D_{v}$ を用いて次のように求められる。

$
\operatorname{loss}_{\mathrm{mlm}}\left(D_{t}, v\right)=-\frac{1}{n} \sum_{d \in D_{v}} \log P\left(v \mid d^{\text {Masked }}\right)
$

$P\left(v \mid d^{\text {Masked }}\right)$ は, 文書 $d$ に対して語彙 $v$ が登場する箇所のうちランダムで一箇所だけマスクした上で，マスクされた位置に語彙 $v$ が出現する確率である。 $D_{t}$ における単語 $w$ の MLM loss である $\operatorname{loss}_{\mathrm{mlm}}\left(D_{t}, w\right)$ は次のように求められる.

$
\operatorname{loss}_{\mathrm{mlm}}\left(D_{t}, w\right)=\frac{1}{\left|V_{w}\right|} \sum_{v \in V_{w}} \operatorname{loss}_{\mathrm{mlm}}\left(D_{t}, v\right)
$

$V_{w}$ は単語 $w$ を構成する言語モデル $m$ の語彙の集合である．単語集合 $W$ は転移対象のドメインのコーパス $D_{t}$ に登場した各単語の MLM loss が高い上位 $l$ 件の単語の集合である.

## 3 語彙を用いた文書の検索

本節では各単語 $w \in W$ をクエリとしてコーパス $D_{s}$ から文書を検索して単語 $w \in W$ に対する文書集合 $D_{w}$ を取得する手法の詳細について述べる。

単語 $w \in W$ に対する文書集合 $D_{w}$ を取得するには単語 $w \in W$ をクエリに BM25[8] のスコアを基準にコーパス $D_{s}$ の文書を検索する. 本研究では単語 $w \in W$ をクエリとしてコーパス $D_{s}$ から各文書の BM25 のスコアを用いて検索して，上位 1,000 件の文書を単語 $w \in W$ に対する文書集合 $D_{w}$ とした.

## 4 文書選択

本節では単語 $w \in W$ に対する文書集合 $D_{w}$ から AdaLM を適用するためのコーパス $D_{\star}$ を作成する手法の詳細について述べる. 単語 $w \in W$ に対する文書集合 $D_{w}$ には単語 $w$ を含んでいる文書のみが存在するが，単語 $w$ が対象ドメインとは異なる意味で使われている文書を含む可能性がある。そのため，提案手法では文書集合 $D_{w}$ をそのまま用いて $D^{\star}$ を作成せず，対象ドメイン中の文書と汎用ドメイン中の文書の二值分類を学習したモデル $g$ を用いて，対象ドメインらしい文書を $D_{w}$ から抽出して AdaLMを適用するためのコーパス $D_{\star}$ を作成する。

初めに文書集合 $D_{w}$ から文書集合 $D_{\text {new }}$ を作成する.コーパス $D_{\text {new }}$ は次のように示される。

$
D_{\text {new }}=\bigcup_{w \in W}\left.\{D_{w}^{\prime}\right.\}
$

文書集合 $D_{w}^{\prime}$ は $D_{w}$ 中の文書のうち，二値分類モデル $g$ が予測する，対象ドメインに分類されるスコアが高い上位 $n$ 件の文書からなる文書集合である。

AdaLM を適用するためのコーパス $D_{\star}$ は対象コー
パス $D_{t}$ と $D_{\text {new }}$ を組み合わせることで作成する。二值分類器には，対象コーパス $D_{t}$ の文書と参照コー パス $D_{s}$ とは異なる汎用的なコーパス $D_{g}$ の文書の二値分類を学習させた．また，その他の二値分類の学習の詳細は付録に記載した。

## 5 実験設定

本説では初めに実験に使用したデータセットについて述べた後，実験手順に関して述べ，その後べー スライン手法を含む実験設定について紹介する.

本研究では, 生物医学, 科学, $\mathrm{E}$ コマースの 3 つの異なるドメインで実験を行った．本研究では生物医学に TREC-COVID データセットを，科学に SciFact データセットを，Eコマースに Amazon ESCI データセットを使用した. さらに，参照コーパス $D_{s}$ として C4 コーパス [7]を使用した。

実験の手順を次に述べる。各手法でコーパスを作成した後，そのコーパスを用いて言語モデルに AdaLM を適用した。その後，言語モデルを用いた検索モデルを用いて検索用データセットにてファインチューニングを行い，転移対象のデータセットでランキングを作成し，ランキングの評価を行った.

我々は実験におけるべースライン手法として大規模コーパスからランダムで文書を選択する手法を設定した. この手法では参照コーパス $D_{s}$ からランダムで文書を選択して対象コーパス $D_{t}$ に加えることでコーパスを作成した. 本手法では提案手法のコー パスサイズに合わせて作成した。また本研究では提案手法のうち，検索のみを用いた手法と二値分類のみを用いた手法とも比較を行った。検索のみとは提案手法のうち，検索を通じて収集した文書をそのまま利用してコーパス作成する手法である。 二値分類のみとは二値分類モデルを用いてコーパス中のす
表 1 TREC-COVIDでの各コーパス作成手法の NDCG @ 10

表 2 SciFact での各コーパス作成手法の NDCG@10

べての文書に対してスコア計算を行い，スコアが高かった文書を用いてコーパス作成する手法である.

ランキングの評価は, Iida ら [2] と同様 NDCG@10[9] を用いて評価した. その他の実験の詳細は付録に記載した。

## 6 実験結果

本節では実験結果について述べる. 初めにベースラインとの比較を行い，その後対象ドメインと同じドメインから文書を抽出した結果について述べる。

## 6.1 ベースラインとの比較

表 1 , 表 2, 表 3 に各コーパス作成手法によって作成されたコーパスを用いて AdaLM を適用した検索モデルの NDCG@10の値を示す.これらの表のへッダーは文書の検索の際，クエリとして利用した単語数を表記している. 表中の NDCG@10の値の横にはそれぞれ作成したコーパスのサイズを示している. AdaLM なしとは AdaLM を適用せずに，ファインチューニングのみを行った手法である. 実験の結果, 提案手法はその他の手法と比べて全体的に NDCG@10の値が高い值を示した.この結果から，提案手法は特定のドメインでは有効であると考えられる。また，提案手法のコーパス作成手法のうち，文書の検索のみを使用した手法はランダムで文書を選択する手法と二値分類モデルのみを使用した手法と比べて TREC-COVID， SciFact にて NDCG@10が高い值を示した.この結果から，コーパス内の文書表 3 Amazon ESCI での各コーパス作成手法の NDCG@ 10

表 4 Pubmed コーパスを参照コーパスとした TRECCOVID での NDCG@ 10

を選ぶ際には，収集する文書の語彙に着目することは重要であると考えられる。

## 6.2 対象ドメインと同じドメインコーパス から文書を抽出した結果

6.1 節では参照コーパスとして汎用コーパスである C4 コーパスを利用して実験を行ったが，参照コーパスとして対象ドメインと同じドメインのコー パスを利用した場合でも実験も行った. 本研究では Iida らを参考に, 生物医学ドメインで実験を行い，参照コーパスとして Pubmed コーパス1) 中の論文の要旨を使用した。表 4 に各コーパス作成手法によって作成されたコーパスを用いて AdaLM を適用した検索モデルの NDCG@10の値を示す. 実験の結果，提案手法はその他の手法と比べて全体的に NDCG@10が高い值を示した.この結果から，対象ドメインとドメインが近いコーパスを参照コーパスとして利用した場合でも提案手法は有効であると考えられる。

## 7 結論

本研究では汎用大規模コーパスから語彙の意味のギャップを埋めるようなコーパス作成手法を提案した. 提案手法の性能を評価するため, 提案手法とベースライン手法を用いて複数のドメインを対象に C4 データセットからコーパスを作成し実験を行った. 実験の結果，全てのドメインでベースライン手法と比べて提案手法が高い性能を示した。


## 謝辞

本研究は JSPS 科学研究費助成事業 JP22H03905, および，22H03905A による助成を受けたものです. ここに記して謝意を表します。また，論文執筆にあたりご助言をいただきました株式会社ミスミグルー プ本社の皆様に感謝に深く御礼申し上げます。

## 参考文献

[1] Yunzhi Yao, Shaohan Huang, Wenhui Wang, Li Dong, and Furu Wei. Adapt-and-Distill: Developing Small, Fast and Effective Pretrained Language Models for Domains. In Findings of the Association for Computational Linguistics, pp. 460-470, 2021.

[2] Hiroki Iida and Naoaki Okazaki. Unsupervised Domain Adaptation for Sparse Retrieval by Filling Vocabulary and Word Frequency Gaps. In Proceedings of the 2nd Conference of the Asia-Pacific Chapter of the Association for Computational Linguistics and the 12th International Joint Conference on Natural Language Processing, pp. 752-765, 2022.

[3] Shitao Xiao, Zheng Liu, Yingxia Shao, and Zhao Cao. RetroMAE: Pre-Training Retrieval-oriented Language Models Via Masked Auto-Encoder. In Proceedings of the 2022 Conference on Empirical Methods in Natural Language Processing, pp. 538-548, 2022.

[4] Tao Shen, Xiubo Geng, Chongyang Tao, Can Xu, Xiaolong Huang, Binxing Jiao, Linjun Yang, and Daxin Jiang. LexMAE: Lexicon-Bottlenecked Pretraining for Large-Scale Retrieval. In The Eleventh International Conference on Learning Representations, 2022.

[5] 飯田大貴, 岡崎直観. 事前学習済みモデルに基づく検索モデルにおけるドメイン適応手法の比較と相乗効果の検証. 言語処理学会第 29 回年次大会発表論文集, 2023.

[6] 本浦庄太, 秋元康佑, 槇尾純太, 定政邦彦. 超大規模コーパスからの抽出コーパスによる言語モデルのタスク適応. 人工知能学会全国大会論文集第 37 回, pp. 3Xin403-3Xin403, 2023.

[7] Colin Raffel, Noam Shazeer, Adam Roberts, Katherine Lee, Sharan Narang, Michael Matena, Yanqi Zhou, Wei Li, and Peter J Liu. Exploring the Limits of Transfer Learning with a Unified Text-to-Text Transformer. The Journal of Machine Learning Research, Vol. 21, No. 1, pp. 5485$5551,2020$.

[8] Stephen Robertson, Hugo Zaragoza, et al. The Probabilistic Relevance Framework: BM25 and Beyond. Foundations and Trends ${ }^{\circledR}$ in Information Retrieval, Vol. 3, No. 4, pp. 333-389, 2009.

[9] Kalervo Järvelin and Jaana Kekäläinen. Cumulated gainbased evaluation of IR techniques. ACM Transactions on Information Systems (TOIS), Vol. 20, No. 4, pp. 422446, 2002.

[10] Rong-En Fan, Kai-Wei Chang, Cho-Jui Hsieh, Xiang-Rui Wang, and Chih-Jen Lin. Liblinear: A library for large linear classification. the Journal of machine Learning research, Vol. 9, pp. 1871-1874, 2008.

[11] Payal Bajaj, Daniel Campos, Nick Craswell, Li Deng, Jianfeng Gao, Xiaodong Liu, Rangan Majumder, Andrew McNamara, Bhaskar Mitra, Tri Nguyen, et al. MS MARCO: A Human Generated MAchine Reading COmprehension Dataset. arXiv preprint arXiv:1611.09268, 2016.

[12] Thibault Formal, Benjamin Piwowarski, and Stéphane Clinchant. SPLADE: Sparse Lexical and Expansion Model for First Stage Ranking. In Proceedings of the 44th International ACM SIGIR Conference on Research and Development in Information Retrieval, pp. 2288-2292, 2021.

[13] Victor Sanh, Lysandre Debut, Julien Chaumond, and Thomas Wolf. DistilBERT, a distilled version of BERT: smaller, faster, cheaper and lighter. arXiv preprint arXiv:1910.01108, 2019.

[14] Sebastian Hofstätter, Sophia Althammer, Michael Schröder, Mete Sertkan, and Allan Hanbury. Improving Efficient Neural Ranking Models with CrossArchitecture Knowledge Distillation. arXiv preprint arXiv:2010.02666, 2020.

## A 付録 (Appendix)

## A. 1 より詳細な実験設定

表

ファインチューニング時のハイパーパラメータ

本節では，より詳細な実験設定について述べる.本研究では二值分類器 $g$ には線形SVM (サポー トベクトル・マシン）を使用した [10]. 二值分類器の学習は転移対象のドメインのコーパス $D_{t}$ と汎用的なドメインのコーパス $D_{g}$ の二值分類を学習させる.この際，汎用的なドメインのコーパス $D_{g}$ では多種多様な文書が揃っており, 文書のドメインが偏っていない必要がある. そのため二値分類器の学習には, 汎用的なドメインのコーパス $D_{g}$ として検索用のデータセットである MSMARCO-Document データセット [11] の文書コーパスを用いた. 二値分類器の学習では転移対象のドメインのコーパスの文書のラベルを 1， MSMARCO-Document データセットの文書のラベルを 0 として訓練を行った. 二值分類器の学習に用いる文書の特徴べクトル $\mathbf{v}_{\mathbf{d}}$ は, one-hot ベクトルを採用した.

本研究では Iida ら [2] に従って検索モデルとして SParse Lexical AnD Expansion(SPLADE)[12]を利用した. SPLADE はクエリと文書を疎な埋め込みで表現し，最終的にはこれらのクエリ，文書の疎な埋め込みの内積を取ることでにクエリ，文書の適合度を予測する手法である。
ファインチューニングには TREC-COVID デー タセットと SciFact データセットの転移学習時は Iida[2] に従って MSMARCO[11] データセットでファインチューニングを行った. Amazon ESCI データセットでの転移学習時は Amazon ESCI データセットの Train データを用いてファインチューニングを行った.

AdaLM での語彙拡張では Iida[2] らの実験設定を参考に，拡張する語彙数は 40,000 語彙とした.また，AdaLMでの中間学習では distilbert-baseuncased[13] $]^{2)}$ をべースモデルとして Masked Language Modeling を行った. Masked Language Modeling でのハイパーパラメータを表 5 に示す. Masked Language Modelling では最大入力長 512 トークン Batch サイズは 10, Learning rate: $5 * 10^{-5}$, Warmup steps:0, Weight decay:0.0 で 8 つの NVIDIA A100 40 GB を用いて 1 エポックで学習をおこなった.

SPLADE の損失関数は Iidaを参考に MarginMSE[14] と FLOPS 正則化の和とした. クエリ側の FLOPS の正則化重み $\lambda_{Q}$ とドキュメント側の $\lambda_{D}$ は, それぞれ $\lambda_{Q}=0.08, \lambda_{D}=0.1$ と設定した. MarginMSE で使用されるハードネガティブは，MSMarco のデータセットを用いる場合は Iida ら [2] に従って，BM25 や他の検索方法によって文書を検索することで収集した文書ハードネガティブとした。 ESCI データセットを用いる場合，ESCI データセットにおいては適合度は Exact, Substitute, Complement, Irrelevant の 4 段階のラベルが存在するため，このラベルのうち一番上の Exact をポジティブとして，他 Substitute, Complement, Irrelevant の 3 ラベルをハードネガティブとした．また Iida らの研究 [2] ではべー スの言語モデルとして bert-base-uncased ${ }^{3)}$ を用いている. 本研究では distilbert-base をべースの言語モデルとしているため, 本研究で使用するべースモデルはパラメーター数が半分ほどとなっている. モデルのオーバーフィッティングを防ぐために本研究では訓練データのうち 2 割を検証データとして， early stopping を採用した. SPLADE のファインチューニングでは入力長 256 トークン Batch サイズは 10, Learning rate: $2 * 10^{-5}$, Warmup steps:1,000, Weight decay:0.01 で 4 つの NVIDIA V100 16 GB GPU で 30 エポックで学習をおこなった.