我在AIML中获得了以下代码:
<category>
<pattern>TOP * *</pattern>
<template><star index="1"/></template>
</category>
应该回馈一个单词列表的第一个元素。 我知道*应该捕获一个或多个单词。 * *?
的含义是什么?答案 0 :(得分:3)
如你所述*捕获一个或多个单词。第一颗星将捕获一个单词,其余的将被第二颗捕获。您的模板仅使用第一个星号,因此列表中的第一个元素。
答案 1 :(得分:1)
我知道你问这个问题已经有一段时间了。我有一个类似的问题,发现了XSPLITTER字(与其他任何字一样,但作为一个标志),你可以做什么(我现在正在工作)是过滤输入并添加匹配的XSPLITTER字你的翻译中的正则表达式。或者,更简单的是,在您的情况下,您可以编辑AIML文件并用以下内容替换您的模式:
<category>
<pattern>TOP * IN *</pattern>
<template><star index="1"/></template>
</category>
不确定它是否有意义,因为我不知道你想要什么,以及在哪里,但作为一个起点,它可以工作。