知識工学(KE )とは、知識ベースシステムに関わるあらゆる側面を指します。
エキスパートシステムの初期の例の一つは、医療診断を行うためのアプリケーションであるMYCINでした。MYCINの例では、ドメインエキスパートは医師であり、表現される知識は彼らの診断に関する専門知識でした。
エキスパートシステムは、複雑な人間の意思決定を理解しようとする試みとして、人工知能研究所で最初に開発されました。これらの初期プロトタイプの良好な結果に基づき、この技術は1980年代に米国ビジネス界(そして後に世界中)に採用されました。エドワード・ファイゲンバウムが率いたスタンフォード大学のヒューリスティックプログラミングプロジェクトは、最初のエキスパートシステムの定義と開発において先駆的な役割を果たしました。
エキスパートシステムの黎明期には、ソフトウェア開発のための正式なプロセスはほとんど、あるいは全く存在しませんでした。研究者たちはドメインエキスパートと直接話し合い、プログラミングを開始し、アプリケーション自体と同時に必要なツール(推論エンジンなど)を開発することがよくありました。エキスパートシステムが学術的なプロトタイプから実用化されたビジネスシステムへと移行するにつれて、ソフトウェア構築プロセスに予測可能性と制御性をもたらすための方法論が必要であることが認識されるようになりました。そこで、主に2つのアプローチが試みられました。
初期のエキスパートシステムの多くは、アンダーセン・コンサルティングなどの大手コンサルティング会社やシステムインテグレーターによって開発されました。これらの企業は、すでに実績のある従来のウォーターフォール型開発手法(アンダーセンのMethod/1など)を全従業員に研修しており、顧客向けソフトウェアの開発にはほぼ常にこの手法が用いられていました。初期のエキスパートシステム開発における一つの傾向は、これらのウォーターフォール型開発手法をエキスパートシステム開発にそのまま適用することでした。
エキスパートシステムの開発に従来の手法を用いる際のもう一つの問題点は、エキスパートシステムが前例のない性質を持つため、詳細な分析や設計に加えて、あるいはそれらに代わる反復やプロトタイピングを特徴とする迅速なアプリケーション開発手法を最初に採用したアプリケーションの一つであったことである。1980年代には、このようなアプローチをサポートする従来のソフトウェア開発手法はほとんど存在しなかった。
エキスパートシステムを開発する際に従来の手法を用いる場合、最後に残る課題は知識獲得の必要性でした。知識獲得とは、専門家の知識を集め、それをルールやオントロジーの形で記録するプロセスを指します。知識獲得には、ほとんどのビジネス要件を収集するために用いられる従来の仕様策定プロセスとは異なる特別な要件が伴います。
これらの問題により、知識工学への2番目のアプローチ、すなわちエキスパートシステム構築のために特別に設計されたカスタム手法の開発が生まれました。[ 1 ]エキスパートシステムのために特別に設計されたこのような手法の中で、最初にして最も人気のあるものの1つが、ヨーロッパで開発された知識獲得および文書構造化(KADS)手法です。KADSはヨーロッパで大きな成功を収め、米国でも使用されました。[ 2 ]