Expert systems can perfectly solve real-world problems, but such projects are more dangerous and fragile than traditional software development. Consider these risks when planning and designing expert systems, long before you write the first rule or hire a knowledge engineer.
Expert system is a knowledge-based computer system which emulates the decision-making ability of a human expert. “Emulates”, not “clones”. The primary role of an expert system is supporting the human or humans who are using them. The higher is the level of decisions it makes, the higher must be the level of the supervisor.
Not Breaking the Rules
One ability of human experts that expert systems lack is knowing when to break the rules. If you need more flexibility, you better make expert systems help people, not otherwise.
Artificial Intelligence always had some difficulties, but broken promises killed good initiatives faster than anything else. It’s especially important after getting first positive feedback for the very first draft of the system. Managing expectations is one of the top responsibilities of the project manager.
Almost all AI projects of the past ended badly because of financial problems. Both sides were guilty: sceptics managing budgets on one side, but there were also scientists on the other side, not excited about solving real-world problems. AI projects, while providing results faster than conventional programming, may still take comparable time and resources to make them work perfectly.
Lack of Support
Before planning your first expert system, you must get full support of all stakeholders, including managers, experts and end users. Lack of support from any of these groups means failure, no matter how hard you try. Unresolved conflicts and sceptics killed too many AI projects of the past to ignore.
Shooting for the Stars
You better start with solving small but important real-world problems to get budgets and support based on instant real-world results, not just on your promises. The only goal of the first expert system is to get full support for bigger and better future projects.
It’s fairly easy to release the very first version of an expert system that does something meaningful and even brings some real-world results. But to make it effective, you will need to go through trial-and-error of multiple iterations. If it’s not in your plan from the beginning, how will you justify these cycles to stakeholders?
You should use rule-based expert systems whenever there are no known algorithms for the task, or when such algorithms are too complex or computationally intensive. But, if there is a logical sequence of tasks, better use conventional software code or a process design tool because a rule-based system will inevitably degrade to it, anyway.
Theory Instead of Practice
Expert system design is a purely practical skill. It doesn’t matter how many books you read on the subject if you don’t make your hands dirty. Only with practice you will get an understanding of the subject. Yet another important skill is choosing the right tool for the job. It comes only with practice, too.
The last but not least is trying to solve problems that have got no solutions yet or when you can’t get expert help and feedback. Yes, there are some methods for solving such problems with expert systems, but you better not take this risk for your first project.
All the above risks are real, but expert systems are still a highly effective and exciting way to solve some real-world problems, especially in marketing and sales.
Join my blog to learn more: