Rozpoznávání entit pomocí spaCy
V tomto cvičení použiješ vestavěný rozpoznávač entit knihovny spaCy k extrakci jmen, dat a organizací z vyhledávacích dotazů. Knihovna spaCy je již naimportována a její anglický model je načten jako nlp.
Tvým úkolem je definovat funkci extract_entities(), která přijímá jediný argument message a vrací slovník, jehož klíče jsou typy nalezených entit a hodnoty jsou extrahované entity. Zahrnuté typy entit jsou uloženy v seznamu include_entities.
Toto cvičení je součástí kurzu
Building Chatbots in Python
Pokyny k cvičení
- Vytvoř slovník
entspro ukládání entit volánímdict.fromkeys()s argumenteminclude_entities. - Vytvoř dokument spaCy s názvem
doctak, že předášmessageobjektunlp. - Iteruj přes entity v dokumentu (
doc.ents). - Zkontroluj, zda atribut
.label_dané entity patří mezi ty, které nás zajímají. Pokud ano, přiřaď atribut.textentity do příslušného klíče ve slovníkuents.
Interaktivní cvičení na vyzkoušení si v praxi
Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.
# Define included_entities
include_entities = ['DATE', 'ORG', 'PERSON']
# Define extract_entities()
def extract_entities(message):
# Create a dict to hold the entities
ents = ____
# Create a spacy document
doc = ____
for ent in ____:
if ____ in ____:
# Save interesting entities
ents[____] = ____
return ents
print(extract_entities('friends called Mary who have worked at Google since 2010'))
print(extract_entities('people who graduated from MIT in 1999'))