ヤフー株式会社は、2023年10月1日にLINEヤフー株式会社になりました。LINEヤフー株式会社の新しいブログはこちらです。LINEヤフー Tech Blog

テクノロジー

開いているお店検索

こんにちは、R&D統括本部の吉田です。Yahoo!ラボで、開いているお店検索をリリースしたので、ご紹介します。


開いているお店検索とは?

開いているお店検索は、営業時間や、定休日の情報から、 今、営業しているお店を検索できるものです。

過去や未来の日時に開いているお店も検索でき、時間の流れに沿って、開いているお店の移り変わりをアニメーションで見ることができます。


開いているお店検索の狙い

開いているお店検索では、営業時間や定休日の情報を、電話帳データを元にWEBページをクロールして抽出しています。

電話帳データは、多くの店舗情報があり、Yahoo!地図で検索できる店舗の多くは、電話帳データの情報に基づくものです。
しかし、電話帳データは、店舗の名前や電話番号、緯度経度など基本的な情報しか載っておらず、営業時間や定休日といったリッチな情報は載っていません。

そこで、営業時間や定休日といった情報を、電話帳データをシードにWEBページをクロールして抽出することで、 電話帳データのリッチ化 をするというのが、開いているお店検索の狙いです。

Yahoo!地図で検索できる店舗の中には、Yahoo!グルメに載っている店舗など、営業時間や定休日があらかじめわかっているものもあります。
しかし、開いているお店検索では、「電話帳データを元にしたWEBページのクロール」というアプローチをとることで、今まで営業時間や定休日がわかっている店舗の、5倍以上の店舗 に対して、新たに営業時間、定休日の情報を付与することができました。

また、WEBページのクロール、営業時間や定休日の抽出、検索インデックス作成といった、 ほぼすべての処理をHadoopで行っている というのも大きな特徴になっています。
処理の過程で、HBaseも活用しています。
Hadoopについては、TechBlogで、何回か記事を書いているので、そちらを参照して下さい。

では、内部の仕組みについて、もう少し詳しく紹介します。


開いているお店検索の仕組み

開いているお店検索の仕組み

まず、電話帳データの「店舗名、住所、電話番号」をクエリとして、Yahoo!検索で検索を行います。
次に、その検索結果の上位のWEBページをクロールして、保存します。
そしてクロール結果のWEBページから、営業時間、定休日を独自のアルゴリズムで抽出します。
さらに、抽出した営業時間、定休日の信頼性をいくつかの指標に基づき、スコア付けします。

また、抽出した営業時間、定休日を正規化します。
例えば、「毎週日曜日が定休日、ただし月曜日が祝日である週の日曜日は営業」というお店は、内部で「W-7,-HW-1」というように正規化されています。
そして店舗ごとに、最も信頼性のスコアが高い、営業時間、定休日の情報を抽出します。

最後に、開いている店舗を検索できるように、検索インデックスを作成します。


今後の課題

このように、電話帳データをシードにWEBページをクロールすることで、営業時間、定休日の情報を抽出できました。
しかし、完全に信頼性があるデータかというとそうではありません。
今後は、信頼性向上を目指し、Yahoo! 地図の機能として導入を目指していきたいと思います。


(R&D統括本部 吉田一星)

こちらの記事のご感想を聞かせください。

  • 学びがある
  • わかりやすい
  • 新しい視点

ご感想ありがとうございました

このページの先頭へ