この記事はAI新メディアQuantum Bit(公開アカウントID:QbitAI)より許可を得て転載しています。転載の際は出典元にご連絡ください。 いとこたちは、PDF ファイル内の表の数が多いことにまだ悩んでいますか? Baidu で検索すると、インターネット上に PDF テーブルを抽出するツールが多数あることがわかりますが、それらはテキスト形式の PDF のみをサポートしています。 しかし、スキャンによって生成された画像テーブルはどうでしょうか? 心配しないでください。ディープ ニューラル ネットワークを使用してテーブルを認識して抽出するオープン ソース ツールが役立ちます。 画像と互換性があり、精度が高く、ローカルのコンピューティング リソースを占有しないため、このような実用的なツールは持つ価値があります。 テスト例入力 PDF ファイルで表が検出されると、モデルは境界ボックス内に表の境界をマークします。 表形式のデータは、簡単に処理できるように Panda データ フレームに変換されます。 どうですか、実用的じゃないですか?それで、このツールはどのように使用するのでしょうか? 姿勢の詳しい説明ニューラル ネットワーク アルゴリズムはローカル コンピューティング リソースを占有しませんか? はい、お聞きの通り、このツールのすべてのコードは Google Colab で実行できます。つまり、ローカルにインストールしなくても、Colab クラウド リソースを使用してトレーニングと推論を完了できます。 このツールで使用されるディープ ニューラル ネットワークは Keras-RetinaNet です。まず、Colab に Keras-RetinaNet をインストールする必要があります。これは次のコード行で実行できます。
同時に、必要なライブラリをインストールする必要があります。
Keras-RetinaNet をトレーニングしてテーブルを認識するまず、トレーニング データベースを構築する必要があります。 ここでは、アルゴリズム学習のために、Colab ツールPDF2Imgを使用して PDF ファイルを JPG 形式に変換する必要があります。 次に、変換した画像を Images フォルダに保存します。次に、これらのトレーニング データに手動でラベルを付ける必要があります。ここでは、オンライン ラベリング ツール makesense.ai を使用することをお勧めします。 XML 注釈ファイルを注釈フォルダーに保存し、トレーニング用とテスト用の PDF ファイルのリストを作成し、そのリストを train.txt と test.txt にインポートします。 次に、Github プロジェクト https://github.com/ferrygun/PDFTableExtract をクローンし、beautifulsoup をインストールします。 次のコマンドを実行して、PASCAL VOC 形式を Keras-RetinaNet に必要な形式に変換します。
上記のコマンドを実行すると、retinanet_classes.csv、retinanet_test.csv、retinanet_train.csv が取得されます。 retinanet_classes.csv では、PDF ドキュメント内のテーブルのみが認識されるため、クラスは 1 つ (クラス 0) のみです。 タグ付けプロセス中にヘッダー、フッター、その他のタグを追加すると、それに応じて複数のクラスが取得されます。 ファイルとフォルダ構造の完全なリスト: 次に、retinanet_classes.csv、retinanet_test.csv、retinanet_train.csv、train.txt、test.txt を keras-retinanet のルート フォルダーにインポートします。 次に、Colab TrainOCR を実行します。トレーニングする JPG ファイルの数に応じて、トレーニング エポックの数を調整できます。 トレーニングが完了すると、重みファイル output.h5 が取得されます。このファイルをダウンロードしてローカル ホストに保存します。このファイルは後でテストを実行するために使用されます。 ここで注目すべき点は、Colab ではファイルが Git にアップロードされ、Git によってクローンされていることです。 テストの実行テストを実行する前に、PDF ファイルの処理に必要なライブラリもインストールする必要があります。 PyPDF2 は、ドキュメント情報を抽出したり、ページを切り取ったりできる Python ツール ライブラリです。 次のコマンドを使用してこのライブラリをインストールします。
Camelot は、PDF ページ テーブルを解析するための Python ライブラリです。 次のコマンドを使用してこのライブラリをインストールします。
PDF2IMG は、PDF を PIL Image オブジェクトに変換する Python ライブラリです。 次のコマンドを使用してこのライブラリをインストールします。
予測を実行する前に、トレーニングから取得した重みファイル output.h5 を使用してモデルをロードし、retinanet_classes.csv からラベル クラス 0 を定義する必要があります。
次にテストを実行します
テーブルが検出されると、モデルは境界ボックス内にテーブルの境界をマークします。 境界ボックスの座標 (x1、y1、x2、y2)、table_area は Camelot read_pdf 関数に入力され、table_area は正規化された境界ボックスです。
写真をどうするかスキャンされた画像形式の PDF フォームの場合、 Ocrmypdf パッケージを使用して、画像形式の PDF をテキスト形式に変換できます。 Ocrmypdf は、画像ベースの PDF をテキストベースの PDF に変換する Python パッケージです。 次のコマンド ラインを使用して、macOS および Linux で利用可能な ocrmypdf をインストールします。
次のコマンドによって呼び出されます:
その後は上記の方法でテーブルを抽出できます。 画像に対応し、Google GPU を無料で使用できるこの PDF スプレッドシート ツールはいかがでしょうか? 役に立ちますか? ポータルプロジェクトアドレス: オンラインラベリングツール: |
<<: 「オープン性、透明性、倫理」という目標を達成するために、AIアルゴリズムが政府の規制を策定するために使用される。
>>: エンジニアの職が危機に:ボストン・ダイナミクスのロボット犬がフォードにエンジニアとして入社!
ロジスティック回帰は、前世紀以来人気の手法です。カテゴリ変数と 1 つ以上の独立変数間の関係を確立し...
[[358096]]市場の状況がますます複雑化する今日の不安定なビジネス環境では、組織が分析に基づく...
第四次産業革命が急速に起こりつつあります。人工知能はこの産業革命の中核となる内容の一つです。産業革命...
中国で新型コロナウイルスの感染が初めて確認されたのは2019年12月19日。感染源については、これま...
この記事は、Heart of Autonomous Driving の公開アカウントから許可を得て転...
[[419073]]この記事はAI新メディアQuantum Bit(公開アカウントID:QbitA...
[[226531]]人工知能の発展において、人材の確保は間違いなく重要な鍵となります。人工知能は、...
今日では、データ サイエンティストの仕事は非常に一般的になり、機械学習もその中に完全に含まれる可能性...
中国では、口座間の送金、銀行ローンの申請、取引の実行にインターネットを利用することが住民にとって日常...
恒生銀行とその子会社である恒生聚源は6月28日、金融インテリジェントアシスタントPhotonや新しく...