我正在开发语音机器人,它将获取用户语音输入并基于该语音机器人执行任务。我正在使用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>


当我说“您可以打开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>


现在它将按预期工作。
希望能帮助到你。

关于python - 为什么AIML模式匹配不起作用?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/55629898/

10-13 04:30