Bird
Raised Fist0
ML Pythonml~10 mins

Named Entity Recognition basics in ML Python - Interactive Code Practice

Choose your learning style10 modes available
Practice - 5 Tasks
Answer the questions below
1fill in blank
easy

Complete the code to import the NER model from spaCy.

ML Python
import spacy
nlp = spacy.load('[1]')
Drag options to blanks, or click blank then click option'
Aner_model
Ben_core_web_sm
Ctext_classifier
Dtokenizer
Attempts:
3 left
💡 Hint
Common Mistakes
Using a model name that does not exist in spaCy.
Confusing NER model with tokenizer or text classifier.
2fill in blank
medium

Complete the code to extract named entities from the text.

ML Python
doc = nlp(text)
entities = [(ent.text, ent.[1]) for ent in doc.ents]
Drag options to blanks, or click blank then click option'
Acategory
Btype
Ctag
Dlabel_
Attempts:
3 left
💡 Hint
Common Mistakes
Using ent.type which does not exist.
Using ent.tag which is for part-of-speech tags.
3fill in blank
hard

Fix the error in the code to correctly print entity text and label.

ML Python
for ent in doc.ents:
    print(ent.text, ent.[1])
Drag options to blanks, or click blank then click option'
Aentity
Blabel
Clabel_
Dtext
Attempts:
3 left
💡 Hint
Common Mistakes
Using ent.label which returns an integer code, not the string.
Trying to print ent.entity which does not exist.
4fill in blank
hard

Fill both blanks to create a dictionary of entity texts and their labels.

ML Python
entity_dict = {ent.[1]: ent.[2] for ent in doc.ents}
Drag options to blanks, or click blank then click option'
Atext
Blabel_
Cstart_char
Dend_char
Attempts:
3 left
💡 Hint
Common Mistakes
Using character offsets instead of text or label.
Mixing up keys and values.
5fill in blank
hard

Fill all three blanks to filter entities with label 'PERSON' and get their texts.

ML Python
person_entities = [ent.[1] for ent in doc.ents if ent.[2] == '[3]']
Drag options to blanks, or click blank then click option'
Atext
Blabel_
CPERSON
Dent
Attempts:
3 left
💡 Hint
Common Mistakes
Using ent.label instead of ent.label_.
Comparing label to lowercase 'person' instead of uppercase 'PERSON'.

Practice

(1/5)
1. What is the main goal of Named Entity Recognition (NER) in text processing?
easy
A. To generate new sentences based on input
B. To find and label important words like names and places
C. To count the number of words in a sentence
D. To translate text from one language to another

Solution

  1. Step 1: Understand NER purpose

    NER is designed to identify and label entities such as names, places, and organizations in text.
  2. Step 2: Compare options

    Only To find and label important words like names and places describes this goal correctly; others describe different tasks like translation or counting.
  3. Final Answer:

    To find and label important words like names and places -> Option B
  4. Quick Check:

    NER = Label important words [OK]
Hint: NER labels names and places in text quickly [OK]
Common Mistakes:
  • Confusing NER with translation
  • Thinking NER counts words
  • Mixing NER with text generation
2. Which of the following is the correct way to label the entity 'London' as a location in a simple NER tagging scheme?
easy
A. London
B. LOC-London
C. [LOC]London[/LOC]
D. B-LOC

Solution

  1. Step 1: Recall common NER tagging formats

    NER often uses tags like B-LOC (Beginning of Location) and I-LOC (Inside Location) in BIO format.
  2. Step 2: Identify correct tag for 'London'

    Since 'London' is a single word entity, it is labeled as B-LOC to mark the start of a location entity.
  3. Final Answer:

    B-LOC -> Option D
  4. Quick Check:

    B-LOC tags start of location entity [OK]
Hint: Use B-LOC to mark start of location entity [OK]
Common Mistakes:
  • Using XML-like tags which are not standard in NER
  • Confusing bracket styles
  • Writing label after the word instead of before
3. Given this simple NER output for the sentence: ['John', 'B-PER'], ['lives', 'O'], ['in', 'O'], ['Paris', 'B-LOC'], what is the recognized entity?
medium
A. No entities recognized
B. John is a location, Paris is a person
C. John is a person, Paris is a location
D. John and Paris are both organizations

Solution

  1. Step 1: Interpret tags

    'B-PER' means beginning of a person entity, 'B-LOC' means beginning of a location entity, 'O' means outside any entity.
  2. Step 2: Map tags to words

    John is tagged as a person, Paris as a location, and 'lives' and 'in' are not entities.
  3. Final Answer:

    John is a person, Paris is a location -> Option C
  4. Quick Check:

    B-PER = person, B-LOC = location [OK]
Hint: B-PER means person, B-LOC means location [OK]
Common Mistakes:
  • Mixing up person and location tags
  • Ignoring 'O' tags as no entity
  • Assuming all words are entities
4. You have this NER tagging output: ['Apple', 'I-ORG'], ['is', 'O'], ['big', 'O']. What is the error in this tagging?
medium
A. 'Apple' should be tagged as B-ORG, not I-ORG
B. 'is' should be tagged as B-ORG
C. 'big' should be tagged as I-ORG
D. No error, tags are correct

Solution

  1. Step 1: Understand BIO tagging rules

    'B-' means beginning of an entity, 'I-' means inside an entity. The first word of an entity must be B- tag.
  2. Step 2: Check 'Apple' tag

    'Apple' is the first word of the organization entity, so it must be tagged B-ORG, not I-ORG.
  3. Final Answer:

    'Apple' should be tagged as B-ORG, not I-ORG -> Option A
  4. Quick Check:

    First entity word = B- tag [OK]
Hint: First entity word must use B- tag [OK]
Common Mistakes:
  • Tagging first entity word as I-
  • Tagging non-entity words as entities
  • Ignoring BIO format rules
5. You want to improve a simple NER model trained on a small dataset. Which approach is best to get better results on recognizing entities in new text?
hard
A. Use a pretrained NER model and fine-tune it on your data
B. Increase the number of epochs without changing the model
C. Remove all entity labels and train a new model from scratch
D. Use random labels to increase data size

Solution

  1. Step 1: Understand pretrained model benefits

    Pretrained NER models have learned from large data and generalize well to new text.
  2. Step 2: Fine-tuning improves performance

    Fine-tuning a pretrained model on your small dataset adapts it to your specific task and improves accuracy.
  3. Final Answer:

    Use a pretrained NER model and fine-tune it on your data -> Option A
  4. Quick Check:

    Pretrained + fine-tune = best for small data [OK]
Hint: Fine-tune pretrained models for best NER results [OK]
Common Mistakes:
  • Training from scratch on small data
  • Ignoring pretrained models
  • Using random labels that confuse training
Recommended

Ready to prove it?

Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

10 questions~5 mineasy hard