Spaces:
Sleeping
Sleeping
| import gradio as gr | |
| from nltk.chat.util import Chat, reflections | |
| # Savol-javob juftliklari | |
| pairs = ( | |
| ( | |
| r"salom (.*)", | |
| ( | |
| "Salom! Qanday yordam bera olaman?", | |
| "Salom, qalaysiz? Sizga qanday yordam bera olaman?", | |
| ), | |
| ), | |
| ( | |
| r"salom", | |
| ( | |
| "Salom! Qanday yordam bera olaman?", | |
| "Salom, qalaysiz? Sizga qanday yordam bera olaman?", | |
| ), | |
| ), | |
| ( | |
| r"isming (.*)", | |
| ( | |
| "Mening ismim Eliza", | |
| "Men chatbotman, ismim Eliza", | |
| ), | |
| ), | |
| ( | |
| r"(qandaysan|qalaysan|qalaysiz|yahshimisan|qalesan|tuzikmisan)(.*)", | |
| ( | |
| "Rahmat, yaxshi! Siz-chi?", | |
| "Yaxshi, sizning kayfiyatingiz qalay?", | |
| ), | |
| ), | |
| ( | |
| r"(nima qilayapsan|nima qilyapsan)(.*)", | |
| ( | |
| "Siz bilan suhbatlashyapman!", | |
| "Siz bilan gaplashyapman, siz-chi?", | |
| ), | |
| ), | |
| ( | |
| r"(.*)(haqida malumot bera olasanmi|haqida aytib bera olasanmi|haqida nima bilasan|haqida malumot ber|bo'yicha malumot ber|to'g'risida nima nilasan)", | |
| ( | |
| "%1 haqida sizga qanday ma'lumot kerak?", | |
| "Albatta, %1 haqida qanday savollaringiz bor?", | |
| ), | |
| ), | |
| ( | |
| r"qaysi tilda gaplashasan", | |
| ( | |
| "Men asosan o'zbek tilida gaplashaman, lekin boshqa tillarni ham tushunishim mumkin.", | |
| ), | |
| ), | |
| ( | |
| r"(.*)(kim\?|kim)", | |
| ( | |
| "%1 haqida ma'lumot olmoqchimisiz?", | |
| "Siz %1 haqida so'rayapsizmi? Batafsilroq yozing.", | |
| ), | |
| ), | |
| ( | |
| r"(.*)(nima\?|nima)", | |
| ( | |
| "%1 haqida ma'lumot beraymi?", | |
| "Siz %1 haqida so'rayapsizmi? Aniqroq yozing.", | |
| ), | |
| ), | |
| ( | |
| r"(hozir soat nechchi\?|hozir soat nechchi|hozir so[gg']ot nechchi)", | |
| ("Men aniq vaqtni bilmayman, lekin qurilmangizdan tekshirib ko'ring!",), | |
| ), | |
| ( | |
| r"(bugun qaysi kun\?|bugun qaysi kun|bugun qanday kun|bugun qanaqa kun|bugun nima kun)", | |
| ("Bugun haftaning qaysi kuni ekanini tekshirib ko'ring!",), | |
| ), | |
| ( | |
| r"(ob-havo qanday\?|ob-havo qanday|bugun qanday ob havo|ob havo qanday)", | |
| ("Ob-havo haqida aniq ma'lumot bera olmayman, lekin telefoningizdan tekshirishingiz mumkin.",), | |
| ), | |
| ( | |
| r"(yaxshi (.*) bilasanmi\?|yaxshi (.*) bilasanmi|yaxshi (.*) olasanmi)", | |
| ( | |
| "Ehtimol, %1 haqida ayta olarman. Aniqroq so'rasangiz?", | |
| "Ha, %1 haqida ma'lumot bera olaman.", | |
| ), | |
| ), | |
| ( | |
| r"(python haqida aytib bera olasanmi\?|python haqida aytib bera olasanmi|python nima)", | |
| ( | |
| "Python - bu sodda va kuchli dasturlash tili. U sun'iy intellekt, veb-ishlab chiqish, ma'lumotlar tahlili va boshqa ko'plab sohalarda ishlatiladi.", | |
| "Python - ochiq kodli dasturlash tili bo'lib, uning sintaksisi oddiy va tushunarli.", | |
| ), | |
| ), | |
| ( | |
| r"html nima\?", | |
| ( | |
| "HTML - bu veb-sahifalarni yaratish uchun ishlatiladigan belgilar tilidir.", | |
| "HTML (HyperText Markup Language) veb-sahifalarning tuzilishini belgilash uchun ishlatiladi.", | |
| ), | |
| ), | |
| ( | |
| r"css nima\?", | |
| ( | |
| "CSS - bu veb-sahifalarni stilini belgilash uchun ishlatiladigan belgilar tilidir.", | |
| "CSS (Cascading Style Sheets) veb-sahifalarning stilini belgilash uchun ishlatiladi.", | |
| ), | |
| ), | |
| ( | |
| r"(javascript nima\?|javascript nima)", | |
| ( | |
| "JavaScript - bu veb-ishlab chiqishda keng qo'llaniladigan dasturlash tili.", | |
| "JavaScript veb-saytlarga interaktivlik qo'shish uchun ishlatiladi.", | |
| ), | |
| ), | |
| ( | |
| r"(javascript haqida ma'lumot bera olasanmi\?|javascript haqida ma'lumot bera olasanmi|javascript haqida aytib ber|javascript haqida ma'lumot ber)", | |
| ( | |
| "JavaScript - bu veb-ishlab chiqishda keng qo'llaniladigan dasturlash tili.", | |
| "JavaScript veb-saytlarga interaktivlik qo'shish uchun ishlatiladi.", | |
| ), | |
| ), | |
| ( | |
| r"(m[ea]nga motivatsiya bera olasanmi\?|m[ea]nga motivatsiya bera olasanmi|m[ea]nga motivatsiya ber|m[ea]nga motivatsiya kerak)", | |
| ( | |
| "Albatta! Hech qachon taslim bo'lmang, oldinga intiling! Harakat qilgan odam albatta muvaffaqiyatga erishadi!", | |
| "Siz juda zo'rsiz! Oldingizdagi qiyinchiliklarni yenga olasiz!", | |
| ), | |
| ), | |
| ( | |
| r"(xayr|hayr|ko'rishguncha)", | |
| ( | |
| "Xayr, yaxshi kun tilayman!", | |
| "Ko'rishguncha, salomat bo'ling!", | |
| ), | |
| ), | |
| ( | |
| r"menga (.*) kerak", | |
| ( | |
| "Sizga %1 kerak. Batafsilroq yozing.", | |
| "%1? Nimaga kerak? Aniqroq tushuntiring.", | |
| ), | |
| ), | |
| ( | |
| r"(.*)", | |
| ( | |
| "Aniqroq yozib ko'ringchi", | |
| "Savolni sal o'zgartirib beringchi", | |
| "To'liqroq ayting", | |
| "Nega bu savolni so'rayapsiz", | |
| "Qiziq", | |
| "O'ylab ko'rish kerak", | |
| ), | |
| ), | |
| ) | |
| # Chatbot yaratish | |
| chatbot = Chat(pairs, reflections) | |
| # Gradio interfeysini yaratish | |
| def chatbot_response(user_input): | |
| return chatbot.respond(user_input) | |
| iface = gr.Interface(fn=chatbot_response, inputs="text", outputs="text", title="NLTK Chatbot") | |
| iface.launch(share=True) |