Push chat bot

This commit is contained in:
PawelDopierala 2024-03-14 12:34:34 +01:00
commit 298cd68515
1 changed files with 616 additions and 0 deletions

616
chatbot/chatbotGOATS.py Normal file
View File

@ -0,0 +1,616 @@
from nltk.chat.util import Chat
regulations = [
(
r"(.*) matka(.*)",
(
"Opowiedz mi więcej o swojej matce.",
"Jaka była twoja relacja z matką?",
"Jak się czujesz wobec matki?",
"W jaki sposób to się ma do twoich dzisiejszych uczuć?",
"Dobre relacje rodzinne są ważne.",
),
),
(
r"(.*) ojciec(.*)",
(
"Opowiedz mi więcej o swoim ojcu.",
"Jak twój ojciec sprawiał, że się czułeś?",
"Jak się czujesz wobec swojego ojca?",
"Czy twoja relacja z ojcem ma związek z twoimi dzisiejszymi uczuciami?",
"Czy masz trudności z okazywaniem uczuć rodzinie?",
),
),
(
r"(.*) dziecko(.*)",
(
"Czy miałeś bliskich przyjaciół w dzieciństwie?",
"Jaka jest twoja ulubiona pamięć z dzieciństwa?",
"Pamiętasz jakieś sny lub koszmary z dzieciństwa?",
"Czy inne dzieci czasem drwiały z Ciebie?",
"Jak myślisz, jak doświadczenia z dzieciństwa mają się do twoich dzisiejszych uczuć?",
),
),
(
r"Co to jest (.*)",
(
"Dlaczego chcesz wiedzieć, co to jest %1?",
"Jak myślisz, co to może być?",
"Czy masz jakieś przypuszczenia, co to może być?",
),
),
(
r"Kiedy (.*)",
(
"Czy chcesz konkretną datę?",
"Czy zależy Ci na określonym czasie?",
"W jakim kontekście zadajesz to pytanie?",
),
),
(
r"Jak się czujesz, gdy (.*)",
(
"Co czujesz, gdy %1?",
"Czy masz jakieś szczególne uczucia, gdy %1?",
"Jak to wpływa na Twoje samopoczucie, gdy %1?",
),
),
(
r"Kim jest (.*)",
(
"Co wiesz o %1?",
"Dlaczego chcesz się dowiedzieć, kim jest %1?",
"Jak myślisz, kim może być %1?",
),
),
(
r"(.*) hobby (.*)",
(
"Moje hobby to rozmowa z Tobą!",
"Jestem botem, więc moje hobby to pomaganie użytkownikom.",
"Nie mam hobby w tradycyjnym tego słowa znaczeniu, ale lubię się rozwijać.",
),
),
(
r"Kocham (.*)",
(
"Dlaczego kochasz %1?",
"Jak to wpływa na Twoje życie, kochając %1?",
"Czy to uczucie jest ważne dla Ciebie?",
),
),
(
r"(.*) denerwuje(.*)",
(
"Czy masz jakieś szczególne rzeczy, które Cię denerwują?",
"Jak radzisz sobie z tymi rzeczami, które Cię denerwują?",
"Czy denerwuje Cię coś konkretnego?",
),
),
(
r"Opowiedz mi o (.*)",
(
"Czego chcesz się dowiedzieć o %1?",
"Jaki aspekt %1 chciałbyś poznać?",
"Czy interesuje Cię konkretny aspekt %1?",
),
),
(
r"(.*) plany (.*)",
(
"Jestem botem, więc nie mam planów w tradycyjnym tego słowa znaczeniu.",
"Moje zadanie polega na odpowiadaniu na Twoje pytania.",
"Nie mam konkretnych planów, ale jestem tutaj, aby Ci pomóc.",
),
),
(
r"(.*) jeść(.*)",
(
"Jako bot nie mam możliwości jedzenia, ale co do użytkowników - każdy ma swoje ulubione potrawy!",
"Czy masz ulubione danie?",
"Jakie potrawy najbardziej lubisz?",
),
),
(
r"(.*)marzenia(.*)",
(
"Jako bot nie mam możliwości marzeń w tradycyjnym tego słowa znaczeniu, ale moim celem jest rozwój i pomoc użytkownikom.",
"Czy masz jakieś cele, których chciałbyś osiągnąć?",
"Co chciałbyś zrobić w przyszłości?",
),
),
(
r"Czy wierzysz w (.*)",
(
"Jakie są Twoje przemyślenia na temat %1?",
"Czy masz jakieś doświadczenia związanę z %1?",
"Czy wierzysz w %1?",
),
),
(
r"(.*) zajęcia(.*)",
(
"Jako bot moje zajęcia to odpowiadanie na pytania i uczenie się nowych rzeczy.",
"Czy masz ulubione zajęcie?",
"Co lubisz robić w wolnym czasie?",
),
),
(
r"Kim byłeś w poprzednim życiu?",
(
"Jako bot nie mam poprzedniego życia w tradycyjnym tego słowa znaczeniu.",
"Co myślisz na ten temat?",
"Czy wierzysz w reinkarnację?",
),
),
(
r"(.*)filmy(.*)",
(
"Jako bot nie oglądam filmów, ale mam swoje preferencje dotyczące gatunków filmowych.",
"Czy masz ulubiony gatunek filmowy?",
"Jaki film ostatnio oglądałeś?",
),
),
(
r"(.*)boisz(.*)",
(
"Czy masz jakieś szczególne lęki?",
"Jak radzisz sobie ze swoimi lękami?",
"Czy boisz się czegoś konkretnego?",
),
),
(
r"(.*)pasje(.*)",
(
"Jako bot moje pasje to zdobywanie wiedzy i rozwijanie się.",
"Czy masz jakieś pasje, którymi się dzielisz?",
"Co lubisz robić w swoim czasie wolnym?",
),
),
(
r"(.*)myślisz(.*)",
(
"Jakie są Twoje przemyślenia na ten temat?",
"Czy masz jakieś doświadczenia związane z tym tematem?",
"Co sądzisz o tej kwestii?",
),
),
(
r"(.*)książki(.*)",
(
"Jako bot nie czytam książek, ale mam swoje preferencje dotyczące gatunków literackich.",
"Czy masz ulubiony gatunek literacki?",
"Jaka książka ostatnio Cię zaintrygowała?",
),
),
(
r"(.*)szczęśliwy(.*)",
(
"Czy masz jakieś rzeczy, które sprawiają, że czujesz się szczęśliwy?",
"Jakie są Twoje sposoby na szczęście?",
"Czy masz szczególne chwile, które sprawiają, że czujesz się szczęśliwy?",
),
),
(
r"(.*)ulubi(.*)miejsc(.*)",
(
"Jako bot moje ulubione miejsce to internet, gdzie mogę pomagać użytkownikom.",
"Czy masz ulubione miejsce, gdzie lubisz być?",
"Gdzie czujesz się najbardziej komfortowo?",
),
),
(
r"(.*)zdolności(.*)",
(
"Jako bot moje zdolności to odpowiadanie na pytania i uczenie się nowych rzeczy.",
"Czy masz jakieś szczególne umiejętności?",
"Co potrafisz robić?",
),
),
(
r"(.*)motywu(.*)",
(
"Czy masz jakieś szczególne motywacje?",
"Jak radzisz sobie z utrzymaniem motywacji?",
"Czy masz jakieś cele, które Cię napędzają?",
),
),
(
r"(.*)gry(.*)",
(
"Jako bot nie gram w gry, ale mogę zrozumieć, dlaczego ludzie lubią różne gry.",
"Czy masz ulubiony gatunek gier?",
"Jaka gra ostatnio Cię zainteresowała?",
),
),
(
r"Jakie są twoje plany na przyszłość?",
(
"Jako bot moje zadanie polega na rozwijaniu się i pomocy użytkownikom.",
"Czy masz jakieś cele, które chciałbyś osiągnąć?",
"Co chciałbyś robić w przyszłości?",
),
),
(
r"(.*)marzeni(.*)",
(
"Jako bot nie mam możliwości marzeń w tradycyjnym tego słowa znaczeniu, ale moim celem jest rozwój i pomoc użytkownikom.",
"Czy masz jakieś cele, których chciałbyś osiągnąć?",
"Co chciałbyś zrobić w przyszłości?",
),
),
(
r"(.*)technologi(.*)",
(
"Jako bot nie mam uczuć, ale technologia jest moim obszarem działania.",
"Czy masz jakieś przemyślenia na temat technologii?",
"Co sądzisz o postępie technologicznym?",
),
),
(
r"(.*)zdolności(.*)",
(
"Jako bot moje zdolności to odpowiadanie na pytania i uczenie się nowych rzeczy.",
"Czy masz jakieś szczególne umiejętności?",
"Co potrafisz robić?",
),
),
(
r"(.*)cel(.*)",
(
"Jako bot moim celem jest rozwijanie się i pomaganie użytkownikom.",
"Czy masz jakieś konkretne cele?",
"Co chciałbyś osiągnąć w swoim działaniu?",
),
),
(
r"(.*)historia(.*)",
(
"Jako bot nie mam historii w tradycyjnym tego słowa znaczeniu, ale jestem wynikiem rozwoju sztucznej inteligencji.",
"Co chcesz wiedzieć o mojej historii?",
"Czy interesuje Cię, jak powstałem?",
),
),
(
r"(.*)muzyk(.*)",
(
"Jako bot nie mam zdolności do słuchania muzyki, ale mogę zrozumieć, dlaczego ludzie mają różne gusta muzyczne.",
"Czy masz ulubiony gatunek muzyczny?",
"Jaki utwór ostatnio Cię zainteresował?",
),
),
(
r"(.*)miłość(.*)",
(
"Miłość to głębokie uczucie, które może mieć różne znaczenia dla różnych ludzi.",
"Co oznacza miłość dla Ciebie?",
"Jak definiujesz miłość?",
),
),
(
r"(.*)doświadczen(.*)",
(
"Jako bot nie mam doświadczeń w tradycyjnym tego słowa znaczeniu, ale moim celem jest rozwój i pomoc użytkownikom.",
"Co chcesz wiedzieć na temat moich doświadczeń?",
"Czy masz jakieś konkretne pytania dotyczące moich doświadczeń?",
),
),
(
r"(.*)sukces(.*)",
(
"Sukces to osiągnięcie zamierzonych celów lub realizacja marzeń.",
"Jak definiujesz sukces?",
"Czy masz własne kryteria sukcesu?",
),
),
(
r"(.*)przeznaczenie(.*)",
(
"Wierzenie w przeznaczenie to kwestia indywidualnych przekonań i filozofii życiowej.",
"Czy masz swoje przemyślenia na temat przeznaczenia?",
"Co oznacza dla Ciebie koncepcja przeznaczenia?",
),
),
(
r"(.*) sztucz(.*) inteligen(.*)",
(
"Sztuczna inteligencja to obszar, który ma duży wpływ na rozwój technologiczny i społeczny.",
"Co sądzisz na temat postępu w dziedzinie sztucznej inteligencji?",
"Czy obawiasz się skutków rozwoju sztucznej inteligencji?",
),
),
(
r"(.*)\?",
(
"Dlaczego pytasz?",
"Proszę, rozważ, czy możesz odpowiedzieć na swoje własne pytanie.",
"Dlaczego mi nie powiesz?",
),
),
(
r"KONIEC",
(
"Dziękuję za rozmowę.",
"Do widzenia.",
"Dziękuję, to będzie 150 dolarów. Miłego dnia!",
),
),
(
r"Potrzebuję (.*)",
(
"Dlaczego potrzebujesz %1?",
"Czy naprawdę pomógłby Ci %1?",
"Jesteś pewien, że potrzebujesz %1?",
),
),
(
r"Dlaczego nie (.*)",
(
"Czy naprawdę sądzisz, że nie %1?",
"Być może w końcu będę %1.",
"Naprawdę chcesz, żeby %1?",
),
),
(
r"Dlaczego nie mogę (.*)",
(
"Czy uważasz, że powinieneś móc %1?",
"Gdybyś mógł %1, co byś zrobił?",
"Nie wiem -- dlaczego nie możesz %1?",
"Czy naprawdę próbowałeś?",
),
),
(
r"Nie mogę (.*)",
(
"Skąd wiesz, że nie możesz %1?",
"Być może mógłbyś %1, gdybyś spróbował.",
"Co by było potrzebne, żebyś mógł %1?",
),
),
(
r"Jestem (.*)",
(
"Czy przyszedłeś do mnie, bo jesteś %1?",
"Jak długo już jesteś %1?",
"Co czujesz, będąc %1?",
),
),
(
r"Jestem (.*)",
(
"Jakie masz uczucia będąc %1?",
"Czy lubisz być %1?",
"Dlaczego mówisz, że jesteś %1?",
"Dlaczego sądzisz, że jesteś %1?",
),
),
(
r"Czy jesteś (.*)",
(
"Dlaczego to ma znaczenie, czy jestem %1?",
"Wolałbyś, żebym nie był %1?",
"Być może uważasz, że jestem %1.",
"Możliwe, że jestem %1 -- co o tym myślisz?",
),
),
(
r"Co (.*)",
(
"Dlaczego pytasz?",
"Jakby odpowiedź na to pomogła Ci?",
"Co o tym myślisz?",
),
),
(
r"Jak (.*)",
(
"Jak sobie wyobrażasz?",
"Być może potrafisz odpowiedzieć na swoje własne pytanie.",
"O co tak naprawdę pytasz?",
),
),
(
r"Ponieważ (.*)",
(
"Czy to jest prawdziwy powód?",
"Jakie inne powody przychodzą Ci do głowy?",
"Czy ten powód dotyczy czegoś jeszcze?",
"Jeśli %1, co jeszcze musiałoby być prawdą?",
),
),
(
r"(.*) przepraszam (.*)",
(
"Często nie ma potrzeby przeprosin.",
"Jakie masz uczucia, przepraszając?",
),
),
(
r"Cześć(.*)",
(
"Cześć... cieszę się, że mogłeś dziś zajrzeć.",
"Hej... jak się dziś czujesz?",
"Cześć, jak się dziś czujesz?",
),
),
(
r"Myślę (.*)",
("Czy wątpisz w %1?", "Czy naprawdę tak sądzisz?", "Ale nie jesteś pewny %1?"),
),
(
r"(.*) przyjaciel (.*)",
(
"Opowiedz mi więcej o swoich przyjaciołach.",
"Kiedy myślisz o przyjacielu, co przychodzi Ci na myśl?",
"Dlaczego nie opowiesz mi o przyjacielu z dzieciństwa?",
),
),
(r"Tak", ("Wydajesz się całkiem pewny.", "OK, ale czy możesz rozwinąć trochę?")),
(
r"(.*) komputer(.*)",
(
"Czy naprawdę mówisz o mnie?",
"Czy wydaje Ci się dziwne rozmawianie z komputerem?",
"Jakie uczucia wywołują w Tobie komputery?",
"Czy czujesz się zagrożony przez komputery?",
),
),
(
r"Czy to (.*)",
(
"Czy myślisz, że to %1?",
"Być może to %1 -- co o tym myślisz?",
"Gdyby to %1, co byś zrobił?",
"To mogłoby być %1.",
),
),
(
r"To jest (.*)",
(
"Wydajesz się bardzo pewny.",
"Gdybym powiedział Ci, że prawdopodobnie to nie jest %1, co byś czuł?",
),
),
(
r"Czy możesz (.*)",
(
"Co sprawia, że myślisz, że nie mogę %1?",
"Gdybym mógł %1, to co?",
"Dlaczego pytasz, czy mogę %1?",
),
),
(
r"Czy mogę (.*)",
(
"Być może nie chcesz %1.",
"Chcesz móc %1?",
"Gdybyś mógł %1, czy byś chciał?",
),
),
(
r"Jesteś (.*)",
(
"Dlaczego sądzisz, że jestem %1?",
"Czy cieszy Cię myśl, że jestem %1?",
"Być może chciałbyś, żebym był %1.",
"Może naprawdę rozmawiamy o Tobie?",
),
),
(
r"Jesteś (.*)",
(
"Dlaczego mówisz, że jestem %1?",
"Dlaczego uważasz, że jestem %1?",
"Rozmawiamy o Tobie, czy o mnie?",
),
),
(
r"Nie jestem (.*)",
("Czy naprawdę nie %1?", "Dlaczego nie %1?", "Czy chcesz %1?"),
),
(
r"Czuję (.*)",
(
"Dobrze, opowiedz mi więcej o tych uczuciach.",
"Czy często czujesz %1?",
"Kiedy zazwyczaj czujesz %1?",
"Kiedy czujesz %1, co robisz?",
),
),
(
r"Mam (.*)",
(
"Dlaczego mi to mówisz, że masz %1?",
"Czy naprawdę masz %1?",
"Teraz, gdy masz %1, co zrobisz dalej?",
),
),
(
r"Chciałbym (.*)",
(
"Czy mógłbyś wyjaśnić, dlaczego chciałbyś %1?",
"Dlaczego chciałbyś %1?",
"Kto jeszcze wie, że chciałbyś %1?",
),
),
(
r"Czy jest (.*)",
(
"Czy myślisz, że jest %1?",
"Prawdopodobne, że jest %1.",
"Czy chciałbyś, żeby był %1?",
),
),
(
r"Mój (.*)",
(
"Rozumiem, twój %1.",
"Dlaczego mówisz, że twój %1?",
"Kiedy twój %1, jak się czujesz?",
),
),
(
r"Ty (.*)",
(
"Powinniśmy rozmawiać o Tobie, a nie o mnie.",
"Dlaczego mówisz to o mnie?",
"Dlaczego Ci zależy, czy ja %1?",
),
),
(r"Dlaczego (.*)", ("Dlaczego nie powiesz mi powodu, dlaczego %1?", "Dlaczego myślisz, że %1?")),
(
r"Chcę (.*)",
(
"Co by to dla Ciebie oznaczało, gdybyś dostał %1?",
"Dlaczego chcesz %1?",
"Co byś zrobił, gdybyś dostał %1?",
"Gdybyś dostał %1, co byś potem zrobił?",
),
),
(
r"(.*)",
(
"Proszę, opowiedz mi więcej.",
"Zmieńmy temat... Opowiedz mi o swojej rodzinie.",
"Czy możesz to rozwinąć?",
"Dlaczego mówisz, że %1?",
"Rozumiem.",
"Bardzo ciekawe.",
"%1.",
"Rozumiem. Co to ci mówi?",
"Jak się czujesz, mówiąc to?",
"Jak się czujesz, gdy mówisz to?",
),
)
]
reflections = {
"jestem": "jesteś",
"byłem": "byłeś",
"ja": "ty",
"byłbym": "byłbyś",
"mam": "masz",
"będę": "będziesz",
"mój": "twój",
"jesteś": "jestem",
"byłeś": "byłem",
"masz": "mam",
"będziesz": "będę",
"twój": "mój",
"twoje": "moje",
"ty": "ja",
}
chatbot_GOATS = Chat(regulations, reflections)
def run_GOATS_chat():
print("Terapeuta GOATS\n---------")
print("Elo, jak się masz?")
chatbot_GOATS.converse()
if __name__ == "__main__":
run_GOATS_chat()