假设我插入了一条规则:
(defrule matching
(fever ?fever)
(headache ?headache)
(disease (fever ?fever) (disname ?disname1) (headache ?headache))
=>
(assert (dis ?disname1)))
现在我想将?disname1的值提取到一个python变量中,以便在网页上显示它
烧瓶代码-
import clips
from flask import Flask , render_template ,request
app = Flask(__name__)
env = clips.Environment()
env.load("clips.clp")
env.reset()
@app.route('/')
def home():
return render_template('main.html')
@app.route('/result' , methods = ['POST', 'GET'])
def result():
if request.method == 'POST':
if request.form.get('fever'):
env.assert_string("(fever true) ")
if request.form.get('headache'):
env.assert_string("(headache true)")
rule = """ (defrule matching
(fever ?fever) (headache ?headache)
(disease (fever ?fever) (disname ?disname1) (headache ?headache))
=>
(assert ( dis ?disname1 )) """
env.build(rule)
return render_template('next.html')
env.run()
if __name__ == '__main__':
app.run(debug= True)
因此,在规则被构建(dis?disname)之后,作为一个事实被断言到剪辑中,所以现在,我想将?disname的值检索到python变量中,该值将给出一个人面临的疾病,以便我可以将其传递到html模板并显示它
您可以通过事实迭代器访问环境事实
根据事实是ordered还是unordered,您可以通过索引或键访问其内容
关于你在评论中的问题,这取决于你的申请。在您的情况下,我建议使用事实来表示决策结果。专家系统知识由事实表示,因此非常适合
您可以使用生成的知识进一步推理和激活更多规则,例如,这些规则可以对用户生病的事实做出反应并相应地采取措施
相关问题 更多 >
编程相关推荐