ENGINEERING&RUN

26.2マイルを走る僕の旅

FoodTechイベントでのRettyの機械学習システムの話が興味深かった

食事×テクノロジーのFoodTechイベントに参加してきた。

peatix.com

その中でRettyさんのやっている画像処理、自然言語処理が興味深かったのでまとめてみる。

Rettyは実名のレストラン口コミサイト。

retty.me

今年に入って10億円もの資金調達をするなど、乗りに乗っているスタートアップだと思う。

jp.techcrunch.com

今回、イベントで話されていたのはキーワード抽出と画像処理についてだった。 機械学習を取り入れるまでは全て人力でやっていたという。

キーワードを抽出について

これは下記のような流れで行っているとのこと。

  1. 投稿された口コミから形態素解析を行う
  2. キーワード候補を抽出する
  3. 内部で持っている辞書とマッチング

ちなみに形態素解析MeCabを使用しているとのこと。 MeCabオープンソース形態素解析エンジン。使いやすく処理も早いほうだと思う。

MeCab: Yet Another Part-of-Speech and Morphological Analyzer

他にも形態素解析で有名なところだとYahoo!の日本語形態素解析だとか、言語郎といったものもある。

developer.yahoo.co.jp

gengoro.zoo.co.jp

一番使われているのは恐らくRosetteかな。

日本語 | Basis Technology

Rettyの話に戻ると、一旦形態素解析されたものから名詞だけを取り出しキーワード候補としている。 ただMeCabに無い新しい言葉や口語はどうしても揺れてしまうとのこと。

そして最後は内部で持っている辞書とマッチング処理をするらしい。 今までアルバイトの人たちがコツコツ人力で抽出した500,000もの単語が辞書になっているらしく、泥臭い作業の上に成り立っている。

もちろんこれだけでは拾えないものも多いので、管理画面のようなもので人力チェックをしているそう。

画像処理について

これは投稿された写真について、料理、内観、外観、メニューのどれについてのものか自動識別しているらしい。 8割の正答率は達成できているとのこと。

仕組みとしては、Deep LearningフレームワークであるChainerとAlexnetを使い、学習用画像を20,000枚使い覚えさせたらしい。 更に学習素材を増やす為、この20,000枚を反転させたり角度を変えるなどし、倍まで増やし覚えさせたとのこと。

ちなみに以前にYahoo!さんの話ではCaffeを使っていると話を聞いた。

Caffe | Deep Learning Framework

chainer.org

ちなみにAlexnetといえば、ILSVRC 2012でカナダのトロント大学がぶっちぎりの優勝をしたことで有名。 ここからDeep Learningによる革命が起きた。

http://www.nlab.ci.i.u-tokyo.ac.jp/pdf/asj20141215.pdf

Rettyでは正解、不正解を教え、それを100回繰り返す。 ただ、どうしてもメニュー写真に料理が映っていたりすると誤認識してしまう。 結局は人力のチェックが必要で、その承認処理がないことには表に出ないみたい。

今後

東京オリンピックに向けて海外の方に向けた展開をする為に、機械翻訳ができないか検討しているとのこと。 これは難しいだろうなと思う。Google翻訳ですら今の精度だから。

感じたこととして、何よりRettyさんは膨大なデータを内部で持っているのがすごい。 特にどこかをクロールして取ってきた情報ではなく、数年でこれだけの大規模なデータベースを持てている。 ユーザー数ももちろんだけど、やっぱりデータを持っているところは強い。もちろん宝の持ち腐れにしないようにしなければいけないし、それに備えた設計を最初からしなければならないと改めて感じた。

ちなみにこのイベントで食べたダチョウ肉は馬肉のような味だった。美味しかった。