如何在 AIML 中匹配两个关键字?

How to match two keywords in AIML?

下面的AIML代码用于关键字检测,但是它只能检测一个关键字,因为这里是FAMILY关键字如何我可以使用这种模式来检测句子中的两个关键字,例如包含 FAMILYFATHER 关键字的句子吗?

<category>
  <pattern> FAMILY </pattern>
  <template>
  Family is an important institution.
  </template>
 </category>

<category>
  <pattern> _ FAMILY </pattern>
  <template>
  <srai> FAMILY </srai>
  </template>
 </category>

 <category>
  <pattern> FAMILY * </pattern>
  <template>
  <srai> FAMILY </srai>
  </template>
 </category>

 <category>
  <pattern> _ FAMILY * </pattern>
  <template>
  <srai> FAMILY </srai>
  </template>
 </category>

为什么不简单:

  <pattern> FAMILY * FATHER <pattern>

您可以简单地使用:

<category>
  <pattern>* FAMILY *</pattern>
  <template>
  Family is an important institution.
  </template>
 </category>

它适用于以下情况:

  1. 家庭
  2. 一些文字和家庭
  3. 家庭和一些文字
  4. 一些文字家庭一些文字

您可以像这样简单地使用多个关键字及其顺序:

    <category>
      <pattern>* FATHER * FAMILY *</pattern>
      <template>
      Family is an important institution.
      </template>
     </category>

   <category>
      <pattern>* FAMILY * FATHER *</pattern>
      <template><srai>* FATHER * FAMILY *</srai> 
      </template>
     </category>

这将匹配所有模式,例如

  1. 父亲一家

  2. SomeText 父亲 SomeText 家庭

  3. 父亲 sometext 家庭 someText

  4. 等等