プログラミングが分からなくても、AIにお願いして子連れスポット1万件以上を集めた話
📌 記事の取り扱いについて(公開当時の内容を含みます — タップで詳細)
本記事は公開当時の体験・気づきをまとめたものです。現在のツール数・プラン数・対象年齢・記事数・仕様とは異なる場合があります。最新の内容は各ツールページをご確認ください。ツールや外部サービスの仕様・料金は変更されることがあるため、利用前には各公式情報も併せてご確認ください。記載に誤りを見つけられた場合はお問い合わせフォームよりご連絡いただけると助かります。
子連れで行ける場所を探せるサイト(子連れスポット検索)を作っているのですが、最初に困ったのが「スポット情報をどうやって集めるか」でした。
公園、道の駅、ショッピングモール、動物とふれあえる施設、果物狩り農園……と入れていくと、必要なデータはすぐに何千件、何万件という数になります。
自分で1件ずつ調べて入力するのは、とても現実的ではありません。
そこで使ったのが Claude Code です。プログラミングは詳しくないのですが、「茨城と栃木の道の駅を調べて」「千葉と東京のショッピングモールを集めて」というように、AIに地域ごとに分けてお願いしていきました。
ここで先に、大事なところを書いておきます。件数の大部分は、AIが施設を1件ずつ調べ上げたものではありません。地図の公開データ(OpenStreetMap)や、自治体が公開している公園一覧(市のサイトにあるExcel・PDF・CSV)、チェーン店の公式一覧などを、AIに地域ごとに取りに行ってもらって、バラバラの形式を1つにそろえてもらったものが土台です。そのうえに、自分で足したスポットが乗っています。(データの出典表記はサイト側にも入れています。)
この作業をしていた時点で、関東1都6県だけで1万件を超えていました(その後、対象は全国に広げています)。ツール自体の紹介は子連れスポット検索を作った話に書いています。1人で1件ずつ集めて形をそろえていたら、とても手が回らない規模です。
この記事は、ツールそのものの話ではなく、「どうやってAIに集めてもらったか」 の裏側の話です。
AIに作業を分けてお願いした
最初は、AIに全部まとめてお願いしていました。
ただ、関東全体の道の駅や公園を一度に集めようとすると、量が多すぎて途中で混乱します。
そこで、作業を地域ごとに分けました。
たとえば、
- 1つ目のAIには「茨城・栃木の道の駅」
- 2つ目のAIには「群馬・埼玉の道の駅」
- 3つ目のAIには「千葉・東京・神奈川の道の駅」
というように、同時に別々の作業をしてもらうイメージです。
これを使うと、自分ひとりでは何日もかかりそうな作業が、かなり短い時間で進みました。実際、ある回では1回の作業のうちに、関東全域の道の駅124件と、子連れ向けチェーン店139件をまとめて集めて、サイトに載せられる形まで整えてもらえました。
地図に表示するために、住所から緯度・経度を調べる
スポット検索では、地図上に場所を表示するために「緯度」と「経度」が必要です。
ただ、普通に施設名や住所を集めただけでは、地図には表示できません。そこで、住所から緯度・経度を調べる必要がありました。
最初は別の地図サービスを使っていたのですが、番地までは正確に出なかったり、たくさん使うには制限がありそうだったりして、少し困りました。
その後、国土地理院の住所検索の仕組み を使うようにしたところ、かなり安定して住所から緯度・経度を取れるようになりました。
ただ、ここは「返事が返ってきた=正しい場所」ではありませんでした。あとで4,370件をまとめて検算してみたら、結果が返ってこなかったのは7件だけだった一方、返ってきた座標のうち741件が元の位置とずれていて、中身を見ると「番地まで特定できたもの」と「町名の代表地点に丸められたもの」が混ざっていました。結局、番地まで確かめられた314件だけを新しい座標に入れ替えて、残りの427件は元に戻しました。
便利な仕組みですが、返ってきた答えを一段確かめる工程は外せない、というのがこのときの学びです。(無料で使いやすい仕組みですが、過度な負荷は避け、利用にあたっては国土地理院の規約や出典表記のルールを確認しておくのが安全です)
AIに頼むときに気をつけたこと
やってみて分かった、ちょっとしたコツです。
1. 1人のAIに「自分だけで完結するお願い」を渡す
複数のAIを同時に動かすと、お互いに何をやっているかは知りません。なので、1人のAIだけで終わる範囲のお願いに分けるのが大事でした。
「茨城の道の駅を調べて、決まった形で書き出しておいて」と頼むと、AIは1人で完結して仕事を終えてくれます。
2. 最後は、全体を見ているAIにまとめてもらう
複数のAIに同時に集めてもらったデータは、最後にまとめて整理する作業が必要です。担当ごとに少しずつ書き方が違ったりするので、各担当の結果を集めて1つの形にそろえる工程を、全体を見ているAIに任せました。
3. 同じ場所を二重に登録しないようにチェック
同じスポットを別々のAIが拾ってしまうことがあります。
そこで「だいたい同じ場所にあって、名前も似ていたら同じスポットとみなす」ようなルールでチェックして、重複を取り除きました。
ただ、隠れた重複もありました。たとえば「都立◯◯公園」と「◯◯公園」のように、頭に「都立」「県立」「市立」「国営」などが付くかどうかだけが違うパターンです。この回は、頭の部分を取り除いてから見比べる追加チェックを回して取り除きました(毎回の取り込みに共通して効く仕組みにするところまでは、このときはできていません)。
失敗例:県名が間違って入ってしまう問題
実際にデータを集めてみると、思わぬミスもありました。
たとえば流山市のお店で、市区町村の欄は「流山市」なのに、**都道府県の欄と住所の先頭が「東京都」**になっているスポットがありました。原因は県境そのものではなく、座標をざっくりした四角い範囲に当てはめて県を決めていて、その範囲が重なるところで先に東京都と判定してしまう、という処理でした。
このままだと、サイトで「東京都」を選んだときに、千葉県のお店が出てきてしまいます。ユーザーから見ると完全にバグです。
調べてみると、同じ原因のズレが計118件見つかりました。
そこで、住所の市区町村名から本来の県を判定して、登録されている県名がずれているものを一括で直しました。ただ正直に書いておくと、これは「見つかった分をまとめて直した」だけで、次に新しいデータを取り込むときに自動で効くところまではできていません。取り込み側にはいまも例のざっくりした範囲判定が残っているので、同じズレは再発しうる、という宿題つきです。
AIに頼むのが向いている作業・向いていない作業
やってみた感想として、AIに分けてお願いするのが向いているのは、
- 大量のスポット情報を集めるような 同じパターンの作業を繰り返すもの
- 1件1件が独立していて、お互いに関係しない作業
- 1人に書いてもらって、別の1人にチェックしてもらう、という作業分担
逆に、サイト全体の作りを変えるような「全体のつじつまを合わせる必要がある作業」は、1人のAIに連続でお願いしたほうが安心でした。
やってみて分かったこと
子連れスポットの大量データは、地図の公開データや自治体の公開一覧・公式のチェーン店一覧をAIに地域ごとに取ってきて整えてもらったものと、住所から緯度経度を調べる仕組み、そして自分で追加したスポット情報、の積み重ねでできています。
「AIに分担してもらう」という発想は、プログラミングが詳しくない自分でも、思っていたよりずっと使いやすかったです。同じように 大量の情報を扱いたい 場面があれば、地域や種類で分けて並列にお願いするやり方は、かなり試す価値があると思います。
← 他の制作記を見る | トップ | お問い合わせ