chat-restaruacja/eliza.py

173 lines
3.8 KiB
Python
Raw Normal View History

from nltk.chat.util import Chat, reflections
pairs = (
2024-03-29 21:49:58 +01:00
(
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"Jak (.*)",
(
"To zależy od Ciebie.",
"To nie takie proste, co o tym myślisz?",
),
),
2024-03-31 11:42:13 +02:00
(
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.",
),
),
2024-03-29 21:49:58 +01:00
(
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?",
),
),
(
2024-03-29 21:49:58 +01:00
r"(.*) prac(.)(.*)",
(
2024-03-29 21:49:58 +01:00
"Lubisz swoją pracę?",
"Co najbardziej lubisz w swojej pracy?",
),
),
2024-03-29 21:49:58 +01:00
(r"tak", ("Dlaczego tak?",)),
(r"nie", ("Dlaczego nie?")),
(
r"koniec",
("Do widzenia",),
),
(
r"(.*)",
(
2024-03-29 21:49:58 +01:00
"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.")
2024-03-29 21:49:58 +01:00
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()