本文记录,作为项目主要负责人,完整参与语音识别项目的交付历程。

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项目实战-项目交付历程的更多相关文章

  1. 前端开发工程师 - 06.Mini项目实战 - 项目简介

    第6章--Mini项目实战 项目简介 Mini项目简介-Ego社区开发 回顾: 页面制作 页面架构 JavaScript程序设计 DOM编程艺术 产品前端架构 实践课Mini项目--Ego: 主题:漫 ...

  2. 彩虹女神跃长空,Go语言进阶之Go语言高性能Web框架Iris项目实战-项目入口与路由EP01

    书接上回,我们已经安装好Iris框架,并且构建好了Iris项目,同时配置了fresh自动监控项目的实时编译,万事俱备,只欠东风,彩虹女神蓄势待发.现在我们来看看Iris的基础功能,如何编写项目入口文件 ...

  3. Ant Design Vue Pro 项目实战-项目初始化(一)

    写在前面 时间真快,转眼又是新的一年.随着前后端技术的不断更新迭代,尤其是前端,在目前前后端分离开发模式这样的一个大环境下,交互性.兼容性等传统的开发模式已经显得有些吃力.之前一直用的是react,随 ...

  4. ASP.NET Core 系列视频完结,新项目实战课程发布。

    今天把MVC的章节完成了,给大家从头到尾做了一个登录注册的示例,带前后端Model验证,算是完整的示例.同时借助于eShopOnContainers的示例也做了一个DBContextSeed的包装器来 ...

  5. Asp.Net Core 2.0 项目实战(9) 日志记录,基于Nlog或Microsoft.Extensions.Logging的实现及调用实例

    本文目录 1. Net下日志记录 2. NLog的使用     2.1 添加nuget引用NLog.Web.AspNetCore     2.2 配置文件设置     2.3 依赖配置及调用     ...

  6. 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 日志 ...

  7. selenium(12)-web UI自动化项目实战(PO模式,代码封装)

    web UI自动化项目实战-项目 项目使用禅道,所以你需要搭建1个禅道,搭建禅道的方法和步骤见 https://www.cnblogs.com/xinhua19/p/13151296.html 搭建U ...

  8. 云计算Docker全面项目实战(Maven+Jenkins、日志管理ELK、WordPress博客镜像)

    2013年,云计算领域从此多了一个名词“Docker”.以轻量著称,更好的去解决应用打包和部署.之前我们一直在构建Iaas,但通过Iaas去实现统一功  能还是相当复杂得,并且维护复杂.将特殊性封装到 ...

  9. 如何用ABP框架快速完成项目(面向项目交付编程面向客户编程篇)(1) - 目录

    昨天发表了<如何用ABP框架快速完成项目 - 自动化测试 - 前端angular e2e protractor>后,大家十分热情,几个小时内就收到了不少问题,包括: 对于ui自动化测试这方 ...

  10. Python+Django+ansible playbook自动化运维项目实战☝☝☝

    Python+Django+ansible playbook自动化运维项目实战☝☝☝  一.入门引导 DevOPSDevOps(英文Development和Operations的组合)是一组过程.方法 ...

随机推荐

  1. windows10 jdk下载及环境配置

     一.环境准备 windows10 系统 jdk 各种版本(配置大同小异) 二.下载并安装jdk 下载地址:http://www.oracle.com/technetwork/java/javase/ ...

  2. Three.js中实现对InstanceMesh的碰撞检测

    1. 概述 之前的文章提到,在Three.js中使用InstanceMesh来实现性能优化,可以实现单个Mesh的拾取功能 那,能不能实现碰撞检测呢?肯定是可以的,不过Three.js中并没有直接的A ...

  3. Solution -「营业」「ABC 170D」Not Divisible

    Description Link. 给出一个长度为 \(n\) 的序列 \(a\),求 \(\sum_{i=1}^{n}[\forall j\in[1,i)\cup(i,n],a_{j}\nmid a ...

  4. Python3中的printable

    import string characters = string.printable # printable 是用作字符串常量的预初始化字符串.里面包含所有的标点符号,数字 print(charac ...

  5. 一次考试的T3

    啊这感觉不太可做观察性质,发现这个字符串只由ABC构成这个性质必须利用仅仅由3种字符组成意味着什么呢?这个字符串只有种可能性这个有什么用呢?只是说明暴力枚举的时间复杂度会小一些而已.不止是这些. 首先 ...

  6. P4870 [BalticOI 2009 Day1]甲虫 题解

    题目链接 简要题意 在一个数轴上有 \(n\) 滴露水,每滴露水初始水量为 \(m\),每秒会蒸发一滴水,一个甲虫初始在原点,速度为 1,水能瞬间喝完,问它最多能喝到几滴水. 题目分析 对于这种移动区 ...

  7. JavaScript 语法:流程控制语句

    作者:WangMin 格言:努力做好自己喜欢的每一件事 JavaScript流程控制语句的三种基本结构:顺序结构,选择结构,循环结构 顺序结构 从上到下执行的代码就是顺序结构,程序默认就是由上到下顺序 ...

  8. Spring 缓存注解这样用,太香了!

    作者最近在开发公司项目时使用到 Redis 缓存,并在翻看前人代码时,看到了一种关于 @Cacheable 注解的自定义缓存有效期的解决方案,感觉比较实用,因此作者自己拓展完善了一番后分享给各位. S ...

  9. Log4j入门使用

    前言 本篇文章主要在于,初步了解log4j,以及对它的简单使用 欢迎点赞 收藏 留言评论 私信必回哟 博主将持续更新学习记录收获,友友们有任何问题可以在评论区留言 @ 目录 一,log4j简介 二,配 ...

  10. 普冉PY32系列(十二) 基于PY32F002A的6+1通道遥控小车III - 驱动篇

    目录 普冉PY32系列(一) PY32F0系列32位Cortex M0+ MCU简介 普冉PY32系列(二) Ubuntu GCC Toolchain和VSCode开发环境 普冉PY32系列(三) P ...