我正在开发一个小型 AIML 引擎,但我很难理解<learn>
标签的用途。
如果我理解正确,它只是指向可以集成到当前规则集中的外部 AIML 资源?
对,那是正确的。
学习标签重新加载指定的 AIML 文件。例如,如果开发人员在执行聊天机器人时更改了一些 AIML 文件,则开发人员可以告诉聊天机器人重新加载。仅当您有此行时,才会重新加载文件:
<category>
<pattern>RELOAD AIML FILES</pattern>
<template>
Okay.
<think>
<learn>./aiml/*.aiml</learn>
</think>
</template>
</category>
可以使机器人重新加载特定的 AIML 文件、所有文件或一组 AIML 文件。学习标签通常放置在思考标签内。
<learn>
标签经历了一些演变。最初它的意思是“加载一个 AIML 文件”。后来 Pandorabots 使用了这个<learn>
标签,以便机器人可以通过对话在飞行中学习新的类别。该<learn>
标签及其伴侣<learnf>
已被纳入 AIML 2.0 规范。请参阅https://docs.google.com/document/d/1wNT25hJRyupcG51aO89UcQEiG-HkXRXusukADpFnDs4/pub