spaCy-pijplijnen

Natural Language Processing met spaCy

Azadeh Mobasher

Principal Data Scientist

spaCy-pijplijnen

 

  • spaCy tokenizeert eerst de tekst tot een Doc-object
  • De Doc wordt verwerkt in meerdere stappen van de verwerkingspipeline

 

import spacy
nlp = spacy.load("en_core_web_sm")

doc = nlp(example_text)
Natural Language Processing met spaCy

spaCy-pijplijnen

  • Een pipeline is een reeks pipes, of acties op data
  • Een spaCy-NER-pipeline:
    • Tokenisatie
    • Herkenning van entiteiten
    • Classificatie van entiteiten  

Voorbeeld van een spaCy-pipeline voor NER

print([ent.text for ent in doc.ents])
Natural Language Processing met spaCy

Pipes toevoegen

 

  • sentencizer: spaCy-component voor zinssegmentatie.
text = " ".join(["This is a test sentence."]*10000)

en_core_sm_nlp = spacy.load("en_core_web_sm") start_time = time.time() doc = en_core_sm_nlp(text)
print(f"Finished processing with en_core_web_sm model in {round((time.time() - start_time)/60.0 , 5)} minutes")
>>> Finished processing with en_core_web_sm model in 0.09332 minutes
Natural Language Processing met spaCy

Pipes toevoegen

 

  • Maak een leeg model en voeg een sentencizer-pipe toe:
blank_nlp = spacy.blank("en")

blank_nlp.add_pipe("sentencizer")
start_time = time.time() doc = blank_nlp(text) print(f"Finished processing with blank model in {round((time.time() - start_time)/60.0 , 5)} minutes")
>>> Finished processing with blank model in 0.00091 minutes
Natural Language Processing met spaCy

Pipelinecomponenten analyseren

  • nlp.analyze_pipes() analyseert een spaCy-pipeline en bepaalt:
    • Attributen die componenten zetten
    • Scores die een component tijdens training oplevert
    • Aanwezigheid van alle vereiste attributen

 

  • Zet pretty op True om een tabel te printen i.p.v. alleen gestructureerde data.
import spacy

nlp = spacy.load("en_core_web_sm")
analysis = nlp.analyze_pipes(pretty=True)
Natural Language Processing met spaCy

Pipelinecomponenten analyseren

Resultaat van analyze_pipes-methode

Natural Language Processing met spaCy

Laten we oefenen!

Natural Language Processing met spaCy

Preparing Video For Download...