Pipeline-uri spaCy

Procesarea limbajului natural cu spaCy

Azadeh Mobasher

Principal Data Scientist

Pipeline-uri spaCy

 

  • spaCy tokenizează mai întâi textul pentru a produce un obiect Doc
  • Doc-ul este procesat în mai mulți pași ai pipeline-ului de procesare

 

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

doc = nlp(example_text)
Procesarea limbajului natural cu spaCy

Pipeline-uri spaCy

  • Un pipeline este o secvență de componente ce acționează asupra datelor
  • Un pipeline spaCy pentru NER:
    • Tokenizare
    • Identificarea entităților numite
    • Clasificarea entităților numite  

Exemplu de pipeline spaCy pentru NER

print([ent.text for ent in doc.ents])
Procesarea limbajului natural cu spaCy

Adăugarea componentelor

 

  • sentencizer: componentă de pipeline spaCy pentru segmentarea propozițiilor.
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
Procesarea limbajului natural cu spaCy

Adăugarea componentelor

 

  • Creați un model gol și adăugați o componentă sentencizer:
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
Procesarea limbajului natural cu spaCy

Analiza componentelor pipeline

  • nlp.analyze_pipes() analizează un pipeline spaCy pentru a determina:
    • Atributele setate de componentele pipeline-ului
    • Scorurile produse de o componentă în timpul antrenării
    • Prezența tuturor atributelor necesare

 

  • Setând pretty la True, se afișează un tabel în loc să returneze doar datele structurate.
import spacy

nlp = spacy.load("en_core_web_sm")
analysis = nlp.analyze_pipes(pretty=True)
Procesarea limbajului natural cu spaCy

Analiza componentelor pipeline

Rezultatul metodei analyze_pipes

Procesarea limbajului natural cu spaCy

Să exersăm!

Procesarea limbajului natural cu spaCy

Preparing Video For Download...