Začněte nyníZačněte zdarma

Přiřazení rolí pomocí parseru spaCy

V tomto cvičení využiješ výkonný syntaktický parser spaCy k přiřazení rolí entitám ve zprávách uživatelů. Definuješ dvě funkce: find_parent_item() a assign_colors(). Při tom použiješ strom závislostí k přiřazení rolí – podobně jako to ve videu ukázal Alan.

Připomeňme, že k předkům slova se dostaneš přes atribut .ancestors.

Toto cvičení je součástí kurzu

Building Chatbots in Python

Zobrazit kurz

Pokyny k cvičení

  • Vytvoř dokument spacy s názvem doc tak, že předáš zprávu "let's see that jacket in red and some blue jeans" objektu nlp.
  • Ve funkci find_parent_item(word) iteruj přes ancestors každého word, dokud nenajdeš entitu s entity_type() rovným "item".
  • Ve funkci assign_colors(doc) iteruj přes doc, dokud nenajdeš entitu s entity_type rovným "color". Pak pro toto word najdi nadřazený prvek.
  • Předej dokument spacy do funkce assign_colors().

Interaktivní cvičení na vyzkoušení si v praxi

Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.

# Create the document
doc = ____

# Iterate over parents in parse tree until an item entity is found
def find_parent_item(word):
    # Iterate over the word's ancestors
    for parent in ____:
        # Check for an "item" entity
        if entity_type(____) == "____":
            return parent.text
    return None

# For all color entities, find their parent item
def assign_colors(doc):
    # Iterate over the document
    for word in ____:
        # Check for "color" entities
        if entity_type(word) == "____":
            # Find the parent
            item =  ____
            print("item: {0} has color : {1}".format(item, word))

# Assign the colors
____ 
Upravit a spustit kód