1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

TL;DR: 著作権上の理由で第三者記事の本文を保存できない場合、「独自要約を作ってからベクトル化する」という回避策がよく使われる。実際に30記事で本文ベクトルと要約ベクトルを比較したところ、近傍記事の一致率はわずか3件中1件程度だった。本文ベクトルはトピックの近さを、要約ベクトルは物語構造の近さを拾っているように見え、精度が落ちた劣化コピーというより、別の軸を測る指標になっていた可能性がある。制約から生まれた回避策が、そのまま新しい発見の道具になっていたかもしれない、という話(30記事という小さな母集団での観察であることは留保しておきたい)。

同じ30記事を青い本文レンズと緑の要約レンズで見比べ、本文はトピック、要約は物語構造の近さを映す可能性を示した手描き図。

「似ている」をAIがどう判定しているか

普段の「検索」の多くは、キーワードの一致を頼りにしている。「SDGs」と入力すれば、「SDGs」という文字列を含む記事が返ってくる、という仕組みだ。

この記事で使っている「ベクトル検索」は、少し違う道具立てで動いている。AIが文章をひとつずつ読み込み、その意味を数百個の数値の並び(ベクトル)に変換する。似た意味の文章同士は、使われている単語が違っても、この数値空間の中で近い位置に集まってくる。逆に同じ単語を使っていても、意味がずれていれば遠い位置になる。

文字列の一致を探すキーワード検索と、海苔の話と先生の言葉の話を意味空間上で近く置くベクトル検索を対比した手描き図。

たとえば「捨てていた海苔に、実は価値があった」という話と「先生の一言をきっかけに、遠い『誰か』が身近な『あの人』に変わった」という話は、単語としての共通点はほとんどない。それでも「誰かの言葉や出来事をきっかけに、それまで見えていなかった価値に気づく」という意味では近い——ベクトル検索は、この種の"意味の近さ"を数値上の距離として捉えてくれる。

以下で「類似度」「近傍」と書いているのは、この数値空間上での距離のことだと思ってほしい。距離が近いほど、AIはその2つの文章を意味的に近いと判定している、ということになる。この記事は、その「距離の測り方」自体――本文で測るか、要約で測るか――が結果を左右するのかを調べた話だ。感覚としては、キーワード検索が「同じ言葉を探す」道具だとすれば、ベクトル検索は「似た意味を探す」道具だと考えると近いかもしれない。この"意味の近さ"という感覚は、実際のデータでどこまで信用できるのだろうか。

第三者の記事をまとめて分析したいとき、いちばん最初にぶつかる壁は著作権だった。無料で読める記事でも、著者に著作権がある。「読める」ことと「無期限に保存してよい」ことは別の話で、本文全文をずっと手元に置いておくわけにはいかない。

よくある回避策は、独自の言い換え要約を作り、その要約だけを保存することだ。要約なら「原文の言い換え」であって「原文の複製」ではない、という理屈が成り立つ。ベクトル埋め込みで類似度分析をしたいときも、この要約をベクトル化すれば、本文を残さずに済む。

第三者記事が永久保存の門で止まり、独自要約だけが保管庫とベクトル空間へ進む様子を示した手描き図。

実際にやってみるまで、これは単なる劣化コピーだと思っていた。本文をそのまま使うのが本来のやり方で、要約経由はその近似値にすぎない、と。

同じ30記事を、両方の方法でベクトル化してみた

30記事を本文レーンと約1割要約レーンに分け、同じ384次元モデルでベクトル化し、それぞれ近い3記事を求める比較設計を示した図。

文藝春秋×note共催のSDGsエッセイコンテストの受賞エッセイ30本を素材に、本文をそのままベクトル化した場合と、独自要約(原文の1割程度に圧縮)をベクトル化した場合を、同じ埋め込みモデル(intfloat/multilingual-e5-small、ローカルで動く384次元のモデル)で比較してみた。

それぞれの記事について「もっとも近い3記事」を求め、両方の方法でどれくらい一致するかを数えた。結果は平均1.03件(3件中)。

一致した近傍記事の数 記事数(30記事中)
3件とも一致 0本
2件一致 6本
1件一致 19本
1件も一致せず 5本

近傍3件の一致数別に、3件一致0本、2件一致6本、1件一致19本、一致なし5本、平均1.03件という結果を示した図。

3件とも一致した記事はゼロで、逆に1件も一致しない記事が5本もあった。

正直、ここまで違うとは思っていなかった。ただ、30記事という母集団の小ささも割り引いて見る必要がある。候補が29本しかない中で「上位3件」を競わせているので、僅差の順位はもともと入れ替わりやすい。この一致率の低さを、丸ごと「別のものを測っている証拠」と決めつけるのは早すぎるかもしれない。

トピックが近いのか、構造が近いのか

具体例を見ると、何が起きているのかがわかってきた。

ある記事は、海外旅行で目にした環境問題をきっかけに、日々の買い物の選び方を変えるようになった、という内容だった。本文ベクトルでこの記事に近いとされた上位3件は、下水処理をテーマにした記事リサイクルをテーマにした記事、そして子ども食堂での食の体験格差を扱った記事の3本。3件中2件は「環境・資源」という同じ話題で説明がつくが、3件目はそのくくりには当てはまらない。

一方、要約ベクトルで近いとされたのは、まったく別の3本だった。捨てていた海苔の価値に気づいた漁師の話先生の一言をきっかけに遠い「誰か」が身近な「あの人」に変わった記事、そしてドレスの仕立て直しの話。3件ともテーマはバラバラだが、そのうち2件は「誰かの一言や出来事をきっかけに価値観が変わる」という同じ骨格を持っていた。残る1件(ドレスの仕立て直しの話)は、要約を読み直すと「繕うことが好き」という一貫した職人の信念が軸で、この骨格には当てはまらない。実は最初の具体例の選び方自体が甘かったのかもしれない。

海外旅行をきっかけに買い物が変わった記事に対し、本文側は環境・資源の話題、要約側は価値観が変わる物語構造を近傍に返した例を示す図。

この具体例を見る限り、本文ベクトルはトピックの近さを、要約ベクトルは物語構造の近さを拾っているように見える。どちらが正しいというより、そもそも別のものを測っている可能性がある、というのが今のところの理解だ。

考えてみれば当然かもしれない。数百字の独自要約は、固有名詞や具体的なエピソードの多くを削ぎ落とし、「誰が」「何を」「どう感じたか」という骨組みだけを残す。本文が持っていたトピックの手触りは、その圧縮の過程でかなり失われる。逆に骨組みの近さは、圧縮したからこそ浮かび上がってくるのかもしれない。ただし、これは要約の作り方(どんな指示で圧縮したか)にも左右されるはずで、「要約すれば必ず構造が浮かぶ」という一般法則とまでは言い切れない。

長い本文を圧縮漏斗へ入れると具体的断片が落ち、人物・きっかけ・変化という骨組みが残る様子を示す図。

回避策のつもりが、別の道具になっていた

著作権上の制約から生まれた「要約経由でベクトル化する」という回避策は、少なくとも単純な精度劣化の代替手段ではなさそうだ、というのがここまでで言えることだ。近傍の一致率の低さと、1件の具体例だけからは、「別の軸を測っている」可能性が示唆された、というところまでで、まだ確定した結論ではない。

もしこの可能性が本当なら、実務上は地味だが重要な意味を持つ。本文を保存できる一時的な分析(トピックの近さを見たいとき)と、要約だけを永続的に保存して繰り返し使う分析(構造の近さを見たいとき)を、区別して設計する価値があるかもしれない。片方だけで両方をカバーしようとすると、知らないうちに違う質問に答えていることになりかねない。ただし、この使い分けを実務の設計指針として採用する前に、もっと多くの具体例で確かめる必要があるだろう。

一時的な本文分析ラボと、永続的な要約ライブラリを、質問を選ぶ研究者がつなぐ実務設計を示す図。

30記事という小さな母集団、候補29本中の上位3件、具体例1件、要約指示への依存を示し、発見は示唆であって一般法則ではないと伝える図。

もし本文ベクトルと要約ベクトルの両方が使える状況にあるなら、どちらか一方だけで満足するのは、もったいない選択なのかもしれない。


本記事はさくらインターネット「さくらのAI Engine 3,000リクエスト使い切りチャレンジ」への参加作品です。分析対象は文藝春秋×note「#未来のためにできること」エッセイコンテストの公開受賞作。本文/要約の比較はローカルの埋め込みモデルで行いましたが、シリーズ他記事の相関分析ではさくらのAI Engine(キャンペーン詳細)の文書RAG APIを利用しています。

気になった方は、リンク先の元記事もあわせて読んでみると面白いかもしれない。

1
0
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
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?