我的问题是我试图在<set>
标签中使用多个<pattern>
,但我的核心(在这种情况下,Pandorabots)并没有认识到我写的内容。我认为问题是模式标签中的多重设置标签。只有一个,它有效。
所以这里是 aiml 的片段:
<category>
<pattern>^ <set>components</set> ^ <set>desc_broken</set></pattern>
<template>Test answer</template>
</category>
相对设置:
components.set
[
["ENGINE"],
["FILTERS"],
["CARBURETORS"]
]
desc_broken.set
[
["BROKEN"]
]
我的目标是匹配“我的引擎已损坏”之类的字符串,或更一般的字符串:“某些内容可以使某些内容成为某种东西”
答案 0 :(得分:1)
documentation如果支持或不支持在<set>...</set>
内使用多个<pattern>...</pattern>
语句,则不会指定任何一种方式。
答案 1 :(得分:1)
您可以放置多个设置标签。以下是样本AIML:
<?xml version = "1.0" encoding = "UTF-8"?>
<aiml version = "1.0.1" encoding = "UTF-8">
<category>
<pattern>I WANT TO KNOW * AND *</pattern>
<template>
<think> <set name="topic"> <star index = "1"/></set></think>
<think> <set name="topic1"> <star index = "2"/></set></think>
Ok. Please Wait...
</template>
</category>
</aiml>
以下是获取这些主题并获得所需结果的Python代码:
bot = Kernel()
category= "Some text"
bot.respond(category)
bot.getPredicate("topic")
bot.getPredicate("topic1")
答案 2 :(得分:0)
如果您要问的话,我认为您不能在<set>
代码中添加<pattern>
代码。
答案 3 :(得分:0)
我尝试使用以下代码创建&#34; colors.txt &#34;和&#34; modify.txt &#34; &#34; 集&#34;下的文件文件夹中。
colors.txt有
<强>绿色强>
<强>红色强>
而且modify.txt有
<强>修改强>
更改强>
<category>
<pattern># <SET>colors</SET> <SET>modify</SET> #</pattern>
<template>Working on <star index = "2" /> color <star index = "3" /></template>
</category>
当我输入绿色修改
时输出为处理绿色修改