我已经开发了一个虚拟助手,并正在使用WebChat与认知语音服务一起测试它。我有一个问题:来自机器人的一些响应包括建议的操作,例如,
"Choose a color"
"RED" "BLUE" "GREEN"通过键入或单击所选的颜色,一切都正常。如果我用麦克风讲话,在句子末尾加一个“句号”。“蓝色”这样,LUIS不会识别答案,并重新询问问题。
让它正确识别的最好方法是什么?有没有办法禁止语音引擎添加最后一个句号?或者有更好的解决方案?(比如标准化LUIS中的标点符号,使其忽略这一点或其他什么?)
发布于 2020-01-11 03:18:44
在机器人接收到任何标点符号之后,但在将其发送到LUIS并对其进行处理之前,您需要清除该活动。您可以使用以下正则表达式删除不需要的字符(选择要擦除的字符...我包含了很多字符),并替换剩余的堆叠空格,如下所示:
让text = turnContext.context.activity.text;让scrubbedText = text.replace(/.,/#!$%\^&*;:{}=-_`~()/g,"");const finalString = scrubbedText.replace(/\s{2,}/g,“");
然后,使用擦除后的文本更新activity.text,并将其发送给LUIS。
https://stackoverflow.com/questions/59684680
复制相似问题