2

以下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>
4

3 回答 3

2

您可以简单地使用多个关键字及其顺序,如下所示:

    <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. ETC
于 2017-05-31T07:46:30.970 回答
1

为什么不简单地:

  <pattern> FAMILY * FATHER <pattern>
于 2015-01-05T21:25:56.977 回答
0

您可以简单地使用:

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

它适用于以下情况:

  1. 家庭
  2. 一些文字和家庭
  3. 家庭和一些文字
  4. 一些文字 FAMILY 一些文字
于 2017-05-31T07:14:11.987 回答