亚洲国产精品人久久,亚洲va国产日韩欧美精品色婷婷,久久久久88色偷偷,免费人成黄页在线观看国际

17站長(zhǎng)網(wǎng)

AIML教程

AIML教程

AIML,全名為Artificial Intelligence Markup Language(人工智能標(biāo)記語言),是一種創(chuàng)建自然語言軟件代理的XML語言,是由Richard Wallace和世界各地的自由軟件社區(qū)在1995年至2002年發(fā)明的。

    它的雛形是一個(gè)名為"A.L.I.C.E." ("Artificial Linguistic Internet Computer Entity")的高度擴(kuò)展的Eliza機(jī)器人。ALICE總共贏得3次每年度的Loebner獎(jiǎng),并且在2004年獲得了Chatterbox Challenge的冠軍。由于A.L.I.C.E. 的AIML設(shè)置是在GNU GPL協(xié)議下發(fā)布的,所以已經(jīng)有許多基于該程序和AIML庫的“克隆ALICE”出現(xiàn)。目前AIML已經(jīng)有了Java,Ruby,Python, C ,C#,Pascal等語言的版本。

    AIML語言元素

    category元素

    category是AIML庫中的基本單位,每個(gè)category元素都至少包含兩個(gè)子元素:pattern和template元素。下面是個(gè)簡(jiǎn)單的例子:

    <category>

    <pattern>WHAT IS YOUR NAME</pattern>

    <template>My name is Leo.</template>

    </category>

    當(dāng)這個(gè)AIML庫被加載之后,你問機(jī)器人“WHAT IS YOUR NAME”,機(jī)器人便會(huì)回答“My name is Leo.”。

    Pattern元素

    Pattern主要用來匹配用戶輸入,在原生的英文AIML語法中Pattern支持 _ 和 * 的模糊匹配。例如:

    <category>

    <pattern>WHAT IS YOUR *</pattern>

    <template>My name is Leo.</template>

    </category>

    只要用戶的輸入是以“WHAT IS YOUR ”開頭,機(jī)器人就會(huì)回復(fù)“My name is Leo.”。

    Template元素

    很明顯Template元素是機(jī)器人的對(duì)用戶提問的回答,當(dāng)用戶的輸入和同一個(gè)category下的Pattern相匹配是,就會(huì)將此category元素下的Template輸出。

    That元素

    機(jī)器人之所以有思考功能,主要就是that元素的作用。例如:

    <category A>

    <pattern>是的</pattern>

    <that>你是程序員嗎?</that>

    <template>你最擅長(zhǎng)的編程語言是什么?</template>

    </category>

    <category B>

    <pattern>是的</pattern>

    <that>你是學(xué)生嗎?</that>

    <template> 你是哪個(gè)學(xué)校的</template>

    </category>

    機(jī)器人首先通過pattern匹配,匹配到了“是的”但是機(jī)器人的數(shù)據(jù)庫中對(duì)應(yīng)“是的”的回答必然非常多,比方有下面A和B兩個(gè)categories。于是機(jī)器人便去匹配that標(biāo)簽,也就是機(jī)器人自己上句說過的話,即“你是程序員嗎?”這樣它就可以確定應(yīng)該匹配category A了,最后給出正確的回應(yīng)“你最擅長(zhǎng)的編程語言是什么?”

    返回頂部