1
0

More than 1 year has passed since last update.

【kintone x OCR】~文字列置換編~ kintoneのOCRプラグインを開発する⑤【GCP】

Last updated at Posted at 2022-08-24

無償で試してみる

下記に「アカウント申請」という件名(本文なし)でメールを送付頂ければ、数分程度でアカウント情報を返信します。
ocr.lastonemile@gmail.com

  • 利用規約に同意の上、ご利用ください。 https://tanoshimane.stores.jp/news/603313afc19c4527490eb72e
  • kintoneというクラウドアプリ上に構築しており、そのゲストIDを発行します。
  • 30日間又は100ページまで(kintoneの利用料含めて)無償で利用可能です。

詳細:https://qiita.com/Lastonemile/items/65b9102c868e09b3248e

プラグインのダウンロード

kintone用OCRプラグイン及びテンプレートが、下記よりダウンロード(無償で購入)可能です。

利用(設定)方法

  • IEではご利用いただけません(Chrome,edgeは動作確認済、その他ブラウザは未検証です)
  • 初回利用時から1か月間無償でご利用いただけます。
  • ご利用にあたり、ご利用者のドメイン情報を取得します(ドメイン毎に利用期間を管理しています)。
  • 利用にあたり、別途Google Cloud Vision のAPIキーを取得頂く必要がございます。(取得代行も行っています)
    Cloud Visionの詳細:https://cloud.google.com/vision/docs?hl=ja
    APIキー取得方法:https://syncer.jp/cloud-vision-api
    APIキーの管理には十分ご注意ください

最終目標

kintone上でこの↓画像(請求書)をOCR処理し、請求番号・支払期限・振込先・請求元・明細(品名・数量・・・のテーブル部分)の値を取得することを最終目標とします。
請求書サンプル.jpg

尚、説明は後回しで「まず試したい」という方は、プラグイン(テンプレート)のダウンロードからkintone用のプラグインとテンプレートを試用(1か月間)頂けます。

今回(文字列置換編)の目標

前回(④)の最後で今後の課題とした、文字単位での認識違いの対策を説明したいと思います。対象となるのは↓の「単価」列の5行目で100を10Dと認識違いしていますので、100と取得できるようにしたいと思います。
KEYWORZONE正規表現.PNG

具体的な取得方法

今回の「単価」列には、数字しか記載されません。そのため、数字以外の文字で特に数字に間違い易い文字については、数字と間違って認識している可能性が高いと思われます。

そこで、取得した値の中に数字に間違い易い文字(下記参照)が含まれている場合は、間違い易い数字に変換することとします。
アルファベット2数字.PNG
*例えば、今回のようにDと認識した場合は0に変換します。

for (let i = 0; i < replacecsv.length; i++) {
   description = description.replace(replacecsv[i].Column1,replacecsv[i].Column2);
}

そうすることで、「単価」列が上手く取得出来ました。

プラグイン(テンプレート)のダウンロード

ここまでの説明及び、以降の記事内容も網羅したkintone用OCRプラグイン及びテンプレートが、下記よりダウンロード(無償で購入)可能です。

利用(設定)方法

IEではご利用いただけません(Chrome,edgeは動作確認済、その他ブラウザは未検証です)
*初回利用時から1か月間無償でご利用いただけます。
*ご利用にあたり、ご利用者のドメイン情報を取得します(ドメイン毎に利用期間を管理しています)。
*利用にあたり、別途Google Cloud Vision のAPIキーを取得頂く必要がございます。(取得代行も行っています)
Cloud Visionの詳細:https://cloud.google.com/vision/docs?hl=ja
APIキー取得方法:https://syncer.jp/cloud-vision-api
APIキーの管理には十分ご注意ください(自己責任でお願いします)

今後の課題

「品名」列の結果を見ると、その左側のseq番号を取得してしまっています。この場合、正規表現では上手くパターン化出来ないため、他の方法が必要です。

そのため、次回はこの品名列の値を取得することを目標とします。

ここまでで出来たこと

KEYWORZONE正規表現文字置換.PNG

*KEYWORD検索(請求番号・支払期限・振込先)、ZONE検索(請求元)、正規表現検索(明細(数量・単位・金額))に加え、文字列置換で単価まで取得出来ました。

筆者の紹介

群馬県の渋川市・高崎市を中心に群馬県内でkintoneを利用したDX化支援を行っています。ご興味ある方はぜひご連絡ください。
https://ks-kiki.hp.peraichi.com/

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0