Artificial intelligence 在AIML中,我可以优先考虑模式匹配吗
在AIML中,如果有多个文件匹配同一模式,如何在一个文件中赋予匹配优先级?Alice站点对如何确定优先级有以下说明:Artificial intelligence 在AIML中,我可以优先考虑模式匹配吗,artificial-intelligence,aiml,Artificial Intelligence,Aiml,在AIML中,如果有多个文件匹配同一模式,如何在一个文件中赋予匹配优先级?Alice站点对如何确定优先级有以下说明: 在每个节点上,“\u1”具有第一优先级、原子字匹配第二优先级和“*”匹配最低优先级 模式不需要按字母顺序排列,只需按部分顺序排列,以便在任何单词之前加上“u”,在任何单词之后加上“*” 匹配是逐字进行的,而不是按类别进行的 该算法将输入模式、模式和模式组合成一个“路径”或句子,如:“模式” 该主题“并处理令牌和 就像平常的话。模式和主题模式可能包含 多个通配符 匹配算法是高度受限
<category>
<pattern>_ BAR</pattern>
<template>Which bar?</template>
</category>
<category>
<pattern>FOO BAR</pattern>
<template>Don't you mean FUBAR? That's an old military acronym, that roughly translates to "broken". I can't directly translate it because I don't curse.</template>
</category>
<category>
<pattern>* BAR</pattern>
<template>There are a lot of bars. There's a crow bar, the state bar, a bar for drinking, and foo bar.</template>
</category>
_酒吧
哪个酒吧?
富吧
你不是说福巴吗?这是一个古老的军事缩略语,大致翻译为“破碎”。我不能直接翻译,因为我不会诅咒。
*酒吧
有很多酒吧。有一家酒吧,一家州立酒吧,一家酒馆和一家美食酒吧。
\uu
优先匹配。简单的条
是第二优先级,而*
是最后一优先级。您应该使用AIML的通配符来控制模式匹配的优先级
AIML 1.0只有*和u匹配一个或多个单词。AIML 2.0添加^和#以匹配0个或更多单词
下面是AIML 2.0通配符的优先级等级,从最高匹配优先级到最低匹配优先级
有没有办法匹配一组单词中的任何一个?例如,你可以[跳|喊|跑],还是我必须为它们定义三个不同的规则?是的,使用标记。在您的示例中,将一个名为“moves.txt”(或其他)的文件放入bot的“sets”目录。你的模式是“你会动吗?”。在这里重用关键字“set”是不直观的,因为“set”现在在不同的上下文中意味着不同的东西。但他们就是这么做的。