• TOP
  • トピックス

トピックス

Topics

Jev・ローカルLLMで付けたタグは、Microsoft 365 Copilotの回答にどこまで役立つのか

Jev・ローカルLLMで付けたタグは、Microsoft 365 Copilotの回答にどこまで役立つのか
えだまめのアイコン

えだまめ
2026-10-30

BTMAIZ のえだまめです。

前回(仕分け編)は、文書・メール・議事録に「部門」「機密度」などのタグ(文書に付ける目印のラベル)を自動で付ける方法を、Jev(選択肢のうちどれかを選ぶ新しいAI)、ローカルLLM、ルールで比べました。今回はその続きです。社内の文書を探すときにMicrosoft 365 Copilotを使うなら、文書にタグが付いていると答えは良くなるのでしょうか。付けたタグをSharePointに書き戻し、実際にCopilotに36問を聞いて確かめました。文書はAIで作った架空のもの(合成データ)です。

要点

結論から言うと、「タグを付ければCopilotの答えが全体的に良くなる」とは言えませんでした。変わったのは、文書の本文だけでは探しにくい案件コードなどを使った質問で、特に違いが見られました。

  • 案件コードなど、本文にない情報で探す質問(6問)は、タグなしでは全問見つかりませんでした:タグを書き戻すと、再現率(正解の文書のうち、見つけられた割合)が0.33〜0.50に上がりました。今回の環境では、Copilotが列またはファイル内プロパティの値を回答できることも確認しました。ただし、検索時に内部でどちらを利用したかは特定できません。
  • それ以外の質問は、はっきりした差が出ませんでした:本文で答えられる質問や、文書の名前で探せる質問は、タグがなくても答えられます。
  • 同じ条件でも、答えが大きく揺れました:同じ条件を2回聞くと、正解ラベルの検索系28問の再現率が0.77から0.62に下がりました。1回の結果で、良し悪しは決められません。
  • JevとローカルLLMのタグの差は、傾向にとどまりました:1回ずつの結果で、揺れの範囲です。「Jevのほうが良い」とは言えません。
  • 費用:Jev側のAPI費用は、仕分け編の全段階の合計で約0.24ドルでした。今回のSharePoint側では、Jevを新たに呼んでいません(仕分け編の1回目の結果を使いました)。

文書は検証用のSharePointに置いた合成データ174件、質問は36問です。小規模な検証なので、「この条件では」と読んでください。

何を確かめたのか

社内の文書に、部門・プロジェクト・種類・機密度・要対応といったタグ(文書に付ける目印のラベル)が付いていると、人が探しやすくなります。では、Microsoft 365 Copilot(WordやTeamsなどに組み込まれたAIアシスタントで、SharePointなどの社内文書を探して答えてくれます)は、そのタグを使ってくれるのでしょうか。たとえば「営業部の機密の文書を教えて」と聞いたとき、タグがあれば絞り込みに使えるはずです。

SharePointには、文書ごとに「列」(Excelの列のように、文書に付けられる項目)を持たせられます。これをメタデータと呼びます。前回付けたタグをこの列に書き戻し、Copilotに質問して、答えが変わるかを測りました。Copilotは、Work IQと呼ばれる、職場のデータ(ファイル、メール、会議など)をテナント全体で解釈する、共通の土台の上で答えます。今回は、Work IQ単体の効果を比べたのではなく、その上で「列のタグが効くか」を見ています。

検証の流れ

検証の流れ仕分け、SharePointへの書き戻し、Copilot質問、採点の四段階検証の流れタグを書き戻し、Copilotで検証① 仕分けJev・ローカルLLMの結果を使う合成文書174件② SharePointに書き戻す5つの列にタグを設定条件を切り替えて比較③ Copilotに質問する4タイプ・合計36問毎回新しいチャットで確認④ 回答を採点する正解の文書と照合検索系28問は再現率で評価列の値を回答できるかも確認(内部の検索経路は特定していない)

検証の流れ

  • 仕分け:前回(仕分け編)の合成文書300件のうち、本文と正解ラベルに問題のなかった174件(評価用106件+開発用68件)を使い、前回の仕分け結果をそのまま書き戻しました。
  • 書き戻し:タグを、SharePointの5つの列(部門・プロジェクト・種類・機密度・要対応)に書き込みました。検証用のサイトと、そこだけに書き込める権限のアプリを使っています。
  • 質問:Copilotに、36問を聞きました。毎回、新しいチャットで、メモリとWeb検索は切っています。
  • 採点:正解の文書と照らして、再現率などを出しました。再現率は、正解の文書のうち、Copilotが挙げられた割合です。

書き込み後、Copilotが新しい値を回答できるかを、文書3件で確認しました。確認対象の文書では、おおむね3〜5分で新しい値を回答できました(一部6分)。すべての書き込みで反映を確認したわけではありません。

比べた4つの条件

同じ文書に、出どころの違うタグを書き込みました。

4つの条件

4つの比較条件タグなし、Jev、ローカルLLM、正解ラベルの四条件4つの条件を比較同じ文書、タグの出どころだけ変更noneタグなし・基準線部門—プロジェクト—種類—機密度—要対応—JevJevによる判定部門営業プロジェクトP16種類提案機密度社内要対応要対応ローカルLLMローカルLLMによる判定部門営業プロジェクトP16種類報告機密度社内要対応要対応正解ラベルすべて正しい場合の目安部門営業プロジェクトP16種類提案機密度社内要対応要対応※表示した値は説明用の例です。
条件 書き込むタグ 見たいこと
none タグなし(列は空) 基準線。タグがないときのCopilotの力
Jev Jevが自動で付けたタグ 自動のタグで、答えが変わるか
ローカルLLM ローカルLLM(Ollama)が付けたタグ 無料の方式のタグで、答えが変わるか
正解 正解ラベル タグがすべて正しいときの上限の目安

聞いた36問

質問は4つのタイプに分けました。

質問は4タイプ

質問の4タイプA15問、B8問、C7問、D6問の区分聞いた質問は4タイプ合計36問Aタグで絞る15問例:営業部の機密文書を探す質問タイプごとに結果を比較B本文だけで答える8問例:提案書の納期を聞く質問タイプごとに結果を比較Cタグ+本文7問例:議事録の決定事項を聞く質問タイプごとに結果を比較D管理番号だけで探す6問例:案件コードP16の文書質問タイプごとに結果を比較※Bの8問は、文書集合の再現率とは別採点。
タイプ 聞き方の例(イメージ)
A タグで絞る 「営業部の、機密の文書を挙げて」
B 本文だけ 「この提案書の納期は、いつと書いてありますか」
C タグと本文 「機密の議事録のうち、決定事項を教えて」
D 番号だけ 「案件コードP16の文書を挙げて」

特に大事なのは、4つ目の「番号だけで探す質問(D)」です。案件名は出さず、案件コード(例:P16)のように、文書の主に本文には書かれていない管理用の番号で探す質問です。本文から探す手掛かりが少ない場合、タグが役立つ可能性があります。

結果:変化が大きかったのは「番号で探す質問」

1回目の結果を、質問タイプ別に並べました。文書集合を探すA・C・Dの28問を再現率で集計しています。本文への回答を評価したBの8問は別の基準で採点し、この図と全体値には含めていません。再現率は1に近いほど、正解の文書を多く挙げられたことを表します。

質問タイプ別の再現率

質問タイプ別の再現率A、C、D、検索系全体の再現率を四条件で比較質問タイプ別の再現率1回目・検索系28問(A / C / D)A:タグで絞る(15問)タグなし0.83Jev0.81ローカルLLM0.67正解0.81C:本文とタグ(7問)タグなし0.93Jev0.93ローカルLLM0.79正解0.93D:番号のみ(6問)タグなし0.00Jev0.42ローカルLLM0.33正解0.50検索系全体(28問)タグなし0.68Jev0.76ローカルLLM0.63正解0.770.00〜1.00。B(8問)は別の基準で採点。
  • 番号だけで探す質問(6問):noneは0.00でした(2回聞いて、2回とも全問0)。タグを付けると、Jevが0.42、ローカルLLMが0.33、正解が0.50に上がりました(1回目の値。正解の2回平均は0.39)。95%区間がnoneの0を含まなかったのは、Jevと正解条件だけです(付録)。ただし、質問は6問だけなので、傾向として読んでください。
  • それ以外の検索系質問(A・C、22問):noneが0.82、Jevが0.85、ローカルLLMが0.71、正解が0.78でした。noneとの差は、正解−0.03、Jev+0.03、ローカルLLM−0.11で、どれも偶然の揺れの範囲です。本文だけで答えるBの8問は別採点で、noneとJevがともに1.00でした。
  • Copilotは、列(またはファイル内のプロパティ)の値を読めます:文書を指定して列の値を聞くと、正しく返しました。ただし、番号で文書を探す質問では、値が正しくても、探し損ねる質問がありました(索引には値が入っていることを確認済み)。

今回、タグによる改善が特に見られたのは、案件コードなどで文書を探す質問でした。一方、本文の名称などが検索の手掛かりになる場合は、タグなしでも見つけられました。なお、Copilotが内部でどの情報を検索に利用したかまでは確認できていません。

名前で探す、番号で探す、同じ条件を2回聞く

名前と番号と回答の揺れ名前で6回中6回、番号で6回中1回、正解条件で0.77から0.62名前と番号で結果が違う同じ条件でも回答は揺れた案件名を含めて探す6 / 66回とも完全一致同じ集合を番号のみで探す1 / 66回のうち完全一致は1回同じ条件で2回質問する0.77 → 0.62正解タグでの検索系28問の再現率質問の仕方と実行時の揺れが影響。番号検索の仕組み自体は未特定。

具体例:実際の質問と答え

例1:名前のある案件を探す(タグがなくても当たる)

質問:「白鷺フィナンシャルの勘定系API刷新(P01)に関する文書をすべて挙げてください。」

正解は4件でした。この質問は、タグなし・Jev・ローカルLLM・正解の4条件と、2回目の測定を合わせて、6回聞きました。6回とも、4件がぴったり一致しました。案件名を含む質問では、本文の名称などを検索の手掛かりにできたと考えられます。一方、番号だけで質問した場合の成績は、別途比較しています。

例2:本文にない番号で探す(タグが手掛かりになる)

質問:「プロジェクトコード P09 に関する文書をすべて挙げてください。」(番号だけで探す質問。正解は5件)。このP09というコードは、対象文書の本文には書かれていません。

条件 Copilotの答え 何が起きたか
none(タグなし) 見つからない(再現率0) 列が空なので、番号で探せない
Jev(タグあり) 該当なし タグは付いているのに、一覧づくりで取りこぼした
同じ文書の列の値を直接聞く 開発 / P09 / 報告 / 社内 / いいえ 列の値は、正しく読めていた

3行目は、doc_0026.docxという文書を指定して、「列に設定されている値を教えて」と聞いた結果です。Jevが付けた値のとおりに、答えが返ってきました。少なくともこの文書については、Copilotが列または関連プロパティの値を回答できたことが分かります。ただし、コードで一覧を作る質問では取りこぼしがあり、検索処理の内部経路までは分かりません。ほかの2問(案件コードP19、P32)でも、同じ「該当なし」が起きました。

なお、同じ質問を、ローカルLLMのタグの条件で聞いたときは、5件ぴったり一致しました。タグを付けたのに見つからない回と、見つかる回があり、番号での検索は安定しませんでした。

例3:同じ文書の集合を、名前で探す・番号で探す

例1の4件(P01の文書)は、案件コード(P01)だけで探す質問でも尋ねました。案件名を含む例1は6回すべてぴったり一致でしたが、番号のみの質問は6回中1回だけ完全一致でした(タグを付けたJevの回)。同じ文書でも、質問に含める手掛かりによって結果が変わりました。なお、このP01の比較だけから「番号が本文に存在しない」とは判断していません。

今回の検証では、本文だけでは探しにくいコードで検索すると、タグの有無や実行回によって結果が変わりました。ただし、検索に利用された情報の経路は特定できていません。この揺れの大きさが、次の節の話です。

もう一つの発見:同じ条件でも答えは揺れる

正解ラベルとnoneは、2回ずつ聞きました。ラベルは同じなのに、結果は大きく割れました。

  • 正解ラベルの検索系28問の再現率は、1回目0.77、2回目0.62でした。
  • 質問ごとに、挙げた文書の集合が2回で完全に一致したのは、正解が28問中12問、noneが28問中17問でした(28問は、再現率で採点するA・C・Dの数です。Bは本文の答えを別の基準で採点しました)。
  • 1回目に正解できた質問が、2回目に「見つからない」になった例もありました。
  • noneの2回目も、番号だけで探す質問以外の再現率が0.09下がりました。ラベルは同じなので、Copilot側の揺れとみられます。

このため、JevとローカルLLMの差(番号だけで探す質問以外の再現率で+0.14)は、傾向にとどまります。1回ずつの結果で、回ごとの揺れも大きいためです。

導入を考えるときの目安

この検証の範囲で言えることを、目安として書きます。

  • 案件コードや管理番号など、本文にない情報で探したいなら、列に入れる価値があります:今回、その場合だけ変化がありました。
  • 本文に名前がある文書は、列がなくても探せます:まず、どんな質問が多いかを確かめてください。
  • 1回の結果で判断しないでください:同じ質問を複数回聞いて、揺れを見ます。
  • 書き戻したら、反映を確かめてください:今回はおおむね3〜5分(一部6分)でした。値の違う文書で、列の値を聞いて確認しました。
  • タグの質も大切です:ローカルLLMのタグは、タグで絞る質問と、本文とタグの両方を使う質問で低めでした(揺れの範囲です)。タグがずれていれば、答えもずれうる点には注意が必要です。

この検証の限界

  • 問数が少ないです(タグで絞る質問15問、本文とタグの両方7問、番号だけで探す質問は6問)。
  • JevとローカルLLMは、1回ずつです。
  • 聞いた順番(none → Jev → ローカルLLM → 正解 → 正解 → none)と、時刻による揺れを、分けられません。
  • 今回は、SharePointの列とファイル内プロパティのどちらが検索・回答に寄与したかを切り分けていません。ファイル形式や列の設定によって、プロパティの扱いは異なります。
  • 1つのテナント、合成データ174件での結果です。実際の社内文書では、変わる可能性があります。
  • 計画では4条件を2回ずつ聞く予定でしたが、正解の揺れが大きかったため、2回目はnoneと正解だけにしました。

まとめ

付けたタグをSharePointの列に書き戻したとき、今回特に変化が見られたのは、案件コードなどで文書を探す質問でした。ほかの質問では、はっきりした差は出ませんでした。さらに、同じ条件でも答えは大きく揺れました。「タグを付ければCopilotが良くなる」と言い切るのではなく、「コードや管理番号で探す場面では、タグが役立つ可能性がある」と読むのが、今回のデータに合っています。

タグの自動付けは、Jevなら1,000件で約0.2ドル、ローカルLLMなら無料です。タグ付けのコストは小さいので、探したい情報が本文にない場面から、小さく試すのがよさそうです。

付録:技術者向けの詳細

検証の設定

  • データ:仕分け編の合成文書174件(開発用68件+評価用106件。評価用106件は、仕分け編の「本文が支持し、品質問題なし」の106件と同じ)。docxをSharePointのライブラリに置きました。
  • 列:JevDept、JevProject(複数選択)、JevDocType、JevSensitivity、JevActionRequired。Microsoft Graphで書き戻しました。
  • 権限:サイトにだけ書き込める権限のアプリ登録。検証後に、サイトへの権限、クライアント シークレット、アプリ登録を撤去しました(確認7項目すべてOK)。
  • Copilot:Work IQ + Think Deeper(新しいチャットのたびに選び直し。画面のモード選択には、「自動」「クイック応答」「Think Deeper(より良い回答のために長く考えます)」のほか、モデルを直接選ぶ項目もありました。今回はThink Deeperで統一し、裏で使われるモデルの名前は確かめていません)、メモリ・Web検索はoff。質問の前置きは、「jev-eval サイト」と書くものを採用しました(別の前置きと3問×6回で比べて、同点)。
  • 質問:36問(A15、B8、C7、D6)。毎回、新しいチャットで聞きました。
  • 索引:アップロードから約1時間で、全件に近い範囲に届きました。
  • 反映の確認(カナリア):値が条件ごとに違う文書3件で、列の値を聞きました。書き込みは5回でした。書き込みの終了から、none→Jev 4分、Jev→ローカルLLM 5分、ローカルLLM→正解 3分(1件は6分)、ローカルLLM→none 3分以内で、新しい値に変わりました。正解の2回目は、1回目の状態をそのまま使ったので、書き込みはしていません。正解→ローカルLLMの書き込みは、noneに戻す途中の経由で、ローカルLLMの2回目は聞かない方針に変えたため、反映の確認はしていません。

採点と統計

  • 再現率:正解の文書のうち挙げられた割合。適合率:挙げた文書のうち正解の割合。完全一致:挙げた集合が正解と一致した割合。人の判定を反映して採点しました。
  • 有意性検定は使っていません。質問ごとの差と、ブートストラップの95%区間(seed 20261009、10,000回)で見ています。区間は、回ごとの揺れを含みません。
  • 主の報告は、△を○として数える基準(提案)です。厳しい基準(strict)は参考です。

1回目:質問タイプ別の再現率

タイプ none Jev ローカルLLM 正解
A タグで絞る(15問) 0.83 0.81 0.67 0.81
C(7問) 0.93 0.93 0.79 0.93
D 番号だけ(6問) 0.00 0.42 0.33 0.50
検索系全体(28問) 0.68 0.76 0.63 0.77

Bの本文の答えは、noneとJevでともに1.00でした。noneとJevの比較では、適合率が0.72→0.81、完全一致が0.36→0.39でした。

2回聞いた条件を含む比較

範囲 none(2回) Jev(1回) ローカルLLM(1回) 正解(2回)
D以外の検索系(A・C)の再現率 0.82 0.85 0.71 0.78
D(番号だけ)の再現率 0.00 0.42 0.33 0.39

noneとの差の95%区間

Dは6問しかないため、区間は粗くなります。条件による差というより、傾向を示す目安として見てください。

比較 差 95%区間
正解−none(A・C) −0.034 0を含む
Jev−none(A・C) +0.033 0を含む
ローカルLLM−none(A・C) −0.106 0を含む
Jev−none(検索系28問) +0.115 0.014〜0.236(Dによる)
Jev−ローカルLLM(A・C) +0.139 0.026〜0.268(傾向)
Jev−none(D、再現率) +0.417 0.083〜0.750
正解−none(D、再現率) +0.389 0.139〜0.667
ローカルLLM−none(D、再現率) +0.333 0.000〜0.667(下限が0)
none 2回目−1回目(A・C) −0.093 −0.212〜−0.002

質問ごとの変化(Jev、noneとの比較)

改善6、悪化5、同じ22、保留3(のちに3問とも表記の違いだけと判定)でした。全体の伸びの大半はDによるものです。Aの悪化(A01・A03・A07・A12・A14)は、Jevのラベルが正解とずれる分と、Copilotの取りこぼし・余分が混ざっています。A04・A10は、ラベルにない正解を、本文で補いました。

Dの診断

  • (D01〜D06は、番号だけで探す6問の通し番号です。D01=案件コードP09、D03=P19、D05=P32かつ要対応、D02=P01など。)
  • D02・D04は完全一致、D06もJevのラベルどおりに答えました。
  • D01・D03・D05は「該当なし」でした。Jevは正解の全件にそのコードを付けています。該当文書の列の値を直接聞くと、3件とも正しく返りました。原因は、コードで絞り込む検索の取りこぼしです。
  • 名前で探す質問(A11)は6回すべて完全一致、同じ集合を番号で探す質問(D02)は6回中1回でした。

参考リンク

投稿日2026年10月30日

カテゴリーTech Blog

タグ LLM評価、Local LLM、Microsoft、RAG

トップへ戻る