systemy_dialogowe/main.py

64 lines
2.0 KiB
Python

import re
import random
dictionary = {
"cześć": ["Witaj. Jak mogę Ci pomóc?",
"Cześć. Co Ciebie dzisiaj sprowadza?",
"Hej, tu Eliza. O czym chcesz porozmawiać?"],
"tak": ["Dobrze, a powiedz coś więcej."],
"nie": ["Dlaczego nie?", "Co skłania Cię do tej odpowiedzi?"],
r'czuję się (.*)': [
'Dlaczego tak się czujesz?'
],
r'.*lubię (.*)': [
'Co najbardziej w tym lubisz?',
'Dlaczego to lubisz?'
],
r'.*nie lubię (.*)': [
'Dlaczego tego nie lubisz?'
],
r'.*dlaczego (.*)': [
'Czy naprawdę potrzebujesz znać powód?',
'Czy to jest ważne dla ciebie?'
],
r'.*moje hobby to (.*)': [
'Jak długo już się ty, interesujesz?',
'Czy to jest dla Ciebie sposobem na odprężenie?',
],
r'.*nienawidzę (.*)': [
'Czemu tak tego bardzo nie lubisz?',
'Czy istnieje możliwość, że twoje uczucia wobec tego się zmienią?'
]
}
# funkcja zwracająca odpowiedź na zadane pytanie
def elisa_response(input_text):
if not input_text:
return "Nie napisałeś nic"
for pattern, response_list in dictionary.items():
matches = re.match(pattern, input_text.lower())
if matches:
chosen_response = random.choice(response_list)
return chosen_response
return "Nie rozumiem."
# pętla główna programu
def main():
print('Cześć, jestem Eliza. Jak się czujesz dzisiaj?')
while True:
insert = input('Ty: ')
if insert.lower() in ['do widzenia', 'do zobaczenia', 'na razie'
'pa', 'żegnam', 'do usłyszenia',
'zakończ', 'koniec', 'elo', 'żegnaj'
'do usłyszenia', 'pa pa', 'do następnego razu']:
print('Eliza: Do widzenia!')
break
print("Eliza: " + elisa_response(insert))
main()