ASR项目实战-项目交付历程
本文记录,作为项目主要负责人,完整参与语音识别项目的交付历程。
2019年12月中旬
接到项目交付任务,收集基本知识,启动业务分析工作。
2020年1月
完成竞品分析的整理。
梳理合作伙伴的清单,整理项目计划,启动和各合作伙伴的沟通工作。
启动架构方案、设计方案的准备工作。
2020年2月
和合作伙伴A谈好合作方案,基于云云对接的方式,启动项目交付工作。
架构设计、方案设计(文件转写)完成文档的输出和评审。
月底,支持短文件转写(即时长在60秒以内的语音文件)的服务,在生产环境顺利上线。
按照部门要求,后续按照月度版本的方式组织交付,即月初启动交付,月底完成版本发布和生产环境的变更。
本月版本交付的内容:
- 短文件转写(即时长在60秒以内的语音文件)的服务。
- 支持中文的识别。
2020年3月
基于云云对接的方式,支持长文件转写(即时长大于60秒,小于5小时的语音文件)的服务,在生产环境顺利上线。
端侧SDK的第一个版本,完成功能联调。
为支持端侧SDK的瘦身方案,本月启动了一个调测版本的开发工作。
本月版本交付的内容:
- 支持长文件转写(即时长大于60秒,小于5小时的语音文件)的服务。
- 输出运维数据。
2020年4月
支持端侧SDK的瘦身方案的版本,本月月底完成开发和交付,并在生产环境顺利上线。
基于集成模型的方式,在生产环境顺利上线如下服务:
- 支持短文件转写(即时长在60秒以内的语音文件)的服务。
- 支持实时语音识别(即时长在60秒以内的语音文件)的服务。
本月版本交付的内容:
- 短文件转写(即时长在60秒以内的语音文件)的服务。
- 实时语音识别的服务,支持时长在60秒以内。
- 支持中文、英语的识别。
- 集成业务运维系统。
- 集成客户支撑系统。
- 构建业务流量控制方案。
- 完善运维数据。
2020年5月
本月版本交付的内容:
- 例行更新语音识别的模型:
- 更新中文的模型。
- 更新英语的模型。
- 扩充语种,增加对法语的支持。
- 完善前处理阶段:
- 支持重采样。
- 支持多种音频格式,PCM、AAC、AMR。
- 新增后处理阶段:
- 支持数字格式归一化,支持中文、英语。
- 支持标点符号,基于静音时长的规则。
- 支持大小写,基于规则。
- 完善运维数据。
2020年6月
本月版本交付的内容:
- 例行更新语音识别的模型:
- 更新中文的模型。
- 更新英语的模型。
- 更新法语的模型。
- 完善后处理阶段:
- 数字格式归一化,完善中文、英语对特定领域比如计算机、物理等词汇的支持。
- 完善短文件转写服务:
- 增加文本的时间偏移的特性。
- 支持基于URL的方式,加载语音数据文件。
2020年7月
本月版本交付的内容:
- 例行更新语音识别的模型:
- 更新中文的模型。
- 更新英语的模型。
- 更新法语的模型。
- 完善后处理阶段:
- 数字格式归一化,增加法语的支持。
- 完善运维能力,把一些复杂的配置项,通过运维系统来管理。
基于云云对接的方案,和合作伙伴B启动集成工作。
由于组织架构调整,项目人力有比较重大的调整,开发团队中的骨干开发人员离开项目,我变成了光标司令。
还好算法团队、测试团队仍然完整,并且战斗力很强。
2020年8月
基于集成模型的方式,在生产环境顺利上线如下服务:
- 支持长文件转写(即时长在60秒以上,5小时以内的语音文件)的服务。
- 支持实时语音识别(即时长在60秒以上,5小时以内的语音文件)的服务。
本月版本交付的内容:
- 例行更新语音识别的模型:
- 更新中文的模型。
- 更新英语的模型。
- 更新法语的模型。
- 长文件转写服务。
- 实时语音长时间识别服务。
- 完善后处理:
- 基于机器学习模型的方式支持标点符号特性。
- 基于机器学习模型的方式支持大小写特性。
- 基于合作伙伴B的能力,支持实时语音识别(时长小于60秒),支持4个小语种。
2020年9月
本版本的交付内容,合并至10月版本一并上线。
2020年10月
本月版本交付的内容:
- 例行更新语音识别的模型:
- 更新中文的模型。
- 更新英语的模型。
- 更新法语的模型。
- 例行标点符号的模型:
- 更新中文的模型。
- 更新英语的模型。
- 更新法语的模型。
- 例行更新大小写的模型:
- 更新中文的模型。
- 更新英语的模型。
- 更新法语的模型。
- 完善文本时间偏移的实现,解决各种场景下不准确、不对齐的问题。
- 完善系统的可靠性,解决各种奇怪的内存、死锁类的问题。
- 完善运维系统。
- 并发路数的分配和管理。
- 使用逻辑集群的方式支持现有的4款产品,各产品支持独立扩容。
- 优化文件转写的效率,降低端到端处理时延。
2020年11月
本月版本交付的内容:
- 例行更新语音识别的模型:
- 更新中文的模型。
- 更新英语的模型。
- 更新法语的模型。
- 例行标点符号的模型:
- 更新中文的模型。
- 更新英语的模型。
- 更新法语的模型。
- 例行更新大小写的模型:
- 更新中文的模型。
- 更新英语的模型。
- 更新法语的模型。
- 完善系统的可靠性,解决时序不对齐导致的底层识别会话无法释放的问题。
2020年12月
本月版本交付的内容:
- 扩充语种,支持西班牙语。
- 集成语音识别的模型。
- 集成标点符号的模型。
- 集成大小写的模型。
- 增加数字归一化。
- 完善前处理阶段:
- 扩充支持音频格式,增加speex。
启动项目交接,语音识别的项目进入维护状态。
2021年1月
正式离开项目。
总结
前期需求交付的路标规划不完整,因此对于人力的诉求,没有明确的估计,导致项目整个交付过程中,受限于人力,进度压力很大,加班很多,项目成员均有怨言。这是后续独立负责项目交付时的一个比较大的改进点。
ASR项目实战-项目交付历程的更多相关文章
- 前端开发工程师 - 06.Mini项目实战 - 项目简介
第6章--Mini项目实战 项目简介 Mini项目简介-Ego社区开发 回顾: 页面制作 页面架构 JavaScript程序设计 DOM编程艺术 产品前端架构 实践课Mini项目--Ego: 主题:漫 ...
- 彩虹女神跃长空,Go语言进阶之Go语言高性能Web框架Iris项目实战-项目入口与路由EP01
书接上回,我们已经安装好Iris框架,并且构建好了Iris项目,同时配置了fresh自动监控项目的实时编译,万事俱备,只欠东风,彩虹女神蓄势待发.现在我们来看看Iris的基础功能,如何编写项目入口文件 ...
- Ant Design Vue Pro 项目实战-项目初始化(一)
写在前面 时间真快,转眼又是新的一年.随着前后端技术的不断更新迭代,尤其是前端,在目前前后端分离开发模式这样的一个大环境下,交互性.兼容性等传统的开发模式已经显得有些吃力.之前一直用的是react,随 ...
- ASP.NET Core 系列视频完结,新项目实战课程发布。
今天把MVC的章节完成了,给大家从头到尾做了一个登录注册的示例,带前后端Model验证,算是完整的示例.同时借助于eShopOnContainers的示例也做了一个DBContextSeed的包装器来 ...
- Asp.Net Core 2.0 项目实战(9) 日志记录,基于Nlog或Microsoft.Extensions.Logging的实现及调用实例
本文目录 1. Net下日志记录 2. NLog的使用 2.1 添加nuget引用NLog.Web.AspNetCore 2.2 配置文件设置 2.3 依赖配置及调用 ...
- net core体系-web应用程序-4asp.net core2.0 项目实战(1)-11项目日志解决方案
本文目录1. Net下日志记录2. NLog的使用 2.1 添加nuget引用NLog.Web.AspNetCore 2.2 配置文件设置 2.3 依赖配置及调用 2.4 日志 ...
- selenium(12)-web UI自动化项目实战(PO模式,代码封装)
web UI自动化项目实战-项目 项目使用禅道,所以你需要搭建1个禅道,搭建禅道的方法和步骤见 https://www.cnblogs.com/xinhua19/p/13151296.html 搭建U ...
- 云计算Docker全面项目实战(Maven+Jenkins、日志管理ELK、WordPress博客镜像)
2013年,云计算领域从此多了一个名词“Docker”.以轻量著称,更好的去解决应用打包和部署.之前我们一直在构建Iaas,但通过Iaas去实现统一功 能还是相当复杂得,并且维护复杂.将特殊性封装到 ...
- 如何用ABP框架快速完成项目(面向项目交付编程面向客户编程篇)(1) - 目录
昨天发表了<如何用ABP框架快速完成项目 - 自动化测试 - 前端angular e2e protractor>后,大家十分热情,几个小时内就收到了不少问题,包括: 对于ui自动化测试这方 ...
- Python+Django+ansible playbook自动化运维项目实战☝☝☝
Python+Django+ansible playbook自动化运维项目实战☝☝☝ 一.入门引导 DevOPSDevOps(英文Development和Operations的组合)是一组过程.方法 ...
随机推荐
- 2023年了,复习了一下spring boot配置使用mongodb
前言 MongoDB是一个基于分布式文件存储的开源数据库系统,使用C++语言编写.它是一个介于关系数据库和非关系数据库之间的产品,具有类似关系数据库的功能,但又有一些非关系数据库的特点.MongoDB ...
- qiankun微前端实践
为什么要使用微前端 微前端架构具备以下几个核心价值: 技术栈无关 主框架不限制接入应用的技术栈,微应用具备完全自主权 独立开发.独立部署 微应用仓库独立,前后端可独立开发,部署完成后主框架自动完成同步 ...
- firewalld规则配置
firewalld规则配置 一.概念 动态防火墙 启动新规则时,不会像iptables一样,先清空规则,再启动所有规则,如此会对现在程序有影响,哪怕只是一条规则.而firewalld 规则变更不需要对 ...
- 如何创建可引导的 macOS Sonoma 安装介质
2023 年 9 月 26 日(北京时间 27 日凌晨)macOS Sonoma 正式版现已发布. 如何创建可引导的 macOS Sonoma 安装介质 如何创建可引导的 macOS 安装器 | 如何 ...
- CF1336A
题目简化和分析: 明确一点这是一棵树. 为了保证每个工业城市的设置效益最大,应该设在最深的节点. 从深到浅,可以使用优先队列去实现. 设置一个的价值为 \(dep_u-siz_u-1\). 关于作者一 ...
- IDEA在Debug模式下修改Java类,不小心关闭 Reload Changed Classes for AppArrowWebApplication 框提示之后的处理
问题描述:Springboot maven 聚合项目里面,经常要启动多个服务. 当我们修改其中一个服务的时候,debug 启动时 idea 就会提示是否需要重新编译修改的内容,弹窗让你选择reload ...
- JVM SandBox 的技术原理与应用分析
https://www.infoq.cn/article/tsy4lgjvsfweuxebw*gp https://blog.csdn.net/qq_40378034/article/details/ ...
- IIS和PHP相关权限问题及解决方案_500错误_500.19 - Internal Server Error与401未授权错误_401.3 - Unauthorized
在IIS添加网站(假设站点为xxx.yyy.com,本例假设IIS版本为7.5或以上),如果采用IIS默认配置,会在创建站点同时创建相应同名的"应用程序池"(也是xxx.yyy.c ...
- 解决ADS1.2与MDK4.7冲突问题
需要添加2个系统变量. 1,在我的电脑点击属性--->高级--->环境变量---->系统变量,增加环境变量名: ARMCC5LIB 变量值:C:\Keil\ARM\ARMCC\lib ...
- Android Recyclerview的item间距实现
Recyclerview中,提供了一个方法addItemDecoration给我们用于设置item的分割线 下面提供几个常见的分割线效果 注: 下面的SizeUtils是AndroidUtilCode ...