Конвеєри spaCy

Обробка природної мови (NLP) зі spaCy

Azadeh Mobasher

Principal Data Scientist

Конвеєри spaCy

 

  • spaCy спочатку токенізує текст і створює об'єкт Doc
  • Doc обробляється в кілька кроків конвеєра обробки

 

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

doc = nlp(example_text)
Обробка природної мови (NLP) зі spaCy

Конвеєри spaCy

  • Конвеєр — це послідовність «пайпів», або кроків обробки даних
  • Приклад конвеєра spaCy NER:
    • Токенізація
    • Визначення іменованих сутностей
    • Класифікація іменованих сутностей  

Приклад конвеєра spaCy для NER

print([ent.text for ent in doc.ents])
Обробка природної мови (NLP) зі spaCy

Додавання пайпів

 

  • sentencizer: компонент конвеєра spaCy для сегментації на речення.
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
Обробка природної мови (NLP) зі spaCy

Додавання пайпів

 

  • Створіть порожню модель і додайте пайп 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
Обробка природної мови (NLP) зі spaCy

Аналіз компонентів конвеєра

  • nlp.analyze_pipes() аналізує конвеєр spaCy, щоб визначити:
    • Атрибути, які встановлюють компоненти конвеєра
    • Оцінки, які компонент дає під час навчання
    • Наявність усіх потрібних атрибутів

 

  • Параметр pretty=True виведе таблицю замість повернення лише структурованих даних.
import spacy

nlp = spacy.load("en_core_web_sm")
analysis = nlp.analyze_pipes(pretty=True)
Обробка природної мови (NLP) зі spaCy

Аналіз компонентів конвеєра

Результат методу analyze_pipes

Обробка природної мови (NLP) зі spaCy

Давайте потренуємось!

Обробка природної мови (NLP) зі spaCy

Preparing Video For Download...