自動テーブル抽出
自動テーブル抽出の実行時には、複数のアルゴリズムが実行されます。
- 位置ベースのアルゴリズム
-
位置ベースのアルゴリズムは、位置番号が規則的に増加する左側の列を見つけようとします。これには、0010、0020、0030 などが含まれます。次に、このアルゴリズムは、単価、合計価格、量が一致する組み合わせを探します。
これらの金額と量の特定後、アルゴリズムはテーブルの残りの行のコンテンツを説明と商品コードの列として割り当てようとします。
テーブルの最小幅はページ全体の幅の 10% とし、テーブルはドキュメントの右半分に配置しないようにします。さらに、テーブル ヘッダと最初の位置の間の隙間を 300 ピクセル以下にする必要があります。
- 金額ベースのアルゴリズム
-
金額ベースのアルゴリズムは、金額と量の組み合わせを使用してテーブル行を検出します。
アルゴリズムは、形式ロケータから入力を受け取り、ドキュメント上の金額と量を特定します。
次に、アルゴリズムは、単価、合計価格、量が一致する組み合わせを検出します。
Unit Price * Quantity = TotalPrice という数式に単位係数が含まれる場合、アルゴリズムは 1、100、および 1000 の単位係数をテストします。
これらの金額と量の特定後、アルゴリズムはテーブルの残りの行のコンテンツを説明と商品コードの列として割り当てようとします。
最初のページ以降のページでは、アルゴリズムは最初のページで生成されたテーブル行を基に列ジオメトリを生成します。次に、アルゴリズムはそれらの行を後続のすべてのページのテンプレートとして使用しようとします。
- ヘッダ ベースのアルゴリズム
-
ヘッダ ベースのアルゴリズムは、テーブル ヘッダ パックを使用してテーブル アイテムを探します。
テーブル ヘッダ パックを使用すると、ヘッダ ベースのアルゴリズムは、トレーニング済みテーブル ヘッダの位置を使用してテーブル セルを検出します。
ドキュメントにあるテーブル ヘッダのレイアウトがテーブル行に適用されます。
検出されたテーブル ヘッダと同様に、テーブル行は複数の行にまたがることがあります。
抽出品質を向上させるには、それらの列がテーブル モデルの一部ではない場合でも、ドキュメントのすべての列ヘッダをトレーニングします。
テーブル ヘッダ パックを改善することで、ヘッダ ベースのアルゴリズムによるテーブル セルへのテーブル行の分離がより効率的に行われるようになります。
テーブル ロケータのエキスパート モードは、テーブル ヘッダ パックにないヘッダ テキストを特定する場合に役立ちます。
- 行ベースのアルゴリズム
-
行ベースのアルゴリズムは、ドキュメントの視覚的な線を使用して、テーブル エリアをテーブルの列、行、セルに分離します。
最初のテーブル行の候補が抽出された後、テーブル行間の残りの単語が既存のテーブル行に結合され、縦線と横線による分離が維持されます。
テーブル列を割り当てるには、テーブル ヘッダを使用します。
最良の結果を得るには、テーブル ヘッダ パックでテーブル ヘッダをトレーニングします。
- レイアウト ベースのアルゴリズム
-
レイアウト ベースのテーブル アルゴリズムは、テーブル内の行アイテムのレイアウトがすべての行にわたって一定であることを前提にしています。たとえば、説明は特定の水平位置から始まる左揃えの英数字テキストであることが多く、単価は多くの場合、別の水平位置にある右揃えの数字です。
レイアウト ベースのテーブル アルゴリズムにより、ドキュメントをページごとに解析します。このアルゴリズムは、ページごとに、左揃えの英数字テキストと右揃えの数字を検索します。
ブロックの水平位置が複数の行で共通している場合、可能な場合はすべての行に適用されるテンプレートが生成されます。
このアルゴリズムは、レイアウトが一定しているテーブルに複数の行アイテムがある場合に最適な機能です。行が 1 行しかない場合や行アイテムが少ない場合は適切に機能しません。