添加'!'后,我无法找到解决方法在它的中频
<category>
<pattern>test</pattern>
<template>testing stuff.</template>
</category>
<category>
<pattern>gg</pattern>
<that> testing stuff </that>
<template>works</template>
</category>
上面的代码工作得很好,但是当你把它改成:
<category>
<pattern>test</pattern>
<template>testing! stuff.</template>
</category>
<category>
<pattern>gg</pattern>
<that> testing stuff </that>
<template>works</template>
</category>
它停止工作。
如何让第二段代码工作呢?机器人说什么包括这个'!'在它的中间
编辑:
我通过以下方式找到了解决方法:
<category>
<pattern>test</pattern>
<template>testing! stuff.</template>
</category>
<category>
<pattern>gg</pattern>
<that> stuff </that>
<template>works</template>
</category>
它起作用,因为在属性文件中它被配置为看到'!'作为一个分线器,但似乎有点无意......有没有正确的方法来处理这个问题?
答案 0 :(得分:0)
这是AIML <that>
标记的工作方式。如果机器人的最后一个响应由多个句子组成,则该标签仅匹配机器人的最后一个句子。完全停止和感叹号是句子终止符,因此<that>STUFF</that>
的作用原因是因为你的机器人的最后一个回答是两句话(测试!和东西。 )。检查匹配时会删除标点符号,因此&#39; stuff&#39;匹配。
https://pandorabots.com/docs/aiml-reference/#that
对<that>
有一个很好的解释