Antrenează și folosește modele personalizate
Sfat
Consultați fila Text și imagini pentru mai multe detalii!
Când modelele preconstruite nu acoperă tipurile tale specifice de documente, poți antrena modele personalizate pentru a extrage date din propriile tale formulare. Azure Document Intelligence suportă învățarea automată supravegheată, unde etichetezi documentele de probă cu câmpurile pe care vrei să le extragi, iar serviciul antrenează un model să recunoască acele câmpuri în documente noi.
Tipuri de modele personalizate
Azure Document Intelligence oferă două tipuri de modele personalizate de extracție, plus un model de clasificare:
Modele de șabloane personalizate
Modelele de șabloane personalizate se bazează pe un șablon vizual consistent pentru a extrage datele etichetate. Acestea funcționează cel mai bine pentru formulare structurate unde structura este statică de la o instanță la alta, cum ar fi chestionare, cereri sau formulare guvernamentale standard.
Modelele șablon extrag cu acuratețe perechi cheie-valoare etichetate, semne de selecție, tabele, regiuni și semnături. Instruirea durează doar câteva minute, iar peste 100 de limbi sunt suportate. Pentru că modelele șabloane sunt rapide de antrenat și rentabile de rulat, ele sunt un punct bun de plecare atunci când documentele tale au un layout vizual uniform.
Modele neuronale personalizate
Modelele neuronale personalizate folosesc deep learning și sunt ajustate fin pe datele tale etichetate. Ele combină caracteristici de layout și limbaj pentru a extrage câmpuri din documente structurate, semi-structurate și nestructurate. Modelele neuronale suportă:
- Câmpuri suprapuse
- Detectarea semnăturilor
- Încredere la nivel de tabel, rând și celulă
Modelele neuronale oferă o acuratețe mai mare decât modelele șablon, în special pentru documente semi-structurate sau nestructurate, unde structura variază între instanțe. Totuși, durează mai mult să se antreneze și consumă mai multe resurse.
Alege între modele șablon și modele neuronale
Când decideți ce tip de model personalizat să folosiți, luați în considerare compromisurile:
| Factor | Șablon personalizat | Neural personalizat |
|---|---|---|
| Ideal pentru | Forme structurate cu o structură vizuală consecventă | Documente semi-structurate sau nestructurate, cu aranjamente variate |
| Timpul de antrenament | Minute | Mai lung (depinde de dimensiunea setului de date) |
| Costul instruirii | Lower | Mai sus |
| acuratețe | Înalt pentru forme cu aranjament fix; Scade atunci când configurația variază | Mai ridicat în general, mai ales pentru documente cu variații de format |
| Suport lingvistic | 100+ limbi | Mai puține limbaje (verifică documentația pentru suportul actual) |
| Suport pentru funcționalități | Perechi cheie-valoare, semne de selecție, tabele, regiuni, semnături | Câmpuri suprapuse, detectarea semnăturilor, încredere în tabel/rânduri/celule |
Sfat
Începe cu un model de șablon personalizat dacă formularele tale au un layout vizual consecvent. Este mai rapid și mai ieftin de antrenat. Dacă acuratețea este insuficientă sau documentele tale variază ca format, treci la un model neural personalizat.
Clasificatoare personalizate
Modelele personalizate de clasificare identifică tipul unui document înainte de a invoca un model de extracție. Poți folosi un clasificator pentru a direcționa documentele primite către modelul de extragere corespunzător atunci când gestionezi mai multe tipuri de formulare.
Antrenează un model personalizat
Pentru a antrena un model personalizat de extracție:
- Stochează formulare de probă într-un container blob Azure, împreună cu fișiere JSON care conțin informații despre layout și câmpuri de etichetă:
- Un
ocr.jsonfișier pentru fiecare formular de probă (generat folosind funcția Analiză document). - Un singur
fields.jsonfișier care descrie câmpurile pe care vrei să le extragi. - Un
labels.jsonfișier pentru fiecare formular de probă, care mapează câmpurile la locația lor în formular.
- Un
- Generează un URL cu semnătură de acces partajat (SAS) pentru container.
- Folosește funcția API REST a modelului Build sau metoda SDK echivalentă.
- Folosește funcția Get model REST API pentru a recupera ID-ul modelului antrenat.
De asemenea, puteți antrena modele personalizate vizual folosind Document Intelligence Studio, așa cum este descris în unitatea Use the Document Intelligence Studio .
Sfat
Folosește cel puțin cinci până la șase modele de probă pentru antrenament. Un set de date mai mare și mai variat produce modele mai precise.
Folosește un model personalizat
Pentru a extrage date de formular cu un model personalizat, apelați funcția Analiză documentul cu ID-ul modelului dumneavoastră. Poți folosi fie un SDK suportat, fie API-ul REST.
C#
string endpoint = "<endpoint>";
string apiKey = "<apiKey>";
AzureKeyCredential credential = new AzureKeyCredential(apiKey);
DocumentAnalysisClient client = new DocumentAnalysisClient(new Uri(endpoint), credential);
string modelId = "<modelId>";
Uri fileUri = new Uri("<fileUri>");
AnalyzeDocumentOperation operation = await client.AnalyzeDocumentFromUriAsync(WaitUntil.Completed, modelId, fileUri);
AnalyzeResult result = operation.Value;
Python
endpoint = "YOUR_DOC_INTELLIGENCE_ENDPOINT"
key = "YOUR_DOC_INTELLIGENCE_KEY"
model_id = "YOUR_CUSTOM_BUILT_MODEL_ID"
formUrl = "YOUR_DOCUMENT"
document_analysis_client = DocumentAnalysisClient(
endpoint=endpoint, credential=AzureKeyCredential(key)
)
task = document_analysis_client.begin_analyze_document_from_url(model_id, formUrl)
result = task.result()
Un răspuns reușit conține un analyzeResult obiect cu conținutul extras și o serie de pagini care conțin informații despre document.
Modele compuse
Poți combina mai multe modele personalizate într-un singur model compus. Când trimiți un document unui model compus, Document Intelligence îl clasifică pentru a determina cel mai potrivit model de componentă, apoi returnează rezultatele extragerii din acel model. Această abordare este utilă atunci când gestionezi mai multe tipuri de forme, fiecare necesitând propriul model de extragere.