Витяг інформації з документів

Завершено

Порада

Перегляньте вкладку Текст і зображення для отримання більш детальної інформації!

Сучасні бізнес-процеси значною мірою залежать від даних, що містяться в документах, таких як форми, чеки та рахунки. Ручна обробка може призвести до затримок і помилок, що робить автоматизацію вилучення даних важливішою, ніж будь-коли.

Як працює розуміння контенту Azure

Azure Content Understanding базується на робочому процесі вилучення на основі моделей, у якому неструктурований контент забирається, аналізується та повертається як структуровані дані.

  1. Завантаження контенту: Ви подаєте контент до Azure Content Understanding.

  2. Аналіз на основі ШІ: сервіс використовує комбінацію: оптичного розпізнавання символів (OCR), розпізнавання мови, розуміння природної мови та мультимодальних моделей ШІ для аналізу контенту.

  3. Структурований вихід: Сервіс повертає структуровані результати (наприклад, у JSON), які відповідають вашій моделі — що робить дані легкими для зберігання, пошуку або інтеграції в наступні системи.

Note

JSON (JavaScript Object Notation) — це текстовий формат даних, який використовується для зберігання та обміну структурованими даними між системами. Людям легко читати і писати, а машини легко аналізувати і генерувати.

Розумійте схеми

OCR (оптичне розпізнавання символів) дозволяє комп'ютеру «читати» текст із зображень, таких як відскановані документи, фото чеків або зображення друкованих сторінок, і перетворювати цей текст на редагований і пошуковий цифровий текст. Базовий OCR допомагає розпізнавати друкований текст, зосереджується на вилученні тексту і не розуміє значення, контексту чи зв'язків між словами.

Можливості аналізу документів Azure Content Understanding виходять за межі простого вилучення тексту на основі OCR і включають вилучення полів та їх значень на основі схем . Схема-орієнтований підхід відрізняє Azure Content Understanding від базових OCR або транскрипційних сервісів.

Схема описує, яку інформацію ви хочете витягти і як її слід структурувати. Коли ви визначаєте схему, ви вказуєте поля для вилучення. Схема містить перелік конкретних полів або об'єктів, які вас цікавлять.

Припустімо, наприклад, ви визначаєте схему, яка містить типові поля в рахунку-фактурі, наприклад:

  • Ім’я постачальника
  • Номер рахунка-фактури
  • Дата виставлення рахунка-фактури
  • Ім’я клієнта
  • Настроювана адреса
  • Елементи – замовлені елементи, кожен із яких включає:
    • Опис елемента
    • Ціна за одиницю
    • Замовлено кількість
    • Підсумок елемента рядка
  • Проміжний підсумок рахунка-фактури
  • Tax
  • Вартість доставки
  • Підсумок рахунка-фактури

Тепер припустімо, що вам потрібно видобути ці відомості з такого рахунка-фактури:

Фотографія рахунка-фактури.

Azure Content Understanding може застосувати схему рахунків до вашого рахунку та ідентифікувати відповідні поля, навіть якщо вони мають різні назви (або взагалі не мають позначень). Отриманий аналіз дає такий результат:

Фотографія проаналізованого рахунка-фактури з виділеними виявленими полями.

Схема також визначає структуру поля. Схеми підтримують структуровані та вкладені поля, а не лише плоский текст. Приклад.

  • Items є збіркою
  • Кожен елемент має description, unit price, quantity, і line total

Визначення структурованих полів дозволяє Azure Content Understanding розуміти взаємозв'язки між значеннями, чого OCR сам по собі не може зробити.

У прикладі з рахунком для кожного виявленого поля можна витягти вкладені значення:

  • Ім'я постачальника: Цикли Adventure Works
  • Номер рахунка-фактури: 1234
  • Дата рахунка-фактури: 07.03.2025
  • Ім'я клієнта: Джон Сміт
  • Спеціальна адреса: 123 River Street, Marshtown, Англія, GL1 234
  • Елементи:
    • Елемент 1:
      • Опис елемента: 38"Гоночний велосипед (червоний)
      • Ціна за одиницю: 1299.00
      • Кількість замовлених: 1
      • Усього елементів рядка: 1299,00
    • Елемент 2:
      • Опис елемента: Велосипедний шолом (чорний)
      • Ціна за одиницю: 25.99
      • Кількість замовлених: 1
      • Усього елементів лінії: 25.99
    • Елемент 3:
      • Опис елемента: Велосипедна сорочка (L)
      • Ціна за одиницю: 42.50
      • Замовлено кількість: 2
      • Усього елементів лінії: 85.00
  • Проміжний підсумок рахунка-фактури: 1409.99
  • Податок: 140.99
  • Вартість доставки: 35.00
  • Всього за рахунком-фактурою: 1585.98

Azure Content Understanding витягує очікуваний сенс, а не лише мітки. Схеми застосовуються семантично, що означає:

  • Поля можна витягти, навіть якщо мітки відрізняються
  • Поля можна видобувати навіть якщо відсутні мітки

Наприклад, рахунок No рахунку, рахунок-фактура # або непозначений номер можуть співпадати, InvoiceNumber якщо аналізатор визначить, що вони відображають одну й ту ж концепцію.

Розумійте аналізатори

Аналізатор — це одиниця в Azure Content Understanding, яка приймає вхідні дані, застосовує аналіз ШІ та дає структуровані результати. Аналізатори послідовно застосовують однакову логіку вилучення до всього вхідного контенту. Після налаштування аналізатор забезпечує послідовне повторне використання схеми для кожного запиту аналізу. Аналізатори також дають передбачувані результати JSON. Структуровані результати полегшують подальшу обробку (зберігання, пошук, автоматизація).

Azure Content Understanding пропонує готові аналізатори для поширених сценаріїв і підтримує кастомні аналізатори, адаптовані до ваших потреб. На високому рівні:

  1. Ви обираєте або створюєте аналізатор.
  2. Аналізатор містить схему, що визначає поля та структуру.
  3. Ви подаєте контент на аналіз
  4. Служба застосовує схему
  5. Ви отримуєте структуровані результати JSON, які відповідають схемі

Використання Azure Content Understanding у порталі Foundry

Note

Портал Foundry має класичний інтерфейс користувача (UI) та новий інтерфейс.

Після створення ресурсу Microsoft Foundry ви можете скористатися інтерфейсом порталу new Foundry для тестування Azure розуміння контенту. Портал Foundry надає приклади контенту та дозволяє завантажувати власний матеріал для аналізу.

Ви можете скористатися візуальним інтерфейсом, щоб вибрати вихідний документ і витягти стандартні поля інформації. Наприклад, коли ви випробовуєте Azure Content Understanding на зображенні документа, сервіс повертає інформацію про текст документа та макет.

скріншот нового порталу Foundry з документом, проаналізованим за допомогою Azure Content Understanding.

Аналізатори Azure Content Understanding визначають текстові значення в документах і відображають їх із конкретними полями. Наприклад, якщо отримати рахунок, сервіс повертає поля (наприклад, адресу постачальника) та дані в полях (наприклад, 123 456th Street).

скріншот нового порталу Foundry з рахунком, проаналізованим за допомогою Azure Content Understanding.

У порталі Foundry ви також можете переглянути JSON-результати обробки.

скріншот нового порталу Foundry з результатом JSON рахунку, проаналізованим за допомогою Azure Content Understanding.

Створення клієнтського додатку з Azure Content Understanding

Ви можете використати API Content Understanding для створення легкого клієнтського додатку, який програмно витягує дані.

Note

Клієнтський додаток — це програмне забезпечення, яке працює на пристрої користувача і запитує сервіси або дані з іншої системи, зазвичай сервера, через мережу. Клієнт — це частина додатку, з якою користувачі взаємодіють, а сервер виконує основну роботу за лаштунками. Додатки можуть запитувати дані або дії від сервісу та отримувати структуровану відповідь за допомогою API.

Коли ви використовуєте API Content Understanding, ви можете обрати готовий аналізатор або створити власний аналізатор. Готові аналізатори включають: prebuilt-invoice, prebuilt-imageSearch, prebuilt-audioSearch, та prebuilt-videoSearch. Коли ви подаєте контент на аналіз аналізатору, аналіз є асинхронним, тобто результат ви отримуєте пізніше, коли він буде готовий. Оскільки аналіз асинхронний, потрібно опитувати Operation-Location URL (або analyzerResults), доки завдання не буде успішним.

Використання Azure Content Understanding Python SDK

Давайте розглянемо процес використання Python SDK для аналізу рахунку за адресою.

  1. Встановіть Azure Content Understanding Python SDK.
python -m pip install azure-ai-contentunderstanding
  1. Визначте вашу кінцеву точку ресурсу Foundry та ключ API або Microsoft Entra ID. Ваш кінцевий пункт зазвичай виглядає так: https://<your-resource-name>.services.ai.azure.com/

  2. Створіть і запустіть код клієнтського додатка. Це analzyer_id ID готового аналізатора. Список готових значень ID аналізатора можна знайти тут.

import os
from azure.ai.contentunderstanding import ContentUnderstandingClient
from azure.core.credentials import AzureKeyCredential

endpoint = os.environ["FOUNDRY_ENDPOINT"]
key = os.environ["FOUNDRY_KEY"]

client = ContentUnderstandingClient(endpoint=endpoint, credential=AzureKeyCredential(key))

# 1) start analysis with analyzer id + inputs
analyzer_id = "prebuilt-invoice"
inputs = [
    {"url": "https://github.com/Azure-Samples/azure-ai-content-understanding-python/raw/refs/heads/main/data/invoice.pdf"}
]

# 2) wait for the Long Running Operation (LRO) to complete
poller = client.begin_analyze(analyzer_id=analyzer_id, inputs=inputs)  # starts LRO
result = poller.result()  # waits for completion (polling handled by SDK)

# 3) read structured fields + markdown
# The result typically includes extracted "fields" and "markdown" per input content item.
for content in result.contents:
    print(content.markdown)
    print(content.fields)

Отриманий результат — це JSON, який показує отриману оцінку, поля, дані в полях та оцінку довіри. Приклад.

{
	"status": "Succeeded",
	"result": {
		"analyzerId": "prebuilt-invoice",
		"apiVersion": "2025-05-01-preview",
		"contents": [
			{
				"markdown": "# INVOICE\n\nCONTOSO LTD.\n\nContoso Headquarters\n123 456th St\nNew York, NY, 10001\n\nINVOICE: INV-100\n\nINVOICE DATE: 11/15/2019\n\nDUE DATE: 12/15/2019\n\nCUSTOMER NAME: MICROSOFT CORPORATION\n",
				"fields": {
					"CustomerName": {
						"type": "string",
						"valueString": "MICROSOFT CORPORATION",
						"confidence": 0.95,
					},
					"InvoiceDate": {
						"type": "date",
						"valueDate": "2019-11-15",
						"confidence": 0.994,
					}
                }
            }
        ]
    }
}

Далі дізнайтеся, як використовувати аналізатори Azure Content Understanding для вилучення структурованих даних з аудіо та відео.