約 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 を使用して実行されます。 |
【はじめに】 筆者は今年初めからインドでデータサイエンス、機械学習、ディープラーニングの分野で仕事...
機械学習の進歩がモデルによってもたらされるのか、それともデータによってもたらされるのかは、今世紀の論...
【TechWeb Report】6月26日、山大創新研究所検索テーマ研究所研究員の賈文傑氏と捜狗自然...
デジタル化の大きな波の中で、一見些細な失敗が、深い疑問を浮かび上がらせます。それは、企業が業務に人工...
概要: ニューラル機械翻訳 (NMT) は最近、標準ベンチマークで大きな成功を収めていますが、大規模...
最近開催された第43回国際情報検索会議(ACM SIGIR2020)で、Geoffrey Hinto...
1月下旬に終了したCES 2019で、LGの社長兼最高技術責任者であるIP Park氏が、AIがど...
[51CTO.comからのオリジナル記事] 2020年、COVID-19パンデミックは世界経済に深刻...
Googleチームは、AI技術を使ってユーザーの写真や検索エンジンのクエリ情報を処理し、ユーザーの生...
ヘルスケアにおける人工知能 (AI) の実装に関する課題を特定することで、ヘルスケア提供者は適切な戦...
人類が人工知能の開発に熱心に取り組み始めて以来、著名な科学者ホーキング博士をはじめ、疑問や反対の声が...
[[384737]] [51CTO.com クイック翻訳] 昨今、自然言語技術は企業でますます活用さ...