Share via


Gegevens voorbereiden en een schema definiëren voor aangepaste NER

Als u een aangepast NER-model wilt maken, hebt u kwaliteitsgegevens nodig om deze te trainen. In dit artikel wordt beschreven hoe u uw gegevens moet selecteren en voorbereiden, en hoe u een schema definieert. Het definiëren van het schema is de eerste stap in de levenscyclus van projectontwikkeling en definieert de entiteitstypen/categorieën die uw model tijdens runtime uit de tekst moet extraheren.

Schemaontwerp

Het schema definieert de entiteitstypen/-categorieën die uw model tijdens runtime moet extraheren uit tekst.

  • Controleer documenten in uw gegevensset om bekend te zijn met hun indeling en structuur.

  • Identificeer de entiteiten die u wilt ophalen uit de gegevens.

    Als u bijvoorbeeld entiteiten uit ondersteuningsmails extraheert, moet u mogelijk 'Klantnaam', 'Productnaam', 'Aanvraagdatum' en 'Contactgegevens' extraheren.

  • Vermijd dubbelzinnigheid van entiteitstypen.

    Dubbelzinnigheid treedt op wanneer entiteitstypen die u selecteert, op elkaar lijken. Hoe meer dubbelzinnig uw schema is, hoe meer gelabelde gegevens u moet onderscheiden tussen verschillende entiteitstypen.

    Als u bijvoorbeeld gegevens uit een juridisch contract wilt extraheren, moet u meer voorbeelden toevoegen om de naam van de eerste partij en de naam van de tweede partij te extraheren, omdat de namen van beide partijen er ongeveer hetzelfde uitzien. Vermijd dubbelzinnigheid omdat dit tijd en moeite bespaart en betere resultaten oplevert.

  • Vermijd complexe entiteiten. Complexe entiteiten kunnen lastig zijn om precies uit tekst te kiezen. Overweeg deze op te splitsen in meerdere entiteiten.

    Het extraheren van 'Adres' zou bijvoorbeeld lastig zijn als het niet wordt opgesplitst in kleinere entiteiten. Er zijn zoveel variaties in hoe adressen worden weergegeven, dat er een groot aantal gelabelde entiteiten nodig zijn om het model te leren een adres als geheel te extraheren zonder het op te delen. Als u 'Adres' echter vervangt door 'Straatnaam', 'Postbus', 'Plaats', 'Staat' en 'Zip', heeft het model minder labels per entiteit nodig.

Gegevensselectie

De kwaliteit van de gegevens waarmee u uw model traint, heeft een grote invloed op de prestaties van het model.

  • Gebruik echte gegevens die de probleemruimte van uw domein weerspiegelen om uw model effectief te trainen. U kunt synthetische gegevens gebruiken om het initiële modeltrainingsproces te versnellen, maar dit wijkt waarschijnlijk af van uw echte gegevens en maakt uw model minder effectief bij gebruik.

  • Balanceer uw gegevensdistributie zo veel mogelijk zonder dat u ver van de distributie in de praktijk afwijkt. Als u bijvoorbeeld uw model traint om entiteiten te extraheren uit juridische documenten die in veel verschillende indelingen en talen kunnen worden geleverd, moet u voorbeelden geven die de diversiteit illustreren zoals u in de praktijk zou verwachten.

  • Gebruik waar mogelijk diverse gegevens om overfitting van uw model te voorkomen. Minder diversiteit in trainingsgegevens kan ertoe leiden dat uw model valse correlaties leert die mogelijk niet bestaan in echte gegevens.

  • Vermijd dubbele documenten in uw gegevens. Dubbele gegevens hebben een negatief effect op het trainingsproces, metrische modelgegevens en modelprestaties.

  • Bedenk waar uw gegevens vandaan komen. Als u gegevens verzamelt van één persoon, afdeling of onderdeel van uw scenario, mist u waarschijnlijk diversiteit die belangrijk kan zijn voor uw model om meer over te weten te komen.

Notitie

Als uw documenten in meerdere talen zijn, selecteert u de optie Meertalige inschakelen tijdens het maken van het project en stelt u de taaloptie in op de taal van de meeste documenten.

Gegevensvoorbereiding

Als vereiste voor het maken van een project moeten uw trainingsgegevens worden geüpload naar een blobcontainer in uw opslagaccount. U kunt trainingsdocumenten rechtstreeks vanuit Azure maken en uploaden of met behulp van het hulpprogramma Azure Storage Explorer. Met het hulpprogramma Azure Storage Explorer kunt u snel meer gegevens uploaden.

U kunt alleen documenten gebruiken .txt . Als uw gegevens een andere indeling hebben, kunt u de clutils-parseeropdracht gebruiken om de documentindeling te wijzigen.

U kunt een gegevensset met aantekeningen uploaden of u kunt een gegevensset zonder aantekeningen uploaden en uw gegevens labelen in Language Studio.

Testset

Wanneer u de testset definieert, moet u voorbeelddocumenten opnemen die niet aanwezig zijn in de trainingsset. Het definiëren van de testset is een belangrijke stap voor het berekenen van de modelprestaties. Zorg er ook voor dat de testset documenten bevat die alle entiteiten vertegenwoordigen die in uw project worden gebruikt.

Volgende stappen

Als u dat nog niet hebt gedaan, maakt u een aangepast NER-project. Als dit de eerste keer is dat u aangepaste NER gebruikt, kunt u de quickstart volgen om een voorbeeldproject te maken. U kunt ook het instructieartikel bekijken voor meer informatie over wat u nodig hebt om een project te maken.