မာတိကာ[ဖျောက်][ရှိုး]
ဆက်သွယ်ရေးကဏ္ဍတွင် စာသားနှင့် ရုပ်ပုံများကို ဦးစားပေး၍ အသံခေါ်ဆိုမှုများကို ရပ်ဆိုင်းထားသည်။ Facebook စစ်တမ်းတစ်ခုအရ ဝယ်ယူသူ ထက်ဝက်ကျော်သည် ၎င်းတို့နှင့် စကားပြောနိုင်သော ကုမ္ပဏီတစ်ခုမှ ဝယ်ယူလိုကြသည်။ Chatting သည် လူမှုရေးအရ လက်ခံနိုင်သော ဆက်သွယ်မှုပုံစံအသစ်ဖြစ်လာသည်။
၎င်းသည် လုပ်ငန်းများကို ၎င်းတို့၏ဖောက်သည်များနှင့် အချိန်မရွေး နေရာမရွေး ဆက်သွယ်နိုင်စေပါသည်။ Chatbots များသည် ၎င်းတို့၏အသုံးပြုရလွယ်ကူမှုနှင့် စောင့်ဆိုင်းချိန်များကို လျှော့ချပေးခြင်းကြောင့် ကုမ္ပဏီများနှင့် သုံးစွဲသူများအကြား ရေပန်းစားလာပါသည်။
Chatbots သို့မဟုတ် အလိုအလျောက် စကားပြောဆိုမှု ပရိုဂရမ်များသည် သုံးစွဲသူများအား စာသားအခြေခံသည့် မျက်နှာပြင်မှတစ်ဆင့် ဝန်ဆောင်မှုများကို ဝင်ရောက်ကြည့်ရှုရန် ပိုမိုစိတ်ကြိုက်ပြင်ဆင်သည့်နည်းလမ်းကို ပံ့ပိုးပေးပါသည်။ နောက်ဆုံးပေါ် AI-စွမ်းအင်သုံး chatbots များသည် သီးခြားပတ်ဝန်းကျင်တစ်ခုတွင် လူတစ်ဦး (သို့မဟုတ် အခြား bot၊ စတင်ခြင်း) မှပြုလုပ်သော query (မေးခွန်း၊ ညွှန်ကြားချက်၊ စသည်) ကို အသိအမှတ်ပြုနိုင်ပြီး သင့်လျော်စွာ တုံ့ပြန်နိုင်သည် (အဖြေ၊ လုပ်ဆောင်ချက် စသည်)။
ဒီပို့စ်မှာ chatbots တွေဘာတွေလဲ၊ သူတို့ရဲ့အကျိုးခံစားခွင့်တွေ၊ အသုံးပြုမှုတွေ၊ နဲ့ သင့်ကိုယ်ပိုင်လုပ်နည်းတွေကို ပြောပြပါမယ်။ နက်ရှိုင်းသောသင်ယူမှု Python ရှိ chatbot၊ အခြားအရာများ။
စလိုက်ကြစို့။
ဒါဆို chatbots ဆိုတာ ဘာလဲ။
chatbot သည် လူ-စက် အပြန်အလှန် ဆက်သွယ်မှု၏ အတိုးတက်ဆုံးနှင့် အလားအလာ အကောင်းဆုံး ပုံစံများထဲမှ တစ်ခုဟု မကြာခဏ ရည်ညွှန်းသည်။ ဤဒစ်ဂျစ်တယ်လက်ထောက်များသည် လူများနှင့် ဝန်ဆောင်မှုများကြား အပြန်အလှန်ဆက်သွယ်မှုများကို ချောမွေ့စေခြင်းဖြင့် သုံးစွဲသူအတွေ့အကြုံကို တိုးတက်စေသည်။
တစ်ချိန်တည်းတွင်၊ ၎င်းတို့သည် လုပ်ငန်းများကို သမားရိုးကျ ပံ့ပိုးမှုကုန်ကျစရိတ်များကို ဖြတ်တောက်နိုင်သည့် ထိရောက်မှု ရှိစေရန် ဖောက်သည်ဆက်သွယ်မှု လုပ်ငန်းစဉ်ကို အကောင်းဆုံးဖြစ်အောင် လုပ်ရန် ရွေးချယ်စရာအသစ်များ ပေးဆောင်ပါသည်။
အတိုချုပ်ပြောရလျှင် ၎င်းသည် AI အခြေခံဆော့ဖ်ဝဲဖြစ်ပြီး လူသားများနှင့် ၎င်းတို့၏ သဘာဝဘာသာစကားများဖြင့် ဆက်သွယ်ပြောဆိုရန် ရည်ရွယ်သည်။ ဤ chatbot များသည် မကြာခဏ အသံ သို့မဟုတ် စာဖြင့် အပြန်အလှန် တုံ့ပြန်ကြပြီး ၎င်းတို့သည် လူသားများနှင့် လူသားများကဲ့သို့ ချိတ်ဆက်နိုင်ရန် လူသားဘာသာစကားများကို အလွယ်တကူ တုပနိုင်သည်။
Chatbots များသည် အသုံးပြုသူများနှင့် ၎င်းတို့၏ အပြန်အလှန်တုံ့ပြန်မှုများမှ သင်ယူကြပြီး အချိန်ကြာလာသည်နှင့်အမျှ လက်တွေ့ကျပြီး ပိုမိုထိရောက်လာသည်။ ၎င်းတို့သည် ငွေကြေးသုံးစွဲမှုကို ခွင့်ပြုခြင်း၊ အွန်လိုင်းတွင် စားသုံးသူများနှင့် ထိတွေ့ဆက်ဆံခြင်းနှင့် ဦးဆောင်လမ်းပြမှုများ ပြုလုပ်ခြင်းစသည့် ကျယ်ပြန့်သော လုပ်ငန်းဆောင်ရွက်မှုများကို ကိုင်တွယ်နိုင်သည်။
python ဖြင့် သင့်ကိုယ်ပိုင် နက်နဲသောသင်ယူမှု chatbot ကိုဖန်တီးပါ။
နယ်ပယ်တွင် ကွဲပြားသော chatbot အမျိုးအစားများစွာရှိသည်။ စက်သင်ယူမှု နှင့် AI ။ အချို့သော chatbot များသည် virtual assistant များဖြစ်ပြီး၊ အချို့မှာ ဖောက်သည်ဝန်ဆောင်မှုအေးဂျင့်များဖြစ်ပြီး အချို့မှာ စကားပြောရန်သာရှိသေးသည်။
စုံစမ်းမေးမြန်းမှုများကို ဖြေကြားရန်အတွက် စီးပွားရေးလုပ်ငန်းများမှ အလုပ်ခန့်ထားသူအချို့ကို သင်တွေ့မြင်ဖူးပေမည်။ မကြာခဏတောင်းဆိုထားသောမေးခွန်းများကိုဖြေကြားရန် ဤသင်ခန်းစာတွင် chatbot အသေးလေးပြုလုပ်ပါမည်။
1. အထုပ်များကို ထည့်သွင်းခြင်း။
ကျွန်ုပ်တို့၏ပထမအဆင့်မှာ အောက်ပါ packages များကို ထည့်သွင်းရန်ဖြစ်သည်။
2. သင်တန်းဒေတာ
ယခု ကျွန်ုပ်တို့၏ chatbot ကို ပေးရန် လိုအပ်မည့် အချက်အလက် အမျိုးအစားကို ရှာဖွေရန် အချိန်ဖြစ်သည်။ ၎င်းသည် ရိုးရှင်းသော chatbot တစ်ခုဖြစ်သောကြောင့် ကြီးမားသောဒေတာအတွဲများကို ဒေါင်းလုဒ်လုပ်ရန် မလိုအပ်ပါ။
ကျွန်ုပ်တို့ကိုယ်တိုင် ဖန်တီးထားသော အချက်အလက်များကိုသာ အသုံးပြုပါမည်။ သင်ခန်းစာနှင့်အတူ ထိထိရောက်ရောက် လိုက်နာရန်၊ အောက်ဖော်ပြပါပုံပါအတိုင်း ပုံစံတူ .JSON ဖိုင်ကို ထုတ်လုပ်ရန် လိုအပ်ပါသည်။ ကျွန်ုပ်၏ဖိုင်ကို “intents.json” ဟုခေါ်သည်။
JSON ဖိုင်ကို အသုံးပြုသူက ထည့်သွင်းပြီး သက်ဆိုင်ရာ အဖြေအစုံသို့ မြေပုံညွှန်းထည့်ဖွယ်ရှိသော မက်ဆေ့ချ်အစုတစ်ခုကို ဖန်တီးရန် အသုံးပြုပါသည်။ ဖိုင်ရှိ အဘိဓာန်တစ်ခုစီတွင် မက်ဆေ့ချ်တစ်ခုစီတွင် မည်သည့်အုပ်စုကို ခွဲခြားသတ်မှတ်ပေးသည့် tag တစ်ခုရှိသည်။
လေ့ကျင့်ရန် ဤအချက်အလက်ကို ကျွန်ုပ်တို့ အသုံးပြုပါမည်။ အာရုံကြောကွန်ယက်ကို ကျွန်ုပ်တို့၏ဖိုင်ရှိ တဂ်များထဲမှ စကားလုံးများ၏ စကားစုတစ်ခုကို အမျိုးအစားခွဲရန်။
ထို့နောက် ကျွန်ုပ်တို့သည် ထိုအဖွဲ့များမှ တုံ့ပြန်မှုကို ရယူပြီး အသုံးပြုသူအား ပေးဆောင်နိုင်ပါသည်။ ထပ်လောင်းတဂ်များ၊ ပြန်ကြားချက်များနှင့် ပုံစံများဖြင့် ကမ်းလှမ်းပါက chatbot သည် ပိုကောင်းပြီး ပိုရှုပ်ထွေးပါလိမ့်မည်။
3. JSON ဒေတာဖွင့်ခြင်း။
ကျွန်ုပ်တို့သည် ကျွန်ုပ်တို့၏ .json ဒေတာတွင် ထည့်သွင်းပြီး အချို့သော မော်ဂျူးများကို တင်သွင်းခြင်းဖြင့် စတင်ပါမည်။ သင်၏.json ဖိုင်ကို သင့်နှင့်တူညီသောလမ်းညွှန်တွင် စုစည်းပါ။ Python ဇာတ်ညွှန်း. ကျွန်ုပ်တို့၏ .json ဒေတာကို data variable တွင် သိမ်းဆည်းပါမည်။
4. Data ထုတ်ယူခြင်း။
ယခု ကျွန်ုပ်တို့၏ JSON ဖိုင်မှ ကျွန်ုပ်တို့လိုအပ်သော အချက်အလက်များကို ထုတ်ယူရန် အချိန်ကျရောက်ပြီဖြစ်သည်။ ပုံစံများအားလုံးအပြင် ၎င်းတို့ပိုင်ဆိုင်သည့် အတန်း/တက်ဂ်များပါ လိုအပ်ပါသည်။
ကျွန်ုပ်တို့၏ပုံစံများတွင် ထူးခြားသောဝေါဟာရများစာရင်းကိုလည်း လိုအပ်မည်ဖြစ်သည် (နောက်မှရှင်းပြမည့်အကြောင်းများကြောင့်) ဤတန်ဖိုးများကိုခြေရာခံရန် ဗလာစာရင်းအချို့ကို ဖန်တီးကြပါစို့။
ယခု ကျွန်ုပ်တို့သည် ကျွန်ုပ်တို့၏ JSON ဒေတာကို လှည့်ပတ်ပြီး ကျွန်ုပ်တို့လိုအပ်သော အချက်အလက်များကို ပြန်လည်ရယူပါမည်။ ၎င်းတို့ကို စာကြောင်းများအဖြစ် ထားရှိမည့်အစား၊ ပုံစံတစ်ခုစီကို စကားလုံးများစာရင်းအဖြစ် ပြောင်းလဲရန် nltk.word tokenizer ကို အသုံးပြုပါမည်။
ထို့နောက်၊ ကျွန်ုပ်တို့၏ docs_x စာရင်းတွင်၊ ကျွန်ုပ်တို့သည် ၎င်းနှင့်ဆက်စပ်သော tag များနှင့်အတူ ပုံစံတစ်ခုစီကို docs_y စာရင်းသို့ ထည့်ပါမည်။
5. Word Stemming
စကားလုံးတစ်လုံး၏ အရင်းမြစ်ကို ရှာဖွေခြင်းအား အရင်းခံဟု ခေါ်သည်။ ဥပမာအားဖြင့်၊ "ထို" ဟူသော စကားလုံး၏ ပင်စည်သည် "ထို" ဖြစ်နိုင်သည်၊၊ "ဖြစ်ပျက်" ဟူသော စကားလုံး၏ ပင်စည်သည် "ဖြစ်ပျက်" နိုင်သည်။
ကျွန်ုပ်တို့သည် ကျွန်ုပ်တို့၏စံပြဝေါဟာရကို ဖြတ်တောက်ရန် ဤအခြေခံနည်းစနစ်ကို အသုံးပြုပြီး ယေဘုယျအားဖြင့် မည်သည့်ဝါကျများကို ဆိုလိုကြောင်းကို ရှာဖွေဖော်ထုတ်ရန် ကြိုးစားပါမည်။ ဤကုဒ်သည် ကျွန်ုပ်တို့၏ဒေတာပြင်ဆင်မှု၏ နောက်အဆင့်တွင် အသုံးပြုမည့် ထူးခြားသောစကားလုံးများစာရင်းကို ရိုးရိုးရှင်းရှင်းထုတ်ပေးပါမည်။
6. စကားလုံးအိတ်
ကျွန်ုပ်တို့၏ဒေတာကို တင်သွင်းပြီး အရင်းခံဝေါဟာရတစ်ခုထုတ်ပေးသည့် ယခုစကားလုံးတစ်ထုပ်အကြောင်းပြောရန်အချိန်ရောက်ပါပြီ။ အာရုံကြောကွန်ရက်များ ကျွန်ုပ်တို့အားလုံးသိကြသည့်အတိုင်း စက်သင်ယူခြင်းဆိုင်ရာ အယ်လဂိုရီသမ်များသည် ဂဏန်းထည့်သွင်းမှု လိုအပ်ပါသည်။ ထို့ကြောင့် ကျွန်ုပ်တို့၏ စာကြောင်းစာရင်းသည် ၎င်းကို ဖြတ်တောက်မည်မဟုတ်ပါ။ ကျွန်ုပ်တို့သည် ကျွန်ုပ်တို့၏စာကြောင်းများရှိ ဂဏန်းများကို ကိုယ်စားပြုရန် ယန္တရားတစ်ခု လိုအပ်သည်၊ ယင်းသည် စကားလုံးများ အိတ်တစ်လုံးဝင်လာသည်။
စကားစုတစ်ခုစီကို ကျွန်ုပ်တို့၏မော်ဒယ်လ်ဝေါဟာရရှိ ဝေါဟာရအရေအတွက်၏ အရှည်စာရင်းဖြင့် ကိုယ်စားပြုပါမည်။ ကျွန်ုပ်တို့၏ ဝေါဟာရရှိ စကားလုံးတိုင်းကို စာရင်းရှိ နေရာတစ်ခုဖြင့် ကိုယ်စားပြုပါမည်။ စာရင်းတွင် ရာထူးသည် 1 ဖြစ်ပါက၊ ကျွန်ုပ်တို့၏ ထုတ်ပြန်ချက်တွင် စကားလုံးပေါ်လာပါသည်။ 0 ဖြစ်ပါက ကျွန်ုပ်တို့ဝါကျတွင် စကားလုံးမပေါ်ပါ။
စကားစုတွင် စကားလုံးများပေါ်လာသည့် အစီအစဥ်ကို မသိသောကြောင့် ၎င်းကို စကားလုံးအိတ်ဟုခေါ်သည်။ ကျွန်ုပ်တို့သိသည်မှာ ၎င်းတို့သည် ကျွန်ုပ်တို့၏ မော်ဒယ်၏ ဝေါဟာရတွင် တည်ရှိနေပါသည်။
ကျွန်ုပ်တို့၏ထည့်သွင်းမှုကို တည်ဆောက်ခြင်းအပြင်၊ ကျွန်ုပ်တို့သည် ကျွန်ုပ်တို့၏အထွက်ကို နျူရယ်လ်ကွန်ရက် နားလည်နိုင်စေရန်အတွက် ကျွန်ုပ်တို့၏အထွက်ကို ဖော်မတ်ပေးရပါမည်။ ကျွန်ုပ်တို့သည် ကျွန်ုပ်တို့၏ဒေတာအတွဲတွင် စာလုံးတစ်လုံးနှင့်တူသော အညွှန်း/တဂ်များ၏ အရှည်ဖြစ်သည့် အထွက်စာရင်းများကို တည်ဆောက်ပါမည်။ စာရင်းရှိနေရာတစ်ခုစီသည် သီးခြားအညွှန်း/တဂ်ကို ကိုယ်စားပြုပြီး ယင်းနေရာများအနက်မှ 1 သည် မည်သည့်တံဆိပ်/တဂ်ကို ကိုယ်စားပြုထားကြောင်း ဖော်ပြသည်။
နောက်ဆုံးတွင်၊ ကျွန်ုပ်တို့သည် ကျွန်ုပ်တို့၏လေ့ကျင့်ရေးဒေတာနှင့် အထွက်ကို သိမ်းဆည်းရန် NumPy အခင်းအကျင်းများကို အသုံးပြုပါမည်။
7. မော်ဒယ်ဖွံ့ဖြိုးတိုးတက်ရေး
ကျွန်ုပ်တို့၏ဒေတာအားလုံးကို ကြိုတင်ပြင်ဆင်ပြီးသော မော်ဒယ်တစ်ခုကို စတင်တည်ဆောက်ပြီး လေ့ကျင့်သင်ကြားရန် အဆင်သင့်ဖြစ်နေပါပြီ။ ကျွန်ုပ်တို့သည် ကျွန်ုပ်တို့၏ရည်ရွယ်ချက်များအတွက် လျှို့ဝှက်အလွှာနှစ်ခုပါသော အခြေခံအပေးအယူ-ရှေ့ဆက်အာရုံကြောကွန်ရက်ကို အသုံးပြုပါမည်။
ကျွန်ုပ်တို့၏ကွန်ရက်၏ရည်ရွယ်ချက်မှာ စကားလုံးအစုအဝေးကိုကြည့်ရှုပြီး ၎င်းတို့အား အတန်းတစ်ခုသို့သတ်မှတ်ပေးရန်ဖြစ်သည် (JSON ဖိုင်မှ ကျွန်ုပ်တို့၏တဂ်များထဲမှတစ်ခု)။ ကျွန်ုပ်တို့၏ မော်ဒယ်လ်၏ ဗိသုကာလက်ရာကို တည်ထောင်ခြင်းဖြင့် စတင်ပါမည်။ ပိုကောင်းတဲ့ မော်ဒယ်တစ်ခု ပေါ်လာဖို့ နံပါတ်အချို့နဲ့ ကစားနိုင်တယ်ဆိုတာကို သတိရပါ။ စက်သင်ယူမှု အများအားဖြင့် စမ်းပြီး အမှားအယွင်းပေါ် အခြေခံသည်။
8. Model Training & Saving
ကျွန်ုပ်တို့၏ မော်ဒယ်ကို ကျွန်ုပ်တို့ သတ်မှတ်ပြီး ယခု ကျွန်ုပ်တို့၏ဒေတာအတွက် လေ့ကျင့်ရန် အချိန်ရောက်ပါပြီ။ ကျွန်ုပ်တို့၏ဒေတာကို မော်ဒယ်နှင့် အံဝင်ခွင်ကျဖြစ်စေခြင်းဖြင့် ၎င်းကို အောင်မြင်နိုင်မည်ဖြစ်သည်။ ကျွန်ုပ်တို့ပေးဆောင်သည့် အပိုင်းအရေအတွက်သည် လေ့ကျင့်နေစဉ်အတွင်း တူညီသောဒေတာကို မော်ဒယ်နှင့် ထိတွေ့မည့်အကြိမ်အရေအတွက်ဖြစ်သည်။
လေ့ကျင့်မှုပြီးသည်နှင့် မော်ဒယ်ကို ဖိုင်မော်ဒယ်တွင် သိမ်းဆည်းနိုင်ပါသည်။ tflearn သည် အခြားသော script များတွင် အသုံးပြုနိုင်သော script တစ်ခုဖြစ်သည်။
9. chatbot ကိုအသုံးပြုခြင်း။
ယခု သင်သည် သင်၏ bot နှင့် စတင်စကားပြောနိုင်ပါပြီ။
Chatbot ၏အကျိုးကျေးဇူးများ
- ဘော့တ်များသည် တစ်နှစ်လျှင် 365 ရက်၊ အခကြေးငွေမယူဘဲ တစ်ရက်လျှင် 24 နာရီ လည်ပတ်ရန် မျှော်လင့်ထားသောကြောင့်၊ ရရှိနိုင်မှုနှင့် တုံ့ပြန်မှုမြန်နှုန်းကို တိုးမြှင့်မည်ဖြစ်သည်။
- ဤဘော့တ်များသည် ကြီးမားသောဒေတာ၏ အဓိက Vs သုံးခုကို ဖြေရှင်းရန်အတွက် ပြီးပြည့်စုံသောကိရိယာများဖြစ်သည်- အသံအတိုးအကျယ်၊ အလျင်နှင့် အမျိုးအစားများ။
- Chatbots များသည် ကုမ္ပဏီတစ်ခု၏ စားသုံးသူများအကြောင်းကို လေ့လာရန်နှင့် နားလည်သဘောပေါက်ရန် အသုံးပြုနိုင်သည့် ဆော့ဖ်ဝဲဖြစ်သည်။
- ၎င်းသည် ထိပ်တန်းအကျိုးကျေးဇူးများရရှိပြီးနောက် ချိုသာသော ပြုပြင်ထိန်းသိမ်းမှုစရိတ်စကဖြင့် သာလွန်ကောင်းမွန်သော ပါဝါရှိသည်။
- Chatbot အပလီကေးရှင်းများသည် ခွဲခြမ်းစိတ်ဖြာမှုနှင့် ခန့်မှန်းချက်များအတွက် ထိန်းသိမ်းပြီး အသုံးပြုနိုင်သည့် ဒေတာကို ဖန်တီးသည်။
အသုံးအဆောင်
- ဖောက်သည်မေးခွန်းများကို ဖြေရှင်းခြင်း။
- မကြာခဏမေးလေ့ရှိသောမေးခွန်းများကို ဖြေဆိုခြင်း။
- ဖောက်သည်များကို ပံ့ပိုးကူညီရန် အဖွဲ့ကို ခန့်အပ်ခြင်း။
- ဖောက်သည်တုံ့ပြန်ချက်စုဆောင်းခြင်း။
- ကမ်းလှမ်းချက်အသစ်များကို အကြံပြုခြင်း။
- စကားပြောဆို ကူးသန်းရောင်းဝယ်ရေးဖြင့် ဈေးဝယ်ပါ။
- IT Helpdesk
- နေရာထိုင်ခင်းများ ကြိုတင်စာရင်းသွင်းခြင်း။
- ငွေလွဲခြင်း
ကောက်ချက်
အခြားသော AI နည်းပညာများကဲ့သို့ပင် Chatbots များသည် လူသားစွမ်းရည်များကို မြှင့်တင်ရန်နှင့် လူသားများကို ဗျူဟာမြောက်သည့်အလုပ်များထက် ဗျူဟာမြောက်သည့်အလုပ်များတွင် အချိန်ပိုပေးခြင်းဖြင့် ၎င်းတို့ကို ပိုမိုတီထွင်ဖန်တီးနိုင်ကာ စိတ်ကူးယဉ်ဆန်လာစေရန် လွတ်မြောက်စေရန် အသုံးပြုမည်ဖြစ်သည်။
လုပ်ငန်းများ၊ ဝန်ထမ်းများနှင့် စားသုံးသူများသည် ပိုမိုမြန်ဆန်သော အကြံပြုချက်များနှင့် ခန့်မှန်းချက်များကဲ့သို့သော ပိုမိုကောင်းမွန်သော chatbot အင်္ဂါရပ်များမှ အကျိုးကျေးဇူးများရရှိနိုင်ပြီး မကြာမီကာလအတွင်း AI ၏ဖွံ့ဖြိုးတိုးတက်မှုနှင့်အတူ စကားဝိုင်းတစ်ခုအတွင်းမှ high-definition video conferencing ကို လွယ်ကူစွာဝင်ရောက်နိုင်စေပါသည်။ 5G နည်းပညာ။
ဤအရာများနှင့် အခြားဖြစ်နိုင်ခြေများကို စုံစမ်းနေဆဲဖြစ်သော်လည်း အင်တာနက်ချိတ်ဆက်မှု၊ AI၊ NLP နှင့် စက်သင်ယူမှု တိုးတက်လာသည်နှင့်အမျှ ၎င်းတို့သည် ပိုမိုပျံ့နှံ့လာမည်ဖြစ်သည်။
Chwoo
ဟလို,
ဒီအစီအစဉ်အတွက် ကျေးဇူးတင်ပါတယ်။
မေးစရာရှိပါတယ်။
“bag_of_words” ကို သတ်မှတ်မထားပါ။ ဤအမှားကို ကျွန်ုပ် နားမလည်နိုင်ပါ။
ဒီ Error ကို ဘယ်လိုဖြေရှင်းရမလဲ ပြောပြပေးပါလား ??
ဒီအစီအစဉ်အတွက် ကျေးဇူးတင်ပါတယ်!! ကောင်းသောနေ့ဖြစ်ပါစေ
ဂျေး
ကျေးဇူးပြု၍ chatbot ကဏ္ဍကို အသုံးမပြုမီ လုပ်ဆောင်ချက်တစ်ခု ထည့်ပါ-
/////////////////////////////////////////////////// ///////////////////////////////
def bag_of_words(s၊ စကားလုံးများ)
အိတ် = [0 for _ in range(len(words))]
s_words = nltk.word_tokenize(များ)
s_words = s_words စကားလုံးအတွက် [stemmer.stem(word.lower())]
s_words တွင် se အတွက်
i အတွက်၊ w enumerate(စကားလုံးများ):
w == se ဆိုလျှင်၊
bag[i] = ၁
numpy.array(အိတ်) ပြန်ပေး
// သင့်ပြဿနာကို သေချာဖြေရှင်းနိုင်ပါလိမ့်မယ်။ //
/////////////////////////////////////////////////// ///////////////////////////
ကုဒ်အပြည့်အစုံကို မင်းနဲ့ မျှဝေနေတာမို့ ရှင်းရှင်းလင်းလင်း ပုံရပါလိမ့်မယ်။
/////////////////////////////////////////////////// //////////
nltk တင်သွင်းခြင်း။
nltk.stem.lancaster မှ LancasterStemmer တင်သွင်းသည်။
ပင်စည် = LancasterStemmer()
numpy တင်သွင်းပါ။
tflearn ကိုတင်သွင်းပါ။
tensorflow ကိုတင်သွင်း
သွင်းကုန်ကျပန်း
json ကိုတင်သွင်းပါ
သွင်းကုန် pickle
ဖိုင်အဖြစ် open(“intents.json”) ဖြင့်-
ဒေတာ = json.load(ဖိုင်)
ကြိုးစား:
f အဖြစ် open(“data.pickle”၊ “rb”) ဖြင့်
စကားလုံးများ၊ အညွှန်းများ၊ လေ့ကျင့်မှု၊ အထွက် = pickle.load(f)
မှလွဲ။
စကားလုံးများ = []
တံဆိပ်များ = []
docs_x = []
docs_y = []
အချက်အလက်အတွက် ရည်ရွယ်ချက်["intents"]-
ရည်ရွယ်ချက်အတွက် ပုံစံ[“patterns”]-
wrds = nltk.word_tokenize(ပုံစံ)
words.extend(wrds)
docs_x.append(wrds)
docs_y.append(intent[“tag”])
အညွှန်းများတွင် intent[“tag”] မဟုတ်ပါက၊
labels.append(intent[“tag”])
စကားလုံးများ = [stemmer.stem(w.lower()) အတွက် w စကားလုံးများ w != “?”]
စကားလုံးများ = စီရန်(စာရင်း(သတ်မှတ်(စကားလုံးများ)))
labels = အမျိုးအစားခွဲထားသည်(တံဆိပ်များ)
သင်တန်း = []
အထွက် = []
out_empty = [0 for _ in range(len(labels))]
x အတွက်၊ doc ကို enumerate(docs_x):
အိတ် = []
wrds = [stemmer.stem(w.lower()) for w in doc]
စကားလုံးများအတွက် w:
wrds မှာဆိုရင်
bag.append(1)
အခြား:
bag.append(0)
output_row = out_empty[:]
output_row[labels.index(docs_y[x])] = ၁
training.append(အိတ်)
output.append(output_row)
Training = numpy.array(လေ့ကျင့်ရေး)
အထွက် = numpy.array(အထွက်)
f အဖြစ် open(“data.pickle”၊ “wb”) ဖြင့်
pickle.dump((စကားလုံးများ၊ အညွှန်းများ၊ လေ့ကျင့်ရေး၊ အထွက်)၊ f)
tensorflow.reset_default_graph()
net = tflearn.input_data(shape=[None၊ len(လေ့ကျင့်ရေး[0])])
net = tflearn.fully_connected(net၊ 8)
net = tflearn.fully_connected(net၊ 8)
net = tflearn.fully_connected(net၊ len(output[0]), activation=”softmax”)
net = tflearn.regression(net)
မော်ဒယ် = tflearn.DNN(net)
ကြိုးစား:
model.load("model.tflearn")
မှလွဲ။
model.fit(သင်တန်း၊ အထွက်၊ n_epoch=1500၊ batch_size=8၊ show_metric=True)
model.save("model.tflearn")
def bag_of_words(s၊ စကားလုံးများ)
အိတ် = [0 for _ in range(len(words))]
s_words = nltk.word_tokenize(များ)
s_words = s_words စကားလုံးအတွက် [stemmer.stem(word.lower())]
s_words တွင် se အတွက်
i အတွက်၊ w enumerate(စကားလုံးများ):
w == se ဆိုလျှင်၊
bag[i] = ၁
numpy.array(အိတ်) ပြန်ပေး
def ချတ်():
print(“ဘော့တ်ဖြင့် စတင်စကားပြောပါ (ရပ်တန့်ရန် နှုတ်ထွက်စာရိုက်)!”)
True နေစဉ်:
inp = input("သင်:")
inp.lower() == “ထွက်” လျှင်
ချိုး
ရလဒ် = model.predict([bag_of_words(inp၊ words)])
results_index = numpy.argmax(ရလဒ်များ)
တဂ် = အညွှန်းများ[results_index]
tg အတွက် data["intents"]-
tg['tag'] == tag:
တုံ့ပြန်မှုများ = tg['တုံ့ပြန်မှုများ']
print(random.choice(responses))
ချတ်()
/////////////////////////////////////////////////// ////////////////
ကျေးဇူးတင်ပါတယ်,
ပျော်ရွှင်စွာ ကုဒ်ရေးပါ။
Lu
ဟလို,
python တွင် chatbot တစ်ခုကို ဖန်တီးလိုသည့်ကိစ္စတွင် ဆောင်ရွက်ရမည့် လုပ်ငန်းစဉ်ကို အကြံဥာဏ်ပေးနိုင်သော်လည်း အချက်အလက်များကို excel တွင် စစ်တမ်းတစ်ခုမှ ရရှိပါသည်။ ကျေးဇူးတင်ပါသည်!