Тренуйте та використовуйте індивідуальні моделі
Коли готові моделі не покривають конкретні типи документів, ви можете навчити кастомні моделі витягувати дані зі своїх власних форм. Azure Document Intelligence підтримує контрольоване машинне навчання, де ви позначаєте зразки документів полями, які хочете витягти, а сервіс навчає модель розпізнавати ці поля в нових документах.
Індивідуальні типи моделей
Azure Document Intelligence пропонує два типи кастомних моделей вилучення, а також модель класифікації:
Кастомні шаблонні моделі
Моделі власних шаблонів базуються на послідовному візуальному шаблоні для вилучення позначених даних. Вони найкраще працюють для структурованих форм, де макет статичний від одного екземпляра документа до іншого, таких як анкети, заявки або стандартні урядові форми.
Шаблонні моделі точно вилучають марковані пари ключ-значення, позначки вибору, таблиці, регіони та підписи. Навчання займає лише кілька хвилин, і підтримується понад 100 мов. Оскільки шаблонні моделі швидко навчаються і економічно вигідні у виконанні, вони є хорошою відправною точкою, коли ваші документи мають однорідний візуальний макет.
Кастомні нейронні моделі
Кастомні нейронні моделі використовують глибоке навчання і тонко налаштовуються на ваших позначених даних. Вони поєднують особливості верстки та мови для вилучення полів із структурованих, напівструктурованих і неструктурованих документів. Нейронні моделі підтримують:
- Перекриваючі поля
- Виявлення сигнатур
- Довіра на рівні таблиці, рядків і комірок
Нейронні моделі забезпечують вищу точність, ніж шаблонні моделі, особливо для напівструктурованих або неструктурованих документів, де макет змінюється між екземплярами. Однак їм потрібно більше часу на тренування і вони споживають більше ресурсів.
Обирайте між шаблонними та нейронними моделями
При виборі типу індивідуальної моделі варто врахувати компроміси:
| Фактор | Власний шаблон | Кастомна нейронна система |
|---|---|---|
| Найкраще підходить для | Структуровані форми з послідовним візуальним оформленням | Напівструктуровані або неструктуровані документи з різними верстками |
| Час навчання | Хвилини | Довша (залежить від розміру набору даних) |
| Вартість навчання | Lower | Вище |
| точності | Високий для фіксованих форм; зменшується при зміні розташування | Вищий загальний показник, особливо для документів з варіаціями формату |
| Підтримка мови | 100+ мов | Менше мов (перевірте документацію для поточної підтримки) |
| Підтримка функцій | Пари ключ-значення, позначки вибору, таблиці, регіони, підписи | Перекриття полів, виявлення підписів, довіра таблиці/рядків/комірок |
Порада
Починайте з кастомної моделі шаблону, якщо ваші форми мають послідовне візуальне оформлення. Навчання швидше і дешевше. Якщо точності недостатня або ваші документи відрізняються за форматом, перейдіть на власну нейронну модель.
Кастомні класифікатори
Власні моделі класифікації визначають тип документа перед тим, як застосувати модель вилучення. Ви можете використовувати класифікатор для маршрутизації вхідних документів до відповідної моделі вилучення, коли працюєте з кількома типами форм.
Навчіть кастомну модель
Щоб навчити власну модель вилучення:
- Зберігайте зразки форм у контейнері Azure blob, разом із JSON-файлами, що містять інформацію про розташування та поля міток:
- Файл для кожної зразкової форми (згенерований
ocr.jsonза допомогою функції Аналіз документа). - Один
fields.jsonфайл, що описує поля, які ви хочете витягти. - Файл
labels.jsonдля кожної зразкової форми, що відображає поля з їхнім місцем у формі.
- Файл для кожної зразкової форми (згенерований
- Згенерувати URL спільного доступу (SAS) для контейнера.
- Використовуйте функцію REST API Build model або аналогічний метод SDK.
- Використовуйте функцію REST API Get model для отримання навченого ID моделі.
Ви також можете візуально навчати власні моделі за допомогою Document Intelligence Studio, як описано в розділі Use the Document Intelligence Studio .
Порада
Використовуйте щонайменше п'ять-шість зразкових форм для навчання. Більший і різноманітніший набір даних дає більш точні моделі.
Використовуйте власну модель
Щоб витягти дані форми з користувацькою моделлю, викликайте функцію Analyze document за вашим ID моделі. Ви можете використовувати або підтримуваний SDK, або REST API.
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()
Успішна відповідь містить analyzeResult об'єкт із витягнутим вмістом і масив сторінок з інформацією про документ.
Складені моделі
Ви можете об'єднати кілька кастомних моделей в одну композиційну модель. Коли ви подаєте документ у складену модель, Document Intelligence класифікує його, щоб визначити найбільш відповідну компонентну модель, а потім повертає результати вилучення з цієї моделі. Цей підхід корисний, коли ви працюєте з кількома типами форм, кожен з яких потребує власної моделі екстракції.