「欲しいけど、名前がわからない」を解決。メルカリ写真検索機能の誕生秘話

「たまたま見かけた、あの靴が気になる!」「欲しいんだけど商品名がわからない!」。そんなときに使える新機能が2019年3月、フリマアプリ「メルカリ」内でリリースされました。その名も「写真検索機能」です。

写真検索機能とは、お客さまのカメラや写真データをもとに、1億点近くの出品データから見た目が似ている商品をメルカリ内で検索できるというもの。まさに、お客さまの「欲しい」から「購入」までを直感的につなげる新機能です。

実はこの写真検索機能、メルカリで機械学習などの技術で開発を行うAI Engineeringが大切に温め続けてきたアイデアでもあります。ではなぜ、このタイミングでリリースすることになったのでしょうか? そこでさっそく、今回のプロジェクトに関わった機械学習エンジニアの千葉竜介(以下、@metalunk)とプロダクトマネージャーの菱井康生(以下、@hisshy)に直撃インタビュー。話を聞いてみると、そこには「機械学習×メルカリ」ならではの難しさ、そして「お客さま体験」への強いこだわりがありました。

感動出品、カスタマーサービス用ツールを経て生まれた、写真検索機能

ーメルカリに、写真検索機能が実装されました! 改めて、このプロジェクトに関していろいろなお話を伺っていきたいです。まず、このプロジェクトはいつ頃からスタートしたのでしょうか?

@metalunk:僕は2017年4月にメルカリへ入社しています。しかし、「画像データを使った商品検索機能をつくりたい」という構想は、そのころからAI Engineering内で話されていましたね。

f:id:mercarihr:20190409151948j:plain
@metalunk(機械学習エンジニア)

ー約2年も前からですか……!

@metalunk:そうです。メルカリでは、機械学習を取り入れた機能をつくり出そうと、さまざまな検証をくり返していました。代表的な例は、写真検索機能と非常に近いロジックを持つ「感動出品」と呼ばれる機能です。これは、お客さまの出品画像から商品名やカテゴリー、ブランドといった情報を解析し、自動入力してくれるもの。その後、違反出品物を探すためのカスタマーサービス用の写真検索機能開発などを経て、「いよいよお客さま向けの検索機能としてリリースできるのでは」という機運が高まっていきました。

@hisshy:僕がメルカリに入社したのは2018年7月。もともと画像データを使った機能開発に興味を持っていたので、入社してすぐ、当時のマネージャーだった森山大朗さん(現Data Engineering Director)に「画像だけで検索できたら素敵じゃないですか?」と提案したんですよね。そうしたら、大朗さんから「もう動き出しているんだよね〜」と言われて(笑)。すぐに、このプロジェクトに入れてもらいました。

f:id:mercarihr:20190409152006j:plain
@hisshy(プロダクトマネージャー)

ーまさに絶好のタイミングで、@hisshyさんがジョインしたということですね。では、本格的に動き出したのは2018年7月頃から?

@hisshy:そうです。しかし、最初から十分な開発リソースがあったわけではありません。集まったメンバーも、本業務の傍らで機能開発に参加していました。そのため、常にリソースが限られている状態で、年末まで細々と開発をしていたんです。年明けからは新メンバーがジョインしたこともあり、リリースまで一気に開発を進めていきました。

検索結果が増え続ける「機械学習×メルカリ」の難しさ

ー感動出品、カスタマーサービス用ツールを経て、今回の写真検索機能にたどり着いた背景について、よくわかりました。しかし、当初から構想はあったものの、最初から「写真検索機能をつくろう!」とならなかったのはなぜでしょうか?

@metalunk:はっきり言って写真検索機能は、とても工数がかかる開発です。メルカリはCtoCサービスのため、ECサービスとは違った特有の難しさがありました。

ーそれは、どういうことでしょうか?

@metalunk:メルカリは嬉しいことに、多くのお客さまにご利用いただいています。そんなサービスであるということは、日々新たな出品がされているということ。写真検索機能は、お客さまが出品してくださる画像が検索結果に紐づいています。お客さまに出品していただく限り、検索結果も更新し続けなければならないのです。

ー常に出品され、検索結果が増え続けることが「機械学習×メルカリ」特有の難しさ?

@metalunk:そうです。1日に100万点出品されるとしたら、3ヶ月後には9,000万点が検索対象になっている。写真検索機能に関しては、そういった出品物を検索対象に含めます。そこで、AI Engineering内にあるSysMLチームの内製プラットフォームを使い、自動的に専用データを生成し、定期的に更新される仕組みづくりも同時に進めていました。くわしくはメルカリのエンジニアリングについて紹介する「Mercari Engineering Blog」に書いているので、技術に関してはこちらを見てもらえるといいかもしれません。

tech.mercari.com

ーなるほど。

@metalunk:それに加えて、写真検索機能は物体認識、特徴量抽出など機械学習の精度を高める多くの要素と連動しつつ、かつすべてが正常に動いている必要がありました。なんと言うか、ピタゴラスイッチを組み立てているような感覚で開発をしていましたね。

f:id:mercarihr:20190410183748j:plain

ーピタゴラスイッチ?

@hisshy:ピタゴラスイッチは、1か所がダメになるとすべて崩れてしまいます。今回の写真検索機能もそれでしたね(笑)。CtoCサービスでは、検索結果だけでなく、機能が活かされる環境や利用シーンは、すべてお客さま側に委ねられています。僕らとしては、そのなかでいかに多くのお客さまにとって、よりよい体験につなげられるかを追求し続けていきました。

画像検索ではなく「写真検索」と名付けた背景にあるもの

@hisshy:このまま話を続けさせてもらうと、「多くのお客さまにとってよりよい体験」という点でこだわった機能に「物体検知機能」があります。これは、お客さまが撮影した写真から検索したいものを指定できる機能。そのため、複数の商品が写っていたとしても、1つ商品を絞り込んで検索することができます。

f:id:mercarihr:20190410054941p:plain
物体検知機能を使い、検索したい商品を絞り込むことができる

ー自分で指定できるのはいいですね。これは当初から考えられていたものだったのでしょうか?

@hisshy:当初、この機能は検索したいものを指定できない仕様でした。ぶっちゃけると、お客さま側で商品を指定し、検索してもらうという流れはUIに落とし込みにくく、さらに開発コストがとても高くて難しい。ですが、同僚のプロダクトマネージャーたちからフィードバックをもらいながら「せっかく撮影しているのに、違う商品が検索されてしまうのは残念」「再度、撮影してもらうのは、お客さまにとって本当にいい購入体験なのか?」と思い始めました。そこでリリース直前に、再び開発メンバーと話し合い、今のUIに落とし込んでもらったのです。

ー直前での判断だったのですね!

@hisshy:そうなんです。写真検索機能には、お客さまにとってよりよい購入体験をしてもらいたい想いも込められています。UIを変更した結果、社内のプロダクトマネージャーからも「これいいじゃん!」と言われる機能となりました。これは嬉しかったですね。

f:id:mercarihr:20190409152018j:plain

@metalunk:商品の検出方法にもこだわりました。先ほどもお話ししましたが、メルカリはCtoCサービス。出品した人が100万人いれば画像も100万通りある。同じ商品でも、お客さまによっては服をハンガーにかけた状態で撮影していたり、床に置いて撮影していたり、パターンがさまざまなのです。

ーさらに、服を着ている状態で撮影しているお客さまもいる気がします。

@metalunk:そうなんです。そのなかから「この商品」と特定するのは、とても大変。特に、服を着ている状態で撮影されたものだと、人物を検知してしまうことだってあります。このあたりはAI Engineeringの山口拓真さんたちが開発段階で「あくまでも服のみを検出」できるようにしてくれました。*1

ーそういえば、Webサービス上では写真を「画像」と呼ぶほうが主流ですよね? 今回の機能で「写真」としたのはなぜですか?

@hisshy:きっかけは、ユーザーインタビューです。そもそもユーザーインタビューでは、まずは想定シーンを伝え、そこから機能を使ってみてもらうという基本の流れがあります。今回の写真検索でも「『メルカリにこういった機能がある』と友だちに聞いたので、試しに使ってみる」という想定シーンを考えていました。そこで「画像検索って言うんだっけ?」と妙に引っかかり……。だって、Instagramを使う人はみんな「この写真いいね!」とか言うじゃないですか?

ー確かに、言いますね。

@hisshy:もちろん、世の中的には「画像検索」という呼び方のほうが主流です。でも「写真」のほうが、メルカリのお客さまの肌感に近い気がしました。そこで、「写真検索」としたんです。社内のエンジニアからは「なぜ写真?」と言われていましたが(笑)。でも、リリースしてからは「写真検索という名前のほうが、温かみがある気がする」と言ってくれる人が増えました。

「リリースして終わり」ではない。むしろ始まり!

ー「検索結果を常に更新し続ける」という意味では、今回のリリースはあくまでもスタートラインに立った状態とも言えそうです。今後、写真検索機能はどうなっていくのでしょうか?

@hisshy:嬉しいことにリリース後、多くの方々に注目いただきました。しかし、メルカリで写真検索機能を使ってくださっているお客さまはまだ多くありません。今後は、さらに認知を広めつつ「写真で検索できるってどういうこと?」と感じているお客さまにも自然に使ってもらえるような機能を目指したいですね。

@metalunk:AI Engineeringとしては、検索精度をさらに向上させていきたいです。検索結果の更新についても、さっき出品された商品がすぐに検索結果に出てくるような仕組みをつくれるとかっこいいなと思っています。

@hisshy:プロダクトマネージャーとして1点、@metalunkさんやAI Engineeringメンバーにお願いがあります。

@metalunk:はい、何でしょうか!

@hisshy:写真検索機能は、文字での検索に比べて、まだまだ時間がかかっています。もちろん、画像データの認識に時間がかかるため仕方がないところもあるのですが、いろいろな方法を試しつつ、もっとスピーディーになるように挑んでもらえないかと思っているんです。検索スピードがもっと上がれば「使ってみよう」と思うお客さまも増えます。そこはぜひ!

@metalunk:もちろん! 安定運用を維持しつつ、さらにいい機能にできるように頑張ります!

プロフィール

千葉竜介(Ryusuke Chiba)

大学卒業後にグリーに新卒入社し、GREE Newsや消滅都市のバックエンド開発を行う。退職後に大学院へ進学し、数理最適化を研究。その後、2017年にメルカリに入社。検索チームを経て、現在はSysMLとして写真検索の開発を行う。強すぎる研究意欲が源となり、数学部や社会人博士部など、社内部活動にも力を入れている。


菱井康生(Yasuo Hishii)

富士通に新卒入社し、インフラエンジニアとしてキャリアをスタート。その後、ITベンチャーでアプリケーションエンジニアやプロダクトマネージャーを経験した後、2018年7月にメルカリへジョイン。現在はプロダクトマネージャーとして機能開発や分析を推進中。

*1:機能の一部に、当社が保有する特許出願技術(特願2018-220243等)を利用しております。

関連記事 サクッと読める!✨

「Mercari Summer Internship 2022」の募集を開始しました! #メルカリな日々

メルペイ初!QAエンジニア育成&インターンシッププログラム「Merpay QA Summer Training Camp 2022」の募集を開始します! #メルカリな日々

「Mercari Summer Internship 2021」の募集を開始しました! #メルカリな日々

関連記事 読み応えアリ✨