疯狂iOS程序员AI

百度UNIT 关于导航的连续意图识别的解决方案

2017-12-19  本文已影响19人  互扯程序

需求是这样的:

打开APP里的导航模块(集成第三方),打开语音,说“我要去人民大学”,程序通过接口获取与人民大学匹配的列表。

这时候需求就来了,

    1. 允许用户手动点击选择(很常见的功能,不做讨论)

    2. 允许用户说 “第几个”,比如说第一个,则开启导航到中国人民大学,如果说第二个,则开启导航到人民大学地铁站。

    3. 允许用户说出列表中的其中一个地点,比如说“地铁站”,则开启导航到人民大学地铁站,如果说东门,则开启导航到人民大学东门。

这样的功能百度地图其实已经实现,跟百度AI的PM大牛请教了一下,总结如下:

首先需要建立两个意图:

    1. 导航意图,词槽为地点location

    2. 选择意图,词槽为第几个。    

当用户说出“我要去人民大学”,首先UNIT识别出导航的意图,找出location这个词槽值,调用第三方接口,获取与人民大学相似的列表数据,展现在客户端页面。

然后页面等待用户再次说话(可以给用户友好的语音提示,比如说,请选择第几个,或请说出您要到的具体位置),这时候就会有两种情况,

(一)用户说“选择第二个”,这时候,UNIT进行意图识别,识别出选择意图,然后把“第二个”这个值返回给客户端,客户端根据上一个意图的结果进行这次意图的选择。选中第二个,开启导航。

(二)用户说“我要去地铁站”,这时候,UNIT进行意图识别,再次识别出导航意图,把地铁站这个词槽的值返回给客户端,客户端需要做业务上的处理,把地铁站与上一个意图结果进行文本匹配,如果匹配上,就是用户所要去的地方,相当于(人民大学 + 地铁站),找到最终位置。

如果没有匹配上的话,则重新调用第三方列表接口,查询出列表,再次让用户选择,直到用户选中结果集的其中一个,否则,这个过程是循环往复的。

这样的好处是,用户想改变导航的目的地提供简单的解决方案,比如说用户第一次说“我要去人民大学”,可是他不想去了,想去北京大学,那只要继续说出“我要去北京大学” 即可。

这样的需求就需要定义多个意图同时完成,需要业务上进行特殊处理。

推荐阅读:

技术:2018,如何从小白升级到大牛程序员呢?

技术:http2.0的时代真的来了...

技术:如何站在巨人的肩膀上,将自己的产品赋予AI的能力?

工具:如何通过技术手段 “干掉” 视频APP里讨厌的广告?

工具:通过技术手段 “干掉” 视频APP里讨厌的广告之(腾讯视频)

工具:抓包神器之Charles,常用功能都在这里了

干货分享:

分享:深度机器学习56G视频资源分享

知识分享:现在是资源共享的时代,同样也是知识分享的时代,如果你觉得本文能学到知识,请把知识与别人分享

一码不扫,何以扫天下?长按关注我们
上一篇 下一篇

猜你喜欢

热点阅读