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

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

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

  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 następujących modeli:

    Odpowiedź z usługi Azure AI Document Intelligence zawiera nieprzetworzone dane optycznego rozpoznawania znaków (OCR) i wyodrębniania strukturalne.

  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.

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

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:

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

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.

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.

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