คุณลักษณะการแนะนำของ Amazon ทำงานอย่างไร


144

เทคโนโลยีใดบ้างที่อยู่ด้านหลังหน้าจอของเทคโนโลยีแนะนำของ Amazon ฉันเชื่อว่าคำแนะนำของ Amazon ปัจจุบันดีที่สุดในตลาด แต่พวกเขาจะให้คำแนะนำที่เกี่ยวข้องเช่นนั้นกับเราได้อย่างไร

เมื่อเร็ว ๆ นี้เราได้มีส่วนร่วมกับโครงการแนะนำประเภทที่คล้ายกัน แต่ต้องการทราบเกี่ยวกับเทคโนโลยีแนะนำของ Amazon โดยเฉพาะจากมุมมองทางเทคนิค

อินพุตใด ๆ จะได้รับการชื่นชมอย่างมาก

ปรับปรุง:

สิทธิบัตรนี้อธิบายถึงวิธีการแนะนำในแบบของคุณ แต่มันไม่ได้เป็นเรื่องเทคนิคมากนักและมันจะดีมากถ้ามีข้อมูลเชิงลึก

จากความคิดเห็นของ Dave การวิเคราะห์ความสัมพันธ์เป็นพื้นฐานสำหรับเครื่องมือแนะนำประเภทนั้น นอกจากนี้ที่นี่มีการอ่านที่ดีในหัวข้อ

  1. เข้าใจการวิเคราะห์ตะกร้าตลาดอย่างชัดเจน
  2. การวิเคราะห์ตะกร้าตลาด
  3. การวิเคราะห์ความสัมพันธ์

การอ่านที่แนะนำ:

  1. การทำเหมืองข้อมูล: แนวคิดและเทคนิค

3
คุณลองกลั่นกรองสิทธิบัตรหรือไม่ google.com/patents
Dolph

ใช่ฉันเคยผ่านการจดสิทธิบัตรแล้ว แต่มันไม่ได้เป็นเรื่องเทคนิคมากนักดังนั้นฉันจึงขอขอบคุณข้อมูลเชิงลึกด้านเทคนิคของกลไก
Rachel

1
@Dave: คำถามนี้เปิดตอนนี้และฉันจะขอบคุณถ้าคุณสามารถให้ข้อมูลเชิงลึกเพิ่มเติมเกี่ยวกับเทคโนโลยีที่อยู่เบื้องหลังสถาปัตยกรรมเครื่องยนต์คำแนะนำและฟังก์ชั่นการทำงานที่ Amazon ใช้สำหรับการให้คำแนะนำ
Rachel

1
ฉันจะไม่เรียกระบบแนะนำของ Amazon ว่า "ดีที่สุด" หรือมีประโยชน์ด้วยซ้ำ คุณสั่งซื้อเมาส์มันแนะนำให้ซื้ออีกอันด้วย ทำไมผู้ใช้ปกติถึงต้องการหนูสองตัวพร้อมกัน ???

1
@ ราเชล: เนื่องจากคุณรู้ว่าระบบของ Amazon ได้รับการจดสิทธิบัตรแล้วและคุณต้องการพัฒนาสิ่งที่คล้ายกันฉันจะไม่มองสิทธิบัตรของพวกเขาเลย - และแน่นอนว่าถ้าไม่ได้มองพวกเขาก็ไม่ได้ปกป้องคุณ แต่เป็นการเริ่มต้น

คำตอบ:


104

มันเป็นทั้งศิลปะและวิทยาศาสตร์ เขตการศึกษาทั่วไปหมุนรอบการวิเคราะห์ตะกร้าตลาด (หรือที่เรียกว่าการวิเคราะห์ความสัมพันธ์) ซึ่งเป็นส่วนย่อยของการขุดข้อมูล ส่วนประกอบทั่วไปในระบบดังกล่าวรวมถึงการระบุรายการไดรเวอร์หลักและการระบุรายการความสัมพันธ์ (การเพิ่มยอดขาย, การขายต่อเนื่อง)

โปรดจำไว้ว่าแหล่งข้อมูลที่พวกเขาต้องขุด ...

  1. ซื้อตะกร้าสินค้า = เงินจริงจากคนจริงที่ใช้กับสินค้าจริง = ข้อมูลที่ทรงพลังและมากมาย
  2. เพิ่มสินค้าลงในรถเข็น แต่ละทิ้ง
  3. การทดสอบราคาออนไลน์ (การทดสอบ A / B ฯลฯ ) ซึ่งพวกเขาเสนอผลิตภัณฑ์เดียวกันในราคาที่ต่างกันและดูผลลัพธ์
  4. การทดสอบบรรจุภัณฑ์ (การทดสอบ A / B เป็นต้น) ซึ่งพวกเขานำเสนอผลิตภัณฑ์ที่แตกต่างกันใน "กลุ่ม" ที่แตกต่างกันหรือลดการจับคู่ของรายการต่างๆ
  5. รายการสิ่งที่ปรารถนา - มีอะไรในนั้นเป็นพิเศษสำหรับคุณ - และโดยรวมจะสามารถได้รับการปฏิบัติคล้ายกับข้อมูลการวิเคราะห์ตะกร้าอื่น
  6. ไซต์ผู้อ้างอิง (การระบุว่าคุณเข้ามาจากที่ใดสามารถบ่งบอกรายการที่น่าสนใจอื่น ๆ )
  7. เวลาที่อยู่อาศัย (ระยะเวลาก่อนที่คุณจะคลิกกลับและเลือกรายการอื่น)
  8. การให้คะแนนโดยคุณหรือในแวดวงโซเชียล / การซื้อ - ถ้าคุณให้คะแนนสิ่งที่คุณชอบคุณจะได้รับสิ่งที่คุณชอบมากขึ้นและถ้าคุณยืนยันด้วยปุ่ม "ฉันมีอยู่แล้ว" พวกเขาสร้างโปรไฟล์ที่สมบูรณ์มากของคุณ
  9. ข้อมูลประชากร (ที่อยู่สำหรับจัดส่ง ฯลฯ ) - พวกเขารู้ว่าสิ่งใดที่เป็นที่นิยมในพื้นที่ทั่วไปของคุณสำหรับลูก ๆ ของคุณตัวคุณเองคู่สมรส ฯลฯ
  10. การแบ่งกลุ่มผู้ใช้ = คุณซื้อหนังสือ 3 เล่มในเดือนที่แยกต่างหากสำหรับเด็กที่หัดเดินหรือไม่? น่าจะมีลูกหรือมากกว่านั้นเป็นต้น
  11. การคลิกผ่านข้อมูลทางการตลาดโดยตรงคุณได้รับอีเมลจากพวกเขาและคลิกผ่านหรือไม่ พวกเขารู้ว่าเป็นอีเมลอะไรและคุณคลิกผ่านและคุณซื้อเป็นผลมาจากอะไร
  12. คลิกเส้นทางในเซสชั่น - สิ่งที่คุณดูโดยไม่คำนึงว่ามันไปในรถเข็นของคุณ
  13. จำนวนครั้งที่ดูรายการก่อนที่จะซื้อขั้นสุดท้าย
  14. หากคุณกำลังจัดการกับร้านค้าอิฐและปูนพวกเขาอาจมีประวัติการซื้อทางกายภาพของคุณเช่นกัน (เช่นของเล่นเราหรือบางอย่างที่ออนไลน์และร้านค้าทางกายภาพ)
  15. ฯลฯ เป็นต้น

โชคดีที่ผู้คนมีพฤติกรรมคล้ายกันดังนั้นยิ่งพวกเขารู้เกี่ยวกับจำนวนผู้ซื้อมากเท่าไรพวกเขาก็รู้ว่าจะขายอะไรดีและจะไม่ขายและทุกการทำธุรกรรมและการจัดอันดับ / สิ่งที่อยากได้เพิ่ม / เรียกดู โปรดทราบว่านี่เป็นเพียงตัวอย่างเล็ก ๆ ของอิทธิพลเต็มรูปแบบของคำแนะนำ ฯลฯ

ตอนนี้ฉันไม่มีความรู้เกี่ยวกับวิธีที่ Amazon ทำธุรกิจ (ไม่เคยทำงานที่นั่น) และทั้งหมดที่ฉันทำคือพูดถึงวิธีดั้งเดิมในการแก้ปัญหาการค้าออนไลน์ - ฉันเคยเป็นนายกรัฐมนตรีที่ทำงานด้านการขุดข้อมูลและการวิเคราะห์สำหรับ Microsoft ผลิตภัณฑ์ที่เรียกว่า Commerce Server เราจัดส่งเครื่องมือการพาณิชย์ที่อนุญาตให้ผู้คนสร้างไซต์ที่มีความสามารถคล้ายกัน .... แต่ยิ่งปริมาณการขายยิ่งมากเท่าไหร่ข้อมูลก็จะยิ่งดีขึ้นเท่านั้น ฉันสามารถจินตนาการได้ว่ามันสนุกแค่ไหนที่ได้เล่นกับโมเดลที่มีข้อมูลจำนวนมากในไซต์ขับเคลื่อนการค้า ตอนนี้หลายขั้นตอนวิธีการเหล่านั้น (เช่นทำนายที่เริ่มต้นในเซิร์ฟเวอร์พาณิชย์) ได้ย้ายที่จะมีชีวิตอยู่ได้โดยตรงภายในMicrosoft SQL

สี่วิธีใหญ่ที่คุณควรมีคือ:

  1. Amazon (หรือผู้ค้าปลีก) กำลังดูข้อมูลรวมสำหรับการทำธุรกรรมและผู้คนมากมาย ... นี่ทำให้พวกเขาสามารถแนะนำผู้ใช้ที่ไม่ระบุชื่อบนเว็บไซต์ของตนได้เป็นอย่างดี
  2. Amazon (หรือผู้ค้าปลีกที่มีความซับซ้อน) กำลังติดตามพฤติกรรมและการซื้อของใครก็ตามที่เข้าสู่ระบบและใช้สิ่งนั้นเพื่อปรับแต่งเพิ่มเติมบนข้อมูลมวลรวม
  3. บ่อยครั้งที่มีวิธีการมากกว่าการขี่ข้อมูลที่สะสมและการควบคุม "บรรณาธิการ" คำแนะนำสำหรับผู้จัดการผลิตภัณฑ์ของบรรทัดที่เฉพาะเจาะจง (เช่นบางคนที่เป็นเจ้าของแนวตั้ง 'กล้องดิจิทัล' หรือแนวตั้ง 'แนวโรแมนติกหรือนวนิยาย') เป็นผู้เชี่ยวชาญ
  4. มักจะมีข้อเสนอส่งเสริมการขาย (เช่น sony หรือ panasonic หรือ nikon หรือ canon หรือ sprint หรือ verizon จ่ายเงินเพิ่มเติมให้ผู้ค้าปลีกหรือให้ส่วนลดที่ดีกว่าในปริมาณมากหรือสิ่งอื่น ๆ ในบรรทัดเหล่านั้น) ที่จะทำให้ "คำแนะนำ" บางอย่างเพิ่มขึ้น ด้านบนมักจะมากกว่าเหตุผลอื่น ๆ - มีเหตุผลทางธุรกิจที่สมเหตุสมผลและเหตุผลทางธุรกิจที่อยู่เบื้องหลังสิ่งนี้เป้าหมายในการทำมากขึ้นในแต่ละรายการหรือลดค่าใช้จ่ายขายส่ง

ในแง่ของการใช้งานจริง? ระบบออนไลน์ขนาดใหญ่เกือบทุกระบบจะใช้ชุดของท่อส่ง (หรือการนำรูปแบบตัวกรองหรือเวิร์กโฟลว์มาใช้เป็นต้น) คุณเรียกสิ่งที่คุณต้องการ) ที่อนุญาตให้บริบทประเมินโดยชุดของโมดูลที่ใช้รูปแบบบางอย่างของ ตรรกะทางธุรกิจ

โดยทั่วไปแล้วไปป์ไลน์ที่แตกต่างกันจะเชื่อมโยงกับงานที่แยกกันในหน้า - คุณอาจมีงานที่แนะนำ "แพ็คเกจ / อัพเซล" (เช่นซื้อสิ่งนี้กับรายการที่คุณกำลังดู) และอีกอันหนึ่งที่เป็น "ทางเลือก" (เช่นซื้อ แทนที่จะเป็นสิ่งที่คุณกำลังดู) และอีกรายการหนึ่งที่ดึงรายการที่เกี่ยวข้องอย่างใกล้ชิดที่สุดจากรายการสินค้าที่คุณต้องการ (ตามหมวดหมู่ผลิตภัณฑ์หรือคล้ายกัน)

ผลลัพธ์ของท่อเหล่านี้สามารถวางบนส่วนต่าง ๆ ของหน้า (เหนือแถบเลื่อนด้านล่างเลื่อนด้านซ้ายด้านขวาด้านขวาแบบอักษรต่าง ๆ ภาพขนาดต่าง ๆ ฯลฯ ) และทดสอบเพื่อดูว่ามีประสิทธิภาพใด ดีที่สุด เนื่องจากคุณใช้โมดูลแบบพลักแอนด์เพลย์ที่ง่ายที่กำหนดตรรกะทางธุรกิจสำหรับท่อเหล่านี้คุณจะมีคุณธรรมเทียบเท่ากับเลโก้บล็อกที่ทำให้เลือกและเลือกจากตรรกะทางธุรกิจที่คุณต้องการใช้เมื่อคุณสร้างไพพ์ไลน์อื่น ซึ่งจะช่วยให้นวัตกรรมได้เร็วขึ้นการทดลองมากขึ้นและในที่สุดผลกำไรที่สูงขึ้น

นั่นช่วยอะไรได้บ้าง? หวังว่าจะให้ข้อมูลเชิงลึกเล็กน้อยเกี่ยวกับการทำงานของไซต์อีคอมเมิร์ซทั่วไปไม่ใช่แค่ Amazon เท่านั้น อเมซอน (จากการพูดคุยกับเพื่อนที่ทำงานที่นั่น) เป็นแรงขับเคลื่อนข้อมูลและวัดประสิทธิภาพของประสบการณ์การใช้งานของผู้ใช้อย่างต่อเนื่องและการกำหนดราคาโปรโมชั่นบรรจุภัณฑ์และอื่น ๆ - พวกเขาเป็นผู้ค้าปลีกออนไลน์ที่ซับซ้อนมาก อัลกอริธึมมากมายที่พวกเขาใช้เพื่อปรับผลกำไรให้ได้ - และนั่นเป็นความลับที่เป็นกรรมสิทธิ์ (คุณรู้ว่าชอบสูตรของเครื่องเทศลับของเคเอฟซี) และได้รับการรับรองเช่นนี้


1
ใช่. มันช่วยฉันได้มากและฉันซาบซึ้งกับข้อมูลที่คุณป้อนในหัวข้อนี้
Rachel

ข้อมูลเชิงลึกที่น่าทึ่ง
Shobi

28

สิ่งนี้ไม่ได้เกี่ยวข้องโดยตรงกับระบบการแนะนำของ Amazon แต่อาจเป็นประโยชน์ในการศึกษาวิธีการที่คนที่ใช้ในการแข่งขันในNetflix Prizeการแข่งขันเพื่อพัฒนาระบบการแนะนำที่ดีขึ้นโดยใช้ข้อมูลผู้ใช้ Netflix มีข้อมูลที่ดีมากมายในชุมชนของพวกเขาเกี่ยวกับเทคนิคการทำเหมืองข้อมูลโดยทั่วไป

ทีมที่ได้รับรางวัลใช้การผสมผสานของคำแนะนำที่สร้างขึ้นโดยโมเดล / เทคนิคที่แตกต่างกันมากมาย ฉันรู้ว่าวิธีการหลักบางอย่างที่ใช้คือการวิเคราะห์องค์ประกอบหลักวิธีเพื่อนบ้านที่ใกล้ที่สุดและเครือข่ายประสาท นี่คือเอกสารบางส่วนจากทีมที่ชนะ:

R. Bell, Y. Koren, C. Volinsky, " The BellKor 2008 ทางออกสู่ Netflix Prize ", (2008)

A. Töscher, M. Jahrer,“ โซลูชัน BigChaos สำหรับรางวัล Netflix 2008 ”, (2008)

A. Töscher, M. Jahrer, R. Legenstein, " อัลกอริธึมที่อิงกับพื้นที่ใกล้เคียงสำหรับระบบผู้แนะนำขนาดใหญ่ ", การประชุมเชิงปฏิบัติการ SIGKDD ในระบบผู้แนะนำขนาดใหญ่และการแข่งขัน Netflix Prize (KDD'08), ACM Press (2008) .

Y. Koren, " The BellKor Solution to Netflix Grand Prize ", (2009)

A. Töscher, M. Jahrer, R. Bell, " โซลูชัน BigChaos สำหรับ Netflix Grand Prize ", (2009)

M. Piotte, M. Chabbert, " The The Pragmatic Theory Solution สู่ Netflix Grand Prize ", (2009)

เอกสารปี 2008 มาจากรางวัลความก้าวหน้าปีแรก ฉันขอแนะนำให้อ่านก่อนหน้านี้ก่อนเพราะคนต่อมาสร้างจากงานก่อนหน้า


2
สิ่งที่ฉันชอบเกี่ยวกับคำตอบนี้คือชี้ไปที่ข้อเท็จจริงที่ว่าไม่มีคำตอบที่ "สมบูรณ์แบบ" และผู้คนยังคงคิดค้นสิ่งใหม่ ๆ ในพื้นที่นี้ - มีห้องพักสำหรับการปรับปรุงอยู่เสมอและบางครั้งการเปลี่ยนแปลงและวิธีการใหม่ ๆ จะได้รับการแก้ไขแตกต่างกัน และถ้าคุณอ่านลิงก์โดยละเอียดคุณสามารถดูได้ว่ามี "การผสมผสาน" ของผู้อนุมัติหลายคนเพื่อทำนายผลการแข่งขันในแต่ละรอบชิงรางวัล การอ้างอิงที่ดี
เดฟด่วน


20

(Disclamer: ฉันเคยทำงานที่ Amazon แต่ฉันไม่ได้ทำงานกับทีมแนะนำ)

คำตอบของ ewernli ควรเป็นคำตอบที่ถูกต้อง - เอกสารเชื่อมโยงไปยังระบบแนะนำดั้งเดิมของ Amazon และจากสิ่งที่ฉันสามารถบอกได้ (จากประสบการณ์ส่วนตัวในฐานะนักช็อปของ Amazon และทำงานในระบบที่คล้ายกันที่ บริษัท อื่น) มีการเปลี่ยนแปลงเล็กน้อย: หลักของมันคุณสมบัติการแนะนำของอเมซอนยังคงยึดตามการกรองการทำงานร่วมกันแบบไอเท็มต่อรายการเป็นอย่างมาก

เพียงแค่ดูว่าคำแนะนำในรูปแบบใด: หน้าแรกของฉันพวกเขาทั้งหมดอยู่ในรูปแบบ "คุณดู X ... ลูกค้าที่ดูสิ่งนี้ก็ดู ... " หรือสิ่งอื่น ๆ ที่คล้ายคลึงกับสิ่งต่าง ๆ ฉันเคยซื้อหรือดูมาก่อน หากฉันไปที่หน้า "แนะนำสำหรับคุณ" โดยเฉพาะทุกรายการจะอธิบายว่าเหตุใดจึงแนะนำให้ฉัน: "แนะนำเนื่องจากคุณซื้อ ... ", "แนะนำเนื่องจากคุณเพิ่ม X ลงในสิ่งที่อยากได้ ... " เป็นต้น สัญลักษณ์คลาสสิกของการกรองการทำงานร่วมกันของไอเท็มต่อรายการ

ดังนั้นการกรองการทำงานร่วมกันของไอเท็มต่อรายการทำงานอย่างไร โดยทั่วไปสำหรับแต่ละรายการคุณสร้าง "ย่าน" ของรายการที่เกี่ยวข้อง (เช่นโดยดูว่ารายการที่ผู้คนดูด้วยกันหรือรายการที่ผู้ซื้อด้วยกัน - เพื่อกำหนดความคล้ายคลึงกันคุณสามารถใช้ตัวชี้วัดเช่นดัชนี Jaccard ; เป็นไปได้อีกอย่างหนึ่ง แต่ฉันสงสัยว่า Amazon ไม่ได้ใช้ข้อมูลการจัดอันดับอย่างหนัก จากนั้นเมื่อใดก็ตามที่ฉันดูรายการ X หรือซื้อ Y Amazon แนะนำสิ่งต่าง ๆ ในละแวกเดียวกับ X หรือ Y

บางแนวทางอื่น ๆ ที่ Amazon อาจใช้ แต่อาจไม่ได้อธิบายไว้ที่นี่: http://blog.echen.me/2011/02/15/an-overview-of-item-to-item-collaborative-filtering เมื่อใช้-amazons-คำแนะนำระบบ /

หลายสิ่งที่เดฟอธิบายไม่ได้ทำที่อเมซอน (การให้คะแนนโดยผู้ที่อยู่ในเครือข่ายโซเชียลของฉัน Nope, Amazon ไม่มีข้อมูลโซเชียลของฉันนี่จะเป็นปัญหาความเป็นส่วนตัวอย่างมากในทุกกรณีดังนั้นมันจึงเป็นเรื่องยากสำหรับ Amazon ที่จะต้องทำ ผู้คนไม่ต้องการให้เพื่อนรู้ว่าพวกเขากำลังซื้อหนังสือหรือภาพยนตร์อะไรบ้างข้อมูลด้านประชากรศาสตร์ไม่ไม่มีอะไรในคำแนะนำที่บ่งบอกว่าพวกเขากำลังมองดูสิ่งนี้ [ต่างจาก Netflix ที่แสดงสิ่งที่คนอื่นในพื้นที่ของฉันกำลังดูอยู่ .])


อเมซอนมานานหลายปีได้สัมผัสกับวงการซื้อ - ซึ่งเป็นแนวโน้มการซื้อที่ไม่ระบุชื่อตามชื่อโดเมน บริษัท และรหัสไปรษณีย์ ต้องมีผู้ซื้อที่แตกต่างอย่างน้อย 50 รายในวงกลมการซื้อก่อนที่คุณจะได้รับข้อมูลเกี่ยวกับมัน - ดังนั้น amazon จึงเก็บรักษาติดตามและใช้ข้อมูลนั้นเพื่อช่วยตัวเอง (และคนอื่น ๆ ) เข้าใจว่าอะไรเป็นที่นิยม คุณสามารถดูซีดีอุปกรณ์อิเล็กทรอนิกส์และการซื้อหนังสือในพื้นที่ของคุณหรือที่ บริษัท ของคุณ พวกเขาสัมผัสจาก 1999-2002 forum.dvdtalk.com/archive/t-122436.htmlยังมีสำเนาและวางข้อความจาก amazon อธิบายพวกเขา
เดฟด่วน

3

ฉันไม่มีความรู้เกี่ยวกับอัลกอริทึมของ Amazon โดยเฉพาะ แต่ส่วนประกอบหนึ่งของอัลกอริทึมดังกล่าวอาจเกี่ยวข้องกับการติดตามกลุ่มของรายการที่มักสั่งด้วยกันแล้วใช้ข้อมูลนั้นเพื่อแนะนำรายการอื่น ๆ ในกลุ่มเมื่อลูกค้าซื้อชุดย่อยของ กลุ่ม.

ความเป็นไปได้อีกอย่างหนึ่งก็คือการติดตามความถี่ของรายการ B ที่ถูกสั่งซื้อภายใน N วันหลังจากสั่งซื้อรายการ A ซึ่งอาจเป็นการแนะนำความสัมพันธ์


2

เท่าที่ฉันรู้มันใช้Case-Based Reasoningเป็นเครื่องมือสำหรับมัน

คุณสามารถเห็นในแหล่งนี้: ที่นี่ , ที่นี่และที่นี่

มีหลายแหล่งใน google เพื่อค้นหา amazon และการใช้เหตุผลเป็นกรณี ๆ ไป


0

มีคนทำการนำเสนอที่มหาวิทยาลัยของเราในสิ่งที่คล้ายกันเมื่อสัปดาห์ที่แล้วและอ้างอิงระบบแนะนำของ Amazon ฉันเชื่อว่ามันใช้รูปแบบของK-Means Clusteringเพื่อจัดกลุ่มคนให้เป็นนิสัยการซื้อที่แตกต่างกัน หวังว่าจะช่วย :)

ตรวจสอบนี้เกินไป: http://www.almaden.ibm.com/cs/people/dmodha/ml02.psและเป็น HTML


0

หากคุณต้องการบทช่วยสอน (โดยใช้โอเพ่นซอร์ส R) คุณสามารถทำได้แย่กว่านี้: https://gist.github.com/yoshiki146/31d4a46c3d8e906c3cd24f425568d34e

มันเป็นรุ่นที่ได้รับการปรับปรุงประสิทธิภาพในการรันไทม์ของงานชิ้นอื่น: http://www.salemmarafi.com/code/collaborative-filtering-r/

อย่างไรก็ตามการแปรผันของรหัสในลิงค์แรกทำงานเร็วขึ้นดังนั้นฉันแนะนำให้ใช้มัน (ฉันพบส่วนที่ช้าของรหัส yoshiki146 เท่านั้นคือขั้นตอนสุดท้ายซึ่งสร้างคำแนะนำในระดับผู้ใช้ - ใช้เวลาประมาณหนึ่งชั่วโมงกับข้อมูลของฉัน เครื่องของฉัน)

ฉันปรับรหัสนี้ให้ทำงานเป็นเครื่องมือแนะนำสำหรับผู้ค้าปลีกที่ฉันทำงาน

อัลกอริทึมที่ใช้คือ - ดังที่คนอื่น ๆ ได้กล่าวไว้ข้างต้น - การกรองแบบร่วมมือกัน วิธีการ CF นี้คำนวณเมทริกซ์ความคล้ายคลึงโคไซน์แล้วเรียงลำดับตามความคล้ายคลึงกันนั้นเพื่อค้นหา 'เพื่อนบ้านที่ใกล้ที่สุด' สำหรับแต่ละองค์ประกอบ (วงดนตรีในตัวอย่างที่กำหนดผลิตภัณฑ์ขายปลีกในแอปพลิเคชันของฉัน)

ตารางผลลัพธ์สามารถแนะนำวงดนตรี / ผลิตภัณฑ์ตามวงดนตรี / ผลิตภัณฑ์อื่นที่เลือก

ส่วนถัดไปของรหัสจะไปอีกขั้นด้วยตัวกรองการทำงานร่วมกันของ USER (หรือลูกค้า)

ผลลัพธ์ของตารางนี้เป็นตารางขนาดใหญ่ที่มี 100 แถบ / ผลิตภัณฑ์สูงสุดที่แนะนำสำหรับผู้ใช้ / ลูกค้าที่กำหนด


1
แม้ว่าลิงก์นี้อาจตอบคำถามได้ดีกว่าหากรวมส่วนสำคัญของคำตอบไว้ที่นี่และให้ลิงก์สำหรับการอ้างอิง คำตอบสำหรับลิงก์เท่านั้นอาจไม่ถูกต้องหากหน้าเว็บที่เชื่อมโยงมีการเปลี่ยนแปลง - จากการรีวิว
Kos

จริง ... อัลกอริทึมที่ใช้คือ - อย่างที่คนอื่น ๆ ได้กล่าวไว้ข้างต้น - การกรองแบบร่วมมือกัน วิธีการ CF นี้คำนวณเมทริกซ์ความคล้ายคลึงโคไซน์แล้วเรียงลำดับตามความคล้ายคลึงกันนั้นเพื่อค้นหา 'เพื่อนบ้านที่ใกล้ที่สุด' สำหรับแต่ละองค์ประกอบ (วงดนตรีในตัวอย่างที่กำหนดผลิตภัณฑ์ขายปลีกในแอปพลิเคชันของฉัน) ตารางผลลัพธ์สามารถแนะนำวงดนตรี / ผลิตภัณฑ์ตามวงดนตรี / ผลิตภัณฑ์อื่นที่เลือก ส่วนถัดไปของรหัสจะไปอีกขั้นด้วยตัวกรองการทำงานร่วมกันของ USER (หรือลูกค้า) ผลลัพธ์ของตารางนี้เป็นตารางขนาดใหญ่ที่มี 100 วงดนตรี / ผลิตภัณฑ์ยอดนิยมที่แนะนำสำหรับผู้ใช้ / ลูกค้าที่กำหนด
ChrisD

โปรดแก้ไขคำตอบของคุณและเพิ่มข้อมูลที่นั่นไม่ใช่ในส่วนความเห็นขอบคุณ
Kos
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.