spaCy-pipelines

Naturlig språkbehandling med spaCy

Azadeh Mobasher

Principal Data Scientist

spaCy-pipelines

 

  • spaCy tokeniserar först texten och skapar ett Doc-objekt
  • Doc bearbetas i flera steg i en bearbetningspipeline

 

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

doc = nlp(example_text)
Naturlig språkbehandling med spaCy

spaCy-pipelines

  • En pipeline är en sekvens av pipes, eller aktörer på data
  • En spaCy-pipeline för NER:
    • Tokenisering
    • Identifiering av namngivna entiteter
    • Klassificering av namngivna entiteter  

Exempel på en spaCy-pipeline för NER

print([ent.text for ent in doc.ents])
Naturlig språkbehandling med spaCy

Lägga till pipes

 

  • sentencizer: spaCy-pipeline-komponent för meningssegmentering.
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
Naturlig språkbehandling med spaCy

Lägga till pipes

 

  • Skapa en tom modell och lägg till en sentencizer-pipe:
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
Naturlig språkbehandling med spaCy

Analysera pipeline-komponenter

  • nlp.analyze_pipes() analyserar en spaCy-pipeline för att fastställa:
    • Attribut som pipeline-komponenter anger
    • Poäng som en komponent producerar under träning
    • Om alla obligatoriska attribut finns

 

  • Om pretty sätts till True skrivs en tabell ut i stället för enbart strukturerad data.
import spacy

nlp = spacy.load("en_core_web_sm")
analysis = nlp.analyze_pipes(pretty=True)
Naturlig språkbehandling med spaCy

Analysera pipeline-komponenter

Resultat av metoden analyze_pipes

Naturlig språkbehandling med spaCy

Nu kör vi en övning!

Naturlig språkbehandling med spaCy

Preparing Video For Download...