Upgrade to Pro — share decks privately, control downloads, hide ads and more …

OpenProvence - クエリに関連しない文章削除モデル日本語版の作成と公開

Avatar for Yuichi Tateno Yuichi Tateno
October 30, 2025
110

OpenProvence - クエリに関連しない文章削除モデル日本語版の作成と公開

検索エンジン勉強会
Search Engineering Tech Talk 2025 Autumn での登壇資料です。

記事: https://secon.dev/entry/2025/10/31/100000-open-provence-release/

Avatar for Yuichi Tateno

Yuichi Tateno

October 30, 2025
Tweet

Transcript

  1. 自己紹介 舘野 祐一, Yuichi Tateno id:secondlife, セコン @hotchpotch https://secon.dev/ 小さな法人代表のソフトウェアエンジニア

    ご家庭用GPUでも学習できるモデル好き 情報検索関連 オープン公開活動好き JQaRA: 検索拡張(RAG)評価のための日本 語 Q&A データセット JaCWIR: 日本語情報検索評価のための小 規模でカジュアルなWebタイトルと概要の データセット 🍷 FineWeb2 Edu Japanese - 高品質 な教育向け日本語データセット 日本語 StaticEmbedding モデル 日本語Reranker 日本語SPLADE
  2. 最近(2025)の流行 AI Agent エージェントとはツールをループで使うヤツ by Simon Willison DeepResearch "検索+要約+再検索" を自己改善ループで回す、リサーチエージェント

    Context Engineering "LLMが理解・判断できるコンテキスト"を設計する技術 与える文脈・状態・知識の構成が本質 これらをRAG + エージェントで構築することも多い DeepResearch も Context Engineering が中核 情報検索で改善しがいがある箇所ばかり 👉楽し〜
  3. 現状の課題の一つ 検索→要約→再構成ループで不要な情報を取得しすぎ 品質が低い input token が増えることで、余分な情報から誤った情報を作成 速度が遅い input token 増えすぎ

    💰高い input token(略) もっとAIが検索しまくりたい!!1 top-10 など少量ではなく、top-100 等で本当に関連する情報だけ取得 大量の多様なクエリで、関連しそうなものは大量に取得したい しかし大量の文章を扱うと… input token(略)
  4. 無駄な情報を取得しないには 適切な text chunking をする 文章を区切ることで、巨大な文章からでも、該当 chunk を取り出すことが可能 ただクエリに「距離が近い」情報は取得できるが、本当に必要な情報かは判断しにくい 例:

    cos_sim 0.6 は「果たして関連性がある」文章なのか…? 🤔 reranker を使っても、関連性がある/ないの判断は不明瞭なことも ソート用スコアに最適化されがち 関連があるのは、chunkのうちのさらに一部分だけだったりも
  5. Provence 概要 arXiv:2501.16214 クエリに関連しない文を削除するモデル クエリと1文単位関連性を推論 → 関連文推論の追加コストはごくわずか 不要文を削除し、関連度スコアも算出 → rerankerの置き換えに

    文章削除の積極性を閾値で調整可能 閾値を高く👉積極削除(Precision重視) 閾値を低く👉残し気味(Recall重視) Cross-Encoderベースの軽量設計
  6. 教師データの作成(1) まずは質問と文(span)の関連性の教師データの作成 Provence 論文では llama3-8b で推論 OpenProvence の場合 DeepSeek-V3を使って推論、作成、多言語でまず教師データを 140k

    個 hotchpotch/qa-context-relevance-multilingual-140k 👆を使い、Qwen3-4B で SFT してモデル作成 hotchpotch/query-context-pruner-multilingual-Qwen3-4B 出力の安定、高速な推論、DeepSeek-V3 並の精度 このモデルを用いて、IR,QA系データセットから大量にガッと作成 👉 context relevance データセットが完成
  7. 教師データの作成(2) reranker 機能を持つ&性能向上のため reranker score も学習に利用 Provence は学習元モデルとして reranker model

    を利用する 英語・日本語が扱える reranker の作成が必要 💡 hotchpotch/japanese-reranker-* , ruri-v3-reranker-310m モデルがすでにある…! このモデルとスコアを利用 他にも hard negatives の作成云々… これは情報検索モデル作成での、よくある話なので割愛
  8. 📊 性能評価 MLDR dataset 長文から質問文をLLMが作成した多言語 データセット 評価事項 英語 / 日本語で200件

    (test set) 文章の削減率 LLM eval(gpt-5-nano, low)での評価 文章に質問の回答が含まれるか 📝 open_provence_v1_eval_report.md 正解が含まれる文章で80-95%文削除 間違い(negs)文章では99%文削除 オリジナル全文ママ評価と削除後の文評価 削除後の方が正解率が若干高い 👉token を大幅削減しつつも、必要な 回答の抽出に成功 他にもさまざまなデータセットを F2 (Recall重視) で評価 興味があればレポート参照ください