Amazon web services 如何修改amazon lex输出语音?

Amazon web services 如何修改amazon lex输出语音?,amazon-web-services,aws-lex,Amazon Web Services,Aws Lex,我正在尝试用aws lex创建一个语音机器人 在这种情况下,意向响应之一是“您的事件INC11111已结束”(文本) 上述响应来自lambda函数。请检查下面的代码 let response = (event, data) => { let lambda_response = { "sessionAttributes": { "incidentNo": event.currentIntent.slots.INCIDENT_NO, },

我正在尝试用aws lex创建一个语音机器人

在这种情况下,意向响应之一是“您的事件INC11111已结束”(文本)

上述响应来自lambda函数。请检查下面的代码

let response = (event, data) => {
    let lambda_response = {     
   "sessionAttributes": {
      "incidentNo":  event.currentIntent.slots.INCIDENT_NO,
    },   
    "dialogAction": {     
        "type": "Close",
        "fulfillmentState": "Fulfilled",
        "message": {       
           "contentType": "PlainText",
           "content": "Hi " + data["User ID"].split('.')[0]+", Your Incident Number " +  "INC"+event.currentIntent.slots.INCIDENT_NO+ " is ," + data["Status"]
        },    
     } 
    };

    return lambda_response;
};
Ex事件编号:INC11111

但声音输出是“你的事故公司110万11千1百11已关闭”

我所期待的是“你的事件公司一号关闭”。
提前感谢。

您需要使用SSML(语音合成标记语言)

使用SSML标记,您可以自定义和控制语音的各个方面,例如发音、音量和语速

在SSML中,可以使用多种指令以不同的方式发音。在您的情况下,
say as
指令可能很有用

根据问题编辑,尝试以下更改

    "message": {       
       "contentType": "SSML",
       "content": "<speak> Hi " + data["User ID"].split('.')[0]+", Your Incident Number <say-as interpret-as="characters">" +  "INC"+event.currentIntent.slots.INCIDENT_NO+ "</say-as> is ," + data["Status"] +"</speak>"
    },    
“消息”:{
“contentType”:“SSML”,
“内容”:“Hi”+数据[“用户ID”]。拆分('.)[0]+”,您的事件编号“+”INC“+事件。currentIntent.slots。事件号+”为“+数据[“状态”]+”
},    

相关阅读:

Hi@juned Ahsan,我收到aws lambda函数的响应。请检查更新的问题。@Vijay只需将contentType更改为SSML并将文本包装在标记中。我已为您提供的消息标记的答案添加了更新