Delen via


Gegevens voorbereiden en een schema definiëren voor aangepaste NER

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

Schemaontwerp

Het schema definieert de entiteitstypen/-categorieën die u nodig hebt om uw model tijdens runtime uit tekst te extraheren.

  • Bekijk documenten in uw gegevensset om vertrouwd te zijn met hun indeling en structuur.

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

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

  • Vermijd dubbelzinnigheid van entiteitstypen.

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

    Als u bijvoorbeeld gegevens uit een juridisch contract extraheert, moet u meer voorbeelden toevoegen om 'Naam van de eerste partij' en 'Naam van de tweede partij' te extraheren, om dubbelzinnigheid te voorkomen, omdat de namen van beide partijen er ongeveer als volgt uitzien. Vermijd dubbelzinnigheid omdat het tijd, moeite bespaart en betere resultaten oplevert.

  • Vermijd complexe entiteiten. Complexe entiteiten kunnen lastig zijn om precies uit tekst te kiezen, overweeg het op te splitsen in meerdere entiteiten.

    Het extraheren van 'Adres' zou bijvoorbeeld lastig zijn als het niet is opgesplitst in kleinere entiteiten. Er zijn zoveel variaties van hoe adressen worden weergegeven. Het kost veel gelabelde entiteiten om het model te leren een adres te extraheren, als geheel, zonder het op te splitsen. Als u 'Adres' echter vervangt door 'Straatnaam', 'PO Box', 'Plaats', 'Staat' en 'Zip', heeft het model minder labels per entiteit nodig.

Gegevensselectie

De kwaliteit van gegevens waarmee u uw model traint, beïnvloedt de prestaties van het model aanzienlijk.

  • Gebruik praktijkgegevens die de probleemruimte van uw domein weerspiegelen om uw model effectief te trainen. U kunt synthetische gegevens gebruiken om het eerste modeltrainingsproces te versnellen, maar dit wijkt waarschijnlijk af van uw echte gegevens en maakt uw model minder effectief wanneer dit wordt gebruikt.

  • Uw gegevensdistributie zoveel mogelijk verdelen zonder dat u ver van de verdeling in het echte leven afwijkt. Als u bijvoorbeeld uw model traint om entiteiten te extraheren uit juridische documenten die in veel verschillende indelingen en talen kunnen voorkomen, moet u voorbeelden opgeven die de diversiteit illustreren zoals u zou verwachten in het echte leven.

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

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

  • Bedenk waar uw gegevens vandaan komen. Als u gegevens verzamelt van één persoon, afdeling of een deel van uw scenario, mist u waarschijnlijk diversiteit die belangrijk kan zijn voor uw model voor meer informatie.

Notitie

Als uw documenten zich in meerdere talen bevinden, selecteert u de optie Voor meerdere talen inschakelen tijdens het maken van het project en stelt u de taaloptie in op de taal van het merendeel van uw 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 via het hulpprogramma Azure Storage Explorer. Met behulp van het hulpprogramma Azure Storage Explorer kunt u sneller meer gegevens uploaden.

U kunt alleen documenten gebruiken .txt . Als uw gegevens een andere indeling hebben, kunt u de opdracht CLUtils parseren gebruiken om de documentindeling te wijzigen.

U kunt een geannoteerde gegevensset uploaden of u kunt een niet-geannoteerde gegevensset 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 het uw eerste keer is dat u aangepaste NER gebruikt, kunt u overwegen de quickstart te volgen om een voorbeeldproject te maken. U kunt ook het artikel over procedures bekijken voor meer informatie over wat u nodig hebt om een project te maken.