ระบบผู้แนะนำแบบไดนามิก


14

Recommender ระบบจะวัดความสัมพันธ์ระหว่างการจัดอันดับของผู้ใช้งานที่แตกต่างกันและข้อเสนอแนะที่อัตราผลตอบแทนสำหรับผู้ใช้ที่ได้รับเกี่ยวกับรายการที่อาจเป็นที่สนใจของเขา

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

ระบบผู้แนะนำควรทำงานในสภาพแวดล้อมที่เปลี่ยนแปลงอย่างไร

  1. ทางเลือกหนึ่งคือการตัดคะแนน "เก่า" ซึ่งอาจใช้งานได้ดีสมมติว่าคุณกำหนด "เก่า" ไว้อย่างถูกต้อง (คุณสามารถพูดได้ว่าคะแนนไม่หมดอายุและแสร้งทำเป็นว่าไม่มีปัญหา) แต่มันไม่ใช่ตัวเลือกที่ดีที่สุด: แน่นอนว่ารสชาติมีวิวัฒนาการเป็นกระแสชีวิตปกติและไม่มีเหตุผลว่าทำไมเราไม่สามารถใช้ความรู้พิเศษในการจัดอันดับที่ถูกต้องในครั้งเดียว
  2. ตัวเลือกอื่นคือเพื่อรองรับความรู้พิเศษนี้ ดังนั้นเราจึงไม่เพียงแค่ค้นหา "การจับคู่แบบทันที" สำหรับความสนใจปัจจุบันของคุณ แต่แนะนำสิ่งที่คุณอาจชอบต่อไป (ตรงข้ามกับสิ่งที่คุณอาจชอบตอนนี้ )

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

ตอนนี้คำถาม:ฉันสงสัยว่ามีบางสิ่งที่คล้ายกับ "ตัวเลือก 2" อยู่แล้วและถ้าเป็นเช่นนั้นฉันสงสัยว่ามันทำงานอย่างไร และหากไม่มีอยู่คุณสามารถพูดคุยเกี่ยวกับวิธีการใช้งานได้! :)

คำตอบ:


8

ฉันขอแนะนำกระดาษกรองความร่วมมือกับพลวัตทางโลกโดย Yehuda Koren (การประกวด Netflix!) ซึ่งมีการพูดถึงปัญหานี้อย่างละเอียด

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

อย่างไรก็ตาม Koren ไม่พยายามระบุวิถีดังกล่าวอย่างชัดเจน (เช่นเพื่อให้สามารถทำนายพฤติกรรมการเปลี่ยนแปลงในอนาคตของผู้ใช้ได้) เนื่องจากเป็นงานที่ยากมาก คุณสามารถจินตนาการสิ่งนี้ได้โดยจำไว้ว่าการตั้งค่า "สถานี" ตามเส้นทางนั้นไม่ได้ถูก จำกัด เวลา แต่สำหรับการพัฒนาส่วนบุคคลของผู้ใช้อาจจะถูกขัดจังหวะหรือข้ามโดยวิถีอื่นหรือแสดงออกในลักษณะที่แตกต่างกัน เช่นหากมีการย้ายจากภาพยนตร์แอ็คชั่นฮาร์ทไปยังภาพยนตร์แอ็คชั่นไม่มีสิ่งใดที่จะเป็น "รายการ soft action movie" ที่ชัดเจนหรืออะไรทำนองนั้น ผู้ใช้สามารถเข้าสู่บริเวณนี้ได้ทุกเวลา (ในเวลาและพื้นที่รายการ) ปัญหานี้รวมกับความกระจัดกระจายของข้อมูลทำให้แทบจะเป็นไปไม่ได้ที่จะสร้างแบบจำลองที่เป็นไปได้ที่นี่

Koren พยายามที่จะแยกข้อมูลที่ผ่านมาออกเป็นสัญญาณระยะยาวและสัญญาณรบกวนรายวันเพื่อเพิ่มประสิทธิภาพของการทำนายอันดับ เขาใช้วิธีนี้กับทั้ง SVD และโมเดล neigborbood ที่ใช้งานง่าย น่าเสียดายที่ฉันยังไม่ได้เรียนวิชาคณิตศาสตร์ดังนั้นฉันจึงไม่สามารถให้รายละเอียดเพิ่มเติมเกี่ยวกับสิ่งนี้

หมายเหตุเพิ่มเติมเกี่ยวกับการสร้างแบบจำลองอย่างชัดเจนของวิถี

พื้นที่ของการทำเหมืองลำดับนั้นมีวิธีการทำ แต่จุดสำคัญคือการหาการแสดงนามธรรมที่เหมาะสมของรายการ (เนื่องจากการใช้รายการตัวเองจะไม่ทำงานเนื่องจากความเบาบาง) เช่นการจัดกลุ่มเป็นแท็ก อย่างไรก็ตามในขณะที่วิธีการนี้อาจให้ข้อมูลเชิงลึกเกี่ยวกับพฤติกรรมของผู้ใช้บางคน (Data Mining!) มันอาจจะไม่เกี่ยวข้องเมื่อนำไปใช้กับลูกค้าทุกคน ดีกว่าในตอนท้าย


บทความของ Yehuda นั้นใกล้เคียงกับสิ่งที่ฉันพูดถึงมากถึงแม้ว่าเขาจะไม่ได้พูดถึง บางทีคุณอาจถูกต้องและ "อัตราการเปลี่ยนแปลงรสชาติ" ไม่ได้รับการแก้ไขสำหรับบุคคลใด ๆ .. ขอบคุณสำหรับลิงค์!
ทะเบียน

ใช่นี่เป็นสิ่งแรกที่ฉันคิด
Stumpy Joe Pete

2

ฉันไม่ได้ตระหนักถึงระบบการทำงาน แต่จะไม่แปลกใจถ้า Amazon, NetFlix หรือบางคนมีระบบดังกล่าว แม้แต่เครื่องมือค้นหาของ Google ก็อาจมีระบบประเภทเดียวกัน

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

อย่างไรก็ตามหลังจากคิดเกี่ยวกับวิธีการนี้อย่างรอบคอบมากขึ้นฉันคิดว่ามันมีข้อบกพร่องร้ายแรงสำหรับการใช้งานหลายอย่าง โดยส่วนตัวแล้วฉันมักจะติดตามประเภทหรือแสดงบางครั้งเบื่อมันย้ายไปอย่างอื่น แต่กลับไปที่ประเภทเดิมในภายหลัง วงจรที่คับแคบ rekindling นี้จะปรากฏในสังคมเช่นกัน

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

วิธีการนี้ไม่มีความแม่นยำหรือการตรวจสอบ แต่ฉันเชื่อว่ามันจะคุ้มค่าที่จะสร้างการทดลองสมมติฐานบางอย่าง


ความคิดของคุณเกี่ยวกับน้ำหนักที่ลดลงสำหรับข้อมูลเก่านั้นคล้ายคลึงกับ "ตัวเลือก 1" ที่จริงแล้ว ฉันกำลังบอกว่าวิถีทั้งหมดของรสนิยมที่เปลี่ยนไปนั้นสำคัญ - นั่นคือถ้าเมื่อวานคุณชอบประเภท A และวันนี้คุณชอบแนว B ระบบจะมองคนอื่นด้วย "AB- ??" ลิ้มรสความเคลื่อนไหวและขอแนะนำว่าในวันพรุ่งนี้คุณต้องการประเภท C.
ทะเบียน

1

ตามที่ฉันเห็นการกรองการทำงานร่วมกันรุ่นที่แก้ไขสามารถทำงานได้ อย่างไรก็ตามคุณจะต้องบันทึกเวลาในแต่ละการจัดอันดับและทำการลงโทษในขณะที่คำนวณน้ำหนักของอันดับที่เก่ากว่า

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