人工知能-エキスパートシステム

エキスパートシステム(ES)は、AIの著名な研究領域の1つです。スタンフォード大学コンピュータサイエンス学部の研究者によって紹介されました。

エキスパートシステムとは何ですか?

エキスパートシステムは、特定のドメインの複雑な問題を、並外れた人間の知性と専門知識のレベルで解決するために開発されたコンピュータアプリケーションです。

エキスパートシステムの特徴

  • ハイパフォーマンス
  • Understandable
  • Reliable
  • 応答性が高い

エキスパートシステムの機能

エキスパートシステムは次のことができます-

  • Advising
  • 意思決定における人間の指導と支援
  • Demonstrating
  • ソリューションの導出
  • Diagnosing
  • Explaining
  • 入力の解釈
  • 結果の予測
  • 結論を正当化する
  • 問題に対する代替オプションの提案

彼らはすることができません-

  • 人間の意思決定者の交代
  • 人間の能力を持っている
  • 不十分な知識ベースに対して正確な出力を生成する
  • 自分の知識を磨く

エキスパートシステムのコンポーネント

ESのコンポーネントは次のとおりです。

  • 知識ベース
  • 推論エンジン
  • ユーザーインターフェース

それらを1つずつ簡単に見てみましょう-

知識ベース

ドメイン固有の高品質な知識が含まれています。

知性を発揮するには知識が必要です。ESの成功は、主に非常に正確で正確な知識の収集に依存します。

知識とは何ですか?

データは事実の収集です。情報は、タスクドメインに関するデータと事実として編成されています。Data, information, そして past experience 一緒に組み合わされたものは知識と呼ばれます。

ナレッジベースのコンポーネント

ESの知識ベースは、事実とヒューリスティックの両方の知識のストアです。

  • Factual Knowledge −これは、タスクドメインの知識エンジニアや学者によって広く受け入れられている情報です。

  • Heuristic Knowledge −それは、練習、正確な判断、評価の能力、そして推測についてです。

知識表現

これは、知識ベースで知識を整理および形式化するために使用される方法です。これは、IF-THEN-ELSEルールの形式です。

知識の獲得

エキスパートシステムの成功は、知識ベースに保存されている情報の品質、完全性、および正確さに大きく依存します。

知識ベースは、さまざまな専門家、学者、および Knowledge Engineers。知識エンジニアは、共感、迅速な学習、およびケース分析のスキルを備えた人物です。

彼は、対象分野の専門家から、職場での記録、インタビュー、観察などによって情報を取得します。次に、干渉マシンで使用されるように、情報を意味のある方法でIF-THEN-ELSEルールの形式で分類および整理します。知識エンジニアは、ESの開発も監視します。

推論エンジン

推論エンジンによる効率的な手順とルールの使用は、正確で完璧なソリューションを差し引くために不可欠です。

知識ベースのESの場合、推論エンジンは知識ベースから知識を取得して操作し、特定のソリューションに到達します。

ルールベースのESの場合、それは−

  • 以前のルール適用から取得したファクトにルールを繰り返し適用します。

  • 必要に応じて、ナレッジベースに新しいナレッジを追加します。

  • 特定のケースに複数のルールが適用される場合のルールの競合を解決します。

解決策を推奨するために、推論エンジンは次の戦略を使用します-

  • 前向き連鎖
  • 後向き連鎖

前向き連鎖

質問に答えるのはエキスパートシステムの戦略です、 “What can happen next?”

ここで、推論エンジンは条件と派生のチェーンをたどり、最終的に結果を推測します。それはすべての事実と規則を考慮し、解決策を結論付ける前にそれらを分類します。

この戦略は、結論、結果、または効果に取り組むために続きます。たとえば、金利の変化の影響としての株式市場の状況の予測。

後向き連鎖

この戦略では、エキスパートシステムが質問に対する答えを見つけます。 “Why this happened?”

すでに起こったことに基づいて、推論エンジンは、この結果に対して過去に起こった可能性のある条件を見つけようとします。この戦略は、原因または理由を見つけるために実行されます。たとえば、人間の血液がんの診断。

ユーザーインターフェース

ユーザーインターフェイスは、ESのユーザーとES自体の間の相互作用を提供します。タスクドメインに精通しているユーザーが使用できるように、一般的に自然言語処理です。ESのユーザーは、必ずしも人工知能の専門家である必要はありません。

ESがどのようにして特定の推奨事項に到達したかを説明します。説明は次の形式で表示される場合があります-

  • 画面に表示される自然言語。
  • 自然言語での口頭のナレーション。
  • 画面に表示されるルール番号のリスト。

ユーザーインターフェイスにより、控除の信頼性を簡単に追跡できます。

効率的なESユーザーインターフェイスの要件

  • これは、ユーザーが可能な限り短い方法で目標を達成するのに役立つはずです。

  • これは、ユーザーの既存または望ましい作業慣行に合わせて機能するように設計する必要があります。

  • そのテクノロジーは、ユーザーの要件に適応できる必要があります。逆ではありません。

  • ユーザー入力を効率的に利用する必要があります。

エキスパートシステムの制限

簡単で完全なソリューションを提供できるテクノロジーはありません。大規模なシステムはコストがかかり、かなりの開発時間とコンピューターリソースを必要とします。ESには、次のような制限があります。

  • テクノロジーの限界
  • 知識の習得が難しい
  • ESの維持が難しい
  • 高い開発コスト

エキスパートシステムの応用

次の表は、ESを適用できる場所を示しています。

応用 説明
デザインドメイン カメラレンズデザイン、自動車デザイン。
医療分野 観察されたデータから病気の原因を推測する診断システム、人間の医療活動を実施します。
監視システム 観測されたシステムまたは長い石油パイプラインでの漏れ監視などの規定された動作とデータを継続的に比較します。
プロセス制御システム 監視に基づいて物理プロセスを制御します。
ナレッジドメイン 車両、コンピューターの故障を見つける。
ファイナンス/コマース 詐欺の可能性、疑わしい取引、株式市場の取引、航空会社のスケジューリング、貨物のスケジューリングの検出。

エキスパートシステム技術

利用可能なESテクノロジーにはいくつかのレベルがあります。エキスパートシステム技術には以下が含まれます-

  • Expert System Development Environment− ES開発環境には、ハードウェアとツールが含まれます。彼らは-

    • ワークステーション、ミニコンピューター、メインフレーム。

    • 次のような高レベルのシンボリックプログラミング言語 LISt Programming(LISP)と PROグラメーションen LOGique(PROLOG)。

    • 大規模なデータベース。

  • Tools −エキスパートシステムの開発に伴う労力とコストを大幅に削減します。

    • マルチウィンドウを備えた強力なエディターとデバッグツール。

    • それらはラピッドプロトタイピングを提供します

    • モデル、知識表現、および推論設計の定義を組み込みます。

  • Shells−シェルは、知識ベースのないエキスパートシステムに他なりません。シェルは、開発者に知識獲得、推論エンジン、ユーザーインターフェイス、および説明機能を提供します。たとえば、いくつかのシェルが以下に示されています-

    • エキスパートシステムを作成するための完全に開発されたJavaAPIを提供するJavaエキスパートシステムシェル(JESS)。

    • Vidwanは、1993年にムンバイのNational Center for Software Technologyで開発されたシェルです。これにより、IF-THENルールの形式での知識のエンコードが可能になります。

エキスパートシステムの開発:一般的なステップ

ES開発のプロセスは反復的です。ESを開発する手順は次のとおりです。

問題のあるドメインを特定する

  • 問題は、それを解決するエキスパートシステムに適している必要があります。
  • ESプロジェクトのタスクドメインの専門家を見つけます。
  • システムの費用対効果を確立します。

システムの設計

  • ESテクノロジーを特定する

  • 他のシステムやデータベースとの統合の程度を知り、確立します。

  • 概念がドメイン知識を最もよく表すことができる方法を理解してください。

プロトタイプを開発する

ナレッジベースから:ナレッジエンジニアは次のことを行います-

  • 専門家からドメイン知識を取得します。
  • If-THEN-ELSEルールの形式で表現します。

プロトタイプのテストと改良

  • 知識エンジニアは、サンプルケースを使用して、パフォーマンスの欠陥についてプロトタイプをテストします。

  • エンドユーザーはESのプロトタイプをテストします。

ESを開発して完成させる

  • ESと、エンドユーザー、データベース、その他の情報システムなど、環境のすべての要素との相互作用をテストして確認します。

  • ESプロジェクトを適切に文書化します。

  • ESを使用するようにユーザーをトレーニングします。

システムの保守

  • 定期的なレビューと更新により、ナレッジベースを最新の状態に保ちます。

  • 他の情報システムが進化するにつれて、それらのシステムとの新しいインターフェースに対応します。

エキスパートシステムの利点

  • Availability −ソフトウェアの大量生産により、容易に入手できます。

  • Less Production Cost−製造コストはリーズナブルです。これにより、手頃な価格になります。

  • Speed−彼らは素晴らしいスピードを提供します。それらは、個人が投入する作業の量を減らします。

  • Less Error Rate −ヒューマンエラーに比べてエラー率が低い。

  • Reducing Risk −人体に危険な環境で働くことができます。

  • Steady response −動き、緊張、倦怠感を感じることなく、着実に機能します。