from nltk.chat.util import Chat, reflections pairs = ( ( r"Potrzebuję (.*)", ( "Dlaczego potrzebujesz %1?", "Do czego potrzebne ci jest %1?", "Czy jesteś pewien, że potrzebujesz %1?", ), ), ( r"Kto ciebie stworzył(.*)", ( "Jarvis został stworzony przez: Dawid Hajder, Jakub Pietrzak, Piotr Biskup i Wiktor Bombola.", ), ), ( r"Dlaczego ty nie (.*)", ( "Naprawdę myślisz, że ja nie %1?", "Być może w końcu zacznę %1.", "Czy naprawdę chcesz żebym %1?", ), ), ( r"Dlaczego nie mogę (.*)", ( "Czy uważasz, że powinieneś %1?", "Gdybyś mógł %1, to co byś zrobił dalej?", "Nie wiem -- dlaczego nie możesz %1?", "Naprawdę próbowałeś?", ), ), ( r"Nie mogę (.*)", ( "Skąd wiesz, że nie możesz %1?", "Być może mógłbyś %1 gdybyś próbował.", "Co by od ciebie wymagało %1?", ), ), ( r"Jestem (.*)", ( "Przyszedłeś do mnie bo jesteś %1?", "Jak długo jesteś %1?", "Jak się czujesz będąc %1?", "Jesteś zadowolony, że jesteś %1?", "Dlaczego mi powiedziałeś, że jesteś %1?", "Czemu myślisz, że jesteś %1?", ), ), ( r"Jesteś (.*)", ( "Dlaczego ma znaczenie, czy jestem %1?", "Wolisz, gdybym nie był %1?", "Być może uważasz, że jestem %1.", "Mogę być %1 -- co o tym myślisz?", ), ), ( r"Co (.*)", ( "Dlaczego pytasz?", "Jak odpowiedź na to pomogłaby ci?", "Co o tym myślisz?", ), ), ( r"Jak (.*)", ( "A jak myślisz?", "Może sam możesz odpowiedzieć jak.", "O co dokładnie pytasz?", ), ), ( r"Dlatego (.*)", ( "Czy to prawdziwy powód?", "Co jeszcze przychodzi Ci do głowy?", "Czy ten powód jest argumentem w innej kwestii?", "Skoro %1, to co jeszcze może takie być?", ), ), ( r"(.*) przepraszam (.*)", ( "Bardzo często przeprosiny wcale nie są potrzebne.", "Jak sie czujesz, kiedy za coś przepraszasz?", ), ), ( r"Cześć(.*)", ( "Cześć, fajnie że dzisiaj wpadłeś.", "No cześć, co tam słychać?", "Cześć, jak się dzisiaj miewasz?", ), ), ( r"Uważam (.*)", ("Czy wątpisz %1?", "Czy naprawdę tak uważasz?", "Ale nie jesteś pewny %1?"), ), ( r"(.*) (przyjaciel|przyjaciela|przyjacielowi|przyjaciela|przyjacielem|przyjacielu) (.*)", ( "Opowiedz mi o swoich przyjaciołach.", "Kto przychodzi Ci na myśl, kiedy mowa o przyjacielach?", "Może opowiesz mi jakąś historię przyjaźni z dzieciństwa?", ), ), (r"Tak", ("Wydajesz się być tego pewien.", "No dobra, a wyjaśnisz trochę bardziej?")), ( r"(.*) Komputer(.*)", ( "Na prawdę rozmawiasz o mnie?", "Myślisz że dziwnie jest rozmawiać z komputerem?", "Jak się czujesz będąc przy komputerze?", "Myślisz, że komputery są zagrożeniem?", "A co na to Twój komputer?" ), ), ( r"Czy (.*)", ( "A myślisz, że %1?", "Być może %1 -- jak myślisz?", "A gdyby było właśnie tak, że %1, co byś zrobił?", "Równie dobrze może być tak, że %1.", ), ), ( r"To jest (.*)", ( "Wyglądasz na przekonanego.", "A gdybym powiedział Ci, że wcale %1, jak byś się poczuł?", ), ), ( r"Mógłbyś (.*)", ( "Czemu miałbym nie móc %1?", "czemu pytasz, czy mógłbym %1?", ), ), ( r"Mogę (.*)", ( "Może wcale nie chcesz %1.", "Chciałbyś być w stanie %1?", "gdybyś mógł %1, to co?", ), ), ( r"Ty jesteś (.*)", ( "Czemu mówisz, że jestem %1?", "Cieszysz się mówiąc, że jestem %1?", "Może chciałbyś być %1.", "Może to nie o mnie mówisz, a o sobie?", ), ), ( r"Jesteś (.*)", ( "Czemu mówisz, że jestem %1?", "Skąd pomysł, że %1?", "Mówisz o sobie, czy o mnie?", ), ), ( r"Nigdy (.*)", ("Na prawdę nigdy %1?", "dlaczego nigdy %1?", "A chciałbyś? %1?"), ), ( r"Czuję (.*)", ( "Opowiedz mi proszę o swoich uczuciach.", "Jak często czujesz, że %1?", "Kiedy zazwyczaj tak się czujesz %1?", "Kiedy czujesz %1, co z tym robisz?", ), ), ( r"Mam (.*)", ( "Czemu mi mówisz, że masz %1?", "Serio, masz %1?", "Skoro masz już %1, to co z tym zrobisz dalej?", ), ), ( r"Chciałbym (.*)", ( "Wyjaśnisz mi proszę, czemu chciałbyś %1?", "Ale dlaczego %1?", "Ktoś jeszcze wie, że chciałbyś %1?", ), ), ( r"Jest (.*)", ( "Myślisz, że jest %1?", "Bardzo możliwe, że %1.", "Chciałbyś, żeby był %1?", ), ), ( r"Mój (.*)", ( "Widzę, widzę %1.", "Dlaczego mówisz, że twój %1?", "Kiedy twój %1, to jak się czujesz?", ), ), ( r"Ty (.*)", ( "Powinniśmy rozmawiać o Tobie, nie o mnie.", "Czemu tak o mnie rozpowiadasz?", "Co Ciebie to obchodzi, że ja %1?", ), ), (r"Czemu (.*)", ("Opowiedz mi czemu %1?", "Czemu myślisz, że %1?")), ( r"Chcę (.*)", ( "Jak byś się czuł, gbybyś zdobył %1?", "Czemu chcesz %1?", "Co byś zrobił, gdybyś osiągnął %1?", "Czemu tego chcesz?", ), ), ( r"(.*) (mama|mamy|mamie|mamę|mamą|mamie|mamo)(.*)", ( "Opowiedz mi o swojej mamie.", "Jaką miałeś relację ze swoją mamą?", "Co myślisz o swojej mamie?", "Jak to się przekłada na to, co dzisiaj czujesz?", "Dobra relacja z rodziną to podstawa.", "Kim była dla Ciebie twoja mama?", ), ), ( r"(.*) (tata|taty|tacie|tatę|tatą|tacie|tato)(.*)", ( "Opowiedz mi o swoim ojcu.", "Jak byłeś traktowany przez swojego ojca?", "Co myślisz o swoim ojcu?", "Czy Twoja relacja z ojcem ma jakieś przełożenie na to kim dzisiaj jesteś?", "Miałeś problemy z okazywaniem uczuć wobec rodziny?", ), ), ( r"(.*) (dziecko|dziecka|dziecku|dzieckiem|dziecku|dziecko)(.*)", ( "Czy miałeś przyjaciół, kiedy byłeś jeszcze dzieckiem?", "Jakie jest Twoje ulubione wspomnienie?", "Pamiętasz jakiś przyjemny sen lub koszmar, z czasów gdy byłeś dzieckiem?", "Czy inne dzieci czasem Ci dokuczały?", "Jak myślisz, jak Twoje dzieciństwo wpłynęło na to kim dzisiaj jesteś?", ), ), ( r"(.*)\?", ( "Czemu pytasz?", "Zastanów się, czy sam nie potrafisz sobie odpowiedzieć?", "Być może sam znasz odpowiedź?", "Może Ty mi powiesz?", "Skąd ten pomysł?", ), ), ( r"quit", ( "Dziękuję bardzo za rozmowę", "Do widzenia!", "Dzięki, to będzie razem 150zł. Miłego dnia!", "Trzymaj się stary!", ), ), ( r"(.*)", ( "Proszę powiedz mi więcej o tym.", "Zmieńmy proszę temat... Opowiedz mi o Twojej rodzinie.", "Czy możesz to rozwinąć?", "Dlaczego to powiedziałeś %1?", "Rozumiem.", "Bardzo ciekawe.", "Jasne. A co ci to mówi?", "To dobrze.", "Jak się z tym czujesz?", ), ), ) jarvis_chatbot = Chat(pairs, reflections) def jarvis_chat(): print("Kolega do rozmowy\n---------") print('Rozmawiaj z programem wpisując wyrażenia po polsku, zaczynając zdanie od wielkiej litery. Wpisz "wyjdź" gdy skończysz.') print("=" * 70) print("Cześć :D Mam na imię Jarvis.\nCo tam słychać?") jarvis_chatbot.converse() def demo(): jarvis_chat() if __name__ == "__main__": demo()