こんにちは。デジタルビジネス推進室の関根です。
今回より、intra-mart BIORAブースの技術寄りな話を書こうと思います。
まず第一回目は、OCRとIoT(LED)です!
受付の流れ
OCRとIoT(LED)は受付の際に使用した技術となります。
BIORAブースの受付は、以下のような流れとなっておりました。
- お客様に名刺を提示してもらい、タブレットで撮影
- 撮影した名刺画像を IM-OCR で文字列化
- OCR結果を形態素解析に掛け、会社名、役職、氏名を取得
- 取得した情報をもとに、カレーの好みの味を選定する等の機械学習データを生成
- 空席確認を行い、座席案内(LED点灯APIを叩きつつ、画面表示)
- 案内対象となる座席のLEDが点灯
受付機能の実装概要
1. お客様に名刺を提示してもらい、タブレットで撮影
intra-martで受付画面を作っています。
人数を選択できるラジオボタンとカメラ起動用の fileタグ、送信ボタンを用意(シンプル!)
2. 撮影した名刺画像を IM-OCR に渡し文字列化
画面上の「送信」ボタンをタップされたときの処理を実装します。
※IM-OCR では、OCRでテキスト化する箇所を「ブロック」として設定できます。
今回は名刺全体をブロック指定しました。
3. OCR結果を形態素解析に掛け、会社名、役職、氏名を取得
IM-OCR で文字列化されたデータを形態素解析します。
解析結果から分類が「顧客」「役職」「人名・姓」「人名・名」のものをそれぞれ、会社名、役職、氏名として利用しました。
解析結果は以下のようになります。
青柳 名詞,固有名詞,人名,姓,*,*,青柳,アオヤギ,*
辰巳 名詞,固有名詞,人名,名,*,*,辰巳,タツミ,*
株式会社NTTデータイントラマート 名詞,固有名詞,顧客,*,*,*,株式会社NTTデータイントラマート,*,*
〒 記号,一般,*,*,*,*,〒,ユウビンバンゴウ,ユービンバンゴー
107 名詞,数,*,*,*,*,*
- 記号,一般,*,*,*,*,*
0052 名詞,数,*,*,*,*,*
東京都港区赤坂 名詞,固有名詞,地域,一般,*,*,東京都港区赤坂,トウキョウトミナトクアカサカ,トーキョートミナトクアカサカ
☆ここでひと工夫
「人名・姓」に関しては、「地名」として認識されるパターンがあった為、
「人名・名」の前の単語が「地名」と認識された場合は「人名・姓」に置き換える処理などを追加。
高松さんの名刺を読み取ると、香川県の高松(市)として認識されますので、これを回避!
ちなみに、EWS当日の解析正答率は以下になりました。
「役職」解析正答率: 92.5%
「姓」解析正答率: 84.9%
「名」解析正答率: 77.4%
※実際に撮影された名刺とOCR結果情報を見比べて算出しました。
※名刺画像やOCR結果情報は、正答率算出後に削除しておりますのでご安心ください。
こちらで読み取った「姓」についてはAI音声チャットで利用していたのですが、
約15%の方々には、お名前の呼び間違いが発生していたという事になります。
大変失礼致しました…。
4. 取得した役職をもとに、カレーの好みの味を選定する等の機械学習データを生成
カレーの味は、取得した情報をもとに統計データから推定する処理を実装しました。
その他、特定条件下に該当した方にはレア物を選択するよう実装。
カレーの味が好みに合っているかどうかは、AI音声チャットの会話内で
お客様の感想を聞けるようにしました。
感想をまとめたところ、以下のようになりました。
「誤っている」: 21.3%
「まあまあ」: 2.6%
※「ばっちりです!」「辛口が良かった…。」「食べてみないと分からないです」「すご~い」等の声を頂きました!
5. 空席確認を行い、座席案内(LED点灯APIを叩きつつ、画面表示)
一通りの処理が終わると、空席を検索して、先ほどのOCR画面にブース案内が出ます。
6. 案内対象となる座席のLEDが点灯
LEDはフルカラーのLEDテープを使用しました。
2.5m毎にカットしてハンダでAC電源とWi-Fiモジュール マイコンに接続!
マイコンはesp-wroom-02を使用しており、
スカイツリーをイメージしてクルクル回る感じに点灯する制御を実装しております。
今回の記事はここまで。
次回はルンバをメインに記事を書こうと思います。
[…] […]