Automatyzowanie przetwarzania dokumentów przy użyciu analizy dokumentów sztucznej inteligencji

Azure AI Search
Azure AI services
Azure Cosmos DB
Analiza dokumentów sztucznej inteligencji platformy Azure
Azure Machine Learning

W tym artykule opisano skalowalne i bezpieczne rozwiązanie do tworzenia zautomatyzowanego potoku przetwarzania dokumentów. Rozwiązanie korzysta z analizy dokumentów sztucznej inteligencji platformy Azure na potrzeby strukturalnego wyodrębniania danych. Modele przetwarzania języka naturalnego (NLP) i modele niestandardowe wzbogacają dane.

Architektura

Diagram architektury przedstawiający przepływ danych przez etapy wyodrębniania, wzbogacania i analizy przetwarzania dokumentów.

Pobierz plik programu Visio dla tej architektury.

Dataflow

W poniższych sekcjach opisano różne etapy procesu wyodrębniania danych.

Pozyskiwanie i wyodrębnianie danych

  1. 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.

  2. Aplikacja zaplecza publikuje żądanie do punktu końcowego interfejsu API REST usługi Azure AI Document Intelligence, który używa jednego z modeli na podstawie wymagania przypadku użycia.

    1. Wstępnie wytrenowane modele analizy dokumentów obejmują:

    2. wstępnie trenowane modele obejmują (nie tylko):

    3. niestandardowe modele wyodrębniania

    Odpowiedź z usługi Azure AI Document Intelligence zawiera nieprzetworzone dane optycznego rozpoznawania znaków (OCR) i wyodrębniania strukturalne w zależności od modelu.

  3. 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.

  4. 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.

  5. 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.
  6. Wyodrębnione dane są wprowadzane do usługi Azure Cosmos DB na potrzeby użycia aplikacji podrzędnych.

  7. Wyodrębnione dane można również wypchnąć do wyszukiwania usługi Azure AI w celu utworzenia aplikacji RAG.

Wzbogacanie danych

Potok używany do wzbogacania danych zależy od przypadku użycia.

  1. 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:

  2. 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:

  3. Wzbogacanie danych, takie jak konsolidacja określonych informacji, podsumowania i sprawdzanie poprawności, można również wykonać przez przekazanie wyodrębnionych danych do punktu końcowego usługi Azure OpenAI.

  4. Wzbogacone dane są wprowadzane do usługi Azure Cosmos DB.

Analiza i wizualizacje

  1. 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 AI 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 różnych dokumentów i formularzy do tworzenia inteligentnych rozwiązań przetwarzania dokumentów w organizacjach bez trenowania i tworzenia określonych modeli od podstaw dla każdego typu/rozwiązania dokumentu. Usługa oferuje również tworzenie własnych modeli niestandardowych przy minimalnym nakładzie pracy i używanie modelu za pomocą odpowiedniego identyfikatora modelu na dużą skalę. Wiele modeli niestandardowych można przypisać do jednego identyfikatora modelu, tworząc skomponowany model. Wymagania wejściowe różnią się w zależności od modelu do modelu. 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 na potrzeby wnioskowania można wdrażać przy użyciu punktów końcowych, w których można używać punktów końcowych online na potrzeby wnioskowania w czasie rzeczywistym i punktów końcowych wsadowych do wykonywania asynchronicznych lub długotrwałych wnioskowania. Jeśli tworzysz model niestandardowy, dostrajając model podstawowy z katalogu modeli, możesz również wdrożyć ten model jako punkty końcowe bezserwerowego interfejsu API . Modele można również wdrożyć w usłudze AKS i klastrze Kubernetes z włączoną usługą Azure Arc w celu wnioskowania.

  • 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 AI Search to usługa wyszukiwania w chmurze, która dostarcza infrastrukturę, interfejsy API i narzędzia do wyszukiwania. Usługa Azure AI Search umożliwia tworzenie środowisk wyszukiwania za pośrednictwem prywatnej, heterogenicznej zawartości w aplikacjach internetowych, mobilnych i dla przedsiębiorstw.

Alternatywy

  • Do zbiorczego przetwarzania dokumentów można używać interfejsu API analizy wsadowej analizy dokumentów.

  • Do wyodrębniania tekstu z obrazów można użyć modeli wielomodalnych usługi Azure OpenAI.

  • Do pozyskiwania dokumentów, obrazów, filmów wideo i audio różnych przypadków użycia można użyć usługi Azure AI Content Understanding (wersja zapoznawcza).

  • Do kompilowania, testowania & wdrażania modeli niestandardowych i opracowywania, oceniania i wdrażania aplikacji generujących & sztuczną inteligencję można użyć azure AI Found ry .

  • Możesz wybrać inną usługę obliczeniową platformy Azure zamiast usługi App Service 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
  • Automatyzowanie strukturalnego wyodrębniania danych z dokumentu bez struktury w scenariuszach pobierania rozszerzonej generacji

Kwestie wymagające rozważenia

Te zagadnienia obejmują implementację filarów platformy 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 Design review checklist for Reliability(Lista kontrolna 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:

Bezpieczeństwo

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ącazabezpieczeń.

  • 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.

  • 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ń:

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:

Po podjęciu decyzji o warstwie cenowej dla każdego składnika użyj kalkulatora cen platformy Azure, aby oszacować koszt rozwiązania.

Wydajność

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.

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