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的官方網(wǎng)站:ALICE男娄。
不過目前aiml上缺少高質(zhì)量的中文語料庫,因此不支持中文聊天漾稀。本文搭建的為英文聊天機(jī)器人模闲。
本文簡(jiǎn)單介紹下如何用Python編寫簡(jiǎn)單的聊天機(jī)器人。
1. 安裝Python aiml庫
pip install aiml
1
2. 獲取alice資源
Python aiml安裝完成后在Python安裝目錄下的 Lib/site-packages/aiml下會(huì)有alice子目錄崭捍,將此目錄復(fù)制到工作區(qū)尸折。
或者在Google code上下載alice brain: aiml-en-us-foundation-alice.v1-9.zip
3. Python下加載alice
取得alice資源之后就可以直接利用Python aiml庫加載alice brain了:
import aiml
os.chdir('./res/alice') #切換工作目錄到alice文件夾下,視具體情況而定
alice = aiml.Kernel()
alice.learn("startup.xml")
alice.respond('LOAD ALICE')
1
2
3
4
5
注意加載時(shí)需要切換工作目錄到alice下殷蛇。
4. 與alice聊天
加載之后就可以與alice聊天了实夹,每次只需要調(diào)用respond接口:
alice.respond('hello') #這里的hello即為發(fā)給機(jī)器人的信息
1
5. 用Tornado搭建聊天機(jī)器人網(wǎng)站
利用Tornado可以很方便地搭建一個(gè)web接口的聊天機(jī)器人橄浓。具體的代碼可以在此鏈接下在:web接口的聊天機(jī)器人。
下載此代碼之后直接運(yùn)行main.py即可亮航,然后可以通過瀏覽器訪問url與聊天機(jī)器人荸实,url類似http://localhost/aiml?req=hello的形式(req參數(shù)即為發(fā)給機(jī)器人的信息)。
注意要運(yùn)行此代碼缴淋,需要安裝Python 的aiml與Tornado庫准给。
lwons.com上已經(jīng)搭建了這樣的web接口,可以訪問http://lwons.com/aiml?req=hello來測(cè)試下重抖。
6. 搭建聊天機(jī)器人微信訂閱號(hào)
上一步的web接口可以很方便地改造成一個(gè)微信訂閱號(hào)圆存,實(shí)現(xiàn)的效果可以添加微信訂閱號(hào) CuriousGuys 后直接發(fā)送消息。添加CuriousGuys請(qǐng)直接掃碼: