为什么 AIML 模式匹配不起作用?

Why AIML pattern matching is not working?

我正在开发一个语音机器人,它将获取用户语音输入并根据它执行任务。我正在使用 AIML 1.0。我面临的问题是模式匹配不起作用。

<category>
    <pattern>OPEN SAP</pattern>
    <template>
         <random>
           <li>Sure thing!</li>
           <li>Right away, sir!</li>
           <li>On it!</li>
        </random>
        <system>start saplogon </system>
    </template>
</category>

<category>
    <pattern>* OPEN SAP</pattern>
    <srai> OPEN SAP </srai>
</category>

<category>
    <pattern>* SAP *</pattern>
    <srai> OPEN SAP </srai>
</category>

当我说'Can you open SAP'时,它不识别。上面的代码有什么问题?

我已经复制并确定了您的问题。您忘记包含 <template> 标签。

以下是适合您的案例的正确 AIML:

<category>
    <pattern>OPEN SAP</pattern>
    <template>
        <random>
            <li>Sure thing!</li>
            <li>Right away, sir!</li>
            <li>On it!</li>
        </random>
        <system>start saplogon </system>
    </template>
</category>

<category>
    <pattern>* OPEN SAP</pattern>
    <template>
        <srai> OPEN SAP </srai>
    </template>
</category>

<category>
    <pattern>* SAP *</pattern>
    <template>
        <srai> OPEN SAP </srai>
    </template>
</category>

现在可以按预期工作了。
希望对你有帮助。