抖⾳ai智能机器⼈挂机_AI智能电话机器⼈源码搭建揭秘!随着⼈⼯智能的普及,AI已经渗透到各⾏各业,本⽂就为⼤家介绍了利⽤最前沿的AI技术实现电话机器⼈的原理。智能电话机器⼈就是充分的利⽤了⼈⼯智能语⾳识别技术和⼤数据的精准分析定位,完全是对传统模式是⼀次颠覆性的变化,是智能化的⼈海战术还是时代化的“⼈⼯+智能语⾳”的⼀种⽅式,智能电话机器⼈是企业的福⾳!帮企业降低成本,提⾼⼯作效率,提升公司业绩!
电话机器⼈⽐⼈⼯坐席厉害的是,电话号码直接在后台⼀键导⼊,省时⼜省⼒,⾃动拨打。智能轮流对话,根据系统设定可以对客户进⾏筛选统计,依据客户的回答智能分类意向程度,把意向最⾼的甲类客户交给⼈⼯进⾏着重跟进,这样就能使整个电销过程的⼯作效率⼤⼤提⾼。
作为“⼈⼯智能”的产物,正在逐渐的给电销⾏业带来⼤改变⼤⾰命,把繁琐、枯燥、耗时的⼯作交给智能电话机器⼈完成,后台分类管理,加以精英销售跟进,不仅⼤⼤提⾼⼯作效率,⽽且能更好的把⼈⼒资源进⾏再分配再分组,减少企业运营成本!应该是每位⽼板都在想的问题。
对于电销公司来讲如何精准地识别真实客户⼀直是很难攻克的难点所在。对于智能电话机器⼈来说,可以通过真⼈语⾳式专家级的沟通,模拟电销⼈员和客户进⾏多轮互动的有效沟通,通过⽤户画像和⼤数据模型精准找到⽤户,实现精准营销,并快速完成ABCD类意向客户的筛选和分类。
智能电话机器⼈是将⽹络电话、语⾳知识、⾃然语⾳理解、多轮对话、知识图谱等多个门类的前沿技术
集成在⼀个智能产品中,已经成为⾏业的领头⽺,为外呼⾏业带来了可喜的变化,短短⼏个⽉被很多企业证明,这是真正实现开源节流的AI好项⽬了。
文武七弦琴智能电话机器⼈作为当今的⼀款智能化产品,在实际应⽤中能准确的以⼈类的声⾳、思维和语⽓智能应对客户提出的各种问题。同时,它的筛选能⼒也极强,可以把应答⽤户按意向程度⾃动分类,帮助⼈⼯坐席快速剥离意向客户。
员⼯坐席每天拨打200个-300个电话已经算是极限了,但是智能电话机器⼈每天可以拨打800-1200通有效电话,让效率提⾼⼏倍,提⾼效率就意味着业绩的提⾼。
什么是电话机器⼈
通过ASR(语⾳识别)和TTS(⽂本转语⾳)模拟真⼈和⽤户的通话,可⽤于企业总机,⾃动催缴,外呼营销,问卷调查等业务,同时⽀持百度,科⼤,阿⾥云等ASR系统,可以真⼈预先录⾳,⽤户是完全察觉不到是机器⼈。
如何开发⼀个电话机器⼈
FreeSWITCH/Asterisk是⼀个软交换系统,可以利⽤开源的软交换系统,开发⼀个VAD录⾳模块,⽤户说话后开始录⾳,停⽌说话后,把录⾳提交到语⾳识别接⼝转换成⽂本,利⽤语义解析接⼝(NPL)
或者简单的关键字匹配,返回系统预先设计的话术,通过TTS转换成声⾳(也可以真⼈预先录⾳)播放给⽤户听。实现⼈机语⾳对话。
技术难点
·机器⼈说话时,⽤户开始说话,机器⼈要及时处理,就是所谓的打断,这个通过VAD算法和关键词打断可以解决。
·机器⼈怎么理解⽤户说话含义,这个是⽬前难点,⽬前主要的做法,还是通过关键词匹配来设计话术。
演⽰
AICC专注营销软件开发与⼤数据分析应⽤,擅长并精通各种推⼴引流的秘诀,⾏业公认的业界专家。需要演⽰的朋友可以联系本公司(153********)
⽀持那些ASR接⼝
可以⽀持科⼤讯飞,百度语⾳识别,阿⾥云语⾳识别,腾讯语⾳识别,捷通华声灵云等SDK/API/MRCP接⼝。
校园招聘流程
怎么使⽤
可以和现有的呼叫中⼼,IPPBX,FreeSWITCH,Asterisk 等系统通过SIP分机和SIP中继⽅式对接。
smart ivr 接⼝说明
smartivr 是⼀个基于Freeswitch的电话机器⼈⼆次开发接⼝(restful),⽀持和Asterisk对接
使⽤指南
⽤户⾃⼰实现 httpAPI,机器⼈程序去调⽤这个接⼝,不是 机器⼈提供httpapi给⽤户调⽤。
1.
外呼程序呼叫电话接通后,或者客户主动呼⼊接通后 机器⼈程序 向 webrver post 发送
2.
smartivr –> web
3.
"calleeid": "8888abc", //被叫号码
"callerid": "abc", //主叫号码
"callid": "1fe74812-e376-4319-b335-3de1b494325c", //每个通话的唯⼀ID
"errorcode": 0, //错误代码
"flowdata": null, //流程数据
"flowid": "abc", //流程ID
豆腐怎么烧好吃"notify": "enter" //通知类型
4.
问题英文
webrver根据业务逻辑 返回 json数据 ⽐如 下⾯的命令就是 启动后台ASR,并且播放⼀个声⾳
5.
smartivr <– web
6.
"action": "start_asr", //第⼀个动作 start_asr是⼀个异步函数,只需要执⾏⼀次,启动后会⼀直进⾏VAD和ASR,直到调⽤sotp_asr
"flowdata": "流程选择", //流程数据,类似浏览器的Cookie,机器⼈后续httpapi请求会把这个数据发送回来。
成都周边好玩的地方
"params": {
"min_speak_ms": 100, //最⼩说话时间,默认值100,单位毫秒,说话时间⼩于这个值,会被认为是⽆效声⾳。
"max_speak_ms": 10000, //最⼤说话时间,默认值10000,单位毫秒,说话时间超过这个值,就停⽌录⾳,直接提交ASR服务器识别。
"min_pau_ms": 300, //最⼩停顿时间,默认值300,单位毫秒,默认值⽤户停顿时间超过这个值,会提交到ASR识别。识别完成后发送asrprogress事件。 完成后的意思是 ASR服务器可能 300-800ms才返回识别接⼝。
"max_pau_ms": 600, //最⼤停顿时间,默认值600,单位毫秒,⽤户停顿时间超过这个值,认为⼀句话说完,所有识别完成后发送asrmessage事件。所有识别完成后的意思是,所有提交到asr服务器的识别结果都返回了。 注意 min_pau_ms 必须⼤于
min_pau_ms。
"pau_play_ms": 200, //触发暂停放⾳时间,默认值0:就是禁⽤⾃动暂停,单位毫秒,建议设置200-1000,⽤户说话时间超过这个值,就暂停放⾳。 有时候⽤户⼀直持续说话,中间没停顿,所以还没提交到ASR服务器识别,不能使⽤关键词打断,可以先暂停放⾳。
"threshold": 0, //VAD阈值,默认0,建议不要设置,如果⼀定要设置,建议 2000以下的值。
"recordpath": "", //录⾳⽂件路径,如果不设置:就会使⽤配置⽂件中的路径,每天⽣成⼀个⽂件夹,如果设置了,就会使⽤这个参数中的⽬录,⽂件格式是 recordpath/被叫号码_Unique-ID_序号.wav
"volume": 50 //⾳量标准化的值。0-100,0不使⽤⾳量标准化,其他值 ⾳量把录⾳⾳量调整到这个值后,再提交ASR识别。
},
"after_action": "playback",
"after_ignore_error": fal, //如果action动作(start_asr)执⾏失败是否继续执⾏after_action(playback)。
"after_params": {
"prompt": "您好,欢迎致AICC,这⾥是电话机器⼈演⽰系统,请说要进⼊的测试流程,⽐如,房产!", //可以直接播放声⾳⽂件。规则就是如果最后4个字是.wav,就直接播放wav⽂件。
"wait": 5000, //单位毫秒,放⾳结束后等待时间。⽤于等待⽤户说话。
"retry": 0 //重播次数。就是wait时间内⽤户不说话,就重新播放声⾳。
机器⼈程序执⾏ “action”:”start_asr” 开始后台ASR识别,然后执⾏”after_action”: “playback”开始播放声⾳⽂件。
7.
·当⽤户说话后,机器⼈发送 识别进度,也就是⽤户暂停说话时间超过 min_pau_ms
smartivr –> web
"asrelap": 391, //asr识别服务器消耗的时间,单位毫秒。
"asrtextall": "1.识别结果;", //包含之前停顿的识别结果的组合。 格式是 录⾳序号.识别结果;这样组合多个识别结果。
"asrtype": "aiui", //本次使⽤那个asr识别
"calleeid": "8888abc",
"callerid": "abc",
"callid": "1aec14af-d6a8-49e4-96fc-fb5f7cfdb893",
"errorcode": 0, //asr返回错误,0⽆错误。
"flowdata": "流程选择",
"flowid": "abc",
"message": "识别结果",
"notify": "asrprogress_notify",
"recordindex": "1", //录⾳序号
"recordfile": "", //录⾳⽂件
"recordms": 931, //录⾳时间,单位毫秒。
"volumegain": 5.95330699999 //⾳量标准化放⼤或者缩⼩的倍数。
webrver根据业务逻辑返回是否需要暂停放⾳
smartivr <– web
"action": "console_playback",
"flowdata": "流程选择",
"params": {
"command": "pau"
胡辣汤怎么做好吃当⽤户说完⼀整句话,机器⼈发送 完整的识别结果,也就是⽤户暂停说话时间超过 max_pau_ms
smartivr –> web
"calleeid": "8888abc",
"callerid": "abc",
"callid": "ea6d1235-aaab-4251-b03b-3b53ca32e00d",
"errorcode": 0,
"flowdata": "流程选择",
"flowid": "abc",
"message": "1.你好;2.什么事;",
"notify": "asrmessage_notify",
"speakms": "1162" //整句话的说话时间,包含暂停时间
webrver根据业务流程,执⾏话说逻辑,播放声⾳。
smartivr <– web
"action": "playback",
"flowdata": "回答",
"params": {
"prompt": "先⽣你好,请问你最近需要买房吗",
"wait": 3000,
"retry": 2
·当⽤户⼀直不说话,声⾳播放完成并且等待时间超过,机器⼈发送 playback_result smartivr –> web
形象的意思"calleeid": "8888abc",
"callerid": "abc",
"callid": "35bca774-5b3e-4129-a5e7-1c3c86605071",
"errorcode": 0,
"flowdata": "",
"flowid": "abc",
"message": "FILE PLAYED",
"notify": "playback_result"
webrver根据业务流程发送 继续放⾳,提⽰⽤户回答问题。
smartivr <– web
小臂肌肉怎么练
"action": "playback",
"flowdata": "提⽰选择流程",
"params": {
"prompt": "请问你要进⼊哪个测试流程,⽐如,房产",
"wait": 3000,
"retry": 2
playback_result 什么时候有这个通知
执⾏ playback后,播放完成并且等待超时,就会发送playback_result 通知。
·如果识别到⽤户说话,在 asrmessage_notify 事件中返回命令playback,播放了⼀个新的声⾳,那么上个playback会给强制终⽌(上次的playback_result就不会发送了。),新的播放完成时,才会发送playback_result。
·如果识别到⽤户说话,在 asrmessage_notify 事件中返回命令noop,或者console_playback(resume),没去播放新的声⾳,那么还会发送playback_result 通知的。
·。
接⼝说明
注意:请求和返回都采⽤JSON格式,编码为utf8,所有参数区分⼤⼩写,数字和字符串类型注意区分,参数未说明数字类型就是字符串类型。
⾃动放⾳暂停(打断)
start_asr 有⼀个参数 pau_play_ms,demo是200, 就是检测到声⾳持续时间时间超过pau_play_ms,就⾃动暂停放⾳。如果你不需要这个功能设置为0, 如果你启⽤了这个功能,asrmessage_notify通知你没播放⼀个新的声⾳就必须要恢复放⾳
console_playback(resume)。否则会⼀直暂停。
怎么实现关键词打断
·asrprogress_notify 的识别结果如果是关键词 返回 console_playback(pau),如果不是关键词 返回 console_playback(resume)
·asrmessage_notify 的整句话识别结果如果匹配,直接播放新的声⾳⽂件,执⾏新的业务流程,如果不匹配,返回
console_playback(resume)。
playback_result 收到这个通知,说明声⾳播放完成,等待⽤户说话超时,必须播放⼀个声⾳,提⽰⽤户说话
action 描述
start_asr
start_asr 是⼀个异步函数,只需要执⾏⼀次,启动后会⼀直进⾏VAD和ASR,直到调⽤sotp_asr
·min_speak_ms 最⼩说话时间,默认值100,单位毫秒,说话时间⼩于这个值,会被认为是⽆效声⾳。
·max_speak_ms 最⼤说话时间,默认值10000,单位毫秒,说话时间超过这个值,就停⽌录⾳,直接提交ASR服务器识别。
·min_pau_ms 最⼩停顿时间,默认值300,单位毫秒,默认值⽤户停顿时间超过这个值,会提交到ASR识别。识别完成后发送asrprogress事件。 完成后的意思是 ASR服务器可能 300-800ms才返回识别接⼝。
·max_pau_ms 最⼤停顿时间,默认值600,单位毫秒,⽤户停顿时间超过这个值,认为⼀句话说完,所有识别完成后发送asrmessage事件。所有识别完成后的意思是,所有提交到asr服务器的识别结果都返回了。 注意 min_pau_ms 必须⼤于
min_pau_ms。
·pau_play_ms 触发暂停放⾳时间,默认值0,就是禁⽤⾃动暂停,单位毫秒,建议设置200-1000,⽤户说话时间超过这个值,就暂停放⾳。 有时候⽤户⼀直持续说话,中间没停顿,所以还没提交到ASR服务器识别,不能使⽤关键词打断,可以先暂停放⾳。
·threshold VAD阈值,默认0,建议不要设置,如果⼀定要设置,建议 2000以下的值。
·recordpath 录⾳⽂件路径,如果不设置(使⽤配置⽂件设置录⾳⽬录(smartivr.json),),如果设置了会保存录⾳⽂件到这个⽬录,⽂件格式是 recordpath/被叫号码Unique-ID序号.wav
·volume ⾳量标准化的值。0-100,0不使⽤⾳量标准化,其他值 ⾳量把录⾳⾳量调整到这个值后,再提交ASR识别。
start_asr使⽤的配置⽂件
linux /etc/smartivr.json,同⼀个⽬录