全3903文字
PR

メルカリはAI機能だけにPythonを利用

 PythonとAIでソフトを開発している代表例がメルカリだ。TensorFlowと類似画像検索ライブラリーの「Faiss(ファイス)」を使って、「AI出品」と呼ぶ機能を実装している。商品の写真をアップロードすると、ブランド名、カテゴリー、商品名などを自動入力する機能である。AIが画像を解析して、過去の出品との類似や色を推定している。

メルカリのAI出品機能
メルカリのAI出品機能
(出所:メルカリ)
[画像のクリックで拡大表示]

 メルカリは出品や受発注の管理、ユーザー同士のコミュニケーションなどの機能は、主にプログラミング言語のPHPで開発している。Pythonで開発しているのは、AIに関連する機能だけだ。AI出品では、PHPでプログラミングされた出品機能と、PythonでプログラミングされたAI出品機能がAPI(アプリケーション・プログラミング・インターフェース)を通じて連携して動作する。

 具体的には、ユーザーが出品する商品の写真をアップロードしたタイミングで、出品機能がAI出品機能に写真データを渡す。AI出品機能は写真を解析して、カテゴリーや商品名などを出品機能に返答する。出品機能はカテゴリーや商品名などを出品画面の該当項目に入力する。ユーザーに対しては、最も可能性の高い候補を入力した状態で出品画面を表示する。もし違っていれば、ユーザーが手作業で修正する。

 AIを使ったソフト開発では、データを学習して「モデル(入力したデータから回答を推定する仕組み)」を作るプログラムを開発したり、モデルを使ってデータから推定するプログラムを開発したりしなければならない。ライブラリーを使うと、そうしたアルゴリズムを実装する手間を省ける。

 メルカリのAIチームに所属する松枝知香氏は「データからモデルを作るためのアルゴリズムはライブラリー任せにできる。Pythonで書いたプログラムがライブラリーの制御を担い、ライブラリーが実際のデータ処理を担当するというイメージだ」と説明する。メルカリは得意のPHPをあえて“封印”し、Pythonを採用してAI活用を効率化した。