自助服务
为什么要配置停用词?
在配置意图的过程中,发现在A意图中配置了语料Are you a Robot, 但是实际测试时,输入are you a robot会匹配到其他语料,这是什么原因造成的呢?
原来系统中未将Are配置为停用词,造成机器人将are进行词形还原成be,而语料中存在is,也一样进行词形还原为be,所以导致输入“are you a robot”时系统根据语料匹配到其他意图。这种问题可以通过配置停用词解决。
实际语言中存在一些词,并没有实际含义,仅起到连接作用,例如英文中的BE动词,中文中的助词“的”等。为了使这些词不参与语义解析,需要将这些词在
的停用词页签添加。
为什么有的意图匹配率挺低,但却也命中了?
用户输入的信息在TUC侧解析后会生成匹配率,该匹配率会和系统中定义的匹配率阈值做比较,来确定该意图是命中还是没有命中。
系统的匹配率在
中配置。意图参数的不当设置会导致意图识别模块运行异常或准确率下降,请在专业人员指导下进行。
目前意图决策模块中有两个参数:
高于“top阈值”即认为命中,将命中的意图响应返回,低于“bottom阈值”的即识别为未知意图,在这两个值中间的当前系统作为命中意图处理。即,再上述配置下, 只要意图匹配率高于20%,就算是命中了。
TTS无法识别日期格式
问题描述
在配置西班牙语对话识别时,发现TTS播报时无法将20190801 这种格式的字符串视为年月日的格式进行播报,而直接播报成数字,客户体验不好。因此需要采取措施优化播报结果,使之播报成日期格式。
问题分析
流程中发现无论是通过获取ODFS系统日期SYS.systemDate,还是通过获取TUC槽位的日期实体值,都是yyyyMMdd格式,均没有自动转换格式的能力,怀疑是局点使用的TTS(Text to Speech0)系统对日期格式有要求。
根据同局点提供的TTS进行对接调试发现,2019/08/01这种格式的日期字符串送到TTS可以正常播报为年月日的形式,因此需要在放音前手工处理,将格式进行转换。
解决方法
在语义识别图元后添加一个业务接口调用图元,将语义识别图元中的槽位变量的值通过Java的字符串处理函数substring()进行格式转换和拼接。
具体参数值如下所示:
TOC.ChatBotMonth.substring(0,4)+"/"+TOC.ChatBotMonth.substring(4,6)+"/"+TOC.ChatBotMonth.substring(6,8)+ " a "+TOC.ChatBotMonth.substring(9,13)+"/"+TOC.ChatBotMonth.substring(13,15)+"/"+TOC.ChatBotMonth.substring(15,17)
Month为语音识别图元执行时获取的槽位变量名,在系统中使用TOC.ChatBotMonth表示。
槽位变量的使用方法请参见参数。
如何配置多槽位反复填充场景?
问题描述
要实现与机器人交互来进行订餐的话术,需要获取的槽位信息有,订餐日期,时间,人数等,要求支持用户在与机器人交互的过程中随时更改已填过的槽位。
例如用户已说过“明天晚上6点,3个人”,但是确认环节时,又说“改成7点吧”,系统需要重新填槽,时间改成晚上7点。
根据当前ODFS的处理方式,如果使用意图模板的槽位必填校验,则会造成修改后的槽位信息不能立刻修改;而如果使用清除上下文重新填槽位,则不需要修改的槽位也会被清空。
解决方法
可使用如下方法实现多轮对话中用户反复变更信息的场景:
- 在意图模板配置时,将所有的槽位都设置成非必选槽位,这样不会使TUC在一个意图里缓存已填槽位。等待下次交互获取下一个槽位信息,避免了槽位已填就不能修改的问题。
- 在“响应”页签添加根据不同槽位信息返回不同命令字的判断逻辑。
- 在流程编排页面,通过流程对意图返回命令字进行分支判断,播放不同的语音。
每一次的识别交互,都填一次槽,填上一个或多个就返回不同的意图码给对话流程,对话流程将每次交互获取的槽位信息,缓存到流程变量中,从而实现每次识别都能根据ODFS缓存的信息来刷新槽位填充的内容。
IVR与ODFS交互出现死循环的检查方法
问题描述
通过IVR拨测流程,当出现放音失败,比如TTS对接问题或者放文件音时文件不存在等异常情况时,流程异常终止,检查IVR和ODFS日志,发现出现疑似死循环的日志出现,主要现象是TTS一直播报the system error。
问题分析
当IVR执行系统返回的放音时,如果放音失败,则向IVR向OIAP系统发起sys_err的请求,此时系统无法再处理sys_err的时候触发了异常,而系统的对话流程并未找到异常子流程进行处理,则直接返回IVR默认的异常TTS内容返回信息。
IVR在接收到默认TTS内容播报时也播放失败,继续发送sys_err的请求给OIAP,而OIAP继续触发异常返回异常TTS,即使用户挂机,IVR业务无法捕获挂机事件,只能发送sys_err请求,因此出现死循环。
根据上述分析,造成错误的原因可能如下:
- 未配置sys_err意图或未识别意图
- 对话流程中未配置异常的条件分支
解决方法
可以对您的意图模板和对话流程做如下检查:
- 检查分支判断是否考虑全面:
- 在进行各个图元的条件分支定义时,尽量保证所有条件的合集能包含所有正常异常的场景,避免出现实际产生的结果无法匹配所配置的各个分支。图元后续的连线,没有选择条件时,就是默认分支,这个分支的连线务必要处理。
- 对话流程中要创建一个异常子流程,子流程里可简单播放一个系统异常的语音,只支持放音不支持按键和识别,然后直接结束。
- 检查意图模板中是否配置了未知意图。
在8.9.0版本及以后版本中,新建的领域下已经预置了几个常用的意图模板,请确保这些意图模板未被删除,如果不存在未知意图,请自行配置, 确保未知意图的“响应”页签,意图回复的“命令”配置为“UNKNOWN_INTENT”,如图1所示。
如何在流程中配置语音识别错误次数?
问题描述
流程在进行语音识别交互时,对话流程提供了默认的错误次数控制,具体处理机制为:
- IVR识别超时,则记录一次timeout。
- IVR识别错误以及意图模板拒识则记录一次 nomatch。
- OIAP会进行次数累加,超时和拒识是重叠计数的,累计达到三次,则默认会记录成error3的条件。
只支持同一个语音识别的图元下进行计数。
以上固定的规则,只能满足同一识别场景,超时与拒识一起计数,且到三次即停止。
但是当需求要求超时次数与拒识分开计数时、或者多次识别共同计数、或者其他的错误场景也累计到此错误、甚至错误次数不止三次等等,上述规则则不能满足了。
解决方法
当默认的规则不满足需求要求时,可以使用业务计数规则:
使用业务接口调用图元,自定义计数变量,可使用GLOBAL级别或者FLOW级别,分别可以用于不同计数场景;当识别超时,或者拒识可设置不同的分支,分别连接到次数累加图元:
根据错误次数变量来决定走什么样的分支,比如播放错误提示,或者直接返回重新播放提示音等等。
客户拨打电话可以找到之前通话过的客服座席么?
在熟知座席工号的情况下,IVR支持转座席处理,详细操作请参考配置普通IVR。
呼叫中心是否支持指定座席接听?
IVR流程配置中支持转座席操作,需已知座席工号,详细操作请参考配置普通IVR。
呼叫中心是否支持根据座席上下班时间设置不同提示音?
您可以在IVR中配置相关流程,使用不同放音提示提醒客户座席工作时间。具体IVR流程配置可参考配置普通IVR。
呼叫中心是否支持其他产品?
呼叫中心支持智能语音导航产品,可以实现自助式导航功能,具体配置可参考配置普通IVR。
呼叫中心是否可以不用人工参与完成某些查询业务?
可以选择智能IVR流程,根据客户语音识别完成查询业务。
如何配置来电提示音?
在IVR流程中配置放音图元,当前支持“语音”、“文字转语音”和“视频”三种类型的语音提示。
通过呼叫中心提供的API能否创建一个IVR流程?
不能,IVR流程需要在云联络中心系统界面上创建,创建完成后可以通过调用IVR的ID引用在API接口中。
如何处理IVR流程发布失败?
IVR流程状态为发布失败,可以通过以下办法排查:
- 放音图元中TTS转语音文件中存在空格,TTS无法识别,造成IVR流程发布失败。
- 单击所选图元,检查右侧图元信息必填内容是否填写完整。
- 检查图元间连线是否完整,,从开始图元开始,连接所有图元,到结束图元结束。
根据以上方法排查后流程依然发布失败,请联系云客服运营人员处理。
如何创建一个简单的机器人流程?
请参考和机器人说你好。
机器人是否支持语音文本转换或者情绪识别功能?
智能IVR流程支持语音文本转换功能以及情绪识别功能,具体内容可以参考配置智能IVR。
从多媒体服务变到转语音的时候,是座席呼叫客户吗?
不是,如果是全能型座席场景,是直接在音视频技能队列里面来的呼叫。
如果是多媒体座席的协同呼叫,用户可以发起匿名呼叫到座席,座席可以发起点击呼叫到已经接入的用户,点对点的。