SD-project-22/chatbot.py

219 lines
5.2 KiB
Python
Raw Normal View History

2022-03-09 13:07:13 +01:00
from nltk.chat.util import Chat
reflections = {
"jestem": "jestes",
"byłem": "byłeś",
"ja": "ty",
"zrobiłbym": "zrobiłbyś",
"zrobiłem": "zrobiłeś",
"zrobię": "zrobisz",
"mam": "masz",
"twoje": "moje",
"twój": "mój",
"ty": "ja",
}
pairs = (
(
r'Potrzebuje (.*)',
(
"Dlaczego potrzebujesz %1?",
"Czy napewno %1 Ci pomoże?",
"Jesteś pewny, że potrzebujesz %1?",
),
),
(
2022-03-15 20:56:40 +01:00
r"Dlaczego nie (.*)",
2022-03-09 13:07:13 +01:00
(
2022-03-15 20:56:40 +01:00
"Dlaczego uważasz, że ja nie %1?",
"Może powinienem zacząć %1.",
),
),
(
r"Dlaczego nie mogę (.*)",
(
"Myślisz, że powinieneś móc %1?",
"Jeżeli byś mógł %1, co byś z tym zrobił?",
"Nie rozumiem - dlaczego nie możesz %1?",
),
),
(
r"Nie mogę (.*)",
(
"Dlaczego nie możesz %1?",
"Uważam, że %1 jest w Twoim zasięgu, musisz tylko chcieć.",
),
),
(
r"Jestem (.*)",
(
"Czy przyszedłś do mnie ponieważ %1?",
"Od dawna jesteś %1?",
),
),
(
r"Jesteś (.*)",
(
"Czy to ma znaczenie, że jestem %1?",
"Wolałbyś, gdybym nie był %1?",
"Dlaczego uważasz, że jestem %1.",
),
),
(
r"Jak (.*)",
(
"Jak uważasz, że powinno się to robić?",
"Myślę, że sam znasz odpowiedź na to pytanie.",
),
),
(
r"Ponieważ (.*)",
(
"Czy uważasz, że to rzeczywiście jest powód?",
"Czy przychodzą Ci do głowy jakieś inne możwliwości?",
"Jeżeli %1, co jeszcze musi być prawdą?",
),
),
(
r"Cześć(.*)",
(
"Hej, cieszę się, że dzisiaj przyszedłeś.",
"Cześć, jak Ci minął dzisiejszy dzień?",
"Dzień dobry, jak się dzisiaj czujesz?",
),
),
(
r"Dzień dobry(.*)",
(
"Hej, cieszę się, że dzisiaj przyszedłeś.",
"Cześć, jak Ci minął dzisiejszy dzień?",
"Dzień dobry, jak się dzisiaj czujesz?",
),
),
(
2022-03-15 21:44:05 +01:00
r"Myślę, że (.*)",
2022-03-15 20:56:40 +01:00
(
"Czy jesteś pewien %1?",
"Naprawdę tak uważasz?",
"Ale nie jesteś pewien %1?"
),
),
(
r"(.*) przyjaciel (.*)",
(
"Opowiedz mi więcej o tym przyjacielu.",
"Co masz na myśli, mówiąc przyjaciel?",
),
),
(
2022-03-15 21:44:05 +01:00
r"Tak",
2022-03-15 20:56:40 +01:00
(
"Brzmisz na całkiem pewnego.",
"Czy mógłbyś rozwinąć?"
)
),
(
r"(.*) komputer(.*)",
(
"Czy poważnie mnie o to pytasz?",
"Czy wyglądam Ci na komputer?",
"Czy boisz się komputerów?",
),
),
(
r"(.*) program(.*)",
(
"Czy poważnie mnie o to pytasz?",
"Czy wyglądam Ci na komputer?",
"Czy boisz się komputerów?",
),
),
(
r"Ty (.*)",
(
"Powinniśmy skupić się na Tobie.",
"Dlaczego tak o mnie mówisz?",
),
),
(
r"Dlaczego (.*)",
(
"Jak myślisz, dlaczego %1?",
"Myślę, żę Ty możesz mi powiedzieć, dlaczego %1?"
)
),
(
r"Chcę (.*)",
(
"Jak byś się poczuł, gdybyś dostał %1?",
"Dlaczego chcesz %1?",
"Jeżeli byś dostał %1, co byś wtedy zrobił?",
),
),
(
r"(.*) matka(.*)",
(
"Opowiedz mi o Twojej matce.",
"Jaka relacja łączy Cię z rodzicami?",
),
),
(
r"(.*) mama(.*)",
(
"Opowiedz mi o Twojej matce.",
"Jaka relacja łączy Cię z rodzicami?",
),
),
(
r"(.*) ojciec(.*)",
(
"Opowiedz mi o Twoim ojcu.",
"Jak czujesz się przy ojcu?",
2022-03-15 21:44:05 +01:00
)
2022-03-15 20:56:40 +01:00
),
(
r"(.*) tata(.*)",
(
"Opowiedz mi o Twoim ojcu.",
"Jak czujesz się przy ojcu?",
2022-03-15 21:44:05 +01:00
)
2022-03-15 20:56:40 +01:00
),
(
r"(.*)\?",
(
"Dlaczego o to pytasz?",
"Wydaje mi się, że sam możesz na to odpowiedzieć.",
"Zastanów się, czy nie możesz sam odpowiedzieć na to pytanie?",
),
),
(
r"quit",
(
"Dziękuję za rozmowę.",
"Żegnaj.",
"Dziękuję, to będzie 150PLN. Miłego dnia!",
),
),
(
r"(.*)",
(
"Opowiedz mi więcej.",
"Zmieńmy trochę temat ... opowiedz mi o Twojej rodzinie.",
"Mógłbyś rozwinąć?",
"Dlaczego mówisz %1?",
"Rozumiem.",
"Bardzo interesujące.",
"Rozumiem. Co byś z tego wyciągnął?",
"Jak się czujesz, mówiąc te słowa?",
2022-03-09 13:07:13 +01:00
),
),
)
chatbot = Chat(pairs, reflections)
if __name__ == '__main__':
2022-03-15 21:44:05 +01:00
print('Cześć, czego potrzebujesz?')
2022-03-09 13:07:13 +01:00
chatbot.converse()