27 Mayıs 2009 Çarşamba

How to develop an expert system

I am developing an expert system for a homework project. It is not a serious project, just a warm up :)

1.) download esb4 from http://www.esbuilder.com/esb4.zip (freeware) and set up.
2.) download javaESB v1 from http://www.esbuilder.com/JavaESB-v1.zip (freeware, but v2 is commercial)

esb4 includes a question editor, a knowledge acquisition and a user interface module. ( http://www.esbuilder.com/standard_esb.htm )

javaESB v1 is for web deployment, it uses the question files produced with esb4 through an applet. ( http://www.esbuilder.com/internet_esb.htm )

I hope to develop a decision supporting system about my domain, balistics.. The system will ask the user some questions about the domain and direct him/her according to the answers.

3.) Developing the program ->
- Enter the questions to the system with the ESB Question Editor. Assign importance of the questions and specify their dependency with each other. Save the .qst file which includes the questions. The interface is user friendly.

- Populate the knowledge base with ESB Knowledge Acquisition. This is accomplished by adding records to the system. At the end of a path of question, add the result. It may be an html file etc. When the user answers questions, it will get the most matching results (records saved with this program). Save the .dat file which includes the records.

- Examine the program with ESB User Interface. This is what the end user sees, a simulation of the program.

4.) JavaESB Instructions.doc document under JavaESB-v1 (downloaded at step 2) explains how to use the given applet. The document is pretty clear. Give the.qst and .dat files (prepared in the previous step )as QFile and DatFile parameters to the applet. Unfortunately the addon applet depends on crashed :( So, i tested my system with ESB User Interface module..

19 Mayıs 2009 Salı

Wolfram Alpha

At last Wolfram Alpha has arrived! http://www.wolframalpha.com/
I want to talk about my first impressions about the computational search engine..
First of all, result retrival rate is very good. Actually, in an interview (i don't remember which one ), Stephen Wolfram has said that they are experienced about distributed computing because of their Mathematica experience. Before the release, the server farm has been expanded for public launch.. And so, the high speed is the reward..
Wolfram Alpha is also capable of computing mathematical expressions, it treats like a calculator.. I know technically, it is of no value. But it is about convincing people to come again!
In my opinion, Wolfram Alpha will not be used widespread unless the capabilities are improved. It is like a toy. Trying it with some data is very entertaining, but i think the supplied information is superficial and not guaranteed to be true. (One of collegues has tried the word Turkish http://www64.wolframalpha.com/input/?i=turkish and the writing system seems to be Arabic alpabet but in fact it is Latin). And i was expecting a better natural language interface. the search engine seems not to understand questions, it seems to think in terms of word pairs, not sentences.
But, i really liked the presentation of the knowledge when you search for something. After a while, you learn how the information will be presented to you and where to look for a specific info.
But overall, i can not see who will be the followers of the search engine.. It seems the supplied info (i mean the serach results) is too deep for normal internet users, too shallow for researchers.. So, i think the best type of user for the search engine is my 10-year-old brother, for his homeworks.. However, since their is no language support except for English currently, he could not use effectively..
However, despite all my critics i really think this is an innovative step towards a good natural language question answering system.. Here is one of them (i just discovered) http://start.csail.mit.edu/ (But its info seems limited, it knows the sea is blue, but it does not know the color of the ocean. I think ontologically, it should have estimated..) .
As i said above, these are just the first impressions.. I am watching :)

Edit on 11.45: I just found http://www.answerbus.com/index.shtml. I liked it :) Give it a try with some questions such as "When Kurt Cobain died?", "What are the neighbours of Turkey?", "Why is it important for European Community to get Turkey?" etc. Yeah, it is pretty slower than Wolfram, but it really retrieves good and somehow satisfying answers :)

Edit on 20/5/9 12.20 : Here is a good comparison. http://mashable.com/2009/05/19/wolfram-alpha-better-than-google/
After reading that article, i have realized that i should not see Wolfram Alpha as a question answering system, but i should treat it as a complex calculator.. That is where it locates itself.. a big himm (a turkish "i see!" mimic) :)

14 Mayıs 2009 Perşembe

A long term vision on the evolution of (semantic) web..

All the images in this post are copied from http://www.w3.org/2001/sw/UseCases/
They are about vision on the evolution of the semantic web and they helped me to better localize semantic web, so i want to keep them :)

This is the latest semantic web stack..

and some tools..

11 Mayıs 2009 Pazartesi

Welcome, Ubuntu

I have just transferred to Ubuntu and looking for good manuals & tutorials etc. to decrease my pain :(
I think the following may be helpful:


Hello all, this writing is about my first steps through Open ESB..
Very first step is installing GlassFish ESB v2 GA (Nov 2008, Stable & Released) which also includes netbeans 6.1 ide & glassfish v2. (https://open-esb.dev.java.net/Downloads.html)
Tutorial on http://www.netbeans.org/kb/61/soa/synchsample.html is very straightforward..

Now it is time to create a composite application from scratch.. The steps are:
  • create a sample web service to invoke from the following process. I used a random number generator..
  • create New Project/SOA/Bpel Module
  • create New Project/SOA/Composite Application
  • right click composite app and add created bpel module as new jbi module for that app.
  • create a Bpel process in Bpel module.
  • create a Wsdl (abstract) in Bpel module.
  • add PartnerLink to your bpel file with the type in the wsdl., the wsdl is automatically imported by the Bpel process.
  • add receive and reply elements to be pointed by that partnerlink.
  • copy the wsdl of the outer ws to bpel module. do not forget to copy all dependent files such as xsd s and update the location definitions in wsdl.
  • add wsdl import by file.
  • create a partnerlink for that wsdl in bpel file. this creates a wrapper wsdl for the outer wsdl and automatically adds them to the main wsdl of the process.
  • do not forget to replace the soap location as 9080 in the main wsdl of the process.
  • create a binding and a service for the main wsdl. otherwise, you can not test them via test node of the composite app.
  • deploy the composite app.
  • test the process via the test node in the composite app.
My next step will probably be this: http://blogs.sun.com/toxophily/entry/visual_web_pack_tip_using

Btw, i really liked OpenESB.. It provides a compact environment for web service development and orchestration.. Deployment and testing the process is very very easy. (Testing the deployed process in Eclipse Bpel + Apache ODE killed me before, but maybe it is my unskillfulness, so i say this out of the record :)) ) I liked the robustness and user friendliness of the Netbeans Bpel designer. Deleting elements from the process or moving the elements does not lead to problems..
That is all for now :)

Edit on 25.06.2009 11:12 : I supposed that full netbeans ide download does not provide me with open esb, but i was wrong (due to wrong download:( ) So, netbeans (with all option) from http://www.netbeans.org/downloads/start.html?platform=linux&lang=en&option=all&version=6.5.1 also supports open esb..

Edit on 26.06.2009 11.16: This is also a step-by-step tutorial http://www.netbeans.org/kb/61/soa/helloworldca.html