AI-verrijking in Azure Cognitive Search

In Azure Cognitive Search verwijst AI-verrijking naar ingebouwde cognitieve vaardigheden en aangepaste vaardigheden die analyses, transformaties en het genereren van inhoud toevoegen tijdens het indexeren. Verrijkingen maken nieuwe informatie waar nog geen bestond: het extraheren van informatie uit afbeeldingen, het detecteren van sentiment, sleuteltermen en entiteiten uit tekst, om er maar een paar te noemen. Verrijkingen voegen ook structuur toe aan niet-gedifferentieerde tekst. Al deze processen resulteren in het beschikbaar maken van eerder onzoekbare inhoud voor scenario's voor zoeken in volledige tekst. In veel gevallen zijn verrijkte documenten handig voor andere scenario's dan zoeken, zoals voor kennismining.

Verrijking wordt gedefinieerd door een vaardighedenset die is gekoppeld aan een indexer. De indexer extraheert en stelt de inhoud in, terwijl de vaardighedenset nieuwe informatie en structuren identificeert, analyseert en maakt op basis van afbeeldingen, blobs en andere ongestructureerde gegevensbronnen. De uitvoer van een verrijkingspijplijn is een zoekindex of een kennisopslag.

Diagram van verrijkingspijplijn

Een vaardighedenset kan ingebouwde vaardigheden bevatten van Cognitive Search of externe verwerking insluiten die u in een aangepaste vaardigheid op biedt. 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, gevoelsdetectie (inclusief meningmining)en 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. Met deze vaardigheden maakt u tekstweergaven van afbeeldingsinhoud, waardoor deze doorzoekbaar wordt met behulp van de querymogelijkheden van Azure Cognitive Search.

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's waar Azure Cognitive Services ook beschikbaar is. 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 verrijking als uw onbewerkte inhoud ongestructureerde tekst, afbeeldingsinhoud of inhoud is die taaldetectie en -vertaling nodig heeft. 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.

Use cases voor ingebouwde vaardigheden

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

  • Optische tekenherkenning (OCR) die typeface en handgeschreven tekst in gescande documenten (JPEG) herkent, is mogelijk de meest gebruikte vaardigheid. Als u de OCR-vaardigheid koppelt, wordt tekst uit JPEG-bestanden geëxtraheert en opgenomen.

  • Tekstvertaling van meertalige inhoud is een andere veelgebruikte vaardigheid. Taaldetectie is ingebouwd in Tekstvertaling, maar u kunt deze ook onafhankelijk Taaldetectie als u alleen de taalcodes van de inhoud in uw -tekstbestand wilt.

  • 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.

  • 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 op het gebied van afbeeldings- en natuurlijke taalverwerking aan een indexer te koppelen, kunt u nieuwe informatie maken die in de onbewerkte inhoud wordt gebruikt, maar die verder niet als afzonderlijke velden wordt gebruikt. Enkele kant-en-klaar ingebouwde cognitieve vaardigheden die u kunnen helpen: Sleuteltermextractie en Entiteitsherkenning (personen, organisaties en locaties om er een paar te noemen).

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

Use cases voor 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 Entiteiten zoeken APIen aangepaste entiteitsherkenning.

Verrijkingsstappen

Een verrijkingspijplijn bestaat uit indexeren met vaardighedensets. Een vaardighedenset definieert de verrijkingsstappen en de indexer stuurt de vaardighedenset aan. Wanneer u een indexeringsfunctie configureert, kunt u eigenschappen zoals uitvoerveldtoewijzingen opnemen die verrijkte inhoud verzenden naar een zoekindex of projecties die gegevensstructuren definiëren in een kennisopslag.

Na het indexeren hebt u toegang tot inhoud via zoekaanvragen via alle querytypendie worden ondersteund door Azure Cognitive Search .

Stap 1: fase van verbindings- en documentkraakting

Indexeerders maken verbinding met externe bronnen met behulp van informatie die is opgegeven in een indexeringsgegevensbron. Wanneer de indexer verbinding maakt met de resource, worden documenten gekraakt om tekst en afbeeldingen te extraheren. Afbeeldingsinhoud kan worden doorgeleid naar vaardigheden die afbeeldingsverwerking uitvoeren, terwijl tekstinhoud in de wachtrij wordt geplaatst voor tekstverwerking.

Fase van documentscheuring

In deze stap worden alle initiële of onbewerkte inhoud geassembleerd die AI-verrijking zal ondergaan. Voor elk document wordt een verrijkingsstructuur gemaakt. In eerste instantie is de structuur slechts een representatie van een hoofd knooppunt, maar deze wordt groter en krijgt structuur tijdens het uitvoeren van de vaardighedenset.

Stap 2: verrijkingsfase vaardighedenset

Een vaardighedenset definieert de atomische bewerkingen die op elk document worden uitgevoerd. Voor tekst en afbeeldingen die uit een PDF zijn geëxtraheerd, kan een vaardighedenset bijvoorbeeld entiteitsherkenning, taaldetectie of sleuteltermextractie toepassen om nieuwe velden in uw index te produceren die niet standaard beschikbaar zijn in de bron.

Verrijkingsfase

vaardighedenset kan minimaal of zeer complex zijn en bepaalt niet alleen het type verwerking, maar ook de volgorde van de bewerkingen. De meeste vaardighedensets bevatten ongeveer drie tot vijf vaardigheden.

Een vaardighedenset, plus de toewijzingen van uitvoerveld die zijn gedefinieerd als onderdeel van een indexer, geeft de verrijkingspijplijn volledig op. 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.

Stap 3: Indexeren

Indexeren is het proces waarbij onbewerkte en verrijkte inhoud wordt opgenomen als velden in een zoekindex en als projecties als u ook een kennisopslag maakt. Dezelfde verrijkte inhoud kan in beide worden weergegeven met behulp van impliciete of expliciete veldtoewijzingen om de inhoud naar de juiste velden te verzenden.

Verrijkte inhoud wordt gegenereerd tijdens het uitvoeren van de vaardighedenset en is tijdelijk, tenzij u deze op slaan. Als u wilt dat verrijkte inhoud wordt weergegeven in een zoekindex, moet de indexeringsfunctie toewijzingsgegevens hebben, zodat deze verrijkte inhoud kan verzenden naar een veld in een zoekindex. Met veldtoewijzingen voor uitvoer worden deze verbanden ingesteld.

Verrijkte uitvoer opslaan

In Azure Cognitive Search slaat een indexer de uitvoer op die wordt gemaakt.

Een doorzoekbare index is een van de uitvoer die altijd wordt gemaakt door een indexer. Specificatie van een index is een indexervereiste. Wanneer u een vaardighedenset koppelt, wordt de uitvoer van de vaardighedenset, plus alle velden die rechtstreeks vanuit de bron zijn gekoppeld, gebruikt om de index te vullen. Normaal gesproken worden de uitvoer van specifieke vaardigheden, zoals sleuteltermen of gevoelsscores, opgenomen in de index in velden die voor dat doel zijn gemaakt.

Een kennisopslag is een optionele uitvoer die wordt gebruikt voor downstream-apps zoals kennismining. Een kennisopslag wordt gedefinieerd in een vaardighedenset. De definitie bepaalt of uw verrijkte documenten worden geprojecteerd als tabellen of objecten (bestanden of blobs). Tabellaire projecties zijn zeer geschikt voor interactieve analyse in hulpprogramma's zoals Power BI, terwijl bestanden en blobs doorgaans worden gebruikt in gegevenswetenschap of vergelijkbare processen.

Ten slotte kan een indexer verrijkte documenten in de cache opslaan in Azure Blob Storage voor mogelijk hergebruik in volgende uitvoeringen van vaardighedensets. De cache is voor intern gebruik. Verrijkingen in de cache kunnen worden gebruikt door dezelfde vaardighedenset die u op een later tijdstip opnieuw wilt gebruiken. Caching is handig als uw vaardighedenset afbeeldingsanalyse of OCR bevat en u de tijd en kosten voor het opnieuw verwerken van afbeeldingsbestanden wilt vermijden.

Indexen en kennisopslag zijn volledig onafhankelijk van elkaar. Hoewel u een index moet koppelen om te voldoen aan de vereisten van de indexer, kunt u, als uw enige doel een kennisopslag is, de index negeren nadat deze is ingevuld. Vermijd deze echter te verwijderen. Als u de indexer en vaardighedenset opnieuw wilt uitvoeren, hebt u de index nodig om de indexer uit te voeren.

Verrijkte inhoud gebruiken

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. De index is net als elke andere index die u voor Azure Cognitive Search kunt maken: u kunt tekstanalyse aanvullen met aangepaste analyses, fuzzy zoekquery's aanroepen, filters toevoegen of experimenteren met scoreprofielen om de relevantie van zoeken af te stemmen.

Mogelijk hebt u ook een kennisopslag. Het kennisopslag bevat gegevens die kunnen worden gebruikt in kennisanalysescenario's zoals analyses of machine learning. U kunt Storage Browser, Power BIgebruiken of een app die verbinding maakt met Azure Storage.

Controlelijst: Een typische werkstroom

  1. Wanneer u een project start, is het handig om met een subset gegevens te werken. Het ontwerp van indexeermiddelen en vaardighedensets is een iteratief proces en u zult sneller itereren als u met een kleine representatieve gegevensset werkt.

  2. Maak een gegevensbron die een verbinding met uw gegevens specificeert.

  3. Maak een vaardighedenset om verrijking toe te voegen.

  4. Maak een indexschema dat een zoekindex definieert.

  5. Maak een indexer om alle bovenstaande onderdelen samen te brengen. Het maken of uitvoeren van de indexer haalt de gegevens op, voert de vaardighedenset uit en laadt de index.

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

Als u de bovenstaande stappen wilt doorlopen, stelt u de indexer opnieuw in voordat u de pijplijn herbouwt of verwijdert en maakt u de objecten bij elke run opnieuw (aanbevolen als u de gratis laag gebruikt). U moet ook verrijkings-caching inschakelen om waar mogelijk bestaande verrijkingen opnieuw te gebruiken.

Volgende stappen