Mercari Engineering Blog

We're the software engineers behind Mercari. Check out our blog to see the tech that powers our marketplace.

画像での商品検索に向けて

こちらは Mercari Advent Calendar 2017 の23日目の記事になります。

はじめに

メルカリで機械学習エンジニアをやっている kumon です。 今年の10月に、出品時に画像認識によって、商品名・カテゴリー・ブランドの項目を自動的に埋めるという機能をリリースしました。 もちろん認識結果が得られない場合や、間違えることもありますが、作った本人も驚くような正しい結果を出力してくれることもよくあります。

f:id:kumonworld:20171219200917j:plain:w600

この認識エンジンはまだまだ改善中ではありますが、画像を使った別の機能についても検討しておりまして、その一つが画像による商品検索です。

画像で画像を検索するためには、一般的に、画像をなんらかの方法でベクトル表現にして、検索対象の画像のベクトル集合から、クエリ画像のベクトルとの類似度がもっとも高いものを類似画像として抽出します。 しばらくはSIFTHoGといった特徴表現が利用されていましたが、 最近では、深層特徴(Deep Features)と呼ばれる特徴表現が使われることが多いと思います。

深層特徴は、特徴抽出の手法というより、Deep Neural Networks (DNN)の中間層の出力を画像の特徴ベクトルとして使うものです。 DNNでは多くの中間層があるので、どの層を使ったらどういう画像検索結果が得られるのかを見てみようと思います。

続きを読む

社内の面倒な手作業はZapierにやらせようーーノンプログラマーでも業務自動化ができるツールを導入してみて

これは Mercari Advent Calendar 2017 22日目の記事です。

こんにちは、メルカリのQA-SETチームで自動化をぶりぶりしている tadashi0713 です。

前回は業務自動化の1つとして、Seleniumを使ったブラウザ操作自動化についてご紹介しました。

tech.mercari.com

コメントや反応を見ますと、最近はRPA(Robotic Process Automation)をはじめとした業務自動化に関心が高い印象を受けました。

メルカリでは1ヶ月ほど前にZapierというツールをTeam Planで導入しました。

zapier.com

このツールを使って、社員がより簡単に業務自動化ができるようにしようとしています。

今回はZapierを導入した背景や社内での使われ方、またどう社員に使ってもらえるようにしたか、などについてご紹介したいと思います。

続きを読む

カラクリ メルカリ カウル - iOS版アプリの週1アップデートを支えるAutomationとKarakuri

Mercari Advent Calendar 2017 の21日目はメルカリ カウルチームのiOSエンジニアの@motokieeがお送りします。

はじめに

メルカリ カウルは今年の5月のローンチしたエンタメ専用のメルカリ姉妹アプリです。立ち上げから半年ほどが経過し、日々サービスの改善を続けています。

iOS版メルカリ カウルはこの7ヶ月で30回アップデートしており、ほぼ週に一度はアップデートしていることになります。もちろん規則正しく週1でリリースをしているわけではないのですが、開発サイクルの速さがお分かりいただけるのではないでしょうか。

f:id:motokiee:20171220154056j:plain:w300

現在メルカリ カウルのiOS版はほぼ1人で開発をしています(自分の他にもう1人iOSエンジニアはいるのですが、PJの都合上BIがメインの業務となっています)。

少ない人数でも改善を続けることができているのは、メルカリエンジニアの行動指針の1つであるAutomation, Karakuriに基づいて開発に関わる業務を効率化をしているからです。

今回はiOS版メルカリ カウルの高速アップデートを支えているAutomation, Karakuriについてご紹介いたします。

続きを読む

Mercari BOLD Scholarship をはじめる話

f:id:ikkou:20171220165404j:plain

この記事は Mercari Advent Calendar 2017 20日目の記事です。昨日は @_hitima の「Mercari Web版 に Workbox で Service Worker を導入する話」でした。本日は研究開発組織の @ikkou が Mercari BOLD Internship に続く新しい企画 Mercari BOLD Scholarship をはじめる話をします。

メルカリにジョインするきっかけとなった xR(VR/AR/MR) のことや、研究開発組織については、この記事が公開される翌々日に メルカリ新研究開発組織オープニングイベント が開催されるので、そこから段々と明らかにしていく予定です。

続きを読む

Mercari Web版 に Workbox で Service Worker を導入する話

Mercari Advent Calendar 2017 19日目は フロントエンドチームの @_hitima が JP Web版 にてサイトのオフライン対応を検証している話をします。

メルカリのWeb版強化への道

メルカリは iOS と Android のアプリ版のほかに Web ブラウザから利用可能な Web 版があります。アプリ版と機能面で差はあるものの、購入から出品まで一通りのことはできるようになっています。本エントリではWeb版の強化施策として現在進行中の Service Worker 導入について解説します。

Facebook のザッカーバーグ CEO はかつてこのような事を言いました。

When I’m introspective about the last few years I think the biggest mistake that we made, as a company, is betting too much on HTML5 as opposed to native… because it just wasn’t there.

iOS 向けのアプリを HTML5 ベースにしたのは失敗だったと。もう5年以上も前の話ですね。

Facebook のこの有名な話は、パフォーマンスが起因する話が主だったと思いますが、Service Worker , App Shell Model , PRPL Pettern などを駆使した Google 提唱する Progressive Web Apps と言う HTML / JS / CSS だけでほぼ構成された新しいスタンダードが台頭してきていて、そのほとんどが今、解決されようとしています。

PWA とよく呼称されますね。 主にモバイルユーザーの体験向上を目指す技術の集合体を指す名前だと私は理解しています。(マーケティング用語だと言う方もいます)

弊社会長の山田も、Twitter でこのようなことをつぶやいております。

f:id:h1tima:20171217224744p:plain

PWA のような比較的新しい構成の技術スタックが必要になってくることもあり、今回はサイトのオフライン対応を検証して、お客さまにオフラインでもメルカリを楽しんでいただくべく、導入検討してみることにしました。

続きを読む