создание AIML для чат-бота, чтобы задавать вопросы

Я создаю файл AIML для чат-бота Program-O и столкнулся с проблемой.

Я хочу последовательно задавать вопрос за вопросом. Причем вопросы должны быть в произвольном порядке. Это тест на оценку удовлетворенности для студентов, и я экспериментирую, чтобы развить его, используя чат-бота вместо традиционных методов.

Я имею в виду именно этот формат AIML.

sample.aiml

<category>
    <pattern>HELLO<bot/></pattern>
    <template>
        <random>
            <li><warm/>Hello there. Do you want to talk about your campus life?</li>
            <li><happy/>Hi. Do you want to talk about your campus life?</li>
            <li><happy/>Goodday. Do you want to talk about your campus life?</li>
        </random>
    </template>
</category>
<category>
    <pattern>*</pattern>
    <that>HELLO THERE. DO YOU WANT TO TALK ABOUT CAMPUS LIFE</that>
    <template>
        <random>
            <li>How were the classes?</li>
            <li>Does the teacher give a clear answer?</li>
            <li>Was the teacher come on time?</li>
        </random>
    </template>
</category>
<category>
    <pattern>*</pattern>
    <that>HOW WERE THE CLASSES</that>
    <template>
        <random>
            <li>Does the teacher give the full and clear explanation?</li>
            <li>What about the material used in the classes?</li>
            <li>What do you think about the courses content?</li>
        </random>
    </template>
</category>

Проблема в том, что подстановочный знак * (звездочка) не работает с этим предикатом. Есть ли другой способ построить AIML, отвечающий моим требованиям?


person Atrh    schedule 31.12.2012    source источник
comment
Что значит не работает? В чем именно твоя проблема?   -  person Hokascha    schedule 14.02.2013


Ответы (2)


Используйте подстановочный знак подчеркивания. В AIML есть два символа подстановки - * и _. Подстановочный знак подчеркивания имеет более высокий приоритет, чем звездочка.

person Devyn Collier Johnson    schedule 08.06.2013
comment
Теперь в aiml ver = 2.0 есть дополнительные подстановочные знаки, помогающие с этим. Один из них ^. Возможно, стоит проверить, если кто-нибудь задаст этот вопрос в будущем. - person Marlon van der Linde; 12.06.2019

string text = System.IO.File.ReadAllText(txt_filename.Text.ToString()).ToString();

        int length = (Int32)text.Length;
        txt_gbox.Text = length.ToString();

        LexicalAnalysis analyzer = new LexicalAnalysis();

        while (text !=)
        {
            text = text.Trim(' ', '\t');
            string token = analyzer.GetNextLexicalAtom(ref text);
            txt_gbox.Text = token;
        }

Я хочу показать этот токен в richtextbox, который является txt_gbox, но при остановке программы цикла while ....

person Sulman Madni    schedule 09.01.2017