【问题标题】:AIML pattern matching - howto?AIML 模式匹配 - 如何?
【发布时间】:2010-12-22 18:09:30
【问题描述】:

我在尝试了解 AIML 模式匹配的工作原理时遇到了问题。 _* 有什么区别?以及我应该如何使用它们来获得最佳匹配?

我只有this document,但缺少一些好的例子。

【问题讨论】:

    标签: artificial-intelligence pattern-matching neural-network aiml


    【解决方案1】:

    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> 是使用 _ 的正确方法,如果您想在每次 A COUPLE OF WORDS 出现在句子内部或句子末尾时都可以捕捉到。

    【讨论】:

      【解决方案2】:

      _ 和 * 都是通配符,不同之处在于它们在模式匹配中的使用位置。

      _ 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 spec

      为了更好地理解这一点,可能值得查看现有 AIML 机器人中的示例。

      见:Downloads,这个Saluations.aiml有例子

      【讨论】:

      • 那么这是否意味着'HELLO _'是一个无效的表达式?对吗?
      • 这是我在alicebot.org/aiml/aaa/Salutations.aiml发现的,这两种模式的本质区别是什么? * BYE_ BYE 顺便说一句,谢谢你的回答:)
      • 我会说,根据 HELLO _ 无效的规范是的。这对我来说是一个非常糟糕的例子。我不认为 * BYE 会被评估。 * BYE 在我看来是无效的,应该是 BYE *.
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-12-03
      • 1970-01-01
      • 2017-06-10
      • 1970-01-01
      • 1970-01-01
      • 2019-11-05
      • 1970-01-01
      相关资源
      最近更新 更多