AIML基本標籤


在本教學中,我們來討論和學習AIML的基本標記。

  • <aiml> - 定義AIML文件的開頭和結尾。
  • <category> - 定義Alicebot知識庫中的知識單元。
  • <pattern> - 定義模式以匹配使用者可以輸入到Alicebot的模式。
  • <template> - 定義Alicebot對使用者輸入的響應。

以下的AIML檔案範例,在此處列出作為參考使用。

<?xml version = "1.0" encoding = "UTF-8"?>
<aiml version = "1.0.1" encoding = "UTF-8"?>
   <category>
      <pattern> HELLO ALICE </pattern>

      <template>
         Hello User
      </template>

   </category>
</aiml>

1. <aiml>標籤

<aiml>標記標記AIML文件的開頭和結尾。 它包含版本和編碼屬性下的版本和編碼資訊。 version屬性儲存ALICE聊天機器人知識庫,表示使用的AIML版本。 例如,我們使用了1.0.1版本。 此屬性是可選的。

Encoding屬性提供要在文件中使用的字元集。 例如,使用UTF-8。 強制性要求<aiml>標記必須至少包含一個<category>標記。 可以建立多個AIML檔案,其中每個AIML檔案包含一個<aiml>標記。 每個AIML檔案的目的是將至少一個名為category的知識單元新增到ALICE聊天機器人知識庫。

<aiml version = "1.0.1" encoding = "UTF-8"?>
   ...
</aiml>

2. <category>標籤

<category>標籤是ALICE機器人的基本知識單元。每個類別包含 -

  • 使用者輸入的句子形式可以是斷言,問題和感嘆號等。使用者輸入可以包含像*_這樣的萬用字元。
  • 響應Alicebot提供的使用者輸入。
  • 可選上下文。

<category>標記必須具有<pattern><template>標記。 <pattern>表示使用者輸入,<template>表示Alicebot的響應。如下範例 -

<category>
   <pattern> HELLO ALICE </pattern>

   <template>
      Hello User
   </template>

</category>

在這裡,如果使用者輸入Hello Alice,那麼機器人將使用"Hello User"作為回復。

3. <pattern>標籤

<pattern>標記表示使用者的輸入。它是<category>標記中的第一個標記。 <pattern>標籤可以包含萬用字元,以匹配多個句子作為使用者輸入。 例如,在上面範例中,<pattern>包含"HELLO ALICE"

AIML不區分大小寫。 如果使用者輸入Hello Alicehello aliceHELLO ALICE等,所有這些輸入都是有效的,機器人都能與HELLO ALICE匹配。

<category>
   <pattern> HELLO ALICE </pattern>

   <template>
      Hello User
   </template>

</category>

這裡,模板是「Hello User」,表示機器人對使用者輸入的響應。

4. <template>標籤

<template>標籤表示機器人對使用者的響應。 它是<category>標記中的第二個標記。 此<template>標記可以儲存資料,呼叫另一個程式,提供條件答案或委託給其他類別。

<category>
   <pattern> HELLO ALICE </pattern>

   <template>
      Hello User
   </template>

</category>

這裡,模板是「Hello User」,表示機器人對使用者輸入的響應。