AI-verrijking in Azure Cognitive Search

AI-verrijking is een uitbreiding van indexeren die kan worden gebruikt om tekst te extraheren uit afbeeldingen, blobs en andere ongestructureerde gegevensbronnen. Verrijking en extractie maken uw inhoud beter doorzoekbaar in uitvoerobjecten van de indexer, ofwel een zoekindex of een kennisopslag.

Extractie en verrijking worden geïmplementeerd met behulp van cognitieve vaardigheden die zijn gekoppeld aan de indexergestuurde pijplijn. U kunt ingebouwde vaardigheden van Microsoft gebruiken of externe verwerking insluiten in een aangepaste vaardigheid die u maakt. Voorbeelden van een aangepaste vaardigheid kunnen een aangepaste entiteitsmodule of documentclassificeerder zijn die is gericht op een specifiek domein, zoals financiën, wetenschappelijke publicaties of medicijnen.

Ingebouwde vaardigheden vallen onder de volgende categorieën:

  • Vaardigheden voor de verwerking van natuurlijke taal zijn onder andere entiteitsherkenning,taaldetectie, sleuteltermextractie,tekstmanipulatie, gevoelsdetectieen PII-detectie. Met deze vaardigheden wordt ongestructureerde tekst in een index als doorzoekbare en filterbare velden in kaart gebracht.

  • De vaardigheden voor het verwerken van afbeeldingen zijn onder andere OCR (Optical Character Recognition) en de identificatie van visuele kenmerken,zoals gezichtsdetectie, afbeeldingsinterpretatie, afbeeldingsherkenning (beroemde mensen en oriëntatiepunten) of kenmerken zoals afbeeldingsstand. Deze vaardigheden maken tekstweergaven van afbeeldingsinhoud, waardoor deze doorzoekbaar wordt met behulp van de querymogelijkheden van Azure Cognitive Search.

Diagram van verrijkingspijplijn

Ingebouwde vaardigheden in Azure Cognitive Search zijn gebaseerd op vooraf getrainde machine learning modellen in Cognitive Services-API's: Computer Vision en Text Analytics. U kunt een Cognitive Services toevoegen als u deze resources wilt gebruiken tijdens het verwerken van inhoud.

Natuurlijke taal en afbeeldingsverwerking worden toegepast tijdens de fase van de gegevens opname, met resultaten die deel uitmaken van de samenstelling van een document in een doorzoekbare index in Azure Cognitive Search. Gegevens worden als een Azure-gegevensset gebruikt en vervolgens via een indexeringspijplijn ge pusht met behulp van de ingebouwde vaardigheden die u nodig hebt.

Beschikbaarheid van functies

AI-verrijking is beschikbaar in regio'Azure Cognitive Services ook beschikbaar zijn. U kunt de huidige beschikbaarheid van AI-verrijking controleren op de pagina Beschikbare Azure-producten per regio. AI-verrijking is beschikbaar in alle ondersteunde regio's, met uitzondering van:

  • Australië - zuidoost
  • China - noord 2
  • Noorwegen - oost
  • Duitsland - west-centraal

Als uw zoekservice zich in een van deze regio's bevindt, kunt u geen vaardighedensets maken en gebruiken, maar alle andere functionaliteit van de zoekservice is beschikbaar en wordt volledig ondersteund.

Wanneer ai-verrijking gebruiken

Overweeg het gebruik van ingebouwde cognitieve vaardigheden als uw onbewerkte inhoud ongestructureerde tekst, afbeeldingsinhoud of inhoud is die taaldetectie en -vertaling vereist. Door AI toe te passen via de ingebouwde cognitieve vaardigheden kan deze inhoud worden ontgrendeld, waardoor de waarde en het hulpprogramma in uw zoek- en data science-apps toenemen.

Daarnaast kunt u overwegen om een aangepaste vaardigheid toe te voegen als u opensource-, externe of eigen code hebt die u in de pijplijn wilt integreren. Classificatiemodellen die belangrijke kenmerken van verschillende documenttypen identificeren, vallen in deze categorie, maar elk pakket dat waarde toevoegt aan uw inhoud kan worden gebruikt.

Meer informatie over ingebouwde vaardigheden

Een vaardighedenset die is samengesteld met behulp van ingebouwde vaardigheden is zeer geschikt voor de volgende toepassingsscenario's:

  • Gescande documenten (JPEG) die u in volledige tekst doorzoekbaar wilt maken. U kunt een vaardigheid voor optische tekenherkenning (OCR) koppelen om tekst te identificeren, te extraheren en op te nemen uit JPEG-bestanden.

  • PDF's met gecombineerde afbeelding en tekst. Tekst in PDF's kan worden geëxtraheerd tijdens het indexeren zonder het gebruik van verrijkingsstappen, maar het toevoegen van afbeeldings- en natuurlijke taalverwerking kan vaak een beter resultaat opleveren dan een standaardindexering biedt.

  • Meertalige inhoud waarop u taaldetectie en mogelijk tekstvertaling wilt toepassen.

  • Ongestructureerde of semi-gestructureerde documenten met inhoud met een inherente betekenis of context die verborgen is in het grotere document.

    Blobs bevatten vaak een grote hoeveelheid inhoud die is verpakt in één 'veld'. Door vaardigheden voor afbeeldings- en natuurlijke taalverwerking te koppelen aan een indexeringsmanager, kunt u nieuwe informatie maken die in de onbewerkte inhoud wordt gebruikt, maar die anders niet als afzonderlijke velden wordt gebruikt. Enkele kant-en-klaar ingebouwde cognitieve vaardigheden die u kunnen helpen: sleuteltermextractie, sentimentanalyse en entiteitsherkenning (mensen, organisaties en locaties).

    Daarnaast kunnen ingebouwde vaardigheden ook worden gebruikt voor het herstructureren van inhoud via bewerkingen voor tekst splitsen, samenvoegen en vormen.

Meer informatie over aangepaste vaardigheden

Aangepaste vaardigheden kunnen ondersteuning bieden voor complexere scenario's, zoals het herkennen van formulieren of detectie van aangepaste entiteiten met behulp van een model dat u levert en verpakt in de webinterface voor aangepaste vaardigheden. Enkele voorbeelden van aangepaste vaardigheden zijn Forms Recognizer,integratie van de Bing Entity Search APIen aangepaste entiteitsherkenning.

Stappen in een verrijkingspijplijn

Een verrijkingspijplijn is gebaseerd op indexeren. Indexeerders vullen een index op basis van veld-naar-veld-toewijzingen tussen de index en uw gegevensbron om documenten te kraken. Vaardigheden, nu gekoppeld aan indexeerders, en documenten onderscheppen en verrijken op basis van de vaardighedenset(s) die u definieert. Nadat de index is geïndexeerd, hebt u toegang tot inhoud via zoekaanvragen via alle querytypen die worden ondersteund door Azure Cognitive Search. Als u geen tijd hebt voor indexeringen, wordt u in deze sectie door de stappen doorloopt.

Stap 1: fase van verbindings- en documentkraakting

Aan het begin van de pijplijn hebt u ongestructureerde tekst of niet-tekstinhoud (zoals afbeeldingen, gescande documenten of JPEG-bestanden). Gegevens moeten bestaan in een Azure-service voor gegevensopslag die toegankelijk is voor een indexer. Indexeerders kunnen brondocumenten 'kraken' om tekst te extraheren uit brongegevens. Documentbaring is het proces van het extraheren of maken van tekstinhoud uit niet-tekstbronnen tijdens het indexeren.

Fase documentscheuring

Ondersteunde bronnen zijn Azure Blob Storage, Azure Table Storage, Azure SQL Database en Azure Cosmos DB. Tekstinhoud kan worden geëxtraheerd uit de volgende bestandstypen: PDF's, Word, PowerPoint, CSV-bestanden. Zie Ondersteunde indelingen voor de volledige lijst. Indexeren kost tijd, dus begin met een kleine, representatieve gegevensset en bouw deze vervolgens stapsgewijs op naarmate uw oplossing zich verder ontwikkelde.

Stap 2: Cognitieve vaardigheden en verrijkingsfase

Verrijking wordt uitgevoerd met cognitieve vaardigheden die atomische bewerkingen uitvoeren. Als u bijvoorbeeld een PDF hebt gekraakt, kunt u entiteitsherkenning, taaldetectie of sleuteltermextractie toepassen om nieuwe velden in uw index te produceren die niet standaard beschikbaar zijn in de bron. De verzameling vaardigheden die in uw pijplijn worden gebruikt, wordt een vaardighedenset genoemd.

Verrijkingsfase

Een vaardighedenset is gebaseerd op ingebouwde cognitieve vaardigheden of aangepaste vaardigheden die u op maat maakt en die u aan de vaardighedenset koppelt. Een vaardighedenset kan minimaal of zeer complex zijn en bepaalt niet alleen het type verwerking, maar ook de volgorde van de bewerkingen. Een vaardighedenset plus de veldtoewijzingen die zijn gedefinieerd als onderdeel van een indexer, geeft de verrijkingspijplijn volledig aan. Zie Define a skillset (Een vaardighedenset definiëren) voor meer informatie over het samenhalen van al deze onderdelen.

Intern genereert de pijplijn een verzameling verrijkte documenten. U kunt bepalen welke onderdelen van de verrijkte documenten moeten worden toe te staan aan indexeerbare velden in uw zoekindex. Als u bijvoorbeeld de vaardigheden voor sleuteltermextractie en entiteitsherkenning hebt toegepast, worden deze nieuwe velden onderdeel van het verrijkte document en kunnen ze worden toegepast op velden in uw index. Zie Aantekeningen voor meer informatie over invoer-/uitvoerproducties.

Een knowledgeStore-element toevoegen om verrijkingen op te slaan

Search REST api-version=2020-06-30 breidt vaardighedensets uit met een definitie die een Azure-opslagverbinding en projecties biedt die beschrijven hoe de verrijkingen worden knowledgeStore opgeslagen. Dit is een aanvulling op uw index. In een standaard AI-pijplijn zijn verrijkte documenten van tijdelijke aard, die alleen worden gebruikt tijdens het indexeren en vervolgens worden verwijderd. Met een kennisopslag blijven verrijkte documenten behouden. Zie Kennisopslag voor meer informatie.

Stap 3: Zoeken in een index en toegang op basis van query's

Wanneer de verwerking is voltooid, hebt u een zoekindex die bestaat uit verrijkte documenten, die volledig doorzoekbaar zijn in Azure Cognitive Search. Het uitvoeren van query's op de index is de manier waarop ontwikkelaars en gebruikers toegang hebben tot de verrijkte inhoud die door de pijplijn wordt gegenereerd.

Indexeren met zoekpictogram

De index is net als elke andere die u voor Azure Cognitive Search kunt maken: u kunt aangepaste analyses gebruiken, fuzzy zoekquery's aanroepen, gefilterde zoekopdrachten toevoegen of experimenteren met scoreprofielen om de zoekresultaten opnieuw vorm te geven.

Indexen worden gegenereerd op basis van een indexschema dat de velden, kenmerken en andere constructies definieert die zijn gekoppeld aan een specifieke index, zoals scoreprofielen en synoniemenkaarten. Zodra een index is gedefinieerd en ingevuld, kunt u incrementeel indexeren om nieuwe en bijgewerkte brondocumenten op te halen. Voor bepaalde wijzigingen is een volledige herbouw vereist. U moet een kleine gegevensset gebruiken totdat het schemaontwerp stabiel is. Zie How to rebuild an index (Een index herbouwen) voor meer informatie.

Controlelijst: Een typische werkstroom

  1. Subset van uw Azure-brongegevens in een representatieve steekproef. Indexeren kost tijd, dus begin met een kleine, representatieve gegevensset en bouw deze vervolgens stapsgewijs op naarmate uw oplossing zich verder ontwikkelde.

  2. Maak een gegevensbronobject in Azure Cognitive Search om een connection string voor het ophalen van gegevens.

  3. Maak een vaardighedenset met verrijkingsstappen.

  4. Definieer het indexschema. De verzameling Velden bevat velden uit brongegevens. U moet ook extra velden verwijderen om gegenereerde waarden te bevatten voor inhoud die tijdens de verrijking is gemaakt.

  5. Definieer de indexer die verwijst naar de gegevensbron, vaardighedenset en index.

  6. Voeg in de indexer outputFieldMappings toe. In deze sectie wordt uitvoer van de vaardighedenset (in stap 3) aan de invoervelden in het indexschema (in stap 4) toebedeeld.

  7. Verzend de Create Indexer-aanvraag die u zojuist hebt gemaakt (een POST-aanvraag met een indexeringsdefinitie in de aanvraag body) om de indexer in de Azure Cognitive Search. Met deze stap kunt u de indexering uitvoeren en de pijplijn aanroepen.

  8. Voer query's uit om resultaten te evalueren en code te wijzigen om vaardighedensets, schema of indexerconfiguratie bij te werken.

  9. Stel de indexer opnieuw in voordat u de pijplijn opnieuw bouwt.

Volgende stappen