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