加入收藏 | 设为首页 | 会员中心 | 我要投稿 河北网 (https://www.hebeiwang.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长百科 > 正文

行使Recast.AI建设具有人工智能的谈天呆板人

发布时间:2019-02-21 14:39:17 所属栏目:站长百科 来源:微信公众号(汪子熙) 原文链接:https://mp.wei
导读:作者:Wang Jerry 来历:微信公家号(汪子熙) 原文链接:https://mp.weixin.qq.com/s/p65fpg10UndUSw_cbsJ3vQ 许多SAP参谋伴侣们对付人工智能/呆板进修这个话题很是感乐趣,也在不绝思索怎样将这种新技能和SAP传统产物相团结。Jerry之前的微信公家号文章C

作者:Wang Jerry 来历:微信公家号(汪子熙) 

原文链接: https://mp.weixin.qq.com/s/p65fpg10UndUSw_cbsJ3vQ


许多SAP参谋伴侣们对付人工智能/呆板进修这个话题很是感乐趣,也在不绝思索怎样将这种新技能和SAP传统产物相团结。Jerry之前的微信公家号文章 C4C和微信集成系列教程 曾经先容了Partner怎样操作SAP Cloud for Customer内置的交际媒体集成框架,做一些简朴的开拓将微信集成到C4C中去。该系列教程里个中一篇文章,先容了怎样将图灵呆板人集成到某个微信公家号的动静处事器上去,让该微信公家号可以“智能地”同其存眷粉丝谈天。


行使Recast.AI建设具有人工智能的谈天呆板人


这个图灵呆板人的图灵处事通过Restful API的方法袒暴露来,全部和呆板进修相干的细节都被www.tuling123.com封装成黑盒子,应用开拓职员尽管斲丧。这是第三方的人工智能办理方案。


行使Recast.AI建设具有人工智能的谈天呆板人


2018年1月,SAP收购了一家法国的人工智能提供商,Recast.AI, 以后SAP也有了本身的人工智能办理方案。


行使Recast.AI建设具有人工智能的谈天呆板人


此刻,会见https://recast.ai, 能看到一行精明的提醒: Recast.AI is now part of SAP 。那么Recast.AI提供了奈何的成果呢?最好的入门步伐,莫过于本身下手做一个Hello World例子出来。随着Jerry一块做一个吧。


行使Recast.AI建设具有人工智能的谈天呆板人


我们的目标同本文开头截图展示的同等:开拓一个在微信里行使的谈天呆板人,差异之处在于这次我们行使 SAP Recast.AI 作为人工智能办理方案。


绝大大都SAP参谋伴侣们存眷的是怎样操作人工智能基于SAP传统产物做创新,给客户带来代价,而不是花大量时刻精神去进修呆板进修底层必要的那些深邃的数学常识。Recast.AI也美满地将不必要应用开拓职员相识的呆板进修底层细节举办了封装,我们将要做的这个谈天呆板人乃至不必要太多的编码。


我们在Recast.AI网站上在线建设谈天呆板人。一样平常网站初次登岸都必要先建设用户,而Recast.AI除了通例用户注册方法外,还知心地提供了行使Github账号直接登录的选择,对付天天混Github的措施员来说,这太利便了。


行使Recast.AI建设具有人工智能的谈天呆板人


点击按钮应承Recast.AI会见您Github账号的公有信息后,能看到这个接待界面: 


行使Recast.AI建设具有人工智能的谈天呆板人


点"START WITH A TEMPLATE"基于现成的模板建设一个呆板人:


行使Recast.AI建设具有人工智能的谈天呆板人


和我们在Fiori UI里举办营业模子建设相同,起首维护呆板人的ID和描写信息:


行使Recast.AI建设具有人工智能的谈天呆板人


建设乐成后,来到如下的呆板人明细页面,一共包括5个标签。本文只会用到Train, Build和Connect这三个标签。


Train标签下没有任何内容,只有一个提醒:You have no intents.


行使Recast.AI建设具有人工智能的谈天呆板人


什么是intent呢?在Android开拓里也有intent的观念,intent 是一个将要执行的举措的抽象描写。 Android框架按照此intent的描写,认真找到将要执行举措对应的组件,再把包括了附加参数的intent转达给抉择出的认真组件。而在Recast.AI里的intent同样是一个抽象观念。普通地表明,intent是一系列句子的荟萃,这些句子固然从笔墨上来说表达方法各异,然而转达的是统一个意思。


好比下列三句话着实是在统一个题目:

  • 你是一个措施员么?

  • 你天天的事变是编写代码么?

  • 你天天行使集成开拓情形可能呼吁行举办单法式试么?


我们可以把这三个句子归为统一个intent,暂时定名为"措施员"。假设当用户又发送了一个新的文本到您的谈天呆板人去:“你是靠编写代码维生么?” Recast.AI封装好的算法会理会这个文本,将其和"措施员"intent里的语句举办较量,假如判定出来这个新的文本和intent中的某一句表达的意思很是靠近,那么我们就能嗣魅这个新文本的intention(意图)是"措施员"。此时,就可以让呆板人回覆预先筹备好的答复,好比“是的,我是措施员,我很喜好写代码”。


上面的描写现实上已经涵盖了本文谈天呆板人建设完毕后,必要执行哪些后续步调。

回到我建设的谈天呆板人,今朝没有分派任何intent。

行使Recast.AI建设具有人工智能的谈天呆板人


那么我就点Create按钮建设一个。虽然也可以点Search按钮,从Recast社区上搜刮一个体人建设好的intent。


行使Recast.AI建设具有人工智能的谈天呆板人


此刻新建的这个programmer intent还没有任何语句,此刻我们就来给它“喂”一些句子,这个举措称为"Train(实习)"。输入一个句子"Are you a programmer?",回车:


行使Recast.AI建设具有人工智能的谈天呆板人


Recast.AI会自动将这个句子举办分词,而且辨认出一个代词(Pronoun) - You, 一个数目词(Number) - a, 和一个事变描写(Job) - programmer。

行使Recast.AI建设具有人工智能的谈天呆板人


我们再多喂几个句子给这个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?

行使Recast.AI建设具有人工智能的谈天呆板人


什么时辰可以竣究竟习呢?起首给intent喂的句子越多,那么它说明新的语句的意图(intention)是否和措施员相干的精确度就越高。此刻我们可以对这个intent举办测试。点击Train标签页右上角的Test链接,会看到下图的测试窗口。此刻我给这个intent发送一条文本:

Are you working with Java every day?


行使Recast.AI建设具有人工智能的谈天呆板人


Recast.AI将这个句子同我建设的"programmer" intent里的句子举办较量,最后判定出,这句话有99%的也许性属于该intent(下图字段confidence: 0.99)。 


行使Recast.AI建设具有人工智能的谈天呆板人


那么我们就竣究竟习,进入下一个"Build"步调。这个步调认真界说当您的谈天呆板人乐成辨认到了您的输入是在接头措施员后,应该执行何种举措。Recast.AI把呆板人这种乐成辨认出文本的intention后执行某种举措的手段,,称为skill。在Build标签页点击Create skill:

行使Recast.AI建设具有人工智能的谈天呆板人


我给新建的skill取名:chat_with_programmer

行使Recast.AI建设具有人工智能的谈天呆板人


给这个skill界说Triggers,意思是满意何种前提会触发这个skill?在Triggers标签页下面行使Recast.AI预置的一些公式举办前提界说。


下图if@programmer,意思就是:假如谈天呆板人计较出用户发送的文本是属于"programmer"这个intent:


行使Recast.AI建设具有人工智能的谈天呆板人


Actions就是在这种前提下应该执行的详细举措。

行使Recast.AI建设具有人工智能的谈天呆板人


这里我界说的Actions就是简朴地推送一些文本(SEND MESSAGE)给用户。


筹备一些文本,呆板人会从中间随机地选取一条推送给用户。

  • 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!


行使Recast.AI建设具有人工智能的谈天呆板人


点击Build标签页的"CHAT WITH YOUR BOT"举办测试。任意输入一句和措施员相干的话,好比"Are you working with Java?" 在测试页面,看到了呆板人自动给我推送了一个回覆,同时表现了我之前建设的"chat_with_programmer" skill已经被触发(triggered)了。这意味着Build标签页里的设置也已经完成。


行使Recast.AI建设具有人工智能的谈天呆板人


最后,我们可以把这个建设好的谈天呆板人举办宣布,让它可以被其他平台斲丧。这里我选择的是Webchat渠道,意思是在一个网页内嵌入这个谈天呆板人的对话窗口。


点击Connect标签页,选择Webchat:


行使Recast.AI建设具有人工智能的谈天呆板人


可以对嵌入的谈天呆板人的会话窗口的某些属性举办定制化,好比窗口问题,用户和呆板人的图片定制等。


行使Recast.AI建设具有人工智能的谈天呆板人


点击SAVE CHANGES,会天生一段包括Script标签的HTML代码。直接拷贝到某个网页里,就能行使了。

行使Recast.AI建设具有人工智能的谈天呆板人


好比您可以把这个网页作为HTML5应用陈设到SAP云平台上,获得一个URL,然后把这个URL绑定到微信公家号的某个自界说菜单上。当用户点击了这个微信菜单后,就会在微信里打开谈天呆板人的会话窗口。


详细步调在我的博客里有先容:


行使Recast.AI建设具有人工智能的谈天呆板人


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

https://blogs.sap.com/2017/12/17/wechat-development-series-5-embedded-your-ui5-application-to-wechat-app/


下图是我的谈天呆板人在微信里事变的结果图。


行使Recast.AI建设具有人工智能的谈天呆板人


本文这个例子的完备步调在SAP Recast.AI的官网上也有记实,不外是全英文的。各人有乐趣可以下手做一做。感激阅读。

https://recast.ai/blog/build-your-first-bot-with-recast-ai/

(编辑:河北网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读