Compare commits
1 Commits
Author | SHA1 | Date | |
---|---|---|---|
37179e23a5 |
399
chatbot.py
399
chatbot.py
@ -1,19 +1,384 @@
|
|||||||
import re
|
from nltk.chat.util import Chat
|
||||||
import random
|
|
||||||
|
|
||||||
#default_answers = [0: "Powiedz mi więcej.", 1: "Zmieńmy temat - opowiedz mi o swojej rodzinie.", 2: "Rozumiem.", 3: "Czemu tak uważasz?", 4: "Interesujące...", 5: "Mhm.", 6: "Jak się z tym czujesz?"]
|
pairs_pl = (
|
||||||
#answer_patterns = #lista list zczytana z pliku; struktura listy np. lista[0] - regex, lista[n] - odpowiedzi
|
(
|
||||||
|
r"Potrzebuję (.*)",
|
||||||
|
(
|
||||||
|
"Dlaczego potrzebujesz %1?",
|
||||||
|
"Czy poczułbyś się lepiej gdybyś miał %1?",
|
||||||
|
"Jesteś pewny, że potrzebujesz %1?",
|
||||||
|
),
|
||||||
|
),
|
||||||
|
(
|
||||||
|
r"Dlaczego nie mogę (.*)",
|
||||||
|
(
|
||||||
|
"Myślisz, że powinieneś móc %1?",
|
||||||
|
"Gdybyś mógł %1, co byś wtedy zrobił?",
|
||||||
|
"Nie wiem -- dlaczego nie możesz %1?",
|
||||||
|
"Czy kiedykolwiek tak naprawdę spróbowałeś?",
|
||||||
|
),
|
||||||
|
),
|
||||||
|
(
|
||||||
|
r"Nie mogę (.*)",
|
||||||
|
(
|
||||||
|
"Skąd wiesz, że nie możesz %1?",
|
||||||
|
"Może mógłbyś %1 gdybyś spróbował.",
|
||||||
|
"Co musiało by się wydarzyć, byś mógł %1?",
|
||||||
|
),
|
||||||
|
),
|
||||||
|
(
|
||||||
|
r"Jestem (.*)",
|
||||||
|
(
|
||||||
|
"Jak się czujesz z tym, że jesteś %1?",
|
||||||
|
"Czy sprawia Ci przyjemność bycie %1?",
|
||||||
|
"Dlaczego chciałeś mi powiedzieć, że jesteś %1?",
|
||||||
|
"Dlaczego myślisz, że jesteś %1?",
|
||||||
|
"Czy przyszedłeś do mnie, bo jesteś %1?",
|
||||||
|
"Od jak dawna jesteś %1?",
|
||||||
|
"Czy dobrze się czujesz z tym, że jesteś %1?",
|
||||||
|
),
|
||||||
|
),
|
||||||
|
(
|
||||||
|
r"Czy jesteś (.*)",
|
||||||
|
(
|
||||||
|
"Czy to ma znaczenie czy jestem %1?",
|
||||||
|
"Wolałbyś, żebym nie był %1?",
|
||||||
|
"Być może wierzysz, że jestem %1.",
|
||||||
|
"Mogę być %1 - a jak Tobie się wydaje?",
|
||||||
|
),
|
||||||
|
),
|
||||||
|
(
|
||||||
|
r"Co (.*)\?",
|
||||||
|
(
|
||||||
|
"Dlaczego pytasz?",
|
||||||
|
"W jaki sposób miałaby Ci pomóc odpowiedź na to pytanie?",
|
||||||
|
"A co Ty o tym myślisz?",
|
||||||
|
),
|
||||||
|
),
|
||||||
|
(
|
||||||
|
r"Jak (.*)\?",
|
||||||
|
(
|
||||||
|
"A jak Tobie się wydaje?",
|
||||||
|
"Może sam spróbujesz odpowiedzieć na to pytanie.",
|
||||||
|
"O co tak naprawdę pytasz?",
|
||||||
|
),
|
||||||
|
),
|
||||||
|
(
|
||||||
|
r"(Dlatego,? że|Ponieważ) (.*)",
|
||||||
|
(
|
||||||
|
"Czy to jest prawdziwy powód?",
|
||||||
|
"Jakie inne powody przychodzą Ci na myśl?",
|
||||||
|
"Czy może być inny powód, oprócz %2?",
|
||||||
|
),
|
||||||
|
),
|
||||||
|
(
|
||||||
|
r"(.*)przepraszam (.*)",
|
||||||
|
(
|
||||||
|
"Często przeprosiny nie są wcale potrzebne.",
|
||||||
|
"Jakie uczucia Ci towarzyszą, gdy przepraszasz?",
|
||||||
|
"Uważasz, że powinieneś przepraszać?"
|
||||||
|
),
|
||||||
|
),
|
||||||
|
(
|
||||||
|
r"(Cześć|Hej) (.*)",
|
||||||
|
(
|
||||||
|
"Dzień dobry, cieszę się, że możemy się dziś spotkać.",
|
||||||
|
"Dzień dobry, jak się dzisiaj czujesz?",
|
||||||
|
"Dzień dobry, jak Ci minął dzień?",
|
||||||
|
),
|
||||||
|
),
|
||||||
|
(
|
||||||
|
r"Wydaje mi się, że (.*)",
|
||||||
|
(
|
||||||
|
"Masz wątpliwości, że %1?",
|
||||||
|
"Naprawdę tak myślisz?",
|
||||||
|
"Ale nie jesteś pewny, że %1?"
|
||||||
|
),
|
||||||
|
),
|
||||||
|
(
|
||||||
|
r"(.*) przyjaci(.*)",
|
||||||
|
(
|
||||||
|
"Opowiedz mi więcej o twoich przyjaciołach.",
|
||||||
|
"Kiedy myślisz o przyjacielu, jakie towarzyszą Ci uczucia?",
|
||||||
|
"Może opowiesz mi o twoich przyjaciołach z dzieciństwa?",
|
||||||
|
),
|
||||||
|
),
|
||||||
|
(
|
||||||
|
r"Tak",
|
||||||
|
(
|
||||||
|
"Wydajesz się tego pewny.",
|
||||||
|
"Dobrze, czy mógłbyś powiedzieć mi coś więcej?"
|
||||||
|
)
|
||||||
|
),
|
||||||
|
(
|
||||||
|
r"(.*) komputer (.*)",
|
||||||
|
(
|
||||||
|
"Naprawdę mówisz o mnie?",
|
||||||
|
"Czy rozmowa z komputerem wydaje Ci się czymś dziwnym?",
|
||||||
|
"Czy komputery sprawiają, że czujesz się zagrożony?",
|
||||||
|
"CZy odczuwasz zagrożenie ze strony komputerów?",
|
||||||
|
),
|
||||||
|
),
|
||||||
|
(
|
||||||
|
r"Czy to jest (.*)",
|
||||||
|
(
|
||||||
|
"Myślisz, że to jest %1?",
|
||||||
|
"Być może to %1 - jak Ty myślisz?",
|
||||||
|
"Gdyby to było %1, co byś zrobił?",
|
||||||
|
"To zdecydowanie może być %1.",
|
||||||
|
),
|
||||||
|
),
|
||||||
|
(
|
||||||
|
r"To jest (.*)",
|
||||||
|
(
|
||||||
|
"Wydajesz się tego bardzo pewny.",
|
||||||
|
"Gdybym powiedział Ci, że to prawdopodobnie nie jest %1, jak byś się wtedy czuł?",
|
||||||
|
),
|
||||||
|
),
|
||||||
|
(
|
||||||
|
r"Czy (możesz|mógłbyś|mogłabyś)(.*)",
|
||||||
|
(
|
||||||
|
"Dlaczego myślisz, że nie %1%2?",
|
||||||
|
"Jeżeli %1, to co?",
|
||||||
|
"Dlaczego pytasz czy %1%2?",
|
||||||
|
),
|
||||||
|
),
|
||||||
|
(
|
||||||
|
r"Czy mogę (.*)",
|
||||||
|
(
|
||||||
|
"Być może wcale nie chcesz %1.",
|
||||||
|
"Czy chciałbyś móc %1?",
|
||||||
|
"Gdybyś mógł %1, zrobiłbyś to?",
|
||||||
|
),
|
||||||
|
),
|
||||||
|
(
|
||||||
|
r"(jesteś)(.*)",
|
||||||
|
(
|
||||||
|
"Dlaczego mówisz, że %1%2?",
|
||||||
|
"Dlaczego myślisz, że %1%2?",
|
||||||
|
"Chcemy rozmawiać o mnie czy o tobie?",
|
||||||
|
"Chciałbyś, żebym był%2?",
|
||||||
|
"Być może tak naprawdę mówisz o sobie?",
|
||||||
|
"Może chciałbyś, żebym był%2"
|
||||||
|
),
|
||||||
|
),
|
||||||
|
(
|
||||||
|
r"Nie chcę (.*)",
|
||||||
|
(
|
||||||
|
"Naprawdę nie chcesz %1?",
|
||||||
|
"Dlaczego nie chcesz %1?",
|
||||||
|
),
|
||||||
|
),
|
||||||
|
(
|
||||||
|
r"Czuję (.*)",
|
||||||
|
(
|
||||||
|
"Dobrze, powiedz mi więcej o tym jak się czujesz.",
|
||||||
|
"Często czujesz %1?",
|
||||||
|
"Kiedy zazwyczaj czujesz %1?",
|
||||||
|
"Gdy czujesz %1, co zazwyczaj z tym robisz?",
|
||||||
|
),
|
||||||
|
),
|
||||||
|
(
|
||||||
|
r"Mam (.*)",
|
||||||
|
(
|
||||||
|
"Dlaczego mówisz, że masz %1?",
|
||||||
|
"Czy naprawdę masz %1?",
|
||||||
|
"Teraz gdy już masz %1, co planujesz zrobić?",
|
||||||
|
),
|
||||||
|
),
|
||||||
|
(
|
||||||
|
r"Ja bym (.*)",
|
||||||
|
(
|
||||||
|
"Mógłbyś dokładniej powiedzieć co byś %1?",
|
||||||
|
"Dlaczego %1?",
|
||||||
|
"Czy ktoś wie, że Ty byś %1?",
|
||||||
|
),
|
||||||
|
),
|
||||||
|
(
|
||||||
|
r"Czy jest (.*)",
|
||||||
|
(
|
||||||
|
"Myślisz, że jest %1?",
|
||||||
|
"Możliwe, że jest %1.",
|
||||||
|
"Czy chciałbyś, żeby był %1?",
|
||||||
|
),
|
||||||
|
),
|
||||||
|
(
|
||||||
|
r"(?=Mój|Moja)(.*)",
|
||||||
|
(
|
||||||
|
"Rozumiem, %1.",
|
||||||
|
"Dlaczego uważasz, że %1?",
|
||||||
|
"Kiedy %1, jak się wtedy czujesz?",
|
||||||
|
),
|
||||||
|
),
|
||||||
|
(
|
||||||
|
r"Ty (.*)",
|
||||||
|
(
|
||||||
|
"Powinniśmy mówić o Tobie, nie o mnie.",
|
||||||
|
"Dlaczego tak o mnie myślisz?",
|
||||||
|
"Dlaczego to dla Ciebie ważne?",
|
||||||
|
),
|
||||||
|
),
|
||||||
|
(
|
||||||
|
r"Dlaczego (.*)",
|
||||||
|
("Może sam spróbujesz odpowiedzieć to pytanie?",
|
||||||
|
"Dlaczego myślisz, że %1?"
|
||||||
|
)
|
||||||
|
),
|
||||||
|
(
|
||||||
|
r"(Chciałabym|chciałbym) (.*ć|.*c) (.*)",
|
||||||
|
(
|
||||||
|
"Co by się zmieniło, gdybyś mógł %2 %3?",
|
||||||
|
"Dlaczego %1 %2 %3?",
|
||||||
|
"Co byś zrobił gdybyś mógł %2 %3?",
|
||||||
|
"Gdybyś mógł %2 %3, co byś wtedy zrobił?",
|
||||||
|
),
|
||||||
|
),
|
||||||
|
(
|
||||||
|
r"(Chciałabym|chciałbym) (.*)",
|
||||||
|
(
|
||||||
|
"Co by się zmieniło, gdybyś miał %2?",
|
||||||
|
"Dlaczego %1 %2?",
|
||||||
|
"Co byś zrobił gdybyś miał %2?",
|
||||||
|
"Gdybyś miał %2, co byś wtedy zrobił?",
|
||||||
|
),
|
||||||
|
),
|
||||||
|
(
|
||||||
|
r"(mama|matka).*",
|
||||||
|
(
|
||||||
|
"Opowiedz mi o twojej matce.",
|
||||||
|
"Jak układają się twoje stosunki z matką?",
|
||||||
|
"Co czujesz kiedy myślisz o twojej mamie?",
|
||||||
|
"Myślisz, że to ma wpływ na to jak obecnie się czujesz?",
|
||||||
|
"Dobre relacje rodzinne są ważne.",
|
||||||
|
),
|
||||||
|
),
|
||||||
|
(
|
||||||
|
r"(tata|ojciec).*",
|
||||||
|
(
|
||||||
|
"Opowiedz mi więcej o twoim ojcu.",
|
||||||
|
"Jak układają się twoje stosunki z ojcem?",
|
||||||
|
"Co czujesz kiedy myślisz o twoim ojcu?",
|
||||||
|
"Myślisz, że to ma wpływ na to jak obecnie się czujesz?",
|
||||||
|
"Czy masz problem z okazywaniem uczuć członkom twojej rodziny?",
|
||||||
|
),
|
||||||
|
),
|
||||||
|
(
|
||||||
|
r"(.*)\?",
|
||||||
|
(
|
||||||
|
"Dlaczego o to pytasz?",
|
||||||
|
"Zastanów się czy jesteś w stanie sam odpowiedzieć na to pytanie.",
|
||||||
|
"Być może odpowiedzi powinieneś szukać u siebie?",
|
||||||
|
"Może chciałbyś powiedzieć mi o tym coś więcej?",
|
||||||
|
),
|
||||||
|
),
|
||||||
|
(
|
||||||
|
r"wyjdź",
|
||||||
|
(
|
||||||
|
"Dziękuję, że zechciałeś ze mną porozmawiać.",
|
||||||
|
"Do zobaczenia.",
|
||||||
|
"Dziękuję, to będzie 200zł. Miłego dnia!",
|
||||||
|
),
|
||||||
|
),
|
||||||
|
(
|
||||||
|
r"(.* mieć dziec.*)",
|
||||||
|
(
|
||||||
|
"Dlaczego %1?",
|
||||||
|
"Czy twoje doświadczenia z dzieciństwa mają wpływ na tę decyzję?",
|
||||||
|
"Dobrze wspominasz swoje dzieciństwo?",
|
||||||
|
),
|
||||||
|
),
|
||||||
|
(
|
||||||
|
r"(.*) dziec(.*)",
|
||||||
|
(
|
||||||
|
"Czy jako dziecko miałaś wielu przyjaciół?",
|
||||||
|
"Jakie jest twoje ulubione wspomnienie z dzieciństwa?",
|
||||||
|
"Pamiętasz jakieś koszmary czy sny z dzieciństwa?",
|
||||||
|
"Czy inne dzieci Ci dokuczały?",
|
||||||
|
"Myślisz, że twoje doświadczenia z dzieciństwa miały wpływ na to jak się dzisiaj czujesz?",
|
||||||
|
),
|
||||||
|
),
|
||||||
|
(
|
||||||
|
r"(.*)",
|
||||||
|
(
|
||||||
|
"Proszę, powiedz mi coś więcej.",
|
||||||
|
"Proszę, powiedz mi dlaczego %1",
|
||||||
|
"W takim razie zmieńmy temat... Opowiedz mi coś o twojej rodzinie.",
|
||||||
|
"Chciałbyś rozwinąć tę myśl?",
|
||||||
|
"Dlaczego uważasz, że %1?",
|
||||||
|
"Rozumiem.",
|
||||||
|
"Interesujące.",
|
||||||
|
"%1.",
|
||||||
|
"Rozumiem. I co Ci to mówi?",
|
||||||
|
"Jak się przez to czujesz?",
|
||||||
|
"Co czujesz kiedy to mówisz?",
|
||||||
|
),
|
||||||
|
),
|
||||||
|
)
|
||||||
|
|
||||||
print("Witaj. Jak się dzisiaj czujesz?")
|
reflections_pl = {
|
||||||
while True:
|
"jestem": "jesteś",
|
||||||
match_found = False
|
"byłem": "byłeś",
|
||||||
user_input = input()
|
"byłam": "byłaś",
|
||||||
for answer_pattern in answer_patterns:
|
"będę": "będziesz",
|
||||||
if re.match(answer_pattern[0], user_input):
|
"ja": "ty",
|
||||||
match_found = True
|
"ty": "ja",
|
||||||
answer_number = random.randint(1, len(answer_pattern))
|
"chciałbym": "chciałbyś",
|
||||||
print(answer_pattern[answer_number])
|
"chciałabym": "chciałabyś",
|
||||||
break
|
"mam": "masz",
|
||||||
if not match_found:
|
"masz": "mam",
|
||||||
answer_number = random.randint(0, len(default_answers))
|
"mój": "twój",
|
||||||
print(default_answers[answer_number])
|
"moja": "twoja",
|
||||||
|
"moje": "twoje",
|
||||||
|
"mojej": "twojej",
|
||||||
|
"moi": "twoi",
|
||||||
|
"jesteś": "jestem",
|
||||||
|
"byłeś": "byłem",
|
||||||
|
"byłaś": "byłam",
|
||||||
|
"będziesz": "będę",
|
||||||
|
"twój": "mój",
|
||||||
|
"twoja": "moja",
|
||||||
|
"twoje": "moje",
|
||||||
|
"ciebie": "mnie",
|
||||||
|
"ci": "mi",
|
||||||
|
"tobie": "mi",
|
||||||
|
"mnie": "ciebie",
|
||||||
|
"mi": "tobie",
|
||||||
|
"chciałem": "chciałeś",
|
||||||
|
"chciałam": "chciałaś",
|
||||||
|
"szukam": "szukasz",
|
||||||
|
"obawiam": "obawiasz",
|
||||||
|
"boję": "boisz",
|
||||||
|
"ufam": "ufasz",
|
||||||
|
"z tobą": "ze mną",
|
||||||
|
"muszę": "musisz",
|
||||||
|
"możesz": "mogę",
|
||||||
|
"mógłbyś": "mogę",
|
||||||
|
"mogłabyś": "mogę",
|
||||||
|
"powinnam": "powinnaś",
|
||||||
|
"powinienem": "powinieneś"
|
||||||
|
}
|
||||||
|
|
||||||
|
grazyna_chatbot = Chat(pairs_pl, reflections_pl)
|
||||||
|
|
||||||
|
|
||||||
|
def grazyna_chat():
|
||||||
|
greeting = ['Rozmawiaj z programem pisząc proste zdania w języku polskim.',
|
||||||
|
'Aby zakończyć rozmowę napisz \033[1;31mwyjdź\033[0;0m.']
|
||||||
|
frame_width = len(max(greeting, key=len)) + 8
|
||||||
|
print("*" * frame_width + "\n*" + (frame_width - 2) * " " + "*")
|
||||||
|
print("*" + int((frame_width - len(greeting[0]) - 1) / 2) * " " + greeting[0] + int(
|
||||||
|
(frame_width - len(greeting[0]) - 2) / 2) * " " + "*")
|
||||||
|
print("*" + int((frame_width - len(greeting[1]) + 13 - 1) / 2) * " " + greeting[1] + int(
|
||||||
|
(frame_width - len(greeting[1]) + 13 - 2) / 2) * " " + "*\n*" + (frame_width - 2) * " " + "*")
|
||||||
|
print("*" * frame_width)
|
||||||
|
print("\nDzień dobry. Jak się dzisiaj czujesz?")
|
||||||
|
|
||||||
|
grazyna_chatbot.converse(quit="wyjdź")
|
||||||
|
|
||||||
|
|
||||||
|
def demo():
|
||||||
|
grazyna_chat()
|
||||||
|
|
||||||
|
|
||||||
|
if __name__ == "__main__":
|
||||||
|
demo()
|
384
chatbot2.py
384
chatbot2.py
@ -1,384 +0,0 @@
|
|||||||
from nltk.chat.util import Chat
|
|
||||||
|
|
||||||
pairs_pl = (
|
|
||||||
(
|
|
||||||
r"Potrzebuję (.*)",
|
|
||||||
(
|
|
||||||
"Dlaczego potrzebujesz %1?",
|
|
||||||
"Czy poczułbyś się lepiej gdybyś miał %1?",
|
|
||||||
"Jesteś pewny, że potrzebujesz %1?",
|
|
||||||
),
|
|
||||||
),
|
|
||||||
(
|
|
||||||
r"Dlaczego nie mogę (.*)",
|
|
||||||
(
|
|
||||||
"Myślisz, że powinieneś móc %1?",
|
|
||||||
"Gdybyś mógł %1, co byś wtedy zrobił?",
|
|
||||||
"Nie wiem -- dlaczego nie możesz %1?",
|
|
||||||
"Czy kiedykolwiek tak naprawdę spróbowałeś?",
|
|
||||||
),
|
|
||||||
),
|
|
||||||
(
|
|
||||||
r"Nie mogę (.*)",
|
|
||||||
(
|
|
||||||
"Skąd wiesz, że nie możesz %1?",
|
|
||||||
"Może mógłbyś %1 gdybyś spróbował.",
|
|
||||||
"Co musiało by się wydarzyć, byś mógł %1?",
|
|
||||||
),
|
|
||||||
),
|
|
||||||
(
|
|
||||||
r"Jestem (.*)",
|
|
||||||
(
|
|
||||||
"Jak się czujesz z tym, że jesteś %1?",
|
|
||||||
"Czy sprawia Ci przyjemność bycie %1?",
|
|
||||||
"Dlaczego chciałeś mi powiedzieć, że jesteś %1?",
|
|
||||||
"Dlaczego myślisz, że jesteś %1?",
|
|
||||||
"Czy przyszedłeś do mnie, bo jesteś %1?",
|
|
||||||
"Od jak dawna jesteś %1?",
|
|
||||||
"Czy dobrze się czujesz z tym, że jesteś %1?",
|
|
||||||
),
|
|
||||||
),
|
|
||||||
(
|
|
||||||
r"Czy jesteś (.*)",
|
|
||||||
(
|
|
||||||
"Czy to ma znaczenie czy jestem %1?",
|
|
||||||
"Wolałbyś, żebym nie był %1?",
|
|
||||||
"Być może wierzysz, że jestem %1.",
|
|
||||||
"Mogę być %1 - a jak Tobie się wydaje?",
|
|
||||||
),
|
|
||||||
),
|
|
||||||
(
|
|
||||||
r"Co (.*)\?",
|
|
||||||
(
|
|
||||||
"Dlaczego pytasz?",
|
|
||||||
"W jaki sposób miałaby Ci pomóc odpowiedź na to pytanie?",
|
|
||||||
"A co Ty o tym myślisz?",
|
|
||||||
),
|
|
||||||
),
|
|
||||||
(
|
|
||||||
r"Jak (.*)\?",
|
|
||||||
(
|
|
||||||
"A jak Tobie się wydaje?",
|
|
||||||
"Może sam spróbujesz odpowiedzieć na to pytanie.",
|
|
||||||
"O co tak naprawdę pytasz?",
|
|
||||||
),
|
|
||||||
),
|
|
||||||
(
|
|
||||||
r"(Dlatego,? że|Ponieważ) (.*)",
|
|
||||||
(
|
|
||||||
"Czy to jest prawdziwy powód?",
|
|
||||||
"Jakie inne powody przychodzą Ci na myśl?",
|
|
||||||
"Czy może być inny powód, oprócz %2?",
|
|
||||||
),
|
|
||||||
),
|
|
||||||
(
|
|
||||||
r"(.*)przepraszam (.*)",
|
|
||||||
(
|
|
||||||
"Często przeprosiny nie są wcale potrzebne.",
|
|
||||||
"Jakie uczucia Ci towarzyszą, gdy przepraszasz?",
|
|
||||||
"Uważasz, że powinieneś przepraszać?"
|
|
||||||
),
|
|
||||||
),
|
|
||||||
(
|
|
||||||
r"(Cześć|Hej) (.*)",
|
|
||||||
(
|
|
||||||
"Dzień dobry, cieszę się, że możemy się dziś spotkać.",
|
|
||||||
"Dzień dobry, jak się dzisiaj czujesz?",
|
|
||||||
"Dzień dobry, jak Ci minął dzień?",
|
|
||||||
),
|
|
||||||
),
|
|
||||||
(
|
|
||||||
r"Wydaje mi się, że (.*)",
|
|
||||||
(
|
|
||||||
"Masz wątpliwości, że %1?",
|
|
||||||
"Naprawdę tak myślisz?",
|
|
||||||
"Ale nie jesteś pewny, że %1?"
|
|
||||||
),
|
|
||||||
),
|
|
||||||
(
|
|
||||||
r"(.*) przyjaci(.*)",
|
|
||||||
(
|
|
||||||
"Opowiedz mi więcej o twoich przyjaciołach.",
|
|
||||||
"Kiedy myślisz o przyjacielu, jakie towarzyszą Ci uczucia?",
|
|
||||||
"Może opowiesz mi o twoich przyjaciołach z dzieciństwa?",
|
|
||||||
),
|
|
||||||
),
|
|
||||||
(
|
|
||||||
r"Tak",
|
|
||||||
(
|
|
||||||
"Wydajesz się tego pewny.",
|
|
||||||
"Dobrze, czy mógłbyś powiedzieć mi coś więcej?"
|
|
||||||
)
|
|
||||||
),
|
|
||||||
(
|
|
||||||
r"(.*) komputer (.*)",
|
|
||||||
(
|
|
||||||
"Naprawdę mówisz o mnie?",
|
|
||||||
"Czy rozmowa z komputerem wydaje Ci się czymś dziwnym?",
|
|
||||||
"Czy komputery sprawiają, że czujesz się zagrożony?",
|
|
||||||
"CZy odczuwasz zagrożenie ze strony komputerów?",
|
|
||||||
),
|
|
||||||
),
|
|
||||||
(
|
|
||||||
r"Czy to jest (.*)",
|
|
||||||
(
|
|
||||||
"Myślisz, że to jest %1?",
|
|
||||||
"Być może to %1 - jak Ty myślisz?",
|
|
||||||
"Gdyby to było %1, co byś zrobił?",
|
|
||||||
"To zdecydowanie może być %1.",
|
|
||||||
),
|
|
||||||
),
|
|
||||||
(
|
|
||||||
r"To jest (.*)",
|
|
||||||
(
|
|
||||||
"Wydajesz się tego bardzo pewny.",
|
|
||||||
"Gdybym powiedział Ci, że to prawdopodobnie nie jest %1, jak byś się wtedy czuł?",
|
|
||||||
),
|
|
||||||
),
|
|
||||||
(
|
|
||||||
r"Czy (możesz|mógłbyś|mogłabyś)(.*)",
|
|
||||||
(
|
|
||||||
"Dlaczego myślisz, że nie %1%2?",
|
|
||||||
"Jeżeli %1, to co?",
|
|
||||||
"Dlaczego pytasz czy %1%2?",
|
|
||||||
),
|
|
||||||
),
|
|
||||||
(
|
|
||||||
r"Czy mogę (.*)",
|
|
||||||
(
|
|
||||||
"Być może wcale nie chcesz %1.",
|
|
||||||
"Czy chciałbyś móc %1?",
|
|
||||||
"Gdybyś mógł %1, zrobiłbyś to?",
|
|
||||||
),
|
|
||||||
),
|
|
||||||
(
|
|
||||||
r"(jesteś)(.*)",
|
|
||||||
(
|
|
||||||
"Dlaczego mówisz, że %1%2?",
|
|
||||||
"Dlaczego myślisz, że %1%2?",
|
|
||||||
"Chcemy rozmawiać o mnie czy o tobie?",
|
|
||||||
"Chciałbyś, żebym był%2?",
|
|
||||||
"Być może tak naprawdę mówisz o sobie?",
|
|
||||||
"Może chciałbyś, żebym był%2"
|
|
||||||
),
|
|
||||||
),
|
|
||||||
(
|
|
||||||
r"Nie chcę (.*)",
|
|
||||||
(
|
|
||||||
"Naprawdę nie chcesz %1?",
|
|
||||||
"Dlaczego nie chcesz %1?",
|
|
||||||
),
|
|
||||||
),
|
|
||||||
(
|
|
||||||
r"Czuję (.*)",
|
|
||||||
(
|
|
||||||
"Dobrze, powiedz mi więcej o tym jak się czujesz.",
|
|
||||||
"Często czujesz %1?",
|
|
||||||
"Kiedy zazwyczaj czujesz %1?",
|
|
||||||
"Gdy czujesz %1, co zazwyczaj z tym robisz?",
|
|
||||||
),
|
|
||||||
),
|
|
||||||
(
|
|
||||||
r"Mam (.*)",
|
|
||||||
(
|
|
||||||
"Dlaczego mówisz, że masz %1?",
|
|
||||||
"Czy naprawdę masz %1?",
|
|
||||||
"Teraz gdy już masz %1, co planujesz zrobić?",
|
|
||||||
),
|
|
||||||
),
|
|
||||||
(
|
|
||||||
r"Ja bym (.*)",
|
|
||||||
(
|
|
||||||
"Mógłbyś dokładniej powiedzieć co byś %1?",
|
|
||||||
"Dlaczego %1?",
|
|
||||||
"Czy ktoś wie, że Ty byś %1?",
|
|
||||||
),
|
|
||||||
),
|
|
||||||
(
|
|
||||||
r"Czy jest (.*)",
|
|
||||||
(
|
|
||||||
"Myślisz, że jest %1?",
|
|
||||||
"Możliwe, że jest %1.",
|
|
||||||
"Czy chciałbyś, żeby był %1?",
|
|
||||||
),
|
|
||||||
),
|
|
||||||
(
|
|
||||||
r"(?=Mój|Moja)(.*)",
|
|
||||||
(
|
|
||||||
"Rozumiem, %1.",
|
|
||||||
"Dlaczego uważasz, że %1?",
|
|
||||||
"Kiedy %1, jak się wtedy czujesz?",
|
|
||||||
),
|
|
||||||
),
|
|
||||||
(
|
|
||||||
r"Ty (.*)",
|
|
||||||
(
|
|
||||||
"Powinniśmy mówić o Tobie, nie o mnie.",
|
|
||||||
"Dlaczego tak o mnie myślisz?",
|
|
||||||
"Dlaczego to dla Ciebie ważne?",
|
|
||||||
),
|
|
||||||
),
|
|
||||||
(
|
|
||||||
r"Dlaczego (.*)",
|
|
||||||
("Może sam spróbujesz odpowiedzieć to pytanie?",
|
|
||||||
"Dlaczego myślisz, że %1?"
|
|
||||||
)
|
|
||||||
),
|
|
||||||
(
|
|
||||||
r"(Chciałabym|chciałbym) (.*ć|.*c) (.*)",
|
|
||||||
(
|
|
||||||
"Co by się zmieniło, gdybyś mógł %2 %3?",
|
|
||||||
"Dlaczego %1 %2 %3?",
|
|
||||||
"Co byś zrobił gdybyś mógł %2 %3?",
|
|
||||||
"Gdybyś mógł %2 %3, co byś wtedy zrobił?",
|
|
||||||
),
|
|
||||||
),
|
|
||||||
(
|
|
||||||
r"(Chciałabym|chciałbym) (.*)",
|
|
||||||
(
|
|
||||||
"Co by się zmieniło, gdybyś miał %2?",
|
|
||||||
"Dlaczego %1 %2?",
|
|
||||||
"Co byś zrobił gdybyś miał %2?",
|
|
||||||
"Gdybyś miał %2, co byś wtedy zrobił?",
|
|
||||||
),
|
|
||||||
),
|
|
||||||
(
|
|
||||||
r"(mama|matka).*",
|
|
||||||
(
|
|
||||||
"Opowiedz mi o twojej matce.",
|
|
||||||
"Jak układają się twoje stosunki z matką?",
|
|
||||||
"Co czujesz kiedy myślisz o twojej mamie?",
|
|
||||||
"Myślisz, że to ma wpływ na to jak obecnie się czujesz?",
|
|
||||||
"Dobre relacje rodzinne są ważne.",
|
|
||||||
),
|
|
||||||
),
|
|
||||||
(
|
|
||||||
r"(tata|ojciec).*",
|
|
||||||
(
|
|
||||||
"Opowiedz mi więcej o twoim ojcu.",
|
|
||||||
"Jak układają się twoje stosunki z ojcem?",
|
|
||||||
"Co czujesz kiedy myślisz o twoim ojcu?",
|
|
||||||
"Myślisz, że to ma wpływ na to jak obecnie się czujesz?",
|
|
||||||
"Czy masz problem z okazywaniem uczuć członkom twojej rodziny?",
|
|
||||||
),
|
|
||||||
),
|
|
||||||
(
|
|
||||||
r"(.*)\?",
|
|
||||||
(
|
|
||||||
"Dlaczego o to pytasz?",
|
|
||||||
"Zastanów się czy jesteś w stanie sam odpowiedzieć na to pytanie.",
|
|
||||||
"Być może odpowiedzi powinieneś szukać u siebie?",
|
|
||||||
"Może chciałbyś powiedzieć mi o tym coś więcej?",
|
|
||||||
),
|
|
||||||
),
|
|
||||||
(
|
|
||||||
r"wyjdź",
|
|
||||||
(
|
|
||||||
"Dziękuję, że zechciałeś ze mną porozmawiać.",
|
|
||||||
"Do zobaczenia.",
|
|
||||||
"Dziękuję, to będzie 200zł. Miłego dnia!",
|
|
||||||
),
|
|
||||||
),
|
|
||||||
(
|
|
||||||
r"(.* mieć dziec.*)",
|
|
||||||
(
|
|
||||||
"Dlaczego %1?",
|
|
||||||
"Czy twoje doświadczenia z dzieciństwa mają wpływ na tę decyzję?",
|
|
||||||
"Dobrze wspominasz swoje dzieciństwo?",
|
|
||||||
),
|
|
||||||
),
|
|
||||||
(
|
|
||||||
r"(.*) dziec(.*)",
|
|
||||||
(
|
|
||||||
"Czy jako dziecko miałaś wielu przyjaciół?",
|
|
||||||
"Jakie jest twoje ulubione wspomnienie z dzieciństwa?",
|
|
||||||
"Pamiętasz jakieś koszmary czy sny z dzieciństwa?",
|
|
||||||
"Czy inne dzieci Ci dokuczały?",
|
|
||||||
"Myślisz, że twoje doświadczenia z dzieciństwa miały wpływ na to jak się dzisiaj czujesz?",
|
|
||||||
),
|
|
||||||
),
|
|
||||||
(
|
|
||||||
r"(.*)",
|
|
||||||
(
|
|
||||||
"Proszę, powiedz mi coś więcej.",
|
|
||||||
"Proszę, powiedz mi dlaczego %1",
|
|
||||||
"W takim razie zmieńmy temat... Opowiedz mi coś o twojej rodzinie.",
|
|
||||||
"Chciałbyś rozwinąć tę myśl?",
|
|
||||||
"Dlaczego uważasz, że %1?",
|
|
||||||
"Rozumiem.",
|
|
||||||
"Interesujące.",
|
|
||||||
"%1.",
|
|
||||||
"Rozumiem. I co Ci to mówi?",
|
|
||||||
"Jak się przez to czujesz?",
|
|
||||||
"Co czujesz kiedy to mówisz?",
|
|
||||||
),
|
|
||||||
),
|
|
||||||
)
|
|
||||||
|
|
||||||
reflections_pl = {
|
|
||||||
"jestem": "jesteś",
|
|
||||||
"byłem": "byłeś",
|
|
||||||
"byłam": "byłaś",
|
|
||||||
"będę": "będziesz",
|
|
||||||
"ja": "ty",
|
|
||||||
"ty": "ja",
|
|
||||||
"chciałbym": "chciałbyś",
|
|
||||||
"chciałabym": "chciałabyś",
|
|
||||||
"mam": "masz",
|
|
||||||
"masz": "mam",
|
|
||||||
"mój": "twój",
|
|
||||||
"moja": "twoja",
|
|
||||||
"moje": "twoje",
|
|
||||||
"mojej": "twojej",
|
|
||||||
"moi": "twoi",
|
|
||||||
"jesteś": "jestem",
|
|
||||||
"byłeś": "byłem",
|
|
||||||
"byłaś": "byłam",
|
|
||||||
"będziesz": "będę",
|
|
||||||
"twój": "mój",
|
|
||||||
"twoja": "moja",
|
|
||||||
"twoje": "moje",
|
|
||||||
"ciebie": "mnie",
|
|
||||||
"ci": "mi",
|
|
||||||
"tobie": "mi",
|
|
||||||
"mnie": "ciebie",
|
|
||||||
"mi": "tobie",
|
|
||||||
"chciałem": "chciałeś",
|
|
||||||
"chciałam": "chciałaś",
|
|
||||||
"szukam": "szukasz",
|
|
||||||
"obawiam": "obawiasz",
|
|
||||||
"boję": "boisz",
|
|
||||||
"ufam": "ufasz",
|
|
||||||
"z tobą": "ze mną",
|
|
||||||
"muszę": "musisz",
|
|
||||||
"możesz": "mogę",
|
|
||||||
"mógłbyś": "mogę",
|
|
||||||
"mogłabyś": "mogę",
|
|
||||||
"powinnam": "powinnaś",
|
|
||||||
"powinienem": "powinieneś"
|
|
||||||
}
|
|
||||||
|
|
||||||
grazyna_chatbot = Chat(pairs_pl, reflections_pl)
|
|
||||||
|
|
||||||
|
|
||||||
def grazyna_chat():
|
|
||||||
greeting = ['Rozmawiaj z programem pisząc proste zdania w języku polskim.',
|
|
||||||
'Aby zakończyć rozmowę napisz \033[1;31mwyjdź\033[0;0m.']
|
|
||||||
frame_width = len(max(greeting, key=len)) + 8
|
|
||||||
print("*" * frame_width + "\n*" + (frame_width - 2) * " " + "*")
|
|
||||||
print("*" + int((frame_width - len(greeting[0]) - 1) / 2) * " " + greeting[0] + int(
|
|
||||||
(frame_width - len(greeting[0]) - 2) / 2) * " " + "*")
|
|
||||||
print("*" + int((frame_width - len(greeting[1]) + 13 - 1) / 2) * " " + greeting[1] + int(
|
|
||||||
(frame_width - len(greeting[1]) + 13 - 2) / 2) * " " + "*\n*" + (frame_width - 2) * " " + "*")
|
|
||||||
print("*" * frame_width)
|
|
||||||
print("\nDzień dobry. Jak się dzisiaj czujesz?")
|
|
||||||
|
|
||||||
grazyna_chatbot.converse(quit="wyjdź")
|
|
||||||
|
|
||||||
|
|
||||||
def demo():
|
|
||||||
grazyna_chat()
|
|
||||||
|
|
||||||
|
|
||||||
if __name__ == "__main__":
|
|
||||||
demo()
|
|
Loading…
Reference in New Issue
Block a user