先日、「ABBYY」とDataSpiderを連携する記事を掲載しました。
DataSpiderはAI-OCRのクラウドサービス「Tegaki」とはアダプタで連携できます。
ということで今度はオンプレミス型のAI-OCRと連携できるか試してみました。
オンプレミス型OCRと連携
今回連携してみたのはアライズイノベーション株式会社様が提供しているAIReadという製品です。
※AIReadは手書き文字も対応しています。
ツールの詳細な内容はAIReadのホームページをご覧ください。
今回はこちらの請求書をAIReadでデータ化したもの(CSVファイル)をDataSpiderをつかってデータベースに取り込んでみました。
AIReadは
「座標指定固定読み取り」
「非定型キーワード読み取り」
の2つの読み取りフォーマットがあります。
今回は「非定型キーワード読み取り」のフォーマットで出力されたCSVを使ってみました。
▼変換元データ
▼変換結果
このCSVを基にDataSpiderをつかってデータベースに取り込みます。
データベースには下記のようなテーブルを用意しました。
データベース名:OCR テーブル名:airead
列は製品番号、製品名、数量、単価の4つ。
DataSpiderを使って列に定義したデータのみデータベースに取り込みします。
スクリプトの作成
では、最初にCSV形式で出力されたファイルを読み込む設定を行います。
出力されたCSVファイルは列で定義されていますが、データとしては下記のようになります。
▼CSVをExcelで開いたもの
出力されるCSVだと7行目まではシステムから付与される値になります、8行目以降がユーザが項目設定など行ったものになります。
8行目以降かつItemName列の値が「item_num」「item_name」「item_quantity」「item_unitprice」の行の「Value:E列」の値だけを抽出するために「可変長ファイル読み取りアダプタ」を使いました。
可変長アダプタの設定
可変長ファイル読み取りでは読み取るファイルのフォーマットを指定する必要があります。
フォーマットの設定は「可変長ウィザード」を使って行います。
フォーマットの設定は
コントロールパネル->グローバルリソース->新しい接続の作成->ファイル->可変長
より行います。
可変長ウィザードでは、設定データの「インポート/エクスポート」が出来ます。
エディタで作成したフォーマットをインポートする事でフォーマットの作成時間を短縮することもできます。
▼可変長フォーマット出力イメージ
データベースへの書き込み設定
続いてデータベース書き込みの設定を行います。
Mappingの設定
最後にプロセスフローを引いてスクリプト完成です。
処理の実行と確認
処理を実行してみます。完了したらデータベースアダプタのテーブルブラウザで結果を確認してみましょう。
以下のように取り込まれたことが確認できると思います。
あとはプロジェクトをサービス登録しファイルトリガーと関連付ければ完成です。
AIReadはオプションですがベリファイする機能があります。
ベリファイ終了後のCSVファイルをDataSpiderのファイルトリガーが監視しているフォルダに投入することで、データベースや様々な仕組みへと自動連携できます。
▼自動連携イメージ(社内システムと連携)
まとめ
CSVファイルにデータが出力できる場合でもツールによってレイアウトは様々です。
今回のCSVファイルのレイアウトも「可変長ファイル読み取りアダプタ」を使うことで簡単に読み込むことができました。
DataSpiderなら簡単に様々なレイアウトに対応することができます。
「簡単に設定できる=メンテナンスも楽」ということで、今回は終わりにしたいと思います。