- 快召唤伙伴们来围观吧
- 微博 QQ QQ空间 贴吧
- 视频嵌入链接 文档嵌入链接
- 复制
- 微信扫一扫分享
- 已成功复制到剪贴板
“灵犀”智能语音分析平台架构实践V1.0
展开查看详情
1 . AI 工程架构系列沙龙 欢迎关注AICUG人工智能技术社区 欢迎关注 58AILab 公众号 欢迎关注58技术公众号 (www.aicug.cn)
2 .“灵犀”智能语音分析平台架 构实践 分享嘉宾:刘晟源-58同城AI Lab后端资深开发工程师
3 . 个人简介 刘晟源 58同城AI Lab后端资深开发工程师,2019年1月加入58 目前主要负责灵犀智能语音分析平台开发相关工作 2015年硕士毕业于中国科学院大学,曾就职于航天科技,创业公司从事后台开发 联系方式:liushengyuan@58.com
4 .目录 ◼ 灵犀智能语音分析平台 ◼ 架构设计 ◼ 语音语义标签挖掘、存储、检索、迭代 ◼ 标签可视化配置
5 . 58同城生活服务平台 58平台 销售 发布帖子 (电销、直销) 客户 浏览帖子 房产中介 用户 商家 企业 二手车商 客服 搬家公司 …
6 . 灵犀智能语音分析平台 呼叫中心 销售/客服 客户 情绪识别 性别识别 用户画像 身份识别 高频问题 业务热词 电话平台 用户 商家 微聊平台 用户 商家
7 .目录 ◼ 灵犀智能语音分析平台 ◼ 架构设计 ◼ 语音语义标签挖掘、存储、检索、迭代 ◼ 标签可视化配置
8 .后端架构 灵犀后台管 理平台 分析提交 结果查询 标签可视化管理 数据标注 效果评估 数据分析 配置系统 编辑抽样 分析提交服务 实时呼叫中心话务数据MQ 分析结果查询服务 语音标注 逻 主体服务 标签标注 辑 层 效果评测 语音转存 ASR转写 说话人识别 实体识别 语音语义标签挖掘 基 数 日晷 分层抽样 础 据 语音库 文本库 标签索引 离线库 ABTest 自研ASR 服 TextCNN LSTM BERT 层 流量回放 务 SCF WMonitor MySQL WOS Redis Hive WMB WTable WCS
9 . 分析处理流程 接口服务 数据服务 主体服务 ABTest ASR服务 ASR回调服务 角色服务 标签服务 WPAI 外部系统 分析请求 下载转存录音 分析请求 ABTest请求 实验号 ASR转写请求 转写请求入队成功 提交成功 提交队列中ASR转写请求 ASR转写完成 角色识别请求 角色识别结果 标签分析请求 模型请求 模型结果 标签分析结果 存储分析结果 分析结果WMB消息 策略执行
10 .呼叫中心语音沟通流程 Kafka/WMB 话务数据 坐席 呼叫语音服务 灵犀智能语音分析 语音录音文 件 文件服务 用户 中继线
11 . 语音数据收集 • 呼叫中心分布于全国各地 语音数据收集 • 每日近百G数据,数据转存易失败 实时话务数据 分业务分时 实时订阅 离线提交 离线话务数据 提交量监控 • 完善监控,定时重试,离线提交 转换校验数据格式 转存语音文件 转存失败量监控 语音录音文件 成功 入失败队列 文件服务 提交语音分析 转存重试 可达性监控
12 . 语音数据收集 • 实时话务数据与语音文件产生有1min左右的时延 • 实时消费话务数据无法立刻下载 实时话务数据 Kafka/WMB 话务数据 实时消费 产生于话务数 据后1min左右 延迟队列 呼叫语音服务 灵犀智能语音分析 语音录音文 数据服务 件 文件服务
13 . 语音数据收集 • 本地延迟队列会引入单点问题 – 广播消费 广播消费 实时话务数据 – Redis hashSet保证幂等性 延迟队列 延迟队列 延迟队列 数据服务 数据服务 数据服务 VoiceId Key Set Redis
14 . ASR 语音转文本 • 向提交ASR转写请求 • 可靠性设计 – 异步请求 – 重试提交机制 • 回调服务 – 监控 入提交队列 获取提交任务 • 失败量监控 本地ASR提交队列 任务提交线程 – 接收转写完成回调 • 队列量监控 ASR接口服务 – 获取文本结果 提交ASR转写请求 • 转写未返回量 定时查询 缓存提交信息 自研ASR服务 完成回调 获取结果 文本结果写入Wtable WTable Redis 完成结果状态写入WMB ASR完成WMB 回调服务
15 .目录 ◼ 灵犀智能语音分析平台 ◼ 架构设计 ◼ 语音语义标签挖掘、存储、检索、迭代 ◼ 标签可视化配置
16 . 灵犀标签体系 语音-场景-标签 情感识别 • 一个场景由若干个标签组成 性别识别 销售 通用语音处理 ... • 一通录音可以接入多个分析场景 推销 打错了 客服 通用标签挖掘 ... 业务热词 高频问题 其他语音 业务标签挖掘 ... ... ... 语音 分析场景
17 . 语音语义标签挖掘 • 按标签模块化 • 代码复用、算法模块独立迭代 正则表达式 语速检测 身份检测 – 日晷平台支持AB Test实验 语音 – 算法模型部署在 58人工智能平台WPAI 关键词 对话时长 性别检测 静音检测 意图检测 槽位识别 A1 A2 A11 A22 ASR文本 分析结果 日晷AB Test TextCNN LSTM BERT B1 B2 B11 B22 C1 C2 C11 C22 D1 D2 D11 D22
18 .标签存储 结果查询接口服务 语音分析Web平台 Flume Canal WCS MySQL WTable Hive 数据服务 主体服务 ASR服务 角色服务 标签服务
19 . 标签检索-WCS • 提供多维实时查询 – AI标签、人工复核标签、时间、城市、时长 • 单一MySQL无法满足检索性能 • WCS 58自研的 一站式、全自助化 的搜索私有云平台 • MySQL Binlog + Canal + WCS • 工作原理 – Canal 模拟 MySQL slave 的交互协议,伪装自己为 MySQL slave ,向 MySQL master 发送dump 协议 – MySQL master 收到 dump 请求,开始推送 binary log 给 slave (即 canal ) – canal 解析 binary log 对象(原始为 byte 流)
20 . 标签检索-WCS • 解析Binlog对象, 调用WCS接口更新索引 Web 话务数 Service 据 • 检索封装SCF接口查询WCS WCS SCF DB 语音分析 Service • 全部写操作落到MySQL 6.发送BINLOG_DUMP 7.开始推送Binary Log • 再经Binlog同步回WCS 标签索引写入WCS Canal Canal 5.建立链接 Server A Server B 2.允许启动 1.尝试启动 3.检测发现A 不 Canal Client 1.尝试启动 可用时通知启动 zookeeper 4.询问当前 running节点host 信息
21 . 标签检索-WCS • 数据一致性 – WCS采用update_time保证数据顺序写入 • 灾备 – Canal进程监控及告警 – MySQL数据作为备份 • WCS查询耗时仅为MySQL 1%左右 MySQL平均耗时 WCS平均耗时
22 . 标签迭代-离线实验 • 标签频繁迭代 – 线上几十个场景 近千个标签持续迭代 主体服务 – 离线分析任务 WMB 1 提交任务 2 消费回调 4 调用标签服务 标签1 标签1 标签1 标签2 标签2 标签2 • 标签服务可插拔模块化 提交服务 待分析 5 记录离线结果 Request文件 3 获取ASR文本 标签3 标签3 标签3 • 离线实验服务/离线库 • 导入线上数据 0 数据同步 Text 日晷AB Test LSTM BERT CNN – 模拟流量回放 线上MySQL 离线MySQL 文本库 – 记录结果至离线库
23 .标签迭代-多个专业同学协同配合 灵犀智能语音分析 实时监控 全栈监控 离线数据 数据存储 日志文件等 微信/短信/邮件 ASR文本 1.服务质量 语音 标签数据 2.业务指标 3.第三方监控 Hive WTable WOS MySQL 同步 WCS HDFS 4.各类自定义监控 抽样 抽样 抽样 效果展示 标注系统 统计指标 报表脚本 后台同学 标注数据 效果标注 1.运营数据 2.产品策略数据 编辑同学 数据清洗 报表脚本 提升服务稳定性/响应速度 训练样本 算法效果 产品同学 业务同学 算法同学 算法迭代 功能迭代 离线训练 优化各类算法效果 产品需求 提升用户体验
24 .目录 ◼ 灵犀智能语音分析平台 ◼ 架构设计 ◼ 语音语义标签挖掘、存储、检索、迭代 ◼ 标签可视化配置
25 . 标签可视化配置 • 标签迭代频繁 • 提高线上标签迭代效率,降低新业务接入成本
26 . 标签算子自定义配置-开场白标签示例 • 对话前五句中客服说的每句话 检测是否出现了”您好”, “你好”,“很高兴为您服务” 任意一个关键词,出现了即命 中“开场白标签”
27 . 标签可视化配置 • 场景 时长算子条件A – 一个场景由若干个标签组成, 比如通用语 音处理,业务标签挖掘 正则算子条件B • 标签 自定义标签 关键词算子条件C – 标签是由若干个 条件 经由逻辑关系 组成 的,具有一定业务属性的语音文本标识 关键词算子条件D • 比如“没有开场白”、“没有道别语” B&&!C||D&&E 意图算子条件E – 标签从输出位置上可分为 • 单句标签 • 整轮标签
28 . 标签可视化配置 • 条件 算子 – 条件是构成标签的重要元素之一 条件 – 由 算子 和 检测范围 组成 检测范围 • 算子 – 是分析检测的最小逻辑单位 – 依据检测方式可分为三大类 算子 • 规则文本算子 • 语音算子 规则文本算子 语音算子 NLP模型算子 • 模型算子
29 . 标签可视化配置 • 检测范围 – 限定了条件算子的检测范围 – 由检测角色, 前置条件, 检测位置, 检测方式构成