在使用前,请先开通 消息队列 RocketMQ服务。
概述
智能对话分析服务作为消息的生产者,通过向您的阿里云消息队列RocketMQ服务中发送消息的方式推送相关信息给您,您作为消息的消费者从RocketMQ中接收并消费消息,从而实现低延迟、高并发、高可用的消息推送。
授权
需要您授权,允许智能对话分析服务向您的消息队列RocketMQ中发送消息。请使用阿里云主账号登录,点击智能对话分析控制台左侧导航中的 基础设置-消息队列,如下图,先点击 前往授权 按钮,请详细阅读弹出窗口中的内容,确认无误后中点击 确认 按钮完成授权。
消息队列配置信息
授权成功后,会显示如上图页面,点击编辑按钮,开始填写 消息队列配置信息
配置信息的内容,您可以从 消息队列RocketMQ控制台 获取,需要注意的是,消息队列RocketMQ服务的实例所属地域需要为 公网。
-
接入点:接入点地址需要填写TCP协议的地址,因为我们发送消息时使用的是RocketMQ官方推荐的TCP协议。
-
实例ID:消息队列服务的实例ID,实例所在地域需要为 公网。
-
Topic:Topic 在创建时消息类型需要选择为 顺序消息-全局顺序消息
-
Group ID:
以上配置信息填写完毕后,点击测试按钮,测试您所填写的消息队列服务配置是否可用,我们会发送一条消息来测试服务连通性,结果如下图:
发送消息的类型,目前支持以下三种:
-
实时质检单句语音识别结果:一个实时质检会话会推送N次,也就是每调用一次 SyncQualityCheck(实时质检) 接口,就会推送一次单句语音识别结果。
-
实时质检全文语音识别结果:通话结束后,推送一个实时质检会话完整的语音识别结果,一个通话仅推送一次,也就是调用 UpdateSyncQualityCheckData(维护录音信息) 接口后进行推送。
-
实时质检对话分析结果:也就是质检结果(规则命中信息),不支持单独发送,需要与 实时质检单句语音识别结果 或 实时质检全文语音识别结果 类型的消息一起发送,也就会说在发送语音识别结果消息时携带质检结果。
下图为通过消息队列服务控制台查询消息,可以看到智能对话分析目前会推送三种不同Tag的消息,您可以根据Tag的不同进行不同的处理。 testEvent:智能对话分析发送的测试消息,用来验证您所填写的消息队列配置信息是否可用。此类消息您可以直接丢弃,不用做任何处理。消息内容示例: SyncResult:实时质检单句结果,消息内容示例: SyncAllResult:实时质检全文结果,消息内容示例:
消息内容为JSON格式,数据结构描述如下: 字段 类型 示例值 描述 eventType String SyncResult 消息类型,可能值: SyncResult:实时质检单句结果。 SyncAllResult:实时质检实时质检全文结果。 testEvent:智能对话分析发送的测试消息。 checkResult Object {} 质检结果。详见下方的 checkResult结构描述。 syncQualityCheckObject Object {} 实时质检对象,为通话相关信息,和转写结果。详见下方的syncQualityCheckObject结构描述。 syncQualityCheckObject结构描述 字段 类型 示例值 描述 dialogueStatus Integer 2 实时质检会话开始、结束的标识,可能值:1(开始);2(对话中)。 taskId String 20201029C963BA7A-0DD5-45EC-AA40-4A46DC0*** 任务ID。 tid String 202010*** 通话唯一标识。 customerServiceId Long 20526561358*** 客服Id。可从控制台-基础设置-人员管理页面获取,正确填入客服id,客服登录控制塔时可以查看与自己关联的录音文件。 customerServiceName String agent 客服姓名。 skillGroupId Long 1231324234* 技能组Id。 skillGroupName String 售前技能组 技能组名称。 callType Integer 1 呼叫类型,可取值:1(呼出)(默认);3(呼入);4(其他) callee String 1760066*** 被叫号码,呼出时指的是客户号码,呼入时指的是客服号码。 caller String 0211234**** 主叫号码,呼出时指的是客服号码,呼入时指的是客户号码。 callId String 2020102*** 通话id(acid),可以是呼叫中心系统中的通话id,或者其他可以标识通话的id,存在转接时,坐席1~n,callid是相同的,tid不同。 dialogue Object 是 实时质检单句语音识别结果。详见下方的 dialogue描述。 dialogueList Array 是 实时质检全文语音识别结果。见下方的 dialogue描述。 ruleIds Array [1321,23321] 质检时使用的质检规则的规则id列表。
dialogue描述 属性 值类型 示例值 说明 role String 客服 对话内容角色,取值:客服、客户、系统。 identity String 123** 对话角色的具体身份标识,比如客服id,客户id等。 words String 您好,欢迎致电** 这个角色说的一句话。 begin Integer 3400 相对起始点的开始时间偏移,单位ms。 end Integer 5688 相对起始点的结束时间偏移,单位ms。。 emotionValue Integer 6 情绪能量值1-10,值越高情绪越强烈。 speechRate Integer 279 本句的平均语速,单位为每分钟字数。
checkResult结构描述 字段 类型 示例值 描述 rules Array [{}] 命中规则列表,详见下方 rules结构描述。
rules结构描述 字段 类型 示例值 描述 highlight Array [] 高亮对象列表,详见下方 HighlightObject结构描述。 hit Array [] 命中句子列表,详见下方 HitObject结构描述。 rid Long 23** 规则id。
HighlightObject结构描述 字段 类型 示例值 描述 cid Long 34*** 算子id 算子id Array 23** 该算子在当前句子中命中位置,需要高亮位置的列表,详见下方的 高亮位置结构描述。
高亮位置结构描述 字段 类型 示例值 描述 val String 阿里云 高亮文字。 from Integer 6 起始位置。 to Integer 9 结束位置。 cid Long 32** 条件id。 pid Integer 1 句子位置编号,命中句子在所有句子中的下标值,0代表第一句,1代表第二句。
HitObject结构描述 字段 类型 示例值 描述 phrase Object {} 命中句子的详细信息,详见下方 phrase结构描述。 cid Array [34**,32**] 命中的条件id列表。
phrase结构描述 字段 类型 示例值 描述 words String 您好,欢迎致电** 句子内容。 begin Integer 3477 起始相对时间,毫秒。 end Integer 6890 结束相对时间,毫秒。 role String 客服 角色,可能值:客服、客户。 pid Integer 1 句子位置编号,命中句子在所有句子中的下标值,0代表第一句,1代表第二句。
消息推送的类型及消息结构说明
{
"eventType":"testEvent"
}
{
"checkResult":{
"rules":[
{
"highlight":[
{
"3868":[
{
"val":"阿里云",
"pid":0,
"from":6,
"to":9,
"tid":"202010***",
"cid":"3***"
}
],
"cid":"31***"
}
],
"hit":[
{
"phrase":{
"role":"客服",
"identity":"某客服",
"words":"您好,这里是阿里云客服中心,有什么可以帮您的?",
"emotionValue":7,
"end":3930,
"pid":0,
"begin":410
},
"cid":[
"31***"
]
}
],
"rid":"2***"
}
]
},
"eventType":"SyncResult",
"syncQualityCheckObject":{
"beginTime":1603959093000,
"callId":"20201028***",
"callType":3,
"callee":"1760066***",
"caller":"268822***",
"customerServiceId":"20526561358***",
"customerServiceName":"a***",
"dialogue":{
"begin":410,
"channelId":0,
"emotionValue":7,
"end":3930,
"hourMinSec":"00:00",
"identity":"某客服",
"role":"客服",
"speechRate":443,
"words":"您好,这里是阿里云客服中心,有什么可以帮您的?"
},
"dialogueStatus":2,
"dialogueTaskUuid":"202010297009ba73-635e-40a2-8245-16315***",
"ruleIds":[
"254***",
"255***",
"251***"
],
"skillGroupId":"zc1",
"skillGroupName":"职场1",
"sourceType":1,
"taskId":"20201029C963BA7A-0DD5-45EC-AA40-4A46DC0***",
"tid":"202010***"
}
}
{
"checkResult":{
"result":[
{
"rules":[
{
"highlight":[
{
"38***":[
{
"val":"阿里云",
"from":6,
"pid":0,
"to":9,
"tid":"202010***",
"cid":"31***"
}
],
"cid":"31***"
}
],
"hit":[
{
"keyWords":[
{
"val":"阿里云",
"from":6,
"pid":0,
"to":9,
"tid":"202010***",
"cid":"31***"
}
],
"phrase":{
"role":"客服",
"emotionValue":7,
"words":"您好,这里是阿里云客服中心,有什么可以帮您的?",
"pid":0,
"identity":"某客服",
"end":3930,
"begin":410
},
"cid":[
"31***"
]
}
],
"rid":"25***"
},
{
"highlight":[
{
"38***":[
{
"val":"公测",
"from":13,
"pid":1,
"to":15,
"tid":"202010***",
"cid":"31***"
}
],
"cid":"31***"
}
],
"hit":[
{
"keyWords":[
{
"val":"公测",
"from":13,
"pid":1,
"to":15,
"tid":"202010***",
"cid":"31***"
}
],
"phrase":{
"role":"客户",
"emotionValue":6,
"words":"我想要申请参加XXX产品的公测体验。",
"pid":1,
"identity":"某客户",
"end":8000,
"begin":5940
},
"cid":[
"31***"
]
}
],
"rid":"25***"
}
],
"tid":"202010***"
}
],
"app_key":"1",
"status":200
},
"eventType":"SyncAllResult",
"syncQualityCheckObject":{
"beginTime":1603959093000,
"dialogueList":[
{
"begin":410,
"channelId":0,
"emotionValue":7,
"end":3930,
"hourMinSec":"00:00",
"identity":"某客服",
"pid":0,
"role":"客服",
"speechRate":443,
"words":"您好,这里是阿里云客服中心,有什么可以帮您的?"
},
{
"begin":5940,
"channelId":1,
"emotionValue":6,
"end":8000,
"hourMinSec":"00:23",
"identity":"某客户",
"pid":1,
"role":"客户",
"speechRate":192,
"words":"我想要申请参加XXX产品的公测体验。"
},
{
"begin":11000,
"channelId":0,
"emotionValue":5,
"end":15680,
"hourMinSec":"00:25",
"identity":"某客服",
"pid":2,
"role":"客服",
"speechRate":30,
"words":"好的,我记下了,稍后会有专员与你联系。"
}
],
"dialogueStatus":3,
"dialogueTaskUuid":"20201029a8b0ccc5d07c43e780aa702da***",
"fileName":"202010***.wav",
"taskId":"2020102908657590-73e0-4e4c-a34c-750***",
"tid":"202010***",
"voiceFileUrl":"https://sca-buck***.oss-cn-beijing.aliyuncs.com/a***st.wav"
}
}