틱봇을 작성하기 위해 PyAiml 패키지를 사용하고 있습니다. 저는 A.L.I.C.E.의 모든 기본 목표 파일을 가지고 아주 기본적인 프로그램을 작성했습니다. 지금까지 > 태그 인 <을 제외한 모든 것이 올바르게 작동합니다. 세션 문제라고 생각했습니다. 그런 다음 세션을 수정했습니다. 그래도 <은 아직 문맥 대화를위한 > 태그가 없습니다. 누구나 어떻게 작동시키는 지 압니까? 아니면 PyAiml은 <에 버그가있어서 > 태그를 파싱합니까? 여기 pyaiml이 응답하지 않습니다 <that> 태그
내 봇 프로그램과 내가 함께 테스트입니다 아주 최소한의 AIML 파일입니다testbot.py에 관한
import aiml
import marshal
import os
from pprint import pprint
BOOTSTRAP_FILE = "/var/www/html/chatbot/std-startup.xml"
BOT_SESSION_PATH = "/var/www/html/chatbot/"
sess_id = 'user_id_moshfiqur'
while True:
k = aiml.Kernel()
k.bootstrap(learnFiles=BOOTSTRAP_FILE, commands="load aiml b")
if os.path.isfile(BOT_SESSION_PATH + sess_id + ".ses"):
sessionFile = file(BOT_SESSION_PATH + sess_id + ".ses", "rb")
sessionData = marshal.load(sessionFile)
sessionFile.close()
for pred, value in sessionData.items():
k.setPredicate(pred, value, sess_id)
response = k.respond(raw_input(">> "), sessionID=sess_id)
sessionData = k.getSessionData(sess_id)
pprint(sessionData)
sessionFile = file(BOT_SESSION_PATH + sess_id + ".ses", "wb")
marshal.dump(sessionData, sessionFile)
sessionFile.close()
pprint("<< " + response)
minimal.aiml
<aiml version="1.0.1" encoding="UTF-8">
<category>
<pattern>TEST1</pattern>
<template>testing one</template>
</category>
<category>
<pattern>TEST2</pattern>
<that>testing one</that>
<template>Success</template>
</category>
</aiml>
솔직히 귀하의 회신이 나에게 복잡한 보이는 :)하지만 내가 있기 때문에 아마 목표를 가지고 그렇게 많은 경험을하지 마십시오. 나는 당신의 대답을 이해하려고 노력할 것입니다. 내 원래의 솔루션에 관해서는, aiml이 아무런 문제가 없다고 말했듯이 왜 작동하지 않는지 알고 있습니까? 어떻게 한 일을하셨습니까? 위의 솔루션을 사용하여? – sparrow