เริ่มต้นใช้งานเริ่มต้นใช้งานได้ฟรี

EntityRuler สำหรับ NER

EntityRuler สามารถใช้ร่วมกับ EntityRecognizer ของโมเดลที่มีอยู่แล้วเพื่อเพิ่มความแม่นยำได้ ในแบบฝึกหัดนี้ จะได้ฝึกนำ component EntityRuler มาใช้ร่วมกับ component NER ที่มีอยู่ในโมเดล en_core_web_sm โดยโมเดลถูกโหลดไว้แล้วในตัวแปร nlp

เมื่อเพิ่ม EntityRuler ไว้ก่อน component NER ตัว entity recognizer จะคำนึงถึง entity span ที่มีอยู่แล้ว และปรับการพยากรณ์โดยอิงตาม pattern ที่เพิ่มเข้าไปใน EntityRuler ซึ่งช่วยเพิ่มความแม่นยำของงาน named entity recognition

แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร

การประมวลผลภาษาธรรมชาติด้วย spaCy

ดูคอร์ส

คำแนะนำการฝึกหัด

  • เพิ่ม EntityRuler เข้าไปใน nlp ก่อน component ner
  • กำหนด token entity pattern เพื่อจัดประเภท new york group (ตัวพิมพ์เล็ก) เป็น ORG
  • เพิ่ม patterns เข้าไปใน component EntityRuler
  • รันโมเดลและพิมพ์ tuple ของข้อความและประเภท entity จาก Doc container

แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ

ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์

nlp = spacy.load("en_core_web_sm")
text = "New York Group was built in 1987."

# Add an EntityRuler to the nlp before NER component
ruler = nlp.____("entity_ruler", ____="ner")

# Define a pattern to classify lower cased new york group as ORG
patterns = [{"label": "ORG", "pattern": [{"lower": ____}]}]

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

# Run the model and print entities text and type for all the entities
doc = ____
print([(ent.____, ent.____) for ent in doc.____])
แก้ไขและรันโค้ด