LUIS Trainingsmethode

In het 2e deel van vorige week heb ik mij gefocust op het vragen beantwoorden met LUIS. Hierin heb ik meerdere methoden uitgeprobeerd.

  1. Volledige vraag
  2. Soort vraag

De methoden

Methode 1 houd in dat er voor elke vraag een intent wordt aangemaakt.* Elke vraag heeft dan 1-3 voorbeeldzinnen. Dit ziet er als volgt uit:

De intents

De voorbeeld tekst zodat LUIS de intent kan herkennen

Deze methode zou heel veel werk kosten aan de LUIS kant, database kant en C# kant omdat alle vragen handmatig moeten worden toegevoegd. Via een API is dit mogelijk simpeler te maken maar alsnog moeten alle vragen van te voren verzonnen worden.

Methode 2 zit slimmer in elkaar door elke vraag te categoriseren*.

De intents

De voorbeeld zinnen

Voordeel van deze methode is dat alleen het dier (voorbeeldcasus is over een dierendatabase) uit de zin moet worden gehaald. LUIS is hier erg goed in na het trainen hier op. Nadeel blijft dat er voor elk type vraag in LUIS, C# en database kant wijzigingen moeten worden gemaakt.

* Er zit een limitatie van 30 intents op LUIS. Dit zou betekenen dat je vele modellen moet maken en efficient moet zoeken waar de vraag staat.

Zinsontleding

Afgelopen week heb ik ook gekeken of zinsontleding mogelijk is met LUIS. Door LUIS te trainen op zinsonderdelen. Dit heb ik zo wel gedaan met entities (verb, subject, question word) als met features. Uit beide kwam onvoldoende resultaat om er mee verder te kunnen. Wel werkte de feature functie bijzonder goed en herkende alles perfect na het trainen. Bijv de question words (who, what, how, etc..) werden perfect herkend. Helaas was het niet mogelijk om dit toe te passen voor werkwoorden even als onderwerpen (dit zijn er simpelweg te veel).

LUIS trainen

De zinnen/vragen/tekst die mensen typen in de bot worden automatisch opgeslagen en geclassificeerd volgens de bestaande kennis die LUIS heeft. Ik heb hierin onderzoek gedaan om te kijken wat hier mogelijk mee was via de API. Uit dit onderzoek blijkt dat het mogelijk is om via de API de tekst die mensen in typen is op te halen met daarbij de classificatie van LUIS. Daarnaast kunnen ook voorbeeld zinnen worden toegevoegd via de API en kan LUIS via de API getrained worden na dat de zinnen zijn toegevoegd.

Hierdoor kan je (bijna) vol automatisch de bot slimmer maken. Helemaal verstandig is dit niet omdat je wel wil zien wat er kan.  Wel kan je door middel van deze API een eigen interface maken waarmee je in korte tijd alles kan modereren wat de bot doet i.p.v. werken met de bestaande LUIS interface die niet gericht is op dit soort werkzaamheden.

Deze week

Door te snel lezen heb ik een mail verkeerd geinterpreteerd de sprint review niet door gegaan. Deze is naar woensdag verplaatst. Daarna zal pas echt het werk voor deze sprint beginnen. In de tussen tijd werk ik aan andere LUIS trainingsmethoden en mijn verslag.

Leave a Reply

Your email address will not be published. Required fields are marked *