Phát hiện bảng và trích xuất thông tin bằng cách sử dụng Học sâu

Nút nguồn: 1325422

Giới thiệu về trích xuất bảng

Lượng dữ liệu được thu thập đang tăng mạnh từng ngày với số lượng ứng dụng, phần mềm và nền tảng trực tuyến ngày càng tăng.

Để xử lý / truy cập dữ liệu khổng lồ này một cách hiệu quả, cần phải phát triển các công cụ khai thác thông tin có giá trị.

Một trong những lĩnh vực phụ cần được chú ý trong trường Trích xuất thông tin là trích xuất bảng từ hình ảnh hoặc phát hiện dữ liệu dạng bảng từ biểu mẫu, PDF và tài liệu.

Khai thác bảng là nhiệm vụ phát hiện và phân rã thông tin bảng trong một tài liệu.

Bảng OCR - Nanonet trích xuất dữ liệu bảng từ một hình ảnh!
Table OCR - Nanonet trích xuất dữ liệu bảng từ một hình ảnh!

Hãy tưởng tượng bạn có rất nhiều tài liệu với dữ liệu dạng bảng mà bạn cần trích xuất để xử lý thêm. Thông thường, bạn có thể sao chép chúng theo cách thủ công (ra giấy) hoặc tải chúng vào trang tính excel.

Tuy nhiên, với phần mềm OCR bảng, bạn có thể tự động phát hiện bảng và trích xuất tất cả dữ liệu dạng bảng từ tài liệu chỉ trong một lần. Điều này giúp tiết kiệm rất nhiều thời gian và công việc làm lại.

Trong bài viết này, trước tiên chúng ta sẽ xem cách Nanonets có thể tự động trích xuất các bảng từ hình ảnh hoặc tài liệu. Sau đó, chúng tôi sẽ đề cập đến một số kỹ thuật DL phổ biến để phát hiện và trích xuất các bảng trong tài liệu.


Bạn muốn trích xuất dữ liệu dạng bảng từ hóa đơn, biên lai hoặc bất kỳ loại tài liệu nào khác? Kiểm tra Nanonets ' Trình trích xuất bảng PDF để trích xuất dữ liệu dạng bảng. Lịch trình một bản demo để tìm hiểu thêm về tự động hóa khai thác bảng.


Mục lục

Trích xuất bảng từ hình ảnh bằng Nanonets Table OCR

  • Đăng ký để có tài khoản Nanonets miễn phí

    • Tải hình ảnh/tệp lên mô hình Nanonets Table OCR
    • Nanonets tự động phát hiện và trích xuất tất cả dữ liệu dạng bảng
    • Chỉnh sửa & xem lại dữ liệu (nếu cần)
    • Xuất dữ liệu đã xử lý dưới dạng Excel, csv hoặc JSON

Trích xuất bảng từ hình ảnh với Nanonet

Muốn trích xuất dữ liệu từ PDF các tài liệu, chuyển đổi bảng PDF sang Excel or tự động hóa trích xuất bảng? Tìm ra cách Nanonet Trình quét PDF or Trình phân tích cú pháp PDF có thể thúc đẩy doanh nghiệp của bạn hoạt động hiệu quả hơn.


Bảng Nanonets API OCR

Bảng OCR với Nanonet
Bảng OCR với Nanonet

Sản phẩm API OCR của Nanonets cho phép bạn xây dựng các mô hình OCR một cách dễ dàng. Bạn không phải lo lắng về việc xử lý trước hình ảnh của mình hoặc lo lắng về các mẫu phù hợp hoặc xây dựng các công cụ dựa trên quy tắc để tăng độ chính xác của mô hình OCR của bạn.

Bạn có thể tải lên dữ liệu của mình, chú thích dữ liệu, thiết lập mô hình để đào tạo và chờ nhận dự đoán thông qua giao diện người dùng dựa trên trình duyệt mà không cần viết một dòng mã nào, lo lắng về GPU hoặc tìm kiến ​​trúc phù hợp để phát hiện bảng của bạn bằng các mô hình học sâu.

Bạn cũng có thể có được các phản hồi JSON của mỗi dự đoán để tích hợp dự đoán đó với hệ thống của riêng bạn và xây dựng các ứng dụng hỗ trợ học máy được xây dựng dựa trên các thuật toán hiện đại và cơ sở hạ tầng mạnh mẽ.

https://nanonets.com/documentation/


Doanh nghiệp của bạn có xử lý dữ liệu hoặc nhận dạng văn bản trong tài liệu kỹ thuật số, PDF hoặc hình ảnh không? Bạn có tự hỏi làm thế nào để trích xuất dữ liệu dạng bảng, trích xuất văn bản từ hình ảnh , trích xuất dữ liệu từ PDF or trích xuất văn bản từ PDF chính xác & hiệu quả?


Ai sẽ thấy Table Extraction hữu ích

Như đã thảo luận trong phần trước, bảng được sử dụng thường xuyên để biểu diễn dữ liệu ở định dạng rõ ràng. Chúng ta có thể thấy chúng thường xuyên trên một số lĩnh vực, từ tổ chức công việc của mình bằng cách cấu trúc dữ liệu trên các bảng đến lưu trữ tài sản khổng lồ của các công ty. Có rất nhiều tổ chức phải xử lý hàng triệu bảng mỗi ngày. Để tạo điều kiện thuận lợi cho những công việc tốn nhiều công sức như làm mọi thứ thủ công, chúng ta cần sử dụng các kỹ thuật nhanh hơn. Hãy thảo luận về một số trường hợp sử dụng trong đó trích xuất bảng có thể cần thiết:

nguồn: Patrick Tomasso, Unplash

Các trường hợp sử dụng cá nhân

Sản phẩm khai thác bảng quy trình cũng có thể hữu ích cho các trường hợp sử dụng cá nhân nhỏ. Đôi khi chúng tôi chụp tài liệu trên điện thoại di động và sau đó sao chép chúng vào máy tính của chúng tôi. Thay vì sử dụng quy trình này, chúng tôi có thể chụp trực tiếp các tài liệu và lưu chúng dưới dạng định dạng có thể chỉnh sửa trong các mẫu tùy chỉnh của chúng tôi. Dưới đây là một số trường hợp sử dụng về cách chúng ta có thể phù hợp với việc trích xuất bảng trong thói quen cá nhân của mình -

Quét tài liệu sang điện thoại: Chúng ta thường chụp ảnh các bảng quan trọng trên điện thoại và lưu lại, nhưng với kỹ thuật trích xuất bảng, chúng ta có thể chụp ảnh các bảng và lưu trữ trực tiếp dưới dạng bảng, có thể vào excel hoặc google sheet. Với điều này, chúng tôi không cần phải tìm kiếm hình ảnh hoặc sao chép nội dung bảng vào bất kỳ tệp mới nào, thay vào đó, chúng tôi có thể sử dụng trực tiếp các bảng đã nhập và bắt đầu làm việc với thông tin được trích xuất.

Tài liệu sang HTML: Trong các trang web, chúng tôi tìm thấy vô số thông tin được trình bày bằng các bảng. Chúng giúp chúng tôi so sánh với dữ liệu và cung cấp cho chúng tôi một ghi chú nhanh về các con số một cách có tổ chức. Bằng cách sử dụng quy trình trích xuất bảng, chúng tôi có thể quét tài liệu PDF hoặc hình ảnh JPG / PNG và tải thông tin trực tiếp vào định dạng bảng tự thiết kế tùy chỉnh. Chúng tôi có thể viết thêm script để thêm các bảng bổ sung dựa trên các bảng hiện có và do đó số hóa thông tin. Điều này giúp chúng tôi chỉnh sửa nội dung và làm nhanh quá trình lưu trữ.


Các trường hợp sử dụng công nghiệp

Có một số ngành công nghiệp trên toàn cầu chạy rất nhiều vào thủ tục giấy tờ và tài liệu, đặc biệt là trong lĩnh vực Ngân hàng và Bảo hiểm. Từ việc lưu trữ thông tin chi tiết của khách hàng đến chăm sóc theo nhu cầu của khách hàng, bảng được sử dụng rộng rãi. Thông tin này một lần nữa được chuyển dưới dạng tài liệu (bản cứng) đến các chi nhánh khác nhau để phê duyệt, trong đó đôi khi, thông tin sai lệch có thể dẫn đến lỗi khi lấy thông tin từ các bảng. Thay vào đó, sử dụng tự động hóa ở đây, làm cho cuộc sống của chúng ta dễ dàng hơn nhiều. Sau khi dữ liệu ban đầu được thu thập và phê duyệt, chúng tôi có thể quét trực tiếp các tài liệu đó thành các bảng và tiếp tục làm việc trên dữ liệu số hóa. Chúng tôi có thể thông báo cho khách hàng về thời gian và địa điểm xử lý thông tin về thời gian và địa điểm. Do đó, điều này đảm bảo độ tin cậy của dữ liệu và đơn giản hóa cách xử lý các hoạt động của chúng tôi. Bây giờ chúng ta hãy xem xét các trường hợp sử dụng có thể có khác:

Quản lý chất lượng: Kiểm soát chất lượng là một trong những dịch vụ cốt lõi mà các ngành công nghiệp hàng đầu cung cấp. Nó thường được thực hiện trong nhà và cho các bên liên quan. Như một phần của điều này, có rất nhiều biểu mẫu phản hồi được thu thập từ người tiêu dùng để trích xuất phản hồi về dịch vụ được cung cấp. Trong các lĩnh vực công nghiệp, họ sử dụng các bảng để ghi lại danh sách kiểm tra hàng ngày và ghi chú để xem các dây chuyền sản xuất đang hoạt động như thế nào. Tất cả những điều này có thể được ghi lại tại một nơi duy nhất bằng cách sử dụng bảng trích xuất một cách dễ dàng.

Theo dõi tài sản: Trong các ngành Sản xuất, người ta sử dụng bảng mã cứng để theo dõi các thực thể được sản xuất như Thép, Sắt, Nhựa, v.v. Mỗi mặt hàng được sản xuất đều được gắn nhãn với một số duy nhất trong đó họ sử dụng bảng để theo dõi các mặt hàng được sản xuất và giao hàng ngày. Tự động hóa có thể giúp tiết kiệm rất nhiều thời gian và tài sản trong điều kiện thất lạc hoặc không nhất quán dữ liệu.


Các trường hợp sử dụng kinh doanh

Có một số ngành kinh doanh chạy trên trang tính excel và biểu mẫu ngoại tuyến. Nhưng tại một thời điểm, thật khó để tìm kiếm qua các trang tính và biểu mẫu này. Nếu chúng ta nhập các bảng này theo cách thủ công thì rất mất thời gian và khả năng dữ liệu nhập sai sẽ cao. Do đó, trích xuất bảng là một giải pháp thay thế tốt hơn để giải quyết các trường hợp sử dụng kinh doanh như bên dưới là rất ít.

Hóa đơn Tự động hóa: Có nhiều ngành công nghiệp quy mô nhỏ và quy mô lớn hoá đơn vẫn được tạo ở định dạng bảng. Những điều này không cung cấp báo cáo thuế được bảo đảm thích hợp. Để vượt qua những trở ngại như vậy, chúng ta có thể sử dụng tính năng trích xuất bảng để chuyển đổi tất cả hoá đơn sang định dạng có thể chỉnh sửa và do đó, nâng cấp chúng lên phiên bản mới hơn.

Tự động hóa biểu mẫu: Biểu mẫu trực tuyến đang phá vỡ phương pháp đã được thử và đúng này bằng cách giúp các doanh nghiệp thu thập thông tin họ cần và đồng thời kết nối nó với các nền tảng phần mềm khác được tích hợp trong quy trình làm việc của họ. Bên cạnh việc giảm nhu cầu nhập dữ liệu thủ công (với nhập dữ liệu tự động) và các email tiếp theo, trích xuất bảng có thể loại bỏ chi phí in ấn, gửi thư, lưu trữ, sắp xếp và phá hủy các lựa chọn thay thế giấy truyền thống.


Bạn có một vấn đề OCR trong tâm trí? Muốn số hóa hoá đơn, PDF hay biển số? Đi qua Ống nano và xây dựng các mô hình OCR miễn phí!


Học sâu trong hành động

Học sâu là một phần của dòng rộng hơn các phương pháp học máy dựa trên mạng nơ-ron nhân tạo.

Mạng thần kinh là một khung công nhận các mối quan hệ cơ bản trong dữ liệu nhất định thông qua một quá trình bắt chước cách bộ não con người hoạt động. Chúng có các lớp nhân tạo khác nhau mà dữ liệu đi qua, nơi chúng tìm hiểu về các tính năng. Có các kiến ​​trúc khác nhau như NN chuyển đổi, NN lặp lại, mã tự động, NN đối thủ tạo để xử lý các loại dữ liệu khác nhau. Đây là những công cụ phức tạp nhưng mô tả hiệu suất cao để giải quyết các vấn đề trong thời gian thực. Bây giờ chúng ta hãy xem xét nghiên cứu đã được thực hiện trong lĩnh vực trích xuất bảng bằng cách sử dụng Mạng thần kinh và chúng ta cũng hãy xem lại chúng một cách ngắn gọn.


BảngNet

Giấy: TableNet: Mô hình học sâu để phát hiện bảng từ đầu đến cuối và trích xuất dữ liệu dạng bảng từ ảnh tài liệu được quét

Giới thiệu: TableNet là một kiến ​​trúc học sâu hiện đại được đề xuất bởi một nhóm từ TCS Research năm 2019. Động lực chính là trích xuất thông tin từ các bảng được quét thông qua điện thoại di động hoặc máy ảnh.

Họ đề xuất một giải pháp bao gồm phát hiện chính xác khu vực bảng trong một hình ảnh và sau đó phát hiện và trích xuất thông tin từ các hàng và cột của bảng được phát hiện.

Tập dữ liệu: Tập dữ liệu được sử dụng là Marmot. Nó có 2000 trang ở định dạng PDF được thu thập với các sự thật cơ bản tương ứng. Điều này cũng bao gồm các trang của Trung Quốc. Liên kết - http://www.icst.pku.edu.cn/cpdp/sjzy/index.htm

Kiến trúc: Kiến trúc dựa trên Long et al., Một mô hình mã hóa-giải mã để phân đoạn ngữ nghĩa. Cùng một mạng bộ mã hóa / giải mã được sử dụng làm kiến ​​trúc FCN để trích xuất bảng. Hình ảnh được xử lý trước và sửa đổi bằng cách sử dụng Khối lập phương OCR.

Mô hình này được hình thành theo hai giai đoạn bằng cách đưa đầu vào cho các kỹ thuật học sâu. Trong giai đoạn đầu, họ đã sử dụng trọng số của Mạng VGG-19 được đào tạo trước. Họ đã thay thế các lớp được kết nối đầy đủ của mạng VGG đã sử dụng bằng các lớp 1 × 1. Tất cả các lớp phức tạp được theo sau bởi kích hoạt ReLU và một lớp bỏ học có xác suất 0.8. Họ gọi giai đoạn thứ hai là mạng đã giải mã bao gồm hai nhánh. Đây là theo trực giác rằng vùng cột là một tập hợp con của vùng bảng. Do đó, mạng mã hóa đơn có thể lọc ra các vùng hoạt động với độ chính xác tốt hơn bằng cách sử dụng các tính năng của cả vùng bảng và vùng cột. Đầu ra từ mạng đầu tiên được phân phối cho hai nhánh. Trong nhánh đầu tiên, hai phép toán tích chập được áp dụng và bản đồ tính năng cuối cùng được nâng cấp để đáp ứng kích thước hình ảnh ban đầu. Trong nhánh khác để phát hiện cột, có thêm một lớp chập với chức năng kích hoạt ReLU và một lớp bỏ học với cùng xác suất bỏ học như đã đề cập trước đó. Các bản đồ đối tượng địa lý được lấy mẫu lên bằng cách sử dụng các chập trùng được sắp xếp theo phân đoạn sau một lớp tích chập (1 × 1). Dưới đây là hình ảnh của công trình kiến ​​trúc:

Kiến trúc của TableNet

Kết quả đầu ra: Sau khi các tài liệu được xử lý bằng cách sử dụng mô hình, các mặt nạ của bảng và cột được tạo ra. Các mặt nạ này được sử dụng để lọc ra bảng và các vùng cột của bảng khỏi hình ảnh. Bây giờ bằng cách sử dụng Tesseract OCR, thông tin được trích xuất từ ​​các vùng được phân đoạn. Dưới đây là hình ảnh hiển thị các mặt nạ được tạo và sau đó được trích xuất từ ​​các bảng:

Họ cũng đề xuất mô hình tương tự được tinh chỉnh với ICDAR hoạt động tốt hơn so với mô hình ban đầu. Điểm thu hồi, độ chính xác và điểm F1 của mô hình tinh chỉnh lần lượt là 0.9628, 0.9697, 0.9662. Mô hình ban đầu có các chỉ số được ghi lại là 0.9621, 0.9547, 0.9583 theo cùng một thứ tự. Bây giờ chúng ta hãy đi sâu vào một kiến ​​trúc nữa.


DeepDeSRT

Giấy: DeepDeSRT: Học sâu để phát hiện và nhận dạng cấu trúc của bảng trong ảnh tài liệu

Giới thiệu: DeepDeSRT là một khung công tác Mạng thần kinh được sử dụng để phát hiện và hiểu các bảng trong tài liệu hoặc hình ảnh. Nó có hai giải pháp như đã đề cập trong tiêu đề:

  1. Nó trình bày một giải pháp dựa trên học sâu để phát hiện bảng trong hình ảnh tài liệu.
  2. Nó đề xuất một cách tiếp cận dựa trên học sâu mới để nhận dạng cấu trúc bảng, tức là xác định các hàng, cột và vị trí ô trong các bảng được phát hiện.

Mô hình được đề xuất hoàn toàn dựa trên dữ liệu, nó không yêu cầu heuristics hoặc siêu dữ liệu của các tài liệu hoặc hình ảnh. Một lợi thế chính đối với việc đào tạo là họ không sử dụng các bộ dữ liệu đào tạo lớn, thay vào đó họ sử dụng khái niệm học chuyển giao và thích ứng miền cho cả phát hiện bảng và nhận dạng cấu trúc bảng.

Tập dữ liệu: Tập dữ liệu được sử dụng là tập dữ liệu cuộc thi bảng ICDAR 2013 chứa 67 tài liệu với tổng thể 238 trang.

Kiến trúc:

  • Phát hiện bảng Mô hình đề xuất sử dụng Fast RCNN làm khung cơ bản để phát hiện các bảng. Kiến trúc được chia thành hai phần khác nhau. Trong phần đầu tiên, họ đã tạo ra các đề xuất khu vực dựa trên hình ảnh đầu vào của một mạng được gọi là mạng đề xuất khu vực (RPN). Trong phần thứ hai, họ đã phân loại các khu vực bằng Fast-RCNN. Để hỗ trợ kiến ​​trúc này, họ đã sử dụng ZFNet và trọng lượng của VGG-16.
  • Nhận dạng cấu trúc Sau khi một bảng đã được phát hiện thành công và vị trí của nó được hệ thống biết, thách thức tiếp theo trong việc hiểu nội dung của nó là nhận ra và định vị các hàng và cột tạo nên cấu trúc vật lý của bảng. Do đó, họ đã sử dụng một mạng được kết nối đầy đủ với các trọng số của VGG-16 để trích xuất thông tin từ các hàng và cột. Dưới đây là kết quả đầu ra của DeepDeSRT:

Kết quả đầu ra:

Kết quả phát hiện bảng
Kết quả nhận dạng cấu trúc [6]

Kết quả đánh giá cho thấy DeepDeSRT làm tốt hơn các phương pháp hiện đại để phát hiện bảng và nhận dạng cấu trúc, đồng thời đạt được các phép đo F1 lần lượt là 96.77% và 91.44% cho phát hiện bảng và nhận dạng cấu trúc cho đến năm 2015.


Mạng Neural Đồ thị

Giấy: Suy nghĩ lại về nhận dạng bảng bằng cách sử dụng mạng thần kinh biểu đồ

Giới thiệu: Trong nghiên cứu này, các tác giả từ Phòng thí nghiệm Học sâu, Trung tâm Trí tuệ Nhân tạo Quốc gia (NCAI) đã đề xuất Mạng Neural Đồ thị để trích xuất thông tin từ các bảng. Họ lập luận rằng mạng đồ thị là một lựa chọn tự nhiên hơn cho những vấn đề này và khám phá thêm hai mạng nơron đồ thị dựa trên gradient.

Mô hình được đề xuất này kết hợp các lợi ích của cả hai, mạng nơ-ron tích tụ để trích xuất tính năng trực quan và mạng đồ thị để xử lý cấu trúc vấn đề.

Tập dữ liệu: Các tác giả đề xuất một tập dữ liệu tổng hợp lớn mới gồm 0.5 Triệu bảng được chia thành bốn loại.

  1. Hình ảnh là hình ảnh đơn giản, không có hợp nhất và có đường kẻ
  2. Hình ảnh có các loại đường viền khác nhau, bao gồm cả việc thỉnh thoảng không có đường giới hạn
  3. Giới thiệu hợp nhất ô và cột
  4. Máy ảnh đã chụp ảnh với phép chuyển đổi phối cảnh tuyến tính

Kiến trúc: Họ đã sử dụng một mạng tích chập nông tạo ra các tính năng tích chập tương ứng. Nếu kích thước không gian của các đối tượng đầu ra không giống với hình ảnh đầu vào, chúng sẽ thu thập các vị trí được thu nhỏ tuyến tính tùy thuộc vào tỷ lệ giữa kích thước đầu vào và đầu ra và gửi chúng đến mạng tương tác có hai mạng biểu đồ được gọi là DGCNN và GravNet. Các tham số của mạng đồ thị giống như CNN gốc. Cuối cùng, họ đã sử dụng lấy mẫu cặp thời gian chạy để phân loại nội dung được trích xuất nội bộ sử dụng thuật toán dựa trên Monte Carlo. Dưới đây là kết quả đầu ra:

Kết quả đầu ra:

Kết quả đầu ra được tạo bởi Graph Neural Networks

Dưới đây là các con số về độ chính xác được lập bảng do các mạng tạo ra cho bốn loại mạng như được trình bày trong Bộ dữ liệu phần:


CGAN và thuật toán di truyền

Giấy: Trích xuất bảng từ tài liệu bằng cách sử dụng mạng đối phương tạo điều kiện và thuật toán di truyền

Giới thiệu: Trong nghiên cứu này, các tác giả đã sử dụng cách tiếp cận từ trên xuống thay vì sử dụng cách tiếp cận từ dưới lên (tích hợp các dòng vào ô, hàng hoặc cột).

Trong phương pháp này, bằng cách sử dụng mạng đối địch chung, họ ánh xạ hình ảnh bảng thành một dạng bảng 'khung xương' được tiêu chuẩn hóa. Bảng khung này biểu thị đường viền hàng và cột gần đúng mà không có nội dung bảng. Tiếp theo, chúng phù hợp với kết xuất của cấu trúc bảng tiềm ẩn ứng viên với cấu trúc khung bằng cách sử dụng thước đo khoảng cách được tối ưu hóa bởi thuật toán di truyền.

Tập dữ liệu: Các tác giả đã sử dụng tập dữ liệu của riêng họ có 4000 bảng.

Kiến trúc: Mô hình được đề xuất bao gồm hai phần. Trong phần đầu tiên, các hình ảnh đầu vào được trừu tượng hóa thành các bảng khung bằng cách sử dụng mạng nơron đối phương có điều kiện. Một GAN lại có hai mạng, bộ tạo sẽ tạo ra các mẫu ngẫu nhiên và bộ phân biệt cho biết các hình ảnh được tạo ra là giả hay gốc. Generator G là mạng bộ mã hóa-giải mã trong đó hình ảnh đầu vào được chuyển qua một loạt các lớp lấy mẫu giảm dần cho đến lớp tắc nghẽn nơi quy trình được đảo ngược. Để chuyển đầy đủ thông tin đến các lớp giải mã, kiến ​​trúc U-Net với các kết nối bỏ qua được sử dụng và kết nối bỏ qua được thêm vào giữa các lớp i và n - i thông qua ghép nối, trong đó n là tổng số lớp và i là số lớp trong bộ mã hóa. Kiến trúc PatchGAN được sử dụng cho bộ phân biệt D. Điều này phạt cấu trúc hình ảnh đầu ra ở quy mô các bản vá lỗi. Chúng tạo ra đầu ra dưới dạng bảng khung.

Trong phần thứ hai, họ tối ưu hóa sự phù hợp của cấu trúc dữ liệu tiềm ẩn ứng viên với hình ảnh khung được tạo bằng cách sử dụng thước đo khoảng cách giữa mỗi ứng viên và khung. Đây là cách văn bản bên trong hình ảnh được trích xuất. Dưới đây là hình ảnh mô tả kiến ​​trúc:

Sơ đồ chung về phương pháp tiếp cận

Đầu ra: Cấu trúc bảng ước tính được đánh giá bằng cách so sánh - Số hàng và cột, Vị trí góc trên bên trái, Chiều cao hàng và chiều rộng cột

Thuật toán di truyền cho độ chính xác 95.5% theo hàng và 96.7% theo cột trong khi trích xuất thông tin từ các bảng.


Cần số hóa tài liệu, biên lai or hoá đơn nhưng quá lười biếng để viết mã? Đi qua Ống nano và xây dựng các mô hình OCR miễn phí!


[Code] Phương pháp tiếp cận truyền thống

Trong phần này, chúng ta sẽ tìm hiểu quy trình cách trích xuất thông tin từ các bảng bằng Deep Learning và OpenCV. Bạn có thể coi lời giải thích này như một lời giới thiệu, tuy nhiên, việc xây dựng các mô hình hiện đại sẽ cần rất nhiều kinh nghiệm và thực hành. Điều này sẽ giúp bạn hiểu các nguyên tắc cơ bản về cách chúng tôi có thể đào tạo máy tính với nhiều cách tiếp cận và thuật toán khả thi khác nhau.

Để hiểu vấn đề một cách chính xác hơn, chúng tôi định nghĩa một số thuật ngữ cơ bản, sẽ được sử dụng trong suốt bài viết:

  • bản văn: chứa một chuỗi và năm thuộc tính (trên cùng, trái, rộng, cao, phông chữ)
  • Dòng: chứa các đối tượng văn bản được giả định nằm trên cùng một dòng trong tệp gốc
  • Dòng đơn: đối tượng dòng chỉ với một đối tượng văn bản.
  • Nhiều dòng: đối tượng dòng có nhiều hơn một đối tượng văn bản.
  • Nhiều dòng Chặn: một tập hợp các đối tượng nhiều dòng liên tục.
  • Row: Các khối nằm ngang trong bảng
  • Cột: Khối dọc trong bảng
  • Pin: giao điểm của một hàng và cột
  • Ô - Lớp đệm: phần đệm bên trong hoặc khoảng trống bên trong ô.

Phát hiện bảng với OpenCV

Chúng tôi sẽ sử dụng các kỹ thuật thị giác máy tính truyền thống để trích xuất thông tin từ các bảng đã quét. Đây là đường dẫn của chúng tôi; ban đầu chúng tôi nắm bắt dữ liệu (các bảng từ nơi chúng tôi cần trích xuất thông tin) bằng máy ảnh thông thường, sau đó sử dụng thị giác máy tính, chúng tôi sẽ thử tìm các đường viền, cạnh và ô. Chúng tôi sẽ sử dụng các bộ lọc và đường viền khác nhau, và chúng tôi sẽ làm nổi bật các đặc điểm cốt lõi của bảng.

Chúng tôi sẽ cần một hình ảnh của một cái bàn. Chúng ta có thể chụp ảnh này trên điện thoại hoặc sử dụng bất kỳ hình ảnh hiện có nào. Dưới đây là đoạn mã,

file = r’table.png’
table_image_contour = cv2.imread(file, 0)
table_image = cv2.imread(file)

Ở đây, chúng tôi đã tải cùng một hình ảnh hình ảnh hai biến vì chúng tôi sẽ sử dụng bảng_image_contour khi vẽ các đường viền đã phát hiện của chúng tôi lên hình ảnh đã tải. Dưới đây là hình ảnh của bảng mà chúng tôi đang sử dụng trong chương trình của mình:

Hình ảnh của bảng

Chúng tôi sẽ sử dụng một kỹ thuật được gọi là Ngưỡng hình ảnh nghịch đảo giúp tăng cường dữ liệu có trong hình ảnh đã cho.

ret, thresh_value = cv2.threshold( table_image_contour, 180, 255, cv2.THRESH_BINARY_INV)

Một bước tiền xử lý quan trọng khác là sự giãn nở hình ảnh. Dilation là một phép toán đơn giản được áp dụng cho các hình ảnh nhị phân (Đen và Trắng), nó dần dần mở rộng ranh giới của các vùng của pixel nền trước (tức là pixel trắng, thường).

kernel = np.ones((5,5),np.uint8)
dilated_value = cv2.dilate(thresh_value,kernel,iterations = 1)

Trong OpenCV, chúng tôi sử dụng phương pháp, tìm đường viền để có được các đường viền trong hình ảnh hiện tại. Phương thức này nhận ba đối số, đầu tiên là hình ảnh giãn nở (hình ảnh được sử dụng để tạo hình ảnh giãn nở là table_image_contour - phương thức findContours chỉ hỗ trợ hình ảnh nhị phân), thứ hai là cv2.RETR_TREE yêu cầu chúng tôi sử dụng chế độ truy xuất đường viền, chế độ thứ ba là  cv2.CHAIN_APPROX_SIMPLE đó là chế độ xấp xỉ đường bao. Các tìm đường viền giải nén hai giá trị, do đó chúng tôi sẽ thêm một biến nữa có tên hệ thống cấp bậc. Khi các hình ảnh được lồng vào nhau, các đường viền thể hiện sự phụ thuộc lẫn nhau. Để biểu diễn các mối quan hệ như vậy, hệ thống phân cấp được sử dụng.

contours, hierarchy = cv2.findContours( dilated_value, cv2.RETR_TREE, cv2.CHAIN_APPROX_SIMPLE)

Các đường bao đánh dấu vị trí chính xác dữ liệu hiện diện trong hình ảnh. Bây giờ, chúng ta lặp lại danh sách các đường bao mà chúng ta đã tính toán ở bước trước và tính toán tọa độ của các hình hộp chữ nhật như được quan sát trong hình ảnh ban đầu bằng phương pháp,  cv2.bidingRect. Trong lần lặp cuối cùng, chúng tôi đặt các hộp đó vào table_image của hình ảnh ban đầu bằng cách sử dụng phương pháp, cv2.rectangle ().

for cnt in contours: x, y, w, h = cv2.boundingRect(cnt) # bounding the images if y < 50: table_image = cv2.rectangle(table_image, (x, y), (x + w, y + h), (0, 0, 255), 1) 

Đây là bước cuối cùng của chúng tôi. Ở đây chúng tôi sử dụng phương pháp tênWindow để hiển thị bảng của chúng tôi với nội dung được trích xuất và các đường viền được nhúng trên đó. Dưới đây là đoạn mã:

plt.imshow(table_image)
plt.show()
cv2.namedWindow('detecttable', cv2.WINDOW_NORMAL)

Kết quả đầu ra

Thay đổi giá trị của y thành 300 trong đoạn mã trên, đây sẽ là đầu ra của bạn:

Khi bạn đã trích xuất các bảng, bạn có thể chạy mọi phần cắt đường viền thông qua công cụ tesseract OCR, hướng dẫn này có thể được tìm thấy tại đây. Khi chúng ta có các hộp của mỗi văn bản, chúng ta có thể phân cụm chúng dựa trên tọa độ x và y của chúng để tìm ra hàng và cột tương ứng mà chúng thuộc về.

Ngoài ra, còn có tùy chọn sử dụng PDFMiner để biến tài liệu pdf của bạn thành tệp HTML mà chúng tôi có thể phân tích cú pháp bằng biểu thức chính quy để cuối cùng lấy bảng của mình. Đây là cách bạn có thể làm điều đó.


Phân tích cú pháp PDFMiner và Regex

Để trích xuất thông tin từ các tài liệu nhỏ hơn, đã đến lúc phải định cấu hình các mô hình học sâu hoặc viết các thuật toán thị giác máy tính. Thay vào đó, chúng ta có thể sử dụng các biểu thức chính quy trong Python để trích xuất văn bản từ các tài liệu PDF. Ngoài ra, hãy nhớ rằng kỹ thuật này không hoạt động đối với hình ảnh. Chúng tôi chỉ có thể sử dụng điều này để trích xuất thông tin từ các tệp HTML hoặc tài liệu PDF. Điều này là do, khi bạn đang sử dụng biểu thức chính quy, bạn sẽ cần phải đối sánh nội dung với nguồn và thông tin trích xuất. Với hình ảnh, bạn sẽ không thể khớp văn bản và các biểu thức chính quy sẽ không thành công. Bây giờ chúng ta hãy làm việc với một tài liệu PDF đơn giản và trích xuất thông tin từ các bảng trong đó. Dưới đây là hình ảnh:

Trong bước đầu tiên, chúng tôi tải tệp PDF vào chương trình của mình. Sau khi hoàn tất, chúng tôi chuyển đổi PDF sang HTML để có thể sử dụng trực tiếp các biểu thức chính quy và do đó, trích xuất nội dung từ các bảng. Đối với điều này, mô-đun chúng tôi sử dụng là pdfminer. Điều này giúp đọc nội dung từ PDF và chuyển đổi nó thành tệp HTML.

Dưới đây là đoạn mã:

from pdfminer.pdfinterp import PDFResourceManager from pdfminer.pdfinterp import PDFPageInterpreter
from pdfminer.converter import HTMLConverter
from pdfminer.converter import TextConverter
from pdfminer.layout import LAParams
from pdfminer.pdfpage import PDFPage
from cStringIO import StringIO
import re def convert_pdf_to_html(path): rsrcmgr = PDFResourceManager() retstr = StringIO() codec = 'utf-8' laparams = LAParams() device = HTMLConverter(rsrcmgr, retstr, codec=codec, laparams=laparams) fp = file(path, 'rb') interpreter = PDFPageInterpreter(rsrcmgr, device) password = "" maxpages = 0 #is for all caching = True pagenos=set() for page in PDFPage.get_pages(fp, pagenos, maxpages=maxpages,password=password,caching=caching, check_extractable=True): interpreter.process_page(page) fp.close() device.close() str = retstr.getvalue() retstr.close() return str

Tín dụng mã: zevross

Chúng tôi đã nhập rất nhiều mô-đun bao gồm các thư viện liên quan đến Biểu thức chính quy và PDF. Trong phương pháp chuyển đổi_pdf_to_html, chúng tôi gửi đường dẫn của tệp PDF cần được chuyển đổi sang tệp HTML. Đầu ra của phương thức sẽ là một chuỗi HTML như hình dưới đây:

'<span style="font-family: XZVLBD+GaramondPremrPro-LtDisp; font-size:12px">Changing Echoesn<br>7632 Pool Station Roadn<br>Angels Camp, CA 95222n<br>(209) 785-3667n<br>Intake: (800) 633-7066n<br>SA </span><span style="font-family: GDBVNW+Wingdings-Regular; font-size:11px">s</span><span style="font-family: UQGGBU+GaramondPremrPro-LtDisp; font-size:12px"> TX DT BU </span><span style="font-family: GDBVNW+Wingdings-Regular; font-size:11px">s</span><span style="font-family: UQGGBU+GaramondPremrPro-LtDisp; font-size:12px"> RS RL OP PH </span><span style="font-family: GDBVNW+Wingdings-Regular; font-size:11px">s</span><span style="font-family: UQGGBU+GaramondPremrPro-LtDisp; font-size:12px"> CO CJ n<br></span><span style="font-family: GDBVNW+Wingdings-Regular; font-size:11px">s</span><span style="font-family: UQGGBU+GaramondPremrPro-LtDisp; font-size:12px"> SF PI </span><span style="font-family: GDBVNW+Wingdings-Regular; font-size:11px">s</span><span style="font-family: UQGGBU+GaramondPremrPro-LtDisp; font-size:12px"> AH SPn<br></span></div>' 

Biểu thức chính quy là một trong những kỹ thuật lập trình phức tạp và thú vị nhất được sử dụng để đối sánh mẫu. Chúng được sử dụng rộng rãi trong một số ứng dụng, chẳng hạn, cho các mục đích định dạng mã, duyệt web và xác nhận. Trước khi bắt đầu trích xuất nội dung từ các bảng HTML, chúng ta hãy nhanh chóng tìm hiểu một vài điều về biểu thức chính quy.

Thư viện này cung cấp các phương thức sẵn có khác nhau để so khớp và tìm kiếm các mẫu. Dưới đây là một số:

import re # Match the pattern in the string
re.match(pattern, string) # Search for a pattern in a string
re.search(pattern, string) # Finds all the pattern in a string
re.findall(pattern, string) # Splits string based on the occurrence of pattern
re.split(pattern, string, [maxsplit=0] # Search for the pattern and replace it with the given string
re.sub(pattern, replace, string)

Các ký tự / Biểu thức bạn thường thấy trong biểu thức chính quy bao gồm:

  • [AZ] - bất kỳ chữ in hoa nào
  • d - chữ số
  • w - ký tự từ (chữ cái, chữ số và dấu gạch dưới)
  • s - khoảng trắng (dấu cách, tab và khoảng trắng)

Bây giờ để tìm ra một mẫu cụ thể trong HTML, chúng ta sử dụng các biểu thức chính quy và sau đó viết các mẫu cho phù hợp. Trước tiên, chúng tôi tách dữ liệu sao cho các khối địa chỉ được tách biệt thành các khối riêng biệt theo tên chương trình (ANGELS CAMP, APPLE VALLEY, v.v.):

pattern = '(?<=<span style="font-family: XZVLBD+GaramondPremrPro-LtDisp; font-size:12px">)(.*?)(?=<br></span></div>)' for programinfo in re.finditer(pattern, biginputstring, re.DOTALL): do looping stuff…

Sau đó, chúng tôi tìm thấy tên chương trình, thành phố, tiểu bang và mã zip luôn tuân theo cùng một mẫu (văn bản, dấu phẩy, chữ in hoa hai chữ số, 5 số (hoặc 5 số sau dấu gạch ngang bốn số) - chúng có trong tệp PDF. chúng tôi coi như đầu vào). Kiểm tra đoạn mã sau:

# To identify the program name
programname = re.search('^(?!<br>).*(?=\n)', programinfo.group(0))
# since some programs have odd characters in the name we need to escape
programname = re.escape(programname) citystatezip =re.search('(?<=>)([a-zA-Zs]+, [a-zA-Zs]{2} d{5,10})(?=\n)', programinfo.group(0))
mainphone =re.search('(?<=<br>)(d{3}) d{3}-d{4}x{0,1}d{0,}(?=\n)', programinfo.group(0))
altphones = re.findall('(?<=<br>)[a-zA-Zs]+: (d{3}) d{3}-d{4}x{0,1}d{0,}(?=\n)(?=\n)', programinfo.group(0)) 

Đây là một ví dụ đơn giản giải thích cách chúng tôi trích xuất thông tin từ tệp PDF bằng biểu thức chính quy. Sau khi trích xuất tất cả thông tin cần thiết, chúng tôi tải dữ liệu này vào tệp CSV.

def createDirectory(instring, outpath, split_program_pattern): i = 1 with open(outpath, 'wb') as csvfile: filewriter = csv.writer(csvfile, delimiter=',' , quotechar='"', quoting=csv.QUOTE_MINIMAL) # write the header row filewriter.writerow(['programname', 'address', 'addressxtra1', 'addressxtra2', 'city', 'state', 'zip', 'phone', 'altphone', 'codes']) # cycle through the programs for programinfo in re.finditer(split_program_pattern, instring, re.DOTALL): print i i=i+1 # pull out the pieces programname = getresult(re.search('^(?!<br>).*(?=\n)', programinfo.group(0))) programname = re.escape(programname) # some facilities have odd characters in the name

Vì vậy, đây là một ví dụ đơn giản giải thích cách bạn có thể đẩy HTML đã trích xuất của mình vào tệp CSV. Đầu tiên, chúng tôi tạo một tệp CSV, tìm tất cả các thuộc tính của chúng tôi và đẩy từng thuộc tính một vào các cột tương ứng của chúng. Dưới đây là ảnh chụp màn hình:

Ảnh chụp màn hình của các Mục được trích xuất từ ​​các bảng bằng Biểu thức Thông thường

Đôi khi, các kỹ thuật được thảo luận ở trên có vẻ phức tạp và đặt ra thách thức cho các lập trình viên nếu tất cả các bảng được lồng vào nhau và phức tạp. Ở đây, việc lựa chọn mô hình CV hoặc Deep learning giúp tiết kiệm rất nhiều thời gian. Hãy xem những hạn chế và thách thức nào cản trở việc sử dụng các phương pháp truyền thống này.


Những thách thức với các phương pháp truyền thống

Trong phần này, chúng ta sẽ tìm hiểu sâu về vị trí mà quy trình trích xuất bảng có thể thất bại và hiểu thêm về các cách để vượt qua những trở ngại này bằng cách sử dụng các phương pháp hiện đại ra đời từ Học sâu. Tuy nhiên, quá trình này không phải là một con đường bánh ngọt. Lý do là các bảng thường không cố định trong suốt. Chúng có các cấu trúc khác nhau để biểu diễn dữ liệu và dữ liệu bên trong bảng có thể đa ngôn ngữ với nhiều kiểu định dạng khác nhau (kiểu phông chữ, màu sắc, cỡ chữ và chiều cao). Do đó, để xây dựng một mô hình mạnh mẽ, người ta phải nhận thức được tất cả những thách thức này. Thông thường, quá trình này bao gồm ba bước: phát hiện bảng, trích xuất và chuyển đổi. Hãy xác định các vấn đề trong tất cả các giai đoạn, từng giai đoạn một:


Phát hiện bảng

Trong giai đoạn này, chúng tôi xác định vị trí chính xác các bảng hiện diện trong đầu vào đã cho. Đầu vào có thể ở bất kỳ định dạng nào, chẳng hạn như Hình ảnh, tài liệu PDF / Word và đôi khi là video. Chúng tôi sử dụng các kỹ thuật và thuật toán khác nhau để phát hiện các bảng, theo dòng hoặc theo tọa độ. Trong một số trường hợp, chúng ta có thể gặp các bảng hoàn toàn không có đường viền, nơi chúng ta cần chọn các phương pháp khác nhau. Bên cạnh những thách thức này, đây là một số thách thức khác:

  • Chuyển đổi hình ảnh: Chuyển đổi hình ảnh là bước chính trong việc phát hiện nhãn. Điều này bao gồm việc tăng cường dữ liệu và đường viền có trong bảng. Chúng ta cần chọn các thuật toán tiền xử lý thích hợp dựa trên dữ liệu được trình bày trong bảng. Ví dụ, khi chúng tôi đang làm việc với hình ảnh, chúng tôi cần áp dụng bộ phát hiện ngưỡng và cạnh. Bước chuyển đổi này giúp chúng tôi tìm thấy nội dung chính xác hơn. Trong một số trường hợp, các đường bao có thể bị sai và các thuật toán không thể nâng cao hình ảnh. Do đó, việc lựa chọn các bước chuyển đổi hình ảnh phù hợp và xử lý trước là rất quan trọng.
  • Chất lượng hình ảnh: Khi chúng tôi quét bảng để trích xuất thông tin, chúng tôi cần đảm bảo rằng các tài liệu này được quét trong môi trường sáng hơn để đảm bảo chất lượng hình ảnh tốt. Khi điều kiện ánh sáng kém, các thuật toán CV và DL có thể không phát hiện được các bảng trong các đầu vào nhất định. Nếu chúng ta đang sử dụng học sâu, chúng ta cần đảm bảo tập dữ liệu nhất quán và có một bộ hình ảnh tiêu chuẩn tốt. Nếu chúng ta sử dụng những mô hình này trên những chiếc bàn có giấy cũ nhàu nát, thì trước tiên chúng ta cần phải xử lý trước và khử nhiễu trong những bức ảnh đó.
  • Nhiều loại bố cục và mẫu cấu trúc: Tất cả các bảng không phải là duy nhất. Một ô có thể kéo dài trên một số ô, theo chiều dọc hoặc chiều ngang và sự kết hợp của các ô mở rộng có thể tạo ra một số lượng lớn các biến thể cấu trúc. Ngoài ra, một số tính năng nhấn mạnh của văn bản và các dòng trong bảng có thể ảnh hưởng đến cách hiểu cấu trúc của bảng. Ví dụ: các dòng ngang hoặc văn bản in đậm có thể nhấn mạnh nhiều tiêu đề của bảng. Cấu trúc của bảng xác định mối quan hệ giữa các ô một cách trực quan. Mối quan hệ trực quan trong bảng gây khó khăn cho việc tính toán tìm các ô liên quan và trích xuất thông tin từ chúng. Do đó, điều quan trọng là phải xây dựng các thuật toán mạnh mẽ trong việc xử lý các cấu trúc khác nhau của bảng.
  • Đệm ô, Lề, Đường viền: Đây là những yếu tố cần thiết của bất kỳ bảng nào - phần đệm, lề và đường viền không phải lúc nào cũng giống nhau. Một số bảng có nhiều phần đệm bên trong ô, và một số bảng thì không. Sử dụng hình ảnh chất lượng tốt và các bước xử lý trước sẽ giúp quá trình trích xuất bảng diễn ra suôn sẻ.

Khai thác bảng

Đây là giai đoạn mà thông tin được trích xuất sau khi các bảng được xác định. Có rất nhiều yếu tố liên quan đến cách cấu trúc nội dung và nội dung nào có trong bảng. Do đó, điều quan trọng là phải hiểu tất cả các thách thức trước khi xây dựng một thuật toán.

  • Nội dung dày đặc: Nội dung của các ô có thể là số hoặc văn bản. Tuy nhiên, nội dung văn bản thường dày đặc, chứa các đoạn văn bản ngắn không rõ ràng với việc sử dụng các từ viết tắt và viết tắt. Để hiểu các bảng, văn bản cần được phân biệt rõ ràng và các từ viết tắt và từ viết tắt cần được mở rộng.
  • Phông chữ và Định dạng khác nhau: Phông chữ thường có nhiều kiểu dáng, màu sắc và độ cao khác nhau. Chúng ta cần đảm bảo rằng đây là những thông tin chung và dễ xác định. Một số họ phông chữ, đặc biệt là những họ phông chữ thuộc dạng chữ thảo hoặc viết tay, hơi khó trích xuất. Do đó, việc sử dụng phông chữ tốt và định dạng phù hợp sẽ giúp thuật toán xác định thông tin chính xác hơn.
  • Nhiều trang PDF và ngắt trang: Dòng văn bản trong bảng nhạy cảm với ngưỡng được xác định trước. Ngoài ra, với việc mở rộng các ô trên nhiều trang, việc xác định các bảng trở nên khó khăn. Trên một trang có nhiều bảng, rất khó để phân biệt các bảng khác nhau với nhau. Khó làm việc với các bàn thưa và không đều. Do đó, các đường kẻ và bố cục nội dung nên được sử dụng cùng nhau như những nguồn quan trọng để xác định vùng bảng.

Chuyển đổi bảng

Giai đoạn cuối cùng bao gồm chuyển đổi thông tin trích xuất từ ​​các bảng để biên dịch chúng dưới dạng tài liệu có thể chỉnh sửa, bằng excel hoặc sử dụng phần mềm khác. Hãy cùng tìm hiểu về một vài thách thức.

  • Đặt bố cục: Khi các định dạng bảng khác nhau được trích xuất từ ​​các tài liệu được quét, chúng ta cần có bố cục bảng phù hợp để đẩy nội dung vào. Đôi khi, thuật toán không trích xuất được thông tin từ các ô. Do đó, việc thiết kế một bố cục hợp lý cũng không kém phần quan trọng.
  • Các mẫu trình bày giá trị đa dạng: Giá trị trong ô có thể được trình bày bằng cách sử dụng các mẫu biểu diễn cú pháp khác nhau. Coi văn bản trong bảng là 6 ± 2. Thuật toán có thể không chuyển đổi được thông tin cụ thể đó. Do đó, việc trích xuất các giá trị số yêu cầu kiến ​​thức về các mẫu trình bày có thể có.
  • Đại diện cho hình dung: Hầu hết các định dạng biểu diễn cho bảng, chẳng hạn như ngôn ngữ đánh dấu trong đó bảng có thể được mô tả, được thiết kế để trực quan hóa. Do đó, việc tự động xử lý các bảng là một thách thức.

Đây là những thách thức mà chúng tôi phải đối mặt trong quá trình trích xuất bảng bằng kỹ thuật truyền thống. Bây giờ chúng ta hãy xem làm thế nào để khắc phục những điều này với sự trợ giúp của Học sâu. Nó đang được nghiên cứu rộng rãi trong các lĩnh vực khác nhau.



Cần số hóa tài liệu, biên lai hoặc hoá đơn nhưng quá lười biếng để viết mã? Đi qua Ống nano và xây dựng các mô hình OCR miễn phí!


Tổng kết

Trong bài viết này, chúng tôi đã xem xét chi tiết về việc trích xuất thông tin từ các bảng. Chúng tôi đã thấy cách các công nghệ hiện đại như Deep Learning và Computer Vision có thể tự động hóa các tác vụ thông thường bằng cách xây dựng các thuật toán mạnh mẽ để đưa ra kết quả chính xác. Trong các phần đầu tiên, chúng ta đã tìm hiểu về vai trò của trích xuất bảng trong việc tạo thuận lợi cho các nhiệm vụ cá nhân, ngành và lĩnh vực kinh doanh ', đồng thời cũng xem xét các trường hợp sử dụng chi tiết về trích xuất bảng từ PDF / HTML, tự động hóa biểu mẫu, hóa đơn Tự động hóa, v.v. Chúng tôi đã mã hóa một thuật toán sử dụng Computer Vision để tìm vị trí của thông tin trong các bảng bằng cách sử dụng các kỹ thuật phát hiện ngưỡng, giãn nở và đường viền. Chúng tôi đã thảo luận về những thách thức mà chúng tôi có thể gặp phải trong quá trình phát hiện bảng, trích xuất và chuyển đổi khi sử dụng các kỹ thuật thông thường và nêu rõ cách học sâu có thể giúp chúng tôi khắc phục những vấn đề này. Cuối cùng, chúng tôi đã xem xét một vài kiến ​​trúc mạng nơ-ron và hiểu các cách của chúng để đạt được việc trích xuất bảng dựa trên dữ liệu đào tạo đã cho.



Cập nhật:
‌ Đã thêm nhiều tài liệu đọc hơn về các cách tiếp cận khác nhau trong phát hiện bảng và trích xuất thông tin bằng cách sử dụng học sâu.

Dấu thời gian:

Thêm từ AI & Máy học