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
〇〇みたいな検索作ってと言われたときに考えること / thinking before dev...
Search
ryokato
July 29, 2022
Technology
6
3.7k
〇〇みたいな検索作ってと言われたときに考えること / thinking before developing search system like that one
ryokato
July 29, 2022
Tweet
Share
More Decks by ryokato
See All by ryokato
The first step self made full text search
ryook
8
6.8k
Other Decks in Technology
See All in Technology
サーバーレスで楽しよう!お気軽に始められる3つのポイント / Have fun with Serverless!
_kensh
2
230
パブリッククラウドのプロダクトマネジメントとアーキテクト
tagomoris
4
760
Grafanaのvariables機能について
tiina
0
180
BLEAでAWSアカウントのセキュリティレベルを向上させよう
koheiyoshikawa
0
130
プロダクト観点で考えるデータ基盤の育成戦略 / Growth Strategy of Data Analytics Platforms from a Product Perspective
yamamotoyuta
0
150
あなたの興味は信頼性?それとも生産性? SREとしてのキャリアに悩むみなさまに伝えたい選択肢
jacopen
6
3.1k
ObservabilityCON on the Road Tokyoの見どころ
hamadakoji
0
210
Agentic AI時代のプロダクトマネジメントことはじめ〜仮説検証編〜
masakazu178
3
380
ココナラのセキュリティ組織の体制・役割・今後目指す世界
coconala_engineer
0
220
Microsoft Ignite 2024 最新情報!Microsoft 365 Agents SDK 概要 / Microsoft Ignite 2024 latest news Microsoft 365 Agents SDK overview
karamem0
0
190
[TechNight #86] Oracle GoldenGate - 23ai 最新情報&プロジェクトからの学び
oracle4engineer
PRO
1
170
GitLab SelfManagedをCodePipelineのソースに設定する/SetGitLabSelfManagedtoCodePipeline
norihiroishiyama
1
120
Featured
See All Featured
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
113
50k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
248
1.3M
The Cult of Friendly URLs
andyhume
78
6.2k
Faster Mobile Websites
deanohume
305
30k
How GitHub (no longer) Works
holman
312
140k
Keith and Marios Guide to Fast Websites
keithpitt
410
22k
Producing Creativity
orderedlist
PRO
343
39k
The Cost Of JavaScript in 2023
addyosmani
47
7.3k
Measuring & Analyzing Core Web Vitals
bluesmoon
6
220
The Pragmatic Product Professional
lauravandoore
32
6.4k
BBQ
matthewcrist
85
9.4k
Build The Right Thing And Hit Your Dates
maggiecrowley
34
2.5k
Transcript
© VisasQ Inc. All Rights Reserved. 〇〇みたいな検索作って と言われたときに考えること
© VisasQ Inc. / Confidential 自己紹介 ▪ 加藤遼 ▪ 株式会社ビザスク
◦ 検索チーム ▪ 最近好きなビールのスタイル ◦ スムージーサワーエール(高いけど
© VisasQ Inc. / Confidential こういうことよくありますね 〇〇みたい検 索作ってよ 検索よくしたい よね〜
とりあえず 〇〇参考にし てみるか〜
© VisasQ Inc. / Confidential 他サービスを参考にするのはいいことだけど... ▪ 安易に採用するとうまくいかない可能性があります。 ▪ 今回は、「なぜうまくいかないかもしれないの?」の説明をします
© VisasQ Inc. / Confidential 大前提にあるべき大事なこと ▪ 検索機能はサービスの一部 ▪ 機能やロジック・精度以前に、ユーザーにどういう体験を提供するかが重要
▪ ユーザーによりよい体験を提供するために、「よい検索機能」や「よい検索精 度」というものが必要という順番
© VisasQ Inc. / Confidential 検索システム全体像 ▪ 検索機能は単純に見えて、考える要素は意外と多い ▪ 最低限の検索機能を実現するだけでも以下の要素が必要
検索エンジン 検索ロジック 検索機能/UI データ ユーザー
© VisasQ Inc. / Confidential 検索機能を考えるときの視点 検索エンジン 検索ロジック 検索UI データ
ユーザー ▪ 検索機能の考えるときに青枠部分だけに意識が向きすぎる ◦ 不幸な結果になる ▪ オレンジ枠から考えることが重要 ◦ 青枠部分はオレンジ枠の内容次第で変わる
© VisasQ Inc. / Confidential ユーザーってどんな人?? ▪ その検索機能を使うユーザーがどんな人か理解する必要がある ▪ 検索観点だと
◦ 何を検索したいのか ◦ どういう観点で検索したいのか ◦ 検索する対象について詳しいのか ◦ 検索することになれているのか ◦ 何を求めて検索するのか ◦ どういう動機なのか
© VisasQ Inc. / Confidential 検索と行動は一つじゃない ▪ 「検索する人は何かを探したい」という認識は雑 ▪ 検索という行為は、動機やそれに基づく検索行動は複数ある
▪ 例えば、ランチのお店を探すときにどういう動機でどういう検索するかを考え てください
© VisasQ Inc. / Confidential ランチのお店探す時の動機の一例 ▪ 「今日お昼何たべよ」 ◦ 探したいものを認識できていない状態
▪ 「暑いからさっぱりしたやつ...」 ◦ 方針はある程度見えているが具体性はない状態 ▪ 「会社から近い麺にしよ」 ◦ 具体的な条件が明確で、条件を満たすものを探す状態 ▪ 「〇〇に行こう。場所どこだっけ?」 ◦ 既知の特定の情報を探す状態 探したいものが明確 探したいものが不明確
© VisasQ Inc. / Confidential 誰がどういう動機・目的で何を探している(ニーズ)によって 「検索する」という行為も様々
© VisasQ Inc. / Confidential ニーズや動機による違い例 ▪ よくみるこの機能も誰でも使えるわけではない 検索 探したいものが不明確な人
探したいものに詳しくない人 何で検索した らいいの... 必要な情報 見つけた!! 探したいものが明確な人 探したいものに詳しい人
© VisasQ Inc. / Confidential ニーズや動機による違い例 ▪ もしこういう結果になったら発狂したくなりますね? 近くのサイゼリヤを探したい時 渋谷のイタリアンを探したい時
サイゼリヤ デートにおすすめ!渋谷イタリアン10選 家族連れもOK 気楽にいけるイタリアン ・ ・ ・ 渋谷 イタリアン サイゼリヤ渋谷東急ハンズ前店 サイゼリヤ恵比寿駅東口店 ・ ・ ・
© VisasQ Inc. / Confidential どんな機能が必要か、どんなロジックがいいのかは ユーザーのニーズによって異なる 他サービスの機能がそのまま自サービスの ユーザーニーズに一致するとはいえない
© VisasQ Inc. / Confidential うちのサービスのユーザーのニーズもバッチリ理解した! その上で参考になる機能を見つけた! よしこれ実装しよ!
© VisasQ Inc. / Confidential そうは問屋が卸さないのが検索システム
© VisasQ Inc. / Confidential 検索(システム)はそもそも... ▪ DBに存在する情報しか検索できない ▪ 完璧な機能(UI)とロジックでも、ないものを探すことはできない
© VisasQ Inc. / Confidential こういうのあるあるですね いや、そういうデータう ちにはなくて... この条件で検索した い!!!
その項目ほとんど入力 されてないんで... この項目で検索しても 全然ヒットしないんだ けど!!!!
© VisasQ Inc. / Confidential データ品質は検索体験に大きく影響する ▪ データの欠損 ◦ 一部入力されてない、入力されていても短くて十分な情報量がない、等
◦ 検索してもうまくヒットしない... ▪ データの信頼性が低い ◦ 入力内容が間違っている、形式がバラバラ、古くて更新されていない、等 ◦ 期待通りにヒットしない。間違った内容がヒットする。 ▪ 各社データの品質をあげるために、データを買ったり機械学習的なこと頑張っ たり、人手で整備する専任部隊を作ったり、様々工夫している
© VisasQ Inc. / Confidential その機能はそもそも... ▪ 他サービスの検索機能が実現できているのは、持っているデータに依存してい る可能性がある こういうのもカテゴリデータであったり、検索ログだったりといったものがあるからできる
© VisasQ Inc. / Confidential データの準備方法はサービスによって異なる ▪ データをどうやって準備されているかは様々 ◦ ユーザーが入力する、(信頼できる)特定の人が作成する、整備されたデータベース
を購入する、など ◦ 独自でデータを作っていたり ▪ サービスや準備方法が異なれば、データの特性も違う ◦ 表記ゆれが多いとか、入力が少ないとか、テキストより数値が多いとか ▪ 同じ事業ドメイン、似たようなサービス、似たようユーザーニーズであって も、持っているデータの違いから、同じ検索機能を提供できるとは限らない
© VisasQ Inc. / Confidential データの特性と品質を理解しておくのはとても大事
© VisasQ Inc. / Confidential 検索機能を考えるときは ▪ ユーザーに提供すべき体験、解くべき課題を明確にする ▪ 前提となるユーザーニーズやデータについて理解する
▪ 前提をもとにどういう手段が適切なのかを考える ◦ この段階で他サービスを参考にするとよい 検索機能はあくまでも手段なので目的をまちがえないように
© VisasQ Inc. / Confidential まとめ ▪ 検索機能やロジックは、ニーズやデータ特性によって何が適切かは異なる ▪ いい感じの検索機能やロジックを作るよりも、解決したい問題は何か、提供し
たい価値は何かという目的を明確にして最適な手段を選ぶことが大事 ◦ 実際は今回の話以外にも技術的難易度やコスト、ROI等色々なことを考慮する必要 がある
© VisasQ Inc. / Confidential Appendix ▪ もっと詳しく知りたい人は、ペンギン本こと「検索システムー実務者のための 開発改善ガイドブック」を読んでください。