单元和复数的AIML模式

时间:2017-11-20 11:48:51

标签: aiml

我想知道如何处理单数和复数以匹配相同的模式。

例如:“获取声明”和“获取声明 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>

请告诉我这个。

2 个答案:

答案 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>