Xử lý ngôn ngữ tự nhiên với spaCy
Azadeh Mobasher
Principal Data Scientist
import spacynlp = spacy.load("en_core_web_sm")doc = nlp("Here's my spaCy pipeline.")
spaCyspacy.load() để trả về nlp, một lớp LanguageLanguage là pipeline xử lý văn bảnnlp() lên văn bản để nhận Doc
spaCy áp dụng một số bước xử lý bằng lớp Language:
spaCy:
| Tên | Mô tả |
|---|---|
Doc |
Bộ chứa truy cập chú giải ngôn ngữ của văn bản |
Span |
Một lát cắt từ đối tượng Doc |
Token |
Một token riêng lẻ: từ, dấu câu, khoảng trắng, v.v. |
spaCy luôn phụ thuộc vào mô hình đã tải và khả năng của nó.
| Thành phần | Tên | Mô tả |
|---|---|---|
| Tokenizer | Tokenizer | Chia văn bản thành token và tạo Doc |
| Tagger | Tagger | Gán nhãn từ loại (POS) |
| Lemmatizer | Lemmatizer | Đưa từ về dạng gốc |
| EntityRecognizer | NER | Phát hiện và gán nhãn thực thể tên riêng |
Mỗi thành phần có tính năng riêng để xử lý văn bản
import spacy nlp = spacy.load("en_core_web_sm") doc = nlp("Tokenization splits a sentence into its tokens.")print([token.text for token in doc])
['Tokenization', 'splits', 'a', 'sentence', 'into', 'its', 'tokens', '.']
DependencyParserimport spacy nlp = spacy.load("en_core_web_sm") text = "We are learning NLP. This course introduces spaCy." doc = nlp(text)for sent in doc.sents: print(sent.text)
We are learning NLP.
This course introduces spaCy.
import spacy nlp = spacy.load("en_core_web_sm") doc = nlp("We are seeing her after one year.")print([(token.text, token.lemma_) for token in doc])
[('We', 'we'), ('are', 'be'), ('seeing', 'see'), ('her', 'she'),
('after', 'after'), ('one', 'one'), ('year', 'year'), ('.', '.')]
Xử lý ngôn ngữ tự nhiên với spaCy