日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Aiml

發布時間:2023/12/31 编程问答 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Aiml 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
Aiml就是一個xml兼容的文本文檔,現簡單介紹一下xml規范:
xml每一個型如<aiml topic=”電影”>叫做一個元素,每個元素都是閉合的,也就是說要只要有<aiml>開頭就必定有</aiml>相對應與之閉合;topic=”電影”稱為改元素的屬性,一個元素可以有多個屬性沒有限制。元素和元素之間可以嵌套,但必須閉合。

一個最簡單的aiml文件如下:
<?xml version="1.0" encoding="GB2312"?>
<aiml>
<category>
<pattern>你好</pattern>
<template>好</template>
</category>

</aiml>

1. <?xml version="1.0" encoding="GB2312"?>這個是所有xml文檔都必須申明的,如果是中文這里要申明編碼為:GB2312,如果是英文則一般申明為:UTF-8

2. category表示一個目錄,表示一個一問一答匹配和一問多種應答匹配,但不允許多中提問匹配。

3. pattern表示匹配模式,表示用戶的輸入匹配,以上例子,用戶一旦輸入你好,那機器人就找到這個匹配,然后取出應答“好”;

4. template表示應答,這里應答一個“好”字。

有了這幾個簡單的元素理論上就可以寫出任意匹配模式,達到一定智能,但實際應用當中只有這些元素是不夠的,接下去將作進一步介紹。





注意:aiml所有元素屬性都是大小寫敏感的!!!
aiml的pattern元素里面的英文必須大寫!!!



4、詳細說明

1. think元素

型如: <think><set name="topic">Me</set></think>
放置在template元素里面,表示一旦用戶的輸入匹配到該category時,再回復應答的同時,給一個變量賦值,這里也就是把Me記再腦子里,以后就可以用<get name=”topic”/>來取出先前記住的內容。

2. <star/>表示*,比如有一個匹配模式是<pattern>* 你 好 *<pattern>;注意,由于機器人解析器是外國人寫的;而外國人每個單詞之間一個空格,因為,我們寫匹配的時候也要再每個漢字之間加上空格。這里pattern元素里的匹配模式是用*號表示任意匹配的,但在其他元素里面不能用*號,而用<star/>這個元素來表示。

3. <srai>元素,刺激回復人工智能,表示<srai>里面的話會被當作是用戶輸入,從新查找匹配模式,直到找到非<srai>定義的回復。例如:
<srai>我 是 <star/></srai>,那么機器人會把“我 是 *”當作是用戶輸入來從新查找匹配模式。

4. <condition>元素,放在template元素里面,可以有多個condition元素,但不能嵌套(目前還不支持),有3種形式:
<condition name="name" value="value">你好 </condition>
<condition name="name" contains="value"> 你好</condition>
<condition name="name" exists="value">你好 </condition>

Name是預先定義的變量,第一種表示name變量的值如果和value相等,回復內容就包括”你好”;第二種表示name變量的值如果里面包含value這個字符串,回復內容就包括“你好”;第三種表示name變量的值如果存在value的值,回復內容就包括“你好”(這個什么意思還不明確)
舉個使用例子:
<category>
<pattern>你 好</pattern>
<template>
你好阿!
<condition name="用戶名字" value="張三">
你又來了阿:)
</condition>
</template>

</category>

a. 情況一:如果事先用think設置了變量“用戶名字”,而且等于“張三”,那么用戶接受到的回復內容是:你好阿!你又來了阿;)
b.情況二:如果事先沒有定義或者變量“用戶名字”的值不等于“張三”,那么用戶接受到的回復內容是:你好阿!
寫法有一下幾種:
<category>
<pattern>我 頭 發 的 顏 色 是 藍 色 *</pattern>
<template>哇塞,你很
<condition name="用戶性別" value="女"> 漂亮阿!</condition>
<condition name="用戶性別" value="男">英俊阿!</condition>
</template>
</category>

<category>
<pattern>我 頭 發 的 顏 色 是 藍 色 *</pattern>
<template>哇塞,你很
<condition>
<li name="用戶性別" value="女">漂亮阿!</li>
<li name="用戶性別" value="男">英俊阿!</li>
</condition>
</template>
</category>

<category>
<pattern>我 頭 發 的 顏 色 是 藍 色 *</pattern>
<template>哇塞,你很
<condition name="用戶性別">
<li value="女"> 漂亮阿!</li>
<li value="男"> 英俊阿!</li>
</condition>
</template>
</category>

<category>
<pattern>我 頭 發 的 顏 色 是 藍 色 *</pattern>
<template>哇塞,你很
<condition>
<li name="用戶性別" value="女"> 漂亮阿!</li>
<li>好看!</li>
</condition>
</template>
</category>
這里最后一個li元素表示默認的情況;即找不到condition相匹配時,就用默認的。



5.<formal>元素,用來格式化輸出,例如:<formal>jon baer</formal>
那么回復將被格式化成首字母大寫輸出:Jon Baer,對中文無效。



6.<gender>元素,替換性別以及代名詞,例如:
<gender>She told him to take a hike.</gender>
將被替換成:He told her to take a hike,跟性別有關的單詞都將被替換,中文怎么處理不是很清楚。

7.<get name=””名字/>,即得到name的值。



8.<gossip>元素用來把改元素里面的內容保存到gossip.log文件里。



9.<if>元素,判斷元素,有以下形式:
<if name="topic" value="cars"></if>
<if name="topic" contains="cars"></if>
<if name="topic" exists="true"></if>
例子:
<template>
<if name="用戶名稱" exists="true">
你的名字叫 <get name=”用戶名稱”/>.
<else/>
你叫什么名字?
</if>
</template>



10. <input>表示用戶輸入,例如:
<input index="2"/>將輸出用戶倒數第2次的輸入,看如下對話:
用戶:好阿
機器人:你也好,你叫什么名字?
用戶:我叫黑山
機器人:呵呵,你好黑山。
如果有aiml文件里有片斷:
<category>

<pattern>嘿 嘿</pattern>

<template>

<gossip>你剛才說:“<input index="2"/>”?</gossip>

</template>

</category>

如果這個時候用戶輸入“嘿嘿”,那么機器人將回復:你剛才說:“我叫黑山”?

Index屬性的數字表示倒數第幾句話,1:倒數第一句,2:倒數第2句,依此類推。



11.<learen filename=”xxx.aiml”>元素表示讓機器人學習某個aiml文件。



12.<li></li>元素可以在random元素或condition等元素當中使用;表是一個列表;



13.<lowcase></lowcase>表示把中間的內容變成小寫,對應的是<upcase>把內容變成大寫
中文無效。

14.<pattern>表示匹配模式,里面的內容必須大寫,可以有星號* 或下劃線_,但必須空格隔開,星號表示匹配所有,任意情況;下劃線的意義跟星號一樣,除了不能匹配字典里面Z后面的字母。



15.<person>和<person2> 第一個是把第一人稱轉換成第3人稱;第2個是把第一人稱轉成第2人稱。<person/>等于 <person><star/></person>



16.<random>隨機元素,一般和<li>一起使用,表示從列表里隨機取一個。

17.<sentence>元素用來格式化句子,比如:
<sentence>this is some kind of sentence test.</sentence>
可以格式化成:This is some kind of sentence test.即把句子首字母大寫。

18.<star/>表示星號,已經不推薦使用,只針對0。9版本,目前一般要加index屬性來使用,例如:<star index="1"/>,看如下對話:
用戶:我的名字叫黑山!

<pattern>* 名 字 叫 *</pattern>
<template>呵呵,我知道了,你的名字叫<star index="2"/>。
</template>

19。<system><system>元素表示調用系統函數,例如:
<system>date</system>表示取系統當前日期
警告:使用這個元素要千萬小心,因為有可能使用戶運行你的系統命令。

20.<template>定義回復的模板。



21.<that>元素表示先前機器人說的話,例如:
<category>
<pattern>好</pattern>
<that>一 起 聊 聊 電 影 好 嗎 *</that>
<template>那你喜歡什么電影那?</template>
</category>
即:如果機器人先前問用戶“一起聊聊電影好嗎?”,而且現在用戶回答了“好”,那么匹配正確,回復內容為:“那你喜歡什么電影那?”
如果要取前面的前面機器人的話,可以用:<that index=”nx,ny”>,例如:<that index=”2,1”>
表示取機器人倒數第2句的話,<that index=”2,1”>也等于<justbeforethat/>



22.<thatstar index=”n”>元素先前第n個機器人說過的星號部分的話,<thatstar/>等于<thatstar index="1"/>.看個例子:
<category>
<pattern>你好</pattern>
<template>
計算機 的 型 號 是 什 么
</template>
</category>

<category>
<pattern>*</pattern>
<that>* 的 型 號 是 什 么</that>
<template><star/>
這個型號是<thatstar/>里面
<random>
<li>很好的商品</li>
<li>很流行的商品</li>
<li>很華麗的商品</li>
<random>。
</template>
</category>
對話場景:
用戶:你好
機器人:計算機 的 型 號 是 什 么
用戶:p4
機器人:p4這個型號是計算機里面很好的商品



23.<think>記錄用戶輸入且里面的內容不回復給用戶。例如:
<category>
<pattern>I AM FEMALE</pattern>
<template>Thanks for telling me your gender.
<think>
<set name=gender>female</set>
</think>
</template>
</category>
這里把female這個值保存到gender這個變量里,且回復內容不包括female。

24。<Topic name=”film”>元素用來設置主題,例如:
<aiml>
<topic name="功夫">
<category>
<pattern> phrase </pattern>
<that> phrase </that>
<template> phrase </template>
</category>
</topic>
</aiml>

只有當前的topic系統變量是“功夫”時才會匹配到這里。

25.<topicstar index=”n”>元素用來得到先前倒數第n次談論的主題。

26.<upcase>xiaoxie</upcase>元素用來把xiaoxie轉換成大寫形式:XIAOXIE

總結

以上是生活随笔為你收集整理的Aiml的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 国产毛片91 | 欧美日韩一区二区三区在线观看 | 久久影视网 | 欧美人xxx | 特级西西444www大精品视频免费看 | 123成人网 | 成年人在线观看av | 91插插插插插插插插 | 国产主播99 | 国产午夜精品在线观看 | 婷婷调教口舌奴ⅴk | av一区二区三区在线观看 | 午夜精品999| 婷婷六月激情 | 一区二区免费在线视频 | 制服丝袜亚洲 | 亚洲最黄网站 | 欧洲一区二区三区 | 精品无码久久久久久久久成人 | 精品人妻伦一二三区免费 | 国产精品久久久久久在线观看 | 中文字幕超清在线观看 | 人人妻人人爽欧美成人一区 | 色丁香六月 | 51调教丨国产调教视频 | 可以免费看av的网址 | 密臀av| 日本www在线 | 香蕉在线看 | 在线观看亚洲精品 | 天堂中文网在线 | 国产网红av| 伊人影院综合 | 麻豆一区在线 | 黄色污污视频网站 | a在线天堂| 美女屁股无遮挡 | 日韩av免费播放 | 欧美性大战xxxxx久久久 | 麻豆av毛片 | 日韩午夜精品视频 | 日韩欧美精品免费 | 中国美女一级黄色片 | 亚洲精品一二三区 | 欧美一区二区视频免费观看 | 午夜性视频 | 天天亚洲 | 欧美激情 亚洲 | 插综合 | 足疗店女技师按摩毛片 | 欧美日韩亚洲高清 | 999视频在线播放 | 二区免费视频 | 男女视频在线观看 | 亚洲综合中文字幕在线 | 日韩黄片一区二区 | www夜片内射视频日韩精品成人 | 日本午夜免费福利视频 | 国产精品天天看 | 高清一区二区三区视频 | 黄片毛片在线免费观看 | 亚洲欧美v | 亚洲AV无码一区二区三区少妇 | 在线日韩中文字幕 | 在线观看日韩国产 | 91国产丝袜播放在线 | 中文字幕国产一区 | 丝袜综合网 | 青娱网电信一区电信二区电信三区 | 国产欧美精品区一区二区三区 | 久久久久久久 | 中国成熟妇女毛茸茸 | 亚洲精品久久久久久无码色欲四季 | 伦理片中文字幕 | 久久久久久国产视频 | 手机在线成人av | 奇米99| 国产a级黄色片 | 天天色天天色天天色 | 在线观看污网站 | 美日韩丰满少妇在线观看 | 美女扒开腿让人桶爽 | 国产黄色免费视频 | 欧美第一页在线 | 日本泡妞xxxx免费视频软件 | 亚洲av无码一区东京热久久 | 亚洲片国产一区一级在线观看 | 91狠狠| 99热在线观看免费精品 | 一级黄色免费看 | 成人免费毛片观看 | 一区二区三区福利视频 | 免费国产网站 | 无码国精品一区二区免费蜜桃 | 黄色永久免费网站 | 国产精品偷伦视频免费看 | 久久久毛片 | 与亲女洗澡时伦了毛片 | 91免费网站入口 |