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.
Tuesday, January 17, 2006
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.
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.
Monday, November 14, 2005
The client of the English parser service
According to the English parsing service over POX and HTTP that was mentioned in this blog. It seems to miss an important example that is example of client wriiting. So it will be shown here.
We can just use standard HTTP lib of any languages. Then the parsing result in XML can be obtained, as shown below.
Easy, isn't it?
require 'net/http'
require 'uri'
res = Net::HTTP.post_form(URI.parse('http://127.0.0.1:8030/parse/'),
{'txt'=>'I love you.'})
print res.body
We can just use standard HTTP lib of any languages. Then the parsing result in XML can be obtained, as shown below.
<result>
<constituent label="S" >
....
....
....
</constituent>
</result>
Easy, isn't it?
English parsing service over POX and HTTP
The Link grammar parser from CMU is freely available and very robust. It has to be used over C API or the command line interface. In order to integrate tools from heterogeneous platforms, most of my tools communicate each others by Plain Old XML ( POX ) and the Hypertext Transfer Protocol ( HTTP ). Hence I write POX and HTTP wrapper for the Link grammar parser by using the Link grammar parser, its Ruby binding and the WEBrick. Moreover the Link grammar parser from Abiword CVS has been adopted because it provides the script for the GNU Building tools and the pkg-config are convenient.
In order to show the way this service work, HTML script below is written.

The script above will generate HTML page, as shown in figure 1 and it send plain text to parsing service. Then parsing service will return parsing result in XML, which is illustrated in figure 2. For real usage, a web browser is replaced by a program with a xml parser and a http client framework.

Figure 1

Figure 2
Now I have a parser service, which is easy (?) to use. So I will step to look at pdf2text. :-)
In order to show the way this service work, HTML script below is written.

The script above will generate HTML page, as shown in figure 1 and it send plain text to parsing service. Then parsing service will return parsing result in XML, which is illustrated in figure 2. For real usage, a web browser is replaced by a program with a xml parser and a http client framework.

Figure 1

Figure 2
Now I have a parser service, which is easy (?) to use. So I will step to look at pdf2text. :-)
Saturday, November 12, 2005
Ruby/Link Grammar Binding
This blog entry is out of date. Please visit http://rubyforge.org/projects/linkgrammar4r/ instead.
Since I want to use link grammar parser for some particular tasks and I'm using Ruby language. There is no existing Ruby binding for Link Grammar Parser. Hence I wrote one. It is incomplete but it may be useful for someone who want to make this binding but don't want to start from scratch.
http://www.geocities.com/veetai/ruby-linkgrammar-20051111.tar.gz
The example of using link grammar parsing in Ruby is as follow:
The result:
P.S. I probably post the update later if I found that this binding is not enough for my tasks :-)
Since I want to use link grammar parser for some particular tasks and I'm using Ruby language. There is no existing Ruby binding for Link Grammar Parser. Hence I wrote one. It is incomplete but it may be useful for someone who want to make this binding but don't want to start from scratch.
http://www.geocities.com/veetai/ruby-linkgrammar-20051111.tar.gz
The example of using link grammar parsing in Ruby is as follow:
require 'linkgrammar'
dict = LinkGrammar::Dictionary.new("4.0.dict", nil, nil, nil)
sent = LinkGrammar::Sentence.new('I love you.', dict)
opts = LinkGrammar::ParseOptions.new
sent.parse(opts)
linkage = LinkGrammar::Linkage.new(0, sent, opts)
words = linkage.get_words
words.each{|w|
print "w = #{w}\n"
}
cnode = linkage.constituent_tree
print "Root node label = #{cnode.label}\n"
The result:
w = LEFT-WALL
w = I.p
w = love.v
w = you.[?].n
w = RIGHT-WALL
Root node label = S
Freeing dictionary 4.0.dict
P.S. I probably post the update later if I found that this binding is not enough for my tasks :-)
Sunday, August 21, 2005
Tuesday, August 09, 2005
Text Break: Coding
Aim of Text Break project is to make a universal compact and extensible word segmentation engine for any language.
The main idea is the assumption that every word segmentation software is based on something similar appoach that is
searching shortest path on directed acyclic graph which each node represents a character. However the variant is how
weighted edges are added into graph. In term of extensible, Text Break should be adapted to new langauges and also
new techniques for supported languages. Finally, I start coding it now :-) http://svn.gna.org/viewcvs/textbreak/trunk/textbreak/
The main idea is the assumption that every word segmentation software is based on something similar appoach that is
searching shortest path on directed acyclic graph which each node represents a character. However the variant is how
weighted edges are added into graph. In term of extensible, Text Break should be adapted to new langauges and also
new techniques for supported languages. Finally, I start coding it now :-) http://svn.gna.org/viewcvs/textbreak/trunk/textbreak/
Sunday, July 31, 2005
Free Jabber-RPC
Since Jabber-RPC implementation in Java cannot be found
( If it exists, please inform me. ) so I write one and named it
Free Jabber-RPC. It is still in very early experimental state
and only client side is implemented. I steal some codes from Apache XML-RPC Framework and
use Smack heavily but Smack and Apache XML-RPC have different license so I try to keep
every thing that were imported from Apache XML-RPC in Apache Lisence and
lisence new source code as GPL. ( Should I do this? )
I just tested it by sending simple method request to JabberXMLRPC in Python.
Obtain Free Jabber-RPC 20050731
( If it exists, please inform me. ) so I write one and named it
Free Jabber-RPC. It is still in very early experimental state
and only client side is implemented. I steal some codes from Apache XML-RPC Framework and
use Smack heavily but Smack and Apache XML-RPC have different license so I try to keep
every thing that were imported from Apache XML-RPC in Apache Lisence and
lisence new source code as GPL. ( Should I do this? )
I just tested it by sending simple method request to JabberXMLRPC in Python.
Obtain Free Jabber-RPC 20050731
Thursday, July 07, 2005
Shopping Music Online: Mixiclub.com
Mixiclub.com is a website of RS Promotion which is a port for selling ( Thai ) songs online. I conceptually appreciate this service since I can choose to buy a song not an album. Moreover it is quite reasonable price ( 15 Bath for 1 song ). However musics are distributed in WMA format which I need window media player to
listen to music. It is absolutely inconvenient. Is they any GNU/Linux user friendly service availible?
listen to music. It is absolutely inconvenient. Is they any GNU/Linux user friendly service availible?
Monday, June 06, 2005
NO, I'm not SCV.
Starcraft can teach people about management. A manager should maximize resource utilization. Anyways, I 'm not marine, not even SCV. Sometimes I think people should play football manager game instead because football manager game is not as real as Starcraft is. :-P
P.S. Just for practising my extremely *POOR* english. Could you do me a favor? Please suggest me about English. Please tell me where my writting is poor. I want to improve myself.
P.S. Just for practising my extremely *POOR* english. Could you do me a favor? Please suggest me about English. Please tell me where my writting is poor. I want to improve myself.
Monday, April 18, 2005
The Attempt to Port RubyCocoa to GNUstep
RubyCocoa seems to be more functional than RIGS. IMHO, to unify Ruby -> GNUstep/Cocoa interface would allow us to write portable GNUstep/Cocoa based program. After trying to build RubyCocoa on GNUstep, I found that there is not NSNetService
and NSDistantObjectRequest on GNUstep. I don't know why they does not exist. By this result, I think I should learn more about about NSProxy. ;-)
and NSDistantObjectRequest on GNUstep. I don't know why they does not exist. By this result, I think I should learn more about about NSProxy. ;-)
Friday, April 08, 2005
Why do we should use Theora instead of *MPEG4* ?
It was painful when we can't read or procude some document or audio or video in format that some people want. MS .doc is one of the example we don't exactly how to encode and decode .doc . Thus, someone try to use open standard for file format. Unfortunately, some open standards suck coz we can't use it freely. We may have to buy its document. However to buy document is not the most terrible. Some open standards are patent which means that we can't not use it freely without permission of its owner. By patent, free/open source software developers in some part of the world can't develope their encoders/decoders and distribute them freely.
MPEG4 is patent technology, isn't it? Is there any of its owners allow us to use MPEG4? IMHO, we should recognise other format that we are allowed to use - Theora ,for instance.
MPEG4 is patent technology, isn't it? Is there any of its owners allow us to use MPEG4? IMHO, we should recognise other format that we are allowed to use - Theora ,for instance.
Friday, August 13, 2004
Truetype fonts snapshot from thaifonts-scalable
Truetype fonts snapshot from thaifonts-scalable can be downloaded here. To install fonts is quite simple now. We can just copy *.tff to $HOME/.fonts directory. My friend wanna to use Loma and other fonts. I don't know where to grab them then I install fontforge and grab thaifonts-scalable from cvs ( head ), run configure, make and pack this to my friends. Hence, notthing officially and I don't know what gotta happen to your desktop after install this :-P
Thursday, August 05, 2004
Tuesday, July 27, 2004
Influenced by MBasic
I wondered how MBasic interpret strings ( Basic code. ). I wanna see how it work so I use GNU/Linux, which is free software. Although there is no MBasic in Linux Distro but there are plenty of another interpreter to hack. My main job is also about string manupulating. Today I 'm writing program to generate parse tree from Earley parsing result. I go on manipulate string, not because that I can do well but just because I wanna do. :-P
Tuesday, July 13, 2004
dict-lexitron package for debian
dict-lexitron debian package can be download here.
I suppose to make on all architects but I don't know how to do :-P
I changed debian/control, then dpkg-buildpackage do not work.
I suppose to make on all architects but I don't know how to do :-P
I changed debian/control, then dpkg-buildpackage do not work.
Monday, July 12, 2004
dictd-lexitron on Debian
I try to fix shit that I left in dictd-lexitron. I forgot to add some file in Makefile.am and configure.in.
So I make this patch. I try to make deb for dictd-lexitron but it is not finish yet. Anyway, there are some progress. To install *.dict.gz and *.index to /usr/share/dictd only is not enough to Debian. After I use command /etc/init.d/dictd restart, ``dictd'' was killed because of LOCALE problem. To use command ``/usr/sbin/dictd --locale=th_TH.UTF-8'' instead could make it work but I still don't if I use modify /etc/init.d/dictd or not??? Where do I suppose to modify? ( Please leave me some comments )
So I make this patch. I try to make deb for dictd-lexitron but it is not finish yet. Anyway, there are some progress. To install *.dict.gz and *.index to /usr/share/dictd only is not enough to Debian. After I use command /etc/init.d/dictd restart, ``dictd'' was killed because of LOCALE problem. To use command ``/usr/sbin/dictd --locale=th_TH.UTF-8'' instead could make it work but I still don't if I use modify /etc/init.d/dictd or not??? Where do I suppose to modify? ( Please leave me some comments )
Tuesday, July 06, 2004
Chinese Language Enabled Live CD
I cannot download any Chinese Language Enabled Live CD. To install chinese fonts is pretty obvious but to config XCIN doesn't seem to be easy for me. Hence, I think trying something that is already work is better :-P Therefore, I ask some suggestion for Singpore LUG , which, I 'm waiting for ...
Friday, July 02, 2004
Debian Package
I have to install Statistics-MaxEntropy, which is Perl module and we need it for many statistical NLP tasks, to Debian boxes. I will need to install it again. Thus, I will make my first debian package. However, please tell me if it is already exist. I plan to follow this document and then make it fast and dirty :-P Upstream contribution is not main purpose. Anyway, I will clean it if I have free time.
Subscribe to:
Posts (Atom)


