我正在尝试在AIML文件中使用条件标记功能。 我正在使用python脚本,PyAIML和pb_py库。
在我当前的实现中,我设置了它,以便我可以在我的python脚本中动态设置谓词值,条件标记可以是“speech”或“text”:
<!-- 5 Legacy -->
<category><pattern>ARE YOU NAMED AFTER *</pattern><template><srai>legacyresponse</srai></template></category>
<category><pattern>WHO ARE YOU NAMED AFTER</pattern><template><srai>legacyresponse</srai></template></category>
<category><pattern>LEGACYRESPONSE</pattern>
<template>
<condition name = "inputtype">
<li value = "speech">Some response</li>
<li value = "text">Some text response.</li>
</condition>
<srai>promptuser</srai>
</template>
</category>
在我的AIML文件中,我有多个响应功能实现如下:
<category><pattern>_ YOUR DAD *</pattern><template><srai>parentsresponse</srai></template></category>
<category><pattern>PARENTS</pattern><template><srai>parentsresponse</srai></template></category>
<category><pattern>PARENTS</pattern><template><srai>parentsresponse</srai></template></category>
<category><pattern>PARENTSRESPONSE</pattern>
<template>
<random>
<li>Response 1</li>
<li>Response 2</li>
<li>Response 3</li>
</random>
<srai>promptuser</srai>
</template>
</category>
我想同时拥有多个响应和条件功能,例如,如果我传入'speech'条件,它会选择
<category><pattern>LEGACYRESPONSE</pattern>
<template>
<condition name = "inputtype">
<li value = "speech">Some Speech only response</li>
<li>Some speech or text response</li>
<li value = "text">Some text only response.</li>
</condition>
<srai>promptuser</srai>
</template>
</category>
任何帮助都会受到赞赏吗?
答案 0 :(得分:0)
我没有得到你的全部要求。但根据我的理解,你面临着条件标签的问题。
每当用户选择&#34;语音&#34;或&#34;文字&#34;请设置&#34; inputtype&#34;到相应的值。如果用户没有选择其中任何一个,那么&#34; inputtype&#34;是&#34;未知&#34;。
<condition name="inputtype">
<li value="speech">Your stuff </li>
<li value="text">Your stuff </li>
<li value="unknown">Your stuff </li>
</condition>
答案 1 :(得分:0)
您可以查看下面的示例AIML代码,并在您的文件中进行相应的更改。
<?xml version="1.0" encoding="UTF-8"?>
<aiml version="1.0">
<category>
<pattern>WHAT ABOUT MOVIES</pattern>
<template>
I love talking about movies too!
<think><set name="topic">MOVIE</set></think>
<br/>Did you like comedy movies?
</template>
</category>
<topic name="MOVIE">
<category>
<pattern>YES</pattern>
<that>* LIKE COMEDY *</that>
<template>You seems an interesting person!</template>
</category>
<category>
<pattern>NO</pattern>
<that>* LIKE COMEDY *</that>
<template>You seems a boring person!</template>
</category>
</topic>
</aiml>