ইনভয়েস পার্স - পিডিএফ এবং স্ক্যান করা ডকুমেন্ট প্লেটোব্লকচেন ডেটা ইন্টেলিজেন্সের জন্য ইনভয়েস ডেটা এক্সট্রাকশন। উল্লম্ব অনুসন্ধান. আ.

চালান পার্স - পিডিএফ এবং স্ক্যান করা নথিগুলির জন্য চালান ডেটা নিষ্কাশন

যদি আপনাকে কখনও ম্যানুয়ালি একটি চালান প্রক্রিয়া করতে হয়, আপনি জানেন যে প্রক্রিয়াটি কতটা সময়সাপেক্ষ এবং ক্লান্তিকর হতে পারে। উল্লেখ করার মতো নয়, এটি ভুলের প্রবণতা কারণ আপনি যখন হাত দিয়ে সবকিছু করছেন তখন কিছু মিস করা সহজ।

এখানেই ইনভয়েস পার্সার আসে। এই টুলগুলি ইনভয়েস থেকে ডেটা বের করার প্রক্রিয়াকে স্বয়ংক্রিয় করে, যার ফলে আপনার প্রয়োজনীয় তথ্য দ্রুত এবং সহজে পাওয়া যায়। এটি আপনাকে অনেক সময় এবং ঝামেলা বাঁচাতে পারে এবং আপনার চালানগুলি সঠিকভাবে প্রক্রিয়া করা হয়েছে তা নিশ্চিত করতে সহায়তা করে৷

এই নিবন্ধটি চালান পার্সার ব্যবহার করে চালান ডেটা নিষ্কাশনের প্রক্রিয়াটি অন্বেষণ করে, টেবিল নিষ্কাশন, উন্নত ওসিআর এবং গভীর শিক্ষা সহ এটি করার জন্য কিছু সেরা পদ্ধতির আলোচনার সাথে।

আমরা ম্যানুয়াল প্রক্রিয়াকরণের মাধ্যমে স্বয়ংক্রিয় চালান ডেটা নিষ্কাশনের সুবিধাগুলিও পরীক্ষা করব৷ এর ডানে ডুব দেওয়া যাক.

একটি চালান পার্সার কি?

একটি চালান পার্সার হল এক ধরণের সফ্টওয়্যার যা চালান নথিগুলি পড়তে এবং ব্যাখ্যা করার জন্য ডিজাইন করা হয়েছে। এর মধ্যে PDF, ছবি এবং অন্যান্য ধরনের ফাইল থাকতে পারে।

একটি চালান পার্সারের উদ্দেশ্য হল একটি চালান থেকে মূল তথ্য বের করা, যেমন চালান আইডি, মোট বকেয়া পরিমাণ, চালানের তারিখ, গ্রাহকের নাম ইত্যাদি। চালান পার্সার ম্যানুয়াল ডেটা নিষ্কাশন থেকে হতে পারে এমন ভুলগুলি এড়িয়ে সঠিকতা নিশ্চিত করতে সাহায্য করতে পারে।

এই তথ্য তারপর বিভিন্ন উদ্দেশ্যে ব্যবহার করা যেতে পারে, যেমন এপি অটোমেশন, মাস শেষে অ্যাকাউন্টিং বন্ধ প্রক্রিয়া, এবং চালান ব্যবস্থাপনা।

চালান পার্সারগুলি স্বতন্ত্র প্রোগ্রাম হতে পারে বা বৃহত্তর ব্যবসায়িক সফ্টওয়্যার সিস্টেমে একত্রিত হতে পারে। এই টুলগুলি টিমগুলিকে রিপোর্ট তৈরি করা বা ডেটা রপ্তানি করা সহজ করে তোলে, যেমন এক্সেল এবং প্রায়শই অন্যান্য ব্যবসা পরিচালনার অ্যাপ্লিকেশনগুলির সাথে ব্যবহার করা হয়।

বাজারে বিভিন্ন ইনভয়েস পার্সিং সফ্টওয়্যার সমাধান রয়েছে, তাই আপনার নির্দিষ্ট চাহিদা পূরণ করে এমন একটি নির্বাচন করা অপরিহার্য।

কিভাবে একটি চালান পার্সার কাজ করে?

চালান পার্সার কীভাবে কাজ করে তা বোঝার জন্য, পার্সারদের কাজের জ্ঞান থাকা গুরুত্বপূর্ণ।

পার্সার একটি নির্দিষ্ট মার্কআপ ভাষায় লেখা নথিগুলিকে ব্যাখ্যা করতে এবং প্রক্রিয়া করতে ব্যবহৃত হয়। তারা দস্তাবেজটিকে ছোট ছোট টুকরো টুকরো করে, যাকে টোকেন বলা হয়, এবং তারপর প্রতিটি টোকেন বিশ্লেষণ করে এর অর্থ নির্ধারণ করে এবং কীভাবে এটি নথির সামগ্রিক কাঠামোতে ফিট করে।

এটি করার জন্য, পার্সারদের অবশ্যই ব্যবহৃত মার্কআপ ভাষার ব্যাকরণ সম্পর্কে দৃঢ় ধারণা থাকতে হবে। এটি তাদের পৃথক টোকেন সনাক্ত করতে এবং তাদের মধ্যে সম্পর্ক সঠিকভাবে বুঝতে দেয়। পার্সারের উপর নির্ভর করে, এই প্রক্রিয়াটি ম্যানুয়াল বা স্বয়ংক্রিয় হতে পারে। ম্যানুয়াল পার্সারদের জন্য কাউকে ডকুমেন্টের মধ্য দিয়ে যেতে এবং প্রতিটি টোকেন সনাক্ত করতে হয়, যখন স্বয়ংক্রিয় পার্সাররা স্বয়ংক্রিয়ভাবে টোকেন সনাক্ত করতে এবং প্রক্রিয়া করতে অ্যালগরিদম ব্যবহার করে। যেভাবেই হোক, মার্কআপ ল্যাঙ্গুয়েজে লিখিত নথির বোধগম্য করতে পার্সাররা অপরিহার্য ভূমিকা পালন করে।

ডেটা নিষ্কাশনে, চালান পার্সিং একটি চালান নথি বিশ্লেষণ করতে পারে এবং প্রাসঙ্গিক তথ্য বের করতে পারে।

উদাহরণ স্বরূপ, সেই ক্ষেত্রে বিবেচনা করুন যেখানে আপনাকে অনেক ইনভয়েস দেওয়া হয়েছে এবং সেগুলি থেকে একটি কাঠামোগত বিন্যাসে ডেটা সংরক্ষণ করতে চান৷ চালান পার্সিং আপনাকে সমস্ত ফাইল লোড করতে এবং অপটিক্যাল ক্যারেক্টার রিকগনিশন (OCR) চালাতে সক্ষম করে যাতে ডেটা পড়া যায় এবং কয়েক মিনিটের মধ্যে সমস্ত কী-মান জোড়া বের করা যায়। এরপর, আপনি JSON বা CSV-এর মতো আরও পঠনযোগ্য ফর্ম্যাটে সংরক্ষণ করতে কিছু পোস্ট-প্রসেসিং অ্যালগরিদম ব্যবহার করতে পারেন। আপনি এটিও করতে পারেন প্রক্রিয়া এবং কর্মপ্রবাহ নির্মাণ আপনার ব্যবসার রেকর্ড থেকে চালান নিষ্কাশন স্বয়ংক্রিয় করতে চালান পার্সিং ব্যবহার করে।

পাইথনের সাথে চালান পার্সিং

পাইথন ইনভয়েস পার্সিং সহ বিভিন্ন ডেটা নিষ্কাশন কাজের জন্য একটি প্রোগ্রামিং ভাষা। এই বিভাগটি আপনাকে শিখাবে কিভাবে পাইথন লাইব্রেরি ব্যবহার করে চালান থেকে ডেটা বের করতে হয়।

একটি জেনেরিক স্টেট-অফ-দ্য-আর্ট ইনভয়েস পার্সার তৈরি করা যা সমস্ত ডেটা প্রকারে চলতে পারে, এটি কঠিন, কারণ এতে পাঠ্য পড়া, ভাষা পরিচালনা করা, ফন্ট, নথির সারিবদ্ধকরণ এবং মূল-মান জোড়া বের করার মতো বিভিন্ন কাজ অন্তর্ভুক্ত রয়েছে। যাইহোক, ওপেন-সোর্স প্রকল্পের সাহায্যে এবং কিছু চতুরতার সাহায্যে, আমরা অন্তত এই সমস্যাগুলির কয়েকটি সমাধান করতে এবং শুরু করতে পারি।

উদাহরণস্বরূপ, আমরা একটি নমুনা চালানে ট্যাবুলা নামক একটি টুল ব্যবহার করব — চালান পার্সিংয়ের জন্য টেবিল বের করার জন্য একটি পাইথন লাইব্রেরি। নীচের কোড স্নিপেট চালানোর জন্য, স্থানীয় মেশিনে Python এবং tabula/tabulate উভয়ই ইনস্টল করা আছে তা নিশ্চিত করুন।

sample-invoice.pdf.

from tabula import read_pdf
from tabulate import tabulate
# PDF file to extract tables from
file = "sample-invoice.pdf"

# extract all the tables in the PDF file
#reads table from pdf file
df = read_pdf(file ,pages="all") #address of pdf file
print(tabulate(df[0]))
print(tabulate(df[1]))

আউটপুট

-  ------------  ----------------
0  Order Number  12345
1  Invoice Date  January 25, 2016
2  Due Date      January 31, 2016
3  Total Due     $93.50
-  ------------  ----------------

-  -  -------------------------------  ------  -----  ------
0  1  Web Design                       $85.00  0.00%  $85.00
      This is a sample description...
-  -  -------------------------------  ------  -----  ------

আমরা কয়েকটি লাইন কোড সহ একটি পিডিএফ ফাইল থেকে টেবিলগুলি বের করতে পারি। কারণ পিডিএফ ফাইলটি ভালোভাবে ফরম্যাট করা, সারিবদ্ধ এবং ইলেকট্রনিকভাবে তৈরি করা হয়েছে (ক্যামেরা দ্বারা ক্যাপচার করা হয়নি)। বিপরীতে, যদি নথিটি ইলেকট্রনিকভাবে উত্পাদিত হওয়ার পরিবর্তে একটি ক্যামেরা দ্বারা বন্দী করা হত, তবে এই অ্যালগরিদমগুলির পক্ষে ডেটা বের করা আরও কঠিন হত-এখানেই অপটিক্যাল চরিত্রের স্বীকৃতি কার্যকর হয়।

আসুন ব্যবহার করা যাক টেসেরাক্ত, পাইথনের জন্য একটি জনপ্রিয় OCR ইঞ্জিন, একটি চালানের মাধ্যমে পার্স করার জন্য।

import cv2
import pytesseract
from pytesseract import Output

img = cv2.imread('sample-invoice.jpg')

d = pytesseract.image_to_data(img, output_type=Output.DICT)
print(d.keys())

এটি আপনাকে নিম্নলিখিত আউটপুট দিতে হবে -

dict_keys(['level', 'page_num', 'block_num', 'par_num', 'line_num', 'word_num', 'left', 'top', 'width', 'height', 'conf', 'text'])

এই অভিধান ব্যবহার করে, আমরা প্রতিটি শব্দ শনাক্ত করতে পারি, তাদের বাউন্ডিং বাক্সের তথ্য, তাদের মধ্যে পাঠ্য এবং তাদের আত্মবিশ্বাসের স্কোর পেতে পারি।

আপনি নীচের কোড ব্যবহার করে বাক্সগুলি প্লট করতে পারেন -

n_boxes = len(d['text'])
for i in range(n_boxes):
    if float(d['conf'][i]) > 60:
        (x, y, w, h) = (d['left'][i], d['top'][i], d['width'][i], d['height'][i])
        img = cv2.rectangle(img, (x, y), (x + w, y + h), (0, 255, 0), 2)

cv2.imshow('img', img)
cv2.waitKey(0)

আপনি নিম্নলিখিত আউটপুট দেখতে পাবেন:

এইভাবে আমরা একটি চালানের অঞ্চলগুলি ব্যবহার এবং চিনতে পারি। যাইহোক, কী-মান জোড়া নিষ্কাশনের জন্য কাস্টম অ্যালগরিদম তৈরি করা আবশ্যক। আমরা নিম্নলিখিত বিভাগে এই সম্পর্কে আরও জানব.

লিগ্যাসি ইনভয়েস পার্সারের সমস্যা (নিয়ম ভিত্তিক ক্যাপচারিং)

আজ, অনেক সংস্থা এখনও ইনভয়েস-ডেটা নিষ্কাশনের জন্য উত্তরাধিকার সিস্টেমের উপর নির্ভর করে।

এই "নিয়ম-ভিত্তিক" সিস্টেমগুলি ইনভয়েসে প্রতিটি লাইন আইটেম পার্স করে এবং তারপরে তাদের ডেটাবেসে তথ্য যোগ করা উচিত কিনা তা নির্ধারণ করতে নিয়মের একটি সেটের সাথে তুলনা করে।

এই পদ্ধতিটি দীর্ঘকাল ধরে ব্যবহৃত হচ্ছে তবে এর বেশ কয়েকটি ত্রুটি রয়েছে। চলুন লিগ্যাসি ইনভয়েস পার্সারদের মুখোমুখি হওয়া কিছু সাধারণ সমস্যার দিকে নজর দেওয়া যাক।

  • স্ক্যান করার সময় পেজ টিল্ট করুন: নিয়ম-ভিত্তিক চালান পার্সারদের একটি সমস্যা হল যে তাদের "পৃষ্ঠা টিল্ট" নিয়ে অসুবিধা হতে পারে। এটি ঘটে যখন একটি চালানের ক্ষেত্রগুলি একটি সরল রেখায় অবস্থান করে না, যা পার্সারের পক্ষে সঠিকভাবে ডেটা সনাক্ত করা এবং নিষ্কাশন করা কঠিন করে তোলে। এটি প্রায়শই এমন প্রিন্টারগুলির কারণে হতে পারে যা সমানভাবে মুদ্রণ করে না বা ডেটার ম্যানুয়াল ইনপুট যা সঠিকভাবে সারিবদ্ধ নাও হতে পারে।
  • বিন্যাস পরিবর্তন: একটি ব্যবসার সম্মুখীন হওয়া সবচেয়ে সাধারণ সমস্যাগুলির মধ্যে একটি হল চালান যা একটি আদর্শ বিন্যাসে ফর্ম্যাট করা হয় না৷ চালান থেকে ডেটা বের করার চেষ্টা করার সময় এটি সমস্যার সৃষ্টি করতে পারে। উদাহরণস্বরূপ, বিভিন্ন ফন্ট ব্যবহার করা যেতে পারে, এবং চালান বিন্যাস এক মাস থেকে অন্য মাসে পরিবর্তিত হতে পারে। ডেটা পার্স করা এবং প্রতিটি কলাম কী প্রতিনিধিত্ব করে তা নির্ধারণ করা কঠিন। উদাহরণস্বরূপ, ইনভয়েসে কিছু নতুন ক্ষেত্র যোগ করা যেতে পারে, বা কিছু বিদ্যমান ক্ষেত্র বিভিন্ন অবস্থানে স্থাপন করা যেতে পারে। অথবা একটি সম্পূর্ণ নতুন কাঠামো থাকতে পারে যার কারণে একটি সাধারণ নিয়ম-ভিত্তিক পার্সার সঠিকভাবে চালানগুলি চিনতে সক্ষম হবে না।
  • টেবিল এক্সট্রাকশন: নিয়ম-ভিত্তিক টেবিল এক্সট্র্যাক্টরগুলি প্রায়শই একটি টেবিল থেকে ডেটা বের করার সবচেয়ে সহজ এবং সহজ উপায়। যাইহোক, টেবিলের সাথে ডিল করার সময় তাদের সীমাবদ্ধতা রয়েছে যেগুলিতে কোনও শিরোনাম থাকে না বা নির্দিষ্ট কলামগুলিতে শূন্য মানগুলি অন্তর্ভুক্ত করে না কারণ এই পরিস্থিতিগুলি প্রক্রিয়াকরণের সময় একটি অসীম লুপ সৃষ্টি করবে যার ফলে হয় মেমরিতে অসীম দীর্ঘ সারি লোড করার সময় নষ্ট হয় (অথবা কিছুই আউটপুট করা হয় না) আদৌ) যদি সেইসব গুণাবলীর সাথে জড়িত নির্ভরশীল অভিব্যক্তিও থাকে। অতিরিক্তভাবে, যখন টেবিলগুলি একাধিক পৃষ্ঠায় বিস্তৃত হয়, তখন নিয়ম-ভিত্তিক পার্সাররা সেগুলিকে একটির পরিবর্তে ভিন্ন টেবিল হিসাবে বিবেচনা করে এবং এইভাবে নিষ্কাশন প্রক্রিয়াটিকে বিভ্রান্ত করে।

Nanonets দিয়ে একটি AI-ভিত্তিক চালান পার্সার তৈরি করুন

অপটিক্যাল ক্যারেক্টার রিকগনিশন (OCR) এবং ডিপ লার্নিং সহ ইনভয়েস পার্সাররা স্ক্যান করা বা PDF এ রূপান্তরিত ইনভয়েস থেকে ডেটা বের করতে পারে। এই ডেটা তারপর অ্যাকাউন্টিং সফ্টওয়্যার তৈরি করতে পারে, খরচ ট্র্যাক করতে পারে এবং রিপোর্ট তৈরি করতে পারে।

ডিপ লার্নিং অ্যালগরিদমগুলি শিখতে পারে কীভাবে একটি চালানের নির্দিষ্ট উপাদানগুলি সনাক্ত করতে হয়, যেমন গ্রাহকের নাম, ঠিকানা এবং পণ্যের তথ্য। এটি আরও সঠিক ডেটা নিষ্কাশনের অনুমতি দেয় এবং একটি সিস্টেমে ম্যানুয়ালি ডেটা ইনপুট করার জন্য প্রয়োজনীয় সময় কমাতে পারে। যাইহোক, এই ধরনের অ্যালগরিদম তৈরি করতে অনেক সময় এবং দক্ষতা প্রয়োজন, কিন্তু চিন্তা করবেন না; Nanonets আপনার পিছনে আছে!

Nanonets হল একটি OCR সফ্টওয়্যার যা কৃত্রিম বুদ্ধিমত্তা ব্যবহার করে পিডিএফ নথি, ছবি এবং স্ক্যান করা ফাইলগুলি থেকে টেবিলের নিষ্কাশন স্বয়ংক্রিয়ভাবে করা হয়। অন্যান্য সমাধানগুলির থেকে ভিন্ন, প্রতিটি নতুন নথির প্রকারের জন্য এটির আলাদা নিয়ম এবং টেমপ্লেটের প্রয়োজন নেই৷ পরিবর্তে, এটি সময়ের সাথে উন্নতি করার সময় অর্ধ-গঠিত এবং অদেখা নথিগুলি পরিচালনা করার জন্য জ্ঞানীয় বুদ্ধিমত্তার উপর নির্ভর করে। আপনি শুধুমাত্র আপনার আগ্রহের সারণী বা ডেটা এন্ট্রি বের করতে আউটপুট কাস্টমাইজ করতে পারেন।

এটি দ্রুত, নির্ভুল, ব্যবহার করা সহজ, ব্যবহারকারীদের স্ক্র্যাচ থেকে কাস্টম OCR মডেল তৈরি করতে দেয় এবং কিছু ঝরঝরে Zapier ইন্টিগ্রেশন রয়েছে৷ ডকুমেন্ট ডিজিটাইজ করুন, সারণী বা ডেটা ক্ষেত্র বের করুন এবং একটি সহজ, স্বজ্ঞাত ইন্টারফেসে API-এর মাধ্যমে আপনার দৈনন্দিন অ্যাপের সাথে একীভূত করুন।

[এম্বেড করা সামগ্রী]

কেন Nanonets সেরা PDF পার্সার?

  • Nanonets অন-পেজ ডেটা বের করতে পারে যখন কমান্ড লাইন পিডিএফ পার্সাররা শুধুমাত্র অবজেক্ট, হেডার এবং মেটাডেটা বের করে যেমন (শিরোনাম, #পৃষ্ঠা, এনক্রিপশন স্ট্যাটাস, ইত্যাদি)
  • Nanonets PDF পার্সিং প্রযুক্তি টেমপ্লেট-ভিত্তিক নয়। জনপ্রিয় ব্যবহারের ক্ষেত্রে প্রাক-প্রশিক্ষিত মডেল অফার করা ছাড়াও, Nanonets PDF পার্সিং অ্যালগরিদম অদেখা নথির ধরনগুলিও পরিচালনা করতে পারে!
  • নেটিভ পিডিএফ ডকুমেন্টগুলি পরিচালনা করা ছাড়াও, ন্যানোনেটের অন্তর্নির্মিত ওসিআর ক্ষমতাগুলি এটিকে স্ক্যান করা নথি এবং চিত্রগুলিও পরিচালনা করার অনুমতি দেয়!
  • AI এবং ML ক্ষমতা সহ শক্তিশালী অটোমেশন বৈশিষ্ট্য।
  • ন্যানোনেটগুলি অসংগঠিত ডেটা, সাধারণ ডেটা সীমাবদ্ধতা, বহু-পৃষ্ঠা পিডিএফ নথি, টেবিল এবং মাল্টি-লাইন আইটেমগুলি সহজে পরিচালনা করে।
  • Nanonets হল একটি নো-কোড টুল যা ক্রমাগত শিখতে পারে এবং কাস্টম ডেটাতে নিজেকে পুনরায় প্রশিক্ষিত করতে পারে যাতে কোনো পোস্ট-প্রসেসিংয়ের প্রয়োজন না হয় এমন আউটপুট প্রদান করা যায়।

স্বয়ংক্রিয় চালান ন্যানোনেটের সাথে পার্সিং - সম্পূর্ণ স্পর্শহীন চালান প্রক্রিয়াকরণ কর্মপ্রবাহ তৈরি করে

ন্যানোনেটের সাথে আপনার বিদ্যমান সরঞ্জামগুলিকে একীভূত করুন এবং স্বয়ংক্রিয়ভাবে ডেটা সংগ্রহ, রপ্তানি সঞ্চয়স্থান এবং বুককিপিং করুন৷

ন্যানোনেটগুলি স্বয়ংক্রিয়ভাবে চালান পার্সিং ওয়ার্কফ্লোগুলিকে সাহায্য করতে পারে:

  • একাধিক উত্স থেকে ইনভয়েস ডেটা আমদানি এবং একত্রিত করা - ইমেল, স্ক্যান করা নথি, ডিজিটাল ফাইল/ছবি, ক্লাউড স্টোরেজ, ইআরপি, এপিআই ইত্যাদি।
  • চালান, রসিদ, বিল এবং অন্যান্য আর্থিক নথি থেকে বুদ্ধিমত্তার সাথে চালান ডেটা ক্যাপচার এবং নিষ্কাশন করা।
  • ব্যবসায়িক নিয়মের উপর ভিত্তি করে লেনদেনের শ্রেণীকরণ এবং কোডিং।
  • অভ্যন্তরীণ অনুমোদন পেতে এবং ব্যতিক্রমগুলি পরিচালনা করতে স্বয়ংক্রিয় অনুমোদন ওয়ার্কফ্লো সেট আপ করা।
  • সমস্ত লেনদেন পুনর্মিলন।
  • ERPs বা অ্যাকাউন্টিং সফ্টওয়্যার যেমন Quickbooks, Sage, Xero, Netsuite এবং আরও অনেক কিছুর সাথে নির্বিঘ্নে একীভূত করা।

সময় স্ট্যাম্প:

থেকে আরো এআই এবং মেশিন লার্নিং