AI-berikande i Azure Cognitive Search

AI-berikning är tillämpningen av maskininlärningsmodeller över innehåll som inte kan sökas i fulltext i sin råa form. Genom berikning används analys och slutsatsdragning för att skapa sökbart innehåll och en struktur där det inte fanns något tidigare.

Eftersom Azure Cognitive Search är en fulltextsökningslösning är syftet med AI-berikning att förbättra verktyget för ditt innehåll i sökrelaterade scenarier:

  • Översättning och språkidentifiering för flerspråkig sökning
  • Entitetsigenkänning extraherar personer, platser och andra entiteter från stora textsegment
  • Extrahering av nyckelfraser identifierar och matar sedan ut viktiga termer
  • Optisk teckenigenkänning (OCR) känner igen tryckt och handskriven text i binära filer
  • Bildanalys beskriver bildinnehåll och utdata från beskrivningarna som sökbara textfält

AI-berikning är en förlängning av en indexerarpipeline. En berikningspipeline har alla komponenter i en indexeringspipeline (indexerare, datakälla, index), plus en kompetensuppsättning som anger atomiska berikningssteg.

Följande diagram visar utvecklingen av AI-berikning:

Diagram över en berikningspipeline.

Import är det första steget. Här ansluter indexeraren till en datakälla och hämtar innehåll (dokument) till söktjänsten. Azure Blob Storage är den vanligaste resursen som används i AI-berikningsscenarier, men alla datakällor som stöds kan tillhandahålla innehåll.

Berika & Indexet omfattar merparten av PIPELINEn för AI-berikning:

  • Berikning startar när indexeraren "spricker dokument" och extraherar bilder och text. Vilken typ av bearbetning som sker härnäst beror på dina data och vilka färdigheter du har lagt till i en kompetensuppsättning. Om du har bilder kan de vidarebefordras till färdigheter som utför bildbearbetning. Textinnehåll placeras i kö för text- och bearbetning av naturligt språk. Internt skapar färdigheter ett "berikat dokument" som samlar in transformeringar när de inträffar.

  • Berikat innehåll genereras under körningen av kompetensuppsättningen och är tillfälligt om du inte sparar det. Du kan aktivera en berikningscache för att bevara spruckna dokument och kunskapsutdata för efterföljande återanvändning under framtida körningar av kompetensuppsättningar.

  • För att få innehåll till ett sökindex måste indexeraren ha mappningsinformation för att skicka berikat innehåll till målfältet. Fältmappningar (explicit eller implicit) anger datasökvägen från källdata till ett sökindex. Mappningar av utdatafält anger datasökvägen från berikade dokument till ett index.

  • Indexering är den process där rådata och berikat innehåll matas in i de fysiska datastrukturerna i ett sökindex (dess filer och mappar). Lexikal analys och tokenisering sker i det här steget.

Utforskning är det sista steget. Utdata är alltid ett sökindex som du kan fråga från en klientapp. Utdata kan också vara ett kunskapslager som består av blobar och tabeller i Azure Storage som nås via verktyg för datautforskning eller underordnade processer. Om du skapar ett kunskapslager avgör projektionerna datasökvägen för berikat innehåll. Samma berikade innehåll kan visas i både index och kunskapslager.

När du ska använda AI-berikning

Berikande är användbart om råinnehåll är ostrukturerad text, bildinnehåll eller innehåll som behöver språkidentifiering och översättning. Användning av AI via de inbyggda färdigheterna kan låsa upp det här innehållet för fulltextsökning och datavetenskapsprogram.

Du kan också skapa anpassade kunskaper för att tillhandahålla extern bearbetning. Kod med öppen källkod, tredje part eller första part kan integreras i pipelinen som en anpassad färdighet. Klassificeringsmodeller som identifierar framträdande egenskaper för olika dokumenttyper tillhör den här kategorin, men alla externa paket som lägger till värde i ditt innehåll kan användas.

Användningsfall för inbyggda färdigheter

Inbyggda kunskaper baseras på API:er för Cognitive Services: Visuellt innehåll och Language Service. Om inte dina innehållsindata är små förväntar du dig att koppla en fakturerbar Cognitive Services-resurs för att köra större arbetsbelastningar.

En kompetensuppsättning som har sammanställts med hjälp av inbyggda färdigheter passar bra för följande programscenarier:

Användningsfall för anpassade färdigheter

Anpassade kunskaper kör extern kod som du anger. Anpassade kunskaper kan stödja mer komplexa scenarier, till exempel identifiering av formulär eller anpassad entitetsidentifiering med hjälp av en modell som du tillhandahåller och omsluter i webbgränssnittet för anpassade kunskaper. Flera exempel på anpassade färdigheter är:

Anpassade kunskaper är inte alltid komplexa. Om du till exempel har ett befintligt paket som tillhandahåller mönstermatchning eller en dokumentklassificeringsmodell kan du omsluta det med en anpassad färdighet.

Lagra utdata

I Azure Cognitive Search sparar en indexerare utdata som skapas. En enskild indexerare kan skapa upp till tre datastrukturer som innehåller berikade och indexerade utdata.

Datalager Obligatorisk Location Description
sökbart index Obligatorisk Söktjänst Används för fulltextsökning och andra frågeformulär. Att ange ett index är ett indexeringskrav. Indexinnehåll fylls i från kunskapsutdata, plus alla källfält som mappas direkt till fält i indexet.
kunskapslager Valfritt Azure Storage Används för underordnade appar som kunskapsutvinning eller datavetenskap. Ett kunskapslager definieras inom en kompetensuppsättning. Dess definition avgör om dina berikade dokument projiceras som tabeller eller objekt (filer eller blobbar) i Azure Storage.
berikningscache Valfritt Azure Storage Används för cachelagring av berikningar för återanvändning i efterföljande körning av kompetensuppsättningar. Cachen lagrar importerat, obearbetat innehåll (spruckna dokument). Den lagrar också berikade dokument som skapats under körningen av kompetensuppsättningen. Cachelagring är särskilt användbart om du använder bildanalys eller OCR, och du vill undvika tid och kostnader för ombearbetning av bildfiler.

Index och kunskapslager är helt oberoende av varandra. Du måste bifoga ett index för att uppfylla indexerarens krav, men om ditt enda mål är ett kunskapslager kan du ignorera indexet när det har fyllts i. Undvik dock att ta bort den. Om du vill köra indexeraren och kompetensuppsättningen igen behöver du indexet för att indexeraren ska kunna köras.

Utforska innehåll

När du har definierat och läst in ett sökindex eller ett kunskapslager kan du utforska dess data.

Fråga ett sökindex

Kör frågor för att komma åt det berikade innehåll som genereras av pipelinen. Indexet är som alla andra som du kan skapa för Azure Cognitive Search: du kan komplettera textanalys med anpassade analysverktyg, anropa fuzzy-sökfrågor, lägga till filter eller experimentera med bedömningsprofiler för att justera sökrelevansen.

Använda datagranskningsverktyg i ett kunskapslager

I Azure Storage kan ett kunskapslager anta följande formulär: en blobcontainer med JSON-dokument, en blobcontainer med avbildningsobjekt eller tabeller i Table Storage. Du kan använda Storage Explorer, Power BI eller alla appar som ansluter till Azure Storage för att få åtkomst till ditt innehåll.

  • En blobcontainer samlar in berikade dokument i sin helhet, vilket är användbart om du skapar ett flöde till andra processer.

  • En tabell är användbar om du behöver sektorer med berikade dokument, eller om du vill inkludera eller exkludera specifika delar av utdata. För analys i Power BI är tabeller den rekommenderade datakällan för datautforskning och visualisering i Power BI.

Tillgänglighet och priser

Berikning är tillgängligt i regioner som har Azure Cognitive Services. Du kan kontrollera tillgängligheten för berikning på de Azure-produkter som är tillgängliga per regionsida . Berikning är tillgängligt i alla regioner utom:

  • Australien, sydöstra
  • Kina, norra 2
  • Tyskland, västra centrala

Faktureringen följer en prismodell för användningsbaserad betalning. Kostnaderna för att använda inbyggda färdigheter överförs när en Cognitive Services-nyckel i flera regioner anges i kompetensuppsättningen. Det finns också kostnader för bildextrahering som mäts av Cognitive Search. Textextrahering och verktygskunskaper kan dock inte faktureras. Mer information finns i Så här debiteras du för Azure Cognitive Search.

Checklista: Ett typiskt arbetsflöde

En berikningspipeline består av indexerare som har kompetensuppsättningar. Efter indexering kan du fråga ett index för att verifiera dina resultat.

Börja med en delmängd data i en datakälla som stöds. Design av indexerare och kompetensuppsättningar är en iterativ process. Arbetet går snabbare med en liten representativ datauppsättning.

  1. Skapa en datakälla som anger en anslutning till dina data.

  2. Skapa en kompetensuppsättning. Om inte projektet är litet vill du koppla en Cognitive Services-resurs. Om du skapar ett kunskapslager definierar du det inom kompetensuppsättningen.

  3. Skapa ett indexschema som definierar ett sökindex.

  4. Skapa och kör indexeraren för att sammanföra alla ovanstående komponenter. Det här steget hämtar data, kör kompetensuppsättningen och läser in indexet.

    En indexerare är också där du anger fältmappningar och mappningar av utdatafält som konfigurerar datasökvägen till ett sökindex.

    Du kan också aktivera cachelagring av berikning i indexerarens konfiguration. Med det här steget kan du återanvända befintliga berikningar senare.

  5. Kör frågor för att utvärdera resultat eller starta en felsökningssession för att gå igenom eventuella problem med kompetensuppsättningen.

Om du vill upprepa något av ovanstående steg återställer du indexeraren innan du kör den. Eller ta bort och återskapa objekten på varje körning (rekommenderas om du använder den kostnadsfria nivån). Om du har aktiverat cachelagring hämtar indexeraren från cachen om data är oförändrade vid källan och om dina ändringar i pipelinen inte gör cachen ogiltig.

Nästa steg