Natural Language Processing met spaCy
Azadeh Mobasher
Principal Data Scientist
import spacynlp = spacy.load("en_core_web_sm")doc = nlp("Here's my spaCy pipeline.")
spaCyspacy.load() om nlp (een Language-klasse) te krijgenLanguage-object is de tekstverwerkingspipelinenlp() toe op tekst om een Doc-container te krijgen
spaCy voert enkele stappen uit via de Language-klasse:
spaCy heeft meerdere datastructuren om tekst te representeren:
| Naam | Beschrijving |
|---|---|
Doc |
Container met taalkundige annotaties van tekst |
Span |
Een deel van een Doc-object |
Token |
Een individueel token, bv. woord, leesteken, spatie, enz. |
spaCy hangt altijd af van het geladen model en zijn mogelijkheden.
| Component | Naam | Beschrijving |
|---|---|---|
| Tokenizer | Tokenizer | Segmenteert tekst in tokens en maakt een Doc-object |
| Tagger | Tagger | Wijs woordsoorttags toe |
| Lemmatizer | Lemmatizer | Breng woorden terug tot hun grondvorm |
| EntityRecognizer | NER | Herken en label named entities |
Elke component heeft eigen functies om tekst te verwerken
import spacy nlp = spacy.load("en_core_web_sm") doc = nlp("Tokenization splits a sentence into its tokens.")print([token.text for token in doc])
['Tokenization', 'splits', 'a', 'sentence', 'into', 'its', 'tokens', '.']
DependencyParser-componentimport spacy nlp = spacy.load("en_core_web_sm") text = "We are learning NLP. This course introduces spaCy." doc = nlp(text)for sent in doc.sents: print(sent.text)
We are learning NLP.
This course introduces spaCy.
import spacy nlp = spacy.load("en_core_web_sm") doc = nlp("We are seeing her after one year.")print([(token.text, token.lemma_) for token in doc])
[('We', 'we'), ('are', 'be'), ('seeing', 'see'), ('her', 'she'),
('after', 'after'), ('one', 'one'), ('year', 'year'), ('.', '.')]
Natural Language Processing met spaCy