ISBN และ ISSN เป็นหมายเลขระบุตัวสิ่งพิมพ์ที่พบได้ในหน้าลิขสิทธิ์ของหนังสือและในหน้าปกของวารสาร ทั้งคู่มีหลักตรวจสอบอยู่ท้ายหมายเลข ซึ่งช่วยให้ระบบห้องสมุดและระบบร้านหนังสือจับความผิดพลาดจากการพิมพ์รหัสได้ทันที บทความนี้จะอธิบายแนวคิดการคำนวณ ลักษณะพิเศษของระบบเลขหนังสือที่ใช้กันสองแบบ และประเด็นที่ทำให้การตรวจหมายเลขสิ่งพิมพ์ยุ่งยากกว่าที่คาด
หลักตรวจสอบของ ISBN และ ISSN คำนวณมาอย่างไร?
แนวคิดพื้นฐานไม่ต่างจากหมายเลขอื่นในตระกูลเดียวกัน คือให้ค่าถ่วงน้ำหนักกับแต่ละตำแหน่ง แล้วนำผลคูณทั้งหมดมาบวกกัน จากนั้นจึงหาค่าที่ทำให้ผลรวมหารลงตัวกับค่ามอดุลัส
ความต่างที่พบในหมายเลขสิ่งพิมพ์คือค่าถ่วงน้ำหนักมักเพิ่มขึ้นหรือลดลงตามตำแหน่ง ไม่ได้สลับกันแบบคงที่เหมือนหมายเลขสินค้าปลีก วิธีนี้ทำให้ตำแหน่งที่อยู่ห่างกันมีอิทธิพลต่อผลรวมไม่เท่ากัน และช่วยจับความผิดพลาดในตำแหน่งท้าย ๆ ได้ดีขึ้น
ระบบเลขหนังสืออีกระบบหนึ่งใช้ค่ามอดุลัสที่เล็กกว่าและใช้ค่าส่วนเติมเต็มแบบพิเศษเพื่อให้เหลือตัวอักษรได้หนึ่งตำแหน่ง รายละเอียดเชิงตัวเลขทั้งหมดเป็นข้อมูลสาธารณะที่หน่วยงานออกหมายเลขเผยแพร่ไว้ ส่วนตัวอย่างในบทความนี้เป็นเพียงค่าสมมติสำหรับอธิบายแนวคิด
ระบบเลขหนังสือสองแบบที่ใช้คู่กัน
โลกของหนังสือมีระบบหมายเลขสองแบบที่ใช้คู่กันอยู่ ระบบแรกเป็นระบบเดิมที่มีความยาวสั้นกว่าและมีหลักตรวจสอบหนึ่งหลัก ระบบที่สองเป็นระบบใหม่ที่ยาวกว่าและถูกออกแบบให้เข้ากับระบบบาร์โค้ดสินค้าปลีก
ความต่างไม่ได้อยู่แค่ความยาว แต่รวมถึงความหมายของส่วนประกอบด้วย ทั้งสองระบบมีส่วนที่ระบุกลุ่มผู้ออกหมายเลขและส่วนที่ระบุตัวสิ่งพิมพ์ แต่ตำแหน่งและความยาวของแต่ละส่วนไม่เหมือนกัน ทำให้การอ่านหมายเลขต้องรู้ก่อนว่าเป็นระบบใด
การที่หนังสือรุ่นเก่าจำนวนมากมีหมายเลขระบบเดิม และหนังสือรุ่นใหม่มีหมายเลขระบบใหม่ ทำให้ระบบห้องสมุดต้องรองรับทั้งสองแบบพร้อมกัน และต้องบันทึกให้ชัดว่าหมายเลขที่เก็บไว้เป็นของระบบใด
ความเชื่อมโยงกับบาร์โค้ดปลีกทำให้ระบบใหม่สอดคล้องกับแนวคิดที่อธิบายไว้ในหลักตรวจสอบของบาร์โค้ดสินค้า
หลักตรวจสอบที่อาจเป็นตัวอักษร
ลักษณะพิเศษของระบบเลขหนังสือระบบเดิมคือหลักตรวจสอบสามารถเป็นตัวอักษรได้หนึ่งตัว ใช้แทนค่าที่มากกว่าตัวเลขหลักเดียว เพื่อให้ระบบสามารถใช้มอดุลัสที่ใหญ่ขึ้นได้โดยไม่ต้องเพิ่มตำแหน่ง
การมีตัวอักษรปนอยู่ในชุดที่คนทั่วไปเข้าใจว่าเป็นตัวเลขทำให้เกิดปัญหาสองข้อ ข้อแรกคือช่องกรอกข้อมูลที่จำกัดให้รับเฉพาะตัวเลขจะปฏิเสธหมายเลขที่ถูกต้อง ข้อที่สองคือการเทียบตัวอักษรต้องไม่คำนึงถึงตัวพิมพ์ เพราะผู้ใช้อาจพิมพ์เป็นตัวเล็กหรือตัวใหญ่
ระบบที่ดียังต้องแจ้งด้วยว่าตัวอักษรตัวนั้นเป็นค่าที่คำนวณได้ ไม่ใช่การพิมพ์ผิด และไม่ควรถูกแทนที่ด้วยตัวเลขหรือตัดทิ้งระหว่างการทำความสะอาดข้อมูล
ช่วงหมายเลขถูกจัดสรรกันอย่างไร
หมายเลขสิ่งพิมพ์ถูกจัดสรรเป็นชั้น ลำดับการจัดสรรมีดังนี้
- หน่วยงานระดับสากลแบ่งช่วงหมายเลขให้กลุ่มผู้ออกหมายเลขแต่ละกลุ่ม
- กลุ่มผู้ออกหมายเลขแบ่งช่วงย่อยให้สำนักพิมพ์แต่ละแห่ง
- สำนักพิมพ์จัดสรรช่วงต่อให้หนังสือแต่ละเล่ม
- เมื่อช่วงหนึ่งใกล้หมด หน่วยงานอาจตัดแบ่งช่วงใหม่หรือเพิ่มช่วงให้กลุ่มเดิม
เพราะการจัดสรรเป็นชั้นเช่นนี้ ช่วงหมายเลขจึงไม่คงที่ตลอดกาล เมื่อช่วงหนึ่งถูกใช้จนหมด หน่วยงานอาจตัดแบ่งช่วงใหม่หรือเพิ่มช่วงให้กับกลุ่มเดิม ผลคือหนังสือที่เคยได้รับหมายเลขชุดหนึ่งอาจมีหมายเลขอีกชุดที่ถูกต้องเพิ่มขึ้นในภายหลัง
นี่เป็นเหตุผลว่าทำไมการเก็บหมายเลขไว้ช่องเดียวแล้วคาดหวังว่าจะมีค่าเดียวตลอดไปจึงไม่สอดคล้องกับความจริง และการทำความเข้าใจชั้นการจัดสรรมักต้องดูเอกสารของผู้ออกหมายเลขเอง
ทำไมหนังสือเล่มเดียวจึงมีหมายเลขได้สองชุด?
เพราะหนังสือเล่มเดียวกันอาจมีทั้งหมายเลขระบบเดิมและหมายเลขระบบใหม่อยู่พร้อมกัน โดยหมายเลขระบบเดิมถูกกำหนดตอนตีพิมพ์ครั้งแรก และหมายเลขระบบใหม่ถูกกำหนดเพิ่มเมื่อระบบใหม่เริ่มใช้
ทั้งสองชุดถูกต้องทั้งคู่ ไม่ได้แปลว่าชุดหนึ่งเป็นของปลอมหรือเป็นความผิดพลาดของข้อมูล ระบบที่ตัดสินว่าชุดหนึ่งผิดเพียงเพราะไม่ตรงกับชุดที่เก็บไว้ก่อนหน้าจึงให้ข้อสรุปที่คลาดเคลื่อน
นอกจากการเปลี่ยนระบบแล้ว การตัดแบ่งช่วงหมายเลขใหม่ก็ทำให้เกิดกรณีเดียวกันได้อีกทาง ระบบที่ดีจึงควรตรวจหมายเลขทั้งสองระบบแยกกัน แล้วบันทึกว่าเลขชุดใดตรวจผ่าน ไม่ใช่เลือกเก็บชุดเดียวแล้วทิ้งอีกชุด
สำหรับวารสารซึ่งเป็นสิ่งพิมพ์ต่อเนื่อง เหตุผลที่ต้องตรวจรูปแบบให้เข้มงวดขึ้นคือหมายเลขของวารสารถูกอ้างอิงในบทความวิชาการและในระบบสืบค้นบ่อยครั้ง จึงมีโอกาสถูกคัดลอกต่อหลายทอดและเกิดความผิดพลาดสะสมได้ง่าย
สำหรับนักพัฒนา: ขีดกลางและข้อมูลนำเข้าที่ไม่สม่ำเสมอ
ปัญหาที่พบบ่อยที่สุดของข้อมูลสิ่งพิมพ์คือตำแหน่งของขีดกลาง ในหมายเลขหนังสือนั้นการวางขีดกลางไม่ตายตัว ทั้งนี้ขึ้นกับว่าช่วงหมายเลขที่จัดสรรให้สำนักพิมพ์นั้นยาวเท่าใด เมื่อช่วงเปลี่ยน จำนวนและตำแหน่งของขีดกลางก็เปลี่ยนตาม
ด้วยเหตุนี้ระบบจึงควรตัดขีดกลางออกทั้งหมดก่อนตรวจ และไม่ควรใช้ขีดกลางในการแยกส่วนประกอบใด ๆ ของหมายเลข การใช้ขีดกลางเป็นตัวแบ่งจะใช้ได้เฉพาะข้อมูลชุดที่ตำแหน่งคงที่เท่านั้น
หมายเลขวารสารมีลักษณะข้อมูลนำเข้าที่หลวมกว่าเดิมอีก เพราะถูกตัดขึ้นบรรทัดใหม่ในรายการอ้างอิงและถูกเว้นวรรคหรือใส่ขีดกลางตามความเคยชินของผู้พิมพ์ ขั้นตอนทำความสะอาดจึงสำคัญกว่าการตรวจรูปแบบเอง
สุดท้ายคือการเก็บข้อมูลต้นทางไว้คู่กับค่าที่ปรับแล้ว เพื่อให้ตรวจสอบย้อนกลับได้ว่าค่าที่เก็บในระบบตรงกับที่เห็นบนหน้าปกจริงหรือไม่ หากคุณต้องการทดลองกับค่าสมมติเพื่อดูว่าส่วนประกอบใดถูกตรวจในชั้นใด เครื่องมือตรวจสอบแสดงผลทีละชั้นและบอกว่ากฎข้อใดใช้ตัดสิน ส่วนภาพรวมของตระกูลสูตรทั้งหมดอยู่ที่ภาพรวมอัลกอริทึมหลักตรวจสอบ
ก้าวต่อไป
เริ่มจากการตรวจว่าระบบของคุณตัดขีดกลางและช่องว่างออกก่อนตรวจหรือไม่ แล้วตรวจว่ารองรับตัวอักษรที่เป็นหลักตรวจสอบได้จริงหรือยัง สองข้อนี้คือจุดที่ทำให้หมายเลขที่ถูกต้องถูกปฏิเสธบ่อยที่สุด
ตัวอย่างเลขหนังสือและเลขวารสารในบทความนี้เป็นชุดสมมติ ไม่ได้อ้างถึงหนังสือหรือวารสารที่ตีพิมพ์จริง และไม่ยืนยันการมีอยู่ของสิ่งพิมพ์ใด