28
Chapter 7 Text Operations (กกกกกกกกกกกกกกกกกก) ดด.ดดดดดดดด ดดดดดดดด ดดดดดดดดดดดดดดดดดดดดดดดดดดดดดดดดด ด.ดดดดด

Chapter 7 Text Operations ( การประมวลผลข้อความ)

Embed Size (px)

DESCRIPTION

Chapter 7 Text Operations ( การประมวลผลข้อความ). ดร.สุขชาตรี ประสมสุข คณะเทคโนโลยีสารสนเทศและการสื่อสาร ม.พะเยา. การประมวลผลข้อความ (Text Operations). - PowerPoint PPT Presentation

Citation preview

Page 1: Chapter 7 Text Operations ( การประมวลผลข้อความ)

Chapter 7Text Operations

(การประมวลผลข้�อความ)

ดร. สุ�ขชาตร ประสุมสุ�ขคณะเทคโนโลยีสุารสุนเทศและการสุ��อสุาร

ม.พะเยีา

Page 2: Chapter 7 Text Operations ( การประมวลผลข้อความ)

การประมวลผลข้�อความ (Text Operations)

•การประมวลผลข�อความ (Text Operations) หมายีถึ"ง การปฏิ%บั'ต%การตามกรรมว%ธีเพ��อน)าผลท�ได�ไปสุร�างดรรชน (Indexing) อ'นจะท)าให�การค�นหา (Searching) ในข'-นต.อมาเป/นไปอยี.างรวดเร0ว มประสุ%ทธี%ภาพและประสุ%ทธี%ผล

•Text Operations น-แบั.งออกเป/น 3 เร��อง ค�อ •Document Preprocessing•Text Clustering •Text Compression

2

Page 3: Chapter 7 Text Operations ( การประมวลผลข้อความ)

Document Preprocessing

•การว%เคราะห2ค)า (Lexical Analysis) •การจ'ดค)าโหล (Stop-words) •การหารากศ'พท2ของค)า (Stemming) •การเล�อกเทอมเพ��อสุร�างดรรชน (Term Selection) •การสุร�างค)าศ'พท2สุ'มพ'นธี2 (Thesaurus

Construction)

3

Page 4: Chapter 7 Text Operations ( การประมวลผลข้อความ)

การว�เคราะห์�ค�า (Lexical Analysis) • เป/นขบัวนการแปลงสุายีต'วอ'กษรยีาว ๆ ในเอกสุารหร�อสุ%�ง

เป5าหมายีกลายีมาเป/นสุายีของค)าศ'พท2 เพ��อใช�ในการสุร�างดรรชนของเทอมต.อไป เม��อได�ค)าแต.ละค)าในข�อความยี'งไม.สุามารถึน)าค)าเหล.าน'-นไปสุร�างดรรชนได�ท'นทเพราะยี'งต�องกล'�นกรองค)าอกหลายีข'-นจ"งจะใช�งานได� ท�สุ)าค'ญได�แก.

•ค)าท�เป/นต'วเลข (Digit) •ค)าท�เช��อมด�วยีขด (Hyphen) •ค)าท�เช��อมด'วยีเคร��องหมายี Punctuation •ต'วอ'กษรใหญ.เล0ก

4

Page 5: Chapter 7 Text Operations ( การประมวลผลข้อความ)

การก�าจั�ดค�าโห์ล (Stop-words Elimination)

•แปรตามความหมายีจากค)าว.า Stop-words หมายีถึ"งค)าท�ปรากฏิบั.อยีมากในข�อความ เช.น a, an, the, and, about, for ในภาษาอ'งกฤษ หร�อค)าว.า ค�อ เป/น และ หร�อ ในภาษาไทยี

• เน��องจากค)าโหลมปรากฏิมากจนไม.มผลในการสุ�บัค�นทางปฏิ%บั'ต%จ"งไม.จ)าต�องน)ามาสุร�างเป/นดรรชนไม.ว.าจะเป/นร8ปแบับัใดก0ตาม

5

Page 6: Chapter 7 Text Operations ( การประมวลผลข้อความ)

การห์ารากศั�พท์� (Stemming)

•Stemming เป/นการหา Stem หมายีถึ"ง รากศ'พท2 ค)าหล'ก หร�อต�นตอของศ'พท2 เพ��อให�การอธี%บัายีเป/นไปในทางเดยีวก'น

•ภาษาอ'งกฤษ ค)ามการเปล�ยีนร8ปไปตามเหต�การณ2หร�อสุภาวะต.างๆ เช.น ค)าว.า Load เป/น Loads, Loaded, Loading, Loadable, Loader, Loaders เป/นต�น

•ภาษาบัาล มการแจกว%ภ'ต%ตามสุถึานการณ2 เช.น ค)าว.า ก�มาร กลายีเป/น ก�มาโร ก�มาร) ก�มาเร เป/นต�น

6

Page 7: Chapter 7 Text Operations ( การประมวลผลข้อความ)

การห์ารากศั�พท์� (Stemming)

•การท)า Stemming มหลายีว%ธีท�สุ)าค'ญได�แก.

•Table Lookup •Affix Removal •Successor Variety

7

Page 8: Chapter 7 Text Operations ( การประมวลผลข้อความ)

การเล�อกเท์อมเพ��อสร�างดรรชนี! (Term Selection)

•แรกต�องให�ผ8�เช�ยีวชาญท�มความร8 �เฉพาะทางในเอกสุารน'-นๆ เป/นผ8�ก)าหนด ซึ่"�งต�องใช�เวลาและแรงงานมากมหาศาลสุ)าหร'บัการเล�อกเทอมและสุร�างเป/นดรรชน

•จ"งหลกเล�ยีงการใช�แรงงานคนแต.หาว%ธีการสุร�างอยี.างอ'ตโนม'ต%แทน การเล�อกเทอม สุามารถึท)าได�อยี.างอ'ตโนม'ต%ด�วยีการก)าหนดเง��อนไขของการค'ดเล�อก ซึ่"�งก0มหลายีว%ธี ว%ธีหน"�งท�ดค�อการเล�อกเทอมท�เป/นค)านาม (Noun)

8

Page 9: Chapter 7 Text Operations ( การประมวลผลข้อความ)

การสร�างค�าศั�พท์�ส�มพ�นีธ์� (Thesaurus Construction)

•Thesaurus หมายีถึ"งค)าศ'พท2 หร�อเทอมท�มความหมายีเดยีวก'นหร�อใกล�เคยีงก'น เช.น ค)าว.า Astronaut ก'บัค)าว.า Cosmonaut หร�อ Space Traveler

•การท�ค)าศ'พท2ท�มความหมายีเดยีวก'นหร�อใกล�เคยีงก'น แต.เขยีนได�หลากหลายีต.างก'น เป/นความงดงามของภาษาอกแบับัหน"�งท�ท)าให�บัทความเขยีนได�ชวนอ.าน มสุสุ'น และไม.ซึ่)-าซึ่าก แต.ยี.อมจะก.อให�เก%ดป;ญหา

9

Page 10: Chapter 7 Text Operations ( การประมวลผลข้อความ)

ว�ตถุ%ประสงค�ข้องการสร�างคล�งข้�อม&ล Thesaurus

• เพ��อก)าหนดค)าศ'พท2มาตรฐาน• เพ��อช.วยีให�ผ8�ใช�ในการสุร�างค)าสุอบัถึามอยี.างเหมาะสุม • เพ��อก)าหนดระด'บัช'-นของค)าศ'พท2

10

Page 11: Chapter 7 Text Operations ( การประมวลผลข้อความ)

องค�ประกอบข้อง Thesaurus

•ค)าหล'กของช�ด (Descriptor) •ค)าท�ความหมายีพ�องก'บัค)าหล'ก หร�อค)าท�มความ

หมายีใกล�เคยีงก'บัค)าหล'ก แต.ระบับัไม.ใช�และก)าหนดให�ใช�ค)าหล'กแทน (Used for)

•ข�อความอธี%บัายีค)าหล'ก(Scope Note) •ค)าท�มความสุ'มพ'นธี2ก'บัค)าหล'ก

11

Page 12: Chapter 7 Text Operations ( การประมวลผลข้อความ)

ล�กษณะความส�มพ�นีธ์�ข้องค�าศั�พท์�ในี Thesaurus

สุามารถึจ)าแนกได�เป/น 3 ประเภทหล'ก ด'งน- ความสุ'มพ'นธี2ในแบับัสุมม8ล (Equivalence Relationship) ความสุ'มพ'นธี2ในแบับัระด'บัช'-น (Hierarchical

Relationship) ความสุ'มพ'นธี2ในแบับัเก�ยีวร.วม (Associative Relationship)

12

Page 13: Chapter 7 Text Operations ( การประมวลผลข้อความ)

ว�ธ์!การสร�าง Thesaurus

• ว�ธ์!การแบบ Manual ว%ธีน-ใช�คนท)าเป/นหล'ก โดยีเช%ญผ8�เช�ยีวชาญในสุาขาว%ชาเฉพาะทางมาท)าการรวบัรวมค)าศ'พท2สุ)าค'ญและความสุ'มพ'นธี2ระหว.างค)าท'-งหมดเข�าด�วยีก'น

• ว�ธ์!การประมวลผลด�วยเคร��องจั�กร โดยีอาศ'ยีการปรากฏิของค)าศ'พท2หร�อเทอมในเอกสุารเป/นฐานข�อม8ลและท)าการค)านวณค.าต.าง ๆ ท�เป/นต'วว'ดได� อ'นจะน)าไปสุ8.การต'ดสุ%นใจของการจ'ดเก0บัค)าศ'พท2น'-น

• ก0ตาม ข'-นตอนสุ�ดท�ายีของการต'ดสุ%นใจ ยี'งต�องใช�ผ8�เช�ยีวชาญเฉพาะทางเป/นผ8�ต'ดสุ%น

13

Page 14: Chapter 7 Text Operations ( การประมวลผลข้อความ)

Text Clustering

•การจ'ดกล�.มของเอกสุารท�คล�ายีก'นไว�ในกล�.มเดยีวก'น และท�ต.างก'นก0ให�แยีกกล�.มก'น

•แทนท�จะค�นหาจากเอกสุารท'-งหมด เราก0เพยีงจ)าก'ดเฉพาะเอกสุารท�อยี8.ในกล�.มเดยีวก'น ท)าให�ขอบัเขตแคบัลง การค�นหายี'งจะท)าได�เร0วข"-น

•ว%ธีการแบั.งกล�.มมหลากหลายีว%ธี แต.ก0จ'ดได�เป/น 2 ว%ธีหล'กด'งน-

•Flat Clustering•Hierarchical Clustering

14

Page 15: Chapter 7 Text Operations ( การประมวลผลข้อความ)

Flat Clustering

• เป/นการแบั.งกล�.มตามแนวราบั โดยีถึ�อว.าท�ก Object เท.าก'นหมด หล'กการจะใช�ว%ธี K-Means ด�วยีการว'ดความเหม�อนของ Object ก'บัต'วแทนกล�.ม และท)าการแบั.งกล�.มออก แบั.งเป/น K กล�.ม (Cluster) โดยีจะแทนแต.ละ Object ด�วยีเวกเตอร2 ใน Vector Space เดยีวก'น การแบั.งกล�.มข�อม8ลด�วยีว%ธีน- จะพ%จารณาจากค.าเบั�ยีงเบันมาตรฐาน ค�อ การแบั.งกล�.มท�ดต�องมผลรวมของค.าเบั�ยีงเบันมาตรฐานของ Clusters ให�น�อยีท�สุ�ด

15

Page 16: Chapter 7 Text Operations ( การประมวลผลข้อความ)

K – Means Algorithm

• ในข'-นตอนแรก สุ�.มเล�อก Objects จ)านวน k กล�.ม จากท'-งหมด และให�เป/นค.าเร%�มต�นของค.าเฉล�ยี µ

•ข'-นตอนท�สุองเป/นการวนซึ่)-าเป/นรอบั ๆ (Iteration) จนกว.าจะเล%กตามาเกณฑ์2ก)าหนด

• ในทางปฏิ%บั'ต% K – Means Algorithm จะใช�งานอยี.างได�ผลและเป/นไปอยี.างมประสุ%ทธี%ภาพหร�อไม.น'-นข"-นอยี8.ก'บั การเล�อกค.าเร%�มต�น, การก)าหนดเกณฑ์2การเล%ก , การก)าหนดค.า k

16

Page 17: Chapter 7 Text Operations ( การประมวลผลข้อความ)

Hierarchical Clustering

• เป/นการแบั.งกล�.มโดยีจ'ดเป/นล)าด'บัช'-น กล.าวค�อ Clusters ประกอบัด�วยี Clusters ยี.อยีและแบั.งต.อเป/น Clusters ยี.อยี ๆ และต.อ ๆ ไป ว%ธีการเป/นไปได�ใน 2 ว%ธีค�อ ท)าจากล.างไปบันท�เรยีกว.า Bottom-up และท)าจากบันลงล.างท�เรยีกว.า Top-down ว%ธีการของ Bottom-up จะใช�เป/น Agglomerative Algorithm

17

Page 18: Chapter 7 Text Operations ( การประมวลผลข้อความ)

Hierarchical Clustering

•ผลล'พธี2ของ Agglomerative Clustering จะข"-นก'บัการว'ดค.าความเหม�อน (Similarity) เป/นสุ)าค'ญ โดยีท'�วไปจะมการว'ดใน 4 ว%ธีด�วยีก'นด'งน-

•Single Link•Complete Link•Centroid•Group Average

18

Page 19: Chapter 7 Text Operations ( การประมวลผลข้อความ)

การบ!บอ�ดข้�อความ (Text Compression)

•ว%ธีการลดขนาดของเน�-อท�การจ'ดเก0บัของข�อความให�เล0กลง

•ประโยีชน2โดยีตรงท�เห0นได�ช'ด ท)าให�เน�-อท�การจ'ดเก0บัมขนาดเล0กลงตาม เม��อข�อความมขนาดเล0กลงทางกายีภาพ ก0ต�องท)าการสุ.งผ.าน ได�เร0วข"-นในความเร0วเท.าเด%ม หร�อหากในช.วงกว�าง (Bandwidth) คงท�ก0จะได�จ)านวนช.องสุ'ญญาณ (Channel) ท�มากข"-นในการสุ.งผ.านข�อม8ล

•การบับัอ'ดข�อความจ"งถึ�อได�ว.าเป/นอกร8ปแบับัหน"�งของการเข�ารห'สุข�อม8ล (Data Encryption)

19

Page 20: Chapter 7 Text Operations ( การประมวลผลข้อความ)

การบ!บอ�ดข้�อความ (Text Compression)

• Text Compression มว%ธีการแปลงได�หลายีว%ธี แต.ท�กว%ธีจะมล'กษณะร.วมก'นค�อเป/นแบับั Lossless Compression อ'นหมายีถึ"งเม��อแปลงข�อม8ลในขาไป และแปลงกล'บัในขากล'บั ยี'งร'กษาข�อความให�เหม�อนเด%มท�กประการได�

• สุ)าหร'บั Text Compression แล�วจะน)าในล'กษณะ Lossy Compression ไม.ได� เพราะมน�ษยี2อ.านข�อความท�แปลงกล'บัผ%ดแปลกไปจากเด%มไม.ได� เม��อข�อความไม.เหม�อนเด%มความเข�าใจก0จะต.างก'น จ"งท)าให�ไม.เล�อกว%ธีการ Lossy Compression

20

Page 21: Chapter 7 Text Operations ( การประมวลผลข้อความ)

การบ!บอ�ดข้�อความ (Text Compression)ว%ธีการท)า Text Compression แบั.งได�เป/น 3

ประเภท ด'งน-•ว%ธีการพ�-นฐาน•ว%ธีการทางสุถึ%ต%•ว%ธีการด�วยีพจนาน�กรม

21

Page 22: Chapter 7 Text Operations ( การประมวลผลข้อความ)

ว�ธ์!การพ�-นีฐานี

• โดยีท'�วไปค�อ แทนสุายีต'วอ'กษรยีาวๆ ด�วยี รห'สุบัางต'ว เรยีกว.า Run-Length Encoding (RLE)

• แทนช�ดของข�อม8ลท�ซึ่)-าก'นในข�อความด�วยีการน'บัจ)านวนข�อม8ลซึ่)-าก'นท�อยี8.ต%ดก'น โดนสุ.วนของข�อม8ลท�ซึ่)-าก'น จะถึ8กแทนด�วยี 3 สุ.วน อ'นประกอบัด�วยี Control Character (*) ตามด�วยีต'วเลขอ'นบั.งบัอกจ)านวนต'วอ'กษรท�ซึ่)-าก'น และป>ดท�ายีด�วยีต'วอ'กษรน'-น ต'วอยี.างเช.น

Text : ABBBBBBBBBCDFFFFEEEEE RLE : A*9BCD*4F*5E

22

Page 23: Chapter 7 Text Operations ( การประมวลผลข้อความ)

ว�ธ์!ท์างสถุ�ต�

ความถึ�การปรากฏิของต'วอ'กษร ของค)า หร�อกล�.มค)าเป/นแนวทางในการบับัอ'ดข�อม8ล ว%ธีการท�สุ)าค'ญ ได�แก.

•Huffman Coding •Adaptive Huffman Coding

23

Page 24: Chapter 7 Text Operations ( การประมวลผลข้อความ)

Huffman Coding

•แทนช�ดต'วอ'กษรด�วยี Codewords ซึ่"�งมความยีาวของรห'สุท�ไม.เท.าก'น การบับัอ'ดของข�อความท)าได�โดยีก)าหนดรห'สุท�สุ' -นให�แก.ต'วอ'กษรท�ปรากฏิบั.อยี และรห'สุท�ยีาวแก.ต'วอ'กษรท�ปรากฏิน�อยี

•ว%ธีการเข�ารห'สุ Huffman นอกจากใช�ก'บัต'วอ'กษรเป/นต'วๆแล�ว ยี'งขยีายีผลไปใช�ก'บัต'วค)าศ'พท2แต.ละต'วในข�อความ

24

Page 25: Chapter 7 Text Operations ( การประมวลผลข้อความ)

Adaptive Huffman Coding

•ว%ธีการ Adaptive Huffman Coding เร!ยกว/า FGK

นอกจากน-ยี'งผลงานในแนวเดยีวก'นโดยี Vitter•ผลงานของ Vitter Algorithm จะให�ผลล'พธี2ท�ดกว.า

FGK กล.าวค�อ จะให� Tree ท�มความสุ8งน�อยีท�สุ�ด เพ��อลดเวลาในการหาเสุ�นทาง Root ไปยี'งปลายีท�เรยีกว.า Leaf Node แต.ว%ธีของ Vitter มความยี�.งยีากกว.าในทางปฏิ%บั'ต% และใช�เวลาในการประมวลผลค.อนข�างมากกว.า

25

Page 26: Chapter 7 Text Operations ( การประมวลผลข้อความ)

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

Page 27: Chapter 7 Text Operations ( การประมวลผลข้อความ)

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

Page 28: Chapter 7 Text Operations ( การประมวลผลข้อความ)

Thank you

Question/Answer

28