横断ベクトル検索実験メモ2023-09-20
検索対象には他人のScrapboxのデータ、書籍や論文が含まれる
関連
生成結果をそのままレビューなしに公開することには何か問題が発生する可能性があるので、出力先は非公開のプライベートプロジェクトにした
その後のアップデートで検索にヒットした部分をそのままScrapboxに出力するように変えたのではっきりと公開不可能になった
https://gyazo.com/bb1a0bd6cb151fa1b6ffa2d7c498744c
こんな感じで作った赤リンクの先にAIによって自動的にページが生成される
実装
ローカルのpickleからロード
10万件のレコードを読むのに5秒程度
ローカルでベクトル検索を行うのに7秒程度
Webアプリのレスポンスと考えると遅いが、最近の「思いついたキーワードやページを投げておいて別の作業をし、しばらく経ってから見る」というスタイルでは問題にならない
クエリを投げてから僕が結果を確認しに来るまで(計測はしてないけど)10〜25分くらいある
そもそも更新頻度を10分に1回にしてて問題を感じていない
感想
本当に「すべてのデータ」でやるか、「このプロジェクト/nishioを除いたすべて」でやるか
titles: ["🤖🔁成功した知能", "🤖ねりねり", "Hatena2015-01-07", "🌀AIとの共同化", "まず個人の生産性を高める", "🌀成功した知能", "tkgshn/macOS MontereyでKarabinerが効かない"]
最後の一つはランダムかな
自分の書いたものを除外しないことによって予期しないつながりが見つかる可能性もあるかもしれないが、クエリーを作るのが僕なので僕の書いたものとは類似度高めになるのもそれはそうか、という気もする
「僕のデータ由来のAIを自分のWikiに住まわせてみる」に価値を見出している人がいるのも「異なる視点」が得られるからか
僕がなぜ自分自身のScrapboxからの検索でも異なる視点の価値を感じるのかは不明
「Aである」に対して「本当にAか?」みたいなことをよく書いてるせいか、はてなダイアリーを含めて10年以上の蓄積があるため同一個人でも十分に視点がばらついているのか、僕が「似ている→違いは?」思考によって差異を読み取る感度が高いのか 自分自身を除外した場合はこうなる(長いので不必要な詳細を少し削った)
titles: ["motoso/議論", "tkgshn/知識と知恵", "nishio-books/MOT知識創造経営とイノベーション 野中 郁次郎", "tkgshn/知識が事業と密結合", "mtane0412/無知の知によるサジェスト", "nishio-books/アイデア発想法と協同作業支援 宗森 純", "tkgshn/知識", "nishio-llm2023/知識創造過程を支援するための方法とシステムの研究", "blu3mo_filtered/知識と能力の二元論", "motoso/ワイズカンパニー", "blu3mo_filtered/勘定系システム", "tkgshn/デマ情報に対するワクチン", "motoso/Think different"]
結構ソースがバラついていて面白い
だが、このバラつきによって、今のプロンプトではあまり面白くないことを言ってしまう
ノートと...のフラグメントは、知識の結合や交換が新たな知識やアイデアを生み出すという点で関連している。
全部ではなく3つ選んで言及しているので、個別にどう関連しているのか語ってくれた方が面白いのに
これに関しては/nueの方の実装ではすでに改良されたプロンプトを試しているので今後逆輸入するつもり その後、タイトル1行ではなく複数行のテキストにコメントさせるスタイルなども試したが、生成された文章よりも検索結果自体の方が面白い
生成された文章が面白くないというよりは、ベクトル検索の結果を見ることが単純に面白い
自分のプロジェクトのデータでやった場合の生成結果の面白さを100とするなら、この実験での面白さが90で、ベクトル検索の結果が300くらい
面白過ぎて個別に色々書きたくなるのをグッと堪えてまずは今日の実験のまとめを書いてる
個別の話は過度に詳細だと思うので。
まあでも書籍の部分だけでも「本棚の前で語ると本が飛び出してきて関連したページが開く仕組み」をイメージしてもらえれば、そりゃ面白いよねという気持ちはわかってもらえるのではないか
Scrapboxを対象にした場合は相手が生きてるので(書籍ももちろん生きてる場合はある)ここでAIによって見出されたつながりによってその後その相手との話が盛り上がる可能性もある
というわけでコンソールに出力してるだけだったベクトル検索の結果をScrapboxにも書き込むようにした
これにより、当然書籍の一部とかがScrapboxに書かれるようになって、直接の公開は無理になった
まあ、元々こういうことをやっていくなら公開の場ではできないだろうことは想定の範囲内だったので既定路線
この検索結果の部分をAIの検索対象に含めるかどうかは悩ましいところ
関心のあることに関する断片が増えていく効果
たまたま隣り合った、同じキーワードに対する検索結果の断片が干渉して新しいものが生まれる効果
雑多な機械生成データが入力に戻ることによる悪影響
一旦、対象には含める、まずいと思った時に機械的に全部まとめて外せる仕組みにする
2023-10-05 よくないと思う、タイトルと内容のミスマッチで混乱する
まとめ
非公開プロジェクトにスマホとかで気軽に書き込むだけで、複数人のScrapboxプロジェクトと書籍と論文から横断でベクトル検索した結果を見れるようになった
今後使いながら改善していく
明示的にトリガーしたものだけじゃなくて自分のプロジェクトの最近の更新から1日1回くらい取ってきて勝手に生成しても面白いかも