Monday, December 18, 2006

Paper writting season

ACL 2007 deadline is on 23rd January 2007.

Sunday, December 17, 2006

Ada-boosting

Ada-boosting - We will boost our classifiers

(thx ajarn manow)

Saturday, December 16, 2006

ies4linux

ies4linux can help us to run IE on GNU/Linux.

(thx nf)

Wednesday, December 13, 2006

Open statistical machine translation seminar

Statistical machine translation seminar


  • On 18th December 2006, 10:00 - 11:30

  • At room 204, building 15, Faculty of Engineering, Kasetsart university, Bangkok

  • By Philipp Koehn

Wednesday, November 22, 2006

ICT Minister of Thailand and OLPC ( 100 USD Laptop )

ICT Minister of Thailand - Dr. Sittichai Pookaiyaudom, said that he will support OLPC (or 100 USD Laptop) but he is not one who will make a decision whether Thailand will buy OLPCs.



Reference: http://www.blognone.com/node/3408

Monday, November 13, 2006

wmcore building

TestWM Screen




Now I can build wmcore on my desktop pc. :-D


$ ./configure --prefix=/home/vee --with-gsback=/home/vee/gnustep/core/back/
$ make

I just moved StepWiRE from the GNUmakefile and supplied correct path of gsback for configure. :-)

Saturday, November 11, 2006

datrie for a large dictionary

datrie is a trie implementation in C using double array by thep. Its purpose is mainly for assisting word segmentation in libthai, which 16 bit array's indexes are enough. However, I want to use datrie in my experiment where the dictionary is quite large. Therefore I try to expand the array indexes to be 32 bits. To make a patch is pretty convenient since thep has already had plan to extend it. The patch is here. Currently, I think one must be able to choose 16 or 32 bits as a parameter of configure (autoconf). Anyways, in order to do easy 16/32 bits switching, I still have some issues waited for discussion here (in Thai). By the way, datrie32 (without 16/32 switching) must be already sufficient for using in my experiment.

Wednesday, November 08, 2006

Xnest

I want to run nested X11 so devilw suggested Xnest. I started with:

Xnest :2
xterm -display :2

It failed since connection from xterm was denied. Then I ask devilw again so he suggested Xnest -ac.

Xnest -ac :2
xterm -display :2

Then it failed since xterm cannot open font. So I asked peorth because devilw was traveling home. He suggest to try xfontsel. After I selected xfontsel, it crashed. Anyways, I've got an idea to try xset so I tried this.

Xnest -ac :2
xset -display :2 +fp /usr/share/fonts/X11/100dpi/
xset -display :2 +fp /usr/share/fonts/X11/75dpi/
xset -display :2 +fp /usr/share/fonts/X11/misc/
xterm -display :2


And then it still failed :-P. However, I can see some text displayed by twm and xfontsel, which I can see before using xset. :-) I saw something like xnlsfont but I haven't tried yet.

thx devilwearsgucci and peorth

Monday, November 06, 2006

ตำราไพธอนภาษาไทย / A Python text book in Thai

python book


ตำราไพธอนภาษาไทยฉบับแรกออกแล้ว
See also



The first Python text book in Thai language has been released.
อ่านเพิ่ม



Thank Ajarn Chakrit Saengkaew for the book and the permission to use the photo. Thank TPA for publishing this book also.

Sunday, October 22, 2006

OZ is for building Meta grammar?

Most of meta grammar envirments, which I know, i.e. XDG and XMG, use OZ.

Tuesday, October 10, 2006

Where is Teerayut Bunmee?

I don't wonder because of political situation now but Teerayut Bunmee ... Why there is no news about him?

Wednesday, September 20, 2006

./configure

vee____ มีวิธีดูเปล่า ว่าครั้งล่าสุด สั่ง configure ไปอย่างไร?
(How can I see my last configure command?)

thep vee____, head config.log

Tuesday, September 19, 2006

Ruby-Libthai update

The first version of Ruby-Libthai has appeared since 15th February 2003. Until today, only another one method was added, i.e., LibThai::tis?.

Now we can do something like below:

require 'libthai'
"abcd".each_byte{|c|
p LibThai::tis?(c)
}

More infomation: http://th.lug.wikia.com/wiki/Ruby-Libthai

Friday, September 15, 2006

Abiword + non-middle level character layout

MK asked me about non-middle level character layout. Hence I made this experiment and the result is shown in the screenshot below.

abiword screenshot

I think it looks okay.

Wednesday, September 13, 2006

Abiword + Thai text

By uwog and hub help, today I can install Abiword from CVS head on my Ubuntu box. I learned that I must use autoconf 2.59 and automake 1.9.6 instead of old one. :-)

In CVS head, Pango has been already used in Abiword. Hence it can break a line of Thai text with correct word boundaries now. :-) It is very big improvement however there are several issues left, for insance, printing (as mentioned by uwog), etc.

Abiword + Thai text

Thank tf for Abiword + Pango and thep for Pango + LibThai. :-)

You can grab Abiword from CVS following instruction here.

pastebin

In technical IRC channel (#tlwg, for instance.), we usually want to paste our (possibly long) source codes. Pasting it into IRC directly would be annoying. Therefore pastebin is emerged and help to keep your source code. Then you can give your friend URL instead pasting whole bunch of codes.
http://pastebin.ca/

ในห้อง IRC ทางเทคนิค (เช่น #tlwg) เรามักจะต้องการแปะ source code ที่อาจจะยาวลงไปบ่อยๆ การปะมันลงไปใน IRC ตรงๆ เลยมันอาจจะน่ารำคาญ ดังนั้น paste บินจะโพล่ออกมา และช่วยคุณเก็บ source code ไว้ และแล้วคุณก็สามารถจะให้ URL เพื่อนคุณไปแทนที่จะปะ code ทั้งหมดลงไป
http://pastebin.ca/

Wednesday, September 06, 2006

Part-of-speech tagging in Ruby

Acopost is a part-of-speech tagger written in C. Since now we can useAcopost as a C library, we write a ruby binding for Acopost called Acopost4R. It is hosted at Rubyforge. In addition, modfied version of Acopost (AcopostC) is also included Acopost4R Subversion repository. We will call it. We can write Ruby code for part-of-speech tagging as follow.

Source code:

require 'acopost'
t3 = Acopost::T3.new("/home/vee/train.ngram.utf8",
"/home/vee/train.lex.utf8")
t3.tagging(["ฉัน", "กิน", "ข้าว"]).each{|w|
print "#{w[0]}/#{w[1]} "
}
print "\n"


Result:

ฉัน/pper กิน/vt ข้าว/ncn

T3::tagging accept the array of words as the argument. And it return array of pair of word and part-of-speech, like NLTK-Lite style.

Acopost4R is still in very early stage so there is no release yet. However, you can obtain it from Acopost4R's subversion repository.




Acopost เป็นโปรแกรมกำหนดชนิดของคำที่เขียนด้วยภาษาซี เนื่องจากตอนนี้เราสสมารถใช้Acopost แบบ C library เราจึงเขียน ruby binding สำหรับ Acopost ชื่อว่า Acopost4R Acopost4R อยู่ที่ Rubyforge. มากไปกว่านั้น Acopost รุ่นที่แก้ไขแล้ว (AcopostC) ก็ยังถูกรวมไว้ที่ Subversion repository ของ Acopost4R ด้วย เราจะเรียกมันว่า AcopostC เราสามาถเขียนโปรแกรมภาษารูบีให้กำหนดชนิดของคำได้ตามต่อไปนี้

โปรแกรม:

require 'acopost'
t3 = Acopost::T3.new("/home/vee/train.ngram.utf8",
"/home/vee/train.lex.utf8")
t3.tagging(["ฉัน", "กิน", "ข้าว"]).each{|w|
print "#{w[0]}/#{w[1]} "
}
print "\n"


ผลการทำงาน:

ฉัน/pper กิน/vt ข้าว/ncn

T3::tagging รับ array ของคำเป็นอากิวเมนต์ และส่งผลลัพธ์กลับเป็น array ของคของคำและชนิดของคำ เหมือน NLTK-Lite.

Acopost4R ยังอยู่ในระยะเริ่มต้น ดังนั้นจะยังไม่มี release อย่างไรก็ตามคุณสามารถเอามันมาเล่นได้จาก subversion repositor ของ Acopost4R.

Tuesday, August 29, 2006

Using Acopost as C library

Acopost is a collection of part-of-speech taggers written in C and Perl. However, AFAIK, Perl is used just for the code for training the tagger. According to the lastest version of Acopost, a tagger has be called by command line (unix shell). Since I want to call a part-of-speech tagging function from C code, Acopost must be transformed into a C library. Well, I can use system("t3 .....") but a tagger take quite long time for re-initialization. For convenient, GNU Building tools and pkg-config are used. Anyways, only the t3 tagger can be called from C.

The modified version can be download here.



Acopost เป็นชุดรวมโปรแกรมกำกับชนิดของคำที่เขียนด้วยภาษาซีและ Perl อย่างไรก็ตามเท่าที่ผมทราบ ภาษา perl ใช้เฉพาะใน code สำหรับฝึกฝนตัวกำกับชนิดของคำเท่านั้น ตามที่ดูจาก acopost รุ่นล่าสุด ตัวกำกับชนิดของคำต้องเรียกจาก command line (unix shell) เท่านั้น จากที่ผมต้องการจะเรียกตัวกำกับชนิดของคำจากภาษาซี ดังนั้น Acopost จึงสมควรจะถูกแปลงเป็น C library ถึงแม้ว่าเราจะใช้คำสั่ง system("t3 ....") ได้ แต่ว่า tagger ก็ใช้เวลานานในการเริ่มทำงานแต่ละครั้ง เพื่อความสะดวกในการแปลนี้ก็ได้ใช้ GNU Building tools และ pkg-config อย่างไรก็ตาม ตัวกำกับชนิดของคำ t3 เท่านั้นที่สามารถเรียกจากภาษาซีได้

รุ่นที่แก้ไขแล้วสามารถ โหลดได้ที่นี่.

Saturday, August 26, 2006

LinkGrammar4R update

I plan to release LinkGrammar4R 0.1.0, which will be corresponding to LinkGrammar 4.2.3 from Abisource.

Currently, in SVN trunk, LinkGrammar4R has test units, API for manipulating parse options, API for getting number of linkages from sentence object and also Rubism iteration for handling linkages.

Anyways, I still would like to discuss about the name of methods for getting number of linkages.

Thank Bradford Folkens for his ideas, codes, bug fixing. Actually most of patches, bug reports, are done by him :-) Also thank Ken Bloom for giving me an example of API, which is his link-grammar binding based on Ruby/DL and bug fixing.




ผมกะว่าจะปล่อย LinkGrammar4R 0.1.0 ซึ่งจะสอดคล้องกับ LinkGrammar 4.2.3 จาก Abisource

ตอนนี้ใน SVN กิ่งหลัก LinkGrammar4R มี test units มี API สำหรับจัดการตัวเลือกเกี่ยวกับการแจกโครงสร้างข้อความ มี API สำหรับดึงจำนวน linkages จาก Sentence object และก็ยังมี การเข้าถึงข้อมูลแบบ Ruby สำหรับจัดการกลุ่มของ linkage

อย่างไรก็ตาม ผมยังมีความต้องการที่จะอธิปรายเกี่ยวกับ ชื่อของ method สำหรับดึงจำนวนของ linkage

ขอบคุณ Bradford Folkens สำหรับ แนวคิด รหัสต้นฉบับ การแก้บัก จริงๆ แล้ว patch และการรายงานบักส่วนมาก ก็เป็น Bradford Folkens นั่นเองที่เป็นคนทำ แล้วก็ขอบคุณ Ken Bloom ด้วยที่ช่วยให้ตัวเชื่อม link-grammar ที่เขียนบน Ruby/DL มาเป็นตัวอย่าง และช่วยแก้ bug ด้วย.

Thursday, August 17, 2006

Light at midnight

Even at midnight, how can I read those text without light.
ถึงแม้จะเป็นเวลาเทื่ยงคืน ฉันจะอ่านข้อความเหล่านี้ได้อย่างไรโดยไร้แสงสว่าง

Tuesday, August 15, 2006

A quote from /. YRO

``ถ้ารัฐบาลสามารถตรวจสอบทุกอย่างที่ประชากรแต่ละคนทำได้ ก็จะไม่มีใครทำให้รัฐบาลนั้นอยู่ในการตรวจสอบได้''
``If the government can check everything each citizen does, nobody can keep the government in check.''

และแล้ว Tor ก็ต้องโดน Block?
Then Tor must be blocked?

Source

Tuesday, August 01, 2006

Thai government will buy 100 USD laptop?

Unlike someone predicted, AMD Geode has been used not AMD K6 or K7. Geode is not another name of K6/7. AMD just bought it from National Semiconductor on 2003. So it must consume much less power than someone thought. Wifi don't have to be used to connect the Internet. As we have seen in Nintendo DS and etc., wifi can be used for group playing game and etc, which can be useful for students. Anyways, I didn't hear any news concerning this project from the government for a long time.

ไม่เหมือนที่บางคนทำนายไว้ เครื่อง 100 USD ใช้ CPU ชื่อ Geode ไม่ใช่ K6 หรือ K7 ของ AMD Geode ไม่ใช่อีกชื่อหนึ่งของ AMD K6 หรือ K7 เพราะว่า AMD พึ่งชื้อ Geode มากจาก National Semiconductor เมื่อปี 2003 ดังนั้นมันจึงกินไฟน้อยกว่าที่บางคนคิดไว้ Wifi ไม่จำเป็นต้องเอาไว้ต่อ Internet เสมอไป อย่างที่เราเห็นจาก Nintendo DS และอื่นๆ Wifi สามารถเอาไว้ใช้เล่นเกมส์แบบกลุ่มและทำประโยชน์อื่นๆ ได้ ซึ่งสามารถเป็นประโยชน์สำหรับนักเรียนหลายๆ คน ผมชอบโครงการนี้ อย่างไรก็ตามก็ไม่เห็นมีข่าวอะไรเกี่ยวกับโครงการนี้จากรัฐบาลมานานแล้ว

Thursday, July 20, 2006

Install .deb

Today I try to install scim-thai-xxx.deb from thep (Actually, it is in http://linux.thai.net/apt.) Anyways, on Ubuntu 6.06, it has to be rebuild. Unluckly, I don't know how to install .deb with dependency checking. ans answer my question in #tlwg as follow:


ans-ffox-win2003 vee____: dpkg -i can install any packge without dependency check
vee____ ans-ffox-win2003: i see .....
vee____ ans-ffox-win2003: how could I perform checking?
ans-ffox-win2003 but the package will still in the "unpacked" state, not "configured" state
ans-ffox-win2003 dpkg -i, then "apt-get install"
vee____ ans-ffox-win2003: thank you
ans-ffox-win2003 if dpkg -i without correct dependency, it will be "unpackaged" or "half-configured" state, not "installed" state
ans-ffox-win2003 ayan
ans-ffox-win2003 just run "apt-get install" it will try to complete the dependency
ans-ffox-win2003 ayan
vee____ ans-ffox-win2003: cool
vee____ ans-ffox-win2003: can I post the discussion log to my blog?
ans-ffox-win2003> many installation script that install .deb, does use this method.
ans-ffox-win2003> yes, can post
ans-ffox-win2003 ayan
vee____ ans-ffox-win2003: thx
ans-ffox-win2003 many installation script that install .deb, do the following step,
ans-ffox-win2003 1. dpkg -i xxx.deb
ans-ffox-win2003 2. apt-get install


He also commented that dpkg -s can be used to check installation status.

Thursday, July 06, 2006

[LinkGrammar4R] We need higer-level API?

Thank Bradford Folkens for reporting the bug that sometime LinkGrammar4R just crashes when Linkage.new is called. It occurs since there is no linkage from parsing result. Thus, in Linkage.new, the index was checked before calling linkage_create. If the index is out of range, the exception will be raised.

However, I feel like LinkGrammar4R need more higher-level API that free us for checking these index. It may be an iterator?


iterateLinkage(sent, opt).each{|linkage|
.....
}

or

parsedSentence.eachLinkage(opt) {|linkage|
......
}

Tuesday, July 04, 2006

A product from Nectec's codefest (Release)

I played Parsit firefox extension from Group number 3. This may be practical way for machine translation user interface today. :-)

Thanks blaa for helping to install this, thanks everyone in Parsit firefox extension team for developing such a good software and thanks NECTEC for the excellent campaign.


ผมลองเล่น Parsit firefox extension จากกลุ่ม 3 ดู โปรแกรมแบบนี้อาจจะเป็นวิธีที่ดีในทางปฎบัติที่จะสร้าง user interface สำหรับโปรแกรมแปลอัตโนมัติ

ขอบคุณปลาที่สอนลงโปรแกรมนี้ ของคุณทุกคนที่ทำโปรแกรมนี้ ขอบคุณ nectec ที่ทำโครงการดีๆ ขึ้นมา

Screencast: http://vee.pompokoisme.com/screencast/parsit_ff.swf
Its homepage: http://www.softwarebank.org/projects/parsit-cf03/
Release: http://www.softwarebank.org/project/showfiles.php?group_id=59&release_id=69

Monday, July 03, 2006

TIS-620 will be in xchat-gnome combo box.

TIS-620 was added to xchat-gnome's combo box in the svn truck. Thanks xchat-gnome developer(s) and Thep also for making Thai known to FLOSS community.


นักพัฒนาเพิ่ม TIS-620 เข้าไปใน combo box ของ xchat-gnome แล้ว :-) ขอบคุณนักพัฒนาเอ็กซ์แชทโนม และป๋าเทพด้วยที่ให้ภาษาไทยเป็นที่รู้จักในชุมชนซอฟต์แวร์เสรี

http://svn.navi.cx/misc/trunk/xchat-gnome/src/fe-gnome/irc-network.c
http://bugzilla.gnome.org/show_bug.cgi?id=346396

Wednesday, June 28, 2006

Software Engineering

I may need to know more about these 2 words Spiral model and
Agile.

BTW, even spiral model or agile or other might not be useful for the team have common platform or common standard coding or common programming language. -_-!

Saturday, June 24, 2006

Constituents in Link-grammar API

In Link-grammar 4.4.2, the functions in API for handling constituents are omitted. However, Dom has added them these functions to Link-grammar in CVS trunk already. :-) So LinkGrammar4R in its SVN trunk was changed to be compatible with Link-grammar in CVS trunk too.

I'm just waiting for new release of Link-Grammar with the functions for handing constituent in API. Then I will test and release new LinkGrammar4R too.

Wednesday, June 14, 2006

LinkGrammar4R 0.0.2 release

LinkGrammar4R 0.0.2 is tended to conform Link-grammar 4.4.2, which its API has been changed significantly from 4.1.3, for instance, the API were grouped into a single file, the dictionary can be created by only choosing the language rather than selecting each data files. However, some functions for handling phrase structure trees are not included in public API. Thus, in LinkGrammar4R 0.0.2, the functions for phrase structure handling is provided as an option. Moreover, after, discussion in Abiword IRC, there is a hope to add the phrase structure handling functions to public API of Abiword's branch of Link-grammar. :-)

Thank Ken Bloom for informing LinkGrammar4R building on AMD64 and new header file. Thank Uwog and Dom of the Abiword team for suggestion about Link-grammar API.

http://rubyforge.org/projects/linkgrammar4r/



[Thai translation]
LinkGrammar4R 0.0.2 เขียนออกมาเพื่อให้สอดคล้องกับ Link-grammar 4.4.2 ที่ API เปลี่ยนไปอย่างเห็นได้ชัดจากรุ่น 4.1.3 เช่น API จัดให้อยู่ใน header file ไฟล์เดียว dictionary สร้างได้โดยการระบุภาษาแทนที่จะต้องระบุถึงไฟล์ข้อมูลแต่ละไฟล์ อย่างไรก็ตามมีฟังก์ชันสำหรับจัดการต้นไม้โครงสร้างวลีที่ไม่รวมอยู่ใน public API ด้วย ทำให้ฟังก์ชันสำหรับจัดการต้นไม้โครงสร้างวลีใน LinkGrammar4R 0.0.2 เป็นตัวเลือก มากไปกว่านั้นหลังจากการสนทนาใน IRC ของ Abiword ก็มีความหวังว่าฟังก์ชันในการจัดการโครงสร้างวลีจะถูกรวมเข้าใน public API ของ Link-grammar ในกิ่งของ Abiword ด้วย

ขอบคุณ Ken Bloom ที่แจ้งให้ทราบถึงปัญหาในการ build LinkGrammar4R บน AMD64 และ header file ใหม่ ขอบคุณ uwog และ dom แห่งทีม Abiword ที่ให้คำแนะนำเกี่ยวกับ Link-grammar API

http://rubyforge.org/projects/linkgrammar4r/



[I am learning more langauges.]

Saturday, May 27, 2006

A free/open source software with a nice manual


Even for free/open source software, I prefer reading a nice manual. However without a nice manual, I prefer free/open source software. :-P

Friday, May 26, 2006

NLP summer school in Bangkok

There will be a summer school about NLP named "LAICS-NLP Summer School" in Bangkok on 16th-22nd October. As far as I know, it will happen in Kasetsart University and mostly organized by Ajarn Asanee (my advisor).




For me, the topics about syntax and lexical structure are quite intersting. :-)




For more details http://naist.cpe.ku.ac.th/LAICS-NLP/courses_workshop.html

Wednesday, May 17, 2006

Release sources != Open source software

Distributing software without chrage != Free software
Release sources != Open source software

To open source .... but forking is not allow sounds terrible and .... won't be open source software following OSI definition.

Monday, May 15, 2006

Slowly turnaround

Slowly turnaround ~ Riding an elephant to catch a grasshopper (translated from Thai idiom) ?

Friday, May 12, 2006

Better web application video :-)

http://oodt.jpl.nasa.gov/better-web-app.mov


It looks nice. However Turbogears at that time is 0.8, which is quite different from 0.9 that we use today. 0.9 is included authentication, i18 and scaffold too.

Wednesday, April 12, 2006

Free serious MT is coming to town.

Open Logos


In fact, it has come for a while .... since new the lastest release version is 1.0.2.

Friday, April 07, 2006

Dict OS X for French-English dictionary


dictosx_fra_eng
Originally uploaded by veetai.
At the office, I can use Systrans online by http://world.altavista.com for translating French text to English. In fact, I want to read in Thai. However, in English is okay. :-P A free online French-English dictionary can be also accessed at http://www.dict.org/.



At the dorm, there is even no telephone line (for me to connect the internet). Thus a FreeDict package from Debian, which was taken from http://www.freedict.org/ by Debian packager, was obtained by me too. Then I give it you in a zip file for DictOSX. To use this dictionary, DictOSX has to be installed first. Then download this zip. Normally it will be extracted automatically. (Otherwise it can be extracted manually by Stuffit Expander or whatever you like). Finally FreeDict-FRA-ENG.dictosx must be put in /Library/Application Support/Dict OS X. Next time when you start the DictOSX, French-English dictionary should be ready to use. :-)

Monday, March 27, 2006

TextBreak is *moved* back to GNA.org

This morning I took 2 hours for uploading TextBreak family to web server by FTP but it was failed. I don't know exactly why it was failed. The network here was shaped? Cheap web hosting? Anyways, I just moved codes back to Subversion at https://gna.org/projects/textbreak/ and release files there too. This release is not usable yet. Anyways it might be useful for who want to know how it is like.

Sunday, March 26, 2006

TextBreak development strategy


TextBreak development strategy
Originally uploaded by veetai.
This diagram show the development strategy of TextBreak. There 3 sub-projects that are running simultaneously. Since implementation TextBreak in C is pretty difficult. Thus the prototype in Python was built before building fully implementation in C. However, there is some modules have been written in C already. For instance, Dict, which is dictionary in Trie structure. In order to integrate them, Python binding is built. At the last phase, the prototype will be ported into C. :-)

Friday, March 24, 2006

QT4 + Thai word breaking

OB proposes to hack QT4 in order to plug word breaking module,
for instance, LibThai. If there is one who is doing that or interested
in that, please reply him.

http://linux.thai.net/phpbb2/viewtopic.php?t=28034

Machine translation: Bookmark

http://www.cs.cmu.edu/People/ref/mlim/chapter4.html

Tuesday, January 17, 2006

Coling submission deadline is coming soon T_T

Important dates for Coling/ACL 2006

Coling submission deadline is coming soon. From now, I will stop developing annotation tools, posting webboard, posting weblog, watch TV .... bla bla bla ..... until the deadline.

Sunday, January 01, 2006

The LinkGrammar binding for Ruby has been moved to Rubyforge.org

The LinkGrammar binding for Ruby has been moved to Rubyforge.org. http://rubyforge.org/projects/linkgrammar4r/.
Formerly, it was hosted in geocities.com. In order to make it searchable easily, it has been moved. Moreover, rubyforge.org provided SVN, bug tracker, etc, which could support further development.