Potoki spaCy

Przetwarzanie języka naturalnego z użyciem spaCy

Azadeh Mobasher

Principal Data Scientist

Potoki spaCy

 

  • spaCy najpierw tokenizuje tekst, tworząc obiekt Doc
  • Obiekt Doc jest przetwarzany w kilku krokach potoku przetwarzania

 

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

doc = nlp(example_text)
Przetwarzanie języka naturalnego z użyciem spaCy

Potoki spaCy

  • Potok to sekwencja elementów przetwarzających dane
  • Potok NER w spaCy:
    • Tokenizacja
    • Identyfikacja jednostek nazewniczych
    • Klasyfikacja jednostek nazewniczych  

Przykład potoku spaCy dla NER

print([ent.text for ent in doc.ents])
Przetwarzanie języka naturalnego z użyciem spaCy

Dodawanie elementów potoku

 

  • sentencizer: komponent potoku spaCy do segmentacji zdań.
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
Przetwarzanie języka naturalnego z użyciem spaCy

Dodawanie elementów potoku

 

  • Utwórz pusty model i dodaj element 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
Przetwarzanie języka naturalnego z użyciem spaCy

Analiza komponentów potoku

  • nlp.analyze_pipes() analizuje potok spaCy, określając:
    • Atrybuty ustawiane przez komponenty potoku
    • Wyniki generowane przez komponent podczas trenowania
    • Obecność wszystkich wymaganych atrybutów

 

  • Ustawienie parametru pretty na True spowoduje wyświetlenie tabeli zamiast zwracania danych strukturalnych.
import spacy

nlp = spacy.load("en_core_web_sm")
analysis = nlp.analyze_pipes(pretty=True)
Przetwarzanie języka naturalnego z użyciem spaCy

Analiza komponentów potoku

Wynik metody analyze_pipes

Przetwarzanie języka naturalnego z użyciem spaCy

Czas na ćwiczenia!

Przetwarzanie języka naturalnego z użyciem spaCy

Preparing Video For Download...