LIFULL Creators Blog

LIFULL Creators Blogとは、株式会社LIFULLの社員が記事を共有するブログです。自分の役立つ経験や知識を広めることで世界をもっとFULLにしていきます。

自社開発AIによる「おとり物件」検知・自動非掲載機能の実用化に向けた取り組み

グループデータ本部データサイエンスグループの嶋村です。

今回は事業部門と研究開発部門が密に連携して「おとり物件」と呼ばれる社会課題の解決に挑んだ取り組みについて紹介したいと思います。この記事では主に研究開発部門の視点での発信になりますが、事業部門の視点での発信もありますので、是非下記の記事もご覧いただけると嬉しいです。

note.com

物件鮮度向上のための取り組み

LIFULLが運営する日本最大級の不動産・住宅情報サービス「LIFULL HOME'S」では物件鮮度の向上を目指しており、過去の第三者機関による調査では物件鮮度No.1を獲得しました。物件広告の中には「おとり物件」と呼ばれる「既に募集終了したが掲載され続けている物件広告」や「実在しない架空物件の広告」が存在し、物件鮮度を低下させる要因となっています。LIFULLには情報審査グループという広告審査の専門部署があり、正しい情報を利用者の方に届けるために、日々物件鮮度を維持・向上させるための取り組みを続けています。

おとり物件を見つけることは容易ではなく、本施策の検討以前は、エンドユーザや不動産会社からの通報を受け、情報審査グループが募集中の物件広告かどうか電話確認をする方法が中心でした。通報前におとり物件を検知しようと調査スタッフによる人手での検知を試みましたが、人手のみの対応では網羅性が下がってしまう点と検知精度も低く、かつ検知できる物件数も増やせないという課題がありました。その課題に対する一つの取り組みとして、機械学習等のAI技術を活用して自社開発AIを作り、自動でおとり物件を検知、そして自動非掲載することを目指す取り組みが始まりました。

今回の取り組みは研究開発部門が事業部門と密に連携してデータサイエンス業務を丁寧に遂行したという事例になります。取り組みを進めるにあたり、大小さまざまな障壁があり、それらを一つ一つ連携して解決していきました。事業部門もしくは研究開発部門だけでは解決が難しいこともあり、改めて同じゴールを目指して密に連携することの大切さを実感しました。その結果として、2025年1月9日より、『自社開発AIによる「おとり物件」の検知・自動非掲載を開始』することができました。

lifull.com

適用イメージと評価指標のすりあわせ

まず、最初に重要だと感じたことは、おとり物件を自動で検知できたとしてどのように業務に組み込むのか適用イメージのすりあわせと、その適用イメージに合わせた評価指標の設計でした。初期段階では「AI技術(機械学習)を適用すると精度が劇的に向上するのではないか」という期待が事業部門にありましたが、その「精度」とは何かのすりあわせを丁寧にしていきました。

精度という用語は良く使われますが、その定義次第では目指すものが全く異なってしまいます。データサイエンスにおいて有名な精度指標としては、以下の2つがあり、それぞれはトレードオフの関係性になります。

  • 適合率: おとり物件と予測した物件が実際におとり物件だった割合
  • 再現率: 真のおとり物件をどれだけおとり物件として検知できたかの割合

また、検知対象とする母集団をどのように捉えるのか、というすりあわせも重要だと感じました。初期段階では全国の物件に対して再現率をどこまで高められるのかを試しており、人手よりも機械学習の方が再現率は向上していきました。ただ、どこまで続けると再現率が100%に近づくのか見通しを立てづらく、また地域毎に物件数が異なるため検知しやすい地域と検知しづらい地域にばらつきがあることもわかってきました。

そこで中盤以降は「おとり物件を自動非掲載することを前提とし、確度高くおとり物件として検知できること」を重視することに切り替えました。そして、対象の物件を特定の地域に掲載されている物件に絞り、適合率を一定水準に維持し、その上で再現率を向上させていこう、という方針にしました。この方針では、見逃し(False Negative、偽陰性)は増えてしまうのですが、誤検知(False Positive、偽陽性)が発生すると広告掲載している不動産会社に迷惑をおかけしてしまうため、適合率の維持を最重視しました。

データの収集と理解

機械学習を適用するにあたり、学習データの収集がとても重要なプロセスであることは間違いありません。ここでは2つの面で苦労がありました。

  1. 既存のデータが学習データとして使いやすい形式ではなかったこと
  2. 学習データが少なかったこと

1について、従来はAI適用を前提とせず人手で電話確認をしていたため、電話確認した結果がスプレッドシートで記録されており、また記録形式も統一化されていませんでした。LIFULLではデータ基盤としてGoogle CloudのBigQueryを利用しているため、それらの既存データを学習データとして活用しやすいように加工してBigQueryへ格納するデータフローを作成しました。

2について、人手での電話調査で収集できる数が限られていました。そのため初期段階では少数データで試しながらも、学習データを増やすために継続して電話調査で学習データを収集しました。また、自社開発AIの精度が向上するにつれて、「自社開発AIがおとり物件と検知した物件だけを電話調査した方が良いのではないか」という議論もありましたが、学習データに偏り(バイアス)が生じてしまうため、無作為に抽出した物件に対する電話調査も継続し、バイアスの影響を軽減する方針にしました。

上記2点の対応をし、収集・蓄積された学習データの特性を理解するため、探索的データ分析(EDA: Explanatory Data Analysis)を実施しました。BIツールやスプレッドシートで各カラムの分布を可視化し、おとり物件に寄与しうる特徴量は何か、ということを継続的に議論しました。可視化することで、事業部門でも気付いていない傾向を発見するなど、新たな学びにつながりました。

精度向上に向けたアイデア出し

どのように精度を向上させるか、事業部門と研究開発部門の視点で、様々なアイデアを考えていきました。事業部門は事業ドメインに関する知識や経験が豊富であり、研究開発部門はデータサイエンスに関する知識や経験が豊富であるため、お互いの視点で忌憚なく意見を出し合うことが重要でした。

アイデアの中には「それは過学習につながってしまうのではないか」というアイデアや、「面白そうだけど現状の前提だと実現が難しいのではないか」というアイデアもありましたが、実際に試すことができるアイデアも蓄積されていきました。それらの中から、効果が見込めそうか、すぐに試せそうか、コストはどれくらいかかるか、という視点で優先度を付けていき、一つ一つ試していきました。

試してみてうまくいかないことも当然あったのですが、その際に「うまくいかなかったという発見は妥当な結論なのか」という視点を大事にしました。本来だとうまくいくはずなのに、実験方法が誤っている場合や、実験方法が不十分だった場合もありえます。そのため、結果も重要ですが、プロセスや考察(論理的な結論付け)を重要視しました。いくつものアイデアがあると、試すことを重視して駄目なら次へとなることもありますが、そこであえて立ち止まりじっくり思考を巡らせることも重要だと改めて感じました。

機械学習モデル作成のためのワークフロー整備

初期段階では事業部門で非エンジニアが運用できるようにと、Google Colaboratoryを使用して、学習や推論処理をしていました。ノートブック一つでWebで気軽に操作できるため、手作業は伴いましたが、定常的な処理や軽微な実験であれば十分対応できました。

一方、機械学習モデルの作成が本格化してくるとColaboratoryでは厳しく、中盤からワークフロー整備に取り掛かりました。事業部門での学習コストは大きくはなりますが、自社開発AIによる自動非掲載を実現するためには、避けては通れない道と考えました。今回はGoogle CloudのVertex AIを活用することで、学習パイプラインや推論パイプラインを作成し、手動対応が半自動化されて検証速度が向上し、効率的に様々な実験をできるようになりました。初期段階と比較すると、検証したモデル数が5倍程度と大幅増加したため、思いついたアイデアを迅速に試せるようになりました。

機械学習モデルの作成とチューニング

機械学習モデルはBigQuery ML・深層学習モデル・決定木モデルなど様々なモデルを試しました。学習処理や推論処理に要するコストと結果の解釈性などの観点で使用するモデルを選定していきました。

精度向上のために試したこととして、まず、それまでに使っているデータ以外に有用なデータが他にあるか調査をしました。別データを追加することで効果的な場合もあれば、ノイズとなって逆効果となってしまう場合もありました。

次に、特徴量(カラム)の加工や、特徴量の定義の見直しをしました。初期段階で暫定的に定義した特徴量もありましたので、改めてどのような定義が適切なのか考え、再定義をしました。また、おとり物件検知について早稲田大学と共同研究を実施しているのですが、共同研究で得た知見をもとに、特徴量を新規追加する試みもしました。

データの特徴として、正例と負例の比率が不均衡なデータだったため、正例であるおとり物件を検知しづらい難しさがありました。正例と負例の重みを変更する、アンダーサンプリングで負例を減らして正例と負例の比率を一定にする、といった工夫をしました。データ量は日が進むにつれて増えていき、正例と負例の比率も変化するため、定期的に候補となる手法の副作用が大きくないか慎重に確認し、適用する手法を選定していきました。

最後に、ハイパーパラメータチューニング(パラメータ探索)を実施し、精度向上につながりました。初期段階からハイパーパラメータチューニングは試して効果はあったのですが、結果を可視化して深く考察しているとパラメータ探索の範囲や刻み幅が限定的で改善の余地がまだまだあることに気付きました。ハイパーパラメータチューニングは時間や計算処理コストを要するため、できれば手軽に済ませたい手法ではありますが、しっかりと結果を考察し、どこまでパラメータ探索をするか見極めることが重要だと感じました。

おわりに

ここまで研究開発部門の視点で、自社開発AIによる「おとり物件」検知・自動非掲載機能の実用化に向けた取り組みに、どう向かったのか紹介しました。

今回記載した内容は決して最先端の技術を使った訳ではなく、データサイエンスの基本に沿って地道にAI技術を用いた検知の精度向上に向き合ったという事例になります。しかし、一足飛びでの精度向上は難しく、丁寧にデータサイエンス業務を継続することで精度向上が実現できる、と改めて実感しました。また、そのためにも、研究開発部門だけでは気付けない視点も多々ありますので、研究開発部門と事業部門との密な連携が必要不可欠であることは間違いありません。

最後になりますが、データサイエンスグループでは「活用価値のあるデータを創出」し「データを活用した新たな機能やサービスの研究開発」を加速して下さるシニアデータサイエンティスト(R&D)を募集しています。

興味を持っていただけた方は、カジュアル面談も行っていますのでお気軽にご連絡ください。

hrmos.co