「静かで日当たりが良くて、在宅勤務しやすい感じの部屋がいいんですけど」
こういう相談を受けたとき、既存の物件検索サイトで何ができるか。間取り・賃料・駅距離の絞り込みがある。しかし「在宅勤務しやすい感じ」というのは、どのチェックボックスを押せばいいのか。「南向き」を選んだところで、隣に高い建物が建っていれば意味がない。「防音室あり」は条件にない。結局、候補をざっと出して、担当者が頭の中で「たぶんこれが合うかな」と絞る。
この「たぶんこれが合うかな」の部分を、サイト側が自動でやれないか。それを設計したときのメモです。
条件検索が届かない領域
条件検索は、値が決まっているものに強い。賃料7万円以下、2LDK以上、駅徒歩10分以内。こういう条件なら確実に絞れる。
問題は、顧客の要望の多くが「値」ではなく「印象」で来ることです。「明るい感じ」「静かな立地」「仕事に集中できそう」は、フィルタリングのキーになる数値を持っていない。条件検索で拾えるのは、顧客が自分でも言葉にできている要件だけ。まだ言語化されていない要件は、どのチェックボックスを押しても通らない。
担当者が何年も経験を積んで「この人にはこの物件が合う」と直感できるのは、顧客の発言と物件の雰囲気を照合する能力が身についているから。不動産の提案力の大半は、この「言語化されていない要件を汲む」部分にあると私は思っています。それをサイト側に持たせられないか、というのが出発点でした。
設計のアイデア
物件データには必ず「物件概要」「備考」「担当者コメント」といった自由記述の欄がある。「南向きで窓が大きく明るい」「閑静な住宅街で交通量が少ない」「書斎スペース向けにロフトあり」のような文章が入っていることが多い。
この説明文を、意味の近さで検索できる形に変換して保存する。顧客が「在宅勤務しやすい感じ」と入力したとき、その言葉の意味と近い説明文を持つ物件を引き出す。そこからさらに、顧客の要望全体を読んでLLMが「これが合いそうです、理由はこうです」と一言添えて返す。
仕組みとしては、物件データを定期的に取り込んで、説明文をベクトルというかたちで保存するデータベースを用意する。ベクトルというのは文章の意味を数値の並びで表現したもので、意味が近い文章は数値的にも近くなる性質を持つ。検索時はその数値的な近さで物件を拾い出す、という構造です。
AIにこう頼んだ
私はコードを自分で一から書かないので、やりたいことを日本語で渡して作ってもらいます。このときの頼み方は、だいたいこんな内容でした。
不動産の物件情報をFTPから定期的に取り込んで、データベースに保存したい。
- 物件ごとに「説明文」「担当者コメント」などのテキスト項目がある
- このテキストを、意味の近さで検索できるかたちに変換して一緒に保存して
- お客さんが「静かで在宅向き」「日当たりが良くてペット可」のように普通の言葉で入力したとき、意味が近い物件を上位に出してほしい
- ただ物件を並べるだけでなく、お客さんの要望を読んで「この物件が合いそうです、こういう理由で」という一文をつけて返してほしい
「意味の近さで検索できるかたちに変換して保存する」という指示を入れると、ベクトルへの変換と保存の仕組みを組んでもらえます。「普通の言葉で入力したとき」という言い方が、自然言語検索の要件をそのまま伝える書き方として使いやすかった。
必要なものと正直な注意点
同じことを動かすのに最低限必要なのは3つです。
- 物件データを定期的に取り出せる仕組み(FTPやAPIで物件情報が取得できること)
- ベクトルの保存と検索ができるデータベース(Supabase のような、pgvector対応のものが使いやすい)
- 説明文を意味ベクトルに変換するためのAIサービスへのアクセス
ただし、この設計には正直に言っておきたい制約があります。
ひとつは精度の問題。「在宅勤務しやすい」という言葉に意味的に近い説明文が出てきても、それが本当に顧客の期待に合うかは、試してみないとわからない。説明文の書き方が担当者によってまちまちだったり、そもそも備考欄が薄い物件が多かったりすると、精度は上がりにくい。
もうひとつは、物件数の問題。物件が少ない場合はベクトル検索の効果が出にくく、普通の条件検索の方が早いこともある。「うちには1万件ある」という規模になってくると、この仕組みが効いてきます。
この案件は提案・設計の段階で止まっています。「まず動くものを小さく作って精度を確認してから広げる」という進め方を勧めたので、実際のサイトへの組み込みはこれからです。
条件検索を残したまま、横に足す
条件検索を捨てる必要はない。「間取りと賃料で絞りたい人」はそのまま使えばいい。横に自然言語の窓口を一本足すだけです。
「なんとなくこんな雰囲気で」という人が言葉で投げると、今まで担当者が頭の中でやっていた「この物件が合いそう」の部分を、サイト側が返せるようになる。
「入れたら魔法のように解決する」とは言いません。物件数が少なければ効果は薄いし、説明文が貧弱な物件が多いと精度は落ちる。「まず動くものを作って精度を見てから広げる」というのが、私が今この設計で勧めているアプローチです。
ただ、問い合わせはあるのに成約につながりにくい、という不動産サイトには、試す価値はあると思っています。条件検索では届かない層に対して、何かを返せる手段が増えるだけで、状況は少し変わる。
