我正在尝试使用程序标签在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>
答案 0 :(得分:0)
探索program-ab并查看其标签的工作原理。我通过在程序ab代码中复制person标签的代码来创建标签。