Compare commits
7 Commits
Author | SHA1 | Date | |
---|---|---|---|
|
32fa1badbe | ||
|
b1d0730dab | ||
6d456a2083 | |||
21b709f923 | |||
a353e5a5c5 | |||
|
5b53f1b185 | ||
7becc60c3a |
189
eliza.py
Normal file
189
eliza.py
Normal file
@ -0,0 +1,189 @@
|
||||
from nltk.chat import Chat
|
||||
|
||||
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?",
|
||||
),
|
||||
),
|
||||
(
|
||||
r"wyjdz",
|
||||
(
|
||||
"Dziekuje za rozmowe"
|
||||
),
|
||||
),
|
||||
(
|
||||
r"(.*)",
|
||||
(
|
||||
"Proszę, powiedz mi więcej.",
|
||||
"Zmieńmy trochę temat... Opowiedz mi o swojej rodzinie.",
|
||||
"Czy możesz to rozwinąć?",
|
||||
"Dlaczego mówisz, że %1?",
|
||||
"Rozumiem.",
|
||||
"Bardzo interesujące.",
|
||||
"%1.",
|
||||
"Rozumiem. I co ci to mówi?",
|
||||
"Jak się z tym czujesz?",
|
||||
"Jak się czujesz, kiedy to mówisz?",
|
||||
),
|
||||
),
|
||||
)
|
||||
|
||||
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",
|
||||
}
|
||||
eliza_chatbot = Chat(pairs, reflections)
|
||||
|
||||
|
||||
def eliza_chat():
|
||||
print("Terapeuta\n---------")
|
||||
print("Rozmawiaj z programem pisząc naturalnym językiem polskim, korzystając z dużych-")
|
||||
print('oraz małych liter i interpunkcji. Napisz "wyjdz" by zakończyć rozmowę.')
|
||||
print("=" * 72)
|
||||
print("Cześć. Jak się dzisiaj czujesz?")
|
||||
|
||||
eliza_chatbot.converse(quit="wyjdz")
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
eliza_chat()
|
Loading…
Reference in New Issue
Block a user