Compare commits
4 Commits
Author | SHA1 | Date | |
---|---|---|---|
bea94cbb98 | |||
7423eb6239 | |||
2fb726e628 | |||
064feffa72 |
@ -1,482 +0,0 @@
|
|||||||
{
|
|
||||||
"cells": [
|
|
||||||
{
|
|
||||||
"cell_type": "code",
|
|
||||||
"execution_count": 9,
|
|
||||||
"id": "13a78612-e727-4e7d-b087-438014883903",
|
|
||||||
"metadata": {},
|
|
||||||
"outputs": [],
|
|
||||||
"source": [
|
|
||||||
"from nltk.chat.util import Chat, reflections\n",
|
|
||||||
"\n",
|
|
||||||
"pairs = (\n",
|
|
||||||
" (\n",
|
|
||||||
" r\"I need (.*)\",\n",
|
|
||||||
" (\n",
|
|
||||||
" \"Why do you need %1?\",\n",
|
|
||||||
" \"Would it really help you to get %1?\",\n",
|
|
||||||
" \"Are you sure you need %1?\",\n",
|
|
||||||
" ),\n",
|
|
||||||
" ),\n",
|
|
||||||
" (\n",
|
|
||||||
" r\"who created you (.*)\",\n",
|
|
||||||
" (\n",
|
|
||||||
" \"ELIZA was invented in 1966 by Weizenbaum. Why %1?\",\n",
|
|
||||||
"\n",
|
|
||||||
" ),\n",
|
|
||||||
" ),\n",
|
|
||||||
" (\n",
|
|
||||||
" r\"Why don\\'t you (.*)\",\n",
|
|
||||||
" (\n",
|
|
||||||
" \"Do you really think I don't %1?\",\n",
|
|
||||||
" \"Perhaps eventually I will %1.\",\n",
|
|
||||||
" \"Do you really want me to %1?\",\n",
|
|
||||||
" ),\n",
|
|
||||||
" ),\n",
|
|
||||||
" (\n",
|
|
||||||
" r\"Why can\\'t I (.*)\",\n",
|
|
||||||
" (\n",
|
|
||||||
" \"Do you think you should be able to %1?\",\n",
|
|
||||||
" \"If you could %1, what would you do?\",\n",
|
|
||||||
" \"I don't know -- why can't you %1?\",\n",
|
|
||||||
" \"Have you really tried?\",\n",
|
|
||||||
" ),\n",
|
|
||||||
" ),\n",
|
|
||||||
" (\n",
|
|
||||||
" r\"I can\\'t (.*)\",\n",
|
|
||||||
" (\n",
|
|
||||||
" \"How do you know you can't %1?\",\n",
|
|
||||||
" \"Perhaps you could %1 if you tried.\",\n",
|
|
||||||
" \"What would it take for you to %1?\",\n",
|
|
||||||
" ),\n",
|
|
||||||
" ),\n",
|
|
||||||
" (\n",
|
|
||||||
" r\"I am (.*)\",\n",
|
|
||||||
" (\n",
|
|
||||||
" \"Did you come to me because you are %1?\",\n",
|
|
||||||
" \"How long have you been %1?\",\n",
|
|
||||||
" \"How do you feel about being %1?\",\n",
|
|
||||||
" ),\n",
|
|
||||||
" ),\n",
|
|
||||||
" (\n",
|
|
||||||
" r\"I\\'m (.*)\",\n",
|
|
||||||
" (\n",
|
|
||||||
" \"How does being %1 make you feel?\",\n",
|
|
||||||
" \"Do you enjoy being %1?\",\n",
|
|
||||||
" \"Why do you tell me you're %1?\",\n",
|
|
||||||
" \"Why do you think you're %1?\",\n",
|
|
||||||
" ),\n",
|
|
||||||
" ),\n",
|
|
||||||
" (\n",
|
|
||||||
" r\"Are you (.*)\",\n",
|
|
||||||
" (\n",
|
|
||||||
" \"Why does it matter whether I am %1?\",\n",
|
|
||||||
" \"Would you prefer it if I were not %1?\",\n",
|
|
||||||
" \"Perhaps you believe I am %1.\",\n",
|
|
||||||
" \"I may be %1 -- what do you think?\",\n",
|
|
||||||
" ),\n",
|
|
||||||
" ),\n",
|
|
||||||
" (\n",
|
|
||||||
" r\"What (.*)\",\n",
|
|
||||||
" (\n",
|
|
||||||
" \"Why do you ask?\",\n",
|
|
||||||
" \"How would an answer to that help you?\",\n",
|
|
||||||
" \"What do you think?\",\n",
|
|
||||||
" ),\n",
|
|
||||||
" ),\n",
|
|
||||||
" (\n",
|
|
||||||
" r\"How (.*)\",\n",
|
|
||||||
" (\n",
|
|
||||||
" \"How do you suppose?\",\n",
|
|
||||||
" \"Perhaps you can answer your own question.\",\n",
|
|
||||||
" \"What is it you're really asking?\",\n",
|
|
||||||
" ),\n",
|
|
||||||
" ),\n",
|
|
||||||
" (\n",
|
|
||||||
" r\"Ponieważ (.*)\",\n",
|
|
||||||
" (\n",
|
|
||||||
" \"Czy to prawdziwy powód?\",\n",
|
|
||||||
" \"Jakie inne powody przychodzą Ci na myśl?”,\",\n",
|
|
||||||
" \"Czy ten powód dotyczy czegokolwiek innego?\",\n",
|
|
||||||
" \"Jeśli %1, co jeszcze musi być prawdą?\",\n",
|
|
||||||
" ),\n",
|
|
||||||
" ),\n",
|
|
||||||
" (\n",
|
|
||||||
" r\"(.*) przepraszam (.*)\",\n",
|
|
||||||
" (\n",
|
|
||||||
" \"Wiele razy przeprosiny nie są potrzebne.\",\n",
|
|
||||||
" \"Co czujesz kiedy przepraszasz?\",\n",
|
|
||||||
" ),\n",
|
|
||||||
" ),\n",
|
|
||||||
" (\n",
|
|
||||||
" r\"Cześć(.*)\",\n",
|
|
||||||
" (\n",
|
|
||||||
" \"Cześć... cieszę się, że mogłeś dzisiaj wpaść..\",\n",
|
|
||||||
" \"Cześć... jak się masz dzisiaj?\",\n",
|
|
||||||
" \"Cześć, jak się dzisiaj czujesz?\",\n",
|
|
||||||
" ),\n",
|
|
||||||
" ),\n",
|
|
||||||
" (\n",
|
|
||||||
" r\"Myśle, że (.*)\",\n",
|
|
||||||
" (\"Czy wątpisz w %1?\", \"Naprawdę tak myślisz?\", \"Ale nie jesteś pewien, że %1?\"),\n",
|
|
||||||
" ),\n",
|
|
||||||
" (\n",
|
|
||||||
" r\"(.*) przyjaciel (.*)\",\n",
|
|
||||||
" (\n",
|
|
||||||
" \"Opowiedz mi więcej o swoich przyjaciołach.\",\n",
|
|
||||||
" \"Kiedy myślisz o przyjacielu, co przychodzi ci na myśl?\",\n",
|
|
||||||
" \"Dlaczego miałbyś nie opowiedzieć o przyjacielu z dzieciństwa?\",\n",
|
|
||||||
" ),\n",
|
|
||||||
" ),\n",
|
|
||||||
" (r\"Tak\", (\"Wydajesz się całkiem pewien.\", \"OK, ale czy możesz trochę rozwinąć?\")),\n",
|
|
||||||
" (\n",
|
|
||||||
" r\"(.*) komputer(.*)\",\n",
|
|
||||||
" (\n",
|
|
||||||
" \"Naprawdę mówisz o mnie?\",\n",
|
|
||||||
" \"Czy rozmowa z komputerem wydaje się dziwna?\",\n",
|
|
||||||
" \"Jak się czujesz przy komputerach?\",\n",
|
|
||||||
" \"Czy czujesz się zagrożony przez komputery?\",\n",
|
|
||||||
" ),\n",
|
|
||||||
" ),\n",
|
|
||||||
" (\n",
|
|
||||||
" r\"To jest (.*)\",\n",
|
|
||||||
" (\n",
|
|
||||||
" \"Czy myślisz, że to %1?\",\n",
|
|
||||||
" \"Może to %1 -- co myślisz?\",\n",
|
|
||||||
" \"Gdyby to był %1, co byś zrobił?\",\n",
|
|
||||||
" \"Może być tak, że %1.\",\n",
|
|
||||||
" ),\n",
|
|
||||||
" ),\n",
|
|
||||||
" (\n",
|
|
||||||
" r\"Jest to (.*)\",\n",
|
|
||||||
" (\n",
|
|
||||||
" \"Wydajesz się bardzo pewny.\",\n",
|
|
||||||
" \"Gdybym ci powiedziała, że prawdopodobnie nie jest to %1, co byś poczuł?\",\n",
|
|
||||||
" ),\n",
|
|
||||||
" ),\n",
|
|
||||||
" (\n",
|
|
||||||
" r\"Czy możesz (.*)\",\n",
|
|
||||||
" (\n",
|
|
||||||
" \"Dlaczego myślisz, że nie mogę %1?\",\n",
|
|
||||||
" \"Gdybym mógł %1, to co?\",\n",
|
|
||||||
" \"Dlaczego pytasz, czy mogę %1?\",\n",
|
|
||||||
" ),\n",
|
|
||||||
" ),\n",
|
|
||||||
" (\n",
|
|
||||||
" r\"Czy mogę (.*)\",\n",
|
|
||||||
" (\n",
|
|
||||||
" \"Być może nie chcesz %1.\",\n",
|
|
||||||
" \"Czy chcesz mieć możliwość %1?\",\n",
|
|
||||||
" \"Gdybyś mógł %1, czy byś?\",\n",
|
|
||||||
" ),\n",
|
|
||||||
" ),\n",
|
|
||||||
" (\n",
|
|
||||||
" r\"You are (.*)\",\n",
|
|
||||||
" (\n",
|
|
||||||
" \"Why do you think I am %1?\",\n",
|
|
||||||
" \"Does it please you to think that I'm %1?\",\n",
|
|
||||||
" \"Perhaps you would like me to be %1.\",\n",
|
|
||||||
" \"Perhaps you're really talking about yourself?\",\n",
|
|
||||||
" ),\n",
|
|
||||||
" ),\n",
|
|
||||||
" (\n",
|
|
||||||
" r\"You\\'re (.*)\",\n",
|
|
||||||
" (\n",
|
|
||||||
" \"Why do you say I am %1?\",\n",
|
|
||||||
" \"Why do you think I am %1?\",\n",
|
|
||||||
" \"Are we talking about you, or me?\",\n",
|
|
||||||
" ),\n",
|
|
||||||
" ),\n",
|
|
||||||
" (\n",
|
|
||||||
" r\"I don\\'t (.*)\",\n",
|
|
||||||
" (\"Don't you really %1?\", \"Why don't you %1?\", \"Do you want to %1?\"),\n",
|
|
||||||
" ),\n",
|
|
||||||
" (\n",
|
|
||||||
" r\"I feel (.*)\",\n",
|
|
||||||
" (\n",
|
|
||||||
" \"Good, tell me more about these feelings.\",\n",
|
|
||||||
" \"Do you often feel %1?\",\n",
|
|
||||||
" \"When do you usually feel %1?\",\n",
|
|
||||||
" \"When you feel %1, what do you do?\",\n",
|
|
||||||
" ),\n",
|
|
||||||
" ),\n",
|
|
||||||
" (\n",
|
|
||||||
" r\"I have (.*)\",\n",
|
|
||||||
" (\n",
|
|
||||||
" \"Why do you tell me that you've %1?\",\n",
|
|
||||||
" \"Have you really %1?\",\n",
|
|
||||||
" \"Now that you have %1, what will you do next?\",\n",
|
|
||||||
" ),\n",
|
|
||||||
" ),\n",
|
|
||||||
" (\n",
|
|
||||||
" r\"I would (.*)\",\n",
|
|
||||||
" (\n",
|
|
||||||
" \"Could you explain why you would %1?\",\n",
|
|
||||||
" \"Why would you %1?\",\n",
|
|
||||||
" \"Who else knows that you would %1?\",\n",
|
|
||||||
" ),\n",
|
|
||||||
" ),\n",
|
|
||||||
" (\n",
|
|
||||||
" r\"Is there (.*)\",\n",
|
|
||||||
" (\n",
|
|
||||||
" \"Do you think there is %1?\",\n",
|
|
||||||
" \"It's likely that there is %1.\",\n",
|
|
||||||
" \"Would you like there to be %1?\",\n",
|
|
||||||
" ),\n",
|
|
||||||
" ),\n",
|
|
||||||
" (\n",
|
|
||||||
" r\"My (.*)\",\n",
|
|
||||||
" (\n",
|
|
||||||
" \"I see, your %1.\",\n",
|
|
||||||
" \"Why do you say that your %1?\",\n",
|
|
||||||
" \"When your %1, how do you feel?\",\n",
|
|
||||||
" ),\n",
|
|
||||||
" ),\n",
|
|
||||||
" (\n",
|
|
||||||
" r\"You (.*)\",\n",
|
|
||||||
" (\n",
|
|
||||||
" \"We should be discussing you, not me.\",\n",
|
|
||||||
" \"Why do you say that about me?\",\n",
|
|
||||||
" \"Why do you care whether I %1?\",\n",
|
|
||||||
" ),\n",
|
|
||||||
" ),\n",
|
|
||||||
" (r\"Why (.*)\", (\"Why don't you tell me the reason why %1?\", \"Why do you think %1?\")),\n",
|
|
||||||
" (\n",
|
|
||||||
" r\"I want (.*)\",\n",
|
|
||||||
" (\n",
|
|
||||||
" \"What would it mean to you if you got %1?\",\n",
|
|
||||||
" \"Why do you want %1?\",\n",
|
|
||||||
" \"What would you do if you got %1?\",\n",
|
|
||||||
" \"If you got %1, then what would you do?\",\n",
|
|
||||||
" ),\n",
|
|
||||||
" ),\n",
|
|
||||||
" (\n",
|
|
||||||
" r\"(.*) mother(.*)\",\n",
|
|
||||||
" (\n",
|
|
||||||
" \"Tell me more about your mother.\",\n",
|
|
||||||
" \"What was your relationship with your mother like?\",\n",
|
|
||||||
" \"How do you feel about your mother?\",\n",
|
|
||||||
" \"How does this relate to your feelings today?\",\n",
|
|
||||||
" \"Good family relations are important.\",\n",
|
|
||||||
" ),\n",
|
|
||||||
" ),\n",
|
|
||||||
" (\n",
|
|
||||||
" r\"(.*) father(.*)\",\n",
|
|
||||||
" (\n",
|
|
||||||
" \"Tell me more about your father.\",\n",
|
|
||||||
" \"How did your father make you feel?\",\n",
|
|
||||||
" \"How do you feel about your father?\",\n",
|
|
||||||
" \"Does your relationship with your father relate to your feelings today?\",\n",
|
|
||||||
" \"Do you have trouble showing affection with your family?\",\n",
|
|
||||||
" ),\n",
|
|
||||||
" ),\n",
|
|
||||||
" (\n",
|
|
||||||
" r\"(.*) child(.*)\",\n",
|
|
||||||
" (\n",
|
|
||||||
" \"Did you have close friends as a child?\",\n",
|
|
||||||
" \"What is your favorite childhood memory?\",\n",
|
|
||||||
" \"Do you remember any dreams or nightmares from childhood?\",\n",
|
|
||||||
" \"Did the other children sometimes tease you?\",\n",
|
|
||||||
" \"How do you think your childhood experiences relate to your feelings today?\",\n",
|
|
||||||
" ),\n",
|
|
||||||
" ),\n",
|
|
||||||
" (\n",
|
|
||||||
" r\"(.*)\\?\",\n",
|
|
||||||
" (\n",
|
|
||||||
" \"Why do you ask that?\",\n",
|
|
||||||
" \"Please consider whether you can answer your own question.\",\n",
|
|
||||||
" \"Perhaps the answer lies within yourself?\",\n",
|
|
||||||
" \"Why don't you tell me?\",\n",
|
|
||||||
" ),\n",
|
|
||||||
" ),\n",
|
|
||||||
" (\n",
|
|
||||||
" r\"quit\",\n",
|
|
||||||
" (\n",
|
|
||||||
" \"Thank you for talking with me.\",\n",
|
|
||||||
" \"Good-bye.\",\n",
|
|
||||||
" \"Thank you, that will be $150. Have a good day!\",\n",
|
|
||||||
" ),\n",
|
|
||||||
" ),\n",
|
|
||||||
" (\n",
|
|
||||||
" r\"(.*)\",\n",
|
|
||||||
" (\n",
|
|
||||||
" \"Please tell me more.\",\n",
|
|
||||||
" \"Let's change focus a bit... Tell me about your family.\",\n",
|
|
||||||
" \"Can you elaborate on that?\",\n",
|
|
||||||
" \"Why do you say that %1?\",\n",
|
|
||||||
" \"I see.\",\n",
|
|
||||||
" \"Very interesting.\",\n",
|
|
||||||
" \"%1.\",\n",
|
|
||||||
" \"I see. And what does that tell you?\",\n",
|
|
||||||
" \"How does that make you feel?\",\n",
|
|
||||||
" \"How do you feel when you say that?\",\n",
|
|
||||||
" ),\n",
|
|
||||||
" ),\n",
|
|
||||||
")\n",
|
|
||||||
"\n",
|
|
||||||
"eliza_chatbot = Chat(pairs, reflections)\n",
|
|
||||||
"\n",
|
|
||||||
"\n",
|
|
||||||
"def eliza_chat():\n",
|
|
||||||
" print(\"Psychiatrist\\n---------\")\n",
|
|
||||||
" print(\"Talk to the program by typing in plain English, using normal upper-\")\n",
|
|
||||||
" print('and lower-case letters and punctuation. Enter \"quit\" when done.')\n",
|
|
||||||
" print(\"=\" * 72)\n",
|
|
||||||
" print(\"Hello. My name is Eliza.\\nHow are you feeling today?\")\n",
|
|
||||||
"\n",
|
|
||||||
" eliza_chatbot.converse()\n",
|
|
||||||
"\n",
|
|
||||||
"\n",
|
|
||||||
"def demo():\n",
|
|
||||||
" eliza_chat()\n",
|
|
||||||
"\n",
|
|
||||||
"\n",
|
|
||||||
"if __name__ == \"__main__\":\n",
|
|
||||||
" demo()"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"cell_type": "code",
|
|
||||||
"execution_count": null,
|
|
||||||
"id": "8b790564-2e67-4f6a-8565-4c6eceeb3de3",
|
|
||||||
"metadata": {},
|
|
||||||
"outputs": [
|
|
||||||
{
|
|
||||||
"name": "stdout",
|
|
||||||
"output_type": "stream",
|
|
||||||
"text": [
|
|
||||||
"Psychiatrist\n",
|
|
||||||
"---------\n",
|
|
||||||
"Talk to the program by typing in plain English, using normal upper-\n",
|
|
||||||
"and lower-case letters and punctuation. Enter \"quit\" when done.\n",
|
|
||||||
"========================================================================\n",
|
|
||||||
"Hello. My name is Eliza.\n",
|
|
||||||
"How are you feeling today?\n"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "stdin",
|
|
||||||
"output_type": "stream",
|
|
||||||
"text": [
|
|
||||||
"> czy moge\n"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "stdout",
|
|
||||||
"output_type": "stream",
|
|
||||||
"text": [
|
|
||||||
"Please tell me more.\n"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "stdin",
|
|
||||||
"output_type": "stream",
|
|
||||||
"text": [
|
|
||||||
"> Czy moge\n"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "stdout",
|
|
||||||
"output_type": "stream",
|
|
||||||
"text": [
|
|
||||||
"Very interesting.\n"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "stdin",
|
|
||||||
"output_type": "stream",
|
|
||||||
"text": [
|
|
||||||
"> Czy mogę\n"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "stdout",
|
|
||||||
"output_type": "stream",
|
|
||||||
"text": [
|
|
||||||
"I see.\n"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "stdin",
|
|
||||||
"output_type": "stream",
|
|
||||||
"text": [
|
|
||||||
"> Czy mogę\n"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "stdout",
|
|
||||||
"output_type": "stream",
|
|
||||||
"text": [
|
|
||||||
"Please tell me more.\n"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "stdin",
|
|
||||||
"output_type": "stream",
|
|
||||||
"text": [
|
|
||||||
"> Czy mogę grać w płkę?\n"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "stdout",
|
|
||||||
"output_type": "stream",
|
|
||||||
"text": [
|
|
||||||
"Czy chcesz mieć możliwość grać w płkę?\n"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "stdin",
|
|
||||||
"output_type": "stream",
|
|
||||||
"text": [
|
|
||||||
"> Czy moge grać w lotki?\n"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "stdout",
|
|
||||||
"output_type": "stream",
|
|
||||||
"text": [
|
|
||||||
"Perhaps the answer lies within yourself?\n"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "stdin",
|
|
||||||
"output_type": "stream",
|
|
||||||
"text": [
|
|
||||||
"> Czy mogę grać w lotki\n"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "stdout",
|
|
||||||
"output_type": "stream",
|
|
||||||
"text": [
|
|
||||||
"Być może nie chcesz grać w lotki.\n"
|
|
||||||
]
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"source": [
|
|
||||||
"demo()"
|
|
||||||
]
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"metadata": {
|
|
||||||
"kernelspec": {
|
|
||||||
"display_name": "Python 3 (ipykernel)",
|
|
||||||
"language": "python",
|
|
||||||
"name": "python3"
|
|
||||||
},
|
|
||||||
"language_info": {
|
|
||||||
"codemirror_mode": {
|
|
||||||
"name": "ipython",
|
|
||||||
"version": 3
|
|
||||||
},
|
|
||||||
"file_extension": ".py",
|
|
||||||
"mimetype": "text/x-python",
|
|
||||||
"name": "python",
|
|
||||||
"nbconvert_exporter": "python",
|
|
||||||
"pygments_lexer": "ipython3",
|
|
||||||
"version": "3.9.7"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"nbformat": 4,
|
|
||||||
"nbformat_minor": 5
|
|
||||||
}
|
|
326
eliza.py
326
eliza.py
@ -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()
|
|
@ -1,437 +1,444 @@
|
|||||||
import nltk
|
import nltk
|
||||||
import random
|
import random
|
||||||
import re
|
import re
|
||||||
|
|
||||||
reflections = {
|
reflections = {
|
||||||
"ja jestem": "ty jesteś",
|
"ja jestem": "ty jesteś",
|
||||||
"ja byłem": "ty byłeś",
|
"ja byłem": "ty byłeś",
|
||||||
"ja": "ty",
|
"ja": "ty",
|
||||||
"jestem": "jesteś",
|
"jestem": "jesteś",
|
||||||
"chciałbym": "chciałbyś",
|
"chciałbym": "chciałbyś",
|
||||||
"mam": "masz",
|
"mam": "masz",
|
||||||
"będę": "będziesz",
|
"będę": "będziesz",
|
||||||
"moje": "twoje",
|
"moje": "twoje",
|
||||||
"jesteś": "jestem",
|
"mój": "twój",
|
||||||
"byłeś": "byłem",
|
"moja": "twoja",
|
||||||
"ty byłeś": "ja byłem",
|
"jesteś": "jestem",
|
||||||
"będziesz": "będę",
|
"byłeś": "byłem",
|
||||||
"nasze": "wasze",
|
"ty byłeś": "ja byłem",
|
||||||
"twoje": "moje",
|
"będziesz": "będę",
|
||||||
"ty" : "ja",
|
"nasze": "wasze",
|
||||||
"ja": "ty",
|
"twoje": "moje",
|
||||||
"my" : "wy",
|
"ty" : "ja",
|
||||||
"jesteśmy": "jesteście",
|
"ja": "ty",
|
||||||
}
|
"my" : "wy",
|
||||||
|
"jesteśmy": "jesteście",
|
||||||
class Chat:
|
}
|
||||||
def __init__(self, pairs, reflections={}):
|
|
||||||
|
class Chat:
|
||||||
self._pairs = [(re.compile(x, re.IGNORECASE), y) for (x, y) in pairs]
|
def __init__(self, pairs, reflections={}):
|
||||||
self._reflections = reflections
|
|
||||||
self._regex = self._compile_reflections()
|
self._pairs = [(re.compile(x, re.IGNORECASE), y) for (x, y) in pairs]
|
||||||
|
self._reflections = reflections
|
||||||
|
self._regex = self._compile_reflections()
|
||||||
def _compile_reflections(self):
|
|
||||||
sorted_refl = sorted(self._reflections, key=len, reverse=True)
|
|
||||||
return re.compile(
|
def _compile_reflections(self):
|
||||||
r"\b({})\b".format("|".join(map(re.escape, sorted_refl))), re.IGNORECASE
|
sorted_refl = sorted(self._reflections, key=len, reverse=True)
|
||||||
)
|
return re.compile(
|
||||||
|
r"\b({})\b".format("|".join(map(re.escape, sorted_refl))), re.IGNORECASE
|
||||||
def _substitute(self, str):
|
)
|
||||||
|
|
||||||
return self._regex.sub(
|
def _substitute(self, str):
|
||||||
lambda mo: self._reflections[mo.string[mo.start() : mo.end()]], str.lower()
|
|
||||||
)
|
return self._regex.sub(
|
||||||
|
lambda mo: self._reflections[mo.string[mo.start() : mo.end()]], str.lower()
|
||||||
def _wildcards(self, response, match):
|
)
|
||||||
pos = response.find("%")
|
|
||||||
while pos >= 0:
|
def _wildcards(self, response, match):
|
||||||
num = int(response[pos + 1 : pos + 2])
|
pos = response.find("%")
|
||||||
response = (
|
while pos >= 0:
|
||||||
response[:pos]
|
num = int(response[pos + 1 : pos + 2])
|
||||||
+ self._substitute(match.group(num))
|
response = (
|
||||||
+ response[pos + 2 :]
|
response[:pos]
|
||||||
)
|
+ self._substitute(match.group(num))
|
||||||
pos = response.find("%")
|
+ response[pos + 2 :]
|
||||||
return response
|
)
|
||||||
|
pos = response.find("%")
|
||||||
def respond(self, str):
|
return response
|
||||||
|
|
||||||
# check each pattern
|
def respond(self, str):
|
||||||
for (pattern, response) in self._pairs:
|
|
||||||
match = pattern.match(str)
|
# check each pattern
|
||||||
|
for (pattern, response) in self._pairs:
|
||||||
# did the pattern match?
|
match = pattern.match(str)
|
||||||
if match:
|
|
||||||
resp = random.choice(response) # pick a random response
|
# did the pattern match?
|
||||||
resp = self._wildcards(resp, match) # process wildcards
|
if match:
|
||||||
|
resp = random.choice(response) # pick a random response
|
||||||
# fix munged punctuation at the end
|
resp = self._wildcards(resp, match) # process wildcards
|
||||||
if resp[-2:] == "?.":
|
|
||||||
resp = resp[:-2] + "."
|
# fix munged punctuation at the end
|
||||||
if resp[-2:] == "??":
|
if resp[-2:] == "?.":
|
||||||
resp = resp[:-2] + "?"
|
resp = resp[:-2] + "."
|
||||||
return resp
|
if resp[-2:] == "??":
|
||||||
|
resp = resp[:-2] + "?"
|
||||||
|
return resp
|
||||||
# Hold a conversation with a chatbot
|
|
||||||
def converse(self, quit="Do widzenia"):
|
|
||||||
user_input = ""
|
# Hold a conversation with a chatbot
|
||||||
while user_input != quit:
|
def converse(self, quit="Do widzenia"):
|
||||||
user_input = quit
|
user_input = ""
|
||||||
try:
|
while user_input != quit:
|
||||||
user_input = input(">")
|
user_input = quit
|
||||||
except EOFError:
|
try:
|
||||||
print(user_input)
|
user_input = input(">")
|
||||||
if user_input:
|
except EOFError:
|
||||||
while user_input[-1] in "!.":
|
print(user_input)
|
||||||
user_input = user_input[:-1]
|
if user_input:
|
||||||
print(self.respond(user_input))
|
while user_input[-1] in "!.":
|
||||||
|
user_input = user_input[:-1]
|
||||||
|
print(self.respond(user_input))
|
||||||
pairs = (
|
|
||||||
(
|
|
||||||
r"Potrzebuję (.*)",
|
pairs = (
|
||||||
(
|
(
|
||||||
"Dlaczego potrzebujesz %1?",
|
r"Potrzebuję (.*)",
|
||||||
"Czy jesteś pewny, że potrzebujesz %1?",
|
(
|
||||||
),
|
"Dlaczego potrzebujesz %1?",
|
||||||
),
|
"Czy jesteś pewny, że potrzebujesz %1?",
|
||||||
(
|
),
|
||||||
r"Kto cię stworzył (.*)",
|
),
|
||||||
(
|
(
|
||||||
"ELIZA została wynaleziona w 1966 roku przez Weizenbauma. Dlaczego %1?",
|
r"Kto cię stworzył (.*)",
|
||||||
|
(
|
||||||
),
|
"ELIZA została wynaleziona w 1966 roku przez Weizenbauma. Dlaczego %1?",
|
||||||
),
|
|
||||||
(
|
),
|
||||||
r"Dlaczego ty (.*)",
|
),
|
||||||
(
|
(
|
||||||
"Czy naprawdę myślisz, że %1?",
|
r"Dlaczego ty (.*)",
|
||||||
"Być może w końcu będę %1.",
|
(
|
||||||
"Czy naprawdę chcesz, żebym %1?",
|
"Czy naprawdę myślisz, że %1?",
|
||||||
),
|
"Być może w końcu będę %1.",
|
||||||
),
|
"Czy naprawdę chcesz, żebym %1?",
|
||||||
(
|
),
|
||||||
r"Dlaczego ja (.*)",
|
),
|
||||||
(
|
(
|
||||||
"Czy uważasz, że powinieneś być w stanie %1?",
|
r"Dlaczego ja (.*)",
|
||||||
"Gdybyś mógł %1, co byś zrobił?",
|
(
|
||||||
"Nie wiem -- dlaczego nie możesz %1?",
|
"Czy uważasz, że powinieneś być w stanie %1?",
|
||||||
"Czy naprawdę próbowałeś?",
|
"Gdybyś mógł %1, co byś zrobił?",
|
||||||
),
|
"Nie wiem -- dlaczego nie możesz %1?",
|
||||||
),
|
"Czy naprawdę próbowałeś?",
|
||||||
(
|
),
|
||||||
r"Nie mogę (.*)",
|
),
|
||||||
(
|
(
|
||||||
"Skąd wiesz, że nie możesz %1?",
|
r"Nie mogę (.*)",
|
||||||
"Być może mógłbyś, gdybyś spróbował.",
|
(
|
||||||
"Co byś musiał zrobić, żeby %1?",
|
"Skąd wiesz, że nie możesz %1?",
|
||||||
),
|
"Być może mógłbyś, gdybyś spróbował.",
|
||||||
),
|
"Co byś musiał zrobić, żeby %1?",
|
||||||
(
|
),
|
||||||
r"Jestem (.*)",
|
),
|
||||||
(
|
(
|
||||||
"Przyszedłeś do mnie, bo jesteś %1?",
|
r"Jestem (.*)",
|
||||||
"Jak długo jesteś %1?",
|
(
|
||||||
"Co myślisz o tym, że jesteś %1?",
|
"Przyszedłeś do mnie, bo jesteś %1?",
|
||||||
),
|
"Jak długo jesteś %1?",
|
||||||
),
|
"Co myślisz o tym, że jesteś %1?",
|
||||||
(
|
),
|
||||||
r"Jestem (.*)",
|
),
|
||||||
(
|
(
|
||||||
"Jak się czujesz z tym, że jesteś %1?",
|
r"Jestem (.*)",
|
||||||
"Czy lubisz być %1?",
|
(
|
||||||
"Dlaczego mówisz mi, że jesteś %1?",
|
"Jak się czujesz z tym, że jesteś %1?",
|
||||||
"Dlaczego myślisz, że jesteś %1?",
|
"Czy lubisz być %1?",
|
||||||
),
|
"Dlaczego mówisz mi, że jesteś %1?",
|
||||||
),
|
"Dlaczego myślisz, że jesteś %1?",
|
||||||
(
|
),
|
||||||
r"Czy jesteś (.*)",
|
),
|
||||||
(
|
(
|
||||||
"Dlaczego to ma znaczenie, czy jestem %1?",
|
r"Czy jesteś (.*)",
|
||||||
"Wolałbyś, gdybym nie była %1?",
|
(
|
||||||
"Być może wierzysz, że jestem %1.",
|
"Dlaczego to ma znaczenie, czy jestem %1?",
|
||||||
"Mogę być %1 - jak myślisz?",
|
"Wolałbyś, gdybym nie była %1?",
|
||||||
),
|
"Być może wierzysz, że jestem %1.",
|
||||||
),
|
"Mogę być %1 - jak myślisz?",
|
||||||
(
|
),
|
||||||
r"Co (.*)",
|
),
|
||||||
(
|
(
|
||||||
"Dlaczego pytasz?",
|
r"Co (.*)",
|
||||||
"Jak pomogłaby ci odpowiedź na to?",
|
(
|
||||||
"Co myślisz?",
|
"Dlaczego pytasz?",
|
||||||
),
|
"Jak pomogłaby ci odpowiedź na to?",
|
||||||
),
|
"Co myślisz?",
|
||||||
(
|
),
|
||||||
r"Jak (.*)",
|
),
|
||||||
(
|
(
|
||||||
"Jak ty sądzisz?",
|
r"Jak (.*)",
|
||||||
"Perhaps you can answer your own question.",
|
(
|
||||||
"What is it you're really asking?",
|
"Jak ty sądzisz?",
|
||||||
),
|
"Perhaps you can answer your own question.",
|
||||||
),
|
"What is it you're really asking?",
|
||||||
(
|
),
|
||||||
r"Ponieważ (.*)",
|
),
|
||||||
(
|
(
|
||||||
"Czy to prawdziwy powód?",
|
r"Ponieważ (.*)",
|
||||||
"Jakie inne powody przychodzą Ci na myśl?”,",
|
(
|
||||||
"Czy ten powód dotyczy czegokolwiek innego?",
|
"Czy to prawdziwy powód?",
|
||||||
"Jeśli %1, co jeszcze musi być prawdą?",
|
"Jakie inne powody przychodzą Ci na myśl?”,",
|
||||||
),
|
"Czy ten powód dotyczy czegokolwiek innego?",
|
||||||
),
|
"Jeśli %1, co jeszcze musi być prawdą?",
|
||||||
(
|
),
|
||||||
r"(.*) przepraszam (.*)",
|
),
|
||||||
(
|
(
|
||||||
"Wiele razy przeprosiny nie są potrzebne.",
|
r"(.*) przepraszam (.*)",
|
||||||
"Co czujesz kiedy przepraszasz?",
|
(
|
||||||
),
|
"Wiele razy przeprosiny nie są potrzebne.",
|
||||||
),
|
"Co czujesz kiedy przepraszasz?",
|
||||||
(
|
),
|
||||||
r"Cześć(.*)",
|
),
|
||||||
(
|
(
|
||||||
"Cześć... cieszę się, że mogłeś dzisiaj wpaść..",
|
r"Cześć(.*)",
|
||||||
"Cześć... jak się masz dzisiaj?",
|
(
|
||||||
"Cześć, jak się dzisiaj czujesz?",
|
"Cześć... cieszę się, że mogłeś dzisiaj wpaść..",
|
||||||
),
|
"Cześć... jak się masz dzisiaj?",
|
||||||
),
|
"Cześć, jak się dzisiaj czujesz?",
|
||||||
(
|
),
|
||||||
r"Myśle, że (.*)",
|
),
|
||||||
(
|
(
|
||||||
"Czy wątpisz w %1?",
|
r"Myśle, że (.*)",
|
||||||
"Naprawdę tak myślisz?",
|
(
|
||||||
"Ale nie jesteś pewien, że %1?"
|
"Czy wątpisz w %1?",
|
||||||
),
|
"Naprawdę tak myślisz?",
|
||||||
),
|
"Ale nie jesteś pewien, że %1?"
|
||||||
(
|
),
|
||||||
r"(.*) przyjaciel (.*)",
|
),
|
||||||
(
|
(
|
||||||
"Opowiedz mi więcej o swoich przyjaciołach.",
|
r"(.*) przyjaciel (.*)",
|
||||||
"Kiedy myślisz o przyjacielu, co przychodzi ci na myśl?",
|
(
|
||||||
"Dlaczego miałbyś nie opowiedzieć o przyjacielu z dzieciństwa?",
|
"Opowiedz mi więcej o swoich przyjaciołach.",
|
||||||
),
|
"Kiedy myślisz o przyjacielu, co przychodzi ci na myśl?",
|
||||||
),
|
"Dlaczego miałbyś nie opowiedzieć o przyjacielu z dzieciństwa?",
|
||||||
(
|
),
|
||||||
r"Tak",
|
),
|
||||||
(
|
(
|
||||||
"Wydajesz się całkiem pewien.", "OK, ale czy możesz trochę rozwinąć?"
|
r"Tak",
|
||||||
)
|
(
|
||||||
),
|
"Wydajesz się całkiem pewien.",
|
||||||
(
|
"OK, ale czy możesz trochę rozwinąć?"
|
||||||
r"(.*) komputer(.*)",
|
)
|
||||||
(
|
),
|
||||||
"Naprawdę mówisz o mnie?",
|
(
|
||||||
"Czy rozmowa z komputerem wydaje się dziwna?",
|
r"(.*) komputer(.*)",
|
||||||
"Jak się czujesz przy komputerach?",
|
(
|
||||||
"Czy czujesz się zagrożony przez komputery?",
|
"Naprawdę mówisz o mnie?",
|
||||||
),
|
"Czy rozmowa z komputerem wydaje się dziwna?",
|
||||||
),
|
"Jak się czujesz przy komputerach?",
|
||||||
(
|
"Czy czujesz się zagrożony przez komputery?",
|
||||||
r"To jest (.*)",
|
),
|
||||||
(
|
),
|
||||||
"Czy myślisz, że to %1?",
|
(
|
||||||
"Może to %1 -- co myślisz?",
|
r"To jest (.*)",
|
||||||
"Gdyby to był %1, co byś zrobił?",
|
(
|
||||||
"Może być tak, że %1.",
|
"Czy myślisz, że to %1?",
|
||||||
),
|
"Może to %1 -- co myślisz?",
|
||||||
),
|
"Gdyby to był %1, co byś zrobił?",
|
||||||
(
|
"Może być tak, że %1.",
|
||||||
r"Jest to (.*)",
|
),
|
||||||
(
|
),
|
||||||
"Wydajesz się bardzo pewny.",
|
(
|
||||||
"Gdybym ci powiedziała, że prawdopodobnie nie jest to %1, co byś poczuł?",
|
r"Jest to (.*)",
|
||||||
),
|
(
|
||||||
),
|
"Wydajesz się bardzo pewny.",
|
||||||
(
|
"Gdybym ci powiedziała, że prawdopodobnie nie jest to %1, co byś poczuł?",
|
||||||
r"Czy możesz (.*)",
|
),
|
||||||
(
|
),
|
||||||
"Dlaczego myślisz, że nie mogę %1?",
|
(
|
||||||
"Gdybym mógł %1, to co?",
|
r"Czy możesz (.*)",
|
||||||
"Dlaczego pytasz, czy mogę %1?",
|
(
|
||||||
),
|
"Dlaczego myślisz, że nie mogę %1?",
|
||||||
),
|
"Gdybym mógł %1, to co?",
|
||||||
(
|
"Dlaczego pytasz, czy mogę %1?",
|
||||||
r"Czy mogę (.*)",
|
),
|
||||||
(
|
),
|
||||||
"Być może nie chcesz %1.",
|
(
|
||||||
"Czy chcesz mieć możliwość %1?",
|
r"Czy mogę (.*)",
|
||||||
"Gdybyś mógł %1, czy byś?",
|
(
|
||||||
),
|
"Być może nie chcesz %1.",
|
||||||
),
|
"Czy chcesz mieć możliwość %1?",
|
||||||
(
|
"Gdybyś mógł %1, czy byś?",
|
||||||
r"Czy mogę (.*)",
|
),
|
||||||
(
|
),
|
||||||
"Być może nie chcesz %1.",
|
(
|
||||||
"Czy chcesz mieć możliwość %1?",
|
r"Czy mogę (.*)",
|
||||||
"Gdybyś mógł %1, czy byś?",
|
(
|
||||||
),
|
"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?",
|
r"Ty jesteś (.*)",
|
||||||
"Być może chciałbyś, żebym był %1.",
|
(
|
||||||
"Może naprawdę mówisz o sobie?",
|
"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?",
|
r"Jesteś (.*)",
|
||||||
"Mówimy o tobie, czy o mnie?",
|
(
|
||||||
),
|
"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 nie (.*)",
|
||||||
r"Ja czuję (.*)",
|
(
|
||||||
(
|
"Czy naprawdę nie %1?",
|
||||||
"Dobrze, powiedz mi więcej o tych uczuciach.",
|
"Dlaczego nie %1?",
|
||||||
"Czy często czujesz %1?",
|
"Czy chcesz %1?"
|
||||||
"Kiedy zwykle czujesz %1?",
|
),
|
||||||
"Kiedy czujesz % 1, co robisz?",
|
),
|
||||||
),
|
(
|
||||||
),
|
r"Ja czuję (.*)",
|
||||||
(
|
(
|
||||||
r"Mam (.*)",
|
"Dobrze, powiedz mi więcej o tych uczuciach.",
|
||||||
(
|
"Czy często czujesz %1?",
|
||||||
"Dlaczego mówisz mi, że masz %1?",
|
"Kiedy zwykle czujesz %1?",
|
||||||
"Czy naprawdę masz %1?",
|
"Kiedy czujesz % 1, co robisz?",
|
||||||
"Teraz, kiedy masz %1, co zrobisz dalej?",
|
),
|
||||||
),
|
),
|
||||||
),
|
(
|
||||||
(
|
r"Mam (.*)",
|
||||||
r"Ja chcę (.*)",
|
(
|
||||||
(
|
"Dlaczego mówisz mi, że masz %1?",
|
||||||
"Czy możesz wyjaśnić, dlaczego chcesz %1?",
|
"Czy naprawdę masz %1?",
|
||||||
"Dlaczego %1?",
|
"Teraz, kiedy masz %1, co zrobisz dalej?",
|
||||||
"Kto jeszcze wie, że chcesz %1?",
|
),
|
||||||
),
|
),
|
||||||
),
|
(
|
||||||
(
|
r"Ja chcę (.*)",
|
||||||
r"Jest (.*)",
|
(
|
||||||
(
|
"Czy możesz wyjaśnić, dlaczego chcesz %1?",
|
||||||
"Myślisz, że jest %1?",
|
"Dlaczego %1?",
|
||||||
"Prawdopodobnie istnieje %1.",
|
"Kto jeszcze wie, że chcesz %1?",
|
||||||
"Czy chciałbyś, aby był %1?",
|
),
|
||||||
),
|
),
|
||||||
),
|
(
|
||||||
(
|
r"Jest (.*)",
|
||||||
r"Mój (.*)",
|
(
|
||||||
(
|
"Myślisz, że jest %1?",
|
||||||
"Rozumiem, twój %1.",
|
"Prawdopodobnie istnieje %1.",
|
||||||
"Dlaczego mówisz, że twój %1?",
|
"Czy chciałbyś, aby był %1?",
|
||||||
"Kiedy Twój %1, jak się czujesz?",
|
),
|
||||||
),
|
),
|
||||||
),
|
(
|
||||||
(
|
r"Mój (.*)",
|
||||||
r"Ty (.*)",
|
(
|
||||||
(
|
"Rozumiem, twój %1.",
|
||||||
"Powinniśmy rozmawiać o Tobie, nie o mnie.",
|
"Dlaczego mówisz, że twój %1?",
|
||||||
"Dlaczego tak o mnie mówisz?",
|
"Kiedy Twój %1, jak się czujesz?",
|
||||||
"Dlaczego obchodzi cię, czy ja %1?",
|
),
|
||||||
),
|
),
|
||||||
),
|
(
|
||||||
(
|
r"Ty (.*)",
|
||||||
r"Dlaczego (.*)",
|
(
|
||||||
(
|
"Powinniśmy rozmawiać o Tobie, nie o mnie.",
|
||||||
"Powiedz mi dlaczego %1?",
|
"Dlaczego tak o mnie mówisz?",
|
||||||
"Wydaje ci się że, %1?")
|
"Dlaczego obchodzi cię, czy ja %1?",
|
||||||
),
|
),
|
||||||
(
|
),
|
||||||
r"Ja chcę (.*)",
|
(
|
||||||
(
|
r"Dlaczego (.*)",
|
||||||
"Co by dla ciebie znaczyło, gdybyś dostał %1?",
|
(
|
||||||
"Dlaczego chcesz %1?",
|
"Powiedz mi dlaczego %1?",
|
||||||
"Co byś zrobił, gdybyś dostał %1?",
|
"Wydaje ci się że, %1?")
|
||||||
"Jeśli masz %1, co byś zrobił?",
|
),
|
||||||
),
|
(
|
||||||
),
|
r"Ja chcę (.*)",
|
||||||
(
|
(
|
||||||
r"(.*) mama(.*)",
|
"Co by dla ciebie znaczyło, gdybyś dostał %1?",
|
||||||
(
|
"Dlaczego chcesz %1?",
|
||||||
"Opowiedz mi więcej o twojej mamie.",
|
"Co byś zrobił, gdybyś dostał %1?",
|
||||||
"Jaka była twoja relacja z mamą?",
|
"Jeśli masz %1, co byś zrobił?",
|
||||||
"Co myślisz o swojej mamie?",
|
),
|
||||||
"Jak to się ma do twoich dzisiejszych uczuć?",
|
),
|
||||||
"Dobre relacje z rodziną są ważne.",
|
(
|
||||||
),
|
r"(.*) mama(.*)",
|
||||||
),
|
(
|
||||||
(
|
"Opowiedz mi więcej o twojej mamie.",
|
||||||
r"(.*) tata(.*)",
|
"Jaka była twoja relacja z mamą?",
|
||||||
(
|
"Co myślisz o swojej mamie?",
|
||||||
"Opowiedz mi więcej o twoim tacie.",
|
"Jak to się ma do twoich dzisiejszych uczuć?",
|
||||||
"Jakie uczucia wzbudzał w tobie twój tata?",
|
"Dobre relacje z rodziną są ważne.",
|
||||||
"Co myślisz o swoim tacie?",
|
),
|
||||||
"Czy twoja relacja z tatą ma wpływ na twoje dzisiejsze uczucia?",
|
),
|
||||||
"Czy masz problemy z okazywaniem uczuć swojej rodzinie?",
|
(
|
||||||
),
|
r"(.*) tata(.*)",
|
||||||
),
|
(
|
||||||
(
|
"Opowiedz mi więcej o twoim tacie.",
|
||||||
r"(.*) dziecko(.*)",
|
"Jakie uczucia wzbudzał w tobie twój tata?",
|
||||||
(
|
"Co myślisz o swoim tacie?",
|
||||||
"Miałeś bliskich przyjaciół jako dziecko?",
|
"Czy twoja relacja z tatą ma wpływ na twoje dzisiejsze uczucia?",
|
||||||
"Jakie jest twoje ulubione wspomnienie z dzieciństwa?",
|
"Czy masz problemy z okazywaniem uczuć swojej rodzinie?",
|
||||||
"Pamiętasz jakieś sny lub koszmary z dzieciństwa?",
|
),
|
||||||
"Czy inne dzieci czasem cię drażniły?",
|
),
|
||||||
"Jak myślisz, czy doświadczenia z dzieciństwa wpłynęły na twoje dzisiejsze uczucia?",
|
(
|
||||||
),
|
r"(.*) dziecko(.*)",
|
||||||
),
|
(
|
||||||
(
|
"Miałeś bliskich przyjaciół jako dziecko?",
|
||||||
r"(.*)\?",
|
"Jakie jest twoje ulubione wspomnienie z dzieciństwa?",
|
||||||
(
|
"Pamiętasz jakieś sny lub koszmary z dzieciństwa?",
|
||||||
"Dlaczego o to pytasz?",
|
"Czy inne dzieci czasem cię drażniły?",
|
||||||
"Rozważ proszę, czy byłbyś w stanie odpowiedzieć na swoje pytanie.",
|
"Jak myślisz, czy doświadczenia z dzieciństwa wpłynęły na twoje dzisiejsze uczucia?",
|
||||||
"Być może odpowiedź tkwi w tobie?",
|
),
|
||||||
"Dlaczego nie powiesz?",
|
),
|
||||||
),
|
(
|
||||||
),
|
r"(.*)\?",
|
||||||
(
|
(
|
||||||
r"Do widzenia",
|
"Dlaczego o to pytasz?",
|
||||||
(
|
"Rozważ proszę, czy byłbyś w stanie odpowiedzieć na swoje pytanie.",
|
||||||
"Dziękuję, że ze mną porozmawiałeś.",
|
"Być może odpowiedź tkwi w tobie?",
|
||||||
"Do widzenia.",
|
"Dlaczego nie powiesz?",
|
||||||
"Dziękuję, miłego dnia!",
|
),
|
||||||
),
|
),
|
||||||
),
|
(
|
||||||
(
|
r"Do widzenia",
|
||||||
r"(.*)",
|
(
|
||||||
(
|
"Dziękuję, że ze mną porozmawiałeś.",
|
||||||
"Opowiedz mi więcej.",
|
"Do widzenia.",
|
||||||
"Zmieńmy trochę temat... Opowiedz mi o swojej rodzinie",
|
"Dziękuję, miłego dnia!",
|
||||||
"Czy możesz to rozwinąć?",
|
),
|
||||||
"Dlaczego mówisz, że %1?",
|
),
|
||||||
"Rozumiem.",
|
(
|
||||||
"Bardzo interesujące.",
|
r"(.*)",
|
||||||
"%1.",
|
(
|
||||||
"Rozumiem, a co ci to mówi?",
|
"Opowiedz mi więcej.",
|
||||||
"Jak się z tym czujesz?",
|
"Zmieńmy trochę temat... Opowiedz mi o swojej rodzinie",
|
||||||
"Jak się czujesz, kiedy o tym mówisz?",
|
"Czy możesz to rozwinąć?",
|
||||||
),
|
"Dlaczego mówisz, że %1?",
|
||||||
),
|
"Rozumiem.",
|
||||||
)
|
"Bardzo interesujące.",
|
||||||
|
"%1.Hmm, powiedz coś więcej",
|
||||||
eliza_chatbot = Chat(pairs, reflections)
|
"Rozumiem, a co przez to rozumiesz?",
|
||||||
|
"Jak się z tym czujesz?",
|
||||||
|
"Jak się czujesz, kiedy o tym mówisz?",
|
||||||
def eliza_chat():
|
),
|
||||||
print("Psycholog\n---------")
|
),
|
||||||
print("Porozmawiaj z programem, wpisując polskie słowa, używając")
|
)
|
||||||
print('dużych oraz małych liter i znaków interpunkcyjnych.')
|
|
||||||
print('Po zakończeniu wpisz „Do widzenia”')
|
eliza_chatbot = Chat(pairs, reflections)
|
||||||
print("=" * 75)
|
|
||||||
print("Dzień dobry. Nazywam się Eliza.\nJak się dzisiaj czujesz?")
|
|
||||||
|
def eliza_chat():
|
||||||
eliza_chatbot.converse()
|
print("Psycholog\n---------")
|
||||||
|
print("Porozmawiaj z programem, wpisując polskie słowa, używając")
|
||||||
|
print('dużych oraz małych liter i znaków interpunkcyjnych.')
|
||||||
def demo():
|
print('Po zakończeniu wpisz „Do widzenia”')
|
||||||
eliza_chat()
|
print("=" * 75)
|
||||||
|
print("Dzień dobry. Nazywam się Eliza.\nJak się dzisiaj czujesz?")
|
||||||
|
|
||||||
if __name__ == "__main__":
|
eliza_chatbot.converse()
|
||||||
|
|
||||||
|
|
||||||
|
def demo():
|
||||||
|
eliza_chat()
|
||||||
|
|
||||||
|
|
||||||
|
if __name__ == "__main__":
|
||||||
demo()
|
demo()
|
Loading…
Reference in New Issue
Block a user