Compare commits
4 Commits
Author | SHA1 | Date | |
---|---|---|---|
fa4c0281f0 | |||
5e6620f3c5 | |||
589bed35d6 | |||
0bae6f8d37 |
206
eliza.py
Normal file
206
eliza.py
Normal file
@ -0,0 +1,206 @@
|
||||
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()
|
1
requirements.txt
Normal file
1
requirements.txt
Normal file
@ -0,0 +1 @@
|
||||
nltk==3.8.1
|
Loading…
Reference in New Issue
Block a user