Wordcut
by
โปรแกรมตัดคำที่สร้างโดยชุมชน
Date: 2015/10/1
ค.ศ. 2000 ผมได้เริ่มเขียนโปรแกรมตัดคำเข้าประกวดในงานประชุมวิชาการ SNLP 2000 ที่เชียงใหม่ ทำให้คิดว่ายังมีอะไรที่น่าจะทำได้ในโปรแกรมตัดคำอีกมาก
ราว ๆ ปี 2004 ผมและเพื่อนจึงได้เขียน ThaiWordseg ขึ้นมาอยู่ที่ sourceforge ตอนนี้ก็คงเหลือแค่ประวัติศาสตร์ http://thaiwordseg.sourceforge.net/ หลังจากนั้นก็มีโครงการอื่น ๆ บ้างแต่ขอข้าม ๆ ไปแล้วกัน
จนกระทั่งเดี๋ยวนี้ยุคที่ github รุ่งเรือง การ diff เอา patch มาแปะใน bugzilla เปลี่ยนมาเป็นการส่ง pull request ในระยะเวลาใกล้เคียงกับที่ node.js เป็นที่นิยม ผมก็ได้เริ่มโครงการใหม่ขึ้นมาชื่อ wordcut เหมือนเดิม
wordcut รุ่นค.ศ. 2014 ต่างออกไปจากรุ่นก่อน ดังต่อไปนี้
- เริ่มทำโครงการบน github เขียนด้วย JavaScript ทำให้ชุมชนที่ใช้เครื่องมือเหล่านี้อยู่แล้วมีส่วนร่วมได้ง่าย แน่นอนว่าง่ายกว่าภาษา C มาก ๆ
- แทนที่จะมุ่งเน้นเพิ่มความเร็ว โครงการนี้พยายามลดความซับซ้อนลง การเก็บพจนานุกรมในอดีตที่เคยใช้ Trie บ้างใช้ Ternary Search Tree บ้างก็เหลือแค่ sorted list ของคำ จุดมุ่งหมายหลักก็คือทำให้การแก้ไขดัดแปลงพจนานุกรมทำได้ง่าย
- การตัดคำด้วยวิธีหลาย ๆ แบบ ได้แก่ การใช้กฎต่าง ๆ และใช้พจนุกรม ถูกทำให้เรียกจาก Interface แบบเดียวกันคือ acceptor เพื่อที่จะทำให้เห็นภาพรวมของระบบได้ง่ายขึ้น
โดยสรุปก็คือ wordcut รุ่น 2014 ถูกออกแบบมาให้ชุมชนมีส่วนร่วมได้มากขึ้น และทุกคนก็สามารถแก้ไขปรับปรุงให้ได้โปรแกรมตัดคำแบบที่เขาต้องการ
[ช่วงโม้ล้วน ๆ] วันนี้ วันพุธที่ 1 ตุลาคม 2015 โปรแกรม wordcut บน github ได้ดาวบน 32 ดวง มีผู้ติดตามความเคลื่อนไหว 5 ท่าน มีท่านที่สนใจ fork ไปเฉพาะบน Github 7 ท่าน โปรแกรมได้รับการปรับปรุงโดย contributor อย่างน้อย 5 ท่าน ซึ่งนอกจากผมแล้วก็มี
ซึ่งต้องขอบคุณทุกท่านเป็นอย่างมาก และต้องขออภัยหากตกหล่นท่านใดไป แน่นอนว่ามีโปรแกรมตัดคำภาษาไทยที่เป็นซอฟต์แวร์เสรีอยู่มากมาย แต่ว่าไม่เคยมีมาก่อนว่าจะมีผู้คนช่วยกันแก้ไขปรับปรุงมากมายถึงขนาดนี้
จากการร่วมแรงร่วมใจกับ wordcut ตอนนี้ทำงานได้ทั้งบน node.js และ web browser, มีพจนานุกรมที่หลากหลาย, ข้อผิดพลาดต่าง ๆ ก็ได้ถูกแก้ไขไปตามลำดับ
แน่นอนว่า wordcut ไม่ใช่โปรแกรมตัดคำที่ใช้เทคนิคที่ก้าวหน้าที่สุด แต่เท่าที่ผมเห็นในขณะนี้ wordcut เป็นโปรแกรมตัดคำที่มีชุมชนมีส่วนพัฒนาให้ดีขึ้นไปเรื่อย ๆ มากที่สุด สักวันหนึ่ง wordcut อาจจะเป็นส่วนช่วยให้การการค้นพบใหม่ ๆ โดยที่ผู้ค้นสามารถทดลองไอเดียของตัวเองได้อย่างรวดเร็วเพราะมีโปรแกรมที่แก้ไขได้ง่ายก็เป็นได้
ป.ล. ตอนนี้ตัดคำภาษาลาวได้ด้วยครับ คาดว่าภาษาเมียนมา และภาษาเขมร (กัมพูชา) จะตามมาติด ๆ
tags: