Для чего используется тег Learn в AIML

Я разрабатываю небольшой движок AIML, и мне трудно понять, что <learn> тег для.

Если я правильно понимаю, это просто указывает на внешний ресурс AIML, который может быть интегрирован в текущий набор правил?

3 ответа

Решение

Тег обучения перезагружает указанные файлы 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

Другие вопросы по тегам