1

我的问题是我试图<set><pattern>标签中使用多个,但我的核心(在本例中为 Pandorabots)无法识别我写的内容。我认为问题是模式标签中的多个集合标签。只需一个,它就可以工作。

所以这是aiml的一部分:

<category>
    <pattern>^ <set>components</set> ^ <set>desc_broken</set></pattern>
    <template>Test answer</template>
</category>

和相对

组件.set

[
    ["ENGINE"],
    ["FILTERS"],
    ["CARBURETORS"]
]

desc_broken.set

[
    ["BROKEN"]
]

我的目标是匹配诸如“我的引擎坏了”之类的字符串,或者更一般地说:“ something CAR PART something ADJECTIVE something

4

4 回答 4

1

如果它支持或不支持<set>...</set><pattern>...</pattern>.

于 2017-02-14T21:16:24.340 回答
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")
于 2017-09-01T09:22:23.137 回答
0

我尝试通过在“ sets ”文件夹下创建“ colors.txt ”和“ modify.txt ”文件来使用下面的代码。

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>

当我将输入作为绿色修改时

输出为处理绿色修改

于 2017-11-15T10:16:18.267 回答
0

如果这是您所要求的,我认为您不能在<set>标签中添加标签。<pattern>

于 2017-09-06T14:46:14.327 回答