ในการแก้ไขข้อจำกัดบางประการของการกรองตามเนื้อหา การกรองแบบทำงานร่วมกันใช้ความคล้ายคลึงระหว่างผู้ใช้และ หลายรายการพร้อมกันเพื่อให้คำแนะนำ วิธีนี้ช่วยให้ เพื่อขอคำแนะนำเรื่องโชคดี ซึ่งก็คือการกรองการทำงานร่วมกัน สามารถแนะนำรายการแก่ผู้ใช้ A โดยพิจารณาจากความสนใจ ผู้ใช้ ข ที่คล้ายกัน นอกจากนี้ ยังสามารถเรียนรู้เกี่ยวกับการฝัง โดยอัตโนมัติ โดยไม่ต้องใช้วิศวกรรมรอบด้านสำหรับฟีเจอร์ต่างๆ
ตัวอย่างการแนะนำภาพยนตร์
ลองใช้ระบบการแนะนำภาพยนตร์ที่มีข้อมูลการฝึกฝนนี้ ของเมทริกซ์ความคิดเห็น ซึ่งจะมีลักษณะดังนี้
- แต่ละแถวแสดงแทนผู้ใช้ 1 ราย
- แต่ละคอลัมน์จะแสดงรายการ (ภาพยนตร์)
ความคิดเห็นเกี่ยวกับภาพยนตร์จะจัดอยู่ในหมวดหมู่ใดหมวดหมู่หนึ่งจาก 2 หมวดหมู่ต่อไปนี้
- โจ่งแจ้ง อาจไม่เหมาะสม - ผู้ใช้ระบุว่าชอบภาพยนตร์เรื่องใดเรื่องหนึ่งมากน้อยเพียงใด โดยการให้คะแนนเป็นตัวเลข
- โดยนัย หากผู้ใช้ดูภาพยนตร์ ระบบจะอนุมานว่า ผู้ใช้สนใจ
เพื่อให้อธิบายง่ายขึ้น เราจะสมมติว่าเมทริกซ์ความคิดเห็นเป็นเลขฐานสอง ซึ่งก็คือค่า จาก 1 หมายถึงมีความสนใจในภาพยนตร์
เมื่อผู้ใช้ไปที่หน้าแรก ระบบควรแนะนำภาพยนตร์ อิงตามทั้งคู่:
- ความคล้ายคลึงกันกับภาพยนตร์ที่ผู้ใช้เคยชอบในอดีต
- ภาพยนตร์ที่ผู้ใช้ที่คล้ายกันชอบ
มาดูตัวอย่างประกอบกัน เรามาวางแผนพัฒนาฟีเจอร์สำหรับภาพยนตร์กัน ดังที่อธิบายในตารางต่อไปนี้
ภาพยนตร์ | การจัดประเภท | คำอธิบาย |
---|---|---|
Dark Knight Rises | PG-13 | แบทแมนพยายามช่วยก็อตแธมซิตี้จากการทำลายนิวเคลียร์ ในภาคต่อของ The Dark Knight ในกรุงวอชิงตัน จักรวาลของการ์ตูน |
Harry Potter and the Sorcerer's Stone | PG | เด็กชายกำพร้าค้นพบว่าตัวเองเป็นพ่อมด จึงสมัครเข้าเรียน โรงเรียนฮอกวอตส์ การใช้เวทมนตร์คาถา และพ่อมดแม่มด ซึ่งเขาจะใช้ฝีมือในการต่อสู้ครั้งแรก ลอร์ดโวลเดอมอร์ผู้ชั่วร้าย |
เชร็ค | PG | ยักษาผู้น่ารักและลาเพื่อนคู่ใจเริ่มปฏิบัติภารกิจ เพื่อช่วยเจ้าหญิงฟิโอนา ถูกมังกรขังไว้ในปราสาท |
ทริปเล็ตส์แห่ง Belleville | PG-13 | เมื่อมีการลักพาตัวแชมป์นักปั่นจักรยานมืออาชีพ ตูร์เดอฟร็องส์ คุณยายของเขาและสุนัขน้ำหนักเกินเดินทางไปยังต่างประเทศเพื่อไปช่วยชีวิต ความช่วยเหลือจากนักร้องแจ๊สสูงอายุ 3 ท่าน |
ของที่ระลึก | R | ผู้สูญเสียความจำพยายามแก้ปัญหาฆาตกรรมภรรยาอย่างสุดความสามารถ ด้วยการสักเบาะแสบนร่างกาย |
การฝัง 1 มิติ
สมมติว่าเรากำหนดสเกลาร์ใน \([-1, 1]\) ให้กับภาพยนตร์แต่ละเรื่องที่อธิบาย ภาพยนตร์มีไว้สำหรับเด็ก (ค่าลบ) หรือผู้ใหญ่ (ค่าบวก) สมมติว่าเรากำหนดสเกลาร์ให้กับผู้ใช้แต่ละรายใน \([-1, 1]\) ที่อธิบาย ความสนใจของผู้ใช้ที่มีต่อภาพยนตร์สำหรับเด็ก (ใกล้ -1) หรือสำหรับผู้ใหญ่ ภาพยนตร์ (ใกล้กับ +1) ผลิตภัณฑ์ของการฝังภาพยนตร์และผู้ใช้ การฝังควรสูงกว่า (ใกล้เคียงกับ 1) สำหรับภาพยนตร์ที่คาดว่าผู้ใช้ เพื่อกดชอบ
ในแผนภาพด้านล่าง เครื่องหมายถูกแต่ละเครื่องหมาย จะระบุภาพยนตร์ ที่ผู้ใช้ดู ผู้ใช้คนที่ 3 และ 4 มีค่ากำหนดดังนี้ ฟีเจอร์นี้อธิบายได้เป็นอย่างดี โดยผู้ใช้ที่ 3 ชอบภาพยนตร์สำหรับเด็ก และผู้ใช้ที่ 4 ชอบดูหนังสำหรับผู้ใหญ่ อย่างไรก็ตาม แท็กแรกและแท็กที่สอง ผู้ใช้ ไม่ได้อธิบายไว้อย่างชัดเจนในฟีเจอร์นี้
การฝัง 2 มิติ
ฟีเจอร์หนึ่งไม่เพียงพอที่จะอธิบายความต้องการของผู้ใช้ทุกคน เพื่อเอาชนะ โจทย์ข้อที่ 2 คือการเพิ่มระดับของภาพยนตร์แต่ละเรื่อง ภาพยนตร์บล็อกบัสเตอร์หรือภาพยนตร์นอกกระแส คุณลักษณะที่สองช่วยให้เรานำเสนอ ภาพยนตร์แต่ละเรื่องที่มีการฝัง 2 มิติต่อไปนี้
เราจะวางผู้ใช้ของเราในพื้นที่ที่ฝังเดียวกันอีกครั้งเพื่ออธิบายให้ดีที่สุด เมทริกซ์ความคิดเห็น: สำหรับแต่ละคู่ (ผู้ใช้ รายการ) เราต้องการ จุดของผลิตภัณฑ์ที่ฝังของผู้ใช้และการฝังรายการที่จะปิด เป็น 1 เมื่อผู้ใช้ดูภาพยนตร์ และเป็น 0 หากไม่เป็นเช่นนั้น
ในตัวอย่างนี้ เราออกแบบการฝังด้วยตัวเอง ในทางปฏิบัติ การฝัง สามารถเรียนรู้ได้โดยอัตโนมัติ ซึ่งเป็นพลังของการกรองการทำงานร่วมกัน ใน 2 ส่วนถัดไป เราจะพูดถึงรูปแบบต่างๆ ในการเรียนรู้ การฝังวิดีโอเหล่านี้ และวิธีฝึกให้พวกเขารู้จัก
ลักษณะการทำงานร่วมกันของวิธีการนี้จะเห็นได้ชัดเมื่อโมเดลเรียนรู้ถึง การฝังวิดีโอ สมมติว่าเวกเตอร์การฝังสำหรับภาพยนตร์ได้รับการแก้ไขแล้ว จากนั้นให้ทำดังนี้ โมเดลสามารถเรียนรู้เวกเตอร์ที่มีการฝังเพื่อให้ผู้ใช้อธิบายได้ดีที่สุด ค่ากำหนดของตนเอง ผลที่ได้คือ มีการฝังผู้ใช้ที่มีความชอบคล้ายกันกับ จะอยู่ใกล้กัน ในทำนองเดียวกัน หากการฝังสำหรับผู้ใช้ได้รับการแก้ไข เราจะเรียนรู้การฝังภาพยนตร์เพื่ออธิบายเมทริกซ์ความคิดเห็นได้ดีที่สุด ด้วยเหตุนี้ การฝังภาพยนตร์ที่ชอบโดยผู้ใช้ที่คล้ายกันจะเข้าใกล้ คือพื้นที่ที่ฝัง