Använda AI för att bearbeta och analysera blobinnehåll i Azure Cognitive Search

Innehåll i Azure Blob Storage som består av bilder eller lång o differentierad text kan genomgå djupinlärningsanalys för att avslöja och extrahera värdefull information som är användbar för underordnade program. Med hjälp av AI-berikningkan du:

  • Extrahera text från bilder med optisk teckenläsning (OCR)
  • Skapa en scenbeskrivning eller taggar från ett foto
  • Identifiera språk och översätta text till olika språk
  • Härstammar från struktur genom entitetsigenkänning genom att söka efter referenser till personer, datum, platser eller organisationer

Även om du kanske bara behöver en av dessa AI-funktioner är det vanligt att kombinera flera av dem i samma pipeline (till exempel extrahera text från en skannad bild och sedan hitta alla datum och platser som refereras till i den). Det är också vanligt att inkludera anpassad AI eller maskininlärningsbearbetning i form av ledande externa paket eller interna modeller som skräddarsytts efter dina data och dina behov.

Även om du kan använda AI-berikning för alla datakällor som stöds av en sökindexerare, är blobar de strukturer som används oftast i en berikningspipeline. Resultaten hämtas till ett sökindex för fulltextsökning eller omdirigeras tillbaka till Azure Storage för att driva nya programupplevelser som omfattar att utforska data för identifierings- eller analysscenarier.

I den här artikeln visar vi AI-berikning via en bred objektiv så att du snabbt kan förstå hela processen, från att transformera rådata i blobar till frågebar information i antingen ett sökindex eller ett kunskapslager.

Vad det innebär att "utöka" blobdata med AI

AI-berikning är en del av indexeringsarkitekturen för Azure Cognitive Search som integrerar maskininlärningsmodeller från Microsoft eller anpassade inlärningsmodeller som du tillhandahåller. Det hjälper dig att implementera scenarier från slutet till slut där du behöver bearbeta blobar (både befintliga och nya när de kommer in eller uppdateras), öppna alla filformat för att extrahera bilder och text, extrahera önskad information med hjälp av olika AI-funktioner och indexera dem i ett sökindex för snabb sökning, hämtning och utforskning.

Indata är dina blobar i en enda container i Azure Blob Storage. Blobar kan vara nästan alla typer av text- eller bilddata.

Utdata är alltid ett sökindex som används för snabb textsökning, hämtning och utforskning i klientprogram. Dessutom kan utdata också vara ett kunskapslager som projekterar berikade dokument till Azure-blobar eller Azure-tabeller för underordnad analys i verktyg som Power BI eller i datavetenskapsarbetsbelastningar.

Däremellan finns själva pipelinearkitekturen. Pipelinen baseras på indexerarna, som du kan tilldela en kunskapsuppsättningtill, som består av en eller flera färdigheter som tillhandahåller AI. Syftet med pipelinen är att skapa berikade dokument som går in i pipelinen som råinnehåll men hämtar ytterligare struktur, kontext och information när du går igenom pipelinen. Berikade dokument används vid indexering för att skapa inverterade index och andra strukturer som används i fulltextsökning eller utforskning och analys.

Nödvändiga resurser

Förutom Azure Blob Storage Azure Cognitive Search behöver du en tredje tjänst eller mekanism som tillhandahåller AI:

  • För inbyggd AI integreras Cognitive Search med API:Azure Cognitive Services och bearbetning av naturligt språk. Du kan bifoga en Cognitive Services-resurs för att lägga till optisk teckenläsning (OCR), bildanalys eller bearbetning av naturligt språk (språkidentifiering, textöversättning, entitetsigenkänning, extrahering av nyckelfraser).

  • För anpassad AI med hjälp av Azure-resurser kan du definiera en anpassad färdighet som omsluter den externa funktion eller modell som du vill använda. Anpassade kunskaper kan använda kod som tillhandahålls av Azure Functions, Azure Machine Learning, Azure Formigenkänning eller en annan resurs som kan nås via HTTPS.

  • För anpassade icke-Azure AI måste din modell eller modul vara tillgänglig för en indexerare via HTTP.

Om du inte har alla tjänster tillgängliga kan du börja direkt på Storage-kontoportalsidan. På den vänstra navigeringssidan under Blob Service klickar du på Lägg till Azure Cognitive Search för att skapa en ny tjänst eller välja en befintlig.

När du lägger Azure Cognitive Search till ditt lagringskonto kan du följa standardprocessen för att utöka data i valfri Azure-datakälla. Vi rekommenderar guiden Importera data i Azure Cognitive Search en enkel inledande introduktion till AI-berikning. Du kan koppla en Cognitive Services resurs under arbetsflödet. Den här snabbstarten går igenom stegen: Skapa en PIPELINE för AI-berikning i portalen.

Följande avsnitt tar en närmare titt på komponenter och arbetsflöde.

Använda en Blob-indexerare

AI-berikning är ett tillägg till en indexeringspipeline och i Azure Cognitive Search byggs dessa pipelines ovanpå en indexerare. En indexerare är en datakällsmedveten undertjänst med intern logik för sampling av data, läsning av metadatadata, hämtning av data och serialisering av data från interna format till JSON-dokument för efterföljande import. Indexerare används ofta separat för import, separat från AI, men om du vill skapa en AI-berikningspipeline behöver du en indexerare och en kompetensuppsättning för att använda den. Det här avsnittet visar indexeraren. nästa avsnitt fokuserar på kompetensuppsättningar.

Blobar i Azure Storage indexeras med hjälp av blobindexeraren. Du kan anropa den här indexeraren med hjälp av guiden Importera data, en REST API eller ett SDK. En blobindexerare anropas när datakällan som används av indexeraren är en Azure Blob-container. Du kan indexera en delmängd av dina blobar genom att skapa en virtuell katalog som du sedan kan skicka som en parameter eller genom att filtrera på ett filtypstillägg.

En indexerare "spricker ett dokument"och öppnar en blob för att inspektera innehåll. När du har anslutit till datakällan är det det första steget i pipelinen. För blobdata är det här som PDF, office-dokument, bild och andra innehållstyper identifieras. Dokumentknrickning med textextrahering är ingen avgift. Dokumentknrickning med bildextrahering debiteras enligt de priser som du hittar på prissättningssidan.

Även om alla dokument kommer att vara uppknackade sker berikande bara om du uttryckligen anger de färdigheter som krävs för att göra det. Om din pipeline till exempel uteslutande består av bildanalys ignoreras text i containern eller dokumenten.

Blob-indexeraren levereras med konfigurationsparametrar och stöder ändringsspårning om underliggande data innehåller tillräckligt med information. Du kan läsa mer i Så här konfigurerar du en blobindexerare.

Lägga till AI-komponenter

AI-berikning refererar till moduler som söker efter mönster eller egenskaper och utför sedan en åtgärd i enlighet med detta. Ansiktsigenkänning i foton, textbeskrivningar av foton, identifiering av nyckelfraser i ett dokument och OCR (eller igenkänning av tryckt eller handskriven text i binära filer) är illustrerande exempel.

I Azure Cognitive Search är färdigheter de enskilda komponenterna i AI-bearbetning som du kan använda fristående eller i kombination med andra färdigheter.

  • Inbyggda kunskaper backas upp av Cognitive Services, med bildanalys baserad på Visuellt innehåll och bearbetning av naturligt språk baserat på Textanalys. En fullständig lista finns i Inbyggda kunskaper för innehållsberikning.

  • Anpassade kunskaper är anpassad kod, omsluten i en gränssnittsdefinition som möjliggör integrering i pipelinen. I kundlösningar är det vanligt att använda båda, med anpassade kunskaper som ger AI-moduler med öppen källkod, tredje part eller första part.

En kunskapsuppsättning är en samling färdigheter som används i en pipeline och anropas när dokumentets sprickningsfasen gör innehåll tillgängligt. En indexerare kan använda exakt en kompetensuppsättning, men den kompetensuppsättningen finns oberoende av en indexerare så att du kan återanvända den i andra scenarier.

Anpassade kunskaper kan låta komplexa men kan vara enkla och enkla när det gäller implementering. Om du har befintliga paket som tillhandahåller mönstermatchnings- eller klassificeringsmodeller kan det innehåll som du extraherar från blobar skickas till dessa modeller för bearbetning. Eftersom AI-berikning är Azure-baserad bör din modell även finnas i Azure. Några vanliga värdmetoder är att använda Azure Functions eller containrar.

Inbyggda kunskaper som backas Cognitive Services kräver en ansluten Cognitive Services en prenumerationsnyckel som ger dig åtkomst till resursen. En allt-i-ett-nyckel ger dig bildanalys, språkidentifiering, textöversättning och textanalys. Andra inbyggda kunskaper är funktioner i Azure Cognitive Search kräver ingen ytterligare tjänst eller nyckel. Formare, delning och sammanslagning är exempel på hjälpkunskaper som ibland behövs när du utformar pipelinen.

Om du bara använder anpassade kunskaper och inbyggda verktygskunskaper finns det inget beroende eller kostnader relaterade till Cognitive Services.

Använda AI-berikade utdata i underordnade lösningar

Resultatet av AI-berikning är antingen ett sökindex på Azure Cognitive Search eller ett kunskapslager i Azure Storage.

I Azure Cognitive Search används ett sökindex för interaktiv utforskning med hjälp av fritext och filtrerade frågor i en klientapp. Berikade dokument som skapas via AI formateras i JSON och indexeras på samma sätt som alla dokument indexeras i Azure Cognitive Search, vilket utnyttjar alla fördelar som en indexerare ger. Under indexeringen refererar blobindexeraren till exempel till konfigurationsparametrar och inställningar för att använda fältmappningar eller ändringsidentifieringslogik. Sådana inställningar är helt tillgängliga för vanlig indexering och AI-berikade arbetsbelastningar. När innehåll lagras på en Azure Cognitive Search efter indexering kan du skapa omfattande frågor och filtrera uttryck för att förstå ditt innehåll.

I Azure Storage har ett kunskapslager två snabel: en blobcontainer eller tabeller i Table Storage.

  • En blobcontainer samlar in berikade dokument i sin helhet, vilket är användbart om du vill mata in dem i andra processer.

  • Table Storage kan däremot hantera fysiska projektioner av berikade dokument. Du kan skapa sektorer eller lager med berikade dokument som innehåller eller exkluderar vissa delar. För analys i Power BI blir tabellerna i Azure Table Storage datakälla för ytterligare visualisering och utforskning.

Ett berikat dokument i slutet av pipelinen skiljer sig från den ursprungliga indataversionen genom förekomsten av ytterligare fält som innehåller ny information som extraherades eller genererades under berikande. Därför kan du arbeta med en kombination av ursprungligt och skapat innehåll, oavsett vilken utdatastruktur du använder.

Nästa steg

Det finns mycket mer du kan göra med AI-berikning för att få ut mesta av dina data i Azure Storage, inklusive att kombinera Cognitive Services på olika sätt och redigera anpassade kunskaper för fall där det inte finns någon befintlig kognitiv tjänst för scenariot. Du kan lära dig mer genom att följa länkarna nedan.