W tym artykule opisano skalowalne i bezpieczne rozwiązanie do tworzenia zautomatyzowanego potoku przetwarzania dokumentów. Rozwiązanie używa analizy dokumentów sztucznej inteligencji do wyodrębniania danych ze strukturą. Modele przetwarzania języka naturalnego (NLP) i modele niestandardowe wzbogacają dane.
Architektura
Pobierz plik programu Visio z tą architekturą.
Przepływ danych
W poniższych sekcjach opisano różne etapy procesu wyodrębniania danych.
Pozyskiwanie i wyodrębnianie danych
Dokumenty są pozyskiwane za pośrednictwem przeglądarki na frontonie aplikacji internetowej. Dokumenty zawierają obrazy lub są w formacie PDF. aplikacja systemu Azure Service hostuje aplikację zaplecza. Rozwiązanie kieruje dokumenty do tej aplikacji za pośrednictwem usługi aplikacja systemu Azure Gateway. Ten moduł równoważenia obciążenia działa z usługą Azure Web Application Firewall, która pomaga chronić aplikację przed typowymi atakami i lukami w zabezpieczeniach.
Aplikacja zaplecza publikuje żądanie do punktu końcowego interfejsu API REST usługi Azure AI Document Intelligence, który używa jednego z następujących modeli:
- Układ
- Faktura
- Paragon
- Dokument tożsamości
- Dokument ogólny
- Modele dokumentów podatkowych w USA
- Amerykański model dokumentu hipotecznego
Odpowiedź z usługi Azure AI Document Intelligence zawiera nieprzetworzone dane optycznego rozpoznawania znaków (OCR) i wyodrębniania strukturalne.
Aplikacja zaplecza usługi App Service używa wartości ufności do sprawdzania jakości wyodrębniania. Jeśli jakość jest poniżej określonego progu, aplikacja flaguje dane na potrzeby ręcznej weryfikacji. Gdy jakość wyodrębniania spełnia wymagania, dane są wprowadzane do usługi Azure Cosmos DB na potrzeby użycia aplikacji podrzędnych. Aplikacja może również zwrócić wyniki do przeglądarki frontonu.
Inne źródła udostępniają obrazy, pliki PDF i inne dokumenty. Źródła obejmują załączniki wiadomości e-mail i serwery protokołu FTP( File Transfer Protocol). Narzędzia takie jak Azure Data Factory i AzCopy przesyłają te pliki do usługi Azure Blob Storage. Usługa Azure Logic Apps oferuje potoki do automatycznego wyodrębniania załączników z wiadomości e-mail.
Po wprowadzeniu dokumentu do usługi Blob Storage zostanie wyzwolona funkcja platformy Azure. Funkcja:
- Publikuje żądanie do odpowiedniego wstępnie utworzonego punktu końcowego analizy dokumentów usługi Azure AI.
- Odbiera odpowiedź.
- Ocenia jakość wyodrębniania.
Wyodrębnione dane są wprowadzane do usługi Azure Cosmos DB.
Wzbogacanie danych
Potok używany do wzbogacania danych zależy od przypadku użycia.
Wzbogacanie danych może obejmować następujące możliwości nlp:
- Rozpoznawanie nazwanych jednostek (NER)
- Wyodrębnianie danych osobowych, kluczowych fraz, informacji o kondycji i innych jednostek zależnych od domeny
Aby wzbogacić dane, aplikacja internetowa:
Pobiera wyodrębnione dane z usługi Azure Cosmos DB.
Publikuje żądania dotyczące tych funkcji interfejsu API języka sztucznej inteligencji:
- NER
- Dane osobowe
- Wyodrębnianie kluczowych fraz
- analiza tekstu dla kondycji
- Niestandardowy moduł NER, który jest w wersji zapoznawczej
- Analiza opinii
- Górnictwo opinii
Odbiera odpowiedzi z interfejsu API języka sztucznej inteligencji.
Modele niestandardowe wykonują wykrywanie oszustw, analizę ryzyka i inne typy analiz danych:
- Usługi Azure Machine Learning szkolą i wdrażają modele niestandardowe.
- Wyodrębnione dane są pobierane z usługi Azure Cosmos DB.
- Modele uzyskują szczegółowe informacje na podstawie danych.
Istnieją te możliwości wnioskowania:
- Procesy w czasie rzeczywistym. Modele można wdrożyć w zarządzanych punktach końcowych online lub punktach końcowych online platformy Kubernetes, gdzie zarządzany klaster Kubernetes może być w dowolnym miejscu, w tym w usłudze Azure Kubernetes Service (AKS).
- Wnioskowanie wsadowe można wykonywać w punktach końcowych wsadowych lub w usłudze Azure Virtual Machines.
Wzbogacone dane są wprowadzane do usługi Azure Cosmos DB.
Analiza i wizualizacje
Aplikacje używają nieprzetworzonych danych OCR, danych strukturalnych z punktów końcowych analizy dokumentów usługi Azure AI oraz wzbogaconych danych z nlp:
- Usługa Power BI wyświetla dane i prezentuje raporty na ich temat.
- Dane pełnią funkcję źródła usługi Azure Cognitive Search.
- Inne aplikacje używają danych.
Składniki
App Service to oferta platformy jako usługi (PaaS) na platformie Azure. Za pomocą usługi App Service można hostować aplikacje internetowe, które można skalować w poziomie lub skalować ręcznie lub automatycznie. Usługa obsługuje różne języki i struktury, takie jak ASP.NET, ASP.NET Core, Java, Ruby, Node.js, PHP i Python.
Usługa Application Gateway to moduł równoważenia obciążenia warstwy 7 (warstwa aplikacji), który zarządza ruchem do aplikacji internetowych. Usługę Application Gateway można uruchomić za pomocą usługi Azure Web Application Firewall , aby chronić aplikacje internetowe przed typowymi lukami w zabezpieczeniach i lukami w zabezpieczeniach.
Azure Functions to bezserwerowa platforma obliczeniowa, której można użyć do tworzenia aplikacji. Za pomocą usługi Functions można użyć wyzwalaczy i powiązań, aby reagować na zmiany w usługach platformy Azure, takich jak Blob Storage i Azure Cosmos DB. Funkcje mogą uruchamiać zaplanowane zadania, przetwarzać dane w czasie rzeczywistym i przetwarzać kolejki obsługi komunikatów.
Usługa Azure AI Document Intelligence jest częścią usług Azure AI. Usługa Azure AI Document Intelligence oferuje kolekcję wstępnie utworzonych punktów końcowych do wyodrębniania danych z faktur, dokumentów, paragonów, kart identyfikacyjnych i wizytówek. Ta usługa mapuje każdy element wyodrębnionych danych na pole jako parę klucz-wartość. Usługa Azure AI Document Intelligence wyodrębnia również zawartość i strukturę tabeli. Format danych wyjściowych to JSON.
Azure Storage to rozwiązanie magazynu w chmurze, które obejmuje obiekt, obiekt blob, plik, dysk, kolejkę i magazyn tabel.
Blob Storage to usługa, która jest częścią usługi Azure Storage. Usługa Blob Storage oferuje zoptymalizowany magazyn obiektów w chmurze dla dużych ilości danych bez struktury.
Usługa Azure Data Lake Storage to skalowalne, bezpieczne magazyny danych typu data lake dla obciążeń analitycznych o wysokiej wydajności. Dane zazwyczaj pochodzą z wielu heterogenicznych źródeł i mogą być ustrukturyzowane, częściowo ustrukturyzowane lub nieustrukturyzowane. Usługa Azure Data Lake Storage Gen2 łączy funkcje usługi Azure Data Lake Storage Gen1 z usługą Blob Storage. Jako rozwiązanie nowej generacji usługa Data Lake Storage Gen2 zapewnia semantyka systemu plików, zabezpieczenia na poziomie plików i skalowanie. Oferuje również magazyn warstwowy, wysoką dostępność i możliwości odzyskiwania po awarii usługi Blob Storage.
Azure Cosmos DB to w pełni zarządzana, wysoce elastyczna, skalowalna baza danych NoSQL. Usługa Azure Cosmos DB oferuje zabezpieczenia klasy korporacyjnej i obsługuje interfejsy API dla wielu baz danych, języków i platform. Przykłady obejmują sql, MongoDB, Gremlin, Table i Apache Cassandra. Bezserwerowe, automatyczne opcje skalowania w usłudze Azure Cosmos DB efektywnie zarządzają wymaganiami dotyczącymi pojemności aplikacji.
Język sztucznej inteligencji oferuje wiele usług NLP, których można użyć do zrozumienia i przeanalizowania tekstu. Niektóre z tych usług można dostosowywać, takie jak niestandardowa funkcja NER, niestandardowa klasyfikacja tekstu, interpretacja języka konwersacji i odpowiadanie na pytania.
Machine Learning to otwarta platforma do zarządzania opracowywaniem i wdrażaniem modeli uczenia maszynowego na dużą skalę. Uczenie maszynowe odpowiada poziomom umiejętności różnych użytkowników, takim jak analitycy danych lub analitycy biznesowi. Platforma obsługuje powszechnie używane platformy otwarte i oferuje zautomatyzowane cechowanie i wybór algorytmów. Modele można wdrażać w różnych miejscach docelowych. Przykłady obejmują usługi AKS, Azure Container Instances jako usługę internetową na potrzeby wnioskowania w czasie rzeczywistym na dużą skalę oraz maszyny wirtualnej platformy Azure na potrzeby oceniania wsadowego. Zarządzane punkty końcowe w usłudze Machine Learning określają wymaganą infrastrukturę na potrzeby wnioskowania modelu w czasie rzeczywistym lub wsadowego .
Usługa AKS to w pełni zarządzana usługa Kubernetes, która ułatwia wdrażanie aplikacji konteneryzowanych i zarządzanie nimi. Usługa AKS oferuje bezserwerową technologię Kubernetes, zintegrowane środowisko ciągłej integracji i ciągłego dostarczania (CI/CD) oraz zabezpieczenia i ład klasy korporacyjnej.
Power BI to kolekcja usług i aplikacji oprogramowania, które wyświetlają informacje analityczne.
Azure Cognitive Search to usługa wyszukiwania w chmurze, która dostarcza infrastrukturę, interfejsy API i narzędzia do wyszukiwania. Za pomocą usługi Azure Cognitive Search można tworzyć środowiska wyszukiwania za pośrednictwem prywatnej, heterogenicznej zawartości w aplikacjach internetowych, mobilnych i dla przedsiębiorstw.
Alternatywy
Usługi Azure Virtual Machines zamiast usługi App Service można używać do hostowania aplikacji.
Do trwałego przechowywania wyodrębnionych danych można użyć dowolnej relacyjnej bazy danych, w tym:
Szczegóły scenariusza
Automatyzacja przetwarzania dokumentów i wyodrębniania danych jest integralnym zadaniem w organizacjach we wszystkich branżach. Sztuczna inteligencja jest jednym ze sprawdzonych rozwiązań w tym procesie, chociaż osiągnięcie dokładności 100 procent jest odległą rzeczywistością. Jednak użycie sztucznej inteligencji do celów cyfrowej zamiast procesów ręcznych może zmniejszyć nakład pracy ręcznej nawet o 90%.
Optyczne rozpoznawanie znaków (OCR) może wyodrębniać zawartość z obrazów i plików PDF, które stanowią większość dokumentów używanych przez organizacje. W tym procesie jest używane wyszukiwanie słów kluczowych i dopasowywanie wyrażeń regularnych. Te mechanizmy wyodrębniają odpowiednie dane z pełnego tekstu, a następnie tworzą ustrukturyzowane dane wyjściowe. Takie podejście ma wady. Zmiana procesu po wyodrębnieniu w celu spełnienia zmieniających się formatów dokumentów wymaga intensywnej konserwacji.
Potencjalne przypadki użycia
To rozwiązanie jest idealne dla branży finansowej. Może również dotyczyć branży motoryzacyjnej, turystycznej i hotelarskiej. Następujące zadania mogą korzystać z tego rozwiązania:
- Zatwierdzanie raportów wydatków
- Przetwarzanie faktur, wpływów i rachunków za roszczenia ubezpieczeniowe i inspekcje finansowe
- Przetwarzanie oświadczeń obejmujących faktury, podsumowania rozładowania i inne dokumenty
- Automatyzowanie zatwierdzeń instrukcji pracy (SoW)
- Automatyzacja wyodrębniania identyfikatorów do celów weryfikacji, podobnie jak w przypadku paszportów lub licencji na kierowcę
- Automatyzowanie procesu wprowadzania danych wizytówek w systemach zarządzania odwiedzającymi
- Identyfikowanie wzorców zakupu i zduplikowanych dokumentów finansowych na potrzeby wykrywania oszustw
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.
Odporność
Odporność rozwiązania zależy od trybów awarii poszczególnych usług, takich jak App Service, Functions, Azure Cosmos DB, Storage i Application Gateway. Aby uzyskać więcej informacji, zobacz Lista kontrolna odporności dla określonych usług platformy Azure.
Możesz zapewnić odporność na analizę dokumentów sztucznej inteligencji platformy Azure. Możliwości obejmują zaprojektowanie go w celu przełączenia w tryb failover do innego regionu i podzielenie obciążenia na co najmniej dwa regiony. Aby uzyskać więcej informacji, zobacz Tworzenie kopii zapasowych i odzyskiwanie modeli analizy dokumentów usługi Azure AI.
Usługi Machine Learning zależą od wielu usług platformy Azure. Aby zapewnić odporność, należy skonfigurować każdą usługę tak, aby były odporne. Aby uzyskać więcej informacji, zobacz Tryb failover na potrzeby ciągłości działania i odzyskiwania po awarii.
Dostępność
Dostępność architektury zależy od usług platformy Azure, które tworzą rozwiązanie:
Usługa Azure AI Document Intelligence jest częścią usług Azure AI. Aby uzyskać gwarancję dostępności tej usługi, zobacz Umowa dotycząca poziomu usług (SLA) dla usług Azure AI.
Język sztucznej inteligencji jest częścią usług Azure AI. Aby uzyskać gwarancję dostępności tych usług, zobacz Umowa SLA dla usług azure AI.
Usługa Azure Cosmos DB zapewnia wysoką dostępność, utrzymując cztery repliki danych w każdym regionie i replikując dane między regionami. Dokładna gwarancja dostępności zależy od tego, czy replikujesz w jednym regionie, czy w wielu regionach. Aby uzyskać więcej informacji, zobacz Uzyskiwanie wysokiej dostępności za pomocą usługi Azure Cosmos DB.
Usługa Blob Storage oferuje opcje nadmiarowości, które pomagają zapewnić wysoką dostępność. Jedną z tych metod można użyć do replikacji danych trzy razy w regionie podstawowym:
- W jednej lokalizacji fizycznej dla magazynu lokalnie nadmiarowego (LRS).
- W trzech strefach dostępności, które używają różnych parametrów dostępności. Aby uzyskać więcej informacji, zobacz Trwałość i parametry dostępności. Ta opcja działa najlepiej w przypadku aplikacji wymagających wysokiej dostępności.
Aby uzyskać gwarancje dostępności innych usług platformy Azure w rozwiązaniu, zobacz następujące zasoby:
Zabezpieczenia
Zabezpieczenia zapewniają ochronę przed celowymi atakami i nadużyciami cennych danych i systemów. Aby uzyskać więcej informacji, zobacz Lista kontrolna przeglądu projektu dotycząca zabezpieczeń.
Usługa Azure Web Application Firewall pomaga chronić aplikację przed typowymi lukami w zabezpieczeniach. Ta opcja usługi Application Gateway używa reguł Open Worldwide Application Security Project (OWASP), aby zapobiec atakom, takim jak wykonywanie skryptów między witrynami, przejęcie sesji i inne luki w zabezpieczeniach.
Aby zwiększyć bezpieczeństwo usługi App Service, rozważ następujące opcje:
- Usługa App Service może uzyskiwać dostęp do zasobów w usłudze Azure Virtual Network za pośrednictwem integracji sieci wirtualnej.
- Usługi App Service można używać w środowisku App Service Environment, które jest wdrażane w dedykowanej sieci wirtualnej. Takie podejście pomaga odizolować łączność między usługą App Service i innymi zasobami w sieci wirtualnej.
Aby uzyskać więcej informacji, zobacz Zabezpieczenia w usłudze aplikacja systemu Azure Service.
Magazyn obiektów blob i usługa Azure Cosmos DB szyfrują dane magazynowane. Te usługi można zabezpieczyć przy użyciu punktów końcowych usługi lub prywatnych punktów końcowych.
Usługa Azure Functions obsługuje integrację sieci wirtualnej. Dzięki tej funkcji aplikacje funkcji mogą uzyskiwać dostęp do zasobów wewnątrz sieci wirtualnej. Aby uzyskać więcej informacji, zobacz [Opcje sieci usługi Azure Functions][Opcje sieci usługi Azure Functions].
Aby uzyskać dostęp z określonych sieci wirtualnych lub prywatnych punktów końcowych, można skonfigurować usługę Azure AI Document Intelligence i AI Language. Te usługi szyfrują dane magazynowane. Do uwierzytelniania żądań do tych usług można użyć kluczy subskrypcji, tokenów lub identyfikatora Entra firmy Microsoft. Aby uzyskać więcej informacji, zobacz Uwierzytelnianie żądań w usługach Azure AI.
Usługa Machine Learning oferuje wiele poziomów zabezpieczeń:
- Uwierzytelnianie obszaru roboczego zapewnia zarządzanie tożsamościami i dostępem.
- Autoryzacja umożliwia zarządzanie dostępem do obszaru roboczego.
- Zabezpieczając zasoby obszaru roboczego, można zwiększyć bezpieczeństwo sieci.
- Za pomocą protokołu Transport Layer Security (TLS) można zabezpieczyć usługi internetowe wdrażane za pośrednictwem usługi Machine Learning.
- Aby chronić dane, możesz zmienić klucze dostępu dla kont usługi Azure Storage używanych przez usługę Machine Learning.
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.
Koszt implementacji tego rozwiązania zależy od używanych składników i opcji wybieranych dla każdego składnika.
Wiele czynników może mieć wpływ na cenę każdego składnika:
- Liczba przetwarzanych dokumentów
- Liczba współbieżnych żądań odbieranych przez aplikację
- Rozmiar przechowywanych danych po przetworzeniu
- Region wdrażania
Te zasoby zawierają informacje na temat opcji cen składników:
- Cennik analizy dokumentów sztucznej inteligencji
- Cennik usługi App Service
- Cennik usługi Azure Functions
- Cennik usługi Application Gateway
- Cennik usługi Azure Blob Storage
- Azure Cosmos DB — cennik
- Cennik usługi Language
- Cennik usługi Azure Machine Learning
Po podjęciu decyzji o warstwie cenowej dla każdego składnika użyj kalkulatora cen platformy Azure, aby oszacować koszt rozwiązania.
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.
Usługa App Service może automatycznie skalować w poziomie i w miarę różnic obciążenia aplikacji. Aby uzyskać więcej informacji, zobacz Tworzenie ustawienia automatycznego skalowania dla zasobów platformy Azure na podstawie danych wydajności lub harmonogramu.
Usługa Azure Functions może być skalowana automatycznie lub ręcznie. Wybrany plan hostingu określa zachowanie skalowania aplikacji funkcji. Aby uzyskać więcej informacji, zobacz Opcje hostingu usługi Azure Functions.
Domyślnie usługa Azure AI Document Intelligence obsługuje 15 równoczesnych żądań na sekundę. Tę wartość można zwiększyć, tworząc bilet pomocy technicznej platformy Azure z żądaniem zwiększenia limitu przydziału.
W przypadku modeli niestandardowych hostujących jako usługi internetowe w usłudze AKS usługa azureml-fe automatycznie skaluje się zgodnie z potrzebami. Ten składnik frontonu kieruje przychodzące żądania wnioskowania do wdrożonych usług.
W przypadku wnioskowania wsadowego usługa Machine Learning tworzy klaster obliczeniowy na żądanie, który jest skalowany automatycznie. Aby uzyskać więcej informacji, zobacz Samouczek: tworzenie potoku usługi Azure Machine Learning na potrzeby oceniania wsadowego. Usługa Machine Learning używa klasy ParellelRunStep do równoległego uruchamiania zadań wnioskowania.
W przypadku języka sztucznej inteligencji obowiązują limity danych i szybkości. Aby uzyskać więcej informacji zobacz te zasoby:
Współautorzy
Ten artykuł jest obsługiwany przez firmę Microsoft. Pierwotnie został napisany przez następujących współautorów.
Główny autor:
- Jyotsna Ravi | Główny inżynier klienta
- Dixit Arora | Starszy inżynier klienta
Następne kroki
- Co to jest analiza dokumentów sztucznej inteligencji?
- Korzystanie z zestawów SDK analizy dokumentów usługi Azure AI lub interfejsu API REST
- Co to jest język sztucznej inteligencji?
- Co to jest Azure Machine Learning?
- Wprowadzenie do usługi Azure Functions
- Jak skonfigurować usługę Azure Functions za pomocą sieci wirtualnej
- Co to jest aplikacja systemu Azure Gateway?
- Co to jest usługa Azure Web Application Firewall w usłudze aplikacja systemu Azure Gateway?
- Samouczek: jak uzyskać dostęp do lokalnego programu SQL Server z zarządzanej sieci wirtualnej usługi Data Factory przy użyciu prywatnego punktu końcowego
- Dokumentacja usługi Azure Storage