LEKCut

· October 29, 2022

LEKCut (เล็ก คัด) is a Thai tokenization library that ports the deep learning model to the onnx model.

I was porting the Deepcut model to the ONNX model. You can use the deepcut model without installing TensorFlow (it can run on CPU), and the model maybe can running on many devices (smartphone, RPi, Cloud, and more that support onnx opset 13) and other languages (C/C++, C#, JS, and more).

GitHub: https://github.com/PyThaiNLP/lekcut

Thai

LEKCut (เล็ก คัด)

เป็นไลบารีตัดคำภาษาไทย Python ตัวหนึ่งที่แปลงโมเดลตัดคำ deep learning เป็นรูปแบบ ONNX ซึ่งเป็นมาตรฐานกลางของโมเดล deep learning ในปัจจุบัน เพื่อใช้ในการตัดคำภาษาไทย โดยตอนนี้รองรับโมเดลตัวตัดคำ Deepcut

อธิบายแบบง่าย ๆ ข้อดีของ ONNX คือ เราสามารถเอาโมเดลที่เป็น ONNX ไปรันบนเครื่องมืออะไรก็ได้ที่รองรับ ONNX ไม่จำกัดเฉพาะ PyTorch หรือ tensorflow เท่านั้น, ใช้งานกับภาษาอื่น ๆ ได้ (เช่น C++, JS, Java และอื่น ๆ ได้) และทำงานได้หลายอุปกรณ์มากขึ้น (มือถือ, เซิฟเวอร์, IoT และอื่น ๆ ) แถมบาง OS มีตัวเร่งการคำนวณ Deep learning มาให้ (เช่น Windows 11) ทำให้เรารันโมเดลหลายโมเดล เร็วกว่ารันด้วย PyTorch หรือ tensorflow หลายเท่าตัว

ไม่เหมือนกับ tensorflow lite ที่ย่อขนาดโมเดลให้เล็กลง ทำให้มีผลต่อประสิทธิภาพโมเดลด้วย แต่ ONNX เป็นการขนโมเดลไปให้ซอฟต์แวร์อื่น ๆ ใช้งานโมเดลที่เราเทรนจากคนละซอฟต์แวร์ได้ (ตัวอย่างเช่น PyTorch -> Android / iOS / tensorflow และอื่น ๆ)

ดังนั้น การที่เราแปลงโมเดล deepcut ไปเป็น ONNX (tensorflow -> ONNX) ทำให้เราสามารถใช้งาน deepcut ได้ง่ายขึ้น ไม่ต้องไปเสียเวลาลง tensorflow ลงแค่ onnxruntime / numpy / onnx และเป็นโมเดล deepcut ตัวเต็ม แถมตัวโมเดลสามารถถูกแปลงไปใส่ในมือถือ (Android, iOS) รวมถึงอุปกรณ์อื่น ๆ ได้อีกด้วย (ขึ้นอยู่กับความสามารถของโปรแกรมเมอร์)

เข้าไปลองและใช้งานกันได้ที่ https://github.com/PyThaiNLP/lekcut

Twitter, Facebook