For the first time in many years I have just one project that I must work on.
My only assignement, excepting the bird detection software from work (just ignore it :D ), is the bachelor thesis. I have two more weeks to finish the project and the documentation.
Until now I always had two, three or even four projects to finish (ex: Imagine Cup + 2-3 school project, blog article(s) + ASP.NET project + project management assignment, etc.). Now there is just *ONE* (ONE!!) and I really enjoy writing about expert systems (Rete Algorithm) and applications running on Windows Azure. Oh, by the way my thesis is called “Expert Systems – Rete Algorithm” and is about the Rete forward chaining algorithm and it’s implementation as a scalable service on Microsoft’s cloud computing platform.
I think will publish the final documentation (written in Romanian) here in order to help others understand Rete Algorithm and Software as a Service. By the way, do you know what an expert system is? :)
Let’s assume that we have three rules:
- IF is cloudy THEN it will rain
- IF is sunny THEN it will not rain
- IF it will rain THEN I need an umbrella
These three rules are called the Knowledge Base (KB) and are stored in the system. If I say “I cloudy today” the system will use the rules and infere that I need an umbrella. So an expert system is capable of taking decision based on some rules and some facts. However, based on the implementation, it can be a naive form of artificial intelligence because it cannot distinct between correct and incorrect rules, is highly dependent on the correctness of the knowledge base and is acting on the principle of “garbage in, garbage out”.
So an expert system has a knowledge base and given a set of facts can infere other facts (can take decisions). Will write more about this in the documentation.
Do you think expert system will be used in the future or the future belong to something else?
PS: Oh f***, I have to write part three from “Software + Services: A Modern Approach” article.
Good luck at your bachelor thesis, I’m waiting to read it ;)
Mhh.. Well, in my opinion I think the future will belong to Robotics, VR or AI. And an expert system may be considered part of the AI universe, or not? So yes, they will be used, mostly by robots, to develeop a “human-like” mind.
This is the first time I hear about the Expert system. Since you know much more :), do you think that having a proper knowledge base, it could be use for establishing the semantics of a text? I mean, if I have the text “I read some book written by X and I really enjoyed it, it was a great book. The previous ones I read from X were not so good “. Could this expert system establish if my sentence is a positive or negative feedback? And to go further, is there any way to establish how good or bad is this feedback (for example, on a scale from 1 to 10). Maybe what I ask is stupid, but I thought I could give it a try and ask :).
Hello Diana,
An expert system cannot analyze an unrestricted language (Type-0 language), like the spoken language. For this, you need to combine the expert system with some sort of natural language processing.
However, you could create a Type 3 language (a language that can be parsed with regular expressions) you could use the expert system to tokenize and interpret it. The condition (the IF part) will search for a specific token like “GOOD”, “BAD” or “THE BEST” and based on this criteria will rate the book. Ie: GOOD = BookRating +1; BAD = BookRating -1; THE BEST = BookRating + 3.
Each expert system can have metadata associated with facts. A fact could be an author and could have an associated rating.
Example of system:
Fact structure:
– AUTH_FACT: author name [rating]
– RATING_FACT: author name, rating (possible values THE WORST, BAD, GOOD, THE BEST)
Rules: CONTAINS ‘THE WORST’ CONTAINS ‘THE BEST’
1. IF fact IS RATING_FACT AND
THEN AUTHOR(fact)[rating] -= 3
2. IF fact IS RATING_FACT AND
THEN AUTHOR(fact)[rating] += 3
3. … similar for GOOD
4. … similar for BAD
* AUTHOR(fact) extracts the author associated with the fact.
Hi Victor,
Thank you very much for your reply. I will look more into this, and if I need more help maybe I will contact you :).