MulaiMulai sekarang secara gratis

Pencocokan dengan sintaks diperluas di spaCy

Ekstraksi informasi berbasis aturan sangat penting untuk setiap pipeline NLP. Kelas Matcher memungkinkan pola menjadi lebih ekspresif dengan mengizinkan beberapa operator di dalam kurung kurawal. Operator ini digunakan untuk perbandingan yang diperluas dan mirip dengan operator Python seperti in, not in, dan operator perbandingan. Pada latihan ini, Anda akan berlatih menggunakan fungsionalitas pencocokan spaCy, yaitu Matcher, untuk menemukan kecocokan bagi istilah-istilah tertentu dari sebuah teks contoh.

Kelas Matcher sudah diimpor dari pustaka spacy.matcher. Anda akan menggunakan kontainer Doc dari teks contoh pada latihan ini dengan memanggil doc. Model spaCy yang sudah dimuat sebelumnya juga tersedia sebagai nlp.

Latihan ini adalah bagian dari kursus

Pemrosesan Bahasa Alami dengan spaCy

Lihat Kursus

Petunjuk latihan

  • Definisikan objek matcher menggunakan Matcher dan nlp.
  • Gunakan operator IN untuk mendefinisikan pola yang mencocokkan tiny squares dan tiny mouthful.
  • Gunakan pola ini untuk mencari kecocokan pada doc.
  • Cetak indeks token awal dan akhir serta rentang teks dari kecocokan tersebut.

Latihan interaktif praktis

Cobalah latihan ini dengan menyelesaikan kode contoh berikut.

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

# Define a matcher object
matcher = Matcher(nlp.____)
# Define a pattern to match tiny squares and tiny mouthful
pattern = [{"lower": ____}, {"lower": {____: ["squares", "mouthful"]}}]

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

# Print out start and end token indices and the matched text span per match
for match_id, start, end in matches:
    print("Start token: ", ____, " | End token: ", ____, "| Matched text: ", doc[____:____].text)
Edit dan Jalankan Kode