我想知道如何处理单数和复数以匹配相同的模式。
例如:“获取声明”和“获取声明 s ”
<category>
<pattern>get Statement</pattern>
<template>Please get it from:</template>
</category>
<category>
<pattern>get Statements</pattern>
<template>Please get it from:</template>
</category>
我希望使用 SET标记显示相同的结果,不用编写两个单独的模式和不带。< / p>
请告诉我这个。
答案 0 :(得分:0)
如果您只坚持使用一种模式,则无法在标准AIML v1或v2中执行此操作。你可以得到的最接近的是一个模式GET *,它匹配两种情况,但这太普遍了,不太有用。 如果 您很乐意使用两种模式,您可以这样做:
<category>
<pattern>GET STATEMENT</pattern>
<template><srai>GET STATEMENTS</srai></template>
</category>
<category>
<pattern>GET STATEMENTS</pattern>
<template>Please get it from:</template>
</category>
您的自定义逻辑仅限于一个位置(复数GET STATEMENTS模式),而单数模式称为复数模式。
答案 1 :(得分:0)
现在已经很晚了,所以您可能已经找到了答案,但是在Program-Y中,您可以将其写为...
<pattern>get <regex pattern="STATEMEN[T|TS]" /></pattern>
<template>Please get it from:</template>