163 lines
5.2 KiB
Python
163 lines
5.2 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 = {
|
|
"i am": "you are",
|
|
"i was": "you were",
|
|
"i": "you",
|
|
"i'm": "you are",
|
|
"i'd": "you would",
|
|
"i've": "you have",
|
|
"i'll": "you will",
|
|
"my": "your",
|
|
"you are": "I am",
|
|
"you were": "I was",
|
|
"you've": "I have",
|
|
"you'll": "I will",
|
|
"your": "my",
|
|
"yours": "mine",
|
|
"you": "me",
|
|
"me": "you",
|
|
}
|
|
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() |