Bắt đầu ngayBắt đầu miễn phí

Khớp một thuật ngữ đơn trong spaCy

Các pattern RegEx không hề dễ đọc, viết hay gỡ lỗi. Nhưng bạn không gặp bế tắc đâu: spaCy cung cấp một lựa chọn thay thế dễ đọc và dùng được trong sản xuất, đó là lớp Matcher. Lớp Matcher có thể khớp các quy tắc được định nghĩa sẵn với một chuỗi token trong một đối tượng Doc cho trước. Trong bài tập này, bạn sẽ thực hành dùng Matcher để tìm một từ đơn.

Bạn có thể truy cập văn bản tương ứng trong example_text và dùng nlpdoc để lần lượt truy cập mô hình spaCy và đối tượng Doc của example_text.

Bài tập này là một phần của khóa học

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

Xem khóa học

Hướng dẫn bài tập

  • Khởi tạo lớp Matcher.
  • Định nghĩa một pattern để khớp chữ thường witch trong example_text.
  • Thêm các pattern vào lớp Matcher và tìm các kết quả khớp.
  • Lặp qua các kết quả khớp và in ra chỉ số token bắt đầu, kết thúc và span của văn bản đã khớp.

Bài tập tương tác thực hành trực tiếp

Hãy thử làm bài tập này bằng cách hoàn thành đoạn mã mẫu này.

nlp = spacy.load("en_core_web_sm")
doc = nlp(example_text)

# Initialize a Matcher object
matcher = Matcher(nlp.____)

# Define a pattern to match lower cased word witch
pattern = [{"lower" : ____}]

# Add the pattern to matcher object and find matches
matcher.add("CustomMatcher", [____])
matches = matcher(____)

# Print start and end token indices and span of the matched text
for match_id, start, end in matches:
    print("Start token: ", ____, " | End token: ", ____, "| Matched text: ", doc[____:____].text)
Chỉnh sửa và Chạy Mã