丁香五月天婷婷久久婷婷色综合91|国产传媒自偷自拍|久久影院亚洲精品|国产欧美VA天堂国产美女自慰视屏|免费黄色av网站|婷婷丁香五月激情四射|日韩AV一区二区中文字幕在线观看|亚洲欧美日本性爱|日日噜噜噜夜夜噜噜噜|中文Av日韩一区二区

您正在使用IE低版瀏覽器,為了您的雷峰網(wǎng)賬號安全和更好的產(chǎn)品體驗,強烈建議使用更快更安全的瀏覽器
此為臨時鏈接,僅用于文章預(yù)覽,將在時失效
國際 正文
發(fā)私信給AI科技評論
發(fā)送

0

干貨 | DIY一個聊天機器人,一共分幾步?

本文作者: AI科技評論 2016-05-25 17:20
導(dǎo)語:不懂怎么寫機器學(xué)習(xí)和自然語言處理軟件?Wit.ai你值得擁有。

 今年8月,雷鋒網(wǎng)將在深圳舉辦一場盛況空前有全球影響力的人工智能與機器人創(chuàng)新大會。屆時雷鋒網(wǎng)將發(fā)布“人工智能&機器人Top25創(chuàng)新企業(yè)榜”榜單。目前,我們正在拜訪人工智能、機器人領(lǐng)域的相關(guān)公司,從中篩選最終入選榜單的公司名單。

如果你也想加入我們的榜單之中,請聯(lián)系:2020@leiphone.com。

干貨 | DIY一個聊天機器人,一共分幾步?

機器人——這個詞是不是每天都會出現(xiàn)在你的科技新聞推送中?從Facebook的機器人開發(fā)平臺、到微軟的機器人框架、到Taco Bell的Slack機器人。新聞也沒法免疫。例如Quartz和Purple等平臺都使用了機器人,使用了移動APP和短信界面來為新聞增添聊天一樣自然的體驗,而CNN的機器人會直接通過Facebook Messenger來給你發(fā)送定制化新聞。

機器人的誘惑力在于,新聞消費者可以以聊天一樣的方式與其互動。但是,要自己打造機器人——這對于新聞媒體機構(gòu)(以及所有非科技公司)來說,感覺都太驚悚了,不知道從哪兒入手。

此時你需要Wit.ai。它是一個很好的工具,可以幫你快速打造可以與人聊天的APP。它將所有復(fù)雜的細(xì)節(jié)都隱藏,所以你只要專心打造能用的東西就好,不需要自己動手去學(xué)習(xí)、編寫世界上最尖端的機器學(xué)習(xí)和自然語言處理軟件。

那么問題來了,用Wit.ai自己DIY一個聊天機器人,一共分幾步?

1、  項目設(shè)立

首先,你需要設(shè)立機器人的基本架構(gòu)。從我的經(jīng)驗來看,要利用Node.js和Express設(shè)立一個簡單可用的Messenger機器人,可以去查看Facebook的“開始”(Getting Started)文檔,非常有用。點擊鏈接可以看到Github教程,例子中有一個完全可用的代碼。如果你想用Python來打造自己的機器人,可以點擊鏈接使用這個Flask例子。還有很多非常有料的Slack機器人教程,例如Scotch.io上面,點擊鏈接看看如何用Node.js打造Slack機器人。是不是有非常多的干貨?

這樣,你就有了設(shè)立機器人的代碼,你只要好好利用,讓Facebook或者Slack可以與之互動就行。用Heroke來利用代碼是一個比較方便的辦法,傳送門在此

2、  在Wit.ai上啟動APP

現(xiàn)在,我們就該進入Wit.ai了。首先創(chuàng)建一個賬號,然后創(chuàng)建一個新申請。 干貨 | DIY一個聊天機器人,一共分幾步?

在Wit.ai上為你的項目創(chuàng)建一個新申請,可以選擇語言、是否公開等選項。圖片來源:美國西北大學(xué)。

申請后,你會進入你APP的“故事”頁面。“故事”可以呈現(xiàn)你與機器人之間會進行什么類型的對話。舉個例子,我們可以設(shè)想我們要打造一個名叫“首都機器人”的APP,機器人會告訴你所有國家的首都是什么。我們的第一個故事可能大概會是這樣:

干貨 | DIY一個聊天機器人,一共分幾步?

作為“故事”頁面,這里展示了用戶可以對機器人說什么,例如:“尼日利亞的首都是什么?”圖片來源:西北大學(xué)

然后,我們告訴Wit.ai機器人該如何回答。在這個例子中,我們需要“首都”機器人回復(fù)用戶需要的城市名稱。(我猜你想要做的功能應(yīng)該不是猜首都游戲,不過,這只是一個例子,讓你知道Wit.ai如何使用。)

我們的第一步,是抓取地點實體。我們可以在句子中將位置標(biāo)亮,然后點擊“增加一個新按鈕”。我們可以注意到,Wit已經(jīng)有很多預(yù)先布置的實體供用戶使用,從中我們可以使用wit/location(位置)實體。

我們可以點擊右側(cè)的“機器人說…”按鈕,來為機器人的回復(fù)建立結(jié)構(gòu)。這里,我們可以寫明我們希望機器人說什么。因為我們的機器人只要回復(fù)位置就好了,不如讓它說“你想知道尼日利亞的首都”。我們可以讓W(xué)it在句子中自動加入抓取到的位置實體,在位置實體的前后加入大括號。 干貨 | DIY一個聊天機器人,一共分幾步?

通過標(biāo)亮“尼日利亞”,我們可以將其標(biāo)記為一個wit/location實體?!肮适隆表撁娉尸F(xiàn)了用戶可能如何與我們的機器人互動,這讓W(xué)it.ai知道它該在文章中尋找例如“尼日利亞”的位置實體。然后我們可以在“說”功能中增加細(xì)節(jié),讓W(xué)it.ai知道機器人該如何回復(fù)信息。舉個例子,我們可以讓機器人回復(fù)在用戶信息中找到的位置實體。圖片來源西北大學(xué)。

只要點擊“~”,我們可以在Wit.ai的網(wǎng)站上直接與Wit.ai服務(wù)聊天。雖然我們只寫了尼日利亞的例子,但是Wit.ai可以將我們的例子進行抽象總結(jié),并應(yīng)用到其他用戶可能輸入的國家名字上。

 干貨 | DIY一個聊天機器人,一共分幾步?

雖然我們只用尼日利亞的例子訓(xùn)練了機器人,Wit.ai可以抽象總結(jié)出我們的概念,然后我們可以將故事覆蓋讀者提出的所有國家名字和問題結(jié)構(gòu)。圖片來源:西北大學(xué)。

3、  創(chuàng)造用戶定義的實體

在“首都”機器人的例子中,我們可以用一個預(yù)先定義的Wit.ai實體來抽取用戶信息中的位置信息。Wit.ai自帶的預(yù)定義實體列表已經(jīng)挺強大了,不過我們還是可以自己定義。

為了理解用戶定義實體到底是什么意思,讓我們來看一個新的例子:假設(shè)我們要打造一個名叫“感覺”的機器人。這個機器人可以給你發(fā)信息,來呼應(yīng)你現(xiàn)在的情緒。例如,如果你感覺很傷感,你可以給機器人發(fā)消息說“我很傷感”,機器人就會給你回復(fù)一條傷感的信息。和之前一樣,我們最開始先讓機器人回復(fù)用戶發(fā)給它的情感。

為此我們需要一個新的實體。就叫做“情感”好了。要設(shè)立一個新的實體,我們可以跳轉(zhuǎn)去“理解(Understanding)”標(biāo)簽頁,在“測試新表達”區(qū)域輸入一個新的訓(xùn)練例子。針對“感覺”機器人,我們可以輸入“我很傷感”。我們可以標(biāo)記“傷感”,然后加入一個這樣的定制實體:干貨 | DIY一個聊天機器人,一共分幾步?

使用Wit.ai的“理解”標(biāo)簽頁我們可以創(chuàng)建定制實體,然后訓(xùn)練Wit.ai在用戶短信中發(fā)現(xiàn)相應(yīng)實體。圖片來源西北大學(xué)

我們可以繼續(xù)做出更多的情感——開心、激動、憂郁、著迷等等,每增加一種情感后,點擊“生效”(Validate)按鍵。最后,你會看到Wit.ai會開始在你輸入的表達案例中自動標(biāo)記出情感。這樣,我們就可以訓(xùn)練Wit.ai識別出我們?yōu)樽约簯?yīng)用而定制的實體。

需要留意的是,Wit.ai有一些具體的“搜索策略”用于幫助訓(xùn)練實體。為了我們演示起見,我們會想要“自由文本”(free text)和“關(guān)鍵字”(keywords)集合,但是其他更加復(fù)雜的表達可能需要選擇“特征”(trait)。你可以點擊鏈接,在Wit.ai的文檔中了解更多關(guān)于其實體搜索策略。

現(xiàn)在,我們可以增加一個“故事”,使用我們的情感實體??梢钥吹?,Wit.ai現(xiàn)在可以根據(jù)用戶的輸入信息中回復(fù)情感了。干貨 | DIY一個聊天機器人,一共分幾步?

有一個“故事”和一個定制情感實體,Wit.ai已經(jīng)可以概括并選出用戶發(fā)送信息中的情感。圖片來源:西北大學(xué)

4、  保持聊天語境

你可能已經(jīng)注意到了,每一個“故事”頁面的最右邊都有一個“融合”(merge)功能。這個功能可以為整個對話語境帶來更多數(shù)據(jù)。這讓機器人可以記住用戶早前信息中出現(xiàn)過的實體。用我們的“情感”機器人作為例子,例如,用戶先說“我很傷感”,機器人回復(fù)了一條傷感的信息。如果用戶說“跟我說點別的唄”,那么情感機器人就得記住之前用戶在第一條信息中所說到的情感,這樣才能發(fā)送一條不同內(nèi)容的傷感回復(fù)。

只要直接將實體名字加入融合功能,就能為語境增加數(shù)據(jù)?,F(xiàn)在,數(shù)據(jù)就可以保存下來,并且在聊天期間都一直存在,讓機器人可以根據(jù)需要參考過往數(shù)據(jù)。

5、  整合Wit.ai與機器人服務(wù)器

到這一步,我們通過連接中的教程,應(yīng)該已經(jīng)可以打造一個基礎(chǔ)的機器人了。但是,我們還得知道如何用Wit.ai來為機器人設(shè)定一些基本的回復(fù)模式。我們?nèi)绾握夏兀?/p>

因此,最后的一步就是將Wit.ai整合進入你的機器人服務(wù)器的代碼中。Wit.ai有記錄完善的開源數(shù)據(jù)庫和SDK(軟件開發(fā)工具包),可用于iOS、Ruby、Node.js和Python,你可以進入Wit.ai Github頁面獲得。這能讓你的機器人與Wit.ai平臺交互更加簡便,每一個倉庫都會有文檔介紹如何將Wit.ai加入你的服務(wù)器。一旦你將Wit.ai的客戶端加入服務(wù)器代碼,你可以發(fā)送服務(wù)器從用戶中抓取的信息,然后使用類似Node.js里面client.messages()的功能,將信息交給Wit.ai。Wit.ai會回復(fù)你在“故事”中指明的信息,以及語境和抽取的實體。

恩,要做一個可以聊天的機器人,就是這五步。第六步,就是趕緊動手造一個鋼鐵俠同款的Jarvis!

Via Northwestern University 


雷峰網(wǎng)原創(chuàng)文章,未經(jīng)授權(quán)禁止轉(zhuǎn)載。詳情見轉(zhuǎn)載須知。

分享:
相關(guān)文章
當(dāng)月熱門文章
最新文章
請?zhí)顚懮暾埲速Y料
姓名
電話
郵箱
微信號
作品鏈接
個人簡介
為了您的賬戶安全,請驗證郵箱
您的郵箱還未驗證,完成可獲20積分喲!
請驗證您的郵箱
立即驗證
完善賬號信息
您的賬號已經(jīng)綁定,現(xiàn)在您可以設(shè)置密碼以方便用郵箱登錄
立即設(shè)置 以后再說