AIML - 主题 - 意外答案与 STAR (*) 不匹配

AIML - topic - unexpected answer does not match with STAR (*)

使用 AB.jar Google 参考 (alice) 机器人时:

当有这个简单的短脚本时:

<category><pattern>TOPIC 1</pattern>
<template>Topic 2 with current topic '<get name="topic"/>'.<think><set name="topic">topic2</set></think></template>
</category>

<topic name="TOPIC2">
<category><pattern>YES</pattern>
<template>Going to topic3-yes <think><set name="topic">topic3-yes</set></think></template>
</category></topic>

<topic name="TOPIC2">
<category><pattern>*</pattern>
<template>Going to topic3-rest on '<star/>' <think><set name="topic">topic3-rest</set></think></template>
</category></topic>

... 回答不是 'yes' 将不会导航到主题 3 '*' 模式。这是为什么?

这是对话。我用“// here”标记了意想不到的答案

Human : topic 1
Robot : Topic 2 with current topic 'unknown'.
Human : any
Robot : any is a name. // here -- expected to go to topic-3-rest

将这个“_”模式(而不是“*”模式)放在主题中可以回答问题。

感谢 Ubercoder:

元素优先于同一模式级别的其他模式。我不知道您使用的是 AIML v1 还是 v2,但从广义上讲,有 3 个级别的模式[但请参阅下面的注释]

Most important level = patterns including underscore wildcards (_)
Middle level = atomic patterns without any wildcards
Lowest level = patterns including star wildcards (*)