Ga naar hoofdinhoud

Textacy: een introductie tot het opschonen en normaliseren van tekstdata in Python

Ontdek hoe Textacy, een Python-bibliotheek, het voorbewerken van tekstdata voor machine learning vereenvoudigt. Leer over unieke functies zoals tekens normaliseren en datamasking, en zie hoe het zich verhoudt tot andere bibliotheken zoals NLTK en spaCy.
Bijgewerkt 2 okt 2026  · 5 min lezen

Verken met AI

ChatGPTClaudePerplexity

Deze tutorial is een gewaardeerde bijdrage uit onze community en is door DataCamp bewerkt voor duidelijkheid en nauwkeurigheid.

Wil je je eigen expertise delen? We horen graag van je! Dien je artikelen of ideeën in via ons Community Contribution Form.

Als data practitioner ben je je vast bewust van het belang van een robuuste pijplijn voor het opschonen en voorbereiden van data in elk machinelearningproject. Bij tekstuele data is zo’n pijplijn echter nog crucialer, door de unieke uitdagingen die tekst met zich meebrengt. Ruis, spelfouten, afkortingen, slang en grammaticale fouten kunnen allemaal de prestaties van machinelearningmodellen negatief beïnvloeden.

Om te zorgen dat de tekstdata die in machinelearningmodellen wordt gebruikt accuraat, consistent en vrij van fouten is, is een goed ontworpen pijplijn voor opschonen en voorbereiding essentieel. Dit omvat doorgaans een reeks taken zoals tekstnormalisatie, tokenization, het verwijderen van stopwoorden, stemming, lemmatisering en datamasking.

Hoewel populaire bibliotheken zoals NLTK, gensim en spaCy een breed scala aan tools bieden voor tekstverwerking en -opschoning, kan het werken met tekstdata nog steeds unieke uitdagingen opleveren die de prestaties van modellen aanzienlijk kunnen beïnvloeden. Deze uitdagingen variëren van tekens normaliseren tot datamasking en meer. Hoewel je deze issues met bovengenoemde bibliotheken kunt aanpakken, kost dat vaak veel tijd en moeite.

Daar komt Textacy om de hoek kijken. Textacy is een Python-bibliotheek die een eenvoudige manier biedt om een reeks veelvoorkomende problemen bij tekstdata aan te pakken. Terwijl andere bibliotheken vergelijkbare functionaliteit bieden, onderscheidt Textacy zich door de focus op specifieke problemen, zoals tekens normaliseren en datamasking.

Textacy: tekens normaliseren

Tekens normaliseren is het proces waarbij tekstdata naar een standaardformaat wordt omgezet, wat vooral belangrijk kan zijn bij meertalige tekstdata.

Text = ‘ the cafe “Saint-Raphaël” is loca-/nted on Cote d’Azur.’

Geaccentueerde tekens zijn een veelvoorkomend probleem bij tekstnormalisatie en kunnen de nauwkeurigheid van machinelearningmodellen aanzienlijk beïnvloeden.

Het probleem ontstaat omdat mensen niet consequent geaccentueerde tekens gebruiken, wat tot inconsistenties in de data kan leiden.

Zo kunnen de tokens "Saint-Raphaël" en "Saint-Raphael" naar dezelfde entiteit verwijzen, maar zonder normalisatie worden ze niet als identiek herkend. Daarnaast bevatten teksten vaak woorden die met een koppelteken zijn gescheiden, en apostrofs zoals in de bovenstaande tekst kunnen een probleem zijn voor tokenization. Voor al deze issues is het zinvol om de tekst te normaliseren en accenten en speciale tekens te vervangen door ASCII-equivalenten.

We gebruiken hiervoor Textacy, omdat het een mooie collectie vooraf gedefinieerde functies heeft om dit probleem eenvoudig en efficiënt op te lossen. De onderstaande tabel toont een selectie van de preprocess-functies van Textacy die onafhankelijk van andere bibliotheken kunnen werken.

Functie

Beschrijving

normalize _hyphentated_words

Stelt woorden opnieuw samen die door een regeleinde waren gescheiden

normalize_quotation_marks

Vervangt allerlei typografische aanhalingstekens door een ASCII-equivalent

normalize_unicode

Uniformeert verschillende coderingen van geaccentueerde tekens in Unicode

remove_accents

Vervangt geaccentueerde tekens door ASCII

replace_emails

Vervangt e-mails door __EMAIL__

replace_urls

Vervangt urls door __URL__

text = "The café "Saint-Raphaël" is loca-\nted on Cote dʼAzur."


import textacy
import textacy.preprocessing as tprep


def normalize(text):
   text = tprep.normalize_hyphenated_words(text)
   text = tprep.normalize_quotation_marks(text)
   text = tprep.normalize_unicode(text)
   text = tprep.remove_accents(text)
   return text

Met de bovenstaande functie normalize, die is gebaseerd op de vooraf gedefinieerde Textacy-preprocessfuncties, pakken we het normalisatieprobleem aan met minimale inspanning.

print(normalize(text)

Uitvoer:

The cafe Saint-Raphael is located in Cote d' Azure

Textacy: datamasking

Tekstdata bevat vaak niet alleen gewone woorden, maar ook allerlei identifiers, zoals URL’s, e-mailadressen of telefoonnummers. Soms zijn we juist in die items geïnteresseerd. In veel gevallen is het echter beter om deze informatie te verwijderen of te maskeren, omdat die niet relevant is of om privacyredenen.

Textacy heeft handige replace-functies voor datamasking, zoals getoond in de bovenstaande tabel. Deze vervangfuncties zijn vooraf gedefinieerd, waardoor je eenvoudig gevoelige of irrelevante informatie kunt maskeren zonder eigen reguliere-expressiefuncties te hoeven schrijven.

text = "Check out https://spacy.io/usage/spacy-101"print(replace_urls(text))

Uitvoer:

Check out __URL__

Samenvatting

In dit artikel lieten we zien hoe je Textacy kunt gebruiken om het voorbewerken van tekstdata te vereenvoudigen. Met het scala aan ingebouwde functies maakt Textacy het eenvoudig om veelvoorkomende uitdagingen aan te pakken, zoals tekens normaliseren en datamasking.

Door het voorbewerkingsproces te stroomlijnen, maakt Textacy de weg vrij om te focussen op de complexere en uitdagendere aspecten van natural language processing. Of je nu werkt aan sentimentanalyse, topic modeling of een andere NLP-taak, met Textacy maak je je data snel en efficiënt klaar voor analyse.

Sta je de volgende keer voor een voorbewerkingsuitdaging, overweeg dan Textacy om je workflow te vereenvoudigen en jezelf kostbare tijd en moeite te besparen.

Vond je deze gids over Textacy handig en wil je je begrip van het voorbewerken van tekstdata en natural language processing verdiepen? Overweeg dan om je in te schrijven voor DataCamp’s Natural Language Processing Fundamentals in Python-cursus.

Onderwerpen
Python
Machine Learning
Gerelateerd

blog

AI vanaf nul leren in 2026: een complete gids van de experts

Ontdek alles wat je moet weten om in 2026 AI te leren, van tips om te beginnen tot handige resources en inzichten van industrie-experts.
Adel Nehme's photo

Adel Nehme

15 min

Meer BekijkenMeer Bekijken