ສາລະບານ[ເຊື່ອງ][ສະແດງ]
ການໂທດ້ວຍສຽງກຳລັງຖືກຕັດອອກເປັນໄລຍະທີ່ເໝາະສົມກັບຂໍ້ຄວາມ ແລະພາບໃນຂະແຫນງການສື່ສານ. ອີງຕາມການສໍາຫຼວດເຟສບຸກ, ຫຼາຍກວ່າເຄິ່ງຫນຶ່ງຂອງຜູ້ຊື້ມັກຊື້ຈາກບໍລິສັດທີ່ພວກເຂົາສາມາດເວົ້າກັບ. ການສົນທະນາໄດ້ກາຍເປັນຮູບແບບການສື່ສານທີ່ຍອມຮັບໃນສັງຄົມໃຫມ່.
ມັນຊ່ວຍໃຫ້ທຸລະກິດສາມາດສື່ສານກັບລູກຄ້າຂອງພວກເຂົາໄດ້ທຸກເວລາແລະຈາກສະຖານທີ່ໃດກໍ່ຕາມ. Chatbots ກໍາລັງໄດ້ຮັບຄວາມນິຍົມເພີ່ມຂຶ້ນໃນບັນດາບໍລິສັດແລະລູກຄ້າເນື່ອງຈາກຄວາມສະດວກໃນການນໍາໃຊ້ແລະເວລາລໍຖ້າຫຼຸດລົງ.
Chatbots, ຫຼືໂຄງການສົນທະນາແບບອັດຕະໂນມັດ, ໃຫ້ລູກຄ້າມີວິທີການທີ່ກໍາຫນົດເອງຫຼາຍຂຶ້ນເພື່ອເຂົ້າເຖິງການບໍລິການໂດຍຜ່ານການໂຕ້ຕອບຂໍ້ຄວາມ. chatbots ທີ່ຂັບເຄື່ອນດ້ວຍ AI ຫລ້າສຸດສາມາດຮັບຮູ້ຄໍາຖາມ (ຄໍາຖາມ, ຄໍາສັ່ງ, ຄໍາສັ່ງ, ແລະອື່ນໆ) ທີ່ເຮັດໂດຍບຸກຄົນ (ຫຼື bot ອື່ນ, inception) ໃນສະພາບແວດລ້ອມສະເພາະໃດຫນຶ່ງແລະຕອບສະຫນອງທີ່ເຫມາະສົມ (ຄໍາຕອບ, ການປະຕິບັດ, ແລະອື່ນໆ).
ໃນບົດຂຽນນີ້, ພວກເຮົາຈະພິຈາລະນາວ່າ chatbots ແມ່ນຫຍັງ, ຜົນປະໂຫຍດຂອງມັນ, ກໍລະນີທີ່ໃຊ້, ແລະວິທີການສ້າງຂອງທ່ານເອງ. ການຮຽນຮູ້ລຶກລັບ chatbot ໃນ Python, ໃນບັນດາສິ່ງອື່ນໆ.
ໃຫ້ເລີ່ມຕົ້ນ.
ດັ່ງນັ້ນ, chatbots ແມ່ນຫຍັງ?
chatbot ໄດ້ຖືກກ່າວເຖິງເລື້ອຍໆວ່າເປັນຫນຶ່ງໃນຮູບແບບທີ່ກ້າວຫນ້າແລະດີທີ່ສຸດຂອງການໂຕ້ຕອບຂອງມະນຸດກັບເຄື່ອງຈັກ. ຜູ້ຊ່ວຍດິຈິຕອນເຫຼົ່ານີ້ປັບປຸງປະສົບການຂອງລູກຄ້າໂດຍການເພີ່ມປະສິດທິພາບການພົວພັນລະຫວ່າງຄົນແລະການບໍລິການ.
ໃນເວລາດຽວກັນ, ພວກເຂົາສະຫນອງທຸລະກິດທີ່ມີທາງເລືອກໃຫມ່ເພື່ອເພີ່ມປະສິດທິພາບຂະບວນການຕິດຕໍ່ລູກຄ້າເພື່ອປະສິດທິພາບ, ເຊິ່ງສາມາດຕັດຄ່າໃຊ້ຈ່າຍສະຫນັບສະຫນູນແບບດັ້ງເດີມ.
ສະຫຼຸບແລ້ວ, ມັນແມ່ນຊອບແວທີ່ໃຊ້ AI ທີ່ມີຈຸດປະສົງເພື່ອຕິດຕໍ່ສື່ສານກັບມະນຸດໃນພາສາທໍາມະຊາດຂອງພວກເຂົາ. chatbots ເຫຼົ່ານີ້ມັກຈະໂຕ້ຕອບຜ່ານເຕັກນິກສຽງຫຼືລາຍລັກອັກສອນ, ແລະພວກເຂົາສາມາດ mimic ພາສາຂອງມະນຸດໄດ້ຢ່າງງ່າຍດາຍເພື່ອເຊື່ອມຕໍ່ກັບມະນຸດໃນລັກສະນະຄ້າຍຄືມະນຸດ.
Chatbots ຮຽນຮູ້ຈາກການໂຕ້ຕອບຂອງພວກເຂົາກັບຜູ້ໃຊ້, ກາຍເປັນຈິງແລະມີປະສິດທິພາບຫຼາຍຂຶ້ນໃນໄລຍະເວລາ. ພວກເຂົາສາມາດຈັດການກິດຈະກໍາທາງທຸລະກິດທີ່ກວ້າງຂວາງ, ເຊັ່ນການອະນຸຍາດການໃຊ້ຈ່າຍ, ການພົວພັນກັບຜູ້ບໍລິໂພກອອນໄລນ໌, ແລະການສ້າງຜູ້ນໍາ.
ການສ້າງ chatbot ການຮຽນຮູ້ເລິກເຊິ່ງຂອງທ່ານເອງກັບ python
ມີຫຼາຍປະເພດທີ່ແຕກຕ່າງກັນຂອງ chatbots ໃນພາກສະຫນາມຂອງ ການຮຽນຮູ້ເຄື່ອງຈັກ ແລະ AI. ບາງ chatbots ແມ່ນຜູ້ຊ່ວຍ virtual, ໃນຂະນະທີ່ຄົນອື່ນພຽງແຕ່ຢູ່ທີ່ນັ້ນເພື່ອສົນທະນາກັບ, ໃນຂະນະທີ່ຄົນອື່ນແມ່ນຕົວແທນບໍລິການລູກຄ້າ.
ທ່ານອາດຈະເຄີຍເຫັນບາງບໍລິສັດທີ່ຈ້າງງານໂດຍທຸລະກິດເພື່ອຕອບຄໍາຖາມ. ພວກເຮົາຈະສ້າງ chatbot ຂະຫນາດນ້ອຍໃນບົດສອນນີ້ເພື່ອຕອບຄໍາຖາມທີ່ຖືກຮ້ອງຂໍເລື້ອຍໆ.
1. ການຕິດຕັ້ງແພັກເກດ
ຂັ້ນຕອນທໍາອິດຂອງພວກເຮົາແມ່ນການຕິດຕັ້ງຊຸດຕໍ່ໄປນີ້.
2. ຂໍ້ມູນການຝຶກອົບຮົມ
ໃນປັດຈຸບັນມັນເຖິງເວລາທີ່ຈະຄິດອອກວ່າຂໍ້ມູນປະເພດໃດທີ່ພວກເຮົາຕ້ອງການໃຫ້ chatbot ຂອງພວກເຮົາ. ພວກເຮົາບໍ່ຈໍາເປັນຕ້ອງດາວໂຫລດຊຸດຂໍ້ມູນຂະຫນາດໃຫຍ່ໃດໆເພາະວ່ານີ້ແມ່ນ chatbot ງ່າຍໆ.
ພວກເຮົາຈະນໍາໃຊ້ພຽງແຕ່ຂໍ້ມູນທີ່ພວກເຮົາໄດ້ສ້າງຂື້ນເອງ. ເພື່ອປະຕິບັດຕາມບົດຮຽນຢ່າງມີປະສິດທິພາບ, ທ່ານຈະຕ້ອງສ້າງໄຟລ໌ .JSON ທີ່ມີຮູບແບບດຽວກັນກັບອັນທີ່ເຫັນຂ້າງລຸ່ມນີ້. ໄຟລ໌ຂອງຂ້ອຍມີຊື່ວ່າ "intents.json."
ໄຟລ໌ JSON ຖືກນໍາໃຊ້ເພື່ອສ້າງຊຸດຂອງຂໍ້ຄວາມທີ່ຜູ້ໃຊ້ມີແນວໂນ້ມທີ່ຈະປ້ອນແລະແຜນທີ່ໄປຫາຊຸດຄໍາຕອບທີ່ກ່ຽວຂ້ອງ. ແຕ່ລະວັດຈະນານຸກົມໃນໄຟລ໌ມີແທັກທີ່ລະບຸວ່າແຕ່ລະຂໍ້ຄວາມເປັນຂອງກຸ່ມໃດ.
ພວກເຮົາຈະນໍາໃຊ້ຂໍ້ມູນນີ້ເພື່ອຝຶກອົບຮົມ a ເຄືອຂ່າຍ neural ເພື່ອຈັດປະເພດປະໂຫຍກຂອງຄໍາສັບເປັນຫນຶ່ງໃນ tags ໃນໄຟລ໌ຂອງພວກເຮົາ.
ຫຼັງຈາກນັ້ນພວກເຮົາສາມາດເອົາຄໍາຕອບຈາກກຸ່ມເຫຼົ່ານັ້ນແລະສະຫນອງມັນໃຫ້ກັບຜູ້ໃຊ້. chatbot ຈະດີກວ່າແລະສັບສົນຫຼາຍຖ້າທ່ານສະເຫນີໃຫ້ມີແທັກ, ຄໍາຕອບແລະຮູບແບບເພີ່ມເຕີມ.
3. ການໂຫຼດຂໍ້ມູນ JSON
ພວກເຮົາຈະເລີ່ມຕົ້ນໂດຍການໂຫລດຂໍ້ມູນ .json ຂອງພວກເຮົາ ແລະນໍາເຂົ້າບາງໂມດູນ. ປະກອບໄຟລ໌ your.json ໃນໄດເລກະທໍລີດຽວກັນກັບຂອງທ່ານ ສະຄຣິບ Python. ຂໍ້ມູນ .json ຂອງພວກເຮົາຕອນນີ້ຈະຖືກບັນທຶກໄວ້ໃນຕົວແປຂໍ້ມູນ.
4. ການສະກັດເອົາຂໍ້ມູນ
ໃນປັດຈຸບັນມັນເຖິງເວລາທີ່ຈະສະກັດຂໍ້ມູນທີ່ພວກເຮົາຕ້ອງການຈາກໄຟລ໌ JSON ຂອງພວກເຮົາ. ຮູບແບບທັງໝົດ, ເຊັ່ນດຽວກັນກັບຫ້ອງຮຽນ/ແທັກທີ່ເຂົາເຈົ້າຂຶ້ນກັບ, ແມ່ນຕ້ອງການ.
ພວກເຮົາຍັງຕ້ອງການບັນຊີລາຍຊື່ຂອງຂໍ້ກໍານົດທີ່ບໍ່ຊ້ໍາກັນຢູ່ໃນຮູບແບບຂອງພວກເຮົາ (ສໍາລັບເຫດຜົນທີ່ພວກເຮົາຈະອະທິບາຍໃນພາຍຫລັງ), ດັ່ງນັ້ນໃຫ້ພວກເຮົາສ້າງບາງລາຍການຫວ່າງເປົ່າເພື່ອຕິດຕາມມູນຄ່າເຫຼົ່ານີ້.
ຕອນນີ້ພວກເຮົາຈະຕິດຕາມຂໍ້ມູນ JSON ຂອງພວກເຮົາແລະດຶງຂໍ້ມູນທີ່ພວກເຮົາຕ້ອງການ. ແທນທີ່ຈະມີພວກມັນເປັນສະຕຣິງ, ພວກເຮົາຈະໃຊ້ nltk.word tokenizer ເພື່ອປ່ຽນແຕ່ລະຮູບແບບເປັນລາຍການຄໍາ.
ຈາກນັ້ນ, ໃນລາຍການ docs_x ຂອງພວກເຮົາ, ພວກເຮົາຈະເພີ່ມແຕ່ລະຮູບແບບ, ພ້ອມກັບແທັກທີ່ກ່ຽວຂ້ອງຂອງມັນ, ໃສ່ລາຍການ docs_y.
5. ການຕົ້ມຄຳ
ຊອກຫາຮາກຂອງຄໍາສັບໃດຫນຶ່ງແມ່ນເອີ້ນວ່າ stemming. ສໍາລັບຕົວຢ່າງ, ລໍາຕົ້ນຂອງຄໍາວ່າ "ນັ້ນ" ລໍາອາດຈະເປັນ "ນັ້ນ", ໃນຂະນະທີ່ລໍາຕົ້ນຂອງຄໍາວ່າ "ເກີດຂຶ້ນ" ສາມາດ "ເກີດຂຶ້ນ."
ພວກເຮົາຈະໃຊ້ເຕັກນິກການຕັ້ງຕົ້ນນີ້ເພື່ອຕັດຄຳສັບຂອງຕົວແບບຂອງພວກເຮົາລົງ ແລະພະຍາຍາມຊອກຫາວ່າປະໂຫຍກໃດໝາຍເຖິງໂດຍທົ່ວໄປ. ລະຫັດນີ້ພຽງແຕ່ຈະສ້າງບັນຊີລາຍຊື່ທີ່ເປັນເອກະລັກຂອງຄໍາທີ່ໃຊ້ໃນຂັ້ນຕອນຕໍ່ໄປຂອງການກະກຽມຂໍ້ມູນຂອງພວກເຮົາ.
6. ຖົງຄໍາ
ມັນເຖິງເວລາທີ່ຈະເວົ້າກ່ຽວກັບຖົງຄໍາທີ່ພວກເຮົາໄດ້ນໍາເຂົ້າຂໍ້ມູນຂອງພວກເຮົາແລະສ້າງຄໍາທີ່ໃຊ້ໃນຄໍາສັບຕ່າງໆ. ເຄືອຂ່າຍ Neural ແລະລະບົບການຮຽນຮູ້ເຄື່ອງຈັກ, ດັ່ງທີ່ພວກເຮົາທຸກຄົນຮູ້, ຕ້ອງການການປ້ອນຂໍ້ມູນຕົວເລກ. ດັ່ງນັ້ນບັນຊີລາຍຊື່ສະຕຣິງຂອງພວກເຮົາຈະບໍ່ຕັດມັນ. ພວກເຮົາຕ້ອງການກົນໄກເພື່ອສະແດງຕົວເລກໃນປະໂຫຍກຂອງພວກເຮົາ, ເຊິ່ງເປັນບ່ອນທີ່ຖົງຄໍາເຂົ້າມາ.
ແຕ່ລະປະໂຫຍກຈະຖືກສະແດງໂດຍບັນຊີລາຍຊື່ຂອງຄວາມຍາວຂອງຈໍານວນຄໍາສັບໃນຄໍາສັບຂອງຕົວແບບຂອງພວກເຮົາ. ແຕ່ລະຄໍາໃນຄໍາສັບຂອງພວກເຮົາຈະຖືກສະແດງໂດຍສະຖານທີ່ໃນບັນຊີລາຍຊື່. ຖ້າຕໍາແຫນ່ງໃນບັນຊີລາຍຊື່ແມ່ນ 1, ຄໍາປາກົດຢູ່ໃນຄໍາຖະແຫຼງຂອງພວກເຮົາ; ຖ້າມັນເປັນ 0, ຄໍາບໍ່ປາກົດຢູ່ໃນປະໂຫຍກຂອງພວກເຮົາ.
ພວກເຮົາເອີ້ນມັນວ່າຖົງຂອງຄໍາສັບຕ່າງໆເພາະວ່າພວກເຮົາບໍ່ຮູ້ລໍາດັບທີ່ຄໍາທີ່ປາກົດຢູ່ໃນປະໂຫຍກ; ທັງຫມົດທີ່ພວກເຮົາຮູ້ແມ່ນວ່າພວກມັນມີຢູ່ໃນຄໍາສັບຂອງຕົວແບບຂອງພວກເຮົາ.
ນອກເຫນືອຈາກໂຄງສ້າງວັດສະດຸປ້ອນຂອງພວກເຮົາ, ພວກເຮົາຍັງຕ້ອງຈັດຮູບແບບຜົນຜະລິດຂອງພວກເຮົາເພື່ອໃຫ້ເຄືອຂ່າຍ neural ເຂົ້າໃຈມັນ. ພວກເຮົາຈະສ້າງລາຍການຜົນຜະລິດທີ່ມີຄວາມຍາວຂອງຈໍານວນປ້າຍຊື່ / ແທັກໃນຊຸດຂໍ້ມູນຂອງພວກເຮົາ, ຄ້າຍຄືກັບຖົງຄໍາ. ແຕ່ລະສະຖານທີ່ຢູ່ໃນບັນຊີລາຍຊື່ເປັນຕົວແທນຂອງປ້າຍຊື່ / ປ້າຍຊື່ທີ່ເປັນເອກະລັກ, ແລະ 1 ໃນສະຖານທີ່ໃດນຶ່ງທີ່ຊີ້ບອກວ່າປ້າຍຊື່ / ແທັກໃດຖືກສະແດງ.
ສຸດທ້າຍ, ພວກເຮົາຈະໃຊ້ NumPy arrays ເພື່ອເກັບຂໍ້ມູນການຝຶກອົບຮົມ ແລະຜົນຜະລິດຂອງພວກເຮົາ.
7. ການພັດທະນາຕົວແບບ
ພວກເຮົາພ້ອມທີ່ຈະເລີ່ມສ້າງ ແລະຝຶກອົບຮົມແບບຈໍາລອງໃນຕອນນີ້ທີ່ພວກເຮົາໄດ້ປະມວນຜົນຂໍ້ມູນທັງໝົດຂອງພວກເຮົາແລ້ວ. ພວກເຮົາຈະນໍາໃຊ້ເຄືອຂ່າຍ neural feed-forward ພື້ນຖານທີ່ມີສອງຊັ້ນທີ່ເຊື່ອງໄວ້ສໍາລັບຈຸດປະສົງຂອງພວກເຮົາ.
ຈຸດປະສົງຂອງເຄືອຂ່າຍຂອງພວກເຮົາແມ່ນເພື່ອເບິ່ງການລວບລວມຄໍາສັບຕ່າງໆແລະມອບໃຫ້ພວກເຂົາຢູ່ໃນຫ້ອງຮຽນ (ຫນຶ່ງໃນແທັກຂອງພວກເຮົາຈາກໄຟລ໌ JSON). ພວກເຮົາຈະເລີ່ມຕົ້ນໂດຍການສ້າງຕັ້ງສະຖາປັດຕະຍະກໍາຂອງຕົວແບບຂອງພວກເຮົາ. ຈົ່ງຈື່ໄວ້ວ່າທ່ານສາມາດຫຼິ້ນກັບຕົວເລກຈໍານວນຫນຶ່ງເພື່ອມາກັບຕົວແບບທີ່ດີກວ່າ! ການຮຽນຮູ້ເຄື່ອງຈັກ ສ່ວນຫຼາຍແມ່ນອີງໃສ່ການທົດລອງແລະຄວາມຜິດພາດ.
8. ການຝຶກອົບຮົມແບບຈໍາລອງ & ການປະຫຍັດ
ມັນເຖິງເວລາທີ່ຈະຝຶກອົບຮົມແບບຈໍາລອງຂອງພວກເຮົາກ່ຽວກັບຂໍ້ມູນຂອງພວກເຮົາໃນປັດຈຸບັນທີ່ພວກເຮົາໄດ້ຕັ້ງຄ່າມັນ! ພວກເຮົາຈະບັນລຸໄດ້ໂດຍການປັບຂໍ້ມູນຂອງພວກເຮົາໃຫ້ເຫມາະສົມກັບຕົວແບບ. ຈໍານວນເວລາທີ່ພວກເຮົາໃຫ້ແມ່ນຈໍານວນເວລາທີ່ຕົວແບບຈະເປີດເຜີຍຂໍ້ມູນດຽວກັນໃນລະຫວ່າງການຝຶກອົບຮົມ.
ພວກເຮົາສາມາດບັນທຶກແບບຈໍາລອງກັບຮູບແບບໄຟລ໌ເມື່ອພວກເຮົາສໍາເລັດການຝຶກອົບຮົມມັນ. tflearn ແມ່ນສະຄຣິບທີ່ສາມາດໃຊ້ໃນສະຄຣິບອື່ນໄດ້.
9. ການນໍາໃຊ້ chatbot
ຕອນນີ້ທ່ານສາມາດເລີ່ມສົນທະນາກັບ bot ຂອງທ່ານໄດ້.
ຜົນປະໂຫຍດຂອງ Chatbot
- ໃນຖານະເປັນ bots ຄາດວ່າຈະດໍາເນີນການ 365 ມື້ຕໍ່ປີ, 24 ຊົ່ວໂມງຕໍ່ມື້, ໂດຍບໍ່ມີການຈ່າຍ, ເພີ່ມຄວາມພ້ອມແລະຄວາມໄວຕິກິຣິຍາ.
- bots ເຫຼົ່ານີ້ແມ່ນເຄື່ອງມືທີ່ສົມບູນແບບສໍາລັບການຈັດການກັບຂໍ້ມູນໃຫຍ່ສາມ Vs: ປະລິມານ, ຄວາມໄວ, ແລະຄວາມຫລາກຫລາຍ.
- Chatbots ແມ່ນຊອບແວທີ່ສາມາດໃຊ້ເພື່ອຮຽນຮູ້ ແລະເຂົ້າໃຈຜູ້ບໍລິໂພກຂອງບໍລິສັດ.
- ມັນມີພະລັງງານທີ່ເຫນືອກວ່າທີ່ມັນມີຄ່າໃຊ້ຈ່າຍໃນການບໍາລຸງຮັກສາລາຄາຖືກຫຼັງຈາກໄດ້ຮັບຜົນປະໂຫຍດສູງສຸດ.
- ຄໍາຮ້ອງສະຫມັກ Chatbot ສ້າງຂໍ້ມູນທີ່ອາດຈະຖືກເກັບຮັກສາໄວ້ແລະນໍາໃຊ້ສໍາລັບການວິເຄາະແລະການຄາດຄະເນ.
ກໍລະນີທີ່ໃຊ້
- ການແກ້ໄຂຄໍາຖາມຂອງລູກຄ້າ
- ການຕອບຄໍາຖາມທີ່ມັກຖາມເລື້ອຍໆ
- ການມອບຫມາຍໃຫ້ລູກຄ້າສະຫນັບສະຫນູນທີມງານ
- ເກັບກໍາຂໍ້ຄິດເຫັນຂອງລູກຄ້າ
- ແນະນຳຂໍ້ສະເໜີໃໝ່
- ຊື້ເຄື່ອງທີ່ມີການສົນທະນາ
- ໄອທີ Helpdesk
- ການຈອງທີ່ພັກ
- ໂອນເງິນ
ສະຫຼຸບ
Chatbots, ເຊັ່ນດຽວກັບເຕັກໂນໂລຢີ AI ອື່ນໆ, ຈະຖືກໃຊ້ເພື່ອເພີ່ມຄວາມສາມາດຂອງມະນຸດແລະປົດປ່ອຍມະນຸດໃຫ້ມີຄວາມຄິດສ້າງສັນແລະຈິນຕະນາການຫຼາຍຂຶ້ນໂດຍໃຫ້ພວກເຂົາໃຊ້ເວລາຫຼາຍຂື້ນກັບວຽກງານຍຸດທະສາດແທນທີ່ຈະເປັນວຽກງານຍຸດທະວິທີ.
ທຸລະກິດ, ພະນັກງານ, ແລະຜູ້ບໍລິໂພກມີແນວໂນ້ມທີ່ຈະໄດ້ຮັບຜົນປະໂຫຍດຈາກຄຸນສົມບັດ chatbot ທີ່ປັບປຸງເຊັ່ນຄໍາແນະນໍາແລະການຄາດຄະເນໄວ, ເຊັ່ນດຽວກັນກັບການເຂົ້າເຖິງການປະຊຸມວິດີໂອທີ່ມີຄວາມຄົມຊັດສູງຈາກພາຍໃນການສົນທະນາ, ໃນອະນາຄົດອັນໃກ້ນີ້, ເມື່ອ AI ປະສົມປະສານກັບການພັດທະນາຂອງ ເຕັກໂນໂລຊີ 5G.
ຄວາມເປັນໄປໄດ້ເຫຼົ່ານີ້ແລະສິ່ງອື່ນໆແມ່ນຍັງຖືກສືບສວນ, ແຕ່ຍ້ອນວ່າການເຊື່ອມຕໍ່ອິນເຕີເນັດ, AI, NLP, ແລະການຮຽນຮູ້ເຄື່ອງຈັກມີຄວາມຄືບຫນ້າ, ພວກມັນຈະກາຍເປັນທີ່ແຜ່ຫຼາຍ.
ຈົວ
ສະບາຍດີ,
ຂໍຂອບໃຈທ່ານສໍາລັບໂຄງການນີ້.
ຂ້ອຍມີຄໍາຖາມ.
"bag_of_words" ບໍ່ໄດ້ຖືກກໍານົດ. ຂ້ອຍບໍ່ເຂົ້າໃຈຂໍ້ຜິດພາດນີ້.
ເຈົ້າສາມາດບອກຂ້ອຍໄດ້ແນວໃດວ່າຂ້ອຍຈະແກ້ໄຂຂໍ້ຜິດພາດນີ້ໄດ້ແນວໃດ ??
ຂໍຂອບໃຈທ່ານສໍາລັບໂຄງການນີ້ !! ມີມື້ທີ່ດີ
Jay
ກະລຸນາເພີ່ມຟັງຊັນກ່ອນທີ່ຈະໃຊ້ພາກສ່ວນ chatbot:
///////////////////////////////////////////////// //////////////////////////////
def bag_of_words(s, ຄໍາ):
bag = [0 for _ in range(len(words))]
s_words = nltk.word_tokenize(s)
s_words = [stemmer.stem(word.lower()) ສໍາລັບຄໍາສັບໃນ s_words]
ສໍາລັບ se ໃນ s_words:
ສໍາລັບຂ້າພະເຈົ້າ, w ໃນ enumerate (ຄໍາສັບຕ່າງໆ):
ຖ້າ w == se:
ຖົງ[i] = 1
ກັບຄືນ numpy.array(bag)
// ມັນແນ່ນອນຈະແກ້ໄຂບັນຫາຂອງເຈົ້າ. //
//////////////////////////////////////////// /////// / //// // / //////////////////////////////////
ຂ້ອຍກໍາລັງແບ່ງປັນລະຫັດຄົບຖ້ວນກັບທ່ານ, ດັ່ງນັ້ນທ່ານຈະໄດ້ຮັບຮູບພາບທີ່ຊັດເຈນ.
///////////////////////////////////////////////// /////////
nltk ນຳ ເຂົ້າ
ຈາກ nltk.stem.lancaster ນໍາເຂົ້າ LancasterStemmer
stemmer = LancasterStemmer()
ນໍາເຂົ້າຕົວເລກ
ນໍາເຂົ້າ tflearn
ນໍາເຂົ້າ tensorflow
ນຳ ເຂົ້າແບບສຸ່ມ
json ການ ນຳ ເຂົ້າ
ນຳ ເຂົ້າດອງ
ດ້ວຍ open(“intents.json”) ເປັນໄຟລ໌:
data = json.load(file)
ລອງ:
ດ້ວຍ open(“data.pickle”, “rb”) ເປັນ f:
ຄໍາ, ປ້າຍ, ການຝຶກອົບຮົມ, ຜົນຜະລິດ = pickle.load(f)
ຍົກເວັ້ນ:
ຄໍາ = []
ປ້າຍກຳກັບ = []
docs_x = []
docs_y = []
ສໍາລັບຄວາມຕັ້ງໃຈໃນຂໍ້ມູນ[“ເຈດຕະນາ”]:
ສໍາລັບຮູບແບບໃນຄວາມຕັ້ງໃຈ [“patterns”]:
wrds = nltk.word_tokenize(ຮູບແບບ)
words.extend(wrds)
docs_x.append(wrds)
docs_y.append(intent[“tag”])
ຖ້າເຈດຕະນາ [“ແທັກ”] ບໍ່ຢູ່ໃນປ້າຍກຳກັບ:
labels.append(intent[“tag”])
ຄໍາ = [stemmer.stem(w.lower()) ສໍາລັບ w ໃນຄໍາສັບຕ່າງໆຖ້າ w != “?”]
words = sorted(list(set(words)))
labels = sorted(ປ້າຍກຳກັບ)
ການຝຶກອົບຮົມ = []
ຜົນຜະລິດ = []
out_empty = [0 ສໍາລັບ _ in range(len(labels))]
ສໍາລັບ x, doc ໃນ enumerate(docs_x):
ຖົງ = []
wrds = [stemmer.stem(w.lower()) ສໍາລັບ w ໃນ 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)
training = numpy.array(ການຝຶກອົບຮົມ)
output = numpy.array(ອອກ)
ດ້ວຍ open(“data.pickle”, “wb”) ເປັນ f:
pickle.dump((ຄຳສັບ,ປ້າຍກຳກັບ,ການຝຶກອົບຮົມ,ຜົນຜະລິດ),f)
tensorflow.reset_default_graph()
net = tflearn.input_data(shape=[ບໍ່ມີ, len(ການຝຶກອົບຮົມ[0])])
net = tflearn.fully_connected(ສຸດທິ, 8)
net = tflearn.fully_connected(ສຸດທິ, 8)
net = tflearn.fully_connected(net, len(output[0]), activation=”softmax”)
net = tflearn.regression(ສຸດທິ)
model = tflearn.DNN(ສຸດທິ)
ລອງ:
model.load(“model.tflearn”)
ຍົກເວັ້ນ:
model.fit(ການຝຶກອົບຮົມ, ຜົນຜະລິດ, n_epoch=1500, batch_size=8, show_metric=True)
model.save(“model.tflearn”)
def bag_of_words(s, ຄໍາ):
bag = [0 for _ in range(len(words))]
s_words = nltk.word_tokenize(s)
s_words = [stemmer.stem(word.lower()) ສໍາລັບຄໍາສັບໃນ s_words]
ສໍາລັບ se ໃນ s_words:
ສໍາລັບຂ້າພະເຈົ້າ, w ໃນ enumerate (ຄໍາສັບຕ່າງໆ):
ຖ້າ w == se:
ຖົງ[i] = 1
ກັບຄືນ numpy.array(bag)
def ສົນທະນາ():
ພິມ ("ເລີ່ມເວົ້າກັບ bot (ພິມອອກເພື່ອຢຸດ)!")
ໃນຂະນະທີ່ຖືກຕ້ອງ:
inp = input("ເຈົ້າ:")
ຖ້າ inp.lower() == “ອອກ”:
ພັກຜ່ອນ
ຜົນໄດ້ຮັບ = model.predict([bag_of_words(inp, words)])
results_index = numpy.argmax(ຜົນໄດ້ຮັບ)
tag = labels[results_index]
ສໍາລັບ tg ໃນຂໍ້ມູນ[“ຄວາມຕັ້ງໃຈ”]:
ຖ້າ tg['tag'] == tag:
ຄໍາຕອບ = tg['ຄໍາຕອບ']
ພິມ(random.choice(ຕອບ))
ສົນທະນາ()
///////////////////////////////////////////////// ////////////////
ຂອບໃຈ,
ຍິນດີໃສ່ລະຫັດ!
Lu
ສະບາຍດີ,
ເຈົ້າສາມາດໃຫ້ຂ້ອຍຄິດເຖິງຂະບວນການທີ່ຈະປະຕິບັດໃນກໍລະນີທີ່ຕ້ອງການສ້າງ chatbot ໃນ python, ແຕ່ຂໍ້ມູນແມ່ນໄດ້ມາຈາກການສໍາຫຼວດໃນ excel. ຂອບໃຈ!