Agenci konwersujący Anna Dwojak 13 marca 2007 na podstawie książki Daniel Jurafsky & James H. Martin “Speech and Language Processing” rozdział 19: “Dialogue.

1 Agenci konwersujący Anna Dwojak 13 marca 2007 na podsta...
Author: Michał Zawadzki
0 downloads 2 Views

1 Agenci konwersujący Anna Dwojak 13 marca 2007 na podstawie książki Daniel Jurafsky & James H. Martin “Speech and Language Processing” rozdział 19: “Dialogue and conversational agents”

2 Jedną z oznak człowieczeństwa jest język. Najwcześniejszym przejawem języka był język mówiony. Najczęstszą formą języka mówionego jest rozmowa, dialog. Jak waż ny jest dialog dla człowieka?

3 Aby człowiek mógł za pomocą naturalnej dla siebie rozmowy załatwiać sprawy z komputerem, tworzone są odpowiednie programy, które nazywane są: ● conversational agents ● spoken dialogue systems ● spoken language systems To, co ważne, chcemy zautomatyzować

4 Planowanie podróży. Zamawianie biletów. Przekierowywanie rozmów. Odpowiadanie na pytania, np o pogodę. Odpytywanie z wiedzy. Wiele, wiele innych... Zastosowania

5 Ludzka rozmowa jest skomplikowaną procedurą. Ma wiele specyficznych właściwości, które twórcy agentów konwersujących wykorzystują, aby ich programy działały bardziej naturalnie. Część pierwsza: Ludzka rozmowa

6 Rozmowa charakteryzuje się strukturą kolejkową. Raz mówi jedna osoba, raz druga itd. Skąd rozmówcy wiedzą, kto i dokładnie kiedy ma mówić? Przerwy między wypowiedziami są zbyt małe, by to one miały byc wyznacznikiem. W rozmowie są miejsca, gdzie inny rozmówca może przejąć kolejkę, tzw TRP (transition-relevance places). Kolejka w rozmowie

7 Zasady zmiany kolejki. W każdym TRP: 1.Jeżeli poprzedni rozmówca wyznaczył następcę, to on musi przejąć kolejkę. 2.Jeżeli poprzedni rozmówca nie wyznaczył nastepcy, każdy może przejąć kolejkę. 3.Jeżeli nikt nie przejmie kolejki, poprzedni rozmówca może mówić dalej. Kolejka w rozmowie

8 Zasada 1 często objawia się w postaci tzw adjacency pairs. Przykłady: pytanie – odpowiedź prośba – zgoda / odmowa propozycja – zgoda / odmowa przywitanie – przywitanie Istnieje również zjawisko significant silence, które oznacza nietypową ciszę pomiędzy zdaniami adjacency pairs. Kolejka w rozmowie

9 Wypowiedź może być traktowana jako pewnego rodzaju akcja, działanie. Niektóre wypowiedzi mają moc zmieniania stanu świata, są to tak zwane performative sentences. Na przykład: Nadaję ci imię Judyta. Zwalniam cię. Akty mowy

10 Wypowiedzenie zdania w konkretnej sytuacji może być różnego rodzaju działaniem: locutionary act: zdanie przynoszące informację, o pewnym ustalonym znaczeniu illocutiuonary act: zdania typu sugestia, ostrzeżenie, pytanie, propozycja, odpowiedź, obietnica perlocutionary act: wpływanie na emocje: rozbawianie, straszenie, perswazja Akty mowy

11 Common ground – pewien zbiór faktów, w które wierzą uczestnicy dialogu, które uznawane są za podstawę porozumienia. Principle of closure - rozmówcy potrzebują nawzajem potwierdzenia, że to, co chcieli osiągnąć swoją wypowiedzią, zostało osiągnięte – najczęściej, że zostali zrozumieni. Grounding

12 Każda wypowiedź ma dwie fazy: 1. Prezentacja 2. Akceptacja Człowiek czuje się zagubiony, jeśli rozmówca nie potwierdza zrozumienia. Grounding

13 Metody akceptacji wypowiedzi: okazywanie dalszej uwagi przejęcie kolejki i kontynuowanie tematu potwierdzenie (mhm, continuer, kiwanie głową) sprafrazowanie wypowiedzi lub jej uzupełnienie powtórzenie części lub całości wypowiedzi Grounding

14 Struktura rozpoczęcia rozmowy telefonicznej: 1.sygnał do rozpoczęcia rozmowy 2.identyfikacja 3.wyrażenie woli rozmowy 4.zgłoszenie tematu Rozpoczęcie rozmowy

15 Sygnałem do rozpoczęcia rozmowy najczęściej jest sam sygnał telefonu. Przyjęte jest, że pierwszy odzywa sie odbierający, ale dzwoniący zgłasza temat rozmowy. Dlatego agenci konwersujący przez telefon rozpoczynają zazwyczaj rozmowę zdaniem: “W czym mogę pomóc?” Rozpoczęcie rozmowy

16 Wnioskowanie pełni dużą rolę w algorytmach, które kierują dialogiem, ponieważ zdania w rozmowie nie zawsze znaczą to, co możnaby wyczytać tylko ze słów, z których się składają. Conversational implicature – odczytywanie znaczenia wypowiedzi na podstawie historii rozmowy, common grounds i pewnych założeń o dialogu w ogóle. Wnioskowanie w planowaniu rozmowy

17 1. Zasada ilości - niech twoja wypowiedź zawiera tyle informacji, ile jest potrzebne - niech twoja wypowiedź nie zawiera niepotrzebnych informacji 2. Zasada jakości - nie mów tego, co uważasz za nieprawdę - nie mów tego na co nie masz wystarczających dowodów 3. Zasada istotności - mów tylko to, co jest istotne 4. Zasada grzeczności - unikaj wulgaryzmów - unikaj dwuznaczności - bądź treściwy - bądź uporządkowany Wnioskowanie w planowaniu rozmowy

18 Systemy konwersujące używane współcześnie mają sześć komponentów, które po kolei omówimy. Część druga: Podstawowe systemy konwersujące

19 Architektura systemu konwersującego Speech Recognition Natural Language Understanding Text-to-Speech Synthesis Natural Language Generation Dialogue Manager Task Manager

20 System ASR (automatic speech recognition) przekształca plik dźwiękowy z wypowiedzią człowieka w tekst pisany. ASR jako część systemu konwersującego może być zoptymalizowany przy użyciu różnych informacji o dialogu. Automatyczne rozpoznawanie mowy

21 Jeżeli to, co może powiedzieć użytkownik jest mocno ograniczone (na przykład odpowiedź na pytanie) używamy: Dialogue-state-specific language model Restrictive grammars Finite state grammar Automatyczne rozpoznawanie mowy

22 Komponent NLU (natural language understanding) tworzy semantyczną reprezentację wypowiedzi. Automatyczne rozumienie języka naturalnego

23 Semantyka frame-and-slot – model semantyczny języka oparty na ramkach i polach do wypełnienia. Automatyczne rozumienie języka naturalnego SHOW: FLIGHTS: ORIGIN: CITY: Boston DATE: DAY-OF- WEEK: Tuesday TIME: PART- OF-DAY: morning DESTINY: CITY: San Francisco

24 Semantic grammar – prosta gramatyka stworzona dla konkretnej dziedziny, w której nazwy nieterminali są pewnymi klasami semantycznymi. Automatyczne rozumienie języka naturalnego SHOW- show me | can I see | I want DEPART_TIME_RANGE- (after | around | before) HOUR | morning | afternoon | evening HOUR- one | two | three... twelve (AMPM) FLIGHTS- (a) flight | flights AMPM- am | pm ORIGIN- from CITY DESTINATION- to CITY CITY- New York | Boston | Denver | Washington...

25 Problemy z semantic grammars: Są nieciągłe – dla lepszego rozpoznawania wypowiedzi dodaje się prawdpodobieństwa. Są tworzone przez człowieka – prawdopodobieństwa można odczytać z dużych korpusów. Automatyczne rozumienie języka naturalnego

26 HMM (Hidden Markow Model) dla rozpoznawania semantyki wypowiedzi – stanami są nazwy pól do wypełnienia (szukanych informacji) a obserwacjami – wypowiedziane słowa. Stan DUMMY odpowiada za słowa, które budują zdanie, ale nie dostarczają żadnej informacji. Automatyczne rozumienie języka naturalnego SHOW FLIGHT DUMMY ORIGIN DEST Show me flights that go from London to San Francisco.

27 HUM (hidden understanding model) – podejście do rozpoznawania znaczenia, które pozwala kategoriom semantycznym formować się w hierarchie i rekursje. Automatyczne rozumienie języka naturalnego Sho w me Atlan ta to Dalla s from203flight Unite d show flight number flight indi- cator airlin e name sho w indi- cator dest origin num- ber airline origi n indi- cator sho w indi- cator dest indi- cator city name city name nonterminal nodes terminal nodes words

28 Komponent Natural Language Generation planuje jak wyrazić słowami to, co należy przekazać użytkownikowi oraz jaka powinna być prozodia. Komponent TTS (text-to-speech) generuje dźwiękową wypowiedź na podstawie tekstu i planu prozodii. Generowanie języka naturalnego

29 Architektura systemu generującego: Generowanie języka naturalnego What to say? How to say it? Speech Synthesiz er Content Planner Proso dy Assig ner Senten ce Planne r Surfac e Realiz er

30 Content Planner decyduje jaką treść przekazać użytkownikowi. Często jest połączony z Dialog Manager. Sentence Planner buduje zdania. Surface Realizer sprawdza, czy zdanie jest zgodne z pewnymi więzami leksykalnymi i gramatycznymi. Prosody Assigner planuje prozodię zdań. Generowanie języka naturalnego

31 Dialogue Manager kontroluję całą strukturę dialogu. Ogólnie mówiąc, otrzymuje wejście od ASR/NLU, przetwarza je, dokonuje zmian w swoim stanie, wysyła wyjście do NLG/TTS. Znany program konwersujący ELIZA miał bardzo prosty algorytm Dialogue Manager – nie zachowywał żadnych informacji, aktualną wypowiedź przekształcał według kilku reguł i zwracał. Dialogue manager

32 FSA (finite-state automata) manager – stany FSA odpowiadają informacjom, jakie system chce uzyskać od użytkownika. Jeśli użytkownik powie coś nie na temat, jest to ignorowane. Dialogue manager Do you want to go from to on ? Is it a one way trip? What date do you want to leave? Where are you going? What city are you leaving from? What date do you want to return? Do you want to go from to on returning on ? Book flight YE S NO YE S NO

33 Single Initiative System – system, w którym dialogiem kieruje tylko jedna ze stron. System Initiative System – system kieruje dialogiem. User Initiative System – użytkownik kieruje dialogiem. Dialogue manager

34 Universal commands – aby nie ograniczać wypowiedzi użytkownika, wprowadza się komendy, które mogą pojawić się w dowolnym miejscu w dialogu (typu help, main menu, restart, correct) Mixed initiative – kontrola nad przebiegiem dialogu przechdzi od systemu do użytkownika i na odwrót. Dialogue manager

35 Frame-based Dialogue Manager – próbuje wypełnić wymagane pola przez zadawanie pytań, ale pozwala też użytkownikowi na samodzielne wypowiedzi i udzielanie informacji. Używa tzw open prompt i directive prompt, musi umieć przełączać się pomiędzy różnymi formularzami i rozpozanwać, które pola wypełnia dana wypowiedź użytkownika. Dialogue manager

36 Voice Extensible Markup Language jest opartym na XML-u językiem służącym do projektowania dialogu wypuszczonym przez W3C. Część trzecia: VoiceXML

37 I’m sorry, I didn’t hear you. I’m sorry, I didn’t understand that. Welcome to the air travel consultant. Which city do you want to leave from? [(san francisco) denver (new york) barcelona] OK, from And which city do you want to go to? [(san francisco) denver (new york) barcelona] OK, to And what date do you want to leave? OK, on OK, I have you are departing from to on send the info to book a flight...

38 Welcome to the air travel consultant. What are your travel plans? Which city do you want to leave from? OK, from And which city do you want to go to? OK, to OK, I have you are departing from to. send the info to book a flight...

39 Optymalny system konwersujący to taki, który maksymalizuje efekty (wykonane zadania) przy minimalizacji kosztów (błędów, czasu). Część czwarta: Ocena systemu konwersująceg o

40 Miara ukończonych zadań Ilość prawidłowo wypełnionych pól Ilość uzyskanych informacji Ilość wykonanych poprawnie podzadań Wyniki muszą zostać znormalizowane. Czasem lepszą miarą jakości systemu jest opinia użytkownika o powyższych ilościach niż ich rzeczywiste wartości.

41 Miara efektywności Czas przeznaczony na dialog Ilość kolejek Ilość kolejek przeznaczonych na poprawę błedów Ilość wykonanych zapytań

42 Miara jakości Ilość niezrozumianych przez ASR wypowiedzi Ilość koniecznych poprawek Ilość sytuacji, kiedy użytkownik odpowiadał zbyt wolno Stopień zrozumienia pomiędzy użytkownikiem a systemem (concept accuracy)

43 Zadowolenie użytkownika osiąga się poprzez maksymalizowanie pozytywnych miar, a minimalizowanie negatywnych. Powyższe miary odpowiednio się ze sobą kombinuje. Przeprowadzane są testy – użytkownicy po skorzystaniu z systemu wypełniają ankiety o swoich odczuciach co do ich właściwości. Zadowolenie klienta