打造微信聊天機(jī)器人2

摘要:利用微信公眾號(hào)開發(fā)一個(gè)聊天機(jī)器人蝌麸。

在上一篇文章里式曲,我們已經(jīng)完成了聊天機(jī)器人的基本框架囚枪,現(xiàn)在我們要讓它更進(jìn)一步咆槽。

機(jī)器鸚鵡

上篇文章里的實(shí)現(xiàn)服務(wù)器只能給指定的用戶回復(fù)消息陈轿,這是因?yàn)槲覀儼鸦貜?fù)里的toUser字段寫死了。正確的做法應(yīng)該是從收到的消息里解析出fromUser字段秦忿,然后填在回復(fù)的toUser字段济欢,這樣就可以跟任意用戶對(duì)話了。為了免去處理XML的麻煩小渊,從現(xiàn)在開始法褥,我們將徹底放棄上一篇文章里的代碼,轉(zhuǎn)而使用現(xiàn)成的框架WeRoBot酬屉。

首先還是使用pip安裝WeRoBot半等。

pip install WeRoBot

WeRoBot的用法,在它的文檔里已經(jīng)寫得比較詳細(xì)了呐萨,只需要依葫蘆畫瓢就可以寫出一個(gè)簡(jiǎn)單的機(jī)器人杀饵。

import werobot

robot = werobot.WeRoBot(token='你的Token')

@robot.text
def echo(message):
    return message.content

robot.run()

這段代碼實(shí)現(xiàn)了一個(gè)會(huì)學(xué)舌機(jī)器鸚鵡,它接收文本消息并將消息內(nèi)容原樣返回谬擦。WeRoBot把消息驗(yàn)證和XML處理都封裝好了切距,因此這段代碼比之前的要簡(jiǎn)單許多。

女神Alice

解決了接收和回復(fù)消息的基本問(wèn)題惨远,接下來(lái)就要給我們的機(jī)器人添加“智能”了谜悟。感謝科學(xué)家和程序員們的辛勤勞動(dòng),我們并不需要自己編寫復(fù)雜的算法北秽,只需要增加短短的幾行代碼就可以召喚一個(gè)專屬女神Alice陪你聊天了葡幸!首先要安裝aiml模塊。

pip install aiml

改造一下剛才的代碼贺氓,完成從鸚鵡到女神的飛躍蔚叨!

import werobot
import aiml
import os

os.chdir('/usr/lib/python2.7/site-package/aiml/alice')
alice = aiml.Kernel()
alice.learn("startup.xml")
alice.respond('LOAD ALICE')

robot = werobot.WeRoBot(token='你的Token')

@robot.text
def echo(message):
    return alice.respond(message.content)

robot.run()

你可以嘗試調(diào)戲一下自己的機(jī)器人,效果絕對(duì)超乎想像辙培,反正我是被震驚到了蔑水。不過(guò)……只能用English。

現(xiàn)在扬蕊,讓我們來(lái)了解一下女神Alice的身世搀别。Alice是"Artificial Linguistic Internet Computer Entity"的縮寫,是由Richard Wallace開發(fā)的自然語(yǔ)言聊天機(jī)器人厨相,曾經(jīng)多次活動(dòng)人工智能領(lǐng)域的大獎(jiǎng)领曼。如果你仔細(xì)閱讀了上面的代碼鸥鹉,就會(huì)注意到/usr/lib/python2.7/site-package/aiml/alice這個(gè)目錄。這里就是Alice的智慧所在庶骄,里面有很多擴(kuò)展名為aiml的文件毁渗,這些文件定義了Alice對(duì)各種問(wèn)題的回答方式。如果你打開這些aiml文件看一下单刁,就會(huì)對(duì)女神的心思了然于胸了灸异。想了解更多關(guān)于AIML的信息,請(qǐng)?jiān)L問(wèn)官方網(wǎng)站羔飞。PandoraBots提供了一些幫助創(chuàng)建AIML機(jī)器人的工具肺樟。

不管Alice有多么善解人意,本質(zhì)上來(lái)講逻淌,她都是按照預(yù)先寫好的規(guī)則來(lái)回復(fù)么伯,她的“智慧”取決于我們提供的規(guī)則庫(kù)。接下來(lái)將嘗試采用當(dāng)下最火熱的機(jī)器學(xué)習(xí)的方式來(lái)實(shí)現(xiàn)更加智能的聊天機(jī)器人卡儒。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末田柔,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子骨望,更是在濱河造成了極大的恐慌硬爆,老刑警劉巖,帶你破解...
    沈念sama閱讀 217,657評(píng)論 6 505
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件擎鸠,死亡現(xiàn)場(chǎng)離奇詭異缀磕,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)劣光,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,889評(píng)論 3 394
  • 文/潘曉璐 我一進(jìn)店門袜蚕,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人赎线,你說(shuō)我怎么就攤上這事廷没。” “怎么了垂寥?”我有些...
    開封第一講書人閱讀 164,057評(píng)論 0 354
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)另锋。 經(jīng)常有香客問(wèn)我滞项,道長(zhǎng),這世上最難降的妖魔是什么夭坪? 我笑而不...
    開封第一講書人閱讀 58,509評(píng)論 1 293
  • 正文 為了忘掉前任文判,我火速辦了婚禮,結(jié)果婚禮上室梅,老公的妹妹穿的比我還像新娘戏仓。我一直安慰自己疚宇,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,562評(píng)論 6 392
  • 文/花漫 我一把揭開白布赏殃。 她就那樣靜靜地躺著敷待,像睡著了一般。 火紅的嫁衣襯著肌膚如雪仁热。 梳的紋絲不亂的頭發(fā)上榜揖,一...
    開封第一講書人閱讀 51,443評(píng)論 1 302
  • 那天,我揣著相機(jī)與錄音抗蠢,去河邊找鬼举哟。 笑死,一個(gè)胖子當(dāng)著我的面吹牛迅矛,可吹牛的內(nèi)容都是我干的妨猩。 我是一名探鬼主播,決...
    沈念sama閱讀 40,251評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼秽褒,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼壶硅!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起震嫉,我...
    開封第一講書人閱讀 39,129評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤森瘪,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后票堵,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體扼睬,經(jīng)...
    沈念sama閱讀 45,561評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,779評(píng)論 3 335
  • 正文 我和宋清朗相戀三年悴势,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了窗宇。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 39,902評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡特纤,死狀恐怖军俊,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情捧存,我是刑警寧澤粪躬,帶...
    沈念sama閱讀 35,621評(píng)論 5 345
  • 正文 年R本政府宣布,位于F島的核電站昔穴,受9級(jí)特大地震影響镰官,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜吗货,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,220評(píng)論 3 328
  • 文/蒙蒙 一泳唠、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧宙搬,春花似錦笨腥、人聲如沸拓哺。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,838評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)尔邓。三九已至地熄,卻和暖如春另假,著一層夾襖步出監(jiān)牢的瞬間莹捡,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,971評(píng)論 1 269
  • 我被黑心中介騙來(lái)泰國(guó)打工哨苛, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留鸽凶,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,025評(píng)論 2 370
  • 正文 我出身青樓建峭,卻偏偏與公主長(zhǎng)得像玻侥,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子亿蒸,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,843評(píng)論 2 354

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

  • 點(diǎn)擊查看原文 Web SDK 開發(fā)手冊(cè) SDK 概述 網(wǎng)易云信 SDK 為 Web 應(yīng)用提供一個(gè)完善的 IM 系統(tǒng)...
    layjoy閱讀 13,761評(píng)論 0 15
  • 摘要:利用微信公眾號(hào)開發(fā)一個(gè)聊天機(jī)器人凑兰。 前置條件 Linux基礎(chǔ) 一點(diǎn)兒CGI和Python基礎(chǔ) 一臺(tái)運(yùn)行Lin...
    FunFeast閱讀 1,137評(píng)論 0 3
  • Android 自定義View的各種姿勢(shì)1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 172,116評(píng)論 25 707
  • 什么才是真正的責(zé)任感?我一直以為自己是個(gè)有責(zé)任感的人边锁,但是對(duì)照責(zé)任的公式來(lái)看姑食,我的責(zé)任感真的只是說(shuō)說(shuō)而已。責(zé)任=身...
    我要我的價(jià)值閱讀 255評(píng)論 0 0
  • 今天基本上師姐們都走完了茅坛,最早走的那一批在周五音半,今天早上這批已經(jīng)是最后走的了。從此以后贡蓖,大學(xué)里面我再也沒(méi)有師姐了曹鸠,...
    楊俁俁閱讀 251評(píng)論 0 0