AI-berikning i Azure Cognitive Search

I Azure Cognitive Search syftar AI-berikning på inbyggda kognitiva kunskaper och anpassade färdigheter som lägger till analys, transformering och innehållsgenerering under indexeringen. Berikningar skapar ny information där ingen tidigare fanns: extrahera information från bilder, identifiera sentiment, nyckelfraser och entiteter från text för att bara nämna några. Berikningar lägger också till struktur i o differentierad text. Alla dessa processer resulterar i att tidigare osökbart innehåll blir tillgängligt för fulltextsökningsscenarier. I många fall är berikade dokument användbara för andra scenarier än sökning, till exempel för kunskapsutvinning.

Berikning definieras av en kunskapsuppsättning som är kopplad till en indexerare. Indexeraren extraherar och ställer in innehållet, medan kunskapsuppsättningen identifierar, analyserar och skapar ny information och strukturer från bilder, blobar och andra ostrukturerade datakällor. Utdata från en berikningspipeline är antingen ett sökindex eller ett kunskapslager.

Diagram över berikningspipeline

En kunskapsuppsättning kan innehålla inbyggda kunskaper från Cognitive Search inbäddad extern bearbetning som du anger i en anpassad färdighet. Exempel på anpassade kunskaper kan vara en anpassad entitetsmodul eller dokument klassificerare som riktar sig mot en specifik domän, till exempel ekonomi, vetenskapliga publikationer eller medicin.

Inbyggda kunskaper finns i följande kategorier:

  • Kunskaper i bearbetning av naturligt språk omfattar entitetsigenkänning, språkidentifiering, extrahering av nyckelfraser, textmanipulering, attitydidentifiering (inklusive yttrandeutvinning)och PII-identifiering. Med dessa kunskaper mappas ostrukturerad text som sökbara och filtrerbara fält i ett index.

  • Bildbearbetningskunskaper omfattar optisk teckenläsning (OCR) och identifiering av visuella funktioner,till exempel ansiktsigenkänning, bildtolkning, bildigenkänning (berömda personer och landmärken) eller attribut som bildorientering. Dessa kunskaper skapar textrepresentationer av bildinnehåll, vilket gör det sökbart med hjälp av frågefunktionerna i Azure Cognitive Search.

Inbyggda kunskaper i Azure Cognitive Search baseras på förtränade maskininlärningsmodeller i API:er för Cognitive Services: Visuellt innehåll och Textanalys. Du kan bifoga Cognitive Services resurs om du vill utnyttja dessa resurser under innehållsbearbetningen.

Bearbetning av naturligt språk och bilder tillämpas under datainmatningsfasen, där resultaten blir en del av ett dokuments sammansättning i ett sökbart index i Azure Cognitive Search. Data kommer från en Azure-datauppsättning och skickas sedan genom en indexeringspipeline med hjälp av de inbyggda kunskaper du behöver.

Funktionstillgänglighet

AI-berikning är tillgängligt i regioner där Azure Cognitive Services också är tillgängligt. Du kan kontrollera den aktuella tillgängligheten för AI-berikning på sidan Tillgängliga Azure-produkter per region. AI-berikning är tillgängligt i alla regioner som stöds förutom:

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

Om söktjänsten finns i någon av dessa regioner kommer du inte att kunna skapa och använda kunskapsuppsättningar, men alla andra söktjänstfunktioner är tillgängliga och stöds fullt ut.

När AI-berikning ska användas

Du bör överväga berikning om ditt råinnehåll är ostrukturerad text, bildinnehåll eller innehåll som behöver språkidentifiering och översättning. Genom att använda AI via inbyggda kognitiva kunskaper kan du låsa upp det här innehållet och öka dess värde och användbarhet i dina sök- och datavetenskapsappar.

Dessutom kan du överväga att lägga till en anpassad färdighet om du har kod med öppen källkod, tredje part eller första part som du vill integrera i pipelinen. Klassificeringsmodeller som identifierar viktiga egenskaper hos olika dokumenttyper tillhör den här kategorin, men alla paket som tillför värde till ditt innehåll kan användas.

Användningsfall för inbyggda kunskaper

En kompetensuppsättning som sammanställs med hjälp av inbyggda kunskaper passar bra för följande programscenarier:

  • Optisk teckenläsning (OCR) som känner igen typansikten och handskriven text i skannade dokument (JPEG) är kanske den mest använda färdigheten. Genom att koppla OCR-färdigheten kan du identifiera, extrahera och mata in text från JPEG-filer.

  • Textöversättning av flerspråkigt innehåll är en annan vanlig färdighet. Språkidentifiering är inbyggt i textöversättning, men du kan även köra Språkidentifiering oberoende av varandra om du bara vill ha språkkoderna för innehållet i din corpus.

  • PDF-filer med kombinerad bild och text. Text i PDF-filer kan extraheras under indexering utan användning av berikningssteg, men tillägget av bild- och bearbetning av naturligt språk kan ofta ge ett bättre resultat än en standardindexering tillhandahåller.

  • Ostrukturerade eller halvstrukturerade dokument som innehåller innehåll som har inbyggd betydelse eller kontext som är dolt i det större dokumentet.

    Blobar i synnerhet innehåller ofta en stor mängd innehåll som packas in i ett enda "fält". Genom att koppla kunskaper om bild- och bearbetning av naturligt språk till en indexerare kan du skapa ny information som finns i det råa innehållet, men som annars inte visas som distinkta fält. Några färdiga inbyggda kognitiva kunskaper som kan vara till hjälp: Extrahering av diskussionsämne och entitetsigenkänning (personer, organisationer och platser för att nämna några).

    Dessutom kan inbyggda kunskaper också användas för att strukturera om innehåll genom textdelning, sammanfogning och formåtgärder.

Användningsfall för anpassade färdigheter

Anpassade kunskaper kan stödja mer komplexa scenarier, till exempel igenkänning av formulär eller anpassad entitetsidentifiering med hjälp av en modell som du tillhandahåller och omsluter i det anpassade webbgränssnittetför färdigheter. Flera exempel på anpassade kunskaper är Formigenkänning,integrering av Bing Entitetssökning API ochanpassad entitetsigenkänning.

Berikande steg

En berikningspipeline består av indexerare som har kompetensuppsättningar. En kunskapsuppsättning definierar berikningsstegen och indexeraren driver kompetensuppsättningen. När du konfigurerar en indexerare kan du inkludera egenskaper som utdatafältmappningar som skickar berikat innehåll till ett sökindex eller projektioner som definierar datastrukturer i ett kunskapslager.

Efter indexering kan du komma åt innehåll via sökförfrågningar via alla frågetyper som stöds av Azure Cognitive Search.

Steg 1: Anslutnings- och dokumentknrickningsfasen

Indexerare ansluter till externa källor med hjälp av information som tillhandahålls i en indexerardatakälla. När indexeraren ansluter till resursen kommer den att "knäcka dokument" för att extrahera text och bilder. Bildinnehåll kan dirigeras till färdigheter som utför bildbearbetning, medan textinnehåll köas för textbearbetning.

Dokumentknrickningsfasen

I det här steget sammanställs allt initialt eller rådatinnehåll som ska genomgå AI-berikning. För varje dokument skapas ett berikande träd. Till en början är trädet bara en rotnodrepresentation, men det kommer att växa och få struktur under körningen av kunskapsuppsättningen.

Steg 2: Berikningsfasen för kunskapsuppsättning

En kunskapsuppsättning definierar de atomiska åtgärder som utförs på varje dokument. För text och bilder som extraheras från en PDF kan en kunskapsuppsättning till exempel använda entitetsigenkänning, språkidentifiering eller extrahering av nyckelfraser för att skapa nya fält i ditt index som inte är tillgängliga inbyggt i källan.

Berikningsfasen

kompetensuppsättningen kan vara minimal eller mycket komplex och avgör inte bara typen av bearbetning, utan även ordningen på åtgärderna. De flesta kunskapsuppsättningar innehåller cirka tre till fem färdigheter.

En kunskapsuppsättning, plus de mappningar av utdatafält som definierats som en del av en indexerare, anger helt berikningspipelinen. Mer information om hur du drar ihop alla dessa delar finns i Definiera en kunskapsuppsättning.

Internt genererar pipelinen en samling berikade dokument. Du kan bestämma vilka delar av berikade dokument som ska mappas till indexerbara fält i sökindexet. Om du till exempel använder extrahering av nyckelfraser och entitetsigenkänningskunskaper blir dessa nya fält en del av det berikade dokumentet och kan mappas till fält i ditt index. Se Anteckningar för att lära dig mer om indata-/utdataformationer.

Steg 3: Indexering

Indexering är en process där råt och berikat innehåll matas in som fält i ett sökindex och som projektioner om du också skapar ett kunskapslager. Samma berikade innehåll kan visas i båda, med implicita eller explicita fältmappningar för att skicka innehållet till rätt fält.

Berikat innehåll genereras under körningen av kunskapsuppsättningen och är tillfälligt om du inte sparar det. För att berikat innehåll ska visas i ett sökindex måste indexeraren ha mappningsinformation så att det kan skicka berikat innehåll till ett fält i ett sökindex. Mappningar av utdatafält ställer in dessa associationer.

Spara berikade utdata

I Azure Cognitive Search sparar en indexerare de utdata som skapas.

Ett sökbart index är ett av de utdata som alltid skapas av en indexerare. Specifikation av ett index är ett indexerarkrav, och när du kopplar en kunskapsuppsättning används utdata från kunskapsuppsättningen, plus alla fält som mappas direkt från källan, för att fylla i indexet. Vanligtvis matas utdata för specifika färdigheter, till exempel nyckelfraser eller attitydpoäng, in i indexet i fält som skapats för detta ändamål.

Ett kunskapslager är valfria utdata som används för underordnade appar som kunskapsutvinning. Ett kunskapslager definieras i en kunskapsuppsättning. Dess definition avgör om dina berikade dokument projiceras som tabeller eller objekt (filer eller blobar). Tabellprojektioner passar bra för interaktiv analys i verktyg som Power BI, medan filer och blobar vanligtvis används i datavetenskap eller liknande processer.

Slutligen kan en indexerare cachelagra berikade dokument i Azure Blob Storage eventuell återanvändning i efterföljande körningar av kunskapsuppsättningen. Cachen är för intern användning. Cachelagrade berikningar kan användas av samma kompetensuppsättning som du kör igen vid ett senare tillfälle. Cachelagring är användbart om kunskapsuppsättningen innehåller bildanalys eller OCR och du vill undvika tid och utgifter för ombearbetning av bildfiler.

Index och kunskapslager är helt oberoende av varandra. Du måste bifoga ett index för att uppfylla indexerarkraven, 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 kunskapsuppsättningen igen behöver du indexet för att indexeraren ska kunna köra.

Använda berikat innehåll

När bearbetningen är klar har du ett sökindex som består av berikade dokument, fullt sökbart med text i Azure Cognitive Search. Att köra frågor mot indexet är hur utvecklare och användare kommer å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 finjustera sökrelevansen.

Du kan också ha ett kunskapslager. Kunskapslagret innehåller data som kan användas i kunskapsutvinningsscenarier som analys eller maskininlärning. Du kan använda Storage Browser, Power BIeller någon annan app som ansluter till Azure Storage.

Checklista: Ett typiskt arbetsflöde

  1. När du börjar ett projekt är det bra att arbeta med en delmängd av data. Indexerar- och kunskapsuppsättningsdesign är en iterativ process och du itererar snabbare om du arbetar med en liten representativ datauppsättning.

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

  3. Skapa en kunskapsuppsättning för att lägga till berikning.

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

  5. Skapa en indexerare för att sammanför alla ovanstående komponenter. När du skapar eller kör indexeraren hämtas data, kompetensuppsättningen körs och indexet läses in.

  6. Kör frågor för att utvärdera resultat och ändra kod för att uppdatera kunskapsuppsättningar, schema eller indexerarkonfiguration.

Om du vill iterera över stegen ovan återställer du indexeraren innan du återskapar pipelinen eller tar bort och återskapar objekten vid varje körning (rekommenderas om du använder den kostnadsfria nivån). Du bör också aktivera cachelagring av berikande för att återanvända befintliga berikande när det är möjligt.

Nästa steg