Wat is zero-shot learning, en hoe kan het effectief worden toegepast, in Natural Language Processing, op tekst classificatie, dankzij Hugging Face Transformers?
Dankzij de recente state-of-the-art transformator-gebaseerde Natural Language Processing modellen, heeft zero-shot learning veel populariteit gewonnen in de Natural Language Processing wereld. Het idee is dat een model nu bepaalde klassen kan herkennen, ook al is het daar niet daarvoor is opgeleid.
Dit is wat mensen van nature doen. Bijvoorbeeld, als je kind weet wat een kameel is, hoef je hem alleen maar vertellen dat er een ander dier is, de dromedaris, dat lijkt op een kameel, alleen heeft het 1 bult op op zijn rug in plaats van 2! De volgende keer dat je kind een foto van een dromedaris ziet, zal hij weten wat het is, terwijl het de eerste keer is dat hij er een ziet!
Zero-shot technieken brengen waargenomen en niet-waargenomen klassen met elkaar in verband door middel van een vorm van zgn. "hulpinformatie", die onderscheidende eigenschappen van objecten codeert. Dat is al lang een zeer populaire techniek in computer vision, die nu meer en meer gebruikt wordt in Natural Language Processing.
Zero-shot learning werkt uitstekend voor tekstclassificatie. Tekstclassificatie gaat over het toepassen van een of meer categorieën op een stuk tekst (ruimte, zaken, sport, enz.).
Tot voor kort konden tekstclassificatiemodellen stukken tekst alleen categoriseren met een vooraf bepaald aantal kandidaat-categorieën. Deze categorieën moesten van tevoren worden ingesteld tijdens de training. Dit was pijnlijk omdat het betekende dat, iedere keer dat je een categorie wilde toevoegen, je het model opnieuw moest trainen met meer voorbeelden.
Sinds de creatie van veel grotere Natural Language Processing modellen (meestal gebaseerd op Transformers), is het om de modellen alleen te trainen op een specifieke lijst van categorieën, en dan gebruikers nieuwe categorieën te laten creëren zonder het model opnieuw te hoeven trainen.
Bijvoorbeeld, stel dat uw nul-opname tekstclassificatiemodel getraind is om slechts 3 categorieën: ruimte, natuur, en sport. U kunt het nog steeds gebruiken om teksten te categoriseren voor andere categorieën, zoals bijvoorbeeld zaken, voedsel, of wetenschap.
Dit is een zeer krachtige techniek die veel flexibiliteit biedt en toch goede resultaten oplevert.
Er zijn uitstekende open-source Natural Language Processing modellen, gebaseerd op Hugging Face Transformers, die werken echt goed werken voor nul-opname tekst classificatie.
Bij NLP Cloud hebben we deze 2 modellen geselecteerd die, naar onze mening, de beste state-of-the-art modellen zijn voor zero-shot tekstclassificatie op dit moment:
Zelfs als hun nauwkeurigheid indrukwekkend is en hun latentie vrij goed, zijn deze 2 modellen nog steeds rekenintensieve modellen, en de latentie kan gemakkelijk oplopen als de tekst die je wilt analyseren te groot wordt of het aantal kandidaat categorieën te hoog is. Als nauwkeurigheid niet uw eerste zorg is, en u een sneller en minder hulpbron-intensief model verkiest, kunt u gemakkelijk een ander model kiezen. Voor Er bestaan bijvoorbeeld gedistilleerde versies van Bart, genaamd "DistilBart", en die zijn perfect voor dit doel.
Zero-shot learning, samen met few-shot learning, zijn moderne technieken die verschenen met de creatie van grote Natural Language Processing modellen (zie hier meer over few-shot learning). Ze geven veel flexibiliteit en maken Natural Language Processing steeds indrukwekkender!
Voel je vrij om zero-shot classificatie eens te proberen en te zien of het jou ook bevalt.
Julien Salinas
CTO bij NLP Cloud