spaCy pipelines

Zpracování přirozeného jazyka s knihovnou spaCy

Azadeh Mobasher

Principal Data Scientist

spaCy pipelines

 

  • spaCy nejprve tokenizuje text a vytvoří objekt Doc
  • Doc je zpracován v několika krocích zpracovacího pipeline

 

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

doc = nlp(example_text)
Zpracování přirozeného jazyka s knihovnou spaCy

spaCy pipelines

  • Pipeline je posloupnost pipes, neboli operátorů nad daty
  • spaCy NER pipeline:
    • Tokenizace
    • Identifikace pojmenovaných entit
    • Klasifikace pojmenovaných entit  

Příklad spaCy pipeline pro NER

print([ent.text for ent in doc.ents])
Zpracování přirozeného jazyka s knihovnou spaCy

Přidávání pipes

 

  • sentencizer: komponenta spaCy pipeline pro segmentaci vět.
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
Zpracování přirozeného jazyka s knihovnou spaCy

Přidávání pipes

 

  • Vytvoření prázdného modelu a přidání pipe 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
Zpracování přirozeného jazyka s knihovnou spaCy

Analýza komponent pipeline

  • nlp.analyze_pipes() analyzuje spaCy pipeline a zjišťuje:
    • Atributy nastavované komponentami pipeline
    • Skóre produkovaná komponentou při trénování
    • Přítomnost všech požadovaných atributů

 

  • Nastavení pretty na True vypíše tabulku namísto samotných strukturovaných dat.
import spacy

nlp = spacy.load("en_core_web_sm")
analysis = nlp.analyze_pipes(pretty=True)
Zpracování přirozeného jazyka s knihovnou spaCy

Analýza komponent pipeline

Výsledek metody analyze_pipes

Zpracování přirozeného jazyka s knihovnou spaCy

Pojďme procvičovat!

Zpracování přirozeného jazyka s knihovnou spaCy

Preparing Video For Download...