MCTS : 7 : Threading (2)
![Train station[Chachoengsao]](http://lh3.ggpht.com/_ezvzeSsG-ok/Sz9pQzZkCZI/AAAAAAAAASE/b2WulI96SI0/s512/Image180.jpg)
MCTS : 7 : Threading (2)
มาเขียนต่อนิดหน่อย
Tags: .netFramework, c#, Cert, programmingMCTS : 7 : Threading (1)

MCTS : 7 : Threading (1)
Happy New Year 2010!
Tags: .netFramework, c#, Cert, programming
The Iterator and Composite Patterns 1
The Iterator Patterns เป็นแพทเทิร์นที่อยู่ในกลุ่ม Behavioral patterns เป็นกลุ่มแพทเทิร์นที่ใช้แก้ปัญหาในเรื่องพฤติกรรมการทำงานระหว่าง object ด้วยกัน ส่วน Composite Patterns นั้น อยู่ในกลุ่ม Structural patterns เป็นกลุ่มแพทเทิร์นที่ใช้แก้ปัญหาในการออกแบบโครงสร้างของอ๊อปเจ็กที่ต้องมีความสัมพันธ์กันในรูปแบบโครงสร้าง ในส่วนครั้งนี้ จะพุดถึง The Iterator ก่อนเพราะมันเยอะเกิน = =’
Iterator Patterns จะเป็นการแก้ปัญหาการเก็บ object data ที่อยู่ในรูปแบบ Collection ต่างๆมากมายหลาย typeเ ช่น Array, Stack, List, Hashtable ให้อยู่ในรูปแบบการเข้าถึงแบบเดียวกันโดยการ Implement Interface Iterator
ดูต่อ The Iterator and Composite Patterns 1
LingPipe Overview

LingPipe เป็น Java library สำหรับการวิเคราะห์ภาษามนุษย์(!)
LingPipe’s information extraction and data mining tools:
* track mentions of entities (e.g. people or proteins);
* link entity mentions to database entries;
* uncover relations between entities and actions;
* classify text passages by language, character encoding, genre, topic, or sentiment;
* correct spelling with respect to a text collection;
* cluster documents by implicit topic and discover significant trends over time; and
* provide part-of-speech tagging and phrase chunking.
Architecture
LingPipe’s architecture is designed to be efficient, scalable, reusable, and robust. Highlights include:
* Java API with source code and unit tests;
* multi-lingual, multi-domain, multi-genre models;
* training with new data for new tasks;
* n-best output with statistical confidence estimates;
* online training (learn-a-little, tag-a-little);
* thread-safe models and decoders for concurrent-read exclusive-write (CREW) synchronization; and
* character encoding-sensitive I/O.
Text Classification
กำหนดกลุ่มของเอกสาร แล้ว เทรน เอกสารตัวอย่าง(Test)เพื่อให้ Language Model เรียนรู้(Learn)การclassifyการจำแนกหมวดหมู่ว่าเอกสารแบบนี้ควรจะอยู่ในหมวดไหน(หมวดที่เราสร้างขึ้นมาเอง)
Name Entity Recognition(NER)
คือ ความสามารถในการจำแนก Text ว่า เป็นบุคคล หรือ สถานที่ ฯลฯ เช่น ทักษิณ เป็น “คน” | กรุงเทพฯ เป็น “สถานที่”
Clustering
Clustering เป็นเทคนิคสำหรับการแยกกลุ่มของ object โดยขึ้นอยู่กับความคล้ายคลึงกัน เช่นการแยกผลลัพธ์ของการ search ของ search engine ซึ่งมีการอ้างถึง entity ที่มี coReference เดียวกัน [Cpt หรือ Captain ทั้ง2คำเป็นคำที่ coReference กัน เช่นถ้าเรา search Cpt John J.Smith ก็จะเจอเอกสารที่มี Captain J. J. Smith ด้วย] ซึ่งเปรียบเทียบโดยใช้ weighted edit distance และบริบท รอบๆคำดังกล่าว
Part-of-Speech
Part of Speech Tagging คือการ token เอกสาร แล้วแยกออกมาเป็นส่วนๆของประโยค ตามหลักไวยกรณ์
(Syntactic) เช่น ประโยค “มดจะกินถวั่ ” ก็จะได้เป็น “นาม – มด”, “กลุ่มกริยา – จะกิน”, “กรรม – ถวั่ ” เป็นต้น
หลักใหญ่ใจความของ Part-of-speech คือสามารถแยก noun กับ verb ในประโยคได้
Sentence Detection
คือการ token เอกสารเพื่อแบ่งออกมาเป็นประโยค โดยที่ความถูกต้องขึน้ อยู่กับปริมาณข้อมูลที่
ใช้ในการ train
Spelling Correction คือเทคนิคที่ใช้ในการแปลงข้อมูลที่ใช้ในการ input ให้อยู่ในรูปแบบที่ถูกต้อง เช่น การค้นหาคำ
หรือวลีใน search engine ความสามารถทั่วๆไปของระบบ เช่น สามารถแปลง case ในภาษาอังกฤษให้เป็นรูป case แบบ
เดียว, แปลง space โดยการเอาออก, เอาเครื่องหมาย hyphen (?) ออก เป็นต้น
String Comparison คือเทคนิคที่ใช้ในการเปรียบเทียบ string โดยวัดความคล้ายคลึงกัน เช่น “The ? the”, “THE ?
the” , “T H E – the” เป็นต้น สามารถนำไปใช้ในการทำ ETL ของ Data Warehouse เพื่อ extract ข้อมูลจากฐานข้อมูล
เดิม ที่อาจมีการจัดเก็บที่แตกต่างกันได้
Interesting phrases
Interesting Phase Detection คือเทคนิคที่ใช้ในการ extract ข้อความที่สำคัญ ออกจากเอกสารต่างๆ โดยอาศัยหลัก
สถิติ มีอยู่ด้วยกัน 2 แบบคือ Collocation และ Relative New Terms technique โดยที่ Collocation Technique จะเป็น
การหาข้อความที่ปรากฏอยู่ร่วมกันมากกว่าค่าที่กำหนด 2 ตัวคือค่าความถี่แต่ละ token และค่าความบ่อยที่ปรากฏอยู่ร่วมกัน
ส่วน Relative New Terms จะเป็นการหาค่าความสำคัญของข้อความนัน้ ๆ ใน collection หนงึ่ เปรียบเทียบกับ collection
อื่นๆ
Database Text Mining
คือความสามารถในการ extract ข้อความจากเอกสารที่เป็น text เพื่อนำไปสร้างข้อมูล
ภายใน field ของ RDBMS ที่ต้องการ เช่น extract “Head Line”, “Published Date”, “Content” เป็นต้น
Sentiment Analysis
คือการวิเคราะห์ข้อความภายในบทความใดๆ เพื่อแยกแยะความรู้สึกทางอารมณ์ เช่น
การกำหนดขอบเขตการวิจารณ์ภาพยนตร์ โดยกำหนดขอบเขต ดังนี้
แยกแยะประโยค Subjective (ความคิดเห็น) VS Objective (ความเป็นจริง)
แยกแยะความรู้สึก Positive (ชอบ) VS Negative (ไม่ชอบ)
Language Identification
คือความสามารถในการแยกแยะภาษา ความสามารถนีจ้ะเพิ่มขึน้ ได้ จากการ train
