OCR cho PDF

Nút nguồn: 879686

Giới thiệu

Kể từ khi máy tính được sử dụng rộng rãi vào những năm 1970 sau khi phát minh ra tệp PDF vào năm 1993, việc lưu trữ các tệp văn bản ở định dạng kỹ thuật số đã dần dần chiếm ưu thế so với các loại giấy truyền thống. Lợi thế bất bại này được tạo ra và nâng cao hơn nữa bằng cách đi nhờ xe vì sự tiện lợi của Internet cho phép dễ dàng gửi các tệp văn bản kỹ thuật số đi khắp nơi trên thế giới chỉ trong vài giây. Ngày nay, không chỉ các văn bản được mã hóa bằng máy được lưu và chia sẻ qua PDF, ngay cả các giấy tờ của tài liệu viết tay cũng được quét thành các định dạng như vậy để xử lý và phân phối thêm.

Tuy nhiên, xu hướng mới nổi này đã làm sáng tỏ một lĩnh vực nghiên cứu mới và hiện đang được tiến hành - Nhận dạng ký tự quang học PDF (OCR). OCR là quá trình chuyển đổi văn bản được quét hoặc viết tay thành văn bản được mã hóa bằng máy, sao cho nó có thể được các chương trình tiếp tục sử dụng để xử lý và phân tích thêm. Mặc dù ứng dụng của OCR rất rộng (từ hình ảnh biển báo đường đến tài liệu văn bản chính thức), bài viết này đi sâu cụ thể vào lĩnh vực PDF OCR, đặc biệt là các tệp PDF trên giấy được quét và viết tay, đồng thời thảo luận về công nghệ và chương trình bằng nhiều ngôn ngữ khác nhau để thực hiện nhiệm vụ. Tổng quan chi tiết và so sánh giữa một số phần mềm hiện có trên thị trường dành cho PDF OCR sẽ được trình bày thêm để tham khảo.


Tìm kiếm một giải pháp OCR để trích xuất thông tin từ các tệp PDF? Cung cấp Nanonetmột vòng quay để có độ chính xác cao hơn, tính linh hoạt cao hơn, xử lý hậu kỳ và một loạt các tích hợp!


Những tiến bộ trong Giải pháp OCR

Trước khi thảo luận về mã, chi tiết và lợi ích của OCR, trước tiên chúng ta giải thích khái niệm về cách hoạt động của OCR bằng cách giới thiệu những tiến bộ trong công nghệ liên quan.

OCR truyền thống

Việc chuyển đổi điện tử các tài liệu được quét để tính toán thêm, trước khi học sâu đáp ứng độ chính xác cần thiết cho các tác vụ như vậy, thường được thực hiện với bốn bước đơn giản:

  1. Thu thập cơ sở dữ liệu về các ký tự đã biết.
  2. Sử dụng bộ cảm quang để tập hợp và tách các chữ cái riêng lẻ khỏi các tài liệu được quét.
  3. So sánh tập hợp các thuộc tính được truy xuất từ ​​bộ cảm quang với các thuộc tính vật lý từ cơ sở dữ liệu.
  4. Chuyển đổi từng bộ thuộc tính tương ứng thành ký tự đã biết có độ tương đồng cao nhất.

Mặc dù cách tiếp cận truyền thống dường như có hiệu quả trong phần lớn thời gian, nhưng nó lại dễ bị ảnh hưởng bởi những hạn chế dựa trên quy tắc vốn có của nó. Một bước trung gian quan trọng của OCR là trích xuất thành công các chữ cái hoặc dấu hiệu đơn lẻ từ một nhóm / nhóm văn bản. Việc trích xuất này yêu cầu các mẫu hoặc quy tắc nhất định (tức là các kích thước / kiểu phông chữ đặt trước) để nó có độ chính xác cao. Việc áp đặt ngày càng nhiều quy tắc để tăng độ chính xác sẽ tạo ra tình thế tiến thoái lưỡng nan về việc trang bị quá nhiều OCR hoặc chỉ sửa trên các kiểu văn bản cụ thể. Bất kỳ sự mâu thuẫn nào về ánh sáng trong quá trình quét cũng sẽ dẫn đến lỗi khi OCR hoàn toàn dựa trên quy tắc.

Ngoài ra, việc so sánh thuộc tính dựa trên quy tắc cũng không thành công khi xử lý các bài viết tay. Phông chữ do máy tính tạo ra chủ yếu là cố định với các thuộc tính thường rõ ràng và dễ so sánh chéo - phông chữ viết tay hoàn toàn ngược lại, với các biến thể không giới hạn và do đó khó phân loại hơn nhiều. Vì mỗi lần ký tự được tạo thủ công hơi khác nhau, nên không thể đưa tất cả chúng vào cơ sở dữ liệu. Điều này thường yêu cầu OCRs thực hiện các thuật toán phức tạp hơn bên cạnh việc so khớp thuộc tính ngây thơ.

Cuối cùng, rào cản của nhiều ngôn ngữ cũng tồn tại trong cách tiếp cận truyền thống. Nhiều ngôn ngữ sử dụng các ký hiệu tương tự hoặc thậm chí giống hệt nhau; nếu chúng tôi lưu trữ tất cả các ký hiệu vào cơ sở dữ liệu, chúng tôi sẽ không thể phân biệt được sự khác biệt giữa hai ký hiệu chỉ bằng cách thực hiện đối sánh thuộc tính, điều này cuối cùng khiến cho cách tiếp cận truyền thống thường bị giới hạn ở một ngôn ngữ cho mỗi mô hình.

Trong bối cảnh kỷ nguyên học sâu gần đây, được may mắn mang lại bởi khả năng tính toán phần cứng đang phát triển nhanh chóng, các OCR mới hơn đã kết hợp các mô hình học tập cả trong quá trình trích xuất văn bản và trong giai đoạn giải thích chúng.

Công cụ OCR dựa trên học sâu

Học sâu, một nhánh chính của lĩnh vực học máy, đã trở nên phổ biến rộng rãi với sự giúp đỡ của nhiều nhà khoa học nổi tiếng, thúc đẩy nó lên hàng đầu. Trong kỹ thuật truyền thống, mục tiêu của chúng tôi là thiết kế một hệ thống / chức năng tạo ra đầu ra từ một đầu vào nhất định; Mặt khác, học sâu dựa vào các đầu vào và đầu ra để tìm ra mối quan hệ trung gian có thể được mở rộng sang dữ liệu mới chưa từng thấy thông qua cái gọi là mạng lưới thần kinh.

Kiến trúc mạng thần kinh

Mạng nơ-ron hay còn gọi là perceptron nhiều lớp bắt chước cách bộ não con người học. Mỗi nút, cụ thể là các nơ-ron, bên trong mạng giống như các nơ-ron sinh học để chúng nhận thông tin để “kích hoạt”. Các tập hợp tế bào thần kinh tạo thành các lớp và nhiều lớp xếp chồng lên nhau để trở thành một mạng lưới, sử dụng thông tin để tạo ra một dự đoán. Dự đoán có thể ở mọi dạng, từ dự đoán lớp cho các bài toán phân loại đến các hộp giới hạn của các mục trong nhiệm vụ phát hiện đối tượng - tất cả đều đạt được trình độ tân tiến so với các bài báo trước đây. Trong nhiệm vụ của OCR, hai loại đầu ra, cùng với hai thể loại mạng, được áp dụng nhiều.

  • Mạng thần kinh hợp pháp (CNN) - CNN là một trong những tập hợp mạng chiếm ưu thế nhất được sử dụng ngày nay, đặc biệt là trong lĩnh vực thị giác máy tính. Nó bao gồm nhiều hạt nhân phức hợp trượt qua hình ảnh để trích xuất các tính năng. Đồng hành với các lớp mạng truyền thống ở phần cuối, CNN rất thành công trong việc truy xuất các tính năng từ một hình ảnh nhất định để thực hiện các dự đoán. Quá trình này có thể được chuyển sang nhiệm vụ tìm các hộp giới hạn và phát hiện các thuộc tính của các ký tự để phân loại thêm trong quá trình OCR.
  • Ký ức dài hạn trong ngắn hạn (LSTM) – LSTM là một họ mạng được áp dụng chủ yếu cho các đầu vào chuỗi. Trực giác rất đơn giản — đối với bất kỳ dữ liệu tuần tự nào (ví dụ: thời tiết, chứng khoán), kết quả mới có thể phụ thuộc nhiều vào kết quả trước đó và do đó sẽ có ích khi liên tục chuyển tiếp các kết quả trước đó như một phần của tính năng đầu vào khi thực hiện dự đoán mới . Trong trường hợp OCR, các chữ cái được phát hiện trước đó có thể hỗ trợ rất nhiều để giúp dự đoán chữ tiếp theo, vì một tập hợp các ký tự thường có ý nghĩa khi đặt cùng nhau (ví dụ: chữ cái tiếng Anh “g” có nhiều khả năng xuất hiện sau “do” hơn số “9”, mặc dù chúng có thuộc tính tương tự nhau).

Bên cạnh các nhiệm vụ chính trong OCR kết hợp học sâu, nhiều giai đoạn xử lý trước để loại bỏ các phương pháp tiếp cận dựa trên quy tắc cũng là những người hưởng lợi từ các công nghệ mạng nơ-ron đang phát triển mạnh:

  • Giảm nhiễu - Khi một tài liệu được quét không đúng cách, các phương pháp dựa trên quy tắc có thể dễ dàng bị thiếu. Một cách tiếp cận gần đây được áp dụng bởi các công nghệ OCR là áp dụng Mạng đối thủ chung (GAN) để “khử” đầu vào. GAN bao gồm hai mạng, một bộ tạo và một bộ phân biệt. Bộ tạo liên tục tạo ra các đầu vào mới để bộ phân biệt phân biệt giữa các đầu vào thực tế và được tạo, cho phép bộ tạo không ngừng cải tiến trong việc tạo ra các nội dung lý tưởng. Trong trường hợp này, GAN được đào tạo từ một cặp tài liệu được khử danh tính và tài liệu bị giấu tên, và mục tiêu của trình tạo là tạo ra một tài liệu được khử danh tính càng gần với sự thật cơ bản càng tốt. Trong giai đoạn ứng dụng, GAN, nếu được đào tạo tốt, sau đó có thể được sử dụng trên mọi đầu vào để lọc bất kỳ tài liệu nào được quét kém.
  • Nhận dạng tài liệu - Các tác vụ OCR, đặc biệt là các tác vụ OCR trên PDF, thường được sử dụng cho mục đích trích xuất dữ liệu từ các biểu mẫu và tài liệu một cách hợp lý. Do đó, biết loại tài liệu mà máy OCR hiện đang xử lý có thể làm tăng đáng kể độ chính xác của việc trích xuất dữ liệu. Các ngành nghệ thuật gần đây đã kết hợp mạng Siamese, hoặc mạng so sánh, để so sánh các tài liệu với các định dạng tài liệu đã có từ trước, cho phép công cụ OCR thực hiện phân loại tài liệu trước đó. Bước bổ sung này đã được thực nghiệm cho thấy để cải thiện độ chính xác trong việc truy xuất văn bản.

Tóm lại, sự phát triển của OCR đã được hưởng lợi bởi sự phát triển theo cấp số nhân của các khả năng phần cứng và học sâu. PDF OCR hiện đã đạt được độ chính xác đến một tiêu chuẩn đáng kinh ngạc cho nhiều ứng dụng.


Tìm kiếm một giải pháp OCR để trích xuất thông tin từ các tệp PDF? Cung cấp Nanonetmột vòng quay để có độ chính xác cao hơn, tính linh hoạt cao hơn, xử lý hậu kỳ và một loạt các tích hợp!


Các ứng dụng của Phần mềm PDF OCR

Mục tiêu chính của OCR là truy xuất dữ liệu từ các định dạng không có cấu trúc, cho dù đó là số liệu hoặc số thực. Nếu truy xuất thành công và có độ chính xác cao, các chương trình có thể sử dụng OCR cho các nhiệm vụ lao động như nhận dạng và giải thích văn bản, đặc biệt cho phân tích số và ngữ cảnh.

Phân tích dữ liệu số

Khi các tệp PDF chứa dữ liệu số, OCR sẽ giúp trích xuất chúng để thực hiện phân tích thống kê. Cụ thể, OCR với sự trợ giúp của phép chiết xuất bảng hoặc cặp khóa-giá trị (KVP) có thể được áp dụng để tìm các số có ý nghĩa từ các vùng khác nhau của một văn bản nhất định. Sau đó, chúng tôi có thể áp dụng các phương pháp thống kê hoặc thậm chí là học máy (ví dụ: KNN, K-Means, Hồi quy tuyến tính / Logistic) cho các mô hình của các ứng dụng khác nhau

Diễn giải dữ liệu văn bản

Mặt khác, việc xử lý dữ liệu văn bản có thể đòi hỏi nhiều giai đoạn tính toán hơn, với mục đích cuối cùng là các chương trình hiểu được “ý nghĩa” đằng sau các từ. Quá trình diễn giải dữ liệu văn bản thành ý nghĩa ngữ nghĩa như vậy được gọi là Xử lý ngôn ngữ tự nhiên (NLP).

Lợi ích của PDF OCR

PDF OCR phục vụ nhiều mục đích ở cấp ứng dụng. Các phần sau đây mô tả một số trường hợp sử dụng ví dụ, từ nhỏ như sử dụng cá nhân đến lớn như của một công ty.

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

PDF OCR mang lại sự tiện lợi to lớn khi giải quyết các tác vụ khó chịu như quét ID và tài chính cá nhân.

ID cá nhân thường được yêu cầu chuyển đổi thành định dạng PDF để gửi đến các ứng dụng khác nhau. Các tài liệu nhận dạng này chứa thông tin như ngày sinh và số ID thường được yêu cầu nhập lặp lại cho các mục đích khác nhau và do đó, một PDF OCR có độ chính xác cao tìm thấy các trường phù hợp và giá trị tương ứng trên ID sẽ rất tốt trợ giúp trong việc thực hiện các công việc thủ công tầm thường. Lao động duy nhất cần thiết là chỉ cần kiểm tra lại xem có bất kỳ sự không nhất quán nào không.

Tài chính Cá nhân là một quá trình khác đòi hỏi rất nhiều lao động chân tay. Mặc dù sự phát triển trong excel và bảng tính đã giúp giảm bớt các nhiệm vụ như lập ngân sách cá nhân, OCR và trích xuất dữ liệu trên hóa đơn PDF có thể đẩy nhanh quá trình này hơn nữa. Dữ liệu này có thể được tự động đưa vào bảng tính để phân tích như đã đề cập trong các phần trước để tiến hành. Người ta có thể dễ dàng tận dụng thời gian quan trọng ban đầu để nghĩ ra các kế hoạch tài chính tốt hơn.

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

Cả các tập đoàn lớn và các tổ chức nhỏ hơn đều phải giải quyết hàng nghìn công việc giấy tờ theo các định dạng tương tự, đòi hỏi nhiều lao động nhưng không mang lại hiệu quả (tức là, tất cả lao động được sử dụng cho một việc đòi hỏi ít động não hơn). Phân loại tài liệu tự động và thu thập / phân tích khảo sát là những nơi OCR có ích.

OCR cho phép máy tính chuyển đổi văn bản được quét thành văn bản được mã hóa bằng máy. Nội dung của các văn bản được chuyển đổi sau đó có thể được sử dụng để phân loại tài liệu, cho dù đó là các ứng dụng cho các vai trò hoặc hình thức khác nhau đang chờ được phê duyệt. Nếu được đào tạo tốt, OCR có thể dẫn đến những sai sót nhỏ nhất mà có thể xảy ra thường xuyên do sự mệt mỏi của con người không thể tránh khỏi. Từ góc độ kinh doanh, chi phí lao động cũng có thể giảm đáng kể.

Về mặt khảo sát hoặc phản hồi, thường được các tổ chức yêu cầu để cải thiện sản phẩm hoặc kế hoạch hiện tại của họ, OCR cũng đóng một vai trò quan trọng. Dữ liệu có thể nhanh chóng được trích xuất và đánh giá rộng rãi để phân tích thống kê. Nếu được thiết kế tốt, ngay cả văn bản viết tay cũng có thể được trích xuất và phân tích tự động.


Tìm kiếm một giải pháp OCR để trích xuất thông tin từ các tệp PDF? Cung cấp Nanonetmột vòng quay để có độ chính xác cao hơn, tính linh hoạt cao hơn, xử lý hậu kỳ và một loạt các tích hợp!


Hướng dẫn đơn giản

PDF OCRs thực sự có thể được lập trình cá nhân một cách dễ dàng. Sau đây là một quy trình đơn giản để thực hiện OCR trên các tệp PDF.

Chuyển đổi PDF sang hình ảnh

Có rất nhiều thư viện và API bằng nhiều ngôn ngữ hỗ trợ OCRs được đào tạo trước. Tuy nhiên, hầu hết chúng xử lý bằng hình ảnh chứ không phải trực tiếp PDF. Do đó, để đơn giản hóa các bước sau, chúng tôi có thể xử lý trước các tệp PDF thành các định dạng hình ảnh trước khi thực hiện nhận dạng ký tự.

Một trong những thư viện được sử dụng phổ biến nhất để làm như vậy là pdf2hình ảnh thư viện cho Python, có thể được cài đặt đơn giản thông qua lệnh sau:

pip install pdf2image

Sau đó, người ta có thể nhập libary và sử dụng bất kỳ dòng nào trong số hai dòng mã để có được hình ảnh ở định dạng PIL như sau:

from pdf2image import convert_from_path, convert_from_bytes
from pdf2image.exceptions import ( PDFInfoNotInstalledError, PDFPageCountError, PDFSyntaxError
) images = convert_from_path('/home/belval/example.pdf')
images = convert_from_bytes(open('/home/belval/example.pdf','rb').read())

Để biết thêm thông tin về mã, bạn có thể tham khảo tài liệu chính thức trong https://pypi.org/project/pdf2image/

Hình ảnh OCR

Có rất nhiều API từ các công ty công nghệ lớn với OCRs chính xác cao. Do giả định rằng các tệp PDF thường được đóng gói cao với dữ liệu văn bản dày đặc, cách phù hợp nhất để thực hiện OCR như vậy sẽ là sử dụng API Google Vision, đặc biệt là Tài liệu_Văn bản_Chú thích hoạt động vì nó được thiết kế đặc biệt cho các mục đích như vậy. Đặc biệt, Tài liệu_Văn bản_Chú thích gửi mã tới công cụ OCR mà Google đã thiết kế cho các văn bản dày đặc, bao gồm cả các bản viết tay bằng nhiều ngôn ngữ khác nhau.

Toàn bộ API Google Vision rất dễ thiết lập, người ta có thể tham khảo hướng dẫn chính thức của nó về https://cloud.google.com/vision/docs/quickstart-client-libraries để biết thủ tục thiết lập chi tiết.

Sau đó, chúng tôi có thể sử dụng các mã sau để truy xuất OCR:

def detect_document(path): """Detects document features in an image.""" from google.cloud import vision import io client = vision.ImageAnnotatorClient() with io.open(path, 'rb') as image_file: content = image_file.read() image = vision.Image(content=content) response = client.document_text_detection(image=image) for page in response.full_text_annotation.pages: for block in page.blocks: print('nBlock confidence: {}n'.format(block.confidence)) for paragraph in block.paragraphs: print('Paragraph confidence: {}'.format( paragraph.confidence)) for word in paragraph.words: word_text = ''.join([ symbol.text for symbol in word.symbols ]) print('Word text: {} (confidence: {})'.format( word_text, word.confidence)) for symbol in word.symbols: print('tSymbol: {} (confidence: {})'.format( symbol.text, symbol.confidence)) if response.error.message: raise Exception( '{}nFor more info on error messages, check: ' 'https://cloud.google.com/apis/design/errors'.format( response.error.message))

Ngoài ra, Google Vision API cũng hỗ trợ nhiều ngôn ngữ, chẳng hạn như Java và Go. Bạn có thể truy xuất thêm mã liên quan đến việc sử dụng Google API tại đây: https://cloud.google.com/vision  

Ngoài ra còn có các dịch vụ / API OCR khác từ Amazon và Microsoft và bạn luôn có thể sử dụng PyTesseract thư viện để đào tạo trên mô hình của bạn cho các mục đích cụ thể.


Tìm kiếm một giải pháp OCR để trích xuất thông tin từ các tệp PDF? Cung cấp Nanonetmột vòng quay để có độ chính xác cao hơn, tính linh hoạt cao hơn, xử lý hậu kỳ và một loạt các tích hợp!


sự so sánh

Có rất nhiều PDF OCR hiện có sẵn trên thị trường. Trong khi một số miễn phí, nhanh chóng và có thể được sử dụng trực tuyến ngay lập tức, những người khác cung cấp các sản phẩm chính xác hơn và được thiết kế tốt hơn để sử dụng chuyên nghiệp. Ở đây chúng tôi mô tả một số tùy chọn, cũng như ưu và nhược điểm của chúng.

OCR PDF trực tuyến

Khi sử dụng PDF OCRs cho mục đích cá nhân trên các chuyển đổi nhanh chóng, miễn phí và nhanh chóng có thể được mong muốn hơn là độ chính xác. Có rất nhiều dịch vụ PDF OCR trực tuyến phục vụ những nhu cầu này. Người ta có thể chỉ cần tải lên các tài liệu PDF và được chuyển thành văn bản một cách nhanh chóng và thuận tiện.

Tuy nhiên, vấn đề chính của vấn đề này là việc kiểm soát chất lượng của OCR. Phần mềm OCR miễn phí trực tuyến này, mặc dù chúng hoạt động tốt hầu hết thời gian, nhưng không bị ràng buộc phải cung cấp đầu ra chất lượng tốt nhất mỗi lần so với các phần mềm ngoại tuyến khác yêu cầu bảo trì liên tục

Phần mềm ngoại tuyến

Hiện tại, có một số công ty cung cấp dịch vụ PDF OCR có độ chính xác cao. Ở đây chúng tôi xem xét một số tùy chọn của PDF OCR chuyên về các khía cạnh khác nhau, cũng như một số nguyên mẫu nghiên cứu gần đây dường như cung cấp kết quả đầy hứa hẹn:

Có nhiều dịch vụ OCR được nhắm mục tiêu đến các tác vụ như hình ảnh trong môi trường hoang dã. Chúng tôi đã bỏ qua các dịch vụ đó vì chúng tôi hiện chỉ tập trung vào đọc tài liệu PDF.

  • ABBYY - ABBYY FineReader PDF là một OCR được phát triển bởi ABBYY. Phần mềm có giao diện người dùng thân thiện được sử dụng để đọc PDF và chuyển đổi văn bản. Tuy nhiên, với tính chất phi kỹ thuật của nó (khách hàng mục tiêu là các chuyên gia phi công nghệ trong các lĩnh vực khác cần PDF OCR), sẽ khó khăn hơn khi kết hợp nó vào các chương trình khác để xử lý thêm.
  • Kofax - Tương tự như ABBYY, Kofax là một trình đọc PDF thân thiện yêu cầu mua. Giá cố định cho việc sử dụng cá nhân, có chiết khấu cho các tập đoàn lớn. Hỗ trợ 24/7 cũng có sẵn trong trường hợp có bất kỳ khó khăn kỹ thuật nào.
  • Trình đọc sâu - Deep Reader là một công trình nghiên cứu được công bố trong Hội nghị ACCV 2019. Nó kết hợp nhiều kiến ​​trúc mạng hiện đại để thực hiện các tác vụ như đối sánh tài liệu, truy xuất văn bản và làm giảm hình ảnh. Có các tính năng bổ sung như bảng và chiết xuất cặp khóa-giá trị cho phép dữ liệu được truy xuất và lưu một cách có tổ chức.
  • Nanonets ™ - Nanonets ™ PDF OCR sử dụng học sâu và do đó hoàn toàn độc lập với khuôn mẫu và quy tắc. Nanonet không chỉ có thể hoạt động trên các loại PDF cụ thể, nó còn có thể được áp dụng trên bất kỳ loại tài liệu nào để truy xuất văn bản.

Kết luận

Tóm lại, trong bài viết này, chúng tôi đã giới thiệu cho các bạn những điều cơ bản về cách hoạt động của OCR, cũng như tiến trình phát triển OCR, sau đó là các hướng dẫn và trường hợp sử dụng đơn giản. Chúng tôi cũng đã trình bày một tập hợp các tùy chọn khả thi cho PDF OCR cũng như những ưu và nhược điểm của chúng để sử dụng thêm.

Nguồn: https://nanonets.com/blog/pdf-ocr/

Dấu thời gian:

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