在本教學中,我們來討論和學習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 Alice
,hello alice
,HELLO 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”
,表示機器人對用戶輸入的回應。