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 någon av följande modeller:
- Layout
- Faktura
- Mottagandet
- ID-dokument
- Visitkort
- Allmänt dokument, som är i förhandsversion
Svaret från Azure AI Document Intelligence innehåller ocr-data (raw optical character recognition) och strukturerade extraheringar. Azure AI Document Intelligence tilldelar även [konfidensvärden][Egenskaper och begränsningar för Formigenkänning – kundutvärdering] till extraherade data.
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.
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
- Personlig information
- 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.
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 Cognitive 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ärdiga slutpunkter för att extrahera data från fakturor, dokument, kvitton, ID-kort och visitkort. Den här tjänsten mappar varje del av extraherade data till ett fält som ett nyckel/värde-par. Azure AI Document Intelligence extraherar även tabellinnehåll och struktur. 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 till olika mål. Exempel är AKS, Azure Container Instances som en webbtjänst för realtidsinferens i stor skala och Azure Virtual Machine för batchbedömning. Hanterade slutpunkter i Machine Learning abstraherar nödvändig infrastruktur för slutsatsdragning i realtid eller batchmodell .
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 Cognitive Search är en molnsöktjänst som tillhandahåller infrastruktur, API:er och verktyg för sökning. Du kan använda Azure Cognitive Search för att skapa sökupplevelser över privat, heterogent innehåll i webb-, mobil- och företagsprogram.
Alternativ
Du kan använda Azure Virtual Machines 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
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.
Tänk på dessa saker när du använder den här lösningen.
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:
Skalbarhet
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 är värd för som webbtjänster på AKS skalar azureml-fe automatiskt efter behov. Den här klientdelskomponenten dirigerar inkommande slutsatsdragningsbegäranden till distribuerade tjänster.
För batchinferens skapar Machine Learning ett beräkningskluster på begäran som skalar automatiskt. Mer information finns i Självstudie: Skapa en Azure Machine Learning-pipeline för batchbedömning. Machine Learning använder klassen ParellelRunStep för att köra inferensjobben parallellt.
För AI-språk gäller data- och hastighetsgränser. Mer information finns i de här resurserna:
Säkerhet
Säkerhet ger garantier mot avsiktliga attacker och missbruk av dina värdefulla data och system. Mer information finns i Översikt över säkerhetspelare.
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 Web 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 Nätverksalternativ för Azure Functions.
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.
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.
Kostnadsoptimering
Kostnadsoptimering handlar om att titta på sätt att minska onödiga utgifter och förbättra drifteffektiviteten. Mer information finns i Översikt över kostnadsoptimeringspelare.
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
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.
Deltagare
Den här artikeln underhålls av Microsoft. Det har ursprungligen skrivits av följande medarbetare.
Huvudförfattare:
- Jyotsna Ravi | 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