金曜日、社内のイベントでLTして個人開発の進捗を披露した。
- SVG Screenshotの第三世代
- ウェブページの任意の箇所を切り抜く技術について考えているプロジェクト
- GitHub - daiiz/svg-screenshot-3g: [WIP] SVG Screenshot 3rd generation
- これはまだ研究中なのでそのうち解説する
- だいぶ前に書いたBookmarkletのコードが読めなくて苦戦している
- 画像をデータソースとしたRAGシステム「Phonno」
- 脳内サークル 情報検索同好会 での取り組みのひとつ
- https://scrapbox.io/daiiz/Phonno
- 名前の由来は Photos + Annotations
Phonno史(前編)
2年くらい細々と開発を続けてきて知見が溜まってきている。ここまで長期なプロジェクトは自分にしては珍しいので歴史を簡単に振り返っておきたい。
- 自分のための写真検索システムとして開発開始
- Google Photosの写真を取り込んでスタート
- 写真に対して漠然とコメントを書くのは粒度の統一が難しいけれど、好きな場所をアノテーションして説明を書くといい感じに捗ることに気づいた。
- クロップした領域の画像をサーチボックスでクエリとしてサジェストする(画像IMEとも呼べる?)ことで商品や風景を言葉にすることなく検索できるようになった。
- 最近はGoogle Lensという強敵がいる。これよりも先に実用化できていたのは自慢できるかもしれない。
- 写真以外の画像も混ぜる
- スクリーンショットも取り込むと予想通り面白い
- 書籍のページ画像から実世界の写真を探せたりする
- 画像そのものがリンクとして機能しているような感覚がある
- 事実上、写真のみならず任意の画像に対応できた
- PDFファイルもバラせばページ画像の集まりとみなせるので対応できるということ
- 自分が所有する画像を定期的に取り込むスクリプトを書いてCloud Run jobsで動かす
- スクリーンショットも取り込むと予想通り面白い
- LLMの台頭
- ここまでは古典的な自然言語処理で実現していた。ようやくElasticsearchの扱いに慣れてきたところで、世間では大規模言語モデルとベクトル検索が盛り上がり始めた。まだキャッチアップしきれていない。題材としては絶対に向いているので早く移行を完了させたい。
- 画像を検索して提示するだけでなく、サマリーを生成できるようになった。やはり情報を文字として摂取できると満足感がある。たくさんの画像がヒットする賑やかさと文章で表現する知的さ、情報密度の高さのバランスを考え始めた。
- ここまでの開発記を本にまとめた
- 閲覧中のウェブページに関連する知識を探す