Den här artikeln beskriver en skalbar och säker lösning för att skapa en automatiserad pipeline för dokumentbearbetning. Lösningen använder AI Document Intelligence för strukturerad extrahering av data. NLP-modeller (Natural Language Processing) och anpassade modeller berikar data.
Arkitektur
Ladda ned en Visio-fil med den här arkitekturen.
Dataflöde
I följande avsnitt beskrivs de olika stegen i dataextraheringsprocessen.
Datainmatning och extrahering
Dokument matas in via en webbläsare i klientdelen av ett webbprogram. Dokumenten innehåller bilder eller är i PDF-format. Azure App Service är värd för ett serverdelsprogram. Lösningen dirigerar dokumenten till programmet via Azure Application Gateway. Den här lastbalanseraren körs med Azure Web Application Firewall, vilket hjälper till att skydda programmet mot vanliga attacker och sårbarheter.
Serverdelsprogrammet skickar en begäran till en REST API-slutpunkt för Azure AI Document Intelligence som använder en av de modeller baserat på användningsfallskravet.
Förtränad dokumentanalysmodeller omfattar:
- Läs OCR-modell
- layoutanalysmodell
-
Allmänt dokument. Du kan också använda layoutanalysmodellen med valfri frågesträngsparameter
features=keyValuePairs
aktiverad.)
förtränat scenariospecifika modeller inkluderar (inte begränsat till):
Svaret från Azure AI Document Intelligence innehåller ocr-data (raw optical character recognition) och strukturerade extraheringar beroende på modell.
App Service-serverdelsprogrammet använder konfidensvärdena för att kontrollera extraheringskvaliteten. Om kvaliteten ligger under ett angivet tröskelvärde flaggar appen data för manuell verifiering. När extraheringskvaliteten uppfyller kraven anger data Azure Cosmos DB för nedströms programförbrukning. Appen kan också returnera resultatet till klientdelswebbläsaren.
Andra källor tillhandahåller bilder, PDF-filer och andra dokument. Källor inkluderar e-postbilagor och FTP-servrar (File Transfer Protocol). Verktyg som Azure Data Factory och AzCopy överför dessa filer till Azure Blob Storage. Azure Logic Apps erbjuder pipelines för att automatiskt extrahera bifogade filer från e-postmeddelanden.
När ett dokument anger Blob Storage utlöses en Azure-funktion. Funktionen:
- Skickar en begäran till relevant azure AI Document Intelligence-fördefinierad slutpunkt.
- Tar emot svaret.
- Utvärderar extraheringskvaliteten.
Extraherade data anger Azure Cosmos DB för nedströms programförbrukning.
Extraherade data kan också skickas till Azure AI-sökning efter indexering för att skapa RAG-program.
Databerikande
Vilken pipeline som används för databerikning beror på användningsfallet.
Databerikning kan innehålla följande NLP-funktioner:
- Namngiven entitetsigenkänning (NER)
- Extrahering av personlig information, nyckelfraser, hälsoinformation och andra domänberoende entiteter
För att utöka data kan webbappen:
Hämtar extraherade data från Azure Cosmos DB.
Skickar begäranden till dessa funktioner i API:et för AI-språk:
- NER
- Personuppgift
- Extrahering av diskussionsämne
- Textanalys för hälsa
- Anpassad NER, som är i förhandsversion
- Attitydanalys
- Åsiktsutvinning
Tar emot svar från API:et för AI-språk.
Anpassade modeller utför bedrägeriidentifiering, riskanalys och andra typer av analyser av data:
- Azure Machine Learning-tjänster tränar och distribuerar anpassade modeller.
- Extraherade data hämtas från Azure Cosmos DB.
- Modellerna härleder insikter från data.
Dessa möjligheter finns för slutsatsdragning:
- Realtidsprocesser. Modellerna kan distribueras till hanterade onlineslutpunkter eller Kubernetes onlineslutpunkter, där hanterade Kubernetes-kluster kan finnas var som helst, inklusive Azure Kubernetes Service (AKS).
- Batch-slutsatsdragning kan göras vid batchslutpunkter eller i Azure Virtual Machines.
Databerikning som konsolidering av specifik information, sammanfattning och kontroll av korrekthet kan också göras genom att skicka extraherade data till Azure OpenAI-slutpunkten.
Berikade data anger Azure Cosmos DB.
Analys och visualiseringar
Program använder rå OCR, strukturerade data från Azure AI Document Intelligence-slutpunkter och berikade data från NLP:
- Power BI visar data och visar rapporter om dem.
- Data fungerar som källa för Azure AI Search.
- Andra program använder data.
Komponenter
App Service är ett PaaS-erbjudande (plattform som en tjänst) i Azure. Du kan använda App Service som värd för webbprogram som du kan skala in eller skala ut manuellt eller automatiskt. Tjänsten stöder olika språk och ramverk, till exempel ASP.NET, ASP.NET Core, Java, Ruby, Node.js, PHP och Python.
Application Gateway är en layer-7-lastbalanserare (programskikt) som hanterar trafik till webbprogram. Du kan köra Application Gateway med Azure Web Application Firewall för att skydda webbprogram från vanliga sårbarheter.
Azure Functions är en serverlös beräkningsplattform som du kan använda för att skapa program. Med Functions kan du använda utlösare och bindningar för att reagera på ändringar i Azure-tjänster som Blob Storage och Azure Cosmos DB. Funktioner kan köra schemalagda uppgifter, bearbeta data i realtid och bearbeta meddelandeköer.
Azure AI Document Intelligence är en del av Azure AI-tjänster. Azure AI Document Intelligence erbjuder en samling fördefinierade slutpunkter för att extrahera data från olika dokument och formulär för att skapa intelligenta dokumentbearbetningslösningar i organisationer utan att träna och skapa specifika modeller från grunden för varje dokumenttyp/lösning. Tjänsten erbjuder också att skapa egna anpassade modeller med minimal ansträngning och använda modellen via motsvarande modell-ID i stor skala. Flera anpassade modeller kan tilldelas till ett enda modell-ID genom att skapa en sammansatt modell. Kraven på indata varierar från modell till modell. Utdataformatet är JSON.
Azure Storage är en molnlagringslösning som innehåller objekt, blob, fil, disk, kö och tabelllagring.
Blob Storage är en tjänst som ingår i Azure Storage. Blob Storage erbjuder optimerad molnobjektlagring för stora mängder ostrukturerade data.
Azure Data Lake Storage är en skalbar och säker datasjö för analysarbetsbelastningar med höga prestanda. Data kommer vanligtvis från flera heterogena källor och kan vara strukturerade, halvstrukturerade eller ostrukturerade. Azure Data Lake Storage Gen2 kombinerar Azure Data Lake Storage Gen1-funktioner med Blob Storage. Som nästa generations lösning tillhandahåller Data Lake Storage Gen2 filsystemssemantik, säkerhet på filnivå och skalning. Men den erbjuder även nivåindelad lagring, hög tillgänglighet och haveriberedskap i Blob Storage.
Azure Cosmos DB är en fullständigt hanterad, mycket dynamisk, skalbar NoSQL-databas. Azure Cosmos DB erbjuder säkerhet i företagsklass och har stöd för API:er för många databaser, språk och plattformar. Exempel är SQL, MongoDB, Gremlin, Table och Apache Cassandra. Serverlösa, automatiska skalningsalternativ i Azure Cosmos DB hanterar effektivt kapacitetskrav för program.
AI Language erbjuder många NLP-tjänster som du kan använda för att förstå och analysera text. Vissa av dessa tjänster är anpassningsbara, till exempel anpassad NER, anpassad textklassificering, förståelse för konversationsspråk och frågesvar.
Machine Learning är en öppen plattform för att hantera utveckling och distribution av maskininlärningsmodeller i stor skala. Maskininlärning tillgodoser kunskapsnivåer för olika användare, till exempel dataforskare eller affärsanalytiker. Plattformen stöder vanliga öppna ramverk och erbjuder automatiserad funktionalisering och algoritmval. Du kan distribuera modeller för slutsatsdragning med hjälp av slutpunkter där du kan använda onlineslutpunkter för inferens i realtid och batchslutpunkter för att utföra asynkron eller långvarig slutsatsdragning. Om du skapar en anpassad modell genom att finjustera en grundmodell från modellkatalogkan du även distribuera den här modellen som serverlösa API-slutpunkter. Du kan också distribuera modeller till AKS- och Azure Arc-aktiverade Kubernetes-kluster för slutsatsdragning.
AKS är en fullständigt hanterad Kubernetes-tjänst som gör det enkelt att distribuera och hantera containerbaserade program. AKS erbjuder serverlös Kubernetes-teknik, en integrerad ci/CD-upplevelse (kontinuerlig integrering och kontinuerlig leverans) och säkerhet och styrning i företagsklass.
Power BI är en samling programvarutjänster och appar som visar analysinformation.
Azure AI Search är en molnsöktjänst som tillhandahåller infrastruktur, API:er och verktyg för sökning. Du kan använda Azure AI Search för att skapa sökupplevelser över privat, heterogent innehåll i webb-, mobil- och företagsprogram.
Alternativ
Du kan använda Batch Analysis API för dokumentinformation för att bearbeta dokumenten i grupp.
Du kan använda multimodala Azure OpenAI-modeller för att extrahera text från bilder.
Du kan använda Azure AI Content Understanding (förhandsversion) för att mata in dokument, bilder, videor och ljud på olika användningsfall.
Du kan använda Azure AI Foundry- för att skapa, testa & distribuera anpassade modeller och även utveckla, utvärdera, distribuera & övervaka generativa AI-program.
Du kan välja en annan Azure-beräkningstjänst i stället för App Service som värd för ditt program.
Du kan använda valfri relationsdatabas för beständig lagring av extraherade data, inklusive:
Information om scenario
Att automatisera dokumentbearbetning och extrahering av data är en viktig uppgift i organisationer i alla branschvertaler. AI är en av de beprövade lösningarna i den här processen, även om det är en avlägsen verklighet att uppnå 100 procents noggrannhet. Men att använda AI för digitalisering i stället för rent manuella processer kan minska den manuella ansträngningen med upp till 90 procent.
Optisk teckenigenkänning (OCR) kan extrahera innehåll från bilder och PDF-filer, vilket utgör de flesta dokument som organisationer använder. Den här processen använder nyckelordssökning och reguljär uttrycksmatchning. Dessa mekanismer extraherar relevanta data från fulltext och skapar sedan strukturerade utdata. Den här metoden har nackdelar. Det krävs omfattande underhåll för att se över processen efter extrahering för att uppfylla ändrade dokumentformat.
Potentiella användningsfall
Den här lösningen är idealisk för finansbranschen. Det kan också gälla fordons-, rese- och hotellbranschen. Följande uppgifter kan dra nytta av den här lösningen:
- Godkänna utgiftsrapporter
- Bearbeta fakturor, kvitton och fakturor för försäkringsanspråk och finansiella granskningar
- Bearbeta anspråk som innehåller fakturor, sammanfattningar av ansvarsfrihet och andra dokument
- Automatisera godkännanden av arbetsförklaringar (SoW)
- Automatisera extrahering av ID för verifieringsändamål, som med pass eller körkort
- Automatisera processen med att ange visitkortsdata i besökshanteringssystem
- Identifiera inköpsmönster och duplicera finansiella dokument för bedrägeriidentifiering
- Automatisera strukturerad extrahering av data från ostrukturerade dokument i scenarier för hämtning av förhöjd generation
Att tänka på
Dessa överväganden implementerar grundpelarna i Azure Well-Architected Framework, som är en uppsättning vägledande grundsatser som kan användas för att förbättra kvaliteten på en arbetsbelastning. Mer information finns i Microsoft Azure Well-Architected Framework.
Tillförlitlighet
Tillförlitlighet säkerställer att ditt program kan uppfylla de åtaganden du gör gentemot dina kunder. Mer information finns i Checklista för designgranskning för tillförlitlighet.
Motståndskraft
Lösningens återhämtning beror på fellägena för enskilda tjänster som App Service, Functions, Azure Cosmos DB, Storage och Application Gateway. Mer information finns i Checklista för återhämtning för specifika Azure-tjänster.
Du kan göra Azure AI Document Intelligence motståndskraftigt. Bland möjligheterna finns att utforma den för att redundansväxla till en annan region och dela upp arbetsbelastningen i två eller flera regioner. Mer information finns i Säkerhetskopiera och återställa dina Azure AI Document Intelligence-modeller.
Maskininlärningstjänster är beroende av många Azure-tjänster. För att ge återhämtning måste du konfigurera varje tjänst så att den är elastisk. Mer information finns i Redundans för affärskontinuitet och haveriberedskap.
Tillgänglighet
Arkitekturens tillgänglighet beror på vilka Azure-tjänster som utgör lösningen:
Azure AI Document Intelligence är en del av Azure AI-tjänster. För den här tjänstens tillgänglighetsgaranti, se Servicenivåavtal (SLA) för Azure AI-tjänster.
AI Language är en del av Azure AI-tjänster. Tillgänglighetsgarantin för dessa tjänster finns i Serviceavtal för Azure AI-tjänster.
Azure Cosmos DB ger hög tillgänglighet genom att underhålla fyra datarepliker inom varje region och genom att replikera data mellan regioner. Den exakta tillgänglighetsgarantin beror på om du replikerar inom en enda region eller i flera regioner. Mer information finns i Uppnå hög tillgänglighet med Azure Cosmos DB.
Blob Storage erbjuder redundansalternativ som hjälper till att säkerställa hög tillgänglighet. Du kan använda någon av dessa metoder för att replikera data tre gånger i en primär region:
- På en enda fysisk plats för lokalt redundant lagring (LRS).
- I tre tillgänglighetszoner som använder olika tillgänglighetsparametrar. Mer information finns i Parametrar för hållbarhet och tillgänglighet. Det här alternativet fungerar bäst för program som kräver hög tillgänglighet.
Information om tillgänglighetsgarantier för andra Azure-tjänster i lösningen finns i följande resurser:
Säkerhet
Säkerhet ger garantier mot avsiktliga attacker och missbruk av dina värdefulla data och system. Mer information finns i Checklista för designgranskning för säkerhet.
Azure Web Application Firewall hjälper dig att skydda ditt program mot vanliga säkerhetsrisker. Det här alternativet för Application Gateway använder OWASP-regler (Open Worldwide Application Security Project) för att förhindra attacker som skript mellan webbplatser, sessionskapningar och andra kryphål.
Tänk på följande alternativ för att förbättra App Service-säkerheten:
- App Service kan komma åt resurser i Azure Virtual Network via integrering av virtuella nätverk.
- Du kan använda App Service i en App Service-miljön som du distribuerar till ett dedikerat virtuellt nätverk. Den här metoden hjälper till att isolera anslutningen mellan App Service och andra resurser i det virtuella nätverket.
Mer information finns i Säkerhet i Azure App Service.
Blob Storage och Azure Cosmos DB krypterar vilande data. Du kan skydda dessa tjänster med hjälp av tjänstslutpunkter eller privata slutpunkter.
Azure Functions stöder integrering av virtuella nätverk. Med hjälp av den här funktionen kan funktionsappar komma åt resurser i ett virtuellt nätverk. Mer information finns i Azure Functions-nätverksalternativ.
Du kan konfigurera Azure AI Document Intelligence och AI Language för åtkomst från specifika virtuella nätverk eller från privata slutpunkter. Dessa tjänster krypterar vilande data. Du kan använda prenumerationsnycklar, token eller Microsoft Entra-ID för att autentisera begäranden till dessa tjänster. Mer information finns i Autentisera begäranden till Azure AI-tjänster.
Machine Learning erbjuder många säkerhetsnivåer:
- Autentisering på arbetsytan ger identitets- och åtkomsthantering.
- Du kan använda auktorisering för att hantera åtkomst till arbetsytan.
- Genom att skydda arbetsyteresurser kan du förbättra nätverkssäkerheten.
- Du kan använda TLS (Transport Layer Security) för att skydda webbtjänster som du distribuerar via Machine Learning.
- För att skydda data kan du ändra åtkomstnycklarna för Azure Storage-konton som Machine Learning använder.
Kostnadsoptimering
Kostnadsoptimering handlar om att titta på sätt att minska onödiga utgifter och förbättra drifteffektiviteten. Mer information finns i Checklista för designgranskning för kostnadsoptimering.
Kostnaden för att implementera den här lösningen beror på vilka komponenter du använder och vilka alternativ du väljer för varje komponent.
Många faktorer kan påverka priset på varje komponent:
- Antalet dokument som du bearbetar
- Antalet samtidiga begäranden som ditt program tar emot
- Storleken på de data som du lagrar efter bearbetningen
- Distributionsregionen
Dessa resurser innehåller information om prisalternativ för komponenter:
- Priser för AI-dokumentinformation
- App Service -priser
- Prissättning för Azure Functions
- Priser för Application Gateway
- Prissättning för Azure Blob Storage
- Azure Cosmos DB-priser
- Prissättning för språktjänsten
- Prissättning för Azure Machine Learning
- prissättning för Azure OpenAI Service
När du har bestämt dig för en prisnivå för varje komponent använder du Priskalkylatorn för Azure för att beräkna lösningens kostnad.
Prestandaeffektivitet
Prestandaeffektivitet är arbetsbelastningens förmåga att skala för att uppfylla användarnas krav på ett effektivt sätt. Mer information finns i Checklista för designgranskning för prestandaeffektivitet.
App Service kan skalas ut automatiskt och i takt med att programbelastningen varierar. Mer information finns i Skapa en autoskalningsinställning för Azure-resurser baserat på prestandadata eller ett schema.
Azure Functions kan skalas automatiskt eller manuellt. Den värdplan som du väljer avgör skalningsbeteendet för dina funktionsappar. Mer information finns i Azure Functions-värdalternativ.
Som standard stöder Azure AI Document Intelligence 15 samtidiga begäranden per sekund. Du kan öka det här värdet genom att skapa en Azure-supportbegäran med en begäran om kvotökning.
För anpassade modeller som du distribuerar till onlineslutpunkter för realtidsinferens kan automatisk skalning aktiveras via autoskalningsfunktionen i Azure Monitor. Detta kan hanteras med hjälp av Azure CLI, REST API, Python SDK, Azure Portal osv.
För batchinferens distribueras modeller till batchslutpunkter som körs i Azure Machine Learning-beräkningskluster (AML) eller Kubernetes-kluster. När det gäller AML-beräkningskluster stöds automatisk skalning av beräkning och nedskalning av beräkning till noll. Minsta och högsta antal instanser definieras när beräkningsklustret skapas medan antalet instanser som ska användas för batchinferens definieras i batchdistributionsdefinitionen.
För AI-språk gäller data- och hastighetsgränser. Mer information finns i de här resurserna:
Deltagare
Den här artikeln underhålls av Microsoft. Det har ursprungligen skrivits av följande medarbetare.
Huvudförfattare:
- Jyotsna Ravi | Huvudkundtekniker
- Dixit Arora | Senior kundtekniker
Nästa steg
- Vad är AI Document Intelligence?
- Använda Azure AI Document Intelligence SDK:er eller REST API
- Vad är AI Language?
- Vad är Azure Machine Learning?
- Introduktion till Azure Functions
- Så här konfigurerar du Azure Functions med ett virtuellt nätverk
- Vad är Azure Application Gateway?
- Vad är Azure Web Application Firewall på Azure Application Gateway?
- Självstudie: Så här får du åtkomst till lokal SQL Server från datafabrikshanterat virtuellt nätverk med hjälp av privat slutpunkt
- Azure Storage-dokumentation