成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

使用Recast.AI創(chuàng)建具有人工智能的聊天機(jī)器人

gitmilk / 2837人閱讀

摘要:也完美地將不需要應(yīng)用開發(fā)人員了解的機(jī)器學(xué)習(xí)底層細(xì)節(jié)進(jìn)行了封裝,我們將要做的這個(gè)聊天機(jī)器人甚至不需要太多的編碼。回到我創(chuàng)建的聊天機(jī)器人,目前沒有分配任何。最后,我們可以把這個(gè)創(chuàng)建好的聊天機(jī)器人進(jìn)行發(fā)布,讓它可以被其他平臺消費(fèi)。

很多SAP顧問朋友們對于人工智能/機(jī)器學(xué)習(xí)這個(gè)話題非常感興趣,也在不斷思考如何將這種新技術(shù)和SAP傳統(tǒng)產(chǎn)品相結(jié)合。Jerry之前的微信公眾號文章C4C和微信集成系列教程曾經(jīng)介紹了Partner如何利用SAP Cloud for Customer內(nèi)置的社交媒體集成框架,做一些簡單的開發(fā)將微信集成到C4C中去。該系列教程里其中一篇文章,介紹了如何將圖靈機(jī)器人集成到某個(gè)微信公眾號的消息服務(wù)器上去,讓該微信公眾號可以“智能地”同其關(guān)注粉絲聊天。

這個(gè)圖靈機(jī)器人的圖靈服務(wù)通過Restful API的方式暴露出來,所有和機(jī)器學(xué)習(xí)相關(guān)的細(xì)節(jié)都被www.tuling123.com封裝成黑盒子,應(yīng)用開發(fā)人員只管消費(fèi)。這是第三方的人工智能解決方案。

2018年1月,SAP收購了一家法國的人工智能提供商,Recast.AI, 從此SAP也有了自己的人工智能解決方案。

現(xiàn)在,訪問https://recast.ai, 能看到一行醒目的提示:Recast.AI is now part of SAP。那么Recast.AI提供了怎樣的功能呢?最好的入門辦法,莫過于自己動手做一個(gè)Hello World例子出來。跟著Jerry一塊做一個(gè)吧。

我們的目的同本文開頭截圖展示的一致:開發(fā)一個(gè)在微信里使用的聊天機(jī)器人,不同之處在于這次我們使用SAP Recast.AI作為人工智能解決方案。

絕大多數(shù)SAP顧問朋友們關(guān)注的是如何利用人工智能基于SAP傳統(tǒng)產(chǎn)品做創(chuàng)新,給客戶帶來價(jià)值,而不是花大量時(shí)間精力去學(xué)習(xí)機(jī)器學(xué)習(xí)底層需要的那些艱深的數(shù)學(xué)知識。Recast.AI也完美地將不需要應(yīng)用開發(fā)人員了解的機(jī)器學(xué)習(xí)底層細(xì)節(jié)進(jìn)行了封裝,我們將要做的這個(gè)聊天機(jī)器人甚至不需要太多的編碼。

我們在Recast.AI網(wǎng)站上在線創(chuàng)建聊天機(jī)器人。一般網(wǎng)站首次登陸都需要先創(chuàng)建用戶,而Recast.AI除了常規(guī)用戶注冊方式外,還貼心地提供了使用Github賬號直接登錄的選擇,對于每天混Github的程序員來說,這太方便了。

點(diǎn)擊按鈕允許Recast.AI訪問您Github賬號的公有信息后,能看到這個(gè)歡迎界面:

點(diǎn)"START WITH A TEMPLATE"基于現(xiàn)成的模板創(chuàng)建一個(gè)機(jī)器人:

和我們在Fiori UI里進(jìn)行業(yè)務(wù)模型創(chuàng)建類似,首先維護(hù)機(jī)器人的ID和描述信息:

創(chuàng)建成功后,來到如下的機(jī)器人明細(xì)頁面,一共包含5個(gè)標(biāo)簽。本文只會用到Train, Build和Connect這三個(gè)標(biāo)簽。

Train標(biāo)簽下沒有任何內(nèi)容,只有一個(gè)提示:You have no intents.

什么是intent呢?在Android開發(fā)里也有intent的概念,intent是一個(gè)將要執(zhí)行的動作的抽象描述。Android框架根據(jù)此intent的描述,負(fù)責(zé)找到將要執(zhí)行動作對應(yīng)的組件,再把包含了附加參數(shù)的intent傳遞給決定出的負(fù)責(zé)組件。而在Recast.AI里的intent同樣是一個(gè)抽象概念。通俗地解釋,intent是一系列句子的集合,這些句子雖然從文字上來說表達(dá)方式各異,然而傳遞的是同一個(gè)意思。

比如下列三句話其實(shí)是在同一個(gè)問題:

你是一個(gè)程序員么?

你每天的工作是編寫代碼么?

你每天使用集成開發(fā)環(huán)境或者命令行進(jìn)行單步調(diào)試么?

我們可以把這三個(gè)句子歸為同一個(gè)intent,姑且命名為"程序員"。假設(shè)當(dāng)用戶又發(fā)送了一個(gè)新的文本到您的聊天機(jī)器人去:“你是靠編寫代碼維生么?” Recast.AI封裝好的算法會解析這個(gè)文本,將其和"程序員"intent里的語句進(jìn)行比較,如果判斷出來這個(gè)新的文本和intent中的某一句表達(dá)的意思非常接近,那么我們就能說這個(gè)新文本的intention(意圖)是"程序員"。此時(shí),就可以讓機(jī)器人回復(fù)預(yù)先準(zhǔn)備好的回答,比如“是的,我是程序員,我很喜歡寫代碼”。

上面的描述實(shí)際上已經(jīng)涵蓋了本文聊天機(jī)器人創(chuàng)建完畢后,需要執(zhí)行哪些后續(xù)步驟。

回到我創(chuàng)建的聊天機(jī)器人,目前沒有分配任何intent。

那么我就點(diǎn)Create按鈕創(chuàng)建一個(gè)。當(dāng)然也可以點(diǎn)Search按鈕,從Recast社區(qū)上搜索一個(gè)別人創(chuàng)建好的intent。

現(xiàn)在新建的這個(gè)programmer intent還沒有任何語句,現(xiàn)在我們就來給它“喂”一些句子,這個(gè)動作稱為"Train(訓(xùn)練)"。輸入一個(gè)句子"Are you a programmer?",回車:

Recast.AI會自動將這個(gè)句子進(jìn)行分詞,并且識別出一個(gè)代詞(Pronoun) - You, 一個(gè)數(shù)量詞(Number) - a, 和一個(gè)工作描述(Job) - programmer。

我們再多喂幾個(gè)句子給這個(gè)intent:

Are you coding with Java or ABAP or JavaScript or C# or C++ or Python or Ruby?

Are you using Integrated Development Environment or Command Line to debug?

is Programming your daily work?

什么時(shí)候可以結(jié)束訓(xùn)練呢?首先給intent喂的句子越多,那么它分析新的語句的意圖(intention)是否和程序員相關(guān)的準(zhǔn)確度就越高?,F(xiàn)在我們可以對這個(gè)intent進(jìn)行測試。點(diǎn)擊Train標(biāo)簽頁右上角的Test鏈接,會看到下圖的測試窗口。現(xiàn)在我給這個(gè)intent發(fā)送一條文本:

Are you working with Java every day?

Recast.AI將這個(gè)句子同我創(chuàng)建的"programmer" intent里的句子進(jìn)行比較,最后判斷出,這句話有99%的可能性屬于該intent(下圖字段confidence: 0.99)。

那么我們就結(jié)束訓(xùn)練,進(jìn)入下一個(gè)"Build"步驟。這個(gè)步驟負(fù)責(zé)定義當(dāng)您的聊天機(jī)器人成功識別到了您的輸入是在討論程序員后,應(yīng)該執(zhí)行何種動作。Recast.AI把機(jī)器人這種成功識別出文本的intention后執(zhí)行某種動作的能力,稱為skill。在Build標(biāo)簽頁點(diǎn)擊Create skill:

我給新建的skill取名:chat_with_programmer

給這個(gè)skill定義Triggers,意思是滿足何種條件會觸發(fā)這個(gè)skill?在Triggers標(biāo)簽頁下面使用Recast.AI預(yù)置的一些公式進(jìn)行條件定義。

下圖if@programmer,意思就是:如果聊天機(jī)器人計(jì)算出用戶發(fā)送的文本是屬于"programmer"這個(gè)intent:

Actions就是在這種條件下應(yīng)該執(zhí)行的具體動作。

這里我定義的Actions就是簡單地推送一些文本(SEND MESSAGE)給用戶。

準(zhǔn)備一些文本,機(jī)器人會從中間隨機(jī)地選取一條推送給用戶。

Yes, and I am learning Scala in my spare time.

Yes, I have been programming for 20 years.

Yes, I am a programmer, I love programming!

點(diǎn)擊Build標(biāo)簽頁的"CHAT WITH YOUR BOT"進(jìn)行測試。隨便輸入一句和程序員相關(guān)的話,比如"Are you working with Java?" 在測試頁面,看到了機(jī)器人自動給我推送了一個(gè)回復(fù),同時(shí)顯示了我之前創(chuàng)建的"chat_with_programmer" skill已經(jīng)被觸發(fā)(triggered)了。這意味著Build標(biāo)簽頁里的配置也已經(jīng)完成。

最后,我們可以把這個(gè)創(chuàng)建好的聊天機(jī)器人進(jìn)行發(fā)布,讓它可以被其他平臺消費(fèi)。這里我選擇的是Webchat渠道,意思是在一個(gè)網(wǎng)頁內(nèi)嵌入這個(gè)聊天機(jī)器人的對話窗口。

點(diǎn)擊Connect標(biāo)簽頁,選擇Webchat:

可以對嵌入的聊天機(jī)器人的會話窗口的某些屬性進(jìn)行定制化,比如窗口標(biāo)題,用戶和機(jī)器人的圖片定制等。

點(diǎn)擊SAVE CHANGES,會生成一段包含Script標(biāo)簽的HTML代碼。直接拷貝到某個(gè)網(wǎng)頁里,就能使用了。

比如您可以把這個(gè)網(wǎng)頁作為HTML5應(yīng)用部署到SAP云平臺上,得到一個(gè)URL,然后把這個(gè)URL綁定到微信公眾號的某個(gè)自定義菜單上。當(dāng)用戶點(diǎn)擊了這個(gè)微信菜單后,就會在微信里打開聊天機(jī)器人的會話窗口。

具體步驟在我的博客里有介紹:

Wechat development series 5 – embedded your UI5 application to Wechat app

https://blogs.sap.com/2017/12...

下圖是我的聊天機(jī)器人在微信里工作的效果圖。

本文這個(gè)例子的完整步驟在SAP Recast.AI的官網(wǎng)上也有記載,不過是全英文的。大家有興趣可以動手做一做。感謝閱讀。

https://recast.ai/blog/build-...

要獲取更多Jerry的原創(chuàng)技術(shù)文章,請關(guān)注公眾號"汪子熙"或者掃描下面二維碼:

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/19822.html

相關(guān)文章

  • SAP人工智能服務(wù)Recast.AI一個(gè)簡單例子

    摘要:關(guān)于這個(gè)例子的完整介紹,請參考公眾號汪子熙的兩篇文章與人工智能和增強(qiáng)現(xiàn)實(shí)技術(shù)結(jié)合的又一個(gè)創(chuàng)新案例和使用創(chuàng)建具有人工智能的聊天機(jī)器人本文介紹如何用代碼同網(wǎng)站上創(chuàng)建好的模型交互。 關(guān)于這個(gè)例子的完整介紹,請參考公眾號 汪子熙的兩篇文章: showImg(https://segmentfault.com/img/remote/1460000017901513); SAP C/4HANA與人工...

    shiweifu 評論0 收藏0
  • 機(jī)器學(xué)習(xí)在SAP Cloud for Customer中應(yīng)用

    摘要:機(jī)器學(xué)習(xí)在客戶管理場景中的應(yīng)用使用機(jī)器學(xué)習(xí)進(jìn)行客戶管理,我們可以得到客戶度全方位的視圖。可以看到機(jī)器學(xué)習(xí)給為和這兩個(gè)產(chǎn)品計(jì)算的相關(guān)分?jǐn)?shù)是和。關(guān)于機(jī)器學(xué)習(xí)在中的更多應(yīng)用,請參考幫助文檔。 關(guān)于機(jī)器學(xué)習(xí)這個(gè)話題,我相信我這個(gè)公眾號1500多位關(guān)注者里,一定有很多朋友的水平比Jerry高得多。如果您看過我以前兩篇文章,您就會發(fā)現(xiàn),我對機(jī)器學(xué)習(xí)僅僅停留在會使用API的層面上。 使用Java程...

    Jeff 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<