
# 自助服务
#### 为什么要配置停用词？
在配置意图的过程中，发现在A意图中配置了语料Are you a Robot， 但是实际测试时，输入are you a robot会匹配到其他语料，这是什么原因造成的呢？
原来系统中未将Are配置为停用词，造成机器人将are进行词形还原成be，而语料中存在is，也一样进行词形还原为be，所以导致输入"are you a robot"时系统根据语料匹配到其他意图。这种问题可以通过配置停用词解决。
实际语言中存在一些词，并没有实际含义，仅起到连接作用，例如英文中的BE动词，中文中的助词"的"等。为了使这些词不参与语义解析，需要将这些词在"TUC管理 \> 模板管理 \> 系统配置"的停用词页签添加。
![](https://support.huaweicloud.com/cec_faq/figure/zh-cn_image_0000001397401329.png)
#### 为什么有的意图匹配率挺低，但却也命中了？
用户输入的信息在TUC侧解析后会生成匹配率，该匹配率会和系统中定义的匹配率阈值做比较，来确定该意图是命中还是没有命中。
系统的匹配率在"模板配置 \> 系统配置 \>意图参数"中配置。
![](https://support.huaweicloud.com/cec_faq/public_sys-resources/notice_3.0-zh-cn.png)
意图参数的不当设置会导致意图识别模块运行异常或准确率下降，请在专业人员指导下进行。
目前意图决策模块中有两个参数：
![](https://support.huaweicloud.com/cec_faq/figure/zh-cn_image_0000001372440845.png)
高于"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)
![](https://support.huaweicloud.com/cec_faq/public_sys-resources/note_3.0-zh-cn.png)
Month为语音识别图元执行时获取的槽位变量名，在系统中使用TOC.ChatBotMonth表示。
槽位变量的使用方法请参见参数。
![](https://support.huaweicloud.com/cec_faq/figure/zh-cn_image_0000001321560414.jpg)
#### 如何配置多槽位反复填充场景？
**问题描述**
要实现与机器人交互来进行订餐的话术，需要获取的槽位信息有，订餐日期，时间，人数等，要求支持用户在与机器人交互的过程中随时更改已填过的槽位。
例如用户已说过"明天晚上6点，3个人"，但是确认环节时，又说"改成7点吧"，系统需要重新填槽，时间改成晚上7点。
根据当前ODFS的处理方式，如果使用意图模板的槽位必填校验，则会造成修改后的槽位信息不能立刻修改；而如果使用清除上下文重新填槽位，则不需要修改的槽位也会被清空。
**解决方法**
可使用如下方法实现多轮对话中用户反复变更信息的场景：
1. 在意图模板配置时，将所有的槽位都设置成非必选槽位，这样不会使TUC在一个意图里缓存已填槽位。等待下次交互获取下一个槽位信息，避免了槽位已填就不能修改的问题。
2. 在"响应"页签添加根据不同槽位信息返回不同命令字的判断逻辑。 
   ![](https://support.huaweicloud.com/cec_faq/figure/zh-cn_image_0000001321400486.png)
   
   
3. 在流程编排页面，通过流程对意图返回命令字进行分支判断，播放不同的语音。 
   每一次的识别交互，都填一次槽，填上一个或多个就返回不同的意图码给对话流程，对话流程将每次交互获取的槽位信息，缓存到流程变量中，从而实现每次识别都能根据ODFS缓存的信息来刷新槽位填充的内容。
   ![](https://support.huaweicloud.com/cec_faq/figure/zh-cn_image_0000001372360317.jpg)
   
   
 
#### 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意图或未识别意图
- 对话流程中未配置异常的条件分支
**解决方法**
可以对您的意图模板和对话流程做如下检查：
- 检查分支判断是否考虑全面：
1. 在进行各个图元的条件分支定义时，尽量保证所有条件的合集能包含所有正常异常的场景，避免出现实际产生的结果无法匹配所配置的各个分支。图元后续的连线，没有选择条件时，就是默认分支，这个分支的连线务必要处理。 ![](https://support.huaweicloud.com/cec_faq/figure/zh-cn_image_0000001321720354.jpg)
   
2. 对话流程中要创建一个异常子流程，子流程里可简单播放一个系统异常的语音，只支持放音不支持按键和识别，然后直接结束。 ![](https://support.huaweicloud.com/cec_faq/figure/zh-cn_image_0000001372081137.jpg)
   
- 检查意图模板中是否配置了未知意图。 在8.9.0版本及以后版本中，新建的领域下已经预置了几个常用的意图模板，请确保这些意图模板未被删除，如果不存在未知意图，请自行配置， 确保未知意图的"响应"页签，意图回复的"命令"配置为"UNKNOWN_INTENT"，如[图1]所示。
  图1未知意图配置页面   
  ![](https://support.huaweicloud.com/cec_faq/figure/zh-cn_image_0000001372240525.png) 
 
#### 如何在流程中配置语音识别错误次数？
**问题描述**
流程在进行语音识别交互时，对话流程提供了默认的错误次数控制，具体处理机制为：
1. IVR识别超时，则记录一次timeout。
2. IVR识别错误以及意图模板拒识则记录一次 nomatch。
3. OIAP会进行次数累加，超时和拒识是重叠计数的，累计达到三次，则默认会记录成error3的条件。
![](https://support.huaweicloud.com/cec_faq/public_sys-resources/note_3.0-zh-cn.png)
只支持同一个语音识别的图元下进行计数。
以上固定的规则，只能满足同一识别场景，超时与拒识一起计数，且到三次即停止。
但是当需求要求超时次数与拒识分开计数时、或者多次识别共同计数、或者其他的错误场景也累计到此错误、甚至错误次数不止三次等等，上述规则则不能满足了。
**解决方法**
当默认的规则不满足需求要求时，可以使用业务计数规则：
使用业务接口调用图元，自定义计数变量，可使用GLOBAL级别或者FLOW级别，分别可以用于不同计数场景；当识别超时，或者拒识可设置不同的分支，分别连接到次数累加图元：
![](https://support.huaweicloud.com/cec_faq/figure/zh-cn_image_0000001321240798.jpg)
根据错误次数变量来决定走什么样的分支，比如播放错误提示，或者直接返回重新播放提示音等等。
#### 如何设置呼叫中心呼叫黑名单？
- 可以在智能IVR中设置呼入黑名单，可参考新增黑白名单。
- 可以在自动外呼中设置呼出黑名单，可参考管理外呼黑名单。
 
#### 客户拨打电话可以找到之前通话过的客服座席么？
在熟知座席工号的情况下，IVR支持转座席处理，详细操作请参考配置普通IVR。
#### 呼叫中心是否支持指定座席接听？
IVR流程配置中支持转座席操作，需已知座席工号，详细操作请参考配置普通IVR。
#### 呼叫中心是否支持根据座席上下班时间设置不同提示音？
您可以在IVR中配置相关流程，使用不同放音提示提醒客户座席工作时间。具体IVR流程配置可参考配置普通IVR。
#### 呼叫中心是否支持其他产品？
呼叫中心支持智能语音导航产品，可以实现自助式导航功能，具体配置可参考配置智能IVR。
#### 呼叫中心是否可以不用人工参与完成某些查询业务？
可以选择智能IVR流程，根据客户语音识别完成查询业务。
#### 如何配置来电提示音？
在IVR流程中配置放音图元，当前支持"语音"、"文字转语音"和"视频"三种类型的语音提示。
#### 通过呼叫中心提供的API能否创建一个IVR流程？
不能，IVR流程需要在云联络中心系统界面上创建，创建完成后可以通过调用IVR的ID引用在API接口中。
#### 如何处理IVR流程发布失败？
IVR流程状态为发布失败，可以通过以下办法排查：
- 放音图元中TTS转语音文件中存在空格，TTS无法识别，造成IVR流程发布失败。
- 单击所选图元，检查右侧图元信息必填内容是否填写完整。
- 检查图元间连线是否完整，，从开始图元开始，连接所有图元，到结束图元结束。
配置智能IVR根据以上方法排查后流程依然发布失败，请联系云客服运营人员处理。
#### 如何创建一个简单的机器人流程？
请参考[和机器人说你好](https://support.huaweicloud.com/qs-cec/cec_02_0004.html)。
#### 机器人是否支持语音文本转换或者情绪识别功能？
智能IVR流程支持语音文本转换功能以及情绪识别功能，具体内容可以参考配置智能IVR。
#### 机器人上面人工客服图标旁的注释是transform to agent么？transform是变形，转换的意思，不适合用于"转人工客服"这种吧。
谢谢提出，已经向产品反馈问题。
#### 从多媒体服务变到转语音的时候，是座席呼叫客户吗？
不是，如果是全能型座席场景，是直接在音视频技能队列里面来的呼叫。
如果是多媒体座席的协同呼叫，客户可以发起匿名呼叫到座席，座席可以发起点击呼叫到已经接入的用户，点对点的。
#### 如何使用工具转换音频格式？
当现有音频文件格式不符合云联络中心IVR语音上传格式时，可参考以下步骤转换音频文件：
1. 下载并安装格式转换软件GoldWave。
2. 安装完成后双机运行GoldWave。
3. 选择"File \> Open"，在本地选择需要上传的音频文件，单击确定上传文件。
4. 选择"File \> Save Selection As.."，执行文件另存操作。
5. 选择保存地址，设置"文件名称"，"保存类型"选择"Wave"格式。
6. 单击"Attributes"，选择格式为"A-Law，8000HZ，64kbps，mono"。 ![](https://support.huaweicloud.com/cec_faq/figure/zh-cn_image_0000001372440849.png)
   
7. 单击"OK"，音频格式设置完成，单击"保存"，完成音频文件格式转换。
8. 转换完成后，可登录云联络中心，上传IVR语音文件。
 
