Microsoft Teamsで何ができるの??

f:id:ecb_ssakagami:20200401185857j:plain



初めまして!シングルファーザーで時短勤務をしているガミさんです
このご時世、娘っ子の臨時休校やら何やらでテレワークをしていてあまり上京してきていませんが元気です

さて、本題です。
本来RTJ(リテールテックジャパン)でマイクロソフトさんと協業で ブース出展するはずだったのですがコロナの影響で出展停止に なってしまったのでここで少し技術情報が共有できればいいかなと ネタが少し硬いのでLINEチャット風でお送りましす!


天の声
えらいひと
RTJに出店するからTeams連携よろー
ほえー
何すりゃええんやろなぁ
ユーザが持ってきた写真をTeamsで
画像検索して商品詳細画面に案内したろ
ついでに在庫確認できますってシナリオでええんかの・・・

あとは売り場にカメラでも付けて
顔認証から年代と性別集計して
PowerBIで分析できるようにしたろ!
(承知しました!)
既読
0:30
えらいひと
心の声と逆やで
まぁそれでええで
期限は来月末までなー
ほな
既読
0:30
※画像はイメージです。本当は期日指定以外ちゃんと指示されました!


続きを読む!

さてまずはTeamsに画像を投稿したら近い商品画像を検索してECサイトの商品詳細画面へ飛ばして商品説明と在庫がわかればいいかなということで調査開始
これは宣伝ですがecbeingではオムニ対応の一環でEC在庫の他に店舗在庫を表示する対応も可能です!

話を戻してTeamsに画像投稿しても検索するトリガーが必要になります
そこで登場するのがチャットボット
チャットボットというと身近なもので質問すると返信くれる例のアレです
文字を入力したらサーバ側で解析してこれかな?という回答を返すやつです
それを画像にしてしまおうというのが今回の趣旨になります
チャットボットに投稿された画像を今度は解析しなくてはなりません
マイクロソフトさんのブースで出すんだからAzure使わないとね!
ということでAzure Cognitive Serviceの登場です
PaaSで用意されているサービスですが検索を主とするものになります
その中にCustom Vision Serviceがあるのですが、マイクロソフトさんのサービスなのにマーケットプレイスという落とし穴が・・・
そのためお支払いは一本化できません!

動きのほうに戻ろう
Custom Visionでは何をするかというと・・・
まずは画像登録
今回は自動登録までは考えていないのでECで持っている商品画像をCustom Visionに登録していきます
そしてその商品へ商品コードのタグ付けをしていきます
時間があれば検索された商品画像をCustom Visionへ登録して、その後選択された商品の商品コードをタグ付するという自動化を考えていたのですが叶わずヾ(・ω・`;)ノ

チャットボットから通知された画像をCustom Visionで解析して一致率が80%(今回一致率の判断は適当です)以上の商品コードをURLルール化して戻すという設定をします
チャットボットへ商品名、商品URL、画像一致率を戻して処理完了

構成図ですが・・・

f:id:ecb_ssakagami:20200401175903p:plain

①Teamsのチャットボットから画像登録した場合にCustomVisionへ画像を飛ばす
②事前にラーニングされた画像の一致率の高い画像をピックアップ
 ピックアップされた画像のタグに設定してある商品コードをチャットボットに戻す
③リンク付きにしたので商品詳細ページに案内してやれ!


ちなみに動画にしてみるとこんな感じです

f:id:ecb_ssakagami:20200401184439g:plain




次はレポート表示や!

シナリオとして考えたのはスーパーでも家電屋さんでも色々なカテゴリーの売り場が存在しています
そこで各売り場にカメラを設置しておいて訪問者の年齢、年代をためる
時間ごとにグラフ表示して年代、性別ごとの売り場改善やセールの判断ができるようになればいいな
店長会議などでグラフ化しておけば資料を用意する手間も省けて他の仕事に専念させることができるかな?
こんな感じです!

さて用意するのは・・・
顔認証するにあたり、kioskアプリを使ってみよう
kioskアプリはAzure Cognitive Servicesのデモを簡単にできるマイクロソフトさんのデモアプリです
ここでFace APIを繋いで年齢、年代を判断してもらいます
社内を駆け回って顔収集していたのですが、若くみられる分には全然構わないのだけど老けてみられた人への申し訳なさと言ったら・・・言葉にできません
判断された時刻、年齢、性別、感情(無表情、嬉しい、悲しいなど)をSharePointに配置したエクセルファイルへ追記していきます

次にMicrosoft Flowを使ってエクセルファイルからレコードを読み込んでPowerBIに渡して集計と並び替えを実施します
担当者がTeamsにアクセスしてPowerBIタブを開いたときに集計されたグラフを表示させる

構成図ですが・・・

f:id:ecb_ssakagami:20200401180955p:plain

①カメラアプリでAzure Faceと繋いで年齢、年代を取得(判断はAzure任せ)
②結果をSharePointにエクセルで保存
③Microsoft Flowからエクセルデータ読み出してPowerBIで解析
④Teamsの担当者がPowerBIを開いたときにグラフ表示


天の声
こんなのできたでー
えらいひと
RTJはコロナの影響で中止や!
おつかれさん!
ほな

f:id:ecb_ssakagami:20200401182235p:plain

既読
1:30
ーーーーー

ということでマイクロソフトさんがRTJのリカバリプランとしてそのうち公開されるはずです!
※コロナ禍の影響で遅れているようです

~ecbeingでは、新しいことに楽しんでチャレンジできるエンジニアを大募集中です!~
careers.ecbeing.tech