chapter 7 text operations ( การประมวลผลข้อความ)
Post on 03-Jan-2016
43 Views
Preview:
DESCRIPTION
TRANSCRIPT
Chapter 7Text Operations
(การประมวลผลข้�อความ)
ดร. สุ�ขชาตร ประสุมสุ�ขคณะเทคโนโลยีสุารสุนเทศและการสุ��อสุาร
ม.พะเยีา
การประมวลผลข้�อความ (Text Operations)
•การประมวลผลข�อความ (Text Operations) หมายีถึ"ง การปฏิ%บั'ต%การตามกรรมว%ธีเพ��อน)าผลท�ได�ไปสุร�างดรรชน (Indexing) อ'นจะท)าให�การค�นหา (Searching) ในข'-นต.อมาเป/นไปอยี.างรวดเร0ว มประสุ%ทธี%ภาพและประสุ%ทธี%ผล
•Text Operations น-แบั.งออกเป/น 3 เร��อง ค�อ •Document Preprocessing•Text Clustering •Text Compression
2
Document Preprocessing
•การว%เคราะห2ค)า (Lexical Analysis) •การจ'ดค)าโหล (Stop-words) •การหารากศ'พท2ของค)า (Stemming) •การเล�อกเทอมเพ��อสุร�างดรรชน (Term Selection) •การสุร�างค)าศ'พท2สุ'มพ'นธี2 (Thesaurus
Construction)
3
การว�เคราะห์�ค�า (Lexical Analysis) • เป/นขบัวนการแปลงสุายีต'วอ'กษรยีาว ๆ ในเอกสุารหร�อสุ%�ง
เป5าหมายีกลายีมาเป/นสุายีของค)าศ'พท2 เพ��อใช�ในการสุร�างดรรชนของเทอมต.อไป เม��อได�ค)าแต.ละค)าในข�อความยี'งไม.สุามารถึน)าค)าเหล.าน'-นไปสุร�างดรรชนได�ท'นทเพราะยี'งต�องกล'�นกรองค)าอกหลายีข'-นจ"งจะใช�งานได� ท�สุ)าค'ญได�แก.
•ค)าท�เป/นต'วเลข (Digit) •ค)าท�เช��อมด�วยีขด (Hyphen) •ค)าท�เช��อมด'วยีเคร��องหมายี Punctuation •ต'วอ'กษรใหญ.เล0ก
4
การก�าจั�ดค�าโห์ล (Stop-words Elimination)
•แปรตามความหมายีจากค)าว.า Stop-words หมายีถึ"งค)าท�ปรากฏิบั.อยีมากในข�อความ เช.น a, an, the, and, about, for ในภาษาอ'งกฤษ หร�อค)าว.า ค�อ เป/น และ หร�อ ในภาษาไทยี
• เน��องจากค)าโหลมปรากฏิมากจนไม.มผลในการสุ�บัค�นทางปฏิ%บั'ต%จ"งไม.จ)าต�องน)ามาสุร�างเป/นดรรชนไม.ว.าจะเป/นร8ปแบับัใดก0ตาม
5
การห์ารากศั�พท์� (Stemming)
•Stemming เป/นการหา Stem หมายีถึ"ง รากศ'พท2 ค)าหล'ก หร�อต�นตอของศ'พท2 เพ��อให�การอธี%บัายีเป/นไปในทางเดยีวก'น
•ภาษาอ'งกฤษ ค)ามการเปล�ยีนร8ปไปตามเหต�การณ2หร�อสุภาวะต.างๆ เช.น ค)าว.า Load เป/น Loads, Loaded, Loading, Loadable, Loader, Loaders เป/นต�น
•ภาษาบัาล มการแจกว%ภ'ต%ตามสุถึานการณ2 เช.น ค)าว.า ก�มาร กลายีเป/น ก�มาโร ก�มาร) ก�มาเร เป/นต�น
6
การห์ารากศั�พท์� (Stemming)
•การท)า Stemming มหลายีว%ธีท�สุ)าค'ญได�แก.
•Table Lookup •Affix Removal •Successor Variety
7
การเล�อกเท์อมเพ��อสร�างดรรชนี! (Term Selection)
•แรกต�องให�ผ8�เช�ยีวชาญท�มความร8 �เฉพาะทางในเอกสุารน'-นๆ เป/นผ8�ก)าหนด ซึ่"�งต�องใช�เวลาและแรงงานมากมหาศาลสุ)าหร'บัการเล�อกเทอมและสุร�างเป/นดรรชน
•จ"งหลกเล�ยีงการใช�แรงงานคนแต.หาว%ธีการสุร�างอยี.างอ'ตโนม'ต%แทน การเล�อกเทอม สุามารถึท)าได�อยี.างอ'ตโนม'ต%ด�วยีการก)าหนดเง��อนไขของการค'ดเล�อก ซึ่"�งก0มหลายีว%ธี ว%ธีหน"�งท�ดค�อการเล�อกเทอมท�เป/นค)านาม (Noun)
8
การสร�างค�าศั�พท์�ส�มพ�นีธ์� (Thesaurus Construction)
•Thesaurus หมายีถึ"งค)าศ'พท2 หร�อเทอมท�มความหมายีเดยีวก'นหร�อใกล�เคยีงก'น เช.น ค)าว.า Astronaut ก'บัค)าว.า Cosmonaut หร�อ Space Traveler
•การท�ค)าศ'พท2ท�มความหมายีเดยีวก'นหร�อใกล�เคยีงก'น แต.เขยีนได�หลากหลายีต.างก'น เป/นความงดงามของภาษาอกแบับัหน"�งท�ท)าให�บัทความเขยีนได�ชวนอ.าน มสุสุ'น และไม.ซึ่)-าซึ่าก แต.ยี.อมจะก.อให�เก%ดป;ญหา
9
ว�ตถุ%ประสงค�ข้องการสร�างคล�งข้�อม&ล Thesaurus
• เพ��อก)าหนดค)าศ'พท2มาตรฐาน• เพ��อช.วยีให�ผ8�ใช�ในการสุร�างค)าสุอบัถึามอยี.างเหมาะสุม • เพ��อก)าหนดระด'บัช'-นของค)าศ'พท2
10
องค�ประกอบข้อง Thesaurus
•ค)าหล'กของช�ด (Descriptor) •ค)าท�ความหมายีพ�องก'บัค)าหล'ก หร�อค)าท�มความ
หมายีใกล�เคยีงก'บัค)าหล'ก แต.ระบับัไม.ใช�และก)าหนดให�ใช�ค)าหล'กแทน (Used for)
•ข�อความอธี%บัายีค)าหล'ก(Scope Note) •ค)าท�มความสุ'มพ'นธี2ก'บัค)าหล'ก
11
ล�กษณะความส�มพ�นีธ์�ข้องค�าศั�พท์�ในี Thesaurus
สุามารถึจ)าแนกได�เป/น 3 ประเภทหล'ก ด'งน- ความสุ'มพ'นธี2ในแบับัสุมม8ล (Equivalence Relationship) ความสุ'มพ'นธี2ในแบับัระด'บัช'-น (Hierarchical
Relationship) ความสุ'มพ'นธี2ในแบับัเก�ยีวร.วม (Associative Relationship)
12
ว�ธ์!การสร�าง Thesaurus
• ว�ธ์!การแบบ Manual ว%ธีน-ใช�คนท)าเป/นหล'ก โดยีเช%ญผ8�เช�ยีวชาญในสุาขาว%ชาเฉพาะทางมาท)าการรวบัรวมค)าศ'พท2สุ)าค'ญและความสุ'มพ'นธี2ระหว.างค)าท'-งหมดเข�าด�วยีก'น
• ว�ธ์!การประมวลผลด�วยเคร��องจั�กร โดยีอาศ'ยีการปรากฏิของค)าศ'พท2หร�อเทอมในเอกสุารเป/นฐานข�อม8ลและท)าการค)านวณค.าต.าง ๆ ท�เป/นต'วว'ดได� อ'นจะน)าไปสุ8.การต'ดสุ%นใจของการจ'ดเก0บัค)าศ'พท2น'-น
• ก0ตาม ข'-นตอนสุ�ดท�ายีของการต'ดสุ%นใจ ยี'งต�องใช�ผ8�เช�ยีวชาญเฉพาะทางเป/นผ8�ต'ดสุ%น
13
Text Clustering
•การจ'ดกล�.มของเอกสุารท�คล�ายีก'นไว�ในกล�.มเดยีวก'น และท�ต.างก'นก0ให�แยีกกล�.มก'น
•แทนท�จะค�นหาจากเอกสุารท'-งหมด เราก0เพยีงจ)าก'ดเฉพาะเอกสุารท�อยี8.ในกล�.มเดยีวก'น ท)าให�ขอบัเขตแคบัลง การค�นหายี'งจะท)าได�เร0วข"-น
•ว%ธีการแบั.งกล�.มมหลากหลายีว%ธี แต.ก0จ'ดได�เป/น 2 ว%ธีหล'กด'งน-
•Flat Clustering•Hierarchical Clustering
14
Flat Clustering
• เป/นการแบั.งกล�.มตามแนวราบั โดยีถึ�อว.าท�ก Object เท.าก'นหมด หล'กการจะใช�ว%ธี K-Means ด�วยีการว'ดความเหม�อนของ Object ก'บัต'วแทนกล�.ม และท)าการแบั.งกล�.มออก แบั.งเป/น K กล�.ม (Cluster) โดยีจะแทนแต.ละ Object ด�วยีเวกเตอร2 ใน Vector Space เดยีวก'น การแบั.งกล�.มข�อม8ลด�วยีว%ธีน- จะพ%จารณาจากค.าเบั�ยีงเบันมาตรฐาน ค�อ การแบั.งกล�.มท�ดต�องมผลรวมของค.าเบั�ยีงเบันมาตรฐานของ Clusters ให�น�อยีท�สุ�ด
15
K – Means Algorithm
• ในข'-นตอนแรก สุ�.มเล�อก Objects จ)านวน k กล�.ม จากท'-งหมด และให�เป/นค.าเร%�มต�นของค.าเฉล�ยี µ
•ข'-นตอนท�สุองเป/นการวนซึ่)-าเป/นรอบั ๆ (Iteration) จนกว.าจะเล%กตามาเกณฑ์2ก)าหนด
• ในทางปฏิ%บั'ต% K – Means Algorithm จะใช�งานอยี.างได�ผลและเป/นไปอยี.างมประสุ%ทธี%ภาพหร�อไม.น'-นข"-นอยี8.ก'บั การเล�อกค.าเร%�มต�น, การก)าหนดเกณฑ์2การเล%ก , การก)าหนดค.า k
16
Hierarchical Clustering
• เป/นการแบั.งกล�.มโดยีจ'ดเป/นล)าด'บัช'-น กล.าวค�อ Clusters ประกอบัด�วยี Clusters ยี.อยีและแบั.งต.อเป/น Clusters ยี.อยี ๆ และต.อ ๆ ไป ว%ธีการเป/นไปได�ใน 2 ว%ธีค�อ ท)าจากล.างไปบันท�เรยีกว.า Bottom-up และท)าจากบันลงล.างท�เรยีกว.า Top-down ว%ธีการของ Bottom-up จะใช�เป/น Agglomerative Algorithm
17
Hierarchical Clustering
•ผลล'พธี2ของ Agglomerative Clustering จะข"-นก'บัการว'ดค.าความเหม�อน (Similarity) เป/นสุ)าค'ญ โดยีท'�วไปจะมการว'ดใน 4 ว%ธีด�วยีก'นด'งน-
•Single Link•Complete Link•Centroid•Group Average
18
การบ!บอ�ดข้�อความ (Text Compression)
•ว%ธีการลดขนาดของเน�-อท�การจ'ดเก0บัของข�อความให�เล0กลง
•ประโยีชน2โดยีตรงท�เห0นได�ช'ด ท)าให�เน�-อท�การจ'ดเก0บัมขนาดเล0กลงตาม เม��อข�อความมขนาดเล0กลงทางกายีภาพ ก0ต�องท)าการสุ.งผ.าน ได�เร0วข"-นในความเร0วเท.าเด%ม หร�อหากในช.วงกว�าง (Bandwidth) คงท�ก0จะได�จ)านวนช.องสุ'ญญาณ (Channel) ท�มากข"-นในการสุ.งผ.านข�อม8ล
•การบับัอ'ดข�อความจ"งถึ�อได�ว.าเป/นอกร8ปแบับัหน"�งของการเข�ารห'สุข�อม8ล (Data Encryption)
19
การบ!บอ�ดข้�อความ (Text Compression)
• Text Compression มว%ธีการแปลงได�หลายีว%ธี แต.ท�กว%ธีจะมล'กษณะร.วมก'นค�อเป/นแบับั Lossless Compression อ'นหมายีถึ"งเม��อแปลงข�อม8ลในขาไป และแปลงกล'บัในขากล'บั ยี'งร'กษาข�อความให�เหม�อนเด%มท�กประการได�
• สุ)าหร'บั Text Compression แล�วจะน)าในล'กษณะ Lossy Compression ไม.ได� เพราะมน�ษยี2อ.านข�อความท�แปลงกล'บัผ%ดแปลกไปจากเด%มไม.ได� เม��อข�อความไม.เหม�อนเด%มความเข�าใจก0จะต.างก'น จ"งท)าให�ไม.เล�อกว%ธีการ Lossy Compression
20
การบ!บอ�ดข้�อความ (Text Compression)ว%ธีการท)า Text Compression แบั.งได�เป/น 3
ประเภท ด'งน-•ว%ธีการพ�-นฐาน•ว%ธีการทางสุถึ%ต%•ว%ธีการด�วยีพจนาน�กรม
21
ว�ธ์!การพ�-นีฐานี
• โดยีท'�วไปค�อ แทนสุายีต'วอ'กษรยีาวๆ ด�วยี รห'สุบัางต'ว เรยีกว.า Run-Length Encoding (RLE)
• แทนช�ดของข�อม8ลท�ซึ่)-าก'นในข�อความด�วยีการน'บัจ)านวนข�อม8ลซึ่)-าก'นท�อยี8.ต%ดก'น โดนสุ.วนของข�อม8ลท�ซึ่)-าก'น จะถึ8กแทนด�วยี 3 สุ.วน อ'นประกอบัด�วยี Control Character (*) ตามด�วยีต'วเลขอ'นบั.งบัอกจ)านวนต'วอ'กษรท�ซึ่)-าก'น และป>ดท�ายีด�วยีต'วอ'กษรน'-น ต'วอยี.างเช.น
Text : ABBBBBBBBBCDFFFFEEEEE RLE : A*9BCD*4F*5E
22
ว�ธ์!ท์างสถุ�ต�
ความถึ�การปรากฏิของต'วอ'กษร ของค)า หร�อกล�.มค)าเป/นแนวทางในการบับัอ'ดข�อม8ล ว%ธีการท�สุ)าค'ญ ได�แก.
•Huffman Coding •Adaptive Huffman Coding
23
Huffman Coding
•แทนช�ดต'วอ'กษรด�วยี Codewords ซึ่"�งมความยีาวของรห'สุท�ไม.เท.าก'น การบับัอ'ดของข�อความท)าได�โดยีก)าหนดรห'สุท�สุ' -นให�แก.ต'วอ'กษรท�ปรากฏิบั.อยี และรห'สุท�ยีาวแก.ต'วอ'กษรท�ปรากฏิน�อยี
•ว%ธีการเข�ารห'สุ Huffman นอกจากใช�ก'บัต'วอ'กษรเป/นต'วๆแล�ว ยี'งขยีายีผลไปใช�ก'บัต'วค)าศ'พท2แต.ละต'วในข�อความ
24
Adaptive Huffman Coding
•ว%ธีการ Adaptive Huffman Coding เร!ยกว/า FGK
นอกจากน-ยี'งผลงานในแนวเดยีวก'นโดยี Vitter•ผลงานของ Vitter Algorithm จะให�ผลล'พธี2ท�ดกว.า
FGK กล.าวค�อ จะให� Tree ท�มความสุ8งน�อยีท�สุ�ด เพ��อลดเวลาในการหาเสุ�นทาง Root ไปยี'งปลายีท�เรยีกว.า Leaf Node แต.ว%ธีของ Vitter มความยี�.งยีากกว.าในทางปฏิ%บั'ต% และใช�เวลาในการประมวลผลค.อนข�างมากกว.า
25
Adaptive Huffman Codingข'-นตอนของ Vitter Algorithm อาจสุร�ปโดยียี.อได� ด'งน-•ก)าหนด Root Node เป/น Empty Node และก)าหนด
Weigh เร%�มต�นเป/น 0•ท)าการสุร�าง Code Tree โดยีใสุ.ต'วอ'กษรท�ละต'วเข�าไปในต�นไม� หาก Node ป;จจ�บั'นเป/น Empty จะต�องท)าการแตก Node ออกเป/นChild Node จ)านวน 2 Nodes โดยี Node ทางซึ่�ายีจะเป/น Empty Node สุ.วน Node ทางขวาจะเก0บัค.า Symbol ของต'วอ'กษรท�เราใสุ.เข�าไป จากน'-นก)าหนด Weigh สุ)าหร'บั Leaf Node ใหม. โดยีให� Node ทางซึ่�ายีมค.าเป/น 0
26
Adaptive Huffman Coding
และ Node ทางขวามค.าเป/น 1 ตามล)าด'บัและปร'บั Weigh ใน Empty Node ให�ไปยี'ง Leaf Node ของต'วอ'กษรน'-นๆ
• ถึ�า Node ท�พ%จารณาน-ไม.ได�ม Order สุ8งสุ�ดเม��อเทยีบัก'บั Node ท'-งหมดท�ม Weigh เท.าก'บั Node น- (Weigh class เดยีวก'น) ให�สุล'บัค.า (Swap) Weigh และ Symbol ก'บั Node ท�ม Order สุ8งสุ�ด
• ปร'บัเพ%�มค.า Weigh สุ)าหร'บั Node ป;จจ�บั'น• ถึ�าไม.ใช. Root Node ให�ไปยี'ง Parent Node และไปท)าข'-น
ตอนท� 3 หากเป/น Root Node ถึ�อว.าจบัการท)างาน
27
Thank you
Question/Answer
28
top related