Pipeline của spaCy

Xử lý ngôn ngữ tự nhiên với spaCy

Azadeh Mobasher

Principal Data Scientist

Pipeline của spaCy

 

  • spaCy trước tiên tách từ (tokenize) để tạo đối tượng Doc
  • Doc được xử lý qua nhiều bước của pipeline xử lý

 

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

doc = nlp(example_text)
Xử lý ngôn ngữ tự nhiên với spaCy

Pipeline của spaCy

  • Một pipelinechuỗi các pipe, tức thành phần xử lý dữ liệu
  • Pipeline spaCy cho NER:
    • Tokenization
    • Nhận diện thực thể có tên
    • Phân loại thực thể có tên  

Ví dụ pipeline spaCy cho NER

print([ent.text for ent in doc.ents])
Xử lý ngôn ngữ tự nhiên với spaCy

Thêm pipe

 

  • sentencizer: thành phần pipeline của spaCy để tách câu.
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
Xử lý ngôn ngữ tự nhiên với spaCy

Thêm pipe

 

  • Tạo mô hình trống và thêm 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
Xử lý ngôn ngữ tự nhiên với spaCy

Phân tích các thành phần pipeline

  • nlp.analyze_pipes() phân tích pipeline spaCy để xác định:
    • Thuộc tính mà các thành phần thiết lập
    • Điểm số thành phần tạo ra khi huấn luyện
    • Sự hiện diện của mọi thuộc tính bắt buộc

 

  • Đặt pretty=True sẽ in bảng thay vì chỉ trả về dữ liệu có cấu trúc.
import spacy

nlp = spacy.load("en_core_web_sm")
analysis = nlp.analyze_pipes(pretty=True)
Xử lý ngôn ngữ tự nhiên với spaCy

Phân tích các thành phần pipeline

Kết quả của phương thức analyze_pipes

Xử lý ngôn ngữ tự nhiên với spaCy

Ayo berlatih!

Xử lý ngôn ngữ tự nhiên với spaCy

Preparing Video For Download...