建置網頁介面

建置簡單的網頁介面

收集單項問題的回答,網頁介面的設計較為簡單

  1. 只有一單項問題的情形

  2. BServlet.java 可用以處理這類問題, 但限於 Unordered Fact:

  3. CServlet.java 可用以處理 Ordered Fact:
      Demos:
    1. Count points for a card hand (html file : count.htm)
    2. Parse a simple sentence (html file : parse.htm)
    3. A computer "Psychiatrist" (html file : eliza.htm)
    4. Count points for a card hand
      (jess file : counting0.clp, counting2.clp)

連續收集單項問題的回答

建置一般的網頁介面

經由單一網頁收集多項問題的回答
  1. Demo: 參考諮詢專家系統 by 魏煜娟。
    此系統的 servlet QF.java 的設計 參考 JessTest2.java, 較為簡單。

  2. Demo: cholesterol系統
    此系統的 servlet cholesterol.java 的設計,需要處理 default values。

  3. Demo: WINEX: The WINe EXpert system
假如多項問題的回答,在規則中沒有設計發問次序的控制, 則在發問後使用(halt)暫停, 以免在單一網頁出現同時多項問題。 例如,
(defrule QUESTIONS::ask-a-question
   ?f <- (question (already-asked FALSE)
                   (the-question ?the-question)
                   (attribute ?the-attribute)
                   (valid-answers $?valid-answers))
   =>
   (modify ?f (already-asked TRUE))
   (read-from-web ?the-question ?the-attribute ?valid-answers)
   (halt)
   (set-current-module QUESTIONS)   ; to keep answer in the same module
 )

References