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

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. Solution -「ARC 103B」Robot Arms

    Description Link. 给定 \(n\) 组坐标.构造长度为 \(m\) 的序列 \(\{c_n\}\) 和 \(n\) 组包含 LRUD 的路径,满足对于每一组坐标: \(c_i\) 表 ...

  2. 拟合优度R2较低怎么办

    拟合优度R2较低怎么办 (1)回归分为解释型回归和预测型回归. 预测型回归一般才会更看重2. 解释型回归更多的关注模型整体显著性以及自变量的统计显著性和经济意义显著 性即可. (2)可以对模型进行调整 ...

  3. 0 基础晋级 Serverless 高手课 — 初识 Serverless(上)

    应用 - 无服务器 2017- 2006 函数即服务 类似 云计算 (Serverless) faas 函数服务 + 后端数据库 账号服务 弹性,按量 服务器,客户端的终结 - 弹性 - 按量 优点 ...

  4. 使用Java统计gitlab代码行数

    一.背景: 需要对当前公司所有的项目进行代码行数的统计 二. 可实现方式 1.脚本:通过git脚本将所有的项目拉下来并然后通过进行代码行数的统计 样例: echo 创建项目对应的文件夹 mkdir 项 ...

  5. csps 线性dp

    合唱队形 正反分别求一遍最长上升子序列,然后枚举中间的最高点,计算出来队列里面的最多人,然后就可以知道需要出列的最少人. 过河 tips:两个互质的数字 p,q,他们所不能拼出来的最小的数字是 \(( ...

  6. 将GitBash设置为VS Code的默认终端

    这个东西搞了半天,真的无语...网上的东西都太旧了 注意:"terminal.integrated.shell.windows"自2021年4月起已弃用. 1.首先打开设置 2.进 ...

  7. 13.1 使用DirectX9绘图引擎

    DirectX 9 是由微软开发的一组多媒体应用程序接口API,用于创建和运行基于Windows平台的多媒体应用程序,尤其是游戏.它是DirectX系列中的一个版本,于2002年发布,是DirectX ...

  8. Java虚拟机(JVM):第三幕:自动内存管理 - 垃圾收集器与内存分配策略

    前言:Java与C++之间有一堵高墙,主要是有内存动态分配和垃圾收集技术组成的.墙外的人想要进来,墙内的人想要出去. 一.概述 每一个栈帧中分配多少内存基本上是在类结构确定下来时就已知的.内存的分配和 ...

  9. 使用 Ant Design Vue 你可能会遇到的14个问题

    公司有一个新需求,在原来项目基础上开发,项目中使用 Ant Design Vue,版本是 1.X ,在此记录下遇到的问题:对于没有使用过或者使用程度不深的同学来说,希望可以帮助你在开发中遇到问题时有个 ...

  10. docker本地仓库-registry

    Docker本地私有仓库实战: docker仓库主要用于存放docker镜像,docker仓库分为公有仓库和私有仓库,基于registry可以搭建本地私有仓库,使用私有仓库的优点如下: 节省网络带宽, ...