- เมื่อผู้ใช้ป้อนหนังสือที่เคยอ่าน ระบบจะใช้ โมเดลแนะนำ เพื่อเสนอหนังสือเล่มถัดไปให้อ่าน
- ผลการค้นหาและคำแนะนำจะแสดงเฉพาะหนังสือที่มี เกณฑ์ความนิยมถึงระดับที่กำหนด เท่านั้น
- หนังสือที่มีความนิยมน้อยสามารถนำไปใช้ใน ส่วนอื่นของเว็บไซต์ (intersect) ได้
- เมื่อป้อนหนังสือ ตั้งแต่ 3 เล่มขึ้นไป จะได้ผลการแนะนำที่แม่นยำที่สุด
- การทดลองพัฒนาระบบ เทคโนโลยีแนะนำการอ่านแบบเฉพาะบุคคล โดยใช้ข้อมูลรีวิวขนาดใหญ่
ฟีเจอร์แนะนำหนังสือ
- เมื่อผู้ใช้ป้อนหนังสือที่อ่านไปแล้ว ระบบจะแสดง ผลการแนะนำแบบอิงโมเดล
- โดยอ้างอิงจากรายการหนังสือที่ป้อน เพื่อเสนอหนังสือที่น่าอ่านเป็นเล่มถัดไป
- ในผลการแนะนำและผลการค้นหา จะแสดงเฉพาะ หนังสือยอดนิยมที่ถึงระดับที่กำหนด เท่านั้น
- หนังสือที่ต่ำกว่าเกณฑ์ความนิยมจะถูกตัดออกจากผลการแนะนำ
วิธีป้อนข้อมูลและค้นหา
- เมื่อพิมพ์ในช่องค้นหา ตั้งแต่ 2 ตัวอักษรขึ้นไป จะแสดงผลลัพธ์
- หนังสือที่ผู้ใช้เลือกจะแสดงในส่วน
Selected Books และ
หากยังไม่ได้เลือกหนังสือใด จะปรากฏข้อความ “No books selected yet”
ฟีเจอร์เพิ่มเติม
- หนังสือที่มีความนิยมน้อยสามารถนำไปใช้งานแยกต่างหากได้ที่หน้า
/intersect
- เมื่อป้อนหนังสือ ตั้งแต่ 3 เล่มขึ้นไป ความแม่นยำของคำแนะนำจะดีขึ้น
ภาพรวมของบริการ
- เว็บไซต์นี้ใช้โมเดลแนะนำที่อิงจาก ข้อมูลรีวิว Goodreads ขนาดใหญ่ (3 พันล้านรายการ)
- เป้าหมายคือมอบ ประสบการณ์แนะนำหนังสือแบบเฉพาะบุคคล ตามประวัติการอ่านของผู้ใช้
- ต้นฉบับไม่ได้มีรายละเอียดทางเทคนิคหรือคำอธิบายอัลกอริทึมเพิ่มเติม
1 ความคิดเห็น
ความคิดเห็นบน Hacker News
ในข้อนั้นระบุว่า “ห้ามแก้ไข ทำซ้ำ แจกจ่าย หรือใช้คอนเทนต์ในบริการเพื่อสร้างงานดัดแปลง” ดังนั้นถ้าจะนำคอนเทนต์ของผู้รีวิวไปใช้ฝึก LLM ก็น่าจะต้องมี การอนุญาตอย่างชัดแจ้ง
ความถูกกฎหมายของการสแครปขึ้นอยู่กับ เขตอำนาจศาล ในสหรัฐฯ จากคำพิพากษา HiQ Labs v. LinkedIn ทำให้การสแครปหน้าเว็บสาธารณะไม่ถือว่าละเมิด CFAA จึงมีสตาร์ทอัปด้าน การสแครปข้อมูลสาธารณะ เกิดขึ้นมากมาย
ข้อมูลที่แสดงบนไซต์มีเพียงชื่อหนังสือกับผู้แต่ง ซึ่งไม่ได้เป็นทรัพย์สินของ Goodreads
อาจตีความว่าเข้าข่ายข้อห้ามเรื่อง “การสร้างงานดัดแปลง” ได้ แต่ก็ยากจะมองว่าการแนะนำหนังสือจากรีวิวเป็นการละเมิด
มันใกล้เคียงกับยูทูบเบอร์ที่ “อ่านรีวิว 50 ชิ้นแล้วทำวิดีโอแนะนำหนังสือ” มากกว่า
แต่ก็มีข้อเสนอแนะอยู่บ้าง
ถ้ารายชื่อหนังสือที่ฉันเคยอ่านมีมากพอ ก็น่าจะลองหาผู้อ่านที่คล้ายฉัน (‘eigenfriends’) แล้วแนะนำ หนังสือที่เป็นที่ถกเถียงหรือรสนิยมเฉพาะกลุ่ม ที่พวกเขาอ่าน
คราวหน้าถ้า เชื่อม VLM แล้วให้ป้อนรูปชั้นหนังสือ ได้ก็น่าจะสนุกดี
เช่น ถ้าใส่ “Lenin’s Tomb” กับ “Secondhand Time” ก็จะเห็นหนังสืออื่นที่คนซึ่งอ่านทั้งสองเล่มนี้เคยอ่าน
วิธีนี้คล้ายกับของ Filmaffinity ที่ให้คำแนะนำจากกลุ่มผู้ใช้รสนิยมคล้ายกันซึ่งเรียกว่า ‘soulmates’
ส่วนตัวคิดว่าแทนที่จะเน้นหนังสือชวนถกเถียง การ คัดกรองเพื่อนที่รสนิยมต่างออกไป น่าจะให้คำแนะนำที่สดใหม่กว่า
แต่ถ้าใส่หนังสือเล่มหนึ่งจากชุดซีรีส์ (เช่น Discworld #33) ซีรีส์นั้นจะครองผลลัพธ์แนะนำไปหมด อยากให้ตัดซีรีส์ที่กำลังอ่านอยู่แล้วออกได้
อีกอย่างคือมีหนังสือบางเล่มที่อยู่ใน Goodreads แต่ค้นหาไม่เจอ น่าจะหลุดจากชุดข้อมูล
ตอนกดปุ่ม “Similar” กลับได้ หนังสือที่คล้ายกันในเชิงรูปแบบ แต่บริบทต่างกัน
ถึงอย่างนั้นกับหนังสือทั่ว ๆ ไป ผลลัพธ์ก็ตรงกับ wishlist ของฉันดี
ปล่อยออกมาเพราะตัวชี้วัดการทดสอบและการตรวจคุณภาพน่าพอใจแล้ว แต่ทางแก้น่าจะเป็น ใช้โมเดล transformer สร้างผู้สมัคร 100~200 รายการแล้วค่อยใช้ reranker
ตอนนี้ยังใกล้เคียงกับ การแนะนำแบบอิงคอนเทนต์ แต่ต่อไปต้องคำนึงถึงตัวชี้วัดอย่าง serendipity และ novelty ด้วย
ในบริการจริง การมีตัวแนะนำหลายตัวสำหรับเป้าหมายต่างกันแล้ว รวมผลแบบถ่วงน้ำหนัก มักได้ผลดี
เช่น ผสมทั้งแบบอิงคอนเทนต์ แบบอิงกราฟ โมเดลเฉพาะวัตถุประสงค์ หรือแม้แต่แบบอิง TF‑IDF/BM25/Splade
เพราะแต่ละคนอยากได้รับคำแนะนำไม่เหมือนกัน หัวใจสำคัญจึงอยู่ที่ การปรับน้ำหนักรายผู้ใช้
ถ้าชอบนักเขียนคนนั้นอยู่แล้ว เดี๋ยวก็คงไปหางานอื่นของเขาเอง การแนะนำหนังสือของผู้แต่งคนเดิมจึงไม่ค่อยมีความหมาย
คำแนะนำที่น่าสนใจจริงควรเป็นหนังสือที่ (1) ฉันน่าจะชอบ และ (2) คาดไม่ถึง
ถ้าแนะนำสิ่งที่คล้ายเกินไปก็เสี่ยงจะสร้าง echo chamber
หลายครั้งก็ไม่รู้ว่านักเขียนที่เคยอ่านมีงานอื่นอีกหรือไม่
แต่ถ้าเพิ่ม สัญญาณของหนังสือที่ไม่ชอบ (negative signal) ได้ก็น่าจะดี
โดยรวมแล้วผลลัพธ์น่าประทับใจทีเดียว
ต่อให้ไม่นับประเด็นทางกฎหมาย ก็รู้สึกว่า ไม่เหมาะสมในเชิงจริยธรรม
เพราะรายการสุดท้ายจะถูกสะท้อนว่าเกี่ยวข้องกับการทำนายปฏิสัมพันธ์ถัดไปมากที่สุด
ถ้าเพิ่มหนังสือมากขึ้น ผลกระทบนี้จะเบาลง
ตอนนี้กำลังเปิด เบต้าแบบปิดผ่าน TestFlight และจะเปิดสู่สาธารณะในไม่ช้า
ตอนนั้นคนส่วนใหญ่บอกว่าเป็นไปไม่ได้ แต่ตอนนี้ดูเหมือนจะทำได้แล้ว
แต่ถ้ามีชุดข้อมูลใหญ่ขนาดนี้ ก็ยังสงสัยว่า AI จำเป็นจริงหรือไม่
แทนที่จะใช้โมเดลอย่าง SASRec/RAG อาจให้ผลใกล้เคียงกันได้ด้วยการจัดอันดับแบบง่าย ๆ และคำนวณจุดร่วมเหมือน last.fm ในอดีต
เมื่อก่อนฉันเคยคิดโครงสร้างกราฟแบบ ‘สมอง’ สำหรับการแนะนำ โดยปล่อยคะแนนไหลไปตามความเชื่อมโยงระหว่างไอเท็ม
คิดว่าที่อย่าง Amazon เองก็น่าจะใช้วิธีดัดแปลงจากแนวนี้อยู่เหมือนกัน
ถ้าไม่รู้ว่าผู้ใช้ดูหนังเรื่องไหนมาบ้างหรือมีรสนิยมแบบใด ก็ไม่สามารถแนะนำ “หนังที่ยังไม่เคยดูแต่จะชอบ” ได้อย่างแม่นยำ
สุดท้ายมันก็คือ ระบบแนะนำทั่วไปที่ทำได้เมื่อผ่อนคลายข้อจำกัดด้านข้อมูล