ພວກເຮົາຂໍແນະ ນຳ ເຫລົ້າທີ່ເຮັດໄດ້ດີທີ່ສຸດ

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

ມັນເລີ່ມຕົ້ນດ້ວຍຂໍ້ຄວາມທີ່ບໍລິສຸດຕໍ່ເອື້ອຍຂອງຂ້ອຍ:

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

ຂໍ້ມູນແລະລະຫັດ

ຂໍ້ມູນດັ່ງກ່າວຖືກເກັບ ກຳ ໂດຍ WineEnthusiast ແລະຖືກເຜີຍແຜ່ໂດຍຜູ້ໃຊ້ Kaggle ໃນຮູບແບບ CSV. ມັນປະກອບມີປະມານ 130,000 ອັນດັບໂດຍລວມຂອງເຫຼົ້າແວງທີ່ແຕກຕ່າງກັນກັບຕົວແປຕ່າງໆເຊັ່ນ: ປະເທດເຫລົ້າ, ຄຳ ອະທິບາຍໂດຍຜູ້ປະເມີນ, ການໃຫ້ຄະແນນຈຸດ, ລາຄາ, ພາກພື້ນ, ແນວພັນແລະຊະນະເລີດ.

ລະຫັດເຕັມ ສຳ ລັບໂຄງການສາມາດພົບໄດ້ໃນ GitHub ຂອງຂ້ອຍທີ່ນີ້.

ລະບົບການແນະ ນຳ: ແມ່ນຫຍັງ?

ລະບົບການແນະ ນຳ ມັກຈະໃຊ້ເວລາ ໜຶ່ງ ໃນສາມຮູບແບບ: ການກັ່ນຕອງຮ່ວມກັນ, ການກັ່ນຕອງເນື້ອຫາແລະການປະສົມຂອງທັງສອງຢ່າງ.

ການກັ່ນຕອງຮ່ວມກັນວິເຄາະພຶດຕິ ກຳ ຂອງຜູ້ໃຊ້ແລະໃຫ້ ຄຳ ແນະ ນຳ ໂດຍອີງໃສ່ຜູ້ ນຳ ໃຊ້ທີ່ຄ້າຍຄືກັນອື່ນໆ. ຕົວຢ່າງ, ໂດຍອີງໃສ່ປະຫວັດການເບິ່ງຂອງຂ້ອຍ, Netflix ຮູ້ວ່າການສະແດງທີ່ຂ້ອຍໄດ້ເຫັນແລະສາມາດແນະ ນຳ ໃຫ້ສະແດງໃຫ້ເຫັນວ່າຜູ້ຊົມໃຊ້ອື່ນໆໄດ້ເຫັນ "ຄືຂ້ອຍ" (i. ມີປະຫວັດການເບິ່ງທີ່ຄ້າຍຄືກັນ).

ການກັ່ນຕອງທີ່ອີງໃສ່ເນື້ອຫາແມ່ນຖືກ ຈຳ ກັດຕໍ່ຜູ້ໃຊ້ຄົນດຽວແລະໃຊ້ ຄຳ ອະທິບາຍຫລືຕົວແປອື່ນໆທີ່ ກຳ ນົດເພື່ອຄົ້ນຫາສິນຄ້າທີ່ຄ້າຍຄືກັນທີ່ພວກເຂົາໄດ້ຊື້ຫຼື ນຳ ໃຊ້ໃນອະດີດ. ສະນັ້ນເມື່ອຂ້ອຍຊື້ກາເຟປະສົມທີ່ແນ່ນອນຈາກ Amazon, ຂ້ອຍສາມາດແນະ ນຳ ໃຫ້ໃຊ້ແນວພັນອື່ນທີ່ມີລາຄາດຽວກັນ, ມາຈາກພາກພື້ນທີ່ຄ້າຍຄືກັນແລະ / ຫຼືມີ ຄຳ ທີ່ຊ້ອນກັນໃນ ຄຳ ອະທິບາຍ.

ວິທີການປະສົມແມ່ນສິ່ງທີ່ມັນຄ້າຍຄືກັບ - ການປະສົມປະສານຂອງເນື້ອຫາແລະການກັ່ນຕອງຮ່ວມກັນ. ເມື່ອພວກເຮົາກັບໄປ Netflix, ພວກເຂົາສາມາດສ້າງແບບ ຈຳ ລອງທີ່ລະບຸການສະແດງທີ່ຄ້າຍຄືກັນກັບປະຫວັດການເບິ່ງຂອງຂ້ອຍແລະຈັດປະເພດການສະແດງເຫຼົ່ານັ້ນໂດຍອີງໃສ່ພຶດຕິ ກຳ ການເບິ່ງຂອງຄົນເຊັ່ນຂ້ອຍ.

ໂຄງການນີ້ໃຊ້ການກັ່ນຕອງທີ່ອີງໃສ່ເນື້ອຫາເທົ່ານັ້ນ, ຍ້ອນວ່າພວກເຮົາບໍ່ມີຜູ້ໃຊ້ອື່ນມາປຽບທຽບ. ວັດສະດຸປ້ອນເຂົ້າຈະແມ່ນເຫລົ້າທີ່ພວກເຮົາຮູ້ວ່າເອື້ອຍຂອງຂ້ອຍມັກແລະ ຄຳ ແນະ ນຳ ແມ່ນເຄື່ອງທີ່ມີຄຸນລັກສະນະຄ້າຍຄືກັນ - ພາກພື້ນ, ຄຳ ອະທິບາຍ, ຫລາກຫລາຍ - ຄືກັບເຫລົ້າເຫລົ່ານີ້.

ຂ້ອຍໄດ້ຕັດສິນໃຈສ້າງສາມສູດການຄິດໄລ່ແຍກຕ່າງຫາກແລະຫຼັງຈາກນັ້ນໃຫ້ພວກມັນປົນກັນເພື່ອຄັດເລືອກສຸດທ້າຍ. ຜູ້ ທຳ ອິດ ນຳ ໃຊ້ຄຸນສົມບັດຂອງເຫລົ້າທີ່ນາງໄດ້ມັກແລ້ວເພື່ອຊອກຫາເຫລົ້າທີ່ໄດ້ຮັບການຈັດອັນດັບສູງໃນບັນດາຕົວກອງເຫລົ່ານີ້; ຄັ້ງທີສອງໃຊ້ຂໍ້ມູນຕົວ ໜັງ ສືແລະຄວາມຄ້າຍຄືກັນເພື່ອຈັດອັນດັບເຫຼົ້າແວງ; ສຸດທ້າຍໃຊ້ເຕັກນິກຄວາມຖີ່ຂອງສຽງໃນຫ້ອງສະມຸດ Scikit-Learn ຂອງ Python.

ລະບົບແນະ ນຳ ພື້ນຖານ

ລະບົບການແນະ ນຳ ຂັ້ນພື້ນຖານລະບຸຄຸນລັກສະນະຂອງເຫຼົ້າແວງທີ່ Arielle ມັກ (“ ເຫລົ້າທີ່ເຮັດການຝຶກອົບຮົມ”) ແລະຄົ້ນຫາເຫຼົ້າແວງອື່ນໆທີ່ກົງກັບຄຸນລັກສະນະເຫຼົ່ານີ້, ແລະຈາກນັ້ນຈັດປະເພດໃຫ້ໂດຍອີງໃສ່ຈຸດແລະລາຄາ.

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

ນີ້ພຽງແຕ່ໃຫ້ເຫລົ້າທີ່ເຮັດຈາກບັນດາປະເທດ, ຈາກຂໍ້ມູນ "ການຝຶກອົບຮົມ" ຂອງພວກເຮົາ, ເຊິ່ງຜະລິດພາຍໃນໄລຍະເວລາທີ່ ກຳ ນົດປີ, ແມ່ນຢູ່ໃນລະດັບລາຄາຂອງພວກເຮົາແລະແມ່ນປະເພດ / ຊະນິດຂອງເຫລົ້າທີ່ພວກເຮົາຮູ້. ທີ່ທ່ານມັກພວກມັນ.

ຫລັງຈາກຕັ້ງຕົວກອງເຫລົ່ານີ້ເພື່ອໃຫ້ໄດ້ແນວພັນປະສົມແລະຈຸດລາຄາປະສົມ, ຂ້າພະເຈົ້າໄດ້ຄົ້ນພົບເຫລົ້າທີ່ຈັດອັນດັບສູງສຸດ ສຳ ລັບແຕ່ລະຊະນິດທີ່ມີເອກະລັກ, ໂດຍມີຕົວເລືອກຢູ່ດ້ານລຸ່ມແລະ ເໜືອ ລາຄາກາງ. ຜົນສຸດທ້າຍແມ່ນເຫຼົ້າ 8 ຊຸດຈາກ 4 ແນວພັນ (GSM, Pinot Noir, Sparkling Blend ແລະ Syrah), ເຊິ່ງແຕ່ລະແນວພັນມີທາງເລືອກທີ່ລາຄາຖືກແລະລາຄາແພງ.

def rec_basic (df): "" "ຊອກຫາເຫຼົ້າແວງທີ່ກົງກັບຄຸນລັກສະນະທົ່ວໄປທີ່ສຸດຂອງເຫຼົ້າແວງທີ່ນາງ Arielle ໄດ້ຍົກຍ້ອງແລ້ວ. ເຊິ່ງປະກອບມີການຕັ້ງປີ, ລາຄາ, ຊະນິດແລະການກັ່ນຕອງປະເທດຕ່າງໆ. ເຫລົ້າທີ່ເຮັດດ້ວຍລາຄາສູງແລະຕໍ່າໃນລະດັບຂອງພວກເຮົາທີ່ຖືກຈັດອັນດັບດີທີ່ສຸດແລະ ເໝາະ ສົມກັບຕົວແປທີ່ຖືກກັ່ນຕອງຂອງພວກເຮົາ.
ຫນ້າທີ່ສົ່ງຄືນກອບຂໍ້ມູນທີ່ມີສອງຂໍ້ແນະ ນຳ ຕໍ່ເຫລົ້າ. "" "current_wine = df [df ['arielle_choice'] == 1] current_filter = (df ['arielle_choice']! = 1) # ພວກເຮົາບໍ່ຕ້ອງການເຫລົ້າທີ່ນາງໄດ້ທົດລອງໃຊ້ແລ້ວ year_min = current_wine.year.min () year_max = current_wine.year.max () year_filter = ((df.year> = year_min) & (df.year <= year_max)) # ການກັ່ນຕອງ ສຳ ລັບເຫລົ້າປະ ຈຳ ປີທີ່ນາງມັກ price_min = current_wine.price.min () price_max = current_wine.price.max () price_mid = price_min + ((price_max - price_min) / 2) # ສ້າງສູນກາງ ສຳ ລັບການປັບລາຄາສູງ / ຕ່ ຳ ລາຄາ price_filter = ((df.price> = price_min) & (df.price <= price_max)) # ການກັ່ນຕອງໂດຍບັນດາປະເທດລາຄາຈຸດປົກກະຕິຂອງພວກເຂົາ = ລາຍຊື່ (ຕັ້ງຄ່າ (current_wine.country)) country_filter = (df.country.isin (ບັນດາປະເທດ)) # ການກັ່ນຕອງ ສຳ ລັບຊະນິດພັນປະເທດ = ລາຍຊື່ (ຕັ້ງຄ່າ (current_wine.variety)) variety_filter = df.variety.isin (ແນວພັນ) # ການກັ່ນຕອງ ສຳ ລັບປະເພດເຫຼົ້າແວງ filter_df = df [current_filter & year_filter & price_filter & land_filter & sortenfilter] # ຂໍ້ແນະ ນຳ ກ່ຽວກັບກອບຂໍ້ມູນທີ່ຖືກກັ່ນຕອງ = [] ສຳ ລັບຫລາກຫລາຍ: # ຂໍ້ສະ ເໜີ ແນະ ສຳ ລັບແຕ່ລະແນວພັນທີ່ທ່ານມັກ var_df = filtered_df [filtered_df.variety == variety] lower_price = var_df [var_df.price <= price_mid] # ຕົວເລືອກທີ່ຢູ່ຕໍ່າກວ່າລາຄາກາງສູງກວ່າ_price = var_df [var_df.price> price_mid] # ແລະຕົວເລືອກ ໜຶ່ງ ທີ່ໃຫ້ຢູ່ຂ້າງເທິງ top_rec_low = lower_price [['ປະເທດ', 'ຊື່', 'ຈຸດ', 'ລາຄາ', 'ຫົວຂໍ້ ',' ແນວພັນ ']]. sort_values ​​(ໂດຍ = 'ຈຸດ', ຕັ້ງຊັນຂຶ້ນ = ບໍ່ຖືກຕ້ອງ) [: 1] # ສະກັດເຫລົ້າທີ່ມີຄຸນຄ່າສູງສຸດດ້ວຍລາຄາຕໍ່າກວ່າ top_rec_high = higher_price [['ປະເທດ', 'ຊື່', 'ຈຸດ', 'ລາຄາ', ‘ຫົວຂໍ້’, ‘ຫລາກຫລາຍ’]]. sort_values ​​(ໂດຍ = 'ຈຸດ', ຕັ້ງຊັນຂຶ້ນ = ບໍ່ຖືກຕ້ອງ) [: 1] # ສະກັດເຫລົ້າທີ່ມີຄຸນຄ່າສູງທີ່ສຸດດ້ວຍລາຄາທີ່ສູງກວ່າທີ່ຖືກແນະ ນຳ .extend (top_rec_low.index) # ເພີ່ມມູນຄ່າດັດຊະນີຂອງເຫລົ້າທີ່ມີລາຄາຖືກກວ່າເຂົ້າໃນບັນຊີລາຍຊື່ທີ່ແນະ ນຳ .extend ( top_rec_high.index) # ເພີ່ມມູນຄ່າດັດຊະນີຂອງເຫລົ້າທີ່ມີລາຄາສູງຂື້ນເຂົ້າໃນບັນຊີລາຍຊື່ rec_df = df.loc [df.index.isin (ຄຳ ແນະ ນຳ),:] # ສະກັດພຽງແຕ່ຄ່າຂອງດັດຊະນີແນະ ນຳ ຈາກຂໍ້ມູນ rec_df.sort_values ​​(ໂດຍ = [ 'ແນວພັນ', 'ລາຄາ'], ຕັ້ງຊັນຂຶ້ນ = True, inplace = True) # ຄັດ / ກຸ່ມຕາມປະເພດເຫລົ້າ, ຫຼັງຈາກນັ້ນລາຄາສົ່ງຄືນ rec_df # ສົ່ງຄືນຂໍ້ມູນແນະ ນຳ
ຂໍ້ສະ ເໜີ ແນະຈາກການກັ່ນຕອງຂັ້ນພື້ນຖານ

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

ຂໍ້ສະ ເໜີ ແນະທີ່ອີງໃສ່ຂໍ້ຄວາມ

ລະບົບ ຄຳ ແນະ ນຳ ທີສອງທີ່ພວກເຮົາສ້າງລວມ ຄຳ ສັບແລະຄ່າທັງ ໝົດ ເຂົ້າໃນສາຍສະເພາະແລະຈາກນັ້ນຊອກຫາ ຈຳ ນວນ ຄຳ ທີ່ເປັນເອກະລັກໃນການສັງເກດນັ້ນທີ່ກົງກັບ ຄຳ ສັບໃນການເລືອກ "ການຝຶກອົບຮົມ" ຂອງພວກເຮົາ.

ພວກເຮົາໃຊ້ຫ້ອງສະ ໝຸດ NLTK ໃນ Python ເພື່ອ“ tokenize” ຂໍ້ຄວາມໃນແຕ່ລະການສັງເກດການໂດຍໃຊ້ຮູບແບບທີ່ໄດ້ ກຳ ນົດໄວ້ກ່ອນ.

Tokenization ແມ່ນວິທີການທີ່ຈະແບ່ງປັນຊຸດຂໍ້ມູນທີ່ເປັນຄ່າເປັນອົງປະກອບທີ່ເປັນເອກະລັກໂດຍອີງໃສ່ຮູບແບບ. ຍົກຕົວຢ່າງ, ມີພຽງ ຄຳ ສັບ, ຄຳ ສັບແລະ ຈຳ ນວນ, ຄຳ ສັບ, ຕົວເລກແລະຕົວອັກສອນພິເສດ, ແລະອື່ນໆສາມາດເອົາມາຈາກສາຍຂໍ້ຄວາມ.

ຍົກຕົວຢ່າງ, ຖ້າທ່ານ tokenize ປະໂຫຍກ ທຳ ອິດໃນວັກສຸດທ້າຍ, ທ່ານຈະໄດ້ຮັບບັນຊີລາຍຊື່ຂອງຄຸນຄ່າ ["Tokenization", "ແມ່ນ", "a", "way", "ກັບ" ... ]. ເພື່ອກ້າວໄປອີກບາດກ້າວ ໜຶ່ງ, ພວກເຮົາ ກຳ ຈັດ ຄຳ ສັບຕື່ມຂໍ້ມູນທີ່ປົກກະຕິ (ທີ່ເອີ້ນວ່າ ຄຳ ວ່າຢຸດ) ທີ່ບໍ່ເພີ່ມຄຸນຄ່າໃຫ້ກັບຄວາມ ໝາຍ ຂອງປະໂຫຍກ ("a", "an", "the", ... ). ສະບັບພາສາ tokenized ສຸດທ້າຍຂອງປະໂຫຍກທີ່ມີ ຄຳ ຢຸດທີ່ຖືກຖອດອອກຈະມີລັກສະນະນີ້: ["Tokenization", "way", "split", "set", "text", "values" ... ].

ດ້ວຍແຕ່ລະປະໂຫຍກແບ່ງອອກເປັນສ່ວນປະກອບຂອງມັນ, ຈາກນັ້ນພວກເຮົາສາມາດເຮັດວຽກກັບຕົວ ໜັງ ສືໃນລະດັບນ້ອຍກວ່າເພື່ອ ກຳ ນົດຮູບແບບແລະຄວາມຄ້າຍຄືກັນລະຫວ່າງການສັງເກດ.

ຕໍ່ໄປພວກເຮົາສ້າງບັນຊີລາຍຊື່ດຽວຂອງທຸກໆ ຄຳ ທີ່ເປັນເອກະລັກໃນການຈັດອັນດັບ“ ການຝຶກອົບຮົມ” ລວມ (i. wines Arielle ໄດ້ສັນຍາກັບຂ້ອຍແລ້ວວ່ານາງມັກ).

ຈາກນັ້ນພວກເຮົາຈະຜ່ານ ຄຳ ສັບທີ່ tokenized ດ້ວຍການສັງເກດແຕ່ລະຢ່າງ. ຖ້າມັນປາກົດຢູ່ໃນບັນຊີລາຍຊື່ການຝຶກອົບຮົມຂອງພວກເຮົາດ້ວຍ ຄຳ ສັບຕ່າງໆ, ພວກເຮົາເພີ່ມ 1 ສຳ ລັບແຕ່ລະ ຄຳ ທີ່ຕ້ອງ tokenized ໄປທີ່ counter ສຳ ລັບຕົວແປນັ້ນ, ຄ່າ counter ທ້າຍແມ່ນຕົວແທນ ສຳ ລັບຄວາມຄ້າຍຄືກັນ.

ເມື່ອພວກເຮົາໄດ້ກະກຽມຂໍ້ມູນໂດຍການລວມເຂົ້າແຕ່ລະລາຍການເຂົ້າໄປໃນແຖວເຂົ້າໄປໃນສາຍຂໍ້ຄວາມດຽວ, ສະແດງຄຸນຄ່າແລະລົບ ຄຳ ທີ່ຢຸດ, ພວກເຮົາສາມາດກວດເບິ່ງຄວາມຄ້າຍຄືກັນຂອງຂໍ້ມູນກັບສາຍຂໍ້ຄວາມທີ່ຕ້ອງການເພື່ອການຝຶກອົບຮົມ.

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

ຄຳ ຖາມທາງເທີງ ສຳ ລັບເຫຼົ້າແວງສະຫະລັດຄຳ ຖາມທາງເທີງ ສຳ ລັບເຫຼົ້າແວງສາກົນ

ຂໍ້ ຈຳ ກັດຢູ່ນີ້ແມ່ນ ຄຳ ສັບທີ່ໃຊ້ໃນການອະທິບາຍເຫລົ້າແມ່ນບໍ່ມີຂອບເຂດ ຈຳ ເປັນ. ຄົນ ໜຶ່ງ ສາມາດອະທິບາຍເຫລົ້າເປັນ“ ໝາກ ໄມ້”, ໃນຂະນະທີ່ຄົນອື່ນສາມາດອະທິບາຍວ່າ“ ເຕັມໄປດ້ວຍລົດຊາດ ໝາກ ໄມ້”. ຄວາມ ໝາຍ ກໍ່ຄືກັນ, ແຕ່ລະບົບຂອງພວກເຮົາບໍ່ເຂົ້າໃຈຄວາມແຕກຕ່າງນີ້.

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

ຄຳ ແນະ ນຳ ທີ່ຄ້າຍຄືກັນ

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

ຫຼັກຂອງລະບົບນີ້ຈະອີງໃສ່ອັນທີ່ເອີ້ນວ່າຄວາມຖີ່ຂອງຄວາມຖີ່ຂອງເອກະສານຄວາມຖີ່ (TFIDF). ຂ້າພະເຈົ້າໄດ້ພົບເຫັນບົດຂຽນນີ້ທີ່ອະທິບາຍແນວຄວາມຄິດທີ່ດີແທ້ໆ.

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

ໃນຂໍ້ມູນຂອງພວກເຮົາ, ຄ່າ TF ສຳ ລັບການສັງເກດແມ່ນ ຈຳ ນວນ ຄຳ ທີ່ຢູ່ໃນ ຄຳ ອະທິບາຍເຫລົ້າ (ບອກວ່າ ຄຳ ວ່າ“ ໝາກ ມີເນື້ອ” ລວມຢູ່ໃນ ຄຳ ອະທິບາຍ) ປາກົດໃນ ຄຳ ອະທິບາຍນັ້ນເປັນເປີເຊັນຂອງທຸກ ຄຳ, ໃນຂະນະທີ່ IDF ເຮັດ ວັດແທກວ່າ "ໝາກ ມີເນື້ອ" ມັກຈະປາກົດຢູ່ໃນທຸກ ຄຳ ອະທິບາຍເຫລົ້າໃນຂໍ້ມູນ.

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

ມີຫລາຍວິທີໃນການຄິດໄລ່ຄວາມຄ້າຍຄືກັນ. ຫຼັງຈາກທີ່ພະຍາຍາມສອງສາມແລະອ່ານວິທີການທີ່ແຕກຕ່າງກັນ, ຂ້ອຍໄດ້ຕັດສິນໃຈກ່ຽວກັບຄວາມຄ້າຍຄືກັນຂອງ cosine. ບົດຂຽນທີ່ເຊື່ອມໂຍງຂ້າງເທິງກັບ TFIDF ຍັງເປັນ ຄຳ ອະທິບາຍທີ່ດີ ສຳ ລັບຄວາມຄ້າຍຄືກັນຂອງ cosine.

ດ້ວຍຂໍ້ມູນຂອງພວກເຮົາປ່ຽນຈາກຂໍ້ຄວາມໄປຫາຕົວເລກ (ມູນຄ່າ TFIDF ຂອງພວກເຂົາ), ພວກເຮົາສາມາດແຕ້ມຈຸດຕົວເລກເຫລົ່ານີ້ຢູ່ໃນ "ຊ່ອງ vector" ແລະຄິດໄລ່ໄລຍະຫ່າງຈາກຈຸດນີ້ໄປຫາຈຸດອື່ນໆທັງ ໝົດ ໂດຍ ນຳ ໃຊ້ພຶດຊະຄະນິດເສັ້ນທາງແລະເສັ້ນກົງ, ເຊິ່ງຍັງຢູ່ໃນ ແຕ້ມໃນຊ່ອງ vector.

ຖ້າວ່າມັນບໍ່ມີຄວາມ ໝາຍ ຫຍັງ, ມັນກໍ່ດີເພາະວ່າມັນເປັນແນວຄິດທີ່ສັບສົນທີ່ ໜ້າ ສົນໃຈ ສຳ ລັບຂ້ອຍເຊັ່ນກັນ, ແຕ່ຜົນຜະລິດຂອງຄວາມຄ້າຍຄືກັນຂອງ cosine ແມ່ນຕັ້ງແຕ່ -1 ເຖິງ 1, ເຊິ່ງ -1 ໝາຍ ຄວາມວ່າສອງອົງປະກອບແມ່ນກົງກັນຂ້າມກັນແນ່ນອນແລະ 1 ໝາຍ ຄວາມວ່າພວກເຂົາຄືກັນ. ເມື່ອເຮັດວຽກກັບຂໍ້ມູນຕົວ ໜັງ ສື, ຂອບເຂດຜົນຜະລິດຈະຖືກຫຼຸດລົງເປັນ 0 ເຖິງ 1.

ຜົນໄດ້ຮັບແມ່ນຊຸດຂອງ ຄຳ ແນະ ນຳ ທີ່ຄ້າຍຄືກັບ ຄຳ ອະທິບາຍໃນສ່ວນທີ່ເຫຼືອຂອງຂໍ້ມູນ.

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

ສະຫະລັດອາເມລິກາທີ່ກົງກັບຄວາມຄ້າຍຄືກັນຂອງ ຄຳ ອະທິບາຍການແຂ່ງຂັນລະດັບສາກົນດ້ານເທິງໂດຍ ຄຳ ອະທິບາຍຄວາມຄ້າຍຄືກັນ

ຂໍ້ສັງເກດສຸດທ້າຍ ສຳ ລັບວິທີການນີ້ແມ່ນວ່າ, ເພື່ອຄວາມຄ້າຍຄືກັນ, ຂ້ອຍພຽງແຕ່ໃຊ້ເຫລົ້າທີ່ມີຢູ່ໃນ "ແນວພັນທີ່ມັກ" ຂອງ Arielle (ຄືແນວພັນ: Syrah, GSM, ແລະອື່ນໆ), ເນື່ອງຈາກຂະ ໜາດ ຂອງເອກະສານໄດ້ກີດຂວາງສິ່ງນີ້ຈາກການ ນຳ ໃຊ້ ບັນຊີລາຍຊື່ທັງ ໝົດ ຂອງ 130 KB + ລາຍລະອຽດໃນທ້ອງຖິ່ນໃນຄອມພິວເຕີ້ຂອງຂ້ອຍ.

ສະຫຼຸບ: ພວກເຮົາຄວນເລືອກເຫລົ້າທີ່ເຮັດຫຍັງ?

ສິ່ງທີ່ ໜ້າ ສົນໃຈແມ່ນບໍ່ມີການຊ້ອນກັນລະຫວ່າງສາມລະບົບທີ່ແຕກຕ່າງກັນ, ສະແດງໃຫ້ເຫັນເຖິງຫົວຂໍ້ທີ່ມີຢູ່ໃນລະບົບແນະ ນຳ. ຄຳ ແນະ ນຳ ແຕ່ລະຢ່າງໃນສາມ ຄຳ ແນະ ນຳ ແມ່ນເປັນຂອງຕົນເອງ, ແຕ່ເປັນວິທີການທີ່ສາມາດພັດທະນາ ຄຳ ແນະ ນຳ ໄດ້, ແຕ່ຜົນໄດ້ຮັບລວມແມ່ນເປັນເອກະລັກສະເພາະ.

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

ຂ້ອຍເລີ່ມ ກຳ ຈັດເຫລົ້າທີ່ບໍ່ໄດ້ລາຄາຖືກຫລືຖືກກວ່າ 50 ໂດລາ (ຂໍໂທດ, Arielle - ຂ້ອຍບໍ່ສາມາດຊື້ຂອງດີໆໄດ້ແລ້ວ). ໃນຖານະເປັນການວິເຄາະຂໍ້ມູນໃຫຍ່ໂດຍສະແດງໃຫ້ເຫັນ Stax, ເຫລົ້າທີ່ເຮັດຈາກເຫລົ້າທີ່ເຮັດແລະເຫລົ້າທີ່ເຮັດຈາກເຫລົ້າທີ່ເຮັດຈາກພາຍໃຕ້ $ 50 ແມ່ນມີຄຸນຄ່າຫຼາຍ.

ນັບຕັ້ງແຕ່ຂ້າພະເຈົ້າຮູ້ວ່າເອື້ອຍຂອງຂ້ອຍແລະ GSM ແມ່ນ ໜຶ່ງ ໃນແນວພັນທີ່ພວກເຂົາມັກແລະໃສ່ຄວາມມັກຂອງຂ້ອຍເອງ ສຳ ລັບ Syrah, ຂ້ອຍພຽງແຕ່ກັ່ນຕອງຂໍ້ມູນ ສຳ ລັບເຫລົ້າສອງຊະນິດນີ້ແລະ ສຳ ລັບເຫຼົ້າທີ່ມີຄະແນນ 90 ຂຶ້ນໄປ.

ສຸດທ້າຍ, ຂ້ອຍໄດ້ຕັດສິນໃຈວ່າຂ້ອຍຕ້ອງການແນວພັນ ໜຶ່ງ ຊະນິດແລະອີກຊະນິດ ໜຶ່ງ ຈະຢູ່ໃນສະຫະລັດອາເມລິກາໃນຂະນະທີ່ອີກຊະນິດ ໜຶ່ງ ແມ່ນມາຈາກຕ່າງປະເທດ. ເນື່ອງຈາກວ່າມີພຽງແຕ່ເຫຼົ້າແວງສາກົນ ໜຶ່ງ ທີ່ເຫຼືອໃນເວລານັ້ນແລະມັນແມ່ນ GSM, ທາງເລືອກຂອງ GSM ແມ່ນງ່າຍດາຍ. ສຳ ລັບ Syrah, ຂ້ອຍໄດ້ໃຊ້ຕົວກອງທີ່ໃຫ້ສູງສຸດ (ຜະລິດແນນ) Syrah ທີ່ຜະລິດຢູ່ USA.

ແລະນັ້ນແມ່ນມັນ! ຈາກເຫຼົ້າແວງ 130,000 ເຖິງພຽງແຕ່ສອງ, ໃຊ້ຂໍ້ມູນເພື່ອຊອກຫາທາງອອກ. ຜູ້ຊະນະສຸດທ້າຍຂອງພວກເຮົາແມ່ນລັດ California Syrah ຈາກ Fenaughty Vineyard ໃນ Sierra Foothills 2010 ແລະ Plexus GSM ຈາກ South Australia 2011.

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