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