Slide 1

Slide 1 text

FRAIM×LayerX検索ミートアップ ~LLM時代の検索 ~ 2025年7月10日(木) FRAIM株式会社 水野多加雄 LLM時代だからこその検索の重要性と応用

Slide 2

Slide 2 text

©2025 FRAIM Inc. All Rights Reserved. もくじ 2 ● FRAIMの紹介 (2min) ● LLM時代の検索の立ち位置を考える (3min) ● 法令検索コンペ参加から見えた検索とLLM (13min) ● 質疑応答 (2min)

Slide 3

Slide 3 text

©2025 FRAIM Inc. All Rights Reserved. 自己紹介 3 水野 多加雄(@mzntaka0) FRAIM株式会社 開発部 ML Unit責任者 開発環境: Vim/tmux(とJupyterLab) 趣味: ギター(Red Hot Chili Peppers, Blues, Jazz) GWに自作ギターを初めて組み上げてみた (正規品325万円レッチリギタリストモデルの模倣、コストは 1/10くらい、多分) 主に自然言語処理/LLM・検索/Elasticsearch、 バックエンドその他機械学習関連の開発担当、 0歳児父

Slide 4

Slide 4 text

FRAIMの紹介

Slide 5

Slide 5 text

©2025 FRAIM Inc. All Rights Reserved. FRAIM紹介 5 プロダクト事業 / ライセンス事業 「⾃社SaaS」と「技術提供による他社サービスを介した価値提供」の2つの事業を展開 SOLUTION

Slide 6

Slide 6 text

©2025 FRAIM Inc. All Rights Reserved. 弊社プロダクト - LAWGUEの概要 6 独自エディタとドキュメントに関する様々な提案・レコメンド機能を提供し、ユーザーのナレッジ活用・ドキュメント作成を支援 している。

Slide 7

Slide 7 text

©2025 FRAIM Inc. All Rights Reserved. 弊社プロダクト - LAWGUEの概要 7 独自エディタ及びドキュメント作業時の検索・推薦機能、AIエージェント等を提供し、ユーザーのナレッジ活用・ドキュメント作成を支援 し ている。 主に検索・機械学習技術を活用している機能

Slide 8

Slide 8 text

LLM時代の検索の立ち位置を考える

Slide 9

Slide 9 text

©2025 FRAIM Inc. All Rights Reserved. Context Engineering 9 https://blog.langchain.com/context-engineering-for-agents/ Context Windowは今後も継続して増えることは期待されるが、 Context Window < Context候補が想定され、RelevantなContextを見つける=検索は重要 Context Engineeringでも少なくとも1/4は広義の検索(重み付けすればもっと・・)

Slide 10

Slide 10 text

©2025 FRAIM Inc. All Rights Reserved. Workflow & AI Agent 10 処理系グラフを所与として ● Path ○ Deterministic→Workflow ○ Non-Deterministic→AI Agent なのは置いといて、グラフノードとしてクエリ意図理解・検索・フィルタリングといった 検索関連のタスクが依然として重要な位置にいると考える https://towardsdatascience.com/a-developers-guide-to-building-scalable-ai-workflows-vs-agents/ https://github.com/humanlayer/12-factor-agents https://github.com/google/adk-samples/tree/main/python/agents/travel-concierge google/adkのTravel Concierge例

Slide 11

Slide 11 text

©2025 FRAIM Inc. All Rights Reserved. RAG改善の検討(※ 2024年5月時点の検索技術勉強会で発表した資料の一部です) 11 Query Routing/Natural Language Understanding 方策1: 分類モデル作る 方策2: ReActを使う etc Agent3 (Knowledge Q&A) Agent4 (Similarity Search) Elasticsearch or Knowledge Graph Agent5 (Full-text Search) Response Request Agent1 Meta Question LLM(共通/個別タスクごとに調整したモデル) 方策1: Azure OpenAI 方策2: ローカルLLM Elasticsearch (Vector DB) Elasticsearch Knowledge Reranking/Refinement/Fact Checking (Cross Encoder, JaColBert) Agent2 Document-Level Tasks(*) (Summarization, Check/Validation…) Elasticsearch Query Intent Understanding Retrieval Reranking ● Userがどのような要望・結果を望んでいるかを認識し、どの Agent(タスク)に流すと最適な結果が得られそうか推定する ● Retrieval時の精度向上のためのメタデータを抽出する Userの要望に沿ったナレッジリソースを探 索・発見する Userの要望を満たす根拠かどうか確認・ 検証・精緻化する Generation 質問に沿った回答を生成する Agent6 (Fact/Template -based Text Generation) Elasticsearch or Knowledge Graph 自然言語インターフェス (NLI)を用いたタスク実行の設計 ※ユーザーニーズや UXの観点から、NLIが適切かは個別検討が必要 ドキュメント登録・理解が別途必要 Elasticsearch https://search-tech.connpass.com/event/318126/ この部分の重要性は引き続き変わらない

Slide 12

Slide 12 text

©2025 FRAIM Inc. All Rights Reserved. 結論 12 検索の重要性は LLM時代においても変わらず、むしろ高まっている と考える

Slide 13

Slide 13 text

法令検索コンペ参加から見えた検索と LLM COLIEE2025 “Hierarchical and Referential Structure-Aware Retrieval for Statutory Articles using Graph Neural Networks”の紹介

Slide 14

Slide 14 text

©2025 FRAIM Inc. All Rights Reserved. COLIEEとは? 14 ● COLIEEは、法令×検索(+含意関係認識)の国際コンペティション(2014年~) ● 今回は「民法条文検索」のタスクに参加した ○ 司法試験の問題文に対して、解答に必要な民法の条文をすべて特定することが求められ る 問題文: 成人は20歳からである 根拠条文 : 第六百五十一条 委任は、各当事者がいつでもその解除をすることができる。 根拠条文 : 第四条 年齢十八歳をもって、成年とする。 例 別タスクで 含意関係認識 (この場合は”偽”) https://coliee.org/overview

Slide 15

Slide 15 text

©2025 FRAIM Inc. All Rights Reserved. COLIEEとは? 15 ● 法律×AIの国際会議ICAIL2025@Chicago workshop開催 ● 6/20にオーラル発表しました(リモート)

Slide 16

Slide 16 text

©2025 FRAIM Inc. All Rights Reserved. COLIEE 「民法条文検索」タスク 16 問題文 に対して、回答に必要な民法条文の 正解集合 を特定する。 は民法条文集合。 目的 入力 日本の司法試験から抽出された問題文  出力 モデルが予測した候補条文集合    評価指標 評価はクエリごとの適合率、再現率を用いたマクロ平均 F2スコアで行う

Slide 17

Slide 17 text

©2025 FRAIM Inc. All Rights Reserved. 背景・課題 17 日本法令における条文検索は、 「単体の条文だけ」 では必要な文脈を見落としてしまう可 能性がある 以下のような法令文書の構造や慣習・ルールに基づいた、 複数の課題があると考える 1. 階層構造の文脈依存性 「単体の条文だけ」 では、階層構造ラベルの文脈情報が欠落している場合がある 2. 暗黙的な条文間依存関係 「単体の条文だけ」 では、用語定義や前提が分からず文脈を見落としてしまうことがあ る 3. 明示的な条文参照関係 「単体の条文だけ」 では、参照先の文章・文脈を加味できない 一般的なドキュメントや本も似たような構造の場合があると考えられる

Slide 18

Slide 18 text

©2025 FRAIM Inc. All Rights Reserved. 課題1. 階層構造の文脈依存性 18 前提 ● 各条文は、階層構造の最下層に位置している(上位階層は、「編」「章」「節」「款」「目」など) ● 各階層に法的トピックや適用範囲を示すラベルが存在する 具体例 ● 第四百九十九条は、債権>総則>債権の消滅>弁済>弁済による代理>(弁済による代位の要件)というラベルの先にある ● 条文内に「債権の消滅」という表層は出現しない 課題 ● 「単体の条文だけ」では、階層構造ラベルの文脈情報が欠落している場合がある (条文に上位ラベルの単語が出現しない・省略されている場合がある) 民法 第一編 総則 第二編 物権 第三編 債権 第一章 総則 … 第六節 債権の消滅 第一款 弁済 … 第三目 弁済による代位 )  (弁済による代位の要件) 第四百九十九条 債務者のために弁済をした者は、債権者に代位する。

Slide 19

Slide 19 text

©2025 FRAIM Inc. All Rights Reserved. 課題2. 暗黙的な条文間依存関係 19 前提 ● 他の条文で定義された用語や前提知識に依存していることがある(近い条文に記載されていることも多い) 具体例 ● 第八十九条に「天然果実」と記載されているが、別の条である第八十八条で定義されている ● しかし、「第88条参照」といった明示的な参照表現は存在しない(暗黙的である) 課題 ● 「単体の条文だけ」では、用語定義や前提が分からず文脈を見落としてしまうことがある 第八十八条  物の用法に従い収取する産出物を天然果実とする。 2 物の使用の対価として受けるべき金銭その他の物を法定果実とする。 第八十九条  天然果実は、その元物から分離する時に、これを収取する権 利を有する者に帰属する。 2 法定果実は、これを収取する権利の存続期間に応じて、日割計算により これを取得する。

Slide 20

Slide 20 text

©2025 FRAIM Inc. All Rights Reserved. 課題3. 明示的な条文参照関係 20 前提 ● 条番号や相対関係を使って、他の条文を明示的に参照することがある 具体例 ● 第二百九十一条:「第百六十六条第二項に規定する」と、条番号を明示して参照 ● 第二百九十条:「前条の規定による」と、相対関係による参照 課題 ● 「単体の条文だけ」では、参照先の文章・文脈を加味できない 例1 第百六十六条  … 2 債権又は所有権以外の財産権は、権利を行使することができる時から二十年間行使しないときは、時効によって消滅する。 第二百九十一条 第百六十六条第二項に規定する消滅時効の期間は、 ... —— 例2 第二百八十九条 承役地の占有者が取得時効に必要な要件を具備する占有をしたときは、地役権は、これによって消滅する。 第二百九十条 前条の規定による地役権の消滅時効は、地役権者がその権利を行使することによって中断する。

Slide 21

Slide 21 text

©2025 FRAIM Inc. All Rights Reserved. 設計モチベーション 21 課題 ● 「単体の条文だけ」 では、階層構造ラベルの文脈情報が欠落している場合がある ● 「単体の条文だけ」 では、用語定義や前提が分からず文脈を見落としてしまうことがある(周辺情報) ● 「単体の条文だけ」 では、参照先の文章・文脈を加味できない 「階層構造ラベル、周辺・参照先の条文を加味」した設計にしたい

Slide 22

Slide 22 text

©2025 FRAIM Inc. All Rights Reserved. Key Technique: Graph Neural Network 22 GNN(Graph Neural Network)とは? ● グラフ構造を入力として処理可能なニューラルネットワークの一種 ● 今回着目するモデル (メッセージ伝達型 )では、各ノードは周辺ノードとの message passingを通じてノードに 紐づく埋め込みを更新していく。 https://arxiv.org/pdf/1901.00596 https://www.amazon.co.jp/dp/4065347823 Zonghan Wu et al. (Jan. 2019). “A comprehensive survey on graph neural networks” 入力 頂点特徴量付きグラフ  出力 頂点特徴量とグラフ構造を考慮した頂点の埋め込み  (Vは頂点集合、Eはエッジ集合、Xは頂点特徴量) 数式: 佐藤 竜馬 (著) グラフニューラルネットワーク 機械学習プロフェッショナルシリーズより引用

Slide 23

Slide 23 text

©2025 FRAIM Inc. All Rights Reserved. 提案手法: JLGR(Japanese Legal Graph Retriever) 23 ● 準備: 法令階層構造グラフ作成 ● 推論: ○ (Bi-Encoder)法令階層構造グラフを用いた GNN条文埋め込み ○ (Cross-Encoder) Reranking ● 学習: 質問と根拠条文データセットを用いた対照学習

Slide 24

Slide 24 text

©2025 FRAIM Inc. All Rights Reserved. 提案手法: JLGR(Japanese Legal Graph Retriever) 24 ● 準備: 法令階層構造グラフ作成 ● 推論: ○ (Bi-Encoder)法令階層構造グラフを用いた GNN条文埋め込み ○ (Cross-Encoder)Reranking ● 学習: 質問と根拠条文データセットを用いた対照学習

Slide 25

Slide 25 text

©2025 FRAIM Inc. All Rights Reserved. 準備: 法令階層構造グラフ作成 25 法令階層構造に基づいてグラフG=(V, E)を作成する ※データセットに含まれる生テキストの民法からグラフ構造をパース した ● V(ノード): ○ 法令条文 ○ 各階層のラベル(e.g. 第一款 弁済、ラベルのみ抽出) ● E(エッジ): ○ 階層関係(e.g. 編→章→条文) ※参照関係については、以後スライドで説明

Slide 26

Slide 26 text

©2025 FRAIM Inc. All Rights Reserved. (参考)民法から抽出された法令階層構造グラフ 26 総則 物権 債権 COLIEE(民法条文検索)では、民法の第三編 債権までを扱う(民法すべての条文ではない)

Slide 27

Slide 27 text

©2025 FRAIM Inc. All Rights Reserved. 準備: 法令階層構造グラフ作成 - 参照関係グラフ - 27 今回参照関係(e.g. 第〇〇条に基づく・・)については、 エッジには追加せず、別の方法を取った 理由: 参照関係をエッジとして追加するとグラフ全体が複雑化することが 考えられ、今回の実験で影響度合いを計りかねたため 代替手段 ● 参照関係グラフを作成したあと、再帰的に参照先の階層構造 ラベル+条文をconcatすることで文脈を取得した ○ トポロジカルソートを実施し、今回の民法の範囲でDAG であることを確認、順序の安定を図った 実際のトポロジカルソート済みの法令参照関係グラフ (ノードの番号は条番号 e.g. 568=第五百六十八条) ノードテキストの出力 ``` (法令階層ラベル1+条文1)(法令階層ラベル2+条文2)・・・ ```

Slide 28

Slide 28 text

©2025 FRAIM Inc. All Rights Reserved. 提案手法: JLGR(Japanese Legal Graph Retriever) 28 ● 準備: 法令階層構造グラフ作成 ● 推論: ○ (Bi-Encoder)法令階層構造グラフを用いた GNN条文埋め込み ○ (Cross-Encoder)Reranking ● 学習: 質問と根拠条文データセットを用いた対照学習

Slide 29

Slide 29 text

©2025 FRAIM Inc. All Rights Reserved. 推論: 法令階層構造グラフを用いた GNN条文埋め込み (Bi-Encoder) 29 問題文 法令条文 問題文、条文埋め込みモデルにはそれぞれ独立の intfloat/multilingual-e5-baseを利用した(後に対照学習について説明する) ※Ruri-v3は、コンペ自体の学習データ時期の制約で利用できなかった https://huggingface.co/intfloat/multilingual-e5-base https://huggingface.co/cl-nagoya/ruri-v3-310m intfloat/multilingual-e5-base GNNで条文ごとの階層・周辺 コンテキスト加味 類似 度 指標 0.68 類似度 Top@100

Slide 30

Slide 30 text

©2025 FRAIM Inc. All Rights Reserved. 推論: GNN推論(GATv2) ノード埋め込み初期値はintfloat/multilingual-e5-base(Encoder)を対照学習したモデルを利用 法令条文の階層関係・周辺情報の文脈を加味した埋め込み表現の獲得を目指した Petar Veliıckovic et al. (Oct. 2017). “Graph Attention Networks” http://arxiv.org/abs/1710.10903 Shaked Brody, Uri Alon, and Eran Yahav (May 2021). “How Attentive are Graph Attention Networks?” http://arxiv.org/abs/2105.14491 ノード初期化 GNNによる伝搬(GATv2) は、ノード   に対応するテキスト(条文本文または見出しラベル) 最終埋め込み(構造文脈を含むベクトル) L層の伝播後のノード表現を、構造文脈を統合した条文ベクトルとして使用 : ノードvの隣接ノード集合 : 層ごとの重み行列 : 注意重み(attention weight) : 非線形活性化関数

Slide 31

Slide 31 text

©2025 FRAIM Inc. All Rights Reserved. 提案手法: JLGR(Japanese Legal Graph Retriever) 31 ● 準備: 法令階層構造グラフ作成 ● 推論: ○ (Bi-Encoder)法令階層構造グラフを用いた GNN条文埋め込み ○ (Cross-Encoder)Reranking ● 学習: 質問と根拠条文データセットを用いた対照学習

Slide 32

Slide 32 text

©2025 FRAIM Inc. All Rights Reserved. (Cross-Encoder)Reranking Bi-Encoder(質問文&条文GNN埋め込み)から抽出されたTop@100に対し、Cross-Encoderを用いてリランキングする 時間の制約上&グラフ学習の性能評価を重視し、今回は japanese-reranker-cross-encoder-large-v1の学習済みモデルを そのまま利用した https://secon.dev/entry/2024/04/02/080000-japanese-reranker-tech-report/ https://sbert.net/examples/sentence_transformer/applications/retrieve_rerank/README.html Cross-Encoderの特徴 ● クエリと条文をペアで同時にエンコードし、全トークン間 の相互作用(attention)を考慮 ● Bi-Encoderよりレイテンシーが大きいため、 Bi-Encoderの後段でrerankerとして使われることがあ る 推論処理の流れ 1. Bi-Encoderの検索結果からTop@100候補を抽出 2. 各候補についてCross-Encoderでスコア付け 3. しきい値θとTop@kで、検証データで精度が高いハイパラにて 最 終検索結果を出力

Slide 33

Slide 33 text

©2025 FRAIM Inc. All Rights Reserved. 提案手法: JLGR(Japanese Legal Graph Retriever) 33 ● 準備: 法令階層構造グラフ作成 ● 推論: ○ (Bi-Encoder)法令階層構造グラフを用いた GNN条文埋め込み ○ (Cross-Encoder)Reranking ● 学習: 質問と根拠条文データセットを用いた対照学習

Slide 34

Slide 34 text

©2025 FRAIM Inc. All Rights Reserved. 対照学習用データセットの構築 COLIEEタスクにて用意された司法試験の (問題文, {正解条文})ペアを利用 Hard Negative Samplingによって精度向上を目指した Hard Negative Sampling 1. BM25によって取得された正解でない条文: ○ クエリに対して類似スコアが高く、上位にランクされるが実際 には正解でないもの ○ 語彙的には近いが意味的には誤り 2. ミニバッチ内の負例( In-batch negatives) ○ 同一バッチ内に存在する、別のクエリに対する正解条文 データサイズ 訓練データ:1,097問(2004〜2022年の司法試験) テストデータ:105問(2024年本試験より) Jiahao Xie et al. (Aug. 2020). “Delving into inter-image invariance for unsupervised visual representations” https://arxiv.org/abs/2008.11702

Slide 35

Slide 35 text

©2025 FRAIM Inc. All Rights Reserved. 対照学習 学習は2段階で実施: 1. 埋め込みモデル単体で対照学習 ● 埋め込み空間上で適合ドキュメントを近くに、 そうでないドキュメントを遠くに配置 ● 目的関数: InfoNCE損失 どちらのフェーズでも InfoNCE損失を利用 2. GNNを含めて対照学習 ● GATv2を含めて埋め込みモデルと共に fine tuning ● 目的関数: InfoNCE損失

Slide 36

Slide 36 text

©2025 FRAIM Inc. All Rights Reserved. 実験セットアップ データセット ● 訓練データ:1,097問(平成18年(2006)~令和4年(2022)司法試 験) ● 開発セット:令和5年(2023)司法試験 ● テストセット:令和6年(2024)司法試験 比較手法 評価指標 ● マクロ平均F2スコア(Recallを重視) ● 補助 ○ 適合率(Precision) ○ 再現率(Recall) ○ MRR(Mean Reciprocal Rank) ● BM25 ● Bi-Encoder(multilingual-e5-base) ○ 学習済みモデル ○ 対照学習済みモデル ● 提案手法 ○ GNN対照学習済みモデル ○ Cross-Encoderありなし 実装 ● 最適化関数: AdamW ● 学習率: 2e^-5 ● batch size: 16 ● Hardware: NVIDIA A100(40GB)

Slide 37

Slide 37 text

©2025 FRAIM Inc. All Rights Reserved. 実験結果 ● F2スコア最高精度 ○ 提案手法(JLGR w/o reranking) 最高Recall ○ 対照学習のみ(mE5(contrastive)) 最高Precision ● 一方、Cross-Encoderを挟んだ場合はいずれも最高精度ではない がPrecisionの向上に寄与した ● COLIEE2025の公式提出結果では、 3位/8位だった

Slide 38

Slide 38 text

©2025 FRAIM Inc. All Rights Reserved. Discussion 1. GNNは高いRecallの獲得に寄与した ● JLGRでは法令の階層構造や条文見出しをグラフ構造としてモデル化し、GNNで伝播させることで単体の条文で語 彙的な一致がなくても適切な条文を抽出できた。 2. Cross-Encoderによるリランキングの可能性 ● Cross-Encoderにより、Precisionが改善された。うまくバランス調整してくれる役割が期待できるとともに、 今後の法領域に特化したファインチューニングによりさらなる性能向上が見込まれる。 3. 大規模言語モデル(LLM)の活用 ● 1位、2位のチームは、LlamaRankといったLLMを活用したRerankerなどを用いていた LLMも活用して検索精度を向上させることが大事だと考える ● 条文と質問文の間における表現のずれや語彙のミスマッチは依然として課題であり、LLMの活用によって一定の 解消が期待される ○ Query Expansion(and Synonym Expansion) ○ Reranker活用 検索にLLMを組み合わせるのが引き続き大事だと考える

Slide 39

Slide 39 text

©2025 FRAIM Inc. All Rights Reserved. 全体結論 39 検索は、文脈を設計する営みへと進化している。 法令のような構造的知識に対して、 表層的な一致ではなく文脈・関係性を捉える設計が求められることが、 今回の取り組みから見えてきた。 今後、Context EngineeringやAI Agentが広く活用される中で、 検索はLLMを支える“文脈構築のインフラ”として、より本質的な役割を 担うだろう。 by ChatGPT

Slide 40

Slide 40 text

THANK YOU !