Kennisopslag in Azure Cognitive Search
Kennisopslag is een gegevenss sink die is gemaakt door een Cognitive Search AI-verrijkingspijplijn waarin verrijkte inhoud wordt opgeslagen in tabellen en blobcontainers in Azure Storage voor onafhankelijke analyse of downstreamverwerking in niet-zoekscenario's, zoals kennisanalyse.
Als u in het verleden cognitieve vaardigheden hebt gebruikt, weet u al dat vaardighedensets een document door een reeks verrijkingen verplaatsen die atomische transformaties aanroepen, zoals het herkennen van entiteiten of het vertalen van tekst. Het resultaat kan een zoekindex of projecties in een kennisopslag zijn. De twee uitvoer, zoekindex en kennisopslag, zijn wederzijds exclusieve producten van dezelfde pijplijn; afgeleid van dezelfde invoer, maar resulteert in uitvoer die is gestructureerd, opgeslagen en gebruikt in verschillende toepassingen.
Fysiek is een kennisopslag Azure Storage,Azure Table Storage, Azure Blob Storage of beide. Elk hulpprogramma of proces dat verbinding kan maken met Azure Storage kan de inhoud van een kennisopslag gebruiken.
Een kennisopslag, Storage browser bekeken, ziet eruit als elke andere verzameling tabellen, objecten of bestanden. In het volgende voorbeeld ziet u een kennisopslag die bestaat uit drie tabellen met velden die worden overgedragen vanuit de gegevensbron of zijn gemaakt via verrijkingen (zie gevoelsscore en translated_text).
Voordelen van kennisopslag
De belangrijkste voordelen van een kennisopslag zijn tweevoudig: flexibele toegang tot inhoud en de mogelijkheid om gegevens vorm te geven.
In tegenstelling tot een zoekindex die alleen toegankelijk is via query's in Cognitive Search, is een kennisopslag toegankelijk voor elk hulpprogramma, elke app of elk proces dat verbindingen met Azure Storage. Deze flexibiliteit opent nieuwe scenario's voor het gebruiken van de geanalyseerde en verrijkte inhoud die wordt geproduceerd door een verrijkingspijplijn.
Dezelfde vaardighedenset die gegevens verrijkt, kan ook worden gebruikt om gegevens vorm te geven. Sommige hulpprogramma's Power BI werken beter met tabellen, terwijl een data science-workload mogelijk een complexe gegevensstructuur in een blob-indeling vereist. Door een Shaper-vaardigheid aan een vaardighedenset toe te voegen, hebt u controle over de vorm van uw gegevens. U kunt deze vormen vervolgens doorgeven aan projecties, tabellen of blobs, om fysieke gegevensstructuren te maken die zijn afgestemd op het beoogde gebruik van de gegevens.
In de volgende video worden deze voordelen en meer uitgelegd.
Definitie van kennisopslag
Een kennisopslag wordt gedefinieerd in een definitie van een vaardighedenset en heeft twee onderdelen:
Een connection string tot Azure Storage
Projecties die bepalen of het kennisopslag bestaat uit tabellen, objecten of bestanden.
Het element projecties is een matrix. U kunt meerdere sets table-object-file-combinaties maken binnen één kennisopslag.
"knowledgeStore": {
"storageConnectionString":"<YOUR-AZURE-STORAGE-ACCOUNT-CONNECTION-STRING>",
"projections":[
{
"tables":[ ],
"objects":[ ],
"files":[ ]
}
}
Het type projectie dat u in deze structuur opgeeft, bepaalt het type opslag dat door het kennisopslag wordt gebruikt.
tablesproject enriched content into Table Storage. Definieer een tabelprojectie wanneer u tabellaire rapportagestructuren nodig hebt voor invoer voor analytische hulpprogramma's of exporteert als gegevensframes naar andere gegevensopslag. U kunt meerdere binnentablesdezelfde projectiegroep opgeven om een subset of een kruissectie van verrijkte documenten op te halen. Binnen dezelfde projectiegroep blijven tabelrelaties behouden, zodat u met al deze relaties kunt werken.Projecte inhoud wordt niet geaggregeerd of genormaliseerd. In de volgende schermopname ziet u een tabel, gesorteerd op sleutelterm, met het bovenliggende document aangegeven in de aangrenzende kolom. In tegenstelling tot gegevens opnemen tijdens het indexeren, is er geen taalkundige analyse of aggregatie van inhoud. Meervoudsvormen en verschillen in casing worden beschouwd als unieke instanties.
objectsproject JSON-document in Blob Storage. De fysieke weergave van eenobjectis een hiërarchische JSON-structuur die een verrijkt document vertegenwoordigt.filesproject image files into Blob Storage. Eenfileis een afbeelding die is geëxtraheerd uit een document en intact is overgebracht naar Blob Storage. Hoewel het bestand de naam 'bestanden' heeft, wordt deze wel in Blob Storage, niet in bestandsopslag.
Een Knowledge Store maken
Als u een kennisopslag wilt maken, gebruikt u de portal of een API. U hebt Azure Storage, een vaardighedenset eneen indexer nodig. Omdat indexeerders een zoekindex vereisen, moet u ook een indexdefinitie verstrekken.
Ga met de portalbenadering voor de snelste route naar een voltooid kennisopslag. Of kies de REST API voor een beter begrip van hoe objecten worden gedefinieerd en gerelateerd.
Maak uw eerste kennisopslag in vier stappen met behulp van de wizard Gegevens importeren.
Uw gegevensbron definiëren
Definieer uw vaardighedenset en geef een kennisopslag op.
Definieer een indexschema. De wizard vereist dit en kan er een voor u afleiden.
Voer de wizard uit. Extractie, verrijking en opslag vinden plaats in deze laatste stap.
De wizard automatiseert taken die u anders handmatig zou moeten uitvoeren. Met name vormgeving en projecties (definities van fysieke gegevensstructuren in Azure Storage) worden voor u gemaakt.
Verbinding maken met apps
Zodra de verrijkingen in de opslag bestaan, kan elk hulpprogramma of elke technologie die verbinding maakt met Azure Blob of Table Storage worden gebruikt om de inhoud te verkennen, te analyseren of te gebruiken. De volgende lijst is een begin:
Storage Browser om verrijkte documentstructuur en inhoud weer te geven. Beschouw dit als uw basislijnhulpprogramma voor het weergeven van inhoud van het kennisopslag.
Power BI voor rapportage en analyse.
Azure Data Factory voor verdere manipulatie.
Levenscyclus van inhoud
Telkens wanneer u de indexer en vaardighedenset hebt uitgevoerd, wordt het kennisopslag bijgewerkt als de vaardighedenset of onderliggende brongegevens zijn gewijzigd. Wijzigingen die door de indexer worden opgehaald, worden via het verrijkingsproces doorgegeven aan de projecties in het kennisopslag, zodat uw verwachte gegevens een huidige weergave van inhoud in de oorspronkelijke gegevensbron zijn.
Notitie
Hoewel u de gegevens in de projecties kunt bewerken, worden alle bewerkingen overschreven bij de volgende pijplijn-aanroep, ervan uitgaande dat het document in de brongegevens is bijgewerkt.
Wijzigingen in brongegevens
Voor gegevensbronnen die ondersteuning bieden voor het bijhouden van veranderingen, verwerkt een indexer nieuwe en gewijzigde documenten en worden bestaande documenten die al zijn verwerkt, overgeslagen. Tijdstempelgegevens variëren per gegevensbron, maar in een blobcontainer kijkt de indexer naar de datum om te bepalen welke blobs moeten lastmodified worden opgenomen.
Wijzigingen in een vaardighedenset
Als u wijzigingen aan een vaardighedenset aan het aanbrengen bent, moet u het opslaan in deaching van verrijkte documenten inschakelen om waar mogelijk bestaande verrijkingen opnieuw te gebruiken.
Zonder incrementele caching verwerkt de indexeerder documenten altijd op volgorde van de boven watermerk, zonder terug te gaan. Voor blobs verwerkt de indexer blobs gesorteerd op , ongeacht eventuele wijzigingen in lastModified de indexeringsinstellingen of de vaardighedenset. Als u een vaardighedenset wijzigt, worden eerder verwerkte documenten niet bijgewerkt om de nieuwe vaardighedenset weer te geven. Documenten die na de wijziging van de vaardighedenset worden verwerkt, maken gebruik van de nieuwe vaardighedenset, waardoor indexdocumenten een combinatie zijn van oude en nieuwe vaardighedensets.
Bij incrementele caching en na het bijwerken van een vaardighedenset, gebruikt de indexer verrijkingen die niet worden beïnvloed door de wijziging van de vaardighedenset opnieuw. Stroomopwaartse verrijkingen worden uit de cache gehaald, net als verrijkingen die onafhankelijk en geïsoleerd zijn van de vaardigheid die is gewijzigd.
Verwijderingen
Hoewel een indexeerder structuren en inhoud in Azure Storage maakt en bij werkt, worden deze niet verwijderd. Projecties blijven bestaan, zelfs wanneer de indexer of vaardighedenset wordt verwijderd. Als eigenaar van het opslagaccount moet u een projectie verwijderen als deze niet meer nodig is.
Volgende stappen
Kennisopslag biedt persistentie van verrijkte documenten, nuttig bij het ontwerpen van een vaardighedenset of het maken van nieuwe structuren en inhoud voor gebruik door clienttoepassingen die toegang kunnen krijgen tot een Azure Storage-account.
De eenvoudigste aanpak voor het maken van verrijkte documenten is via de portal,maar u kunt ook Postman en de REST API gebruiken. Dit is handiger als u inzicht wilt in hoe objecten worden gemaakt en er programmatisch naar wordt verwezen.