167 lines
5.3 KiB
Python
167 lines
5.3 KiB
Python
from nltk.chat import Chat, eliza
|
|
|
|
pairs = ((
|
|
r"Mam problem z (.*)",
|
|
(
|
|
"Dlaczego masz problem z %1?",
|
|
"Czy naprawdę pomogłoby Ci, gdybyś rozwiązał problem z %1?",
|
|
"Jesteś pewien, że masz problem z %1?",
|
|
),
|
|
),
|
|
(
|
|
r"Czuję się (.*)",
|
|
(
|
|
"Dlaczego czujesz się %1?",
|
|
"Czy coś wydarzyło się, co sprawiło, że czujesz się %1?",
|
|
"Jak myślisz, dlaczego czujesz się %1?",
|
|
),
|
|
),
|
|
(
|
|
r"Chcę (.*)",
|
|
(
|
|
"Dlaczego chcesz %1?",
|
|
"Czy naprawdę pomoże Ci to, jeśli dostaniesz %1?",
|
|
"Jesteś pewien, że chcesz %1?",
|
|
),
|
|
),
|
|
(
|
|
r"Czy mogę (.*)",
|
|
(
|
|
"Czy naprawdę chcesz %1?",
|
|
"Dlaczego pytasz o to, czy możesz %1?",
|
|
"Jesteś pewien, że chcesz %1?",
|
|
),
|
|
),
|
|
(
|
|
r"Nie mogę (.*)",
|
|
(
|
|
"Dlaczego nie możesz %1?",
|
|
"Czy coś Cię blokuje, żebyś nie mógł %1?",
|
|
"Czy próbowałeś znaleźć rozwiązanie, aby móc %1?",
|
|
),
|
|
),
|
|
(
|
|
r"Jestem (.*)",
|
|
(
|
|
"Dlaczego uważasz, że jesteś %1?",
|
|
"Czy to uczucie jest stałe, czy może chwilowe, że jesteś %1?",
|
|
"Czy masz jakieś konkretne powody, żeby uważać, że jesteś %1?",
|
|
),
|
|
),
|
|
(
|
|
r"Czuję się zaniepokojony (.*)",
|
|
(
|
|
"Dlaczego czujesz się zaniepokojony %1?",
|
|
"Czy masz jakiś konkretny powód, żeby się martwić %1?",
|
|
"Jak myślisz, co może Ci pomóc, aby przestać się martwić %1?",
|
|
),
|
|
),
|
|
(
|
|
r"Potrzebuję pomocy z (.*)",
|
|
(
|
|
"Dlaczego potrzebujesz pomocy z %1?",
|
|
"Czy możesz wyjaśnić, co sprawiło, że potrzebujesz pomocy z %1?",
|
|
"Czy próbowałeś już samodzielnie rozwiązać problem z %1?",
|
|
),
|
|
),
|
|
(
|
|
r"Czuję się samotny (.*)",
|
|
(
|
|
"Dlaczego czujesz się samotny %1?",
|
|
"Czy jest coś, co mogę zrobić, aby Ci pomóc, czując się samotny %1?",
|
|
"Czy próbujesz znaleźć sposoby na przezwyciężenie samotności %1?",
|
|
),
|
|
),
|
|
(
|
|
r"Mam pytanie dotyczące (.*)",
|
|
(
|
|
"O co konkretnie chciałbyś zapytać dotyczące %1?",
|
|
"Czy mogę pomóc Ci z odpowiedzią na Twoje pytanie dotyczące %1?",
|
|
"Czy próbujesz znaleźć więcej informacji na temat %1?",
|
|
),
|
|
),
|
|
(
|
|
r"Zawsze się czuję (.*)",
|
|
(
|
|
"Czy zawsze czujesz się %1, czy są okoliczności, które to zmieniają?",
|
|
"Jak myślisz, co może pomóc Ci zmienić to uczucie, zawsze czując się %1?",
|
|
"Czy jest coś, co mogę zrobić, aby Ci pomóc, będąc zawsze %1?",
|
|
),
|
|
),
|
|
(
|
|
r"Marzę o (.*)",
|
|
(
|
|
"Dlaczego marzysz o %1?",
|
|
"Czy jest coś, co możesz zrobić, aby zbliżyć się do realizacji swoich marzeń o %1?",
|
|
"Czy masz plany na to, jak osiągnąć to, o czym marzysz %1?",
|
|
),
|
|
),
|
|
(
|
|
r"Czuję się zestresowany (.*)",
|
|
(
|
|
"Co powoduje, że czujesz się zestresowany %1?",
|
|
"Czy masz jakieś techniki radzenia sobie ze stresem, kiedy czujesz się zestresowany %1?",
|
|
"Jak myślisz, co może pomóc Ci zrelaksować się, będąc zestresowanym %1?",
|
|
),
|
|
),
|
|
(
|
|
r"Chciałbym zrozumieć (.*)",
|
|
(
|
|
"Co dokładnie chciałbyś zrozumieć %1?",
|
|
"Czy mogę pomóc Ci z zrozumieniem tego, o czym chciałbyś się dowiedzieć %1?",
|
|
"Czy próbujesz znaleźć więcej informacji na ten temat %1?",
|
|
),
|
|
),
|
|
(
|
|
r"Interesuje mnie (.*)",
|
|
(
|
|
"Co konkretnie Cię interesuje w związku z %1?",
|
|
"Czy mogę pomóc Ci znaleźć więcej informacji na ten temat %1?",
|
|
"Czy masz jakieś pytania dotyczące tego, co Cię interesuje %1?",
|
|
),
|
|
),
|
|
(
|
|
r"Czuje się zmęczony (.*)",
|
|
(
|
|
"Co powoduje, że czujesz się zmęczony %1?",
|
|
"Czy próbujesz znaleźć sposoby na wypoczynek, kiedy czujesz się zmęczony %1?",
|
|
"Czy masz jakieś techniki, które pomagają Ci w zmniejszeniu uczucia zmęczenia %1?",
|
|
),
|
|
),
|
|
)
|
|
|
|
|
|
|
|
reflections = {
|
|
"ja jestem": "ty jestes",
|
|
"ja bylem": "ty byles",
|
|
"ja bylam": "ty bylas",
|
|
"ja": "ty",
|
|
"jestem": "jestes",
|
|
"zrobilbym": "zrobilbys",
|
|
"zrobilem": "zrobiles",
|
|
"zrobie": "zrobisz",
|
|
"moj": "twoj",
|
|
"moja": "twoja",
|
|
"moje": "twoje",
|
|
"jestes": "jestem",
|
|
"byles": "bylam",
|
|
"zrobilas": "zrobilam",
|
|
"zrobisz": "zrobie",
|
|
"twoj": "moj",
|
|
"twoja": "moja",
|
|
"twoje": "moje",
|
|
"ty": "ja",
|
|
"ja": "ty",
|
|
}
|
|
eliza_chatbot = Chat(pairs, reflections)
|
|
|
|
|
|
def eliza_chat():
|
|
print("Therapist\n---------")
|
|
print("Talk to the program by typing in plain English, using normal upper-")
|
|
print('and lower-case letters and punctuation. Enter "quit" when done.')
|
|
print("=" * 72)
|
|
print("Hello. How are you feeling today?")
|
|
|
|
eliza_chatbot.converse() |