there is no longer siit.net. we now only have not.siit.net.

the old siit.net is dead. long live not.siit.net!

what is not.siit.net? from its about page:

if you are by chance landed here expecting to found a homepage of an institute of technology, perhaps called Sirindhorn International Institute of Technology or SIIT. this is a wrong place. your search engine happens to not so smart. for SIIT hompage, go http://www.siit.tu.ac.th. bon voyage.

this not.siit.net (and not siit.net), is a web space for people who happens in some point of their life associated more or less with an technological institute in Thammasat University, being friends of those, or have some relationship somehow. love story.

as the world is moving by people who tirelessly rejecting the establishments. major breakthrough or paradigm shift is by definition the finding of the unexpected or unintended uses of the very existing things. this space is yours. use it. hack it. creatively abuse it. and eventually reject it, ultimately. there’s no valid reason for this place to be here, as it currently is, forever.

bliss.

technorati tags:
,
,

Robocode Thailand Contest 2009

Robocode Thailand Contest 2009 การแข่งขันการเขียนโปรแกรมจาวาเพื่อควบคุมหุ่นยนต์รถถัง

Robocode เป็นเกมที่แต่ละทีมจะพัฒนาโปรแกรมด้วยภาษาจาวา เพื่อควบคุมหุ่นยนต์รถถังให้ต่อสู้กันแบบอัตโนมัติ โดยแต่ละทีมไม่สามารถควบคุมหุ่นยนต์ของตัวระหว่างการแข่งขันได้ จึงเป็นเกมที่ฝึกทักษะการเขียนโปรแกรมและการนำอัลกอริทึม (algorithm) หรือวิธีการต่าง ๆ รวมถึง ปัญญาประดิษฐ์ (artificial intelligence – AI) มารวมกันเพื่อทำให้หุ่นยนต์มีประสิทธิภาพมากที่สุด เว็บไซต์วิชาการ.คอม เล็งเห็นประโยชน์ของเกม Robocode นี้ว่าจะช่วยฝึกทักษะต่าง ๆ ให้กับเยาวชนและผู้ที่สนใจ จึงร่วมกับศูนย์เทคโนโลยีอิเล็กทรอนิกส์และคอมพิวเตอร์แห่งชาติ (เนคเทค) และสถาบันเทคโนโลยีนานาชาติสิรินธร มหาวิทยาลัยธรรมศาสตร์ จัดการแข่งขัน Robocode Thailand Contest 2009 เพื่อค้นหาสุดยอดทีมกับสุดยอดหุ่นยนต์ประจำปีนี้ โดยการแข่งขันในรอบคัดเลือก จะดำเนินการผ่านเว็บไซต์วิชาการ.คอม ส่วนการแข่งขันในรอบสุดท้าย ซึ่งเป็นการชิงชนะเลิศระดับประเทศ จะจัดการแข่งขันในช่วงต้นปี 2009 ภายในงานมหกรรมการแข่งขันด้านไอซีที ซึ่งดำเนินการเป็นประจำทุกปีโดยเนคเทค

ผู้ที่สนใจสามารถดาวน์โหลดโปรแกรม Robocode ได้ที่ robocode.sf.net ศึกษาวิธีการพัฒนาหุ่นยนต์ได้จากบทความติว และส่งซอฟต์แวร์หุ่นยนต์ที่พัฒนาขึ้นเข้าแข่งขันได้ตั้งแต่วันนี้ โดยจะปิดรับสมัครและปิดให้อัปโหลดหุ่นยนต์ในวันที่ 20 มกราคม 2552

ที่มา : http://www.vcharkarn.com/robocode/

technorati tags:
,
,
,

The 3rd ADD Summer School

The 3rd Asian Applied Natural Language Processing for Linguistics Diversity and Language Resource Development (ADD 3) Lectures + Workshops
Feb 25 – Mar 3, 2008
@ Sirindhorn International Institute of Technology, Bangkadi Campus, Pathumthani, Thailand

ปีนี้เน้นเรื่องการประมวลผลภาพ (ข้อความ) และการประมวลผลเสียงพูด

พรุ่งนี้ว่าจะไปเข้าชั้นเรียน เรื่อง Semantic Web โดย อ.วิลาศ วูวงศ์

technorati tags: 

super("Robot Wars");

ตอนนี้ที่ภาคกำลังสนุกกับ Robocode
น้อง ๆ ที่ลงเรียนแลบ AI (ปี 3) กับแลบ OOP (ปี 2)
ต้องส่งโปรแกรมหุ่นยนต์ลงแข่ง จัดเป็นทัวร์นาเมนต์ (กติกา) เดินไปไหนมาไหน หรือขึ้นรถ ก็จะต้องได้ยินคนคุยกันเรื่องหุ่นเป็นไงมั่ง แข่งกับของคนนั้นคนนี้แล้วเป็นไง (ดูตัวอย่างที่ idiotao, d0m3z) — ปีที่แล้วก็มีแข่งเหมือนกัน (ผมไม่ได้แข่งกะเค้าหรอก แพ้น้องเปล่า ๆ :P)

Robocode เป็นเกมเพื่อการศึกษาการเขียนโปรแกรม โดยผู้เล่นจะเขียนโปรแกรมด้วยภาษาจาวา ควบคุมหุ่นยนต์รถถังให้สู้กัน ซึ่งก็เป็นการทำให้คนที่หัดเขียนจาวารู้สึกสนุกไปกับการเขียนโปรแกรมมากขึ้น อีกทั้งเห็นภาพชัด ๆ เลยว่า ที่เขียนไปมันจะมีผลลัพธ์ออกมายังไงบ้าง

Robocode battle

ตอนผมหัดเขียนโปรแกรมใหม่ ๆ ก็เคยเล่นเกมทำนองนี้
ชื่อ P-ROBOTS (download #1, download #2 – ไม่แน่ใจว่าอันไหนใหม่กว่า) ต่างกันตรงเป็นภาษาปาสคาล (ภาษายอดนิยมในสมัยนั้น สำหรับเริ่มเรียนเขียนโปรแกรม) และเป็นเท็กซ์โหมด ไม่ใช่กราฟิกโหมดอย่าง Robocode — แต่จำได้ว่า แค่นั้นก็สนุกแล้ว ดูตัว # วิ่งไปวิ่งมา

เว็บ RoboWiki
รวบรวมเรื่องเกี่ยวกะ RoboCode พร้อมข้อมูลเกี่ยวกับหุ่นยนต์ตัวดัง ๆ ไว้ครบครัน (บางตัวมีซอร์สโค้ดให้ด้วย)
โค้ดหุ่นหลายตัวเข้าขั้น |nw มาก ๆ
มีเอาเทคนิคการวิเคราะห์เชิงสถิติ หรือพวก ข่ายงานประสาทเทียม ไปใช้ด้วย จริงจังมาก แบบว่าทำนายเส้นทางการเดินของคู่ต่อสู้ได้ เขามีจัดเป็นลีกแข่งด้วยนะ

ใครสนใจ เสาร์อาทิตย์อยากหาอะไรสนุก ๆ เล่น ก็ลองไปโหลดมาเล่นกันครับ 🙂 เขามีตัวอย่างหุ่นมาให้จำนวนนึง เอาตรงนั้นมาแก้ ๆ ก็ได้ เพลิน ๆ

ข้างล่างนี่เป็นเอกสารที่อาจารย์ + น้องปี 4 เค้าทำให้น้องปี 2,3

technorati tags:
,
,

la la la la

เพิ่งกลับจากรับน้องภาค

ไม่ได้ไปมานานมากแล้ว ก่อนหน้านี้ไปทุกปีเลย จนกระทั่งไปเรียนต่อ ก็ไม่ได้ไปอีกเลย

มีพี่ ๆ บัณฑิตไปกันเยอะแยะ ทั้งบัณฑิตสด ๆ และบัณฑิตแก่ ๆ
น้องไอทีรุ่น 12 เรารุ่น 2 พอบอกรุ่นไป ทั้งห้องร้อง หู~~~ … เสีย self ไปพักนึง

ฝนตกทั้งเช้าทั้งเย็น ก็เลยไม่ค่อยได้ทำอะไรกันเท่าไหร่
วันแรกไปถึงก็เที่ยงคืนกว่า กินเหล้าคุยกันถึงเช้า เรียกน้อง ๆ มา ‘รับแสง’ (‘ประเพณี’ ที่เกิดขึ้นอย่างบังเอิญ ๆ จนไม่น่าเชื่อว่ามันจะยังเหลือรอดมาถึงทุกวันนี้ เหมือนกับเกมหลาย ๆ อย่าง ที่เมื่อก่อนเป็นไง เดี๋ยวนี้ก็แทบไม่ต่างไปเท่าไหร่)
ได้นอนตอนเจ็ดโมงกว่า ตื่นมาไม่รู้ตอนไหน เห็นฝนตก ก็เลยนอนต่อ ตื่นอีกทีก็บ่ายสามโน่น อดกินข้าว ต้องรอรอบเย็น

ตอนดึกก็เปิดใจ บายศรีอะไรไปตามเรื่อง (ภาคบังคับ) แล้วก็บาร์บีคิว กินเหล้า (ภาคบังคับกว่า) และเปิดตัว ‘octopus’ the killer
ร้องเพลงเฮฮาไปเรื่อย แบบว่าหายไปนาน เต็มที่เต็มที่ ซักพักฝนก็ตกอีก ต้องหลบ ๆ มารวมกันอยู่ในเตนท์
อยู่กันจนตีห้าโน่นละมั้ง แล้วก็แยกย้ายกันไปตอนฝนมันซา ๆ อีกรอบ

ตื่นเที่ยง เพราะต้องเช็คเอาท์ ไม่งั้นคงนอนยาวอีก
ตอนลงมากินข้าวต้ม น้องทัก หมดศรัทธาแล้วว่ะพี่ มาดทีเอหายหมด เราบอก เออดี จะได้ขำ ๆ
ถ่ายรูปหมู่ ขึ้นรถ กลับบ้าน

ขากลับฝนตกหนักอีก น้ำท่วมในที่พักมอเตอร์เวย์ สงสารร้านค้าตรงหัว ๆ และท้าย ๆ เพราะน้ำมันท่วมจนปริ่มฟุตบาท ลูกค้าหายหมด ไม่อยากเดินมา พนักงานร้านกาแฟดิโอโร่ยืนมองกระจกออกมาข้างนอกหน้าร้าน ไม่มีลูกค้า เขาน่าจะทำระบบระบายน้ำดี ๆ หน่อย

เหนื่อย ตอนแรกว่าจะไปนอน ๆ ชิล ๆ เพราะอาทิตย์ที่ผ่านมาเหนื่อยมาก ไม่ค่อยได้นอน แต่ก็สนุกดี เป็นการพักผ่อนเหมือนกันล่ะน่า แม้จะโหดไปหน่อย 🙂

technorati tags:
,

2008 New postgrad programs at SIIT

ปีการศึกษาที่จะถึงนี้ ที่สถาบันเปิดหลักสูตรปริญญาโทใหม่ 3 หลักสูตร เป็นหลักสูตรที่เน้นทางวิชาชีพ/อุตสาหกรรมมากขึ้น คือด้าน เทคโนโลยีวิศวกรรม, วิศวกรรมลอจิสติกส์และระบบห่วงโซ่อุปาทาน, ไอซีทีสำหรับระบบฝังตัว

สำหรับหลักสูตรสุดท้าย ไอซีทีสำหรับระบบฝังตัว มีทุนเต็มให้นศ.ทุกคนที่ผ่านการคัดเลือก (30 ทุน)
หลักสูตรนี้เป็นความร่วมมือของ สวทช. TAIST และสถาบันเทคโนโลยีแห่งโตเกียว โดยมีสถาบันเทคโนยีนานาชาติสิรินธร มหาวิทยาลัยธรรมศาสตร์ และมหาวิทยาลัยเกษตรศาสตร์ เป็นมหาวิทยาลัยอำนวยการ — สมัครถึง 8 ก.พ. นี้เท่านั้น — ใครมีเพื่อนดูท่าจะสนใจ ก็บอกต่อนะครับ thx 🙂

Postgrad programs at SIIT, Thammasat University, academic year 2008.

NEW programs 2008

* TAIST-TokyoTech joint program (hosted by SIIT and KU). Scholarship for ALL 30 admitted students. — application deadline is Feb 8, 2008.

“Classic” programs

SIIT offers range of fields of study/research, including:
Chemical Engineering, Civil Engineering,
Electronics & Communication Engineering,
Industrial Engineering, Mechanical Engineering,
Computer Science, Information Technology,
Engineering Management, Environmental Technology,
Management Technology, and Operation Research

More info, visit:
http://www.siit.tu.ac.th/graduate_general_en.htm

For ICTES, contact: taist-ictes /at/ kind.siit.tu.ac.th
or contact the program director, Dr. Thanaruk Theeramunkong, directly: thanaruk /at/ siit.tu.ac.th

technorati tags:
,

YAiTRON XSLT stylesheets

YAiTRON is a cleaned-up version of NECTEC’s LEXiTRON in a well-formed XML format, created by Vee Satayamas. Its tag names are TEI-inspired.

technorati tags:
,
,
,
,

con/prefusing graph

prefuse MD

พยายามจะวาดกราฟด้วย prefuse
ยังงง ๆ อยู่ ยังไม่ได้อย่างที่อยากได้

อยากจะ:

  • เปลี่ยนขนาดโหนด ตามค่าที่กำหนด (เช่น คำเจอบ่อย ก็วงใหญ่, เจอน้อย ก็วงเล็ก)
  • ให้ลิงก์มีป้ายแปะด้วย
  • ลูกศรมันหายไปไหนหว่า~

หาคำสั่งไม่เจอ เอกสารเขายังไม่เสร็จดี

technorati tags:
,
,
,

GATE experiment at KIND Lab, SIIT

งานทดลองสุดสัปดาห์ที่ผ่านมา

POS-tagged document in GATE

เมื่อวานทดลองเขียน wrapper ครอบ Stanford Log-linear Part-Of-Speech Tagger ให้กลายเป็นปลั๊กอินสำหรับใช้กับ GATE (หลังจากตั้งท่ามานาน)

pipeline ในรูป มี 3 Processing Resources คือ tokensier, splitter และ tagger

tokensier คือ net.siit.gate.DictionaryBasedTokeniser เป็นตัวตัดคำธรรมดา ๆ ใช้พจนานุกรม1 และออกแบบให้ตัดได้คำที่ยาวที่สุด (longest-matching) ทำงานกับ AnnotationSet ของ GATE โดยตรง — จะสร้าง AnnotationSet ชื่อ “Token” ขึ้นมา

splitter คือ ANNIE Sentence Splitter เป็นตัวแบ่งประโยค โดยใช้กฎ (ภาษา JAPE เป็นลักษณะ regular expression over annotation) ตัวนี้มากับ GATE อยู่แล้ว และไม่ได้ออกแบบมาสำหรับภาษาไทย — เราเอามาใช้ไถ ๆ ไป เพื่อให้สร้าง AnnotationSet ชื่อ “Sentence” เท่านั้น (เป็นการ “สมมติว่ามี” จะได้ทดลองขั้นต่อไปได้)

tagger คือ net.siit.gate.StanfordPOSTagger เป็นตัวกำกับชนิดของคำ (Part-of-Speech) เป็น wrapper ไว้เรียกใช้/แปลงข้อมูลจาก edu.stanford.nlp.tagger.maxent.MaxentTagger ซึ่งเป็นตัวกำกับชนิดของคำแบบเรียนรู้จากชุดตัวอย่าง2 ตัว MaxentTagger จะรับข้อมูลเข้า/ส่งข้อมูลออกเป็น List<Sentence> ก็ต้องแปลงให้กลายเป็น AnnotationSet (เอาคำจากชุด “Token” โดยใช้ชุด “Sentence” ระบุขอบเขตประโยค3) เพื่อให้เข้ากับ GATE — ในขั้นตอนสร้าง List<Sentence> ตัว wrapper นี้ จะทึกทักเอาเองว่า Annotation ทั้งหมดใน AnnotationSet นั้น ไม่ทับซ้อนกัน (overlapping), ซึ่งจริง ๆ แล้ว ใน GATE นั้นอนุญาตให้ Annotation มันทับซ้อนกันได้ เช่น ถ้า Token ดันมีซ้อนกันเป็น [ab{cd]efg} แบบนี้ ตอนที่ตัว tagger (wrapper) แปลงเป็น Sentence จะได้ Sentence ที่บรรจุ Word = { “abcd”, “cdefg” }

ทั้งหมดเป็น Java (ในส่วนที่พัฒนาเอง ใช้ NetBeans)

ทั้งหมดนี้ ไม่มีอะไรเป็น “ของใหม่” เป็นเพียงการทดลองหยิบชิ้นส่วนหรืออัลกอริธึมที่คนอื่นทำไว้แล้ว มาลองประกอบเข้าด้วยกันในกรอบ (framework) ของ GATE เท่านั้น (ส่วนที่มีเสริมเข้าไป ก็เพื่อให้ประกอบสนิทกันเท่านั้น)

แต่คาดหวังว่า การมีกรอบที่ชัดเจนแบบนี้ จะช่วยลดงานที่ไม่จำเป็นในการทดลอง/วิจัยในอนาคตไปได้บ้าง เพื่อจะได้มีเวลาไปเน้นเรื่อง “ใหม่ ๆ” จริง ๆ

1 สามารถระบุพจนานุกรมตอนสร้าง instance ใหม่ได้ ปัจจุบันคำส่วนหนึ่งมาจากคลังข้อมูลเอกสารการแพทย์ที่ KIND Lab, SIIT ทำร่วมกับ เภสัช ศิลปากร อีกส่วนหนึ่งมาจากตัวตัดคำ KU Wordcut ของเกษตร (สุธี สุดประเสริฐ), ใช้ Trie เป็นโครงสร้างข้อมูลขณะตัดคำ (org.speedblue.util.Trie)

2 ชุดตัวอย่างนำมาจากคลังข้อความ ORCHID โดยเนคเทค (ทดสอบแปลงข้อมูลโดยใช้สคริปต์ Groovy บน JVM)

3 จริง ๆ แล้ว เราสามารถใส่คำทั้งหมดเข้าไปประมวลผลทีเดียวได้ (คือมี 1 ประโยคใน List<Sentence> และทุกคำในเอกสารบรรจุอยู่ในประโยคนั้น) แต่การทำแบบนั้น คิดว่าน่าจะเปลืองหน่วยความจำ อีกเรื่องคือ ยังไม่ได้ศึกษาโดยละเอียดว่า ขอบเขตของประโยค มีส่วนต่อการคำนวณหาค่าความน่าจะเป็นในการกำกับชนิดของคำของคลาส MaxentTagger หรือไม่ (ตั้งสมมติฐานไว้ว่า น่าจะมี จึงพยายามแบ่งประโยค)

technorati tags: 

connectives

คำเชื่อม*

ซึ่ง
และ
โดย
ถ้า
แต่
หรือ
คือ
เช่น
เมื่อ
เพื่อ
หาก
เนื่องจาก
แล้ว
ทำให้
เพราะ
ว่า
สำหรับ
ได้แก่
ดังนั้น
โดยเฉพาะ
อย่างไรก็ตาม

พวกนี้เอามาแบ่ง ประโยค (sentence) / อนุพากย์ (clause) ได้มั๊ย ?

* คำทั้งหมดได้มาจากคลังข้อความเอกสารด้านการแพทย์ที่แลบ เรียงตามความถี่ที่ปรากฎ – คำแรกพบบ่อยกว่าคำสุดท้ายเกือบ 11 เท่า

technorati tags:
,
,