当前位置: 首页 > news >正文

手机打电话时由对方DTMF响应切换多级IVR语音应答(一)

手机打电话时由对方DTMF响应切换多级IVR语音应答(一)

--本地AI电话机器人

  • 一、前言

经前面的系列篇章中,我们实现了拦截手机打电话的声音、根据通话对方声音提取DTMF字符。由此,我们通往AI电话机器人的道路就畅通无阻了。

如果说AI电话机器人是“全自动步枪”,那么现在成熟和大规模商用的【多级IVR语音导航】则可以看作是“半自动步枪”。虽然灵活性和智能化程度并没有AI电话机器人那么先进,但也不会被看作“智障通话”。

在本篇及后面的几篇,我们将针对多级IVR语音导航的功能,规划出一个可用的界面及操作App出来,使同一个用户,名下所有的手机,都能使用同一套多级IVR语音来进行单机化的部署。(会不会把它引导到云平台上,然后用多并发的方式来实现更加容易?但这个不是本次主题讨论的范畴,我们默认就已经具备了这个云平台功能,本次只讨论单机版)

另外,在后续的规划中,由于电话和短信基本是不分家的。后续我们估计会花费一些篇幅的内容,分析和实现Android场景下SDK是直接使用【读取缓存短信+接收广播通知】来收发短信更靠谱?或是使用蓝牙的MAP/OBEX协议来收发短信更加靠谱?

并尝试将它们都整合到拨号器SDK中,供有需要的用户进行远程群发和调用。

  • 二、多级IVR语音导航功能探讨

正常的IVR语音导航应该会存在一个简短的开场白(当然也可以没有),用于播放类似现在虚拟小号接通后首先播放的“温馨提示,来电启用隐私保护”等6秒提示音。

开场白完毕后才进入主要语音菜单,提示按1转归属地、按2转10086、按0转人工等等。

按下不同的DTMF按键后,按话术和功能的不同,将调用不同的网络接口进行查询,并将结果转为TTS语音播放。

在次级IVR菜单中,可以通过按#号键返回上一级菜单。

对于未设置的DTMF按键菜单,将提示按键错误,然后将本层的IVR菜单的语音重新播放一遍。

在IVR语音导航中,可以设置超时定时器,当一段时间用户没有操作则返回上一级菜单或结束通话。

以上的功能和操作方式只是初步设想,但我想,现在IVR语音导航已经做得这么完善,有空找一个或几个标准话术,根据这些来设计IVR语音导航和语音编辑界面即可。这种功能复杂度和风险都不大。

  • 三、同用户多个手机设备之间同步IVR语料

说实在的,如果是云平台这种“中心计算”的模式,根本不用考虑IVR逻辑和语料的同步问题(唯一只需要考虑多并发和高并发的问题即可)。

但由于我们现在采用“边缘计算”的方式,所有的业务逻辑都放入手机App中进行。这样的话,就不得不考虑如何做到一次录入,多台手机设备都能拉取已编辑好的语料的问题。

在规划中,我们将采取数据集中存储、推送同步的方式来进行多级IVR语料的数据共享,减轻操作人员的操作复杂度。

  • 四、对IVR和对方DTMF交互结果的上传汇总

此部分功能和要主动拨打哪些电话类似,拨号器SDK暂时不考虑这方面的业务逻辑。具体实现将交由上层App来进行实现。拨号器SDK仅作为一个软件模块嵌入到App,协同App进行工作即可。

此部分的逻辑,或许可以参照主动拨打外呼的电话号码列表的操作方式,用户可以自由选择从App调用拨号器SDK进行拨打、也可直接tel://10086进行拨打,或者通过电脑ADB连接手机并通过ADB下发呼叫号码等方式来拨打,甚至人工用手在手机拨号盘中点击拨打。这些操作和事件触发,均不会影响拨号器SDK对通话状态和通话语音数据的拦截效果。

  • 五、总结

从本篇开始,我们尝试花费一些篇幅来实现一套从手机本地,用普通的App实现AI电话机器人和多级IVR语音导航的功能。并对其实现原理和展示效果进行一定的探讨。

本质上,我们仍然希望像智能拨号器App这种“打通局域网和电话网之间最后一公里”的现象级应用,能获得更丰富、更繁荣的应用,能服务更多有需要的人群。


上一篇:手机SIM卡打电话时识别对方按下的DTMF按键(二)

下一篇:编写中。

相关文章:

  • 三、【LLaMA-Factory实战】模型微调进阶:从LoRA到MoE的技术突破与工程实践
  • 微服务中怎么获取请求头信息
  • WSL 安装 Debian 后,apt get 如何更改到国内镜像网址?
  • Python从入门到高手8.2节-元组的常用操作符
  • R004 -计算机硬件基础
  • Matlab实现基于CNN-GRU的锂电池SOH估计
  • Vite简单介绍
  • 五一作业-day03
  • Baklib知识中台:智能服务架构新实践
  • Java求职面试:Spring Boot与微服务的幽默探讨
  • 【Hive入门】Hive安全管理与权限控制:用户认证与权限管理深度解析
  • 代码随想录算法训练营第三十二天
  • MATLAB人工大猩猩部队GTO优化CNN-LSTM多变量时间序列预测
  • 文本三剑客试题
  • Android设备运行yolov8
  • 系统架构-层次式架构设计
  • MATLAB仿真定点数转浮点数(对比VIVADO定点转浮点)
  • 【PostgreSQL数据分析实战:从数据清洗到可视化全流程】5.2 数据分组与透视(CUBE/ROLLUP/GROUPING SETS)
  • 【PostgreSQL数据分析实战:从数据清洗到可视化全流程】4.5 清洗流程自动化(存储过程/定时任务)
  • 谷歌最新推出的Gemini 2.5 Flash人工智能模型因其安全性能相较前代产品出现下滑
  • 上海虹桥机场至北京首都机场快线试运行跨航司自愿签转服务
  • 市场监管总局通报民用“三表”专项检查结果
  • 申活观察|演出场次破纪录、入境游导游档期忙,上海文旅商“热力”拉满
  • 当一群杜克土木工程毕业生在三四十年后怀念大学的历史课……
  • 阿根廷发生5.8级地震
  • 增诉滥用职权罪,尹锡悦遭韩国检方追加起诉