Как обрабатывать несколько вопросов в одном высказывании?
Образец:
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 " ">
]>
<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>
<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>