321 lines
8.9 KiB
Python
321 lines
8.9 KiB
Python
from nltk.chat.util import Chat, reflections
|
|
|
|
pairs = (
|
|
(
|
|
r"Potrzebuję (.*)",
|
|
(
|
|
"Dlaczego potrzebujesz %1?",
|
|
"Do czego potrzebne ci jest %1?",
|
|
"Czy jesteś pewien, że potrzebujesz %1?",
|
|
),
|
|
),
|
|
(
|
|
r"Kto ciebie stworzył(.*)",
|
|
(
|
|
"Jarvis został stworzony przez: Dawid Hajder, Jakub Pietrzak, Piotr Biskup i Wiktor Bombola.",
|
|
|
|
),
|
|
),
|
|
(
|
|
r"Dlaczego ty nie (.*)",
|
|
(
|
|
"Naprawdę myślisz, że ja nie %1?",
|
|
"Być może w końcu zacznę %1.",
|
|
"Czy naprawdę chcesz żebym %1?",
|
|
),
|
|
),
|
|
(
|
|
r"Dlaczego nie mogę (.*)",
|
|
(
|
|
"Czy uważasz, że powinieneś %1?",
|
|
"Gdybyś mógł %1, to co byś zrobił dalej?",
|
|
"Nie wiem -- dlaczego nie możesz %1?",
|
|
"Naprawdę próbowałeś?",
|
|
),
|
|
),
|
|
(
|
|
r"Nie mogę (.*)",
|
|
(
|
|
"Skąd wiesz, że nie możesz %1?",
|
|
"Być może mógłbyś %1 gdybyś próbował.",
|
|
"Co by od ciebie wymagało %1?",
|
|
),
|
|
),
|
|
(
|
|
r"Jestem (.*)",
|
|
(
|
|
"Przyszedłeś do mnie bo jesteś %1?",
|
|
"Jak długo jesteś %1?",
|
|
"Jak się czujesz będąc %1?",
|
|
"Jesteś zadowolony, że jesteś %1?",
|
|
"Dlaczego mi powiedziałeś, że jesteś %1?",
|
|
"Czemu myślisz, że jesteś %1?",
|
|
),
|
|
),
|
|
(
|
|
r"Jesteś (.*)",
|
|
(
|
|
"Dlaczego ma znaczenie, czy jestem %1?",
|
|
"Wolisz, gdybym nie był %1?",
|
|
"Być może uważasz, że jestem %1.",
|
|
"Mogę być %1 -- co o tym myślisz?",
|
|
),
|
|
),
|
|
(
|
|
r"Co (.*)",
|
|
(
|
|
"Dlaczego pytasz?",
|
|
"Jak odpowiedź na to pomogłaby ci?",
|
|
"Co o tym myślisz?",
|
|
),
|
|
),
|
|
(
|
|
r"Jak (.*)",
|
|
(
|
|
"A jak myślisz?",
|
|
"Może sam możesz odpowiedzieć jak.",
|
|
"O co dokładnie pytasz?",
|
|
),
|
|
),
|
|
(
|
|
r"Dlatego (.*)",
|
|
(
|
|
"Czy to prawdziwy powód?",
|
|
"Co jeszcze przychodzi Ci do głowy?",
|
|
"Czy ten powód jest argumentem w innej kwestii?",
|
|
"Skoro %1, to co jeszcze może takie być?",
|
|
),
|
|
),
|
|
(
|
|
r"(.*) przepraszam (.*)",
|
|
(
|
|
"Bardzo często przeprosiny wcale nie są potrzebne.",
|
|
"Jak sie czujesz, kiedy za coś przepraszasz?",
|
|
),
|
|
),
|
|
(
|
|
r"Cześć(.*)",
|
|
(
|
|
"Cześć, fajnie że dzisiaj wpadłeś.",
|
|
"No cześć, co tam słychać?",
|
|
"Cześć, jak się dzisiaj miewasz?",
|
|
),
|
|
),
|
|
(
|
|
r"Uważam (.*)",
|
|
("Czy wątpisz %1?", "Czy naprawdę tak uważasz?", "Ale nie jesteś pewny %1?"),
|
|
),
|
|
(
|
|
r"(.*) (przyjaciel|przyjaciela|przyjacielowi|przyjaciela|przyjacielem|przyjacielu) (.*)",
|
|
(
|
|
"Opowiedz mi o swoich przyjaciołach.",
|
|
"Kto przychodzi Ci na myśl, kiedy mowa o przyjacielach?",
|
|
"Może opowiesz mi jakąś historię przyjaźni z dzieciństwa?",
|
|
),
|
|
),
|
|
(r"Tak", ("Wydajesz się być tego pewien.", "No dobra, a wyjaśnisz trochę bardziej?")),
|
|
(
|
|
r"(.*) Komputer(.*)",
|
|
(
|
|
"Na prawdę rozmawiasz o mnie?",
|
|
"Myślisz że dziwnie jest rozmawiać z komputerem?",
|
|
"Jak się czujesz będąc przy komputerze?",
|
|
"Myślisz, że komputery są zagrożeniem?",
|
|
"A co na to Twój komputer?"
|
|
),
|
|
),
|
|
(
|
|
r"Czy (.*)",
|
|
(
|
|
"A myślisz, że %1?",
|
|
"Być może %1 -- jak myślisz?",
|
|
"A gdyby było właśnie tak, że %1, co byś zrobił?",
|
|
"Równie dobrze może być tak, że %1.",
|
|
),
|
|
),
|
|
(
|
|
r"To jest (.*)",
|
|
(
|
|
"Wyglądasz na przekonanego.",
|
|
"A gdybym powiedział Ci, że wcale %1, jak byś się poczuł?",
|
|
),
|
|
),
|
|
(
|
|
r"Mógłbyś (.*)",
|
|
(
|
|
"Czemu miałbym nie móc %1?",
|
|
"czemu pytasz, czy mógłbym %1?",
|
|
),
|
|
),
|
|
(
|
|
r"Mogę (.*)",
|
|
(
|
|
"Może wcale nie chcesz %1.",
|
|
"Chciałbyś być w stanie %1?",
|
|
"gdybyś mógł %1, to co?",
|
|
),
|
|
),
|
|
(
|
|
r"Ty jesteś (.*)",
|
|
(
|
|
"Czemu mówisz, że jestem %1?",
|
|
"Cieszysz się mówiąc, że jestem %1?",
|
|
"Może chciałbyś być %1.",
|
|
"Może to nie o mnie mówisz, a o sobie?",
|
|
),
|
|
),
|
|
(
|
|
r"Jesteś (.*)",
|
|
(
|
|
"Czemu mówisz, że jestem %1?",
|
|
"Skąd pomysł, że %1?",
|
|
"Mówisz o sobie, czy o mnie?",
|
|
),
|
|
),
|
|
(
|
|
r"Nigdy (.*)",
|
|
("Na prawdę nigdy %1?", "dlaczego nigdy %1?", "A chciałbyś? %1?"),
|
|
),
|
|
(
|
|
r"Czuję (.*)",
|
|
(
|
|
"Opowiedz mi proszę o swoich uczuciach.",
|
|
"Jak często czujesz, że %1?",
|
|
"Kiedy zazwyczaj tak się czujesz %1?",
|
|
"Kiedy czujesz %1, co z tym robisz?",
|
|
),
|
|
),
|
|
(
|
|
r"Mam (.*)",
|
|
(
|
|
"Czemu mi mówisz, że masz %1?",
|
|
"Serio, masz %1?",
|
|
"Skoro masz już %1, to co z tym zrobisz dalej?",
|
|
),
|
|
),
|
|
(
|
|
r"Chciałbym (.*)",
|
|
(
|
|
"Wyjaśnisz mi proszę, czemu chciałbyś %1?",
|
|
"Ale dlaczego %1?",
|
|
"Ktoś jeszcze wie, że chciałbyś %1?",
|
|
),
|
|
),
|
|
(
|
|
r"Jest (.*)",
|
|
(
|
|
"Myślisz, że jest %1?",
|
|
"Bardzo możliwe, że %1.",
|
|
"Chciałbyś, żeby był %1?",
|
|
),
|
|
),
|
|
(
|
|
r"Mój (.*)",
|
|
(
|
|
"Widzę, widzę %1.",
|
|
"Dlaczego mówisz, że twój %1?",
|
|
"Kiedy twój %1, to jak się czujesz?",
|
|
),
|
|
),
|
|
(
|
|
r"Ty (.*)",
|
|
(
|
|
"Powinniśmy rozmawiać o Tobie, nie o mnie.",
|
|
"Czemu tak o mnie rozpowiadasz?",
|
|
"Co Ciebie to obchodzi, że ja %1?",
|
|
),
|
|
),
|
|
(r"Czemu (.*)", ("Opowiedz mi czemu %1?", "Czemu myślisz, że %1?")),
|
|
(
|
|
r"Chcę (.*)",
|
|
(
|
|
"Jak byś się czuł, gbybyś zdobył %1?",
|
|
"Czemu chcesz %1?",
|
|
"Co byś zrobił, gdybyś osiągnął %1?",
|
|
"Czemu tego chcesz?",
|
|
),
|
|
),
|
|
(
|
|
r"(.*) (mama|mamy|mamie|mamę|mamą|mamie|mamo)(.*)",
|
|
(
|
|
"Opowiedz mi o swojej mamie.",
|
|
"Jaką miałeś relację ze swoją mamą?",
|
|
"Co myślisz o swojej mamie?",
|
|
"Jak to się przekłada na to, co dzisiaj czujesz?",
|
|
"Dobra relacja z rodziną to podstawa.",
|
|
"Kim była dla Ciebie twoja mama?",
|
|
),
|
|
),
|
|
(
|
|
r"(.*) (tata|taty|tacie|tatę|tatą|tacie|tato)(.*)",
|
|
(
|
|
"Opowiedz mi o swoim ojcu.",
|
|
"Jak byłeś traktowany przez swojego ojca?",
|
|
"Co myślisz o swoim ojcu?",
|
|
"Czy Twoja relacja z ojcem ma jakieś przełożenie na to kim dzisiaj jesteś?",
|
|
"Miałeś problemy z okazywaniem uczuć wobec rodziny?",
|
|
),
|
|
),
|
|
(
|
|
r"(.*) (dziecko|dziecka|dziecku|dzieckiem|dziecku|dziecko)(.*)",
|
|
(
|
|
"Czy miałeś przyjaciół, kiedy byłeś jeszcze dzieckiem?",
|
|
"Jakie jest Twoje ulubione wspomnienie?",
|
|
"Pamiętasz jakiś przyjemny sen lub koszmar, z czasów gdy byłeś dzieckiem?",
|
|
"Czy inne dzieci czasem Ci dokuczały?",
|
|
"Jak myślisz, jak Twoje dzieciństwo wpłynęło na to kim dzisiaj jesteś?",
|
|
),
|
|
),
|
|
(
|
|
r"(.*)\?",
|
|
(
|
|
"Czemu pytasz?",
|
|
"Zastanów się, czy sam nie potrafisz sobie odpowiedzieć?",
|
|
"Być może sam znasz odpowiedź?",
|
|
"Może Ty mi powiesz?",
|
|
"Skąd ten pomysł?",
|
|
),
|
|
),
|
|
(
|
|
r"quit",
|
|
(
|
|
"Dziękuję bardzo za rozmowę",
|
|
"Do widzenia!",
|
|
"Dzięki, to będzie razem 150zł. Miłego dnia!",
|
|
"Trzymaj się stary!",
|
|
),
|
|
),
|
|
(
|
|
r"(.*)",
|
|
(
|
|
"Proszę powiedz mi więcej o tym.",
|
|
"Zmieńmy proszę temat... Opowiedz mi o Twojej rodzinie.",
|
|
"Czy możesz to rozwinąć?",
|
|
"Dlaczego to powiedziałeś %1?",
|
|
"Rozumiem.",
|
|
"Bardzo ciekawe.",
|
|
"Jasne. A co ci to mówi?",
|
|
"To dobrze.",
|
|
"Jak się z tym czujesz?",
|
|
),
|
|
),
|
|
)
|
|
|
|
jarvis_chatbot = Chat(pairs, reflections)
|
|
|
|
|
|
def jarvis_chat():
|
|
print("Kolega do rozmowy\n---------")
|
|
print('Rozmawiaj z programem wpisując wyrażenia po polsku, zaczynając zdanie od wielkiej litery. Wpisz "wyjdź" gdy skończysz.')
|
|
print("=" * 70)
|
|
print("Cześć :D Mam na imię Jarvis.\nCo tam słychać?")
|
|
|
|
jarvis_chatbot.converse()
|
|
|
|
|
|
def demo():
|
|
jarvis_chat()
|
|
|
|
|
|
if __name__ == "__main__":
|
|
demo() |