from nltk.chat.util import Chat, reflections pairs = ( ( r"Dzień dobry(.*)", ("Dla kogo dobry dla tego dobry.", "Dzień dobry."), ), ( r"Cześć(.*)", ( "Hej, jak się masz?", "Jak się dzisiaj czujesz?", ), ), ( r"Hej(.*)", ( "Cześć, co tam u Ciebie?", "Witam.", ), ), ( r"Elo(.*)", ( "Siema!", "3 2 0.", ), ), ( r"Czy sądzisz, że dobrym pomysłem jest (.*)?", ( "Myślę, że znam za mało sczegółów, aby odpowiedzieć jednoznacznie.", "Nie znam się na tych tematach.", ), ), ( r"Jakie masz zdanie o (.*)?", ( "Myślę, że nie mam zdania na ten temat.", ), ), ( r"Jak się dzisiaj czujesz?", ( "U mnie wszystko dobrze, a u Ciebie co słychać?", "Jakoś leci, a Ty?", ), ), ( r"Co u Ciebie słychać?", ( "U mnie wszystko dobrze, a u Ciebie co słychać?", "Nic ciekaego a u Ciebie?", ), ), ( r"Myślisz, że lepszym wyborem jest (.*)?", ( "To zależy od tego, czego napradę chcesz.", "Zastanów się na co masz ochotę.", ), ), ( r"Jak (.*)", ( "To zależy od Ciebie.", "To nie takie proste, co o tym myślisz?", ), ), ( r"Jakie są rozmiary (.*)\?", ( "Oferujemy duże, małe i średnie?", "Wszystko zależy od wariantu %1?", "A jest Pan bardzo głodny?", ), ), ( r"Czy oferujecie jakieś dodatki\?", ( "Oczywiście, na co ma Pan ochotę?", "Oferujemy darmowe dodatki, oraz dodatki dodatkowo płatne.", "Do naszych autorskich pizz nie ma możliwości dodania ekstra produktów", ), ), ( r"Proszę o dodatkowy (.*)\?", ( "W tym wariancie %1 są płatne podwójnie", "Czy jest Pan pewien, że %1 będzie pasować do ananasa?", "Oczywiście, mamy świeżutkie %1!", ), ), ( r"Ile kosztuje (.*)\?", ( "%1 są dziś w promocji", "A jaki rozmiar %1 Pana interesuje?", "Niestety, w chwili obecnej %1 nie jest dostępne.", ), ), ( r"Ile czasu (.*)\?", ( "Błyskawicznie!", "A czy bardzo się Pan spieszy?", "Niestety, w chwili obecnej %1 nie jest dostępne.", ), ), ( r"Dlaczego (.*)", ( "Zastanów się nad tym.", "Ty mi powiedz dlaczego %1", "Czemu mnie o to pytasz?", ), ), ( r"Co (.*)", ( "Skąd to pytanie?", "Co o tym myślisz?", "Odpowiedz sobie sam.", ), ), ( r"Czemu (.*)", ("Tak to już jest.", "Takie życie.", "Bywa."), ), ( r"Czy (.*)", ( "Tak", "Nie", "Nie wiem czy %1", ), ), ( r"(.*)\?", ( "Czemu o to pytasz?", "Może odpowiedź jest bliżej niż myślisz.", "Wytłumacz mi to?", ), ), ( r"(.*)\!", ( "Czemu krzyczysz?", "Zachowuj się!", "Czemu się złościsz?", ), ), ( r"Potrzebuję (.*)", ( "Dlaczego potrzebujesz %1?", "Jesteś pewien, że potrzebujesz %1?", ), ), ( r"(.*) prac(.)(.*)", ( "Lubisz swoją pracę?", "Co najbardziej lubisz w swojej pracy?", ), ), (r"tak", ("Dlaczego tak?",)), (r"nie", ("Dlaczego nie?")), ( r"koniec", ("Do widzenia",), ), ( r"(.*)", ( "Czemu to powiedziałeś?", "Zmieńmy temat, powiedz mi o swojej pracy.", "Możesz rozwinąć?", "Rozumiem.", "Ciekawe.", "%1.", ), ) ) eliza_chatbot = Chat(pairs, reflections) def eliza_chat(): print("Terapeuta\n---------") print("Rozmawiaj po Polsku.") print("Używaj zarówno wielkich, jak i małych lister; używaj interpunkcji.") print('Aby zakończyć, napisz "koniec".') print("=" * 72) print("Witaj, jak się czujesz?") eliza_chatbot.converse(quit="koniec") def demo(): eliza_chat() if __name__ == "__main__": eliza_chat()