• No results found

Vraagdetectie op basis van Machine Learning

In de vorige paragraaf is het probleem van vraagdetectie benaderd door mid-del van een regelgebaseerd systeem. Vraagdetectie is echter ook te defini¨eren als een classificatieprobleem. Een classificatieprobleem is op te lossen door middel van Machine Learning (ML). In deze paragraaf wordt deze alterna-tieve benadering onderzocht.

5.3.1 Wat is Machine Learning?

Bij (Supervised) Machine Learning wordt op basis van gelabelde data een model afgeleid. Met behulp van dit model wordt voor elke nieuwe, ongela-belde, instantie het label voorspeld. In het geval van vraagdetectie bepaalt het model van elke zin of het label vraag of geen vraag moet worden toe-gekend. De input voor een ML-systeem is gelabelde corpusdata en een lijst met featurekandidaten. Deze kandidaten zijn handmatig bepaald op basis van de corpusdata. Op voorhand hoeft niet vast te staan of al deze fea-tures bijdragen aan de classificatie. De performance van een ML-systeem wordt in grote mate bepaald door de uiteindelijke selectie van features en de classificatiemethode. In de volgende paragrafen worden deze componenten besproken.

Het voordeel van ML-systemen is dat ze domeinonafhankelijk zijn. Presteren ook zeer goed wanneer er sprake is van grote hoeveelheden data. Nadeel van ML-systemen is dat ze een blackbox zijn: het is van buitenaf weinig inzichte-lijk waarom een bepaalde klasse wordt gekozen. Het is dan ook niet mogeinzichte-lijk om fouten van het systeem eenvoudig handmatig te corrigeren. Daarnaast is er veel (kostbare) geannoteerde data nodig om een ML-systeem te trai-nen. De performance hangt direct samen met de hoeveelheid beschikbare trainingsdata.

5.3.2 Features

Om op basis van de data een model te kunnen genereren, heeft een ML-systeem vooraf gedefinieerde features nodig. Dit zijn eigenschappen van de data die potentieel kenmerkend zijn voor een klasse. Features zijn vergelijk-baar met indicatoren in een regelgebaseerd systeem. Voor het Nederlands vraagdetectiemodel zullen de features gebaseerd worden op de eerder be-schreven vraagindicatoren voor het Nederlands en de features uit Li et al. [2011]. Dit heeft geresulteerd in de volgende lijst met features:

Feature Definitie

QM De tweet bevat een vraagteken QW De tweet bevat een vraagwoord

QW1 De tweet bevat op de eerste positie een vraagwoord VFP De tweet bevat op de eerste positie een werkwoord RE De tweet bevat een retweet symbool

EMO De tweet bevat uitdrukkingen van sterke emotie !?! URL De tweet bevat een url

SMILE De tweet bevat een emoticon

DTV De tweet bevat een DTV symbool (#) HASH De tweet bevat een onderwerp symbool (#) QMn Het aantal vraagtekens

TWEETn Lengte van de tweet

@ De tweet bevat een adressering (@johndoe) Unigrammen Woorden in de tweet

Tabel 11: Features voor vraagherkenning

5.3.3 Featureselectie: van kandidaat naar finalist

Nu de lijst van mogelijke features is samengesteld moet worden bepaald welke features daadwerkelijk een bijdrage leveren. De performance van een ML-systeem is sterk afhankelijk van de featureselectie [Ramaswami and Bhaskaran, 2009]. Men zou kunnen denken dat het toevoegen van features voor een hoger onderscheidend vermogen van het ML-systeem zou zorgen. In werkelijkheid is dit echter niet het geval. Het opnemen van irrelevante featu-res heeft als nadeel dat de computationele kosten verhoogd worden doordat de dimensionaliteit van het probleem toeneemt. Daarnaast bestaat een kans op overfitting. Bij overfitting is het model teveel gericht op trainingsdata en te weinig algemeen. Er wordt teveel gewicht gegeven aan specifieke in-frequente voorkomens in de trainingset. Hierdoor presteert het ML-systeem wel goed op de trainingset, maar minder voor het bepalen van nieuwe onge-labelde instanties. Trainingsets met veel attributen zijn over het algemeen gevoelig voor overfitting. Voor het maken van een featuresselectie moet er gekeken worden naar subsets en niet naar losse features. Features

functio-neren niet onafhankelijk: een feature kan op zichzelf niets bijdragen maar in combinatie met andere features wel een significant verschil maken [Guyon and Elisseeff, 2003]. Featuresselectie kan opgevat worden als een zoekpro-bleem binnen het domein van mogelijke featuresubsets [Talavera, 2005]. On-danks dat dit zoekprobleem op verschillende manieren opgelost kan worden zijn de filter - en wrappermethode de meest voorkomende benaderingen voor featuresubsetselectie. De filtermethode evalueert de subsets op basis van de algemene eigenschappen van de dataset en werkt onafhankelijk van het geko-zen classificatiealgoritme. De featureselectie vindt dan ook plaats voordat de classificatie start. Hierdoor wordt overfitting ten op zichten van het classifi-catiealgoritme vermeden. De wrappermethode daarentegen evalueert wel op basis van het op voorhand gekozen classificatiealgoritme en levert daardoor vaak betere resultaten. De wrappermethode is computationeel complexer doordat het op basis van het classificatiealgoritme meer zoekoperaties moet uitvoeren. Ondank de kans op overfitting ten opzichte van het classificatie-algoritme presteren wrappermethoden het beste. Voor het onderzoek zijn zowel de filter- als de wrappermethode getest.

5.3.4 Classifiers

Geen enkele ML-methode is bruikbaar voor alle classificatieproblemen [Frank et al., 2005]. Het bepalen van het best presterende algoritme is sterk afhan-kelijk van de dataset en de keuze staat niet op voorhand vast. De keuze van het classificatiealgoritme heeft grote impact op de uiteindelijke prestatie van de methode. Voor het bepalen van het beste ML-algoritme voor vraagdetec-tie zijn op basis van Li et al. [2011] enkele classifiers geselecteerd. De gekozen classifiers zijn Naive Bayes, Random Forest en SVM. Allereerst zal er die-per worden ingegaan op de gekozen classifiers. In Frank et al. [2005] wordt voorgesteld om met een Naive Bayes-classifier te starten aangezien deze het minst complex is, het snelst leert en classificeert en over het algemeen goed presteert.

Naive Bayes

Naive Bayes is gebaseerd op de theorie van Thomas Bayes. Het is een probabilistische classifier die gebaseerd is op kansmodellen met sterke aan-names over onafhankelijkheid [Sebastiani, 2002]. Naive Bayes maakt geen gebruik van attribuutcombinaties voor het bepalen van een categorie, maar alleen een attribuut in combinatie met een categorie. Dit betekent dat de aanname gedaan wordt dat attributen onafhankelijk van elkaar zijn, maar

deze aanname is zelden in overeenstemming met de werkelijkheid. Wan-neer features sterke gelijkenis vertonen, bestaat het gevaar dat deze het model onevenredig veel be¨ınvloeden. Daarom is het belangrijk om geheel van elkaar onafhankelijke attributen te selecteren. Ondanks deze aanname presteren Naive Bayes-classifiers vaak opvallend goed. Grootveld and Huij-sen [2005] stellen bovendien dat het een van de meest effici¨ente technieken is voor (tekst)categorisatie. Naive Bayes leert en classificeert snel doordat er geen optimalisatie hoeft plaats te vinden. Slechts een enkele iteratie over de trainingsset is nodig voor training.

Random Forest

Random Forest [Breiman, 2001] is een decision tree classifier en net als Naive Bayes een accuraat en effici¨ent ML-algoritme [Caruana et al., 2008]. Bij een Random-Forest-classifier wordt telkens op basis van een klein, willekeurig ge-selecteerd, gedeelte van de dataset een classificatieboom gegenereerd. Deze classificatiebomen voor de subsets worden samengevoegd tot een classifi-catieboom voor de hele dataset. worden vervolgens samengevoegd om de uiteindelijke classificatie te bepalen. Random Forest heeft als voordeel dat het robuust is tegen ruis in de trainingset en doordat er willekeurige selec-ties plaatsvinden tijdens het trainingsproces neemt de kans op overfitting af. Maar daartegenover staat dat het trainen van een model een hoge cpu-tijd heeft.

SVM

Support Vector Machines [Vapnik, 1995] zijn een verzameling van gerela-teerde non-probabilistische binaire ML-methodes. Bij classificatie wordt een vlak, genaamd hyperplane, gecre¨eerd dat de data scheidt in twee klas-sen. Het scheidingsvlak wordt zo gedefinieerd dat er een maximale afstand (maximum-margin) tussen beide klassen bestaat [Schrijver, 2006]. SVM-algoritmen kunnen concurreren met de beste beschikbare classifiers. Bo-vendien kan SVM goed met hoogdimensionale data omgaan. Een nadeel is dat het zowel positieve als negatieve voorbeelden nodig heeft om een mo-del samen te kunnen stellen. Daarnaast is SVM computationeel zwaar: het algoritme gebruikt veel geheugen en cpu-tijd. Tot slot is een behoorlijke kennis van wiskunde, statistiek en optimalisatietheorie nodig om met SVM te werken.