Slide 1

Slide 1 text

フリマアプリ「メルカリ」の 多様なデータと機械学習 TECH PLAY CONFERENCE 2017 株式会社メルカリ 山口 拓真

Slide 2

Slide 2 text

自己紹介 ● 学生時代 ○ パターン認識・画像処理・機械学習の研究 ○ 博士(工学) ● パッケージソフト会社 ○ 画像認識、音声認識アルゴリズムの研究 ■ OCR / 音声認識エンジン ● 交通インフラ系の製造業 ○ オペレーションズリサーチ ■ 鉄道運賃計算アルゴリズム ○ 画像認識、コンピュータビジョンの研究 ■ 改札機、駐車場、監視カメラ 2 ● ソーシャルゲーム会社 ○ データ分析基盤の開発・運用 ■ Hadoop / Spark / Hive / Presto ○ サーバーサイド ● 株式会社メルカリ ○ 2016年〜 ○ 画像認識を中心とした機械学習 ○ サーバーサイド 山口 拓真 (Takuma YAMAGUCHI)

Slide 3

Slide 3 text

フリマアプリ「メルカリ」とは ● 日本最大のフリマアプリ ○ フリマアプリ利用者中約9割がメルカリを利用 ○ 月間の流通額100億円超 ○ 1日あたり100万出品 ○ アプリダウンロード数 (日本5,000万、アメリカ2,500万) ● 安心安全の決済 ○ エスクロー ○ お金のやり取りは当社が間に介在 ● 3分で簡単出品 ○ 写真を撮る ○ 商品情報を記入 ○ 出品ボタンを押すだけ 3 ※「フリマアプリの利用に関するアンケート調査期間: 2015年10月14日〜10月19日」よりジャストシステム「ファストアスク」調べ

Slide 4

Slide 4 text

メルカリのデータ 4 ● 出品データ ○ 100万出品 / 日 ○ 商品画像 ○ 商品名 ○ 商品説明 ○ 商品状態 ○ 商品価格 ○ カテゴリ ○ ブランド ○ サイズ ○ 配送方法 ● サポートコミュニティ ○ Q&Aデータ ● お客さまの行動データ ○ 商品検索 ○ 商品タップ ○ 商品への「いいね」 ○ 商品へのコメント ○ 価格交渉 ○ 商品購入 ○ 商品出品 ○ 取引メッセージ ○ 問い合わせ ○ 商品通報 ● ライブフリマ ○ 動画データ メルカリチャンネル ライブ配信で売ったり買ったりを 楽しめるライブフリマの 動画データ 画像 / 動画 / テキスト / 行動ログなど、多岐にわたる大量のデータ

Slide 5

Slide 5 text

メルカリのデータ 5 ● 出品データ ○ 100万出品 / 日 ○ 商品画像 ○ 商品名 ○ 商品説明 ○ 商品状態 ○ 商品価格 ○ カテゴリ ○ ブランド ○ サイズ ○ 配送方法 ● サポートコミュニティ ○ Q&Aデータ ● お客さまの行動データ ○ 商品検索 ○ 商品タップ ○ 商品への「いいね」 ○ 商品へのコメント ○ 価格交渉 ○ 商品購入 ○ 商品出品 ○ 取引メッセージ ○ 問い合わせ ○ 商品通報 ● ライブフリマ ○ 動画データ メルカリチャンネル ライブ配信で売ったり買ったりを 楽しめるライブフリマの 動画データ 画像 / 動画 / テキスト / 行動ログなど、多岐にわたる大量のデータ

Slide 6

Slide 6 text

メルカリのデータ 6 ● 出品データ ○ 100万出品 / 日 ○ 商品画像 ○ 商品名 ○ 商品説明 ○ 商品状態 ○ 商品価格 ○ カテゴリ ○ ブランド ○ サイズ ○ 配送方法 ● サポートコミュニティ ○ Q&Aデータ ● お客さまの行動データ ○ 商品検索 ○ 商品タップ ○ 商品への「いいね」 ○ 商品へのコメント ○ 価格交渉 ○ 商品購入 ○ 商品出品 ○ 取引メッセージ ○ 問い合わせ ○ 商品通報 ● ライブフリマ ○ 動画データ メルカリチャンネル ライブ配信で売ったり買ったりを 楽しめるライブフリマの 動画データ 画像 / 動画 / テキスト / 行動ログなど、多岐にわたる大量のデータ

Slide 7

Slide 7 text

検索精度の改善 7 同じ検索ワードでも 検索したいものは人それぞれ ● 検索の意図を推定 ○ 面白い ○ 効果ありそう ○ 行動ログから推定できそう ● 検索ワードのサジェストの改善 ○ カテゴリフィルタの追加 ○ 検索→タップログから集計 ● 検索アルゴリズムの改善

Slide 8

Slide 8 text

検索精度の改善 8 同じ検索ワードでも 検索したいものは人それぞれ ● 検索の意図を推定 ○ 面白い ○ 効果ありそう ○ 行動ログから推定できそう ● 検索ワードのサジェストの改善 ○ カテゴリフィルタの追加 ○ 検索→タップログから集計 ● 検索アルゴリズムの改善 ○ 本体 / 付属品問題 ■ 本体が欲しいのに付属品ばかり・・・ ■ パソコン / スマートフォン / ゲーム機

Slide 9

Slide 9 text

メルカリのデータ 9 ● 出品データ ○ 100万出品 / 日 ○ 商品画像 ○ 商品名 ○ 商品説明 ○ 商品状態 ○ 商品価格 ○ カテゴリ ○ ブランド ○ サイズ ○ 配送方法 ● サポートコミュニティ ○ Q&Aデータ ● お客さまの行動データ ○ 商品検索 ○ 商品タップ ○ 商品への「いいね」 ○ 商品へのコメント ○ 価格交渉 ○ 商品購入 ○ 商品出品 ○ 取引メッセージ ○ 問い合わせ ○ 商品通報 ● ライブフリマ ○ 動画データ メルカリチャンネル ライブ配信で売ったり買ったりを 楽しめるライブフリマの 動画データ 画像 / 動画 / テキスト / 行動ログなど、多岐にわたる大量のデータ

Slide 10

Slide 10 text

デモグラフィック情報 / 趣味嗜好の推定 10 よりよいユーザ体験を提供するために ● タイムラインの出しわけ ○ デモグラフィック情報の推定 ○ タップされた商品のタイトルを連結 ○ TF-IDF + ナイーブベイズ分類器 ● 趣味嗜好の推定 女性向け 男性向け columbia ショルダーバッグ mont-bell モンベル ショルダー バッグ、ノース フェイス、コロンビア☆ Columbia ウエストポーチ ショルダーバッグ Columbia・ショルダーバッグ ショルダーバック コロンビア

Slide 11

Slide 11 text

デモグラフィック情報 / 趣味嗜好の推定 11 よりよいユーザ体験を提供するために ● タイムラインの出しわけ ○ デモグラフィック情報の推定 ○ タップされた商品のタイトルを連結 ○ TF-IDF + ナイーブベイズ分類器 ● 趣味嗜好の推定 ○ タップ履歴に基づくユーザクラスタリング ○ タップされた商品のタイトルを連結 ○ TF-IDF + k-means ○ 例えば、プッシュ通知の文言の出しわけ インテリア好き スマホもおしゃれにしたい女子高生 小物まで気を遣うオシャレ男子

Slide 12

Slide 12 text

関連ワード / 関連カテゴリ / 関連ブランドの抽出 12 商品名 ダナキャラン 黒 半 袖 シャツ カットソー トップス リフレクト アール ユー カットソー2枚 トップス トミーヒルフィガー ロ ンT ☆新品☆ CROON A SONG トップス シンプリシテェ 美品 黒 カットソー カテゴリ Tシャツ/カットソー (半袖/袖なし) (119) Tシャツ/カットソー (半袖/袖なし) (119) トップス (291) Tシャツ/カットソー (半袖/袖なし) (119) Tシャツ/カットソー (七分/長袖) (120) Tシャツ/カットソー (七分/長袖) (120) ブランド Donna Karan New York (763) ReFLEcT (1309) ofuon (392) TOMMY HILFIGER (840) CROON A SONG (503) Simplicite (7227) TAP TAP TAP TAP TAP ダナキャラン 黒 半袖 シャツ カットソー トップス リフレクト アールユー カットソー2枚 トップス トミーヒルフィガー ロン T ☆新品☆ CROON A SONG トップス シンプリシテェ 美品 黒 カットソー 119 119 291 119 120 120 763 1309 392 840 503 7227 商品名、カテゴリID、ブランドIDをタッ プ順に単純にそれぞれ連結 Word2Vecで、単語やIDのベクトル表現を抽出し、類似するものを見てみると: ● 関連ワード ○ (ワンワン, うーたん), (ダウン, ダウンジャケット) ● 関連カテゴリ ○ (ショルダーバッグ, トートバッグ, ハンドバッグ), (ひざ丈スカート, ミニワンピース, ひざ丈ワンピース) ● 関連ブランド ○ (Gap, Old Navy, Nirvana), (IBM, CybertronPC, Dell), (Coach, Lauren Merkin, Michael Kors) 検索精度の改善や、関連商品の 列挙に応用可能

Slide 13

Slide 13 text

メルカリのデータ 13 ● 出品データ ○ 100万出品 / 日 ○ 商品画像 ○ 商品名 ○ 商品説明 ○ 商品状態 ○ 商品価格 ○ カテゴリ ○ ブランド ○ サイズ ○ 配送方法 ● サポートコミュニティ ○ Q&Aデータ ● お客さまの行動データ ○ 商品検索 ○ 商品タップ ○ 商品への「いいね」 ○ 商品へのコメント ○ 価格交渉 ○ 商品購入 ○ 商品出品 ○ 取引メッセージ ○ 問い合わせ ○ 商品通報 ● ライブフリマ ○ 動画データ メルカリチャンネル ライブ配信で売ったり買ったりを 楽しめるライブフリマの 動画データ 画像 / 動画 / テキスト / 行動ログなど、多岐にわたる大量のデータ

Slide 14

Slide 14 text

カスタマーサポートへの機械学習の適用 (商品通報) 14 不適切な商品に対する 報告(商品通報)機能 ● カスタマーサポートスタッフによる巡回 ● お客さまによる商品通報によって市場を健全化 ● 商品通報は基本的には人手で全て確認 ● 誤操作によるものや、問い合わせ感覚の通報も含まれる ● 商品情報や出品者情報などを利用した業務効率化を進行中 ○ 商品通報の人手による分類結果をそのまま学習できる

Slide 15

Slide 15 text

カスタマーサポートへの機械学習の適用 (プロアクティブサポート) 15 問い合わせの内容は様々 ● 取引手順に関するもの ● 商品が届かない ● 商品が思っていたものと違った ● 間違った評価をしてしまった ● 発送方法がわからない 問い合わせがなくても、お客さまをサポートしたい ● 取引メッセージ等からサポート対象を抽出 ○ USでの特定の対象について進行中 ● カスタマーサポートスタッフからメッセージを送信 ● プロアクティブなサポートの履歴が溜まれば自動化も視野に入れる

Slide 16

Slide 16 text

メルカリのデータ 16 ● 出品データ ○ 100万出品 / 日 ○ 商品画像 ○ 商品名 ○ 商品説明 ○ 商品状態 ○ 商品価格 ○ カテゴリ ○ ブランド ○ サイズ ○ 配送方法 ● サポートコミュニティ ○ Q&Aデータ ● お客さまの行動データ ○ 商品検索 ○ 商品タップ ○ 商品への「いいね」 ○ 商品へのコメント ○ 価格交渉 ○ 商品購入 ○ 商品出品 ○ 取引メッセージ ○ 問い合わせ ○ 商品通報 ● ライブフリマ ○ 動画データ メルカリチャンネル ライブ配信で売ったり買ったりを 楽しめるライブフリマの 動画データ 画像 / 動画 / テキスト / 行動ログなど、多岐にわたる大量のデータ

Slide 17

Slide 17 text

画像認識・画像検索の取り組み 17 Convolutional Neural Network カテゴリ認識 ベビー・キッズ > キッズ靴 > サンダル ブランド認識 クロックス 毎日、数百万枚もの教師データ付き画像が増えていて、データには困らない 中間層を特徴ベクトルとして利用した類似画像検索

Slide 18

Slide 18 text

カテゴリ認識 学習画像枚数: 約220万 カテゴリ数: 1108 モデル: Inception-v3 学習時間: 約60時間 (GPU: Tesla K80 x 8) 正解率: 44.7% (1位)、70.7% (5位) ● 1位正解率が低いのは似たカテゴリが多いため ● メンズ / レディースの違いなど { "category_names": [ "サンダル << キッズ靴 << ベビー・キッズ", "サンダル << 靴 << メンズ", "サンダル << 靴 << レディース" ], "scores": [ 0.5026, 0.46905, 0.01777 ] } { "category_names": [ "ひざ丈スカート << スカート << レディース", "ロングスカート << スカート << レディース", "スカート << マタニティ << レディース" ], "scores": [ 0.43806, 0.22851, 0.09854 ] }

Slide 19

Slide 19 text

カテゴリ認識 { "category_names": [ "米 << 食料品 << その他", "シーツ/カバー << 寝具 << インテリア・住まい・小物", "飲料 << 食料品 << その他"], "scores": [0.9681, 0.0016, 0.00146] } { "category_names": [ "スニーカー << キッズ靴 << ベビー・キッズ", "サンダル << キッズ靴 << ベビー・キッズ", "その他 << キッズ靴 << ベビー・キッズ"], "scores": [0.89564, 0.05821, 0.0106] } { "category_names": [ "おもちゃ/人形 << 趣味/おもちゃ << ハンドメイド", "クラフト/布製品 << 趣味/おもちゃ << ハンドメイド", "その他 << フィギュア << エンタメ・ホビー"], "scores": [0.85471, 0.08039, 0.01565] }

Slide 20

Slide 20 text

ブランド認識 (靴 / バッグ) 学習画像枚数: 約4万(靴) / 約9万(バッグ) カテゴリ数: 121(靴) / 244 (バッグ) モデル: Inception-v3 カテゴリ認識のモデルをFineTune 学習時間: 約10時間 (GPU: Tesla K80 x 8) 正解率: - 靴 64.9% (1位)、83.61% (5位) - バッグ 55.6% (1位)、70.7%(5位) { "brand_names": [ "Lacoste", "Emerica", "Old Navy" ], "scores": [ 0.96854, 0.00452, 0.00218 ] } { "brand_names": [ "PUMA", "Saucony", "Reebok" ], "scores": [ 0.71504, 0.04703, 0.02759 ] }

Slide 21

Slide 21 text

ブランド認識 (靴 / バッグ) { "brand_names": [ "Gucci", "Louis Vuitton", "Celine" ], "scores": [ 0.95634, 0.0032, 0.00092 ] } { "brand_names": [ "Michael Kors", "Calvin Klein", "New York & Company"], "scores": [0.9791, 0.00212, 0.00082] } { "brand_names": [ "Rebecca Minkoff", "ZARA", "Levi's®"], "scores": [0.97945, 0.00082, 0.00061] }

Slide 22

Slide 22 text

類似画像検索 対象画像枚数: 約500万 特徴量: カテゴリ認識モデル (Inception-v3) の全結合層 次元: 2048次元をPCAで64次元に圧縮

Slide 23

Slide 23 text

類似画像検索

Slide 24

Slide 24 text

類似画像検索

Slide 25

Slide 25 text

色認識 学習画像枚数: 約9万枚 カテゴリ数: 12 モデル: Inceptionではなく浅めのもの 学習時間: 約10分(GPU: Tesla K80 x 1) 正解率: 73.2% (1位)、94.7% (3位) ・Tシャツ画像

Slide 26

Slide 26 text

色認識 ・全カテゴリ商品 学習画像枚数: 約9万枚 カテゴリ数: 12 モデル: Inceptionではなく浅めのもの 学習時間: 約10分(GPU: Tesla K80 x 1) 正解率: 73.2% (1位)、94.7% (3位)

Slide 27

Slide 27 text

今後の取り組み ● カスタマーサポートの充実 ○ 単にコスト削減ではなく、より良いサービスの実現のために ■ プロアクティブサポート ■ 問い合わせ種別の分類 (返答までの時間短縮) ● 検索精度の改善 ○ 情報不足でも検索可能 ○ 検索の意図を汲み取る ● 画像認識や画像検索技術の利用 ○ 画像認識による ■ 出品の省力化 ■ 検索の最適化 ○ 画像検索による商品検索 ■ 検索対象が巨大なのが課題 ■ 似たものの定義も重要 機械学習を利用したサービス開発は、すごく楽しい でも、わざわざ機械学習を使ったりはしない

Slide 28

Slide 28 text

No content