Theppitak's blog

My personal blog.

14 กันยายน 2554

Yangon Visit

ไปเยือนย่างกุ้งระหว่างวันที่ 4-11 ก.ย. ที่ผ่านมาครับ เนื่องจากคุณ Ngwe Tun จากพม่าได้มาชวนผมไปบรรยายเรื่องการทำแพกเกจ Debian เพื่อช่วยให้ทีมพม่าสามารถเริ่มทำดิสโทรลินุกซ์ท้องถิ่นได้ (เพิ่งมาพบทีหลังว่าเขามีการ แปะประกาศ กันเป็นเรื่องเป็นราวเลย)

วันแรกเป็นการเปรียบเทียบการรองรับภาษาไทยกับพม่าใน GNU/Linux ซึ่งผมต้องเตรียมสไลด์แบบเร่งด่วน เพราะเดิมคิดว่าเป็นการพูดคุยแบบไม่เป็นทางการ ที่ไหนได้ มีผู้อำนวยการของ MCF (Myanmar Computer Federation) มาเป็นประธานเลยทีเดียว

ภาษาพม่านั้น มีการรองรับไปมากพอสมควร สามารถใช้ภาษาพม่าผ่านฟอนต์ OpenType ที่ใช้ GSUB ล้วน ๆ โดยไม่พึ่งพากลไกใน rendering engine เลย ซึ่งอาจมีปัญหาบ้างในการวาดข้อความปริมาณมาก ๆ เพราะจะกิน CPU หนักกว่าใช้ rendering engine

input method ของพม่า มี XKB map แล้ว มี input method ที่อิงบน keymagic และ ibus ที่สามารถสลับลำดับจาก visual order เป็น logical phonetic order ในแบบ preedit ได้ (ภาษาพม่าใช้ logical phonetic order แต่พิมพ์ดีดพม่าจะป้อนในแบบ visual order เหมือนภาษาไทย) แต่ยังแก้ในแบบ context-sensitive ไม่ได้ พอดีนักพัฒนามาเข้าประชุมด้วย ผมจึงเล่าเรื่อง surrounding API ของ GTK+ ไป และบอกว่าได้ขอเพิ่ม API ใน ibus ไปแล้วด้วย ปรากฏว่าเขาตรวจสอบ document อย่างรวดเร็วและได้แนวทางพัฒนาแล้ว อืมม์.. ภาษาไทยสิยังไม่ได้ทำเลย ฮ่า ๆ

เกี่ยวกับการแก้ไขข้อความนี้ ภาษาพม่ามีการใช้งานแปลก ๆ อยู่ในเรื่องการเลื่อนเคอร์เซอร์ คือเขาไม่ได้ต้องการเลื่อนทีละเซลล์หรือ cluster เหมือนภาษาทั่วไป แต่ต้องการเลื่อนทีละพยางค์ แม้ผมจะได้บอกเขาไปว่าการเลื่อนเคอร์เซอร์เป็นคนละส่วนกับการตัดบรรทัดนะ สามารถทำแยกกันได้ เขาก็ยังยืนยันว่าต้องการเลื่อนทีละพยางค์ ผมจึงแนะให้เขาตรวจสอบ UAX #29 เพื่อหาทางเสนอแก้ไขต่อไป

โลแคลพม่ามีเรียบร้อยแล้ว ทั้งใน GNU C library และ CLDR ของยูนิโค้ด และยังมีแอพเพล็ตปฏิทินพม่าสำหรับ gnome-panel อีกด้วย (ปฏิทินพม่าเป็นจันทรคติ เวลาอ่านหนังสือพิมพ์พม่าก็จะพบการแสดงวันที่ของฉบับทั้งแบบสากลและแบบพม่า)

การตัดคำของพม่ายังไม่มีการรองรับในโปรแกรมทั่วไป แต่มีงานวิจัยใน Myanmar NLP Lab เกี่ยวกับการตัดคำอยู่ โดยพยายามใช้ trigram แต่ผมได้ให้ข้อสังเกตว่า การตัดคำโดยทั่วไปของภาษาไทยในเดสก์ท็อปจะต้องการความเร็วและการประหยัดหน่วยความจำ จึงมักใช้พจนานุกรมอย่างเดียวมากกว่า โดยพยายามใช้ heuristics ต่าง ๆ ช่วยเพิ่มความถูกต้อง แต่ถ้าเป็นงาน NLP แล้ว แน่นอนว่าจะต้องการความถูกต้องมากกว่านั้น และต้องการข้อมูลสถิติมาช่วย

ประเด็นของภาษาพม่าอีกเรื่องหนึ่งคือการ abuse รหัสยูนิโค้ด โดยพยายามใช้รหัสในช่องที่สงวนไว้มาแทนอักขระประสมบางชุด แล้วก็อ้างกันว่าเป็นการทำมาตรฐานยูนิโค้ด โดยมีรูปแบบการ abuse เหล่านี้อย่างน้อย 14 แบบ! ทำให้ไม่สามารถถ่ายโอนข้อมูล plain text กันได้ ต้องมีฟอนต์กำกับไปด้วยเสมอ ตรงนี้ทีแรกเขาเรียกว่า variation ผมจึงบอกเขาว่า ควรเรียกว่า abuse จะถูกต้องกว่า เพราะการทำตามมาตรฐานยูนิโค้ดนั้น ไม่ใช่แค่การใช้รหัส แต่หมายถึงการทำตาม guidelines ต่าง ๆ ของยูนิโค้ดที่กำกับมาด้วย

และผมได้เล่ากรณี ฟอนต์ Sarabun IT9 ของเราเป็นตัวอย่างเปรียบเทียบด้วย ว่านี่คือตัวอย่างการ abuse ของไทย และเราได้แก้ไขด้วยการ สร้างผังแป้นพิมพ์สำหรับป้อนเลขไทยด้วย numpad

สำหรับงานแปล ทีมพม่าทีมใหม่กำลังเริ่มแปล GNOME และพยายาม take over ทีมปัจจุบัน ในช่วงที่เราประชุมกันอยู่นั้น ก็มีบางช่วงที่ได้เห็นทีมพม่าถกกันเรื่องการบัญญัติศัพท์ไอทีกันอย่างออกรส หลังจากที่เขาได้ glossary แล้ว ก็จะไปตรวจแก้คำแปลต่าง ๆ ให้เป็นไปในแนวเดียวกัน ก่อนที่จะติดต่อขอ submit คำแปลต่อไป

จากนั้น ตลอดสามวันถัดมา ผมก็ได้นำเสนอ tutorial เรื่อง Debian Packaging ซึ่งเป็นจุดประสงค์หลักของการมาครั้งนี้ โดยได้นำเสนอตั้งแต่วิธี build deb, วิธี upload, การใช้ QA tools, การสร้างแพกเกจซอฟต์แวร์, การกระจายแพกเกจโดยอัปโหลดอย่างเป็นทางการ หรือทำ repository ต่างหากแบบออนไลน์ หรือทำเป็น live CD

นอกจากนี้ ก็ได้ใช้เวลาช่วงบ่ายของแต่ละวันในการเซ็ต Debian mirror ในพม่า โดยได้นำเสนอข้อมูลเบื้องต้นของ Debian Mirroring & Caching ด้วย

ปัญหาหลักของการใช้ Debian ในพม่าตอนนี้คือการเข้าถึงอินเทอร์เน็ต ปัจจุบันอินเทอร์เน็ตยังไม่เข้าถึงตามบ้าน จุดที่จะใช้เน็ตความเร็วสูงได้ก็จะมีเพียงอินเทอร์เน็ตคาเฟ่ หรือไม่ก็ตามองค์กรไอที ดังนั้น สื่อหลักในการกระจายซอฟต์แวร์จึงเป็น CD หรือ DVD ซึ่งก็หมายความว่า ผู้ใช้ Debian จะใช้รุ่น stable เป็นหลัก ซึ่งไม่เหมาะกับผู้ใช้เดสก์ท็อปอย่างยิ่ง จะบอกให้เขา dist-upgrade เป็น testing ก็ไม่ได้ เพราะเขาไม่มีอินเทอร์เน็ตใช้กัน จะติดตั้ง testing ก็ยังไม่มีแผ่น official ให้ติดตั้ง netinst ยิ่งเป็นไปไม่ได้เลย ด้วยสภาพเช่นนี้ Debian จึงเป็นรองดิสโทรอื่นอย่าง Ubuntu

การตั้ง Debian mirror ในพม่าจึงเป็นจุดเริ่มต้นที่จะทำให้ผู้ใช้ Debian ในพม่าได้รับความสะดวกมากขึ้น สำหรับผู้ที่เข้าถึงอินเทอร์เน็ตก็จะสามารถอัปเกรดได้รวดเร็วขึ้น และสำหรับผู้ที่ไม่สามารถเข้าถึงอินเทอร์เน็ต ทีมท้องถิ่นก็ยังสามารถตัดแผ่นทำ live CD จากรุ่น testing แจกจ่ายได้อย่างสะดวก เมื่อเทียบกับไม่มี mirror ในประเทศ

วันสุดท้าย มีการนำเสนอแนะนำ Myanmar NLP Lab และงานวิจัยต่าง ๆ ซึ่งมีทั้ง OCR, information retrieval, machine translation และทรัพยากรทางภาษาของพม่า เช่น dictionary, lexicon, corpus ในส่วนของ OCR นั้น เขาใช้ tesseract เป็นกลไก ปัจจุบันความถูกต้องอยู่ที่ 81%

นอกจากนี้ ทางพม่ายังได้เสนอความช่วยเหลือทางเทคนิคสำหรับ โครงการอักษรอีสาน ของผม โดยได้แนะนำให้คุยกับนักพัฒนาฟอนต์พม่าเกี่ยวกับเทคนิคที่เขาใช้บนแมค ซึ่งสามารถนำมาประยุกต์ใช้กับอักษรธรรมอีสานได้ นอกจากนี้ ยังได้ให้เครื่อง Mac Mini มาเครื่องหนึ่งสำหรับทดสอบและพัฒนาฟอนต์ด้วย

เชื่อว่าต่อไปชุมชนลินุกซ์ไทย-พม่าคงจะมีความร่วมมือกันมากขึ้นในอนาคต

เรื่องทางเทคนิคก็คงมีเพียงเท่านี้ ไว้ blog หน้าค่อยเขียนถึงเรื่องทั่วไปของพม่าครับ

ป้ายกำกับ: , ,

0 ความเห็น:

แสดงความเห็น (มีการกลั่นกรองสำหรับ blog ที่เก่ากว่า 14 วัน)

<< กลับหน้าแรก

hacker emblem