知識情報処理特論

年度 2006
科目名 知識情報処理特論
教員名 余地 寛
授業概要 本授業は、知識システム構築のケーススタディを取り上げ、簡単な事例を実際にペーパーワークで構築してみる事を通じて、知能化に必要な要素技術を体系的に学んでいく。事例として法律エキスパートシステムを扱うが、法律の条文は「要件→効果」の形をとっており、論理プログラミングで表現することが比較的容易で、理解しやすい。論理学の基本を学び、導出原理、バックトラックなどの、論理プログラミングに必要な動作原理の理解のトレーニングの上に、システム構築を進める。さらに、類推、事例ベース推論、自然言語処理、e-learningなどの要素を付加し、他分野の知識システム構築の参考とする。
授業計画 講義で基礎的な知識を学習し、パソコン上でプログラムを作成する。言語は初歩からの習得で構わない。各院生のニーズに合わせ、初回提示の授業計画を変更することがある。言語はPrologとJavaを予定している。ソフトウェアはフリーウェアのものをダウンロードして使用する。
第1回 知識情報処理の研究の流れ:オリエンテーション
第2回 Prologの第一歩:処理系のダウンロードとインストール、基本例題
第3回 Prologにおけるバックトラックとユニフィケーション
第4回 カットオペレータとその活用
第5回 Java環境とJava入門:J2SDKのダウンロードとインストール、
Javaの典型的なプログラム
第6回 Javaによる文字列処理
第7回 Javaによるユニフィケーション
第8回 Javaによるバックトラック(深さ優先探索)
第9回 Javaによる推論システムの実現(後ろ向き推論)
第10回 Javaによる法律エキスパートシステムの構築(1)
第11回 Javaによる法律エキスパートシステムの構築(2)
第12回 まとめ:メタルールの明示化
評価方法 各自が作成するプログラム(各自が知識データを考えて入力するといった程度)と、研究レポート提出(各自の研究への応用の可能性)を総合的に評価する。出席点を重視する。
教科書
参考書
メッセージ 本授業では、Javaのプログラミングを扱いますが、プログラミングそのものには重点を置きません。これを機会に、Javaを学んでいただきたいということであって、Javaの初歩的な知識のみを扱い、特に、文字列処理に内容を限定します。また、Javaを必要としない方は、既に存在するプログラムについて、部分的に書き換えて、自分の思うようなプログラムに作り替えるということを目標とします。とりあえず、知識情報処理がどのようなものかを理解するために、プログラムの解説を丁寧に行い、それが煩雑に感じられるかもしれませんが、授業全体としては、データベースに必要なデータを入れ、既に存在するプログラムを用いて検索する、というものであって、特別な知識は一切前提としません。授業の重点を読み間違えないように注意してください。