Tag: แบ่งคำ

แบ่งคำ/ตัดคำ ภาษาไทยใน R ด้วย SWATH

โปรแกรมที่ช่วยในการแบ่งคำหรือตัดคำภาษาไทยที่น่าสนใจอีกตัวหนึ่งนอกเหนือจาก LexTo (http://www.sansarn.com/lexto/) ก็มี SWATH (https://linux.thai.net/projects/swath) ครับ SWATH มีความสามารถที่จะใช้ตัดคำภาษาไทยที่อยู่ในหลาย file format ครับไม่ว่าจะเป็น LaTex, HTML, RTF หรือ plain text  แต่การใช้งานต้องใช้ในแบบ command line ไม่มี GUI ครับ โดย swath จะมี options ต่างให้ เพื่อความสะดวกเอาไปใช้ใน R บน Windows ผมเลยเขียน packageเพื่อเรียกใช้งาน SWATH แบบง่ายๆไว้ที่ https://github.com/slphyx/RSwath หรือดูเพิ่มเติมที่ http://www.sakngoi.com/2018/01/23/rswath-the-r-interface-to-swath/ การใช้งานก็เริ่งจากติดตั้งจาก github ด้วยคำสั่ง library("devtools") install_github("slphyx/RSwath") จากนั้นก็เรียกใช้งาน library("RSwath") การใช้งานกับไฟล์ข้อความที่เป็นภาษาไทยที่ต้องการแบ่งสมมุติว่าชื่อ testTH.txt แล้วต้องการให้ไฟล์ที่แบ่งคำแล้วด้วย SWATH ชื่อ testTHX.txt ก็เพียงพิมพ์ rswath(inputfile="testTH.txt",outputfile="testTHX.txt")

RSwath: The R Interface to SWATH

RSwath: The R Interface to Swath ผมเอา SWATH (https://code.google.com/archive/p/swath/) มาทำเป็น r-package สำหรับใช้ใน R บน Windows ครับ ตอนนี้มันยังเป็นรุ่นเก่าอยู่ (swath 0.3.4) ครับ SWATH ก็เป็นตัวแบ่งคำภาษาไทยอีกตัวหนึ่งที่พัฒนาโดยท่าน Phaisarn Charoenpornsawat และ Theppitak Karoonboonyanan ครับ สนใจใช้งานก็ไปที่ https://github.com/slphyx/RSwath การใช้งานก็เริ่มจากติดตั้งจาก github ด้วยคำสั่ง library("devtools") install_github("slphyx/RSwath") จากนั้นก็เรียกใช้งาน library("RSwath") การใช้งานกับไฟล์ข้อความที่เป็นภาษาไทยที่ต้องการแบ่งสมมุติว่าชื่อ testTH.txt แล้วต้องการให้ไฟล์ที่แบ่งคำแล้วด้วย SWATH ชื่อ testTHX.txt ก็เพียงพิมพ์ rswath(inputfile="testTH.txt",outputfile="testTHX.txt") ตัวอย่างไฟล์ที่ใช้กับswathกับผลลัพธ์ที่ได้        

LexTo บน Windows

ผมเอา code LexTo เค้ามาลองเขียนเล่นสำหรับใช้งานแบบ offline บน Windows (7, 8 และ 10)ครับ สนใจdownload ได้ที่นี่ครับ ที่download มันจะเป็นไฟล์ zip ที่มีตัวโปรแกรมชื่อ Araiwa.exe กับไฟล์ dictionary ชื่อ lexitron.txt พร้อมกับไฟล์ araiwadll.dll ก็ให้แตกไฟล์ zip นี้ออก แล้วdouble click ที่ไฟล์ Araiwa.exe ได้เลยครับ ส่วนใครที่อยากใช้มันใน R ผมเขียนเป็นpackage เรียกมันว่า araiwa ครับ ดูเพิ่มเติมได้ที่ https://github.com/slphyx/Araiwa

RLongLexTo แบ่งคำภาษาไทยใน R

จาก http://wp.me/p1rsA6-pn ผมเอา code ที่เขียนมาทำเป็น r-package แล้วเรียกมันว่า RLongLexTo (https://github.com/slphyx/RLongLexTo) ครับเผื่อว่าใครอยากเอาไปพัฒนาต่อ  เบื้องต้นนี้ผมทดสอบเฉพาะสำหรับใช้งานบนวินโดว์ 10 เท่านั้น วิธีติดตั้ง *RLongLexTo ต้องการบางคำสั่งจาก package rJava ครับ ดังนั้นผู้ใช้ก็ต้องลง rJava ก่อนครับ library(devtools) install_github("slphyx/RLongLexTo") ##คำแนะนำสำหรับผู้ที่ลง 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