1. مقدمه
Document AI راه حلی برای درک اسناد است که داده های بدون ساختار مانند اسناد، ایمیل ها و غیره را می گیرد و درک، تجزیه و تحلیل و مصرف داده ها را آسان تر می کند.
با Document AI Workbench، میتوانید با ایجاد مدلهای کاملاً سفارشیشده با استفاده از دادههای آموزشی خود، به دقت پردازش اسناد بالاتری دست پیدا کنید.
در این آزمایشگاه، یک پردازشگر استخراج اسناد سفارشی ایجاد میکنید، یک مجموعه داده را وارد میکنید، اسناد نمونه را برچسبگذاری میکنید و پردازنده را آموزش میدهید.
مجموعه داده سند مورد استفاده در این آزمایشگاه از مجموعه داده جعلی W-2 (فرم مالیاتی ایالات متحده) در Kaggle با مجوز CC0: Public Domain است.
پیش نیازها
این کد لبه بر محتوای ارائه شده در سایر Codelab های هوش مصنوعی سند ساخته شده است.
توصیه می شود قبل از ادامه، Codelabs زیر را تکمیل کنید.
- تشخیص نوری کاراکتر (OCR) با هوش مصنوعی سند (پایتون)
- تجزیه فرم با هوش مصنوعی سند (پایتون)
- پردازنده های تخصصی با Document AI (Python)
- مدیریت پردازشگرهای هوش مصنوعی سند با پایتون
- سند هوش مصنوعی: انسان در حلقه
- سند هوش مصنوعی: ارتقاء آموزش
چیزی که یاد خواهید گرفت
- یک پردازنده استخراج کننده اسناد سفارشی ایجاد کنید.
- با استفاده از ابزار حاشیه نویسی، داده های آموزش هوش مصنوعی سند را برچسب گذاری کنید.
- آموزش نسخه مدل جدید.
- دقت نسخه مدل جدید را ارزیابی کنید.
آنچه شما نیاز دارید
2. راه اندازی
این Codelab فرض می کند که شما مراحل تنظیم AI سند فهرست شده در Codelab مقدماتی را تکمیل کرده اید.
لطفا قبل از ادامه مراحل زیر را انجام دهید:
3. یک پردازنده ایجاد کنید
ابتدا باید یک پردازشگر Custom Document Extractor ایجاد کنید تا برای این آزمایشگاه از آن استفاده کنید.
- در کنسول، به صفحه نمای کلی Document AI بروید.
- روی Create Custom Processor کلیک کنید و Custom Document Extractor را انتخاب کنید.
- نام
codelab-custom-extractor
را به آن بدهید (یا چیز دیگری که به خاطر خواهید آورد) و نزدیکترین منطقه را در لیست انتخاب کنید.
- برای ایجاد پردازنده خود روی Create کلیک کنید. سپس باید صفحه نمای کلی پردازنده را ببینید.
4. یک مجموعه داده ایجاد کنید
برای آموزش پردازنده خود، باید یک مجموعه داده با داده های آموزشی و آزمایشی ایجاد کنیم تا به پردازنده کمک کنیم تا موجودیت هایی را که می خواهیم استخراج کنیم شناسایی کند.
- در صفحه نمای کلی پردازنده، روی Configure Your Dataset کلیک کنید.
- اکنون باید در صفحه پیکربندی مجموعه داده باشید. اگر می خواهید سطل خود را برای ذخیره اسناد و برچسب های آموزشی مشخص کنید، روی Show Advanced Options کلیک کنید. در غیر این صورت، فقط روی Continue کلیک کنید.
- منتظر بمانید تا مجموعه داده ایجاد شود، سپس باید شما را به صفحه آموزش هدایت کند.
5. یک سند آزمایشی را وارد کنید
اکنون، بیایید یک نمونه pdf W2 را به مجموعه داده خود وارد کنیم.
- روی Import Documents کلیک کنید
- ما یک نمونه PDF برای استفاده در این آزمایشگاه برای شما داریم. لینک زیر را کپی کرده و در کادر Source Path قرار دهید. فعلاً «تقسیم داده» را به عنوان «تخصیص نشده» بگذارید. تمام کادرهای دیگر را بدون علامت بگذارید. روی Import کلیک کنید.
cloud-samples-data/documentai/codelabs/custom/extractor/pdfs
- صبر کنید تا سند وارد شود. این باید کمتر از 1 دقیقه طول بکشد.
- وقتی وارد کردن کامل شد، باید سند را در صفحه آموزش ببینید.
6. ایجاد برچسب
از آنجایی که ما در حال ایجاد یک نوع پردازنده جدید هستیم، باید برچسب های سفارشی ایجاد کنیم تا به Document AI بگوییم کدام فیلدها را می خواهیم استخراج کنیم.
- روی Edit Schema در گوشه سمت چپ پایین کلیک کنید.
- اکنون باید در کنسول Schema Management باشید.
- با استفاده از دکمه Create Label برچسب های زیر را ایجاد کنید.
نام | نوع داده | وقوع |
| شماره | چندگانه مورد نیاز است |
| متن ساده | چندگانه مورد نیاز است |
| متن ساده | چندگانه مورد نیاز است |
| آدرس | چندگانه مورد نیاز است |
| پول | چندگانه مورد نیاز است |
| پول | چندگانه مورد نیاز است |
| پول | چندگانه مورد نیاز است |
| پول | چندگانه مورد نیاز است |
- پس از تکمیل، کنسول باید به این شکل باشد. پس از اتمام روی ذخیره کلیک کنید.
- برای بازگشت به صفحه آموزش ، روی فلش برگشت کلیک کنید. توجه داشته باشید که برچسب هایی که ایجاد کردیم در گوشه پایین سمت چپ نشان داده می شوند.
7. سند آزمون را برچسب بزنید
در مرحله بعد، عناصر و برچسبهای متنی را برای موجودیتهایی که میخواهیم استخراج کنیم، شناسایی میکنیم. این برچسبها برای آموزش مدل ما برای تجزیه این ساختار سند خاص و شناسایی انواع صحیح استفاده خواهند شد.
- روی سندی که قبلا وارد کردیم دوبار کلیک کنید تا وارد کنسول برچسب زدن شوید. باید چیزی شبیه این به نظر برسد.
- روی ابزار "Bounding Box" کلیک کنید، سپس متن "1173038" را برجسته کنید و برچسب
CONTROL_NUMBER
را اختصاص دهید. می توانید از فیلتر متن برای جستجوی نام برچسب ها استفاده کنید.
- برای نمونه دیگری از
CONTROL_NUMBER
کامل شود، پس از برچسب زدن باید به این شکل باشد.
- تمام نمونههای مقادیر متن زیر را برجسته کنید و برچسبهای مناسب را اختصاص دهید.
نام برچسب | متن |
| 24-3188810 |
| 19127.2 |
| 5093.71 |
| 66584.46 |
| 56081.18 |
| 714-32-2105 |
| Adams, Chase and Gilbert Inc 972 Gonzalez Dam South Katherine NC 95869-5178 |
- سند دارای برچسب پس از تکمیل باید به این شکل باشد. توجه داشته باشید، میتوانید با کلیک بر روی کادر محدود در سند یا نام/مقدار برچسب در منوی سمت چپ، تنظیمات این برچسبها را انجام دهید. پس از اتمام برچسب زدن ، روی علامت گذاری به عنوان برچسب زده شده کلیک کنید، سپس به کنسول مدیریت Dataset برگردید.
8. تخصیص سند به مجموعه آموزشی
اکنون باید به کنسول مدیریت Dataset بازگردید. توجه داشته باشید که تعداد اسناد دارای برچسب و بدون برچسب و تعداد موارد در هر برچسب تغییر کرده است.
- ما باید این سند را به مجموعه "آموزش" یا "تست" اختصاص دهیم. روی Document کلیک کنید، روی Assign to Set کلیک کنید، سپس روی Training کلیک کنید.
- توجه داشته باشید که اعداد تقسیم داده ها تغییر کرده اند.
9. داده های از پیش برچسب گذاری شده را وارد کنید
پردازشگرهای سفارشی هوش مصنوعی سند به حداقل 10 سند در هر دو مجموعه آموزشی و آزمایشی به همراه 10 نمونه از هر برچسب در هر مجموعه نیاز دارند.
توصیه می شود حداقل 50 سند در هر مجموعه با 50 نمونه از هر برچسب برای بهترین عملکرد داشته باشید. داده های آموزشی بیشتر به طور کلی با دقت بالاتر برابر است.
برچسبگذاری دستی همه اسناد زمان زیادی طول میکشد، بنابراین ما برخی از اسناد از پیش برچسبگذاری شدهای داریم که میتوانید برای این آزمایشگاه وارد کنید.
می توانید فایل های سند از پیش برچسب گذاری شده را در قالب Document.json
وارد کنید. اینها می توانند نتایج فراخوانی یک پردازنده و تأیید صحت با استفاده از Human in the Loop (HITL) باشند.
به کنار منفی
توجه: هنگام وارد کردن دادههای از پیش برچسبگذاریشده، توصیه میشود قبل از آموزش یک مدل، حاشیهنویسیها را بهصورت دستی مرور کنید.
- روی Import Documents کلیک کنید.
- مسیر Cloud Storage زیر را کپی/پیست کنید و آن را به مجموعه آموزشی اختصاص دهید.
cloud-samples-data/documentai/codelabs/custom/extractor/training
- روی Add Another Folder کلیک کنید. سپس مسیر Cloud Storage زیر را کپی/پیست کرده و آن را به مجموعه تست اختصاص دهید.
cloud-samples-data/documentai/codelabs/custom/extractor/test
- روی Import کلیک کنید و منتظر بمانید تا اسناد وارد شوند. این بیشتر از دفعه قبل طول می کشد زیرا اسناد بیشتری برای پردازش وجود دارد. این باید حدود 6 دقیقه طول بکشد، می توانید این صفحه را ترک کرده و بعداً برگردید.
- پس از تکمیل، باید مدارک را در صفحه آموزش ببینید.
10. مدل را آموزش دهید
اکنون، ما آماده ایم تا آموزش استخراج کننده اسناد سفارشی خود را آغاز کنیم.
- روی Train New Version کلیک کنید
- به نسخه خود نامی بدهید که به خاطر بسپارید، مانند
codelab-custom-1
. برای "روش آموزش"، "ترن از ابتدا" را انتخاب کنید.
- (اختیاری) همچنین میتوانید مشاهده آمار برچسبها را برای مشاهده معیارهای برچسبهای موجود در مجموعه داده خود انتخاب کنید.
- برای شروع فرآیند آموزش، روی Start Training کلیک کنید. شما باید به صفحه مدیریت Dataset هدایت شوید. می توانید وضعیت آموزش را در سمت راست مشاهده کنید. تکمیل آموزش چند ساعت طول می کشد. می توانید این صفحه را ترک کرده و بعداً برگردید.
- اگر روی نام نسخه کلیک کنید، به صفحه مدیریت نسخه ها هدایت می شوید که شناسه نسخه و وضعیت فعلی شغل آموزشی را نشان می دهد.
11. نسخه جدید مدل را تست کنید
پس از تکمیل کار آموزشی (در تست های من حدود 1 ساعت طول کشید)، اکنون می توانید نسخه مدل جدید را آزمایش کنید و شروع به استفاده از آن برای پیش بینی کنید.
- به صفحه مدیریت نسخه ها بروید. در اینجا می توانید وضعیت فعلی و امتیاز F1 را مشاهده کنید.
- ما باید این نسخه مدل را قبل از استفاده از آن مستقر کنیم. روی نقاط عمودی سمت راست کلیک کنید و Deploy Version را انتخاب کنید.
- هنگامی که منتظر بمانید تا نسخه گسترش یابد، از پنجره پاپ آپ Deploy را انتخاب کنید. چند دقیقه طول می کشد تا تکمیل شود. پس از استقرار، می توانید این نسخه را نیز به عنوان نسخه پیش فرض تنظیم کنید.
- پس از اتمام استقرار، به برگه ارزیابی بروید. در این صفحه، میتوانید معیارهای ارزیابی شامل امتیاز F1، Precision و Recall را برای سند کامل و همچنین برچسبهای فردی مشاهده کنید. میتوانید درباره این معیارها در AutoML Documentation بیشتر بخوانید.
- فایل پی دی اف را با لینک زیر دانلود کنید. این یک نمونه W2 است که در مجموعه آموزشی یا تست گنجانده نشده است.
- بر روی Upload Test Document کلیک کنید و فایل PDF را انتخاب کنید.
- موجودیت های استخراج شده باید چیزی شبیه به این باشند.
12. اختیاری: اسناد تازه وارد شده را به صورت خودکار برچسب بزنید
پس از استقرار یک نسخه پردازنده آموزشدیده، میتوانید از Auto-Labeling برای صرفهجویی در زمان برچسبگذاری هنگام وارد کردن اسناد جدید استفاده کنید.
- در صفحه Train ، روی Import Documents کلیک کنید.
- مسیر زیر را کپی و جایگذاری کنید. این فهرست شامل 5 فایل پی دی اف W2 بدون برچسب است. از لیست کشویی تقسیم داده ، آموزش را انتخاب کنید.
cloud-samples-data/documentai/Custom/W2/AutoLabel
- در قسمت Auto-labeling ، چک باکس Import with auto-labeling را انتخاب کنید.
- یک نسخه پردازنده موجود را برای برچسب گذاری اسناد انتخاب کنید.
- به عنوان مثال:
2af620b2fd4d1fcf
- روی Import کلیک کنید و منتظر بمانید تا اسناد وارد شوند. می توانید این صفحه را ترک کرده و بعداً برگردید.
- پس از تکمیل، اسناد در صفحه Train در بخش Auto-Labeled ظاهر می شوند.
- شما نمی توانید از اسناد دارای برچسب خودکار برای آموزش یا آزمایش بدون علامت گذاری آنها به عنوان برچسب استفاده کنید. برای مشاهده اسناد دارای برچسب خودکار به بخش Auto-Labeled بروید.
- اولین سند را برای ورود به کنسول برچسب گذاری انتخاب کنید.
- برچسب ها، جعبه های محدود کننده و مقادیر را بررسی کنید تا از درستی آنها اطمینان حاصل کنید. هر مقداری که حذف شده است را برچسب بزنید.
- پس از اتمام علامت گذاری به عنوان برچسب زده شده را انتخاب کنید.
- تأیید برچسب را برای هر سند دارای برچسب خودکار تکرار کنید، سپس به صفحه Train برگردید تا از داده ها برای آموزش استفاده کنید.
13. نتیجه گیری
تبریک میگوییم، شما با موفقیت از Document AI برای آموزش یک پردازشگر Custom Document Extractor استفاده کردید. اکنون می توانید از این پردازنده برای تجزیه اسناد در این فرمت استفاده کنید، همانطور که برای هر پردازنده تخصصی انجام می دهید.
برای بررسی نحوه رسیدگی به پاسخ پردازش می توانید به Codelab Processors Specialized مراجعه کنید.
پاکسازی
برای جلوگیری از تحمیل هزینه به حساب Google Cloud خود برای منابع استفاده شده در این آموزش:
- در Cloud Console، به صفحه مدیریت منابع بروید.
- در لیست پروژه، پروژه خود را انتخاب کنید و سپس روی Delete کلیک کنید.
- در گفتگو، ID پروژه را تایپ کنید و سپس بر روی Shut down کلیک کنید تا پروژه حذف شود.
منابع
- مستندات AI Workbench Document
- آینده اسناد - لیست پخش YouTube
- مستندات هوش مصنوعی
- کتابخانه مشتری پایتون هوش مصنوعی را مستند کنید
- نمونه های AI سند
مجوز
این اثر تحت مجوز Creative Commons Attribution 2.0 Generic مجوز دارد.