AIML - изменение свойств бота

Я нашел bot.aiml файл здесь, и в нем используются такие вещи, как <bot name="genus"/>. Я предполагаю, что это работает аналогично чему-то вроде <get name="name"/>, который получает имя клиента. Итак, как мне установить такие свойства, как genus для бота, чтобы я мог получить его таким образом?


person Jacob Garby    schedule 04.10.2016    source источник


Ответы (2)


Предположим, бот спрашивает ваше имя, и когда вы говорите «МОЕ ИМЯ - ДЖЕЙКОБ», вы хотите, чтобы бот сказал: «Я ПОМНЮ, ЧТО ВАШЕ ИМЯ - ДЖЕЙКОБ», и установил значение переменной «clientname» на «ДЖЕЙКОБ».

Добавьте эти строки в свой файл AIML:

<category>
    <pattern>MY NAME IS *</pattern>
    <template>I will remember that your name is </star><think><set name="clientname"></star></set></template>
</category>

В этом случае тег </star> представляет все, что вы вводите вместо * (в данном случае JACOB).

person Sanket B    schedule 09.03.2017

Я думаю, что исходный вопрос касается свойств бота, а не свойств пользователя.

В AIML v1 (и v2) свойства бота извлекаются с использованием <bot name="name"/> (например) для получения имени бота. Свойства пользователя извлекаются с помощью <get name="name"/> и обновляются с помощью <set name="name">Fred</set> (например). Я не думаю, что стандартный AIML имеет какие-либо средства для обновления свойств бота после его загрузки.

person Ubercoder    schedule 04.10.2017
comment
как установить имя бота? Обычный способ установки переменной с помощью set не работает. - person arqam; 05.09.2018
comment
Предполагается, что должен быть «запускающий» файл, определяющий все свойства бота. Эти свойства определяются при загрузке категорий и не могут быть изменены после загрузки (во всяком случае, не в стандартном AIML). - person Ubercoder; 05.09.2018
comment
Но я не смог найти ни одного ресурса, который рассказывал бы, как этот файл запуска создается и используется. Я опубликовал вопрос о stackoverflow для этой проблемы: stackoverflow.com / questions / 52182049 / - person arqam; 05.09.2018
comment
К сожалению, я не знаком с тем, как определяется файл запуска, я думаю, что это зависит от типа интерпретатора. Но где-то будет файл с названием что-то вроде setup.txt или подобное. - person Ubercoder; 05.09.2018
comment
Это один из самых известных программных кодов в Python: github.com/datenhahn/python-aiml-chatbot Не могли бы вы взглянуть, так как я не нашел здесь ничего. - person arqam; 05.09.2018