SystemyDialogowe-ProjektMag.../cheddar.py
2022-03-12 18:43:25 +01:00

111 lines
2.6 KiB
Python

from nltk.chat.util import Chat
# "cheddar" chatbot
reflections = {
"jestem": "jestes",
"bylem": "byles",
"bylam": "bylas",
"ja": "ty",
"jestem": "jestes",
"chcialbym": "chcialbys",
"chcialabym": "chcialabys",
"mam": "masz",
"bede": "bedziesz",
"moj": "twoj",
"twoja": "moja",
"moim": "twoim",
"mojego": "twojego",
"jestes": "jestem",
"byles": "bylem",
"masz": "mam",
"bedziesz": "bede",
"twoj": "moj",
"twoja": "moja",
"twoim": "moim",
"twojego": "mojego",
"ty": "ja",
"nasz": "wasz",
"moge": "mozesz"
}
pairs = (
(
r"Potrzebuje (.*)",
(
"Dlaczego potrzebujesz %1?",
"Czy naprawdę pomogloby Ci zdobycie %1?",
"Czy jestes pewien, ze potrzebujesz %1?",
),
),
(
r"Dlaczego nie moge (.*)",
(
"Czy uwazasz, ze powinienes moc %1?",
"Gdybys mogl %1, co bys zrobil?",
"Nie wiem, dlaczego nie mozesz %1?",
"Czy naprawde probowales?",
),
),
(
r"Nie moge (.*)",
(
"Skad wiesz, ze nie mozesz %1?",
"Byc moze moglbys %1, gdybys sprobowal.",
"Co musialbys zrobic zeby %1?",
),
),
(
r"Jestem (.*)",
(
"Czy rozmawiasz ze mna poniewaz jestes %1?",
"Od jak dawna jestes %1?",
"Jak sie czujesz z tym, ze jestes %1?",
"Jak sie czujesz bedac %1?",
"Dlaczego mowisz mi, ze jestes %1?",
"Dlaczego uwazasz, ze jestes %1?",
),
),
(
r"Czy jestes (.*)",
(
"Dlaczego ma to znaczenie czy jestem %1?",
"Czy wolabys gdybym nie byl %1?",
"Byc moze uwazasz, ze jestem %1.",
"Byc moze jestem %1, co o tym sadzisz?",
),
),
(
r"Co (.*)",
(
"Dlaczego pytasz?",
"W jaki sposob pomoglaby ci odpowiedz na to pytanie?",
"Co o tym myslisz?",
),
),
(
r"Jak (.*)",
(
"Jak sadzisz?",
"Byc moze potrafisz odpowiedziec na swoje wlasne pytanie.",
"O co tak naprawde pytasz?",
),
),
(
r"Poniewaz (.*)",
(
"Czy to jest prawdziwy powod?",
"Jakie inne powody przychodza Ci na mysl?",
"Czy ten powod odnosi sie do czegos innego?",
"Jesli %1, to co jeszcze musi byc prawda?",
),
),
)
cheddar = Chat(pairs, reflections)
print("\nNapisz 'quit' aby zakonczyc.")
print("-" * 70)
print("Witaj. Jak sie dzisiaj czujesz?")
cheddar.converse()