JFWIR - Japanese FineWeb Information Retrieval: 日本語FineWebを用いた巨大な情報検索用データセットを公開
日本語の情報検索(Information Retrieval, IR)分野において、これまで多くのデータセットがWikipediaを中心に構築されてきました。しかし、実際のWebにはWikipediaのような「綺麗に整形された文章」だけでなく、ブログ、ニュース、フォーラムなど、多様な文体やノイズを含む文章が存在します。
今回公開した JFWIR (Japanese FineWeb Information Retrieval) は、この課題に取り組むために作成した約6,400万件の大規模な日本語情報検索に活用できるデータセットです。このデータセットは、高品質な教育的コンテンツを含むWebクロールデータ「fineweb-2-edu-japanese」を基に構築されています。
JFWIRの特徴
1. 大規模かつ多様性の高いデータセット
JFWIRは以下の特徴を持つデータセットです:
- 6,400万件以上の文書-クエリペア: 各文書に対して7種類の異なるタイプのクエリ(keywords, synonym_keywords, query, alt_query, title, faq, summary)を生成
- 実際のWeb文章: Wikipedia以外の教育的価値の高いWebコンテンツを収録
- ハードネガティブ付き: 効果的な学習のための類似しているネガティブ文書
2. ベンチマーク評価結果
JFWIRを使用して学習させたリランキングモデルの性能を、主要な日本語情報検索ベンチマークで評価しました。以下の4つのベンチマークで比較を行いました:
ベンチマーク | JFWIRなし | JFWIR 1000万件利用 |
---|---|---|
JQaRA | 0.7621 | 0.7633 |
MIRACL(ja) | 0.8332 | 0.8385 |
jsquad | 0.9801 | 0.9821 |
JaCWIR | 0.9339 | 0.9586 |
特に、Web文章を対象とするJaCWIRでは0.9339から0.9586への改善が見られました。
使い方
JFWIRはHugging Face Datasetsから簡単に利用できます。以下に基本的な使用例を示します:
from datasets import load_dataset
# メインデータセットの読み込み
train_ds = load_dataset("hotchpotch/JFWIR", split="train", name="small_tokens_cleaned")
# サンプルデータの確認
for i in range(3):
sample = train_ds[i]
print(f"Query: {sample['query']}")
print(f"Document: {sample['text'][:100]}...")
# ハードネガティブ付きデータセットの読み込み
hard_negatives_ds = load_dataset("hotchpotch/JFWIR", split="train", name="hard_negatives")
# ハードネガティブの使用例
for i in range(3):
hn_sample = hard_negatives_ds[i]
pos_id = hn_sample['pos_id']
pos_doc = train_ds[pos_id]
print(f"Query: {pos_doc['query']}")
print(f"Positive (score: {hn_sample['pos_score']:.3f}): {pos_doc['text'][:100]}...")
# ネガティブ文書をスコア順にソート
neg_pairs = list(zip(hn_sample['neg_ids'], hn_sample['neg_scores']))
neg_pairs.sort(key=lambda x: x[1])
print("Negatives (lowest scores):")
for neg_id, score in neg_pairs[:2]:
print(f" Score {score:.3f}: {train_ds[neg_id]['text'][:80]}...")
データセットの作成プロセス
1. 高品質な日本語Web文章の収集
まず、大規模なWebクロールデータセット「FineWeb-2」から、教育的価値の高い日本語コンテンツを抽出して「fineweb-2-edu-japanese」を作成しました。さらに、Web文章特有のノイズを除去し、適切な文章長に調整した「small_tokens_cleaned」サブセットを作成しました。
2. 多様なクエリの生成
6,400万件のデータセットに対してクエリを生成するため、軽量なクエリ生成モデル「query-crafter-japanese」を使用しました。多様性を確保するため、以下の3つのモデルを組み合わせて使用しています:
- hotchpotch/query-crafter-japanese-Qwen3-1.7B
- hotchpotch/query-crafter-japanese-Qwen3-4B
- hotchpotch/query-crafter-japanese-sarashina2.2-3b-instruct-v0.1
各文書に対して7種類のクエリタイプ(keywords, synonym_keywords, query, alt_query, title, faq, summary)を生成することで、多角的な検索ニーズに対応できるデータセットを構築しました。
3. ハードネガティブの作成
情報検索モデルの性能を向上させるため、ハードネガティブ(クエリに類似しているが正解ではない文書)を含むデータセットも作成しました:
- 埋め込みモデルによる類似文書検索: ruri-v3-30mモデルを使用して6,400万件の文書をベクトル化し、各文書に対して類似度の高い文書を検索
- 適切なネガティブの選定: 類似度top10-50とtop50-200からランダムサンプリング
- リランカースコアの付与: japanese-reranker-xsmall-v2を使用してスコアリングしています。たとえば正例として不適切なもの(スコア<0.6など)や負例として不適切なもの(スコア>0.4など)を除外して利用することで、より適切な正例・負例を選択できます。
今後の展望
JFWIRは、日本語情報検索分野の発展に貢献することを目的として公開されました。しかしながら、query-crafter-japanese は文章からのある程度単純なクエリ生成にとどまり、もっと多様な価値のある質問文を作成することで、より様々な情報検索精度の向上が可能になると思っております。
まとめ
JFWIRは、Wikipediaに偏重していた従来の日本語IRデータセットとは異なるアプローチとして、実際のWeb文章を対象とした情報検索データセットです。約6,400万件のデータ、7種類のクエリタイプ、対照学習用のハードネガティブなど、情報検索システムの開発に活用いただける要素を含んでおります。
データセットはHugging Faceで公開されており、ODC-byライセンスの下で自由に利用できます。日本語情報検索分野の発展に、このデータセットが少しでも貢献できれば幸いです。
関連リンク
データセット
- JFWIRデータセット:
hotchpotch/JFWIR
(Hugging Face Datasets) - fineweb-2-edu-japanese: https://huggingface.co/datasets/hotchpotch/fineweb-2-edu-japanese
- FineWeb-2: https://huggingface.co/datasets/HuggingFaceFW/fineweb-2
モデル
- ruri-v3-30m(埋め込みモデル): https://huggingface.co/cl-nagoya/ruri-v3-30m
- ruri-v3-pt-70m(事前学習モデル): https://huggingface.co/cl-nagoya/ruri-v3-pt-70m
- japanese-reranker-xsmall-v2: https://huggingface.co/hotchpotch/japanese-reranker-xsmall-v2
- query-crafter-japanese(クエリ生成モデル):
記事・論文
- query-crafter-japanese記事
- 日本語言語理解ベンチマークJGLUEの構築 〜 自然言語処理モデルの評価用データセットを公開しました
- MIRACL: A Multilingual Retrieval Dataset Covering 18 Diverse Languages
- FineWeb-Edu: The Finest Collection of Educational Content the Web Has to Offer
- Ruri: Japanese General Text Embeddings
作者: Yuichi Tateno (@hotchpotch)
ライセンス: ODC-by(fineweb-2のライセンスに準拠)
Citation Information
JFWIRデータセットを研究や開発に使用される場合は、以下の引用情報をご利用ください:
JFWIR
関連リンク
データセット
- JFWIRデータセット: hotchpotch/JFWIR
- fineweb-2-edu-japanese: https://huggingface.co/datasets/hotchpotch/fineweb-2-edu-japanese
- FineWeb-2: https://huggingface.co/datasets/HuggingFaceFW/fineweb-2
モデル
- ruri-v3-30m(埋め込みモデル): https://huggingface.co/cl-nagoya/ruri-v3-30m
- ruri-v3-pt-70m(事前学習モデル): https://huggingface.co/cl-nagoya/ruri-v3-pt-70m
- japanese-reranker-xsmall-v2: https://huggingface.co/hotchpotch/japanese-reranker-xsmall-v2
- query-crafter-japanese(クエリ生成モデル):
記事・論文
- query-crafter-japanese記事
- 日本語言語理解ベンチマークJGLUEの構築 〜 自然言語処理モデルの評価用データセットを公開しました
- MIRACL: A Multilingual Retrieval Dataset Covering 18 Diverse Languages
- FineWeb-Edu: The Finest Collection of Educational Content the Web Has to Offer
- Ruri: Japanese General Text Embeddings
作者: Yuichi Tateno (@hotchpotch)
ライセンス: ODC-by(fineweb-2のライセンスに準拠)
Citation Information
JFWIRデータセットを研究や開発に使用される場合は、以下の引用情報をご利用ください
@misc{tateno2025jfwir,
author = {Yuichi Tateno},
title = {JFWIR: Japanese FineWeb Information Retrieval Dataset},
year = {2025},
url = {https://huggingface.co/datasets/hotchpotch/JFWIR},
note = {A large-scale Japanese information retrieval dataset with 60+ million document-query pairs}
}