Ontwikkel een Python-script voor natuurlijke taalverwerking (NLP) taken
description
Met deze prompt kun je een Python-script ontwikkelen dat geavanceerde tekstverwerkingstaken automatiseert. Dit lost problemen op zoals het analyseren van sentiment of het classificeren van teksten, en biedt diepgaande uitleg over gebruikte methoden, wat het leerzaam en praktisch maakt. Deze prompt is uniek omdat het zich richt op NLP, een gebied dat niet wordt gedekt door bestaande prompts.
prompt
Help me een Python-script te schrijven dat een natuurlijke taalverwerkingstaak uitvoert, zoals sentimentanalyse, tekstclassificatie, of named entity recognition. ...
try_prompt
generate_helper
disclaimerOnPageApi
tags
ai_answers
provider: openai
model: gpt-4.1-nano
Hier is een voorbeeld van een Python-script dat sentimentanalyse uitvoert op Nederlandse tekst met behulp van de library `transformers` en een voorgetraind model dat Nederlands ondersteunt, bijvoorbeeld van Hugging Face.
**Benodigde libraries:**
- `transformers` (voor toegang tot voorgetrainde taalmodellen)
- `torch` (voor ondersteuning van de modellen)
**Installatie:**
```bash
pip install transformers torch
```
**Uitleg:**
We gebruiken hier een model dat getraind is voor sentimentanalyse op het Nederlands, zoals "nlptown/bert-base-multilingual-uncased-sentiment". Dit model classificeert teksten in sentimenten zoals 1 ster (negatief) tot 5 sterren (positief).
**Script:**
```python
from transformers import pipeline
# Laad de sentimentanalyse pipeline met een Nederlands model
sentiment_analyzer = pipeline("sentiment-analysis", model="nlptown/bert-base-multilingual-uncased-sentiment")
# Voorbeeldtekst
tekst = "De Nederlandse regering kondigde vandaag nieuwe maatregelen aan om klimaatverandering tegen te gaan."
# Voer sentimentanalyse uit
resultaat = sentiment_analyzer(tekst)
# Resultaat tonen
print(f"Tekst: {tekst}")
print(f"Sentiment: {resultaat[0]['label']}, Score: {resultaat[0]['score']:.2f}")
```
**Wat doet dit script?**
- Het laadt een voorgetraind model dat geschikt is voor sentimentanalyse in meerdere talen, inclusief Nederlands.
- Het voert de analyse uit op de opgegeven tekst.
- Het geeft de voorspelde sentimentcategorie en een bijbehorende score weer.
**Voorbeeldoutput:**
```
Tekst: De Nederlandse regering kondigde vandaag nieuwe maatregelen aan om klimaatverandering tegen te gaan.
Sentiment: 3 sterren, Score: 0.75
```
**Aanvullende uitleg:**
- De `pipeline` maakt het makkelijk om NLP-taken uit te voeren zonder dat je zelf de onderliggende modellen hoeft te coderen.
- Voor andere taken zoals tekstclassificatie of named entity recognition kun je vergelijkbare pipelines gebruiken, bijvoorbeeld `"ner"` voor named entity recognition.
Wil je bijvoorbeeld named entity recognition uitvoeren, dan kan dat zo:
```python
ner_pipeline = pipeline("ner", model="Davlan/xlm-roberta-base-ner-hrl")
resultaten = ner_pipeline(tekst)
for ent in resultaten:
print(ent)
```
**Kort samengevat:**
- Libraries: `transformers`, `torch`
- Methode: gebruik van voorgetrainde taalmodellen via `pipeline`
- Inputtekst: "De Nederlandse regering kondigde vandaag nieuwe maatregelen aan om klimaatverandering tegen te gaan."
Dit is een praktische manier om Nederlandse tekst te verwerken met NLP-modellen.
provider: deepseek
model: deepseek-chat
Zeker, ik help je graag een Python-script te schrijven voor sentimentanalyse van Nederlandse tekst. Hier is een complete uitleg:
## Gebruikte Libraries
- `textblob` (met Nederlandse taalondersteuning)
- `textblob-nl` (specifiek voor Nederlandse verwerking)
- `nltk` (voor preprocessing)
## Installatie
```bash
pip install textblob
python -m textblob.download_corpora
pip install textblob-nl
```
## Python Script
```python
from textblob import TextBlob
from textblob_nl import PatternAnalyzer
def analyseer_sentiment_nederlands(tekst):
"""
Voert sentimentanalyse uit op Nederlandse tekst
Retourneert polariteit (-1 tot 1) en subjectiviteit (0 tot 1)
"""
blob = TextBlob(tekst, analyzer=PatternAnalyzer())
sentiment = blob.sentiment
return {
'polariteit': sentiment[0],
'subjectiviteit': sentiment[1],
'oordeel': 'positief' if sentiment[0] > 0 else 'negatief' if sentiment[0] < 0 else 'neutraal'
}
# Voorbeeldgebruik
input_tekst = "De Nederlandse regering kondigde vandaag nieuwe maatregelen aan om klimaatverandering tegen te gaan."
resultaat = analyseer_sentiment_nederlands(input_tekst)
print(f"Input tekst: {input_tekst}")
print(f"Polariteit: {resultaat['polariteit']:.3f}")
print(f"Subjectiviteit: {resultaat['subjectiviteit']:.3f}")
print(f"Oordeel: {resultaat['oordeel']}")
```
## Uitleg Methoden
- **TextBlob met PatternAnalyzer**: Specifiek getraind voor Nederlandse taalpatronen
- **Polariteit**: Meet hoe positief/negatief de tekst is (-1.0 tot +1.0)
- **Subjectiviteit**: Meet hoe opinionated de tekst is (0.0 objectief tot 1.0 subjectief)
## Voorbeeld Output
```
Input tekst: De Nederlandse regering kondigde vandaag nieuwe maatregelen aan om klimaatverandering tegen te gaan.
Polariteit: 0.250
Subjectiviteit: 0.600
Oordeel: positief
```
## Alternatieve Libraries
Voor meer geavanceerde NLP-taken in het Nederlands:
- `spacy` (met Nederlandse model `nl_core_news_sm`)
- `transformers` (voor BERT-modellen getraind op Nederlands)
- `flair` (voor state-of-the-art NLP)
Dit script geeft je een goede basis voor sentimentanalyse van Nederlandse teksten!