การทำภาพข้อมูลหนังสือทุกเล่มของโลกใน ISBN-Space
(phiresky.github.io)-
การทำภาพข้อมูลหนังสือทุกเล่มของโลกใน ISBN Space
-
ห้องสมุดพยายามรวบรวมความรู้ของมนุษยชาติมาโดยตลอด ในยุคดิจิทัล อาจเป็นไปได้ที่จะรวบรวมงานเขียนทั้งหมดของมนุษยชาติอย่างครอบคลุม หากเป็นไปตามเกณฑ์บางประการ ส่วน shadow library มีบทบาทในการรวบรวมและแบ่งปันหนังสือให้ได้มากที่สุดเท่าที่จะทำได้
-
ISBN (เลขมาตรฐานสากลประจำหนังสือ) เป็นตัวเลข 13 หลักที่ถูกกำหนดให้กับหนังสือที่ตีพิมพ์เกือบทั้งหมด หมายเลขนี้มีโครงสร้างเฉพาะ ทำให้สามารถสร้างภาพข้อมูลของ ISBN13-space ที่มีสล็อตอยู่ 2 พันล้านช่องได้
-
โครงสร้างเฉพาะของ ISBN
- คำนำหน้า 978-/979- ของ ISBN เป็นส่วนย่อยของรหัสสินค้ายุโรป ซึ่งแทบจะมองข้ามได้
- หน่วยงาน ISBN ระหว่างประเทศจะจัดสรรบล็อก ISBN ขนาดใหญ่ให้แก่องค์กรระหว่างประเทศ และแต่ละประเทศก็จะแบ่งย่อยบล็อกเหล่านี้ให้กับสำนักพิมพ์ต่อไป
- บล็อก ISBN จะถูกจัดสรรตามคำนำหน้าเสมอ ตัวอย่างเช่น ญี่ปุ่นได้รับการจัดสรร 978-4 และใช้ค่านี้ในการแจกจ่าย ISBN ให้กับสำนักพิมพ์
-
เส้นโค้งเติมเต็มปริภูมิ
- เมื่อตัดคำนำหน้าและคำต่อท้ายออกจาก ISBN แล้ว จะเหลือเป็นเลขฐานสิบระหว่าง 0 ถึง 2 พันล้าน จึงจำเป็นต้องมีวิธีฉายค่านี้ลงสู่ปริภูมิ 2 มิติ
- มีการเสนอเส้นโค้งเติมเต็มปริภูมิอย่าง Hilbert curve แต่สิ่งนี้อาจนำโครงสร้างที่ไม่มีอยู่จริงในข้อมูลเข้ามาได้
-
เส้นโค้ง "ชั้นหนังสือ"
- ISBN เป็นเลขฐานสิบโดยเนื้อแท้ จึงสามารถใช้คุณสมบัตินี้สร้างเส้นโค้งเติมเต็มปริภูมิที่เข้าใจง่ายและดึงดูดสายตาได้
- เส้นโค้งนี้มีลักษณะเหมือนชั้นหนังสือ และสามารถแปลง ISBN เป็นพิกัดได้ด้วยการแปลงพิกัดแบบง่าย
-
ไทล์แผนที่
- สามารถสร้างภาพไทล์สำหรับแต่ละคำนำหน้าได้ และสำหรับแต่ละชุดข้อมูลจะเก็บข้อมูลคนละแบบไว้ต่อพิกเซล
- ที่ระดับการซูมสูงสุด จะจับคู่หนังสือ 1 เล่มต่อ 1 พิกเซลเพื่อความแม่นยำ
-
เชดเดอร์
- แทนที่จะเก็บข้อมูล RGB โดยตรง ระบบใช้ GLSL fragment shader ในการเรนเดอร์ ทำให้สามารถเลือก color scale ได้ภายหลัง และรวมหลายชุดข้อมูลเข้าด้วยกันได้ทันที
-
มุมมองชั้นหนังสือ
- ในมุมมองที่ซูมเข้าเต็มที่ แต่ละพิกเซลจะถูกตกแต่งให้เหมือนหนังสือ ซึ่งทำในเชดเดอร์และค่อย ๆ ปรากฏอย่างลื่นไหลตามระดับการซูม
-
ประสิทธิภาพ
- การเรนเดอร์ข้อความถูกทำแบบลำดับชั้นตามระดับการซูมและ view frustum culling เพื่อลดปัญหาด้านประสิทธิภาพ มีการลดจำนวนองค์ประกอบ HTML และจำกัดเนื้อหาใน DOM
-
บาร์โค้ด
- ที่ระดับการซูมสูงสุด หนังสือแต่ละเล่มจะมีบาร์โค้ด ซึ่งเพิ่มเข้ามาเพื่อเน้นย้ำแนวคิดของการจัดเรียงหนังสือตาม ISBN
-
ช่วงของสำนักพิมพ์
- แต่ละ "กลุ่ม" จะมีช่วงขนาดใหญ่ และสำนักพิมพ์แต่ละแห่งจะมีช่วงย่อยภายในกลุ่มนั้น เพื่อทำภาพข้อมูลนี้ จึงกำหนดสีเฉพาะให้กับแต่ละกลุ่มและแต่ละสำนักพิมพ์
-
เส้นทางการบิน
- เมื่อค้นหาหนังสือหรือคลิกมินิแมป ระบบจะย้ายไปยังตำแหน่งนั้น การคำนวณเส้นทางการบินมีความซับซ้อน และได้รับการปรับปรุงผ่านการลองหลายครั้ง
-
สถาปัตยกรรม
- ไม่จำเป็นต้องมีแบ็กเอนด์ โดยใช้ static file host สำหรับเก็บ HTML, JS, CSS, PNG และ JSON
- ฟรอนต์เอนด์ถูกพัฒนาด้วย ThreeJS, React และ MobX
-
บทสรุป
- วิธีนี้มอบแนวทางที่ยืดหยุ่นสำหรับการทำภาพข้อมูลของหนังสือทุกเล่มที่ตีพิมพ์ด้วย ISBN โปรเจ็กต์นี้สนุกมาก และสามารถดูซอร์สโค้ดได้บน GitHub
1 ความคิดเห็น
ความคิดเห็นบน Hacker News
ตอนเริ่ม Amazon เคยอยากใช้การจัดหมวดหมู่สามชั้นของ Library of Congress แต่ผู้ให้บริการข้อมูลแปลงมันเป็นสตริงเดียว ทำให้หาขอบเขตได้ยาก สุดท้ายจึงต้องล้มเลิกไอเดียนี้
มีกรณีที่ ISBN ถูกกำหนดซ้ำให้หนังสือหลายเล่ม ดังนั้นคำว่า "หนังสือทั้งหมดในพื้นที่ ISBN" อาจเป็นการกล่าวเกินจริง นอกจากนี้ยังมีหนังสือที่มี ISBN ผิดพลาด ซึ่งอาจอยู่นอกพื้นที่ ISBN ตามที่โพสต์บล็อกนี้ตั้งสมมติฐานไว้
งานนำเสนอนี้สะท้อนเฉพาะเนื้อหาใน Anna’s Archive และมีอคติต่อบางภาษา ส่วนที่แสดงเป็นสีดำหมายถึงรายการที่ไม่มีอยู่ในคลังข้อมูล
โปรเจ็กต์นี้น่าทึ่งมาก และฟีเจอร์ที่สามารถดูชื่อหนังสือ บาร์โค้ด ปกหนังสือ และรายละเอียดต่าง ๆ ก็น่าประทับใจ ไอเดียสำหรับการปรับปรุงคือเพิ่มช่องทำเครื่องหมายเพื่อซ่อนแผงสีขาวมุมซ้ายบนและองค์ประกอบมุมขวาบน
สามารถจำลองการเคลื่อนที่บนไฮเพอร์โบลิกอัปเปอร์ฮาล์ฟเพลนเพื่อคิดเส้นทางการบินได้ มีการพิจารณาวิธีลดจำนวนไทล์ให้เหลือน้อยที่สุดตามระดับการซูม และการใช้งานปัจจุบันใช้เวลามากขึ้นกับการแพนเมื่ออยู่ที่ระดับซูมสูง
งานนำเสนอในรูปแบบปัจจุบันอาจดูล้นเกินไปเล็กน้อย แต่การทำภาพข้อมูลและความลึกของข้อมูลนั้นยอดเยี่ยม การได้เห็นกิจกรรมการตีพิมพ์ของแต่ละภูมิภาคน่าสนใจมาก โดยโปแลนด์คึกคักในช่วงหลัง และจีนเพิ่มขึ้นอย่างมากตั้งแต่ปี 2005
Microsoft SilverLight PivotViewer เหมาะกับแอปพลิเคชันนี้มาก และ TED talk ของ Gary W. Flake ก็น่าประทับใจ อย่างไรก็ตาม น่าเสียดายที่มันไม่ใช่มาตรฐานเว็บ
โปรเจ็กต์ลักษณะเดียวกับ Library of Babel ในโลกจริงนั้นน่าสนใจ และถ้าห้องสมุดหรือพิพิธภัณฑ์ไร้ขีดจำกัดเกิดขึ้นจริงใน VR ก็เป็นสิ่งที่คุ้มค่าแก่การลงทุน
เวลาซูมเข้าแล้วเห็นชั้นหนังสือนั้นเจ๋งมาก
เป็นภาพข้อมูลที่ยอดเยี่ยมมาก และยังมีผลงานส่งเข้ามาเจ๋ง ๆ อีกมาก