เปิดข้อมูลอย่างเดียวไม่พอ ต้องให้มัน machine-readable ด้วย!

สองสัปดาห์ก่อน พยายามจะเอาข้อมูลรายจ่ายภาครัฐมาใช้งาน แต่ก็พบปัญหาในการเอามาใช้ คือข้อมูลเท่าที่หาได้ มันไม่ 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 นะ)

Published by

bact

bact' is a name

2 thoughts on “เปิดข้อมูลอย่างเดียวไม่พอ ต้องให้มัน machine-readable ด้วย!”

  1. เห็นด้วยเลย, เอกสารที่พบมากที่สุดน่าจะเป็นแบบที่สแกนจากกระดาษแล้วเผยแพร่ออกมาเป็น PDF

    สาเหตุส่วนหนึ่งก็คงเป็นเพราะว่าระบบราชการยังติดที่ต้องใช้ลายเซ็นเป็นหลักอยู่

    (เช่น ถึงขนาดระบบงานที่ใช้กันอยู่ จริงๆมีเวบนะ แต่ต้อง print แล้วให้หัวหน้าเซ็น จากนั้นค่อย scan กลับ แล้วค่อย upload กลับเข้าระบบก็มี)

    ทางแก้? สงสัยต้องทำ research project ช่วยแปลง (digitize) เอกสารเหล่านี้เพื่อเพิ่ม accessibility

    (กลายเป็นศูนย์กระจายข้อมูลภาครัฐที่ทำให้ประชาชนเข้าถึงได้โดยประชาชนสินะ)

  2. “อ่านด้วยเครื่อง” มันสามารถแปลได้สองอย่างว่า เราอ่านบางอย่างด้วยเครื่องคอมพิวเตอร์ หรือ คอมพิวเตอร์อ่านอะไรบางอย่าง ควรจะเป็น “ข้อมูลที่เครื่องคอมพิวเตอร์อ่านได้”

Leave a Reply