0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

多段の質問(multi-hop)とは? 複数の情報をつないで答える仕組み

0
Posted at

初めに

「製品Aの開発責任者が所属する部署はどこ?」

社内検索で、こういう質問に答えたい場面があります。

ただ、製品資料には責任者の名前しかなく、所属部署は社員名簿にしか載っていないかもしれません。

このように、複数の情報をつなぐ必要がある質問を、多段の質問(multi-hop question)と呼びます。

1. multi-hopは、途中の情報を経由して答える

まず、架空の例で考えてみます。

情報源 書かれている内容
製品資料 製品Aの開発責任者は佐藤さん
社員名簿 佐藤さんの所属は研究開発部

「製品Aの開発責任者は誰?」なら、製品資料だけで答えられます。

一方、「その責任者の所属部署は?」には、次の2段階が必要です。

  1. 製品Aの開発責任者を調べる → 佐藤さん
  2. 佐藤さんの所属部署を調べる → 研究開発部

佐藤さんという情報が、製品と部署をつなぐ橋になります。

multi-hop質問応答では、このように複数の根拠を組み合わせて答えを導きます。必ず別々の文書に分かれているとは限らず、同じ文章の離れた箇所をつなぐ場合もあります。

2. RAGでは、最初の検索だけで情報がそろわないことがある

RAGは、検索した情報をLLMに渡して回答を生成する仕組みです。

ただ、元の質問で一度検索するだけでは、必要な根拠がそろわない場合があります。

今回の例では、最初は責任者が誰か分かりません。そのため、「製品A」の資料は見つかっても、佐藤さんの所属情報まで取得できるとは限りません。

そこで、途中で得た情報を、次の検索に使う方法が考えられます。

質問:製品Aの開発責任者が所属する部署は?

検索1:製品Aの開発責任者
取得:佐藤さん

検索2:佐藤さんの所属部署
取得:研究開発部

回答:製品Aの開発責任者の所属部署は研究開発部です。

段階的に根拠を探す手法は、multi-hop質問応答の研究でも扱われています。

なお、必要な根拠を最初にまとめて取得できれば、検索を繰り返さずに答えることもできます。multi-hopの「段数」と検索回数は、必ずしも同じではありません。

3. 情報をつなぐ質問だけでなく、比較する質問もある

multi-hopには、複数の対象を調べて比較する質問もあります。

たとえば、「製品Aと製品Bでは、どちらが先に発売された?」です。

製品Aの発売日と製品Bの発売日をそれぞれ取得し、日付を比較して答えます。この場合、2つの情報は並行して調べられます。

代表的なデータセットのHotpotQAにも、こうした比較型の質問が含まれています。

4. 実装では、途中の根拠も確認する

段階を増やすと、途中の間違いが最終回答まで伝わりやすくなります。

先ほどの例なら、別の佐藤さんの所属を取得してしまう可能性があります。

実装では、次の点を押さえると扱いやすいです。

  • 名前だけでなく、社員IDなどで同じ対象か確認する
  • 各段階で、取得した情報と出典を残す
  • 根拠が足りない場合は、推測で続きを埋めない
  • 検索回数に上限を設け、処理時間を管理する

multi-hopを扱うときは、最終回答だけでなく、答えに必要な情報を正しくつなげられたかも確認すると、問題の原因を見つけやすくなります。

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?