2018の5日目の記事です。4日目の記事は、SREの井上の「超手軽に構築する!サーバレスなWEBパフォーマンス定点観測基盤」でした。WEBパフォーマンスの定点観測・分析に興味がある方はぜひ読んでみてください。tech.dely.jpはじめに私はdelyに入社した2018年1月から検索エンジニアをしています。delyが運営している料理動画アプリ「クラシル」では訪れたユーザーのほとんどが検索をする、いわば検索がコアになっているサービスです。検索エンジニアとしてその検索体験を少しでも向上させるべく日々試行錯誤しています。弊社のエンジニアが検索体験について語っているインタビュー記事もありますので、ぜひご覧ください。careerhack.en-japan.com私が入社する前まで弊社には検索エンジニアという役職は存在せず、他の役職のエンジニアが検索部分を掛け持ちで担当していました。従って、会社にとって検索エンジニアという役職を置くのは初めての試みでしたし、私自身も検索エンジニアという役職についたのは今回が初めてです。この記事ではクラシルの検索を改善するために、検索エンジニアとして1年間クラシルの検索に向き合った記録をお届けします。検索エンジニアを目指している方やサービスを運営していて「検索機能は提供しているけどなかなか手をつけれていない」と悩みを抱えている方にとってこの記事が少しでもご参考になると幸いです。検索エンジニアになって特に気にかけたのがこの検索離脱率という指標でした。入社当初は「一般的な検索離脱率が何%くらいなのか」という知見すらなかったため、その数値が高いのか低いのかすら判断ができませんでした。調査を進めていくうちに、検索離脱率が高い一番の理由は辞書シノニムであることに気づきました。辞書シノニム管理の運用についての詳細はこちらに記載しています。tech.dely.jp検索キーワードごとに検索離脱率を出し、検索離脱率が高いキーワードから優先的に対処していきました。辞書シノニム改善をはじめてすぐに結果が表れ、運用を地道に続けていると結果的に検索離脱率を5%以上低下させることができました。結果:検索結果0件のキーワードを1000個以上削減・対応し、ユーザーの検索体験を向上させることが出来ました📒クラシルには23,000件以上のレシピ動画があり一般的な料理はほぼ網羅していますが、たまに検索結果が0件のキーワードが見つかります。「今流行りのチーズドッグを作りたい!」と思って「チーズドッグ」と検索してくれたとしても検索結果が0件だと、検索体験は非常に悪いですよね。検索結果が0件の要因は主に2つあります。1つは先ほど上述した辞書シノニムが未整備の場合、もう1つはそのキーワードに合致するレシピがそもそも存在しない場合です。キーワードに合致するレシピがそもそも存在しない場合は、調理部さんと相談してレシピ動画を作成していただきます。検索結果が0件キーワードの一覧の生データをただ渡すだけだとレシピのかぶりが発生してしまったり、実は既にレシピ作成中だったりして手間が発生してしまうので、調理部さんにも定期的にアドバイスを伺い工夫しながらデータをお渡ししています。辞書シノニムの改善と新たにレシピを作成してもらったことで1年間で少なくとも1000個以上のキーワードに対応することができました。チーズドッグ』も調理部さんと相談して作成していただいたレシピのひとつです。今ではたべれぽが50件以上ある人気のレシピです。結果:人気のキーワードの機能追加により、入力の手間を省きタップするだけで人気のキーワードで検索できるようになりました👆また、この機能は分析・改善もうまくいっています。今年新しくリリースされた機能の1つに、"人気のキーワードの表示"があります。クラシル内でよく検索されているキーワードや急上昇しているキーワードを表示する機能です。クラシルの人気のキーワード機能🎖1.検索窓をタップ2.人気のキーワードが表示されます。2018年12月5日ハロウィンなど特別なイベント時にはそのイベントに関連する人気のキーワードを表示するようにしました。この施策はとても数値がよかったです🎈ハロウィンの時の人気のキーワード人気の検索キーワードでどのキーワードがクリックされやすいかなどを分析し、それに基づいて運用方法を改善したり新たな施策を考えたりしています。その分析結果を定期的に社内共有サービスにレポートしています。人気の検索キーワード(新規機能)の分析を始めた際に学んだことを共有しておきます。新規機能をリリースした後「全体の何%にこの機能は使われているのか」や「どれくらいの人がこの機能を使ってくれているのか」などを必ず調べると思います。リリースしてすぐに分析してしまうと、まだアプリのバージョンをアップデートしていないユーザーも多く正確な概算値を測ることができません。人気のキーワード機能はリリースしてから約10日間経ってからイベント数が落ち着きました。2週間ほど経ってから数値が落ち着きました他の新規機能でも約2週間経ってから数値が落ち着いた事例があります。新規機能は2週間以上たってはじめて全体の何%に使われているのかがわかるということです。(私はこのことを知らずにリリースして1週間で速報値をレポートしてしまいました😨)クラシルでは開発のサイクルがとてもはやい反面、既にリリースされた機能に対してケアできていないことも何度かありました。人気の検索キーワードはリリースされてからも継続的に分析することでうまく改善を回せている好例だと思います。結果:検索品質ガイドラインを策定し、クラシルの検索の方向性をドキュメント化しました👣ただし運用に難ありです。Googleには検索エンジンの品質を評価するために検索品質ガイドラインを設けています。Googleのを参考にクラシルでも検索品質ガイドラインを策定してみる挑戦もしました。Guidelines(Google検索品質評価ガイドライン)tech.dely.jpただ、これは作ったばかりで改善の余地が多いのと運用がままなっていないという現状があります。今年から検索絞り込み機能も増えました。含めたくないキーワードやジャンル、15分以内で作れる料理など特定の条件に応じて絞り込むことができる機能です。検索絞り込み機能は、ユーザーからこういう機能がほしい!とアプリレビューやCSを通して要望のあった機能のひとつです。社内でもこんな機能があればいいね〜と案で上がっていました。私は主に分析を担当したのですが、実際にリリースしてみると想定より利用者数がものすごく少なかったのです。具体的にいうと検索ユーザーの数%(一桁)しか絞り込み機能を利用していなかったのです。ジャンルの精度が悪いのかな?と思い精度をほぼ100%にしましたがそれでも使ってくれるユーザーの数は増えませんでした。数値を見守り続けたところ、少ないのではなくこれが定常的な値ということがわかりました。検索をした後になにかタップする障壁がいかに高いのかを思い知らされた反面、通常の検索でユーザーが求めているものを検索結果を叶えなければ...と強く感じるのでした。結果:情報収集を地道に続けた結果、クラシルの検索ログを深い視点で見ることができるようになりました!検索エンジニアはユーザーがどんなキーワードで検索しているか毎日チェックします👀クラシルの検索キーワードのログから以下のことを確認します。ユーザーがどんな食材でレシピを探しているのかどんなキーワードが急上昇しているかいまトレンドの食材/メニューはなにか検索下位にはどんなキーワードが入っているか(辞書シノニムが未整備の可能性が高いため)検索ログの意味合いをきちんと読み取るために、世間一般の食にまつわる情報をたくさん検索し情報収集しています。ユーザーはクラシル以外にも無数の食との接触点を持っています。「新大久保で流行っているメニューをクラシルでも作りたい」「テレビで〇〇がダイエットに効くって評判だけどクラシルでもその食材を使ったレシピあるかな?」などそこから食べたいものや作りたいレシピを決めることも多いでしょう。検索情報共有の一部さいごにクラシルの検索を改善するために、検索エンジニアとして1年間クラシルの検索に向き合った記録をお届けしました。いかがでしたでしょうか。「自社の検索の性質をよく把握し、その性質に合わせて検索改善・分析をすることが重要」ということです。うまくいかなかったり、周りに同じ職業の相談相手がいなくて悩むことがとても多かったり......。この1年間やってきたことは無駄ではなかったと思います。無駄ではなかったと思いたいし、思い切りたいです。検索エンジニア2年目は1年目よりももっと検索をよくできると信じています。いつか胸を張って検索エンジニアですといえるようになりたいです。blog」の話が書かれます。dely株式会社サーバーサイドチームの安尾です。機械学習エンジニアの辻です。2018の7日目の投稿です。月別アーカイブはてなブログをはじめよう!delyjpさんは、はてなブログを使っています。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。