Recommendation system อยู่ในชีวิตประจำวันของเราทุกคน เป็นระบบสำคัญที่ทำให้เราสามารถเข้าถึงสินค้าหรือบริการได้ง่ายขึ้น เว็บไซต์หรือแอพลิเคชันส่วนใหญ่ มักจะมีระบบนี้เป็นเบื้องหลังอยู่แล้ว
Customer who X this also X …
หนึ่งในตัวอย่างที่เราเห็นได้บ่อยคือ ส่วนที่แนะนำสินค้าใกล้เคียงกับที่เราสนใจ โดยอาจจะมีชื่อหรือคำที่แตกต่างกันออกไป ไม่ว่าจะเป็น
- Customer who X this also X
- Frequently bought together
- You may also like
ซึ่งเบื้องหลังเหล่านี้ก็อาจจะแตกต่างกันไปขึ้นอยู่กับหลายปัจจัย ไม่ว่าจะเป็นเป้าหมายของระบบ วิธีการออกแบบ ข้อจำกัด ต่าง ๆ
หนึ่งในวิธีที่ได้รับความนิยมมาก คือ Association Rule Mining หรือ Co-visitation
Co-visitation มีไอเดียง่าย ๆ คือ สินค้าที่ถูก ซื้อ/ดู ด้วยกันบ่อย ๆ ในอดีต มักจะถูก ซื้อ/ดู คู่กันอีกในอนาคต
ทำยังไง
จากภาพ
- r(v(i), v(j)) คือ คะแนนความใกล้กันของวิดีโอ ยิ่งเยอะ แปลว่า ยิ่งดูด้วยกันเยอะ
- v(i), v(j) คือ วิดีโอที่ i และ วิดีโอที่ j ตามลำดับ
- C(i,j) คือจำนวนครั้งที่ วิดีโอ i และ วิดีโอ j ถูกดูด้วยกัน
- f(v(i), v(j)) คือ Normalization function แบบที่ง่ายที่สุดคือ จำนวนครั้งที่วิดีโอ i ถูกดู คูณกับ จำนวนครั้งที่วิดีโอ j ถูกดู
ตัวอย่าง
เรามาดูตัวอย่างการคำนวน เพื่อให้เห็นภาพมากขึ้นดีกว่าครับ
จากภาพ สมมติว่ามีผู้ใช้อยู่ 2 คน
- ผู้ใช้ 1 — ดูวิดีโอ [A, B, C]
- ผู้ใช้ 2 — ดูวิดีโอ [B, C, D]
ดังนั้นเราก็จะนับจำนวนครั้งของวิดีโอที่ดูด้วยกัน และ จำนวนครั้งที่ถูกดูของวิดีโอแต่ละตัวได้แล้ว
ถ้าเราต้องการรู้ว่า
คนที่ดูวิดีโอ A เค้าดูวิดีโออะไรอีก
เราก็คำนวนได้ดังนี้ครับ
- r(A, B) = 0.5
- r(A, C) = 0.5
- r(A, D) = 0
จะได้ว่า คนที่ดูวิดีโอ A มักจะดูวิดีโอ B เป็นต้น
ตัวอย่างจาก YouTube Recommendation, 2010
เรื่อง Co-visitation นี้ผมนำมาจาก Paper ของ Davidson et al, 2010 เค้าได้อธิบายระบบ YouTube recommendation ที่ใช้ Co-visitation เป็นเบื้องหลัง พร้อมกับนำไปทำการทดลองกับผู้ใช้บนระบบจริง
โดยที่การทดลองเป็นดังนี้ครับ
ระยะเวลา: 21 วัน
วัดผล: CTR (Click-Through-Rate)
กลุ่มทดสอบถูกแบ่งเท่า ๆ กัน เป็นทั้งหมด 4 กลุ่ม
- Most viewed — กลุ่มนี้จะเห็นวิดีโอที่มีคนดูเยอะที่สุดใน 1 วันที่ผ่านมา
- Top Favorited — กลุ่มนี้จะเห็นวิดีโอที่มีคนกด Favorite มากที่สุด
- Top Rated — กลุ่มนี้จะเห็นวิดีโอที่มีคนกด Like มากที่สุด
- Recommended — กลุ่มนี้จะเห็นระบบ Recommendation ที่คำนวนโดยใช้วิธี Co-visitation ร่วมกับประวัติการใช้งานของผู้ใช้แต่ละคน และข้อมูลอื่น ๆ
ผลลัพธ์
กลุ่ม Recommended มี CTR สูงกว่ากลุ่ม Most viewed ถึง 207% ในขณะเดียวกัน กลุ่ม Top Favorited และ Top Rated มี CTR ที่ใกล้เคียงกัน หรือ กลุ่มน้อยกว่า Most viewed
อีกหัวข้อที่น่าสนใจไม่แพ้กันคือ ระบบ Recommender ที่สร้างขึ้นมา สามารถที่จะถูกผู้ไม่หวังดีโจมตีก็ได้ เช่น Fake Co-visitation Injection Attacks to Recommender Systems
ไว้ถ้ามีโอกาสจะศึกษาแล้วนับมาเล่าเก็บไว้เพิ่มเติมนะครับ
ขอบคุณครับ