មាតិកា[លាក់][បង្ហាញ]
ការហៅជាសំឡេងកំពុងត្រូវបានលុបចោលជាបណ្តើរៗ ដើម្បីជាការពេញចិត្តនៃអត្ថបទ និងរូបភាពនៅក្នុងផ្នែកទំនាក់ទំនង។ យោងតាមការស្ទង់មតិរបស់ Facebook អ្នកទិញជាងពាក់កណ្តាលចូលចិត្តទិញពីក្រុមហ៊ុនដែលពួកគេអាចនិយាយជាមួយបាន។ ការជជែកបានក្លាយទៅជារបៀបទំនាក់ទំនងថ្មីដែលអាចទទួលយកបានក្នុងសង្គម។
វាអនុញ្ញាតឱ្យអាជីវកម្មទំនាក់ទំនងជាមួយអតិថិជនរបស់ពួកគេគ្រប់ពេលវេលា និងពីទីតាំងណាមួយ។ Chatbots កំពុងទទួលបានប្រជាប្រិយភាពកាន់តែខ្លាំងឡើងក្នុងចំណោមក្រុមហ៊ុន និងអតិថិជន ដោយសារតែភាពងាយស្រួលនៃការប្រើប្រាស់ និងកាត់បន្ថយពេលវេលារង់ចាំ។
Chatbots ឬកម្មវិធីសន្ទនាដោយស្វ័យប្រវត្តិ ផ្តល់ឱ្យអតិថិជននូវវិធីសាស្រ្តផ្ទាល់ខ្លួនបន្ថែមទៀតដើម្បីចូលប្រើសេវាកម្មតាមរយៈចំណុចប្រទាក់ដែលមានមូលដ្ឋានលើអត្ថបទ។ chatbots ដែលដំណើរការដោយ AI ថ្មីបំផុតអាចស្គាល់សំណួរ (សំណួរ ពាក្យបញ្ជា បញ្ជា។
នៅក្នុងការប្រកាសនេះ យើងនឹងនិយាយអំពីអ្វីដែលជា chatbots អត្ថប្រយោជន៍របស់វា ករណីប្រើប្រាស់ និងរបៀបបង្កើតរបស់អ្នកផ្ទាល់។ ការរៀនសូត្រជ្រៅ chatbot នៅក្នុង Python ក្នុងចំណោមរបស់ផ្សេងទៀត។
តោះចាប់ផ្តើម។
ដូច្នេះតើ chatbots ជាអ្វី?
chatbot ត្រូវបានគេសំដៅជាញឹកញាប់ថាជាទម្រង់មួយក្នុងចំណោមទម្រង់ទំនើបបំផុត និងជោគជ័យនៃអន្តរកម្មរវាងមនុស្ស និងម៉ាស៊ីន។ ជំនួយការឌីជីថលទាំងនេះធ្វើឱ្យប្រសើរឡើងនូវបទពិសោធន៍របស់អតិថិជនដោយការសម្រួលអន្តរកម្មរវាងមនុស្ស និងសេវាកម្ម។
ក្នុងពេលដំណាលគ្នា ពួកគេផ្តល់ឱ្យអាជីវកម្មនូវជម្រើសថ្មី ដើម្បីបង្កើនប្រសិទ្ធភាពដំណើរការទំនាក់ទំនងអតិថិជនឱ្យមានប្រសិទ្ធភាព ដែលអាចកាត់បន្ថយការចំណាយលើការគាំទ្រធម្មតា។
សរុបមក វាគឺជាកម្មវិធីដែលមានមូលដ្ឋានលើ AI ដែលមានបំណងទំនាក់ទំនងជាមួយមនុស្សជាភាសាធម្មជាតិរបស់ពួកគេ។ chatbots ទាំងនេះច្រើនតែធ្វើអន្តរកម្មតាមរយៈអូឌីយ៉ូ ឬបច្ចេកទេសសរសេរ ហើយពួកវាអាចធ្វើត្រាប់តាមភាសាមនុស្សយ៉ាងងាយស្រួល ដើម្បីភ្ជាប់ទំនាក់ទំនងជាមួយមនុស្សក្នុងលក្ខណៈដូចមនុស្ស។
Chatbots រៀនពីអន្តរកម្មរបស់ពួកគេជាមួយអ្នកប្រើប្រាស់ កាន់តែមានភាពប្រាកដនិយម និងមានប្រសិទ្ធភាពតាមពេលវេលា។ ពួកគេអាចគ្រប់គ្រងសកម្មភាពអាជីវកម្មជាច្រើនដូចជា ការអនុញ្ញាតលើការចំណាយ ការចូលរួមជាមួយអ្នកប្រើប្រាស់អនឡាញ និងបង្កើតការនាំមុខ។
បង្កើត chatbot សិក្សាជ្រៅរបស់អ្នកជាមួយ python
មាន chatbots ប្រភេទផ្សេងគ្នាជាច្រើននៅក្នុងវិស័យ ការរៀនម៉ាស៊ីន និង AI ។ chatbots ខ្លះគឺជាជំនួយការនិម្មិត ខណៈពេលដែលអ្នកផ្សេងទៀតគ្រាន់តែនៅទីនោះដើម្បីជជែកជាមួយ ខណៈដែលអ្នកផ្សេងទៀតគឺជាភ្នាក់ងារសេវាអតិថិជន។
អ្នកប្រហែលជាបានឃើញក្រុមហ៊ុនមួយចំនួនដែលផ្តល់ការងារដោយអាជីវកម្មដើម្បីឆ្លើយសំណួរ។ យើងនឹងបង្កើត chatbot តូចមួយនៅក្នុងមេរៀននេះ ដើម្បីឆ្លើយសំណួរដែលស្នើសុំញឹកញាប់។
1. ការដំឡើងកញ្ចប់
ជំហានដំបូងរបស់យើងគឺត្រូវដំឡើងកញ្ចប់ខាងក្រោម។
2. ទិន្នន័យបណ្តុះបណ្តាល
ឥឡូវនេះវាដល់ពេលដែលត្រូវស្វែងយល់ថាតើព័ត៌មានប្រភេទណាដែលយើងនឹងត្រូវការដើម្បីផ្តល់ឱ្យ chatbot របស់យើង។ យើងមិនចាំបាច់ទាញយកសំណុំទិន្នន័យធំណាមួយទេ ព្រោះនេះជា chatbot សាមញ្ញ។
យើងនឹងប្រើប្រាស់តែព័ត៌មានដែលយើងបានបង្កើតខ្លួនយើងប៉ុណ្ណោះ។ ដើម្បីអនុវត្តតាមមេរៀនប្រកបដោយប្រសិទ្ធភាព អ្នកនឹងត្រូវបង្កើតឯកសារ .JSON ដែលមានទម្រង់ដូចគ្នាទៅនឹងឯកសារដែលបានឃើញខាងក្រោម។ ឯកសាររបស់ខ្ញុំមានឈ្មោះថា “intents.json”។
ឯកសារ JSON ត្រូវបានប្រើដើម្បីបង្កើតសំណុំនៃសារដែលអ្នកប្រើទំនងជាបញ្ចូល និងផ្គូផ្គងទៅនឹងសំណុំនៃចម្លើយដែលពាក់ព័ន្ធ។ វចនានុក្រមនីមួយៗក្នុងឯកសារមានស្លាកសម្គាល់ក្រុមណាដែលសារនីមួយៗជាកម្មសិទ្ធិ។
យើងនឹងប្រើព័ត៌មាននេះដើម្បីបណ្តុះបណ្តាល ក បណ្តាញសរសៃប្រសាទ ដើម្បីចាត់ថ្នាក់ឃ្លានៃពាក្យជាស្លាកមួយក្នុងឯកសាររបស់យើង។
បន្ទាប់មក យើងអាចទទួលយកការឆ្លើយតបពីក្រុមទាំងនោះ ហើយផ្តល់វាដល់អ្នកប្រើប្រាស់។ chatbot នឹងកាន់តែប្រសើរ និងស្មុគស្មាញ ប្រសិនបើអ្នកផ្តល់ជូនវាជាមួយនឹងស្លាក ការឆ្លើយតប និងលំនាំបន្ថែម។
3. ការផ្ទុកទិន្នន័យ JSON
យើងនឹងចាប់ផ្តើមដោយការផ្ទុកនៅក្នុងទិន្នន័យ .json របស់យើង ហើយនាំចូលម៉ូឌុលមួយចំនួន។ ប្រមូលផ្តុំឯកសារ your.json នៅក្នុងថតដូចគ្នានឹងរបស់អ្នក។ ស្គ្រីបពស់ថ្លាន់. ឥឡូវនេះទិន្នន័យ .json របស់យើងនឹងត្រូវបានរក្សាទុកនៅក្នុងអថេរទិន្នន័យ។
4. ការស្រង់ទិន្នន័យ
ឥឡូវនេះវាដល់ពេលហើយដើម្បីទាញយកព័ត៌មានដែលយើងត្រូវការពីឯកសារ JSON របស់យើង។ លំនាំទាំងអស់ ក៏ដូចជាថ្នាក់/ស្លាកដែលពួកគេជាកម្មសិទ្ធិ គឺត្រូវបានទាមទារ។
យើងក៏នឹងត្រូវការបញ្ជីនៃពាក្យពិសេសទាំងអស់នៅក្នុងគំរូរបស់យើងផងដែរ (សម្រាប់ហេតុផលដែលយើងនឹងពន្យល់នៅពេលក្រោយ) ដូច្នេះសូមបង្កើតបញ្ជីទទេមួយចំនួនដើម្បីតាមដានតម្លៃទាំងនេះ។
ឥឡូវនេះ យើងនឹងបញ្ចូលទិន្នន័យ JSON របស់យើង ហើយទាញយកព័ត៌មានដែលយើងត្រូវការ។ ជាជាងឲ្យពួកវាជាខ្សែអក្សរ យើងនឹងប្រើ nltk.word tokenizer ដើម្បីបំប្លែងលំនាំនីមួយៗទៅជាបញ្ជីពាក្យ។
បន្ទាប់មក នៅក្នុងបញ្ជី docs_x របស់យើង យើងនឹងបន្ថែមលំនាំនីមួយៗ រួមជាមួយនឹងស្លាកដែលពាក់ព័ន្ធរបស់វាទៅក្នុងបញ្ជី docs_y។
5. ការពង្រឹងពាក្យ
ការស្វែងរកឫសគល់នៃពាក្យមួយត្រូវបានគេហៅថា stemming ។ ឧទាហរណ៍ ដើមនៃពាក្យ "នោះ" ដើមអាចជា "នោះ" ចំណែកដើមនៃពាក្យ "កើតឡើង" អាចជា "កើតឡើង" ។
យើងនឹងប្រើបច្ចេកទេសដើមនេះដើម្បីកាត់បន្ថយវាក្យសព្ទគំរូរបស់យើង ហើយព្យាយាមរកមើលថាប្រយោគអ្វីដែលបង្កប់អត្ថន័យជាទូទៅ។ កូដនេះនឹងបង្កើតបញ្ជីតែមួយគត់នៃពាក្យដើមដែលនឹងត្រូវបានប្រើនៅក្នុងដំណាក់កាលបន្ទាប់នៃការរៀបចំទិន្នន័យរបស់យើង។
6. ថង់នៃពាក្យ
វាដល់ពេលហើយដើម្បីនិយាយអំពីថង់នៃពាក្យឥឡូវនេះដែលយើងបាននាំចូលទិន្នន័យរបស់យើង និងបង្កើតវាក្យសព្ទដើមមួយ។ បណ្តាញសរសៃប្រសាទ និងក្បួនដោះស្រាយការរៀនម៉ាស៊ីន ដូចដែលយើងទាំងអស់គ្នាដឹង ទាមទារការបញ្ចូលជាលេខ។ ដូច្នេះបញ្ជីខ្សែអក្សររបស់យើងនឹងមិនកាត់វាទេ។ យើងត្រូវការយន្តការមួយដើម្បីតំណាងឱ្យលេខនៅក្នុងប្រយោគរបស់យើង ដែលជាកន្លែងដែលមានពាក្យមួយឃ្លាចូលមក។
ឃ្លានីមួយៗនឹងត្រូវបានតំណាងដោយបញ្ជីនៃប្រវែងនៃចំនួនពាក្យនៅក្នុងវាក្យសព្ទគំរូរបស់យើង។ ពាក្យនីមួយៗនៅក្នុងវាក្យសព្ទរបស់យើងនឹងត្រូវបានតំណាងដោយកន្លែងមួយនៅក្នុងបញ្ជី។ ប្រសិនបើទីតាំងនៅក្នុងបញ្ជីគឺ 1 ពាក្យនឹងលេចឡើងនៅក្នុងសេចក្តីថ្លែងការណ៍របស់យើង; ប្រសិនបើវាជា 0 ពាក្យមិនបង្ហាញនៅក្នុងប្រយោគរបស់យើងទេ។
យើងហៅវាថា ថង់នៃពាក្យ ព្រោះយើងមិនដឹងពីលំដាប់នៃពាក្យដែលលេចឡើងក្នុងឃ្លា។ អ្វីទាំងអស់ដែលយើងដឹងគឺថាពួកវាមាននៅក្នុងវាក្យសព្ទគំរូរបស់យើង។
បន្ថែមពីលើការរៀបចំរចនាសម្ព័ន្ធបញ្ចូលរបស់យើង យើងក៏ត្រូវតែធ្វើទ្រង់ទ្រាយលទ្ធផលរបស់យើងផងដែរដើម្បីឱ្យបណ្តាញសរសៃប្រសាទយល់ពីវា។ យើងនឹងបង្កើតបញ្ជីលទ្ធផលដែលជាប្រវែងនៃចំនួនស្លាក/ស្លាកក្នុងសំណុំទិន្នន័យរបស់យើង ស្រដៀងនឹងថង់ពាក្យ។ កន្លែងនីមួយៗក្នុងបញ្ជីតំណាងឱ្យស្លាក/ស្លាកតែមួយគត់ ហើយលេខ 1 ក្នុងទីតាំងណាមួយបង្ហាញពីស្លាក/ស្លាកណាមួយដែលកំពុងត្រូវបានតំណាង។
ជាចុងក្រោយ យើងនឹងប្រើអារេ NumPy ដើម្បីរក្សាទុកទិន្នន័យ និងលទ្ធផលបណ្តុះបណ្តាលរបស់យើង។
7. ការអភិវឌ្ឍន៍គំរូ
យើងត្រៀមខ្លួនរួចរាល់ហើយដើម្បីចាប់ផ្តើមបង្កើត និងបណ្តុះបណ្តាលគំរូមួយឥឡូវនេះ ដែលយើងបានធ្វើដំណើរការទិន្នន័យទាំងអស់របស់យើងជាមុន។ យើងនឹងប្រើបណ្តាញសរសៃប្រសាទបញ្ជូនបន្តមូលដ្ឋានខ្លាំងជាមួយស្រទាប់លាក់ពីរសម្រាប់គោលបំណងរបស់យើង។
គោលបំណងរបស់បណ្តាញរបស់យើងគឺដើម្បីមើលបណ្តុំនៃពាក្យ ហើយចាត់វាទៅថ្នាក់មួយ (ស្លាកមួយក្នុងចំណោមស្លាករបស់យើងពីឯកសារ JSON)។ យើងនឹងចាប់ផ្តើមដោយបង្កើតស្ថាបត្យកម្មគំរូរបស់យើង។ សូមចងចាំថាអ្នកអាចលេងជាមួយលេខមួយចំនួនដើម្បីមកជាមួយគំរូល្អជាងនេះ! ការរៀនម៉ាស៊ីន ភាគច្រើនគឺផ្អែកលើការសាកល្បង និងកំហុស។
8. ការបណ្តុះបណ្តាលគំរូ និងការសន្សំប្រាក់
វាដល់ពេលហើយដើម្បីបណ្តុះបណ្តាលគំរូរបស់យើងលើទិន្នន័យរបស់យើងឥឡូវនេះដែលយើងបានរៀបចំវា! យើងនឹងសម្រេចបានវាដោយការបញ្ចូលទិន្នន័យរបស់យើងទៅនឹងគំរូ។ ចំនួននៃសម័យដែលយើងផ្តល់គឺជាចំនួនដងដែលគំរូនឹងត្រូវបានលាតត្រដាងទៅនឹងទិន្នន័យដូចគ្នាក្នុងអំឡុងពេលបណ្តុះបណ្តាល។
យើងអាចរក្សាទុកគំរូទៅក្នុងគំរូឯកសារនៅពេលដែលយើងបានបញ្ចប់ការបណ្តុះបណ្តាលវា។ tflearn គឺជាស្គ្រីបដែលអាចប្រើបានក្នុងស្គ្រីបផ្សេងៗ។
9. ការប្រើប្រាស់ chatbot
ឥឡូវនេះ អ្នកអាចចាប់ផ្តើមជជែកជាមួយ bot របស់អ្នក។
អត្ថប្រយោជន៍នៃ Chatbot
- ដោយសារ bots ត្រូវបានគេរំពឹងថានឹងដំណើរការ 365 ថ្ងៃក្នុងមួយឆ្នាំ 24 ម៉ោងក្នុងមួយថ្ងៃ ដោយមិនបង់ប្រាក់ បង្កើនភាពអាចរកបាន និងល្បឿនប្រតិកម្ម។
- រូបយន្តទាំងនេះគឺជាឧបករណ៍ដ៏ល្អឥតខ្ចោះសម្រាប់ដោះស្រាយ Vs គន្លឹះទាំងបីរបស់ទិន្នន័យធំ៖ កម្រិតសំឡេង ល្បឿន និងភាពខុសគ្នា។
- Chatbots គឺជាកម្មវិធីដែលអាចត្រូវបានប្រើដើម្បីស្វែងយល់ និងស្វែងយល់ពីអ្នកប្រើប្រាស់របស់ក្រុមហ៊ុន។
- វាមានថាមពលខ្លាំងដែលវាមានតម្លៃថែទាំថោក បន្ទាប់ពីទទួលបានអត្ថប្រយោជន៍កំពូល។
- កម្មវិធី Chatbot បង្កើតទិន្នន័យដែលអាចត្រូវបានរក្សាទុក និងប្រើប្រាស់សម្រាប់ការវិភាគ និងការព្យាករណ៍។
ករណីការប្រើប្រាស់
- ការដោះស្រាយសំណួររបស់អតិថិជន
- ឆ្លើយសំណួរដែលគេសួរញឹកញាប់
- ការចាត់តាំងអតិថិជនឱ្យគាំទ្រក្រុម
- ការប្រមូលមតិយោបល់របស់អតិថិជន
- ណែនាំការផ្តល់ជូនថ្មី។
- ទិញទំនិញជាមួយនឹងការសន្ទនាពាណិជ្ជកម្ម
- IT Helpdesk
- ការកក់កន្លែងស្នាក់នៅ
- ផ្ទេរប្រាក់
សន្និដ្ឋាន
Chatbots ដូចជាបច្ចេកវិទ្យា AI ផ្សេងទៀតនឹងត្រូវបានប្រើដើម្បីបង្កើនជំនាញមនុស្ស និងរំដោះមនុស្សឱ្យមានភាពច្នៃប្រឌិត និងការស្រមើលស្រមៃដោយអនុញ្ញាតឱ្យពួកគេចំណាយពេលច្រើនលើយុទ្ធសាស្ត្រជាជាងកិច្ចការយុទ្ធសាស្ត្រ។
អាជីវកម្ម បុគ្គលិក និងអ្នកប្រើប្រាស់ទំនងជាទទួលបានអត្ថប្រយោជន៍ពីមុខងារ chatbot ដែលត្រូវបានកែលម្អ ដូចជាការណែនាំ និងការព្យាករណ៍លឿនជាងមុន ក៏ដូចជាការងាយស្រួលចូលទៅកាន់ការប្រជុំវីដេអូនិយមន័យខ្ពស់ពីការសន្ទនាមួយ នាពេលអនាគតដ៏ខ្លី នៅពេលដែល AI ត្រូវបានរួមបញ្ចូលជាមួយនឹងការអភិវឌ្ឍន៍នៃ បច្ចេកវិទ្យា 5G ។
លទ្ធភាពទាំងនេះ និងលទ្ធភាពផ្សេងទៀតកំពុងត្រូវបានស៊ើបអង្កេតនៅឡើយ ប៉ុន្តែដោយសារការតភ្ជាប់អ៊ីនធឺណិត AI, NLP និងដំណើរការសិក្សាម៉ាស៊ីន ពួកវានឹងកាន់តែរីករាលដាល។
ឈូវ
ជំរាបសួរ,
សូមអរគុណសម្រាប់កម្មវិធីនេះ។
ខ្ញុំមានសំណួរមួយ។
"bag_of_words" មិនត្រូវបានកំណត់ទេ។ ខ្ញុំមិនអាចយល់ពីកំហុសនេះទេ។
តើអ្នកអាចប្រាប់ខ្ញុំបានទេ តើខ្ញុំអាចដោះស្រាយកំហុសនេះដោយរបៀបណា??
អរគុណសម្រាប់កម្មវិធីនេះ!! សូមអោយមានថ្ងៃល្អ។
លោក Jay
សូមបន្ថែមមុខងារមួយ មុនពេលប្រើផ្នែក chatbot៖
///////////////////////////////////////////////// //////////////////////////////
def bag_of_words(s, ពាក្យ)៖
bag = [0 សម្រាប់ _ in range(len(words))]
s_words = nltk.word_tokenize(s)
s_words = [stemmer.stem(word.lower()) សម្រាប់ពាក្យក្នុង s_words]
សម្រាប់ se ក្នុង s_words:
សម្រាប់ i, w ក្នុង enumerate (ពាក្យ)៖
ប្រសិនបើ w == se:
កាបូប[i] = ១
ត្រឡប់ numpy.array(bag)
// វាពិតជានឹងដោះស្រាយបញ្ហារបស់អ្នក។ //
///////////////////////////////////////////////// ///////////////////////////
ខ្ញុំកំពុងចែករំលែកលេខកូដពេញលេញជាមួយអ្នក ដូច្នេះអ្នកនឹងទទួលបានរូបភាពច្បាស់លាស់របស់វា។
///////////////////////////////////////////////// //////////
nltk នាំចូល
ពី nltk.stem.lancaster នាំចូល LancasterStemmer
ដើម = LancasterStemmer()
នាំចូលលេខ
នាំចូល tflearn
នាំចូល tensorflow
នាំចូលចៃដន្យ
json នាំចូល
នាំចូល pickle
ជាមួយ open(“intents.json”) ជាឯកសារ៖
ទិន្នន័យ = json.load(ឯកសារ)
សាកល្បង៖
ជាមួយ open(“data.pickle”, “rb”) ជា f:
ពាក្យ ស្លាក ការបណ្តុះបណ្តាល លទ្ធផល = pickle.load(f)
លើកលែងតែ៖
ពាក្យ = []
ស្លាក = []
docs_x = []
docs_y = []
សម្រាប់ចេតនាក្នុងទិន្នន័យ [“ចេតនា”]៖
សម្រាប់លំនាំក្នុងចេតនា[“លំនាំ”]៖
wrds = nltk.word_tokenize(លំនាំ)
words.extend(wrds)
docs_x.append(wrds)
docs_y.append(ចេតនា[“tag”])
ប្រសិនបើចេតនា [“ស្លាក”] មិននៅក្នុងស្លាក៖
labels.append(ចេតនា[“tag”])
ពាក្យ = [stemmer.stem(w.lower()) សម្រាប់ w ក្នុងពាក្យប្រសិនបើ w != “?”]
ពាក្យ = តម្រៀប(បញ្ជី(សំណុំ(ពាក្យ)))
labels = តម្រៀប(ស្លាក)
ការបណ្តុះបណ្តាល = []
ទិន្នផល = []
out_empty = [0 សម្រាប់ _ in range(len(labels))]
សម្រាប់ x, doc ក្នុង enumerate(docs_x):
កាបូប = []
wrds = [stemmer.stem(w.lower()) សម្រាប់ w in doc]
សម្រាប់ w នៅក្នុងពាក្យ:
ប្រសិនបើ w នៅក្នុង wrds:
bag.append(1)
ផ្សេងទៀត:
bag.append(0)
output_row = out_empty[:]
output_row[labels.index(docs_y[x])] = 1
training.append(កាបូប)
output.append(output_row)
ការបណ្តុះបណ្តាល = numpy.array(ការបណ្តុះបណ្តាល)
លទ្ធផល = numpy.array(លទ្ធផល)
ជាមួយ open(“data.pickle”, “wb”) ជា f៖
pickle.dump((ពាក្យ ស្លាក ការបណ្តុះបណ្តាល លទ្ធផល) f)
tensorflow.reset_default_graph()
net = tflearn.input_data(shape=[គ្មាន, len(training[0])])
net = tflearn.fully_connected(សុទ្ធ, 8)
net = tflearn.fully_connected(សុទ្ធ, 8)
net = tflearn.fully_connected(net, len(output[0]), activation=”softmax”)
net = tflearn.regression(សុទ្ធ)
គំរូ = tflearn.DNN(សុទ្ធ)
សាកល្បង៖
model.load("model.tflearn")
លើកលែងតែ៖
model.fit(ការបណ្តុះបណ្តាល, លទ្ធផល, n_epoch=1500, batch_size=8, show_metric=ពិត)
model.save("model.tflearn")
def bag_of_words(s, ពាក្យ)៖
bag = [0 សម្រាប់ _ in range(len(words))]
s_words = nltk.word_tokenize(s)
s_words = [stemmer.stem(word.lower()) សម្រាប់ពាក្យក្នុង s_words]
សម្រាប់ se ក្នុង s_words:
សម្រាប់ i, w ក្នុង enumerate (ពាក្យ)៖
ប្រសិនបើ w == se:
កាបូប[i] = ១
ត្រឡប់ numpy.array(bag)
def ជជែក ():
បោះពុម្ព ("ចាប់ផ្តើមនិយាយជាមួយបូត (វាយពាក្យថាឈប់ដើម្បីបញ្ឈប់)!")
ខណៈពេលពិត៖
inp = បញ្ចូល("អ្នក:")
ប្រសិនបើ inp.lower() == "ចាកចេញ"៖
បំបែក
លទ្ធផល = model.predict([bag_of_words(inp, words)])
results_index = numpy.argmax(លទ្ធផល)
ស្លាក = ស្លាក[លទ្ធផល_លិបិក្រម]
សម្រាប់ tg ក្នុងទិន្នន័យ [“ចេតនា”]៖
ប្រសិនបើ tg['tag'] == ស្លាក:
ការឆ្លើយតប = tg ['ការឆ្លើយតប']
print(random.choice(ឆ្លើយតប))
ជជែក()
///////////////////////////////////////////////// ////////////////
អរគុណ,
រីករាយកូដ
Lu
ជំរាបសួរ,
តើអ្នកអាចផ្តល់ឱ្យខ្ញុំនូវគំនិតនៃដំណើរការដើម្បីអនុវត្តក្នុងករណីដែលចង់បង្កើត chatbot នៅក្នុង python ប៉ុន្តែព័ត៌មានត្រូវបានទទួលបានពីការស្ទង់មតិនៅក្នុង excel ។ សូមអរគុណ!