ผมเอา code ที่เขียนมาทำเป็น r-package แล้วเรียกมันว่า RLongLexTo (https://github.com/slphyx/RLongLexTo) ครับเผื่อว่าใครอยากเอาไปพัฒนาต่อ เบื้องต้นนี้ผมทดสอบเฉพาะสำหรับใช้งานบนวินโดว์ 10 เท่านั้น
วิธีติดตั้ง
*RLongLexTo ต้องการบางคำสั่งจาก package rJava ครับ ดังนั้นผู้ใช้ก็ต้องลง rJava ก่อนครับ
library(rJava) library(devtools) install_github("slphyx/RLongLexTo", INSTALL_opts="--no-multiarch")
##คำแนะนำสำหรับผู้ที่ลง rJava แล้วมีปัญหาใช้RLongLexToไม่ได้ ผมแนะนำให้ลง java JDK (http://www.oracle.com/technetwork/java/javase/downloads/index.html) หรือไม่ก็ลองดูเรื่อง PATH ของ Java ก่อนครับ
ใน RLongLexTo นี้จะมีคำสั่งหลักคือ RLongLexToC ที่จะทำการรับข้อความภาษาไทยมาเพื่อทำการแบ่งคำ
วิธีการใช้งาน
RLongLexToC("ข้อความที่ต้องการแบ่งคำ")
หากมีปัญหาเรื่องการแสดงผลภาษาไทยก็ให้ลองเซ็ตlocaleเป็นภาษาไทยก่อนใช้งานอีกทีครับ
Sys.setlocale(locale="Thai")
มีหลายคนเมล์มาสอบถามเรื่องการเอา RLongLexTo ไปใช้พร้อมกับถามเรื่องรายละเอียดของอัลกอรึทึ่มด้วย ซึ่งผมก็อยากบอกตรงนี้เลยนะครับว่าผมไม่รู้เรื่องหรอกครับ ผมเพียงแต่เอา code ต้นฉบับมาดัดแปลงให้ใช้ใน R ตามที่มีคนถามมาและผมก็ว่างทำให้ดูเป็นตัวอย่างเท่านั้นครับ
ส่วนตัวแล้วผมอยากจะบอกว่าคำสั่งสำหรับจัดการเรื่องข้อมูลประเภท string จาก package ชื่อ stringr หรือ stringi ครับ ก็มีเรื่องการแบ่งคำก็เช่นกันครับ เช่น stringr มีคำสั่งช่วยเรื่องแบ่งคำอยู่แล้วซึ่งใช้ได้กับภาษาไทยด้วย ตัวอย่างเช่น str_split เป็นคำสั่งจาก stringr ที่เราสามารใช้แยกstring ให้ได้เพียงแค่บอกว่าจะแยกเป็นคำหรือเป็นประโยค
ลองไปดูเพิ่มเติมที่ http://stringr.tidyverse.org/ ครับ
จริงๆแล้ว stringr ก็เขียนมาจาก stringi เพื่อทำให้ใช้ง่ายขึ้น โดยที่ stringi นี้ก็คือ wrapper ของ ICU library ครับ ซึ่งICUนี้มีความสามารถในการแบ่งคำภาษาไทยด้วย (ต้องขอบคุณผู้ที่พัฒนานี้จริงๆ) ICU มี demo ให้ทดลองใช้งานด้วยครับที่ http://demo.icu-project.org/icu-bin/icusegments
ตัว RLongLexTo มันก็ยังมีข้อดีอยู่บ้างครับ เพราะตัวมันเองใช้ dictionary พจนานุกรมเป็นตัวช่วยในการแบ่งคำ นั่นก็หมายความว่าผู้ใช้สามารถที่จะปรับแต่งหรือเพิ่มเติมคำได้ตามที่ต้องการเลย และใน RLongLexTo นี้ผมใส่ตัวแปรชื่อ path.dic ไว้สำหรับใช้กับพจนานุกรมของผู้ใช้เอง ซึ่งผู้ใช้สามารถที่จะ download พจนานุกรมจากเวบของ Lexitron มาแก้ไขดัดแปลงเองหรือจะเพิ่มจากที่ผมเตรียมไว้แล้วกับแพคเกจนี้ครับ
One thought on “RLongLexTo แบ่งคำภาษาไทยใน R”
Comments are closed.