微信图片翻译技术优化之路.docx
《微信图片翻译技术优化之路.docx》由会员分享,可在线阅读,更多相关《微信图片翻译技术优化之路.docx(20页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、微信图片翻译技术优化之路poetniu腾讯WXG应用研究员微信WeChat作为12亿用户沟通的平台覆盖全球各个地区、不同语言的用户而微信翻译作为桥梁为用户间的跨语言信息沟通提供了便利。目前微信翻译每天为千万用户提供数亿次的翻译效劳且团队技术持续钻研累计发表数十篇顶会论文、夺得多项WMT冠军。随着翻译质量的提升微信翻译的应用形态从文本逐步扩展到图片、语音、网页、文档、视频等诸多场景。本文以微信图片翻译为例介绍近一年度的技术优化。文章术语ViTVisionTransformerNLP自然语言处理段落指图片中语义完好且位置独立的文本区域CNN卷积神经网络NMT神经网络机器翻译ImageInpaint
2、ing图片修复GANGenerativeAdversarialNetworks、生成式对抗网络1.微信图片翻译1.0首先扼要介绍微信图片翻译1.0版本的技术方案重点梳理其中的关键问题。1.0版本中微信图片翻译采用相对简单的方案主要分为两个模块后台Server负责图片的文字识别、段落合并、段落翻译等客户端根据文字识别以及翻译结果渲染生成翻译图片。整体pipeline如下列图所示首先通过一批图片例子来看1.0版本的效果这里我们比照竞品如有道、搜狗等图片翻译如下列图所示原图微信图片翻译1.0有道搜狗通过上述例子对于图片翻译中间的关键步骤进展简单比照得到如下结果因此整体上来看1.0版本的图片翻译效果体
3、验还有很大的提升空间其关键模块的效果都需要进展较大的优化十分是文本段落、图文渲染最直接影响用户体验的模块。2.微信图片翻译2.0基于上述1.0版本存在的主要问题在2.0版本我们重点优化了以下前、后处理模块增加图片语种识别模块判断图片的语种分布。增加图片段落框检测模块检测图片中的段落框用于根底段落拆分。增加文本段落矫正模块判断文本是否需要合并或拆分为新的段落。增加图文合成渲染模块在Server端直接进展图片以及译文的合成。于是整体微信图片翻译2.0版本的pipeline如下主要模块关系如下列图所示2.1图片语种识别图片语种识别是给定一张图片判断其中是否包含文字进一步判断图片中文字所属的语种即Im
4、ageScriptIdentification。传统的图片分类技术主要是基于CNN构造受益于其自身的inductivebiases模型先验假设如translationequivariance即转换等变性通过kernel参数分享实现locality即部分性、通过卷积操作实现在各个图片分类数据集获得领先的结果。而近年度来随着Transformer构造在NLP领域获得打破的进展诸如NMT、BERT、GPT等模型在机器翻译、文本分类、文本生成等任务得到广泛的应用。CV领域研究者也尝试将Transformer构造引入到图像任务中十分是今年度谷歌提出统一的VisionTransformerViT模型1在大
5、规模数据集的训练下尽管缺少相应的inductivebiases但是照旧超越CNN的效果。也由此引起一股ViT的研究热潮比方Facebook随即提出DeiT2、微软提出BEIT3、SwinTransformer4、清华提出DynamicViT5等这些工作根本都是在原始ViT的根底上优化预训练策略、模型构造层次化、动态化等来提升效果。因此这里图片语种识别的方案也是基于ViT并且在ViT根底之上做了模型构造层面的加速优化提出ShrinkViT。2.1.1ViT原始ViT构造如下列图源自1这里扼要介绍ViT的forward经过将原始图片切分为固定大小如16*16*3的patches。对于每一个patc
6、h进展Conv转换输出representation作为patchtokenembedding。之后的操作类似于NLP中Transformer对于QKV的操作线性映射positionembedding。Patches序列头部增加分类clstoken之后对clstokenpatchsequence进展多层Transformerblock操作Multi-Head-Self-Attention。拿到clstoken的finalrepresentation作为图片的表示经MLPsoftmax分类。我们基于开源的预训练ViT模型7在图片语种分类数据集进展finetune相比从0开场训练效果更好头部语种F1
7、-score可以到达90%以上并且训练可以快速收敛。2.1.2ShrinkViT可以看到ViT需要对原始图片每一层的patchtokensequence进展self-attention计算量是平方复杂度线上耗时压力较大。而对于图片语种识别任务来讲我们只需要关注图片中有文字的patch即可如下列图例子中红色圈对应区域。因此很自然的想法是在训练经过中动态控制patchtokens的长度将非文字的patch过滤掉不介入后续的计算。工作5也是基于此策略来优化提出了DynamicViT但是论文中的方法需要显式过滤的patch采用了离散的操作导致了训练梯度无法传递的问题同时论文中基于传统CNN大模型作为T
8、eacher模型来蒸馏学习ViTStudent模型较为复杂不易复现。这里借鉴CNN中Conv操作考虑图片部分特性以及参数分享带来的转换等变性我们考虑结合Conv操作到ViT中来提取highlevelpatchrepresentations同时在Conv经过中可以通过kernelsize控制生成patch的数量在保证信息不丧失的同时到达缩减patchtokens数量的目的我们命名为ShrinkViT。ShrinkViT比照ViT的模型构造如下列图所示这里我们在原始Transformerblock结果之后增加ShrinkBlock可以通过Conv1d实现可以以通过MLP实现如下列图所示实际当中考虑
9、模型的效果不一定每一层都需要加ShrinkBlock根底的ViTdepth12以下结果是我们在3、6、9层分别参加ShrinkBlock的离线实验结果注ViT采用base构造patch_size16,embed_dim768,depth12,num_heads12。从以上结果可以看到引入ShrinkBlock在保证模型效果的同时模型参数仅少量增加3MB但是计算量减小到原来的一半49GFLOPs-24GFLOPs耗时也相对减少14ms-8ms。优化之后的ShrinkViT目前已部署上线GPU效劳耗时减少30ms。2.2图片段落框检测目前OCR的结果是在行粒度进展文字检测以及识别假如直接利用行粒度
10、的识别结果做下游的翻译任务出现的问题是单个行的文本信息不完好导致翻译结果信息缺失、难以理解。假如全部文本整体调用翻译的话一方面文本内容过长可能导致翻译超时or翻译结果中错误累计等问题另一方面翻译之后的结果无法很好的拆分保持跟原文的一一对应关系最终展示排版结果较差。因此在OCR之后基于段落粒度来进展结果合并以及下游翻译、图文合成等任务。这里段落主要是定义为文本内容完好且位置独立的文本区域。如下列图绿色框表示两张图分别包含了4个以及3个文本段落2.2.1图片文档分析图片的段落框检测可以属于图片文档分析DocumentImageAnalysisDIA包括如图片文档分类、文档版面分析、表格检测等中的任
11、务之一近年度来业界相关的工作有LayoutParser11、LayoutLM13,15、LayoutLM212,13等。LayoutParser是基于FacebookMeta目的检测框架Detectron214搭建的图片文档版面分析工具基于开源数据集提供局部预训练模型。但是主要问题是开源的数据集以及模型基于单一场景数据如表格、学术论文、新闻报纸构造等而且多数框是基于4点坐标不能知足实际复杂业务场景。LayoutLM以及LayoutLM2等是Microsoft提出结合图片以及文本的图片文档版面分析预训练模型参考BERT以及Transformer如下列图图片分别来自15、12所示LayoutLM、
12、LayoutLM2等第一步需要提取tokenlevel的文本以及对应boundingbox信息数据预处理代价较大。2.2.2DBNet段落框检测综上这里我们借鉴LayoutParser11的方法来做段落level的文本框检测。考虑到段落框可能是任意形状多边形这里采用基于分割segmentation-based的DBNet9主体构造如下列图源自9所示直接利用DBNet训练段落框的检测模型相比文本行的检测实验中我们发现有以下的问题文本行一般是规那么四边形4点坐标即可表示而段落框更多是不规那么多边形、需要任意多点坐标才可以完好表示。在probabilitymap训练中文本行标注数据中框中的像素点作为
13、正例样本但是段落框中存在背景像素点如段落中文本行之间的空白区域、段落标注中的噪音区域等导致训练效果不佳。检测任务中一般对于文本框区域进展一定比例的向内收缩如DBNet中shrinkratio设置主要是解决相邻文本行比拟相近的问题收缩之后的预测结果可以更好的分割相邻行对于检测结果再进展反比例的扩展。而段落框本身以及段落框之间的间隔相对文本框大很多因此shrink的影响对于段落框较大。基于分割的检测模型通常都需要后处理逻辑选择最终的结果原始DBNet的后处理逻辑对于复杂多边形的情况在多边形近似以及候选打分处理经过存在误差导致生成的段落框不够准确。文本行基于单行数据不需要考虑行的图像属性比方字体风格
14、行的高度等。但是对于段落框不同风格的段落往往属于不同的段落如标题以及正文。因此这里在DBNet的根底之上我们在训练样本label、模型参数、模型构造Loss、后处理逻辑等方面进展了相应的优化段落框的训练标注数据label采用多点坐标并且标注坐标尽量贴合原始文本区域防止引入更多的背景像素。训练经过中段落框shrinkratio调高到0.9使得预测probabilitymap尽量贴合原有文本区域大小减少shrink的影响。在调大shrinkratio的同时需要加大thresholdmap即段落框边界loss的权重使得模型更好的分割段落。优化DBNet后处理逻辑参加图片腐蚀操作并且动态调节多边形近似
15、参数保证预测段落框的轮廓更加准确。在原有probablilitymap以及thresholdmap的根底之上预测段落中行间分割map用于后处理中别离不同风格行高的段落框。整体上在引入上述12345的优化实验中段落框的检测效果h-mean值效果提升显著到达预期可用的结果。优化前后的段落框检测结果比照样例如下列图原始DBNet优化后DBNet结果2.3文本段落矫正上述段落结果主要是基于视觉信息图像层面来做段落的检测但是在实际case存在一定的情况需要从文本的角度做进一步的段落检测。如下场景视觉上不属于同一段落但是从文本语义角度判断属于同一个段落如下列图中上半局部两块文字区域。视觉上属于同一个段落但
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 图片 翻译 技术 优化
限制150内