Для чего используется тег Learn в AIML
Я разрабатываю небольшой движок AIML, и мне трудно понять, что <learn>
тег для.
Если я правильно понимаю, это просто указывает на внешний ресурс AIML, который может быть интегрирован в текущий набор правил?
3 ответа
Да, это правильно.
См.: Искусственный интеллект Язык Разметки 1.0.1 Спецификация
Тег обучения перезагружает указанные файлы AIML. Например, если разработчик изменяет некоторые файлы AIML во время выполнения chatterbot, тогда разработчик может сказать chatterbot перезагрузиться. Файлы будут перезагружены, только если у вас есть эта строка:
<category>
<pattern>RELOAD AIML FILES</pattern>
<template>
Okay.
<think>
<learn>./aiml/*.aiml</learn>
</think>
</template>
</category>
Бот может быть сделан для перезагрузки определенных файлов AIML, всех файлов или набора файлов AIML. Тег обучения обычно размещается внутри тегов Think.
<learn>
тег прошел некоторую эволюцию. Первоначально это означало "загрузить файл AIML". Позже Пандоработы использовали <learn>
тег, чтобы бот мог обучаться новым категориям на лету через разговор. <learn>
тег и его спутник <learnf>
были включены в спецификацию AIML 2.0. См. https://docs.google.com/document/d/1wNT25hJRyupcG51aO89UcQEiG-HkXRXusukADpFnDs4/pub