1.はじめに
お疲れ様です。デジタル関連には詳しくないのに、会社でIT・システムを担当している50代の会社員です。
今回は先日学んだTeachableMachineで識別した結果をLINEに送る試みを実施してみました。優秀なチームメイトに助けられて、こんなオッちゃんでも何とか完成まで漕ぎつけた内容を記事にします。
2.取組の理由
せっかく学ぶ機会に恵まれたので過去に学習したツールと接続したら、どんなことができるのだろうか?またTeachableMachineの学習能力はどの程度のものかを知りたかったからです。
3.使用したツール
Teachable Machine
Node-RED
make
LINE bot
4.完成品
5.作業手順
(1)Teachable Machineに学習させる。
今回はとある記事に従ってモデルに学習するところまで学びましたが(下記リンク参照)、ここで疑問に思ったことがあったので、それについて試してみることにしました。
その疑問とは、じゃんけんの取り込み画像は3Dであるが、2次元での画像ならばサンプルとして100枚も200枚も必要ないのでは?です。じゃんけんの場合、グー・チョキ・パーの3種類×100枚で300枚ほどのサンプル画像を必要としていました。ならば「あ」から始まる国旗13か国で「データ形式」で画像を取込めたら、楽勝で正しい判断をしてもらえるのではないかと考えたからです。
そこで各国、3枚ずつの画像を取込んでモデルを作ってみました。取り込んだ画像は以下の3種類です。
その後の結果画像です。
ちょっと分かりにくくて申し訳ないのですが、右下の出力の所に「アメリカ」が下のほうに隠れていて、この距離での撮影では「アメリカ」は20%未満でトップは「アンゴラ」の30%以上でした。そしてスマホをカメラに近づけていくにつれて「アメリカ」が80%以上のスコアが出るといった感じです。
ですがこれはあくまで動画の取り込みによる判別スコアなので、画像取り込みの場合はどうでしょうか?その結果がこちらです。
この画像も右下のオレンジのグラフの所に注目していただきたい。なんと81%というスコアを記録していました。僕の仮説はひょっとしたら当たっていた?のかもしれません。2次元データだと判別力が高くTeachable Machineの学習能力は非常に高いことになるんですね。
(2)Node-REDからmakeへの接続
次はNode-REDで作ったフローをmakeへ送る部分のみを解説します。
既に作成済みのTeachable MachineとNode-REDを合わせたフローに、makeと接続するためのノード「http request」と「http responce」を以下のように加え、配置します(赤で囲んだ部分です)。
とここで今度はmakeの準備をします。makeは極めてシンプルで「Webhook:Custum webhook」と「LINE:Send a Notification」を使います。
Webhookの設定のポイントは赤で囲ったURLです(これはNode-REDで使用します)。
Webhookの名前は国旗識別とさせて頂きました。
LINEのモジュールの設定はメッセージを”結果は「4.kokkisikibetu」です”にします。
最後にもう一度Node-REDに戻って、「http request」ノードをダブルクリックしてURL欄に先程のmakeのWebhookのURLをコピーして貼り付けてください。その際に下のペイロード欄「クエリパラメータに追加」への変更も忘れないでください。
解説の順を誤ってしまいましたが、「templete」ノードの中はプロパティ欄のmsg.payload.の後に「kokkisikibetu」を加えております。テンプレート欄も画像のようになっていなければ変更してください。
これで終了となります。冒頭の動画が完成品です。お疲れ様でした。
6.最後に
いろいろなツールの扱い方を学ぶのはとても楽しいのです。が、実際のビジネスの場において、学んだことを「集客」だとか「収益化」とかに役立つツールとして作り上げていかねばなりません。それが僕ら役割となるのでしょうけど、、しかしながら現実的には未熟すぎて「前方暗雲、波高し」ってとこでしょうか。