我有一个机器人和一个使用Azure语音服务的客户端应用程序。当我与客户端应用程序交谈时,语音服务将语音转文本结果返回给客户端,并带有完整的标点符号和大写字母。但是,它将相同的文本发送给机器人,而不带任何大写字母或标点符号。
如何让机器人程序接收到与客户端应用程序接收到的相同的大写和标点文本?
此问题仅在bot部署到Azure时发生。在本地运行bot并使用Bot Framework Emulator进行测试时不会发生此问题。
我不确定这个问题是否是由于我的特定机器人和客户端,所以我尝试使用这个Tutorial: Voice-enable your bot重现问题。
根据教程,我将EchoBot部署到Azure并使用Windows语音助手客户端进行测试。同样,客户端收到大写和标点文本,而机器人收到的文本没有大写或标点。
测试示例:
1.我说“你叫什么名字?”客户端得到并显示“你叫什么名字?”EchoBot显示:“你叫什么名字”
1.我说“这可能是真的。为什么?谁想知道?”客户端显示“这可能是真的。为什么?谁想知道?”EchoBot显示:“回声:这可能是真的,为什么谁想知道”
如何解决这个问题?如何让机器人在部署到Azure时接收与客户端接收的相同的文本,并正确地使用标点符号和大写字母进行修饰?
有没有我不知道的语音服务设置可以解决这个问题?
我能想到的唯一解决方案是让客户端,一旦它收到正确修饰的文本,将其发送回语音服务,以便传递给机器人。(语音服务将文本传递给机器人,而不会剥离大写或标点符号。)这是一个笨拙的解决方案,需要在网络上进行额外的旅行。希望有更好的东西。谢谢。
1条答案
按热度按时间zzlelutf1#
我认为正在发生的事情是,当音频被记录,这是发送,然后由语音服务解释,这样做没有任何标点符号(因为它***只有***有音频。它没有任何标点信息,不想假设任何也许?)。我不知道Windows语音助手客户端正在做什么,以使其格式/标点正确。
我不相信你能做任何事情,除了在机器人端处理它。我建议也许使用人性化库恢复它的东西'正确'/适当的。