Używanie usług azure AI do automatyzowania identyfikacji, klasyfikacji i wyszukiwania dokumentów

Azure Functions
Azure App Service
Azure AI services
Azure AI Search
Analiza dokumentów sztucznej inteligencji platformy Azure

W tym artykule opisano architekturę, której można użyć do przetwarzania różnych dokumentów. Architektura używa funkcji durable functions usługi Azure Functions do implementowania potoków. Potoki przetwarzają dokumenty za pośrednictwem analizy dokumentów sztucznej inteligencji platformy Azure.

Architektura

Diagram przedstawiający architekturę umożliwiającą identyfikowanie, klasyfikowanie i wyszukiwanie dokumentów.

Pobierz plik programu Visio z tą architekturą.

Przepływ pracy

  1. Użytkownik przekazuje plik dokumentu do aplikacji internetowej. Plik zawiera wiele osadzonych dokumentów różnych typów, takich jak pliki PDF lub wielostronicowy format pliku obrazów (TIFF). Plik dokumentu jest przechowywany w usłudze Azure Blob Storage (1a). Aby zainicjować przetwarzanie potoku, aplikacja internetowa dodaje komunikat polecenia do kolejki magazynu (1b).

  2. Komunikat polecenia wyzwala orkiestrację funkcji trwałych. Komunikat zawiera metadane identyfikujące lokalizację usługi Blob Storage pliku dokumentu do przetworzenia. Każde wystąpienie funkcji trwałej przetwarza tylko jeden plik dokumentu.

  3. Funkcja analizowania działania wywołuje interfejs API analizy dokumentów analizy dokumentów, który przekazuje lokalizację przechowywania pliku dokumentu do przetworzenia. Funkcja analyze odczytuje i identyfikuje każdy dokument w pliku dokumentu. Ta funkcja zwraca nazwę, typ, zakresy stron i zawartość każdego osadzonego dokumentu do aranżacji.

  4. Funkcja działania magazynu metadanych zapisuje informacje o typie dokumentu, lokalizacji i zakresie stron dla każdego dokumentu w magazynie usługi Azure Cosmos DB.

  5. Funkcja działania indeksowania tworzy nowy dokument wyszukiwania w usłudze Azure AI Search dla każdego dokumentu. W dokumencie wyszukiwania ta funkcja używa bibliotek wyszukiwania sztucznej inteligencji dla platformy .NET do uwzględnienia pełnych wyników optycznego rozpoznawania znaków (OCR) i informacji o dokumencie. Identyfikator korelacji jest również dodawany do dokumentu wyszukiwania, aby wyniki wyszukiwania można było dopasować do odpowiednich metadanych dokumentu z usługi Azure Cosmos DB.

  6. Użytkownicy mogą wyszukiwać dokumenty przy użyciu zawartości i metadanych. Aby wyszukać rekordy dokumentów, które znajdują się w usłudze Azure Cosmos DB, mogą używać identyfikatorów korelacji w zestawie wyników wyszukiwania. Rekordy zawierają linki do oryginalnego pliku dokumentu w usłudze Blob Storage.

Składniki

  • Durable Functions to funkcja usługi Azure Functions , której można używać do pisania funkcji stanowych w bezserwerowym środowisku obliczeniowym. W tej architekturze komunikat w kolejce magazynu wyzwala wystąpienie funkcji trwałej, które inicjuje i organizuje potok przetwarzania dokumentów.

  • Azure Cosmos DB to globalnie rozproszona wielomodelowa baza danych, której można używać w swoich rozwiązaniach do skalowania przepływności i pojemności magazynu w dowolnej liczbie regionów geograficznych. Kompleksowe umowy dotyczące poziomu usług (SLA) gwarantują przepływność, opóźnienie, dostępność i spójność. Ta architektura używa usługi Azure Cosmos DB jako magazynu metadanych na potrzeby informacji o klasyfikacji dokumentów.

  • Azure Storage to zestaw wysoce skalowalnych i bezpiecznych usług w chmurze dla danych, aplikacji i obciążeń. Obejmuje ona usługi Blob Storage, Azure Files, Azure Table Storage i Azure Queue Storage. Ta architektura używa usługi Blob Storage do przechowywania plików dokumentów przekazywanych przez użytkownika i procesów potoku funkcji trwałych.

  • aplikacja systemu Azure Service udostępnia platformę do tworzenia, wdrażania i skalowania aplikacji internetowych. Funkcja Web Apps usługi App Service to narzędzie oparte na protokole HTTP, za pomocą którego można hostować aplikacje internetowe, interfejsy API REST i zaplecza dla urządzeń przenośnych. Używanie usługi Web Apps do tworzenia w środowiskach .NET, .NET Core, Java, Ruby, Node.js, PHP lub Python. Aplikacje można łatwo uruchamiać i skalować w środowiskach opartych na systemach Windows i Linux. W tej architekturze użytkownicy korzystają z systemu przetwarzania dokumentów za pośrednictwem aplikacji internetowej hostowanej w usłudze App Service.

  • Analiza dokumentów sztucznej inteligencji to usługa, której można użyć do wyodrębniania szczegółowych informacji z dokumentów, formularzy i obrazów. Ta architektura używa analizy dokumentów sztucznej inteligencji do analizowania plików dokumentów i wyodrębniania osadzonych dokumentów wraz z zawartością i informacjami o metadanych.

  • Wyszukiwanie sztucznej inteligencji zapewnia bogate środowisko wyszukiwania dla prywatnej, zróżnicowanej zawartości w internecie, aplikacjach mobilnych i aplikacjach dla przedsiębiorstw. Ta architektura używa funkcji wyszukiwania sztucznej inteligencji do indeksowania wyodrębnionej zawartości i metadanych dokumentu, aby użytkownicy mogli wyszukiwać i pobierać dokumenty.

Alternatywy

  • Aby ułatwić dystrybucję globalną, to rozwiązanie przechowuje metadane w usłudze Azure Cosmos DB. Usługa Azure SQL Database to kolejna opcja magazynu trwałego dla metadanych i informacji o dokumencie.

  • Aby wyzwolić wystąpienia funkcji trwałych, możesz użyć innych platform obsługi komunikatów, w tym usługi Azure Service Bus.

Szczegóły scenariusza

W tej architekturze potoki identyfikują dokumenty w pliku dokumentu, klasyfikują je według typu i przechowują informacje do użycia w kolejnym przetwarzaniu.

Wiele firm musi zarządzać dokumentami i przetwarzać je zbiorczo i zawierać kilka różnych typów dokumentów, takich jak pliki PDF lub wielostronicowe obrazy TIFF. Te dokumenty mogą pochodzić z spoza organizacji, a firma odbierana nie kontroluje formatu.

Biorąc pod uwagę te ograniczenia, organizacje muszą tworzyć własne rozwiązania do analizowania dokumentów, które mogą obejmować niestandardowe technologie i procesy ręczne. Na przykład ktoś może ręcznie oddzielić poszczególne typy dokumentów i dodać kwalifikatory klasyfikacji dla każdego dokumentu.

Wiele z tych rozwiązań niestandardowych jest opartych na wzorcu przepływu pracy maszyny stanu. Rozwiązania używają systemów baz danych do utrwalania stanu przepływu pracy i używania usług sondowania, które sprawdzają stany, które muszą przetworzyć. Utrzymywanie i ulepszanie tych rozwiązań może zwiększyć złożoność i nakład pracy.

Organizacje potrzebują niezawodnych, skalowalnych i odpornych rozwiązań do przetwarzania i klasyfikacji dokumentów oraz zarządzania nimi dla typów dokumentów organizacji. To rozwiązanie może przetwarzać miliony dokumentów każdego dnia z pełną obserwacją powodzenia lub niepowodzenia potoku przetwarzania.

Potencjalne przypadki użycia

Tego rozwiązania można użyć do:

  • Tytuły raportów. Wiele agencji rządowych i gmin zarządza dokumentami, które nie mają formy cyfrowej. Skuteczne zautomatyzowane rozwiązanie może wygenerować plik zawierający wszystkie dokumenty potrzebne do spełnienia żądania dokumentu.

  • Zarządzanie rekordami konserwacji. Może być konieczne skanowanie i wysyłanie dokumentów, takich jak samoloty, lokomotywy i rejestry konserwacji maszyn, do organizacji zewnętrznych.

  • Zezwolenia na przetwarzanie. Departamenty zezwalające na miasta i powiat utrzymują dokumenty dokumentowe, które generują na potrzeby raportowania inspekcji zezwoleń. Możesz zrobić zdjęcie kilku dokumentów inspekcji i automatycznie zidentyfikować, sklasyfikować i przeszukać te rekordy.

Kwestie wymagające rozważenia

Te zagadnienia implementują filary struktury Azure Well-Architected Framework, która jest zestawem wytycznych, które mogą służyć do poprawy jakości obciążenia. Aby uzyskać więcej informacji, zobacz Microsoft Azure Well-Architected Framework.

Niezawodność

Niezawodność zapewnia, że aplikacja może spełnić zobowiązania podjęte przez klientów. Aby uzyskać więcej informacji, zobacz Lista kontrolna przeglądu projektu dotycząca niezawodności.

Niezawodne obciążenie ma zarówno odporność, jak i dostępność. Odporność to zdolność systemu do odzyskiwania sprawności po awarii i kontynuowania działania. Celem odporności jest przywrócenie aplikacji do stanu pełnej funkcjonalności po wystąpieniu błędu. Dostępność mierzy, czy użytkownicy mogą uzyskiwać dostęp do obciążenia, gdy zajdzie taka potrzeba.

Aby uzyskać informacje o niezawodności składników rozwiązania, zobacz informacje o umowie SLA dotyczące usługi Azure Usługi online.

Optymalizacja kosztów

Optymalizacja kosztów dotyczy sposobów zmniejszenia niepotrzebnych wydatków i poprawy wydajności operacyjnej. Aby uzyskać więcej informacji, zobacz Lista kontrolna przeglądu projektu dotycząca optymalizacji kosztów.

Najbardziej znaczące koszty tej architektury obejmują przechowywanie obrazów na koncie magazynu, przetwarzanie obrazu usług Azure AI i wymagania dotyczące pojemności indeksu w usłudze AI Search.

Aby zoptymalizować koszty:

  • Użyj zasad pojemności zarezerwowanej i cyklu życia, aby uzyskać odpowiednie rozmiary kont magazynu.

  • Planowanie wdrożeń regionalnych i planowania skalowania operacyjnego w górę w wyszukiwaniu sztucznej inteligencji.

  • Użyj cennika warstwy zobowiązania dla analizy dokumentów sztucznej inteligencji, aby zarządzać przewidywalnymi kosztami.

  • Użyj strategii płatności zgodnie z rzeczywistym użyciem dla architektury i skalowania w poziomie zgodnie z potrzebami, a nie inwestowania w zasoby na dużą skalę na początku.

  • Rozważ koszty szans sprzedaży w architekturze i zrównoważ strategię przewagi w pierwszej kolejności w porównaniu ze strategią szybkiego śledzenia. Aby oszacować początkowe koszty i koszty operacyjne, użyj kalkulatora cen.

  • Ustanów budżety i mechanizmy kontroli , które określają limity kosztów dla rozwiązania. Aby skonfigurować prognozowanie i alerty dotyczące kosztów rzeczywistych, użyj alertów budżetowych.

Efektywność wydajności

Wydajność to możliwość skalowania obciążenia w celu spełnienia wymagań, które są na nim nakładane przez użytkowników w wydajny sposób. Aby uzyskać więcej informacji, zobacz Lista kontrolna przeglądu projektu pod kątem wydajności.

To rozwiązanie może uwidaczniać wąskie gardła wydajności podczas przetwarzania dużych ilości danych. Aby zapewnić odpowiednią wydajność rozwiązania, upewnij się, że rozumiesz i planujesz opcje skalowania usługi Azure Functions, skalowanie automatyczne usług Azure AI i partycjonowanie usługi Azure Cosmos DB.

Współautorzy

Ten artykuł jest obsługiwany przez firmę Microsoft. Pierwotnie został napisany przez następujących współautorów.

Główny autor:

  • Kevin Kraus | Główny specjalista techniczny platformy Azure

Aby wyświetlić niepubalne profile serwisu LinkedIn, zaloguj się do serwisu LinkedIn.

Następne kroki

Artykuły wprowadzające:

Dokumentacja produktu: