約 1 年前、私はファイルからデータ、主にテーブルに含まれるデータを抽出して構造化するタスクを割り当てられました。私はコンピューター ビジョンに関する事前の知識がなかったため、適切な「プラグ アンド プレイ」ソリューションを見つけるのに苦労していました。当時利用できるオプションは、大規模で扱いにくい最先端のニューラル ネットワーク (NN) ベースのソリューションか、一貫性が十分でない OpenCV ベースのよりシンプルなソリューションのいずれかでした。 既存の OpenCV スクリプトに触発されて、テーブルを抽出するためのシンプルで一貫性のある方法を開発し、それをオープンソースの Python ライブラリ img2table にしました。 リンク: https://github.com/xavctn/img2table 私のライブラリは何をしますか?ディープラーニング ソリューションと比較すると、この軽量パッケージではトレーニングは不要で、パラメータ化も最小限で済みます。以下の機能を提供します:
どうやって使うの?pip 経由でライブラリをインストールして使用することができます。 ドキュメント内のテーブルを識別するのは、1 つの関数を呼び出すだけです。 上記の例で使用されている画像 テーブルの内容を抽出するには、OCR ツールを使用する必要があります。これは次のように実行できます。 PDFから抽出した表の例 最後に、単純なケースでは、borderless_tables パラメータを設定することで、「境界のない」テーブル抽出を実行できます。これにより、セルを境界線で完全に囲まれる必要のないテーブルを検出できます。 「ボーダーレス」テーブル抽出例 それだけです!実際のところ、ライブラリには複雑なものはあまりありません。他の利用可能なソリューションによってもたらされる複雑さを回避するために、ライブラリをできるだけシンプルに保つことが目標だからです。 より詳細なドキュメントと例については、プロジェクトの GitHub ページをご覧ください: https://github.com/xavctn/img2table 低レベルの実装すべての画像処理は OpenCV および opencv-python ライブラリを使用して行われます。しかし、これはまだかなり基本的なものです。 アルゴリズムのバックボーンとなるのはハフ変換で、画像内の線を識別し、画像内の水平線と垂直線を検出できます。 その後、行に対していくつかの処理を実行して行からセルを識別し、次にセルからテーブルを識別します。 アルゴリズムの簡略化された表現を実装する ほとんどの計算は、優れたパフォーマンスと速度を実現するために Polars を使用して実行されます。 |
これまで、多くのメディアがニューラルネットワークの「ブラックボックス」問題について熱く議論してきまし...
Userdoc は、ソフトウェア要件ドキュメントの作成を支援する AI 支援サービスです。最近の...
11月30日、エヌビディアのCEOジェンスン・フアン氏は水曜日に開催されたニューヨーク・タイムズの年...
[[389147]]人間は経験を通して学び、成長する能力を持っている学習能力と経験を通じてタスクを...
[51CTO.comよりオリジナル記事] 10月13日、中関村スタートアップストリートで、中関村ス...
Pradeep Menon 氏は、ビッグデータ、データ サイエンス、データ アーキテクチャの分野で...
IT Homeは11月7日、本日開催されたOpenAI初の開発者会議で、OpenAIがアシスタントA...
最近、Testin Cloud Testingは、テスト分野で現在普及している自然言語処理、テキスト...
コンピューターサイエンスとエンジニアリングの主要会員コミュニティである IEEE コンピューターソサ...
著者 | 宋涛、尚賢、小斌 他アプリガイダンスは端末上でのマインドセット構築の重要な手段です。私たち...
今日では、自動化、人工知能 (AI)、自然言語処理 (NLP) の進歩により、コスト効率の高いデジタ...