สองสัปดาห์ก่อน พยายามจะเอาข้อมูลรายจ่ายภาครัฐมาใช้งาน แต่ก็พบปัญหาในการเอามาใช้ คือข้อมูลเท่าที่หาได้ มันไม่ machine-readable หรือ “อ่านด้วยเครื่องไม่ได้”
เขียนสรุปเอาไว้ที่บล็อกโอเพ่นดรีม: รายจ่ายภาครัฐ ประจำปีงบประมาณ 2544-2554 ในรูปแบบ machine-readable (ดาวน์โหลดข้อมูลในฟอร์แมต OpenDocument)
สาเหตุหลัก ๆ คือ:
- เป็น PDF ไม่ใช่ CSV หรือข้อมูลในรูปแบบตารางที่คำนวณได้ อย่าง OpenDocument spreadsheet หรือ Excel
- แย่กว่านั้น บาง PDF เป็นแบบรูปภาพ-สแกนหน้ากระดาษามา แถมเอียงหรือไม่ชัดอีกต่างหาก
- PDF ที่เหมือนจะเป็นข้อความดี ๆ บางอันก็มีปัญหาการเข้ารหัสชุดตัวอักษร เช่นแสดงให้เห็นเป็น “๔๕,๐๐๐,๐๐๐,๐๐๐” แต่พอ copy มา paste ก็กลายเป็น “Ùı,,,” แบบนี้คือ human-readable แต่ไม่ machine-readable แบบชัด ๆ เลย
- เอกสารใช้เลขไทย ซึ่งไม่ใช่ว่าทุก machine จะ read มันในฐานะจำนวนได้ — เช่นถ้าพิมพ์ “๔๕” ลงไปในสเปรดชีตของ Google Docs มันก็จะเห็นเป็น ข้อความ (string) “๔๕” แต่ไม่ใช่ จำนวน (int/float) ๔๕ ที่คำนวณได้ (ตัว LibreOffice นั้นเก่งหน่อย จัดการตรงนี้ได้ มองเห็นเป็นจำนวน)
เวลาจะเปิดข้อมูลสาธารณะ ต้องคิดถึงเรื่องพวกนี้ด้วย จะทำยังไง ให้ข้อมูลที่เปิดออกมา มัน machine-readable เพื่อให้คนเอาไปใช้ประโยชน์ต่อได้อย่างเต็มที่
เช่น ถ้าเป็นข้อมูลภาครัฐ การทำอย่างนั้น ก็จะช่วยให้ประชาชนประชาชนไม่จมอยู่กับกองข้อมูลมหาศาล ที่เอาไปใช้ได้ลำบากเหลือเกิน การเข้าถึงข้อมูลที่สะดวกขึ้น ก็จะทำให้ทุกคนสามารถมีส่วนร่วมกับการปกครองได้มากขึ้น ทั้งในแง่การเอาข้อมูลไปใช้ช่วยในการตัดสินใจในท้องถิ่นหรือในธุรกิจของตัวเอง และทั้งในแง่การตรวจสอบส่วนกลาง (ดูเพิ่มเติมที่บทสัมภาษณ์ ไกลก้อง ไวทยการ เรื่อง Open Data การพัฒนาเศรษฐกิจ-สังคม-การเมือง) ให้สมกับหลักการและเหตุผลของ พ.ร.บ.ข้อมูลข่าวสารของราชการ 2540 ที่ว่า:
ในระบอบประชาธิปไตย การให้ประชาชนมีโอกาสกว้างขวางในการได้รับข้อมูลข่าวสารเกี่ยวกับการดำเนินการต่างๆ ของรัฐเป็นสิ่งจำเป็น เพื่อที่ประชาชนจะสามารถแสดงความคิดเห็นและใช้สิทธิทางการเมืองได้โดยถูกต้องกับความจริง อันเป็นการส่งเสริมให้มีความเป็นรัฐบาลโดยประชาชนมากยิ่งขึ้น สมควรกำหนดให้ประชาชนมีสิทธิได้รู้ข้อมูลข่าวสารของราชการ … ทั้งนี้เพื่อพัฒนาระบบประชาธิปไตยให้มั่นคงและจะยังผลให้ประชาชนมีโอกาสรู้ถึงสิทธิหน้าที่ของตนอย่างเต็มที่
ทิม เบอร์เนิร์ส-ลี ผู้คิดค้นเว็บ แนะนำระบบการให้ดาว 5 ดาว เพื่อบอกว่า ข้อมูลเปิด (Linked Open Data) นั้น มีความ “เปิด” มากเพียงใด ดูตัวอย่างได้ที่เว็บไซต์ LiDRC Lab
- ★ – หนึ่งดาว – มีข้อมูลให้ดาวน์โหลดบนเว็บ (จะฟอร์แมตไหนก็ได้) ด้วยสัญญาอนุญาตแบบเปิด
- ★★ – สองดาว – จัดข้อมูลดังกล่าวให้เป็นรูปแบบข้อมูลที่มีโครงสร้าง (เช่น Excel แทนที่จะเป็นภาพสแกนของตาราง)
- ★★★ – สามดาว – ใช้รูปแบบที่เปิดเผยข้อกำหนด ไม่สงวนเป็นความลับ (เช่น CSV แทนที่จะเป็น Excel)
- ★★★★ – สี่ดาว – ใช้ URI เพื่อระบุสิ่งต่าง ๆ ในข้อมูล เพื่อที่คนจะได้ชี้ตรงมาที่ข้อมูลได้
- ★★★★★ – ห้าดาว – เชื่อมโยงข้อมูลของคุณเข้ากับชุดข้อมูลอื่น ๆ เพื่อที่จะบอกบริบทของข้อมูล
(ดูรายละเอียดเพิ่มที่ Linked Open Data star scheme by example)
ตอนนี้ข้อมูลราชการของเรา น่าจะอยู่ประมาณ -1 ดาว ไปจนถึง 3 ดาว คือ
- -1 ดาว : ไม่มีข้อมูลบนเว็บเลย
- 0 ดาว : มีข้อมูลแต่ไม่แจ้งสัญญาอนุญาต (สำหรับข้อมูลบางอย่างที่กฎหมายระบุว่าไม่มีลิขสิทธิ์ อันนี้ก็ไม่มีปัญหา ก็เป็น 1 ดาวไป)
- 1 ดาว : แบบที่ว่ามาข้างบน มาเป็น PDF คนอ่านได้ แต่ไม่มีโครงสร้างข้อมูล เครื่องอ่านไม่ได้
- 2 ดาว : แบบบางชิ้นที่มีอยู่บนเว็บไซต์ data.pm.go.th ฐานข้อมูลเปิดภาครัฐ ที่มาเป็น Excel
- 3 ดาว : เคยเห็นบางชิ้นบนเว็บไซต์สำนักงานสถิติแห่งชาติ ที่เป็น XML (แต่ยังไม่เห็น Schema นะ)
2 responses to “เปิดข้อมูลอย่างเดียวไม่พอ ต้องให้มัน machine-readable ด้วย!”
เห็นด้วยเลย, เอกสารที่พบมากที่สุดน่าจะเป็นแบบที่สแกนจากกระดาษแล้วเผยแพร่ออกมาเป็น PDF
สาเหตุส่วนหนึ่งก็คงเป็นเพราะว่าระบบราชการยังติดที่ต้องใช้ลายเซ็นเป็นหลักอยู่
(เช่น ถึงขนาดระบบงานที่ใช้กันอยู่ จริงๆมีเวบนะ แต่ต้อง print แล้วให้หัวหน้าเซ็น จากนั้นค่อย scan กลับ แล้วค่อย upload กลับเข้าระบบก็มี)
ทางแก้? สงสัยต้องทำ research project ช่วยแปลง (digitize) เอกสารเหล่านี้เพื่อเพิ่ม accessibility
(กลายเป็นศูนย์กระจายข้อมูลภาครัฐที่ทำให้ประชาชนเข้าถึงได้โดยประชาชนสินะ)
“อ่านด้วยเครื่อง” มันสามารถแปลได้สองอย่างว่า เราอ่านบางอย่างด้วยเครื่องคอมพิวเตอร์ หรือ คอมพิวเตอร์อ่านอะไรบางอย่าง ควรจะเป็น “ข้อมูลที่เครื่องคอมพิวเตอร์อ่านได้”