使用 spaCy 的自然語言處理
Azadeh Mobasher
Principal Data Scientist
spaCy 會先將文字斷詞,產生一個 Doc 物件。Doc 會經過多個步驟的處理管線處理。
import spacy
nlp = spacy.load("en_core_web_sm")
doc = nlp(example_text)
spaCy 的 NER 管線包含:print([ent.text for ent in doc.ents])
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
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.analyze_pipes() 會分析 spaCy 管線以判斷:
pretty 設為 True 會印出表格,而不只回傳結構化資料。import spacy
nlp = spacy.load("en_core_web_sm")
analysis = nlp.analyze_pipes(pretty=True)
使用 spaCy 的自然語言處理