2016-02-21 1 views

ответ

0

В AIML версии 2 вы можете сделать это с помощью наборов или карт. В основном вы определяете набор, который является списком одного или нескольких членов, тогда вы можете ссылаться на него в шаблоне. Представьте, что вы имели набор с названиями стран мира, можно закодировать следующим образом:

<category> 
    <pattern>IS <set>countries</set> A COUNTRY</pattern> 
    <template> 
    Yes, <star/> is a country. 
    </template> 
</category> 

<category> 
    <pattern>IS * A COUNTRY</pattern> 
    <template> 
    I never heard of a country called <star/>. 
    </template> 
</category> 

Это работает, потому что набор более высокий приоритет, чем звезды в AIML версии 2. Таким образом, если Вы ввели Германии СТРАНА ответила бы «Да, Германия - страна». Но если вы написали IS EREWHON A COUNTRY, он ответил бы: «Я никогда не слышал о стране, названной Erewhon».

0

Нет, в настоящее время AIML поддерживает только один шаблон в категории. Тем не менее, вы можете определить несколько шаблонов и перенаправить их на оригинальные с помощью тега 'srai', например:

<category><pattern># USA # Capital #</pattern><template>Capital of USA is DC.</template></category> 

<category><pattern># Capital # USA #</pattern><template><srai># USA # Capital #</srai></template></category> 
Смежные вопросы