eliza
This commit is contained in:
parent
49c451dae4
commit
066055e743
0
eliza/__init__.py
Normal file
0
eliza/__init__.py
Normal file
305
eliza/chatbot.py
Normal file
305
eliza/chatbot.py
Normal file
@ -0,0 +1,305 @@
|
|||||||
|
from nltk.chat.util import Chat, reflections
|
||||||
|
|
||||||
|
pairs = [
|
||||||
|
(
|
||||||
|
r"(Potrzebuję|potrzebowałbym) (.*)",
|
||||||
|
(
|
||||||
|
"Dlaczego potrzebujesz %2?",
|
||||||
|
"Czy naprawdę pomogłoby ci zdobycie %2?",
|
||||||
|
"Jesteś pewien, że potrzebujesz %2?",
|
||||||
|
),
|
||||||
|
),
|
||||||
|
(
|
||||||
|
r"(Dlaczego nie możesz|Dlaczego nie mogę) (.*)",
|
||||||
|
(
|
||||||
|
"Czy naprawdę myślisz, że nie mogę %2?",
|
||||||
|
"Być może w końcu będę mogła %2.",
|
||||||
|
"Czy naprawdę chcesz, żebym %2?",
|
||||||
|
),
|
||||||
|
),
|
||||||
|
(
|
||||||
|
r"(Nie mogę|nie mogę) (.*)",
|
||||||
|
(
|
||||||
|
"Skąd wiesz, że nie możesz %2?",
|
||||||
|
"Może mógłbyś %2, gdybyś spróbował.",
|
||||||
|
"Co by się stało, gdybyś mógł %2?",
|
||||||
|
),
|
||||||
|
),
|
||||||
|
(
|
||||||
|
r"(Jestem|jestem) (.*)",
|
||||||
|
(
|
||||||
|
"Czy przyszedłeś do mnie, bo jesteś %2?",
|
||||||
|
"Jak długo już jesteś %2?",
|
||||||
|
"Jak się czujesz będąc %2?",
|
||||||
|
),
|
||||||
|
),
|
||||||
|
(
|
||||||
|
r"(Jestem|jestem) (.*)",
|
||||||
|
(
|
||||||
|
"Jakie to uczucie być %2?",
|
||||||
|
"Czy lubisz być %2?",
|
||||||
|
"Dlaczego mówisz mi, że jesteś %2?",
|
||||||
|
"Dlaczego sądzisz, że jesteś %2?",
|
||||||
|
),
|
||||||
|
),
|
||||||
|
(
|
||||||
|
r"(Czy jesteś|czy jesteś) (.*)",
|
||||||
|
(
|
||||||
|
"Czemu ważne jest, czy jestem %2?",
|
||||||
|
"Czy wolałbyś, żebym nie był %2?",
|
||||||
|
"Być może uważasz, że jestem %2.",
|
||||||
|
"Możliwe, że jestem %2 -- co myślisz?",
|
||||||
|
),
|
||||||
|
),
|
||||||
|
(
|
||||||
|
r"(Co|co) (.*)",
|
||||||
|
(
|
||||||
|
"Dlaczego pytasz?",
|
||||||
|
"Jak odpowiedź na to mogłaby ci pomóc?",
|
||||||
|
"Co myślisz?",
|
||||||
|
),
|
||||||
|
),
|
||||||
|
(
|
||||||
|
r"(Jak|jak) (.*)",
|
||||||
|
(
|
||||||
|
"Jak sobie wyobrażasz?",
|
||||||
|
"Może potrafisz odpowiedzieć na to pytanie sam.",
|
||||||
|
"O co naprawdę pytasz?",
|
||||||
|
),
|
||||||
|
),
|
||||||
|
(
|
||||||
|
r"(Ponieważ|ponieważ) (.*)",
|
||||||
|
(
|
||||||
|
"Czy to prawdziwy powód?",
|
||||||
|
"Jakie inne powody przychodzą ci do głowy?",
|
||||||
|
"Czy ten powód dotyczy jeszcze czegoś innego?",
|
||||||
|
"Jeśli %2, to co jeszcze musi być prawdziwe?",
|
||||||
|
),
|
||||||
|
),
|
||||||
|
(
|
||||||
|
r"(.*) (przepraszam|przepraszam) (.*)",
|
||||||
|
(
|
||||||
|
"Często nie trzeba przepraszania.",
|
||||||
|
"Jakie uczucia towarzyszą ci, gdy przepraszasz?",
|
||||||
|
),
|
||||||
|
),
|
||||||
|
(
|
||||||
|
r"(Cześć|cześć)(.*)",
|
||||||
|
(
|
||||||
|
"Cześć... Cieszę się, że dziś wpadłeś/łaś.",
|
||||||
|
"Hej... Jak się dzisiaj czujesz?",
|
||||||
|
"Witaj, jak się dziś czujesz?",
|
||||||
|
),
|
||||||
|
),
|
||||||
|
(
|
||||||
|
r"(Myślę|myślę) (.*)",
|
||||||
|
("Czy wątpisz w %2?", "Czy naprawdę tak myślisz?", "Ale nie jesteś pewien/a %2?"),
|
||||||
|
),
|
||||||
|
(
|
||||||
|
r"(.*) (przyjaciel|przyjacielka|przyjaciół|przyjaciółka) (.*)",
|
||||||
|
(
|
||||||
|
"Opowiedz mi więcej o swoich przyjaciołach.",
|
||||||
|
"Kiedy myślisz o przyjacielu, co przychodzi ci do głowy?",
|
||||||
|
"Dlaczego nie opowiesz mi o przyjacielu z dzieciństwa?",
|
||||||
|
),
|
||||||
|
),
|
||||||
|
(r"Tak", ("Wyglądasz na pewnego/a siebie.", "OK, ale czy możesz rozwinąć?",)),
|
||||||
|
(
|
||||||
|
r"(.*) (komputer|komputera|komputerze|komputerowi|komputerem|komputerze) (.*)",
|
||||||
|
(
|
||||||
|
"Czy naprawdę mówisz o mnie?",
|
||||||
|
"Czy wydaje ci się dziwne rozmawianie z komputerem?",
|
||||||
|
"Jak czujesz się rozmawiając z komputerami?",
|
||||||
|
"Czy czujesz się zagrożony/a przez komputery?",
|
||||||
|
),
|
||||||
|
),
|
||||||
|
(
|
||||||
|
r"(Czy to|czy to) (.*)",
|
||||||
|
(
|
||||||
|
"Czy sądzisz, że to %2?",
|
||||||
|
"Być może to %2 -- co sądzisz?",
|
||||||
|
"Gdyby to było %2, co byś zrobił?",
|
||||||
|
"To mogłoby być %2.",
|
||||||
|
),
|
||||||
|
),
|
||||||
|
(
|
||||||
|
r"(To|to) (.*)",
|
||||||
|
(
|
||||||
|
"Wyglądasz na bardzo pewnego siebie.",
|
||||||
|
"Gdybym powiedział/a ci, że to prawdopodobnie nie %2, co byś czuł/a?",
|
||||||
|
),
|
||||||
|
),
|
||||||
|
(
|
||||||
|
r"(Czy możesz|czy możesz) (.*)",
|
||||||
|
(
|
||||||
|
"Co sprawia, że myślisz, że nie mogę %2?",
|
||||||
|
"Gdybym mógł/a %2, to co?",
|
||||||
|
"Dlaczego pytasz, czy mogę %2?",
|
||||||
|
),
|
||||||
|
),
|
||||||
|
(
|
||||||
|
r"(Czy ja mogę|czy ja mogę) (.*)",
|
||||||
|
(
|
||||||
|
"Być może nie chcesz %2.",
|
||||||
|
"Chcesz móc %2?",
|
||||||
|
"Gdybyś mógł/a %2, czy byś chciał/a?",
|
||||||
|
),
|
||||||
|
),
|
||||||
|
(
|
||||||
|
r"(Jesteś|jesteś) (.*)",
|
||||||
|
(
|
||||||
|
"Dlaczego sądzisz, że jestem %2?",
|
||||||
|
"Czy cieszy cię myśl, że jestem %2?",
|
||||||
|
"Być może chciałbyś/łabyś, żebym był/a %2.",
|
||||||
|
"Może naprawdę rozmawiasz o sobie?",
|
||||||
|
),
|
||||||
|
),
|
||||||
|
(
|
||||||
|
r"(Jesteś|jesteś) (.*)",
|
||||||
|
(
|
||||||
|
"Dlaczego mówisz, że jestem %2?",
|
||||||
|
"Dlaczego sądzisz, że jestem %2?",
|
||||||
|
"Czy rozmawiamy o tobie czy o mnie?",
|
||||||
|
),
|
||||||
|
),
|
||||||
|
(
|
||||||
|
r"(Nie mogę|nie mogę) (.*)",
|
||||||
|
("Czy naprawdę nie możesz %2?", "Dlaczego nie %2?", "Czy chcesz %2?"),
|
||||||
|
),
|
||||||
|
(
|
||||||
|
r"(Czuję|czuję) (.*)",
|
||||||
|
(
|
||||||
|
"Dobrze, opowiedz mi więcej o tych uczuciach.",
|
||||||
|
"Często czujesz %2?",
|
||||||
|
"Kiedy zazwyczaj czujesz %2?",
|
||||||
|
"Kiedy czujesz %2, co robisz?",
|
||||||
|
),
|
||||||
|
),
|
||||||
|
(
|
||||||
|
r"(Mam|mam) (.*)",
|
||||||
|
(
|
||||||
|
"Dlaczego mówisz mi, że masz %2?",
|
||||||
|
"Czy naprawdę masz %2?",
|
||||||
|
"Teraz, gdy masz %2, co zrobisz dalej?",
|
||||||
|
),
|
||||||
|
),
|
||||||
|
(
|
||||||
|
r"(Chciałbym|chciałbym) (.*)",
|
||||||
|
(
|
||||||
|
"Czy mógłbyś wyjaśnić, dlaczego chciałbyś %2?",
|
||||||
|
"Dlaczego chciałbyś %2?",
|
||||||
|
"Kto jeszcze wie, że chciałbyś %2?",
|
||||||
|
),
|
||||||
|
),
|
||||||
|
(
|
||||||
|
r"(Czy jest|czy jest) (.*)",
|
||||||
|
(
|
||||||
|
"Czy myślisz, że jest %2?",
|
||||||
|
"Prawdopodobnie jest %2.",
|
||||||
|
"Chciałbyś, żeby było %2?",
|
||||||
|
),
|
||||||
|
),
|
||||||
|
(
|
||||||
|
r"(Mój|mój) (.*)",
|
||||||
|
(
|
||||||
|
"Rozumiem, twój %2.",
|
||||||
|
"Dlaczego mówisz, że twój %2?",
|
||||||
|
"Kiedy twój %2, jak się czujesz?",
|
||||||
|
),
|
||||||
|
),
|
||||||
|
(
|
||||||
|
r"(Ty|ty) (.*)",
|
||||||
|
(
|
||||||
|
"Powinniśmy rozmawiać o tobie, nie o mnie.",
|
||||||
|
"Dlaczego mówisz tak o mnie?",
|
||||||
|
"Dlaczego ci zależy, czy ja %2?",
|
||||||
|
),
|
||||||
|
),
|
||||||
|
(r"Dlaczego (.*)", ("Dlaczego nie powiesz mi powodu, dlaczego %1?", "Dlaczego myślisz, że %1?")),
|
||||||
|
(
|
||||||
|
r"(Chcę|chcę) (.*)",
|
||||||
|
(
|
||||||
|
"Co by dla ciebie oznaczało, gdybyś zdobył %2?",
|
||||||
|
"Dlaczego chcesz %2?",
|
||||||
|
"Co byś zrobił, gdybyś zdobył %2?",
|
||||||
|
"Gdybyś zdobył %2, co byś zrobił?",
|
||||||
|
),
|
||||||
|
),
|
||||||
|
(
|
||||||
|
r"(.*) (matka|matkę|mamę|mamie|matką) (.*)",
|
||||||
|
(
|
||||||
|
"Opowiedz mi więcej o swojej matce.",
|
||||||
|
"Jaka była twoja relacja z twoją matką?",
|
||||||
|
"Jak się czujesz w stosunku do swojej matki?",
|
||||||
|
"Jak to się ma do twoich dzisiejszych uczuć?",
|
||||||
|
"Dobre relacje rodzinne są ważne.",
|
||||||
|
),
|
||||||
|
),
|
||||||
|
(
|
||||||
|
r"(.*) (ojciec|ojca|tata|tatę|tacie) (.*)",
|
||||||
|
(
|
||||||
|
"Opowiedz mi więcej o swoim ojcu.",
|
||||||
|
"Jak twój ojciec sprawiał, że się czułeś?",
|
||||||
|
"Jak się czujesz w stosunku do swojego ojca?",
|
||||||
|
"Czy twoja relacja z ojcem ma związek z twoimi dzisiejszymi uczuciami?",
|
||||||
|
"Czy masz trudności w okazywaniu uczuć rodzinie?",
|
||||||
|
),
|
||||||
|
),
|
||||||
|
(
|
||||||
|
r"(.*) (dziecko|dziecka|dzieciństwo) (.*)",
|
||||||
|
(
|
||||||
|
"Czy miałeś bliskich przyjaciół jako dziecko?",
|
||||||
|
"Jaki jest twój ulubiony wspomniany z dzieciństwa?",
|
||||||
|
"Pamiętasz jakieś sny lub koszmary z dzieciństwa?",
|
||||||
|
"Czy inni dzieci czasami się z ciebie naśmiewały?",
|
||||||
|
"Jak myślisz, jak doświadczenia z dzieciństwa wpływają na twoje dzisiejsze uczucia?",
|
||||||
|
),
|
||||||
|
),
|
||||||
|
(
|
||||||
|
r"(.*)\?",
|
||||||
|
(
|
||||||
|
"Dlaczego pytasz?",
|
||||||
|
"Rozważ, czy możesz odpowiedzieć na to pytanie sam.",
|
||||||
|
"Być może odpowiedź tkwi w tobie?",
|
||||||
|
"Dlaczego mi tego nie powiesz?",
|
||||||
|
),
|
||||||
|
),
|
||||||
|
(
|
||||||
|
r"koniec|stop",
|
||||||
|
(
|
||||||
|
"Dziękuję za rozmowę.",
|
||||||
|
"Do widzenia.",
|
||||||
|
"Dziękuję, to będzie 150 zł. Miłego dnia!",
|
||||||
|
),
|
||||||
|
),
|
||||||
|
(
|
||||||
|
r"(.*)",
|
||||||
|
(
|
||||||
|
"Proszę, opowiedz mi więcej.",
|
||||||
|
"Zmieńmy temat... Opowiedz mi o swojej rodzinie.",
|
||||||
|
"Czy możesz to rozwinąć?",
|
||||||
|
"Dlaczego mówisz, że %1?",
|
||||||
|
"Rozumiem.",
|
||||||
|
"Bardzo interesujące.",
|
||||||
|
"%1.",
|
||||||
|
"Rozumiem. A co to ci mówi?",
|
||||||
|
"Jak się przy tym czujesz?",
|
||||||
|
),
|
||||||
|
),
|
||||||
|
]
|
||||||
|
|
||||||
|
eliza_chatbot = Chat(pairs, reflections)
|
||||||
|
|
||||||
|
|
||||||
|
def main():
|
||||||
|
print("Terapeuta\n---------")
|
||||||
|
print("Rozmawiaj z programem, pisząc po polsku, używając normalnych liter")
|
||||||
|
print("i interpunkcji. Wpisz 'koniec', gdy skończysz.")
|
||||||
|
print("=" * 72)
|
||||||
|
print("Cześć. Jak się dziś czujesz?")
|
||||||
|
|
||||||
|
eliza_chatbot.converse()
|
||||||
|
|
||||||
|
|
||||||
|
if __name__ == "__main__":
|
||||||
|
main()
|
@ -0,0 +1 @@
|
|||||||
|
nltk~=3.8.1
|
Loading…
Reference in New Issue
Block a user