Compare commits
1 Commits
Author | SHA1 | Date | |
---|---|---|---|
|
be8dca4e88 |
46
elizaPL.py
Normal file
46
elizaPL.py
Normal file
@ -0,0 +1,46 @@
|
|||||||
|
import re
|
||||||
|
import random
|
||||||
|
|
||||||
|
patterns = {
|
||||||
|
r"(.*) mam (problem|problemy) z (.*)": ["Jak myślisz, dlaczego masz problemy z %s?",
|
||||||
|
"Czy myślisz, że problemy z %s wpływają na Twoje samopoczucie?"],
|
||||||
|
r"(.*) mnie (denerwuje|irytuje)": ["Czy możesz powiedzieć mi więcej o tym, co Cię denerwuje?",
|
||||||
|
"Czy czujesz się w stanie poradzić sobie z tym, co Cię irytuje?"],
|
||||||
|
r"(.*) (nienawidzę|nie cierpię) (.*)": ["Dlaczego nie lubisz %s?",
|
||||||
|
"Czy to uczucie niepokoju związane z %s jest dla Ciebie uciążliwe?"],
|
||||||
|
r"(.*) jak się czujesz (.*)": ["Czy pytasz, jak się czuję, czy raczej jak się czujesz Ty?",
|
||||||
|
"Czy uważasz, że mój stan emocjonalny jest dla Ciebie ważny?"],
|
||||||
|
r"(.*) co powiesz na (.*)": ["Czy powiedzenie %s sprawiłoby, że poczujesz się lepiej?",
|
||||||
|
"Jakie są Twoje obawy związane z %s?"],
|
||||||
|
r"(.*) (nie lubię|nie przepadam) za (.*)": ["Czy zdarza się, że musisz radzić sobie z czymś, co nie lubisz?",
|
||||||
|
"Czy uważasz, że masz w ogóle jakieś pozytywne uczucia związane z %s?"],
|
||||||
|
}
|
||||||
|
default_responses = ["Czy mógłbyś powiedzieć coś więcej na ten temat?",
|
||||||
|
"Czy mógłbyś bardziej szczegółowo opisać swoje uczucia?",
|
||||||
|
"Czy wiesz, co mogłoby pomóc Ci się poczuć lepiej?"]
|
||||||
|
|
||||||
|
|
||||||
|
def get_response(responses):
|
||||||
|
return random.choice(responses)
|
||||||
|
|
||||||
|
|
||||||
|
print("Jak się dzisiaj czujesz?")
|
||||||
|
|
||||||
|
while True:
|
||||||
|
|
||||||
|
user_input = input("> ")
|
||||||
|
|
||||||
|
if user_input.lower() in ["exit", "quit", "do widzenia"]:
|
||||||
|
print("Do widzenia!")
|
||||||
|
break
|
||||||
|
|
||||||
|
for pattern, responses in patterns.items():
|
||||||
|
match = re.match(pattern, user_input)
|
||||||
|
if match:
|
||||||
|
response = get_response(responses)
|
||||||
|
print(response % match.groups())
|
||||||
|
break
|
||||||
|
|
||||||
|
else:
|
||||||
|
|
||||||
|
print(get_response(default_responses))
|
Loading…
Reference in New Issue
Block a user