MulaiMulai sekarang secara gratis

RegEx dengan EntityRuler di spaCy

Regular expression, atau RegEx, digunakan untuk ekstraksi informasi berbasis aturan dengan pola pencocokan string yang kompleks. RegEx dapat digunakan untuk mengambil pola atau mengganti pola yang cocok dalam sebuah string dengan pola lain. Pada latihan ini, Anda akan berlatih menggunakan EntityRuler di spaCy untuk menemukan alamat email dalam text yang diberikan.

Paket spaCy sudah diimpor untuk Anda. Anda dapat menggunakan \d untuk mencocokkan pola string yang mewakili metakarakter yang cocok dengan digit apa pun dari 0 hingga 9.

Sebuah pola spaCy dapat menggunakan REGEX sebagai atribut. Dalam hal ini, polanya akan berbentuk [{"TEXT": {"REGEX": "<a given pattern>"}}].

Latihan ini adalah bagian dari kursus

Pemrosesan Bahasa Alami dengan spaCy

Lihat Kursus

Petunjuk latihan

  • Definisikan pola untuk mencocokkan nomor telepon dengan bentuk 8888888888 yang akan digunakan oleh EntityRuler.
  • Muat model bahasa Inggris spaCy kosong dan tambahkan komponen EntityRuler ke pipeline.
  • Tambahkan pola yang telah disusun ke komponen EntityRuler.
  • Jalankan model dan cetak tuple berisi teks dan tipe entitas untuk text yang diberikan.

Latihan interaktif praktis

Cobalah latihan ini dengan menyelesaikan kode contoh berikut.

text = "Our phone number is 4251234567."

# Define a pattern to match phone numbers
patterns = [{"label": "PHONE_NUMBERS", "pattern": [{"TEXT": {"REGEX": "(____){____}"}}]}]

# Load a blank model and add an EntityRuler
nlp = spacy.____("en")
ruler = nlp.____("entity_ruler")

# Add the compiled patterns to the EntityRuler
ruler.____(patterns)

# Print the tuple of entities texts and types for the given text
doc = ____(____)
print([(ent.____, ent.____) for ent in doc.____])
Edit dan Jalankan Kode