WEBサービス

Salesforceで名刺画像スキャンしてリード作成する処理を作る方法

Salesforceで名刺画像スキャンしてリード作成する処理を作る方法

ScanToSalesforceがサービス終了するけど、似たような処理って自分で作れるんですか?


Salesforceには無料の「Scan to Salesforce」というアプリを使うことで、名刺からリードデータを作成することができた。

その「Scan to Salesforce」は2024年5月31日にサービスが終了する


「Scan to Salesforce」のサービス終了はSalesforceユーザーにとっては大きな問題だが、同等の機能を持つ無料アプリは存在しない

有料サービスや有料アプリの利用を検討しているユーザーもいるが、有料サービスの多くはサービスがプラットフォーム化しており、名刺管理だけでなく他の様々な情報を管理するサービスとなっていて利用料が高い

また名刺をスキャンしてテキスト情報を抽出する精度や速度にも問題があったりする。

このような理由から有料サービスや有料アプリを使う決断をしていないユーザーもいるだろう。


有料サービスが使えないのなら、Salesforceや他のクラウド環境を利用して名刺取り込み機能を開発してはどうだろうか。

名刺取込機能の自作は難度が高そうに見えるが実は可能だったりする。

そこで今回はSalesforceで名刺画像スキャンしてリード作成する処理を作る方法について紹介する。

この記事を書いている人


システムエンジニア、AIエンジニアと、IT業界で10年以上働いている中堅。PythonとSQLが得意。

記事を読むメリット

Salesforceで名刺画像スキャンしてリード作成する処理を作る方法がわかり、処理を自作する道筋が見えるようになる


名刺スキャンの処理は自作できる

まずSalesforceの外側の話として、名刺スキャンの処理は自作できるということを知っておきたい。


名刺スキャンの処理としては大きく2つある。

  • 名刺の画像から文字を認識させて抽出する
  • 抽出した文字列を氏名や住所などの要素に分解する
どっちも難しそう。。。
私も1から作るのはムリですね。。。

この2つの処理を自作するとなると難しそうに思うだろう。

実際に何も使わずにコーディングで実装するのは大変かと思う。

しかしこれらの処理は、実は自分で作る必要は無く既存のサービスを流用して実装できてしまう。

その既存のサービスとは以下のものとなる。

名刺スキャンの実装に利用できるサービス

  • Vision API
  • 生成AI

これらを説明していく。



Vision API

VisionAPIはGoogle Cloudで提供しているサービスだ。
VisionAPIを使うことで、画像から文字を抽出することができる。

なので名刺取込処理の「名刺画像から文字を抽出する」というOCR機能の部分にはVisionAPIが使える

参考リンク先の紹介ページでVisionAPIのデモを触ることができる。
実際に名刺をアップロードして試してみるとよいだろう。

Cloud Vision API Demo
Cloud Vision API Demo
Cloud Vision API Demo 結果の例
Cloud Vision API Demo 結果の例


このようにVisionAPIを使うことで名刺からテキスト抽出が可能となる



生成AI

名刺からテキストを抽出したら、次はテキストを「氏名」や「会社名」「住所」「電話番号」等の項目に分解する必要がある。

名刺から抽出するテキストのフォーマットは決まっていないので、これをロジックで各項目に割り当てるのはなかなか難しい

そこで使えるのが生成AI

ChatGPTに代表されるような「自然言語テキストのクエリに対して回答を返してくれるサービス」だ。

要望をテキストで伝えると、絶対に正確とまではいかないが、割といい感じの答えを出してくれる。


GoogleにもGeminiという生成AIのサービスがあるので、Geminiに以下のようなクエリを与えてみる。

次の文字列から会社名、部署名、氏名、会社住所、電話番号、e-mailアドレスを抜き出して、JSON形式で出力してください。JSONのスキーマは次の通りです:
{
    "Company": "string",
    "Department": "string",
    "FamilyName": "string",
    "FirstName": "string",
    "Title": "string",
    "Address": "string | null",
    "Phone": "string | null",
    "Mobile": "string | null",
    "Fax": "string | null",
    "e-mail": "string | null",
    "WebSite": "string | null",
  }

○ ○ 省 庁
企 画 室 第 一 課 管 理 士
め い し
た ろ う
課 長 名 刺 太 郎
〒 1 1 1 - 1 1 1 1 東 京 都 中 央 区 1 丁 目 - 1 - 1 0 0
T E L : 0 3 - 0 1 2 3 - 4 4 5 5
携 帯 : 0 9 0 - 1 2 3 4 - 5 6 7 8
F A X : 0 3 - 0 1 2 3 - 4 4 6 6
E - m a i l : m e i s h i @ t s u b a k i . n e . j p
h t t p s : / / w w w . t s u b a k i . n e . j p /

すると以下のような結果が返される。

JSON
{
  "Company": "○ ○ 省 庁",
  "Department": "企 画 室 第 一 課",
  "Title": "管 理 士",
  "FamilyName": "名刺",
  "FirstName": "太郎",
  "Address": "〒 111-1111 東京都中央区1丁目1-100",
  "Phone": "03-0123-4455",
  "Mobile": "090-1234-5678",
  "Fax": "03-0123-4466",
  "e-mail": "meishi@tsubaki.ne.jp",
  "WebSite": "https://www.tsubaki.ne.jp/"
}

使っているのがサンプル名刺のテキストなので役職や氏名が正しくない場合もあるが、本物の名刺情報を使うとさらに精度が高い結果になる。


Geminiも試すことができるので試してみるといいだろう。

参考


これで名刺からOCR処理で抽出したテキストを構造化することもできる。



Salesforceで名刺画像スキャンしてリード作成する処理を作る方法

名刺画像からOCRでテキスト抽出することはできる。

抽出したテキストを会社名や部署名、氏名、電話番号等に構造化することもできる。

あとはSalesforce側でやらなければいけないのは以下の処理である。

Salesfoce側に必要な処理

  • 名刺画像をアップロードしてテキスト抽出処理(VisionAPI)に渡す
  • テキスト抽出結果を構造化処理(生成AI)に渡す
  • 構造化された各項目のデータを使ってリードレコードを作成する

これらの処理をSalesforce上で準備すればSalesforce上で名刺画像をアップロードして、名刺情報を使ってリード作成するところまで実現できる。



まとめ

今回はSalesforceで名刺画像スキャンしてリード作成する処理を作る方法について解説した。


名刺取込機能のコアな機能は以下の2つ。

  • 名刺の画像から文字を認識させて抽出する
  • 抽出した文字列を氏名や住所などの要素に分解する


これらは難しそうに見えるが、既存のサービスを利用することで解決できる

名刺スキャンの実装に利用できるサービス

  • Vision API(OCR処理)
  • 生成AI(構造化処理)



あとはSalesforce側に画像データを渡す前処理部分とリード作成する後処理部分を準備してしまえば完成だ。


なんかできそうな気がしてきた!
まぁこの実装もちょっと開発が必要ですけど、開発経験があればできそうな気はします


細かい実装や注意点については別の記事に書こうと思う。

ITipsと同じようなブログを作る方法

ブログに興味がありますか?

もしブログに興味がある場合は↓このページ↓を参考にすれば、ITipsと同じ構成でブログを作ることができます

サーバー、ドメイン、ASPと【ブログに必要なものは全て】このページに書きました。
同じ構成でブログ作るのはいいけど、記事はマネしないでネ (TДT;)

ランキング参加中

にほんブログ村 IT技術ブログへ

他にもブログやSNSで紹介してくれると励みになります。

はてブのコメントで酷評されると泣きます(´;ω;`)

-WEBサービス
-, ,

© 2024 ITips