目的
私は小売業で管理系を担当するAさんです。
お客さまは常に「賢くお買い物したい」と必死です。
スーパーで商品を手にしたとき「この前いくらっだたかな…」。過去に買物したときの売価や日付はすぐに思いだせないでしょう。そんなお客さまがスマホから機械学習させた画像から商品データをLINEに結果を返してくれたら便利じゃないかな。ということで、Teachable MachineとNode-REDを連携させてみました。
使用したツールは5種類
- Teachable Machane
- Node-RED
- Googleスプレッドシート
- MAKE
Teachable Machineに機械学習させる
- Teachable Machineに画像を取り込む
自宅にある飲み物をかき集めてパソコンのカメラで画像を取り込みました。これが大変で、明るさやカメラのスペックのためか判定確率がバラバラなところから始まりました。最初が肝心、特に機械学習の判定が低いとこの仕組みは全く価値なしです。撮影環境を整えて、取り込みたいものだけがはっきりと認識学習させるためにも背景を白か黒で統一するなど工夫が必要です。
学習させた商品と画像枚数☟
1 青森りんご 王林 405
2 大正製薬 RIZIN DRY 509
3 伊藤園 お~いお茶 405
4 森永製菓 Inゼリー 406
5 伊藤園 充実野菜 275
6 カゴメ 秋のフルーツこれ一本 142
7 伊藤園 毎日一杯の青汁 298
8 伊藤園 ビタミン野菜 242
9 森永TBC 一日の鉄分 232
10 ヤクルト 蕃爽麗茶 214
11 ヤクルト ザクロmix 296
12 グリコ 野菜足りてますか 269
13 ヤクルト ジョアストロベリー 379
14 コカ・コーラ 250㎖ 261
15 大塚製薬 オロナミンC 216
16 アサヒ ウィンルキンソンドライ 272
17 アサヒ ドライゼロ スパーク 246
18 水 247
画像が多いと学習するのに時間がかかるようです。
学習10回やってリンクが生成されるまで平均7~10分ぐらいかかりました。
:::
アップロード完了
https://teachablemachine.withgoogle.com/models/soSDalKsS/
学習結果を連携させる
Node-REDでフロー作成
- 画像を取り込み判定した結果「お~いお茶」100%の判定が返された結果をリンクに置き換えるため
http request
>http
を配置しました。
-
http request
nodeの設定
Webhook
からリンクをURLにコピーします。
お買い物リストをGoogleスプレッドシートで作成しておく
- GoogleドライブでGoogleスプレッドシートを起動し商品一覧を作成します。これが家計簿の役割になるお買い物リストです。今後はこのシートにLINEから自動で買物リストを入力して連携できるよう学習して実装していきます。
最終的にLINE画面には品名や売価、前回購入日などを表示したいので、Teachable Machineの判定の表示の数字をもとにこの表からナンバーで割り出すようにします。
機械学習の結果をMAKEと連携させる
TO : 自分で作ったID
LINE Developers > Basic setting > Your user ID
Message > Type > text
Text > (画像の通りです)
※読みやすさを考え、表示位置を整列させて区切り線を配置しました。
いざ送信!結果やいかに
(笑)ぴくっとしか動いたいないように見えますが、お~いお茶の買物履歴を返す事が出来ました。
過去に買物していないものはこのように品名 不明
と返してくれます。
おわりに
今回は機械学習Teachable Machine
をメインに取り組みました。
LINE Botを作る過程で、もしかしてNode-REDだけでいけるのではないかと思いました。次のチャレンジは、LINEから画像を送信する入口の部分を作りこんでいきます。
#protoout