• Adrian Ariese

Vergeet je tekst- of text-mining niet?

Bijgewerkt op: 7 jul.



Tsja is het tekst of text?


Wanneer je begint met text mining mag dat niet zoveel uitmaken. Je categoriseert ze immers met dezelfde intentie. Google maakt ook al geen onderscheid. Op welke manier je het ook schrijft. De eerste onbetaalde vermelding is in beide gevallen dezelfde wiki-pagina. Nee mijn punt ligt op een ander vlak. Vaak wordt text mining "vergeten". Is het iets van vroeger, wat we al een beetje vergeten zijn. Terwijl we in de wens om gestructureerde data te verkrijgen dit de meest ongestuurde vorm van data is. Dus als je die goed structureert dan heb je de meest oprechte en dus waardevolle informatie...rechtstreeks vanuit het hart van de zender.

Text mining geeft iedereen (bedrijven, gemeenten en zorginstellingen) toegang tot een ongekende hoeveelheid stuurinformatie. Nu lijkt het alsof het analyseren van Nederlandse teksten moeilijk is. Vroeger was dat ook wel zo. Echter de ervaring en de tools om dit goed te doen zijn de laatste jaren enorm verbeterd. Met een hoge waarde op informatie-vergaring, willen we bij DAAT deze vorm van gestructueerde data niet ongemoeid laten.

Tekst wordt gezien als databron en daarbij valt één ding op. Het is ongestructureerde data (denk maar aan "een lap tekst"). Daarbij springt in het oog de dat in data het wel gestructureerd is het zijn getallen, kolommen en rijen. Of zoals een data-nerd het zegt: "true or false" of een "nulletje of een ééntje". Bij gestructureerde data is dus alles al vastgelegd. Het heeft een label, een waarde of het is in ieder geval gecategoriseerd. Dat is makkelijk en dat maakt het grote verschil met tekst. Data is eenvoudiger te verwerken dan tekst. Daarmee is tekst echter niet minder waardevol.


Er zijn superveel bronnen om uit te putten. Sommigen zijn bedrijfsspecifiek (een veld in een formulier). Anderen zijn algemener (documenten of Whatsapp). Allemaal echter moeten ze verzameld worden om ingevoerd te kunnen worden in een structureringsmodel.

Veel organisaties werken inmiddels datagedreven. Teksten worden nog teveel over het hoofd gezien. Denk maar eens aan: E-mails, pdf’s, Word-documenten, Berichten, Whatsapp, invulformulieren maar ook klantfeedback op websites is een waardevolle bron. Als laatste wil ik voicebots en chatbots op websites genoemd hebben. ook al zie ik daar steeds meet voorgedefinieerde categorieën terugkomen in vele gevallen wordt er nog steeds met tekst vorm gegeven aan de discussie. Deze vorm van datamining is dan ook niet iets van vroeger maar is relevanter dan ooit.

Maar hoe doe je dat nu? En hoe kom je van ongestructureerde tekst naar bruikbare data?

Met text mining ga je direct vanuit het brein van jouw klant naar een antwoord. Daarin zit veelal geen sturing van de vraagsteller door antwoorden te clusteren (en dus te structureren of categoriseren). Hierdoor zijn inzichten en kennis waardevoller. Door constante ontwikkelingen op het gebied van tooling voor text mining is het steeds eenvoudiger om dit laagdrempeliger en sneller aan te pakken en daarmee resultaten te behalen. Vroeger moest je text mining tools zelf ontwikkelen, maar tegenwoordig zijn er veel kant-en-klare technieken en getrainde modellen beschikbaar via open source of de cloud. Een voorbeeld daarvan zijn open source Python packages, zoals SpaCy. Dit is een Nederlands ingestoken NLP (natural language processing) in combinatie met Machine Learning. Het klinkt moeilijk maar is tegenwoordig zo doorontwikkeld dat het gebruiksvriendelijk is en complexiteit in achterliggende tooling veelal wegneemt.

Wat levert text mining op?

Om dit te verduidelijken neem ik de eerder genoemde voice- en chatbots. (Toekomstige) klanten nemen met specifieke vragen, wensen en klachten contact met jouw organisatie op vaak via de website. Dit geeft additionele voordelen maar bovenal geeft het veel tekstueel gedreven interactie. Vanuit deze interactie ga je onder andere aan de slag met intent en entitie. Hierdoor kun je toekomstige diensten ontwikkelen, verbeteringen doorvoeren en zelfs conversie op je website zonder tussenkomst van je medewerkers bewerkstelligen.Om text mining in te zetten, moet je de teksten eerst leesbaar en begrijpelijk maken voor een computer. Dat doe je veelal met technieken die gebaseerd zijn op Natural Language Processing (NLP). Daarbij is de eerste stap het opschonen. Je ontdoet een tekst van onduidelijkheden en overbodige informatie. In de tweede stap categoriseer je de tekst en voeg je waarde aan woorden toe. En ziedaar het inzicht in de data begint te ontstaan.



Stap 1: Opschonen en "schoon opleveren" van de tekst

Meerdere NLP-technieken zorgen ervoor dat je teksten kunt opschonen en gebruiken voor tekstmining. De minimale stappen tref je hieronder grofstoffelijk aan.

Opruimen en schoonmaken:

Het opschonen van de data is de eerste stap. Je haalt alle franje en overbodige zaken eruit. Daarnaast normaliseer je in in de basis de tekst. Dus je vervangt hoofdletter door kleine letters, haalt tussenvoegsels en stopwoorden eruit. Kortom het schoon opleveren van de tekst is je hoofddoel.

Tekst opdelen in hapklare brokken:

Het voelt een beetje als teruggaan naar de basisschool. Bij textmining echter moet je teksten ontleden. Terug naar de basis van tekst- en zinsopbouw. Dit doe je in tabelvorm. Een tekst bestaat dan uit meerdere zinselementen. Woorden dus en komma's, met spaties en alles wat daarbij hoort. Dit wordt ook wel tokenization genoemd omdat al deze kleinere delen tokens zijn.

Terug naar de basis en afstemmen:

In het verlengde van tokenization breng je ook vervoegingen en werkwoorden terug naar de basis. Dit geldt ook voor andere delen van de zin. Je brengt de zinsdelen terug naar de basis. Wederom is dit een vorm van normalisatie. Het maakt textmining eenvoudiger en makkelijker te hanteren. Al weer toe aan een nieuw woord? Dit proces noemen ze lemmatization. Dit is het terugbrengen van worden naar de basisvorm (regeerden wordt regeren, en overheden wordt overheid). Dan is er ook nog Stemming en dan wordt er bij een werkwoord alles teruggebracht naar de stam (regeren wordt dan regeer). Klinkt eenvoudig toch? Meestal wel, zolang je maar de werkwoorden goed van zelfstandige naamwoorden onderscheid. Want anders wordt het in combinatie nog spannend. Meervoud klinkt in het Nederlands al snel als een werkwoord. Maar soms bedoelen we iets anders met "tanken" dan een enkele "tank". Contextafhankelijk dus.

Stap 2: Woorden waarde geven


Nu je tekst is opgeschoond, kun je woorden meer waarde geven. Dit zijn enkele NLP-technieken waarmee je dat doet:

Named Entity Recogniton

Met Named Entity Recogniton (NER) tag je specifieke onderdelen of entiteiten in een tekst, zoals bedrijfsnamen, personen, tijdstippen of locaties. In veel gevallen is dit zeer interessant. Zeker wanneer je wil weten of er een correlatie is tussen twee zaken. Dus "water" en "hoofdpijn" als je aanname is dat goede hydratatie zorgt voor minder vaak hoofdpijn. Of wanneer je wil weten naar welke diensten er vaak gevraagd wordt in de chat op je website.

Part of Speech

Part of Speech (POS) is het vastleggen van "wat is wat". Dus het taggen van grammaticale tokens. Alle verschillende elementen in een tekst krijgen dan een een tag zodat een text mining tool begrijpt wat ieder onderdeel is en welke rol het vervult. Rollen kunnen zijn: een zelfstandig naamwoord, een werkwoord of een bijvoeglijk naamwoord.

Sentiment analyse

Naast een objectieve waarde van een woord is er ook nog een gevoelswaarde. Nadat we met POS en NER bepaalt hebben wat de objectieve/grammaticale waarde van de diverse gebruikte woorden is, weten we de entiteiten. Nu wordt het interessant om de intent boven water te halen. De gevoelswaarde in de context van de zin.Dat doe je met een sentiment analyse. Nu proberen we met de menselijke bril te kijken naar woorden. Zijn de woorden negatief, neutraal of positief zijn. Dat is best een spannende bezigheid want NLP-tooling heeft vaak moeite met de Nederlandse context.


Lees de volgende zin maar eens:


" IK ben niet boos op jullie, zolang morgen maar mijn pakketje -op tijd- is...anders zijn de rapen gaar. Typische klantfeedback maar wel belangrijk om goed te interpreteren.


En nu aanpakken met textmining...

Vanuit onze onderzoekskant hebben we veel te maken met deze vorm van data-vergaring. We zien er de toegevoegde waarde van en verwerken dit vaak in analyses en kunnen er verbeteringen goed mee duiden. en creëren daardoor onderscheidend vermogen voor jouw onderneming. Vraag Frank er maar eens naar. Het is zijn stokpaardje.

37 weergaven0 opmerkingen

Recente blogposts

Alles weergeven