Compare commits

..

6 Commits

Author SHA1 Message Date
50103401ec Removed @ 2021-03-22 15:32:13 +01:00
b297cf6116 Translation edit 2021-03-22 15:27:49 +01:00
2b28cd6594 Deleted logging 2021-03-22 11:49:29 +01:00
809d543750 Prześlij pliki do '' 2021-03-20 18:19:09 +01:00
4d91de1539 Zaktualizuj 'README.md' 2021-03-20 18:14:54 +01:00
8909b77ee9 Eliza basic files 2021-03-20 18:07:03 +01:00
54 changed files with 579 additions and 2403 deletions

View File

@ -1,3 +0,0 @@
.gitignore
*.md
l08/

3
.gitignore vendored
View File

@ -1,3 +0,0 @@
__pycache__
*.log
*.ipynb

View File

@ -1,15 +0,0 @@
FROM jupyter/scipy-notebook:python-3.8.8
USER root
WORKDIR /usr/systemy
RUN mkdir -p l08 && cd l08 &&\
git clone https://github.com/thu-coai/ConvLab-2.git
RUN python -m pip install -e /usr/systemy/l08/ConvLab-2/
RUN python -m spacy download en_core_web_sm
RUN pip install pyjsgf==1.9.0
COPY . .
CMD jupyter-lab --allow-root

View File

@ -1,6 +0,0 @@
#JSGF V1.0 UTF-8 pl;
grammar ack;
public <ack> = <acks>;
<acks> = czy to wszystko | czy coś jeszcze | coś dodatkowo | coś dodatkowego | czy to wystarczająco | tyle wystarczy;

View File

@ -1,6 +0,0 @@
#JSGF V1.0 UTF-8 pl;
grammar affirm;
public <affirm> = <affirms>;
<affirms> = Zgadza się | chciałbym ją wypożyczyć | chciałabym ją wypożyczyć | To chciałabym ją zarezerować | To chciałbym ją zarezerować | Tak | Tak zgadza się | Poproszę;

View File

@ -1,6 +0,0 @@
#JSGF V1.0 UTF-8 pl;
grammar bye;
public <bye> = <byes>;
<byes> = to by było wszystko | Dziękuję bardzo za informację | Chyba wszytko już wiem | Dziękuję | Dziękujemy Życzymy miłej lektury | Dziękujemy i życzymy udanego czytania | W takim razie to wszystko skontaktuję się po zapoznaniu z regulaminem | Oczywiście czekam na kontakt;

View File

@ -1,39 +0,0 @@
#JSGF V1.0 UTF-8 pl;
grammar confirm;
public <potwierdzenie1> = Czy ta książka to <books> {books};
public <potwierdzenie2> = Czy ta książka to <book> <author>;
public <potwierdzenie3> = Ksiażka <books> {books} została wypożyczona;
public <potwierdzenie4> = Książka <books> {books} została zarezerwowana;
<book> = <books> {books};
<author> = <authors> {authors};
<books> = Bezsenność w Tokio | Sapiens Od zwierząt do bogów | 1Q84 | Zbrodnia i Kara |
Ojczyzna | Metro 2033 | Zwodniczy Punkt | Wywiad z wampirem | Wilkołak |
Ekstremista | Szóstka wron | Miasto z mgły | Zapis zarazy | Angst with happy ending |
Wiedźmin | Hobbit | Mitologia grecka i rzymska | Jak człowiek staje się mordercą |
Mroeczne archiwa | Alianci | Kuchnie świata | Kres czasów | Jak ocalić świat |
Mieszkaj boho | Potęga checklisty | Sen o okapi | ON | Przygody matematyka |
Dwanaście Stacji | Krew | Milczenie owiec | Duma i uprzedzenie | Władca Pierścieni |
Jane Eyre | Harry Potter i kamień filozoficzny | Zabić drozda | Wichrowe Wzgórza |
Rok 1984 | Mroczne materie | Wielkie nadzieje | Małe kobietki | Tessa D Urberville |
Paragraf 22 | Rebeka | Birdsong | Buszujący w zbożu | Żona podróżnika w czasie |
Miasteczko Middlemarch | Przeminęło z wiatrem | Wielki Gatsby | Samotnia |
Wojna i pokój | Autostopem przez Galaktykę | Znowu w Brideshead | Grona gniewu |
Alicja w Krainie Czarów | O czym szumią wierzby | Anna Karenina | David Copperfield |
Opowieści z Narnii | Emma | Perswazje | Lew Czarwnica i Stara Szafa;
<authors> = Marcin Bruczkowski | Harari Yuval Noah | Haruki Murakami | Fiodor Dostojewski |
Robert Anthony Salvatore | Dimitri Głuchowski | Dan Brown | Anna Rice |
Wojciech Chmielarz | Remigiusz Mróz | Leigh Bardugo | Carlos Ruiz Zafon |
Tomasz Budzyński | Weronika Łodyga | Andrzej Sapkowski | J R R Tolkien |
Katarzyna Marciniak | Richard Taylor | Megan Rosenbloom | Piotr Zychowicz |
Ewelina Podrez Siama | Marzena Rogalska | Bill Gates | Justina Blakeney |
Atul Gawande | Mariana Leky | Diana Brzezińska | Stanisław Ulam | Tomasz Różycki |
Max Czornyj | Thomas Harris | Jane Austen | J R R Tolkien | Charlotte Bronte |
J K Rowling | Harper Lee | Emily Bronte | George Orwell | Philip Pullman | Charles Dickens |
Louisa M Alcott | Thomas Hardy | Joseph Heller | Daphne Du Maurier | Sebastian Faulks | J D Salinger |
Audrey Niffenegger | George Eliot | Margaret Mitchell | F Scott Fitzgerald | Charles Dickens |
Leo Tolstoy | Douglas Adams | Evelyn Waugh | John Steinbeck | Lewis Carroll |Kenneth Grahame |
Leo Tolstoy | Charles Dickens | C S Lewis | Jane Austen | Jane Austen | C S Lewis;

View File

@ -1,6 +0,0 @@
#JSGF V1.0 UTF-8 pl;
grammar hello;
public <hello> = <hellos>;
<hellos> = Witam | Dzień dobry | Cześć | Siemka | Dobry wieczór | Hej | Hejka;

View File

@ -1,103 +0,0 @@
#JSGF V1.0 UTF-8 pl;
grammar inform;
public <inform1> = Książka jest dostępna całodobowo <location> {location}*;
public <inform2> = Książka <book> {book} jest dostępna w języku <langs>*;
public <inform3> = Dostępne są wydania z <editionyear> <editionyear> i <editionyear> roku*;
public <inform4> = <cost> {cost};
public <inform5> = Dostępna pozycja to <book> {book}*;
public <inform6> = <card> {card};
public <inform7> = Twoje aktywne wypożyczenia obejmują <number> {number} pozycji*;
public <inform8> = Pozycja <book> {book} jest dostępna <location> {location}*;
public <inform9> = Biblioteka otwarta jest <time> {time} <days> {days} a także <time> {time} w wersji online*;
public <inform10> = Zwroty możliwe są <time> {time} <days> {days} <location> {location}*;
public <inform11> = Ze względu na obowiązujące obostrzenia <status> {status} znajdujące się LINK*;
public <inform12> = Należy się skontaktować z <contact> {contact} lub udać się <location> {location} w celu dokonania rozliczenia*;
public <inform13> = W ciągu ostatnich 30 dni w zbiorach pojawiło się <new> {new}*;
public <inform14> = Twoja obecna historia wypożyczeń obejmuje <number> {number} pozycje Proponowana książka to <book> {book}*;
public <inform15> = W obecnych warunkach epidemiologicznych nie jest to możliwe wydania prowadzi tylko <location> {location}*;
public <inform16> = Obecny <overdue_books> {overdue_books}*;
public <inform17> = Nie <soon_overdue> {soon_overdue}*;
public <inform18> = <reservation> {reservation};
public <inform19> = <status> {status};
public <inform20> = W ciągu kolejnych 30 dni realizowane będą <events> {events}*;
public <inform21> = Wydarzenie będzie realizowane <location> {location} i rozpocznie się <time> {time}*;
public <inform22> = <card_number> {card_number};
public <inform23> = Polecane dla kategorii <category> {category} 1 <book> {book} 2 <book> {book} 3 <book> {book} 4 <book> {book} 5 <book> {book}*;
public <inform24> = <offer> {offer};
public <inform25> = <book_availability> {book_availability};
public <inform26> = 1 <book> {book} 2 <book> {book}*;
public <inform27> = <book> {book};
public <inform28> = <book_availability> {book_availability} <reservation> {reservation}*;
public <inform29> = <new_card> {new_card};
public <inform30> = Mój numer to <card_number> {card_number}*;
public <inform31> = Aktualnie w bibliotece znajduje się 1450 książek z gatunku <category> {category} Możemy polecić następujące książki <book> {book} <book> {book} <book> {book}*;
public <inform32> = Godziny otwarcia biblioteki <days> {days} <time> {time} oraz <days> {days} <time> {time}*;
public <inform33> = <ebook> {ebook};
public <inform34> = <book_limit> {book_limit};
public <inform35> = <penalty_cost> {penalty_cost};
public <inform36> = <lost_card> {lost_card};
public <inform37> = <card_block> {card_block};
public <inform38> = <stolen_card> {stolen_card};
public <inform39> = Posiadamy wszystkie dzieła <author> {author}*;
public <inform40> = <renew_book> {renew_book};
public <inform41> = <days> {days};
public <inform42> = <book> {book} <book> {book} <book> {book};
public <inform43> = <time> {time};
public <inform44> = <summary> {summary};
public <inform45> = Na podstawie wcześniej przeczytanych przez Ciebie lektur polecam książkę <book> {book}*;
public <inform46> = Polecam książkę <book> {book}*;
public <inform47> = Nasza placówka <location> {location}*;
public <inform48> = Godziny otwarcia <time> {time}*;
public <inform49> = Najczęściej wypożyczanym <category> {category} jest książka <book> {book}*;
public <inform50> = <name> {name} <date_of_birth> {date_of_birth}*;
public <inform51> = <create_an_account> {create_an_account};
public <inform52> = <new_account> {new_account};
<langs> = <lang> {lang};
<editions> = <edition> {edition};
<location> = w wypozyczalni online pod adresem LINK | na ulicy Targowej 10 | w głównym punkcie wypożyczeń | w zbiorach online | w filii głównej na ulicy Targowej 10 | do budynku filii głównej | filia główna | pod adresem LINK | za pośrednictwem platformy YouTube pod linkiem LINK | w Poznaniu znajduje się przy ul Bibliotecznej 28 | pod linkiem wwwbibliotekapl;
<edition> = z wydawnictwa Mg | Warszawa 1990;
<lang> = Polskim;
<editionyear> = 2000 | 2012 | 2015;
<cost> = 0 zł 0 gr | 20 groszy;
<book> = <title> {title} <author> {author} | <author> {author} <title> {title} | <title> {title} <author> {author} | <title> {tilte} | <author> {author} | <title> {title} autorstwa <author> {author};
<title> = Mistrz i Małgorzata | Owoce wiśni | Wywiad z wampirem | Morderstwo w Orient Expressie | Księżniczka z lodu | Sprawa Niny Frank | Wszystko czerwone | Zły | Ślepowidzenie | Echopraksja | Stacja Centralna | Problem Trzech Ciał | Kantyczka dla Leibowitza | Walter M Miller | Systemy Dialogowe w Pigułce | Ogniem i Mieczem | książka X | książka Y | książka Z | Zatracenie | Krótka historia czasu | Orwell 1984 | Kafka | Nudna książka 1 | Bardzo ciekawa książka 1 | Bardzo ciekawa książka 2 | Krzyżacy | Krew elfów | Zabić drozda | Zabiłem;
<author> = Dostojewski F | Dazai O | Rice A | Agatha Christie | Camilla Läckberg | Katarzyna Bonda | Joanna Chmielewska | Leopold Tyrmand | Peter Watts | Peter Watts | Lavie Tidhar | Cixin Liu | Adama Kowalskiego | Sienkiewicza | Osamu Dazai | Stephen Hawking | Murakami'ego | Haruki Murakami | Henryk Sienkiewicz | Andrzej Sapkowski | Harper Lee | Jan Kowalski;
<card> = Formularz karty bibliotecznej znajduje się pod adresem LINK konieczne jest także zaakceptowanie regulaminu pod adresem LINK Odbiór możlwy jest po 7 dniach na ulicy Targowej 10 w godzinach 9-16 | Karta będzie dostępna <date> {date} <location> {location} <time> {time} <location> {location};
<date> = <day> {day} <month> {month} <year> {year} | <day> {day} <month> {month} <year> {year} roku | <day> {day}<month> {month}<year> {year};
<day> = 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31;
<month> = stycznia | styczeń | lutego | luty | marca | marzec | kwietnia | kwiecień | maja | maj | czerwca | czerwiec | lipca | lipec | sierpnia | sierpień | września | wrzesień | października | październik | listopada | listopad | grudnia | grudzień;
<year> = 1980 | 1981 | 1982 | 1983 | 1984 | 1985 | 1986 | 1987 | 1988 | 1989 | 1990 | 1991 | 1992 | 1993 | 1994 | 1995 | 1996 | 1997 | 1998 | 1999 | 2000 | 2001 | 2002 | 2003 | 2004 | 2005 | 2006 | 2007 | 2008 | 2009 | 2010 | 2011 | 2012 | 2013 | 2014 | 2015 | 2016 | 2017 | 2018 | 2019 | 2020 | 2021 | 80 | 81 | 82 | 83 | 84 | 85 | 86 | 87 | 88 | 89 | 90 | 91 | 92 | 93 | 94 | 95 | 96 | 97 | 98 | 99 | 00 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21;
<time> = w godzinach 9-17 | całodobowo | w godzinach 9-16 | o godzinie 1330 | od 800 do 1730 | od godziny 800 do godziny 1400 | <number> {number} | <days> {days} 830-1830 <days> {days} 1100-1900 <days> {days} nieczynne | do godziny 2200;
<number> = 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 214 | 48 | 121212 | VI;
<days> = od poniedziałku do soboty | w dni robocze | w soboty | o <number> {number} | o <number> {number} dni | Poniedziałek-Piątek | Sobota | Niedziela;
<status> = aktywne są tylko zasoby online | Zasoby online są dostępne <location> {location} | Obecnie <late> {late} | Masz jedną nieoddaną książkę <book> {book} | Sygnatura <number> {number}<number> {number}| Zwrot <date> {date} <time> {time};
<contact> = referentem filii głównej pod numerem XXX-XXX-XXX | Jak dotąd wypożyczyłeś tylko jedną książkę - <book> {book} Zachęcamy do częstszego korzystania z naszych usług;
<new> = <number> {number} pozycji fizycznych i <number> {number} pozycji dostępnych online;
<overdue_books> = stan przekroczonych terminów oddania wynosi <number> {number};
<soon_overdue> = brak zaległości;
<reservation> = Rezerwacja została poprawnie <cancel> {cancel} | Książki <book> {book} <book> {book} zostały zarezerwowane Rezerwacja jest ważna przez 48 godzin zaczynając od momentu jej złożenia | Książka została wypożyczona | Książka została zarezerwowana i będzie do odbioru w następny dzień roboczy Proszę pamiętać że brak odbioru książki do 7 dni roboczych prowadzi do utraty rezerwacji;
<cancel> = anulowana;
<events> = <event> {event} (<date> {date}) <event> {event} (<date> {date});
<event> = płocki dzień historii tańca ludowego | dzień młodego czytelnika;
<card_number> = 123123 | 1234567 | 123456 | XXX-XXXX-XXX | 200130 | 6758396 | 12345 | 123456789 | 1256;
<offer> = Wszystkie propozycje w oparciu o historię wypożyczeń;
<book_availability> = Aktualnie dostępnych jest <number> {number} egzemplarzy tej książki | Tak aktualnie znajduje się <number> {number} książek <book> {book} | Obecnie jest dostępnych <number> {number} książek <book> {book} | <book> {book} wydane do 2020 roku;
<category> = kryminał | science-fiction | fantastyka | kryminałem;
<late> = nie posiadasz niezwróconych w terminie książek;
<new_card> = Do założenia karty bibliotecznej konieczne jest wypełnienie karty zapisu i zapoznanie się z regulaminem;
<ebook> = Tak istnieje taka możliwość;
<book_limit> = Limit wypożyczonych książek to <number> {number};
<penalty_cost> = Każdy dzień spóźnienia to kara <cost> {cost} za książkę;
<lost_card> = W celu wyrobienia nowej karty i zablokowania starej należy udać się stacjonarnie do naszej biblioteki;
<card_block> = Niestety ale nie ma możliwości zablokowania karty przez internet;
<stolen_card> = Aktualnie karta znajduje się w stanie zastrzeżonym aby wypożyczyć książkę będzie trzeba potwierdzić jej odbiór kodem SMS;
<renew_book> = Proszę podać o ile dni ma zostać przedłużona książka nie może być to jednak czas dłuższy niż 21 dni | Książka <book> {book} została przedłużona <days> {days} obecny termin zwrotu wypada <date> {date};
<summary> = Książka <book> {book} została przedłużona <days> {days} obecny termin zwrotu wypada <date> {date};
<date_of_birth> = 1998;
<name> = Piotr Kopycki;
<create_an_account> = Do założenia karty bibliotecznej konieczne jest wypełnienie karty zapisu i zapoznanie się z regulaminem które znajdują się <location> {location} | Kartę zapisu można wypełnić przez internet Następnie należy udać się do naszej placówki w celu odebrania dokumentu Wymagany będzie dowód osobisty lub legitymacja studencka;
<new_account> = Gdy dokument będzie gotowy otrzyma Pan powiadomienie na podany w formularzy adres email Maksymalny czas oczekiwania to 5 dni roboczych;

View File

@ -1,7 +0,0 @@
#JSGF V1.0 UTF-8 pl;
grammar negate;
public <negate> = Nie <negates>;
<negates> = wolno | można | chcę | chce | odpowiada mi | pasuję mi | pasuje mi | mogę | podam;
public <negate_empty> = Nie;

View File

@ -1,22 +0,0 @@
#JSGF V1.0 UTF-8 pl;
grammar reqmore;
public <reqmore1> = Czy dostępna jest <lang> {lang} oraz <edition> {edition}*;
public <reqmore2> = <edition> {edition};
public <reqmore3> = <cost> {cost} tej książki*;
public <reqmore4> = Czy w ostatnim czasie <new> {new}*;
public <reqmore5> = Jaki jest <title> {title} <author> {author} i <year> {year} książki*;
public <reqmore6> = Czy możesz powiedzieć mi coś więcej o <event> {event}*;
public <reqmore7> = Proszę podać <book> {book}*;
public <reqmore8> = Czy mogę jeszcze jakoś pomóc;
<lang> = wyłącznie polska wersja językowa;
<edition> = jakiego wydawnictwa | czy to jedyne wydanie;
<cost> = ile wynosi koszt wypożyczenia;
<new> = doszły jakieś nowe pozycje;
<title> = tytuł;
<author> = autor;
<year>= rok wydania;
<event> = dniu młodego czytelnika;
<book> = o jaką książkę chodzi;

View File

@ -1,96 +0,0 @@
#JSGF V1.0 UTF-8 pl;
grammar request;
public <wypozyczenie1> = wypożyczenie książki <books> {books}*;
public <wypozyczenie2> = interesuje mnie wypożyczenie <books> {books}*;
public <wypozyczenie3> = interesuje mnie wypożyczenie książkę <books> {books}*;
public <wypozyczenie4> = chciałbym wypożyczyć <books> {books}*;
public <wypozyczenie5> = chciałbym wypożyczyć <books> {books} <authors> {authors}*;
public <wypozyczenie6> = chciałabym wypożyczyć <books> {books}*;
public <wypozyczenie7> = chciałabym wypożyczyć <books> {books} <authors> {authors}*;
public <wypozyczenie8> = chciałabym wypożyczyć książkę <books> {books}*;
public <wypozyczenie9> = chciałabym wypożyczyć książkę <books> {books} <authors> {authors}*;
public <wypozyczenie10> = interesuje mnie wypożyczenie <books> {books} <authors> {authors}*;
public <wypozyczenie11> = interesuje mnie wypożyczenie <books> {books}*;
public <wypozyczenie12> = interesuje mnie wypożyczenie książkę <books> {books} <authors> {authors}*;
public <wypozyczenie13> = interesuje mnie wypożyczenie książkę <books> {books}*;
public <status1> = Czy książka <books> {books} jest dostępna*;
public <status2> = Czy książka <books> {books} <authors> {authors} jest dostępna*;
public <status3> = Dzień dobry Czy ksiażka <books> {books} jest dostępna*;
public <status4> = Dzień dobry Czy książka <books> {books} <authors> {authors} jest dostępna*;
public <status5> = Witam Czy ksiażka <books> {books} jest dostępna*;
public <status6> = Witam Czy książka <books> {books} <authors> {authors} jest dostępna*;
public <status7> = Chciałbym się upewnić czy książka <books> {books} jest dostępna*;
public <status8> = Chciałbym się upewnić czy książka <books> {books} <authors> {authors} jest dostępna*;
public <status9> = Chciałabym się upewnić czy książka <books> {books} jest dostępna*;
public <status10> = Chciałabym się upewnić czy książka <books> {books} <authors> {authors} jest dostępna*;
public <status11> = Czy biblioteka jest <status> {status}*;
public <status12> = Czy biblioteka jest teraz <status> {status}*;
public <status13> = Czy biblioteka jest <status> {status} w czasie pandemii*;
public <status14> = Czy czytelnia jest <status> {status}*;
public <status15> = Czy czytelnia jest teraz <status> {status}*;
public <status16> = Czy biblioteka jest <status> {status} w czasie pandemii*;
public <status17> = Jakie są dostępne gatunki <genres> {genres}*;
public <status18> = Jakie są dostępne wydania <editions> {editions}*;
public <zwrot1> = Chcę zwrócić <books> {books}*;
public <zwrot2> = Chcę zwrócić <books> {books} <authors> {authors}*;
public <zwrot3> = Chciałbym zwrócić <books> {books}*;
public <zwrot4> = Chciałbym zwrócić <books> {books} <authors> {authors}*;
public <zwrot5> = Chciałabym zwrócić <books> {books}*;
public <zwrot6> = Chciałabym zwrócić <books> {books} <authors> {authors}*;
public <rezerwacja1> = Chciałbym zarezerwować <books> {books}*;
public <rezerwacja2> = Chciałabym zarezerwować <books> {books}*;
public <rezerwacja3> = Chciałbym dokonać rezerwacji książki <books> {books}*;
public <rezerwacja4> = Chciałabym dokonać rezerwacji ksiązki <books> {books}*;
<books> = Bezsenność w Tokio | Sapiens Od zwierząt do bogów | 1Q84 | Zbrodnia i Kara |
Ojczyzna | Metro 2033 | Zwodniczy Punkt | Wywiad z wampirem | Wilkołak |
Ekstremista | Szóstka wron | Miasto z mgły | Zapis zarazy | Angst with happy ending |
Wiedźmin | Hobbit | Mitologia grecka i rzymska | Jak człowiek staje się mordercą |
Mroeczne archiwa | Alianci | Kuchnie świata | Kres czasów | Jak ocalić świat |
Mieszkaj boho | Potęga checklisty | Sen o okapi | ON | Przygody matematyka |
Dwanaście Stacji | Krew | Milczenie owiec | Duma i uprzedzenie | Władca Pierścieni |
Jane Eyre | Harry Potter i kamień filozoficzny | Zabić drozda | Wichrowe Wzgórza |
Rok 1984 | Mroczne materie | Wielkie nadzieje | Małe kobietki | Tessa D Urberville |
Paragraf 22 | Rebeka | Birdsong | Buszujący w zbożu | Żona podróżnika w czasie |
Miasteczko Middlemarch | Przeminęło z wiatrem | Wielki Gatsby | Samotnia |
Wojna i pokój | Autostopem przez Galaktykę | Znowu w Brideshead | Grona gniewu |
Alicja w Krainie Czarów | O czym szumią wierzby | Anna Karenina | David Copperfield |
Opowieści z Narnii | Emma | Perswazje | Lew Czarwnica i Stara Szafa;
<authors> = Marcin Bruczkowski | Harari Yuval Noah | Haruki Murakami | Fiodor Dostojewski |
Robert Anthony Salvatore | Dimitri Głuchowski | Dan Brown | Anna Rice |
Wojciech Chmielarz | Remigiusz Mróz | Leigh Bardugo | Carlos Ruiz Zafon |
Tomasz Budzyński | Weronika Łodyga | Andrzej Sapkowski | J R R Tolkien |
Katarzyna Marciniak | Richard Taylor | Megan Rosenbloom | Piotr Zychowicz |
Ewelina Podrez Siama | Marzena Rogalska | Bill Gates | Justina Blakeney |
Atul Gawande | Mariana Leky | Diana Brzezińska | Stanisław Ulam | Tomasz Różycki |
Max Czornyj | Thomas Harris | Jane Austen | J R R Tolkien | Charlotte Bronte |
J K Rowling | Harper Lee | Emily Bronte | George Orwell | Philip Pullman | Charles Dickens |
Louisa M Alcott | Thomas Hardy | Joseph Heller | Daphne Du Maurier | Sebastian Faulks | J D Salinger |
Audrey Niffenegger | George Eliot | Margaret Mitchell | F Scott Fitzgerald | Charles Dickens |
Leo Tolstoy | Douglas Adams | Evelyn Waugh | John Steinbeck | Lewis Carroll |Kenneth Grahame |
Leo Tolstoy | Charles Dickens | C S Lewis | Jane Austen | Jane Austen | C S Lewis;
<status> = otwarta | zamknięta | otwarta w czasie pandemii | zamknięta do odwołania;
<genres> = romans | thriller | ksiazka fantasy | horror | biografia | science fiction | dramat |
powiesc | basn | satyra | legenda | liryka | opowiadanie | komedia | epika | poezja |
literatura piekna;
<editions> = 1993 | 1994 | 1995 | 1996 | 1997 | 1998 | 1999 | 2000 | 2001 | 2002 |2003 |
2004 | 2005 | 2000;

View File

@ -1,6 +0,0 @@
#JSGF V1.0 UTF-8 pl;
grammar thankyou;
public <thankyou> = <thanks>;
<thanks> = Dziękuję to wszystko | To by było wszystko | Ok dziękuje | Dziękuję | Dziękuję bardzo | Dzięki | dziękuję za rozmowę | Dziękuję za informację;

View File

@ -1,369 +0,0 @@
from convlab2.dst.dst import DST
from convlab2.dst.rule.multiwoz.dst_util import normalize_value
from collections import defaultdict
from convlab2.policy.policy import Policy
from convlab2.util.multiwoz.dbquery import Database
from convlab2.util.multiwoz.multiwoz_slot_trans import REF_SYS_DA, REF_USR_DA
import copy
from copy import deepcopy
import json
import os
import jsgf
# Natural Language Understanding
class NLU:
def __init__(self):
self.grammars = [
jsgf.parse_grammar_file(f"JSGFs/{file_name}")
for file_name in os.listdir("JSGFs")
]
def get_dialog_act(self, rule):
slots = []
self.get_slots(rule.expansion, slots)
return {"act": rule.grammar.name, "slots": slots}
def get_slots(self, expansion, slots):
if expansion.tag != "":
slots.append((expansion.tag, expansion.current_match))
return
for child in expansion.children:
self.get_slots(child, slots)
if not expansion.children and isinstance(expansion, jsgf.NamedRuleRef):
self.get_slots(expansion.referenced_rule.expansion, slots)
def match(self, utterance):
list_of_illegal_character = [",", ".", "'", "?", "!", ":", "-", "/"]
for illegal_character in list_of_illegal_character[:-2]:
utterance = utterance.replace(f"{illegal_character}", "")
for illegal_character in list_of_illegal_character[-2:]:
utterance = utterance.replace(f"{illegal_character}", " ")
for grammar in self.grammars:
matched = grammar.find_matching_rules(utterance)
if matched:
return self.get_dialog_act(matched[0])
return {"act": "null", "slots": []}
class DP(Policy):
def __init__(self):
Policy.__init__(self)
self.db = Database()
def predict(self, state):
self.results = []
system_action = defaultdict(list)
user_action = defaultdict(list)
for intent, domain, slot, value in state["user_action"]:
user_action[(domain, intent)].append((slot, value))
for user_act in user_action:
self.update_system_action(user_act, user_action, state, system_action)
system_acts = [
[intent, domain, slot, value]
for (domain, intent), slots in system_action.items()
for slot, value in slots
]
state["system_action"] = system_acts
return system_acts
def update_system_action(self, user_act, user_action, state, system_action):
domain, intent = user_act
constraints = [
(slot, value)
for slot, value in state["belief_state"][domain.lower()]["semi"].items()
if value != ""
]
self.db.dbs = {
"books": [
{
"author": "autor",
"title": "krew",
"edition": "2020",
"lang": "polski",
},
{
"author": "Marcin Bruczkowski",
"title": "Bezsenność w Tokio",
"genre": "reportaż",
"publisher": "Społeczny Instytut Wydawniczy Znak",
"edition": "2004",
"lang": "polski",
},
{
"author": "Harari Yuval Noah",
"title": "Sapiens Od zwierząt do bogów",
"edition": "2011",
"lang": "polski",
},
{
"author": "Haruki Murakami",
"title": "1Q84",
"edition": "2009",
"lang": "polski",
},
{
"author": "Fiodor Dostojewski",
"title": "Zbrodnia i Kara",
"publisher": "Wydawnictwo Mg",
"edition": "2015",
"lang": "polski",
},
]
}
self.results = deepcopy(self.db.query(domain.lower(), constraints))
# Reguła 1
if intent == "Request":
if len(self.results) == 0:
system_action[(domain, "NoOffer")] = []
else:
for slot in user_action[user_act]:
kb_slot_name = REF_USR_DA[domain].get(slot[0], slot[0])
if kb_slot_name in self.results[0]:
system_action[(domain, "Inform")].append(
[slot[0], self.results[0].get(kb_slot_name, "unknown")]
)
# Reguła 2
elif intent == "Inform":
if len(self.results) == 0:
system_action[(domain, "NoOffer")] = []
else:
system_action[(domain, "Inform")].append(
["Choice", str(len(self.results))]
)
choice = self.results[0]
if domain in ["Book"]:
system_action[(domain, "Recommend")].append(
["Title", choice["title"]]
)
# Dialogue State Tracker
class SDST(DST):
def __init__(self):
DST.__init__(self)
self.state = {
"user_action": [],
"system_action": [],
"belief_state": {
"books": {
"reserve": {"reservation": []},
"semi": {
"title": "",
"author": "",
"genre": "",
"publisher": "",
"edition": "",
"lang": "",
},
},
"library": {
"semi": {
"location": "",
"status": "",
"events": "",
"days": "",
"phone number": "",
}
},
"card": {"semi": {"lost": "", "destroyed": "", "new": ""}},
"date": {"semi": {"day": "", "month": "", "year": ""}},
},
"request_state": {
"reserve": {"reservation": []},
},
"reqmore_state": {
"books": {
"reserve": {"reservation": []},
"semi": {
"title": "",
"author": "",
"genre": "",
"publisher": "",
"edition": "",
"lang": "",
},
},
"library": {
"semi": {
"location": "",
"status": "",
"events": "",
"days": "",
"phone number": "",
}
},
"card": {"semi": {"lost": "", "destroyed": "", "new": ""}},
"date": {"semi": {"day": "", "month": "", "year": ""}},
},
"terminated": False,
"history": [],
}
self.ref = {
"Books": {
"Title": "title",
"Author": "author",
"Genre": "genre",
"Publisher": "publisher",
"Edition": "edition",
"Lang": "lang",
"None": "none",
},
"Library": {
"Location": "location",
"Status": "status",
"Events": "events",
"Days": "days",
"Phone number": "phone number",
"None": "none",
},
"Card": {
"Lost": "lost",
"Destroyed": "destroyed",
"New": "new",
"None": "none",
},
"Date": {"Day": "day", "Month": "month", "Year": "year", "None": "none"},
}
self.value_dict = json.load(open("value_dict.json"))
def update(self, user_act=None):
for intent, domain, slot, value in user_act:
domain = domain.lower()
intent = intent.lower()
if domain in ["bye", "thankyou", "hello"]:
continue
if intent == "inform":
k = self.ref[domain.capitalize()].get(slot, slot)
if k is None:
continue
domain_dic = self.state["belief_state"][domain]
if k in domain_dic["semi"]:
nvalue = normalize_value(self.value_dict, domain, k, value)
self.state["belief_state"][domain]["semi"][k] = value
elif k in domain_dic["books"]:
self.state["belief_state"][domain]["books"][k] = value
elif k.lower() in domain_dic["books"]:
self.state["belief_state"][domain]["books"][k.lower()] = value
elif intent == "request":
k = self.ref[domain.capitalize()].get(slot, slot)
if k is None:
continue
if domain not in self.state["request_state"]:
self.state["request_state"][domain] = {}
self.state["request_state"]["reserve"]["reservation"].append(value)
else:
if (
value
not in self.state["request_state"]["reserve"]["reservation"]
):
self.state["request_state"]["reserve"]["reservation"].append(
value
)
if k not in self.state["request_state"][domain]:
self.state["request_state"][domain][k] = value
else:
self.state["request_state"][domain][k] = value
self.state["history"].append(
self.state["request_state"]["reserve"]["reservation"][-1]
)
elif intent == "reqmore":
k = self.ref[domain.capitalize()].get(slot, slot)
if k is None:
continue
domain_dic = self.state["reqmore_state"][domain]
if k in domain_dic["semi"]:
nvalue = normalize_value(self.value_dict, domain, k, value)
self.state["reqmore_state"][domain]["semi"][k] = value
elif k in domain_dic["books"]:
self.state["reqmore_state"][domain]["books"][k] = value
elif k.lower() in domain_dic["books"]:
self.state["reqmore_state"][domain]["books"][k.lower()] = value
elif intent == "negate":
try:
self.state["request_state"]["reserve"]["reservation"].remove(
self.state["history"][-1]
)
except Exception:
pass
elif intent == "affirm":
self.state["belief_state"]["books"]["reserve"][
"reservation"
] = self.state["request_state"]["reserve"]["reservation"]
else:
continue
return self.state
def init_session(self):
self.state = self.state
# Natural Language Generator
class NLG:
def __init__(self, acts, arguments):
self.acts = acts
self.arguments = arguments
def vectorToText(self, actVector):
if actVector == [0, 0]:
return "Witaj, nazywam się Mateusz."
else:
return "Przykro mi, nie zrozumiałem Cię"
class Run:
def __init__(self):
self.acts = {
0: "hello",
1: "request",
}
self.arguments = {0: "name"}
self.nlu = NLU()
self.dp = DP(self.acts, self.arguments)
self.nlg = NLG(self.acts, self.arguments)
self.dst = DST(self.acts, self.arguments)
def inputProcessing(self, command):
act = self.nlu.analyze(command)
self.dst.store(act)
basic_act = self.dp.tacticChoice(self.dst.transfer())
return self.nlg.vectorToText(basic_act)
# run = Run()
# while(1):
# message = input("Napisz coś: ")
# print(run.inputProcessing(message))

View File

@ -1,524 +0,0 @@
{
"cells": [
{
"cell_type": "code",
"execution_count": 1,
"id": "3a05341a",
"metadata": {},
"outputs": [],
"source": [
"import random"
]
},
{
"cell_type": "code",
"execution_count": 12,
"id": "b073e4a5",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"'Dzień dobry, w czym mogę pomóc?'"
]
},
"execution_count": 12,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"#######################Hello#################################\n",
"def nlg(system_act):\n",
" domain, intent, slot, value = system_act\n",
"\n",
" if intent == 'Hello':\n",
" r = random.randint(1, 7)\n",
"\n",
" if r == 1:\n",
" return 'Dzień dobry, witam w interaktywnej bibliotece'\n",
" elif r == 2:\n",
" return 'Witam w interaktywnej biblitece'\n",
" elif r==3:\n",
" return 'Dzień dobry, w czym mogę pomóc?'\n",
" elif r==4:\n",
" return 'Dzień dobry'\n",
" \n",
" elif r==5:\n",
" return 'Cześć'\n",
" elif r==6:\n",
" return 'Witamy w interaktywnej bibliotece'\n",
" else:\n",
" return 'Witam w interaktywnej bibliotece książnicy płockiej, jak mogę pomóc?'\n",
"\n",
"\n",
"nlg(['', 'Hello', '', ''])"
]
},
{
"cell_type": "code",
"execution_count": 3,
"id": "2dd476eb",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Dzień promowania czytelnictwa.\n",
"W przypadku zgubienia karty fakt ten można zgłosić w głównej filii biblioteki\n"
]
}
],
"source": [
"############################Inform#################################\n",
"def nlg(system_act):\n",
" domain, intent, slot, value = system_act\n",
"\n",
" if domain == 'books' and intent == 'Inform' and slot == 'title':\n",
" if value == 0:\n",
" return f'Wybrana pozycja nie jest dostępna.'\n",
" elif value == 1:\n",
" return f'Wybrana pozycja jest dostępna.'\n",
" else:\n",
" return f'Wybrana pozycja nie jest obecnie dostępna'\n",
" \n",
" if domain == 'books' and intent == 'Inform' and slot == 'publisher':\n",
" if value == 0:\n",
" return f'Książka tego wydawcy jest dostępna'\n",
" elif value == 1:\n",
" return f'Książka tego wydawcy nie jest dostępna'\n",
" else:\n",
" return f'Nie znaleziono wydawcy o tej nazwie'\n",
" \n",
" if domain == 'books' and intent == 'Inform' and slot == 'author':\n",
" if value == 0:\n",
" return f'Książka tego autora nie jest dostępna'\n",
" elif value == 1:\n",
" return f'Książki tego autora są dostępne w bibliotece'\n",
" else:\n",
" return f'Nie znaleziono autora o tym imieniu i nazwisku'\n",
" \n",
" \n",
" if domain == 'library' and intent == 'Inform' and slot == 'status':\n",
" if value == 0:\n",
" return f'Biblioteka jest zmaknięta.'\n",
" elif value == test0:\n",
" return f'Biblioteka jest otwarta.'\n",
" else:\n",
" return f'Biblioteka jest zamknięta do odwołania'\n",
" \n",
" if domain == 'library' and intent == 'Inform' and slot == 'location':\n",
" if value == 0:\n",
" return f'Biblioteka znajduje się na ul. Targowej 10.'\n",
" else:\n",
" return f'Biblioteka znajduje się na ul. Targowej 10.'\n",
" \n",
" if domain == 'library' and intent == 'Inform' and slot == 'days':\n",
" if value == 0:\n",
" return f'Biblioteka jest otwarta od poniedziałku do piątku.'\n",
" else:\n",
" return f'Biblioteka jest otwarta w dni robocze.'\n",
" \n",
" if domain == 'library' and intent == 'Inform' and slot == 'phone number':\n",
" r = random.randint(1, 4)\n",
" if r == 1:\n",
" return '514 312 231'\n",
" elif r == 2:\n",
" return '123 987 231'\n",
" elif r==3:\n",
" return '432 112 453'\n",
" else:\n",
" return 'Telefony dostępne są na głównej stronie biblioteki'\n",
" \n",
" if domain == 'library' and intent == 'Inform' and slot == 'events':\n",
" r = random.randint(1, 4)\n",
" if r == 1:\n",
" return 'Dzień młodego czytelnika.'\n",
" elif r == 2:\n",
" return 'Dzień fantastyki.'\n",
" elif r==3:\n",
" return 'Dzień promowania czytelnictwa.'\n",
" else:\n",
" return 'Obecnie nie ma żadnych wydarzeń.'\n",
" \n",
" if domain == 'card' and intent == 'Inform' and slot == 'lost':\n",
" if value == 0:\n",
" return f'W przypadku zgubienia karty należy zgłosić ten fakt dzwoniąc pod numer 513 231 211'\n",
" else:\n",
" return f'W przypadku zgubienia karty fakt ten można zgłosić w głównej filii biblioteki'\n",
" \n",
" if domain == 'card' and intent == 'Inform' and slot == 'destroyed':\n",
" if value == 0:\n",
" return f'W przypadku zniszczenia karty bibliotecznej konieczne jest dokonanie zgłoszenia pod numerem 513 231 211'\n",
" else:\n",
" return f'Zgłoszenie zniszczenia karty bibliotecznej może zostać dokonane w filii głównej biblioteki.'\n",
" \n",
" if domain == 'library' and intent == 'Inform' and slot == 'new':\n",
" if value == 0:\n",
" return f'Żeby wyrobić kartę konieczne jest wypełnienie formularza i akceptacja regulaminu'\n",
" else:\n",
" return f'Wyrobienie karty jest możliwe przez stronę internetową albo osobiście w głównej filii biblioteki'\n",
" \n",
" \n",
"print(nlg(['library', 'Inform', 'events', '']))\n",
"print(nlg(['card', 'Inform', 'lost', '']))"
]
},
{
"cell_type": "code",
"execution_count": 4,
"id": "2067e38b",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Czy ta książka to Bezsenność w Tokio?\n",
"Czy autor to Haruki Murakami?\n"
]
}
],
"source": [
"#######################Confirm#############################\n",
"def nlg(system_act):\n",
" domain, intent, slot, value = system_act\n",
" test0 = \"Bezsenność w Tokio\"\n",
" test1 = \"Haruki Murakami\"\n",
"\n",
" if domain == 'books' and intent == 'Confirm' and slot == 'title':\n",
" if value == 0:\n",
" return f'Nie znalazłem książki o tym tytule.'\n",
" elif value == test0:\n",
" return f'Czy ta książka to {value}?'\n",
" else:\n",
" return f'Książka o tym tytule nie została znaleziona. Proszę podać więcej informacji.'\n",
" \n",
" if domain == 'books' and intent == 'Confirm' and slot == 'author':\n",
" if value == 0:\n",
" return f'Nie znalazłem książki tego autora.'\n",
" elif value == test1:\n",
" return f'Czy autor to {value}?'\n",
" else:\n",
" return f'Ksiązka tego autora nie została znaleziona. Proszę podać więcej informacji.'\n",
" \n",
" if domain == 'reservation' and intent == 'Confirm':\n",
" r = random.randint(1, 3)\n",
" if r==1:\n",
" return 'Książka została zarezerwowana i będzie do odbioru w następny dzień roboczy. Proszę pamiętać, że brak odbioru książki do 7 dni roboczych prowadzi do utraty rezerwacji.'\n",
" elif r==2:\n",
" return 'Możesz zarezerwować tę pozycję. Będzie czekać na Ciebie w naszej placówce przez następnych 5 dni roboczych.'\n",
" elif r==3:\n",
" return 'Książka została wypożyczona'\n",
" \n",
" if intent == 'Confirm' and domain == '' and slot == '':\n",
" return 'Tak'\n",
" \n",
" \n",
"print(nlg(['books', 'Confirm', 'title', 'Bezsenność w Tokio']))\n",
"print(nlg(['books', 'Confirm', 'author', 'Haruki Murakami']))"
]
},
{
"cell_type": "code",
"execution_count": 5,
"id": "c5aa0a54",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Tak, to będzie wszystko\n",
"Tak, to wszystko\n"
]
}
],
"source": [
"#########################Affirm###############################\n",
"def nlg(system_act):\n",
" domain, intent, slot, value = system_act\n",
"\n",
" if domain=='books' and intent == 'Affirm':\n",
" r = random.randint(1, 6)\n",
"\n",
" if r == 1:\n",
" return 'Zgadza się'\n",
" elif r == 2:\n",
" return 'Książka została wypożczyona'\n",
" elif r==3:\n",
" return 'Tak, zgadza się - książka została dodana do konta'\n",
" elif r==4:\n",
" return 'Tak, to będzie wszystko'\n",
" elif r==5:\n",
" return 'Tak, książka została wypożyczona poprawnie'\n",
" else:\n",
" return 'Tak'\n",
" \n",
" if domain=='card' and intent == 'Affirm':\n",
" r = random.randint(1, 4)\n",
"\n",
" if r == 1:\n",
" return 'Po spełnieniu warunków karta zostanie założona'\n",
" elif r == 2:\n",
" return 'Tak, to wszystko w zakresie założenia karty'\n",
" elif r==3:\n",
" return 'Tak, to będzie wszystko'\n",
" else:\n",
" return 'Tak, to wszystko'\n",
" \n",
" if intent=='Affirm' and domain=='create_an_account':\n",
" return 'Tak, poproszę'\n",
" \n",
" if intent=='Affirm':\n",
" r = random.randint(1, 4)\n",
" if r==1:\n",
" return 'Zgadza się'\n",
" if r==2:\n",
" return 'Tak'\n",
" \n",
"\n",
"print(nlg(['books', 'Affirm', '', '']))\n",
"print(nlg(['card', 'Affirm','','']))"
]
},
{
"cell_type": "code",
"execution_count": 6,
"id": "c5b9028d",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"'Dziękuję i życzę miłej lektury'"
]
},
"execution_count": 8,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"#######################Bye#################################\n",
"def nlg(system_act):\n",
" domain, intent, slot, value = system_act\n",
"\n",
" if intent == 'Bye':\n",
" r = random.randint(1, 4)\n",
"\n",
" if r == 1:\n",
" return 'Do zobaczenia'\n",
" elif r == 2:\n",
" return 'Do napisania'\n",
" elif r==3:\n",
" return 'Do widzenia'\n",
" else:\n",
" return 'Dziękuję i życzę miłej lektury'\n",
"\n",
"\n",
"nlg(['Books', 'Bye', '', ''])\n"
]
},
{
"cell_type": "code",
"execution_count": 7,
"id": "22b38fb4",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"'Bardzo dziękuję za informację. Wszystko już wiem'"
]
},
"execution_count": 9,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"#######################Thankyou#################################\n",
"def nlg(system_act):\n",
" domain, intent, slot, value = system_act\n",
"\n",
" if intent == 'Thankyou':\n",
" r = random.randint(1, 10)\n",
"\n",
" if r == 1:\n",
" return 'Dziękuję'\n",
" elif r == 2:\n",
" return 'Dziękuję, to wszystko'\n",
" elif r==3:\n",
" return 'Ok, dziękuję'\n",
" elif r==4:\n",
" return 'Dziękuję, to będzie wszystko'\n",
" elif r==5:\n",
" return 'Dobrze. Dziękuję za rozmowę'\n",
" elif r==6:\n",
" return 'Dziękuję za informację'\n",
" elif r==7:\n",
" return 'To by było wszystko'\n",
" elif r==8:\n",
" return 'Bardzo dziękuję za informację. Wszystko już wiem'\n",
" elif r==9:\n",
" return 'Dziękuję za pomoc'\n",
" elif r==10:\n",
" return 'Dobrze, dziękuję za rozmowę'\n",
" else:\n",
" return 'Dziękuję bardzo'\n",
"\n",
"\n",
"nlg(['', 'Thankyou', '', ''])"
]
},
{
"cell_type": "code",
"execution_count": 8,
"id": "3caff585",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Chciałbym założyć kartę biblioteczną\n",
"Czy książka Owoce wiśni Osamu Dazai, znajduje się w bibliotece w formie ebooka?\n",
"Chciałabym zwrócić książkę Kafka Haruki Murakami\n",
"Chciałbym wypożyczyć książkę\n",
"Chciałbym anulować rezerwację książki\n"
]
}
],
"source": [
"#######################Request#############################\n",
"def nlg(system_act):\n",
" domain, intent, slot, value = system_act\n",
" \n",
" if intent == 'Request':\n",
"\n",
" if domain == 'card':\n",
" return 'Chciałbym założyć kartę biblioteczną'\n",
" \n",
" if domain=='card_number':\n",
" r = random.randint(1,2)\n",
" if r==1:\n",
" return 'Proszę o podanie numeru karty bibliotecznej'\n",
" elif r==2:\n",
" return 'Proszę podać numer karty bibliotecznej'\n",
" \n",
" if domain == 'new_card':\n",
" return 'Chciałbym założyć kartę biblioteczną, jak to zrobić?'\n",
" \n",
" if domain == 'signature':\n",
" return 'Proszę podać sygnaturę ksiązki'\n",
" \n",
" if domain == 'penalty_cost':\n",
" return 'Jaka jest kara za przekroczenie terminu zwrotu?'\n",
"\n",
" if domain == 'status':\n",
" r = random.randint(1,5)\n",
" if r==1:\n",
" return 'Chciałbym sprawdzić wypożyczone książki'\n",
" elif r==2:\n",
" return 'Czy czytelnia funkcjonuje podczas pandemii?'\n",
" elif r==3:\n",
" return 'Chciałbym sprawdzić czy mam jakieś książki do oddania'\n",
" elif r==4:\n",
" return 'Chciałbym sprawdzić najbliższy termin zwrotu'\n",
" elif r==5:\n",
" return 'Chciałabym sprawdzić, czy mam jakieś wypożyczone książki'\n",
"\n",
" if domain == 'books':\n",
" return f'Czy książka {value}, znajduje się w bibliotece w formie ebooka?'\n",
"\n",
" if domain == 'book':\n",
" r = random.randint(1,5)\n",
" if r==1:\n",
" return f'Chciałabym wypożyczyć książkę {value}'\n",
" elif r==2:\n",
" return 'Proszę podać tytuł i autora pozycji'\n",
" elif r==3:\n",
" return f'Czy posiadacie książke {value}?'\n",
" elif r==4:\n",
" return 'Proszę podać tytuł i autora wybranej pozycji'\n",
" elif r==5:\n",
" return 'Proszę podać tytuł i autora wybranej książki'\n",
"\n",
" if domain == 'time':\n",
" r = random.randint(1,3)\n",
" if r==1:\n",
" return 'W jakich godzinach jest otwarta biblioteka?'\n",
" elif r==2:\n",
" return 'W jakich godzinach macie otwarte?'\n",
" elif r==3:\n",
" return 'Skąd będę wiedział kiedy moge to odebrać?'\n",
" \n",
" if domain == 'location':\n",
" return 'Można odebrać ją w innej filli biblioteki?'\n",
"\n",
" if domain == 'return':\n",
" return f'Chciałabym zwrócić książkę {value}'\n",
"\n",
" if domain == 'reservation':\n",
" r = random.randint(1,2)\n",
" if slot=='cancel':\n",
" return 'Chciałbym anulować rezerwację książki'\n",
" if r==1:\n",
" return f'Chciałbym zarezerwować książkę {value}'\n",
" elif r==2:\n",
" return 'Chciałbym wypożyczyć książkę'\n",
"\n",
" if domain == 'overdue_books':\n",
" return 'Mam jakieś książki które mają przekroczony termin oddania?'\n",
"\n",
" if domain == 'soon_overdue':\n",
" return f'Czy zbliża mi się termin oddania książki?'\n",
"\n",
" if domain == 'online_library':\n",
" return 'Jak mogę uzyskać dostęp do zasobów online?'\n",
"\n",
" if domain == 'events':\n",
" return 'Jakie wydarzenia odbywają się w najbliższym czasie w bibliotece?'\n",
" \n",
" if domain=='action':\n",
" if slot=='wypozyczenie':\n",
" return 'Chciałbym wypożyczyć jeden egzemplarz'\n",
" elif slot=='reservation':\n",
" return 'Chciałbym zarezerwować wszystkie części tego cyklu'\n",
" elif slot == 'status':\n",
" return 'Chciałbym sprawdzić listę obecnie wypożyczonych książek'\n",
"\n",
" \n",
" \n",
"print(nlg(['card', 'Request', '', '']))\n",
"print(nlg(['books', 'Request', '', 'Owoce wiśni Osamu Dazai']))\n",
"print(nlg(['return', 'Request', '', 'Kafka Haruki Murakami']))\n",
"print(nlg(['reservation', 'Request', '', 'Kafka Haruki Murakami']))\n",
"print(nlg(['reservation', 'Request', 'cancel', '']))"
]
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.8.8"
}
},
"nbformat": 4,
"nbformat_minor": 5
}

View File

@ -1,2 +1,2 @@
# telegram-bot-systemy-dialogowe # telegram-bot-systemy-dialogowe
Wersja webowa: https://eliza-bot-uam.herokuapp.com/

View File

@ -1,16 +0,0 @@
user Witam hello()
system Witam w interaktywnej bibliotece książnicy płockiej, jak mogę pomóc? hello()
user Dzień dobry, interesuje mnie wypożyczenie książki zbrodnia i kara request(book=Zbrodnia i kara)
system Czy ta książka to Dostojewski F., Zbrodnia i kara? confirm(book=Zbrodnia i Kara, Dostojewski F.)
user Zgadza się. Czy jest ona u państwa dostępna? affirm()&request(status=Zbrodnia i kara)
system Książka jest dostępna całodobowo w wypozyczalni online pod adresem: LINK inform(location)
user Dziękuję. Czy dostępna jest wyłącznie polska wersja językowa? oraz jakiego wydawnictwa? reqmore(lang & edition)
system Książka z wydawnictwa Mg jest dostępna w języku: Polskim inform(book=lang & book=edition)
user czy to jedyne wydanie? reqmore(book=editions)
system Dostępne są wydania z 2000, 2012 i 2015 roku inform(editions=2000 2012 2015)
user ile wynosi koszt wypożyczenia tej książki? reqmore(cost)
system 0 zł 0 gr inform(cost=0)
user Jakie jeszcze książki o podobnej tematyce<opitional: tego autora> są dostępne w systemie? reqalts(book)
system Dostępna pozycja to: Mistrz i Małgorzata, Dostojewski F. inform(book=Mistrz i Małgorzata Dostojewski F.
user Dziękuję, to wszystko thankyou()
system Dziękuję. thankyou()
1 user Witam hello()
2 system Witam w interaktywnej bibliotece książnicy płockiej, jak mogę pomóc? hello()
3 user Dzień dobry, interesuje mnie wypożyczenie książki zbrodnia i kara request(book=Zbrodnia i kara)
4 system Czy ta książka to Dostojewski F., Zbrodnia i kara? confirm(book=Zbrodnia i Kara, Dostojewski F.)
5 user Zgadza się. Czy jest ona u państwa dostępna? affirm()&request(status=Zbrodnia i kara)
6 system Książka jest dostępna całodobowo w wypozyczalni online pod adresem: LINK inform(location)
7 user Dziękuję. Czy dostępna jest wyłącznie polska wersja językowa? oraz jakiego wydawnictwa? reqmore(lang & edition)
8 system Książka z wydawnictwa Mg jest dostępna w języku: Polskim inform(book=lang & book=edition)
9 user czy to jedyne wydanie? reqmore(book=editions)
10 system Dostępne są wydania z 2000, 2012 i 2015 roku inform(editions=2000 2012 2015)
11 user ile wynosi koszt wypożyczenia tej książki? reqmore(cost)
12 system 0 zł 0 gr inform(cost=0)
13 user Jakie jeszcze książki o podobnej tematyce<opitional: tego autora> są dostępne w systemie? reqalts(book)
14 system Dostępna pozycja to: Mistrz i Małgorzata, Dostojewski F. inform(book=Mistrz i Małgorzata Dostojewski F.
15 user Dziękuję, to wszystko thankyou()
16 system Dziękuję. thankyou()

View File

@ -1,6 +0,0 @@
user Witam, chciałbym założyć kartę biblioteczną. hello() & request(card)
system Formularz karty bibliotecznej znajduje się pod adresem: LINK, konieczne jest także zaakceptowanie regulaminu pod adresem: LINK. Odbiór możlwy jest po 7 dniach na ulicy Targowej 10, w godzinach 9-16. inform(card)
user Wypełniłem, czy to wszystko? ack()
system Karta będzie dostępna 6 marca 2021 na ulicy Targowej 10 w godzinach 9-17 w głównym punkcie wypożyczeń. inform(card)
user Ok dziękuję thankyou()
system Dziękuję thankyou()
1 user Witam, chciałbym założyć kartę biblioteczną. hello() & request(card)
2 system Formularz karty bibliotecznej znajduje się pod adresem: LINK, konieczne jest także zaakceptowanie regulaminu pod adresem: LINK. Odbiór możlwy jest po 7 dniach na ulicy Targowej 10, w godzinach 9-16. inform(card)
3 user Wypełniłem, czy to wszystko? ack()
4 system Karta będzie dostępna 6 marca 2021 na ulicy Targowej 10 w godzinach 9-17 w głównym punkcie wypożyczeń. inform(card)
5 user Ok dziękuję thankyou()
6 system Dziękuję thankyou()

View File

@ -1,14 +0,0 @@
user Dzień dobry hello()
system Witam w interaktywnej bibliotece książnicy płockiej, w czym mogę pomóc? hello()
user Chciałbym sprawdzić wypożyczone książki? request(status)
system Twoje aktywne wypożyczenia obejmują: 0 pozycji. inform(status)
user Czy książka Owoce wiśni autorstwa Osamu Dazai, znajduje się w bibliotece w formie ebooka? request(books=Owoce wiśni Osamu Dazai)
system Pozycja Dazai O., Owoce wiśni jest dostępna w zbiorach online. inform(book=Owoce wiśni Osamu D.)
user chciałbym ją wypożyczyć affirm()
system Książka została wypożyczona. Odbiór możliwy jest w filii głównej na ulicy Targowej 10, w godzinach 9-17. confirm(book=Owoce wiśni Osamu D.)&inform()
user To chyba pomyłka. Chciałem wypożyczyć książkę online restart()
system Wypożyczenie zostało anulowane. Katalog online dostępny jest pod adresem: LINK confirm(book=Owoce wiśni Osamu D.)&inform()
user chciałbym ją wypożyczyć affirm
system Książka została wypożyczona, materiały w formie online dostępne są pod adresem: LINK. W zakładce moje konto>czytane pozycje confirm(book=Owoce wiśni Osamu D.)&inform()
user Dziękuję thankyou()
system Dziękuję thankyou()
1 user Dzień dobry hello()
2 system Witam w interaktywnej bibliotece książnicy płockiej, w czym mogę pomóc? hello()
3 user Chciałbym sprawdzić wypożyczone książki? request(status)
4 system Twoje aktywne wypożyczenia obejmują: 0 pozycji. inform(status)
5 user Czy książka Owoce wiśni autorstwa Osamu Dazai, znajduje się w bibliotece w formie ebooka? request(books=Owoce wiśni Osamu Dazai)
6 system Pozycja Dazai O., Owoce wiśni jest dostępna w zbiorach online. inform(book=Owoce wiśni Osamu D.)
7 user chciałbym ją wypożyczyć affirm()
8 system Książka została wypożyczona. Odbiór możliwy jest w filii głównej na ulicy Targowej 10, w godzinach 9-17. confirm(book=Owoce wiśni Osamu D.)&inform()
9 user To chyba pomyłka. Chciałem wypożyczyć książkę online restart()
10 system Wypożyczenie zostało anulowane. Katalog online dostępny jest pod adresem: LINK confirm(book=Owoce wiśni Osamu D.)&inform()
11 user chciałbym ją wypożyczyć affirm
12 system Książka została wypożyczona, materiały w formie online dostępne są pod adresem: LINK. W zakładce moje konto>czytane pozycje confirm(book=Owoce wiśni Osamu D.)&inform()
13 user Dziękuję thankyou()
14 system Dziękuję thankyou()

View File

@ -1,18 +0,0 @@
user Cześć hello()
system Witam w interaktywnej bibliotece książnicy płockiej, w czym mogę pomóc? hello()
user W jakich godzinach jest otwarta biblioteka? request(time)
system Biblioteka otwarta jest w godzinach 9-17, od poniedziałku do soboty, a także całodobowo w wersji online. inform(time)
user Chciałabym zwrócić książkę Kafka Haruki Murakami request(return=Kafka Murakami H.)
system Czy ta pozycja to: Murakami H., Kafka nad morzem, Warszawa 2003? confirm(book=Kafka Murakami H.)
user owszem ack()
system Zwroty możliwe są w godzinach 9-16 od poniedziałku do soboty w filii głównej na ulicy Targowej 10. inform(time)&inform(location)
user Czy czytelnia funkcjonuje podczas pandemii? request(status)
system Ze względu na obowiązujące obostrzenia aktywne są tylko zasoby online znajdujące się: LINK. inform(status)
user Zgubiłam książkę, co robić help(book_lost)
system Należy się skontaktować z referentem filii głównej pod numerem: XXX-XXX-XXX lub udać się do budynku filii głównej w celu dokonania rozliczenia. inform(contact)&inform(location)
user Czy w ostatnim czasie doszły jakieś nowe pozycje? reqmoore(new)
system W ciągu ostatnich 30 dni w zbiorach pojawiło się: 214 pozycji fizycznych i 48 pozycji dostępnych online. inform(new)
user Czy są jakieś rekomendacje książek na bazie czytanych przeze mnie gatunków? reqalts(book)
system Twoja obecna historia wypożyczeń obejmuje: 3 pozycje. Proponowana książka to: Rice A., Wywiad z wampirem, Warszawa 1990. inform(book= Wywiad z wampirem, Rice A.)
user To chciałabym ją zarezerowwać affirm()
system Książka Rice A., Wywiad z wampirem, Warszawa 1990, została zarezerwowana. Odbiór możliwy jest od poniedziałku do soboty w godzinach 9-17 na ulicy Targowej 10. confirm(book=Wywiad z wampirem, Rice A.)
1 user Cześć hello()
2 system Witam w interaktywnej bibliotece książnicy płockiej, w czym mogę pomóc? hello()
3 user W jakich godzinach jest otwarta biblioteka? request(time)
4 system Biblioteka otwarta jest w godzinach 9-17, od poniedziałku do soboty, a także całodobowo w wersji online. inform(time)
5 user Chciałabym zwrócić książkę Kafka Haruki Murakami request(return=Kafka Murakami H.)
6 system Czy ta pozycja to: Murakami H., Kafka nad morzem, Warszawa 2003? confirm(book=Kafka Murakami H.)
7 user owszem ack()
8 system Zwroty możliwe są w godzinach 9-16 od poniedziałku do soboty w filii głównej na ulicy Targowej 10. inform(time)&inform(location)
9 user Czy czytelnia funkcjonuje podczas pandemii? request(status)
10 system Ze względu na obowiązujące obostrzenia aktywne są tylko zasoby online znajdujące się: LINK. inform(status)
11 user Zgubiłam książkę, co robić help(book_lost)
12 system Należy się skontaktować z referentem filii głównej pod numerem: XXX-XXX-XXX lub udać się do budynku filii głównej w celu dokonania rozliczenia. inform(contact)&inform(location)
13 user Czy w ostatnim czasie doszły jakieś nowe pozycje? reqmoore(new)
14 system W ciągu ostatnich 30 dni w zbiorach pojawiło się: 214 pozycji fizycznych i 48 pozycji dostępnych online. inform(new)
15 user Czy są jakieś rekomendacje książek na bazie czytanych przeze mnie gatunków? reqalts(book)
16 system Twoja obecna historia wypożyczeń obejmuje: 3 pozycje. Proponowana książka to: Rice A., Wywiad z wampirem, Warszawa 1990. inform(book= Wywiad z wampirem, Rice A.)
17 user To chciałabym ją zarezerowwać affirm()
18 system Książka Rice A., Wywiad z wampirem, Warszawa 1990, została zarezerwowana. Odbiór możliwy jest od poniedziałku do soboty w godzinach 9-17 na ulicy Targowej 10. confirm(book=Wywiad z wampirem, Rice A.)

View File

@ -1,17 +0,0 @@
user Cześć hello()
system Witam w interaktywnej bibliotece Książnicy płockiej, w czym mogę pomóc? hello()
user W jakich godzinach macie otwarte? request(time)
system Biblioteka otwarta jest w godzinach 9-17, od poniedziałku do soboty, a także całodobowo w wersji online. inform(time)
user Chciałbym zarezerwować książkę request(reservation)
system Jaki jest tytuł, autor i rok wydania książki? reqmore(author&title)
user Polska odwraca oczy Kopińska request(Polska odwraca oczy Kopińska)
system Czy ta pozycja to: Kopińska J., Polska odwraca oczy? confirm(book = Polska odwraca oczy, Kopińska J.,)
user tak affirm()
system Potwierdzam rezerwację. Książka dostępna jest w filii głównej na ulicy Targowej 10. confim(Polska odwraca oczy, Kopińska J.,)
user Można odebrać ją w innej filli biblioteki? request(location)
system W obecnych warunkach epidemiologicznych nie jest to możliwe, wydania prowadzi tylko filia główna. inform(location)
user Mam jakieś książki które mają przekroczony termin oddania? request(overdue_books)
system Obecny stan przekroczonych terminów oddania wynosi: 0 inform(overdue_books)
user A jakieś się zbliżają? request(soon_overdue)
system Nie, brak zaległości. inform(soon_overdue)
user to by było wszystko bye()
1 user Cześć hello()
2 system Witam w interaktywnej bibliotece Książnicy płockiej, w czym mogę pomóc? hello()
3 user W jakich godzinach macie otwarte? request(time)
4 system Biblioteka otwarta jest w godzinach 9-17, od poniedziałku do soboty, a także całodobowo w wersji online. inform(time)
5 user Chciałbym zarezerwować książkę request(reservation)
6 system Jaki jest tytuł, autor i rok wydania książki? reqmore(author&title)
7 user Polska odwraca oczy Kopińska request(Polska odwraca oczy Kopińska)
8 system Czy ta pozycja to: Kopińska J., Polska odwraca oczy? confirm(book = Polska odwraca oczy, Kopińska J.,)
9 user tak affirm()
10 system Potwierdzam rezerwację. Książka dostępna jest w filii głównej na ulicy Targowej 10. confim(Polska odwraca oczy, Kopińska J.,)
11 user Można odebrać ją w innej filli biblioteki? request(location)
12 system W obecnych warunkach epidemiologicznych nie jest to możliwe, wydania prowadzi tylko filia główna. inform(location)
13 user Mam jakieś książki które mają przekroczony termin oddania? request(overdue_books)
14 system Obecny stan przekroczonych terminów oddania wynosi: 0 inform(overdue_books)
15 user A jakieś się zbliżają? request(soon_overdue)
16 system Nie, brak zaległości. inform(soon_overdue)
17 user to by było wszystko bye()

View File

@ -1,7 +0,0 @@
user Cześć operatorze hello()
system Witam w interaktywnej bibliotece książnicy płockiej, jak mogę pomóc? hello()
user Chciałbym anulować rezerwację książki request(reservation=cancel)
system Jaki jest tytuł i numer książki? request(book=title & number)
user Tytuł: Nudna książka 1 nr 123456789 confirm(book=Nudna książka 1 nr 123456789)
system Rezerwacja została poprawnie anulowana. inform(reservation=cancel)
user Dziękuję thankyou()
1 user Cześć operatorze hello()
2 system Witam w interaktywnej bibliotece książnicy płockiej, jak mogę pomóc? hello()
3 user Chciałbym anulować rezerwację książki request(reservation=cancel)
4 system Jaki jest tytuł i numer książki? request(book=title & number)
5 user Tytuł: Nudna książka 1 nr 123456789 confirm(book=Nudna książka 1 nr 123456789)
6 system Rezerwacja została poprawnie anulowana. inform(reservation=cancel)
7 user Dziękuję thankyou()

View File

@ -1,10 +0,0 @@
user Dzień dobry! hello()
system Witam w systemie interaktywnej biblioteki - Książnicy płockiej! hello()
user Chciałabym wypożyczyć książkę. request(book)
system Proszę podać tytuł i autora pozycji. request(book)
user Zabić drozda - Harper Lee request(book=Zabić drozda - Harper Lee)
system Czy ta ksiązka to Harper L., Zabić drozda? confirm(book=Zabić drozda - Harper Lee)
user Tak affirm()
system Potwierdzam wypozyczenie ksiązki o numerze XX-XXX. Pozycja jest dostępna w zbiorach online całodobowo. confirm(book=Zabić drozda - Harper Lee)
user Jak mogę uzyskać dostęp do zasobów online? request(online_library)
system Zasoby online są dostępne pod adresem: LINK inform(status)
1 user Dzień dobry! hello()
2 system Witam w systemie interaktywnej biblioteki - Książnicy płockiej! hello()
3 user Chciałabym wypożyczyć książkę. request(book)
4 system Proszę podać tytuł i autora pozycji. request(book)
5 user Zabić drozda - Harper Lee request(book=Zabić drozda - Harper Lee)
6 system Czy ta ksiązka to Harper L., Zabić drozda? confirm(book=Zabić drozda - Harper Lee)
7 user Tak affirm()
8 system Potwierdzam wypozyczenie ksiązki o numerze XX-XXX. Pozycja jest dostępna w zbiorach online całodobowo. confirm(book=Zabić drozda - Harper Lee)
9 user Jak mogę uzyskać dostęp do zasobów online? request(online_library)
10 system Zasoby online są dostępne pod adresem: LINK inform(status)

View File

@ -1,10 +0,0 @@
user Dzień dobry! hello()
system Witam w bibliotece internetowej książnicy płockiej, w czym mogę pomóc? hello()
user Jakie wydarzenia odbywają się w najbliższym czasie w bibliotece? request(events)
system W ciągu kolejnych 30 dni realizowane będą: płocki dzień historii tańca ludowego (31 marca 2021), dzień młodego czytelnika (15 kwietnia 2021). inform(events)
user Czy możesz powiedzieć mi coś więcej o dniu młodego czytelnika? reqmore(event=Dzień młodego czytelnika)
system Wydarzenie będzie realizowane za pośrednictwem platformy YouTube pod linkiem: LINK i rozpocznie się o godzinie 13.30. inform(time&location)
user O, czyli liczba miejsc jest nieograniczona. Bardzo mnie to cieszy ack()
system Tak, wstęp wolny. affirm()
user Dziękuję bardzo za informację. Chyba wszytko już wiem bye()
system Dziękuję bye()
1 user Dzień dobry! hello()
2 system Witam w bibliotece internetowej książnicy płockiej, w czym mogę pomóc? hello()
3 user Jakie wydarzenia odbywają się w najbliższym czasie w bibliotece? request(events)
4 system W ciągu kolejnych 30 dni realizowane będą: płocki dzień historii tańca ludowego (31 marca 2021), dzień młodego czytelnika (15 kwietnia 2021). inform(events)
5 user Czy możesz powiedzieć mi coś więcej o dniu młodego czytelnika? reqmore(event=Dzień młodego czytelnika)
6 system Wydarzenie będzie realizowane za pośrednictwem platformy YouTube pod linkiem: LINK i rozpocznie się o godzinie 13.30. inform(time&location)
7 user O, czyli liczba miejsc jest nieograniczona. Bardzo mnie to cieszy ack()
8 system Tak, wstęp wolny. affirm()
9 user Dziękuję bardzo za informację. Chyba wszytko już wiem bye()
10 system Dziękuję bye()

View File

@ -1,19 +0,0 @@
user Dzień dobry hello()
system Witamy w interaktywnej bibliotece. hello()
user Chciałbym sprawdzić czy mam jakieś książki do oddania request(status)
system Proszę o podanie numeru karty bibliotecznej. request(card_number)
user 123123 inform(card_number=123123)
system Użytkownik o numerze karty 123123, ma wypożyczone następujące książki: Kafka Haruki Murakami, z datą zwrócenia książki na 30 marca 2021, 1Q84 Haruki Murakami, z datą zwrócenia książki na 5 kwietnia 2021 confirm(card_numer=123123)&(inform(book=Kafka Haruki Murakami)&inform(date=29 marca 2021)&inform(book=1Q84 Haruki Murakami)&inform(date=5 kwietna 2021)
user Chciałbym wypożyczyć jakiś dobry kryminał request(books=kryminał)
user Czy są jakieś polecane? reqalts(book=kryminał)
system Polecane dla kategorii kryminał: 1. Morderstwo w Orient Expressie - Agatha Christie 2. Księżniczka z lodu - Camilla Läckberg 3. Sprawa Niny Frank - Katarzyna Bonda 4. Wszystko czerwone - Joanna Chmielewska 5. Zły - Leopold Tyrmand inform(book=Morderstwo w Orient Expressie - Agatha Christie)&inform(book=Księżniczka z lodu - Camilla Läckberg)&inform(Sprawa Niny Frank - Katarzyna Bonda)&inform(Wszystko czerwone - Joanna Chmielewska)&inform(book=Zły - Leopold Tyrmand)
user Może jakieś inne, te już czytałem reqalts(book=kryminał)
system Wszystkie propozycje w oparciu o historię wypożyczeń. inform(offer=no_new_recommendations)
user Czy posiadacie książke xyz Jana Kowalskiego? request(book=xyz Jana Kowalskiego)
system Czy chodziło o książkę XZY Jan Kowalski? confirm(book= XZY Jan Kowalski)
user Tak affirm()
system Aktualnie dostępnych jest 5 egzemplarzy tej książki. inform(book_availability=XZY Jan Kowalski)
user Chciałbym wypożyczyć jeden egzemplarz request(action=wypozyczenie)
system Książka została wypożyczona. confirm(reservation)
user Dziękuję thankyou()
system Dziękujemy! Życzymy miłej lektury. thnakyou()&bye()
1 user Dzień dobry hello()
2 system Witamy w interaktywnej bibliotece. hello()
3 user Chciałbym sprawdzić czy mam jakieś książki do oddania request(status)
4 system Proszę o podanie numeru karty bibliotecznej. request(card_number)
5 user 123123 inform(card_number=123123)
6 system Użytkownik o numerze karty 123123, ma wypożyczone następujące książki: Kafka Haruki Murakami, z datą zwrócenia książki na 30 marca 2021, 1Q84 Haruki Murakami, z datą zwrócenia książki na 5 kwietnia 2021 confirm(card_numer=123123)&(inform(book=Kafka Haruki Murakami)&inform(date=29 marca 2021)&inform(book=1Q84 Haruki Murakami)&inform(date=5 kwietna 2021)
7 user Chciałbym wypożyczyć jakiś dobry kryminał request(books=kryminał)
8 user Czy są jakieś polecane? reqalts(book=kryminał)
9 system Polecane dla kategorii kryminał: 1. Morderstwo w Orient Expressie - Agatha Christie 2. Księżniczka z lodu - Camilla Läckberg 3. Sprawa Niny Frank - Katarzyna Bonda 4. Wszystko czerwone - Joanna Chmielewska 5. Zły - Leopold Tyrmand inform(book=Morderstwo w Orient Expressie - Agatha Christie)&inform(book=Księżniczka z lodu - Camilla Läckberg)&inform(Sprawa Niny Frank - Katarzyna Bonda)&inform(Wszystko czerwone - Joanna Chmielewska)&inform(book=Zły - Leopold Tyrmand)
10 user Może jakieś inne, te już czytałem reqalts(book=kryminał)
11 system Wszystkie propozycje w oparciu o historię wypożyczeń. inform(offer=no_new_recommendations)
12 user Czy posiadacie książke xyz Jana Kowalskiego? request(book=xyz Jana Kowalskiego)
13 system Czy chodziło o książkę XZY Jan Kowalski? confirm(book= XZY Jan Kowalski)
14 user Tak affirm()
15 system Aktualnie dostępnych jest 5 egzemplarzy tej książki. inform(book_availability=XZY Jan Kowalski)
16 user Chciałbym wypożyczyć jeden egzemplarz request(action=wypozyczenie)
17 system Książka została wypożyczona. confirm(reservation)
18 user Dziękuję thankyou()
19 system Dziękujemy! Życzymy miłej lektury. thnakyou()&bye()

View File

@ -1,13 +0,0 @@
system Witamy w systemie interaktywnej biblioteki. hello()
user Dzień dobry, chciałbym przeczytać jakąś książkę z gatunku science-fiction. Czy możecie mi coś polecić? hello()&request(book=science-fiction)
system Polecane ksiązki dla kategorii science-fiction: 1. Ślepowidzenie Peter Watts, 2. Echopraksja Peter Watts, 3. Stacja Centralna Lavie Tidhar, 4. Problem Trzech Ciał Cixin Liu, 5. Kantyczka dla Leibowitza Walter M. Miller. inform(book=Ślepowidzenie Peter Watts)&inform(book=Echopraksja Peter Watts)&inform(book= Stacja Centralna Lavie Tidhar)&inform(book=Problem Trzech Ciał Cixin Liu)&inform(book=Kantyczka dla Leibowitza Walter M. Miller)
user Ślepowidzienie to bardzo ciekawa pozycja. Czy jest to pojedyncza książka czy cykl książek? request(book_info=Ślepowidzenie Peter Watts)
system Ślepowidzenie Peter Watts to część cyklu książek. affirm()
user Chciałbym zarezerwować wszystkie części tego cyklu. request(action=reservation)
system Proszę podać tytuł i autora wybranej pozycji. request(book)
user 1. Ślepowidzenie Peter Watts, 2. Echopraksja Peter Watts inform(book=Ślepowidzenie Peter Watts)&inform(book=Echopraksja Peter Watts)
system Proszę podać numer karty bibliotecznej. request(card_number)
user 1234567 infrom(card_number)
system Książki Ślepowidzenie Peter Watts, Echopraksja Peter Watts zostały zarezerwowane. Rezerwacja jest ważna przez 48 godzin zaczynając od momentu jej złożenia. inform(reservation)
user Dziękuję bardzo. thankyou()
system Dziękuję. thankyou()
1 system Witamy w systemie interaktywnej biblioteki. hello()
2 user Dzień dobry, chciałbym przeczytać jakąś książkę z gatunku science-fiction. Czy możecie mi coś polecić? hello()&request(book=science-fiction)
3 system Polecane ksiązki dla kategorii science-fiction: 1. Ślepowidzenie – Peter Watts, 2. Echopraksja – Peter Watts, 3. Stacja Centralna – Lavie Tidhar, 4. Problem Trzech Ciał – Cixin Liu, 5. Kantyczka dla Leibowitza – Walter M. Miller. inform(book=Ślepowidzenie – Peter Watts)&inform(book=Echopraksja – Peter Watts)&inform(book= Stacja Centralna – Lavie Tidhar)&inform(book=Problem Trzech Ciał – Cixin Liu)&inform(book=Kantyczka dla Leibowitza – Walter M. Miller)
4 user Ślepowidzienie to bardzo ciekawa pozycja. Czy jest to pojedyncza książka czy cykl książek? request(book_info=Ślepowidzenie – Peter Watts)
5 system Ślepowidzenie Peter Watts to część cyklu książek. affirm()
6 user Chciałbym zarezerwować wszystkie części tego cyklu. request(action=reservation)
7 system Proszę podać tytuł i autora wybranej pozycji. request(book)
8 user 1. Ślepowidzenie – Peter Watts, 2. Echopraksja – Peter Watts inform(book=Ślepowidzenie – Peter Watts)&inform(book=Echopraksja – Peter Watts)
9 system Proszę podać numer karty bibliotecznej. request(card_number)
10 user 1234567 infrom(card_number)
11 system Książki Ślepowidzenie Peter Watts, Echopraksja Peter Watts zostały zarezerwowane. Rezerwacja jest ważna przez 48 godzin zaczynając od momentu jej złożenia. inform(reservation)
12 user Dziękuję bardzo. thankyou()
13 system Dziękuję. thankyou()

View File

@ -1,15 +0,0 @@
system Witamy w interaktywnej bibliotece. hello()
user Dzień dobry, chciałbym wypożyczyć książkę. hello()&request(reservation)
system Proszę podać tytuł i autora wybranej książki. request(book)
user Systemy Dialogowe w Pigułce Adama Kowalskiego inform(book=Systemy Dialogowe w Pigułce Adama Kowalskiego)
system Czy chodzi o książkę Systemy Dialogowe w Pigułce Adam Kowalski? confirm(book=Systemy Dialogowe w Pigułce Adama Kowalskiego)
user Tak affirm()
system Książka została wypożyczona. inform(reservation)
user Dziękuję. Czy mam jakieś zaległości? thankyou()&request(status=late)
system Obecnie nie posiadasz niezwróconych w terminie książek. inform(status=late)
user Chciałbym sprawdzić najbliższy termin zwrotu request(status)
system Proszę podać numer karty bibliotecznej. request(card_number)
user 123456 infrom(card_number=12345)
system Użytkownik o numerze karty 123456, ma wypożyczone następujące książki: 1. Systemy Dialogowe w Pigułce Adam Kowalski; Zwrot 12.04.21 do godziny 22:00 confirm(card_numer=12345)&(inform(book=Systemy Dialogowe w Pigułce Adama Kowalskiego)&inform(date=29 marca 2021)
user Dziękuje, to będzie wszystko thankyou()
system Dziękuję. thnakyou()
1 system Witamy w interaktywnej bibliotece. hello()
2 user Dzień dobry, chciałbym wypożyczyć książkę. hello()&request(reservation)
3 system Proszę podać tytuł i autora wybranej książki. request(book)
4 user Systemy Dialogowe w Pigułce Adama Kowalskiego inform(book=Systemy Dialogowe w Pigułce Adama Kowalskiego)
5 system Czy chodzi o książkę Systemy Dialogowe w Pigułce Adam Kowalski? confirm(book=Systemy Dialogowe w Pigułce Adama Kowalskiego)
6 user Tak affirm()
7 system Książka została wypożyczona. inform(reservation)
8 user Dziękuję. Czy mam jakieś zaległości? thankyou()&request(status=late)
9 system Obecnie nie posiadasz niezwróconych w terminie książek. inform(status=late)
10 user Chciałbym sprawdzić najbliższy termin zwrotu request(status)
11 system Proszę podać numer karty bibliotecznej. request(card_number)
12 user 123456 infrom(card_number=12345)
13 system Użytkownik o numerze karty 123456, ma wypożyczone następujące książki: 1. Systemy Dialogowe w Pigułce Adam Kowalski; Zwrot – 12.04.21 do godziny 22:00 confirm(card_numer=12345)&(inform(book=Systemy Dialogowe w Pigułce Adama Kowalskiego)&inform(date=29 marca 2021)
14 user Dziękuje, to będzie wszystko thankyou()
15 system Dziękuję. thnakyou()

View File

@ -1,13 +0,0 @@
system Witamy w systemie interaktywnej biblioteki. hello()
user Dzień dobry, chciałbym wypożyczyć książkę. hello()&request(book)
system Proszę podać tytuł i autora wybranej książki. request(book)
user Ogniem i Mieczem Sienkiewicza inform(book=Ogniem i Mieczem Sienkiewicza)
system Czy chodzi o książkę Ogniem i Mieczem Henryk Sienkiewicz? confirm(book=Ogniem i Mieczem Henryk Sienkiewicz)
user tak affirm()
system Książka została wypożyczona. affirm()
user A czy jest dostępna książka Pan Tadeusz? request(book_availability=Pan Tadeusz)
system Czy chodzi o książkę Pan Tadeusz Adam Mickiewicz? confirm(book=Pan Tadeusz Adam Mickiewicz)
user Tak, ją również chciałbym wypożyczyć. confirm()&request(action=wypozyczenie)
system Aktualnie dostępnych jest 5 egzemplarzy tej książki. Książka została wypożyczona inform(book_availability= Pan Tadeusz Adam Mickiewicz)&inform(reservation)
user Dziękuję, to wszystko. thankyou()
system Dziękujęmy! Życzymy miłej lektury. thankyou()&bye()
1 system Witamy w systemie interaktywnej biblioteki. hello()
2 user Dzień dobry, chciałbym wypożyczyć książkę. hello()&request(book)
3 system Proszę podać tytuł i autora wybranej książki. request(book)
4 user Ogniem i Mieczem Sienkiewicza inform(book=Ogniem i Mieczem Sienkiewicza)
5 system Czy chodzi o książkę Ogniem i Mieczem Henryk Sienkiewicz? confirm(book=Ogniem i Mieczem Henryk Sienkiewicz)
6 user tak affirm()
7 system Książka została wypożyczona. affirm()
8 user A czy jest dostępna książka Pan Tadeusz? request(book_availability=Pan Tadeusz)
9 system Czy chodzi o książkę Pan Tadeusz Adam Mickiewicz? confirm(book=Pan Tadeusz Adam Mickiewicz)
10 user Tak, ją również chciałbym wypożyczyć. confirm()&request(action=wypozyczenie)
11 system Aktualnie dostępnych jest 5 egzemplarzy tej książki. Książka została wypożyczona inform(book_availability= Pan Tadeusz Adam Mickiewicz)&inform(reservation)
12 user Dziękuję, to wszystko. thankyou()
13 system Dziękujęmy! Życzymy miłej lektury. thankyou()&bye()

View File

@ -1,13 +0,0 @@
system Witamy w systemie interaktywnej biblioteki. hello()
user Dzień dobry, chciałbym wypożyczyć książkę. hello()&request(book)
system Proszę podać tytuł i autora wybranej książki. request(book)
user Ogniem i Mieczem Sienkiewicza inform(book=Ogniem i Mieczem Sienkiewicza)
system Czy chodzi o książkę Ogniem i Mieczem Henryk Sienkiewicz? confirm(book=Ogniem i Mieczem Henryk Sienkiewicz)
user tak affirm()
system Książka została wypożyczona. affirm()
user A czy jest dostępna książka Pan Tadeusz? request(book_availability=Pan Tadeusz)
system Czy chodzi o książkę Pan Tadeusz Adam Mickiewicz? confirm(book=Pan Tadeusz Adam Mickiewicz)
user Tak, ją również chciałbym wypożyczyć. confirm()&request(action=wypozyczenie)
system Aktualnie dostępnych jest 5 egzemplarzy tej książki. Książka została wypożyczona inform(book_availability= Pan Tadeusz Adam Mickiewicz)&inform(reservation)
user Dziękuję, to wszystko. thankyou()
system Dziękujęmy! Życzymy miłej lektury. thankyou()&bye()
1 system Witamy w systemie interaktywnej biblioteki. hello()
2 user Dzień dobry, chciałbym wypożyczyć książkę. hello()&request(book)
3 system Proszę podać tytuł i autora wybranej książki. request(book)
4 user Ogniem i Mieczem Sienkiewicza inform(book=Ogniem i Mieczem Sienkiewicza)
5 system Czy chodzi o książkę Ogniem i Mieczem Henryk Sienkiewicz? confirm(book=Ogniem i Mieczem Henryk Sienkiewicz)
6 user tak affirm()
7 system Książka została wypożyczona. affirm()
8 user A czy jest dostępna książka Pan Tadeusz? request(book_availability=Pan Tadeusz)
9 system Czy chodzi o książkę Pan Tadeusz Adam Mickiewicz? confirm(book=Pan Tadeusz Adam Mickiewicz)
10 user Tak, ją również chciałbym wypożyczyć. confirm()&request(action=wypozyczenie)
11 system Aktualnie dostępnych jest 5 egzemplarzy tej książki. Książka została wypożyczona inform(book_availability= Pan Tadeusz Adam Mickiewicz)&inform(reservation)
12 user Dziękuję, to wszystko. thankyou()
13 system Dziękujęmy! Życzymy miłej lektury. thankyou()&bye()

View File

@ -1,18 +0,0 @@
user Witam serdecznie hello()
system Witamy w interaktywnej bibliotece. hello()
user Chciałbym założyć kartę biblioteczną, jak to zrobić? request(new_card)
system Do założenia karty bibliotecznej konieczne jest wypełnienie karty zapisu i zapoznanie się z regulaminem. inform(new_card)
user Gdzie znajdują się te rzeczy? request(info)
system Wzór karty zapisu znajduje się pod tym linkiem: LINK, a regulamin pod tym linkiem: LINK. help(new_card)
user Czy przesłanie formularzu z kartą będzie oznaczało już możliwość wypożyczania? request(info)
system Nie. Należy dopełnić procedurę założenia karty bibliotecznej do końca. negate()&inform(new_card)
user Czy mógłbym jakoś wypożyczyć Wywiad z Wampirem Anny Rice? request(book=Wywiad z Wampirem Anny Rice)
system Czy chodzi o książkę Wywiad z Wampirem Anna Rice? confirm(book=Wywiad z Wampirem Anna Rice)
user Tak affirm()
system Proszę podać numer karty bibliotecznej. request(card_number)
user Jak mogę sprawdzić ten numer? request(info)
system Proszę sprawdzić panel użytkownika. help()
user Mój numer to XXX-XXXX-XXX? inform(card_number=XXX-XXXX-XXX)
system Zły format. Proszę spróbować ponownie. inform(wrong_format)&repeat()
user Rozumiem, chyba jednak musze najpierw iść do filii głównej. Dziękuję ś l i c z n i e za rozmowę. thankyou()
system Dziękuję. thankyou()
1 user Witam serdecznie hello()
2 system Witamy w interaktywnej bibliotece. hello()
3 user Chciałbym założyć kartę biblioteczną, jak to zrobić? request(new_card)
4 system Do założenia karty bibliotecznej konieczne jest wypełnienie karty zapisu i zapoznanie się z regulaminem. inform(new_card)
5 user Gdzie znajdują się te rzeczy? request(info)
6 system Wzór karty zapisu znajduje się pod tym linkiem: LINK, a regulamin pod tym linkiem: LINK. help(new_card)
7 user Czy przesłanie formularzu z kartą będzie oznaczało już możliwość wypożyczania? request(info)
8 system Nie. Należy dopełnić procedurę założenia karty bibliotecznej do końca. negate()&inform(new_card)
9 user Czy mógłbym jakoś wypożyczyć Wywiad z Wampirem Anny Rice? request(book=Wywiad z Wampirem Anny Rice)
10 system Czy chodzi o książkę Wywiad z Wampirem Anna Rice? confirm(book=Wywiad z Wampirem Anna Rice)
11 user Tak affirm()
12 system Proszę podać numer karty bibliotecznej. request(card_number)
13 user Jak mogę sprawdzić ten numer? request(info)
14 system Proszę sprawdzić panel użytkownika. help()
15 user Mój numer to XXX-XXXX-XXX? inform(card_number=XXX-XXXX-XXX)
16 system Zły format. Proszę spróbować ponownie. inform(wrong_format)&repeat()
17 user Rozumiem, chyba jednak musze najpierw iść do filii głównej. Dziękuję ś l i c z n i e za rozmowę. thankyou()
18 system Dziękuję. thankyou()

View File

@ -1,16 +0,0 @@
system Witamy w interaktywnej bibliotece. hello()
user Chciałbym się dowiedzieć, co zrobić w przypadku zniszczenia książki request(info=destroy)
system Proszę podać numer karty bibliotecznej. request(card_number)
user 1235135 response(card_number=1235135)
system Proszę podać sygnaturę ksiązki. request(signature)
user ksiazka'); DROP TABLE USERS; -- canthelp()
user książka o nr 123451 response(signature=książka o nr 123451)
system Zły format. Proszę spróbować jeszcze raz. repeat()
user Jaki jest poprawny format? request(info)
system Pomocne informacje znajdują się na stronie LINK. Poprawny format to XXXX.XX help()
user książka 12345.54 request(signature=książka 12345.54)
system Czy zgłosić zniszczenie książki 12345.54? confirm(signature=książka 12345.54)
user Tak, jakie koszta są z tym związane? affirm()&request(penalty_info)
system Formularz został zarejestrowany. Naliczona kara wynosi 35 zł. Opłatę można uiścić w dowolnej placówce biblioteki albo dokonując przelewu na konto o numerze: XXXX-XXXX-XXXX-XXX w opisie podając numer karty bibliotecznej. affirm()&response(penalty_info)
user Dobrze. Dziękuję za rozmowę thankyou()
system Dziekuję. thankyou()
1 system Witamy w interaktywnej bibliotece. hello()
2 user Chciałbym się dowiedzieć, co zrobić w przypadku zniszczenia książki request(info=destroy)
3 system Proszę podać numer karty bibliotecznej. request(card_number)
4 user 1235135 response(card_number=1235135)
5 system Proszę podać sygnaturę ksiązki. request(signature)
6 user ksiazka'); DROP TABLE USERS; -- canthelp()
7 user książka o nr 123451 response(signature=książka o nr 123451)
8 system Zły format. Proszę spróbować jeszcze raz. repeat()
9 user Jaki jest poprawny format? request(info)
10 system Pomocne informacje znajdują się na stronie LINK. Poprawny format to XXXX.XX help()
11 user książka 12345.54 request(signature=książka 12345.54)
12 system Czy zgłosić zniszczenie książki 12345.54? confirm(signature=książka 12345.54)
13 user Tak, jakie koszta są z tym związane? affirm()&request(penalty_info)
14 system Formularz został zarejestrowany. Naliczona kara wynosi 35 zł. Opłatę można uiścić w dowolnej placówce biblioteki albo dokonując przelewu na konto o numerze: XXXX-XXXX-XXXX-XXX w opisie podając numer karty bibliotecznej. affirm()&response(penalty_info)
15 user Dobrze. Dziękuję za rozmowę thankyou()
16 system Dziekuję. thankyou()

View File

@ -1,7 +0,0 @@
system Witamy w interaktywnej bibliotece. hello()
user Chciałbym przejrzeć tytuły książek fantastycznych request(books=książki fantastyka)
system Aktualnie w bibliotece znajduje się 1450 książek z gatunku fantastyka. Możemy polecić następujące książki: książka X, książka Y, książka Z. inform(books=1450 książek z gatunku fantastyka)&offer(book=książka X, książka Y, książka Z)
user Chciałbym wypożyczyć książkę Z request(action=wypozyczenie)
system Książka została zarezerwowana i będzie do odbioru w następny dzień roboczy. Proszę pamiętać, że brak odbioru książki do 7 dni roboczych prowadzi do utraty rezerwacji. inform(reservation)
user Ok, dziękuję thankyou()
system Dziękujemy i życzymy udanego czytania. thankyou()&bye()
1 system Witamy w interaktywnej bibliotece. hello()
2 user Chciałbym przejrzeć tytuły książek fantastycznych request(books=książki fantastyka)
3 system Aktualnie w bibliotece znajduje się 1450 książek z gatunku fantastyka. Możemy polecić następujące książki: książka X, książka Y, książka Z. inform(books=1450 książek z gatunku fantastyka)&offer(book=książka X, książka Y, książka Z)
4 user Chciałbym wypożyczyć książkę Z request(action=wypozyczenie)
5 system Książka została zarezerwowana i będzie do odbioru w następny dzień roboczy. Proszę pamiętać, że brak odbioru książki do 7 dni roboczych prowadzi do utraty rezerwacji. inform(reservation)
6 user Ok, dziękuję thankyou()
7 system Dziękujemy i życzymy udanego czytania. thankyou()&bye()

View File

@ -1,13 +0,0 @@
system Witamy w interaktywnej bibliotece. hello()
user Chciałbym sprawdzić listę obecnie wypożyczonych książek request(action=status)
system Proszę o podanie numeru karty bibliotecznej. request(card_number)
user 200130 inform(card_number=200130
system "Użytkownik o numerze karty ""200130"", ma wypożyczone następujące książki: ""Kafka"" Haruki Murakami, z datą zwrócenia książki na 29 marca 2021, ""1Q84"" Haruki Murakami, z datą zwrócenia książki na 5 kwietnia 2021." "confirm(card_numer=200130)&(inform(book=""Kafka"" Haruki Murakami)&inform(date=29 marca 2021)&inform(book=""1Q84"" Haruki Murakami)&inform(date=5 kwietna 2021)"
user "Dziękuję. Czy w bibliotece znajduje się książka ""Zatracenie"" autorstwa Osamu Dazai" thankyou()&request(book_availability=”Zatracenie”, Osamu Dazai)
system "Tak, aktualnie znajduje się 7 książek ""Zatracenie"" autorstwa Osamu Dazai." inform(book_availability= ”Zatracenie”, Osamu Dazai)
user w jakich godzinach można przyjść ją wypożyczyć? request(time)
system Godziny otwarcia biblioteki w dni robocze od 8:00 do 17:30 oraz w soboty od godziny 8:00 do godziny 14:00. inform(time=dni robocze od 8:00 do 17:30 oraz w soboty od godziny 8:00 do godziny 14:00)
user Dziękuję. Czy obsługują państwo również tę książkę w formie ebooka na waszej stronie? thankyou()&request(ebook=”Zareacenie”)
system Tak, istnieje taka możliwość. infrom(ebook)
user Dziękuję za informację thankyou()
system Dziękujemy i życzymy udanego czytania. thankyou()&bye()
1 system Witamy w interaktywnej bibliotece. hello()
2 user Chciałbym sprawdzić listę obecnie wypożyczonych książek request(action=status)
3 system Proszę o podanie numeru karty bibliotecznej. request(card_number)
4 user 200130 inform(card_number=200130
5 system Użytkownik o numerze karty "200130", ma wypożyczone następujące książki: "Kafka" Haruki Murakami, z datą zwrócenia książki na 29 marca 2021, "1Q84" Haruki Murakami, z datą zwrócenia książki na 5 kwietnia 2021. confirm(card_numer=200130)&(inform(book="Kafka" Haruki Murakami)&inform(date=29 marca 2021)&inform(book="1Q84" Haruki Murakami)&inform(date=5 kwietna 2021)
6 user Dziękuję. Czy w bibliotece znajduje się książka "Zatracenie" autorstwa Osamu Dazai thankyou()&request(book_availability=”Zatracenie”, Osamu Dazai)
7 system Tak, aktualnie znajduje się 7 książek "Zatracenie" autorstwa Osamu Dazai. inform(book_availability= ”Zatracenie”, Osamu Dazai)
8 user w jakich godzinach można przyjść ją wypożyczyć? request(time)
9 system Godziny otwarcia biblioteki w dni robocze od 8:00 do 17:30 oraz w soboty od godziny 8:00 do godziny 14:00. inform(time=dni robocze od 8:00 do 17:30 oraz w soboty od godziny 8:00 do godziny 14:00)
10 user Dziękuję. Czy obsługują państwo również tę książkę w formie ebooka na waszej stronie? thankyou()&request(ebook=”Zareacenie”)
11 system Tak, istnieje taka możliwość. infrom(ebook)
12 user Dziękuję za informację thankyou()
13 system Dziękujemy i życzymy udanego czytania. thankyou()&bye()

View File

@ -1,21 +0,0 @@
system Witamy w interaktywnej bibliotece. welcomemsg()
user Chciałabym sprawdzić, czy mam jakieś wypożyczone książki request(status)
system Proszę o podanie numeru karty bibliotecznej. request(card_number)
user 6758396 inform(card_number=6758396)
system "Użytkownik o numerze karty ""6758396"", ma wypożyczone następujące książki: ""Kafka"" Haruki Murakami, z datą zwrócenia książki na 29 marca 2021, ""1Q84"" Haruki Murakami,, z datą zwrócenia książki na 5 kwietnia 2021." "confirm(card_numer=6758396)&(inform(book=""Kafka"" Haruki Murakami)&inform(date=29 marca 2021)&inform(book=""1Q84"" Haruki Murakami)&inform(date=5 kwietna 2021)"
user czy książka Krótka historia czasu jest dostępna? request(book_availability=”Krotka historia czasu” )
system "Czy chodzi o książkę ""Krótka historia czasu"" Stephen Hawking?" confirm(book=”Krotka historia czasu” Stephen Hawking)
user Tak confirm()
system "Obecnie jest dostępnych 5 książek ""Krótka historia czasu"" Stephen Hawking." inform(book_availability=”Krotka historia czasu” )
user Jaki jest limit wypozyczonych ksiazek na raz? rquest(book_limit)
system Limit wypożyczonych książek to 5. inform(book_limit)
user "Chciałabym zarezerwować książkę ""Krótka historia czasu"" Stephen Hawking." request(resevation=”Krótka historia czasu” Stephen Hawking)
system Książka została zarezerwowana i będzie do odbioru w następny dzień roboczy. Proszę pamiętać, że brak odbioru książki do 7 dni roboczych prowadzi do utraty rezerwacji. confirm(resevation)
user Jaka jest kara za przekroczenie terminu zwrotu? request(penalty_cost)
system Każdy dzień spóźnienia to kara 20 groszy za książkę. inform(penalty_cost=20 groszy)
user zgubiłam kartę co robić request(lost_card)
system W celu wyrobienia nowej karty i zablokowania starej, należy udać się stacjonarnie do naszej biblioteki. inform(lost_card)
user a mogę teraz zablokować? request(card_block)
system Niestety, ale nie ma możliwości zablokowania karty przez internet. inform(card_block)
user Czy ktoś może wypożyczyć książkę z biblioteki wyłącznie z użyciem karty? help(stolen_card)
system Aktualnie karta znajduje się w stanie zastrzeżonym, aby wypożyczyć książkę będzie trzeba potwierdzić jej odbiór kodem SMS. inform(stolen_card)
1 system Witamy w interaktywnej bibliotece. welcomemsg()
2 user Chciałabym sprawdzić, czy mam jakieś wypożyczone książki request(status)
3 system Proszę o podanie numeru karty bibliotecznej. request(card_number)
4 user 6758396 inform(card_number=6758396)
5 system Użytkownik o numerze karty "6758396", ma wypożyczone następujące książki: "Kafka" Haruki Murakami, z datą zwrócenia książki na 29 marca 2021, "1Q84" Haruki Murakami,, z datą zwrócenia książki na 5 kwietnia 2021. confirm(card_numer=6758396)&(inform(book="Kafka" Haruki Murakami)&inform(date=29 marca 2021)&inform(book="1Q84" Haruki Murakami)&inform(date=5 kwietna 2021)
6 user czy książka Krótka historia czasu jest dostępna? request(book_availability=”Krotka historia czasu” )
7 system Czy chodzi o książkę "Krótka historia czasu" Stephen Hawking? confirm(book=”Krotka historia czasu” Stephen Hawking)
8 user Tak confirm()
9 system Obecnie jest dostępnych 5 książek "Krótka historia czasu" Stephen Hawking. inform(book_availability=”Krotka historia czasu” )
10 user Jaki jest limit wypozyczonych ksiazek na raz? rquest(book_limit)
11 system Limit wypożyczonych książek to 5. inform(book_limit)
12 user Chciałabym zarezerwować książkę "Krótka historia czasu" Stephen Hawking. request(resevation=”Krótka historia czasu” Stephen Hawking)
13 system Książka została zarezerwowana i będzie do odbioru w następny dzień roboczy. Proszę pamiętać, że brak odbioru książki do 7 dni roboczych prowadzi do utraty rezerwacji. confirm(resevation)
14 user Jaka jest kara za przekroczenie terminu zwrotu? request(penalty_cost)
15 system Każdy dzień spóźnienia to kara 20 groszy za książkę. inform(penalty_cost=20 groszy)
16 user zgubiłam kartę co robić request(lost_card)
17 system W celu wyrobienia nowej karty i zablokowania starej, należy udać się stacjonarnie do naszej biblioteki. inform(lost_card)
18 user a mogę teraz zablokować? request(card_block)
19 system Niestety, ale nie ma możliwości zablokowania karty przez internet. inform(card_block)
20 user Czy ktoś może wypożyczyć książkę z biblioteki wyłącznie z użyciem karty? help(stolen_card)
21 system Aktualnie karta znajduje się w stanie zastrzeżonym, aby wypożyczyć książkę będzie trzeba potwierdzić jej odbiór kodem SMS. inform(stolen_card)

View File

@ -1,25 +0,0 @@
system Witamy w interaktywnej bibliotece. welcomemsg()
user Chciałbym wypożyczyć książkę request(resevation)
system Proszę o podanie numeru karty bibliotecznej. request(card_number)
user 12345 infrom(card_number=12345)
system Proszę podać nazwę książki lub książek. request(books)
user Jakie macie dostępne książki od Murakami inform(books_availability=Murakami)
system Posiadamy wszystkie dzieła Murakami'ego wydane do 2020 roku. inform(books_availability=Murakami)
user W takim razie chciałbym wypożyczyć Norwegian Wood request(resevation=Norwegian Wood)
system "Czy chodzi o ""Norwegian Wood"" Haruki Murakami?" "confirm(reservation=""Norwegian Wood"" Haruki Murakami)"
user Tak affirm()
system Książka została zarezerwowana i będzie do odbioru w następny dzień roboczy. Proszę pamiętać, że brak odbioru książki do 7 dni roboczych prowadzi do utraty rezerwacji. inform(reservation)
user A można wypożyczyć filmy? request(resevation=filmy)
system Niestety, nie posiadamy usługi wypożyczenia filmów. negate(reservation=film)
user Moge zarezerwować jeszcze jedną książkę? request(reservation)
system Tak, proszę podać o jakie dzieło chodzi. request(book)
user Orwell 1984 inform(book=Orwell 1984)
system Książka została zarezerwowana i będzie do odbioru w następny dzień roboczy. Proszę pamiętać, że brak odbioru książki do 7 dni roboczych prowadzi do utraty rezerwacji. inform(reservation)
user Jakie książki mam wypożyczone aktualnie? request(status)
system "Użytkownik o numerze karty ""12345"", ma wypożyczone następujące książki: ""Kafka"" Haruki Murakami, z datą zwrócenia książki na 29 marca 2021, ""Norwegian Wood"" Haruki Murakami,, z datą zwrócenia książki na 29 kwietnia 2021, ""1984"" George Orwell, z datą zwrócenia książki na 29 kwietnia 2021." "confirm(card_numer=12345)&(inform(book=""Kafka"" Haruki Murakami)&inform(date=29 marca 2021)&inform(book=""Norwegian Wood"" Haruki Murakami)&inform(date=29 kwietna 2021)&inform(book=""1984”)&inform(date=29 kwietnia 2020)"
user chciałbym przedłużyć wypożyczenie Kafki request(renew_book=Kafka)
system Proszę podać o ile dni ma zostać przedłużona książka, nie może być to jednak czas dłuższy niż 21 dni. inform(renew_book=21 dni)
user o 10 inform(days=10)
system "Książka ""Kafka"" Haruki Murakami została przedłużona o 10 dni, obecny termin zwrotu wypada 8 kwietnia 2021 roku." inform(renew_book=”Kafka” Haruki Murakami, 10 dni)
user To by było wszystko thankyou()
system Dziękujemy i życzymy udanego czytania. thankyou()&bye()
1 system Witamy w interaktywnej bibliotece. welcomemsg()
2 user Chciałbym wypożyczyć książkę request(resevation)
3 system Proszę o podanie numeru karty bibliotecznej. request(card_number)
4 user 12345 infrom(card_number=12345)
5 system Proszę podać nazwę książki lub książek. request(books)
6 user Jakie macie dostępne książki od Murakami inform(books_availability=Murakami)
7 system Posiadamy wszystkie dzieła Murakami'ego wydane do 2020 roku. inform(books_availability=Murakami)
8 user W takim razie chciałbym wypożyczyć Norwegian Wood request(resevation=Norwegian Wood)
9 system Czy chodzi o "Norwegian Wood" Haruki Murakami? confirm(reservation="Norwegian Wood" Haruki Murakami)
10 user Tak affirm()
11 system Książka została zarezerwowana i będzie do odbioru w następny dzień roboczy. Proszę pamiętać, że brak odbioru książki do 7 dni roboczych prowadzi do utraty rezerwacji. inform(reservation)
12 user A można wypożyczyć filmy? request(resevation=filmy)
13 system Niestety, nie posiadamy usługi wypożyczenia filmów. negate(reservation=film)
14 user Moge zarezerwować jeszcze jedną książkę? request(reservation)
15 system Tak, proszę podać o jakie dzieło chodzi. request(book)
16 user Orwell 1984 inform(book=Orwell 1984)
17 system Książka została zarezerwowana i będzie do odbioru w następny dzień roboczy. Proszę pamiętać, że brak odbioru książki do 7 dni roboczych prowadzi do utraty rezerwacji. inform(reservation)
18 user Jakie książki mam wypożyczone aktualnie? request(status)
19 system Użytkownik o numerze karty "12345", ma wypożyczone następujące książki: "Kafka" Haruki Murakami, z datą zwrócenia książki na 29 marca 2021, "Norwegian Wood" Haruki Murakami,, z datą zwrócenia książki na 29 kwietnia 2021, "1984" George Orwell, z datą zwrócenia książki na 29 kwietnia 2021. confirm(card_numer=12345)&(inform(book="Kafka" Haruki Murakami)&inform(date=29 marca 2021)&inform(book="Norwegian Wood" Haruki Murakami)&inform(date=29 kwietna 2021)&inform(book="1984”)&inform(date=29 kwietnia 2020)
20 user chciałbym przedłużyć wypożyczenie Kafki request(renew_book=Kafka)
21 system Proszę podać o ile dni ma zostać przedłużona książka, nie może być to jednak czas dłuższy niż 21 dni. inform(renew_book=21 dni)
22 user o 10 inform(days=10)
23 system Książka "Kafka" Haruki Murakami została przedłużona o 10 dni, obecny termin zwrotu wypada 8 kwietnia 2021 roku. inform(renew_book=”Kafka” Haruki Murakami, 10 dni)
24 user To by było wszystko thankyou()
25 system Dziękujemy i życzymy udanego czytania. thankyou()&bye()

View File

@ -1,11 +0,0 @@
system Witamy w interaktywnej bibliotece. hello()
user Chciałbym wypożyczyć książkę request(action=wypozyczenie)
system Proszę o podanie numeru karty bibliotecznej. request(card_number)
user 123456789 inform(car_number=123456789)
system Proszę podać nazwę książki lub książek. request(book)
user Bardzo ciekawa książka 1, Bardzo ciekawa książka 2, Nudna książka 1 inform(book=Bardzo ciekawa książka 1)&inform(book=Bardzo ciekawa ksiazka 2)&inform(Nudna książka 1)
system "Czy chodzi o książki ""Bardzo ciekawa książka 1"", ""Bardzo ciekawa książka 2"", ""Nudna książka 1"" autora Jan Kowalski?" confirm(book=Bardzo ciekawa książka 1)&confirm(book=Bardzo ciekawa ksiazka 2)&confirm(Nudna książka 1)&confirm(author=Jan Kowalski)
user tak affirm()
system Książki została zarezerwowane i będą do odbioru w następny dzień roboczy. Proszę pamiętać, że brak odbioru książek do 7 dni roboczych prowadzi do utraty ich rezerwacji. inform(reservation)
user Dziękuję thankyou()
system Dziękujemy i życzymy udanego czytania. thankyou()
1 system Witamy w interaktywnej bibliotece. hello()
2 user Chciałbym wypożyczyć książkę request(action=wypozyczenie)
3 system Proszę o podanie numeru karty bibliotecznej. request(card_number)
4 user 123456789 inform(car_number=123456789)
5 system Proszę podać nazwę książki lub książek. request(book)
6 user Bardzo ciekawa książka 1, Bardzo ciekawa książka 2, Nudna książka 1 inform(book=Bardzo ciekawa książka 1)&inform(book=Bardzo ciekawa ksiazka 2)&inform(Nudna książka 1)
7 system Czy chodzi o książki "Bardzo ciekawa książka 1", "Bardzo ciekawa książka 2", "Nudna książka 1" autora Jan Kowalski? confirm(book=Bardzo ciekawa książka 1)&confirm(book=Bardzo ciekawa ksiazka 2)&confirm(Nudna książka 1)&confirm(author=Jan Kowalski)
8 user tak affirm()
9 system Książki została zarezerwowane i będą do odbioru w następny dzień roboczy. Proszę pamiętać, że brak odbioru książek do 7 dni roboczych prowadzi do utraty ich rezerwacji. inform(reservation)
10 user Dziękuję thankyou()
11 system Dziękujemy i życzymy udanego czytania. thankyou()

View File

@ -1,11 +0,0 @@
system Witamy w interaktywnej bibliotece. hello()
user Chciałabym uzyskać informację o statusie książki. request(action=status)
system Proszę o podanie numeru karty bibliotecznej. request(card_number)
user 1256 inform(car_number=1256)
system "Użytkownik o numerze karty ""001256"", ma wypożyczone następujące książki: ""Kafka"" Haruki Murakami, z datą zwrócenia książki na 29 marca 2021, ""1Q84"" Haruki Murakami, z datą zwrócenia książki na 5 kwietnia 2021." "confirm(card_numer=1256)&(inform(book=""Kafka"" Haruki Murakami)&inform(date=29 marca 2021)&inform(book=""1Q84"" Haruki Murakami)&inform(date=5 kwietna 2021)"
user Chciałabym przedłużyć wypożyczenie ksiązki. request(action=wypożyczenie)
system Proszę podać o jaką książkę chodzi. reqmore(book)
user """Kafka"" Haruki Murakami" inform(book=”Kafka” Haruki Murakami)
system Proszę podać o ile dni ma zostać przedłużona książka, nie może być to jednak czas dłuższy niż 21 dni. request(action=czas wypożyczenia)
user 10 inform(time=10)
system "Książka ""Kafka"" Haruki Murakami została przedłużona o 10 dni, obecny termin zwrotu wypada 8 kwietnia 2021 roku." inform(summary=”Kafka” Haruki Murakami, termin 8 kwietnia 2021)
1 system Witamy w interaktywnej bibliotece. hello()
2 user Chciałabym uzyskać informację o statusie książki. request(action=status)
3 system Proszę o podanie numeru karty bibliotecznej. request(card_number)
4 user 1256 inform(car_number=1256)
5 system Użytkownik o numerze karty "001256", ma wypożyczone następujące książki: "Kafka" Haruki Murakami, z datą zwrócenia książki na 29 marca 2021, "1Q84" Haruki Murakami, z datą zwrócenia książki na 5 kwietnia 2021. confirm(card_numer=1256)&(inform(book="Kafka" Haruki Murakami)&inform(date=29 marca 2021)&inform(book="1Q84" Haruki Murakami)&inform(date=5 kwietna 2021)
6 user Chciałabym przedłużyć wypożyczenie ksiązki. request(action=wypożyczenie)
7 system Proszę podać o jaką książkę chodzi. reqmore(book)
8 user "Kafka" Haruki Murakami inform(book=”Kafka” Haruki Murakami)
9 system Proszę podać o ile dni ma zostać przedłużona książka, nie może być to jednak czas dłuższy niż 21 dni. request(action=czas wypożyczenia)
10 user 10 inform(time=10)
11 system Książka "Kafka" Haruki Murakami została przedłużona o 10 dni, obecny termin zwrotu wypada 8 kwietnia 2021 roku. inform(summary=”Kafka” Haruki Murakami, termin 8 kwietnia 2021)

View File

@ -1,7 +0,0 @@
system Witamy w interaktywnej bibliotece. hello()
user Dzień dobry. Chciałam sprawdzić status wypożyczonych książek hello()&request(action=status wypożyczenia)
system Proszę o podanie numeru karty bibliotecznej. request(card_number)
user 123456 inform(car_number=123456)
system "Użytkownik o numerze karty 123456"", ma wypożyczone następujące książki: ""Harry Potter i Komnata Tajemnic"" J.K. Rowling, z datą zwrócenia książki na 5 kwietnia 2021, ""Ludzie. Krótka historia o tym, jak spieprzyliśmy wszystko"" Phillips Tom, z datą zwrócenia książki na 30 marca 2021." "confirm(card_numer=123456)&(inform(book=”Harry Potter i Komnata Tajemnic” J. K. Rowling”)&inform(date=5 kwietnia 2021)&inform(book=""Ludzie. Krótka historia o tym, jak spieprzyliśmy wszystko"" Phillips Tom)&inform(date=30 marca 2021)"
user Bardzo dziękuję za informację. Wszystko już wiem thankyou()
system Dziękujemy i życzymy udanego czytania. bye()
1 system Witamy w interaktywnej bibliotece. hello()
2 user Dzień dobry. Chciałam sprawdzić status wypożyczonych książek hello()&request(action=status wypożyczenia)
3 system Proszę o podanie numeru karty bibliotecznej. request(card_number)
4 user 123456 inform(car_number=123456)
5 system Użytkownik o numerze karty 123456", ma wypożyczone następujące książki: "Harry Potter i Komnata Tajemnic" J.K. Rowling, z datą zwrócenia książki na 5 kwietnia 2021, "Ludzie. Krótka historia o tym, jak spieprzyliśmy wszystko" Phillips Tom, z datą zwrócenia książki na 30 marca 2021. confirm(card_numer=123456)&(inform(book=”Harry Potter i Komnata Tajemnic” J. K. Rowling”)&inform(date=5 kwietnia 2021)&inform(book="Ludzie. Krótka historia o tym, jak spieprzyliśmy wszystko" Phillips Tom)&inform(date=30 marca 2021)
6 user Bardzo dziękuję za informację. Wszystko już wiem thankyou()
7 system Dziękujemy i życzymy udanego czytania. bye()

View File

@ -1,13 +0,0 @@
system Witamy w interaktywnej bibliotece. hello()
user Cześć, czy możesz polecić mi jakąś książkę? request(book)
system Na podstawie wcześniej przeczytanych przez Ciebie lektur polecam książkę Krzyżacy Henryk Sienkiewicz. inform(book=Krzyżacy Henryk Sienkiewicz)
user Juz przeczytałem tą książkę. Czy macie może coś z gatunku fantasy? reqalts(book)
system Polecam książkę Krew elfów Andrzej Sapkowski. inform(book=Krew elfów Andrzej Sapkowski)
user Brzmi bardzo ciekawie, czy mogę zarezerwować tą książkę? request(reservation)
system Możesz zarezerwować tę pozycję. Będzie czekać na Ciebie w naszej placówce przez następnych 5 dni roboczych. confirm(reservation)
user Gdzie znajduje się wasza placówka w Poznaniu i jakie są jej godziny otwarcia? request(location=Poznań)&request(time)
system Nasza placówka w Poznaniu znajduje się przy ul. Bibliotecznej 28. inform(location=Poznań, ul. Biblioteczna 28)
system Godziny otwarcia: Poniedziałek-Piątek: 8:30-18:30, Sobota: 11:00-19:00, Niedziela: nieczynne. inform(time=Poniedziałek-Piątek: 8:30-18:30, Sobota: 11:00-19:00, Niedziela: nieczynne)
user Dziękuję bardzo, odbiorę ksiązkę w tym terminie. thankyou()
system Dziękuję za rozmowę. Udanej lektury! thankyou()
user Dziękuję! thankyou()
1 system Witamy w interaktywnej bibliotece. hello()
2 user Cześć, czy możesz polecić mi jakąś książkę? request(book)
3 system Na podstawie wcześniej przeczytanych przez Ciebie lektur polecam książkę Krzyżacy Henryk Sienkiewicz. inform(book=Krzyżacy Henryk Sienkiewicz)
4 user Juz przeczytałem tą książkę. Czy macie może coś z gatunku fantasy? reqalts(book)
5 system Polecam książkę Krew elfów Andrzej Sapkowski. inform(book=Krew elfów Andrzej Sapkowski)
6 user Brzmi bardzo ciekawie, czy mogę zarezerwować tą książkę? request(reservation)
7 system Możesz zarezerwować tę pozycję. Będzie czekać na Ciebie w naszej placówce przez następnych 5 dni roboczych. confirm(reservation)
8 user Gdzie znajduje się wasza placówka w Poznaniu i jakie są jej godziny otwarcia? request(location=Poznań)&request(time)
9 system Nasza placówka w Poznaniu znajduje się przy ul. Bibliotecznej 28. inform(location=Poznań, ul. Biblioteczna 28)
10 system Godziny otwarcia: Poniedziałek-Piątek: 8:30-18:30, Sobota: 11:00-19:00, Niedziela: nieczynne. inform(time=Poniedziałek-Piątek: 8:30-18:30, Sobota: 11:00-19:00, Niedziela: nieczynne)
11 user Dziękuję bardzo, odbiorę ksiązkę w tym terminie. thankyou()
12 system Dziękuję za rozmowę. Udanej lektury! thankyou()
13 user Dziękuję! thankyou()

View File

@ -1,13 +0,0 @@
system Witamy w interaktywnej bibliotece. hello()
user Dzień dobry hello()
user Chcialbym zobaczyć czy mam jakiś ksiażki do oddania. request(status)
system Proszę o podanie numeru karty bibliotecznej. request(card_number)
user 123123 inform(card_number)
system Masz jedną nieoddaną książkę. Zabić drozda Harper Lee; Sygnatura 121212.VI; Zwrot 12.04.21 do godziny 22:00 inform(status=Zabić drozda Harper Lee; Sygnatura 121212.VI; Zwrot 12.04.21 do godziny 22:00)
user Chciałbym wypożyczyć jakiś kryminał request(book=kryminał)
user Jakie są najlepsze kryminały w bibliotece? request(book=kryminał)
system Najczęściej wypożyczanym kryminałem jest książka Zabiłem autorstwa Jan Kowalski. inform(book=Zabiłem Jan Kowalski)
user Chciałbym wypożyczyć tą pozycję request(reservation)
system Książka została zarezerwowana i będzie do odbioru w następny dzień roboczy. Proszę pamiętać, że brak odbioru książki do 7 dni roboczych prowadzi do utraty rezerwacji. inform(reservation)
user Dziękuję thankyou()
system Dziękuję. Życzę udanej lektury. thankyou()
1 system Witamy w interaktywnej bibliotece. hello()
2 user Dzień dobry hello()
3 user Chcialbym zobaczyć czy mam jakiś ksiażki do oddania. request(status)
4 system Proszę o podanie numeru karty bibliotecznej. request(card_number)
5 user 123123 inform(card_number)
6 system Masz jedną nieoddaną książkę. Zabić drozda Harper Lee; Sygnatura – 121212.VI; Zwrot – 12.04.21 do godziny 22:00 inform(status=Zabić drozda Harper Lee; Sygnatura – 121212.VI; Zwrot – 12.04.21 do godziny 22:00)
7 user Chciałbym wypożyczyć jakiś kryminał request(book=kryminał)
8 user Jakie są najlepsze kryminały w bibliotece? request(book=kryminał)
9 system Najczęściej wypożyczanym kryminałem jest książka Zabiłem autorstwa Jan Kowalski. inform(book=Zabiłem Jan Kowalski)
10 user Chciałbym wypożyczyć tą pozycję request(reservation)
11 system Książka została zarezerwowana i będzie do odbioru w następny dzień roboczy. Proszę pamiętać, że brak odbioru książki do 7 dni roboczych prowadzi do utraty rezerwacji. inform(reservation)
12 user Dziękuję thankyou()
13 system Dziękuję. Życzę udanej lektury. thankyou()

View File

@ -1,13 +0,0 @@
system Witamy w interaktywnej bibliotece. hello()
user Dzień dobry, chciałbym sprawdzić czy mam założone konto czytelnika hello()&request(have_account)
system Dzień dobry. Proszę podać imię, nazwisko, oraz datę urodzenia. hello()&request(personal_info)
user Piotr Kopycki 1998 inform(name=Piotr Kopycki,date_of_birth=1998)
system Niestety, nie posiada Pan karty bibliotecznej w naszym systemie. negate(have_account)
system Czy chce Pan ją założyć? request(create_an_account)
user Tak, poproszę affirm(create_an_account)
system Do założenia karty bibliotecznej konieczne jest wypełnienie karty zapisu i zapoznanie się z regulaminem, które znajdują się pod linkiem www.biblioteka.pl. inform(create_an_account)
system Czy mogę jeszcze jakoś pomóc? reqmore()
user Czy mogę wypożyczyć książkę bez karty? request(action=no_account)
system Niestety nie jest to możliwe w naszej bibliotece. negate()
user W takim razie to wszystko, skontaktuję się po zapoznaniu z regulaminem. bye()
system Oczywiście, czekam na kontakt. bye()
1 system Witamy w interaktywnej bibliotece. hello()
2 user Dzień dobry, chciałbym sprawdzić czy mam założone konto czytelnika hello()&request(have_account)
3 system Dzień dobry. Proszę podać imię, nazwisko, oraz datę urodzenia. hello()&request(personal_info)
4 user Piotr Kopycki 1998 inform(name=Piotr Kopycki,date_of_birth=1998)
5 system Niestety, nie posiada Pan karty bibliotecznej w naszym systemie. negate(have_account)
6 system Czy chce Pan ją założyć? request(create_an_account)
7 user Tak, poproszę affirm(create_an_account)
8 system Do założenia karty bibliotecznej konieczne jest wypełnienie karty zapisu i zapoznanie się z regulaminem, które znajdują się pod linkiem www.biblioteka.pl. inform(create_an_account)
9 system Czy mogę jeszcze jakoś pomóc? reqmore()
10 user Czy mogę wypożyczyć książkę bez karty? request(action=no_account)
11 system Niestety nie jest to możliwe w naszej bibliotece. negate()
12 user W takim razie to wszystko, skontaktuję się po zapoznaniu z regulaminem. bye()
13 system Oczywiście, czekam na kontakt. bye()

View File

@ -1,13 +0,0 @@
system Witamy w interaktywnej bibliotece. hello()
user Dzień dobry, chciałbym wypożyczyć książkę. hello()&request(book)
system Proszę o podanie tytułu i autora książki. request(book)
user Pan Tadeusz autorstwa Adama Mickiewicza request(reservation=Pan Tadeusz Adam Mickiewicz)
system Czy chodzi o książkę Pan Tadeusz Adam Mickiewicz? confirm(book=Pan Tadeusz Adam Mickiewicz)
user tak affirm()
system Proszę o podanie numeru Pana karty bibliotecznej. request(card_number)
user 12345 inform(card_number)
system Książki została zarezerwowana i będzie do odbioru w następny dzień roboczy. Proszę pamiętać, że brak odbioru książki do 7 dni roboczych prowadzi do utraty rezerwacji. inform(reservation)
user Chciałbym się jeszcze dowiedzieć, jakie książki do tej pory wypożyczyłem. request(status)
system Jak dotąd wypożyczyłeś tylko jedną książkę - Zabić drozda Harper Lee. Zachęcamy do częstszego korzystania z naszych usług. inform(status=Zabić drozda Harper Lee)
user Dziękuję, to wszystko. thankyou()
system Dziękuję. Życzę udanej lektury. thankyou()
1 system Witamy w interaktywnej bibliotece. hello()
2 user Dzień dobry, chciałbym wypożyczyć książkę. hello()&request(book)
3 system Proszę o podanie tytułu i autora książki. request(book)
4 user Pan Tadeusz autorstwa Adama Mickiewicza request(reservation=Pan Tadeusz Adam Mickiewicz)
5 system Czy chodzi o książkę Pan Tadeusz Adam Mickiewicz? confirm(book=Pan Tadeusz Adam Mickiewicz)
6 user tak affirm()
7 system Proszę o podanie numeru Pana karty bibliotecznej. request(card_number)
8 user 12345 inform(card_number)
9 system Książki została zarezerwowana i będzie do odbioru w następny dzień roboczy. Proszę pamiętać, że brak odbioru książki do 7 dni roboczych prowadzi do utraty rezerwacji. inform(reservation)
10 user Chciałbym się jeszcze dowiedzieć, jakie książki do tej pory wypożyczyłem. request(status)
11 system Jak dotąd wypożyczyłeś tylko jedną książkę - Zabić drozda Harper Lee. Zachęcamy do częstszego korzystania z naszych usług. inform(status=Zabić drozda Harper Lee)
12 user Dziękuję, to wszystko. thankyou()
13 system Dziękuję. Życzę udanej lektury. thankyou()

View File

@ -1,11 +0,0 @@
system Witamy w interaktywnej bibliotece. hello()
user Witam. Chciałbym wypożyczyć książkę. hello()&request(book)
system Proszę podać tytuł oraz autora książki. request(book)
user Wywiad z Wampirem, Anna Rice. Czy jest dostępne wydanie z lat 70-tych? request(reservation=Wywiad z Wampirem Anna Rice)&request(edition_info=Wywiad z Wampirem Anna Rice)
system Czy chodzi o książkę Wywiad z Wampirem Anna Rice? Dostępne wydania pochodzą z 1997 oraz 2004. confirm(book=Wywiad z Wampirem Anna Rice)&info(edition_info=1997 i 2004)
user Tak affirm()
system Czy chcesz wypożyczyć tę pozycję? request(reservation)
user Tak affirm(reservation)
system Książka została zarezerwowana i będzie do odbioru w następny dzień roboczy. Proszę pamiętać, że brak odbioru książki do 7 dni roboczych prowadzi do utraty rezerwacji. inform(reservation)
user Dziękuję za pomoc. thankyou()
system Dziękuję również. Życzę udanej lektury. thankyou()
1 system Witamy w interaktywnej bibliotece. hello()
2 user Witam. Chciałbym wypożyczyć książkę. hello()&request(book)
3 system Proszę podać tytuł oraz autora książki. request(book)
4 user Wywiad z Wampirem, Anna Rice. Czy jest dostępne wydanie z lat 70-tych? request(reservation=Wywiad z Wampirem Anna Rice)&request(edition_info=Wywiad z Wampirem Anna Rice)
5 system Czy chodzi o książkę Wywiad z Wampirem Anna Rice? Dostępne wydania pochodzą z 1997 oraz 2004. confirm(book=Wywiad z Wampirem Anna Rice)&info(edition_info=1997 i 2004)
6 user Tak affirm()
7 system Czy chcesz wypożyczyć tę pozycję? request(reservation)
8 user Tak affirm(reservation)
9 system Książka została zarezerwowana i będzie do odbioru w następny dzień roboczy. Proszę pamiętać, że brak odbioru książki do 7 dni roboczych prowadzi do utraty rezerwacji. inform(reservation)
10 user Dziękuję za pomoc. thankyou()
11 system Dziękuję również. Życzę udanej lektury. thankyou()

View File

@ -1,9 +0,0 @@
system Witamy w interaktywnej bibliotece. hello()
user Chciałbym wyrobić kartę biblioteczną request(create_an_account)
system Do założenia karty bibliotecznej konieczne jest wypełnienie karty zapisu i zapoznanie się z regulaminem. Są one dostępne pod adresem www.biblioteka.pl inform(create_an_account=karta zapisu)
user Można to zrobić przez internet? request(info=create_an_account)
system Kartę zapisu można wypełnić przez internet. Następnie należy udać się do naszej placówki w celu odebrania dokumentu. Wymagany będzie dowód osobisty lub legitymacja szkolna/studencka. inform(create_an_account)
user Skąd będę wiedział kiedy moge to odebrać?? request(time)
system Gdy dokument będzie gotowy otrzyma Pan powiadomienie na podany w formularzy adres email. Maksymalny czas oczekiwania to 5 dni roboczych. inform(new_account)
user Dobrze, dziękuję za rozmowę thankyou()
system Dziękuję również. W razie pojawiających się pytań proszę o kontakt. thankyou()
1 system Witamy w interaktywnej bibliotece. hello()
2 user Chciałbym wyrobić kartę biblioteczną request(create_an_account)
3 system Do założenia karty bibliotecznej konieczne jest wypełnienie karty zapisu i zapoznanie się z regulaminem. Są one dostępne pod adresem www.biblioteka.pl inform(create_an_account=karta zapisu)
4 user Można to zrobić przez internet? request(info=create_an_account)
5 system Kartę zapisu można wypełnić przez internet. Następnie należy udać się do naszej placówki w celu odebrania dokumentu. Wymagany będzie dowód osobisty lub legitymacja szkolna/studencka. inform(create_an_account)
6 user Skąd będę wiedział kiedy moge to odebrać?? request(time)
7 system Gdy dokument będzie gotowy otrzyma Pan powiadomienie na podany w formularzy adres email. Maksymalny czas oczekiwania to 5 dni roboczych. inform(new_account)
8 user Dobrze, dziękuję za rozmowę thankyou()
9 system Dziękuję również. W razie pojawiających się pytań proszę o kontakt. thankyou()

View File

@ -1,9 +0,0 @@
version: "3.6"
services:
convlab:
build:
context: .
dockerfile: ./Dockerfile
ports:
- 8888:8888

359
doctor.txt Normal file
View File

@ -0,0 +1,359 @@
initial: Jak sie masz? Jaki masz problem?
final: Do widzenia. Dziekuje Ci za rozmowe.
quit: pa
quit: do widzenia
quit: zakoncz
pre: nie
pre: nie moge
pre: nie bede
pre: przypominam pamietam
pre: marzyl marze
pre: marzenia marzenie
pre: jak co
pre: kiedy co
pre: na pewno tak
pre: maszyna komputer
pre: komputery komputer
pre: byl
pre: jestes
pre: jestes
pre: taki sam podobny
post: jestem
post: twoj moh
post: ja ty
post: sobie siebie
post: siebie sobie
post: ja ty
post: ty ja
post: moj twoj
post: jestem jestes
synon: przekonanie czuc myslec wierzyc pranienie
synon: rodzina matka mama ojciec tata siostra brat zona dzieci dziecko
synon: pragienie chec potrzeba
synon: smutny nieszczesliwy przygnebiony chory
synon: szczesliwy podniecony zadowolony lepszy
synon: nie moge
synon: kazdy wszyscy nikt
synon: byc jestem jest sa byl
key: xnone
decomp: *
reasmb: Nie jestem pewien, czy w pelni cie rozumiem.
reasmb: Prosze, kontynuuj.
reasmb: Co ci to sugeruje ?
reasmb: Czy odczuwasz silne emocje przy omawianiu takich tematow ?
key: przepraszam
decomp: *
reasmb: Prosze, nie przepraszaj.
reasmb: Przeprosiny nie sa konieczne.
reasmb: Mowilam ci, ze przeprosiny nie sa wymagane.
key: przepraszac
decomp: *
reasmb: goto przepraszam
key: pamietac 5
decomp: * pamietam *
reasmb: Czy czesto myslisz o (2) ?
reasmb: Czy myslenie o (2) przywodzi na mysl cokolwiek innego ?
reasmb: O czym jeszcze sobie przypominasz ?
reasmb: Dlaczego wlasnie teraz przypominasz sobie (2) ?
reasmb: Co w obecnej sytuacji przypomina (2) ?
reasmb: Jaki jest zwiazek miedzy mna a (2) ?
decomp: * czy pamietasz *
reasmb: Czy myslales, ze zapomne (2) ?
reasmb: Dlaczego myslisz, ze powinnam teraz przypomniec sobie (2)?
reasmb: A co z (2) ?
reasmb: goto co
reasmb: Wspomniales o (2) ?
key: jezeli 3
decomp: * jezeli *
reasmb: Czy uwazasz, iz to prawdopodobne, ze (2) ?
reasmb: Czy chcesz, zeby (2) ?
reasmb: Co wiesz o (2) ?
reasmb: Naprawde, jesli (2) ?
key: marzylem 4
decomp: * marzylem *
reasmb: Naprawde, (2) ?
reasmb: Czy kiedykolwiek fantazjowales o (2) kiedy nie spales ?
reasmb: Czy kiedykolwiek zdarzylo Ci sie snic o (2) ?
reasmb: goto dream
key: snic 3
decomp: *
reasmb: Co sugeruje ci ten sen ?
reasmb: Czy czesto snisz ?
reasmb: Jakie osoby pojawiaja sie w twoich snach ?
reasmb: Czy wierzysz, ze sny maja cos wspolnego z Twoimi problemami ?
key: mozliwe
decomp: *
reasmb: Nie wygladasz na pewnego.
reasmb: Skad ten niepewny ton ?
reasmb: Nie mozesz byc bardziej pozytywny ?
reasmb: Nie jestes pewien ?
reasmb: Nie wiesz ?
key: imie 15
decomp: *
reasmb: Nie interesuje mnie Twoje imie.
reasmb: Jak wspomnialem wczesniej, nie interesuje mnie Twoje imie - prosze kontynuuj.
key: deutsch
decomp: *
reasmb: goto xforeign
reasmb: Jak wspomnialem wczesniej, nie znam niemieckiego.
key: francais
decomp: *
reasmb: goto xforeign
reasmb: Jak wspomnialem wczesniej, nie znam francuskiego
key: italiano
decomp: *
reasmb: goto xforeign
reasmb: Jak wspomnialem wczesniej, nie znam wloskiego.
key: espanol
decomp: *
reasmb: goto xforeign
reasmb: Jak wspomnialem wczesniej, nie znam hiszpanskiego.
key: xforeign
decomp: *
reasmb: Mowie wylacznie w jezyku polskim.
key: czesc
decomp: *
reasmb: Jak sie masz? Jaki masz problem?
reasmb: Czesc. Jaki masz problem?
key: komputer 50
decomp: *
reasmb: Czy komputery Cie martwia?
reasmb: Dlaczego wspominasz komputery?
reasmb: Jak sadzisz, co komputery maja wspolnego z Twoim problemem?
reasmb: Nie sadzisz, ze komputery moga pomagac ludziom?
reasmb: Dlaczego maszyny budza Twoje zaniepokojenie?
reasmb: Co sadzisz o maszynach?
key: jestem
decomp: * jestem *
reasmb: Czy wierzysz, ze jestes (2) ?
reasmb: Chcialbys byc (2) ?
reasmb: Czy zyczysz sobie, zebym powiedzial Ci (2) ?
reasmb: Co by to oznaczalo gdybys byl (2) ?
reasmb: goto co
decomp: *
reasmb: Dlaczego mowisz 'jestem' ?
reasmb: Nie zrozumialem tego.
key: sa
decomp: * jestem *
reasmb: Dlaczego interesuje Cie czy jestem (2) lub tez nie ?
reasmb: Czy wolalbys gdybym nie byl (2) ?
reasmb: Byc moze jestem (2) w Twoich fantazjach.
reasmb: Czy czasem myslisz, ze jestem (2) ?
reasmb: goto co
decomp: * jestes *
reasmb: Czy uwazasz, ze oni moga nie byc (2) ?
reasmb: Wolalbys gdyby nie byli (2) ?
reasmb: Co gdyby nie byli (2) ?
reasmb: Mozliwe, ze jestes (2) .
key: twoj
decomp: * twoj*
reasmb: Dlaczego martwi Cie moje (2) ?
reasmb: Co z twoim wlasnym (2) ?
reasmb: Czy martwi Cie czyjes (2) ?
reasmb: Naprawde, moje (2) ?
key: bylem 2
decomp: * bylem *
reasmb: Co jesli byles (2) ?
reasmb: Czy uwazasz, ze byles (2) ?
reasmb: Byles (2) ?
reasmb: Co by to znaczylo, jezeli byles (2) ?
reasmb: Co (2) dla Ciebie znaczy ?
reasmb: goto co
decomp: * bylem *
reasmb: Naprawde byles ?
reasmb: Dlaczego mowisz mi, ze byles (2) teraz?
reasmb: Byc moze I juz wiem, ze byles (2) .
decomp: * byles *
reasmb: Czy wolisz wierzyc, ze ja bylem (2) ?
reasmb: Co sugeruje, ze ja bylem (2) ?
reasmb: Jak myslisz ?
reasmb: Byc moze bylem (2) .
reasmb: Co jezeli bylem (2) ?
key: ja
decomp: * ja chce *
reasmb: Co by to dla Ciebie znaczylo, jezeli dostalbys ?
reasmb: Czego wlasciwie chcesz ?
reasmb: Zalozmy, ze znajdziesz niedlugo ?
reasmb: Co jezeli nigdy nie znajdziesz ?
reasmb: Co znalezienie znaczy dla Ciebie ?
reasmb: Co potrzeba ma wspolnego z ta dyskusja ?
decomp: * ja jestem * @smutny *
reasmb: Przykro mi, ze jestes (3) .
reasmb: Myslisz, ze ta rozmowa ci pomoze i nie bedziesz juz (3) ?
reasmb: Jestem pewny, ze bycie (3)m nie jest przyjemne .
reasmb: Mozesz wyjasnic co sie stalo, ze jestes (3) ?
decomp: * ja jestem * @szczesliwy *
reasmb: Jak ci pomoglem byc (3)m ?
reasmb: Czy dzieki terapi jestes (3) ?
reasmb: Co sprawilo, ze jestes teraz (3) ?
reasmb: Mozesz powiedziec dlaczego nagle jestes (3) ?
decomp: * bylem *
reasmb: goto bylem
decomp: * ja @przekonanie * ja *
reasmb: Naprawde tak uwazasz ?
reasmb: Ale nie jestes pewnie, ze (3) .
reasmb: Naprawde watpisz, ze (3) ?
decomp: * ja * @przekonanie * ty *
reasmb: goto ty
decomp: * ja jestem *
reasmb: Rozmawiasz ze mna bo jestes (2) ?
reasmb: Jak dlugo jestes (2) ?
reasmb: Myslisz, ze to normalne, ze jestes (2) ?
reasmb: Cieszysz sie, ze jestes (2) ?
decomp: * @nie moge *
reasmb: Jak sadzisz, dlaczego (3) ?
reasmb: Sprobowales ?
reasmb: Moze moglbys teraz (3) .
reasmb: Na prawde chcialbys moc (3) ?
decomp: * nie wiem *
reasmb: Naprawde nie (2) ?
reasmb: Dlaczego nie (2) ?
reasmb: Chcesz moc (2) ?
reasmb: Martwki cie to ?
decomp: * czy czuje *
reasmb: Powiedz mi wiecej o tym uczuciu.
reasmb: Czesto czujesz sie (2) ?
reasmb: Lubisz czuc sie (2) ?
reasmb: Gdy czujesz sie (2) - o czym ci to przypomina?
decomp: * ja * ty *
reasmb: Moze w twoich marzeniach my (2) siebie nawzajem.
reasmb: Chcialbys mnie (2) ?
reasmb: Zdajesz sie mnie (2).
reasmb: Czy (2) kogos jeszcze ?
decomp: *
reasmb: Powiedziales (1) ?
reasmb: Mozesz rozwinac te mysl ?
reasmb: Powiedziles (1) z jakiejs konkretnej przyczyny ?
reasmb: To dosc interesujace.
key: ty
decomp: * ty przypominasz mi o *
reasmb: goto podobny
decomp: * ty jestes *
reasmb: Co sprawia, ze myslisz, ze jestem (2) ?
reasmb: Cieszy cie mysl, ze jestem (2) ?
reasmb: Chcialbys czasami byc (2) ?
reasmb: Moze chcialbys byc (2) .
decomp: * ty * mnie *
reasmb: Dlaczego uwazasz, ze ja (2) ciebie ?
reasmb: Chcialbys mysle, ze ja ciebie (2) -- nie ?
reasmb: Dlaczego uwazasz, ze ja ciebie (2) ?
reasmb: Naprawde, (2) ciebie ?
reasmb: Chcialbys wierzyc, ze ja ciebie (2) ?
reasmb: Zakladasz, ze ja (2) ciebie -- co to oznacza ?
reasmb: Czy jeszcze ktos wierzy, ze ja ciebie (2) ?
decomp: * ty *
reasmb: Mowilismy o tobie -- nie o mnie.
reasmb: Och, ja (2) ?
reasmb: Chyba nie mowisz o mnie, nie ?
reasmb: Jak sie teraz czujesz ?
key: tak
decomp: *
reasmb: Zdajesz sie byc pewny.
reasmb: Jestes pewny.
reasmb: Rozumiem.
reasmb: Rozumiem.
key: nie
decomp: *
reasmb: Mowisz nie na zlosc?
reasmb: Jestes troszeczke zlosliwy.
reasmb: Dlaczego nie ?
reasmb: Dlaczegoe 'nie' ?
key: moj 2
decomp: $ * moj *
reasmb: Przedyskutujmy dlaczego twoj (2) .
reasmb: Wczesniej powiedziales, ze twoj (2) .
reasmb: Ale twoj (2) .
reasmb: Czy to ma jakis zwiazek z tym, ze twoj (2) ?
decomp: * moja * @rodzina *
reasmb: Opowiedz mi o twojej rodzinie.
reasmb: Kto jeszcze w twojej rodzinie (4) ?
reasmb: Twoj (3) ?
reasmb: Co jeszcze przychodzi ci do glowy, gdy myslisz o (3) ?
decomp: * moj *
reasmb: Twoj (2) ?
reasmb: Dlaczego mowisz, ze twoj (2) ?
reasmb: Czy to sugeruje cos innego, co nalezy do ciebie ?
reasmb: Czy wazne jest, aby twoj (2) ?
key: moge
decomp: * czy mozesz *
reasmb: Wierzysz, ze moge (2) prawda ?
reasmb: goto co
reasmb: Chesz, zebym byla w stanie (2) .
reasmb: Byc moze chcialbys miec mozliwosc (2) sobie.
decomp: * czy moge *
reasmb: To czy mozesz (2) zalezy bardziej od ciebie niz ode mnie.
reasmb: Chesz, zebym byla w stanie (2) ?
reasmb: Moze nie chcesz (2) .
reasmb: goto co
key: co
decomp: *
reasmb: Dlaczego pytasz ?
reasmb: Czy to pytanie cie interesuje ?
reasmb: Co tak naprawde chciales wiedziec ?
reasmb: Czy takie pytanie zaprzataja ci glowe ?
reasmb: Jaka odpowiedz najbardziej by cie ucieszyla ?
reasmb: Co myslisz ?
reasmb: Co przychodzi ci na mysl, gdy pytasz o to ?
reasmb: Czy zadawales wczesniej takie pytania ?
reasmb: Czy pytales kogos innego ?
key: poniewaz
decomp: *
reasmb: Czy to jest prawdziwy powod ?
reasmb: Nie przychodza ci na mysl zadne inne powody ?
reasmb: Czy ten powod wydaje sie wyjasniac cokolwiek innego ?
reasmb: Jakie inne powody moga istniec ?
key: dlaczego
decomp: * dlaczego nie *
reasmb: Uwierzysz, ze ja nie (2) ?
reasmb: Byc moze bede (2) w odpowiednim czasie.
reasmb: Czy powinienies (2) sobie ?
reasmb: Chesz, abym (2) ?
reasmb: goto co
decomp: * dlaczego ja nie moge *
reasmb: Czy uwazasz, ze powinienes miec mozliwosc (2) ?
reasmb: Czy chcesz miec mozliwosc (2) ?
reasmb: Czy uwazasz, ze to pomoze ci (2) ?
reasmb: Czy masz pojecie, dlaczego nie mozesz (2) ?
reasmb: goto co
decomp: *
reasmb: goto co
key: wszyscy 2
decomp: * @wszyscy *
reasmb: Naprawde, (2) ?
reasmb: Zdecydowanie nie (2) .
reasmb: Czy przychodzi ci na mysl ktos szczegolny ?
reasmb: Kto, dla przyklady?
reasmb: Czy myslisz o bardzo szczegolnej osobie ?
reasmb: Kto, jezeli moge zapytac ?
reasmb: Moze ktos wyjatkowy ?
reasmb: Masz na mysli konkretna osobe, prawda ?
reasmb: Kogo masz konkretnie na mysli ?
key: wszyscy 2
decomp: *
reasmb: goto wszyscy
key: nikt 2
decomp: *
reasmb: goto wszyscy
key: nikt 2
decomp: *
reasmb: goto wszyscy
key: zawsze 1
decomp: *
reasmb: Czy mozesz podac jakis konkretny przyklad ?
reasmb: Kiedy ?
reasmb: O jakim wydarzeniu myslisz ?
reasmb: Naprawde, zawsze ?
key: podobnie 10
decomp: *
reasmb: W jaki sposob ?
reasmb: Jakie widzisz podobienstwo ?
reasmb: Co to podobienstwo sugeruje ?
reasmb: Jakie inne zwiazki widzisz ?
reasmb: Co wedlug ciebie oznacza to podobienstwo ?
reasmb: Jaki to ma zwiazek, jak sadzisz ?
reasmb: Czy naprawde moze tu byc jakis zwiazek ?
reasmb: Jak ?
key: jak 10
decomp: * @jestem * jak *
reasmb: goto podobnie

216
eliza.py Normal file
View File

@ -0,0 +1,216 @@
import random
import re
try: input = raw_input
except NameError: pass
class Key:
def __init__(self, word, weight, decomps):
self.word = word
self.weight = weight
self.decomps = decomps
class Decomp:
def __init__(self, parts, save, reasmbs):
self.parts = parts
self.save = save
self.reasmbs = reasmbs
self.next_reasmb_index = 0
class Eliza:
def __init__(self):
self.initials = []
self.finals = []
self.quits = []
self.pres = {}
self.posts = {}
self.synons = {}
self.keys = {}
self.memory = []
def load(self, path):
key = None
decomp = None
with open(path) as file:
for line in file:
if not line.strip():
continue
tag, content = [part.strip() for part in line.split(':')]
if tag == 'initial':
self.initials.append(content)
elif tag == 'final':
self.finals.append(content)
elif tag == 'quit':
self.quits.append(content)
elif tag == 'pre':
parts = content.split(' ')
self.pres[parts[0]] = parts[1:]
elif tag == 'post':
parts = content.split(' ')
self.posts[parts[0]] = parts[1:]
elif tag == 'synon':
parts = content.split(' ')
self.synons[parts[0]] = parts
elif tag == 'key':
parts = content.split(' ')
word = parts[0]
weight = int(parts[1]) if len(parts) > 1 else 1
key = Key(word, weight, [])
self.keys[word] = key
elif tag == 'decomp':
parts = content.split(' ')
save = False
if parts[0] == '$':
save = True
parts = parts[1:]
decomp = Decomp(parts, save, [])
key.decomps.append(decomp)
elif tag == 'reasmb':
parts = content.split(' ')
decomp.reasmbs.append(parts)
def _match_decomp_r(self, parts, words, results):
if not parts and not words:
return True
if not parts or (not words and parts != ['*']):
return False
if parts[0] == '*':
for index in range(len(words), -1, -1):
results.append(words[:index])
if self._match_decomp_r(parts[1:], words[index:], results):
return True
results.pop()
return False
elif parts[0].startswith('@'):
root = parts[0][1:]
if not root in self.synons:
raise ValueError("Unknown synonym root {}".format(root))
if not words[0].lower() in self.synons[root]:
return False
results.append([words[0]])
return self._match_decomp_r(parts[1:], words[1:], results)
elif parts[0].lower() != words[0].lower():
return False
else:
return self._match_decomp_r(parts[1:], words[1:], results)
def _match_decomp(self, parts, words):
results = []
if self._match_decomp_r(parts, words, results):
return results
return None
def _next_reasmb(self, decomp):
index = decomp.next_reasmb_index
result = decomp.reasmbs[index % len(decomp.reasmbs)]
decomp.next_reasmb_index = index + 1
return result
def _reassemble(self, reasmb, results):
output = []
for reword in reasmb:
if not reword:
continue
if reword[0] == '(' and reword[-1] == ')':
index = int(reword[1:-1])
if index < 1 or index > len(results):
raise ValueError("Invalid result index {}".format(index))
insert = results[index - 1]
for punct in [',', '.', ';']:
if punct in insert:
insert = insert[:insert.index(punct)]
output.extend(insert)
else:
output.append(reword)
return output
def _sub(self, words, sub):
output = []
for word in words:
word_lower = word.lower()
if word_lower in sub:
output.extend(sub[word_lower])
else:
output.append(word)
return output
def _match_key(self, words, key):
for decomp in key.decomps:
results = self._match_decomp(decomp.parts, words)
if results is None:
continue
results = [self._sub(words, self.posts) for words in results]
reasmb = self._next_reasmb(decomp)
if reasmb[0] == 'goto':
goto_key = reasmb[1]
if not goto_key in self.keys:
raise ValueError("Invalid goto key {}".format(goto_key))
return self._match_key(words, self.keys[goto_key])
output = self._reassemble(reasmb, results)
if decomp.save:
self.memory.append(output)
continue
return output
return None
def respond(self, text):
if text.lower() in self.quits:
return None
text = re.sub(r'\s*\.+\s*', ' . ', text)
text = re.sub(r'\s*,+\s*', ' , ', text)
text = re.sub(r'\s*;+\s*', ' ; ', text)
words = [w for w in text.split(' ') if w]
words = self._sub(words, self.pres)
keys = [self.keys[w.lower()] for w in words if w.lower() in self.keys]
keys = sorted(keys, key=lambda k: -k.weight)
output = None
for key in keys:
output = self._match_key(words, key)
if output:
break
if not output:
if self.memory:
index = random.randrange(len(self.memory))
output = self.memory.pop(index)
else:
output = self._next_reasmb(self.keys['xnone'].decomps[0])
return " ".join(output)
def initial(self):
return random.choice(self.initials)
def final(self):
return random.choice(self.finals)
def run(self):
print(self.initial())
while True:
sent = input('> ')
output = self.respond(sent)
if output is None:
break
print(output)
print(self.final())
def main():
eliza = Eliza()
eliza.load('doctor.txt')
eliza.run()
if __name__ == '__main__':
main()

View File

@ -1,31 +0,0 @@
import os
import re
import pandas as pd
import numpy as np
from Modules import NLU
PATTERN = r"[^(]*"
# Algorytm sprawdzający
rows = 0
hits = 0
nlu = NLU()
for file_name in os.listdir("data"):
df = pd.read_csv(f"data/{file_name}", sep="\t", names=["user", "sentence", "acts"])
df = df[df.user == "user"]
data = np.array(df)
for row in data:
rows += 1
sentence = row[1]
user_acts = row[2].split("&")
nlu_match = nlu.match(sentence)
if nlu_match["act"] in user_acts:
hits += 1
print(f"Accuracy: {(hits / rows)*100}")
# Dokładność 38.5%

View File

@ -1,42 +0,0 @@
Zadowolenie użytkownika:
Miara ta została zbadana przy pomocy kwestionariusza ankiety udostępnionego pod adresem: https://forms.office.com/Pages/DesignPage.aspx#Analysis=true&FormId=4Z5ocy-0JU6l9mbR8pvAksTZBFwnYhpNiX-Xgn9ie2xUMTBSWENQVkMzUUszWEhCRjkzTkhGN1lDVCQlQCN0PWcu
W toku badania zadowolenia uzyskanych zostało osiem odpowiedzi dotyczących takich kwestii jak: ocena jakości prowadzonej rozmowy, realizacja celu, stopień realizacji celu, chaotyczność przebiegu rozmowy czy czas jaki zajęło uzyskanie pożądanej informacji.
1. Średnia ocena jakości przeprowadzonej rozmowy wyniosła 6.63 - najniższa uzyskana ocena wyniosła trzy, a najwyższa dziesięć. Uzyskane oceny były związane ze skomplikowaniem i długością dialogu, im dłuższy i bardziej rozbudowany dialog tym niższa ocena, co związane było z niedostatecznym pokryciem wszystkich opcji. Najwyższą skuteczność bot uzyskiwał w przypadku dialogów dotyczących wypożyczeń, a najniższą w przypadku opcji dodatkowych takich jak zakładanie karty bibliotecznej czy kar.
2. Równocześnie, jak wynika z odpowiedzi w pytaniu drugim aż siedem z ośmiu użytkowników wskazało, że ostatecznie cel rozmowy został realizowany, jedna osoba wskazała, że nie wie, podczas gdy nikt nie wskazał odpowiedzi przeczącej. Co sugeruje, że pomimo problemów i niedociągnięć bot może zostać uznany za skutecznego.
3. Pytanie trzecie pozwoliło uzyskać dodatkowe informacje na temat skuteczności, ponieważ dwie osoby wskazały, że udało im się uzyskać odpowiedzi na wszystkie pytania, a kolejne sześć osób uznało, że udało im się uzyskać odpowiedź na większość pytań. Ponadto nikt nie wskazał odpowiedzi dotyczących uzyskania odpowiedzi na mniejszość pytań oraz odpowiedzi dotyczącej niezdolności uzyskania odpowiedzi na żadne pytanie. Tym samym potwierdza to wniosek wynikający z odpowiedzi na pytanie drugie.
4. W pytaniu czwartym użytkownicy mieli za zadanie wskazać, czy rozmowa miała chaotyczny przebieg, dwie osoby wskazały odpowiedź twierdzącą, pięć przeczącą, a jedna osoba stwierdziła że nie wie. Odpowiedzi negatywne dotyczą szczególnie tych bardziej rozbudowanych dialogów.
5. Pytanie piąte dotyczyło czasu potrzebnego do uzyskania satysfakcjonującej odpowiedzi, w trzech przypadkach ankietowani wskazali, że zajęło to mniej niż dwie minuty. Kolejne cztery osoby wskazały na przedział 2-5 minut, a jedna że proces ten zajął ponad 10 minut.
6. W pytaniu szóstym ankietowani zostali poproszeni żeby określić, czy w toku rozmowy pojawiły się zakłócenia. Według sześciu badanych zakłócenia w trakcie rozmowy nie wystąpiły, dwie osoby wskazały odpowiedź, że zakłócenia wystąpiły, ale były niewielkie. Nikt nie wskazał odpowiedzi mówiącej, że zakłócenia były duże.
7. Pytanie siódme miało charakter otwarty i dotyczyło opisu zakłóceń które wystąpiły w trakcie rozmowy, badani udzielili dwóch odpowiedzi. Jedna osoba wskazała, że system nie zrozumiał zapytania, podczas gdy druga wskazała, że system czasami wskazywał odpowiedź "Nie rozumiem pytania lub nie posiadamy takiej książki".
8. W pytaniu ósmym badani zostali poproszeni o wskazanie stopnia w jakim system rozumiał otrzymywane pytania. Skala miała charakter pięcio stopniowy i obejmowała odpowiedzi: zdecydowanie tak, tak, przeciętnie, nie, zdecydowanie nie. Tylko jedna osoba udzieliła odpowiedzi zdecydowanie tak, cztery osoby udzieliły odpowiedzi tak, a trzy osoby odpowiedzi przeciętnie. Nikt jednak nie wskazał odpowiedzi nie lub zdecydowanie nie.
9. W dodatkowych uwagach pojawiła się propozycja dodania dodatkowych informacji na temat terminów zwrotów czy książek do zwrotu, które obecnie nie są dostępne.
Miary wypełnienia zadania:
Task succes: 7/8 - ponieważ siedem osób wskazało, że cel rozmowy został zrealizowany, a jedna wskazała odpowiedź nie wiem, co zostało zinterpretowane jako porażkę czyli wartość 0.
Miary efektywności dialogu:
Czas:
86% dialogów zostało zrealizowanych w czasie poniżej 6 minut,
38% dialogów zostało zrealizowanych w czasie poniżej 2 minut,
13% dialogów było realizowanch w czasie powyżej 10 minut.
Liczba tur:
Średnia liczba tur: 4.3
Miary jakości dialogu
0/43 - liczba wystąpień aktu help w stosunku do pozostałych aktów
0/43 - liczba wystąpień aktu restart w stosunku do pozostałych aktów

@ -1 +0,0 @@
Subproject commit 3812629e8dde63edd4ca5ba94e93d919d50a5d66

171
main.py
View File

@ -1,171 +0,0 @@
from Modules import NLU
from typing import List, Tuple
import random
nlu = NLU()
def is_in_sentence(*args: str) -> bool:
sentence, *words = args
return any(word for word in words if word in sentence)
def act_hello() -> str:
return random.choice(
[
"Dzień dobry, witam w interaktywnej bibliotece",
"Witam w interaktywnej biblitece",
"Dzień dobry, w czym mogę pomóc?",
"Witam w interaktywnej bibliotece książnicy płockiej, jak mogę pomóc?",
]
)
def act_bye() -> str:
return random.choice(
["Do zobaczenia", "Dziękuję i życzę miłej lektury", "Do widzenia"]
)
def act_request(sentence: str, slots: List[Tuple[str, str]]) -> str:
if is_in_sentence(sentence, "wypożyczyć", "interesuje", "wypożyczenie"):
book = " ".join(slot[1] for slot in slots)
return f"Książka {book} została dla Ciebie zapisana i czeka na odbiór"
elif is_in_sentence(sentence, "oddać", "zwrócić"):
return "Proszę przynieść książkę/i do naszej biblioteki"
elif is_in_sentence(sentence, "rezerwacja", "zarezerwować", "rezerwacji"):
if slots:
book = " ".join(slot[1] for slot in slots)
return f"Książka {book} została zarezerwowana"
return "Niestety nie mamy tej książki"
elif is_in_sentence(sentence, "biblioteka", "otwarta"):
return "Biblioteka jest otwarta od poniedziałku do soboty w godzinach 8-20, bez świąt"
elif is_in_sentence(sentence, "założyć kartę", "założyć konto", "założyć"):
return """Założyć kartę biblioteczną można przez naszą stronę www.biblioteka.pl,
karta przyjdzie pocztą a opłata to 5 ."""
elif is_in_sentence(
sentence,
"zgubiona",
"zgubiłem kartę",
"zgubiłam kartę",
"zniszczyłem kartę",
"zniszczyłam kartę",
):
return "W razie zgubienia lub zniszczenia karty należy przyjść do biblioteki w celu jej zablokowania."
return "Nie rozumiem pytania lub nie posiadamy takiej książki"
def act_thankyou() -> str:
return random.choice(["Proszę!", "Nie ma za co", "Po to tutaj jestem!"])
def act_negate() -> str:
return "Akcja została cofnięta"
def act_confirm(sentence: str, slots: List[Tuple[str, str]]) -> str:
if slots:
book = " ".join(slot[1] for slot in slots)
if is_in_sentence(sentence, "wypożyczona"):
return f"Książka {book} została wypożyczona"
elif is_in_sentence(sentence, "zarezerwowana"):
return f"Książka {book} została zarezerwowana"
return "Nie rozumiem pytania lub nie posiadamy takiej książki"
def act_ack() -> str:
return random.choice(["W czymś jeszcze mogę pomóc?", "Co mogę jeszcze zrobić"])
def act_inform(sentence: str) -> str:
if is_in_sentence(sentence, "dostępna"):
return random.choice(
[
"Wskazana przez Ciebie pozycja niestety nie jest dostępna",
"Ksiązką, o którą pytasz jest aktualnie dostępna",
]
)
elif is_in_sentence(sentence, "wydawcy", "wydawca", "wydawnictwo", "wydawnictwa"):
return random.choice(
[
"Książka tego wydawcy jest dostępna",
"Książka tego wydawcy nie jest dostępna",
"Nie znaleziono wydawcy o tej nazwie",
]
)
elif is_in_sentence(sentence, "autor", "autora", "autorstwa"):
return random.choice(
[
"Książka tego autora nie jest dostępna",
"Książki tego autora są dostępne w bibliotece",
"Nie znaleziono autora o tym imieniu i nazwisku"
]
)
elif is_in_sentence(sentence, "godziny", "otwarta", "czynna", "otwarcie"):
return "Biblioteka jest otwarta w dni robocze w godzinach 8-16"
elif is_in_sentence(sentence, "lokalizacja", "lokalicazji", "adres", "ulica", "placówka"):
return "Biblioteka znajduje się na ul. Targowej 10 w Poznaniu"
elif is_in_sentence(
sentence,
"dni", "dzień",
"niedziela", "niedziele", "niedzielę",
"święta", "święto"
):
return "Biblioteka otwarta jest jedynie w dni robocze. Godziny otwarcia: 8-16"
elif is_in_sentence(sentence, "numer telefonu", "kontakt", "numer kontaltowy", "telefon"):
return "Numer kontaktowy: 123 456 789"
elif is_in_sentence(
sentence,
"wydarzenie", "wydarzenia",
"atrakcja", "atrakcje",
"spotkanie", "spotkania"
):
return random.choice(
[
"W najbliższy poniedziałek odbędzie się Dzień młodego czytelnika",
"Dzień fantastyki trwać będzie przez cały najbliższy weekend",
"Dzień promowania czytelnictwa to najbliższe wydarzenie (najbliższa sobota)",
"Obecnie nie ma żadnych zaplanowanych wydarzeń",
]
)
return "Niestety nie zrozumiałem? Jakich informacji szukasz?"
def act_affirm() -> str:
return random.choice(
[
"Zgadza się",
"Tak",
"Tak zgadza się",
]
)
def answer(sentence: str) -> str:
nlu_match = nlu.match(sentence)
act, slots = nlu_match["act"], nlu_match["slots"]
if act == "hello":
return act_hello()
elif act == "bye":
return act_bye()
elif act == "request":
return act_request(sentence, slots)
elif act == "thankyou":
return act_thankyou()
elif act == "negate":
return act_negate()
elif act == "confirm":
return act_confirm(sentence, slots)
elif act == "ack":
return act_ack()
elif act == "inform":
return act_inform(sentence)
elif act == "affirm":
return act_affirm(sentence, slots)
return "Nie rozumiem pytania lub nie posiadamy takiej książki"
while True:
sentence = input("Wiadomość użytkownika: ")
print(answer(sentence))

View File

@ -1,163 +0,0 @@
Interaktywna biblioteka
==============
Zadanie 1: Wypożyczenie książki
--------------------------------
*system:* Witamy w interaktywnej bibliotece.
*user:* Dzień dobry, chciałbym wypożyczyć książkę.
*system:* Proszę podać tytuł i autora wybranej książki.
*user:* Biała gorączka Hugo-Badera.
*system:* Czy chodzi o książkę "Biała gorączka" Jacek Hugo-Bader?
*user:* Tak.
*system:* Książka została wypożyczona.
Zadanie 2: Sprawdzenie dostępności
--------------------------
*system:* Witamy w interaktywnej bibliotece.
*user:* Dzień dobry, czy książka "Finansowy ninja" jest aktualnie dostępna?
*system:* Czy chodzi o książkę "Finansowy ninja" Michał Szafrański?
*user:* Tak.
*system:* Aktualnie dostępnych jest 5 egzemplarzy tej książki.
Zadanie 3: Zamówienie książki
--------------------------
*system:* Witamy w interaktywnej bibliotece.
*user:* Dzień dobry. Chciałbym zamówić książkę.
*system:* Proszę podać tytuł i autora wybranej pozycji.
*user:* 12 życiowych zasad Petersona.
*system:* Czy chodzi o książkę "12 życiowych zasad. Antidotum na chaos" Jordan B. Peterson?
*user:* Dokładnie tak.
*system:* Książka nie jest aktualnie dostępna. Zostanie jednak zarezerwowana, a Pan poinformowany o jej dostępności.
Zadanie 4: Zamówienie wysyłki
--------------------------
*system:* Witamy w interaktywnej bibliotece.
*user:* Dzień dobry, chciałbym zamówić wysyłkę książki.
*system:* Proszę podać tytuł i autora wybranej pozycji.
*user:* Nowy wspaniały świat, Aldousa Huxleya.
*system:* Czy chodzi o książkę "Nowy wspaniały świat" Aldous Huxley?
*user:* Tak.
*system:* Adres wysyłki jest zgodny z podanym w karcie, tj. Uniwersytetu Poznańskiego 4, 61-614 Poznań?
*user:* Tak.
*system:* Książka zostanie dostarczona w ciągu 10 dni roboczych.
Zadanie 5: Przedłużenie wypożyczenia
--------------------------
*system:* Witamy w interaktywnej bibliotece.
*user:* Dzień dobry, chciałbym przedłużyć wypożyczenie książki.
*system:* Proszę podać tytuł i autora aktualnie wypożyczonej pozycji.
*user:* Norwegian Wood, Haruki Murakami.
*system:* Czy chodzi o książkę "Norwegian Wood" Haruki Murakami?
*user:* Tak.
*system:* Termin wypożyczenia książki kończy się za 5 dni. Możliwe jest przedłużenie o miesiąc, dana pozycja może być przedłużana trzy razy pod rząd. Czy dokonać przedłużenia?
*user:* Tak.
*system:* Wypożyczenie zostało przedłużone o miesiąc, obecny termin upływa za 35 dni (DD-MM-YYYY).
Zadanie 6: Założenie karty bibliotecznej
--------------------------
*system:* Witamy w interaktywnej bibliotece.
*user:* Dzień dobry, chciałbym założyć kartę biblioteczną.
*system:* Do założenia karty bibliotecznej konieczne jest wypełnienie karty zapisu i zapoznanie się z regulaminem.
*user:* Gdzie znaleźć kartę zapisu i regulamin?
*system:* Wzór karty zapisu znajduje się pod tym linkiem: LINK, a regulamin pod tym linkiem: LINK,
*user:* Co należy zrobić po wypełnieniu karty zapisu?
*system:* Konieczne jest udanie się do biblioteki znajdującej się pod adresem: ADRES i odebranie dokumenty, niezbędne będzie także okazanie dowodu osobistego lub legitymacji szkolnej/studenckiej.
Zadanie 7: Podgląd rozliczeń
--------------------------
*system:* Witamy w interaktywnej bibliotece.
*user:* Dzień dobry, chciałbym sprawdzić moje rozliczenia.
*system:* Obecnie posiadasz X niezwróconych w terminie książek, w związki z tym rozpoczęło się naliczanie odsetek.
*user:* Ile muszę zapłacić za przetrzymane książki?
*system:* Suma wszystkich należności wynosi Y.
*user:* Jak mogę dokonać płatności?
*system:* W dowolnej placówce biblioteki albo dokonując przelewu na konto o numerze: XXXX-XXXX-XXXX-XXX w opisie podając numer karty bibliotecznej.
Zadanie 8: Podgląd aktualnych wydarzeń
--------------------------
*system:* Witamy w systemie interaktywnej biblioteki.
*user:* Proszę o informacje o aktualnych wydarzeniach.
*system:* 12.05.21, 18:00 Spotkanie autorskie z Marcinem Wichą LINK,
17.05.21, 18:00 Spotkanie Klubu Książki LINK,
26.05.21, 19:00 Konkurs Młodego Poety LINK.
Zadanie 9: Status wypożyczonej książki
--------------------------
*system:* Witamy w systemie interaktywnej biblioteki.
*user:* Chciałbym uzyskać informacje o statusie książki.
*system:* Proszę podać sygnaturę książki.
*user* 121212.VI
*system:* Zabić drozda - Harper Lee; Sygnatura 121212.VI; Zwrot 12.04.21 do godziny 22:00
Zadanie 10: Informacja o godzinach otwarcia
--------------------------
*system:* Witamy w systemie interaktywnej biblioteki.
*user:* Dzień dobry, chciałbym uzyskać informację o godzinach otwarcia biblioteki w środy.
*system:* Biblioteka jest czynna środy w godzinach 10:00-21:00. Biblioteka on-line jest dostępna całodobowo.
*user:* W jakich godzinach biblioteka jest otwarta w weekend?
*system:* Biblioteka jest czynna w sobotę w godzinach 10:00-14:00, w niedzielę biblioteka jest nieczynna. Biblioteka on-line jest dostępna całodobowo.

View File

@ -1,402 +0,0 @@
{
"books":{
"title": [
"Bezsenność w Tokio",
"Sapiens Od zwierząt do bogów",
"1Q84",
"Zbrodnia i Kara",
"Ojczyzna",
"Metro 2033",
"Zwodniczy Punkt",
"Wywiad z wampirem",
"Wilkołak",
"Ekstremista",
"Szóstka wron",
"Miasto z mgły",
"Zapis zarazy",
"Angst with happy ending",
"Wiedźmin",
"Hobbit",
"Mitologia grecka i rzymska",
"Jak człowiek staje się mordercą",
"Mroeczne archiwa",
"Alianci",
"Kuchnie świata",
"Kres czasów",
"Jak ocalić świat",
"Mieszkaj boho",
"Potęga checklisty",
"Sen o okapi",
"ON",
"Przygody matematyka",
"Dwanaście Stacji",
"Krew",
"Milczenie owiec",
"Duma i uprzedzenie",
"Władca Pierścieni",
"Jane Eyre",
"Harry Potter i kamień filozoficzny",
"Zabić drozda",
"Wichrowe Wzgórza",
"Rok 1984",
"Mroczne materie",
"Wielkie nadzieje",
"Małe kobietki",
"Tessa DUrberville",
"Paragraf 22",
"Rebeka",
"Birdsong",
"Buszujący w zbożu",
"Żona podróżnika w czasie",
"Miasteczko Middlemarch",
"Przeminęło z wiatrem",
"Wielki Gatsby",
"Samotnia",
"Wojna i pokój",
"Autostopem przez Galaktykę",
"Znowu w Brideshead",
"Grona gniewu",
"Alicja w Krainie Czarów",
"O czym szumią wierzby",
"Anna Karenina",
"David Copperfield",
"Opowieści z Narnii",
"Emma",
"Perswazje",
"Lew, Czarwnica i Stara Szafa"
],
"author": [
"Marcin Bruczkowski",
"Harari Yuval Noah",
"Haruki Murakami",
"Fiodor Dostojewski",
"Wojciech Chmielarz",
"Remigiusz Mróz",
"Leigh Bardugo",
"Carlos Ruiz Zafon",
"Tomasz Budzyński",
"Weronika Łodyga",
"Andrzej Sapkowski",
"J R R Tolkien",
"Katarzyna Marciniak",
"Richard Taylor",
"Megan Rosenbloom",
"Piotr Zychowicz",
"Ewelina Podrez-Siama",
"Marzena Rogalska",
"Bill Gates",
"Justina Blakeney",
"Atul Gawande",
"Mariana Leky",
"Diana Brzezińska",
"Stanisław Ulam",
"Tomasz Różycki",
"Max Czornyj",
"Thomas Harris",
"Jane Austen",
"J R R Tolkien",
"Charlotte Bronte",
"J K Rowling",
"Harper Lee",
"Emily Bronte",
"George Orwell",
"Philip Pullman",
"Charles Dickens",
"Louisa M Alcott",
"Thomas Hardy",
"Joseph Heller",
"Daphne Du Maurier",
"Sebastian Faulks",
"J D Salinger",
"Audrey Niffenegger",
"George Eliot",
"Margaret Mitchell",
"F Scott Fitzgerald",
"Charles Dickens",
"Leo Tolstoy",
"Douglas Adams",
"Evelyn Waugh",
"John Steinbeck",
"Lewis Carroll",
"Kenneth Grahame",
"Leo Tolstoy",
"Charles Dickens",
"C S Lewis",
"Jane Austen",
"Jane Austen",
"C S Lewis"
],
"genre": [
"romans",
"thriller",
"fantasy",
"horror",
"biografia",
"science-fiction",
"dramat",
"powiesc",
"basn",
"satyra",
"legenda",
"liryka",
"opowiadanie",
"komedia",
"epika",
"poezja",
"literatura piekna",
"nowela",
"opowiadanie",
"epos",
"pamiętnik",
"oda",
"tren",
"elegia",
"sonet",
"farsa",
"tragifarsa",
"opera"
],
"publisher":[
"Nowa Era",
"Wydawnictwo Mg",
"Nowa Fantastyka",
"Rebis",
"Latarnik",
"Wolters Kluwer",
"Sphere",
"PAN",
"Titan books",
"Łódzki Dom Wydawniczy",
"ABE Dom Wydawniczy",
"Academica",
"Biały kruk",
"Gdańskie Wydawnictwo Oświatowe",
"Alma-Press",
"Anagram",
"Arkady",
"Arcana",
"ARX REGIA",
"Branta oficyna wydawnicza",
"Carta Blanca",
"Harmonia",
"Impuls"
],
"edition": [
"1977",
"1978",
"1979",
"1980",
"1981",
"1982",
"1983",
"1984",
"1985",
"1986",
"1987",
"1988",
"1989",
"1990",
"1991",
"1992",
"1993",
"1994",
"1995",
"1996",
"1997",
"1998",
"1999",
"2000",
"2001",
"2002",
"2003",
"2004",
"2005",
"2006",
"2007",
"2008",
"2009",
"2010",
"2011",
"2012",
"2013",
"2014",
"2015",
"2016",
"2017",
"2018",
"2019",
"2020"
],
"lang" : [
"polski",
"angielski",
"francuski",
"niemiecki",
"rosyjski",
"japoński",
"chiński",
"arabski",
"hiszpański",
"portugalski",
"szwedzki",
"norweski",
"ukraiński",
"białoruski"
]
},
"library": {
"location":[
"ul. Targowa 10"
],
"status" : [
"otwarta",
"zamknięta do odwołania",
"otwarta w czasie pandemii",
"zamknięta"
],
"events" : [
"dzień młodego czytelnika",
"dzień fantastyki",
"dzień poezji",
"dzień promowania czytelnictwa",
"dzień ziemii",
"wieczór sztuki"
],
"days": [
"od poniedziałku do soboty",
"w dni robocze",
"poniedziałek-piątek",
"poniedziałek",
"wtorek",
"środa",
"czwartek",
"piątek",
"sobota",
"niedziela"
],
"phone number": [
"514 312 231",
"123 987 231",
"432 112 453"
]
},
"card": {
"lost": [
"zgłosić zgubienie pod numere 513 231 211",
"zgłosić w głównej filii biblioteki"
],
"destroyed": [
"zgłosić zgubienie pod numere 513 231 211",
"zgłosić w głównej filii biblioteki"
],
"new": [
"formularz karty znajduje się pod adresem LINK",
"konieczna jest akceptacja regulaminu",
"karta będzie do odbioru za 14 dni w głównej filii"
]
},
"date":{
"day":[
"1",
"2",
"3",
"4",
"5",
"6",
"7",
"8",
"9",
"10",
"11",
"12",
"13",
"14",
"15",
"16",
"17",
"18",
"19",
"20",
"21",
"22",
"23",
"24",
"25",
"26",
"27",
"28",
"29",
"30",
"31"
],
"month":[
"1",
"2",
"3",
"4",
"5",
"6",
"7",
"8",
"9",
"10",
"11",
"12"
],
"year":[
"1977",
"1978",
"1979",
"1980",
"1981",
"1982",
"1983",
"1984",
"1985",
"1986",
"1987",
"1988",
"1989",
"1990",
"1991",
"1992",
"1993",
"1994",
"1995",
"1996",
"1997",
"1998",
"1999",
"2000",
"2001",
"2002",
"2003",
"2004",
"2005",
"2006",
"2007",
"2008",
"2009",
"2010",
"2011",
"2012",
"2013",
"2014",
"2015",
"2016",
"2017",
"2018",
"2019",
"2020"
]
}
}

3
wersja_webowa.txt Normal file
View File

@ -0,0 +1,3 @@
https://eliza-bot-uam.herokuapp.com/
Chatbot Eliza w wersji webowej.