Zephyrnet-logo

4 tips voor het samenstellen van datasets voor NLP-projecten

Datum:

4 tips voor het samenstellen van datasets voor NLP-projecten

Je hebt het eerder gehoord, en je zult het opnieuw horen. Het draait allemaal om de gegevens. Het beheren van de juiste gegevens is ook zo belangrijk dan alleen het beheren van gegevens. Bij het omgaan met tekstgegevens zijn in de loop der jaren veel zuurverdiende lessen geleerd door anderen, en hier zijn vier tips voor gegevensbeheer die u zeker moet volgen tijdens uw volgende NLP-project.


By Paul Barba, Hoofdwetenschapper, Lexalytics.

Lexalytics 4 tips Gegevenssetbeheer

Na vele jaren van pijnlijk geleerde lessen uit het beheren en implementeren van AI- en ML-projecten, ben ik gaan geloven dat het meest cruciale puzzelstukje het kiezen van de juiste dataset voor het probleem is, vooral als het gaat om een ​​tekst of NLP-probleem.

Hoewel het gebruikte algoritme en de bijbehorende parameters essentieel zijn, zijn deze aspecten relatief eenvoudig te wijzigen wanneer dat nodig is - en de daling van de kosten voor machinetijd in de afgelopen jaren betekent dat reparaties steeds goedkoper worden om te maken.

Menselijke tijd is echter inherent duur, en wanneer de gegevens niet nuttig zijn, is het een schandelijke verspilling van middelen. Met dat in gedachten heb ik vier tips geschetst, met voorbeelden en anekdotes, voor het samenstellen van de ultieme dataset voor NLP en tekstanalyse.

Tip #1:

De belangrijkste les is om klein te beginnen, zo klein als je kunt. Probeer een model zo snel mogelijk te trainen, zelfs met zo weinig als 50 tot 100 voorbeelden, of zelfs maar een paar bij het gebruik van zero-shot benaderingen.

Als je veel klassen in je NER-modellen wilt hebben, begin dan met één categorie, laat het markeren en kijk hoe het werkt, want hoe eerder je een probleem opmerkt, hoe gemakkelijker het is om het op te lossen.

Een anekdote gerelateerd aan deze tip: Begin 2014 hebben we, net als veel andere bedrijven rond die tijd, een raamwerk voor machine learning gebouwd en onze marketingafdeling vond het een goed idee om het te gebruiken om ons steeds groter wordende spamprobleem aan te pakken.

Plots draaiden er tientallen dure machines op Amazon om gewone crawl op te ruimen, en het model werkte niet. We hadden veel geld opgebruikt en de mensen in het bedrijf met de portemonnee waren niet erg tevreden. Achteraf gezien was dit een project waar er tientallen mogelijkheden waren om klein en verklaarbaar te gaan en vroege problemen met het model op te lossen zonder dat een machine nodig was om al het werk te doen.

Tip #2:

Gebruik datasets die representatief zijn voor de echte wereld. Als ze net beginnen, kunnen datawetenschappers alles gebruiken wat beschikbaar is. SuperGLUE is een voorbeeld; voor sentiment is de IMDB-dataset redelijk standaard; voor entiteiten is er CoNLL '03.

Bij het oplossen van een specifiek probleem in het bedrijfsdomein en het zoeken naar de nieuwste ontwikkelingen, is het echter belangrijk om te overwegen of de gegevens representeren waarop het model zal worden toegepast voor dat specifieke bedrijfsprobleem.

Een anekdote: We hadden een prospect die met stapels gegevens naar ons toe kwam. Ze hadden tienduizenden nieuwsartikelen gemarkeerd voor een uitgebreide taxonomie, met honderden verschillende knooppunten. (Nogmaals, begin klein.)

Omdat de prospect al het voorbereidende werk deed, waren ze op zoek naar een partner om modellen te trainen. Dus namen we de gebruikelijke volgende stappen - in de gegevens snijden om te trainen - testen - enkele modellen te valideren. En het werkte spectaculair - achterdochtig, achteraf gezien - nou ja, met F-scores tot ver in de jaren 90.

We leverden de modellen en de prospect kwam terug en zei dat ze een nieuwe testset hadden gegenereerd, maar onze modellen scoorden slechts rond de 10 procent. We waren verbijsterd.

Toen we ze hun testgegevens met ons lieten delen, realiseerden we ons dat ze een datameer hadden waaruit ze putten, en elk nieuwsartikel kwam van een enkele dag in 2012: tienduizenden artikelen uit één dag in de tijd in de geschiedenis. Het gebeurde gewoon zo dat er op die dag een natuurramp in Spanje plaatsvond, en elke keer dat "Spanje" door het model zou lopen, associeerde het het land met natuurrampen. Ook al was het datavolume enorm, niet beseffend dat het afkomstig was van een enkele dag, scheef het getrainde model aanzienlijk.

Tip #3:

Volg en registreer alles. Het is eenvoudig om meer informatie vast te leggen wanneer u gegevens bijhoudt. Het kan zich ergens anders in een database bevinden en hoeft niet eens direct gekoppeld te zijn aan het project waaraan u werkt, maar na verloop van tijd gaat alles wat u niet heeft opgenomen voor altijd verloren, dus volg het toch.

Een voorbeeld hiervan is met tijdstempels. Als je constant slechte annotaties ziet, kan het kennen van de tijdstempel helpen om te begrijpen wie welk document heeft getagd en om herstel mogelijk te maken wanneer zich problemen voordoen.

Evenzo kan een analyse met tijdstempels aangeven dat er tijden van de dag of dagen van de week zijn waarop annotators minder betrouwbaar zijn. Als u bijvoorbeeld gegevens heeft gemarkeerd na de lunch van 1:00 tot 3:00 uur, kunt u die gegevens misschien met een meer sceptische blik bekijken.

Tip #4:

Reserveer middelen voor de toekomst. Het verkrijgen van gelabelde gegevens is de gouden standaard en er zijn veel manieren om die gegevens te krijgen, of het nu gaat om bootstrapping, coöptatie van gegevens of het kopen ervan. Maar de platina standaard is up-to-date, gelabelde gegevens.

Als we het afgelopen jaar iets hebben geleerd, is het dat de wereld verandert. Dit komt vooral tot uiting in taal en tekst. Tekstanalyse en NLP zijn zo'n complex probleem, juist omdat taal voortdurend verandert en evolueert.

Een voorbeeld hiervan zijn smartphones. In het begin werd er in veel andere bewoordingen over smartphonefuncties gesproken dan tegenwoordig. Terwijl pixeldichtheid en de aan- of afwezigheid van een mediaspeler destijds de grootste zorgen van kopers waren, zouden dezelfde functies tegenwoordig nauwelijks een overweging zijn. Evenzo heeft een machine vijf jaar geleden misschien niet begrepen dat het voornaamwoord "zij" een enkelvoudig voornaamwoord van de derde persoon kan zijn om naar een genderneutraal persoon te verwijzen. Daarentegen is tegenwoordig het gebruik van niet-binaire voornaamwoorden in overvloed aanwezig.

In plaats van te denken dat je ML product zal worden gerepareerd, zullen er unieke taalkundige veranderingen zijn die u niet kunt voorzien maar waarop u wel wilt reageren, dus zorg ervoor dat u middelen vrijmaakt om dat te doen.

Zie ook:

Coinsmart. Beste Bitcoin-beurs in Europa
Bron: https://www.kdnuggets.com/2021/05/4-tips-dataset-curation-nlp-projects.html

spot_img

Laatste intelligentie

spot_img