Co-Visitation Recommendation

lukkiddd
lukkiddd
Published in
3 min readDec 18, 2021

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 กลุ่ม

  1. Most viewed — กลุ่มนี้จะเห็นวิดีโอที่มีคนดูเยอะที่สุดใน 1 วันที่ผ่านมา
  2. Top Favorited — กลุ่มนี้จะเห็นวิดีโอที่มีคนกด Favorite มากที่สุด
  3. Top Rated — กลุ่มนี้จะเห็นวิดีโอที่มีคนกด Like มากที่สุด
  4. 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

ไว้ถ้ามีโอกาสจะศึกษาแล้วนับมาเล่าเก็บไว้เพิ่มเติมนะครับ

ขอบคุณครับ

--

--