问题情形
根据微软认知服务的文档介绍,创建认知服务(Cognitive Service)后,可以调用微软的影像(计算机视觉,人脸),语言(LUIS, 文本分析,文本翻译),语音(文本转语音,语音转文本,语言翻译)及内容审查服务。 但是在创建认知服务后,通过Key调用语音服务时,出现没有权限访问的问题(ErrorCode=AuthenticationFailure)。
在代码中使用Key
错误消息如下:
Session started event. CANCELED: Reason=Error CANCELED: ErrorCode=AuthenticationFailure CANCELED: ErrorDetails=WebSocket Upgrade failed with an authentication error (401). Please check for correct subscription key (or authorization token) and region name. SessionId: 60b5c3a75a5e4a4782ed883b77ece93a CANCELED: Did you update the subscription info? Session stopped event. |
问题原因及解决办法
首先,遇见AuthenticationFailure的问题就是考虑Key值是否正确,然后是地区Region是否正确。当确认前两项正确后,就可以考虑是服务端问题。所以最后验证下来,是当前Cognitive Service还不支持使用语音服务,解决办法为单独创建语音服务的资源(Speech)。 因为认知服务除了可以使用通用的资源外,也可以单独创建每一个需要的资源
其他问题
1:AI认知服务分为视觉、语音、语义、搜索,请问这几个服务可以搭配使用吗?比如,用视觉服务进行图像翻译,然后通过语音服务发音,发音时可选择任何一种语言?
【回答】可以的,但是不同的服务需要创建不同类型的订阅,(可以使用认知服务的资源Key来使用这几种服务)。关于文本转语音支持的语言列表可以参考 https://docs.azure.cn/zh-cn/cognitive-services/speech-service/language-support#text-to-speech
2:我可以这么理解认知服务和机器学习的区别吗?认知服务是已经通过机器学习后得到的成熟的AI服务,机器学习可以锻炼任何一种形势服务。
【回答】对,是的,Azure 认知服务是 API、SDK 和服务,可帮助开发人员生成智能应用程序,而无需具备直接的 AI 或数据科学技能或知识。 开发人员使用 Azure 认知服务能够轻松地将认知功能添加到其应用程序中。 机器学习相当于是Azure为您的机器学习项目提供了一个平台,在上面可以训练,发布项目。
参考文档
Azure 认知服务: https://docs.azure.cn/zh-cn/cognitive-services/
机器学习: https://docs.microsoft.com/en-us/azure/machine-learning/overview-what-is-azure-ml