目の前にある この道具の名前なんだろう?
私は、出張多めの会社員です
会社にいる時間よりも、在宅での仕事の時間よりも、出張・外出の時間が多い生活です
全国各地の営業所で、新入社員が働いている姿を見ると
自分も数年前は同じように働いていたなぁと、懐かしく感じています
入社してすぐに苦労したのは、「専門用語がわからない」 でした
すぐに検索して確認し、検索して確認を繰り返していました
言葉がわかれば、検索できる。
しかし、 目の前にあるこの道具の名前なんだろう?
(工事関係の職種のため、普段の生活では見たことないような道具が目の前に。。)
そこで 『目の前にある「名前のわからないもの」を教えてくれるLINE Bot』 を作成しました
(なんでも教えてくれたらいいのですが、正しくは、教えてくれるのは、名前のわからない工具の名称と保管場所です)
完成形
Node-REDとMakeのフローと、最後のスプレッドシートの動作状況です
全体のフロー
①:Aさん(新入社員を想定)が、名前がわからないものの画像を送付(Node-REDでのカメラボタン)
②:Teachable Machineが画像を判別して、該当の名前をNode-RED上のフローで送付
③:Makeのフローにて、該当の名前に関する情報(保管場所、在庫数)を台帳管理用のスプレッドシート内より抽出
④:名前の回答と、関連する情報(保管場所、在庫数)、Google検索結果をAさんにLINEで送付
⑤:④と同時に、履歴管理用のスプレッドシートに、画像判別結果とその日時を記入
※Teachable Machineによる画像判別を機械学習としています。
活用したツール
Node-RED
TeachableMachine
Stein
LINE Developer
Make (旧integromat)
SSSAPI
GoogleSheets (Googleスプレッドシート)※以下、GS
作成方法
作成方法については、参考記事やURLを参照ください。
先人の方々の記事は、わかりやすくとても勉強になります。
Node-REDのフロー
※スプレッドシートへの書き込みも試みましたが、できずMAKEに託しました。
Makeのフロー
苦戦した点
画像の判別結果だけでなく、台帳情報も追加して返答
「この道具片付けておいて」と頼まれた時、どこに片付ければ?などに役立つと考え台帳データを紐づけて回答します。
おまけに、私がよくやっていた、Google検索へのリンクを追加しました。
(正しい使い方など、検索しやすいように、検索リンクのみです)
Google Sheetsへ履歴の書き込み
この道具はなんだろうと確認した履歴をどこか記録したかった。
ユーザーに道具の名前を教えるだけでなく、その履歴から今後の教育材料のひとつできると考えた
例)違うユーザから一部の道具の確認に偏りがあれば、それに対する教育が不足していることがわかる
例)同じユーザから短時間に同じ道具の確認を実施していれば、画像判別の結果が違う可能性がある
など、履歴は違う使い方ができることや、このLINE Botの改善にも役立つと感じた。
しかし、SSSAPIを使用していたが、調べていくうちに書き込みができないということが分かった
参考:https://zenn.dev/sssapi/articles/22aaf266a1dd5f
そこで、Steinを使用することにしました。
必要事項をSteinに登録の上、Makeのモジュール設定は、以下の内容になります。
いつ検索されたのか?のタイムスタンプと、検索結果を書き込むようにしました。
反省
スタートが、Node-REDのカメラボタンとなっています。
この点を、ユーザがLINEで画像を送付したら、フローが始まるようにしたかったのですが、
どこかのサーバーを介する必要がある(?)ようで、時間内に実装できませんでした。
LINE以外にも、メールでの送信、ブラウザでの使用、Googleフォームの活用など、
いろいろと入口がある中で、ユーザが使用しやすい環境に応じて実装が必要だなと感じました。
数年前工事現場での出来事、後輩に「ドラム」持ってきてって頼んだ数分後、
「重くて持って行けません」って電話がきました。
よくよく聞くと必死にドラム缶を動かそうとしていました。
ドラムコードリールが欲しかったんですが。。。専門用語って難しいですよね。
最後まで読んでいただきありがとうございました。
参考記事