A Day in the Life

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つのモデルを組み合わせて使用しています:

各文書に対して7種類のクエリタイプ(keywords, synonym_keywords, query, alt_query, title, faq, summary)を生成することで、多角的な検索ニーズに対応できるデータセットを構築しました。

3. ハードネガティブの作成

情報検索モデルの性能を向上させるため、ハードネガティブ(クエリに類似しているが正解ではない文書)を含むデータセットも作成しました:

  1. 埋め込みモデルによる類似文書検索: ruri-v3-30mモデルを使用して6,400万件の文書をベクトル化し、各文書に対して類似度の高い文書を検索
  2. 適切なネガティブの選定: 類似度top10-50とtop50-200からランダムサンプリング
  3. リランカースコアの付与: japanese-reranker-xsmall-v2を使用してスコアリングしています。たとえば正例として不適切なもの(スコア<0.6など)や負例として不適切なもの(スコア>0.4など)を除外して利用することで、より適切な正例・負例を選択できます。

今後の展望

JFWIRは、日本語情報検索分野の発展に貢献することを目的として公開されました。しかしながら、query-crafter-japanese は文章からのある程度単純なクエリ生成にとどまり、もっと多様な価値のある質問文を作成することで、より様々な情報検索精度の向上が可能になると思っております。

まとめ

JFWIRは、Wikipediaに偏重していた従来の日本語IRデータセットとは異なるアプローチとして、実際のWeb文章を対象とした情報検索データセットです。約6,400万件のデータ、7種類のクエリタイプ、対照学習用のハードネガティブなど、情報検索システムの開発に活用いただける要素を含んでおります。

データセットはHugging Faceで公開されており、ODC-byライセンスの下で自由に利用できます。日本語情報検索分野の発展に、このデータセットが少しでも貢献できれば幸いです。


関連リンク

データセット

モデル

記事・論文

作者: Yuichi Tateno (@hotchpotch)

ライセンス: ODC-by(fineweb-2のライセンスに準拠)

Citation Information

JFWIRデータセットを研究や開発に使用される場合は、以下の引用情報をご利用ください:

JFWIR


関連リンク

データセット

モデル

記事・論文

作者: 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}
}
記事の一覧 >

関連するかもエントリー

🍷 FineWeb2 Edu Japanese - 高品質な教育向け日本語データセット
🍷 FineWeb2 Edu Japanese: 高品質な教育向け日本語データセットを、公開しました。https://huggingface.co/datasets/hotchpotch/fineweb-2-edu-japanese以下の内容は、上記ページの日本語訳です。Fin...
🍷 FineWeb2 Edu Japanese: 高品質な教育向け日本語データセットを、公開しました。https://huggingfac...
情報検索のための質問文作成モデル query-crafter-japanese を公開
情報検索で利用する、ベクトル検索・リランカーなどのニューラルネットワークモデルの学習には、質問文と回答文がペアで必要です。回答文章はなんでも良い(もちろん質が高い文章や、独自ドメインのデータなどが高品質なモデル作成につながるのですが)のですが、学習にはその回答に関連がある質問文が...
情報検索で利用する、ベクトル検索・リランカーなどのニューラルネットワークモデルの学習には、質問文と回答文がペアで必要です。回答文章はなんでも...
日本語 Reranker 作成のテクニカルレポート
本記事は、日本語の reranker (CrossEncoder) モデルを作成における技術レポートである。reranker とは何か、といった内容は別記事 日本語最高性能のRerankerをリリース / そもそも Reranker とは? を参照のこと。なお今回作ったモデル一覧...
本記事は、日本語の reranker (CrossEncoder) モデルを作成における技術レポートである。reranker とは何か、とい...