border_top
Welcome to Rantbot
Here you will find updates on my Master's Thesis project named Rantbot. The specification can be found here (PDF).

Long time no see
Posted by Magnus Johansson on Tuesday 13 March 2007 22:31

It has been too long since my last update here. I have since continued working on the report and have gotten a good way into the first draft. I have also started my new job as a Systems Developer for Lehman Brothers, so I will only be able to work on my thesis during the evenings (and weekends). The next thing on my list is to fix up the code a bit for the trainer, so that I can run some final tests and document them.

Update
Posted by Magnus Johansson on Thursday 25 January 2007 13:56

I apologize for the lack of updates recently, but I have mostly been working on the report so there has not been that much to post about. On Monday I had a meeting with my supervisor to discuss some problems I had run into while doing experiments, and I am now working to solve those problems.

2007 is here
Posted by Magnus Johansson on Wednesday 03 January 2007 22:58

It has been a while since my last update, and since then I have done some experiments and tweaked the trainer a bit. I have now started writing more in my report, and as it looks now I will be done sometime in February.

Weekly update
Posted by Magnus Johansson on Wednesday 29 November 2006 21:25

On Monday I had another meeting with my supervisor where I showed my GUI and we came up with a todo list for me, as I am done with the implementation part and will start working on experiments and documentation (after some minor adjustments to my program). Today I have created a command line program in Lisp which converts a file of categories and sentences into a network, and then saves that file in a format used by my training application (the GUI).

Time for training
Posted by Magnus Johansson on Thursday 23 November 2006 19:27

I have now put all the functionality into the GUI, there is a screenshot of it in action here. I have added the sentencecs I have come up with (125 of them) to a network and started training on that network. Tomorrow I will continue training and I might also have a meeting with my supervisor, now that I finally have something to show again.

GUI almost done
Posted by Magnus Johansson on Wednesday 22 November 2006 17:52

There is only a little bit left now in the functionality of the GUI, so I will be done with it tomorrow. I am looking forward to trying it out. I have come up with over 100 sentences now that I will put into the test network.

Weekly update
Posted by Magnus Johansson on Tuesday 14 November 2006 20:55

I have put together the GUI now, but as I am still working out some bugs, there is no functionality in it yet. In the meantime, I have an image of the second GUI mockup I made here. I am also working on sentences that the bot should spit out, divided into five or six different topics.

Back to work
Posted by Magnus Johansson on Monday 06 November 2006 21:38

A new month again, and I am back in business after a short break. I have now completed the button and scrollbutton widgets, so the only thing left is the "widget" to show the network, as well as a bit of bugfixing. It looks like I will be able to actually put together my GUI this week.

Weekend update
Posted by Magnus Johansson on Sunday 29 October 2006 10:13

I am done with the textbox now, except for a few bugs concerning newlines. I will not be able to work on the project next week since I am going out of town for a few days, and I also have other things to take care of.

GUI implementation: Part one
Posted by Magnus Johansson on Friday 27 October 2006 02:06

I have begun implementing my GUI toolkit. So far I have done the main window and label widgets, and I am working on the textbox (multiline included). I expect to complete the textbox tomorrow, with editing and scrolling features.

GUI design
Posted by Magnus Johansson on Friday 20 October 2006 18:11

I have done a first mockup of the GUI, it can be found here. I have also designed the widgets that I am going to create, and will begin implementing them next week.

GUI part 2
Posted by Magnus Johansson on Tuesday 17 October 2006 19:03

I have spent most of the day trying out various graphical toolkits that use CLX, since I wanted to save some time by not having to write the code for widgets and things like that myself. However, I could not get any of them to work (except for one which was too buggy to use), so I will be writing the code myself after all. Hopefully it will not take longer than a couple of weeks.

GUI
Posted by Magnus Johansson on Monday 16 October 2006 22:24

I have started looking into using CLX for creating a GUI, to better visualize the networks. I will spend this week at least trying to create functions to display and alter the network nodes and parameters.

Uniform
Posted by Magnus Johansson on Tuesday 10 October 2006 20:23

I have implemented creation of a uniform network with the number of nodes and link weight value as parameters. Tomorrow I will verify stability of uniform networks and do some other work as well.

Status update
Posted by Magnus Johansson on Thursday 05 October 2006 18:11

I had another meeting with my supervisor today, and the basic functionality of my system is now considered stable. I was given a nice list of subgoals for the implementation part, and will start working on them next week. That is all for this week.

Documentation
Posted by Magnus Johansson on Wednesday 04 October 2006 20:12

I have begun documenting the test networks in the report, and will continue doing that tomorrow as well. I am going away this weekend so I will not get any work done on Friday, but will post an update tomorrow.

New month
Posted by Magnus Johansson on Monday 02 October 2006 23:11

October is here and things are looking bright again. Last week was not a productive one, since things did not work the way I wanted them to, so I lost some motivation. But I went back to the drawing board and started thinking some more about the problem, and I came up with a solution that I have implemented and tested today, beginning again with the smallest network of three nodes. The thing I had done wrong involved the resetting of nodes after they had fired, so now that part is working as intended, and I can now start documenting the tests I run on the two small example networks I have created. I will also try to update this page more often than I did last week, when I did not really have anything new to report.

Error: does not compute
Posted by Magnus Johansson on Wednesday 27 September 2006 18:46

I have spent most of the day adding error-handling to some calculations, since I got underflow errors while experimenting with the weights. Hopefully I can get some good results tomorrow that will be worth documenting.

Weight issue
Posted by Magnus Johansson on Monday 25 September 2006 19:10

I have begun experimenting with the weights and the parameters of the network. After getting a loop (the same node firing all the time), I realized that I have forgotten to add a random value to each calculated node. I will implement that code tomorrow and also continue with testing weight values and parameters.

End-of-the-week update
Posted by Magnus Johansson on Friday 22 September 2006 17:22

Yesterday I had another meeting with my supervisor, and it looks like I am making good progress. I have added a function that checks if the activity level of a node is above a threshold value, and prints the node label if that is the case. Next week I will experiment with the weights in my example network and document the results in my report.

Progress update
Posted by Magnus Johansson on Wednesday 20 September 2006 17:47

The UI is now done, and the neural network functions as well. I have added a new structure for the neural network itself instead of having it as a hash table. This means that the nodes, along with network parameters, are now encapsulated within this structure. I have also created a network with seven nodes, and I have run some tests on this network yielding results that look OK. I am going to set up a meeting with my supervisor so he can have a look as well.

Short update
Posted by Magnus Johansson on Tuesday 19 September 2006 20:03

I am done connecting the UI to the neural network functions, and tomorrow I will create a slightly larger network to test.

User friendly
Posted by Magnus Johansson on Monday 18 September 2006 20:42

I have now converted all functions to using hash tables instead of lists where needed. I have also done quite a bit on a text user interface, which will facilitate testing and demonstration. Tomorrow I will continue with the UI and connect it to the functions that I have done so far.

Weekend
Posted by Magnus Johansson on Friday 15 September 2006 17:15

Today I added a function for calculating the attention level, beta, of a node. I have also changed the neural network type from a list to a hash table. This means changing just about every function I have written so far, so I still have a bit left on that. Work on the project will continue on Monday.

Weekly meeting
Posted by Magnus Johansson on Thursday 14 September 2006 20:17

I had another meeting with my supervisor today, and showed my work so far. I received some good feedback and also a reading tip, so I went to the library and borrowed "Introduction to the theory of neural computation" by Hertz, Krogh and Palmer. I have not done that much coding today, so I will not give a status report on that until tomorrow.

Another day of coding
Posted by Magnus Johansson on Wednesday 13 September 2006 21:33

The activation level for every node in the network can now be calculated, and I have started on a function that lets you "touch" a node so it will get an activation level above the threshold. The function will then print out any nodes that gets activated as the activation spreads through the network.

Coding: day 2
Posted by Magnus Johansson on Tuesday 12 September 2006 22:18

Today I did not get everything done that I stated yesterday. I have set up the links and weights (including bias) for the three nodes in the network. I have made a print function for the node structure so that it is easier to see the values of the nodes. Finally, I have made a function to calculate the activity level of a node. Tomorrow I will continue and do the activity level calculation for the whole network, and with a bit of luck I might be able to test the network. I will make no promises though. I am learning Lisp as I go, so things take a bit longer than estimated.

Coding starts
Posted by Magnus Johansson on Monday 11 September 2006 22:33

I have started writing code for a simple recurrent network. In the current state I have hardcoded a small example with three nodes, and I have also created code for connecting these nodes and setting the weights on the links. Tomorrow I will implement the algorithm for calculating activation levels, and see if I can get my small network to work.

Specification
Posted by Magnus Johansson on Friday 08 September 2006 07:09

I am now finished with the specification, it can be found here (PDF).

First status report
Posted by Magnus Johansson on Wednesday 30 August 2006 20:58

Today I had a meeting with my supervisor. We went through what I should start with in the project and what other parts that need to be done. I have also gotten a bit further in the Lisp Primer. I finished the chapter about recursion, so I still have a bit to go, but I am now familiar with the syntax and some functions.

Tomorrow I will start writing the specification, and if there is time I will continue learning Lisp.

First post
Posted by Magnus Johansson on Sunday 27 August 2006 20:30

I've put up this temporary page for my MT, so I can post some updates while I work on a new version of my website.

border_bottom