TL;DR: 著作権上の理由で第三者記事の本文を保存できない場合、「独自要約を作ってからベクトル化する」という回避策がよく使われる。実際に30記事で本文ベクトルと要約ベクトルを比較したところ、近傍記事の一致率はわずか3件中1件程度だった。本文ベクトルはトピックの近さを、要約ベクトルは物語構造の近さを拾っているように見え、精度が落ちた劣化コピーというより、別の軸を測る指標になっていた可能性がある。制約から生まれた回避策が、そのまま新しい発見の道具になっていたかもしれない、という話(30記事という小さな母集団での観察であることは留保しておきたい)。
「似ている」をAIがどう判定しているか
普段の「検索」の多くは、キーワードの一致を頼りにしている。「SDGs」と入力すれば、「SDGs」という文字列を含む記事が返ってくる、という仕組みだ。
この記事で使っている「ベクトル検索」は、少し違う道具立てで動いている。AIが文章をひとつずつ読み込み、その意味を数百個の数値の並び(ベクトル)に変換する。似た意味の文章同士は、使われている単語が違っても、この数値空間の中で近い位置に集まってくる。逆に同じ単語を使っていても、意味がずれていれば遠い位置になる。
たとえば「捨てていた海苔に、実は価値があった」という話と「先生の一言をきっかけに、遠い『誰か』が身近な『あの人』に変わった」という話は、単語としての共通点はほとんどない。それでも「誰かの言葉や出来事をきっかけに、それまで見えていなかった価値に気づく」という意味では近い——ベクトル検索は、この種の"意味の近さ"を数値上の距離として捉えてくれる。
以下で「類似度」「近傍」と書いているのは、この数値空間上での距離のことだと思ってほしい。距離が近いほど、AIはその2つの文章を意味的に近いと判定している、ということになる。この記事は、その「距離の測り方」自体――本文で測るか、要約で測るか――が結果を左右するのかを調べた話だ。感覚としては、キーワード検索が「同じ言葉を探す」道具だとすれば、ベクトル検索は「似た意味を探す」道具だと考えると近いかもしれない。この"意味の近さ"という感覚は、実際のデータでどこまで信用できるのだろうか。
第三者の記事をまとめて分析したいとき、いちばん最初にぶつかる壁は著作権だった。無料で読める記事でも、著者に著作権がある。「読める」ことと「無期限に保存してよい」ことは別の話で、本文全文をずっと手元に置いておくわけにはいかない。
よくある回避策は、独自の言い換え要約を作り、その要約だけを保存することだ。要約なら「原文の言い換え」であって「原文の複製」ではない、という理屈が成り立つ。ベクトル埋め込みで類似度分析をしたいときも、この要約をベクトル化すれば、本文を残さずに済む。
実際にやってみるまで、これは単なる劣化コピーだと思っていた。本文をそのまま使うのが本来のやり方で、要約経由はその近似値にすぎない、と。
同じ30記事を、両方の方法でベクトル化してみた
文藝春秋×note共催のSDGsエッセイコンテストの受賞エッセイ30本を素材に、本文をそのままベクトル化した場合と、独自要約(原文の1割程度に圧縮)をベクトル化した場合を、同じ埋め込みモデル(intfloat/multilingual-e5-small、ローカルで動く384次元のモデル)で比較してみた。
それぞれの記事について「もっとも近い3記事」を求め、両方の方法でどれくらい一致するかを数えた。結果は平均1.03件(3件中)。
| 一致した近傍記事の数 | 記事数(30記事中) |
|---|---|
| 3件とも一致 | 0本 |
| 2件一致 | 6本 |
| 1件一致 | 19本 |
| 1件も一致せず | 5本 |
3件とも一致した記事はゼロで、逆に1件も一致しない記事が5本もあった。
正直、ここまで違うとは思っていなかった。ただ、30記事という母集団の小ささも割り引いて見る必要がある。候補が29本しかない中で「上位3件」を競わせているので、僅差の順位はもともと入れ替わりやすい。この一致率の低さを、丸ごと「別のものを測っている証拠」と決めつけるのは早すぎるかもしれない。
トピックが近いのか、構造が近いのか
具体例を見ると、何が起きているのかがわかってきた。
ある記事は、海外旅行で目にした環境問題をきっかけに、日々の買い物の選び方を変えるようになった、という内容だった。本文ベクトルでこの記事に近いとされた上位3件は、下水処理をテーマにした記事、リサイクルをテーマにした記事、そして子ども食堂での食の体験格差を扱った記事の3本。3件中2件は「環境・資源」という同じ話題で説明がつくが、3件目はそのくくりには当てはまらない。
一方、要約ベクトルで近いとされたのは、まったく別の3本だった。捨てていた海苔の価値に気づいた漁師の話、先生の一言をきっかけに遠い「誰か」が身近な「あの人」に変わった記事、そしてドレスの仕立て直しの話。3件ともテーマはバラバラだが、そのうち2件は「誰かの一言や出来事をきっかけに価値観が変わる」という同じ骨格を持っていた。残る1件(ドレスの仕立て直しの話)は、要約を読み直すと「繕うことが好き」という一貫した職人の信念が軸で、この骨格には当てはまらない。実は最初の具体例の選び方自体が甘かったのかもしれない。
この具体例を見る限り、本文ベクトルはトピックの近さを、要約ベクトルは物語構造の近さを拾っているように見える。どちらが正しいというより、そもそも別のものを測っている可能性がある、というのが今のところの理解だ。
考えてみれば当然かもしれない。数百字の独自要約は、固有名詞や具体的なエピソードの多くを削ぎ落とし、「誰が」「何を」「どう感じたか」という骨組みだけを残す。本文が持っていたトピックの手触りは、その圧縮の過程でかなり失われる。逆に骨組みの近さは、圧縮したからこそ浮かび上がってくるのかもしれない。ただし、これは要約の作り方(どんな指示で圧縮したか)にも左右されるはずで、「要約すれば必ず構造が浮かぶ」という一般法則とまでは言い切れない。
回避策のつもりが、別の道具になっていた
著作権上の制約から生まれた「要約経由でベクトル化する」という回避策は、少なくとも単純な精度劣化の代替手段ではなさそうだ、というのがここまでで言えることだ。近傍の一致率の低さと、1件の具体例だけからは、「別の軸を測っている」可能性が示唆された、というところまでで、まだ確定した結論ではない。
もしこの可能性が本当なら、実務上は地味だが重要な意味を持つ。本文を保存できる一時的な分析(トピックの近さを見たいとき)と、要約だけを永続的に保存して繰り返し使う分析(構造の近さを見たいとき)を、区別して設計する価値があるかもしれない。片方だけで両方をカバーしようとすると、知らないうちに違う質問に答えていることになりかねない。ただし、この使い分けを実務の設計指針として採用する前に、もっと多くの具体例で確かめる必要があるだろう。
もし本文ベクトルと要約ベクトルの両方が使える状況にあるなら、どちらか一方だけで満足するのは、もったいない選択なのかもしれない。
本記事はさくらインターネット「さくらのAI Engine 3,000リクエスト使い切りチャレンジ」への参加作品です。分析対象は文藝春秋×note「#未来のためにできること」エッセイコンテストの公開受賞作。本文/要約の比較はローカルの埋め込みモデルで行いましたが、シリーズ他記事の相関分析ではさくらのAI Engine(キャンペーン詳細)の文書RAG APIを利用しています。
気になった方は、リンク先の元記事もあわせて読んでみると面白いかもしれない。








