Guided Labeling Episode 7: Zwak toezicht geïmplementeerd via Guided Analytics

Klik voor meer informatie over auteur Paolo Tamagnini.

Welkom bij de zevende aflevering van onze Guided Labeling Blog Series. In de laatste zes afleveringen hebben we actief leren en zwakke supervisietheorie behandeld. Vandaag willen we een praktisch voorbeeld geven van het implementeren van zwak toezicht via geleide analyses op basis van een workflow.

De andere afleveringen zijn hier:

Een probleem met documentclassificatie

Laten we aannemen dat u een documentclassificator wilt trainen, een begeleide machine learning model dat precieze categorieën voorspelt voor elk van uw niet-gelabelde documenten. Dit model is bijvoorbeeld vereist bij het omgaan met grote collecties niet-gelabelde medische dossiers, juridische documenten of spam-e-mails, waarbij een terugkerend probleem in verschillende bedrijfstakken wordt gedefinieerd.

In ons voorbeeld zullen we:

  • Bouw een applicatie die alle soorten documenten kan verwerken
  • Verander de documenten in woorden
  • Train een zwak supervisiemodel met behulp van een labelfunctie die door de gebruiker wordt geboden

We zouden geen zwak toezicht nodig hebben als we labels hadden voor elk document in onze trainingsset, maar aangezien ons documentcorpus geen label heeft, zullen we zwak toezicht gebruiken en een webgebaseerde applicatie maken om de documentexpert te vragen om heuristieken (labelfuncties) .

Figuur 1: Het zwakke supervisiekader om een ​​documentclassificator te trainen – een documentexpert levert labelfuncties voor documenten aan het systeem. De geproduceerde zwakke labelbronnen worden naar het labelmodel gevoerd, dat de probabilistische labels uitvoert om het uiteindelijke discriminerende model te trainen, dat zal worden ingezet als de laatste documentclassificatie.

Labelfunctie in documentclassificatie

Welke etiketteringsfunctie moeten we gebruiken voor dit zwakke toezichtprobleem?

Welnu, we hebben een heuristiek nodig, een regel, die naar iets zoekt in de tekst van een document en op basis daarvan het label op het document toepast. Als de regel geen overeenkomende tekst vindt, kan het label ontbreken.

Laten we ons een snel voorbeeld voorstellen: we willen sentimentanalyse uitvoeren op filmrecensies en elke recensie labelen als ‘positief (P)“Of”negatief (N).“Elke filmrecensie is vervolgens een document, en we moeten een ietwat nauwkeurige labelfunctie bouwen om bepaalde documenten als” positief (P) “te labelen. Een praktisch voorbeeld is weergegeven in figuur 2 hieronder.

Figuur 2: Een voorbeeld van een labelfunctie – in het eerste document, dat een filmrecensie beschrijft, wordt de labelfunctie toegepast en levert dit een positief label op; een iets ander document dat niet van toepassing is op de regel, betekent dat het document niet gelabeld blijft.

Door veel labelfuncties te bieden, zoals die in Figuur 2, is het mogelijk om een ​​zwak supervisiemodel te trainen dat in staat is om sentiment in filmrecensies te detecteren. De input van de label model (Afbeelding 1) zou vergelijkbaar zijn met de tabel in Afbeelding 3 (hieronder). Zoals u kunt zien, zijn aan een dergelijke tabel geen feature-gegevens gekoppeld, alleen de uitvoer van verschillende labelfuncties op alle beschikbare trainingsgegevens.

Afbeelding 3: De uitvoerlabels van labelfuncties voor sentimentanalyse – in deze tabel worden de uitvoer van acht labelfuncties weergegeven voor honderden filmrecensies. Elke labelfunctie is een kolom en elke filmrecensie is een rij. De labelfunctie laat een label achter als het niet van toepassing is op de filmrecensie. Als het van toepassing is, geeft het een positief of negatief sentimentlabel af. Bij zwak toezicht wordt dit soort tabel een Weak Label Sources Matrix genoemd en kan worden gebruikt om een ​​machine learning-model te trainen.

Als de labelfuncties eenmaal beschikbaar zijn, duurt het slechts enkele ogenblikken om ze op duizenden documenten toe te passen en ze naar het labelmodel te voeren (Afbeelding 4 hieronder).

Figuur 4: de output van de labelfunctie in het zwakke supervisiekader – we voeren de labelfuncties naar het labelmodel. Het labelmodel produceert probabilistische labels, die naast de zak met woordengegevens kunnen worden gebruikt om de uiteindelijke documentclassificatie te trainen.

Begeleide analyse met zwak toezicht op het webportaal

Om de documentexpert in staat te stellen een zwak toezichtsmodelkunnen we Guided Analytics gebruiken. Met behulp van een webgebaseerde applicatie die een reeks interactieve weergaven biedt, kan de gebruiker:

  • Upload de documenten
  • Definieer de mogelijke labels die de uiteindelijke documentclassificatie nodig heeft om een ​​voorspelling te doen
  • Voer de labelfuncties in
  • Train het labelmodel
  • Train het discriminerende model
  • Beoordeel de prestaties

We hebben een blauwdruk gemaakt voor dit soort toepassingen in een reeks van drie interactieve weergaven, zoals weergegeven in figuur 5 (hieronder). De gegenereerde webgebaseerde applicatie is toegankelijk via elke webbrowser in de WebPortal.

Afbeelding 5: De drie weergaven die zijn gegenereerd door de open source Guided Analytics Application-blauwdruk – de toepassing is bedoeld om documentexperts in staat te stellen een zwak supervisiemodel te creëren door labelfuncties aan te bieden via interactieve weergaven.

De implementatie van deze applicatie was mogelijk in de vorm van de workflow (Figuur 6 hieronder) die momenteel beschikbaar is op de Hub. De workflow gebruikt de Zwak toezicht extensie om het labelmodel te trainen met een Zwakke labelmodelleerder knooppunt en Gradient Boosted Trees Learner knooppunt om het discriminerende model te trainen. Naast het Gradient Boosted Tree-algoritme zijn er ook andere beschikbaar, die kunnen worden gebruikt in combinatie met de Weak Label Model-knooppunten (Afbeelding 6).

Figuur 6: The werkstroom achter de Guided Analytics-applicatie en het knooppunten beschikbaar in het analyseplatform om zwak toezicht uit te voeren – de workflow vergelijkt de prestaties van de probabilistische output van het labelmodel met de prestaties van het uiteindelijke discriminerende model via een interactieve weergave. De beschikbare knooppunten worden weergegeven in het onderste deel van de schermafbeelding. De in geel omkaderde knooppunten vormen een labelmodel en de in groen omkaderde knooppunten vormen een onderscheidend model. De workflow in dit voorbeeld gebruikt Gradient Boosted Trees.

Wanneer werkt zwak toezicht?

In deze aflevering van onze Guided Labeling Blog Series hebben we laten zien hoe we zwak toezicht kunnen gebruiken voor documentclassificatie. We hebben hier een enkele use case beschreven, maar dezelfde benadering kan worden toegepast op afbeeldingen, tabelgegevens, classificatie met meerdere klassen en vele andere scenario’s. Zolang uw domeinexpert de labelfuncties kan bieden, kan het open source Analytics Platform een ​​workflow bieden die op de server kan worden geïmplementeerd en deze toegankelijk maakt via het webportaal.

Wat zijn de vereisten voor de etiketteringsfuncties / bronnen om een ​​goed zwak supervisiemodel te trainen?

  • Matig aantal labelbronnen: De labelbronnen moeten voldoende zijn in aantal – in bepaalde gevallen maximaal 100.
  • Labelbronnen zijn niet gecorreleerd: Momenteel houdt de implementatie van het labelmodel geen rekening met sterke correlaties. Het is dus het beste als uw domeinexpert geen labelfuncties biedt die van elkaar afhankelijk zijn.
  • Bronnen overlappen elkaar: De labelfuncties / bronnen moeten elkaar overlappen om het algoritme patronen van overeenstemming en conflicten te laten detecteren. Als de etiketteringsbronnen etiketten leveren voor een reeks monsters die elkaar niet snijden, zal de zwakke toezichtbenadering niet in staat zijn om in te schatten welke bron moet worden vertrouwd.
  • Bronnen zijn niet al te schaars: Als alle labelfuncties slechts een klein percentage van het totale aantal monsters labelen, heeft dit invloed op de prestaties van het model.
  • Bronnen zijn beter dan willekeurig raden: Dit is een gemakkelijke vereiste om aan te voldoen. Het zou mogelijk moeten zijn om labelfuncties te creëren door simpelweg de logica die wordt gebruikt door handmatig labelen als regels vast te leggen.
  • Geen vijandige bronnen toegestaan: Zwak toezicht is aanzienlijk flexibeler dan andere machine learning-strategieën bij het omgaan met luidruchtige labels, dwz zwakke labelbronnen zijn gewoon beter dan willekeurig gissen. Desondanks is zwak toezicht niet flexibel genoeg om met zwakke bronnen om te gaan die altijd fout zijn. Dit kan gebeuren wanneer een van de labelfuncties defect is en vervolgens erger dan simpelweg willekeurig raden. Bij het verzamelen van zwakke labelbronnen is het belangrijker om je te concentreren op het opsporen van die “rotte appels” dan tijd te besteden aan het verminderen van de algehele ruis in de zwakke labelbronnenmatrix.

Vooruit kijken

In de aanstaande laatste aflevering van de Guided Labeling Blog Series zullen we bekijken hoe we actief leren en zwak toezicht kunnen combineren in één interactieve Guided Analytics-applicatie.

Dit is een lopende serie over geleide etikettering; bekijk elke aflevering op:

Table of Contents

Vragen voor onze consultants?

Twijfel niet en neem direct contact met ons op met uw vraagstuk.