Group Blog
 
 
สิงหาคม 2548
 
 123456
78910111213
14151617181920
21222324252627
28293031 
 
29 สิงหาคม 2548
 
All Blogs
 

ตัดคำภาษาไทย ภาคแก้ไขให้เร็วจี๋และถูกต้องขึ้น

คำเตือน .. ระวังอ่านไม่รู้เรื่อง เพราะเป็นการพูดเกี่ยวกับการ Programming ล้วนๆ (แต่ถ้าอ่านแบบเรื่อยๆ ขำๆ เพลินๆ ก็ได้นะครับ ไม่เสียหลาย)
การอธิบายก็จะเป็นแบบรวบรัด เนื่องจากรายละเอียดยิบย่อยต่างๆ ได้อธิบายไปในหัวข้อนี้ก่อนหน้านี้แล้ว

คลิกเพื่อดูบทความการตัดคำที่เขียนไว้ก่อนหน้านี้



ก่อนหน้านี้เมื่อ 3-4 วัน ผมได้เขียน blog เกี่ยวกับการตัดคำภาษาไทยไป ในขณะนั้นเป็นการทำงานแบบ "ไฟลนก้น" เพราะตัวงานมันมี deadline อยู่ แต่พอผมทำเรียบร้อย พร้อมกับ demo ให้ผู้รับผิดชอบงานดูแล้ว ก็ผ่อนคลายลงไปมาก

ทีนี้เราก็มานั่งดูกันว่ามันมีปัญหาอะไรไหม .. ซึ่งปัญหามันก็ไปตรงกับข้อสรุปที่ผมได้บอกเอาไว้ก่อนแล้ว จัดที่สำคัญมันก็คือ มันไปตัดตรงกลางประโยค เพราะจะใส่ใจเฉพาะที่ท้ายบรรทัดเท่านั้น มีผลให้

1. คำที่ได้มีการเพี้ยนเป็นเปอร์เซนต์ไม่น่าเกลียด แต่ก็ไม่น่าพอใจสำหรับผมเท่าไหร่ (แต่เจ้าของงานพอใจนะ เพราะก่อนหน้านี้ไม่เคยมีตัดคำมาก่อน)

2. มีการมานึกว่า "ถ้ามันเกิน 2 บรรทัดล่ะ มันจะเป็นยังไง" อ้าว ซวยล่ะสิครับ เพราะผมคิดเอาไว้แค่ว่าข้อความมันจะมีแค่ 2 บรรทัด นั่นคือเขียนเฉพาะจุดที่ต้องตัด .. นี่ไง ผลของการไฟลนก้น ทำให้ผมต้องมานั่งคิดว่า ผมต้องตัดคำทั้งหมดแล้วล่ะ จะดีกว่า และดีที่สุดด้วย ไม่ต้องพะวง

3. ก็อย่างที่บอกว่าตอนนั้นผมรีบมาก เลยเขียนแบบไม่ค่อยรัดกุม ทำให้มีความล่าช้าในการคำนวน

หลังจากวันศุกร์ ผมก็นั่งคิดตลอดเวลาเกี่ยวกับเรื่องของงานตัวนี้ โดยมีใจความสำคัญว่า "ต้องตัดคำทั้งหมดให้ได้ก่อนวันจันทร์"

ผมเริ่มทำใหม่ ... สิ่งที่ผมเริ่มทำใหม่คือ ..

1. ทำ Index ของคำทั้งหมด (เกือบ 30,000 คำ) โดยใช้อักขระ 2 ตัวแรกเป็นตัว index เช่น ผมกำหนดว่า
array("สแ", 21178, 21709)
หมายถึงว่าคำที่ขึ้นต้นด้วย "สแ" จะมี 2 คำ โดยอยู่ในตำแหน่งที่ 21178 และ 21709 ซึ่งก็คือคำว่า "แสดง" เป็นต้น ซึ่งวิธีการนี้ จะช่วงลดระยะเวลาการ "คิด" ของโปรแกรมไปได้เยอะมากๆ เมื่อเทียบกับโปรแกรมเก่า ที่หาในช่วงไม่กี่คำ จะใช้เวลานานกว่าโปรแกรมใหม่นี้ทั้งประโยค หรือทั้งย่อหน้าเสียอีกครับ

2. ตอนแรกผมตั้งใจจะทำโดยใช้ลักษณะที่เรียกว่า Graph ในวิชา Data Structure ที่ได้เรียนมา แต่เนื่องจากว่า ผมหาหนังสือไม่เจอ (นึกออกว่าลืมไว้ที่ออฟฟิซ) และหาในเนตก็ไม่ได้ช่วยอะไรมากเลย แต่บังเอิญเหลือเกินมานั่งนึกออกว่า คำที่ผมต้องตัดเนี่ย จะไม่เป๊ะๆ ไปซะทั้งหมด และมีคำที่ไม่คาดฝันค่อนข้างบ่อย ซึ่งจะมีหรือจะมาตอนไหนก็ไม่รู้ เช่น

"คิดถึ่งเพ่กึ่งมั่กเยยยยย"

อย่างนี้เป็นต้น .. มันจะตัดยังไงล่ะ เพราะมีคำที่ไม่มีในพจนานุกรม แต่เป็นคำสมัยใหม่ ถ้าใช้ Graph เพราะว่าถ้าใช้ Graph เนี่ย ทุกอย่างมันต้องเป๊ะๆ แบบนี้โปรแกรมงงตายเลยครับ...

งงกันใช่ไหมครับ ผมพูดถึง graph ทำไม มันไม่ใช่ภาพแผนภูมิ แต่เป็น Algorithm แบบหนึ่งครับ นึกเกมถอดระเบิดใน windows ออกไหมครับ เวลาที่เราคลิกไปโดนที่ว่างๆ แล้วมันก็กระจายตัวออกพรึด .. นั่นล่ะครับ เค้าใช้ algorithm แบบ graph ในการคิด โดยไล่หาความสัมพันธ์ข้างเคียงของตัวมันกระจายไปเรื่อยๆ ครับ สำหรับกรณีนี้ ผมคิดให้มันตรวจสอบความสัมพันธ์ของคำตั้งแต่ต้นไปเรื่อยๆ ถ้ามีคำที่ไม่น่าจะเป็นคำได้ ก็ย้อนกลับมา ... ดังนั้น เราจะเจอคำที่ไม่เป็นคำแน่ๆ และบ่อยด้วย การใช้ graph จึงล้มเลิกไป

เอาล่ะ ไม่ใช้ graph ..
ผมก็กลับมาใช้ array และตรวจสอบแบบวนเช็คเป็น loop เหมือนเดิม แต่คราวนี้ง่ายกว่าเดิมมากเลย เพราะว่าผมมี index ของคำเอาไว้แล้ว ทำให้การทำงานเร็วขึ้นมากซัก 70-80% เลยทีเดียว

และการตรวจสอบก็จะพลิกแพลงนิดหน่อย แต่จะคล้ายๆ เดิม คือตรวจสอบจากอักขระ 2 ตัวที่เป็น index ของคำที่เราตัดออกมาจากประโยค แล้วเทียบกับที่มีอยู่ในข้อมูลที่เก็บไว้ในคลังคำ ถ้าเจอก็เก็บไว้ก่อน ซึ่งการเจอ จะมีโอกาสเจอมากกว่า 1 คำ เช่น

index คำว่า
"มา"
เราสามารถเจอได้ทั้ง มา, มาก, มากกว่า
ซึ่งเราต้องเลือกคำที่มีในประโยคและใน index และเลือกคำที่ยาวที่สุด ในที่นี้ก็คือคำว่า "มากกว่า" อย่างนี้เป็นต้นครับ

เป็นผลสำเร็จครับ เสร็จทันดูบอลคืนวันอาทิตย์พอดีเลย เย่!!!

นี่คือตัวอย่างของประโยคต้นแบบ และเมื่อมีการตัดคำแล้วครับ

แม้ดูจากภายนอกดาวประจำตัวยังมีความแข็งแกร่ง แต่ก็ล้อมรอบด้วยปัญหาต่างๆมากมาย

เมื่อผ่านโปรแกรมตัดคำแล้วจะได้เป็น

•แม้•ดู•จาก•ภายนอก•ดาว•ประจำ•ตัว•ยัง•มี•ความ•แข็งแกร่ง •แต่•ก็•ล้อม•รอบ•ด้วย•ปัญหา•ต่างๆ•มากมาย


หรือประโยคนี้

เตือน ‘ยาทานม’ ปนสารพิษ สธ.พบสุดอันตราย
จะได้เป็น
•เตือน ‘•ยา•ทานม’ •ปน•สาร•พิษ สธ.•พบ•สุด•อันตราย



จะเห็นว่ามีการตัดคำตั้งแต่ต้นประโยคจนจบประโยค และมีข้อผิดพลาดน้อยมากๆ .. เฮ้ออออ ค่อยยังชั่วครับ งานนี้ดีใจและภูมิใจมากๆ เลยล่ะครับ

หมายเหตุ : ขออนุญาติไม่แจก Source code นะครับ เพื่อป้องกันผลกระทบทางด้านธุรกิจครับ เดี๋ยวผมจะซวยเอา แหะๆๆๆ มีคนเค้าสะกิดผมมาาาาาาา




 

Create Date : 29 สิงหาคม 2548
30 comments
Last Update : 29 สิงหาคม 2548 1:39:42 น.
Counter : 4408 Pageviews.

 

อือ

 

โดย: chalam.exteen.com IP: 61.91.107.221 29 สิงหาคม 2548 1:42:02 น.  

 

ชื่นชมอัจฉริยภาพของคุณกึ่งยิงกึ่งผ่านค่ะ

 

โดย: ป้าติ๋ว (nature-delight ) 29 สิงหาคม 2548 1:55:18 น.  

 

สมน้ำหน้า อยากไม่ฟังคำเตือนดีนัก


^
^
^
ปมพูดกะตัวเองนะคับ

 

โดย: Nutty Professor 29 สิงหาคม 2548 2:01:59 น.  

 

งง จังเลย ยา ทา นม

 

โดย: MooG.G 29 สิงหาคม 2548 2:23:33 น.  

 

เก่งจังพี่ ดีจังเลย



(แต่ถ้าอ่านแบบเรื่อยๆ ขำๆ เพลินๆ ก็ได้นะครับ ไม่เสียหลาย)

อ่านแล้วม้นขำตรงไหนเนี่ย ผมหาไม่เจออ่ะ...

 

โดย: dont wanna no 29 สิงหาคม 2548 3:02:41 น.  

 

^
จะเขียนว่า "เพลินๆ" เฉยๆ อ่ะ แหะๆๆ เอิ๊กๆๆๆ ลุง dont

คุณ nature-delight ครับ ผมไม่อัจฉริยภาพอะไรหรอกครับ ธรรมด๊า ธรรมดาอ่ะครับ

 

โดย: กึ่งยิงกึ่งผ่าน 29 สิงหาคม 2548 9:08:26 น.  

 

 

โดย: เกดจัง 29 สิงหาคม 2548 9:12:27 น.  

 

ยินดีด้วยค่ะ ที่มีความพยายามยิ่ง


ถามนิดนะคะ
เห็น blog ที่แล้วบอกว่าเขียนงานเป็น php

แล้วตัวโปรแกรมตัดคำนี้ทำเป็น script php ด้วยรึปล่าวคะ
หรือใช้ C ทำเป็นโปรแกรม ให้เรียกใช้ หรือใช้ภาษาไร คะ อยากรู้ อยากรู้ ไม่ขอ source code ก็ได้ อิอิ



 

โดย: ZAZaSassY 29 สิงหาคม 2548 14:12:25 น.  

 

ทั้งหมดเป็น PHP ล้วนๆ ครับ ไม่ได้มีภาษาอื่นๆ เข้ามาปนเลยครับ

 

โดย: กึ่งยิงกึ่งผ่าน 29 สิงหาคม 2548 15:34:41 น.  

 

เข้ามางงค่ะ แห่ะๆ

 

โดย: ถั่วแดงเย็น 29 สิงหาคม 2548 16:48:48 น.  

 

โห.. เพิ่งรู้ว่า php ก็ทำได้ด้วย..
ไม่เคยศึกษาโปรแกรมอะไรแปลกๆใหม่ๆ นานแย้ว
แก้แต่ bug ของโปรแกรมเก่าๆ -_-'

ขอบคุณค้าบ ที่มาให้ความรู้

 

โดย: Koppy 29 สิงหาคม 2548 17:03:14 น.  

 

 

โดย: ปุ๋ย พันธุ์ทิพย์ (สวย ส่ายสุดๆ ) 29 สิงหาคม 2548 21:51:48 น.  

 

อ่านแล้วเครียดอ่ะ

 

โดย: ultraman seven 29 สิงหาคม 2548 23:11:31 น.  

 

งง พะย่ะค่ะ

 

โดย: หมาร่าหมาหรอด 30 สิงหาคม 2548 20:03:22 น.  

 

เกิดอะไรขึ้นคะ ทำไมบล็อกคุณกึ่งฯมีแค่ 2 คอลัมน์เอง คอลัมน์ขวาสุดหายไปจากหน้าจอหล่นไปอยู่ข้างล่าง

หรือว่าคอมฯโป๋ยเจ๊งอ่ะ

 

โดย: ปุ๋ย พันธุ์ทิพย์ (สวย ส่ายสุดๆ ) 2 กันยายน 2548 11:30:22 น.  

 

ได้ยินชือมานาน แวะมาทัำกทายค่ะ

ทำไรไม่เปงเลยเรา เฮ้อออ....งงค่ะ

 

โดย: สาวน้อยตกน้ำ IP: 203.151.140.122 2 กันยายน 2548 23:24:18 น.  

 

พอดีว่าความเห็นก่อนคุณปุ๋ยอ่ะครับ ทำให้ error ครับ ตอนนี้ผมเอาออกแล้วครับ

 

โดย: กึ่งยิงกึ่งผ่าน 3 กันยายน 2548 17:51:13 น.  

 

........................................................................................................................................................................................................................................................

 

โดย: trdr IP: 125.24.14.86 19 พฤษภาคม 2549 11:42:13 น.  

 

เหอะ เจ๋งครับพี่

 

โดย: GiGaPop IP: 202.57.154.210 8 มิถุนายน 2549 11:29:28 น.  

 

กำลังทำโปรเจคเกี่ยวกับเรื่องการตัดคำอยู่เลยครับยังไม่รู้จะใช้ Algorithmยังช่วยแนะนำหน่อยนะครับเอาแบบละเอียดหน่อยนะ ผมใช้ภาษา C เขียนช่วยบอกเป็นแนวๆได้ไหม ตอนนี้มืดแปดด้านแล้ว ถ้ายังไงลองอีเมล์ฺมาก็ๆได้นะครับ
pd_bk@hotmail.com

 

โดย: อนาคตมืดมน IP: 202.12.74.5 3 กรกฎาคม 2549 16:33:24 น.  

 

อยากได้ code php การตัดคำมาศึกษา ให้codeมาเป็นการส่วนตัวได้รึเปล่า kimera_joy@hotmail.com

 

โดย: AA IP: 202.12.73.19 21 สิงหาคม 2551 1:47:50 น.  

 

สุดยอดครับ

 

โดย: ao IP: 125.24.55.32 23 ตุลาคม 2551 18:09:17 น.  

 

คือผมกำลังทำโปรเจ็คจบPHPเกี่ยวกับเรื่องนี้อยู่นะครับ เรื่องตัดคำนะครับ ขอความกรุณาบอกโค๊ดการตัดคำโดยเทียบกับ dictionary ทีครับ ตอนนี้เครียดม่ากๆกลัวไม่จบ ถ้าไม่ได้จริงๆช่วยบอก function ที่ใช้เอามาเทียบกับ dictionaryทีนะครับ ถ้ายังไงก้อติดต่อทางเมลล์นี้ครับ
Takeshi-hooza@hotmail.comหรือส่งเมลล์khomsink@gmail.com T/\\Tคิดซะว่าสงสารเพื่อนมนุษย์ตัวน้อยๆตาดำๆทีครับ

 

โดย: ผู้นำแสงสว่าง่งชีวิต IP: 125.26.247.98 13 ธันวาคม 2551 12:11:53 น.  

 

คือผมกำลังทำโปรเจ็คจบPHPเกี่ยวกับเรื่องนี้อยู่นะครับ เรื่องตัดคำนะครับ ขอความกรุณาบอกโค๊ดการตัดคำโดยเทียบกับ dictionary ทีครับ ตอนนี้เครียดม่ากๆกลัวไม่จบ ถ้าไม่ได้จริงๆช่วยบอก function ที่ใช้เอามาเทียบกับ dictionaryทีนะครับ ถ้ายังไงก้อติดต่อทางเมลล์นี้ครับ
Takeshi-hooza@hotmail.comหรือส่งเมลล์khomsink@gmail.com T/\\Tคิดซะว่าสงสารเพื่อนมนุษย์ตัวน้อยๆตาดำๆทีครับ

 

โดย: ผู้นำแสงสว่าง่งชีวิต IP: 125.26.247.98 13 ธันวาคม 2551 12:12:03 น.  

 

คือผมกำลังทำโปรเจ็คจบPHPเกี่ยวกับเรื่องนี้อยู่นะครับ เรื่องตัดคำนะครับ ขอความกรุณาบอกโค๊ดการตัดคำโดยเทียบกับ dictionary ทีครับ ถ้าไม่ได้จริงๆช่วยบอก function ที่ใช้เอามาเทียบกับ dictionaryทีนะครับ ถ้ายังไงก้อติดต่อทางเมลล์นี้ครับ
samulaiza@hotmail.comคิดซะว่าสงสารเพื่อนมนุษย์ตัวน้อยๆตาดำๆทีครับ

 

โดย: ชุมพล IP: 58.136.98.190 31 มีนาคม 2552 20:59:05 น.  

 

คลิกๆๆ รูปสวยๆน่ารักๆไว้ส่งต่อเพียบ...

สาดน้ำสงกรานต์ค่ะ

 

โดย: ชะเอมหวาน 12 เมษายน 2552 23:11:35 น.  

 

คือตอนนี้ผมกำลังทำโปรเจ็คเกี่ยวกับการตัดคำไทยโดยใช้พจนานุกรมอ่ะคับ แต่มันยังมืดทั้งแปดด้านเลยคับ อยากได้โค๊ดเพื่อมาใช้เป็นแนวทางการศึกษาจังเลยคับ ถ้าไม่เป็นการรบกวนอยากจะขอเพื่อมาศึกษานะคับ atommiss_dd@hotmail.com ขอบคุณล่วงหน้าเลยน่ะคับเผื่อจะได้รับความอนุเคราะห์

 

โดย: เส้นทางแห่งฝัน IP: 202.176.128.246 19 เมษายน 2552 0:59:14 น.  

 

หาคนสนับสนุนด้านนี้อยู่เหมือนกันครับ ติดต่อคนเขียนได้อย่างไรบ้างครับ เมล์ผม kikuanona@hotmail.com ต้องการความช่วยเหลือด่วนๆครับไฟลนก้นแล้ว ขอบคุณครับ

 

โดย: นิน IP: 124.121.89.209 10 มิถุนายน 2552 16:49:32 น.  

 

ตัดคำภาษาไทย ภาคแก้ไขให้เร็วจี๋และถูกต้องขึ้น

คำเตือน .. ระวังอ่านไม่รู้เรื่อง เพราะเป็นการพูดเกี่ยวกับการ Programming ล้วนๆ (แต่ถ้าอ่านแบบเรื่อยๆ ขำๆ เพลินๆ ก็ได้นะครับ ไม่เสียหลาย)
การอธิบายก็จะเป็นแบบรวบรัด เนื่องจากรายละเอียดยิบย่อยต่างๆ ได้อธิบายไปในหัวข้อนี้ก่อนหน้านี้แล้ว
คลิกเพื่อดูบทความการตัดคำที่เขียนไว้ก่อนหน้านี้





ก่อนหน้านี้เมื่อ 3-4 วัน ผมได้เขียน blog เกี่ยวกับการตัดคำภาษาไทยไป ในขณะนั้นเป็นการทำงานแบบ "ไฟลนก้น" เพราะตัวงานมันมี deadline อยู่ แต่พอผมทำเรียบร้อย พร้อมกับ demo ให้ผู้รับผิดชอบงานดูแล้ว ก็ผ่อนคลายลงไปมาก

ทีนี้เราก็มานั่งดูกันว่ามันมีปัญหาอะไรไหม .. ซึ่งปัญหามันก็ไปตรงกับข้อสรุปที่ผมได้บอกเอาไว้ก่อนแล้ว จัดที่สำคัญมันก็คือ มันไปตัดตรงกลางประโยค เพราะจะใส่ใจเฉพาะที่ท้ายบรรทัดเท่านั้น มีผลให้

1. คำที่ได้มีการเพี้ยนเป็นเปอร์เซนต์ไม่น่าเกลียด แต่ก็ไม่น่าพอใจสำหรับผมเท่าไหร่ (แต่เจ้าของงานพอใจนะ เพราะก่อนหน้านี้ไม่เคยมีตัดคำมาก่อน)

2. มีการมานึกว่า "ถ้ามันเกิน 2 บรรทัดล่ะ มันจะเป็นยังไง" อ้าว ซวยล่ะสิครับ เพราะผมคิดเอาไว้แค่ว่าข้อความมันจะมีแค่ 2 บรรทัด นั่นคือเขียนเฉพาะจุดที่ต้องตัด .. นี่ไง ผลของการไฟลนก้น ทำให้ผมต้องมานั่งคิดว่า ผมต้องตัดคำทั้งหมดแล้วล่ะ จะดีกว่า และดีที่สุดด้วย ไม่ต้องพะวง

3. ก็อย่างที่บอกว่าตอนนั้นผมรีบมาก เลยเขียนแบบไม่ค่อยรัดกุม ทำให้มีความล่าช้าในการคำนวน

หลังจากวันศุกร์ ผมก็นั่งคิดตลอดเวลาเกี่ยวกับเรื่องของงานตัวนี้ โดยมีใจความสำคัญว่า "ต้องตัดคำทั้งหมดให้ได้ก่อนวันจันทร์"

ผมเริ่มทำใหม่ ... สิ่งที่ผมเริ่มทำใหม่คือ ..

1. ทำ Index ของคำทั้งหมด (เกือบ 30,000 คำ) โดยใช้อักขระ 2 ตัวแรกเป็นตัว index เช่น ผมกำหนดว่า
array("สแ", 21178, 21709)
หมายถึงว่าคำที่ขึ้นต้นด้วย "สแ" จะมี 2 คำ โดยอยู่ในตำแหน่งที่ 21178 และ 21709 ซึ่งก็คือคำว่า "แสดง" เป็นต้น ซึ่งวิธีการนี้ จะช่วงลดระยะเวลาการ "คิด" ของโปรแกรมไปได้เยอะมากๆ เมื่อเทียบกับโปรแกรมเก่า ที่หาในช่วงไม่กี่คำ จะใช้เวลานานกว่าโปรแกรมใหม่นี้ทั้งประโยค หรือทั้งย่อหน้าเสียอีกครับ

2. ตอนแรกผมตั้งใจจะทำโดยใช้ลักษณะที่เรียกว่า Graph ในวิชา Data Structure ที่ได้เรียนมา แต่เนื่องจากว่า ผมหาหนังสือไม่เจอ (นึกออกว่าลืมไว้ที่ออฟฟิซ) และหาในเนตก็ไม่ได้ช่วยอะไรมากเลย แต่บังเอิญเหลือเกินมานั่งนึกออกว่า คำที่ผมต้องตัดเนี่ย จะไม่เป๊ะๆ ไปซะทั้งหมด และมีคำที่ไม่คาดฝันค่อนข้างบ่อย ซึ่งจะมีหรือจะมาตอนไหนก็ไม่รู้ เช่น

"คิดถึ่งเพ่กึ่งมั่กเยยยยย"

อย่างนี้เป็นต้น .. มันจะตัดยังไงล่ะ เพราะมีคำที่ไม่มีในพจนานุกรม แต่เป็นคำสมัยใหม่ ถ้าใช้ Graph เพราะว่าถ้าใช้ Graph เนี่ย ทุกอย่างมันต้องเป๊ะๆ แบบนี้โปรแกรมงงตายเลยครับ...

งงกันใช่ไหมครับ ผมพูดถึง graph ทำไม มันไม่ใช่ภาพแผนภูมิ แต่เป็น Algorithm แบบหนึ่งครับ นึกเกมถอดระเบิดใน windows ออกไหมครับ เวลาที่เราคลิกไปโดนที่ว่างๆ แล้วมันก็กระจายตัวออกพรึด .. นั่นล่ะครับ เค้าใช้ algorithm แบบ graph ในการคิด โดยไล่หาความสัมพันธ์ข้างเคียงของตัวมันกระจายไปเรื่อยๆ ครับ สำหรับกรณีนี้ ผมคิดให้มันตรวจสอบความสัมพันธ์ของคำตั้งแต่ต้นไปเรื่อยๆ ถ้ามีคำที่ไม่น่าจะเป็นคำได้ ก็ย้อนกลับมา ... ดังนั้น เราจะเจอคำที่ไม่เป็นคำแน่ๆ และบ่อยด้วย การใช้ graph จึงล้มเลิกไป

เอาล่ะ ไม่ใช้ graph ..
ผมก็กลับมาใช้ array และตรวจสอบแบบวนเช็คเป็น loop เหมือนเดิม แต่คราวนี้ง่ายกว่าเดิมมากเลย เพราะว่าผมมี index ของคำเอาไว้แล้ว ทำให้การทำงานเร็วขึ้นมากซัก 70-80% เลยทีเดียว

และการตรวจสอบก็จะพลิกแพลงนิดหน่อย แต่จะคล้ายๆ เดิม คือตรวจสอบจากอักขระ 2 ตัวที่เป็น index ของคำที่เราตัดออกมาจากประโยค แล้วเทียบกับที่มีอยู่ในข้อมูลที่เก็บไว้ในคลังคำ ถ้าเจอก็เก็บไว้ก่อน ซึ่งการเจอ จะมีโอกาสเจอมากกว่า 1 คำ เช่น

index คำว่า
"มา"
เราสามารถเจอได้ทั้ง มา, มาก, มากกว่า
ซึ่งเราต้องเลือกคำที่มีในประโยคและใน index และเลือกคำที่ยาวที่สุด ในที่นี้ก็คือคำว่า "มากกว่า" อย่างนี้เป็นต้นครับ

เป็นผลสำเร็จครับ เสร็จทันดูบอลคืนวันอาทิตย์พอดีเลย เย่!!!

นี่คือตัวอย่างของประโยคต้นแบบ และเมื่อมีการตัดคำแล้วครับ

แม้ดูจากภายนอกดาวประจำตัวยังมีความแข็งแกร่ง แต่ก็ล้อมรอบด้วยปัญหาต่างๆมากมาย

เมื่อผ่านโปรแกรมตัดคำแล้วจะได้เป็น

•แม้•ดู•จาก•ภายนอก•ดาว•ประจำ•ตัว•ยัง•มี•ความ•แข็งแกร่ง •แต่•ก็•ล้อม•รอบ•ด้วย•ปัญหา•ต่างๆ•มากมาย


หรือประโยคนี้

เตือน ‘ยาทานม’ ปนสารพิษ สธ.พบสุดอันตราย
จะได้เป็น
•เตือน ‘•ยา•ทานม’ •ปน•สาร•พิษ สธ.•พบ•สุด•อันตราย



จะเห็นว่ามีการตัดคำตั้งแต่ต้นประโยคจนจบประโยค และมีข้อผิดพลาดน้อยมากๆ .. เฮ้ออออ ค่อยยังชั่วครับ งานนี้ดีใจและภูมิใจมากๆ เลยล่ะครับ

หมายเหตุ : ขออนุญาติไม่แจก Source code นะครับ เพื่อป้องกันผลกระทบทางด้านธุรกิจครับ เดี๋ยวผมจะซวยเอา แหะๆๆๆ มีคนเค้าสะกิดผมมาาาาาาา

Create Date : 29 สิงหาคม 2548
Last Update : 29 สิงหาคม 2548 1:39:42 น. 28 comments
Counter : Pageviews. Add to




อือ

โดย: chalam.exteen.com IP: 61.91.107.221 วันที่: 29 สิงหาคม 2548 เวลา:1:42:02 น.




ชื่นชมอัจฉริยภาพของคุณกึ่งยิงกึ่งผ่านค่ะ

โดย: ป้าติ๋ว (nature-delight ) วันที่: 29 สิงหาคม 2548 เวลา:1:55:18 น.




สมน้ำหน้า อยากไม่ฟังคำเตือนดีนัก


^
^
^
ปมพูดกะตัวเองนะคับ

โดย: Nutty Professor วันที่: 29 สิงหาคม 2548 เวลา:2:01:59 น.




งง จังเลย ยา ทา นม

โดย: MooG.G วันที่: 29 สิงหาคม 2548 เวลา:2:23:33 น.




เก่งจังพี่ ดีจังเลย



(แต่ถ้าอ่านแบบเรื่อยๆ ขำๆ เพลินๆ ก็ได้นะครับ ไม่เสียหลาย)

อ่านแล้วม้นขำตรงไหนเนี่ย ผมหาไม่เจออ่ะ...

โดย: dont wanna no วันที่: 29 สิงหาคม 2548 เวลา:3:02:41 น.




^
จะเขียนว่า "เพลินๆ" เฉยๆ อ่ะ แหะๆๆ เอิ๊กๆๆๆ ลุง dont

คุณ nature-delight ครับ ผมไม่อัจฉริยภาพอะไรหรอกครับ ธรรมด๊า ธรรมดาอ่ะครับ


โดย: กึ่งยิงกึ่งผ่าน วันที่: 29 สิงหาคม 2548 เวลา:9:08:26 น.






โดย: เกดจัง วันที่: 29 สิงหาคม 2548 เวลา:9:12:27 น.




ยินดีด้วยค่ะ ที่มีความพยายามยิ่ง


ถามนิดนะคะ
เห็น blog ที่แล้วบอกว่าเขียนงานเป็น php

แล้วตัวโปรแกรมตัดคำนี้ทำเป็น script php ด้วยรึปล่าวคะ
หรือใช้ C ทำเป็นโปรแกรม ให้เรียกใช้ หรือใช้ภาษาไร คะ อยากรู้ อยากรู้ ไม่ขอ source code ก็ได้ อิอิ





โดย: ZAZaSassY วันที่: 29 สิงหาคม 2548 เวลา:14:12:25 น.




ทั้งหมดเป็น PHP ล้วนๆ ครับ ไม่ได้มีภาษาอื่นๆ เข้ามาปนเลยครับ

โดย: กึ่งยิงกึ่งผ่าน วันที่: 29 สิงหาคม 2548 เวลา:15:34:41 น.




เข้ามางงค่ะ แห่ะๆ

โดย: ถั่วแดงเย็น วันที่: 29 สิงหาคม 2548 เวลา:16:48:48 น.




โห.. เพิ่งรู้ว่า php ก็ทำได้ด้วย..
ไม่เคยศึกษาโปรแกรมอะไรแปลกๆใหม่ๆ นานแย้ว
แก้แต่ bug ของโปรแกรมเก่าๆ -_-'

ขอบคุณค้าบ ที่มาให้ความรู้

โดย: Koppy วันที่: 29 สิงหาคม 2548 เวลา:17:03:14 น.






โดย: ปุ๋ย พันธุ์ทิพย์ (สวย ส่ายสุดๆ ) วันที่: 29 สิงหาคม 2548 เวลา:21:51:48 น.




อ่านแล้วเครียดอ่ะ

โดย: ultraman seven วันที่: 29 สิงหาคม 2548 เวลา:23:11:31 น.




งง พะย่ะค่ะ


โดย: หมาร่าหมาหรอด วันที่: 30 สิงหาคม 2548 เวลา:20:03:22 น.




เกิดอะไรขึ้นคะ ทำไมบล็อกคุณกึ่งฯมีแค่ 2 คอลัมน์เอง คอลัมน์ขวาสุดหายไปจากหน้าจอหล่นไปอยู่ข้างล่าง

หรือว่าคอมฯโป๋ยเจ๊งอ่ะ



โดย: ปุ๋ย พันธุ์ทิพย์ (สวย ส่ายสุดๆ ) วันที่: 2 กันยายน 2548 เวลา:11:30:22 น.




ได้ยินชือมานาน แวะมาทัำกทายค่ะ

ทำไรไม่เปงเลยเรา เฮ้อออ....งงค่ะ

โดย: สาวน้อยตกน้ำ IP: 203.151.140.122 วันที่: 2 กันยายน 2548 เวลา:23:24:18 น.




พอดีว่าความเห็นก่อนคุณปุ๋ยอ่ะครับ ทำให้ error ครับ ตอนนี้ผมเอาออกแล้วครับ

โดย: กึ่งยิงกึ่งผ่าน วันที่: 3 กันยายน 2548 เวลา:17:51:13 น.




........................................................................................................................................................................................................................................................

โดย: trdr IP: 125.24.14.86 วันที่: 19 พฤษภาคม 2549 เวลา:11:42:13 น.




เหอะ เจ๋งครับพี่

โดย: GiGaPop IP: 202.57.154.210 วันที่: 8 มิถุนายน 2549 เวลา:11:29:28 น.




กำลังทำโปรเจคเกี่ยวกับเรื่องการตัดคำอยู่เลยครับยังไม่รู้จะใช้ Algorithmยังช่วยแนะนำหน่อยนะครับเอาแบบละเอียดหน่อยนะ ผมใช้ภาษา C เขียนช่วยบอกเป็นแนวๆได้ไหม ตอนนี้มืดแปดด้านแล้ว ถ้ายังไงลองอีเมล์ฺมาก็ๆได้นะครับ
pd_bk@hotmail.com

โดย: อนาคตมืดมน IP: 202.12.74.5 วันที่: 3 กรกฎาคม 2549 เวลา:16:33:24 น.




อยากได้ code php การตัดคำมาศึกษา ให้codeมาเป็นการส่วนตัวได้รึเปล่า kimera_joy@hotmail.com

โดย: AA IP: 202.12.73.19 วันที่: 21 สิงหาคม 2551 เวลา:1:47:50 น.




สุดยอดครับ


โดย: ao IP: 125.24.55.32 วันที่: 23 ตุลาคม 2551 เวลา:18:09:17 น.




คือผมกำลังทำโปรเจ็คจบPHPเกี่ยวกับเรื่องนี้อยู่นะครับ เรื่องตัดคำนะครับ ขอความกรุณาบอกโค๊ดการตัดคำโดยเทียบกับ dictionary ทีครับ ตอนนี้เครียดม่ากๆกลัวไม่จบ ถ้าไม่ได้จริงๆช่วยบอก function ที่ใช้เอามาเทียบกับ dictionaryทีนะครับ ถ้ายังไงก้อติดต่อทางเมลล์นี้ครับ
Takeshi-hooza@hotmail.comหรือส่งเมลล์khomsink@gmail.com T/\\\\Tคิดซะว่าสงสารเพื่อนมนุษย์ตัวน้อยๆตาดำๆทีครับ

โดย: ผู้นำแสงสว่าง่งชีวิต IP: 125.26.247.98 วันที่: 13 ธันวาคม 2551 เวลา:12:11:53 น.




คือผมกำลังทำโปรเจ็คจบPHPเกี่ยวกับเรื่องนี้อยู่นะครับ เรื่องตัดคำนะครับ ขอความกรุณาบอกโค๊ดการตัดคำโดยเทียบกับ dictionary ทีครับ ตอนนี้เครียดม่ากๆกลัวไม่จบ ถ้าไม่ได้จริงๆช่วยบอก function ที่ใช้เอามาเทียบกับ dictionaryทีนะครับ ถ้ายังไงก้อติดต่อทางเมลล์นี้ครับ
Takeshi-hooza@hotmail.comหรือส่งเมลล์khomsink@gmail.com T/\\\\Tคิดซะว่าสงสารเพื่อนมนุษย์ตัวน้อยๆตาดำๆทีครับ

โดย: ผู้นำแสงสว่าง่งชีวิต IP: 125.26.247.98 วันที่: 13 ธันวาคม 2551 เวลา:12:12:03 น.




คือผมกำลังทำโปรเจ็คจบPHPเกี่ยวกับเรื่องนี้อยู่นะครับ เรื่องตัดคำนะครับ ขอความกรุณาบอกโค๊ดการตัดคำโดยเทียบกับ dictionary ทีครับ ถ้าไม่ได้จริงๆช่วยบอก function ที่ใช้เอามาเทียบกับ dictionaryทีนะครับ ถ้ายังไงก้อติดต่อทางเมลล์นี้ครับ
samulaiza@hotmail.comคิดซะว่าสงสารเพื่อนมนุษย์ตัวน้อยๆตาดำๆทีครับ

โดย: ชุมพล IP: 58.136.98.190 วันที่: 31 มีนาคม 2552 เวลา:20:59:05 น.






สาดน้ำสงกรานต์ค่ะ

โดย: ชะเอมหวาน วันที่: 12 เมษายน 2552 เวลา:23:11:35 น.




คือตอนนี้ผมกำลังทำโปรเจ็คเกี่ยวกับการตัดคำไทยโดยใช้พจนานุกรมสำหรับทำเว็บการท่องเที่ยว โดยต้องมีการใช้การตัดคำมาเทียบคำเหมือน คำคล้ายนะครับ อยากได้โค๊ดเพื่อมาใช้เป็นแนวทางการศึกษาจังเลยคับ ถ้าไม่เป็นการรบกวนอยากจะขอเพื่อมาศึกษานะคับ lucas021@windowslive.com ขอบคุณล่วงหน้าเลยน่ะคับเผื่อจะได้รับความอนุเคราะห์


 

โดย: เอก IP: 113.53.142.224 16 กุมภาพันธ์ 2554 17:20:13 น.  

 

คือตอนนี้ผมกำลังทำโปรเจ็คเกี่ยวกับการตัดคำไทยโดยใช้พจนานุกรมสำหรับทำเว็บการท่องเที่ยว โดยต้องมีการใช้การตัดคำมาเทียบคำเหมือน คำคล้ายนะครับ อยากได้โค๊ดเพื่อมาใช้เป็นแนวทางการศึกษาจังเลยคับ ถ้าไม่เป็นการรบกวนอยากจะขอเพื่อมาศึกษานะคับ lucas021@windowslive.com ขอบคุณล่วงหน้าเลยน่ะคับเผื่อจะได้รับความอนุเคราะห์

 

โดย: เอก IP: 113.53.142.224 16 กุมภาพันธ์ 2554 17:21:51 น.  

ชื่อ :
Comment :
  *ใช้ code html ตกแต่งข้อความได้เฉพาะสมาชิก
 


กึ่งยิงกึ่งผ่าน
Location :
กรุงเทพ Thailand

[ดู Profile ทั้งหมด]

ฝากข้อความหลังไมค์
Rss Feed

ผู้ติดตามบล็อก : 4 คน [?]




มีคนถามมาเยอะ ว่าชื่อผมแปลว่าอะไร บอกง่ายๆ ว่ามาจากฟุตบอลครับ "กึ่งยิงกึ่งผ่าน" เป็นการส่งลูกไปที่

หน้าประตูฝ่ายตรงข้าม โดยผู้เล่นที่เลี้ยงลูกมาจากทางด้านข้างของสนาม พอถึงจังหวะ ก็ผ่านลูกมาให้เพื่อนที่วิ่งมารออยู่หน้าประตู .... ต่าแว่!!

... แต่ว่า!!! ... ลูกมันเลยเพื่อนไป แต่ก็ไม่ถึงประตู เหมือนจะเป็นการยิงประตูก็ไม่ใช่ จะส่งให้เพื่อนก็ไม่ใช่


นี่จึงเป็นที่มาของคำว่า "กึ่งยิงกึ่งผ่าน" ครับ

ผมไม่ได้คิดเองแต่อย่างใด แต่เอามาจากการดูฟุตบอลครับ

ปล. ชื่อผมนี่บ่งบอกเลยว่า "ฟุตบอล" แต่ผมไม่ได้เล่นห้องศุภฯ นะครับ .. แหะ แหะ แหะ
Friends' blogs
[Add กึ่งยิงกึ่งผ่าน's blog to your web]
Links
 

 Pantip.com | PantipMarket.com | Pantown.com | © 2004 BlogGang.com allrights reserved.