ข้ามไปที่เนื้อหาหลัก

บทความ

กำลังแสดงโพสต์ที่มีป้ายกำกับ PyThaiNLP

PyThaiNLP ยอดโหลดทั้งหมดกว่า 1 ล้าน 8 แปด

PyThaiNLP ปัจจุบันมียอดโหลดจำนวน 1 แสนดาวน์โหลดต่อเดือน และจำนวนยอดโหลดทั้งหมดกว่า 1 ล้าน 8 แปด กว่า ๆ ถือเป็นยอดที่ค่อนข้างสูงสำหรับซอฟต์แวร์ open source เฉพาะทาง โดยเฉพาะการประมวลผลภาษาไทย . ด้วยยอดที่สูงขึ้นจากเมื่อ 2 - 3 ปีก่อน ทำให้เราต้องปรับปรุง PyThaiNLP ให้ดียิ่งขึ้น ทั้งเรื่องปรับปรุงโค้ด ปรับปรุงโมเดล พัฒนาเทคนิคการเรียกใช้งานให้มีประสิทธิภาพ รวมถึงยังสามารถใช้งานได้ง่าย ติดตั้งได้ง่ายอยู่ เพื่อให้นักเรียน นักศึกษา บุคคลทั่วไปที่เพิ่งเข้ามาในด้านนี้สามารถใช้งานได้สะดวก . เรื่องโมเดล เราได้ปรับนโยบายการนำชุดข้อมูล/โมเดลมาใช้งานกับ PyThaiNLP โดยชุดข้อมูล/โมเดลต้องมาจากแหล่งที่เป็นมิตรกับ open source ทั้งเรื่องแหล่งให้โหลดกับใบอนุญาตของชุดข้อมูล/โมเดลนั้น ๆ ทำให้ PyThaiNLP รุ่นถัดไป ทุกชุดข้อมูล/โมเดลจะเป็นมิตรกับ open source ทั้งหมด ทุกคนสามารถใช้งานได้ทุกวัตถุประสงค์ . ส่วนเรื่องโค้ด เราได้ปรับปรุงการตัดคำ newmm ความท้าทายในการปรับปรุงครั้งนี้คือกฎของ TCC ที่มีตัวอย่างในตัว paper จำนวนน้อย ทำให้เราต้องปรับปรุงโดยอ้างอิงตัวอย่างจาก paper อื่น ๆ ที่ใช้งาน TCC และปรับโค้ดให้ตรงก

เบื้องหลัง Enhanced Thai Character Cluster (ETCC) ใน PyThaiNLP

ETCC เป็น subword ของภาษาไทยตัวหนึ่งที่อยู่มากับ PyThaiNLP มานานตั้งแต่ปี 2017 และเพิ่งสมบูรณ์ใกล้เคียง paper จริง ๆ เมื่อต้นปีที่ผ่านมา . ช่วงแรก ผมพยายามเขียนตามกฎที่ผมไปเจอที่บทความวิจัยอ้างอิงส่วนหนึ่งมาอีกที ด้วยตอนนั้นผมยังหากฎที่สมบูรณ์จริง ๆ ไม่ได้ เลยโค้ดเอาไว้แค่นั้น จนเวลาผ่านมา . ปี 2019 คุณแคน เห็นว่า ETCC ใน PyThaiNLP ยังไม่สมบูรณ์ เลยส่ง pull requests พร้อมระบุชื่อและที่มา paper ของ ETCC นั้นมาด้วย ต่อมา ผมเลยตามหา paper นั้นบนอินเทอร์เน็ตก็ไม่เจอ แต่ผมเจอว่า paper ที่ต้องการอยู่ที่ KMITL ผมเลยไปติดต่อบรรณารักษ์ห้องสมุดวิทยาเขตหนองคาย มข. ให้ติดต่อขอ paper นี้ (มีการค้น ETCC ในอินเทอร์เน็ต เจอของ PyThaiNLP อันดับแรก แถมคนเขียนเป็นผมด้วย - -) จนในที่สุด ทางห้องสมุดมข. ติดต่อมา เขาส่งอีเมลไฟล์สำเนา paper งานวิจัย ETCC นั้นมา ผมจึงได้ทำ ETCC ต่อ จนผลลัพธ์ออกมาใกล้เคียงกับ paper แล้ว push เข้า PyThaiNLP ช่วงก.พ.ต้นปีที่ผ่านมา

GitHub Actions ครอง PyThaiNLP (เกือบทั้งหมด)

วันนี้เป็นวันเสาร์ธรรมดาที่ไม่ธรรมดา คือ อยู่ดี ๆ ตัว Travis CI ก็พังแบบไร้สาเหตุ ... ซึ่งเป็นตัวสำหรับทดสอบการทำงานโค้ด PyThaiNLP และ เชื่อมกับ coveralls (เราใช้ coveralls.io) เป็นตัวรับประกันว่าโค้ดทดสอบสามารถทดสอบโค้ด PyThaiNLP ไปได้ทั้งหมดก็ % ผมเลยลองเปลี่ยน coveralls จากเดิมที่รันส่งผลจาก Travis CI มาเป็น GitHub actions แทน ซึ่งง่ายกว่าที่คิด แถมรู้ผลเร็วกว่าเดิม ก่อนหน้านี้ ระบบออกรุ่นใหม่ (เราใช้อัตโนมัติ) แค่กด releases ของ GitHub ตัว Travis CI จะ build และส่ง PyThaiNLP รุ่นใหม่เข้า PyPI ให้เองอัตโนมัติ ไม่ต้องเสียเวลาพิมพ์ cmd เอง ตรงนี้เราก็ย้ายมา GitHub Actions แล้วปัจจุบัน Test จากเดิม Travis CI ปัจจุบันก็กลายเป็น GitHub Actions โดยตอนนี้เหลือแค่ appveyor สำหรับ Test บน windows เฉพาะ ซึ่งทำงานได้ดีและเสถียรกว่า Travis CI สรุป ตอนนี้ GitHub Actions ครอง PyThaiNLP เกือบทั้งหมดแล้ว และ ปิดการทำงาน Travis CI ของ PyThaiNLP (ตั้งแต่ปี 2016 (มั้ยนะ) - 2020) เรียบร้อย ป.ล.ตอนที่ Travis CI พัง ตัว GitHub Actions กับ appveyor ที่รัน test ก็ทำงานปกติ ...