diff --git a/eliza.py b/eliza.py deleted file mode 100644 index 626ef50..0000000 --- a/eliza.py +++ /dev/null @@ -1,326 +0,0 @@ -from nltk.chat.util import Chat, reflections - -pairs = ( - ( - r"I need (.*)", - ( - "Why do you need %1?", - "Would it really help you to get %1?", - "Are you sure you need %1?", - ), - ), - ( - r"who created you (.*)", - ( - "ELIZA was invented in 1966 by Weizenbaum. Why %1?", - - ), - ), - ( - r"Why don\'t you (.*)", - ( - "Do you really think I don't %1?", - "Perhaps eventually I will %1.", - "Do you really want me to %1?", - ), - ), - ( - r"Why can\'t I (.*)", - ( - "Do you think you should be able to %1?", - "If you could %1, what would you do?", - "I don't know -- why can't you %1?", - "Have you really tried?", - ), - ), - ( - r"I can\'t (.*)", - ( - "How do you know you can't %1?", - "Perhaps you could %1 if you tried.", - "What would it take for you to %1?", - ), - ), - ( - r"I am (.*)", - ( - "Did you come to me because you are %1?", - "How long have you been %1?", - "How do you feel about being %1?", - ), - ), - ( - r"I\'m (.*)", - ( - "How does being %1 make you feel?", - "Do you enjoy being %1?", - "Why do you tell me you're %1?", - "Why do you think you're %1?", - ), - ), - ( - r"Are you (.*)", - ( - "Why does it matter whether I am %1?", - "Would you prefer it if I were not %1?", - "Perhaps you believe I am %1.", - "I may be %1 -- what do you think?", - ), - ), - ( - r"What (.*)", - ( - "Why do you ask?", - "How would an answer to that help you?", - "What do you think?", - ), - ), - ( - r"How (.*)", - ( - "How do you suppose?", - "Perhaps you can answer your own question.", - "What is it you're really asking?", - ), - ), - ( - r"Because (.*)", - ( - "Is that the real reason?", - "What other reasons come to mind?", - "Does that reason apply to anything else?", - "If %1, what else must be true?", - ), - ), - ( - r"(.*) sorry (.*)", - ( - "There are many times when no apology is needed.", - "What feelings do you have when you apologize?", - ), - ), - ( - r"Hello(.*)", - ( - "Hello... I'm glad you could drop by today.", - "Hi there... how are you today?", - "Hello, how are you feeling today?", - ), - ), - ( - r"I think (.*)", - ("Do you doubt %1?", "Do you really think so?", "But you're not sure %1?"), - ), - ( - r"(.*) friend (.*)", - ( - "Tell me more about your friends.", - "When you think of a friend, what comes to mind?", - "Why don't you tell me about a childhood friend?", - ), - ), - (r"Yes", ("You seem quite sure.", "OK, but can you elaborate a bit?")), - ( - r"(.*) computer(.*)", - ( - "Are you really talking about me?", - "Does it seem strange to talk to a computer?", - "How do computers make you feel?", - "Do you feel threatened by computers?", - ), - ), - ( - r"Is it (.*)", - ( - "Do you think it is %1?", - "Perhaps it's %1 -- what do you think?", - "If it were %1, what would you do?", - "It could well be that %1.", - ), - ), - ( - r"It is (.*)", - ( - "You seem very certain.", - "If I told you that it probably isn't %1, what would you feel?", - ), - ), - ( - r"Can you (.*)", - ( - "What makes you think I can't %1?", - "If I could %1, then what?", - "Why do you ask if I can %1?", - ), - ), - ( - r"Czy mogę (.*)", - ( - "Być może nie chcesz %1.", - "Czy chcesz mieć możliwość %1?", - "Gdybyś mógł %1, czy byś?", - ), - ), - ( - r"Ty jesteś (.*)", - ( - "Jak myślisz, dlaczego jestem %1?", - "Czy cieszy cię myśl, że jestem %1?", - "Być może chciałbyś, żebym był %1.", - "Może naprawdę mówisz o sobie?", - ), - ), - ( - r"Jesteś (.*)", - ( - "Dlaczego mówisz, że jestem %1?", - "Jak myślisz, dlaczego jestem %1?", - "Mówimy o tobie, czy o mnie?", - ), - ), - ( - r"Ja nie (.*)", - ("Czy naprawdę nie %1?", "Dlaczego nie %1?", "Czy chcesz %1?"), - ), - ( - r"Ja czuję (.*)", - ( - "Dobrze, powiedz mi więcej o tych uczuciach.", - "Czy często czujesz %1?", - "Kiedy zwykle czujesz %1?", - "Kiedy czujesz % 1, co robisz?", - ), - ), - ( - r"Mam (.*)", - ( - "Dlaczego mówisz mi, że masz %1?", - "Czy naprawdę masz %1?", - "Teraz, kiedy masz %1, co zrobisz dalej?", - ), - ), - ( - r"Ja chcę (.*)", - ( - "Czy możesz wyjaśnić, dlaczego chcesz %1?", - "Dlaczego %1?", - "Kto jeszcze wie, że chcesz %1?", - ), - ), - ( - r"Jest (.*)", - ( - "Myślisz, że jest %1?", - "Prawdopodobnie istnieje %1.", - "Czy chciałbyś, aby był %1?", - ), - ), - ( - r"Mój (.*)", - ( - "Rozumiem, twój %1.", - "Dlaczego mówisz, że twój %1?", - "Kiedy Twój %1, jak się czujesz?", - ), - ), - ( - r"Ty (.*)", - ( - "Powinniśmy rozmawiać o Tobie, nie o mnie.", - "Dlaczego tak o mnie mówisz?", - "Dlaczego obchodzi cię, czy ja %1?", - ), - ), - (r"Dlaczego (.*)", ("Powiedz mi dlaczego %1?", "Wydaje ci się że, %1?")), - ( - r"Ja chcę (.*)", - ( - "Co by dla ciebie znaczyło, gdybyś dostał %1?", - "Dlaczego chcesz %1?", - "Co byś zrobił, gdybyś dostał %1?", - "Jeśli masz %1, co byś zrobił?", - ), - ), - ( - r"(.*) mother(.*)", - ( - "Tell me more about your mother.", - "What was your relationship with your mother like?", - "How do you feel about your mother?", - "How does this relate to your feelings today?", - "Good family relations are important.", - ), - ), - ( - r"(.*) father(.*)", - ( - "Tell me more about your father.", - "How did your father make you feel?", - "How do you feel about your father?", - "Does your relationship with your father relate to your feelings today?", - "Do you have trouble showing affection with your family?", - ), - ), - ( - r"(.*) child(.*)", - ( - "Did you have close friends as a child?", - "What is your favorite childhood memory?", - "Do you remember any dreams or nightmares from childhood?", - "Did the other children sometimes tease you?", - "How do you think your childhood experiences relate to your feelings today?", - ), - ), - ( - r"(.*)\?", - ( - "Why do you ask that?", - "Please consider whether you can answer your own question.", - "Perhaps the answer lies within yourself?", - "Why don't you tell me?", - ), - ), - ( - r"quit", - ( - "Thank you for talking with me.", - "Good-bye.", - "Thank you, that will be $150. Have a good day!", - ), - ), - ( - r"(.*)", - ( - "Please tell me more.", - "Let's change focus a bit... Tell me about your family.", - "Can you elaborate on that?", - "Why do you say that %1?", - "I see.", - "Very interesting.", - "%1.", - "I see. And what does that tell you?", - "How does that make you feel?", - "How do you feel when you say that?", - ), - ), -) - -eliza_chatbot = Chat(pairs, reflections) - - -def eliza_chat(): - print("Psychiatrist\n---------") - print("Talk to the program by typing in plain English, using normal upper-") - print('and lower-case letters and punctuation. Enter "quit" when done.') - print("=" * 72) - print("Hello. My name is Eliza.\nHow are you feeling today?") - - eliza_chatbot.converse() - - -def demo(): - eliza_chat() - - -if __name__ == "__main__": - demo()