Tuesday, October 12, 2010

SeMap - final year project (25th Sept. - 8th Oct.)



I started from what I left earlier week, basically to setting up the environment for us to use RelEx. RelEx has lot of dependencies which are in turn needed some other dependencies. I gave a try to set up RelEx in a windows environment, using MinGW which is a minimalist development environment for native Microsoft Windows applications. RelEx developers preferred us to use linux environment, but they asked me to give a try on windows (since most of us wanted to use windows) which they had no experiences of building RelEx. In an IRC discussion I told them that if I got successful, I will come up with a “how-to-do” document which will help someone who is planned to use OpenCog on windows and they were appreciated that.

Link grammar parser is one of the dependencies of RelEx and I had a nightmare of building it in MinGW environment, since some libraries used by them are not there in the windows platform. So I tried to manually download some of the missing libraries after debugging the build, but was unsuccessful. Then Nisansa started to build link grammar using Visual C++, neither he got it to build without errors (I think he will continue his investigation). Without further wasting our time on just setting up the environment, we thought to move to Linux based OS. I already had some experiences of using Ubuntu, so I just re-booted and logged into Ubuntu. Amazing fact is that within 10 minutes I was able to build RelEx successfully! But I had no regret of trying to install RelEx in windows.

I came up with a set of steps which one should follow in order to get RelEx installed in Ubuntu. Here I list them.

*sudo apt-get install build-essential
*./configure
*make
*sudo make install
*sudo ldconfig
*cd link-grammar
*./link-parser (this will run LGP, you can just verify that it is working)
*sudo cp linkgrammar-4.7.0.jar /usr/share/java
                sudo apt-get install bzr
  • Go to the folder where you need the RelEx trunk to be in and issue following:
                bzr branch lp:relex
                    ;this will check out the relex source code
  • In relex source code there's a build.xml file. Open it up and change the following:
                line 20:
                     pathelement location="${PREFIX}/linkgrammar-4.7.0.jar"
        Save it!
  • Finally go to the folder which contains build.xml (relex) & issue:
*ant -Check whether the "Build Successful" . This will build the code.
*ant run -to run the relex
*ant test -to test the relex

Project proposal was due on 8th of October so we had started are work on the proposal on 30th September. We discussed and distributed parts of the project proposal among us. I had taken the parts of introduction and methodology. Danaja and Nisansa proof-read the separated parts of the proposal and Chamilka did the most of the formatting part. I did help them in possible ways that I can. I should note here that I was down with a contagious eye disease, from 6th - 9th of October where I was instructed to keep my eyes rest. But I participated in group chats in that period as well, to keep me in touch of the project. We submitted our proposal to Dr. Ben Goertzel; our external supervisor and also to Dr. Shehan; our internal supervisor to get their approvals on 5th of October. Dr. Ben had reviewed our proposal within 24 hours and sent us few suggestions, and we all agreed to alter our proposal according to his amendments, and sent the revised proposal to Dr. Shehan. Unfortunately Dr. Shehan was attending a conference in US, so he was unable to sent us a reply.

Dr. Shantha had asked project groups to appoint a leader, and my project members appointed me as the group leader. I will try to do my best as the group leader and is desperate to make our project a success by getting contributions from all my passionate and highly talented group mates.

4 comments:

CharithSoori said...

Thanks Nirmal.Was a excellent guide to me.

Nirmal Fernando said...

Thanks Charith, nice to hear that!!

Jayaprabath said...

one of your group members is our supervisor now! we are doing similar stuff! these posts will definitely help us

Nirmal Fernando said...

Great to hear!! Thanks.