LoginSignup
3
2
新規開発や新技術の検証、導入にまつわる記事を投稿しよう!

【GPT】結論ファースト以外もAIに分からせたい

Last updated at Posted at 2023-06-23

概要

  • 独自文書質疑でよく使われる、OpenAI Embedding(Ada v2)ベクトル変換の特徴を見た
  • 文章の先頭ほど重視される事が分かった
  • :new: HTMLのタグである程度制御できることが分かった

ポイント
HTMLファイルの前処理で、タグはある程度残すのも選択肢
HTML以外でも、重要箇所のマーカーとしてembeddingの際に付けるのもアリかもしれない

背景

前回の記事で、OpenAI Embedding(Ada v2)には、文書の先頭ほど重視される癖があることが分かった。

だがしかし、先頭以外に重要箇所がある場合もあるはず。それをAIに分からせる方法はないのか?という事で追加で調べてみた。検証環境などは前回参照。

結果

クエリ文
今日、私は田中とカラオケで遊んだ。

検索対象1(1行目がクエリ文)
今日、私は田中とカラオケで遊んだ。
昨日、兄は鈴木とドライブに行った。
明日、妹は両親と遊園地で楽しむ。

検索対象2(2行目がクエリ文)
昨日、兄は鈴木とドライブに行った。
今日、私は田中とカラオケで遊んだ。
明日、妹は両親と遊園地で楽しむ。

検索対象3(3行目がクエリ文)
昨日、兄は鈴木とドライブに行った。
明日、妹は両親と遊園地で楽しむ。
今日、私は田中とカラオケで遊んだ。

検索対象3の修飾例
昨日、兄は鈴木とドライブに行った。
明日、妹は両親と遊園地で楽しむ。
<title> 今日、私は田中とカラオケで遊んだ。 </title>

image.png

文章末に検索クエリがあるため、近い距離でHitしない検索対象3を、検索クエリに近くできるほど、その修飾はOpenAI Embedding的に強調効果があったことになる。

ポイント

  • HTMLのstrongタグが最強。 文頭クエリ文の検索対象1までの距離を半分詰めている
  • HTMLのtitle/h1なども効いているが、効果が弱くなるのと、本来の意味は強調ではないので、副作用が無いか気になるところ
  • Markdownの強調表現は、効かない
  • テキストで「重要」とか書いても、ベクトル強調の意味では効かない
3
2
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
3
2