> ## Documentation Index
> Fetch the complete documentation index at: https://docs.abbyy.com/llms.txt
> Use this file to discover all available pages before exploring further.

# 会社データベースに基づく分類

> ABBYY FlexiCapture の会社データベースを使用して発行会社別に文書を分類します。トレーニングセットは不要で、最大 100,000 クラスをサポートします。

**会社ベースの分類を使用する場合**

分類では、各文書が特定のクラスに割り当てられます (詳細については、[Classification](/ja/flexi-capture/classify-intro) セクションを参照してください) 。文書の発行会社ごとに、個別のクラスとして扱うことができます。

通常、同じ会社から発行された文書は見た目が似ており、同じ種類の field が同じ位置にあるため、データ抽出が容易になります。

文書は、会社データベースを使用して分類できます。このデータベースは、該当する ABBYY FlexiCapture プロジェクトに含める必要があります。このデータベースにデータを登録するには、ERP システムに保存されている会社一覧を使用できます。ABBYY FlexiCapture は、会社データベースを ERP システムの最新データと定期的に同期します。会社データベースがまだない場合は、文書からデータを抽出しながら、文書の検証段階で会社をデータベースに追加して作成できます。

プログラムは、必要な field を各文書の先頭ページと最終ページでのみ検索します。通常、会社情報はこれらのページに記載されているためです。

会社ベースの分類には、他の分類方法と比べて次の利点があります。

* トレーニングセットを作成するためにサンプルの文書画像を収集する必要がなく、時間や手間を大幅に削減できます。
* 文書は最大 100,000 クラスに基づいて分類でき、これは画像ベースやテキストベースの分類よりもはるかに多くなります。

会社ベースの分類は、field 抽出にも使用できます。各会社にはそれぞれ独自のセクションバリアントがあり、それに対して個別の FlexiLayout を学習させるか作成できます。

<Note>
  1 つのプロジェクト内で、次のものを同時に使用できます。
</Note>

* バッチタイプ レベルまたはプロジェクト レベルの文書タイプ分類器
* 同じ文書タイプの文書に対する、Document Definition レベルの会社ベース分類器

まず、プログラムは文書タイプ分類器を実行して対象文書のクラスを判定し、その後、該当するクラスの文書に対して会社ベース分類器を実行します。

分類器が会社データベースに基づいて検出する文書バリアントによって、学習に使用する FlexiLayout が一意に特定されます。つまり、field の学習は会社ごとに個別に実行されます。

**会社ベースの分類の設定**

会社ベースの分類は Document Definition 内、つまり同じタイプの文書に対して実行されます。同じタイプの文書は、抽出するデータ field のセットが共通です (詳細については、[Document Definitions](/ja/flexi-capture/templates/templates-main) セクションを参照してください) 。

会社データベースを使用して文書を分類するには、次の手順に従います。

1. 文書セクションを右クリックして **Properties** をクリックするか、Document Definition エディターを開いて **Document Definition → Document Definition Properties** をクリックします。
2. Data Sets タブで一覧からデータセットを選択し、**Set Up...** ボタンをクリックします。
3. **Use database of companies** オプションを選択します。既定では、必要な columns とその型はすでにデータセット内で指定されています。 (データセットは実質的に、会社を検索するための field 一覧を含むテーブルです。ユーザーはこのテーブルを変更できません。)
4. データセットを ODBC 対応データベースに接続するには、データセット内の各 field をデータベース内の対応する field にマッピングする必要があります。詳細な手順については、[Using vendor and business unit databases](/ja/flexi-capture/invoice-reader/ir-db-connection)*.* を参照してください。
   **注:**  プログラムは、データセットの field が対応するデータベース field にマッピングされている会社を検索します。少なくとも 1 つの field (たとえば会社名) をマッピングする必要があります。データセットの field に対応するデータベース field がない場合は、その field のマッピング時に **None** を指定してください。
   **注:**  文書上の会社情報を検索するために使用されるのは、一部の field のみです。これらの field の横には小さな鍵アイコンが表示されます。会社ベースの分類を設定する際に独自の custom field を追加できますが、これらの field は情報の表示にのみ使用されます。
5. 複数の表記候補がある会社名を検索するには、正規化を使用します。これは、すべての名前候補を 1 つの標準名にまとめる処理です。Data Set Column Mapping ダイアログで、Normalization field に必要な正規化の種類を指定します (詳細については、[Normalization of values in data sets](/ja/flexi-capture/invoice-reader/ir-normalization) を参照してください) 。

会社名が事前に分かっている場合もあります。たとえば、データソース parameters (つまり、scanning operator の名前や送信者のメール アドレス) から分かることがあります。

ABBYY FlexiCapture には、仕入先および会社の部門を自動検出の前に明示的に指定できる機能があります。

下位区分を明示的に指定するには、**fc\_Predefined:PredefinedSectionVariantId** document registration parameter の値を、**Dataset** 内の適切なエントリの identifier (**Id**) に設定します。この場合でも、指定したエントリに対して自動会社検出処理は実行されます。その結果、明示的に指定した会社名と、その指定した名前が画像から抽出された名前とどの程度一致しているかを示す confidence 値が取得されます。

<Note>
  このメソッドは、文書内で複数の候補を持つセクションが 1 つだけある場合にのみ使用できます。
</Note>

**会社ベースの分類結果の確認と編集**

会社データベースを使用して文書を分類する場合、プログラムは事前定義された会社名のリストから会社を検索するため、トレーニングは不要です。分類エラーはオペレーターが修正できます。プログラムが文書を誤った会社に関連付けた場合、オペレーターは正しい会社名を選択してデータベースに保存できます。以後、プログラムはこの正しい情報を今後の分類で使用します。

オペレーターが分類エラーを修正できるようにするには、分類結果をデータ フォームに表示し、field のルックアップを開始するボタンを追加する必要があります。これを行うには、次の手順を実行します。

1. サービス field を作成します。
   * **Document Definition Editor** で、**Create Field → Service Field** をクリックします。次に、field properties で Data Source tab をクリックし、Source リストから Flexible Section Variant ID を選択します。
   * 会社を識別するために必要なサービス field (例: IBAN (国際銀行口座番号) や VATID) を必要に応じて作成します。
2. データベース チェック rule を作成します。
   * グループを右クリックし、**Properties...** をクリックしてから Rules tab をクリックし、**New Rule...** ボタンをクリックします。
   * リストから **Database Check** を選択し、**OK** をクリックします。
   * **Data source field** で、**Data Sets** を選択します。次に、Data Sets field で必要な データセット を選択します。
   * **Field where to save record ID** field で、手順 1 で作成したサービス field を選択します。
   * **Add** ボタンをクリックし、必要な文書 field とデータベース field を指定します。文書 field とデータベース field の値が異なる場合は、検索および置換のオプション (**Enter value from database → If values are different**) を選択します。

これで、分類器が会社ベースの分類用に検出したすべての field に Region が設定されます。

3. **Look up** ダイアログを開くボタンをデータ フォームに追加します。
   * ボタンを配置するデータ フォーム上の任意の場所を右クリックし、shortcut menu で **Insert Button** をクリックします。
   * **Format** tab で、手順 2 で作成したデータベース チェック rule を選択します。
   * **Position** tab で、ボタン名を指定します。

これで、検証オペレーターはデータ フォーム上のこのボタンをクリックして **Look up** ダイアログを開けるようになります。

**会社ベースの分類の改善**

**キーワードと正規表現の指定**

会社検出を改善するために、キーワードと正規表現を指定できます。キーワードには、VATID や IBAN (国際銀行口座番号) field のデータなど、会社を一意に識別できる strings を使用します。

**会社レコードの編集**

会社検出を改善するもう 1 つの方法は、ABBYY FlexiCapture に保存されている会社レコードを編集することです。各会社について、複数の名前候補と住所を指定できます。これは、管理者が Document Definition エディターを使用して行うことも、検証オペレーターが行うこともできます。

変更されるのは ABBYY FlexiCapture に保存されている会社レコードのみである点に注意してください。外部データベース (ERP システムなど) との同期が有効になっている場合でも、管理者または検証オペレーターが行った変更が外部データベースに反映されることはありません。

Document Definition で許可されていれば、オペレーターは新しいレコードを追加したり、既存のレコードを編集したりできます。

既定では、オペレーターはレコードの追加も編集もできません。オペレーターによるレコードの追加および編集を許可するには、次の手順を実行します。

1. Document Definition エディターで、**Document Definition → Document Definition Properties...** をクリックします。
2. 開いたダイアログで、Data Sets tab をクリックします。
3. リストから データセット を選択し、**Set Up...** ボタンをクリックします。
4. Operators can add records オプションと Operators can edit records オプションを選択します。

オペレーターによるレコードの追加および編集を禁止するには、上記 2 つのオプションをオフにします。
