Python用AIML搭建聊天機(jī)器人

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)直接掃碼:

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末仇哆,一起剝皮案震驚了整個(gè)濱河市沦辙,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌讹剔,老刑警劉巖油讯,帶你破解...
    沈念sama閱讀 212,884評(píng)論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異延欠,居然都是意外死亡陌兑,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,755評(píng)論 3 385
  • 文/潘曉璐 我一進(jìn)店門由捎,熙熙樓的掌柜王于貴愁眉苦臉地迎上來兔综,“玉大人,你說我怎么就攤上這事狞玛∪沓郏” “怎么了?”我有些...
    開封第一講書人閱讀 158,369評(píng)論 0 348
  • 文/不壞的土叔 我叫張陵心肪,是天一觀的道長(zhǎng)锭亏。 經(jīng)常有香客問我,道長(zhǎng)硬鞍,這世上最難降的妖魔是什么慧瘤? 我笑而不...
    開封第一講書人閱讀 56,799評(píng)論 1 285
  • 正文 為了忘掉前任,我火速辦了婚禮固该,結(jié)果婚禮上锅减,老公的妹妹穿的比我還像新娘。我一直安慰自己伐坏,他們只是感情好怔匣,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,910評(píng)論 6 386
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著著淆,像睡著了一般劫狠。 火紅的嫁衣襯著肌膚如雪拴疤。 梳的紋絲不亂的頭發(fā)上永部,一...
    開封第一講書人閱讀 50,096評(píng)論 1 291
  • 那天独泞,我揣著相機(jī)與錄音,去河邊找鬼苔埋。 笑死懦砂,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的组橄。 我是一名探鬼主播荞膘,決...
    沈念sama閱讀 39,159評(píng)論 3 411
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼玉工!你這毒婦竟也來了羽资?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,917評(píng)論 0 268
  • 序言:老撾萬榮一對(duì)情侶失蹤遵班,失蹤者是張志新(化名)和其女友劉穎屠升,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體狭郑,經(jīng)...
    沈念sama閱讀 44,360評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡腹暖,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,673評(píng)論 2 327
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了翰萨。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片脏答。...
    茶點(diǎn)故事閱讀 38,814評(píng)論 1 341
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖亩鬼,靈堂內(nèi)的尸體忽然破棺而出殖告,到底是詐尸還是另有隱情,我是刑警寧澤雳锋,帶...
    沈念sama閱讀 34,509評(píng)論 4 334
  • 正文 年R本政府宣布丛肮,位于F島的核電站,受9級(jí)特大地震影響魄缚,放射性物質(zhì)發(fā)生泄漏宝与。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 40,156評(píng)論 3 317
  • 文/蒙蒙 一冶匹、第九天 我趴在偏房一處隱蔽的房頂上張望习劫。 院中可真熱鬧,春花似錦嚼隘、人聲如沸诽里。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,882評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽谤狡。三九已至灸眼,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間墓懂,已是汗流浹背焰宣。 一陣腳步聲響...
    開封第一講書人閱讀 32,123評(píng)論 1 267
  • 我被黑心中介騙來泰國(guó)打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留捕仔,地道東北人匕积。 一個(gè)月前我還...
    沈念sama閱讀 46,641評(píng)論 2 362
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像榜跌,于是被迫代替她去往敵國(guó)和親闪唆。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,728評(píng)論 2 351

推薦閱讀更多精彩內(nèi)容