猝死式加班或者开除技术天才并不能真正提升研发效率、降低研发成本。
但是,购买云服务可以!
在做传统行业的互联网转型时,有必要提前对线下业务进行梳理。在这过程中,我们遇到一个很有意思的问题——数据可靠性。以往的业务台账上都是采用的企业名称缩写来记录各个客户公司的业务情况,做数据统计分析时,不可避免地遇到了公司名出现非规范化缩写,企业更名,同音字等情况。
在互联网产品的设计当中,需要以统一社会信用代码为标识,对客户企业相关信息进行记录,这必不可少地涉及到对营业执照上企业基本信息的获取。如果交给线下团队手工录入,除了行政手段外,没什么方法能让连企业名称都只填缩写的人心甘情愿地去填写。所以,我们的关注点放在了OCR——营业执照的文字信息智能识别上。
OCR (Optical Character Recognition,光学字符识别)指的是通过对图像进行处理后,将文字重新排序并以文本形式输出的过程。在这个过程中,涉及到去噪、角度矫正、版面分析、字符切割、特征码提取、字符识别、版面恢复、校对等操作。
最开始,我们考虑采用自研的方式,借助于OpenCV、TensorFlow等技术实现该功能。那么当前的业务开发团队,需要补充算法工程师和算法标注工程师,训练用服务器,尽可能多的营业执照照片或者复印件。从开发周期上讲,前期需要考虑训练样本的标注和算法调优,这个都需要消耗一定的时间。就当前企业的业务量来讲,一年最多只能获得数千张营业执照照片,相对于构建成熟的AI算法模型来讲,明显不足。并且,该业务场景还需要通过爬取网上公开的企业信息,针对自行研发的OCR算法输出结果做校验或者智能纠错操作,避免出现类似“有限”变“冇限”的情况。
何况,算法的研发也并不是一锤子买卖,后续还需要不断地调整优化算法,让OCR识别更加精准。整套流程初步计算下来,每年需要额外支出的费用最低能控制到30w~50w。从收益来讲,前期没有直接收益,获得的间接收益也有限。所以,自研这个方案的ROI并不是太理想。如果考虑外包或者外采的话,费用上可能相对较低一些,但是在时间周期、特性改善的持续性上明显存在短板。从团队知识传递的角度来讲,外采的方式也可能导致OCR这块出现单点风险。
与此同时,我们留意到,当前使用的云服务提供商阿里云的人工智能产品-文字识别有提供营业执照识别功能。这个功能属于云服务,所需的软硬件都部署在阿里云的服务器上,通过API的方式面向大量有类似需求的使用者提供营业执照OCR服务。从技术上讲,由于有大量的使用者同时使用该产品,人工智能学习所需的样本总量也比单个企业自研所使用的样本本数量提高了好几个数量级,因此在识别准确率上会有比较好的数据支撑。而整个服务的使用费用上,是按次进行收费,单次识别费用最高不超过8分钱,如果没有使用则无需付费。按照企业现有的业务情况,正常一年的识别费用完全可以控制在千元以内。至于安全性方面,我们已经采用了阿里云对象存储OSS对营业执照进行存储,再通过加密链接的方式,把营业执照交给阿里云识别,整个过程均在阿里云上完成,安全性的风险可控。(至少目前阿里云没有任何类似“前沿数控”遭遇的报道)
经过长达2秒钟的再三、深刻、反复思考,在每年30~50w或者千元以内的花费之间,我们坚定地选择了后者。出于对结果谨慎的考虑,我们仍然要求最终产品使用者对阿里云识别的结果进行人工确认。
3天后,新增了OCR识别功能的产品已经就绪。其基本逻辑是这样的:用户通过小程序端,通过拍照或者选择自有图片的形方式,把营业执照图片上传至系统后台,后台对图片进行统一压缩后,原图和压缩图分别上传至阿里云OSS,并生成压缩图的临时私密链接,做为参数发送给阿里云做营业执照识别,最后再将OCR识别结果通过后台发送到小程序端,由最终用户进行最后的人工确认工作。成本方面,在用完前500次免费识别后,我们又花费¥83.3,购买了1000次的OCR营业执照识别。而识别错误率,仅仅有一次由于图片文字模糊触发的自动补全导致的补全数据出错。
通过对比云服务和自行研发的优劣。云服务除了不具有自主知识产权,很难根据业务进行定制外,在基础服务、综合成本、研发效率上都完胜自研。因此,业务初期,建议以购买云服务形式替代自研,降低整体的研发费用,加速研发节奏。