Basis van Natural Language Processing (NLP)

Natural Language Processing met spaCy

Azadeh Mobasher

Principal Data Scientist

Natural Language Processing (NLP)

 

  • Een subveld van Artificial Intelligence (AI)
  • Helpt computers menselijke taal te begrijpen
  • Helpt inzichten te halen uit ongestructureerde data
  • Gebruikt statistiek, ML-modellen en deep learning-modellen

 

NLP, een subveld van AI

Natural Language Processing met spaCy

NLP-toepassingen

Sentimentanalyse  

  • Computers bepalen de onderliggende subjectieve toon van een tekst

 

Voorbeelden van sentimentanalyse

Natural Language Processing met spaCy

NLP-toepassingen

Named entity recognition (NER)  

  • Het vinden en classificeren van benoemde entiteiten in ongestructureerde tekst in vooraf gedefinieerde categorieën
  • Benoemde entiteiten zijn echte objecten zoals personen of locaties

 

NER-voorbeelden

Natural Language Processing met spaCy

NLP-toepassingen

 

  • Genereer mensachtige reacties op tekstinput, zoals ChatGPT

 

Chatbots

Natural Language Processing met spaCy

Introductie tot spaCy

spaCy is een gratis, open-source NLP-bibliotheek voor Python die:

  • Ontworpen is voor information extraction
  • Production-ready code levert voor NLP-usecases
  • 64+ talen ondersteunt
  • Robuust, snel is en visualisatielibs heeft

 

spaCy en NLP

Natural Language Processing met spaCy

spaCy installeren en importeren

 

  • Installeer spaCy met pip, de Python-package manager
  • Download getrainde spaCy-modellen
  • Meerdere Engelse modellen beschikbaar op spacy.io

 

$ python3 pip install spacy
python3 -m spacy download en_core_web_sm
import spacy
nlp = spacy.load("en_core_web_sm")
Natural Language Processing met spaCy

Tekst lezen en verwerken met spaCy

  • spaCy-model en_core_web_sm geladen = nlp-object
  • nlp zet tekst om in een Doc-object (container) met verwerkte tekst

Tekstverwerking met spaCy

Natural Language Processing met spaCy

spaCy in actie

  • Verwerken van een string met spaCy
import spacy
nlp = spacy.load("en_core_web_sm")
text = "A spaCy pipeline object is created."
doc = nlp(text)
  • Tokenization
    • Een Token is het kleinste betekenisvolle deel van tekst.
    • Tokenization: tekst splitsen in een lijst betekenisvolle tokens
print([token.text for token in doc])
['A', 'spaCy', 'pipeline', 'object', 'is', 'created', '.']
Natural Language Processing met spaCy

Laten we oefenen!

Natural Language Processing met spaCy

Preparing Video For Download...