1. 概要

本ソフトウェアは、画像に含まれる文字を認識してテキストファイルへ出力します。
あらかじめ座標を指定した範囲について文字を認識するほか、定められたルールを指定してデータ化することができます。

1.1. サポートしている画像形式

サポートしている画像ファイル形式は以下の通りです。

画像 (拡張子)Windows>ファイル「プロパティ」での表示
PDF ※ 
PDF JBIG2形式
jpeg ( .jpeg, .jpg )
png ( .png )
Tiff LZW圧縮 ( .tif, .tiff )LZW
Tiff ZIP圧縮 ( .tif, .tiff )
Tiff Packbits圧縮 ( .tif, .tiff )Packbits
Tiff CCITT T6圧縮 ( .tif, .tiff )CCITT T6
Tiff CCITT T4JPEG圧縮 ( .tif, .tiff )CCITT T4
Tiff 圧縮しない ( .tif, .tiff )圧縮しない

1.1.2. サポートしていない画像形式

※PDFは中に含んでいる画像がサポートしていない形式の場合は対象外となります。

画像 (拡張子)Windows>ファイル「プロパティ」での表示
jpeg2000 ( .jp2 )
gif ( .gif )
bitmap ( .bmp )
Tiff JPEG圧縮 ( .tif, .tiff )JPEG

1.2. 使用する用語

・帳票定義

OCRをかけ、データ化されたものから、必要なデータのみを抽出するための設定です。帳票の読み取りには、必ず設定する必要があります。

・学習モデル
– 活字OCR用学習モデル

活字にOCRをかけ、データ化する際に使用するファイルです。手書き文字をデータ化することはできません。

– 手書き文字OCR用学習モデル

手書き文字にOCRをかけ、データ化する際に使用するファイルです。活字モデルと比較すると精度は劣りますが、活字文字もデータ化することが可能です。

・Enterprise版

非定型の帳票にOCRをかけ、データ化する際に適した機能です。手書き/活字の両モデルに対応しています。

・Standard版

定型の帳票のデータ化に適した機能です。手書き/活字の両モデルに対応しています。

・共通設定ファイル

OCRをかける際に、使用する設定ファイルです。フォルダパスの指定やデータ抽出のチューニングを行います。

・arex ファイル

AIRead独自の実行用ショートカットファイルです。AIRead ShortcutCreatorで作成・編集を行うことができます。

・AIRead RuleEditor

Enetrprise版の機能で帳票を読み取る際に使用する、帳票定義の作成・チューニングを行うためのGUIです。

・AIRead FormEditor

Standard版の機能で帳票を読み取る際に使用する、帳票定義の作成・チューニングを行うためのGUIです。

・AIRead SortingEditor

AIRead RuleEditor・AIRead RuleEditor で作成した定義を使用して、帳票仕分け設定の作成・帳票仕分けを行うためのGUIです。

・AIRead ControlPanel

共通設定ファイルの作成・チューニングを行うためのGUIです。ライセンスの登録・更新、ユーザ認証の設定もこちらのツールで行います。

・AIRead ShortcutCreator

arex ファイルの作成・編集を行うためのGUIです。AIRead RuleEditor・AIRead RuleEditor で作成した帳票定義、AIRead SortingEditorで作成した仕分け設定を使用します。

・AIRead Viewer

AIRead の実行結果を確認する画面です。
AIRead Ruleeditor、AIRead FormEditor、専用のbat から実行した結果の使用することができます。

・AIRead Trainstudio

活字OCR用学習モデルに機械学習を行い、読み取りの強化を行うツールです。こちらを使用することで活字読み取り時の、誤読を減らすことができます。

・AIRead TrainstudioHW

手書き文字OCR用学習モデルに機械学習を行い、読み取りの強化を行うツールです。こちらを使用することで手書き文字読み取り時の、誤読を減らすことができます。
このツールでは、手書きのmulti とついたモデルを学習することはできません。

・AIRead training_tool

手書き文字OCR用学習モデルに機械学習を行い、読み取りの強化を行うツールです。こちらを使用することで手書き文字読み取り時の、誤読を減らすことができます。
このツールは、手書きのmulti モデル専用の学習ツールです。

・AIREAD_HOME

AIRead が使用するシステム環境変数です。AIRead のインストール先が、AIREAD_HOME となります。インストール時に作成されるため、事前に設定する必要はありません。

2. 実行手順

2.1. 処理フロー

2.2. 実行方法(arexファイルを利用する場合)

AIRead独自の実行用ショートカットを使用して、OCR結果を出力します。

ShortcutCreator で作成したarex ファイルを実行することで、指定したフォルダへ画像を出力します。
以下のプログラムを起動することで、AIRead ShortcutCreator(以下ShortcutCreator)でarexファイルの作成・編集ができます。

<AIReadインストールフォルダ>/ShortcutCreator/ShortcutCreator.exe

2.2.1. arexの起動条件の設定(座標指定OCRの場合)

座標指定で帳票を読み取りたい場合に使用する起動条件です。

No.項目名説明
1読み取り方式使用する読み取り方式を指定する
座標指定の場合は、座標指定OCRを指定
2FormID帳票の読み取り時に使用するフォーマット定義を指定する
フォーマット定義の作成は、5.2. AIRead FormEditorで設定 を参照
3共通設定ファイルパス帳票の読み取り時に使用する共通設定ファイルを指定する
共通設定ファイルの詳細は、4. 共通設定 を参照
4AIRead Viewerの起動起動する:読み取り完了後にAIRead Viewerで読み取り結果を表示する
     CSVの出力は、AIRead Viewerから行うため、「読取結果出力フォルダ」は指定不可になる
起動しない:読み取り完了後に、「読取結果出力フォルダ」に指定したフォルダパスへ読み取り結果を出力する
5読取画像の格納フォルダ読み取り対象としたい画像を配置するフォルダパスを指定する
6読取結果出力フォルダ「AIRead Viewerの起動」が “起動しない” になっているときに読み取り結果を出力するフォルダパスを指定する

2.2.2. arexの起動条件の設定(ルール指定OCRの場合)

ルール指定で帳票を読み取りたい場合に使用する起動条件です。

No.項目名説明
1読み取り方式使用する読み取り方式を指定する
ルール指定の場合は、ルール指定OCRを指定
2実行内容OCRのみ:エンジンに反映済みのルールを使用して読み取りを行う
定義初期化のみ:エンジンの初期化と最新のルールをエンジンに反映する
定義初期化とOCR:定義初期化を行った後に、反映したルールを使用して読み取りを行う
ルールの作成は、5.4. AIRead RuleEditorで設定 を参照
3共通設定ファイルパス帳票の読み取り時に使用する共通設定ファイルを指定する
共通設定ファイルの詳細は、4. 共通設定 を参照
4AIRead Viewerの起動起動する:読み取り完了後にAIRead Viewerで読み取り結果を表示する
     CSVの出力は、AIRead Viewerから行うため、「読取結果出力フォルダ」は指定不可になる
起動しない:読み取り完了後に、「読取結果出力フォルダ」に指定したフォルダパスへ読み取り結果を出力する
5読取画像の格納フォルダ読み取り対象としたい画像を配置するフォルダパスを指定する
6読取結果出力フォルダ「AIRead Viewerの起動」が “起動しない” になっているときに読み取り結果を出力するフォルダパスを指定する

2.2.3. arexの起動条件の設定(仕分け付きOCRの場合)

フォーマット仕分け付で帳票読み取りを行う場合に使用する起動条件です。
仕分け付OCRについては、8. 仕分け付きOCR機能 を参照。

No.項目名説明
1読み取り方式使用する読み取り方式を指定する
仕分け付読み取りの場合は、仕分け付OCRを指定
2実行内容OCRのみ:登録済みの仕分け設定を使用して、帳票読み取りを行う
テンプレート登録のみ:テンプレート画像と仕訳け設定を最新の状態に登録する
テンプレート登録とOCR:テンプレート画像と仕分け設定の登録後、登録された仕訳設定を使用して読み取りを行う
3仕分け定義フォルダパステンプレート画像と仕分け設定が配置されている仕分け定義フォルダまでのフォルダパスを指定する
4共通設定ファイルパス帳票の読み取り時に使用する共通設定ファイルを指定する
共通設定ファイルの詳細は、4. 共通設定 を参照
5AIRead Viewerの起動起動する:読み取り完了後にAIRead Viewerで読み取り結果を表示する
     CSVの出力は、AIRead Viewerから行うため、「読取結果出力フォルダ」は指定不可になる
起動しない:読み取り完了後に、「読取結果出力フォルダ」に指定したフォルダパスへ読み取り結果を出力する
6読取画像の格納フォルダ読み取り対象としたい画像を配置するフォルダパスを指定する
7読取結果出力フォルダ「AIRead Viewerの起動」が “起動しない” になっているときに読み取り結果を出力するフォルダパスを指定する

2.2.4. arexの起動条件の設定(全文OCRの場合)

帳票定義を使用せず、帳票全体を読み取る場合に使用する起動条件です。
全文OCRについては、4.4.4. 表検出付全文OCR を参照。

No.項目名説明
1読み取り方式使用する読み取り方式を指定する
全文読み取りの場合は、全文OCRを指定
2共通設定ファイルパス帳票の読み取り時に使用する共通設定ファイルを指定する
共通設定ファイルの詳細は、4. 共通設定 を参照
3読取画像の格納フォルダ読み取り対象としたい画像を配置するフォルダパスを指定する
4読取結果出力フォルダ「AIRead Viewerの起動」が “起動しない” になっているときに読み取り結果を出力するフォルダパスを指定する

2.3. 実行方法(batファイルを利用する場合)

2.3.1. エンジンの初期化

設定した帳票定義情報をエンジンへ適用します。
帳票定義を作成・修正した場合は、必ず以下のコマンドを実行してください。
定義情報の適用は、Enterprise(キーワード読み取り)の時のみ必要です。Standard(定型読み取り)の時は不要です。

> init_kw.bat
  • init_kw.bat
"%AIREAD_JAVA%/java" -jar ./IDELibrary/lib/AIReadEEInit.jar -s [SettingFile]
  • オプション:
No.引数説明
1-s [SettingFile]共通設定ファイルを指定

2.3.2. 抽出処理の実行

コマンドを使用し、OUTPUTフォルダへOCR結果を出力します。

以下のコマンドを実行してください。

  • run_kw.bat

run_kw.bat は、Enterprise版(非定型読み取り)を実行する際に使用するbatファイルです。

> run_kw.bat
call "%AIREAD_HOME%\IDELibrary\scripts\set_envs.bat"
set MAIN_CLASS_NAME=co.jp.ariseinnovation.AIReadEE.AIReadEE
"%AIREAD_JAVA%/java" -Xmx8192m -classpath "%CLASSPATH%" %MAIN_CLASS_NAME% -s [SettingFile]
  • オプション:
No.引数説明
1-s [SettingFile]共通設定ファイルを指定
2--input <フォルダパス>読み取り対象としたい画像を配置するフォルダパスを指定
引数で指定したフォルダパスは共通設定の指定よりも優先される
3--output <フォルダパス>読み取り結果を出力したいフォルダパスを指定
引数で指定したフォルダパスは共通設定の指定よりも優先される
  • run.bat

run.bat は、Standard版(定型読み取り)を実行する際に使用するbatファイルです。

> run.bat
call "%AIREAD_HOME%\IDELibrary\scripts\set_envs.bat"
set MAIN_CLASS_NAME=co.jp.ariseinnovation.AIReadEE.AIReadEE
"%AIREAD_JAVA%/java" -Xmx8192m -classpath "%CLASSPATH%" %MAIN_CLASS_NAME% -s [SettingFile] -C [フォーマット定義]
  • オプション:
No.引数説明
1-s [SettingFile]共通設定ファイルを指定
2-C [フォーマット定義]FormEditor で作成したフォーマット定義を指定
3--input <フォルダパス>読み取り対象としたい画像を配置するフォルダパスを指定
引数で指定したフォルダパスは共通設定の指定よりも優先される
4--output <フォルダパス>読み取り結果を出力したいフォルダパスを指定
引数で指定したフォルダパスは共通設定の指定よりも優先される
  • run_whole.bat

run_whole.bat は、作成した帳票定義を使用せず、帳票上の文字全文を取得する場合に使用するbatファイルです。

>run_whole.bat
call "%AIREAD_HOME%\IDELibrary\scripts\set_envs.bat"
set MAIN_CLASS_NAME=co.jp.ariseinnovation.AIReadEE.AIReadEE
"%AIREAD_JAVA%/java" -Xmx8192m -classpath "%CLASSPATH%" %MAIN_CLASS_NAME% -W -s [SettingFile]
  • オプション:
No.引数説明
1-W -s [SettingFile]共通設定ファイルを指定

3. ユーザー認証機能

下記の各種GUI、実行ファイルに対して認証機能を付与し、実行ユーザーの制限を行うことができます。
認証機能を有効にするには、ユーザーが1人以上登録されている必要があります。


・AIRead実行(arexファイル)
・ControlPanel
・FormEditor
・RuleEditor
・SortingEditor
・Viewer
・ShortcutCreator
・TrainStudio
・TrainStudioHW

※TrainStudio、TrainStudioHWは別途インストールした場合にのみ、認証機能を設定することが可能です。

3.1. ロールの設定

ユーザー認証は、ロールを作成し各ユーザー毎にロールに紐づけを行います。

3.1.1. AIRead ControlPanelの起動

<AIREAD_HOME>\ControlPanel\AIReadControlPanel.exe をダブルクリック、もしくはスタートメニューのショートカットから起動
します。

ControlPanel を起動し、下記のアイコンを選択してください。

3.1.2. 認証機能の設定

ロール画面上の設定ボタンを押下すると、AIRead 全体で認証を必要とするアプリの設定を行うことができます。
チェックボックスで選択されているアプリは、起動時にユーザー認証を求められます。
ユーザー認証を省略したいアプリケーションがある場合は、チェックを外してください。
※管理者以外のユーザはロール画面は表示されません。

3.1.3. 実行権限の設定

General User(一般ユーザー)の編集ボタンを押下すると、各種アプリケーションの実行権限を付与することができます。
チェックボックスで選択されているアプリは、一般ユーザーでも実行が可能ですが、選択されていないアプリケーションは実行することが出来ません。

実行権限を持っていないユーザーが、実行権限の必要なアプリケーションを起動しようとすると、エラー画面が表示されます。

3.1.4. ユーザーの実行権限一覧

Administrator(管理者)とGeneral User(一般ユーザー)の実行権限は以下の通りです。

No.対象アプリケーションAdministrator
管理者
General User
一般ユーザー
1AIRead ControlPanel
ユーザ管理・ロール管理常に利用可能利用不可
ライセンス登録・共通設定の変更・パスワードの変更常に利用可能常に利用可能
AIReadの実行(arexファイル)常に利用可能利用可能
※制限をかけて利用不可とすることも可能
3AIRead FormEditor常に利用可能利用可能
※制限をかけて利用不可とすることも可能
4AIRead FormEditor常に利用可能利用可能
※制限をかけて利用不可とすることも可能
5AIRead SortingEditor常に利用可能利用可能
※制限をかけて利用不可とすることも可能
6AIRead Viewer常に利用可能利用可能
※制限をかけて利用不可とすることも可能
7AIRead ShortcutCreator常に利用可能利用可能
※制限をかけて利用不可とすることも可能
8AIRead TrainStudio常に利用可能利用可能
※制限をかけて利用不可とすることも可能
9AIRead TrainStudioHW常に利用可能利用可能
※制限をかけて利用不可とすることも可能

3.2. ユーザーの設定

ユーザーの設定を行う際は、ControlPanel上から下記のアイコンを選択してください。
※管理者権限を持たないユーザーで認証すると、ユーザー画面は表示されません。

3.2.1. ユーザーの追加

ユーザーを追加する場合、ユーザー画面上の追加ボタンを押下します。
※初回作成するユーザーのロールは、必ずAdministrator を選択してください。

No.内容説明
1ユーザー名認証機能使用時のユーザー名を入力する
2パスワード認証機能使用時のパスワードを入力する

※パスワードは英大文字、英小文字、数字、記号(.!/'()[]+-=$#&@~)の内2種類以上を使用し、8~32文字の範囲で設定
3パスワード再入力パスワードに入力した文字列を再入力する
4ロールユーザーに紐づけるロールを選択する
Administrator:管理者
General User:一般ユーザー
5追加入力した内容でユーザーを追加する
6キャンセル入力内容をキャンセルし、ユーザー追加画面を閉じる
3.2.2. ユーザーの管理

作成済みのユーザーの権限やパスワードを変更する場合、ユーザー毎の編集ボタンを押下する。

No.内容説明
1ユーザー名編集中のユーザー名が表示される
2パスワードを編集するユーザーのパスワードを変更する場合に選択する
3パスワードユーザーのパスワードを再設定する

※パスワードは英大文字、英小文字、数字、記号(.!/'()[]+-=$#&@~)の内2種類以上を使用し、8~32文字の範囲で設定
4パスワード再入力パスワードに入力した文字列を再入力する
5ロールユーザーに紐づけるロールを選択する
Administrator:管理者
General User:一般ユーザー
6更新入力した内容でユーザーを更新する
7キャンセル入力内容をキャンセルし、ユーザー編集画面を閉じる

3.2.3. パスワードの変更

一般ユーザーの実行権限をもつユーザーで、ControlPanel を起動するとパスワード変更ボタンが表示されます。

パスワードの変更ボタンを押下し、ポップアップしたパスワード変更画面でパスワードの変更を行ってください。
※パスワードは英大文字、英小文字、数字、記号(.!/'()[]+-=$#&@~)の内2種類以上を使用し、8~32文字の範囲で設定する必要があります。

4. 共通設定

4.1. AIRead ControlPanelで設定

以下のプログラムを起動することで、AIRead ControlPanel(以下ControlPanel)にて共通設定ファイルを編集することができます。

<AIReadインストールフォルダ>/ControlPanel/AIReadControlPanel.exe

共通設定ファイル名は以下の通りです。
 Standard (座標指定) :AIRead_setting.ini
 Enterprise(キーワード指定 / キーワード指定(手書き文字あり)):AIRead_setting_kw.ini
      (キーワード指定(表検出付き)):AIRead_setting_whole.ini

共通設定ファイルには“項目名=値”の書式で定義されます。

共通設定ファイルはUTF-8で保存する必要があります。

4.1.1. 基本設定

ファイルの入出力や抽出モードに関わる設定を行います。

No.内容項目名書式説明
1入力フォルダINPUT文字列画像を取り込むフォルダパス
2出力フォルダOUTPUT文字列OCR結果を出力するフォルダパス
3処理成功移動先MOVE_SUCCESS_DIR文字列OCR処理に成功した画像を格納するフォルダパス
4処理失敗移動先MOVE_FAILED_DIR文字列OCR処理に失敗した画像を格納するフォルダパス
5複数ページの帳票ファイルを1つの帳票として処理するFILE_IDENFICATION_TYPE0, 1帳票を識別する単位
・チェックなし(0):ページ単位で帳票を識別して処理する
・チェックあり(1):1ページ目で帳票を識別し、1ファイルすべてのページを1つの帳票として処理する
CORRECT_MOVED_FILE がtrueかつ、MOVED_FILE_FORMAT の出力形式がJPEGのとき、複数のJPEGを出力する
6OCR成功時に傾きを補正した画像を出力するCORRECT_MOVED_FILEtrue, falseチェック(true)の時、OCR成功時に成功フォルダ(MOVE_SUCCESS_DIR)に移動する画像を天地・傾き補正後画像にする
(位置合わせ補正は行われない)
7補正した画像の形式MOVED_FILE_FORMATPDF, JPEGCORRECT_MOVED_FILE が true の時に出力する画像のフォーマットを指定する
(デフォルト JPEG)
<以下はEnterpriseのみ>
「複数ページの帳票ファイルを1つの帳票として処理する」を指定している場合は常にPDF出力となる
8アウトプットヘッダ情報の指定HEADER_ITEM文字列アウトプットファイルへ出力するヘッダ情報の項目とその順番を指定可能
※各項目の説明は6.1 共通を参照
9出力フォーマットOUTPUT_FORMATCSV
XML
CSV4DB
XMLWAGBY
SIMPLE_CSV SIMPLE_SEPARATE_CSV
SIMPLE_TXT SIMPLE_SEPARATE_TXT
OCR読取結果の出力形式を選択する
<Standard/Enterprise共通>
・CSV
・XML
<Standardのみ>
・CSV4DB(DB連携のしやすいCSVフォーマット)
・XMLWAGBY(Wagbyフォーマット)
<Standard全文OCRのみ>
・SIMPLE_CSV (画像の見た目に近い出力)
・SIMPLE_SEPARATE_CSV (画像の見た目に近い出力、表ごとに1つのCSVを出力)
・SIMPLE_TXT (SIMPLE_CSVのタブ区切りになったもの)
・SIMPLE_SEPARATE_TXT (SIMPLE_SEPARATE_CSVのタブ区切りになったもの)
※SIMPLE_CSV(TXT)・SIMPLE_SEPARATE_CSV(TXT)については4.4.4 表検出付全文OCRを参照
10出力文字コードOUTPUT_ENCODINGUTF-8
Shift_JIS
EUC-JP
UTF-8with BOM
出力ファイルの文字コードを選択する
(出力フォーマットがCSV、CSV4DBの場合)
11CSV出力時の出力項目の指定CSV_COLUMN_ITEM文字列CSVへ出力する項目とその順番を指定可能。 ※各出力項目の説明は6.2 CSVを参照
12活字用OCRモデルOCR_LANG文字列活字OCRエンジンで利用するモデル名
OCRモデルフォルダに存在するファイルの拡張子”.traineddata”を除外したファイル名を指定する
例)Japanese.traineddata → Japanese
13優先モデルフォルダPRIORITY_MODEL_PATH文字列優先モデルフォルダとして指定するフォルダパス
※モデルは下記のフォルダ構成で配置すること※
 [優先モデルフォルダ]\tessdata\[任意のモデル]
指定したフォルダ内のモデルを優先して使用し、指定されたモデルが存在しない場合、共通のモデルフォルダから使用する
個別設定と組み合わせることで、帳票ごとに優先モデルと共通モデルの使い分けができる
14デバッグファイルを出力するIS_DEBUGtrue, falseチェック(true)の時、DEBUG_PATHで設定されたフォルダへデバッグ情報を出力する
15デバッグ出力先DEBUG_PATH文字列デバッグファイルを出力するフォルダパス
16出力ファイル名にタイムスタンプを付与するMOVED_FILE_NAME0,1チェック(1)の時、抽出処理完了後の出力ファイル名にタイムスタンプを付与する
17抽出モードの設定COMPONENT_LEVELMANUAL
ITEM
CELL
HW_ITEM
抽出モードを選択する
・MANUAL : 座標指定
・ITEM : キーワード指定
・CELL : キーワード指定(表検出付き)
・HW_ITEM: キーワード指定(手書き文字あり)
※全文OCR時はキーワード指定・キーワード指定(表検出付き)を選択
※キーワード指定(表検出付き)の詳細については4.4.4 表検出付全文OCRを参照
※キーワード指定(手書き文字あり)を指定する場合は、all_model が必須
オンプレミスインストールマニュアルを参照
18セル内の改行に付与する文字LINE_SEPARATERSPACE
LF
NONE
<キーワード指定(表検出付き)のみ>
認識されたセル中の文字列が改行されていた場合、行間に付与する文字を指定する
改行コードを指定した場合、LF(\n)が付与される
19活字項目画像を出力するCREATE_PR_COMP_IMAGEtrue, falseチェック(true)の時、活字として読み取った範囲の切取画像を出力する
(デフォルト false)
20活字画像の出力先PR_CUT_IMAGE_DIR文字列活字項目画像を出力するフォルダパス
21表示用画像(PDF)を生成するCREATE_DISPLAY_IMAGEtrue, falseチェック(true)の時、データサイズを減らしたPDFを生成する
天地補正・傾き補正後(位置合わせ無し)の画像がPDFに埋め込まれる
入力ファイルが複数ページの場合、FILE_IDENFICATION_TYPEに関係なく複数ページのPDFを生成する
22表示用画像の出力フォルダDISPLAY_IMAGE_DIR文字列生成した表示用PDFを出力するフォルダパス
(デフォルト:指定なし、表示用画像(PDF)を生成する が有効のとき指定必須)
23表示用画像の品質DISPLAY_IMAGE_QUALITY1~100生成する表示用PDFの品質を指定する
指定した値が低いほど画像品質は下がるが、データサイズも小さくなる
(デフォルト 65)
24保管用画像を生成するCREATE_PRESERVATION_IMAGEtrue, falseチェック(true)の時、電子帳票保存法向けに保管用の画像を生成する
25保管用画像出力フォルダPRESERVATION_IMAGE_DIR文字列生成した電子帳票保存法向けの保管用画像を出力するフォルダパス
(デフォルト:指定なし、保管用画像を生成する が有効のとき指定必須)

「<」「>」「*」「?」「”」「|」「半角スペース」は使用不可
使用されていた場合は、自動的に除去される
任意の文字列以外に以下のタグも使用可能
<date>:システム日付(年月日の数字8桁 yyyymmdd)
<time>:システム時間(時間秒ミリ秒の数字11桁 hhmmssfffff)
<year>:システム日付(西暦の数字4桁 yyyy)
<month>:システム日付(月の数字2桁 mm)
<day>:システム日付(日付の数字2桁 dd)
26保管用画像のファイル名PRESERVATION_IMAGE_NAME文字列生成される電子帳票保存法向けの保管用画像のファイル名を指定する

「<」「>」「¥」「/」「:」「*」「?」「”」「|」「半角スペース」は使用不可
任意の文字列以外に以下のタグも使用可能
<date>:システム日付(年月日の数字8桁 yyyymmdd)
<time>:システム時間(時間秒ミリ秒の数字11桁 hhmmssfffff)
<year>:システム日付(西暦の数字4桁 yyyy)
<month>:システム日付(月の数字2桁 mm)
<day>:システム日付(日付の数字2桁 dd)
<inputfile>:読み取った対象のファイルから拡張子を除いた文字列
<item:項目名>:読み取りを行った際に、使用された帳票定義で指定されている項目名
(例えば、帳票定義で company_name と定義し、OCRにより実際の帳票から「アライズイノベーション株式会社」という文字列が取得されたとする。
この場合、保管用画像のファイル名の <item:company_name> の部分が「アライズイノベーション株式会社」に置換される)

4.1.2. モード別設定

モード別(座標指定、キーワード指定)のパラメータを設定します。

4.1.2.1. 座標指定モード

<Standardのみ>
座標指定OCRを実行時の設定はこちらで行います。

No.内容項目名書式説明
1フォーマットフォルダPROFILE_CONFIG_DIR文字列<Standardのみ>
フォーマット定義フォルダのパス
2手書き用OCRモデルHAND_WRITE_OCR_LANG文字列指定された手書きモデルが存在しないときに使用するモデル名
“OCR_MODEL_PATH/tessdata/”以下に存在するフォルダ名
例)jpn
3改善した手書きの文字切り取りロジックを使用するUSE_SEGMENT_MODELtrue, falseフリーピッチで複数行の手書き文字を読み取る場合はチェック(true)する
※処理時間がチェックをしない場合と比べて1.5~2.5倍ほど増加する
4OCR結果にスペースを含めるEXPORT_SPACEtrue, falseチェック(true)の時、OCR結果にスペースを含める
(活字読み取り時のみ)
5手書き画像の出力先HW_CUT_IMAGE_DIR文字列手書き項目/文字画像を出力するフォルダパス
6手書き項目画像を出力するCREATE_HW_COMP_IMAGEtrue, falseチェック(true)の時、手書きで座標指定した範囲の切取画像を出力する
7手書き文字画像を出力するCREATE_HW_CHAR_IMAGEtrue, falseチェック(true)の時、手書きで座標指定した範囲内の文字単位の切取画像を出力する
8文字を置換する信頼度(手書き)HW_REPLACE_THRESH0~100手書きの項目が指定された閾値未満の信頼度の時、任意の文字に変換する
9置換後の文字HW_REPLACE_CHAR文字列No. 8(HW_REPLACE_THRESH)で変換する文字(1文字)
10位置合わせ最大矩形の認識マージンFORMAT_MARGIN0以上位置合わせ時に大きな矩形を認識しない画像端(上下左右)からの範囲を指定する
単位はピクセル
(デフォルト 15)
11位置合わせ外接矩形の認識マージンFIX_TEXT_HEIGHT0以上位置合わせ時に外接矩形を認識しない画像端(上下左右)からの範囲を指定する
単位はピクセル
(デフォルト 100)
12活字のノイズ閾値PRINT_NOISE_FILTERS-1~100活字の認識で、項目中の最大文字高さに対して指定された閾値以下の文字をノイズとして除去する
例)
30 を指定 → 読み取り範囲内の最大文字に対し30%以下の高さの文字をノイズとみなして除去する
(デフォルト -1:本機能は動作しない)
※小さい文字や記号がノイズとして削除される可能性有り
13手書きノイズの閾値 (文字の高さ、複数文字指定時)HW_NOISE_FILTERS文字列手書き文字の認識で指定したモデルについて、項目中の最大文字高さに対して任意の割合以下の文字をノイズとして除去する
手書き文字の文字数を「複数」で設定した項目を対象とする
[モデル名]:[閾値(%)]の形式で記載する
カンマ区切りで複数指定可能
例) number:25,money:30
→ 数値モデルは25%、通貨モデルは30%の高さの文字をノイズとみなして除去する
※小さい文字や記号がノイズとして削除される可能性があります
14手書きノイズの閾値 (白画素の割合、1文字指定時)HW_WHITE_THRESHOLD0~1.0手書き項目に1文字指定をしているとき、 その項目画像を読取対象外(ノイズ)と判断する白ピクセルの割合と判断する閾値を指定する
例)
 0.99 を指定 → 手書き項目が1文字指定のとき、項目内の白ピクセルの割合が99%以上であれば、項目内の記載をノイズと判断して除去する
(デフォルト 0.975)
15改行を出力するRECOGNIZE_NEWLINEtrue,
false
チェック(true)の時、読み取り項目内の改行を認識して\nとして出力する
4.1.2.2. キーワード指定モード

<Enterpriseのみ>
キーワード指定実行時の設定はこちらで行います。

<Standard/Enterprise共通>
全文OCRを実行時の一部の設定もこちらで行います。

No.内容項目名書式説明
1帳票定義フォルダPROFILE_KWCONFIG_DIR文字列帳票定義フォルダのファイルパス
2辞書データフォルダIDE_DIR文字列IDELibraryフォルダのパス
“?”区切りで文書種別を指定可能
※「帳票識別(DEFAULT_PROFILE_MODE)」が 1 or 2 の場合に有効
例)
./IDELibrary/dicset/?Invoice
3OCRを行う最大ページ数PROC_MAX_PAGE0以上の整数OCRを実行する最大ページ枚数
例)
MAX_PAGE=1 → 2ページ目以降は無視する
0の場合は全ページが対象
4テキスト付きPDFでもOCRを実行するOCR_PDF_WITH_TEXTtrue, falseチェックあり(true):テキスト付きPDFの場合でもOCRを実行する

チェックなし(false):PDFのテキスト情報を使用して抽出する
5テキスト付PDFの文字高さ情報にフォント高さを使用するUSE_PDF_TEXT_FONT_HEIGHTtrue, falseチェックあり(true):セル内にあるテキスト情報が複数ある場合、結合して出力されるよう補正する

チェックなし(false):従来のテキスト分割で出力する
6抽出結果が0件のとき空のメタデータを出力するLAYOUT_TYPE0, 10:空のメタデータは出力しない
1:空のメタデータを出力する
※明細は空の場合出力しない
7改善した文字列検知ロジックを使用するUSE_DL_STRING_DETECTIONtrue, false<キーワード指定、キーワード指定(表検出付き)のみ指定>
チェック(true)の時、従来のOCRよりも文字列検知の改善した処理を行う
※メモリの使用量が約500MB程度増加し、処理時間がA4画像1枚当たり5秒/枚ほど増加する
※文字列検知の処理が従来のものと変更となるため、読み取り結果に影響する可能性有り
8行間隔が狭い文字列の精度改善STRING_DETECTION_SPLIT_LARGE_RECTANGLEtrue, falseチェックあり(true):行間隔の狭い文字列に対して、改善した文字検知を行う

チェックなし(false):従来の文字検知のまま処理を行う
9OCR結果から除外する文字リストBLACK_LIST_EXT文字列抽出処理時にキーワードおよび抽出する値から除外する文字を指定する
10帳票識別の動作DEFAULT_PROFILE_MODE0~2帳票識別の動作を指定する
0:帳票識別に失敗したらfalse
1:帳票識別に失敗したら、指定した文書種別定義で抽出
2:指定した文書種別定義で抽出(帳票識別なし)
例)
IDE_DIRへ”?”区切りで記載する
例)IDE_DIR=./dicset/?invoice
11文字種別指定したい文字種別定義名文字列帳票種別の動作が、1もしくは2のときのみ設定可能
指定したい文字種別定義を指定する
121つの文字列とみなす文字間隔(高さのN倍)LINKED_ITEM_THRESHOLD数値1つの文字列とみなす文字の間隔を設定
値は文字の大きさ(高さ)に対する倍率
13改善したスペース検出ロジックを使用するSPACE_MODE0,10:スペース検知の改善した検出を行う
1:従来のスペース認識機能を使用する
14画像の解像度が大きい場合に小さくするREDUCE_IMAGE_BEFORE_OCRtrue, falseチェックあり(true):画像の解像度が大きいとき(長辺が5000ピクセル以上)解像度を小さくしてからOCRを行う

チェックなし(false):解像度を変えずそのままOCRを行う

4.1.3. 画像処理

文字認識の前に実施する画像処理関連の設定を変更します。

No.内容項目名書式説明
1傾き補正を行うIS_SLOPE_CORRECTIONtrue, falseチェック(true)の時、文字認識前に傾き補正を行う(35度まで)
2回転補正を行うAUTO_ROTATIONtrue, falseチェック(true)の時、文字認識前に90/180/270度の画像回転補正を行う
3直線除去を行う最短の長さLINE_REMOVAL_THRESHOLD0以上の整数直線とみなす長さのしきい値(ピクセル)
0の場合、文字の大きさから自動で設定する
4直線除去時の文字高さに対する倍率LINE_REMOVAL_MULTIPLE_BY_TEXT_HEGHT0.1以上の数値指定した値×文字高さの平均(ピクセル)が直線除去の対象となる
直線除去を行う最短の長さ の値が0の場合にのみ動作する
5点線除去を行う最短の長さHOUGH_THRESHOLD0以上の整数点線とみなす長さのしきい値(ピクセル)
6点線の間隔(横)ERODE_W0以上の整数横の点線として検知する点の間隔の値(ピクセル)
点と点の間隔が広い場合は大きい値を設定する
(デフォルト 12)
7点線の間隔(縦)ERODE_H0以上の整数縦の点線として検知する点の間隔の値(ピクセル)
点と点の間隔が広い場合は大きい値を設定する
(デフォルト 7)
8罫線除去で欠けてしまった文字の復元処理を行うRESTORE_TEXTtrue, falseチェック(true)の時、罫線除去時に欠けてしまう罫線と隣接した文字を復元する
※必ず復元できるわけではない
※副作用として文字にノイズがつく場合がある
9二値化の閾値THRESH_VALUE0~255文字認識前の画像の二値化(白黒化)のしきい値
0の場合、画像全体のヒストグラムから自動で設定する
詳細は4.4.1. 二値化の閾値を参照
10直線除去時の二値化の閾値BINTHRESH_ON_LINE_REMOVAL0~255直線除去時の二値化パラメータのしきい値
0の場合、画像全体のヒストグラムから自動で設定する
11短い罫線(横)除去の閾値SHORT_LINE_THRESH_H-1以上長い罫線に接している短い罫線(横)を検知・除去する閾値
罫線の長さ(ピクセル)を指定する
-1 : 除去を行わない
0 : 除去を行わない(-1と同じ)
1以上 : この値を直線検知の閾値とする
12短い罫線(縦)除去の閾値SHORT_LINE_THRESH_V-1以上長い罫線に接している短い罫線(縦)を検知・除去する閾値
罫線の長さ(ピクセル)を指定する
-1 : 除去を行わない
0 : 除去を行わない(-1と同じ)
1以上 : この値を直線検知の閾値とする
13短い点線も除去するUSE_SHORT_DOTLINE_REMOVALtrue, falseチェック(true)の時、短い罫線除去時に点線も除去対象とする
※処理時間がA4画像1枚当たり2秒ほど増加する
※文字が除去される副作用が発生する可能性がある
14細かいノイズ除去の閾値(幅)THIN_LINE_REMOVAL_THRESHOLD_W0以上指定した幅(ピクセル)より細かいノイズを除去する
値が大きいほど大きなサイズのノイズを除去する
(デフォルト 0、推奨値 3)
詳細は4.4.2. 細かいノイズ除去を参照
15細かいノイズ除去の閾値(高さ)THIN_LINE_REMOVAL_THRESHOLD_H0以上指定した高さ(ピクセル)より細かいノイズを除去する
値が大きいほど大きなサイズのノイズを除去する
(デフォルト 0、推奨値 3)
詳細は4.4.2. 細かいノイズ除去を参照
16細かいノイズ除去の縮小フィルタ(幅)ERODE_THIN_LINE_W1以上細かいノイズ除去の収縮処理のフィルターサイズ(幅)
値が大きいとより独立したノイズのみ除去する
(デフォルト 12)
詳細は4.4.2. 細かいノイズ除去を参照
17細かいノイズ除去の縮小フィルタ(高さ)ERODE_THIN_LINE_H1以上細かいノイズ除去の収縮処理のフィルターサイズ(高さ)
値が大きいとより独立したノイズのみ除去する
(デフォルト 7)
詳細は4.4.2. 細かいノイズ除去を参照
18TIFFを300DPIに変換してからOCRを実行するCONV_TIFF_DPItrue, falseチェック(true)の時、TIFFを300DPIに変換してからOCRを実行する
TIFFで縦横のDPIが異なる場合に指定する
19抽出する色EXTRACTION_COLORS文字列抽出する色を指定する(指定した色以外を除去する)
複数色を指定する場合はカンマ区切りで記載する
例) EXTRACTION_COLORS=K,R
指定可能な色
・K(黒)
・R(赤)
・Y(黄)
・G(緑)
・C(シアン)
・B(青)
・P(紫)
個別で指定する場合は、直接数値を指定
詳細は4.4.5. 色の抽出・除去を参照
20除去する色REMOVAL_COLORS文字列除去する色を指定する
指定方法は色抽出(EXTRACTION_COLORS)と同様
抽出する色と両方指定した場合は抽出を優先する
詳細は4.4.5. 色の抽出・除去を参照
21色抽出・除去を罫線除去の前に行うFILTER_COLOR_BEFORE_LINEREMOVALtrue, falseチェック(true)の時、罫線除去の前に色抽出・除去を行う
22罫線を延長する長さLINE_EXTENSION_LEN0以上検知した罫線を延長する
単位はピクセル
(デフォルト 0)
23矩形の丸い角を除去する閾値ROUNDED_CORNER_THRESHOLD0~100半径が指定した値未満の丸い角を除去する
単位はピクセル
0の場合は除去されない
(デフォルト 0)
詳細は4.4.3. 丸い角の除去を参照
24丸い角の除去範囲を拡張する長さROUNDED_CORNER_PADDING0~100丸い角を除去する際に、指定した値分の除去範囲を拡大する
単位はピクセル
(デフォルト 10)
詳細は4.4.3. 丸い角の除去を参照
25ドットの除去(背景・点線)を行うREMOVE_DOTtrue, falseチェック(true)の時、ドットの除去(背景、点線)を行う
(デフォルト false)
26除去したいドットの幅DOTLINE_SIZE_W0以上の整数削除したい背景や点線のドットのサイズの幅をピクセルで指定する
(デフォルト 3)
27除去したいドットの高さDOTLINE_SIZE_H0以上の整数削除したい背景や点線のドットのサイズの高さをピクセルで指定する
(デフォルト 3)
28罫線/点線削除の前にドットを削除REMOVE_DOT_BEFORE_LINEtrue/falseチェック(true)の時、罫線/点線削除の前にドットを削除する
(デフォルト true)
29小さい矩形を削除REMOVE_SMALL_RECTANGLEStrue, falseチェック(true)の時、小さい矩形の除去を行う
30除去する矩形の最小面積REMOVE_RECTANGLE_MIN_AREA_
THRESHOLD
0以上の整数小さい矩形を削除除去する」がチェック(true)の時に除去する矩形の最小面積を指定する
31除去する矩形の最大面積REMOVE_RECTANGLE_MAX_AREA_
THRESHOLD
0以上の整数小さい矩形を削除除去する」がチェック(true)の時に除去する矩形の最大面積を指定する
32斜め線を除去REMOVE_DIAGONAL_LINEStrue, falseチェック(true)の時、矩形内の斜めの線を除去する

33~37のパラメータは普段は折り畳まれておりますが、全て表示を押下することで表示されるようになります。
※パラメータ増加に伴い、使用頻度の低いパラメータがデフォルトで非表示になっています。

No.内容項目名書式説明
33ノイズ除去を行うDE_NOISEtrue, falseノイズ除去処理の有無
チェック(true)の時、文字認識前にノイズ除去を行う
34罫線除去を無効化するSKIP_LINE_REMOVEtrue, falseチェック(true)の時、文字認識前の罫線除去を無効化する(罫線除去は行わない)
35白黒反転処理を実施する黒の比率BLACK_WHITE_THRESHOLD0~100二値化後に白黒を反転するしきい値(%)
設定した%より黒の割合が多い場合に白黒を反転する
36シャープ補正値SHARPEN_VALUE0以上の少数OCR実行前に画像をシャープ化する
画像がぼやけている場合などに利用すると効果的
0の場合は処理しない
37ドット背景除去を行う(旧)REMOVE_DOTTED_BACKGROUNDtrue, falseチェック(true)の時、ドット背景除去を行う
※下位互換パラメータ

4.1.4. 後処理設定

読み取り完了後に行う処理全般を設定します。
作成された個別読取結果変換リストと読み取り項目との紐づけは、RuleEditor/FormEditor から行います。

No.項目名説明
1個別読取結果変換リストの保存先個別読取結果変換設定ファイルの保存先を指定する
デフォルトは、<AIREAD_HOME>\IDELibrary\OcrPostProcess
2変換リスト名選択中の個別読取結果変換設定ファイルが表示される
個別読取結果変換設定ファイルを追加する場合は、変換リスト名に入力した名前で追加される
3変換リスト名一覧作成済みの個別読取結果変換設定ファイルの一覧が表示される
4変換設定追加ボタン変換リストに入力した名称で個別読取結果変換設定ファイルを追加する
選択中の設定ファイル保存先に、同一の設定名の個別読取結果変換設定ファイルが存在する場合は追加不可
5変換設定削除ボタン選択中の個別読取結果変換設定ファイルを削除する
6変換リスト選択中の後個別読取結果変換設定ファイルの設定情報を表示する
7読取後に実行するコマンドライン文字列帳票の読み取り後に実行するコマンドライン文字列を設定する
4.1.4.1. 変換リストの設定
No.項目名説明
1変換対象(正規表現)変換対象の文字を指定する
変換対象の文字は正規表現で記載する
2変換後の文字変換対象の文字から変換する文字を指定する
変換後の文字は単語でも指定可能
4.1.4.2. 読取後に実行するコマンドライン文字列の設定

AIReadで帳票読み取りを行った後に、呼び出したいコマンドライン文字列を設定します。

例) 保管用画像を任意のフォルダへコピーするコマンド

copy /y “%AIREAD_PRESERVATION_FILE%” “任意のフォルダパス”

コマンドラインでは、AIRead独自の変数を使用することができます。
使用可能な変数と値については、下記を参照ください。

No.環境変数名内容呼び出されるパスの例
1AIREAD_ORIG_INPUT_FILEオリジナルの読取対象ファイルまでのフルパスC:\AIRead\debug\original\sample.pdf
2AIREAD_PRESERVATION_FILE保存用画像のファイルまでのフルパス
※基本設定タブで「保管用画像を生成する」が有効となっていることが前提
無効になっている場合は空文字列(“”)が設定される
C:\AIRead\preseve\20230320123456_アライズイノベーション_物品仕入れ_sample.pdf

4.1.5. 文字認識調整

文字認識に関する設定を変更します。

No.内容項目名書式説明
1文字列の切取ロジックPAGE_SEG_MODE4, 6OCRエンジンの活字文字検知/分割アルゴリズムを指定する
・4 : 1行内の文字サイズが可変とみなして文字を検知
・6 : 1行内の文字サイズが固定とみなして文字を検知
2文字の多重認識を減らす処理を行うuse_dup_char_reducertrue, false複数の同じ文字が連続で出力されてしまうとき、本設定を有効にすることで回避できる(活字のみ)
※文字間が近い場合、複数文字を1文字として出力してしまう副作用が起きる可能性がある
・チェックする(true) : 機能を有効にする
・チェックしない(false) : 機能を無効にする
3対象文字種reduce_target0~4「文字の多重認識を減らす処理を行う(use_dup_char_reducer)」の対象となる文字種を指定する
・0 : 数字
・1 : 記号
・2 : ひらがな
・3 : カタカナ
・4 : アルファベット
 カンマ区切りで複数指定可能
4再読み込みの閾値RESCAN_THRESHOLD0~100指定した値よりもコンポーネントのConf値が閾値より低い場合に読み直す(活字のみ)
※コンポーネント内の文字のConf値の平均値

4.1.6. ログ出力

ログ出力に関する設定を変更します。

No.内容項目名書式説明
1ログ出力フォルダLOGS_PATH文字列実行ログを出力するフォルダパス
2ログ出力レベルLOGS_LEVEL0~3指定したレベルで以下の内容を出力する
・0 : DEBUG, INFO, WARNING, ERROR
・1 : INFO, WARNING, ERROR
・2 : WARNING, ERROR
・3 : ERROR
3ログ1ファイルあたりの
データサイズ
LOG_ROTATION_SIZE0~100ログ1ファイルあたりの最大サイズ(MB)
0 の場合、プロセス単位でログを出力する
4ログ全体のデータサイズLOG_MAX_SIZE0以上の整数ログファイルを保存する最大容量(MB)
0 の場合、制限なし(削除しない)
※LOG_ROTATION_SIZEより大きい値を設定すること

4.1.7.学習

教師データを作成するための設定を行います。

No.内容項目名書式説明
1教師データを作成するLEARNING_MODE1, 0学習のための教師データを作成する
・チェックする(1) : 機能を有効にする
・チェックしない(0) : 機能を無効にする
2教師データ作成フォルダAUTO_LEARNING_DIR文字列教師データを作成するフォルダ
を指定する
3学習するモデルの名称AUTO_LEARNING_MODEL文字列学習するモデル名を指定する
学習可能モデル(multi_number、multi_numeric、multi_katakana)が指定可能

4.1.8. ファイル

共通設定ファイルファイルの新規作成、保存の操作ができます。

No.項目名説明
1新規新規で共通設定ファイルを作成する
2開く共通設定ファイルを指定して開く
3上書き保存編集中の設定を上書き保存する
4名前を付けて保存編集中の設定を別ファイルとして保存する
5履歴過去に保存した共通設定ファイルの履歴を表示する
選択することで対象ファイルを編集できる

4.2. 共通設定ファイルでのみ指定できる項目

No.項目名書式説明
1AUTO_CROPStrue, falsetrueの場合、周囲の余白を削除する
2OCR_MODEL_PATH文字列OCRエンジンで利用するモデルのフォルダパス(tessdataが存在するフォルダ)
3OCR_MODE1OCRエンジンのOCRアルゴリズムを指定する

4.3. 項目/文字切り取り画像の出力

手書き項目画像を出力する機能が有効(CREATE_HW_COMP_IMAGE=true)、もしくは手書き文字画像を出力する機能が有効(CREATE_HW_CHAR_IMAGE=true)の際は、手書き画像の出力先(HW_CUT_IMAGE_DIR)の指定されたディレクトリにそれぞれの手書き画像を出力します。

?指定した出力先(HW_CUT_IMAGE_DIR)
├ ─ ─ ?char(手書きのみ)
│          ├ ? FileA.jpg_0_0.jpg
│          ├ ? FileA.jpg_0_1.jpg
│          ├ ? FileA.jpg_0_2.jpg
│          ├           ⁝
│          └ ? FileA.jpg_3_7.jpg

└ ─ ─ ?component(活字・手書き)
            ├ ? FileA.jpg_0.jpg
            ├ ? FileA.jpg_1.jpg
            ├ ? FileA.jpg_2.jpg
            └ ? FileA.jpg_3.jpg

項目(component)画像の数字は、同一入力ファイル中の連番です。
文字(char)画像の数字は、ファイル名で紐づく、項目画像ごとの連番です。

4.4. ユースケース

4.4.1. 二値化の閾値

OCRは画像を白と黒だけに変換(二値化)した状態で行います。各ピクセルの明るさ(黒0~255白)に対して、黒と白の境界とする値が二値化の閾値です。閾値は0~255を設定します。
二値化の閾値が低いと元の画像で濃い色のみが二値化で黒くなり、高いと薄い色でも黒くなります。
また、閾値を0とした場合は画像全体の明るさを基に自動で閾値を判定します。それによって目的の文字が消えてしまうなどあった場合は閾値を直接調整してください。

二値化の閾値の設定によって、下記画像のように変化します。

4.4.2. 細かいノイズ除去

細かいノイズ除去の閾値では、除去対象とするノイズの幅・高さを指定します。
どちらかのパラメータの対象となる場合は除去対象となります。

ControlPanel項目名共通設定ファイル項目名推奨値
細かいノイズ除去の閾値(幅)THIN_LINE_REMOVAL_THRESHOLD_W3
細かいノイズ除去の閾値(高さ)THIN_LINE_REMOVAL_THRESHOLD_H3

細かいノイズ除去の縮小フィルタは、近隣の文字・ノイズを結合して除去対象となるのを防ぎます。
結合する文字・ノイズ間の距離(ピクセル)を指定します。

ControlPanel項目名共通設定ファイル項目名推奨値
細かいノイズ除去の縮小フィルタ(幅)ERODE_THIN_LINE_W12
細かいノイズ除去の縮小フィルタ(高さ)ERODE_THIN_LINE_H7

4.4.3. 丸い角の除去

帳票によっては丸い角の矩形が存在し、直線除去では角が残ってしまい誤読の原因となる場合があります。
そういった場合に、下記のパラメータを設定することで丸い角の除去を行います。

ControlPanel項目名共通設定ファイル項目名推奨値
矩形の丸い角を除去するROUNDED_CORNER_THRESHOLD30
丸い角の除去範囲を拡張する長さROUNDED_CORNER_PADDING10

4.4.4. 表検出付全文OCR

コントロールパネルの抽出モードの設定で「キーワード指定(表検出付)」を指定した状態で全文OCRを実行すると、認識した罫線を基に表を検出し、表の各セルに対してOCRを行います。
この際、表の各セルのOCR結果は表の行・列の形に再現可能な情報が付与され構造化されます。ETL等で後続処理に表の情報を渡したい場合などにご利用ください。

なお、構造化情報の利用に応じて出力形式を選択可能です。
・付与された構造化情報含め出力したい場合: CSV形式
・構造化した表の形で出力したい場合: SIMPLE_CSV / SIMPLE_SEPARATE_CSV形式
 ※v2.3.1からタブ区切りのSIMPLE_TXT / SIMPLE_SEPARATE_TXT形式も追加されました

 ※表が段組みになっている場合には正しく構造化されません。
  行と列が揃っている表にのみ有効です。

4.4.5. 色の抽出・除去

帳票上の印影や背景の色がOCRに影響し、正しく読み取りを行えない場合があります。
OCRを行う前に、必要な文字の色のみ抽出、もしくは余計な色の除去を行って調整します。
色の指定はHSV色空間で範囲指定します。

4.4.5.1. HSV色空間について
要素指定範囲説明
H色相0~179具体的な色を定義する要素
色が環状で表現するため、0°と179°で同じ色となる
S彩度0~255色相で定義された色の鮮やかさ・濃さを表す要素
彩度が255で最も鮮やかとなり、減少に合わせて色が薄くなり、0で灰色になる
V明度0~255色相で定義された色の明るさ・暗さを表す要素
明度が255で最も明るく(白)、明度の減少に合わせて暗くなり、0で黒になる
4.4.5.2. 色の指定方法(GUI)
No.項目名説明
1指定した色カラーパレット、もしくはスポイトで対象とした色が表示される
2色の選択ボタンカラーパレットを開き、対象とする色を指定する
3スポイトボタンスポイト画面を開き、クリックした場所の色を抽出して対象とする
4色相対象とした色の色相の表示、または色相を直接入力する
5彩度対象とした色の彩度の表示、または彩度を直接入力する
6明度対象とした色の明度の表示、または明度を直接入力する
7±(指定幅)対象とした色の色相、彩度、明度に対して、指定した数値分の幅を上下に持たせる
指定された数値分の幅は、from-to の範囲となる
8色の対象範囲(from)対象とした色から±で指定した数値分をマイナスして表示する
9色の対象範囲(to)対象とした色から±で指定した数値分をプラスして表示する
10確定ボタン指定した色の範囲をAIRead ContorlPanel に反映させる
11キャンセルボタン編集内容を反映させずに、AIRead ContorlPanel へ戻る

例)赤い色の範囲を指定する場合(GUI)

対象の色の値に対して幅を持たせることで、近い色も対象とすることができます。

4.4.5.3. 色の指定方法(テキスト)

テキストで設定を行う場合、対象としたい色の色相、彩度、明度の順で”:”(コロン)で区切り、色の指定を行います。
色相が0°、彩度、明度が200を指定する際は、下記の指定となります。

0 : 200 : 200 – 0 : 200 : 200

色相に前後の幅を持たせ、さらに明るい色も対象としたい場合は、下記のような指定を行います。

-15 : 200 : 200 – 15 : 200 : 255
色相(-15 – 15)明度(200 – 255)
0から±15の値明度200より明るい色を取得するため、55プラスした値

※彩度を変更しない場合は、同じ値とします。

例)赤い色の範囲を指定する場合(テキスト)
純粋な赤色は、下記のように表現できます。

純粋な赤色の表現

0 : 255 : 255

実際は印刷等の条件により赤色の色合いは異なるため、範囲に幅を持たせることで色を対象とすることが可能です。
例)赤色を含むピンクからオレンジ色の範囲

-10:180:250-10:220:255

※色相 -10 は 170 と同義

5. 帳票定義

5.1. 帳票定義フォルダの構成

帳票定義フォルダは以下の構成にする必要があります。

  • 読み取り位置(座標)指定の場合

?AIRead_conf                                  -----------(フォーマット定義フォルダ)
└?[帳票識別ID]
├?AIRead_format.ini                       -----------  フォーマット定義ファイル
├?AIRead_setting.ini                       -----------  個別設定ファイル
 └(template.png)                        -----------  テンプレート画像※

※テンプレート画像はチェックマークの読み取りをする場合に必要です

  • キーワード指定の場合

?AIRead_conf_kw                          ----------- (フォーマット定義フォルダ)
└?[帳票識別ID]
├?IDE_metadata_setting.ini          -----------  メタデータ定義ファイル
├?IDE_setting.ini                          -----------  抽出パラメータ設定ファイル
└?AIRead_setting.ini ----------- 個別設定ファイル

5.2. AIRead FormEditorで設定

以下のプログラムを起動することで、AIRead FormEditor(以下FormEditor)でフォーマット定義ファイルを編集できます。

<AIReadインストールフォルダ>/FormEditor/AIReadFormEditor.exe

5.2.1. グループの作成・選択

5.2.1.1. グループを作成する

グループを作成 を選択するとダイアログが表示されます。
ダイアログ上でフォーマット定義を保存するフォルダ名を指定し、任意の名称でグループを作成します。

5.2.1.2. グループを選択する

グループを開く を選択すると、フォルダ選択のダイアログが開かれます。
ダイアログから、作成済みのフォーマット定義を保存するフォルダを選択してください。

5.2.2. フォーマット定義の追加

フォームを追加 を選択すると、ダイアログが表示されます。
ダイアログ上で、任意のフォーマット定義名(フォーム名)の指定と定義のテンプレート(下地)とする画像の登録を行います。

No.項目名説明
1フォーム名追加するフォーマット定義名
2登録画像フォーマット定義で使用するテンプレート画像

5.2.3. フォーマット定義の自動作成

フォームの追加時に選択した画像のフォーマット定義を自動作成することができます。
フォーマット定義の自動作成を行う場合は、定義自動作成 にチェックを入れます。

5.2.3.1. 定義自動作成

No.項目名説明
1フォーム名追加するフォーマット定義名
2登録画像(記入例)フォーマット定義で使用するテンプレート画像
記入済みの画像を指定する
3テンプレート画像(未記入例)定義自動作成で使用する画像
未記入の画像を指定する
4作成ルール定義自動作成時に使用する作成ルールを指定する
指定可能な作成ルールは下記3パターンから選択

-テンプレート画像内の全ての矩形を検知し、項目として定義する
-テンプレート画像内から、登録画像が空白の項目を除く矩形を検知し、項目として定義する
-テンプレート画像と登録画像で差分のある矩形、および空白の矩形を検知し、項目として定義す
5ずれ修正(px)ずれ修正を行える大きさを指定する値
値はピクセルで指定

定義自動作成時に登録画像と補正画像を比較して、ずれ修正を行う
ずれ修正は上下左右で一番差のすくないところに修正を行う
6空白項目判定閾値記載済みの項目か空白項目かを判定するための閾値
指定した値が、黒ピクセルの総数を項目自体(セル)の面積で割った割合を超えていれば、記入済み項目として判定する

記入済み判定:空白項目判定閾値 ≧ 黒ピクセルの総数 / セルの面積
空白判定:空白項目判定閾値 ≦ 黒ピクセルの総数 / セルの面積
5.2.3.2. 画像内の全ての矩形を検知して、項目として自動定義する場合

画像上の青枠で表示された項目を読み取り項目として、自動定義されます。

5.2.3.3. 画像内の空白項目を除いて、項目を自動定義する場合

画像上の青枠で表示された項目を読み取り項目として、自動定義されます。

5.2.3.4. テンプレート画像と登録画像で差分のある矩形、および空白の矩形を検知して項目を自動定義する場合

画像上の青枠で表示された項目を読み取り項目として、自動定義されます。

5.2.4. フォーマット定義の操作

5.2.4.1. フォーマット定義を選択する

フォーマット定義名を選択すると、定義済みの設定を確認・編集できます。

5.2.4.2. フォーマット定義をコピーする

任意のフォーマット定義名上でマウスを右クリックするとメニューが表示されます。

メニューから コピー を選択するとダイアログが表示されます。

新たに任意のフォーマット定義名を入力し コピー を押下すると、フォーマット定義が複製されます。

5.2.4.3. フォーマット定義を保存する

保存 を押下すると、編集済みのフォーマット定義が保存されます。

5.2.5. 共通設定ファイルの指定

AIReadの実行、個別読取結果変換リストの紐づけ、個別設定時に使用する共通設定ファイルを指定します。
「共通設定ファイル」ボタンを押すと、ファイル選択ダイアログを表示します。

「参照」ボタンから使用する共通設定ファイルを選択します。

5.2.6. フォーマットの定義方法

5.2.6.1. 位置合せの定義

解像度等の違いにより、テンプレート画像をもとに設定したフォーマット定義と実際の画像でおきる位置ずれを補正します。
帳票内の矩形やタイミングマークを自動認識し、画像を拡大・縮小、位置合わせ後に読み取りを行います。

No.項目名説明
1位置合せ位置合せ指定画面を表示する
2位置合せ方法(1) 位置合わせなし
 位置合わせを行わない
(2) 大きな矩形で位置を合わせる
 画像に含まれる一番大きな矩形を認識し位置合わせの基準として設定する
 設定手順:
  (ア) 認識 ボタンを押下する
  (イ) 位置合わせの基準となる最大矩形が検知される(数秒かかる)
(3) 外接矩形を自動検知し位置を合わせる
 画像内の外側にある文字や罫線から矩形を認識し位置合わせの基準として設定する
  (ア) 認識 ボタンを押下する
  (イ) 外接矩形に合わせて位置合わせの基準が検知される(数秒かかる)
(4) 四隅のタイミングマークで位置を合わせる
  (ア) 認識 ボタンを押下する
  (イ) タイミングマークに合わせて位置合わせの基準が検知される(数秒かかる)
(5) (旧)大きな矩形で位置を合わせる
 画像に含まれる一番大きな矩形を認識し位置合わせの基準として設定する (Ver. 4.1.0 以前のエンジン)
 設定手順:
  (ア) 認識 ボタンを押下する
  (イ) 位置合わせの基準となる最大矩形が検知される(数秒かかる)
(6) (旧)外接矩形を自動検知し位置を合わせる
 画像内の外側にある文字や罫線から矩形を認識し位置合わせの基準として設定する (Ver. 4.1.0 以前のエンジン)
  (ア) 認識 ボタンを押下する
  (イ) 外接矩形に合わせて位置合わせの基準が検知される(数秒かかる)
(2) 大きな矩形で位置を合わせる
(3) 外接矩形を自動検知し位置を合わせる
(4) 四隅のタイミングマークで位置を合わせる
(5) (旧)大きな矩形で位置を合わせる

基本的な動作は「(2) 大きな矩形で位置を合わせる」と同じです。

(6) (旧)外接矩形を自動検知し位置を合わせる

基本的な動作は「(3) (旧)外接矩形を自動検知し位置を合わせる」と同じです。

位置合わせを行う際には、共通設定ファイルが必要となります。
「共通設定ファイル」ボタンで指定した共通設定ファイルが存在しないと、「認識」ボタンは押下できません。

5.2.6.2. 読み取り範囲の設定

帳票上の読み取り範囲、読み取り方法、項目名を設定します。

No.項目名説明
1モード切替「選択モード」と「作成モード」を切り替える
・作成:読取範囲を新規で作成する
・選択:設定済みの項目を選択して修正する
2元に戻す・やり直し操作を1つ戻す(やり直す)
3下にコピー・右にコピー選択中の項目を下(右)にコピーする
項目名、グループ名、レコードIDの末尾が半角数字の場合は1加算される(オートフィル)
4画像変更テンプレート画像を変更する
5個別設定の呼出開いているフォーマット定義専用の個別設定画面を起動する
5.2.9. 個別設定を参照
6左・右に90度回転表示中の画像を左(右)に90度回転する
7項目名読み取り結果ファイルに出力する項目名
設定された順番にCSVファイルに出力される
8モデル「活字」、「手書き」、「チェックマーク」、「丸囲み」、「バーコード」、「画像抽出」のいずれかを表示
「手書き」の場合は指定した言語も表示される
9グループ名表など同一グループとして扱いたいときに指定するグループ名
10レコードID表などで同一行として扱いたいときに指定するレコードID
11移動・削除選択中の項目を上下に移動・削除する
12編集選択中の作成済みの読み取り範囲の設定画面を開く
読み取り範囲を複数選択している場合は、一括変更が可能

一括変更時の設定は、変更しない からチェックを外すことで編集が可能になります。

5.2.7. 読取定義の設定

「作成モード」で読み取り範囲を指定した場合、および読取項目をダブルクリックしたときに開きます。

5.2.7.1. 読み取り方法がOCR
No.項目名説明
1項目名読み取り結果ファイルに出力する項目名
設定された順番にCSVファイルに出力される
2グループ表など同一グループとして扱いたいときに指定するグループ名
3レコード表などで同一行として扱いたいときに指定するレコードID
4読み取り方法「OCR」を選択する
5使用するモデル「活字」または「手書き」を選択する
「手書き」の場合は「言語」、「文字数」または「行数」の指定が可能
6言語使用するモデルが「手書き」のときに指定が可能
読み取り範囲で使用する手書き学習モデルを指定する
【言語一覧】
・日本語 :数字、ローマ字、記号、カタカナ、ひらがな、常用漢字を学習したモデル
・名前  :カタカナ、ひらがな、人名漢字、常用漢字の一部を学習したモデル
・住所  :数字、ローマ字、カタカナ、ひらがな、住所漢字を学習したモデル
・カタカナ:カタカナを学習したモデル
・英語  :数字、ローマ字、記号を学習したモデル
・数字  :数字を学習したモデル
・通貨  :数字、記号($、¥、マイナス、カンマ、ピリオド)を学習したモデル
・数値・電話番号:数字、記号(マイナス、カンマ、括弧、括弧閉じ)を学習したモデル
設定なしの場合は共通設定の「手書き用OCRモデル」で設定したモデルを使用する
7個別読取結果変換AIRead ControlPanel で作成した個別読取結果変換リストと読み取り項目を紐づける
※個別読取結果変換の設定方法は、4.1.4. 後処理設定に記載
8-1文字数使用するモデルが「手書き」のときに指定が可能
読み取り範囲の文字数が「複数」か「1文字」かを指定する
言語項目が「日本語」「名前」「カタカナ」「数字」「数値・電話番号」の場合は複数文字に固定される
8-2行数使用するモデルが「手書き」のときに指定が可能
読み取り範囲の文字数が「1行」か「複数行」かを指定する
言語項目が「日本語」「名前」「カタカナ」「数字」「数値・電話番号」の場合のみ指定が可能
9区切り線の数読み取り範囲内にある桁や文字の区切り線(点線)を除去するための本数を指定する
指定された数分の罫線除去を行う(区切り線が等間隔に並んでいる前提
※「手書き」で「文字数」が「1文字」の場合は指定できない
10-1ずれ修正ずれ修正を「する」、「しない」を指定する
10-2基準ずれ修正の基準を「セル」か「文字列」から選択する
・セル :読み取り範囲に最も近いセル(矩形)に読み取り位置を修正する
・文字列:読み取り範囲と重なる文字列を対象に読み取り位置を修正する
11対象
(基準が「セル」の時)
ずれ修正の対象となるセルに合わせる修正方向を「左」、「右」、「上」、「下」で指定する
複数選択した場合は、複数方向に位置修正を行う
※仕様の詳細は、5.3.3.1ずれ修正(セルに合わせる場合)についてに記載
12方法
(基準が「文字列」の時)
ずれ修正の対象となる文字列に対して行う修正の方法を「移動」か「拡張」で指定する
※仕様の詳細は、5.3.3.2ずれ修正(文字列に合わせる場合)についてに記載
13X読み取り範囲の左上のX座標(ピクセル)
14Y読み取り範囲の左上のY座標(ピクセル)
15読み取り範囲の幅(ピクセル)
16高さ読み取り範囲の高さ(ピクセル)
5.2.7.2. 読み取り方法が チェック判定
No.項目名説明
1項目名読み取り結果ファイルに出力する項目名
設定された順番にCSVファイルに出力される
2グループ表など同一グループとして扱いたいときに指定するグループ名
3レコード表などで同一行として扱いたいときに指定するレコードID
4読み取り方法「チェック判定」を選択する
5読み取り対象「チェックマーク」または「丸囲み」を選択する
【読み取り対象一覧】
・チェックマーク:レ点の有無を判定する
・丸囲み:丸囲みや塗りつぶしを判定する
 テンプレートの画像と読取画像を比較し、読み取り範囲の黒色が「6. 閾値」で指定した割合以上のときにチェックがされたと判定する
6出力方法「標準」もしくは「個別指定」を選択する
・標準:結果を「true」「false」で出力する
・個別指定:結果を入力した任意の値で出力する
7閾値テンプレート画像に対する黒領域の割合(パーセント)
※「5. 読み取り対象」が丸囲みの時のみ設定
8X読み取り範囲の左上のX座標(ピクセル)
9Y読み取り範囲の左上のY座標(ピクセル)
10読み取り範囲の幅(ピクセル)
11高さ読み取り範囲の高さ(ピクセル)
5.2.7.3. 「読み取り方法」が バーコード
No.項目説明
1項目名読み取り結果ファイルに出力する項目名
設定された順番にCSVファイルに出力される
2グループ表など同一グループとして扱いたいときに指定するグループ名
3レコード表などで同一行として扱いたいときに指定するレコードID
4読み取り方法「バーコード」を選択する
※対応しているバーコードは(NW-7)
5X読み取り範囲の左上のX座標(ピクセル)
6Y読み取り範囲の左上のY座標(ピクセル)
7読み取り範囲の幅(ピクセル)
8高さ読み取り範囲の高さ(ピクセル)
5.2.7.4. 「読み取り方法」が QRコード
No.項目説明
1項目名読み取り結果ファイルに出力する項目名
設定された順番にCSVファイルに出力される
2グループ表など同一グループとして扱いたいときに指定するグループ名
3レコード表などで同一行として扱いたいときに指定するレコードID
4読み取り方法「QRコード」を選択する
5QRコードの数読み取り範囲内で認識させたいQRコードの数を指定する
6X読み取り範囲の左上のX座標(ピクセル)
7Y読み取り範囲の左上のY座標(ピクセル)
8読み取り範囲の幅(ピクセル)
9高さ読み取り範囲の高さ(ピクセル)
5.2.7.5. 「読み取り方法」が 画像抽出

抽出したい画像の設定は、あらかじめ以下のようなフォルダ構成を作成する。
画像グループの作成は、5.2.8. SubFormの設定 を参照

?AIRead_conf(フォーマット定義のグループフォルダ)
├ ─ ─ ?form_id(フォーマット定義名)
│          ├ ? AIRead_format.ini
│          ├ ? AIRead_setting.ini
│          └? template.png

└ ─ ─ ?conf(固定フォルダ)
            └? subimage(固定フォルダ)
├─?group1(画像グループID)
│ ├─?sub_form1(画像ID)
│ │ ├ ? AIRead_format.ini
│ │ └? template.png
│ │
│ └─?sub_form2(画像ID)
│ │ ├ ? AIRead_format.ini
│ │ └? template.png
│ ⁝

├─?group2(画像グループID)
⁝ ├─?sub_form3(画像ID)
│ ├ ? AIRead_format.ini
│ └? template.png

それぞれの sub_formn フォルダに画像マッチングさせたい画像ファイルを「template.png」というファイル名で保存する。

FormEditor では以下のように登録される。抽出画像ごとに読み取り範囲を設定する。

No.項目説明
1項目名読み取り結果ファイルに出力する項目名
2グループ設定不可
3レコード設定不可
4読み取り方法「画像抽出」を選択する
5画像グループID抽出させたい画像のグループIDを選択する
前述のフォルダ構成の group1/group2 に相当する
※使用されるフォーム名は指定されたグループIDから自動判別される
6X読み取り範囲の左上のX座標(ピクセル)
7Y読み取り範囲の左上のY座標(ピクセル)
8読み取り範囲の幅(ピクセル)
9高さ読み取り範囲の高さ(ピクセル)
5.2.7.6. 「読み取り方法」が 固定値
No.項目説明
1項目名読み取り結果ファイルに出力する項目名
2グループ表など同一グループとして扱いたいときに指定するグループ名
3レコード表などで同一行として扱いたいときに指定するレコードID
4読み取り方法「固定値」を選択する
5固定値出力させたい値を直接入力する
※固定値が空でも保存可能

5.2.8. SubFormの設定

画像抽出を行う場合に指定するSubForm を追加します。

5.2.8.1. SubFormの追加

「SubFormの追加」ボタンを押下することで、SubFormの追加画面を呼び出します。

No.項目説明
1サブフォームグループ名画像抽出を行う際に指定する画像グループを設定する
2サブフォーム名画像抽出を行う際に使用される定義名を設定する
3登録画像画像抽出を行う時に使用する読み取り用の画像を設定する
5.2.8.2. SubFormの定義

作成されたサブフォーム上で、読み取り範囲の指定を行います。

No.項目名説明
1項目名読み取り結果ファイルに出力する項目名
設定された順番にCSVファイルに出力される
2グループ名表など同一グループとして扱いたいときに指定するグループ名
3レコードID表などで同一行として扱いたいときに指定するレコードID
4読み取り方法「OCR」のみ選択可能
5使用するモデル「活字」のみ選択可能
6個別読取結果変換AIRead ContorolPanel で作成した個別読取結果変換リストと読み取り項目を紐づける
※個別読取結果変換の設定方法は、4.1.4. 後処理設定に記載
7X読み取り範囲の左上のX座標(ピクセル)
8Y読み取り範囲の左上のY座標(ピクセル)
9読み取り範囲の幅(ピクセル)
10高さ読み取り範囲の高さ(ピクセル)
5.2.8.3. SubFormをコピーする

任意のサブフォーム名上でマウスを右クリックするとメニューが表示されます。

メニューから コピー を選択するとダイアログが表示されます。

新たに任意のサブフォーム名を入力し コピー を押下すると、サブフォームが複製されます。
異なるサブフォームグループとして、複製を行いたい場合は、複製時に別のサブフォームグループ名を入力してください。

5.2.8.4. デフォルトのSubFormを指定する

任意のサブフォーム名上でマウスを右クリックするとメニューが表示されます。
メニューから デフォルトに指定 を選択すると、選択したサブフォームがデフォルトのサブフォームとなります。

画像抽出を行う際に、どのサブフォームとも一致しない、もしくは登録外のサブフォームであった場合、デフォルトに指定したサブフォームが使用されるようになります。

5.2.9. 個別設定

フォーマット定義ごとに個別でOCR設定の定義を行います。
「個別設定の呼出」ボタン(右上の歯車のアイコン)を押下することで、個別設定用のAIRead ControlPanel 画面が表示されます。
5.2.5. 共通設定ファイルの指定 で指定した共通設定ファイルの各OCR設定を引き継いで呼び出します。

指定した共通設定ファイルが存在しない場合、共通設定ファイル指定ダイアログが表示されます。

「個別設定に使う」にチェックのついたパラメータは、AIRead実行時に共通設定ファイルのパラメータを上書きして実行されます。
ただし、「入力フォルダ」や「抽出モードの指定」等一部のパラメータは置き換えできません。

設定内容については、4. 共通設定を参照して下さい。

5.2.9.1. 設定方法
  • 個別設定に使いたい設定の編集

新規で個別設定を行う場合、すべての個別設定は無効となっており設定値が編集できません。
個別設定に使用したい設定項目の右側にある、個別設定に使うチェックボックス()をクリックし、設定値を編集してください。
AIRead on Cloudで有効な設定は☁マーク()がついた項目のみとなります。

  • 個別設定の保存

設定の編集が完了したら、保存してください。個別設定が反映されます。

  • 個別設定画面の終了

保存が完了したら、右上の×ボタンで画面を閉じてください。

5.2.10. AIReadの実行

作成したフォーマット定義でAIReadを実行します。

No.項目名説明
1AIRead実行AIRead実行設定ダイアログを開く
※AIRead OCRエンジンがインストールされていない環境では、AIRead実行ボタンは非表示となる
2画像ファイル名AIReadを実行する画像ファイルを指定する
3実行AIReadの実行を開始する
4キャンセルダイアログを閉じる

AIRead の実行の際、5.2.5. 共通設定ファイルの指定 で指定した共通設定ファイルを呼び出します。
指定した共通設定ファイルが存在しない場合、共通設定ファイル指定ダイアログが表示されます。

5.2.11. AIReadの実行結果を確認

実行後にAIReadの実行結果確認画面を表示します。
表示された実行結果一覧画面より、確認・編集を行うファイルを選択し、実行結果確認画面を表示します。

5.2.11.1. 実行結果一覧画面
No.項目名説明
1ファイル名読み取ったファイル名を表示する
2ページ番号読み取ったファイルのページ数を表示する
3FormID読み取りに使用したフォーマット定義名を表示する
4読取り日時読み取りを実行した日時を表示する
5更新日時最終更新日時を表示する
6ステータス実行結果の状態を表示する
・読取完了 :読み取りが終了
・確定済  :実行結果確認画面で確定処理を実施済み
・CSV出力済 :データ出力ボタンでCSV出力を実施済み
・読取失敗 :読み取りが失敗
※AIRead自体が起動できない、異常終了の場合は一覧に表示されない
7編集ボタン対象の実行結果の実行結果確認画面を表示する(該当行をダブルクリックでも表示可能)
8更新ボタン実行結果一覧を最新の状態へ更新する
9削除ボタンチェックボックスで選択した実行結果を削除する
10データ出力ボタンチェックボックスで選択した実行結果をCSV出力する
11絞り込み条件条件を指定し、実行結果一覧画面に表示する実行結果を絞り込む
12Viewer設定ボタン表示フォントサイズ、信頼値の表示色などを設定する
5.2.11.2. 絞り込み条件

以下の条件を入力することによって、読取結果の絞り込み検索ができます。

No.項目名説明
1ファイル名読み取ったファイル名を絞り込み条件にする
2FormID実行時に使用した定義情報のFormIDを絞り込み条件にする
3登録日付実行時の日付を絞り込み条件にする
4ステータス実行結果のステータスを絞り込み条件にする
5更新ボタン指定した条件で絞り込みを行う
5.2.11.3.Viewer設定
No.項目名説明
1読取枠を透明にする読取枠表示を水色表示から透明にする
チェック有り:有効
チェック無し:無効
2フォントサイズ変更ボタンラジオボタンの選択でOCR結果一覧のフォントサイズを変更する
3リスト表示変更ボタンラジオボタンの選択で結果表示一覧を変更する
Page:現在画像表示しているページの結果のみ表示する
All :複数の出力結果をすべて表示する
4信頼値のしきい値OCR結果一覧の背景色の設定の表示
しきい値は任意の数字に設定することができる
背景色が白:OCR結果の信頼度が100~99%
背景色が黄:OCR結果の信頼度が98~80%
背景色が赤:OCR結果の信頼度が79%赤
5決定ボタン設定内容を保存し、画面を閉じる
6キャンセルボタン設定内容を保存せず、画面を閉じる

5.2.11.4. 実行結果詳細画面
No.項目名説明
1帳票画像OCRを行った画像を表示
各読み取り領域をマウスでポイントすると、「OCR結果一覧」の該当項目を強調する
2拡大縮小ボタン帳票画像の拡大縮小操作に使用
3ページ変更ボタン表示する確認画面変更に使用
複数ページの帳票ファイルを1つの帳票として処理した時のみ使用
4OCR結果一覧(リスト)項目名と読み取った値(編集可能)のリスト一覧表示
項目をマウスでクリックすると、「帳票画像」の該当位置を強調
5OCR結果一覧(明細)項目名と読み取った値(編集可能)の明細一覧表示
項目をマウスでクリックすると、「帳票画像」の該当位置を強調
6ファイル名読み取ったファイル名を表示する(マウスオーバーでファイル名をすべて表示)
7FormID読み取りに使用したフォーマット定義名を表示する
8ステータス読み取り結果の状態を表示する
9前・次ボタン実行結果一覧画面の前後の実行結果へ移動する
10確定・確定解除ボタンステータスを”確定済み”へ変更する
また、”確定済み”、”CSV出力済み”のステータスを”確定済み”へ変更する
11保存ボタン編集後の各項目の値を保存
※編集後の値はViewer内部に保持されるため、このボタンから保存先の指定は行わない
12キャンセルボタン編集内容を保存せず、実行結果一覧画面へ戻る

5.2.12. 実行結果の保存

データ出力ボタンを押下すると、保存用のダイアログが表示されます。
このダイアログ上で、任意の場所に保存することができます。

No.項目名説明
1出力先実行結果の保存先を指定する
「*」「?」「”」「|」は使用不可
2命名規則出力するCSV/PDFファイルの規則を指定する
「/」「*」「?」「”」「|」は使用不可
<date>:出力時の実行日付8桁(yyyymmdd)をファイル名に表記する
<time>:出力時の実行時間8桁(hhmmssms)をファイル名に表記する
<item:項目名>:読み取り結果に含まれる項目名を指定することで、読み取った値をファイル名に表記する
3出力形式実行結果の保存形式をCSV(カンマ区切り) 、 CSV(独自形式) 、PDFから設定する
※CSVカンマ区切りの場合、ヘッダ部と明細部のCSVファイルが出力されるため、zip圧縮で出力される
※PDFの場合は、読み取った画像をPDFとして出力される
4文字コード出力する実行結果の文字コードを、S-JIS、UTF-8、UTF-8(BOM付き)から選択する
5出力単位「複数ページの帳票ファイルを1つの帳票として処理する」が設定された帳票が含まれる場合のみ表示される
 ファイル:ファイル単位で結果をまとめる(複数ページ1出力)
 ページ :ページ単位で結果をまとめる(1ページ1出力)
6ヘッダー設定CSV出力を行う際に、出力するヘッダ情報を選択画面を開く
※各種ヘッダの詳細は 6.1. 共通に記載
7データ出力ボタン指定された設定で実行結果を保存する
8キャンセルボタン保存用ダイアログを閉じる

5.2.13. 出力形式

FormEditorからの実行結果を出力する形式は2種類あります。

5.2.13.1. CSV(カンマ区切り)

1行目にヘッダ情報、2行目以降にデータ情報が出力される、一般的なCSV形式です。ヘッダ、明細それぞれでCSVファイルが出力されます。

CSVファイル名は、下記のルールに従って作成されます。

・グループ名の設定がない項目(ヘッダ項目)

   [入力ファイル名].csv

・グループ名の設定がある項目(明細項目)

   [入力ファイル名]_[グループ名].csv

   ※ファイル名に使用できない文字(\/:*?”<>|)がグループ名に含まれる場合、その文字は除外されます

明細データは、FormEditorの読み取り定義で指定した設定が、下記のルールに従ってまとめられます。

 ファイル:グループ
 行   :レコード
 列   :項目名

  • 出力イメージ:

ヘッダ項目の出力 ( [入力ファイル名].csv)

“Image”,”Image_jshfilename”,”modifyDate”,”processDate”,”result”,”form_id”,”tok_cd”
“sample.jpg”,”C: \Result\20200325_174313_487\sample.jpg”,”2020-02-06T16:28:52″,”2020-03-25T17:43:34″,”true”,”order”,”100”

※固定で”Image”,”Image_jshfilename”,”modifyDate”,”processDate”,”result”,”form_id”が出力されます。これらの項目には5.1 共通を参照ください。

明細項目の出力 ([入力ファイル名]_[グループ名].csv

“Itemcd”,”Amount”,”Wrapping”
“123”,”100″,”30″
“456”,”50″,”10″
5.2.13.2. CSV(独自形式)

6.2. CSVを参照ください。

5.3. フォーマット定義ファイル

帳票の位置を合わせるための情報、出力ファイルに記載する情報、OCRで読み取る位置の情報はフォーマット定義ファイルで設定します。
ファイルはタブ区切りで記載します。
1列目のセクションIDの値によって、2列目以降の記載方法が異なります。

項目名書式説明
セクションID0位置合わせ情報
1出力情報(固定値)
2OCR情報
3チェックマーク情報(画像差分で判定)
4チェックマーク情報(✔の形で判定)

※位置合わせ情報は省略可です。省略した場合、絶対座標で抽出します。

  • ファイル名:AIRead_format.ini
  • フォーマット定義ファイルイメージ:

ずれ修正なしの場合

0  3307  4676  300  1745  2645  1745  300  4295
1  0  id  order
2  0      307  688  510  170  0  0  tok_cd
2  0      307  951  1450  170  0  0  Tel
2  0      307  1207  200  170  0  0  Month
2  0      620  1207  200  170  0  0  Day
2  0      938  1207  85  170  0  0  haikb
2  0      1350  1207  85  170  0  0  timekb
2  0  detail  0  407  1745  627  170  1  0  Itemcd0
2  0  detail  0  2015  1745  623  170  1:number  0  Amount0
2  0  detail  0  2687  1745  314  170  1  0  Wrapping0
2  0  detail  1  407  1915  627  170  1  0  Itemcd1
2  0  detail  1  2015  1915  623  170  1:number  0  Amount1
2  0  detail  1  2687  1915  314  170  1  0  Wrapping1
2  0  detail  2  407  2085  627  170  1  0  Itemcd2
2  0  detail  2  2015  2085  623  170  1:number  0  Amount2
2  0  detail  2  2687  2085  314  170  1  0  Wrapping2
2  0  detail  3  407  2255  627  170  1  0  Itemcd3
2  0  detail  3  2015  2255  623  170  1:number  0  Amount3
2  0  detail  3  2687  2255  314  170  1  0  Wrapping3
2  0  detail  4  407  2425  627  170  1  0  Itemcd4
2  0  detail  4  2015  2425  623  170  1:number  0  Amount4
2  0  detail  4  2687  2425  314  170  1  0  Wrapping4
2  0  detail  5  407  2595  627  170  1  0  Itemcd5
2  0  detail  5  2015  2595  623  170  1:number  0  Amount5
2  0  detail  5  2687  2595  314  170  1  0  Wrapping5

ずれ修正ありの場合

1 -1 id order
2 -1 307 688 510 170 0 0 tok_cd 0 1 1 1 1 0
2 -1 307 951 1450 170 0 0 Tel 0 1 1 1 1 1
2 -1 307 1207 200 170 0 0 Month
2 -1 620 1207 200 170 0 0 Day
2 -1 938 1207 85 170 0 0 haikb
2 -1 1350 1207 85 170 0 0 timekb
2 -1  detail  0 407 1745 627 170 1 1 Itemcd 1 1 1 1 1 0
2 -1  detail  0 2015 1745 623 170 1:number 0 Amount 1 1 1 1 1 0
2 -1  detail  0 2687 1745 314 170 1 1 Wrapping 1 1 1 1 1 0
2 -1  detail  1 407 1915 627 170 1 0 Itemcd 1 1 1 1 1 0
2 -1  detail  1 2015 1915 623 170 1:number 0 Amount 1 1 1 1 1 0
2 -1  detail  1 2687 1915 314 170 1 0 Wrapping 1 1 1 1 1 0
2 -1  detail  2 407 2085 627 170 1 0 Itemcd 1 1 1 1 1 0
2 -1  detail  2 2015 2085 623 170 1:number 0 Amount 1 1 1 1 1 0
2 -1  detail  2 2687 2085 314 170 1 0 Wrapping 1 1 1 1 1 0
2 -1  detail  3 407 2255 627 170 1 0 Itemcd 1 1 1 1 1 0
2 -1  detail  3 2015 2255 623 170 1:number 0 Amount 1 1 1 1 1 0
2 -1  detail  3 2687 2255 314 170 1 0 Wrapping 1 1 1 1 1 0
2 -1  detail  4 407 2425 627 170 1 0 Itemcd 1 1 1 1 1 0
2 -1  detail  4 2015 2425 623 170 1:number 0 Amount 1 1 1 1 1 0
2 -1  detail  4 2687 2425 314 170 1 0 Wrapping 1 1 1 1 1 0
2 -1  detail  5 407 2595 627 170 1 0 Itemcd 1 1 1 1 1 0
2 -1  detail  5 2015 2595 623 170 1:number 0 Amount 1 1 1 1 1 0
2 -1  detail  5 2687 2595 314 170 1 0 Wrapping 1 1 1 1 1 0

5.3.1. 位置合わせ情報

帳票の中で一番大きな矩形を基準に位置を合わせます。
ベースとなる3点(左上・右上・左下)の位置を定義します。

No.項目名書式必須説明
1セクションID0必須 
2width整数必須ベースとなる画像サイズの幅
3height整数必須ベースとなる画像サイズの高さ
4x1整数必須ベースとなる矩形の左上の点のx座標
5y1整数必須ベースとなる矩形の左上の点のy座標
6x2整数必須ベースとなる矩形の右上の点のx座標
7y2整数必須ベースとなる矩形の右上の点のy座標
8x3整数必須ベースとなる矩形の左下の点のx座標
9y3整数必須ベースとなる矩形の左下の点のy座標

※位置合わせ情報は省略可です。省略した場合、位置合わせは行われず絶対座標で抽出します。

■位置合わせイメージ

画像内の最大の矩形を検知し、左上・右上・左下の3点を基点に位置を合わせます。

5.3.2. 出力情報(固定値)

No.項目名書式必須説明
1セクションID1必須 
2シーケンス番号整数 (使用しない)
3項目名文字列必須出力情報に記載する項目名
4文字列必須出力する文字列
5グループID文字列グループID(明細・表の名前)を指定
アウトプット時に使用
6レコードID整数レコードID(明細の行番号)を指定
アウトプット時に使用

5.3.3. 出力情報(OCR)

No.項目名書式必須説明
1セクションID2必須 
2シーケンス番号整数 (使用しない)
3グループID文字列 グループID(明細・表の名前)を指定
アウトプット時に使用
4レコードID整数 レコードID(明細の行番号)を指定
アウトプット時に使用
5x整数必須読取範囲の基準となる座標(左上の点)のx座標
6y整数必須読取範囲の基点となる座標(左上の点)のy座標
7width整数必須読取範囲の幅
8height整数必須読取範囲の高さ
9type0, 1必須0 : 活字
1 : 手書き
手書きはコロン(:)区切りで項目ごとにOCRモデルを指定する
指定がない場合、ControlPanelの手書き用OCRモデルを使用する
指定例)1:number
10length0以上の整数必須typeが 0(活字)の場合
0 : 特別な処理を行わない
2以上 : 指定された数 -1本の区切り罫線を除去する

typeが 1(手書き)の場合
0 : 特別な処理を行わない
1 : 指定した範囲の文字を1文字として認識する
2以上 : 指定された数 -1本の区切り罫線を除去する
11フィールドID文字列必須項目名
12ずれ修正0, 1 0:文字列でのずれ修正
1:セルでのずれ修正
13修正対象(左)0, 1 ずれ修正が1(セル)の場合のみ有効
0:セルの左辺を基準としたずれ修正をしない
1:セルの左辺を基準としたずれ修正を行う
14修正対象(右)0, 1 ずれ修正が1(セル)の場合のみ有効
0:セルの上辺を基準としたずれ修正をしない
1:セルの上辺を基準としたずれ修正を行う
15修正対象(上)0, 1 ずれ修正が1(セル)の場合のみ有効
0:セルの上辺を基準としたずれ修正をしない
1:セルの上辺を基準としたずれ修正を行う
16修正対象(下)0, 1 ずれ修正が1(セル)の場合のみ有効
0:セルの底辺を基準としたずれ修正をしない
1:セルの底辺を基準としたずれ修正を行う
17修正方法0, 1 ずれ修正が0(文字列)の場合のみ有効
0:文字列を基準として読取位置を移動する
1:文字列を基準として読取位置の拡張をする
18個別読取結果変換リスト文字列個別読取結果変換リストを指定する

※修正対象(右)、修正対象(左)、修正対象(上)、修正対象(下) は併用可能

5.3.3.1. ずれ修正(セルに合わせる場合)について

セルに合わせるずれ修正を行う場合、下記のルールで行われます。

<合わせる対象>

 読み取り範囲に対し、以下の 2つの条件を満たすセルが合わせる対象となります。
  1. 読取範囲に対し、セルの面積が30%以上重なっていること
  2. 条件1.を満たすセルのうち、読み取り範囲に対して重なっている面積が最大であること

<例外>

 修正後のセルの高さが元の読み取り範囲の高さの1.2倍を超える場合、ずれ修正は行われません。
  ※本機能は軽微な位置ずれを補正するための機能であり、過度なずれ修正は行わなれません

<修正対象(左右上下)について>

修正の対象の選択によって、修正結果が下記の例のように変わります。

ずれ修正の修正対象(左、右)が有効の場合

 ずれ修正の修正対象(左右上下)が有効の場合

5.3.3.2. ずれ修正(文字列に合わせる場合)について

文字列に合わせるずれ修正を行う場合、下記のルールで行われます。

<合わせる対象>

読み取り範囲に対し、面積が30%以上重なっている文字列が合わせる対象となります。

<修正方法:移動について>

 修正方法に「移動」を指定した場合、読み取り範囲(矩形の形)は変更せず合わせる対象の文字列が入るように読み取り位置を移動させます。

 ※重なっている文字列の範囲より読み取り範囲が小さい場合は修正しません。

ずれ修正の方法が文字列を基準とした移動の場合

<修正方法:拡張について>

 修正方法に「拡張」を選択した場合、読み取り範囲に重なる全文字列が包含できるように読み取り範囲を拡張します。

ずれ修正の方法が文字列を基準とした拡張の場合

5.3.4. 出力情報(チェックマーク)

No.項目名書式必須説明
1セクションID3 または 4必須3 : テンプレート画像との差分で判定
4 : レ点で判定
2シーケンス番号 (使用しない)
3グループID文字列 グループID(明細・表の名前)を指定
アウトプット時に使用
4レコードID整数 レコードID(明細の行番号)を指定
アウトプット時に使用
5x整数必須読取範囲の基準となる座標(左上の点)のx座標
6y整数必須読取範囲の基点となる座標(左上の点)のy座標
7width整数必須読取範囲の幅
8height整数必須読取範囲の高さ
9type0必須 
10length0~1000必須(セクションID=3のときのみ)
テンプレート領域に対する黒領域の割合(%)
11フィールドID文字列必須項目名

5.3.5. 出力情報(バーコード)

No.項目名書式必須説明
1セクションID6必須
2シーケンス番号(使用しない)
3グループID文字列グループID(明細・表の名前)を指定
4レコードID整数レコードID(明細の行番号)を指定
5x整数必須読取範囲の基準となる座標(左上の点)のx座標
6y整数必須読取範囲の基点となる座標(左上の点)のy座標
7width整数必須読取範囲の幅
8height整数必須読取範囲の高さ
9type文字列バーコードの形式を指定
(未指定の場合 NW7)
10length(使用しない)
11ItemName文字列必須項目名

5.3.6. 出力情報(画像抽出)

No.項目名書式必須説明
1セクションID5必須
2シーケンス番号(使用しない)
3SubImageGroupID文字列必須サブ画像のグループ名
4レコードID(使用しない)
5x整数必須読取範囲の基準となる座標(左上の点)のx座標
6y整数必須読取範囲の基点となる座標(左上の点)のy座標
7width整数必須読取範囲の幅
8height整数必須読取範囲の高さ
9type(使用しない)
10length(使用しない)
11項目名文字列必須項目名

5.4. AIRead RuleEditorで設定

以下のプログラムで、AIRead RuleEditor(以下RuleEditor)を起動することで、ルールを編集することができます。

<AIReadインストールフォルダ>/RuleEditor/RuleEditor.exe

5.4.1. ルールを作成・開く

  • ルールを新規で作成する

「ルールを作成」を選択するとダイアログが表示されます。
フォーマット定義フォルダを作成するディレクトリを選択し、任意の名前で作成することができます。

  • ルールを開く

「ルールを開く」を選択すると、フォルダを選択する画面を開きます。
作成済みのルールを選択してください。

5.4.2. 文書種別の管理

1つのルール一式を「文書種別」と呼びます。
文書種別にはそれぞれ識別キーワードが設定でき、帳票内に含まれている文字列で使用する文書種別を仕分けることができます。
「条件追加」ボタンで管理画面を開きます。

No.項目名説明
1+(文書種別列)文書種別を追加する
2+(識別キーワード列)識別キーワードを追加する
3-(識別キーワード列)識別キーワードを削除する
  • 文書種別の追加
    文書種別の+ボタンを押すと、文書種別を追加します。
  • キーワードの設定
    「+」ボタンを押すと識別キーワードを追加し、「-」ボタンを押すと識別キーワードを削除します。
    複数キーワードを登録するとOR条件となります。いずれかのキーワードが見つかった場合に該当する文書種別のルールが適用されます。
    1つのフィールドをカンマ(,)で区切るとAND条件となります。すべてのキーワードが存在する場合に該当する文書種別のルールが適用されます。
  • 文書種別のコピー
    文書種別上でマウスを右クリックするとメニューが表示されます。

コピーを選択するとダイアログが表示されます。

ユニークな文書種別、識別キーワードを入力しコピーボタンを押下します。

文書種別がコピーされます。

  • 制限事項:
    ・1システムに作成できる文書種別数は1000
    ・文書種別IDの文字数:100バイト以内
    ・文書種別IDに使用できる文字:半角英数字、-(ハイフン)、_(アンダースコア)、.(ピリオド)、#(シャープ)、&(アンパサンド)
    ・文書種別IDの両端のスペースはトリミングされる

5.4.3. 画像の追加

文書種別に対応する画像を追加します。
「画像の追加」ボタンを押すとファイル選択ダイアログを表示します。

ファイルを選択し、「開く」ボタンを押すと画像を追加します。

No.項目名説明
1↺ ↻ (90度回転)表示中の画像を90度回転する
2◀ ▶ (画像送り)表示する画像を選択する
3(画像上で Ctrlキー + マウスホイール操作)画像を拡大/縮小する

5.4.4. 共通設定ファイルの指定

AIReadの実行、個別読取結果変換リストの紐づけ、個別OCR設定時に使用する共通設定ファイルを指定します。
「共通設定ファイル」ボタンを押すと、ファイル選択ダイアログを表示します。

「参照」ボタンから使用する共通設定ファイルを選択します。

5.4.5. 抽出ルール編集

項目ごとに抽出ルールを設定します。
1つの項目に対する設定をメタデータと呼びます。

※下記、左から順に各ボタンの説明

No.項目名説明
1抽出ルールにメタデータを追加するため設定画面を開く
2編集ボタン作成済みのメタデータの設定画面を開く
メタデータを複数選択した状態で編集ボタンを押下すると、明細名をまとめて設定することが可能
3コピーボタン選択中の抽出ルールをコピーします
4⇑⇓選択したメタデータのリスト位置を上下する
5トラッシュボックスマーク選択したメタデータを削除する
6↶↷マーク操作を元に戻す(↶)、やり直し(↷)
まとめて編集(明細名)
  • メタデータを新規作成

「+」ボタンを押すと、メタデータ設定画面を開きます。

  • メタデータを編集

抽出ルール設定の一覧から任意の項目をマウスダブルクリックするとメタデータ設定画面を開きます。

  • メタデータ設定項目説明
No.項目名説明
1項目名メタデータの項目名を入力する
2値の抽出方法下記より抽出方法を選択する
・キーワード
・キーワードの座標指定
・座標指定
・型指定
・固定値
3抽出キーワード抽出するキーワード文字列を入力する
4固定値値の抽出方法が固定値の時のみ設定可能
抽出結果に関わらず、定義された値を出力する
5値の探索方向下記より探索方向を選択する
・右
・左
・上
・下
・右and下
6個別読取結果変換AIRead ContorolPanel で作成した個別読取結果変換リストとメタデータを紐づける
※個別読取結果変換の設定方法は、4.1.4. 後処理設定に記載
7サブキーワードを指定する下記より指定方法の選択をする
・ベースメタデータ(親となるメタデータ)を指定し、サブキーワードのみ指定する
・ベースメタデータ(親となるメタデータ)を指定せず、抽出キーワード と サブキーワードを指定する
82行目のデータを取得する値の出力時に、抽出キーワードで指定された文字列 と 指定された文字列の下1列を抽出し結合する
9座標位置指定の場合、対象矩形領域の座標を入力する
10型指定下記より型を選択する
・指定しない
・データタイプ:リストボックスからデータタイプを指定する
・正規表現  :正規表現文字列を入力する
11マージン拡張(右)右側マージンを数字で入力する
12マージン拡張(左)左側マージンを数字で入力する
13レコード区切りレコード区切りをするかチェック入力する
14値取得個数の制限制限値を数字で入力する
15列を必須列とする列を必須化するかチェック入力する
16デリミタを無視デリミタを無視するかチェック入力する
17文字列中の部分一致文字列の部分一致をするかチェック入力する
18明細名(XML出力の場合)XML出力の際の明細名を入力する
  • キーワード座標指定/座標指定の方法

「値の抽出方法」でキーワードの座標指定、および座標指定を選択した場合、座標の入力をマウスの範囲指定で行います。

  1. メタデータ設定画面で「キーワードの座標指定」もしくは「座標指定」を選択して決定を押し画面を閉じる
  2. 画像表示画面上で該当の位置をマウスドラッグで指定する
  • サブキーワードの指定方法

「サブキーワードを指定する」を選択した場合、ベースメタデータ、もしくは抽出キーワードに合わせ、サブキーワードを指定します。

(1) 「ベースメタデータ」を使用する場合

 1. メタデータ設定画面で「値の抽出方法」をキーワードに指定し、「サブキーワードを指定する」にチェックを入れる

 2. 「ベースメタデータ」を指定し、追加する条件に合わせ、「キーワード」と「方向」を指定する

(2) 「抽出キーワード」とサブキーワードを両方使用する場合

 1. メタデータ設定画面で「値の抽出方法」をキーワードに指定し、「サブキーワードを指定する」にチェックを入れる

 2. 「抽出キーワード」「値の探索方向」を指定し、「方向」「キーワード」を指定する

5.4.6. 抽出パラメータ設定

文書種別ごとの抽出に影響する設定を編集します。

画面右下「抽出パラメータ設定」を押すと、抽出パラメータ設定画面を開きます。

  • 設定の説明

ユースケースは5.5.3抽出パラメータ設定を参照してください。

No.項目名説明
1水平線を追加指定したY 座標(72DPI、左下原点)位置に水平罫線を追加する
2短い水平線を無視短い水平罫線を無視するかどうかの閾値。ページ幅に対する割合(N 倍)で指定
3異なる矩形の文字列を連携対象から外す有効にすると文字列が罫線に囲まれている場合に、異なる矩形に属する文字は連結対象から外す
4接する文字を文字列として扱う間隔の距離接する2つの文字を1つの文字列として扱うかどうかの閾値 文字間の文字行の高さに対する比率で指定する
5矩形内のマージン自動生成有効にすると1つの矩形にアイテムが1つだけある場合に、そのアイテムのマージンを自動生成する
6完全一致した文字列のみ項目文字列とする有効にすると1つの矩形に1つだけ文字列がある場合に、完全一致(編集距離での許容は有効)する時のみ項目文字列として扱う
7辞書照合判定の必要条件(絶対値)辞書照合判定の必要条件(絶対値):編集距離がこの値以下である場合は辞書に照合したとみなす
8辞書照合判定の必要条件(相対値)辞書照合判定の必要条件(相対値):許容する編集距離を照合対象の辞書単語と、抽出文字列のいずれか短い方に対する割合で指定
9リンク設定を行う高さの閾値(絶対値)※値探索方向がU項目文字列と値文字列間で、リンク設定を行うかどうかの高さの差の閾値(絶対値)。項目文字列に対し値文字列が上方向にある場合に適用される。(DIR=U)
10リンク設定を行う高さの閾値(絶対値)※値探索方向がD項目文字列と値文字列間で、リンク設定を行うかどうかの高さの差の閾値(絶対値)。項目文字列に対し値文字列が下方向にある場合に適用される。(DIR=D)
11複数列にまたがる値文字列を無視する閾値複数列にまたがる値文字列を無視するかどうかの閾値。2以上の場合有効となる。(0,1の場合は、複数列にまたがる値でも無視されない)
12縦方向にリンクする閾値項目文字列と値文字列の縦方向のリンクを設定する場合に、許容するYグリッドの差分の閾値。1(デフォルト)を指定した場合、Yグリッドが隣り合う項目文字列と値文字列のみがリンクされる
13水平方向に並んだ値のレコード分割レコード分割を行う値文字列数の閾値。この数以上の値文字列が水平に並んだ場合、レコードの分割を行う
14罫線をリンクの接続条件とする有効にすると項目文字列と値文字列のリンクを設定する場合に、間の罫線の本数を接続条件とする
15項目文字列と値文字列が共存した際の正現ID”同一文字行内に、項目文字列と値文字列が共存していると判定する場合の、項目-値の区切り文字の正現ID(複数指定は不可)
16水平の罫線でレコードを区切る有効にすると水平の罫線をレコード区切りとして利用する
17値を必須列とした際の適用条件複数のメタデータにREQUIRED を定義した場合に適用される条件を設定する
18罫線情報を抽出する(テキストつきPDFのみ)有効にするとメタデータ抽出時、イメージから罫線情報を抽出してPDFに埋め込む
19罫線情報を削除する(テキストつきPDFのみ)「罫線情報を抽出する」有効時、有効にすると既に埋め込まれている罫線の情報を削除する
20年号の指定DATE_YMD型で、年号が指定されておらず、かつ年が2桁の場合に設定する年号を指定する。R(*)、令和、H(*)、平成、S(*)、昭和、T(*)、大正、M(*)、明治のいずれかで指定する。 (*)半角または全角での指定が可能
21横方向連結時の区切り文字横方向に連結する時は区切り文字を半角スペース固定としているが、行の連結に使用する区切り文字を横方向の連結にも使用できるようにするパラメータを追加する。対象は以下のデータとする
0: 区切り文字としてスペースを使用する
1: レコードの連結に使用する区切り文字を使用する
22キーワード検索時に無視する文字列抽出キーワード検索時に対象外する文字を設定する
23無視する文字列抽出キーワードの検索時、及び値の抽出時に対象外とする文字列を設定する
半角スペースで文字列を区切ることで複数登録可能
24半角スペースを出力しない入力文書に含まれる文字の文字間隔が一定の間隔である場合、通常は、文字の間に半角空白を埋め込むが、半角空白の埋め込みを抑止したい場合にこのパラメータを指定する
有効にすると、半角空白の埋め込みが行われない。文字間隔が一定の間隔である場合は、半角空白を埋め込む
25抽出キーワードの文字間隔許容値抽出キーワードに指定された文字列の判定において、各文字間隔の許容値を指定する。 指定値は文字の高さに対する倍率で指定する。5.0の場合、文字の高さ×5.0の距離まで許容する
26矩形内がキーワードのみの場合マージンを設定SET_MARGIN_BY_BOXを有効にした場合、矩形内にキーワードのみある時にマージンが設定される。本指定を1にする事で、矩形内に他のキーワードでない他の文字があってもマージンを有効とする
0:矩形内にキーワードのみの時に有効
1:矩形内にキーワードが一つのみの時に有効
27キーワードと重なった文字列を抽出する有効にするとキーワード抽出のキーワード(マージン含む)と重なっている文字列を抽出する
28正規表現使用時に半角スペースを無視する有効にするとメタデータで適用正規表現と一致する文字列を検索する際に半角空白を無視する
29正規表現一致時に置換を適用する有効にすると抽出キーワードの正規表現一致時に正規表現で指定した記憶範囲による項目の置換を適用する
30データタイプと一致しない際に再判定する抽出キーワードのデータタイプ判定において、データタイプに一致しなかった場合に、前後の文字列を削除して再判定するかを指定する
0:前後の文字を削除することなく判定する
1:元の文字列がデータタイプに一致しなかった場合に、前後の文字を削除してみてデータタイプに一致するか再判定する

5.4.7. 個別OCR設定

ルール定義ごとに個別でOCR設定の定義を行います。
個別設定は帳票定義を指定したとき(帳票識別を行わないとき)のみ有効です。
これは、帳票識別時の処理フローが OCR処理→帳票識別→キーワード抽出 となっており、帳票定義(個別設定含む) が判明した時点で既にOCR処理後であるためです。

個別OCR設定の呼出 ボタンを押下することで、5.4.4. 共通設定ファイルの指定 で指定した共通設定ファイルの各OCR設定を引き継いで呼び出します。

指定した共通設定ファイルが存在しない場合、共通設定ファイル指定ダイアログが表示されます。

「個別設定に使う」にチェックのついたパラメータは、AIRead実行時に共通設定ファイルのパラメータを上書きして実行されます。
ただし、「入力フォルダ」や「抽出モードの指定」等一部のパラメータは置き換え不可です。
設定内容については、4. 共通設定を参照して下さい。

5.4.7.1. 設定方法
  • 個別設定に使いたい設定の編集

新規で個別設定を行う場合、すべての個別設定は無効となっており、設定値の編集ができません。
個別設定に使用したい設定項目の右側にある個別設定に使うチェックボックスをクリックし、設定値を編集してください。
ただし、AIRead on Cloudで有効な設定は☁マーク(□)がついた項目のみとなります。

  • 個別設定の保存

設定の編集が完了したら、保存してください。個別設定が反映されます。
※保存しないと、設定は反映されません。

  • 個別設定画面の終了

保存が完了したら、右上の×ボタンで画面を閉じてください。

5.4.8. AIReadの実行

作成した文書種別でAIReadを実行します。

No.項目名説明
1AIRead実行AIRead実行設定ダイアログを開く
2画像ファイル名AIReadを実行する画像ファイルを指定する
3実行AIReadの実行を開始する
4キャンセルダイアログを閉じる

AIRead の実行の際、5.4.4. 共通設定ファイルの指定 で指定した共通設定ファイルを呼び出します。
指定した共通設定ファイルが存在しない場合、共通設定ファイル指定ダイアログが表示されます。

5.4.9. AIReadの実行結果を確認

実行後にAIReadの実行結果一覧画面を表示します。
表示された実行結果一覧画面より、確認・編集を行うファイルを選択し、実行結果確認画面を表示します。

5.4.9.1. 実行結果一覧画面
No.項目名説明
1ファイル名読み取ったファイル名を表示する
2ページ番号読み取ったファイルのページ数を表示する
3FormID読み取りに使用したフォーマット定義名を表示する
4読取り日時読み取りを実行した日時を表示する
5更新日時最終更新日時を表示する
6ステータス実行結果の状態を表示する
・読取完了 :読み取りが終了
・確定済  :実行結果確認画面で確定処理を実施済み
・CSV出力済 :データ出力ボタンでCSV出力を実施済み
・読取失敗 :読み取りが失敗
※AIRead自体が起動できない、異常終了の場合は一覧に表示されない
7編集ボタン対象の実行結果の実行結果確認画面を表示する(該当行をダブルクリックでも表示可能)
8更新ボタン実行結果一覧を最新の状態へ更新する
9削除ボタンチェックボックスで選択した実行結果を削除する
10データ出力ボタンチェックボックスで選択した実行結果をCSV出力する
11絞り込み条件条件を指定し、実行結果一覧画面に表示する実行結果を絞り込む
12Viewer設定ボタン表示フォントサイズ、信頼値の表示色などを設定する
5.4.9.2. 絞り込み条件

以下の条件を入力することによって、読取結果の絞り込み検索ができます。

No.項目名説明
1ファイル名読み取ったファイル名を絞り込み条件にする
2FormID実行時に使用した定義情報のFormIDを絞り込み条件にする
3登録日付実行時の日付を絞り込み条件にする
4ステータス実行結果のステータスを絞り込み条件にする
5更新ボタン指定した条件で絞り込みを行う
5.4.9.3. 実行結果詳細画面

「複数ページの帳票ファイルを1つの帳票として処理する」が 有効
(FILE_IDENTICATION_TYPE=1)の場合、1つの確認画面で全てのページを確認することができます。

「複数ページの帳票ファイルを1つの帳票として処理する」が 無効
(FILE_IDENTICATION_TYPE=0)の場合、それぞれのページごとの結果確認画面が作成されます。

No.項目名説明
1帳票画像OCRを行った画像を表示する
各読み取り領域をマウスでポイントすると、「OCR結果一覧」の該当項目を強調する
2拡大縮小ボタン帳票画像の拡大縮小操作に使用
3確認画面変更ボタン表示する確認画面変更に使用
複数ページの帳票ファイルを1つの帳票として処理した時のみ使用
4OCR結果一覧(リスト)項目名と読み取った値(編集可能)のリストの一覧表示
項目をマウスでクリックすると、「帳票画像」の該当位置を 強調する
5OCR結果一覧(明細)項目名と読み取った値(編集可能)の明細の一覧表示
項目をマウスでクリックすると、「帳票画像」の該当位置を強調する
6ファイル名読み取ったファイル名を表示する(マウスオーバーでファイル名をすべて表示)
7FormID読み取りに使用した文書種別名を表示する
8ステータス読み取り結果の状態を表示する
9前・次ボタン実行結果一覧画面の前後の実行結果へ移動する
10確定・確定解除ボタンステータスを”確定済み”へ変更する
また、”確定済み”、”CSV出力済み”のステータスを”確定済み”へ変更する
11保存ボタン編集後の各項目の値を保存
※編集後の値はViewer内部に保持されるため、このボタンから保存先の指定は行わない
12キャンセルボタン編集内容を保存せず、実行結果一覧画面へ戻る

5.4.10. 実行結果の保存

データ出力ボタンを押下すると、保存用のダイアログが表示されます。
このダイアログ上で、任意の場所に保存することができます。

No.項目名説明
1出力先実行結果の保存先を指定する
「*」「?」「”」「|」は使用不可
2命名規則出力するCSV/PDFファイルの規則を指定する
「/」「*」「?」「”」「|」は使用不可
<date>:出力時の実行日付8桁(yyyymmdd)をファイル名に表記する
<time>:出力時の実行時間8桁(hhmmssms)をファイル名に表記する
<item:項目名>:読み取り結果に含まれる項目名を指定することで、読み取った値をファイル名に表記する
3出力形式実行結果の保存形式をCSV(カンマ区切り) 、 CSV(独自形式) 、PDFから設定する
※CSVカンマ区切りの場合、ヘッダ部と明細部のCSVファイルが出力されるため、zip圧縮で出力される
※PDFの場合は、読み取った画像をPDFとして出力される
4文字コード出力する実行結果の文字コードを、S-JIS、UTF-8、UTF-8(BOM付き)から選択する
5出力単位「複数ページの帳票ファイルを1つの帳票として処理する」が設定された帳票が含まれる場合のみ表示される
 ファイル:ファイル単位で結果をまとめる(複数ページ1出力)
 ページ :ページ単位で結果をまとめる(1ページ1出力)
6ヘッダー設定CSV出力を行う際に、出力するヘッダ情報を選択画面を開く
※各種ヘッダの詳細は 6.1. 共通に記載
7データ出力ボタン指定された設定で実行結果を保存する
8キャンセルボタン保存用ダイアログを閉じる

5.4.11. 出力形式

RuleEditorからの実行結果を出力する形式は2種類あります。

5.4.11.1. CSV(カンマ区切り)

1行目にヘッダ情報、2行目以降にデータ情報が出力される、一般的なCSV形式です。ヘッダ、明細それぞれでCSVファイルが出力されます。
RuleEditorの読み取り定義で指定した設定が、下記のルールに従ってまとめられます。

CSVファイル名は下記のルールに従って作成されます。

・明細名の設定がない項目(ヘッダ項目)

   [入力ファイル名].csv

・明細名が設定された項目(明細項目)

   [入力ファイル名]_[明細名].csv

   ※ファイル名に使用できない文字(\/:*?”<>|)が明細名に含まれる場合、その文字は削除されます

明細データは、Ruleditorの読み取り定義で指定した設定が、下記のルールに従ってまとめられます。

 ファイル:明細名
 行   :レコード
 列   :項目名

  • 出力イメージ:

ヘッダ項目の出力 ( [入力ファイル名].csv)

“Image”,”Image_jshfilename”,”modifyDate”,”processDate”,”result”,”form_id”,” primarykey”,” claim_total”, “sample1_1.jpg”,”C: \Result\20200325_175513_547\ sample1_1.jpg “,”2020-02-06T16:28:52″,”2020-03-25T17:55:13″,”true”,”Invoice”,”-1″,”2110000″

 ※固定で”Image”,”Image_jshfilename”,”modifyDate”,”processDate”,”result”,”form_id”が出力されます。これらの項目については、6.1. 共通を参照してください。

明細項目の出力 ([入力ファイル名]_[明細名].csv

“item_num”,”item_name”,”item_quantity”,”item_unitprice”,”item_amount”
“10845”,”パソコンデスク”,”14″,”59800″,”837200″
“22563”,”キーボード”,”14″,”14800″,”207200″
“00562”,”事務机”,”8″,”36800″,”294400″
“41523”,”キャビネット”,”10″,”59800″,”598000″
“20783”,”シュレッダ ー”,”2″,”19800″,”39600″
“30856”,”カラープリンター”,”2″,”89000″,”178000″
5.4.11.2. CSV(独自形式)

6.2. CSVを参照ください。

5.5. ルール定義ファイル

5.5.1. 文書種別定義

帳票の種類を定義します。
タブ区切りで記載します。

  • ファイル名:AIRead_proflst.ini
No.項目名書式説明
1文書種別ID文字列 (半角英数)文書種別ごとに帳票の識別ID、フォーマット定義ファイルのフォルダ名を設定
2キーワード文字列帳票を識別するためのキーワード
セミコロン(;)で区切るとOR条件、カンマ(,)で区切るとAND条件でキーワードを検索して識別
  • 帳票定義ファイルイメージ:
documentType    documentKeyWord
Invoice 請求
Invoice2    請求,西新宿株式会社
  • 制限事項:

・1システムに作成できる文書種別数は1000
・文書種別IDの文字数:100バイト以内
・文書種別IDに使用できる文字:半角英数字、-(ハイフン)_(アンダースコア),(カンマ).(ピリオド)#(シャープ)&(アンパサンド) (スペース)
・文書種別IDの両端のスペースはトリミングされる

5.5.2. メタデータ定義

メタデータとは、「インボイス番号」「数量」「価格」など、抽出対象となるものを指します。項目名と値に分けられ、「インボイス番号」等が項目名、「2014-001」などが値の例となります。
1つの項目に対し値が1つのものと、表形式など1つの項目に対し複数の値がある場合があります。

指定可能なメタデータの設定とその説明を以下に示します。
タブ区切りで記載します。

  • ファイル名:IDE_metadata_setting.ini

ファイルの場所:<AIREAD_HOME>/AIRead_conf_kw /documentType名/IDE_metadata_setting.ini

No.項目名内容指定可能な値備考
1type値によって固定値の出力かデータ抽出となる1,2・ 1の場合:固定の出力
・ 2の場合:OCR結果 よりデータを抽出
2itemName項目名を指定する文字列使用できる文字
半角英数、-(ハイフン)、_(アンダーバー)
3extractKeyWord抽出キーワードを指定する文字列セミコロン(;)で区切ることで1つの項目に複数の抽出キーワードを割り当てることが可能(*1)
4
5
MARGIN_RIGHT
MARGIN_LEFT
該当メタデータの抽出キーワード文字列の領域を、マージン分拡張したものと仮定して処理する整数単位はピクセル
(pdfを変換する場合は300dpiを推奨)
6LB該当メタデータをレコード区切りとして使用するTRUETRUE以外を指定した場合無効
(指定なしと同じ)
7DIR該当メタデータの値探索方向を指定(限定)するR(右方向)
L(左方向)
U(上方向)
D(下方向)
RD(右+下方向)
 
8LMAX該当メタデータで、抽出する値の個数を制限する0以上の整数 
9REQUIRED該当メタデータを必須列とします。値が入っていない場合、そのレコードは抽出対象外となるTRUETRUE以外を指定した場合無効
(指定なしと同じ)
10NODELIMITER該当メタデータは、項目文字列と値文字列の間にデリミタがないものとして扱うTRUETRUE以外を指定した場合無効
(指定なしと同じ)
デリミタは抽出パラメータ
IV_SYMBOL_REGEX_ID
11GETITEMFROM
STRING
文字列中に項目文字列が部分一致した場合、そこで文字列を分割して処理するTRUETRUE以外を指定した場合無効
(指定なしと同じ)
12POSITION指定された座標位置に、キーワードが存在するとみなして処理する整数を4つカンマで区切って設定(*2)座標は左下原点、単位はピクセルで指定する(pdfを変換する場合は300dpiを推奨)
13POSITIONTOEXTRACT指定された座標位置の値を抽出する整数を4つカンマで区切って設定(*2)座標は左下原点、単位はピクセル値で指定する
(pdfを変換する場合は300dpiを推奨)
14TABLE_NAMEタグをグルーピングする文字列 
15REGEX正規表現をメタデータに割り当てて、抽出した値をバリデーションする文字列シングルコーテーションで閉じる
16DATATYPE値のデータ型(数字、通貨、日付等)を定義する データタイプの指定については後述
17DATATYPE_VALUE「DATATYPE」SUB_KEYWORD_DIR / SUB_KEYWORD_NEAR を使用する場合の抽出条件を定義する 定義方法についてはXXX 参照
18is_output「DATATYPE」SUB_KEYWORD_NEARを使用する場合、抽出された文字列 と 抽出された文字列の下1列を抽出し結合する0(結合して抽出を行わない)
1(結合して抽出する)
 

(*1) 1つのメタデータ定義の中で ”extractKeyWord”を指定した項目を1つ以上設定する必要がある
(*2) 抽出範囲のleft(左),top(上),right(右),bottom(下)の順で記載

4)(5 MARGIN_RIGHT, MARGIN_LEFT

該当メタデータ(抽出キーワード)の領域をマージン分拡張したものと仮定して処理します。単位はピクセルです。

(例)
マージン指定がない場合、Amountと130.00は縦方向に重ならないため抽出できません。
しかし、MARGIN_RIGHTに15を指定すると、Amountの文字領域を緑色点線部分まで拡張して処理を行うため、130.00がAmountの値として抽出されるようになります。

6 LB

該当メタデータをレコード区切りとして使用します。値にTRUE以外を指定した場合は無効(指定していないのと同じ)となります。

ExtendedにLBを指定した場合、Extendedの値が抽出される高さでレコードを分割する。

7 DIR

該当メタデータの値探索方向を指定(限定)します。

8 LMAX

該当メタデータで、抽出する値の個数を制限します。指定できるのは整数とし、
 0:リンクする値の数を制限しない
 1以上:リンクする値の数を指定値以下とする
デフォルト値は、該当メタデータのDIRオプションの指定内容によって決定します。

No.DIRオプションの値LMAXのデフォルト値
1R(右方向)、L(左方向)、 U(上方向)1
2D(下方向)0
3RD(右+下方向)または指定なし0

下記例の場合、SubTotalの値として $ 7,465.15 を取得するには、LMAXを0もしくは2以上に設定します。

9 REQUIRED

該当メタデータを必須項目として扱います。値がないレコードがある場合、そのレコードは抽出の対象外となります。
下記例で「NET AMOUNT」列にREQUIREDを設定した場合、青色で囲んだ部分はNET AMOUNT列の値がないため、抽出の対象外となります。

なお、複数のメタデータに指定した場合、指定されているメタデータすべてが値を持たないレコードは抽出対象外となります(AND条件)。本設定は抽出パラメータにて切り替えが可能です。

10 NODELIMITER

IDEでは、項目文字列と値文字列が同一文字行内に共存している場合、定義されたデリミタで区切られていれば項目文字列と値文字列の分割を行います。ただし、データによってはデリミタ文字がなく、項目文字列と値文字列が1つの文字列になっている場合があるため、本パラメータが指定されたメタデータはデリミタ文字がなくても分割の対象とします。

11 GETITEMFROMSTRING

こちらのパラメータが指定されている場合、項目文字列が文字列中で部分一致すれば項目文字列として扱い、そこで文字列の分割を行って以降の処理を行います。項目文字列・値文字列のペアが横向きにいくつも並んでいる場合に必要となることがあります。

12 POSITION

こちらのパラメータが指定されている場合、指定された座標位置にキーワードが存在するとみなして処理を行う。座標は、300dpiの左下原点で指定する。

17 DATATYPE_VALUE

「DATATYPE」でSUB_KEYWORD_DIR / SUB_KEYWORD_NEAR が指定されている場合、抽出条件を指定することができる。

例1)SUB_KEYWORD_DIR
メタデータ item_amount で、金額(税抜)の下方向を抽出する定義を行っている場合に、消費税の金額のみを抽出する

メタデータ item_amount を基準とし、消費税(8%)の右側を追加条件として指定する

R : item_amount : 消費税(8%)

指定方向(R・L・U・D より選択):基準とするメタデータ(itemName を指定):追加するキーワード(正規表現で記述)
それぞれの条件の区切り文字は、:(コロン) を使用する

例2)SUB_KEYWORD_NEAR

メタデータ address で、住所の右方向を抽出する場合に、抽出できる文字列の下1行を抽出する

メタデータ address を基準とし、抽出される「東京都中央区勝どき3丁目13-1」の下1行を抽出する

D : address : STRING

指定方向(R・L・U・D より選択):基準とするメタデータ(itemName を指定):使用するデータタイプ
それぞれの条件の区切り文字は、:(コロン) を使用する
※SUB_KEYWORD_DIR / SUB_KEYWORD_NEAR は使用するデータタイプに指定不可

5.5.3. 抽出パラメータ設定

指定可能な抽出パラメータとその説明を以下に示します。
“項目名=値”の書式で記載します。

  • ファイル名:IDE_setting.ini
  • ファイルの場所:<AIREAD_HOME>/AIRead_conf_kw /documentType名/IDE_setting.ini
No.項目名内容デフォルト値
1USER_DEFINED_H_LINES指定したY座標(72DPI、左下原点)位置に水平罫線を追加する(結果、指定したY座標にYグリッドが作成される)
2RATIO_TO_IGNORE_H_LINE短い水平罫線を無視するかどうかの閾値。ページ幅に対する割合(N倍)で指定0
3DIVIDE_STRING_BY_BOX文字列が罫線に囲まれている場合に、異なる矩形に属する文字は連結対象から外すかどうかのパラメータ
(1:有効、0:無効)
1
4LINE_SEG_SPACE_RATE接する2つの文字を1つの文字列として扱うかどうかの閾値。文字間の文字行の高さに対する比率で指定する1.5
5SET_MARGIN_BY_BOX1つの矩形にアイテムが1つだけある場合に、そのアイテムのマージンを自動生成するかどうかを設定する
(1:有効、0:無効)
1
6ONE_ITEM_IN_BOX1つの矩形に1つだけ文字列がある場合に、完全一致(編集距離での許容は有効)する時のみ項目文字列として扱うかどうかを設定する
(1:有効、0:無効)
1
7DP_COST_MAX辞書照合判定の必要条件(絶対値):編集距離(*1)がこの値以下である場合は辞書に照合したとみなす1
8DP_COST_RATE辞書照合判定の必要条件(相対値):許容する編集距離を照合対象の辞書単語と、抽出文字列のいずれか短い方に対する割合で指定5
9MIN_UPPER_SPACE_HEIGHT_TO_LINK項目文字列と値文字列間で、リンク設定を行うかどうかの高さの差の閾値(絶対値)
項目文字列に対し値文字列が上方向にある場合に適用される(DIR=U の場合)
文字高さの平均×2倍
10MIN_LOWER_SPACE_HEIGHT_TO_LINK項目文字列と値文字列間で、リンク設定を行うかどうかの高さの差の閾値(絶対値)
項目文字列に対し値文字列が下方向にある場合に適用される。(DIR=D の場合)
文字高さの平均×5倍
11TABLE_ITEM_NUM_TO_IGNORE_WORDS複数列にまたがる値文字列を無視するかどうかの閾値 2以上の場合有効となる
(0,1の場合は、複数列にまたがる値でも無視されない)
0
12MAX_YGRID_GAP_TO_LINK項目文字列と値文字列の縦方向のリンクを設定する場合に、許容するYグリッドの差分の閾値
1(デフォルト)を指定した場合、Yグリッドが隣り合う項目文字列と値文字列のみがリンクされる
1
13RECORD_SEG_NODE_COUNTレコード分割を行う値文字列数の閾値
この数以上の値文字列が水平に並んだ場合、レコードの分割を行う
3
14USE_LINE_NUM_OF_FIRST_LINK項目文字列と値文字列のリンクを設定する場合に、間の罫線の本数を接続条件とするかどうかを設定する
(1:有効、0:無効)
1
15IV_SYMBOL_REGEX_ID同一文字行内に、項目文字列と値文字列が共存していると判定する場合の、項目-値の区切り文字の正現ID
(複数指定は不可)
(?:[: ])+
16USE_HORIZONTAL_LINE_AS_LINE_BREAK水平の罫線をレコード区切りとして利用するかどうかのパラメータ
(1:有効、0:無効)
1
17LOGICAL_OPERATOR_FOR_REQUIRED_METADATA複数のメタデータにREQUIREDを定義した場合に適用される条件を設定する
(1:AND条件、2:OR条件)
1
(AND)
18LINE_RECOGNITION(テキスト付きPDFのみ)
メタデータ抽出時、イメージから罫線情報を抽出してPDFに埋め込むかどうかのパラメータ
(1:有効、0:無効)
0
19REMOVE_EXIST_LINE(テキスト付きPDFのみ)
上記LINE_RECOGNITIONパラメータ使用時、既に埋め込まれている罫線の情報を削除するかどうかのパラメータ
(1:有効、0:無効)
0
20DEFAULT_ERADATE_YMD型で、年号が指定されておらず、かつ年が2桁の場合に設定する年号を指定する
R(*):令和、H(*):平成、S(*):昭和、T(*):大正、M(*):明治のいずれかで指定
(*)半角または全角での指定が可能
21USE_LINE_DELIMITER_FOR_HORIZONTAL_CONCAT横方向に連結する時は区切り文字を半角スペース固定としているが、行の連結に使用する区切り文字を横方向の連結にも使用できるようにするパラメータを追加する
対象は以下のデータ
STRING
0: 区切り文字としてスペースを使用する
1: レコードの連結に使用する区切り文字を使用する
0
22IGNORE_CHAR_IN_KEYWORD抽出キーワード検索時に対象外する文字を設定する
23IGNORED_KEYWORD抽出キーワードの検索時、及び値の抽出時に対象外とする文字列を設定する
半角スペースで文字列を区切ることで複数登録可能
24NO_ADD_SPACE入力文書に含まれる文字の文字間隔が一定の間隔である場合、通常は、文字の間に半角空白を埋め込むが、半角空白の埋め込みを抑止したい場合にこのパラメータを指定する
0を指定すると、半角空白の埋め込みが行われない
デフォルトは、「指定なし」で、文字間隔が一定の間隔である場合は、半角空白を埋め込む
25CH_GRPH_SPACE_RATE_HORIZONTAL抽出キーワードに指定された文字列の判定において、各文字間隔の許容値を指定する 指定値は文字の高さに対する倍率で指定する
5.0の場合、文字の高さ×5.0の距離まで許容する
5.0
26MARGIN_BY_BOX_EXTSET_MARGIN_BY_BOXを有効にした場合、矩形内にキーワードのみある時にマージンが設定される
本指定を1にする事で、矩形内に他のキーワードでない他の文字があってもマージンを有効とする
0:矩形内にキーワードのみの時に有効
1:矩形内にキーワードが一つのみの時に有効
0
27KEYWORD_RANGE_CHECKキーワード抽出のキーワード(マージン含む)と重なっている文字列を抽出対象とするか指定する
0:キーワードと重なる文字列も抽出する
1:キーワードと重なる文字列は抽出しない
0
28REMOVE_SPACE_FOR_REGEX_MATCHメタデータで適用正規表現と一致する文字列を検索する際に半角空白を無視するか指定する
0:半角空白を無視しない
1:半角空白を無視する
0
29KEYWORD_REG_EXT抽出キーワードの正規表現一致時に正規表現で指定した記憶範囲による項目の置換を適用するか指定する
0:置換を適用しない
1:置換を適用する
0
30KEYWORD_DTY_EXT抽出キーワードのデータタイプ判定において、データタイプに一致しなかった場合に、前後の文字列を削除して再判定するかを指定する
0:前後の文字を削除することなく判定する
1:元の文字列がデータタイプに一致しなかった場合に、前後の文字を削除してみてデータタイプに一致するか再判定する
0

(1)USER_DEFINED_H_LINES

IDE_Libraryでは、項目と値のリンク付けにおいて罫線情報を参考に処理を行っています。本パラメータを指定することにより、指定位置に水平線が引かれているものとみなして処理を行います。フッタ部分など、表内の項目文字列と結び付けたくない文字列がある場合に使用します。
定義方法は、罫線を設定するY座標をポイント(72/DPI、左下原点)で指定します。複数の罫線を指定する場合は:(半角コロン)区切りで複数のY座標を指定できます。

(2)RATIO_TO_IGNORE_H_LINE

罫線情報を活用した処理において、本パラメータで指定した長さ以下の罫線を無視するパラメータです。ページ幅に対する割合(N倍)で指定します。デフォルト値は0で、長さにかかわらずすべての罫線を分析に利用します。
サブタイトルに引かれた下線など、表中に(行区切りではない)罫線が存在する場合等に使用することを想定しています。

(3)DIVIDE_STRING_BY_BOX

文字列が罫線に囲まれている場合に、罫線で文字列を分割するかどうかを指定します。

(1:有効(デフォルト)、0:無効)

1の場合、赤で囲まれた文字列はそれぞれ異なる矩形の中にあるので異なる文字列として認識されます。本機能により、P/O#を項目文字列として認識するための字間値調整が不要となります。

(4)LINE_SEG_SPACE_RATE

隣接する2つの文字を1つの文字列として扱うかどうかの閾値を指定します。文字間の文字行の高さに対する比率で指定します。

デフォルト値(1.5)が設定されている場合、右記の例では、LとF, R と S の距離はL, Rの高さの1.5倍より小さいため、 “TOTAL FOR SEGMENT” は1つの文字列として扱われます。
一方、Tと2の距離はTの高さの1.5倍より大きいため”TOTAL FOR SEGMENT”と”2”は別の文字列として扱われます。

注意:
本閾値のベースとなる「文字の高さ」は、PDFに付加されている透明テキストの高さとなり、必ずしも目視できる(印字されている)文字の高さとは一致しません。

(5)SET_MARGIN_BY_BOX

1つの矩形に抽出キーワードが1つだけある場合に、その文字列のマージンを自動生成するかを指定します。

(1:有効(デフォルト)、0:無効)

下記の例で、Description、INV.QTY、PRICE、GST、NETAMOUNTが抽出キーワードに登録されている場合、それらの左右のマージンを矩形から自動計算します。自動計算は一つの矩形に抽出キーワードが一つだけ存在する場合のみ行います。

注意:
マージンによる文字列分割は、分割位置に文字がある場合には実施されません。

分割位置が偶然スペースの場合はそこで分割されてしまうため、 (TABLE_ITEM_NUM_TO_IGNORE_WORDS)の指定で無視することができなくなる。
分割位置にある文字がスペース以外の場合、値は分割されない。  

  • ONE_ITEM_IN_BOX

1つの矩形に1つだけ文字列がある場合に、完全一致(編集距離での許容は有効)する時のみ項目文字列として扱うかどうかを指定します。

(1:有効(デフォルト)、0:無効)

本パラメータが有効に設定されている場合、 右記の例でShipのみ抽出キーワードとして登録されていたとしても、Ship To:、Ship Via、Ship Dateの一部がShipとして扱われることはありません。

(7)DP_COST_MAX
(8)DP_COST_RATE

辞書照合判定の必要条件を指定します(MAX:絶対値/RATE:相対値)。編集距離がこの値以下である場合は、抽出キーワードに合致したとして扱います。OCR処理での軽微な誤認識を許容することが主な目的です。
DP_COST_RATEは、照合対象の辞書単語と、抽出文字列のいずれか短い方に対する許容する編集距離の割合を指定します。例えば3の場合は、編集距離が、短い方の文字列長を3で割った値以内であればマッチ、それより大きい場合はマッチしないと判断します。そのため、DP_COST_RATEに定義した値よりも短い文字列は(許容される編集距離が1未満となるため)完全一致が照合の条件となります。
なお、DP_COST_MAX(絶対値)とDP_COST_RATE(相対値)はand条件が適用されます(厳しい方が適用される)。

補足説明:
「編集距離」とは、文字の挿入や削除、置換によって、一つの文字列を別の文字列に変形するのに必要な手順の最小回数を指します。

例)DP_COST_MAX = 2,DP_COST_RATE = 3, “keyword”が項目文字列として定義されている場合   Keyword -> マッチ (編集距離1)
 DP_COST_RATE=3より、許容される編集距離は7/3 → 2 buzzword -> マッチしない (編集距離4)
 DP_COST_RATE=3より、許容される編集距離は7/3 → 2 key -> マッチしない(編集距離4)
 DP_COST_RATE=3より、許容される編集距離は 3/3 → 1

(9)MIN_UPPER_SPACE_HEIGHT_TO_LINK
(10)MIN_LOWER_SPACE_HEIGHT_TO_LINK

IDE_Libraryでは項目文字列と値文字列の間に一定以上の高さの空間が存在すると、それを超えてのリンク付けは行いません。その高さを本項目で指定できます(絶対値で指定)。単位はピクセルです。
MIN_UPPER_SPACE_HEIGHT_TO_LINKは、項目文字列に対して値文字列が上方向にある場合(DIR=U)、MIN_LOWER_SPACE_HEIGHT_TO_LINKは、項目文字列に対して値文字列が下方向にある場合(DIR=D)に適用されます。

本パラメータが設定されていない場合(デフォルト)は、ページ中のすべての文字列の高さの平均に対する割合が閾値となり、項目文字列に対して値文字列が上方向にある場合(DIR=U)は2倍、項目文字列に対して値文字列が下方向にある場合(DIR=D)は5倍です。

(11)TABLE_ITEM_NUM_TO_IGNORE_WORDS

複数の列にまたがる値文字列があった場合に、無視するかどうかの閾値を設定します。0また1が指定された場合は、複数列にまたがる値でも無視されません。

右記例の場合、
TABLE_ITEM_NUM_TO_IGNORE_WORDSに2を指定すると、以下の赤で囲まれた文字列は値文字列としては無視されます。
注意:
項目文字列のマージン(MARGIN)と本設定を合わせて使用する場合、上記の例でItem No.の左右にマージンが指定されて赤枠部分の文字列が分割されると、その値は無視されなくなります。

(12) MAX_YGRID_GAP_TO_LINK

項目文字列と値文字列の間に含まれる罫線の数の閾値を指定します。ここで指定した値以上の水平罫線がある場合は、項目文字列と値文字列間のリンクを行いません。

デフォルト値は”1”のため、下記例ではDescriptionの値としてCYL LIFT DOZER : BF SALEは抽出されません。
(間に線が3本あるため)

補足説明:
2つの水平線が近い場合(y座標の差が5ポイント以内)は、1本の線として扱います。(二重線等を想定)

注意:
ここでの「罫線情報」は、文字情報と同様に透明なオブジェクトとしてPDFに埋め込まれていることが前提です。印字されているだけではIDE_Libraryでは罫線情報として扱いません。

(13)RECORD_SEG_NODE_COUNT

レコード分割を行う値文字列数の閾値を指定します。
この数以上の値文字列が水平に並んだ場合、レコードの分割を行います。
右記例の場合、RECORD_SEG_NODE_COUNTに2を指定すると、青枠の通りレコードが分割されます。一方で、「Customer Reference No.」で始まる行の次の行からは値が一つしかないため、「Customer Reference No.」で始まる行と同じレコードIDとなります。

(14)USE_LINE_NUM_OF_FIRST_LINK

項目文字列-値文字列の連結を行う際に、項目文字列と最初の値文字列の間の罫線数を超えない範囲内でリンクを行うかどうかのパラメータです。

(1:有効(デフォルト)、0:無効)

1の場合、値文字列が項目文字列にリンクできるか判定する際、“最初の値との間の罫線の数”より多い場合はリンクを行いません。

(15)IV_SYMBOL_REGEX_ID

IDE_Libraryでは、下記条件に該当する場合に、項目文字列と値文字列が同一文字行内に共存していると判断し、分割処理を行います。

  • システムに定義された抽出キーワードと前方部分一致する
  • 上記一致した部分の一文字右が、単語境界を示唆する文字(=IV_SYMBOL_REGEX_IDに定義した正規表現定義)に合致する
  • 抽出キーワードと単語境界の記号を除いた文字列の長さが1文字以上

右記の例の場合、次の条件をすべて満たせば分割処理の対象となります。
”Support Term”が項目文字列として定義されているIV_SYMBOL_REGEX_IDに定義した正規表現定義に”:”が合致

(16)USE_HORIZONTAL_LINE_AS_LINE_BREAK

水平(横向き)の罫線を、レコードの区切りとして使用するかどうかのパラメータです。

(1:有効(デフォルト)、0:無効)

1の場合、水平(横向き)の罫線がある場合は、罫線の上下は異なるレコード(行)であると判断します。

(17)LOGICAL_OPERATOR_FOR_REQUIRED_METADATA

複数のメタデータにREQUIREDを定義した場合に適用される条件を設定します。

(1:AND条件、2:OR条件)

1の場合はAND条件となり、REQUIREDが指定されたメタデータすべてが値を持つレコードのみが抽出の対象となります。2の場合はOR条件となり、REQUIREDが指定されたメタデータのうち、1つでも値を持つメタデータのあるレコードが抽出の対象となります。

(18)LINE_RECOGNITION

メタデータ抽出の前処理として、イメージに含まれる罫線情報を抽出してPDFに埋め込む(追加する)処理を行うかどうかのパラメータです。

(1:有効、0:無効)

(19)REMOVE_EXIST_LINE

前述の罫線情報の付加を行う場合に、既存の罫線情報を削除するかどうかのパラメータです。

(1:有効、0:無効)

(20)DEFAULT_ERA

DATE_YMD型で、年号が指定されておらず、かつ年が2桁の場合に使用する年号を指定します。
指定がない場合は西暦として扱います。
指定は以下の有効な年号のいずれかで指定します。

 R(全角)、R(半角)、令和
 H(全角)H(半角)、平成
 S(全角)、S(半角)、昭和
 T(全角)、T(半角)、大正
 M(全角)、M(半角)、明治

不正な値を設定した場合、フォーマット変換は行われません。

(21)USE_LINE_DELIMITER_FOR_HORIZONTAL_CONCAT

PDF上で文字の間のスペースが一定以上の幅があると、半角スペースを区切り文字として結合します。この区切り文字として半角スペースではなく、複数行連結時の区切り文字を使用する場合に指定します。デフォルトでは、半角スペースを使用します。

 0: 区切り文字としてスペースを使用する
 1: レコードの連結に使用する区切り文字を使用する

(22)IGNORE_CHAR_IN_KEYWORD

キーワード抽出の判定時に無視する文字を指定します。
デフォルトでは、無視する文字はありません。
例えば、半角空白を指定する事で、キーワードの判定において、半角空白を無視します。

(23)IGNORED_KEYWORD      

抽出キーワードの検索時、及び値の抽出時に無視する文字列を指定します。
デフォルトでは、無視する文字はありません。
半角スペースで文字列を区切ることで複数登録することができます。

(24)NO_ADD_SPACE

入力文書に含まれる文字の文字間隔が一定の間隔である場合、通常は、文字の間に半角空白を埋め込みますが、半角空白の埋め込みを抑止したい場合にこのパラメータを指定します。0を指定すると、半角空白の埋め込みが行われなくなります。デフォルトは、「指定なし」で、文字間隔が一定の間隔である場合は、半角空白の埋め込みを行います。

例えば、「アライズ AIRead」という文字列があった場合、「アライズ」と「AIRead」の間(「ズ」と「A」の間)は、少し文字間隔があいています。実際に空白文字が入っている場合は、その空白文字は元々存在していた文字として扱われますが、空白文字が入っていない場合、空白文字を補います(ただし、文字間隔が一定の間隔である場合)。

本パラメータを「0」に指定することで、空白文字を補う動作を抑止することができます。

(25)CH_GRPH_SPACE_RATE_HORIZONTAL

文字間隔が広い場合、文字列が抽出キーワードとして判定されないことがあります。
このパラメータでは、抽出キーワードに指定された文字列の判定において、各文字間隔の許容値を指定します。 指定値は文字の高さに対する倍率で指定します。5.0の場合、文字の高さ×5.0の距離まで許容します。

ただし、文字と文字の間に半角空白が含まれている場合等には、半角空白を含む文字列として判定されてしまいます。例えば、「価」と「格」の間に半角空白が存在する場合には、「価 格」となるため、事前に「価 格」を抽出キーワードとして定義しておく必要があります。または、「IGNORE_CHAR_IN_KEYWORD」、「NO_ADD_SPACE」のパラメータを指定し、半角スペースを削除するよう設定する必要があります。

(26)MARGIN_BY_BOX_EXT

SET_MARGIN_BY_BOXが有効な場合、表のヘッダ部にキーワード以外の文字が含まれていると列幅を考慮せずにメタデータの抽出が行われます。
本パラメータに1を指定すると、表のヘッダ部(矩形内)にキーワード以外の文字が含まれている場合にも列幅のマージンを考慮してメタデータの抽出することができます。

 0:矩形内にキーワードのみの時に有効
 1:矩形内にキーワードが一つのみの時に有効

ただし、「KEYWORD_RANGE_CHECK」が指定されていない場合、上記例では、「価」を抽出キーワードとした際に、「格」がデータとして抽出されてしまいます。本パラメータの指定時には、併せて「KEYWORD_RANGE_CHECK」を指定することを推奨します。

(27)KEYWORD_RANGE_CHECK

抽出キーワードを用いてメタデータの抽出を行う際、キーワードの文字列付近の文字が誤って抽出されてしまう場合があります。
本パラメータでは、キーワードの文字列と近い位置の文字列を抽出対象とするか指定します。

 0:キーワードと重なる文字列も抽出します
 1:キーワードと重なる文字列は抽出しません

(28)REMOVE_SPACE_FOR_REGEX_MATCH

メタデータに対して正規表現を割り当てて抽出を行う際、文字列から半角空白を取り除いた上で判定を行うかを指定します。

 0:半角空白を取り除かず判定を行います
 1:半角空白を取り除いた上で判定を行います

(29)KEYWORD_REG_EXT

抽出キーワードを用いてメタデータの抽出を行う際、メタデータに対して割り当てられた正規表現に記憶(()にて囲まれた記述)が含まれている場合、記憶された文字列のみを抽出するか指定します。
本パラメータを指定する際には、「REMOVE_SPACE_FOR_REGEX_MATCH」についても併せて適用されます。

 0:正規表現に一致した文字列をそのまま抽出します。
 1:正規表現に一致した文字列のうち記憶された文字列のみを抽出します。

(30)KEYWORD_DTY_EXT

抽出キーワードを用いてメタデータの抽出を行う際、設定されたデータタイプにメタデータが一致しなかった場合に前後の文字列を削除して再判定するかを指定します。
本パラメータは、データタイプにNUMBER、DATE_YMD、DATE_MDY、DATE_DMY、PAGE、YEN、DOLLARが指定されている場合にのみ有効となります。(抽出キーワードを用いないメタデータ抽出の場合、標準で本パラメータが適用されています)

 0:前後の文字を削除することなく判定します。
 1:元の文字列がデータタイプに一致しなかった場合に、前後の文字を削除した上でデータタイプに一致するか再判定します。

5.5.4. データタイプの指定

メタデータ毎に値のデータ型(数字、通貨、日付等)を定義することができ、このデータ型をデータタイプと呼びます。メタデータ抽出時には、データ型に合致しているかどうかのバリデーションおよび抽出結果の整形を行います。
ただし、同じメタデータに正規表現が定義されている場合、正規表現に合致するかどうかのチェックが先に行われ、合致している場合はデータタイプによる整形処理の対象となりますが、合致していない場合は下記の整形処理の対象から外れます。
また、データ型に合致しているかどうかのバリデーションと、抽出結果の整形は独立して実施します(データ型に合致しなくても、抽出結果が整形されることもあります)。

定義できるデータタイプの種類と、各データタイプの仕様を以下に示します。

No.データタイプ名説明出力フォーマット(*1)
1STRING (文字列)デフォルトのデータタイプ
バリデーションを実施せず、抽出したそのものを値として扱う
2STRING_FIRST_LINE (単一行文字列)値が複数行の場合、1行目だけを抽出する文字列のうち、1行目
3STRING_FIRST_WORD
(単語)
1行目の1語目だけを抽出する文字列のうち、1行目の1語目
4NUMBER
(数値)
整数と小数-{0,1}[0-9]+(\.[0-9]+)*
5DOLLAR
(ドル)
米ドル、カナダドルなど、小数点付きの通貨-{0,1}[0-9]+\.[0-9]{2} (*3)
6DATE_YMD
(日付_年月日)
日付(年、月、日)yyyy-mm-dd
7DATE_MDY
(日付_月日年)
日付(月、日、年)yyyy-mm-dd
8DATE_DMY
(日付_日月年)
日付(日、月、年)yyyy-mm-dd
9PAGE
(ページ)
ページ番号pn/pc pn (ページ総数が取得できなかった場合)(*2)
10STRING_FIRST_LINE
_FIXED_COLUMN
固定桁数の文字列を抽出する抽出文字列(必要に応じ空白を追加)
11ALIAS他のメタデータを複製する他のメタデータの値
12STRING_SINGLE_LINE文字列中の指定行を抽出する文字列の内、指定された行
13YEN(円)円(整数表記する通貨)-{0,1}[0-9]+

*1 : 抽出結果をこのフォーマットに整形します。
*2 : pn:ページ番号、pc:総ページ数 を表します。
*3 : 小数点以下の桁数は、パラメータに指定した値により変動します。(デフォルト2)

(1) STRING

デフォルトのデータタイプです。データタイプの指定がない場合は、STRINGとして扱われます。抽出結果のバリデーションおよび整形は行わず、抽出した結果をそのまま出力します。値が複数行にわたる場合は、連結して1つの値として出力します。その際、半角スペースが区切り文字として設定されます。

 (2) STRING_FIRST_LINE

単一行文字列を表します。
抽出した値が単一行であればそのまま、複数行の場合は1行目のみを抽出結果とします。

(3) STRING_FIRST_WORD

単語を表します。
抽出した値が1語であればそのまま、2語以上の場合は1語目のみを抽出結果とします。

(4) NUMBER

数値(整数と小数)を表します。
抽出した値が、想定フォーマットに合致するかどうかバリデーションを行い、合致する場合出力フォーマット(-{0,1}[0-9]+(\.[0-9]+)*)に変換して出力します。合致しない場合は、フォーマット変換は行いません。なお、半角丸型括弧「()」および半角山型括弧「<>」に囲まれている場合は負の数として扱います。

No.想定フォーマット合致する例
1-{0,1}[0-9]+123
2-{0,1}[0-9]*\.[0-9]+-5.00
3-{0,1}[0-9]{1,3}(,[0-9]{3})*1,890
4-{0,1}[0-9]{1,3}(,[0-9]{3})*\.[0-9]+-530,636.12
5([0-9]+)(420)
6([0-9]*\.[0-9]+)(236.32)
7([0-9]{1,3}(,[0-9]{3})*)(2,237)
8([0-9]{1,3}(,[0-9]{3})*\.[0-9]+)(1,100,000.00)
9[0-9]+ -{0,1}123-
10[0-9]*\.[0-9]+ -{0,1}5.00-
11[0-9]{1,3}(,[0-9]{3})*-{0,1}1,890-
12[0-9]{1,3}(,[0-9]{3})*\.[0-9]+ -{0,1}530,636.12-
13<[0-9]+><420>
14<[0-9]*\.[0-9]+><236.32>
15<[0-9]{1,3}(,[0-9]{3})*><2,237>
16<[0-9]{1,3}(,[0-9]{3})*\.[0-9]+><1,100,000.00>
  • 抽出結果に含まれる”,(カンマ)”の位置が(数値表現として)誤っている場合、”,”はすべて削除し、フォーマットエラーとして扱います。
  • 抽出結果に2つ以上の”.(ピリオド)”が含まれている場合、最も右にあるものを除いて”.”はすべて削除し、フォーマットエラーとして扱います。
  • “-(マイナス)”と1文字目または末尾の数字の間のスペース、カッコ前後のスペースは無視されます。
  • NUMBER型でサポートするのは、整数部分と小数部分合わせて16桁までです。16桁を超える場合、17桁目以降の値は保証対象外となります。

(5) DOLLAR

アメリカドル、カナダドル等、小数点以下1桁以上の通貨を表します。(小数点以下の桁数は、デフォルト2)
抽出した値が、想定フォーマットに合致するかどうかバリデーションを行い、合致する場合出力フォーマット(-{0,1}[0-9]+\.[0-9]{2})に変換して出力します。合致しない場合は、フォーマット変換は行いません。なお、半角丸型括弧「()」および半角山型括弧「<>」に囲まれているか、前後に「C」または「CR」と記載されている場合は負の数として扱います。

No.想定フォーマット (*3)合致する例
1-{0,1}<DM>{0,1}[0-9]+\.[0-9]{2}$123.00
2-{0,1}<DM>{0,1}[0-9]{1,3}(,[0-9]{3})*\.[0-9]{2}-$53,589.00
3<DM>{0,1}-{0,1}[0-9]+\.[0-9]{2}$1,890.00
4<DM>{0,1}-{0,1}[0-9]{1,3}(,[0-9]{3})*\.[0-9]{2}$-530,636.12
5({0,1}<DM>{0,1}[0-9]+\.[0-9]{2})($420.00)
6({0,1}<DM>{0,1}[0-9]{1,3}(,[0-9]{3})*\.[0-9]{2})($236,300.32)
7<DM>{0,1}\( [0-9]*\.[0-9]{2}\)$(530.00)
8<DM>{0,1}\([0-9]{1,3}(,[0-9]{3})*\.[0-9]{2}\)$(23,572.00)
9<DM>{0,1}[0-9]+\.[0-9]{2}-$123.00-
10<DM>{0,1}[0-9]{1,3}(,[0-9]{3})*\.[0-9]{2}-$53,589.00-
11<DM>{0,1}[0-9]+\.[0-9]{2}(C|CR)$123.00CR
12<DM>{0,1}[0-9]{1,3}(,[0-9]{3})*\.[0-9]{2}(C|CR)$53,589.00C
13(C|CR)<DM>{0,1}[0-9]+\.[0-9]{2}CR$123.00
14(C|CR)<DM>{0,1}[0-9]{1,3}(,[0-9]{3})*\.[0-9]{2}C$53,589.00
15<DM>{0,1}(C|CR) [0-9]+\.[0-9]{2}$CR123.00
16<DM>{0,1}(C|CR) [0-9]{1,3}(,[0-9]{3})*\.[0-9]{2}$C53,589.00
17<{0,1}<DM>{0,1}[0-9]+\.[0-9]{2}><$420.00>
18<{0,1}<DM>{0,1}[0-9]{1,3}(,[0-9]{3})*\.[0-9]{2}><$236,300.32>

(*3) <DM>部分に入る文字は、下記の通貨記号です。
$, USD, CAD, CDN, USD $, CAD $, CDN $

  • 抽出結果に含まれる”,(カンマ)”の位置が(数値表現として)誤っている場合、”,”はすべて削除し、フォーマットエラーとして扱います。
  • 抽出結果に2つ以上の”.(ピリオド)”が含まれているか、ピリオドの位置が誤っている場合、すべての”.”を削除し、かつ指定された小数点以下の桁数となるように”.”を付加します。加えてフォーマットエラーとして扱います。また、”.(ピリオド)”および”,(カンマ)”をすべて削除すると抽出結果が小数点以下桁数未満になる場合、”.”の付加は行わずフォーマットエラーとして扱います。
  • “-(マイナス)”と”$(ドル)”の間のスペース、“-(マイナス)”と1文字目または末尾の数字の間のスペースは無視されます。
  • 小数点以下の桁数は、本データタイプのオプションとして指定します。
  • DOLLAR型でサポートするのは、整数部分と小数部分合わせて16桁までです。16桁を超える場合、17桁目以降の値は保証対象外となります。
  • 指定できる小数点以下の桁数に上限はありませんが(下限は1)、上述の制限事項を考慮に入れ、16-(整数部分の想定最大桁数)で設定することを推奨します。

注意:
本データタイプは、小数点が記載されることを前提に処理を行います。そのため、 $340 など整数で書かれているデータを抽出した場合も、フォーマット補正により抽出結果は 3.40 (小数点以下桁数が2の場合)になります。

(6) DATE_YMD

日付で、年、月、日の順のものを表します。年は西暦と和暦に対応します。
抽出した値が、想定フォーマットに合致するかどうかバリデーションを行い、合致する場合出力フォーマット(yyyy-mm-dd)に変換して出力します。合致しない場合、またフォーマットは正しいが日付として無効な場合(2015/2/31など)は、日付として有効になるよう変換を試みます(ただしできない場合は、変換を行いません)。

No.想定フォーマット合致する例
1y/m/d2015/1/16
2y-m-d15-1-16
3y m d2015 1 16
4y.m.d2015.1.16
5g/m/dH27/1/16
6g-m-dH27-1-16
7g m dH27 1 16
8g.m.dH27.1.16
9g年m月d日平成27年1月16日

なおy,m,dは日付(DATE)型で共通で、javaのYear、Month、Numberフォーマットの仕様にそれぞれ準拠します。

 (7) DATE_MDY

日付で、月、日、年の順のものを表します。
抽出した値が、想定フォーマットに合致するかどうかバリデーションを行い、合致する場合出力フォーマット(yyyy-mm-dd)に変換して出力します。合致しない場合、またフォーマットは正しいが日付として無効な場合(2/31/2015など)は、日付として有効になるよう変換を試みます(ただしできない場合は、変換を行いません)。

No.想定フォーマット合致する例
1m/d/y2/21/2015
2m-d-y02-21-15
3m d yFebruary 21 2015
4m.d.yFeb.21.2015
5m d,yFebruary 21,2015

 (8) DATE_DMY

日付で、日、月、年の順のものを表します。
抽出した値が、想定フォーマットに合致するかどうかバリデーションを行い、合致する場合出力フォーマット(yyyy-mm-dd)に変換して出力します。合致しない場合、またフォーマットは正しいが日付として無効な場合(31/2/2015など)は、日付として有効になるよう変換を試みます(ただしできない場合は、変換を行いません)。

No.想定フォーマット合致する例
1d/m/y31/03/2015
2d-m-y31-Mar-2015
3d m y31 March 15
4d.m.y31.3.2015
5d.m y31.March 2015

(9) PAGE

ページ番号(pn)とページ総数(pc、ある場合)を表します。
抽出した値が、想定フォーマットに合致するかどうかバリデーションを行い、合致する場合出力フォーマット(pn/pc)に変換して出力します。合致しない場合は、フォーマット変換は行いません。

No.想定フォーマット合致する例
1pn/pc1/5
2pn / pc1 / 5
3pn of pc1 of 5
4pn (pc)1 (5)
5pn1
  • pnとpcの値の妥当性(pn ≦ pc)はチェックしていません。抽出した値をそのまま返します。

(10) STRING_FIRST_LINE_FIXED_COLUMN

固定桁数の文字列を表し、値内に空白がある場合はその位置に半角スペースを埋めて出力します。例を以下に示します。

該当するメタデータは、抽出キーワード、値(固定桁数分揃った場合)とも同じ幅であることを前提とします(上記例の場合は、「個人番号」が枠いっぱいの幅で出力されている必要があります)、個々の値はその幅内に均等に出力されているものと仮定して処理を行います。
結果、上記データで、固定桁数を”12”に設定すると、値内に空白があった場合にはその箇所を検出してメタデータの値にも半角空白を設定します。

(11) ALIAS

別のメタデータの値を複製することを表します。抽出結果にかかわらず、指定されたメタデータの値をすべてコピーして値とします。

(12) STRING_SINGLE_LINE

文字列のうち、指定された行の値のみを抽出することを表します。行番号として、1以上の整数または-1が指定でき、-1は最終行を示します。指定された行が抽出結果に存在しない場合(3を指定したが、値が2行しかない場合)は、抽出結果はnullとなります。

(13) YEN

日本円を表します。
抽出した値が、想定フォーマットに合致するかどうかバリデーションを行い、合致する場合出力フォーマット(-{0,1}[0-9]+)に変換して出力します。合致しない場合は、フォーマット変換は行いません。なお、半角丸型括弧「()」および半角山型括弧「<>」に囲まれているか、前後に「C」または「CR」と記載されている場合は負の数として扱います。

No.想定フォーマット (*3)合致する例
1^(-|―|ー|-|CR|C)? ? <YM> ?[0-9]+ $¥1000, -¥1000
2^(-|―|ー|-|CR|C)? ? <YM> ?[0-9]{1,3}(,[0-9]{3})*¥1,000,-¥1,000
3^<YM> ?(-|―|ー|-|CR|C)? ?[0-9]$¥1000, ¥-1000
4^<YM> ?(-|―|ー|-|CR|C)? ?[0-9]{1,3}(,[0-9]{3})*¥1000, -¥1000
5^(-|―|ー|-|CR|C)? ?[0-9]+ ? <YM>$1000円, -1000円
6^(-|―|ー|-|CR|C)? ?[0-9]{1,3}(,[0-9]{3})* ? <YM>$1,000円, -1,000円
7^<YM> ?[0-9]+ ?(-|―|ー|-)?$¥1000, ¥1000-
8^<YM> ?[0-9]{1,3}(,[0-9]{3})* ?(-|―|ー|-)?$¥1,000, ¥1,000-
9^\\( ? <YM> ?[0-9]+ ?\\)$(¥1000)
10^\\( ? <YM> ?[0-9]+ ?\\)$¥(1000)
11^\\( ? <YM> ?[0-9]{1,3}(,[0-9]{3})* ?\\)$(¥1,000)
12^<YM> ?\\( ?[0-9]{1,3}(,[0-9]{3})* ?\\)$¥(1,000)
13^\\( ?[0-9]{1,3}(,[0-9]{3})* ? <YM> ?\\)$(1,000円)
14^\\( ?[0-9]{1,3}(,[0-9]{3})* ?\\) ? <YM>$(1,000)円
15^< ? <YM> ?[0-9]+ ?>$<¥1000>
16^< ? <YM> ?[0-9]+ ?>$¥<1000>
17^< ? <YM> ?[0-9]{1,3}(,[0-9]{3})* ?>$<¥1,000>
18^<YM> ?< ?[0-9]{1,3}(,[0-9]{3})* ?>$¥<1,000>
19^< ?[0-9]{1,3}(,[0-9]{3})* ? <YM> ?>$<1,000円>
20^< ?[0-9]{1,3}(,[0-9]{3})* ?> ? <YM>$<1,000>円

(*3) <YM>部分に入る文字は、下記の円記号です。
¥(半角/全角), YEN, JPY, 円

  • 抽出結果に含まれる”,(カンマ)”の位置が(数値表現として)誤っている場合、”,”はすべて削除し、フォーマットエラーとして扱います。
  • 抽出結果に”.(ピリオド)”が含まれている場合、すべての”.”を削除しフォーマットエラーとして扱います。
  • “-(マイナス)”と”¥”の間のスペースは無視されます。
  • YEN型でサポートするのは16桁までです。16桁を超える場合、17桁目以降の値は保証対象外となります。

補足情報:
NUMBER、DOLLAR、DATE_YMD、DATE_MDY、DATE_DMY、PAGE、YENの各データタイプが指定された場合、OCR誤認識を想定して下記表の通りにデータの変換を行います。ただし、データの変換を行った結果に数字と各フォーマットで使用する記号以外の文字が含まれている場合、データ変換は行われません。

No.オリジナルデータ修正後の文字
1!1
2|1
31
4I1
5l1
6i1
7B8
8O0
9o0
10@0
11
12

(14) SUB_KEYWORD_DIR
(15) SUB_KEYWORD_NEAR

指定したメタデータで「DATATYPE_VALUE」パラメータの指定を行うことができます。
SUB_KEYWORD_DIRを使用する場合、追加の抽出条件を定義することができます。
SUB_KEYWORD_NEARを使用する場合、抽出された文字列 と 抽出された文字列の下1列を抽出し結合します。

5.6. システム設定

“項目名=値”の書式で記載します。

  • ファイル名:<AIREAD_HOME>\IDELibrary\dicset\conf\kme.conf
No.キー名内容指定補足
1JAVA_EXE_PATHJavaコマンドのパス必須絶対パス
2DUMP_ELEM_JAR_PATHDumpElem.jarファイルのパス任意(*)絶対パス
3DUMP_ELEM_PY_PATHDumpElem.pyファイルのパス任意(*)絶対パス
4MKDARTS_ITEM_COMMAND_PATHmkdarts-itemファイルのパス必須絶対パス
5TIMEOUT_DEFAULT抽出処理メソッドのタイムアウトデフォルト値(単位:ミリ秒)
600000(10分)以下の数値を指定する
任意設定なしの場合、5000 (5秒)
6DELETE_TEMPFILE_DURING_INIT中間ファイルを削除するかどうかのパラメータ
true(削除する)かfalse(削除しない)で指定
任意設定なしの場合、true(削除する)
7KEYWORD_SPACE_DEL文書種別判定を行う際、文書内の文字列に含まれる半角空白・全角空白を無視するかどうかを指定
trueを指定すると無視し、falseを指定すると無視する
任意設定なしの場合、false
8KEYWORD_REG_USE文書種別判定を行うためのキーワードセットに指定した文字列を正規表現として解釈するようにするかどうかを指定
trueを指定すると正規表現として解釈し、falseを指定すると文字列として解釈する
任意設定なしの場合、false
9KEYWORD_CR_DEL文書種別判定を行う際、文書内の文字列に含まれる改行コードを無視するかどうかを指定する
trueを指定すると無視し、falseを指定すると無視しない
任意設定なしの場合、false


6. 出力

OCRの結果をOUTPUTフォルダへ出力します。

6.1. 共通

すべての形式で出力される項目です。

No.項目名説明
1Imageファイル名(複数ページファイルの場合はページ分割後)
2Image_jshfilenameファイルパス(処理成功/失敗移動先)
3modifyDateインプットファイルの更新日時
yyyy-MM-ddThh:mm:ss
4processDate処理完了日時
yyyy-MM-ddThh:mm:ss
5resulttrue:処理成功
false:処理失敗
6originalinputファイル名
7original_jshfilenameinputファイルパス(デバッグフォルダ内へ移動)
8Image_for_display表示用画像の絶対パス
表示用画像の生成時に自動でヘッダ項目に追加される
複数ページ画像が入力の場合、最終ページのCSVにのみ記載される(表示用画像は複数ページ画像が入力の場合、常に複数ページPDFを生成するため)

※共通設定ファイルにて出力する項目の変更が可能です。

デフォルト:HEADER_ITEM= Image, Image_jshfilename, modifyDate, processDate, result

6.2. CSV

AIRead独自のCSV形式で出力されます。

  • OUTPUT_FORMAT:CSV
  • 項目:
No.項目名説明
1ItemName項目名
2Page該当のメタデータが出現するページの番号(0 開始)
3GIDフォーマット定義ファイルで指定したグループID
4RIDフォーマット定義ファイルで指定したレコードID
5Value取得した値
6conf文字認識の信頼度
値が大きいほど正解している可能性が高い(MAX100)
※チェックマークの場合はテンプレート領域に対する黒領域の割合(数値)
7x抽出範囲の左上の点のx座標(ピクセル)
8y抽出範囲の左上の点のy座標(ピクセル)
9w抽出範囲の幅(ピクセル)
10h抽出範囲の高さ(ピクセル)
11ImagePathコンポーネント画像のパス
CREATE_HW_COMP_IMAGE=falseの場合の値はnull
12TableName明細名(座標指定ではGIDと同じ値が自動的に出力されます)

※共通設定ファイルにて出力する項目の変更が可能です。

デフォルト:CSV_COLUMN_ITEM=ItemName,Page,GID,RID, Value,conf,x,y,w,h

  • 出力イメージ:
“ItemName”,”Page”,”GID”,”RID”,”Value”,”conf”,”x”,”y”,”w”,”h”
“Image”,”-1″,”-1″,”-1″,”sample1.jpg”,”-1″,”-1″,”-1″,”-1″,”-1″
“Image_jshfilename”,”-1″,”-1″,”-1″,”C:\AIRead\success\sample1.jpg”,”-1″,”-1″,”-1″,”-1″,”-1″
“modifyDate”,”-1″,”-1″,”-1″,”2018-08-16T18:10:27″,”-1″,”-1″,”-1″,”-1″,”-1″
“processDate”,”-1″,”-1″,”-1″,”2018-08-25T00:28:27″,”-1″,”-1″,”-1″,”-1″,”-1″
“result”,”-1″,”-1″,”-1″,”true”,”-1″,”-1″,”-1″,”-1″,”-1″
“id”,”0″,””,”-1″,”order”,”100″,”-1″,”-1″,”-1″,”-1″
“tok_cd”,”0″,””,”-1″,”100″,”97″,”307″,”688″,”510″,”170″
“Tel”,”0″,””,”-1″,”03-2345-6789″,”95″,”307″,”951″,”1450″,”170″
“Month”,”0″,””,”-1″,”10″,”97″,”307″,”1207″,”200″,”170″
“Day”,”0″,””,”-1″,”31″,”99″,”620″,”1207″,”200″,”170″
“haikb”,”0″,””,”-1″,”1″,”99″,”938″,”1207″,”85″,”170″
“timekb”,”0″,””,”-1″,”3″,”99″,”1350″,”1207″,”85″,”170″
“Itemcd0″,”0″,”detail”,”0″,”123″,”100″,”407″,”1745″,”627″,”170″
“Amount0″,”0″,”detail”,”0″,”30″,”100″,”2015″,”1745″,”623″,”170″
“Wrapping0″,”0″,”detail”,”0″,”20″,”100″,”2687″,”1745″,”314″,”170″

6.3. CSV4DB

一般的なカンマ区切りのCSV形式です。
1ページ1行で出力します。

  • OUTPUT_FORMAT: CSV4DB
  • 出力イメージ:ヘッダー
“page”,”id”,”tok_cd”,”Tel”,”Month”,”Day”,”haikb”,”timekb”
“0”,”order”,”1 00″,”03 – 2345 – 6789″,”1 0″,”3 1″,”1″,”3″
“1”,”order”,”1 00″,”03 – 2345 – 6789″,”1 0″,”3 1″,”1″,”3″
“2”,”order”,”1 00″,”03 – 2345 – 6789″,”1 0″,”3 1″,”1″,”3″
  • 出力イメージ:明細
“page”,”Itemcd”,”Amount”,”Wrapping”
“0”,”123″,”30″,”20″
“0”,”678″,”150″,”70″
“0”,”543″,”80″,”100″
“0”,”234″,”95″,”30″
“0”,””,””,””
“0”,””,””,””
“0”,””,””,””
“0”,””,””,””
“0”,””,””,””
“0”,””,””,””
“0”,””,””,””
“0”,””,””,””
“0”,””,””,””
“0”,””,””,””
“0”,””,””,””
“1”,”123″,”30″,”20″
“1”,”678″,”150″,”70″
“1”,”543″,”80″,”100″
“1”,”234″,”95″,”30″
“1”,””,””,””
“1”,””,””,””
“1”,””,””,””
“1”,””,””,””
“1”,””,””,””
“1”,””,””,””
“1”,””,””,””
“1”,””,””,””
“1”,””,””,””
“1”,””,””,””
“1”,””,””,””
“2”,”123″,”30″,”20″
“2”,”678″,”150″,”70″
“2”,”543″,”80″,”100″
“2”,”234″,”95″,”30″
“2”,””,””,””
“2”,””,””,””
“2”,””,””,””
“2”,””,””,””
“2”,””,””,””
“2”,””,””,””
“2”,””,””,””
“2”,””,””,””
“2”,””,””,””
“2”,””,””,””
“2”,””,””,”””page”,”id”,”tok_cd”,”Tel”,”Month”,”Day”,”haikb”,”timekb”
“0”,”order”,”1 00″,”03 – 2345 – 6789″,”1 0″,”3 1″,”1″,”3″
“1”,”order”,”1 00″,”03 – 2345 – 6789″,”1 0″,”3 1″,”1″,”3″
“2”,”order”,”1 00″,”03 – 2345 – 6789″,”1 0″,”3 1″,”1″,”3″

6.4. XML

XML形式で出力します。

  • OUTPUT_FORMAT: XML
  • 項目:
No.項目名説明
1field 
2id項目名
3conf文字認識の信頼度
値が大きいほど正解している可能性が高い(MAX100)
※チェックマークを指定している場合はテンプレート領域に対する黒領域の割合(数値)
4x抽出範囲の左上の点のx座標(ピクセル)
5y抽出範囲の左上の点のy座標(ピクセル)
6width抽出範囲の幅(ピクセル)
7hight抽出範囲の高さ(ピクセル)
8value取得した値
<?xml version=”1.0″ encoding=”UTF-8″ standalone=”no”?>
<order>
  <Image>sample1.jpg</Image>
  <Image_jshfilename>C:/AIRead/success/sample1.jpg</Image_jshfilename>
  <modifyDate>2018-08-16T18:10:28</modifyDate>
  <processDate>2018-10-22T20:51:21</processDate>
  <result>true</result>
  • 出力イメージ:
 <id>order</id>
<field conf=”98″ height=”170″ id=”tok_cd” width=”510″ x=”307″ y=”688″>
    <value>100</value>
 </field>
 <field conf=”97″ height=”170″ id=”Tel” width=”1450″ x=”307″ y=”951″>
    <value>03-2345-6789</value>
  </field>
  <field conf=”99″ height=”170″ id=”Month” width=”200″ x=”307″ y=”1207″>
    <value>10</value>
  </field>
  <field conf=”100″ height=”170″ id=”Day” width=”200″ x=”620″ y=”1207″>
    <value/>
  </field>
<field conf=”100″ height=”170″ id=”haikb” width=”85″ x=”938″ y=”1207″>
    <value/>
 </field>
 <field conf=”100″ height=”170″ id=”timekb” width=”85″ x=”1350″ y=”1207″>
    <value/>
 </field>
 <detail>
    <row id=”0″>
      <field conf=”99″ height=”170″ id=”Itemcd0″ width=”627″ x=”407″ y=”1745″>
        <value>123</value>
      </field>
      <field conf=”99″ height=”170″ id=”Amount0″ width=”623″ x=”2015″ y=”1745″>
        <value>30</value>
      </field>
      <field conf=”99″ height=”170″ id=”Wrapping0″ width=”314″ x=”2687″ y=”1745″>
        <value>20</value>
      </field>
    </row>

6.5. XML for WAGBY

 AIRead Screen Designer(Wagby)との連携が可能なXML形式で出力します。
 ※”Wagby”とはノンプログラミングでWeb業務アプリケーションを開発できるツールです。

  • OUTPUT_FORMAT: XMLWAGBY
  • 項目:
No.項目名説明
1[ItemName]_conf文字認識の信頼度
値が大きいほど正解している可能性が高い(MAX100)
※チェックマークの場合はテンプレート領域に対する黒領域の割合(数値)
  • 出力イメージ:
<?xml version=”1.0″ encoding=”UTF-8″ standalone=”no”?>
<order>
  <Image>sample1.jpg</Image>
  <Image_jshfilename>C:/AIRead/success/sample1.jpg</Image_jshfilename>
  <modifyDate>2018-08-16T18:10:28</modifyDate>
  <processDate>2018-10-22T21:00:08</processDate>
  <result>true</result>
  <id>order</id>
  <id_conf>100</id_conf>
  <tok_cd>100</tok_cd>
  <tok_cd_conf>98</tok_cd_conf>
  <Tel>03-2345-6789</Tel>
  <Tel_conf>97</Tel_conf>
  <Month>10</Month>
  <Month_conf>99</Month_conf>
  <Day/>
  <haikb/>
  <timekb/>

  <detail>
    <Itemcd0>123</Itemcd0>
    <Itemcd0_conf>99</Itemcd0_conf>
    <Amount0>30</Amount0>
    <Amount0_conf>99</Amount0_conf>
    <Wrapping0>20</Wrapping0>
    <Wrapping0_conf>99</Wrapping0_conf>
  </detail>

7. AIRead Viewer付OCR機能

batで実行した出力結果をAIRead Viewer(以下 Viewer)で結果を確認しながら、修正を行うことができます。

7.1. Viewer付OCR 実行batファイル

実行結果をViewerで表示する際は、<AIReadインストールフォルダ>\run_kw_with_viewer.bat でOCRを実行します。

7.2. Viewer付OCRの実行

引数を指定し、run_kw_with_viewer.bat/run_with_viewer.bat をダブルクリックで実行します。
Viewer付OCRの実行時は、引数の指定先を変更してください。

7.2.1. run_kw_with_viewer.bat

call “%AIREAD_HOME%\IDELibrary\scripts\set_envs.bat”

“%AIREAD_HOME%/Viewer/OcrExecuter/OcrExecuter.exe” -kw –documentidpath [ルール定義ファイル]

–imagefile [画像ファイルパス] –settingfile [SettingFile]
No.引数説明
1–documentidpath [フォーマット定義ファイル]OCR時に抽出を行うルール定義ファイルのパスを指定
2-1–imagefile [画像ファイルパス]読み取り対象の画像のファイルパスを指定
2-2–imagedir [画像フォルダパス]読み取り対象の画像が格納されたフォルダのパスを指定
3–settingfile [SettingFile]共通設定ファイルを指定

7.2.2. run_with_viewer.bat

call “%AIREAD_HOME%\IDELibrary\scripts\set_envs.bat”

“%AIREAD_HOME%/Viewer/OcrExecuter/OcrExecuter.exe” -kw –formatfile [フォーマット定義ファイル]

–imagefile [画像ファイルパス] –settingfile [SettingFile]
No.引数説明
1–formatfile [フォーマット定義ファイル]OCR時に抽出を行うフォーマット定義ファイルのパスを指定
2-1–imagefile [画像ファイルパス]読み取り対象の画像のファイルパスを指定
2-2–imagedir [画像フォルダパス]読み取り対象の画像が格納されたフォルダのパスを指定
3–settingfile [SettingFile]共通設定ファイルを指定

※–imagefile と –imagedir はどちらか一方を指定します

7.3. Viewer上での確認

5.2.11 AIReadの実行結果を確認を参照ください。

7.4. サーバ上の読み取り結果を複数のクライアント端末から編集

サーバ上にインストールされたAIRead で読み取った結果を複数のクライアント端末から編集することができます。

  • 前提条件
    サーバ上の読み取り結果が配置されたフォルダは、各クライアント端末と共有されている必要があります。
    サーバの実行環境、各クライアント端末には、AIRead v3.1.0.0 以降のバージョンのインストールも必須です。

7.4.1. 操作手順

AIRead をインストールしたクライアント端末のスタートメニューにある、AIRead のショートカットリンクを開きます。

AIRead Viewer のショートカットリンクを右クリックし、その他 > ファイルの場所 を開きます。

C:\ProgramData\Microsoft\Windows\Start Menu\Programs\AIRead が表示されます。

AIRead Viewer のショートカットを右クリックし、プロパティを表示してください。

プロパティに表示されているリンク先を変更してください。

<AIREAD_HOME>\Viewer\AIReadViewer\AIReadViewer.exe –language ja-JP
–dataDir サーバ上のViewer用結果が配置されたフォルダ

複数端末からサーバ上の結果を編集する際には、排他制御がかかります。

8. 仕分け付きOCR機能

8.1. 仕分けの概要

8.1.1. 処理の流れ

  1. 入力画像が複数ページであれば、ページごとに分割
  2. 画像がTIFFであれば、DPI変換
    ※「TIFFを300DPIに変換してからOCRを実行する」を設定している場合
  3. 画像の回転補正
    ※「回転補正を行う」を設定している場合
  4. 3.の画像でフォーマット判定
  5. 判定に成功したら、フォーマットの帳票定義を使ってOCRを行う
  6. 判定に失敗した場合、失敗フォルダに入力画像を移動する

8.1.2. 仕分けの判定について

フォーマット判定は 2段階 に分かれております。
1段階目では大まかな仕分けを行います。
画像全体から特徴的な箇所(特徴点)を抽出し、各テンプレート画像と入力画像を比較して最も特徴点の数がマッチした画像を持つグループに判定します。

2段階目では詳細仕分けを行います。
グループ内の画像に対して色または指定領域のみでの画像比較を行います。


での判定は、画像の見た目はほとんど似ているが色違いの帳票を判別したい場合に使います。
指定領域での画像比較 は、特定の場所に会社のロゴ等判別しやすい箇所がある場合に使います。
なお、下図のグループ2-詳細1のように、グループに属する画像が1つしかない場合は詳細な判定は行わずに判定結果が確定します。

8.2. 仕分け定義フォルダの構成

仕分けの定義は仕分け定義フォルダで行います。
仕分け定義フォルダは以下の通りに構成します。
仕分け定義フォルダの配置場所は任意ですが、フォルダの絶対パスに日本語を含まないでください。

?ClassifyDir                 ——— 1. 仕分け定義フォルダ
├?option.csv (固定名)                                      ——— 2. 仕分け定義ファイル
├?setting.ini (固定名)                                       ——— 3. 仕分け設定ファイル
└?Templates (固定名)                                       ——— 4. テンプレートフォルダ
 └?1                                                             ——— 5. 大まかな仕分けフォルダ
  └?1                                                          ——— 6. 詳細仕分けフォルダ
   └? template.jpg (固定名)                         ——— 7. テンプレート画像
  └?2
   └? template.jpg(固定名)
 └?2
  └?1
   └? template.jpg (固定名)
                                               

No.名称説明
1仕分け定義フォルダ仕分け定義を格納するフォルダ
半角英数字、(ハイフン)、_(アンダースコア)、.(ピリオド)、#(シャープ)、&(アンパサンド)で指定可能
2仕分け定義ファイルテンプレート画像に紐づく仕分け定義を記載したファイル(csv形式)
3仕分け設定ファイル仕分けに使用する設定を記載する
4テンプレートフォルダテンプレート画像を格納するフォルダ
5大まかな仕分けフォルダ大まかな仕分けのグループを表すフォルダ
数字で1,2…と順につける
6詳細仕分けフォルダ詳細仕分けの画像を配置するフォルダ
数字で1,2…と順につける
7テンプレート画像入力画像と比較するテンプレート画像
ファイルの名前は template から始まるように名称固定

8.3. AIRead SortingEditor で仕分け定義を設定

AIRead SortingEditor は、画像の仕分け設定を行うことのできるツールです。
また、RuleEditor/FormEditor で作成した定義情報を用いて、仕分け付のAIRead実行が可能です。

8.3.1. SortingEditor の起動

<AIREAD_HOME>\SortingEditor\AIReadSortingEditor.exe をダブルクリック、もしくはスタートメニューのショートカットから起動
します。

SortingEditor を起動すると、下記の画面が表示されます。

RuleEditor/FormEditor で作成済みの定義が存在する場合は、Form選択欄に表示されます。

8.3.2. SortingEditor の操作

8.3.2.1. 仕分け定義の作成

仕分け定義を新規作成する場合は、新規作成を押下するとダイアログが表示されます。
ダイアログ上で仕分け定義の作成先を指定し、任意の名称で仕分け定義を作成します。

No.名称説明
1保管場所仕分け定義の作成先を指定する
2仕分名作成する仕分け定義名を入力する
半角英数字、(ハイフン)、_(アンダースコア)、.(ピリオド)、#(シャープ)、&(アンパサンド)のみ使用可能
8.3.2.2. 仕分け定義の選択

開く ボタンを押下すると、フォルダ選択ダイアログが開かれます。
使用する仕分け定義フォルダを選択してください。

8.3.2.3. 共通設定ファイルの指定

AIReadの実行、RuleEditor/FormEditorで作成した定義との紐づけ、画像の仕分けに使用する共通設定ファイルを指定します。
共通設定ファイル ボタンを押すと、共通設定ファイル選択ダイアログを表示します。

参照 ボタンから使用する共通設定ファイルを選択します。

8.3.2.4. 仕分け定義の保存

保存 を押下すると、編集済みの仕分け定義が保存されます。
仕分け定義を変更した場合は、必ず保存してください。

8.3.3. Formの選択

共通設定ファイルによって指定された定義フォルダに配置された定義情報が、Form選択欄に表示されます。
仕分け定義フォルダに仕分け設定として紐づける定義情報にチェックを入力してください。

8.3.4. グループの作成

大まかな仕分けで仕分けを行うグループを作成します。
作成したグループは仕分け設定画面で、各定義情報に紐づけを行います。

No.項目名説明
1グループ作成大まかな仕分けで仕分けを行うグループを作成する
2グループ一覧作成したグループが表示される
3グループ削除グループを削除する
4グループ選択中のグループ名が表示される
グループ名は任意の名称で変更可能
5◀ ▶ (画像送り)表示する画像を選択する
6+ -
(画像上で Ctrlキー + マウスホイール操作)
画像を拡大/縮小する

8.3.5. 仕分け設定

Form選択でチェックを入力した定義情報が表示されます。
また、詳細仕分けで作成したグループを各定義情報へ紐づけます。

No.項目名説明
1Template追加選択中の仕分け設定に紐づけるテンプレート画像を追加する
追加されたテンプレート画像は画像仕分けを行う際にも使用される
2Template削除画面で表示中のテンプレート画像を削除する
3仕分け設定一覧Form選択画面でチェックを入れた定義情報が表示される
F:定義情報名 FormEditor で作成した定義情報(定型読み取りに使用)
R:定義情報名 RuleEditor で作成した定義情報(非定型読み取りに使用)
4グループ詳細設定画面で作成するグループを仕分け設定に紐づける
グループを紐づける場合は、予め詳細仕分け画面でグループを作成する必要がある
5◀ ▶ (画像送り)表示する画像を選択する
6+ -
(画像上で Ctrlキー + マウスホイール操作)
画像を拡大/縮小する
8.3.5.1. 定義情報とグループの紐づけ

作成したグループは、表示中の定義情報へ紐づけを行う必要があります。
ドロップダウンから作成済みのグループを紐づけてください。

8.3.6. 詳細仕分け設定

作成したグループで詳細仕分けを行う場合、色もしくは、指定領域での画像比較で設定を行う必要があります。

No.項目名説明
1詳細仕分けの方法
詳細仕分けを指定しない詳細仕分けは行わない
グループに属する定義情報が1つしかない場合は詳細な仕分けは不要
色で詳細仕分けをするグループに属する定義情報が2つ以上ある場合に、色の類似度合いで判定を行う方法
領域で詳細仕分けを行うグループに属する定義情報が2つ以上ある場合、指定した領域に絞って判定を行う方法
2フォームID選択中の定義情報が表示される
3X Y W H領域で詳細仕分けを行う を選択した場合に、指定した領域の座標
X:指定した領域の左上のX座標(ピクセル)
Y:指定した領域の左上のY座標(ピクセル)
W:指定した領域の幅(ピクセル)
H:指定した領域の高さ(ピクセル)
8.3.6.1. 色で詳細仕分けを行う場合

同じグループに色の異なるが、レイアウトの似ている帳票があるときは、色で詳細仕分けをする を選択する

8.3.6.2. 指定した領域で詳細仕分けを行う場合

同じグループに色が同じで、レイアウトが似通っている帳票があるときは、領域で詳細仕分けを行う を選択する

領域で詳細仕分けを行う を選択した状態で、画像上の任意の場所をドラッグすると、領域の指定を行うことができます。

8.3.7. 仕分けの実行

画像の仕分けのみを行う場合は、仕分け実行を押下すると仕分け実行ダイアログが表示されます。
ダイアログ上から、対象の画像を指定して仕分け実行します。

No.名称説明
1画像ファイル名仕分け対象の画像を指定する
2ページ番号仕分け対象の画像が複数枚つづりのPDF/TIFF である場合は、対象とするページを選択する
3仕分け実行指定した画像を対象に、仕分けの判定を行う
4仕分け結果仕分け実行 ボタンで実行した仕分け結果が表示される

8.3.8. 仕分け付OCRの実行

画像の仕分け付でAIReadの実行を行う場合は、AIRead ボタンを押下すると実行ダイアログが表示されます。
ダイアログ上から、対象の画像を指定して仕分け付のOCRを実行します。

正常に実行が完了すると、AIRead Viewerが起動します。
Viewer の詳細については、5.2.11 AIReadの実行結果を確認を参照ください。

8.4. 直接仕分け定義を設定

8.4.1. 仕分け定義ファイルの編集

仕分け設定ファイルを直接編集する場合は、テキストエディタで<AIREAD_HOME>\ClassifyDir\option.csv で編集します。

1,1,S,order,1,0,10,10,50,50
1,2,S,order2,1,0,10,10,50,50
2,1,E,Invoice,0,0,,,,  

・文字エンコード:UTF-8
・改行コード:LF

CSV中の各列の意味は下記の通りです。

No.名称説明
1グループ番号大まかな仕分けのグループ番号
大まかな仕分けフォルダ名を指定する
2詳細番号詳細仕分けの番号
詳細仕分けフォルダ名を指定する
3抽出モード抽出モードの設定
S : 座標指定
E : キーワード抽出
W : 表検出付全文OCR
※キーワード抽出はEnterprise版のみ使用可
4フォーマットIDOCR時に使用するフォーマットID
5色判定フラグ詳細仕分けに色の類似度合いを使用するかのフラグ
0 : 使用しない(デフォルト)
1 : 使用する
※同一グループ内では同一の設定にしてください
6領域指定フラグ詳細仕分けで画像の注目する領域を絞ったマッチングを行うかのフラグ
0 : 行わない(デフォルト)
1 : 行う
※同一グループ内では同一の設定にしてください
※色判定と同時に使うことはできません(両方設定されていた場合、色判定のみ行います)
7指定領域始点X領域指定の左上のX座標(左上原点、単位はピクセル)
8指定領域始点Y領域指定の左上のY座標(左上原点、単位はピクセル)
9指定領域横幅領域指定の横幅(単位はピクセル)
10指定領域縦幅領域指定の縦幅(単位はピクセル)

8.4.2. 仕分け設定ファイルの編集

仕分け設定ファイルを直接編集する場合は、テキストエディタで<AIREAD_HOME>\ClassifyDir\setting.ini で編集します。

・文字エンコード:UTF-8
・改行コード:LF

maxFeatures=2000
matchCtTh=50
sizeDiffTh=-1

各項目の意味は下記の通りです。

No.項目名書式説明
1maxFeatures1以上の整数値画像の比較に使用する特徴的な点を検出する数
多くすると仕分け精度が上がる傾向にある一方、処理時間が増加する
(デフォルト:2000)
2matchCtTh0以上の整数値大まかな仕分け時に、入力画像とテンプレート画像が似ていると判断するのに最低限必要な特徴点のマッチ数
全てのテンプレート画像に対して特徴点のマッチ数がこの値に達しない場合、判定失敗となる
この値を上げると厳密な判定ができるが、判定失敗になる画像が増えやすくなる
(デフォルト:50)
3sizeDiffTh-1以上の整数値テンプレート画像と入力画像のピクセルでの面積を比較し、その差がこの値より大きい場合そのテンプレート画像との比較をスキップする
-1を指定した場合、このスキップ処理は行われない
(デフォルト:-1)

8.5. batからの仕分け付OCR実行

bat を用いて、仕分け付きのOCRの実行を行う場合は、仕分けの登録と実行の2段階で行います。

8.5.1. 仕分け登録

配置されたテンプレート画像の登録は、下記のコマンドで行います。

call “%AIREAD_HOME%\IDELibrary\scripts\set_envs.bat”
set MAIN_CLASS_NAME=co.jp.ariseinnovation.AIReadEE.AIReadEE

“%AIREAD_JAVA%/java” -Xmx8192m -classpath %CLASSPATH% %MAIN_CLASS_NAME%
-s [SettingFile] -R [仕分け定義フォルダ]
  • オプション: バッチの中身は引数で書き換えることができます。
No.引数説明
1-s [SettingFile]共通設定ファイルを指定
2-R [仕分け定義フォルダ]仕分け定義が格納されたフォルダを指定

※run_register.bat はサンプル帳票の実行ファイルです。ダブルクリックで実行できます。

8.5.2. 仕分け付きOCRの実行

仕分け付きOCRの実行は、下記のコマンドで行います。

call “%AIREAD_HOME%\IDELibrary\scripts\set_envs.bat”
set MAIN_CLASS_NAME=co.jp.ariseinnovation.AIReadEE.AIReadEE

“%AIREAD_JAVA%/java” -Xmx8192m -classpath %CLASSPATH% %MAIN_CLASS_NAME%
-s [SettingFile] -A [仕分け定義フォルダ]
  • オプション: バッチの中身は引数で書き換えることができます。
No.引数説明
1-s [SettingFile]共通設定ファイルを指定
2-A [仕分け定義フォルダ]仕分けに使用するフォルダを指定

※run_assort.bat はサンプル帳票の実行ファイルです。ダブルクリックで実行できます。

8.5.3. 仕分けのみの実行

仕分けのみの実行は、下記のコマンドで行います。

call “%AIREAD_HOME%\IDELibrary\scripts\set_envs.bat”
set MAIN_CLASS_NAME=co.jp.ariseinnovation.AIReadEE.AIReadEE

“%AIREAD_JAVA%/java” -Xmx8192m -classpath %CLASSPATH% %MAIN_CLASS_NAME%
-s [SettingFile] -a [仕分け定義フォルダ]
  • オプション: バッチの中身は引数で書き換えることができます。
No.引数説明
1-s [SettingFile]共通設定ファイルを指定
2-a [仕分け定義フォルダ]仕分けに使用するフォルダを指定

9. ログ

9.1. エラーメッセージ一覧

メッセージ説明
input file error = [ファイル名]入力ファイルが読み込めない
Could not open file for writing : [ファイル名]出力ファイルが書き込めない
Initialize OCR Engine Failded with datapath = [フォルダ名] ocr lang = jpnOCRのモデルが見つからない
Input file not exist ! file path = [ファイル名]入力ファイルが見つからない
Image process faild [ファイル名]画像の前処理に失敗
Input file not support file path = [ファイル名]対応していない画像形式のファイルが入力された
Setting file error file path = [ファイル名]設定ファイルのフォーマットが不正
Bad file : [ファイル名]出力ファイルが壊れている
OCR process faildOCR 処理失敗
Setting file not exist設定ファイルが見つからない
Setting file error:[項目名]設定ファイル内の項目が不正
Document Type was Not Found:[ファイル名]入力ファイルと一致する定義が存在しない
PDF Convert FailedPDFのJPEG変換処理を失敗
IDE Error:[エラー内容]IDEライブラリでエラーが発生
Init Failed帳票定義の初期化に失敗
[ディレクトリ]AIRead_proflst.ini not exist共通設定ファイルが見つからない
Setting file read failed:[ファイル名]設定ファイルの読み込みに失敗
Create profile failed:[帳票ID]帳票定義の初期化に失敗