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」,表示機器人對用戶輸入的響應。