1. Learn
  2. /
  3. Courses
  4. /
  5. Crearea chatboților în Python

Connected

Exercise

Negație de bază

Adesea, utilizatorii îți vor spune ce nu vor – și asta e important de înțeles! În general, negația este o problemă dificilă în procesarea limbajului natural. Aici vom folosi o abordare foarte simplă, care funcționează în multe cazuri.

A fost definită pentru tine o listă de teste numită tests. Explorează-o în Shell – vei observa că fiecare test este un tuplu format din:

  • Un șir de caractere care conține un mesaj cu entități.
  • Un dicționar cu entitățile drept chei și un Boolean care indică dacă acestea sunt negate sau nu.

Sarcina ta este să definești o funcție numită negated_ents(), care identifică entitățile negate dintr-un mesaj.

Instructions

100 XP
  • Folosind o listă comprehensivă, verifică dacă cuvintele "south" sau "north" apar în mesaj și extrage acele entități.
  • Împarte propoziția în fragmente care se termină cu fiecare entitate. Pentru aceasta:
    • Folosește metoda .index() a lui phrase pentru a găsi indexul de start al fiecărei entități e și adaugă lungimea entității pentru a determina indexul de sfârșit.
    • Pornind cu start=0, extrage secțiuni din șir de la start la end pentru fiecare end din ends. Adaugă fiecare secțiune la lista chunks. Asigură-te că actualizezi poziția de start la fiecare iterație.
  • Pentru fiecare entitate, dacă "not" sau "n't" apare în fragment, consideră entitatea respectivă negată.