ຮຽນເວົ້າກ່ຽວກັບເຫລົ້າກັບ Javascript

ເຫລົ້າແມ່ນພາກສ່ວນໃຫຍ່ຂອງຊີວິດຂ້ອຍ. ຄອບຄົວຂອງຂ້ອຍເປັນເຈົ້າຂອງຫວຍທີ່ມີມາເປັນເວລາຫຼາຍກວ່າ 170 ປີ. ລາຍໄດ້ຕົ້ນຕໍຂອງຂ້ອຍແມ່ນມາຈາກທຸລະກິດເຫລົ້າ. ເຈົ້າສາມາດເວົ້າໄດ້ວ່າເຫລົ້າໄຫລວຽນຢູ່ໃນເສັ້ນເລືອດຂອງຂ້ອຍ. ສະນັ້ນເມື່ອຂ້ອຍຊອກຫາຊຸດຂໍ້ມູນທີ່ ໜ້າ ສົນໃຈເພື່ອສະແດງວິທະຍາສາດຂໍ້ມູນໂດຍໃຊ້ JavaScript ແລະມາເບິ່ງຊຸດຂໍ້ມູນຈາກວາລະສານເຫລົ້າ, ຂ້ອຍຕິດຢູ່ກັບມັນ.

ເປົ້າ ໝາຍ ຂອງຂ້ອຍໃນຂໍ້ຄວາມເຫລົ່ານີ້ແມ່ນເພື່ອສະແດງການ ນຳ ໃຊ້ Javascript ສຳ ລັບວິທະຍາສາດຂໍ້ມູນ. ໃນບົດຂຽນທີ່ຜ່ານມາຂອງຂ້ອຍ, ຂ້ອຍໄດ້ສະແດງວິທີການໃຊ້ປື້ມບັນທຶກ Jupyter ໃນ Javascript, ສ້າງສາຍຕາແລະວິເຄາະຂໍ້ມູນ. ໃນບົດຂຽນນີ້, ຂ້າພະເຈົ້າຈະສຸມໃສ່ການວິເຄາະຂໍ້ຄວາມແລະພະຍາຍາມເຂົ້າໃຈ ຄຳ ສັບໃດທີ່ໃຊ້ໃນການພັນລະນາເຫລົ້າໂດຍທົ່ວໄປແລະບາງຊະນິດໂດຍສະເພາະ. ການສອນແມ່ນແນໃສ່ນັກຂຽນໂປແກຼມ Javascript ໂດຍບໍ່ມີຄວາມຮູ້ກ່ຽວກັບວິທະຍາສາດຂໍ້ມູນ. ຂ້ອຍອີງໃສ່ໂມດູນ dstools NPM ສຳ ລັບຈັດການກັບຂໍ້ມູນແລະປື້ມບັນທຶກ Jupyter ສຳ ລັບການໂຕ້ຕອບແລະການເບິ່ງເຫັນ. ເຖິງຢ່າງໃດກໍ່ຕາມ, ມັນກໍ່ເປັນໄປໄດ້ທີ່ຈະໃຊ້ລະຫັດໃນແຟ້ມ javascript ງ່າຍໆຫຼືພຽງແຕ່ REPL. ສຳ ລັບຂໍ້ມູນເພີ່ມເຕີມກ່ຽວກັບການ ນຳ ໃຊ້ປື້ມບັນທຶກ Jupyter ແລະຊຸດ dstools, ເບິ່ງບົດຂຽນກ່ອນ ໜ້າ ຂອງຂ້ອຍ. ປື້ມບັນທຶກທີ່ຂ້ອຍເຄີຍໃຊ້ ສຳ ລັບໂພດນີ້ແມ່ນຢູ່ໃນ Github.

ບັນທຶກການທົບທວນເຫລົ້າ

Kaggle ແມ່ນສະຖານທີ່ທີ່ດີທີ່ຈະຊອກຫາແລະວິເຄາະບັນທຶກທີ່ ໜ້າ ສົນໃຈ. ຖ້າທ່ານສົນໃຈກ່ຽວກັບວິທະຍາສາດຂໍ້ມູນ, ທ່ານຄວນເບິ່ງທີ່ເວັບໄຊທ໌້ຢ່າງໃກ້ຊິດ. ບັນທຶກເຫລົ້າທີ່ເຮັດການທົບທວນເຫລົ້າແມ່ນຊຸດຂອງການທົບທວນເຫລົ້າທີ່ຂຽນໂດຍ Wine Enthusiast, ໜຶ່ງ ໃນວາລະສານເຫລົ້າທີ່ເຮັດ ນຳ. ຂໍ້ມູນປະກອບດ້ວຍຫລາຍໆເອກະສານ. ພວກເຮົາຈະໃຊ້ແຟ້ມ winemag-data-130k-v2.csv. ທ່ານສາມາດດາວໂຫລດໄດ້ທີ່ນີ້.

ໂຫລດຂໍ້ມູນ

ໃນບົດແນະ ນຳ ນີ້ພວກເຮົາຈະ ນຳ ໃຊ້ຊຸດ dstools ທີ່ຂ້ອຍພັດທະນາຂື້ນມາເພື່ອຊ່ວຍໃນການຈັດການແລະວິເຄາະຂໍ້ມູນ. ຊຸດດັ່ງກ່າວໄດ້ຖືກອະທິບາຍໄວ້ໃນຂໍ້ຄວາມ ທຳ ອິດຂອງຂ້ອຍ. ໂດຍຫຍໍ້, ມັນແມ່ນຫໍສະມຸດທີ່ອີງໃສ່ລະບົບຕ່ອງໂສ້ ສຳ ລັບການຄຸ້ມຄອງແລະເບິ່ງເຫັນຂໍ້ມູນ. ພວກເຮົາເລີ່ມຕົ້ນໂດຍການໂຫຼດຫ້ອງສະ ໝຸດ:

const ການເກັບ = ຕ້ອງການ ('dstools'). ເກັບ ກຳ ຂໍ້ມູນ;

ຕໍ່ໄປພວກເຮົາໂຫລດຂໍ້ມູນດ້ວຍ dstools loadCSV function:

data = ເກັບ ກຳ ຂໍ້ມູນ (). loadCSV ('/ path / to / file / data / winemag-data-130k-v2.csv')

ມັນແມ່ນວິທີການທີ່ດີໃນການເບິ່ງຂໍ້ມູນກ່ອນ. ຟັງຊັນ header ເລືອກສາຍ n ທຳ ອິດ (ມາດຕະຖານ 5). ໜ້າ ທີ່ການສະແດງສະແດງຕາຕະລາງທີ່ມີ 5 ສາຍ ທຳ ອິດໃນປື້ມບັນທຶກ Jupyter.

data.head (). ສະແດງ ()

ນີ້ແມ່ນພາບ ໜ້າ ຈໍຂອງຕາຕະລາງ. ມັນມີ 14 ພາກສະຫນາມ, ສະນັ້ນການເລື່ອນພາບບາງຢ່າງແມ່ນຕ້ອງການເພື່ອເບິ່ງພວກມັນທັງ ໝົດ.

ພວກເຮົາຈະສຸມໃສ່ເຂດອະທິບາຍແລະພາກສະ ໜາມ ທີ່ຫຼາກຫຼາຍ. ຖ້າທ່ານບໍ່ໃຊ້ປື້ມບັນທຶກ Jupyter, ທ່ານສາມາດສ້າງ HTML ສຳ ລັບຕາຕະລາງ, ເກັບມັນໄວ້ໃນແຟ້ມເອກະສານ, ແລະຈາກນັ້ນເປີດເອກະສານ.

data.head (). ຕາຕະລາງ (). ບັນທຶກ ('my-table-html.html');

ວິທີການຮັບເອົາບັນຊີລາຍຊື່ຂອງທົ່ງນາໃນ Jupyter:

ສະນັ້ນໃຫ້ເຮົາຕອບ ຄຳ ຖາມທີ່ມີ ຄຳ ອະທິບາຍກ່ຽວກັບເຫລົ້າອະງຸ່ນ.

ຈຳ ນວນ ຄຳ ສັບງ່າຍໆ

ການວິເຄາະທີ່ງ່າຍທີ່ສຸດແລະໂດຍກົງທີ່ພວກເຮົາສາມາດປະຕິບັດໄດ້ແມ່ນການນັບ ຄຳ ສັບໃນ ຄຳ ອະທິບາຍແລະເລືອກເງື່ອນໄຂທີ່ມີ ຈຳ ນວນສູງສຸດ. ເຫດຜົນແມ່ນຈະແຈ້ງແລະເປັນການອະທິບາຍດ້ວຍຕົນເອງ. ດ້ວຍຂໍ້ກໍານົດຂອງຫນ້າທີ່ dstools, ພາກສະຫນາມຄໍາອະທິບາຍແບ່ງອອກເປັນຂໍ້ກໍານົດທີ່ມັນມີ. ຮູບແບບຂອງກະເປົາ ຄຳ ແມ່ນຖືກ ນຳ ໃຊ້ເຊິ່ງສະແດງໃຫ້ເຫັນພາກສະ ໜາມ ຄຳ ອະທິບາຍເປັນກະເປົາ ຄຳ, ເຊິ່ງ ຄຳ ສັ່ງຂອງຂໍ້ ກຳ ນົດແລະສະພາບການສັງເຄາະແລະ semantic ແມ່ນຖືກລະເລີຍ. ພວກເຮົາພຽງແຕ່ ຄຳ ນຶງເຖິງ ຄຳ ສັບໃດທີ່ປາກົດໃນ ຄຳ ອະທິບາຍແລະມັນເກີດຂື້ນເລື້ອຍປານໃດ. ຜົນໄດ້ຮັບຂອງ ໜ້າ ທີ່ນີ້ແມ່ນການລວບລວມຂໍ້ ກຳ ນົດກັບ ຈຳ ນວນຂອງພວກມັນ. ສິ່ງດຽວທີ່ພວກເຮົາຈະເຮັດແມ່ນອອກຈາກ ຄຳ ສັບຢຸດ, ຄຳ ສັບທີ່ໃຊ້ງານເຊັ່ນ "es", "das" ແລະ "für" ເຊິ່ງບໍ່ໄດ້ເພີ່ມຂໍ້ມູນໃດໆກ່ຽວກັບເຫລົ້າທີ່ອະທິບາຍ. ນີ້ແມ່ນລະຫັດ ສຳ ລັບການສອບຖາມທີ່ອະທິບາຍ:

ຂໍ້ມູນ .terms ({ພາກສະ ໜາມ: 'ຄຳ ອະທິບາຍ'}) // ສະກັດ ຄຳ ສະແດງໃນ ຄຳ ອະທິບາຍພາກສະ ໜາມ .dropStopwords ('ຄຳ ສັບ') // ລົບ ຄຳ ທີ່ຢຸດ .sortDesc ('ນັບ') // ຈັດຮຽງຕາມ ຈຳ ນວນຫລື ຄຳ ສັບ .head (5) / / ເລືອກ 5 ເງື່ອນໄຂສູງສຸດ .show (); // ສະແດງມັນ
ຂໍ້ກໍານົດທີ່ສໍາຄັນທີ່ສຸດທີ່ໃຊ້ໃນການອະທິບາຍເຫລົ້າ

ການເບິ່ງເຫັນເມຄ ຄຳ

ໃນວິທະຍາສາດຂໍ້ມູນພວກເຮົາຕ້ອງການເບິ່ງເຫັນຂໍ້ມູນຢູ່ສະ ເໝີ. ເຄື່ອງມື ສຳ ລັບການເບິ່ງເຫັນທີ່ດີ ສຳ ລັບລາຍຊື່ ຄຳ ສັບທີ່ມີຄ່າຕ່າງໆແມ່ນຟັງ ຄຳ. ຊຸດ dstools ມີຄຸນລັກສະນະຟັງ ຄຳ ທີ່ຫໍສະ ໝຸດ Highcharts ໃຊ້ (ທ່ານສາມາດໃຊ້ dstools ດ້ວຍການເບິ່ງພາບຂອງ Highcharts ໃດໆ). ພວກເຮົາຈະປ່ຽນຫົວຂໍ້ໂຕ້ຖຽງໃຫ້ເປັນ 50 ແລະເພີ່ມຟັງຊັນ wordMap.

data.terms ({ພາກສະຫນາມ: 'ລາຍລະອຽດ'}). dropStopwords ('ຄຳ ສັບ') .sortDesc ('ນັບ'). head (50) .wordCloud ('term', 'count') // ການໂຕ້ຖຽງແມ່ນປ້າຍແລະວັດແທກ .Show ();

ທ່ານສາມາດເຫັນ ຄຳ ສັບ "ເຫລົ້າ" ທຳ ມະດາທີ່ໃຊ້ໃນການອະທິບາຍເຫລົ້າ - ເຊັ່ນ: ລົດຊາດ, ລົດຊາດ, ກົດແລະນ້ ຳ ຕານ. ໄລຍະທີ່ໃຫຍ່ກວ່າ, ມັນມັກພົບຫຼາຍໃນ ຄຳ ອະທິບາຍເຫລົ້າ.

ວິທີການອະທິບາຍກ່ຽວກັບ Cabernet Sauvignon

ສະນັ້ນພວກເຮົາມີຄວາມຄິດທີ່ດີກ່ຽວກັບ ຄຳ ສັບທີ່ໃຊ້ໃນການອະທິບາຍເຫລົ້າ. ແຕ່ວ່າແນວພັນທີ່ແຕກຕ່າງກັນແລະກັນແນວໃດ? ພວກເຮົາຈະອະທິບາຍ "Cabernet Sauvignon" ທີ່ກົງກັນຂ້າມກັບ "Chardonnay" ແນວໃດ? ວິທີການທີ່ຈະແຈ້ງທີ່ສຸດແມ່ນການນັບ ຄຳ ສັບໃນ ຄຳ ອະທິບາຍຂອງ "Cabernet Sauvignon". ຫນ້າທີ່ຂໍ້ກໍານົດໃຊ້ເວລາທາງເລືອກຈາກ groupBy. ຂໍ້ ກຳ ນົດທີ່ປາກົດໃນແຕ່ລະກຸ່ມຈະຖືກແຍກຕ່າງຫາກ. ພວກເຮົາຈະຈັດກຸ່ມເງື່ອນໄຂໂດຍ "ຫຼາກຫຼາຍ":

ນີ້ແມ່ນ ຄຳ ສັບທົ່ວໄປທີ່ໃຊ້ໃນການອະທິບາຍ“ Cabernet Sauvignon”. ປັນຫາ: ບາງ ຄຳ ສັບເຫຼົ່ານີ້ສາມາດຖືກ ນຳ ໃຊ້ເພື່ອອະທິບາຍແນວພັນ. ຂໍ້ກໍານົດເຊັ່ນ "ລົດຊາດ", "ເຫລົ້າແວງ" ແລະ "ຫມາກໄມ້" ແມ່ນທົ່ວໄປເກີນໄປ. ພວກເຮົາ ຈຳ ເປັນຕ້ອງມີວິທີການເພື່ອ ກຳ ນົດເງື່ອນໄຂທີ່ບໍ່ມີເງື່ອນໄຂສະເພາະ

TFIDF ໃນການກູ້ໄພ

ໃນເວລາທີ່ການດຶງເອົາເອກະສານ, TFIDF ມັກຖືກ ນຳ ໃຊ້ເພື່ອປະເມີນຄວາມ ສຳ ຄັນຂອງ ຄຳ ສັບ ສຳ ລັບເອກະສານ. ມັນປະກອບດ້ວຍສອງພາກສ່ວນຄື: TF - ຕົວຫຍໍ້ ສຳ ລັບຄວາມຖີ່ຂອງໄລຍະເວລາແລະ IDF - ຄວາມຖີ່ຂອງເອກະສານ. ພວກເຮົາຈະບໍ່ເຂົ້າໄປໃນຕົວເລກ ສຳ ຄັນນີ້ໃນລາຍລະອຽດເພີ່ມເຕີມ, ແຕ່ໂດຍຫຍໍ້, TF ຊີ້ໃຫ້ເຫັນວ່າ ຄຳ ສັບດັ່ງກ່າວປາກົດຢູ່ເລື້ອຍໆໃນເອກະສານແລະ IDF ຊີ້ໃຫ້ເຫັນວ່າ ຄຳ ສັບດັ່ງກ່າວແມ່ນສະເພາະເຈາະຈົງເທົ່າໃດ. ເງື່ອນໄຂທີ່ມີ IDF ສູງແມ່ນມີຄວາມ ໝາຍ ຫຼາຍຂື້ນ. ໃນກໍລະນີຂອງພວກເຮົາ, ພວກເຮົາສາມາດໃຊ້ TFIDF ເປັນການວັດແທກຄວາມ ສຳ ພັນລະຫວ່າງ ຄຳ ສັບແລະຫຼາຍໆຊະນິດ. ກັບໄປທີ່ຕົວຢ່າງຂອງພວກເຮົາ: ໜ້າ ທີ່ ຄຳ ສັບສາມາດ ຄຳ ນວນຕົວເລກ ສຳ ຄັນຂອງ TFIDF ແລະ IDF ສຳ ລັບແຕ່ລະໄລຍະ.

ຂໍ້ມູນ .terms ({ພາກສະ ໜາມ: 'ຄຳ ອະທິບາຍ', groupBy: 'ແນວພັນ', calc: 'tfidf, idf'}) // ຄິດໄລ່ tfidf ແລະ idf .dropStopwords ('ຄຳ ສັບ') .filterEqual ('Sorte', 'Cabernet Sauvignon' ) .sortDesc ('tfidf') // sort by tfidf .head (30) // top 30 ຂໍ້ .Show ()

ດຽວນີ້ພວກເຮົາສາມາດເຫັນຕົວຊີ້ວັດທັງສອງ, tfidf ແລະ idf, ສຳ ລັບແຕ່ລະ ຄຳ ສັບທີ່ສູງສຸດທີ່ໃຊ້ໃນການອະທິບາຍ“ Cabernet Sauvignon”. ພວກເຮົາຍັງສາມາດເຫັນບາງ ຄຳ ສັບທົ່ວໄປ. ຖັນ IDF ສະແດງໃຫ້ເຫັນສະເພາະຂອງແຕ່ລະໄລຍະ. ພວກເຮົາພຽງແຕ່ສາມາດກັ່ນຕອງພວກມັນອອກໂດຍ ກຳ ນົດຂອບເຂດ IDF ຂອງ 2. ພວກເຮົາລວບລວມຂໍ້ມູນນີ້ດ້ວຍ ຄຳ ວ່າການເບິ່ງເຫັນເມຄ (ດ້ວຍມາດຕະການ TFIDF) ແລະໄດ້ຮັບສິ່ງຕໍ່ໄປນີ້:

ຂໍ້ມູນ .terms ({ພາກສະ ໜາມ: 'ລາຍລະອຽດ', ກຸ່ມ, ມີ: 'ແນວພັນ', calc: 'tfidf, idf'}) .dropStopwords ('ຄຳ ສັບ') .filterEqual ('Sorte', 'Cabernet Sauvignon') .filter ((ໄລຍະ ) => term.idf> 2) .sortDesc ('tfidf') ຫົວ (50) .wordCloud ('ໄລຍະ', 'tfidf', {ຫົວຂໍ້: 'ຟັງ ຄຳ ສຳ ລັບ Cabernet Sauvignon'}) .Show ()

ຂໍ້ກໍານົດເຊັ່ນ blackberry, cassis ແລະ currant ແມ່ນຖືກນໍາໃຊ້ໂດຍປົກກະຕິເມື່ອອະທິບາຍ Cabernet Savignon. ພວກເຮົາຈະຮ້ອງຂໍ Chardoanny ຄືນ ໃໝ່ ແລະໄດ້ຮັບການສະແດງອອກທີ່ແຕກຕ່າງ

ໃນເມຄ ຄຳ ວ່າ Chardonnay ພວກເຮົາເຫັນ ຄຳ ສັບເຊັ່ນ "ເຂດຮ້ອນ", "ໝາກ ນັດ" ແລະ "ນາວ" ເຊິ່ງເປັນ ຄຳ ທຳ ມະດາຂອງ ຄຳ ອະທິບາຍຂອງ Chardonnay ແລະບໍ່ປາກົດຢູ່ໃນ ຄຳ ວ່າ Cabernet cloud.

ຊອກຫາເງື່ອນໄຂທີ່ຄ້າຍຄືກັນໂດຍໃຊ້ Word2vec

Word2vec ແມ່ນຕົວແບບ ໜຶ່ງ ທີ່ພັດທະນາໂດຍນັກຄົ້ນຄວ້າ Google ເພື່ອເປັນຕົວແທນຂອງ ຄຳ ສັບໂດຍໃຊ້ vector (ຄຳ ຝັງ ຄຳ ສັບ). ຄືກັບທີ່ທ່ານອາດຈະຮູ້, ຄອມພິວເຕີເຂົ້າໃຈຕົວເລກ. ພວກເຂົາບໍ່ເຂົ້າໃຈແນວຄວາມຄິດທີ່ບໍ່ມີຕົວຕົນ. ຕາມສອງເງື່ອນໄຂທີ່ໃຫ້ໄວ້, ຄອມພິວເຕີ້ບໍ່ຮູ້ວ່າມັນມີຄວາມ ໝາຍ ຄ້າຍຄືກັນຫລືບໍ່. word2vec ປ່ຽນເງື່ອນໄຂໃຫ້ເປັນ vector ຕົວເລກ. ຊອກຫາຄວາມຄ້າຍຄືກັນລະຫວ່າງ ຄຳ ສັບຕ່າງໆໃນປັດຈຸບັນແມ່ນປັນຫາທາງເລກ. ຖ້າຫາກວ່າສອງ vector ໄດ້ຖືກມອບໃຫ້, ພວກເຮົາສາມາດຄິດໄລ່ໄລຍະຫ່າງລະຫວ່າງ vector (ໄລຍະຫ່າງຂອງ cosine) ແລະສົມມຸດວ່າເງື່ອນໄຂທີ່ມີສັນຍາລັກ vector ຢູ່ໃກ້ກັນແລະກັນກໍ່ມີຄວາມ ໝາຍ ຄ້າຍຄືກັນ. ເຫດຜົນທີ່ຢູ່ເບື້ອງຫລັງແບບ word2vec ແມ່ນມີດັ່ງຕໍ່ໄປນີ້: ເງື່ອນໄຂທີ່ປາກົດໃນສະພາບການທີ່ຄ້າຍຄືກັນແມ່ນຄ້າຍຄືກັນ. ໃນຕົວຢ່າງຂອງພວກເຮົາ, ຄຳ ສັບ "Cabernet" ແລະ "cab" (ຕົວຫຍໍ້ຂອງ Cabernet) ຈະປາກົດຢູ່ໃນສະພາບການທີ່ຄ້າຍຄືກັນ. ເພາະສະນັ້ນ, ການສະແດງ vector ຄວນຢູ່ໃກ້ກັນ. ພວກເຮົາຈະ ນຳ ໃຊ້ ຄຳ ສັບ algorithmvec ເພື່ອຊອກຫາຄວາມຄ້າຍຄືກັນລະຫວ່າງ ຄຳ ສັບທີ່ໃຊ້ໃນການອະທິບາຍເຫລົ້າ.

ທຳ ອິດພວກເຮົາ ຈຳ ເປັນຕ້ອງຕິດຕັ້ງຊຸດ word2vec NPM. ໂມດູນນີ້ແມ່ນໂປແກຼມທີ່ອີງໃສ່ wraparound-C. ຊຸດດັ່ງກ່າວໃຊ້ໄດ້ກັບລະບົບ UNIX ເທົ່ານັ້ນ. ທ່ານສາມາດຊອກຫາຂໍ້ມູນກ່ຽວກັບເອກະສານທີ່ສາມາດປະຕິບັດໄດ້ແລະການໂຕ້ຖຽງທີ່ກ່ຽວຂ້ອງຢູ່ນີ້.

ໃນຂັ້ນຕອນ ທຳ ອິດພວກເຮົາຕ້ອງບັນທຶກ ຄຳ ອະທິບາຍໄວ້ໃນເອກະສານຂໍ້ຄວາມ:

ຂໍ້ມູນ .column ('ລາຍລະອຽດ') // ດຶງຂໍ້ມູນ ຄຳ ອະທິບາຍ ສຳ ລັບເຂດອະທິບາຍເຫລົ້າ .toLowerCase () // ປ່ຽນ ຄຳ ອະທິບາຍໃຫ້ເປັນກໍລະນີຕ່ ຳ .merge () // ລວມ ຄຳ ອະທິບາຍທັງ ໝົດ ເປັນສາຍ .save ('wine-description .txt ') // ບັນທຶກມັນໄວ້ໃນແຟ້ມ

ຕໍ່ໄປພວກເຮົາຕ້ອງຝຶກອົບຮົມຕົວແບບ, i. H. ສ້າງຕົວແທນ vector ສຳ ລັບແຕ່ລະ ຄຳ. ເພື່ອຈຸດປະສົງຂອງພວກເຮົາ, ພວກເຮົາໃຊ້ຄ່າເລີ່ມຕົ້ນ ສຳ ລັບການໂຕ້ຖຽງແບບ ຈຳ ລອງທັງ ໝົດ. ລະຫັດມີລັກສະນະດັ່ງນີ້:

word2vec = ຕ້ອງການ ('word2vec'); word2vec.word2vec ('wine-description.txt', 'wine-model.txt');

ຟັງຊັນດັ່ງກ່າວໂຫລດຂໍ້ຄວາມເຂົ້າໃນແຟ້ມເອກະສານ "wine-description.txt", ສ້າງວີໂກ້ແລະປະຫຍັດພວກມັນໄວ້ໃນເອກະສານຜົນຜະລິດ "wine-model.txt"

ສຸດທ້າຍ, ພວກເຮົາຈະໂຫລດແບບ ຈຳ ລອງແລະຊອກຫາ ຄຳ ສັບທີ່ໃກ້ຄຽງທີ່ສຸດໃນຄວາມ ໝາຍ ຂອງບາງ ຄຳ ສັບທີ່ໃສ່ມາຈາກ ຄຳ ອະທິບາຍ "Cabernet Sauvignon" ແລະ "Chardonnay":

// ໂຫລດຮູບແບບຈາກ word2vec.loadModel ('wine-model.txt', ໜ້າ ທີ່ (ຜິດພາດ, ແບບ) {['blackberry', 'chocolate', 'ເຂດຮ້ອນ', 'ແຮ່ທາດ', 'ຂຽວ'] // ເງື່ອນໄຂ .forEach ((base) => console.log (base + ':' + // ທີ່ຄ້າຍຄືກັນກັບຄືນມາຫຼາຍທີ່ສຸດເງື່ອນໄຂຄ້າຍຄືກັນກັບ base model.mostSimilar (base, 10)) .map ((term) => term.word) .join ()); // ສະແດງຂໍ້ ກຳ ນົດໃນລາຍການ});
ຜົນໄດ້ຮັບຈາກ ໜ້າ ທີ່ຄ້າຍຄືກັນ word2vec

ທ່ານສາມາດເຫັນໄດ້ວ່າ word2vec ໄດ້ຮັບຮູ້ເປັນຢ່າງດີວ່າຄວາມຄ້າຍຄືກັນລະຫວ່າງຫມາກໄມ້ປ່າເມັດທີ່ແຕກຕ່າງກັນ (blueberry, raspberry, blackberry). ຈາກນີ້ພວກເຮົາສາມາດຮຽນຮູ້ວ່າ ຄຳ ສັບໃດຖືກ ນຳ ໃຊ້ເພື່ອອະທິບາຍກິ່ນສີຂຽວ (ທ່ານຮູ້ບໍ່ວ່າດອກໄມ້ສີຂຽວອະທິບາຍເຫລົ້າ) ແລະ ໝາກ ໄມ້ເຂດຮ້ອນຊະນິດໃດທີ່ຖືກ ນຳ ໃຊ້ຫຼາຍທີ່ສຸດເພື່ອອະທິບາຍເຫລົ້າ (ໝາກ ໄມ້ທີ່ມັກແລະກີວີ).

ຄຳ ຫຼ້າ

ມີຄວາມຮູ້ຫຼາຍໃນຕົວ ໜັງ ສືຂໍ້ມູນຂອງທ່ານ. ການຮຽນຮູ້ເຄື່ອງຈັກສາມາດຊ່ວຍໃຫ້ພວກເຮົາເຂົ້າໃຈວິທີທີ່ຄົນເວົ້າແລະອະທິບາຍຫົວຂໍ້. ມັນຍັງມີຫຼາຍຢ່າງທີ່ຕ້ອງຮຽນຮູ້ໂດຍການຕັດຂໍ້ມູນແລະການຖີ້ມຂໍ້ມູນແລະການໃຊ້ເຄື່ອງມືວິເຄາະຂໍ້ຄວາມທີ່ອະທິບາຍຢູ່ນີ້. ຍົກຕົວຢ່າງ, ພວກເຮົາສາມາດຮຽນຮູ້ວິທີທີ່ພາສາຝຣັ່ງ Cabernet ແຕກຕ່າງຈາກ California, ຫຼືປຽບທຽບ Chardonnay ລາຄາຖືກກັບເຄື່ອງທີ່ມີລາຄາແພງ. ມັນເປັນພຽງແຕ່ການ ກຳ ນົດ ຄຳ ຖາມຄົ້ນຄ້ວາແລະໃຊ້ເຄື່ອງມືຂໍ້ມູນເຫຼົ່ານີ້. ແລະແນ່ນອນການທົດລອງແລະຂໍ້ຜິດພາດຫຼາຍ.