- ABBYY FlexiCaptureの導入
- プログラムのインストールと実行
- ABBYY FlexiCaptureアーキテクチャ
-
プログラム設定
- ABBYY FlexiCapture設定
- マルチテナンシー
- プロジェクトの作成
-
文書定義
- 修正済み文書定義の作成
- 半構造化文書の文書定義の作成
- 自動データ抽出が不要な文書の文書定義の作成
- 文書セット
- 文書定義フィールド
- 文書定義ウィザード
- 文書定義の編集および発行
- 文書定義の作成
- 文書定義プロパティ
- 文書定義セクションのプロパティ
- ルールの確認
- 設定のエクスポート
- 文書ウィンドウでのデータ表示の設定
- 文書定義のテスト
- 文書定義のローカライズ
- 分類
- フィールド抽出トレーニング
- 設定されたプロジェクトの操作
-
インボイス用のABBYY FlexiCapture
- インボイス用のABBYY FlexiCapture の機能
- インボイスをキャプチャする方法
- インボイスキャプチャプロジェクトを設定する方法
- 仕様
- Capturing receipts
- Capturing purchase orders
- Using NLP to process unstructured documents
- ABBYY FlexiCapture インターフェイス
-
付録
-
ABBYY FlexiCapture でのスクリプトの使用
- .Net 言語で書かれるスクリプトの仕様
- 外部アセンブリ
- オブジェクトモデル
-
処理ステージのカスタマイズのためのスクリプト
- スクリプトの種類
-
オブジェクト
- IActionResult
- IAssemblingError
- IAssemblingErrors
- IBatch
- IBatchCheckResults
- IBatchItem
- IBatchItems
- IBatchTypeClassifier
- IBatchTypeClassifierResult
- IBinarizationParams
- IBoxedBoolean
- ICharacterParams
- ICharactersParams
- ICheckmarkGroupValue
- ICheckmarkValue
- IDataSet
- IDataSetQuery
- IDataSetRecord
- IDocument
- IDocuments
- IDocumentExportResults
- IDocumentsExportResults
- IDocumentDefinitionInfo
- IDocumentDefinitionInfoArray
- IEditablePictureObject
- IExportFieldsToRedact
- IExportImageSavingOptions
- IField
- IFieldRegion
- IFieldRegions
- IFields
- IFlexiCaptureTools
- ILocalContrastParams
- IMatchedSectionInfo
- IMatchingInfo
- IPage
- IPageClassificationResult
- IPages
- IPictureObject
- IPictureObjectsInfo
- IPrincipal
- IPrincipals
- IProcessingCallback
- IProject
- IProperties
- IProperty
- IPropertyModificationInfo
- IRecordCheckResult
- IRecordset
- IRect
- IRects
- IRoutingRuleResult
- IRuleContext
- IRuleError
- IRuleErrors
- IRuleTag
- IRuleTags
- IScriptBinaryAttributes
- IScriptDefinitionContext
- ISectionDefinitionInfo
- ISectionDefinitionInfoArray
- IShadowsHighlightsParams
- IStageInfo
- IUserAttachment
- IUserAttachments
- IUserSessionInfo
- IValue
- IVARIANTArray
- TAssemlingErrorType
- TBatchItemType
- TColorToFilter
- TExportFieldType
- TExportType
- TImageCompressionType
- TPageClassificationType
- TPdfAVersion
- TPdfDocumentInfoType
- TPdfTextSearchAreaType
- TPrincipalType
- TProcessingPriority
- TPropertyType
- TRuleErrorType
- TStateType
- サンプルスクリプト
- 認識言語の内部名
-
インターフェイスイベントの処理スクリプト
- イベントハンドラ
-
オブジェクト
- IBoolean
- IBoxedFieldControl
- IDocumentEditor
- IDocumentItem
- IDocumentItems
- IDocumentsCollection
- IDocumentsWindow
- IDrawContext
- IErrorControl
- IErrorControls
- IErrorsWindow
- IFieldControl
- IFieldRegionControl
- IFieldRegionControls
- IFormWindow
- IImageWindow
- IMainMenu
- IMainWindow
- IMenu
- IMenuItem
- IPageControl
- IPageItem
- IPageItems
- IPagesCollection
- IPoint
- ISelection
- IShellRational
- IShellRect
- IShellRects
- ITaskWindow
- ITextEditor
- IToolbar
- IToolbarButton
- IToolbars
- TCommandBarType
- TCommandID
- TDockingType
- TDocumentState
- TErrorType
- TSelectionType
- TTaskWindowMode
- TTextSize
- TUserRole
- TWorkWindowType
- ウェブ検証ステーションのユーザースクリプト
- 機械による読み取りが可能なフォームの作成
- ホットキー
- 追加オプション
- 処理サーバーコマンドの説明
- FlexiCaptureバックアップ
- ABBYY FlexiCapture サンプルプロジェクト
- サポートされる認識言語
- Supported classifier languages
- 正しい文字レンダリングのためのフォント
- サポートされるテキストタイプ
- サポートされるバーコードタイプ
- 対応している入力形式
- PDF ファイルの処理
- 出力ファイル形式
- 日付形式
- 正規表現で使用されるアルファベット
- 特許
- サードパーティ技術
- 用語集
- テクニカル サポート
- ABBYY FlexiCapture の購入方法
- エンドユーザー使用許諾契約(EULA)
-
ABBYY FlexiCapture でのスクリプトの使用
FlexiLayout のマッチング結果を結合させる方法
この記事では、FlexiLayouts を文書とマッチングさせる順番とフィールド領域の選択方法について説明します。
ABBYY FlexiCapture for Invoicesは、文書定義のマッチングで複数のタイプの FlexiLayout を使用できます:
- 汎用 FlexiLayoutはすべてのインボイスの処理で使用され、2 つのタイプの FlexiLayout を含んでいます:
- メイン FlexiLayoutは既にプログラムで定義されている標準インボイスの検出に使用されます。この FlexiLayout はABBYY FlexiCapture for Invoicesとともに提供され、ユーザーが変更することはできません。
- 追加 FlexiLayoutは、ユーザー定義フィールドの検出、およびユーザーによって検出アルゴリズムが変更された標準インボイスフィールドの検出に使用されます。この FlexiLayout はユーザーによって作成されます。
- FlexiLayout バリアントは、特定の種類のインボイス(特定のベンダーからのインボイスなど)を処理するために使用されます。この FlexiLayout は、それぞれの文書定義で定義されるフィールドの検出に使用できます。このFlexiLayoutは、トレーニングの結果としてユーザーやプログラムによって作成されますABBYY FlexiCapture for Invoices特別なベンダーからのインボイス
文書定義をインボイスとマッチングさせた後、プログラムはフィールド領域のセットを取得します。この領域セットは、文書定義に含まれているさまざまな FlexiLayout からのものです。
1. ジェネリック FlexiLayout のマッチング
- 最初にプログラムはメイン FlexiLayoutをマッチングさせます。これはジェネリック FlexiLayout の中心部分です。
事前認識パラメータ
文書画像は、文書定義で指定されたパラメータを使って事前認識されます:
- 使用する言語は文書定義設定タブ)で指定します。このタブは、文書定義プロパティダイアログボックス(国と言語
- 事前認識モード(非常に高速/高速/バランス保持/徹底的に)、FlexiLayoutタブで文書定義プロパティダイアログボックスで選択します。
メイン FlexiLayout のマッチングで取得される結果
メイン FlexiLayout をインボイスとマッチングさせた後、プログラムは以下を取得します: - ベンダーの ID と部署の ID(検出された場合)
- 標準フィールドの領域。(詳細は→キャプチャされたフィールド)
- 次にプログラムは、ジェネリック FlexiLayout で使用可能であれば、プログラムが追加 FlexiLayoutにマッチングさせます。
事前認識パラメータ
文書画像は、FlexiLayout で指定されたパラメータ(使用される言語と事前認識モード)を使って事前認識されます。追加 FlexiLayout では、文書定義で指定されているものと同じ事前認識パラメータを指定することをお勧めします。それによってプログラムは、事前認識を再度行わずにステップ A で取得した事前認識結果を使用できるようになります。
通常とは異なるフィールドの処理では、文書定義とは異なる追加 FlexiLayout の事前認識パラメータを指定することもありますが、その場合は処理速度が低下します。
メイン FlexiLayout のマッチングで取得される結果
メイン FlexiLayout とインボイスをマッチングさせた後、プログラムは追加 FlexiLayout で定義されているフィールドの領域をすべて取得します。これらは、検出アルゴリズムが変更されなければならなかった標準インボイスか、メイン FlexiLayout で定義されていない追加フィールドです。 - 次に、プログラムはジェネリック FlexiLayout のマッチングの集計結果を生成します。
文書定義に追加 FlexiLayout が含まれている場合、プログラムはメイン FlexiLayout のマッチングで取得した結果と、追加 FlexiLayout のマッチングで取得した結果をこのステップで結合します。
フィールドは名前によって識別されます。結果は、メイン FlexiLayout と追加 FlexiLayout から派生する固有のフィールドの集合になります。メイン FlexiLayout と追加 FlexiLayout に同じ名前のフィールドがある場合、プログラムは追加 FlexiLayout のマッチングで取得したフィールド領域を使用します。
このアプローチでは、新しいフィールドを定義したり、標準インボイスフィールドをキャプチャするロジックを変更したりできます。
2. FlexiLayout バリアントのマッチング
ジェネリック FlexiLayout のマッチング後にプログラムがベンダーを検出し(ステップ A)、このベンダーにFlexiLayout バリアントが存在する場合、このステップではこのバリアントをマッチングさせます。
事前認識パラメータ
文書定義の事前認識パラメータが使用されます。これらは、ジェネリック FlexiLayout に含まれているメイン FlexiLayout のマッチング時に使用されたものと同じ事前認識パラメータです。したがって、追加の事前認識は必要ありません。
FlexiLayout バリアントのマッチングで取得される結果
FlexiLayout バリアントとインボイスをマッチングさせた後、プログラムはこの特定ベンダーの FlexiLayout バリアントで定義されているフィールドの領域をすべて取得します。FlexiLayout バリアントがさまざまなインボイスでのトレーニングから取得される場合は、文書定義で定義されたフィールドがすべて含まれることに注意してください。また、FlexiLayout バリアントが手動で作成された場合、検出で特定のベンダー固有のアクションが必要となるバリアントにはこれらのフィールドだけが残されることが必要です。
3. 結果の結合
このステップでは、汎用 FlexiLayoutのマッチングで取得した結果を、FlexiLayout バリアント。
FlexiLayout バリアントがさまざまなインボイスでのトレーニングから取得された場合は、文書定義で定義されたフィールドがすべて含まれます。文書定義は、トレーニング中にユーザーが領域を変更しなければならなかったフィールド(ジェネリック FlexiLayout による検出結果が好ましくなかったフィールド)に関する情報を保存します。プログラムは、ジェネリック FlexiLayout から取得するフィールド領域や、この特定ベンダーのインボイスでトレーニングされた FlexiLayout バリアントから取得する領域を決定する際にこの情報を利用します。
注:Amountフィールドの領域を選択する方法は異なります。汎用FlexiLayoutを適用するときは、Amountフィールドの領域を検出した信頼度が指定されます。低い信頼度を検出した領域は、Totalフィールドの確認が必要です。ベンダーの請求書にトレーニング済みのFlexiLayoutバリエーションがあり、かつ汎用FlexiLayoutが十分な信頼度のAmountフィールドを検出できないか、全く検出できない場合は、FlexiLayoutバリエーションで検出したAmountフィールドの領域を使用します。常にFlexiLayoutバリエーションで検出したAmountフィールドの領域を使用する設定もできます。この場合、[HKEY_CURRENT_USER\Software\ABBYY\FlexiCapture\12.0\DAForms\]”UseTrainedInvoiceAmounts”レジストリキーの値をtrueに設定してください(デフォルトのキーはfalse)。
FlexiLayout バリアントが手動で作成されていれば、プログラムは FlexiLayout バリアントに含まれているすべてのフィールドの領域を使用します。他のフィールドの領域は、ジェネリック FlexiLayout とのマッチングで取得された結果から取得されます。
フィールドの領域の検出で使用された FlexiLayout の情報は、認識ログに記録されます。
例
いくつかのフィールドが文書定義で定義されていると想定しましょう。
2 つの標準インボイスフィールド、つまりInvoiceDateとInvoiceNumber、そして 2 つのユーザー定義フィールドであるCustomFieldAとCustomFieldB。
- InvoiceDateとInvoiceNumberは標準フィールドであり、これらのフィールドの検出アルゴリズムはジェネリック FlexiLayout に含まれているメイン FlexiLayout で指定されます。
- CustomFieldAとCustomFieldBはユーザー定義フィールドであり、これらのフィールドの検出アルゴリズムはジェネリック FlexiLayout に含まれている追加 FlexiLayout で指定されます。
またオペレータがInvoiceDateとCustomFieldBフィールドの検出品質についてが満足できず、このベンダーからのインボイスに関してプログラムをトレーニングするとします。
このベンダーからのインボイスのフィールド領域は、以下のように結合されます:
- InvoiceNumber- この領域は、メイン FlexiLayout で取得された結果から来ます
- CustomFieldA- この領域は、追加 FlexiLayout で取得された結果から来ます
- InvoiceDateとCustomFieldB- これらの領域は、このベンダーからのインボイスでプログラムをトレーニングし、生成された FlexiLayout バリアントから取得された結果から来ます。
他のベンダーからのインボイスの場合、フィールド領域は以下のように結合されます:
- InvoiceDateとInvoiceNumber- これらの領域は、メイン FlexiLayout で取得された結果から来ます。
- CustomFieldAとCustomFieldB- これらの領域は、追加 FlexiLayout で取得された結果から来ます。
14.01.2021 14:17:22