Chatbot z Pytonem : Interaktywna wizualizacja do analizy zależności

https://szkolazpieklarodem.pl/

Bardzo trudno jest zrozumieć koncepcję pełnej analizy zależności po raz pierwszy. spaCy zapewnia niezwykle łatwy i interaktywny sposób zrozumienia analizy zależności. spaCy v2.0+ posiada moduł wizualizacji, w którym możemy przekazać Doc lub listę obiektów Doc do displaCy i wywołać metodę serwowania displaCy w celu uruchomienia serwera WWW. Rysunek  pokazuje, jak interaktywna wizualizacja będzie wyglądać pod kątem analizy zależności.

Możesz także wygenerować wizualizację analizy zależności na rysunku 2-5. Aby utworzyć taką wizualizację, uruchom poniższy kod, a następnie przejdź do http://localhost:5000 w swojej przeglądarce. Spróbujmy zrobić wizualizację naszego przykładowego zadania i celu zadań.

from spacy import displacy

doc = nlp(u’Book a table at the restaurant and the taxi to the hotel’)

displacy.serve(doc, style=’dep’)

Uruchomienie tego kodu da wynik taki jak na rysunku . Jeśli otrzymasz coś podobnego, przejdź do innej karty przeglądarki i wpisz http://localhost:5000. Otrzymujemy wizualizację analizy zależności dla tego ciągu w kodzie

Weźmy jeszcze jeden przykład analizowania zależności, w którym zakładamy, że użytkownik zadaje następujące zdanie:

Jakie miejsca warto odwiedzić w Berlinie i zatrzymać się w Lubece?

Najpierw utworzymy obiekt dokumentu, jak pokazano tutaj:

doc = nlp(u”What are some places to visit in Berlin and stay in Lubeck”)

Teraz mamy miejsca, o których się mówi i działania, których chce użytkownik:

places = [doc[7], doc[11]] #[Berlin, Lubeck]

actions = [doc[5], doc[9]] #[visit, stay]

Ponieważ znasz już tagowanie POS i wyodrębnianie jednostek, możesz łatwo automatycznie uzyskać miejsca i działania. Teraz, gdy mamy już miejsca, przejrzyjmy każdego z jego przodków i sprawdźmy, czy w działaniach znaleziono jakichś przodków. Pierwszym rodzicem miejsca znajdującego się na liście akcji powinna być akcja dla danego miejsca.

for tok in place.ancestors:

if tok in actions:

print(“User is referring {} to {}”).format(place, tok)

break

Wyjście:

Użytkownik poleca: Berlin do odwiedzenia

Użytkownik poleca: Lubeka zostaje

Jak widać w tych przykładach, analiza zależności ułatwia zrozumienie, do czego odwołuje się użytkownik. Widzieliśmy, że również w przypadku dwóch różnych zadań możemy dość dokładnie określić oczekiwania i na tej podstawie sformułować kolejną odpowiedź.

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *