[cache] Grails Project : การตัดคำภาษาไทย(ด้วย Java) และประมวลผลด้วย Grails

Posted by on January 8, 2010 in Grails, Java | 1 comment

[cache] Grails Project : การตัดคำภาษาไทย(ด้วย Java) และประมวลผลด้วย Grails

 

ครึกครื้นอยากเขียน …

พอดีได้โจทย์ซึ่งเป็น Senior ของเพื่อน แต่ว่าอยากทำเลยเอามาลองเสียหน่อย

(ฝึกเขียน ด้วยการทำ โจทย์)

 

ได้ความรู้ + ประสบการณ์ มากเลยทีเดียว เพราะว่า

เพิ่งเริ่มจับ แล้วทำงานแบบเป็นชิ้นเป็นอัน ครั้งนี้ก็ครั้งแรก 

 

แต่ก่อนหน้านี้มีใช้ + xfire ในการทำ วิชา SOAp ก็เรียบร้อยไป

(แต่  client ใช้ nusoap + codeigniter) เล่นกันทีเดียวคุ้ม


อ่ะ เข้าเรื่อง จะเขียนเรื่อง ตัดคำโดยใช้  ก่อน 

 


การตัดคำไทยด้วยโค๊ดภาษา นั้นผมใช้   (แปลเป็นไทยว่า : เรื่องการตัดคำผมใช้ ทำครับ)

(src code ได้มาจากเพื่อนที่ทำ นี้โดยตรง ซึ่งน่าจะไปเอามาจาก ดร.ชูชาติ หฤไชยะศักดิ์ อีกที)

ซึ่งผมก็ดัดแปลงแก้ไขมันนิดหน่อยเพื่อเอาไปใช้ใน  (แค่ overload method บางอันเท่านั้นเอง)

ซึ่งก็อัพไปไว้ที่ http://github.com/NAzT/LT/

 

การทำงานของ ก็มีแค่ add คำศัพท์ลงไปใน object ของ ผมเพิ่ม overload method addDict(string) เข้าไป 

เพราะต้องการให้ new object ขึ้นมาครั้งเดียว

แล้วเพิ่ม data เข้าไปเรื่อยๆ จะได้ไม่ต้อง  new ใหม่บ่อยๆ  

จึงต้องใช้ ServletContext  ( servletContext.lextoObj=new LongLexTo("FreeForAll")  เพิ่มใน bootstrap)

 

 

โปรเจคนี้มีสองส่วนคือ

  1. ส่วนที่ทำหน้าที่ (ใช้จาวาตัดคำ)

  2. ส่วนที่ทำหน้าที่ประเมินผลการตัดคำ

 

 

ซึ่งได้ประมาณนี้

 

Picture%2014

หน้าจอแสดง ข้อความที่ถูกตัดคำแล้ว และข้อความที่ยังไม่ถูกตัดคำ

 

Picture 11

หน้าจอแสดงการ เพิ่มเฉลยลงไปว่า จะต้องตัดได้คำว่าอะไรบ้าง

 

Picture 12

หน้าจอแสดงผลการตรวจโดยเทียบจากเฉลยเมื่อสักครู่

Picture%2015

หน้าจอแสดงรายงานการตัดคำทั้งหมด

 

Picture 6

ไฟล์ข้อมูล พวก dictionary จะอยู่ที่

http://203.185.97.45/~intern/nazt/

src นี้อยู่ที่  http://github.com/NAzT/GeoTraffy ครับ

การตัดคำ
เพิ่มเติมที่ www.sansarn.com

มี vdo ให้ดูด้วย อยู่ที่ 

1. อันใหม่มี bug แต่ขี้เกียจอัดใหม่ เครื่องมันช้า บั๊กเรื่อง space มันเลยตัดผิดบ้างถูกบ้าง

2. อันเก่า

 

Tags: , , , ,

1 Comment

  1. สุดยอดดดด

Leave a Comment

Your email address will not be published. Required fields are marked *