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