AIML 模式匹配 - 如何?
-
11-09-2019 - |
题
我在尝试了解 AIML 模式匹配的工作原理时遇到问题。有什么区别 _
和 *
?我应该如何使用它们来获得最佳匹配?
我有 这个文件 只是,但缺乏一些好的例子。
解决方案
除非一个字或多个字的图案匹配A *将匹配任何
一个_将匹配任何即使一个字或多个字的图案可以匹配
<pattern>BYE _</pattern>
没有意义,因为<pattern>BYE *</pattern>
相同的模式相匹配,但<pattern>BYE _</pattern>
将阴影<pattern>BYE * SEE YOU</pattern>
而BYE *不会。
使用_小心,例如_将匹配任何东西,你的机器人会给出同样的答案每次倍。
<pattern>_ A COUPLE OF WORDS *</pattern>
和<pattern>_ A COUPLE OF WORDS</pattern>
是使用_如果你想抓住每一个时间词,一对夫妇在里面或在句末。
其他提示
_ 和 * 都是通配符,区别在于它们在模式匹配中应该使用的位置。
_ should be used before the word or phrase you're matching on
* should be used after the word or phrase you're matching on.
看: AIML规范
为了更好地理解这一点,可能值得查看现有 AIML 机器人中的示例。
看: 下载, , 这个 Saluations.aml 有例子
不隶属于 StackOverflow