プロローグ
今年のM-1グランプリ、皆さんご覧になりましたでしょうか? 今年は特にどの組も面白くレベルが高かったなぁと個人的には思っています。 ちなみに私はぺこぱとすゑひろがりずが好きです。
そんな強豪集う今年のM-1、激戦を制したのはミルクボーイ。 予選では歴代最高得点を叩き出し文句なしの優勝です。
コーンフレークやないかい!
上述の歴代最高得点を叩き出したネタです
ネタの内容としては、
- オカンが好きな朝ごはんがあるらしい
- でもその名前を忘れてしまった
- それを特定すべく、色々特徴を聞いてコーンフレークかどうかを判断する
といったものです
「コーンフレークやないかい!」「ほなコーンフレーク違うか」 この幾度となく続く掛け合いが中毒になります
そこでふと思う
めでたくオカンが好きな朝ごはんが「コーンフレーク」だったとしても、 オカンに「コーンフレーク」を食べてもらうためにはどのコーンフレークかを判別する必要があります
シリアル・グラノーラも含めると膨大な種類があります。果たしてオカンはこの中から理想のコーンフレークを探し出せるのでしょうか
コーンフレーク判別機をつくる
そんなオカンのために、コーンフレークの画像からどのコーンフレークかを判別するものを作りましょう 今回は手早くやるためにTensorFlow1系を使います
参考にさせていただいた情報
ここらへんを参照してササッと判別機をつくりました
学習データ
膨大な種類の学習データを集めていたら年が明けてしまうので、 今回はオカンが好きそうなコーンフレークに絞って学習データを収集します
- コーンフロスティ
- チョコワ
- シスコーン
判別してみる
公式のパッケージ画像を判別してみます
シスコーン
https://www.nissin.com/jp/products/brands/ciscorn/
siscorn 0.99967444 cornflosty 0.00031585997 chocowa 9.703208e-06
チョコワ
https://www.kelloggs.jp/ja_JP/products/chokowa.html
chocowa 0.99898654 cornflosty 0.00064735184 siscorn 0.00036609493
コーンフロスティ
https://www.kelloggs.jp/ja_JP/products/corn-frosties.html
cornflosty 0.9479657 chocowa 0.05056956 siscorn 0.0014647491
うまく判別できましたね
もなか
ついでに最中も判別してみます
siscorn 0.80144745 cornflosty 0.12482048 chocowa 0.073732056
最中はどちらかというとシスコーン寄りみたいです
気づき
- コーンフレークの画像持ってるんだったらそれもう商品名分かってるのでは?判別機いらないのでは?
- 知らないコーンフレークに出会える
- 「コーンフレーク」という商品名のコーンフレーク
- コーンフロスト
- シュガーポン
- etc
- コーンフレークが食べたくなってくる
- コーンフレークを判別したか何なんだという悟りを開いた
結論
このように商品画像があれば、どのコーンフレークなのか、という判別は技術の力で実現することができます でも「オカンが好きな朝食が何か」という判別を自然言語から行うことに関しては、ミルクボーイを頼る他ないと思います
Tensorflowで判別機を作るのは初めてだったのですが、コーンフレーク判別機を作ろうと思い立ってからこの記事を書き終わるまで数時間しか要しておらず、 ここまで簡単にできてしまうのか...と感動しています 学習データさえ揃えばある程度の精度の判別機をつくることはサッとできそうなので、今後も活用の幅がありそうです