NLP and text analysis
Natural language processing that categorises text by topic, such as open-ended responses from WUA respondents, developed in sprints with reviews.
WUA automatically categorises respondents’ open-ended answers by topic
“I’m very pleased with the collaboration. The close communication and detailed sprint reviews ensured that the model matched our needs exactly, resulting in a successful launch for our clients.” Yannick Ludwig, Head of Product
Who reads all those open-ended responses, complaints and reports?
After each survey, an analyst opens an export of the open-ended responses and manually assigns a topic to each one in Excel. Using natural language processing, a model suggests topics based on your own.
Free text becomes a column you can filter and count
Classify by your topics
A model classifies each text according to the topics you use. For WUA, we built a topic classification model like this for respondents’ open-ended answers.
Sentiment by message
Is a response positive or negative? For the Respect Foundation, our LLM analysed the sentiment of coverage about the Week van Respect.
Linking texts
Compare a new report with earlier reports, or a question with an answer that already exists. This helps you find duplicate reports and recurring topics.
Personal data protected
Free text can contain a name, customer number or information about someone’s health. We identify and mask these details before the text is processed further.
The model follows how the people who currently read the texts classify them
-
Define the topics
Together with the people who currently read the texts, we define the topics and collect examples for each one.
-
Measure approaches side by side
Rules, a trained model or a language model: we measure how each performs on every topic using a test set drawn from your own texts.
-
In your workflow and under management
The results feed into your dashboard or system. A member of staff reviews uncertain cases and new topics.
Do we have enough text to build a model?
A good fit if
You regularly receive text that someone currently reads and categorises by hand, such as open-ended answers, complaints, reports or comments, and you want to answer the same question each time.
Not a good fit if
You only have a handful of texts each month, or the question changes every time. Reading them yourself is faster. If you need to capture fields from invoices or forms, data extraction is the task.
What determines the scope
The number of text types and topics, how many examples have already been categorised, whether personal data needs to be removed, where the model runs and who manages it. You provide the texts and someone who knows the topics.
Does it work in Dutch?
We measure that, because jargon, abbreviations and spelling mistakes vary between organisations. Alongside multilingual language models, there are Dutch models, such as RobBERT from KU Leuven. We choose based on your own texts.
Keywords, a trained model or a language model: which suits your text?
Keywords and rules
Choose this if you have a small number of topics that you can identify by specific words. It is quick to build, but synonyms and spelling mistakes can slip through.
Trained classification model
Choose this if you receive a lot of text and already have classified examples. We recommend it for a fixed set of categories, as with the model for WUA: its performance is predictable and measurable for each topic.
Language model (LLM)
Choose this if you do not yet have examples, the topics change frequently or you want a brief explanation for each text. Evaluate every new version against the same test set.
We built text models for customer research and a national campaign
Data Science Lab has been building data and AI applications since 2016. Based in Amsterdam, we are a Databricks and Microsoft partner. We analysed text for WUA and the Respect Foundation.

Bring a few sample texts to the first meeting
Stef Stoelwinder
Business DevelopmentStef is your first point of contact. In our first meeting, we’ll discuss what kinds of texts you receive, how you currently categorise them and what you want to do with the results.
E-mail info@datasciencelab.nl
Phone +31 (0)20 3636 724
Which texts are you still reading by hand?
Tell us which texts you have in mind and what you’d like to find out from them. We’ll reply by email or arrange an initial conversation.
Message sent
Thanks for your message. We’ll be in touch as soon as possible.
Frequently asked questions
Here, NLP stands for natural language processing: techniques that enable a computer to process language. It does not refer to neurolinguistic programming used in coaching. Text mining and text analysis are applications of NLP: they help you find out what large volumes of text are about, how people experience something, and which names or concepts appear in them.
For us, NLP falls under data science, one of our AI applications.
Computers work with numbers, so the text must first be converted. Embeddings turn a word or sentence into a sequence of numbers that represents its meaning, placing ‘animal’ and ‘creature’ close together. You can then train a classification model using examples for each topic, or let a topic model such as BERTopic find groups on its own.
For WUA, we combined NLP, embeddings and machine learning in a topic classification model. You can read how embeddings work in our blog post The power of embeddings.
Preferably, the platform where your data already resides. In Databricks, you can use AI Functions in SQL, such as ai_classify to classify text, ai_analyze_sentiment to analyse sentiment and ai_mask to mask data. Microsoft’s Azure Language offers, among other things, PII detection and named entity recognition, which identifies names and concepts.
We build our own models in Python, for example using the Dutch language model RobBERT. As a Databricks and Microsoft partner, we choose what fits your platform and how you manage it.
By testing it on texts that people have already classified and that the model has never seen. For each topic, you look at precision: when the model selects that topic, how often is it right? And at recall: how many of the texts about that topic does it find?
Ask two colleagues to classify the same set as well. Where they disagree, the categories are not yet clear enough for a model. Assess a topic with few examples separately, because an average across all topics will hide its performance.
Open-ended text may contain more than you asked for: a name, a customer number or something about someone’s health. According to the Autoriteit Persoonsgegevens, customer and employee numbers are also personal data, and processing health data is prohibited unless a legal exception applies.
We identify and mask such data before the text goes into the model, and document where processing takes place. Your privacy officer or data protection officer assesses whether the processing is permitted.
That depends on what decisions the output helps to make. The European Commission cites software that sorts CVs during recruitment as an example of a high-risk application. Following the AI omnibus, the stricter rules for these applications apply from 2 December 2027. Classifying complaints for a report is different from selecting job applicants.
A text model can also pick up biases from its training data, as we describe in our blog post on gender data bias. Legal interpretation is up to your legal counsel or compliance department. We can help you take stock of applications, prepare the risk classification and establish AI governance.
Text analysis looks at many texts at once: which topics recur and how sentiment changes. If you need to extract fields from a single document, such as an invoice amount, document processing with AI is a better fit.
If you want employees to ask questions about internal documents, that falls under generative AI, as with Anthony Chat for Fokker Services Group. If AI needs to carry out steps in a process itself, read about agentic AI.
When there is little text, or when a selection list solves the problem: let people choose a category themselves and keep the open field for additional explanation. A model also adds nothing if nobody acts on its output.
Sometimes a dashboard based on existing selection fields is enough. If you are unsure where the problem lies — in the data, the processes or the organisation — start with a maturity assessment.
Where does text analysis fit alongside other AI applications?
- AI applicationsOur overview of generative AI, data science and business intelligence, and how we put them into production.
- Document processing with AIIf you want to extract fields from invoices, forms or contracts and check them against your own systems.
- The power of embeddingsOur blog post on how text becomes numbers, from bag-of-words to the BERT family.