ノーコードでクラウド上のデータとの連携を実現。
詳細はこちら →ABBYY FlexiCapture のOCR 結果を補完するデータセットにSalesforce のマスタデータを取り込む:CData ODBC Driver
杉本和也こんにちは。CData Software Japan リードエンジニアの杉本です。
今回はOCR に関するソフトウェアで世界的に有名なABBYY のFlexiCapture とCData ODBC Driver を組み合わせて、OCR 結果を補完する連携機能を試してみたいと思います。
ABBYY FlexiCapture とは?
ABBYY 社が提供するAI OCRを用いた帳票処理プラットフォームです。
https://www.abbyy.com/ja/flexicapture/
ABBYY FlexiCapture ではOCR した結果を補完することができるデータセット機能が存在しています。
例えばあらかじめ、外部のRDBなどからベンダーマスタや部署マスタなどを取り込んでおき、OCRの結果に基いて、不足している項目を補うことができます。
https://help.abbyy.com/ja-jp/flexicapture/12/standalone_administrator/ir_preparingdb/
デフォルトではODBC 対応のデータベースとして、Oracle やMicrosoft SQL Server、Access などが挙げられていますが、この機能とCData ODBC Driver を組み合わせることにより、RDBだけでなくSalesforce やKintone など様々なクラウドサービスへの連携も可能になります。
今回はこの機能とCData Salesforce ODBC Driver を組み合わせて、データセットにSalesforce のマスタデータを取り込んでOCR 結果を補足してみたいと思います。
対象とする文書定義
ABBYY FlexiCapture では予めOCR を行うための設定、文書定義と呼ばれるものを構成しておく必要があります。
今回は予めABBYY FlexiCapture 日本語版に含まれているTemplateProjectsの請求書(Invoice)のサンプルを利用してみました。
以下のような請求書の画像からOCR した結果の「請求元」情報を補完してみます。
CData Salesforce ODBC Driver のインストール・セットアップ
最初に CData Salesforce ODBC Driverを対象のマシンにインストール・セットアップします。
CData Salesforce ODBC Driver は以下のURLから30日間のトライアル版が入手できます。
https://www.cdata.com/jp/drivers/salesforce/odbc/
セットアップ完了後、接続設定画面が立ち上がります。下記の項目に Salesforce への接続情報を設定します。
Salesforceの接続情報 |
設定項目 |
備考 |
ユーザID |
User |
|
パスワード |
Password |
|
セキュリティートークン |
Security Token |
取得方法はこちら |
「接続のテスト」ボタンをクリックします。下記のようなダイアログが表示されれば成功です。「接続ウィザード」の「OK」ボタンをクリックして保存します。
文書定義エディタを立ち上げる
それではABBYY FlexiCapture に移動し、ODBC との連携設定を追加していきましょう。
今回は前述の通りABBYY FlexiCapture のTemplateProjects に含まれる「Invoice Processing(JP)」を使います。
以下のABBYY FlexiCapture のプロジェクトを立ち上げましょう。
プロジェクト設定ステーションが機動したら「プロジェクト」→「文章定義」に移動し
「Invoice」のプロジェクトを編集します。
ルールの確認
データセットやルールは「文書定義」→「文書定義プロパティ」から調整できます。
今回はSampleProjectsに予め含まれているVendor 情報を補完する機能に適用してみます。
この機能は以下の「Vendor must be found in database」というルールで設定されており、Vendors データセットから情報を参照するようになっています。
データセットの取り込み
それでは対象のデータセットにODBC Driver 経由でSalesforce のデータを取り込んでみましょう。
文書定義プロパティから「データセット」タブに移動して「Vendors」を設定します。
接続文字列の「指定」をクリックし
プロバイダーの一覧から「Microsoft OLE DB Provider for ODBC Drivers」を選択し、「次へ」移動します。
「データソース名を使用する」から先程構成したODBC DSNを選択します。なお、FlexiCapture はバックグラウンドのジョブとして動作するため、実行ユーザーが異なる場合があります。そのためシステムDSN を選択しておくと良いでしょう。
接続文字列の指定が完了したら「データスキーマ」と「データベーステーブル」を選択します。今回はAccount オブジェクトを指定してみました。
テーブルの指定が完了したら、各項目をデータベースの列に紐づけていきます。
以下のように必要な列を紐づけたら作業完了です。
データセットの一覧画面から「Vendors」を選択して、「更新」をクリックしてみます。
これで以下のように文書定義のデータセットがSalesforce のマスタデータで更新されます。
テスト実行
ルールの検証はそのまま文書定義エディタのテスト実行で確認できます。
テスト実行をしてみると、Salesforce からの検索結果データをもとに、必要な項目を埋めることができました!
おわりに
このようにCData ODBC Driver を利用することで、各種クラウドサービスやNoSQL、DWHなどのデータをABBYY FlexiCapture のデータセットとして取り込むことができます。
CData では Salesforce 以外にもODBC Driver を多数提供しています。Kintone や HubSpot、Sansanなど様々なデータソースをサポートしているので、ぜひ自社で使っているクラウドサービスやNoSQL と合わせて活用してみてください。
ご不明な点があれば、お気軽にテクニカルサポートまでお問い合わせください。
https://www.cdata.com/jp/support/submit.aspx