| Subcribe via RSS

MCTS:1 Framework Fundamentals (ต่อ)

November 30th, 2009 | No Comments | Posted in .Net, Program, c#

เกาะล้าน

อาทิตย์นี้มีเรื่องน่าปวดหัวหลายเรื่อง

เขียนเพิ่มได้นิดหน่อยเท่านั้น (จริงๆเป็นข้ออ้าง ฮ่าๆ)

Framework Fundamentals

Tags: , , ,

MCTS:1 Framework Fundamentals

November 22nd, 2009 | No Comments | Posted in .Net, Program, c#
ถ่ายจากบนตึกปัญจธานี

ถ่ายจากบนตึกปัญจธานี

พอดีว่าจะสอบ Cert  เลยต้องหาหนังสือมาอ่านนั่งลองเขียน Program แบบเบื้องต้นใหม่อีกรอบ เพราะปกติเวลาทำงานเน้นใช้ทักษะซะมากกว่า ทำให้เรื่อง พื้นฐานทางเนื้อหาอาจจะเลือนลางไปบ้างแล้วก็ไม่ได้เอามาใช้งานซะทั้งหมด  หลายคนบอกว่าการมีพื้นฐานทางการเขียนโปรแกรมที่ดี ย่อมนำไปสู่การเขียนโปรแกรมที่ดี แต่การเข้าใจใน Framework ที่เราเขียนก็ค่อนข้างจะสำคัญมากเหมือนกัน(ก็ใช่น่ะสิ) การเรียนรู้การเขียนโปรแกรมซักภาษาหนึ่งนอกจาก เราจะไปหาหนังสือเขียนโปรแกรมภาษาไทยดีๆ ตามร้านหนังสือมาอ่านเป็นการเริ่มต้นแล้ว หากแต่หารู้ไม่ว่าส่วนใหญ่ก็หาตัวอย่างหรือแปลมาจาก Textbook ซึ่งด้วยความรู้ของผู้แปล ที่เข้าขั้นหรือไม่นั้นเราไม่อาจทราบได้ ดังนั้นก็เลือกผู้เขียนที่เป็นโปรแกรมเมอร์ หรือหากไม่เหลือบ่ากว่าแรงก็หา ebook มาอ่านเองจะดีกว่า บางคนแค่พูดว่าอ่านtextbook ก็เมินหน้าหนีแล้ว (ผมก็เช่นกัน) แต่ให้รู้ไว้ว่าตราบใดที่เรายังไม่มีภาษาโปรแกรมที่เป็นของเราเอง หรือเป็นภาษาไทย ก็ไม่มีหนังสือเล่มไหนเขียนได้ดีกว่าของต่างชาติ เพราะจะมีใครอธิบายframework ได้ดีกว่าของตัวเจ้าของ(ฝรั่ง)เอง

Framework Fundamentals

Tags: , , ,

WordCamp Bangkok 2009

WordCampBKKs Atmosphere

WordCampBKK's Atmosphere

@iwhale หัวขบวนผู้จัดงาน

@iwhale หัวขบวนผู้จัดงาน

เพิ่งผ่านพ้นมาเมื่อวันอาทิตย์ที่ผ่านมา กับงาน WordCamp Bangkok 2009 (จริงๆจะเรียกว่างาน WordPressCamp ก็คงจะไม่ผิด)

Wordcamp Bangkok 2009

โดยภาพรวมเป็นการสัมมนาผู้ใช้ WordPress โดยมีการเชิญ Blogger ที่ใช้ ที่ผ่านการโหวตว่ามีเนื้อหา Blog ที่น่าสนใจขึ้นมาร่วมโชว์ Inspiration ของการทำBlog และมีสัมภาษณ์วิทยากรพิเศษ 4 ท่านซึ่งเป็น Session ที่ค่อนข้างจะโดนใจผมเพราะมีแนวคิดที่มีความเป็น ตัวของตัวเองสูง อ้อแล้วก็ได้ฟังดนตรีที่เรียกได้ว่ามีความเป็น “มืออาชีพ” ชื่อวง iHear(กรุณางดออกเสียงวรรณยุกต์) สนุกสนาน สามารถดึงดูดคนดูได้เยี่ยม ได้รับฟังประสบการณ์ความรักจากคู่รัก @iMenn และ @Sweetener ที่ sweet วี๊ดวิ้ว แม้จะไม่เกี่ยวกับ WordPress เท่าไหร่แต่เจ้าตัวก็ไม่ลืมที่จะเชียร์เวปแต่งงาน ที่ใช้ WordPress อยู่ดี ; ) และ Session @iannnnn ที่แสดง WordPress version Premium ด้วย ฟีเจอร์ที่สมบูรณ์แบบกว่าตัวฟรีมาก พร้อมทั้งแนะนำ Plugin แจ๋วๆที่จะทำให้ Blog ดูไฮโซขึ้นมามากมายก่ายกอง

หลังจาก Session @iannnnn ผมก็ออกมาจากงานเพราะรู้สึกปวดหัวนิดหน่อย(นั่งนาน+ใช้สายตาเยอะ+เพลีย)

@Ceemeagain

@Ceemeagain

จุดประสงค์ของการมางานนี้ของผมคือได้มา “เปิดหูเปิดตา” + “สร้างแรงบันดาลใจ” ในการทำงาน ซึ่งสิ่งหนึ่งที่ผมจับประเด็นได้จากการฟังใน Session ของคุณเม่นและคุณจี้ ก็คือ การที่ทั้งคู่มีเป้าหมายในชีวิตที่ชัดเจน มีความฝัน และความทะเยอทะยานที่จะทำฝันนั้นให้เป็นจริง ซึ่งทำให้ผมกลับมาคิดว่า แล้วเป้าหมายในชีวิตผมหล่ะคืออะไร?

ps. งานนี้ได้เสื้อฟรี + เข็มกลัดฟรี อีกต่างหาก

Tags: ,

The Iterator and Composite Patterns 1

November 14th, 2009 | No Comments | Posted in Java, Program, c#

Well-Managed Collections

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

Tags: ,

LingPipe Overview

November 8th, 2009 | No Comments | Posted in Java, ในงาน

LingPipe

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

Tags: , , ,