Recommendation Systems
by panuta on March 10, 2008
Wired ฉบับเดือนมีนาคม 2008 เรื่อง This Psychologist Might Outsmart the Math Brains Competing for the Netflix Prize มีประเด็นที่น่าสนใจอยู่คือเรื่องของ ความฉลาดของระบบคอมพิวเตอร์ในการเดาใจมนุษย์
พูดถึง Netflix แล้ว ถ้าใครเคยใช้บริการก็คงจะรู้ว่า Netflix มีระบบ recommendation หรือที่มีชื่ออย่างเป็นทางการว่า Cinematch ที่ไว้เดาใจผู้ใช้ว่าอยากจะเช่าหนังเรื่องอะไรต่อไป โดยพิจารณาจากคะแนนที่เราให้ไว้ในหนังแต่ละเรื่องที่เราดูไปแล้ว เป็นระบบที่ดูภายนอกเหมือนจะเรียบง่าย ไม่ได้ยุ่งยากอะไร แค่หาแนวหนัง Action, Romantic, Thriller ฯลฯ แล้วก็เอารายชื่อหนังแนวนั้นออกมาแสดง … แต่จริงๆแล้วหนังแต่ละเรื่องมันมีลักษณะเฉพาะเยอะกว่านั้น กลุ่มหนัง Action ก็ไม่ใช่ว่าจะเหมือนกันหมด ซึ่งผมที่ชอบหนัง Action ก็ไม่ใช่จะชอบไปทุกเรื่อง มันมีอะไรมากกว่านั้นอีกเยอะ เช่น ผู้กำกับ โทนของเรื่อง ความลึกซึ้งของเนื้อหา ฯลฯ ซึ่งก็ทำให้ระบบนี้เป็นระบบที่ซับซ้อนพอสมควร ในการจะเดาใจผู้ใช้ให้แม่นยำ เมื่อเดือนตุลาคม ปี 2006 Netflix ประกาศจะมอบรางวัลเป็นจำนวน 1 ล้านเหรียญสหรัฐ ให้ใครก็ได้ที่ทำให้ระบบนี้แม่นยำมากขึ้นกว่าเดิม 10% ตอนแรกผมก็ว่า 10% นี่จิ๊บจ๊อย แต่พออ่านบทความใน Wired แล้วถึงรู้ว่ามันยากสุดๆ (กับระบบที่มันดีอยู่แล้ว ไปทำให้มันดีขึ้นไปอีก ก็ต้องยากแน่นอน)
ประเด็นคือระบบอย่างนี้เนี่ย … มันทำให้ลูกค้าติด เป็นการสร้างจุดเด่นที่ไม่มีใครเหมือน ใครที่สมัครแล้ว ก็จะเช่าเรื่องต่อไปอยู่เรื่อยๆ (Netflix เก็บค่าบริการเป็นรายเดือน) ซึ่งก็จะทำให้เกิดกรณีที่ไม่มีหนังจะดูต่อไปได้ยาก เพราะระบบก็จะแนะนำเรื่องโน้นเรื่องนี้มาให้อยู่เรื่อยๆ
ระบบ recommendation อย่างนี้ไม่ได้มีแต่ Netflix อย่างเดียว ถ้าใครเปิดเว็บ Amazon.com อยู่บ่อยๆก็จะเห็นระบบคล้ายๆอย่างนี้เหมือนกัน (แต่ฉลาดน้อยกว่าเยอะ) เว็บฟังเพลง online อย่าง Last.fm หรือ Pandora ก็มีระบบค้นหาชุดเพลงจากเพลงหรือศิลปินที่เราชอบ ในกรณีของ Pandora เนี่ย เค้าใช้คนจริงๆเป็นคนจัดระบบเพลง โดยเป็นโครงการที่มีชื่อสุดเท่ห์ว่า The Music Genome Project (คิดได้ยังไง สุดยอดจริงๆ)
ระบบพวกนี้เนี่ย ไม่ได้ทำขึ้นมาได้ง่ายๆโดยการจ้างโปรแกรมเมอร์ 10-20 คน ทำงานครึ่งปี … มันเกิดจากคณิตศาสตร์ขั้นสูง คอมพิวเตอร์อัลกอรึทึม ระบบวิเคราะห์ข้อมูลอัจฉริยะ การศึกษาพฤติกรรมของมนุษย์ ฯลฯ ซึ่งเป็นศาสตร์ที่มีคนรู้ค่อนข้างน้อย หาคนที่มีความสามารถค่อนข้างยาก และจะให้คนๆนั้นมาทำงานให้นี่ก็ยิ่งยากเข้าไปอีก (ในกรณีที่พ่อไม่รวย ไม่มีเงินลงทุนสูงๆ) แต่ถ้าใครสามารถสร้างจุดเด่นตรงนี้ขึ้นมาได้ ก็ยากที่คู่แข่งจะเร่งพัฒนาให้ตามทัน (แต่ใช่ว่าจะทำให้ไม่มีคู่แข่ง และใช่ว่าจะเป็นการรับประกันความสำเร็จด้วยเหมือนกัน)
ยังมีอีกหลายไอเดียที่ระบบแบบนี้สร้างจุดเด่นให้ได้ เช่น แนะนำร้านอาหาร แนะนำหนังสือ แนะนำ blog entry (น่าสนใจ! … ส่งคำแนะนำผ่าน Twitter ด้วยก็แจ่มเลย) และอีกมากมาย
4 comments
อ. มะนาวแกเคยไปเขียนให้ NetFlix (แต่ไม่ชนะนะ) ลองขอให้แกเล่าลงบล็อกดูน่าจะมัน
by mk on March 10, 2008 at 5:38 am. #
ได้อ่านเหมือนกัน นอกจากเรื่องนี้แล้ว ระบบวิเคราะห์ในตลาดการเงิน เป็นตลาดระดับพันล้านเหรียญเลย บ.วิเคราะห์การเงินดังๆจ้างนักคณิตศาสตร์ นักสถิติ และนักคอมพิวเตอร์ ในราคาแพง เพราะมันคุ้มค่าต่อต้นทุนมาก ถ้าคิดเพียงว่าสิ่งที่คนเหล่านี้ปรับปรุงเพียง 0.01% อาจะทำให้บริษัทมีกำไรเพิ่มขึ้ันในหลักล้านเหรียญ
ในทำนองตรงข้าม ถ้าวิเคราะห์ผิดพลาดก็ขาดทุนมหาศาลเหมือนกัน risk-reward เป็นเรื่องที่มีผลต่อทุกการตัดสินใจ และจะสำคัญมากๆในวงการที่ต้องเกี่ยวข้องกับผลประโยชน์จำนวนมาก
by พี่วี on March 10, 2008 at 6:36 pm. #
จะเขียนโปรแกรมแบบนี้ได้ สงสัยโปรแกรมเมอร์ต้องมีlogic ในการเดาใจคนซะก่อนนะ ฮ่าๆๆ
by :-p on March 10, 2008 at 7:12 pm. #
[...] Recommendation Systems ไป [...]
by Recommendation Systems - Part 2 on April 28, 2008 at 2:23 pm. #