Why AIML pattern matching is not working?

☆樱花仙子☆ 提交于 2019-12-02 13:21:31

问题


I'm working on a voice bot, which will get user voice input and executes task based on it. I'm using AIML 1.0. The problem I'm facing is that the pattern matching is not working.

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

When I say 'Can you open SAP', it is not recognizing. What is the problem in the above code?


回答1:


I have replicated and identified your issue. You forgot to include <template> tag.

Here is the correct AIML for your case:

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

It will work as expected now.
Hope it helps.



来源:https://stackoverflow.com/questions/55629898/why-aiml-pattern-matching-is-not-working

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!