AIMLProcessorExtension:标签在aiml中不起作用

时间:2017-04-18 04:06:30

标签: java aiml

我正在尝试使用程序标签在aiml中创建自己的标记。标签不起作用。有什么问题?

Java代码:

public class AIMLExtension implements AIMLProcessorExtension{
  public Set<String> extensionTagNames = Utilities.stringSet("check");
  @Override
  public Set<String> extensionTagSet() {
    // TODO Auto-generated method stub
    return extensionTagNames;
  }

  private String contactId(Node node, ParseState ps) {
    return "Success :P";
  }

  @Override
  public String recursEval(Node node, ParseState ps) {
    // TODO Auto-generated method stub
    try {
        String nodeName = node.getNodeName();
        if (nodeName.equals("check"))
            return contactId(node, ps);
        else return (AIMLProcessor.genericXML(node, ps));
    } catch (Exception ex) {
        ex.printStackTrace();
        return "";
    }
  }
}

AIML代码:我收到I have no answer以下代码。

<category>
  <pattern>CHECKING EXTENSION</pattern>
  <template>RESTCALL <check> </template>
</category>

AIML代码:我为以下代码获取了RESTCALL <check/>

<category>
  <pattern>CHECKING EXTENSION</pattern>
  <template>RESTCALL <check/> </template>
</category>

1 个答案:

答案 0 :(得分:0)

探索program-ab并查看其标签的工作原理。我通过在程序ab代码中复制person标签的代码来创建标签。