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