Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
アソビュー!アプリで機械学習と検索エンジンを組み合わせたフリーワード検索はじめました
Search
kirimaru
March 14, 2024
0
220
アソビュー!アプリで機械学習と検索エンジンを組み合わせたフリーワード検索はじめました
「AWSを活用して実現する検索・レコメンドシステムのアーキテクチャ構築ノウハウ」にて発表した内容になります。
https://asoview.connpass.com/event/311697/
kirimaru
March 14, 2024
Tweet
Share
More Decks by kirimaru
See All by kirimaru
アソビュー!がECSではなくEKSを選んだ理由
kirimaru
0
3.1k
Featured
See All Featured
It's Worth the Effort
3n
183
27k
Rebuilding a faster, lazier Slack
samanthasiow
79
8.7k
A Modern Web Designer's Workflow
chriscoyier
693
190k
Bootstrapping a Software Product
garrettdimon
PRO
305
110k
Code Review Best Practice
trishagee
64
17k
Mobile First: as difficult as doing things right
swwweet
222
8.9k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
27
2k
Producing Creativity
orderedlist
PRO
341
39k
What's new in Ruby 2.0
geeforr
343
31k
Fantastic passwords and where to find them - at NoRuKo
philnash
50
2.9k
Making the Leap to Tech Lead
cromwellryan
133
8.9k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
28
9.1k
Transcript
アソビュー株式会社 アソビュー!アプリで 機械学習と検索エンジンを組み合わせた フリーワード検索はじめました asoview! tech playground #2
© ASOVIEW Inc. 2 自己紹介 霧生 隼稀 アソビュー株式会社 データ基盤チームリーダー X(旧姓Twitter):
@tvw_kirimaru データ分析や機械学習領域など幅広く対応しながら、アソ ビューのデータ分析基盤を構築中。 現在は検索領域も担当しています。
© ASOVIEW Inc. 3 ミッション 生きるに、 遊びを。 モノ消費からコト消費の時代へと 変化した現在。 物質的、金銭的な豊かさだけではなく
心の豊かさ「well-being」を実感できる社会を “遊び”を通じて実現します。 © ASOVIEW Inc. 3
© ASOVIEW Inc. 4 サービスの全体像 “遊び”市場に特化したプラットフォームを中心に4つの領域でサービスを展開 ゲスト 遊び予約サイト 業務DX ソリューション
次の休みは何しよう? パートナー 遊び体験を提供! 遊び体験をプレゼント アソビュー!に 遊び体験を掲載 アソビュー!で 遊びを予約 ウラカタで 業務管理・分析 地域の観光誘客を サポート 地域ソリュー ション 商品開発 販路整備 販売促進 アソビュー!で ふるさと納税 service 1 service 2 service 3 service 4 企業 顧客満足度を高めたい! 顧客への販促物として 体験ギフトを利用 地方自治体 観光を通して 地域経済を活性化したい! 休日・週末 旅行 体験事業者 レジャー施設 ふるさと納税 NEW 返礼品として 遊びをお届け アソビュー! ギフトで 知人に 遊び体験を プレゼント アソビュー!で 寄附額UP
© ASOVIEW Inc. 5 概要 休日の便利でお得な遊び予約サイト 月間PV数※ 3,800万 会員数 1,000万人
掲載プラン数 28,000件 何度も使いたくなる 3つのポイント point 1 point 2 point 3 お得に遊べる! ポイントやキャンペーンが満載! いつものお出かけスポットもお得に! 遊びが見つかる! 次の休みに行ってみたい 人気の遊びや新しいスポットが見つかる! カンタンWeb予約・並ばず入れる! 事前Web購入により現地での購入が不要に! 窓口に並ぶ必要が無いから、 当日の時間が有意義に! ※2022年8月実績
© ASOVIEW Inc. 6 フリーワード検索導入の背景 モバイルアプリの登場もあり 検索需要の高さと 現行の検索の課題感が大きくなってきていた 何度も使いたくなる
3つのポイント point 1 point 2 point 3 お得に遊べる! ポイントやキャンペーンが満載! いつものお出かけスポットもお得に! 遊びが見つかる! 次の休みに行ってみたい 人気の遊びや新しいスポットが見つかる! カンタンWeb予約・並ばず入れる! 事前Web購入により現地での購入が不要に! 窓口に並ぶ必要が無いから、 当日の時間が有意義に!
© ASOVIEW Inc. 7 ReBORN - モバイルアプリリニューアル https://tech.asoview.co.jp/entry/2023/12/18/130214
© ASOVIEW Inc. 8 この検索リニューアルは 「オプスデータ株式会社」さんと 協力して行いました。 ReBORN - モバイルアプリリニューアル
「自分に合う遊びを見つけられるサービスに生まれ 変わる」ことを目指し、今まで導入できていなかった フリーワード検索を約4ヶ月間のプロジェクトで開発 からリリースまでを行った。 https://www.opsdata.co.jp/
© ASOVIEW Inc. 9 アソビュー!では様々なシチュエーションに合わせ た数多くの「遊び」を提供している。 データを分析した結果、遊びに行く人のペルソナに よって人気の行き先が大きく変わることが分かって いた。
そこで、遊びに行く人のペルソナを考慮した提案の ために 「ファミリー」 「友人・カップル」 「おひとり様」 と表示順や表示内容を出し分けるように変更。 アソビューだからこその要素
© ASOVIEW Inc. 10 アソビューだからこその要素 各施設やイベントの口コミからその施設やイベント の「見どころ」を抽出。 これにより、行った人が本当に魅力だと感じている 部分を機械的に抽出できるように。
総口コミ数 110万件
© ASOVIEW Inc. 11 アソビューだからこその要素 この「見どころ」を検索にも活用することで、施設説 明だけでは見つけられない検索条件や、ドルフィン スイムと水族館を一緒に検索することが可能に! 水族館A
水族館B 動物園A 動物園B ペンギン, クラゲ, アシカ, 屋外, 空飛 ぶペンギン, 海月, カワウソ イルカ, シロイルカ, イルカショー, カワ ウソ, マーラ ペリカン, ハシビロ コウ, スナネコ, マ ヌルネコ, トナカイ, ラクダ 風太, ジット, ス コール アシカ, ハ シビロコウ, レッ サーパンダ
© ASOVIEW Inc. 12 「見どころ」の抽出にあたって 遊びの領域には単語同士を組み合わせた語句や 独自の単語が多い。 スカイツリー ホワイトタイガー イルカショー
シルバーアクセサリー いちご狩り 東武動物公園 猫カフェ
© ASOVIEW Inc. 13 「見どころ」の抽出にあたって 分かち書き用の辞書にユーザー辞書を追加し w2v のモデルを独自に学習させることでアソビュー!上 で頻出する単語に対応できるように調整。
※ 下は「日本語 Wikipedia エンティティベクトル」を利用しています。 https://www.cl.ecei.tohoku.ac.jp/~m-suzuki/jawiki_vector/
© ASOVIEW Inc. 14 アソビューでは元々Amazon OpenSearch Serviceを活用していた。 今回そこに抽出した「見どころ」をベクトル化して index上に保存し、フリーワード検索に活用してい る。
これにより単純な全文検索だけでなく、ベクトル検 索も合わせて実行できる状態を作ることができ、拾 える範囲が大きく広がっている。 また、OpenSearch内でソート条件を調整すること で、柔軟に変更できるようになっている。 Amazon OpenSearch Serviceを使ったベクトル検索 https://aws.amazon.com/jp/blogs/startup/tech-interview-asoview-2023/
© ASOVIEW Inc. 15 マイクロサービス化による負荷軽減 アソビューでは基本的にJavaを利用してアプリケー ションが作成されている。 しかし、フリーワード検索ではPythonで利用するこ とを前提としたw2vのモデル等を活用する必要が あった。そこでPythonのマイクロサービスを構築
し、indexするデータも別途バッチを用意しオンライ ン処理を最小化する形に。 各アプリケーション間の通信はgRPCで、Python のマイクロサービスから返却された検索条件を短 期間キャッシュすることで負荷も軽減できた。 この結果、現在多い時で約300req/分の検索をエ ラーなしで実現させている。
© ASOVIEW Inc. 16 マイクロサービス化による負荷軽減 負荷の軽減やJava側の実装の簡略化を目的とし て、OpenSearchのindex更新にはバッチでの更 新とニアリアルタイム更新がある。
見どころの生成など、処理に時間がかかる処理は 事前にバッチを使ったオフライン更新をしており、 「在庫」など随時更新されるような項目は、更新が あったことを「Kinesis Data Streams」を通してニ アリアルタイムで更新をしている。
© ASOVIEW Inc. 17 とはいえ... • 既存のindexを改修して作ったフリーワード検索なのでまだまだ課題は多い ◦ フリーワード検索ができるようになったことで、何を求めて検索しているかが見えて来ている
が、想定とのギャップもあった。 ◦ リニューアルは行ったものの、現在も継続的に改善を進めている & 今後も進めていきます。 • 機械学習モデルを活用したアプリケーション構築経験がアソビューにないので、モデルのバージョン 管理などが今後の課題として上がっている。
© ASOVIEW Inc. 18 WE ARE HIRING!! https://www.asoview.co.jp/career/engineer
生きるに、遊びを。