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ź.