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