Как обрабатывать несколько вопросов в одном высказывании?

Образец:

User: How old are you and where do you live ?
Alice: I'm 7 months old. I live on earth.

Моя попытка:

<category>
    <pattern>WHERE DO YOU LIVE</pattern>
    <template>I live on earth.</template>
</category>

<category>
    <pattern>HOW OLD ARE YOU</pattern>
    <template>I'm 7 months old.</template>
</category>

Приведенный выше код AIML может ответить только, если я задам два вопроса отдельно.

1 ответ

Покопавшись в синтаксисе AIML, я наконец нашел решение с <srai> тег:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE inline_dtd[
<!ENTITY nbsp "&#160;">
]>
<aiml version="2.0">
    <category>
        <pattern>WHERE DO YOU LIVE</pattern>
        <template>I live on earth.</template>
    </category>

    <category>
        <pattern>HOW OLD ARE YOU</pattern>
        <template>I'm 7 months old.</template>
    </category>

    <category>
        <pattern>HOW OLD ARE YOU AND WHERE DO YOU LIVE</pattern>
        <template>
            <srai>HOW OLD ARE YOU</srai>
            &nbsp;
            <srai>WHERE DO YOU LIVE</srai>
        </template>
    </category>
</aiml>

Вы также можете использовать подстановочные знаки, чтобы улучшить это. Теперь мы можем ответить на такие вопросы, как "Как дела и где Лондон?"

<category>
    <pattern>HOW _ AND WHERE *</pattern>
    <template>
        <srai>HOW <star/></srai>
        <srai>WHERE <star index="2"/></srai>
    </template>
</category>
Другие вопросы по тегам