131工程分の写真をWikimedia Commonsから集め、AIに一覧画像を見せて選ばせた
執筆・制作:何でも自作する人(運営者について)
個人開発 / AI / Wikimedia Commons / 画像
原料から廃棄までをたどる自作アプリ「物の一生ビューア」の工程カードに、実写の写真を入れることにしました。対象は20品目・131工程です。
写真は、自由に使えるものを集められる Wikimedia Commons から探しました。最終的に131工程中92工程に写真を載せ、残りの39工程は「載せない」と決めました。その過程で詰まったことと、候補を一覧画像にしてAIに目で選ばせた方法をまとめます。
最初は検索結果が空だった
Commons の検索APIを呼ぶスクリプトを作って実行すると、ほとんどの検索が空で返ってきました。
原因は2つありました。
- HTTP 429(Too Many Requests):短い間隔で連続して呼んだため、制限に当たっていました
- 検索語が長すぎた:すべての単語を含む写真が存在せず、0件になっていました
特に厄介だったのは、1つ目です。スクリプトがエラーを握りつぶしていたため、429 が 「写真が0件だった」ように見えていました。エラーを捨てずに記録していれば、すぐ気づけたはずです。
直し方
- 429 のときは、待ち時間を伸ばしながら再試行する。1リクエストごとに間隔も空ける
- 失敗した品目だけをやり直す
- 検索語は、見つかるまで後ろの単語を1つずつ削る方式にする
ライセンスで候補を絞る
自由に使えるといっても、写真ごとにライセンスは違います。候補にするのは、CC0、CC BY、CC BY-SA、パブリックドメインのものだけにしました。
表示するときは、撮影者、ライセンス、元のファイルページへのリンクを出します。さらに「イメージ写真」と明記しました。工程が行われる実際の場所の写真とは限らないためです。
一覧画像を作ってAIに選ばせる
候補は1工程あたり数枚あり、131工程分を人間が1枚ずつ見るのは大変です。タイトルや説明文だけで選ぶと、地図や古い書類の画像が混ざります。
そこで、品目ごとに一覧画像を作りました。行が工程、列が候補4枚です。これをAIエージェントに見せて、画像を見ながら選ばせました。
- 地図、古い書類、関係のない建物は外す
- 工程に合う写真がなければ「載せない」とする
一覧にして1度に見せると、速く、判断もそろいました。結果として131工程中92工程に写真を載せることができました。
学んだこと
- 無料のAPIでは、429 を握りつぶすと「0件」に見える。エラーは捨てずに残す
- 画像を大量に選ぶときは、1枚ずつ聞くより、一覧にして見せて選ばせるほうが速い
- 合う写真がないときは、無理に載せずに空けておく