SlideShare a Scribd company logo
1 of 17
Download to read offline
รหัสโครงการ NSC 11p34c334
การแบ่งคําภาษาไทยด้วยเทคนิคไตรแกรม
Trigram Technique in Thai Word Segmentation
ประเภทโครงงาน การแบ่งคําไทย
รายงานฉบับสมบูรณ์
เสนอต่อ
ศูนย์เทคโนโลยีอิเล็กทรอนิกส์และคอมพิวเตอร์แห่งชาติ
สํานักงานพัฒนาวิทยาศาสตร์และเทคโนโลยีแห่งชาติ
กระทรวงวิทยาศาสตร์และเทคโนโลยี
ได้รับทุนอุดหนุนโครงการวิจัย พัฒนาและวิศวกรรม
โครงการการแข่งขันพัฒนาโปรแกรมคอมพิวเตอร์แห่งประเทศไทย ครั้งที่ 11
ประจําปีงบประมาณ 2551
โดย
น.ส. เกศราภรณ์ ซื่อสัตย์พาณิชย์
อาจารย์ที่ปรึกษาโครงงาน
อ.ดร.อติวงศ์สุชาโต
คณะวิศวกรรมศาสตร์ จุฬาลงกรณ์มหาวิทยาลัย
2
กิตติกรรมประกาศ
ขอกราบขอบพระคุณบิดา มารดา และบุคคลในครอบครัว รวมถึงเพื่อนๆ ทุกคนที่ให้กําลังใจและ
ให้ความสนับสนุนให้การจัดทําโครงงานเป็นไปอย่างราบรื่น โดยเฉพาะอย่างยิ่งขอขอบคุณท่านอาจารย์
อติวงศ์สุชาโต อาจารย์ที่ปรึกษาที่ให้คําปรึกษา คําแนะนําที่ดีและกําลังใจทําให้โครงงานนี้สําเร็จได้ตาม
ความตั้งใจ รวมถึงขอขอบคุณห้องปฏิบัติการวิจัยระบบภาษาพูดของคณะวิศวกรรมศาสตร์ที่เอื้อเฟื้อ
สถานที่ในการทํางาน และเพื่อนๆ สมาชิกในห้องปฏิบัติการที่รับฟังแนวคิดและให้คําแนะนําต่างๆ
ตลอดมา
สุดท้ายนี้ขอขอบคุณศูนย์เทคโนโลยีอิเล็กทรอนิกส์และคอมพิวเตอร์แห่งชาติ สํานักงานพัฒนา
วิทยาศาสตร์และเทคโนโลยีแห่งชาติ และสํานักงานส่งเสริมอุตสาหกรรมซอฟต์แวร์แห่งชาติที่ให้โอกาส
และมอบทุนอุดหนุนโครงการการแข่งขันพัฒนาโปรแกรมคอมพิวเตอร์แห่งประเทศไทย ครั้งที่ 11 ในการ
พัฒนาโครงงานการแบ่งคําภาษาไทยด้วยเทคนิคไตรแกรมนี้
เกศราภรณ์ ซื่อสัตย์พาณิชย์
3
บทคัดย่อ
โครงงานการแบ่งคําภาษาไทยด้วยเทคนิคไตรแกรมเป็นการพัฒนาโปรแกรมแบ่งคําไทยเพื่อ
แก้ปัญหาขอบเขตที่ไม่ชัดเจนของคําและความกํากวมของภาษาไทย ที่สามารถนําไปใช้ประโยชน์ในด้าน
อื่นๆ ที่เกี่ยวข้องในการประมวลผลภาษาไทยได้เช่น การปรับรูปเขียนให้เป็นรูปอ่านในระบบแปลง
รูปอักษรเป็นเสียงพูด (Text-to-Speech) ระบบการแปลภาษาไทยเป็นภาษาต่างประเทศ การสกัดคําสําคัญ
เพื่อใช้ในระบบการค้นคืนข้อมูลสารสนเทศ (Information Retrieval) โดยโปรแกรมจะถูกพัฒนาด้วย
เทคนิคไตรแกรมซึ่งเป็นวิธีการนําสถิติมาช่วยในการเลือกแบ่งขอบเขตคํา
4
Abstract
Trigram Technique in Thai Word Segmentation Project is developed for solving unclear
boundary and ambiguous Thai word. Thai Word Segmentation is used in Thai Language Processing
such as Text-to-Speech, Machine Translation, Word Extraction in Information Retrieval. Thai Word
Segmentation is developed with Trigram technique base on statistic framework.
5
บทนํา
แนวคิด ความสําคัญ และความเป็นมาของโครงการ
วิทยาการคอมพิวเตอร์ได้มีกระบวนการประมวลผลภาษาธรรมชาติของมนุษย์(Natural Language
Processing) ไม่ว่าจะเป็นการปรับรูปเขียนให้เป็นรูปอ่านในระบบแปลงรูปอักษรเป็นเสียงพูด (Text-to-
Speech) ระบบการแปลภาษาไทยเป็นภาษาต่างประเทศ การสกัดคําสําคัญเพื่อใช้ในระบบการค้นคืนข้อมูล
สารสนเทศ (Information Retrieval) การตรวจไวยากรณ์ในโปรแกรมเอกสาร (Check Grammar) ซึ่งใน
การประมวลภาษาธรรมชาตินั้นจะมีกระบวนการที่สําคัญขั้นตอนหนึ่งที่เป็นขั้นตอนแรกคือ การแบ่งคํา
แต่เนื่องจากภาษาไทยเป็นภาษาที่ไม่มีขอบเขตของคําที่ชัดเจนและยังมีความกํากวมอยู่ในหลายๆ คํา ไม่
เหมือนภาษาต่างประเทศอื่น เช่น ภาษาอังกฤษ ที่มีเว้นวรรคเป็นตัวแบ่งได้ว่าส่วนใดคือคํา ทําให้ประเทศ
ไทยได้มีการทําวิจัยด้านนี้มาอย่างต่อเนื่องเป็นเวลาหลายปี และจนถึงปัจจุบันยังมีการวิจัยแบ่งคําภาษาไทย
โดยต่อยอดงานวิจัยเดิมหรือค้นหาวิธีการใหม่ๆ เพื่อให้การแบ่งคําภาษาไทยมีความถูกต้องมากยิ่งขึ้น
การวิจัยในเรื่องแบ่งคําที่ผ่านมายังพบปัญหาที่ทําให้ไม่สามารถนําวิธีการที่ถูกนําเสนอไปใช้งาน
ได้ในภาคธุรกิจ ทําให้การวิจัยแบ่งคํายังไม่ถือว่าก้าวหน้าเท่าที่ควร โดยมีสาเหตุหลักคือ
1. ไม่มีมาตรฐานของการแบ่งคําไทย
2. ไม่มีข้อมูลด้านการแบ่งคําไทย
3. ไม่มีมาตรฐานเดียวกันในการวัดเปรียบเทียบความสามารถของการแบ่งคําไทย
จากสาเหตุดังกล่าวทําให้ผู้พัฒนาได้เข้าใจถึงปัญหาที่ควรทําการค้นหาวิธีและพัฒนาโปรแกรม
แบ่งคําภาษาไทยให้มีมาตรฐานการแบ่งคําไทยแบบเดียวกันและให้มีการเผยแพร่งานวิจัยต่อวงการวิจัย
ภาควิทยาการคอมพิวเตอร์ต่อไป เพื่อให้เป็นประโยชน์ต่อการใช้งานจริงและสามารถนําไปคิดต่อยอดได้
ในอนาคต
6
สารบัญ
หน้า
กิตติกรรมประกาศ…………………………………………………………………………………….. 2
บทคัดย่อ………………………………………………………………………………………………. 3
Abstract………………………………………………………………….…………………………….. 4
บทนํา………………………………………………………………………………………………….. 5
วัตถุประสงค์และเป้าหมาย……………………………………………………………………………. 7
รายละเอียดของการพัฒนา…………………………………………………………………………….. 8
กลุ่มผู้ใช้โปรแกรม……………………………………………………………………………………. 12
เอกสารอ้างอิง…………………………………………………………………………………………. 13
ภาคผนวก…………………………………………………………………………………………….. 14
คู่มือการติดตั้ง……………………………………………………………………………….. 14
คู่มือการใช้งาน………………………………………………………………………………. 16
7
วัตถุประสงค์และเป้ าหมาย
วัตถุประสงค์
เพื่อพัฒนาโปรแกรมแบ่งคําภาษาไทย
เป้ าหมาย
1. ได้พัฒนาโปรแกรมแบ่งคําไทยให้มีความถูกต้องมากยิ่งขึ้น
2. เพื่อให้การคิดค้นและการพัฒนาโปรแกรมแบ่งคํานี้เกิดประโยชน์ต่อการนําไปใช้งานได้จริง
หรือนําไปพัฒนาต่อยอดได้ในอนาคต
8
รายละเอียดของการพัฒนา
คําภาษาไทยส่วนมากจะมีความกํากวม เนื่องจากการผสมคํานั้นไม่มีหลักเกณฑ์ที่ชัดเจนแน่นอน
ทําให้มีแบบในการแบ่งคําได้หลายแบบ จึงทําการพัฒนาโปรแกรมด้วยเทคนิคไตรแกรมโมเดลมาสําหรับ
หาค่าความน่าจะเป็นเพื่อใช้เป็นคะแนนของแต่ละแบบ ซึ่งเทคนิคไตรแกรมโมเดลจําเป็นต้องใช้คลัง
ข้อความที่เก็บข้อความที่ถูกแบ่งคําไว้แล้วขนาดใหญ่ โดยจะนํา BEST Corpus ที่จัดทําขึ้นโดยเนคเทคไว้
ประมาณ 5 ล้านคํามาใช้
การแบ่งคํานี้จะนําสถิติเข้ามาใช้แก้ปัญหาการแบ่งคํา โดยนําโมเดลไตรแกรมเข้ามาคํานวณค่า
ความน่าจะเป็นของประโยคซึ่งคํานวณได้ตามสมการ ดังนี้
จากสมการเป็นการคํานวณหาค่าความน่าจะเป็นของแต่ละประโยค โดย W คือประโยคที่ถูกแบ่ง
มาแล้ว และประโยค W จะประกอบด้วยคําต่างๆ ซึ่ง W= w1w2...wn โดย wi คือคําศัพท์และการคํานวณค่า
ความน่าจะเป็นของแต่ละประโยคจะมีสมมติฐานว่าความน่าจะเป็นของ wi จะขึ้นอยู่กับ wi-1 และ wi-2
เท่านั้น
แต่เนื่องจากการคํานวณตามสมการนี้ จะต้องใช้คลังข้อความขนาดใหญ่ที่ควรจะมากกว่า n3
โดยที่
n คือจํานวนคําที่เป็นไปได้ทั้งหมด สาเหตุที่วิธีนี้ต้องใช้คลังข้อความที่มีขนาดมากกว่า n3
คํา เนื่องจากวิธีนี้
ต้องมีการนําค่าสถิติการเกิดของคํา 3 คําที่ติดกันมาใช้ในการคํานวณ ดังนั้นเพื่อให้มีค่าสถิติของการเกิดคํา
3 คําที่ติดกันทุกๆ แบบ อย่างน้อยที่สุดจะต้องใช้n3
คํา จึงนําความน่าจะเป็นของไบแกรมและยูนิแกรมเข้า
มาช่วยในการคํานวณด้วย (อ้างอิงจากงานวิจัยเรื่อง "A Statistical Approach to Thai Word Filtering"
ของอัศนีย์ก่อตระกูล) โดยใช้สมการ ดังนี้
9
เนื่องจากอาจจะไม่มีการเกิดขึ้นของคําที่ติดกันตามแบบที่ต้องการหาค่าความน่าจะเป็นในคลัง
ข้อความ จึงทําการเพิ่ม 1 / จํานวนคําทั้งหมด บวกเข้าไปในสมการข้างต้นด้วย
การแบ่งคํามีขั้นตอนดังนี้
1. แบ่งคําทุกแบบที่เป็นไปได้
นํา Input ที่เป็น Text File มาอ่านทีละบรรทัด แล้วนําแต่ละบรรทัดนั้นมาแบ่งตามการเว้นช่องว่าง
ของข้อความ จากนั้นจะนําแต่ละส่วนข้อความมาทําการหาแบบการแบ่งคําโดย Lookup คํา ซึ่งคําได้ถูกเก็บ
ไว้ในฐานข้อมูล (MySQL) ซึ่งในขั้นตอนหาแบบคําที่เป็นไปได้จะมีการตัดทิ้งแบบคําที่มีค่ารวมความ
น่าจะเป็นตํ่ากว่า Threshold ที่กําหนดไว้ซึ่ง Threshold คือ
Threshold = r * THESHO
โดย r คือจํานวนคําที่ถูกแบ่ง และ THESHO กําหนดไว้4 ค่า ดังนี้
THESHO1 = (0.6 * 0.0004) + (0.3 * 0.0005) + (0.1 * 0.0006) + N0ORDER
THESHO2 = 0.6 * 0.0003) + (0.3 * 0.0004) + (0.1 * 0.0005) + N0ORDER
THESHO3 = (0.6 * 0.0002) + (0.3 * 0.0003) + (0.1 * 0.0004) + N0ORDER
THESHO4 = (0.6 * 0.0001) + (0.3 * 0.0002) + (0.1 * 0.0003) + N0ORDER
โดย N0ORDER คือ ค่า 1 / จํานวนคําทั้งหมด
ที่กําหนดค่า Threshold ไว้4 ค่าเนื่องจากการตัดทิ้งตาม Threshold อาจจะทําให้ไม่เหลือแบบใดๆ
เลยเนื่องจากค่า Threshold อาจสูงเกินไป จึงทําการเช็คว่าถ้าตัดทิ้งตาม Threshold ที่สูงสุดแล้วไม่เหลือ
แบบใดๆ เลย ก็จะใช้ค่า Threshold ที่สูงรองลงมาเรื่อยๆ จนกว่าแบบที่เป็นไปได้มากกว่าหนึ่งแบบ แต่ถ้า
ใช้Threshold ที่ตํ่าที่สุดแล้วยังไม่เหลือแบบใดๆ เลย ก็จะไม่ทําการตัดทิ้งตาม Threshold จะทําให้เหลือ
แบบที่เป็นไปได้ทุกแบบ
2. หาค่าความน่าจะเป็นทุกแบบ
10
นําทุกแบบที่แบ่งได้มาหาค่ารวมผลคูณความน่าจะเป็น โดยการหาจะไม่ได้คํานวณทุกแบบจนจบ
แล้วจึงเลือก แต่ในระหว่างการหาความน่าจะเป็นและรวมผลความน่าจะเป็นหรือ Search จะทําการเลือก
แบบที่มีค่าผลรวมแต่ละ Node ที่สูงสุดตามจํานวน m โดยจํานวน m คือ จํานวนอักขระ/10
3. เลือกแบบแบ่งคําที่มีผลความน่าจะเป็นสูงที่สุด
รูปที่ 1 ขั้นตอนการแบ่งคํา
โปรแกรมเป็นลักษณะ Command Line ซึ่งจะรับ Input เป็น Text File เข้ารหัสแบบ ANSI และ
โปรแกรมจะแบ่งคําแล้วได้Output เป็น Text File ที่เข้ารหัสแบบ ANSI
ทําการรันโปรแกรมแบ่งคํา โปรแกรมจะขึ้นข้อความ Enter in/out file:
ให้พิมพ์คําสั่งด้วยรูปแบบ ดังนี้
-i {input file} –o {output file}
โดย input file คือ Path และชื่อ Text File ที่ต้องการแบ่งคํา และ output file คือ Path และชื่อ Text
File ที่เป็นผลลัพธ์ข้อความที่ถูกแบ่งคําแล้ว โดยจะแทรก | หลังคําที่ถูกแบ่งเท่านั้น
11
รูปที่ 2 โปรแกรมการตัดคําภาษาไทยด้วยเทคนิคไตรแกรม
เครื่องมือที่ใช้ในการพัฒนา มีดังนี้
1. ภาษาที่ใช้เขียน: Java
2. API: Java API
3. IDE: NetBeans
4. DBMS: MySQL
ขอบเขตและข้อจํากัดของโปรแกรม
1. โปรแกรมพัฒนาด้วยหลักแบ่งคํา“หน่วยเล็กที่สุดที่มีองค์ประกอบความเป็นคําครบถ้วน”
2. โปรแกรมไม่ตรวจสอบความผิดพลาดของการสะกดคําผิดของ Input ที่เข้ามา
3. โปรแกรมแบ่งข้อความจาก Input File ที่เป็น Text File (.txt) ทีละ 1 Text File ที่ถูกเข้ารหัส
แบบ ANSI
12
กลุ่มผู้ใช้โปรแกรม
1. ผู้ที่ต้องการแบ่งคําภาษาไทยเพื่องานอื่น เช่น งานในการประมวลผลธรรมชาติ
2. ผู้ที่ต้องการศึกษาเรื่องการแบ่งคําภาษาไทย
13
เอกสารอ้างอิง
[1] Kawtrakul, A. et al. 1997, “A statistical approach to Thai word filtering”, in The second
symposium on natural language processing, Bangkok.
[2] Stanley F. Chen and Joshua Goodman. 1998, “An Empirical Study of Smoothing Techniques
for Language Modeling”, Technical Report TR-10-98, Computer Science Group, Harvard
University, 1998.
14
ภาคผนวก
คู่มือการติดตั้ง
1. ติดตั้ง Java
a. คัดลอกโฟลเดอร์ jdk1.6.0_07 ที่อยู่ในโฟลเดอร์ Tools ไปไว้ที่โฟลเดอร์ C:
C:Program Files
b. กําหนดค่าตัวแปรสภาพแวดล้อม โดยไปที่ My Computer แล้วคลิกขวา เลือก
Properties หรือคุณสมบัติ จะปรากฏ Dialog box Properties หรือคุณสมบัติ จากนั้น
ให้เลือก Tab Advance หรือขั้นสูง แล้วกดปุ่ม Environment Variable หรือตัวแปร
สภาพแวดล้อม
15
c. จะปรากฏ Dialog box Environment Variable หรือตัวแปรสภาพแวดล้อม ให้กดปุ่ม
สร้างที่ตัวแปรผู้ใช้สําหรับ Administrator
d. จะปรากฏ Dialog box New Variable หรือตัวแปรใหม่ของผู้ใช้ให้กรอกดังนี้
ชื่อตัวแปร path
ค่าของตัวแปร C:Program Filesjdk1.6.0_07bin;
2. เตรียมโปรแกรม MySQL 5.0 และข้อมูลคลังข้อความ
a. ติดตั้งโปรแกรม MySQL จากโฟลเดอร์ Tools โดยตั้ง username เป็น root และ
password เป็น password
16
b. สร้างฐานข้อมูลชื่อ Best ด้วย username เป็น root และ password เป็น password และ
สร้างตาราง โดยรัน Script “table_script.sql” ที่อยู่ในโฟลเดอร์ Toolsdb
c. Import Data ด้วย freq_1word.xml, freq_2word.xml และ freq_3word.xml ที่ถูก zip
อยู่ในโฟลเดอร์ Toolsdb
3. คัดลอกโฟลเดอร์ MySql-Driver ที่อยู่ในโฟลเดอร์ Tools ไว้ใน C:Program Files
4. คัดลอกโฟลเดอร์ TWS ที่อยู่ในโฟลเดอร์ Setup Programไว้ใน C:Program Files
คู่มือการใช้งาน
1. รันโปรแกรมโดยดับเบิ้ลคลิกที่ไฟล์tws.bat ที่ติดตั้งอยู่ในโฟลเดอร์ C:Program FilesTWS
จะปรากฏโปรแกรมแบบ Command Line จะแสดงข้อความ Enter in/out file:
2. ให้พิมพ์คําสั่งและกดปุ่ม Enter โดยรูปแบบคําสั่ง ดังนี้
-i {input file} –o {output file}
โดย input file คือ Path และชื่อ Text File ที่ต้องการแบ่งคํา และ output file คือ Path และชื่อ
Text File ที่เป็นผลลัพธ์ข้อความที่ถูกแบ่งคําแล้ว
เมื่อโปรแกรมทําการแบ่งข้อความเสร็จ จะปรากฏข้อความ Finish
17

More Related Content

What's hot

หน่วยการเรียนรู้ที่ 4 อินเทอร์เน็ต
หน่วยการเรียนรู้ที่ 4  อินเทอร์เน็ตหน่วยการเรียนรู้ที่ 4  อินเทอร์เน็ต
หน่วยการเรียนรู้ที่ 4 อินเทอร์เน็ตPapichaya Chengtong
 
การติดต่อสื่อสาร
การติดต่อสื่อสารการติดต่อสื่อสาร
การติดต่อสื่อสารJha Jah
 
แบบร่างโครงงานคอมพิวเตอร์เรื่อง หุ่นยนต์
แบบร่างโครงงานคอมพิวเตอร์เรื่อง หุ่นยนต์แบบร่างโครงงานคอมพิวเตอร์เรื่อง หุ่นยนต์
แบบร่างโครงงานคอมพิวเตอร์เรื่อง หุ่นยนต์chayanon Atoon
 
คอมเดี่ยว
คอมเดี่ยวคอมเดี่ยว
คอมเดี่ยวjinoom
 
การบริหารจัดการบรรณานุกรมด้วย Mendeley กับ MicroSoft Office Word
การบริหารจัดการบรรณานุกรมด้วย Mendeley  กับ MicroSoft Office Wordการบริหารจัดการบรรณานุกรมด้วย Mendeley  กับ MicroSoft Office Word
การบริหารจัดการบรรณานุกรมด้วย Mendeley กับ MicroSoft Office WordBoonkiat Chetchamnongnuch
 
รายงานอินเทอร์เน็ต
รายงานอินเทอร์เน็ตรายงานอินเทอร์เน็ต
รายงานอินเทอร์เน็ตnatlove220
 
ความสำคัญของอินเตอร์เน็ต
ความสำคัญของอินเตอร์เน็ตความสำคัญของอินเตอร์เน็ต
ความสำคัญของอินเตอร์เน็ตsombut
 
ระบบห้องสมุดรหัสเปิด
ระบบห้องสมุดรหัสเปิดระบบห้องสมุดรหัสเปิด
ระบบห้องสมุดรหัสเปิดprasittichai lert
 
การใช้งานโปรแกรมระบบห้องสมุดอัตโนมัติ OpenBiblio รุ่น myLib
การใช้งานโปรแกรมระบบห้องสมุดอัตโนมัติ OpenBiblio รุ่น myLibการใช้งานโปรแกรมระบบห้องสมุดอัตโนมัติ OpenBiblio รุ่น myLib
การใช้งานโปรแกรมระบบห้องสมุดอัตโนมัติ OpenBiblio รุ่น myLibSatapon Yosakonkun
 
งานคอม
งานคอมงานคอม
งานคอมPpt Itwc
 
กิจกรรม2 8
กิจกรรม2 8กิจกรรม2 8
กิจกรรม2 8Pavit Wongkajit
 

What's hot (14)

หน่วยการเรียนรู้ที่ 4 อินเทอร์เน็ต
หน่วยการเรียนรู้ที่ 4  อินเทอร์เน็ตหน่วยการเรียนรู้ที่ 4  อินเทอร์เน็ต
หน่วยการเรียนรู้ที่ 4 อินเทอร์เน็ต
 
lesson4 JSP
lesson4 JSPlesson4 JSP
lesson4 JSP
 
53011220085
5301122008553011220085
53011220085
 
การติดต่อสื่อสาร
การติดต่อสื่อสารการติดต่อสื่อสาร
การติดต่อสื่อสาร
 
แบบร่างโครงงานคอมพิวเตอร์เรื่อง หุ่นยนต์
แบบร่างโครงงานคอมพิวเตอร์เรื่อง หุ่นยนต์แบบร่างโครงงานคอมพิวเตอร์เรื่อง หุ่นยนต์
แบบร่างโครงงานคอมพิวเตอร์เรื่อง หุ่นยนต์
 
Moodle e-Learning
Moodle e-LearningMoodle e-Learning
Moodle e-Learning
 
คอมเดี่ยว
คอมเดี่ยวคอมเดี่ยว
คอมเดี่ยว
 
การบริหารจัดการบรรณานุกรมด้วย Mendeley กับ MicroSoft Office Word
การบริหารจัดการบรรณานุกรมด้วย Mendeley  กับ MicroSoft Office Wordการบริหารจัดการบรรณานุกรมด้วย Mendeley  กับ MicroSoft Office Word
การบริหารจัดการบรรณานุกรมด้วย Mendeley กับ MicroSoft Office Word
 
รายงานอินเทอร์เน็ต
รายงานอินเทอร์เน็ตรายงานอินเทอร์เน็ต
รายงานอินเทอร์เน็ต
 
ความสำคัญของอินเตอร์เน็ต
ความสำคัญของอินเตอร์เน็ตความสำคัญของอินเตอร์เน็ต
ความสำคัญของอินเตอร์เน็ต
 
ระบบห้องสมุดรหัสเปิด
ระบบห้องสมุดรหัสเปิดระบบห้องสมุดรหัสเปิด
ระบบห้องสมุดรหัสเปิด
 
การใช้งานโปรแกรมระบบห้องสมุดอัตโนมัติ OpenBiblio รุ่น myLib
การใช้งานโปรแกรมระบบห้องสมุดอัตโนมัติ OpenBiblio รุ่น myLibการใช้งานโปรแกรมระบบห้องสมุดอัตโนมัติ OpenBiblio รุ่น myLib
การใช้งานโปรแกรมระบบห้องสมุดอัตโนมัติ OpenBiblio รุ่น myLib
 
งานคอม
งานคอมงานคอม
งานคอม
 
กิจกรรม2 8
กิจกรรม2 8กิจกรรม2 8
กิจกรรม2 8
 

Similar to โครงงานคอมพิวเตอร์

การเขียนคำสั่งควบคุมขั้นพื้นฐาน
การเขียนคำสั่งควบคุมขั้นพื้นฐานการเขียนคำสั่งควบคุมขั้นพื้นฐาน
การเขียนคำสั่งควบคุมขั้นพื้นฐานKEk YourJust'one
 
ใบงานคอมพิวเตอร์ 2 ถึง 8
ใบงานคอมพิวเตอร์ 2 ถึง 8ใบงานคอมพิวเตอร์ 2 ถึง 8
ใบงานคอมพิวเตอร์ 2 ถึง 8Pumbaa Stk
 
งานนำเสนอ1 คอม
งานนำเสนอ1 คอมงานนำเสนอ1 คอม
งานนำเสนอ1 คอมPassawan' Koohar
 
ใบความรู้ที่1
ใบความรู้ที่1ใบความรู้ที่1
ใบความรู้ที่1Orapan Chamnan
 
แบบเสนอโครงร่างโครงงานคอมพิวเตอร์
แบบเสนอโครงร่างโครงงานคอมพิวเตอร์แบบเสนอโครงร่างโครงงานคอมพิวเตอร์
แบบเสนอโครงร่างโครงงานคอมพิวเตอร์Jakkrapong Bantawang
 
งานนำเสนอ1 คอม
งานนำเสนอ1 คอมงานนำเสนอ1 คอม
งานนำเสนอ1 คอมnuknook
 
เทคโนโลยีการค้นคืนสารสนเทศ
เทคโนโลยีการค้นคืนสารสนเทศเทคโนโลยีการค้นคืนสารสนเทศ
เทคโนโลยีการค้นคืนสารสนเทศSrion Janeprapapong
 
Greenstone : From Paper to Digital Collection
Greenstone : From Paper to Digital CollectionGreenstone : From Paper to Digital Collection
Greenstone : From Paper to Digital CollectionBoonlert Aroonpiboon
 
ขอบข่ายและประเภทโครงงานคอมพิวเตอร์
ขอบข่ายและประเภทโครงงานคอมพิวเตอร์ขอบข่ายและประเภทโครงงานคอมพิวเตอร์
ขอบข่ายและประเภทโครงงานคอมพิวเตอร์miiztake
 

Similar to โครงงานคอมพิวเตอร์ (20)

การเขียนคำสั่งควบคุมขั้นพื้นฐาน
การเขียนคำสั่งควบคุมขั้นพื้นฐานการเขียนคำสั่งควบคุมขั้นพื้นฐาน
การเขียนคำสั่งควบคุมขั้นพื้นฐาน
 
ใบงานคอมพิวเตอร์ 2 ถึง 8
ใบงานคอมพิวเตอร์ 2 ถึง 8ใบงานคอมพิวเตอร์ 2 ถึง 8
ใบงานคอมพิวเตอร์ 2 ถึง 8
 
ส่งคอม
ส่งคอมส่งคอม
ส่งคอม
 
ใบ 7
ใบ 7ใบ 7
ใบ 7
 
ใบ 7
ใบ 7ใบ 7
ใบ 7
 
ใบ 7
ใบ 7ใบ 7
ใบ 7
 
ใบ 7
ใบ 7ใบ 7
ใบ 7
 
20080314 Greenstone
20080314 Greenstone20080314 Greenstone
20080314 Greenstone
 
Technology for Digital Library
Technology for Digital LibraryTechnology for Digital Library
Technology for Digital Library
 
งานนำเสนอ1 คอม
งานนำเสนอ1 คอมงานนำเสนอ1 คอม
งานนำเสนอ1 คอม
 
ใบความรู้ที่1
ใบความรู้ที่1ใบความรู้ที่1
ใบความรู้ที่1
 
608 112126
608 112126608 112126
608 112126
 
แบบเสนอโครงร่างโครงงานคอมพิวเตอร์
แบบเสนอโครงร่างโครงงานคอมพิวเตอร์แบบเสนอโครงร่างโครงงานคอมพิวเตอร์
แบบเสนอโครงร่างโครงงานคอมพิวเตอร์
 
งานนำเสนอ1 คอม
งานนำเสนอ1 คอมงานนำเสนอ1 คอม
งานนำเสนอ1 คอม
 
เทคโนโลยีการค้นคืนสารสนเทศ
เทคโนโลยีการค้นคืนสารสนเทศเทคโนโลยีการค้นคืนสารสนเทศ
เทคโนโลยีการค้นคืนสารสนเทศ
 
สอบก่อนเรียน
สอบก่อนเรียนสอบก่อนเรียน
สอบก่อนเรียน
 
Greenstone : From Paper to Digital Collection
Greenstone : From Paper to Digital CollectionGreenstone : From Paper to Digital Collection
Greenstone : From Paper to Digital Collection
 
608 112126
608 112126608 112126
608 112126
 
608 112126
608 112126608 112126
608 112126
 
ขอบข่ายและประเภทโครงงานคอมพิวเตอร์
ขอบข่ายและประเภทโครงงานคอมพิวเตอร์ขอบข่ายและประเภทโครงงานคอมพิวเตอร์
ขอบข่ายและประเภทโครงงานคอมพิวเตอร์
 

More from pattarawee

เฉลย Onet 52 สุขศึกษา
เฉลย Onet 52 สุขศึกษาเฉลย Onet 52 สุขศึกษา
เฉลย Onet 52 สุขศึกษาpattarawee
 
เฉลย Onet 52 สุขศึกษา
เฉลย Onet 52 สุขศึกษาเฉลย Onet 52 สุขศึกษา
เฉลย Onet 52 สุขศึกษาpattarawee
 
เฉลย O net 52 คณิตศาสตร์
เฉลย O net 52 คณิตศาสตร์เฉลย O net 52 คณิตศาสตร์
เฉลย O net 52 คณิตศาสตร์pattarawee
 
เฉลย Onet 51 สุขศึกษา
เฉลย Onet 51 สุขศึกษาเฉลย Onet 51 สุขศึกษา
เฉลย Onet 51 สุขศึกษาpattarawee
 
เฉลย Onet 50 สุขศึกษา
เฉลย Onet 50 สุขศึกษาเฉลย Onet 50 สุขศึกษา
เฉลย Onet 50 สุขศึกษาpattarawee
 
Onet 53 สุขศึกษา
Onet 53 สุขศึกษาOnet 53 สุขศึกษา
Onet 53 สุขศึกษาpattarawee
 
Onet 52 สุขศึกษา
Onet 52 สุขศึกษาOnet 52 สุขศึกษา
Onet 52 สุขศึกษาpattarawee
 
O net 52 คณิตศาสตร์
O net 52 คณิตศาสตร์O net 52 คณิตศาสตร์
O net 52 คณิตศาสตร์pattarawee
 
Onet 51 สุขศึกษา
Onet 51 สุขศึกษาOnet 51 สุขศึกษา
Onet 51 สุขศึกษาpattarawee
 
Onet 50 สุขศึกษา
Onet 50 สุขศึกษาOnet 50 สุขศึกษา
Onet 50 สุขศึกษาpattarawee
 
เฉลย Onet 53 สุขศึกษา
เฉลย Onet 53 สุขศึกษาเฉลย Onet 53 สุขศึกษา
เฉลย Onet 53 สุขศึกษาpattarawee
 
ใบงานที่ 15
ใบงานที่ 15ใบงานที่ 15
ใบงานที่ 15pattarawee
 
ใบงานที่ 14
ใบงานที่ 14ใบงานที่ 14
ใบงานที่ 14pattarawee
 
ใบงานที่ 13
ใบงานที่ 13ใบงานที่ 13
ใบงานที่ 13pattarawee
 
ใบงานที่ 12
ใบงานที่ 12ใบงานที่ 12
ใบงานที่ 12pattarawee
 
ใบงานที่ 11
ใบงานที่ 11ใบงานที่ 11
ใบงานที่ 11pattarawee
 
ใบงาน 10
ใบงาน 10ใบงาน 10
ใบงาน 10pattarawee
 
ใบงานที่9
ใบงานที่9ใบงานที่9
ใบงานที่9pattarawee
 
โครงงานคอมพ วเตอร
โครงงานคอมพ วเตอร โครงงานคอมพ วเตอร
โครงงานคอมพ วเตอร pattarawee
 
โครงงานคอมพิวเตอร์
โครงงานคอมพิวเตอร์โครงงานคอมพิวเตอร์
โครงงานคอมพิวเตอร์pattarawee
 

More from pattarawee (20)

เฉลย Onet 52 สุขศึกษา
เฉลย Onet 52 สุขศึกษาเฉลย Onet 52 สุขศึกษา
เฉลย Onet 52 สุขศึกษา
 
เฉลย Onet 52 สุขศึกษา
เฉลย Onet 52 สุขศึกษาเฉลย Onet 52 สุขศึกษา
เฉลย Onet 52 สุขศึกษา
 
เฉลย O net 52 คณิตศาสตร์
เฉลย O net 52 คณิตศาสตร์เฉลย O net 52 คณิตศาสตร์
เฉลย O net 52 คณิตศาสตร์
 
เฉลย Onet 51 สุขศึกษา
เฉลย Onet 51 สุขศึกษาเฉลย Onet 51 สุขศึกษา
เฉลย Onet 51 สุขศึกษา
 
เฉลย Onet 50 สุขศึกษา
เฉลย Onet 50 สุขศึกษาเฉลย Onet 50 สุขศึกษา
เฉลย Onet 50 สุขศึกษา
 
Onet 53 สุขศึกษา
Onet 53 สุขศึกษาOnet 53 สุขศึกษา
Onet 53 สุขศึกษา
 
Onet 52 สุขศึกษา
Onet 52 สุขศึกษาOnet 52 สุขศึกษา
Onet 52 สุขศึกษา
 
O net 52 คณิตศาสตร์
O net 52 คณิตศาสตร์O net 52 คณิตศาสตร์
O net 52 คณิตศาสตร์
 
Onet 51 สุขศึกษา
Onet 51 สุขศึกษาOnet 51 สุขศึกษา
Onet 51 สุขศึกษา
 
Onet 50 สุขศึกษา
Onet 50 สุขศึกษาOnet 50 สุขศึกษา
Onet 50 สุขศึกษา
 
เฉลย Onet 53 สุขศึกษา
เฉลย Onet 53 สุขศึกษาเฉลย Onet 53 สุขศึกษา
เฉลย Onet 53 สุขศึกษา
 
ใบงานที่ 15
ใบงานที่ 15ใบงานที่ 15
ใบงานที่ 15
 
ใบงานที่ 14
ใบงานที่ 14ใบงานที่ 14
ใบงานที่ 14
 
ใบงานที่ 13
ใบงานที่ 13ใบงานที่ 13
ใบงานที่ 13
 
ใบงานที่ 12
ใบงานที่ 12ใบงานที่ 12
ใบงานที่ 12
 
ใบงานที่ 11
ใบงานที่ 11ใบงานที่ 11
ใบงานที่ 11
 
ใบงาน 10
ใบงาน 10ใบงาน 10
ใบงาน 10
 
ใบงานที่9
ใบงานที่9ใบงานที่9
ใบงานที่9
 
โครงงานคอมพ วเตอร
โครงงานคอมพ วเตอร โครงงานคอมพ วเตอร
โครงงานคอมพ วเตอร
 
โครงงานคอมพิวเตอร์
โครงงานคอมพิวเตอร์โครงงานคอมพิวเตอร์
โครงงานคอมพิวเตอร์
 

โครงงานคอมพิวเตอร์

  • 1. รหัสโครงการ NSC 11p34c334 การแบ่งคําภาษาไทยด้วยเทคนิคไตรแกรม Trigram Technique in Thai Word Segmentation ประเภทโครงงาน การแบ่งคําไทย รายงานฉบับสมบูรณ์ เสนอต่อ ศูนย์เทคโนโลยีอิเล็กทรอนิกส์และคอมพิวเตอร์แห่งชาติ สํานักงานพัฒนาวิทยาศาสตร์และเทคโนโลยีแห่งชาติ กระทรวงวิทยาศาสตร์และเทคโนโลยี ได้รับทุนอุดหนุนโครงการวิจัย พัฒนาและวิศวกรรม โครงการการแข่งขันพัฒนาโปรแกรมคอมพิวเตอร์แห่งประเทศไทย ครั้งที่ 11 ประจําปีงบประมาณ 2551 โดย น.ส. เกศราภรณ์ ซื่อสัตย์พาณิชย์ อาจารย์ที่ปรึกษาโครงงาน อ.ดร.อติวงศ์สุชาโต คณะวิศวกรรมศาสตร์ จุฬาลงกรณ์มหาวิทยาลัย
  • 2. 2 กิตติกรรมประกาศ ขอกราบขอบพระคุณบิดา มารดา และบุคคลในครอบครัว รวมถึงเพื่อนๆ ทุกคนที่ให้กําลังใจและ ให้ความสนับสนุนให้การจัดทําโครงงานเป็นไปอย่างราบรื่น โดยเฉพาะอย่างยิ่งขอขอบคุณท่านอาจารย์ อติวงศ์สุชาโต อาจารย์ที่ปรึกษาที่ให้คําปรึกษา คําแนะนําที่ดีและกําลังใจทําให้โครงงานนี้สําเร็จได้ตาม ความตั้งใจ รวมถึงขอขอบคุณห้องปฏิบัติการวิจัยระบบภาษาพูดของคณะวิศวกรรมศาสตร์ที่เอื้อเฟื้อ สถานที่ในการทํางาน และเพื่อนๆ สมาชิกในห้องปฏิบัติการที่รับฟังแนวคิดและให้คําแนะนําต่างๆ ตลอดมา สุดท้ายนี้ขอขอบคุณศูนย์เทคโนโลยีอิเล็กทรอนิกส์และคอมพิวเตอร์แห่งชาติ สํานักงานพัฒนา วิทยาศาสตร์และเทคโนโลยีแห่งชาติ และสํานักงานส่งเสริมอุตสาหกรรมซอฟต์แวร์แห่งชาติที่ให้โอกาส และมอบทุนอุดหนุนโครงการการแข่งขันพัฒนาโปรแกรมคอมพิวเตอร์แห่งประเทศไทย ครั้งที่ 11 ในการ พัฒนาโครงงานการแบ่งคําภาษาไทยด้วยเทคนิคไตรแกรมนี้ เกศราภรณ์ ซื่อสัตย์พาณิชย์
  • 3. 3 บทคัดย่อ โครงงานการแบ่งคําภาษาไทยด้วยเทคนิคไตรแกรมเป็นการพัฒนาโปรแกรมแบ่งคําไทยเพื่อ แก้ปัญหาขอบเขตที่ไม่ชัดเจนของคําและความกํากวมของภาษาไทย ที่สามารถนําไปใช้ประโยชน์ในด้าน อื่นๆ ที่เกี่ยวข้องในการประมวลผลภาษาไทยได้เช่น การปรับรูปเขียนให้เป็นรูปอ่านในระบบแปลง รูปอักษรเป็นเสียงพูด (Text-to-Speech) ระบบการแปลภาษาไทยเป็นภาษาต่างประเทศ การสกัดคําสําคัญ เพื่อใช้ในระบบการค้นคืนข้อมูลสารสนเทศ (Information Retrieval) โดยโปรแกรมจะถูกพัฒนาด้วย เทคนิคไตรแกรมซึ่งเป็นวิธีการนําสถิติมาช่วยในการเลือกแบ่งขอบเขตคํา
  • 4. 4 Abstract Trigram Technique in Thai Word Segmentation Project is developed for solving unclear boundary and ambiguous Thai word. Thai Word Segmentation is used in Thai Language Processing such as Text-to-Speech, Machine Translation, Word Extraction in Information Retrieval. Thai Word Segmentation is developed with Trigram technique base on statistic framework.
  • 5. 5 บทนํา แนวคิด ความสําคัญ และความเป็นมาของโครงการ วิทยาการคอมพิวเตอร์ได้มีกระบวนการประมวลผลภาษาธรรมชาติของมนุษย์(Natural Language Processing) ไม่ว่าจะเป็นการปรับรูปเขียนให้เป็นรูปอ่านในระบบแปลงรูปอักษรเป็นเสียงพูด (Text-to- Speech) ระบบการแปลภาษาไทยเป็นภาษาต่างประเทศ การสกัดคําสําคัญเพื่อใช้ในระบบการค้นคืนข้อมูล สารสนเทศ (Information Retrieval) การตรวจไวยากรณ์ในโปรแกรมเอกสาร (Check Grammar) ซึ่งใน การประมวลภาษาธรรมชาตินั้นจะมีกระบวนการที่สําคัญขั้นตอนหนึ่งที่เป็นขั้นตอนแรกคือ การแบ่งคํา แต่เนื่องจากภาษาไทยเป็นภาษาที่ไม่มีขอบเขตของคําที่ชัดเจนและยังมีความกํากวมอยู่ในหลายๆ คํา ไม่ เหมือนภาษาต่างประเทศอื่น เช่น ภาษาอังกฤษ ที่มีเว้นวรรคเป็นตัวแบ่งได้ว่าส่วนใดคือคํา ทําให้ประเทศ ไทยได้มีการทําวิจัยด้านนี้มาอย่างต่อเนื่องเป็นเวลาหลายปี และจนถึงปัจจุบันยังมีการวิจัยแบ่งคําภาษาไทย โดยต่อยอดงานวิจัยเดิมหรือค้นหาวิธีการใหม่ๆ เพื่อให้การแบ่งคําภาษาไทยมีความถูกต้องมากยิ่งขึ้น การวิจัยในเรื่องแบ่งคําที่ผ่านมายังพบปัญหาที่ทําให้ไม่สามารถนําวิธีการที่ถูกนําเสนอไปใช้งาน ได้ในภาคธุรกิจ ทําให้การวิจัยแบ่งคํายังไม่ถือว่าก้าวหน้าเท่าที่ควร โดยมีสาเหตุหลักคือ 1. ไม่มีมาตรฐานของการแบ่งคําไทย 2. ไม่มีข้อมูลด้านการแบ่งคําไทย 3. ไม่มีมาตรฐานเดียวกันในการวัดเปรียบเทียบความสามารถของการแบ่งคําไทย จากสาเหตุดังกล่าวทําให้ผู้พัฒนาได้เข้าใจถึงปัญหาที่ควรทําการค้นหาวิธีและพัฒนาโปรแกรม แบ่งคําภาษาไทยให้มีมาตรฐานการแบ่งคําไทยแบบเดียวกันและให้มีการเผยแพร่งานวิจัยต่อวงการวิจัย ภาควิทยาการคอมพิวเตอร์ต่อไป เพื่อให้เป็นประโยชน์ต่อการใช้งานจริงและสามารถนําไปคิดต่อยอดได้ ในอนาคต
  • 6. 6 สารบัญ หน้า กิตติกรรมประกาศ…………………………………………………………………………………….. 2 บทคัดย่อ………………………………………………………………………………………………. 3 Abstract………………………………………………………………….…………………………….. 4 บทนํา………………………………………………………………………………………………….. 5 วัตถุประสงค์และเป้าหมาย……………………………………………………………………………. 7 รายละเอียดของการพัฒนา…………………………………………………………………………….. 8 กลุ่มผู้ใช้โปรแกรม……………………………………………………………………………………. 12 เอกสารอ้างอิง…………………………………………………………………………………………. 13 ภาคผนวก…………………………………………………………………………………………….. 14 คู่มือการติดตั้ง……………………………………………………………………………….. 14 คู่มือการใช้งาน………………………………………………………………………………. 16
  • 7. 7 วัตถุประสงค์และเป้ าหมาย วัตถุประสงค์ เพื่อพัฒนาโปรแกรมแบ่งคําภาษาไทย เป้ าหมาย 1. ได้พัฒนาโปรแกรมแบ่งคําไทยให้มีความถูกต้องมากยิ่งขึ้น 2. เพื่อให้การคิดค้นและการพัฒนาโปรแกรมแบ่งคํานี้เกิดประโยชน์ต่อการนําไปใช้งานได้จริง หรือนําไปพัฒนาต่อยอดได้ในอนาคต
  • 8. 8 รายละเอียดของการพัฒนา คําภาษาไทยส่วนมากจะมีความกํากวม เนื่องจากการผสมคํานั้นไม่มีหลักเกณฑ์ที่ชัดเจนแน่นอน ทําให้มีแบบในการแบ่งคําได้หลายแบบ จึงทําการพัฒนาโปรแกรมด้วยเทคนิคไตรแกรมโมเดลมาสําหรับ หาค่าความน่าจะเป็นเพื่อใช้เป็นคะแนนของแต่ละแบบ ซึ่งเทคนิคไตรแกรมโมเดลจําเป็นต้องใช้คลัง ข้อความที่เก็บข้อความที่ถูกแบ่งคําไว้แล้วขนาดใหญ่ โดยจะนํา BEST Corpus ที่จัดทําขึ้นโดยเนคเทคไว้ ประมาณ 5 ล้านคํามาใช้ การแบ่งคํานี้จะนําสถิติเข้ามาใช้แก้ปัญหาการแบ่งคํา โดยนําโมเดลไตรแกรมเข้ามาคํานวณค่า ความน่าจะเป็นของประโยคซึ่งคํานวณได้ตามสมการ ดังนี้ จากสมการเป็นการคํานวณหาค่าความน่าจะเป็นของแต่ละประโยค โดย W คือประโยคที่ถูกแบ่ง มาแล้ว และประโยค W จะประกอบด้วยคําต่างๆ ซึ่ง W= w1w2...wn โดย wi คือคําศัพท์และการคํานวณค่า ความน่าจะเป็นของแต่ละประโยคจะมีสมมติฐานว่าความน่าจะเป็นของ wi จะขึ้นอยู่กับ wi-1 และ wi-2 เท่านั้น แต่เนื่องจากการคํานวณตามสมการนี้ จะต้องใช้คลังข้อความขนาดใหญ่ที่ควรจะมากกว่า n3 โดยที่ n คือจํานวนคําที่เป็นไปได้ทั้งหมด สาเหตุที่วิธีนี้ต้องใช้คลังข้อความที่มีขนาดมากกว่า n3 คํา เนื่องจากวิธีนี้ ต้องมีการนําค่าสถิติการเกิดของคํา 3 คําที่ติดกันมาใช้ในการคํานวณ ดังนั้นเพื่อให้มีค่าสถิติของการเกิดคํา 3 คําที่ติดกันทุกๆ แบบ อย่างน้อยที่สุดจะต้องใช้n3 คํา จึงนําความน่าจะเป็นของไบแกรมและยูนิแกรมเข้า มาช่วยในการคํานวณด้วย (อ้างอิงจากงานวิจัยเรื่อง "A Statistical Approach to Thai Word Filtering" ของอัศนีย์ก่อตระกูล) โดยใช้สมการ ดังนี้
  • 9. 9 เนื่องจากอาจจะไม่มีการเกิดขึ้นของคําที่ติดกันตามแบบที่ต้องการหาค่าความน่าจะเป็นในคลัง ข้อความ จึงทําการเพิ่ม 1 / จํานวนคําทั้งหมด บวกเข้าไปในสมการข้างต้นด้วย การแบ่งคํามีขั้นตอนดังนี้ 1. แบ่งคําทุกแบบที่เป็นไปได้ นํา Input ที่เป็น Text File มาอ่านทีละบรรทัด แล้วนําแต่ละบรรทัดนั้นมาแบ่งตามการเว้นช่องว่าง ของข้อความ จากนั้นจะนําแต่ละส่วนข้อความมาทําการหาแบบการแบ่งคําโดย Lookup คํา ซึ่งคําได้ถูกเก็บ ไว้ในฐานข้อมูล (MySQL) ซึ่งในขั้นตอนหาแบบคําที่เป็นไปได้จะมีการตัดทิ้งแบบคําที่มีค่ารวมความ น่าจะเป็นตํ่ากว่า Threshold ที่กําหนดไว้ซึ่ง Threshold คือ Threshold = r * THESHO โดย r คือจํานวนคําที่ถูกแบ่ง และ THESHO กําหนดไว้4 ค่า ดังนี้ THESHO1 = (0.6 * 0.0004) + (0.3 * 0.0005) + (0.1 * 0.0006) + N0ORDER THESHO2 = 0.6 * 0.0003) + (0.3 * 0.0004) + (0.1 * 0.0005) + N0ORDER THESHO3 = (0.6 * 0.0002) + (0.3 * 0.0003) + (0.1 * 0.0004) + N0ORDER THESHO4 = (0.6 * 0.0001) + (0.3 * 0.0002) + (0.1 * 0.0003) + N0ORDER โดย N0ORDER คือ ค่า 1 / จํานวนคําทั้งหมด ที่กําหนดค่า Threshold ไว้4 ค่าเนื่องจากการตัดทิ้งตาม Threshold อาจจะทําให้ไม่เหลือแบบใดๆ เลยเนื่องจากค่า Threshold อาจสูงเกินไป จึงทําการเช็คว่าถ้าตัดทิ้งตาม Threshold ที่สูงสุดแล้วไม่เหลือ แบบใดๆ เลย ก็จะใช้ค่า Threshold ที่สูงรองลงมาเรื่อยๆ จนกว่าแบบที่เป็นไปได้มากกว่าหนึ่งแบบ แต่ถ้า ใช้Threshold ที่ตํ่าที่สุดแล้วยังไม่เหลือแบบใดๆ เลย ก็จะไม่ทําการตัดทิ้งตาม Threshold จะทําให้เหลือ แบบที่เป็นไปได้ทุกแบบ 2. หาค่าความน่าจะเป็นทุกแบบ
  • 10. 10 นําทุกแบบที่แบ่งได้มาหาค่ารวมผลคูณความน่าจะเป็น โดยการหาจะไม่ได้คํานวณทุกแบบจนจบ แล้วจึงเลือก แต่ในระหว่างการหาความน่าจะเป็นและรวมผลความน่าจะเป็นหรือ Search จะทําการเลือก แบบที่มีค่าผลรวมแต่ละ Node ที่สูงสุดตามจํานวน m โดยจํานวน m คือ จํานวนอักขระ/10 3. เลือกแบบแบ่งคําที่มีผลความน่าจะเป็นสูงที่สุด รูปที่ 1 ขั้นตอนการแบ่งคํา โปรแกรมเป็นลักษณะ Command Line ซึ่งจะรับ Input เป็น Text File เข้ารหัสแบบ ANSI และ โปรแกรมจะแบ่งคําแล้วได้Output เป็น Text File ที่เข้ารหัสแบบ ANSI ทําการรันโปรแกรมแบ่งคํา โปรแกรมจะขึ้นข้อความ Enter in/out file: ให้พิมพ์คําสั่งด้วยรูปแบบ ดังนี้ -i {input file} –o {output file} โดย input file คือ Path และชื่อ Text File ที่ต้องการแบ่งคํา และ output file คือ Path และชื่อ Text File ที่เป็นผลลัพธ์ข้อความที่ถูกแบ่งคําแล้ว โดยจะแทรก | หลังคําที่ถูกแบ่งเท่านั้น
  • 11. 11 รูปที่ 2 โปรแกรมการตัดคําภาษาไทยด้วยเทคนิคไตรแกรม เครื่องมือที่ใช้ในการพัฒนา มีดังนี้ 1. ภาษาที่ใช้เขียน: Java 2. API: Java API 3. IDE: NetBeans 4. DBMS: MySQL ขอบเขตและข้อจํากัดของโปรแกรม 1. โปรแกรมพัฒนาด้วยหลักแบ่งคํา“หน่วยเล็กที่สุดที่มีองค์ประกอบความเป็นคําครบถ้วน” 2. โปรแกรมไม่ตรวจสอบความผิดพลาดของการสะกดคําผิดของ Input ที่เข้ามา 3. โปรแกรมแบ่งข้อความจาก Input File ที่เป็น Text File (.txt) ทีละ 1 Text File ที่ถูกเข้ารหัส แบบ ANSI
  • 12. 12 กลุ่มผู้ใช้โปรแกรม 1. ผู้ที่ต้องการแบ่งคําภาษาไทยเพื่องานอื่น เช่น งานในการประมวลผลธรรมชาติ 2. ผู้ที่ต้องการศึกษาเรื่องการแบ่งคําภาษาไทย
  • 13. 13 เอกสารอ้างอิง [1] Kawtrakul, A. et al. 1997, “A statistical approach to Thai word filtering”, in The second symposium on natural language processing, Bangkok. [2] Stanley F. Chen and Joshua Goodman. 1998, “An Empirical Study of Smoothing Techniques for Language Modeling”, Technical Report TR-10-98, Computer Science Group, Harvard University, 1998.
  • 14. 14 ภาคผนวก คู่มือการติดตั้ง 1. ติดตั้ง Java a. คัดลอกโฟลเดอร์ jdk1.6.0_07 ที่อยู่ในโฟลเดอร์ Tools ไปไว้ที่โฟลเดอร์ C: C:Program Files b. กําหนดค่าตัวแปรสภาพแวดล้อม โดยไปที่ My Computer แล้วคลิกขวา เลือก Properties หรือคุณสมบัติ จะปรากฏ Dialog box Properties หรือคุณสมบัติ จากนั้น ให้เลือก Tab Advance หรือขั้นสูง แล้วกดปุ่ม Environment Variable หรือตัวแปร สภาพแวดล้อม
  • 15. 15 c. จะปรากฏ Dialog box Environment Variable หรือตัวแปรสภาพแวดล้อม ให้กดปุ่ม สร้างที่ตัวแปรผู้ใช้สําหรับ Administrator d. จะปรากฏ Dialog box New Variable หรือตัวแปรใหม่ของผู้ใช้ให้กรอกดังนี้ ชื่อตัวแปร path ค่าของตัวแปร C:Program Filesjdk1.6.0_07bin; 2. เตรียมโปรแกรม MySQL 5.0 และข้อมูลคลังข้อความ a. ติดตั้งโปรแกรม MySQL จากโฟลเดอร์ Tools โดยตั้ง username เป็น root และ password เป็น password
  • 16. 16 b. สร้างฐานข้อมูลชื่อ Best ด้วย username เป็น root และ password เป็น password และ สร้างตาราง โดยรัน Script “table_script.sql” ที่อยู่ในโฟลเดอร์ Toolsdb c. Import Data ด้วย freq_1word.xml, freq_2word.xml และ freq_3word.xml ที่ถูก zip อยู่ในโฟลเดอร์ Toolsdb 3. คัดลอกโฟลเดอร์ MySql-Driver ที่อยู่ในโฟลเดอร์ Tools ไว้ใน C:Program Files 4. คัดลอกโฟลเดอร์ TWS ที่อยู่ในโฟลเดอร์ Setup Programไว้ใน C:Program Files คู่มือการใช้งาน 1. รันโปรแกรมโดยดับเบิ้ลคลิกที่ไฟล์tws.bat ที่ติดตั้งอยู่ในโฟลเดอร์ C:Program FilesTWS จะปรากฏโปรแกรมแบบ Command Line จะแสดงข้อความ Enter in/out file: 2. ให้พิมพ์คําสั่งและกดปุ่ม Enter โดยรูปแบบคําสั่ง ดังนี้ -i {input file} –o {output file} โดย input file คือ Path และชื่อ Text File ที่ต้องการแบ่งคํา และ output file คือ Path และชื่อ Text File ที่เป็นผลลัพธ์ข้อความที่ถูกแบ่งคําแล้ว เมื่อโปรแกรมทําการแบ่งข้อความเสร็จ จะปรากฏข้อความ Finish
  • 17. 17