🔎

Einstein OCR を試してみよう

2020/10/17に公開

はじめに

こんにちは。2019 年より Salesforce Einstein Champion をやらしてもらってる Heat です。
Salesforce 歴は 7 年目くらいです。

今回は、2020 年 5 月に GA (正式リリース) となった、Einstein OCR について紹介します。

OCR とは

Optical Character Recognition、日本語では 光学式文字認識 と呼ばれています。
たとえば紙の申込書をスキャンして、そこに記載されている文字をデータ化してくれるような技術です。

Einstein OCR とは

Salesforce が提供する、画像中の英数字テキストを検出する OCR モデルです。

Einstein OCR を使用した画像内のテキストの検出 (正式リリース)

REST API エンドポイントからモデルにアクセスできるため、呼び出し元が必ずしも Salesforce Platform 上のアプリである必要はありません。

何ができるの?

いまのところ大きく 2 つのモデルが用意されています。

  1. OCRModel
    • Text : 画像の中で比較的無秩序に並べられている文字列を読み取るとき
    • Contact : 名刺のような一定のルールで並らべられている文字列を読み取るとき
  2. tabulatev2
    • Table : 縦横の表形式で並んでいる文字列を読み取るとき

あとはアイディア次第でいろいろなことができると思います。

ヒント

Salesforce にデータをためる時には、これまではパソコンのキーボードを叩いて入力していました。あるいは、メールの文面を取り込んで入力するような機能[1]もありました。

今度は、画像のアップロードで入力できるとしたら、、、と考えてください。しかも、読み取り精度は 100%ではありません。たとえ不正確なデータが入力されたとしても、それを想定した流れが必要ですよね。たとえばチャットボットが「これでよろしいですか?」と尋ねるステップを挟んだり。

何か思いついたらぜひ教えてください。私もそのうち何か作って公開します 😎

どうやったら試せるの?

上述のガイドには、Einstein Platform Services の Vision API をコマンドラインから試す方法が記載されていました。
今回は Salesforce Platform 上のアプリ Einstein Playground から試す方法を紹介します。

事前準備

半年前くらいに主催したワークショップにて手順をまとめてありましたので今回も流用します。
こちら を完了させてください。

Salesforce の画面に Einstein Playground アプリが表示できていれば OK です。

Einstein Playground - OCR

実行

読み取りたい画像を何枚か用意します。今回は、「PC に貼ったステッカー」と「名刺」と「手書きの表」の画像でやってみます。

使うモデルを選択して、画像をアップロードしてください。自動的に API が呼ばれ、結果が表示されます。

Text

小さいフクロウ (Hootie) の胸に書かれている小さい文字も正確に読み取っていました。やはり英数字には強いですね。

Text

Contact

けっこう正確に認識できていますね。1 つの文字列だけどそれが改行されてる場合は別々のデータとして認識されています。やはり日本語は変な英数字として認識されてました。

Contact

Table

手書きの表なのに、何行目の何列目のデータなのかも認識できているのはすごいですね。もちろん日本語は変な英数字として認識されてました。

Table

あっという間に試せてしまいました。コマンドラインで試すよりも直感的にできたと思います。
これらの解析結果のデータは JSON 構造で取得できていますので、次のビジネスロジックへデータを渡すことが容易です。

...何かいいアイディア浮かびましたか? 🤔

さいごに

本エントリを通じて Einstein Platform に興味を持っていただけたら幸いです。
このほかにも Salesforce 公式の学習教材がたくさんありますので、ぜひ触ってみてください 💪🏽

それではまたお会いしましょう。どうぞお元気で。

おまけ

定期的に開催している土曜日のもくもく会で一緒に勉強しませんか?
一人で進めるもよし、私たちメンターに質問するもよし。本エントリのフィードバックもお待ちしております。お気軽にどうぞ 🌈

脚注
  1. メール-to-ケース のことです。詳細はこちら ↩︎

Discussion